太乙仙魔录霜凝和钟鸣h:高速交换设计的瑜亮情结?Rapid I/O与ASI(1):背板与机房设备的高速接口-Rapid I/O

来源:百度文库 编辑:中财网 时间:2024/04/28 13:42:46
高速交换设计的瑜亮情结?Rapid I/O与ASI(1):背板与机房设备的高速接口-Rapid I/O
(郭长佑/DigiTimes.com) 2007-1-4    
谈到电信、通信、嵌入式设备的背板(Backplane)技术,就不得不谈论目前最盛行普及的接口标准:Rapid I/O。Rapid I/O最初是由Mercury Computer Systems公司与Motorola公司(如今为Freescale公司)所共同研发成的接口技术,此研发自1997年开始进行,并以处理器间的互连为主要诉求。



 2003年5月,Mercury Computer Systems公司首次推出使用Rapid I/O技术的(嵌入式)多重电脑系统(Multicomputer System):ImpactRT 3100,图左为Mercury公司的技术长:Craig Lund,图右则为Mercury公司OEM方案事业群的副总裁兼总经理:Mark Skalabrin。(资料来源:www.mc.com)

 除了以芯片互连为主要假定外,在订立过程中也确立了三大目标:1.定义成一种轻量性(Light-Weight)的传输协议。2.对软件的冲击将有所限度。3.专注于机箱内(inside-the-box)的通信运用。

 确立了这些之后,Rapid I/O经过两年的草拟与议定,于1999年完成了首版的标准,并又经过了两年的时间,合乎与支持Rapid I/O标准的芯片才逐渐登场,包括可实现Rapid I/O的 FPGA、具有Rapid I/O接口的处理器、桥接器芯片、交换器芯片等。此后,Rapid I/O接口技术的运用也扩展延伸到电信营运级(carrier-grade)的设备上。

 不过,机房设备的背板技术并非只有Rapid I/O一种,虽然Rapid I/O是目前最盛行普及的一种,但其它高速性的接口也对其产生若干威胁,这些高速性接口如PCIe(PCI Express)、HTX(HyperTransport eXtension)、IBA(InfiniBand Architecture)等,虽然这些高速并非在初始就针对背板需求而订立,然而近年来也逐渐有跨足、延伸到背板(及高速机房设备)应用的趋势。

 标准性互通的需求

 在正式介绍Rapid I/O前,我们必须先从更前头来发出疑问:为何需要Rapid I/O?Rapid I/O的提出能满足何种需求?关于此,答案主要是:嵌入式系统需要更标准化的互连设计,就研发的需求来看,嵌入式系统需要更高的效能、更低的系统成本(包括:NRE、CAPEX、OPEX等)、更模块化的设计(须具备跨平台的再用性)、更共通的机内零组件、更分散性的处理、更标准的连接等,Rapid I/O是为了满足这些需求而订立。

 附注:NRE=Non-Recurring Expense,CAPEX=CAPital EXpenditure,OPEX=OPerating EXpenditure。

 此外,标准化的互连需要满足多项要求,包括:高效能、多重主控(分布式处理)、直接性的点对点通信、支持多种异质操作系统、支持直接内存存取(DMA)及信息传通(Message Passing)、支持复杂的连接拓朴(探索机制、备援路径—容错用途)、支持多播(Multicast)、具备高稳定度(传输无丢失、自动再训练及装置同步、系统层级的错误管理)、计时性同步(Time of day synchronization)、网络服务质量(QoS)等。而这些也正是Rapid I/O所期望满足的方向。

 Rapid I/O的三大技术特点

 为了满足上述的多项要求,经过数年研拟所订立成的Rapid I/O具有许多特点,包括模块化延展性、高速连接性、以及坚韧强固性。

 先说明模块化延展性,Rapid I/O实行阶层式的传输架构,包括实体层(Physical)、传输层(Transport)、逻辑层(Logical)等,其中在传输层上实行共通设计,即是用单一的传输层技术来因应各种不同的实体层与逻辑层。如此,Rapid I/O适合用于Chip-to-Chip(芯片对芯片)以及Board-to-Board(板卡对板卡)的背板应用中。


▲图说:Rapid I/O(或可写成RapidIO、RIO)的架构图,图中可了解Rapid I/O主要区非成实体、传输、逻辑等三个运作层(及规范),最底处则还有一个辅助层规范,Rapid I/O最大的特点在于单一性、共通性的传输层,透过此可以兼容、聚合各种不同的实体层与逻辑层。(资料来源:rapidio.org)

 其次是高速性连接,Rapid I/O的实体层可说是针对背板互连需求的设计所定义,在两个连接器(串行式Rapid I/O)间允许80cm∼100cm的联机,总体效能频宽可达10Gbps之高。

 再来是坚韧强固性,Rapid I/O具有在电信营运级的稳定性,同时也具备传输运用的交通管理机制(Traffic Management),以及支持多种协议,这同时也意味着Rapid I/O可扮演聚合(Convergence)的功效角色。

 附注:有关错误管理、多播等机制,在Rapid I/O中属于辅助性的规范标准(Ancillary Specifications)。

 Rapid I/O的实体层规格

 在Rapid I/O规范定义的阶层中,实体层是最基础的一块,且可选择并列(Parallel)或串行(Serial)的连接方式,事实上最初订立的是并列式,之后才有串行式。

 在并列方面,Rapid I/O可以选择8-bit宽或16-bit宽的并列传输,且各线都是实行低电压差动方式(Low Voltage Differential Signaling;LVDS)来传输,而传输频率在250MHz∼1GHz间,并用上双触发缘的传输技术(Double Data Rate;DDR)。

 至于串行,Rapid I/O允许同时用上1∼4个的传输巷(Lane),以及能与XAUI(10GbE Attachment Unit Interface)接口的交流电气特性耦合;在传输编码方面实行8B/10B编码法,因此将频率信号穿插在数据信号间,此与并列式的Rapid I/O有所不同,并列式的Rapid I/O有个别独立的频率传输信号。

 若再进一步了解,串行式的每个传输巷可有1.25G、2.5G、3.125G的鲍率(Baud Rate),如此同时使用上4个传输巷,并且每个传输巷都达3.125GBaud,每个Baud传递一个bit的数据,这样就可以获得12.5Gbps的频宽。不过,由于串行是实行8B/10B编码法,因此要扣除20%的频率信号,如此才是实质的数据传递频宽,所以12.5Gbps×0.8 = 10Gbps,10Gbps是目前串行式Rapid I/O(简称:sRIO)的最高速率。

 除了串行、并列的差别外,Rapid I/O的采点对点(point-to-point)的连接拓朴,支持Rapid I/O的装置可以透过Rapid I/O进行传输同步及装置训练,「训练」可以让装置以最佳化方式传输或智慧性方式传输。

 还有,Rapid I/O的传输封包具有接收妥当后的知会响应性(Acknowledge),或者接收未妥时也能进行重新尝试传递(Retry),这主要是因为Rapid I/O封包夹带着16-bit或32-bit的CRC(Cyclic Redundancy Check)查核码,可以侦错、自行更错,或在无法自行更错时能要求重新传递。而且,这些错误回复机制都是以硬件方式实现,控制相关的信息(Control Symbols)已经包含在实体层控制的主机制内,也可以嵌入到封包内。

 此外,Rapid I/O的封包有4个固定性的优先权,其中「收妥后的知会,Acknowledge」与「接收未妥请再次尝试传递,Retry」这两种响应的优先权低于「传输请求,Request」。而传输的流量控制(Flow Control)机制则是在联机层(Link-Level)实现。


▲图说:RIO的封包解说图,图中可见咖啡色为实体层封包、水蓝色为传输层封包、土黄色则为逻辑层封包,周旁标注的数字则代表每个封包字段所占用的bit数。(资料来源:rapidio.org)

 Rapid I/O的传输层规格

 Rapid I/O的交换(Switch)传输是在传输层(Transport Layer)运作,在这些阶层内,所有的逻辑层协议都使用一致、共通性的传输层档头(Header),这种作法的好处是:无论逻辑层协议如何改变,或往后推出何种新逻辑层协议,现有在传输层的交换机制都可以持续支持。

 接着,Rapid I/O的封包在传输层是如何路由、绕径(Routing)的呢?关于此Rapid I/O是以装置为基础来进行路由,每一个支持Rapid I/O的装置都可以有一个8-bit或16-bit的Device ID,如此与Ethernet或IP等作法相比,反而能让装置的分类、绕径更加简化。另外,每个Rapid I/O的装置ID都可以支持个体装置的单播(Unicast)或群组式的多播(Multicast),且多播完全在传输层实现,不需要用到逻辑层的响应机制(如:NWRITE、SWRITE、Data Streaming等)。

 还有,容错事件(Fail-Over Event)发生后只会影响路由表中最邻近的记录项,这正是装置式路由(Device-Based Routing)的好处,倘若是使用路径式路由(Path Based Routing)就无法将错误发生后的影响限缩到此种程度。


▲图说:2006年3月,Mercury公司发表该公司的sRIO(Serial Rapid I/O)方面的硅智财解决方案,该方案为具备高效能、高度弹性的核心电路,可用于嵌入式、通信、无线、存储、以及防御(国防)等应用中,同时该方案结合了逻辑、传输以及实体层,适合用来实现Endpoint或Switch,使芯片设计业者能快速设计出支持sRIO的芯片。(资料来源:www.mc.com)

 Rapid I/O的逻辑层规格

 讲述完实体层、传输层后,接下来是逻辑层,Rapid I/O的逻辑层有三种运作方式:Load(载出)、Store(存入)、DMA(直接内存存取)等,且这些运作对处理器而言是完全无法察觉感知的,如同在背景、透明地无形运作。

 此外,Rapid I/O的逻辑层中有几种运作(或称为「交易,Transaction」),包括:NREAD(读出)、NWRITE(写入,但写入后不会产生响应)、NWRITE_R(强韧型写入,要求接收端对是否接收良善进行响应)、SWRITE(串流式的写入)、ATOMIC read-modify-write(独立性读/改/写)、MAINTENANCE(维护用途,如:系统发现、探索、初始、组态配置、以及维护等运作)。

 另外,Rapid I/O还支持信息传通式的逻辑传输,以硬件方式将封包进行分段,每段(Datagram)为4KB容量,将封包打散后传递,之后再进行自动化的重组还原。而且,打散后传输若未能在要求的时限内传递到目的地,系统也会自动要求重新尝试传送。

 再者,Rapid I/O设计上可以有4个信息信箱(Mailbox),每个信箱最多可以装入4个信息信件(Letter),这表示发送装置可以一次同时发4个信息信件到同一个目标信箱。更重要的是,Rapid I/O支持门铃(Doorbell)机制,透过此机制可以传递8-bit或16-bit长度的短信息。

 除这些外,Rapid I/O也具备Data Streaming(数据串流)的逻辑层协议,一样支持拆段后传输再加以重组还原,而段落的类型上主要有三:Start(开始)、Continuation(待续)、End(完结),其中Continuation的段落只要20-bit长度的档头即可。

 还有,Data Streaming的逻辑传输中也支持「虚拟化串流」,即是可以对各串流进行辨识,透过辨识方式来实现虚拟化,让一个串流可以被视为多个串流,或者反过来,将多个串流视为一个串流。加上「通信管理框构,Traffic Management Framework」的设计,使Rapid I/O能够「端对端,End-to-End」地全程确保流量管控,并且掌控数以百万个串流。


▲图说:RIO网络中有两种「基础方块,Basic Block」:Endponts(端末者)及Switches(交换者),端末者可吞(Sink)、吐(Source)封包,交换者则负责传通两端末点间所吞吐的封包,且不需要对封包进行解译(Interpreting)。(资料来源:rapidio.org)

 未来展望

 最末,Rapid I/O在实现Chip-to-Chip、Board-to-Board的高速连接后,下一步也将迈向Chassis-to-Chassis(机箱对机箱)的连接规范,特别是Rapid I/O本身即是已可以扩展延伸的方式来设计。

 Rapid I/O不仅要跨出机箱,同时也要再提升速率,现有Rapid I/O已经达10Gbps,下一步Rapid I/O将迈向40Gbps,以及持续强化协议,使协议在传输上更具效益。


▲图说:运用RIO技术所建构成的「多服务性交换器,Multiservice Switch」,图右的灰色箭头为背板(Backplane),更右端则为结构式连接,图左的三个区块则是三个电信服务适配卡,由上至上分别有OC-12/STM-4(光纤网络)、GbE(以太网络)、T1/E1(传统专线)。(资料来源:rapidio.org)