深入研究ATA/100接口

前言

  自从最近英特尔公司推出了支持ATA/100的最新i815E与I820E芯片组后,这个世界好像就转向了这种接口类型。许多公司都跟着推出各种控制卡以支持ATA/100标准,如HighPoint及Promise公司。除此几乎所有硬盘生产商都推出或者宣布推出支持新接口类型的硬盘产品,因此ATA/100正走向主流的接口类型已成了不变的事实,这也是我们在此对其进行详细说明的一个原因。

      在文章开始时,先让我们来看看各种数据转输接口及其发展过程。

      最早出现的硬盘接口类型即大家所熟悉的IDE,它即是Intelligent Drive Electronics的缩写,也是Integrated Drive Electronics的缩写。其本意是把控制器与盘体集成在一起的硬盘驱动器,作为最早的PC机接口标准之一,IDE接口是于1989年由Imprimus、Western Digital(西部数据)与Compaq(康柏)这三家公司确立的。现在个人电脑中使用的硬盘大多数都是跟IDE兼容的,它只需用一概电缆将它们与主板或接口卡连接起来就可以了。把盘体与控制器集成在一起的做法减小了硬盘接口的电缆数目与长度,数据传输的可靠性也得到了增强,硬盘制造起来也就变得更容易,因为厂商不需要再担心自己的硬盘是否跟其它厂商生产的控制器兼容,对用户而言,硬盘的安装也变得更为方便。

      IDE是于1994年由NCITS(National Committee For Information Technology Standers,美国国家信息技术标准委员会)正式确定的,而更精确的定义则由NCITS的技术部—T13组织确立。此标准支持1或2块硬盘,并且是16位的接口,1999年在T13的建议下,ATA被从ANSI(美国国家标准化组织)的目录中移去。

      两年后,即1996年,ATA的增强型接口,ATA-2(EIDE,Enhanced IDE)正式确立,它是对ATA的扩展,其增加了2种PIO和2种DMA模式,把最高传输率提高到了16.7MB/s,这是老IDE接口类型的3~4 倍,同时它引进了LBA地址转换方式,突破了老BIOS固有504MB的限制,支持最高可达8.1GB的硬盘。如你的电脑支持ATA-2,则可以在CMOS设置中找到(LBA,LogicalBlock Address)或(CHS,Cylinder,Head,Sector)的设置。其两个插口分别可以连接一个主设备和一个从设置,从而可以支持四个设备,两个插口也分为主插口和从插口。通常可将最快的硬盘和CD?ROM放置在主插口上,而将次要一些的设备放在从插口上,这种放置方式对于486及早期的Pentium电脑是必要的,这样可以使主插口连在快速的PCI总线上,而从插口连在较慢的ISA总线上。

      基于同样的出发点,希捷与昆腾公司则推出了Fast ATA(或Fast IDE)及Fast ATA-2,这个版本支持PIO-4及多点DMA Mode 1,没有增加更高速度的工作模式(即仍为16.7MB/s),但引入了简单的密码保护的安全方案,对电源管理方案进行了修改,引入了S.M.A.R.T(Self-Monitoring,Analysis and Reporting Technology,自监测、分析和报告技术) 这能给我们带来更高的数据传输可靠性。由于它的数据传输率没有提高,所以我们也将其可归为ATA-2。

      不管是EIDE还是Fast IDE,它们只具有16.7MB/s的数据传输率,这完全不能够满足电脑用户对速度的需求,因此为了能得到更高传输率的接口,各大产商又联合推出了Multiword DMA Mode3接口,它也叫UltraDMA,它的突发数据传输率达到了33.3MB/s,这是ATA-2接口具有的最大突发数据传输率的两倍,它还在总线占用上引入了新的技术,使用PC的DMA通道减少了CPU的处理负荷,同时为了保障数据在高速传输率的完整性及可靠性,又引入了一项称CRC(Cyclic Redundancy Check,循环冗余校正)的技术。此接口类型使用40针的接口电缆,并且向下兼容。由于UDMA能带来更高的数据传输率,因此不久,各大硬盘厂商均推出了采用此接口的硬盘,大家现在熟悉的Ultra ATA/33接口也即是此接口类型。

      接在Ultra ATA/33标准后推出的即为Ultra ATA/66接口,它是由昆腾公司提出,并得到英特尔公司的支持。遵循接口类型发展的规则(即向更快、更稳定的方向发展),Ultra ATA/66的突发数据传输率达到66.7MB/s,由于它具有这么高的传输率,原来为5MB/s数据传输率设计的40针接口电缆已不能满足ATA/66的需求,因此在Ultra ATA/66的接口电缆中增加了40根地线,以减小数据传输时的电磁干扰。目前市场上的主流接口类型仍为Ultra ATA/66(Ultra DMA66),而且目前出产的大部份硬盘均支持此接口。

ATA100介绍

  随着1GHz CPU及更高频率处理器的推出,电脑系统进入了一个全新的时代,电脑硬件配件的发展速度也越来越快,它们性能的提高速度有时让我们感到无法相信,如最近AGP 8X雏形的形成,这将使得显卡的处理速度上了一个新的台阶,而在内存方面,DDR等技术也使得内存在极速狂飑,在这些电脑配件的速度得到极大提升的时候,毫无疑问,连接硬盘控制器与存储设备的速度必须和电脑系统保持同步,否则将影响到系统性能的发挥。但目前由于硬盘内部数据传输度还不可能超过由系统支持接口的突发数据传输率,因此主机到硬盘的总线带宽还不是系统瓶颈效应的直接原因。硬盘内部数据传输率的限制使得硬盘不能同时处理太多的数据。使得数据在硬盘的高速缓存中排成队列等待硬盘的读写,这显然就降低了系统性能。解决此瓶颈的一个方法,看上去似乎很简单-即增加硬盘的数据缓存,高速数据缓存能使数据在结束传输前存储在高速的缓存中。这种方法能从某些方面缓解当机之急,但却无法从根本上解决此问题,因为如果想更多缓解硬盘的内部数据传输率的限制,就需要增加更多的数据缓存以消除延迟,然而由于硬盘数据缓存昂贵的生产成本,显然是不可能将其做得太大。因此一味地靠增加数据缓存来解决此问题是不太可行的。

      然而,解决问题之道还可以从另一方面考虑,即提高硬盘与控制器之间的总线带宽,这样数据能以更高的速度传输,也就是说数据不会在硬盘的数据缓存中保存太长时间,它们能通过更快的总线传送走,这就是为什么不需要增加太大的数据缓存,以节省硬盘生产成本的原因。

      基于上面所述的后一种解决硬盘瓶颈效应的方法,昆腾公司开发了新一代的ATA/100接口,此接口允许主机和硬盘之间以100MB/s的数据传输率进行传输数据,这能减轻硬盘数据缓存的负担。此新的接口结合了所有ATA/66的电缆及控制器的革新思想,而且它使用的接口电缆与ATA/66一样,也是40针的IDE电缆。当然由于突发数据传输率相当高,这使得保护硬盘数据传输的电磁串扰及冲突成了一个必须解决的问题。因此其接口电缆中也含有40根的地线,也就是说ATA/100的接口电缆中也有80芯。尽管如何,开发者们还是非常希望能保留使用传统的40针的连接器,因为这样能确保与现存的硬盘及系统兼容。当然现在的ATA/100是可以完全向下兼容,即它能使用ATA/33、ATA/66的设备,包括硬盘、可移动存储器(如ZIP、JAZ)、CD-ROM驱动器、CD-R/RW驱动器、ATA磁带机及DVD-ROM驱动器。

      新一代的ATA/100接口同样包含CRC(Cyclic Redundancy Check,循环冗余校正)特性,这能增加传输数据的完整性和可靠性,同时它能检测到数据传送中的错误。CRC是一项非常优秀并且非常易用的保护数据稳定的技术。它用于保护数据块的单位称为Fram(帧),使用此项技术,传送端给每一帧附加了一个n位的序列,它称为Frame Check Sequence(FCS,帧校正序列),此校正代码包含在每一个传送的数据包中,FCS持有关于那帧的多余信息,而这些信息可以帮助发送端检测在发送的数据帧是否有错误,例如:主机和驱动器之间的CRC寄存器内容均与每一次传送的突发数据进行比较,看他们是否吻合,如果不同,则此次数据传送过程重复进行,直到其成功为止。此CRC技术之所有得到广泛的应用是它具有如下几个优点:

    
非常优秀的错误检测能力
资源占用少
容易执行

    

如何支持ATA/100?

  好了,如果你对上面所说的非常感兴趣,最好的方式就是在实践中试验它们。当然,只有你的统能达到下述所列的要求时你才能真正享受到那些事。ATA/100对系统的要求如下:

    你应该有一个外部控制器或者集成在主板上的控制器以支持ATA/100接口;
你的硬盘应该支持ATA/100接口;
你必须使用一根40针80芯的接口电缆(这跟ATA/66的接口电缆一样);

      主板上的控制器有集成到了主板的核心控制芯片组上和简单地焊在主板上两种。如果是通过主板的核心控制芯片组中的控制器来提供对ATA/100支持,作为最大的芯片组产商之一的英特尔推出的i820E与i815E芯片组就支持ATA/100接口。注意只有末尾代有”E”的Intel芯片组才支持ATA/100接口,这也是为什么我们在购买主板时要问清它是采用i815E芯片级还是采用i815芯片组,因为i815芯片组只支持ATA/66。它们之间的不同点在于南桥芯片上,最早的i815芯片组使用的是82801AA芯片,而增强型的i815即i815E使用的南桥芯片为82801BA,它是支持Ultra ATA/100的,对于i820及i820E也是同样的道理。此外,在六月二十七日威盛电子也宣布将推出一款支持高速ATA/100硬盘接口的南桥芯片。第一款产品代号为VT82C686B,它与老式的686A兼容。而另外两款支持ATA/100的威盛南桥芯片为:VT8231(Value)及VT8233。如果你是采用后一种方法来实现对ATA/100的支持,那么只需通过增加一块支持ATA/100的控制器就可以了。

      ATA/100标准目前被归为并行ATA,因为它是使用并行口传送数据。也就是说多字节数据能并行地同时传送。不过此方法也有许多缺点:首先,产商使用一根80芯的电缆是一个非常昂贵的任务;此外,使用这样的电缆占据了PC的许多空间。这将可能阻止机箱内气流的流动。坦白地说,ATA/100必将成为最新一种接口类型,因为在将来它将具有100-133MB/s甚至的数据传输率。

      ATA/100是不是非常COOL,尽管如此,如英特尔、IBM、迈拓、希捷、西部数据、昆腾、戴尔及其它公司的开发者们正在研究全新接口,此新接口即Serial ATA(串行ATA)。Serial ATA是怎样工作的呢?就如其名称所示,它每一次只能传送一位数据。它先进的地方主要是它能够不失效率地使硬盘控制器变得更小,接口电缆能变得更窄。你或许会感到惊讶,但它事实只有4根信号针。

    下面是正在研发中的Serial ATA接口的一些特性:

    
与并行ATA接口兼容;
给每一块硬盘分配一个独立的通道(不需要共享带宽);
更低的电源消耗;
支持热插拔(可选);

    下表中列出了所有的接口模式及其最大数据传输率。

    Mode Maximum Transfer Rate, MB/sec
PIO0 3.3
PIO1 5.2
PIO2 8.3
PIO3 11.1
PIO4 16.6
DMA Single Word0 2.1
DMA Single Word1 4.2
DMA Single Word2 8.3
DMA Multiword0 4.2
DMA Multiword1 13.3
DMA Multiword2 16.6
DMA Multiword3 33.3
DMA Multiword4 66.7
DMA Multiword5 100

接口性能测试及结论

  为了能正确地确定ATA/100到底能给我们带来多少性能上的提升,我们需要进行一些实际的测试。这里我选择了分别支持三种不同接口的系统进行测试:ATA/33、ATA/66及ATA/100,评测在两个不同的平台上进行,第一个是基于英特尔的i815E主板(在此平台上进行了三项测试),另一个是基于威盛的Apollo Pro133的(在此平台上只进行了ATA/33及ATA/66测试)

      我们选择的硬盘是一块46.1GB的IBM DTLA-307045硬盘,它属于Deskstar 75GXP(腾龙二代)系列,转速是7200RPM,平均寻道时间为8.5ms,数据缓存为2MB。

      在此应指出的一点就是在不同的接口协议间切换我们采用的是IBMATASW(1.40版)工具。

    测试平台的硬件配置如下:
CPU:Pentium III 933
主板1:Chaintech 6ATA4(VIA Apollo Pro133A)
主板2:ASUS CUSL2(i815E)
内存:128MB PC133 SDRAM(Micron)
显卡:Creative 3D Blaster Anniilator Pro
声卡:Creative SoundBlaster Live!

    下面是WinBench99的测试结果

    


  从上图中可以看出,基于i815E芯片组的Ultra ATA/66 磁盘性能会比较好点,这情况也出现于ATA/33上,但它只不过具有非常微乎的优势。为什么会出现这种情况,我想原因可能出现在控制器上,而不是主板芯片组的原因。当然当到了ATA/100测试项,其性能得分是最好的,但优势也不十分明显。

    现在让我们来看看在所有办公应用中的硬盘性能。

    


  我们选择的是Content Creation Winstone20000测试,从上面的测试结果中可以看出,所有的接口类型得分都是差不多的,当然作为一种最新、最先进的硬盘接口类型,ATA/100的得分还是最高。

    


  为了测试线性读取速度是怎样影响磁盘性能的,我们选择了在不同的接口下硬盘数据传输率的测试(测试项有Beginning及End)。从图表中可以明显地看出不同的接口类型所具有的数据传输率,可以发现ATA/33的数据传输率是显然非常不足了。此外大家可能也发现了在i815e平台下ATA/66跟ATA/100接口的线性读取数据几乎是一样的。

    测试结论及ATA100综述

      从上面所述的可以看出,如果你不进行大量的影音文件的处理,那么即使你是使用ATA/33系统也不会有太大的利害关系,对于大部份人来说ATA/66完全可以满足他们的需求。ATA/100接口,它当然可以得到更高的系统性能,但由于目前的硬盘内部数据传输率根本达不到ATA/100所能达到的突发数据传输率,因此它对系统性能的提升是非常有限的。不过随着10,000PRM硬盘的普及,其内部数据传输率将得到一定程度的提高,因此ATA/100的优势也将逐渐显现出来。

      另外,大家也发现了i815E的IDE控制器会比VIA的更有效些,这或许是由于驱动程序倒致了i815E的成功,当然也可能是简单的硬件质量的缘故。无论如何,让我们等待支持ATA/100的威盛南桥芯片组吧,到那时让我们看看到底谁是最好的?