JP2002100127A - エラー訂正コード・システム及び方法 - Google Patents
エラー訂正コード・システム及び方法Info
- Publication number
- JP2002100127A JP2002100127A JP2001206336A JP2001206336A JP2002100127A JP 2002100127 A JP2002100127 A JP 2002100127A JP 2001206336 A JP2001206336 A JP 2001206336A JP 2001206336 A JP2001206336 A JP 2001206336A JP 2002100127 A JP2002100127 A JP 2002100127A
- Authority
- JP
- Japan
- Prior art keywords
- byte
- decoder
- reliability
- error
- erasure
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
- H03M13/453—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
- H03M13/455—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
度情報を失うことなく、最尤デコーディング手法の複雑
度及び結果の待ち時間を低減するデコーディング方法及
びシステムを提供する。 【解決手段】 ソフト・エラー訂正代数デコーダ及び関
連方法が、消去信頼度数を用いて、エラー位置及び値を
導出する。詳細には、エラー消去率が最大化されるよう
に、最尤(ML)デコーダからの記号信頼度数と、内部
変調コード記号からのパリティ・チェック成功/失敗と
が、リード・ソロモン・デコーダにより反復的に組み合
わされる。ソフト・エラー訂正(ECC)代数デコーダ
及び関連方法が、バイナリ・コード及び検出器側の情報
を用いて、リード・ソロモン符号をデコードする。リー
ド・ソロモン符号は消去チャネル上での使用のために最
適化される。しきい値調整アルゴリズムが、検出器エラ
ー・フィルタ出力及び変調コード制約成功/失敗情報に
もとづき、消去候補を修飾する。
Description
野に関し、特に、ソフト・エラー訂正代数デコーダを使
用するシステム及び方法に関する。より詳細には、本発
明によれば、要求チェック・バイト数を最小化する目的
で、最尤(ML)デコーダからのバイト信頼度数と、内
部変調コード記号からのパリティ・チェック成功/失敗
とが、エラー消去率を最大化するように、リード・ソロ
モン・デコーダにより反復的に組み合わされる。
巡回(サイクリック)エラー訂正コードの使用は、十分
に確立されており、一般に記憶システムにおける信頼度
要求事項として認識されている。一般に、エラー訂正プ
ロセスは、各エラーの位置及び値を決定するためのシン
ドローム・バイトの処理を含む。非ゼロのシンドローム
・バイトは、データが記憶媒体に書込まれるときに生成
される、エラー文字の排他的論理和から生成される。
ェック文字の数は、コードの所望のパワーに依存する。
例として、記憶装置への8ビット・バイトの記憶に関連
して使用される、今日の多くのECCシステムでは、最
大でも255バイト位置の長さを有するコードワード内
において訂正される各エラーに対して、2チェック・バ
イトが使用される。従って、例えば249データ・バイ
ト及び6チェック・バイトを有するデータ・ブロック内
の3つまでのエラーを訂正するためには、6チェック・
バイトが要求される。従って、こうしたシステムでは、
6つの特殊なシンドローム・バイトが生成される。記憶
装置から読出される255バイトのデータ・ワード内
に、エラーが存在しない場合には、6シンドローム・バ
イトはオールゼロ・パターンである。こうした条件の下
では、シンドローム処理は要求されず、データ・ワード
が中央処理ユニットに送信される。しかしながら、1つ
以上のシンドローム・バイトが非ゼロの場合、シンドロ
ーム処理はエラーのバイトの位置を識別し、更に各エラ
ー位置のエラー・パターンを識別するプロセスを含む。
的な数学上の概念及び演算が、様々な刊行物で述べられ
ている。これらの演算及び数学的な説明では、一般に最
初に"エラー・ロケータ多項式"と呼ばれるものの使用に
より、エラーの位置を識別する。エラー・ロケータ多項
式の使用に関する数学の全般的な目的は、システムにお
いて生成されるシンドローム・バイトだけを使用するこ
とにより、エラーのバイト位置を定義することである。
を表す解析学の開始として、エラー・ロケータ多項式が
使用されてきた。従って、バイナリ論理を用いてシンド
ローム・バイトをデコードし、最初にエラー位置を識別
することにより、関連ハードウェアが各位置でのエラー
・パターンを識別することを可能にする。更に、記憶シ
ステムまたは通信システムにおいて使用される、オンザ
フライ式ECCでのエラー位置は、エラー・ロケータ多
項式の根として計算される。
のデコーディング手法が使用されてきた。1つのこうし
た手法は最小距離デコーディングであり、そのエラー訂
正能力はコードの代数的冗長性に依存する。しかしなが
ら、最小距離デコーディングは、コードの代数特性にも
とづいて、受信ワードに最も近いコードワードを決定
し、受信ワードの各桁のエラー確率はデコーディングに
帰属しない。すなわち、それぞれの桁のエラー確率は全
てが等しいとみなされ、エラー・ビットの数が、コード
距離に依存するエラー訂正能力により許可された値を超
えるとき、デコーディングが誤りとなる。
最尤デコーディングであり、それによれば、送信された
とみなされるコードワードの確率が、各ビットのエラー
確率を用いて計算され、最大確率を有するコードワード
が、デコーディングの結果として転送される。この最尤
デコーディングは、数において、エラー訂正能力を超え
るエラーの訂正を可能にする。しかしながら、最尤デコ
ーディング手法は極めて複雑であり、実現するのにかな
りの資源を必要とする。更に、最尤デコーディング手法
は、一般に、ビット信頼度情報などの貴重なデータを無
視する。
デコーディング手法では、所与の信頼度/パリティ情報
に対して最大消去数を生成するように、リード・ソロモ
ン符号が最適化されない。これは主に、こうした情報が
大方、リード・ソロモン・デコーダにとって使用不能で
あることによる。更に、従来のデコーダにおいて実現さ
れるキー方程式解法(equation solver)機構は、加重
有理補間問題を解決するように設計されていない。
且つビット信頼度情報をを失うことなく、最尤デコーデ
ィング手法の複雑度及び結果の待ち時間を低減するデコ
ーディング方法が待望される。
するための試みが、提案されている。例えば、N. Kamiy
aによる"On Acceptance Criterion for Efficient Succ
essive Errors-and-Erasures Decoding of Reed-Solomo
n and BCH Codes"、IEEE Transactions on Information
Theory、Vol. 43、No. 5、September 1997、pages 147
7-1488を参照されたい。しかしながら、こうした試みは
一般に、エラー・ロケータ及びエバリュエータ多項式を
計算するために複数の再帰を要求し、それにより貴重な
記憶空間内に冗長度を必要とする。更に、こうした試み
は一般に、機能的に有限域計算に制限されるキー方程式
解法機構を含み、従って、有限精度実計算を実行するた
めの別のモジュールを必要とするため、デコーディング
・プロセスのコストを増加させることになる。
式の根を突き止めることなく、汎用最小距離(GMD:
generalized Minimum Distance)デコーディング・アル
ゴリズムにより生成された消去候補のセットから、最も
起こり得る消去及びエラー・ロケータ多項式を提供し、
記憶空間の最小の冗長性により実現可能な、より効率的
なデコーディング・アルゴリズムが、依然待望されてい
る。
・エラー訂正代数デコーダ及び関連方法が、消去信頼度
数を用いて、エラー位置及び値を導出する。より詳細に
は、エラー消去率が最大化されるように、最尤(ML)
デコーダからの記号信頼度数と、内部変調コード記号か
らのパリティ・チェック成功/失敗とが、リード・ソロ
モン・デコーダにより反復的に組み合わされる。
がエラー・ロケータ及びエバリュエータ多項式計算する
ために、1度の再帰を要求し、これらの両方の多項式を
順次計算する。それにより、記憶空間の冗長性を最小化
する
イナリ・コード及び検出器側の情報を用いて、リード・
ソロモン符号をデコードする、ソフト・エラー訂正(E
CC)代数デコーダ及び関連方法により実現される。リ
ード・ソロモン符号は、消去チャネル上での使用のため
に最適化される。本発明の1フィーチャは、有限域計算
及び有限精度実計算の両方を実行可能なキー方程式解法
機構を使用することにより、デコーディング・プロセス
のコストを低減することである。
調整アルゴリズムが、検出器エラー・フィルタ出力及び
変調コード制約成功/失敗情報にもとづき、消去候補を
修飾する。特に、ディスク・ドライブ・アプリケーショ
ンにおいて、現変調コードがパリティ・チェックを使用
する場合、前記情報はパリティ・チェックまたは失敗に
相当する。このアルゴリズムは、リード・ソロモン・デ
コーダへの固定消去入力を生成する。
ルゴリズムは、検出器側情報により重みを与えられる加
重有理補間問題の解としてのエラー・パターンを計算す
る、キー方程式解法機構アルゴリズムの使用を教示す
る。
ンブリ12、及び間隔をあけられたマグネットのスタッ
ク、及び共通シャフト16の回りを回転する光学式すな
わちMOデータ記憶ディスクまたは媒体14を含むディ
スク・ドライブ10を示す。ヘッド・スタック・アセン
ブリ12は、ディスク14間の空間に伸びる複数のアク
チュエータ・アーム20を含み、図1では簡略化のため
に、1つのディスク14及び1つのアクチュエータ・ア
ーム20だけが示されている。ディスク・ドライブ10
は更に前置増幅器44、バイト信頼度発生器49を含む
読取り/書込みチャネル48、及び本発明のソフト・エ
ラー訂正代数デコーダ200を含むハード・ディスク制
御装置50を含む。
た、E型ブロック24、及びEブロック24にアクチュ
エータ・アーム20と対向して取り付けられる磁気ロー
タ26を含む。ロータ26はステータ(図示せず)と協
働し、アクチュエータ・アーム20を実質的に半径方向
に、矢印Aで示される円弧状に回転させる。ロータ26
のコイルをある極性のまたは逆の極性の直流により活動
化すると、アクチュエータ・アーム20を含むヘッド・
スタック・アセンブリ12が、軸Pの回りを、実質的に
ディスク14の半径方向に回転する。ヘッド・ディスク
・アセンブリ33は、ディスク14及びヘッド・スタッ
ク・アセンブリ12から構成される。
ュエータ・アーム20の自由端に装着され、軸Pの回り
を回転移動する。磁気ロータ26はヘッド40の半径方
向の移動を制御し、ヘッド40を追従するデータ情報ト
ラックまたはデータ・シリンダ42と位置決めし、これ
らのトラック42上の特定のデータ・セクタをアクセス
する。
14の各面の磁気媒体内に同心パターン状に配列され、
各々は特定の半径位置を有する。データ・シリンダは、
スタック化ディスク14のデータ面に対して、対応する
データ情報トラック42のセットを含む。データ情報ト
ラック42は複数のセグメントまたはデータ・セクタを
含み、各セクタは後の検索及び更新のために保管される
データ・レコードの、予め定義されたサイズの個々のグ
ループを含む。データ情報トラック42は、サーボ参照
指標に対して所定の位置に配置される。
ー訂正コードを実現するオンザフライ式(OTF)エラ
ー訂正コード(ECC)システム100を含む、バッフ
ァ式ハード・ディスク制御装置50の典型的なアーキテ
クチャを示す。本発明はこの特定のアーキテクチャに制
限されるものではなく、他のアーキテクチャによっても
実現可能であることは明らかである。
・ディスク・アセンブリ33からのデータを、例えば8
ビットから32ビットにフォーマットする論理ドライブ
回路105を含む。FIFOレジスタ110はフォーマ
ットされたデータを記憶し、それをセクタ・バッファ1
20とやり取りする。ECCシステム100はドライブ
論理回路105からフォーマット化データを受信し、後
述のように、本発明のエラー訂正符号化アルゴリズムを
実行する。
ステム100、セクタ・バッファ(すなわちランダム・
アクセス・メモリ)120、及びマイクロプロセッサ1
25の間のデータ・トラフィックを制御する。別のFI
FOレジスタ130はデータを記憶し、それをセクタ・
バッファ120とやり取りする。シーケンス制御装置1
35がドライブ論理回路105、マイクロプロセッサ1
25、及びホスト・インタフェース140の間に接続さ
れ、ハード・ドライブ制御装置50を横断するデータ・
トラフィック及び様々なコマンドのシーケンス操作を制
御する。ホスト・インタフェース140は、ハード・ド
ライブ制御装置50とホスト60(図1)との間のイン
タフェースを提供する。
びECC書込みプロセッサ167から成るオンザフライ
式エラー訂正コード・システム100を含む、図2のハ
ード・ディスク制御装置50のブロック図を表す。デジ
タル・バイナリ・データのシーケンスがディスク14上
に書込まれるとき、それらは一時的にバッファ165内
に配置され、続いて書込みパスまたはチャネルに沿って
処理され、変換される(157、167、169)。
バイナリ・データ要素(バイトとも呼ばれる)が、バッ
ファ165から移動され、ECC書込みプロセッサ16
7を通じて転送される。ECC書込みプロセッサ167
内において、データ・バイトは、リード・ソロモン符号
から取り出されるコードワードにマップされる。次に、
各コードワードが書込みパス信号整形ユニット169内
で、制限付きランレングスまたは他のバンドパス、若し
くはスペクトル整形コードにマップされ、時間変化信号
に変換される。書込みパス信号整形ユニット169は、
信号を後述のようにエンコードするエンコーダ202
(図4)を含む。時間変化信号は読取り/書込みトラン
スジューサ・インタフェース157を通じて、磁気抵抗
または他の好適なトランスジューサ・ヘッド40内の書
込み素子に供給され、磁束パターンに変換される。
素の移動から開始して、回転ディスク14がヘッド40
の下を通過するとき、磁束パターンが選択ディスク・ト
ラック42(図1)上に書込まれるまでの全ての測定
は、同期化され、ストリーム化される。効率的なデータ
転送のために、データが1度に1ディスク・セクタにつ
いてデステージされるか(書出される)、ステージされ
る(読出される)。従って、バイナリ・データのリード
・ソロモン・コードワードへのマッピング、及び磁束生
成用時間変化信号への変換の両方が、トランスジューサ
下で移動する記録トラック長の単位を定義する時間間隔
内に実行されなければならない。記録トラック長の典型
的な単位は、512バイトの等しい固定長バイト・セク
タである。
から読出されるとき、それらは読取りパスまたはチャネ
ル(157、159、161、163)内で処理され、
バッファ165に書込まれる。トランスジューサ40に
より検出される時間変化信号は、読取り/書込みトラン
スジューサ・インタフェース157を通じて、デジタル
信号抽出ユニット159に転送される。ここで、信号が
検出され、それがバイナリ1または0のいずれとして解
析されるべきかが決定される。これらの1及び0が信号
抽出ユニット159から転送されるとき、それらはフォ
ーマット・ユニット161において、コードワードに配
列される。
されたリード・ソロモン・コードワードのシーケンスを
評価しているので、エラーまたは消去が不在であれば、
コードワードについても同様であるはずである。これが
当てはまるか否かをテストするために、各コードワード
がフォーマッタ161からパスを通じて、ECC読取り
プロセッサ163に供給される。また、ECCプロセッ
サ163からの出力は、バッファ165に書込まれる。
読取りパスはまた、同期データ・ストリーム形式で動作
し、ECC読取りプロセッサ163が、ディスク・トラ
ック42から読出される次のコードワードを十分間に合
って受信できるように、検出エラーが突き止められて、
コードワード内で訂正されなければならない。バッファ
165及び読取り/書込みチャネルは、マイクロプロセ
ッサ125(図2)によりモニタ及び制御され、有効性
が保証される。その際、参照パターンは、例えば順次読
取り参照のように、パスが停止しないことを要求しても
よい。
一般的な環境について述べてきたが、次に、ECCシス
テム100の一部を形成するエラー訂正代数デコーダ
(ソフトECCデコーダ)200について述べることに
する。ECC読取りプロセッサ163及びECC書込み
プロセッサ167のそれぞれは、デジタル論理を用いて
ハードウェアにより実現されるECCデコーダ200を
含む。ソフトECCデコーダ200の主な構成要素が図
4に示される。
ーダ202、前置増幅器44、読取り/書込みチャネル
48、シンドローム発生器205、及び本発明のソフト
ECCデコーダ200を含むキー方程式解法機構を含
む。動作に際して、バイト信頼度発生器49がコードワ
ードのバイト信頼度を計算する。本明細書では、バイト
信頼度はコードワードの正確度を示し、2つの構成要
素、すなわちバイト信頼度数410及び消去候補位置4
20から成る。
ル48はビット対数尤度比発生器50を含み、これはビ
ットが"0"または"1"のいずれかである確率を示す、次
式により与えられるビット対数尤度比(LLR:bit lo
g-likelihood ratio)を生成する。 LLR=log{(ビットが1である確率)/(ビットが0
である確率)}
ットについてLLRを決定し、最小LLRを有するビッ
トをバイト信頼度として識別する。最小ビットLLR
は、特定バイトのバイト信頼度数(θi)として、次の
ようにセットされる。 θi=最小LLRi,j (但し1≦j≦8)
最適化する有効な手段は、パリティ・チェック失敗を条
件とするローカル最小信頼度バイト位置を選択すること
である。これは読取り/書込みチャネル48内の内部パ
リティ・チェック・コードの使用を前提とする。読取り
/書込みチャネル48は内部パリティ・チェック・コー
ドを用いて、パリティ・チェック・フラグを提供する。
1実施例では、パリティ・フラグはバイトのセット、例
えば8連続バイト毎に、1ビット・パリティ・チェック
から導出される。
ックを用いて、消去候補位置(ei)を検出する。バイ
ト信頼度発生器49がバイト・セットのパリティが失敗
したと判断する場合、バイト信頼度発生器49は、バイ
ト・セット内で、最小値θiを有するバイトの消去候補
位置(ei)を選択する。
施例では、バイト信頼度発生器49が更に信頼度比を計
算し、これは値の昇順において連続する2バイト信頼度
数(θi,θj)の比であり、次式で与えられる。 信頼度比=θi/θj
い値よりも小さい場合、バイト信頼度発生器49は、バ
イト信頼度数対(θi,θj)に対応するバイトの消去候
補位置(ei,ej)を選択する。
生器49は一連の信頼度数(2n)を、各バイトにつき
1個計算し、更に消去候補、すなわち最小の信頼度を有
するバイトの位置を提供する。シンドローム発生器20
5はコードワード全体のシンドロームを計算し、それら
をキー方程式解法機構のソフトECCデコーダ200に
転送する。
ダ200はバイト信頼度数410、消去候補位置42
0、及びシンドローム発生器205により生成されるシ
ンドロームを用いて、エラー・ロケータ及びエバリュエ
ータ多項式450を生成する。次に、エラー・ロケータ
及びエバリュエータ多項式450が解かれ、エラー位置
及び値460が生成される。これについては、本発明の
出願人に権利譲渡された、Hassnerらによる米国特許第
5428628号で述べられている。
について、図5乃至図13を参照しながら、特定の例に
ついて述べることにする。但し、これは本発明を例証す
るもので、制限するものではない。ソフトECCデコー
ダ200はシンドローム405(図11)、バイト信頼
度数410(図9)、及び消去候補位置420(図1
0)を受信する。この初期化ステージでは、ソフトEC
Cデコーダ200は(d−1)個の最小信頼度位置を選
択し、次にそれらを降順にソートする(図12)。従っ
て、最も信頼度の高いバイトが最初にリストされる。こ
の例では、位置番号1のバイトが最大値信頼度数を有
し、最初にリストされ、次に位置番号8のバイトが続く
(以下同様)。
ト信頼度数410と同一の順序でリストされる(図1
3)。この例では、最大値信頼度数を有する位置番号1
のバイトが、ガロア域(Galois Filed)位置指標a1を
有し、次にガロア域指標a8を有する位置番号8のバイ
トが続く(以下同様)。ここで"a"はガロア域の原始元
(primitive element)である。
すなわち、t個のエラーを突き止めることができ、ハミ
ング距離(d=2t+1)を有するデコーダでは、本発
明のデコーディング・アルゴリズムを実行するために要
求されるディスク記憶域量が、(12t+6)であり、
次のように詳述される。
タ ii)ソート済み信頼度数(図12)を記憶する2t個の
レジスタ iii)ソート済み消去候補位置(図13)を記憶する2
t個のレジスタ
t個のレジスタ ii)補助エラー・エバリュエータの係数を記憶する2t
個のレジスタ iii)最適解のエラー・エバリュエータ多項式を記憶す
る2t個のレジスタ iv)次のパラメータを記憶する6個のレジスタ(各パラ
メータに対して、1個のレジスタが対応)
ーを制御する制御変数θsum:性能基準 θbest:性能基準θsumの最適値 δmin:制御変数δの最小値 γ:消去位置でのエラー・エバリュエータ多項式の値 η:消去位置での補助エラー・エバリュエータ多項式の
値
は、t=4で、図5及び図6のデコーディング・プロセ
ス500に対して要求されるレジスタの数は、54個
(すなわち(12×4)+6)である。
デコーディング・プロセス500を完了するために要求
される反復の総数(d−1)が、次式により定義され
る。
コーダ200により実現されるデコーディング・プロセ
ス500を示す。ステップ510で、2つの多項式V
(x)及びR(x)を初期化することにより、ソフトE
CCデコーダ200が開始する。ここでV(x)は、次
式により初期化される補助エバリュエータ多項式であ
る。 V(x):=xd-1
エラー・エバリュエータ多項式である。 R(x):=S(x).E(x)mod xd-1
定されるシンドローム多項式であり、E(x)はその根
が消去候補位置である消去多項式である。
コーダ200は次のパラメータを基本値にプリセットす
るように初期化する。すなわち、 δ:=d−1。ここでδはエラー数の2倍と、現行の解
の消去数との和であり、その値をd、すなわちコードの
ハミング距離と比較することにより、デコーディング方
法500を制御する。 δmin:=d。ここでδminは現計算ブロックにおけるδ
の最小値である。 θsum:=0。ここでθsumは現計算ブロックの性能基準
である。 θbest:=0。ここでθbestは計算ブロックにおけるθ
sumの最適な現最大値である。 i:=0。ここでiはデコーディング方法500により
実行される反復の回数である。 bestSol:=Sol:=[R(x),i]。ここでbestSolは
現θbestに関連付けられる解であり、Solは最も最近計
算された解である。
び540の目的は、評価される消去候補が真のエラーか
否かをチェックすることである。この目的は、図12の
ソート済みバイト信頼度数、及び図13の対応するソー
ト済み消去候補位置を、1度に1対{ei,ej}ずつ降
順に、すなわち、最も信頼度が高いものが最初に処理さ
れるように、順次処理することにより達成される。
され(i=i+1)、2つの対応する多項式V(ei)
及びR(ei)を計算することにより、各対{ei,
θi}が評価される。ここでejは消去候補位置を表し、
θiは、現在分析されている対応するバイト信頼度数を
表す。
ーダ200が次の式を評価する。 γ:=R(ei) η:=V(ei)
200は、γの値、すなわち分析されている消去候補位
置(ei)におけるエラー・エバリュエータ多項式が0
か否かをチェックする。ステップ520で、ソフトEC
Cデコーダ200がγの値が0と判断すると、次にエバ
リュエータ削減ステップ530に進み、消去候補を偽り
エラーとして、以後の検討から廃棄する。これは次式を
評価することにより達成される。 δ:=δ−1 δ<d → θsum:=θsum+θi
に、エラー・エバリュエータ多項式R(ei)を1次項
(x−ei)により除算することにより、検討対象の消
去候補が削減される(すなわち除去される)。
ステップ535で、全てのソート済みバイト信頼度数
(図12)及びソート済み消去候補位置(図13)が、
検討されたか否かを調査する。検討された場合、ソフト
ECCデコータ200はステップ536で、エラー位置
多項式を計算し、そこから最適解及び現行の解、すなわ
ち[bestSol,Sol]を生成する。これについては、図7に
関連して後述する。
5で、ソート済みバイト信頼度数及びソート済み消去候
補位置の幾つかが、まだ検討されていないと判断する
と、プロセス500はステップ515に進み、消去候補
位置とバイト信頼度数の次の対{ei,θi}を受け取
る。そして、新たな対{ei,θi}が前述のように処理
される。
法500が、分析されている消去候補位置(ei)にお
けるエラー・エバリュエータ多項式R(ei)の値γが
0でないと判断する場合、次にステップ540に進み、
現在分析されている消去候補位置及びバイト信頼度数の
対{ei,θi}に対する、補助エバリュエータ多項式V
(x)の値ηが0か否か、すなわちV(ei)=0か否
かを調査する。ステップ540ではまた、ソフトECC
デコーダ200が更に、度合い限界δがハミング距離d
よりも小さいか否かをチェックする。
ない、すなわち、ηが0ではなく、且つδが限界条件を
満足しない(すなわちδがハミング距離よりも小さくな
い)場合、デコーディング・プロセス500はエバリュ
エータ更新ステップ550に進み、現消去候補を実際の
エラーとして扱い、次式で示されるように、最適解best
Solを更新する。 θsum>θbest→[θbest:=θsum;bestSol:=Sol] θsum:=0 δ:=δ−1 δmin:=δ δ<d → θsum:=θsum+θi R(x):={R(x)−γ/η・V(x)}/(x−e
i) Sol:=[R(x),i]
535に戻り、前述のように問い合わせを行う。
法500が両方の条件を満足する、すなわちηが0に等
しく、δが限界条件を満足する(すなわちδがハミング
距離より小さい)と判断すると、プロセス500は補助
エバリュエータ更新ステップ560に進み、次式で示す
ように、補助エバリュエータ多項式V(x)及び最適解
bestSolを更新する。 δ<d → θsum:θsum−θi
535に戻り、前述のように問い合わせを行う。
セス500は、シンドロームS(x)、エラー・エバリ
ュエータ多項式R(x)及び指標iを把握し、ステップ
560で次式を評価することにより、エラー・ロケータ
多項式P(x)を計算する。
おいて、エラー・ロケータ多項式係数Piが次のように
反復的に計算される。
続き、ソフトECCデコーダ200は既知の手法によ
り、最終的に最適解及び現行の解、すなわち[bestSol,
Sol]を生成する。
に本発明の原理の特定の応用例を示すだけであり、本発
明の趣旨及び範囲から逸れることなく、ここで述べたエ
ラー訂正システム及び関連方法に対する様々な変更が可
能である。更に、本発明はデータ記憶システムを例に挙
げて述べられてきたが、本発明が様々な通信システム及
びデータ処理システムにも同様に適用可能であることは
明らかである。
の事項を開示する。
するバイト信頼度発生器と、コードワードの1つ以上の
シンドロームを生成するシンドローム発生器と、前記バ
イト信頼度及び前記シンドロームを反復的に処理し、汎
用最小距離デコーディング・エラー・ロケータ多項式及
びエラー・エバリュエータ多項式を生成するデコーダを
含むキー方程式解法機構とを含むエラー訂正コード・シ
ステム。 (2)前記バイト信頼度がバイト信頼度数及び消去候補
位置の2つの要素を含む、前記(1)記載のシステム。 (3)前記バイト信頼度発生器が、各々がコードワード
の各バイトに対応する複数の信頼度数を計算し、最小信
頼度数を有する前記消去候補位置を提供する、前記
(2)記載のシステム。 (4)前記デコーダが初期化ステージにおいて、複数の
パラメータを初期化する、前記(3)記載のシステム。 (5)前記初期化ステージにおいて、前記デコーダが
(d−1)個の最小信頼度バイトを選択し、選択された
前記バイトを、最も信頼度の高いバイトが最初に処理さ
れるように降順にソートする、前記(4)記載のシステ
ム。 (6)前記初期化ステージにおいて、前記デコーダが前
記バイト信頼度数に対応する前記消去候補位置をソート
する、前記(5)記載のシステム。 (7)tバイトのデコーダにおいて、前記デコータが合
計(d−1)回の反復を実行し、dがハミング距離を表
す、前記(4)記載のシステム。 (8)前記デコーダが次式、すなわち
標である、前記(7)記載のシステム。 (9)前記デコーダが、ハミング距離dによる補助エバ
リュエータ多項式V(x)の初期化、すなわちV
(x):=xd-1、及びシンドローム値により決定され
るシンドローム多項式S(x)、及び消去候補位置によ
り決定される消去多項式E(x)による、エラー・エバ
リュエータ多項式R(x)の初期化、すなわち R(x):=S(x).E(x)mod xd-1 のいずれかまたは両方の初期化を含む、前記(4)記載
のシステム。 (10)前記デコーダが1つ以上のパラメータを初期化
し、前記パラメータの初期化が、δ:=d−1と、現計
算ブロックにおけるδの最小値δmin:=dと、現計算
ブロックの測度θsum:=0と、計算ブロックにおける
θsumの最適な現最大値θbest:=0と、前記デコーダ
により実行される反復の回数i:=0と、現θbestに関
連付けられる最適解bestSol、及び最も最近計算された
解Solにおいて、bestSol:=Sol:=[R(x),i]と
を含む、前記(9)記載のシステム。 (11)前記デコーダが1度に1消去候補について、消
去候補チェックを順次実行し、前記消去候補が真のエラ
ーか否かを評価する、前記(9)記載のシステム。 (12)前記デコーダが式、すなわちγ:=R(ei)
と、η:=V(ei)とを評価し、eiがi番目の消去候
補位置の値であり、前記デコーダが、分析されている消
去候補位置(ei)における前記エラー・エバリュエー
タ多項式γの値が0か否かを調査し、γの値が0と判断
すると、エバリュエータ削減ステージに進み、前記消去
候補を偽りエラーとして、以後の検討から廃棄する、前
記(11)記載のシステム。 (13)前記デコーダが、分析されている消去候補位置
(ei)における前記エラー・エバリュエータ多項式R
(ei)の値γが0でないと判断する場合、前記デコー
ダが、現在分析されている消去候補位置及びバイト信頼
度数における、前記補助エバリュエータ多項式V(x)
の値ηが0、すなわちV(ei):=0か否かを調査
し、更に、度合い限界δがハミング距離dよりも小さい
か否かをチェックすることにより、δが限界条件を満足
するか否かをチェックする、前記(12)記載のシステ
ム。 (14)前記デコーダがηが0ではなく、且つδが限界
条件を満足しないと判断する場合、前記デコーダがエバ
リュエータ更新ステージに進み、現消去候補を実際のエ
ラーとして扱い、前記最適解bestSolを更新する、前記
(13)記載のシステム。 (15)前記デコーダがηが0に等しく、δが限界条件
を満足すると判断すると、前記デコーダが補助エバリュ
エータ更新ステージに進み、前記補助エバリュエータ多
項式V(x)及び最適解bestSolを更新する、前記(1
4)記載のシステム。 (16)コードワードのバイト信頼度を計算するステッ
プと、コードワードの1つ以上のシンドロームを生成す
るステップと、前記バイト信頼度及び前記シンドローム
を反復的に処理し、そこから汎用最小距離デコーディン
グ・エラー・ロケータ多項式及びエラー・エバリュエー
タ多項式を生成するステップとを含むエラー訂正コード
方法。 (17)前記バイト信頼度がバイト信頼度数及び消去候
補位置の2つの要素を含み、前記コードワードのバイト
信頼度を計算するステップが、各々がコードワードの各
バイトに対応する複数の信頼度数を計算するステップを
含み、更に最小信頼度数を有する前記消去候補位置を提
供するステップを含む、前記(16)記載の方法。 (18)前記反復的に処理するステップが、初期化ステ
ージにおいて、複数のパラメータを初期化するステップ
を含む、前記(17)記載の方法。 (19)前記初期化するステップが、最小信頼度バイト
が最初に処理されるように、バイト信頼度数をソートす
るステップと、前記バイト信頼度数に対応する前記消去
候補位置をソートするステップとを含む、前記(17)
記載の方法。 (20)前記初期化するステップが、ハミング距離dに
よる補助エバリュエータ多項式V(x)の初期化、すな
わち V(x):=xd-1、 シンドローム値により決定されるシンドローム多項式S
(x)、及び消去候補位置により決定される消去多項式
E(x)による、エラー・エバリュエータ多項式R
(x)の初期化、すなわち R(x):=S(x).E(x)mod xd-1、 δ:=d−1、 現計算ブロックにおけるδの最小値δmin:=d、 現計算ブロックの測度θsum:=0、 計算ブロックにおけるθsumの最適な現最大値θbest:
=0、 前記デコーダにより実行される反復の回数i:=0、及
び現θbestに関連付けられる最適解bestSol、及び最も
最近計算された解Solにおいて、bestSol:=Sol:=[R
(x),i]の1つ以上の初期化を含む、前記(19)
記載の方法。 (21)前記反復的に処理するステップが、消去候補チ
ェックを順次実行し、前記消去候補が真のエラーか否か
を評価する、前記(18)記載の方法。 (22)前記消去候補チェックを実行するステップが、
γ:=R(ei)と、η:=V(ei)とをセットするス
テップを含み、eiがi番目の消去候補位置の値であ
り、更に、分析されている消去候補位置(ei)におけ
る前記エラー・エバリュエータ多項式γの値が0か否か
を調査し、γの値が0と判断すると、前記消去候補を偽
りエラーとして、以後の検討から廃棄することにより、
エバリュエータ削減ステップを実行する、前記(21)
記載の方法。 (23)分析されている消去候補位置(ei)における
前記エラー・エバリュエータ多項式R(ei)の値γが
0でないと判断する場合、現在分析されている消去候補
位置及びバイト信頼度数における、前記補助エバリュエ
ータ多項式V(x)の値ηが0、すなわちV(ei):
=0か否かを調査し、更に、度合い限界δがハミング距
離dよりも小さいか否かをチェックすることにより、δ
が限界条件を満足するか否かをチェックし、ηが0では
なく、且つδが限界条件を満足しない場合、現消去候補
を実際のエラーとして扱い、前記最適解bestSolを更新
することにより、エバリュエータ更新ステップを実行
し、ηが0に等しく、δが限界条件を満足する場合、前
記補助エバリュエータ多項式V(x)及び最適解bestSo
lを更新することにより、補助エバリュエータ更新ステ
ップを実行する、前記(22)記載の方法。 (24)前記エラー・ロケータ多項式を生成するステッ
プが、次式すなわち
が、有限域計算及び有限精度計算を単一の再帰に統合す
るステップを含む、前記(16)記載の方法。 (26)前記バイト信頼度を計算するステップが、ビッ
ト対数尤度比から前記バイト信頼度を生成するステップ
を含む、前記(16)記載の方法。 (27)前記バイト信頼度を計算するステップが、最小
ビット対数尤度比を有するバイト信頼度を選択するステ
ップを含む、前記(26)記載の方法。 (28)前記バイト信頼度を計算するステップが、パリ
ティ・チェックを用いて、前記消去候補位置を検出する
ステップを含む、前記(17)記載の方法。 (29)前記バイト信頼度を計算するステップが、パリ
ティ・チェックを用いて、前記消去候補位置を検出する
ステップを含む、前記(27)記載の方法。 (30)前記バイト信頼度を計算するステップが、2つ
の連続バイト信頼度数の信頼度比を昇順に計算するステ
ップと、前記信頼度比が所定しきい値よりも小さい場
合、対の連続バイト信頼度数に対応するバイトの消去候
補位置を選択するステップとを含む、前記(17)記載
の方法。
ード(ECC)を実現する、ディスク・ドライブなどの
データ記憶システムを示す図である。
を実現するオンザフライ式(OTF)エラー訂正コード
(ECC)システムを含む、バッファ式ハード・ディス
ク制御装置のアーキテクチャを示すブロック図である。
ネル及び書込みチャネルに沿うデータ・フローと、EC
C読取りプロセッサ及びECC書込みプロセッサから成
る典型的オンザフライ式エラー訂正コード・システムと
を示す、図1のデータ記憶システムのブロック図であ
る。
みプロセッサの一部を形成するエラー訂正コード・モジ
ュールの主な構成要素を示す、図1のデータ記憶システ
ムのブロック図である。
・エラー訂正デコーダによりエラー訂正コードを実現す
る一般的方法を示すフローチャートである。
フローチャートである。
れるエラー・ロケータ多項式を計算するステップを示す
フローチャートである。
される15バイト位置における、15バイトから成る模
範的なコードワードを示す図である。
される、図8のコードワードの模範的なバイト信頼度数
を示す図である。
理される、図8のコードワードの模範的な消去候補位置
を示す図である。
理される、図8のコードワードの模範的なシンドローム
を示す図である。
順にソートされた後の、図9の模範的バイト信頼度数を
示す図である。
信頼度値に従いソートされた後の、図10の模範的な消
去候補位置を示す図である。
Claims (30)
- 【請求項1】コードワードのバイト信頼度を計算するバ
イト信頼度発生器と、 コードワードの1つ以上のシンドロームを生成するシン
ドローム発生器と、 前記バイト信頼度及び前記シンドロームを反復的に処理
し、汎用最小距離デコーディング・エラー・ロケータ多
項式及びエラー・エバリュエータ多項式を生成するデコ
ーダを含むキー方程式解法機構とを含むエラー訂正コー
ド・システム。 - 【請求項2】前記バイト信頼度がバイト信頼度数及び消
去候補位置の2つの要素を含む、請求項1記載のシステ
ム。 - 【請求項3】前記バイト信頼度発生器が、各々がコード
ワードの各バイトに対応する複数の信頼度数を計算し、
最小信頼度数を有する前記消去候補位置を提供する、請
求項2記載のシステム。 - 【請求項4】前記デコーダが初期化ステージにおいて、
複数のパラメータを初期化する、請求項3記載のシステ
ム。 - 【請求項5】前記初期化ステージにおいて、前記デコー
ダが(d−1)個の最小信頼度バイトを選択し、選択さ
れた前記バイトを、最も信頼度の高いバイトが最初に処
理されるように降順にソートする、請求項4記載のシス
テム。 - 【請求項6】前記初期化ステージにおいて、前記デコー
ダが前記バイト信頼度数に対応する前記消去候補位置を
ソートする、請求項5記載のシステム。 - 【請求項7】tバイトのデコーダにおいて、前記デコー
タが合計(d−1)回の反復を実行し、dがハミング距
離を表す、請求項4記載のシステム。 - 【請求項8】前記デコーダが次式、すなわち 【数1】 で定義される待ち時間を有し、kが0からtの範囲の指
標である、請求項7記載のシステム。 - 【請求項9】前記デコーダが、 ハミング距離dによる補助エバリュエータ多項式V
(x)の初期化、すなわちV(x):=xd-1、及びシ
ンドローム値により決定されるシンドローム多項式S
(x)、及び消去候補位置により決定される消去多項式
E(x)による、エラー・エバリュエータ多項式R
(x)の初期化、すなわち R(x):=S(x).E(x)mod xd-1 のいずれかまたは両方の初期化を含む、請求項4記載の
システム。 - 【請求項10】前記デコーダが1つ以上のパラメータを
初期化し、前記パラメータの初期化が、 δ:=d−1と、 現計算ブロックにおけるδの最小値δmin:=dと、 現計算ブロックの測度θsum:=0と、 計算ブロックにおけるθsumの最適な現最大値θbest:
=0と、 前記デコーダにより実行される反復の回数i:=0と、 現θbestに関連付けられる最適解bestSol、及び最も最
近計算された解Solにおいて、bestSol:=Sol:=[R
(x),i]とを含む、請求項9記載のシステム。 - 【請求項11】前記デコーダが1度に1消去候補につい
て、消去候補チェックを順次実行し、前記消去候補が真
のエラーか否かを評価する、請求項9記載のシステム。 - 【請求項12】前記デコーダが式、すなわちγ:=R
(ei)と、 η:=V(ei)とを評価し、eiがi番目の消去候補位
置の値であり、 前記デコーダが、分析されている消去候補位置(ei)
における前記エラー・エバリュエータ多項式γの値が0
か否かを調査し、γの値が0と判断すると、エバリュエ
ータ削減ステージに進み、前記消去候補を偽りエラーと
して、以後の検討から廃棄する、請求項11記載のシス
テム。 - 【請求項13】前記デコーダが、分析されている消去候
補位置(ei)における前記エラー・エバリュエータ多
項式R(ei)の値γが0でないと判断する場合、前記
デコーダが、現在分析されている消去候補位置及びバイ
ト信頼度数における、前記補助エバリュエータ多項式V
(x)の値ηが0、すなわちV(ei):=0か否かを
調査し、更に、度合い限界δがハミング距離dよりも小
さいか否かをチェックすることにより、δが限界条件を
満足するか否かをチェックする、請求項12記載のシス
テム。 - 【請求項14】前記デコーダがηが0ではなく、且つδ
が限界条件を満足しないと判断する場合、前記デコーダ
がエバリュエータ更新ステージに進み、現消去候補を実
際のエラーとして扱い、前記最適解bestSolを更新す
る、請求項13記載のシステム。 - 【請求項15】前記デコーダがηが0に等しく、δが限
界条件を満足すると判断すると、前記デコーダが補助エ
バリュエータ更新ステージに進み、前記補助エバリュエ
ータ多項式V(x)及び最適解bestSolを更新する、請
求項14記載のシステム。 - 【請求項16】コードワードのバイト信頼度を計算する
ステップと、 コードワードの1つ以上のシンドロームを生成するステ
ップと、 前記バイト信頼度及び前記シンドロームを反復的に処理
し、そこから汎用最小距離デコーディング・エラー・ロ
ケータ多項式及びエラー・エバリュエータ多項式を生成
するステップとを含むエラー訂正コード方法。 - 【請求項17】前記バイト信頼度がバイト信頼度数及び
消去候補位置の2つの要素を含み、前記コードワードの
バイト信頼度を計算するステップが、各々がコードワー
ドの各バイトに対応する複数の信頼度数を計算するステ
ップを含み、更に最小信頼度数を有する前記消去候補位
置を提供するステップを含む、請求項16記載の方法。 - 【請求項18】前記反復的に処理するステップが、初期
化ステージにおいて、複数のパラメータを初期化するス
テップを含む、請求項17記載の方法。 - 【請求項19】前記初期化するステップが、最小信頼度
バイトが最初に処理されるように、バイト信頼度数をソ
ートするステップと、 前記バイト信頼度数に対応する前記消去候補位置をソー
トするステップとを含む、請求項17記載の方法。 - 【請求項20】前記初期化するステップが、 ハミング距離dによる補助エバリュエータ多項式V
(x)の初期化、すなわちV(x):=xd-1、 シンドローム値により決定されるシンドローム多項式S
(x)、及び消去候補位置により決定される消去多項式
E(x)による、エラー・エバリュエータ多項式R
(x)の初期化、すなわち R(x):=S(x).E(x)mod xd-1、 δ:=d−1、 現計算ブロックにおけるδの最小値δmin:=d、 現計算ブロックの測度θsum:=0、 計算ブロックにおけるθsumの最適な現最大値θbest:
=0、 前記デコーダにより実行される反復の回数i:=0、及
び現θbestに関連付けられる最適解bestSol、及び最も
最近計算された解Solにおいて、bestSol:=Sol:=[R
(x),i]の1つ以上の初期化を含む、請求項19記
載の方法。 - 【請求項21】前記反復的に処理するステップが、消去
候補チェックを順次実行し、前記消去候補が真のエラー
か否かを評価する、請求項18記載の方法。 - 【請求項22】前記消去候補チェックを実行するステッ
プが、 γ:=R(ei)と、 η:=V(ei)とをセットするステップを含み、 eiがi番目の消去候補位置の値であり、更に、分析さ
れている消去候補位置(ei)における前記エラー・エ
バリュエータ多項式γの値が0か否かを調査し、γの値
が0と判断すると、前記消去候補を偽りエラーとして、
以後の検討から廃棄することにより、エバリュエータ削
減ステップを実行する、請求項21記載の方法。 - 【請求項23】分析されている消去候補位置(ei)に
おける前記エラー・エバリュエータ多項式R(ei)の
値γが0でないと判断する場合、現在分析されている消
去候補位置及びバイト信頼度数における、前記補助エバ
リュエータ多項式V(x)の値ηが0、すなわちV(e
i):=0か否かを調査し、更に、度合い限界δがハミ
ング距離dよりも小さいか否かをチェックすることによ
り、δが限界条件を満足するか否かをチェックし、 ηが0ではなく、且つδが限界条件を満足しない場合、
現消去候補を実際のエラーとして扱い、前記最適解best
Solを更新することにより、エバリュエータ更新ステッ
プを実行し、 ηが0に等しく、δが限界条件を満足する場合、前記補
助エバリュエータ多項式V(x)及び最適解bestSolを
更新することにより、補助エバリュエータ更新ステップ
を実行する、請求項22記載の方法。 - 【請求項24】前記エラー・ロケータ多項式を生成する
ステップが、次式すなわち 【数2】 T(x):=S(x).E(x)(mod xd-1) P(x):=R(x)/T(x)(mod xd-1) 【数3】 【数4】 【数5】 【数6】 を評価するステップを含む、請求項16記載の方法。 - 【請求項25】前記バイト信頼度を反復的に処理するス
テップが、有限域計算及び有限精度計算を単一の再帰に
統合するステップを含む、請求項16記載の方法。 - 【請求項26】前記バイト信頼度を計算するステップ
が、ビット対数尤度比から前記バイト信頼度を生成する
ステップを含む、請求項16記載の方法。 - 【請求項27】前記バイト信頼度を計算するステップ
が、最小ビット対数尤度比を有するバイト信頼度を選択
するステップを含む、請求項26記載の方法。 - 【請求項28】前記バイト信頼度を計算するステップ
が、パリティ・チェックを用いて、前記消去候補位置を
検出するステップを含む、請求項17記載の方法。 - 【請求項29】前記バイト信頼度を計算するステップ
が、パリティ・チェックを用いて、前記消去候補位置を
検出するステップを含む、請求項27記載の方法。 - 【請求項30】前記バイト信頼度を計算するステップ
が、2つの連続バイト信頼度数の信頼度比を昇順に計算
するステップと、 前記信頼度比が所定しきい値よりも小さい場合、対の連
続バイト信頼度数に対応するバイトの消去候補位置を選
択するステップとを含む、請求項17記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/611,872 US6553536B1 (en) | 2000-07-07 | 2000-07-07 | Soft error correction algebraic decoder |
US09/661872 | 2000-07-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002100127A true JP2002100127A (ja) | 2002-04-05 |
Family
ID=24450719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001206336A Pending JP2002100127A (ja) | 2000-07-07 | 2001-07-06 | エラー訂正コード・システム及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6553536B1 (ja) |
JP (1) | JP2002100127A (ja) |
CN (1) | CN1311639C (ja) |
TW (1) | TW511337B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100835134B1 (ko) | 2006-08-22 | 2008-06-04 | 한국과학기술원 | 순방향 오류정정 복호화 방법 및 복호화기. |
JP2008136166A (ja) * | 2006-11-01 | 2008-06-12 | Fujitsu Ltd | 最尤検出器、誤り訂正回路及び媒体記憶装置 |
JP2008165805A (ja) * | 2007-01-03 | 2008-07-17 | Samsung Electronics Co Ltd | フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117418B2 (en) * | 2000-09-11 | 2006-10-03 | Comtech Aha Corporation | Soft input-soft output forward error correction decoding for turbo codes |
WO2003015285A1 (en) * | 2001-08-09 | 2003-02-20 | Adaptive Networks, Inc. | Error correction process and mechanism |
GB2407946A (en) * | 2003-11-05 | 2005-05-11 | Nokia Corp | Forward Error Correction decoder suitable for use with data comprising variable padding |
CN100449948C (zh) * | 2004-04-05 | 2009-01-07 | 美国博通公司 | Ldpc编码信号位-校验并行解码的方法及装置 |
US7516389B2 (en) * | 2004-11-04 | 2009-04-07 | Agere Systems Inc. | Concatenated iterative and algebraic coding |
EP1681770A1 (en) * | 2005-01-18 | 2006-07-19 | Koninklijke Philips Electronics N.V. | Error correcting code |
US7587657B2 (en) * | 2005-04-29 | 2009-09-08 | Agere Systems Inc. | Method and apparatus for iterative error-erasure decoding |
US7526683B1 (en) * | 2005-06-01 | 2009-04-28 | Sun Microsystems, Inc. | Dynamic self-tuning soft-error-rate-discrimination for enhanced availability of enterprise computing systems |
TWI415416B (zh) * | 2005-09-19 | 2013-11-11 | St Ericsson Sa | 在包含消除表格資料的移動式無線應用中用於校正錯誤的裝置及方法 |
JP4833173B2 (ja) * | 2006-10-30 | 2011-12-07 | 富士通株式会社 | 復号化器、符号化・復号化装置及び記録再生装置 |
US7557617B1 (en) | 2007-01-03 | 2009-07-07 | Altera Corporation | Digital decoder with complementary outputs |
US8732558B1 (en) | 2007-04-25 | 2014-05-20 | Samsung Electronics Co., Ltd. | MPE-FEC system capable of selecting an FEC mode, a forward error correcting method performed in the MPE-FEC system, and an FEC mode selecting method performed in the MPE-FEC system |
US20090132894A1 (en) * | 2007-11-19 | 2009-05-21 | Seagate Technology Llc | Soft Output Bit Threshold Error Correction |
US8127216B2 (en) | 2007-11-19 | 2012-02-28 | Seagate Technology Llc | Reduced state soft output processing |
KR100943519B1 (ko) * | 2007-11-22 | 2010-02-22 | 한국전자통신연구원 | 로그우도비 산출 방법 및 송신 신호 검출 방법 |
KR101490249B1 (ko) * | 2007-12-11 | 2015-02-05 | 엘지전자 주식회사 | 연판정을 이용한 통신방법 및 장치 |
KR101467788B1 (ko) * | 2007-12-11 | 2014-12-03 | 엘지전자 주식회사 | 랜덤 선형 부호화를 이용하는 통신방법 및 장치 |
JP5007676B2 (ja) * | 2008-01-31 | 2012-08-22 | 富士通株式会社 | 符号化装置、復号化装置、符号化・復号化装置及び記録再生装置 |
US8166376B2 (en) * | 2008-04-08 | 2012-04-24 | Hitachi Global Storage Technologies Netherlands, B. V. | Techniques for correcting errors and erasures using a single-shot generalized minimum distance key equation solver |
US8386868B2 (en) * | 2008-04-16 | 2013-02-26 | Sandisk Il, Ltd. | Using programming-time information to support error correction |
KR101526317B1 (ko) * | 2008-05-09 | 2015-06-11 | 삼성전자주식회사 | 계층적 디코딩 장치 |
CN101442394B (zh) * | 2008-11-10 | 2011-06-29 | 西安电子科技大学 | 可迭代译码的网络编码协作通信方法 |
US9419651B2 (en) * | 2008-12-31 | 2016-08-16 | Stmicroelectronics, Inc. | Non-polynomial processing unit for soft-decision error correction coding |
CN101777919B (zh) * | 2009-01-12 | 2014-07-16 | 瑞昱半导体股份有限公司 | 区块码解码方法 |
US8595603B2 (en) * | 2011-03-29 | 2013-11-26 | Intel Corporation | Apparatus and methods for selective block decoding |
US8443271B1 (en) * | 2011-10-28 | 2013-05-14 | Lsi Corporation | Systems and methods for dual process data decoding |
US9054742B2 (en) * | 2013-03-14 | 2015-06-09 | Intel Corporation | Error and erasure decoding apparatus and method |
US10674180B2 (en) * | 2015-02-13 | 2020-06-02 | Netflix, Inc. | Techniques for identifying errors introduced during encoding |
US10459783B2 (en) * | 2016-08-30 | 2019-10-29 | Marvell World Trade Ltd. | Low-latency decoder for Reed Solomon codes |
US10572342B2 (en) * | 2016-10-24 | 2020-02-25 | SK Hynix Inc. | Memory system with LDPC decoder and operating method thereof |
US11861177B2 (en) * | 2021-08-06 | 2024-01-02 | Micron Technology, Inc. | Configurable verify level for a set of data in a memory device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1296065C (en) | 1985-12-11 | 1992-02-18 | Tadashi Matsumoto | Method for decoding error correcting block codes |
US4821268A (en) | 1987-10-26 | 1989-04-11 | Cyclotomics, Inc. | Soft decision Reed-Solomon decoder |
DE68920142T2 (de) * | 1989-08-24 | 1995-07-13 | Philips Electronics Nv | Verfahren und Einrichtung zur Decodierung von wortgeschützten Codewörtern durch einen nichtbinären BCH-Code gegen mindestens einen Symbolfehler. |
EP0496157A3 (en) | 1991-01-22 | 1992-08-12 | International Business Machines Corporation | Apparatus and method for decoding linear algebraic codes |
JP3154607B2 (ja) * | 1993-12-28 | 2001-04-09 | 三菱電機株式会社 | 誤り訂正復号装置及び誤り訂正復号方法 |
GB2289779B (en) * | 1994-05-24 | 1999-04-28 | Intel Corp | Method and apparatus for automatically scrubbing ECC errors in memory via hardware |
US5745507A (en) * | 1995-03-31 | 1998-04-28 | International Business Machines Corporation | Systematic symbol level ECC for use in digital memory systems |
JP3343857B2 (ja) * | 1998-06-30 | 2002-11-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 復号装置、演算装置およびこれらの方法 |
US6449746B1 (en) * | 1998-08-17 | 2002-09-10 | T. K. Truong | Decoding method for correcting both erasures and errors of reed-solomon codes |
-
2000
- 2000-07-07 US US09/611,872 patent/US6553536B1/en not_active Expired - Fee Related
-
2001
- 2001-07-04 TW TW090116374A patent/TW511337B/zh not_active IP Right Cessation
- 2001-07-06 CN CNB011228350A patent/CN1311639C/zh not_active Expired - Fee Related
- 2001-07-06 JP JP2001206336A patent/JP2002100127A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100835134B1 (ko) | 2006-08-22 | 2008-06-04 | 한국과학기술원 | 순방향 오류정정 복호화 방법 및 복호화기. |
JP2008136166A (ja) * | 2006-11-01 | 2008-06-12 | Fujitsu Ltd | 最尤検出器、誤り訂正回路及び媒体記憶装置 |
US8230309B2 (en) | 2006-11-01 | 2012-07-24 | Fujitsu Limited | Maximum likelihood detector, error correction circuit and medium storage device |
JP2008165805A (ja) * | 2007-01-03 | 2008-07-17 | Samsung Electronics Co Ltd | フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム |
Also Published As
Publication number | Publication date |
---|---|
US6553536B1 (en) | 2003-04-22 |
CN1340923A (zh) | 2002-03-20 |
TW511337B (en) | 2002-11-21 |
CN1311639C (zh) | 2007-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002100127A (ja) | エラー訂正コード・システム及び方法 | |
US6792569B2 (en) | Root solver and associated method for solving finite field polynomial equations | |
JP3663377B2 (ja) | データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法 | |
US8407563B2 (en) | Low-complexity soft-decision decoding of error-correction codes | |
US6903887B2 (en) | Multiple level (ML), integrated sector format (ISF), error correction code (ECC) encoding and decoding processes for data storage or communication devices and systems | |
US7653862B2 (en) | Error detection and correction for encoded data | |
US7191382B2 (en) | Methods and apparatus for correcting data and error detection codes on the fly | |
US7231578B2 (en) | Techniques for detecting and correcting errors using multiple interleave erasure pointers | |
US8001447B2 (en) | Error correction method and apparatus for data storage device | |
US7421642B2 (en) | Method and apparatus for error detection | |
US6651213B2 (en) | Programmable multi-level track layout method and system for optimizing ECC redundancy in data storage devices | |
US20050204255A1 (en) | Cyclic redundancy check based message passing in Turbo Product Code decoding | |
US7178086B2 (en) | Direct partial update of CRC/ECC check bytes | |
JPH05347075A (ja) | リードソロモン誤り訂正装置 | |
US7127660B2 (en) | Method, apparatus and program storage device for correcting a burst of errors together with a random error using shortened cyclic codes | |
US7131052B2 (en) | Algebraic decoder and method for correcting an arbitrary mixture of burst and random errors | |
EP0341863B1 (en) | Sector mis-synchronization detection method | |
US8166376B2 (en) | Techniques for correcting errors and erasures using a single-shot generalized minimum distance key equation solver | |
US9069693B2 (en) | Decoder based data recovery | |
US20030192005A1 (en) | Method and apparatus for error detection | |
KR100594002B1 (ko) | 가변 처리가 가능한 파이프라인 구조의 리드 솔로몬 복호기 | |
US6671850B1 (en) | On-the-fly algebraic error correction system and method for reducing error location search | |
JP2001101020A (ja) | 誤り訂正装置およびディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040224 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20040224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040518 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20040531 |