IDE控制器技术内幕:并行ATA篇
ATA接口的起源与发展
对硬盘来说,采用何种接口对其各项特性都有极大的影响,接口技术的每一次进步总是映射着硬盘的技术革新,它的历史同时也是现代硬盘的发展史。鉴于接口的重要地位,它也就顺理成章成为硬盘的分类基准,我们通常所说的IDE硬盘和SCSI硬盘便是根据接口进行分类的。而其中与我们最密切相关的就是IDE硬盘,99%以上的PC机都是用它——尽管大家对“IDE”这个称呼熟悉不过,可它的具体概念许多人都觉得很模糊,只是笼统知道它是表示这类硬盘用的是并行传输接口……这种约定俗成的说法其实并不严格,IDE为英文“Integrated Drive Electronics”缩写、原意是指盘体与控制器集成在一起的硬盘驱动器,而所谓的“IDE接口”的官方名称应该为“ATA接口”(AEA,Advanced Technology Attachment简写)才对!
从1994年至今,ATA接口已经发展了整整七代,现在正处于传统并行ATA与串行ATA的过渡期。那么,ATA接口是如何实现的?这七代ATA接口又如何发展进化、各自有哪些特点、现在为何要被串行ATA所取代?硬盘控制器、控制器、控制卡之间的关系又如何……我们有太多太多的疑问需要解答,如果你需要了解关于硬盘接口的一切,本文应该可以给你一个满意的答案!
ATA接口的起源与发展
早期硬盘和我们现在看到的硬盘其实有很大的区别,当时硬盘与控制器是分离的、它必须直接安装在控制卡上并插入ISA插槽中才能够使用。但是这种设计需要许多连接电缆,安装繁琐不说、数据可靠性也很差,而且硬盘与控制器/卡屡屡出现不兼容现象,后来硬盘厂商将控制器直接做在电路板、集成于硬盘的底部,而接口卡仍需要安装在ISA插槽中——这种硬盘也就是所谓的“IDE硬盘” (集成磁盘电子接口,Integrated Drive Electronics)。但是IDE这个名词并非正式称呼,因为它不包含任何实体规格,只是被人们笼统认为是目前所有ATA规格的通称、与SCSI规格对立,而“IDE接口”也就代表了目前所有的ATA接口。
图1:现代IDE硬盘:硬盘控制器与盘体集成在一起,可靠性得到有效提高。
上个世纪80年代中期,Imprimis公司推出Wren系列5.25英寸硬盘(当时Compaq PC机所使用的硬盘)专用的“PC AT”接口,后来的3.5英寸硬盘也采用这项规格。由于“PC AT”这个名称很容易同IBM PC/AT机混淆,人们就为它选择了另外的名字:“Advanced Technology Attachment(高级技术附件规格)”,简称ATA——但它并不是我们所说的“第一代ATA”。这项规格只生存了短短数个月,因为它令不同厂商的硬盘出现严重的不兼容问题,尤其在主从盘安装的时候更为严重。
ATA-1:并行ATA家族的始祖
在“PC AT”发展的同时,部份硬盘厂商合作成立CAM(通用存取接口,Common Access Method)委员会、来推进硬盘接口的标准化工作。起初它们打SCSI接口的主意,但最终CAM委员选择Imprimis的“PC AT”接口作为第一代ATA规格的基础——经过无数次修订后,ANSI(美国国家标准协会,American National Standards Institute)终于在1994年宣布它为正式规格(X3.221),这便是ATA-1标准。ATA-1是所有IDE规格的始祖,它解决了“PC AT”一个通道连接两个硬盘(主/从盘)的兼容性问题并一直沿用至今。ATA-1支持PIO-0/1/2模式(PIO, Programmed I/O,程序化输入输出)、DMA-0/1/2模式(DMA,Direct Memory Access,直接内存存取)和Multiword-DMA-0模式——关于这些模式我们会在后面作具体的介绍。当然,作为第一代标准化接口,ATA-1不可能尽善尽美,它不支持LBA(逻辑区块寻址,logical block addressing)模式、硬盘容量被限制在528MB以内,也不支持可大幅提升性能的区块传送模式(block mode),而且ATA-1只能用于硬盘无法用于连接光驱——可连接光驱的ATAPI规格直到ATA-4之后才得以加入。 |