CN102377521B - 用于执行前向纠错的系统和方法 - Google Patents

用于执行前向纠错的系统和方法 Download PDF

Info

Publication number
CN102377521B
CN102377521B CN201110225826.4A CN201110225826A CN102377521B CN 102377521 B CN102377521 B CN 102377521B CN 201110225826 A CN201110225826 A CN 201110225826A CN 102377521 B CN102377521 B CN 102377521B
Authority
CN
China
Prior art keywords
code block
error correction
decoder
complete
time
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.)
Expired - Fee Related
Application number
CN201110225826.4A
Other languages
English (en)
Other versions
CN102377521A (zh
Inventor
O·沙菲瑞尔
E·伊曾伯格
E·艾米特
D·梅尔兹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Marvell Israel MISL Ltd
Original Assignee
Marvell Israel MISL Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Marvell Israel MISL Ltd filed Critical Marvell Israel MISL Ltd
Publication of CN102377521A publication Critical patent/CN102377521A/zh
Application granted granted Critical
Publication of CN102377521B publication Critical patent/CN102377521B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1555Pipelined decoder implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

根据在此描述的教示,提供用于执行前向纠错的系统和方法。针对数据流中的帧执行前向纠错的解码器包括状态机,该状态机被配置为确定由解码器接收帧内的码块是完整码块还是部分码块,帧包括多个码块。解码单元被配置为接收码块,并且当码块是部分码块时,基于对该部分码块的解码和向解码单元输入的附加部分解码结果,来生成输出。

Description

用于执行前向纠错的系统和方法
相关申请的交叉引用
本申请要求2010年8月4日提交的名称为“Reed-SolomonDecoder For GPON Applications”的美国临时专利申请No.61/370,705的优先权。通过引用将该临时申请的内容全文合并于此。
技术领域
本专利文档中描述的技术概括地涉及针对数据传输的纠错。更特别地,公开了用于针对数据传输的前向纠错的系统和方法。
背景技术
在通信系统中经常使用前向纠错(FEC),并且前向纠错基于传输编码格式的数据。通常通过使用预定算法向用于传输的原始数据添加冗余来执行FEC。对原始数据的冗余允许解码器检测和纠正传输错误。
存在FEC码的很多示例,包括Reed-Soloman(RS)码。RS码是块纠错码,并且在国际电信联盟标准ITU-T(推荐J.81)中指定。例如,RS编码器接收预定块格式的原始数据并且向原始数据添加冗余比特来生成码块(例如,码字)。RS解码器接收编码的数据和相关的奇偶校验数据,并且在发生传输错误时恢复原始数据。
提供上面的描述作为对本领域中相关技术的一般性概览,而不应被视为承认其包含的任何信息构成针对本专利申请的现有技术。
发明内容
根据在此描述的教示,提供用于针对数据流中的帧执行前向纠错的系统和方法。示例解码器包括状态机和解码单元。该状态机被配置为确定解码器所接收的帧内的码块是完整码块还是部分码块,帧包括多个码块。解码单元被配置为接收码块,并且当码块是部分码块时,基于对该部分码块的解码和作为对解码单元的输入的附加部分解码结果,生成输出。
作为进一步的示例,解码单元还被配置为当码块是完整码块时,基于对该完整码块的解码来生成输出。解码单元包括多个级(stage),每级对应于表示码块的多项式的项。当确定码块是完整码块时,解码单元被配置为从多个级的起始级开始向多个级输入码块。当确定码块是部分码块时,解码单元被配置为从多个级的中间级开始向多个级输入码块,基于码块的预定结构来确定中间级。
作为另一示例,解码单元包括校验子(syndrome)组件和纠错组件。校验子组件被配置为接收码块,并且生成码块的校验子值,校验子组件包括第一多个级,第一多个级的每个对应于表示码块的多项式的项。纠错组件被配置为接收校验子值,以及基于校验子值来确定码块是否包含错误,纠错组件包括第二多个级,第二多个级的每个对应于表示码块的多项式的项。
作为其他示例,当确定码块是完整码块时,校验子组件被配置为从第一多个级的起始级开始向第一多个级输入码块。当确定码块是部分码块时,校验子组件被配置为从第一多个级的中间级开始向第一多个级输入码块,基于码块的预定结构确定中间级。当确定码块是完整码块时,纠错组件被配置为从第二多个级的起始级开始向第二多个级输入码块的校验子值。当确定码块是部分码块时,纠错组件被配置为从第二多个级的中间级开始向第二多个级输入码块的校验子值,基于码块的预定结构确定中间级。
作为附加示例,解码单元还包括缓冲器,其被配置为当确定码块是部分码块时,从校验子组件接收校验子值。纠错组件被配置为当确定码块是完整码块时,直接从校验子组件接收校验子值。纠错组件被配置为当确定码块是部分码块时,在预定延迟后从缓存接收校验子值。状态机还被配置为至少部分地基于帧的预定结构和帧内的码块的位置,来确定码块是完整码块还是部分码块。状态机还被配置为至少部分地基于包含在码块中的用于传输的原始数据的字节数量,来确定码块是完整码块还是部分码块。当码块包含用于传输的原始数据的239字节时,确定码块是完整码块;或者,当码块包含用于传输的原始数据的104字节时,确定码块是部分码块。
作为另一示例,提供一种用于针对数据流的帧执行前向纠错的方法。接收包括多个码块的帧。针对多个码块的每个码块,使用状态机来确定码块是完整码块还是部分码块。基于该确定来在解码器中对码块进行解码。当确定码块是部分码块时,基于对部分码块的解码和作为对解码器的输入的附加部分解码结果来生成输出。
作为进一步的示例,当确定码块是完整码块时,基于对整个码块的解码来生成输出。基于确定在解码器中对码块进行解码包括生成针对码块的校验子值,以及基于生成的校验子值来执行针对码块的纠错。当确定码块是部分码块时,在预定延迟后执行针对码块的纠错。对码块是完整码块还是部分码块的确定至少部分地基于帧的预定结构和帧内的码块的位置。
附图说明
图1是根据本公开的实施方式的、用于对具有帧的数据流执行前向纠错(FEC)的示例解码器的图示,其中帧具有完整和部分码块两者。
图2示出了根据本公开的实施方式的、从原始数据生成的GPON帧的示例。
图3是根据本公开的实施方式的、详示图1的示例解码器的图示。
图4是根据本公开的实施方式的、图3的示例校验子单元和示例纠错单元的图示。
图5是用于使用图3的解码器来处理完整码块的序列的示例时序图。
图6A-图6B是根据本公开的实施方式的、两个背靠背GPON帧的码块的示例特定序列的图示。
图7是用于使用图3中的解码器来处理码块的特定序列的示例时序图。
图8是根据本公开的实施方式的、用于针对数据流中的帧来执行前向纠错的示例流程图。
具体实施方式
图1是根据本公开的实施方式的、用于对具有帧(其中该帧具有完整和部分码块两者)的数据流执行前向纠错(FEC)的示例解码器100的图示。在某些类型的通信系统中,诸如支持吉比特的无源光网络(GPON)和10吉比特GPON,使用预定结构传输数据的每个帧,该预定结构包括跟随有部分码块的多个完整码块。图1中描述的示例解码器100确定数据的帧中的传入码块是完整码块还是部分码块,并且基于此确定,为解码单元选择合适的操作模式。
具体而言,图1中描述的解码器100包括状态机102和解码单元104。在操作中,状态机102监视所接收帧的传入码块,并且例如基于帧的标准化结构和帧内码块的位置的先验知识,确定特定传入码块106是完整码块还是部分码块。继而,根据该确定,状态机102向解码单元104输出模式选择信号108以选择用于解码单元104的操作模式,并且向解码单元104(例如向解码单元104中的初始处理级或向中间处理级),提供传入码块106,从而基于该确定进行合适的处理。
在一个实施方式中,解码单元104包括用于处理传入码块106多个级(例如,“级1”...“级m”...“级n”)。如果模式选择信号108指示传入码块106是完整码块,则解码单元104进入针对完整码块的操作模式,并且从始级(级1110)开始向级中输入码块106以供解码。另一方面,如果模式选择信号108指示传入码块106是部分码块,则解码单元104进入针对部分码块的操作模式,并且从中间级(级m112)开始向级中输入码块106以供解码。根据一个实施方式,当码块106是部分码块时,连同附加信息向中间级m提供码块106,附加信息例如是在一个或多个初始级(诸如级1110)处对部分码块解码之后获得的部分解码结果。在某些实施方式中,这是可能的,因为以统一的方式(例如,利用零)“填充”部分码块,从而使得在解码单元104的初始级处的所有部分码块的初始解码产生相同的结果。在处理码块106之后,解码单元104可以用于对帧中的后续码块进行解码。
图2示出了根据本公开的实施方式的、在200处从原始数据生成的GPON帧的示例。RS码经常用于向原始数据添加冗余比特(例如,奇偶校验数据)以生成编码的码块(例如,码字)。在图2中看到两个帧,原始数据帧202和GPON帧204。原始数据帧202具有物理控制块下游(PCBD),以及多个原始净荷数据块。通过向原始数据帧202的数据块添加奇偶校验数据来生成GPON帧204。例如,奇偶校验数据206附加到数据帧202中的原始数据块208,以生成GPON帧204的码块210。GPON帧204通常具有标准化结构和固定的码块大小。在一个实施方式中,使用表示为RS(255,239,8)的RS码,GPON帧204包括152完整码块,每个完整码块具有239字节的原始数据和16字节的奇偶校验数据,以及定位在GPON帧末尾处的一个后续部分码块,其具有104字节的原始数据和16字节的奇偶校验数据。
图3是根据本公开的实施方式的、详示图1的示例解码器的图示。如上面参考图1根据一个实施方式指出的,解码器确定GPON帧中的传入码块是完整码块还是部分码块,并且基于此确定,为解码单元选择适当的操作模式以处理传入码块。
示例解码器300包括控制单元302以及两个解码单元304和306。两个解码单元304和306分别交替地处理传入码块。在操作中,包含在控制单元302中的状态机监视接收的GPON帧的传入码块,并且确定传入码块318是完整码块还是部分码块。在一个实施方式中,基于接收的GPON帧的标准化结构和GPON帧内码块的位置的先验知识,执行传入码块是完整码块还是部分码块的确定。继而,根据该确定,控制单元302输出模式选择信号320以供为解码单元304或解码单元306选择操作模式。
例如,当设置解码单元304以处理传入码块318时,模式选择信号310为解码单元304选择操作模式,该解码单元304包括校验子单元308、纠错单元310和部分码块缓存328。校验子单元308用于为传入码块318计算校验子值(即,生成的多项式的根)。当模式选择信号320指示传入码块318是完整码块时,解码单元304进入针对完整码块的操作模式。在一个实施方式中,复用器321接收指示完整码块的模式选择信号320,并且向内部校验子单元322提供完整码块开始值324。继而,内部校验子单元322向复用器319输出针对传入码块318而计算的校验子值。响应于指示完整码块的模式选择信号320,复用器319向内部纠错单元330提供针对传入码块318而计算的校验子值,该内部纠错单元330包括在纠错单元310中。响应于模式选择信号320,复用器323向内部纠错单元330提供完整码块开始值325。基于接收的针对码块318的校验子值和完整码块开始值325,在完整码块的描述情况中,当确定码块318包含错误时,内部纠错单元330对其执行纠错。在一个实施方式中,内部纠错单元330向算术组件332(诸如算术组合器)输出针对码块318的纠错结果。算术组件332附加地从缓存312接收初始输入码块318的副本,并且继而生成从解码单元304输出的经纠错的码块333。
另一方面,在一个实施方式中,当模式选择信号320指示传入码块318是部分码块时,解码单元304进入部分码块操作模式。在一个实施方式中,内部校验子单元322中的码块解码通过多个级进行。对部分码块的解码开始于内部校验子单元322的中间处理级。复用器321向内部校验子单元322提供部分码块开始值326。在一个实施方式中,不同于完整码块开始值324的部分码块开始值326对应于对某个数量的零的解码的结果,就好像已经利用零初始填充了码块318,从而合成待解码的完整码块。内部校验子单元322向部分码块缓冲328输出基于码块318而计算的校验子值和部分码块开始值326。在预定延迟之后,在一个实施方式中,该预定延迟对应于用于解码部分码块318的减少的时间,响应于指示部分码块的模式选择信号320,复用器319从部分码块缓存328接收针对码块318而计算的校验子值。继而,复用器319向内部纠错单元330输出针对码块318而计算的校验子值。响应于模式选择信号320,复用器323向内部纠错单元330提供部分码块开始值327。在部分码块的描述的情况中,基于针对码块318的接收的校验子值和部分码块开始值327,当确定码块318包含错误时,内部纠错单元330对其执行纠错。在一个实施方式中,内部纠错单元330向算术组件332输出针对码块318的纠错结果以供生成经纠错的码块333。
类似于解码单元304,解码单元306包括校验子单元314、纠错单元316、部分码块缓存348和复用器349。校验子单元314包括复用器341和内部校验子单元342。纠错单元316包括复用器343和内部校验子单元352。例如,当设置解码单元306以处理传入码块318时,解码单元306的操作类似于以上关于解码单元304所描述的那些。
图4是根据本公开的实施方式的、图3的示例校验子单元308和示例纠错单元310的图示。如图4中所看到的,内部校验子单元322和内部纠错单元330各自包括对应于表示码块的多项式的项的多个处理级。根据一个实施方式,处理级的每个由硬件电路形成。取决于码块318是完整码块还是部分码块,内部校验子单元322和内部纠错单元330内的不同级用于处理传入码块318。
在操作中,当确定码块318是完整码块时,例如在一个实施方式中的控制单元302处,复用器321向内部校验子单元322提供完整码块开始值324,内部校验子单元322还接收码块318。在一个实施方式中,完整码块开始值324是零,或另一合适的开始值。将码块318输入到从起始级334(例如,级“1”)开始的内部校验子单元322的级中。使用内部校验子单元322内的所有级来计算被确定为完整码块的码块318的校验子值,在此向下一级传送每个级处的处理结果。响应于模式选择信号320,复用器319从内部校验子单元322接收码块318的计算出的校验子值,并且向内部纠错单元330输出校验子值。内部纠错单元330还从复用器323接收完整码块开始值325。将校验子值输入到从起始级338(例如,级“1”)开始的内部纠错单元330的级中。使用内部纠错单元330内的所有级来执行被确定为完整码块的码块318的纠错,在此向下一级传送每个级处的处理结果。
另一方面,当确定码块318是部分码块时,在一个实施方式中例如在控制单元320处,内部校验子单元322从复用器321以及部分码块318接收部分码块开始值326,该分码块开始值326在一个实施方式中不同于完整码块开始值324。将码块318输入到从中间级336(例如,级“120”)开始的内部校验子单元322的级中,然而可以根据不同标准、不同码块结构等向不同级适当地提供部分码块318。基于码块318和部分码块开始值326来计算针对码块318的校验子值。由于使用内部校验子单元322的较少级来处理部分码块318,因而部分码块318的计算的校验子值存储在部分码块缓存328中,以便在针对完整码块计算的校验子值与针对部分码块计算的校验子值之间维持同步。在一个实施方式中,响应于模式选择信号320,复用器319从部分码块缓存328选择缓存的针对部分码块的校验子值,或从内部校验子单元322选择针对完整码块的校验子值。当确定码块318是部分码块时,复用器319向内部纠错单元330提供针对存储在部分码块缓存328中的码块318的校验子值。将该校验子值输入到从中间级340(例如,级“120”)开始的内部纠错单元330的级中,然而可以根据不同标准、不同码块结构等适当地向不同级提供该校验子值。基于这些校验子值和从复用器323接收的部分码块开始值327,内部纠错单元330使用比针对完整码块更少的级来执行针对部分码块318的纠错。
图5是用于使用图3的解码器300来处理完整码块的序列的示例时序图500。交叉参考图3和图5,交替地选择解码单元304和306来处理完整码块的序列。解码单元306的校验子单元314(例如,“Synd u1”)和纠错单元316(例如,“EC u1”)在第一流508中使用。解码单元304的校验子单元308(例如,“Synd u0”)和纠错单元310(例如,“EC u0”)在第二流510中使用。
选择解码单元306来处理完整码块502。校验子单元314接收码块502并且计算针对码块502的校验子值。纠错单元316从校验子单元314接收计算的校验子值,并且针对码块502执行纠错。当跟随码块502的完整码块504到达时,解码单元306仍旧在处理码块502。继而,代替地选择解码单元304来处理码块504。校验子单元308接收码块504并且计算针对码块504的校验子值。纠错单元310从校验子单元308接收计算的校验子值并且针对码块504执行纠错。当跟随码块504的另一完整码块到达时,校验子单元314已经完成了对码块502的处理,并且开始处理码块506。同样,GPON帧中的完整码块的序列交替地由解码单元304和306处理。
在一个实施方式中,包括在解码单元304中的部分码块缓存328以及包括在解码单元306中的部分码块缓存348引入延迟,从而使得部分码块的处理时间与完整码块的处理时间相同,这使得能够对码块的处理进行交织。
通常,GPON帧在GPON数据流中连续传输。因此,解码器300经常需要在接收两个背靠背GPON帧时处理码块的特定序列。图6A和图6B示出了600处两个背靠背GPON帧的码块的示例特定序列的图示。另一GPON帧604跟随GPON帧602。出现码块606的特定序列,包括三个码块608、610和612。码块608和610是GPON帧602的最后两个块,并且码块612是GPON帧604的第一码块。码块608和612是完整码块,每个包括255字节数据,而码块610是部分码块,仅包括120字节数据。
图7是用于使用图3中的解码器300来处理码块的特定序列的示例时序图。交叉参考图3和图7,解码器300在两个操作模式之间切换以处理码块的特定序列。码块的第一特定序列包括码块702、704和706,其中码块704是之前的GPON帧的最后的码块,并且码块706是当前的GPON帧的第一码块。
在操作中,解码单元306的校验子单元314(例如,“Synd u1”)和纠错单元316(例如,“EC u1”)在第一流中使用,而解码单元304的校验子单元308(例如,“Synd u0”)和纠错单元310(例如,“EC u0”)在第二流中使用。校验子单元314(例如,“Synd u1”)接收码块702并且计算针对码块702的校验子值。复用器319从校验子单元314接收针对码块702的校验子值,并且向纠错单元316(例如,“EC u1”)提供该校验子值,该纠错单元316针对码块702执行纠错。当跟随码块702的部分码块704到达时,校验子单元308(例如,“Synd u0”)接收部分码块704,并且计算针对部分码块704的校验子值。计算的针对部分码块704的校验子值存储在部分码块缓存328中,并且校验子单元308可以已经由后续的码块(例如,码块708)使用。在预定的延迟之后,复用器319从缓存328接收针对部分码块704的校验子值,并且向针对码块704执行纠错的纠错单元310(例如,“EC u0”)提供该校验子值。
当码块706到达时,校验子单元314尚未完成对码块702的处理。在延迟之后,校验子单元314开始处理码块706。该延迟将影响将由校验子单元314和纠错单元316处理的后续码块,直到码块的第二特定序列到达为止。另一方面,当跟随码块706的码块708到达时,校验子单元308准备就绪并开始处理码块708而没有任何延迟。因为码块708是完整码块,所以复用器319从校验子单元308接收针对码块708的校验子值,并且向纠错单元310提供该校验子值以供纠错。对于校验子单元308和纠错单元310处理后续码块而言不存在延迟,直到码块的第二特定序列到达为止。
码块的第二特定序列在当前GPON帧的末尾处到达,并且包括码块710、712和714。码块712是当前的GPON帧的最后码块并且是部分码块。基于当前的GPON帧的已知结构,码块712将由校验子单元314(例如,“Synd u1”)和纠错单元316(例如,“EC u1”)处理。然而,当码块712到达时,校验子单元314仍旧正在处理之前的码块716。在延长的延迟之后,校验子单元314开始处理码块712。
当跟随码块712的码块714到达时,校验子单元308仍旧没有完成对码块710的处理。在延迟之后,校验子单元308开始处理码块714。该延迟将影响由校验子单元308和纠错单元310处理的后续码块,直到码块的下一特定序列到达为止。另一方面,当跟随码块714的码块718到达时,校验子单元314准备好并处理码块718而没有任何延迟。针对处理后续码块,校验子单元314和纠错单元316没有遭受延迟,直到码块的下一特定序列到达为止。
类似地,码块的下一特定序列引起针对校验子单元314和纠错单元316的新延迟,而去除了针对校验子单元308和310的现有延迟。因此,解码器300将由背靠背GPON帧的码块的特定序列引起的延迟限制到某个程度,从而使得延迟对于解码器300而言不会变的过长以至于不能正确工作。
图8是根据本公开的实施方式的、用于针对数据流中的帧来执行前向纠错的示例流程图。在802处,接收包括多个码块的帧。在804处,确定帧内的码块是否是完整码块。如果码块是完整码块,则在806处对该完整码块进行解码。如果码块是部分码块,则在808处,基于码块和附加的部分解码结果对该码块进行解码。附加的部分解码结果对应于对某个数量的零进行解码的结果,好像已经将这些零填充到传入码块中以形成待解码的中间完整码块。
本撰写的说明书使用示例来公开本发明、包括最佳模式并且还使得本领域技术人员能够制造并使用本发明。本发明的可专利的范围可以包括本领域技术人员想到的其他示例。

Claims (19)

1.一种用于针对数据流中的帧执行前向纠错的解码器,所述解码器包括:
状态机,被配置为确定由所述解码器接收的所述帧内的码块是完整码块还是部分码块,所述帧包括多个码块;以及
解码单元,被配置为接收所述码块,并且当所述码块是部分码块时,基于对所述部分码块的解码和作为对所述解码单元的输入的附加部分解码结果,来生成输出;
其中所述解码单元包括用于对所述码块进行解码的多个级,一个级对应于表示所述码块的多项式的一个项。
2.根据权利要求1所述的解码器,其中所述解码单元还被配置为当所述码块是完整码块时,基于对所述完整码块的解码来生成输出。
3.根据权利要求1所述的解码器,其中当确定所述码块是完整码块时,所述解码单元被配置为从所述多个级的起始级开始向所述多个级输入所述码块。
4.根据权利要求1所述的解码器,其中当确定所述码块是部分码块时,所述解码单元被配置为从所述多个级的中间级开始向所述多个级输入所述码块,基于所述码块的预定结构来确定所述中间级。
5.一种用于针对数据流中的帧执行前向纠错的解码器,所述解码器包括:
状态机,被配置为确定由所述解码器接收的所述帧内的码块是完整码块还是部分码块,所述帧包括多个码块;以及
解码单元,被配置为接收所述码块,并且当所述码块是部分码块时,基于对所述部分码块的解码和作为对所述解码单元的输入的附加部分解码结果,来生成输出;
其中所述解码单元包括:
校验子组件,被配置为接收所述码块,并且生成所述码块的校验子值,所述校验子组件包括第一多个级,所述第一多个级的每个对应于表示所述码块的多项式的项;以及
纠错组件,被配置为接收所述校验子值,以及基于所述校验子值来确定所述码块是否包含错误,所述纠错组件包括第二多个级,所述第二多个级的每个对应于表示所述码块的所述多项式的项。
6.根据权利要求5所述的解码器,其中当确定所述码块是完整码块时,所述校验子组件被配置为从所述第一多个级的起始级开始向所述第一多个级输入所述码块。
7.根据权利要求5所述的解码器,其中当确定所述码块是部分码块时,所述校验子组件被配置为从所述第一多个级的中间级开始向所述第一多个级输入所述码块,基于所述码块的预定结构确定所述中间级。
8.根据权利要求5所述的解码器,其中当确定所述码块是完整码块时,所述纠错组件被配置为从所述第二多个级的起始级开始向所述第二多个级输入所述码块的所述校验子值。
9.根据权利要求5所述的解码器,其中当确定所述码块是部分码块时,所述纠错组件被配置为从所述第二多个级的中间级开始向所述第二多个级输入所述码块的所述校验子值,基于所述码块的预定结构确定所述中间级。
10.根据权利要求5所述的解码器,其中所述解码单元还包括:
缓存,被配置为当确定所述码块是部分码块时,从所述校验子组件接收所述校验子值。
11.根据权利要求10所述的解码器,其中所述纠错组件被配置为当确定所述码块是完整码块时,直接从所述校验子组件接收所述校验子值;以及
其中所述纠错组件被配置为当确定所述码块是部分码块时,在预定延迟后从所述缓存接收所述校验子值。
12.根据权利要求1所述的解码器,其中所述状态机还被配置为至少部分地基于所述帧的预定结构和所述帧内的所述码块的位置,来确定所述码块是完整码块还是部分码块。
13.根据权利要求12所述的解码器,其中所述状态机还被配置为至少部分地基于包含在所述码块中的用于传输的原始数据的字节数量,来确定所述码块是完整码块还是部分码块。
14.根据权利要求13所述的解码器,其中当所述码块包含用于传输的所述原始数据的239字节时,确定所述码块是完整码块;或当所述码块包含用于传输的所述原始数据的104字节时,确定所述码块是部分码块。
15.一种用于针对数据流的帧执行前向纠错的方法,所述方法包括:
接收包括多个码块的所述帧;
使用状态机针对所述多个码块的每个来确定码块是完整码块还是部分码块;以及
基于所述确定在解码器中对所述码块进行解码,其中当确定所述码块是部分码块时,基于对所述部分码块的解码和作为对所述解码器的输入的附加部分解码结果,来生成输出;
其中至少部分基于表示所述码块的多项式的多个项来对所述码块进行解码。
16.根据权利要求15所述的方法,其中当确定所述码块是完整码块时,基于对整个码块的解码来生成输出。
17.根据权利要求15所述的方法,其中基于所述确定在所述解码器中对所述码块进行解码包括:
生成针对所述码块的校验子值;以及
基于生成的所述校验子值来执行针对所述码块的纠错。
18.根据权利要求17所述的方法,其中当确定所述码块是部分码块时,在预定延迟后执行针对所述码块的所述纠错。
19.根据权利要求15所述的方法,其中对所述码块是完整码块还是部分码块的所述确定至少部分地基于所述帧的预定结构和所述帧内的所述码块的位置。
CN201110225826.4A 2010-08-04 2011-08-04 用于执行前向纠错的系统和方法 Expired - Fee Related CN102377521B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37070510P 2010-08-04 2010-08-04
US61/370,705 2010-08-04

Publications (2)

Publication Number Publication Date
CN102377521A CN102377521A (zh) 2012-03-14
CN102377521B true CN102377521B (zh) 2014-10-22

Family

ID=45556996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110225826.4A Expired - Fee Related CN102377521B (zh) 2010-08-04 2011-08-04 用于执行前向纠错的系统和方法

Country Status (2)

Country Link
US (1) US8522116B2 (zh)
CN (1) CN102377521B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288089B2 (en) 2010-04-30 2016-03-15 Ecole Polytechnique Federale De Lausanne (Epfl) Orthogonal differential vector signaling
US9251873B1 (en) 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
CN103199876B (zh) * 2013-04-11 2016-08-10 华为技术有限公司 实现软判决fec译码的方法及装置
US9100232B1 (en) 2014-02-02 2015-08-04 Kandou Labs, S.A. Method for code evaluation using ISI ratio
US9509437B2 (en) 2014-05-13 2016-11-29 Kandou Labs, S.A. Vector signaling code with improved noise margin
CN106664272B (zh) 2014-07-21 2020-03-27 康杜实验室公司 从多点通信信道接收数据的方法和装置
US9674014B2 (en) 2014-10-22 2017-06-06 Kandou Labs, S.A. Method and apparatus for high speed chip-to-chip communications
KR102372931B1 (ko) 2015-06-26 2022-03-11 칸도우 랩스 에스에이 고속 통신 시스템
US10623123B2 (en) 2017-02-06 2020-04-14 Valens Semiconductor Ltd. Virtual HDBaseT link
CN110741562B (zh) * 2017-04-14 2022-11-04 康杜实验室公司 向量信令码信道的流水线式前向纠错
CN109245777B (zh) * 2017-07-10 2021-11-12 中兴通讯股份有限公司 一种阶梯码解码方法和阶梯码解码装置
US10693587B2 (en) 2017-07-10 2020-06-23 Kandou Labs, S.A. Multi-wire permuted forward error correction
CN109213626A (zh) * 2018-08-20 2019-01-15 上海集成电路研发中心有限公司 一种状态机及其状态机的控制方法
US11356197B1 (en) 2021-03-19 2022-06-07 Kandou Labs SA Error-tolerant forward error correction ordered set message decoder

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1290428A (zh) * 1998-12-10 2001-04-04 三星电子株式会社 通信系统中具有串行级联结构的编码器/解码器
US6480976B1 (en) * 1999-03-11 2002-11-12 Globespanvirata, Inc. System and method for resource optimized integrated forward error correction in a DMT communication system
CN101455019A (zh) * 2006-08-11 2009-06-10 华为技术有限公司 64b66b编码系统的前向纠错
CN101790885A (zh) * 2007-06-28 2010-07-28 Lg电子株式会社 数字广播系统和数据处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818648B2 (en) * 2005-12-18 2010-10-19 Pmc-Sierra Israel Ltd. GPON rogue-ONU detection based on error counts
US8483563B2 (en) * 2009-12-16 2013-07-09 Futurewei Technologies, Inc. Header error control protected ten gigabit passive optical network downstream frame synchronization pattern

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1290428A (zh) * 1998-12-10 2001-04-04 三星电子株式会社 通信系统中具有串行级联结构的编码器/解码器
US6480976B1 (en) * 1999-03-11 2002-11-12 Globespanvirata, Inc. System and method for resource optimized integrated forward error correction in a DMT communication system
CN101455019A (zh) * 2006-08-11 2009-06-10 华为技术有限公司 64b66b编码系统的前向纠错
CN101790885A (zh) * 2007-06-28 2010-07-28 Lg电子株式会社 数字广播系统和数据处理方法

Also Published As

Publication number Publication date
CN102377521A (zh) 2012-03-14
US8522116B2 (en) 2013-08-27
US20120036415A1 (en) 2012-02-09

Similar Documents

Publication Publication Date Title
CN102377521B (zh) 用于执行前向纠错的系统和方法
CN103380585B (zh) 输入位错误率推定方法及其装置
EP2351231B1 (en) Continuously interleaved error correction
CA2645829A1 (en) System and method of correcting video data errors
CN102412847A (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
CN102567134A (zh) 存储器模块的错误检查与校正系统以及方法
AU6753000A (en) System and method for detecting double-bit errors and for correcting errors due to component failures
US8397140B2 (en) Error correction coding for recovering multiple packets in a group view of limited bandwidth
WO2007055150A1 (ja) 通信装置、送信機、受信機および誤り訂正光通信システム
KR101819152B1 (ko) 오류 정정 코드를 디코딩하기 위한 방법 및 이와 관련된 디코딩 회로
CN105634506A (zh) 基于移位搜索算法的平方剩余码的软判决译码方法
CN110806948B (zh) 一种数据校验方法及装置
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
EP1605621A2 (en) Data transmission with improved error correction capability
KR101314232B1 (ko) 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱
US9059735B2 (en) Decoding method and decoding device
JP5194747B2 (ja) データ伝送装置、データ送信装置、データ受信装置及びデータ伝送システム
CN111183748B (zh) 基于循环冗余效验与纠删编码的抗误码方法
US8429484B2 (en) Digitized radar information redundancy method and system
CN111277830B (zh) 一种编码方法、解码方法及装置
CN103944589B (zh) 一种bch编码、解码方法及装置
CN109417432A (zh) 数据编解码
JP5595260B2 (ja) 受信機
US20020124220A1 (en) Transmission data loss detection system
JP4747085B2 (ja) 誤り訂正符号回路

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141022

Termination date: 20180804