【IT168 导购】
SAS?继续SATA!
经过多年的发展,标准化已经深入IT行业的各个角落,存储领域自然也不能例外。然而,没有一种标准可以包打天下,面对市场上共存的多个标准,如何选择,又怎样运用,实在大有学问。一味盲从标准,容易导致产品缺乏特色,陷入同质化的恶性竞争,只有懂得适当脱离标准,加入些个性化的成分,才有可能脱颖而出。AMCC(Applied Micro Circuits Corporation,应用微电路公司)9月20日推出的3ware 9550SX系列SATA RAID控制卡,在标准的选择和取舍上就很值得我们探讨。
3ware 9550SX系列(早期样品)全家福
不加限定词的话,大家通常谈论的都是工业标准。由于历史和环境变化等原因,对某一特定任务来说往往有多种工业标准可供选择,这时就要从中挑选一个最适合所面向的应用需求的标准来遵循。譬如,对企业级硬盘来说,便有FC、(并行)SCSI、SAS和SATA四种标准。
来源:Gartner Dataquest 2004~2008硬盘展望
从上图中可以看出,在未来的几年里,FC、SAS和SATA都有不同程度的增长。具体来说,PATA的接班人SATA挤占了一部分原本属于(并行)SCSI的空间,而横空出世的SAS则在取代SCSI的同时,也使FC的成长曲线趋于平缓。因此,SATA和SAS理所当然地被认为是企业级硬盘接口市场上的赢家,其中后者的潜力更大。
但是,SAS的发展潜力更大并没有动摇AMCC继续让3ware品牌RAID卡走SATA路线的既定方针。对此我们可以从不同的角度来猜测,譬如:性能相对论——3ware品牌在SATA RAID卡中以性能著称,可与SCSI(SAS)RAID卡来比却恐有班门弄斧之嫌,搞不好会自讨苦吃;时机未到论——SAS的市场还没有真正形成,待培育一段时间达到足够规模之后,再切入可以减小风险……
AMCC当然不会说他们就是那么考虑的,该公司认为,较之于SCSI硬盘,(S)ATA硬盘每GB的成本占有绝对优势,在当今企业级分层存储架构中的重要性日益突出。这本不是什么新鲜观点,可AMCC提供的10年来SCSI硬盘对(S)ATA硬盘每GB成本比率变化的趋势线却颇有研究价值。
来源:www.dirtcheapdrives.com和公司内部数据
从上图可以看出,这个统计始自1995年6月1日,而一直到2001年12月1日——也就是在SCSI硬盘对ATA硬盘(那时市场上还没有SATA硬盘)每GB成本比率从2.0升至4.0的这一段时间,笔者已经在2002年年初所写的名为《提速、瘦身、多元化--硬盘大时代之产品篇》的2001年硬盘市场回顾文章中详细描述了导致这种变化的两大原因:其一是7200RPM的转速正在从SCSI硬盘市场消失,其二是SCSI硬盘的盘片数量大幅度减少。直接后果就是,从2002年起,10000RPM成为SCSI硬盘的起步转速,容量纪录则开始由(S)ATA硬盘保持。换言之,SCSI硬盘在(平均)价格提高的同时减小容量,(S)ATA硬盘的成本优势想不扩大都不行!
那么,在2002年以后,这个比率继续上升,目前甚至已冲向6.0的大关,又是为什么呢?AMCC资深产品行销经理巨擎天(C. T. Chu)先生在与笔者交流时将原因归结为SAS的出现。确切地说,为了迎接向SAS的转换,硬盘供应商们或多或少地对现有的并行SCSI硬盘的产量予以控制,这在客观上抬高了SCSI硬盘的价格(或曰正常的价格下降被放缓了)。偏偏SAS硬盘的市场化步伐比最初的计划晚了至少一年,到现在都还没能实现批量供应(新技术的推广者在时间的判断上过于乐观是常有的事),加剧了这种不平衡。
这样看来,只要SAS硬盘的产量跟上来,局面就可以得到缓解了?好像也没有这么简单。巨擎天先生认为,SCSI和FC是硬盘厂商主要的利润来源,作为(并行)SCSI的接班人,SAS出现后也要保护市场,所以价格不会有明显的回落。况且,SAS的出现将会催生2.5英寸企业级(SFF)硬盘市场,而后者的容量明显更小,每GB成本也将更高。他预测,SAS硬盘对SATA硬盘每GB成本比率最终将会稳定在4与5之间(这也符合SCSI向SAS的转换是个临时性影响因素的逻辑)。
SATA Ⅱ,也SATA 2.5
既然已经决定了选用哪种标准,接下来的问题应该就简单了——选择该标准的最新版本呗。这样看来,3ware 9550SX系列支持“SATA Ⅱ”似乎是顺理成章之举。
在多用户硬盘应用中,对3.0Gb/s的发展势头比较看好
之所以给SATA Ⅱ打上引号,很大程度上是因为SATA Ⅱ不是某个单一的规范,而是一组规范的集合。正如笔者曾经指出过的,这些规范有既针对主机端也针对设备端的(如3.0Gb/s和NCQ),还有仅针对主机端(包括线缆/连接器或背板)的,所以实际上很难有任何一款具体的产品能够支持所有的SATA Ⅱ特性。这样一来,就有可能出现两个都号称支持SATA Ⅱ的产品在互操作时却无法发挥出SATA Ⅱ功能的现象——譬如,一款仅支持3.0Gb/s的主机控制器和一款仅支持NCQ的硬盘驱动器(或反之)连接到一起……
不过,要避免出现上述现象倒也不难——无论主机控制器还是硬盘驱动器,都把SATA Ⅱ规范中自己能支持的全都招呼上就可以了。也就是说,硬盘驱动器要同时支持3.0Gb/s和NCQ(Native Command Queuing,本机命令排队),主机控制器还要加上端口多路器(Port Multiplier,PM)和端口选择器(Port Selector,PS)。
3ware 9550SX系列产品外包装
笔者今年3月曾与巨擎天先生有过一次交流,当时他指出,一款“真正的SATA Ⅱ”主机控制器必须同时支持3.0Gb/s、NCQ、Port Multiplier和Port Selector——基本上囊括了SATA Ⅱ规范中所有对主机控制器有意义的功能。不过,时隔半年之后,他虽然还坚持上述观点,但对PM和PS的重要性已不再那么强调,因为厂商们倾向于用SAS中相对应但却强大得多的功能来代替。
如果把SATA的PM比作Hub,那SAS的Expander(扩展器)就相当于交换机和路由器,连接和扩展能力的高下一目了然。至于PS,其所起到的作用类似于SAS的双端口(dual port),提供到硬盘的冗余链路以避免单点故障,满足高可用性的要求。然而,SAS支持Active-Active(双主动)冗余双控制器,SATA却仅支持Active-Passive(主动-被动)模式,相比之下存在着一定的局限性。虽然有些厂商开发了支持Active-Active的主机控制器,但已超出了SATA Ⅱ规范,也不符合SATA解决方案相对注重成本的理念。
从另一个角度来看,需要大量连接或高可用性的应用,不出意外的话亦会选择专门为此设计从而具有足够能力的SAS,而不是先天不足再怎么大补也提高有限的SATA。
8端口的9550SX-8LP
当然,这倒不是说PM和PS全无意义——尽管笔者一直认为,由于SAS兼容SATA,SATA Ⅱ本来就没有必要画蛇添足——多少能有一些场合让它们发挥作用,最不济也是个聊胜于无。而对3ware 9550SX系列这样的主机控制器来说,关键在于支持SATA Ⅱ的全面性——必须具备的3.0Gb/s和NCQ都有了,PM和PS就算用不上也至少不会带来什么副作用。
虽然已沦为“难兄难弟”,PM和PS现今的地位其实还是有一定差别的。PM的共享上行带宽设计的确挺像Hub,但在实际应用中却未见得没有市场,尤其对台式机、笔记本电脑来说,PM上所连接的设备同时工作的可能性不是很大,如果PM的上行带宽是3.0Gb/s,就更不成问题。这样一来,能够以较小的代价使可连接的设备数量成倍增加,起码对个人用户是很有吸引力的。反观PS,则多少有些高不成(可用性比不上SAS)低不就(个人用户没必要)的尴尬了。
正因如此,SATA-IO(Serial ATA International Organization,串行ATA国际组织,原SATA工作组)在一个月之前宣布完成的SATA 2.5规范,就在收录了原先SATA Ⅱ所辖的大部分功能——3Gb/s、NCQ、交错启动(Staggered Spin-up)、热插拔(Hot Plug)、端口多路器(Port Multiplier)及外部SATA接口(eSATA)——的大背景下,惟独“遗漏”了端口选择器(Port Selector)……
与SATA Ⅱ正相反,SATA 2.5是单一的强制性规范,只有支持其所包括的全部功能才能冠以“SATA 2.5”的前缀。3ware 9550SX系列符合SATA 2.5规范的要求(甚至还多支持一个PS),因此其数据表中有一条“支持先进的SATA 2.5规范”不足为奇,本站也在报道该产品发布的新闻标题中用上了“支持SATA 2.5”的描述。不过,作为真正意义上的“最新版本”,SATA 2.5规范尚需SATA-IO按照规章制度最终批准,预计正式公开要等到11月,现在还不是深入宣传的好时机。
厂商标准要取舍,敢对Intel说No
工业标准当然要大力支持,至于厂商标准则不宜一味盲从。所谓厂商标准,这里指某行业领先厂商的强势产品在市场上所形成的事实标准。Intel的IOP就是典型的例子。
IOP即I/O Processor,是专门用于I/O的处理器。如果将RAID卡比作计算机系统的主板,则IOP不仅对应CPU的角色,还起到芯片组的作用。有了IOP,再配上适当的接口芯片(并行SCSI、SAS或SATA),RAID卡的硬件构架就基本成形了,厂商可以将主要精力集中在RAID软件的开发和后期测试上。
Intel的IOP从i960家族开始不断发展壮大,直到现在基于Intel XScale架构的IOP300系列。由于Intel是积极推动各种工业标准的行业领导厂商,其IOP吸纳各种标准的速度非常之快,基本上选择最新型号的Intel IOP即可获得对流行工业标准的支持。譬如:IOP331支持PCI-X(1.0),IOP332/333支持PCI Express(PCIe),三者都支持DDR 333/DDR2-400内存和RAID 5运算需要的XOR引擎,IOP331/333还支持RAID 6硬件加速。这样一来,RAID卡厂商的工作可以说是大为简化。事实上,随着Intel IOP的普及,近年来RAID卡市场上活跃的厂商数量不断增加,客观上也起到了降低进入门槛的作用。
Intel IOP333 I/O处理器逻辑组成
显然,Intel正把它在PC领域取得成功的商业模式推广到存储领域来。不过,IOP也继承了Intel CPU的通病——过于通用化,这一点在应用性质相对单一的I/O处理上暴露得尤其明显,甚至一些专门设计的ASIC反而会有更好的性能表现。从上图中可以看出,IOP333的DMA通道只有2个,对于I/O处理来说未免有不敷使用之虞。
3ware Escalade 8500-8 SATA RAID卡
3ware很早就意识到了Intel IOP的局限性,因此在其RAID卡中采用了独有的StorSwitch架构。笔者在2002年年底曾经测试过3ware的Escalade 8500-8 SATA RAID卡,如上图所示,圆圈A中标出的芯片为负责数据处理的“P-Chip”,相当于IOP;圆圈B中标出的芯片为负责硬盘接口的“A-Chip”,P-Chip和A-Chip组成了StorSwitch架构。作为第一代SATA RAID卡,Escalade 8500-8的A-Chip支持4个并行ATA(PATA)通道,通过Marvell 88i8030桥接芯片连接SATA硬盘驱动器。圆圈C中是存储及装载Firmware的功能区,一颗ST10172L MCU(微控制器单元)负责执行代码。
在2004年3月被AMCC收购前夕,3ware完成了9500S系列的设计。与8500系列相比,采用第6代StorSwitch架构的9500S系列支持的内存从2MB或4MB SRAM改为128MB或256MB ECC SDRAM,由一颗50MHz的NEC处理器执行Firmware,并支持电池备份单元(Battery Backup Unit,BBU)。9500S的P-Chip内部有14个DMA通道,每台硬盘驱动器分配一个的话还能保留2个自己使用。9500S系列仍然通过Marvell 88i8030实现对SATA的支持,自然也还不能支持已逐渐兴起的SATA Ⅱ。总的说来,9500S系列在P-Chip和A-Chip的搭配方式及支持的硬盘驱动器数量等架构方面的变化不算很大,进一步提高性能似乎是其主要诉求。
9550SX-8LP的接口控制芯片及连接器
从这个角度上看,9550SX系列虽然型号上的变化不大,架构上的改动可不小:外部总线从64位/66MHz PCI升级为64位/133MHz PCI-X,支持DDR2-400 SDRAM,最多16个SATA端口。当然,支持正当红的SATA Ⅱ也可算一条,这自然要归功于采用Marvell 88SX6081作为A-Chip。Marvell 88SX6081是8端口的“SATA Ⅱ”控制芯片,2颗即可提供16个端口,与之前用3颗3ware的PATA控制芯片支持12端口的作法相比要节省不少空间。
P-Chip实际上就是3ware的IOP
不过,最关键的改变还是P-Chip,PCI-X和DDR2-400都要拜它所赐。据巨擎天先生介绍,这颗顶着AMCC“帽子”的芯片内部有32个DMA通道,本来留给硬盘驱动器16个就可以了,多出一倍主要是为PM(端口多路器)准备的,但现在看来PM的应用状况并不理想。
总线从64位/66MHz PCI升级为64位/133MHz PCI-X、DMA通道从14个增加至32个、内存从PC100 SDRAM跃升至DDR2-400 SDRAM是第7代StorSwitch架构的主要特征。尽管如此,Firmware却只是改进而并没有换代。巨擎天先生介绍说,3ware SATA RAID卡的Firmware都是用C语言编写的,9550SX系列主要是把编译器从NEC换成PowerPC的重新编译了一下,因此它还可以使用9500S的驱动程序。
200MHz的PowerPC 405CR及其内存
编译器之所以要换成PowerPC的,原因在于负责执行Firmware的处理器是PowerPC 405CR,这颗200MHz的嵌入式处理器能够以更快的速度执行Firmware,有助于提高性能。2004年5月,AMCC从IBM手中获得了PowerPC 400系列的知识产权和产品线,自然没有放着不用的道理。
不管Firmware有多大的变化,硬件构成的全面升级都是毋庸置疑的。因此,9550SX系列RAID 5读取的性能超过800MB/s,写入也超过380MB/s。相比之下,9500S系列RAID 5读取的性能为410MB/s(使用8台硬盘驱动器,再增加也没有用,因为已差不多把64位/66MHz PCI用到极限),写入则不超过110MB/s,因此3ware宣称有超过200%的性能提升。
为了进一步证明第7代StorSwitch架构的优越性,3ware用9550SX-8LP与同样8端口、支持SATA Ⅱ(也基于Marvell 88SX6081控制芯片)但却采用Intel IOP331的LSI逻辑(LSI Logic)MegaRAID SATA 300-8X进行了对比,数据显示有2倍以上的性能优势(测试环境同上)。不过,对于这种厂家所做的对比测试,我们不建议作为采信的依据。
在IOP部分“自力更生”的情况下,9550SX系列在外部总线(PCI-X)、内存支持(DDR2-400)、SATA Ⅱ等主要规格方面都已经达到了基于Intel IOP的SATA RAID卡中的佼佼者的水准,AMCC又有PowerPC 440的储备,未来一段时间内也不用担心处理能力不足,看来3ware SATA RAID卡的“独木桥”是要坚定地走下去了。可是,转过头想想,“Intel阵营”的SATA RAID卡已经开始忙活PCI Express和RAID 6了,难道好不容易“跟上潮流”的3ware又要被甩下?
对于笔者“何时推出9550SE(个人推测的PCI Express版本,因为如‘X’代表PCI-X,则‘E’对应PCI Express)?”的提问,巨擎天先生表示,目前主板上的PCI Express插槽以×4居多,其带宽(单向1GB/s,对RAID应用来说双向意义不大)与PCI-X 1.0基本相当,必要性不是很大。PCIe ×8的带宽两倍于PCI-X 1.0,可以进一步发挥9550的性能——9550SX使用12台硬盘驱动器就已接近PCI-X 1.0实际带宽的极限(800MB/s),16台硬盘驱动器基本上不能再带来提高了。问题是现在虽然可以找到×8的插槽,但很少有主板具备1个以上的插槽,而允许最多4块卡共存于同一系统乃是3ware SATA RAID卡的一大特点。巨擎天先生认为,PCIe ×8插槽可能要到明年下半年才会比较普及,所以估计“9550SE”也不会过早推出。
至于近来受到厂商热捧的RAID 6,巨擎天先生认为迟早大家会比较看重,但现在并不急于推出,因为特别需要的客户还不多。他同时表示,RAID 6对性能影响较大,与RAID 5相比,读性能下降15%~25%,写性能有时会下降33%之多,而不是有些厂商所宣称的只有1%的性能下降。总的说来,RAID 6的性能要慢慢接近RAID 5才可以得到比较广泛的使用。
吸取营养,满足大胃口
正如前面所介绍的,在对PCI-X、DDR2和SATA Ⅱ的支持上,3ware都没有走在前列。不过,由此得出3ware对标准过于保守却也有失客观,因为当它认为迫切需要实现某项功能的时候,是不惜尝试尚未成熟的标准的。
8506-8的8个端口连接器
众所周知,连接器相对小巧、线缆较细是串行技术的一大优点,但是端口和线缆太多了也是一件麻烦事。从上面8506-8的图中可以看到,它通过将8个SATA端口分布于PCB的两面解决了占用板上空间的问题,但多达8条的线缆连接起来后显然会比较杂乱,而且影响机箱内的空气流通(虽然没有8条PATA线缆那么严重)。如果是12个端口的8506-12,情况无疑更加严重。
只4条线就已经看着眼晕了
于是,3ware在9500S系列上引入了Multi-lane(MI)的概念,这是一种多路连接,把4个SATA连接合并为一个高密度的连接器,只用一条线缆(内部当然还是包括4路SATA传输线),大大缩减了连接器和线缆的数量。连接器的设计符合SFF-8470规范,后者最先在Infiniband连接器中得到应用,后又被SAS所吸纳,但在9500S系列推出时的2004年4月,市场上还没有成型的SAS控制卡,更没有SATA RAID卡采用这种设计,惟独3ware在9500S-8MI和9500S-12MI中大胆尝试了一把。
LSI逻辑紧凑型8端口SATA RAID卡上的Mini SAS 4i连接器
一个符合SFF-8470规范的连接器肯定比4个SATA连接器要节省空间,不过相对而言它还是更适合用于外部连接,因此也被称为SAS 4x连接器。随着SAS标准的不断完善,更小巧而适于内部应用的Mini SAS 4i(SFF-8086和SFF-8087规范)连接器出现了,同样是4个连接器的功能,它只占用相当于2个叠加的SATA连接器的空间。
9550SX-16样品图片
顺应形势的发展,3ware在16端口的9550SX-16中也采用了符合SFF-8087规范的连接器,这样的话只要4个就可以了。不过,9550SX-16要到明年年初才会推出,因为要等待SFF-8087连接器在今年年底量产。
带有电池备份单元(BBU)的9550SX-12
在那之前,12端口的9550SX-12会先推出采用SAS 4x连接器的版本9550SX-12MI,将连接器的数量从6个减少到3个。目前所采用的2个SATA端口叠加在一起的连接器不仅节省的板上空间有限,连接所需的SATA线缆数量也没有减少,对机箱内空气流通的不利影响依然存在。
红色框中的两个SATA端口是不起作用的
至于9550SX-8LP(Low Profile,低矮型),则因为8个端口不算太多,无福消受SFF-8087。
9550SX家族成员及价格
最后让我们再检阅一遍9550SX家族的所有成员吧,需要注意的是,本文中所提供的9550SX-12和9550SX-16的图片都是早期样品的,根据我们对9550SX-8LP样品图片与实物的比较,在内存等非核心部件的布置上会与最终产品有些出入。