新高性能I/O技术现状和发展趋势综述
作者:董立平
一、引言
计算机I/O技术在高性能计算技术的发展中始终是一个十分重要的关键技术。其技术特性决定了计算机I/O的处理能力,进而决定了计算机的整体性能以及应用环境。从根本上讲,无论现在还是将来,I/O技术都将制约着计算机技术的应用与发展,尤其在高端计算领域。近年来随着高端计算市场的日益活跃,看似平静的高性能I/O技术之争也愈演愈烈。尤其是当计算机主机速率与总线速率的矛盾日益突出时,新的总线技术便应运而生,演绎出一段段精彩的技术篇章,计算机I/O技术的发展开始让我们眼花缭乱。如PCI Express、InfiniBand、HyperTransport、RapidIO等高性能I/O技术的发展令人注目。而广泛应用于网络存储、高性能集群及并行计算系统的I/O技术,如Fibre Channel、SCSI Parallel Interface(SPI)、Serial Attached SCSI(SAS)、iSCSI等,更使计算机总线技术远远超出“连接功能部件”的范畴。本文试图从基本概念、体系结构、功能指标等角度全面分析新近问世的各种高性能I/O技术,以全方位展示其技术特点,帮助有关技术人员把握高性能I/O的技术现状和发展趋势。
二、新一代高性能I/O技术综述
近年来推出的新一代高性能I/O主要有:PCI Express(3GIO)、InfiniBand Architecture(IBA)、Fibre Channel(FC)、HyperTransport、RapidIO、SPI(SCSI Parallel Interface)、SAS(Serial Attached SCSI)、iSCSI、SATA(Serial ATA)等。
(1)PCI Express
PCI Express(3GIO)是一种新型串行Point-to-Point I/O总线体系。其基本目标有两个:一是提供chip-to-chip级互联的局部总线,二是以较低的开销升级现有的PCI架构性能。这一串行总线的根本动机就是通过少许引脚来实现高带宽数据传输,而不是像并行PCI或PCI-X那样。据PCI-SIG(Special Interest Group)最新公布的数据,PCI Express目前可以达到的单路单向速率是2.5Gb/s。也就是说可提供高达200MB/s的带宽,近乎是典型PCI2.2速率的2倍。今后随着硅片技术的不断发展,单路单向的数据传输速率可望突破10Gb/s,几乎达到铜介质数据传输率的极限值。此外,PCI Express通过增加信号线对还可组成X1、X2、X4、X8、X16、X32等多路I/O总线,这样一来其所能达到的峰值带宽简直是无法想像的。在提供了更高带宽的同时,PCI Express还提供了对PCI和PCI-X软件的兼容支持, 和对chip-to-chip级、I/O适配器之间以及对IEEE 1394、USB 2.0等附属接口的支持。
PCI Express的体系结构:PCI Express采用的分层体系结构使其可扩展性、模块化以及重用机制成为可能。它从体系结构上可以分为五层,从上至下分别为物理层、数据链路层、事物处理层、软件层以及Config/OS层。上面三层结构基本上与具体的操作系统无关,并且将来PCI Express速度的提高和编码策略的改变只会影响到物理层的改变。
a.物理层
最基本的物理连接包括两个低电压差分驱动信号对,即接收对和传输对。通过嵌入采用8b/10b编码机制的数据时钟,可以获取很高的数据传输速率。单根信号线可以达到2.5Gb/s的数据传输率。物理层在两个PCI Express代理之间的链路层间传输数据包。 通过增加信号线对,可以线性地扩展PCI Express的带宽。物理层可支持X1、X2、X4、X8、X16以及X32路带宽。
b.数据链路层
数据链路层的首要功能就是确保PCI Express链路上数据包的可靠传输。数据链路层负责数据的完整性和数据包的有序性,通过添加CRC校验序列可以确保数据的准确性。同时PCI Express的数据链路层支持数据包重传机制。
c.事物处理层
事务处理层接收来自软件层的读写请求,并为到链路层的数据传输创建请求包。同时,事务处理层也接收来自数据链路层的响应包,并通过原始的软件层请求予以匹配。所有的包都有惟一的标志来匹配相应的请求和响应。这些包都含有优先权属性选项。事物处理层支持四种类型的地址空间,包括内存地址、I/O地址、配置地址以及消息地址。
d.软件层
PCI Express软件层的主要特性是:PCI软件模型兼容性,包括100%的OS和驱动级兼容,提供PCI枚举、配置和电源管理机制,以及后继应用中的加强性能;面向PCI Express特定扩展的PCI可用性性能等。
PCI Express主要有以下特点:
● 相对低开销。在系统级上的开销不大于现有的并行PCI总线架构;为硅片、板卡、连接器等系统成分提供了更为广阔的发展空间。
● 支持多市场需求和应用。可以用于移动通信、桌面系统、服务器以及通信设备,也可以用来平衡上述方面的性能和相关特性。
● 支持稳定性、可升级性以及可扩展性。可支持未来至少10年的应用和技术,提供了电源管理、QoS、Hot Attache/Detach、RAS等高级特性和性能支持。
● 实现了与PCI体系结构和基础部件的高兼容性。一方面,不需要对现有的各种操作系统做任何改变就可以启动系统;另一方面,可利用了现有的系统基础架构而不需要做任何改变。
PCI Express的兼容特性在很大程度上维护了投资者的利益,其高性能又大大刺激了投资者的热情。由此可见,PCI Express技术必将有着更为广阔的发展空间。
(2)InfiniBand
InfiniBand是一种致力于服务器端而不是PC端的高性能I/O技术。随着对称多处理器(SMP)、集群计算、网格计算以及远程备份的广泛应用,基于PCI架构(主要指PCI、PCI-X)的I/O技术的缺陷日益突出,而一旦InfiniBand完全建立起来,它将会使大规模水平伸缩性和集群节点之间I/O的透明共享成为可能。
InfiniBand 从根本上区别于PCI-X的原因在于,后者是严格意义上的局部总线互连技术,而InfiniBand则是一种把网络技术引入I/O体系之中的高级互连技术,它主要用于连接服务器、网络设备和存储设备。InfiniBand用高带宽的交换式网络布局取代基于总线的PCI,并把I/O控制的责任从处理器移到了智能的I/O引擎。其目标不是用来升级现有的PCI总线结构,而是要充分发掘现有PCI-X或PCI Express总线的带宽性能。
InfiniBand所支持的关键特性决定了这种I/O技术远胜过基于局部互连的PCI-X或PCI Express等技术。InfiniBand在硬件中提供了高可靠的传输层级别的数据传输,在导线上支持消息传递和主存语义,且基于I/O通路共享机制的InfiniBand从根本上提供了一种连接计算机的新途径。通过InfiniBand连接大量的服务器可以达到各种存储设备的共享。
InfiniBand的体系结构:InfiniBand标准定义了一套用于系统通信的多种设备,包括信道适配器、交换机和路由器。信道适配器用于InfiniBand结构同其它设备的连接。InfiniBand标准中有两种类型的信道适配器:主信道适配器(HCA)和目标信道适配器(TCA)。HCA提供了一个对Web服务器等主CPU和存储器子系统的接口;而TCA则提供了InfiniBand到I/O设备的连接。交换机是InfiniBand结构中的基本组件。
一个交换机中的InfiniBand端口不止一个,它能根据本地路由器包头中所含的第二层地址将数据包从一个端口送到另外一个端口。交换机只是对数据包进行管理,并不生成或使用数据包。InfiniBand路由器用于将数据包从一个子网传送到另一子网,其间数据包的数量不会变化。与交换机不同,路由器读出第三层的全局路由头(GRH)并根据其Ipv6网络层地址来进行数据包发送。
InfiniBand结构的关键在于通过采用点到点的交换结构解决了共享总线的瓶颈问题,这种交换结构专门用于解决容错性和可扩展性问题。通过向InfiniBand系统添加交换机可以很容易地实现I/O系统的扩展,进而允许更多的终端设备接入到I/O系统。
与基于共享总线的I/O系统相反,InfiniBand系统的总体带宽会随着所接入交换设备数目的增加而不断提高。此外,通过在InfiniBand子结构之间添加路由设备,还可以更大范围地扩充整个InfiniBand系统。
除了具有很好的系统扩展性外,InfiniBand在结构上还具有另外两个非常关键亦非常重要的特性:一是低功耗,二是具有箱外带宽(PCB之外的带宽)。物理层低功耗从根本上造就了InfiniBand在集成和RAS方面的优势。同时InfiniBand技术为元件到元件提供了PCB支持,又为底板到底板提供了箱外带宽。而这种箱外带宽使InfiniBand为集群、通信、存储等连接提供了单一规范的互联支持。
目前,InfiniBand是惟一一项既可用于印刷电路板(PCB)又可通过光纤或铜缆提供箱外系统连接的I/O体系结构。此外,为了在一个子结构中管理通信,IBA还定义了一种通信管理方案来负责每一个InfiniBand单元的配置和维护。
InfiniBand的分层结构:如同软件系统的分层结构一样,InfiniBand协议也采用了一种分层结构,并且这些层次之间都是相互独立的。InfiniBand从下至上分了5个层次:物理层、链路层、网络层、传输层以及高层。
a.物理层
InfiniBand物理层定义了三种速率的连接,分别为1X、4X和12X,其信号传输速率分别为2.5、10和30Gb/ s。也就是说,IBA允许多路连接直到获得30Gbps的连接速度。由于采用了全双工串行通信方式,单速的双向连接只需要4根电缆,在采用12速方式时,也只需48根电缆线,这是非常具有吸引力的。
b.链路层
在InfiniBand体系结构中,链路层与传输层处在IBA的核心位置。链路层提供了局部子系统中的信息包设计、点到点连接操作以及包交换等功能。在包通信一级,指定了两种特殊的包类型,既数据传输和网络管理包。网络管理包提供了设备枚举的操作控制、子网指示、容错等功能;数据传输包则用来传送实际的数据信息。每个包的最大长度为4KB,在每个特定的设备子网内,每个数据包的方向和交换通过本地的16位标识地址的子网管理器完成。
c.网络层
InfiniBand的网络层提供了信息包从一个子结构到另外一个子结构的路由机制。源和目的节点的每个路由包有一个全局路由头(GRH)和一个128位Ipv6地址。网络层也嵌入了一个标准的全局64位标识,这个标识在所有的子网中都是惟一的。通过这些标识值之间错综复杂的交换,IBA允许数据跨越多个子网传输。
d.传输层
传输层主要负责信息包的按序分发、分割、通道多路技术以及传输服务等。传输层也负责处理数据包分段的发送、接收和重组。
总结InfiniBand的特性,主要包括以下方面:提供高可靠、低延迟、传输层级的连接;分层协议;基于信息包的通信机制;三种连接速度1X、4X和12X;支持PCB、铜缆、光纤互连;子结构管理协议;远程DMA支持;支持多播以及广播;可靠的传输方法——消息队列机制;通信流控——链路层及终端到终端。基于上述特性,InfiniBand必将成为服务器领域的首选I/O架构。也正因为InfiniBand的卓越性能,使它得到了Dell、HP、IBM、Intel、Microsoft和Sun等世界著名计算机公司的大力支持。
(3)Fibre Channel
Fibre Channel(光纤通道,FC)是一种高速度、高可靠、低延迟、高吞吐量的串行数据传输接口,它可广泛应用于高性能存储、大规模数据库、存储备份与恢复、集群系统、网络存储系统和数字视频网络等领域。Fibre Channel被称为多种高层数据协议的传输载体,其中尤以传输SCSI和IP数据为主。它作为载体传输高层数据协议的过程,实际上就是一个把高层数据协议映射到FC物理层传输服务的过程。Fibre Channel仅定义了连接外部设备和传输数据信号的物理方面,实现了数据分发与数据内容的有效分离。也就是说,它只关心数据的传输,这就为其传输多种数据类型提供了便利。
Fibre Channel的体系结构:FC定义了三种拓扑结构,既点对点、仲裁环和交换机,这三种结构可互操作。点对点连接是三种结构中最简单的,只须将FC设备的发送光(电)缆与另一个设备接收光(电)缆连接起来就完成了,它可提供最大带宽和全双工连接;仲裁环是FC中最主要,也是最复杂的拓扑结构,它可以无需交换机和中继器就在一个网络结构中连接126个端口。但同一时刻只有一对环端口能够进行通信,且只有在它放弃环控制权后,环中的另外两个结点才能建立起连接;交换机结构有两种开关方式,一是具有低延迟的包开关,二是具有高带宽的电路开关。
在一条连接通道中,交换机可同时建立多条直接连接通道和共享连接链路,既可以同时进行电路交换和分组交换,这正是FC之所以能实现高性能的关键所在。该结构还可以根据需要,通过加入更多并行通路的方式,实现带宽的动态调配。Fibre Channel还定义了专用不间断硬件电路连接、非连接桢交换传输服务、一对多非连接桢交换服务和基于连接的服务等六种称为类服务的通信策略,及以下几种功能管理:设备管理、任务管理、过程登录/注销管理和链接管理。
Fibre Channel的分层结构:FC由从FC-0到FC-4的五层协议栈组成,其各层的大致功能如下:
● FC-0 主要描述物理接口,包括传输介质、链接、发送器、接收器。
● FC-1 主要描述8B/10B编码技术。
● FC-2 主要描述信号传输协议,包括从一个节点到另一个节点传输数据的机制,另外还包括了寻址方法和可能的拓扑结构。FC-2层可以当做一个功能强悍的信息分发服务层。
● FC-3 主要描述有关节点的所有端口服务。
● FC-4 主要描述各种协议的映射,如SCSI、IPI、HIPPI或IP等协议。
Fibre Channel所定义的传输服务主要包含以下特点:
a.速度非常高。FC通常在1Gb/s(也就是100MB/s)的速率上运行,目前正朝着2Gb/s和4Gb/s的目标迈进,也就是200MB/s 和400MB/s速率。
b.传输距离远。长达10km的光纤连接使远程镜像和备份成为可能,即便是采用铜缆也可以达到30米以上的传输距离。
c.可扩展性和高可靠性。可以根据系统的需求灵活地扩展整个系统;其高效的编码和错误校验机制大大提高了数据传输的可靠性。
d.具有多方面的灵活性。可以载送多种协议的数据,包括SCSI、IP、ATM以及HIPPI等高层协议的数据;可以支持点到点、专有环结构和交换结构等拓扑结构;可以在单一的拓扑结构中采用光纤、铜缆等多种媒介;通过桥接设备可以实现早期SCSI与以太网的兼容。
(4)HyperTransport
HyperTransport是一种为主板上集成电路互联而设计的高性能总线,它主要定位于硅器件的连接技术,用于在离散的硅器件之间提高可靠性和连接速度,以便为内存控制器、硬盘控制器以及PCI总线控制器之间开拓出更大的带宽。HyperTransport最初由AMD公司研制,主要是面向IT业和电信行业,但对任何需要速度快、响应时间短的应用都适用。
它的设计目标是提供比目前的技术更高的带宽和更短的反应时间,并与标准的PCI总线相兼容。HyperTransport的峰值带宽可以达到51.2GB/s,这种速度极快的总线技术与现有的PCI和正在兴起的InfiniBand形成很好的互补关系。有人认为,HyperTransport必将在下一代服务器和一些通信设备内部互连方面占有一席之地。
HyperTransport的体系结构:HyperTransport采用了一种高速点对点可伸缩的体系结构,它固有的灵活性包含了非对称总线宽度。
这一特性决定了HyperTransport可以采用2、4、8、16和32位的标准总线宽度,以适应特定应用程序的I/O总线特性,支持不同的上行和下行的带宽需求。HyperTransport是一条由数据路径、控制信号和时钟信号组成的双点对点单向链路(一条为输入,一条为输出),两条单向链路的数据带宽可根据数据量的大小而弹性改变,每一条连接都可以从2到32位,且无论发送与接收链路是否等宽,HyperTransport器件都能方便地实现它们的直接连接,非常适合输入带宽与输出带宽不同的情况。
HyperTransport还采用了所谓的差动式数据传输方式,因而其运行电压极低仅为1.2V,这对嵌入式应用是非常有用的。
HyperTransport除了有灵活性、可伸缩性和极高带宽的优点外,还拥有潜在的低实现成本的优势和多设备连接功能。HyperTransport利用它的交换结构,既能提供点到点链接,又能提供可扩充的网络拓扑结构,以支持多级、高度复杂的系统。HyperTransport最多可支持31台设备。
(5)RapidIO
RapidIO是基于数据包交换结构的下一代互连技术,它能在同一协议下同时进行一般情况下的多进程I/O处理和分布式I/O处理,主要定位于超高性能系统中的芯片之间和模块之间的互连。RapidIO将软件透明度、可升级性和芯片尺寸最小化放在优先考虑的位置。RapidIO支持所有的微处理器和I/O配置,其所用的低电压差分信号传输(LVDS)技术能够达到几千兆Hz的速度,并且总线宽度高达16位乃至更多。由于RapidIO协议是由硬件实现的,因此实现了高带宽、低延迟,它可在8位字宽的数据通道上提供10Gb/s的总带宽。
RapidIO 在向单板子系统之间的内部通信提供高速机制方面与HyperTransport技术相似,只是HyperTransport技术能提供更大范围的灵活性和更大的总线带宽。
RapidIO的体系结构:RapidIO是一种脉冲开关协议,它有一个40引脚的端口,该端口具有一个全双向的8位字宽的数据通道。采用标准的低电压差分信号传输技术,可使传输速率达到10Gb/s。数据由一个源同步时钟来传输,并始终在双沿进行采样。这种互连技术可支持四个速度等级:100MHz、250MHz、500MHz和1GHz。它还将支持针对高速设备的16位字宽接口。
RapidIO的分层结构:RapidIO被定义为三层体系分级结构,即逻辑层、传输层和物理层。逻辑层主要用于界定协议和包格式;传输层主要用于规定路由选择信息;物理层则主要用于定义包传送机制、信息流控制、电器特性和低级错误管理等。
(6)SPI
我们通常所说的SPI(SCSI Parallel Interface)是指并行SCSI,它是SCSI-3协议族中的一员。目前已投入应用的最高版本是SPI的第四代(SPI-4),即商业领域统称的Ultra320 SCSI。目前,SPI的第五代也在不断完善之中。
SPI标准是从最初的SPI-1不断发展起来的。最初的SPI-1只定义了20MHz的总线信号,可提供40MB/s的速率,它在1996年就被SPI-2替代了。SPI-2除了将信号频率由20MHz提升到40MHz外,还定义了一些新的特性,包括低电压差分信号传输、多模式操作和高密度连接器等。1998年推出的SPI-3又在SPI-2的基础上,将信号频率由40MHz提升到80MHz,并定义了循环冗余校验(CRC)、域确认机制、快速仲裁选择(QAS)和包封装SCSI机制。
2001年问世的SPI-4进一步将SPI-3的信号频率由80MHz提升到160MHz,同时增加了读写数据流和流控制机制。
20多年来,SCSI应用的广度和深度都在不断拓展,被誉为总线界的长青树。目前,无论是SPI-4还是SPI-5,在充分继承SCSI传统优势和不断提高信号频率的同时,广泛采用了CRC、包封装SCSI、QAS和流控制等一系列新技术,使并行SCSI的整体性能得到大幅度提高,且更加安全可靠,为并行SCSI更好的应用奠定了坚实的基础。
(7)SAS
SAS(Serial Attached SCSI)是新近问世的一种备受业界关注的高性能串行存储接口技术,它将SATA高效的串行电气接口、光纤通道快速的交换架构和并行SCSI完善的指令系统集于一身。近年来,随着并行存储接口的复杂性不断增加、可扩展性有限、速率很难提高等问题的不断加剧,存储接口的串行化已成为未来高性能I/O技术的大趋势。事实上SAS的多级交换架构也明显地优于并行SCSI、SATA和FC-AL。
SAS的体系结构:SAS草案定义SAS互连结构,即由SAS设备对象(PHY)到SAS端口,再到SAS设备,最后到SAS域。所谓SAS域包含了SCSI域中所有I/O系统,域中的相关设备通过一个服务传输子系统即可进行通信,这就是SAS的基本通信架构。从中可以看出SAS采用的是一种层次化结构。其中包括物理层、SAS设备对象层、连接层、端口层、传输层和SAS顶层。各层的主要功能如下:
● 物理层:主要描述具体的互连结构,包括连接器、电缆、底板以及电气特性等。
● PHY层:主要描述SAS设备对象(实际上是一个收发器),包括编码、bit序列、PHY复位顺序以及PHY层状态机等。
● 连接层:主要描述原语、时钟偏移管理、空闲连接、电源管理、CRC校验、连接层状态机等。
●端口层:处在一个或多个连接层与一个或多个传输层之间,每一个端口包含了一个或多个SAS设备对象。
● 传输层:主要描述串行SCSI协议、串行ATA隧道协议以及串行管理协议的结构定义。
● 最高层:主要描述相关内容的详细特性。
基于串行接口的SAS实现了对现有并行SCSI的有效逻辑兼容,其域、设备及端口完全继承了SCSI的相应概念,但将点对点连接的距离延长至10米,而连接对象也不再局限于启动设备或目标设备。在一个SAS域中,任意两个设备之间最多可以有3个扩展器, 每个扩展器可连接64台设备,一个SAS域最多可连接4096台(64×64)设备。同时SAS还允许两个设备间建立基于多条物理连接的所谓宽物理连接,为服务器和网络存储等领域提供了大数量设备、高带宽和可扩展性支持。
(8)iSCSI
iSCSI是随着因特网技术不断发展应运而生的一种,可利用TCP/IP网络传送SCSI命令和数据的,基于网络结构的I/O技术。iSCSI既因特网SCSI可帮助用户无需花费FC那样的高代价就能构建高速存储网络。iSCSI规定了软件在互联网上传送SCSI包和在长距离上管理存储时,如何处理SCSI数据包以及如何在TCP/IP命令中封装它们。由于IP网络的灵活性,iSCSI可以在局域网、广域网或Internet上传输数据。
iSCSI的工作原理与SCSI大体类似,只是在使用iSCSI协议时,要用iSCSI启动器对文件系统解析出的SCSI命令进行封装,再打上TCP/IP报头,然后通过以太网传输到iSCSI目标器。iSCSI目标器在收到数据包后按照相反的方向进行解包,拆分出SCSI命令,并通过iSCSI主机总线适配器访问SCSI磁盘。iSCSI协议对数据的封装与TCP/IP协议对数据的封装区别不大,惟一的区别只是在数据域之前增加了一层封装,这种封装就是iSCSI封装。
此外,为了保证iSCSI协议在IP网络上的可靠传输,iSCSI还定义了命名机制、会话管理、差错处理和安全保证等功能组件。其中命名机制用于规定iSCSI节点的命名方法,以便地将IP地址与TCP端口进行绑定;会话管理用于通过登录过程来建立或中断TCP连接;差错处理用于在发生数据传输错误时可以恢复原来的数据;安全保证用于定义一些安全传输方法,如iSCSI登录阶段就提供了终端设备之间都支持的握手协议的文本域。如果握手成功,iSCSI设备之间的PDUs交换将按照适当的安全要求格式实现。
(9)SATA
SATA(Serial ATA)是一种完全不同于并行ATA的新型接口,由Intel和希捷公司共同研发推出,已于2001年8月29日,正式发布了SATA 1.0规范,目前SATA规范正在迈向更进步的Serial ATAⅡ标准。SATA 1.0定义的数据传输率可达150MB/s,而下一代SATA 标准的数据传输率将达到300MB/s,其最终将实现600MB/s的最高数据传输率。这种新型接口采用串行点对点连接,并采用了一种新的星形拓扑结构,使每个设备可独享全部带宽,从而避免了总线仲裁/冲突的开销,大大提高了传输速率。SATA的最大特点在于其信号线和引脚的数量极少,仅有2对数据线和3根地线共7个引脚。此外,SATA还具备热插拔能力,成本也比并行ATA更低。
为了加速SATA标准的开发,2002年Intel成立了SATA Ⅱ工作组。其主要任务是开发SATA Ⅱ规范,以增强SATA在服务器和网络存储市场的竞争力并提供更高的信号传输率。SATA Ⅱ在SATA 1.0基础上进行的诸多扩展中,除本机命令队列和识别设备/设置功能外,都是专门为子系统服务的。同时通过对智能输入/输出和智能平台管理总线技术的支持,进一步完善了SATA的可管理性。SATA Ⅱ规范的制定分两个阶段实施,第一阶段(2002年6月至2003年6月)主要是改进SATA 1.0以适应服务器和网络存储的要求;第二阶段(2003年6月至2004年)主要是针对更高端网络存储市场需求定义第二代信号传输率,最终实现传输速率翻番,达到3Gbps。
三、新一代高性能I/O的比较及发展趋势
计算机总线技术的发展看似平缓,缺少芯片战场的硝烟。然而,在这平静的下面也隐藏着激烈的技术竞争,同时蕴藏着巨大的发展空间。关于这一点,近年来新一代高性能I/O不断涌现就是一个最好的例证。应该说上述高性能I/O诞生都不是偶然的,它们各自都有着自己的生存空间和优势所在。很多时候,技术没有好坏之分,只有适合与否,尤其是在应用需求日趋多元化的今天,因此在今后一段时间内它们的发展可能是并行的。
但从目前已经显现的特点看,PCI Express一改传统PCI的并行总线架构,因此比其它I/O技术有着更为领先的带宽优势,随着时间的推移有取代PCI或PCI-X的趋势。InfiniBand 从结构上看与PCI Express存在着较大差异,它的目标不是用来升级现有的PCI总线结构,而是用来充分发掘现有PCI-X或PCI Express总线的带宽性能,也就是说它将致力于高端应用。Fibre Channel是一种高速度、高可靠、低延迟、高吞吐量的数据传输总线,它在高端之争中取胜靠的是连接距离长,以后也会更专注于长距离连接。作为Fibre Channel的竞争对手iSCSI虽然在成本和易用性方面占有优势,但它在短时间内还不足以取代Fibre Channel,毕竟FC协议仍然是目前世界上效率最高的存储设备通讯协议。HyperTransport和RapidIO同属内部互连高速总线,主要定位于超高性能系统中的芯片之间和模块之间的互连。它们虽各有特点,但在向单板子系统之间的内部通信提供高速机制方面极其类似,只是HyperTransport技术能提供更大范围的灵活性和更大的总线带宽。SPI和SAS则都是基于SCSI架构新型高速总线,只是SPI是并行接口,而SAS则是串行接口。据业内权威人士分析:基于并行接口的SPI已是末路狂花,其性能已近极限,不具备再度带宽翻番的能力,而基于串行接口的SAS正处于上升阶段,且已实现了对现有SPI的有效逻辑兼容,不久的将来SAS会逐步取代SPI 。
另一类基于SCSI架构的总线iSCSI则是为网络存储而生的。iSCSI与Fibre Channel一样重在远程传输,随着千兆乃至万兆以太网的应用、IP网络安全性的提高和TCP/IP协议服务质量的改善,iSCSI将会有进一步的发展和极大的应用前景。SATA是一种旨在逐步取代传统并行ATA的串行接口。SATA与SAS是两个互为补充且互相兼容的接口标准,它们在开发之初就有着某种内在的关联,两者通用的电气和物理层接口更增强了彼此间的联系,但它们所针对的领域仍然存在着很大的差异,就象SCSI一直与ATA平行发展一样,串行化之后也不会改变。