改善传输速率的方法、装置、处理器、网络设备和系统与流程

文档序号:23794245发布日期:2021-01-30 09:46阅读:267来源:国知局
改善传输速率的方法、装置、处理器、网络设备和系统与流程
改善传输速率的方法、装置、处理器、网络设备和系统
[0001]
本申请要求于2019年7月27日提交的申请号为201910685561.2、发明名称为“改善传输 速率的方法、处理器、网络设备和网络系统”的中国专利申请的优先权,其全部内容通过引用 结合在本申请中。
技术领域
[0002]
本申请涉及通信技术领域,具体涉及一种改善传输速率的方法、装置、处理器、网络设 备和系统。


背景技术:

[0003]
通信设备成本较高,在设备扩容升级时往往采取平滑演进的方式,即先通过模块、线卡 等的升级获得更高的性能和更新的特性。于是,背板便成为限制通信设备升级的最大瓶颈之 一,背板的性能往往决定了通信设备可升级的前景和设备的生命周期。然而,背板作为硬件, 有时难以适应未来的性能要求。


技术实现要素:

[0004]
本申请实施例提供了改善传输速率的方法、装置、处理器、网络设备及系统。
[0005]
一方面,提供了一种改善传输速率的方法,包括:以第一速率获得第一数据;在所述第 一数据中以一定比例加入额外数据,得到第二数据;以第二速率发送所述第二数据,所述第 二速率大于所述第一速率。通过在第一数据中以一定比例加入额外数据的方式,提高传输速 率,从而在设备扩容升级时,打破背板对设备扩容升级的限制,不仅能够避免频率空洞,还 可以适应未来的性能要求。
[0006]
在一种示例性实施例中,所述第二速率不是所述第一速率的整数倍。
[0007]
在一种示例性实施例中,所述以第二速率发送所述第二数据,包括:采用物理通道以第 二速率发送所述第二数据,所述物理通道传输数据的速率基于扩充后的虚拟通道进行比特复 用确定,所述扩充后的虚拟通道的数量基于传输所述第一数据的虚拟通道的数量以及数据传 输接口采用所述第二速率传输数据时对应的物理通道的数量确定。针对第二速率不是第一速 率的整数倍的情况,通过调整虚拟通道数量,以便支持该第二速率下的物理通道数量。
[0008]
在一种示例性实施例中,所述额外数据位于所述第二数据的第一部分。该种方式下,可 以将额外数据作为一个整体加入第一数据中,示例性地,该第二数据的第一部分可以是对齐 标志am字符之前或之后的位置。
[0009]
在一种示例性实施例中,所述额外数据中的第一部分位于所述第二数据的第一部分,所 述额外数据的第二部分位于所述第二数据的第二部分,所述额外数据中的第一部分和所述额 外数据中的第二部分之间包括第一数据的一部分。该种方式下,额外数据被分段加入第一数 据中。示例性地,第一数据可以划分多个部分,额外数据分段加入到第一数据的不同部分。
[0010]
在一种示例性实施例中,所述第一数据包括am字符,所述在所述第一数据中以一定比 例加入额外数据,包括:以所述第一数据中的am字符为边界,在所述第一数据中以一定比 例插入额外数据。由于am字符为数据识别提供了已有的标记,可以以am字符为参考点, 插入额外数据,从而便于后续对插入的数据进行识别。
[0011]
在一种示例性实施例中,所述在所述第一数据中以一定比例加入额外数据,得到第二数 据,包括:当所述第一数据为媒体接入控制mac层的数据时,以第一比例在所述mac层的 数据中插入第一额外数据,得到第二数据;或,当所述第一数据为前向纠错fec子层分发后 的虚拟通道vl上传输的数据时,以第二比例在所述fec子层分发后的vl上传输的数据中 插入第二额外数据,得到第二数据;或,当所述第一数据为经过vl重映射之后、进入物理 链路之前的数据时,以第三比例在所述经过vl重映射之后、进入物理链路之前的数据中插 入第三额外数据,得到第二数据;或,当所述第一数据为物理链路上传输的数据时,以第四 比例在所述物理链路上传输的数据中插入第四额外数据,得到第二数据;或,当所述第一数 据为原始数据时,以第五比例在所述原始数据中插入第五额外数据,得到第二数据。一个物 理链路(physical link)上可以有多个物理通道(physical lanes),在多个位置插入额外数据, 方式灵活。
[0012]
在一种示例性实施例中,所述在所述第一数据中以一定比例加入额外数据,得到第二数 据,包括:基于所述第二速率,采用前向纠错fec码对所述第一数据编码,得到第二数据。 由于速率提升后,相对于背板设计时的指标,背板布线及连接器所带来的插损会增加,信号 之间的串扰也会增加,从而导致信噪比(signal-to-noise ratio,snr)严重降低。而躲避频率 空洞需要对链路提速,这也带来一定的可用开销,因此可以利用这部分开销,通过增加额外 前向纠错(forward error correction,fec)来弥补snr损失。
[0013]
在一种示例性实施例中,所述基于所述第二速率,采用前向纠错fec码对所述第一数据 编码,得到第二数据,包括:当所述第一数据为fec子层分发后的虚拟通道vl上传输且采 用第一fec码型编码的数据时,采用与速率比匹配的第二fec码型对所述fec子层分发后 的vl上传输且采用第一fec码型编码的数据进行二级编码,得到第二数据,所述速率比为 所述第二速率与所述第一速率的比;或,当所述第一数据为经过vl重映射之后、进入物理 链路之前且采用第一fec码型编码的数据时,采用与所述速率比匹配的第二fec码型对所 述经过vl重映射之后、进入物理链路之前且采用第一fec码型编码的数据进行二级编码, 得到第二数据;或,当所述第一数据为物理链路上传输且采用第一fec码型编码的数据时, 采用与所述速率比匹配的第二fec码型对所述物理链路上传输且采用第一fec码型编码的 数据进行二级编码,得到第二数据;或,当所述第一数据为采用第一fec码型编码的数据时, 对所述采用第一fec码型编码的数据进行解码,得到原始数据,采用与所述第二速率匹配的 第三fec码型对所述原始数据进行编码,得到第二数据,所述第三fec码型的开销大于所 述第一fec码型的开销;或,当所述第一数据为原始数据时,采用与所述第二速率匹配的第 三fec码型对所述原始数据进行编码,得到第二数据,所述第三fec码型的开销大于所述 第一fec码型的开销。
[0014]
一方面,提供了一种改善传输速率的装置,所述装置包括:获取模块,用于以第一速率 获得第一数据;处理模块,用于在所述第一数据中以一定比例加入额外数据,得到第二数据; 发送模块,用于以第二速率发送所述第二数据,所述第二速率大于所述第一速率。
[0015]
在一种示例性实施例中,所述第二速率不是所述第一速率的整数倍。
[0016]
在一种示例性实施例中,所述发送模块,用于采用物理通道以第二速率发送所述第二数 据,所述物理通道传输数据的速率基于扩充后的虚拟通道进行比特复用确定,所述扩充后的 虚拟通道的数量基于传输所述第一数据的虚拟通道的数量以及数据传输接口采用所述第二速 率传输数据时对应的物理通道的数量确定。
[0017]
在一种示例性实施例中,所述额外数据位于所述第二数据的第一部分。
[0018]
在一种示例性实施例中,所述额外数据中的第一部分位于所述第二数据的第一部分,所 述额外数据的第二部分位于所述第二数据的第二部分,所述额外数据中的第一部分和所述额 外数据中的第二部分之间包括第一数据的一部分。
[0019]
在一种示例性实施例中,所述第一数据包括对齐标志am字符,所述处理模块,用于以 所述第一数据中的am字符为边界,在所述第一数据中以一定比例插入额外数据。
[0020]
在一种示例性实施例中,所述处理模块,用于当所述第一数据为媒体接入控制mac层 的数据时,以第一比例在所述mac层的数据中插入第一额外数据,得到第二数据;或,当 所述第一数据为前向纠错fec子层分发后的虚拟通道vl上传输的数据时,以第二比例在所 述fec子层分发后的vl上传输的数据中插入第二额外数据,得到第二数据;或,当所述第 一数据为经过vl重映射之后、进入物理链路之前的数据时,以第三比例在所述经过vl重 映射之后、进入物理链路之前的数据中插入第三额外数据,得到第二数据;或,当所述第一 数据为物理链路上传输的数据时,以第四比例在所述物理链路上传输的数据中插入第四额外 数据,得到第二数据;或,当所述第一数据为原始数据时,以第五比例在所述原始数据中插 入第五额外数据,得到第二数据。
[0021]
在一种示例性实施例中,所述处理模块,用于基于所述第二速率,采用前向纠错fec 码对所述第一数据编码,得到第二数据。
[0022]
在一种示例性实施例中,所述处理模块,用于当所述第一数据为fec子层分发后的虚拟 通道vl上传输且采用第一fec码型编码的数据时,采用与速率比匹配的第二fec码型对所 述fec子层分发后的vl上传输且采用第一fec码型编码的数据进行二级编码,得到第二数 据,所述速率比为所述第二速率与所述第一速率的比;或,当所述第一数据为经过vl重映 射之后、进入物理链路之前且采用第一fec码型编码的数据时,采用与所述速率比匹配的第 二fec码型对所述经过vl重映射之后、进入物理链路之前且采用第一fec码型编码的数据 进行二级编码,得到第二数据;或,当所述第一数据为物理链路上传输且采用第一fec码型 编码的数据时,采用与所述速率比匹配的第二fec码型对所述物理链路上传输且采用第一 fec码型编码的数据进行二级编码,得到第二数据;或,当所述第一数据为采用第一fec码 型编码的数据时,对所述采用第一fec码型编码的数据进行解码,得到原始数据,采用与所 述第二速率匹配的第三fec码型对所述原始数据进行编码,得到第二数据,所述第三fec 码型的开销大于所述第一fec码型的开销;或,当所述第一数据为原始数据时,采用与所述 第二速率匹配的第三fec码型对所述原始数据进行编码,得到第二数据,所述第三fec码 型的开销大于所述第一fec码型的开销。
[0023]
还提供了一种处理器,所述处理器可用于执行上述任一所述的方法。
[0024]
还提供了一种网络设备,所述网络设备包括上述处理器。
[0025]
在一种示例性实施例中,所述网络设备包括线卡,所述线卡包括上述的处理器。
[0026]
在一种示例性实施例中,所述网络设备还包括背板。
[0027]
在一种示例性实施例中,所述网络设备还包括位于线卡和背板之间的cdr电路,所述 线卡通过所述cdr电路与所述背板通信。
[0028]
还提供了一种网络系统,所述网络系统包括一个或多个网络设备,所述网络设备为上述 任一所述的网络设备。
[0029]
还提供一种改善传输速率的设备,所述设备包括:存储器及处理器,所述存储器中存储 有至少一条指令或程序,所述至少一条指令或程序由所述处理器加载并执行,以实现上述任 一所述的改善传输速率的方法。
[0030]
还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或程序,所述 指令或程序由处理器加载并执行以实现如上任一所述的改善传输速率的方法。
[0031]
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该 存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令或程序,该处理器用 于执行该存储器存储的指令或程序,以控制收发器接收信号,并控制收发器发送信号,并且 当该处理器执行该存储器存储的指令或程序时,使得该处理器执行上述任一种可能的实施方 式中的方法。在一种实施例中,处理器和存储器、收发器之间可通过总线通信。
[0032]
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
[0033]
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与 处理器分离设置。
[0034]
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器 (read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同 的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
[0035]
提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当 所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
[0036]
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令或 程序,使得安装有所述芯片的通信设备执行上述各方面中的方法。
[0037]
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出 接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存 储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
[0038]
图1是本申请实施例提供的一种网络系统的示意图;
[0039]
图2是本申请实施例提供的网络设备的结构示意图;
[0040]
图3是本申请实施例提供的网络设备的结构示意图;
[0041]
图4a是本申请实施例提供的以太网接口的逻辑架构示意图;
[0042]
图4b是本申请实施例提供的改善传输速率的方法流程图;
[0043]
图5a~5b为两种本申请实施例的编码示意图;
[0044]
图5c为本申请实施例提供的改善数据传输速率的方法示意图;
[0045]
图6是本申请实施例提供的插入额外数据pad的多种场景示意图;
[0046]
图7是本申请实施例提供的在mac层加入stuffing mac frame(s)的场景示意图;
[0047]
图8a是本申请实施例提供的通过8条vl对应am0~am7扩展vl的方法的示意图;
[0048]
图8b是本申请实施例提供的24个vl重用8个vl扩展vl的方法的示意图;
[0049]
图9是本申请实施例提供的改善传输速率的装置结构示意图;
[0050]
图10是本申请实施例提供的改善传输速率的设备结构示意图。
具体实施方式
[0051]
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和实施方式对本申请实 施例作进一步的详细说明。
[0052]
如图1所示,为本申请实施例的一种网络场景。在该场景中,一个或多个用户设备11、 12、13等经由多个网络设备11、12接入网络,经由网络中的一个或多个中间网络设备20到 达远端网络设备31,最终经由网络设备31与远端的一个或多个用户设备41、42、43通信。 图1的网络可以是本地局域网或运营商网络,图1的网络设备,比如路由设备或交换设备, 可作为网络中的转发设备或网关设备。网络设备可以是通信设备或其他电子设备。
[0053]
如图2所示,该网络设备包括线卡(line card)、主控板(main processing unit,mpu) 和背板,线卡和mpu通过背板互联。如图3所示,线卡和mpu可通过连接器与背板互联。 线卡也称为线路板(line processing unit,lpu),用于转发报文,按照转发能力可以分为10g (gigabit,吉比特)、20g、40g、50g、100g、120g、240g等。mpu负责网络设备的集中 控制和管理,比如mpu可以执行路由计算、设备管理和维护功能、数据配置功能、保存数 据等功能。网络设备也可以包括物理接口卡(physical interface card,pic),pic可以插在线 卡的接口板上,负责把光电信号转换为数据帧并对数据帧进行“合法性”检查。在有些实施 例中,所述网络设备也包括交换网板(switch fabric),交换网板也称为交换网板单元(switch fabric unit,sfu),负责各个lpu之间的数据交换。所述交换网板可以通过背板与主控板及 线卡互联。
[0054]
背板包括多个通道,基于不同速率和规格,每个背板上的通道数量不同,但是背板上的 通道数量不可更改,背板上的每个通道可用于传输数据。由于对于任意一个电路板,其通道 支持的数据传输速率都存在某个上限,因而当网络设备需要升级时,现有网络设备上的背板 无法跨代兼容处理器中的新的串行/解串行(器)(serializer/deserializer,serdes)的速率。处 理器可以是网络处理器(network processor,np)或中央处理器(central processing unit,cpu)。 该处理器用于端口芯片或交换芯片。具体实现上端口芯片或交换芯片可以是专用集成电路 (application-specific integrated circuit,asic)或时钟和数据恢复(clock&data recovery,cdr), 而serdes可以是asic或cdr中的电路。实际上,背板容量上限=通道数量
×
单通道可传 输数据最大速率。
[0055]
以当前400gbe端口速率为例,电接口每个物理通道上,根据ieee 802.3标准规定的 serdes速率可以是:
[0056]
-26.5625吉比特每秒(giga-bit per second,gbps)(16通道400gaui-16),
[0057]
-53.125gbps(8通道400gaui-8),
[0058]
-106.25gbps(4通道400gaui-4,标准制定中)
[0059]
除以上速率之外,通常serdes还可以支持其他一些156.25mhz整数倍波特率的速
率。 例如112.5gbps 4电平脉冲幅度调制(4level pam,pam4)(56.25吉波特(giga-baud,gbd))。
[0060]
下一代以太接口速率目前尚无标准,下面假设800gbe采用8
×
电接口为例讨论,但不 限于该速率。要想实现平滑升级,关键在于当前背板支持下一代以太速率,通过提高线卡上 端口速率来提高整机容量。如图3所示,背板通过连接器与线卡连接,如果要以8
×
50g时 代的背板及连接器来实现8
×
100g速率,从印刷电路板(printed circuit board,pcb)和连接 器的性能指标来看难以达到预期。如果背板继续使用50g单通道技术,则整体容量与当前一 样,并没有提高,而且未来标准不一定还会支持50g单通道速率标准。因此,需要考虑其他 单通道速率。但是因为serdes设计的频率往往具有局限性,仅仅能工作在某些范围,所以需 要确认该速率是否serdes能够支持,如果存在serdes频率不支持的范围(频率空洞),需要 避开。单通道速率提高后,相对于背板设计时的指标,背板布线及连接器所带来的插损会增 加,信号之间的串扰也会增加,从而导致信噪比(signal-to-noise ratio,snr)严重降低。而 躲避频率空洞需要对链路提速,这也带来一定的可用开销,因此可以利用这部分开销,通过 增加额外前向纠错(forward error correction,fec)来弥补snr损失。
[0061]
serdes设计中,锁相环(phase-locked loop,pll)是决定其可运行频率的核心电路。pll 工作的频率通常不是连续可调的,而是某基础频率的倍数。灵活的pll设计虽然除了整数倍、 也可以支持分数倍频运行,但它能运行的频率仍旧不是连续可调。这从原理上决定了serdes 不可能支持所有的频率,而是仅仅能够支持某些固定的频率点。我们称pll不支持的频率范 围为“频率空洞”。
[0062]
并且,由于serdes的设计上,往往针对需要工作的频率点进行优化设计,在非工作频 率上可能选择不支持、或者性能较差。例如53.125gbps和106.25gbps是常用的serdes速率, 但是80gbps附近可能是不常用速率,从而设计上简化避开了80gbps这个频率附近的频段, 从而使频率空洞变得更大,例如某serdes可能选择不会支持75g到85gbps之间的速率,以 简化设计、降低成本。
[0063]
在本申请实施例中,提供以下三种高链路速率的方式:
[0064]
a)根据目标速率所能带来的开销空间,选择一种开销合适的fec;
[0065]
b)以对齐标志(alignment marker,am)字符为边界,一次性或者分段插入额外数据, 该数据格式不限;
[0066]
c)通过媒介接入控制(medium access control,mac)层插入额外数据,该额外数据可 以是特殊的、可识别的码块。
[0067]
本申请实施例也提供为适配非标准速率物理接口而扩展pcs lane数量的方法。
[0068]
如图2所示,为本申请实施例的网络设备。其中,背板连接主控板与线卡。主控板包括 asic1,线卡包括asic2。在一些实施例中,主控板也包括与asic1通信的时钟和数据恢复 (clock&data recovery,cdr)电路cdr1。在一些实施例中,线卡也包括与asic 2通信的 时钟和数据恢复电路cdr2。在一些实施例中,cdr电路可能会出现在主控板或者线卡上, 但在asic能力充足的情况下也可能不需要cdr电路。本申请实施例与asci1、cdr1、cdr2、 asic2中部分或者全部相关。主控板中的asic1可以与背板互相通信,线卡中的asic 2可 以与背板互相通信。如图3所示,主控板和线卡可分别通过连接器与背板连接,从而与背板 互相通
信。
[0069]
如图4a所示,为图1或图2或图3中网络设备上的以太网接口所对应的逻辑层架构。 基于根据本申请实施例在系统中的不同实现位置,该图4a会略有不同。其中,pcs/fec为 ieee 802.3标准定义的pcs层及fec子层功能。该部分功能通常集成在asic中。物理编码 子层(physical coding sublayer,pcs)功能在于将来自mac层的数据进行编码、转码、扰码、 插入am、fec编码等功能,并且将处理后的数据按照一定规律分发到多条虚拟通道(virtual lane,vl)或物理通道(physical lane,pl)上。其中,将处理后的数据分发到多条vl或pl 的规律本申请不进行限定,示例性地,可以基于场景或者数据编码要求来定。例如,以 200ge/400ge的以太网接口为例,任何两个连续的fec符号(symbol)都是来自不同的码字 (codeword),也即一个码字的两个连续的fec symbol分发到不同的vl或pl上。但是对于 100ge的以太网接口,循环(round-robin)发送fec symbol到各个vl或pl上。
[0070]
如图4a所示,将处理后的数据通过n条vl传输至物理介质接入子层(physical medium attachment sublayer,pma),由pma将多条vl上传输的数据传输到p条通道。示例性地, pma传输之前,还可以进行比特复用(bit-mux)。比如pcs/fec处理后的数据被分布到附接 单元接口(attachment unit interface,aui)上的p个通道中,该p个通道可以是vl。p个通 道上的数据被执行重映射(remapping)操作后映射到背板(backplane)m个物理通道pl中, m和p为正整数且m>p>0。经背板处理后,数据经由m个物理通道离开背板,被重组(regroup) 后经p个通道到达另一pcs/fec,该p个通道可以是vl。示例性地,另一pcs/fec可以支 持不同的vl数量,本申请实施例对此不加以限定。
[0071]
以现有的400gbe标准为例,pcs层处理后的数据被分发到16条vl上,每条vl上的 等效比特速率为26.5625gbps。而物理通道(physical lane,pl)数量由具体应用决定,例如 该背板设计时采用的是单通道50g pam4技术(业界也通常称为56g pam4,实际速率为 53.125gbps),则pl数量为8。假设此处的背板设计时总的通道数量为m,该背板的设计容 量则为50g
×
m。如果希望升级设备,更换支持更高电接口速率的单板,例如,支持单通道 100g pam4技术(业界也成为112g pam4,实际速率106.25gbps)的单板,可通过提高每 个通道的速率,来提高整机的容量。然而,不管是pcb上的布线、还是单板与背板之间的连 接器(connector),其性能受到材料、设计等诸多方面的限制,难以应对新的更高速率。所以, 需要找到一个比原有电接口速率b0高、但又比新电接口速率b1低的合适的电接口传输速率 b2。其中,b0<b2<b1。
[0072]
假设新电接口速率下,对应某种速率标准的以太网接口对应的物理通道数量为n1。该 以太网接口速率等于n1
×
b1。(例如,对于400gbe接口,如果b1=100gbps,则n1=4) b2对应的电接口通道数量为n2,则:b2
×
n2=b1
×
n1。由于b2<b1,所以n2>n1。
[0073]
现有的以太网标准中,某一以太网接口速率可以支持的物理通道数量p,取决于虚拟通 道数量n。例如16个虚拟通道,可以对应生成16或8或4等等数量的物理通道,通过简单 的比特复用即可实现。如果电接口的速率提高一倍,则对应的物理通道数量可以减少为原来 的1/2。但是,如果电接口速率提升倍数不是整数倍,则需要通过调整虚拟通道数量n,以便 支持该速率b2下的物理通道数量p2。依旧以400gbe为例,从8
×
50g到4
×
100g之间, 可能存在5
×
80g这种搭配(b2=80g,n2=5)。对于未来800gbe,可能会存在8
×
100g 组合,如果背板无法支持100g电接口,可能会存在10
×
80g或者12
×
66.67g等等速率。甚 至,只需要
可以保证n2
×
b2>=n1
×
b1,便可以有足够的能力将n1
×
b1的数据总速率通过 n2条比标准速率低的电接口进行传输。
[0074]
在以上实施例中,举了10
×
80g来支持800gbe的例子,如果serdes恰好不支持该电 接口速率,则较难以采用该配置进行。为了避开这个空洞,可以通过提高电接口上数据传输 的速率,因为如果降低电接口速率,则需要更多条背板上的物理通道,而这个数量是限制死 的,为了充分利用背板上的通道,n2往往是通过背板的传输能力计算获得的最大利用率的数 值,如果降低电接口速率,n2数值需要增大,从而使得背板能够支持的以太网接口的总量变 小。电接口上数据传输的比特率要提高,但是载荷数量是固定的,所以需要向原始数据流插 入额外的数据。提高电接口上数据传输速率,意味着背板信道的插损会更大,信号之间的串 扰也会更大,从而降低链路的性能,甚至使得链路上误码率过高而导致其他问题。
[0075]
对此,本申请实施例提供了一种改善传输速率的方法,该方法通过在第一数据中以一定 比例加入额外数据的方式,提高传输速率,从而在设备扩容升级时,打破背板对设备扩容升 级的限制,不仅能够避免频率空洞,还可以适应未来的性能要求。参见图4b,该方法包括:
[0076]
401,以第一速率获得第一数据。
[0077]
该第一数据可以是经过fec编码的数据,也可以是原始数据,本申请实施例不对第一数 据的类型进行限定。
[0078]
例如,结合图2所示的网络设备为例,在网络设备上的以太网接口所对应的逻辑层架构 中,pcs/fec将来自mac层的数据进行编码、转码、扰码、插入am和fec编码等处理, 得到第一数据。之后,将处理后的数据即第一数据按照一定规律分发到多条vl或pl上。此 时传输该第一数据的速率可以是第一速率,本申请实施例可以在pcs/fec之后传输第一数据 的多条vl或pl上获取第一数据。也可以将经过vl remapping之后、进入物理链路之前的 数据作为以第一速率获得的第一数据。其中,一个物理链路(physical link)上可以有多个物 理通道(physical lanes)。示例性地,还可以在物理链路上获取第一数据,或者,还可以在 asic进行fec编码前获取原始数据,该原始数据即作为第一数据。又或者,还可以在与asic 通信的cdr处获得第一数据。
[0079]
402,在第一数据中以一定比例加入额外数据,得到第二数据。
[0080]
示例性地,在第一数据中以一定比例加入额外数据时,该额外数据可以位于第二数据的 第一部分,该种方式下,可以将额外数据作为一个整体加入第一数据中,本实施例不对第二 数据的第一部分的具体位置进行限定,可基于第一数据的内容来定,或者基于场景来定。示 例性地,该第二数据的第一部分可以是am字符之前或之后的位置。
[0081]
或者,该额外数据中的第一部分位于第二数据的第一部分,额外数据的第二部分位于第 二数据的第二部分,额外数据中的第一部分和额外数据中的第二部分之间包括第一数据的一 部分。该种方式下,额外数据被分段加入第一数据中。示例性地,第一数据可以划分多个部 分,额外数据的不同部分加入到第一数据的不同部分之间。
[0082]
无论采用哪种插入方式,本申请实施例提供的方法可以在多个位置插入额外数据,方式 灵活。接下来,以如下三种加入额外数据的方式进行举例说明。
[0083]
方式一:在本申请的一种实施例中,以通过利用提高速率带来的额外开销来集成
fec 的方式实现加入额外数据为例。
[0084]
该方式一中,可以基于第二速率,采用前向纠错fec码对第一数据编码,得到第二数据。 如图5c所示,asic1经由背板与asic2通信,asic1包括mac、pcs、分发(distribution) 模块,asic1也可能包括一些调整位置的电路。asic1与背板之间也可能包括cdr1。asic2 包括对齐/去偏斜(alignment/deskew)电路、regroup电路、distribution电路及pcs和mac。 示例性地,在对齐/去偏斜(alignment/deskew)电路

、解复用电路

、重组分发电路11位 置处还可以进行速率调整(rate adjustment)。asic2与背板之间也可能包括cdr2。数据经 asic1的mac层处理后到达asic1的pcs,pcs包括fec sublayer,数据经由fec子层 (sublayer)处理后到达distribution电路,分发到n个vl。n个vl来的数据经多个可能的 调整位置的操作,如图5c的
④⑤⑥
功能电路的操作后到达背板。其中,

为编码功能电路,
ꢀ⑤
为比特复用电路,

为编码功能电路。当然也可能经由

的cdr1处理后到达背板。经背板 处理后,数据到达asic2的alignment/deskew电路(即

),经alignment/deskew电路处理 后到达

和位于

的regroup电路及distribution电路,处理后到达位于

的标准处理电路, 经处理后到达asic2的pcs和mac层。
[0085]
继续以单个物理通道上传输第一数据的第一速率为80gbps和在该单个物理通道上传输 第二数据的第二速率为85gbps为例,第二速率与第一速率的速率比为85/80=17/16。那么, 额外数据与第一数据的比例为1/16,额外数据与第二数据的比例为1/17。与速率比匹配的fec 码型的编码数据与比特数据的比例为速率比,例如,速率比为17/16时,与速率比匹配的fec 码型为编码数据与比特数据的比例是17/16的fec。例如如图5a所示,rs(34,32), bch(340,320)等,其中bch(340,320)为bch前向纠错编码(bose

chaudhuri

hocquenghem code,bch code)中的一种。或者如图5b,如果fec的开销和速率提高的开销存在一定的 比例误差情况下,采用fec+pad的方式进行提速,例如采用hamming(127,120),并且每100 个hamming码块之后插入50比特pad,这50比特的pad用作额外数据。如图5c所示,该方 案既可以选择在多处实现,例如,基于第二速率,采用fec码对第一数据编码,得到第二数 据,包括但不限于如下几种方式:
[0086]
a.在fec子层分发后的vl上实现(图标

处)
[0087]
在a方式中,fec子层将数据分发到多条vl上,继而vl数据可直接通往一个或者多 个第二级fec编码器(encoder),编码后保持vl数量不变。
[0088]
例如,当第一数据为fec子层分发后的vl上传输且采用第一fec码型编码的数据时, 在fec子层分发后的vl上,采用与速率比匹配的第二fec码型对fec子层分发后的vl 上传输且采用第一fec码型编码的数据进行二级编码,得到第二数据。其中,速率比为第二 速率与第一速率的比。
[0089]
b.在vl remapping之后、进入物理链路之前实现(图标

处)
[0090]
在b方式中,vl已经经过比特复用生成对应数量的物理通道,此时可以在asic内对不 同物理通道上的数据流分别进行第二级fec编码。
[0091]
例如,第一数据为经过vl重映射之后、进入物理链路之前且采用第一fec码型编码的 数据,采用与速率比匹配的第二fec码型对经过vl重映射之后、进入物理链路之前且采用 第一fec码型编码的数据进行二级编码,得到第二数据。
[0092]
c.在物理链路上获取数据流,再进行编码实现(图标

处)
按照pcs层的处理流程恢复出原始数据。由于am字符为数据识别提供了已有的标记,可以 按照am字符为参考点,插入一些额外的数据,从而便于后续对插入的数据进行识别。这些 数据可以在vl上随am字符在图5c的

处被插入,也可以在比特复用之后在图5c的

处 实现。示例性地,当第一数据为图5c的

处fec子层分发后的vl上传输的数据时,以第 二比例在fec子层分发后的vl上传输的数据中,以am字符为边界,插入第二额外数据, 得到第二数据。示例性地,当第一数据为图5c的

处经过vl重映射之后、进入物理链路之 前的数据时,以第三比例在经过vl重映射之后、进入物理链路之前的数据中,以am字符 为边界,插入第三额外数据,得到第二数据。需要说明的是,第二比例和第三比例可基于第 一数据的数据量以及第二数据的数据量来定,本申请对此不加以限定。
[0106]
无论是在哪个位置处插入额外数据,对于以am字符为边界插入额外数据的方式包括但 不限于有如图6所示的几种,图6中的每种插入方式如下:
[0107]
(1)以两个am字符为边界,中间的数据等分,在等分的数据之间插入pad。
[0108]
(2)以两个am字符为边界,中间的数据等分,在等分的数据之前插入pad。
[0109]
(3)以两个am字符为边界,中间的数据等分,在等分的数据之后插入pad。
[0110]
(4)以两个am字符为边界,中间的数据等分,在等分的数据之前和之后都插入pad。
[0111]
(5)在am字符后面一次性插入pad。
[0112]
(6)在am字符前面一次性插入pad。
[0113]
额外数据(pad)的选择,建议使用prbs31序列逐段选取,以便保证数据的随机性, 避免产生频谱上的毛刺。额外数据pad可以根据实现方式选择不同的长度。额外数据pad的 插入方式也可以有多种,比如在am字符前面插入额外数据pad或者在am字符后插入额外 数据pad,只要保证插入的额外数据pad与数据(包含am字符)的比例满足要求即可。实 现中也可以选择一次性插入足够多的额外数据pad,而不是分段插入额外数据pad。
[0114]
除上述三种方式外,还可以有其他插入数据的方式。示例性地,在图5c所示的

处插 入额外数据。例如,当第一数据为图5c的

处物理链路上传输的数据时,以第四比例在物 理链路上传输的数据中插入第四额外数据,得到第二数据。示例性地,当第一数据为原始数 据时,以第五比例在原始数据中插入第五额外数据,得到第二数据。其中,第四比例和第五 比例可基于第一数据的数据量以及第二数据的数据量来定,本申请对此不加以限定。
[0115]
403,以第二速率发送第二数据,第二速率大于第一速率。
[0116]
示例性地,第二速率可以是第一速率的整数倍,第二速率也可以不是第一速率的整数倍。 针对第二速率不是第一速率的整数倍,如果提速后,虚拟通道的速率较大,即使按照虚拟通 道中的最小速率去复用,也会超过物理通道所承受的速率的情况,本申请实施例提供的方法 通过扩充虚拟通道,采用比特复用来确定物理通道的第二速率。针对第二速率不是第一速率 的整数倍的情况,本申请的又一种实施例提供了一种扩充虚拟通道vl的方法。
[0117]
对于已有的标准n1(即传输第一数据的虚拟通道的数量)条vl,其可以被p1整除, 其中p1是标准定义的物理通道数量;n2是需要扩展到的非标准的vl数量,即扩充后的虚 拟通道的数量),其可以被p2整除,其中p2是因为背板无法支持b1速率而采用b2速率传 输数据时对应的单个以太网端口对应的物理通道数量(即数据传输接口采用第二速率传输数 据时对应的物理通道的数量)。
[0118]
在本申请的一种实施例中,令n2等于n1和p2的最小公倍数,这样一来,n2可以被p2整除,并且n2可以简单复用n1条vl结构。
[0119]
例如,如果n1=8,p2=12,可以使n2=24,这样24条vl,可以通过简单的2:1 比特复用实现12条pl,同时,由于n2=3*n1,可以在fec分发数据时,将一次轮循周期 从8改为24。为了在接收端可以成功识别这些vl,还可以借用已有的am图案进行简单重 复使用。
[0120]
如图8a所示,是8条vl,对应am0~am7;如图8b所示,扩展到24个vl,重用8 个vl,重复三遍。因为是背板连接,而背板在厂商内部实现,可确定出哪个pl对应哪个接 口,又由于已知pl跟vl之间的对应关系,因而在背板连接的情况下,能得出接口跟vl的 关系,也就不需要重新找am字符,采用am再去区分通道了。当然也可以选取不同的am 字符,am0~23各不相同,这里是另一种扩展vl的方法。
[0121]
在扩充了虚拟通道的情况下,以第二速率发送第二数据,包括:采用物理通道以第二速 率发送第二数据,如上所述,物理通道传输数据的速率基于扩充后的虚拟通道进行比特复用 确定,扩充后的虚拟通道的数量基于传输第一数据的虚拟通道的数量以及数据传输接口采用 第二速率传输数据时对应的物理通道的数量确定。
[0122]
示例性地,基于传输第一数据的虚拟通道的数量以及数据传输接口采用第二速率传输数 据时对应的物理通道的数量确定扩充后的虚拟通道的数量时,可以基于传输第一数据的虚拟 通道的数量以及数据传输接口采用第二速率传输数据时对应的物理通道的数量的最小公倍数 确定。
[0123]
本申请实施例提供的方法,通过在第一数据中以一定比例加入额外数据的方式,提高传 输速率,从而在设备扩容升级时,打破背板对设备扩容升级的限制,不仅能够避免频率空洞, 还可以适应未来的性能要求。
[0124]
此外,由于速率提升后,相对于背板设计时的指标,背板布线及连接器所带来的插损会 增加,信号之间的串扰也会增加,从而导致snr严重降低。而躲避频率空洞需要对链路提速, 这也带来一定的可用开销,因而利用速率提升所带来的开销,通过增加额外fec来弥补snr 损失。
[0125]
本申请实施例提供了一种改善传输速率的装置,参见图9,该装置包括:
[0126]
获取模块901,用于以第一速率获得第一数据;
[0127]
处理模块902,用于在第一数据中以一定比例加入额外数据,得到第二数据;
[0128]
发送模块903,用于以第二速率发送第二数据,第二速率大于第一速率。
[0129]
在一种示例性实施例中,第二速率不是第一速率的整数倍。
[0130]
在一种示例性实施例中,发送模块903,用于采用物理通道以第二速率发送第二数据, 物理通道传输数据的速率基于扩充后的虚拟通道进行比特复用确定,扩充后的虚拟通道的数 量基于传输第一数据的虚拟通道的数量以及数据传输接口采用第二速率传输数据时对应的物 理通道的数量确定。
[0131]
在一种示例性实施例中,额外数据位于第二数据的第一部分。
[0132]
在一种示例性实施例中,额外数据中的第一部分位于第二数据的第一部分,额外数据的 第二部分位于第二数据的第二部分,额外数据中的第一部分和额外数据中的第二部分之间包 括第一数据的一部分。
[0133]
在一种示例性实施例中,第一数据包括对齐标志am字符,处理模块,用于以第一数
据 中的am字符为边界,在第一数据中以一定比例插入额外数据。
[0134]
在一种示例性实施例中,处理模块902,用于当第一数据为mac层的数据时,以第一比 例在mac层的数据中插入第一额外数据,得到第二数据;或,当第一数据为fec子层分发 后的虚拟通道vl上传输的数据时,以第二比例在fec子层分发后的vl上传输的数据中插 入第二额外数据,得到第二数据;或,当第一数据为经过vl重映射之后、进入物理链路之 前的数据时,以第三比例在经过vl重映射之后、进入物理链路之前的数据中插入第三额外 数据,得到第二数据;或,当第一数据为物理链路上传输的数据时,以第四比例在物理链路 上传输的数据中插入第四额外数据,得到第二数据;或,当第一数据为原始数据时,以第五 比例在原始数据中插入第五额外数据,得到第二数据。
[0135]
在一种示例性实施例中,处理模块902,用于基于第二速率的开销或第一速率的开销, 采用fec码对第一数据编码,得到第二数据。
[0136]
在一种示例性实施例中,处理模块902,用于当第一数据为fec子层分发后的虚拟通道 vl上传输且采用第一fec码型编码的数据时,采用与速率比匹配的第二fec码型对fec子 层分发后的vl上传输且采用第一fec码型编码的数据进行二级编码,得到第二数据,速率 比为第二速率与第一速率的比;或,当第一数据为经过vl重映射之后、进入物理链路之前 且采用第一fec码型编码的数据时,采用与速率比匹配的第二fec码型对经过vl重映射之 后、进入物理链路之前且采用第一fec码型编码的数据进行二级编码,得到第二数据;或, 当第一数据为物理链路上传输且采用第一fec码型编码的数据时,采用与速率比匹配的第二 fec码型对物理链路上传输且采用第一fec码型编码的数据进行二级编码,得到第二数据; 或,当第一数据为采用第一fec码型编码的数据时,对采用第一fec码型编码的数据进行 解码,得到原始数据,采用与第二速率匹配的第三fec码型对原始数据进行编码,得到第二 数据,第三fec码型的开销大于第一fec码型的开销;或,当第一数据为原始数据时,采 用与第二速率匹配的第三fec码型对原始数据进行编码,得到第二数据,第三fec码型的 开销大于第一fec码型的开销。
[0137]
本申请实施例提供了一种处理器,该处理器可用于执行上述任一所述的改善传输速率的 方法。
[0138]
本申请实施例提供了一种网络设备,如图2或图3所示,该网络设备包括上述处理器。
[0139]
在一种示例性实施例中,网络设备包括线卡,线卡包括上述处理器。
[0140]
在一种示例性实施例中,网络设备还包括背板。
[0141]
在一种示例性实施例中,网络设备还包括位于线卡和背板之间的cdr,线卡通过cdr 与背板通信。
[0142]
本申请实施例提供了一种网络系统,该网络系统包括一个或多个网络设备,网络设备为 上述任一种网络设备。
[0143]
参见图10,本申请实施例还提供一种改善传输速率的设备1000,图10所示的改善传输 速率的1000用于执行上述改善传输速率的方法所涉及的操作。该改善传输速率的设备1000 包括:存储器1001、处理器1002及接口1003,存储器1001、处理器1002及接口1003之间 通过总线1004连接。
[0144]
其中,存储器1001中存储有至少一条指令,至少一条指令由处理器1002加载并执
行, 以实现上述任一所述的改善传输速率的方法。
[0145]
接口1003用于与网络中的其他设备进行通信,该接口1003可以通过无线或有线的方式 实现,示例性地,该接口1003可以是网卡。例如,改善传输速率的设备1000可通过该接口 1003与其他网络设备进行通信。
[0146]
应理解的是,图10仅仅示出了改善传输速率的设备1000的简化设计。在实际应用中, 改善传输速率的设备1000可以包含任意数量的接口,处理器或者存储器。此外,上述处理器 可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处 理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit, asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器 件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何 常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
[0147]
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器, 并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还 可以存储设备类型的信息。
[0148]
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两 者,其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储 器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、 电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是 随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是 限制性说明,许多形式的ram可用。例如,静态随机存取存储器(static ram,sram)、 动态随机存取存储器(dynamic random access memory,dram)、同步动态随机存取存储器 (synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data date sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、 同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储 器(direct rambus ram,dr ram)。
[0149]
还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加 载并执行以实现如上任一所述的改善传输速率的方法。
[0150]
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算 机执行上述方法实施例中对应的各个操作和/或流程。
[0151]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当 使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包 括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产 生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、 或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算 机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站 站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例 如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所 述计算机可读存储介质可以是计算机能够存取的任何可用介质或
者是包含一个或多个可用介 质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、 硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
[0152]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法 中的全部或部分可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术 方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软 件产品可以存储在存储介质中,如只读存储器(read-only memory,rom)、随机存取存储器 (random access memory,ram)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可 以是个人计算机,服务器,或者诸如媒体网关等网络通信设备)执行本发明各个实施例或者 实施例的某些部分所述的方法。
[0153]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同 相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对 于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处 参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作 为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或 者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根 据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人 员在不付出创造性劳动的情况下,即可以理解并实施。
[0154]
以上所述仅是本申请的可选实施方式,并非用于限定本申请的保护范围。应当指出,对 于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以作出若干改进和 润饰,这些改进和润饰也应视为本申请的保护范围。
[0155]
本申请涉及的术语解释
[0156]
fec:forward error correction前向纠错
[0157]
rs-fec:reed-solomon fec,里德-所罗门前向纠错码
[0158]
bch code:bose

chaudhuri

hocquenghem,bch前向纠错码
[0159]
pcs:physical coding sublayer物理编码子层
[0160]
pma:physical medium attachment sublayer物理介质接入子层
[0161]
pmd:physical media dependent物理介质关联层
[0162]
phy:physical物理层
[0163]
am:alignment marker对齐标志
[0164]
vl:virtual lane虚拟通道,等同于pcs lane
[0165]
pl:physical lane物理通道*
[0166]
serdes:serializer/deserializer,串行/解串行(器)
[0167]
pll:phase-locked loop,锁相环
[0168]
cdr:clock&data recovery,时钟和数据恢复
[0169]
gbps:giga-bit per second,吉比特每秒
[0170]
gbd:gbaud,giga-baud,吉波特。
[0171]
pam:pulse amplitude modulation,脉冲幅度调制
[0172]
pam4:4level pam,4电平脉冲幅度调制,也写作pam-4
[0173]
osi model:open systems interconnection model,开放系统互联模型
[0174]
pcb:printed circuit board,印刷电路板。
[0175]
一个physical link(物理链路)上可以有多个physical lanes(物理通道)。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1