SAS接口完全互连指南(SATA到MINI SAS发展履历)

SAS接口完全互连指南(SATA到MINI SAS发展履历)

前言:SAS线缆为什么这样多 
  罗马并非一日建成,一个规范从诞生到发展逐步走向成熟也远非一日之功。特别在IT行业里,任何技术都在不断完善自我进化,SAS(Serial Attached SCSI,串行SCSI)规范亦是如此。作为并行SCSI的接班人,SAS规范出现在人们的视野中已有些时间了。在SAS走过的这些年之中,其规范一直在改进,虽然底层协议得以保留,基本没有太多的变化,但是外部接口连接器的规格却经历了多次变迁,这是SAS为适应市场环境而做出的调整,有了这些“积跬步而至千里”的不断改进,SAS规范才日益成熟,而不同规格的接口连接器则堪称SAS发展历史的见证人。


  在这里我们有必要区分一下“端口”(port)与“接口连接器”(connector)的概念。硬件设备的端口又称接口,其电气信号由接口规范定义,而数量则取决于控制芯片(Controller IC,也包括RoC)的设计。但接口也好,端口也好,都必须要依托一个实体的表现形式——主要是引脚和接插件,才可以起到连接的作用,进而组成数据通路。因此,就有了接口连接器,它们总是成对使用:在硬盘驱动器、HBA、RAID卡或背板上的一方,与位于线缆(Cable)一端的另一方“咬合”在一起。至于哪一方是“插座”(receptacle connector,插座连接器),哪一方是“插头”(plug connector,插头连接器),视具体的连接器规范而定。


  在SATA问世之初,线缆和连接器的情况相对简单——毕竟SATA不支持端口聚合,一个端口对应一个接口连接器,线缆也就只有单路连接。SAS则不同:一开始便支持4路的宽链接(wide link),允许多达4个窄端口(narrow link)聚合为一个宽端口(wide port),并制订了相应的连接器规范。这样一来,SAS的接口连接器至少有两种了,再加上内外之别,各种可行的组合使得SAS线缆的类型多达10种以上,因此,出现“手中虽有SAS线缆,却无法将两端的SAS设备连接起来”的情况是常有的事儿。


  各种SAS线缆和连接器,要让人眼花缭乱实在是太容易了……你见过几种呢?


  所以,很有必要对各种SAS线缆的由来和用途加以详细介绍,这也是本文的主要目的。


SAS驱动器连接(上):兼容SATA
  SAS首先定义了硬盘驱动器的接口连接器,其规范即SFF-8482。由于SAS兼容SATA,既要向下兼容SATA硬盘驱动器,又不能让SATA的数据线连接到SAS硬盘驱动器上,SFF-8482规范的制订者们很是下了一番心思。
 
SFF-8482规范定义的SAS线缆端插座,引脚S1-S7是主端口,另一侧的S8-S14是从端口,而P1-P15的供电部分在SATA是分离的


  SFF-8482定义了SAS硬盘驱动器的双端口(dual port)插头,SATA数据线无法与之相连,而符合SFF-8482规范的插座(位于SAS线缆和背板)却可以随意接纳SAS硬盘驱动器或SATA硬盘驱动器。
 
SAS硬盘驱动器的双端口连接器(上-中)与SATA硬盘驱动器的连接器(下)对比


  众所周知,SATA硬盘驱动器的SATA端口和电源供应是分离的,两个连接器之间有大约2个(SATA或电源)引脚宽度的间隙。SAS的做法是打掉“隔断”,将双方连为一体,第二端口就位于这个4~5个SATA信号引脚宽度的“桥”的背面。虽然空间利用得很充分,可毕竟也要布置7个信号引脚,所以从端口(Secondary Port,SAS②)和主端口(Primary Port,SAS①)的“个头”在上面的实物对比图中看起来就像武大郎和武松一样差别明显——当然,仅是针对宽度而言,引脚定义及传递信号的能力是没有区别的。
 
SAS(上)和SATA(下)硬盘驱动器的连接器在这个投影方向上的主要区别是有无隔断,前者的轮廓包容了后者,使它们共用SAS线缆连接器成为可能


  由于SAS硬盘驱动器的接口连接器只是比SATA(加电源)多出来一个从端口,所以SAS线缆连接器很自然地就能兼容SATA硬盘驱动器,反之(SATA线缆配SAS硬盘驱动器)则因受到从端口的阻隔而行不通。这种设计能够避免SATA HBA/RAID卡(不支持后者所需的STP协议)访问SAS硬盘驱动器,从而满足了“防呆”的要求。
 
SAS线缆既可以连接SAS硬盘驱动器(左),也能够连接SATA硬盘驱动器(右)——注意红色箭头所指处缺口的有无,以及硬盘驱动器接口连接器上引脚数量的差异 


如上图所示,将主端口、从端口和电源供应融为一体的SAS线缆连接器(共29个引脚),与SAS硬盘驱动器的接口连接器一同由小型化委员会(SFF Committee)制订的SFF-8482规范(非屏蔽双端口串行附加连接器)定义,也被称为“SAS样式连接器”;与之相对应,原来用于连接SATA硬盘驱动器的信号电缆,其连接器只有7个数据引脚,被称为“SATA样式连接器”。SAS样式连接器的好处当然是用起来方便,但在连接SAS硬盘驱动器时,却也有个潜在的问题。
 
SATA数据线缆(左)与SAS的SFF-8482线缆对比

SAS驱动器连接(下):双端口实现 
  SATA样式的线缆是数据与电源供应相分离的设计,而SFF-8482规范定义的SAS插头连接器和插座连接器却不得不把主/从两个端口和供应电源的针脚整合在一起,上图中很清楚地体现出了两者的区别。需要强调的是,无论SAS还是SATA,驱动器上的都是“插头”,相配合的“插座”位于线缆一端,切记不要搞反了……
 
SAS驱动器上的双端口分别连接到两个SAS HBA/RAID卡,以提高可用性
  不过,并不是用SAS样式(SFF-8482规范)的插座与SAS硬盘/磁带驱动器的插头相连就可以实现双端口功能。我们必须明确,SAS设备端(device,主要指驱动器)设计双端口功能,初衷不是为了提高带宽,而是要防止主机端出现单点故障,提高SAS驱动器的可用性。因此,SAS驱动器连接插头上的两个端口,不能连接到同一个SAS主机控制器设备(SAS IC/HBA/RAID卡)乃至同一台主机上(SAS host),而是有主、从(Primary和Secondary)之分,分别连接到两个SAS HBA或RAID卡上,采用Active-Active(双活)模式,确保任何一个SAS HBA/RAID卡出故障时,SAS硬盘/磁带驱动器仍能被另一个SAS HBA/RAID所在的主机访问,如上图所示。
 
SAS线缆直连的典型状况——无法实现双端口
        然而,多数情况下,配合SAS HBA/RAID卡使用的SAS线缆,无法同时连接到两个SAS HBA/RAID卡上。在SAS HBA/RAID卡通过SAS线缆直接与SAS硬盘/磁带驱动器相连的时候,因为SAS规范不允许SAS硬盘驱动器的两个端口连接到同一HBA/RAID卡(前面已经说过,双端口设计不是为了增加带宽,而是高可用性和容灾的需要),所以这些SAS线缆上每一个用于连接SAS硬盘/磁带驱动器的SAS样式连接器只分配了一根单端口的连接线,如上图所示。换句话说,这样的SAS样式连接器受对外(主机端)为单路连接的限制,实际上仅有主端口是可用的,但在插入后却无法避免地将SAS硬盘/磁带驱动器的从端口一并占据,反而令双端口功能形同虚设。
 
ADP-4000 SAS热插拔背板适配器上的SAS样式连接器,用于连接SAS硬盘驱动器


  所以,若想要双端口发挥作用,SAS样式连接器通常应该出现在磁盘背板上,接纳SAS硬盘驱动器的插入,而另一侧可以是一对SATA样式连接器(分别对应SAS样式连接器的主、从端口),迎接来自两个HBA/RAID卡上的SAS线缆,实现高可用性。
 
CS Electronics出品的ADP-4000 SAS热插拔背板适配器,可以把它当作一个“迷你背板”


  正因如此,某些SAS HBA/RAID卡配套的SAS线缆,在设备一端用的不是SAS样式连接器,而是利于实现双端口的SATA样式连接器。然而,前面已经介绍过,SATA样式连接器不能插入SAS硬盘驱动器。在这种情况下,可以使用上图所示的SAS-SATA适配器:一端为SAS样式连接器,用来插入SAS硬盘驱动器;另一端(也就是面对我们的)有两个分为主、从的SATA样式连接器,对应SAS硬盘驱动器的两个端口,采用SATA样式连接器的SAS线缆插入标有“主信号”(Signal-Primary)的连接器,便可通过SAS硬盘驱动器的主端口访问,另一个(Signal-Secondary)同理类推。如果两者各连一个SAS HBA/RAID卡,还能组成高可用性配置。
 
红色椭圆圈内可以作为一个在SAS背板上实现双端口的范例——主机侧两个SATA样式连接器(上),分别对应SAS样式连接器(下)的主、从端口,如红色箭头所示


  为了进一步展示双端口在SAS背板上的实现,不妨以SuperMicro的SAS825TQ背板来加以说明,如上图。需要强调的是,作为一款主要用于服务器的磁盘背板,SAS825TQ并不支持双端口,其上的每一个SAS样式连接器只对应主机侧的一个SATA样式连接器,除非去掉半数的SAS样式连接器,否则红色椭圆圈内的情况不会出现。当然,将SATA样式连接器的数量增加一倍也可以,但过多孤立的连接器又会带来占地面积过大和不利于布线的问题。
内部连接器(上):SAS 4i 整合并塑身
  与主机端和驱动器(硬盘/光盘)端通吃的SATA样式连接器不同,遵循SFF-8482规范的SAS样式连接器只能和以硬盘/磁带驱动器为代表的存储设备一起混。因此,在构成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-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卡设计时要考虑相邻的PCI插槽,SFF-8484插座必须平行于PCB放置;上图右则是IBM xSeries 460服务器磁盘背板上的SFF-8484连接器


  除了方便硬盘驱动器的插拔之外,磁盘背板还有助于双端口功能的实现。本文第3页我们探讨过双端口的问题,无论磁盘背板上使用哪一种主机端连接器——SATA样式、SAS 4i还是Mini SAS 4i,只要有相应的布线配合,都可以实施双端口,但是必须遵循以下两条原则:
  • 主机端连接器的端口总和应两倍于SFF-8482连接器的数量;
  • 同一个SFF-8482连接器上的两个端口,信号源应来自于不同的主机端连接器。
 
采用CompactPCI接口的磁盘阵列控制器


  但是,在实际应用中,我们很少能看到上述“双端口原则”的体现。道理很简单:基本上只有服务器才会采用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借用——要知道,那时候还没有eSATA。幸运的是,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)规格的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连接器的成熟,给我们带来了一道化繁为简的曙光……

展开阅读全文

没有更多推荐了,返回首页