CN101499806A - 编码装置、解码装置、编/解码装置以及记录/再现装置 - Google Patents

编码装置、解码装置、编/解码装置以及记录/再现装置 Download PDF

Info

Publication number
CN101499806A
CN101499806A CNA2008101856752A CN200810185675A CN101499806A CN 101499806 A CN101499806 A CN 101499806A CN A2008101856752 A CNA2008101856752 A CN A2008101856752A CN 200810185675 A CN200810185675 A CN 200810185675A CN 101499806 A CN101499806 A CN 101499806A
Authority
CN
China
Prior art keywords
parity check
error correction
piece
bit
decoding
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
CNA2008101856752A
Other languages
English (en)
Other versions
CN101499806B (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101499806A publication Critical patent/CN101499806A/zh
Application granted granted Critical
Publication of CN101499806B publication Critical patent/CN101499806B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/2927Decoding strategies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1866Error detection or correction; Testing, e.g. of drop-outs by interleaving
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2721Coding, 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 using interleaving techniques the interleaver involving at least two directions the interleaver involves a diagonal direction, e.g. by using an interleaving matrix with read-out in a diagonal direction
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices
    • 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
    • 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/2918Coding, 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 with error correction codes in three or more dimensions, e.g. 3-dimensional product code where the bits are arranged in a cube
    • 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/2921Coding, 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 wherein error correction coding involves a diagonal direction
    • 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/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1843Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/185Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using an low density parity check [LDPC] code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • 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/2957Turbo codes and decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及编码装置、解码装置、编/解码装置以及记录/再现装置。一种不增大电路规模而进行纠错的纠错装置。一种编码器,该编码器包括:第一ECC编码器,其按照每m(m≥2)比特而将数据串交织成n(n≥2)块数据串,并添加纠错码奇偶校验;奇偶校验编码器,其按照所述纠错码字的每多个比特而生成奇偶校验比特,并将所述奇偶校验比特添加到所述纠错码字;以及第二ECC编码器,其生成作为利用迭代解码的线性编码的第二纠错编码。由于生成了其中向每多个比特添加奇偶校验比特的级联型编码数据,所以即使将数据串交织成多个块并生成纠错码奇偶校验,也能够防止电路规模的增大。

Description

编码装置、解码装置、编/解码装置以及记录/再现装置
技术领域
本发明涉及用于数据(该数据包括用于记录/再现装置和通信装置的纠错码)的编码装置、解码装置、编/解码装置以及记录/再现装置,更具体地说,涉及用于对附加有ECC(Error Correction Code,纠错码)的数据块进行纠错的编码装置、解码装置、编/解码装置以及记录/再现装置。
背景技术
在记录/再现装置(诸如磁盘装置)和通信系统的领域中,为了纠正在记录/再现步骤期间及在传输线中所产生的数据错误,广泛使用利用纠错码(ECC)的纠错技术。
使用里德所罗门(Reed Solomon,RS)码作为ECC码(例如,日本专利申请特开第H11-330985号公报)。在RS码中,预先对记录数据进行RS编码,对在记录/再现步骤后所再现的比特串进行RS解码,并对包含在比特串中的错误进行检验和纠正。换言之,RS码对于符号(symbol)单位具有良好的纠错能力,而对于突发错误尤其具有优异的检验和纠正能力。
使用迭代解码形式作为纠错码技术。通过结合迭代解码及ECC,能够提高错误检验和纠正能力。近来,已经实际应用了作为一种迭代解码的低密度奇偶校验(LDPC)码。
LDPC码能够通过预先对记录数据进行LDPC编码,利用可靠性传播对通过记录/再现步骤所再现的信号执行迭代解码,来纠正在记录/再现步骤中所产生的错误(例如,日本专利申请特开第2007-166425号公报)。
LDPC编码的特征在于以下这种线性码:该线性码可以在增大代码块长度的同时减少随机设置的“1”(检验目标比特)的数量(即,低密度)。在LDPC解码期间,通过执行利用可靠性传播的解码(其传播似然度(likelihood,表示数据串“0”和“1”的概率的可靠性)并进行解码)和迭代解码(在部分响应信道与可靠性传播解码器之间进行迭代的解码)来进行纠错。
下面说明LDPC编码和解码。由于LDPC码是线性码,所以生成满足下述检验条件的奇偶校验矩阵H。
wHT=0       (1)
在公式(1)中,w是经过LDPC编码后的码字,H是奇偶校验矩阵,而T是矩阵的转置。
当执行LDPC解码时,停止迭代解码的条件为以下两个条件:一个条件是已执行了预定次数的解码;另一个条件是满足公式(1)的检验条件,即不存在错误,在这种情况下,停止迭代解码,并从解码器进行输出。
在确定似然度时,通常使用作为对数比的对数似然比(log-likelihoodratio,LLR)(对数似然比是为“0”的概率与为“1”的概率之比)。如果最初的二进制数据是“1”,则提供正似然度,而如果是“0”,则提供负似然度。因此,为了对在迭代解码输出中的解码数据串进行二进制化,可以利用将“0”用作阈值的阈值判定单元来执行二进制确定。
已经提出了一种通过结合RS码及LDPC码以符号为单位执行ECC纠错的编码装置和解码装置,该编码装置和解码装置在ECC的前置阶段中利用迭代解码以比特为单位来检验并纠正错误(例如,日本专利申请特开第2005-093038号公报)。
此外,在ECC纠错中,还提出了一种在多个交织系统中通过结合RS码及用于检错的奇偶校验码来提高纠错能力的方法(Toshio Itoh,Toshihiko Morita,“Error Correction Codes for 4k byte sectors”,IEEE“TheMagnetic Recording Conference(TMRC 2007)”,2007)。
图15是示出结合传统的RS码及奇偶校验码的纠错方法的图。例如,假设编码对象是由每块为80比特的许多块所组成的数据串。首先,将各个块(80比特)交织成20比特的比特空间,从而生成4个块:1001、1002、1003及1004。分别通过ECC编码器来将RS奇偶校验1011、1012、1013及1014添加到这4个块1001、1002、1003及1004中。
此外,通过奇偶校验编码器来计算2个比特的奇偶校验1110至111n,并按照垂直方向将其添加到20比特×4(4个块)=80比特。因此,由级联码(concatenated code)构成这里所生成的码,其中,在水平方向上是基于RS码的纠错码,而在垂直方向上是多奇偶校验(2比特奇偶校验)检错码。
这样,通过20比特交织来生成被划分成4部分的块,按照级联码来生成纠错码和检错码,其中,在4个划分块的水平方向上应用基于RS码的纠错码,在垂直方向上应用基于多奇偶校验的检错码。
就扇区(sector)数据串而言,在水平方向上每80比特设置基于多奇偶校验的检错码,使得能够以80比特(符号)为单位检验错误,并且在4个20比特交织(80比特的1/4)中设置RS码,使得能够以4个交织为单位纠正错误。由此,当ECC解码失败时,能够局部地指定纠错位置,从而有助于提高增益(gain)。
然而,在将用于迭代解码的LDPC码及用于后续阶段中的ECC的RS码进行结合的传统方法的情况下,迭代解码的纠错能力得到提高,但难以期望提高ECC的纠错能力。
另一方面,在级联RS码及奇偶校验码的传统纠错方法(ECC)的建议(该传统纠错方法基于使用最大似然度解码的假设)的情况下,解码的纠错能力不高。
发明内容
鉴于以上问题,本发明的目的在于提供基于解码及ECC的结合来提高纠错性能的编码器、解码器、编/解码装置及记录/再现装置。
本发明的另一目的在于提供以下这种编码器、解码器、编/解码装置及记录/再现装置:即使通过结合线性编码及ECC按照多交织设置来执行ECC编码,这些装置也能防止纠错性能的劣化。
本发明的再一目的在于提供以下这种编码器、解码器、编/解码装置及记录/再现装置:即使结合LDPC及ECC,这些装置也能提高多交织设置的ECC编码的纠错能力,并且即使在LDPC中局部错误集中在一起,这些装置也能进行检错。
为了达到上述目的,提供一种编码器,该编码器包括:ECC编码器,其按照每m(m≥2)比特而将数据串交织成n(n≥2)块数据串,根据各个交织块的数据串而生成第一纠错码奇偶校验,并将各个块的所述第一纠错码奇偶校验添加到所述数据串以生成纠错码字;奇偶校验编码器,其按照所述纠错码字的每多个比特而生成奇偶校验比特,并将所述奇偶校验比特添加到所述纠错码字;以及第二ECC编码器,其按照每K(K≥2)比特而将第二纠错码字(在该第二纠错码字中将由所述奇偶校验编码器所生成的奇偶校验添加到所述纠错码字中)划分成L(L≥2)块数据串,根据各个块的数据串以块为单位而生成作为线性码的第二纠错码奇偶校验,并将各个块的所述第二纠错码奇偶校验添加到所述第二纠错码字以生成第三纠错码字。
此外,根据本发明的一种对编码成所述第三纠错码字的编码数据进行解码的解码器,该解码器包括:迭代解码器,其利用所述第二ECC码奇偶校验来对接收到的编码数据串进行迭代解码,将所述编码数据串解码成比特串,并输出各个比特的似然度;以及ECC解码电路,其迭代地执行基于所述迭代解码器的编码数据串的第一纠错码的纠错解码,以及根据基于所述奇偶校验比特的检错来执行的基于所述似然度的编码比特串纠错解码。
此外,一种编/解码装置,该编/解码装置包括:ECC编码器,其按照每m(m≥2)比特而将数据串交织成n(n≥2)块数据串,根据各个交织块的数据串而生成第一纠错码奇偶校验,并将各个块的所述第一纠错码奇偶校验添加到所述数据串以生成纠错码字;奇偶校验编码器,其按照所述纠错码字的每多个比特而生成奇偶校验比特,并将所述奇偶校验比特添加到所述纠错码字;第二ECC编码器,其按照每K(K≥2)比特而将第二纠错码字(在该第二纠错码字中将由所述奇偶校验编码器所生成的奇偶校验添加到所述纠错码字中)划分成L(L≥2)块数据串,根据各个块的数据串按照以块为单位而生成作为线性码的第二纠错码奇偶校验,并将各个块的所述第二纠错码奇偶校验添加到所述第二纠错码字以生成第三纠错码字;迭代解码器,其利用所述第二ECC码奇偶校验来对接收到的编码数据串进行迭代解码,将编码数据串解码成比特串,并输出各个比特的似然度;以及ECC解码电路,其迭代地执行基于所述迭代解码器的编码数据串的第一纠错码的纠错解码,以及根据基于所述奇偶校验比特的检错来执行的基于所述似然度的编码比特串纠错解码。
另外,一种记录/再现装置,该记录/再现装置包括:读写磁,其从存储介质读取数据/向存储介质写入数据;ECC编码器,其按照每m(m≥2)比特而将要写入到所述存储介质的数据串交织成n(n≥2)块数据串,根据各个交织块的数据串而生成第一纠错码奇偶校验,并将各个块的所述第一纠错码奇偶校验添加到所述数据串以生成纠错码字;奇偶校验编码器,其按照所述纠错码字的每多个比特而生成奇偶校验比特,并将所述奇偶校验比特添加到所述纠错码字;第二ECC编码器,其按照每K(K≥2)比特而将第二纠错码字(在该第二纠错码字中将由所述奇偶校验编码器所生成的奇偶校验添加到所述纠错码字中)划分成L(L≥2)块数据串,根据各个块的数据串以块为单位而生成作为线性码的第二纠错码奇偶校验,并将各个块的所述第二纠错码奇偶校验添加到所述第二纠错码字以生成第三纠错码字,并将所述第三纠错码字输出到所述读写头;迭代解码器,其利用所述第二ECC码奇偶校验来对由所述读写头读取的编码数据串进行迭代解码,将编码数据串解码成比特串,并输出各个比特的似然度;以及ECC解码电路,其迭代地执行基于所述迭代解码器的编码数据串的第一纠错码的纠错解码,以及根据基于所述奇偶校验比特的检错来执行的基于所述似然度的编码比特串纠错解码。
此外,优选的是,提供一种根据本发明的编码器,其中,所述第二ECC编码器生成满足低密度奇偶校验(LDPC)码的要求的第三纠错码字,在所述低密度奇偶校验码中,奇偶校验矩阵中“1”的数量低(低密度)而且所述低密度奇偶校验码是线性码,并且所述第二ECC编码器利用与所述奇偶校验矩阵相对应的生成矩阵来生成奇偶校验。
此外,优选的是,提供一种根据本发明的编码器,其中,所述奇偶校验编码器将所述纠错码字划分成L(L≥2)个块,从所述划分后的各个块以p(p≥1)比特为单位来提取q(q≥2)个数据串,并针对p×q个数据串生成奇偶校验。
另外,优选的是,提供一种根据本发明的编码器,其中所述奇偶校验编码器将针对所述p×q个数据串所生成的奇偶校验添加到除了包括用于生成所述奇偶校验的数据串的块以外的块。
此外,优选的是,提供一种根据本发明的编码器,其中,所述ECC编码器包括:交织单元,其按照每m(m≥2)比特而将所述数据串交织成n(n≥2)块数据串;ECC编码单元,其根据各个交织块的数据串而生成纠错码奇偶校验;以及去交织单元,其按照所述每m个比特而对各个块的数据串进行去交织,将去交织数据串恢复为所述数据串,并将所述纠错码的奇偶校验添加到所恢复的数据串。
此外,优选的是,提供一种根据本发明的编码器,其中,所述ECC编码器生成里德所罗门码作为所述纠错码。
另外,优选的是,提供一种根据本发明的解码器,其中,所述迭代解码器利用所述第二纠错码字的奇偶校验,根据满足低密度奇偶校验(LDPC)码的要求的所述第三纠错码字来执行所述迭代解码,将编码数据串硬判决成所述第二纠错码字,并输出各个比特的似然度,其中在所述低密度奇偶校验码中,所述奇偶校验矩阵中“1”的数量低(低密度)而且所述低密度奇偶校验码为线性码。
此外,优选的是,提供一种根据本发明的解码器,其中,在基于所述奇偶校验比特串的所述第二纠错码字的检错中,当所述第二纠错码字的块满足所述奇偶校验条件并且没有检验到错误时,所述迭代解码器停止所述迭代解码,并将在所述第二纠错码字的块中的各个比特的似然度设置成最大似然度值。
此外,优选的是,提供一种根据本发明的解码器,其中,所述ECC解码电路包括:ECC解码器,其基于来自所述迭代解码器的码比特串的所述第一纠错码来执行纠错;以及奇偶校验/似然度纠错单元,其在由所述ECC解码器进行的解码失败时,基于所述奇偶校验比特来执行检错,并利用所述检错的结果基于所述似然度对输入到所述ECC解码器的码比特串进行纠错。
优选的是,提供一种根据本发明的解码器,该解码器还包括:分离单元,其从来自所述迭代解码器的码比特串中分离出所述奇偶校验比特,并将所述奇偶校验比特输出到所述奇偶校验/似然度纠错单元;交织单元,其按照所述每m(m≥2)比特将已经分离出所述奇偶校验比特的码比特串交织成n(n≥2)块数据串;以及数据存储单元,其存储各个交织块的数据串,其中,所述ECC解码器基于所述纠错码来对所述数据存储单元的各个块的数据串执行纠错,并且所述奇偶校验/似然度纠错单元对所述数据存储单元的数据串进行纠错。
另外,优选的是,提供一种根据本发明的解码器,其中,当所述解码失败时,所述奇偶校验/似然度纠错单元从包括失败块的L个块中以p(p≥1)比特为单位提取q(q≥2)个数据串,针对p×q个数据串重新生成奇偶校验,并将这些奇偶校验与所添加的奇偶校验比特进行比较以进行检错。
而且,优选的是,提供一种根据本发明的解码器,其中,所述奇偶校验/似然度纠错单元对被添加到除了包括用于生成所述奇偶校验的数据串的所述块之外的块的奇偶校验进行提取,并将这些奇偶校验与所述重新生成的奇偶校验进行比较。
此外,优选的是,提供一种根据本发明的解码器,其中,所述编码数据串的纠错码是里德所罗门码。
按照每m(m≥2)比特将数据串交织成多个块,添加纠错码奇偶校验,并生成其中向多个比特中的每一个比特添加奇偶校验比特的级联型编码数据,因此能防止电路规模的增大。而且,按照串接的方式(intandem)使用作为利用迭代解码的线性编码的第二纠错编码,因此能够通过迭代解码来纠正ECC输入的错误,并能够防止纠错性能的劣化。结果,能够防止用于Windows
Figure A200810185675D0014184817QIETU
的Vista
Figure A200810185675D0014184817QIETU
的长扇区型(long sector type)记录/再现装置的电路规模的增大,并能提高纠错性能。
本发明(实施方式)的其它目的及优点将在以下的说明书中部分地进行阐述,并且通过以下说明书而部分地变得明了,或者可以通过对本发明的实践而得知。可以通过在所附权利要求中具体指出的单元及组合的方式来实现和获得本发明的这些目的和优点。
应当理解的是,对本发明的以上概述及以下详述都仅是示例性和说明性的,而不是对所要求保护的本发明的限制。
附图说明
图1是示出根据本发明实施方式的介质存储装置的记录/再现系统的框图;
图2是图1中的编码器的框图;
图3是示出图2中的交织单元的操作的图;
图4是示出图2中的ECC编码器的操作的图;
图5是示出图2中的奇偶校验编码器的操作的图;
图6是示出图2中的LDPC编码器的操作的图;
图7是示出图2中的各个奇偶校验码之间的关系的图;
图8是示出图7的比较示例中的各个奇偶校验码之间的关系的图;
图9是示出图2中的解码器的基本设置的框图;
图10是示出图9中的迭代解码器的详细框图;
图11是示出图10中的LDPC解码器的图;
图12是示出图2中的ECC解码单元的框图;
图13是示出根据本发明的实施方式的编码及解码的图;
图14是示出根据本发明的比较示例中的编码及解码的图;以及
图15是示出结合传统的RS码及奇偶校验码的纠错方法的图。
具体实施方式
将按照记录/再现系统、编码器、解码器、ECC解码器、编码及解码操作、以及其它实施方式的次序来说明本发明的实施方式,但是本发明并不限于这些实施方式。
(记录/再现系统)
图1是示出根据本发明实施方式的磁盘装置的记录/再现系统的框图。如图1所示,磁盘装置的记录/再现系统具有硬盘控制器(HDC)203、读取通道(RDC)202以及前置放大器(读写头IC)201。
首先,说明记录(编码)。HDC 203中的CRC编码器237将CRC码(Cyclic Redundancy Code:循环冗余码)添加到记录数据。然后,记录编码器236将该数据转换成数据串,使得满足诸如MTR(MaximumTransition Run,最大转换游程)码和RLL(Run Length Limited,游程长度受限)码的约束条件。然后,ECC编码器235执行交织并添加RS奇偶校验串,如稍后参照图2至图4所述。
然后,奇偶校验编码器234计算2比特奇偶校验以执行与ECC不同的检错,如稍后参照图2及图5所述,并将全部计算出的2比特奇偶校验添加到经过ECC编码的数据串。
将添加有奇偶校验的经过ECC编码的数据串输入到RDC 202。RDC202中的LDPC编码器220针对各个LDPC块来计算与ECC码及奇偶校验码不同的LDPC奇偶校验,以用于执行另一检错,如稍后参照图6所述,并且,LDPC编码器220针对各个LDPC块将各个LDPC奇偶校验添加到经过ECC编码的数据串,该经过ECC编码的数据串也经过奇偶校验编码。
记录补偿器229执行补偿处理,以在相继发生磁反转的位置处稍微增大反转间隔。然后,在执行记录补偿处理后,RDC 202中的驱动器228将数据串输出到前置放大器201。在前置放大器201中,驱动器212生成针对记录头(写入头)的写电流(未图示),以驱动记录头,并将数据记录在磁盘(未图示)上。
下面说明再现(regeneration)。在再现的情况下,前置放大器201的放大器211对来自再现头(读取头)的模拟电压进行放大,然后将放大后的模拟电压输出到RDC 202。RDC 202的热粗糙度(thermal asperity)检验处理单元221执行热粗糙度处理,然后可变增益放大器(VGA)222调整幅值(amplitude)。
然后,低通滤波器(LPF)223对其幅值经过调整的读取信号的高频部分进行截止,而A/D转换器(ADC)224将低通滤波器223的模拟输出转换成数字信号。之后,FIR(Infinite Impulse Response:有限脉冲响应)滤波器225执行PR(Partial Response:部分响应)波形均衡(equalization),然后将该信号输出到迭代解码器226。
如稍后参照图9所述,迭代解码器226由软输入软输出(softinput softoutput)检测器和LDPC解码器构成,并使用似然度来执行迭代解码。软输入软输出检测器例如使用Max-log-MAP(最大后验,Maximum APosteriori)算法、SOVA(软输出维特比算法,Soft-Output ViterbiAlgorithm)、或噪声预测性SOVA(Noise Predictive SOVA,NPSOVA)。LDPC解码器例如使用Sum-Product(和-积)算法或者Min-Sum(最小和)算法。
第一奇偶校验/似然度纠错单元227利用由解码器226所确定的似然度来确定错误候选的位置信息,并生成似然度及位置信息表。从迭代解码器226向HDC 203发送经过“0”或“1”的硬判决(hard decision)比特串的解码串。ECC解码器230以4交织设置来执行纠错。
如果解码成功,则记录解码器231执行与记录编码器236的编码反向的解码,而CRC解码器232执行CRC解码,并将结果数据作为再现数据而输出。
如果在ECC解码器230中解码失败,则将数据输入到第二奇偶校验/似然度纠错单元233。第二奇偶校验/似然度纠错单元233利用第一奇偶校验/似然度纠错单元227的似然度及位置信息表,来对ECC纠错失败的块进行纠错。
将经过第二奇偶校验/似然度纠错单元233纠错的数据输入到基于ECC进行纠错的ECC解码器230。如果在ECC解码器230中解码成功,则经由记录解码器231和CRC解码器232来将该数据作为再现数据而输出,如前所述。另一方面,如果ECC解码失败,则将该数据再次输入到第二奇偶校验/似然度纠错单元233,以对该块进行纠错。
如前所述,如果基于ECC的纠错失败,则利用似然度信息来重复第二奇偶校验/似然度纠错单元233和ECC解码器230中的处理,由此能够提高纠错能力。
这种情况下,由于可能会多次重复ECC解码器230中的纠错,所以使用如稍后参照图12所述的高速判定ECC电路。该高速判定ECC电路能够减小计算量。
在本发明中,第一奇偶校验/似然度纠错单元227从迭代解码器226接收解码串的各个比特的位置及其似然度,以添加了奇偶校验的数据串为单位来提取其似然度低(错误可能性高)的比特位置作为错误候选,并生成表。
通过提取错误可能性高的比特位置作为错误候选,可以向ECC解码器230提供用于执行有效纠错的错误候选。由于仅将错误可能性高的比特位置提取为错误候选,所以减少了ECC解码器230为了提取低似然度序列中的错误候选而对似然度序列中的比特位置进行排序的次数,这有效地减小了计算量。
(编码器)
现在说明图1中的ECC编码器、奇偶校验编码器和LDPC编码器的设置。图2是示出图1中的ECC编码器235、奇偶校验编码器234和LDPC编码器的框图。图3是示出图2中的交织单元的操作的图。图4是示出图2中的ECC编码器和去交织单元的操作的图。图5是示出图2中的奇偶校验编码器的操作的图。图6是示出图2中的LDPC编码器的操作的图。图7是示出图2至图6中的LDPC块、RS块与奇偶校验之间的关系的图。图8是示出比较示例的图。
如图2所示,ECC编码器235由交织单元102、ECC编码器104和去交织单元106构成。如图3所示,交织单元102将具有4k字节扇区的数据串1000交织成4个(n=4)块1001、1002、1003和1004。以10比特(m=10)的比特间隔来对数据串1000的扇区进行该交织。
如图4所示,ECC编码器104对划分成4个块之后的各个块1001、1002、1003和1004执行ECC编码,并分别将RS码奇偶校验1011、1012、1013及1014添加到各个块1001、1002、1003及1004。优选的是,ECC编码器104添加用于对t个符号进行纠错的(2t+1)个符号的RS奇偶校验,使得当确定了错误位置多项式时能确定解码是否失败。
如图4所示,去交织单元106按照10比特间隔来对添加了RS奇偶校验的各个块执行去交织处理(交织的反向操作),以将这些块转换成一个数据串(RS码串)1100。
例如,如果将4k字节扇区的数据串划分成4部分,则一个块为1k字节。如果纠错量“t”是55个符号,则添加(2t+1)个符号(=111个符号)的RS奇偶校验。
然后,如图5所示,在通过将RS码串1100划分成L个部分(例如10部分)而生成的块1101至1110中,奇偶校验编码器234分别从q(q≤L)个(例如4个)块1101至1104中提取10比特的数据串(p=10),并分别针对p×q个数据串中的每一个数据串而生成奇偶校验1121和1122。将所生成的奇偶校验添加到与经过提取的块1101至1110不同的各个块1117和1118,并输出数据1130。这里,生成了{(K·L)/(p·q)}·2个奇偶校验。
然后,如图6所示,LDPC编码器220分别针对K′(如图5所示,当将RS码串1100划分成L个部分时的数据长度是K比特,而对其添加了奇偶校验后的数据长度是K′)比特的数据串1131至1140(该数据串1131至1140是通过将由奇偶校验编码器234添加了奇偶校验的RS码串1130划分成L个部分而生成的)执行LDPC编码,并分别将LDPC码奇偶校验1171至1180添加到各个块1131至1140。
通过从各个LDPC块1151至1160中提取出按照这种方式添加的奇偶校验1121,则由于在LDPC解码中使得奇偶校验分散,所以即使发生突发错误,也能基于奇偶校验来检验出错误。
参照图7和图8来描述这种检错。图7是对如图5的实施方式所示生成并添加奇偶校验来使得奇偶校验分散的情况进行说明的图,而图8是对与图5的实施方式不同的、生成并添加奇偶校验而不使奇偶校验分散的情况进行说明的图。
在有些情况下,LDPC可能不能纠正LDPC块中的错误,并且由于纠错的错误而产生很多错误,虽然这种情况的可能性较低。图8是示出了基于LDPC块1151至1155、RS码块1001至1004和经过交织的比特串而生成的奇偶校验的图。这是上述ITO TOSHIO等人的文献中的所述方法与LDPC的结合,其中,ECC编码器将RS奇偶校验1011、1012、1013和1014添加到按照10比特的比特间隔通过交织而生成的4个块1001、1002、1003和1004。对于垂直方向上的10比特×4(4块)=40比特,由奇偶校验编码器234来计算并添加2比特的奇偶校验1121至112n。因此,要生成的码在水平方向上是基于RS码的纠错码,而在垂直方向上是使用基于多奇偶校验(2比特奇偶校验)的检错码的级联型码。
然而,如图8所示,如果LDPC块被正确解码(块1151、1153和1154),则没有错误,因此奇偶校验1121不起作用。
另一方面,如果LDPC块被错误地解码(块1152、1155),则产生很多错误(图8中用×表示),并且不能通过奇偶校验来正确地检验出错误。结果,基于这些奇偶校验的检错无效,而且不能执行通过ECC利用似然度的纠错,因此不能提高利用RS解码及奇偶校验似然度的纠错能力,也不能期望进行纠错。
然而,如图5所示,在根据RS编码单位1100的经过分散的比特串来生成奇偶校验的情况下,不是按照一个LDPC块来生成一个奇偶校验,而是通过多个LDPC块的数据串来生成一个奇偶校验。然后将该奇偶校验插入到除了生成目标块以外的块中。
因此,要生成的码在水平方向上是基于RS码的纠错码,而在垂直方向上是基于LDPC奇偶校验的检错码,并且在经分离的RS块的对角(diagonal)方向上添加奇偶校验。
因此,如稍后所述,即使在错误地解码LDPC块(块1152、1155)的情况下产生很多错误(图7中用×表示),也能使用这些奇偶校验来正确地检验出错误。
另一方面,在图8中,在LDPC奇偶校验与要添加的奇偶校验都在同一垂直方向上的情况下,如果LDPC块被错误地解码(块1152、1155),则会产生很多错误,并且不能使用这些奇偶校验来正确地检验出错误,如前所述。
(解码器)
图9是示出图1中的解码器的基本设置的框图,图10是示出图9中的迭代解码器的详细框图,而图11是示出图9和图10中的LDPC解码器的图。
如图9所示,迭代解码器226由软输入软输出解码器300、LDPC解码器302和阈值判定单元304构成。如前所述,软输入软输出解码器300能够使用多种实用算法,但是在本实施例中使用NPSOVA。
图10是示出图9中的迭代解码器226的解码流程的图。如图10所示,迭代解码器226对各LDPC块进行解码。将FIR滤波器225(参见图1)的输出数据串和LDPC解码器302的预设(prior)似然度输入到NPSOVA 300。在初始迭代解码中,全部预设似然度都是“0”。预设似然度是通过从LDPC解码器302的输出似然度中减去LDPC解码器302的输入似然度而生成的似然度串(即,LDPC解码器302中的似然度的更新值)。
NPSOVA 300利用FIR滤波器225的输出数据串和预设似然度来执行解码。来自NPSOVA 300的输出似然度串是通过从由解码而得到的似然度中减去预设似然度而生成的似然度串。将该NPSOVA输出似然度串发送到LDPC解码器302。
LDPC解码器302也可以使用上述多种实用算法,但在本实施例中使用Sum-Product算法。如图11所示,Sum-Product算法根据LDPC奇偶校验矩阵来执行可靠性传播解码(稍后说明)。换言之,如果没有满足迭代解码停止条件,则LDPC解码器302输出预设似然度,并将其再次输入到NPSOVA解码器300以执行迭代解码。
迭代解码器226针对各个LDPC块利用NPSOVA 300与LDPC解码器302之间的似然度来执行迭代解码预定次数或者直到作为奇偶校验的结果满足了用于确定没有错误的停止条件为止。当迭代解码停止时,阈值判定单元304将似然度串确定成“0”或“1”的硬判决比特串。
现在参照图11来说明用于LDPC解码的Sum-Product算法。Sum-Product算法由奇偶校验判定单元314、用于存储LDPC块的N个似然度串w1至wN的缓冲器316、与N个似然度串w1至wN相对应的比特节点310、基于奇偶校验矩阵的检验条件而生成的边318、以及检验节点312构成。
沿着边318将从缓冲器316传送到比特节点310的似然度收集在检验节点312中,并在检验节点312中执行检验节点处理。
再次将经过检验节点处理的似然度发送到比特节点310,比特节点310利用与各个检验节点312连接的比特节点310中所收集的似然度,来执行比特节点处理。这里,每次执行比特节点处理时,都将得到的似然度串输入到奇偶校验判定单元314。
奇偶校验判定单元314将该似然度串暂时确定为二进制值“1”或“0”,并判断暂时确定的比特串与奇偶校验矩阵是否满足检验条件公式(1)wHT=0。作为判断的结果,如果检验条件公式成立,则停止可靠性传播解码和迭代解码(向控制器输出迭代解码停止指令)。对于输出的似然度串,保持由奇偶校验判定时的似然度所保持的极性(polarity),并使用正的或负的最大似然度值。
如果不满足上述检验条件公式,则奇偶校验判定单元314在可靠性传播解码中多次执行预定的检验节点及比特节点处理,并将得到的似然度串视为输出似然度串。
针对各个LDPC块执行迭代解码,将从阈值判定单元304输出的硬判决比特串输入到ECC解码器230,并将该似然度串输入到奇偶校验似然度纠错单元227和223。如稍后所述,ECC解码器(RS解码器)230接收该硬判决比特串,将其交织成4个块,对各个块执行ECC解码,并且如果解码成功,则输出解码串。
奇偶校验/似然度纠错单元227和223基于来自迭代解码器226的似然度,来选择并保持其似然度低的比特位置。当RS解码器230的解码失败时,从被保持的其似然度低的比特位置中提取错误位置,将比特串的这些位置中的数据进行翻转(flip)并输入到RS解码器230。当解码失败时,重复该处理以提高纠错能力。
(ECC解码器)
图12是示出图1和图9中的ECC解码单元的框图。如图12所示,ECC解码单元230由RS码部分/奇偶校验部分分离单元110、交织单元112、数据存储/更新单元114、ECC解码器116以及去交织单元118构成。
ECC解码器116进一步由校正子(syndrome)值计算单元260、校正子值存储单元262、校正子值更新单元264、错误位置多项式生成单元266、链式搜索(chain search)执行单元268以及错误值计算单元270构成。
校正子值计算单元260计算来自解码器226的解码串的校正子,而校正子值存储单元262存储计算出的校正子值。错误位置多项式生成单元266根据所生成的校正子多项式来计算错误位置多项式,并判断该结果是否超出纠错能力。
校正子值更新单元264计算其数据由奇偶校验/似然度纠错单元233进行了更新的比特串的更新部分的校正子值,并对存储在校正子值存储单元262中的校正子值进行更新。
如果错误位置多项式生成单元266确定解码不会失败,则链式搜索执行单元268通过链式搜索来确定错误位置。当确定在链式搜索中解码不会失败时,即在链式搜索中指定了错误位置时,错误值计算单元270计算错误值。
如上所述,存储之前的校正子值,并且如果解码失败,则计算由奇偶校验/似然度纠错单元233进行了纠错的解码串的经纠错部分的校正子值,并使用该校正子值来更新之前的校正子值。因此不需要再次针对该比特串的该经纠错部分来计算整个校正子值,所以能够减小计算量。
同样如稍后所述,在计算错误位置多项式的阶段能够确定解码是否失败,所以如果解码失败,则可以对下一个比特串进行解码,从而能够减小计算量。
奇偶校验/似然度纠错单元由第一奇偶校验/似然度纠错单元227和第二奇偶校验/似然度纠错单元233构成。第一奇偶校验/似然度纠错单元227从解码器226接收各个比特的似然度,并针对4交织的各个块提取其似然度低的比特位置。
第二奇偶校验/似然度纠错单元233由奇偶校验计算单元120、奇偶校验值检验单元122、错误候选表存储单元124以及错误翻转单元126构成。
第一奇偶校验/似然度纠错单元227将似然度分离成块部分的似然度及奇偶校验部分的似然度,并将经分离的似然度保持在表中。然后,第一奇偶校验/似然度纠错单元227在块部分中提取其似然度低的比特位置,并在奇偶校验部分中按照低似然度的顺序来对这些比特位置进行排序。
似然度的绝对值越高,则比特正确的概率越高,而似然度的绝对值越低,则比特错误的概率越高。为了提取其错误概率高的比特,只对其似然度低的比特进行处理。将该结果输出到第二奇偶校验/似然度纠错单元233。
在ECC解码器230中,分离单元110将硬判决比特串分离成RS码部分和2比特奇偶校验部分。将全部经分离的2比特奇偶校验输出到第二奇偶校验/似然度纠错单元233的奇偶校验值检验单元122。
然后,交织单元112按照10比特的间隔来对所分离的RS码部分进行交织,以将RS码部分划分成上述4个RS块。换言之,执行与图4中编码的去交织反向的处理。
将各个所分离的RS块存储在数据存储/更新单元114中,然后由ECC解码器116进行解码。如果作为解码结果,全部RS块解码成功,则去交织单元118从各个RS块除去RS奇偶校验1011至1014,然后按照10比特间隔来执行去交织处理,输出扇区数据1000,并结束该处理。
如果作为解码结果,在一些RS块中解码失败,则将解码失败的全部RS块的编号从ECC解码器230输出到第二奇偶校验/似然度纠错单元233。去交织单元118在不从各个RS块1001至1014除去RS奇偶校验1011至1014的情况下,按照10比特间隔来执行去交织处理,并将作为去交织处理的结果的原始RS码部分1100输出到第二奇偶校验/似然度纠错单元233。
现在说明ECC解码器116。校正子值计算单元260计算数据串的校正子多项式(多项式的系数s1、s2......),并将计算出的校正子多项式输出到错误位置多项式计算单元266。在这种情况下,计算(2t+1)个多项式系数si(i=1、2......2t、2t+1)的值。同时,校正子值计算单元260将计算出的校正子多项式存储在校正子值存储单元262中,以用于下一次或以后的候选解码处理。
错误位置多项式计算单元266基于Berlekamp Massey(BM)方法来计算校正子多项式。在Berlekamp Massey方法中,通过从多项式的初始值开始,按照与生成多项式的次(degree)相同的次数而重复更新多项式,来计算错误位置多项式。这种情况下,为了减小第i多项式Ci(x),需要第i校正子值si。
错误位置多项式计算单元266生成第(2t)多项式C2t(x)和第(2t+1)多项式C2t+1(x)。然后,错误位置多项式计算单元266对第(2t)多项式C2t(x)的系数与第(2t+1)多项式C2t+1(x)的系数进行比较,并判断这两个多项式是否匹配。
在Berlekamp Massey方法中,如果包含在数据串中的错误的数量是k(k≤t),则在第(2t+1)或以后的重复中不更新多项式,而C2t(x)或以后的多项式都相同。因此,如果C2t(x)与C2t+1(x)匹配,则错误的数量最多是t个,这处于纠错能力的范围内。另一方面,如果C2t(x)不与C2t+1(x)匹配,则错误的数量超出了纠错能力。
因此,可以确定的是,如果C2t(x)与C2t+1(x)匹配,则该候选的纠错将成功,并将数据串、校正子多项式、错误位置多项式及判定结果输出到链式搜索执行单元268。如果C2t(x)与C2t+1(x)不同,则认为该候选的纠错失败,并且在当前解码的RS块中设置表示解码失败的标志,并输出第二奇偶校验/似然度纠错单元233中的该块编号。
这样,通过向数据串添加一个符号的额外奇偶校验并按照BerlekampMassey方法来计算额外的多项式,能够在解码期间检验出数据串纠错失败。可以使用添加多个符号的额外奇偶校验的形式。
如果确定解码不会失败,则通过链式搜索来确定纠错。换言之,链式搜索执行单元268利用错误位置多项式C(x)来执行链式搜索,并针对数据串上的全部位置j计算C(αj)(j=0、1、2、3、4......n)的值。满足C(αj)=0的位置j是错误位置。
然后,链式搜索执行单元268利用校正子多项式和C(αj)的值来判断纠错是否成功,如果确定纠错将成功,则链式搜索执行单元268将接收到的数据串、校正子多项式及错误位置多项式输出到错误值计算单元270。如果确定纠错将失败,则在当前解码的RS块中设置解码失败的标志,并输出第二奇偶校验/似然度纠错单元233中的该块的编号。
如果在链式搜索中指定了错误位置,则计算错误值。换言之,错误值计算单元270利用校正子多项式和错误位置多项式,基于预定的算法来将数据串的错误位置处的不正确的值纠正成正确的值。并将经过纠错的数据串输出到去交织单元118。
换言之,如果解码成功,则从ECC解码器230输出经过纠错的数据串。如果纠错失败并需要第二次或后续解码,则利用存储在校正子值存储单元262中的信息来执行解码处理。
然后,如稍后所述,在第二奇偶校验/似然度纠错单元233中对错误位置进行翻转,由此对数据更新/存储单元114中的数据进行更新和存储。针对该更新后的RS块,校正子值更新单元264计算与数据被更新的位置相对应的校正子,对存储在存储单元262中的校正子值进行更新,并将经过更新的校正子多项式输出到错误位置多项式计算单元266。
此后,如前所述,错误位置多项式计算单元266生成错误位置多项式,并且如果确定解码失败,则在当前RS块中设置用于表示解码失败的标志,并将该块编号输出到第二奇偶校验/似然度纠错单元233。如果确定解码没有失败,则由链式搜索执行单元268来确定错误位置。如果确定在链式搜索中解码失败,则按照相同方式在当前RS块中设置表示解码错误的标志,并将该块编号输出到第二奇偶校验/似然度纠错单元233。如果在链式搜索中指定了错误位置,则计算错误值。
对于经过翻转的比特串,因为不需要再次针对该比特串的经过纠错部分来计算整个校正子值,所以能够减小计算量。此外,在计算错误位置多项式的阶段还能够确定解码是否失败,因此如果解码失败,则处理可转移到下一步骤,从而能够减小计算量。这样,与传统的ECC解码器相比,ECC解码器116能够更多地减小计算量,并能执行高速解码。
在将解码失败的所有RS块编号以及对执行了去交织处理的RS码部分1100(参见图4)输入到第二奇偶校验/似然度纠错单元233后,按照如图2和图5的奇偶校验编码器同样的方式来计算奇偶校验。
换言之,如图5所示,图12中的奇偶校验计算单元120针对RS码部分1100至1113在对角方向上提取比特串,并如图5和图7所示计算2比特奇偶校验。
奇偶校验值检验部分122检验奇偶校验值,确定从分离单元110发送的由奇偶校验编码器所生成的奇偶校验值与重新计算的奇偶校验值是否匹配。将在该奇偶校验检验中其值匹配的奇偶校验块串确定为没有错误,并将其值不匹配的奇偶校验块串确定为错误。
图12中的错误翻转单元126基于奇偶校验检验的结果及解码失败块编号来检验出块中的错误位置,计算奇偶校验错误值,使用该奇偶校验错误值参照表124来指定错误位置,并翻转错误位置的比特值。
因为能够检验出错误位置,所以能够实现超出一个交织ECC的性能。
通过结合图12中的ECC解码器116,能够提高确定ECC解码器不能纠错的速度以及生成解码目标数据串的校正子的速度,并能够实现低计算量的解码。
(编码及解码操作)
图13是示出根据本发明实施方式的编码及解码的图,图14是作为比较示例而示出了当使用由上述Ito等人的文献所披露的技术与LDPC时的编码及解码的图。
如图13所示,在编码的情况下,通过对记录数据1000进行交织、执行RS编码(1001至1004)、并对编码后的结果进行去交织,来生成RS编码串1100。然后如图5所示,在通过将RS码串1100划分成L个部分(例如10个部分)而生成的块1101至1110中,分别从q(q≤L)个(例如4个)块1101至1104中提取10比特的串(p=10),以针对p×q个数据串中的每一个数据串而生成奇偶校验1121和1122。将所生成的奇偶校验附加到与经过提取的块1101至1104不同的各个块1117和1118,并输出数据1130。
然后如图6所示,针对通过将添加了奇偶校验的RS码串1130划分成L个部分而生成的各个K′比特数据串1131至1140,来执行LDPC编码,并分别将LDPC码奇偶校验1171至1180添加到块1131至1140。
在解码的情况下,对经过LDPC编码的块1150执行LDPC解码,并获得RS码数据串1130。即使在解码期间错误地解码LDPC块(块1154、1156),并发生很多错误(图13中用×表示),仍能正确地执行基于奇偶校验的检错。
换言之,在ECC解码器中,指定其中检验出错误的RS块,并且根据图7所述的奇偶校验的位置关系,基于包括生成了奇偶校验的RS块的多个RS块来重新生成奇偶校验。编码期间的对应奇偶校验已经被插入到另一预定块,因此读取并比较该位置上的奇偶校验。如果比较结果不匹配,则确定存在错误,并且如上所述,对检验出错误的RS块中具有低似然度的错误候选进行翻转。
由于在LDPC解码期间获知了在LDPC块中存在/不存在错误(是否与检验条件匹配),所以提供解码器能够处理的最大似然度作为从没有错误的块中提取出的似然度。这意味着能从错误候选中排除没有错误的块。结果,能够限定奇偶校验似然度纠错候选。
在图14的比较示例的情况下,在编码中,通过对记录数据1000进行交织、执行RS编码(1001至1004)以及去交织,来生成RS编码串1100。然后如图15所示,针对在对RS码串1100进行交织之后的数据串生成奇偶校验1121和1122。将生成的奇偶校验添加到RS编码串的末端,并输出数据1130-1。
然后如图6所示,针对通过将添加了奇偶校验的RS码串1130划分成L个部分而生成的各个K′比特数据串1131至1140,来执行LDPC编码,并分别将LDPC码奇偶校验1171至1180添加到块1131至1140。
在解码的情况下,对经过LDPC编码的块1150执行LDPC解码,并获得RS码数据串1130。然后,假设在解码期间LDPC块被错误地解码(块1154、1156),并发生很多错误(图14中用×表示)。在ECC解码器中,检验出错误的RS块,基于目标块来重新生成奇偶校验。读取并比较添加到编码串末端的奇偶校验。如果比较结果不匹配,则确定存在错误,并将具有低似然度的错误候选进行翻转,如上所述。
然而,因为将编码时的奇偶校验添加到编码串的最末端,所以如果该部分有错,则即使没有错误的块在与重新生成的奇偶校验的比较时也会不匹配,并会被认为有错。另一方面,如果奇偶校验块有错,则即使在与重新生成的奇偶校验的比较时有错误的块也会匹配,并会被认为没有错误。所以如果错误集中在LDPC块,则不能通过ECC来纠错。
(其它实施方式)
在上述图2的交织方法中,使用10比特作为示例,但是还可以使用其它数量的比特,而且对于图12所述的ECC解码器116,可以使用不具有校正子值存储单元262及校正子值更新单元264的传统ECC解码器。
在上述实施方式中,使用里德所罗门码来描述ECC码,但是还可以使用其它码,诸如BCH(Bose Chaudhari Hocquengham)码。利用4交织来说明交织,但是本发明还可应用于2或更高的交织设置,而且奇偶校验被描述为2比特,但本发明还可以应用于1比特或3比特或更多个比特。利用第二ECC说明了LDPC,但是还可以利用其它线性编码方法,诸如Turbo编码。说明了磁盘装置的记录/再现装置,但本发明还能应用到其它介质存储装置,诸如光盘装置和通信装置。
使用多个实施方式对本发明进行了说明,但是在本发明的精神的范围内能够按照各种方式来对本发明进行修改,而且这些变型形式也应当包含在本发明的范围内。
按照每m(m≥2)比特将数据串交织成多个块,添加纠错码奇偶校验,并生成其中向每多个比特添加奇偶校验比特的级联型编码数据,因此能防止电路规模的增大。而且,按照串接的方式使用作为利用迭代解码的线性编码的第二纠错编码,因此能够通过迭代解码来纠正ECC输入的错误,并能够防止纠错性能的劣化。结果,能够防止用于Windows
Figure A200810185675D0014184817QIETU
的Vista
Figure A200810185675D0014184817QIETU
的长扇区型记录/再现装置的电路规模的增大,并能提高纠错性能。
在此所述的全部示例及条件性语言旨在教导的目的,以帮助读者理解发明人作出的以推动现有技术进步的本发明的原理及概念,并且本发明的原理及概念应当理解为不限于具体所述的示例和条件,而且说明书中这些示例的组织方式也与本发明的优劣无关。虽然已经详细描述了本发明的(多个)实施方式,但是应当理解的是可以进行各种变化、替换和修改而不偏离本发明的精神和范围。
交叉引用
本申请基于2008年1月31日提交的在先日本专利申请No.2008-21282并要求该申请的优先权,该申请的全部内容以引用的方式包含在本申请中。

Claims (20)

1、一种编码器,该编码器包括:
ECC编码器,其按照每m比特而将数据串交织成n块数据串,根据各个所述交织后的块的数据串而生成第一纠错码奇偶校验,并将各个块的所述第一纠错码奇偶校验添加到所述数据串以生成纠错码字,其中m≥2,n≥2;
奇偶校验编码器,其按照所述纠错码字的每多个比特而生成奇偶校验比特,并将所述奇偶校验比特添加到所述纠错码字;以及
第二ECC编码器,其按照每K比特而将第二纠错码字划分成L块数据串,根据各个块的数据串以所述块为单位而生成作为线性码的第二纠错码奇偶校验,并将各个块的所述第二纠错码奇偶校验添加到所述第二纠错码字以生成第三纠错码字,其中K≥2,L≥2,其中,在所述第二纠错码字中将由所述奇偶校验编码器所生成的奇偶校验添加到所述纠错码字。
2、根据权利要求1所述的编码器,其中,所述第二ECC编码器生成满足低密度奇偶校验LDPC码的要求的第三纠错码字,在所述低密度奇偶校验LDPC码中,奇偶校验矩阵中“1”的数量低,即低密度,而且所述低密度奇偶校验LDPC码是线性码,并且所述第二ECC编码器利用与所述奇偶校验矩阵相对应的生成矩阵来生成奇偶校验。
3、根据权利要求1所述的编码器,其中,所述奇偶校验编码器将所述纠错码字划分成L个块,从各个所述划分的块中以p比特为单位来提取q个数据串,并针对p×q个数据串生成奇偶校验,其中L≥2,p≥1,q≥2。
4、根据权利要求3所述的编码器,其中,所述奇偶校验编码器将针对所述p×q个数据串所生成的所述奇偶校验添加到除了包括用于生成所述奇偶校验的数据串的所述块以外的块。
5、根据权利要求1所述的编码器,其中,所述ECC编码器包括:
交织单元,其按照每m比特而将所述数据串交织成n块数据串,其中m≥2,n≥2;
ECC编码单元,其根据各个交织后的块的数据串而生成纠错码奇偶校验;以及
去交织单元,其按照所述每m比特而对各个所述块的数据串进行去交织,将去交织后的数据串恢复为所述数据串,并将所述纠错码的奇偶校验添加到所述恢复的数据串。
6、根据权利要求1所述的编码器,其中,所述ECC编码器生成里德所罗门码作为所述纠错码。
7、一种对被编码成根据权利要求1的第三纠错码字的编码数据进行解码的解码器,该解码器包括:
迭代解码器,其利用所述第二ECC码奇偶校验来对接收到的编码数据串进行迭代解码,将所述编码数据串解码成比特串,并输出各个比特的似然度;以及
ECC解码电路,其迭代地执行基于所述迭代解码器的编码数据串的第一纠错码的纠错解码,以及根据基于所述奇偶校验比特的检错来执行的基于所述似然度的所述编码比特串纠错解码。
8、根据权利要求7所述的解码器,其中,所述迭代解码器利用所述第二纠错码字的所述奇偶校验,根据满足低密度奇偶校验LDPC码的要求的所述第三纠错码字来执行所述迭代解码,将所述编码数据串硬判决成所述第二纠错码字,并输出各个比特的似然度,其中在所述低密度奇偶校验LDPC码中,所述奇偶校验矩阵中的“1”的数量低,即低密度,而且所述低密度奇偶校验LDPC码是线性码。
9、根据权利要求8所述的解码器,其中,在基于所述奇偶校验比特串的所述第二纠错码字的检错中,当所述第二纠错码字的块满足所述奇偶校验条件并且没有检验到错误时,所述迭代解码器停止所述迭代解码,并将所述第二纠错码字的块中的各个比特的似然度设置成最大似然度值。
10、根据权利要求7所述的解码器,其中,所述ECC解码电路包括:
ECC解码器,其基于来自所述迭代解码器的码比特串的所述第一纠错码来执行纠错;以及
奇偶校验/似然度纠错单元,其在由所述ECC解码器进行的解码失败时,基于所述奇偶校验比特来执行检错,并利用所述检错的结果基于所述似然度来对输入到所述ECC解码器的所述码比特串进行纠错。
11、根据权利要求10所述的解码器,该解码器还包括:
分离单元,其从来自所述迭代解码器的码比特串中分离出所述奇偶校验比特,并将所述奇偶校验比特输出到所述奇偶校验/似然度纠错单元;
交织单元,其按照所述每m比特将已经分离出所述奇偶校验比特的所述码比特串交织成n块数据串,其中m≥2,n≥2;以及
数据存储单元,其存储各个所述交织后的块的数据串,
其中,所述ECC解码器基于所述纠错码来对所述数据存储单元的各块的数据串执行纠错,
并且,所述奇偶校验/似然度纠错单元对所述数据存储单元的数据串进行纠错。
12、根据权利要求10所述的解码器,其中,当所述解码失败时,所述奇偶校验/似然度纠错单元从包括所述失败的块的所述L个块中以p比特为单位来提取q个数据串,针对p×q个数据串重新生成奇偶校验,并将所述奇偶校验与所述添加的奇偶校验比特进行比较以进行检错,其中p≥1,q≥2。
13、根据权利要求10所述的解码器,其中,所述奇偶校验/似然度纠错单元对被添加到除了包括用于生成所述奇偶校验的数据串的所述块之外的块的奇偶校验进行提取,并将这些奇偶校验与所述重新生成的奇偶校验进行比较。
14、根据权利要求7所述的解码器,其中,所述编码数据串的所述纠错码是里德所罗门码。
15、一种编/解码装置,该编/解码装置包括:
ECC编码器,其按照每m比特而将数据串交织成n块数据串,根据各个所述交织后的块的数据串而生成第一纠错码奇偶校验,并将各个块的所述第一纠错码奇偶校验添加到所述数据串以生成纠错码字,其中m≥2,n≥2;
奇偶校验编码器,其按照所述纠错码字的每多个比特而生成奇偶校验比特,并将所述奇偶校验比特添加到所述纠错码字;
第二ECC编码器,其按照每K比特而将第二纠错码字划分成L块数据串,根据各个块的数据串以所述块为单位而生成作为线性码的第二纠错码奇偶校验,并将各个块的所述第二纠错码奇偶校验添加到所述第二纠错码字以生成第三纠错码字,其中K≥2,L≥2,其中在所述第二纠错码字中将由所述奇偶校验编码器所生成的奇偶校验添加到所述纠错码字;
迭代解码器,其利用所述第二ECC码奇偶校验来对接收到的编码数据串进行迭代解码,将所述编码数据串解码成比特串,并输出各个比特的似然度;以及
ECC解码电路,其迭代地执行基于所述迭代解码器的编码数据串的第一纠错码的纠错解码,以及根据基于所述奇偶校验比特的检错来执行的基于所述似然度的所述编码比特串纠错解码。
16、根据权利要求15所述的编/解码装置,其中,
所述第二ECC编码器生成满足低密度奇偶校验LDPC码的要求的第三纠错码字,在所述低密度奇偶校验LDPC码中,奇偶校验矩阵中的“1”的数量低,即低密度,而且所述低密度奇偶校验LDPC码是线性码,并且所述第二ECC编码器利用与所述奇偶校验矩阵相对应的生成矩阵来生成奇偶校验,并且
所述迭代解码器利用所述第二纠错码字的所述奇偶校验,根据满足低密度奇偶校验LDPC码的要求的所述第三纠错码字来执行所述迭代解码,将所述编码数据串硬判决成所述第二纠错码字,并输出各个比特的所述似然度,其中在所述低密度奇偶校验LDPC码中,所述奇偶校验矩阵中的“1”的数量低,即低密度,而且所述低密度奇偶校验LDPC码为线性码。
17、根据权利要求15所述的编/解码装置,其中,
所述奇偶校验编码器将所述纠错码字划分成L个块,从各个所述划分后的块中以p比特为单位来提取q个数据串,并针对p×q个数据串生成奇偶校验,并且当所述解码失败时,所述ECC解码电路从包括所述失败的块的所述L个块中以p比特为单位来提取q个数据串,针对p×q个数据串重新生成奇偶校验,并将这些奇偶校验与所述添加的奇偶校验比特进行比较以进行检错,其中L≥2,p≥1,q≥2。
18、一种记录/再现装置,该记录/再现装置包括:
读写头,其从存储介质读取数据/向存储介质写入数据;
ECC编码器,其按照每m比特而将要写入到所述存储介质的数据串交织成n块数据串,根据各个所述交织后的块的数据串而生成第一纠错码奇偶校验,并将各个块的所述第一纠错码奇偶校验添加到所述数据串以生成纠错码字,其中m≥2,n≥2;
奇偶校验编码器,其按照所述纠错码字的每多个比特而生成奇偶校验比特,并将所述奇偶校验比特添加到所述纠错码字;
第二ECC编码器,其按照每K比特而将第二纠错码字划分成L块数据串,根据各个块的数据串以所述块为单位而生成作为线性码的第二纠错码奇偶校验,并将各个块的所述第二纠错码奇偶校验添加到所述第二纠错码字以生成第三纠错码字,并将所述第三纠错码字输出到所述读写头,其中K≥2,L≥2,其中在所述第二纠错码字中将由所述奇偶校验编码器所生成的奇偶校验添加到所述纠错码字;
迭代解码器,其利用所述第二ECC码奇偶校验来对由所述读写头读取的所述编码数据串进行迭代解码,将所述编码数据串解码成比特串,并输出各个比特的似然度;以及
ECC解码电路,其迭代地执行基于所述迭代解码器的编码数据串的第一纠错码的纠错解码,以及根据基于所述奇偶校验比特的检错来执行的基于所述似然度的所述编码比特串纠错解码。
19、根据权利要求18所述的记录/再现装置,其中,
所述第二ECC编码器生成满足低密度奇偶校验LDPC码的要求的第三纠错码字,在所述低密度奇偶校验LDPC码中,奇偶校验矩阵中的“1”的数量低,即低密度,而且所述低密度奇偶校验LDPC码是线性码,并且所述第二ECC编码器利用与所述奇偶校验矩阵相对应的生成矩阵来生成奇偶校验,并且
所述迭代解码器利用所述第二纠错码字的所述奇偶校验,根据满足低密度奇偶校验LDPC码的要求的所述第三纠错码字来执行所述迭代解码,将所述编码数据串硬判决成所述第二纠错码字,并输出各个比特的似然度,其中在所述低密度奇偶校验LDPC码中,所述奇偶校验矩阵中的“1”的数量低,即低密度,而且所述低密度奇偶校验LDPC码为线性码。
20、根据权利要求18所述的记录/再现装置,其中,
所述奇偶校验编码器将所述纠错码字划分成L个块,从各个所述划分后的块中以p比特为单位来提取q个数据串,并针对p×q个数据串生成奇偶校验,其中L≥2,p≥1,q≥2,并且当所述解码失败时,
所述ECC解码电路从包括所述失败的块的所述L个块中以p比特为单位来提取q个数据串,针对p×q个数据串重新生成奇偶校验,并将这些奇偶校验与所添加的奇偶校验比特进行比较以进行检错,其中p≥1,q≥2。
CN2008101856752A 2008-01-31 2008-12-19 编码装置、解码装置、编/解码装置以及记录/再现装置 Expired - Fee Related CN101499806B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008021282 2008-01-31
JP2008021282A JP5007676B2 (ja) 2008-01-31 2008-01-31 符号化装置、復号化装置、符号化・復号化装置及び記録再生装置
JP2008-021282 2008-01-31

Publications (2)

Publication Number Publication Date
CN101499806A true CN101499806A (zh) 2009-08-05
CN101499806B CN101499806B (zh) 2013-08-21

Family

ID=40419121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101856752A Expired - Fee Related CN101499806B (zh) 2008-01-31 2008-12-19 编码装置、解码装置、编/解码装置以及记录/再现装置

Country Status (5)

Country Link
US (1) US8151162B2 (zh)
EP (1) EP2086114B1 (zh)
JP (1) JP5007676B2 (zh)
KR (1) KR100976178B1 (zh)
CN (1) CN101499806B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624403A (zh) * 2011-01-31 2012-08-01 马维尔国际贸易有限公司 用于对级联纠错码的有效解码的方法和系统
CN101697490B (zh) * 2009-10-16 2013-09-25 苏州国芯科技有限公司 一种应用在基于理德-所罗门码的ecc模块上的解码方法
CN103428498A (zh) * 2013-08-21 2013-12-04 江苏新瑞峰信息科技有限公司 一种无损图像压缩系统
CN106920575A (zh) * 2015-12-24 2017-07-04 爱思开海力士有限公司 数据存储装置及其操作方法
CN108270518A (zh) * 2016-12-30 2018-07-10 慧荣科技股份有限公司 用以解码接收息的解码方法与相关解码装置
CN108988990A (zh) * 2018-07-05 2018-12-11 郑州云海信息技术有限公司 一种处理链路层数据错误的方法
CN110008052A (zh) * 2017-12-14 2019-07-12 三星电子株式会社 纠错装置、纠错装置的操作方法以及包括纠错装置的控制器
CN110795271A (zh) * 2018-08-03 2020-02-14 三星电子株式会社 对用户数据执行纠错的纠错电路和使用其的纠错方法
CN112865809A (zh) * 2019-11-27 2021-05-28 量子芯云(北京)微电子科技有限公司 Ecc超强数据纠错方法
CN113395137A (zh) * 2021-06-08 2021-09-14 龙迅半导体(合肥)股份有限公司 一种fec编解码模块
CN113595561A (zh) * 2021-07-14 2021-11-02 深圳宏芯宇电子股份有限公司 一种混合解码方法、存储装置控制器及存储系统
CN113595560A (zh) * 2021-06-29 2021-11-02 浪潮电子信息产业股份有限公司 一种信息纠错方法、装置、设备及存储介质
CN114070464A (zh) * 2020-07-31 2022-02-18 富士通株式会社 通过使用多级编码传输数据的装置和方法以及通信系统

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2249243B1 (en) * 2008-02-08 2014-06-18 Fujitsu Limited Backup method, disc array device, and controller
US8352837B1 (en) * 2009-03-20 2013-01-08 Marvell International Ltd. System and methods for storing data encoded with error information in a storage medium
EP2330745A1 (fr) * 2009-10-29 2011-06-08 STMicroelectronics SA Procédé et dispositif de décodage d'une succession de blocs encodés avec un code de correction d'erreur et corrélés par un canal de transmission
JP5039160B2 (ja) * 2010-03-02 2012-10-03 株式会社東芝 不揮発性半導体記憶システム
KR101652452B1 (ko) * 2010-03-02 2016-08-30 시게이트 테크놀로지 인터내셔날 디코더와 상기 디코더를 포함하는 장치들
JP2012050008A (ja) * 2010-08-30 2012-03-08 Toshiba Corp 誤り検出訂正方法および半導体メモリ装置
US8904258B2 (en) * 2010-09-07 2014-12-02 Zephyr Photonics Modulation-forward error correction (MFEC) codes and methods of constructing and utilizing the same
US8612834B2 (en) * 2011-03-08 2013-12-17 Intel Corporation Apparatus, system, and method for decoding linear block codes in a memory controller
US8887034B2 (en) * 2011-04-15 2014-11-11 Lsi Corporation Systems and methods for short media defect detection
US8667360B2 (en) * 2011-07-01 2014-03-04 Intel Corporation Apparatus, system, and method for generating and decoding a longer linear block codeword using a shorter block length
US8930649B2 (en) * 2011-09-06 2015-01-06 Cleversafe, Inc. Concurrent coding of data streams
US8640013B2 (en) * 2011-09-22 2014-01-28 Kabushiki Kaisha Toshiba Storage device
US8578241B2 (en) * 2011-10-10 2013-11-05 Lsi Corporation Systems and methods for parity sharing data processing
US8862960B2 (en) * 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
KR101320684B1 (ko) 2011-11-18 2013-10-18 한국과학기술원 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
JP2013109567A (ja) * 2011-11-21 2013-06-06 Toshiba Corp ストレージデバイス及び誤り訂正方法
US9054840B2 (en) * 2011-12-15 2015-06-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Error detection and correction of a data transmission
US9912786B2 (en) 2012-03-13 2018-03-06 Panasonic Corporation Wireless communication device and method to detect header information errors
US9203757B2 (en) * 2012-03-22 2015-12-01 Texas Instruments Incorporated Network throughput using multiple reed-solomon blocks
US8775897B2 (en) * 2012-05-07 2014-07-08 Lsi Corporation Data processing system with failure recovery
TWI477104B (zh) * 2012-09-13 2015-03-11 Mstar Semiconductor Inc 錯誤校正裝置與錯誤校正方法
KR102081980B1 (ko) * 2012-10-08 2020-02-27 삼성전자 주식회사 메모리 시스템에서의 라이트 동작 또는 리드 동작 수행 방법
US9577673B2 (en) * 2012-11-08 2017-02-21 Micron Technology, Inc. Error correction methods and apparatuses using first and second decoders
US9191256B2 (en) 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US20140173381A1 (en) * 2012-12-19 2014-06-19 Quantum, Inc. Bit error detection and correction with error detection code and list-npmld
US9468085B2 (en) 2012-12-29 2016-10-11 Zephyr Photonics Inc. Method and apparatus for implementing optical modules in high temperatures
US10958348B2 (en) 2012-12-29 2021-03-23 Zephyr Photonics Inc. Method for manufacturing modular multi-function active optical cables
US9190809B2 (en) 2012-12-29 2015-11-17 Zephyr Photonics Inc. Method and apparatus for active voltage regulation in optical modules
US9160452B2 (en) 2012-12-29 2015-10-13 Zephyr Photonics Inc. Apparatus for modular implementation of multi-function active optical cables
US9728936B2 (en) 2012-12-29 2017-08-08 Zephyr Photonics Inc. Method, system and apparatus for hybrid optical and electrical pumping of semiconductor lasers and LEDs for improved reliability at high temperatures
US9172462B2 (en) * 2012-12-31 2015-10-27 Zephyr Photonics Inc. Optical bench apparatus having integrated monitor photodetectors and method for monitoring optical power using same
US9362956B2 (en) * 2013-01-23 2016-06-07 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
US9362954B1 (en) * 2013-03-15 2016-06-07 Seagate Technology Llc Digital communications channel
CN103338046B (zh) * 2013-06-21 2016-03-30 上海交通大学 码率兼容的ldpc-rs二维乘积码的编码与译码方法
KR20150084560A (ko) * 2014-01-14 2015-07-22 에스케이하이닉스 주식회사 인코딩 장치, 디코딩 장치 및 그 동작 방법
DE112015001607T5 (de) * 2014-04-01 2017-01-05 Lattice Semiconductor Corporation Orthogonale Datenorganisation für Fehlerdetektion und -korrektur in seriellen Videoschnittstellen
US9577672B2 (en) * 2014-07-18 2017-02-21 Storart Technology Co., Ltd. Low density parity-check code decoder and decoding method thereof
KR101644712B1 (ko) * 2014-12-15 2016-08-02 한국과학기술원 블록 단위 연접 비씨에이치 부호의 성능을 향상시키는 오류 정정 방법 및 복호 방법
US9647694B2 (en) 2014-12-28 2017-05-09 International Business Machines Corporation Diagonal anti-diagonal memory structure
JP6484041B2 (ja) * 2015-01-22 2019-03-13 日本放送協会 連接符号を用いた送信装置、受信装置及びチップ
EP3242406B1 (en) * 2015-01-27 2020-01-15 Huawei Technologies Co., Ltd. Fec decoding apparatus and method
CN105095014A (zh) * 2015-07-01 2015-11-25 清华大学 基于错误纠正编码数据结构的数据隐藏方法
JP6488954B2 (ja) * 2015-09-11 2019-03-27 富士通株式会社 暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム
US10241851B2 (en) * 2016-01-11 2019-03-26 Micron Technology, Inc. Estimation of error correcting performance of low-density parity-check (LDPC) codes
US10114569B2 (en) * 2016-10-07 2018-10-30 Cnex Labs, Inc. Computing system with shift expandable coding mechanism and method of operation thereof
US10396826B2 (en) * 2016-10-26 2019-08-27 Huawei Technologies Co., Ltd. Software defined network with selectable low latency or high throughput mode
US10374639B2 (en) 2016-12-06 2019-08-06 Western Digital Technologies, Inc. Adaptive bit-flipping decoder based on dynamic error information
US10158380B2 (en) 2016-12-06 2018-12-18 Sandisk Technologies Llc ECC and read adjustment based on dynamic memory error model estimation
US10284233B2 (en) * 2016-12-06 2019-05-07 Western Digital Technologies, Inc. ECC adjustment based on dynamic error information
CN111066251A (zh) * 2017-08-18 2020-04-24 上海诺基亚贝尔股份有限公司 用于nr的ldpc基础图的使用
EP4220968A1 (en) * 2017-09-27 2023-08-02 Mitsubishi Electric Corporation Coding device and transmitter
US10447313B2 (en) 2017-11-28 2019-10-15 X Development Llc Communication method and system with on demand temporal diversity
JP2021034825A (ja) * 2019-08-21 2021-03-01 株式会社東芝 磁気ディスク装置
US11057060B1 (en) * 2020-03-23 2021-07-06 Sage Microelectronics Corporation Method and apparatus for matrix flipping error correction
JP2024045862A (ja) * 2022-09-22 2024-04-03 株式会社東芝 磁気ディスク装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08106733A (ja) * 1994-10-07 1996-04-23 Hitachi Ltd 情報記憶媒体利用システム
US5636231A (en) * 1995-09-05 1997-06-03 Motorola, Inc. Method and apparatus for minimal redundancy error detection and correction of voice spectrum parameters
JP3567733B2 (ja) 1998-05-08 2004-09-22 株式会社日立製作所 信号復号方法、信号復号回路及びこれを用いた情報伝送通信装置、情報記憶再生装置
KR100277764B1 (ko) * 1998-12-10 2001-01-15 윤종용 통신시스템에서직렬쇄상구조를가지는부호화및복호화장치
US6553536B1 (en) * 2000-07-07 2003-04-22 International Business Machines Corporation Soft error correction algebraic decoder
KR100673419B1 (ko) * 2000-12-28 2007-01-24 엘지전자 주식회사 전송 시스템 및 데이터 처리 방법
JP4109556B2 (ja) * 2003-01-31 2008-07-02 松下電器産業株式会社 Ofdm信号の衝突位置検出装置、ofdm受信装置及びofdm信号の衝突位置検出方法及びofdm受信方法
JP2004253017A (ja) * 2003-02-18 2004-09-09 Fujitsu Ltd 記録媒体再生装置、記録媒体再生方法およびハードディスクコントローラ
JP2005093038A (ja) * 2003-09-19 2005-04-07 Fujitsu Ltd 記録再生装置および記録再生回路
KR100539261B1 (ko) * 2004-05-04 2005-12-27 삼성전자주식회사 디지털 데이터의 부호화 장치와 dvd로의 기록 장치 및그 방법
JP4444755B2 (ja) * 2004-08-17 2010-03-31 Kddi株式会社 連接符号システムおよび連接符号処理方法、復号装置
US7205912B1 (en) 2005-10-31 2007-04-17 Seagate Technology Llc Structured set partitioning and multilevel coding for partial response channels
JP4558638B2 (ja) 2005-12-15 2010-10-06 富士通株式会社 符号器および復号器
JP4662278B2 (ja) 2006-04-28 2011-03-30 富士通株式会社 エラー訂正装置、符号器、復号器、方法及び情報記憶装置
JP2008021282A (ja) 2006-06-12 2008-01-31 Brother Ind Ltd ラベル体及びラベル体作成装置
JP2008065969A (ja) * 2006-08-09 2008-03-21 Fujitsu Ltd 符号化装置、復号化装置、符号化方法、復号化方法および記憶装置
JP4833173B2 (ja) * 2006-10-30 2011-12-07 富士通株式会社 復号化器、符号化・復号化装置及び記録再生装置
KR101119302B1 (ko) * 2007-04-20 2012-03-19 재단법인서울대학교산학협력재단 통신 시스템에서 저밀도 패리티 검사 부호 부호화 장치 및방법
US8065594B2 (en) * 2007-06-29 2011-11-22 Limberg Allen Leroy 8VSB DTV signals with PCCC and subsequent trellis coding

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697490B (zh) * 2009-10-16 2013-09-25 苏州国芯科技有限公司 一种应用在基于理德-所罗门码的ecc模块上的解码方法
CN102624403A (zh) * 2011-01-31 2012-08-01 马维尔国际贸易有限公司 用于对级联纠错码的有效解码的方法和系统
CN103428498A (zh) * 2013-08-21 2013-12-04 江苏新瑞峰信息科技有限公司 一种无损图像压缩系统
CN106920575B (zh) * 2015-12-24 2020-12-29 爱思开海力士有限公司 数据存储装置及其操作方法
CN106920575A (zh) * 2015-12-24 2017-07-04 爱思开海力士有限公司 数据存储装置及其操作方法
CN108270518A (zh) * 2016-12-30 2018-07-10 慧荣科技股份有限公司 用以解码接收息的解码方法与相关解码装置
CN108270518B (zh) * 2016-12-30 2021-01-26 慧荣科技股份有限公司 用以解码接收信息的解码方法与相关解码装置
CN110008052A (zh) * 2017-12-14 2019-07-12 三星电子株式会社 纠错装置、纠错装置的操作方法以及包括纠错装置的控制器
CN108988990A (zh) * 2018-07-05 2018-12-11 郑州云海信息技术有限公司 一种处理链路层数据错误的方法
CN110795271A (zh) * 2018-08-03 2020-02-14 三星电子株式会社 对用户数据执行纠错的纠错电路和使用其的纠错方法
CN112865809A (zh) * 2019-11-27 2021-05-28 量子芯云(北京)微电子科技有限公司 Ecc超强数据纠错方法
CN114070464A (zh) * 2020-07-31 2022-02-18 富士通株式会社 通过使用多级编码传输数据的装置和方法以及通信系统
CN114070464B (zh) * 2020-07-31 2023-10-24 富士通株式会社 通过使用多级编码传输数据的装置和方法以及通信系统
CN113395137A (zh) * 2021-06-08 2021-09-14 龙迅半导体(合肥)股份有限公司 一种fec编解码模块
CN113595560A (zh) * 2021-06-29 2021-11-02 浪潮电子信息产业股份有限公司 一种信息纠错方法、装置、设备及存储介质
CN113595561A (zh) * 2021-07-14 2021-11-02 深圳宏芯宇电子股份有限公司 一种混合解码方法、存储装置控制器及存储系统

Also Published As

Publication number Publication date
JP2009181656A (ja) 2009-08-13
KR20090084653A (ko) 2009-08-05
CN101499806B (zh) 2013-08-21
JP5007676B2 (ja) 2012-08-22
EP2086114B1 (en) 2014-01-15
EP2086114A2 (en) 2009-08-05
US20090199073A1 (en) 2009-08-06
US8151162B2 (en) 2012-04-03
EP2086114A3 (en) 2012-09-12
KR100976178B1 (ko) 2010-08-17

Similar Documents

Publication Publication Date Title
CN101499806B (zh) 编码装置、解码装置、编/解码装置以及记录/再现装置
US8055977B2 (en) Decoding device, encoding/decoding device and recording/reproducing device
US8255763B1 (en) Error correction system using an iterative product code
KR100933254B1 (ko) 최대 우도 검출기, 오류 정정 회로 및 매체 기억 장치
US7502982B2 (en) Iterative detector with ECC in channel domain
US7380195B1 (en) Error correction using error detection codes
US8683309B2 (en) Systems and methods for ambiguity based decode algorithm modification
US8127216B2 (en) Reduced state soft output processing
US7319726B1 (en) Soft-output decoding method and apparatus for controlled intersymbol interference channels
US20090132894A1 (en) Soft Output Bit Threshold Error Correction
US20090327832A1 (en) Decoder and recording/reproducing device
CN101174839A (zh) 编码装置、解码装置、编码/解码装置及记录/再现装置
US7559008B1 (en) Nested LDPC encoders and decoder
JP2002008325A (ja) 情報記録再生方法およびこれを用いた情報記録再生回路装置
US7434136B2 (en) Method of and apparatus for reading recording medium, harddisk controller
JP4088133B2 (ja) リードチャネル復号器、リードチャネル復号方法およびリードチャネル復号プログラム
US20090307561A1 (en) Decoding device, decoding method, and recording and reproducing device
JP4294407B2 (ja) 信号処理方法及び信号処理回路
JP2004193727A (ja) 信号処理方法及び信号処理回路
Sankaranarayanan et al. Performance of product codes on channels with memory
JP2008152915A (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

Granted publication date: 20130821

Termination date: 20151219

EXPY Termination of patent right or utility model