其次,SATA外围设备(非凡是硬盘)将能够用于SAS环境中。长期以来,ATA只是在功能上被视为SCSI的子集,两者之间并不兼容。如今SAS在软硬件层面上都涵盖了SATA,企业级用户可以在同一环境中混用SAS(提高性能)和SATA(降低成本)驱动器,既提高了灵活性又可避免重复投资,无疑是一项创新之举。两相比较,SAS对SATA的兼容显然更为重要。正因如此,SAS在标准制订过程中一直紧跟ATA方面的变化,SAS规范所参考的ATA规范从00a修订本中的ATA/ATAPI-6和ATA/ATAPI-7前进至05修订本中的ATA/ATAPI-7 V1、ATA/ATAPI-7 V3(Serial ATA)及Serial ATA Ⅱ: Extensions to Serial ATA 1.0就是一例,而SCSI商业协会与Serial ATA Ⅱ工作组共同致力于SAS与SATA硬盘系统级兼容合作的意义更超越了简单的“名份”范畴。魔高一尺 道高一丈——ATA与SCSI再战串行
从应用的层面讲,ATA与SCSI的关系是互补远大于竞争,存在的价值不应有高下之分;然而若深入挖掘技术细节,孰强孰弱、谁先谁后的讨论却并非全无意义。历史:基础制胜SCSI的问世时间早于ATA,规格也更为完善,但并不意味着在新技术的应用上总是SCSI走在前面。这方面比较典型的例子是双沿传输(DT,原理相当于DDR)和CRC校验,1996年出台的Ultra ATA/33(又称Ultra DMA/33)就已经具备,比SCSI早了整整两年(Ultra3 SCSI)。某些功能则是难分伯仲。仍以CRC校验为例,最初只有数据相(Data Phase)能够享受这个待遇,后来ATA和SCSI不约而同地将其增强为对包括命令和状态在内的全部传输内容提供保护(下图)——从标准制订到产品化,Serial ATA 1.0和Ultra320 SCSI在时间上都相差无几。
CRC范围的变迁然而在最基本的底层架构上,先天不足的ATA怎么努力也无法缩小与SCSI的差距。LVD(Low Voltage Differential,低电压差分),一项不算复杂但却需要双倍数据线(分别传输正、负电压信号)的技术,成为了决定SCSI和并行ATA(Parallel ATA,PATA)发展空间的重要因素。LVD增强了信号的抗干扰、抗衰减能力,有助于延长连接距离,保证高频传输的可靠性。站在LVD的角度来考虑问题,就轻易理解为何SCSI不急于采用双沿传输和CRC校验了。假如不采用双沿传输,PATA要实现33MB/s的带宽,运行频率就会达到16.6MHz,可是PATA的40根数据线在运行频率逼近11.1MHz的时候就已无法保证传输质量,而双沿传输使Ultra ATA/33无需提高运行频率(8.3MHz)即可达到同样的目的,CRC校验的引入则有利于维护数据完整性。不过,随着带宽的再次翻倍(66MB/s),11.1MHz终被突破,因此Ultra ATA/66不得已搬出了增加40根地线的设计,效果虽不能与LVD相提并论,但总算能够将寿命延长至Ultra ATA/133(运行频率33.3MHz)。反观Ultra2 Wide(U2W)SCSI,80MB/s的带宽都不需要双沿传输,因为LVD线缆足以应付40MHz的运行频率,没有CRC校验数据质量也不差。Ultra160 SCSI采用了双沿传输和CRC校验,所以运行频率保持不变,线缆也不用更换;Ultra320 SCSI的运行频率提高到了80MHz,理论上要求用专门的线缆,但由于线缆的结构并没有实质性改变,因此质量较好的LVD线缆仍然可以使用(只是连接距离可能会受到一些影响)。从连接距离、设备数目到多任务操作能力,SCSI建筑在底层架构上的优势是PATA无法追赶的,LVD不过是其中一例。QQread.com 推出各大专业服务器评测 linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器 变法:强者愈强PC处理能力的增强带来了其应用范围的扩大,对存储设备接口的要求也水涨船高——至少,仅靠廉价是不行了。Serial ATA(SATA)的串行点对点连接在保持廉价特色的同时突破了PATA的局限:简直是串行接口必备的LVDS(低电压差分信号)技术将连接距离提高了一倍,1米的长度完全能够满足PC机内存储的要求;每个端口可连接的设备数目虽然从2个减少为1个,但小巧的连接器却让同样面积所能容纳的端口数量成倍增加,结局不言自明;点对点连接构成相对先进的星形拓扑,可以显著改善并发操作能力。在发展空间上,令PATA难以逾越的150MB/s(1.5Gb/s,8b/10b编码)只是SATA的起步带宽,后续将会提高到300MB/s和600MB/s(下图)。
SAS和SATA的发展路线图尽管SATA与(并行)SCSI相比仍存在全方位的差距,但已不像PATA那么明显,SCSI阵营对此焉能视而不见?何况并行SCSI继续发展的潜力也很有限,步ATA的后尘转向串行是迟早的事。Serial Attached SCSI(SAS)吸纳SATA的物理层设计是一大妙招,然而怎样运用同样的串行点对点连接营造出比SATA更为复杂的拓扑结构,从而满足企业级存储系统对性能、可靠性和可用性的要求,难度也是显而易见的。SAS不仅是在SATA的物理层上执行SCSI命令集那么简单,它还具备FC(Fibre Channel)的某些特性,这使其超越了SATA和(并行)SCSI的范畴(表1)。 表1:SATA、SAS和FC-AL主要特性对比
SAS的全双工工作示意图宽链接 物理链接(physical link)是SAS中的一个基础概念,一条物理链接包括两对差分信号线(Tx和Rx,即一条SATA线缆),传输方向相反,在两个物理Phy之间形成通路。两个SAS端口之间可以建立起由多个物理链接构成的wide link(图4),相应的端口也被称做wide port,可以表示为N-wide link和N-wide port,N取值在1~4之间,代表物理链接的数量。1-wide link/port即narrow link/port,这方面的典型例子是硬盘,双端口意味着两个独立的narrow port(虽然规格中并没有将硬盘端口严格限定在1-wide,但单个物理链接所能提供的带宽已经明显超出硬盘的内部传输率,还可以降低成本和设计复杂性),不能配置成一个2-wide port(2宽度端口)。
宽链接和宽端口类似于PCI Express(×1~×32),SAS支持宽链接的主要出发点是获得成倍的带宽,这种并联的方便性显然要拜串行技术所赐。带宽 或许是考虑到2004年第一批SAS产品问世时SATA很可能已推出3.0Gb/s的第二代规格,SAS 1.0/1.1采取了直接支持3.0Gb/s并向下兼容1.5Gb/s的策略。Marty Czekalski承认,包括7月8日T10会议上LSI Logic与Maxtor联合演示系统在内的某些初期原型产品的确运行在1.5Gb/s,但都是在FPGA和现货供给PHY(物理层)芯片基础上开发的,预计2003年年底将会有采用完全集成3Gb/s PHY芯片和ASIC设计的设备出现,并逐渐被业内接受。量产的SAS设备会具有每端口3Gb/s的数据速率,SAS协议还答应全双工操作,这意味着一台双端口驱动器能够达到12Gb/s的峰值吞吐率(理论上限,持续时间取决于驱动器内部结构和缓存带宽),而4-wide port(4宽度端口)更可以获得24Gb/s(合2.4GB/s)的带宽——超过PCI-X 2.0。连接距离 为了提高连接距离,SAS发送和接收信号的电压范围都比SATA大为提高(表2)。在具体的连接距离指标上,最初宣称是10米,新的资料则是大于6米(外部线缆),似乎与信号速率从1.5Gb/s提高到3.0Gb/s有关。需要指出的是SAS规范里面并没有严格限定线缆长度,而是靠发送水平和接收敏感度来考察,(制造商)通过检测线缆特性来判定其所能达到的距离——高质量线缆可以连接得更远,当然成本也更高。现在SAS线缆连接距离的要求已经提高到8米(制造商仍可以花费更多,用更高质量的线缆求得更长的距离),通过3个扩展器(Expander)之后,SAS的连接距离能够超过32米,与Ultra160/320 SCSI的12米(15个设备)或25米(点对点)相比虽没有明显优势,但也足以应付机内存储设备连接和近距离DAS的要求了。 表2:SAS和SATA物理层的兼容性
QQRead.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南 演变——SATA-Ⅱ和SAS 1.1Serial ATA 1.0定义了Serial ATA接口的连接器、线缆、物理层和协议,桌面计算平台是其主要应用目标。在2002年春季IDF上,Serial ATA 1.0的发起者APT、Dell、Intel、Maxtor和Seagate又牵头成立了Serial ATA Ⅱ工作组,负责开发具备服务器和网络存储设备所需功能及下一代信号速率的Serial ATA Ⅱ规范,而紧随其后的Serial Attached SCSI也没有满足于1.0版。Serial ATA Ⅱ两步走Serial ATA Ⅱ规范分为两个阶段,第一阶段是在Serial ATA 1.0的基础上增加服务器和网络存储设备所需功能,即“Serial ATA Ⅱ: Extensions to Serial ATA 1.0”(简称Extensions to SATA 1.0),已经于2002年10月16日完成1.0修订本,是Serial ATA Ⅱ工作组开发的众多规范中第一个亮相的。Extensions to SATA 1.0的所有功能(下表)都是可选的(非强制性),只要具备任何一个功能都可以声明“Supports SATA Extensions”(支持SATA扩展),相应的产品则被称为“SATA 1.5 Gb/s prodUCt x supports SATA Extensions”或“SATA 1.5 Gb/s product x supports SATA Extensions a, b, &c”。根据Serial ATA命名规则,产品不能叫做“SATA 1.0”或“SATA Ⅱ”——“SATA 1.5 Gb/s”或“SATA 3.0 Gb/s”既表明了是哪一代SATA规范,还可以避免引起混淆。
×——需要改进以支持相应功能Serial Attached SCSI内外皆修2002年10月23日,Intel向T10委员会递交了让SAS支持Serial ATA Ⅱ: Extensions to Serial ATA 1.0的提议。11月7日,T10开始考虑自己的下一代——Serial Attached SCSI - 2(SAS-2),并计划于2004年12月对外公布草案。然而,进入2003年后不久,“SAS-2”的字样就从T10网站的工作草案文档区消失了——被Serial Attached SCSI-1.1(SAS-1.1)取而代之。对此STA(SCSI商业协会)常务董事Michael T. LoBue的解释是,那个“SAS-2”与SAS 1.0相比变化不是很大,用“SAS-1.1”表达更符合实际。2003年7月10日,T10公布了SAS 1.1工作草案的第一个版本(00修订本),它的绝大部分内容与SAS 1.0的05修订本相同,只有少量改进,信号速率不变。改进之处包括:1.增加4-wide内部连接器(对应SATA Ⅱ的Ganged connector);2.简化的第一次突发(可选功能,不利用它对硬盘和磁带机等设备没有影响);3.链路/传输层重试:在SAS 1.0中,假如传输数据到设备的过程中发生错误,将导致整个传输终止,传输重试,这种机制与硬盘的行为相匹配,很少甚至根本不会影响整个系统的性能。然而,对流式磁带驱动器来说,重发数据却会因磁带回卷而造成性能显著下降。为了获得一个基本稳定的规范并加快SAS系统推向市场的速度,制订SAS 1.0时没有过多考虑这个问题。SAS 1.1增加了链路/传输层重试,可以改善使用磁带驱动器时的性能。4.改正了在SAS 1.0中发现的所有错误。预计SAS 1.1将在SAS 1.0之后9个月左右通过标准审查,SAS 2.0的时间表目前还不清楚,惟一确定的是其数据速率将达到6Gb/s。Marty Czekalski估计大约还要等上两年,不会早于SAS 1.1。
也许作为SAS象征的标志(logo)改变更为显著。最初的标志(上图)是在工作组初期设计的,描绘了一个连接着多个设备的扩展器(Expander),当时工作组只有5个成员,主要精力都放在开发技术规范上,标志的挑选程序没有过多考虑市场宣传的要求。在2002年5月规范草案转交T10开发之后,代替工作组推广SAS的STA认为,最初的标志在颜色和风格上不能与STA或SATA的标志形成互补,有必要改用一种与所有标志同时在介绍材料中出现时仍清楚可见的风格。于是,经过更换颜色和部分变形之后,SAS标志就成了今天这个样子(见下图)。
包容有道——SAS环境中的SATA设备SAS兼容SATA的能力非常重要,系统集成商和用户可以根据实际需要在大容量/高性价比的SATA硬盘与高性能/高可用性的SAS硬盘之间自由选择。不过,串行互连技术促进存储接口融合说起来轻易,但真正实现起来要解决的问题还是很多的。SAS对SATA的支持可以从软件和硬件两个层面来讨论,其中双端口格外值得我们关注。STP铺路 OOB识别SAS定义了3个协议:串行SCSI协议(Serial SCSI Protocol,SSP),全双工,让SCSI运行在增强的SATA物理层上;串行ATA隧道协议(Serial ATA Tunneled Protocol,STP),为SATA增加多目标寻址和多发起者访问,以适应SAS环境的需要;串行治理协议(Serial Management Protocol,SMP),用于发现和治理扩展器(Expander)。扩展器把SATA的点对点连接扩展至SAS的多发起者/多目标,然而SATA协议仅支持单发起者/单目标,STP的任务就是让发起者能够通过扩展器访问SATA目标。STP在发起者与最远的、也就是连接SATA设备的扩展器端口(STP目标端口)之间建立起一条通路(隧道),传输标准的SATA 1.0帧,因此在SATA设备看来,自己连接的就是SATA主机适配器。假如发起者端口识别出与其直接相连的是一台SATA设备,则只使用SATA协议通信。
SAS与SATA连接器示意图难者不会,会者不难。SFF-8482内部附属连接器规范将原本分离的SATA端口和电源插头相连,SAS第二端口位于连接处的背侧(插座则是对侧,见上图)。第二端口比这块跨接区域略宽,但也只有SATA端口(也即SAS第一端口)的2/3,因此其7个接脚及间距均明显变窄(下图)。与SAS插头的“铁板一块”相对应,SAS插座也“全线贯通”(SATA插座在SAS第二端口的位置有一突起),这样既可以保证SATA设备插入SAS插座,又能避免误将SAS设备插入SATA插座。
SAS连接器就是SATA连接器背面加上第二端口由于单端口的带宽(3.0Gb/s,甚至1.5Gb/s)已经能够满足硬盘的要求,SAS硬盘增加第二端口并不是为了支持宽链接(2-wide),而是通过给它们赋予不同的SAS地址(WWN),让双端口分属两个(冗余的)域以防系统出现单点故障,从而提高可用性。在SAS环境中,SATA设备同样有高可用性需求,即答应两个主机适配器连接到一台SATA硬盘上,避免主机适配器成为单点故障源(图3)。与SAS的双端口不同,在任何时刻都只能由一个主机适配器独享此SATA硬盘的控制权(由系统软件检测哪个主机适配器处于“活动”状态)。这种通路切换机制由两端口到单端口的适配器——端口选择器(Port Selector,PS)——实现,SATA Ⅱ工作组负责开发规范,工作草案已经递交T10网站供参考。在任何时刻只有一个端口处于活动状态,在切换端口之前硬盘的所有行为都必须停止(队列中无请求)。端口选择器的设计取决于子系统厂商,可以两边分别是SAS(双端口)和SATA连接器,也有可能把端口选择器放在背板上,或者干脆将其集成到硬盘上配合统一的背板连接器使用。SATA Ⅱ工作组还有意将端口选择器用于静态负载均衡。不过,这样一来也对该SATA硬盘的工作周期(7×24)和平均无故障时间(MTBF)提出了更高的要求。
防止单点失效的典型SAS配置为了更好地兼容SATA,SAS的物理层也提供了对时钟频谱扩展(Spread Spectrum Clocking)的支持。时钟频谱扩展通过将时钟发生器脉冲波的尖峰衰减为相对平滑的曲线来降低EMI(ElectroMagnetic Interference,电磁干扰),SATA加入这项功能是为了满足PC对电磁辐射的严格要求;SAS所面向的服务器和网络存储设备辐射标准没有那么苛刻,SAS设备并不需要它,但SAS系统却必须能接收来自SATA设备的时钟频谱扩展信号。发起者和目标对SATA来说,发起者(initiator)必须是主机控制器,目标(target)只能是外围(存储)设备;SAS却灵活许多,外围设备同样能够成为发起者,主机控制器也可以当做目标。造成这种差别的根源在于SAS继续了SCSI对等(peer-to-peer)的传统,即发起者和目标地位平等,在建立连接和传输数据时没有主从之分。对等是SAS很轻易地就能在单个物理链接上实现全双工的主要原因,但它的优点并不限于此。
PATA硬盘的IOPS性能随队列深度提高的幅度明显不及SCSI硬盘在传统的PC单线程应用中,PATA硬盘可以按照主机软件安排的顺序执行命令,因此没有命令排队还不是很严重的问题。但是,随着超线程技术的出现,多线程应用将逐渐在PC领域普及,对硬盘端排队能力的需求渐趋迫切,SATA Ⅱ本机命令排队可谓生逢其时。FPDMA反客为主既然PATA DMA的总线从属性是命令排队有名无实的“元凶”,SATA Ⅱ本机命令排队就通过单方DMA(First Party DMA,FPDMA)的机制来解决这个问题。虽然继续了PATA的非对等“传统”,但SATA利用FPDMA促成主机控制器为排队命令的数据传输选择适当的目标或源物理内存区域(答应硬盘经由Scatter/Gather列表直接寻址)并初始化DMA引擎,进而可以自己安排传输数据的时间和顺序。为了实现硬盘与主机之间的数据和状态通信,SATA 1.0定义了三种类型的帧信息结构(FIS),分别是FPDMA Setup、DMA Active和Set Device Bits,SATA Ⅱ本机命令排队直接使用它们而无需修改现有SATA协议,不过增加了Read FPDMA Queued和Write FPDMA Queued这两条命令。SATA Ⅱ本机命令排队答应支持和不支持该协议的硬盘连接在一个主机控制器上,当然更能够共存于同一磁盘子系统中。主机控制器驱动程序通过识别设备(Identify Device)功能检测硬盘是否支持SATA Ⅱ本机命令排队,本身还要支持Read FPDMA Queued和Write FPDMA Queued,因此必须做出相应的改动。
寻道靠排队命令排队主要解决的是寻道顺序,不妨以电梯为例帮助我们理解这个问题。设想一座电梯停在7层,进入的人按照1、6、2、5层的顺序按下按钮,电梯是应当遵循这个7→1→6→2→5(走过16层、折返3次),还是将其调整为7→6→5→2→1(走过6层、减速4次)呢?相信大家都会选择后一种方案,因为它不仅大大节省了时间,还避免了不必要的折返操作,非常有利于延长电梯的寿命。此外,我们还希望电梯在运行过程中能够对新按下的按钮(假设为3)做出判定,决定是否重新排序:假如此时电梯在6或5层,就把3插在2的前面;但若电梯已到3层,就按原顺序走向2层——忽然急停对乘客和电梯都会造成很大的伤害。以上下的电梯来比喻在磁道间摇摆运动的磁头非常形象——取出队列中的命令(按下的楼层按钮),然后重新排序(见下图),缩减硬盘的机械开销,以便有效地获取和发送主机请求的数据。当然,命令排队真正实现起来需要考虑的问题要复杂得多,譬如是否切换磁头、针对不同磁道的寻道时间、不同的运行模式(静音寻道),涉及的参数更包括寻道长度、起始位置和方向、传动机构的加速分布、旋转定位(读写定位时间差)、读缓存命中率、写缓存的启用与禁用、处理相同LBA的I/O进程,以及算法的公正性(消灭命令“饿死”现象),甚至旋转等待时间。总之,一个好的命令排队算法可不那么简单。
等待有无序仅仅把磁头移动到目标磁道上方是不够的,还必须把等待要访问的数据块旋转过来,这就是旋转等待时间(延迟)。最好的情况自然是起始LBA就在磁头下方,最糟糕的则是起始LBA刚好过去——意味着要损失旋转一整圈的时间(取旋转半圈的时间为平均延迟),也就是4ms(15000RPM)~8.3ms(7200RPM),简直与平均寻道时间不相上下,同样不能忽略。提高主轴转速当然可以缩短旋转等待时间,但未必是最好的办法。无序数据传送(Out of order data delivery)不需要磁头从起始LBA开始读取,而是可以从目前LBA中的任何位置开始读取数据。也就是说,只要磁头定位在目标磁道上方,就马上开始读取所请求的数据块,错过的数据待盘片旋转回来后再补上即可。假如所请求的恰好是整条磁道的数据,那么就没有在旋转等待上损失任何时间(就这条磁道而言相当于持续传输),此时无序数据传送显然比任何机械方法都更为有效;假如所请求的数据块非常小,无序数据传送的作用就大打折扣了,不像提高主轴转速那般始终如一。从客观情况出发,无序数据传送更受在提高转速上受到诸多限制的ATA硬盘青睐。除了提高硬盘本身的性能,命令排队功能还可以使主机在设备对命令进行排队的时候,断开与硬盘间的连接以释放总线,一旦硬盘预备就绪,就重新连接到主机,尽可能以最快的速率传输数据,从而消除占用总线的现象,改善整个系统的表现。QQread.com 推出各大专业服务器评测 Linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器 在模拟中超越——SATA-Ⅱ与SAS的子系统级技术Serial ATA要用于服务器和网络存储设备,就必须支持背板、箱体服务、交错旋转预备等子系统(subsystem)级技术,这些Serial ATA Ⅱ都不能通过继续(自PATA)的手段获得,只好向老大哥SCSI学习;Serial Attached SCSI当然不用再为上述那些小儿科劳神,它的目标是满足高端服务器和存储设备的需求,因此从FC(Fibre Channel,光纤通道)“偷师”了双端口、多级交换、WWN等用于组建复杂拓扑架构的技术。与其说SATA Ⅱ追赶SCSI、SAS挑战FC,不如来欣赏两者如何实现超越自我的雄心。SATA Ⅱ在SATA 1.0基础上进行的诸多扩展中,除本机命令队列和识别设备/设置功能外,都是专门为子系统服务的。由于类似的技术并行SCSI早已采用,所以本文只对它们做一简单介绍,而把主要的关注点放在SATA Ⅱ与SAS对SATA 1.0简单点对点连接所做的扩充上。SATA子系统:学习与完善背板互连、箱体服务/治理、交错旋转预备、硬盘活动指示和热插/到位检测这五大功能在B9版都有简要的解释,以下将视具体情况做进一步的介绍。
采用SATA外部接口的Port Multiplier示例2.采用FC-AL、GbE、SAS等其他外部接口的驱动器箱体(下图)。箱体内部有一个将外部接口转为SATA接口的主机控制器,它的每个SATA端口连接一个Port Multiplier或其他SATA设备。
采用其他外部接口的Port Multiplier示例3.笔记本电脑的移动坞站(docking station,见下图)。坞站中的Port Multiplier上行端口与主机相连,下行端口用来接外部硬盘、光驱或其他SATA外围设备。
用于坞站的Port Multiplier示例Port Multiplier的上行和(所有)下行端口带宽均为150MB/s(信号速率1.5Gb/s),明显领先于任何SATA设备(包括硬盘)的实际速度,因此在下行连接设备较少(或速度较慢,如光驱)的情况下上行接口未必会成为性能瓶颈——何况将来可以把上行端口的带宽先行提高到300MB/s(信号速率3.0Gb/s)。但不管怎么说,现在的Port Multiplier仍只是一个功能受限(不能级联)的SATA Hub而已。QQread.com 推出各大专业服务器评测 Linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器
扩展器与设备的关系SAS制订初期的目标是每个扩展器可连接64个设备,一个SAS域最多4096个(64×64)设备;后来规范制订者们意识到没有必要把扩展器的端口数目限制在64个,于是便改为每个扩展器能够寻址128个Phy,整个SAS域形成一个物理连接数目可达16k(128×128=16384)的点对点交换式拓扑架构。这种从基于路径向基于寻址的转变答应在不使用扇出扩展器的情况下获得更大规模的配置——通过多个边沿扩展器组成“边沿扩展器集”的方法,将能够以Phy数目较少但却廉价的芯片构建起一个大型的逻辑扩展器。 SAS连接器类型对比表
扩展器强大的连接能力不仅是为设备数量服务的,它还可以用多达4个的物理链接(消耗的Phy数目也随之上升)组成宽链接来获得成倍的带宽(见上表)。以4宽度内部串行附属连接器(下图)为例,SATA只能通过4根相互间没有逻辑联系的线缆获得4个独立的SATA链接,SAS却可以得到一个4宽度链接(在一个扩展器上)、两个2宽度链接(在两个扩展器上)、四个1宽度链接(在四个独立的扩展器或设备上),甚至还能够是一个3宽度链接和一个1宽度链接……性能与灵活度都远胜于SATA。
SAS 1.1和SATA Ⅱ共同增加的4宽度内部连接器当然,扩展器引入的复杂度也不尽是优点,譬如它将原本直接相连的两个设备分隔开就隐藏着潜在的风险。假想有两个设备,支持的最高速率分别是1.5Gb/s和3.0Gb/s,当它们直接相连的时候,会在经过协商后以1.5Gb/s的速率通信,没有什么不妥。若断开这个连接,在中间插入一个3.0Gb/s的扩展器,情况会怎样呢?问题来了——两个设备分别与扩展器(上的相应端口)协商后以各自的最高速率连接,即3.0Gb/s对1.5Gb/s,(当各自处于接收状态时)快的吃不饱,慢的吃不消。为此,SAS在链路层引入了速率匹配(rate matching)的概念,即在高速连接一侧(视需要)插入ALIGN,降低其实际数据速率,维持扩展器吞吐量的平衡。这一功能对SAS主机控制器(3.0Gb/s)通过扩展器连接SATA外围设备(1.5Gb/s)的应用显得尤为重要(下图)。
速率匹配示意图(rate-matching.jpg)要让一个可能多达16k个Phy的域顺利地运作,必须有一个足够大的地址分配空间。通过为每个SAS端口分配一个8字节的WWN(World Wide Name,全局名)作为SAS地址,这个问题得到了解决。WWN包括24位的IEEE公司ID和40位制造商标识符,可以保证其惟一性。在SAS环境中,SAS主机控制器使用自己和SAS硬盘的WWN来建立SSP通路,可是对于并不支持WWN的SATA硬盘该怎么办呢?解决办法是用(与SATA硬盘直接相连的)STP目标端口的WWN来代替。STP目标端口不仅能够让多个STP发起者(主机控制器)通过它访问同一SATA硬盘,还应具备追踪每一个STP发起者SAS地址的能力,否则访问该STP目标端口的STP发起者必须在命令完成之前保持连接——因为SATA硬盘本身并不支持多主机,若STP发起者送出命令后即断开连接,而STP目标端口又不能追踪其地址的话,那么SATA硬盘预备好数据后将不知道该传输给谁。虽说让STP发起者在命令执行过程中始终保持连接也不失为一种解决之道,但这无疑将导致SATA硬盘的命令排队能力得不到充分利用。QQread.com 推出各大专业服务器评测 Linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器
SAS与SATA在企业级市场共存示例具有低端SCSI产品特征的SATA硬盘可能会成为一个例子。有些企业级应用并不一定在乎双端口或大容量,但主流SATA硬盘的性能又满足不了需要,这时“采用SATA接口的中低端SCSI(或SAS)硬盘”也许倒很适合。本报2002年6月23日B10版介绍过的WD Raptor硬盘(10000RPM,36.7GB,“ESATA”接口)算是这方面的先行者,2003年春季IDF上对比未来两年各类硬盘产品的规格时,也专门列出了SATA-Enterprise(企业级SATA,10000RPM/100万小时MTBF),以与SATA-Desktop(桌面级SATA,7200RPM/50万小时MTBF)相区别。另一个机会来自于一些高端存储系统对参考数据应用的需求。所谓参考数据,是指重要但不频繁访问的归档/备份等数据,这种应用强调每兆字节最低(购置)成本和可扩展性,性能不是最要害的因素,按说正适合ATA硬盘。然而多数高端存储系统都会对扇区添加用于数据完整性检查的元数据,这就要求扇区尺寸大于512字节(通常会是520字节或528字节),可是PATA偏偏不支持非512字节的扇区尺寸……现在SATA提供了对非512字节扇区尺寸的支持,配合SAS超强的扩展能力,在参考数据应用领域取得成功的把握大增。不过,SCSI/FC硬盘的扇区尺寸能够在格式化时指定,非512字节扇区尺寸的SATA硬盘则很可能需要非凡定制。以上我们讨论了SAS与SATA在企业级应用领域可能的一些动态,SATA在PC市场的优势不是本专题所关心的。有一点是肯定的,那就是对SAS(系统)兼容SATA(外围设备)的重大意义怎么强调都不算过分。身为SATA始作俑者之一的Intel,从去年秋季IDF公开把SAS与SATA相提并论,到2003年春季IDF上将SAS作为串行存储接口讲座的核心,也许就是机内存储设备接口在串行时代走向融合大势的一个缩影。新闻热点
疑难解答