硬盘接口是硬盘与计算机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口决定着硬盘与计算机之间的连接速度。在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏。
从整体的角度上,硬盘接口分为IDE、SATA、SCSI、SAS和FC五种。每种接口协议拥有不同的技术规范,具备不同的传输速度,存取效率差异很大,所面对的实际应用和目标市场也各不相同。
IDE的英文全称为Integrated Drive Electronics,即电子集成驱动器,其本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其他厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。在过去的很长一段时间都是主流的硬盘接口,它经过数年的发展变得很成熟、廉价、稳定。
IDE代表着硬盘的一种类型,它的接口标准为ATA(AT Attachment),最早出现的IDE类型硬盘为ATA-1。这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。
IDE硬盘的传输模式有以下三种:PIO(Programmed I/O)模式、DMA(Direct Memory Access)模式、Ultra DMA(简称UDMA)模式。
PIO(Programmed I/O)模式的最大弊端是耗用极大量的CPU资源。以PIO模式运行的IDE接口,数据传输速率达3.3MB/s(PIO mode 0)~16.6MB/s(PIO mode 4)不等。
DMA(Direct Memory Access)模式分为Single-Word DMA及Multi-Word DMA两种。Single-Word DMA模式的最高传输速率达8.33MB/s,Multi-Word DMA(Double Word DMA)则可达16.66MB/s。
DMA模式同PIO模式的最大区别:DMA模式并不用过分依赖CPU的指令而运行,可达到节省处理器运行资源的效果。但由于Ultra DMA模式的出现和快速普及,这两种模式立即被UDMA所取代。
Ultra DMA模式是Ultra ATA制式下所引用的一个标准,以16位Multi-Word DMA模式作为基准。UDMA的其中一个优点是它除了拥有DMA模式的优点外,更应用了CRC(Cyclic Redundancy Check)技术,加强了数据在传送过程中侦错及除错方面的性能。
UDMA接口又分为UDMA/33、UDMA/66、UDMA/100、UDMA/133等。1996年底,昆腾和Intel公司宣布共同开发了Ultra DMA/33的新型EIDE接口,因其数据传输速率为33MB/s,故称UDMA/33,后面的UDMA/66、UDMA/100、UDMA/133命名原因同上。
所有的IDE硬盘接口都使用相同的40针连接器,如图2-24所示。
IDE接口使用一根40芯或80芯的扁平电缆连接硬盘与主板,每条线最多连接两个IDE设备(硬盘或者光驱)。IDE电缆接口如图2-25所示。IDE硬盘的接口如图2-26所示。
IDE接口属于并行的ATA标准,所以也称为PATA(Parallel ATA)。IDE接口目前已被SATA接口取代。
SATA是Serial ATA的简称,它是Intel和APT、Dell、IBM、Maxtor 及Seagate等几家厂商共同制定的新一代硬盘传输接口标准。从字义上来看是一套“序列式”架构,用来对应ATA内接磁盘驱动器总线相对应。其传输方式是将许多数据位封装成一组封包,然后以比平行模式快30倍的速度在来源与目的地之间来回传送数据封包。
与PATA相比,SATA有许多优势。
首先,SATA以连续串行的方式传送数据,可以在较少的位宽下使用较高的工作频率来提高数据传输的带宽。SATA一次只会传送1位数据,这样能减少SATA接口的针脚数目,使连接电缆数目变少,效率也会更高。实际上,SATA仅用四支针脚就能完成所有的工作,分别用于连接电缆、连接地线、发送数据和接收数据,同时这样的架构还能降低系统能耗和减小系统复杂性。
其次,SATA的起点更高、发展潜力更大,ATA 1.0定义的数据传输速率可达150MB/s,这比目前最快的并行ATA(即ATA/133)所能达到133MB/s的最高数据传输速率还高,而Serial ATA 2.0的数据传输速率达到300MB/s,Serial ATA 3.0已经实现600MB/s的最高数据传输速率。
在此有必要对SATA的数据传输速率作一下说明。就串行通信而言,数据传输速率是指串行接口数据传输的实际比特率,SATA 1.0的传输速率是1.5Gb/s,SATA 2.0的传输速率是3.0Gb/s,SATA 3.0的传输速率是6.0Gb/s。与其他高速串行接口一样,SATA接口也采用了一套用来确保数据流特性的编码机制,这套编码机制将原本每字节所包含的8位数据(即1B=8b)编码成10位数据(即1B=10b),这样一来,SATA接口的每字节串行数据流就包含了10位数据,经过编码后的SATA传输速率就相应地变为SATA实际传输速率的十分之一,所以1.5Gb/s=150MB/s,3.0Gb/s=300MB/s,而6.0Gb/s=600MB/s。
SATA的物理设计可说是以Fibre Channel(光纤通道)作为蓝本,所以采用四芯接线,需求的电压则大幅度减低至250mV(最高500mV),是传统PATA接口的5V的1/20。因此,厂商可以给SATA硬盘附加上高级的硬盘功能,如热插拔(Hot Swapping)等。更重要的是,在连接形式上,除了传统的点对点(Point-to-Point)形式外,SATA还支持“星形”连接,这样就可以给RAID这样的高级应用提供设计上的便利。在实际的使用中,SATA的主机总线适配器(Host Bus Adapter,HBA)就好像网络上的交换机一样,可以实现以通道的形式和单独的每个硬盘通信,即每个SATA硬盘都独占一个传输通道,所以不存在像PATA那样的主/从控制的问题。
SATA规范不仅立足于未来,而且还保留了多种向后兼容方式,在使用上不存在兼容性的问题。在硬件方面,SATA标准中允许使用转换器提供同PATA设备的兼容性,转换器能把来自主板的PATA信号转换成SATA硬盘能够使用的串行信号,这在某种程度上保护了我们的原有投资,降低了升级成本;在软件方面,SATA和PATA保持了软件兼容性,这意味着厂商丝毫也不必为使用SATA而重写任何驱动程序和操作系统代码。
另外,SATA电缆较传统的PATA电缆要简单得多,而且容易收放,对机箱内的气流及散热有明显改善。
SATA电缆与PATA电缆的对比如图2-27所示。
SATA硬盘的接口如图2-28所示。
SATA相比PATA可谓优点很多,已经成为PATA的廉价替代方案。
SCSI的英文全称为Small Computer System Interface(小型计算机系统接口),是与ATA完全不同的接口。ATA接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如ATA硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。
SCSI接口从诞生到现在已经历了二十多年的发展,先后衍生出了SCSI-1、Fast SCSI、Fast-WIDE-SCSI-2、Ultra SCSI、Ultra 2 SCSI、Ultra 160 SCSI、Ultra 320 SCSI等,现在市场中占据主流的是Ultra 160 SCSI、Ultra 320 SCSI接口产品。
在系统中应用SCSI必须要有专门的SCSI控制器,也就是一块SCSI控制卡,才能支持SCSI设备,这与IDE硬盘不同。在SCSI控制器上有一个相当于CPU的芯片,它对SCSI设备进行控制,能处理大部分的工作,降低了中央处理器的负担(CPU占用率)。在同时期的硬盘中,SCSI硬盘的转速、缓存容量、数据传输速率都要高于IDE硬盘,因此更多是应用于商业领域。
SCSI控制卡如图2-29所示。
SCSI最早是1979年由美国的Shugart公司(希捷公司前身)制定的,在1986年获得了ANSI(美国标准协会)的承认,称为SASI(Shugart Associates System Interface,施加特联合系统接口),也就是SCSI-1。SCSI-1是第一个SCSI标准,支持同步和异步SCSI外围设备;使用8位的通道宽度;最多允许连接7个设备;异步传输时的速率为3MB/s,同步传输时的速率为5MB/s;支持WORM外围设备。它采用25针接口,因此在连接到SCSI卡(SCSI卡上接口为50针)上时,必须要有一个内部的25针对50针的接口电缆。该种接口已基本被淘汰,在相当古老的设备上或个别扫描仪设备上还能看到。
SCSI-1接口如图2-30所示。
SCSI-2又被称为Fast SCSI,它在SCSI-1的基础上做出了很大的改进,还增加了可靠性,数据传输速率被提高到了10MB/s,仍旧使用8位的并行数据传输,还是最多7个设备。后来又进行了改进,推出了支持16位并行数据传输的Wide-SCSI-2(宽带)和Fast-Wide-SCSI-2(快速宽带),其中Wide-SCSI-2的数据传输速率并没有提高,只是改用16位传输;而Fast-Wide-SCSI-2则是把数据传输速率提高到了20MB/s。
SCSI-3标准版本是在1995年推出的,也习惯称为Ultra SCSI,其同步数据传输速率为20MB/s。若使用16位传输的Wide模式时,数据传输速率更可以提高至40MB/s。允许接口电缆的最大长度为1.5m。
1997年推出了Ultra 2 SCSI(Fast-40)标准版本,其数据通道宽度仍为8位,但其采用了LVD(Low Voltage Differential,低电平微分)传输模式,传输速率为40MB/s,允许接口电缆的最长为12m,大大增加了设备的灵活性,支持同时挂接15个装置。随后推出了Wide Ultra 2 SCSI接口标准,它采用16位数据通道带宽,最高传输速率可达80MB/s,允许接口电缆的最长为12m,同样支持同时挂接15个装置,大大增加了设备的灵活性。
Ultra 160 SCSI,也称为Ultra 3 SCSI LVD,是一种比较成熟的SCSI接口标准,是在Ultra 2 SCSI的基础上发展起来的,采用了双转换时钟控制、循环冗余码校验和域名确认等新技术。双转换时钟控制在不提高接口时钟频率的情况下使数据传输速率提高了一倍,这是Ultra 160 SCSI接口速率大幅提高的关键。采用Ultra 160 SCSI,实现起来简单容易,风险小。在增强了可靠性和易管理性的同时,Ultra 160 SCSI的传输速率为Ultra 2 SCSI的2倍,达到160MB/s。
Ultra 160 SCSI接口具备如下特点:
①Ultra 2和Ultra 160的设备可以同时安装在一条总线上,Ultra 160设备性能不会下降;
②通过提高检纠错能力增强了产品的可靠性;
③具有监控接口性能和较高可靠传输速率的能力;
④用于单个设备的电缆长度可达25m,用于两个或多个设备的电缆长度可达12m;
⑤在1个通道上支持多达15个SCSI设备。
Ultra 320 SCSI,也称为Ultra 4 SCSI LVD,是比较新型的SCSI接口标准。Ultra 320 SCSI是在Ultra 160 SCSI的基础上发展起来的,Ultra 160 SCSI的优势得以继续发扬,Ultra 160 SCSI的3项关键技术,即双转换时钟控制、循环冗余码校验和域名确认,都得到保留。在以往的SCSI接口标准中,SCSI接口支持两种传输模式:异步和同步。Ultra 320 SCSI引入了调步传输模式,在这种传输模式中,简化了数据时钟逻辑,使Ultra 320 SCSI的高传输速度成为可能。Ultra 320 SCSI传输速率可以达到320MB/s。
Ultra 320 SCSI主要具有以下特点:
①双倍速率数据传输,数据传输速率比Ultra 160 SCSI提高了一倍;
②分组化的SCSI,支持分组协议;
③快速仲裁和选择,大大提高了总线的利用率;
④读/写数据流,把数据传输的开销降到最低;
⑤流控制,提高总线利用率。
SCSI接口连接器分为内置和外置两种:内置数据线的外形和IDE数据线一样,只是针数和规格稍有差别,主要用于连接光驱和硬盘,40针ATA 33线有40根导线,40针ATA 66有80根导线,而SCSI内置接口则分为50针、68针和80针,如图2-31所示。
图2-32所示的是两块80针的SCSI接口硬盘。
SCSI外置数据线的密度均不相同,有以下6种规格:
①Apple SCSI,共有25针,分为两排,8位,常用于Mac机和旧式Sun工作站。
②Sun Microsystem的DD-50SA,共有50针,分为三排。
③SCSI-2,共有50针,分为两排,8位。
④Centronics,共有50针,分为两排,8位,有点像并行口,它可以连接的设备数目更多。
⑤SCA,共有80针,分为两排。
⑥SCSI-3和Wide SCSI-2,共有68针,分为两排,16位。旧式DEC单终结SCSI使用68针高密接口。
ID(Identify)作为SCSI设备在SCSI总线的唯一识别符,绝对不允许重复,可选范围0~15。SCSI主控制器通常占用ID7,可以用在设备上的ID号共有15个。总线终结器能告诉SCSI主控制器整条总线在何处终结,并发出一个反射信号给控制器,必须在两个物理终端作一个终结信号才能使用SCSI总线。常见的错误是把终结设置在ID号最高或最低的地方,而不是设置在物理终端的SCSI设备上。SCSI设备总是以链形来连接的,按顺序就能分辨出哪一个是终结设备。
终结的方式有三种:自终结设备、物理总线终结器和自终结电缆。
大多数新型SCSI设备都有自终结跳线,只要把非终结设备的自终结跳线设置成OFF即可避免冲突问题。
物理总线终结器是一种硬件接头,又分为主动型和被动型两种:主动型使用电压调整器来进行操作;被动型利用总线上的能源信号来操作,被动型比主动型更为精确。
自终结电缆可以代替物理总线终结器,也是一种硬件,它的价格非常昂贵,常用于两台主机连接同一个物理设备,如两台服务器存取同一个物理SCSI硬盘。
通过检查SCSI ID和总线终结器,可以找出大多数冲突现象的解决方法,这是SCSI设备用户应该重视的一点。
SAS是Serial Attached SCSI的缩写,即串行连接SCSI。2001年11月26日,Compaq、IBM、LSI逻辑、Maxtor和Seagate联合宣布成立SAS工作组,其目标是定义一个新的串行点对点的企业级存储设备接口。
SAS是新一代的SCSI技术,和现在流行的SATA硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连接线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的性能、可用性和扩充性,并且提供与SATA硬盘的兼容性。
SAS的接口技术可以向下兼容SATA。具体来说,二者的兼容性主要体现在物理层和协议层的兼容。在物理层,SAS接口和SATA接口完全兼容,SATA硬盘可以直接使用在SAS的环境中。从接口标准上而言,SATA是SAS的一个子标准,因此SAS控制器可以直接操控SATA硬盘,但是SAS却不能直接使用在SATA的环境中,因为SATA控制器并不能对SAS硬盘进行控制。在协议层,SAS由3种类型协议组成,根据连接的不同设备使用相应的协议进行数据传输。其中串行SCSI协议(SSP)用于传输SCSI命令;SCSI管理协议(SMP)用于对连接设备的维护和管理;SATA通道协议(STP)用于SAS和SATA之间数据的传输。因此在这3种协议的配合下,SAS可以和SATA及部分SCSI设备无缝结合。
表面上SAS接口看上去和SATA好像没有什么区别,针数完全相同,其实还是有很大区别的。首先SATA的数据口和供电接口不相连,而SAS是相连的,如图2-33所示;其次SAS接口背面还有触点(冗余接口),如图2-34所示。
一块2.5英寸的SAS接口硬盘如图2-35所示。
SAS系统的背板(Backplane)既可以连接具有双端口、高性能的SAS驱动器,也可以连接大容量、低成本的SATA驱动器。所以SAS驱动器和SATA驱动器可以同时存在于一个存储系统之中。但需要注意的是,SATA系统并不兼容SAS,所以SAS驱动器不能连接到SATA背板上。由于SAS系统的兼容性,使用户能够运用不同接口的硬盘来满足各类应用在容量上或性能上的需求,因此在扩充存储系统时拥有更多的弹性,让存储设备发挥最大的投资效益。
在系统中,每一个SAS端口理论上最多可以连接16128个外部设备,并且SAS采取直接的点到点的串行传输方式,传输的速率高达6Gb/s,以后可能会有12Gb/s的高速接口出现。SAS的接口也做了较大的改进,它同时提供了3.5英寸和2.5英寸的接口,因此能够适合不同服务器环境的需求。SAS依靠SAS扩展器来连接更多的设备,目前的扩展器以12端口居多,不过根据板卡厂商产品研发计划显示,未来会有28、36端口的扩展器引入来连接SAS设备、主机设备或者其他的SAS扩展器。
和传统并行SCSI接口比较起来,SAS不仅在接口速度上得到显著提升(现在主流Ultra 320 SCSI速度为320MB/s,而SAS刚起步速度就达到300MB/s,目前已达到1200MB/s甚至更多),而且由于采用了串行线缆,不仅可以实现更长的连接距离,还能够提高抗干扰能力,并且这种细细的线缆还可以显著改善机箱内部的散热情况。
FC即Fibre Channel,是“光纤通道”的意思。
和SCIS接口一样,光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有热插拔性、高速带宽、远程连接、连接设备数量大等。
光纤通道标准已经被美国国家标准协会(ANSI)采用,是业界标准接口。通常人们认为它是系统与系统或者系统与子系统之间的互联架构,它以点对点(或是交换)的配置方式在系统之间采用了光缆连接。因为当初的这种设想,所以在众多为它制订的协议中,只有IPI(智能外设接口)和IP(网际协议)在这些配置里是理想的。
后来光纤通道的发展囊括了电子(非光学)实现,并且可以用成本相对较低的方法将包括硬盘在内的许多设备连接到主机端口。对这个较大的光纤通道标准集有一个补充称为光纤通道仲裁环(FC-AL)。FC-AL使光纤通道能够直接作为硬盘连接接口,为高吞吐量性能密集型系统的设计者开辟了一条提高I/O性能水平的途径。目前高端存储产品使用的都是FC接口的硬盘。
FC硬盘由于通过光学物理通道进行工作,因此起名为光纤硬盘,现在也支持铜线物理通道。就像是IEEE-1394,Fibre Channel实际上定义为SCSI-3标准一类,属于SCSI的同胞兄弟。作为串行接口,FC-AL峰值速度可以达到4Gb/s。而且通过光学连接,设备最大传输距离可以达到10km。通过FC-Loop可以连接127个设备,也就是为什么基于FC硬盘的存储设备通常可以连接几百块甚至千块硬盘提供大容量存储空间。
光纤硬盘以其优越的性能、稳定的传输,在企业存储高端应用中担当重要角色。业界普遍关注的焦点在于光纤接口的带宽。最早普及使用的光纤接口带宽为1Gb/s,随后2Gb/s带宽光纤产品统治市场多年。现在新的带宽标准是4Gb/s,目前厂商普遍都已经推出4Gb/s相关新品。
事实上,4Gb/s光纤信道传输协议早在2002年就已经通过美国国家标准协会(ANSI)的光纤信道实体接口(Fibre Channel-Physical Interfaces,简称FC-PI)规范。而与此同时,10Gb/s光纤标准也在同一年发表,但由于10Gb/s光纤并不具备向下兼容的能力,用户如果希望升级到10Gb/s光纤平台,则必须更换所有基础设施,成本过于昂贵,一直无人问津。
相比之下,4Gb/s是以2Gb/s为基础延伸的传输协议,可以向下兼容1Gb/s和2Gb/s,所使用的光纤线材、连接端口也都相同,意味着使用者在导入4Gb/s设备时,不需为了兼容性问题更换旧有的设备,不但可以保护既有的投资,也可以采取渐进式升级的方式,逐步淘汰旧有的2Gb/s设备。
FC接口是为服务器这样的多硬盘系统环境而设计的,能满足高端工作站、服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通信等系统对高数据传输速率的要求。
一块FC接口的硬盘如图2-36所示。