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
Application number
JP2001206336A
Other languages
English (en)
Inventor
Oleriano Hasun Martin
マーティン・オーレリアーノ・ハスン
Michael H Ne Richard
リチャード・マイケル・エイチ・ネ
Moteibuhai Peito Arubindo
アルビンド・モティブハイ・ペイト
Tetsuya Tamura
テツヤ・タムラ
Marshall Toreiji Barry
バリー・マーシャル・トレイジ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002100127A publication Critical patent/JP2002100127A/ja
Pending legal-status Critical Current

Links

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/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/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • H03M13/455Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding

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

(57)【要約】 (修正有) 【課題】 性能に大きく影響することなく、ビット信頼
度情報を失うことなく、最尤デコーディング手法の複雑
度及び結果の待ち時間を低減するデコーディング方法及
びシステムを提供する。 【解決手段】 ソフト・エラー訂正代数デコーダ及び関
連方法が、消去信頼度数を用いて、エラー位置及び値を
導出する。詳細には、エラー消去率が最大化されるよう
に、最尤(ML)デコーダからの記号信頼度数と、内部
変調コード記号からのパリティ・チェック成功/失敗と
が、リード・ソロモン・デコーダにより反復的に組み合
わされる。ソフト・エラー訂正(ECC)代数デコーダ
及び関連方法が、バイナリ・コード及び検出器側の情報
を用いて、リード・ソロモン符号をデコードする。リー
ド・ソロモン符号は消去チャネル上での使用のために最
適化される。しきい値調整アルゴリズムが、検出器エラ
ー・フィルタ出力及び変調コード制約成功/失敗情報に
もとづき、消去候補を修飾する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ記憶装置の分
野に関し、特に、ソフト・エラー訂正代数デコーダを使
用するシステム及び方法に関する。より詳細には、本発
明によれば、要求チェック・バイト数を最小化する目的
で、最尤(ML)デコーダからのバイト信頼度数と、内
部変調コード記号からのパリティ・チェック成功/失敗
とが、エラー消去率を最大化するように、リード・ソロ
モン・デコーダにより反復的に組み合わされる。
【0002】
【従来の技術】記憶装置へのデータの記憶に関連する、
巡回(サイクリック)エラー訂正コードの使用は、十分
に確立されており、一般に記憶システムにおける信頼度
要求事項として認識されている。一般に、エラー訂正プ
ロセスは、各エラーの位置及び値を決定するためのシン
ドローム・バイトの処理を含む。非ゼロのシンドローム
・バイトは、データが記憶媒体に書込まれるときに生成
される、エラー文字の排他的論理和から生成される。
【0003】使用されるエラー訂正コード(ECC)チ
ェック文字の数は、コードの所望のパワーに依存する。
例として、記憶装置への8ビット・バイトの記憶に関連
して使用される、今日の多くのECCシステムでは、最
大でも255バイト位置の長さを有するコードワード内
において訂正される各エラーに対して、2チェック・バ
イトが使用される。従って、例えば249データ・バイ
ト及び6チェック・バイトを有するデータ・ブロック内
の3つまでのエラーを訂正するためには、6チェック・
バイトが要求される。従って、こうしたシステムでは、
6つの特殊なシンドローム・バイトが生成される。記憶
装置から読出される255バイトのデータ・ワード内
に、エラーが存在しない場合には、6シンドローム・バ
イトはオールゼロ・パターンである。こうした条件の下
では、シンドローム処理は要求されず、データ・ワード
が中央処理ユニットに送信される。しかしながら、1つ
以上のシンドローム・バイトが非ゼロの場合、シンドロ
ーム処理はエラーのバイトの位置を識別し、更に各エラ
ー位置のエラー・パターンを識別するプロセスを含む。
【0004】通常のシンドローム処理操作に関する基礎
的な数学上の概念及び演算が、様々な刊行物で述べられ
ている。これらの演算及び数学的な説明では、一般に最
初に"エラー・ロケータ多項式"と呼ばれるものの使用に
より、エラーの位置を識別する。エラー・ロケータ多項
式の使用に関する数学の全般的な目的は、システムにお
いて生成されるシンドローム・バイトだけを使用するこ
とにより、エラーのバイト位置を定義することである。
【0005】従来、シンドロームの観点からエラー位置
を表す解析学の開始として、エラー・ロケータ多項式が
使用されてきた。従って、バイナリ論理を用いてシンド
ローム・バイトをデコードし、最初にエラー位置を識別
することにより、関連ハードウェアが各位置でのエラー
・パターンを識別することを可能にする。更に、記憶シ
ステムまたは通信システムにおいて使用される、オンザ
フライ式ECCでのエラー位置は、エラー・ロケータ多
項式の根として計算される。
【0006】デコード性能を向上させるために、幾つか
のデコーディング手法が使用されてきた。1つのこうし
た手法は最小距離デコーディングであり、そのエラー訂
正能力はコードの代数的冗長性に依存する。しかしなが
ら、最小距離デコーディングは、コードの代数特性にも
とづいて、受信ワードに最も近いコードワードを決定
し、受信ワードの各桁のエラー確率はデコーディングに
帰属しない。すなわち、それぞれの桁のエラー確率は全
てが等しいとみなされ、エラー・ビットの数が、コード
距離に依存するエラー訂正能力により許可された値を超
えるとき、デコーディングが誤りとなる。
【0007】別のより効果的なデコーディング手法は、
最尤デコーディングであり、それによれば、送信された
とみなされるコードワードの確率が、各ビットのエラー
確率を用いて計算され、最大確率を有するコードワード
が、デコーディングの結果として転送される。この最尤
デコーディングは、数において、エラー訂正能力を超え
るエラーの訂正を可能にする。しかしながら、最尤デコ
ーディング手法は極めて複雑であり、実現するのにかな
りの資源を必要とする。更に、最尤デコーディング手法
は、一般に、ビット信頼度情報などの貴重なデータを無
視する。
【0008】
【発明が解決しようとする課題】しかしながら、従来の
デコーディング手法では、所与の信頼度/パリティ情報
に対して最大消去数を生成するように、リード・ソロモ
ン符号が最適化されない。これは主に、こうした情報が
大方、リード・ソロモン・デコーダにとって使用不能で
あることによる。更に、従来のデコーダにおいて実現さ
れるキー方程式解法(equation solver)機構は、加重
有理補間問題を解決するように設計されていない。
【0009】従って、性能に大きく影響することなく、
且つビット信頼度情報をを失うことなく、最尤デコーデ
ィング手法の複雑度及び結果の待ち時間を低減するデコ
ーディング方法が待望される。
【0010】デコーディング・プロセスをより効率的に
するための試みが、提案されている。例えば、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を参照されたい。しかしながら、こうした試みは
一般に、エラー・ロケータ及びエバリュエータ多項式を
計算するために複数の再帰を要求し、それにより貴重な
記憶空間内に冗長度を必要とする。更に、こうした試み
は一般に、機能的に有限域計算に制限されるキー方程式
解法機構を含み、従って、有限精度実計算を実行するた
めの別のモジュールを必要とするため、デコーディング
・プロセスのコストを増加させることになる。
【0011】従って、全ての候補エラー・ロケータ多項
式の根を突き止めることなく、汎用最小距離(GMD:
generalized Minimum Distance)デコーディング・アル
ゴリズムにより生成された消去候補のセットから、最も
起こり得る消去及びエラー・ロケータ多項式を提供し、
記憶空間の最小の冗長性により実現可能な、より効率的
なデコーディング・アルゴリズムが、依然待望されてい
る。
【0012】
【課題を解決するための手段】本発明によれば、ソフト
・エラー訂正代数デコーダ及び関連方法が、消去信頼度
数を用いて、エラー位置及び値を導出する。より詳細に
は、エラー消去率が最大化されるように、最尤(ML)
デコーダからの記号信頼度数と、内部変調コード記号か
らのパリティ・チェック成功/失敗とが、リード・ソロ
モン・デコーダにより反復的に組み合わされる。
【0013】本発明の1フィーチャによれば、デコーダ
がエラー・ロケータ及びエバリュエータ多項式計算する
ために、1度の再帰を要求し、これらの両方の多項式を
順次計算する。それにより、記憶空間の冗長性を最小化
する
【0014】本発明の前述の及び他のフィーチャは、バ
イナリ・コード及び検出器側の情報を用いて、リード・
ソロモン符号をデコードする、ソフト・エラー訂正(E
CC)代数デコーダ及び関連方法により実現される。リ
ード・ソロモン符号は、消去チャネル上での使用のため
に最適化される。本発明の1フィーチャは、有限域計算
及び有限精度実計算の両方を実行可能なキー方程式解法
機構を使用することにより、デコーディング・プロセス
のコストを低減することである。
【0015】本発明の1フィーチャによれば、しきい値
調整アルゴリズムが、検出器エラー・フィルタ出力及び
変調コード制約成功/失敗情報にもとづき、消去候補を
修飾する。特に、ディスク・ドライブ・アプリケーショ
ンにおいて、現変調コードがパリティ・チェックを使用
する場合、前記情報はパリティ・チェックまたは失敗に
相当する。このアルゴリズムは、リード・ソロモン・デ
コーダへの固定消去入力を生成する。
【0016】本発明の相補ソフト・デコーディング・ア
ルゴリズムは、検出器側情報により重みを与えられる加
重有理補間問題の解としてのエラー・パターンを計算す
る、キー方程式解法機構アルゴリズムの使用を教示す
る。
【0017】
【発明の実施の形態】図1は、ヘッド・スタック・アセ
ンブリ12、及び間隔をあけられたマグネットのスタッ
ク、及び共通シャフト16の回りを回転する光学式すな
わちMOデータ記憶ディスクまたは媒体14を含むディ
スク・ドライブ10を示す。ヘッド・スタック・アセン
ブリ12は、ディスク14間の空間に伸びる複数のアク
チュエータ・アーム20を含み、図1では簡略化のため
に、1つのディスク14及び1つのアクチュエータ・ア
ーム20だけが示されている。ディスク・ドライブ10
は更に前置増幅器44、バイト信頼度発生器49を含む
読取り/書込みチャネル48、及び本発明のソフト・エ
ラー訂正代数デコーダ200を含むハード・ディスク制
御装置50を含む。
【0018】ヘッド・スタック・アセンブリ12はま
た、E型ブロック24、及びEブロック24にアクチュ
エータ・アーム20と対向して取り付けられる磁気ロー
タ26を含む。ロータ26はステータ(図示せず)と協
働し、アクチュエータ・アーム20を実質的に半径方向
に、矢印Aで示される円弧状に回転させる。ロータ26
のコイルをある極性のまたは逆の極性の直流により活動
化すると、アクチュエータ・アーム20を含むヘッド・
スタック・アセンブリ12が、軸Pの回りを、実質的に
ディスク14の半径方向に回転する。ヘッド・ディスク
・アセンブリ33は、ディスク14及びヘッド・スタッ
ク・アセンブリ12から構成される。
【0019】トランスジューサ・ヘッド40が各アクチ
ュエータ・アーム20の自由端に装着され、軸Pの回り
を回転移動する。磁気ロータ26はヘッド40の半径方
向の移動を制御し、ヘッド40を追従するデータ情報ト
ラックまたはデータ・シリンダ42と位置決めし、これ
らのトラック42上の特定のデータ・セクタをアクセス
する。
【0020】多数のトラック42が、データ・ディスク
14の各面の磁気媒体内に同心パターン状に配列され、
各々は特定の半径位置を有する。データ・シリンダは、
スタック化ディスク14のデータ面に対して、対応する
データ情報トラック42のセットを含む。データ情報ト
ラック42は複数のセグメントまたはデータ・セクタを
含み、各セクタは後の検索及び更新のために保管される
データ・レコードの、予め定義されたサイズの個々のグ
ループを含む。データ情報トラック42は、サーボ参照
指標に対して所定の位置に配置される。
【0021】図2は、本発明によるオンザフライ式エラ
ー訂正コードを実現するオンザフライ式(OTF)エラ
ー訂正コード(ECC)システム100を含む、バッフ
ァ式ハード・ディスク制御装置50の典型的なアーキテ
クチャを示す。本発明はこの特定のアーキテクチャに制
限されるものではなく、他のアーキテクチャによっても
実現可能であることは明らかである。
【0022】ハード・ドライブ制御装置50は、ハード
・ディスク・アセンブリ33からのデータを、例えば8
ビットから32ビットにフォーマットする論理ドライブ
回路105を含む。FIFOレジスタ110はフォーマ
ットされたデータを記憶し、それをセクタ・バッファ1
20とやり取りする。ECCシステム100はドライブ
論理回路105からフォーマット化データを受信し、後
述のように、本発明のエラー訂正符号化アルゴリズムを
実行する。
【0023】バッファ・マネージャ115は、ECCシ
ステム100、セクタ・バッファ(すなわちランダム・
アクセス・メモリ)120、及びマイクロプロセッサ1
25の間のデータ・トラフィックを制御する。別のFI
FOレジスタ130はデータを記憶し、それをセクタ・
バッファ120とやり取りする。シーケンス制御装置1
35がドライブ論理回路105、マイクロプロセッサ1
25、及びホスト・インタフェース140の間に接続さ
れ、ハード・ドライブ制御装置50を横断するデータ・
トラフィック及び様々なコマンドのシーケンス操作を制
御する。ホスト・インタフェース140は、ハード・ド
ライブ制御装置50とホスト60(図1)との間のイン
タフェースを提供する。
【0024】図3は、ECC読取りプロセッサ163及
びECC書込みプロセッサ167から成るオンザフライ
式エラー訂正コード・システム100を含む、図2のハ
ード・ディスク制御装置50のブロック図を表す。デジ
タル・バイナリ・データのシーケンスがディスク14上
に書込まれるとき、それらは一時的にバッファ165内
に配置され、続いて書込みパスまたはチャネルに沿って
処理され、変換される(157、167、169)。
【0025】最初に、データ・ストリング内の所定数の
バイナリ・データ要素(バイトとも呼ばれる)が、バッ
ファ165から移動され、ECC書込みプロセッサ16
7を通じて転送される。ECC書込みプロセッサ167
内において、データ・バイトは、リード・ソロモン符号
から取り出されるコードワードにマップされる。次に、
各コードワードが書込みパス信号整形ユニット169内
で、制限付きランレングスまたは他のバンドパス、若し
くはスペクトル整形コードにマップされ、時間変化信号
に変換される。書込みパス信号整形ユニット169は、
信号を後述のようにエンコードするエンコーダ202
(図4)を含む。時間変化信号は読取り/書込みトラン
スジューサ・インタフェース157を通じて、磁気抵抗
または他の好適なトランスジューサ・ヘッド40内の書
込み素子に供給され、磁束パターンに変換される。
【0026】バッファ165からのバイナリ・データ要
素の移動から開始して、回転ディスク14がヘッド40
の下を通過するとき、磁束パターンが選択ディスク・ト
ラック42(図1)上に書込まれるまでの全ての測定
は、同期化され、ストリーム化される。効率的なデータ
転送のために、データが1度に1ディスク・セクタにつ
いてデステージされるか(書出される)、ステージされ
る(読出される)。従って、バイナリ・データのリード
・ソロモン・コードワードへのマッピング、及び磁束生
成用時間変化信号への変換の両方が、トランスジューサ
下で移動する記録トラック長の単位を定義する時間間隔
内に実行されなければならない。記録トラック長の典型
的な単位は、512バイトの等しい固定長バイト・セク
タである。
【0027】磁束パターンのシーケンスがディスク14
から読出されるとき、それらは読取りパスまたはチャネ
ル(157、159、161、163)内で処理され、
バッファ165に書込まれる。トランスジューサ40に
より検出される時間変化信号は、読取り/書込みトラン
スジューサ・インタフェース157を通じて、デジタル
信号抽出ユニット159に転送される。ここで、信号が
検出され、それがバイナリ1または0のいずれとして解
析されるべきかが決定される。これらの1及び0が信号
抽出ユニット159から転送されるとき、それらはフォ
ーマット・ユニット161において、コードワードに配
列される。
【0028】読取りパスは、ディスク14上に前に記録
されたリード・ソロモン・コードワードのシーケンスを
評価しているので、エラーまたは消去が不在であれば、
コードワードについても同様であるはずである。これが
当てはまるか否かをテストするために、各コードワード
がフォーマッタ161からパスを通じて、ECC読取り
プロセッサ163に供給される。また、ECCプロセッ
サ163からの出力は、バッファ165に書込まれる。
読取りパスはまた、同期データ・ストリーム形式で動作
し、ECC読取りプロセッサ163が、ディスク・トラ
ック42から読出される次のコードワードを十分間に合
って受信できるように、検出エラーが突き止められて、
コードワード内で訂正されなければならない。バッファ
165及び読取り/書込みチャネルは、マイクロプロセ
ッサ125(図2)によりモニタ及び制御され、有効性
が保証される。その際、参照パターンは、例えば順次読
取り参照のように、パスが停止しないことを要求しても
よい。
【0029】本発明のECCシステム100が動作する
一般的な環境について述べてきたが、次に、ECCシス
テム100の一部を形成するエラー訂正代数デコーダ
(ソフトECCデコーダ)200について述べることに
する。ECC読取りプロセッサ163及びECC書込み
プロセッサ167のそれぞれは、デジタル論理を用いて
ハードウェアにより実現されるECCデコーダ200を
含む。ソフトECCデコーダ200の主な構成要素が図
4に示される。
【0030】ECCシステム100(図4)は、エンコ
ーダ202、前置増幅器44、読取り/書込みチャネル
48、シンドローム発生器205、及び本発明のソフト
ECCデコーダ200を含むキー方程式解法機構を含
む。動作に際して、バイト信頼度発生器49がコードワ
ードのバイト信頼度を計算する。本明細書では、バイト
信頼度はコードワードの正確度を示し、2つの構成要
素、すなわちバイト信頼度数410及び消去候補位置4
20から成る。
【0031】図4を参照すると、読取り/書込みチャネ
ル48はビット対数尤度比発生器50を含み、これはビ
ットが"0"または"1"のいずれかである確率を示す、次
式により与えられるビット対数尤度比(LLR:bit lo
g-likelihood ratio)を生成する。 LLR=log{(ビットが1である確率)/(ビットが0
である確率)}
【0032】対数尤度比発生器50は、バイト内の各ビ
ットについてLLRを決定し、最小LLRを有するビッ
トをバイト信頼度として識別する。最小ビットLLR
は、特定バイトのバイト信頼度数(θi)として、次の
ようにセットされる。 θi=最小LLRi,j (但し1≦j≦8)
【0033】バイト信頼度計算により、消去候補位置を
最適化する有効な手段は、パリティ・チェック失敗を条
件とするローカル最小信頼度バイト位置を選択すること
である。これは読取り/書込みチャネル48内の内部パ
リティ・チェック・コードの使用を前提とする。読取り
/書込みチャネル48は内部パリティ・チェック・コー
ドを用いて、パリティ・チェック・フラグを提供する。
1実施例では、パリティ・フラグはバイトのセット、例
えば8連続バイト毎に、1ビット・パリティ・チェック
から導出される。
【0034】バイト信頼度発生器49はパリティ・チェ
ックを用いて、消去候補位置(ei)を検出する。バイ
ト信頼度発生器49がバイト・セットのパリティが失敗
したと判断する場合、バイト信頼度発生器49は、バイ
ト・セット内で、最小値θiを有するバイトの消去候補
位置(ei)を選択する。
【0035】この選択規則は更に改善され得る。別の実
施例では、バイト信頼度発生器49が更に信頼度比を計
算し、これは値の昇順において連続する2バイト信頼度
数(θi,θj)の比であり、次式で与えられる。 信頼度比=θij
【0036】信頼度比が(プログラマブルの)所定しき
い値よりも小さい場合、バイト信頼度発生器49は、バ
イト信頼度数対(θi,θj)に対応するバイトの消去候
補位置(ei,ej)を選択する。
【0037】各コードワードに対して、バイト信頼度発
生器49は一連の信頼度数(2n)を、各バイトにつき
1個計算し、更に消去候補、すなわち最小の信頼度を有
するバイトの位置を提供する。シンドローム発生器20
5はコードワード全体のシンドロームを計算し、それら
をキー方程式解法機構のソフトECCデコーダ200に
転送する。
【0038】ここで述べるように、ソフトECCデコー
ダ200はバイト信頼度数410、消去候補位置42
0、及びシンドローム発生器205により生成されるシ
ンドロームを用いて、エラー・ロケータ及びエバリュエ
ータ多項式450を生成する。次に、エラー・ロケータ
及びエバリュエータ多項式450が解かれ、エラー位置
及び値460が生成される。これについては、本発明の
出願人に権利譲渡された、Hassnerらによる米国特許第
5428628号で述べられている。
【0039】次に、ソフトECCデコーダ200の動作
について、図5乃至図13を参照しながら、特定の例に
ついて述べることにする。但し、これは本発明を例証す
るもので、制限するものではない。ソフトECCデコー
ダ200はシンドローム405(図11)、バイト信頼
度数410(図9)、及び消去候補位置420(図1
0)を受信する。この初期化ステージでは、ソフトEC
Cデコーダ200は(d−1)個の最小信頼度位置を選
択し、次にそれらを降順にソートする(図12)。従っ
て、最も信頼度の高いバイトが最初にリストされる。こ
の例では、位置番号1のバイトが最大値信頼度数を有
し、最初にリストされ、次に位置番号8のバイトが続く
(以下同様)。
【0040】同様に、対応する消去候補の位置が、バイ
ト信頼度数410と同一の順序でリストされる(図1
3)。この例では、最大値信頼度数を有する位置番号1
のバイトが、ガロア域(Galois Filed)位置指標a1
有し、次にガロア域指標a8を有する位置番号8のバイ
トが続く(以下同様)。ここで"a"はガロア域の原始元
(primitive element)である。
【0041】tバイトのソフトECCデコーダ200、
すなわち、t個のエラーを突き止めることができ、ハミ
ング距離(d=2t+1)を有するデコーダでは、本発
明のデコーディング・アルゴリズムを実行するために要
求されるディスク記憶域量が、(12t+6)であり、
次のように詳述される。
【0042】入力: i)シンドローム(図11)を記憶する2t個のレジス
タ ii)ソート済み信頼度数(図12)を記憶する2t個の
レジスタ iii)ソート済み消去候補位置(図13)を記憶する2
t個のレジスタ
【0043】作業記憶域: i)エラー・エバリュエータ多項式の係数を記憶する2
t個のレジスタ ii)補助エラー・エバリュエータの係数を記憶する2t
個のレジスタ iii)最適解のエラー・エバリュエータ多項式を記憶す
る2t個のレジスタ iv)次のパラメータを記憶する6個のレジスタ(各パラ
メータに対して、1個のレジスタが対応)
【0044】パラメータ: δ:ここで述べるデコーディング・アルゴリズムのフロ
ーを制御する制御変数θsum:性能基準 θbest:性能基準θsumの最適値 δmin:制御変数δの最小値 γ:消去位置でのエラー・エバリュエータ多項式の値 η:消去位置での補助エラー・エバリュエータ多項式の
【0045】説明の都合上、図11乃至図13の例で
は、t=4で、図5及び図6のデコーディング・プロセ
ス500に対して要求されるレジスタの数は、54個
(すなわち(12×4)+6)である。
【0046】tバイト・ソフト・デコーダ200では、
デコーディング・プロセス500を完了するために要求
される反復の総数(d−1)が、次式により定義され
る。
【数7】
【0047】ここでkは0からtの範囲の指標である。
【0048】図5及び図6は、本発明のソフトECCデ
コーダ200により実現されるデコーディング・プロセ
ス500を示す。ステップ510で、2つの多項式V
(x)及びR(x)を初期化することにより、ソフトE
CCデコーダ200が開始する。ここでV(x)は、次
式により初期化される補助エバリュエータ多項式であ
る。 V(x):=xd-1
【0049】またR(x)は、次式により初期化される
エラー・エバリュエータ多項式である。 R(x):=S(x).E(x)mod xd-1
【0050】ここでS(x)はシンドローム値により決
定されるシンドローム多項式であり、E(x)はその根
が消去候補位置である消去多項式である。
【0051】更に、ステップ510で、ソフトECCデ
コーダ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は最も最近計
算された解である。
【0052】以下で詳述するステップ515、520及
び540の目的は、評価される消去候補が真のエラーか
否かをチェックすることである。この目的は、図12の
ソート済みバイト信頼度数、及び図13の対応するソー
ト済み消去候補位置を、1度に1対{ei,ej}ずつ降
順に、すなわち、最も信頼度が高いものが最初に処理さ
れるように、順次処理することにより達成される。
【0053】ステップ515で、反復回数が1単位増分
され(i=i+1)、2つの対応する多項式V(ei
及びR(ei)を計算することにより、各対{ei
θi}が評価される。ここでejは消去候補位置を表し、
θiは、現在分析されている対応するバイト信頼度数を
表す。
【0054】またステップ515で、ソフトECCデコ
ーダ200が次の式を評価する。 γ:=R(ei) η:=V(ei
【0055】ステップ520で、ソフトECCデコーダ
200は、γの値、すなわち分析されている消去候補位
置(ei)におけるエラー・エバリュエータ多項式が0
か否かをチェックする。ステップ520で、ソフトEC
Cデコーダ200がγの値が0と判断すると、次にエバ
リュエータ削減ステップ530に進み、消去候補を偽り
エラーとして、以後の検討から廃棄する。これは次式を
評価することにより達成される。 δ:=δ−1 δ<d → θsum:=θsum+θi
【0056】前記のR(ei)の式から明らかなよう
に、エラー・エバリュエータ多項式R(ei)を1次項
(x−ei)により除算することにより、検討対象の消
去候補が削減される(すなわち除去される)。
【0057】次に、デコーディング・プロセス500は
ステップ535で、全てのソート済みバイト信頼度数
(図12)及びソート済み消去候補位置(図13)が、
検討されたか否かを調査する。検討された場合、ソフト
ECCデコータ200はステップ536で、エラー位置
多項式を計算し、そこから最適解及び現行の解、すなわ
ち[bestSol,Sol]を生成する。これについては、図7に
関連して後述する。
【0058】デコーディング方法500がステップ53
5で、ソート済みバイト信頼度数及びソート済み消去候
補位置の幾つかが、まだ検討されていないと判断する
と、プロセス500はステップ515に進み、消去候補
位置とバイト信頼度数の次の対{ei,θi}を受け取
る。そして、新たな対{ei,θi}が前述のように処理
される。
【0059】ステップ520に戻り、デコーディング方
法500が、分析されている消去候補位置(ei)にお
けるエラー・エバリュエータ多項式R(ei)の値γが
0でないと判断する場合、次にステップ540に進み、
現在分析されている消去候補位置及びバイト信頼度数の
対{ei,θi}に対する、補助エバリュエータ多項式V
(x)の値ηが0か否か、すなわちV(ei)=0か否
かを調査する。ステップ540ではまた、ソフトECC
デコーダ200が更に、度合い限界δがハミング距離d
よりも小さいか否かをチェックする。
【0060】ステップ540でいずれの条件も満足され
ない、すなわち、ηが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]
【0061】デコーディング方法500は次にステップ
535に戻り、前述のように問い合わせを行う。
【0062】ステップ540に戻り、デコーディング方
法500が両方の条件を満足する、すなわちηが0に等
しく、δが限界条件を満足する(すなわちδがハミング
距離より小さい)と判断すると、プロセス500は補助
エバリュエータ更新ステップ560に進み、次式で示す
ように、補助エバリュエータ多項式V(x)及び最適解
bestSolを更新する。 δ<d → θsum:θsum−θi
【0063】デコーディング方法500は次にステップ
535に戻り、前述のように問い合わせを行う。
【0064】図7を参照すると、デコーディング・プロ
セス500は、シンドロームS(x)、エラー・エバリ
ュエータ多項式R(x)及び指標iを把握し、ステップ
560で次式を評価することにより、エラー・ロケータ
多項式P(x)を計算する。
【数8】 T(x):=S(x).E(x)(mod xd-1) P(x):=R(x)/T(x)(mod xd-1
【数9】
【数10】
【数11】
【0065】次にステップ570で、0£i£d−2に
おいて、エラー・ロケータ多項式係数Piが次のように
反復的に計算される。
【数12】
【0066】前述のデコーディング・プロセス500に
続き、ソフトECCデコーダ200は既知の手法によ
り、最終的に最適解及び現行の解、すなわち[bestSol,
Sol]を生成する。
【0067】以上、前述の本発明の特定の実施例は、単
に本発明の原理の特定の応用例を示すだけであり、本発
明の趣旨及び範囲から逸れることなく、ここで述べたエ
ラー訂正システム及び関連方法に対する様々な変更が可
能である。更に、本発明はデータ記憶システムを例に挙
げて述べられてきたが、本発明が様々な通信システム及
びデータ処理システムにも同様に適用可能であることは
明らかである。
【0068】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0069】(1)コードワードのバイト信頼度を計算
するバイト信頼度発生器と、コードワードの1つ以上の
シンドロームを生成するシンドローム発生器と、前記バ
イト信頼度及び前記シンドロームを反復的に処理し、汎
用最小距離デコーディング・エラー・ロケータ多項式及
びエラー・エバリュエータ多項式を生成するデコーダを
含むキー方程式解法機構とを含むエラー訂正コード・シ
ステム。 (2)前記バイト信頼度がバイト信頼度数及び消去候補
位置の2つの要素を含む、前記(1)記載のシステム。 (3)前記バイト信頼度発生器が、各々がコードワード
の各バイトに対応する複数の信頼度数を計算し、最小信
頼度数を有する前記消去候補位置を提供する、前記
(2)記載のシステム。 (4)前記デコーダが初期化ステージにおいて、複数の
パラメータを初期化する、前記(3)記載のシステム。 (5)前記初期化ステージにおいて、前記デコーダが
(d−1)個の最小信頼度バイトを選択し、選択された
前記バイトを、最も信頼度の高いバイトが最初に処理さ
れるように降順にソートする、前記(4)記載のシステ
ム。 (6)前記初期化ステージにおいて、前記デコーダが前
記バイト信頼度数に対応する前記消去候補位置をソート
する、前記(5)記載のシステム。 (7)tバイトのデコーダにおいて、前記デコータが合
計(d−1)回の反復を実行し、dがハミング距離を表
す、前記(4)記載のシステム。 (8)前記デコーダが次式、すなわち
【数13】 で定義される待ち時間を有し、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を更新する、前記(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)前記エラー・ロケータ多項式を生成するステッ
プが、次式すなわち
【数14】 T(x):=S(x).E(x)(mod xd-1) P(x):=R(x)/T(x)(mod xd-1
【数15】
【数16】
【数17】
【数18】 を評価するステップを含む、前記(16)記載の方法。 (25)前記バイト信頼度を反復的に処理するステップ
が、有限域計算及び有限精度計算を単一の再帰に統合す
るステップを含む、前記(16)記載の方法。 (26)前記バイト信頼度を計算するステップが、ビッ
ト対数尤度比から前記バイト信頼度を生成するステップ
を含む、前記(16)記載の方法。 (27)前記バイト信頼度を計算するステップが、最小
ビット対数尤度比を有するバイト信頼度を選択するステ
ップを含む、前記(26)記載の方法。 (28)前記バイト信頼度を計算するステップが、パリ
ティ・チェックを用いて、前記消去候補位置を検出する
ステップを含む、前記(17)記載の方法。 (29)前記バイト信頼度を計算するステップが、パリ
ティ・チェックを用いて、前記消去候補位置を検出する
ステップを含む、前記(27)記載の方法。 (30)前記バイト信頼度を計算するステップが、2つ
の連続バイト信頼度数の信頼度比を昇順に計算するステ
ップと、前記信頼度比が所定しきい値よりも小さい場
合、対の連続バイト信頼度数に対応するバイトの消去候
補位置を選択するステップとを含む、前記(17)記載
の方法。
【図面の簡単な説明】
【図1】本発明に従うオンザフライ式代数エラー訂正コ
ード(ECC)を実現する、ディスク・ドライブなどの
データ記憶システムを示す図である。
【図2】本発明に従うオンザフライ式エラー訂正コード
を実現するオンザフライ式(OTF)エラー訂正コード
(ECC)システムを含む、バッファ式ハード・ディス
ク制御装置のアーキテクチャを示すブロック図である。
【図3】図2のハード・ドライブ制御装置の読取りチャ
ネル及び書込みチャネルに沿うデータ・フローと、EC
C読取りプロセッサ及びECC書込みプロセッサから成
る典型的オンザフライ式エラー訂正コード・システムと
を示す、図1のデータ記憶システムのブロック図であ
る。
【図4】図3のECC読取りプロセッサ及びECC書込
みプロセッサの一部を形成するエラー訂正コード・モジ
ュールの主な構成要素を示す、図1のデータ記憶システ
ムのブロック図である。
【図5】図4のデータ記憶システムで使用されるソフト
・エラー訂正デコーダによりエラー訂正コードを実現す
る一般的方法を示すフローチャートである。
【図6】図4のエラー訂正コード方法の特定の例の機能
フローチャートである。
【図7】図5及び図6のエラー訂正方法において使用さ
れるエラー・ロケータ多項式を計算するステップを示す
フローチャートである。
【図8】図4のソフト・エラー訂正デコーダにより処理
される15バイト位置における、15バイトから成る模
範的なコードワードを示す図である。
【図9】図4のソフト・エラー訂正デコーダにより処理
される、図8のコードワードの模範的なバイト信頼度数
を示す図である。
【図10】図4のソフト・エラー訂正デコーダにより処
理される、図8のコードワードの模範的な消去候補位置
を示す図である。
【図11】図4のソフト・エラー訂正デコーダにより処
理される、図8のコードワードの模範的なシンドローム
を示す図である。
【図12】図4のソフト・エラー訂正デコーダにより降
順にソートされた後の、図9の模範的バイト信頼度数を
示す図である。
【図13】図4のソフト・エラー訂正デコーダにより、
信頼度値に従いソートされた後の、図10の模範的な消
去候補位置を示す図である。
【符号の説明】
10 ディスク・ドライブ 12 ヘッド・スタック・アセンブリ 14 光データ記憶ディスク 16 共通シャフト 20 アクチュエータ・アーム 24 E型ブロック 26 磁気ロータ 33 ヘッド・ディスク・アセンブリ 40 トランスジューサ・ヘッド 42 データ情報トラック(データ・シリンダ)
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11B 20/18 572 G11B 20/18 572F G06F 11/10 330 G06F 11/10 330L 12/16 320 12/16 320E H03M 13/15 H03M 13/15 13/45 13/45 (72)発明者 マーティン・オーレリアーノ・ハスン アメリカ合衆国94040、カリフォルニア州 マウンテン・ビュー、クリストバル・プリ ベイダ 1229 (72)発明者 リチャード・マイケル・エイチ・ネ アメリカ合衆国95129、カリフォルニア州 サン・ノゼ、アパートメント ナンバー 37、ウエイバーン・レーン 1111 (72)発明者 アルビンド・モティブハイ・ペイト アメリカ合衆国95120、カリフォルニア州 サン・ノゼ、フォックスハースト・ウエイ 1066 (72)発明者 テツヤ・タムラ 日本242−0002、神奈川県大和市つきみ野 7−4−9 (72)発明者 バリー・マーシャル・トレイジ アメリカ合衆国10598、ニューヨーク州ヨ ークタウン・ハイツ、バーウエイ・ドライ ブ 348 Fターム(参考) 5B001 AA11 AB02 AC01 AD03 AE02 5B018 GA02 HA14 MA16 QA16 5J065 AA01 AB01 AC03 AD01 AD11 AE06 AF02 AG02 AH01 AH13

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】コードワードのバイト信頼度を計算するバ
    イト信頼度発生器と、 コードワードの1つ以上のシンドロームを生成するシン
    ドローム発生器と、 前記バイト信頼度及び前記シンドロームを反復的に処理
    し、汎用最小距離デコーディング・エラー・ロケータ多
    項式及びエラー・エバリュエータ多項式を生成するデコ
    ーダを含むキー方程式解法機構とを含むエラー訂正コー
    ド・システム。
  2. 【請求項2】前記バイト信頼度がバイト信頼度数及び消
    去候補位置の2つの要素を含む、請求項1記載のシステ
    ム。
  3. 【請求項3】前記バイト信頼度発生器が、各々がコード
    ワードの各バイトに対応する複数の信頼度数を計算し、
    最小信頼度数を有する前記消去候補位置を提供する、請
    求項2記載のシステム。
  4. 【請求項4】前記デコーダが初期化ステージにおいて、
    複数のパラメータを初期化する、請求項3記載のシステ
    ム。
  5. 【請求項5】前記初期化ステージにおいて、前記デコー
    ダが(d−1)個の最小信頼度バイトを選択し、選択さ
    れた前記バイトを、最も信頼度の高いバイトが最初に処
    理されるように降順にソートする、請求項4記載のシス
    テム。
  6. 【請求項6】前記初期化ステージにおいて、前記デコー
    ダが前記バイト信頼度数に対応する前記消去候補位置を
    ソートする、請求項5記載のシステム。
  7. 【請求項7】tバイトのデコーダにおいて、前記デコー
    タが合計(d−1)回の反復を実行し、dがハミング距
    離を表す、請求項4記載のシステム。
  8. 【請求項8】前記デコーダが次式、すなわち 【数1】 で定義される待ち時間を有し、kが0からtの範囲の指
    標である、請求項7記載のシステム。
  9. 【請求項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. 【請求項10】前記デコーダが1つ以上のパラメータを
    初期化し、前記パラメータの初期化が、 δ:=d−1と、 現計算ブロックにおけるδの最小値δmin:=dと、 現計算ブロックの測度θsum:=0と、 計算ブロックにおけるθsumの最適な現最大値θbest
    =0と、 前記デコーダにより実行される反復の回数i:=0と、 現θbestに関連付けられる最適解bestSol、及び最も最
    近計算された解Solにおいて、bestSol:=Sol:=[R
    (x),i]とを含む、請求項9記載のシステム。
  11. 【請求項11】前記デコーダが1度に1消去候補につい
    て、消去候補チェックを順次実行し、前記消去候補が真
    のエラーか否かを評価する、請求項9記載のシステム。
  12. 【請求項12】前記デコーダが式、すなわちγ:=R
    (ei)と、 η:=V(ei)とを評価し、eiがi番目の消去候補位
    置の値であり、 前記デコーダが、分析されている消去候補位置(ei
    における前記エラー・エバリュエータ多項式γの値が0
    か否かを調査し、γの値が0と判断すると、エバリュエ
    ータ削減ステージに進み、前記消去候補を偽りエラーと
    して、以後の検討から廃棄する、請求項11記載のシス
    テム。
  13. 【請求項13】前記デコーダが、分析されている消去候
    補位置(ei)における前記エラー・エバリュエータ多
    項式R(ei)の値γが0でないと判断する場合、前記
    デコーダが、現在分析されている消去候補位置及びバイ
    ト信頼度数における、前記補助エバリュエータ多項式V
    (x)の値ηが0、すなわちV(ei):=0か否かを
    調査し、更に、度合い限界δがハミング距離dよりも小
    さいか否かをチェックすることにより、δが限界条件を
    満足するか否かをチェックする、請求項12記載のシス
    テム。
  14. 【請求項14】前記デコーダがηが0ではなく、且つδ
    が限界条件を満足しないと判断する場合、前記デコーダ
    がエバリュエータ更新ステージに進み、現消去候補を実
    際のエラーとして扱い、前記最適解bestSolを更新す
    る、請求項13記載のシステム。
  15. 【請求項15】前記デコーダがηが0に等しく、δが限
    界条件を満足すると判断すると、前記デコーダが補助エ
    バリュエータ更新ステージに進み、前記補助エバリュエ
    ータ多項式V(x)及び最適解bestSolを更新する、請
    求項14記載のシステム。
  16. 【請求項16】コードワードのバイト信頼度を計算する
    ステップと、 コードワードの1つ以上のシンドロームを生成するステ
    ップと、 前記バイト信頼度及び前記シンドロームを反復的に処理
    し、そこから汎用最小距離デコーディング・エラー・ロ
    ケータ多項式及びエラー・エバリュエータ多項式を生成
    するステップとを含むエラー訂正コード方法。
  17. 【請求項17】前記バイト信頼度がバイト信頼度数及び
    消去候補位置の2つの要素を含み、前記コードワードの
    バイト信頼度を計算するステップが、各々がコードワー
    ドの各バイトに対応する複数の信頼度数を計算するステ
    ップを含み、更に最小信頼度数を有する前記消去候補位
    置を提供するステップを含む、請求項16記載の方法。
  18. 【請求項18】前記反復的に処理するステップが、初期
    化ステージにおいて、複数のパラメータを初期化するス
    テップを含む、請求項17記載の方法。
  19. 【請求項19】前記初期化するステップが、最小信頼度
    バイトが最初に処理されるように、バイト信頼度数をソ
    ートするステップと、 前記バイト信頼度数に対応する前記消去候補位置をソー
    トするステップとを含む、請求項17記載の方法。
  20. 【請求項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. 【請求項21】前記反復的に処理するステップが、消去
    候補チェックを順次実行し、前記消去候補が真のエラー
    か否かを評価する、請求項18記載の方法。
  22. 【請求項22】前記消去候補チェックを実行するステッ
    プが、 γ:=R(ei)と、 η:=V(ei)とをセットするステップを含み、 eiがi番目の消去候補位置の値であり、更に、分析さ
    れている消去候補位置(ei)における前記エラー・エ
    バリュエータ多項式γの値が0か否かを調査し、γの値
    が0と判断すると、前記消去候補を偽りエラーとして、
    以後の検討から廃棄することにより、エバリュエータ削
    減ステップを実行する、請求項21記載の方法。
  23. 【請求項23】分析されている消去候補位置(ei)に
    おける前記エラー・エバリュエータ多項式R(ei)の
    値γが0でないと判断する場合、現在分析されている消
    去候補位置及びバイト信頼度数における、前記補助エバ
    リュエータ多項式V(x)の値ηが0、すなわちV(e
    i):=0か否かを調査し、更に、度合い限界δがハミ
    ング距離dよりも小さいか否かをチェックすることによ
    り、δが限界条件を満足するか否かをチェックし、 ηが0ではなく、且つδが限界条件を満足しない場合、
    現消去候補を実際のエラーとして扱い、前記最適解best
    Solを更新することにより、エバリュエータ更新ステッ
    プを実行し、 ηが0に等しく、δが限界条件を満足する場合、前記補
    助エバリュエータ多項式V(x)及び最適解bestSolを
    更新することにより、補助エバリュエータ更新ステップ
    を実行する、請求項22記載の方法。
  24. 【請求項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. 【請求項25】前記バイト信頼度を反復的に処理するス
    テップが、有限域計算及び有限精度計算を単一の再帰に
    統合するステップを含む、請求項16記載の方法。
  26. 【請求項26】前記バイト信頼度を計算するステップ
    が、ビット対数尤度比から前記バイト信頼度を生成する
    ステップを含む、請求項16記載の方法。
  27. 【請求項27】前記バイト信頼度を計算するステップ
    が、最小ビット対数尤度比を有するバイト信頼度を選択
    するステップを含む、請求項26記載の方法。
  28. 【請求項28】前記バイト信頼度を計算するステップ
    が、パリティ・チェックを用いて、前記消去候補位置を
    検出するステップを含む、請求項17記載の方法。
  29. 【請求項29】前記バイト信頼度を計算するステップ
    が、パリティ・チェックを用いて、前記消去候補位置を
    検出するステップを含む、請求項27記載の方法。
  30. 【請求項30】前記バイト信頼度を計算するステップ
    が、2つの連続バイト信頼度数の信頼度比を昇順に計算
    するステップと、 前記信頼度比が所定しきい値よりも小さい場合、対の連
    続バイト信頼度数に対応するバイトの消去候補位置を選
    択するステップとを含む、請求項17記載の方法。
JP2001206336A 2000-07-07 2001-07-06 エラー訂正コード・システム及び方法 Pending JP2002100127A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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