JPH0715354A - Crcコードの確認方法及び装置 - Google Patents
Crcコードの確認方法及び装置Info
- Publication number
- JPH0715354A JPH0715354A JP6032938A JP3293894A JPH0715354A JP H0715354 A JPH0715354 A JP H0715354A JP 6032938 A JP6032938 A JP 6032938A JP 3293894 A JP3293894 A JP 3293894A JP H0715354 A JPH0715354 A JP H0715354A
- Authority
- JP
- Japan
- Prior art keywords
- crc code
- crc
- value
- confirmation
- partial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012790 confirmation Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims description 45
- 238000012360 testing method Methods 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 abstract description 3
- 230000003287 optical effect Effects 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
(57)【要約】
【目的】ATM伝送に特に好適な高速、廉価、かつメッ
セージ数制限のないCRCコードの確認装置の提供。 【構成】データ・ブロックがサブブロックに分割して伝
送される伝送装置において、受信したサブブロック毎に
所定の初期設定値を用いて部分CRCコードを発生し、
該部分CRCコードから前記データ・ブロック全体にた
いするCRCコードを組み立てて、その確認をおこな
う。
セージ数制限のないCRCコードの確認装置の提供。 【構成】データ・ブロックがサブブロックに分割して伝
送される伝送装置において、受信したサブブロック毎に
所定の初期設定値を用いて部分CRCコードを発生し、
該部分CRCコードから前記データ・ブロック全体にた
いするCRCコードを組み立てて、その確認をおこな
う。
Description
【0001】
【産業上の利用分野】本発明は、巡回符号検査(CR
C)コードの確認方法及び装置に関するものである。
C)コードの確認方法及び装置に関するものである。
【0002】
【従来技術と問題点】CRCコードは、通信プロセス時
に生じる可能性のあるエラーを検出するために、デジタ
ル・データ通信の広範囲にわたって利用されている。通
信すべきメッセージは、2進デジタル形式で組み立てら
れ、符号化されるのが普通であり、CRCコードは、所
定の多ビット数と所定のアルゴリズムを利用して導き出
される。次数が32の下記多項式によって、この目的の
ために広く用いられている多ビッ数の1つを表すことが
できる: g(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7 + x5 +x4 +x2 +x+1 この技法の実施例の1つでは、出力段(ゼロから付番し
て、段31)に排他的ORゲートを設け、レジスタの内
容のシフトと同期して、通信すべきメッセージの順次ビ
ットに対して出力信号の排他的OR演算を施すようにし
た32段のシフト・レジスタをもちいる。この排他的O
Rゲートの出力は、直接初段(段0)に送られ、さら
に、g(x)の項に対応する残りの段のそれぞれ(すな
わち、段26、23、...、2、及び、1)をその先
行段に結合する、後続の排他的ORゲートに送られる
(図1参照)。シフト・レジスタは、最初に、全て1の
ローディングが施され、次に、解説のように通信すべき
メッセージを受信し、全メッセージが入力されると、シ
フト・レジスタの内容が、出力され、反転されて、CR
Cコードが生じ、従来どおり、メッセージに付加され
る。受信すると、メッセージ及びその付属CRCコード
は、同様に、あらかじめ全てが1のローディングを施さ
れた、同様の構成のシフト・レジスタに入力され、全て
のメッセージ及びCRCコードが入力されると、シフト
・レジスタには、多項式x63+x62+....+x33+
x32を多項式g(x)で割った剰余に対応する2進値1
100 0111 0000 0100 1101 1
101 0111 1011(C704DD7BH )が
納められるはずである。結果が他の値になったとする
と、メッセージは、1つ以上のエラーを有していること
になる。
に生じる可能性のあるエラーを検出するために、デジタ
ル・データ通信の広範囲にわたって利用されている。通
信すべきメッセージは、2進デジタル形式で組み立てら
れ、符号化されるのが普通であり、CRCコードは、所
定の多ビット数と所定のアルゴリズムを利用して導き出
される。次数が32の下記多項式によって、この目的の
ために広く用いられている多ビッ数の1つを表すことが
できる: g(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7 + x5 +x4 +x2 +x+1 この技法の実施例の1つでは、出力段(ゼロから付番し
て、段31)に排他的ORゲートを設け、レジスタの内
容のシフトと同期して、通信すべきメッセージの順次ビ
ットに対して出力信号の排他的OR演算を施すようにし
た32段のシフト・レジスタをもちいる。この排他的O
Rゲートの出力は、直接初段(段0)に送られ、さら
に、g(x)の項に対応する残りの段のそれぞれ(すな
わち、段26、23、...、2、及び、1)をその先
行段に結合する、後続の排他的ORゲートに送られる
(図1参照)。シフト・レジスタは、最初に、全て1の
ローディングが施され、次に、解説のように通信すべき
メッセージを受信し、全メッセージが入力されると、シ
フト・レジスタの内容が、出力され、反転されて、CR
Cコードが生じ、従来どおり、メッセージに付加され
る。受信すると、メッセージ及びその付属CRCコード
は、同様に、あらかじめ全てが1のローディングを施さ
れた、同様の構成のシフト・レジスタに入力され、全て
のメッセージ及びCRCコードが入力されると、シフト
・レジスタには、多項式x63+x62+....+x33+
x32を多項式g(x)で割った剰余に対応する2進値1
100 0111 0000 0100 1101 1
101 0111 1011(C704DD7BH )が
納められるはずである。結果が他の値になったとする
と、メッセージは、1つ以上のエラーを有していること
になる。
【0003】こうした実施例は、有効であり、信頼でき
るが、不利な環境もある。現在高速データ転送のために
実施されている技法の1つに、非同期転送モード(AT
M)として知られるものがある。例えば、建物内におけ
る「局所」使用のためにATMを実施する場合、単一の
メッセージが、比較的大きくなる可能性がある(例え
ば、65568バイトまで)。送信目的の場合、このメ
ッセージは、長さが正確に48バイトの倍数になるまで
埋め込まれ、次に、連続した48バイトのセグメントに
分割される。ATMプロトコルによれば、これらのセグ
メントは、送信の場合と同じ順序で受信されるが、同じ
または別の受信者を意図した別の送信からのセグメント
を散在させることも可能である。
るが、不利な環境もある。現在高速データ転送のために
実施されている技法の1つに、非同期転送モード(AT
M)として知られるものがある。例えば、建物内におけ
る「局所」使用のためにATMを実施する場合、単一の
メッセージが、比較的大きくなる可能性がある(例え
ば、65568バイトまで)。送信目的の場合、このメ
ッセージは、長さが正確に48バイトの倍数になるまで
埋め込まれ、次に、連続した48バイトのセグメントに
分割される。ATMプロトコルによれば、これらのセグ
メントは、送信の場合と同じ順序で受信されるが、同じ
または別の受信者を意図した別の送信からのセグメント
を散在させることも可能である。
【0004】受信メッセージに関してCRCコードを確
認するための、可能性のあるアプローチの1つは、メッ
セージの一般処理の一部として、CRC確認結果を導き
出すことである。ただし、こうした処理は、一般に、ソ
フトウェア・プログラムの制御下において、データ処理
装置によって実施され、各メッセージの処理速度が時間
的にかなり不利になる。
認するための、可能性のあるアプローチの1つは、メッ
セージの一般処理の一部として、CRC確認結果を導き
出すことである。ただし、こうした処理は、一般に、ソ
フトウェア・プログラムの制御下において、データ処理
装置によって実施され、各メッセージの処理速度が時間
的にかなり不利になる。
【0005】原理上は、メッセージの受信時に、その順
次セグメントをシフト・レジスタに供給することによっ
て、各メッセージ毎に、リアル・タイムでCRCの確認
結果を導き出すことが可能であり、散在する他のメッセ
ージに関するセグメントは、別個の各メッセージ毎に、
別個のシフト・レジスタを設けるか、あるいは、異なる
メッセージに関するセグメントを受信する毎に、シフト
・レジスタの内容を保管及び復元することによって処理
可能である。しかし、前者では、回路ハードウェアが極
めて高価となり、後者では、1つのメッセージに関する
シフト・レジスタの内容及びメッセージのIDを保管
し、次のセグメントが到着したメッセージを識別して、
そのメッセージに関する既に保管されている内容を検索
し、レジスタにロードするので、望ましくない遅延を生
じる。さらに、両方のアプローチとも、同時に受信可能
な異なるメッセージの数に制限がある。
次セグメントをシフト・レジスタに供給することによっ
て、各メッセージ毎に、リアル・タイムでCRCの確認
結果を導き出すことが可能であり、散在する他のメッセ
ージに関するセグメントは、別個の各メッセージ毎に、
別個のシフト・レジスタを設けるか、あるいは、異なる
メッセージに関するセグメントを受信する毎に、シフト
・レジスタの内容を保管及び復元することによって処理
可能である。しかし、前者では、回路ハードウェアが極
めて高価となり、後者では、1つのメッセージに関する
シフト・レジスタの内容及びメッセージのIDを保管
し、次のセグメントが到着したメッセージを識別して、
そのメッセージに関する既に保管されている内容を検索
し、レジスタにロードするので、望ましくない遅延を生
じる。さらに、両方のアプローチとも、同時に受信可能
な異なるメッセージの数に制限がある。
【0006】
【発明の目的】新規なCRC確認装置と方法により前記
の問題点を解決する、特に、少ないハードウェアで高
速、メッセージの数の制限を除くことを目的とする。
の問題点を解決する、特に、少ないハードウェアで高
速、メッセージの数の制限を除くことを目的とする。
【0007】
【発明の概要】本発明の態様の1つによれば、受信した
各データ・サブブロック毎に、所定の初期設定値からそ
れぞれの部分CRCコードを導き出すステップと、前記
部分CRCコードを組み合わせて、受信した完全なデー
タ・ブロックに関するCRC確認値を導き出すステップ
と、受信した完全なデータ・ブロックに関する前記CR
C確認値の妥当性をテストするステップから構成され
る、通信媒体を介して複数のサブブロックとして転送さ
れるデータ・ブロックに関するCRCコードを確認する
ための方法が得られる。
各データ・サブブロック毎に、所定の初期設定値からそ
れぞれの部分CRCコードを導き出すステップと、前記
部分CRCコードを組み合わせて、受信した完全なデー
タ・ブロックに関するCRC確認値を導き出すステップ
と、受信した完全なデータ・ブロックに関する前記CR
C確認値の妥当性をテストするステップから構成され
る、通信媒体を介して複数のサブブロックとして転送さ
れるデータ・ブロックに関するCRCコードを確認する
ための方法が得られる。
【0008】この方法を利用して、各ATMセグメント
毎に、独立した部分CRCコードが、導き出され、それ
に関連づけて保管され、次に、CRCコード生成に関す
る開始値(例えば、上述のシフト・レジスタの内容)
が、所定の初期設定値(例えば、全てゼロ)にリセット
される。引き続き、完全なメッセージを構成する全セグ
メントに関する部分CRCコードを上述のように組み合
わせることによって、完全なメッセージに関連してお
り、メッセージがエラーの影響を受けているか否かを検
査するために用いることが可能な、CRC確認値が、導
き出される。部分CRCコードの導出は、好都合なこと
に、専用ハードウェアによって高速度で行うことが可能
であり、一方、部分CRCコードの組み合わせは、あま
り時間的に不利にならないように、ソフトウェア・プロ
グラムの制御を受ける回路を用いて行うことが可能であ
る。本発明の場合、あるセグメントが、CRCコードの
導出の一部として、どのメッセージに属しているかを識
別する必要はなく、原理上、同時に受信可能なメッセー
ジ数には制限がない。
毎に、独立した部分CRCコードが、導き出され、それ
に関連づけて保管され、次に、CRCコード生成に関す
る開始値(例えば、上述のシフト・レジスタの内容)
が、所定の初期設定値(例えば、全てゼロ)にリセット
される。引き続き、完全なメッセージを構成する全セグ
メントに関する部分CRCコードを上述のように組み合
わせることによって、完全なメッセージに関連してお
り、メッセージがエラーの影響を受けているか否かを検
査するために用いることが可能な、CRC確認値が、導
き出される。部分CRCコードの導出は、好都合なこと
に、専用ハードウェアによって高速度で行うことが可能
であり、一方、部分CRCコードの組み合わせは、あま
り時間的に不利にならないように、ソフトウェア・プロ
グラムの制御を受ける回路を用いて行うことが可能であ
る。本発明の場合、あるセグメントが、CRCコードの
導出の一部として、どのメッセージに属しているかを識
別する必要はなく、原理上、同時に受信可能なメッセー
ジ数には制限がない。
【0009】本発明のもう1つの態様によれば、受信し
た各データ・サブブロック毎に、所定の初期設定値から
それぞれの部分CRCコードを導き出すための手段と、
前記部分CRCコードを組み合わせて、受信した完全な
データ・ブロックに関するCRC確認値を導き出すため
の手段と、受信した完全なデータ・ブロックに関する前
記CRC確認値の妥当性をテストするための手段から構
成される、通信媒体を介して複数のサブブロックとして
転送されるデータ・ブロックに関するCRCコードを確
認するための装置が得られる。
た各データ・サブブロック毎に、所定の初期設定値から
それぞれの部分CRCコードを導き出すための手段と、
前記部分CRCコードを組み合わせて、受信した完全な
データ・ブロックに関するCRC確認値を導き出すため
の手段と、受信した完全なデータ・ブロックに関する前
記CRC確認値の妥当性をテストするための手段から構
成される、通信媒体を介して複数のサブブロックとして
転送されるデータ・ブロックに関するCRCコードを確
認するための装置が得られる。
【0010】
【実施例】図2を参照すると、光ファイバ入力ライン1
0によってATMデータ・ストリームを受信し、該デー
タ・ストリームにおけるメッセージのCRCコードを確
認するための装置には、ライン10に結合された入力イ
ンターフェイス12が備わっている。図2に示すよう
に、ATMデータ・ストリームは、各セルが、システム
操作情報を有する5バイトのヘッダHと、完全なATM
メッセージのセグメントの1つを構成する48バイトの
ペイロードを備えた、セル・シーケンスから構成される
ものとして取り扱われる。順次セルには、異なるメッセ
ージに関するセグメントを含むことが可能であり、その
セグメントを含むセルのヘッダHにおける情報には、セ
グメントが属しているメッセージのIDが含まれてい
る。
0によってATMデータ・ストリームを受信し、該デー
タ・ストリームにおけるメッセージのCRCコードを確
認するための装置には、ライン10に結合された入力イ
ンターフェイス12が備わっている。図2に示すよう
に、ATMデータ・ストリームは、各セルが、システム
操作情報を有する5バイトのヘッダHと、完全なATM
メッセージのセグメントの1つを構成する48バイトの
ペイロードを備えた、セル・シーケンスから構成される
ものとして取り扱われる。順次セルには、異なるメッセ
ージに関するセグメントを含むことが可能であり、その
セグメントを含むセルのヘッダHにおける情報には、セ
グメントが属しているメッセージのIDが含まれてい
る。
【0011】入力インターフェイス12は、ライン10
からの光信号を電気信号に変換し、各セルにセグメント
・データを納めたデータ信号を発生し、該信号の2進ビ
ットの生起に同期したクロック信号を発生し(クロック
回復)、受信したデータ・ストリームのATMセル間に
おける境界を突き止めて、セル開始(SOC)信号を発
生し、セルのヘッダから、各セグメントが属しているメ
ッセージのIDを抽出する。これらの機能を実施する技
法及び回路構成は、当該技術の熟練者にとって周知のと
ころであり、本発明の一部をなすものではないので、こ
こでは、これ以上の説明を行わない。
からの光信号を電気信号に変換し、各セルにセグメント
・データを納めたデータ信号を発生し、該信号の2進ビ
ットの生起に同期したクロック信号を発生し(クロック
回復)、受信したデータ・ストリームのATMセル間に
おける境界を突き止めて、セル開始(SOC)信号を発
生し、セルのヘッダから、各セグメントが属しているメ
ッセージのIDを抽出する。これらの機能を実施する技
法及び回路構成は、当該技術の熟練者にとって周知のと
ころであり、本発明の一部をなすものではないので、こ
こでは、これ以上の説明を行わない。
【0012】データ信号、クロック信号、及び、SOC
信号が、上述のように、かつ、図1に示すように、CR
Cコード発生を実施するように構成された32ビットの
シフト・レジスタ14に供給される。図1に示す接続に
加えて、シフト・レジスタ14は、さらに2つの入力、
すなわち、クロック信号を受信してレジスタ内のデータ
のシフトを同期化するクロック入力、及び、SOC信号
を受信してシフト・レジスタの現在の入力を出力させ
(記憶し)、シフト・レジスタをリセットして、全てゼ
ロの所定の初期設定値にする制御入力とを備えている。
これらの入力の実施についても、当該技術の熟練者には
明らかである。
信号が、上述のように、かつ、図1に示すように、CR
Cコード発生を実施するように構成された32ビットの
シフト・レジスタ14に供給される。図1に示す接続に
加えて、シフト・レジスタ14は、さらに2つの入力、
すなわち、クロック信号を受信してレジスタ内のデータ
のシフトを同期化するクロック入力、及び、SOC信号
を受信してシフト・レジスタの現在の入力を出力させ
(記憶し)、シフト・レジスタをリセットして、全てゼ
ロの所定の初期設定値にする制御入力とを備えている。
これらの入力の実施についても、当該技術の熟練者には
明らかである。
【0013】シフト・レジスタ14の出力は、記憶装置
16に結合され、該記憶装置は、入力インターフェイス
12からのデータ信号、クロック信号、及び、メッセー
ジIDも受信する。SOC信号が生じると、シフト・レ
ジスタ14の現在の内容(「部分」CRCコード、すな
わち、PCRC)が、記憶装置16に対して出力され、
該記憶装置に、対応するセグメント・データ(セル・デ
ータ)、及び、そのセグメントが属しているメッセージ
のID(MsgID)と関連づけて記憶される。記憶装
置16は、所望の大きさの容量を備えることができる
が、数千のセグメント及び関連のPCRC及びMsgI
Dといったところが普通である。
16に結合され、該記憶装置は、入力インターフェイス
12からのデータ信号、クロック信号、及び、メッセー
ジIDも受信する。SOC信号が生じると、シフト・レ
ジスタ14の現在の内容(「部分」CRCコード、すな
わち、PCRC)が、記憶装置16に対して出力され、
該記憶装置に、対応するセグメント・データ(セル・デ
ータ)、及び、そのセグメントが属しているメッセージ
のID(MsgID)と関連づけて記憶される。記憶装
置16は、所望の大きさの容量を備えることができる
が、数千のセグメント及び関連のPCRC及びMsgI
Dといったところが普通である。
【0014】分かりやすくするため、シフト・レジスタ
14による部分CRCコードの導出、及び、回路要素に
よるデータ転送の説明及び例示を直列的に行ってきた
が、当該技術の熟練者には明らかなように、これらの操
作は、所望の場合には、数ビットについて同時に機能す
る並列メカニズムを利用して、等しく実施することが可
能である。
14による部分CRCコードの導出、及び、回路要素に
よるデータ転送の説明及び例示を直列的に行ってきた
が、当該技術の熟練者には明らかなように、これらの操
作は、所望の場合には、数ビットについて同時に機能す
る並列メカニズムを利用して、等しく実施することが可
能である。
【0015】メッセージを構成する全てのセグメントを
受信すると、完全なメッセージが組み立てられ、そのC
RCコードは、確認装置18によって確認される。この
装置は、好都合なことに、適合するソフトウェア・プロ
グラムの制御を受けるデータ・プロセッサ装置によって
実現可能であるが、データ・プロセッサ装置は、例え
ば、さらに高レベルの通信プロトコルに基づいて、受信
メッセージの後続処理を実施するために利用することも
可能である。
受信すると、完全なメッセージが組み立てられ、そのC
RCコードは、確認装置18によって確認される。この
装置は、好都合なことに、適合するソフトウェア・プロ
グラムの制御を受けるデータ・プロセッサ装置によって
実現可能であるが、データ・プロセッサ装置は、例え
ば、さらに高レベルの通信プロトコルに基づいて、受信
メッセージの後続処理を実施するために利用することも
可能である。
【0016】確認装置18は、そのメッセージに関する
MsgIDを備えた各セグメント毎に、記憶装置16か
らPCRCを抽出し、図3に示す手順に従って、同一メ
ッセージの他のセグメントに関するPCRCと組み合わ
せる。
MsgIDを備えた各セグメント毎に、記憶装置16か
らPCRCを抽出し、図3に示す手順に従って、同一メ
ッセージの他のセグメントに関するPCRCと組み合わ
せる。
【0017】図3を参照すると、該手順は、カウンタs
を1に等しくなるようにセットし、4バイトの変数CR
Cを16進数FFFFFFFFH (末尾のH は16進数
であることを示す添字)に初期設定するステップ30か
ら開始される。
を1に等しくなるようにセットし、4バイトの変数CR
Cを16進数FFFFFFFFH (末尾のH は16進数
であることを示す添字)に初期設定するステップ30か
ら開始される。
【0018】該手順では、次のステップ32において、
変数CRCのそれぞれのバイトの値から、4つのルック
・アップ・テーブルのそれぞれに対する索引Iの値を導
き出す。例えば、索引I408 は、CRCの最上位バイト
の値に等しくなるようにセットされ、索引I400 は、次
に上位のバイトに等しくなるようにセットされ、索引I
392 は、3番目に上位のバイトに等しくなるようにセッ
トされ、索引I384 は、最下位バイトに等しくなるよう
にセットされる。
変数CRCのそれぞれのバイトの値から、4つのルック
・アップ・テーブルのそれぞれに対する索引Iの値を導
き出す。例えば、索引I408 は、CRCの最上位バイト
の値に等しくなるようにセットされ、索引I400 は、次
に上位のバイトに等しくなるようにセットされ、索引I
392 は、3番目に上位のバイトに等しくなるようにセッ
トされ、索引I384 は、最下位バイトに等しくなるよう
にセットされる。
【0019】各ルック・アップ・テーブルは、256個
のエントリを備えており、それらの値は、後述するよう
に、CRCコードのアルゴリズムが準拠する特定の多項
式によって計算可能である。多項式g(x)に関する1
組のテーブルT384 、T392、T400 、及び、T408
が、図4a〜図7bに示されている。
のエントリを備えており、それらの値は、後述するよう
に、CRCコードのアルゴリズムが準拠する特定の多項
式によって計算可能である。多項式g(x)に関する1
組のテーブルT384 、T392、T400 、及び、T408
が、図4a〜図7bに示されている。
【0020】該手順では、ステップ34において、セグ
メントsに関するPCRCの値を検索するが、セグメン
トには、受信順に付番されており、従って、最初に検索
するPCRC(s)(s=1)は、最初に受信した最上
位のセグメントに関するものであり、最後に検索するセ
グメントは、最下位のセグメントであり、そのsはメッ
セージにおけるセグメントの総数に等しくなる。
メントsに関するPCRCの値を検索するが、セグメン
トには、受信順に付番されており、従って、最初に検索
するPCRC(s)(s=1)は、最初に受信した最上
位のセグメントに関するものであり、最後に検索するセ
グメントは、最下位のセグメントであり、そのsはメッ
セージにおけるセグメントの総数に等しくなる。
【0021】変数CRCの値の更新は、ステップ36に
おいて、下記関係式に基づいておこなわれる: CRC=PCRC(s)XOR T408 (I408 )XOR T400 (I400 )XOR T 392 (I392 )XOR T384 (I384 ) (2) ここで、XOR は、ビットに関する排他的OR演算を表
し、T408 (I408 )は、索引I408 の現在値に関する
テーブルT408 のエントリを表している。
おいて、下記関係式に基づいておこなわれる: CRC=PCRC(s)XOR T408 (I408 )XOR T400 (I400 )XOR T 392 (I392 )XOR T384 (I384 ) (2) ここで、XOR は、ビットに関する排他的OR演算を表
し、T408 (I408 )は、索引I408 の現在値に関する
テーブルT408 のエントリを表している。
【0022】ステップ38において、sの値がインクリ
メントされ、インクリメントした値は、ステップ40に
おいてテストを受ける。sがメッセージにおけるセグメ
ント総数以下の場合、該手順は、ステップ32に戻り、
CRCの更新値を構成するそれぞれのバイトに基づい
て、索引I384 、I392 、I400 、及び、I408 に関す
る新しい値を導き出す。
メントされ、インクリメントした値は、ステップ40に
おいてテストを受ける。sがメッセージにおけるセグメ
ント総数以下の場合、該手順は、ステップ32に戻り、
CRCの更新値を構成するそれぞれのバイトに基づい
て、索引I384 、I392 、I400 、及び、I408 に関す
る新しい値を導き出す。
【0023】sのインクリメント値が、メッセージにお
けるセグメントの総数を超える場合、CRCの値は、完
全なメッセージに関するCRC確認値になる。ステップ
42では、この確認値が、エラーのないメッセージに関
するC704DD7BH の予測値と等しくなるか否かに
ついてテストされる。CRCがこの値を備えている場合
には、ステップ44において、有効CRCコードが表示
されるが、別様であれば、無効CRCコードが、即ち受
信メッセージに1つ以上のエラーが生じたことが、ステ
ップ46で表示される。後者の場合、用いられる特定の
通信プロトコルに基づいて、メッセージの再送信を要求
するといった、適当な措置がとられる。
けるセグメントの総数を超える場合、CRCの値は、完
全なメッセージに関するCRC確認値になる。ステップ
42では、この確認値が、エラーのないメッセージに関
するC704DD7BH の予測値と等しくなるか否かに
ついてテストされる。CRCがこの値を備えている場合
には、ステップ44において、有効CRCコードが表示
されるが、別様であれば、無効CRCコードが、即ち受
信メッセージに1つ以上のエラーが生じたことが、ステ
ップ46で表示される。後者の場合、用いられる特定の
通信プロトコルに基づいて、メッセージの再送信を要求
するといった、適当な措置がとられる。
【0024】メッセージ全体の受信を完了してから全C
RC確認値の導出を開始する場合に関連して、図3の手
順の説明を行ってきたが、留意すべきは、該手順は、各
順次セグメントの受信と同時に行われるCRC確認値の
導出にも等しく適用することができるという点である。
RC確認値の導出を開始する場合に関連して、図3の手
順の説明を行ってきたが、留意すべきは、該手順は、各
順次セグメントの受信と同時に行われるCRC確認値の
導出にも等しく適用することができるという点である。
【0025】例えば、順次セグメントと下記のようにシ
フト・レジスタ14によって導き出される部分CRCを
備えた、3セグメントのメッセージ及び付属のCRCを
受信することができる: PCRC(1)=A07C4DD8H PCRC(2)=072FEBO3H PCRC(3)=2E24F35DH FFFFFFFFH の初期CRC値に関するI384 、I
392 、I400 、及び、I408 の値はI384 =I392 =I
400 =I408 =FFH になり、これらに関するルック・
アップ・テーブルのエントリは、T384 =580FA9
1EH 、T392 =513658BFH 、T400 =4A0
E09B0H 、及び、T408 =150516A1Hとな
る。ステップ36における最初の計算によって、CRC
=A07C4DD8XOR 580FA91EXOR 5136
58BFXOR A0XOR E09B0XOR 50516A1=
F64EA368H が得られる。I384 、I392 、I40
0 、I408 の次の値は、I384 =68H 、I392 =A3
H 、I400 =4EH 、及び、I408 =F6Hになり、ル
ック・アップ・テーブルのエントリは、T384 =267
A5A62H 、T392 =D5B60D44H 、T400 =
859250ACH 、及び、T408 =1EE6098C
H である。従って、ステップ36における次の計算によ
って、CRC=072FEB03XOR 267A5A62
XOR D5B60D44XOR 859250ACXOR 1EE
6098C=6F97E505H が得られる。従って、
I384 、I392 、I400 、I408 の新しい値は、I384
=05H 、I392 =E5H 、I400 =97H 、及び、I
408 =6FHになり、対応するルック・アップ・テーブ
ルのエントリは、T384 =B55AB166H 、T392
=ED693030H 、T400 =1A274B01H 、
及び、T408 =AB34E471H となる。従って、
ステップ36における最終計算によって、CRC=2E
24F35DXOR B55AB166XOR ED69303
0XOR 1A274B01XOR AB34E471=C70
4DD7BH が得られる。これは、CRC確認値に関し
て予測された値であり、従って、CRCプロセスは、送
信エラーを示さない。
フト・レジスタ14によって導き出される部分CRCを
備えた、3セグメントのメッセージ及び付属のCRCを
受信することができる: PCRC(1)=A07C4DD8H PCRC(2)=072FEBO3H PCRC(3)=2E24F35DH FFFFFFFFH の初期CRC値に関するI384 、I
392 、I400 、及び、I408 の値はI384 =I392 =I
400 =I408 =FFH になり、これらに関するルック・
アップ・テーブルのエントリは、T384 =580FA9
1EH 、T392 =513658BFH 、T400 =4A0
E09B0H 、及び、T408 =150516A1Hとな
る。ステップ36における最初の計算によって、CRC
=A07C4DD8XOR 580FA91EXOR 5136
58BFXOR A0XOR E09B0XOR 50516A1=
F64EA368H が得られる。I384 、I392 、I40
0 、I408 の次の値は、I384 =68H 、I392 =A3
H 、I400 =4EH 、及び、I408 =F6Hになり、ル
ック・アップ・テーブルのエントリは、T384 =267
A5A62H 、T392 =D5B60D44H 、T400 =
859250ACH 、及び、T408 =1EE6098C
H である。従って、ステップ36における次の計算によ
って、CRC=072FEB03XOR 267A5A62
XOR D5B60D44XOR 859250ACXOR 1EE
6098C=6F97E505H が得られる。従って、
I384 、I392 、I400 、I408 の新しい値は、I384
=05H 、I392 =E5H 、I400 =97H 、及び、I
408 =6FHになり、対応するルック・アップ・テーブ
ルのエントリは、T384 =B55AB166H 、T392
=ED693030H 、T400 =1A274B01H 、
及び、T408 =AB34E471H となる。従って、
ステップ36における最終計算によって、CRC=2E
24F35DXOR B55AB166XOR ED69303
0XOR 1A274B01XOR AB34E471=C70
4DD7BH が得られる。これは、CRC確認値に関し
て予測された値であり、従って、CRCプロセスは、送
信エラーを示さない。
【0026】ルック・アップ・テーブルT384 、T392
、T400 、及び、T408 には、0<i<256の場合
に、下記関係式に基づいて計算された値が含まれてい
る: T384 [i]=(x384 i(x))mod g(x) (3) T392 [i]=(x392 i(x))mod g(x) (4) T400 [i]=(x400 i(x))mod g(x) (5) T408 [i]=(x408 i(x))mod g(x) (6) ここで、i(x)は、8ビット値iに対応する多項式で
ある。この目的には、C言語で記載した図8a,図8b
のルーチンを順次利用することが可能である。
、T400 、及び、T408 には、0<i<256の場合
に、下記関係式に基づいて計算された値が含まれてい
る: T384 [i]=(x384 i(x))mod g(x) (3) T392 [i]=(x392 i(x))mod g(x) (4) T400 [i]=(x400 i(x))mod g(x) (5) T408 [i]=(x408 i(x))mod g(x) (6) ここで、i(x)は、8ビット値iに対応する多項式で
ある。この目的には、C言語で記載した図8a,図8b
のルーチンを順次利用することが可能である。
【0027】本発明の実施例について詳述したが、その
態様や細部には本発明の精神と範囲を逸脱することな
く、種々の変更が可能である。以下に本発明の実施態様
の数例を示す。
態様や細部には本発明の精神と範囲を逸脱することな
く、種々の変更が可能である。以下に本発明の実施態様
の数例を示す。
【0028】実施態様の1は、通信媒体を介して複数の
サブブロックとして転送されるデータ・ブロックに関す
るCRCコードを確認するための方法において、受信し
た各データ・サブブロック毎に、所定の初期設定値から
それぞれの部分CRCコードを導き出すステップと、前
記部分CRCコードを組み合わせて、受信した完全なデ
ータ・ブロックに関するCRC確認値を導き出すステッ
プと、受信した完全なデータ・ブロックに関する前記C
RC確認値の妥当性をテストするステップとから構成さ
れる、CRCコードの確認方法である。
サブブロックとして転送されるデータ・ブロックに関す
るCRCコードを確認するための方法において、受信し
た各データ・サブブロック毎に、所定の初期設定値から
それぞれの部分CRCコードを導き出すステップと、前
記部分CRCコードを組み合わせて、受信した完全なデ
ータ・ブロックに関するCRC確認値を導き出すステッ
プと、受信した完全なデータ・ブロックに関する前記C
RC確認値の妥当性をテストするステップとから構成さ
れる、CRCコードの確認方法である。
【0029】実施態様の2は、前記部分CRCコード
は、該目的専用のハードウェア回路要素を利用して、導
き出され、完全なデータ・ブロックに関する確認値は、
プログラム命令によって制御される汎用ハードウェア回
路要素を利用して、導き出されるということを特徴とす
る、実施態様の1に記載のCRCコードの確認方法であ
る。
は、該目的専用のハードウェア回路要素を利用して、導
き出され、完全なデータ・ブロックに関する確認値は、
プログラム命令によって制御される汎用ハードウェア回
路要素を利用して、導き出されるということを特徴とす
る、実施態様の1に記載のCRCコードの確認方法であ
る。
【0030】実施態様の3は、前記部分CRCコード
が、排他的ORゲートを介してその出力から所定のシフ
ト・レジスタ段へフィードバックを行う、シフト・レジ
スタに前記初期設定値をプリセットするステップと、前
記シフト・レジスタに1つのデータ・サブブロックをシ
フト・インするステップと、結果得られる前記シフト・
レジスタの内容を記憶するステップによって、導き出さ
れるということを特徴とする、実施態様の1または2に
記載のCRCコードの確認方法である。
が、排他的ORゲートを介してその出力から所定のシフ
ト・レジスタ段へフィードバックを行う、シフト・レジ
スタに前記初期設定値をプリセットするステップと、前
記シフト・レジスタに1つのデータ・サブブロックをシ
フト・インするステップと、結果得られる前記シフト・
レジスタの内容を記憶するステップによって、導き出さ
れるということを特徴とする、実施態様の1または2に
記載のCRCコードの確認方法である。
【0031】実施態様の4は、前記初期設定値がゼロで
あることを特徴とする、先行実施態様の任意の1つに記
載のCRCコードの確認方法である。
あることを特徴とする、先行実施態様の任意の1つに記
載のCRCコードの確認方法である。
【0032】実施態様の5は、前記CRC確認値が、第
2のデータ・サブブロック及び後続の各データ・サブブ
ロックに関する部分CRCコードと、先行部分CRCコ
ードに関する前記組み合わせステップの結果に基づい
て、1つ以上の所定のテーブルから選択された1つ以上
の値を組み合わせることによって導き出されるというこ
とと、第1のデータ・サブブロックに関する部分CRC
コードが、所定の開始値に基づいて、前記1つまたは複
数のテーブルから選択されるということを特徴とする、
先行実施態様の任意の1つに記載のCRCコードの確認
方法である。
2のデータ・サブブロック及び後続の各データ・サブブ
ロックに関する部分CRCコードと、先行部分CRCコ
ードに関する前記組み合わせステップの結果に基づい
て、1つ以上の所定のテーブルから選択された1つ以上
の値を組み合わせることによって導き出されるというこ
とと、第1のデータ・サブブロックに関する部分CRC
コードが、所定の開始値に基づいて、前記1つまたは複
数のテーブルから選択されるということを特徴とする、
先行実施態様の任意の1つに記載のCRCコードの確認
方法である。
【0033】実施態様の6は、複数の所定のテーブル
が、存在することと、値の選択は、先行部分CRCコー
ドに関する前記組み合わせステップの結果のそれぞれの
部分に関する値、及び、前記所定の開始値に基づいて、
前記テーブルから行われるということを特徴とする、実
施態様の5に記載のCRCコードの確認方法である。
が、存在することと、値の選択は、先行部分CRCコー
ドに関する前記組み合わせステップの結果のそれぞれの
部分に関する値、及び、前記所定の開始値に基づいて、
前記テーブルから行われるということを特徴とする、実
施態様の5に記載のCRCコードの確認方法である。
【0034】実施態様の7は、前記部分CRCコード及
び前記1つまたは複数のテーブルは、16進数として記
憶されていることと、前記それぞれの部分は、隣接対を
なす16進数であることと、前記組み合わせステップ
が、ビットに関する排他的OR演算を利用して、実施さ
れることを特徴とする、実施態様の6に記載のCRCコ
ードの確認方法である。
び前記1つまたは複数のテーブルは、16進数として記
憶されていることと、前記それぞれの部分は、隣接対を
なす16進数であることと、前記組み合わせステップ
が、ビットに関する排他的OR演算を利用して、実施さ
れることを特徴とする、実施態様の6に記載のCRCコ
ードの確認方法である。
【0035】実施態様の8は、前記所定の開始値が、全
て、16進数のFであることと、前記CRCコードは、
多項式 g(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7 + x5 +x4 +x2 +x+1 に基づいて、導き出されるということと、前記組み合わ
せステップに関して、図4a〜図7bのテーブルから値
が選択されるということを特徴とする、実施態様の7に
記載のCRCコードの確認方法である。
て、16進数のFであることと、前記CRCコードは、
多項式 g(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7 + x5 +x4 +x2 +x+1 に基づいて、導き出されるということと、前記組み合わ
せステップに関して、図4a〜図7bのテーブルから値
が選択されるということを特徴とする、実施態様の7に
記載のCRCコードの確認方法である。
【0036】実施態様の9は、通信媒体を介して複数の
サブブロックとして転送されるデータ・ブロックに関す
るCRCコードを確認するための装置において、受信し
た各データ・サブブロック毎に、所定の初期設定値から
それぞれの部分CRCコードを導き出すための手段と、
前記部分CRCコードを組み合わせて、受信した完全な
データ・ブロックに関するCRC確認値を導き出すため
の手段と、受信した完全なデータ・ブロックに関する前
記CRC確認値の妥当性をテストするための手段から構
成される、CRCコードの確認装置である。
サブブロックとして転送されるデータ・ブロックに関す
るCRCコードを確認するための装置において、受信し
た各データ・サブブロック毎に、所定の初期設定値から
それぞれの部分CRCコードを導き出すための手段と、
前記部分CRCコードを組み合わせて、受信した完全な
データ・ブロックに関するCRC確認値を導き出すため
の手段と、受信した完全なデータ・ブロックに関する前
記CRC確認値の妥当性をテストするための手段から構
成される、CRCコードの確認装置である。
【0037】実施態様の10は、前記部分CRCコード
導き出すための専用ハードウェア回路要素と、プログラ
ム命令に制御されて、完全なデータ・ブロックに関する
確認値を導き出す汎用ハードウェア回路要素が設けられ
ていることを特徴とする、実施態様9に記載のCRCコ
ードの確認装置である。
導き出すための専用ハードウェア回路要素と、プログラ
ム命令に制御されて、完全なデータ・ブロックに関する
確認値を導き出す汎用ハードウェア回路要素が設けられ
ていることを特徴とする、実施態様9に記載のCRCコ
ードの確認装置である。
【0038】
【発明の効果】以上詳述したように、本願発明の実施に
より、少ないハードウェアで高速、且つメッセージの数
の制限が実質的に存在しないCRC確認装置が得られ
る。
より、少ないハードウェアで高速、且つメッセージの数
の制限が実質的に存在しないCRC確認装置が得られ
る。
【図1】多項式g(x)に基づいてCRCコードを導き
出すシフト・レジスタを示す図である。
出すシフト・レジスタを示す図である。
【図2】本発明に基づいてCRCコードの確認を行う装
置のブロック図である。
置のブロック図である。
【図3】図2の装置の一部で実施される手順のフローチ
ャートである。
ャートである。
【図4a】図3の手順に用いられる16進数値のルック
・アップ・テーブルを示す図である。
・アップ・テーブルを示す図である。
【図4b】図3の手順に用いられる16進数値のルック
・アップ・テーブルを示す図である。
・アップ・テーブルを示す図である。
【図5a】図3の手順に用いられる16進数値のルック
・アップ・テーブルを示す図である。
・アップ・テーブルを示す図である。
【図5b】図3の手順に用いられる16進数値のルック
・アップ・テーブルを示す図である。
・アップ・テーブルを示す図である。
【図6a】図3の手順に用いられる16進数値のルック
・アップ・テーブルを示す図である。
・アップ・テーブルを示す図である。
【図6b】図3の手順に用いられる16進数値のルック
・アップ・テーブルを示す図である。
・アップ・テーブルを示す図である。
【図7a】図3の手順に用いられる16進数値のルック
・アップ・テーブルを示す図である。
・アップ・テーブルを示す図である。
【図7b】図3の手順に用いられる16進数値のルック
・アップ・テーブルを示す図である。
・アップ・テーブルを示す図である。
【図8a】ルック・アップ・テーブルT384 、T392 、
T400 、及び、T408 の計算を実行するためのC言語で
記載したルーチンを示す図である。
T400 、及び、T408 の計算を実行するためのC言語で
記載したルーチンを示す図である。
【図8b】ルック・アップ・テーブルT384 、T392 、
T400 、及び、T408 の計算を実行するためのC言語で
記載したルーチンを示す図である。
T400 、及び、T408 の計算を実行するためのC言語で
記載したルーチンを示す図である。
10 光ファイバ入力ライン 12 入力インターフェイス 14 シフト・レジスタ 16 記憶装置 18 確認装置
Claims (10)
- 【請求項1】通信媒体を介して複数のサブブロックとし
て転送されるデータ・ブロックに関するCRCコードを
確認するための方法において、 受信した各データ・サブブロック毎に、所定の初期設定
値からそれぞれの部分CRCコードを導き出すステップ
と、 前記部分CRCコードを組み合わせて、受信した完全な
データ・ブロックに関するCRC確認値を導き出すステ
ップと、 受信した完全なデータ・ブロックに関する前記CRC確
認値の妥当性をテストするステップとから構成される、 CRCコードの確認方法。 - 【請求項2】前記部分CRCコードは、該目的専用のハ
ードウェア回路要素を利用して、導き出され、完全なデ
ータ・ブロックに関する確認値は、プログラム命令によ
って制御される汎用ハードウェア回路要素を利用して、
導き出されるということを特徴とする、請求項1に記載
のCRCコードの確認方法。 - 【請求項3】前記部分CRCコードが、 排他的ORゲートを介してその出力から所定のシフト・
レジスタ段へフィードバックを行う、シフト・レジスタ
に前記初期設定値をプリセットするステップと、 前記シフト・レジスタに1つのデータ・サブブロックを
シフト・インするステップと、 結果得られる前記シフト・レジスタの内容を記憶するス
テップによって、導き出されるということを特徴とす
る、 請求項1または2に記載のCRCコードの確認方法。 - 【請求項4】前記初期設定値がゼロであることを特徴と
する、先行請求項の任意の1つに記載のCRCコードの
確認方法。 - 【請求項5】前記CRC確認値が、第2のデータ・サブ
ブロック及び後続の各データ・サブブロックに関する部
分CRCコードと、先行部分CRCコードに関する前記
組み合わせステップの結果に基づいて、1つ以上の所定
のテーブルから選択された1つ以上の値を組み合わせる
ことによって導き出されるということと、第1のデータ
・サブブロックに関する部分CRCコードが、所定の開
始値に基づいて、前記1つまたは複数のテーブルから選
択されるということを特徴とする、先行請求項の任意の
1つに記載のCRCコードの確認方法。 - 【請求項6】複数の所定のテーブルが、存在すること
と、値の選択は、先行部分CRCコードに関する前記組
み合わせステップの結果のそれぞれの部分に関する値、
及び、前記所定の開始値に基づいて、前記テーブルから
行われるということを特徴とする、請求項5に記載のC
RCコードの確認方法。 - 【請求項7】前記部分CRCコード及び前記1つまたは
複数のテーブルは、16進数として記憶されていること
と、前記それぞれの部分は、隣接対をなす16進数であ
ることと、前記組み合わせステップが、ビットに関する
排他的OR演算を利用して、実施されることを特徴とす
る、請求項6に記載のCRCコードの確認方法。 - 【請求項8】前記所定の開始値が、全て、16進数のF
であることと、前記CRCコードは、多項式 g(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7 + x5 +x4 +x2 +x+1 に基づいて、導き出されるということと、前記組み合わ
せステップに関して、図4a〜図7bのテーブルから値
が選択されるということを特徴とする、請求項7に記載
のCRCコードの確認方法。 - 【請求項9】通信媒体を介して複数のサブブロックとし
て転送されるデータ・ブロックに関するCRCコードを
確認するための装置において、 受信した各データ・サブブロック毎に、所定の初期設定
値からそれぞれの部分CRCコードを導き出すための手
段と、 前記部分CRCコードを組み合わせて、受信した完全な
データ・ブロックに関するCRC確認値を導き出すため
の手段と、 受信した完全なデータ・ブロックに関する前記CRC確
認値の妥当性をテストするための手段から構成される、 CRCコードの確認装置。 - 【請求項10】前記部分CRCコード導き出すための専
用ハードウェア回路要素と、プログラム命令に制御され
て、完全なデータ・ブロックに関する確認値を導き出す
汎用ハードウェア回路要素が設けられていることを特徴
とする、請求項9に記載のCRCコードの確認装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB93300852.6 | 1993-02-05 | ||
EP93300852A EP0609595B1 (en) | 1993-02-05 | 1993-02-05 | Method and apparatus for verifying CRC codes by combination of partial CRC codes |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0715354A true JPH0715354A (ja) | 1995-01-17 |
JP3306210B2 JP3306210B2 (ja) | 2002-07-24 |
Family
ID=8214298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03293894A Expired - Fee Related JP3306210B2 (ja) | 1993-02-05 | 1994-02-04 | Crcコードの確認方法及び装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5778013A (ja) |
EP (1) | EP0609595B1 (ja) |
JP (1) | JP3306210B2 (ja) |
DE (1) | DE69320321T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10771095B2 (en) | 2016-06-07 | 2020-09-08 | Mitsubishi Electric Corporation | Data processing device, data processing method, and computer readable medium |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878057A (en) * | 1995-10-06 | 1999-03-02 | Tektronix, Inc. | Highly parallel cyclic redundancy code generator |
FR2747869A1 (fr) * | 1996-04-17 | 1997-10-24 | Canon Kk | Procede et dispositif de correction d'erreurs de transmission de suites de nombres |
US6161207A (en) * | 1996-11-15 | 2000-12-12 | Motorola, Inc. | Communications unit and method of communicating having efficient packet acknowledgement |
GB2322526A (en) * | 1997-02-22 | 1998-08-26 | The Technology Partnership Plc | Encoding and decoding data |
EP0976221B1 (de) * | 1997-04-14 | 2004-04-14 | Siemens Aktiengesellschaft | Verfahren und anordnung zur bildung und überprüfung einer prüfsumme für digitale daten, die in mehrere datensegmente gruppiert sind |
US7167927B2 (en) | 1997-10-14 | 2007-01-23 | Alacritech, Inc. | TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism |
US6434620B1 (en) | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US7133940B2 (en) * | 1997-10-14 | 2006-11-07 | Alacritech, Inc. | Network interface device employing a DMA command queue |
US8539112B2 (en) | 1997-10-14 | 2013-09-17 | Alacritech, Inc. | TCP/IP offload device |
US7089326B2 (en) * | 1997-10-14 | 2006-08-08 | Alacritech, Inc. | Fast-path processing for receiving data on TCP connection offload devices |
US7076568B2 (en) * | 1997-10-14 | 2006-07-11 | Alacritech, Inc. | Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket |
US6757746B2 (en) | 1997-10-14 | 2004-06-29 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
US8782199B2 (en) | 1997-10-14 | 2014-07-15 | A-Tech Llc | Parsing a packet header |
US6697868B2 (en) | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US7185266B2 (en) | 2003-02-12 | 2007-02-27 | Alacritech, Inc. | Network interface device for error detection using partial CRCS of variable length message portions |
US6658480B2 (en) | 1997-10-14 | 2003-12-02 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
US7237036B2 (en) | 1997-10-14 | 2007-06-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding a TCP connection |
US6687758B2 (en) * | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
US6226680B1 (en) | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US8621101B1 (en) | 2000-09-29 | 2013-12-31 | Alacritech, Inc. | Intelligent network storage interface device |
US7174393B2 (en) | 2000-12-26 | 2007-02-06 | Alacritech, Inc. | TCP/IP offload network interface device |
US6029186A (en) * | 1998-01-20 | 2000-02-22 | 3Com Corporation | High speed calculation of cyclical redundancy check sums |
US6223320B1 (en) * | 1998-02-10 | 2001-04-24 | International Business Machines Corporation | Efficient CRC generation utilizing parallel table lookup operations |
US7664883B2 (en) | 1998-08-28 | 2010-02-16 | Alacritech, Inc. | Network interface device that fast-path processes solicited session layer read commands |
US6405340B1 (en) * | 1999-07-02 | 2002-06-11 | Ericsson Inc. | Flexible method of error protection in communications systems |
US6681364B1 (en) * | 1999-09-24 | 2004-01-20 | International Business Machines Corporation | Cyclic redundancy check for partitioned frames |
CN1411630A (zh) * | 2000-02-17 | 2003-04-16 | 模拟装置公司 | 用于生成循环余数核对代码以及生成其他基于余数的编码的方法、设备和产品 |
US6763492B1 (en) * | 2000-09-26 | 2004-07-13 | Qualcomm Incorporated | Method and apparatus for encoding of linear block codes |
US8019901B2 (en) | 2000-09-29 | 2011-09-13 | Alacritech, Inc. | Intelligent network storage interface system |
US6720074B2 (en) * | 2000-10-26 | 2004-04-13 | Inframat Corporation | Insulator coated magnetic nanoparticulate composites with reduced core loss and method of manufacture thereof |
US7065702B2 (en) * | 2001-04-12 | 2006-06-20 | Siliquent Technologies Ltd. | Out-of-order calculation of error detection codes |
US6804220B2 (en) * | 2001-05-07 | 2004-10-12 | Qualcomm Incorporated | Method and apparatus for generating control information for packet data |
GB2375463A (en) * | 2001-05-08 | 2002-11-13 | Ubinetics Ltd | Configurable encoder |
US20020191938A1 (en) * | 2001-06-13 | 2002-12-19 | Ethicon Endo-Surgery, Inc. | Fiberoptic coil tray and carrier package |
US6928608B2 (en) * | 2001-08-14 | 2005-08-09 | Optix Networks Ltd. | Apparatus and method for accelerating cyclic redundancy check calculations |
US20030121835A1 (en) * | 2001-12-31 | 2003-07-03 | Peter Quartararo | Apparatus for and method of sieving biocompatible adsorbent beaded polymers |
US7174498B2 (en) | 2002-02-15 | 2007-02-06 | Intel Corporation | Obtaining cyclic redundancy code |
US7543087B2 (en) | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
EP1499024B1 (en) * | 2002-04-22 | 2010-06-30 | Fujitsu Limited | Error-detection encoder and decoder |
US7496689B2 (en) | 2002-04-22 | 2009-02-24 | Alacritech, Inc. | TCP/IP offload device |
US20040153935A1 (en) * | 2002-07-19 | 2004-08-05 | Niesen Joseph W. | Reduced overhead CRC functionality for packets and link layer superframes |
US20040158794A1 (en) * | 2002-07-19 | 2004-08-12 | Niesen Joseph W. | Reduced overhead CRC functionality for packets and link layer superframes |
US7337241B2 (en) * | 2002-09-27 | 2008-02-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US20040088262A1 (en) * | 2002-11-06 | 2004-05-06 | Alacritech, Inc. | Enabling an enhanced function of an electronic device |
US7343541B2 (en) * | 2003-01-14 | 2008-03-11 | Broadcom Corporation | Data integrity in protocol offloading |
US7181671B2 (en) * | 2003-09-23 | 2007-02-20 | Macronix International Co., Ltd. | Parallelized CRC calculation method and system |
US6996070B2 (en) * | 2003-12-05 | 2006-02-07 | Alacritech, Inc. | TCP/IP offload device with reduced sequential processing |
US7360142B1 (en) | 2004-03-03 | 2008-04-15 | Marvell Semiconductor Israel Ltd. | Methods, architectures, circuits, software and systems for CRC determination |
US7434150B1 (en) | 2004-03-03 | 2008-10-07 | Marvell Israel (M.I.S.L.) Ltd. | Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations |
US8248939B1 (en) | 2004-10-08 | 2012-08-21 | Alacritech, Inc. | Transferring control of TCP connections between hierarchy of processing mechanisms |
US20060168495A1 (en) * | 2005-01-25 | 2006-07-27 | Analog Devices, Inc. | Computation of cyclic redundancy check |
US7738500B1 (en) | 2005-12-14 | 2010-06-15 | Alacritech, Inc. | TCP timestamp synchronization for network connections that are offloaded to network interface devices |
US7958436B2 (en) | 2005-12-23 | 2011-06-07 | Intel Corporation | Performing a cyclic redundancy checksum operation responsive to a user-level instruction |
US7925957B2 (en) | 2006-03-20 | 2011-04-12 | Intel Corporation | Validating data using processor instructions |
US7937643B1 (en) | 2006-09-18 | 2011-05-03 | Mediatek Inc. | Mobile communication device and data reception method |
US8379738B2 (en) * | 2007-03-16 | 2013-02-19 | Samsung Electronics Co., Ltd. | Methods and apparatus to improve performance and enable fast decoding of transmissions with multiple code blocks |
DE102007032659A1 (de) * | 2007-07-13 | 2009-01-15 | Knick Elektronische Messgeräte GmbH & Co. KG | Verfahren zur telegrammweisen Datenübertragung in einem seriellen Kommunikationsprotokoll sowie dieses nutzende Datenübertragungsvorrichtung |
KR101286238B1 (ko) * | 2007-08-01 | 2013-07-15 | 삼성전자주식회사 | 데이터 병렬화 수신기 |
JP4831018B2 (ja) * | 2007-08-28 | 2011-12-07 | 日本電気株式会社 | 並列巡回符号生成装置および並列巡回符号検査装置 |
US8539513B1 (en) | 2008-04-01 | 2013-09-17 | Alacritech, Inc. | Accelerating data transfer in a virtual computer system with tightly coupled TCP connections |
US8341286B1 (en) | 2008-07-31 | 2012-12-25 | Alacritech, Inc. | TCP offload send optimization |
US9306793B1 (en) | 2008-10-22 | 2016-04-05 | Alacritech, Inc. | TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies |
US9081700B2 (en) | 2013-05-16 | 2015-07-14 | Western Digital Technologies, Inc. | High performance read-modify-write system providing line-rate merging of dataframe segments in hardware |
US9542261B2 (en) * | 2013-07-01 | 2017-01-10 | Ixia | Methods, systems, and computer readable media for multi-packet cyclic redundancy check engine |
DE102013214855A1 (de) * | 2013-07-30 | 2015-02-05 | Robert Bosch Gmbh | Verfahren und Vorrichtungen zur Verwaltung von Messdaten einer Batterie |
US9304709B2 (en) | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
US9684580B2 (en) | 2013-11-05 | 2017-06-20 | Ixia | Methods, systems, and computer readable media for efficient scrambling of data for line rate transmission in high speed communications networks |
CN105095726B (zh) | 2014-05-08 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 生成验证码的方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4703485A (en) * | 1986-02-10 | 1987-10-27 | International Business Machines Corporation | Method and apparatus for computing and implementing error detection check bytes |
EP0276991B1 (en) * | 1987-01-30 | 1992-05-13 | Sony Corporation | Encoding method and apparatus for recording data with an identification code and an error check code |
GB8704883D0 (en) * | 1987-03-03 | 1987-04-08 | Hewlett Packard Co | Secure information storage |
US5247524A (en) * | 1990-06-29 | 1993-09-21 | Digital Equipment Corporation | Method for generating a checksum |
US5321704A (en) * | 1991-01-16 | 1994-06-14 | Xilinx, Inc. | Error detection structure and method using partial polynomial check |
US5303302A (en) * | 1992-06-18 | 1994-04-12 | Digital Equipment Corporation | Network packet receiver with buffer logic for reassembling interleaved data packets |
JP2821324B2 (ja) * | 1992-11-04 | 1998-11-05 | 三菱電機株式会社 | 誤り訂正回路 |
US5410546A (en) * | 1993-11-01 | 1995-04-25 | Storage Technology Corporation | Apparatus and method for CRC computation over fixed length blocks containing variable length packets of data received out of order |
-
1993
- 1993-02-05 EP EP93300852A patent/EP0609595B1/en not_active Expired - Lifetime
- 1993-02-05 DE DE69320321T patent/DE69320321T2/de not_active Expired - Fee Related
-
1994
- 1994-02-04 JP JP03293894A patent/JP3306210B2/ja not_active Expired - Fee Related
-
1996
- 1996-01-11 US US08/584,804 patent/US5778013A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10771095B2 (en) | 2016-06-07 | 2020-09-08 | Mitsubishi Electric Corporation | Data processing device, data processing method, and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
DE69320321T2 (de) | 1998-12-24 |
JP3306210B2 (ja) | 2002-07-24 |
EP0609595B1 (en) | 1998-08-12 |
EP0609595A1 (en) | 1994-08-10 |
DE69320321D1 (de) | 1998-09-17 |
US5778013A (en) | 1998-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0715354A (ja) | Crcコードの確認方法及び装置 | |
US6681364B1 (en) | Cyclic redundancy check for partitioned frames | |
EP0767539B1 (en) | Highly parallel cyclic redundancy code generator | |
US5844923A (en) | Fast framing of nude ATM by header error check | |
EP0313707A1 (en) | Data integrity securing means | |
JPH0856165A (ja) | 誤り検査符号及び訂正符号の計算方法および装置 | |
JPH04211547A (ja) | 同期回路 | |
JPH04284753A (ja) | Crc演算方法及びatm交換方式におけるhec同期装置 | |
JPH09116541A (ja) | 通信制御装置 | |
EP0614294A1 (en) | Method for generating a frame check sequence | |
JPH10178353A (ja) | Crc−32の2段階計算の方法および装置 | |
US7656883B2 (en) | Transmission convergence sublayer circuit and operating method for asynchronous receiver | |
US5912881A (en) | Method and apparatus for fast checking the frame check sequence of a segmented message | |
CN101317355A (zh) | 同步帧检错、纠错方法和装置 | |
US6154869A (en) | Combined error position circuit and chien search circuit for reed-solomon decoding | |
US7941727B2 (en) | Checksum generator for variable-length data | |
US20030120992A1 (en) | METHOD AND APPARATUS FOR COMPUTING @$apos;N-BIT AT A TIME@$apos; CRC@$apos;s OF DATA FRAMES OF LENGTHS NOT MULTIPLE OF N | |
JP3270966B2 (ja) | エラー補正回路 | |
JPH07123074A (ja) | セルベース並列非同期伝送モード物理層のデスクランブリングのための並列分散標本デスクランブリング回路 | |
EP0737390B1 (en) | Device for establishing cell boundaries in a bit stream and crc calculation | |
JPH04302242A (ja) | 信号伝送方法及びその装置 | |
WO1995001683A1 (fr) | Procede et appareil de detection d'un code cyclique | |
JPH11168479A (ja) | Dss方式におけるサンプル値抽出装置およびその方法 | |
JPH08340342A (ja) | 受信データブロックのチェックサムを検証するための方法及び該方法の実施装置 | |
KR20020033227A (ko) | 데이터 통신을 위한 병렬 중복순환 검사회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |