JP2010009719A - 復号器及び記録再生装置 - Google Patents

復号器及び記録再生装置 Download PDF

Info

Publication number
JP2010009719A
JP2010009719A JP2008170637A JP2008170637A JP2010009719A JP 2010009719 A JP2010009719 A JP 2010009719A JP 2008170637 A JP2008170637 A JP 2008170637A JP 2008170637 A JP2008170637 A JP 2008170637A JP 2010009719 A JP2010009719 A JP 2010009719A
Authority
JP
Japan
Prior art keywords
decoder
decoding
iterative
ecc
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008170637A
Other languages
English (en)
Inventor
Kazuto Ichihara
一人 市原
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 JP2008170637A priority Critical patent/JP2010009719A/ja
Priority to US12/410,176 priority patent/US20090327832A1/en
Publication of JP2010009719A publication Critical patent/JP2010009719A/ja
Pending legal-status Critical Current

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/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded 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/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
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct 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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative 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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria
    • 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
    • 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
    • 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/1853Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a product code which has inner and outer parity symbols
    • 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/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • H03M13/4146Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions soft-output Viterbi decoding according to Battail and Hagenauer in which the soft-output is determined using path metric differences along the maximum-likelihood path, i.e. "SOVA" decoding

Landscapes

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

Abstract

【課題】多段の反復復号器において、誤り訂正能力を向上するとともに、電力消費量を低減する。
【解決手段】チャネル復号器(4)と外符号復号器(5)を多段に構成した反復復号器と、外符号復号器(5)からの尤度情報を用いて、復号後のエラーシンボル数を推定し、ECCで訂正可能なエラーシンボル数なら,反復復号を中止し、ECCで訂正可能な残留エラーは、ECC復号器(3)を用いて訂正する反復復号制御回路(6)とを有する。多段の反復復号器で構成した場合に、反復復号回数を低減し、低消費電力が実現できる。
【選択図】図1

Description

本発明は、記録再生装置や通信装置に使用される誤り訂正符号を含むデータの復号化を行う復号器及び記録再生装置に関し、特に、ECC(Error Correction Code)を付与したデータブロックの誤り訂正のための復号器及び記録再生装置に関する。
磁気ディスク装置等の記録再生装置や通信系の分野においては、記録再生過程や、伝送路において生じたデータの誤りを訂正するため、誤り訂正符号(ECC:Error Correction Code)を用いた誤り訂正技術が、広く普及している。
このECC符号として、リード・ソロモン(RS:Reed Solomon)符号が、利用されている(例えば、特許文献1参照)。RS符号は、記録データに、予めRS符号化を行い、記録再生過程を経て再生されたビット列に対し、RS復号化を行い、ビット列に含まれる誤りを検出・訂正する。即ち、RS符号は、シンボル単位の訂正能力に優れており、特に、バースト誤りの検出、訂正能力に優れている。
また、誤り訂正符号技術として、反復復号形式が利用されている。反復復号とECCとを組み合わせて、誤り検出・訂正能力を向上できる。近年、反復復号形式の1つである低密度パリティ検査(LDPC: Low Density Parity Check)符号が、実用化されている。
LDPC符号は、記録データに、予めLDPC符号化を行い、記録再生過程を経て再生された信号に対し、信頼度伝播を用いた反復復号を行うことで、記録再生過程で生じた誤りを訂正することができる(例えば、特許文献2参照)。
LDPC符号化の特徴は、符号ブロック長が大きくした上で、パリティ検査行列H内の“1”(検査対象ビット)の数が少なく(すなわち低密度である)、且つランダムに配置できる特徴を持つ線形符号である。
LDPC復号時は、尤度(データ列“0”、“1”の可能性を示す信頼度)を伝播して、復号を行う信頼度伝播を用いた復号と、反復復号(パーシャルレスポンスチャネルと信頼度伝播復号器間を反復する復号)とを行うことにより、誤り訂正を行う。
以下、LDPC符号化及び復号化を説明する。LDPC符号は、線形符号であるため、次の検査条件が成り立つように、パリティ検査行列Hを生成する。
wH=0 (1)
式(1)で、wはLDPC符号化された符号語を表し、Hはパリティ検査行列、Tは転置を表す。
LDPCの復号を行う際、反復復号の停止条件として、規定回数を行う場合と、上式(1)の検査条件が成立するとき、つまり誤りが無となるときに停止し、復号器出力とする場合とがある。
一般的に尤度として、“0”となる確率と“1”となる確率との比を、対数化した対数尤度比(LLR: Log-Likelihood Ratio)が用いられる。そして、元の2値データが“1”であれば、正の尤度、“0”であれば、負の尤度が与えられる。従って、反復復号出力において復号データ列を二値化する際には、“0”をしきい値とするしきい値判定器を用いて、2値判定を行うことができる。
このシンボル単位のECC訂正をRS符号と、ECCの前段で、反復復号により、ビット単位の誤り検出・訂正を行うLDPC符号とを組み合わせた符号化、復号化装置が、提案されている(例えば、特許文献3参照)。
図10は、従来の反復復号を利用した信号処理システムのブロック図である。符号器側(磁気記録では、書込み系)では、ECC符号器100が、書込みデータにECCを付加する。外符号器102は、ECCの付加された書込みデータに、LDPCコードを付加する。
この外符号を付加された書込みデータを、磁気記録再生チャネル(ヘッド/媒体)110に送り、ヘッドにより、磁気記憶媒体に、このデータを記録する。磁気記録再生チャネル110は、ヘッドが、磁気記憶媒体から、この書き込まれたデータを読み出す。
磁気記録再生チャネル(ヘッド/媒体)110に対する復号器120は、リード信号を、2値(0,1)復号し、ECC復号器130が、復号後に残ったエラーを、ECC(Error Correcting Code)で訂正する。
この復号器120は、磁気記録再生チャネルに対するチャネル復号器(ビタビ復号器、 雑音予測型復号器等)122と、外符号(LDPC等)に対する外符号復号器124とからなる反復復号器で構成されている。
この反復復号器は、リード信号からビタビ復号等により、尤度情報を復調し、尤度情報(0もしくは1である確率値)を用いて、複数回、反復復号を実施した後、2値(0,1)判定器126で2値判定を行い、復号後に残ったエラーは、ECC復号器130で、ECCを用いて、訂正する。
この反復復号方式におけるチャネル復号器122と外符号復号器124は、非常に複雑な演算処理が必要とされる。このため、ハードディスクドライブのように高速転送が要求される場合、図11に示すように、チャネル復号器122A〜122Nと、外符号復号器124A〜124Nとを、多段構成として回路設計を行うことが提案されている(例えば、非特許文献1参照)。
一般に、反復復号方式では、図12で示されるように、反復回数が多いほど復号能力が大きくなることが知られており、多段構成の段数が多い程、復号能力(SNR:Signal to Noise Ratio、BER:Bit Error Rate)が向上する。
特開平11−330985号公報 特開2007−166425号公報 特開2005−093038号公報 著者 Berrou他、論文"NEAR SHANNON LIMIT ERROR-CORRECTING CODING AND DECODING: TURBO-CODES (1)"byIEEE"The Magnetic Recording Conference",1993年 (FIGS. 4a,4b,5)
一方、かかる記録再生装置(磁気記録再生装置)や、通信装置(例えば、携帯電話)等では、省電力化の要請が強い。例えば、磁気記録再生装置の1つである磁気デイスク装置では、パーソナルコンピュータ、携帯機器、カーナビゲーション機器等に搭載されるため、消費電力低減の要請が大きい。
このような装置に、前述の従来の多段の反復復号器を適用した場合、常時、何段もの反復復号器120を動作させる必要があり、消費電力が増大するという問題が生じる。
従って、本発明の目的は、多段の反復復号器を用いても、消費電力の増大を防止するための復号器及び記録再生装置を提供することにある。
又、本発明の他の目的は、多段の反復復号器を用いても、消費電力の増大を防止し、且つ訂正能力と復号速度を向上するための復号器及び記録再生装置を提供することにある。
更に、本発明の更に他の目的は、多段の反復復号器とECCとを組み合わせても、消費電力の増大を防止し、且つ訂正能力と復号速度を向上するための復号器及び記録再生装置を提供することにある。
この目的の達成のため、本発明は、所定ビット数のデータに、ECC符号と外符号とが付与された信号を復号する復号器において、各々、軟入力軟出力検出器と外符号復号器とで構成される復号器を多段に構成した反復復号器と、前記反復復号器の2値化出力をECC符号で訂正するECC復号器と、前記復号器の尤度情報を用いて、復号後のエラーシンボル数を推定し、前記推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定する反復復号制御回路とを有し、前記反復復号制御回路は、前記復号続行と判定した場合に、前記判定対象とされた復号器の尤度情報を、次段の復号器に出力し、反復復号し、前記復号続行しないと判定した時は、前記判定対象とされた復号器の尤度情報の2値化出力を、前記ECC復号器に出力する。
又、本発明は、記憶媒体から所定ビット数のデータに、ECC符号と外符号とが付与された信号を読み取り、復号する記録再生装置において、前記信号が入力され、各々、軟入力軟出力検出器と外符号復号器とで構成される復号器を多段に構成した反復復号器と、前記反復復号器の2値化出力をECC符号で訂正するECC復号器と、前記復号器の尤度情報を用いて、復号後のエラーシンボル数を推定し、前記推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定する反復復号制御回路とを有し、前記反復復号制御回路は、前記復号続行と判定した場合に、前記判定対象とされた復号器の尤度情報を、次段の復号器に出力し、反復復号し、前記復号続行しないと判定した時は、前記判定対象とされた復号器の尤度情報の2値化出力を、前記ECC復号器に出力する。
更に、本発明では、好ましくは、前記信号は、前記データをインターリーブし、前記インターリーブされた各データブロックにECC符号が付与された後、デ・インターリーブされた信号からなり、前記反復復号制御回路は、前記復号器の尤度情報をインターリーブし、インターリーブされたブロックの各尤度情報を用いて、各ブロックの復号後のエラーシンボル数を推定し、前記各ブロックの推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定する。
更に、本発明では、好ましくは、前記反復復号制御回路は、前記データとECC符号の尤度情報から、復号後のエラーシンボル数を推定する。
更に、本発明では、好ましくは、前記反復復号制御回路は、前記尤度情報の尤度値と所定の閾値とを比較して、前記エラーを検出し、前記検出したエラー数を累積して、前記復号後のエラーシンボル数を推定する。
更に、本発明では、好ましくは、前記反復復号制御回路は、前記推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えるか否かを判定し、前記推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えると判定した時に、前記反復復号の続行と判断する。
更に、本発明では、好ましくは、前記反復復号制御回路は、前記復号器の尤度情報を格納するバッファと、前記バッファの尤度情報を用いて、復号後のエラーシンボル数を推定し、前記推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定するエラー判定回路と、前記バッファに尤度情報を2値化する2値化回路と、前記エラー判定回路が復号続行と判定した時に、前記バッファの尤度情報を前記反復復号器の次段の復号器に出力する第1のゲート回路と、前記エラー判定回路が復号続行と判定した時に、前記バッファの尤度情報を前記2値化回路に出力する第2のゲート回路とを有する。
更に、本発明では、好ましくは、前記反復復号制御回路は、前記各ブロックの推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とを比較して、訂正不可能なブロック数を計算し、前記訂正不可能なブロック数から、前記反復復号器の次段の復号器での復号を続行するか否かを判定する。
更に、本発明では、好ましくは、前記反復復号制御回路は、前記各ブロックの推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えるか否かを判定し、前記越えると判定した時に、前記訂正不可能なブロックと判断する。
更に、本発明では、好ましくは、前記外符号復号器が、低密度パリテイ復号器からなる。
反復復号器を構成する外符号復号器からの尤度情報を用いて、エラー判定器が,復号後のエラーシンボル数を推定し、ECCで訂正可能なエラーシンボル数なら,反復復号を中止し、ECCで訂正可能な残留エラーは、ECC復号器3を用いて訂正する。このため、多段の反復復号器で構成した場合に、反復復号回数を低減し、低消費電力が実現できる。
以下、本発明の実施の形態を、復号器の第1の実施の形態、復号器の第2の実施の形態、復号器の第3の実施の形態、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
(復号器の第1の実施の形態)
図1は、本発明の復号器の第1の実施の形態のブロック図、図2は、図1のエラー判定器の構成図、図3は、図1、図2の動作説明図、図4は、図2のエラー判定動作の説明図である。図1は、磁気ディスク装置の記録再生系を示す。
図1に示すように、磁気記録再生チャネル1は、磁気ヘッドと磁気デイスクで構成される。この磁気デイスクには、磁気ヘッドにより、図10で説明した符号化データが記録されている。
例えば、記録時(符号化時)に、記録データは、CRC符号器で、CRC符号(Cyclic Redundancy Code)が付加され、その後に、記録符号器で、MTR符号(Maximum Transition Run Code)やRLL(Run Length Limited)符号などの拘束条件が満たされるデータ列に変換される。そして、図10のECC符号器100が、ECCを付加する。更に、ECC符号化されたデータ列は、LDPC符号器102で、図3で説明するように、ECC符号とは、別のエラー検出を行うためのLDPCパリティを、LDPCブロックごとに求め、且つそれぞれのLDPCパリティを、LDPCブロックごとに、前記パリティ符号化されたECC符号化データ列に付加する。
記録補償器は、磁化反転が隣接する箇所で、反転間隔を多少広げる補償処理を行い、ドライバは、記録補償されたデータ列をプリアンプ201を介し、図示しない記録ヘッド(ライトヘッド)のライト電流を発生し、記録ヘッドを駆動して、図示しない磁気ディスクに記録を行う。
従って、記録データ列RCDATAは、図3に示すように、記録データDATAに、ECCとLDPCが付加された形式である。例えば、記録データを、512Byte(=4096bit)とすると、400ビットのECC,200ビットのLDPCが付加される。この例では、ECCの訂正能力tは、200ビットである。
磁気記録再生チャネル1で、磁気ヘッドが、磁気デイスクから読み取られた前述のデータ列の信号は、図示しないプリアンプ、可変利得アンプ(VGA)、ローパスフィルタ(LPF)、FIR(Finite Impulse Response)フィルタを介し、PR(Partial Response)波形等化された後、反復復号器2に入力する。
反復復号器2は、チャネル復号器4A〜4N(軟入力軟出力検出器)と外符号復号器(LDPC復号器)5A〜5Nで構成され、尤度を用いて反復復号を行う。軟入力軟出力検出器4A〜4Nは、例えば、Max−log−MAP(Maximum A Posteriori)アルゴリズム、SOVA(Soft-Output Viterbi Algorithm)及び雑音予測機能付SOVA(NPSOVA: Noise Predictive SOVA)などを用いる。LDPC復号器5A〜5Nは、例えば、Sum−Productアルゴリズムや、Min−Sumアルゴリズムなどを用いる。
チャネル復号器4A〜4N(軟入力軟出力検出器)と外符号復号器(LDPC復号器)5A〜5Nの対は、N個(N段)設けられ、各々の出力(尤度)は、反復復号制御回路6に入力する。
反復復号制御回路6は、1回の反復復号結果のエラー数が、ECC訂正能力以下かを判定し、エラー数が、ECC訂正能力以下なら、反復復号の継続不要と判断し、エラー数が、ECC訂正能力以下でない(ECC訂正能力を越える)と判定すると、反復復号の続行を指示する。
即ち、反復復号制御回路6は、1段目の反復復号器(チャネル復号器4A,外符号復号器5A)に対し、外符号復号器5Aの尤度情報を一時記憶する第1のバッファ10Aと、第1のバッファ10Aの尤度情報と、所定の閾値とを比較して、エラー判定するエラー判定し、復号続行か否かを判定するエラー判定器12Aと、エラー判定器12Aが、復号続行不要と判定すると、第1のバッファ10Aの尤度情報LをOR回路18に出力する第1のゲート回路16Aと、エラー判定器12Aが、復号続行必要と判定すると、第1のバッファ10Aの尤度情報Lを、次段のチャネル復号器4Bに出力する第2のゲート回路14Aとを有する。
同様に、反復復号制御回路6は、2段目の反復復号器(チャネル復号器4B,外符号復号器5B)に対し、外符号復号器5Bの尤度情報を一時記憶する第2のバッファ10Bと、第2のバッファ10Bの尤度情報と、所定の閾値とを比較して、エラー判定するエラー判定し、復号続行か否かを判定するエラー判定器12Bと、エラー判定器12Bが、復号続行不要と判定すると、第2のバッファ10Bの尤度情報LをOR回路18に出力する第1のゲート回路16Bと、エラー判定器12Bが、復号続行必要と判定すると、第2のバッファ10Bの尤度情報Lを、次段のチャネル復号器4Cに出力する第2のゲート回路14Bとを有する。
以下、同様に、反復復号制御回路6は、(N−1)段目の反復復号器(チャネル復号器4N−1,外符号復号器5N−1)に対し、外符号復号器5N−1の尤度情報を一時記憶する第N−1のバッファ10N−1、第N−1のバッファ10N−1の尤度情報と、所定の閾値とを比較して、エラー判定するエラー判定し、復号続行か否かを判定するエラー判定器12N−1と、エラー判定器12N−1が、復号続行不要と判定すると、第N−1のバッファ10N−1の尤度情報LをOR回路18に出力する第1のゲート回路16N−1と、エラー判定器12N−1が、復号続行必要と判定すると、第N−1のバッファ10N−1の尤度情報Lを、最終段のチャネル復号器4Nに出力する第2のゲート回路14N−1とを有する。
ORゲート回路18は、各ゲート回路16A〜16N−1と、最終段の外符号復号器5Nの出力のORをとり、2値化回路7に出力する。2値化回路7は、所定に閾値で、尤度情報を、硬判定値(1又は0)に変換し、ECC復号器3に出力する。
反復復号制御回路6を、図2乃至図4で説明する。図3に示すように、外符号復号器5A〜5Nは、データDATA,ECC,LDPCの各ビットに対し、尤度情報Lを作成する。尤度情報Lは、図4に示すように、例えば、硬判定値「1」を、「+127」、硬判定値「0」を、「−127」とすると、8ビットの尤度値で構成される。
ここで、2値化回路7は、一般に、値「0」で、硬判定値「1」又は「0」を出力する。この尤度値は、尤度値の絶対値が大きいほど、そのビットの確度が高い。即ち、図4の例では、硬判定値を「1」と判定する場合は、尤度値が、「+127」に近いほど、確度が高く、硬判定値を、「0」と判定するには、「−127」に近いほど、確度が高い。このため、例えば、尤度値が、「+64」〜「−64」の間の場合には、エラーの確立が高い。
このため、エラー判定は、尤度値が、「+64」〜「−64」の場合に、エラーと判定する。図3に示すように、ここで、エラー判定の対象尤度値Ltは、前述のデータDATA,ECCの尤度値Lであり、LDPCの尤度値は、反復復号に使用され、ECC復号では、使用されないため、除かれる。
図2に示すように、バッファ10A(10B〜10N−1)のデータDATA,ECCの尤度値Ltは、尤度閾値Lthと第1の比較器20で比較される。前述の図4の例では、尤度閾値Lthは、「64」、「−64」であり、第1の比較器20は、入力された尤度値が、「+64」〜「−64」の場合に、エラー検出信号をカウンタ22に出力する。
カウンタ22は、エラー検出信号をカウントし、エラー数を累積する。第2の比較器24は、データDATA,ECCの全尤度値のエラー検出が終了した時点で、カウンタ22のエラー数と、エラー数閾値Ethとを比較する。このエラー数閾値Ethは、ECC復号器3の訂正能力t(シンボル)であり、図3の例では、「200」である。
第2の比較器24は、カウンタ22のエラー数が、エラー数閾値Ethを越えたと判定すると、ECC復号器3の訂正能力を越えているため、反復復号続行と判断し、第2のゲート回路14A(14B〜14N−1)から、バッファ10A(10B〜10N−1)の図3の尤度値L(LDPCを含む)を、次段のチャネル復号器4B(4C〜4N)に出力する。
一方、第2の比較器24は、カウンタ22のエラー数が、エラー数閾値Ethを越えていないと判定すると、ECC復号器3の訂正能力を越えていないため、反復復号中止と判断し、第1のゲート回路16A(16B〜16N−1)から、バッファ10A(10B〜10N−1)の図3の尤度値L(LDPCを除去した)を、ORゲート回路3へ出力する。ORゲート回路3からのデータDATAとECCの尤度値は、2値化回路7で2値化され、ECC復号器3へ出力される。
このように、反復復号器を構成する外符号復号器5A(5B〜5N−1)からの尤度情報Lを用いて、エラー判定器12A(12B〜12N−1)により,復号後のエラーシンボル数を推定し、ECCで訂正可能なエラーシンボル数なら,反復復号を中止し、ECCで訂正可能な残留エラーは、ECC復号器3を用いて訂正する。
このため、多段の反復復号器で構成した場合に、反復復号回数を低減し、低消費電力が実現できる。即ち、多段の各反復復号器は、電源は入力されているが、信号が入力されると、反復復号動作するため、信号が入力されない場合には、電源が入力されていても、演算動作しないため、電力消費を低減できる。
(復号器の第2の実施の形態)
図5及び図6は、本発明の反復復号方式の第2の実施の形態の説明図である。この実施の形態は、更なる低消費電力型反復復号方式である、Integrated Interleaving ECC(IIECCという)に適用した例である。IIECCは、著者M.HassnerによるIEEE Trans,on Mag.,Vol.37,No.2(March 2001)等で周知であるが、簡単に説明する。
2レベルIIECCは、2種類の訂正能力ta,tb(ta<tb)を持つ。即ち、IIECCでは、誤り訂正数の異なる2つのIIECCパリテイ符号であるRS(Reed Solomon)符号RS1,RS2を用意する。RS1は、訂正数taであり、RS2は、訂正数tb(>ta)である。
RS1,RS2の生成多項式は、下記式(2)、(3)で表される。
RS1=(x−α)・(x−α)・・・(x−α2t1) (2)
RS2=(x−α)・(x−α)・・・(x−α2t2) (3)
図5は、4インターリーブのIIECCの例を示す。図5に示すように、符号化時には、記録データ1000(ここでは、4096ビット)を、4インターリーブする。各インターリーブされたブロックI1(S1),I2(S2),I3(S3),I4(S4)は、記録データ1000の4ビット毎のビットが配置される。3つのブロックI1,I2,I3を、RS1符号化する。ブロックI1,I2,I3,I4を足し、足したものを、RS2符号化する。
次に、デ・インターリーブして、RS符号化列1100を作成する。RS符号化列1100は、記録データ1000に、RS1とRS2からなるECCを付加したものである。このRS符号化列1100に、図3と同様に、LDPCが付加される。
図6に示すように、復号化時にも、RS符号化列1100を、4ブロックI1,I2,I3,I4にインターリーブし、パリテイ列RS1,RS2を用いて、ECC訂正する。
このIIECCでは、1インターリーブ当り、taシンボルまでのエラーが訂正可能であり、更に,全インターリーブブロックI1〜I4中の1インターリーブブロックだけ、tbシンボルまでのエラーを、訂正できる。
次に、IIECCを用いた実施の形態を説明する。図7は、本発明の復号器の第2の実施の形態のブロック図、図8は、図7の反復復号制御処理フロー図である。図7において、図1で示したものと同一のものは、同一の記号で示してある。
図1と同様に、磁気記録再生チャネル1からのリード信号は、反復復号器2に入力される。反復復号器2は、チャネル復号器4A〜4N(軟入力軟出力検出器)と外符号復号器(LDPC復号器)5A〜5Nで構成され、尤度を用いて反復復号を行う。軟入力軟出力検出器4A〜4Nは、例えば、Max−log−MAP(Maximum A Posteriori)アルゴリズム、SOVA(Soft-Output Viterbi Algorithm)及び雑音予測機能付SOVA(NPSOVA: Noise Predictive SOVA)などを用いる。LDPC復号器5A〜5Nは、例えば、Sum−Productアルゴリズムや、Min−Sumアルゴリズムなどを用いる。
チャネル復号器4A〜4N(軟入力軟出力検出器)と外符号復号器(LDPC復号器)5A〜5Nの対は、N個(N段)設けられ、各々の出力(尤度)は、反復復号制御回路6に入力する。
反復復号制御回路6は、1回の反復復号結果のエラー数が、ECC訂正能力ta,tb以下かを判定し、エラー数が、ECC訂正能力以下なら、反復復号の継続不要と判断し、エラー数が、ECC訂正能力以下でない(ECC訂正能力を越える)と判定すると、反復復号の続行を指示する。
即ち、反復復号制御回路6は、1段目の反復復号器(チャネル復号器4A,外符号復号器5A)に対し、外符号復号器5Aの尤度情報を一時記憶する第1のバッファ10Aと、後述するCPU30が、復号続行不要と判定すると、第1のバッファ10Aの尤度情報LをOR回路18に出力する第1のゲート回路16Aと、CPU30が復号続行必要と判定すると、第1のバッファ10Aの尤度情報Lを、次段のチャネル復号器4Bに出力する第2のゲート回路14Aとを有する。
同様に、反復復号制御回路6は、2段目の反復復号器(チャネル復号器4B,外符号復号器5B)に対し、外符号復号器5Bの尤度情報を一時記憶する第2のバッファ10Bと、CPU30が、復号続行不要と判定すると、第2のバッファ10Bの尤度情報LをOR回路18に出力する第1のゲート回路16Bと、CPU30が復号続行必要と判定すると、第2のバッファ10Bの尤度情報Lを、次段のチャネル復号器4Cに出力する第2のゲート回路14Bとを有する。
以下、同様に、反復復号制御回路6は、(N−1)段目の反復復号器(チャネル復号器4N−1,外符号復号器5N−1)に対し、外符号復号器5N−1の尤度情報を一時記憶する第N−1のバッファ10N−1、CPU30が、復号続行不要と判定すると、第N−1のバッファ10N−1の尤度情報LをOR回路18に出力する第1のゲート回路16N−1と、CPU30が、復号続行必要と判定すると、第N−1のバッファ10N−1の尤度情報Lを、最終段のチャネル復号器4Nに出力する第2のゲート回路14N−1とを有する。
ORゲート回路18は、各ゲート回路16A〜16N−1と、最終段の外符号復号器5Nの出力のORをとり、2値化回路7に出力する。2値化回路7は、所定に閾値で、尤度情報を、硬判定値(1又は0)に変換し、ECC復号器3に出力する。
CPU(エラー判定器)30は、図8の処理により、各バッファの尤度情報(尤度値)からエラーシンボル数を推定し、IIECCで訂正可能な条件(ta,tb)を満たしているなら、反復復号を中止し、訂正可能な残留エラーは、IIECC3を用いて訂正する。
(S10)CPU30は、バッファ10A(10B〜10N−1)から、図3で説明したデータDATA,ECCの尤度情報Lを取り込み、尤度情報Lを、図6と同様に、m(図6では、4)インターリーブする。
(S12)CPU30は、各インターリーブブロックL1〜Lm(図6では、L1〜L4)におけるエラー数E1〜Emを計算する。この計算は、図2と同様に、
尤度値Ltを、尤度閾値Lthと比較し、比較結果により、エラー検出し、エラー検出信号をカウンタで計数し、エラー数を累積する。
(S14)次に、各インタリーブブロックのエラー数が、訂正可能条件を満たしているかを判定するため、CPU30は、インターリーブポインタiを「0」に、条件ポインタEa、Ebを「0」に初期化する。
(S16)CPU30は、i番目のインターリーブブロックのエラー数Eiが、訂正可能シンボル数taを越えているかを判定する。エラー数Eiが、訂正可能シンボル数taを越えている場合には、条件ポインタEaを「1」インクリメントする。同様に、CPU30は、i番目のインターリーブブロックのエラー数Eiが、訂正可能シンボル数tbを越えているかを判定する。エラー数Eiが、訂正可能シンボル数tbを越えている場合には、条件ポインタEbを「1」インクリメントする。
(S18)CPU30は、インターリーブポインタiを、「1」インクリメントする。そして、CPU30は、インターリーブポインタiが、インターリーブ数mを越えているかを判定する。CPU30は、インターリーブポインタiが、インターリーブ数mを越えていないと、ステップS16に戻る。
(S20)CPU30は、インターリーブポインタiが、インターリーブ数mを越えていると判定すると、全てのインターリーブブロックのエラー数のチエックは終了した。このため、CPU30は、条件ポインタEaが、「0」か否かを判定する。CPU30は、条件ポインタEaが、「0」なら、反復復号中止を指示する。
(S22)CPU30は、条件ポインタEaが、「0」でない場合は、条件ポインタEaが、「1」か否かを判定する。CPU30は、条件ポインタEaが、「1」でない場合は、IIECCで訂正不能のため、反復復号続行を指示する。CPU30は、条件ポインタEaが、「1」なら、条件ポインタEbが、「0」か否かを判定する。CPU30は、条件ポインタEbが、「0」なら、IIECCで訂正可能なため、反復復号の中止を指示する。逆に、CPU30は、条件ポインタEbが、「0」でない場合は、IIECCで訂正不能のため、反復復号続行を指示する。
図1と同様に、反復復号続行の場合には、第2のゲート回路14A(14B〜14N−1)から、バッファ10A(10B〜10N−1)の尤度値L(LDPCを含む)を、次段のチャネル復号器4B(4C〜4N)に出力する。
一方、反復復号中止と判断すると、第1のゲート回路16A(16B〜16N−1)から、バッファ10A(10B〜10N−1)の尤度値L(LDPCを除去した)を、ORゲート回路3へ出力する。ORゲート回路3からのデータDATAとECCの尤度値は、2値化回路7で2値化され、ECC復号器3へ出力される。
このようにして、外符号復号器からの尤度情報Lを用いて、エラー判定器30により、復号後のエラーシンボル数を推定し、IIECCで訂正可能な条件(ta,tb)を満たしているなら、反復復号を中止し、訂正可能な残留エラーは、IIECCを用いて訂正する。このため、通常のECCを用いる場合よりも、早期に反復復号中止を判断でき、反復復号回数を低減し、低消費電力が実現できる。
(復号器の第3の実施の形態)
図9は、本発明の復号器の第3の実施の形態の反復復号制御処理フロー図である。
この実施の形態は、図7の構成において、反復復号を中止する条件として、IIECCにおける1インターリーブ当たりの訂正能力であるtaだけを用いる実施の形態である。このため、図7のCPU30の処理を、図9で説明する。
(S30)CPU30は、バッファ10A(10B〜10N−1)から、図3で説明したデータDATA,ECCの尤度情報Lを取り込み、尤度情報Lを、図6と同様に、m(図6では、4)インターリーブする。
(S32)CPU30は、各インターリーブブロックL1〜Lm(図6では、L1〜L4)におけるエラー数E1〜Emを計算する。この計算は、図2と同様に、
尤度値Ltを、尤度閾値Lthと比較し、比較結果により、エラー検出し、エラー検出信号をカウンタで計数し、エラー数を累積する。
(S34)次に、各インターリーブブロックのエラー数が、訂正可能条件を満たしているかを判定するため、CPU30は、インターリーブポインタiを「0」に、条件ポインタEaを「0」に初期化する。
(S36)CPU30は、i番目のインターリーブブロックのエラー数Eiが、訂正可能シンボル数taを越えているかを判定する。エラー数Eiが、訂正可能シンボル数taを越えている場合には、条件ポインタEaを「1」インクリメントする。
(S38)CPU30は、インターリーブポインタiを、「1」インクリメントする。そして、CPU30は、インターリーブポインタiが、インターリーブ数mを越えているかを判定する。CPU30は、インターリーブポインタiが、インターリーブ数mを越えていないと、ステップS36に戻る。
(S40)CPU30は、インターリーブポインタiが、インターリーブ数mを越えていると判定すると、全てのインターリーブブロックのエラー数のチエックは終了した。このため、CPU30は、条件ポインタEaが、「0」か否かを判定する。CPU30は、条件ポインタEaが、「0」なら、反復復号中止を指示する。
一方、CPU30は、条件ポインタEaが、「0」でない場合は、IIECCで訂正不能のため、反復復号続行を指示する。
図1と同様に、反復復号続行の場合には、第2のゲート回路14A(14B〜14N−1)から、バッファ10A(10B〜10N−1)の尤度値L(LDPCを含む)を、次段のチャネル復号器4B(4C〜4N)に出力する。
一方、反復復号中止と判断すると、第1のゲート回路16A(16B〜16N−1)から、バッファ10A(10B〜10N−1)の尤度値L(LDPCを除去した)を、ORゲート回路3へ出力する。ORゲート回路3からのデータDATAとECCの尤度値は、2値化回路7で2値化され、ECC復号器3へ出力される。
このように、外符号復号器からの尤度情報Lを用いて、エラー判定器30により、復号後のエラーシンボル数を推定し、各インターリーブにおけるエラーがtaシンボル以下なら,反復復号を中止、残留エラーは,IIECCを用いて訂正するようにする。
又、この実施の形態では、あるインターリーブにおいて、taを越えるエラーが発生しているにもかかわらず、エラー判定器30がta以下のエラーと判定して,反復復号を中止した場合でも、そのエラーがtb以下なら,IIECCにより訂正可能であり、より安定した運用が可能となる。
(他の実施の形態)
前述の実施の形態では、ECC符号として、リードソロモン符号で説明したが、BCH(Bose Chaudhari Hocquengham)符号等の他の符号を利用できる。インターリーブを4インターリーブで説明したが、2以上のインターリーブ構成に適用できる。更に、磁気ディスク装置の記録再生装置の適用の例で説明したが、光ディスク装置等の他の媒体記憶装置や、通信装置にも適用できる。
以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。
(付記1)
所定ビット数のデータに、ECC符号と外符号とが付与された信号を復号する復号器において、各々、軟入力軟出力検出器と外符号復号器とで構成される復号器を多段に構成した反復復号器と、前記反復復号器の2値化出力をECC符号で訂正するECC復号器と、前記復号器の尤度情報を用いて、復号後のエラーシンボル数を推定し、前記推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定する反復復号制御回路とを有し、前記反復復号制御回路は、前記復号続行と判定した場合に、前記判定対象とされた復号器の尤度情報を、次段の復号器に出力し、反復復号し、前記復号続行しないと判定した時は、前記判定対象とされた復号器の尤度情報の2値化出力を、前記ECC復号器に出力することを特徴とする復号器。
(付記2)
前記信号は、前記データをインターリーブし、前記インターリーブされた各データブロックにECC符号が付与された後、デ・インターリーブされた信号からなり、前記反復復号制御回路は、前記復号器の尤度情報をインターリーブし、インターリーブされたブロックの各尤度情報を用いて、各ブロックの復号後のエラーシンボル数を推定し、前記各ブロックの推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定することを特徴とする付記1の復号器。
(付記3)
前記反復復号制御回路は、前記データとECC符号の尤度情報から、復号後のエラーシンボル数を推定することを特徴とする付記1の復号器。
(付記4)
前記反復復号制御回路は、前記尤度情報の尤度値と所定の閾値とを比較して、前記エラーを検出し、前記検出したエラー数を累積して、前記復号後のエラーシンボル数を推定することを特徴とする付記1の復号器。
(付記5)
前記反復復号制御回路は、前記推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えるか否かを判定し、前記推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えると判定した時に、前記反復復号の続行と判断することを特徴とする付記1の復号器。
(付記6)
前記反復復号制御回路は、前記復号器の尤度情報を格納するバッファと、前記バッファの尤度情報を用いて、復号後のエラーシンボル数を推定し、前記推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定するエラー判定回路と、前記バッファに尤度情報を2値化する2値化回路と、前記エラー判定回路が復号続行と判定した時に、前記バッファの尤度情報を前記反復復号器の次段の復号器に出力する第1のゲート回路と、前記エラー判定回路が復号続行と判定した時に、前記バッファの尤度情報を前記2値化回路に出力する第2のゲート回路とを有することを特徴とする付記1の復号器。
(付記7)
前記反復復号制御回路は、前記各ブロックの推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とを比較して、訂正不可能なブロック数を計算し、前記訂正不可能なブロック数から、前記反復復号器の次段の復号器での復号を続行するか否かを判定することを特徴とする付記2の復号器。
(付記8)
前記反復復号制御回路は、前記各ブロックの推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えるか否かを判定し、前記越えると判定した時に、前記訂正不可能なブロックと判断することを特徴とする付記7の復号器。
(付記9)
前記外符号復号器が、低密度パリテイ復号器からなることを特徴とする付記1の復号器。
(付記10)
記憶媒体から所定ビット数のデータに、ECC符号と外符号とが付与された信号を読み取り、復号する記録再生装置において、前記信号が入力され、各々、軟入力軟出力検出器と外符号復号器とで構成される復号器を多段に構成した反復復号器と、前記反復復号器の2値化出力をECC符号で訂正するECC復号器と、前記復号器の尤度情報を用いて、復号後のエラーシンボル数を推定し、前記推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定する反復復号制御回路とを有し、前記反復復号制御回路は、前記復号続行と判定した場合に、前記判定対象とされた復号器の尤度情報を、次段の復号器に出力し、反復復号し、前記復号続行しないと判定した時は、前記判定対象とされた復号器の尤度情報の2値化出力を、前記ECC復号器に出力することを特徴とする記録再生装置。
(付記11)
前記信号は、前記データをインターリーブし、前記インターリーブされた各データブロックにECC符号が付与された後、デ・インターリーブされた信号からなり、前記反復復号制御回路は、前記復号器の尤度情報をインターリーブし、インターリーブされたブロックの各尤度情報を用いて、各ブロックの復号後のエラーシンボル数を推定し、前記各ブロックの推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定することを特徴とする付記10の記録再生装置。
(付記12)
前記反復復号制御回路は、前記データとECC符号の尤度情報から、復号後のエラーシンボル数を推定することを特徴とする付記10の記録再生装置。
(付記13)
前記反復復号制御回路は、前記尤度情報の尤度値と所定の閾値とを比較して、前記エラーを検出し、前記検出したエラー数を累積して、前記復号後のエラーシンボル数を推定することを特徴とする付記10の記録再生装置。
(付記14)
前記反復復号制御回路は、前記推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えるか否かを判定し、前記推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えると判定した時に、前記反復復号の続行と判断することを特徴とする付記10の記録再生装置。
(付記15)
前記反復復号制御回路は、前記復号器の尤度情報を格納するバッファと、前記バッファの尤度情報を用いて、復号後のエラーシンボル数を推定し、前記推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定するエラー判定回路と、前記バッファに尤度情報を2値化する2値化回路と、前記エラー判定回路が復号続行と判定した時に、前記バッファの尤度情報を前記反復復号器の次段の復号器に出力する第1のゲート回路と、前記エラー判定回路が復号続行と判定した時に、前記バッファの尤度情報を前記2値化回路に出力する第2のゲート回路とを有することを特徴とする付記10の記録再生装置。
(付記16)
前記反復復号制御回路は、前記各ブロックの推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とを比較して、訂正不可能なブロック数を計算し、前記訂正不可能なブロック数から、前記反復復号器の次段の復号器での復号を続行するか否かを判定することを特徴とする付記11の記録再生装置。
(付記17)
前記反復復号制御回路は、前記各ブロックの推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えるか否かを判定し、前記越えると判定した時に、前記訂正不可能なブロックと判断することを特徴とする付記16の記録再生装置。
(付記18)
前記外符号復号器が、低密度パリテイ復号器からなることを特徴とする付記10の記録再生装置。
反復復号器を構成する外符号復号器からの尤度情報を用いて、エラー判定器が,復号後のエラーシンボル数を推定し、ECCで訂正可能なエラーシンボル数なら,反復復号を中止し、ECCで訂正可能な残留エラーは、ECC復号器3を用いて訂正する。このため、多段の反復復号器で構成した場合に、反復復号回数を低減し、低消費電力が実現できる。
本発明の復号器の第1の実施の形態の構成図である。 図1のエラー判定器のブロック図である。 図1、図2の尤度情報の説明図である。 図2のエラー判定の動作説明図である。 本発明の復号器の第2の実施の形態のインターリーブ動作の説明図である。 本発明の復号器の第2の実施の形態のデ・インターリーブ動作の説明図である。 本発明の復号器の第2の実施の形態の構成図である。 本発明の復号器の第2の実施の形態の反復復号制御処理フロー図である。 本発明の復号器の第3の実施の形態の反復復号制御処理フロー図である。 従来の反復復号を利用した信号処理のブロック図である。 従来の反復復号器のブロック図である。 図11の反復復号動作の説明図である。
符号の説明
1 磁気記録再生チャネル
2 反復復号器
3 ECC回路
4A〜4N チャネル復号器
5A〜5N 外符号復号器
6 反復復号制御回路
7 2値化回路
10A〜10N−1 尤度バッファ
12A〜12N−1 エラー判定器
14A〜14N−1 第1のゲート回路
16A〜16N−1 第2のゲート回路
18 ORゲート回路

Claims (5)

  1. 所定ビット数のデータに、ECC符号と外符号とが付与された信号を復号する復号器において、
    各々、軟入力軟出力検出器と外符号復号器とで構成される復号器を多段に構成した反復復号器と、
    前記反復復号器の2値化出力をECC符号で訂正するECC復号器と、
    前記復号器の尤度情報を用いて、復号後のエラーシンボル数を推定し、前記推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定する反復復号制御回路とを有し、
    前記反復復号制御回路は、前記復号続行と判定した場合に、前記判定対象とされた復号器の尤度情報を、次段の復号器に出力し、反復復号し、前記復号続行しないと判定した時は、前記判定対象とされた復号器の尤度情報の2値化出力を、前記ECC復号器に出力する
    ことを特徴とする復号器。
  2. 前記信号は、前記データをインターリーブし、前記インターリーブされた各データブロックにECC符号が付与された後、デ・インターリーブされた信号からなり、
    前記反復復号制御回路は、前記復号器の尤度情報をインターリーブし、インターリーブされたブロックの各尤度情報を用いて、各ブロックの復号後のエラーシンボル数を推定し、前記各ブロックの推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定する
    ことを特徴とする請求項1の復号器。
  3. 前記反復復号制御回路は、前記尤度情報の尤度値と所定の閾値とを比較して、前記エラーを検出し、前記検出したエラー数を累積して、前記復号後のエラーシンボル数を推定する
    ことを特徴とする請求項1の復号器。
  4. 前記反復復号制御回路は、前記推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えるか否かを判定し、前記推定したエラーシンボル数が、前記ECC復号器で訂正可能なエラーシンボル数を越えると判定した時に、前記反復復号の続行と判断する
    ことを特徴とする請求項1の復号器。
  5. 記憶媒体から所定ビット数のデータに、ECC符号と外符号とが付与された信号を読み取り、復号する記録再生装置において、
    前記信号が入力され、各々、軟入力軟出力検出器と外符号復号器とで構成される復号器を多段に構成した反復復号器と、
    前記反復復号器の2値化出力をECC符号で訂正するECC復号器と、
    前記復号器の尤度情報を用いて、復号後のエラーシンボル数を推定し、前記推定したエラーシンボル数と、前記ECC復号器で訂正可能なエラーシンボル数とから、前記反復復号器の次段の復号器での復号を続行するか否かを判定する反復復号制御回路とを有し、
    前記反復復号制御回路は、前記復号続行と判定した場合に、前記判定対象とされた復号器の尤度情報を、次段の復号器に出力し、反復復号し、前記復号続行しないと判定した時は、前記判定対象とされた復号器の尤度情報の2値化出力を、前記ECC復号器に出力する
    ことを特徴とする記録再生装置。
JP2008170637A 2008-06-30 2008-06-30 復号器及び記録再生装置 Pending JP2010009719A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008170637A JP2010009719A (ja) 2008-06-30 2008-06-30 復号器及び記録再生装置
US12/410,176 US20090327832A1 (en) 2008-06-30 2009-03-24 Decoder and recording/reproducing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008170637A JP2010009719A (ja) 2008-06-30 2008-06-30 復号器及び記録再生装置

Publications (1)

Publication Number Publication Date
JP2010009719A true JP2010009719A (ja) 2010-01-14

Family

ID=41449077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008170637A Pending JP2010009719A (ja) 2008-06-30 2008-06-30 復号器及び記録再生装置

Country Status (2)

Country Link
US (1) US20090327832A1 (ja)
JP (1) JP2010009719A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110099560A (ko) * 2010-03-02 2011-09-08 삼성전자주식회사 디코더와 상기 디코더를 포함하는 장치들
JP2012205297A (ja) * 2011-03-28 2012-10-22 Fujitsu Ltd 誤り訂正装置及び誤り訂正方法
KR101737569B1 (ko) 2016-08-24 2017-05-18 시게이트 테크놀로지 인터내셔날 디코더와 상기 디코더를 포함하는 장치들
JP2017534190A (ja) * 2015-10-13 2017-11-16 華為技術有限公司Huawei Technologies Co.,Ltd. 復号デバイスおよび方法、および信号送信システム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578253B2 (en) * 2010-01-04 2013-11-05 Lsi Corporation Systems and methods for updating detector parameters in a data processing circuit
US9015555B2 (en) * 2011-11-18 2015-04-21 Cisco Technology, Inc. System and method for multicast error recovery using sampled feedback
US8826096B2 (en) * 2011-12-29 2014-09-02 Korea Advanced Institute Of Science And Technology Method of decoding LDPC code for producing several different decoders using parity-check matrix of LDPC code and LDPC code system including the same
US9116822B2 (en) * 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
WO2016015288A1 (zh) * 2014-07-31 2016-02-04 华为技术有限公司 译码方法和译码器
US10140180B1 (en) * 2016-11-04 2018-11-27 Seagate Technology Llc Segment-based outer code recovery
JP2021034825A (ja) 2019-08-21 2021-03-01 株式会社東芝 磁気ディスク装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110099560A (ko) * 2010-03-02 2011-09-08 삼성전자주식회사 디코더와 상기 디코더를 포함하는 장치들
JP2011181169A (ja) * 2010-03-02 2011-09-15 Samsung Electronics Co Ltd デコーダと該デコーダを含む装置
KR101652452B1 (ko) 2010-03-02 2016-08-30 시게이트 테크놀로지 인터내셔날 디코더와 상기 디코더를 포함하는 장치들
JP2012205297A (ja) * 2011-03-28 2012-10-22 Fujitsu Ltd 誤り訂正装置及び誤り訂正方法
JP2017534190A (ja) * 2015-10-13 2017-11-16 華為技術有限公司Huawei Technologies Co.,Ltd. 復号デバイスおよび方法、および信号送信システム
US10447300B2 (en) 2015-10-13 2019-10-15 Hauwei Technologies Co., Ltd. Decoding device, decoding method, and signal transmission system
KR101737569B1 (ko) 2016-08-24 2017-05-18 시게이트 테크놀로지 인터내셔날 디코더와 상기 디코더를 포함하는 장치들

Also Published As

Publication number Publication date
US20090327832A1 (en) 2009-12-31

Similar Documents

Publication Publication Date Title
US8151162B2 (en) Encoding device, decoding device, encoding/decoding device, and recording/reproducing device
JP2010009719A (ja) 復号器及び記録再生装置
US8055977B2 (en) Decoding device, encoding/decoding device and recording/reproducing device
US9048879B1 (en) Error correction system using an iterative product code
JP4652310B2 (ja) 復号器及び再生装置
US8423873B2 (en) Decoding techniques for correcting errors using soft information
JP4198904B2 (ja) 記録再生装置、信号復号回路、エラー訂正方法、及び反復型復号器
US7849388B2 (en) Signal decoding method and device, and signal storage system
US8341506B2 (en) Techniques for correcting errors using iterative decoding
JP2007087529A (ja) 信号復号装置、信号復号方法、および記憶システム
US20080104489A1 (en) Maximum likelihood detector, error correction circuit and medium storage device
JP2005093038A (ja) 記録再生装置および記録再生回路
US7786906B2 (en) Modulation coding and decoding
JP5472715B2 (ja) 符号化方法および装置、並びに復号方法および装置
JP4088133B2 (ja) リードチャネル復号器、リードチャネル復号方法およびリードチャネル復号プログラム
KR20040054206A (ko) 복잡도를 줄인 코드 테이블을 사용하는 복조 장치 및 그방법
JP2010152960A (ja) エラー訂正回路及び記憶装置
JP4294407B2 (ja) 信号処理方法及び信号処理回路
JP2004193727A (ja) 信号処理方法及び信号処理回路
JP2009271963A (ja) 復号方法、ハードディスクコントローラ及びハードディスク装置
JP3551879B2 (ja) 誤り訂正装置及び方法
JP2008152915A (ja) リードチャネル復号器、リードチャネル復号方法およびリードチャネル復号プログラム
Lee et al. Design of improved error correction decoder using error detecting information of modulation code in digital versatile disc systems
KR20070012928A (ko) 광 데이터 저장 장치를 위한 변조 복호기의 오류 검출 방법및 오류 제어 방법

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091022