JP2004242294A - ステータス情報を伝達するcrc符号化方式 - Google Patents
ステータス情報を伝達するcrc符号化方式 Download PDFInfo
- Publication number
- JP2004242294A JP2004242294A JP2004003624A JP2004003624A JP2004242294A JP 2004242294 A JP2004242294 A JP 2004242294A JP 2004003624 A JP2004003624 A JP 2004003624A JP 2004003624 A JP2004003624 A JP 2004003624A JP 2004242294 A JP2004242294 A JP 2004242294A
- Authority
- JP
- Japan
- Prior art keywords
- crc
- flit
- transmission
- error
- encoded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
【課題】 専用化されたビットを必要としない誤り検出システムを提供する。
【解決手段】 この方法は、一連のデータ群の少なくとも1つのデータ群の予期された巡回冗長符号(CRC)を生成することを含む。各データ群は、データブロックと、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットとを含む。前記予期されたCRCは、前記データ群と、前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である。この方法は、前記少なくとも1ビットの誤りステータスビットの状態を用いて前記予期されたCRCを符号化することであって、それによって符号化されたCRCを生成する、前記予期されたCRCを符号化することをさらに含む。
【選択図】図3
【解決手段】 この方法は、一連のデータ群の少なくとも1つのデータ群の予期された巡回冗長符号(CRC)を生成することを含む。各データ群は、データブロックと、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットとを含む。前記予期されたCRCは、前記データ群と、前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である。この方法は、前記少なくとも1ビットの誤りステータスビットの状態を用いて前記予期されたCRCを符号化することであって、それによって符号化されたCRCを生成する、前記予期されたCRCを符号化することをさらに含む。
【選択図】図3
Description
本発明は、包括的には、データ通信システムに関し、詳細には、分散したノード間でデータを送信し、誤り通知技法および誤り検出技法を使用して、送信されたデータが破損しているかどうか、または、送信されたデータが送信誤りなく受信されたかどうかを通知するネットワーク化システムに関する。
ネットワーク化システムは、一般に、ある形態のネットワーク接続を介して、分散したノード間でデータを送信する。
ネットワーク接続は、通常、ある形態の物理リンクを備える。
送信されるデータは、通常は、パケットとして知られているデータの単位に編成される。
各パケットは、通常、フリット(FLIT)として知られているさらに小さなデータ単位から構成される。
さらに、各フリットは、一般に、データブロック、制御/ステータスビット(例えばクレジット)、および複数のビットを含む巡回冗長符号(CRC)を含む。
CRCは、送信誤り検出を行うためにネットワーク化システムによって利用される。
送信ノードは、論理関数を使用して、データブロックからCRCを計算し、データブロックおよび制御/ステータスビットと共にCRCを含み、送信用のフリットを形成する。
受信ノードは、送信されたフリットを受信すると、論理関数を使用して、受信したデータブロックからCRCを計算する。
計算されたCRCが送信されたCRCと一致しないということは、送信中にリンク誤りが発生したことを示し、これに応答して、ネットワーク化システムは、通常、リンクレイヤの「再試行」メカニズムを開始して、送信ノードから受信ノードにデータを再送する。
再送は、送信誤りを含むフリットから開始される。
ネットワーク接続は、通常、ある形態の物理リンクを備える。
送信されるデータは、通常は、パケットとして知られているデータの単位に編成される。
各パケットは、通常、フリット(FLIT)として知られているさらに小さなデータ単位から構成される。
さらに、各フリットは、一般に、データブロック、制御/ステータスビット(例えばクレジット)、および複数のビットを含む巡回冗長符号(CRC)を含む。
CRCは、送信誤り検出を行うためにネットワーク化システムによって利用される。
送信ノードは、論理関数を使用して、データブロックからCRCを計算し、データブロックおよび制御/ステータスビットと共にCRCを含み、送信用のフリットを形成する。
受信ノードは、送信されたフリットを受信すると、論理関数を使用して、受信したデータブロックからCRCを計算する。
計算されたCRCが送信されたCRCと一致しないということは、送信中にリンク誤りが発生したことを示し、これに応答して、ネットワーク化システムは、通常、リンクレイヤの「再試行」メカニズムを開始して、送信ノードから受信ノードにデータを再送する。
再送は、送信誤りを含むフリットから開始される。
しかしながら、CRCビットは、一般に、ネットワーク接続を介した送信中に取り込まれたデータブロックの誤りのみを受信ノードに通知し、送信前に存在するデータブロックの誤りを通知しない。
これらの状況において、ネットワーク化システムは、一般に、フリットの一部として誤り情報を含み、送信されたデータブロック自体が誤った情報を含むことを受信ノードに通知する。
例えば、メモリ源からデータを検索する送信ノードは、そのメモリから検索されたデータに訂正できないデータ誤りが存在することを検出する場合がある。
送信ノードが、破損したデータを受信ノードに単に送信し、リンク誤りが送信中に発生しない場合には、送信されたデータは、受信ノードにとって誤りのないデータと見える。
送信されたデータ自体が破損していることを受信ノードに警告するために、誤りステータスビットが、送信されるフリットの制御/ステータスビットの1つとして含まれる場合が多い。
この誤りステータスビットは、時に「ポイズン(poison)」ビットと呼ばれることがある。
受信ノードが、破損データを示す「ポイズン」ビットを有するフリットを受信すると、そのフリットがたとえ送信中に誤りなく受信されたことをCRCが示していても、データブロックが破損していることが受信ノードに通知される。
これらの状況において、ネットワーク化システムは、一般に、フリットの一部として誤り情報を含み、送信されたデータブロック自体が誤った情報を含むことを受信ノードに通知する。
例えば、メモリ源からデータを検索する送信ノードは、そのメモリから検索されたデータに訂正できないデータ誤りが存在することを検出する場合がある。
送信ノードが、破損したデータを受信ノードに単に送信し、リンク誤りが送信中に発生しない場合には、送信されたデータは、受信ノードにとって誤りのないデータと見える。
送信されたデータ自体が破損していることを受信ノードに警告するために、誤りステータスビットが、送信されるフリットの制御/ステータスビットの1つとして含まれる場合が多い。
この誤りステータスビットは、時に「ポイズン(poison)」ビットと呼ばれることがある。
受信ノードが、破損データを示す「ポイズン」ビットを有するフリットを受信すると、そのフリットがたとえ送信中に誤りなく受信されたことをCRCが示していても、データブロックが破損していることが受信ノードに通知される。
「ポイズン」ビットおよび他のデータステータスビットは、破損データおよび他のデータ異常の存在を受信ノードに通知するのに有効であるが、それらのビットによって、フリットは、より多くのビットを含む必要があるか、または、データ転送を含む他の機能に専用化されるビットを少なくする必要がある。
さらに、それらのビットが通知の機能を果たす対象となる誤りが、まれにしか発生しない誤り、例えば上記例によって説明したソースデータの破損などである場合、その誤りビットおよびステータスビットは、限られたビット容量の非効率な使用を表す場合が多い。
さらに、それらのビットが通知の機能を果たす対象となる誤りが、まれにしか発生しない誤り、例えば上記例によって説明したソースデータの破損などである場合、その誤りビットおよびステータスビットは、限られたビット容量の非効率な使用を表す場合が多い。
ほとんどネットワーク化システムは、通常、すでに、各フリットの多数のビットを、データ誤りの大部分を占める送信誤りの検出用に専用化しているので、破損したデータまたはソースデータを宛先ノードに通知することにもこれらのビットを使用できる場合有利である。
したがって、これまで、ポイズンビットを含む制御/ステータスビットとしての使用に専用化されていたビットを使用することにより、データ転送容量を増加させたり、付加的なCRCビットとして、送信中に発生するリンク誤りの検出および/または訂正を改善したりすることができる。
したがって、これまで、ポイズンビットを含む制御/ステータスビットとしての使用に専用化されていたビットを使用することにより、データ転送容量を増加させたり、付加的なCRCビットとして、送信中に発生するリンク誤りの検出および/または訂正を改善したりすることができる。
多くのシステム、特に、帯域幅の制約を有するシステムは、まれにしか発生しないデータ誤りの通知に専用化されたビットを必要としない誤り検出システムによって利益を得る。
本発明の一態様は、データ通信方法を提供する。
この方法は、一連のデータ群の少なくとも1つのデータ群の予期された巡回冗長符号(CRC)を生成することを含む。
各データ群は、データブロックと、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットとを含む。
前記予期されたCRCは、前記データ群と、前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である。
この方法は、前記少なくとも1ビットの誤りステータスビットの状態を用いて前記予期されたCRCを符号化することであって、それによって符号化されたCRCを生成する、前記予期されたCRCを符号化することをさらに含む。
この方法は、一連のデータ群の少なくとも1つのデータ群の予期された巡回冗長符号(CRC)を生成することを含む。
各データ群は、データブロックと、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットとを含む。
前記予期されたCRCは、前記データ群と、前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である。
この方法は、前記少なくとも1ビットの誤りステータスビットの状態を用いて前記予期されたCRCを符号化することであって、それによって符号化されたCRCを生成する、前記予期されたCRCを符号化することをさらに含む。
本発明の一態様は、ネットワーク化システムの送信ノードを提供する。
該送信ノードは、一連のデータ群を受信するように構成される符号化モジュールを含み、各データ群は、データビットを含むデータブロックと、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットとを含む。
前記送信ノードは、前記一連のデータ群の少なくとも1つのデータ群について、前記データブロックと、前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である、複数のビットを含む予期された巡回冗長符号(CRC)を生成するように構成される。
前記送信ノードは、さらに、前記予期されたCRCを、前記少なくとも1ビットの誤りステータスビットの状態を用いて符号化し、それによって、前記少なくとも1つのデータ群について、複数のビットを含む符号化されたCRCを生成するように構成される。
該送信ノードは、一連のデータ群を受信するように構成される符号化モジュールを含み、各データ群は、データビットを含むデータブロックと、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットとを含む。
前記送信ノードは、前記一連のデータ群の少なくとも1つのデータ群について、前記データブロックと、前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である、複数のビットを含む予期された巡回冗長符号(CRC)を生成するように構成される。
前記送信ノードは、さらに、前記予期されたCRCを、前記少なくとも1ビットの誤りステータスビットの状態を用いて符号化し、それによって、前記少なくとも1つのデータ群について、複数のビットを含む符号化されたCRCを生成するように構成される。
本発明の一態様は、ネットワーク化システムの受信ノードを提供する。
該受信ノードは復号器を含み、該復号器は、CRC生成器および比較器をさらに含む。
前記CRC生成器は、一連の送信フリットを受信するように構成され、各フリットは、Mビットを有する符号化されたCRCと、データブロックおよび制御/ステータスビットを含むデータ群とを含む。
前記CRC生成器は、少なくとも1つの送信フリットについて、M個のビット位置にMビットを含む予期されたCRCを生成するように構成される。
Mビットの各ビットは状態を有する。
前記予期されたCRCは、該少なくとも1つの送信フリットの前記データ群の関数である。
前記比較器は、前記符号化されたCRCを、前記少なくとも1つの送信フリットの前記予期されたCRCと比較し、かつ、少なくとも1つの特別に指定されたCRCと比較し、それによって、送信誤りが該少なくとも1つの送信フリットに存在するかどうか、および、該少なくとも1つの送信フリットの前記データブロックが破損データを含むかどうかの表示を提供するように構成される。
該受信ノードは復号器を含み、該復号器は、CRC生成器および比較器をさらに含む。
前記CRC生成器は、一連の送信フリットを受信するように構成され、各フリットは、Mビットを有する符号化されたCRCと、データブロックおよび制御/ステータスビットを含むデータ群とを含む。
前記CRC生成器は、少なくとも1つの送信フリットについて、M個のビット位置にMビットを含む予期されたCRCを生成するように構成される。
Mビットの各ビットは状態を有する。
前記予期されたCRCは、該少なくとも1つの送信フリットの前記データ群の関数である。
前記比較器は、前記符号化されたCRCを、前記少なくとも1つの送信フリットの前記予期されたCRCと比較し、かつ、少なくとも1つの特別に指定されたCRCと比較し、それによって、送信誤りが該少なくとも1つの送信フリットに存在するかどうか、および、該少なくとも1つの送信フリットの前記データブロックが破損データを含むかどうかの表示を提供するように構成される。
本発明の一態様は、ネットワーク化接続と、該ネットワーク化接続に接続された送信ノードと、該ネットワーク化接続に接続された受信ノードとを備えるネットワーク化システムを提供する。
前記送信ノードは、一連のデータ群を受信するように構成され、各データ群は、データビットを含むデータブロックと、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットとを含む符号化モジュールを備える。
前記送信ノードは、前記一連のデータ群の少なくとも1つデータ群について、前記データブロックと、前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である予期された巡回冗長符号(CRC)を生成するように構成される。
前記送信ノードは、さらに、前記予期されたCRCを、前記少なくとも1ビットの誤りステータスビットの状態を用いて符号化し、それによって、前記少なくとも1つのデータ群について、複数のビットを含む符号化されたCRCを生成するように構成される。
前記送信ノードは、一連のデータ群を受信するように構成され、各データ群は、データビットを含むデータブロックと、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットとを含む符号化モジュールを備える。
前記送信ノードは、前記一連のデータ群の少なくとも1つデータ群について、前記データブロックと、前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である予期された巡回冗長符号(CRC)を生成するように構成される。
前記送信ノードは、さらに、前記予期されたCRCを、前記少なくとも1ビットの誤りステータスビットの状態を用いて符号化し、それによって、前記少なくとも1つのデータ群について、複数のビットを含む符号化されたCRCを生成するように構成される。
前記受信ノードは、前記少なくとも1ビットの誤りステータスビットを含まない前記少なくとも1つのデータ群と、該少なくとも1つのデータ群の前記符号化されたCRCとを前記送信ノードから受信するように構成される復号器を備える。
該復号器は、CRC生成器をさらに含む。
該CRC生成器は、前記少なくとも1つのデータ群について、前記少なくとも1ビットの誤りステータスビットを含まない該少なくとも1つのデータ群の関数である予期されたCRCを生成するように構成される。
前記比較器は、前記符号化されたCRCを、前記予期されたCRCと比較し、かつ、少なくとも1つの特別に指定されたCRCと比較し、それによって、送信誤りが該少なくとも1つのデータ群および符号化されたCRCに存在するかどうか、ならびに、前記データブロックが破損データを含むかどうかの表示を提供するように構成される。
該復号器は、CRC生成器をさらに含む。
該CRC生成器は、前記少なくとも1つのデータ群について、前記少なくとも1ビットの誤りステータスビットを含まない該少なくとも1つのデータ群の関数である予期されたCRCを生成するように構成される。
前記比較器は、前記符号化されたCRCを、前記予期されたCRCと比較し、かつ、少なくとも1つの特別に指定されたCRCと比較し、それによって、送信誤りが該少なくとも1つのデータ群および符号化されたCRCに存在するかどうか、ならびに、前記データブロックが破損データを含むかどうかの表示を提供するように構成される。
図1に、ネットワーク化システムをブロック図の形態により包括的に30で示す。
ネットワーク化システム30は、32で示されるノードAおよび34で示されるノードBを含む。
ネットワーク化システム30には、相互接続構造、すなわち相互接続リンク36を介して、ノードA、32とノードB、34との間でデータを通信する機能が内在している。
しかしながら、相互接続リンクは、雑音を有する場合が多く、例えばノードAとノードBとの間などのノード間でのデータ送信中に、データに「リンク」誤りを取り込む可能性がある。
送信中に発生するリンク誤りは、雑音、α粒子の衝突および振動といったものによって引き起こされ、ネットワーク化システムの誤りの大部分を占める。
ネットワーク化システム30は、32で示されるノードAおよび34で示されるノードBを含む。
ネットワーク化システム30には、相互接続構造、すなわち相互接続リンク36を介して、ノードA、32とノードB、34との間でデータを通信する機能が内在している。
しかしながら、相互接続リンクは、雑音を有する場合が多く、例えばノードAとノードBとの間などのノード間でのデータ送信中に、データに「リンク」誤りを取り込む可能性がある。
送信中に発生するリンク誤りは、雑音、α粒子の衝突および振動といったものによって引き起こされ、ネットワーク化システムの誤りの大部分を占める。
このような誤りに対応して、ネットワーク化システムは、通常、ある形態の誤り検出方式を使用し、それによって、相互接続構造を通じて受信されたデータが、送信中にデータに取り込まれたかもしれないリンク誤りを受けることなく受信されたかどうかを、受信ノード、例えばノードB、34などが判断できるようにする。
ネットワーク化システムに一般に取り入れられた従来の1つの送信誤り検出方式は、巡回冗長符号(CRC)誤り検出方式である。
CRC誤り検出方式では、送信されるデータは大きな2進数とみなされる。
データを送信するノードは、データによって形成されるこの大きな2進数を、生成多項式と呼ばれる第2の2進数で除算する。
この除算演算の剰余は、CRCチェックサム、または単にCRCと呼ばれる。
送信ノードは、次に、CRCをデータに追加して、データおよび追加されたCRCを相互接続リンクを介して受信ノードに送信する。
受信ノードは、送信されたデータおよびCRCを受信すると、送信ノードと同じ生成多項式を使用して、受信したデータからCRCを計算する。
受信したデータから受信ノードにより計算されたCRCが、送信ノードによって送信されたCRCと一致するということは、送信されたデータが、送信中に取り込まれたかもしれないリンク誤りを受けることなく受信されたことを示す。
これらのCRCが一致しない場合には、受信ノードは、通常、データの再送を行うために、リンクレイヤの再試行メカニズムを開始する。
ネットワーク化システムに一般に取り入れられた従来の1つの送信誤り検出方式は、巡回冗長符号(CRC)誤り検出方式である。
CRC誤り検出方式では、送信されるデータは大きな2進数とみなされる。
データを送信するノードは、データによって形成されるこの大きな2進数を、生成多項式と呼ばれる第2の2進数で除算する。
この除算演算の剰余は、CRCチェックサム、または単にCRCと呼ばれる。
送信ノードは、次に、CRCをデータに追加して、データおよび追加されたCRCを相互接続リンクを介して受信ノードに送信する。
受信ノードは、送信されたデータおよびCRCを受信すると、送信ノードと同じ生成多項式を使用して、受信したデータからCRCを計算する。
受信したデータから受信ノードにより計算されたCRCが、送信ノードによって送信されたCRCと一致するということは、送信されたデータが、送信中に取り込まれたかもしれないリンク誤りを受けることなく受信されたことを示す。
これらのCRCが一致しない場合には、受信ノードは、通常、データの再送を行うために、リンクレイヤの再試行メカニズムを開始する。
しかしながら、CRC誤り検出方式は、通常、送信中に取り込まれた誤りのみを検出し、送信されるデータがその送信前に破損している場合には、誤り表示を提供しない。
これらの状況では、たとえデータが誤りを有するか、または破損していても、送信中に誤りが取り込まれない場合には、CRC誤り検出方式の送信されたCRCおよび計算されたCRCは一致することになる。
説明例として、ネットワーク化システム30の送信ノードA、32が、ノードAのメモリ38からデータを読み出すメモリコントローラであると仮定する。
メモリコントローラは、通常、所定のタイプのデータ誤りを検出でき、かつ、検出した所定のタイプの誤りを訂正できるタイプの誤り検出/訂正メカニズムを備える。
ノードA、32が、メモリ38からデータ読み出し中に、訂正できないタイプのデータ誤りを検出すると、ノードAは、データが破損していることをノードB、34に通知するある方法を有さなければならない。
そうでない場合、ノードA、32が、ネットワーク接続36を介して、破損したデータを送信誤りなくノードB、34に単に送信すると、送信されたデータからノードB、34によって計算されたCRCは、ノードA、32とノードB、34から受信したCRCと一致することになる。
これは、たとえデータ自体が破損していても、送信されたデータには誤りがないことを示す。
この結果、および他の同様のシナリオの結果として、送信された情報が情報源において誤りを有するか、または破損していることを受信ノードに知らせるさまざまな誤り方式が開発されてきた。
これらの状況では、たとえデータが誤りを有するか、または破損していても、送信中に誤りが取り込まれない場合には、CRC誤り検出方式の送信されたCRCおよび計算されたCRCは一致することになる。
説明例として、ネットワーク化システム30の送信ノードA、32が、ノードAのメモリ38からデータを読み出すメモリコントローラであると仮定する。
メモリコントローラは、通常、所定のタイプのデータ誤りを検出でき、かつ、検出した所定のタイプの誤りを訂正できるタイプの誤り検出/訂正メカニズムを備える。
ノードA、32が、メモリ38からデータ読み出し中に、訂正できないタイプのデータ誤りを検出すると、ノードAは、データが破損していることをノードB、34に通知するある方法を有さなければならない。
そうでない場合、ノードA、32が、ネットワーク接続36を介して、破損したデータを送信誤りなくノードB、34に単に送信すると、送信されたデータからノードB、34によって計算されたCRCは、ノードA、32とノードB、34から受信したCRCと一致することになる。
これは、たとえデータ自体が破損していても、送信されたデータには誤りがないことを示す。
この結果、および他の同様のシナリオの結果として、送信された情報が情報源において誤りを有するか、または破損していることを受信ノードに知らせるさまざまな誤り方式が開発されてきた。
本明細書の背景技術の節で考察したように、たとえCRCが一致する場合があっても、宛先ノードの受信中の情報が破損していることを宛先ノードに警告することが行われる。
これを行うために、ネットワーク化システムが一般に採用する従来の1つの方式は、送信されるデータに追加される誤りステータスビットを利用することである。
上記説明例のネットワーク化システム30がこのような方式を使用すると、データの送信前に、ノードAは、追加された誤りステータスビット(1つまたは複数)の状態を、送信されるデータが破損しているかどうかを示す状態に設定する。
ノードBは、ノードAから送信されたデータを受信すると、誤りステータスビットの状態をチェックして、データが破損しているかどうかを判断する。
したがって、上記説明例では、たとえCRC誤り検出方式が受信したデータに送信誤りがないことを示していても、誤りステータスビットの状態をチェックすることにより、ノードBは受信したデータが破損していることに気付く。
これを行うために、ネットワーク化システムが一般に採用する従来の1つの方式は、送信されるデータに追加される誤りステータスビットを利用することである。
上記説明例のネットワーク化システム30がこのような方式を使用すると、データの送信前に、ノードAは、追加された誤りステータスビット(1つまたは複数)の状態を、送信されるデータが破損しているかどうかを示す状態に設定する。
ノードBは、ノードAから送信されたデータを受信すると、誤りステータスビットの状態をチェックして、データが破損しているかどうかを判断する。
したがって、上記説明例では、たとえCRC誤り検出方式が受信したデータに送信誤りがないことを示していても、誤りステータスビットの状態をチェックすることにより、ノードBは受信したデータが破損していることに気付く。
図2Aは、ネットワークシステムノード間、例えばネットワーク化システム30の32で示されるノードAと34で示されるノードBとの間でデータを物理的に送信するための一例のメッセージ構成50の説明図である。
データは、通常、例えばメッセージ構成50によって表されるようなメッセージの形態でノード間を通信される。
本明細書では、メッセージは、アプリケーションにより定義された、ノード間のデータ交換の単位と定義される。
メッセージは、通常、ノード間でメッセージを物理的に送信するパケット、例えばパケット52および54に編成される。
本明細書では、パケットは、ネットワークプロトコルのヘッダおよび/またはトレーラ(trailer)の間、例えばヘッダ56とトレーラ60との間およびヘッダ58とトレーラ62との間でカプセル化されるデータの単位と定義される。
各パケットは、フリット64、66、68および70によって示すように、本明細書でフリットと呼ばれるデータの単位をさらに含む。
さらに、各フリットは、72、74、76および78によって示すようなデータブロックと、80、82、84および86によって示すような制御/ステータスビットと、88、90、92および94によって示すようなCRCとを含む。
最後に、制御/ステータスビットは、96、98、100および102で示すような誤りステータスビットをさらに含む。
データは、通常、例えばメッセージ構成50によって表されるようなメッセージの形態でノード間を通信される。
本明細書では、メッセージは、アプリケーションにより定義された、ノード間のデータ交換の単位と定義される。
メッセージは、通常、ノード間でメッセージを物理的に送信するパケット、例えばパケット52および54に編成される。
本明細書では、パケットは、ネットワークプロトコルのヘッダおよび/またはトレーラ(trailer)の間、例えばヘッダ56とトレーラ60との間およびヘッダ58とトレーラ62との間でカプセル化されるデータの単位と定義される。
各パケットは、フリット64、66、68および70によって示すように、本明細書でフリットと呼ばれるデータの単位をさらに含む。
さらに、各フリットは、72、74、76および78によって示すようなデータブロックと、80、82、84および86によって示すような制御/ステータスビットと、88、90、92および94によって示すようなCRCとを含む。
最後に、制御/ステータスビットは、96、98、100および102で示すような誤りステータスビットをさらに含む。
図2Bは、図1のネットワーク化システム30の一例のフリット構成110の説明図である。
図2Bの説明例の構成では、ネットワーク化システム30のフリット110は、それぞれ144ビットを含み、ノードA32およびノードB34は、相互接続構造36を介して1サイクルにつき16ビットのデータを送信することができる。
したがって、相互接続構造36を介してノードB、34にフリット110を送信するには、ノードA、32に9サイクルが必要とされる。
しかしながら、以下に説明する本発明は、任意の適切なフリット構成および転送速度に適用することができる。
図2Bの説明例では、フリット110は、128ビットを有するデータブロックを含む。
このデータブロックは、112、114、116、118、120、122、124および126のサイクルゼロ〜サイクル7でそれぞれ示すように、1サイクルにつき16ビットで送信される。
図2Bの説明例では、フリット110は、8ビットの制御/ステータスビット128(ビット128〜135として示す)および8ビットのCRC132をさらに含む。
制御/ステータスビット128のうちの2ビットは、誤りステータスビット130である。
これらの制御/ステータスビット128およびCRC132は、134で示すように、サイクル8で送信される。
図2Bの説明例の構成では、ネットワーク化システム30のフリット110は、それぞれ144ビットを含み、ノードA32およびノードB34は、相互接続構造36を介して1サイクルにつき16ビットのデータを送信することができる。
したがって、相互接続構造36を介してノードB、34にフリット110を送信するには、ノードA、32に9サイクルが必要とされる。
しかしながら、以下に説明する本発明は、任意の適切なフリット構成および転送速度に適用することができる。
図2Bの説明例では、フリット110は、128ビットを有するデータブロックを含む。
このデータブロックは、112、114、116、118、120、122、124および126のサイクルゼロ〜サイクル7でそれぞれ示すように、1サイクルにつき16ビットで送信される。
図2Bの説明例では、フリット110は、8ビットの制御/ステータスビット128(ビット128〜135として示す)および8ビットのCRC132をさらに含む。
制御/ステータスビット128のうちの2ビットは、誤りステータスビット130である。
これらの制御/ステータスビット128およびCRC132は、134で示すように、サイクル8で送信される。
誤りステータスビット、例えば「ポイズン」ビットは、送信されたデータが、送信誤りを受けずに受信されているにもかかわらず破損していることを宛先ノードに通知するという点で役立つが、それらのビットは、各フリット内に専用化されたビットスペースを必要とする。
しかしながら、誤りステータスビットが通知するデータ誤りのタイプは、比較的まれにしか発生せず、リンク誤りは、ネットワーク化システムの誤りの大部分を占める。
その結果、誤りステータスビットを使用するネットワーク化システムは、まれにしか発生しない誤りを受信ノードに通知するために、各フリット内の貴重なビットスペースを消費することになる。
しかしながら、誤りステータスビットが通知するデータ誤りのタイプは、比較的まれにしか発生せず、リンク誤りは、ネットワーク化システムの誤りの大部分を占める。
その結果、誤りステータスビットを使用するネットワーク化システムは、まれにしか発生しない誤りを受信ノードに通知するために、各フリット内の貴重なビットスペースを消費することになる。
以下に示す本発明のCRC符号化方式は、専用化された誤りビットを必要とすることなく、これらのまれにしか発生しない誤りを通知することができる。
次に、ネットワーク化システムは、以前は誤りステータスビットとして利用されたデータビットを他のビットとして機能するように利用することができる。
他のビットには、実際の「ペイロード」情報ビットおよびCRCビットが含まれるが、これに限定されるものではない。
一実施の形態では、以下に説明する本発明のCRC符号化方式を使用する送信ノードは、送信されるフリットの予期されたCRCを計算して、予期されたCRCの各ビットの状態を反転することによりそのCRCを符号化し、それによって、破損したデータの表示を提供する。
一実施の形態では、受信ノードは、フリットおよびフリットに関連付けられたCRCを受信すると、受信したフリットから予期されたCRCを計算し、計算したCRCを受信したCRCと比較する。
一実施の形態では、計算したCRCが受信したCRCと一致しない場合には、受信ノードは計算したCRCの各ビットの状態を反転し、反転したものを受信したCRCと比較する。
一実施の形態では、計算したCRCの反転した状態が、受信したCRCと一致する場合には、受信ノードは、受信したCRCが符号化されていること、およびフリットデータが破損していることを知り、リンク再試行メカニズムを開始しない。
一実施の形態では、計算したCRCの反転した状態が受信したCRCと一致しない場合には、受信ノードは、フリットデータが送信誤りを含むことを知り、リンク再試行メカニズムを開始する。
一実施の形態では、送信ノードは、符号化されたCRCを有するフリットの送信前または送信後に、符号化されたCRCが偶然に発生したものでないことを受信ノードに通知する確認フリットを受信ノードに送信する。
次に、ネットワーク化システムは、以前は誤りステータスビットとして利用されたデータビットを他のビットとして機能するように利用することができる。
他のビットには、実際の「ペイロード」情報ビットおよびCRCビットが含まれるが、これに限定されるものではない。
一実施の形態では、以下に説明する本発明のCRC符号化方式を使用する送信ノードは、送信されるフリットの予期されたCRCを計算して、予期されたCRCの各ビットの状態を反転することによりそのCRCを符号化し、それによって、破損したデータの表示を提供する。
一実施の形態では、受信ノードは、フリットおよびフリットに関連付けられたCRCを受信すると、受信したフリットから予期されたCRCを計算し、計算したCRCを受信したCRCと比較する。
一実施の形態では、計算したCRCが受信したCRCと一致しない場合には、受信ノードは計算したCRCの各ビットの状態を反転し、反転したものを受信したCRCと比較する。
一実施の形態では、計算したCRCの反転した状態が、受信したCRCと一致する場合には、受信ノードは、受信したCRCが符号化されていること、およびフリットデータが破損していることを知り、リンク再試行メカニズムを開始しない。
一実施の形態では、計算したCRCの反転した状態が受信したCRCと一致しない場合には、受信ノードは、フリットデータが送信誤りを含むことを知り、リンク再試行メカニズムを開始する。
一実施の形態では、送信ノードは、符号化されたCRCを有するフリットの送信前または送信後に、符号化されたCRCが偶然に発生したものでないことを受信ノードに通知する確認フリットを受信ノードに送信する。
図3は、本発明によるCRC符号化方式を使用する、図1のネットワーク化システム30の一例のフリット構成150の説明図である。
このCRC符号化方式では、以前は誤りステータスビットとして使用されたビットが、付加的なCRCビットとして利用される。
本発明によるネットワーク化システム30のフリット150は、それぞれ144ビットを含む。
図2Bのフリット110の例と同様に、フリット150は、128ビットを有するデータブロックを含み、それらのビットは、152で示すように、8つのサイクルでノードA32からノードB34に送信される。
しかしながら、図2Bのフリット110の8ビットの制御/ステータスビットおよび8ビットのCRCとは対照的に、フリット150は、6ビットの制御/ステータスビット154および10ビットのCRC154を含む。
図3のフリット150は、図2Bのフリット110の誤りステータスビットを含まない。
本発明によるネットワーク化システム30は、誤りステータスビットの状態をCRCに符号化すること、および、以前の誤りステータスビットを付加的なCRCビットとして利用することにより、データブロックの誤りの表示を依然として提供すると同時に、送信誤りの改善された検出を提供する。
このCRC符号化方式では、以前は誤りステータスビットとして使用されたビットが、付加的なCRCビットとして利用される。
本発明によるネットワーク化システム30のフリット150は、それぞれ144ビットを含む。
図2Bのフリット110の例と同様に、フリット150は、128ビットを有するデータブロックを含み、それらのビットは、152で示すように、8つのサイクルでノードA32からノードB34に送信される。
しかしながら、図2Bのフリット110の8ビットの制御/ステータスビットおよび8ビットのCRCとは対照的に、フリット150は、6ビットの制御/ステータスビット154および10ビットのCRC154を含む。
図3のフリット150は、図2Bのフリット110の誤りステータスビットを含まない。
本発明によるネットワーク化システム30は、誤りステータスビットの状態をCRCに符号化すること、および、以前の誤りステータスビットを付加的なCRCビットとして利用することにより、データブロックの誤りの表示を依然として提供すると同時に、送信誤りの改善された検出を提供する。
一般に、ランダムなマルチビットの送信誤りが検出されない確率は、以下の式Iによって表すことができる。
式I
検出されないマルチビットの誤りの確率=2(-n)
ここで、n=1フリットあたりに割り当てられたCRCのビット数
検出されないマルチビットの誤りの確率=2(-n)
ここで、n=1フリットあたりに割り当てられたCRCのビット数
図2Bに示すようなフリット構成110を使用するネットワーク化システム30に上記式を適用すると、ノードA32からノードB34へのフリット110の送信時に、ランダムなマルチビットの誤りが検出されない確率は、1/256である。
一方、図3に示すようなフリット構成150を使用する、本発明によるネットワーク化システム30に上記式を適用すると、ランダムなマルチビットの誤りが検出されない確率は、1/1024である。
したがって、本発明によるネットワーク化システム30では、マルチビットの送信誤りを検出できない確率が4倍小さくなる。
一方、図3に示すようなフリット構成150を使用する、本発明によるネットワーク化システム30に上記式を適用すると、ランダムなマルチビットの誤りが検出されない確率は、1/1024である。
したがって、本発明によるネットワーク化システム30では、マルチビットの送信誤りを検出できない確率が4倍小さくなる。
図4は、本発明によるネットワーク化システム160の一実施の形態のブロック図である。
ネットワーク化システム160は、送信ノード162、受信ノード164、およびネットワーク接続166を含む。
送信ノード162は、バッファ168および符号器170を含む。
受信ノード164は復号器172を含む。
また、復号器172は、CRC生成器174および比較器176を備える。
ネットワーク接続166は、任意の適切なタイプの接続とすることができ、この接続には、ローカルエリアネットワーク(LAN)接続、バス接続、電話回線/モデム接続、直接無線接続、インターネット接続および/またはイントラネット接続が含まれるが、これらに限定されるものではない。
ネットワーク化システム160は、送信ノード162、受信ノード164、およびネットワーク接続166を含む。
送信ノード162は、バッファ168および符号器170を含む。
受信ノード164は復号器172を含む。
また、復号器172は、CRC生成器174および比較器176を備える。
ネットワーク接続166は、任意の適切なタイプの接続とすることができ、この接続には、ローカルエリアネットワーク(LAN)接続、バス接続、電話回線/モデム接続、直接無線接続、インターネット接続および/またはイントラネット接続が含まれるが、これらに限定されるものではない。
バッファモジュール168は、信号線178を介して一連のソースフリットを受信する。
各ソースフリットは、データブロック、誤りステータスビットを含む制御/ステータスビットおよびCRCを含む。
誤りステータスビットの状態は、関連付けられたフリットのデータブロックの少なくとも1つのタイプのデータ誤りの存否を示す。
バッファモジュール168は、一連のデータ群を符号器170に供給し、各データ群は、対応するソースフリットのデータブロックと、誤りステータスビットを含む制御/ステータスビットとを含む。
各ソースフリットは、データブロック、誤りステータスビットを含む制御/ステータスビットおよびCRCを含む。
誤りステータスビットの状態は、関連付けられたフリットのデータブロックの少なくとも1つのタイプのデータ誤りの存否を示す。
バッファモジュール168は、一連のデータ群を符号器170に供給し、各データ群は、対応するソースフリットのデータブロックと、誤りステータスビットを含む制御/ステータスビットとを含む。
符号器170は、データ群の少なくとも1つについて、予期されたCRCを生成する。
この予期されたCRCは複数のビットを有し、各ビットは、データブロックと誤りステータスビットを除く制御/ステータスビットとの関数である状態を有する。
次に、符号器170は、その少なくとも1つのデータ群の予期されたCRCを、誤りステータスビットの状態を用いて符号化し、符号化されたCRCを生成する。
一実施の形態では、符号器170は、少なくとも1つのデータ群の予期されたCRCの予め定められた複数のビットの状態を反転することにより、少なくとも1つのデータ群の符号化されたCRCを生成する。
一実施の形態では、誤りステータスビットの状態が、データブロック誤りが存在しないことを示している場合には、符号器は、予期されたCRCのどのビットの状態も反転せず、これにより、符号化されたCRCは予期されたCRCと等しくなる。
一実施の形態では、符号器は、第1のタイプのデータブロック誤りを示す誤りステータスビットの状態を、予期されたCRCの各ビットの状態を反転することによって符号化する。
一実施の形態では、符号器は、第2のタイプのデータブロック誤りを示す誤りステータスビットの状態を、予期されたCRCの1つおきのビットの状態を反転することによって符号化する。
この予期されたCRCは複数のビットを有し、各ビットは、データブロックと誤りステータスビットを除く制御/ステータスビットとの関数である状態を有する。
次に、符号器170は、その少なくとも1つのデータ群の予期されたCRCを、誤りステータスビットの状態を用いて符号化し、符号化されたCRCを生成する。
一実施の形態では、符号器170は、少なくとも1つのデータ群の予期されたCRCの予め定められた複数のビットの状態を反転することにより、少なくとも1つのデータ群の符号化されたCRCを生成する。
一実施の形態では、誤りステータスビットの状態が、データブロック誤りが存在しないことを示している場合には、符号器は、予期されたCRCのどのビットの状態も反転せず、これにより、符号化されたCRCは予期されたCRCと等しくなる。
一実施の形態では、符号器は、第1のタイプのデータブロック誤りを示す誤りステータスビットの状態を、予期されたCRCの各ビットの状態を反転することによって符号化する。
一実施の形態では、符号器は、第2のタイプのデータブロック誤りを示す誤りステータスビットの状態を、予期されたCRCの1つおきのビットの状態を反転することによって符号化する。
次に、符号器170は、誤りステータスビットを含まない一連のデータ群、および、少なくとも1つのデータ群の符号化されたCRCを、ネットワーク接続166を介してCRC生成器174に供給する。
CRC生成器174は、少なくとも1つのデータ群に対して計算されたCRCを生成する。
この計算されたCRCは、その関連付けられたデータブロックと、誤りステータスビットを含まない制御/ステータスビットとの関数である。
比較器176は、信号線182によってCRC生成器174に接続され、少なくとも1つのデータ群について、計算されたCRCを符号化されたCRCと比較する。
一実施の形態では、計算されたCRCが符号化されたCRCと一致しない場合、比較器176はエラー信号を184に供給する。
一実施の形態では、比較器176は、符号化されたCRCを予め定められた複数の指定CRC値と比較して、符号化信号を186に供給する。
CRC生成器174は、少なくとも1つのデータ群に対して計算されたCRCを生成する。
この計算されたCRCは、その関連付けられたデータブロックと、誤りステータスビットを含まない制御/ステータスビットとの関数である。
比較器176は、信号線182によってCRC生成器174に接続され、少なくとも1つのデータ群について、計算されたCRCを符号化されたCRCと比較する。
一実施の形態では、計算されたCRCが符号化されたCRCと一致しない場合、比較器176はエラー信号を184に供給する。
一実施の形態では、比較器176は、符号化されたCRCを予め定められた複数の指定CRC値と比較して、符号化信号を186に供給する。
図5は、本発明によるステータス情報を伝達するCRC符号化方式を有する送信ノード200の一実施の形態のブロック図である。
送信ノード200は、バッファモジュール202、符号化モジュール204、出力モジュール206および検証モジュール208を備える。
バッファモジュール202はバッファレジスタ210を含み、符号化モジュール204は、CRC生成器212およびCRC符号器214を含み、検証モジュール208は、エラー回路216およびマルチプレクサ218を含む。
バッファレジスタ210は、信号路220を介して一連のソースフリットを受信し、各ソースフリットは、データブロック224、CRC230および制御/ステータスビット226を含む。
制御/ステータスビット226には、少なくとも1ビットの誤りステータスビット228が含まれ、ステータスビット228は、少なくとも1つのタイプのデータブロック誤りの存否を示す複数の状態を有する。
例示の目的で、送信ノード200のバッファレジスタ210によって受信される各ソースフリットは、図2Bの一例のフリット構成110と同じ構成を有するものとする。
バッファ210は、データブロック224、誤りステータスビットを除く制御/ステータスビット226、誤りステータスビット228およびCRC230に示すように、各ソースフリットをその構成ビットに分離する。
送信ノード200は、バッファモジュール202、符号化モジュール204、出力モジュール206および検証モジュール208を備える。
バッファモジュール202はバッファレジスタ210を含み、符号化モジュール204は、CRC生成器212およびCRC符号器214を含み、検証モジュール208は、エラー回路216およびマルチプレクサ218を含む。
バッファレジスタ210は、信号路220を介して一連のソースフリットを受信し、各ソースフリットは、データブロック224、CRC230および制御/ステータスビット226を含む。
制御/ステータスビット226には、少なくとも1ビットの誤りステータスビット228が含まれ、ステータスビット228は、少なくとも1つのタイプのデータブロック誤りの存否を示す複数の状態を有する。
例示の目的で、送信ノード200のバッファレジスタ210によって受信される各ソースフリットは、図2Bの一例のフリット構成110と同じ構成を有するものとする。
バッファ210は、データブロック224、誤りステータスビットを除く制御/ステータスビット226、誤りステータスビット228およびCRC230に示すように、各ソースフリットをその構成ビットに分離する。
CRC生成器212は、信号路232を介してデータブロック224および制御/ステータスビット226を受信し、データブロック224および制御/ステータスビット226の関数である予期されたCRCを234に供給する。
予期されたCRCは複数のビットを含み、その各ビットは状態を有する。
例示の目的で、予期されたCRCは、信号路234に示すように、10ビットを含むものとする。
CRC符号器214は、234においてCRC生成器212から予期されたCRCを受信し、信号路236を介してバッファレジスタ210から誤りステータスビット228を受信する。
そして、CRC符号器214は、誤りステータスビット228の状態を用いて予期されたCRCを符号化し、それによって、符号化されたCRCを238に生成する。
一実施の形態では、CRC符号器214は、誤りステータスビット228の状態を用いて、予期されたCRCの予め定められた複数のビットの状態を反転することにより、予期されたCRCを符号化する。
一実施の形態では、CRC符号器214は、誤りステータスビット228の状態を用いて、予期されたCRCの各ビットの状態を反転することにより、予期されたCRCを符号化する。
一実施の形態では、誤りステータスビット228の状態が、データブロック誤りが存在しないことを示している場合には、CRC符号器214は、予期されたCRCのどのビットの状態も反転せず、これにより、符号化されたCRCは予期されたCRCと一致する。
予期されたCRCは複数のビットを含み、その各ビットは状態を有する。
例示の目的で、予期されたCRCは、信号路234に示すように、10ビットを含むものとする。
CRC符号器214は、234においてCRC生成器212から予期されたCRCを受信し、信号路236を介してバッファレジスタ210から誤りステータスビット228を受信する。
そして、CRC符号器214は、誤りステータスビット228の状態を用いて予期されたCRCを符号化し、それによって、符号化されたCRCを238に生成する。
一実施の形態では、CRC符号器214は、誤りステータスビット228の状態を用いて、予期されたCRCの予め定められた複数のビットの状態を反転することにより、予期されたCRCを符号化する。
一実施の形態では、CRC符号器214は、誤りステータスビット228の状態を用いて、予期されたCRCの各ビットの状態を反転することにより、予期されたCRCを符号化する。
一実施の形態では、誤りステータスビット228の状態が、データブロック誤りが存在しないことを示している場合には、CRC符号器214は、予期されたCRCのどのビットの状態も反転せず、これにより、符号化されたCRCは予期されたCRCと一致する。
出力モジュール206は、信号路240を介してデータブロック224および制御/ステータスビット226を受信し、238で符号化されたCRCを受信する。
そして、出力モジュール206は、それらを結合し、信号路242を介して送信フリットを供給する。
例示の目的で、出力モジュール206によって供給される各送信フリットは、図3の一例のフリット構成150と同じ構成を有し、128ビットのデータブロック、6ビットの制御/ステータスビット、および10ビットのCRCを有するものとする。
そして、出力モジュール206は、それらを結合し、信号路242を介して送信フリットを供給する。
例示の目的で、出力モジュール206によって供給される各送信フリットは、図3の一例のフリット構成150と同じ構成を有し、128ビットのデータブロック、6ビットの制御/ステータスビット、および10ビットのCRCを有するものとする。
エラー回路216は、信号路244を介して誤りステータスビット228を受信し、信号路246を介してセレクタ信号を供給し、また信号路248を介して確認フリットを供給する。
マルチプレクサ218は、セレクタ入力(SEL)250、第1入力(S0)252、第2入力(S1)254および出力256を有する。
セレクタ入力(SEL)250は、信号路246を介してエラー回路216に接続される。
第1入力(S0)252は、信号路242を介して出力モジュール206に接続され、送信フリットを受信する。
第2入力(S1)254は、信号路248を介してエラー回路216に接続され、確認フリットを受信する。
一実施の形態では、誤りステータスビット228が、データブロック誤りが存在しないことを示す場合、エラー回路216は、信号路246を介してセレクタ入力250にセレクタ信号を供給して、マルチプレクサ218に第1入力(S0)252を選択するように指示し、それによって、マルチプレクサの出力256を介して送信フリットを供給する。
一実施の形態では、誤りステータスビット228が、データブロック誤りの存在を示す場合、エラー回路216は、信号路246を介してセレクタ入力250にセレクタ信号を供給して、マルチプレクサ218に第1入力(S0)252を最初に選択するように指示し、それによって、出力256を介して送信フリットを供給し、第2入力(S1)254を次に選択するように指示し、それによって、出力256を介して確認フリットを供給する。
一実施の形態では、誤りステータスビット228が、データブロック誤りの存在を示している場合、エラー回路216は、信号路246を介してセレクタ入力250にセレクタ信号を供給して、マルチプレクサ218に第2入力(S1)254を最初に選択するように指示し、それによって、出力256を介して確認フリットを供給し、第1入力(S0)252を次に選択するように指示し、それによって、出力256を介して送信フリットを供給する。
マルチプレクサ218は、セレクタ入力(SEL)250、第1入力(S0)252、第2入力(S1)254および出力256を有する。
セレクタ入力(SEL)250は、信号路246を介してエラー回路216に接続される。
第1入力(S0)252は、信号路242を介して出力モジュール206に接続され、送信フリットを受信する。
第2入力(S1)254は、信号路248を介してエラー回路216に接続され、確認フリットを受信する。
一実施の形態では、誤りステータスビット228が、データブロック誤りが存在しないことを示す場合、エラー回路216は、信号路246を介してセレクタ入力250にセレクタ信号を供給して、マルチプレクサ218に第1入力(S0)252を選択するように指示し、それによって、マルチプレクサの出力256を介して送信フリットを供給する。
一実施の形態では、誤りステータスビット228が、データブロック誤りの存在を示す場合、エラー回路216は、信号路246を介してセレクタ入力250にセレクタ信号を供給して、マルチプレクサ218に第1入力(S0)252を最初に選択するように指示し、それによって、出力256を介して送信フリットを供給し、第2入力(S1)254を次に選択するように指示し、それによって、出力256を介して確認フリットを供給する。
一実施の形態では、誤りステータスビット228が、データブロック誤りの存在を示している場合、エラー回路216は、信号路246を介してセレクタ入力250にセレクタ信号を供給して、マルチプレクサ218に第2入力(S1)254を最初に選択するように指示し、それによって、出力256を介して確認フリットを供給し、第1入力(S0)252を次に選択するように指示し、それによって、出力256を介して送信フリットを供給する。
誤りステータスビット228がデータブロック誤りの存在を示す場合に、検証モジュール208によって提供される確認フリットは、送信フリットの符号化されたCRCが、予期されたCRCと意図的に一致しないものであり、特別に指定されたCRC値と一致するように意図されていることを受信ノードに通知する機能を有する。
一実施の形態では、確認フリットは、確認フリットが通知の役割を果たす対象となる送信フリットに先行して送信される。
一実施の形態では、確認フリットは、確認フリットが通知の役割を果たす対象となる送信フリットに後続して送信される。
一実施の形態では、確認フリットは、確認フリットが通知の役割を果たす対象となる送信フリットに先行して送信される。
一実施の形態では、確認フリットは、確認フリットが通知の役割を果たす対象となる送信フリットに後続して送信される。
図6は、本発明によるステータス情報を伝達するCRC符号化方式を有する受信ノード300の例示的な一実施の形態のブロック図である。
この例示的な実施の形態の受信ノード300は、確認フリットを、データブロック誤りステータス情報を用いて意図的に符号化されたCRCを有する送信フリットのすぐ後に続く送信フリットとして受信するように構成される。
しかしながら、受信ノード300は、確認フリットを、データブロック誤りステータス情報を用いて意図的に符号化されたCRCを有するフリットの前または後の任意の数のフリットからなる送信フリットとして受信するように変更することができる。
この例示的な実施の形態の受信ノード300は、確認フリットを、データブロック誤りステータス情報を用いて意図的に符号化されたCRCを有する送信フリットのすぐ後に続く送信フリットとして受信するように構成される。
しかしながら、受信ノード300は、確認フリットを、データブロック誤りステータス情報を用いて意図的に符号化されたCRCを有するフリットの前または後の任意の数のフリットからなる送信フリットとして受信するように変更することができる。
受信ノード300は、受信機302、復号器304、確認モジュール308、再送モジュール310および送信機312を備える。
復号器304は、CRC生成器314および比較器315をさらに備える。
比較器315は、第1出力(O1)316および第2出力(O2)317を有する。
確認モジュール308は、レジスタ318および検証ブロック320をさらに備える。
検証ブロック320は、第1入力(I1)322および第2入力(I2)324を有する。
再送モジュール310は、レジスタ326および再送ブロック328をさらに備える。
再送ブロック328は、第1入力(I1)330、第2入力(I2)332、第3入力(I3)333、第1出力(O1)334および第2出力(O2)335を有する。
送信機312は、レジスタ336およびマルチプレクサ338を備える。
マルチプレクサ338は、セレクタ入力(SEL)340、第1入力(S1)342、第2入力(S2)344、第3入力(S3)346および出力348を有する。
復号器304は、CRC生成器314および比較器315をさらに備える。
比較器315は、第1出力(O1)316および第2出力(O2)317を有する。
確認モジュール308は、レジスタ318および検証ブロック320をさらに備える。
検証ブロック320は、第1入力(I1)322および第2入力(I2)324を有する。
再送モジュール310は、レジスタ326および再送ブロック328をさらに備える。
再送ブロック328は、第1入力(I1)330、第2入力(I2)332、第3入力(I3)333、第1出力(O1)334および第2出力(O2)335を有する。
送信機312は、レジスタ336およびマルチプレクサ338を備える。
マルチプレクサ338は、セレクタ入力(SEL)340、第1入力(S1)342、第2入力(S2)344、第3入力(S3)346および出力348を有する。
受信機302は、信号路350を介して一連の送信フリットを受信する。
各送信フリットは、データブロック、制御/ステータスビットおよび符号化されたCRCを含む。
例示の目的で、バッファ302に受信される各送信フリットは、図3の一例のフリット構成と同じ構成を有するものとする。
受信機302は、一連の送信フリットを、信号路352を介してCRC生成器314に、信号路354を介して送信機レジスタ336に、信号路356を介してマルチプレクサ338の第2入力(S2)344に、および信号路358を介して検証ブロック320の第2入力(I2)324に、それぞれ供給する。
送信機レジスタ336は、受信機302からの一連の送信フリットの後続する各フリットを受信すると同時に、先行する送信フリットを、信号路360を介してマルチプレクサ338の第1入力(S1)に供給する。
その結果、受信機302は、一連の送信フリットの現在の送信フリットを供給するのに対して、送信機レジスタ336は、その一連の送信フリットの直前に先行する送信フリットを供給する。
各送信フリットは、データブロック、制御/ステータスビットおよび符号化されたCRCを含む。
例示の目的で、バッファ302に受信される各送信フリットは、図3の一例のフリット構成と同じ構成を有するものとする。
受信機302は、一連の送信フリットを、信号路352を介してCRC生成器314に、信号路354を介して送信機レジスタ336に、信号路356を介してマルチプレクサ338の第2入力(S2)344に、および信号路358を介して検証ブロック320の第2入力(I2)324に、それぞれ供給する。
送信機レジスタ336は、受信機302からの一連の送信フリットの後続する各フリットを受信すると同時に、先行する送信フリットを、信号路360を介してマルチプレクサ338の第1入力(S1)に供給する。
その結果、受信機302は、一連の送信フリットの現在の送信フリットを供給するのに対して、送信機レジスタ336は、その一連の送信フリットの直前に先行する送信フリットを供給する。
CRC生成器314は、受信機302から現在の送信フリットを受信して、予期されたCRCを計算する。
この予期されたCRCは、現在の送信フリットのデータブロックおよび制御/ステータスビットの関数である。
CRC生成器314は、この予期されたCRCおよび現在の送信フリットの符号化されたCRCを、信号路362を介して比較器316に供給する。
比較器315は、予期されたCRCを符号化されたCRCと比較する。
一実施の形態では、比較器315は、第1出力(O1)316にエラー信号を供給する。
このエラー信号は、予期されたCRCが、符号化されたCRCと一致する場合には第1状態を有し、予期されたCRCが、符号化されたCRCと一致しない場合には第2状態を有する。
また、比較器315は、現在の送信フリットの符号化されたCRCを、予め定められた複数の特別に指定されたCRC値とも比較する。
一実施の形態では、比較器315は、第2出力(O2)317に符号化信号を供給する。
この符号化信号は、符号化されたCRCが、複数の特別に指定されたCRC値のいずれとも一致しない場合には第1状態を有し、符号化されたCRCが、複数の特別に指定されたCRC値のいずれか1つと一致する場合には第2状態を有する。
この予期されたCRCは、現在の送信フリットのデータブロックおよび制御/ステータスビットの関数である。
CRC生成器314は、この予期されたCRCおよび現在の送信フリットの符号化されたCRCを、信号路362を介して比較器316に供給する。
比較器315は、予期されたCRCを符号化されたCRCと比較する。
一実施の形態では、比較器315は、第1出力(O1)316にエラー信号を供給する。
このエラー信号は、予期されたCRCが、符号化されたCRCと一致する場合には第1状態を有し、予期されたCRCが、符号化されたCRCと一致しない場合には第2状態を有する。
また、比較器315は、現在の送信フリットの符号化されたCRCを、予め定められた複数の特別に指定されたCRC値とも比較する。
一実施の形態では、比較器315は、第2出力(O2)317に符号化信号を供給する。
この符号化信号は、符号化されたCRCが、複数の特別に指定されたCRC値のいずれとも一致しない場合には第1状態を有し、符号化されたCRCが、複数の特別に指定されたCRC値のいずれか1つと一致する場合には第2状態を有する。
レジスタ318は、信号路364を介して比較器315から、現在の送信フリットの符号化信号を受信する。
レジスタ318は、比較器315から一連の送信フリットの後続する各送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を、信号路366を介して検証ブロック320の第1入力(I1)322に供給する。
その結果、レジスタ318は、比較器315から現在の送信フリットの符号化信号を受信すると、一連の送信フリットの直前の先行する送信フリットの符号化信号を検証ブロック320の第1入力(I1)322に供給する。
レジスタ318は、比較器315から一連の送信フリットの後続する各送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を、信号路366を介して検証ブロック320の第1入力(I1)322に供給する。
その結果、レジスタ318は、比較器315から現在の送信フリットの符号化信号を受信すると、一連の送信フリットの直前の先行する送信フリットの符号化信号を検証ブロック320の第1入力(I1)322に供給する。
検証ブロック320は、第2入力(I2)324で現在の送信フリットを受信し、第1入力(I1)322で直前の先行する送信フリットの符号化信号を受信する。
上述したように、受信ノード300は、確認フリットを、特別に指定されたCRC値を意図的に有する符号化されたCRCを有する送信フリットのすぐ後に続く送信フリットとして受信するように構成される。
それにより、図6の構成例では、一連の送信フリットの直前の先行する送信フリットの符号化されたCRCが、複数の特別に指定されたCRC値の1つと意図的に一致すること、およびその一致が単に偶然に発生したものでないことを受信ノード300に通知するように、確認フリットが機能する。
一実施の形態では、検証ブロック320は、第1状態を有する検証信号を368に供給する。
第1入力(I1)322における直前の先行する送信フリットの符号化されたCRCが、特別に指定されたCRC値の1つに一致しないことを、直前の先行するフリットの符号化信号が示している場合、または、第2入力(I2)324における現在の送信フリットが確認フリットでないと、検証ブロック320が判断した場合には、第1状態を有する検証信号が供給される。
直前の先行するフリットの符号化されたCRCが、特別に指定されたCRC値の1つと一致することを、第1入力(I1)322における直前の先行するフリットの符号化信号が示している場合で、かつ、第2入力(I2)324における現在の送信フリットが確認フリットであると、検証ブロック320が判断した場合には、第2状態を有する検証信号が供給される。
上述したように、受信ノード300は、確認フリットを、特別に指定されたCRC値を意図的に有する符号化されたCRCを有する送信フリットのすぐ後に続く送信フリットとして受信するように構成される。
それにより、図6の構成例では、一連の送信フリットの直前の先行する送信フリットの符号化されたCRCが、複数の特別に指定されたCRC値の1つと意図的に一致すること、およびその一致が単に偶然に発生したものでないことを受信ノード300に通知するように、確認フリットが機能する。
一実施の形態では、検証ブロック320は、第1状態を有する検証信号を368に供給する。
第1入力(I1)322における直前の先行する送信フリットの符号化されたCRCが、特別に指定されたCRC値の1つに一致しないことを、直前の先行するフリットの符号化信号が示している場合、または、第2入力(I2)324における現在の送信フリットが確認フリットでないと、検証ブロック320が判断した場合には、第1状態を有する検証信号が供給される。
直前の先行するフリットの符号化されたCRCが、特別に指定されたCRC値の1つと一致することを、第1入力(I1)322における直前の先行するフリットの符号化信号が示している場合で、かつ、第2入力(I2)324における現在の送信フリットが確認フリットであると、検証ブロック320が判断した場合には、第2状態を有する検証信号が供給される。
送信機312のマルチプレクサ338は、第1入力(S1)342にレジスタ336からの先行する送信フリットを受信し、第2入力(S2)344に受信機302からの現在の送信フリットを受信し、第3入力(S3)346にアイドルフリット347を受信する。
アイドルフリット347は、マルチプレクサ338によって供給されると、出力348の下流にある宛先のプロセスに、データ誤りの可能性があることを通知して、データ転送の再開またはデータの再送に備えて待機するように機能する。
アイドルフリット347は、マルチプレクサ338によって供給されると、出力348の下流にある宛先のプロセスに、データ誤りの可能性があることを通知して、データ転送の再開またはデータの再送に備えて待機するように機能する。
再送モジュール310のレジスタ326は、比較器315の第1出力(O1)316から信号路370を介してエラー信号を受信する。
レジスタ326は、比較器315からの後続する各送信フリットのエラー信号を受信すると同時に、先行する送信フリットのエラー信号を再送ブロック328の第1入力(I1)330に供給する。
したがって、レジスタ326が、比較器315から信号路370を介して現在の送信フリットのエラー信号を受信すると、レジスタ326は、再送ブロック328の第1入力(I1)330に信号路372を介して直前の先行する送信フリットのエラー信号を供給する。
レジスタ326は、比較器315からの後続する各送信フリットのエラー信号を受信すると同時に、先行する送信フリットのエラー信号を再送ブロック328の第1入力(I1)330に供給する。
したがって、レジスタ326が、比較器315から信号路370を介して現在の送信フリットのエラー信号を受信すると、レジスタ326は、再送ブロック328の第1入力(I1)330に信号路372を介して直前の先行する送信フリットのエラー信号を供給する。
再送ブロック328は、信号路372を介して第1入力(I1)330にレジスタ326からの先行する送信フリットのエラー信号を受信し、信号路374を介して第2入力(I2)332に比較器315からの現在の送信フリットのエラー信号を受信し、信号路368を介して第3入力(I3)333に検証ブロック320からの検証信号を受信する。
再送ブロック328は、信号路376を介してマルチプレクサ338のセレクタ入力(SEL)370へ第1出力(O1)334のセレクタ信号を供給し、信号路378を介して第2出力(O2)335の再送信号を供給する。
セレクタ信号および再送信号は、それぞれ、第1入力(I1)330における前の送信フリットのエラー信号の状態と、第2入力(I2)332における現在の送信フリットのエラー信号の状態と、第3入力(I3)333における検証信号の状態とに依存する状態を有する。
セレクタ信号が、第1状態、第2状態および第3状態を有すると、マルチプレクサ338は、それぞれ、第1入力(S1)342、第2入力(S2)344および第3入力(S3)346を選択して、348の宛先プロセスに出力する。
マルチプレクサ338は、送信誤りが検出されると、第1状態の再送信号を供給して、送信フリットを再送するリンクレイヤの再転送メカニズムを開始し、データの再送が要求されていない場合には、第2状態の再送信号を供給する。
再送ブロック328は、信号路376を介してマルチプレクサ338のセレクタ入力(SEL)370へ第1出力(O1)334のセレクタ信号を供給し、信号路378を介して第2出力(O2)335の再送信号を供給する。
セレクタ信号および再送信号は、それぞれ、第1入力(I1)330における前の送信フリットのエラー信号の状態と、第2入力(I2)332における現在の送信フリットのエラー信号の状態と、第3入力(I3)333における検証信号の状態とに依存する状態を有する。
セレクタ信号が、第1状態、第2状態および第3状態を有すると、マルチプレクサ338は、それぞれ、第1入力(S1)342、第2入力(S2)344および第3入力(S3)346を選択して、348の宛先プロセスに出力する。
マルチプレクサ338は、送信誤りが検出されると、第1状態の再送信号を供給して、送信フリットを再送するリンクレイヤの再転送メカニズムを開始し、データの再送が要求されていない場合には、第2状態の再送信号を供給する。
以下の表Iは、一例としての適切な再送ブロック328の第1出力(O1)334および第2出力(O2)335によってそれぞれ供給されるセレクタ信号(SEL)の状態および再送信号(RET)の状態を示している。
これらの状態は、第1入力(I1)330の状態、第2入力(I2)332の状態および第3入力(I3)333の状態の可能な8つのシナリオに基づいている。
第1入力(I1)330の0の値は、先行する送信フリットについて、符号化されたCRCが予期されたCRCと一致したことを示す一方、1の値は、符号化されたCRCが予期されたCRCと一致しなかったことを示す。
第2入力(I2)332の0の値は、現在の送信フリットについて、符号化されたCRCが予期されたCRCと一致することを示す一方、1の値は、符号化されたCRCが予期されたCRCと一致しないことを示す。
第3入力(I3)333の0の値は、先行する送信フリットの符号化されたCRCが、特別に指定されたCRC値と一致しなかったことを示すか、または、現在の送信フリットは、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致するように意図されたことを示す確認フリットでないことを示す。
一方、第3入力(I3)333の1の値は、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致することを示し、かつ、現在のフリットは、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致するように意図されたことを検証する確認フリットであることを示す。
第1出力(O1)334のS1、S2およびS3は、マルチプレクサ338に、それぞれ第1入力(S1)342、第2入力(S2)344および第3入力(S3)346を選択するように指示するセレクタ信号を示す。
第2出力(O2)335に関して、NOは、再送信号がリンクレイヤの再試行メカニズムを開始しないことを示す一方、YESは、送信誤りが発生した可能性があること、および、再送信号がリンクレイヤの再試行メカニズムを開始することを示す。
これらの状態は、第1入力(I1)330の状態、第2入力(I2)332の状態および第3入力(I3)333の状態の可能な8つのシナリオに基づいている。
第1入力(I1)330の0の値は、先行する送信フリットについて、符号化されたCRCが予期されたCRCと一致したことを示す一方、1の値は、符号化されたCRCが予期されたCRCと一致しなかったことを示す。
第2入力(I2)332の0の値は、現在の送信フリットについて、符号化されたCRCが予期されたCRCと一致することを示す一方、1の値は、符号化されたCRCが予期されたCRCと一致しないことを示す。
第3入力(I3)333の0の値は、先行する送信フリットの符号化されたCRCが、特別に指定されたCRC値と一致しなかったことを示すか、または、現在の送信フリットは、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致するように意図されたことを示す確認フリットでないことを示す。
一方、第3入力(I3)333の1の値は、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致することを示し、かつ、現在のフリットは、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致するように意図されたことを検証する確認フリットであることを示す。
第1出力(O1)334のS1、S2およびS3は、マルチプレクサ338に、それぞれ第1入力(S1)342、第2入力(S2)344および第3入力(S3)346を選択するように指示するセレクタ信号を示す。
第2出力(O2)335に関して、NOは、再送信号がリンクレイヤの再試行メカニズムを開始しないことを示す一方、YESは、送信誤りが発生した可能性があること、および、再送信号がリンクレイヤの再試行メカニズムを開始することを示す。
表Iのシナリオ1、3、5および6の例について、図6の受信ノード300の動作をさらに説明するために以下に述べる。
シナリオ1の例では、受信機302は、現在の送信フリットを受信して、このフリットを、信号路352を介してCRC生成器314に供給し、信号路354を介してレジスタ336に供給し、信号路356を介してマルチプレクサ338の第2入力(S2)344に供給し、信号路358を介して検証ブロック320の第2入力(I2)324に供給する。
例示の目的で、現在の送信フリットは確認フリットではないと仮定し、データブロックも送信誤りも有さない先行する送信フリットが受信されて、受信機302によって供給されたものと仮定する。
シナリオ1の例では、受信機302は、現在の送信フリットを受信して、このフリットを、信号路352を介してCRC生成器314に供給し、信号路354を介してレジスタ336に供給し、信号路356を介してマルチプレクサ338の第2入力(S2)344に供給し、信号路358を介して検証ブロック320の第2入力(I2)324に供給する。
例示の目的で、現在の送信フリットは確認フリットではないと仮定し、データブロックも送信誤りも有さない先行する送信フリットが受信されて、受信機302によって供給されたものと仮定する。
CRC生成器314は、現在の送信フリットの予期されたCRCを計算して、この予期されたCRCおよび現在の送信フリットの符号化されたCRCを、信号路362を介して比較器315に供給する。
比較器315は、符号化されたCRCを予期されたCRCと比較し、現在の送信フリットの符号化されたCRCが予期されたCRCと一致することを示すエラー信号を、第1出力(O1)316から信号路370を介してレジスタ326に供給し、信号路374を介して再送ブロック328の第2入力(I2)332に供給する。
レジスタ326は、現在の送信フリットのエラー信号を受信すると同時に、信号路372を介して再送ブロック328の第1入力(I1)330に、先行する送信フリットのエラー信号を供給する。
このシナリオでは、この先行する送信フリットのエラー信号は、符号化されたCRCが、先行する送信フリットの予期されたCRCと一致したことを示している。
比較器315は、符号化されたCRCを予期されたCRCと比較し、現在の送信フリットの符号化されたCRCが予期されたCRCと一致することを示すエラー信号を、第1出力(O1)316から信号路370を介してレジスタ326に供給し、信号路374を介して再送ブロック328の第2入力(I2)332に供給する。
レジスタ326は、現在の送信フリットのエラー信号を受信すると同時に、信号路372を介して再送ブロック328の第1入力(I1)330に、先行する送信フリットのエラー信号を供給する。
このシナリオでは、この先行する送信フリットのエラー信号は、符号化されたCRCが、先行する送信フリットの予期されたCRCと一致したことを示している。
また、比較器315は、現在の送信フリットの符号化されたCRCが、特別に指定されたCRC値と一致するかどうかを示す符号化信号を、第2出力(O2)317および信号路364を介してレジスタ318に供給する。
レジスタ318は、現在の送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を検証ブロック320の第1入力(I1)322に供給する。
このシナリオでは、この先行する送信フリットの符号化信号は、符号化されたCRCが、特別に指定されたCRC値と一致しなかったことを示す。
次に、検証ブロック320は、信号路368を介して送信ブロック328の第3入力(I3)333に、現在の送信フリットが検証フリットでないこと、および/または、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致しなかったことを示す検証信号を供給する。
レジスタ318は、現在の送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を検証ブロック320の第1入力(I1)322に供給する。
このシナリオでは、この先行する送信フリットの符号化信号は、符号化されたCRCが、特別に指定されたCRC値と一致しなかったことを示す。
次に、検証ブロック320は、信号路368を介して送信ブロック328の第3入力(I3)333に、現在の送信フリットが検証フリットでないこと、および/または、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致しなかったことを示す検証信号を供給する。
再送ブロック328は、第1入力(I1)330の先行する送信フリットのエラー信号の状態と、第2入力(I2)332の現在の送信フリットのエラー信号の状態と、第3入力(I3)333の検証信号の状態とに基づいて、出力(O1)334のセレクタ信号をマルチプレクサのセレクタ(SEL)340に供給し、マルチプレクサ338に第2入力(S2)344を選択するように指示する。
それによって、現在の送信フリットが出力348の宛先プロセスに供給される。
再送ブロック328は、同じ入力に基づいて、第2出力(O2)335には再送信号を供給せず、したがって、リンクレベルの再試行メカニズムを開始しない。
それによって、現在の送信フリットが出力348の宛先プロセスに供給される。
再送ブロック328は、同じ入力に基づいて、第2出力(O2)335には再送信号を供給せず、したがって、リンクレベルの再試行メカニズムを開始しない。
シナリオ3の例では、受信機302は、現在の送信フリットを受信して、このフリットを、信号路352を介してCRC生成器314に供給し、信号路354を介してレジスタ336に供給し、信号路356を介してマルチプレクサ338の第2入力(S2)344に供給し、信号路358を介して検証ブロック320の第2入力(I2)324に供給する。
例示の目的で、現在の送信フリットは確認フリットではないと仮定し、データブロックも送信誤りも有さない先行するフリットが受信されて、受信機302によって供給されたものと仮定する。
例示の目的で、現在の送信フリットは確認フリットではないと仮定し、データブロックも送信誤りも有さない先行するフリットが受信されて、受信機302によって供給されたものと仮定する。
CRC生成器314は、現在の送信フリットの予期されたCRCを計算して、この予期されたCRCおよび現在の送信フリットの符号化されたCRCを、信号路362を介して比較器315に供給する。
比較器315は、符号化されたCRCを予期されたCRCと比較し、現在の送信フリットの符号化されたCRCが予期されたCRCと一致しないことを示すエラー信号を、第1出力(O1)316から信号路370を介してレジスタ326に供給し、信号路374を介して再送ブロック328の第2入力(I2)332に供給する。
レジスタ326は、現在の送信フリットのエラー信号を受信すると同時に、信号路372を介して再送ブロック328の第1入力(I1)330に、先行する送信フリットのエラー信号を供給する。
このシナリオでは、この先行する送信フリットのエラー信号は、符号化されたCRCが、先行する送信フリットの予期されたCRCと一致したことを示している。
比較器315は、符号化されたCRCを予期されたCRCと比較し、現在の送信フリットの符号化されたCRCが予期されたCRCと一致しないことを示すエラー信号を、第1出力(O1)316から信号路370を介してレジスタ326に供給し、信号路374を介して再送ブロック328の第2入力(I2)332に供給する。
レジスタ326は、現在の送信フリットのエラー信号を受信すると同時に、信号路372を介して再送ブロック328の第1入力(I1)330に、先行する送信フリットのエラー信号を供給する。
このシナリオでは、この先行する送信フリットのエラー信号は、符号化されたCRCが、先行する送信フリットの予期されたCRCと一致したことを示している。
また、比較器315は、現在の送信フリットの符号化されたCRCが、特別に指定されたCRC値と一致するかどうかを示す符号化信号を、第2出力(O2)317および信号路364を介してレジスタ318に供給する。
レジスタ318は、現在の送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を検証ブロック320の第1入力(I1)322に供給する。
このシナリオでは、この先行する送信フリットの符号化信号は、符号化されたCRCが、特別に指定されたCRC値と一致しなかったことを示す。
次に、検証ブロック320は、信号路368を介して送信ブロック328の第3入力(I3)333に、現在の送信フリットが検証フリットでないこと、および/または、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致しなかったことを示す検証信号を供給する。
レジスタ318は、現在の送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を検証ブロック320の第1入力(I1)322に供給する。
このシナリオでは、この先行する送信フリットの符号化信号は、符号化されたCRCが、特別に指定されたCRC値と一致しなかったことを示す。
次に、検証ブロック320は、信号路368を介して送信ブロック328の第3入力(I3)333に、現在の送信フリットが検証フリットでないこと、および/または、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致しなかったことを示す検証信号を供給する。
再送ブロック328は、第1入力(I1)330の先行する送信フリットのエラー信号の状態と、第2入力(I2)332の現在の送信フリットのエラー信号の状態と、第3入力(I3)333の検証信号の状態とに基づいて、出力(O1)334のセレクタ信号をマルチプレクサのセレクタ(SEL)340に供給し、マルチプレクサ338に第3入力(S3)346を選択するように指示する。
それによって、アイドルフリット347が、出力348の宛先プロセスに供給される。
再送ブロック328は、同じ入力に基づいて、第2出力(O2)335には再送信号を供給せず、したがって、リンクレベルの再試行メカニズムを開始しない。
それによって、アイドルフリット347が、出力348の宛先プロセスに供給される。
再送ブロック328は、同じ入力に基づいて、第2出力(O2)335には再送信号を供給せず、したがって、リンクレベルの再試行メカニズムを開始しない。
シナリオ3の例では、受信ノード300はアイドルフリット347を出力し、現在の送信フリットを出力モジュール306のレジスタ336に保持する。
この現在の送信フリットについては、その符号化されたCRCが、計算されたCRCと一致していない。
受信ノード300は、一連の送信フリットの後続する送信フリットの受信を待って、後続するフリットが確認フリットであるかどうかを判断する。
続いて、受信ノード300は、レジスタ318に保持された符号化信号の状態に基づいて、レジスタ336の保持されている現在の送信フリットをマルチプレクサ338の出力348に供給するかどうか、および、再試行メカニズムを開始する再送信号を378に供給するかどうかを判断する。
以下に、併せて説明するシナリオ5およびシナリオ6の例は、上記シナリオ3の例によって示すように、現在のフリットのCRCが誤っている場合において、後続する送信フリットを受信した後の受信ノード300の可能な2つの応答を説明する。
この現在の送信フリットについては、その符号化されたCRCが、計算されたCRCと一致していない。
受信ノード300は、一連の送信フリットの後続する送信フリットの受信を待って、後続するフリットが確認フリットであるかどうかを判断する。
続いて、受信ノード300は、レジスタ318に保持された符号化信号の状態に基づいて、レジスタ336の保持されている現在の送信フリットをマルチプレクサ338の出力348に供給するかどうか、および、再試行メカニズムを開始する再送信号を378に供給するかどうかを判断する。
以下に、併せて説明するシナリオ5およびシナリオ6の例は、上記シナリオ3の例によって示すように、現在のフリットのCRCが誤っている場合において、後続する送信フリットを受信した後の受信ノード300の可能な2つの応答を説明する。
シナリオ5およびシナリオ6の例では、受信機302は現在の送信フリットを受信して、このフリットを、信号路352を介してCRC生成器314に供給し、信号路354を介してレジスタ336に供給し、信号路356を介してマルチプレクサ338の第2入力(S2)344に供給し、信号路358を介して検証ブロック320の第2入力(I2)324に供給する。
このシナリオでは、直前の先行する送信フリットとして、符号化されたCRCが、計算されたCRCと一致しないものが受信されている。
このシナリオでは、直前の先行する送信フリットとして、符号化されたCRCが、計算されたCRCと一致しないものが受信されている。
CRC生成器314は、現在の送信フリットの予期されたCRCを計算して、この予期されたCRCおよび現在の送信フリットの符号化されたCRCを、信号路362を介して比較器315に供給する。
比較器315は、符号化されたCRCを予期されたCRCと比較し、現在の送信フリットの符号化されたCRCが予期されたCRCと一致することを示すエラー信号を、第1出力(O1)316から信号路370を介してレジスタ326に供給し、信号路374を介して再送ブロック328の第2入力(I2)332に供給する。
レジスタ326は、現在の送信フリットのエラー信号を受信すると同時に、信号路372を介して再送ブロック328の第1入力(I1)330に、先行する送信フリットのエラー信号を供給する。
このシナリオでは、この先行する送信フリットのエラー信号は、符号化されたCRCが、予期されたCRCと一致しなかったことを示している。
比較器315は、符号化されたCRCを予期されたCRCと比較し、現在の送信フリットの符号化されたCRCが予期されたCRCと一致することを示すエラー信号を、第1出力(O1)316から信号路370を介してレジスタ326に供給し、信号路374を介して再送ブロック328の第2入力(I2)332に供給する。
レジスタ326は、現在の送信フリットのエラー信号を受信すると同時に、信号路372を介して再送ブロック328の第1入力(I1)330に、先行する送信フリットのエラー信号を供給する。
このシナリオでは、この先行する送信フリットのエラー信号は、符号化されたCRCが、予期されたCRCと一致しなかったことを示している。
また、比較器315は、現在の送信フリットの符号化されたCRCが、特別に指定されたCRC値と一致するかどうかを示す符号化信号を、第2出力(O2)317および信号路364を介してレジスタ318に供給する。
レジスタ318は、現在の送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を検証ブロック320の第1入力(I1)322に供給する。
レジスタ318は、現在の送信フリットの符号化信号を受信すると同時に、先行する送信フリットの符号化信号を検証ブロック320の第1入力(I1)322に供給する。
次に、検証ブロック320は、368の符号化信号を再送ブロック328の第3入力(I3)333に供給する。
この符号化信号の状態は、第1入力(I1)322の先行するフリットの符号化信号が、符号化されたCRCと特別に指定されたCRC値との一致を示しているかどうか、および、現在の送信フリットが確認フリットであるかどうかに依存する。
シナリオ5のもとでは、検証ブロック320は、現在の送信フリットが確認フリットでないこと、および/または、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致しなかったことを示す状態を有する検証信号を供給する。
シナリオ6のもとでは、先行する送信フリットの符号化されたCRCが特別に指定されたCRC値と一致することを示し、かつ、現在の送信フリットは、検証ブロックが、先行する送信フリットの符号化されたCRCが特別に指定されたCRC値と意図的に一致することを示す確認フリットであることを示す状態を有する検証信号を供給する。
この符号化信号の状態は、第1入力(I1)322の先行するフリットの符号化信号が、符号化されたCRCと特別に指定されたCRC値との一致を示しているかどうか、および、現在の送信フリットが確認フリットであるかどうかに依存する。
シナリオ5のもとでは、検証ブロック320は、現在の送信フリットが確認フリットでないこと、および/または、先行するフリットの符号化されたCRCが特別に指定されたCRC値と一致しなかったことを示す状態を有する検証信号を供給する。
シナリオ6のもとでは、先行する送信フリットの符号化されたCRCが特別に指定されたCRC値と一致することを示し、かつ、現在の送信フリットは、検証ブロックが、先行する送信フリットの符号化されたCRCが特別に指定されたCRC値と意図的に一致することを示す確認フリットであることを示す状態を有する検証信号を供給する。
再送ブロック328は、第1入力(I1)330の先行する送信フリットのエラー信号の状態と、第2入力(I2)332の現在のフリットのエラー信号の状態と、第3入力(I3)333の検証信号の状態とに基づいて、第1出力(O1)334のセレクタ信号を、信号路376を介してマルチプレクサのセレクタ入力(SEL)340に供給し、第2出力(O2)の再送信号を信号路378を介して供給する。
シナリオ5のもとでは、再送ブロック328への入力は、先行する送信フリットの符号化されたCRCが誤りステータス情報を用いて符号化されていないことを示し、単に、送信誤りの存在を示す。
その結果、再送ブロック328は、マルチプレクサ338に第3入力(S3)346を選択するように指示する状態を有するセレクタ信号を供給する。
それによって、アイドルフリット347が出力348に供給される。
また、再送ブロック328は再送信号を供給する。
この再送信号は、先行する送信フリットから始まるリンクレベルの再試行メカニズムを開始するように送信ノードに指示する状態を有する。
シナリオ6のもとでは、再送ブロック328への入力は、先行する送信フリットの符号化されたCRCが誤りステータス情報を用いて意図的に符号化されていることを示す。
その結果、再送ブロック328は、マルチプレクサ338に第1入力(S1)342を選択するように指示する状態を有するセレクタ信号を供給する。
それによって、先行する送信フリットが出力348に供給される。
また、再送ブロック328は再送信号を供給する。
この再送信号は、リンクレベルの再試行メカニズムを開始しない状態を有する。
シナリオ5のもとでは、再送ブロック328への入力は、先行する送信フリットの符号化されたCRCが誤りステータス情報を用いて符号化されていないことを示し、単に、送信誤りの存在を示す。
その結果、再送ブロック328は、マルチプレクサ338に第3入力(S3)346を選択するように指示する状態を有するセレクタ信号を供給する。
それによって、アイドルフリット347が出力348に供給される。
また、再送ブロック328は再送信号を供給する。
この再送信号は、先行する送信フリットから始まるリンクレベルの再試行メカニズムを開始するように送信ノードに指示する状態を有する。
シナリオ6のもとでは、再送ブロック328への入力は、先行する送信フリットの符号化されたCRCが誤りステータス情報を用いて意図的に符号化されていることを示す。
その結果、再送ブロック328は、マルチプレクサ338に第1入力(S1)342を選択するように指示する状態を有するセレクタ信号を供給する。
それによって、先行する送信フリットが出力348に供給される。
また、再送ブロック328は再送信号を供給する。
この再送信号は、リンクレベルの再試行メカニズムを開始しない状態を有する。
シナリオ2、4、7および8の例については、本明細書では考察しないが、受信ノード300は、上述したようなシナリオ1、3、5および6と首尾一貫した形式で動作して、表Iに列挙した値を供給する。
結論として、まれにしか発生しないデータ誤りの事象に関するステータス情報を用いてCRCデータビットを符号化することにより、本発明によるCRC符号化方式を使用するネットワーク化システム、特に、限られた帯域幅を有するそれらのシステムは、限られた送信ビット容量をより効果的に利用することができる。
特に、以前は誤りステータスビットとしての使用に専用化されていたビットを付加的なCRCビットとして使用する本発明によるネットワーク化システムは、同じ速度でデータを転送し続けることができる一方で、より一般的に発生する送信誤りの検出を向上させることができる。
特に、以前は誤りステータスビットとしての使用に専用化されていたビットを付加的なCRCビットとして使用する本発明によるネットワーク化システムは、同じ速度でデータを転送し続けることができる一方で、より一般的に発生する送信誤りの検出を向上させることができる。
32・・・ノードA、
34・・・ノードB、
38・・・メモリ、
50・・・メッセージ、
52、54・・・パケット、
64,66,68,70・・・フリット、
56,58・・・ヘッダ、
72,74,76,78・・・データブロック、
96,98,100,102・・・誤りステータスビット、
80,82,84,86・・・制御/ステータスビット、
60,62・・・トレーラ、
112〜126・・・データビット、
128・・・制御/ステータスビット、
130・・・誤りステータスビット、
152・・・データビット、
154・・・制御/ステータスビット、
160・・・ネットワーク化システム、
162・・・送信ノード、
164・・・受信ノード、
168・・・バッファ、
170・・・符号器、
172・・・復号器、
174・・・CRC生成器、
176・・・比較器、
200・・・送信ノード、
202・・・バッファ、
204・・・符号化モジュール、
206・・・出力モジュール、
208・・・検証モジュール、
212・・・CRC生成器、
214・・・CRC符号器、
216・・・エラー回路、
228・・・誤りステータスビット、
226・・・制御/ステータスビット、
224・・・データブロック、
300・・・受信ノード、
302・・・受信機、
304・・・復号器、
306・・・出力モジュール、
308・・・確認モジュール、
310・・・再送モジュール、
312・・・送信機、
314・・・CRC生成器、
315・・・比較器、
318・・・レジスタ、
320・・・検証ブロック、
326・レジスタ、
330・・・再送ブロック、
336・・・レジスタ、
338・・・マルチプレクサ、
347・・・アイドルフリット、
34・・・ノードB、
38・・・メモリ、
50・・・メッセージ、
52、54・・・パケット、
64,66,68,70・・・フリット、
56,58・・・ヘッダ、
72,74,76,78・・・データブロック、
96,98,100,102・・・誤りステータスビット、
80,82,84,86・・・制御/ステータスビット、
60,62・・・トレーラ、
112〜126・・・データビット、
128・・・制御/ステータスビット、
130・・・誤りステータスビット、
152・・・データビット、
154・・・制御/ステータスビット、
160・・・ネットワーク化システム、
162・・・送信ノード、
164・・・受信ノード、
168・・・バッファ、
170・・・符号器、
172・・・復号器、
174・・・CRC生成器、
176・・・比較器、
200・・・送信ノード、
202・・・バッファ、
204・・・符号化モジュール、
206・・・出力モジュール、
208・・・検証モジュール、
212・・・CRC生成器、
214・・・CRC符号器、
216・・・エラー回路、
228・・・誤りステータスビット、
226・・・制御/ステータスビット、
224・・・データブロック、
300・・・受信ノード、
302・・・受信機、
304・・・復号器、
306・・・出力モジュール、
308・・・確認モジュール、
310・・・再送モジュール、
312・・・送信機、
314・・・CRC生成器、
315・・・比較器、
318・・・レジスタ、
320・・・検証ブロック、
326・レジスタ、
330・・・再送ブロック、
336・・・レジスタ、
338・・・マルチプレクサ、
347・・・アイドルフリット、
Claims (17)
- 符号化モジュール(170、204)を備える送信ノード(162、200)であって、
該符号化モジュールは、一連のデータ群を受信するように構成され、
各データ群は、
データビットを含むデータブロックと、
少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットと
を含み、
前記一連のデータ群の少なくとも1つデータ群について、
前記データブロックと、
前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である複数のビットを含む予期された巡回冗長符号(CRC)と
を生成するように構成され、
前記予期されたCRCを、前記少なくとも1ビットの誤りステータスビットの状態を用いて符号化し、それによって、前記少なくとも1つのデータ群について、複数のビットを含む符号化されたCRCを生成するように構成される
符号化モジュール、
を備える送信ノード。 - 前記符号化モジュールは、
前記少なくとも1つのデータ群の前記データブロックと、
前記少なくとも1ビットの誤りステータスビットを含まない、前記少なくとも1つのデータ群の前記制御/ステータスビットと
を受信するように構成され、
前記予期されたCRCを供給するように構成されるCRC生成器(212)と、
該CRC生成器から前記予期されたCRCを受信し、前記少なくとも1ビットの誤りステータスビットを受信するように構成され、前記少なくとも1つのデータ群の前記符号化されたCRCを生成するように構成される符号器(214)と
を備える
請求項1に記載の送信ノード。 - 一連のソースフリットをソースノードから受信するように構成され、
各ソースフリットは、
前記一連のデータ群の1つのデータ群と、
複数のビットを有する関連付けられたソースCRCと
を含み、
前記一連のデータ群を供給するように構成されるバッファ(202)
をさらに備える
請求項1に記載の送信ノード。 - 前記少なくとも1ビットの誤りステータスビットを含まない前記少なくとも1つのデータ群を受信するように構成され、前記少なくとも1つのデータ群の前記符号化されたCRCを受信し、それによって、前記少なくとも1ビットの誤りステータスビットを含まない前記少なくとも1つのデータ群を含んだ送信フリットと、
該少なくとも1つのデータ群の前記符号化されたCRCと
を供給するように構成される出力モジュール(206)
をさらに備える請求項1に記載の送信ノード。 - 前記少なくとも1つのデータ群の前記送信フリットおよび前記少なくとも1ビットの誤りステータスビットを受信するように構成され、前記送信フリットを供給し、前記少なくとも1ビットの誤りステータスビットの状態が、前記少なくとも1つのタイプのデータブロック誤りの存在を示す場合には、検証フリットを供給するように構成される検証モジュール(208)
をさらに備える請求項4に記載の送信ノード。 - 前記検証モジュールは、
前記少なくとも1つのデータ群の前記少なくとも1ビットの誤りステータスビットを受信するように構成され、前記検証フリットを供給し、前記少なくとも1ビットの誤りステータスビットの状態を示すセレクタ信号を供給するように構成されるエラー回路(216)と、
前記送信フリット、前記検証フリットおよび前記セレクタ信号を受信するように構成され、前記送信フリットを供給し、前記セレクタ信号が、前記少なくとも1ビットの誤りステータスビットの状態が前記少なくとも1つのタイプのデータブロック誤りの存在を示す場合には、前記検証フリットを供給するように構成されるマルチプレクサ(218)と
を備える
請求項5に記載の送信ノード。 - 復号器(172、304)を備える受信ノード(164、300)であって、
該復号器は、一連の送信フリットを受信するように構成され、
各フリットは、
Mビットを有する符号化されたCRCと、
データブロックおよび制御/ステータスビットを含むデータ群と
を含み、
少なくとも1つの送信フリットについて、該少なくとも1つの送信フリットの前記データ群の関数である予期されたCRCを生成するように構成されるCRC生成器(174、314)と、
前記符号化されたCRCを前記少なくとも1つの送信フリットの前記予期されたCRCと比較して、送信誤りが前記少なくとも1つの送信フリットに存在するかどうかを判断し、前記符号化されたCRCを少なくとも1つの特別に指定されたCRCと比較して、前記少なくとも1つの送信フリットの前記データブロックが、送信前に破損データを含んでいたかどうかを判断するように構成される比較器(176、315)と
を備える
受信ノード。 - 前記データ群は、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含まず、
前記符号化されたCRCは、送信前の前記データ群の関数であり、前記少なくとも1ビットの誤りステータスビットの状態を用いて符号化される
請求項7に記載の受信ノード。 - 前記比較器は、前記予期されたCRCが、前記少なくとも1つの送信フリットの前記符号化されたCRCと一致するかどうかを示すエラー信号をさらに供給し、前記少なくとも1つの送信フリットの前記符号化されたCRCが、前記少なくとも1つの特別に指定されたCRCと一致するかどうかを示す符号化信号を供給する
請求項7に記載の受信ノード。 - 前記少なくとも1つの送信フリット、前記エラー信号および前記符号化信号を受信するように構成され、
第1の応答において、前記予期されたCRCが前記少なくとも1つの送信フリットの前記符号化されたCRCと一致することを前記エラー信号が示す場合には、前記少なくとも1つの送信フリットを供給し、
第2の応答において、前記予期されたCRCが前記符号化されたCRCと一致しないことを前記エラー信号が示し、
前記符号化されたCRCが前記少なくとも1つの特別に指定されたCRCと一致することを前記符号化信号が示す場合には、前記少なくとも1つの送信フリットを供給し、
第3の応答において、前記予期されたCRCが前記符号化されたCRCと一致ないことを前記エラー信号が示し、前記符号化されたCRCが前記少なくとも1つの特別に指定されたCRCと一致しないことを前記符号化信号が示す場合にはアイドルフリットおよび再送信号を供給するように構成される
出力モジュール(306)
をさらに備える請求項9に記載の受信ノード。 - 前記出力モジュールは、前記少なくとも1つの送信フリットの前記符号化されたCRCが、前記少なくとも1つの特別に指定されたCRCと意図的に一致するかどうかを示す確認フリットを受信するようにさらに構成され、
前記第2の応答は、
前記予期されたCRCが前記符号化されたCRCと一致しないことを前記エラー信号が示す場合には前記アイドルフリットを最初に供給すること、および、前記符号化信号が、前記符号化されたCRCが前記少なくとも1つの指定されたCRCと一致することを示し、
前記確認フリットが、前記符号化されたCRCが前記少なくとも1つの指定されたCRCと意図的に一致することを示す場合には、前記少なくとも1つの送信フリットをその後供給することであり、
前記第3の応答は、前記エラー信号が、前記予期されたCRCが前記符号化されたCRCと一致しないことを示す場合には、アイドルフリットを最初に供給すること、および、前記符号化信号が、前記符号化されたCRCが前記少なくとも1つの特別に指定されたCRCと一致しないことを示すか、または、前記確認フリットが受信されないか、もしくは、前記符号化されたCRCが前記少なくとも1つの特別に指定されたCRCと意図的に一致しないことを示す場合には、前記再送信号をその後供給することである
請求項10に記載の受信ノード。 - 前記出力モジュールは、
前記復号器に接続され、前記少なくとも1つの送信フリットの前記符号化信号および前記確認フリットを受信するように構成され、前記少なくとも1つの送信フリットの前記符号化されたCRCが、前記少なくとも1つの指定されたCRCと意図的に一致するかどうかを示す確認信号を供給するように構成される確認モジュール(308)と、
前記復号器および前記確認モジュールに接続され、前記確認信号を受信し、前記少なくとも1つの送信フリットの前記誤り信号を受信するように構成され、前記再送信号および出力制御信号を供給するように構成される、再送モジュール(310)と、
前記復号器および前記再送モジュールに接続され、前記少なくとも1つの送信フリットおよび前記出力制御信号を受信するように構成され、前記出力制御信号の状態に応じて、前記少なくとも1つの送信フリットまたは前記アイドルフリットを供給するように構成される送信機(312)と
を備える請求項11に記載の受信ノード。 - 前記確認モジュールは、
前記比較器に接続され、前記一連の送信フリットの後続する送信フリットの前記符号化信号を受信するように構成され、前記少なくとも1つの送信フリットの前記符号化信号を供給するように構成されるレジスタ(318)と、
前記第1のレジスタに接続され、前記確認フリットと前記少なくとも1つの送信フリットの前記符号化信号とを受信するように構成され、前記符号化信号が、前記少なくとも1つの送信フリットの前記符号化されたCRCが前記少なくとも1つの特別に指定されたCRCと一致することを示し、該一致が意図的であったことを前記確認フリットが示す場合には、第1の状態を有する前記確認信号を供給し、前記符号化信号が、前記少なくとも1つの送信フリットの前記符号化されたCRCが前記少なくとも1つの特別に指定されたCRCと一致しないことを示すか、または、前記確認フリットが、前記少なくとも1つの送信フリットの前記符号化されたCRCが前記少なくとも1つの特別に指定されたCRCと一致するように意図されていなかったことを示す場合には第2の状態を有する前記確認信号を供給するように構成される検証ブロック(320)と
を備える請求項12に記載の受信ノード。 - 前記再送モジュールは、
前記比較器に接続され、前記少なくとも1つの送信フリットに後続する送信フリットの前記エラー信号を受信し、前記少なくとも1つの送信フリットの前記エラー信号を供給するレジスタ(326)と、
前記比較器、前記レジスタおよび前記確認ブロックに接続され、前記少なくとも1つの送信フリットの前記エラー信号を受信し、前記後続する送信フリットの前記エラー信号を受信し、前記確認信号を受信するように構成され、前記出力選択信号および前記再送信号を供給するように構成される再送ブロック(328)と
を備える請求項12に記載の受信ノード。 - 前記送信機ブロックは、
前記復号器に接続され、前記一連の送信フリットの前記後続する送信フリットを受信し、前記一連の送信フリットの前記少なくとも1つの送信フリットを供給するように構成されるレジスタ(326)と、
前記レジスタに接続されて前記少なくとも1つの送信フリットを受信する第1入力と、
前記復号器に接続されて前記一連の送信フリットの後続する送信フリットを受信する第2入力と、
アイドルフリットを受信する第3入力と、
前記再送ブロックに接続されて前記出力選択信号を受信するセレクタ入力と
を有し、
前記出力選択信号の状態に応じて、前記第1入力、前記第2入力、または前記第3入力を出力に供給するように構成される
マルチプレクサ(338)と、
を備える請求項12に記載の受信ノード。 - 一連のデータ群の少なくとも1つのデータ群の予期された巡回冗長符号(CRC)を生成することであって、各データ群は、データブロックと、少なくとも1つのタイプのデータブロック誤りの存否を示す状態を有する少なくとも1ビットの誤りステータスビットを含んだ制御/ステータスビットとを含み、前記予期されたCRCは、前記データ群と、前記少なくとも1ビットの誤りステータスビットを含まない制御/ステータスビットとの関数である、予期されたCRCを生成することと、
前記少なくとも1ビットの誤りステータスビットの状態を用いて前記予期されたCRCを符号化することであって、それによって符号化されたCRCを生成する、前記予期されたCRCを符号化することと
を含むデータ通信方法。 - 前記符号化されたCRCが、前記少なくとも1ビットの誤りステータスビットの状態を用いて符号化されているかどうかを示す検証フリットを供給すること
をさらに含む請求項16に記載のデータ通信方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/357,975 US7047475B2 (en) | 2003-02-04 | 2003-02-04 | CRC encoding scheme for conveying status information |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004242294A true JP2004242294A (ja) | 2004-08-26 |
Family
ID=32771111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004003624A Pending JP2004242294A (ja) | 2003-02-04 | 2004-01-09 | ステータス情報を伝達するcrc符号化方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7047475B2 (ja) |
JP (1) | JP2004242294A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010193217A (ja) * | 2009-02-18 | 2010-09-02 | Mitsubishi Electric Corp | 中継装置および中継装置の中継方法 |
US8065566B2 (en) | 2006-08-18 | 2011-11-22 | Fujitsu Limited | Node device, control device, control method and control program |
JP2013081190A (ja) * | 2004-11-24 | 2013-05-02 | Qualcomm Inc | 巡回冗長検査を実行するためのシステム及び方法 |
US8719334B2 (en) | 2003-09-10 | 2014-05-06 | Qualcomm Incorporated | High data rate interface |
US8730913B2 (en) | 2004-03-10 | 2014-05-20 | Qualcomm Incorporated | High data rate interface apparatus and method |
US8730069B2 (en) | 2005-11-23 | 2014-05-20 | Qualcomm Incorporated | Double data rate serial encoder |
US8745251B2 (en) | 2000-12-15 | 2014-06-03 | Qualcomm Incorporated | Power reduction system for an apparatus for high data rate signal transfer using a communication protocol |
US8756294B2 (en) | 2003-10-29 | 2014-06-17 | Qualcomm Incorporated | High data rate interface |
US8812706B1 (en) | 2001-09-06 | 2014-08-19 | Qualcomm Incorporated | Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system |
US8873584B2 (en) | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE517500T1 (de) | 2003-06-02 | 2011-08-15 | Qualcomm Inc | Erzeugung und umsetzung eines signalprotokolls und schnittstelle für höhere datenraten |
US7437593B2 (en) * | 2003-07-14 | 2008-10-14 | International Business Machines Corporation | Apparatus, system, and method for managing errors in prefetched data |
RU2006107561A (ru) | 2003-08-13 | 2007-09-20 | Квэлкомм Инкорпорейтед (US) | Сигнальный интерфейс для высоких скоростей передачи данных |
US7203885B2 (en) * | 2003-09-30 | 2007-04-10 | Rockwell Automation Technologies, Inc. | Safety protocol for industrial controller |
CA2542649A1 (en) | 2003-10-15 | 2005-04-28 | Qualcomm Incorporated | High data rate interface |
WO2005048562A1 (en) | 2003-11-12 | 2005-05-26 | Qualcomm Incorporated | High data rate interface with improved link control |
EP1690404A1 (en) | 2003-11-25 | 2006-08-16 | QUALCOMM Incorporated | High data rate interface with improved link synchronization |
KR100906319B1 (ko) | 2003-12-08 | 2009-07-06 | 퀄컴 인코포레이티드 | 링크 동기화를 갖는 고 데이터 레이트 인터페이스 |
KR100987777B1 (ko) * | 2004-02-05 | 2010-10-13 | 삼성전자주식회사 | 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치 |
JP4519903B2 (ja) | 2004-03-17 | 2010-08-04 | クゥアルコム・インコーポレイテッド | 高速データレートインタフェース装置及び方法 |
CA2560744C (en) | 2004-03-24 | 2012-12-04 | Qualcomm Incorporated | High data rate interface apparatus and method |
DE102004044785A1 (de) * | 2004-04-10 | 2005-10-27 | Leica Microsystems Semiconductor Gmbh | Vorrichtung und Verfahren zur Bestimmung von Positionierkoordinaten für Halbleitersubstrate |
US8046488B2 (en) * | 2004-05-21 | 2011-10-25 | Intel Corporation | Dynamically modulating link width |
US7957428B2 (en) * | 2004-05-21 | 2011-06-07 | Intel Corporation | Methods and apparatuses to effect a variable-width link |
US8650304B2 (en) | 2004-06-04 | 2014-02-11 | Qualcomm Incorporated | Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system |
MXPA06014097A (es) | 2004-06-04 | 2007-03-07 | Qualcomm Inc | Metodo y aparato de interfaz de datos de alta velocidad. |
JP2006012001A (ja) * | 2004-06-29 | 2006-01-12 | Ifu Agency Kk | 情報処理システム及び情報処理方法 |
US7607070B2 (en) * | 2004-09-13 | 2009-10-20 | National Instruments Corporation | System and method for in-line consistency checking of packetized data |
US8539119B2 (en) | 2004-11-24 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for exchanging messages having a digital data interface device message format |
US8699330B2 (en) | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
US8667363B2 (en) | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
US20060161691A1 (en) * | 2004-11-24 | 2006-07-20 | Behnam Katibian | Methods and systems for synchronous execution of commands across a communication link |
US8723705B2 (en) | 2004-11-24 | 2014-05-13 | Qualcomm Incorporated | Low output skew double data rate serial encoder |
EP1876744A4 (en) * | 2005-04-04 | 2012-11-21 | Ntt Docomo Inc | TRANSMISSION PROCEDURE, RECEPTION PROCEDURE, RADIO BASE STATION AND MOBILE STATION |
US20070033247A1 (en) * | 2005-08-02 | 2007-02-08 | The Mathworks, Inc. | Methods and system for distributing data to technical computing workers |
US8692839B2 (en) | 2005-11-23 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
US7904789B1 (en) * | 2006-03-31 | 2011-03-08 | Guillermo Rozas | Techniques for detecting and correcting errors in a memory device |
US20070259665A1 (en) * | 2006-05-03 | 2007-11-08 | Chiu Chun-Yuan | Error detection and retransmission methods and devices for communication systems |
US8201071B2 (en) * | 2006-11-15 | 2012-06-12 | Qimonda Ag | Information transmission and reception |
JP2008159152A (ja) * | 2006-12-22 | 2008-07-10 | Toshiba Corp | 記憶装置 |
CN101227450B (zh) * | 2007-01-16 | 2013-04-24 | 华为技术有限公司 | 一种开销信息的传输方法、系统及设备 |
US8139575B2 (en) * | 2007-06-29 | 2012-03-20 | International Business Machines Corporation | Device, system and method of modification of PCI express packet digest |
US8386878B2 (en) * | 2007-07-12 | 2013-02-26 | Samsung Electronics Co., Ltd. | Methods and apparatus to compute CRC for multiple code blocks |
KR20110003726A (ko) * | 2009-07-06 | 2011-01-13 | 삼성전자주식회사 | Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치 |
US20110022916A1 (en) * | 2009-07-24 | 2011-01-27 | Prasanna Desai | Method and system for saving power for packet re-transmission in an encrypted bluetooth low power link layer connection |
US9552305B2 (en) * | 2010-11-01 | 2017-01-24 | International Business Machines Corporation | Compacting dispersed storage space |
JP2012124643A (ja) * | 2010-12-07 | 2012-06-28 | Fuji Xerox Co Ltd | 受信装置及びデータ転送装置 |
JP2012124642A (ja) * | 2010-12-07 | 2012-06-28 | Fuji Xerox Co Ltd | 受信装置、データ転送装置、及びプログラム |
US8868955B2 (en) | 2011-07-01 | 2014-10-21 | Intel Corporation | Enhanced interconnect link width modulation for power savings |
KR20130081388A (ko) * | 2012-01-09 | 2013-07-17 | 삼성전자주식회사 | 메모리 장치와 이의 동작 방법 |
US9053244B2 (en) | 2012-06-28 | 2015-06-09 | Intel Corporation | Utilization-aware low-overhead link-width modulation for power reduction in interconnects |
US9183171B2 (en) | 2012-09-29 | 2015-11-10 | Intel Corporation | Fast deskew when exiting low-power partial-width high speed link state |
KR101754890B1 (ko) * | 2012-10-22 | 2017-07-06 | 인텔 코포레이션 | 고성능 인터커넥트 물리 계층 |
US9479196B2 (en) | 2012-10-22 | 2016-10-25 | Intel Corporation | High performance interconnect link layer |
US9424125B2 (en) * | 2013-01-16 | 2016-08-23 | Google Inc. | Consistent, disk-backed arrays |
US9405926B2 (en) * | 2014-06-30 | 2016-08-02 | Paul Lewis | Systems and methods for jurisdiction independent data storage in a multi-vendor cloud environment |
US10984116B2 (en) | 2013-04-15 | 2021-04-20 | Calamu Technologies Corporation | Systems and methods for digital currency or crypto currency storage in a multi-vendor cloud environment |
US20150046775A1 (en) * | 2013-08-07 | 2015-02-12 | Broadcom Corporation | Encoding and Decoding Schemes to Achieve Standard Compliant Mean Time to False Packet Acceptance |
RU2653306C1 (ru) | 2014-03-20 | 2018-05-07 | Интел Корпорейшн | Способ, устройство и система для управления потреблением энергии неиспользуемым аппаратным средством канального интерфейса |
DE102015103809B3 (de) * | 2015-03-16 | 2016-07-07 | Intel IP Corporation | Verfahren und Vorrichtung zum Schützen eines Datentransportblocks gegen Speicherfehler und Übertragungsfehler |
US9720768B2 (en) | 2015-10-06 | 2017-08-01 | Nvidia Corporation | System and method for early packet header verification |
US10284335B2 (en) * | 2017-02-22 | 2019-05-07 | International Business Machines Corporation | Error detection for wormhole routing |
US10474611B2 (en) | 2017-09-19 | 2019-11-12 | International Business Machines Corporation | Aligning received bad data indicators (BDIS) with received data on a cross-chip link |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5917837A (en) * | 1996-09-11 | 1999-06-29 | Qualcomm, Incorporated | Method and apparatus for performing decoding of codes with the use of side information associated with the encoded data |
JPH10107647A (ja) * | 1996-09-25 | 1998-04-24 | Mitsubishi Electric Corp | Crc回路 |
JP3249405B2 (ja) * | 1996-09-30 | 2002-01-21 | 株式会社東芝 | 誤り訂正回路および誤り訂正方法 |
US6094465A (en) * | 1997-03-21 | 2000-07-25 | Qualcomm Incorporated | Method and apparatus for performing decoding of CRC outer concatenated codes |
US6148422A (en) * | 1997-10-07 | 2000-11-14 | Nortel Networks Limited | Telecommunication network utilizing an error control protocol |
JPH11122120A (ja) * | 1997-10-17 | 1999-04-30 | Sony Corp | 符号化方法及び装置、並びに復号化方法及び装置 |
US6427219B1 (en) * | 1998-06-24 | 2002-07-30 | Conexant Systems, Inc. | Method and apparatus for detecting and correcting errors using cyclic redundancy check |
US6453440B1 (en) * | 1999-08-04 | 2002-09-17 | Sun Microsystems, Inc. | System and method for detecting double-bit errors and for correcting errors due to component failures |
US6601210B1 (en) * | 1999-09-08 | 2003-07-29 | Mellanox Technologies, Ltd | Data integrity verification in a switching network |
US6684363B1 (en) * | 2000-10-25 | 2004-01-27 | Sun Microsystems, Inc. | Method for detecting errors on parallel links |
-
2003
- 2003-02-04 US US10/357,975 patent/US7047475B2/en active Active
-
2004
- 2004-01-09 JP JP2004003624A patent/JP2004242294A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8745251B2 (en) | 2000-12-15 | 2014-06-03 | Qualcomm Incorporated | Power reduction system for an apparatus for high data rate signal transfer using a communication protocol |
US8812706B1 (en) | 2001-09-06 | 2014-08-19 | Qualcomm Incorporated | Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system |
US8719334B2 (en) | 2003-09-10 | 2014-05-06 | Qualcomm Incorporated | High data rate interface |
US8756294B2 (en) | 2003-10-29 | 2014-06-17 | Qualcomm Incorporated | High data rate interface |
US8730913B2 (en) | 2004-03-10 | 2014-05-20 | Qualcomm Incorporated | High data rate interface apparatus and method |
JP2013081190A (ja) * | 2004-11-24 | 2013-05-02 | Qualcomm Inc | 巡回冗長検査を実行するためのシステム及び方法 |
US8873584B2 (en) | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
US8730069B2 (en) | 2005-11-23 | 2014-05-20 | Qualcomm Incorporated | Double data rate serial encoder |
US8065566B2 (en) | 2006-08-18 | 2011-11-22 | Fujitsu Limited | Node device, control device, control method and control program |
JP2010193217A (ja) * | 2009-02-18 | 2010-09-02 | Mitsubishi Electric Corp | 中継装置および中継装置の中継方法 |
Also Published As
Publication number | Publication date |
---|---|
US7047475B2 (en) | 2006-05-16 |
US20040153952A1 (en) | 2004-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004242294A (ja) | ステータス情報を伝達するcrc符号化方式 | |
JP6067637B2 (ja) | 集約されたパケットの送信におけるパケットレベル消去保護コーディング | |
EP0507884B1 (en) | Transmitting encoded data on unreliable networks | |
JP4703310B2 (ja) | 通信方法および通信システム | |
EP1190520B1 (en) | System and method for implementing hybrid automatic repeat request using parity check combining | |
JP3349926B2 (ja) | 受信制御装置、通信制御システム及び通信制御方法 | |
JP2002508640A (ja) | 通信システムにおける識別子情報送信方法及び装置 | |
WO2006096879A1 (en) | System and method for tolerating communication lane failures | |
US20040098655A1 (en) | Rolling CRC scheme for improved error detection | |
JP2007502058A (ja) | 無線ネットワーク通信システム及びプロトコル | |
EP1677450A2 (en) | HARQ apparatus and method using an LDPC code | |
JP2004088246A (ja) | 無線通信方法および無線通信装置 | |
JP2006186527A (ja) | データ伝送方式及び方法 | |
KR20050086541A (ko) | 향상된 통신 프로토콜을 사용하는 통신 방법, 통신 시스템및 단말기 | |
WO2022105753A1 (zh) | 网络数据编码传输方法及装置 | |
US7505486B2 (en) | Degradable network data path transmission scheme | |
JPH07336364A (ja) | デジタル無線通信システム | |
JP2007189399A (ja) | 自動再送制御方法、送信装置、受信装置及びプログラム | |
KR101543029B1 (ko) | 무선 네트워크에서의 코드 패킷을 이용한 통신 방법 | |
JP2006304351A (ja) | 無線通信方法および無線通信装置 | |
JPH1093659A (ja) | データ伝送方法 | |
JPH07336368A (ja) | 通信装置 | |
JPH01204542A (ja) | データ伝送方式 | |
JPH0897801A (ja) | テレックス通信用誤り文字検出方式 | |
JPH0923213A (ja) | 符号列伝送方法、これらに用いる送信方法及び受信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060605 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060609 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070111 |