(57)【要約】【課題】  誤り検出を改善する。【解決手段】  本発明の１つの態様は、一連のデータ・ブロックを受け取り、その一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、予想巡回冗長符号（ＣＲＣ）を提供するように構成されたエンコーダを備える送信ノードを提供する。予想ＣＲＣは、少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である。また、本発明の１つの態様は、一連のデータ・ブロックを受け取り、その一連のデータ・ブロックのうちの少なくとも１つのブロックの予想巡回冗長符号（ＣＲＣ）を受け取り、少なくとも１つのデータ・ブロックに計算ＣＲＣを提供するように構成されたデコーダを備える受信ノードを提供する。【選択図】図４
2004173271.tif 000002
【特許請求の範囲】
【請求項１】
一連のデータ・ブロックを受け取り、前記一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である予想巡回冗長符号（ＣＲＣ）を提供するように構成されたエンコーダ（１６０／２０４）を
具備する送信ノード（１５２／２００）。
【請求項２】
前記エンコーダが、前記一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと複数の先行データ・ブロックの関数である予想ＣＲＣを提供し、
前記エンコーダが、前記一連のデータ・ブロックのうち少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと選択可能な数の先行データ・ブロックの関数である予想ＣＲＣを提供し、
前記エンコーダが、前記一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、先行データ・ブロックの関数でない予想ＣＲＣを提供する
請求項１に記載の送信ノード。
【請求項３】
前記一連のデータ・ブロックを受け取り、
前記少なくとも１つのデータ・ブロックを提供する第１のバッファ・レジスタ（２０８）と、
前記少なくとも１つのデータ・ブロックを受け取り、先行のブロックに提供する第２のバッファ・レジスタ（２１０）とを含むバッファ・モジュール（１５８／２０２）と
をさらに具備する請求項１に記載の送信ノード。
【請求項４】
前記エンコーダが、さらに、
前記少なくとも１つのデータ・ブロックを受け取り、前記少なくとも１つのデータ・ブロックに関数を実行して、それにより第１の暫定ＣＲＣを提供する第１のＣＲＣジェネレータ（２１２）と、
前記先行データ・ブロックを受け取り、前記先行データ・ブロックに関数を実行して、それにより第２の暫定ＣＲＣを提供する第２のＣＲＣジェネレータ（２１６）と、
前記第１と第２の暫定ＣＲＣを受け取り、前記第１と第２の暫定ＣＲＣに関数を実行して、それにより前記少なくとも１つのデータ・ブロックの前記予想ＣＲＣを提供する第３のＣＲＣジェネレータ（２１４）と
を具備する請求項１に記載の送信ノード。
【請求項５】
前記第１のＣＲＣジェネレータによって実行される前記関数が、前記少なくとも１つのデータ・ブロックを第１の多項式で割り、
前記第２のＣＲＣジェネレータによって実行される前記関数が、前記先行データ・ブロックを前記第１の多項式と異なる第２の多項式で割り、
前記第１のＣＲＣジェネレータによって実行される前記関数が、前記少なくとも１つのデータ・ブロックを第１の多項式で割り、
前記第２のＣＲＣジェネレータによって実行される前記関数が、前記先行データ・ブロックを前記第１の多項式で割り、
前記第３のＣＲＣジェネレータによって実行される前記関数が、前記第１と第２の暫定ＣＲＣの排他的論理和演算である
請求項４に記載の送信ノード。
【請求項６】
前記少なくとも１つのデータ・ブロックと、前記少なくとも１つのデータ・ブロックの前記予想ＣＲＣを受け取り、それにより前記少なくとも１つのデータ・ブロックと前記少なくとも１つのデータ・ブロックの前記予想ＣＲＣを含むフリット（ｆｌｉｔ）を提供する出力モジュール（２０６）
をさらに具備する請求項１に記載の送信ノード。
【請求項７】
一連のデータ・ブロックと前記一連のデータ・ブロックのうちの少なくとも１つのブロックの予想巡回冗長符号（ＣＲＣ）とを受け取り、前記少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である計算ＣＲＣを提供するように構成されたデコーダ（１６４／２５４）と、
前記計算ＣＲＣを前記少なくとも１つのデータ・ブロックの予想ＣＲＣと比較して、それにより前記少なくとも１つのデータ・ブロックまたは前記先行データ・ブロック内にデータの誤りがあるかどうかの指示を提供するように構成されたコンパレータ（１６６／２５６）と
を具備する受信ノード（１５４／２５０）。
【請求項８】
前記デコーダが、前記一連のデータ・ブロックのうちの前記少なくとも１つのブロックに、前記少なくとも１つのブロックと複数の先行データ・ブロックの関数である計算ＣＲＣを提供し、
前記デコーダが、前記一連のデータ・ブロックのうちの前記少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと選択可能な数の先行ブロックの関数である計算ＣＲＣを提供し、
前記デコーダが、前記一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、前記先行ブロックの関数ではない計算ＣＲＣを提供する
請求項７に記載の受信ノード。
【請求項９】
前記一連のデータ・ブロックと前記少なくとも１つのデータ・ブロックの前記予想ＣＲＣを受け取るステージング・モジュール（１６２／２５２）と、
前記少なくとも１つのデータ・ブロックを提供する第１のステージング・レジスタ（２５８）と、
前記少なくとも１つのデータ・ブロックを受け取り、前記先行データ・ブロックと前記少なくとも１つのデータ・ブロックの前記予想ＣＲＣを提供する第２のステージング・レジスタ（２６０）と
をさらに具備する請求項７に記載の受信ノード。
【請求項１０】
前記デコーダが、さらに、
前記少なくとも１つのデータ・ブロックを受け取り、前記少なくとも１つのデータ・ブロックに関数を実行して、それにより第１の暫定ＣＲＣを提供する第１のＣＲＣジェネレータ（２６２）と、
前記第１の暫定ＣＲＣを受け取り提供する第１のＣＲＣレジスタ（２６８）と、
前記先行データ・ブロックを受け取り、前記先行ブロックに関数を実行して、それにより第２の暫定ＣＲＣを提供する第２のＣＲＣジェネレータ（２６４）と、
前記第１と第２の暫定ＣＲＣを受け取り、前記第１と第２の暫定ＣＲＣに関数を実行して、それにより前記少なくとも１つのデータ・ブロックに前記計算ＣＲＣを提供する第３のＣＲＣジェネレータ（２６６）と
を具備する請求項７に記載の受信ノード。
【請求項１１】
前記第１のＣＲＣジェネレータによって実行される前記関数が、前記少なくとも１つのデータ・ブロックを第１の多項式で割り、
前記第２のＣＲＣジェネレータによって実行される前記関数が、前記先行データ・ブロックを前記第１の多項式と異なる第２の多項式で割り、
前記第１のＣＲＣジェネレータによって実行される前記関数が、前記少なくとも１つのデータ・ブロックを第１の多項式で割り、
前記第２のＣＲＣジェネレータによって実行される前記関数が、前記先行データ・ブロックを前記第１の多項式で割り、
前記第３のＣＲＣジェネレータによって実行される前記関数が、前記第１と第２の暫定ＣＲＣの排他的論理和演算である
請求項１０に記載の受信ノード。
【請求項１２】
ネットワーク接続（１５６）と、
前記ネットワーク接続に結合され、
一連のデータ・ブロックを受け取り、前記一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である予想巡回冗長符号（ＣＲＣ）を提供するように構成されたエンコーダ（１６０／２０４）
を含む送信ノード（１５２／２００）と、
前記ネットワーク接続に結合され、
前記送信ノードから、前記一連のデータ・ブロックと、前記一連のデータ・ブロックのうちの前記少なくとも１つのデータ・ブロックの前記予想ＣＲＣとを受け取り、前記少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと前記先行データ・ブロックの関数である計算ＣＲＣを提供するように構成されたデコーダ（１６４／２５４）
を含む受信ノード（１５４／２５０）と、
前記計算ＣＲＣを、前記少なくとも１つのデータ・ブロックの前記予想ＣＲＣと比較して、それにより前記少なくとも１つのデータ・ブロックまたは前記先行データ・ブロック内にデータの誤りがあるかどうかの指示を提供するように構成されたコンパレータ（１６６／２５６）と
を具備するネットワーク接続システム（１５０）。
【請求項１３】
前記エンコーダが、前記一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと複数の先行データ・ブロックの関数である予想ＣＲＣを提供し、
前記デコーダが、前記少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと前記複数の先行ブロックの関数である計算ＣＲＣを提供し、
前記エンコーダが、前記一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと選択可能な数の先行データ・ブロックの関数である予想ＣＲＣを提供し、
前記デコーダが、前記少なくとも１つのデータ・ブロックに、前記少なくとも１つのデータ・ブロックと前記選択可能な数の先行データ・ブロックの関数である計算ＣＲＣを提供し、
前記エンコーダが、前記一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、先行データ・ブロックの関数ではない予想ＣＲＣを提供し、
前記デコーダが、前記少なくとも１つのデータ・ブロックに、先行データ・ブロックの関数ではない計算ＣＲＣを提供する
請求項１２に記載のネットワーク接続システム。
【請求項１４】
データを通信する方法であって、
一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックの巡回冗長符号（ＣＲＣ）を生成する段階
を有し、
前記ＣＲＣが、前記少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である
方法。
【請求項１５】
前記ＣＲＣを生成する前記段階が、
前記ＣＲＣを、前記送信ノード（１５２／２００）において前記少なくとも１つのブロックの予想ＣＲＣとして生成する段階
をさらに有する
請求項１４に記載の方法。
【請求項１６】
前記送信ノードにおいて前記少なくとも１つのデータ・ブロックと前記少なくとも１つのデータ・ブロックの予想ＣＲＣを結合して、それにより前記少なくとも１つのデータ・ブロックと前記少なくとも１つのデータ・ブロックの前記予想ＣＲＣを含むフリットを提供する段階と、
受信ノード（１５４／２５０）において前記フリットを受け取る段階と、
前記受信ノードにおいて前記少なくとも１つのデータ・ブロックの計算ＣＲＣを生成する段階であって、前記計算ＣＲＣが、前記少なくとも１つのデータ・ブロックと前記先行データ・ブロックの関数である段階と、
前記受信ノードにおいて、前記少なくとも１つのデータ・ブロックに関して前記計算ＣＲＣを前記予想ＣＲＣと比較し、それにより前記少なくとも１つのデータ・ブロックまたは前記先行データ・ブロック内にデータの誤りがあるかどうかの指示を提供する段階と
を有する請求項１５に記載の方法。
【請求項１７】
前記ＣＲＣを生成する前記段階が、
前記受信ノード（１５４／２５０）において、前記ＣＲＣを、前記少なくとも１つのデータ・ブロックの計算ＣＲＣとして生成する段階と、
前記受信ノードにおいて、前記一連のデータ・ブロックと前記少なくとも１つのデータ・ブロックの予想ＣＲＣとを受け取る段階と、
前記受信ノードにおいて、前記計算ＣＲＣを、前記少なくとも１つのデータ・ブロックの前記予想ＣＲＣと比較して、それにより前記少なくとも１つのデータ・ブロックまたは前記先行データ・ブロック内にデータの誤りがあるかどうかの指示を提供する段階と
を有する請求項１４に記載のデータ・ブロック。
【請求項１８】
前記ＣＲＣが、前記少なくとも１つのデータ・ブロックと複数の先行データ・ブロックの関数であり、
前記ＣＲＣが、前記少なくとも１つのデータ・ブロックと選択可能な数の先行データ・ブロックの関数であり、前記一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックの第２のＣＲＣを生成し、
前記第２のＣＲＣが、先行データ・ブロックの関数ではない
請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データ通信システムに関連し、より詳細には、分散されたノード間でデータを送信し、送られたデータが誤りなく受け取られたかどうかを検出技術を使用して決定するネットワーク接続システムに関する。
【背景技術】
【０００２】
ネットワーク接続システムは、分散されたノード間で、なんらかの形のネットワーク接続によってデータを伝送する。
残念ながら、そのようなネットワーク接続は、多くの場合、ノイズが多く、送信されたデータに誤りが導入される。
これに応えて、これまで多くの誤り検出技術が開発されており、それらの技術はすべて、ネットワーク接続を介して送信されたデータの受け取り側が、データを誤りなく受け取ったかどうかを判定できるようにすることによって動作している。
【０００３】
ひとつの一般的な誤り検出技術において、送信ノードにおける送信器は、送信するデータからチェックサムと呼ばれる値を計算して、そのチェックサムを送信データの終わりに付加する。
次に、このデータは、関連付けられたチェックサムと共に、送信ノードから受信ノードの受信器に送られる。
次に、受信ノードの受信器は、受け取ったデータ・ブロックから、送信ノードが計算した仕方と同じようにチェックサムを計算する。
受信ノードによって計算されたチェックサムが、送信ノードによって送信データに付加されたチェックサムと一致すると、データ・ブロックが誤りなしに受け取られたことが分かる。
【０００４】
この一般的な誤り検出技術を採用している１つの従来の誤り検出の応用例は、巡回冗長符号（ＣＲＣ）機構の使用を伴う。
ＣＲＣ誤り検出機構において、送られるデータは、生成多項式と呼ばれる別の２進数で割った大きな２進数と見なされる。
この割った余りは、送信前にデータに付加されるＣＲＣチェックサムであり、一般に単にＣＲＣと呼ばれる。
生成多項式の次数は、送信されるデータに付加されるＣＲＣのビットの数と等しい。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＣＲＣ誤り検出機構によって実現される誤り検出能力の高さは、ＣＲＣ機構によって利用される生成多項式の次数に比例する。
生成多項式の次数が高いほど、誤り検出能力が高くなる。
したがって、ＣＲＣ機構の誤り検出能力を高めるために用いられる１つの手法は、生成多項式の次数を高めることである。
しかしながら、生成多項式の次数を高めると、ＣＲＣに割り当てられるビットの数も増え、それによりネットワーク接続に使用できる有効帯域幅が小さくなり、ノード間でデータを送信するために必要な時間が増える。
さらに、ネットワーク接続システムによっては、コスト、電気的制約、より高い帯域幅ネットワーク接続へのアクセス制限など、様々な理由のために、ネットワーク接続の帯域幅を大きくするの難しい場合がある。
誤り検出の改善が望ましいきわめて重要なデータを送るとき、ＣＲＣ誤り検出技術を利用するシステムは、有効な使用可能帯域幅を犠牲にして誤り検出能力を改善するか、潜在的に不完全な誤り検出を犠牲にして有効な使用可能帯域幅を維持するかの設計選択に直面する。
【０００６】
特に帯域幅の制約を有する多くのシステムは、ＣＲＣチェックサムに割り当てられるビットの数を増やしたりネットワーク接続帯域幅を広くしたりせずに改善された誤り検出を提供するＣＲＣ誤り検出システムから利益を得ることになる。
【課題を解決するための手段】
【０００７】
本発明の１つの態様は、データを通信する方法を提供する。
この方法は、一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックの巡回冗長符号（ＣＲＣ）を生成する段階を有する。
ＣＲＣは、少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である。
【０００８】
本発明の１つの態様は、一連のデータ・ブロックを受け取り、その一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、予想巡回冗長符号（ＣＲＣ）を提供するように構成されたエンコーダを備える送信ノードを提供する。
予想ＣＲＣは、少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である。
【０００９】
本発明の１つの態様は、一連のデータ・ブロックを受け取り、その一連のデータ・ブロックのうちの少なくとも１つのブロックの予想巡回冗長符号（ＣＲＣ）を受け取り、少なくとも１つのデータ・ブロックに計算ＣＲＣを提供するように構成されたデコーダを備える受信ノードを提供する。
計算ＣＲＣは、少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である。
受信ノードは、また、少なくとも１つのデータ・ブロックの計算ＣＲＣを予想ＣＲＣと比較し、それにより少なくとも１つのデータ・ブロックまたは先行データ・ブロック内にデータの誤りがあるかどうの指示を提供するように構成されたコンパレータを備える。
【００１０】
本発明の１つの態様は、ネットワーク接続と、ネットワーク接続に結合された送信ノードと、ネットワーク接続に結合された受信ノードとを含むネットワーク接続システムを提供する。
送信ノードは、一連のデータ・ブロックを受け取り、その一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である予想巡回冗長符号（ＣＲＣ）を提供するように構成されたエンコーダを備える。
受信ノードは、送信ノードから、一連のデータ・ブロックと、その一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックの予想ＣＲＣとを受け取り、少なくとも１つのデータ・ブロックに、少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である計算ＣＲＣを提供するように構成されたデコーダを備える。
受信側は、また、少なくとも１つのデータ・ブロックの計算ＣＲＣを予想ＣＲＣと比較して、それにより少なくとも１つのデータ・ブロックまたは先行データ・ブロック内にデータの誤りがあるかどうかの指示を提供するように構成されたコンパレータを備える。
【発明の効果】
【００１１】
本発明によれば、分散されたノード間でデータを送信し、送られたデータが誤りなく受け取られたかどうかを検出技術を使用して決定するネットワーク接続システムが得られる。
【発明を実施するための最良の形態】
【００１２】
好ましい実施形態の以下の詳細な説明において、本明細書の一部分を構成する添付図面を参照し、この図面において、本発明を実施することができる実施例に固有の図によって示されている。
本発明の範囲から逸脱することなく他の実施形態を利用することができまた構造的または論理的変更を行うことができることを理解されたい。
したがって、以下の詳細な説明は、限定の意味に解釈されるべきでなく、本発明の範囲は、併記の特許請求の範囲によって定義される。
【００１３】
図１に、ネットワーク接続システムを、全体を３０で、ブロック図の形で示す。
ネットワーク接続システム３０は、３２で示したノードＡと、３４で示したノードＢとを含む。
ネットワーク接続システム３０は、ネットワーク接続３６を介して、３２で示したノードＡと３４で示したノードＢの間でデータを通信する暗黙的な能力を有する。
しかしながら、ネットワーク接続は、しばしばノイズが多く、送信データを破損させる可能性がある誤りを導入することがある。
その結果、ネットワーク接続を介して送られたデータを受け取るノードが、データを誤りなく受け取ったかどうかを判定できるように、様々な誤り検出機構が開発されてきた。
【００１４】
本明細書の従来技術の節で考察したように、一般にネットワーク接続システムによって採用されているそのような１つの従来の誤り検出機構は、巡回冗長符号（ＣＲＣ）誤り検出機構である。
ＣＲＣ誤り検出機構において、送信されるデータは、大きな２進数として見なされる。
データを送信するノードは、データで構成された大きな２進数を、生成多項式と呼ばれる別の２進数で割る。
このわり算の余りは、ＣＲＣチェックサムと呼ばれ、一般には単にＣＲＣと呼ばれる。
次に、送信ノードは、このデータにＣＲＣを付加して、そのデータと付加したＣＲＣをネットワーク接続を介して受信ノードに送る。
受信ノードは、送信されたデータとＣＲＣを受け取ると、送信ノードと同じ生成多項式を使って、受け取ったデータからＣＲＣを計算する。
受信ノードによって受信データから計算されたＣＲＣが、送信ノードによって送られたＣＲＣと一致すると、送信されたデータが誤りなしに受け取られたことが分かる。
【００１５】
図２Ａは、ネットワーク接続システム３０の３２で示したノードＡと３４で示したノードＢの間のようなネットワーク・システム・ノード間でデータを物理的に送信するための例のメッセージ構成４０の説明図である。
データは、一般に、メッセージ構成４０によって表したようなメッセージの形で、ノード間で通信される。
本明細書において、メッセージは、応用例によって定義されたノード間のデータ交換の単位であるように定義される。
メッセージは、一般に、パケット４２や４４のような、ノード間でメッセージを物理的に送るためのパケットで編成される。
本明細書において、パケットは、ヘッダ４６および４８やトレーラ５０および５２のようなネットワーク・プロトコルのヘッダおよび／またはトレーラに間のカプセル化されたデータ単位であるように定義される。
各パケットは、さらに、本明細書でフリット（ｆｌｉｔ）と呼ばれ、フリット５４、５６、５８および６０によって示したようなデータ単位を含む。
最後に、各フリットは、６２、６４、６６および６８で示したようなデータ・ブロックと、７０、７２、７４および７６で示したようなＣＲＣとを含む。
【００１６】
図２Ｂは、図１のネットワーク接続システム３０の例のフリット構成８０の説明図である。
図２Ｂの例示的な構成において、ネットワーク接続システム３０のフリット８０はそれぞれ、１３２ビットのデータ・ブロックと１２ビットのＣＲＣを含み、３２で示したノードＡと３４で示したノードＢは、ネットワーク接続３６を介して１６ビット／１サイクルのデータを送ることができる。
しかしながら、後で説明する本発明は、任意の適切なフリット構成、データ・ブロック・サイズ、ＣＲＣサイズ、およびデータ転送レートに適用することができる。
図２Ｂの例示において、３２で示したノードＡが、３４で示したノードＢにフリット８０を送るためには、９つのサイクルが必要である。
したがって、例えばフリット８０の場合、サイクル０で、８２で示したデータ・ビット０〜１５が送られ、サイクル１で、８４で示したデータ・ビット１６〜３１が送られ、サイクル２で、８６で示したデータ・ビット３２〜４７が送られ、サイクル３で、８８で示したデータ・ビット４８〜６３が送られ、サイクル４で、９０で示したデータ・ビット６４〜７９が送られ、サイクル５で、９２で示したデータ・ビット８０〜９５が送られ、サイクル６で、９４で示したデータ・ビット９６〜１１１が送られ、サイクル７で、９６で示したデータ・ビット１１２〜１２７が送られ、サイクル８で、９８で示したデータ・ビット１２８〜１３１とＣＲＣビット０〜１１が送られる。
【００１７】
ＣＲＣ誤り検出機構の生成多項式は、モジューロ原始多項式（ｍｏｄｕｌｅ  ｐｒｉｍｉｔｉｖｅ  ｐｏｌｙｎｏｍｉａｌ）であり、ここで、モジューロ原始多項式の次数は、ＣＲＣに割り当てられるビット数と同じである。
したがって、例えばフリット図２Ｂのフリット８０の場合、生成多項式は、次数１２のモジューロ原始多項式になる。
従来のＣＲＣ機構によって提供される誤り検出能力の高さは、生成多項式の次数に比例する。
したがって、利用されるＣＲＣビットが多いほど、生成多項式の次数が高くなり、その結果誤り検出能力が高くなる。
一般に、ランダム・マルチビット・エラーが検出されない確率は、次の式Ｉで表すことができる。
【００１８】
［式Ｉ］
マルチビット・エラーが検出されない検出＝２(-n)
ここで、ｎは、１フリットに割り当てられたＣＲＣビットの数
【００１９】
ネットワーク接続システム３０に関して、上の式を図２Ｂの例示的なフリット構成８０に適用するとき、ネットワーク接続３６を介して３２で示したノードＡから３４で示したノードＢにフリット８０を送るときにランダム・マルチビット・エラーが検出されない確率は、１／４０９６である。
このマルチビット・エラーが検出されない確率が、許容可能な誤り検出レベルかどうかは、誤り率と目標サイレント破損率（ｔａｒｇｅｔｅｄ  ｓｉｌｅｎｔ  ｃｏｒｒｕｐｔｉｏｎ  ｒａｔｅ）に依存する。
【００２０】
サイレント・データ汚染の確率が許容可能なレベルよりも高いときに誤り検出を改善するために、これまで従来の２つの手法を使って誤り検出能力を改善していた。
第１の従来の手法は、ＣＲＣ生成多項式に使用されるモジューロ原始多項式の次数を高めることである。
例えば、ネットワーク接続システム３０に例のフリット構成８０を使用するとき、生成多項式を次数１２から次数１６に高めることにより、マルチビット・エラーが検出されない確率は、１／４０９６から１／６５，５３６に改善される。
しかしながら、生成多項式の次数を高める結果、ＣＲＣに割り当てられるビット数も増える。
結果として、例のフリット８０によって転送することができるデータ・ビットの数が減少し、結局、ネットワーク接続３６の有効帯域幅が小さくなり、３２で示したノードＡが３４で示したノードＢに所定量のデータを送るのに必要な時間が長くなる。
【００２１】
第２の従来の手法は、フリット・レベルＣＲＣに加えてパケット・レベルＣＲＣを利用することである。
この手法では、パケット内のフリットのデータ・ブロックを結合して大きな２進数にし、この２進数を第２の生成多項式で割ってパケット・レベルＣＲＣを生成する。
この第２の従来の手法は、帯域幅の減少がごくわずかな改善された誤り検出能力を実現するが、送信中にパケットが破損されたかどうかを判定する前にパケットを構成するすべてのデータ・ブロックを受け取るのを待たなければならないため、システムに待ち時間が生じるという欠点がある。
【００２２】
以下で説明する本発明のローリングＣＲＣ誤り検出機構は、送信ノードと受信ノード間の有効帯域幅の減少がなくかつパケットを構成するデータ・ブロックを使用するべきかどうか判定する前にパケットのすべてのデータ・ブロックを待たなければならないことに関連した待ち時間のない改善された誤り検出能力を実現することができる。
１つの実施形態において、以下に説明する本発明のローリングＣＲＣ誤り検出機構は、少なくとも１つの送信フリット内の少なくとも１つのデータ・ブロックのＣＲＣを、対応するフリットの少なくとも１つのデータ・ブロックの誤り検査だけでなく、ネットワーク接続による送信において少なくとも１つのデータ・ブロックに先行する１つまたは複数のフリットのデータ・ブロックの誤り検出にも使用されることによって、改善された誤り検出能力を実現する。
所定のフリットのＣＲＣが誤り検査に使用される先行フリットの数は、本明細書において、深さとして定義される。
例えば、ネットワーク接続を介した送信において所定のフリットに先行する２つのフリットの誤り検査に使用される所定のフリットのＣＲＣは、深さ２を有し、一方、１つの先行フリットの誤り検査に使用される所定のフリットのＣＲＣは、深さ１を有する。
１つの実施形態において、この深さは、ユーザおよび／または用途によって選択することができる。
【００２３】
所定のデータ・ブロックｂのＣＲＣに先行データ・ブロックｂ−１〜ｂ−ｘが影響を及ぼすことによって、本発明によるローリングＣＲＣ機構は、そのようなデータ・ブロックのうちの１つにデータ誤りがあったことを示す。したがって、ランダム・マルチビット・エラーが検出されない確率は低下し、次の式ＩＩで表わすことができる。
【００２４】
［式II］
マルチビット・エラーが検出されない確率＝２(-n(x+1))
ここで、
ｎ＝１フリットに割り当てられたＣＲＣビットの数
ｘ＝ＣＲＣ深さ（すなわち、先行データ・ブロックの数）
である。
【００２５】
データ・ブロックｂで誤りが検出されると、これは、データ・ブロックｂからｂ−ｘにデータ破損の可能性があることを示す。
１つの例の実施形態において、その範囲のデータ破損の可能性あるすべてのデータ・ブロックは廃棄される。
【００２６】
しかしながら、このことは、送信データを受け取ったノードが、ＣＲＣが依存するすべての後続データ・ブロックを受け取るまで、既に受け取っているデータ・ブロックを処理し始めるのを待たなければならないということを意味しない。
集積回路内に実施されるような代表的なルーティング回路は、処理および転送ロジックによって生じる固有の待ち時間を有し、この待ち時間は、特にＣＲＣの深さが最大でないときに、ＣＲＣが依拠する既に受け取ったデータ・ブロックの後続のデータ・ブロックを受け取るのを待つ際にローリングＣＲＣ誤り検出機構によって生じる待ち時間よりも大きいことがある。
したがって、受信ノードによって既に処理されているＣＲＣが依拠するデータ・ブロックの後続のデータ・ブロックをすべて受け取った後で誤りが検出された場合は、受信ノードがそれらのデータ・ブロックに依拠する前にその範囲内のすべてのデータ・ブロックを破棄しパイプラインからフラッシュすることができる。
【００２７】
図３に、深さ１を有するローリングＣＲＣを生成するための本発明によるローリングＣＲＣ誤り検出機構の例示的な実施形態を全体を１１０でブロック図で示す。
この例示的な実施形態において、例のパケット１２０は、１１２で示した一連のデータ・ブロック０、１１４で示したデータ・ブロック１、１１６で示したデータ・ブロックｂ−ｉ、１１８で示したデータ・ブロックｂを含む。
１１４で示したデータ・ブロック１に対応する１２２で示したＣＲＣ１は、後述のように計算される。
１１４で示した１３２ビットのデータ・ブロック１は、リンク１２６を介して第１のＣＲＣジェネレータ１２４によって受け取られる。
ＣＲＣジェネレータ１２４は、データ・ブロック１を第１の生成多項式ｇ（ｘ）で割って１２ビットの第１の暫定ＣＲＣを生成する。
１１２で示した１３２ビットのデータ・ブロック０は、リンク１３０を介して第２のＣＲＣジェネレータ１２８によって受け取られる。
ＣＲＣジェネレータ１２８は、データ・ブロック０を第２の生成多項式ｐ（ｘ）で割って１２ビットの第２の暫定ＣＲＣを生成する。
最後のＣＲＣジェネレータ１３２は、リンク１３４を介して第１の暫定ＣＲＣとリンク１３６を介して第２の暫定ＣＲＣを受け取り、第１と第２の暫定ＣＲＣを結合する機能を実行する。
図３に示した例の実施形態において、最後のＣＲＣジェネレータ１３２は、第１と第２の暫定ＣＲＣにＸＯＲ関数１３８を実行して、それにより、１１４で示したデータ・ブロック１に、１２２で示した１２ビットＣＲＣ１を提供する。
これと共に、１１４で示したデータ・ブロック１と１２２で示したＣＲＣ１が、図２Ｂの例のフリット８０と類似のフリット１を構成する。
パケット１２０の他のデータ・ブロックのＣＲＣは、１２２で示したＣＲＣ１に関する前の説明と類似の方法で生成される。
さらに、パケット境界を横切る他のデータ・ブロックに関して、前の説明と類似の方法でＣＲＣを計算することができる。
【００２８】
図４は、本発明によるネットワーク接続システム１５０の１つの実施形態のブロック図である。
ネットワーク接続システム１５０は、送信ノード１５２、受信ノード１５４、およびネットワーク接続１５６を含む。
送信ノード１５２は、バッファ・モジュール１５８とエンコーダ１６０を含む。
受信ノード１５４は、ステージング・モジュール１６２、デコーダ１６４、およびコンパレータ１６６を含む。
ネットワーク接続１５６は、ローカル・エリア・ネットワーク（ＬＡＮ）接続、バス接続、電話線／モデム接続、直接ワイヤレス接続、インターネット接続、および／またはイントラネット接続を含むがこれらに限定されない任意の適切なタイプの接続を含むことができる。
【００２９】
バッファ・モジュール１５８は、一連のデータ・ブロックを受け取り、それをリンク１６８を介してエンコーダ１６０に所望の順序で提供する。
エンコーダ１６０は、一連のデータ・ブロックを受け取り、その一連のデータ・ブロックのうちの少なくとも１つのデータ・ブロックに、その少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である予想ＣＲＣを提供する。
次に、送信ノード１５２は、ネットワーク接続１５６を介して、一連のデータ・ブロックを、少なくとも１つのデータ・ブロックの予想ＣＲＣと共に受信ノード１５４に提供する。
【００３０】
ステージング・モジュール１６２は、ネットワーク接続１５６を介して一連のデータ・ブロックとうちの少なくとも１つのデータ・ブロックの予想ＣＲＣを受け取り、リンク１７０を介してその一連のデータ・ブロックをデコーダ１６４に適切な順序で提供し、リンク１７２を介して少なくとも１つのデータ・ブロックのＣＲＣをコンパレータ１６６に提供する。
また、ステージング・モジュール１６２は、出力１７４で一連のデータ・ブロックを、バッファあるいはコミットすることなくデータを処理し始めることができるプロセスに提供する。
デコーダ１６４は、リンク１７６を介してコンパレータ１６６に、少なくとも１つのデータ・ブロックと先行データ・ブロックの関数である少なくとも１つのデータ・ブロックの計算ＣＲＣを提供する。
コンパレータ１６６は、計算ＣＲＣを予想ＣＲＣと比較し、少なくとも１つのデータ・ブロック内または先行データ・ブロック内にデータ誤りがあるかの指示を出力１７８に提供する。
１つの実施形態において、予想ＣＲＣと計算ＣＲＣが一致した場合、出力１７８は、データ・ブロックが誤りなく受け取られ、プロセスがデータにコミットできることを示す。
１つの実施形態において、予想ＣＲＣと計算ＣＲＣが一致しない場合、出力１７８は、少なくとも１つのデータ・ブロック、先行データ・ブロックまたはこれらの両方にデータ・エラーがあり、バッファまたはプロセスがデータを廃棄することができることを示す。
【００３１】
図５は、本発明による深さ１のローリングＣＲＣ誤り検出機構を有する送信ノード２００の１つの実施形態のブロック図である。
送信ノード２００は、バッファ・モジュール２０２、エンコーダ２０４、および出力モジュール２０６を含む。
バッファ・モジュール２０２は、第１のバッファ・レジスタ２０８と第２のバッファ・レジスタ２１０を含む。
エンコーダ２０４は、第１のＣＲＣジェネレータ２１２、第２のＣＲＣジェネレータ２１４、および第３のＣＲＣジェネレータ２１６を含む。
出力モジュール２０６は、出力レジスタ２１８を含む。
【００３２】
第１のバッファ・レジスタ２０８は、入力２２０を介して一連のデータ・ブロックを受け取る。
その結果、第２のバッファ・レジスタ２１０は、リンク２２２を介して第１のバッファ・レジスタ２０８から遅延した一連のデータ・ブロックを受け取る。
第１のバッファ・レジスタ２２０は、現在受け取ってあるデータ・ブロックを含み、第２のバッファ・レジスタ２１０は、一連のデータ・ブロックの先行データ・ブロックを含む。
【００３３】
第１のＣＲＣジェネレータ２１２は、リンク２２４を介して第２のバッファ・レジスタ２１０から先行データ・ブロックを受け取り、リンク２２６を介して第３のＣＲＣジェネレータ２１４に、先行データ・ブロックの関数である第１の暫定ＣＲＣを提供する。
第２のＣＲＣジェネレータ２１６は、リンク２２８を介して第１のバッファ・レジスタから現行データ・ブロックを受け取り、リンク２３０を介して第３のＣＲＣジェネレータ２１４に現行データ・ブロックの関数である第２の暫定ＣＲＣを提供する。
第３のＣＲＣジェネレータ２１４は、第１と第２の暫定ＣＲＣに関数を実行し、現行データ・ブロックにＣＲＣを提供する。
【００３４】
出力レジスタ２１８は、リンク２３２を介して第１のバッファ・レジスタ２０８から現行データ・ブロックを受け取り、リンク２３４を介して第３のＣＲＣジェネレータ２１４から現行データ・ブロックのＣＲＣを受け取り、それによりネットワーク接続２３６を介した送信のために、現行データ・ブロックと現行データ・ブロックのＣＲＣを含むフリットを提供する。
送信ノード２００内に深さゼロのＣＲＣが構成されると、第２のバッファ・レジスタ２１０は、ゼロにリセットされ、第３のＣＲＣジェネレータ２１４は、現行データ・ブロックだけの関数である現行データ・ブロックのＣＲＣを提供する。
【００３５】
１つの実施形態において、送信ノード２００内の回路は、所望のＣＲＣ深さに事前設定される。
１つの実施形態において、送信ノード２００にアクセスするユーザあるいは送信ノード２００上で実行されるアプリケーションまたはプロセスが、所望のＣＲＣ深さを選択する。
【００３６】
１つの実施形態において、第１のＣＲＣジェネレータ２１２の機能は、先行データ・ブロックを第１の原始多項式で割ることである。
１つの実施形態において、第２のＣＲＣジェネレータ２１６の機能は、現行データ・ブロックを、第１の原始多項式と異なる第２の原始多項式で割ることである。
１つの実施形態において、第３のＣＲＣジェネレータ２１４の機能は、第１のＣＲＣジェネレータ２１２と第２のＣＲＣジェネレータ２１６からそれぞれ受け取った第１と第２の暫定ＣＲＣのＸＯＲ（排他的論理和）を求めることである。
【００３７】
図６は、本発明による深さ１のローリングＣＲＣ誤り検出機構を有する受信ノード２５０の１つの実施形態のブロック図である。
受信ノード２５０は、ステージング・モジュール２５２、デコーダ２５４、およびコンパレータ・モジュール２５６を含む。
ステージング・モジュール２５２は、第１のステージング・レジスタ２５８と第２のステージング・レジスタ２６０を含む。
デコーダ２５４は、第１のＣＲＣジェネレータ２６２、第２のＣＲＣジェネレータ２６４、第３のＣＲＣジェネレータ２６６、および第１のＣＲＣレジスタ２６８を含む。
コンパレータ・モジュール２５６は、第１のコンパレータ２７２と第２のコンパレータ２７４を含む。
【００３８】
第１のステージング・レジスタ２５８は、ネットワーク接続２７６を介して、それぞれデータ・ブロックと予想ＣＲＣを含む一連のフリットを受け取る。
第１のステージング・レジスタ２５８は、一連のフリットを次々と受け取ると、リンク２７８を介して第２のステージング・レジスタ２６０に先行フリットを転送する。
その結果、第１のステージング・レジスタ２５８は、現行フリットを含み、第２のステージング・レジスタ２６０は、先行フリットを含むことになる。
第１のステージング・レジスタ２５８が、一連のフリットのうちの次のフリットを受け取ると、第１のステージング・レジスタは、リンク２７８を介して第２のステージング・レジスタ２６０に現行フリットを送り、リンク２８０を介して第１のＣＲＣジェネレータ２６２に現行フリットのデータ・ブロックを送り、リンク２８２を介して第１のコンパレータ２７２に現行フリットの予想ＣＲＣを送る。
第２のステージング・レジスタ２６０が、第１のステージング・レジスタ２５８から現行フリットを受け取ると、第２のステージング・レジスタ２６０は、先行フリットのデータ・ブロックを、リンク２８４を介して第２のＣＲＣジェネレータ２６４に送り、リンク２８６を介して宛先バッファまたは宛先プロセスに送り、リンク２８８を介して第２のコンパレータ２７４に先行フリットの予想ＣＲＣを送る。
【００３９】
第１のＣＲＣジェネレータ２６２は、現行フリットのデータ・ブロックに機能を実行し、第１の暫定ＣＲＣを、リンク２９０を介して第１のＣＲＣレジスタ２６８に提供し、リンク２９２を介して第１のコンパレータ２７２に提供する。
第２のＣＲＣジェネレータ２６４は、先行フリットのデータ・ブロックに機能を実行し、リンク２９４を介して第３のＣＲＣジェネレータ２６６に第２の暫定ＣＲＣを提供する。
第３のＣＲＣジェネレータ２６６は、リンク２９６を介して第１のＣＲＣレジスタ２６８から第１の暫定ＣＲＣを受け取る。
第３のＣＲＣジェネレータ２６６は、第１と第２の暫定ＣＲＣに機能を実行し、リンク３００を介して第２のコンパレータ２７４に現行フリットデータ・ブロックの計算ＣＲＣを提供する。
第２のコンパレータ２７４は、現行フリットの予想ＣＲＣを計算ＣＲＣと比較し、出力３０２を介して宛先バッファまたは宛先プロセスに誤りの指示を提供する。
１つの実施形態において、予想ＣＲＣが、現行フリットの計算ＣＲＣと一致した場合、出力３０２は、現行フリットが誤りなく受け取られ、宛先プロセスが現行フリットのデータ・ブロックにコミットできることを示す。
１つの実施形態において、予想ＣＲＣが、現行フリットの計算ＣＲＣと一致しない場合、出力３０２は、現行フリットと先行フリットのデータ・ブロックが、宛先バッファまたは宛先プロセスによって破棄され、そのフリットが再送信されることを示す。
【００４０】
図６は、深さ１のローリングＣＲＣ誤り検出機構を示す。
しかしながら、深さｘの任意の所定のローリングＣＲＣ誤り検出機構を構成し、後の段をディスエーブルすることによって小さい任意の深さ（すなわち、ｘ−１、ｘ−２、．．．、０）を利用するようにすることができる。
これにより、深さが小さいほど待ち時間が少なくなるが信頼性も低下する同一回路による待ち時間と信頼性のトレードオフの融通性が提供される。
【００４１】
例えば、受信ノード２５０の１つの実施形態は、第２段の回路をディスエーブルすることによって深さ０のローリングＣＲＣを利用するように構成される。
この深さゼロの構成において、第１のステージング・レジスタ２５８は、一連のフリットの次のフリットを受け取ると、第２のステージング・レジスタ２６０をバイパスして、リンク３０４を介して宛先バッファまたは宛先プロセスに直接現行フリットのデータ・ブロックを提供する。
この深さゼロの構成において、第１のコンパレータ２７２は、計算ＣＲＣを現行フリットの予想ＣＲＣと比較し、出力３０６によって宛先バッファまたは宛先プロセスに誤り指示を提供する。
この深さゼロの構成の１つの実施形態において、予想ＣＲＣが現行フリットの計算ＣＲＣと一致した場合、出力３０６は、現行フリットが誤りなしに受け取られたことと、宛先プロセスが現行フリットのデータ・ブロックにコミットできることを示す。
この深さゼロの構成の１つの実施形態において、予想ＣＲＣが現行フリットの計算ＣＲＣと一致しない場合、出力３０６は、現行フリットが宛先バッファまたは宛先プロセスによって破棄され、現行フリットが再送信されるべきであることを示す。
【００４２】
１つの実施形態において、受信ノード２５０内の回路は、所望のＣＲＣ深さに事前設定される。
１つの実施形態において、受信ノード２５０にアクセスするユーザまたは受信ノード２５０上で実行されるアプリケーションまたはプロセスは、所望のＣＲＣ深さを選択する。
【００４３】
１つの実施形態において、第１のＣＲＣジェネレータ２６２の機能は、第１の先行データ・ブロックを第１の原始多項式で割ることである。
１つの実施形態において、第２のＣＲＣジェネレータ２６４の機能は、現行データ・ブロックを、第１の原始多項式と異なる第２の原始多項式で割ることである。
１つの実施形態において、第３のＣＲＣジェネレータ２６６の機能は、第１のＣＲＣジェネレータ２６２と第２のＣＲＣジェネレータ２６４からそれぞれ受け取った第１と第２の暫定ＣＲＣのＸＯＲを求めることである。
【００４４】
以上説明した実施形態において、第１の原始多項式と第２の原始多項式は異なる。
１つの実施形態において、第１の原始多項式と第２の原始多項式は、同一の原始多項式であるが、この単純化は、ランダム・マルチビット・エラーが検出されない可能性を高め、その結果、ランダム・マルチビット・エラーが検出されない確率を表す前述の式ＩＩが真でなくなる。
しかしながら、第１の原始多項式が第２の原始多項式と同じ本発明の代替の実施形態は、原始多項式に入力される所定のデータ・ブロックのビットの相対的な重みを変化させて、１つの原始多項式で２つの暫定ＣＲＣを計算する。
【００４５】
１つの代替の実施形態において、原始多項式へのデータ・ブロックのビットの相対的な重みは、ＣＲＣジェネレータ原始多項式関数内のビット位置をシフトすることによって変更される。
この代替の実施形態では、データを１ビット右にシフトしないようにすることが好ましく、それは、モジュールの動作による循環シフトによってＣＲＣが形成される結果、この１ビット・シフトにより、過去のＣＲＣと大きな相関関係が生じるためである。
この代替の実施形態におけるシフトの１つの単純な解決策は、環状にｘビット左にシフトすることであり、ここで、ｘは２以上である。
【００４６】
もう１つの代替の実施形態において、第２の暫定ＣＲＣを計算するために、第１の暫定ＣＲＣを計算するために使用されるデータ・ブロックのビットが反転される。
【００４７】
もう１つの代替の実施形態において、第２の暫定ＣＲＣを計算するために、第１の暫定ＣＲＣを計算するためのビットがシャッフルされる（例えば、ビット０をビット１とシャッフルし、ビット２をビット３とシャッフルし、以下同じようにシャッフルするか、ビット０をビットｎとシャッフルし、ビット１をビットｎ−１とシャッフルし、以下同じようにシャッフルするか、ビット０〜７をビットｎ〜ｎ−７とシャッフルし、ビット８〜１５をビットｎ−８〜ｎ−１５とシャッフルし、以下同じようにシャッフルする）。
この実施形態において、有効成分として第１の原始多項式を含まない新しい原始多項式を生成する任意の適切なビット・シャッフルを使用することができる。
【００４８】
複合的な実施形態において、第１と第２の暫定ＣＲＣを計算するために様々な原始多項式が使用され、暫定ＣＲＣを計算するために使用されるデータ・ブロックの入力ビットの相対的な重みは、ビットをシフトまたはシャッフルすることによって変更される。
【００４９】
以上説明した本発明のローリングＣＲＣ誤り検出機構の１つの実施形態は、対応する送信フリット内の所定のデータ・ブロック（例えば、ブロックｂ）のＣＲＣを、対応するフリット内の所定のデータ・ブロックの誤り検査としてだけでなく、ネットワーク接続を介した送信の際に所定のデータ・ブロックに先行する１つまたは複数のフリットのデータ・ブロック（例えば、ブロックｂ−１からｂ−ｘ）に使用することによって誤り検出能力を改善したネットワーク接続システムを提供する。
そうすることにより、本発明のローリングＣＲＣ誤り検出機構のこの実施形態は、送信ノードと受信ノード間の有効帯域幅の減少がなくかつパケットを構成するデータ・ブロックを使用すべきかどうかを判定する前にパケットのすべてのデータ・ブロックを待たなければならないことに関連した待ち時間がない改善された誤り検出能力を提供することができる。
【００５０】
本明細書において、好ましい実施形態を説明するために、特定の実施形態を示し説明したが、当業者は、示し説明した特定の実施形態に、本発明の範囲を逸脱することなく、同じ目的を達成するように設計された種々様々な代替および／または等価な実施形態を代用できることを理解されよう。
化学、機械、電気機械、電気およびコンピュータ技術の熟練者は、本発明を種々様々な実施形態で実施できることを容易に理解されよう。
本出願は、本明細書において検討した好ましい実施形態の任意の改造または変形を含むように意図されている。
したがって、本発明は、特許請求の範囲およびその等価物によってのみ限定されるように意図されていることは明確である。
【産業上の利用可能性】
【００５１】
本発明は、ＣＲＣを用いたデータの誤り検出に利用可能である。
【図面の簡単な説明】
【００５２】
【図１】ネットワーク接続システムのブロック図である。
【図２Ａ】図２Ａは、ネットワーク接続システムにおいてデータ・メッセージを物理的に送信するパケット化メッセージ構成の例の説明図である。
【図２Ｂ】図２Ｂは、フリット構成の例の説明図である。
【図３】本発明によるローリングＣＲＣ誤り検出機構の１つの実施形態を示すブロック図である。
【図４】本発明によるネットワーク接続システムの１つの実施形態のブロック図である。
【図５】本発明による送信ノードの１つの実施形態のブロック図である。
【図６】本発明による受信ノードの１つの実施形態のブロック図である。
【符号の説明】
【００５３】
１５２，２００・・・送信ノード、
１５４，２５０・・・受信ノード、
１５８，２０２・・・バッファ・モジュール、
１６０，２０４・・・エンコーダ、
１６２，２５２・・・ステージング・モジュール、
１６４，２５４・・・デコーダ、
１６６，２５６・・・コンパレータ、
２０６・・・出力モジュール、
２０８・・・第１のバッファ・レジスタ、
２１０・・・第２のバッファ・レジスタ、
２１２・・・第１のＣＲＣジェネレータ、
２１４・・・第３のＣＲＣジェネレータ、
２１６・・・第２のＣＲＣジェネレータ、
２５８・・・第１のステージング・レジスタ、
２６０・・・第２のステージング・レジスタ、
【図１】
2004173271.tif 000003
【図２Ａ】
2004173271.tif 000004
【図２Ｂ】
2004173271.tif 000005
【図３】
2004173271.tif 000006
【図４】
2004173271.tif 000007
【図５】
2004173271.tif 000008
【図６】
2004173271.tif 000009