CN101997628B - 以太网前向纠错层接收的数据流的帧边界检测方法和系统 - Google Patents
以太网前向纠错层接收的数据流的帧边界检测方法和系统 Download PDFInfo
- Publication number
- CN101997628B CN101997628B CN 200910168619 CN200910168619A CN101997628B CN 101997628 B CN101997628 B CN 101997628B CN 200910168619 CN200910168619 CN 200910168619 CN 200910168619 A CN200910168619 A CN 200910168619A CN 101997628 B CN101997628 B CN 101997628B
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- frame length
- length
- sbn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/048—Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
Abstract
本发明公开了用于以太网前向纠错层接收的数据流的帧边界检测方法和系统,方法包括:从数据流截取一帧长度的数据;从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;返回上述截取步骤;如果该一帧长度的数据的FEC校验正确,则确定该一帧长度的数据的起始位置为数据流的帧边界位置。本发明能够提高帧边界检测速度和帧同步速度,并且没有增加硬件的开销。
Description
技术领域
本发明一般涉及数据处理方法和系统,具体涉及一种用于以太网向纠错层接收的数据流的帧边界检测方法和系统。
背景技术
IEEE 802.3ap-2007第74章(最新版本为IEEE802.3-2008)以及IEEEP802.3 D1.2定义了应用于10G以太网的BASE-R物理层的前向纠错(Forward Error Correction,简称FEC)子层。该FEC子层标准将系统的误码率(BER rate)从10-7减少到10-12。而且此标准也适用于40G/100G以太网的应用。
为了兼容不同的以太网应用层,协议规定FEC层压缩原始帧头以留出空间加载FEC校验位,从而保证该层与其他应用层保持一致的帧长度(IEEE802.3ap-2007第74章定义的帧长度为2112比特位)。但是这样的处理方法导致接收端很难识别各帧之间的帧边界,需要耗费大量时间和发送端帧同步,才能找出正确的帧边界位置。
图1示出了IEEE 802.3ap-2007第74章定义的一种实现帧同步的通用电路结构,该电路结构使用的方法包括:
a)测试一个假设的帧边界位置;
a1)以该假设的帧边界位置为起始,用PN-2112发生器对接收数据进行解扰码运算;
a2)对以假设帧边界为起始位置的一帧数据进行FEC校验;
i)如果校验不匹配(接收到的校验位和运算得到的校验位不相等),则需将假设的帧边界位置跳过一比特位置,然后重试步骤a);
b)对于一个假设帧边界,确认n个连续帧的FEC校验都正确;
b1)如果n个连续帧中任何一个帧的FEC校验出错,则需将假设的帧边界位置跳过一比特位置,重新开始整个帧同步过程;
b2)如果接收到的n个连续帧的FEC校验都正确,进入步骤c);
c)帧同步建立;
d)如果连续m个接收到的数据帧的FEC校验都错误,则认为帧同步失步,重新开始整个帧同步过程。
对于2112比特位的帧长度,上述步骤最多重复2111次来遍历所有可能的2112个位置以找到正确的帧边界位置。在以上描述中,典型数据取:m=8,n=4。
简单的说,帧同步逻辑需要在帧里面定位到正确的帧起始位置,这样帧同步才能完成。通用方法的缺陷在于,在寻找正确帧起始位置的过程中,该方法需要丢弃很多帧以适应上述一次跳过一比特位置的步骤。
图2示意性地示出了通用方法如何进行帧同步。根据图2,开始时,帧同步逻辑不知道正确的起始位置,它需要在帧里面假设一个帧起始位置来检验此帧。但当第一帧的最后一位数据进入帧同步逻辑的时候,帧同步逻辑不能马上产生此帧的校验结果。这是因为硬件实现上会有基于流水线结构设计所造成的延迟,此延迟是因为一些功能逻辑,比如解扰码等逻辑,所引起的,而且是不可避免的。这段流水线延迟过后,如果帧同步逻辑检测到第一帧边界的位置是错误的,帧同步逻辑需要在后续假设的帧边界位置跳过一比特作为下一个假设的帧边界。此时,由于如图2所示的流水线延迟,从第二帧的帧边界的起始位置跳过一比特,并开始检测第二帧数据已经来不及了。所以帧同步逻辑不得不丢弃整个第二帧数据直到第三帧数据来了,帧同步逻辑才会基于第三帧的帧边界跳过一比特位,然后对第三帧重复第一帧中的校验操作。
这样在最坏情况下,帧同步逻辑需要检测2112帧,丢弃2111帧并且进行2111次跳过一比特位的操作。这需要用时(2112+2111)*2112+2111=8,921,087BT(比特时间)才能得到正确帧边界(即帧的正确起始位)。这样的帧同步时间和其他相近速率的高速接口相比(SATA2.0大概600,000BT,PCIE2.0大约500,000BT)要长很多。
发明内容
与IEEE标准802.3ap-2007标准描述的上述每次跳过一比特位位置算法不同,本发明优化了以太网前向纠错层接收的数据流的帧边界检测方法和系统,以及该前向纠错层的数据流的帧同步方法和系统。
根据本发明的一个方面,公开了一种用于以太网前向纠错层接收的数据流的帧边界检测方法,该方法包括:
从数据流截取一帧长度的数据;
从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;
如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;
返回上述截取步骤;
如果该一帧长度的数据的FEC校验正确,则确定该一帧长度的数据的起始位置为数据流的帧边界位置。
根据本发明的另一个方面,公开了一种用于以太网前向纠错层接收的数据流的帧同步方法,包括:
从数据流截取一帧长度的数据;
从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;
如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;
返回上述截取步骤;
如果该一帧长度的数据的FEC校验正确,则判断后续n个连续一帧长度的数据的FEC校验是否正确,n为大于1的整数;
如果后续n个连续帧中任何一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数,返回上述从数据流截取一帧长度的数据步骤;
如果后续n个连续一帧长度的数据的FEC校验都正确,则判断数据为帧同步。
根据本发明的再一个方面,公开了一种用于以太网前向纠错层接收的数据流的帧边界检测系统,该系统包括:
截取装置,用于从数据流截取一帧长度的数据;
FEC校验装置,用于从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;
跳位装置,用于如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;
其中如果跳位装置跳过sbn比特位后,截取装置重新开始截取下一帧长度的数据,直到FEC校验装置对截取的一帧长度的数据校验正确,则确定此时该一帧长度的数据的起始位置为数据流的帧边界位置。
根据本发明的又一个方面,公开了一种用于以太网前向纠错层接收的数据流的帧同步系统,包括:
截取装置,用于从数据流截取一帧长度的数据;
FEC校验装置,用于从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;
跳位装置,用于如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;
判断装置,用于如果该一帧长度的数据FEC校验正确,判断后续n个连续一帧长度的数据的FEC校验是否正确,n为大于1的整数;
其中如果跳位装置跳过sbn比特位后,截取装置重新开始截取下一帧长度的数据,直到FEC校验装置对截取的一帧长度的数据校验正确,然后判断装置对后续n个连续一帧长度的数据的FEC校验进行判断;如果判断装置判断后续n个连续一帧长度的数据中任何一个一帧长度的数据的FEC校验不正确,则跳位装置再次跳过sbn比特位后,截取装置重新开始截取下一帧长度的数据;如果判断装置判断后续n个连续一帧长度的数据的FEC校验都正确,则判断装置确定数据为帧同步。
应用本发明的技术方案,能够根据不同前向纠错层硬件设计的流水线延迟调整跳位装置跳过的比特数,从而提高帧边界检测速度,实现快速帧同步。并且本发明在提高帧边界检测速度以及增快帧同步速度将近一倍的同时,没有增加硬件的开销。本发明的方法不仅适用于标准中规定的10G/40G/100G以太网,而且适用于任何带宽的以太网;同时,本发明的方法不仅适用于标准中采用的BASE-R传输介质,同时,还适用于采用任何传输介质的以太网。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。
图1示出了IEEE 802.3ap-2007第74章定义的一种实现帧同步的通用电路结构;
图2示意性地示出了通用方法如何进行帧同步;
图3a示出了7位长度的帧,每次跳过一比特位置的情况;
图3b示出了7位长度的帧,每次跳过三比特位置的情况;
图4示意性地示出了使用本发明的跳过sbn比特位后如何进行数据流的帧边界检测;
图5示出了图4的数据流的帧边界检测方法流程;
图6示出了根据本发明的一个实施例的用于以太网前向纠错层接收的数据流的帧同步方法流程;
图7示出了一种用于以太网前向纠错层接收的数据流的帧边界检测系统的结构框图;以及
图8示出了一种用于以太网前向纠错层接收的数据流的帧同步系统的结构框图。
具体实施方式
将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。
在现有技术的方案中,由于硬件中流水线结构的存在,当采用每次跳过一比特位置的方法,接近一半的帧要被丢弃,造成帧边界检测时间延长,帧同步速度慢。在对第一个假设的帧边界位置检测FEC校验失败之后,现有技术的方法的目的是通过在2111次跳过一位操作将剩余的2111个可能的帧边界位置都覆盖到。本发明的发明人提出:与每次跳过一位相比较,如果使用的跳过位数与2112,也就是帧的长度互质(也称互素,即跳过位数与帧的长度这两个数没有除了1以外的公约数),也能通过2111次移位覆盖到所有可能的帧边界位置。这样,就无需丢弃接近一半的帧,从而可以提高帧边界检测速度,节省帧同步时间。
举例来讲,图3a示出了7位长度的帧,每次跳过一比特位置的情况。图3a表示每次跳过一位,7个可能的帧起始位置可以通过6次跳过一位操作完全覆盖,即0-1,1-2,2-3,3-4,4-5,5-6共6次。具体过程为:图3a中的7个点就是帧边界可能处于的7个位置,初始时检测点0是否为帧头,如检测出错,就将测试的帧头位置跳过1个位置(逆时针),转到点1。以此类推,经过6次,按0->1->2->3->4->5->6的顺序能够遍历帧边界可能处于的所有7个位置,这里跳过位数为1。
图3b示出了7位长度的帧,每次跳过三比特位置的情况。图3b表示每次跳过三比特位置,7个备选位也能通过6次跳过一位操作完全覆盖,即0-3,3-6,6-2,2-5,5-1,1-4共6次。具体过程为:图3b中的7个点就是帧边界可能处于的7个位置,初始时检测点0是否为帧头,如检测出错,就将测试的帧头位置跳过3个位置(逆时针),转到点3。以此类推,经过6次,按0->3->6->2->5->1->4的顺序能够遍历帧边界可能处于的所有7个位置,这里跳过位数3与帧长度7是互质的。
下面证明对一帧数据,假设帧长为fl,每次跳过位数为sbn,fl与sbn互质时,通过fl-1次移位能遍历该帧中的每个位置。
其实我们只要证明:对于任意整数0≤a<b<fl,有(a×sbn)modfl≠(b×sbn)modfl即可。上式等价于:对于任意不同的跳过位数a,b∈(0,fl-1),跳位后所处的位置也不同,因此进行fl-1次的跳位之后能遍历所有可能的帧头位置。
下面将用反正法证明如上不等式:
由于fl与sbn互质,根据互质数的性质,可知fl与sbn的最小公倍数为(fl×sbn);假设整数a和b满足0≤a<b<fl,且存在一组a和b满足(a×sbn)modfl=(b×sbn)modfl,则对于该组a和b有:
(b×sbn)modfl-(a×sbn)modfl=0
由取模运算的结合律
(b×sbn-a×sbn)mod fl=0
[(b-a)×sbn]modfl=0
为使上式成立,必须找到整数[(b-a)×sbn]使之能被fl整除([(b-a)×sbn]显然能被sbn整除)。
由于0≤a<b<fl,故0<(b-a)<fl
因此0<[(b-a)×sbn]<(fl×sbn)
由于fl与sbn的最小公倍数为(fl×sbn),故不存在小于(fl×sbn)的整数[(b-a)×sbn]能同时被sbn和fl整除,故假设等式不成立。
因此任意整数0≤a<b<fl,有(a×sbn)modfl≠(b×sbn)modfl证毕。
这样,就能通过将跳过位数(以下设跳过位数为sbn比特位)选择为与帧的长度互质的数来遍历该帧中的每一个位置。
但是,由于硬件的流水线延迟,如果跳过位数sbn小于该流水线延迟,第二帧数据仍然不得不被丢弃,因此,本发明中,跳过位数sbn还要大于硬件的流水线延迟。这里需要说明的是:在本技术领域中,数据的长度与时间长度存在着一一对应的关系,因此本领域技术人员对此不加以区别,例如,流水线延迟本身是时间长度单位,但是,该时间长度单位对应着通信系统的数据流长度单位,即比特位,因此,本领域技术人员直接使用比特位表示流水线延迟。
图4示意性地示出了使用本发明的跳过位数sbn后如何进行帧边界检测。根据图4,开始时,帧同步逻辑不知道正确的帧起始位置,其假设截取的一帧长度的数据的起始位置为帧边界位置,如果帧同步逻辑检测到该假设的帧边界的位置是错误的,帧同步逻辑需要在后续接收的数据跳过sbn比特作为下一个截取的一帧数据的起始位置。此时,由于如图4所示的跳过位数sbn大于流水线延迟,可以根据以下公式推出跳过位数计算的公式和帧同步时间的计算方法:
假设需要帧同步的帧长度是fl,流水线延迟是K,跳过位数sbn的可选值为:
sbn≥K且sbn和fl互质
最坏情况下的帧同步时间为:
fl×fl+(fl-1)×sbn
原来的第二帧数据就无需全部丢弃,而只丢弃sbn个比特位,这样,就能把丢弃的数据比特数减至最少,从而节省帧边界检测时间和帧同步时间。
图5示出了图4的数据流的帧边界检测方法流程。根据图5,在步骤S501,从数据流截取一帧长度的数据;在步骤S502,从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;在步骤S503,判断该一帧长度的数据的FEC校验是否正确,FEC校验可以采用IEEE 802.3ap-2007第74章标准中定义的校验方法;如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;然后返回截取步骤S502;如果该一帧长度的数据的FEC校验正确,则在步骤S505确定该一帧长度的数据的起始位置为数据流的帧边界位置。
图6示出了根据本发明的一个实施例的用于以太网前向纠错层接收的数据流的帧同步方法流程。根据图6,在步骤S601,从数据流截取一帧长度的数据;在步骤S602,从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;在步骤S603,判断该一帧长度的数据的FEC校验是否正确;如果该一帧长度的数据的FEC校验不正确;则在步骤S604,将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;然后返回截取步骤S602;如果该一帧长度的数据的FEC校验正确,则在步骤S605判断后续n个连续一帧长度的数据的的FEC校验是否正确,n为大于1的整数;如果在步骤S605判断如果后续n个连续帧中任何一帧长度的数据的FEC校验不正确,则在步骤S606将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数,返回上述从数据流截取一帧长度的数据步骤;如果后续n个连续一帧长度的数据的FEC校验都正确,则在步骤S607,则判断数据为帧同步。
图5和图6的流程中,sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数,因此,sbn的取值可以有多个,其中,如果sbn为大于所述流水线延迟并且与帧的长度互质的整数中最小的数,这时,根据最坏情况下的帧同步时间公式,此时的帧同步时间最小。另外,由于过程要用到所述以太网前向纠错层的硬件电路的流水线延迟,因此,在一种实施方式中,还包括步骤:确定所述以太网前向纠错层的硬件电路的流水线延迟。此外,根据IEEE 802.3ap-2007第74章的标准的要求,在对该一帧长度的数据进行FEC校验前,需要对该一帧长度的数据进行解扰码运算。
使用本发明的方法,如果流水线延迟是96BT,选择跳过位数97(97与2112互质),则帧同步时间减少到最大为2112*2112+2111*97=4,665,311BT.与现有技术的方法8,921,087BT相比,帧同步时间是现有技术方法的一半。在使用本发明的方法之后,每次移位不再需要丢弃一整帧数据,而只需丢弃与跳过位数相同的数据比特。因此跳过位数越小,丢弃的数据比特也越少,因此实现帧同步的速度也就越快。
在同一个发明构思下,本发明图7示出了一种用于以太网前向纠错层接收的数据流的帧边界检测系统700的结构框图,根据图7,该系统包括:截取装置701,用于从数据流截取一帧长度的数据;FEC校验装置702,用于从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验:跳位装置703,跳位装置,用于如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;其中如果跳位装置跳过sbn比特位后,截取装置重新开始截取下一帧长度的数据,直到FEC校验装置对截取的一帧长度的数据校验正确,则确定此时该一帧长度的数据的起始位置为数据流的帧边界位置。
在同一个发明构思下,本发明图8示出了一种用于以太网前向纠错层接收的数据流的帧同步系统800的结构框图,根据图8,该系统包括:截取装置801,用于从数据流截取一帧长度的数据;FEC校验装置802,用于从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;跳位装置803,用于如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;判断装置804,用于如果该一帧长度的数据FEC校验正确,判断后续n个连续一帧长度的数据的FEC校验是否正确,n为大于1的整数;其中如果跳位装置803跳过sbn比特位后,截取装置801重新开始截取下一帧长度的数据,直到FEC校验装置802对截取的一帧长度的数据校验正确,然后判断装置804对后续n个连续一帧长度的数据的FEC校验进行判断;如果判断装置804判断后续n个连续一帧长度的数据中任何一个一帧长度的数据的FEC校验不正确,则跳位装置803再次跳过sbn比特位后,截取装置801重新开始截取下一帧长度的数据然后进行FEC校验;如果判断装置804判断后续n个连续一帧长度的数据的FEC校验都正确,则判断装置804确定数据为帧同步。
图7和图8所示的帧边界检测系统700和帧同步系统800中,sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数,因此,sbn的取值可以有多个,其中,如果sbn为大于所述流水线延迟并且与帧的长度互质的整数中最小的数,这时,根据最坏情况下的帧同步时间公式,此时的帧同步时间最小。此外,根据IEEE 802.3ap-2007第74章的标准的要求,在FEC校验器对该一帧长度的数据进行FEC校验前,这两个系统还需要对该一帧长度的数据进行解扰码运算的解扰码器。
本发明可以用于改进图1所示的FEC解码器,具体来说,可以用于改进图1所示的FEC块帧同步模块,能够提高接收的数据流的帧边界检测速度和帧同步速度,并且没有增加硬件的开销。
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。
并且根据上述描述,所属技术领域的技术人员知道,本发明可以体现为装置、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言——诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
此外,本发明的流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品,
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种用于以太网前向纠错层接收的数据流的帧边界检测方法,该方法包括:
从数据流截取一帧长度的数据;
对该一帧长度的数据进行解扰码运算;
从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;
如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;
返回上述截取步骤;
如果该一帧长度的数据的FEC校验正确,则确定该一帧长度的数据的起始位置为数据流的帧边界位置。
2.根据权利要求1所述的方法,其中还包括步骤:确定所述以太网前向纠错层的硬件电路的流水线延迟。
3.根据权利要求1或2所述的方法,其中sbn为大于所述流水线延迟并且与帧的长度互质的整数中最小的数。
4.一种用于以太网前向纠错层接收的数据流的帧同步方法,包括:
从数据流截取一帧长度的数据;
对该一帧长度的数据进行解扰码运算;
从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;
如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;
返回上述截取步骤;
如果该一帧长度的数据的FEC校验正确,则判断后续n个连续一帧长度的数据的FEC校验是否正确,n为大于1的整数;
如果后续n个连续帧中任何一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数,返回上述从数据流截取一帧长度的数据步骤;
如果后续n个连续一帧长度的数据的FEC校验都正确,则判断数据为帧同步。
5.根据权利要求4所述的方法,其中还包括步骤:确定所述以太网前向纠错层的硬件电路的流水线延迟。
6.根据权利要求4或5所述的方法,其中sbn为大于所述流水线延迟并且与帧的长度互质的整数中最小的数。
7.一种用于以太网前向纠错层接收的数据流的帧边界检测系统,该系统包括:
截取装置,用于从数据流截取一帧长度的数据;
解扰码器,用于FEC校验器在对该一帧长度的数据进行FEC校验前,该解扰码器对该一帧长度的数据进行解扰码运算;
FEC校验装置,用于从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;
跳位装置,用于如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;
其中如果跳位装置跳过sbn比特位后,截取装置重新开始截取下一帧长度的数据,直到FEC校验装置对截取的一帧长度的数据校验正确,则确定此时该一帧长度的数据的起始位置为数据流的帧边界位置。
8.根据权利要求7所述的系统,其中sbn为大于所述流水线延迟并且与帧的长度互质的整数中最小的数。
9.一种用于以太网前向纠错层接收的数据流的帧同步系统,包括:
截取装置,用于从数据流截取一帧长度的数据;
解扰码器,用于FEC校验器在对该一帧长度的数据进行FEC校验前,该解扰码器对该一帧长度的数据进行解扰码运算;
FEC校验装置,用于从该一帧长度的数据的起始位置开始,对该一帧长度的数据进行FEC校验;
跳位装置,用于如果该一帧长度的数据的FEC校验不正确,则将从数据流的上述一帧长度的数据的结束位置的下一比特位开始,跳过sbn比特位的数据流位置作为待截取的下一帧数据的起始位置,其中sbn为大于所述以太网前向纠错层的硬件电路的流水线延迟,并且与帧的长度互质的整数;
判断装置,用于如果该一帧长度的数据FEC校验正确,判断后续n个连续一帧长度的数据的FEC校验是否正确,n为大于1的整数;
其中如果跳位装置跳过sbn比特位后,截取装置重新开始截取下一帧长度的数据,直到FEC校验装置对截取的一帧长度的数据校验正确,然后判断装置对后续n个连续一帧长度的数据的FEC校验进行判断;如果判断装置判断后续n个连续一帧长度的数据中任何一个一帧长度的数据的FEC校验不正确,则跳位装置再次跳过sbn比特位后,截取装置重新开始截取下一帧长度的数据;如果判断装置判断后续n个连续一帧长度的数据的FEC校验都正确,则判断装置确定数据为帧同步。
10.根据权利要求9所述的系统,其中sbn为大于所述流水线延迟并且与帧的长度互质的整数中最小的数。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910168619 CN101997628B (zh) | 2009-08-28 | 2009-08-28 | 以太网前向纠错层接收的数据流的帧边界检测方法和系统 |
US13/391,936 US8769368B2 (en) | 2009-08-28 | 2010-07-29 | Method and system for detecting the frame boundary of a data stream received in forward error correction layer in the ethernet |
PCT/EP2010/061069 WO2011023489A1 (en) | 2009-08-28 | 2010-07-29 | Method and system for detecting the frame boundary of a data stream received in forward error correction layer in the ethernet |
JP2012525960A JP5536889B2 (ja) | 2009-08-28 | 2010-07-29 | イーサネット内の順方向誤り訂正層で受信したデータ・ストリームのフレーム境界を検出するための方法およびシステムならびにそのデータ・ストリームに関するフレーム同期方法およびシステム |
GB1119649.0A GB2504915A (en) | 2009-08-28 | 2010-07-29 | Method and system for detecting the frame boundary of a data stream received in forward error correction layer in the ethernet |
DE112010003445T DE112010003445B4 (de) | 2009-08-28 | 2010-07-29 | Verfahren und System zur Erkennung der Rahmengrenze eines in der Vorwärtsfehlerkorrekturschicht im Ethernet empfangenen Datenstroms |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910168619 CN101997628B (zh) | 2009-08-28 | 2009-08-28 | 以太网前向纠错层接收的数据流的帧边界检测方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101997628A CN101997628A (zh) | 2011-03-30 |
CN101997628B true CN101997628B (zh) | 2013-08-14 |
Family
ID=43054064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910168619 Active CN101997628B (zh) | 2009-08-28 | 2009-08-28 | 以太网前向纠错层接收的数据流的帧边界检测方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8769368B2 (zh) |
JP (1) | JP5536889B2 (zh) |
CN (1) | CN101997628B (zh) |
DE (1) | DE112010003445B4 (zh) |
GB (1) | GB2504915A (zh) |
WO (1) | WO2011023489A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784283A (zh) * | 2014-07-22 | 2020-02-11 | 华为技术有限公司 | 确定前向纠错帧边界的方法、装置和解码系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035616B (zh) * | 2009-09-30 | 2013-12-04 | 国际商业机器公司 | 以太网前向纠错层接收的数据流的帧边界检测和同步系统 |
US8935160B2 (en) * | 2011-09-02 | 2015-01-13 | Harris Corporation | Systems and methods for frame synchronization |
US8902925B2 (en) * | 2012-05-01 | 2014-12-02 | Texas Instruments Incorporated | Forward error correction decoder |
US9465689B2 (en) * | 2014-11-20 | 2016-10-11 | Globalfoundries Inc. | Forward error correction synchronization |
WO2020024199A1 (en) * | 2018-08-02 | 2020-02-06 | Texas Instruments Incorporated | High speed flexled digital interface |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128945A (en) * | 1989-12-21 | 1992-07-07 | Stratacom, Inc. | Packet framing using cyclic redundancy checking |
CN1630281A (zh) * | 2003-06-13 | 2005-06-22 | 直视集团公司 | 用于数字广播和交互式业务的成帧结构 |
EP1983677A2 (en) * | 2007-04-19 | 2008-10-22 | LG Electronics Inc. | Method and apparatus for transmitting and receiving an encoded signal |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1298005C (en) * | 1987-03-31 | 1992-03-24 | Kazuo Iguchi | Frame synchronizing apparatus |
JPH05304519A (ja) * | 1992-04-02 | 1993-11-16 | Nec Corp | フレーム同期回路 |
JPH10178406A (ja) * | 1996-12-18 | 1998-06-30 | Matsushita Electric Ind Co Ltd | 多重化フレーム長変更方法ならびに同期フラグ変更方法および多重化ヘッダ抽出方法 |
JP4244568B2 (ja) * | 2002-06-12 | 2009-03-25 | 日本ビクター株式会社 | 再生装置、再生方法及びプログラム |
JP2004214743A (ja) * | 2002-12-26 | 2004-07-29 | Dds:Kk | パケット同期方式 |
US8208499B2 (en) | 2003-06-13 | 2012-06-26 | Dtvg Licensing, Inc. | Framing structure for digital broadcasting and interactive services |
US7152199B2 (en) * | 2004-06-02 | 2006-12-19 | Teknovus, Inc. | Method and apparatus for delineating data in an FEC-coded Ethernet frame |
US7676733B2 (en) * | 2006-01-04 | 2010-03-09 | Intel Corporation | Techniques to perform forward error correction for an electrical backplane |
KR100936857B1 (ko) * | 2006-06-26 | 2010-01-14 | 히다치 가세고교 가부시끼가이샤 | 내열성 수지 페이스트 및 그 제조방법 |
WO2009062357A1 (en) * | 2007-11-13 | 2009-05-22 | Huawei Technologies Co., Ltd. | System and method for data synchronization in passive optical networks |
-
2009
- 2009-08-28 CN CN 200910168619 patent/CN101997628B/zh active Active
-
2010
- 2010-07-29 WO PCT/EP2010/061069 patent/WO2011023489A1/en active Application Filing
- 2010-07-29 JP JP2012525960A patent/JP5536889B2/ja active Active
- 2010-07-29 GB GB1119649.0A patent/GB2504915A/en not_active Withdrawn
- 2010-07-29 US US13/391,936 patent/US8769368B2/en active Active
- 2010-07-29 DE DE112010003445T patent/DE112010003445B4/de active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128945A (en) * | 1989-12-21 | 1992-07-07 | Stratacom, Inc. | Packet framing using cyclic redundancy checking |
CN1630281A (zh) * | 2003-06-13 | 2005-06-22 | 直视集团公司 | 用于数字广播和交互式业务的成帧结构 |
EP1983677A2 (en) * | 2007-04-19 | 2008-10-22 | LG Electronics Inc. | Method and apparatus for transmitting and receiving an encoded signal |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784283A (zh) * | 2014-07-22 | 2020-02-11 | 华为技术有限公司 | 确定前向纠错帧边界的方法、装置和解码系统 |
CN110784283B (zh) * | 2014-07-22 | 2022-01-14 | 华为技术有限公司 | 确定前向纠错帧边界的方法、装置和解码系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2013503530A (ja) | 2013-01-31 |
GB201119649D0 (en) | 2011-12-28 |
US8769368B2 (en) | 2014-07-01 |
DE112010003445B4 (de) | 2013-07-11 |
GB2504915A (en) | 2014-02-19 |
CN101997628A (zh) | 2011-03-30 |
JP5536889B2 (ja) | 2014-07-02 |
US20120179950A1 (en) | 2012-07-12 |
DE112010003445T5 (de) | 2012-11-29 |
WO2011023489A1 (en) | 2011-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101997628B (zh) | 以太网前向纠错层接收的数据流的帧边界检测方法和系统 | |
CN102035616B (zh) | 以太网前向纠错层接收的数据流的帧边界检测和同步系统 | |
US8255384B2 (en) | Client-tier validation of dynamic web applications | |
EP2460086B1 (en) | Device identifier selection | |
CN100356351C (zh) | 用于进行代码验证的系统和方法 | |
CN108279910B (zh) | 程序代码烧写方法、装置、计算机设备和存储介质 | |
CN103166649B (zh) | 用于解码循环码的方法、装置和解码器 | |
BRPI0918901B1 (pt) | Método e dispositivo para decodificar bloco de transporte, instruções executáveis por processador de armazenamento em memória, e método e dispositivo para decodificação iterativa de bloco de transporte | |
CN102737004A (zh) | 设备标识符选择 | |
CN111971931A (zh) | 在区块链网络中验证交易的方法以及构成该网络的节点 | |
US20100023846A1 (en) | Methods and apparatuses for performing error detection and error correction for synchronization frame | |
US20220294561A1 (en) | Error Correction in Network Packets Using Lookup Tables | |
CN109948122A (zh) | 输入文本的纠错方法、装置及电子设备 | |
CN103684684A (zh) | 用于处理端到端网络连接的无线段上的分组的方法和系统 | |
US10014981B2 (en) | Transmission method and device based on management data input/output multi-source agreements | |
KR101110625B1 (ko) | 전송 데이터의 무결성 검사 방법 및 수단 | |
CN109286471B (zh) | 面向srio控制器的crc校验方法及装置 | |
US11381259B2 (en) | Decoding method and device for turbo product codes, decoder and computer storage medium | |
CN102957494B (zh) | 一种盲检校验方法以及相关装置 | |
US10285086B2 (en) | Channel decoding method and apparatus, and distributed decoder | |
US20110122926A1 (en) | Apparatus and method for generating pseudo noise code | |
US20200153459A1 (en) | Polar code-based interleaving method and apparatus | |
US10873462B1 (en) | Verification of computation by untrusted source | |
CN114614949B (zh) | 状态机状态指示功能验证方法、装置和电子设备 | |
CN114417359B (zh) | 一种反弹方式确定方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |