帧边界检测方法和设备及解码方法和系统的制作方法

文档序号:7750694阅读:469来源:国知局
专利名称:帧边界检测方法和设备及解码方法和系统的制作方法
技术领域
本发明的各实施方式涉及数据通信领域,并且更具体地涉及用于以太网前向纠错 (Forward Error Correction,简称FEC)层接收的数据流的帧边界检测方法和设备以及用于以太网前向纠错层接收的数据流的解码方法和系统。
背景技术
IEEE 802. 3-2008 第 74 章以及 IEEEP 802.3 Dl. 2 定义了应用于 IOG 以太网的 BASE-R物理层的FEC子层。该FEC子层标准将系统的误码率(BER)从10_7减少到10-12。 而且此标准也适用于40G/100G以太网的应用。为了兼容不同的以太网应用层,协议规定FEC层压缩原始帧头以留出空间加载 FEC校验位,从而保证该层与其他应用层保持一致的帧长度(IEEE 802.3ap-2007第74章定义的帧长度为2112比特位)。但是这样的处理方法导致接收端很难识别各帧之间的帧边界,需要耗费大量时间和发送端帧同步,才能找出正确的帧边界位置。因此,对于以太网前向纠错层接收的数据流而言,需要一种能够快速检测帧边界的方法以及快速进行FEC解码的方法。

发明内容
针对以上问题,本说明书中提供了一种用于以太网前向纠错层接收的数据流的帧边界检测方法和设备以及一种用于以太网前向纠错层接收的数据流的解码方法和系统。在本发明的一个实施方式中,提供了一种用于以太网前向纠错层接收的数据流的帧边界检测方法。该帧边界检测方法可以包括基于第一数据项、第二数据项以及前一校正子的中间计算结果,计算当前校正子,其中第一数据项是当前待测帧的最后一比特数据,第二数据项是该当前待测帧的前一比特数据;以及使用当前校正子检测该当前待测帧的前一比特数据是否是一个以太网前向纠错层帧边界。在本发明的另一个实施方式中,提供了一种用于以太网前向纠错层接收的数据流的帧边界检测设备。该帧边界检测设备可以包括缓存器,用于对数据流中的数据进行缓存,该缓存器的数据长度大于1帧;校正子生成器,用于基于第一数据项、第二数据项以及前一校正子的中间计算结果计算当前校正子,其中第一数据项是当前待测帧的最后一比特数据,第二数据项是该当前待测帧的前一比特数据;以及比较器,用于使用当前校正子检测该当前待测帧的前一比特数据是否是一个以太网前向纠错层帧边界。在本发明的又一个实施方式中,提供了一种用于以太网前向纠错层接收的数据流的解码方法。该解码方法可以包括利用根据本发明的前述实施方式中的帧边界检测方法检测该数据流的帧边界,并输出当前校正子;根据当前校正子和当前待测帧的校验码确定当前帧中的错误;对当前待测帧进行解扰;以及基于所确定的错误对解扰的帧进行前向纠
T曰O在本发明的另外一个实施方式中,提供了一种用于以太网前向纠错层接收的数据流的解码系统。该解码系统可以包括根据本发明的前述实施方式的帧边界检测设备,用于检测该数据流的帧边界,并输出当前校正子;错误诊断器,用于根据当前校正子和当前帧的校验码确定当前帧中的错误;解扰器,用于对当前帧进行解扰;以及错误纠正器,用于基于错误诊断器确定的错误对解扰器所解扰的帧进行前向纠错。根据本发明的各实施方式中的方法、设备和系统,可以快速确定帧边界位置,从而减少帧边界检测所需要的时间,提高帧同步速度。通过以下对说明本发明原理的优选实施方式的描述,并结合附图,本发明的其他特征以及优点将会更加明显。


通过以下结合附图的说明,并且随着对本发明的更全面了解,本发明的其他目的和效果将变得更加清楚和易于理解,其中图1是根据一种技术方案的用于以太网前向纠错层接收的数据流的解码系统的框图;图2示出了根据图1所示的解码系统进行帧同步的示意图;图3是根据本发明一种实施方式的用于以太网前向纠错层接收的数据流的解码系统的示意框图;图4是根据本发明的一个实施方式的用于以太网前向纠错层接收的数据流的帧边界检测设备的示意框图;图5是根据本发明的一个实施方式的用于以太网前向纠错层接收的数据流的帧边界检测方法的示意流程图;图6是根据本发明的另一个实施例的用于以太网前向纠错层接收的数据流的帧边界检测方法的示意流程图;以及图7示出了根据本发明的一个实施例的帧边界检测设备如何进行帧同步的示意图。在所有的上述附图中,相同的标号表示具有相同、相似或相应的特征或功能。
具体实施例方式以下结合附图,对本发明的各实施方式进行更详细的解释和说明。应当理解,本说明书包括的附图及实施方式仅用于示例性作用,并非用于限制本发明的保护范围。在本发明的一个实施方式中,基于第一数据项、第二数据项以及前一校正子的中间计算结果,计算当前校正子。这里,第一数据项是当前待测帧的最后一比特数据,第二数据项是该当前待测帧的前一比特数据。然后,使用当前校正子检测该当前待测帧的前一比特数据是否是一个以太网前向纠错层帧边界。本发明的以下实施方式中,1帧数据包括2112比特,其中2080比特是有效载荷,32 比特是校验码。应该理解的是,本发明各实施方式中的方法、设备和系统并不限于这些具体数字,而是可以应用于任何长度的帧。图1根据一种技术方案的用于以太网前向纠错层接收的数据流的解码系统的框图。具体而言,图1示出了根据IEEE 802. 3-2008第74章定义的FEC解码系统的结构图,该FEC解码系统接收来自PMA(Physical Medium Attachment物理介质接入子层)层的输入, 并且将处理结果输出到PCS Physical Coding Sublayer物理编码子层)层。FEC解码系统包括五个模块移位器对从PMA层接收的数据进行移位;PN-2112发生器用于产生PN2112 序列,该序列将会用于与移位器移位后的数据进行异或,实现对接收数据的解扰操作;移位器移位后的数据与PN-2112发生器产生的数据进行异或操作后输入到FEC解码器;FEC解码器将输入的数据进行前向纠错,并将纠错后的数据输出。输出后的数据经过重建64/66 数据块,该模块能够对经FEC解码后的数据进行帧头恢复,将每个FEC帧数据中2080比特的有效载荷恢复成32帧66比特长度的PCS帧,然后该模块的输出进入PCS层。FEC解码器还将产生的校正子输出给同步控制器,用于FEC帧同步的控制,同步控制器的输出给移位器,可以控制移位器的移位。FEC解码器本身又包含校正子产生器、错误诊断器和错误纠正器。其本身是用于前向纠错的,但是由于本发明相关协议的特殊性,其也被用于与发送端的帧同步。图1的电路结构使用的同步过程包括以下步骤a)测试一个假设的帧边界位置;al)通过移位器假设一个帧边界位置,以该假设的帧边界位置为起始,用PN-2112 发生器对接收数据进行解扰码运算;a2)校验子产生器对以假设帧边界为起始位置的一帧数据进行FEC校验;如果校验不匹配(接收到的校验码和运算得到的校验码不相等),则同步控制器会控制移位器将假设的帧边界位置跳过一比特位置,然后重试步骤a);b)对于一个假设帧边界,同步控制器会根据校验子产生器的输出结果确认η个连续帧的FEC校验都正确;bl)如果η个连续帧中任何一个帧的FEC校验出错,则同步控制器会控制移位器将假设的帧边界位置跳过一比特位置,重新开始整个帧同步过程;b2)如果同步控制器检测到接收到的η个连续帧的FEC校验都正确,进入步骤c);c)帧同步建立;d)如果同步控制器检测到连续m个接收到的数据帧的FEC校验都错误,则认为帧同步失步,重新开始整个帧同步过程。对于2112比特位的帧长度,上述步骤最多重复2111次来遍历所有可能的2112个位置以找到正确的帧边界位置。在以上描述中,典型数据取m = 8,η = 4。图2示出了根据图1所示的解码系统进行帧同步的示意图。根据图2,开始时, 帧同步逻辑不知道正确的起始位置,它需要在帧里面假设一个帧起始位置来检验此帧。但当第一帧的最后一位数据进入帧同步逻辑的时候,帧同步逻辑不能马上产生此帧的校验结果。这是因为硬件实现上会有基于流水线结构设计所造成的延迟,此延迟是因为一些功能逻辑,比如解扰码等逻辑,所引起的,而且是不可避免的。这段流水线延迟过后,如果帧同步逻辑检测到第一帧边界的位置是错误的,帧同步逻辑需要在后续假设的帧边界位置跳过一比特作为下一个假设的帧边界。此时,由于如图2所示的流水线延迟,从第二帧的帧边界的起始位置跳过一比特,并开始检测第二帧数据已经来不及了。所以帧同步逻辑不得不丢弃整个第二帧数据直到第三帧数据来了,帧同步逻辑才会基于第三帧的帧边界跳过一比特位,然后对第三帧重复第一帧中的校验操作。
这样在最坏情况下,帧同步逻辑需要检测2112帧,丢弃2111帧并且进行2111次跳过一比特位的操作。这需要用时(2112+2111)^2112+2111 = 8,921,087BT(比特时间) 才能得到正确帧边界(即帧的正确起始位)。这样的帧同步时间和其他相近速率的高速接口相比(SATA2. 0 大概 600, 000ΒΤ, PCIE2. 0 大约 500,000ΒΤ)要长很多。在图1和图2的方案中,由于硬件中流水线结构的存在,当检测一次帧边界时,采用每次跳过一比特位置的方法需要丢弃接近一半的帧,造成帧边界检测时间延长,帧同步速度慢。本发明的实施方式改进了检测帧边界的方法,针对当前待测帧的校正子(当前校验子)不直接通过输入数据产生,而是通过产生针对前一待测帧的校验子(前一校验子) 的中间计算结果而获得,从而加速了帧同步过程。以下为方便描述,假设每个时钟周期只有1比特数据串行输入。在实际电路的实施中,通过对电路结构的展开,可以支持任意比特数据的并行输入和处理。图3是根据本发明一个实施方式的用于以太网前向纠错层接收的数据流的解码系统300的示意框图。FEC解码系统300包括帧边界检测设备310、错误诊断器320、解扰器330、和错误纠正器340。FEC解码系统300还可以包括控制器350和重构器360。帧边界检测设备310检测该数据流的帧边界,并输出当前校正子。错误诊断器320 根据当前校正子和当前帧的校验码确定当前帧中的错误。解扰器330对当前帧进行解扰。 错误纠正器340基于错误诊断器确定的错误对解扰器所解扰的帧进行前向纠错。控制器 350根据来自该帧边界检测设备的帧边界检测结果确定是进行帧边界检测还是进行前向纠错。重构器360用于将完成前向纠错的数据重构成适用于物理编码子层的格式。在根据本发明一实施方式的FEC解码系统300中,帧边界检测设备310可以包括 缓存器311,用于对数据流中的数据进行缓存,该缓存器的数据长度大于1帧;校正子生成器312,用于基于第一数据项、第二数据项以及前一校正子的中间计算结果计算当前校正子,其中第一数据项是当前待测帧的最后一比特数据,第二数据项是该当前待测帧的前一比特数据;以及比较器313,用于使用当前校正子检测该当前待测帧的前一比特数据是否是一个以太网前向纠错层帧边界。在一个实施方式中,FEC解码系统300的解码过程如下首先,帧边界检测设备310利用前述帧边界检测方法检测出所接收的自PMA层输入的数据流的帧边界,并输出与当前帧相关联的校正子,称为当前校正子。当检测到帧边界时,控制器350通知错误诊断器320对当前帧中的错误进行诊断。然后,错误诊断器320根据当前校正子和当前帧的校验码确定当前帧中的错误,其中当前帧的校验码可以根据以太网前向纠错层帧格式得到。随后,对当前帧进行解扰,这例如可以利用图1所示技术方案中采用的解扰方式,利用PN-2112发生器产生的PN2112序列对来自缓存器311的当前帧中的数据进行异或,从而实现对当前帧的解扰操作。然后,错误纠正器340基于错误诊断器320 所确定的错误对解扰的帧进行前向纠错。纠错后的数据输入到重构器360,重构器360将完成前向纠错的数据重构成适用于PCS层的格式,其中重构器360将当前帧的2112比特中的 2080比特有效载荷恢复成32帧66比特长度的PCS帧,然后该模块的输出到PCS层。图4是根据本发明的一个实施方式的用于以太网前向纠错层接收的数据流的帧边界检测设备的框图。图4的帧边界检测设备主要包括三个组件缓存器410、校正子生成器420和比较器 430。总体而言,图4所示的帧边界检测设备可以执行图5所示的根据本发明的一个实施方式的用于以太网前向纠错层接收的数据流的帧边界检测方法。在步骤501,校正子生成器420可以基于第一数据项、第二数据项以及前一校正子的中间计算结果,计算当前校正子,其中第一数据项是当前待测帧的最后一比特数据,第二数据项是当前待测帧的前一比特数据,第二数据项可以从缓存器410得到。在步骤502,比较器430可以使用当前校正子检测该当前待测帧的前一比特数据是否是一个以太网前向纠错层帧边界。具体地,图4所示的帧边界检测设备的结构如下缓存器410用于对数据流中的数据进行缓存。缓存器410可以存储的数据长度大于1帧,缓存器410例如可以是FIFO存储器。校正子生成器420包括第一异或器421、逻辑与运算器422、取模器423、移位器 424、寄存器425、第二异或器426。寄存器425可以存储校正子的中间运算结果。移位器 4M可以对数据项进行移位。取模器423可以对数据项进行取模运算。逻辑与运算器422 可以进行逻辑与运算。第一异或器421可以将三个数据项进行异或运算。第二异或器426 可以将两个数据项进行异或运算。第一异或器421接收第一数据项,作为用于计算当前校正子的第一输入;逻辑与运算器422接收该第二数据项并将该第二数据项与第一参数进行逻辑与运算,得到用于计算当前校正子的第二输入;移位器4M将该寄存器425存储的用于计算前一校正子的第一输出进行1比特左移位,取模器423对移位后的数据取模,得到用于计算当前校正子的第三输入;第一异或器421将用于计算当前校正子的第一输入、第二输入和第三输入进行异或运算,得到用于计算当前校正子的第一输出并存储在寄存器425中;以及第二异或器似6将用于计算当前校正子的第一输出与第二参数进行逻辑异或运算,得到当前校正子。比较器430可以包括获取器431和判断器432。获取器431可以根据以太网前向纠错层帧格式,得到当前待测帧中的位于校验码位置的数据。判断器432可以在当前校正子与位于校验码位置的数据匹配的情况下,判定当前待测帧的前一比特数据是以太网前向纠错层帧边界。以下通过图6描述根据图4的帧边界检测设备如何利用根据本发明一实施方式的帧边界检测方法进行帧边界的检测。图6是根据本发明的另一个实施方式的用于以太网前向纠错层接收的数据流的帧边界检测方法的流程图。在一个实施方式中,校正子是通过实现式(1)来得到的Syndrome(n+1):(n+FL) = r (χ) (n+FL) [r(x)n&M0D2] [ (MODRnilin^1) ‘ χ) modg (χ) ] MODPN(I)其中FL是1帧长度,由于在本实施例中假设采用IEEE 802. 3标准下的帧,所以1帧的长度是2112比特,即FL = 2112。Syndrome(n+1):(n+FL)是针对当前待测帧计算出的校正子,也即当前校正子,其长度等于帧的校验位长度。由于在本实施例中假设采用IEEE802. 3标准下的帧,所以1帧的校验位长度是32比特,即校正子的长度为32比特。本领域技术人员可以理解的是,在采用帧长度不等于2112比特或校验码长度不等于32比特的其他标准的情况下,本发明的方法和系统也是可以应用的。r(x) (n+FL)是用于计算当前校正子的第一输入。r(x)表示从来自PMA层的数据流中接收的数据,假设当前待测帧的前一比特数据序号为n,该当前待测帧的第一比特数据序号为n+1,所以当前待测帧的最后一比特数据的序号为n+FL。因此,r(X)(n+m是来自PMA层的数据流中的当前待测帧的最后一比特数据,在此将其简称为第一数据项。r(x)n&M0D2是用于计算当前校正子的第二输入。如上所述,r(x)表示从来自PMA 层的数据流中接收的数据,假设当前待测帧的第一比特数据序号为Π+1,则!·^、表示当前待测帧的前一比特数据,在此将其简称为第二数据项。M0D2是第一参数,长度等于帧的校验位长度,其是一个预先设定的固定参数并且可以通过M0D2 = (MODI x)modg(x)得到,其中 MODI = x^modgOO并且也是一个固定参数。在本发明的一个实施方式中,M0D2可以以硬连线的方式存储在电路中。符号&表示逻辑与运算,例如,若r(x)n = 0,则用于计算当前校正子的第二输入是0;若r (X)n= 1,则用于计算当前校正子的第二输入是M0D2。(MODRnilin^1) x)modg(x)是用于计算当前校正子的第三输入,其是将M0DRn: 进行1比特左移位(·χ表示进行1比特左移位)后关于g(x)进行取模。M0DRn:(n+^)是用于计算前一校正子的第一输出。其中,“计算前一校正子的第一输出”是前一校正子的中间计算结果,在本实施例中其是通过将用于计算前一校正子的第一输入、第二输入和第三输入进行异或运算得到的,如以下式( 所示MODRn: (η+.” = [ (MODRfe-D: (n+FL_2) · χ) mod g(x)] [r (x)n_1M0D2] r (χ) (2)取模处理可以使用以下多项式,其是由IEEE 802. 3 74. 7. 4. 4. 1节所确定的g(x) = x32+x23+x21+xn+x2+l0得到以上用于计算当前校正子的第一输入、用于计算当前校正子的第二输入和用于计算当前校正子的第三输入后,将这三者进行异或处理,可以得到用于计算当前校正子的第一输出。所得到的第一输出是当前校正子的中间计算结果,可以用于计算下一校正子, 从而每次计算校正子时都可以利用前一校正子的中间计算结果,从而显著减少了计算量, 大大提高了处理速度。MODPN是第二参数,长度等于帧的校验位长度,其是一个预先设定的固定参数且 MODPN = PN2112modg(x),其中PN2112是长度为1帧长度的伪噪声序列,可以利用现有技术中的PN-2112发生器来产生,用于实现对数据的解扰。将第二参数MODPN与用于计算当前校正子的第一输出r(X)(n+FL) [r(x) &M0D2] [(MODRnH1) · x)modg(x)]进行逻辑异或运算,可以得到当前校正子 Syndrome (n+1):(n+FL)。接着参照图6。在步骤601,接收当前待测帧的最后一比特数据,即上述第一数据项r (x) (n+FL),作为用于计算当前校正子的第一输入。在一个实施方式中,如在图4所示的帧边界检测设备中,由第一异或器421来接收当前待测帧的最后一比特数据。然后,在步骤602,接收当前待测帧的前一比特数据,即上述第二数据项r(x)n。
9
接着,在步骤603,将第二数据项r (X)n与第一参数M0D2进行逻辑与运算,得到用于计算当前校正子的第二输入r(x)n&M0D2。在一个实施方式中,如在图4所示的帧边界检测设备中,由逻辑与运算器422接收当前待测帧的前一比特数据r (X)n以及第一参数M0D2, 并将r (X)n与M0D2进行逻辑与运算,得到用于计算当前校正子的第二输入,并将其传输到第一异或器421。然后,在步骤604,将用于计算前一校正子的第一输出MODRnJn+^)进行1比特左移位,从而得到M0DRn:(n+^) ·χ。在一个实施方式中,如在图4所示的帧边界检测设备中,用于计算前一校正子的第一输出M0DRn:(n+^)来自于第一异或器421,由移位器4M对其进行1 比特左移位。然后,在步骤605,对步骤604的得到的结果关于g(x)取模,得到用于计算当前校正子的第三输入(M0DI n:(n+FH) -^mod g(x)。在一个实施方式中,如在图4所示的帧边界检测设备中,取模器423对经移位器似4移位后的结果进行关于g(x)的取模运算,从而得到用于计算当前校正子的第三输入,并将其输入第一异或器421。接着,在步骤606,将用于计算当前校正子的第一输入r(x) (n+FL)、第二输入r (χ) &M0D2和第三输入(M0DI n:(n+FH) .x)modg(x)进行异或运算,得到用于计算当前校正子的第
一输出r (x) (n+FL) [r(x)n&M0D2] [(MODRniin^1) · χ) mod g(x)]。在一个实施方式中,如在图4所示的帧边界检测设备中,第一异或器421将步骤 601得到的用于计算当前校正子的第一输入、步骤603得到的来自于逻辑与运算器422的用于计算当前校正子的第二输入、以及步骤605得到的来自于取模器423的用于计算当前校正子的第三输入进行异或运算,得到用于计算当前校正子的第一输出。然后,在步骤607,将用于计算当前校正子的第一输出与第二参数MODPN进行逻辑异或运算,得到当前校正子Syndr0me(n+1):(n+FL)。在一个实施方式中,如在图4所示的帧边界检测设备中,第二异或器4 接收第二参数,并将其与步骤606得到的用于计算当前校正子的第一输出进行异或运算,最终得到针对当前待测帧的校正子,即当前校正子。第二异或器 426得到当前校正子后,可以将其提供给比较器430中的判断器以进行帧边界的判断,还可以将其提供给图2所示的错误诊断器320以便诊断当前帧(由于进行错误诊断时以确定当前待测帧是一个以太网前向纠错层帧,所以此时将当前待测帧称为当前帧)中的错误。接着,在步骤608,根据以太网前向纠错层帧格式,得到当前待测帧中的位于校验码位置的数据。在一个实施方式中,如在图4所示的帧边界检测设备中,由比较器430中的获取器431执行步骤608的操作,从当前待测帧中得到与校正子长度相等的当前待测帧中的位于校验码位置的数据,并输入到判断器432。然后,在步骤609,在当前校正子Syndrome(n+1):(n+FL)与位于校验码位置的数据匹配的情况下,判定当前待测帧的前一比特数据是以太网前向纠错层帧边界。在一个实施方式中,如在图4所示的帧边界检测设备中,比较器430中的判断器432接收得到当前待测帧中的位于校验码位置的数据,并接收来自第二异或器426的当前校正子,将二者的每个比特分别进行比较。比较器430可以在二者一致的情况下,认为当前校正子与位于校验码位置的数据匹配,从而判定第一异或器421在步骤601所接收的当前待测帧的最后一比特数据 (即第一数据项)是一个以太网前向纠错层帧边界。
在步骤609之后,流程结束。图7示出了根据本发明的一个实施方式的帧边界检测设备如何进行帧同步的示意图。假设在第一待测帧之前存在一个“假(fake) ”巾贞,该假帧具有2112个为0的比特, 其并不是来自PMA层的数据流中的数据。如图7所示,在时间-2111处,可以得到帧-2111的校正子,此时M0DR(_2112):H)是 32比特的0值。在时间-2110处,根据本发明的式(1)和式⑵可以得到与帧-2110对应的M0DR(_2111):Q和校正子Syndr0me(_2111):Q,但是该校正子是“假”校正子,因为这种“假”校正子对应的是假设的“假”帧。类似地,在时间1处,可以得到与帧1 (即第一待测帧)对应的M0DR:q:2111和校正子 Syndrome0l21110此时,可以使用该校正子与帧1中的位于校验码位置的数据进行比较,从而判定帧1是否是一个以太网前向纠错层帧。在时间2处,可以得到与帧2 (即第二待测帧)对应的M0DR:1:2112和校正子 Syndromell21120此时,可以使用该校正子与帧2中的位于校验码位置的数据进行比较,从而判定帧2是否是一个以太网前向纠错层帧。如此一直进行,当在时间2112处,可以得到与帧2112对应的M0DR:2111:4m和校正子Syndrol^2im4222 t5此时,可以使用该校正子与帧2112中的位于校验码位置的数据进行比较,从而判定帧2112是否是一个以太网前向纠错层帧。由此,在最差的情况下,通过对以连续的2112比特为起始位置的2112个待测帧进行帧边界检测,一定可以检测到帧边界。也就是说,利用本发明的方法,检测到帧边界所需要的时间最多是42MBT(比特时间)。与现有技术的8,921,087 BT相比,本发明实施方式中的方法将以太网前向纠错层接收的数据流的帧边界检测速度提高了约2112倍,显著提高了 FEC解码系统的处理效率。附图中的流程图和框图示出了根据各种实施方式的系统、 方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个步骤可以代表模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包括一个或多个用于实现指定的逻辑功能的可执行指令。还应当注意,在有些备选实现中,步骤中标注的功能也可以以不同于附图中所标注的顺序发生。例如,连续示出的两个步骤实际上可以基本并行地执行,或者这些步骤有时也可以按相反的顺序执行,这依所涉及的功能而定。本发明可以采取完全硬件实施方式、完全软件实施方式或既包含硬件组件又包含软件组件的实施方式的形式。在优选实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。而且,本发明还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。 出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、 通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适合与存储/或执行程序代码的数据处理系统将包括至少一个处理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间所利用的本地存储器、大容量存储器、以及提供至少一部分程序代码的临时存储以便减少执行期间从大容量存储器必须取回代码的次数的高速缓冲存储器。输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可以直接地或通过中间I/O控制器耦合到系统。网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个例子。从上述描述应当理解,在不脱离本发明真实精神的情况下,可以对本发明各实施方式进行修改和变更。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。 本发明的范围仅受所附权利要求书的限制。
权利要求
1.一种用于以太网前向纠错层接收的数据流的帧边界检测方法,包括基于第一数据项、第二数据项以及前一校正子的中间计算结果,计算当前校正子,其中第一数据项是当前待测帧的最后一比特数据,第二数据项是所述当前待测帧的前一比特数据;以及使用当前校正子检测所述当前待测帧的前一比特数据是否是一个以太网前向纠错层帧边界。
2.根据权利要求1所述的方法,其中计算当前校正子包括 接收所述第一数据项,作为用于计算当前校正子的第一输入;接收所述第二数据项并将所述第二数据项与第一参数进行逻辑与运算,得到用于计算当前校正子的第二输入;将用于计算前一校正子的第一输出进行1比特左移位并取模,得到用于计算当前校正子的第三输入;将所述用于计算当前校正子的第一输入、第二输入和第三输入进行异或运算,得到用于计算当前校正子的第一输出;将用于计算当前校正子的第一输出与第二参数进行逻辑异或运算,得到当前校正子。
3.根据权利要求2所述的方法,其中在取模的处理中使用以下多项式 g(x) = x32+x23+x21+xn+x2+l
4.根据权利要求2所述的方法,其中所述第一参数和所述第二参数是预先设定的固定参数。
5.根据权利要求1所述的方法,其中使用当前校正子检测所述当前待测帧的前一比特数据是否是一个以太网前向纠错层帧边界包括根据以太网前向纠错层帧格式,得到当前待测帧中的位于校验码位置的数据;以及在当前校正子与所述位于校验码位置的数据匹配的情况下,判定所述当前待测帧的前一比特数据是一个以太网前向纠错层帧边界。
6.一种用于以太网前向纠错层接收的数据流的帧边界检测设备,该设备包括 缓存器,用于对数据流中的数据进行缓存,所述缓存器的数据长度大于1帧;校正子生成器,用于基于第一数据项、第二数据项以及前一校正子的中间计算结果计算当前校正子,其中第一数据项是当前待测帧的最后一比特数据,第二数据项是所述当前待测帧的前一比特数据;以及比较器,用于使用当前校正子检测所述当前待测帧的前一比特数据是否是一个以太网前向纠错层帧边界。
7.根据权利要求6所述的设备,其中所述校正子生成器包括 寄存器,用于存储校正子的中间运算结果;移位器,用于对数据项进行移位; 取模器,用于对数据项进行取模运算; 逻辑与运算器,用于进行逻辑与运算; 第一异或器,用于将三个数据项进行异或运算;以及第二异或器,用于将两个数据项进行异或运算,其中,所述第一异或器接收所述第一数据项,作为用于计算当前校正子的第一输入;其中所述逻辑与运算器接收所述第二数据项并将所述第二数据项与第一参数进行逻辑与运算,得到用于计算当前校正子的第二输入;其中所述移位器将所述寄存器存储的用于计算前一校正子的第一输出进行1比特左移位,所述取模器对移位后的数据取模,得到用于计算当前校正子的第三输入;其中所述第一异或器将所述用于计算当前校正子的第一输入、第二输入和第三输入进行异或运算,得到用于计算当前校正子的第一输出并存储在所述寄存器中;以及其中所述第二异或器将用于计算当前校正子的第一输出与第二参数进行逻辑异或运算,得到当前校正子。
8.根据权利要求7所述的设备,其中所述取模器使用以下多项式进行取模 g(x) = x32+x23+x21+xn+x2+l
9.根据权利要求7所述的设备,其中所述第一参数和所述第二参数是预先设定的固定参数。
10.根据权利要求7所述的设备,所述比较器包括获取器,用于根据以太网前向纠错层帧格式,得到当前待测帧中的位于校验码位置的数据;以及判断器,用于在当前校正子与所述位于校验码位置的数据匹配的情况下,判定所述当前待测帧的前一比特数据是一个以太网前向纠错层帧边界。
11.一种用于以太网前向纠错层接收的数据流的解码方法,包括利用根据权利要求1-5中任一项的帧边界检测方法检测所述数据流的帧边界,并输出当前校正子;根据当前校正子和当前待测帧的校验码确定当前帧中的错误;对当前待测帧进行解扰;以及基于所确定的错误对解扰的帧进行前向纠错。
12.根据权利要求11所述的方法,还包括根据帧边界检测结果确定是进行帧边界检测还是进行前向纠错。
13.根据权利要求11所述的方法,还包括将完成前向纠错的数据重构成适用于物理编码子层的格式。
14.一种用于以太网前向纠错层接收的数据流的解码系统,包括根据权利要求6-10中任一项的帧边界检测设备,用于检测所述数据流的帧边界,并输出当前校正子;错误诊断器,用于根据当前校正子和当前帧的校验码确定当前帧中的错误; 解扰器,用于对当前帧进行解扰;以及错误纠正器,用于基于错误诊断器确定的错误对解扰器所解扰的帧进行前向纠错。
15.根据权利要求14所述的系统,还包括控制器,用于根据来自所述帧边界检测设备的帧边界检测结果确定是进行帧边界检测还是进行前向纠错。
16.根据权利要求14所述的系统,还包括重构器,用于将完成前向纠错的数据重构成适用于物理编码子层的格式。
全文摘要
公开了一种用于以太网前向纠错层接收的数据流的帧边界检测方法和设备,并公开了一种用于以太网前向纠错层接收的数据流的解码方法和系统。该帧边界检测设备可以包括缓存器,用于对数据流中的数据进行缓存,所述缓存器的数据长度大于1帧;校正子生成器,用于基于第一数据项、第二数据项以及前一校正子的中间计算结果计算当前校正子,其中第一数据项是当前待测帧的最后一比特数据,第二数据项是所述当前待测帧的前一比特数据;以及比较器,用于使用当前校正子检测所述第一比特数据是否是一个以太网前向纠错层帧边界。该帧边界检测设备可以提高帧边界检测速度。
文档编号H04L1/00GK102263609SQ20101019237
公开日2011年11月30日 申请日期2010年5月31日 优先权日2010年5月31日
发明者刘洋, 李宇飞, 林一帆, 范博 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1