CN116961823A - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN116961823A
CN116961823A CN202210411242.4A CN202210411242A CN116961823A CN 116961823 A CN116961823 A CN 116961823A CN 202210411242 A CN202210411242 A CN 202210411242A CN 116961823 A CN116961823 A CN 116961823A
Authority
CN
China
Prior art keywords
error
code block
polynomial
sigma
satisfying
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.)
Pending
Application number
CN202210411242.4A
Other languages
English (en)
Inventor
邱贤文
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210411242.4A priority Critical patent/CN116961823A/zh
Priority to PCT/CN2023/072909 priority patent/WO2023202176A1/zh
Publication of CN116961823A publication Critical patent/CN116961823A/zh
Pending legal-status Critical Current

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/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • H04L1/0058Block-coded modulation
    • 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
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Abstract

本申请提供一种数据处理方法及装置,涉及计算机领域。该方法包括:获取采用里的‑所罗门RS码进行编码的第一码块。计算第一码块的伴随式。从p=1开始,依次计算在有p个符号错误的情况下第一码块的错误位置多项式,并搜索是否存在满足第一码块的错误位置多项式的p个错误位置,直至搜索到存在满足第一错误位置多项式的M个错误位置,其中所述第一错误位置多项式为有M个符号错误的情况下第一码块的错误位置多项式。根据M个错误位置和伴随式,计算M个错误位置分别对应的错误值。利用M个错误位置分别对应的错误值,纠正第一码块中M个错误位置的数值。本申请用于缩短解码过程的延时、降低解码过程消耗功耗。

Description

一种数据处理方法及装置
技术领域
本申请涉及计算机领域,尤其涉及一种数据处理方法及装置
背景技术
随着以太网容量需求的扩大,对以太网链路的速率要求越来越高,造成以太网链路的误码率也跟着越来越高。为了保证业务的稳定性,迫切需要一种能够纠错链路误码的纠错码技术。
里的-所罗门码前向纠错技术(reed-solomon codes forward errorcorrection,RSFEC)作为前向纠错技术,由于其良好的误码纠错能力和链路增益能力,被广泛应用在以太网链路纠错中。
因此,在利用RSFEC技术进行编解码过程中,如何缩短解码过程的延时、降低解码过程消耗功耗,这是目前需要解决的问题。
发明内容
本申请提供一种数据处理方法及装置,用于缩短RS码的解码延时、降低解码过程消耗功耗。
第一方面,提供一种数据处理方法,所述方法包括:获取采用里的-所罗门RS码进行编码的第一码块;计算所述第一码块的伴随式;从p=1开始,依次计算在有p个符号错误的情况下所述第一码块的错误位置多项式,并搜索是否存在满足所述第一码块的错误位置多项式的p个错误位置,直至搜索到存在满足第一错误位置多项式的M个错误位置,其中所述第一错误位置多项式为有M个符号错误的情况下所述第一码块的错误位置多项式;根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值;利用所述M个错误位置分别对应的错误值,纠正所述第一码块中所述M个错误位置的数值。
本实施例所提供数据处理方法中,从一个符号错误开始,针对不同错误个数,采用不同的错误位置多项式的计算过程、不同的错误位置搜索过程以及不同的错误值计算以及纠正过程,相比现有技术可以达到节省电路资源、加快计算过程以及降低功耗的效果。
可选的,在p≥2的情况下,所述计算在有p个符号错误的情况下所述第一码块的错误位置多项式,包括:基于之前计算出的p-1个符号错误的情况下的公式,通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式。
可选的,所述通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式,包括:通过坎普梅西BM算法、IBM算法、RIBM算法或欧几里得算法中任一项,求出p个符号错误对应的第一码块的错误位置多项式。
可选的,当p=1时,所述计算在有p个符号错误的情况下所述第一码块的错误位置多项式,并搜索是否存在满足所述第一码块的错误位置多项式的p个错误位置,包括:计算在有一个符号错误的情况下所述第一码块的第二错误位置多项式,其中,所述第二错误位置多项式满足以下公式一:
σ(x)=σ1x+σ0 公式一
其中,σ1表示所述第一码块的错误多项式中一次项的系数,σ0表示所述第一码块的错误多项式中的常数项。
搜索满足以下公式二的σ1的值:
其中,S1,S2,...,St表示第一码块的2t个伴随式中的第1至t个伴随式,t为第一码块最多能够纠错的符号数量。
若搜索到满足所述公式二的σ1的值,则根据σ1的值和所述公式一,确定所述第一码块中的错误位置。若无法搜索到满足所述公式二的σ1的值,则确定不存在满足所述第一码块的错误位置多项式的一个错误位置。
可选的,所述根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值,包括:将根据σ1的值和所述公式一确定出的所述第一码块中的错误位置,代入所述伴随式中,计算所述错误位置对应的错误值。
可选的,在无法搜索到满足所述公式二的σ1的值后,所述计算在有p个符号错误的情况下所述第一码块的错误位置多项式,并搜索是否存在满足所述第一码块的错误位置多项式的p个错误位置,还包括:计算在有二个符号错误的情况下所述第一码块的第三错误位置多项式,其中,所述第三错误位置多项式满足以下公式三:
σ(x)=σ2x21x+σ0 公式三
其中,σ2表示所述第一码块的错误多项式中二次项的系数,σ1表示所述第一码块的错误多项式中一次项的系数,σ0表示所述第一码块的错误多项式中的常数项;
搜索满足以下公式四的σ1和σ2的值:
其中,S1,S2,...,St,St+1,St+2表示第一码块的2t个伴随式中的第1至t+2个伴随式,t为第一码块最多能够纠错的符号数量;
若搜索到满足所述公式二的σ1和σ2的值,则根据σ1和σ2的值和所述公式一,确定所述第一码块中的二个符号错误位置;
若无法搜索到满足所述公式二的σ1和σ2的值,则确定不存在满足所述第一码块的错误位置多项式的二个错误位置。
可选的,所述根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值,包括:将根据σ1和σ2的值和所述公式一确定出的所述第一码块中的所述二个符号错误位置,代入所述伴随式中,计算所述二个符号错误位置分别对应的错误值。
可选的,其中p不大于所述第一码块最多能够纠错的符号数量。
第二方面,提供一种数据处理装置,该数据处理装置包括:获取单元,用于获取采用里的-所罗门RS码进行编码的第一码块;伴随式计算单元,用于计算所述第一码块的伴随式;错误位置搜索单元,用于从p=1开始,依次计算在有p个符号错误的情况下所述第一码块的错误位置多项式,并搜索是否存在满足所述第一码块的错误位置多项式的p个错误位置,直至搜索到存在满足第一错误位置多项式的M个错误位置,其中所述第一错误位置多项式为有M个符号错误的情况下所述第一码块的错误位置多项式;纠错单元,用于根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值;纠错单元,用于利用所述M个错误位置分别对应的错误值,纠正所述第一码块中所述M个错误位置的数值。
可选的,所述错误位置搜索单元,用于从p=1开始,依次计算在有p个符号错误的情况下所述第一码块的错误位置多项式,包括:在p≥2的情况下,所述错误位置搜索单元,用于基于之前计算出的p-1个符号错误的情况下的公式,通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式。
可选的,所述通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式,包括:通过坎普梅西BM算法、IBM算法、RIBM算法或欧几里得算法中任一项,求出p个符号错误对应的第一码块的错误位置多项式。
可选的,当p=1时,所述错误位置搜索单元,具体用于计算在有一个符号错误的情况下所述第一码块的第二错误位置多项式,其中,所述第二错误位置多项式满足以下公式一:
σ(x)=σ1x+σ0 公式一
其中,σ1表示所述第一码块的错误多项式中一次项的系数,σ0表示所述第一码块的错误多项式中的常数项;
所述错误位置搜索单元,还具体用于搜索满足以下公式二的σ1的值:
其中,S1,S2,...,St表示第一码块的2t个伴随式中的第1至t个伴随式,t为第一码块最多能够纠错的符号数量;
若搜索到满足所述公式二的σ1的值,则所述错误位置搜索单元,具体用于根据σ1的值和所述公式一,确定所述第一码块中的错误位置;若无法搜索到满足所述公式二的σ1的值,则所述错误位置搜索单元,具体用于确定不存在满足所述第一码块的错误位置多项式的一个错误位置。
可选的,所述纠错单元,用于根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值,包括:所述纠错单元,具体用于将根据σ1的值和所述公式一确定出的所述第一码块中的错误位置,代入所述伴随式中,计算所述错误位置对应的错误值。
可选的,所述错误位置搜索单元,还具体用于计算在有二个符号错误的情况下所述第一码块的第三错误位置多项式,其中,所述第三错误位置多项式满足以下公式三:
σ(x)=σ2x21x+σ0 公式三
其中,σ2表示所述第一码块的错误多项式中二次项的系数,σ1表示所述第一码块的错误多项式中一次项的系数,σ0表示所述第一码块的错误多项式中的常数项;
所述错误位置搜索单元,还具体用于搜索满足以下公式四的σ1和σ2的值:
其中,S1,S2,...,St,St+1,St+2表示第一码块的2t个伴随式中的第1至t+2个伴随式,t为第一码块最多能够纠错的符号数量;
若搜索到满足所述公式二的σ1和σ2的值,则所述错误位置搜索单元,还具体用于根据σ1和σ2的值和所述公式一,确定所述第一码块中的二个符号错误位置;若无法搜索到满足所述公式二的σ1和σ2的值,则所述错误位置搜索单元,还具体用于确定不存在满足所述第一码块的错误位置多项式的二个错误位置。
可选的,所述纠错单元,用于根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值,包括:所述纠错单元,具体用于将根据σ1和σ2的值和所述公式一确定出的所述第一码块中的所述二个符号错误位置,代入所述伴随式中,计算所述二个符号错误位置分别对应的错误值。
可选的,其中p不大于所述第一码块最多能够纠错的符号数量。
第三方面,提供一种数据处理装置,包括处理器和接口,所述处理器通过所述接口接收或发送数据,所述处理器用于实现如第一方面中任一项所述的方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在处理器上运行时,实现如第一方面中任一项所述的方法。
第五方面,提供一种计算机程序产品,所述计算机程序产品包括指令,当所述指令在处理器上运行时,实现如第一方面中任一项所述的方法。
附图说明
图1为本申请提供的一种计算机系统的结构示意图;
图2为本申请提供的一种数据解码设备的结构示意图;
图3为本申请提供的一种数据处理方法的流程示意图之一;
图4为本申请提供的一种数据处理方法的流程示意图之二;
图5为本申请提供的一种数据处理装置的结构示意图之一;
图6为本申请提供的一种数据处理装置的结构示意图之二。
具体实施方式
下面将结合本实施例中的附图,对本实施例中的技术方案进行描述。其中,为了便于清楚描述本实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
为便于理解本实施例所提供技术方案,首先对本实施例中涉及的相关技术进行介绍:
前向纠错(forward error correction,FEC)技术,是一种数据编码和纠错技术。在有FEC的通信传输中,发送端完成数据编码,接收端按照指定的算法完成对数据检错以及错误数据位置计算,进而对错误的数据进行纠正。
里的-所罗门(reed-solomon,RS)码,是一种基于伽罗华有限域的前向纠错的信道编码。其中,基于里的-所罗门(reed-solomon,RS)码的前向纠错技术,可称为RSFEC技术。
在实际应用过程中,RS码可以表达为RS(N,K,T,M)的形式。其中:N表示码块长度为N个符号(symbol);K表示码块中携带信息(payload)的长度为K个符号;T表示能够纠错的符号数目;M表示符号位的位宽。
其中,由于在码块中校验码的长度为能够纠错的符号数据T的2倍,即码块中校验码的长度为2T,因此在RS码中满足N=K+2T。
示例性的,以以太网协议定义的RS(544,514,15)为例。对于RS(544,514,15)而言,其中通常默认符号位的位宽为10bit。那么,其码块长度为544个符号,对应5440bit;一个码块中携带信息时514个符号,对应5140bit;能够纠错的符号数量为15个符号,对应150bit,也就是说一个码块中校验码的长度为30个符号,对应300bit。
伯利坎普-梅西(Berlekamp-Massey,BM)算法,是一种算法,可以找到给定二进制输出序列的最短线性反馈移位寄存器(LFSR)。该算法常用于解码RS码。
其中,BM算法可分为传统的BM算法以及改进后的RIBM算法。其中,传统的BM算法为有求逆算法,因为求逆对应实现逻辑级数比较深,因此主要用于高性能带宽处理。RIBM算法为无求逆算法,因此无求逆和并行迭代处理,逻辑级数大大简化。因此相比于传统BM算法,RIBM算法的处理时延更小。
下面结合附图,对本实施例所提供技术方案的应用场景进行介绍:
图1所示为本实施例提供的一种计算机系统的结构示意图。其中,该计算机系统10括数据编码设备ETH 11和数据解码设备ETH 12。
其中,在数据编码设备ETH 11中,通过媒体访问控制子层协议(media accesscontrol,MAC)层和物理编码子层协议(physical coding sublayer,PCS)层处理后,可以利用RSFEC技术对用户数据进行编码得到编码数据,然后再对编码数据进行存储或传输等处理。其中,在对编码数据进行存储或传输等处理过程中,编码数据中会产生噪声从而出现误码。在数据解码设备ETH 12中,首先利用RSFEC技术对编码数据进行纠错,然后通过PCS层、MAC层的处理得到用户数据,以便获取到用户数据。
示例性的,在实际应用过程中,本实施例中上述数据编码设备ETH 11和数据解码设备ETH 12,可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及服务器等可以对用户数据进行编解码的设备,本实施例对数据编码设备ETH 11和数据解码设备ETH 12的具体形态可以不做限制。
另外,在一些应用场景中,本实施例中,数据编码设备ETH 11和数据解码设备ETH12可以为同一个设备。即该设备先按照上述数据编码设备ETH 11的处理流程对用户数据进行编码并进行存储,然后再按照上述数据解码设备ETH 12的处理流程对编码数据进行解码以便进行后续处理。
在相关技术中,在数据解码设备ETH 12利用RSFEC技术进行解码的过程可参照图2所示。其中,数据解码设备ETH 12可以包括伴随式计算模块121、关键方程求解器(keyequation solver,KES)122、搜索电路123、纠错电路124以及缓存125。
其中,数据解码设备ETH 12在获取到进行RSFEC编码的码块后,先通过伴随式计算模块121计算码块的伴随式(syndrome),以完成码块的检错计算,判定该码块是否需要进行解码处理。当确定码块中存在错误时,即需要进行解码处理时,则伴随式计算模块121将码块写入缓存125中。
在伴随式计算模块121确定码块中存在错误后,关键方程求解器122完成错误位置多项式的计算。其中,关键方程求解器122在计算错误位置多项式过程中,可以采用伯利坎普-梅西(Berlekamp-Massey,BM)算法、欧几里得算法等算法。
在关键方程求解器122计算出错误位置多项式后,搜索电路123根据错误位置多项式,搜索出可能存在有效合法的根,即错误位置。具体的,搜索电路123可以采用Chien氏搜索(Chien_Search)或者错误位置多项式方程简化电路直接求解进行,针对不同数量的错误位置,其位置搜索电话根据简化。
在搜索电路123搜索出错误位置后,纠错电路124根据错误位置计算错误值,并对缓存125中码块中错误的符号进行纠正。具体的,纠错电路124可采用Forney算法计算错误值或者用错误值、错误位置和伴随式对用的等式公式2-22直接求解,针对不同的错误,简化错误值计算电路。另外,若存储不可纠的情况,即错误个数大于T,纠错电路124进行纠错失败指示。
在上述相关技术中,在进行RS解码过程中,对于码块中的误码,无论错误多少个符号,都按照可纠错的最大错误符号数进行解码。
以RS(544,514,15)为例,无论一个码块中实际存在多少个符号错误,都按照15个符号错误的情况进行解码。具体的,先由关键方程求解器122计算出15个符号错误的情况下,对应的错误位置多项式;然后再由搜索电路123根据15个符号错误的情况下的错误位置多项式,计算错误位置;然后再由纠错电路124计算错误值,并对码块进行纠正。
针对上述相关技术,本实施例提供一种数据处理方法。该方法中,在确定码块中存在错误时,先假设码块中有一个符号错误,并针对一个符号错误的情况计算错误位置多项式,并根据错误位置多项式,搜索可能存在的有效合法的根(即搜索出可能存在的错误位置)。
若搜索出存在有效合法的根,则说明码块中确实只有一个符号错误。因此,可以根据错误位置计算错误值,并对码块中错误位置的符号进行纠正。
若搜索不出存在有效合法的根,则说明码块中包括不止一个符号错误。则再假设码块中有两个符号错误,并针对两个符号错误的情况,计算错误位置多项式,并根据错误位置多项式,搜索可能存在的有效合法的根(即搜索出可能存在的两个错误位置)。
其中,若搜索出存在有效合法的根,则说明码块中确实有两个符号错误。因此,可以根据两个错误位置计算错误值,并对码块中两个错误位置的符号进行纠正。
若搜索不出存在有效合法的根,则说明码块中包括不止二个符号错误。则再假设码块中有三个符号错误,以此类推。直至确定出码块中真是存在的错误符号个数、位置以及错误值。
本实施例所提供的数据处理方法中,一方面,考虑到当码块中存在错误符号时,一个码块中错误符号的个数往往不会恰好为T个(T为码块中能够纠错的符号数量)。具体的,码块中错误符号的个数服从正太分布特点,通常一个码块中95%以上的错误,集中在3个以内的符号错误。另一方面,相比于无论一个码块中实际存在多少个符号错误都按照T个错误符号的情况计算的方案,在针对少量错误符号,计算对应的错误位置多项式以及搜索可能存在的根时,所占用的电路资源更少、计算过程更快。
具体的,以关键方程求解器122计算错误位置多项式为例,若按照T个错误符号的情况,需要2T/4T个周期(cycle)才能完成计算,这里周期指电路的时钟翻转周期。例如,对于RS(544,514,15),需要30或60个周期才能处理完成。而本实施例所提供方法可以将关键求解器122的处理延时减小到1-2个周期。
另外,以搜索电路123搜索错误位置为例,对于最大错误符号数T而言,其电路翻转数量可能是最小1个符号错误的几十倍。若统一按照最大错误符号数来实现,其延时和功耗都是比较大的。
此外,在纠错电路124计算错误值时,一个错误符号到T个错误符号,其对应的电路翻转次数为T倍的关系,也会使延时和功耗增大。
因此,通过本实施例所提供的数据处理方法,可以节省解码延时、降低电路功耗。
下面以图1所示计算机系统为例,对本实施例所提供的数据处理方法进行介绍。具体的,在数据编码设备ETH 11采用RS码对用户数据进行编码得到编码数据后,如图3所示,数据解码设备ETH 12对编码数据进行解码的过程,可以包括:
S201、获取采用RS码进行编码的码块(下文称为第一码块)。
其中,第一码块可以表示为一个信息序列。下文以信息序列R(x)作为第一码块进行说明。其中,R(x)可以通过下文式2-1所示多项式表示:
R(x)=rn-1xn-1+rn-2xn-2+...+r1x1+r0 2-1
其中,x表示多项式里所处位置,rn-1,rn-2,...,r1,r0表示接收到的符号,n表示第一码块中所包括符号个数。
示例性的,以第一码块为RS(544,514,15)的码块为例,n为544,即第一码块中包括544个符号,其中一个符号对应10bit。第一码块所包括的544个符号中,包括514个符号的用户数据,以及30个符号的校验码,能够纠错的符号数量为15个。
S202、计算第一码块的伴随式(syndrome)。
根据编码原理可知,R(x)有2T个根,对于a0,a1,...,a2T-1
把x=a0代入R(x)就得到S1
把x=a1代入R(x)就得到S2
把x=a2T-1代入R(x)就得到S2T
第一码块的伴随式可以表示为式2-2所示多项式:
S(x)=S2tx2t-1+S2t-1x2t-2+...+S3x2+S2x+S1 2-2
其中,x表示多项式里所处位置,S2t,S2t-1,...,S2,S1表示第一码块的2t个伴随式。其中,2t为第一码块中校验码的个数,t为最多能够纠错的符号数量。
假设t个错误对应的位置分别为β1...βt,错误值对应E1…Et;
则对于接收序列R(x)的校正子(伴随式结果)和错误位置,错误值之间的关系对应如下:
公式2-22:
S203、根据第一码块的伴随式,确定第一码块中是否存在错误。
若确定第一码块中不存在错误,则不需要对第一码块进行解码。
若确定第一码块中存在错误,则继续执行S204。
其中,根据第一码块的伴随式确定第一码块中是否存在错误的具体过程,可参照相关现有技术。
S204、计算只有一个符号错误的情况下,第一码块对应的错误位置多项式。
具体的,当第一码块中存在t个符号错误符号时,其中t为第一码块最多能够纠错的符号数量,第一码块的错误位置多项式,可以表示为式2-2:
σ(x)=σtxtt-1xt-1+...+σ2x21x+σ0=(1-β1x)*(1-β2x)*...*(1-βtx) 2-2
其中,σt至σ0分别表示第一码块的错误多项式中的t次项至常数项的系数,σ0通常取值为1。
因此,只有一个符号错误的情况下,第一码块对应的错误位置多项式可以表示为式2-3:
σ(x)=σ1x+σ0 2-3
S205、搜索是否存在满足错误位置多项式2-3的一个错误位置x0
具体的,根据牛顿恒等式,如果一个码块(codeword)存在T个错误symbol,则其第一码块的伴随式结果和错误位置多项式存在如式2-4的对应关系:
针对只有一个错误符号的情况下,式2-4可转换为式2-5:
因此,若满足错误位置多项式2-3的一个错误位置x0时,则根据式2-5可以迅速计算出σ1的值。
进一步的,根据式2-5计算出σ1的值之后,将σ1的值代入式2-3中,可以得到错误位置x0
在得到错误位置x0后,执行S206以便计算出错误位置x0对应的错误值y0,并对第一码块进行纠正。
若无法根据式2-5计算出σ1的值,则说明第一码块中存在不止一个错误符号,则执行S207。
S206、计算错误位置x0对应的错误值y0,对第一码块进行纠正。
根据公式2-22知道,当链路只有一个错误时。
则E1=S1。因此对应错误值y0就可以直接快速求出来。
具体的,在确定错误位置x0后,可将错误位置x0和伴随式结果S1~S2T,代入公式2-22,求得错误值y0,并根据错误值y0对第一码块中错误位置x0的值进行纠正,完成解码过程。
S207、计算有二个符号错误的情况下,第一码块对应的错误位置多项式。
根据上式2-3可得,有两个符号错误的情况下,第一码块对应的错误位置多项式可以表示为式2-6:
σ(x)=σ2x21x+σ0 2-6
S208、搜索是否存在满足错误位置多项式2-3的两个错误位置x0和x1
根据上式2-4,针对有两个错误符号的情况下,式2-4可转换为式2-7:
因此,若存在满足错误位置多项式2-3的两个错误位置时,则根据式2-7可以计算出σ1和σ2的值。
进一步的,根据式2-7计算出σ1和σ2的值之后,将σ1和σ2的值代入式2-6中,可以得到两个错误位置x0和x1
在得到错误位置x0和x1后,执行S209以便计算出错误位置x0和x1分别对应的错误值y0和y1,并对第一码块进行纠正。
若无法根据式2-7计算出σ1和σ2的值,则说明第一码块中存在不止二个错误符号,则执行S210。
S209、计算错误位置x0和x1分别对应的错误值y0和y1,对第一码块进行纠正。
根据已经的错误位置x0,x1和伴随式结果S1~S2T,代入公式2-22,求得错误值y0,y1
具体的,在确定错误位置x0和x1后,可将错误位置x0和x1代入伴随式2-2中,进而得到错误值y0和y1,并根据错误值y0和y1对第一码块中错误位置x0和x1的值进行纠正,完成解码过程。
S210、计算有三个符号错误的情况下,第一码块对应的错误位置多项式。
根据上式2-2可得,在有三个符号错误的情况下,第一码块对应的错误位置多项式可以表示为式2-8:
σ(x)=σ3x32x21x+σ0 2-8
S211、搜索是否存在满足错误位置多项式2-8的三个符号错误位置x0、x1和x2
具体的,与S205和S208同理,可以通过式2-4进行简化,并计算三个错误位置对应的σ1、σ2和σ3的值。并在计算出σ1、σ2和σ3的值后,将σ1、σ2和σ3的值代入式2-8中,可以得到三个错误位置x0、x1和x2
在得到三个错误位置x0、x1和x2后,参照上文S206和S209的内容,可以通过将三个错误位置x0、x1、x2以及伴随式结果S1~S2T代入错误和伴随式等式2-22中,进而得到错误值y0、y1和y2,并根据错误值y0、y1和y2对第一码块中三个错误位置x0、x1和x2的值进行纠正,完成解码过程。
S212、当无法搜索到满足错误位置多项式2-8的三个错误位置,则依次针对四个符号错误、五个符号错误等等以此类推,计算第一码块对应的错误位置多项式并搜索错误位置。直至搜索到合法有效的错误位置以及个数,进而根据搜索到的错误位置以及个数,计算错误值并纠正第一码块,重复之个符号不做赘述。
具体的,在针对M个符号以上错误的情况下(其中M≥2),计算第一码块对应的错误位置多项式时,可以基于之前计算出的M-1个符号错误的情况下的公式,通过算法迭代(具体可以包括:通过BM算法、IBM算法、RIBM算法或者直接电路求解进行迭代),求出M个符号错误对应的第一码块的错误位置多项式,从而可以减少并行处理的电路个数,节省电路功耗。
下面结合数据解码设备ETH 12的结构,对本实施例上述数据处理方法进行介绍。具体的,如图4所述,该方法包括:
S301、将第一码块输入伴随式计算模块121。
S302、伴随式计算模块121计算第一码块的伴随式。
若根据第一码块的伴随式确定第一码块中没有错误,则输出第一码块中的用户数据。
若根据第一码块的伴随式确定第一码块中有错误,则执行S303。
S303、关键方程求解器122计算一个符号错误对应的错误位置多项式,并由搜索电路123搜索可能存在的有效合法的错误位置。
若搜索到有效合法的一个符号错误位置,则执行S304。
若未搜索到有效合法的一个符号错误位置,则执行S305。
S304、由纠错电路124计算对应的错误值,并纠正缓存125中的第一码块。
在通过S304纠正第一码块中的错误后,输出第一码块中的用户数据。
S305、关键方程求解器122计算二个符号错误对应的错误位置多项式,并由搜索电路123搜索可能存在的有效合法的两个符号错误位置。
若搜索到有效合法的二个符号错误位置,则执行S306。
若未搜索到有效合法的二个符号错误位置,则执行S307。
S306、由纠错电路124计算对应的两个错误值,并纠正缓存125中的第一码块。
在通过S306纠正第一码块中的错误后,输出第一码块中的用户数据。
S307、关键方程求解器122计算三个符号错误对应的错误位置多项式,并由搜索电路123搜索可能存在的有效合法的三个符号错误位置。
若搜索到有效合法的三个符号错误位置,则执行S308。
若未搜索到有效合法的三个符号错误位置,则执行S309。
S308、由纠错电路124计算对应的三个错误值,并纠正缓存125中的第一码块。
在通过S308纠正第一码块中的错误后,输出第一码块中的用户数据。
S309、关键方程求解器122计算四个符号错误对应的错误位置多项式,并由搜索电路123搜索可能存在的有效合法的四个符号错误位置。
若搜索到有效合法的四个符号错误位置,则执行S310。
若未搜索到有效合法的四个符号错误位置,则计算五个符号错误对应的错误位置多项式,并由搜索电路123搜索可能存在的有效合法的五个符号错误位置。依次类推,直至遍历到t个符号错误的情况(t为第一码块中最多能够纠错的符号数量),执行下文S311。
S310、由纠错电路124计算对应的四个错误值,并纠正缓存125中的第一码块。
在通过S309纠正第一码块中的错误后,输出第一码块中的用户数据。
S311、关键方程求解器122计算t个符号错误对应的错误位置多项式,并由搜索电路123搜索可能存在的有效合法的t个符号错误位置。
若搜索到有效合法的t个符号错误位置,则执行S312。
若未搜索到有效合法的t个符号错误位置,则说明第一码块中错误符号个数大于t,即数据无法纠正,输出纠正失败指示。
S312、由纠错电路124计算对应的t个错误值,并纠正缓存125中的第一码块。
在通过S308纠正第一码块中的错误后,输出第一码块中的用户数据。
本实施例所提供数据处理方法中,从一个符号错误开始,针对不同错误个数,采用不同的错误位置多项式的计算过程、不同的错误位置搜索过程以及不同的错误值计算以及纠正过程,相比现有技术可以达到节省电路资源、加快计算过程以及降低功耗的效果。
上文中结合图3-图4,详细描述了根据本实施例所提供的数据处理方法,下面将描述本实施例所提供数据处理方法对应的各种装置。
如图5所示,为本实施例提供的一种数据处理装置的结构示意图。该数据处理装置包括:
获取单元401,用于获取采用里的-所罗门RS码进行编码的第一码块。
伴随式计算单元402,用于计算第一码块的伴随式。
错误位置搜索单元403,用于从p=1开始,依次计算在有p个符号错误的情况下第一码块的错误位置多项式,并搜索是否存在满足第一码块的错误位置多项式的p个错误位置,直至搜索到存在满足第一错误位置多项式的M个错误位置,其中第一错误位置多项式为有M个符号错误的情况下第一码块的错误位置多项式。
纠错单元404,用于根据M个错误位置和伴随式,计算M个错误位置分别对应的错误值。
纠错单元404,用于利用M个错误位置分别对应的错误值,纠正第一码块中M个错误位置的数值。
可选的,错误位置搜索单元403,用于从p=1开始,依次计算在有p个符号错误的情况下第一码块的错误位置多项式,包括:
在p≥2的情况下,错误位置搜索单元403,用于基于之前计算出的p-1个符号错误的情况下的公式,通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式。
可选的,通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式,包括:通过BM算法、RIBM算法或欧几里得算法中任一项,求出p个符号错误对应的第一码块的错误位置多项式。
可选的,当p=1时,错误位置搜索单元403,具体用于计算在有一个符号错误的情况下第一码块的第二错误位置多项式,其中,第二错误位置多项式满足以下公式一:
σ(x)=σ1x+σ0 公式一
其中,σ1表示第一码块的错误多项式中一次项的系数,σ0表示第一码块的错误多项式中的常数项;
错误位置搜索单元403,还具体用于搜索满足以下公式二的σ1的值:
其中,S1,S2,...,St表示第一码块的2t个伴随式中的第1至t个伴随式,t为第一码块最多能够纠错的符号数量;
若搜索到满足公式二的σ1的值,则错误位置搜索单元403,具体用于根据σ1的值和公式一,确定第一码块中的错误位置;
若无法搜索到满足公式二的σ1的值,则错误位置搜索单元403,具体用于确定存在满足第一码块的错误位置多项式的一个错误位置。
可选的,纠错单元404,用于根据M个错误位置和伴随式,计算M个错误位置分别对应的错误值,包括:纠错单元404,具体用于将根据σ1的值和公式一确定出的第一码块中的错误位置,代入伴随式中,计算错误位置对应的错误值。
可选的,错误位置搜索单元403,还具体用于计算在有二个符号错误的情况下第一码块的第三错误位置多项式,其中,第三错误位置多项式满足以下公式三:
σ(x)=σ2x21x+σ0 公式三
其中,σ2表示第一码块的错误多项式中二次项的系数,σ1表示第一码块的错误多项式中一次项的系数,σ0表示第一码块的错误多项式中的常数项;
错误位置搜索单元403,还具体用于搜索满足以下公式四的σ1和σ2的值:
其中,S1,S2,...,St,St+1,St+2表示第一码块的2t个伴随式中的第1至t+2个伴随式,t为第一码块最多能够纠错的符号数量;
若搜索到满足公式二的σ1和σ2的值,则错误位置搜索单元403,还具体用于根据σ1和σ2的值和公式一,确定第一码块中的二个错误位置;
若无法搜索到满足公式二的σ1和σ2的值,则错误位置搜索单元403,还具体用于确定不存在满足第一码块的错误位置多项式的二个错误位置。
可选的,纠错单元404,用于根据M个错误位置和伴随式,计算M个错误位置分别对应的错误值,包括:
纠错单元404,具体用于将根据σ1和σ2的值和公式一确定出的第一码块中的二个符号错误位置,代入伴随式中,计算二个符号错误位置分别对应的错误值。
可选的,其中p不大于第一码块最多能够纠错的符号数量。
有关上述获取单元404、伴随式计算单元402、错误位置搜索单元403以及纠错单元404更详细的描述,可以直接参考图3和图4所示的方法中相关描述,这里不再赘述。
图6为本实施例提供的另一种数据处理装置的结构示意图。该数据处理装置50可以为芯片或片上系统。
其中,该数据处理装置50可以包括:处理器501、通信线路508、内存503以及至少一个通信接口502中的部分或全部部件。
其中,处理器501用于执行本实施例所提供的数据处理方法中数据解码设备ETH12所执行的全部或部分步骤。
具体的,处理器501可以包含通用中央处理器(central processing unit,CPU),处理器401还可以包含微处理器、现场可编程逻辑门阵列(Field Programmable GateArray,FPGA)、数字信号处理器(digital signal processing,DSP)或者特定应用集成电路(application-specific integrated circuit,ASIC)、或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在具体实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图6中的CPU0和CPU1。
在具体实现中,作为一种实施例,数据处理装置50可以包括多个处理器,例如图6中的处理器501和处理器507。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理例如计数据(算机程序指令)的处理核。
另外,内存503可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。内存503可以是独立存在,通过通信线路508与处理器501相连接。内存503也可以和处理器501集成在一起。
其中,内存503存储有计算机指令。处理器501可以通过执行内存503中存储的计算机指令,用于执行本实施例所提供的数据处理方法中的全部或部分步骤。
可选的,本实施例中的计算机执行指令也可以称之为应用程序代码,本实施例对此不作具体限定。
另外,通信接口502使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。
另外,通信线路508用于将数据处理装置50中各部件连接。具体的,通信线路508可以包括数据总线、电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为通信线路508。
应理解,根据本实施例的数据处理装置50可对应于本实施例中的数据处理装置40,并可以对应于执行根据本实施例的数据处理方法的相应主体,并且数据处理装置50中的各个模块的上述和其它操作和/或功能分别为了实现图3或图4中的各个方法的相应流程,为了简洁,在此不再赘述。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、PROM、EPROM、EEPROM、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于数据处理装置或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于数据处理装置或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、数据处理装置、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,SSD。
在本实施例中,如果没有特殊说明以及逻辑冲突,不同的实现方式之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上,其它量词与之类似。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。再者,至少一个(at least one of).......”意味着后续关联对象中的一个或任意组合,例如“A、B和C中的至少一个”包括A,B,C,AB,AC,BC,或ABC。在本实施例的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本实施例的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。

Claims (18)

1.一种数据处理方法,其特征在于,所述方法包括:
获取采用里的-所罗门RS码进行编码的第一码块;
计算所述第一码块的伴随式;
从p=1开始,依次计算在有p个符号错误的情况下所述第一码块的错误位置多项式,并搜索是否存在满足所述第一码块的错误位置多项式的p个错误位置,直至搜索到存在满足第一错误位置多项式的M个错误位置,其中所述第一错误位置多项式为有M个符号错误的情况下所述第一码块的错误位置多项式;
根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值;
利用所述M个错误位置分别对应的错误值,纠正所述第一码块中所述M个错误位置的数值。
2.根据权利要求1所述的方法,其特征在于,在p≥2的情况下,所述计算在有p个符号错误的情况下所述第一码块的错误位置多项式,包括:
基于之前计算出的p-1个符号错误的情况下的公式,通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式。
3.根据权利要求2所述的方法,其特征在于,所述通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式,包括:
通过坎普梅西BM算法、IBM算法、RIBM算法或欧几里得算法中任一项,求出p个符号错误对应的第一码块的错误位置多项式。
4.根据权利要求1-3任一项所述的方法,其特征在于,当p=1时,所述计算在有p个符号错误的情况下所述第一码块的错误位置多项式,并搜索是否存在满足所述第一码块的错误位置多项式的p个错误位置,包括:
计算在有一个符号错误的情况下所述第一码块的第二错误位置多项式,其中,所述第二错误位置多项式满足以下公式一:
σ(x)=σ1x+σ0 公式一
其中,σ1表示所述第一码块的错误多项式中一次项的系数,σ0表示所述第一码块的错误多项式中的常数项;
搜索满足以下公式二的σ1的值:
其中,S1,S2,...,St表示第一码块的2t个伴随式中的第1至t个伴随式,t为第一码块最多能够纠错的符号数量;
若搜索到满足所述公式二的σ1的值,则根据σ1的值和所述公式一,确定所述第一码块中的错误位置;
若无法搜索到满足所述公式二的σ1的值,则确定不存在满足所述第一码块的错误位置多项式的一个错误位置。
5.根据权利要求4所述的方法,其特征在于,所述根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值,包括:
将根据σ1的值和所述公式一确定出的所述第一码块中的错误位置,代入所述伴随式中,计算所述错误位置对应的错误值。
6.根据权利要求4所述的方法,其特征在于,在无法搜索到满足所述公式二的σ1的值后,所述计算在有p个符号错误的情况下所述第一码块的错误位置多项式,并搜索是否存在满足所述第一码块的错误位置多项式的p个错误位置,还包括:
计算在有二个符号错误的情况下所述第一码块的第三错误位置多项式,其中,所述第三错误位置多项式满足以下公式三:
σ(x)=σ2x21x+σ0 公式三
其中,σ2表示所述第一码块的错误多项式中二次项的系数,σ1表示所述第一码块的错误多项式中一次项的系数,σ0表示所述第一码块的错误多项式中的常数项;
搜索满足以下公式四的σ1和σ2的值:
其中,S1,S2,...,St,St+1,St+2表示第一码块的2t个伴随式中的第1至t+2个伴随式,t为第一码块最多能够纠错的符号数量;
若搜索到满足所述公式二的σ1和σ2的值,则根据σ1和σ2的值和所述公式一,确定所述第一码块中的二个错误位置;
若无法搜索到满足所述公式二的σ1和σ2的值,则确定不存在满足所述第一码块的错误位置多项式的二个错误位置,并计算在有三个符号错误的情况下所述第一码块的错误位置多项式并搜索是否存在满足所述第一码块的错误位置多项式的三个错误位置,直至搜索到存在满足第一错误位置多项式的所述M个错误位置。
7.根据权利要求6所述的方法,其特征在于,所述根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值,包括:
将根据σ1和σ2的值和所述公式一确定出的所述第一码块中的所述二个符号错误位置,代入所述伴随式中,计算所述二个符号错误位置分别对应的错误值。
8.根据权利要求1-7任一项所述的方法,其特征在于,其中p不大于所述第一码块最多能够纠错的符号数量。
9.一种数据处理装置,其特征在于,所述数据处理装置包括:
获取单元,用于获取采用里的-所罗门RS码进行编码的第一码块;
伴随式计算单元,用于计算所述第一码块的伴随式;
错误位置搜索单元,用于从p=1开始,依次计算在有p个符号错误的情况下所述第一码块的错误位置多项式,并搜索是否存在满足所述第一码块的错误位置多项式的p个错误位置,直至搜索到存在满足第一错误位置多项式的M个错误位置,其中所述第一错误位置多项式为有M个符号错误的情况下所述第一码块的错误位置多项式;
纠错单元,用于根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值;
所述纠错单元,用于利用所述M个错误位置分别对应的错误值,纠正所述第一码块中所述M个错误位置的数值。
10.根据权利要求9所述的数据处理装置,其特征在于,所述错误位置搜索单元,用于从p=1开始,依次计算在有p个符号错误的情况下所述第一码块的错误位置多项式,包括:
在p≥2的情况下,所述错误位置搜索单元,用于基于之前计算出的p-1个符号错误的情况下的公式,通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式。
11.根据权利要求10所述的数据处理装置,其特征在于,所述通过算法迭代,求出p个符号错误对应的第一码块的错误位置多项式,包括:
通过坎普梅西BM算法、IBM算法、RIBM算法或欧几里得算法中任一项,求出p个符号错误对应的第一码块的错误位置多项式。
12.根据权利要求9-11任一项所述的数据处理装置,其特征在于,当p=1时,所述错误位置搜索单元,具体用于计算在有一个符号错误的情况下所述第一码块的第二错误位置多项式,其中,所述第二错误位置多项式满足以下公式一:
σ(x)=σ1x+σ0 公式一
其中,σ1表示所述第一码块的错误多项式中一次项的系数,σ0表示所述第一码块的错误多项式中的常数项;
所述错误位置搜索单元,还具体用于搜索满足以下公式二的σ1的值:
其中,S1,S2,...,St表示第一码块的2t个伴随式中的第1至t个伴随式,t为第一码块最多能够纠错的符号数量;
若搜索到满足所述公式二的σ1的值,则所述错误位置搜索单元,具体用于根据σ1的值和所述公式一,确定所述第一码块中的错误位置;
若无法搜索到满足所述公式二的σ1的值,则所述错误位置搜索单元,具体用于确定存在满足所述第一码块的错误位置多项式的一个错误位置。
13.根据权利要求12所述的数据处理装置,其特征在于,所述纠错单元,用于根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值,包括:
所述纠错单元,具体用于将根据σ1的值和所述公式一确定出的所述第一码块中的错误位置,代入所述伴随式中,计算所述错误位置对应的错误值。
14.根据权利要求12所述的数据处理装置,其特征在于,所述错误位置搜索单元,还具体用于计算在有二个符号错误的情况下所述第一码块的第三错误位置多项式,其中,所述第三错误位置多项式满足以下公式三:
σ(x)=σ2x21x+σ0 公式三
其中,σ2表示所述第一码块的错误多项式中二次项的系数,σ1表示所述第一码块的错误多项式中一次项的系数,σ0表示所述第一码块的错误多项式中的常数项;
所述错误位置搜索单元,还具体用于搜索满足以下公式四的σ1和σ2的值:
其中,S1,S2,...,St,St+1,St+2表示第一码块的2t个伴随式中的第1至t+2个伴随式,t为第一码块最多能够纠错的符号数量;
若搜索到满足所述公式二的σ1和σ2的值,则所述错误位置搜索单元,还具体用于根据σ1和σ2的值和所述公式一,确定所述第一码块中的二个错误位置;
若无法搜索到满足所述公式二的σ1和σ2的值,则所述错误位置搜索单元,还具体用于确定不存在满足所述第一码块的错误位置多项式的二个错误位置。
15.根据权利要求14所述的数据处理装置,其特征在于,所述纠错单元,用于根据所述M个错误位置和所述伴随式,计算所述M个错误位置分别对应的错误值,包括:
所述纠错单元,具体用于将根据σ1和σ2的值和所述公式一确定出的所述第一码块中的所述二个符号错误位置,代入所述伴随式中,计算所述二个符号错误位置分别对应的错误值。
16.根据权利要求9-15任一项所述的数据处理装置,其特征在于,其中p不大于所述第一码块最多能够纠错的符号数量。
17.一种数据处理装置,其特征在于,包括处理器和接口,所述处理器通过所述接口接收或发送数据,所述处理器用于实现如权利要求1-8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在处理器上运行时,实现如权利要求1-8任一项所述的方法。
CN202210411242.4A 2022-04-19 2022-04-19 一种数据处理方法及装置 Pending CN116961823A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210411242.4A CN116961823A (zh) 2022-04-19 2022-04-19 一种数据处理方法及装置
PCT/CN2023/072909 WO2023202176A1 (zh) 2022-04-19 2023-01-18 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210411242.4A CN116961823A (zh) 2022-04-19 2022-04-19 一种数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN116961823A true CN116961823A (zh) 2023-10-27

Family

ID=88419085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210411242.4A Pending CN116961823A (zh) 2022-04-19 2022-04-19 一种数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN116961823A (zh)
WO (1) WO2023202176A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478314B (zh) * 2008-01-03 2012-03-07 中兴通讯股份有限公司 一种里德-所罗门编码译码器及其译码的方法
JP5667408B2 (ja) * 2010-10-08 2015-02-12 株式会社日立製作所 リードソロモン符号・復号化回路、リードソロモン符号・復号化方法、および、記憶装置
CN102857234B (zh) * 2011-06-29 2017-02-01 比亚迪股份有限公司 Reed Solomon解码器及解码方法
CN112953570B (zh) * 2021-02-04 2022-08-19 山东云海国创云计算装备产业创新中心有限公司 一种纠错解码方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
WO2023202176A1 (zh) 2023-10-26

Similar Documents

Publication Publication Date Title
US10187085B2 (en) Decoding method, decoding apparatus and decoder
US8612834B2 (en) Apparatus, system, and method for decoding linear block codes in a memory controller
TWI697000B (zh) 記憶體控制器及快閃記憶體的存取方法
US10243589B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
US10425107B2 (en) Partial sum computation for polar code decoding
US8621329B2 (en) Reconfigurable BCH decoder
JP7116374B2 (ja) 短縮レイテンシ誤り訂正復号
KR19990016134A (ko) 고속 시리얼 에러 위치 다항식 계산회로
TWI718060B (zh) 記憶體控制器及快閃記憶體的存取方法
CN116961823A (zh) 一种数据处理方法及装置
US20140223267A1 (en) Radix-4 viterbi forward error correction decoding
US10009041B2 (en) BCH decorder in which folded multiplier is equipped
US7987412B2 (en) Reed Solomon decoding of signals having variable input data rates
Zheng et al. An efficient eligible error locator polynomial searching algorithm and hardware architecture for one-pass Chase decoding of BCH codes
KR102607761B1 (ko) 극 부호를 이용하는 복호화를 위한 복호 위치 제어 정보 생성 방법 및 장치
CN116781214B (zh) 一种解码模块生成方法、设备以及可读存储介质
US11689221B1 (en) BCH fast soft decoding beyond the (d-1)/2 bound
TWI523437B (zh) Bch碼編碼與癥狀計算共用設計電路及決定該共用設計電路的方法
US9413391B2 (en) Chien search device, storage device, and chien search method
Yang et al. An area-efficient BCH codec with echelon scheduling for NAND flash applications
US20240146336A1 (en) Integration of compression algorithms with error correction codes
Yang et al. An MPCN-based BCH codec architecture with arbitrary error correcting capability
Skorokhod et al. Software optimization for fast encoding and decoding of Reed-Solomon codes
JP2013201503A (ja) チェンサーチ回路、復号器、記憶装置およびチェンサーチ方法
JP2018515985A (ja) 巡回冗長検査でのアルゴリズムの構成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication