内部连接器(上):SAS 4i 整合并塑身
与主机端和驱动器(
硬盘/光盘)端通吃的
SATA样式连接器不同,遵循SFF-8482规范的SAS样式连接器专为
硬盘/磁带驱动器等存储端设备量身定制,增加了一个从端口并整合供电引脚——都是SAS HBA/
RAID卡等主机端设备所不需要的。因此,在构成SAS线缆时,另一端必须要有可以与SAS主机端设备(如HBA/
RAID卡)相匹配的连接器。不通过背板或扩展器等“中间人”,由线缆直连驱动器是典型的机箱内部应用,因此和SFF-8482连接器隔着线缆相望的主机端连接器被称为“内部连接器”,它们除了栖身于SAS HBA/
RAID卡,也会在背板上出现。从2004年至今,SAS内部连接器已经历了从
SATA样式连接器到
SFF-8484,乃至SFF-8087的变迁……
同样是4个内部SAS端口,采用SATA样式连接器(上,2004年)比SFF-8484连接器(下,2005年)消耗的PCB面积更大,而且前者分散的放置也不利于布线
往简单里说,从硬件的层面上看,SAS可以被理解为支持双端口的
SATA。但是,我们知道,双端口是
硬盘/磁带驱动器等存储设备的事儿,SAS HBA/
RAID卡上的端口可以聚合(如4路宽端口),但也可以表现为相对独立的单端口。因此,第一批SAS HBA普遍采用了标准的
SATA样式连接器。这种“拣现成”的做法好处不言而喻,缺点同样不容回避——如何提供更多的端口?最简单的方式是继续平铺在PCB上,可是PCB的面积终归有限,尤其是还要放置IOP和内存等元件的
RAID卡。
SATA RAID卡缩减端口连接器占用PCB空间的两种方式——双面堆叠(左,2002年)和单面堆叠(右,2005年)
所以,在SAS之前,以3ware为代表的
SATA RAID卡设计者们已经在尝试解决这一问题。最初是把PCB的两面都用上,一张半长的卡可以放置8个端口对应的接口连接器。然后是“盖楼房”——两个
SATA样式连接器堆叠放置,成本效益更好,而且使用范围不局限于PCB的边缘,使MD2规格的卡能够支持多达12个端口。
不论怎么堆叠,分散而杂乱的SATA线缆都是很大的问题
可是,两种做法的本质没有什么区别——都是每个端口各自对应一条线缆,8个端口就要8条线,这已经很乱了,而且会严重影响机箱内的空气流动。当然,如果能够将线缆捆绑起来,可以改善机箱内部的生态环境。简单的做法是将线缆捆绑在一起,连接器依然各自为战(一些特殊的并行ATA数据线就是这样设计的)。更进一步呢?如果将接口连接器也整合起来,不仅利于安装,还能保证连接的物理稳定性。
连接着1转4扇出线缆的SFF-8484连接器(插头),左右两侧×××部分是锁定扣具的释放按钮
天生支持端口聚合的SAS技术至少在客观上起到了推动接口连接器整合进程的作用。小型化委员会(SFF Committee)为4路内部接口连接器制订了SFF-8484规范,SAS 4i的称呼一目了然——i代表内部(internal)。这4个物理上整合在一个接口连接器上的端口,既可以是一个4路宽端口,也可以是4个独立的单端口。相应地,SFF-8484定义的线缆既可以是一条4宽度的连接两端,也可以一分为四,即所谓的“fan-out cable”(扇出线缆)。
SFF-8484连接实例图,红色的fanout线缆,可以看到,SFF8484连接器的特点决定了插座和PCB边缘之间最好保留一块空白地带
一个符合SFF-8484规范的接口连接器宽度略小于四个并排的
SATA接口连接器,8个端口只需两个SFF-8484连接器即可搞定,线缆理论上也仅有2条(需要考虑到fan-out的情况)。但是,SFF-8484并没能从根本上解决接口连接器占地面积过大的问题,一方面是SFF-8484连接器的宽度仍约相当于3个
SATA样式连接器,更致命的是连接器上的锁定扣具和粗壮的四合一线缆需要更大的纵深(长度),如果不安排在PCB的边缘,占用空间反而会更大。因此,即便是全长的SAS
RAID卡,一般也只能容纳2个SAS 4i连接器。
从近乎全尺寸的LSI MegaRAID SAS 8408E可以看出,SFF-8484插座如果不放置在边缘,浪费的PCB面积有多大
也正是因为这个原因,
SATA RAID卡对SFF-8484连接器很不“感冒”。我们知道,4路宽端口对
SATA而言是没有意义的,两两堆叠的
SATA样式连接器甚至比SAS 4i连接器更为节省空间,后者只剩下线缆捆绑这么一个优点了。权衡利弊,
SATA RAID卡继续采用堆叠
SATA样式连接器的方式,直到Mini SAS 4i连接器的出现。
内部连接器(下):Mini SAS 4i 完成小型化
SATA接口连接器可以堆叠设计,相对高端的
SATA RAID卡也不会超过16个端口,用堆叠连接的方式,占用面积总比SFF-8484要少。SAS则不同——端口数量倒在其次,关键是宽端口需要四合一。既然SFF-8484过于浪费空间,那就继续瘦身呗。
两款基于不同接口连接器的3ware 9550SX-12对比:上面是采用InfiniBand 4X连接器的9550SX-12MI-I,PCB的一端就可以放下3个,全部12个端口;下面的9550SX-12SI同样空间内只能容纳5组堆叠的SATA连接器,共10个端口。此外,线缆方面也是3粗对10细,管理和通风上的差别不言而喻……
有道是“病急乱投医”,AMMC在其2005年底推出的3ware 9550SX-12端口
SATA RAID卡中尝试了原本为InfiniBand开发的4X外部连接器。这种“外衣内穿”的插座宽度比SFF-8484连接器有较大的缩减,但其主体结构复杂,使用的
金属件也太多,导致成本较高,很大程度上抵消了PCB尺寸减小带来的好处,因而没有得到推广。
SFF-8087规范插头端(左)和插座端(右)的连接器引脚定义
真正解决问题的是Mini SAS连接器。Mini SAS的核心是SFF委员会制订的SFF-8086规范,吸取了SFF-8470规范的教训,主体结构大为简化,宽度也有进一步的收敛,与一组堆叠的
SATA连接器较为接近,但能提供的端口数量却多一倍(4:2)。和SFF-8484相比,SFF-8086在提高空间利用率的同时,较好地控制了连接器的成本。
两个具体实现有细微差异的SFF-8087插头,虽然金属簧片的总体构造不同,但接近前端的特定位置都有两个小钩,对应插座外壳上的两个小孔,插入后锁定连接,按下簧片则可释放
严格说来,SFF-8086规范不能单独工作,因为它只定义了连接器主体和引脚功能,而不包括连接器的外壳和固定部分。我们知道,内外部应用对连接器外壳设计的要求是不同的,主要体现在内部连接通常是非屏蔽的(Unshielded),而外部连接则需要屏蔽(Shielded)。因此,在具体的实施上,以SFF-8086为基础衍生出来了SFF-8087和SFF-8088两个版本,分别规范内部连接器和外部连接器。
SFF-8087插座俯视图,可以看到其外壳较为单薄,容易变形
符合SFF-8087规范的插座有一层薄薄的金属外壳,为插头上金属簧片前端的小钩留下了两个小孔,嵌入后起到固定的作用,用力按压簧片方能拔出。这样设计的好处是根据自身特点形成扣具,不至于像SFF-8484那样因两侧固定端过远而难以平稳地插拔。
插入后的SFF-8087连接器,旁边还有一个空着的插座,和另一个带着保护塞的插座——是否说明SAS 4i插座的外壳确实不够坚固呢?
不过,在我们实际使用的过程中,多次出现线缆上的SFF-8087插头无法从对应的插座中拔出的现象,原因在于SFF-8087插座外壳和插头簧片过于单薄,很容易发生变形,导致我们经常需要动用工具辅助才能让插头和插座分离,拔出数据线缆,这一点恐怕是SFF-8087规范最需要改进的地方。
连接器尺寸直观对比:三个SFF-8087插座并排仅比一个SFF-8484插座略宽,实际占用的PCB纵深也大致相当
Mini SAS的出现在某种程度上解决了SFF-8484规范占用PCB空间过大的问题,SFF-8087规范为HBA/
RAID卡所广泛接受,包括
SATA RAID卡也开始采用x4的设计(从引脚的电气特性上来说,一个SAS单端口和一个
SATA端口是等效的),SAS与
SATA在HBA/
RAID卡的连接器上开始走向统一。不过,端口数目在4个以内的SAS/
SATA HBA/
RAID卡,依然只能选择传统的
SATA样式连接器。
四合一的线缆必然是粗大的,因此HBA/RAID卡上的SFF-8087插座注定只能安置在PCB边缘,但占用的空间已经比SFF-8484插座小很多,所以才能在RAID卡的一端布置4个SFF-8087插座(左),提供多达16个端口,这对SFF-8484来说是无法想象的(右)——即使用上成倍的空间也不过才8个端口,仅有前者的一半
有趣的是,SFF-8484连接器虽然很快被SFF-8087逐出了HBA和
RAID卡市场,却没有就此退出历史舞台,而是仍能在磁盘背板上保留一块栖身之地,这一点我们将在下页提及。
磁盘背板:兼收并蓄集大成
在机架式
服务器或
硬盘驱动器槽位较多的塔式
服务器中,SAS HBA/
RAID卡一般不直接用SAS线缆与
硬盘驱动器相连,而是会
通过磁盘背板,以方便
硬盘驱动器的插拔。磁盘背板也是典型的内部连接应用,一面接
硬盘驱动器,另一面连HBA/
RAID卡。驱动器端
好说,统一为SFF-8482插座,SAS和SATA驱动器都可以使用,总体上要好于再单独开发仅支持SATA驱动器的背板。PCB和布线显然不是我们关注的重点,主要的变数就在与来自HBA/RAID卡的线缆相连的“主机端连接器”上。
主机端连接器和驱动器连接器通常在磁盘背板的两面,但也有在同一面的时候,如上图中白色的SFF-8484连接器(连SAS HBA/RAID卡),和箭头所指处两个黑色的SFF-8482连接器(连硬盘驱动器)
既然要通过线缆与HBA/
RAID卡相连,主机端连接器的选择范围同样不外乎前面两页介绍的那么几种,最大的区别在于布置方式的变化——由原来受插槽间距限制而不得不“趴”在HBA/
RAID卡PCB上的状态,改为“站起来”,即垂直于磁盘背板。不要小瞧这个区别,说它至少影响了其中一种连接器的命运也不算过份。
SATA样式连接器、SAS 4i(SFF-8484)连接器和Mini SAS 4i(SFF-8087)连接器都垂直于磁盘背板放置
与SAS HBA/
RAID卡一样,磁盘背板在主机端最初用的也是
SATA样式连接器。由于是垂直放置,一个带护套的
SATA样式连接器占地面积很小,相对于磁盘背板的尺寸来说几乎可以忽略不计,像本文第3页提到的
SuperMicro SAS825TQ背板那样有8个SATA样式连接器的情况很正常,甚至16个也不显多。但是,线缆多而杂乱、PCB布线分散等SATA样式连接器固有的问题是无法避免的——毕竟,对于SAS来说,SATA样式连接器只是一种过渡方案,现在已经没有存在的必要。
如果并肩“站”在磁盘背板上,SFF-8484(中)并不比SFF-8087(右)逊色多少
接下来依然是SFF-8484连接器。前面我们说过,SAS 4i最大的罪状就是太占用SAS HBA/
RAID卡的PCB空间,但那是在它“趴下”,插拔的方向与PCB平行的时候。当SFF-8484插头竖立放置的时候,虽宽度依然,但厚度仅与带护套的
SATA样式连接器持平,小于SFF-8087插座。
SFF-8087插座直立于SAS
RAID卡PCB上的情景,可见其高度明显超出了
RAID卡插槽挡板的宽度,即使没有接上SAS线缆,相邻的PCI插槽也已经无法使用……不过,这款产品是Intel专门针对OEM市场开发的SROMBSASFC,所安装的位置只有一个插槽,不用担心上述问题
至于高度,SFF-8484插座反而比SFF-8087插座更低矮,处于结合状态(插头进入)时也只是大致相当。综合来看,磁盘背板的特殊性很好地掩盖了SFF-8484连接器的不足,SFF-8087连接器的优势远没有在SAS HBA/
RAID卡上时明显,这大概是SFF-8484至今仍未被“坐卧均可”的SFF-8087淘汰的主要原因。
上图左为Adaptec为IBM xSeries 460服务器提供的IBM ServeRAID 8i SAS RAID卡,由于要水平安装,两个SFF-8484插座垂直于PCB放置,占用空间大为减少——不过,这种做法不具普遍性,因为多数SAS HBA/RAID卡设计时要考虑相邻的扩展插槽,SFF-8484插座必须平行于PCB放置(即前面所说的“趴着”);上图右则是IBM xSeries 460服务器磁盘背板上的SFF-8484连接器
除了方便
硬盘驱动器的插拔之外,磁盘背板还有助于双端口功能的实现。本文第3页我们探讨过双端口的问题,无论磁盘背板上使用哪一种主机端连接器——
SATA样式、SAS 4i还是Mini SAS 4i,只要有相应的布线配合,都可以实施双端口,但是必须遵循以下两条原则:
· 主机端连接器的端口总和应两倍于SFF-8482连接器的数量;
· 同一个SFF-8482连接器上的两个端口,信号源应来自于不同的主机端连接器。
但是,在实际应用中,我们很少能看到上述“双端口原则”的体现。道理很简单:基本上只有
服务器才会采用
SATA样式、SFF-8484或SFF-8087连接器作为磁盘背板的主机端连接器,但
服务器通常无须支持双端口功能;双控制器的
磁盘阵列需要双端口功能,但这些控制器普遍通过无线缆的CompactPCI接口与背板连接,不存在单独的SAS连接器,只能从另一面看到供
硬盘驱动器使用的SFF-8482连接器。
磁盘阵列背板上的SFF-8482连接器,节省空间,有利于硬盘驱动器的通风散热
最后需要补充的一点是,上面的很多讨论,都有一个假定的前提,即主机端连接器提供的端口数,和(驱动器端)的SFF-8482连接器数量相等,或者两倍于后者(双端口情况,此时两面的端口数相等)。但实际上,考虑到磁盘背板上可以放置Expander(扩展器)以提高连接驱动器的能力,来自SAS HBA/
RAID卡的端口数(提供给主机端连接器)有可能会少于SFF-8482连接器的数量。当然,这已经偏离了我们讨论的主题,故不再深究。
外部连接器(上):SAS 4x 偷师InfiniBand
服务器使用SAS HBA连接SAS
RAID盘柜,或者通过SAS
RAID卡连接SAS JBOD盘柜,以及
磁盘阵列控制器连接SAS磁盘扩展柜,都是在机箱外部的连接,插头和线缆的屏蔽及数米的连接长度是必须满足的两个条件。
SFF-8470连接器有两种不同的固定方式——InfiniBand常用的卡笋式(上)和SAS选择的螺栓式(下)
尽可能地利用现有技术,快速投入使用是SAS从一开始就贯彻的原则,无奈过短的传输距离和有限的特性注定了外部连接不是
SATA应该考虑的问题,当然也不会有现成的外部线缆让SAS借用——要知道,那时候还没有e
SATA。幸运的是,InfiniBand早已在外部连接领域探索出了一条成功之路,从1X到4X,乃至12X,非常丰富。我们知道,外部线缆需要屏蔽,成本相对较高,SAS毕竟不比InfiniBand,单端口配1X线缆只有3Gb/s的带宽,显然不太划算;而宽端口配4X线缆则可以提供12Gb/s的带宽,一举跨越“万兆”(10Gb/s)的门槛。因此SAS外部连接器和线缆从一开始就踏上了4x的整合之路,亦可算是因祸得福。
SAS采用的SFF-8470插头(左)和插座(右)引脚定义
InfiniBand 4X连接器遵循的是SFF-8470规范,该规范设计了两种连接器的固定方式,InfiniBand采用了卡笋式,即插头上的簧片卡在插座上的缺口中,轻按簧片即可快速解脱
——第5页提到的3ware 9550SX-12MI-I SATA RAID卡上的内部连接器就是它。螺栓式则需要把插头上的螺丝拧入到插座上的螺母中,受到了SAS的青睐。
SAS的SFF-8470插头(左)和连接后的状态(右)
由于螺杆较长,SAS外部插头可以从后端拧松,好处是两个插座可以近距离并排放置,缺点是螺母的存在使插座宽度较大,而且要拧多圈才能解脱,不利于快速插拔,总的来说是弊大于利。总的来说,笔者认为SAS在SFF-8470的两种固定方式中选择了缺点较多的一个,从而为其被SFF-8087所取代埋下了祸根。
SFF-8470和SFF-8484的经典古董内外配
SFF-8470连接器出现在SAS HBA/
RAID卡上的时间比SFF-8484连接器稍晚,但总的来说属于同一时期的产品,一款“内外通吃”的
RAID卡如果内部采用了SFF-8484插座,那外部就必然是SFF-8470插座。既然“主内”的SFF-8484连接器被称为SAS 4i,“主外”的SFF-8484连接器也就顺理成章地有了个SAS 4x(external,外部)的名号。
外部连接器(下):Mini SAS 4x 扬长避短
既然SAS 4i遭遇了Mini SAS 4i的挑战,那么SAS 4x是否也会受困于Mini版呢?答案是肯定的。前面早已介绍过,以SFF-8086规范为基础,衍生出来了两个连接器规范,SFF-8087因用于内部连接而被称为Mini SAS 4i,用于外部连接的SFF-8088自然就是Mini SAS 4x了。
SFF-8088插头(左)和插座(右)结构图,由于后者的引脚埋藏较深,导致前者的可插入部分明显长于SFF-8470
其实,与SFF-8484插座相比,SFF-8470插座主体结构的宽度算是相当的合理了,可问题就出在旁边的两个螺母上——既明显增大了宽度,用起来还特别麻烦。于是,便有了SFF-8088的用武之地。
两个并排安置的SFF-8088插座(上),占用的挡板面积比一个SFF-8470插座(下)大不了多少
SFF-8088号称Mini SAS 4x,其实接口电气连接部分并不比SFF-8470小,但好就好在“全都在这里了”,没有多余的零碎。所以,两个SFF-8088插座可以紧紧相邻,占用的宽度仅相当于两个SFF-8470插座的三分之二,插拔也是非常的简易,可谓既省空间,又省时间。
呈插入状态的SFF-8088连接器,可以看到,插头的长度并不比SFF-8470短,插座的长度更是在SFF-8470的两倍以上
需要指出的是,就整个插座的体积来说,SFF-8088并不比SFF-8470小,反而还要大出来很多,这主要是因为前者的接口电气连接部分都深埋于插座内部,而不像后者那样外露,因此占用PCB的纵深很大——甚至不逊色于SFF-8484插座。但是,与内部连接器相比,
外部连接器只能布置在金属挡板所在的一侧,所以插座的宽度是必须优先考虑的因素。以SAS 4x插座(SFF-8470)的体型,半高(LP/MD2)规格的SAS HBA/
RAID卡断然没有可能安置两个,只有Mini SAS 4x才能满足板卡小型化的需求。
从这个角度不难看出,SFF-8088插座和SFF8087插座仅仅是外壳不同,里子都是一样的(SFF-8086)
上一页已提到过,SFF-8088和SFF-8087连接器内部的接口电气连接部分是相同的——都基于SFF-8086规范,差别主要在于外壳的构造,包括屏蔽的有和无。不过,SFF-8088连接器的人性化设计就体现在这个外壳上:扣具十分牢靠,同样是插入到位即获得良好的固定,而在解脱时只需扯动拉环或按下释放按钮,便能轻松地拔出。不仅易用性远远超过通过螺丝固定的SFF-8470,动作的可靠性也明显在SFF-8087之上。
SFF-8088连接器依对齐位置不同分为两种情况,"In" Key的标识是圆形,而"Out" Key的标识是菱形,不同标识的对齐插槽(Key slot)位置也不一样。其实,SFF-8470就有类似的情形,不过,对于我们来说,还不需要太过关心这样的问题
化繁为简:Mini SAS 4i 至关重要
让我们来算一下可能会用到SAS连接器的设备吧——SAS HBA/
RAID卡、SAS
硬盘/磁带驱动器、磁盘背板、SAS盘柜(
RAID/JBOD),大致是4种;与SAS相关的连接器规范——
SATA样式、SFF-8482、SFF-8484、SFF-8470、SFF-8087和SFF-8088,有6种之多……由此看来,SAS线缆的复杂多样,简直是必然的。
SAS HBA/RAID卡到磁盘背板的连接,有6种SAS线缆组合,和9种连接情境。但在SFF-8087主导SAS HBA/RAID卡连接器的大趋势下,最后会简化为3种线缆(③⑤⑥)和右侧的3种连接情境
不考虑驱动器和盘柜,仅仅SAS HBA/RAID卡到磁盘背板的连接,就产生了6种两端不同连接器组合的SAS线缆,可能的连接情境多达9种。不过,前面几页已经提到,SFF-8087连接器将在SAS HBA/RAID卡和SATA RAID卡(不考虑端口数少于4个的SATA HBA或板载应用)占据主流地位,未来纯粹的SATA线缆不会继续用于连接磁盘背板,即上图中线缆①(SATA-SATA)和对应的1种情境将会消失;更进一步,线缆②(8484-SATA)和对应的2种情境将会越来越少见,线缆③(8087-SATA)和线缆⑤(8087-8484)也会各减少1种情境,线缆④(8484-8484)甚至不再需要……最后,剩下由SFF-8087连接器主导的3种线缆(③⑤⑥,线缆另一端分别是SATA样式连接器、SFF-8484连接器和SFF-8087连接器),以及SAS HBA/RAID卡采用SFF-8087插座的3种连接情境。
随着SFF-8087日渐强势,以后,我们有望不再需要这么多种SAS内部线缆
当然,如果让SAS HBA/
RAID卡直连SAS驱动器,又会多出3种“一拖四”的SAS扇出线缆:驱动器端是4个SFF-8482连接器,配合SAS HBA/
RAID卡的一端分别为
SATA样式连接器、SFF-8484连接器和SFF-8087连接器(两者均属插头)。本着SFF-8087统治SAS HBA/
RAID卡的原则,也可以只留一种SFF-8087连接器
扇出(fan-out)为4个SFF-8482连接器的SAS线缆。综合起来,
我们或许可以仅维护4种用SFF-8087连接器配合SAS HBA/RAID卡的SAS线缆。
3种SAS外部线缆,4种可能的连接情境,可以看到SFF-8088插座确实比SFF-8470插座占地方,但SFF-8088的明天更美好
由于仅涉及两种连接器规范(SFF-8470和SFF-8088),SAS外部线缆只有3种,即两端连接器相同的8470-8470和8088-8088,以及连接器相异的8470-8088,其中后者能够有两种连接情境,因此可能的连接情境为4种,远没有内部线缆那般繁琐,更不会涉及fan-out的问题。如果SFF-8088能一统江湖,留一种SAS外部线缆就可以了。
从这张存储服务器的SAS“生态图”来看,连SFF-8484连接器在磁盘背板上的生存空间都给剥夺了,SFF-8087连接器则是“坐卧均可”……SFF-8087与SFF-8088同属一张卡,而装备SFF-8484和SFF-8470的显然是一款早期产品
现在回过头来看,之所以会有这么多的SAS连接器规范和形态各异的SAS线缆,很大程度上是SAS技术的推动者们急于打造一个完整的SAS生态环境,从而尽快让SAS走向成熟的心态所导致的副作用。出发点是好的,摸索前进付出一定的代价也是必须的,何况通过尽可能地借鉴相对成熟的技术,SAS所走的弯路已经少了很多。但不容否认,种类过于繁杂的连接器和线缆,既不利于大批量生产降低成本,也在客观上给用户造成了很多不必要的困扰。好在,Mini SAS连接器的成熟,给我们带来了一道化繁为简的曙光……