JPH10508988A - Crc/edcチェッカシステム - Google Patents

Crc/edcチェッカシステム

Info

Publication number
JPH10508988A
JPH10508988A JP8510406A JP51040696A JPH10508988A JP H10508988 A JPH10508988 A JP H10508988A JP 8510406 A JP8510406 A JP 8510406A JP 51040696 A JP51040696 A JP 51040696A JP H10508988 A JPH10508988 A JP H10508988A
Authority
JP
Japan
Prior art keywords
byte
bytes
error pattern
buffer
sum
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.)
Granted
Application number
JP8510406A
Other languages
English (en)
Other versions
JP3281387B2 (ja
Inventor
クリストファー ピー. ズーク,
Original Assignee
シーラス ロジック, インコーポレイテッド
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 シーラス ロジック, インコーポレイテッド filed Critical シーラス ロジック, インコーポレイテッド
Publication of JPH10508988A publication Critical patent/JPH10508988A/ja
Application granted granted Critical
Publication of JP3281387B2 publication Critical patent/JP3281387B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • 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/01—Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of 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/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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

(57)【要約】 EDC/CRCチェッカ(70)は、訂正パスの間に、1データブロックが訂正されているあいだに、EDC/CRCチェックをおこなうことによって、ブロック訂正に引き続いてEDC/CRCを目的としてバッファにアクセスすることを不要にする。訂正パスのあいだ、EDC/CRCの和が累算される。その和は、そのブロックのパスが完了した後、もしそのブロックにおけるEDC/CRCバイトによりそのブロックが訂正されたことが確認されれば、ゼロになる。ブロックの一回の訂正パスのあいだに、訂正されていない、最も最近のコードワードのバイトが、累算された和に加算される。最も最近のコードワードのバイトとバイト同期関係にある以前のコードワードのバイトは、(必要であれば)訂正され、かつ(訂正がおこなわれる時には)以前のコードワードのバイトを訂正するのに用いられた誤りパターンを含む誤りパターン係数もまた、累算された和に加算される。ここで説明される実施形態では、ブロックは、複数のコードワードカラムを有するものとして概念づけられ、バイト同期関係は、訂正されていないバイトが累算されるときには、次の以前のコードワードの対応するバイトに対して訂正がおこなわれるようにするものである。本発明の各種実施形態では、複数のコードワードを同時に操作することが可能になる。

Description

【発明の詳細な説明】 CRC/EDCチェッカシステム 本願は、以下の同時に出願された特許出願、すなわち、Chris Zookにより19 94 年 9 月 16 日に出願され、"MULTIPURPOSE ERROR COR RECTION CALCULATION CIRCUIT"と題された米国特許 出願第 08/306,918 号、およびChris Zookにより1994 年 9 月 16 日に出願さ れ、"VERSATILE ERROR CORRECTION SYSTEM"と 題された米国特許出願第08/307,259号に関連している。本願では、上記特許出願 のすべてが参考として援用される。 背景 1.発明の分野 本発明は、CRCチェッキング機能を利用する誤り訂正システムを含むがそれ には限定されない、誤り訂正システムに関する。 2.関連する技術および他の考察 ディスクドライブのような情報記憶装置は、一般に誤り訂正能力を有している 。この装置からトランスデュースされた情報は、典型的には、バイトのかたちで バッファに格納される。格納された情報は、通常、バイトから構成される複数の ブロックにフォーマットされる。例えばCDディスクドライブの場合、バッファ は、複数のセクタ(コンピュータデータを処理するとき)または複数のフレーム (ディジタルオーディオデータを処理するとき)を含んでいる。ここでは、これ らを包括的に「ブロック」と称する。 誤り訂正能力によれば、それぞれのセクタは、典型的には、複数のCRCまた はEDCチェックバイトを有する。図2は、それぞれが26バイトから構成される 86のカラムにグループ分けされたブロックを図示している。ブロック内では、バ イトから構成されるカラムはそれぞれ、1個のカラムコードワードを備えており 、各カラムの最後の2バイトは、カラムコードワードのECC部分を構成して おり、各カラムの残りの部分(つまり、最初の24バイト)は、カラムコードワー ドのデータ部分を構成している。例えば、バイト0000、0086、0172、・・・1978は 、カラムコードワードCW0のデータ部を含んでおり、バイト0001、0087、0173 、・・・1979は、カラムコードワードCW1のデータ部を含んでいる。以下も同様で ある。図2に図示されているように、それぞれのブロックの最後の4つのデータ バイト(例えば、バイト2060、2061、2062、2063)は、誤り訂正情報を含んでい るので、EDCバイトまたはCRCバイトとして知られている。あるフォーマッ トでは、CRCバイトは、必ずしもブロックのデータ部分の最後の数バイトでは ない。例えば、図2のブロックを完全には満たさないデータフォーマットでは、 CRCバイトをデータの最後に続けて配置し、その後に、それらのブロックが満 たされるまでゼロバイトで埋め込まれたCRCバイトを置くこともできる。 誤り訂正多項式の演算以外では、CRCまたはEDCチェックバイトが、付加 的なチェック手段を提供する。一般に、CRCバイトは、データバイト(または 、場合によってはビット)をバイト値(またはビット値)で表されたデータの多 項式D(x)の係数として扱い、D(x)xn-kmodG(x)を計算することによって発生さ れる。ここで、kはデータシンボルの個数であり、n-kはCRCシンボルの個数 であり、G(x)はCRC発生器多項式である。コンパクトディスク(CD)ドラ イブの場合、CRC発生器は、ビット値で表される。 従来より、CRCまたはEDCバイトを用いるバッファのチェックは、そのバ ッファが訂正された後におこなわれている。具体的には、誤り訂正フェーズのあ いだ、バッファのバイトは、コードワードとしてアクセスされ、誤り訂正多項式 を用いて処理される。誤り多項式によるコードワードに対する処理の結果、誤り を含んでいるコードワードのバイトを指定する誤りポインタが、それらのポイン タにより位置の特定されたバイトの訂正に用いられる誤りパターンと共に発生さ れる。誤りポインタおよび誤りパターンによる発生の後、バッファにおけるバイ トが、ポインタにより指定されたバイトを訂正する目的でアクセスされる。 ポインタにより指定されたバイトの訂正に引き続いて、特にCRCまたはED Cチェックを目的として、バッファが再びアクセスされる。CRCまたはEDC チェ ックのあいだ、バッファにおけるすべてのバイトから構成される多項式(CRC バイトを含む)は、CRC発生器多項式により除算される。もしその剰余がゼロ であれば、ブロックが正確に訂正されたことが確認される。 CRCまたはEDC機能は、データの完全性を確認するに当たっての付加的な レベルを提供てきるという利点を有してはいるものの、CRC/EDCチェック のためにはバッファに対して特別なアクセスが必要になるので、全体的な動作速 度が低下してしまう。 要旨 EDC/CRCチェッカは、訂正パスのあいだに1ブロックのデータが訂正さ れているあいだに、EDC/CRCチェックをおこなうことによって、ブロック 訂正に引き続いてEDC/CRCを目的としてバッファにアクセスすることを不 要にする。訂正パスのあいだ、EDC/CRCの和が累算される。この和は、そ のブロックのパスが完了した後、もしそのブロックにおけるEDC/CRCバイ トによりそのブロックが訂正されたことが確認されれば、ゼロになる。ブロック の一回の訂正パスのあいだに、訂正されていない、最も最近のコードワードのバ イトは、累算された和に加算される。最も最近のコードワードのバイトとバイト 同期関係にある以前のコードワードのバイトは、(必要であれば)訂正され、か つ(訂正がおこなわれる時には)以前のコードワードのバイトを訂正するのに用 いられた誤りパターンを含む誤りパターン係数もまた、累算された和に加算され る。ここで説明される実施形態では、ブロックは、複数のコードワードカラムを 有するものとして概念づけられ、バイト同期関係は、訂正されていないバイトが 累算されるときには、次の以前のコードワードの対応するバイトに対して訂正が おこなわれるようにするものである。 よって、本発明のEDC/CRCチェッカは、最も最近のコードワードCWn に対するシンドローム発生に用いられているブロックバイトに対するCRCチェ ックをおこなうのと同時に、以前のコードワード(例えば、CWn-1)の対応し て位置づけられたバイトに対しても訂正がおこなわれうるようにする。以前のコ ードワードの対応するバイトに対して訂正がおこなわれているとき、以前のコー ドワ ードの対応するバイトに対する誤りパターン係数もまた、累算された和に加算さ れる。なぜなら、対応するそのようなバイトは、訂正されていない状態で、それ 以前に和に加算されていたからである。実際には、誤りパターン係数は、誤りパ ターンの定数の倍数である。その定数の倍数の値は、実現されるバイト位置同期 関係に依存している。 本発明のEDC/CRCチェッカは、バッファに対して別個にアクセスするこ とを必要とせずにEDC/CRCチェックをおこなうことができるという利点を 有する。さらに、本発明は、ブロックを完全には満たさず、CRCバイトをデー タの最後に続けて配置し、その後に、それらのブロックが満たされるまでゼロバ イトで埋め込まれたCRCバイトを置くことができるデータフォーマットともコ ンパチブルである。 図面の簡単な説明 本発明の上記目的、特徴および利点、ならびにその他の目的、特徴および利点 は、添付の図面に図示されている好ましい実施形態の、以下に述べるより詳細な 説明から明らかになるであろう。なお、全図面を通して、参照番号は同一の部分 を指すものとする。また、図面は必ずしも実際の縮尺に則ったものではなく、本 発明の原理を図示するさいに強調されているところもある。 図1は、本発明によるEDC/CRCチェッカを用いる誤り訂正システムの一 例の模式的ブロック図である。 図2は、バッファに格納されているデータの1セクタを図示しており、セクタ は、複数のロウおよびカラムをなして格納されるものと概念づけられている。 図3Aは、本発明のある実施形態によるEDC/CRCチェッカ回路を示す模 式図である。 図3Bは、データバイトと誤りパターンとが本質的に同時アクセス可能である 、本発明のある実施形態によるEDC/CRCチェッカ回路を示す模式図である 。 図4Aは、2つのコードワード(例えば2つのカラム)が一度に処理されうる 、本発明のある実施形態によるEDC/CRCチェッカ回路を示す模式図である 。 図4Bは、図4Aの回路と等価である、EDC/CRCチェッカ回路を示す模 式図 である。 図4Cは、2つのコードワード(例えば2つのカラム)が一度に処理可能であ り、かつ、データバイトおよび誤りパターンが本質的に同時アクセス可能である 、本発明のある実施形態によるEDC/CRCチェッカ回路を示す模式図である 。 図5は、2つのインタリーブされたブロックに分割されるものと概念づけられ たバッファを図示しており、それぞれのブロックは、複数のロウおよびカラムを なして組織されるものと概念づけられたバイトを有している。 図6は、EDC/CRCチェッキング演算に伴う各ステップを図示するフロー チャートである。 図7は、図4Aのチェッカのチップ指向のインプリメンテーションを示す模式 的ブロック図である。 図面の詳細な説明 図1は、システムコントローラ10を介してバッファ(破線15によって概略的に 示される)と通信する誤り訂正システムを示す。バッファは、その中に例えば図 2に示すような複数のブロックを格納している。図1の誤り訂正システムは、さ らに発生器、つまり発生部20(例えば、シンドローム発生用)、計算器、つまり 計算部30(例えば、誤りパターン計算用)、訂正器、つまり訂正部60、およびE DCチェッカ部70を含む。図1の誤り訂正システムの動作の全体は、コントロー ラ10により、例えばバスCBUS上に運ばれる制御信号およびその他の信号を用 いることによって管理される。 図1に示されているように、EDC/CRCチェッカ70は、訂正器60からのラ インERR上の誤りパターン、およびラインGDAT上のバッファデータを受け 取るように接続されている。システムコントローラ10は、コントロールバスCB USを用いて、EDC/CRCチェッカ70の動作全般を、訂正器60およびバッフ ァへのアクセスと共に、管理する。システムコントローラの動作および訂正の一 例は、ここで参考として援用される1994 年 9 月 16 日に出願された Chris Z ookによる「多目的誤り訂正システム(VERSATILE ERROR CORR ECTION SYSTEM)」と題された米国特許出願第 08/307,259 号を参照 すれば理解される コンパクトディスク(CD)のディスクドライブのコンテクストで理解される。 しかし、本発明の原理はそのような例に限定されるものではなく、EDC/CR Cチェッキング全般に広く適用可能であることは理解されたい。 以下にさらに詳しく説明するように、システムコントローラ10の管理の下に、 EDC/CRCチェッカ70は、訂正器60と協調して、バイトが訂正されるバッフ ァの同じパスのあいだに訂正の正確さのEDC/CRCベリファイをおこなうよ うに効果的に動作する。 図3Aは、データ(図2のバッファに格納されている)を操作し、本発明の原 理を説明するのに適したEDC/CRCチェッカの機能模式図である。図3Aの チェッカ70は、累算レジスタ702のかたちのメモリを特徴としている。累算レジ スタ702は、レジスタフィードスイッチすなわちMUX 704によりフィードされ る。このMUX 704は、最終的にはシステムコントローラ10に接続される選択ラ イン705により動作される。レジスタフィードMUX 704は、3つの選択可能な 信号源に接続されている。すなわち、加算器706、ロウ乗算器708およびカラム乗 算器710である。ロウ乗算器708は、加算器712に接続されている。レジスタ702の 内容−残余の、または累算された和−は、レジスタ出力ライン714上で利用可能 である。レジスタ出力ライン714は、カラム乗算器710と、加算器712と、加算器7 06とに接続されている。 バッファからの訂正されていないデータバイトは、ラインGDAT上でAND ゲート715の第1端子に与えられる。ANDゲート715の第2端子は、システムコ ントローラ10から信号NOT LAST COLを受け取る。チェッカ70が和を取 る目的でバッファから依然としてデータバイトを得ているあいだに、信号NOT AST COLは、バッファからの訂正されていないデータバイトを、ANDゲ ート715を通して効率よくゲートし、加算器712に与える。 加算器712は、レジスタ702に累算された和(ライン714上で利用可能である) と、バッファからの訂正されていないデータバイト(ラインGDAT上で与えら れる)とを加算する。加算器712によりつくられた和は、ロウ乗算器708に入力と して与えられる。前述したように、ロウ乗算器708からの出力は、MUX 704に 与えられる選択可能な入力の1つである。 訂正器60からの誤りパターンを運ぶラインERRは、乗算器716に接続されて いる。現在のコードワードと以前のコードワードとの間のバイト同期オフセット (例えば、カラムオフセット)に対応可能とするために、乗算器716は、定数x8m odG(x)により乗算して、誤りパターン係数を発生する。乗算器716により発生さ れた積(誤りパターン係数)は、加算器706の第1入力端子に与えられる。加算 器706の第2入力端子は、上述したように、レジスタ出力ライン714に接続されて いる。 図3Aにおいて、ロウ乗算器708のための乗算定数は、x8・86modG(x)である。 この定数は、次のロウへと進めるはたらきをする(すなわち、バッファにおいて8 6バイトだけ進める。ここで、1バイトは8ビットである)。カラム乗算器710の ための乗算定数は、x-(86・24-1)・8modG(x)である。この定数は、あるカラムコ ードワードのデータ部分の最後のバイトから、次のカラムコードワードの先頭へ と移動するはたらきをする(すなわち、バッファにおいて2063バイトだけ後退す る。ここで、1バイトは、8ビットである)。 図3Aに図示されている例では、訂正されていないデータ(ラインGDAT上 にある)の1バイトと、ブロックのバイト位置同期の取られた別のバイトとは、 ただちに共に利用可能となるのではなく、チェッカに対してシーケンシャルに( まず誤りパターンが、次いでデータバイトが)与えられるという前提を含む。一 方、図3Bの実施形態は、訂正されていないデータバイトと、誤りパターンとが 同時にアクセス可能である、チェッカ70'を示している。図3Bの実施形態では 、加算器706は除かれており、MUX 704は2入力スイッチになっており、乗算 器716の出力は、第3の入力として加算器712に与えられる。 図4Aは、パフォーマンス上の理由からある種の実施形態では望ましいことも あるものである、2つのコードワード(例えば、一度に2つのカラム)を処理す るように構成されたチェッカ70"を示している。図4Aの実施形態は、例えば、 バッファが2つのインタリーブされたブロックを含むものとして概念づけられて おり、バッファの2つのコードワードが一度に操作される時に利用可能である。 例えば、図5は、2つのインタリーブされたブロック(偶数ブロックおよび奇数 ブロック)を示している。ここで、1ブロックのそれぞれのカラムにおけるバイ トは、カラムコードワードを構成している。すなわち、0000、0043、0086、・・・ 、0989として表現されたバイトは、偶数ブロックの第1のカラムコードワードの データ部分を形成しており、バイト0001、0044、0087、・・・0990は、偶数ブロッ クの第2のカラムコードワードのデータ部分を形成している。以下も、偶数ブロ ックおよび奇数ブロックのそれぞれにおける合計43のカラムコードワードについ て同様である。また、図5に示すように、各ブロックの最後の2バイト(具体的 には1030、1031と表現されたバイト)は、EDCまたはCRCバイトである。 図4Aのチェッカ70"は、累算レジスタ702"を備えている。レジスタ702"への フィードは、選択信号705"により支配される、スイッチつまりMUX 704"によ り制御される。チェッカ70"は、4つの入力信号を受け取る。すなわち、より低 いオーダーのデータ入力信号DATLと、より低いオーダーの誤りパターン入力 信号ERRLと、より高いオーダーのデータ入力信号DATHと、より高いオーダ ーの誤りパターン入力信号ERRHとの4つである。図5のインタリーブされた ブロックのシナリオを参照すれば、例えば、より低いオーダーの入力は、偶数ブ ロックに対応し、より高いオーダーの入力は奇数ブロックに対応していてもよい 。すなわち、DATLは、偶数ブロックからのカラムコードワードCWevenNの選 択されたバイトに対する訂正されていないデータであり、ERRLは、カラムコ ードワードCWevenNの選択されたバイトと所定のバイト同期関係にある(カラ ムコードワードCWevenN-1における)バイトに対する誤りパターンであっても よい。DATHは、奇数ブロックからのカラムコードワードCWoddNの選択され たバイトに対する訂正されていないデータであり、ERRHは、カラムコードワ ードCWoddNの選択されたバイトと同期関係にある(カラムコードワードCWod dN-1における)バイトに対する誤りパターンであってもよい。 チェッカ70"は、さらに5つの乗算器を備えている。すなわち、カラム乗算器7 10"と、ロウ乗算器708"と、それぞれラインDATH、ERRLおよびERRH上に 設けられた乗算器750、760および770の5つである。乗算器708、710、750、760 および770に対する乗算定数は、表Iにより与えられる。 乗算器750、760、770の出力は、スイッチつまりMUX 780のそれぞれの入力 端子に接続されている。MUX 780の出力端子は、加算器 790の第1入力端子に 接続されている。加算器790の第2入力端子は、レジスタ702"の出力ライン714" に接続されている。加算器790の出力端子は、MUX 704"の第1入力端子に接続 されており、MUX 704"の他の2つの入力端子は、乗算器708"および710"の出 力端子に接続されている。図3Aの実施形態の場合と同様に、ラインDATLは 、信号NOT LAST COLがオンである限りそれを通してデータバイトをゲ ートするためにその上に接続されたANDゲート715"を有している。 図4Bは、図4Aの回路70"と本質的には等価であるチェッカ回路70"'を示し ている。図4Bのチェッカ回路70"'は、いくつかの点で図4Aの回路70"と異な る。第1の相違は、16ビット値に変換される信号DATL16、DATH16、ERRH16 およびERRL16のフォーマットを伴う。具体的には、ERRH16は、ERRH と、8つのゼロビットとを連結することにより得られる16ビット値である。ここ で、ERRHは、高いオーダーの位置にある。ERRL16は、ERRLと、8つの ゼロビットとを連結することにより得られる16ビット値である。ここで、ERRL は、低いオーダーの位置にある。DATH16およびDATL16は、それぞれER RH16およびERRL16と同様に形成される。連結以前の誤りおよびデータバイト は、それぞれ8ビット長であり、CRC多項式は16ビット長であるので、ERR の乗算、すなわちDATにX8を乗ずることは、単に下位8ビットを上位8ビッ トにシフトすることであり、また(以下に述べるように)図4Bの乗算器765の 使用を、図4Aの乗算器750、 760、770よりもむしろ容易にする。 図4Bと図4Aとの間の第2の相違は、ラインERRH16およびERRl16がM UX767をフィードしており、MUX767は乗算器765をフィードしている点であ る。乗算器765の乗算定数は、x16modG(x)である。乗算器765およびDATH16は ともに、MUX780"'に接続されている。MUX780"'の出力は、加算器790"'に 接続されている。 図7は、2つの16ビット多項式を用いて2つのチェックをおこなうための2つ のCRC/EDC回路を設けている、図4Bのチップ指向のインプリメンテーシ ョンを示している。図7のチェッカ70"'は、一対の前置乗算器チップ730(0)、73 0(1)と、一対の累算レジスタ732(0)、732(1)と、EDC比較器734とを備えてい る。チェッカ70"'では、両回路共に、(それぞれ前置乗算器730(0)、730(1)を介 して)、同一のデータの後続する同一の誤りパターンを受け取る。 図7において、前置乗算器730(0)は多項式x16+x15+x2+1を用い、前置乗算器73 0(1)は、多項式x16+x2+x+1を用いる。例えば、図4Bに示されているそれぞれの 乗算器について、図7のそれぞれの前置乗算器730は、それ自身のXOR論理ゲ ートのセットを有している。前置乗算器730の乗算器用の論理ゲートセットの構 成は、特定の乗算器への入力信号を、その乗算器固有の16×16の2進行列で乗算 し(例えば、複数のロウおよびカラムをペアにし、その内積をとり)、16ビット の出力信号を得ることと等価である。信号DATL16、DATH16、ERRH16お よびERRL16について既に述べたように、乗算以前に、入力信号(例えば、D ATLのような8ビット入力ベクトル)は、その一端または他端が8つのゼロで 埋め込まれて、その乗算用の16ビットベクトルをつくる(例えば、ベクトルDA TL16を生じる)。 それぞれの乗算器の出力ベクトルのビットは、入力ベクトルのビットの線形結 合であるので、行列乗算、すなわち[0]=[I] [T]Kにより得られる。ここで、[I] および[0]は、その右側にビット0をもつ入力および出力ロウベクトルであり、[ T]は、xmodG(x)で乗算するための行列である。 前置乗算器730(0)については、乗算器765の乗算を説明する16×16の2進行列 は表2に与えられている。ロウ乗算器708"用の行列は、表3に与えられてい る。カラム乗算器710"用の行列は、表4に与えられている。前置乗算器730(1)に ついては、乗算器765の乗算を説明する16×16の2進行列は表5に与えられてい る。ロウ乗算器708"用の行列は、表6に与えられている。カラム乗算器710"用の 行列は、表7に与えられている。 上記乗算の例としては、 ERRH・X24modG1(x)=ERRH・X8・X16modG1(x)=ERRH16・X16modG1(x ) [I]=[E0E1E2...E70000000] 出力のBIT0は、E0+E2+E3+E4+E5+E6+E7である。 図3Aと同様に、図4Aおよび図4Bに図示の例においても、訂正されていな いデータ(ラインGDAT上)の2バイトと、そのブロックの別のバイト位置同 期のとられたバイト用の2つの誤りパターンとは、ただちに共に利用可能となる のではなく、チェッカ70"にシーケンシャルに(まず誤りパターンが、次いでデ ータバイトが)与えられることを前提として含む。図4Cの実施形態が、図4A の実施形態と異なるのは、図4Cのチェッカ70"'が、本質的に同時に利用可能と なるデータバイトおよび誤りパターンのペアを処理する点である。図4Cの実施 形態のロウおよびカラム乗算器の定数は、図4Aの実施形態の場合と同じである 。 図4Cの実施形態では、チェッカ70""は、カラム乗算器710""またはロウ乗算 器708""により(2入力MUX 705""を介して)フィードされるレジスタ702""を 備えている。レジスタ出力ライン714""は、加算器790""の第1入力端子に接続さ れている。加算器790""のその他4つの入力端子は、それぞれラインDATL、D ATH、ERRLおよびERRHに接続されている。ラインDATH、ERRLおよ びERRHは、それぞれ、その上に接続された乗算器750""、760""および770""を 有している。加算器790""の出力端子は、ロウ乗算器708""の入力端子に与えられ る。ANDゲート715""は、ラインDATLおよびDATH上に設けられている。 動作 例えば図2を参照して既に述べたように、本発明のセクタは、86のカラムから 構成されるブロックを含んでいる。ここで、そのブロックのそれぞれのカラムに おけるバイトが1コードワードを構成している。CRC/EDCチェックを目的 として、コードワードのデータ部分のみが利用される。したがって、以下で用い られる「コードワード」は、そうではないと特に断らない限り、コードワードの データ部分のみを意味するものとする(つまり、コードワードのECC部分を除 くものとする)。例えば、0000、0086、0172、・・・1978表現されたバイトは、 第1のカラムコードワードのデータ部を形成しており、バイト0001、0087、0173 、・・・1979は、第2のコードワードのデータ部を形成している。以下も、ブロッ クの合計86のコードワードのすべてについて同様である。また、図1に示されて いるように、それぞれのブロックの最後の4つのデータバイト(具体的には、例 えばバイト2060、2061、2062、2063と表されたバイト)は、EDCバイトまたは CRCバイトである。 システムコントローラによるEDC/CRCチェッカ70の管理に伴う各ステッ プは、図7に示されている。ステップS2において、カウンタ値ROWCOUN TおよびCOLCOUNTは、累算レジスタ702における値(REGSUM)と 共に、ゼロに初期化される。また、最後のカラムフラグ(LASTCOL)は、 FALSEに初期化される。初期化ステップS2に続いて、偶数番のステップS 4〜S22を含むループが実行される。 このループのはじめ(ステップS4)に、ROWCOUNTおよびCOLCO UNTの現在の値により参照されるバイトと同期のとられたバイト関係にある、 バッファ内のバイトについて訂正がなされているかどうかが判定される。ここで 説明されている実施形態では、バイト同期関係とは、訂正が以前のコードワード に対して(つまり、以前のコードワード、すなわち[COLCOUNT-1,RO WCOUNT]のバイトROWCOUNTについて)おこなわれるようにするも のであるので、バッファ内の第1のカラムコードワードに対するループを実行す るときには、何の訂正も実行されない。 具体的には、ここで説明されている実施形態では、バイト位置同期とは、ステ ップS2において、ブロックのバイト(COLCOUNT-1,ROWCOUNT )に対する誤りパターンが存在するかどうかが判定されるようにするものである 。前述したように、ステップ1608の判定は、ブロックの第1のコードワードを処 理する時には、否定になる。しかし、後続するカラムコードワードの処理のあい だの判定は、以下を代表として説明される。図1のバイト0001がROWCOUN TおよびCOLCOUNTの現在の値によりアクセスされるとき、誤りパターン の発生に関する判定が、バイト0000についてなされる。図1のバイト0087がRO WCOUNTおよびCOLCOUNTの現在の値により示されるとき、誤りパタ ーンの発生に関 する判定は、バイト0086についてなされる。以下も同様である。なお、本発明は このような特定のバイト同期関係に限定されないことは理解されたい。なぜなら 、その他のオフセット(例えば、さまざまに異なる度合いのカラムオフセット) が、システム全体のその他の考察に基づいて適当である範囲内で用いられうるか らである。 第1のコードワード以外のコードワードに対応するループの実行については、 以前のコードワードの対応するバイトが訂正を必要とすることがある。訂正が必 要とされるとき、ステップS6において、同期のとられたバイト(例えば、以前 のコードワードの同期のとられたバイト)に対する誤りパターン係数が、レジス タ702に加算される。この誤りパターン係数は、誤りパターン(E(x)、信号ER Rにより運ばれる)を、乗算器716を用いて乗算器定数(x8modG(x))で乗算す ることにより得られる。換言すれば、ステップS6では、レジスタ702は、RE GSUM+E(x)x8modG(x)を得る。同期のとられたバイトが、そのブロックの最 も最近にアクセスされたバイトから1カラムだけ(つまり、1バイトすなわち8 ビットだけ)オフセットされるという事実が、同期のとられたバイトに対する誤 りパターンはx8modG(x)により乗算されねばならない理由となる。この同じルー プを実行するあいだ、ステップS6で利用された誤りパターンは、また、バッフ ァ内のブロックにおけるデータバイトを訂正するためにも用いられる。 ステップS8では、バッファからの訂正されていないデータバイトがすべて、 既にレジスタ702に加算されたかどうか(つまり、COLCOUNTがバッファ におけるコードワードの個数を超えたかどうか)が判定される。この判定は、フ ラグLASTCOLの値をチェックすることによりなされる。もしバッファから の訂正されていないデータバイトがすべて加算されていないのなら、実行は、ス テップS10に続く。そうでなければ、実行は、ステップS12に続く。 ステップS10では、チェッカ70は、ブロックからの次の訂正されていないデー タバイトを得る。具体的には、ステップS10において、ブロックからの次の訂正 されていないデータバイトは、データバイト(COLCOUNT、ROWCOU NT)となる。このループを最初に実行するとき、得られる最初のバイトは、バ イト0000となる。このループを引き続いて連続的に繰り返し実行する ために、ステップS10では、ブロックのさらなるバイトがECCカラムコードワ ードの順番でアクセスされる(例えば、バイト0086、0172、・・・、1978、0001、00 87、・・・1979、0002、・・・2063)。ステップS10では、ステップS10で得られたバ イトは、(ラインGDAT上で)で与えられ、レジスタ702に累算された和(R EGSUM)に(加算器712により)加算される。加算器712の和は、今度はロウ 乗算器708のロウ進み乗算定数x86・8modG(x)およびレジスタ702に格納されてい る積により乗算される。よって、ステップS10では、次の訂正されていないデー タバイト係数D(x)x86・6modG(x)が、レジスタ702内の値(REGSUM)に加 算される。 ステップS12は、ブロックからの訂正されていないデータバイトがすべてレジ スタ702に加算されており(例えば、ステップ710と同様に)、最後のコードワー ドに対する誤りパターン係数の処理のみがおこなわれている時に実行される。ス テップS12では、レジスタ702の内容は、ロウ乗算器708の乗算定数x86・6modG(x )により乗算される。 ステップS10またはS12を実行した後、ステップS14では、ROWCOUNT の値は1だけインクリメントされる。もし、ステップS16で判定されるときに、 ROWCOUNTのインクリメントされた値が24に等しくないのなら、ステップ S4に始まるループが、現在のコードワードの次のバイトについて実行される。 しかし、もしROWCOUNTのインクリメントされた値が24に等しいのなら、 ステップS18が実行される。ROWCOUNTの値は、24を超えることを許され ない。なぜなら、それぞれのカラムコードワードには24のデータバイトしかない からである。 ステップS18では、新しいカラムへの進みを考慮して、カラム乗算器710は、 レジスタ702の内容を、カラム調整定数x-(86・24-1)・8modG(x)で乗算するはたら きをする。 ステップS18の後、ステップS20では、ROWCOUNTはゼロにリセットさ れ、COLCOUNTは1だけインクリメントされる。ステップS22は、フラグ LASTCOLがセットされているかどうかをチェックする。もしフラグLAS TCOLがセットされていないのなら、(ステップS24で)COLCOUNTの 値が最後のカ ラムの数を超えた(例えば、COLCOUNTが86である)かどうかチェックさ れる。もしブロックの最後のカラム(例えば、最後のコードワード)が超えられ ていないのなら、実行は、ステップS2に戻り、ブロックの新しいコードワード の最初のバイトについて継続する。そうでなければ、フラグLASTCOLは、 ステップS2に戻ってブロックの最後のコードワードに対する何らかの誤りパタ ーンを処理する以前に、ステップS26でTRUEにセットされる。 ブロックの最後のコードワードに対する誤りパターン係数(がもしあれば、そ れ)がレジスタ702に加算された後、フラグLASTCOLを(ステップS22で )TRUEにセットすることによって、実行は、ステップS28にジャンプする。 ステップS28では、レジスタ702における値(つまり、値REGSUM)がゼロ であるかどうかが判定される。ループがすべて終了した後のレジスタ702におけ る値は、バッファにおける全バイト(CRCバイトを含む)から構成される多項 式をCRC発生器の多項式で除算したときの剰余である。レジスタ702の値がゼ ロであることは、訂正器60によりおこなわれた誤り訂正が正確であることを確証 する。 よって、レジスタ702にブロックの誤ったままになる可能性のある(つまり、 訂正されていない)データバイトを加算することは、レジスタ702にブロックの 位置的に同期のとられたバイトに対する誤りパターン係数(があれば、それ)を 加算することと、時間的に合わせられていることがわかる。 図3Bのチェッカ70'、図4Aのチェッカ70"、図4Bのチェッカ70"'および図 4Cのチェッカ70""の動作は、図7に伴う各ステップについて既に述べた議論を 参照すれば理解される。図4A、図4Bおよび図4Cでは、2つのコードワード が一度に操作される。図7の実施形態では、図6の各ステップが、2つの構成要 素であるチェッカ回路70"'のそれぞれについて実行される。ここで、各構成要素 をなすチェッカ回路は、同一のデータを受け取るが、2つの16ビット多項式の互 いに異なる1つずつを用いて動作する。最後に、両チェッカ回路は、ブロックを 訂正可能とするためには、結果的にゼロとならなければならない。 よって、以上の説明から明らかなように、本発明によれば、CRC/EDCチ ェックは、データバイトの訂正が実行されるバッファを通る同一のパスの間にお こな われる。本発明の方法は、バッファにおけるバイトにシーケンシャルにアクセス することと、バッファの第1の選択されたバイトを累算された和に(例えば、ス テップS10で)加算することとを伴う。ここで、アクセスされるバイトは、もし その訂正が必要とされるのなら、まだ訂正を受けてはいない。このパスが第1の 選択されたバイトを指しているあいだに、そのブロックの第2のバイトが、第2 のバイトに対する誤りパターンを用いて訂正される。ここで、第1の選択された バイトと第2の選択されたバイトとの間には、バイト位置同期関係がなりたち、 また、第2のバイトは、訂正されていない状態で、累算された和に既に加算され ている。第2のバイトに対する誤りパターン係数は、累算された和に(例えば、 ステップS6で)加算される。それに引き続いて、ただし同一のパスの間に、第 1のバイトに対する誤りパターン係数が、累算された和に加算される。 以上に本発明を、その好ましい実施形態に言及しながら具体的に示し、説明し てきたが、その形式および詳細については、本発明の精神および範囲から離れる ことなく、さまざまな改変がその中になされうることは、当業者には理解できる であろう。例えば、望みとあれば、2つよりも多くのインタリーブに適応させる ことも可能である。 独占所有権、すなわち特権を請求する本発明の実施形態は、以下のように規定 される。
───────────────────────────────────────────────────── 【要約の続き】 には、次の以前のコードワードの対応するバイトに対し て訂正がおこなわれるようにするものである。本発明の 各種実施形態では、複数のコードワードを同時に操作す ることが可能になる。

Claims (1)

  1. 【特許請求の範囲】 1.バッファ内にブロックの形態で格納された情報のバイトをチェックするシ ステムであって、 該バッファの訂正アクセスのあいだに、該ブロックの指定されたバイトを訂正 するのに用いられる誤りパターンを出力する訂正ユニットと、 該バッファの該訂正アクセスのあいだに、該ブロックの該バイトに対して処理 をおこない、該ブロックが訂正されたことを確認するためにCRC/EDC情報 を用いるCRC/EDCチェッカと、 を備えているシステム。 2.前記CRC/EDCチェッカが前記ブロックの前記バイトの和をとるよう に動作する、請求項1に記載のシステム。 3.前記訂正アクセスのあいだ、訂正されているバイトと、和のとられている バイトとの間にバイト位置同期関係がなりたつ、請求項2に記載のシステム。 4.前記訂正パスのあいだ、前記チェッカが、前記ブロックからの選択された バイトを前記和に加算した後、該選択されたバイトが該選択されたバイトに対す る誤り値を用いて訂正されているあいだに、該和に対して、該選択されたバイト に対する該誤り値を含む係数をも加算する、請求項3に記載のシステム。 5.前記訂正パスのあいだ、前記チェッカが、前記バッファからの選択された バイトを前記和に加算した後、該選択されたバイトが該選択されたバイトに対す る誤り値を用いて訂正されているあいだに、該和に対して、該選択されたバイト に対する該誤り値を含む係数をも加算する、請求項2に記載のシステム。 6.バッファにおけるバイトの訂正ユニットによる訂正と同期して、該バッフ ァにおける情報のバイトをチェックするCRC/EDCチェッカシステムであっ て、 和が累算されるメモリ装置と、 該メモリに累算された該和に対して (1)該訂正ユニットによりまだ訂正されていない、該バッファの1バイト、 および (2)該和に既に加算された1バイトに対する誤りパターン を加算する加算器と、 を備えているチェッカ。 7.前記和に加算された前記バイトが、前記誤りパターンが加算されている前 記バイトとバイト位置同期関係を有している、請求項6に記載のチェッカ。 8.前記バッファが、複数のカラムおよびロウを含むものと概念づけられ、該 バッファに加算される前記バイトと、前記誤りパターンが加算される前記バイト とが同一のロウにある、請求項7に記載のチェッカ。 9.前記誤りパターンが、前記累算された和に加算される誤りパターン係数に 含まれており、該誤りパターン係数が、さらに定数の倍数を含んでいる、請求項 7に記載のチェッカ。 10.前記定数の倍数の値が、前記バイト位置同期関係に依存している、請求項 9に記載のチェッカ。 11.バッファに格納されている情報のバイトをチェックする方法であって、 該バッファ内の第1の選択されたバイトにアクセスし、該第1の選択されたバ イトを累算された和に加算するステップと、 該バッファ内の第2の選択されたバイトに対する誤りパターンを用いて、該バ ッファにおける該第2の選択されたバイトを訂正するステップと、 該第2の選択されたバイトに対する誤りパターンを、該累算された和に加算す るステップと、 を含む方法。 12.前記第1の選択されたバイトと、前記第2の選択されたバイトとの間にバ イト位置同期関係がなりたつ、請求項11に記載の方法。 13.前記バッファが、複数のカラムおよびロウを含むものと概念づけられ、前 記第1の選択されたバイトと、前記第2の選択されたバイトとが、同一のロウに ある、請求項12に記載の方法。 14.前記誤りパターンが、前記累算された和に加算される誤りパターン係数に 含まれており、該誤りパターン係数が、さらに定数の倍数を含んでいる、請求項 12に記載の方法。 15.前記定数の倍数の値が、前記バイト位置同期関係に依存している、請求項 14に記載の方法。 16.バッファに格納されている情報のバイトをチェックする方法であって、 バッファ内のバイトにシーケンシャルにアクセスするステップと、 該バッファの第1の選択されたバイトを累算された和に加算するステップであ って、該アクセスされたバイトは、もしその訂正が必要とされるのなら、まだ訂 正を受けてはいない、ステップと、 該バッファ内の第2の選択されたバイトに対する誤りパターンを用いて、該第 2の選択されたバイトを訂正するステップと、 該第2の選択されたバイトに対する該誤りパターンを、該累算された和に加算 するステップと、 を含む方法。 17.前記第1の選択されたバイトと、前記第2の選択されたバイトとの間にバ イト位置同期関係がなりたつ、請求項16に記載の方法。 18.前記バッファが、複数のカラムおよびロウを含むものと概念づけられ、該 バッファに加算される前記バイトと、前記誤りパターンが加算される前記バイト とが、同一のロウにある、請求項16に記載の方法。 19.前記誤りパターンが、前記累算された和に加算される誤りパターン係数に 含まれており、該誤りパターン係数が、さらに定数の倍数を含んでいる、請求項 16に記載の方法。 20.前記定数の倍数の値が、前記バイト位置同期関係に依存している、請求項 19に記載の方法。 21.バッファ内にブロックフォーマットで格納された情報のバイトを、該バッ ファの1パスのあいだにチェックする方法であって、 該1パスのあいだに第1の選択されたバイトを累算された和に加算するステッ プと、 該累算された和に対して、該第1の選択されたバイトに対する誤りパターンを 加算する、後続はするが該同一パス内のステップと、 を含む方法。 22.前記第1の選択されたバイトが前記累算された和に加算された後、前記誤 りパターンを用いて該第1の選択されたバイトを訂正するステップをさらに含ん でいる、請求項21に記載の方法。 23.前記誤りパターンが、前記累算された和に加算される誤りパターン係数に 含まれており、該誤りパターン係数が、さらに定数の倍数を含んでいる、請求項 22に記載の方法。 24.前記定数の倍数の値が、前記バイト位置同期関係に依存している、請求 項23に記載の方法。 25.バッファ内にブロックフォーマットで格納された情報のバイトをチェック する方法であって、 該バッファ内のバイトに該ブロックを通して一回のパスアクセスでシーケンシ ャルにアクセスするステップと、 アクセスされる時に、第1のバイトを累算された和に加算するステップであっ て、該第1のバイトは、もしその訂正が必要とされるのなら、まだ訂正を受けて はいない、ステップと、 該ブロックの第2のバイトに対する誤りパターンを用いて、該第2のバイトを 訂正するステップであって、該第2のバイトが、訂正されていないままで、該累 算された和に既に加算されている、ステップと、 該第2のバイトに対する該誤りパターンを、該累算された和に加算した後、該 同一のパスのあいだに、 第3のバイトを該累算された和に加算し、 該第1のバイトに対する誤りパターンを用いて該第1のバイトを訂正し、かつ 該第1のバイトに対する該誤りパターンを該累算された和に加算する、ステッ プと、 を含む方法。 26.前記第1の選択されたバイトと、前記第2の選択されたバイトとの間にバ イト位置同期関係がなりたつ、請求項25に記載の方法。 27.前記バッファが、複数のカラムおよびロウを含むものと概念づけられ、前 記第1の選択されたバイトと、前記第2の選択されたバイトとが、同一のロウに ある、請求項26に記載の方法。 28.前記誤りパターンが、前記累算された和に加算される誤りパターン係数に 含まれており、該誤りパターン係数が、さらに定数の倍数を含んでいる、請求 項26に記載の方法。 29.前記定数の倍数の値が、前記バイト位置同期関係に依存している、請求項 28に記載の方法。 30.前記ブロックを通した前記単一パスアクセスが完了したとき、もし該ブロ ックが正しく訂正されていれば、前記累算された和がゼロである、請求項25に記 載の方法。 31.バッファにおけるデータブロック内のバイトについてEDC/CRCチェ ックをおこなう方法であって、 該ブロック内の訂正されていないデータバイトにシーケンシャルにアクセスし 、それぞれの訂正されていないデータバイトを、該バイトにアクセスしたときに 、累算された和に加算するステップと、 訂正されていないデータバイトがアクセスされるときに、該ブロック内の位置 に関連するデータバイトが、利用可能な誤りパターンを有しているかどうかを判 定するステップであって、該位置に関連するデータバイトは、該累算された和に 既に加算されている、ステップと、もし利用可能な誤りパターンが存在するのな ら、 該位置に関連するデータバイトに対する該利用可能な誤りパターンを、該累算 された和に加算する、ステップと、 を含む方法。 32.前記ブロック内の訂正されていないデータバイトにシーケンシャルにアク セスする前記ステップのあいだに、前記位置に関連するデータバイトを訂正する ステップ をさらに含んでいる、請求項31に記載の方法。 33.前記位置に関連するデータバイトが、前記アクセスされた訂正されてい ないデータバイトとバイト同期の取られた関係にある、請求項31に記載の方法。 34.バッファにおけるデータブロック内のバイトについてEDC/CRCチェ ックをおこなう方法において、該バイトがコードワードに組織される、方法であ って、 該ブロック内の最も最近のコードワードに対する訂正されていないデータバイ トを累算された和にシーケンシャルに加算するステップと、 該最も最近のコードワードに対する訂正されていないデータバイトがアクセス されるときに、以前のコードワードにおける対応するデータバイトが、利用可能 な誤りパターンを有しているかどうかを判定するステップであって、該以前のコ ードワードの該対応するデータバイトは、該累算された和に既に加算されている 、ステップと、もし利用可能な誤りパターンが存在するのなら、 該以前のコードワードの該対応するデータバイトに対する該利用可能な誤りパ ターンを、該累算された和に加算するステップと、 を含む方法。 35.前記最も最近のコードワードの訂正されていないデータバイトが、前記累 算された和に加算されていくあいだに、前記以前のコードワードの前記対応する データバイトを訂正するステップ をさらに含んでいる、請求項34に記載の方法。 36.前記以前のコードワードの前記対応するデータバイトが、前記累算された 和に加算されていく前記最も最近のコードワードの前記データバイトとバイト同 期の取られた関係にある、請求項34に記載の方法。
JP51040696A 1994-09-16 1995-09-15 Crc/edcチェッカシステム Expired - Lifetime JP3281387B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US306,917 1994-09-16
US08/306,917 US5592498A (en) 1994-09-16 1994-09-16 CRC/EDC checker system
PCT/US1995/011988 WO1996008874A1 (en) 1994-09-16 1995-09-15 Crc/edc checker system

Publications (2)

Publication Number Publication Date
JPH10508988A true JPH10508988A (ja) 1998-09-02
JP3281387B2 JP3281387B2 (ja) 2002-05-13

Family

ID=23187456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51040696A Expired - Lifetime JP3281387B2 (ja) 1994-09-16 1995-09-15 Crc/edcチェッカシステム

Country Status (7)

Country Link
US (1) US5592498A (ja)
EP (1) EP0781471B1 (ja)
JP (1) JP3281387B2 (ja)
KR (1) KR970706656A (ja)
CN (1) CN1113474C (ja)
DE (1) DE69524430T2 (ja)
WO (1) WO1996008874A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012839A (en) * 1995-06-30 2000-01-11 Quantum Corporation Method and apparatus to protect data within a disk drive buffer
US6048090A (en) * 1997-04-23 2000-04-11 Cirrus Logic, Inc. Error correction and concurrent verification of a product code
US5920578A (en) * 1997-04-23 1999-07-06 Cirrus Logic, Inc. Method and apparatus for efficiently processing a multi-dimensional code
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code
US5996105A (en) * 1997-11-14 1999-11-30 Cirrus Logic, Inc. ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
US6052815A (en) * 1997-11-14 2000-04-18 Cirrus Logic, Inc. ECC system for generating a CRC syndrome over randomized data in a computer storage device
US5991911A (en) * 1997-11-14 1999-11-23 Cirrus Logic, Inc. Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
US6128760A (en) * 1998-10-13 2000-10-03 Lsi Logic Corporation Method and apparatus for calculating a CRC remainder
JP3527873B2 (ja) * 1999-09-03 2004-05-17 松下電器産業株式会社 誤り訂正装置
CN101673296B (zh) * 2009-09-02 2011-07-20 太仓市同维电子有限公司 数据通讯过程中文件校验的方法
CN102487282A (zh) * 2010-12-03 2012-06-06 上海华虹集成电路有限责任公司 一种实现可变长crc运算的电路
CN103809147A (zh) * 2012-11-12 2014-05-21 苏州工业园区新宏博通讯科技有限公司 一种交流电表故障自诊断方法
US10489240B2 (en) * 2015-09-25 2019-11-26 Microsoft Technology Licensing, Llc Efficient detection of corrupt data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3868632A (en) * 1972-11-15 1975-02-25 Ibm Plural channel error correcting apparatus and methods
US3851306A (en) * 1972-11-24 1974-11-26 Ibm Triple track error correction
US4712215A (en) * 1985-12-02 1987-12-08 Advanced Micro Devices, Inc. CRC calculation machine for separate calculation of checkbits for the header packet and data packet
CN1009047B (zh) * 1985-12-27 1990-08-01 复旦大学 交叉穿插的里德-所罗门码的高速纠错译码系统
US4703485A (en) * 1986-02-10 1987-10-27 International Business Machines Corporation Method and apparatus for computing and implementing error detection check bytes
US4782490A (en) * 1987-03-16 1988-11-01 Cythera Corporation Method and a system for multiple error detection and correction
JPS63257966A (ja) * 1987-04-15 1988-10-25 Matsushita Electric Ind Co Ltd 符号誤り検出方法
US4949342A (en) * 1987-04-14 1990-08-14 Matsushita Electric Industrial Co., Ltd. Code error detecting method
JPS63255876A (ja) * 1987-04-14 1988-10-24 Matsushita Electric Ind Co Ltd 符号誤り検出方法
US4817095A (en) * 1987-05-15 1989-03-28 Digital Equipment Corporation Byte write error code method and apparatus
US5220568A (en) * 1988-05-31 1993-06-15 Eastman Kodak Company Shift correcting code for channel encoded data
US5218691A (en) * 1988-07-26 1993-06-08 Disk Emulation Systems, Inc. Disk emulation system
ATE107101T1 (de) * 1989-03-22 1994-06-15 Siemens Ag Verfahren zur qualitätsüberwachung wenigstens zweier übertragungsabschnitte einer digitalsignal-übertragungsstrecke und vorrichtung zur durchführung des verfahrens.
EP1031992B1 (en) * 1989-04-13 2006-06-21 SanDisk Corporation Flash EEPROM system
US5384786A (en) * 1991-04-02 1995-01-24 Cirrus Logic, Inc. Fast and efficient circuit for identifying errors introduced in Reed-Solomon codewords
US5291584A (en) * 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
US5422895A (en) * 1992-01-09 1995-06-06 Quantum Corporation Cross-checking for on-the-fly Reed Solomon error correction code
US5329535A (en) * 1992-04-30 1994-07-12 International Business Machines Corporation Variable block lengths on-the-fly error correcting decoder
US5592404A (en) * 1993-11-04 1997-01-07 Cirrus Logic, Inc. Versatile error correction system

Also Published As

Publication number Publication date
CN1113474C (zh) 2003-07-02
US5592498A (en) 1997-01-07
DE69524430T2 (de) 2002-08-14
EP0781471A1 (en) 1997-07-02
JP3281387B2 (ja) 2002-05-13
EP0781471B1 (en) 2001-12-05
CN1164941A (zh) 1997-11-12
DE69524430D1 (de) 2002-01-17
KR970706656A (ko) 1997-11-03
WO1996008874A1 (en) 1996-03-21

Similar Documents

Publication Publication Date Title
JP2821324B2 (ja) 誤り訂正回路
US5592404A (en) Versatile error correction system
US5996105A (en) ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
US5920578A (en) Method and apparatus for efficiently processing a multi-dimensional code
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US5805617A (en) Apparatus for computing error correction syndromes
JP3281387B2 (ja) Crc/edcチェッカシステム
EP0105499B1 (en) Method capable of simultaneously decoding two reproduced sequences
JP3245119B2 (ja) 新たな多項式配列構造を採用したリード−ソロモン復号器とその復号方法
JP3345385B2 (ja) チェンサーチ装置
US5555516A (en) Multipurpose error correction calculation circuit
JP2713902B2 (ja) アドレス発生回路
US6304994B1 (en) Reed Solomon decoder and decoding method utilizing a control signal indicating a new root for an initial error locator polynomial with respect to new erasure information
US5450420A (en) Error correction system for correcting errors generated in digital signals
JP3310186B2 (ja) リード・ソロモン符号の復号回路
JP2605269B2 (ja) エラー訂正方法
JPH0834439B2 (ja) ガロア体演算装置
JP2858538B2 (ja) 再シンドロームチェック方式
JP2752510B2 (ja) 誤り訂正復号器
JPH09162753A (ja) 符号語の復号方式
JP2649059B2 (ja) 重畳符号の復号装置
JPH10107648A (ja) 誤り訂正処理回路
KR100499878B1 (ko) 디브이디 램에서의 피아이디에 대한 에러 정정 회로
JPH0746776B2 (ja) 誤り訂正回路
JPH0744463B2 (ja) エラ−訂正回路

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term