JP5251000B2 - 誤り訂正回路及び媒体記憶装置 - Google Patents

誤り訂正回路及び媒体記憶装置 Download PDF

Info

Publication number
JP5251000B2
JP5251000B2 JP2007125221A JP2007125221A JP5251000B2 JP 5251000 B2 JP5251000 B2 JP 5251000B2 JP 2007125221 A JP2007125221 A JP 2007125221A JP 2007125221 A JP2007125221 A JP 2007125221A JP 5251000 B2 JP5251000 B2 JP 5251000B2
Authority
JP
Japan
Prior art keywords
error
likelihood
bit
candidate
correction circuit
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.)
Active
Application number
JP2007125221A
Other languages
English (en)
Other versions
JP2008136166A (ja
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
Priority to JP2007125221A priority Critical patent/JP5251000B2/ja
Priority to EP07118644.9A priority patent/EP1927987B1/en
Priority to KR1020070108764A priority patent/KR100933254B1/ko
Priority to US11/982,126 priority patent/US8230309B2/en
Priority to CN2007101666503A priority patent/CN101174838B/zh
Publication of JP2008136166A publication Critical patent/JP2008136166A/ja
Application granted granted Critical
Publication of JP5251000B2 publication Critical patent/JP5251000B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1803Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • 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/10009Improvement or modification of read or write signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1525Determination and particular use of error location polynomials
    • H03M13/153Determination and particular use of error location polynomials using the Berlekamp-Massey algorithm
    • 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/1525Determination and particular use of error location polynomials
    • H03M13/1535Determination and particular use of error location polynomials using the Euclid algorithm
    • 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/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • 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/1575Direct 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
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft 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
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft 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/455Soft 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording
    • 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
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

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

Description

本発明は、最尤検出器、誤り訂正回路及び媒体記憶装置に関し、特に、ECCコードを付与したデータの誤り訂正のための最尤検出器、誤り訂正回路及び媒体記憶装置に関する。
磁気ディスク装置等の記録再生装置や通信系の分野においては、誤り訂正符号(ECC)として、リードソロモン(Reed Solomon)符号が、用いられている。 低品質の伝送信号や記録再生信号からデータを再生する際に、データ再生の信頼性を向上するため、最尤シーケンス検出(Maximunm−Likelihood Sequence Detection)を用いたデータ復号技術と、ECC(Error Correction Code)を用いた誤り訂正技術が広く普及している。
最尤検出器から出力されたビット列は、媒体ノイズや回路ノイズの影響のため、数ビットに誤った値が代入される。ECCは、誤りを持つビット列の誤り訂正を行い、誤り訂正されたビット列を出力する。例えば、磁気ディスク装置では、ECCの訂正に失敗した場合、リトライを行う必要があるが、リトライは極力避けたい。そこで、最尤検出器からいくつかの候補列を受け取って、候補列をECCで復号できるかを順番に試すことが提案されている(例えば、特許文献1参照)。
図17は、従来の最尤シーケンスを用いた誤り訂正回路のブロック図、図18乃至図20は、その動作説明図である。
図17に示すように、最尤検出器20は、入力信号から最尤シーケンスに従い、複数の候補データ列を作成する。データ保存部31は、作成された複数の候補データ列を格納する。ECC復号器22は、シンドローム計算部41と、誤り位置多項式計算部42と、チェーンサーチ実行部43と、誤り値計算部44を備える。
シンドローム計算部41は、ECC復号器22に入力されたデータ列のシンドローム計算式(図18以下で説明する)を計算する。誤り位置多項式計算部42は、シンドローム多項式から誤り位置多項式(図18以下で説明する)を計算する。誤り位置多項式の計算アルゴリズムとしては、例えば、ユークリッド法又はバーレカンプマッシ(Berlekamp Massey)法が用いられる(例えば、非特許文献1,2参照)。
チェーンサーチ実行部43は、前述の誤り位置多項式を用いて、チェーンサーチを実行し、データ列上の誤りのある位置(誤り位置)を決定する。誤り値計算部44は、誤り位置の誤った値を正しい値に訂正する。その後、復号判定部32は、誤り値計算部44から出力される訂正後のデータ列の正当性をチエックし、正当でなければ、訂正失敗と判定して、データ保存部31に次の復号候補データ列を出力するように指示する。
図18乃至図20を用いて、リードソロモン符号に基づく誤り訂正を具体的に説明する。図18に示すように、誤り訂正数tのリードソロモン符号は、次数2tの生成多項式から生成される。符号化に用いるガロア体をGF(2の3乗)とし、誤り訂正数tを「1」とすると、リードソロモン符号の生成多項式は、原始元αを用いて、例えば、次式(1)のように表現される。
Figure 0005251000
この場合、α=1から開始し、3ビットのビット列が1シンボルとして扱われ、ECC符号化では、2t(=2)のシンボルのパリテイ列が情報列に付加される。例えば、図18の情報列を符号化する場合、”001“,”110“,”101“は、ガロア体表示における1、αの五乗、αの四乗にそれぞれ対応付けられる。j番目のシンボルは、送信語列の多項式におけるxの項の係数を表す。従って、ビット列(情報列)は、多項式x+α+αを表す。
ECC符号化は、図19に示すように、ビット列が表す多項式を、式(1)の生成多項式で割り算し、得られた剰余多項式αx+αを表すパリテイ列を、ビット列に付加する。この剰余多項式は、xの1次及び0次の項の係数がともにαであるから、図18に示すようなパリテイ列が付加され、5シンボルからなる送信語列が生成される。
この送信語列が、例えば、磁気ディスクに記録され、読み出された場合に、図20に示すように、誤りを含む受信列が、ECC復号器22に入力される可能性がある。この受信語列は、次式(2)で示される。
Figure 0005251000
この図20の受信語列に対し、シンドローム計算部41は、次式(3)によりシンドローム多項式を計算する。
Figure 0005251000
式(3)において、シンドロームs(i=1,2、....,2t)は、式(1)の生成多項式G(x)のi番目の根を、受信語多項式Y(x)に代入して得られる値であり、シンドローム多項式S(x)は、シンドロームsを、xi−1の項の係数とする多項式である。受信語列に誤りが含まれていなければ、すべてのsが「0」となる。
次に、誤り位置多項式計算部42は、シンドローム多項式S(x)から、次式(4)の誤り位置多項式C(x)を計算する。
Figure 0005251000
次に、チェーンサーチ実行部43は、式(4)の誤り位置多項式C(x)を用いて、C(α)の値(j=0,1,2,3,4)を計算し、C(α)=0となる位置jを、誤り位置として、出力する。図20の例では、C(α)=1+α−4・α=0となるので、4番目のシンボルに誤りがあることが検出できる。
次に、誤り値計算部44は、式(3)のシンドローム多項式S(x)と式(4)の誤り位置多項式C(x)を用いて、所定のアルゴリズムで4番目のシンボルの正しい値を計算し、そのビット列を訂正する。ここでは、正しい値「1」が求められ、図20に示す受信語列における4番目のシンボルが、αから「1」に訂正される。
例えば、磁気ディスク装置では、誤り訂正数t=20となるリードソロモン符号が用いられ、ECC符号化では、10ビットを1シンボルとし、40シンボルのパリテイ列が、1セクタのビット列(4096ビット=410シンボル)の前に挿入される。この場合、シンドローム多項式S(x)と誤り位置多項式C(x)は、例えば、下記式(5)、(6)で表される。
Figure 0005251000
Figure 0005251000
特開平11−330985号公報 E. R. Berlekamp, "Algebraic Coding Theory", McGraw-Hill Book Co., pp.176-199 and pp. 218-240, New York, 1968 J. L. Massay, "Shift-register Synthesis and BCH Decoding", IEEE Transactions on Information Theory, vol. IT-15, pp. 122-127, 1969
実際の受信語列は、長いため、受信語多項式Y(x)の次数が大きくなる。従来技術では、複数の候補のデータ列を受け取って、候補のデータ列をECCで復号できるかを順番に試す必要があるため、最尤検出器の候補のデータ列の作成が適切でないと、すべての候補のデータ列でのECC復号が失敗する可能性があり、訂正性能が上がらないという問題がある。
また、最尤検出器が、すべての候補を用意すると、その候補の順番をソートして、尤度の低い順に、ECC復号器に渡す必要があり、候補のデータ列の作成のための計算量が増加し、回路規模が増大する問題がある。
従って、本発明の目的は、ECC復号器に適切な候補のデータ列を与え、訂正性能を向上するための誤り訂正回路及び媒体記憶装置を提供することにある。
又、本発明の他の目的は、少ない計算量でも、ECC復号器に適切な候補のデータ列を与え、訂正性能を向上するための誤り訂正回路及び媒体記憶装置を提供することにある。
更に、本発明の他の目的は、回路規模が小さくても、ECC復号器に適切な候補のデータ列を与え、訂正性能を向上するための誤り訂正回路及び媒体記憶装置を提供することにある。
この目的の達成のため、本発明の誤り訂正回路は、入力信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、前記各ビットの尤度を受け、所定の閾値以下の尤度を有するビットをビット単位で抽出し、ビット単位で抽出したビット位置情報を、前記尤度順に、選択エラー候補として格納するエラー候補テーブルを作成するエラー候補抽出器と、前記復号対象データ列の誤りを訂正して、出力する訂正回路とを有し、前記訂正回路は、前記訂正に失敗したと判定した時に、前記エラー候補テーブルから前記尤度順に前記エラー候補の複数のビット位置情報を取り出し、前記復号対象データ列の対応する複数の位置のビットをフリップして、新たな前記復号対象データ列を作成し、前記訂正が成功したかを判定する。
又、本発明の媒体記憶装置は、記憶媒体から信号を読み出すヘッドと、前記ヘッドの読出し信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、前記各ビットの尤度を受け、所定の閾値以下の尤度を有するビットをビット単位で抽出し、ビット単位で抽出したビット位置情報を、前記尤度順に、選択エラー候補として格納するエラー候補テーブルを作成するエラー候補抽出器と、前記復号対象データ列の誤りを訂正して、出力する訂正回路とを有し、前記訂正回路は、前記訂正に失敗したと判定した時に、前記エラー候補テーブルから前記尤度順に前記エラー候補の複数のビット位置情報を取り出し、前記復号対象データ列の対応する複数の位置のビットをフリップして、新たな前記復号対象データ列を作成し、前記訂正が成功したかを判定する。
更に、本発明は、好ましくは、前記エラー候補抽出器は、前記復号対象データ列の各ビットの尤度と所定の閾値とを比較して、所定の閾値以下の尤度のビット位置を抽出する閾値判定部と、前記抽出されたビット位置を、前記尤度順に、前記誤り訂正回路の選択エラー候補を格納するエラー候補テーブルを作成する上位候補選択部とを有する。
更に、本発明は、好ましくは、前記閾値判定部は、前記抽出した所定の閾値以下の尤度のビット位置を、複数の尤度レベルに応じて、前記尤度と前記ビット位置とをスタックテーブルに格納する。
更に、本発明は、好ましくは、前記上位候補選択部は、前記尤度レベル毎のスタックテーブルを参照して、前記尤度順に、前記誤り訂正回路の選択エラー候補のビット位置を格納する。
更に、本発明は、好ましくは、前記上位候補選択部は、前記テーブルに、前記尤度の絶対値が同一のビット位置を1つの選択エラー候補として、前記エラー候補テーブルに格納する。
更に、本発明は、好ましくは、前記上位候補選択部は、前記尤度レベル毎のスタックテーブルを参照し、前記尤度レベルが比較的低いスタックテーブルのビット位置を前記エラー候補テーブルに格納し、且つ前記尤度レベルが比較的高いスタックテーブルをソートして、前記エラー候補テーブルに、ソートされたビット位置を格納する。
更に、本発明は、好ましくは、前記エラー候補抽出器は、前記閾値以下の尤度のビットが、所定ビット数連続していることを検出して、前記連続しているビット位置の前記テーブルへの格納を禁止する。
更に、本発明は、好ましくは、前記エラー候補抽出器は、前記抽出されたビット位置を、前記エラー候補の開始位置とエラー長の形式で、前記テーブルを作成する。
更に、本発明は、好ましくは、前記訂正回路は、前記復号対象データ列から1組のシンドロームを計算するシンドローム計算部と、前記1組のシンドロームから、誤り位置多項式の係数を計算し、且つ前記誤り位置多項式の係数を用いて、訂正が成功するか否かを判定し、訂正失敗と判定した時に、前記エラー候補テーブルに前記エラー候補を要求する誤り位置多項式計算部と、前記誤り位置多項式計算部の訂正成功の判定に応じて、前記シンドロームと前記誤り位置多項式の係数を用いて、前記復号対象データ列の誤りを訂正する訂正回路とを有する。
更に、本発明は、好ましくは、前記訂正回路は、前記計算したシンドロームを保持するシンドローム保持部と、前記復号対象データ列と、前記新たな復号対象データ列との差分からシンドロームの差分を計算し、前記差分で、前記保持されたシンドロームを更新するシンドローム更新部とを有する。
復号対象データ列のエラー候補として、各ビットの尤度から閾値判定により誤りの可能性の高いビット位置をビット単位で抽出し、格納するため、訂正回路に、バーストエラー等に対する有効な訂正ができる複数のエラー候補を提供できる。又、エラー候補として、復号対象データ列の全ビットから誤りの可能性の高い複数のビット位置のみを抽出し、尤度順に格納するため、訂正回路が、尤度の低い順にエラー候補を取り出すことができ尤度順にソートする回数を削減でき、計算量削減に有効である。しかも、ビット単位にフリップできるため、イレージャフラグを使用することなく、誤り訂正が可能となり、制限のある誤り訂正数を使用することがなく、誤り訂正能力を向上できる。
以下、本発明の実施の形態を、記録再生システム、エラー候補抽出器、ECC復号器、他のエラー候補抽出器、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
(記録再生システム)
図1は、本発明の一実施の形態の磁気ディスク装置の記録再生システムのブロック図である。図1に示すように、磁気ディスク装置の記録再生系は、大きく分けて、ハードディスクコントローラ(HDC)203と、リードチャネル(RDC)202と、プリアンプ(又はヘッドIC)201からなる。
先ず、記録時には、記録データは、HDC203内のCRC符号器237で、CRC符号(Cyclic Redundancy Code)が付加される。その後に、記録符号器236が、MTR符号(Maximum Transition Run Code)やRLL(Run Length Limited)符号などの拘束条件が満たされるデータ列に変換する。そして、ECC符号器235は、前述の式(1)により、パリティ列を付加する。
ECC符号化されたデータ列は、RDC202に入力する。RDC202内の記録補償器229は、磁化反転が隣接する箇所で、反転間隔を多少広げる補償処理を行う。そして、RDC202内のドライバ228は、記録補償されたデータ列をプリアンプ201に出力する。プリアンプ201では、ドライバ212が、図示しない記録ヘッド(ライトヘッド)のライト電流を発生し、記録ヘッドを駆動して、図示しない磁気ディスクに記録を行う。
一方、再生の際は、プリアンプ201のアンプ211が、再生ヘッド(リードヘッド)からのアナログ電圧を増幅した後、RDC202に出力する。RDC202のサーマルアスペリティ検出処理部221は、サーマルアスピリテイ処理した後、可変利得アンプ(VGA)222が、振幅調整する。
その後、ローパスフィルタ(LPF)223が、振幅調整されたリード信号の高周波数域をカットし、A/Dコンバータ(ADC)224が、そのアナログ出力をデジタル信号へ変換する。その後、FIR(Finite Impulse Response)フィルタ225が、波形等化を行った後、最尤検出器226に入力する。
最尤検出器226は、SOVA(Soft Output Viterbi),NPSOVA(Noise Predictive Soft Output Viterbi),BCJR(Bahl,Cocke,Jelinek and Raviv Algorithm)などの最尤検出器で構成され、最尤復号を行う。
最尤検出器226から復号列は、HDC203に送られる。これとともに、エラー候補抽出器227は、最尤復号で誤っている可能性の高いビット列候補を抽出し、HDC203のエラー候補保存器231に送る。HDC203のエラー候補保存器231は、誤っている可能性の高いビット列候補を保存する。
一方、最尤検出器226からの復号列は、ECC復号器232により誤り訂正が行われる。復号が成功した場合は、記録復号器233が、記録符号器236の符号化と逆の復号化を行い、CRC復号器234が、CRC復号し、再生データとして出力する。
又、ECC復号器232で復号が失敗した場合は、ECC復号器232が、エラー候補保存器231内の誤っている可能性の高いビット列を数個選び出し、そのビット列の各値を‘0’から‘1’、又は‘1’から‘0’へフリップした復号列を作成する。そして、再度、ECC復号器232が誤り訂正を行う。
復号が成功した場合は、前述のように、記録復号器233、CRC復号器234を経て、再生データとして出力される。一方、復号が失敗した場合は、ECC復号器232が、エラー候補保存器232から誤っている可能性の高い別のビット列を数個選び出し、そのビット列の各値をフリップした復号列を作成し、誤り訂正を行う。
ECC復号器232での誤り訂正を何回か繰り返す場合があるため、図5以下で説明する高速判定ECC回路を使用する。これにより、計算量が削減できる。
ここで、本発明では、エラー候補抽出器227は、最尤検出器226から最尤検出された復号列の各ビットの位置と、その尤度を受け、尤度が低い(誤りの可能性の高い)ビット位置をエラー候補として、抽出し、エラー候補保存器231に格納する。
即ち、エラー候補として、誤りの可能性の高いビット位置を抽出するため、ECC復号器232に、有効な訂正ができるエラー候補を提供できる。又、エラー候補として、誤りの可能性の高いビット位置のみを抽出するため、ECC復号器232が、尤度の低い順にエラー候補を取り出すことができるように、尤度順にソートする回数を削減でき、計算量削減に有効である。
(エラー候補抽出器)
次に、図1のエラー候補抽出器227の構成を説明する。図2は、図1のエラー候補抽出器227のブロック図、図3は、図2の閾値判定部の動作説明図、図4は、図2の閾値判定部と上位候補選出部248の動作説明図である。
図2に示すように、エラー候補抽出器227は、閾値判定部240と、レベル別スタックテーブル242と、上位候補選出部248を備える。前述のSOVA,NSOVA,BCJR等の検出器226は、図3に示すように、データ列(セクタ)の各ビットの尤度を計算する。そして、尤度値が高いほど、そのビットは正しい確率が高いことを示し、低いとそのビットは誤っている確率が高いことを示す。
誤っている確率の高いビットを、テーブル242に保存したいので、尤度の低いビットのみを扱えばよい。このため、閾値判定部240は、閾値を設け、閾値以下の尤度値をもつビット(の位置)のみを、テーブル242に保存する。
図3では、閾値を1.5に設定し、尤度値が、−1.5〜+1.5の範囲にあるビット位置を抽出し、テーブル242に保存する。図3では、1セクタの203,204,205番目のビットの尤度値が、−1.5〜+1.5の範囲にあるので、ビット位置(203,204,205)がテーブル242に保存される。閾値は、想定されるSNR(Signal to Noise Ratio)の範囲と、テーブル242のメモリ量に応じて決定される。
ビット位置と尤度値を保存するスタックテーブル242は、図4に示すように、いくつかの尤度値の範囲(レベル)に分割されている。図4では、スタックテーブル242は、尤度値の絶対値が、0〜0.5、0.5〜1.0、1.0〜1.5の3つの範囲242−1,242−2,242−3に分割されている。
例えば、図3の203,204,205番目のビットの尤度の絶対値は、「0.6」であるので、図4のように、0.5〜1.0の範囲のテーブル242−2に位置情報が保存され、且つ尤度値の絶対値が保存される。
また、図4のように、尤度の絶対値が同じになる連続ビット列は同一の行に保存され、このビット列が1つの誤り候補となる。例えば、図3で示した203,204,205番目のビットが、1つの誤り候補となる。図4に示したように、尤度の絶対値が同じになるためには、等化ターゲット(線形等化のパラメータ)として、例えば、PR(Partial response)−4のように、対称となるようなものを用いると良い。
更に、記録符号として、連続のエラーを抑制するMTR符号を使用する場合には、テーブル242の列数を制限し、テーブルメモリを節約することができる。例えば、16/17MTR符号は、16ビットのデータを17ビットのデータに符号化するものであり、4ビット以上の連続のエラーを発生しないようにできる。
このため、図4に示すように、尤度の絶対値の低い尤度「0.3」の値をもつ4連続のビット列があった場合でも、4ビット連続のエラーは、符号化原理から発生しないため、このビット列を誤り候補とはせずに無視する。即ち、閾値判定部240は、尤度が閾値以下のビットを抽出し、且つその抽出されたビット位置により、閾値以下のビットが4連続ビットかを判定し、4連続ビットである場合には、無視し、スタックテーブル242に格納しない。
この符号化原理を利用すれば、誤訂正を防ぐ効果があり、訂正能力の向上につながる。また、誤り候補となるのは、3連続以下のビットとなるため、スタックテーブル242の位置情報テーブルの列数を3以下に減らすことができ、メモリを節約する効果がある。
次に、上位候補選出部248は、スタックテーブル242に保存された誤り候補のうち、尤度のもっとも低い候補から数種類を選び出し、これを上位エラー候補として、エラー候補保存器231へ出力する。エラー候補保存器231は、上位エラー候補テーブルに、上位候補選出部248から出力された上位エラー候補を保存する。
図4の例では、スタックテーブル242から上位8個のエラー候補を選び出し、上位エラー候補テーブル231に保存している。スタックテーブル242から上位8個のエラー候補を選びだすためには、各レベルのテーブルに、何個の候補が保存されているか確かめる必要がある。
図4では、尤度値の絶対値が、0〜0.5の範囲では、5個の候補がある。また、尤度値の絶対値が、0.5〜1.0の範囲では、1個の候補があり、尤度値の絶対値が、1.0〜1.5の範囲では、4個の候補がある。
8個のエラー候補を選びだすためには、0〜0.5の範囲のすべての候補、0.5〜1.0の範囲のすべての候補、1〜1.5の範囲の4個の候補のうち尤度の低い2個の候補を選べばよい。
1〜1.5の範囲の4個の候補のうち尤度の低い2個の候補を選ぶには、ソートを行う必要があるが、ソートは、すべての尤度レベルの範囲で行う必要がなく、1〜1.5の範囲の尤度レベルに対してのみ行えばよい。これにより、計算量の削減の効果を発揮する。又、ソート回路を簡単化できる。
又、エラー候補保存器231のエラー候補データには、尤度値は必要なく、尤度値の低い順に、そのビット位置を格納する。これによっても、メモリ容量を節約できる。このように、ソートの回数を減らすなどの計算量削減を行うために、適切なレベルにテーブルを分割することは、有効である。
このようなエラー候補保存器231の上位エラー候補を利用して、以下で説明するECC復号器232が、効率的にエラー訂正を行う。
(ECC復号器)
図5は、図1のECC復号器のブロック図、図6及び図7は、図5の誤り位置多項式計算部の処理フロー図、図8は、図5のチェーンサーチ実行部の処理フロー図、図9は、復号候補の説明図、図10は、図5のフリップ動作の説明図、図11は、図5のシンドローム更新部の処理フロー図である。
図5に示すように、ECC復号器232は、シンドローム計算部260と、シンドローム保存部260と、誤り位置多項式作成部262と、チェーンサーチ実行部268と、誤り値計算部270とを備える。
シンドローム値計算部260が、検出器226からの復号列のシンドロームを計算し、シンドローム値保存部262に計算したシンドローム値を保存する。誤り位置多項式作成部262は、作成されたシンドローム多項式から誤り位置多項式を計算し、訂正能力を超えているかを判定する。
シンドローム値更新部264は、誤り位置多項式作成部262又はチェーンサーチ実行部268で、復号が失敗と判断された場合に、エラー候補保存器231からエラー候補を数個選び出し、対応する場所をフリップし、フリップした場所とシンドローム値保存器262に保存されたシンドローム値からフリップされたビット列のシンドローム値を更新する。
チェーンサーチ実行部268は、誤り位置多項式作成部262で、復号が失敗しないと判断された場合に、チェーンサーチにより誤り位置を求める。誤り値計算部270は、チェーンサーチで復号が失敗と判断されない場合に、即ち、チェーンサーチで誤り位置が特定された場合は、誤り値を計算する。
このように、前のシンドローム値を保存しておき、復号失敗時に、エラー候補を引き出し、復号列のその位置のビット列をフリップし、フリップしたビット列のシンドローム値を計算して、前のシンドローム値を更新する。このため、フリップされたビット列は、シンドローム値を1から計算する必要がないので、計算量を削減できる。
また、後述するように、誤り位置多項式を計算した段階で、復号が失敗したかどうかを判定できるため、復号が失敗した場合は、次のエラー候補のフリップに移ることができ、計算量が削減される。
以下、図6乃至図11を用いて、ECC復号器232を詳細に説明する。先ず、ECC符号化を説明する。一般に、誤り訂正数tのリードソロモン符号の生成多項式は、下記式(7)で表される。但し、式(1)と異なり、αから開始して、表している。
Figure 0005251000
従って、誤り訂正数t=20の場合は、次式(8)のような40次の生成多項式が用いられる。
Figure 0005251000
これに対し、本実施の形態では、誤り位置多項式計算部266で復号の成否を早期に判定するため、生成多項式の次数を増やして、次式(9)のような41次の生成多項式を用いる。
Figure 0005251000
即ち、ECC符号化に、41シンボルのパリテイ列が生成され、1セクタのビット列(410シンボル)の前に挿入される。
一方、ECC復号器232のシンドローム計算部260は、式(3)に従い、データ列のシンドローム多項式(多項式の係数s1,s2,..)を計算し、計算したシンドローム多項式を誤り位置多項式計算部266に出力する。この時、2t+1個のシンドローム係数si(i=1,2,....,2t,2t+1)の値を計算する。これとともに、2番目以降の候補の復号処理で利用するため、シンドローム計算部260は、計算したシンドローム多項式をシンドローム保存部262に格納する。
誤り位置多項式計算部266は、バーレカンプマッシ法により、シンドローム多項式を計算する。バーレカンプマッシ法では、周知のように、多項式の初期値から始めて、生成多項式の次数と同じ回数だけ多項式の更新を繰り返すことで、誤り位置多項式を計算する。このとき、i番目の多項式Ci(x)を求めるには、i番目のシンドロームsiの値が必要となる。
この誤り位置多項式計算部504は、2t番目の多項式C2t(x)と、2t+1番目の多項式C2t+1(x)を、生成する。そして、誤り位置多項式計算部504は、2t番目の多項式C2t(x)と、2t+1番目の多項式C2t+1(x)の係数を比較し、2つの多項式が一致するか否かを判定する。
バーレカンプマッシ法では、データ列に含まれる誤りの数がk個(k≦t)の場合、2k+1回目以降の繰り返しでは、多項式が更新されず、C2k(x)以降の多項式は、全て同じとなるという性質がある。従って、C2t(x)とC2t+1(x)が一致すれば、誤りの数は、高々t個であり、誤り訂正能力の範囲内であることが判る。逆に、C2t(x)とC2t+1(x)が一致しなければ、誤り訂正能力を超えていることになる。
従って、C2t(x)とC2t+1(x)が一致すれば、この候補の訂正が成功すると判定し、データ列、シンドローム多項式、誤り位置多項式、及び判定結果をチェーンサーチ実行部268に出力する。又、C2t(x)とC2t+1(x)が異なる場合は、候補の訂正が失敗したと判断して、データ保存部231に次の復号候補を出力するように指示する。
このように、1シンボルのパリテイを余分にデータ列に付加することにより、バーレカンプマッシ法の多項式を1つ余分に計算することにより、復号途中でデータ列の訂正失敗を検出できる。なお、数シンボルのパリテイを余分に付加するフォーマットを用いても良い。
図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)一方、いずれかの係数が一致しない場合には、訂正失敗と判定し、データ保存部231に次の候補を要求する。
次に、チェーンサーチ実行部268は、誤り位置多項式C(x)を用いて、チェーンサーチを実行し、データ列上の全ての位置jについて、C(α)の値(j=0,1,2,3,4、...、n)を計算する。ここでn+1は符号長(シンボル)を意味する。尚、C(α)=0となる位置jが、誤り位置である。
次に、チェーンサーチ実行部268は、シンドローム多項式と、C(α)の値を用いて、訂正の成否を判定し、訂正が成功すると判定した場合は、チェーンサーチ実行部268が、受け取ったデータ列、シンドローム多項式、誤り位置多項式を、誤り値計算部270に出力する。又、訂正が失敗すると判断した場合には、データ保存部231に次の候補を要求する。
図8は、チェーンサーチ実行部268の判定処理フロー図である。
(S1001)先ず、シンドローム多項式si(i=1,2,...,2t、2t+1)の値をチエックする。
(S1002)いずれかのシンドロームsiが、「0」でなければ、次に、C(α)の値(j=0,1,2,3,4、...、n)をチエックする。
(S1003)ステップS1001で、全てのシンドロームsiが、「0」であれば、訂正不要と判定して、判定結果を誤り値計算部270に出力する。
(S1004)ステップS1002で、C(α)の値が、「0」となるものがあれば、その位置jを、誤り位置として、誤り値計算部270に出力する。
(S1005)全てのC(α)の値(j=0,1,2,3,4、...、n)が、「0」でないと判定すると、訂正失敗と判定し、データ保存部231に次の候補を要求する。
次に、誤り値計算部270は、シンドローム多項式と誤り位置多項式を用いて、所定のアルゴリズムで、データ列の誤り位置の誤った値を、正しい値に訂正する。そして、訂正後のデータ列からパリテイ列を削除して、後段の記録復号器(RLL復号器)233(図1参照)に出力する。
即ち、1番目の候補の訂正が成功する場合には、誤り訂正されたデータ列が、ECC復号器232から出力される。訂正が失敗して、2番目以降の候補を復号する必要が生じた場合は、シンドローム値保存部262に格納された情報を用いて、復号処理を行う。
この候補データの選択及びシンドローム更新について、図9乃至図11で説明する。例えば、図9のように、n+1シンボルからなる1番目の候補と、現在の復号対象の候補を比較すると、1番目の候補におけるj=1の位置のシンボルは、α12であり、復号対象の候補における同じ位置のシンボルは、αであるから、値が異なっていることが判る。
この場合に、1番目の候補の受信語多項式Y1(x)と、復号対象の候補の受信語多項式Y(x)は、各々、下記式(10)、(11)で表される。
Figure 0005251000
Figure 0005251000
又、この受信語に対し、1番目の候補のシンドローム多項式S1(x)と、復号対象の候補のシンドローム多項式S(x)は、下記式(12)、(13)で表される。
Figure 0005251000
Figure 0005251000
式(12)、(13)において、s1iは、1番目の候補のi番目のシンドロームを表し、siは、復号対象の候補のi番目のシンドロームを表す。この時、siは、s1iを用いて、次式(14)のように表現できる。
Figure 0005251000
(14)式は、シンボル値の変化量(α−α12)と、αとの積を、シンドローム値保存部262に格納されたs1iの値に加算することにより、更新後のシンドロームsiの値が得られることを示す。
又、複数のシンボルの値が異なっている場合も、式(14)と同様にして、更新後のシンドロームsiを計算できる。この場合に、シンドロームの差分(Y(α)−Y1(α))は、シンボル値が異なっているすべての位置jについて、シンボル値の変化量と、(αとの積を加算した結果となる。
このように更新されたシンドロームsiを用いて、バーレカンプマッシ法により、多項式シンドロームC(x)〜C2t+1(x)を順次計算する。例えば、t=20の場合に、多項式C(x)、C40(x)、C41(x)は、次式(15)のように計算される。
Figure 0005251000
式(15)の場合には、C40(x)とC41(x)との係数が一致しないため、復号対象の候補の訂正は失敗と判定され、次の候補の復号を行う。
この次の候補として、例えば、2つの尤度の候補を取り出す例で説明する。図10のように、エラー候補保存器231に、エラー候補が、誤りの高い順に格納されている。即ち、8個のエラー候補から2つの候補を選び、フリップする。8個から2個の候補を選び出す組み合わせは、=28通りあり、エラー候補は、図10に示すように、組み合わせる。
例えば、エラー候補No.1とNo.2の場所を、フリップする場合は、データ列内のNo.1で示す102番目のビットと、No.2で示す415,416番目のビットの値を、「0」から「1」、又は「1」から「0」へフリップする。そして、フリップされたビット列を用いて、復号を行う。
図11に示すシンドローム更新部の処理フロー図を用いて、説明する。
(S701)前述のように、誤り位置多項式計算部266又はチェーンサーチ実行部268から次の候補の要求を受けると、前述の順番に従い、8個から2個の候補を選び、データ列中のその候補のビット位置のデータをフリップし、復号対象のデータ列を作成する。復号対象のデータ列と、シンドローム値保存部262の候補のデータ列を比較して、異なっているシンボルの値を取り出す。
(S702)次に、シンボルが異なっている全ての位置jについて、シンボルの変化量と、(αとの積の総和を計算し、その値を、シンドロームの差分(Y(α)−Y1(α))とする。
(S703)そして、シンドローム値保存部262に格納されたシンドロームに差分を加算して、シンドロームを更新する。
このように、エラー候補として、誤りの可能性の高いビット位置を抽出するため、ECC復号器232に、有効な訂正ができるエラー候補を提供でき、復号速度を向上できる。
又、エラー候補として、ECC復号器232が、尤度の低い順にエラー候補を取り出すことができるように準備するので、より復号速度を向上でき、しかも、このようにしても、尤度順にソートする回数を削減でき、計算量削減に有効である。
更に、図5のECC復号器232と組み合わせることにより、ECC復号器の訂正不可の判定時では、復号対象のデータ列のシンドローム作成を高速化でき、より高速で、計算量の少ない復号が可能となる。
(他のエラー候補抽出器)
図12は、図1の構成における他のエラー候補抽出器のブロック図、図13は、図12のスタックテーブルの説明図、図13は、図12の候補選出部の説明図、図14は、図12の候補選出部の出力フォーマット図、図15は、図12のエラー候補テーブルの説明図である。この例は、エラー候補テーブルのメモリ容量を削減するため、出力形式を工夫したものである。
図12に示すように、エラー候補抽出器227Aは、スタックテーブル244と、候補選出部246と、エラー候補テーブル247とを備える。前述の図1のSOVA,NSOVA,BCJR等の検出器226は、図13に示すように、データ列(セクタ)の各ビットの尤度を計算する。そして、尤度値が高いほど、そのビットは正しい確率が高いことを示し、低いとそのビットは誤っている確率が高いことを示す。
スタックテーブル244は、検出器226からの1セクタ分の各ビットの尤度の値を格納する。図13は、1セクタ分の各ビット位置の尤度値の列を示す。候補選出部246は、スタックテーブル246の各ビットの尤度の値から尤度の値が、低いビットの位置を抽出する。
図13に示したように、スタックテーブル246には、1セクタの各ビットの尤度値が、対応するビット位置に格納されている。候補選出部246は、誤っている確率の高いビットを抽出したいので、尤度の低いビットのみを扱う。
候補選出部246は、もっとも尤度の絶対値が小さいビット位置、2番目に尤度の絶対値が小さいビット位置、3番目に尤度の絶対値が小さいビット位置等を抽出する。例えば、1セクタを4096ビットとすると、8番目に尤度が低いビット位置まで抽出することが、好適である。
図14では、候補選出部246が、図13のスタックテーブル244の1セクタ分のビットの尤度値から、もっとも尤度の絶対値が小さい(尤度値0.3)のビット位置「8」と、2番目に尤度の絶対値が小さい(尤度値0.4)のビット位置「22」と、3番目に尤度の絶対値が小さい(尤度値0.6)の連続したビット位置「25」「26」と、それらの尤度の絶対値「0.3」、「0.4」、「0.6」を抽出した状態を示す。
候補選出部246は、図14に示したように、抽出したビット位置を、尤度順に並べたリストを作成する。そして、候補選出部246は、尤度の小さい順に、エラー候補1,2,3、・・・とし、作成したリストを、所定の出力形式に変換し、エラー候補テーブル247を作成する。
図15に示すように、エラー候補情報として、変換される出力形式は、誤っている確率の高い候補のビット開始位置と、エラー長とからなる。候補選出部246は、エラー候補テーブル247に、1セクタで誤っている確率の高い候補のビット開始位置とエラー長からなるテーブルを作成し、これらの結果を、HDC203のエラー候補保存器231に出力する。
出力形式は、例えば、図15に示すように、エラー候補情報として、15ビットからなり、前段の13ビットは、エラー開始位置が代入され、後段の2ビットは、エラー長が代入される。
図16により、リストの変換方法を次に示す。エラー候補1のビット位置「8」は、1セクタの8ビット目に、1ビットエラーがあることを示すので、最初の13ビットには、8の2進数表現「000000000100」が代入され、残り2ビットは、エラー長が1ビットであるから「01」が代入される。
エラー候補2のビット位置「22」は、22ビット目に、1ビットエラーがあることを示すので、最初の13ビットには、22の2進数表現「0000000010110」が代入され、残り3ビットは、エラー長が1ビットであるから、「01」が代入される。
エラー候補3のビット位置「25」「26」は、25、26ビット目に、2ビットエラーがあることを示すので、最初の13ビットにはエラー開始位置25の2進数表現「0000000011001」が代入され、残り3ビットは、エラー長が2ビットであるから、「10」が代入される。
エラー長は、2ビットで表現されるため、最長エラーは、3ビットまでの対応となる簡略型である。しかし、図4の例と同様に、記録符号として、連続のエラーを抑制するMTR符号を使用する場合には、例えば、16/17MTR符号は、16ビットのデータを17ビットのデータに符号化する場合には、4ビット以上の連続のエラーを発生しないようにできる。このため、MTRを使用する場合には、簡略型でない。
このため、図16においても、尤度の絶対値の低い値をもつ4連続のビット列があった場合でも、4ビット連続のエラーは、符号化原理から発生しないため、このビット列を誤り候補とはせずに、無視する。
このように、出力形式を、エラー候補のビット開始位置と、エラー長で構成することにより、エラー候補テーブルのメモリ量の削減が可能となり、リードチャネル202の構成を簡素化できる。例えば、前述のビット位置を13ビット表現する場合には、図4のケースでは、24×13=312ビットの容量が必要となる。一方、図4のケースと同様の場合では、本実施例では、8×15=120ビットで済み、約1/3のメモリ容量で良い。
(他の実施の形態)
前述の実施の形態では、エラー候補を、尤度レベルで、2つ選択しているが、1つでも、3つ以上であっても良い。又、ECC復号器は、図5の構成に限らず、他の構成のものも適用できる。更に、磁気ディスク装置の記録再生装置の適用の例で説明したが、光ディスク装置等の他の媒体記憶装置や、通信装置にも適用できる。
以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。
(付記1)入力された信号から復号対象データ列を作成し、誤り訂正回路に出力する最尤検出器において、前記入力信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、前記各ビットの尤度を受け、所定の閾値以下の尤度を有する任意の個数のビット位置情報を、前記尤度順に、エラー候補テーブルに格納し、前記誤り訂正回路の選択エラー候補として出力するエラー候補抽出器とを有することを特徴とする最尤検出器。
(付記2)前記エラー候補抽出器は、前記復号対象データ列の各ビットの尤度と所定の閾値とを比較して、所定の閾値以下の尤度のビット位置を抽出する閾値判定部と、前記抽出されたビット位置を、前記尤度順に、前記誤り訂正回路の選択エラー候補として格納するエラー候補テーブルを作成する上位候補選択部とを有することを特徴とする付記1の最尤検出器。
(付記3)前記閾値判定部は、前記抽出した所定の閾値以下の尤度のビット位置を、複数の尤度レベルに応じて、前記尤度と前記ビット位置とをスタックテーブルに格納することを特徴とする付記2の最尤検出器。
(付記4)前記上位候補選択部は、前記尤度レベル毎のスタックテーブルを参照して、前記尤度順に、前記誤り訂正回路の選択エラー候補のビット位置を格納することを特徴とする付記3の最尤検出器。
(付記5)前記上位候補選択部は、前記テーブルに、前記尤度の絶対値が同一のビット位置を1つの選択エラー候補として、前記エラー候補テーブルに格納することを特徴とする付記2の最尤検出器。
(付記6)前記上位候補選択部は、前記尤度レベル毎のスタックテーブルを参照し、前記尤度レベルが比較的低いスタックテーブルのビット位置を前記エラー候補テーブルに格納し、且つ前記尤度レベルが比較的高いスタックテーブルをソートして、前記エラー候補テーブルに、ソートされたビット位置を格納することを特徴とする付記4の最尤検出器。
(付記7)前記エラー候補抽出器は、前記閾値以下の尤度のビットが、所定ビット数連続していることを検出して、前記連続しているビット位置の前記テーブルへの格納を禁止することを特徴とする付記1の最尤検出器。
(付記8)前記エラー候補抽出器は、前記抽出されたビット位置を、前記エラー候補の開始位置とエラー長の形式で、前記テーブルを作成することを特徴とする付記1の最尤検出器。
(付記9)入力信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、前記各ビットの尤度を受け、所定の閾値以下の尤度を有する任意の個数のビット位置情報を、前記尤度順に、選択エラー候補として格納するエラー候補テーブルを作成するエラー候補抽出器と、前記復号対象データ列の誤りを訂正して、出力する訂正回路とを有し、前記訂正回路は、前記訂正に失敗したと判定した時に、前記エラー候補テーブルから前記エラー候補を取り出し、新たな前記復号対象データ列を作成することを特徴とする誤り訂正回路。
(付記10)前記エラー候補抽出器は、前記復号対象データ列の各ビットの尤度と所定の閾値とを比較して、所定の閾値以下の尤度のビット位置を抽出する閾値判定部と、前記抽出されたビット位置を、前記尤度順に、前記訂正回路の選択エラー候補を格納するエラー候補テーブルを作成する上位候補選択部とを有することを特徴とする付記9の誤り訂正回路。
(付記11)前記閾値判定部は、前記抽出した所定の閾値以下の尤度のビット位置を、複数の尤度レベルに応じて、前記尤度と前記ビット位置とをスタックテーブルに格納することを特徴とする付記10の誤り訂正回路。
(付記12)前記上位候補選択部は、前記尤度レベル毎のスタックテーブルを参照して、前記尤度順に、前記訂正回路の選択エラー候補のビット位置を格納することを特徴とする付記11の誤り訂正回路。
(付記13)前記上位候補選択部は、前記テーブルに、前記尤度の絶対値が同一のビット位置を1つの選択エラー候補として、前記エラー候補テーブルに格納することを特徴とする付記10の誤り訂正回路。
(付記14)前記上位候補選択部は、前記尤度レベル毎のスタックテーブルを参照し、前記尤度レベルが比較的低いスタックテーブルのビット位置を前記エラー候補テーブルに格納し、且つ前記尤度レベルが比較的高いスタックテーブルをソートして、前記エラー候補テーブルに、ソートされたビット位置を格納することを特徴とする付記12の誤り訂正回路。
(付記15)前記エラー候補抽出器は、前記閾値以下の尤度のビットが、所定ビット数連続していることを検出して、前記連続しているビット位置の前記テーブルへの格納を禁止することを特徴とする付記9の誤り訂正回路。
(付記16)前記訂正回路は、前記復号対象データ列から1組のシンドロームを計算するシンドローム計算部と、前記1組のシンドロームから、誤り位置多項式の係数を計算し、且つ前記誤り位置多項式の係数を用いて、訂正が成功するか否かを判定し、訂正失敗と判定した時に、前記エラー候補テーブルに前記エラー候補を要求する誤り位置多項式計算部と、前記誤り位置多項式計算部の訂正成功の判定に応じて、前記シンドロームと前記誤り位置多項式の係数を用いて、前記復号対象データ列の誤りを訂正する訂正回路とを有することを特徴とする付記9の誤り訂正回路。
(付記17)前記訂正回路は、前記計算したシンドロームを保持するシンドローム保持部と、前記復号対象データ列と、前記新たな復号対象データ列との差分からシンドロームの差分を計算し、前記差分で、前記保持されたシンドロームを更新するシンドローム更新部とを有することを特徴とする付記16の誤り訂正回路。
(付記18)前記エラー候補抽出器は、前記抽出されたビット位置を、前記エラー候補の開始位置とエラー長の形式で、前記テーブルを作成することを特徴とする付記9の誤り訂正回路。
(付記19)記憶媒体から信号を読み出すヘッドと、前記ヘッドの読出し信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、前記各ビットの尤度を受け、所定の閾値以下の尤度を有する任意の個数のビット位置情報を、前記尤度順に、選択エラー候補として格納するエラー候補テーブルを作成するエラー候補抽出器と、前記復号対象データ列の誤りを訂正して、出力する訂正回路とを有し、前記訂正回路は、前記訂正に失敗したと判定した時に、前記エラー候補テーブルから前記エラー候補を取り出し、新たな前記復号対象データ列を作成することを特徴とする媒体記憶装置。
(付記20)前記エラー候補抽出器は、前記復号対象データ列の各ビットの尤度と所定の閾値とを比較して、所定の閾値以下の尤度のビット位置を抽出する閾値判定部と、前記抽出されたビット位置を、前記尤度順に、前記訂正回路の選択エラー候補を格納するエラー候補テーブルを作成する上位候補選択部とを有することを特徴とする付記19の媒体記憶装置。
(付記21)前記訂正回路は、前記復号対象データ列から1組のシンドロームを計算するシンドローム計算部と、前記1組のシンドロームから、誤り位置多項式の係数を計算し、且つ前記誤り位置多項式の係数を用いて、訂正が成功するか否かを判定し、訂正失敗と判定した時に、前記エラー候補テーブルに前記エラー候補を要求する誤り位置多項式計算部と、前記誤り位置多項式計算部の訂正成功の判定に応じて、前記シンドロームと前記誤り位置多項式の係数を用いて、前記復号対象データ列の誤りを訂正する訂正回路とを有することを特徴とする付記19の媒体記憶装置。
(付記22)前記訂正回路は、前記計算したシンドロームを保持するシンドローム保持部と、前記復号対象データ列と、前記新たな復号対象データ列との差分からシンドロームの差分を計算し、前記差分で、前記保持されたシンドロームを更新するシンドローム更新部とを有することを特徴とする付記19の媒体記憶装置。
(付記23)前記エラー候補抽出器は、前記抽出されたビット位置を、前記エラー候補の開始位置とエラー長の形式で、前記テーブルを作成することを特徴とする付記19の媒体記憶装置。
復号対象データ列のエラー候補として、各ビットの尤度から閾値判定により誤りの可能性の高いビット位置をビット単位で抽出し、格納するため、訂正回路に、バーストエラー等に対する有効な訂正ができる複数のエラー候補を提供できる。又、エラー候補として、復号対象データ列の全ビットから誤りの可能性の高い複数のビット位置のみを抽出し、尤度順に格納するため、訂正回路が、尤度の低い順にエラー候補を取り出すことができ尤度順にソートする回数を削減でき、計算量削減に有効である。しかも、ビット単位にフリップできるため、イレージャフラグを使用することなく、誤り訂正が可能となり、制限のある誤り訂正数を使用することがなく、誤り訂正能力を向上できる。
本発明の一実施形態を示す媒体記憶装置の記録再生系の構成図である。 図1のエラー候補抽出器のブロック図である。 図2の閾値判定部の動作説明図である。 図1の上位候補選出部の動作説明図である。 図1のECC復号器のブロック図である。 図5の誤り位置多項式計算部の処理フロー図である。 図6の誤り位置多項式の計算アルゴリズムの説明図である。 図5のチェーンサーチ実行部の処理フロー図である。 図5のECC復号器の動作説明図である。 図5のシンドローム更新部の動作説明図である。 図5のシンドローム更新部の処理フロー図である。 図1のエラー候補抽出器の他の実施の形態のブロック図である。 図12のスタックテーブルの動作説明図である。 図12の上位候補選出部の動作説明図である。 図12の上位候補選出部の出力形式の説明図である。 図12のエラー候補テーブルの説明図である。 従来の誤り訂正回路のブロック図である。 従来の誤り訂正のための符号化動作の説明図である。 図18のパリテイ列生成動作の説明図である。 従来の誤り訂正動作の説明図である。
符号の説明
201 プリアンプ
202 リードチャネル
203 ハードディスクコントローラ
226 検出器
227 エラー候補抽出器
231 エラー候補保存器
232 ECC復号器
240 閾値判定部
242 レベル別スタックテーブル
248 上位候補選出部
244 スタックテーブル
246 候補選出部
247 エラー候補テーブル

Claims (10)

  1. 入力信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、
    前記各ビットの尤度を受け、所定の閾値以下の尤度を有するビットをビット単位で抽出し、ビット単位で抽出したビット位置情報を、前記尤度順に、選択エラー候補として格納するエラー候補テーブルを作成するエラー候補抽出器と、
    前記復号対象データ列の誤りを訂正して、出力する訂正回路とを有し、
    前記訂正回路は、前記訂正に失敗したと判定した時に、前記エラー候補テーブルから前記尤度順に前記エラー候補の複数のビット位置情報を取り出し、前記復号対象データ列の対応する複数の位置のビットをフリップして、新たな前記復号対象データ列を作成し、前記訂正が成功したかを判定する
    ことを特徴とする誤り訂正回路。
  2. 前記エラー候補抽出器は、
    前記復号対象データ列の各ビットの尤度と所定の閾値とを比較して、所定の閾値以下の尤度のビット位置を抽出する閾値判定部と、
    前記抽出されたビット位置を、前記尤度順に、前記訂正回路の選択エラー候補を格納するエラー候補テーブルを作成する上位候補選択部とを有する
    ことを特徴とする請求項1の誤り訂正回路。
  3. 前記閾値判定部は、前記抽出した所定の閾値以下の尤度のビット位置を、複数の尤度レベルに応じて、前記尤度と前記ビット位置とをスタックテーブルに格納する
    ことを特徴とする請求項2の誤り訂正回路。
  4. 入力信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、
    前記各ビットの尤度を受け、所定の閾値以下の尤度を有する任意の個数のビット位置情報を、前記尤度順に、選択エラー候補として格納するエラー候補テーブルを作成するエラー候補抽出器と、
    前記復号対象データ列の誤りを訂正して、出力する訂正回路とを有し、
    前記エラー候補抽出器は、
    前記復号対象データ列の各ビットの尤度と所定の閾値とを比較して、所定の閾値以下の尤度のビット位置を抽出する閾値判定部と、
    前記抽出されたビット位置を、前記尤度順に、前記訂正回路の選択エラー候補を格納するエラー候補テーブルを作成する上位候補選択部とを有し
    且つ前記上位候補選択部は前記尤度の絶対値が同一のビット位置を1つの選択エラー候補として、前記エラー候補テーブルに格納し、
    前記訂正回路は、前記訂正に失敗したと判定した時に、前記エラー候補テーブルから前記エラー候補のビット位置情報を取り出し、前記復号対象データ列の対応位置のビットをフリップして、新たな前記復号対象データ列を作成し、前記訂正が成功したかを判定する
    ことを特徴とする誤り訂正回路。
  5. 前記訂正回路は、
    前記復号対象データ列から1組のシンドロームを計算するシンドローム計算部と、
    前記1組のシンドロームから、誤り位置多項式の係数を計算し、且つ前記誤り位置多項式の係数を用いて、訂正が成功するか否かを判定し、訂正失敗と判定した時に、前記エラー候補テーブルに前記エラー候補を要求する誤り位置多項式計算部と、
    前記誤り位置多項式計算部の訂正成功の判定に応じて、前記シンドロームと前記誤り位置多項式の係数を用いて、前記復号対象データ列の誤りを訂正する訂正回路とを有する
    ことを特徴とする請求項1の誤り訂正回路。
  6. 前記エラー候補抽出器は、前記抽出されたビット位置を、前記エラー候補の開始位置とエラー長の形式で、前記テーブルを作成する
    ことを特徴とする請求項1の誤り訂正回路。
  7. 入力信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、
    前記各ビットの尤度を受け、所定の閾値以下の尤度を有する任意の個数のビット位置情報を、前記尤度順に、選択エラー候補として格納するエラー候補テーブルを作成するエラー候補抽出器と、
    前記復号対象データ列の誤りを訂正して、出力する訂正回路とを有し、
    前記エラー候補抽出器は、
    前記復号対象データ列の各ビットの尤度と所定の閾値とを比較して、所定の閾値以下の尤度のビット位置を抽出し、前記抽出した所定の閾値以下の尤度のビット位置を、複数の尤度レベルに応じて、前記尤度と前記ビット位置とをスタックテーブルに格納する閾値判定部と、
    前記抽出されたビット位置を、前記尤度順に、前記訂正回路の選択エラー候補を格納するエラー候補テーブルを作成し、前記尤度レベル毎のスタックテーブルを参照し、前記尤度レベルが比較的低いスタックテーブルのビット位置を前記エラー候補テーブルに格納し、且つ前記尤度レベルが比較的高いスタックテーブルをソートして、前記エラー候補テーブルに、ソートされたビット位置を格納する上位候補選択部とを有し、
    前記訂正回路は、前記訂正に失敗したと判定した時に、前記エラー候補テーブルから前記エラー候補のビット位置情報を取り出し、前記復号対象データ列の対応位置のビットをフリップして、新たな前記復号対象データ列を作成し、前記訂正が成功したかを判定する
    ことを特徴とする誤り訂正回路。
  8. 入力信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、
    前記各ビットの尤度を受け、所定の閾値以下の尤度を有する任意の個数のビット位置情報を、前記尤度順に、選択エラー候補として格納するエラー候補テーブルを作成するエラー候補抽出器と、
    前記復号対象データ列の誤りを訂正して、出力する訂正回路とを有し、
    前記訂正回路は、前記訂正に失敗したと判定した時に、前記エラー候補テーブルから前記エラー候補のビット位置情報を取り出し、前記復号対象データ列の対応位置のビットをフリップして、新たな前記復号対象データ列を作成し、前記訂正が成功したかを判定し、
    前記エラー候補抽出器は、前記閾値以下の尤度のビットが、所定ビット数連続していることを検出して、前記連続しているビット位置の前記テーブルへの格納を禁止する
    ことを特徴とする誤り訂正回路。
  9. 前記訂正回路は、
    前記計算したシンドロームを保持するシンドローム保持部と、
    前記復号対象データ列と、前記新たな復号対象データ列との差分からシンドロームの差分を計算し、前記差分で、前記保持されたシンドロームを更新するシンドローム更新部とを有する
    ことを特徴とする請求項5の誤り訂正回路。
  10. 記憶媒体から信号を読み出すヘッドと、
    前記ヘッドの読出し信号から復号対象データ列を作成し、前記復号対象データ列の各ビットの尤度を検出する検出器と、
    前記各ビットの尤度を受け、所定の閾値以下の尤度を有するビットをビット単位で抽出し、ビット単位で抽出したビット位置情報を、前記尤度順に、選択エラー候補として格納するエラー候補テーブルを作成するエラー候補抽出器と、
    前記復号対象データ列の誤りを訂正して、出力する訂正回路とを有し、
    前記訂正回路は、前記訂正に失敗したと判定した時に、前記エラー候補テーブルから前記尤度順に前記エラー候補の複数のビット位置情報を取り出し、前記復号対象データ列の対応する複数の位置のビットをフリップして、新たな前記復号対象データ列を作成し、前記訂正が成功したかを判定する
    ことを特徴とする媒体記憶装置。
JP2007125221A 2006-11-01 2007-05-10 誤り訂正回路及び媒体記憶装置 Active JP5251000B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007125221A JP5251000B2 (ja) 2006-11-01 2007-05-10 誤り訂正回路及び媒体記憶装置
EP07118644.9A EP1927987B1 (en) 2006-11-01 2007-10-17 Error correction circuit and medium storage device with error candidate extraction.
KR1020070108764A KR100933254B1 (ko) 2006-11-01 2007-10-29 최대 우도 검출기, 오류 정정 회로 및 매체 기억 장치
US11/982,126 US8230309B2 (en) 2006-11-01 2007-11-01 Maximum likelihood detector, error correction circuit and medium storage device
CN2007101666503A CN101174838B (zh) 2006-11-01 2007-11-01 最大似然检测器、错误校正电路和介质存储装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006297442 2006-11-01
JP2006297442 2006-11-01
JP2007125221A JP5251000B2 (ja) 2006-11-01 2007-05-10 誤り訂正回路及び媒体記憶装置

Publications (2)

Publication Number Publication Date
JP2008136166A JP2008136166A (ja) 2008-06-12
JP5251000B2 true JP5251000B2 (ja) 2013-07-31

Family

ID=39251204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007125221A Active JP5251000B2 (ja) 2006-11-01 2007-05-10 誤り訂正回路及び媒体記憶装置

Country Status (5)

Country Link
US (1) US8230309B2 (ja)
EP (1) EP1927987B1 (ja)
JP (1) JP5251000B2 (ja)
KR (1) KR100933254B1 (ja)
CN (1) CN101174838B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
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
CN101803205B (zh) 2008-08-15 2013-12-18 Lsi公司 近码字的ram列表解码
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
US8484535B2 (en) 2009-04-21 2013-07-09 Agere Systems Llc Error-floor mitigation of codes using write verification
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
CN102163463B (zh) * 2011-04-26 2013-01-02 西安交通大学 一种降低bch解码延迟的双钱氏搜索方法
TWI487291B (zh) * 2011-11-01 2015-06-01 Univ Nat Chiao Tung 循環碼解碼器及其方法
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
KR101361238B1 (ko) * 2012-06-05 2014-02-25 한국과학기술원 간섭 채널 환경에서의 오류 정정 방법 및 회로, 이를 이용한 플래시 메모리 장치
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US8869008B2 (en) * 2013-01-17 2014-10-21 Apple Inc. Adaptation of analog memory cell read thresholds using partial ECC syndromes
CN104601178B (zh) * 2013-10-30 2018-02-02 群联电子股份有限公司 解码方法、解码电路、存储器存储装置与控制电路单元
TWI514778B (zh) * 2014-03-27 2015-12-21 Storart Technology Co Ltd 用於bch碼字之縮短秦式搜尋演算法延時的方法及電路
US9954556B2 (en) * 2015-02-25 2018-04-24 SK Hynix Inc. Scheme to avoid miscorrection for turbo product codes
JP2021044750A (ja) * 2019-09-12 2021-03-18 キオクシア株式会社 メモリシステム
JP7506795B1 (ja) 2023-05-02 2024-06-26 Nttイノベーティブデバイス株式会社 誤り訂正方法、誤り訂正回路及び通信システム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
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 オリエントブレイン株式会社 防爆アンテナ

Also Published As

Publication number Publication date
EP1927987A3 (en) 2008-06-25
EP1927987B1 (en) 2017-03-29
JP2008136166A (ja) 2008-06-12
CN101174838A (zh) 2008-05-07
CN101174838B (zh) 2011-04-06
US8230309B2 (en) 2012-07-24
EP1927987A2 (en) 2008-06-04
KR100933254B1 (ko) 2009-12-22
KR20080039798A (ko) 2008-05-07
US20080104489A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
JP5251000B2 (ja) 誤り訂正回路及び媒体記憶装置
JP4833173B2 (ja) 復号化器、符号化・復号化装置及び記録再生装置
KR100976178B1 (ko) 부호화 장치, 복호화 장치, 부호화·복호화 장치 및 기록 재생 장치
KR100848614B1 (ko) 오류 정정 장치
KR100766354B1 (ko) 에러 정정 장치, 부호기, 복호기, 방법 및 정보 기억 장치
US7231578B2 (en) Techniques for detecting and correcting errors using multiple interleave erasure pointers
US7653862B2 (en) Error detection and correction for encoded data
US8407563B2 (en) Low-complexity soft-decision decoding of error-correction codes
US20070110188A1 (en) Signal decoding method and device, and signal storage system
CN101174839A (zh) 编码装置、解码装置、编码/解码装置及记录/再现装置
JP2007087529A (ja) 信号復号装置、信号復号方法、および記憶システム
JP4118127B2 (ja) データの復号方法およびそれを用いたディスク装置
JP2002008325A (ja) 情報記録再生方法およびこれを用いた情報記録再生回路装置
US20090276685A1 (en) Data decoding apparatus, magnetic disk apparatus, and data decoding method
US8130459B2 (en) Converting timing errors into symbol errors to handle write mis-synchronization in bit-patterned media recording systems
US20100241922A1 (en) Error correction circuit and data storage device
US6856660B1 (en) Signal processing method and apparatus and disk device using the method and apparatus
JP2010152960A (ja) エラー訂正回路及び記憶装置
JP4294407B2 (ja) 信号処理方法及び信号処理回路
JP2007200440A (ja) 信号符号化装置、信号復号装置、信号処理装置、および記憶システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130215

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130401

R150 Certificate of patent or registration of utility model

Ref document number: 5251000

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3