(57)【要約】【課題】  専用化されたビットを必要としない誤り検出システムを提供する。【解決手段】  この方法は、一連のデータ群の少なくとも１つのデータ群の予期された巡回冗長符号（ＣＲＣ）を生成することを含む。各データ群は、データブロックと、少なくとも１つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも１ビットの誤りステータスビットを含んだ制御／ステータスビットとを含む。前記予期されたＣＲＣは、前記データ群と、前記少なくとも１ビットの誤りステータスビットを含まない制御／ステータスビットとの関数である。この方法は、前記少なくとも１ビットの誤りステータスビットの状態を用いて前記予期されたＣＲＣを符号化することであって、それによって符号化されたＣＲＣを生成する、前記予期されたＣＲＣを符号化することをさらに含む。【選択図】図３
2004242294.tif 000002
【特許請求の範囲】
【請求項１】
符号化モジュール（１７０、２０４）を備える送信ノード（１６２、２００）であって、
該符号化モジュールは、一連のデータ群を受信するように構成され、
各データ群は、
データビットを含むデータブロックと、
少なくとも１つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも１ビットの誤りステータスビットを含んだ制御／ステータスビットと
を含み、
前記一連のデータ群の少なくとも１つデータ群について、
前記データブロックと、
前記少なくとも１ビットの誤りステータスビットを含まない制御／ステータスビットとの関数である複数のビットを含む予期された巡回冗長符号（ＣＲＣ）と
を生成するように構成され、
前記予期されたＣＲＣを、前記少なくとも１ビットの誤りステータスビットの状態を用いて符号化し、それによって、前記少なくとも１つのデータ群について、複数のビットを含む符号化されたＣＲＣを生成するように構成される
符号化モジュール、
を備える送信ノード。
【請求項２】
前記符号化モジュールは、
前記少なくとも１つのデータ群の前記データブロックと、
前記少なくとも１ビットの誤りステータスビットを含まない、前記少なくとも１つのデータ群の前記制御／ステータスビットと
を受信するように構成され、
前記予期されたＣＲＣを供給するように構成されるＣＲＣ生成器（２１２）と、
該ＣＲＣ生成器から前記予期されたＣＲＣを受信し、前記少なくとも１ビットの誤りステータスビットを受信するように構成され、前記少なくとも１つのデータ群の前記符号化されたＣＲＣを生成するように構成される符号器（２１４）と
を備える
請求項１に記載の送信ノード。
【請求項３】
一連のソースフリットをソースノードから受信するように構成され、
各ソースフリットは、
前記一連のデータ群の１つのデータ群と、
複数のビットを有する関連付けられたソースＣＲＣと
を含み、
前記一連のデータ群を供給するように構成されるバッファ（２０２）
をさらに備える
請求項１に記載の送信ノード。
【請求項４】
前記少なくとも１ビットの誤りステータスビットを含まない前記少なくとも１つのデータ群を受信するように構成され、前記少なくとも１つのデータ群の前記符号化されたＣＲＣを受信し、それによって、前記少なくとも１ビットの誤りステータスビットを含まない前記少なくとも１つのデータ群を含んだ送信フリットと、
該少なくとも１つのデータ群の前記符号化されたＣＲＣと
を供給するように構成される出力モジュール（２０６）
をさらに備える請求項１に記載の送信ノード。
【請求項５】
前記少なくとも１つのデータ群の前記送信フリットおよび前記少なくとも１ビットの誤りステータスビットを受信するように構成され、前記送信フリットを供給し、前記少なくとも１ビットの誤りステータスビットの状態が、前記少なくとも１つのタイプのデータブロック誤りの存在を示す場合には、検証フリットを供給するように構成される検証モジュール（２０８）
をさらに備える請求項４に記載の送信ノード。
【請求項６】
前記検証モジュールは、
前記少なくとも１つのデータ群の前記少なくとも１ビットの誤りステータスビットを受信するように構成され、前記検証フリットを供給し、前記少なくとも１ビットの誤りステータスビットの状態を示すセレクタ信号を供給するように構成されるエラー回路（２１６）と、
前記送信フリット、前記検証フリットおよび前記セレクタ信号を受信するように構成され、前記送信フリットを供給し、前記セレクタ信号が、前記少なくとも１ビットの誤りステータスビットの状態が前記少なくとも１つのタイプのデータブロック誤りの存在を示す場合には、前記検証フリットを供給するように構成されるマルチプレクサ（２１８）と
を備える
請求項５に記載の送信ノード。
【請求項７】
復号器（１７２、３０４）を備える受信ノード（１６４、３００）であって、
該復号器は、一連の送信フリットを受信するように構成され、
各フリットは、
Ｍビットを有する符号化されたＣＲＣと、
データブロックおよび制御／ステータスビットを含むデータ群と
を含み、
少なくとも１つの送信フリットについて、該少なくとも１つの送信フリットの前記データ群の関数である予期されたＣＲＣを生成するように構成されるＣＲＣ生成器（１７４、３１４）と、
前記符号化されたＣＲＣを前記少なくとも１つの送信フリットの前記予期されたＣＲＣと比較して、送信誤りが前記少なくとも１つの送信フリットに存在するかどうかを判断し、前記符号化されたＣＲＣを少なくとも１つの特別に指定されたＣＲＣと比較して、前記少なくとも１つの送信フリットの前記データブロックが、送信前に破損データを含んでいたかどうかを判断するように構成される比較器（１７６、３１５）と
を備える
受信ノード。
【請求項８】
前記データ群は、少なくとも１つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも１ビットの誤りステータスビットを含まず、
前記符号化されたＣＲＣは、送信前の前記データ群の関数であり、前記少なくとも１ビットの誤りステータスビットの状態を用いて符号化される
請求項７に記載の受信ノード。
【請求項９】
前記比較器は、前記予期されたＣＲＣが、前記少なくとも１つの送信フリットの前記符号化されたＣＲＣと一致するかどうかを示すエラー信号をさらに供給し、前記少なくとも１つの送信フリットの前記符号化されたＣＲＣが、前記少なくとも１つの特別に指定されたＣＲＣと一致するかどうかを示す符号化信号を供給する
請求項７に記載の受信ノード。
【請求項１０】
前記少なくとも１つの送信フリット、前記エラー信号および前記符号化信号を受信するように構成され、
第１の応答において、前記予期されたＣＲＣが前記少なくとも１つの送信フリットの前記符号化されたＣＲＣと一致することを前記エラー信号が示す場合には、前記少なくとも１つの送信フリットを供給し、
第２の応答において、前記予期されたＣＲＣが前記符号化されたＣＲＣと一致しないことを前記エラー信号が示し、
前記符号化されたＣＲＣが前記少なくとも１つの特別に指定されたＣＲＣと一致することを前記符号化信号が示す場合には、前記少なくとも１つの送信フリットを供給し、
第３の応答において、前記予期されたＣＲＣが前記符号化されたＣＲＣと一致ないことを前記エラー信号が示し、前記符号化されたＣＲＣが前記少なくとも１つの特別に指定されたＣＲＣと一致しないことを前記符号化信号が示す場合にはアイドルフリットおよび再送信号を供給するように構成される
出力モジュール（３０６）
をさらに備える請求項９に記載の受信ノード。
【請求項１１】
前記出力モジュールは、前記少なくとも１つの送信フリットの前記符号化されたＣＲＣが、前記少なくとも１つの特別に指定されたＣＲＣと意図的に一致するかどうかを示す確認フリットを受信するようにさらに構成され、
前記第２の応答は、
前記予期されたＣＲＣが前記符号化されたＣＲＣと一致しないことを前記エラー信号が示す場合には前記アイドルフリットを最初に供給すること、および、前記符号化信号が、前記符号化されたＣＲＣが前記少なくとも１つの指定されたＣＲＣと一致することを示し、
前記確認フリットが、前記符号化されたＣＲＣが前記少なくとも１つの指定されたＣＲＣと意図的に一致することを示す場合には、前記少なくとも１つの送信フリットをその後供給することであり、
前記第３の応答は、前記エラー信号が、前記予期されたＣＲＣが前記符号化されたＣＲＣと一致しないことを示す場合には、アイドルフリットを最初に供給すること、および、前記符号化信号が、前記符号化されたＣＲＣが前記少なくとも１つの特別に指定されたＣＲＣと一致しないことを示すか、または、前記確認フリットが受信されないか、もしくは、前記符号化されたＣＲＣが前記少なくとも１つの特別に指定されたＣＲＣと意図的に一致しないことを示す場合には、前記再送信号をその後供給することである
請求項１０に記載の受信ノード。
【請求項１２】
前記出力モジュールは、
前記復号器に接続され、前記少なくとも１つの送信フリットの前記符号化信号および前記確認フリットを受信するように構成され、前記少なくとも１つの送信フリットの前記符号化されたＣＲＣが、前記少なくとも１つの指定されたＣＲＣと意図的に一致するかどうかを示す確認信号を供給するように構成される確認モジュール（３０８）と、
前記復号器および前記確認モジュールに接続され、前記確認信号を受信し、前記少なくとも１つの送信フリットの前記誤り信号を受信するように構成され、前記再送信号および出力制御信号を供給するように構成される、再送モジュール（３１０）と、
前記復号器および前記再送モジュールに接続され、前記少なくとも１つの送信フリットおよび前記出力制御信号を受信するように構成され、前記出力制御信号の状態に応じて、前記少なくとも１つの送信フリットまたは前記アイドルフリットを供給するように構成される送信機（３１２）と
を備える請求項１１に記載の受信ノード。
【請求項１３】
前記確認モジュールは、
前記比較器に接続され、前記一連の送信フリットの後続する送信フリットの前記符号化信号を受信するように構成され、前記少なくとも１つの送信フリットの前記符号化信号を供給するように構成されるレジスタ（３１８）と、
前記第１のレジスタに接続され、前記確認フリットと前記少なくとも１つの送信フリットの前記符号化信号とを受信するように構成され、前記符号化信号が、前記少なくとも１つの送信フリットの前記符号化されたＣＲＣが前記少なくとも１つの特別に指定されたＣＲＣと一致することを示し、該一致が意図的であったことを前記確認フリットが示す場合には、第１の状態を有する前記確認信号を供給し、前記符号化信号が、前記少なくとも１つの送信フリットの前記符号化されたＣＲＣが前記少なくとも１つの特別に指定されたＣＲＣと一致しないことを示すか、または、前記確認フリットが、前記少なくとも１つの送信フリットの前記符号化されたＣＲＣが前記少なくとも１つの特別に指定されたＣＲＣと一致するように意図されていなかったことを示す場合には第２の状態を有する前記確認信号を供給するように構成される検証ブロック（３２０）と
を備える請求項１２に記載の受信ノード。
【請求項１４】
前記再送モジュールは、
前記比較器に接続され、前記少なくとも１つの送信フリットに後続する送信フリットの前記エラー信号を受信し、前記少なくとも１つの送信フリットの前記エラー信号を供給するレジスタ（３２６）と、
前記比較器、前記レジスタおよび前記確認ブロックに接続され、前記少なくとも１つの送信フリットの前記エラー信号を受信し、前記後続する送信フリットの前記エラー信号を受信し、前記確認信号を受信するように構成され、前記出力選択信号および前記再送信号を供給するように構成される再送ブロック（３２８）と
を備える請求項１２に記載の受信ノード。
【請求項１５】
前記送信機ブロックは、
前記復号器に接続され、前記一連の送信フリットの前記後続する送信フリットを受信し、前記一連の送信フリットの前記少なくとも１つの送信フリットを供給するように構成されるレジスタ（３２６）と、
前記レジスタに接続されて前記少なくとも１つの送信フリットを受信する第１入力と、
前記復号器に接続されて前記一連の送信フリットの後続する送信フリットを受信する第２入力と、
アイドルフリットを受信する第３入力と、
前記再送ブロックに接続されて前記出力選択信号を受信するセレクタ入力と
を有し、
前記出力選択信号の状態に応じて、前記第１入力、前記第２入力、または前記第３入力を出力に供給するように構成される
マルチプレクサ（３３８）と、
を備える請求項１２に記載の受信ノード。
【請求項１６】
一連のデータ群の少なくとも１つのデータ群の予期された巡回冗長符号（ＣＲＣ）を生成することであって、各データ群は、データブロックと、少なくとも１つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも１ビットの誤りステータスビットを含んだ制御／ステータスビットとを含み、前記予期されたＣＲＣは、前記データ群と、前記少なくとも１ビットの誤りステータスビットを含まない制御／ステータスビットとの関数である、予期されたＣＲＣを生成することと、
前記少なくとも１ビットの誤りステータスビットの状態を用いて前記予期されたＣＲＣを符号化することであって、それによって符号化されたＣＲＣを生成する、前記予期されたＣＲＣを符号化することと
を含むデータ通信方法。
【請求項１７】
前記符号化されたＣＲＣが、前記少なくとも１ビットの誤りステータスビットの状態を用いて符号化されているかどうかを示す検証フリットを供給すること
をさらに含む請求項１６に記載のデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、データ通信システムに関し、詳細には、分散したノード間でデータを送信し、誤り通知技法および誤り検出技法を使用して、送信されたデータが破損しているかどうか、または、送信されたデータが送信誤りなく受信されたかどうかを通知するネットワーク化システムに関する。
【背景技術】
【０００２】
ネットワーク化システムは、一般に、ある形態のネットワーク接続を介して、分散したノード間でデータを送信する。
ネットワーク接続は、通常、ある形態の物理リンクを備える。
送信されるデータは、通常は、パケットとして知られているデータの単位に編成される。
各パケットは、通常、フリット(FLIT)として知られているさらに小さなデータ単位から構成される。
さらに、各フリットは、一般に、データブロック、制御／ステータスビット（例えばクレジット）、および複数のビットを含む巡回冗長符号（ＣＲＣ）を含む。
ＣＲＣは、送信誤り検出を行うためにネットワーク化システムによって利用される。
送信ノードは、論理関数を使用して、データブロックからＣＲＣを計算し、データブロックおよび制御／ステータスビットと共にＣＲＣを含み、送信用のフリットを形成する。
受信ノードは、送信されたフリットを受信すると、論理関数を使用して、受信したデータブロックからＣＲＣを計算する。
計算されたＣＲＣが送信されたＣＲＣと一致しないということは、送信中にリンク誤りが発生したことを示し、これに応答して、ネットワーク化システムは、通常、リンクレイヤの「再試行」メカニズムを開始して、送信ノードから受信ノードにデータを再送する。
再送は、送信誤りを含むフリットから開始される。
【０００３】
しかしながら、ＣＲＣビットは、一般に、ネットワーク接続を介した送信中に取り込まれたデータブロックの誤りのみを受信ノードに通知し、送信前に存在するデータブロックの誤りを通知しない。
これらの状況において、ネットワーク化システムは、一般に、フリットの一部として誤り情報を含み、送信されたデータブロック自体が誤った情報を含むことを受信ノードに通知する。
例えば、メモリ源からデータを検索する送信ノードは、そのメモリから検索されたデータに訂正できないデータ誤りが存在することを検出する場合がある。
送信ノードが、破損したデータを受信ノードに単に送信し、リンク誤りが送信中に発生しない場合には、送信されたデータは、受信ノードにとって誤りのないデータと見える。
送信されたデータ自体が破損していることを受信ノードに警告するために、誤りステータスビットが、送信されるフリットの制御／ステータスビットの１つとして含まれる場合が多い。
この誤りステータスビットは、時に「ポイズン（poison）」ビットと呼ばれることがある。
受信ノードが、破損データを示す「ポイズン」ビットを有するフリットを受信すると、そのフリットがたとえ送信中に誤りなく受信されたことをＣＲＣが示していても、データブロックが破損していることが受信ノードに通知される。
【０００４】
「ポイズン」ビットおよび他のデータステータスビットは、破損データおよび他のデータ異常の存在を受信ノードに通知するのに有効であるが、それらのビットによって、フリットは、より多くのビットを含む必要があるか、または、データ転送を含む他の機能に専用化されるビットを少なくする必要がある。
さらに、それらのビットが通知の機能を果たす対象となる誤りが、まれにしか発生しない誤り、例えば上記例によって説明したソースデータの破損などである場合、その誤りビットおよびステータスビットは、限られたビット容量の非効率な使用を表す場合が多い。
【０００５】
ほとんどネットワーク化システムは、通常、すでに、各フリットの多数のビットを、データ誤りの大部分を占める送信誤りの検出用に専用化しているので、破損したデータまたはソースデータを宛先ノードに通知することにもこれらのビットを使用できる場合有利である。
したがって、これまで、ポイズンビットを含む制御／ステータスビットとしての使用に専用化されていたビットを使用することにより、データ転送容量を増加させたり、付加的なＣＲＣビットとして、送信中に発生するリンク誤りの検出および／または訂正を改善したりすることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
多くのシステム、特に、帯域幅の制約を有するシステムは、まれにしか発生しないデータ誤りの通知に専用化されたビットを必要としない誤り検出システムによって利益を得る。
【課題を解決するための手段】
【０００７】
本発明の一態様は、データ通信方法を提供する。
この方法は、一連のデータ群の少なくとも１つのデータ群の予期された巡回冗長符号（ＣＲＣ）を生成することを含む。
各データ群は、データブロックと、少なくとも１つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも１ビットの誤りステータスビットを含んだ制御／ステータスビットとを含む。
前記予期されたＣＲＣは、前記データ群と、前記少なくとも１ビットの誤りステータスビットを含まない制御／ステータスビットとの関数である。
この方法は、前記少なくとも１ビットの誤りステータスビットの状態を用いて前記予期されたＣＲＣを符号化することであって、それによって符号化されたＣＲＣを生成する、前記予期されたＣＲＣを符号化することをさらに含む。
【０００８】
本発明の一態様は、ネットワーク化システムの送信ノードを提供する。
該送信ノードは、一連のデータ群を受信するように構成される符号化モジュールを含み、各データ群は、データビットを含むデータブロックと、少なくとも１つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも１ビットの誤りステータスビットを含んだ制御／ステータスビットとを含む。
前記送信ノードは、前記一連のデータ群の少なくとも１つのデータ群について、前記データブロックと、前記少なくとも１ビットの誤りステータスビットを含まない制御／ステータスビットとの関数である、複数のビットを含む予期された巡回冗長符号（ＣＲＣ）を生成するように構成される。
前記送信ノードは、さらに、前記予期されたＣＲＣを、前記少なくとも１ビットの誤りステータスビットの状態を用いて符号化し、それによって、前記少なくとも１つのデータ群について、複数のビットを含む符号化されたＣＲＣを生成するように構成される。
【０００９】
本発明の一態様は、ネットワーク化システムの受信ノードを提供する。
該受信ノードは復号器を含み、該復号器は、ＣＲＣ生成器および比較器をさらに含む。
前記ＣＲＣ生成器は、一連の送信フリットを受信するように構成され、各フリットは、Ｍビットを有する符号化されたＣＲＣと、データブロックおよび制御／ステータスビットを含むデータ群とを含む。
前記ＣＲＣ生成器は、少なくとも１つの送信フリットについて、Ｍ個のビット位置にＭビットを含む予期されたＣＲＣを生成するように構成される。
Ｍビットの各ビットは状態を有する。
前記予期されたＣＲＣは、該少なくとも１つの送信フリットの前記データ群の関数である。
前記比較器は、前記符号化されたＣＲＣを、前記少なくとも１つの送信フリットの前記予期されたＣＲＣと比較し、かつ、少なくとも１つの特別に指定されたＣＲＣと比較し、それによって、送信誤りが該少なくとも１つの送信フリットに存在するかどうか、および、該少なくとも１つの送信フリットの前記データブロックが破損データを含むかどうかの表示を提供するように構成される。
【００１０】
本発明の一態様は、ネットワーク化接続と、該ネットワーク化接続に接続された送信ノードと、該ネットワーク化接続に接続された受信ノードとを備えるネットワーク化システムを提供する。
前記送信ノードは、一連のデータ群を受信するように構成され、各データ群は、データビットを含むデータブロックと、少なくとも１つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも１ビットの誤りステータスビットを含んだ制御／ステータスビットとを含む符号化モジュールを備える。
前記送信ノードは、前記一連のデータ群の少なくとも１つデータ群について、前記データブロックと、前記少なくとも１ビットの誤りステータスビットを含まない制御／ステータスビットとの関数である予期された巡回冗長符号（ＣＲＣ）を生成するように構成される。
前記送信ノードは、さらに、前記予期されたＣＲＣを、前記少なくとも１ビットの誤りステータスビットの状態を用いて符号化し、それによって、前記少なくとも１つのデータ群について、複数のビットを含む符号化されたＣＲＣを生成するように構成される。
【００１１】
前記受信ノードは、前記少なくとも１ビットの誤りステータスビットを含まない前記少なくとも１つのデータ群と、該少なくとも１つのデータ群の前記符号化されたＣＲＣとを前記送信ノードから受信するように構成される復号器を備える。
該復号器は、ＣＲＣ生成器をさらに含む。
該ＣＲＣ生成器は、前記少なくとも１つのデータ群について、前記少なくとも１ビットの誤りステータスビットを含まない該少なくとも１つのデータ群の関数である予期されたＣＲＣを生成するように構成される。
前記比較器は、前記符号化されたＣＲＣを、前記予期されたＣＲＣと比較し、かつ、少なくとも１つの特別に指定されたＣＲＣと比較し、それによって、送信誤りが該少なくとも１つのデータ群および符号化されたＣＲＣに存在するかどうか、ならびに、前記データブロックが破損データを含むかどうかの表示を提供するように構成される。
【発明を実施するための最良の形態】
【００１２】
図１に、ネットワーク化システムをブロック図の形態により包括的に３０で示す。
ネットワーク化システム３０は、３２で示されるノードＡおよび３４で示されるノードＢを含む。
ネットワーク化システム３０には、相互接続構造、すなわち相互接続リンク３６を介して、ノードＡ、３２とノードＢ、３４との間でデータを通信する機能が内在している。
しかしながら、相互接続リンクは、雑音を有する場合が多く、例えばノードＡとノードＢとの間などのノード間でのデータ送信中に、データに「リンク」誤りを取り込む可能性がある。
送信中に発生するリンク誤りは、雑音、α粒子の衝突および振動といったものによって引き起こされ、ネットワーク化システムの誤りの大部分を占める。
【００１３】
このような誤りに対応して、ネットワーク化システムは、通常、ある形態の誤り検出方式を使用し、それによって、相互接続構造を通じて受信されたデータが、送信中にデータに取り込まれたかもしれないリンク誤りを受けることなく受信されたかどうかを、受信ノード、例えばノードＢ、３４などが判断できるようにする。
ネットワーク化システムに一般に取り入れられた従来の１つの送信誤り検出方式は、巡回冗長符号（ＣＲＣ）誤り検出方式である。
ＣＲＣ誤り検出方式では、送信されるデータは大きな２進数とみなされる。
データを送信するノードは、データによって形成されるこの大きな２進数を、生成多項式と呼ばれる第２の２進数で除算する。
この除算演算の剰余は、ＣＲＣチェックサム、または単にＣＲＣと呼ばれる。
送信ノードは、次に、ＣＲＣをデータに追加して、データおよび追加されたＣＲＣを相互接続リンクを介して受信ノードに送信する。
受信ノードは、送信されたデータおよびＣＲＣを受信すると、送信ノードと同じ生成多項式を使用して、受信したデータからＣＲＣを計算する。
受信したデータから受信ノードにより計算されたＣＲＣが、送信ノードによって送信されたＣＲＣと一致するということは、送信されたデータが、送信中に取り込まれたかもしれないリンク誤りを受けることなく受信されたことを示す。
これらのＣＲＣが一致しない場合には、受信ノードは、通常、データの再送を行うために、リンクレイヤの再試行メカニズムを開始する。
【００１４】
しかしながら、ＣＲＣ誤り検出方式は、通常、送信中に取り込まれた誤りのみを検出し、送信されるデータがその送信前に破損している場合には、誤り表示を提供しない。
これらの状況では、たとえデータが誤りを有するか、または破損していても、送信中に誤りが取り込まれない場合には、ＣＲＣ誤り検出方式の送信されたＣＲＣおよび計算されたＣＲＣは一致することになる。
説明例として、ネットワーク化システム３０の送信ノードＡ、３２が、ノードＡのメモリ３８からデータを読み出すメモリコントローラであると仮定する。
メモリコントローラは、通常、所定のタイプのデータ誤りを検出でき、かつ、検出した所定のタイプの誤りを訂正できるタイプの誤り検出／訂正メカニズムを備える。
ノードＡ、３２が、メモリ３８からデータ読み出し中に、訂正できないタイプのデータ誤りを検出すると、ノードＡは、データが破損していることをノードＢ、３４に通知するある方法を有さなければならない。
そうでない場合、ノードＡ、３２が、ネットワーク接続３６を介して、破損したデータを送信誤りなくノードＢ、３４に単に送信すると、送信されたデータからノードＢ、３４によって計算されたＣＲＣは、ノードＡ、３２とノードＢ、３４から受信したＣＲＣと一致することになる。
これは、たとえデータ自体が破損していても、送信されたデータには誤りがないことを示す。
この結果、および他の同様のシナリオの結果として、送信された情報が情報源において誤りを有するか、または破損していることを受信ノードに知らせるさまざまな誤り方式が開発されてきた。
【００１５】
本明細書の背景技術の節で考察したように、たとえＣＲＣが一致する場合があっても、宛先ノードの受信中の情報が破損していることを宛先ノードに警告することが行われる。
これを行うために、ネットワーク化システムが一般に採用する従来の１つの方式は、送信されるデータに追加される誤りステータスビットを利用することである。
上記説明例のネットワーク化システム３０がこのような方式を使用すると、データの送信前に、ノードＡは、追加された誤りステータスビット（１つまたは複数）の状態を、送信されるデータが破損しているかどうかを示す状態に設定する。
ノードＢは、ノードＡから送信されたデータを受信すると、誤りステータスビットの状態をチェックして、データが破損しているかどうかを判断する。
したがって、上記説明例では、たとえＣＲＣ誤り検出方式が受信したデータに送信誤りがないことを示していても、誤りステータスビットの状態をチェックすることにより、ノードＢは受信したデータが破損していることに気付く。
【００１６】
図２Ａは、ネットワークシステムノード間、例えばネットワーク化システム３０の３２で示されるノードＡと３４で示されるノードＢとの間でデータを物理的に送信するための一例のメッセージ構成５０の説明図である。
データは、通常、例えばメッセージ構成５０によって表されるようなメッセージの形態でノード間を通信される。
本明細書では、メッセージは、アプリケーションにより定義された、ノード間のデータ交換の単位と定義される。
メッセージは、通常、ノード間でメッセージを物理的に送信するパケット、例えばパケット５２および５４に編成される。
本明細書では、パケットは、ネットワークプロトコルのヘッダおよび／またはトレーラ(trailer)の間、例えばヘッダ５６とトレーラ６０との間およびヘッダ５８とトレーラ６２との間でカプセル化されるデータの単位と定義される。
各パケットは、フリット６４、６６、６８および７０によって示すように、本明細書でフリットと呼ばれるデータの単位をさらに含む。
さらに、各フリットは、７２、７４、７６および７８によって示すようなデータブロックと、８０、８２、８４および８６によって示すような制御／ステータスビットと、８８、９０、９２および９４によって示すようなＣＲＣとを含む。
最後に、制御／ステータスビットは、９６、９８、１００および１０２で示すような誤りステータスビットをさらに含む。
【００１７】
図２Ｂは、図１のネットワーク化システム３０の一例のフリット構成１１０の説明図である。
図２Ｂの説明例の構成では、ネットワーク化システム３０のフリット１１０は、それぞれ１４４ビットを含み、ノードＡ３２およびノードＢ３４は、相互接続構造３６を介して１サイクルにつき１６ビットのデータを送信することができる。
したがって、相互接続構造３６を介してノードＢ、３４にフリット１１０を送信するには、ノードＡ、３２に９サイクルが必要とされる。
しかしながら、以下に説明する本発明は、任意の適切なフリット構成および転送速度に適用することができる。
図２Ｂの説明例では、フリット１１０は、１２８ビットを有するデータブロックを含む。
このデータブロックは、１１２、１１４、１１６、１１８、１２０、１２２、１２４および１２６のサイクルゼロ〜サイクル７でそれぞれ示すように、１サイクルにつき１６ビットで送信される。
図２Ｂの説明例では、フリット１１０は、８ビットの制御／ステータスビット１２８（ビット１２８〜１３５として示す）および８ビットのＣＲＣ１３２をさらに含む。
制御／ステータスビット１２８のうちの２ビットは、誤りステータスビット１３０である。
これらの制御／ステータスビット１２８およびＣＲＣ１３２は、１３４で示すように、サイクル８で送信される。
【００１８】
誤りステータスビット、例えば「ポイズン」ビットは、送信されたデータが、送信誤りを受けずに受信されているにもかかわらず破損していることを宛先ノードに通知するという点で役立つが、それらのビットは、各フリット内に専用化されたビットスペースを必要とする。
しかしながら、誤りステータスビットが通知するデータ誤りのタイプは、比較的まれにしか発生せず、リンク誤りは、ネットワーク化システムの誤りの大部分を占める。
その結果、誤りステータスビットを使用するネットワーク化システムは、まれにしか発生しない誤りを受信ノードに通知するために、各フリット内の貴重なビットスペースを消費することになる。
【００１９】
以下に示す本発明のＣＲＣ符号化方式は、専用化された誤りビットを必要とすることなく、これらのまれにしか発生しない誤りを通知することができる。
次に、ネットワーク化システムは、以前は誤りステータスビットとして利用されたデータビットを他のビットとして機能するように利用することができる。
他のビットには、実際の「ペイロード」情報ビットおよびＣＲＣビットが含まれるが、これに限定されるものではない。
一実施の形態では、以下に説明する本発明のＣＲＣ符号化方式を使用する送信ノードは、送信されるフリットの予期されたＣＲＣを計算して、予期されたＣＲＣの各ビットの状態を反転することによりそのＣＲＣを符号化し、それによって、破損したデータの表示を提供する。
一実施の形態では、受信ノードは、フリットおよびフリットに関連付けられたＣＲＣを受信すると、受信したフリットから予期されたＣＲＣを計算し、計算したＣＲＣを受信したＣＲＣと比較する。
一実施の形態では、計算したＣＲＣが受信したＣＲＣと一致しない場合には、受信ノードは計算したＣＲＣの各ビットの状態を反転し、反転したものを受信したＣＲＣと比較する。
一実施の形態では、計算したＣＲＣの反転した状態が、受信したＣＲＣと一致する場合には、受信ノードは、受信したＣＲＣが符号化されていること、およびフリットデータが破損していることを知り、リンク再試行メカニズムを開始しない。
一実施の形態では、計算したＣＲＣの反転した状態が受信したＣＲＣと一致しない場合には、受信ノードは、フリットデータが送信誤りを含むことを知り、リンク再試行メカニズムを開始する。
一実施の形態では、送信ノードは、符号化されたＣＲＣを有するフリットの送信前または送信後に、符号化されたＣＲＣが偶然に発生したものでないことを受信ノードに通知する確認フリットを受信ノードに送信する。
【００２０】
図３は、本発明によるＣＲＣ符号化方式を使用する、図１のネットワーク化システム３０の一例のフリット構成１５０の説明図である。
このＣＲＣ符号化方式では、以前は誤りステータスビットとして使用されたビットが、付加的なＣＲＣビットとして利用される。
本発明によるネットワーク化システム３０のフリット１５０は、それぞれ１４４ビットを含む。
図２Ｂのフリット１１０の例と同様に、フリット１５０は、１２８ビットを有するデータブロックを含み、それらのビットは、１５２で示すように、８つのサイクルでノードＡ３２からノードＢ３４に送信される。
しかしながら、図２Ｂのフリット１１０の８ビットの制御／ステータスビットおよび８ビットのＣＲＣとは対照的に、フリット１５０は、６ビットの制御／ステータスビット１５４および１０ビットのＣＲＣ１５４を含む。
図３のフリット１５０は、図２Ｂのフリット１１０の誤りステータスビットを含まない。
本発明によるネットワーク化システム３０は、誤りステータスビットの状態をＣＲＣに符号化すること、および、以前の誤りステータスビットを付加的なＣＲＣビットとして利用することにより、データブロックの誤りの表示を依然として提供すると同時に、送信誤りの改善された検出を提供する。
【００２１】
一般に、ランダムなマルチビットの送信誤りが検出されない確率は、以下の式Ｉによって表すことができる。
【００２２】
式Ｉ
検出されないマルチビットの誤りの確率＝２(-n)
ここで、ｎ＝１フリットあたりに割り当てられたＣＲＣのビット数
【００２３】
図２Ｂに示すようなフリット構成１１０を使用するネットワーク化システム３０に上記式を適用すると、ノードＡ３２からノードＢ３４へのフリット１１０の送信時に、ランダムなマルチビットの誤りが検出されない確率は、１／２５６である。
一方、図３に示すようなフリット構成１５０を使用する、本発明によるネットワーク化システム３０に上記式を適用すると、ランダムなマルチビットの誤りが検出されない確率は、１／１０２４である。
したがって、本発明によるネットワーク化システム３０では、マルチビットの送信誤りを検出できない確率が４倍小さくなる。
【００２４】
図４は、本発明によるネットワーク化システム１６０の一実施の形態のブロック図である。
ネットワーク化システム１６０は、送信ノード１６２、受信ノード１６４、およびネットワーク接続１６６を含む。
送信ノード１６２は、バッファ１６８および符号器１７０を含む。
受信ノード１６４は復号器１７２を含む。
また、復号器１７２は、ＣＲＣ生成器１７４および比較器１７６を備える。
ネットワーク接続１６６は、任意の適切なタイプの接続とすることができ、この接続には、ローカルエリアネットワーク（ＬＡＮ）接続、バス接続、電話回線／モデム接続、直接無線接続、インターネット接続および／またはイントラネット接続が含まれるが、これらに限定されるものではない。
【００２５】
バッファモジュール１６８は、信号線１７８を介して一連のソースフリットを受信する。
各ソースフリットは、データブロック、誤りステータスビットを含む制御／ステータスビットおよびＣＲＣを含む。
誤りステータスビットの状態は、関連付けられたフリットのデータブロックの少なくとも１つのタイプのデータ誤りの存否を示す。
バッファモジュール１６８は、一連のデータ群を符号器１７０に供給し、各データ群は、対応するソースフリットのデータブロックと、誤りステータスビットを含む制御／ステータスビットとを含む。
【００２６】
符号器１７０は、データ群の少なくとも１つについて、予期されたＣＲＣを生成する。
この予期されたＣＲＣは複数のビットを有し、各ビットは、データブロックと誤りステータスビットを除く制御／ステータスビットとの関数である状態を有する。
次に、符号器１７０は、その少なくとも１つのデータ群の予期されたＣＲＣを、誤りステータスビットの状態を用いて符号化し、符号化されたＣＲＣを生成する。
一実施の形態では、符号器１７０は、少なくとも１つのデータ群の予期されたＣＲＣの予め定められた複数のビットの状態を反転することにより、少なくとも１つのデータ群の符号化されたＣＲＣを生成する。
一実施の形態では、誤りステータスビットの状態が、データブロック誤りが存在しないことを示している場合には、符号器は、予期されたＣＲＣのどのビットの状態も反転せず、これにより、符号化されたＣＲＣは予期されたＣＲＣと等しくなる。
一実施の形態では、符号器は、第１のタイプのデータブロック誤りを示す誤りステータスビットの状態を、予期されたＣＲＣの各ビットの状態を反転することによって符号化する。
一実施の形態では、符号器は、第２のタイプのデータブロック誤りを示す誤りステータスビットの状態を、予期されたＣＲＣの１つおきのビットの状態を反転することによって符号化する。
【００２７】
次に、符号器１７０は、誤りステータスビットを含まない一連のデータ群、および、少なくとも１つのデータ群の符号化されたＣＲＣを、ネットワーク接続１６６を介してＣＲＣ生成器１７４に供給する。
ＣＲＣ生成器１７４は、少なくとも１つのデータ群に対して計算されたＣＲＣを生成する。
この計算されたＣＲＣは、その関連付けられたデータブロックと、誤りステータスビットを含まない制御／ステータスビットとの関数である。
比較器１７６は、信号線１８２によってＣＲＣ生成器１７４に接続され、少なくとも１つのデータ群について、計算されたＣＲＣを符号化されたＣＲＣと比較する。
一実施の形態では、計算されたＣＲＣが符号化されたＣＲＣと一致しない場合、比較器１７６はエラー信号を１８４に供給する。
一実施の形態では、比較器１７６は、符号化されたＣＲＣを予め定められた複数の指定ＣＲＣ値と比較して、符号化信号を１８６に供給する。
【００２８】
図５は、本発明によるステータス情報を伝達するＣＲＣ符号化方式を有する送信ノード２００の一実施の形態のブロック図である。
送信ノード２００は、バッファモジュール２０２、符号化モジュール２０４、出力モジュール２０６および検証モジュール２０８を備える。
バッファモジュール２０２はバッファレジスタ２１０を含み、符号化モジュール２０４は、ＣＲＣ生成器２１２およびＣＲＣ符号器２１４を含み、検証モジュール２０８は、エラー回路２１６およびマルチプレクサ２１８を含む。
バッファレジスタ２１０は、信号路２２０を介して一連のソースフリットを受信し、各ソースフリットは、データブロック２２４、ＣＲＣ２３０および制御／ステータスビット２２６を含む。
制御／ステータスビット２２６には、少なくとも１ビットの誤りステータスビット２２８が含まれ、ステータスビット２２８は、少なくとも１つのタイプのデータブロック誤りの存否を示す複数の状態を有する。
例示の目的で、送信ノード２００のバッファレジスタ２１０によって受信される各ソースフリットは、図２Ｂの一例のフリット構成１１０と同じ構成を有するものとする。
バッファ２１０は、データブロック２２４、誤りステータスビットを除く制御／ステータスビット２２６、誤りステータスビット２２８およびＣＲＣ２３０に示すように、各ソースフリットをその構成ビットに分離する。
【００２９】
ＣＲＣ生成器２１２は、信号路２３２を介してデータブロック２２４および制御／ステータスビット２２６を受信し、データブロック２２４および制御／ステータスビット２２６の関数である予期されたＣＲＣを２３４に供給する。
予期されたＣＲＣは複数のビットを含み、その各ビットは状態を有する。
例示の目的で、予期されたＣＲＣは、信号路２３４に示すように、１０ビットを含むものとする。
ＣＲＣ符号器２１４は、２３４においてＣＲＣ生成器２１２から予期されたＣＲＣを受信し、信号路２３６を介してバッファレジスタ２１０から誤りステータスビット２２８を受信する。
そして、ＣＲＣ符号器２１４は、誤りステータスビット２２８の状態を用いて予期されたＣＲＣを符号化し、それによって、符号化されたＣＲＣを２３８に生成する。
一実施の形態では、ＣＲＣ符号器２１４は、誤りステータスビット２２８の状態を用いて、予期されたＣＲＣの予め定められた複数のビットの状態を反転することにより、予期されたＣＲＣを符号化する。
一実施の形態では、ＣＲＣ符号器２１４は、誤りステータスビット２２８の状態を用いて、予期されたＣＲＣの各ビットの状態を反転することにより、予期されたＣＲＣを符号化する。
一実施の形態では、誤りステータスビット２２８の状態が、データブロック誤りが存在しないことを示している場合には、ＣＲＣ符号器２１４は、予期されたＣＲＣのどのビットの状態も反転せず、これにより、符号化されたＣＲＣは予期されたＣＲＣと一致する。
【００３０】
出力モジュール２０６は、信号路２４０を介してデータブロック２２４および制御／ステータスビット２２６を受信し、２３８で符号化されたＣＲＣを受信する。
そして、出力モジュール２０６は、それらを結合し、信号路２４２を介して送信フリットを供給する。
例示の目的で、出力モジュール２０６によって供給される各送信フリットは、図３の一例のフリット構成１５０と同じ構成を有し、１２８ビットのデータブロック、６ビットの制御／ステータスビット、および１０ビットのＣＲＣを有するものとする。
【００３１】
エラー回路２１６は、信号路２４４を介して誤りステータスビット２２８を受信し、信号路２４６を介してセレクタ信号を供給し、また信号路２４８を介して確認フリットを供給する。
マルチプレクサ２１８は、セレクタ入力（ＳＥＬ）２５０、第１入力（Ｓ０）２５２、第２入力（Ｓ１）２５４および出力２５６を有する。
セレクタ入力（ＳＥＬ）２５０は、信号路２４６を介してエラー回路２１６に接続される。
第１入力（Ｓ０）２５２は、信号路２４２を介して出力モジュール２０６に接続され、送信フリットを受信する。
第２入力（Ｓ１）２５４は、信号路２４８を介してエラー回路２１６に接続され、確認フリットを受信する。
一実施の形態では、誤りステータスビット２２８が、データブロック誤りが存在しないことを示す場合、エラー回路２１６は、信号路２４６を介してセレクタ入力２５０にセレクタ信号を供給して、マルチプレクサ２１８に第１入力（Ｓ０）２５２を選択するように指示し、それによって、マルチプレクサの出力２５６を介して送信フリットを供給する。
一実施の形態では、誤りステータスビット２２８が、データブロック誤りの存在を示す場合、エラー回路２１６は、信号路２４６を介してセレクタ入力２５０にセレクタ信号を供給して、マルチプレクサ２１８に第１入力（Ｓ０）２５２を最初に選択するように指示し、それによって、出力２５６を介して送信フリットを供給し、第２入力（Ｓ１）２５４を次に選択するように指示し、それによって、出力２５６を介して確認フリットを供給する。
一実施の形態では、誤りステータスビット２２８が、データブロック誤りの存在を示している場合、エラー回路２１６は、信号路２４６を介してセレクタ入力２５０にセレクタ信号を供給して、マルチプレクサ２１８に第２入力（Ｓ１）２５４を最初に選択するように指示し、それによって、出力２５６を介して確認フリットを供給し、第１入力（Ｓ０）２５２を次に選択するように指示し、それによって、出力２５６を介して送信フリットを供給する。
【００３２】
誤りステータスビット２２８がデータブロック誤りの存在を示す場合に、検証モジュール２０８によって提供される確認フリットは、送信フリットの符号化されたＣＲＣが、予期されたＣＲＣと意図的に一致しないものであり、特別に指定されたＣＲＣ値と一致するように意図されていることを受信ノードに通知する機能を有する。
一実施の形態では、確認フリットは、確認フリットが通知の役割を果たす対象となる送信フリットに先行して送信される。
一実施の形態では、確認フリットは、確認フリットが通知の役割を果たす対象となる送信フリットに後続して送信される。
【００３３】
図６は、本発明によるステータス情報を伝達するＣＲＣ符号化方式を有する受信ノード３００の例示的な一実施の形態のブロック図である。
この例示的な実施の形態の受信ノード３００は、確認フリットを、データブロック誤りステータス情報を用いて意図的に符号化されたＣＲＣを有する送信フリットのすぐ後に続く送信フリットとして受信するように構成される。
しかしながら、受信ノード３００は、確認フリットを、データブロック誤りステータス情報を用いて意図的に符号化されたＣＲＣを有するフリットの前または後の任意の数のフリットからなる送信フリットとして受信するように変更することができる。
【００３４】
受信ノード３００は、受信機３０２、復号器３０４、確認モジュール３０８、再送モジュール３１０および送信機３１２を備える。
復号器３０４は、ＣＲＣ生成器３１４および比較器３１５をさらに備える。
比較器３１５は、第１出力（Ｏ１）３１６および第２出力（Ｏ２）３１７を有する。
確認モジュール３０８は、レジスタ３１８および検証ブロック３２０をさらに備える。
検証ブロック３２０は、第１入力（Ｉ１）３２２および第２入力（Ｉ２）３２４を有する。
再送モジュール３１０は、レジスタ３２６および再送ブロック３２８をさらに備える。
再送ブロック３２８は、第１入力（Ｉ１）３３０、第２入力（Ｉ２）３３２、第３入力（Ｉ３）３３３、第１出力（Ｏ１）３３４および第２出力（Ｏ２）３３５を有する。
送信機３１２は、レジスタ３３６およびマルチプレクサ３３８を備える。
マルチプレクサ３３８は、セレクタ入力（ＳＥＬ）３４０、第１入力（Ｓ１）３４２、第２入力（Ｓ２）３４４、第３入力（Ｓ３）３４６および出力３４８を有する。
【００３５】
受信機３０２は、信号路３５０を介して一連の送信フリットを受信する。
各送信フリットは、データブロック、制御／ステータスビットおよび符号化されたＣＲＣを含む。
例示の目的で、バッファ３０２に受信される各送信フリットは、図３の一例のフリット構成と同じ構成を有するものとする。
受信機３０２は、一連の送信フリットを、信号路３５２を介してＣＲＣ生成器３１４に、信号路３５４を介して送信機レジスタ３３６に、信号路３５６を介してマルチプレクサ３３８の第２入力（Ｓ２）３４４に、および信号路３５８を介して検証ブロック３２０の第２入力（Ｉ２）３２４に、それぞれ供給する。
送信機レジスタ３３６は、受信機３０２からの一連の送信フリットの後続する各フリットを受信すると同時に、先行する送信フリットを、信号路３６０を介してマルチプレクサ３３８の第１入力（Ｓ１）に供給する。
その結果、受信機３０２は、一連の送信フリットの現在の送信フリットを供給するのに対して、送信機レジスタ３３６は、その一連の送信フリットの直前に先行する送信フリットを供給する。
【００３６】
ＣＲＣ生成器３１４は、受信機３０２から現在の送信フリットを受信して、予期されたＣＲＣを計算する。
この予期されたＣＲＣは、現在の送信フリットのデータブロックおよび制御／ステータスビットの関数である。
ＣＲＣ生成器３１４は、この予期されたＣＲＣおよび現在の送信フリットの符号化されたＣＲＣを、信号路３６２を介して比較器３１６に供給する。
比較器３１５は、予期されたＣＲＣを符号化されたＣＲＣと比較する。
一実施の形態では、比較器３１５は、第１出力（Ｏ１）３１６にエラー信号を供給する。
このエラー信号は、予期されたＣＲＣが、符号化されたＣＲＣと一致する場合には第１状態を有し、予期されたＣＲＣが、符号化されたＣＲＣと一致しない場合には第２状態を有する。
また、比較器３１５は、現在の送信フリットの符号化されたＣＲＣを、予め定められた複数の特別に指定されたＣＲＣ値とも比較する。
一実施の形態では、比較器３１５は、第２出力（Ｏ２）３１７に符号化信号を供給する。
この符号化信号は、符号化されたＣＲＣが、複数の特別に指定されたＣＲＣ値のいずれとも一致しない場合には第１状態を有し、符号化されたＣＲＣが、複数の特別に指定されたＣＲＣ値のいずれか１つと一致する場合には第２状態を有する。
【００３７】
レジスタ３１８は、信号路３６４を介して比較器３１５から、現在の送信フリットの符号化信号を受信する。
レジスタ３１８は、比較器３１５から一連の送信フリットの後続する各送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を、信号路３６６を介して検証ブロック３２０の第１入力（Ｉ１）３２２に供給する。
その結果、レジスタ３１８は、比較器３１５から現在の送信フリットの符号化信号を受信すると、一連の送信フリットの直前の先行する送信フリットの符号化信号を検証ブロック３２０の第１入力（Ｉ１）３２２に供給する。
【００３８】
検証ブロック３２０は、第２入力（Ｉ２）３２４で現在の送信フリットを受信し、第１入力（Ｉ１）３２２で直前の先行する送信フリットの符号化信号を受信する。
上述したように、受信ノード３００は、確認フリットを、特別に指定されたＣＲＣ値を意図的に有する符号化されたＣＲＣを有する送信フリットのすぐ後に続く送信フリットとして受信するように構成される。
それにより、図６の構成例では、一連の送信フリットの直前の先行する送信フリットの符号化されたＣＲＣが、複数の特別に指定されたＣＲＣ値の１つと意図的に一致すること、およびその一致が単に偶然に発生したものでないことを受信ノード３００に通知するように、確認フリットが機能する。
一実施の形態では、検証ブロック３２０は、第１状態を有する検証信号を３６８に供給する。
第１入力（Ｉ１）３２２における直前の先行する送信フリットの符号化されたＣＲＣが、特別に指定されたＣＲＣ値の１つに一致しないことを、直前の先行するフリットの符号化信号が示している場合、または、第２入力（Ｉ２）３２４における現在の送信フリットが確認フリットでないと、検証ブロック３２０が判断した場合には、第１状態を有する検証信号が供給される。
直前の先行するフリットの符号化されたＣＲＣが、特別に指定されたＣＲＣ値の１つと一致することを、第１入力（Ｉ１）３２２における直前の先行するフリットの符号化信号が示している場合で、かつ、第２入力（Ｉ２）３２４における現在の送信フリットが確認フリットであると、検証ブロック３２０が判断した場合には、第２状態を有する検証信号が供給される。
【００３９】
送信機３１２のマルチプレクサ３３８は、第１入力（Ｓ１）３４２にレジスタ３３６からの先行する送信フリットを受信し、第２入力（Ｓ２）３４４に受信機３０２からの現在の送信フリットを受信し、第３入力（Ｓ３）３４６にアイドルフリット３４７を受信する。
アイドルフリット３４７は、マルチプレクサ３３８によって供給されると、出力３４８の下流にある宛先のプロセスに、データ誤りの可能性があることを通知して、データ転送の再開またはデータの再送に備えて待機するように機能する。
【００４０】
再送モジュール３１０のレジスタ３２６は、比較器３１５の第１出力（Ｏ１）３１６から信号路３７０を介してエラー信号を受信する。
レジスタ３２６は、比較器３１５からの後続する各送信フリットのエラー信号を受信すると同時に、先行する送信フリットのエラー信号を再送ブロック３２８の第１入力（Ｉ１）３３０に供給する。
したがって、レジスタ３２６が、比較器３１５から信号路３７０を介して現在の送信フリットのエラー信号を受信すると、レジスタ３２６は、再送ブロック３２８の第１入力（Ｉ１）３３０に信号路３７２を介して直前の先行する送信フリットのエラー信号を供給する。
【００４１】
再送ブロック３２８は、信号路３７２を介して第１入力（Ｉ１）３３０にレジスタ３２６からの先行する送信フリットのエラー信号を受信し、信号路３７４を介して第２入力（Ｉ２）３３２に比較器３１５からの現在の送信フリットのエラー信号を受信し、信号路３６８を介して第３入力（Ｉ３）３３３に検証ブロック３２０からの検証信号を受信する。
再送ブロック３２８は、信号路３７６を介してマルチプレクサ３３８のセレクタ入力（ＳＥＬ）３７０へ第１出力（Ｏ１）３３４のセレクタ信号を供給し、信号路３７８を介して第２出力（Ｏ２）３３５の再送信号を供給する。
セレクタ信号および再送信号は、それぞれ、第１入力（Ｉ１）３３０における前の送信フリットのエラー信号の状態と、第２入力（Ｉ２）３３２における現在の送信フリットのエラー信号の状態と、第３入力（Ｉ３）３３３における検証信号の状態とに依存する状態を有する。
セレクタ信号が、第１状態、第２状態および第３状態を有すると、マルチプレクサ３３８は、それぞれ、第１入力（Ｓ１）３４２、第２入力（Ｓ２）３４４および第３入力（Ｓ３）３４６を選択して、３４８の宛先プロセスに出力する。
マルチプレクサ３３８は、送信誤りが検出されると、第１状態の再送信号を供給して、送信フリットを再送するリンクレイヤの再転送メカニズムを開始し、データの再送が要求されていない場合には、第２状態の再送信号を供給する。
【００４２】
以下の表Ｉは、一例としての適切な再送ブロック３２８の第１出力（Ｏ１）３３４および第２出力（Ｏ２）３３５によってそれぞれ供給されるセレクタ信号（ＳＥＬ）の状態および再送信号（ＲＥＴ）の状態を示している。
これらの状態は、第１入力（Ｉ１）３３０の状態、第２入力（Ｉ２）３３２の状態および第３入力（Ｉ３）３３３の状態の可能な８つのシナリオに基づいている。
第１入力（Ｉ１）３３０の０の値は、先行する送信フリットについて、符号化されたＣＲＣが予期されたＣＲＣと一致したことを示す一方、１の値は、符号化されたＣＲＣが予期されたＣＲＣと一致しなかったことを示す。
第２入力（Ｉ２）３３２の０の値は、現在の送信フリットについて、符号化されたＣＲＣが予期されたＣＲＣと一致することを示す一方、１の値は、符号化されたＣＲＣが予期されたＣＲＣと一致しないことを示す。
第３入力（Ｉ３）３３３の０の値は、先行する送信フリットの符号化されたＣＲＣが、特別に指定されたＣＲＣ値と一致しなかったことを示すか、または、現在の送信フリットは、先行するフリットの符号化されたＣＲＣが特別に指定されたＣＲＣ値と一致するように意図されたことを示す確認フリットでないことを示す。
一方、第３入力（Ｉ３）３３３の１の値は、先行するフリットの符号化されたＣＲＣが特別に指定されたＣＲＣ値と一致することを示し、かつ、現在のフリットは、先行するフリットの符号化されたＣＲＣが特別に指定されたＣＲＣ値と一致するように意図されたことを検証する確認フリットであることを示す。
第１出力（Ｏ１）３３４のＳ１、Ｓ２およびＳ３は、マルチプレクサ３３８に、それぞれ第１入力（Ｓ１）３４２、第２入力（Ｓ２）３４４および第３入力（Ｓ３）３４６を選択するように指示するセレクタ信号を示す。
第２出力（Ｏ２）３３５に関して、ＮＯは、再送信号がリンクレイヤの再試行メカニズムを開始しないことを示す一方、ＹＥＳは、送信誤りが発生した可能性があること、および、再送信号がリンクレイヤの再試行メカニズムを開始することを示す。
【００４３】
【表１】
2004242294.tif 000003
【００４４】
表Ｉのシナリオ１、３、５および６の例について、図６の受信ノード３００の動作をさらに説明するために以下に述べる。
シナリオ１の例では、受信機３０２は、現在の送信フリットを受信して、このフリットを、信号路３５２を介してＣＲＣ生成器３１４に供給し、信号路３５４を介してレジスタ３３６に供給し、信号路３５６を介してマルチプレクサ３３８の第２入力（Ｓ２）３４４に供給し、信号路３５８を介して検証ブロック３２０の第２入力（Ｉ２）３２４に供給する。
例示の目的で、現在の送信フリットは確認フリットではないと仮定し、データブロックも送信誤りも有さない先行する送信フリットが受信されて、受信機３０２によって供給されたものと仮定する。
【００４５】
ＣＲＣ生成器３１４は、現在の送信フリットの予期されたＣＲＣを計算して、この予期されたＣＲＣおよび現在の送信フリットの符号化されたＣＲＣを、信号路３６２を介して比較器３１５に供給する。
比較器３１５は、符号化されたＣＲＣを予期されたＣＲＣと比較し、現在の送信フリットの符号化されたＣＲＣが予期されたＣＲＣと一致することを示すエラー信号を、第１出力（Ｏ１）３１６から信号路３７０を介してレジスタ３２６に供給し、信号路３７４を介して再送ブロック３２８の第２入力（Ｉ２）３３２に供給する。
レジスタ３２６は、現在の送信フリットのエラー信号を受信すると同時に、信号路３７２を介して再送ブロック３２８の第１入力（Ｉ１）３３０に、先行する送信フリットのエラー信号を供給する。
このシナリオでは、この先行する送信フリットのエラー信号は、符号化されたＣＲＣが、先行する送信フリットの予期されたＣＲＣと一致したことを示している。
【００４６】
また、比較器３１５は、現在の送信フリットの符号化されたＣＲＣが、特別に指定されたＣＲＣ値と一致するかどうかを示す符号化信号を、第２出力（Ｏ２）３１７および信号路３６４を介してレジスタ３１８に供給する。
レジスタ３１８は、現在の送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を検証ブロック３２０の第１入力（Ｉ１）３２２に供給する。
このシナリオでは、この先行する送信フリットの符号化信号は、符号化されたＣＲＣが、特別に指定されたＣＲＣ値と一致しなかったことを示す。
次に、検証ブロック３２０は、信号路３６８を介して送信ブロック３２８の第３入力（Ｉ３）３３３に、現在の送信フリットが検証フリットでないこと、および／または、先行するフリットの符号化されたＣＲＣが特別に指定されたＣＲＣ値と一致しなかったことを示す検証信号を供給する。
【００４７】
再送ブロック３２８は、第１入力（Ｉ１）３３０の先行する送信フリットのエラー信号の状態と、第２入力（Ｉ２）３３２の現在の送信フリットのエラー信号の状態と、第３入力（Ｉ３）３３３の検証信号の状態とに基づいて、出力（Ｏ１）３３４のセレクタ信号をマルチプレクサのセレクタ（ＳＥＬ）３４０に供給し、マルチプレクサ３３８に第２入力（Ｓ２）３４４を選択するように指示する。
それによって、現在の送信フリットが出力３４８の宛先プロセスに供給される。
再送ブロック３２８は、同じ入力に基づいて、第２出力（Ｏ２）３３５には再送信号を供給せず、したがって、リンクレベルの再試行メカニズムを開始しない。
【００４８】
シナリオ３の例では、受信機３０２は、現在の送信フリットを受信して、このフリットを、信号路３５２を介してＣＲＣ生成器３１４に供給し、信号路３５４を介してレジスタ３３６に供給し、信号路３５６を介してマルチプレクサ３３８の第２入力（Ｓ２）３４４に供給し、信号路３５８を介して検証ブロック３２０の第２入力（Ｉ２）３２４に供給する。
例示の目的で、現在の送信フリットは確認フリットではないと仮定し、データブロックも送信誤りも有さない先行するフリットが受信されて、受信機３０２によって供給されたものと仮定する。
【００４９】
ＣＲＣ生成器３１４は、現在の送信フリットの予期されたＣＲＣを計算して、この予期されたＣＲＣおよび現在の送信フリットの符号化されたＣＲＣを、信号路３６２を介して比較器３１５に供給する。
比較器３１５は、符号化されたＣＲＣを予期されたＣＲＣと比較し、現在の送信フリットの符号化されたＣＲＣが予期されたＣＲＣと一致しないことを示すエラー信号を、第１出力（Ｏ１）３１６から信号路３７０を介してレジスタ３２６に供給し、信号路３７４を介して再送ブロック３２８の第２入力（Ｉ２）３３２に供給する。
レジスタ３２６は、現在の送信フリットのエラー信号を受信すると同時に、信号路３７２を介して再送ブロック３２８の第１入力（Ｉ１）３３０に、先行する送信フリットのエラー信号を供給する。
このシナリオでは、この先行する送信フリットのエラー信号は、符号化されたＣＲＣが、先行する送信フリットの予期されたＣＲＣと一致したことを示している。
【００５０】
また、比較器３１５は、現在の送信フリットの符号化されたＣＲＣが、特別に指定されたＣＲＣ値と一致するかどうかを示す符号化信号を、第２出力（Ｏ２）３１７および信号路３６４を介してレジスタ３１８に供給する。
レジスタ３１８は、現在の送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を検証ブロック３２０の第１入力（Ｉ１）３２２に供給する。
このシナリオでは、この先行する送信フリットの符号化信号は、符号化されたＣＲＣが、特別に指定されたＣＲＣ値と一致しなかったことを示す。
次に、検証ブロック３２０は、信号路３６８を介して送信ブロック３２８の第３入力（Ｉ３）３３３に、現在の送信フリットが検証フリットでないこと、および／または、先行するフリットの符号化されたＣＲＣが特別に指定されたＣＲＣ値と一致しなかったことを示す検証信号を供給する。
【００５１】
再送ブロック３２８は、第１入力（Ｉ１）３３０の先行する送信フリットのエラー信号の状態と、第２入力（Ｉ２）３３２の現在の送信フリットのエラー信号の状態と、第３入力（Ｉ３）３３３の検証信号の状態とに基づいて、出力（Ｏ１）３３４のセレクタ信号をマルチプレクサのセレクタ（ＳＥＬ）３４０に供給し、マルチプレクサ３３８に第３入力（Ｓ３）３４６を選択するように指示する。
それによって、アイドルフリット３４７が、出力３４８の宛先プロセスに供給される。
再送ブロック３２８は、同じ入力に基づいて、第２出力（Ｏ２）３３５には再送信号を供給せず、したがって、リンクレベルの再試行メカニズムを開始しない。
【００５２】
シナリオ３の例では、受信ノード３００はアイドルフリット３４７を出力し、現在の送信フリットを出力モジュール３０６のレジスタ３３６に保持する。
この現在の送信フリットについては、その符号化されたＣＲＣが、計算されたＣＲＣと一致していない。
受信ノード３００は、一連の送信フリットの後続する送信フリットの受信を待って、後続するフリットが確認フリットであるかどうかを判断する。
続いて、受信ノード３００は、レジスタ３１８に保持された符号化信号の状態に基づいて、レジスタ３３６の保持されている現在の送信フリットをマルチプレクサ３３８の出力３４８に供給するかどうか、および、再試行メカニズムを開始する再送信号を３７８に供給するかどうかを判断する。
以下に、併せて説明するシナリオ５およびシナリオ６の例は、上記シナリオ３の例によって示すように、現在のフリットのＣＲＣが誤っている場合において、後続する送信フリットを受信した後の受信ノード３００の可能な２つの応答を説明する。
【００５３】
シナリオ５およびシナリオ６の例では、受信機３０２は現在の送信フリットを受信して、このフリットを、信号路３５２を介してＣＲＣ生成器３１４に供給し、信号路３５４を介してレジスタ３３６に供給し、信号路３５６を介してマルチプレクサ３３８の第２入力（Ｓ２）３４４に供給し、信号路３５８を介して検証ブロック３２０の第２入力（Ｉ２）３２４に供給する。
このシナリオでは、直前の先行する送信フリットとして、符号化されたＣＲＣが、計算されたＣＲＣと一致しないものが受信されている。
【００５４】
ＣＲＣ生成器３１４は、現在の送信フリットの予期されたＣＲＣを計算して、この予期されたＣＲＣおよび現在の送信フリットの符号化されたＣＲＣを、信号路３６２を介して比較器３１５に供給する。
比較器３１５は、符号化されたＣＲＣを予期されたＣＲＣと比較し、現在の送信フリットの符号化されたＣＲＣが予期されたＣＲＣと一致することを示すエラー信号を、第１出力（Ｏ１）３１６から信号路３７０を介してレジスタ３２６に供給し、信号路３７４を介して再送ブロック３２８の第２入力（Ｉ２）３３２に供給する。
レジスタ３２６は、現在の送信フリットのエラー信号を受信すると同時に、信号路３７２を介して再送ブロック３２８の第１入力（Ｉ１）３３０に、先行する送信フリットのエラー信号を供給する。
このシナリオでは、この先行する送信フリットのエラー信号は、符号化されたＣＲＣが、予期されたＣＲＣと一致しなかったことを示している。
【００５５】
また、比較器３１５は、現在の送信フリットの符号化されたＣＲＣが、特別に指定されたＣＲＣ値と一致するかどうかを示す符号化信号を、第２出力（Ｏ２）３１７および信号路３６４を介してレジスタ３１８に供給する。
レジスタ３１８は、現在の送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を検証ブロック３２０の第１入力（Ｉ１）３２２に供給する。
【００５６】
次に、検証ブロック３２０は、３６８の符号化信号を再送ブロック３２８の第３入力（Ｉ３）３３３に供給する。
この符号化信号の状態は、第１入力（Ｉ１）３２２の先行するフリットの符号化信号が、符号化されたＣＲＣと特別に指定されたＣＲＣ値との一致を示しているかどうか、および、現在の送信フリットが確認フリットであるかどうかに依存する。
シナリオ５のもとでは、検証ブロック３２０は、現在の送信フリットが確認フリットでないこと、および／または、先行するフリットの符号化されたＣＲＣが特別に指定されたＣＲＣ値と一致しなかったことを示す状態を有する検証信号を供給する。
シナリオ６のもとでは、先行する送信フリットの符号化されたＣＲＣが特別に指定されたＣＲＣ値と一致することを示し、かつ、現在の送信フリットは、検証ブロックが、先行する送信フリットの符号化されたＣＲＣが特別に指定されたＣＲＣ値と意図的に一致することを示す確認フリットであることを示す状態を有する検証信号を供給する。
【００５７】
再送ブロック３２８は、第１入力（Ｉ１）３３０の先行する送信フリットのエラー信号の状態と、第２入力（Ｉ２）３３２の現在のフリットのエラー信号の状態と、第３入力（Ｉ３）３３３の検証信号の状態とに基づいて、第１出力（Ｏ１）３３４のセレクタ信号を、信号路３７６を介してマルチプレクサのセレクタ入力（ＳＥＬ）３４０に供給し、第２出力（Ｏ２）の再送信号を信号路３７８を介して供給する。
シナリオ５のもとでは、再送ブロック３２８への入力は、先行する送信フリットの符号化されたＣＲＣが誤りステータス情報を用いて符号化されていないことを示し、単に、送信誤りの存在を示す。
その結果、再送ブロック３２８は、マルチプレクサ３３８に第３入力（Ｓ３）３４６を選択するように指示する状態を有するセレクタ信号を供給する。
それによって、アイドルフリット３４７が出力３４８に供給される。
また、再送ブロック３２８は再送信号を供給する。
この再送信号は、先行する送信フリットから始まるリンクレベルの再試行メカニズムを開始するように送信ノードに指示する状態を有する。
シナリオ６のもとでは、再送ブロック３２８への入力は、先行する送信フリットの符号化されたＣＲＣが誤りステータス情報を用いて意図的に符号化されていることを示す。
その結果、再送ブロック３２８は、マルチプレクサ３３８に第１入力（Ｓ１）３４２を選択するように指示する状態を有するセレクタ信号を供給する。
それによって、先行する送信フリットが出力３４８に供給される。
また、再送ブロック３２８は再送信号を供給する。
この再送信号は、リンクレベルの再試行メカニズムを開始しない状態を有する。
【００５８】
シナリオ２、４、７および８の例については、本明細書では考察しないが、受信ノード３００は、上述したようなシナリオ１、３、５および６と首尾一貫した形式で動作して、表Ｉに列挙した値を供給する。
【００５９】
結論として、まれにしか発生しないデータ誤りの事象に関するステータス情報を用いてＣＲＣデータビットを符号化することにより、本発明によるＣＲＣ符号化方式を使用するネットワーク化システム、特に、限られた帯域幅を有するそれらのシステムは、限られた送信ビット容量をより効果的に利用することができる。
特に、以前は誤りステータスビットとしての使用に専用化されていたビットを付加的なＣＲＣビットとして使用する本発明によるネットワーク化システムは、同じ速度でデータを転送し続けることができる一方で、より一般的に発生する送信誤りの検出を向上させることができる。
【図面の簡単な説明】
【００６０】
【図１】ネットワーク化システムのブロック図である。
【図２Ａ】ネットワーク化システムで物理的に送信されるデータメッセージのパケット化されたメッセージ構成の一例の説明図である。
【図２Ｂ】誤りステータスビットを有するフリット構成の一例の説明図である。
【図３】誤りステータスビットを有さないフリット構成の一例の説明図である。
【図４】本発明によるネットワーク化システムの一実施の形態を示すブロック図である。
【図５】本発明による送信ノードの一実施の形態を示すブロック図である。
【図６】本発明による受信ノードの一実施の形態を示すブロック図である。
【符号の説明】
【００６１】
３２・・・ノードＡ、
３４・・・ノードＢ、
３８・・・メモリ、
５０・・・メッセージ、
５２、５４・・・パケット、
６４，６６，６８，７０・・・フリット、
５６，５８・・・ヘッダ、
７２，７４，７６，７８・・・データブロック、
９６，９８，１００，１０２・・・誤りステータスビット、
８０，８２，８４，８６・・・制御／ステータスビット、
６０，６２・・・トレーラ、
１１２〜１２６・・・データビット、
１２８・・・制御／ステータスビット、
１３０・・・誤りステータスビット、
１５２・・・データビット、
１５４・・・制御／ステータスビット、
１６０・・・ネットワーク化システム、
１６２・・・送信ノード、
１６４・・・受信ノード、
１６８・・・バッファ、
１７０・・・符号器、
１７２・・・復号器、
１７４・・・ＣＲＣ生成器、
１７６・・・比較器、
２００・・・送信ノード、
２０２・・・バッファ、
２０４・・・符号化モジュール、
２０６・・・出力モジュール、
２０８・・・検証モジュール、
２１２・・・ＣＲＣ生成器、
２１４・・・ＣＲＣ符号器、
２１６・・・エラー回路、
２２８・・・誤りステータスビット、
２２６・・・制御／ステータスビット、
２２４・・・データブロック、
３００・・・受信ノード、
３０２・・・受信機、
３０４・・・復号器、
３０６・・・出力モジュール、
３０８・・・確認モジュール、
３１０・・・再送モジュール、
３１２・・・送信機、
３１４・・・ＣＲＣ生成器、
３１５・・・比較器、
３１８・・・レジスタ、
３２０・・・検証ブロック、
３２６・レジスタ、
３３０・・・再送ブロック、
３３６・・・レジスタ、
３３８・・・マルチプレクサ、
３４７・・・アイドルフリット、
【図１】
2004242294.tif 000004
【図２Ａ】
2004242294.tif 000005
【図２Ｂ】
2004242294.tif 000006
【図３】
2004242294.tif 000007
【図４】
2004242294.tif 000008
【図５】
2004242294.tif 000009
【図６】
2004242294.tif 000010