JP2008257842A - データ記憶装置及びデータ誤り訂正方法 - Google Patents

データ記憶装置及びデータ誤り訂正方法 Download PDF

Info

Publication number
JP2008257842A
JP2008257842A JP2008075722A JP2008075722A JP2008257842A JP 2008257842 A JP2008257842 A JP 2008257842A JP 2008075722 A JP2008075722 A JP 2008075722A JP 2008075722 A JP2008075722 A JP 2008075722A JP 2008257842 A JP2008257842 A JP 2008257842A
Authority
JP
Japan
Prior art keywords
decoder
output stream
iteration
adder
post
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
JP2008075722A
Other languages
English (en)
Inventor
Zongwang Li
ゾンワン・リ
Yuan Xing Lee
ユアン・シン・リー
Richard L Galbraith
リチャード・レオ・ガルブレイス
Ivana Djurdjevic
ジョルジェビッチ イヴァナ
Travis Roger Oenning
トラビス・ロジャー・オーニング
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.)
HGST Netherlands BV
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
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 Hitachi Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Publication of JP2008257842A publication Critical patent/JP2008257842A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • 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
    • 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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. 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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2978Particular arrangement of the component decoders
    • H03M13/2987Particular arrangement of the component decoders using more component decoders than component codes, e.g. pipelined turbo 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Abstract

【課題】データ記憶装置において、引き起こされるエラー伝搬がより少なく、複雑さの度合いも高くない、誤り訂正の反復的技術が望まれる。また、エラーフロアを制御可能な、誤り訂正の反復的技術も望まれる。
【解決手段】データ記憶装置上に記録されたデータを反復的に復号化する技術が提供される。反復デコーダは、復号化を複数回反復させることによってデータを復号化して、誤りを訂正する。反復デコーダによる複数回の反復において、後処理ブロックはソフト情報を生成する。デコーダは、最小和復号化アルゴリズムを低密度・パリティ・チェック(LDPC)コードに適用することによって、前記ソフト情報および更新済みソフト情報に基づく外的情報を生成する。
【選択図】図2

Description

本発明は、誤りを訂正する技術に関し、特に、ハードディスクドライブなどのデータ記憶装置において反復的復号化を使用して誤りを訂正する技術に関する。
データの信頼性を確保するために、およびチャネルノイズの副作用を減少させるために、データ記録装置において誤り訂正符号が使用される。パリティコードは、誤り訂正符号の例である。多くの場合、パリティコードを使用することによって、通信チャネルを通じて送信されたデータ、またはデジタル記憶媒体上に記録されたデータに発生する誤りを訂正する。例えば、磁気ハードディスク上に記録されたデータの誤りを訂正するには、パリティ・チェック・コードが使用されることが多い。
誤り訂正復号化は、硬判定デコーダまたは軟判定デコーダを使用して実行することができる。一般に、硬判定復号化は、誤りである可能性は符号語に含まれる全てのビットについて等しいという仮定に基づいている。一般に、硬判定復号化では、一部のビットが他のビットよりも信頼性が高いとは考えていない。しかし、一部の硬判定復号化コードは、記録ビットに対して等しくない保護を行う。
軟判定復号化は、入力アナログデータ(例えば、等価済みリードバック信号またはビット信頼性情報)を受信して、信頼性のないビットを優先的に反転させる。軟判定復号化において、ログ尤度比(LLR)は、ビットが「1」である可能性をビットが「0」である可能性で割った基準である。LLRの絶対値が大きくなれば、ビットの信頼性はさらに高くなることを示す。軟判定デコーダは、各ビットに対してLLRを使用することによって、ビットに誤りがある可能性を評価する。軟判定復号化は、硬判定復号化よりも優れている。なぜならば、一部のビットはその他のビットよりもより信頼性が高いという事実を利用することができるためである。
低密度・パリティ・チェック(LDPC)コードは、パリティ・チェック・マトリクスHを有する線形誤り訂正符号である。このパリティ・チェック・マトリクスHの各行および各列には、少数の非ゼロ要素が含まれる。LDPC符号語は、軟判定復号化を使用して復号化することができる。LDPCコードは、任意の有限フィールド上に定義することができる。例えば、LDPCコードは、「1」が唯一の非ゼロ要素であるガロア域GF(2)上に定義することができる。LDPCコードの行(または列)の重み(または程度)とは、パリティ・チェック・マトリクスの行(または列)に含まれる数の中でゼロ以外の値を有する要素の数を指す。
標準の符号化プロセスにおいては、情報ビットのブロックは、LDPCコードのパリティ・チェック・マトリクスに由来する生成行列を使用して符号化される。軟判定復号化では、各ビットに提供される誤り保護の強度は、符号語の復号化に使用されるパリティ・チェック・マトリクスに含まれる対応する列の重みに依存する。重みのより低い列に対応するビットには、より低い誤り保護が提供される。
いくつかの種類の誤り検出方式は、反復的である。反復的な誤り検出方式に関する1つの問題は、それらの誤り検出方式は、磁気ハードディスクドライブで使用する場合、エラー伝搬を引き起こしたり、受け入れがたいエラーフロアを生じたりする傾向があることである。また、磁気ハードディスクドライブに使用される多くの反復的な誤り検出方式は、非常に複雑でもある。
したがって、引き起こされるエラー伝搬がより少なく、複雑さの度合いも高くない、誤り訂正の反復的技術が望まれる。また、エラーフロアを制御可能な、誤り訂正の反復的技術も望まれる。
本発明は、データ記憶装置上に記録されたデータを反復的に復号化する技術を提供する。反復デコーダは、復号化を複数回反復させることによって前記データを復号化して、誤りを訂正する。前記反復デコーダによる複数回の反復において、後処理ブロックはソフト情報を生成する。デコーダは、最小和復号化アルゴリズムを低密度・パリティ・チェック(LDPC)コードに適用することによって、前記ソフト情報および更新済みソフト情報に基づく外的情報を生成する。
本発明のその他の目的、機能、および利点は、以下の詳細な説明および添付図面を考慮することによって明らかになる。
本発明によれば、データ記憶装置において、引き起こされるエラー伝搬がより少なく、複雑さの度合いも高くない、誤り訂正の反復的技術を提供することができる。
図1は、本発明の一実施例による、誤り訂正および変調符号化方式を示す図である。最初に、入力データは、変調符号化技術を使用して変調エンコーダ101によって符号化される。変調エンコーダ101の出力ストリームは、リードソロモン(RS)エンコーダ102に供給される。RSエンコーダ102は、誤り訂正機能を提供するRSチェックバイトを生成する。
RSエンコーダ102の出力ストリームは、ロー・カラム・ウェイト・低密度・パリティ・チェック(LDPC)コードエンコーダ103に供給される。LDPCコードエンコーダ103は、LDPCコードチェックバイトを生成する。当該LDPCコードチェックバイトは、データストリームに対して付加的レベルの誤り訂正を可能にするものである。磁気ハードディスクドライブは、任意の好適な磁気データ記録技術を使用して、エンコーダ103の符号化済み出力データを磁気ハードディスク上に記録することができる。
本発明の一部の実施例によれば、誤り訂正デコーダは復号化を複数回(N)反復させる。反復デコーダは、軟判定ポストプロセッサおよび最小和LDPCコードデコーダを使用して、復号化を複数回反復させる。ここで、本発明による特定の復号化について様々な例をあげて、本発明の原理を詳細に説明する。
図2は、本発明の一実施例による反復誤り訂正デコーダの第1の例を示す図である。図2の誤り訂正デコーダおよび本発明の他のデコーダは、ハードディスクドライブまたは他の種類のストレージデバイスにおいて使用することができる。本発明の一部の実施例によれば、反復デコーダによってエラー伝搬は減少し、制御可能なエラーフロアが拡大するとともに、それ自体も単純化する。
最初に、入力等化器(図示されていない)は、磁気ハードディスクなどのデータ記憶媒体から読み取ったデータの入力ストリームを受信する。当該等化器は、そのデータを表す等価済みサンプルのストリームを生成する。等価済みサンプルは、MF202、加算器208、加算器222、加算器244、およびデコーダ内のその他の加算器のそれぞれの入力に送信される。ここに説明されるMF202のブロックおよびその他のMFブロックは、長く整合させられたノイズ・ホワイトン・フィルタである。ブロックMF202によって、誤り信号は、より長いノイズ・ホワイトン・フィルタを通過することが可能になり、符号間干渉(ISI)残留ノイズおよびその他のノイズをさらに抑制することができる。
図2のデコーダは、等価済みサンプルに対して復号化をN回反復させる。Nとして可能なのは、1より大きい任意の好適な正の整数である。図2では、例として、反復1、2、3、およびNが示されている。反復1は、整合済みビタビブロック204、目標フィルタブロック206、加算器208、LMF210、ソフト・ポスト・プロセッサ212、およびソフト入力ソフト出力デコーダ(最小和デコーダ)214などを含む。反復2は、加算器217、整合済みビタビブロック218、目標フィルタブロック220、加算器222、LMF224、加算器226、ソフト・ポスト・プロセッサ228、加算器229、および最小和デコーダ230などを含む。反復3は、加算器239、整合済みビタビブロック240、目標フィルタブロック242、加算器244、LMF246、加算器250、ポストプロセッサ252、加算器253、および最小和デコーダ254などを含む。
デコーダの第1の反復(反復1)において、MF202の出力ストリームは、検出器204の整合済みビタビアルゴリズムによって処理される。整合済みビタビ検出器204は、目標フィルタブロック206およびソフト・ポスト・プロセッサ212のそれぞれの入力に送信される出力ストリームを生成する。目標フィルタブロック206は、検出器204の出力ストリームから理想的な等価済みサンプルを再生する。
加算器208は、目標フィルタブロック206によって生成される理想的な等価済みサンプルを、デコーダの入力ストリームに含まれる対応する等価済みサンプルから減じる。デコーダの入力ストリームからの等価済みサンプルは、加算器208により使用される前に、ブロック202、204、206の遅延分だけ遅延される。一般に、デコーダの入力ストリームに含まれる等価済みサンプルは、図2や下記の他の実施例に示す現在ブロック(例えば、図2の場合、加算器222、244)により使用される前に、それ以前のブロックの遅延分だけ遅延される。加算器208の出力ストリームは、ロング・マッチ・フィルタ(LMF)210の入力に送信される。LMF210は、ソフト・ポスト・プロセッサ212に送信されるホワイトン・ノイズを有する出力ストリームを生成する。
ソフト・ポスト・プロセッサ212は、整合済みビタビ検出器204およびLMF210からそれぞれ出力ストリームを受信する。ソフト・ポスト・プロセッサ212は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ソフト・ポスト・プロセッサ212によって生成されるソフト情報は、最小和デコーダ214の入力に送信される。
最小和デコーダ214は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、ソフト・ポスト・プロセッサ212によって生成されたソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ214は、更新済みソフト情報と、ソフト・ポスト・プロセッサ212によって生成されたソフト情報との差を計算して、外的情報を生成する。最小和デコーダ214からの(およびここに説明される他の最小和デコーダからの)外的情報は、更新済みソフト情報と、ソフト・ポスト・プロセッサ212によって生成されるソフト情報とのメトリックの差である。
軟判定復号化において、復号化をローカルで複数回反復させて、受信した語をより信頼性の高い語(すなわち、符号語、または符号語に近いハミング距離を有する語)に収束しようと試みる。図2に示すデコーダに使用される最小和デコーダの複雑さのレベルは低い。なぜならば、それらの最小和デコーダの使用するLDPCコードの重みは低く、それらの最小和デコーダの行うローカル反復の回数も少ないためである(例えば、1回または2回)。また、図2に示す最小和デコーダの引き起こすエラー伝搬はさらに少なく、それらの最小和デコーダの有するエラーフロアはより一層制御可能となる。なぜならば、それらの最小和デコーダの使用するLDPCコードの重みは低く、それらの最小和デコーダの行うローカル反復の回数も少ないためである。
最小和デコーダ214の出力ストリームは、乗算器216に送信される。乗算器216は、最小和デコーダ214の出力ストリームに含まれる外的情報に、スケール係数アルファを乗じる。乗算器216の出力ストリームを加算器217、226、229のそれぞれの入力に送信した後、デコーダの第2の反復が開始される。
加算器217は、MF202の出力ストリームの整合済み等価済みサンプルから、乗算器216の出力ストリームに含まれる乗算された外的情報を減じる。MF202の整合済み等価済みサンプルの出力ストリームは、加算器217に入力される前に、反復1の遅延分だけ遅延される。一般に、図2の実施例および下記の図6の実施例において、MFブロックの整合済み等価済みサンプルの出力ストリームは、現在の反復により使用される前に、それ以前の反復の遅延分だけ遅延される。検出器218は、その後、加算器217の出力ストリームに、整合済みビタビアルゴリズムを実行する。整合済みビタビブロック218は、目標フィルタブロック220およびソフト・ポスト・プロセッサ228のそれぞれの入力に送信される出力ストリームを生成する。
加算器222は、目標フィルタブロック220によって生成された再生済み等価済みサンプルを、対応する元の等価済みサンプルから減じる。加算器222の出力ストリームは、LMF224の入力に送信される。加算器226は、乗算器216の出力ストリームに含まれるスケール変更済み外的情報を、LMF224の出力ストリームに加算する。
ソフト・ポスト・プロセッサ228は、整合済みビタビ検出器218および加算器226からそれぞれ出力ストリームを受信する。ソフト・ポスト・プロセッサ228は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ポストプロセッサ228によって生成されたソフト情報は、入力加算器229に送信される。加算器229は、ポストプロセッサ228の出力ストリームに含まれるソフト情報から、乗算器216の出力ストリームに含まれるスケール変更済み外的情報を減じる。
最小和デコーダ230は、最小和低密度・パリティ・チェック(LDPC)コードを適用して、加算器229からのソフト情報を使用したより信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ230は、更新済みソフト情報と加算器229からのソフト情報との差を計算して、外的情報を生成する。最小和デコーダ230の出力ストリームは、乗算器232の入力に送信される。乗算器232は、最小和デコーダ230の出力ストリームに、スケール係数アルファを乗じる。
乗算器232の出力ストリームを加算器239に送信した後、デコーダの第3の反復が開始される。加算器239は、MF202の出力ストリームに含まれる誤り信号から、乗算器232の出力ストリームに含まれるスケール変更済み外的情報を減じる。検出器240は、加算器239の出力ストリームに整合済みビタビアルゴリズムを実行する。整合済みビタビブロック240は、目標フィルタブロック242およびソフト・ポスト・プロセッサ252のそれぞれの入力に送信される出力ストリームを生成する。
加算器244は、目標フィルタブロック242によって生成された再生済み等価済みサンプルを、対応する元の等価済みサンプルから減じる。加算器244の出力ストリームは、LMF246の入力に送信される。加算器250は、乗算器232の出力ストリームを、LMF246の出力ストリームに加える。
ソフト・ポスト・プロセッサ252は、整合済みビタビ検出器240および加算器250からそれぞれ出力ストリームを受信する。ソフト・ポスト・プロセッサ252は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ポストプロセッサ252によって生成されたソフト情報は、加算器253に送信される。
加算器253は、ソフト・ポスト・プロセッサ252の出力ストリームに含まれるソフト情報から、乗算器232の出力ストリームに含まれるスケール変更済み外的情報を減じる。最小和デコーダ254は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、加算器253からのソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ254は、更新済みソフト情報と加算器253からのソフト情報との差を計算して、外的情報を生成する。最小和デコーダ254の出力ストリームは、デコーダの次の反復における乗算器の入力に送信される。
図2に示されるデコーダの反復2、3に関する上記手順は、各追加反復に対して繰り返される。しかし、デコーダの最後の反復Nには最小和デコーダは含まれない。反復Nにおける最後のブロックは、硬判定ブロック266である。硬判定ブロック266は、ソフト・ポスト・プロセッサ264からのソフト情報をシンボルのストリームに変換する。硬判定ブロック266の出力ストリームは、リードソロモン(RS)デコーダ270に送信される。RSデコーダは、RS復号化技術を使用して、反復Nの出力ストリームにRS復号化を実行する。RSデコーダ270は、等価済みサンプルにおける多数の誤りを訂正することができる。これらの誤りは、最小和デコーダでは訂正されない。
図3は、本発明の別の実施例による反復誤り訂正デコーダの第2の例を示す図である。前述の実施例と同様に、MFブロック302は、入力等化器(図示されていない)から等価済みサンプルを受信する。図3のデコーダは、等価済みサンプルに対して復号化をN回反復させる。Nとして可能なのは、1より大きい任意の好適な正の整数である。図3では、例として、反復1、2、3、およびNが示されている。
反復1は、整合済みビタビアルゴリズム304、目標フィルタブロック306、加算器308、ロング・マッチ・フィルタ(LMF)ブロック312、ソフト・ポスト・プロセッサ314、および最小和デコーダ316などを含む。反復2は、硬判定デコーダ318、目標フィルタブロック320、加算器322、ロング・マッチ・フィルタ(LMF)ブロック326、乗算器328、加算器330、ソフト・ポスト・プロセッサ332、加算器334、および最小和デコーダ336などを含む。N番目の反復を除いて、後続の反復は、それぞれ反復2と同じ手順を実行する。デコーダのN番目の反復は、第3加算器334または最小和デコーダ336を備えていない。
MFブロック302は、整合済みビタビ検出器304に送信される出力ストリームを生成する。反復1は、ビタビ検出器304から開始する。検出器304は、整合済みビタビアルゴリズムを使用して、MFブロック302の出力から出力ストリームを生成する。図3に示すデコーダは、整合済みビタビアルゴリズムを使用する検出器ブロック304を1つのみ備えている。
ビタビアルゴリズム304によって生成された出力ストリームは、目標フィルタブロック306およびソフト・ポスト・プロセッサ314のそれぞれの入力に送信される。目標フィルタブロック306は、加算器308に送信される再生済み等価済みサンプルの出力ストリームを生成する。加算器308は、目標フィルタブロック306の出力ストリームに含まれる再生済み等価済みサンプルを、デコーダの入力ストリームに含まれる対応する元の等価済みサンプルから減じて、誤りサンプルを取得する。
加算器308の出力ストリームは、LMFブロック312の入力に送信される。ソフト・ポスト・プロセッサ314は、整合済みビタビ検出器304およびLMF312からそれぞれ出力ストリームを受信する。ソフト・ポスト・プロセッサ314は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ソフト・ポスト・プロセッサ314によって生成されたソフト情報は、最小和デコーダブロック316の入力および硬判定デコーダ318の入力に送信される。
最小和デコーダ316は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、ソフト・ポスト・プロセッサ314によって生成されるソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ316は、更新済みソフト情報と、ソフト・ポスト・プロセッサ314によって生成されたソフト情報との差を計算して、外的情報を生成する。最小和デコーダ316の出力ストリームは、乗算器328の入力に送信される。
図3に示すデコーダに使用される最小和デコーダの複雑さのレベルは低い。なぜならば、それらの最小和デコーダの使用するLDPCコードの重みは低く、それらの最小和デコーダの行うローカル反復の回数も少ないためである(例えば、ちょうどl回または2回)。また、図3に示す最小和デコーダの引き起こすエラー伝搬はさらに少なく、それらの最小和デコーダの有するエラーフロアはより一層制御可能となる。なぜならば、それらの最小和デコーダの使用するLDPCコードの重みは低く、それらの最小和デコーダの行うローカル反復の回数も少ないためである。
図3に示すデコーダの反復2において、硬判定デコーダ318は、複雑さの低い任意の適切な硬判定復号化方式を使用して、ポストプロセッサ314の出力ストリームに硬判定復号化を実行する。硬判定デコーダ318は、目標フィルタブロック320およびソフト・ポスト・プロセッサ・ブロック332のそれぞれの入力に送信される復号化済み出力ストリームを生成する。加算器322は、目標フィルタブロック320の出力ストリームに含まれる再生済み等価済みサンプルを、入力ストリームに含まれる元の等価済みサンプルから減じる。
加算器322の出力ストリームは、LMFブロック326に送信される。乗算器328は、最小和デコーダ316の出力ストリームに、スケール係数アルファを乗じる。加算器330は、LMFブロック326の出力ストリームに含まれる誤りサンプルを、乗算器328の出力ストリームに含まれるスケール変更済み外的情報に加える。
ポストプロセッサ332は、硬判定デコーダ318および加算器330からそれぞれの出力ストリームを受信する。ソフト・ポスト・プロセッサ332は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ポストプロセッサ332によって生成されたソフト情報は、加算器334の入力および硬判定デコーダ340の入力に送信される。
加算器334は、ソフト・ポスト・プロセッサ332の出力ストリームから、乗算器328の出力ストリームに含まれるスケール変更済み外的情報を減じる。加算器334の出力ストリームは、最小和デコーダブロック336の入力に送信される。最小和デコーダ336は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、加算器334からのソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ336は、更新済みソフト情報と加算器334からのソフト情報との差を計算して、外的情報を生成する。デコーダブロック336の復号化済み出力ストリームは、乗算器342の入力に送信される。
デコーダの反復3は、硬判定デコーダブロック340から開始する。図3に示すデコーダの各々の追加反復は、上述したように、最後の反復Nを除いて、反復2の手順を繰り返す。最後の反復Nは、加算器334または最小和デコーダ336を含まない。その代わりに、ソフト・ポスト・プロセッサ364の出力ストリームを硬判定復号化ブロック365に送信して、ソフト情報を硬判定シンボルに変換する。RSデコーダ366は、RS復号化技術を使用して、硬判定ブロック365の出力ストリームを復号化する。RSデコーダ366は、等価済みサンプルにおける多数の誤りを訂正することができる。これらの誤りは、例えば最小和デコーダでは訂正されない。
図4は、本発明の別の実施例による反復誤り訂正デコーダの第3の例を示す図である。前述の実施例と同様に、MFブロック402は、入力等化器(図示されていない)から等価済みサンプルを受信する。図4のデコーダは、等価済みサンプルに対して復号化をN回反復させる。Nとして可能なのは、1より大きい任意の好適な正の整数である。図4では、反復1、2、3、およびNが示されている。
反復1は、整合済みビタビアルゴリズム404、目標フィルタブロック406、加算器408、ロング・マッチ・フィルタ(LMF)ブロック412、ソフト・ポスト・プロセッサ414、および最小和デコーダ416などを含む。反復2は、硬判定デコーダ420、目標フィルタブロック422、加算器424、ロング・マッチ・フィルタ(LMF)ブロック428、乗算器430、加算器432、ソフト・ポスト・プロセッサ434、加算器436、および最小和デコーダ438などを含む。N番目の反復を除いて、後続の反復は、それぞれ反復2と同じ手順を実行する。デコーダのN番目の反復は、第3加算器436または最小和デコーダ438を備えていない。
MFブロック402は、整合済みビタビ検出器404に送信される出力ストリームを生成する。図4に示されるデコーダの反復1は、ビタビ検出器404から開始する。検出器404は、整合済みビタビアルゴリズムを使用して、MFブロック402の出力から出力ストリームを生成する。図4に示すデコーダは、整合済みビタビアルゴリズムを使用する検出器ブロック404を1つのみ備えている。
ビタビアルゴリズム404によって生成された出力ストリームは、目標フィルタブロック406およびソフト・ポスト・プロセッサ414のそれぞれの入力に送信される。目標フィルタブロック406は、加算器408に送信される再生済み等価済みサンプルの出力ストリームを生成する。加算器408は、目標フィルタブロック406の出力ストリームに含まれる再生済み等価済みサンプルを、デコーダの入力ストリームに含まれる対応する元の等価済みサンプルから減じる。
加算器408の出力ストリームは、LMFブロック412の入力に送信される。ポストプロセッサ414は、整合済みビタビ検出器404およびLMF412からそれぞれ出力ストリームを受信する。ソフト・ポスト・プロセッサ414は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ポストプロセッサ414によって生成されたソフト情報は、最小和デコーダ416の入力に送信される。
最小和デコーダ416は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、ソフト・ポスト・プロセッサ414によって生成されるソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ416は、更新済みソフト情報と、ソフト・ポスト・プロセッサ414によって生成されたソフト情報との差を計算して、外的情報を生成する。図4に示すデコーダに使用される最小和デコーダの複雑さのレベルは低く、引き起こされるエラー伝搬もより少なく、制御可能なエラーフロアも拡大する。なぜならば、それらの最小和デコーダの使用するLDPCコードの重みは低く、それらの最小和デコーダの行うローカル反復の回数も少ないためである(例えば、l回または2回)。最小和デコーダ416の出力ストリームは、乗算器430および硬判定デコーダ420のそれぞれの入力に送信される。
図4に示すデコーダの反復2において、硬判定デコーダ420は、複雑さの低い任意の適切な硬判定復号化方式を使用して、最小和デコーダ416の出力ストリームに硬判定復号化を実行する。硬判定デコーダ420は、目標フィルタブロック422およびソフト・ポスト・プロセッサ・ブロック434のそれぞれの入力に送信される復号化済み出力ストリームを生成する。加算器424は、目標フィルタブロック422の出力ストリームを、入力ストリームに含まれる等価済みサンプルから減じる。
加算器424の出力ストリームは、LMFブロック428に送信される。乗算器430は、最小和デコーダ416の出力ストリームに含まれる外的情報を、スケール係数アルファで乗じる。加算器432は、LMFブロック428の出力ストリームに含まれる誤りサンプルを、乗算器430の出力ストリームに含まれるスケール変更済み外的情報に加える。
ポストプロセッサ434は、硬判定デコーダ420および加算器432から出力ストリームをそれぞれ受信する。ソフト・ポスト・プロセッサ434は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ソフト・ポスト・プロセッサ434によって生成されたソフト情報は、加算器436の入力に送信される。
ソフト・ポスト・プロセッサ434の出力ストリームは、加算器436の入力に送信される。加算器436は、乗算器430の出力ストリームを、ソフト・ポスト・プロセッサ434の出力ストリームから減じる。加算器436の出力ストリームは、最小和デコーダブロック438の入力に送信される。最小和デコーダ438は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、加算器436からのソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ438は、更新済みソフト情報と加算器436からのソフト情報との差を計算して、外的情報を生成する。デコーダブロック438の出力ストリームは、硬判定デコーダブロック440および乗算器442のそれぞれの入力に送信される。
デコーダの反復3は、硬判定デコーダブロック440から開始する。図4に示すデコーダの各々の追加反復は、上述したように、最後の反復Nを除いて、反復2の手順を繰り返す。最後の反復Nは、加算器436または最小和デコーダ438を含まない。その代わりに、ソフト・ポスト・プロセッサ450の出力ストリームを硬判定復号化ブロック451に送信する。硬判定復号化ブロック451は、ソフト情報を硬判定シンボルに変換する。RSデコーダ452は、RS復号化技術を使用して、硬判定デコーダブロック451の出力ストリームを復号化する。RSデコーダ452は、等価済みサンプルにおける多数の誤りを訂正することができる。これらの誤りは、最小和デコーダでは訂正されない。
図5は、本発明の別の実施例による反復誤り訂正デコーダの第4の例を示す図である。前述の実施例と同様に、MFブロック502は、入力等化器(図示されていない)から等価済みサンプルを受信する。図5のデコーダは、等価済みサンプルに対して復号化をN回反復させる。Nとして可能なのは、1より大きい任意の好適な正の整数である。図5では、例として、反復1、2、3、およびNが示されている。
反復1は、整合済みビタビアルゴリズム504、目標フィルタブロック506、加算器508、ロング・マッチ・フィルタ(LMF)ブロック512、ソフト・ポスト・プロセッサ514、および最小和デコーダ516などを含む。反復2は、乗算器520、加算器522、ソフト・ポスト・プロセッサ524、加算器526、および最小和デコーダ528などを含む。N番目の反復を除いて、後続の反復は、それぞれ反復2と同じ手順を実行する。デコーダのN番目の反復は、第2加算器526または最小和デコーダ528を備えていない。
MFブロック502は、整合済みビタビ検出器504に送信される出力ストリームを生成する。図5に示されるデコーダの反復1は、ビタビ検出器504から開始する。検出器504は、整合済みビタビアルゴリズムを使用して、MFブロック502の出力ストリームから出力ストリームを生成する。図5に示されるデコーダは、ビタビ検出器ブロック504、目標フィルタ506、およびロング・マッチ・フィルタ(LMF)ブロック512をそれぞれ1つずつ備えている。
ビタビアルゴリズム504によって生成された出力ストリームは、目標フィルタブロック506およびソフト・ポスト・プロセッサ514のそれぞれの入力に送信される。目標フィルタブロック506は、加算器508に送信される再生済み等価済みサンプルの出力ストリームを生成する。加算器508は、目標フィルタブロック506の出力ストリームに含まれる再生済み等価済みサンプルを、デコーダの入力ストリームに含まれる対応する元の等価済みサンプルから減じる。
加算器508の出力ストリームは、LMFブロック512の入力に送信される。ポストプロセッサ514は、整合済みビタビ検出器504およびLMF512からそれぞれ出力ストリームを受信する。ソフト・ポスト・プロセッサ514は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ポストプロセッサ514によって生成されたソフト情報は、最小和デコーダ516の入力に送信される。
最小和デコーダ516は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、ソフト・ポスト・プロセッサ514によって生成されるソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ516は、更新済みソフト情報と、ソフト・ポスト・プロセッサ514によって生成されたソフト情報との差を計算して、外的情報を生成する。図5に示すデコーダに使用される最小和デコーダの複雑さのレベルは低く、引き起こされるエラー伝搬もより少なく、制御可能なエラーフロアも拡大する。なぜならば、それらの最小和デコーダの使用するLDPCコードの重みは低く、それらの最小和デコーダの行うローカル反復の回数も少ないためである(例えば、1回または2回)。
最小和デコーダ516の出力ストリームは、乗算器520の入力に送信される。乗算器520は、最小和デコーダ516の出力ストリームに、スケール係数アルファを乗じる。加算器522は、LMFブロック512の出力ストリームを、乗算器520からのスケール変更済み外的情報に加える。
ポストプロセッサ524は、整合済みビタビ検出器504および加算器522からそれぞれ出力ストリームを受信する。ソフト・ポスト・プロセッサ524は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ソフト・ポスト・プロセッサ524によって生成されたソフト情報は、加算器526の入力に送信される。
加算器526は、乗算器520の出力ストリームを、ソフト・ポスト・プロセッサ524の出力ストリームから減じる。加算器526の出力ストリームは、最小和デコーダブロック528の入力に送信される。最小和デコーダ528は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、加算器526からのソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ528は、更新済みソフト情報と加算器526からのソフト情報との差を計算して、外的情報を生成する。デコーダブロック528の出力ストリームは、乗算器530の入力に送信される。
図5に示されるデコーダの反復3は、乗算器530から開始する。図5に示すデコーダの各々の追加反復は、上述したように、最後の反復Nを除いて、反復2の手順を繰り返す。最後の反復Nは、加算器526または最小和デコーダ528を含まない。その代わりに、ソフト・ポスト・プロセッサ540の出力ストリームを硬判定ブロック541に送信する。硬判定ブロック541は、ソフト情報を硬判定シンボルに変換する。RSデコーダ542は、RS復号化技術を使用して、硬判定ブロック541の出力ストリームを復号化する。RSデコーダ542は、等価済みサンプルにおける多数の誤りを訂正することができる。これらの誤りは、最小和デコーダでは訂正されない。
図6は、本発明の別の実施例による反復誤り訂正デコーダの第5の例を示す図である。前述の実施例と同様に、MFブロック602は、入力等化器(図示されていない)から等価済みサンプルを受信する。図6のデコーダは、等価済みサンプルに対して復号化をN回反復させる。Nとして可能なのは、1より大きい任意の好適な正の整数である。図6では、例として、反復1、2、3、およびNが示されている。図6に示されるデコーダは、図2および図3のデコーダから手順を取り入れたハイブリッド復号化方式を使用する。
反復1は、整合済みビタビアルゴリズム604、目標フィルタブロック606、加算器608、ロング・マッチ・フィルタ(LMF)ブロック612、ソフト・ポスト・プロセッサ614、および最小和デコーダ616などを含む。反復2は、加算器620、整合済みビタビアルゴリズム622、目標フィルタブロック624、加算器626、ロング・マッチ・フィルタ(LMF)ブロック630、加算器634、ソフト・ポスト・プロセッサ636、加算器638、および最小和デコーダ640などを含む。反復3は、硬判定デコーダブロック644、目標フィルタブロック646、加算器648、ロング・マッチ・フィルタ(LMF)ブロック652、乗算器642、加算器654、ソフト・ポスト・プロセッサ656、加算器658、および最小和デコーダ660などを含む。N番目の反復を除いて、後続の反復は、それぞれ反復3と同じ手順を実行する。デコーダのN番目の反復は、第3加算器658または最小和デコーダ660を備えていない。
図6に示すデコーダの第1の反復(反復1)において、MF602の出力ストリームは、ブロック604にある整合済みビタビアルゴリズムによって処理される。整合済みビタビ検出器ブロック604は、目標フィルタブロック606およびソフト・ポスト・プロセッサ614のそれぞれの入力に送信される再生済み等価済みサンプルの出力ストリームを生成する。
加算器608は、目標フィルタブロック606によって生成された再生済み等価済みサンプルを、デコーダの入力ストリームに含まれる等価済みサンプルの対応するビットから減じる。加算器608の出力ストリームは、ロング・マッチ・フィルタ(LMF)612の入力に送信される。LMF612は、ソフト・ポスト・プロセッサ614に送信される出力ストリームを生成する。
ポストプロセッサ614は、整合済みビタビ検出器604およびLMF612からそれぞれ出力ストリームを受信する。ソフト・ポスト・プロセッサ614は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ポストプロセッサ614によって生成されたソフト情報は、最小和デコーダ616の入力に送信される。
最小和デコーダ616は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、ソフト・ポスト・プロセッサ614によって生成されたソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ616は、更新済みソフト情報と、ソフト・ポスト・プロセッサ614によって生成されたソフト情報との差を計算して、外的情報を生成する。図6に示すデコーダに使用される最小和デコーダの複雑さのレベルは低く、引き起こされるエラー伝搬もより少なく、制御可能なエラーフロアも拡大する。なぜならば、それらの最小和デコーダの使用するLDPCコードの重みは低く、それらの最小和デコーダの行うローカル反復の回数も少ないためである(例えば、1回または2回)。
最小和デコーダ616は、乗算器618に送信される出力ストリームを生成する。乗算器618は、最小和デコーダ616の出力ストリームを、スケール係数アルファで乗じる。乗算器618の出力ストリームを加算器620、634、638に送信した後、デコーダの第2の反復が開始される。
加算器620は、MF602の出力ストリームに含まれる誤りサンプルから、乗算器618の出力ストリームに含まれるスケール変更済み外的情報を減じる。検出器622は、その後、加算器620の出力ストリームに、整合済みビタビアルゴリズムを実行する。整合済みビタビ検出器622は、目標フィルタブロック624およびソフト・ポスト・プロセッサ636のそれぞれの入力に送信される出力ストリームを生成する。
加算器626は、目標フィルタブロック624によって生成された再生済み等価済みサンプルを、入力ストリームに含まれる対応する元の等価済みサンプルから減じる。加算器626の出力ストリームは、LMF630の入力に送信される。加算器634は、乗算器618の出力ストリームに含まれるスケール変更済み外的情報を、LMF630の出力ストリームに含まれる再生済み等価済みサンプルに加える。
ソフト・ポスト・プロセッサ636は、整合済みビタビ検出器622および加算器634からそれぞれ出力ストリームを受信する。ソフト・ポスト・プロセッサ636は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ソフト・ポスト・プロセッサ636によって生成されたソフト情報は、加算器638の入力および硬判定デコーダ644の入力に送信される。加算器638は、乗算器618の出力ストリームを、ソフト・ポスト・プロセッサ636の出力ストリームから減じる。
最小和デコーダ640は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、加算器638からのソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ640は、更新済みソフト情報と加算器638からのソフト情報との差を計算して、外的情報を生成する。最小和デコーダ640の出力ストリームは、乗算器642の入力に送信される。
図6に示すデコーダの反復3において、硬判定デコーダ644は、複雑さの低い任意の適切な硬判定復号化方式を使用して、ソフト・ポスト・プロセッサ636の出力ストリームに硬判定復号化を実行する。硬判定デコーダ644は、目標フィルタブロック646およびソフト・ポスト・プロセッサ・ブロック656のそれぞれの入力に送信される復号化済み出力ストリームを生成する。加算器648は、目標フィルタブロック646の出力ストリームに含まれる再生済み等価済みサンプルを、入力ストリームに含まれる元の等価済みサンプルから減じる。
加算器648の出力ストリームは、ロング・マッチ・フィールド(LMF)ブロック652に送信される。乗算器642は、最小和デコーダ640の出力ストリームに、スケール係数アルファを乗じる。加算器654は、LMFブロック652の出力ストリームを、乗算器642の出力ストリームに加える。
ソフト・ポスト・プロセッサ656は、硬判定デコーダ644および加算器654から出力ストリームを受信する。ソフト・ポスト・プロセッサ656は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ソフト・ポスト・プロセッサ656によって生成されたソフト情報は、加算器658の入力および次の反復における硬判定デコーダ(例えば、硬判定デコーダ662)の入力に送信される。
加算器658は、乗算器642の出力ストリームを、ソフト・ポスト・プロセッサ656の出力ストリームから減じる。加算器658の出力ストリームは、最小和デコーダブロック660の入力に送信される。最小和デコーダ660は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、加算器658からのソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ660は、更新済みソフト情報と、加算器658によって生成されたソフト情報との差を計算して、外的情報を生成する。デコーダブロック660の出力ストリームは、次の反復における乗算器の入力に送信される(例えば、乗算器664)。
図6に示すデコーダの各々の追加反復は、上述したように、最後の反復Nを除いて、反復3の手順を繰り返す。最後の反復Nは、加算器658または最小和デコーダ660を含まない。その代わりに、ソフト・ポスト・プロセッサ670の出力ストリームを硬判定デコーダ671に送信する。硬判定デコーダ671は、ソフト情報を硬判定シンボルに変換する。RSデコーダ672は、RS復号化技術を使用して、硬判定ブロック671の出力ストリームを復号化する。RSデコーダ672は、等価済みサンプルにおける多数の誤りを訂正することができる。これらの誤りは、最小和デコーダおよびポストプロセッサでは訂正されない。
反復検出器の消費電力の削減を目的として、最後の反復が終了する前に反復検出器を停止させることが可能な新機能を、図2〜図6に示される方式に追加することができる。図7は、本発明の一実施例による早期停止反復デコーダの例を示す図である。図7に示す反復デコーダは、図3の検出方式に基づいている。本発明のさらに別の実施例によれば、早期停止技術は、図2〜図6に示されるすべての検出方式に使用することができる。
図7に示すデコーダは、等価済みサンプルに対して復号化を1〜N回反復させる。復号化の反復回数は、ブロック718、740などにおける停止条件(S<TH)が満たされているか否かに基づいて決定される。Sは、チェックサム違反に基づいて、またはLDPCコードブロック間における最も信頼性の低い値に基づいて、最小和復号化ブロック714、736などによって計算される停止条件値である。THは、あらかじめ定義された閾値パラメータである。反復の最大回数Nは、1より大きな任意の好適な正の整数である。図7では、例として、反復1、2、およびNが示されている。
反復1は、整合済みビタビアルゴリズム704、目標フィルタブロック706、加算器708、ロング・マッチ・フィルタ(LMF)ブロック710、ソフト・ポスト・プロセッサ712、最小和デコーダ714、硬判定デコーダ716、および停止ブロック718などを含む。反復2は、目標フィルタブロック722、加算器724、ロング・マッチ・フィルタ(LMF)ブロック726、乗算器728、加算器730、ソフト・ポスト・プロセッサ732、加算器734、最小和デコーダ736、硬判定デコーダ738、および停止ブロック740などを含む。N番目の反復を除いて、後続の反復は、それぞれ反復2と同じ手順を実行する。デコーダのN番目の反復は、第3加算器734、最小和デコーダ736、硬判定デコーダ738、または停止ブロック740を備えていない。
最初に、前述の実施例と同様に、MFブロック702は入力等化器(図示されていない)から等価済みサンプルを受信する。MFブロック702は、整合済みビタビ検出器704に送信される出力ストリームを生成する。反復1は、ビタビ検出器704から開始する。検出器704は、整合済みビタビアルゴリズムを使用して、MFブロック702の出力から出力ストリームを生成する。図7に示すデコーダは、整合済みビタビアルゴリズムを使用する検出器ブロック704を1つのみ備えている。
ビタビアルゴリズム704によって生成された出力ストリームは、目標フィルタブロック706およびソフト・ポスト・プロセッサ712のそれぞれの入力に送信される。目標フィルタブロック706は、加算器708に送信される再生済み等価済みサンプルの出力ストリームを生成する。加算器708は、目標フィルタブロック706の出力ストリームに含まれる再生済み等価済みサンプルを、デコーダの入力ストリームに含まれる対応する元の等価済みサンプルから減じて、誤りサンプルを取得する。
加算器708の出力ストリームは、LMFブロック710の入力に送信される。ソフト・ポスト・プロセッサ712は、整合済みビタビ検出器704およびLMF710からそれぞれの出力ストリームを受信する。ソフト・ポスト・プロセッサ712は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ソフト・ポスト・プロセッサ712によって生成されたソフト情報は、最小和デコーダブロック714の入力および硬判定デコーダ716の入力に送信される。
最小和デコーダ714は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、ソフト・ポスト・プロセッサ712によって生成されたソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ714は、更新済みソフト情報と、ソフト・ポスト・プロセッサ712によって生成されたソフト情報との差を計算して、外的情報を生成する。最小和デコーダ714の出力ストリームに含まれる外的情報は、乗算器728の入力に送信される。また、最小和デコーダ714は、停止ブロック718に送信される早期停止値Sを生成する。Sは、例えば、満足されないシンドロームの数にすることができる。
図7に示すデコーダに使用される最小和デコーダの複雑さのレベルは低く、引き起こされるエラー伝搬もより少なく、制御可能なエラーフロアも拡大する。なぜならば、それらの最小和デコーダの使用するLDPCコードの重みは低く、それらの最小和デコーダの行うローカル反復の回数も少ないためである(例えば、l回または2回)。
硬判定デコーダ716は、複雑さの低い任意の適切な硬判定復号化方式を使用して、ソフト・ポスト・プロセッサ712の出力ストリームに硬判定復号化を実行することによって、復号化済み出力ストリームを生成する。停止ブロック718における停止条件(S<TH)によって、硬判定デコーダ716の復号化済み出力ストリームの送信先ブロックが決定される。停止ブロック718では、停止条件(S<TH)が満たされる場合、硬判定デコーダ716からの復号化済み出力ストリームは、(図7のAを経由して)バッファブロック756に直接送信される。その後、当該復号化済み出力ストリームは、反復デコーダにおける残りの反復を通過せずに、リードソロモンデコーダ754に送信される。
停止条件(S<TH)が満たされない場合、図7に示す反復デコーダは反復2に進む。反復2において、硬判定デコーダ716からの復号化済み出力ストリームは、目標フィルタブロック722およびソフト・ポスト・プロセッサ・ブロック732のそれぞれの入力に送信される。加算器724は、目標フィルタブロック722の出力ストリームに含まれる再生済み等価済みサンプルを、入力ストリームに含まれる元の等価済みサンプルから減じる。
加算器724の出力ストリームは、LMFブロック726に送信される。乗算器728は、最小和デコーダ714の出力ストリームに含まれる外的情報に、スケール係数アルファを乗じる。加算器730は、LMFブロック726の出力ストリームに含まれる誤りサンプルを、乗算器728の出力ストリームに含まれるスケール変更済み外的情報に加える。
ソフト・ポスト・プロセッサ732は、硬判定デコーダ716および加算器730から出力ストリームをそれぞれ受信する。ソフト・ポスト・プロセッサ732は、検出される可能性が最も高いビットストリーム、および各検出ビットに対応した信頼性メトリック値などを含むソフト情報を生成する。ソフト・ポスト・プロセッサ732によって生成されたソフト情報は、加算器734の入力および硬判定デコーダ738の入力に送信される。
加算器734は、ソフト・ポスト・プロセッサ732の出力ストリームから、乗算器728の出力ストリームに含まれるスケール変更済み外的情報を減じる。加算器734の出力ストリームは、最小和デコーダブロック736の入力に送信される。最小和デコーダ736は、低密度・パリティ・チェック(LDPC)コードに最小和復号化アルゴリズムを適用して、加算器734からのソフト情報を用いたさらに信頼性の高い更新済みソフト情報を生成する。その後、最小和デコーダ736は、更新済みソフト情報と、加算器734からのソフト情報との差を計算して、外的情報を生成する。デコーダブロック736の復号化済み出力ストリームに含まれる外的情報は、次の反復における乗算器の入力に送信される(例えば、乗算器742)。また、最小和デコーダ736は、停止ブロック740に送信される早期停止値Sを生成する。Sは、例えば、満足されないシンドロームの数にすることができる。
硬判定デコーダブロック738は、複雑さの低い任意の適切な硬判定復号化方式を使用して、ソフト・ポスト・プロセッサ732の出力ストリームに硬判定復号化を実行する。停止ブロック740における閾値条件(S<TH)によって、硬判定デコーダ738の復号化済み出力ストリームの送信先ブロックが決定される。停止ブロック740では、停止条件(S<TH)が満たされる場合、硬判定デコーダ740からの復号化済み出力ストリームは、(図7のAを経由して)バッファブロック756に直接送信される。その後、当該復号化済み出力ストリームは、反復デコーダにおける残りの反復を通過せずに、リードソロモンデコーダ754に送信される。
停止条件(S<TH)が満たされない場合、図7に示す反復デコーダは反復3に進み、硬判定デコーダ738の復号化済み出力ストリームは、反復3における目標フィルタおよびソフト・ポスト・プロセッサに送信される。デコーダの反復3は、目標フィルタブロック741などの目標フィルタブロックから開始する。図7に示すデコーダの各々の追加反復は、上述したように、最後の反復Nを除いて、反復2の手順を繰り返す。最後の反復Nは、加算器734、最小和デコーダ736、硬判定デコーダ738、または停止ブロック740を含まない。その代わりに、ソフト・ポスト・プロセッサ750の出力ストリームを硬判定復号化ブロック752に送信して、ソフト情報を硬判定シンボルに変換する。RSデコーダ754は、RS復号化技術を使用して、硬判定ブロック752の出力ストリームを復号化する。RSデコーダ754は、等価済みサンプルにおける多数の誤りを訂正することができる。これらの誤りは、最小和デコーダでは訂正されない。
本発明の種々の実施例によれば、図1〜図7に関する上記のブロックは、ハードウェア回路、ソフトウェア、またはハードウェアとソフトウェアの組み合わせによって実装することができる。本発明の一部の実施例によれば、反復デコーダは、各タイプのブロックのうち1つのみを使用して、上記の手順を何度も繰り返すことによって実施することができる。この場合、各反復において異なるブロックを使用するというよりも、各反復において同じ一連のブロックを使用する。例えば、本発明の反復デコーダは、1つのポストプロセッサと、1つの最小和デコーダとを備えることができる。各反復において、復号化は、同じポストプロセッサおよび同じ最小和デコーダを使用して実行される。
本発明の典型的な実施例についての前述の説明は、図示および説明の目的で行われたものである。そのため、前述の説明は、網羅的であることを意図したものではなく、または本発明の適用範囲を、開示された厳密な形式に限定することを意図したものでもない。本発明においては、修正、種々の変更、および代用の自由裁量が意図されている。場合によっては、本発明の機能は、述べられたような対応するその他の機能を使用せずに利用することができる。上記の教示の見地から、本発明の適用範囲から逸脱することなく、多数の修正および変更が可能である。本発明の適用範囲は、この詳細な説明によって限定されることはなく、ここに添付された特許請求の範囲によって限定されるように意図されている。
本発明の一実施例による、誤り訂正および変調符号化方式を示す図である。 本発明の一実施例による反復誤り訂正デコーダの第1の例を示す図である。 本発明の別の実施例による反復誤り訂正デコーダの第2の例を示す図である。 本発明の別の実施例による反復誤り訂正デコーダの第3の例を示す図である。 本発明の別の実施例による反復誤り訂正デコーダの第4の例を示す図である。 本発明の別の実施例による反復誤り訂正デコーダの第5の例を示す図である。 本発明のさらに別の実施例による反復誤り訂正デコーダの第6の例を示す図である。
符号の説明
202…MF、204,318,240,…整合済みビタビ検出器、
206,220,242,…目標フィルタブロック、
208,217,222,226,229,239,244,250,253…加算器、210,224,246,…LMF、
212,228,252…ソフト・ポスト・プロセッサ、
214,230,254,266…最小和デコーダ、
216,232,…乗算器、266…硬判定デコーダ、270…RSデコーダ。

Claims (23)

  1. データ記憶媒体上に記録されたデータに含まれる誤りを訂正する反復デコーダを有するデータ記憶装置であって、前記反復デコーダの複数の反復において、
    後処理ブロックは、前記データに対するソフト情報を生成し、
    最小和デコーダは、最小和復号化アルゴリズムを低密度・パリティ・チェック・コードに適用することによって、前記ソフト情報および更新済みソフト情報に基づく外的情報を生成することを特徴とするデータ記憶装置。
  2. 請求項1記載のデータ記憶装置において、
    前記反復デコーダの第1の反復において、第1の検出器は、前記データに整合済みビタビアルゴリズムを実行し、前記第1の検出器の出力ストリームは、前記第1の反復における前記後処理ブロックに送信されることを特徴とするデータ記憶装置。
  3. 請求項2記載のデータ記憶装置において、
    前記反復デコーダの第2の反復において、第2の検出器は、前記データに整合済みビタビアルゴリズムを実行し、前記第2の検出器の出力ストリームは、前記第2の反復における前記後処理ブロックに送信されることを特徴とするデータ記憶装置。
  4. 請求項1記載のデータ記憶装置において、
    硬判定デコーダは、前記後処理ブロックからの前記ソフト情報を使用して前記データを復号化することを特徴とするデータ記憶装置。
  5. 請求項4記載のデータ記憶装置において、
    前記最小和デコーダによって生成された早期停止パラメータが閾値よりも小さい場合、前記反復デコーダは追加の反復を実行しないことを特徴とするデータ記憶装置。
  6. 請求項2記載のデータ記憶装置において、
    前記反復デコーダの第1の反復において、目標フィルタは前記第1の検出器の出力ストリームをフィルタにかけ、
    加算器は、前記目標フィルタの出力ストリームを、前記反復デコーダの入力ストリームの等価済みサンプルに加え、
    ロング・マッチ・フィルタは、前記加算器の出力ストリームをフィルタにかけ、ここで、前記ロング・マッチ・フィルタの出力ストリームは前記後処理ブロックに送信されることを特徴とするデータ記憶装置。
  7. 請求項1記載のデータ記憶装置において、
    前記反復デコーダから受信されるデータを復号化するリードソロモンデコーダをさらに有することを特徴とするデータ記憶装置。
  8. 請求項1記載のデータ記憶装置において、
    前記データ記憶装置はハードディスクドライブであることを特徴とするデータ記憶装置。
  9. 請求項1記載のデータ記憶装置において、
    停止条件が満たされない場合、前記反復デコーダは反復を少なくとも3回実行することを特徴とするデータ記憶装置。
  10. 請求項1記載のデータ記憶装置において、
    前記反復デコーダの第2の反復において、
    乗算器は、前記反復デコーダの第1の反復からの外的情報にスケール係数を乗じて、スケール変更済み外的情報を生成し、
    前記第2の反復における前記後処理ブロックは、ポストプロセッサと加算器とを有し、ここで、前記加算器は、前記ポストプロセッサの出力ストリームを前記スケール変更済み外的情報に加えて、前記ソフト情報を生成することを特徴とするデータ記憶装置。
  11. 反復デコーダを使用してデータ記憶装置のデータに含まれる誤りを訂正する方法であって、
    前記反復デコーダによる複数回の反復において、前記方法は、
    後処理ブロックを使用して前記データに関するソフト情報を生成するステップと、
    最小和復号化アルゴリズムを低密度・パリティ・チェック・コードに適用する最小和デコーダを使用して、前記ソフト情報と更新済みソフト情報との差に基づく外的情報を生成するステップとを含むことを特徴とする方法。
  12. 請求項11に記載の方法において、
    前記反復デコーダによる第1の反復において、前記方法は、
    第1の検出器を使用して前記データに整合済みビタビアルゴリズムを実行するステップをさらに含み、ここで、前記第1の検出器の出力ストリームは前記後処理ブロックに送信されることを特徴とする方法。
  13. 請求項12に記載の方法において、
    前記第1の反復において、前記方法は、
    第1の目標フィルタを使用して、前記第1の検出器の出力ストリームをフィルタにかけるステップと、
    第1の加算器を使用して、前記第1の目標フィルタの出力ストリームを、前記データを表す等価済みサンプルに加えるステップとをさらに含むことを特徴とする方法。
  14. 請求項13に記載の方法において、
    前記第1の反復において、前記方法は、
    第1のロング・マッチ・フィルタを使用して、前記第1の加算器の出力ストリームをフィルタにかけるステップと、
    前記第1のロング・マッチ・フィルタの出力ストリームを前記後処理ブロックに送信するステップとをさらに含むことを特徴とする方法。
  15. 請求項14に記載の方法において、
    前記反復デコーダによる第2の反復において、前記方法は、
    第2の目標フィルタを使用して、前記第1の反復の出力ストリームをフィルタにかけるステップと、
    第2の加算器を使用して、前記第2の目標フィルタの出力ストリームを前記等価済みサンプルに加えるステップと、
    第2のロング・マッチ・フィルタを使用して、前記第2の加算器の出力ストリームをフィルタにかけるステップと、
    乗算器を使用して、前記第1の反復において前記最小和デコーダによって生成された前記外的情報にスケール係数を乗じることによって、スケール変更済み外的情報を生成するステップと、
    第3の加算器を使用して、前記スケール変更済み外的情報を、前記第2のロング・マッチ・フィルタの出力ストリームに加えるステップと、
    前記第3の加算器の出力ストリームを、前記第2の反復における後処理ブロックに送信するステップとをさらに含み、ここで、前記第2の反復における前記後処理ブロックは、ポストプロセッサと、第4の加算器とを有し、前記第4の加算器は、前記ポストプロセッサの出力ストリームを前記スケール変更済み外的情報に加えて、前記ソフト情報を生成することを特徴とする方法。
  16. 請求項11に記載の方法において、
    前記反復デコーダによる少なくとも1回の反復において、前記方法は、
    前記後処理ブロックからの前記ソフト情報を使用して、硬判定復号化を実行するステップをさらに含むことを特徴とする方法。
  17. 請求項11に記載の方法において、
    停止条件が満たされない場合、前記反復デコーダは反復を少なくとも3回実行することを特徴とする方法。
  18. 請求項11に記載の方法において、
    前記反復デコーダによる反復において、前記方法は、
    前記最小和デコーダによって生成された前記外的情報に硬判定復号化を実行して、前記反復デコーダの後続の反復における後処理ブロックに送信されるシンボルを生成するステップをさらに含むことを特徴とする方法。
  19. ハードディスク上に記録されたデータに含まれる誤りを訂正する反復デコーダを有するハードディスクドライブであって、
    前記反復デコーダは、
    前記反復デコーダの第1の反復において、前記データに対する第1のソフト情報を生成する第1の後処理ブロックと、
    最小和復号化アルゴリズムを低密度・パリティ・チェック・コードに適用することによって、更新済み第1のソフト情報を生成するとともに、前記更新済み第1のソフト情報と前記第1のソフト情報との差に基づく第1の外的情報を生成する第1のデコーダと、
    前記第1の反復の出力ストリームに応じて、前記反復デコーダの第2の反復における前記データに対する第2のソフト情報を生成する第2の後処理ブロックと、
    最小和復号化アルゴリズムを低密度・パリティ・チェック・コードに適用することによって、更新済み第2のソフト情報を生成するとともに、前記更新済み第2のソフト情報と前記第2のソフト情報との差に基づく第2の外的情報を生成する第2のデコーダとを有することを特徴とするハードディスクドライブ。
  20. 請求項19に記載のハードディスクドライブにおいて、
    前記反復デコーダは、前記データに整合済みビタビアルゴリズムを実行する第1の検出器をさらに有し、ここで、前記第1の検出器の出力ストリームは、前記第1の後処理ブロックの入力に送信されることを特徴とするハードディスクドライブ。
  21. 請求項19に記載のハードディスクドライブにおいて、
    前記反復デコーダは、前記第1のソフト情報を使用して硬判定復号化を実行する硬判定デコーダをさらに有し、
    前記硬判定デコーダによって生成された復号化済み出力ストリームは、前記第2の後処理ブロックの入力に送信されることを特徴とするハードディスクドライブ。
  22. 請求項19に記載のハードディスクドライブにおいて、
    前記反復デコーダは、前記第1の外部情報を使用して硬判定復号化を実行する硬判定デコーダをさらに有し、
    前記硬判定デコーダによって生成されたシンボルは、前記第2の後処理ブロックの入力に送信されることを特徴とするハードディスクドライブ。
  23. 請求項21に記載のハードディスクドライブにおいて、
    前記第1のデコーダによって生成された早期停止パラメータが閾値よりも小さい場合、前記反復デコーダは反復の実行を停止し、
    前記早期停止パラメータが前記閾値以上である場合のみ、前記硬判定デコーダの復号化済み出力ストリームは、前記第2の後処理ブロックに送信されることを特徴とするハードディスクドライブ。
JP2008075722A 2007-03-30 2008-03-24 データ記憶装置及びデータ誤り訂正方法 Pending JP2008257842A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/694,676 US8341506B2 (en) 2007-03-30 2007-03-30 Techniques for correcting errors using iterative decoding

Publications (1)

Publication Number Publication Date
JP2008257842A true JP2008257842A (ja) 2008-10-23

Family

ID=38965780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008075722A Pending JP2008257842A (ja) 2007-03-30 2008-03-24 データ記憶装置及びデータ誤り訂正方法

Country Status (7)

Country Link
US (1) US8341506B2 (ja)
EP (1) EP1976128A1 (ja)
JP (1) JP2008257842A (ja)
KR (1) KR20080089162A (ja)
CN (1) CN101276627B (ja)
SG (1) SG146531A1 (ja)
TW (1) TW200844729A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016504848A (ja) * 2012-12-07 2016-02-12 マイクロン テクノロジー, インク. 階層化反復誤り訂正のための停止基準

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225183B2 (en) * 2008-09-30 2012-07-17 Lsi Corporation Methods and apparatus for selective data retention decoding in a hard disk drive
US8347155B2 (en) * 2009-04-17 2013-01-01 Lsi Corporation Systems and methods for predicting failure of a storage medium
US8983008B2 (en) 2009-12-23 2015-03-17 Intel Corporation Methods and apparatus for tail termination of turbo decoding
US8930791B2 (en) * 2009-12-23 2015-01-06 Intel Corporation Early stop method and apparatus for turbo decoding
US8418019B2 (en) * 2010-04-19 2013-04-09 Lsi Corporation Systems and methods for dynamic scaling in a data decoding system
KR101835605B1 (ko) 2011-11-24 2018-03-08 삼성전자 주식회사 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법
EP2631802B1 (de) 2012-02-22 2014-11-19 Siemens Aktiengesellschaft Verfahren zur Speicherung und Propagation von Fehlerinforationen in Computer-Programmen
US9214964B1 (en) 2012-09-24 2015-12-15 Marvell International Ltd. Systems and methods for configuring product codes for error correction in a hard disk drive
EP2819310A1 (en) * 2013-06-26 2014-12-31 Alcatel Lucent Iterative error decoder with cascaded decoding blocks and a feedback decoding block
TWI705446B (zh) 2015-09-18 2020-09-21 韓商愛思開海力士有限公司 具有改良硬解碼處理量的vss低密度同位檢驗解碼器
US10691540B2 (en) * 2017-11-21 2020-06-23 SK Hynix Inc. Soft chip-kill recovery for multiple wordlines failure
US10817373B2 (en) 2017-11-21 2020-10-27 SK Hynix Inc. Soft chip-kill recovery using concatenated codes
US10715182B2 (en) * 2018-07-27 2020-07-14 Innogrit Technologies Co., Ltd. Systems and methods for decoding error correcting codes with self-generated LLR
CN113765624A (zh) * 2021-09-10 2021-12-07 北京零壹空间电子有限公司 一种tpc迭代译码方法、装置、遥测地面站及存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2551231B2 (ja) * 1990-11-16 1996-11-06 日本電気株式会社 判定帰還形等化器
JP2845250B2 (ja) * 1992-01-31 1999-01-13 日本電気株式会社 交差偏波干渉補償装置
JP2720721B2 (ja) * 1992-08-21 1998-03-04 日本電気株式会社 変復調装置
DE19526416A1 (de) * 1995-07-19 1997-01-23 Siemens Ag Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Infomation
US5712873A (en) * 1996-06-04 1998-01-27 Thomson Consumer Electronics, Inc. Multi-mode equalizer in a digital video signal processing system
US5995568A (en) * 1996-10-28 1999-11-30 Motorola, Inc. Method and apparatus for performing frame synchronization in an asymmetrical digital subscriber line (ADSL) system
US6161209A (en) * 1997-03-28 2000-12-12 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Joint detector for multiple coded digital signals
US6795947B1 (en) 1999-10-07 2004-09-21 The Regents Of The University Of California Parity check outer code and runlength constrained outer code usable with parity bits
US6751255B1 (en) * 2000-03-09 2004-06-15 Orckit Communications, Ltd. Decision feedback analyzer with filter compensation
US6778599B1 (en) * 2000-03-09 2004-08-17 Tioga Technologies Digital transceiver with multi-rate processing
US6888897B1 (en) * 2000-04-27 2005-05-03 Marvell International Ltd. Multi-mode iterative detector
US7184486B1 (en) * 2000-04-27 2007-02-27 Marvell International Ltd. LDPC encoder and decoder and method thereof
US6581182B1 (en) 2000-05-15 2003-06-17 Agere Systems Inc. Iterative decoding with post-processing of detected encoded data
US6965652B1 (en) * 2000-06-28 2005-11-15 Marvell International Ltd. Address generator for LDPC encoder and decoder and method thereof
US6587987B1 (en) 2000-07-07 2003-07-01 Lucent Technologies Inc. Method and apparatus for extracting reliability information from partial response channels
US7107511B2 (en) * 2002-08-15 2006-09-12 Broadcom Corporation Low density parity check (LDPC) code decoder using min*, min**, max* or max** and their respective inverses
US7415079B2 (en) * 2000-09-12 2008-08-19 Broadcom Corporation Decoder design adaptable to decode coded signals using min* or max* processing
US6518892B2 (en) * 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
US6631494B2 (en) * 2000-12-07 2003-10-07 Maxtor Corporation Ameliorating the adverse impact of burst errors on the operation of ISI detectors
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
EP1271509A1 (en) 2001-06-22 2003-01-02 STMicroelectronics S.r.l. Method and apparatus for detecting and correcting errors in a magnetic recording channel of a mass storage system
US6757117B1 (en) * 2001-08-24 2004-06-29 Cirrus Logic, Inc. Data detection in a disk drive system using erasure pointers
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
US7587659B2 (en) * 2002-05-31 2009-09-08 Broadcom Corporation Efficient front end memory arrangement to support parallel bit node and check node processing in LDPC (Low Density Parity Check) decoders
US7447985B2 (en) * 2002-08-15 2008-11-04 Broadcom Corporation Efficient design to implement min**/min**- or max**/max**- functions in LDPC (low density parity check) decoders
US7164764B2 (en) * 2002-11-07 2007-01-16 Solarflare Communications, Inc. Method and apparatus for precode crosstalk mitigation
JP2004253017A (ja) * 2003-02-18 2004-09-09 Fujitsu Ltd 記録媒体再生装置、記録媒体再生方法およびハードディスクコントローラ
US20070234178A1 (en) 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
JP4373340B2 (ja) 2003-02-26 2009-11-25 クゥアルコム・インコーポレイテッド 反復復号のためのソフト情報スケーリング
EP1521414B1 (en) * 2003-10-03 2008-10-29 Kabushiki Kaisha Toshiba Method and apparatus for sphere decoding
US7281190B2 (en) * 2004-11-01 2007-10-09 Seagate Technology Llc Running digital sum coding system
US7421643B2 (en) 2005-01-04 2008-09-02 Agere Systems Inc. Data detection and decoding system and a method of detecting and decoding data
US7561627B2 (en) * 2005-01-06 2009-07-14 Marvell World Trade Ltd. Method and system for channel equalization and crosstalk estimation in a multicarrier data transmission system
US7269235B2 (en) * 2005-02-14 2007-09-11 Viasat, Inc. Non-integer delays in iterative diversity reception
US7428275B2 (en) * 2005-02-14 2008-09-23 Viasat, Inc. Integrated FEC decoding and iterative diversity reception
JP2006238127A (ja) * 2005-02-25 2006-09-07 Sony Corp 復号装置および方法、並びにプログラム
US7502982B2 (en) 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US7770090B1 (en) * 2005-09-14 2010-08-03 Trident Microsystems (Far East) Ltd. Efficient decoders for LDPC codes
US20070089016A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
US20070089019A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes, including calculating check-to-variable messages
KR101021465B1 (ko) * 2005-10-26 2011-03-15 삼성전자주식회사 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서 신호수신 장치 및 방법
JP4571580B2 (ja) * 2005-12-15 2010-10-27 富士通株式会社 復号器
US20070201632A1 (en) * 2006-02-17 2007-08-30 Ionescu Dumitru M Apparatus, method and computer program product providing a mimo receiver
US7647548B2 (en) * 2006-07-31 2010-01-12 Agere Systems Inc. Methods and apparatus for low-density parity check decoding using hardware-sharing and serial sum-product architecture

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016504848A (ja) * 2012-12-07 2016-02-12 マイクロン テクノロジー, インク. 階層化反復誤り訂正のための停止基準
US10193577B2 (en) 2012-12-07 2019-01-29 Micron Technology, Inc. Stopping criteria for layered iterative error correction
US10998923B2 (en) 2012-12-07 2021-05-04 Micron Technology, Inc. Stopping criteria for layered iterative error correction
US11405058B2 (en) 2012-12-07 2022-08-02 Micron Technology, Inc. Stopping criteria for layered iterative error correction

Also Published As

Publication number Publication date
US20080244359A1 (en) 2008-10-02
EP1976128A1 (en) 2008-10-01
US8341506B2 (en) 2012-12-25
TW200844729A (en) 2008-11-16
SG146531A1 (en) 2008-10-30
KR20080089162A (ko) 2008-10-06
CN101276627A (zh) 2008-10-01
CN101276627B (zh) 2012-05-16

Similar Documents

Publication Publication Date Title
JP2008257842A (ja) データ記憶装置及びデータ誤り訂正方法
TWI473439B (zh) 用於解碼一經編碼碼字之方法及裝置
JP5432367B2 (ja) 書込み検証を使用した符号のエラーフロア軽減
US8977941B2 (en) Iterative decoder systems and methods
US7502982B2 (en) Iterative detector with ECC in channel domain
JP4652310B2 (ja) 復号器及び再生装置
US7519898B2 (en) Iterative decoding of linear block codes by adapting the parity check matrix
JP5007676B2 (ja) 符号化装置、復号化装置、符号化・復号化装置及び記録再生装置
US20080040651A1 (en) Encoding apparatus, decoding apparatus, encoding method, decoding method, and storage device
KR20070025145A (ko) 소프트 복호화 방법 및 장치, 에러 정정 방법 및 장치,소프트 출력 방법 및 장치
KR20060052488A (ko) 연결된 반복 및 대수 코딩
JP6522889B2 (ja) 符号のワードの拡大スペクトル解析による、訂正符号、例えばターボ符号の復号法
JP2004164767A (ja) データの復号方法およびそれを用いたディスク装置
JP3607683B2 (ja) ディスク記憶装置及びデータ記録再生方法
JP4011583B2 (ja) データ記録再生システム及び方法
US8786968B2 (en) Data storage device including a recording channel, a detector, and a noise prediction circuit, and method of processing a signal in a data storage device
JP2004145972A (ja) リードチャネル復号器、リードチャネル復号方法およびリードチャネル復号プログラム
US9362954B1 (en) Digital communications channel
JP4294407B2 (ja) 信号処理方法及び信号処理回路
Demirkan et al. Multilevel Reed–Solomon codes for PMR channels
Xia et al. On the performance of soft Reed-Solomon decoding for magnetic recording channels with erasures
Chen et al. Iterative detection-decoding of interleaved Hermitian codes for high density storage devices
Han et al. Performance of a structured IRA code on a perpendicular recording channel with media noise
Fan et al. Application to Magnetic Storage
JP2005108332A (ja) 反復復号を用いたデータ再生装置及び方法