CN101174838A - 最大似然检测器、错误校正电路和介质存储装置 - Google Patents
最大似然检测器、错误校正电路和介质存储装置 Download PDFInfo
- Publication number
- CN101174838A CN101174838A CNA2007101666503A CN200710166650A CN101174838A CN 101174838 A CN101174838 A CN 101174838A CN A2007101666503 A CNA2007101666503 A CN A2007101666503A CN 200710166650 A CN200710166650 A CN 200710166650A CN 101174838 A CN101174838 A CN 101174838A
- Authority
- CN
- China
- Prior art keywords
- false candidates
- likelihood score
- error
- candidates item
- syndrome
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1803—Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10009—Improvement or modification of read or write signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1525—Determination and particular use of error location polynomials
- H03M13/153—Determination and particular use of error location polynomials using the Berlekamp-Massey algorithm
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1525—Determination and particular use of error location polynomials
- H03M13/1535—Determination and particular use of error location polynomials using the Euclid algorithm
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
- H03M13/453—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
- H03M13/453—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
- H03M13/455—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6343—Error control coding in combination with techniques for partial response channels, e.g. recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
- G11B2020/1836—Error 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-like record carriers
Abstract
本发明提供了最大似然检测器、错误校正电路和介质存储装置。该最大似然检测器产生解码目标数据串并且提供对于错误校正电路有效的错误候选项。该最大似然检测器具有:检测器,用于产生解码目标数据串;以及错误候选项提取器,其基于来自该检测器的似然度信息,提取各个位中似然度表现出高错误可能性的位位置,作为所述解码目标数据串的错误候选项。由于仅提取错误可能性高的位位置作为错误候选项,所以校正电路可以按较低似然度的顺序提取错误候选项,并且可以减少按似然度顺序进行排序的次数。
Description
技术领域
本发明涉及最大似然检测器、错误校正电路和介质存储装置,更具体地讲,本发明涉及一种用于校正附加有ECC码的数据的错误的最大似然检测器、错误校正电路和介质存储装置。
背景技术
在记录/再现装置(例如,磁盘装置)和通信系统的领域中,里德所罗门(Reed Solomon)码被用作错误校正码(ECC)。为了提高从低质量发送信号和记录/再现信号再现数据时的数据再现可靠性,广泛采用利用最大似然序列检测的数据解码技术和利用错误校正码(ECC)的错误校正技术。
因为介质噪声和电路噪声的影响,从最大似然检测器输出的位串在多个位上具有错误值。ECC对具有错误的位串执行错误校正,并输出校正了错误的位串。例如,在磁盘装置的情况下,如果ECC校正失败,则需要重试,但是必须尽可能避免重试。因此,已经提出:ECC从最大似然检测器接收一些候选项串,并依次尝试对这些候选项串进行解码(例如,第H11-330985号日本专利申请公报)。
图17是示出了利用最大似然序列的传统错误校正电路的框图,图18至图20是示出了该传统错误校正电路的操作的图。
如图17所示,最大似然检测器20根据最大似然序列,基于输入信号产生多个候选项数据串。数据存储部31存储产生的多个候选项数据串。ECC解码器22具有校正子(syndrome)计算部41、错误定位多项式计算部42、钱氏(chien)搜索执行部43和错误值计算部44。
校正子计算部41计算输入到ECC解码器22的数据串的校正子计算表达式(在图18中或之后描述)。错误定位多项式计算部42根据校正子多项式(在图18中或之后描述)计算错误定位多项式。对于错误定位多项式的计算算法,例如采用欧几里德(Euclidian)法或者伯利坎普-梅西(Berlekamp Massey)法(例如,参见E.R.Berlekamp,“Algebraic CodingTheory”,McGraw-Hill Book Co.,pp.176-199 and pp.218-240,New York,1968,和J.L.Massey,“Shift-register Synthesis and BCH Decoding”,IEEETransactions on Information Theory,vol.IT-15,pp.122-127,1969)。
钱氏搜索执行部43利用上述错误定位多项式执行钱氏搜索,并且确定数据串中存在错误的位置(错误位置)。错误值计算部44将该错误位置上的错误值校正为正确值。然后,解码判断部32检查从错误值计算部44输出的校正后的数据串的有效性,如果无效,则解码判断部32将其判断为校正失败,并且指示数据存储部31输出下一解码候选项数据串。
现在将参照图18至图20更具体地描述基于里德所罗门码的错误校正。如图18所示,通过2t次的生成多项式生成错误校正数为“t”的里德所罗门码。如果用于编码的伽罗华域是GF(2的3次幂),并且如果错误校正数“t”是“1”,则里德所罗门码的生成多项式被表示为例如采用本原元α的下面的表达式(1)。
[表达式1]
G(x)=(x-1)(x-α)
=x2+α3x+α (1)
在这种情况下,从α0=1开始,位串中的三位被作为一个符号处理,并且在ECC编码中将具有符号2t(=2)的奇偶串添加到信息串。例如,为了对图18中的信息串进行编码,使“001”、“110”以及“101”对应于伽罗华域表示法中的1、α的五次幂以及α的四次幂。第j个符号是发送字串的多项式中的项xj的系数。因此,该位串(信息串)表示多项式x4+α5x3+α4x2。
如图19所示,在ECC编码中,将表示位串的多项式除以表达式(1)中的生成多项式,并且将表示得到的余数多项式α4x+α4的奇偶串添加到该位串。在该余数多项式中,x的1次项和0次项的系数都是α4,因此添加图18中示出的奇偶串,生成由5个符号构成的发送字串。
如果将该发送字串记录在磁盘中并读取,则例如可以将包括如图20所示的错误的接收字串输入到ECC解码器22。该接收字符串由下面的表达式(2)给出。
[表达式2]
Y(x)=αx4+α5x3+α4x2+α4x+α4 (2)
对于图20中的该接收字串,校正子计算部41通过下面的表达式(3)计算校正子多项式。
[表达式3]
S(x)=s1+s2x
s1=Y(1) (3)
s2=Y(α)
在表达式(3)中,校正子si(i=1,2,...,2t)是将表达式(1)中的生成多项式G(x)的第i个根代入接收字多项式Y(x)而得到的值,校正子多项式S(x)是这样的多项式,在该多项式中校正子si是项xi-1的系数。如果接收字串中不包含错误,则所有的si均变为“0”。
接着,错误定位多项式计算部42利用校正子多项式S(x)来计算下面的表达式(4)的错误定位多项式C(x)。
[表达式4]
C(x)=1+α-4x (4)
接着,钱氏搜索执行部43利用表达式(4)中的错误定位多项式C(x)来计算C(αj)(j=0,1,2,3,4)的值,并输出C(αj)=0的位置j作为错误位置。在图20中的示例的情况下,C(α4)=1+α-4·α4=0,所以可以检测到第四个符号中存在的错误。
接着,错误值计算部44利用表达式(3)的校正子多项式S(x)和表达式(4)的错误定位多项式C(x),通过预定算法来计算第四个符号的正确值,并校正该位串。在这个示例中,确定正确值为“1”,将图20中示出的接收字串中的第四个符号从α校正为“1”。
例如,在磁盘装置的情况下,使用错误校正数t=20的里德所罗门码,并且在ECC错误编码中,1个符号由10位构成,将具有40个符号的奇偶串插入到一个扇区的位串(4096位=410个符号)之前。在这种情况下,校正子多项式S(x)和错误定位多项式C(x)例如由下面的表达式(5)和(6)给出。
[表达式5]
S(x)=s1+s2x+...+s40x39 (5)
[表达式6]
C(x)=1+x+α2x2+...+α35x8 (6)
因为实际的接收字串长,所以接收字多项式Y(x)的次数变大。在现有技术中,必须接收多个候选项数据串并且依次尝试通过ECC对候选项数据串进行解码。如果最大似然检测器的候选项数据串的产生是不适当的,则ECC解码可能对于所有候选项数据串会失败,并且不能提高校正性能。
如果为所有候选项提供最大似然检测器,则必须将候选项序列排序并且按较低似然度的顺序传送到ECC解码器,所以用于产生候选项数据串的计算量增加,并且电路规模变大。
发明内容
考虑到上面的描述,本发明的一个目的是提供一种向ECC解码器提供合适的候选数据串并且提高了校正性能的最大似然检测器、错误校正电路和介质存储装置。
本发明的另一目的是提供一种即使采用小计算量也能向ECC解码器提供合适的候选数据串并且提高了校正性能的最大似然检测器、错误校正电路和介质存储装置。
本发明的又一目的是提供一种即使电路规模小也能向ECC解码器提供合适的候选数据串并且提高了校正性能的最大似然检测器、错误校正电路和介质存储装置。
为了实现这些目的,本发明的最大似然检测器具有:检测器,用于根据输入信号产生解码目标数据串,并且检测所述解码目标数据串中的各个位的似然度;以及错误候选项提取器,用于接收各个位的所述似然度并且产生错误候选项表,所述错误候选项表用于存储似然度为预定阈值或更小的任意数量的位的位位置信息,作为选定错误候选项。
本发明的错误校正电路具有:检测器,用于根据输入信号产生解码目标数据串,并且检测所述解码目标数据串中的各个位的似然度;错误候选项提取器,用于接收各个位的所述似然度并且产生错误候选项表,所述错误候选项表用于按所述似然度的顺序存储似然度为预定阈值或更小的任意数量的位的位位置信息,作为选定错误候选项;以及校正电路,用于校正所述解码目标数据串的错误并将其输出。在判断出所述校正失败时,所述校正电路从所述错误候选项表中提取所述错误候选项并且产生新的解码目标数据串。
本发明的介质存储装置具有:头,用于从存储介质读取信号;检测器,用于根据所述头读取的信号产生解码目标数据串,并且检测所述解码目标数据串中的各个位的似然度;错误候选项提取器,用于接收各个位的所述似然度并且产生错误候选项表,所述错误候选项表用于按所述似然度的顺序存储似然度为预定阈值或更小的任意数量的位的位位置信息,作为选定错误候选项;以及校正电路,用于校正所述解码目标数据串的错误并将其输出,其中,在判断出所述校正失败时,所述校正电路从所述错误候选项表中提取所述错误候选项并且产生新的解码目标数据串。
在本发明中,优选的是,所述错误候选项提取器具有:阈值判断部,用于将所述解码目标数据串中的各个位的似然度与预定阈值进行比较,并且提取似然度为预定阈值或更小的位位置;以及较高候选项选择部,用于产生错误候选项表,所述错误候选项表用于存储所提取的位位置作为所述选定错误候选项。
在本发明中,还优选的是,所述阈值判断部根据多个似然度等级将似然度为预定阈值或更小的所提取的位位置按所述似然度和所述位位置存储到堆栈表中。
在本发明中,还优选的是,所述较高候选项选择部针对各似然度等级参照所述堆栈表,并且存储所述选定错误候选项的位位置。
在本发明中,还优选的是,所述较高候选项选择部将所述似然度的绝对值相同的所述位位置存储到所述错误候选项表中,作为一个选定错误候选项。
在本发明中,还优选的是,所述较高候选项选择部针对各似然度等级参照所述堆栈表,将所述堆栈表中似然度等级相对较低的位位置存储在所述错误候选项表中,对所述堆栈表中似然度等级相对较高的位位置进行排序,并将经排序的位位置存储在所述错误候选项表中。
在本发明中,还优选的是,所述错误候选项提取器检测到似然度为阈值或更小的位连续达预定位数,并且禁止将这些连续的位位置存储在所述表中。
在本发明中,还优选的是,所述错误候选项提取器按所述位位置产生错误候选项的起始位置和错误长度这种形式的表。
在本发明中,还优选的是,所述校正电路具有:校正子计算部,用于根据所述解码目标数据串来计算一组校正子;错误定位多项式计算部,用于根据该组校正子来计算错误定位多项式的系数,利用所述错误定位多项式的所述系数来判断校正是否成功,并且在判断结果为校正失败时向所述错误候选项表请求错误候选项;以及校正电路,用于根据所述错误定位多项式计算部的校正成功的判断结果,利用所述校正子和所述错误定位多项式的系数来校正所述解码目标数据串的错误。
在本发明中,还优选的是,所述校正电路具有:校正子保持部,用于保持计算出的校正子;以及校正子更新部,用于根据解码目标数据串和新的解码目标数据串之间的差来计算校正子的差,并且根据该差来更新所保持的校正子。
由于基于各个位的似然度提取错误可能性高的位位置作为解码目标数据串的错误候选项,所以可以向校正电路提供可被有效校正的错误候选项。另外,仅提取错误可能性高的位位置作为错误候选项,所以对于按较低似然度顺序提取错误候选项的校正电路而言,可以减少按似然度顺序对位位置进行排序的次数,因此可以有效地减少计算量。
附图说明
图1是示出了根据本发明实施方式的介质存储装置的记录/再现系统的框图。
图2是示出了图1中的错误候选项提取器的框图。
图3是示出了图2中的阈值判断部的图。
图4是示出了图1中的较高候选项选择部的操作的图。
图5是示出了图1中的ECC解码器的框图。
图6是示出了图5中的错误定位多项式计算部的处理的流程图。
图7示出了图6中的错误定位多项式的计算算法。
图8是示出了图5中的钱氏搜索执行部的处理的流程图。
图9是示出了候选项的图。
图10是示出了错误候选项的组合的图。
图11是示出了图5中的校正子更新部的处理的流程图。
图12是示出了图1中的错误候选项提取器的另一实施方式的框图。
图13是示出了图12中的堆栈表的操作的图。
图14是示出了图12中的候选项选择部的操作的图。
图15是解释图12中的候选项选择部的输出格式的图。
图16是示出了图12中的错误候选项表的图。
图17是示出了根据现有技术的错误校正电路的框图。
图18是示出了根据现有技术的用于错误校正的编码操作的图。
图19示出了图18中的奇偶串生成操作。
图20是示出了根据现有技术的错误校正操作的图。
具体实施方式
现在将按照记录/再现系统、错误候选项提取器、ECC解码器、另一错误候选项提取器以及其他实施方式的顺序来描述本发明的实施方式,但是本发明并不限于这些实施方式。
记录/再现系统
图1是示出了根据本发明实施方式的磁盘装置的记录/再现系统的框图。如图1所示,磁盘装置的记录/再现系统包括硬盘控制器(HDC)203、读通道(RDC)202和前置放大器(或头IC)201。
在记录时,CRC(循环冗余码)编码器237将CRC码添加到HDC 203中的记录数据。接着,记录编码器236将记录数据转换为满足诸如MTR(最大转变行程)码和RLL(行程长度受限)码的约束条件的数据串。ECC编码器235根据上述表达式(1)添加奇偶串。
将经ECC编码的数据串输入到RDC 202。RDC 202中的记录补偿器229在彼此相邻地发生磁化反转的位置执行补偿处理以稍微扩展反转间隔。RDC 202中的驱动器228将经记录补偿的数据串输出到前置放大器201。在前置放大器201中,驱动器212产生用于记录头(写入头,未示出)的写电流,从而驱动该记录头,并且将数据记录在磁盘(未示出)上。
另一方面,在再现的情况下,前置放大器201中的放大器211将来自再现头(读取头)的模拟电压放大,接着将其输出到RDC 202。RDC 202中的热粗糙度(thermal asperity)检测处理部221执行热粗糙度处理,接着可变增益放大器(VGA)222调节振幅。
接着,低通滤波器(LPF)223将调节了振幅的读取信号中的高频带截止,并且A/D转换器(ADC)224将其模拟输出转换为数字信号。接着,FIR(有限冲激响应)滤波器225对该数字信号进行波形均衡,并且将结果输入到最大似然检测器226。
最大似然检测器226是诸如SOVA(软输出维特比(Viterbi))、NPSOVA(噪声可预测软输出维特比)或者BCJR(Bahl,Cocke,Jelinek和Ravis算法)的最大似然检测器,并且执行最大似然解码。
将解码串从最大似然检测器226发送到HDC 203。此时,错误候选项提取器227提取在最大似然解码中错误可能性高的位串候选项,并且将它们发送到HDC 203的错误候选项存储器231。HDC 203的错误候选项存储器231存储错误可能性高的位串候选项。
ECC解码器232对从最大似然检测器226发送的解码串进行错误校正。如果解码成功,则记录解码器233与记录编码器236的编码处理相反地执行解码,并且CRC解码器234执行CRC解码,并且将结果输出作为再现数据。
如果ECC解码器232的解码失败,则ECC解码器232在错误候选项存储器231中选择错误可能性高的几个位串,并且产生将位串中的各个值从“0”翻转(flip)到“1”或者从“1”翻转到“0”的解码串。ECC解码器232再次校正错误。
如果解码成功,则经由如上所述的记录解码器233和CRC解码器234输出结果作为记录数据。另一方面,如果解码失败,则ECC解码器232从错误候选项存储器231中选择错误可能性高的几个不同的位串,并且产生将位串的各个值翻转的解码串,然后校正错误。
由于ECC解码器232必须重复几次错误校正,所以使用将在图5及之后描述的高速判断ECC电路。这样,可以减少计算量。
这里,根据本发明,错误候选项提取器227从最大似然检测器226接收在最大似然检测中检测到的解码串中的各个位的位置以及各个位位置的似然度,提取似然度低(即,错误可能性高)的位位置作为错误候选项,并且将它们存储在错误候选项存储器231中。
换言之,提取错误可能性高的位位置作为错误候选项,所以可以向ECC解码器232提供可被有效校正的错误候选项。另外,仅提取错误可能性高的位位置作为错误候选项,所以对于提取错误候选项的ECC解码器232,可以减少按似然度顺序对位位置进行排序的次数,因此可以有效地减少计算量。
错误候选项提取器
现在,将描述图1中的错误候选项提取器227的结构。图2是示出了图1中的错误候选项提取器227的框图,图3是示出了图2中的阈值判断部的操作的图,图4是示出了图2中的阈值判断部和较高候选项选择部的操作的图。
如图2所示,错误候选项提取器227包括阈值判断部240、分级堆栈表(stack table by level)242和较高候选项选择部248。检测器226(例如,SOVA、NSOVA或BCJR)计算数据串(扇区)中的各个位的似然度,如图3所示。该似然度越高,该位没有错误的可能性越高;该似然度越低,该位有错误的可能性越高。
为了将错误可能性高的位存储在表242中,仅处理具有低似然度的位。为此,阈值判断部240设置一阈值,并且仅将似然度为该阈值或更小的位(位位置)存储在表242中。
在图3中,将值“1.5”设置为阈值,提取似然度值在“-1.5”到“+1.5”的范围内的的位位置,并将其存储在表242中。在图3中,一个扇区中的第203、第204和第205位的似然度值在“-1.5”到“+1.5”的范围内,所以将位位置(203、204、205)存储在表242中。根据假设的SNR(信噪比)的范围和表242的存储器大小来确定该阈值。
在堆栈表242中,将存储的位位置和似然度值分成几个似然度值范围(等级),如图4所示。在图4中,在堆栈表242中,似然度值的绝对值被分成三个范围,“0”到“0.5”、“0.5”到“1.0”、以及“1.0”到“1.5”,每个范围分别用242-1、242-2和242-3标示。
例如,图3中的第203、第204和第205位的似然度的绝对值是“0.6”,所以如图4所示,将位置信息和似然度值的绝对值存储在表242-2中“0.5”到“1.0”的范围内。
此外,如图4所示,将似然度的绝对值相同的连续位串存储在同一行中,并且将该位串视为一个错误候选项。例如,图3中示出的第203、第204和第205位变成一个错误候选项。如图4所示,为了使似然度的绝对值相同,可以使用变得对称的均衡目标(线性均衡的参数),例如PR(部分响应)-4。
如果将抑制连续错误的MTR码用于记录码,则可以通过限制表242的列数而节省表存储器。例如,16/17 MTR码用于将16位数据编码为17位数据,并且可以防止产生4位或更长的连续错误。
因此,如图4所示,即使存在具有似然度绝对值低(0.3)的4个连续位的串,根据编码原理也不产生4位连续错误,因此不将该位串视为错误候选项,而是将其忽略。换言之,阈值判断部240提取似然度为阈值或更小的位,并判断似然度为阈值或更小的位是否是连续达到4位,如果它们是4个连续位,则忽略这4个连续位,不将其存储在堆栈表242中。
如果采用这种编码原理,则防止了校正错误,并且提高了校正能力。错误候选项是连续达到3位或更少的位,所以可以将堆栈表242的位置信息表的列数减小到3或更小,可以节约存储器。
接着,较高候选项选择部248从存储在堆栈表242中的错误候选项中选择几个似然度较低候选项,并且将它们输出到错误候选项存储器231作为较高错误候选项。错误候选项存储器231将从较高候选项选择部248输出的较高错误候选项存储到较高错误候选项表中。
在图4的示例中,从堆栈表242中选择较高的八个错误候选项,并将它们存储在较高错误候选项表231中。为了从堆栈表242中选择较高的八个错误候选项,必须确认在表的各级中存储了多少个候选项。
在图4中,在似然度绝对值为“ 0” 到“0.5”的范围内,存在五个候选项。在似然度绝对值为“0.5”到“1.0”的范围内,存在一个候选项;并且在似然度绝对值为“1.0”到“1.5”的范围内,存在四个候选项。
为了选择八个错误候选项,选择“0”到“0.5”范围内的所有候选项、“0.5”到“1.0”范围内的所有候选项以及“1”到“1.5”范围内的四个候选项之中具有较低似然度的两个候选项。
为了从“1”到“1.5”范围内的四个候选项中选择具有较低似然度的两个候选项,需要进行排序,但是不用在所有似然度等级范围中进行排序,而是可以仅针对“1”到“1.50”范围内的似然度等级进行排序。这具有减少计算量的效果。另外,可以简化排序电路。
在错误候选项存储器231的错误候选项数据中不需要似然度值,而是将其位位置按较低似然度的顺序存储。这也可以节省存储器容量。按照这种方式,将表分为适当的等级对于减少计算量(例如减少排序次数)是有效的。
利用错误候选项存储器231中的这种较高错误候选项,后面描述的ECC解码器232有效地校正错误。
FCC解码器
图5是示出了图1中的ECC解码器的框图,图6是示出了图5中的错误定位多项式计算部的处理的流程图,图7是示出了图6中的错误定位多项式的运算算法的图,图8是示出了图5中的钱氏搜索执行部的处理的流程图,图9是示出了解码候选项的图,图10是示出了图5中的翻转操作的图,图11是示出了图5中的校正子更新部的处理的流程图。
如图5所示,ECC解码器232包括校正子计算部260、校正子值存储部262、错误定位多项式计算部266、钱氏搜索执行部268和错误值计算部270。
校正子计算部260计算来自检测器226的解码串的校正子,并且将计算出的校正子的值存储在校正子值存储部262中。错误定位多项式计算部266利用所产生的校正子多项式来计算错误定位多项式,并且判断结果是否超过了校正能力。
如果错误定位多项式计算部266或者钱氏搜索执行部268判断解码失败,则校正子值更新部264从错误候选项存储器231中选择几个错误候选项,翻转对应的位置,并且根据翻转的位置和存储在校正子值存储部262中的校正子值来更新翻转的位串的校正子值。
如果错误定位多项式计算部266判断解码没有失败,则钱氏搜索执行部268通过钱氏搜索确定错误位置。如果在钱氏搜索中没有判断解码失败,即,如果在钱氏搜索中指定了错误位置,则错误值计算部270计算错误值。
按照这种方式,存储先前的校正子值,当解码失败时,提取错误候选项,翻转解码串的该位置处的位串,计算翻转的位串的校正子值,并更新先前的校正子值。由于对于翻转的位串不必从头开始计算校正子值,所以可以减少计算量。
如后面所述,可以在计算错误定位多项式的阶段判断解码失败,如果解码失败,则可以尝试对下一个错误候选项进行解码,从而可以减少计算量。
现在,将利用图6至图11来详细描述ECC解码器232。首先将描述ECC编码。通常,由下面的表达式(7)给出错误校正数为“t”的里德所罗门码的生成多项式。与表达式(1)不同,表达式(7)以α开始。
[表达式7]
G(x)=(x-α)(x-α2)…(x-α2t) (7)
因此,在错误校正数t=20的情况下,采用如下面的表达式(8)中所示的40次生成多项式。
[表达式8]
G(x)=(x-α)(x-α2)…(x-α40) (8)
但是根据本实施方式,为了使错误定位多项式计算部266在早期判断解码成功/失败,增加了生成多项式的次数,并采用如下面的表达式(9)中所示的41次生成多项式。
[表达式9]
G(x)=(x-α)(x-α2)…(x-α40)(x-α41) (9)
换言之,对于ECC编码产生具有41个符号的奇偶串,并且将该奇偶串插入到一个扇区的位串(410个符号)之前。
ECC解码器232的校正子计算部260根据表达式(3)计算数据串的校正子多项式(多项式的系数s1、s2、...),并且将计算出的校正子多项式输出到错误定位多项式计算部266。此时,计算出2t+1个校正子系数si(i=1、2、...、2t、2t+1)的值。同时,校正子计算部260将计算出的校正子多项式存储到校正子存储部262,以将这些值用于第二个或后面的候选项的解码处理。
错误定位多项式计算部266利用伯利坎普-梅西法来计算校正子多项式。根据伯利坎普-梅西法,通过以多项式的初始值开始并将多项式的更新重复与生成多项式的次数相同的次数,来计算错误定位多项式。为了在这种情况下确定第i个多项式Ci(x),需要第i个校正子si的值。
错误定位多项式计算部266产生第2t个多项式C2t(x)和第(2t+1)个多项式C2t+1(x)。错误定位多项式计算部266比较第2t个多项式C2t(x)和第(2t+1)个多项式C2t+1(x),并且判断这两个多项式是否匹配。
根据伯利坎普-梅西法,如果数据串中包括的错误数为k(k≤t),则在第(2k+1)次或后面的重复中不更新多项式,其中C2k(x)或后面的多项式都变成相同的。因此,如果C2t(x)和C2t+1(x)匹配,则错误数至多为t,这位于错误校正能力范围内。另一方面,如果C2t(x)和C2t+1(x)不匹配,则错误数超过了错误校正能力。
因此,如果C2t(x)和C2t+1(x)匹配,则错误定位多项式计算部266判断该候选项的校正成功,并且将数据串、校正子多项式、错误定位多项式和判断结果输出到钱氏搜索执行部268。如果C2t(x)和C2t+1(x)不匹配,则错误定位多项式计算部266判断该候选项的校正失败,并且指示数据存储部231输出下一个解码候选项。
这样,通过将具有一个符号的额外奇偶添加到数据串并且根据伯利坎普-梅西法计算一个额外的多项式,可以在解码过程中检测到数据串的校正失败。也可以采用添加具有几个符号的额外奇偶的格式。
将参照图6和图7来描述该处理。
(S801)错误定位多项式计算部266首先执行初始化处理,将多项式C0(x)、多项式B(x)以及整数“a”和“b”初始化为“1”,并将L初始化为“0”。
(S802)接着,将表示重复次数的控制变量“i”设置为“1”。
(S803)利用校正子si的值,根据伯利坎普-梅西法基于第(i-1)个多项式Ci-1(x)的系数来确定第i个多项式Ci(x)的系数。这里,将多项式Ci-1(x)的j次项的系数假设为Cj(j=1、2、...、L),并且根据图7中示出的计算算法来确定多项式Ci(x)的系数。
(S804)接着,比较控制变量i和生成多项式的次数2t+1。
(S805)如果i<2t+1,则i被更新为(i+1),并且处理返回步骤S803。
(S806)如果i=2t+1,则输出多项式C2t(x)和C2t+1(x)的系数。
(S901)接着,比较多项式C2t(x)的各系数和多项式C2t+1(x)的各系数。
(S902)如果所有这些系数都分别匹配,则判断为能够校正,并且将多项式C2t+1(x)的系数输出到钱式搜索执行部268,作为错误定位多项式的系数。
(S903)如果有任何系数不匹配,则判断校正失败,并且错误定位多项式计算部266请求数据存储部231发送下一个候选项。
接着,钱氏搜索执行部268利用错误定位多项式C(x)来执行钱氏搜索,并且针对数据串上的所有位置j,计算C(αj)的值(j=0、1、2、3、4...n)。这里,n+1表示码长(符号)。C(αj)=0的位置j是错误位置。
接着,钱氏搜索执行部268利用校正子多项式和值C(αj)来判断校正的成功/失败,如果判断校正成功,则钱氏搜索执行部268将接收的数据串、校正子多项式和错误定位多项式输出到错误值计算部270。如果判断校正失败,则钱氏搜索执行部268请求数据存储部231发送下一个候选项。
图8是示出了钱氏搜索执行部268的判断处理的流程图。
(S1001)首先检查校正子多项式si(i=1、2、...、2t、2t+1)的值。
(S1002)如果校正子si中的任何一个不是“0”,则检查C(αj)(j=0、1、2、3、4、...n)的值。
(S1003)如果在步骤S1001中所有校正子si都为“0”,则钱氏搜索执行部268判断该校正是不必要的,并且将判断结果输出到错误值计算部270。
(S1004)如果在步骤S1002中C(αj)的任一个值变成“0”,则钱氏搜索执行部268将位置j输出到错误值计算部270作为错误位置。
(S1005)如果判断C(αj)(j=0、1、2、3、4、...n)中的任一个值不是“0”,则钱氏搜索执行部268判断该校正失败,并且请求数据存储部231发送下一个候选项。
接着,利用校正子多项式和错误位置多项式,错误值计算部270根据预定算法将数据串的错误位置处的错误值校正为正确值。错误值计算部270从校正后的数据串中删除奇偶串,并且将结果输出到位于后续阶段的记录解码器(RLL解码器)233(见图1)。
换言之,如果第一个候选项的校正成功,则从ECC解码器232输出经校正的数据串。如果校正失败并且第二个或后面的候选项需要进行解码,则利用存储在校正子值存储部262中的信息来执行解码处理。
将参照图9至图11来描述候选项数据的选择和校正子的更新。例如,如图9所示,如果将由n+1个符号构成的第一个候选项和当前解码目标候选项进行比较,则该第一个候选项的位置j=1处的符号为α12,并且解码目标候选项的相同位置处的符号为α6,所以这两个值不同。
在这种情况下,分别由下面的表达式(10)和(11)给出第一个候选项的接收字多项式Y1(x)和解码目标候选项的接收字多项式Y(x)。
[表达式10]
Y1(x)=α2xn+α22xn-1+…α12x+α5 (10)
[表达式11]
Y(x)=α2xn+α22xn-1+…α6x+α5 (11)
对于这些接收字,由下面的表达式(12)和(13)给出第一个候选项的校正子多项式S1(x)和解码目标候选项的校正子多项式S(x)。
[表达式12]
S1(x)=s11+s12x+…+s12tx2t-1+s12t+1x2t
s1i=Y1(α1)(i=1、2、…、2t、2t+1) (12)
[表达式13]
S(x)=s1+s2x+…+s2tx2t-1+s2t+1x2t
si=Y(αi)(i=1、2、…、2t、2t+1) (13)
在表达式(12)和(13)中,s1i表示第一候选项的第i个校正子,si表示解码目标候选项的第i个校正子。在这种情况下,可以利用sli将si表示为下面的表达式(14)。
si=s1i+Y(αi)-Y1(αi)
=s1i+(α6-α12)αi (14)
表达式(14)表示通过将符号值的变化量(α6-α12)和αi的乘积与存储在校正子值存储部262中的s1i的值相加而得到的更新后的校正子si的值。
即使当多个符号值不同时,也可以按与表达式(14)相同的方式计算更新后的校正子si。在这种情况下,校正子的差(Y(αi)-Y1(αi))是针对符号值不同的所有位置j,将符号值的变化量和(αi)j的乘积相加的结果。
利用按照这种方式更新的校正子si,通过伯利坎普-梅西法顺序地计算多项式C1(x)到C2t+1(x)。例如,在t=20的情况下,按下面的表达式(15)计算C1(x)、C40(x)和C41(x)。
[表达式15]
C1(x)=1+αx
C40(x)=1+x+α2x2+…+α35x20
C41(x)=1+αx+α50x3+…+α100x20 (15)
在表达式(15)的情况下,C40(x)和C41(x)的系数不匹配,因此判断解码目标候选项的校正失败,并且对下一候选项进行解码。
将利用提取两个候选项的示例来描述下一候选项。如图10所示,将错误候选项按错误可能性较高的顺序存储在错误候选项存储器231中。换言之,从8个错误候选项中选择两个候选项,并且将这两个候选项翻转。从8个候选项中选择两个候选项的组合数是8C2=28,并且将错误候选项组合,如图10所示。
例如,如果将错误候选项No.1和No.2的位置翻转,则将数据串中由No.1表示的第102位和由No.2表示的第415位和第416位的值从“0”翻转到“1”或者从“1”翻转到“0”。接着,利用翻转的位串执行解码。
现在,将参照图11中的流程图来描述校正子更新部264的处理。
(S701)如上所述,当校正子更新部264从错误定位多项式计算部266或者钱氏搜索执行部268接收到对下一候选项的请求时,校正子更新部264根据上述顺序从8个中选择两个候选项,将候选项在数据串中的位位置处的数据翻转,并且产生解码目标数据串。校正子更新部264对解码目标数据串和校正子值存储部262的候选数据串进行比较,并提取不同的符号值。
(S702)接着,对于符号不同的所有位置j,计算符号的变化量与(αi)j之积,并且将该值视为校正子的差(Y(αi)-Y1(αi))。
(S703)将该差与校正子值存储部262中存储的校正子相加,来更新校正子。
这样,提取错误可能性高的位位置作为可被有效校正的错误候选项,可以将其提供给ECC解码器232,并且可以提高解码速度。
另外,准备错误候选项,使得ECC解码器232可以按较低似然度的顺序提取错误候选项,所以可以进一步提高解码速度,即使按照这种方式,也可以减少按似然度顺序进行排序的次数,并且可以有效地减少计算量。
另外,通过与图5中的ECC解码器232结合,当判断ECC解码器不能进行校正时,可以以高速产生解码目标数据串的校正子,并且可以以较少的计算量进行解码。
另一错误候选项提取器
图12是示出了图1的结构中的另一错误候选项提取器的框图,图13示出了图12中的堆栈表,图14是示出了图12中的候选项选择部的图,图15是示出了图12中的候选项选择部的输出格式的图,图16示出了图12中的错误候选项表。在该示例中,改进了输出格式,以减少错误候选项表的存储容量。
如图12所示,错误候选项提取器227A具有堆栈表244、候选项选择部246和错误候选项表247。图1中的检测器226(例如SOVA、NSOVA或者BCJR)计算如图13所示的数据串(扇区)的各个位的似然度。该似然度值越高,该位正确的可能性越高;该似然度值越低,该位错误的可能性越高。
堆栈表244存储来自检测器226的一个扇区的各个位的似然度值。图13示出了一个扇区的各个位位置的似然度值的串。候选项选择部246根据堆栈表246中的各个位的似然度值,提取似然度值低的位置。
如图13所示,堆栈表246将一个扇区的各个位的似然度值存储在对应的位位置处。必须提取错误可能性高的位的候选项选择部246仅处理具有低似然度的位。
候选项选择部246例如提取似然度绝对值最低的位位置、似然度绝对值第二低的位位置、以及似然度绝对值第三低的位位置。如果一个扇区例如有4096位,则优选地提取似然度直至第八低的位位置。
图14示出了这样的状态:候选项选择部246根据图13的堆栈表244中的一个扇区的位的似然度值,提取似然度绝对值最低(似然度值为0.3)的位位置“8”、似然度绝对值第二低(似然度值为0.4)的位位置“22”、似然度绝对值第三低(似然度值为0.6)的连续位位置“25”和“26”、以及这些似然度值的绝对值“0.3”、“0.4”和“0.6”。
候选项选择部246产生这样的列表,在该列表中按似然度顺序排列所提取的位位置,如图14所示。接着,候选项选择部246将产生的列表转换为预定输出格式以产生错误候选项表247,在所产生的列表中将按较低似然度顺序排列的位位置分别视为错误候选项1、2、3、…。
如图15所示,作为错误候选项信息的、产生的列表所转换成的输出格式包括候选位的开始位置和错误长度。候选项选择部246在错误候选项表247中产生一表,该表包括一个扇区中的候选位的开始位置和错误长度,并且将结果输出到HDC 203的错误候选项存储单元231。
该输出格式例如具有15位错误候选项信息,其中,错误开始位置输入在前13位中,而错误长度输入在最后2位中,如图15所示。
现在将参照图16来描述列表转换方法。错误候选项1的位位置“8”表示一个扇区的第八位存在1位错误,所以将8的二进制表示“0000000000100”输入前13位,并将错误长度(1位)“01”输入剩余的2位。
错误候选项2的位位置“22”表示在第22位存在1位错误,所以将22的二进制表示“0000000010110”输入前13位,并将错误长度(1位)“01”进入剩余的2位。
错误候选项3的位位置“25”和“26”表示在第25和第26位存在2位错误,所以将错误起始位置25的二进制表示“0000000011001”输入前13位,并将错误长度(2位)“10”输入剩余的2位。
由于用2位来表示错误长度,所以最长的错误仅为最大3位。然而,与图4中的示例相似,如果将用于抑制连续错误的MTR码用作记录码,即,如果将16/17 MTR码用于把16位数据编码成17位数据,则可以防止产生4位或更长的连续错误。因此,使用MTR就足够了。
结果,即使图16中存在具有最低绝对似然度值的连续4位的串,根据编码原理也不产生连续4位错误,所以不将该位串视为错误候选项,而是将其忽略。
这样,通过构成错误候选位的起始位置和错误长度这种输出格式,可以减少错误候选项表的存储量,并且可以简化读通道202的结构。例如,如果用13位表示位位置,则在图4的情况下需要24×13=312位的容量。如果采用本实施方式,则如图4的这种情况可以仅为8×15=120位,仅需要大约1/3的存储容量。
其他实施方式
在上述实施方式中,在每个似然度等级中选择两个错误候选项,但是也可以选择一个或三个或更多个错误候选项。ECC解码器的结构不限于图5中的结构,可以采用其他结构。另外,上面描述了使用磁盘装置的记录/再现装置的情况,但是本发明可以应用于其他介质存储装置(例如光盘装置)和其他通信装置。
利用这些实施方式描述了本发明,但是在本发明的实质特征的范围内可以以各种方式来修改本发明,这些变型不应被排除在本发明的范围之外。
本申请基于并要求于2006年11月1日提交的第2006-297442号在先日本专利申请以及于2007年5月10日提交的第2007-125221号在先日本专利申请的优先权,通过引用将它们的全部内容合并于此。
Claims (23)
1.一种最大似然检测器,该最大似然检测器用于根据输入信号产生解码目标数据串并且将所述解码目标数据串输出到错误校正电路,所述最大似然检测器包括:
检测器,用于根据所述输入信号产生所述解码目标数据串,并且检测所述解码目标数据串中的各个位的似然度;以及
错误候选项提取器,用于接收各个位的所述似然度并且产生错误候选项表,所述错误候选项表用于按所述似然度的顺序存储似然度为预定阈值或更小的位位置,作为所述错误校正电路的选定错误候选项。
2.根据权利要求1所述的最大似然检测器,其中,所述错误候选项提取器包括:
阈值判断部,用于将所述解码目标数据串中的各个位的似然度与预定阈值进行比较,并且提取似然度为预定阈值或更小的位位置;以及
较高候选项选择部,用于产生错误候选项表,所述错误候选项表用于存储所提取的位位置作为选定错误候选项。
3.根据权利要求2所述的最大似然检测器,其中,所述阈值判断部根据多个似然度等级将似然度为确定阈值或更小的所提取的位位置的似然度和位位置存储到堆栈表中。
4.根据权利要求3所述的最大似然检测器,其中,所述较高候选项选择部针对各似然度等级参照所述堆栈表,并且存储所述选定错误候选项的位位置。
5.根据权利要求2所述的最大似然检测器,其中,所述较高候选项选择部将所述似然度的绝对值相同的所述位位置存储到所述错误候选项表中,作为一个选定错误候选项。
6.根据权利要求4所述的最大似然检测器,其中,所述较高候选项选择部针对各似然度等级参照所述堆栈表,将所述堆栈表中似然度等级相对较低的位位置存储在所述错误候选项表中,对所述堆栈表中似然度等级相对较高的位位置进行排序,并将经排序的位位置存储在所述错误候选项表中。
7.根据权利要求1所述的最大似然检测器,其中,所述错误候选项提取器检测到似然度为所述阈值或更小的位连续达预定位数,并且禁止将这些连续的位位置存储在所述表中。
8.根据权利要求1所述的最大似然检测器,其中,所述错误候选项提取器产生具有所提取的位位置的起始位置和错误长度这种格式的表。
9.一种错误校正电路,该错误校正电路包括:
检测器,用于根据输入信号产生解码目标数据串,并且检测所述解码目标数据串中的各个位的似然度;
错误候选项提取器,用于接收各个位的所述似然度并且产生错误候选项表,所述错误候选项表用于按所述似然度的顺序存储似然度为预定阈值或更小的位位置,作为选定错误候选项;以及
校正电路,用于校正所述解码目标数据串的错误并且输出经校正的解码目标数据,
其中,在判断出所述校正失败时,所述校正电路从所述错误候选项表中提取所述错误候选项并且产生新的解码目标数据串。
10.根据权利要求9所述的错误校正电路,其中,所述错误候选项提取器包括:
阈值判断部,用于将所述解码目标数据串中的各个位的似然度与预定阈值进行比较,并且提取似然度为所述预定阈值或更小的位位置;以及
较高候选项选择部,用于产生错误候选项表,所述错误候选项表用于存储所提取的位位置作为所述选定错误候选项。
11.根据权利要求10所述的错误校正电路,其中,所述阈值判断部根据多个似然度等级将似然度为预定阈值或更小的所提取的位位置存储到堆栈表中。
12.根据权利要求11所述的错误校正电路,其中,所述较高候选项选择部针对各似然度等级参照所述堆栈表,并且按所述似然度的顺序存储所述选定错误候选项的位位置。
13.根据权利要求10所述的错误校正电路,其中,所述较高候选项选择部将所述似然度的绝对值相同的所述位位置存储到所述错误候选项表中,作为一个选定错误候选项。
14.根据权利要求12所述的错误校正电路,其中,所述较高候选项选择部针对各似然度等级参照所述堆栈表,将所述堆栈表中似然度等级相对较低的位位置存储在所述错误候选项表中,对所述堆栈表中似然度等级相对较高的位位置进行排序,并将经排序的位位置存储在所述错误候选项表中。
15.根据权利要求9所述的错误校正电路,其中,所述错误候选项提取器检测到似然度为阈值或更小的位连续达预定位数,并且禁止将这些连续的位位置存储在所述表中。
16.根据权利要求9所述的错误校正电路,其中,所述校正电路包括:
校正子计算部,用于根据所述解码目标数据串来计算一组校正子;
错误定位多项式计算部,用于根据该组校正子来计算错误定位多项式的系数,利用所述错误定位多项式的所述系数来判断校正是否成功,并且在判断结果为校正失败时向所述错误候选项表请求错误候选项;以及
校正电路,用于根据所述错误定位多项式计算部的校正成功的判断结果,利用所述校正子和所述错误定位多项式的系数来校正所述解码目标数据串的错误。
17.根据权利要求16所述的错误校正电路,其中,所述校正电路包括:
校正子保持部,用于保持计算出的校正子;以及
校正子更新部,用于根据所述解码目标数据串和所述新的解码目标数据串之间的差来计算所述校正子的差,并且根据该差来更新所保持的校正子。
18.根据权利要求9所述的错误校正电路,其中,所述错误候选项提取器产生具有所提取的位位置的起始位置和错误长度这种格式的表。
19.一种介质存储装置,该介质存储装置包括:
头,用于从存储介质读取信号;
检测器,用于根据所述头读取的信号产生解码目标数据串,并且检测所述解码目标数据串中的各个位的似然度;
错误候选项提取器,用于接收各个位的所述似然度并且产生错误候选项表,所述错误候选项表用于按所述似然度的顺序存储似然度为预定阈值或更小的位位置,作为选定错误候选项;以及
校正电路,用于校正所述解码目标数据串的错误并将其输出,其中,在判断出所述校正失败时,所述校正电路从所述错误候选项表中提取所述错误候选项并且产生新的解码目标数据串。
20.根据权利要求19所述的介质存储装置,其中,所述错误候选项提取器包括:
阈值判断部,用于将所述解码目标数据串中的各个位的似然度与预定阈值进行比较,并且提取似然度为预定阈值或更小的位位置;以及
较高候选项选择部,用于产生错误候选项表,所述错误候选项表用于存储所提取的位位置作为所述选定错误候选项。
21.根据权利要求19所述的介质存储装置,其中,所述校正电路包括:
校正子计算部,用于根据所述解码目标数据串来计算一组校正子;
错误定位多项式计算部,用于根据该组校正子来计算错误定位多项式的系数,利用所述错误定位多项式的所述系数来判断校正是否成功,并且在判断结果为校正失败时向所述错误候选项表请求错误候选项;以及
校正电路,用于根据所述错误定位多项式计算部的校正成功的判断结果,利用所述校正子和所述错误定位多项式的系数来校正所述解码目标数据串的错误。
22.根据权利要求19所述的介质存储装置,其中,所述校正电路包括:
校正子保持部,用于保持计算出的校正子;以及
校正子更新部,用于根据解码目标数据串和所述新的解码目标数据串之间的差来计算校正子的差,并且根据该差来更新所保持的校正子。
23.根据权利要求19所述的介质存储装置,其中,所述错误候选项提取器产生具有所提取的位位置的起始位置和错误长度这种格式的表。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006297442 | 2006-11-01 | ||
JP2006297442 | 2006-11-01 | ||
JP2006-297442 | 2006-11-01 | ||
JP2007-125221 | 2007-05-10 | ||
JP2007125221 | 2007-05-10 | ||
JP2007125221A JP5251000B2 (ja) | 2006-11-01 | 2007-05-10 | 誤り訂正回路及び媒体記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101174838A true CN101174838A (zh) | 2008-05-07 |
CN101174838B CN101174838B (zh) | 2011-04-06 |
Family
ID=39251204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101666503A Active CN101174838B (zh) | 2006-11-01 | 2007-11-01 | 最大似然检测器、错误校正电路和介质存储装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8230309B2 (zh) |
EP (1) | EP1927987B1 (zh) |
JP (1) | JP5251000B2 (zh) |
KR (1) | KR100933254B1 (zh) |
CN (1) | CN101174838B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102077173A (zh) * | 2009-04-21 | 2011-05-25 | 艾格瑞系统有限公司 | 利用写入验证减轻代码的误码平层 |
CN102163463A (zh) * | 2011-04-26 | 2011-08-24 | 西安交通大学 | 一种降低bch解码延迟的双钱氏搜索方法 |
US8607115B2 (en) | 2008-08-15 | 2013-12-10 | Lsi Corporation | Error-correction decoder employing check-node message averaging |
US8768990B2 (en) | 2011-11-11 | 2014-07-01 | Lsi Corporation | Reconfigurable cyclic shifter arrangement |
CN104601178A (zh) * | 2013-10-30 | 2015-05-06 | 群联电子股份有限公司 | 解码方法、解码电路、存储器存储装置与控制电路单元 |
US9124297B2 (en) | 2012-11-01 | 2015-09-01 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Trapping-set database for a low-density parity-check decoder |
CN105915234A (zh) * | 2015-02-25 | 2016-08-31 | 爱思开海力士有限公司 | 避免对涡轮乘积码误校正的方案 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844560B2 (en) | 2006-04-17 | 2010-11-30 | Siemens Medical Solutions Usa, Inc. | Personalized prognosis modeling in medical treatment planning |
TW200906072A (en) * | 2007-07-24 | 2009-02-01 | Princeton Technology Corp | Error-correcting method used in decoding of data transmitting |
US8245117B1 (en) * | 2008-12-23 | 2012-08-14 | Link—A—Media Devices Corporation | Low complexity chien search in chase-type decoding of reed-solomon codes |
US8948286B2 (en) * | 2009-10-20 | 2015-02-03 | Wisconsin Alumni Research Foundation | Wireless communication system mapping data bits to symbol bit positions according to error rates of those bit positions and data content |
US8601351B2 (en) * | 2011-03-16 | 2013-12-03 | Intel Corporation | BCH decoding with multiple sigma polynomial calculation algorithms |
TWI487291B (zh) * | 2011-11-01 | 2015-06-01 | Univ Nat Chiao Tung | 循環碼解碼器及其方法 |
KR101361238B1 (ko) * | 2012-06-05 | 2014-02-25 | 한국과학기술원 | 간섭 채널 환경에서의 오류 정정 방법 및 회로, 이를 이용한 플래시 메모리 장치 |
US8869008B2 (en) * | 2013-01-17 | 2014-10-21 | Apple Inc. | Adaptation of analog memory cell read thresholds using partial ECC syndromes |
TWI514778B (zh) * | 2014-03-27 | 2015-12-21 | Storart Technology Co Ltd | 用於bch碼字之縮短秦式搜尋演算法延時的方法及電路 |
JP2021044750A (ja) * | 2019-09-12 | 2021-03-18 | キオクシア株式会社 | メモリシステム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04372779A (ja) * | 1991-06-21 | 1992-12-25 | Sony Corp | 軟判定復号回路 |
JP2940386B2 (ja) * | 1994-03-16 | 1999-08-25 | 日本電気株式会社 | 誤り訂正復号装置 |
US5577053A (en) * | 1994-09-14 | 1996-11-19 | Ericsson Inc. | Method and apparatus for decoder optimization |
JP2773701B2 (ja) * | 1995-09-25 | 1998-07-09 | 日本電気株式会社 | 誤り訂正復号装置 |
US6411452B1 (en) * | 1997-03-11 | 2002-06-25 | Western Digital Technologies, Inc. | Disk drive employing read error tolerant sync mark detection |
JP3132754B2 (ja) * | 1997-09-08 | 2001-02-05 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 記録装置、記録媒体及び記録制御方法 |
JP3567733B2 (ja) | 1998-05-08 | 2004-09-22 | 株式会社日立製作所 | 信号復号方法、信号復号回路及びこれを用いた情報伝送通信装置、情報記憶再生装置 |
JP3239863B2 (ja) * | 1998-11-27 | 2001-12-17 | 日本電気株式会社 | データ復号処理装置および方法 |
US6553536B1 (en) * | 2000-07-07 | 2003-04-22 | International Business Machines Corporation | Soft error correction algebraic decoder |
JP2002343037A (ja) | 2001-05-18 | 2002-11-29 | Sony Corp | ディジタル信号記録再生システム、ディジタル信号記録装置、ディジタル信号再生装置及びそのディジタル信号記録再生方法 |
US6740473B1 (en) * | 2002-11-28 | 2004-05-25 | United Microelectronics Corp. | Method for shrinking critical dimension of semiconductor devices |
JP4109556B2 (ja) * | 2003-01-31 | 2008-07-02 | 松下電器産業株式会社 | Ofdm信号の衝突位置検出装置、ofdm受信装置及びofdm信号の衝突位置検出方法及びofdm受信方法 |
JP4142537B2 (ja) * | 2003-09-19 | 2008-09-03 | 松下電器産業株式会社 | 光ディスク装置 |
JP2006109019A (ja) * | 2004-10-04 | 2006-04-20 | Matsushita Electric Ind Co Ltd | 誤り訂正回路及び誤り訂正方法 |
JP4598711B2 (ja) * | 2006-03-30 | 2010-12-15 | 富士通株式会社 | 誤り訂正装置 |
JP4372779B2 (ja) | 2006-09-12 | 2009-11-25 | オリエントブレイン株式会社 | 防爆アンテナ |
-
2007
- 2007-05-10 JP JP2007125221A patent/JP5251000B2/ja active Active
- 2007-10-17 EP EP07118644.9A patent/EP1927987B1/en active Active
- 2007-10-29 KR KR1020070108764A patent/KR100933254B1/ko active IP Right Grant
- 2007-11-01 CN CN2007101666503A patent/CN101174838B/zh active Active
- 2007-11-01 US US11/982,126 patent/US8230309B2/en active Active
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8607115B2 (en) | 2008-08-15 | 2013-12-10 | Lsi Corporation | Error-correction decoder employing check-node message averaging |
US8683299B2 (en) | 2008-08-15 | 2014-03-25 | Lsi Corporation | Adjusting input samples in turbo equalization schemes to break trapping sets |
US8700976B2 (en) | 2008-08-15 | 2014-04-15 | Lsi Corporation | Adjusting soft-output values in turbo equalization schemes to break trapping sets |
CN102077173B (zh) * | 2009-04-21 | 2015-06-24 | 艾格瑞系统有限责任公司 | 利用写入验证减轻代码的误码平层 |
CN102077173A (zh) * | 2009-04-21 | 2011-05-25 | 艾格瑞系统有限公司 | 利用写入验证减轻代码的误码平层 |
CN102163463A (zh) * | 2011-04-26 | 2011-08-24 | 西安交通大学 | 一种降低bch解码延迟的双钱氏搜索方法 |
CN102163463B (zh) * | 2011-04-26 | 2013-01-02 | 西安交通大学 | 一种降低bch解码延迟的双钱氏搜索方法 |
US8768990B2 (en) | 2011-11-11 | 2014-07-01 | Lsi Corporation | Reconfigurable cyclic shifter arrangement |
US9124297B2 (en) | 2012-11-01 | 2015-09-01 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Trapping-set database for a low-density parity-check decoder |
CN104601178A (zh) * | 2013-10-30 | 2015-05-06 | 群联电子股份有限公司 | 解码方法、解码电路、存储器存储装置与控制电路单元 |
CN104601178B (zh) * | 2013-10-30 | 2018-02-02 | 群联电子股份有限公司 | 解码方法、解码电路、存储器存储装置与控制电路单元 |
CN105915234A (zh) * | 2015-02-25 | 2016-08-31 | 爱思开海力士有限公司 | 避免对涡轮乘积码误校正的方案 |
CN105915234B (zh) * | 2015-02-25 | 2020-10-30 | 爱思开海力士有限公司 | 避免对涡轮乘积码误校正的方案 |
Also Published As
Publication number | Publication date |
---|---|
US8230309B2 (en) | 2012-07-24 |
CN101174838B (zh) | 2011-04-06 |
KR20080039798A (ko) | 2008-05-07 |
EP1927987A3 (en) | 2008-06-25 |
US20080104489A1 (en) | 2008-05-01 |
KR100933254B1 (ko) | 2009-12-22 |
JP2008136166A (ja) | 2008-06-12 |
JP5251000B2 (ja) | 2013-07-31 |
EP1927987A2 (en) | 2008-06-04 |
EP1927987B1 (en) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101174838B (zh) | 最大似然检测器、错误校正电路和介质存储装置 | |
CN101047388B (zh) | 纠错装置 | |
JP4833173B2 (ja) | 復号化器、符号化・復号化装置及び記録再生装置 | |
CN101499806B (zh) | 编码装置、解码装置、编/解码装置以及记录/再现装置 | |
US7231578B2 (en) | Techniques for detecting and correcting errors using multiple interleave erasure pointers | |
US7653862B2 (en) | Error detection and correction for encoded data | |
KR100766354B1 (ko) | 에러 정정 장치, 부호기, 복호기, 방법 및 정보 기억 장치 | |
CN101174839A (zh) | 编码装置、解码装置、编码/解码装置及记录/再现装置 | |
US7103829B2 (en) | Coding for informed decoders | |
US7421642B2 (en) | Method and apparatus for error detection | |
CN101218644A (zh) | 软解码方法和设备、纠错方法和设备以及软输出方法和设备 | |
US7127660B2 (en) | Method, apparatus and program storage device for correcting a burst of errors together with a random error using shortened cyclic codes | |
US8166376B2 (en) | Techniques for correcting errors and erasures using a single-shot generalized minimum distance key equation solver | |
US20100241922A1 (en) | Error correction circuit and data storage device | |
CN100399462C (zh) | 具有错误处理的光盘数据读取方法 | |
US6856660B1 (en) | Signal processing method and apparatus and disk device using the method and apparatus | |
Lee et al. | A new error correction technique for BD systems | |
JP2002118471A (ja) | 記録再生装置及び誤り訂正符号化方法並びに情報記録方法 | |
JP2000236265A (ja) | 疑似積符号復号装置及び方法 | |
JP2001189059A (ja) | 記録再生装置 | |
JP2001266507A (ja) | イレージャー位置検出方法、イレージャー位置検出機能を有する記録再生装置、及び記録媒体 | |
Sankaranarayanan et al. | Performance of product codes on channels with memory | |
Cai et al. | On the design of efficient constrained parity-check codes for optical recording | |
CN101740069A (zh) | 一种dvd编码存储器装置 |
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 |