IDE控制器技术内幕:IDE RAID与Serial ATA篇

序言,IDE RAID:PC存储技术的大热门

本文已刊登于《微型计算机》2003年第04期,未经作者许可,禁止任何形式的转载,谢谢合作!


在并行ATA发展的同时,RAID技术也逐渐由高端的SCSI领域侵入IDE领域,这便是我们今天颇为常见的IDE RAID技术。如果说目前大力推广的Serial ATA是一项为硬盘性能提升扫除接口瓶颈效应的技术,那么IDE RAID便是一项可以立竿见影地提高磁盘系统性能与安全性的技术。RAID是英文“Redundant Array of Independent Disks”的缩写,意为“容错式独立磁盘阵列”,一般简称为磁盘阵列,一开始被用于SCSI领域,目的在于通过多个磁盘驱动器的协同来实现高性能或高安全性的目的,而引入到IDE在领域后,高性能便成为其发展的主要热点,这也是IDE RAID 0模式大受欢迎的主要原因,我们今天都可以在华硕(ASUS)、技嘉(Gigabyte)、微星(MSI)、磐正(EPoX)和升技(Abit)等品牌的高档PC主板中看到它的身影。

    到目前为止,应用于IDE领域的RAID还是以并行ATA接口的RAID为主,但由于并行ATA所面临的速度极限问题,业界纷纷开始推广更优秀的Serial ATA接口,因此RAID技术也已经开始了向串行技术的引渡,由于成本进一步降低,Serial ATA+RAID模式变得非常流行,几乎所有非芯片组厂商拿出的Serial ATA控制芯片都带有RAID 0和1功能,这样,我们可望着在两年内看到Serial ATA与RAID技术的完美结合。也出于这些原因考虑,我们将IDE RAID与Serial ATA的内容放在一起介绍,当然在介绍IDE RAID技术时,我们同样会对当前仍是主流的并行ATA RAID产品进行介绍和分析。

    IDE RAID:PC存储技术的大热门

    倘若以工作模式划分,RAID通常有0、1、0+1、2、3、4、5等模式,其中RAID 3、4、5通常只用于服务器/工作站领域,RAID 0和RAID 1则多见于PC,RAID 2目前则相当少见。若以使用的硬盘接口分,RAID又可分为SCSI RAID和IDE RAID,前者用于高端领域,具有RAID等级高、可连接硬盘数量多和CPU占用率低等优点,当然价格也相当昂贵;我们在PC中常见的都是IDE RAID,且仅限于RAID 0和RAID 1两种级别,下面,我们就对大家常接触到的RAID 0和RAID 1作简单介绍;至于其他RAID方式,因在PC中很少使用,我们就不多浪费笔墨,有兴趣的读者可自行参考附表一。

    

快速但不安全的RAID 0

RAID 0是所有RAID规格中速度最快但可靠性最差的磁盘阵列模式。大家都知道,RAID 0不仅可以将多块硬盘连接起来形成一个容量更大的存储设备,而且还可以获得近乎翻倍的性能提升。那么,这一切是如何实现的呢?

    这与RAID 0的数据存储模式有关。为阐明这一点,在介绍高性能的RAID 0之前,让我们来了解一下另一种很少使用的模式??串联式RAID 0。

    RAID 0有并联和串联两种方案,前者就是我们印象中高性能的RAID 0,而后者则是通过RAID控制器将多个硬盘简单串联起来、成为一个容量更大的逻辑盘(即JBOD模式),其目的纯粹是为了增加硬盘的容量。它写入数据的方式是写满第一个硬盘后再转移到第二个硬盘、读取工作也是如此,这样它的性能同单块硬盘没什么区别。由于作用有限,性能也得不到提升,因此很少用户愿意构建这样的串联式RAID 0系统。

图注:串联式RAID 0模式(JBOD模式)的工作原理


如上图,串联式RAID 0模式(JBOD模式)只是增加了硬盘的存储空间(相当于将两块硬盘作为一个大的逻辑盘),存储性能没什么提升,而可靠性则降低了一半。

    我们通常说的RAID 0实际上都是并联式RAID 0模式。与串联式的顺序读写不同,并行模式的RAID 0在读写时同时地对多个硬盘作并行操作。写入时,数据会以设定的交叉存储区域(即带区集,Striping)的大小为单位均匀分割成等量的数据块,然后被分别存放到几个硬盘中;而在读取时,目标数据则被同时从多块硬盘中同时取出并经控制器组合成完整的文件。假如使用双硬盘RAID 0,那么当我们写入100MB数据时,每个硬盘只分到50MB,在硬盘的理论数据传输率没有多少改变的情况夏,数据存取的操作时间在理想状况下减少到了单硬盘模式的1/2,换言之便是速度提高了一倍!当然这只是理论上的情况,实际的RAID 0系统带来的性能提升在70%~100%之间浮动,这取决于系统搭配是否稳健均衡。

    然而并联式RAID 0并不完美,事实上,数据可靠性极差是它致命的缺陷。由于数据被分成区块同时存储在不同硬盘中,一旦某一硬盘故障、数据无法恢复时,另一块硬盘的数据也将化为乌有,显然其可靠性仅相当于单硬盘模式的1/2。幸而家用PC对数据安全并不是特别敏感,而现代硬盘的可靠性也还算理想,于是许多发烧友都禁受不了RAID 0高性能的诱惑而投入它的怀抱,这也是近来在高档主板中,IDE RAID 0模式成为标准配备的主要原因。

图注:并联式RAID 0模式的工作原理


如图,并联式RAID 0不失为一种高性能的并行存储模式,理论上性能提高一倍,但可靠性仅为单硬盘系统的一半。

    小知识:RAID 0系统中带区集设置的重要性

    RAID 0系统的性能如何与带区集的分配密切相关,假如带区过大,可能一块磁盘上的带区空间就可以满足大多数数据操作,这样读写操作就主要集中在单块硬盘上、无法充分发挥并行操作的优势;若带区过小,任何读写指令又可能引发大量的操作,这很容易令控制器和IDE总线负荷超载,严重影响系统性能。因此,在创建带区集时,大家应当根据实际应用的需要,慎重选择带区的容量。具体的原则如下:假如小容量、频繁的数据操作较多,那么带区就应该小些;相反,对那些视频处理等大容量数据操作的场合,大一些的带区集会较为理想。

安全但性能不高的RAID 1

如果说RAID 0为了取得高性能而牺牲了安全性,那么RAID 1便恰好相反。RAID 1的设计目的是打造一个安全性极高的存储系统,简言之,它使用一个硬盘作为主硬盘的实时镜像,但也因此而损失了至少一半容量??镜像硬盘只能够作为主硬盘的备份,真正有效的容量只能单单依靠一个主硬盘。

图注:RAID 1模式的工作原理,它能够实现数据完全镜像,安全性提高一倍,但硬盘有效容量只能由主硬盘提供


如上图,在两硬盘组成的RAID 1存储系统中,一个是主盘、另一个是镜像硬盘(画斜线阴影),当系统发出硬盘写指令时,数据会被同时写入到主硬盘和镜像硬盘中。和RAID 0不一样的是,虽然RAID 1也会将数据分割为均等的部分,但不会将它分别存储,而是完整地复制为相同的两份,镜像盘是主硬盘的克隆体。这样,RAID 1的存储速度与单块硬盘系统相比有所下降,但一旦主硬盘出现不可挽救的故障时、RAID 1的威力就发挥出来了,镜像盘会立刻接替主硬盘的工作保证系统继续运作,用户丝毫感觉不到这个切换过程。由于镜像盘保留着与主硬盘一模一样的数据,这样我们也就不必担心主硬盘故障会丢失数据,而是只需将故障硬盘换下然后重建RAID 1即可。在IDE存储领域,RAID 1可以被称为最安全可靠的存储系统,除非两块硬盘内同时出现故障,否则数据安全性都能得到保证,而它的缺点在于性能不高和空间利用率低。

    小知识:建立RAID的两块硬盘容量和速度不一致怎么办?

    无论是RAID 0还是RAID 1,专家的建议都是采用两块(或更多)完全相同的硬盘来组建,然而我们有时将不得不面对这样一种情况??必须用两块容量和速度不一致的硬盘来组件RAID。这个时候,根据RAID定义的规则,系统将以容量最小的硬盘的容量为蓝本,以速度最低的硬盘的速度为标准速度来建立RAID系统,这也是其它RAID模式所共同遵守的一个原则,而笔者的建议是尽量不要采用这种RAID系统。

    对极少数某些要求高数据安全性的PC系统中,RAID 1不失为一个廉价的理想方案,问题对99%以上的PC用户来说,存储性能与容量远比安全性来得重要,因此RAID 0模式几乎成为大家的标准选择、而RAID1的应用案例反而不多,这也是为什么一些高档主板的RAID控制芯片可以提供RAID 0和RAID 1两种模式,但后者往往为人淡忘的原因。

RAID 0+1:RAID 0与RAID 1的结合体

RAID 0虽然有高性能但安全性差,而RAID 1刚好相反,那么能否把两者结合起来呢?这便产生了二者的综合体:RAID 0+1模式。RAID 0+1既具有RAID 0的高性能又具有RAID 1的安全性,而实现RAID 0+1模式的方法就是将2组RAID 0的磁盘阵列互为镜像、形成一个RAID 1阵列,这样每次写入数据时,RAID控制器会将数据同时写入两组RAID 0阵列中。尽管RAID 0+1兼具RAID 0高速度和RAID 1高安全性的优点,但它至少需要4个硬盘,成本巨大,而且容量利用率也只有50%,普通用户是绝对无法承受的,目前多见于既要求高性能又要安全性的视频服务器系统中。

    附表一:各个RAID模式的简要特点:

IDE RAID Vs. SCSI RAID

若从RAID模式讨论,SCSI RAID与IDE RAID没什么大区别,毕竟两者原理都是相同的,唯一不同的只是在接口部分,而这也导致SCSI RAID与IDE RAID呈现出截然不同的属性:SCSI RAID是100%的硬RAID方案,而且接口速度比IDE更快,目前160MB/s的Ultra 160 SCSI已广泛应用于服务器/工作站领域,而320MB/s的Ultra 320 SCSI也已经开始普及;而IDE RAID均为半软半硬(较多)或纯软件(很少)方案,接口速度也有所不及(目前最快的Ultra ATA/133并行ATA接口只能提供133MB/s的最大接口速度,而1.0版的Serial ATA接口也不过只有150MB/s而已);其次,SCSI RAID的等级较高,IDE RAID通常使用RAID 0或RAID 1模式,而SCSI RAID则更常用到RAID 0+1、RAID 3、RAID 5等更高等级的RAID模式和更多的硬盘;第三,SCSI RAID的CPU占用率很低,这是由于控制卡中有独立的SCSI RAID控制芯片,CPU只需要负担发送数据传输指令的工作而无需全程监控,这一特性对于像WEB/邮件/数据库等要求数据频繁读取的服务器来说至关重要,低CPU占用率可以使CPU有更充裕的性能完成各项计算任务,相比之下,IDE RAID的CPU资源占用率就远高于SCSI;此外,SCSI RAID可支持热插拔、在线扩展、后台初始化等功能,这些都是IDE RAID所不具有的。

    小知识:为什么IDE存储系统没有高等级RAID?

    这将涉及到IDE硬盘的工作模式,在DMA出现之前,IDE硬盘采用PIO工作模式,倘若引入RAID系统,则在工作时系统资源占用率几乎达到100%,CPU根本无法再处理其他任务;虽然后来的DMA技术缓解了这个矛盾,CPU也无需对存储过程进行全程监控,但是其资源占用率仍然较高,一旦使用存储原理较为复杂或连接硬盘数量较多的RAID模式式,由于对数据的频繁读取,系统将为数据传输所累而无暇顾及其他运算,这同时也是IDE RAID不适合高端应用的原因。事实上,市面上也几乎没有3、5等级别的IDE RAID系统,而是以PC用户需要的0、1模式最为常见。

    相较而言,SCSI RAID系统的最大缺陷就是造价不菲,SCSI硬盘的容量/价格比和IDE硬盘相比实在太不划算,更何况组建一个SCSI RAID系统动辄就要3~5块,甚至用到磁盘阵列柜,再加上SCSI RAID控制卡高达数千元的昂贵价格,因此一般说来没有上万元的投资是无法构建一套像样的主流SCSI RAID系统的,对普通电脑爱好者而言,这实在有些让人望而生畏,所以大多数用户还是选择了性价比较高的的IDE RAID。

并行ATA RAID产品简介

我们在上期的并行ATA部分便介绍了ATA 100接口的各款IDE RAID控制器,不过对于ATA 133的产品则没有涉及。鉴于目前市面上仍然存在不少基于ATA 133规范的IDE RAID控制器产品,而其控制芯片大都出自于Highpoint 和PROMISE之手,下面我们就对相关产品作简要的介绍(Serial ATA RAID控制器产品我们会在Serial ATA部分提及)。

    当前Highpoint的HPT 374、HPT 372和Promise的PDC20271、PDC20276以及PDC20277都是面向PC和低端服务器的ATA 133 RAID产品,它们均只支持RAID 0、RAID 1和RAID 0+1三种模式,其中HPT374可支持4通道、8个硬盘,价格也较为昂贵,主要用在单独的控制卡中,一些特别高档的主板也采用这种芯片,但数量极少,其余芯片都只支持2通道、4个硬盘,其中HPT 372和PDC20271因功能简单、价格便宜,常常被整合在面向高端用户的PC主板中,而功能稍微强大一点的PDC20276、PDC20277多用于IDE RAID控制卡上。

    附表二:市面上常见的ATA RAID控制芯片规格比较

注1:PDC20276采用高级分散/聚集引擎(Advanced Scatter/Gather Engine),性能比PDC20271更强大。
注2:PDC20277比PDC20276增加了对阵列管理模块(Array Management Functions)的支持。
注3:当前AMI的存储事业部门已被LSI Logic收购。

Serial ATA:让IDE硬盘重焕青春

1.Serial ATA的出现,业界的阵痛

    介绍完RAID之后,让我们一起回到IDE接口的发展上来,和RAID的缤纷多彩不同,这里的发展将是缓慢而沉稳的,但它是一个基准。

    从诞生到现在,IDE硬盘的接口速率自最初的3.3MB/s提高到目前的133MB/s,巨大进步毋庸置疑。但这种速度提升并不能称为是革命性的进步,因为无论第一代的ATA-1,还是末代的ATA 133,IDE硬盘都是采用并行传输模式,这是因为并行模式一次可以传输多个字节的数据,在当时速度远超过一次只能传输1bit数据的串行技术。但随着工作频率的提升,并行总线信号间相互干扰的影响越来越令人难以忍受,在ATA 66时代引入的80 Pin数据线虽然从某种程度上缓解了这个问题,但却无法根除。当ATA总线接口速度达到100MB/s和133MB/s的时候,同样的矛盾再次出现,而继续在并行技术基础上作改进显然无法再解决问题,更何况硬盘接口必须每两年作一次接口速度升级。

    和其它领域的接口升级不同的是,在IDE/ATAPI存储领域,接口规范的更替将牺牲数量在两亿以上的并行IDE设备的向下兼容性,因此行业规范制订者不得不慎之又慎,然而尽管这样,在接口势必成为瓶颈的严峻的形势下,串行通信技术终于再次浮出水面。然而和早期不同的是,虽然这种新型的串行通行技术一次仍然只能传输1bit数据,但它的工作频率却远超过当前主板上的串口(Serial Port)等低速的串行通信设备。

    小知识:由并行到串行,数字信号传输规范发展的新趋势

    放眼当前的数字信号传输规范领域,串行技术取代传统并行的确已经成为了一种趋势,USB 2.0、IEEE1394、HyperTransport以及MuTIOL等高速总线在设计时都全部或部分地采用了基于串行通信技术的原理。由于几乎不存在信号干扰的问题,因此这种设计构想可以保证高频率下的稳定工作,从而获得远超过并行技术的高速度,而高频率、串行模式也就成为现代高速总线的共同特征,新发展起来的串行ATA(Serial ATA)也是如此。

    2.Serial ATA的诞生、发展与展望

    Intel是串行ATA标准的倡导者。早在2000年2月,它就在IDF论坛上第一次提出Serial ATA技术的设计构想,随即成立了制定与推广Serial ATA标准的官方组织串行ATA工作组(Serial ATA Working Group),工作组的成员包括Seagate、IBM、Dell、APT、Maxtor、Quantum(后与Maxtor合并)等主要存储技术提供商,而担任其中核心工作的就是Intel与Seagate。同年12月,Serial ATA 1.0版草案正式公布。该草案规定第一代Serial ATA的速度为150MB/s,比当时最快的ATA/133略快,该草案同时指出未来Serial ATA可扩展到2×(速度为300MB/s)和4×(速度为600MB/s)的规格,以满足未来10年内的发展需要!

    2001年2月,Serial ATA工作组成员之一的APT公司率先推出符合Serial ATA 1.0(草案)的PCI控制卡,该控制卡使用Serial ATA线缆与Serial ATA硬盘(Seagate制造的样品)共同构建了一套运作良好的演示平台,Serial ATA由此开始迈出走向实用的第一步!同年8月,Seagate在IDF(秋季)论坛上宣布Serial ATA 1.0正式规范敲定。从标准技术提出到最终实现,Serial ATA仅用了18个月、堪称神速!各厂商立即投入到Serial ATA控制器/卡、Serial ATA硬盘等设备的积极开发,在2002年中,大量样品开始纷纷涌现、Serial ATA应用箭在弦上;而进入2003年,Serial ATA硬盘、控制卡、支持该标准的主板等周边产品已开始大量上市,Serial ATA进入实质意义的应用阶段,尽管目前处于与并行ATA并存的过渡阶段,但最迟在2004年中,便可望完成全部过渡工作。

Serial ATA的工作原理和特性

无论是80 Pin还是40 Pin的并行ATA数据线,它们都采用共同的40 Pin接口,其中真正用来传输数据的只有其中16根针脚,剩下的为信号接地和控制针,工作原理十分复杂(详细的针脚定义示意图和分析可参考上期《并行ATA篇》中相关内容)。而Serial ATA的工作原理却非常简单。它是采用连续串行的方式来实现数据传输??Serial ATA先把8位(bit)的数据打包(Package),然后采用比ATA 100高出30倍的频率(150MHz)将这个Package(数据封包)转移到线缆传送至主机或从主机中接收,这样Serial ATA便能够获得150MHz×8bit/8=150MB/s高速率。同时单向串行模式让其接口线路变得非常简单,只要三组线缆就能完成所有的工作:第一组线路完成数据发送、第二组完成数据接收、第三组为地线。由于Serial ATA使用先进的LVDS(低电压微分驱动)信号传输模式,采用7针接头的专用线缆,我们会在稍后作专门介绍。

    除了高性能,Serial ATA在数据可靠性方面也有了大幅提高:Serial ATA可同时对指令及数据封包进行CRC(循环冗余校验),不仅可检测出所有单bit和双bit的错误,根据统计学的原理,这样能够检测出99.998%可能出现的错误,再加上本来Serial ATA总线的稳定性就高、数据出错概率远低于并行ATA,而高工作频率又让它数据重传输的速度很快,这样性能就不会打什么折扣,因此总线稳定性极高;相比之下,传统的并行ATA只能对来回传输的数据进行校验,而无法对指令进行校验,加上之高频率下干扰甚大,因此数据传输稳定性很差,所谓的133MB/s、100MB/s其实都是理论上的说法、实际使用中根本达不到这个速度。

    在工作模式方面,Serial ATA与并行ATA也存在很大差异。我们知道,早在ATA-1时代就引入了主/从模式(Master/Slave)来解决单通道双硬盘的问题,但Serial ATA取消了这种做法,取而代之的是点对点(Peer-to-Peer)传输协议、每个硬盘都独占一个通道与主机通信,于主机看来,所有Serial ATA硬盘的地位都是对等的,就不存在并行ATA无法避免的“主/从”问题,这样各硬盘的接口性能都能够得到充分得保证,不仅为用户节省了麻烦的跳线工作,系统也变得更易于管理。相信不少人会认为一个通道只能连接一个硬盘似乎太少了,毕竟传统的主板只提供两个通道,系统只能连接两个Serial ATA硬盘–但对PC来说,连接两个以上硬盘的用户少得可怜,这些用户即使需要也可以通过PCI接口的控制卡来辅助实现;何况Serial ATA的引入让主板电路设计变得容易许多(每个通道只需要设计4条线路就够了),相信未来的主板都会集成额外的控制器以提供更多Serial ATA通道来解决问题。所以说这些问题没什么大不了,为获得高性能而牺牲极少数人才用得到的功能、相信大家也都可以接受。

图注:Serial ATA所采用的点对点传输模式:一个通道对应一个硬盘

Serial ATA的主要特点

前面我们提到,Serial ATA采用LVDS低电压差分驱动信号技术(LVDS)实现数据传输,LVDS技术是指利用一对线来传递两个不同的电压信号,这两个电压的差值就表示二进制数“0”或“1”。这样,LVDS就需要一个参考电压,对数据信号而言,它的基准为250mV,而两个不同信号大致为200mV和450mV。由于Serial ATA是单向性的,因此它的数据传输电缆就必须由两对、四针构成,加上另外三条接地线,这样Serial ATA的数据线和接头只要有七条线缆就足够了、结构非常简单。而Serial ATA线缆的屏蔽是通过同轴包裹数据线来实现,不会有什么空间限制,而这七根数据线也都可以继续加大直径来减少阻抗,以满足未来速度提升的要求。

    Serial ATA的另一个优点就是连接线可以做得更长,相对于传统并行ATA的标准只有18英寸(45cm)而言,Serial ATA的官方标准为39英寸(1m),而这个标准其实已经定得相当保守了,目前市面上已出现2.5m长的数据线,在使用中也没有什么不妥,这充分说明了Serial ATA抗干扰性能极佳。此外,Serial ATA线缆小而柔韧,可以很灵活地在各设备中穿插,同时不会像并行ATA排线那样导致机箱内空间拥挤,从而影响空气流通,造成不利散热的情况。

    

图注:Serial ATA小巧灵活的数据线

    在使用80 Pin排线的时候,相信不少人都遇到过诸如弄伤手指、弄弯数据线插针等糟糕情况,你更别指望它可以实现热插拔,而Serial ATA在这些方面也有了大改进。首先,它的L型接头是单向性的,你不可能插反也不可能插错;其次,Serial ATA采用类似USB连接头一样的无针连接器,盲插(Blind-mate)式的连接方式更易咬接到位,安装起来非常简易;第三,Serial ATA使用特殊的针错列设计,连接头的7根接触针中有两种不同的长度:最长的三根为接地线,较短的两对为数据传输线,这样在连接的时候,首先接触的是三根地线、其次才是两对数据线,这种“预先接地”处理可以妥善解决热插拔时致命的放电现象,从而使得Serial ATA能够实现硬盘热插拔。

    注:必须强调,Microsoft表示现有的Win 2000和WinXP都无法支持Serial ATA所定义的热插功能,只有在代号为“Longhorn”的下一代Windows系统中,该特性才能够得以完全实现。

    

图注:Serial ATA的针脚连接示意图

    

图注:Serial ATA连接头的信号管脚及连接剖面图

    对于大多数用户最担心的兼容性问题,在各方的努力下,当前已得到比较完整的解决方案,如今的Serial ATA接口已经可以完全兼容现有的并行ATA设备。从软件角度看,由于Serial ATA采用流行的分层式设计,因此在硬件接口层上与现有的各种操作系统都能无缝兼容,目前的各种驱动程序和操作系统代码都无需作任何修改;而从硬件角度考虑,Serial ATA也只要利用一个简单的串/并转换器就能够实现串/并行ATA设备的随意连接,比如说允许并行ATA的主板可以同Serial ATA硬盘相连,即在旧有主板上升级使用新硬盘、也允许Serial ATA主板与并行ATA硬盘连接使用,有效保护用户投资;更有甚者,你也可以让并行ATA主板与并行ATA硬盘都以串行的方式连接起来运作,只是这样做已经没有什么意义了。还有一点,只有纯粹的Serial ATA系统才能够实现150MB/s的高性能,若采用转接方式、本质上还是ATA 100或ATA 133,Serial ATA总线的威力也难以得到充分发挥,由于目前有相当多评测机构都是采用这种复合系统,因此他们所得倒的“Serial ATA硬盘没有什么性能提升”这一结论并不能反映真实的情况,而在原生(Native)的Serial ATA平台上,Serial ATA所带来的性能提升是非常明显的,因为它几乎不存在数据错误需要重新传输的糟糕状况、设备性能可以得到充分发挥。

    

图注:Serial ATA凭借转换器实现良好的兼容性,但这也使得Serial ATA控制器良莠不齐,只有第一种组合才能真正发挥出Serial ATA的实力,后三者只是准Serial ATA系统,本质上仍属于并行ATA体系

    与此同时,Serial ATA硬盘也必须作适应性改变,除了数据传输接口外,硬盘的电源插口也必须作调节。Serial ATA硬盘新增加了3.3V电压输入,加上原有的12V和5V,每种电压需要正极、负极及接地线三条线路,这样就有9条;而要实现设备热插拔还需要额外的6条线、这样总和起来就有15条之多。显然,现有的主板和电源都要作适应性改动才能支持。

Serial ATA控制器的两种解决方案

Serial ATA控制器将有两种解决方案,这种说法会让很多人感到诧异,因为根据并行ATA控制器的经验,一种规格的总线显然只对应一种纯粹的解决方案,只不过各厂商的产品在某些指标上不同罢了。但是Serial ATA就不是如此。

    关于两种方案的技术讨论

    第一种方案是原生的Serial ATA控制器(Native Serial ATA Controller),不论从物理层、链路层还是传输层都完全符合Serial ATA规范,它可以真正实现150MB/s的高性能,此外还采用命令队列技术,如果操作系统能够支持该项功能,那么便可以获得可观的性能提升。显然,这种纯粹的方案是最为理想的,但问题是从头开始开发这样的控制芯片并不容易,某些硬盘厂商都无法在第一代产品中整合纯粹的Serial ATA控制芯片,为了不让规格看起来落后,它们采用了第二种方案:这就是我们前面提到的串/并转接技术。

    由于Serial ATA完全兼容并行ATA,厂商完全可以设计一种串/并信号转接器(Serializer/De-Serializer)来实现对Serial ATA的支持,这种思想直接催生了Serial ATA的第二种解决方案??利用桥接芯片实现信号转换。譬如说,硬盘厂商可以在并行ATA硬盘的电路板上增加这样一块转换芯片从而摇身一变成为Serial ATA硬盘,而主板/IDE控制器厂商也可如法炮制,但它们在本质上还属于并行ATA体系,其最高性能被限制在133MB/s或100MB/s,也没有Serial ATA独有的命令队列技术、热插拔等等功能,或者说它只是个挂羊头卖狗肉的产品。

    更富戏剧性的是,倘若使用转接芯片的“Serial ATA硬盘”与同样使用转接芯片的Serial ATA主板/控制卡连接,那么采用的就是“并行ATA主板与并行ATA硬盘以串行的方式连接”的古怪方案。由于串/并信号转接器的转换运算必然会导致性能够降低,而串行线缆连接有利于降低传输错误的概率–综合起来,这种Serial ATA方案的性能可能稍高于并行ATA系统、或与之持平;当然,性能也有可能比并行ATA还要低些,这依赖于硬盘与主板的配合程度,但配合得再好它们的性能与纯粹的Serial ATA系统都会有较大的差异。

Serial ATA控制器两种方案对应的产品

目前,各种Serial ATA产品已纷纷出现,但究竟哪些是纯粹Serial ATA技术哪些是采用转接器很难分辨,厂商也只会告诉你这是“Serial ATA”而不让你知道细节,这样就可能为大家的选购造成困扰??无论如何,发现自己买回来的产品带的并不是真正的Serial ATA产品显然不会是一种愉快的体验。但不管是何种Serial ATA控制器,搭配RAID 0/1已近乎成为标准的做法,除了整合在芯片组的Serial ATA控制器尚不具备该功能外,各类型外接的Serial ATA控制芯片和控制卡都具有RAID 0/1,这也说明进入Serial ATA时代后,IDE RAID将会比现在更为流行。

    ●桥接方案:临时过渡的“准Serial ATA”

    到目前为止,真正进入市场的Serial ATA控制芯片还不算多,价格也较为高昂,许多厂商为了节约成本或者降低设计难度,都选择在原有并行ATA控制芯片基础上外加桥接芯片的准Serial ATA方案。当前最常见的桥接芯片便是Marvell 公司的88i8030芯片和Silicon Image公司的Sil 3611,它们的功能都只是将Serial ATA接口传来的Serial ATA信号重新编码为ATA控制芯片适用的并行数据流,本身不具备Serial ATA的各项功能特性,因此这种方案本质上还是属于传统的并行ATA。而且信号转换必然需要耗费一定的计算时间、导致性能下降。一般说来,使用Marvell 88i8030或Sil 3611芯片作为连接Serial ATA接口与UltraATA控制芯片之间的中转站,会比用并行ATA控制器与并行ATA硬盘直接连接时的性能还低5%,不过这5%损失换来的是Serial ATA线缆传输不受干扰、数据传输成功率高的补偿,当然,其他公司出品的桥接芯片也是如此,这是由桥接方案的先天原理所决定的。

    

图注:Marvell 88i8030桥接芯片,目前应用最广泛的准Serial ATA方案

    Marvell 88i8030芯片使用广泛,最近出现的各种Serial ATA RAID控制器中很容易都能看到它的身影,比如拥有4个接口的3Ware Escalade 8500-4和双接口的HighPoint 1520Serial ATA控制卡,尽管这两者都面向高端市场,但均为准Serial ATA产品,从本质上说仍属于Serial ATA体系,这也充分说明Serial ATA技术仍然没有达到充分成熟的高度。

    

图注:3Ware Escalade 8500-4 Serial ATA RAID控制卡,使用Marvell 88i8030芯片实现Serial ATA的支持,本质上仍属于ATA 133产品。3Ware Escalade 8500-4采用64bit PCI接口,虽然面向高端市场,但从其规格来看也仅是一款权宜的过渡产品

    

图注:Highpoint 1520 Serial ATA控制卡,支持RAID 0/1两种模式,也是使用Marvell 88i8030桥接芯片,本质上仍属于ATA 133产品

    ●原生串行ATA控制器:未来的主流

    未来应用最广泛的原生Serial ATA控制器当属芯片组南桥中整合的功能模块,但无论Intel、VIA、SiS、nVIDIA还是其他,支持纯Serial ATA的新款南桥都还未出现,而目前我们所能看见的都是第三方厂商设计的控制芯片,其中现在能在市面见到的只有Silicon Image的Sil 3112和Promise的PDC20376两款产品,两者在物理层、链路层和传输层都完全符合Serial ATA 1.0标准,均完全符合在新一代高档PC主板中我们都可以看见它的身影。

    

图注:这是技嘉8INXP主板集成的Silicon Image的Sil 3112控制芯片,提供两个通道的Serial ATA接口且支持RAID 0/1功能

    

图注:华硕A7V8X集成的PROMISE PDC20376芯片,功能与Silicon Image的Sil 3112类似

    从产品价值的角度考虑,选择纯Serial ATA控制器无疑是明智的,至于桥接型的产品不值得向大家推荐,毕竟它们在本质上仍属于并行ATA体系,购买这样的产品我们很难感受到Serial ATA的真正实力,对用户而言,这是相当重要的环节。

    ●ATA硬盘转接器

    基于向下兼容性的考虑,许多Serial ATA控制器也可以连接传统的并行ATA硬盘使用,不过这必须借助于专用的转接器。HighPoint RocketHead 100就是这样的一款产品,它提供串/并行信号的转换功能,当然其核心部分是由一枚转换芯片实现的,由于外壳密封,我们无法知晓它使用的是Marvell 88i8030还是Silicon Image Sil 3611芯片。

    

图注:HighPoint RocketHead 100转接器可以让传统的IDE硬盘连接到Serial ATA控制接口上。该接器需要额外的电源输入,否则无法运行

    作为一项准Serial ATA方案,即便主板上是使用原生Serial ATA控制器,这种转换连接在本质上还是并行ATA结构,这样它的性能表现就与ATA 100/133没有多大的区别。不过这种转接器的出现是为了满足人们使用以往设备的需要而非提高性能,从这个角度考虑,HighPoint RocketHead 100显然是有其存在意义的。

    

图注:HighPoint RocketHead 100与WD1200JB(Ultra ATA/100)连接

    附表四:已上市的主要Serial ATA控制器与桥接芯片介绍

IDE RAID与串行ATA技术内幕总结

随着时间的推移,IDE RAID的观念将逐渐深入人心,而在Serial ATA来临的时代,两者将益发紧密地结合在一起,至少我们目前所见的原生Serial ATA控制芯片无一例外带有RAID 0/1功能,而这势必对未来的PC将产生深远的影响,毕竟更快的存储速度将使PC的最后一道瓶颈大为缓解。对有意构建Serial ATA系统的用户来说,现在显然不是一个好时机,无论是Serial ATA控制卡、带该接口的主板抑或是Serial ATA硬盘和桥接芯片都大行其道,一旦使用这样的产品,Serial ATA号称的低干扰、高性能特性显然无从谈起,这意味着无意义的金钱浪费。而要构建一套纯粹的Serial ATA显然不容易,毕竟价格不菲,且有此分辨能力的用户也很少,因此,除了提高自己的硬件知识水平外,多等待一段时间还是比较合理的。