Crc / edc checker system |
|||||||
申请号 | JP51040696 | 申请日 | 1995-09-15 | 公开(公告)号 | JP3281387B2 | 公开(公告)日 | 2002-05-13 |
申请人 | シーラス ロジック,インコーポレイテッド; | 发明人 | クリストファー ピー. ズーク,; | ||||
摘要 | |||||||
权利要求 | 【請求項1】バッファ内にブロックの形態で格納された情報のバイトをチェックするシステムであって、 該バッファの訂正アクセスのあいだに、該ブロックの指定されたバイトを訂正するのに用いられる誤りパターンを出力する訂正ユニットと、 該バッファの該訂正アクセスのあいだに、該ブロックの該バイトに対して処理をおこない、該ブロックが訂正されたことを確認するためにCRC/EDC情報を用いるCRC/EDC チェッカと、 を備え、 該CRC/EDCチェッカが該ブロックの該バイトの和をとるように動作し、 該訂正アクセスのあいだ、訂正されているバイトと、和のとられているバイトとの間にバイト位置同期関係がなりたつ、システム。 【請求項2】前記訂正パスのあいだ、前記チェッカが、 前記ブロックからの選択されたバイトを前記和に加算した後、該選択されたバイトが該選択されたバイトに対する誤り値を用いて訂正されているあいだに、該和に対して、該選択されたバイトに対する該誤り値を含む係数をも加算する、請求項1に記載のシステム。 【請求項3】前記訂正パスのあいだ、前記チェッカが、 前記バッファからの選択されたバイトを前記和に加算した後、該選択されたバイトが該選択されたバイトに対する誤り値を用いて訂正されているあいだに、該和に対して、該選択されたバイトに対する該誤り値を含む係数をも加算する、請求項2に記載のシステム。 【請求項4】バッファにおけるバイトの訂正ユニットによる訂正と同期して、該バッファにおける情報のバイトをチェックするCRC/EDCチェッカシステムであって、 和が累算されるメモリ装置と、 該メモリに累算された該和に対して (1)該訂正ユニットによりまだ訂正されていない、該バッファの1バイト、および (2)該和に既に加算された1バイトに対する誤りパターン を加算する加算器と、 を備え、 該和に加算された該バイトが、該誤りパターンが加算されている該バイトとバイト位置同期関係を有している、 CRC/EDCチェッカシステム。 【請求項5】前記バッファが、複数のカラムおよびロウを含むものと概念づけられ、該バッファに加算される前記バイトと、前記誤りパターンが加算される前記バイトとが同一のロウにある、請求項4に記載のCRC/EDCチェッカシステム。 【請求項6】前記誤りパターンが、前記累算された和に加算される誤りパターン係数に含まれており、該誤りパターン係数が、さらに定数の倍数を含んでいる、請求項4に記載のCRC/EDCチェッカシステム。 【請求項7】前記定数の倍数の値が、前記バイト位置同期関係に依存している、請求項6に記載のCRC/EDCチェッカシステム。 【請求項8】バッファに格納されている情報のバイトをチェックする方法であって、 該バッファ内の第1の選択されたバイトにアクセスし、 該第1の選択されたバイトを累算された和に加算するステップと、 該バッファ内の第2の選択されたバイトに対する誤りパターンを用いて、該バッファにおける該第2の選択されたバイトを訂正するステップと、 該第2の選択されたバイトに対する誤りパターンを、該累算された和に加算するステップと、 を含み、 該第1の選択されたバイトと、該第2の選択されたバイトとの間にバイト位置同期関係がなりたつ、方法。 【請求項9】前記バッファが、複数のカラムおよびロウを含むものと概念づけられ、前記第1の選択されたバイトと、前記第2の選択されたバイトとが、同一のロウにある、請求項8に記載の方法。 【請求項10】前記誤りパターンが、前記累算された和に加算される誤りパターン係数に含まれており、該誤りパターン係数が、さらに定数の倍数を含んでいる、請求項8に記載の方法。 【請求項11】前記定数の倍数の値が、前記バイト位置同期関係に依存している、請求項10に記載の方法。 【請求項12】バッファに格納されている情報のバイトをチェックする方法であって、 バッファ内のバイトにシーケンシャルにアクセスするステップと、 該バッファの第1の選択されたバイトを累算された和に加算するステップであって、該アクセスされたバイトは、もしその訂正が必要とされるのなら、まだ訂正を受けてはいない、ステップと、 該バッファ内の第2の選択されたバイトに対する誤りパターンを用いて、該第2の選択されたバイトを訂正するステップと、 該第2の選択されたバイトに対する該誤りパターンを、 該累算された和に加算するステップと、 を含み、 該第1の選択されたバイトと、該第2の選択されたバイトとの間にバイト位置同期関係がなりたつ、方法。 【請求項13】前記バッファが、複数のカラムおよびロウを含むものと概念づけられ、該バッファに加算される前記バイトと、前記誤りパターンが加算される前記バイトとが、同一のロウにある、請求項12に記載の方法。 【請求項14】前記誤りパターンが、前記累算された和に加算される誤りパターン係数に含まれており、該誤りパターン係数が、さらに定数の倍数を含んでいる、請求項12に記載の方法。 【請求項15】前記定数の倍数の値が、前記バイト位置同期関係に依存している、請求項14に記載の方法。 【請求項16】バッファ内にブロックフォーマットで格納された情報のバイトを、該バッファの1パスのあいだにチェックする方法であって、 該1パスのあいだに第1の選択されたバイトを累算された和に加算するステップと、 該累算された和に対して、該第1の選択されたバイトに対する誤りパターンを加算する、後続はするが該同一パス内のステップと、 該第1の選択されたバイトが該累算された和に加算された後、該誤りパターンを用いて該第1の選択されたバイトを訂正するステップと、 を含み、 該誤りパターンが、該累算された和に加算される誤りパターン係数に含まれており、該誤りパターン係数が、さらに定数の倍数を含んでおり、 該定数の倍数の値が、該バイト位置同期関係に依存している、方法。 【請求項17】バッファ内にブロックフォーマットで格納された情報のバイトをチェックする方法であって、 該バッファ内のバイトに該ブロックを通して一回のパスアクセスでシーケンシャルにアクセスするステップと、 アクセスされる時に、第1のバイトを累算された和に加算するステップであって、該第1のバイトは、もしその訂正が必要とされるのなら、まだ訂正を受けてはいない、ステップと、 該ブロックの第2のバイトに対する誤りパターンを用いて、該第2のバイトを訂正するステップであって、該第2のバイトが、訂正されていないままで、該累算された和に既に加算されている、ステップと、 該第2のバイトに対する該誤りパターンを、該累算された和に加算した後、該同一のパスのあいだに、 第3のバイトを該累算された和に加算し、 該第1のバイトに対する誤りパターンを用いて該第1のバイトを訂正し、かつ 該第1のバイトに対する該誤りパターンを該累算された和に加算する、ステップと、 を含み、 該第1の選択されたバイトと、該第2の選択されたバイトとの間にバイト位置同期関係がなりたつ、方法。 【請求項18】前記バッファが、複数のカラムおよびロウを含むものと概念づけられ、前記第1の選択されたバイトと、前記第2の選択されたバイトとが、同一のロウにある、請求項17に記載の方法。 【請求項19】前記誤りパターンが、前記累算された和に加算される誤りパターン係数に含まれており、該誤りパターン係数が、さらに定数の倍数を含んでいる、請求項17に記載の方法。 【請求項20】前記定数の倍数の値が、前記バイト位置同期関係に依存している、請求項19に記載の方法。 【請求項21】前記ブロックを通した前記単一パスアクセスが完了したとき、もし該ブロックが正しく訂正されていれば、前記累算された和がゼロである、請求項17に記載の方法。 【請求項22】バッファにおけるデータブロック内のバイトについてEDC/CRCチェックをおこなう方法であって、 該ブロック内の訂正されていないデータバイトにシーケンシャルにアクセスし、それぞれの訂正されていないデータバイトを、該バイトにアクセスしたときに、累算された和に加算するステップと、 訂正されていないデータバイトがアクセスされるときに、該ブロック内の位置に関連するデータバイトが、利用可能な誤りパターンを有しているかどうかを判定するステップであって、該位置に関連するデータバイトは、 該累算された和に既に加算されている、ステップと、もし利用可能な誤りパターンが存在するのなら、 該位置に関連するデータバイトに対する該利用可能な誤りパターンを、該累算された和に加算する、ステップと、 該ブロック内の訂正されていないデータバイトにシーケンシャルにアクセスするあいだに、該位置に関連するデータバイトを訂正するステップと、 を含み、 該位置に関連するデータバイトが、該アクセスされた訂正されていないデータバイトとバイト同期の取られた関係にある、方法。 【請求項23】バッファにおけるデータブロック内のバイトについてEDC/CRCチェックをおこなう方法において、該バイトがコードワードに組織される、方法であって、 該ブロック内の最も最近のコードワードに対する訂正されていないデータバイトを累算された和にシーケンシャルに加算するステップと、 該最も最近のコードワードに対する訂正されていないデータバイトがアクセスされるときに、以前のコードワードにおける対応するデータバイトが、利用可能な誤りパターンを有しているかどうかを判定するステップであって、該以前のコードワードの該対応するデータバイトは、該累算された和に既に加算されている、ステップと、もし利用可能な誤りパターンが存在するのなら、 該以前のコードワードの該対応するデータバイトに対する該利用可能な誤りパターンを、該累算された和に加算するステップと、 を含む方法。 【請求項24】前記最も最近のコードワードの訂正されていないデータバイトが、前記累算された和に加算されていくあいだに、前記以前のコードワードの前記対応するデータバイトを訂正するステップ をさらに含んでいる、請求項23に記載の方法。 【請求項25】前記以前のコードワードの前記対応するデータバイトが、前記累算された和に加算されていく前記最も最近のコードワードの前記データバイトとバイト同期の取られた関係にある、請求項23に記載の方法。 |
||||||
说明书全文 | 【発明の詳細な説明】 本願は、以下の同時に出願された特許出願、すなわち、Chris Zookにより1994年9月16日に出願され、“MU 背 景 1.発明の分野 本発明は、CRCチェッキング機能を利用する誤り訂正システムを含むがそれには限定されない、誤り訂正システムに関する。 2.関連する技術および他の考察 ディスクドライブのような情報記憶装置は、一般に誤り訂正能力を有している。 この装置からトランスデュースされた情報は、典型的には、バイトのかたちでバッファに格納される。 格納された情報は、通常、バイトから構成される複数のブロックにフォーマットされる。 例えばCDディスクドライブの場合、バッファは、複数のセクタ(コンピュータデータを処理するとき)または複数のフレーム(ディジタルオーディオデータを処理するとき)を含んでいる。 ここでは、これらを包括的に「ブロック」と称する。 誤り訂正能力によれば、それぞれのセクタは、典型的には、複数のCRCまたはEDCチェックバイトを有する。 図2は、それぞれが26バイトから構成される86のカラムにグループ分けされたブロックを図示している。 ブロック内では、バイトから構成されるカラムはそれぞれ、1個のカラムコードワードを備えており、各カラムの最後の2バイトは、カラムコードワードのECC部分を構成しており、各カラムの残りの部分(つまり、最初の24バイト)は、カラムコードワードのデータ部分を構成している。 例えば、バイト0000、0086、0172、…1978は、カラムコードワードCW 0のデータ部を含んでおり、バイト000 誤り訂正多項式の演算以外では、CRCまたはEDCチェックバイトが、付加的なチェック手段を提供する。 一般に、CRCバイトは、データバイト(または、場合によってはビット)をバイト値(またはビット値)で表されたデータの多項式D(x)の係数として扱い、D(x)x 従来より、CRCまたはEDCバイトを用いるバッファのチェックは、そのバッファが訂正された後におこなわれている。 具体的には、誤り訂正フェーズのあいだ、バッファのバイトは、コードワードとしてアクセスされ、誤り訂正多項式を用いて処理される。 誤り多項式によるコードワードに対する処理の結果、誤りを含んでいるコードワードのバイトを指定する誤りポインタが、それらのポインタにより位置の特定されたバイトの訂正に用いられる誤りパターンと共に発生される。 誤りポインタおよび誤りパターンによる発生の後、バッファにおけるバイトが、ポインタにより指定されたバイトを訂正する目的でアクセスされる。 ポインタにより指定されたバイトの訂正に引き続いて、特にCRCまたはEDCチェックを目的として、バッファが再びアクセスされる。 CRCまたはEDCチェックのあいだ、バッファにおけるすべてのバイトから構成される多項式(CRCバイトを含む)は、CRC発生器多項式により除算される。 もしその剰余がゼロであれば、ブロックが正確に訂正されたことが確認される。 CRCまたはEDC機能は、データの完全性を確認するに当たっての付加的なレベルを提供できるという利点を有してはいるものの、CRC/EDCチェックのためにはバッファに対して特別なアクセスが必要になるので、全体的な動作速度が低下してしまう。 要 旨 EDC/CRCチェッカは、訂正パスのあいだに1ブロックのデータが訂正されているあいだに、EDC/CRCチェックをおこなうことによって、ブロック訂正に引き続いてED よって、本発明のEDC/CRCチェッカは、最も最近のコードワードCW nに対するシンドローム発生に用いられているブロックバイトに対するCRCチェックをおこなうのと同時に、以前のコードワード(例えば、CW n-1 )の対応して位置づけられたバイトに対しても訂正がおこなわれうるようにする。 以前のコードワードの対応するバイトに対して訂正がおこなわれているとき、以前のコードワードの対応するバイトに対する誤りパターン係数もまた、累算された和に加算される。 なぜなら、対応するそのようなバイトは、訂正されていない状態で、それ以前に和に加算されていたからである。 実際には、誤りパターン係数は、誤りパターンの定数の倍数である。 その定数の倍数の値は、実現されるバイト位置同期関係に依存している。 本発明のEDC/CRCチェッカは、バッファに対して別個にアクセスすることを必要とせずにEDC/CRCチェックをおこなうことができるという利点を有する。 さらに、本発明は、ブロックを完全には満たさず、CRCバイトをデータの最後に続けて配置し、その後に、それらのブロックが満たされるまでゼロバイトで埋め込まれたCRCバイトを置くことができるデータフォーマットともコンパチブルである。 図面の簡単な説明 本発明の上記目的、特徴および利点、ならびにその他の目的、特徴および利点は、添付の図面に図示されている好ましい実施態様の、以下に述べるより詳細な説明から明らかになるであろう。 なお、全図面を通して、参照番号は同一の部分を指すものとする。 また、図面は必ずしも実際の縮尺に則ったものではなく、本発明の原理を図示するさいに強調されているところもある。 図1は、本発明によるEDC/CRCチェッカを用いる誤り訂正システムの一例の模式的ブロック図である。 図2は、バッファに格納されているデータの1セクタを図示しており、セクタは、複数のロウおよびカラムをなして格納されるものと概念づけられている。 図3Aは、本発明のある実施形態によるEDC/CRCチェッカ回路を示す模式図である。 図3Bは、データバイトと誤りパターンとが本質的に同時アクセス可能である、本発明のある実施形態によるED 図4Aは、2つのコードワード(例えば2つのカラム) 図4Bは、図4Aの回路と等価である、EDC/CRCチェッカ回路を示す模式図である。 図4Cは、2つのコードワード(例えば2つのカラム) 図5は、2つのインタリーブされたブロックに分割されるものと概念づけられたバッファを図示しており、それぞれのブロックは、複数のロウおよびカラムをなして組織されるものと概念づけられたバイトを有している。 図6は、EDC/CRCチェッキング演算に伴う各ステップを図示するフローチャートである。 図7は、図4Aのチェッカのチップ指向のインプリメンテーションを示す模式的ブロック図である。 図面の詳細な説明 図1は、システムコントローラ10を介してバッファ(破線15によって概略的に示される)と通信する誤り訂正システムを示す。 バッファは、その中に例えば図2に示すような複数のブロックを格納している。 図1の誤り訂正システムは、さらに発生器、つまり発生部20(例えば、シンドローム発生用)、計算器、つまり計算部30 図1に示されているように、EDC/CRCチェッカ70は、 以下にさらに詳しく説明するように、システムコントローラ10の管理の下に、EDC/CRCチェッカ70は、訂正器6 図3Aは、データ(図2のバッファに格納されている) バッファからの訂正されていないデータバイトは、ラインGDAT上でANDゲート715の第1端子に与えられる。 AN 加算器712は、レジスタ702に累算された和(ライン71 訂正器60からの誤りパターンを運ぶラインERRは、乗算器716に接続されている。 現在のコードワードと以前のコードワードとの間のバイト同期オフセット(例えば、カラムオフセット)に対応可能とするために、乗算器716は、定数x 8 modG(x)により乗算して、誤りパターン係数を発生する。 乗算器716により発生された積(誤りパターン係数)は、加算器706の第1入力端子に与えられる。 加算器706の第2入力端子は、上述したように、レジスタ出力ライン714に接続されている。 図3Aにおいて、ロウ乗算器708のための乗算定数は、 図3Aに図示されている例では、訂正されていないデータ(ラインGDAT上にある)の1バイトと、ブロックのバイト位置同期の取られた別のバイトとは、ただちに共に利用可能となるのではなく、チェッカに対してシーケンシャルに(まず誤りパターンが、次いでデータバイトが)与えられるという前提を含む。 一方、図3Bの実施形態は、訂正されていないデータバイトと、誤りパターンとが同時にアクセス可能である、チェック70'を示している。 図3Bの実施形態では、加算器706は除かれており、MUX704は2入力スイッチになっており、乗算器716 図4Aは、パフォーマンス上の理由からある種の実施形態では望ましいこともあるものである、2つのコードワード(例えば、一度に2つのカラム)を処理するように構成されたチェッカ70″を示している。図4Aの実施形態は、例えば、バッファが2つのインタリーブされたブロックを含むものとして概念づけられており、バッファの2つのコードワードが一度に操作される時に利用可能である。例えば、図5は、2つのインタリーブされたブロック(偶数ブロックおよび奇数ブロック)を示している。ここで、1ブロックのそれぞれのカラムにおけるバイトは、カラムコードワードを構成している。すなわち、0000、0043、0086、…、0989として表現されたバイトは、偶数ブロックの第1のカラムコードワードのデータ部分を形成しており、バイト0001、0044、0087、…09 図4Aのチェッカ70″は、累算レジスタ702″を備えている。 レジスタ702″へのフィードは、選択信号705″により支配される、スイッチつまりMUX704″により制御される。チェッカ70″は、4つの入力信号を受け取る。 すなわち、より低いオーダーのデータ入力信号DAT Lと、より低いオーダーの誤りパターン入力信号ERR Lと、より高いオーダーのデータ入力信号DAT Hと、より高いオーダーの誤りパターン入力信号ERR Hとの4つである。 図5のインタリーブされたブロックのシナリオを参照すれば、例えば、より低いオーダーの入力は、偶数ブロックに対応し、より高いオーダーの入力は奇数ブロックに対応していてもよい。 すなわち、DAT Lは、偶数ブロックからのカラムコードワードCWeven Nの選択されたバイトに対する訂正されていないデータであり、ERR Lは、カラムコードワードCWeven Nの選択されたバイトと所定のバイト同期関係にある(カラムコードワードCWeven N-1における) チェッカ70″は、さらに5つの乗算器を備えている。
Lは、信号NOT_LAST_COLがオンである限りそれを通してデータバイトをゲートするためにその上に接続されたANDゲート715″を有している。 図4Bは、図4Aの回路70″と本質的には等価であるチェッカ回路70″'を示している。 図4Bのチェッカ回路7 図4Bと図4Aとの間の第2の相違は、ラインERR H16およびERR I16がMUX767をフィードしており、MUX767は乗算器 図7は、2つの16ビット多項式を用いて2つのチェックをおこなうための2つのCRC/EDC回路を設けている、 図7において、前置乗算器730(0)は多項式x 16 +x それぞれの乗算器の出力ベクトルのビットは、入力ベクトルのビットの線形結合であるので、行列乗算、すなわち[0]=[I][T] Kにより得られる。 ここで、 前置乗算器730(0)については、乗算器765の乗算を説明する16×16の2進行列は表2に与えられている。 ロウ乗算器708″用の行列は、表3に与えられている。カラム乗算器710″用の行列は、表4に与えられている。 H・X 24 modG 1 (x)=ERR H・X 8・X 16 modG 1 (x)=ERR H16・X 16 modG 1 (x) [I]=[E 0 E 1 E 2 ...E 7 0000000] 出力のBIT0は、E 0 +E 2 +E 3 +E 4 +E 5 +E 6 +E 7である。 図3Aと同様に、図4Aおよび図4Bに図示の例においても、訂正されていないデータ(ラインGDAT上)の2バイトと、そのブロックの別のバイト位置同期のとられたバイト用の2つの誤りパターンとは、ただちに共に利用可能となるのではなく、チェッカ70″にシーケンシャル(まず誤りパターンが、次いでデータバイトが)与えられることを前提として含む。図4Cの実施形態が、図4Aの実施形態と異なるのは、図4Cのチェッカ70″'が、本質的に同時に利用可能となるデータバイトおよび誤りパターンのペアを処理する点である。 図4Cの実施形態のロウおよびカラム乗算器の定数は、図4Aの実施形態の場合と同じである。 図4Cの実施形態では、チェッカ70′は、カラム乗算器710′またはロウ乗算器708′により(2入力MUX7 動作 例えば図2を参照して既に述べたように、本発明のセクタは、86のカラムから構成されるブロックを含んでいる。 ここで、そのブロックのそれぞれのカラムにおけるバイトが1コードワードを構成している。 CRC/EDCチェックを目的として、コードワードのデータ部分のみが利用される。 したがって、以下で用いられる「コードワード」は、そうではないと特に断らない限り、コードワードのデータ部分のみを意味するものとする(つまり、コードワードのECC部分を除くものとする)。 例えば、000 システムコントローラによるEDC/CRCチェッカ70の管理に伴う各ステップは、図7に示されている。 ステップ このループのはじめ(ステップS4)に、ROWCOUNTおよびCOLCOUNTの現在の値により参照されるバイトと同期のとられたバイト関係にある、バッファ内のバイトについて訂正がなされているかどうかが判定される。 ここで説明されている実施形態では、バイト同期関係とは、訂正が以前のコードワードに対して(つまり、以前のコードワード、すなわち[COLCOUNT−1,ROWCOUNT]のバイトRO 具体的には、ここで説明されている実施形態では、バイト位置同期とは、ステップS2において、ブロックのバイト(COLCOUNT−1,ROWCOUNT)に対する誤りパターンが存在するかどうかが判定されるようにするものである。 第1のコードワード以外のコードワードに対応するループの実行については、以前のコードワードの対応するバイトが訂正を必要とすることがある。 訂正が必要とされるとき、ステップS6において、同期のとられたバイト(例えば、以前のコードワードの同期のとられたバイト)に対する誤りパターン係数が、レジスタ702に加算される。 この誤りパターン係数は、誤りパターン(E ステップS8では、バッファからの訂正されていないデータバイトがすべて、既にレジスタ702に加算されたかどうか(つまり、COLCOUNTがバッファにおけるコードワードの個数を超えたかどうか)が判定される。 この判定は、フラグLASTCOLの値をチェックすることによりなされる。 もしバッファからの訂正されていないデータバイトがすべて加算されていないのなら、実行は、ステップ ステップS10では、チェッカ70は、ブロックからの次の訂正されていないデータバイトを得る。 具体的には、 ステップS12は、ブロックからの訂正されていないデータバイトがすべてレジスタ702に加算されており(例えば、ステップ710と同様に)、最後のコードワードに対する誤りパターン係数の処理のみがおこなわれている時に実行される。 ステップS12では、レジスタ702の内容は、ロウ乗算器708の乗算定数x 86・6 modG(x)により乗算される。 ステップS10またはS12を実行した後、ステップS14では、ROWCOUNTの値は1だけインクリメントされる。 もし、ステップS16で判定されるときに、ROWCOUNTのインクリメントされた値が24に等しくないのなら、ステップ ステップS18では、新しいカラムへの進みを考慮して、カラム乗算器710は、レジスタ702の内容を、カラム調整定数x −(86・24−1)・8 modG(x)で乗算するはたらきをする。 ステップS18の後、ステップS20では、ROWCOUNTはゼロにリセットされ、COLCOUNTは1だけインクリメントされる。 ステップS22は、フラグLASTCOLがセットされているかどうかをチェックする。 もしフラグLASTCOLがセットされていないのなら、(ステップS24で)COLCOUNTの値が最後のカラムの数を超えた(例えば、COLCOUNTが86である)かどうかチェックされる。 もしブロックの最後のカラム(例えば、最後のコードワード)が超えられていないのなら、実行は、ステップS2に戻り、ブロックの新しいコードワードの最初のバイトについて継続する。 そうでなければ、フラグLASTCOLは、ステップS2に戻ってブロックの最後のコードワードに対する何らかの誤りパターンを処理する以前に、ステップS26でTRUEにセットされる。 ブロックの最後のコードワードに対する誤りパターン係数(がもしあれば、それ)がレジスタ702に加算された後、フラグLASTCOLを(ステップS22で)TRUEにセットすることによって、実行は、ステップS28にジャンプする。 ステップS28では、レジスタ702における値(つまり、値REGSUM)がゼロであるかどうかが判定される。 ループがすべて終了した後のレジスタ702における値は、 よって、レジスタ702にブロックの誤ったままになる可能性のある(つまり、訂正されていない)データバイトを加算することは、レジスタ702にブロックの位置的に同期のとられたバイトに対する誤りパターン係数(があれば、それ)を加算することと、時間的に合わせられていることがわかる。 図3Bのチェッカ70'、図4Aのチェッカ70″、図4Bのチェッカ70″'および図4Cのチェッカ70′の動作は、図7に伴う各ステップについて既に述べた議論を参照すれば理解される。 図4A、図4Bおよび図4Cでは、2つのコードワードが一度に操作される。 図7の実施形態では、図6の各ステップが、2つの構成要素であるチェッカ回路 よって、以上の説明から明らかなように、本発明によれば、CRC/EDCチェックは、データバイトの訂正が実行されるバッファを通る同一のパスの間におこなわれる。 以上に本発明を、その好ましい実施形態に言及しながら具体的に示し、説明してきたが、その形式および詳細については、本発明の精神および範囲から離れることなく、さまざまな改変がその中になされうることは、当業者には理解できるであろう。 例えば、望みとあれば、2 独占所有権、すなわち特権を請求する本発明の実施形態は、以下のように規定される。 フロントページの続き (73)特許権者 595158337 3100 West Warren Ave nue,Fremont,Califo rnia 94538,U. S. A. (56)参考文献 特開 昭63−255876(JP,A) 特開 昭63−257966(JP,A) (58)調査した分野(Int.Cl. 7 ,DB名) H03M 13/00 |