除了更有效的流量控制外,将控制符嵌入进数据包使得RapidIO具有PCIe和以太网目前无法提供的能力。控制符可以用来低时延和低抖动地在整个RapidIO系统中分配事件,如图2所示。
图2:RapidIO组播事件控制符和PCIe DLLP。
这一功能可以支持将公共实时时钟信号分配到多个端点或为天线系统分配帧信号等应用,还可以用于发送其它系统事件信息,以及实现多处理器系统中的调试。如图2 所示,PCIe的DLLP在每次通过交换机传送时都会引入很大的时延和抖动。相反,RapidIO协议允许在整个RapidIO架构中分配信号时具有低于 10个单位间隔(UI)的抖动性能和每次交换低于50ns的时延性能,并且与数据包业务无关。
PCIe和以太网可以选择扩展各自的规范以允许事件获得低时延的分配。引入类似控制符的概念对以太网来说是很大的进步。以太网生态系统下已有几家组织正在改进存储应用中的以太网能力,其中就可能需要用到类似控制符的概念。以太网还准备采用简单的XON/XOFF流量控制来进一步增强性能。
PCIe目前不允许将DLLP嵌入进TLP,因为这一概念不能兼容传统的PCI/X总线操作。嵌入TLP的DLLP会产生没有数据可以放置到传统总线上的周期。PCIe端点可以工作在存储-转发模式,确保数据包在转发给总线之前全部接收到,代价是时延的显著增加和吞吐量的降低。由于PCIe主要用于单处理器系统的板上互连,并且一直需要保持与传统总线标准的兼容,PCIe阵营不太可能允许DLLP被嵌入进TLP。
带宽选项
除了流量控制和链路维护外,以太网、PCIe和RapidIO在物理/链路层方面的最显著区别是所能支持的带宽选项。以太网带宽具有一代增加10倍的悠久历史。以太网目前工作在 10Mbps、100Mbps、1Gbps和10Gbps。一些专用器件甚至支持2Gbps(2.5GBaud)。下一代以太网将能工作在40Gbps和 /或100Gbps。
PCIe和RapidIO采用了不同的方法,因为板上、板间和设备间互连要求功率与数据流匹配。因此与以太网相比, PCIe和RapidIO支持更多的通道速率和通道带宽组合。PCIe 2.0允许通道工作在2Gbps或4Gbps(2.5和5Gbaud),而RapidIO支持1、2、2.5、4和5Gbps(1.25、2.5、 3.125、5和6.25Gbaud)的通道速率。PCIe和RapidIO都支持从单个通道到16个通道的通道带宽组合。PCIe规范中还支持32通道端口。对于给定的通道带宽,RapidIO端口可以提供多于或少于PCIe的带宽,因此允许系统设计人员调整系统中用于数据流的功率大小。
传输层
RapidIO和以太网标准都是模糊拓扑结构。任何端点组都可以用任何拓扑结构连接,包括环形、树形、网状、超立方体以及超复杂网络等更深奥的几何图形。数据包则根据它们的网络地址在这些拓扑中完成路由。互联网协议(IP)地址就是一种以太网网络地址。 RapidIO网络地址被称为目的识别符,简称destID。
与拓扑无关的(Topology-agnostic)协议可实现各种资源备份和冗余功能。例如,一些系统使用N+1备份策略来确保高可用性和可靠性,而不用显著增加硬件数量。(备份功能将未使用的设备作为在用设备的备份。在N+1 备份机制时,N个元件有一个共同的备份,因此当N个元件中的一个发生故障时系统可以继续工作。这个策略也被称为1:N备份)。支持不同拓扑选项还允许系统设计人员通过匹配数据路径和数据流程消除系统中的性能瓶颈。系统扩展和演变在RapidIO和以太网络中是不受约束的。
相反,PCIe在顶层支持带单个根联合体(Root Complex)的树状结构。PCIe还使用了多种路由算法,具体取决于TLP类型。PCIe支持的单路拓扑是传统PCI/X总线支持的一部分。PCIe 标准已经用多根I/O虚拟化(MRIOV)进行了扩展,进一步增加了PCIe可以支持的物理拓扑数量。然而,由于MRIOV实现代价高,是否能被PCIe 生态系统采纳还是未知数。PCIe元件还支持非透明桥接(NTB)功能,因此一个PCIe层可以访问另一个PCIe层中的确定存储范围。这种方法的系统可靠性和可用性将在后文作进一步阐述。
许多基于以太网的系统功能也受限于树形结构。例如,许多以太网实现使用不同生成树协议(STP)将可用链路组减少到树形使用链路。作为将以太网扩展到存储网络的一部分努力,协议中规定可以为以太网支持的4096个虚拟通道中的每个通道创建生成树,这样可以允许同时使用更多的链路。然而,支持4096个虚拟通道会增加交换的复杂性,可能需要更多的缓存,并增加通过交换机的时延。
逻辑层
RapidIO、PCIe和以太网在逻辑层方面也有多个差异较大的地方。最明显的区别是所支持的语义