存储 频道

存储接口:从并行转串行之趋势分析

    【IT168 专稿】目前,我们经常接触到的存储接口有很多种,如ATA、SCSI、USB、以太网、FC和InfiniBand等等。这些接口基本可以分成两个层次,即本地接口(直接连接磁盘的接口)、阵列或网络接口(连接阵列和网络的接口)。类似USB这样的接口一般被用于终端设备连接,即在设备上使用桥接器实现接口转换。而在网络层面,主要使用光纤通道、以太网络和InfiniBand。

    以太网不仅广泛应用于存储区域网络(SAN),还被用来构建网络附加存储(NAS)。目前的一种新趋势是,在IP协议的基础上使用iSCSI协议或SCSI命令进行数据传输。这一趋势有可能会推动以太网络向磁盘接口层面发展,最终允许磁盘直接连接到网络交换机,就像FC磁盘技术的发展一样。

    就本地存储接口来看,一个非常重要的趋势就是正在迅速地从并行向串行转变。为此,系统设计师需要深入了解新技术带来的变化,认真评估新技术对存储空间、参数设置和存储应用的影响。

一、从并行走向串行

    目前存储接口并行转串行的主要有两个:一个是PATA接口(即并行ATA)转向SATA接口(即串行ATA),另一个就是SCSI接口(即并行SCSI)转向SAS接口(即串行SCSI)。在过去的15年,并行ATA和并行SCSI接口一直在存储设备领域占据着统治地位。而且这两种接口本身也一直在不断发展,现在ATA的传输速度已经提升到了133 MB/s,而Ultra320 SCSI则达到了320 MB/s。

    ATA和SCSI两种接口由并行转向串行后,也就意味着SATA和SAS可以共享同一种物理接口。尽管ATA和SCSI的并行电气接口、连接器和针脚完全不同,但是转向串行后的SATA和SAS在连接器和电气接口方面则是一致的。

    这些串行接口可以实现更高的带宽、更好的物理特性和更高的性能。而一项被保留下来的重要特性就是,端口层面的接口指令集在很大程度上与原来的相同,并向后兼容ATA和SCSI的指令集。

    串行接口的一个主要不同是在命令和数据的封包方面:两者都以串行的方式传送。SAS端口分为四层:物理层(PHY)、链路层(LINK)、端口层(PORT)和传输层(TRANSPORT),封包发生在端口层。在端口层,接口的设计是透明的,这样软件就可以直接识别出ATA或SCSI设备。

    SATA和SAS使用的连接器最初源于InfiniBand。SFF(Small Form Factor)委员会负责制订相关规范。目前的连接器版本包括SFF-8482、四端口的内部高密连接器的SFF-8484、四端口的外部高密连接器SFF-8470。这些连接器主要是用来连接磁盘、主机适配卡(HBA)和扩展器。

二、为什么要转向串行?

    存储接口之所以要从并行转向串行,主要是因为现有的接口面临性能瓶颈、信号扭曲和传输率不足等问题。特别是ATA接口本身的电气特性,使其受到的应用限制更为明显。另外,线缆复杂度和可服务性方面的问题也在驱动向串行的转变,如转向串行后可以支持热插拔。

    其实,并行转串行的根源在于深藏在数据背后的时钟(clock)。数据(DATA)和时钟(CLOCK)信息是通过8B/10B的编码规范结合在一起的。接口串行化,可以在增加数据传输速率的同时,消除信号扭曲问题。如SATA最开始的数据传输速率就高达1.5 Gb/s,即与设备连接的最高速率为150 MB/s。目前,SATA-II已经达到了3 Gb/s的速率。SAS允许双向传输,速率为3 Gb/s,如果使用双端口就是6 Gb/s。

三、串行带来了什么好处?

    采用串行存储接口可以获得更高的性能,支持可扩展性和可服务性,同时降低成本。另外,串行接口减少了封装的复杂度,统一了电气和物理特性,允许在同一个存储机架中使用SATA和SAS两种磁盘。

    现在,终端和设备ID的规范也已得到优化,设备选择不再需要跳线。线缆只有0.25英寸厚(图1),七根线缆的连接器也只需占用0.5英寸的空间(图2)。另外,磁盘端和主板端的标准连接器也已经出现,这种标准连接器可以支持硬盘的直接插拔,也可以支持混杂点对点线缆的互连。

    概括来看,存储接口由并行转向串行对应用的影响主要表现在:

1) 由于串行的速度更快一些,虽然当前SAS和SCSI的传输速率差不多,但下一代SAS很快能达到6GB/s,同样SATA的3GB/s也远远大于IDE的133Mb/s,因此,串行技术更加适用于VOD视频点播等对传输速度要求更高的大数据流应用领域。

2) 串行的传输线中的信号线比并行中的要少很多,如SAS只有十几根信号线,而SCSI需要68根。信号线的增多向导致信号线之间的串绕特别严重。如果SCSI要向下一代发展,对线缆的要求就特别高,长度也会缩减一半,从而限制了进一步发展的空间。而SAS向更高频率发展更为容易,从而有利于保护用户投资。

3) SAS由于可以接扩展器,因此扩展能力更强,最多可连接128*128个磁盘,这对于需要海量存储的用户来说是很有意义的。

四、SAS与SATA的对比

    随着SAS和SATA物理接口的融合,各自协议中的优势也就成为它们之间的主要差异。

    SATA设备支持单个主机,而SCSI设备支持多个发起端(initiator)或多个主机。SATA接口是半双工的,而SCSI是全双工的。本地命令队列(Native Command Queuing)曾经是SCSI的优势,但现在也开始在SATA-II中应用。

    SAS允许双端口和全双工通信,可以为磁盘提供双倍的数据传输率。SAS还允许使用扩展器(expander)来实现扩展,每个扩展器支持128个磁盘,因此最多可连接多达16384个设备。SAS协议仍然继续支持高级命令队列,来优化处理数据请求的任务排序。

    虽然SATA和SAS在接口层面上存在一些功能不同,但接口本身的差异远不及SATA和SAS设备之间的差别。与整体性能相关的最重要的一个方面就是设备本身的设计和构造。这两种设备的轴承类型、控制器带宽、控制器数量和马达转速等特性都是不同的,因此也是造成不同接口之间性能差别的关键因素。

    从市场层面来看,SATA磁盘主要还是用在桌面级存储中,而桌面存储在整个存储市场中占据了最大的一块。SATA还可以在磁盘阵列中用作近线存储设备。随着带宽的不断提升,SATA磁盘也在尽力拓展在高端市场的应用,并有可能进入一些以往一直被SCSI占据的领域。而SAS或SCSI仍然会继续占据企业级市场。业界对SCSI磁盘方案的完善已经进行了多年,但并行SCSI很快会被SAS取代。

    综上所述,存储接口由并行向串行的转变提供了更高的数据传输速率和更好的线缆规范。磁盘方面一个显著的特征就是可以实现热插拔。以后,SAS和SATA磁盘可以共享同样的连接器和线缆,使封装在本质上趋同。接口带宽会朝600MB/s的数据传输率发展。点对点、可热插拔的连接方式支持扩展器和RAID技术,从而进一步提高磁盘阵列的可扩展性。我们有理由相信,新的串行技术的出现,会为未来存储应用打下坚实的基础。

0
相关文章