CN1369984A - 处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法 - Google Patents

处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法 Download PDF

Info

Publication number
CN1369984A
CN1369984A CN02107081A CN02107081A CN1369984A CN 1369984 A CN1369984 A CN 1369984A CN 02107081 A CN02107081 A CN 02107081A CN 02107081 A CN02107081 A CN 02107081A CN 1369984 A CN1369984 A CN 1369984A
Authority
CN
China
Prior art keywords
multinomial
syndrome
bit
data
erratum
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.)
Granted
Application number
CN02107081A
Other languages
English (en)
Other versions
CN100393017C (zh
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1369984A publication Critical patent/CN1369984A/zh
Application granted granted Critical
Publication of CN100393017C publication Critical patent/CN100393017C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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
    • 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/158Finite field arithmetic processing
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes

Landscapes

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

Abstract

一种用于数字通信和/或存储***的里德-索罗门(RS)解码器及其解码方法。RS解码器包括:存储部分;计算部分,用于根据来自存储部分的(2m)比特数据,计算错误位置和错误值;和控制部分,用于根据错误位置和错误值,纠正数据的错误,并且控制计算部分输出解码的信号。结果,各种长度的RS码可以被解码,并且可以实现高速处理。

Description

处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法
                      技术领域
本发明涉及里德-索罗门(Reed-Solomon,RS)解码器及其解码方法,并且更特别涉及并行使用两个RS内核(core)处理(m)或(2m)比特数据的解码器及其解码方法。本申请基于2001年2月7日申请的韩国专利申请说明书第2001-5970号,这里引入作为参考。
                      背景技术
为了在数据传输或再现期间检测并且纠错,一般的数字通信和存储***采用了一种纠错码方法,其中传输数据中被加入冗余,来进行纠错。这种纠错码方法被分成块码方法和树码方法。这里,块码被分成线性码和非线性码。线性码被分成循环码和非循环码。循环码包括BCH码。以符号为单位形成码字的BCH码是里德-索罗门码(此后称为“RS码”)。对于一定纠正容量的码字,循环码或线性码比RS码需要更多的奇偶位。由此,当传输或存储大量的数据时,循环码方法的RS码相对广泛地用在数字通信和存储***中。RS码是符号纠错码,用于根据一系列操作过程,从接收的数据中检测错误位置和错误值。此外,RS码对于信道中的随机和突发错误具有优异的纠错能力,并且容易选择代码来得到所需的差错率。特别是,当用作对于相同的数据来产生内码(inner code)和外码(outer code)的乘积码(product code)时,用于传输或存储大量数据的数字通信和存储***的RS码具有优异的纠正能力。
现在将参考图1和2解释用于处理(m)比特数据的传统RS解码器。
传统的RS解码器100包括RS内核110、控制部分130和存储部分150。
RS内核110包括删除算子(eraser)位置多项式计算部分(ERALCAL)111、校验子(syndrome)多项式计算部分(SYNDCAL)113、误符(errata)位置多项式计算部分(ERTLCAL)115、和错误值计算部分(ERTVCAL)117。
这里,删除算子被定义为位置可以被检测到的错误。
误符是错误或所述删除算子的共用名称。
控制单元130连接RS内核110和存储部分150,并且产生控制信号CCON,用于控制RS内核110。
存储单元150将数据允许信号ACSEN输出到控制部分130,用于允许RS内核110访问顺序输入的(m)比特数据IDATA。根据数据允许信号ACSEN,控制单元130将块偏移地址BADR和块控制信号BCON输出到存储单元150。RS内核110通过使用来自存储单元150的(m)比特数据IDATA和删除算子标志ERAFLAG,来执行各种运算。删除算子标志ERAFLAG是在前面的步骤计算出的错误标志。
SYNDCAL 113根据顺序输入的(m)比特数据IDATA计算出校验子多项式。
ERALCAL 111根据前面步骤顺序输入的删除算子标志ERAFLAG,计算具有删除算子位置的根的删除算子位置多项式。
ERTLCAL 115根据计算的校验子多项式和删除算子位置多项式,计算具有误符位置的根的误符位置多项式。
ERTVCAL 117根据计算的误符位置多项式和校验子多项式,计算错误位置ELOC和错误值EVAL。得到的错误位置ELOC、错误值EVAL、错误标志EFLAG1和控制信号STATUS被输出到控制单元130。
控制单元130通过使用从RS内核110输出的信号,将数据解码,并且纠错,并且将错误标志EFLAG2和解码的(m)比特数据ODATA输出到存储单元150。
用于纠正RS解码器错误的传统方法包括内码纠正步骤和外码纠正步骤。
下面将解释内码纠正步骤。当比特流从信道输入到RS解码器100时,比特流转换成(m)比特数据符号,并且存储在存储单元150中。这个(m)比特数据符号是纠错码块(ECC块),它满足内码字长度N1和外码字长度N2的积。当数据符号存储在存储单元150中时,开始纠错。RS内核110以(m)比特为单位从存储单元150顺序读取数据,并且SYNDCAL 113计算校验子多项式。在计算了校验子多项式后,计算错误位置多项式。根据计算的错误位置多项式和校验子多项式,计算错误位置和错误值。通过读取相应于计算的错误位置的错误符号来纠错,然后将错误符号加入计算的错误值中。这样纠正的错误符号存储在存储单元150中。如果精确地检测错误,那么存储“0”作为删除算子标志EFLAG2值。否则,存储“1”作为删除算子标志EFLAG2值。
除了在外码纠正步骤存储的错误标志位置被认为是删除算子标志(ERFLAG)外,以与内码纠正步骤相同的顺序执行外码纠正步骤。由此,在计算校验子位置多项式中与数据一起读取删除算子标志ERAFLAG,并且计算删除算子位置多项式。
在图2,横轴代表了时间,而纵轴指示了过程。在时间周期0,执行第一处理过程(proc1),从而通过读取删除算子标志ERAFLAG和第一(m)比特数据IDATA计算删除算子位置多项式和校验子多项式。在时间周期1,对第二(m)比特数据执行第一处理过程(proc1),并且对第一(m)比特数据执行用于计算误符位置多项式的第二处理过程(proc2)。在时间周期2,对第三(m)比特数据执行第一处理过程(proc1),对第二(m)比特数据执行用于计算误符位置多项式的第二处理过程(proc2),并且执行用于计算第一(m)比特数据的错误位置和错误值、并且更新存储单元150的第三处理过程(proc3)。也就是说,在流水线(pipeline)结构的并行处理方法中,当在时间周期0只执行第一处理过程时,在时间周期“t”同时执行第一到第三处理过程(proc1-proc3)。
然而,即使使用流水线结构的并行处理,使用单一RS内核的传统解码器也不能满足高速数字通信和存储***的需求。为了处理适于高速数字通信和存储***的数据,传统的RS解码器必须具有更快的操作时钟。然而,计算大量数据的RS解码器具有有限的操作时钟。此外,当操作时钟的速度增加而以高速处理数据时,在存储部分和RS内核之间的接口不能稳定工作。
                    发明内容
由此,本发明的主要目的是提供用于处理(m)或(2m)比特数据的RS解码器,它可以满足高速数字通信和存储***的要求。
本发明的另一个目的是提供用于处理(m)或(2m)比特数据的RS解码器,它可以满足高速数字通信和存储***的要求,而无需增加操作时钟的速度。
本发明的又一个目的是提供用于处理(m)或(2m)比特数据的RS解码器,它可以用在复杂的纠错***中。
本发明的一个目的是提供用于处理(m)比特数据或(2m)比特数据的RS解码器的方法,它可以满足高速数字通信和存储***的要求。
本发明的另一个目的是提供用于处理(m)或(2m)比特数据的RS解码器的方法,它可以满足高速数字通信和存储***的要求,而无需增加操作时钟的速度。
本发明的另一个目的是提供用于处理(m)或(2m)比特数据的RS解码器的方法,它可以用在复杂的纠错***中。
为了实现本发明的上述目的,提供了这样一种RS解码器,它包括:存储部分;计算部分,用于根据存储部分的(2m)比特数据,计算错误位置和错误值;和控制部分,用于根据错误位置和错误值,纠正计算部分的数据的错误,并且控制所述计算部分输出解码的信号。
在本发明的一个实施例,计算部分包括:删除算子位置多项式计算部分,用于根据存储部分的删除算子标志,计算删除算子位置多项式;第一校验子多项式计算部分,用于根据从存储部分读取的数据,计算第一校验子多项式;第二校验子多项式计算部分,用于根据从存储部分读取的数据,计算第二校验子多项式;第一误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出延迟的第一校验子多项式;第一错误位置/值计算部分,用于根据第一误符多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值;第二误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出延迟的第二校验子多项式;和第二错误位置/值计算部分,用于根据第二误符多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值。
在本发明的另一个实施例,所述计算部分包括:第一RS内核,用于根据从存储部分读取的数据,计算第一错误位置和第一错误值;和第二RS内核,用于根据从存储器读取的数据,计算第二错误位置和第二错误值。
为了以(m)比特为单位操作RS解码器,设置(m)比特纠正模式,其中(m)比特数据存储在存储部分的上(m)比特存储部分,并且第二RS内核被禁止访问该存储部分。
第一RS内核包括:删除算子位置多项式计算部分,用于根据从存储部分读取的删除算子标志,计算删除算子位置多项式;第一校验子多项式计算部分,用于根据从存储部分读取的数据,计算第一校验子多项式;第一误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出延迟的第一校验子多项式;和第一错误位置/值计算部分,用于根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值。
最好是,当输入(2m)比特数据时,第一校验子多项式计算部分满足Sj=αj(Sj-1αj+UM)+DM,并且当输入(m)比特数据时,满足Sj=Sj-1αj+UM。其中Sj指示了当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
第二RS内核包括:第二校验子多项式计算部分,用于根据从存储部分读取的数据,计算第二校验子多项式;第二误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出延迟的第二校验子多项式;和第二错误位置/值计算部分,用于根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值。
当输入(2m)比特数据时,第二校验子多项式计算部分满足Sj=αj(Sj-1αj+UM)+DM,并且当输入(m)比特数据时,满足Sj=Sj-1αj+DM。其中Sj指示了当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
在本发明的另一个实施例,RS解码器包括:存储部分,用于存储(2m)比特数据;主控制部分,用于控制存储部分和控制解码器的整体操作;第一RS内核,用于根据从存储部分读取的数据,计算第一错误位置和第一错误值;第一RS内核控制部分,用于在主控制部分的控制下,控制第一RS内核;第二RS内核,用于根据从存储部分读取的数据,计算第二错误位置和第二错误值;和第二RS内核控制部分,用于在主控制部分的控制下,控制第二RS内核。
在本发明的一个实施例中,RS解码方法包括下述步骤:读取要被解码的数据和根据从存储部分读取的删除算子标志;根据读取的数据,计算错误位置和错误值;并且根据计算的错误位置和错误的值纠正数据的错误,并且将数据解码。
最好是,在数据读取步骤,数据被以(2m)比特为单位读取。
所述数据读取步骤包括:删除算子位置多项式计算步骤,用于根据存储部分的删除算子标志,计算删除算子位置多项式;第一校验子多项式计算步骤,用于根据读取的数据,计算第一校验子多项式;第二校验子多项式计算步骤,用于根据读取的数据,计算第二校验子多项式;第一误符位置多项式计算步骤,用于根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出延迟的第一校验子多项式;第一错误位置/值计算步骤,用于根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值;第二误符位置多项式计算步骤,用于根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出延迟的第二校验子多项式;和第二错误位置/值计算步骤,用于根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值。
所述计算步骤包括:第一计算步骤,用于根据读取的数据,计算第一错误位置和第一错误值;和第二计算步骤,用于根据读取的数据,计算第二错误位置和第二错误值。
第一计算步骤包括:删除算子位置多项式计算步骤,用于根据删除算子标志,计算删除算子位置多项式;第一校验子多项式计算步骤,用于根据读取的数据,计算第一校验子多项式;第一误符位置多项式计算步骤,用于根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出延迟的第一校验子多项式;和第一错误位置/值计算步骤,用于根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值。
最好是,当输入(2m)比特数据时,第一校验子多项式计算步骤满足Sj=αj(Sj-1αj+UM)+DM,并且当输入(m)比特数据时,满足Sj=Sj-1αj+UM。Sj指示了当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
第二计算步骤包括:第二校验子多项式计算步骤,用于根据读取的数据,计算第二校验子多项式;第二误符位置多项式计算步骤,用于根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出延迟的第二校验子多项式;和第二错误位置/值计算步骤,用于根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值。
当输入(2m)比特数据时,第二校验子多项式计算步骤满足Sj=αj(Sj-1αj+UM)+DM,并且当输入(m)比特数据时,满足Sj=Sj-1αj+DM。Sj指示了当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
根据本发明,RS乘积码(production code)的内码纠正方法包括下述步骤:根据以(2m)比特为单位接收的内码字,计算第一校验子多项式;根据以(2m)比特为单位接收的内码字,计算第二校验子多项式;根据计算的第一和第二校验子多项式和删除算子位置多项式,计算第一和第二误符位置多项式;并且根据第一和第二误符位置多项式及第一和第二校验子多项式,计算第一和第二错误值及第一和第二错误位置,其中以(m)比特为单位纠错。第一和第二校验子多项式的计算次序可以改变。
根据本发明的RS乘积码的外码纠正方法包括下述步骤:根据读取的(2m)比特外码的上(m)比特,计算第一校验子多项式,并且根据读取的(2m)比特外码的下(m)比特,计算第二校验子多项式,同时通过读取删除算子标志来计算删除算子位置多项式;根据第一和第二校验子多项式及删除算子位置多项式,计算第一和第二误符位置多项式;并且根据第一和第二误符位置多项式及第一和第二校验子多项式,计算错误值和错误位置,以(m)比特为单位交替纠错。
根据本发明,用于处理m或(2m)比特数据的RS解码器及其解码方法,可以通过并行使用RS内核高速处理数据。由此,没有必要增加操作时钟的速度,这样使数据存储部分和RS内核之间的接口稳定工作,并且增加了***的稳定性。而且,RS内核的校验子多项式计算部分有选择地处理(m)或(2m)比特数据。结果,本发明可以被用于复杂纠错***的CD/DVD数据处理中。
                    附图说明
通过参照附图对本发明的详细描述,本发明的很多优点将会很明显并且会变得更好被理解,图中,相同标号表示相同或相似的部分,其中:
图1是说明用于处理(m)比特数据的传统RS解码器的方块图;
图2是表示在每个时间周期中图1的RS解码器的数据处理的时序图;
图3说明了RS乘积码的数据结构;
图4是说明根据本发明处理(m)或(2m)比特数据的RS解码器的方块图;
图5是表示在每个时间周期中图4的RS解码器的内码数据处理的时序图;
图6是表示在每个时间周期中图4的RS解码器的外码数据处理的时序图;
图7是说明了图4中的RS解码器的校验子计算部分的详细结构图;
图8是说明根据本发明的里德-索罗门解码方法的图;
图9是说明根据本发明的数据读取方法的图;
图10是说明根据本发明的计算方法的图;和
图11是说明根据本发明的第一和第二计算方法的图。
                   具体实施方式
现在将参考附图描述根据本发明用于处理m或(2m)比特数据的里德-索罗门(RS)解码器及其解码方法。
为了引用,m或(2m)比特数据中的字符“m”是代表数据处理量的单位,例如,组成符号的位数,它可以根据数据表示方法适当地确定。此后,表示数据处理量的基本单位将由“m”代表。
RS(N,K,d)是RS码,它的码字长度为“N”,信息字长度为“K”,而最小汉明距离(hamming distance)为“d”。RS码的特点是,最小汉明距离“d”等于(N-K+1),其中“N-K”是奇偶校验数。当“N-K”为“R”时,“R”等于(d-1)。等式N-K=R=d-1用于奇偶校验数的限定。例如根据等式,如果信息字为8位(K=8),那么信号字的长度为12(N=12),并且奇偶校验数为4(R=N-K)。当可由RS码纠正的符号数为“t”时,“t”等于[(d-1)/2]。在包括“e”个删除算子的码字中,RS码可以纠正“t”个错误和“e”个删除算子,它们满足“d>=2t+e-1”。用于数字通信和存储***的RS码通常使用乘积码,这种乘积码对关于相同数据产生的内码和外码编码,所述数字通信和存储***用于传输或存储大量数据。图3说明了RS乘积码RSPC的数据结构。这种RS乘积码包括数据、内部奇偶校验位和外部奇偶校验位。这里,内码长度为“N1”而外码长度为“N2”。
图4是说明根据本发明的第一实施例的处理(m)或(2m)比特数据的RS解码器200的方块图。
参考图4,RS解码器200包括:存储单元210;主控制单元220,用于控制存储单元210和控制解码器的整体操作;第一RS内核230;第一RS内核控制单元240;第二RS内核250;和第二RS内核控制单元260。
存储单元210可以是用于存储(2m)比特数据的缓冲器或存储器。
第一RS内核230根据从存储单元210读取的数据IDATA,计算第一错误位置ELOC1和第一错误值EVAL1。
第一RS内核控制单元240在主控制单元220的控制下,控制第一RS内核230。
第二RS内核250根据从存储单元210读取的数据IDATA,计算第二错误位置ELOC2和第二错误值EVAL2。
第二RS内核控制单元260在主控制单元220的控制下,控制第二RS内核250。
第一RS内核230包括:删除算子位置多项式计算部分ERALCAL 231、第一校验子多项式计算部分SYNDCAL1 233、第一误符位置多项式计算部分ERTLCAL1 235、和第一错误位置/值计算部分ERTVCAL1 237。
ERALCAL 231根据从存储单元210读取的删除算子标志ERAFLAG,计算删除算子位置多项式(1)。删除算子标志ERAFLAG是前面的步骤计算的错误标志(EFLAG)。删除算子是这样的数据,它具有与错误位置有关而与错误值无关的信息。参考图3,水平轴指示了内部信号纠正方向。如果有即使在内部信号的纠正过程后也不被纠正的数据,这意味着错误已经在沿着纵轴方向的数据中发生,由此存储一个错误标志。并且根据水平轴来看,这个存储的错误标志被看作是删除算子标志,因为它指示了错误发生的位置。
SYNDCAL1 233根据从存储单元210读取的数据IDATA计算第一校验子多项式(2)。
ERTLCAL1 235根据计算的删除算子位置多项式(1)和第一校验子多项式(2),计算第一误符位置多项式(3),并且输出延迟的第一校验子多项式(4)。
ERTCAL1 237根据第一误符位置多项式(3)和延迟的第一校验子多项式(4),计算第一错误标志EFLAG1、第一错误位置ELOC1和第一错误值EVAL1。
第二RS内核250包括:第二校验子多项式计算部分SYNDCAL2 253、第二误符位置多项式计算部分ERTLCAL2 255和第二错误位置/值计算部分ERTVCAL2 257。
SYNDCAL2 253根据从存储单元210读取的数据IDATA,计算第二校验子多项式(5)。
ERTLCAL2 255根据计算的删除算子位置多项式(1)和第二校验子多项式(5),计算第二误符位置多项式(6),并且输出延迟的第二校验子多项式(7)。
ERTVCAL2 257根据第二误符位置多项式(6)和延迟的第二校验子多项式(7),计算第二错误标志EFLAG2、第二错误位置ELOC2和第二错误值EVAL2。
输出 和X分别是包含分别从第一RS内核230和第二RS内核250计算出的错误值的值,并且各自从第一RS内核控制单元240和第二RS内核控制单元260流到主控制单元220。
现在将参考图3到6,描述(2m)比特输入/输出解码器对于内码和外码的操作。在图5和6,单直线指示了过程中的预定操作,而双直线指示了更新操作。
现在将参考图4和5解释内码纠正操作。在时间周期0,第一RS内核230将数据以(2m)比特为单位接收,并且SYNDCAL1 233以(2m)比特为单位计算第一校验子多项式(P11)。此后,第二RS内核250以(2m)比特为单位接收数据,并且SYNDCAL2 253以(2m)比特单元计算第二校验子多项式(P21)。这里,处理过程(P11)和(P12)可以以相反的顺序执行。以(2m)比特为单位执行校验子计算。和传统的(m)比特单元校验子计算部分相比,计算时间减少一半。也就是说,校验子多项式的计算速度增加两倍。
在时间周期1,ERTLCAL1 235和ERTLCAL2 255接收计算的第一和第二校验子多项式(2)和(5)及删除算子位置多项式(1),并且计算第一和第二误符位置多项式(3)和(6)(P12,P22)。当对第一(2m)比特数据运行误符位置多项式时,第一和第二RS内核230、250接收第二(2m)比特数据,并且计算第一和第二校验子多项式(2)和(5)(P11,P21)。
在时间周期2,计算第一(2m)比特数据的错误值EVAL1和错误位置ELOC1,并且执行纠错操作。这里,以(m)比特为单位执行纠错操作。由此,在主控制单元220的控制下,第一RS内核230和第二RS内核250被交替启动以进行纠错并且更新数据(P13,P23)。同时,对第二(2m)比特数据计算第一和第二误符位置多项式(3)和(6)(P12,P22),并且对第三(2m)比特数据计算第一和第二校验子多项式(3)和(6)(P11,P21)。如上所述,在时间周期2后的预定时间周期内,校验子多项式计算(2)和(5)(P11,P21)、误符位置计算多项式(3)和(6)(P12,P22)、和纠错和数据更新操作(P13,P23)同时执行。当对于内码完成纠错操作时,根据两个连续的内码字执行识别处理过程。由此,执行N1/2次内码纠正操作。
现在将参考图4和6描述外码纠正操作。
在时间周期0,读取(2m)比特单元,即两个外码。第一RS内核230接收上(m)(UM)比特,而第二RS内核250接收下(m)(DM)比特,由此同时计算第一和第二校验子多项式(2)和(5)。此外,ERALCAL 231接收删除算子标志ERAFLAG,并且计算删除算子位置多项式(1)(P15,P25)。由此,在一般(m)比特单元校验子计算时间期间,得到用于两个外码的校验子多项式(2)和(5)及删除算子位置多项式(1)。
在时间周期1,ERTLCAL1 235和ERTLCAL2 255接收计算的第一和第二校验子多项式(2)和(5)及删除算子位置多项式(1),并且计算第一和第二误符位置多项式(3)和(6)(P17,P27)。当对第一(2m)比特外码执行误符位置多项式计算时,第一和第二RS内核230、250接收第二(2m)比特外码,并且计算第一和第二校验子多项式(2)和(5)(P15,P25)。
在时间周期2,计算第一(2m)比特外码的错误值EVAL1和错误位置ELOC1,并且执行纠错操作。这里,必须以(m)比特为单位执行纠错操作。由此,在主控制单元220的控制下,第一RS内核230和第二RS内核250被交替启动,以进行纠错并且更新数据(P19,P29)。同时,对第二(2m)比特外码,来计算第一和第二误符位置多项式(3)和(6)(P17,P27),并且对第三(2m)比特外码计算第一和第二校验子多项式(2)和(5)(P15,P25)。如上所述,在时间周期2后的预定时间周期内,同时执行校验子多项式计算(2)和(5)(P15,P25)、误符位置计算(3)和(6)(P17,P27)及纠错和数据更新操作(P19,P29)。当完成纠错操作时,对两个连续的外码字执行识别处理过程。由此,执行N2/2次外码纠正操作。
上面解释了(2m)比特单元RS解码器的操作。为了操作(m)比特单元RS解码器,设置了(m)比特纠正模式。在(m)比特纠正模式,(m)比特数据存储在存储单元210的上(m)(UM)比特存储器,并且第二RS内核250被禁止,使第二RS内核250不能访问存储单元210。由此,(m)比特单元RS解码器以与传统(m)比特解码器相同的方式操作。
如图7所示,SYNDCAL1 233包括第一校验子存储部分233a、第一乘法器233b、第一加法器233c、第一(m)比特多路复用器233d、第二乘法器233e、,第二(m)比特多路复用器233f和第二加法器233g。
第一校验子存储部分233a临时存储第一校验子多项式的计算结果。
第一乘法器233b将来自第一校验子存储部分233a的校验子多项式与产生的多项式的根αj(j=0,1,...,N-K-1)相乘。
第一加法器233c将第一乘法器233b的输出和输入数据的上(m)(UM)比特相加。
第一(m)比特多路复用器233d根据(m)或(2m)比特模式分别输出1或αj
第二乘法器233e将第一加法器233c的输出与第一(m)比特多路复用器233d的输出相乘。
第二(m)比特多路复用器233f根据(m)或(2m)比特模式分别输出0或输入数据的下(m)(DM)比特。
第二加法器233g将第二乘法器233e的输出和第二(m)比特多路复用器233f的输出相加。第一校验子存储部分233a临时存储并且输出第二加法器233g的输出。
SYNDCAL2 253包括:第二校验子存储部分253a、第三(m)比特多路复用器253b、第三乘法器253c、第四(m)比特多路复用器253d、第三加法器253e、第四乘法器253f和第四加法器253g。
第二校验子存储部分253a临时存储第二校验子多项式的计算结果。
第三(m)比特多路复用器253b根据(m)或(2m)比特模式分别输出1或αj
第三乘法器253c将第二校验子存储部分253a的输出与第三(m)比特多路复用器253b的输出相乘。
第四(m)比特多路复用器253d根据(m)或(2m)比特模式分别输出0或输入数据的上(m)(UM)比特。
第三加法器253e将第三乘法器253c的输出和第四(m)比特多路复用器253d的输出相加。
第四乘法器253f将第三加法器253e的输出与产生的多项式的根αj(j=0,1,...,N-K-1)相乘。
第四加法器253g将第四乘法器253f的输出和输入数据的下(m)(DM)比特相加。第二校验子存储部分253a存储并且输出第四加法器253g的输出。
如图8所示,根据本发明的高速RS解码方法包括下述步骤:读取要被解码的数据和删除算子标志(步骤S1);根据读取的数据,计算错误位置和错误值(步骤S2);并且根据计算的错误位置和错误值纠正数据的错误,并且将数据解码(步骤S3)。
最好是,在数据读取步骤(S1),以(2m)比特为单位读取数据。
如图9所示,数据读取步骤(S1)包括:读取删除算子标志步骤(S1.1);删除算子位置多项式计算步骤(S11);第一校验子多项式计算步骤(S12);第二校验子多项式计算步骤(S13);第一误符位置多项式计算步骤(S14);延迟的第一校验子多项式输出步骤(S14.1);第一错误位置/值计算步骤(S15);第一错误标志计算输出步骤(S15.1);第一错误位置计算输出步骤(S15.2);第一错误值计算输出步骤(S15.3);第二误符位置多项式计算步骤(S16);延迟的第二校验子多项式输出步骤(S16.1);第二错误位置/值计算步骤(S17);第二错误标志计算输出步骤(S17.1);第二错误位置计算输出步骤(S17.2);第二错误值计算输出步骤(S17.3)。
在删除算子位置多项式计算步骤(S11),通过使用读取的删除算子标志(S1.1),计算删除算子位置多项式。
在第一校验子多项式计算步骤(S12),根据读取的数据,计算第一校验子多项式。
在第二校验子多项式计算步骤(S13),根据读取的数据,计算第二校验子多项式。
在第一误符位置多项式计算步骤(S14),根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出延迟的第一校验子多项式(S14.1)。
在第一错误位置/值计算步骤(S15),根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值(S14.1)。然后,输出第一错误标志(S15.1),输出第一错误位置(S15.2),并且输出第一错误值(S15.3)。
在第二误符位置多项式计算步骤(S16),根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出延迟的第二校验子多项式(S16.1)。
在第二错误位置/值计算步骤(S17),根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值(S16.1)。然后,输出第二错误标志(S17.1),输出第二错误位置(S17.2),并且输出第二错误值(S17.3)。计算步骤(S2)在图10中说明。它包括第一计算步骤(步骤S21)和第二计算步骤(步骤S22)。
如图11所示,第一计算步骤(S21)包括根据读取的数据计算第一错误位置和第一错误值。
在第二计算步骤(S22),根据读取的数据计算第二错误位置和第二错误值。
第一计算步骤(S21)包括:删除算子位置多项式计算步骤(S211);第一校验子多项式计算步骤(S212);第一误符位置多项式计算步骤(S213);延迟的第一校验子多项式输出步骤(S213.1);第一错误位置/值计算步骤(S214);第一错误标志计算输出步骤(S214.1);第一错误位置计算输出步骤(S214.2);和第一错误值计算输出步骤(S214.3)。
在删除算子位置多项式计算步骤(S211),根据读取的删除算子标志计算删除算子位置多项式。
在第一校验子多项式计算步骤(S212),根据读取的数据,计算第一校验子多项式。当输入(2m)比特数据时,第一校验子多项式计算步骤(S212)满足Sj=αj(Sj-1αj+UM)+DM,而当输入(m)比特数据时,满足Sj=Sj-1αj+UM。这里,Sj指示当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
在第一误符位置多项式计算步骤(S213),根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出延迟的第一校验子多项式(213.1)。
在第一错误位置/值计算步骤(S214),根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值(213.1)。然后,输出第一错误标志(S214.1),输出第一错误位置(S214.2),并且输出第一错误值(S214.3)。
第二计算步骤(S22)包括:第二校验子多项式计算步骤(S221);第二误符位置多项式计算步骤(S222);延迟的第二校验子多项式输出步骤(S222.1);第二错误位置/值计算步骤(S223);第二错误标志计算输出步骤(S223.1);第二错误位置计算输出步骤(S223.2);和第二错误值计算输出步骤(S223.3)。
在第二校验子多项式计算步骤(S221),根据读取的数据,计算第二校验子多项式。最好是,当输入(2m)比特数据时,第二校验子多项式计算步骤(S221)满足Sj=αj(Sj-1αj+UM)+DM,而当输入(m)比特数据时,满足Sj=Sj-1αj+UM。
在第二误符位置多项式计算步骤(S222),根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出延迟的第二校验子多项式(222.1)。
在第二错误位置/值计算步骤(S223),根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值(222.1)。然后,输出第二错误标志(S223.1),输出第二错误位置(S223.2),并且输出第二错误值(S223.3)。
根据本发明,用于处理(m)或(2m)比特数据的RS解码器及其解码方法,可以通过并行使用RS内核高速处理数据。由此,没有必要增加操作时钟的速度,这样可使存储部分和RS内核之间的接口稳定工作,并且增加了***的稳定性。
而且,RS内核的校验子多项式计算步骤有选择地处理(m)或(2m)比特数据。结果,本发明可以用于复杂纠错***的CD/DVD数据处理。例如,本发明可以用于CD纠错***,它是需要以(m)比特为单位解码数据以执行复杂的交织的交叉交织里德-索罗门码(CIRC)。
已经针对其优选实施例具体展示并且描述了本发明,本领域的普通技术人士应该理解,由此实现的形式和细节的各种改变应该落入由所附 书限定的本发明的宗旨和范围中。

Claims (30)

1.一种里德-索罗门(Reed-Solomon)解码器,包括:
存储部分;
计算部分,用于根据所述存储部分的(2m)比特数据,计算出错误位置和错误值;和
控制部分,用于根据所述错误位置和错误值,纠正数据的错误,并且控制计算部分来输出解码的信号。
2.根据权利要求1的解码器,其中计算部分包括:
删除算子位置多项式计算部分,用于根据所述存储部分的删除算子标志,计算删除算子位置多项式;
第一校验子多项式计算部分,用于根据从所述存储部分读取的数据,计算第一校验子多项式;
第二校验子多项式计算部分,用于根据从所述存储部分读取的数据,计算第二校验子多项式;
第一误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出第一误符位置多项式和延迟的第一校验子多项式;
第一错误位置/值计算部分,用于根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值;
第二误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出第二误符位置多项式和延迟的第二校验子多项式;
第二错误位置/值计算部分,用于根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值。
3.根据权利要求1的解码器,其中计算部分包括:
第一RS内核(core),用于根据从所述存储部分读取的数据,计算第一错误位置和第一错误值;和
第二RS内核,用于根据从所述存储部分读取的数据,计算第二错误位置和第二错误值。
4.根据权利要求3的解码器,其中第一RS内核包括:
删除算子位置多项式计算部分,用于根据从所述存储部分读取的删除算子标志,计算删除算子位置多项式;
第一校验子多项式计算部分,用于根据从所述存储部分读取的数据,计算第一校验子多项式;
第一误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出第一误符位置多项式和延迟的第一校验子多项式;和
第一错误位置/值计算部分,用于根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值。
5.根据权利要求4的解码器,其中当输入(2m)比特数据时,第一校验子多项式计算部分满足Sj=αj(Sj-1αj+UM)+DM;而当输入(m)比特数据时,满足Sj=Sj-1αj+UM,其中Sj指示当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
6.根据权利要求4的解码器,其中第一校验子多项式计算部分包括:
第一校验子存储部分,用于临时存储第一校验子多项式的计算结果;
第一乘法器,用于将来自第一校验子存储部分的校验子多项式与产生的多项式的根αj(j=0,1,...,N-K-1)相乘;
第一加法器,用于将第一乘法器的输出和输入数据的上(m)(UM)比特相加;
第一(m)比特多路复用器,用于根据(m)或(2m)比特模式输出1或αj
第二乘法器,用于将第一加法器的输出与第一(m)比特多路复用器的输出相乘;
第二(m)比特多路复用器,用于根据(m)或(2m)比特模式输出0或输入数据的下(m)(DM)比特;和
第二加法器,用于将第二乘法器的输出和第二(m)比特多路复用器的输出相加,第一校验子存储部分临时存储并且输出第二加法器的输出;
其中UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
7.根据权利要求4的解码器,其中第二RS内核包括:
第二校验子多项式计算部分,用于根据从所述存储部分读取的数据,计算第二校验子多项式;
第二误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出第二误符位置多项式和延迟的第二校验子多项式;和
第二错误位置/值计算部分,用于根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值。
8.根据权利要求7的解码器,其中当输入(2m)比特数据时,第二校验子多项式计算部分满足Sj=αj(Sj-1αj+UM)+DM;而当输入(m)比特数据时,满足Sj=Sj-1αj+UM,其中Sj指示当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
9.根据权利要求7的解码器,其中第二校验子多项式计算部分包括:
第二校验子存储部分,用于临时存储第二校验子多项式的计算结果;
第三(m)比特多路复用器,用于根据(m)或(2m)比特模式输出1或αj
第三乘法器,用于将第二校验子存储部分的输出与第三(m)比特多路复用器的输出相乘;
第四(m)比特多路复用器,用于根据(m)或(2m)比特模式输出0或输入数据的上(m)(UM)比特;
第三加法器,用于将第三乘法器的输出和第四(m)比特多路复用器的输出相加;
第四乘法器,用于将第三加法器的输出与产生的多项式的根αj(j=0,1,...,N-K-1)相乘;和
第四加法器,用于将第四乘法器的输出和输入数据的下(m)(DM)比特相加,第二校验子存储部分临时存储并输出第四加法器的输出;
其中UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
10.一种里德-索罗门解码器,用于处理(m)或(2m)比特数据,包括:
存储部分,用于存储(2m)比特数据;
主控制部分,用于控制存储部分;
第一RS内核,用于根据从所述存储部分读取的数据,计算第一错误位置和第一错误值;
第一RS内核控制部分,用于在主控制部分的控制下,控制第一RS内核;
第二RS内核,用于根据从存储部分读取的数据,计算第二错误位置和第二错误值;和
第二RS内核控制部分,用于在主控制部分的控制下,控制第二RS内核。
11.根据权利要求10的解码器,其中第一RS内核包括:
删除算子位置多项式计算部分,用于根据所述存储部分的删除算子标志,计算删除算子位置多项式;
第一校验子多项式计算部分,用于根据从所述存储部分读取的数据,计算第一校验子多项式;
第一误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出第一误符位置多项式和延迟的第一校验子多项式;和
第一错误位置/值计算部分,用于根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值。
12.根据权利要求11的解码器,其中第一校验子多项式计算部分包括:
第一校验子存储部分,用于临时存储第一校验子多项式的计算结果;
第一乘法器,用于将来自第一校验子存储部分的校验子多项式与产生的多项式的根αj(j=0,1,...,N-K-1)相乘;
第一加法器,用于将第一乘法器的输出和输入数据的上(m)(UM)比特相加;
第一(m)比特多路复用器,用于根据(m)或(2m)比特模式输出1或αj
第二乘法器,用于将第一加法器的输出与第一(m)比特多路复用器的输出相乘;
第二(m)比特多路复用器,用于根据(m)或(2m)比特模式,输出0或输入数据的下(m)(DM)比特;和
第二加法器,用于将第二乘法器的输出和第二(m)比特多路复用器的输出相加,第一校验子存储部分临时存储并输出第二加法器的输出;
其中UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
13.根据权利要求10的解码器,其中第二RS内核包括:
第二校验子多项式计算部分,用于根据从所述存储部分读取的数据,计算第二校验子多项式;
第二误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出第二误符位置多项式和延迟的第二校验子多项式;和
第二错误位置/值计算部分,用于根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值。
14.根据权利要求13的解码器,其中第二校验子多项式计算部分包括:
第二校验子存储部分,用于临时存储第二校验子多项式的计算结果;
第三(m)比特多路复用器,用于根据(m)或(2m)比特模式输出1或αj
第三乘法器,用于将第二校验子存储部分的输出与第三(m)比特多路复用器的输出相乘;
第四(m)比特多路复用器,用于根据(m)或(2m)比特模式,输出0或输入数据的上(m)(UM)比特;
第三加法器,用于将第三乘法器的输出和第四(m)比特多路复用器的输出相加;
第四乘法器,用于将第三加法器的输出与产生的多项式的根αj(j=0,1,...,N-K-1)相乘;和
第四加法器,用于将第四乘法器的输出和输入数据的下(m)(DM)比特相加,第二校验子存储部分临时存储并输出第四加法器的输出。
15.一种里德-索罗门解码方法,包括下述步骤:
读取要被解码的数据和删除算子标志;
根据读取的数据,计算错误位置和错误值;和
根据计算的错误位置和错误值,纠正数据的错误,并且将数据解码。
16.根据权利要求15的方法,其中在数据读取步骤,以(2m)比特为单位读取数据。
17.根据权利要求15的方法,其中数据读取步骤包括:
删除算子位置多项式计算步骤,用于根据读取的删除算子标志,计算删除算子位置多项式;
第一校验子多项式计算步骤,用于根据读取的数据,计算第一校验子多项式;
第二校验子多项式计算步骤,用于根据读取的数据,计算第二校验子多项式;
第一误符位置多项式计算步骤,用于根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出第一误符位置多项式和延迟的第一校验子多项式;
第一错误位置/值计算步骤,用于根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值;
第二误符位置多项式计算步骤,用于根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出第二误符位置多项式和延迟的第二校验子多项式;和
第二错误位置/值计算步骤,用于根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值。
18.根据权利要求15的方法,其中计算步骤包括:
第一计算步骤,用于根据读取的数据,计算第一错误位置和第一错误值;和
第二计算步骤,用于根据读取的数据,计算第二错误位置和第二错误值。
19.根据权利要求18的方法,其中第一计算步骤包括:
删除算子位置多项式计算步骤,用于根据读取的删除算子标志,计算删除算子位置多项式;
第一校验子多项式计算步骤,用于根据读取的数据,计算第一校验子多项式;
第一误符位置多项式计算部分,用于根据计算的删除算子位置多项式和第一校验子多项式,计算第一误符位置多项式,并且输出第一误符位置多项式和延迟的第一校验子多项式;和
第一错误位置/值计算部分,用于根据第一误符位置多项式和延迟的第一校验子多项式,计算第一错误标志、第一错误位置和第一错误值。
20.根据权利要求19的方法,其中当输入(2m)比特数据时,第一校验子多项式计算步骤满足Sj=αj(Sj-1αj+UM)+DM;而当输入(m)比特数据时,满足Sj=Sj-1αj+UM,其中Sj指示当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
21.根据权利要求18的方法,其中第二计算步骤包括:
第二校验子多项式计算步骤,用于根据读取的数据,计算第二校验子多项式;
第二误符位置多项式计算步骤,用于根据计算的删除算子位置多项式和第二校验子多项式,计算第二误符位置多项式,并且输出第二误符位置多项式和延迟的第二校验子多项式;和
第二错误位置/值计算步骤,用于根据第二误符位置多项式和延迟的第二校验子多项式,计算第二错误标志、第二错误位置和第二错误值。
22.根据权利要求21的方法,其中当输入(2m)比特数据时,第一校验子多项式计算步骤满足Sj=αj(Sj-1αj+UM)+DM;而当输入(m)比特数据时,满足Sj=Sj-1αj+UM,其中Sj指示当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
23.一种里德-索罗门乘积码的内码纠正方法,包括下述步骤:
根据以(2m)比特为单位接收的内码字,计算第一校验子多项式;
根据以(2m)比特为单位接收的内码字,计算第二校验子多项式;
根据计算的第一和第二校验子多项式及删除算子位置多项式,计算第一和第二误符位置多项式;和
根据第一和第二误符位置多项式及第一和第二校验子多项式,计算第一和第二错误值及第一和第二错误位置,以(m)比特为单位交替纠错。
24.一种里德-索罗门乘积码的外码纠正方法,包括下述步骤:
根据读取的(2m)比特外码的上(m)(UM)比特,计算第一校验子多项式,并且根据读取的(2m)比特外码的下(m)(DM)比特计算第二校验子多项式,同时通过读取删除算子标志计算删除算子位置多项式;
根据第一和第二校验子多项式及删除算子位置多项式,计算第一和第二误符位置多项式;和
根据第一和第二误符位置多项式及第一和第二校验子多项式,计算错误值和错误位置,错误以(m)比特为单位交替纠正;
其中UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
25.根据权利要求24的方法,其中,对于以(m)比特为单位的里德-索罗门解码器操作,设置(m)比特纠正模式,在存储部分的上(m)比特存储器中存储(m)比特数据,并且禁止第二RS内核,使第二RS内核不能访问存储部分。
26.根据权利要求23的方法,其中当输入(2m)比特数据时,第一校验子多项式和第二校验子多项式的计算满足Sj=αj(Sj-1αj+UM)+DM;其中Sj指示当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
27.根据权利要求24的方法,其中当输入(2m)比特数据时,第一校验子多项式和第二校验子多项式的计算满足Sj=αj(Sj-1αj+UM)+DM;其中Sj指示当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
28.根据权利要求12的解码器,其中当输入(2m)比特数据时,第一校验子多项式计算部分满足Sj=αj(Sj-1αj+UM)+DM;而当输入(m)比特数据时,满足Sj=Sj-1αj+UM,其中Sj指示当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
29.根据权利要求14的解码器,其中当输入(2m)比特数据时,第二校验子多项式计算部分满足Sj=αj(Sj-1αj+UM)+DM;而当输入(m)比特数据时,满足Sj=Sj-1αj+UM,其中Sj指示当前状态的校验子多项式,Sj-1是先前状态的校验子多项式,αj是产生的多项式的根,UM是(2m)比特数据的上(m)比特,而DM是(2m)比特数据的下(m)比特。
30.根据权利要求15的方法,其中纠错步骤包括:
第一纠错步骤,用于根据读取的数据的第一错误值和第一错误位置纠正读取的数据;和
第二纠错步骤,用于根据读取的数据的第二错误值和第二错误位置纠正读取的数据。
CNB021070814A 2001-02-07 2002-02-07 处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法 Expired - Fee Related CN100393017C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020010005970A KR20020065788A (ko) 2001-02-07 2001-02-07 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법
KR5970/01 2001-02-07

Publications (2)

Publication Number Publication Date
CN1369984A true CN1369984A (zh) 2002-09-18
CN100393017C CN100393017C (zh) 2008-06-04

Family

ID=19705457

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021070814A Expired - Fee Related CN100393017C (zh) 2001-02-07 2002-02-07 处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法

Country Status (5)

Country Link
US (1) US20020108088A1 (zh)
EP (1) EP1231718A3 (zh)
JP (1) JP2002305453A (zh)
KR (1) KR20020065788A (zh)
CN (1) CN100393017C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100385405C (zh) * 2004-11-19 2008-04-30 国际商业机器公司 利用磁盘阵列奇偶校验的增强错误标识***和方法
WO2011032387A1 (zh) * 2009-09-15 2011-03-24 中兴通讯股份有限公司 Rs码的译码方法和装置
CN101431338B (zh) * 2007-11-07 2011-06-15 中国科学院微电子研究所 一种自适应里德-所罗门译码器
CN107579803A (zh) * 2016-07-05 2018-01-12 晨星半导体股份有限公司 包括错误更正程序的解码装置及解码方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3352659B2 (ja) * 2000-03-27 2002-12-03 松下電器産業株式会社 復号装置及び復号方法
KR100461544B1 (ko) 2003-02-27 2004-12-18 한국전자통신연구원 고차원의 곱부호를 이용한 레이트 호환가능 부호 구성 방법
TWI226758B (en) * 2003-11-28 2005-01-11 Mediatek Inc Encoding method and apparatus for cross interleaved cyclic codes
KR20060029495A (ko) * 2004-10-01 2006-04-06 삼성전자주식회사 리드-솔로몬 부호의 복호 장치 및 방법
US20070150798A1 (en) * 2005-12-12 2007-06-28 Jia-Horng Shieh Method for decoding an ecc block and related apparatus
US8078947B2 (en) * 2008-07-15 2011-12-13 Macronix International Co., Ltd. Data processing circuit and method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2605271B2 (ja) * 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
JP3137119B2 (ja) * 1989-06-07 2001-02-19 キヤノン株式会社 誤り訂正装置
US6367046B1 (en) * 1992-09-23 2002-04-02 International Business Machines Corporation Multi-bit error correction system
JP3234130B2 (ja) * 1995-05-30 2001-12-04 三菱電機株式会社 誤り訂正符号復号化方法およびこの方法を用いる回路
JPH113573A (ja) * 1997-04-15 1999-01-06 Mitsubishi Electric Corp 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置
KR100260415B1 (ko) * 1997-08-13 2000-07-01 윤종용 고속시리얼에러위치다항식계산회로
US6332206B1 (en) * 1998-02-25 2001-12-18 Matsushita Electrical Industrial Co., Ltd. High-speed error correcting apparatus with efficient data transfer
US6363511B1 (en) * 1998-03-31 2002-03-26 Stmicroelectronics N.V. Device and method for decoding data streams from storage media

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100385405C (zh) * 2004-11-19 2008-04-30 国际商业机器公司 利用磁盘阵列奇偶校验的增强错误标识***和方法
CN101431338B (zh) * 2007-11-07 2011-06-15 中国科学院微电子研究所 一种自适应里德-所罗门译码器
WO2011032387A1 (zh) * 2009-09-15 2011-03-24 中兴通讯股份有限公司 Rs码的译码方法和装置
US8677222B2 (en) 2009-09-15 2014-03-18 Zte Corporation Method and device for decoding Reed-Solomon (RS) code
CN107579803A (zh) * 2016-07-05 2018-01-12 晨星半导体股份有限公司 包括错误更正程序的解码装置及解码方法

Also Published As

Publication number Publication date
KR20020065788A (ko) 2002-08-14
US20020108088A1 (en) 2002-08-08
EP1231718A3 (en) 2003-10-01
CN100393017C (zh) 2008-06-04
JP2002305453A (ja) 2002-10-18
EP1231718A2 (en) 2002-08-14

Similar Documents

Publication Publication Date Title
CN1134782C (zh) 纠错方法和***
US8468432B2 (en) Coder-decoder and method for encoding and decoding an error correction code
CN1150680C (zh) 自适应信道编码方法和装置
CN101064162A (zh) 纠错装置、编码器、解码器、方法以及信息存储装置
CN1171391C (zh) 交错方法、交错装置、涡轮编码方法以及涡轮编码装置
CN101047388A (zh) 纠错装置
CN1886898A (zh) 使用基于子码元的代码来保护数据不被删除
CN1369984A (zh) 处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法
US7774688B1 (en) Hardware efficient decoding system for Bose, Ray-Chaudhuri, Hocquenghem (BCH) product codes
CN1779838A (zh) 执行可变数量的纠错重复的数字信号处理方法和装置
CN1725647A (zh) 通信装置和无线通信***
CN1836446A (zh) 用于数字双流广播接收/发送***的可靠纠错编码/解码设备和方法
CN1809963A (zh) 具有健壮的纠错编码/解码装置的数字发送器/接收器***及其纠错编码/解码方法
CN101080873A (zh) 用于使用信道代码解码的装置和方法
CN1140363A (zh) 纠错编码译码方法和利用这种方法的电路
CN1306698A (zh) 移动通信***中用于串行链接卷积码编码器中的交错装置和方法
CN1572059A (zh) 用于有信息的解码器的增强编码
US8370727B2 (en) Method and circuit for decoding an error correction code
CN1855282A (zh) 纠错装置
CN1286275C (zh) 纠错装置
CN1959648A (zh) 创建纠错编码方案的方法和减少数据损失的设备
CN1725354A (zh) 数据处理设备和方法
CN1288851C (zh) 迭代解码方法及迭代解码设备
CN1670853A (zh) 编码装置
CN1152379C (zh) 光盘驱动装置的编码/解码***

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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

Granted publication date: 20080604

Termination date: 20170207

CF01 Termination of patent right due to non-payment of annual fee