磁盘接口是磁盘与主机系统间的连接部件,不同的磁盘接口决定着连接速度,接口的优劣直接影响着程序运行快慢和系统性能好坏。磁盘接口技术主要有两种,即并行和串行,按照目前的情况分析,“串行”大有取代“并行”之势。
我们接触到的磁盘接口技术有很多,在串行技术出现之前,从整体的角度上硬盘接口分为ATA、SCSI和光纤通道三种,ATA磁盘多用于个人产品中,也部分应用于服务器,SCSI硬盘则主要应用于服务器,而光纤通道只应用在高端服务器上,价格昂贵。
ATA和SCSI分别定位于低端、高端应用领域,它们也有一个共同点,那就是并行,因为它们都按照并行的方式来传输数据。
随着时间的推移,这种并行技术的不足逐渐显现:尽管ATA和SCSI均是并行总线接口,但是它们之间却不兼容;ATA现有的传输速率已经逐渐不能满足用户的需求,SCSI磁盘价格昂贵;传输数据和信号的总线是复用的,如果要提高传输的速率,那么传输的数据和信号往往会产生干扰,从而导致错误。
于是串行技术应运而生,与并行技术不同,串行按照串行方式传输数据,它是一种完全崭新的总线架构。去年SATA(Serial ATA)磁盘开始大规模应用,为串行磁盘技术的革命运动拉开了序幕。同ATA和SCSI相对应的是SATA和SAS(Serial Attached SCSI)两种技术,它们克服了原先并行接口技术中的不足。串行技术提高了性能、降低了价格,还采用兼容的架构,在低端(SATA)和高端(SAS)之间架起了沟通的桥梁。
SATA磁盘已经获得了广泛的应用,而SAS的情况却有所不同,其标准虽在几年前就已确定,但是产品却迟迟没有面世。迈拓公司推出SAS磁盘,串行技术正式吹响了向高端进军的号角。记者预言,在不久的将来,磁盘世界将是串行一统天下。
现在,网络存储的概念已经深入人心,NAS和SAN、FC和IP之争都是细节问题,关键是大家都明白将磁盘阵列等存储设备直接连到网络上可以提高利用率和效能。不过,对于磁盘阵列内部的状况,了解和关心的人就没有那么多了,但实际上,那些通常被我们当作“黑匣子”看待的钢筋铁骨,其“五脏六腑”的构造也直接影响着容量的利用率和性能的发挥。
拓扑:从总线到星形
近二十年来,与ATA相比,SCSI一直以高端的形象自居。然而,随着2003年Serial ATA(以下简称SATA)Ⅱ工作组先后公布属于SATA Ⅱ第二阶段的Port Multiplier(端口倍增器)和Port Selector(端口选择器)规范,并行SCSI的优势已经不复存在。
请注意,SCSI和并行SCSI不是一个概念,两者之间不应划等号,如果非要划一个标志的话,也应该是大于号。广义的SCSI是一大堆标准的集合,像并行SCSI接口(SCSI Parallel Interface,SPI)、光纤通道协议(Fibre Channel Protocal,FCP)和iSCSI(Internet SCSI)都包括在SCSI标准架构之中。由于最初的SCSI标准(SCSI-1和SCSI-2)确实只有并行这一种实现方式,所以不加前缀的提起SCSI通常是指并行SCSI、SATA与SAS接口。
在串行接口大行其道的今天,并行接口的不是之处简直随便挑,譬如需要的信号线太多导致高频时信号同步困难,从而限制带宽和连接距离,换言之,就是发展空间有限。
同样是受制于信号线过多,并行SCSI只能选择共享传输介质(线缆)的总线型拓扑结构。虽然宽(Wide,16位)SCSI理论上能够连接多达15个设备,但如果真这样做的话每个设备所能分配到的带宽将非常有限,而且总线的仲裁(避免低优先级的设备“饿死”)问题也会十分棘手。因此,实际应用中上一个16位SCSI通道(一条总线)连接的硬盘数量通常不超过4个,从而在性能和连接能力之间取得平衡。
抛开连接器和软件协议都不兼容的表象,在功能上并行ATA可说是并行SCSI的子集——后者有的毛病前者都有,后者没有的缺点前者也有(精简所以不够完善)。线缆长度不超过半米、同一通道只能连接2个设备(且为独占式访问)、接口带宽达到133MBps就已十分勉强等都是并行ATA明显不及并行SCSI之处。
正是由于并行ATA(Parallel ATA,以下简称PATA)更早地碰到了瓶颈,ATA率先开始了彻底放弃并行、转投串行怀抱的革命。2000年春季IDF上Intel公布了串行SATA接口的开发计划,并在2001年秋季IDF上联合APT、Dell、IBM、Seagate及Maxtor,正式发布了SATA 1.0规范。
与连接器针脚多达40根的PATA相比,SATA仅有2对数据线(一对发送,一对接收,250mV LVD信号),加上3根地线也不过才7个接脚,连接器十分小巧,线缆也柔软易于弯曲,实现了每个设备独享全部带宽、没有总线仲裁/冲突开销的点对点连接。串行接口必备的LVDS(低电压差分信号)技术将连接距离提高了一倍,1米的长度完全能够满足PC机内存储的要求;每个端口可连接的设备数目虽然从2个减少为1个,但同样面积所能容纳的端口数量却成倍增加,何况PATA在实用中每端口连接的硬盘通常也只有1个;点对点连接构成相对先进的星形拓扑,可以显著改善并发操作能力。此外,SATA的带宽从150MBps(1.5Gbps,8b/10b编码)起步,后续将会提高到300MBps和600MBps。
不过,SATA 1.0的先进架构只是全面超越了PATA,在并行SCSI面前却未必能占尽上风。就以连接大量设备的能力来说,一个并行SCSI端口上挂接4块硬盘很稀松平常,SATA达到同样的水准却要耗费4个主机端口。
SATA的缔造者们显然也意识到了这个问题,于是他们在SATA Ⅱ中引入了Port Multiplier的概念。Port Multiplier的作用是把一个活动主机连接多路复用至多个设备连接,它采用4位(bit)宽度的PM端口字段,其中控制端口占用一个地址,因此最多能输出15个设备连接——与并行SCSI相当。Port Multiplier的上行端口只有1个,在带宽为150MBps的时候容易成为瓶颈,但如果上行端口支持300MBps的带宽,就与Ultra320 SCSI十分接近了。
上述规划都很不错,可是第二端口怎么实现呢?通过将原本分离的SATA端口和电源插头相连,并将SAS第二端口设置在连接处的背侧(插座则是对侧,见图),就得到了SAS连接器。第二端口比这块跨接区域略宽,但也只有SATA端口(也即SAS第一端口)的2/3,因此其7个接脚及间距均明显变窄。与SAS插头的“铁板一块”相对应,SAS插座也“全线贯通”(SATA插座在SAS第二端口的位置有一突起),这样既可以保证SATA设备插入SAS插座,又能避免误将SAS设备插入SATA插座。
换句话说,Port Multiplier本身就是星形拓扑架构的体现,对网络略知一二的朋友都明白它比总线拓扑架构更为优秀。遗憾的是,由于ATA的定位是“廉”(价)字当头,其软件(包括指令集)功能有限,Port Multiplier仅处于星形拓扑的初级阶段,只相当于一个SATA的Hub,而且还不是一个好的Hub——不允许级联。 cep8E6jB6vfbU.jpg (33.63 KB)
2008-9-24 13:39
阅读(675) | 评论(0) | 转发(0) |