Interlaken技术新一代数据包互连协议白皮书2010-11-1223:41:36|分类:Interlaken|标签:|字号大中小订阅1.0摘要串行链接技术提高了先进通信设备的设备互连带宽。Interlaken是一项为实现高带宽及可靠的包传输而优化的互连协议。该协议使用多个串行链接,在器件间建立逻辑连接,并利用多通道、背压能力和数据完整性保护,提升通信设备的性能。该白皮书概述Interlaken的特点和实施案例研究。2.0设计目标2.1协议描述传统上,具有千兆位级吞吐量的器件的数据总线速率约为每管脚100Mbps。差分信号技术将该带宽增加了接近10倍,达至每对管脚800Mbps,从而使器件的吞吐量达到10Gbps。具有时钟和数据恢复功能的新串行技术,又将带宽增加了10倍,达至每对管脚6Gbps,从而使器件的数据流速率达到数十Gbps。相比之前的协议,该协议可减少了90%的IO管脚和PCB线路。该协议利用最先进的串行技术,以实现通信系统器件间基于包传输模式的,高速、健壮、灵活的接口,实现通信系统内器件之间的包传输。2.2带宽范围Interlaken不存在固有上限,但主要用于10Gbps至100Gbps的连接。如此宽的带宽范围,令该协议可适用于多项应用,并允许后向兼容多代设备。Interlaken适用于在以下设备中实施:具有多个10Gbps端口的MAC、OC-768SONETframer、下一代100Gb以太网集成电路和100Gbpsswitchfabric与包处理器。2.3扩展性Interlaken具有在不同数量的通道上运行的能力,从而可实现其扩展性。以下两个参数决定了连接带宽的大小:1.接口的串行通道数量Interlaken接口可使用任意数量的串行链接(或“通道”)。有效带宽与通道数量直接相关。例如,如图1所示,当按相同的单通道速度运行时,8-通道接口可承载的有效载荷是4通道接口的两倍。2.各通道的频率有效带宽还与各通道比特率直接成比例。例如,若通道数相同,3.125Gbps端口可承载6.25Gbps端口一半的有效载荷。由于可通过增加通道数量或单通道比特率提高带宽,Interlaken是一个非常易于扩展的接口。例如,如图2所示,容量为40Gbps的IC可使用8通道与其它的40GbpsIC连接,使用4通道与20GbpsIC连接,以及使用2通道与10Gbps设备连接。因此,不同容量的IC可实现互操作,从而实现后向兼容。2.4灵活性Interlaken可在不同数量的通道上运行,为器件互连提供高度的灵活性。单个物理接口中不同容量的IC可分成多个低速的物理接口。例如,如图3所示,8个物理通道可组成一个40Gbps接口、2个20Gbps接口,或4个10Gbps接口。因此,根据该示例,高带宽的IC可连接至多个低带宽IC,从而增加系统的端口数量。2.5通道化在许多应用中,必须在物理接口中提供多个逻辑通道。例如,不同的通道可用于承载发送到不同的物理端口、SONET逻辑通道的通信业务,或者承载不同优先级的通信业务。Interlaken旨在为256个通道提供固有支持,通过使用双用通道字段扩展,最多可扩展至64K个通道,从而满足大多数应用要求。2.6弹性任何一种串行链接都会出现比特误差。Interlaken每次传输都采用强大的循环冗余校验(CRC)保护,以避免加扰导致的误码增生,从而将比特误差的影响降至最低。每一个串行链接的运行状况都可持续透明地监控。3.0功能性3.1数据条带化,实现扩展性接口内数据分割方式决定接口提高带宽的难度。Interlaken基于分布在所有通道上的8字节字传输。通道数量越多,在各间隔之间传输的字就越多。由于按8字节步进传输,且接口支持多个通道,因此可显著提高带宽。3.2可突发,实现低延时通过接口传输数据包有两种基本方法;交错传输与非交错传输。?非-交错数据包传输数据包的传输始终是在另一个通道开始传输前完成(见图5)。由于要发送全长型数据包,因此数据包在一个通道传输的同时,接口两端的缓冲器必须能够接受其它通道上的数据。由于完整的数据包在发送时没有分割,因此在接收端无需重新组合数据包。?数据包交错传输:各通道在转移至下一个通道前,只传输数据包的小块碎片(见图6)。一旦出现数据,便以小突发方式传输,可将缓冲器-容量需求减至最少,从而减少接口延时。Interlaken必须支持非交错传输与交错传输,这一点非常重要,因为不同的应用,需要选择最合适的传输方式。3.3通道化Interlaken设计可轻松支持多通道或多端口应用。突发控制字包含一个通道域,该域就是正在通过接口传输数据的通道或者端口的ID号。通过该机制,Interlaken可支持多种应用。在低价值但仍普遍存在的应用中,单端口或单通道在接口内传输,每次传输突发一次,而通道字段始终设置为相同的值。更为典型的应用可能属24-端口以太网MAC。在该情况下,各端口上的通信量可使用Interlaken接口特有的通道ID发送。在最末端,通过使用结合标准的8-位通道字段的双用字段,可支持能支持数千个通道的应用。这样,该协议最高可支持64K个通道。即便是对于诸如高度通道化的SONET/SDH接口等最苛刻的应用,这也足以应对。突发控制字的组成如图7所示(突出显示通道与双用字段)。3.4流量控制数据包接口所需的另一个重要工具是背压或流量控制。由于Interlaken一般与线接口异步运行,且为许多通道承载数据包,因此,为防止缓冲器溢出,实现板载设备之间的速率匹配,必须进行某种流量控制。Interlaken提供简单的开关指示(通常称为Xon/Xoff),指示传输端何时停止发送数据包。Interlaken终端设备一般都带有单通道缓冲器,并具有可编程的流量控制阈值。当缓冲器被填充至高于其阈值时,终端设备将Xoff发送至Interlaken源设备,指示该情况。此时,源设备停止向该通道发送通信量。类似地,一旦缓冲器排空至低于其阈值,终端设备向Interlaken源设备发送Xon,指示源设备再次开始向该通道发送通信量。在设置缓冲器大小和阈值时,必须考虑通道速率、流量控制延时、源调度响应和其它因素。如果阈值与缓冲器深度正确设置,将不会有数据包丢失在终端设备中,线路始终得到充分利用。Interlaken有两种方法发送Xon/Xoff流量控制信息。带内流量控制是在突发控制字中执行(见图8),一般用于源设备与终端设备位于相同设备时的双向应用。带外流量控制在简单的3-位总线上执行。当应用为单向时,或源设备与终端设备不在同一设备中时,该控制更为有效。图9显示带外流量控制总线。3.5数据完整性必须侦测出因潜在的串行器/解串器(SerDes)误码率而导致的错误,以防止系统传输已被破坏的数据包。Interlaken采用CRC24多项式,以保护每一个数据包突发。该多项式可检测Interlaken256字节以下突发的所有一位、双位、三位、四位错误及所有奇数错误。CRC24还可检测出长度为24位以下的所有突发错误。图10显示CRC24单个突发范围(注意一个突发将在许多通道内分割)。3.6元帧由于控制字与数据字在现有串行通道内分割,因此各通道将这些字封装至其自带的“元帧”。如图11所示,元帧包括同步字、扰频器状态字、跳脱字与诊断字。3.7采用同步字,实现通道对齐数据在一个Interlaken接口内的所有通道内一次性分割为8个字节。为对齐接口接收端的数据,同步字同时在所有通道上发送。作为元帧的一部分,同步字是一个唯一、规则的模型,它允许接收器在找到它后,校正所有通道。同步字标记出所有通道共同的对齐点,从而使接收器可以校正通道。可设定元帧同步字插入的频率。3.8加扰Interlaken使用扰频器为接收器提供充分的时钟转换,以便恢复传输时钟。为防止接收器出现误码增殖,应选择置位/复位扰频器,自同步扰码器。若同时出现误码增殖和许多SerDes通道内数据分割,将很难确保充分检测出出错的数据包。使用置位/复位扰频器,接收器端的误码将不会倍增,从而易于检测出错误。由于Interlaken使用置位/复位扰频器,因此必须存在一种将接收器与扰频器状态同步的方法。作为元帧扰频器状态字的一部分,扰频器状态字前置入接收器。接收器使用恢复后的扰频器状态与其扰频器同步,然后解-扰数据流。3.9跳脱字在Interlaken转发器中,发送和接收接口的运行速度可能略微不同。为适应这一情形,元帧包括一个或多个跳脱字。如果发送接口的运行速度略低于接收接口,这些跳脱字可能会被删除。反之,如果发送接口的运行速度略高于接收接口,可能会向元帧添加额外的跳脱字。这可以让Interlaken补偿系统内的时钟差异。3.10调试与诊断当接口由多个高速SerDes链接组成时,在最初启动以及调试故障接口时可能会带来许多问题。侦探高速SERDES以除错,此举即便不是不可能,也是非常困难的。所以基于SERDES的通信协议在设计时候就必须考虑除错能力,这非常关键。Interlaken在每个SerDes通道上都具有内置的测试模型和伪随机位序列(PRBS)性能,以提高各通道的测试和调试能力。此外,该协议还可在元帧内包含的数据的基础上计算单通道CRC32。该功能可让个别SerDes通道免受错误影响。Interlaken协议非常灵活,可删除通道束中长久存在的坏通道。包括突发级CRC24(保护所有通道内分割的数据)在内,该功能全部适用。图12显示CRC32元帧范围(注意这是单通道范围)。3.11交流耦合高速交流耦合SerDes接口带来许多电气方面的挑战。挑战之一是必须保持线路直流平衡,以便接收器可正确解码高速流。诸如8B/10B等编码可在非常短的时间内保持直流的平衡(几个10B符号)。诸如64B/66B等其他编码会对数据进行扰码,只能在统计上保持直流平衡。如果编码不平衡,接收器端将出现偏移(称为基线漂移)。此电压偏移与连接裕度有关,可能会导致线路出错。模拟显示,使用类似64B/66B的编码,直流可能失衡数千位。对于某些链接而言,由此造成的直流偏移可能不是问题,但是对于要求更高的链接来说,可能不能容忍这样的偏移。由于Interlaken设计用于许多不同的应用,该编码(此处指64B/67B)中额外的倒置位已经添加入协议中,以便更好地控制直流平衡。该额外的倒置位可以让协议将直流平衡保持在正负65位不等的范围内。3.12知识产权核心Interlaken发展成为开放式业界标准,关键之处在于第三方知识产权(IP)核心可轻松整合至客户设计中。与系统数据包接口第4级第2阶段(SPI4.2)相比,InterlakenIP核心更易于整合,易于制作原型,以及兼容未来产品。凭借Interlaken协议多个特征,可轻松整合第三方IP核心。SPI4.2协议导致的一个普遍问题是,包结束碎片较短与内部数据路径较宽,造成接收器带宽出现短期严重不足。Interlaken通过定义“最短突发”参数和“调度增强”,在不降低带宽效率的情况下减少控制字之间的时间,从而避免该问题的出现。Interlaken还增加了速率匹配功能,可减少桥接高带宽Interlaken接口与低速接口或应用的设备所需的缓冲量。让InterlakenIP易于整合的另一个关键是对错误检测、统计计数器与延时参数的标准化提出建议。最后,通过将协议IP与SerDes块完全分离,评估现有SerDes技术(而不是重新设计IP核心)后,便可将Interlaken设计移植到新的专用集成电路(ASIC)技术。Interlaken可在ASIC销售商或FPGA销售商提供的高速SerDes的基础上构建。这样,现场可编程门阵列(FPGA)原型设计可使用最终ASIC产品所使用的相同InterlakenIP核心。同样,使用FPGA与ASIC构建的系统将可在其所有设备中使用相同的IP核心,提高IP与其相关固件的重复使用率。4.0案例研究目前25Gbps产品设计一般使用两个并行SPI4.2接口。该方法的主要不足在于它在双向接口上使用超过150个I/O管脚和板线路。在相同芯片面积下,Interlake