JPH0328094B2 - - Google Patents

Info

Publication number
JPH0328094B2
JPH0328094B2 JP62288620A JP28862087A JPH0328094B2 JP H0328094 B2 JPH0328094 B2 JP H0328094B2 JP 62288620 A JP62288620 A JP 62288620A JP 28862087 A JP28862087 A JP 28862087A JP H0328094 B2 JPH0328094 B2 JP H0328094B2
Authority
JP
Japan
Prior art keywords
data
crc
code
assembler
line
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.)
Expired - Lifetime
Application number
JP62288620A
Other languages
English (en)
Other versions
JPS63197124A (ja
Inventor
Piitaa Jakosukii Sutefuan
Buraian Jenkinsu Ronarudo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS63197124A publication Critical patent/JPS63197124A/ja
Publication of JPH0328094B2 publication Critical patent/JPH0328094B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

【発明の詳細な説明】 A 産業上の利用分野 本発明はデイジタル・データ伝送における誤り
を検出するシステムに関し、具体的には、誤りを
検出する機構が適切に作動していることを検査す
るシステムに関する。
B 従来技術とその問題点 データが装置または機能ユニツト間で伝送され
るデイジタル・システムでは、受け取つた各デー
タ・ワードまたはメツセージの1つまたは複数の
データ・ビツトが誤つていることがある。このこ
とはデイジタル・データ処理システムが出現して
以来問題になつていた。
データ処理操作が複雑になるにつれて、より複
雑な機器を使用することが必要になり、データ伝
送における誤りを検出し訂正するシステムの必要
性が増大している。たとえば、フイルムの組合
せ、フアイル内のデータの分類、ラジオ放送、ケ
ーブル、光フアイバなどによる遠隔地との間での
データの伝送、数値分析または統計分析、複雑な
データ取扱い手順およびワード・プロセツシング
操作には、データ伝送の高い信頼性が必要であ
る。特に遠隔通信や遠隔計測の領域では、データ
が高いボー速度でアナログ回線上を伝送されると
き、誤り率が増大する傾向にある。データ誤りが
発生したが検出されない場合、貴重な情報とシス
テム操作そのものが影響を受ける。すなわち、誤
り検出または訂正機能は、複雑なシステムに有益
なだけでなく、システムの統合性を保証するのに
必要不可欠である。
データ伝送中に発生した誤りを検出するために
開発されたシステムがいくつかある。誤りを検出
する最初期のシステムの1つは、パリテイ検査コ
ードであつた。2進コード・ワードは、その奇数
個のデイジツトが1である場合、奇数パリテイを
もつ。たとえば、数1011は3つの1デイジツトを
もつので奇数パリテイをもつ。同様に、2進コー
ド・ワード1100は偶数のデイジツトをもつので偶
数パリテイをもつ。
単一パリテイ検査コードは、奇数または偶数パ
リテイを生成するために付加検査ビツトを各ワー
ドに追加することを特徴とする。
データ・ワードの1つのデイジツトまたはビツ
トに誤りがある場合、そのデータ・ワードに関連
するパリテイ検査ビツトが期待されたものと逆に
なるので識別できる。通常、パリテイ生成器は、
伝送の前に、各ワードにパリテイ検査ビツトを付
加する。この技術は、データ・ワードの埋込みと
呼ばれる。通常、受信側機能ユニツトまたは受信
機で、ワードのデイジツトが検査される。パリテ
イが正しくない場合は、データ・ワードのビツト
の1つが誤りであると考えられる。誤りが受信機
で検出されると、誤りを訂正するため、繰返し伝
送の要求を出すことができる。奇数個のデイジツ
トに誤りがある場合だけ、単一パリテイ検査で検
出できる。偶数個の誤りがあれば、正確な伝送で
期待されるパリテイが生成されるからである。さ
らに、上述のようなパリテイ検査手順によつて
は、誤つた特定のビツトを識別することができな
い。
その後、より複雑な誤り検査システムが考案さ
れた。固定長ビツトのデータ・ワードを、それぞ
れ一定数のデータ・ワードからなるブロツクにま
とめる。次いで、異なるワード間および個別の各
データ・ワードについてパリテイ検査を行なう。
ブロツク・パリテイ・コードは多くのパターンの
誤りを検出でき、またそれを使つて誤り検出だけ
でなく、行列中の所定の行と列に独立した誤りが
発生したときは誤り訂正もできる。幾何コードは
パリテイ検査ビツト自体に対する改良であるが、
偶数個あり2次元で対称な誤りを検出するのには
使用できない。
パリテイ検査コードと幾何コードが考案された
後、あるコードがハミング(Hamming)によつ
て発明され、彼の名を取つてハミング・コードと
名付けられた。ハミング・コードは、論理的にデ
ータ・ワードをコード化する複数のパリテイ検査
システムなので、単一の誤りが検出できるだけで
なく、識別して訂正することができる。ハミン
グ・コードで使用される送信データ・ワードは、
元のデータ・ワードとそれに付加されたパリテイ
検査デイジツトから成る。必要なパリテイ検査
が、それぞれ送信されたワードの特定のビツト位
置で実行される。誤つたデイジツトが、元のデー
タ・ワード・ビツトの1つであつても、また付加
されたパリテイ検査ビツトの1つであつても、こ
のシステムはその誤つたデイジツトを分離するこ
とができる。
すべてのパリテイ検査動作が首尾よく実行され
ると、そのデータ・ワードは誤りがないとみなさ
れる。しかし、1つまたは複数の検査動作がうま
く達成されない場合は、パリテイ検査ビツトから
導かれたいわゆるシンドローム・ビツトを復号す
ることによつて、単一ビツト誤りが一義的に決定
される。
ハミング・コードは一般的に誤り訂正コード
(ECC)と呼ばれる多数のコードの1つにすぎな
い。コードは、通常、数学的にはそのコードの許
容されるすべての数列から成る、値の閉集合とし
て記述される。データ通信では、送信された数
は、所定のコード・セツトに関係づけられない本
質的にランダムなデータ・パターンである。そこ
で、データの列が、上述のように、送信機でコー
ド・セツトに追加することによつてコード・セツ
トに符合させられる。送信データの連結を有効コ
ードにするために元のデータ・ストリームに付加
すべき正確なストリングを決定する手法が、これ
までに開発されてきた。受信機でコード値から元
のデータを抽出し、実際のデータをそれが最後に
使用される場所に送るための一貫した方法があ
る。そのコード体系が効果を発揮するには、予想
される誤りによつて許容値が変更されて、そのコ
ードの別の許容値になるようなことがないよう、
互いに十分異なる許容値を含まなければならな
い。
巡回冗長検査(CRC)コードは、送信データ
と組み合わせると生成多項式で割り切れるように
なる、2進データ・ストリングから構成される。
CRCコードは、誤りが検出されない確率を低く
するために互に十分異なる1組の値が生じるよう
に選択された数である。元のデータ・ストリング
に何を付加するか決定するため、元のストリング
が送信時に除算される。最後のデータ・ビツトが
渡されたとき、除算の剰余を含むストリングが生
成多項式で割り切れるので、その剰余が追加され
る必要なストリングである。生成多項式は既知の
長さなので、元のストリングに追加される剰余も
固定長である。
受信機では、到着ストリングが生成多項式で除
算される。到着ストリングが割り切れない場合、
誤りが発生したとみなされる。到着ストリングが
生成多項式で割り切れる場合は、最終宛先に送ら
れるデータは、固定長の剰余フイールドを取り除
いた到着データである。
水平冗長コード(LRC)はCRCの特殊な場合
であつて、選択された特定の生成多項式が、デー
タ・ワードのあらゆるビツトに対して一度排他的
論理和動作を実行して得られるのと同じCRCコ
ードをもたらす。たとえば、データ・ストリーム
が複数データ・ワードの連続として表わされる場
合、ストリームの終りに追加されるLRCコード
は、最初のワードを第2のワードと排他的論理和
し、それを第3のワードと排他的論理和し、以下
同様に次々に排他的論理和を取つた結果に等しく
なる。受信機で検査を行なつたとき、誤りが発生
していなければその結果はゼロである。
上記の説明からわかるように、誤りのあるデー
タ伝送の問題を解決する従来の方法は、原因では
なく症状に対処するものである。すなわち、デー
タを受け取つて、それが誤りであると判断される
と、これまでは、正しくないのはデータであると
みなされていた。その回復方法は、しばしば同じ
誤り検出技術を使つてデータを再送または修正す
るものであつた。
しかし、検査コード生成器に障害がある場合
は、同じデータ・メツセージに対して同じ検査コ
ードが生成されることがある。どう見ても、誤り
の矯正方法を見つけることについては進歩してい
ない。なお悪いことに、間欠的で予測できない誤
りが発生することがある。したがつて、同様のま
たは他の誤動作が発生しやすい。実際、最も油断
できない状況は、データを誤つて受け取つたの
に、検査コードは誤りがないことを示す場合であ
る。この状況が起こると、受信側機能ユニツトお
よびそれに接続されているシステムは、そのデー
タを正しいものとして取り扱い、その結果、下流
側で重大な結果が発生する可能性がある。
米国特許第4454600号は、回路を使つてCRCコ
ードを生成することを教示している。この特許
を、現在使用されている多くの形式のCRC生成
器の例として本明細書に引用する。
米国特許第4520281号は、CRC回路を使つて誤
動作するユニツトを検出することを教示してい
る。
米国特許第4312068号は、送信器と受信器の両
方で生成されるCRCコードを比較して、データ
送信が適切なことを確認する方法を教示してい
る。
米国特許第4422067号は、何らかの条件で機能
を停止して、それによつて関連する回路に制御シ
ステム中の負荷を消勢させる巡回冗長検査器を開
示している。
米国特許第3889109号は、検査機構を使つて送
信制御論理と受信制御論理の動作を検査すること
を教示している。検査動作中、通信サブチヤンネ
ルはいわゆる折返し構成にされるので、プロセツ
サから送られたデータは送信制御論理と受信制御
論理を介してプロセツサに返される。戻りデータ
でCRC検査が実行されて、誤りがあるかどうか
が判定される。誤りがある場合、誤りが発生した
場所の判定を助けるため、送信制御論理と受信制
御論理を選択的に迂回することができる。
上記のシステムは、それぞれデータの欠陥では
なく、それに付加された検査コードの欠陥による
誤りを検出することができる。さらに、データの
誤りが発生しても、付加された検査コードの欠陥
のために、これらのどのシステムも誤りを検出で
きないことがある。こうした状況が発生するの
は、検査コード生成器が誤動作するかまたは欠陥
がある場合である。
したがつて本発明の目的は、検査コード自体が
適切に生成されることを確認するシステムを提供
することである。
C 問題点を解決するための手段 本発明によると、2つの機能ユニツト間でデー
タが正確に送信されることを確認するシステムが
提供される。このシステムは、検査コード生成器
と、検査コード生成器に作動的に接続された、そ
の適切な動作を確認する装置を含む。
D 実施例 第1図に、本発明による直列データ用のシステ
ム構成の構成図が示されている。
第1の機能ユニツト10が、破線で輪郭を示さ
れている。第1のユニツト10は、データ線12
に接続されて、そこから直列データを受け取る。
データ線12から線12aを介してアセンブラ
14にデータが送られる。アセンブラ14は1つ
または複数のゲート(図示せず)から構成され、
複数の入力源からデータを選択する。アセンブラ
14はデータ線12から線12aを介して直列巡
回冗長検査(CRC)コード生成器16にデータ
を送る。以下で詳細に説明するように、CRCコ
ード生成器16はデータを処理し、データに付加
すべきCRCコードを生成する。CRCコード生成
器16には、検査回路18が接続されている。検
査回路18は、選択線19によりデータをアセン
ブラ14にゲートする。すなわち、検査回路18
は選択線19により、CRCコード生成器16か
ら線15aを介して送られてきたコードを、また
はデータ線12から線12aを介して送られてき
たデータをアセンブラ14にゲートすることがで
きる。
第2のアセンブラ20が、線12を介してデー
タ源に接続されると共に、線15を介してCRC
コード生成器16に接続されており、どちらか一
方の源から直接データを受けることができる。ア
センブラ20はCRCコード生成器16によつて
生成されたCRCコードをデータ線12から受け
取つたデータに付加する。
破線で輪郭を示した第2の機能ユニツト24
が、線27を介してアセンブラ20からデータを
受け取る。データは、線27から線27aを介し
てアセンブラ28に送られ、そこから第2の直列
CRCコード生成器/比較器30に送られる。
CRCコード生成器/比較器30には第2の検査
回路32が接続されている。検査回路32は、選
択線33により、データ線27からのデータを、
またはCRCコード生成器/比較器30から線3
1に出力されたコードをアセンブラ28にゲート
することができる。
第1の機能ユニツト10のCRC検査線34が、
第1の検査回路18から状況装置(図示せず)に
接続されている。同様に、第2の機能ユニツト2
4のCRC検査線36が、第2の検査回路32か
ら状況装置(図示せず)に接続されている。最後
に、データ検査線38が、CRCコード生成器/
比較器30ともう1つの状況装置(図示せず)に
接続されている。状況装置は、検査回路18と3
2およびCRCコード生成器16と30がうまく
機能しているかどうか判定する。
次に第2図には、第1の機能ユニツト10およ
び第2の機能ユニツト24に使用される代表的な
直列CRCコード生成回路39が示されている。
回路39は、16ビツト構成である。以下に説明す
るように、特定の生成多項式にもとづく好ましい
実施例では、ビツト15,10および3への排他的論
理和入力が設けられる。ただし、実施される生成
多項式に応じて、他のビツトもこうしたCRCコ
ード生成器回路内で入力をもつことができる。
CRCコード生成回路は、16ビツトの幅に限定さ
れる必要はない。排他的論理和ゲート40がビツ
ト10と11の間に示され、排他的論理和ゲート42
がビツト3と4の間に示されている。さらに、排
他的論理和ゲート44が、入力中の直列データと
ビツト0からのCRC出力の排他的論理和をとる
のに使用できる。
次に第3図には、本発明による並列データ用の
もう1つのシステム構成の構成図が示されてい
る。
第1の機能ユニツト110が、破線で輪郭を示
されている。第1のユニツト110は、データ線
112に接続され、そこからデータを受け取る。
好ましい実施例では、データ線112は別々の8
本の線(図示せず)を備えており、データを並列
モードで送ることができる。8本のデータ線によ
り8ビツト(1バイト)のデータを同時に送るこ
とができる。
データ線112から線112aを介してアセン
ブラ114にデータが送られる。アセンブラ11
4は、1つまたは複数のゲート(図示せず)から
構成され、複数の入力源からデータを選択する。
アセンブラ114はデータ線112から線112
aを介して並列CRCコード生成器116にデー
タを送る。以下で詳細に説明するように、CRC
コード生成器116はデータを処理し、データに
付加すべきCRCコードを生成する。CRCコード
生成器116には、検査回路118が接続されて
いる。検査回路118は、選択線119によりデ
ータをアセンブラ114にゲートする。すなわ
ち、検査回路118は、選択線119により、
CRCコード生成器116から線115aを介し
て送られてきたコードを、またはデータ線112
から線112aを介して送られてきたデータをア
センブラ114にゲートすることができる。
第2のアセンブラ120が、線112を介して
データ源に接続されると共に、線115を介して
CRCコード生成器116に接続されており、ど
ちらか一方の源から直接データを受け取ることが
できる。アセンブラ120はCRCコード生成器
116によつて生成されたCRCコードをデータ
線112から受け取つたデータに付加する。この
付加されたデータ信号は次に直列化器122に送
られ、そこで、8本のデータ線が直列伝送用の線
123に変換される。
破線で輪郭を示した第2の機能ユニツト124
は、線123に接続された並列化器126を備え
ている。並列化器126は、直列データ線を8本
の並列線127に変換する。データは並列化器1
26から線127aを介してアセンブラ128に
送られ、そこから第2の並列CRCコード生成
器/比較器130に送られる。CRCコード生成
器/比較器130には第2の検査回路132が接
続されている。検査回路132は、選択線133
により、並列化器126から線127aへ出力さ
れたデータを、またはCRCコード生成器/比較
器130から線131へ出力されたコードをアセ
ンブラ128にゲートすることができる。
第1の機能ユニツト110のCRC検査線13
4が、第1の検査回路118から状況装置(図示
せず)に接続されている。同様に、第2の機能ユ
ニツト124のCRC検査線136が、第2の検
査回路132から状況装置(図示せず)に接続さ
れている。最後に、データ検査線138がCRC
コード生成器/比較器130ともう一つの状況装
置に接続されている。これらの状況装置は、検査
回路118,132およびCRCコード生成器1
16,130がうまく機能しているかどうか判定
する。
次に、第4図には、並列CRCコード生成回路
50の実施例が示されている。並列形式のデータ
は、CRCコード符号器52に入力され、そこか
らCRCコードの上位バイト(ビツト0〜7)5
4と下位バイト(ビツト8〜15)56が出力され
る。上位バイト54と下位バイト56はCRCレ
ジスタ58に入力される。CRCレジスタ58か
らの出力は、帰還線55と57によつてCRCコ
ード符号器52に再入力される。CRCコード符
号器52によつて生成された上位バイト54は、
CRCレジスタ58に記憶され、そこからアセン
ブラ120に出力される(第3図)。CRCレジス
タ58に記憶された下位バイト56は、帰還線5
7を介してCRCコード符号器52に戻る。上位
バイト54もCRCレジスタ58から帰還線55
を介してCRCコード符号器52に送られる。
CRCコード符号器52は、レジスタの機能を
果すもので、以下で説明する所定の並列CRC方
程式を実行する回路(図示せず)から構成され
る。
並列CRCコード生成回路50(第4図)は、
実際には第3図に示したCRCコード生成器11
6と検査回路118の一部分であることを理解さ
れたい。直列化器122と並列化器126がシス
テムの一部ではない場合、並列データはアセンブ
ラ120から直接に並列データ線127に送られ
る。また当然のことながら、直列化器122を第
1の機能ユニツト110の前端に移動し、並列化
器126を第2の機能ユニツト124の後端に移
動することによつて、第1図に実施されているよ
うな、直列CRCコード生成器が使用できる。
直列CRCコード生成器39(第2図)の例に
示された生成多項式は次の通りである。
X16+X12+X5+1 上記の多項式中で、Xは見かけ変数を表す。他
の多項式を使用する場合、回路39をそれに応じ
て修正しなければならない。
動作に際しては、すべてのデータがCRCコー
ド生成回路39中をシフトされた後のシフト・レ
ジスタの値は、データを多項式で割つた剰余であ
る。これが、そのデータ・ストリームのCRCコ
ードである。CRCコードは送られるデータの終
端に連結することができ、第2の機能ユニツト2
4(第1図)がそれを受け取つたとき検査するこ
とができる。
1バイト幅の並列データ・ストリームでは、上
述のように、並列CRCコード生成回路50(第
4図)は、直列シフト・レジスタ39(第2図)
で8つの桁送りの先読みを実行するように設計さ
れる。すなわち、データ・ストリームの8つの直
列桁送りが実際に行なわれる場合と同様に、
CRCコードの各ビツトの値に対して並列CRC方
程式が、生成される。この例では、その結果、次
の方程式が生成される。
上位CRCバイトCRC(0)=R0D0R4
D4R8 CRC(1)=R1D1R5D5R9 CRC(2)=R2D2R6D6R10 CRC(3)=R0D0R3D3R7D7R11 CRC(4)=R1D1R12 CRC(5)=R2D2R13 CRC(6)=R3D3R14 CRC(7)=R0D0R4D4R15 下位CRCバイトCRC(8)=R0D0R1D
1R5D5 CRC(9)=R1D1R2D2R6D6 CRC(10)=R2D2R3D3R7D7 CRC(11)=R3D3 CRC(12)=R0D0R4D4 CRC(13)=R1D1R5D5 CRC(14)=R2D2R6D6 CRC(15)=R3D3R7D7 ただし、CRC(n)はCRCレジスタ58(第4
図)にロードされる次のCRC値を表わし、Rn
レジスタ58の現在のCRC値を表わし、D1はア
センブラ114(第3図)からのデータ値を表わ
す。
上記の方程式は、CRCコード生成回路50
(第4図)または39(第2図)から送られた以
前の2データ・バイトが、それらが処理される直
前のCRCコードの内容と等値である場合、CRC
コードが16進表記で00 00に等しいことを示す。
最初のデータ・バイト(上位CRCバイトに等し
い)が処理されると、次の下位CRCバイトは00
に等しく、次の上位CRCバイトは前の下位バイ
トの値に等しい。一例を挙げると、現在のCRC
値が16進表記でA7 E8であり、データ・バイトが
A7である場合、次のCRC値はE8 00となる。次
のデータ・バイトがE8である場合、その結果生
成されるCRC値は00 00に等しくなる。
次に、第5図には動作の流れ図が示されてい
る。ステツプ60で、まずあるデータ・ストリー
ムに対してCRCコードが生成される。次に、ス
テツプ62でデータ・ストリームにCRCコード
が付加される。上記の2つのステツプ60と62
は、CRCコード生成器が適切に動作するかどう
か検査する場合は実行しなくてもよい。並列
CRCコード生成回路50(第4図)では、ステ
ツプ64で、CRCコードのバイト数(端数は切
上げ)と同数のクロツク・サイクルの間、アセン
ブラ114(第3図)で上位CRCバイト55を
回路50にラツプ・バツクすることによつて、自
己検査が実行できる。上述の例では、CRCコー
ドに16ビツト(2バイト)あるので、上位CRC
バイト55は2回ラツプ・バツクされる。CRC
コードに17ないし24ビツトがある場合、3回ラツ
プ・バツクしなければならず、以下同様である。
並列モードをフルバイト(8ビツト)で実行する
必要はない。たとえば、16ビツト幅のCRCコー
ドの場合、4ビツト・ブロツクを4回ラツプ・バ
ツクし、32ビツト幅のCRCコードでは8回ラツ
プ・バツクしてもよい。他の場合も同様である。
並列CRC方程式はそれに応じて修正される。
直列CRCコード生成回路39(第2図)でも、
自己検査は同様に実行されるが、ただし、1ビツ
トずつ行なわれる。ビツト0から始めて個々の
CRCビツトがアセンブラ14(第1図)を介し
て回路39にラツプ・バツクされる。
並列CRCコード生成回路50でも直列CRCコ
ード生成回路39でも、回路が適切に動作してい
る場合、ステツプ66で、その結果生成される
CRC値は00 00に等しい。次いで、システムはス
テツプ60で次のデータ・ストリームについて操
作を続行する。
アセンブラ14はまたはアセンブラ114(第
3図)にラツプ・バツクする前に、CRCレジス
タ値を変換、または他の方法で変更することがで
きる。この場合、適切な動作が行なわれているこ
とを表す検査値が必ずしも00 00に等しいCRC値
である必要はない。
重要なことは、実際のデータ・ストリームの送
信または受信中には自己検査は行なわれないこと
である。そうでないと、そのデータ・ストリーム
のCRCコードが変更されてしまう。すなわち、
CRCコードが生成され2つの機能ユニツト10,
24または110,124を分離するインターフ
エースを経て送られた直後、またはCRCコード
がインターフエースを経て受け取られた後に検査
された直後にCRC回路39または50を検査す
ることが好ましい。
CRCコードを受け取るとき、自己検査は実際
の誤りを分離するのに役立つ。実際のCRCコー
ドで誤りが見つかつた場合、インターフエースで
伝送誤りが発生したことを意味するのかもしれな
い。しかし、その後の自己検査がハードウエア誤
りが発生したことを示す場合、恐らくはCRC回
路39または50が誤つていると思われ、インタ
ーフエイスは適切に動作しているかもしれない。
データ伝送中に、CRCコードが生成され、デ
ータ・ストリームの終端で送られた直後に、自己
検査ができる。この場合、自己検査は送られた
CRCコードが誤つているかもしれないことを示
す。従つて、その影響を最小に抑える措置を取る
ことができる。
【図面の簡単な説明】
第1図は、本発明による、逐次データ用のシス
テム構成の構成図である。第2図は、直列CRC
コード生成回路を示す構成図である。第3図は、
並列データ用のシステム構成の構成図である。第
4図は、並列CRCコード生成回路を示す構成図
である。第5図は、本発明による動作の流れ図で
ある。

Claims (1)

  1. 【特許請求の範囲】 1 第1機能ユニツトから他の機能ユニツトへデ
    ータを転送するシステムにおいて、 上記第1機能ユニツトに備えられ、上記データ
    とともに上記他の機能ユニツトへ転送するデータ
    へ付加すべき検査コードを生成する検査コード生
    成器と、 上記第1機能ユニツトに備えられ、上記検査コ
    ードを上記データへ付加する第1アセンブラ手段
    と、 上記第1機能ユニツトに備えられ、上記データ
    および上記検査コードを受領し、これらを上記検
    査コード生成器に対する入力として供給する第2
    アセンブラ手段と、 上記第2アセンブラ手段に直列に接続され、上
    記第2アセンブラ手段を上記検査コード生成器へ
    の上記データおよび上記検査コードの供給可能な
    状態とし、検査コードを入力として受領したとき
    に上記検査コード生成器が所定の検査コードを生
    成したか否かを表す状況信号を生成する検査回路
    とを有することを特徴とする誤り検査システム。
JP62288620A 1987-01-29 1987-11-17 誤り検査システム Granted JPS63197124A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/008,505 US4809273A (en) 1987-01-29 1987-01-29 Device for verifying operation of a checking code generator
US8505 1987-01-29

Publications (2)

Publication Number Publication Date
JPS63197124A JPS63197124A (ja) 1988-08-16
JPH0328094B2 true JPH0328094B2 (ja) 1991-04-18

Family

ID=21731987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62288620A Granted JPS63197124A (ja) 1987-01-29 1987-11-17 誤り検査システム

Country Status (4)

Country Link
US (1) US4809273A (ja)
EP (1) EP0280013B1 (ja)
JP (1) JPS63197124A (ja)
DE (1) DE3871404D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016061A1 (en) 2006-08-02 2008-02-07 Asahi Glass Co., Ltd. Electronic circuit device and method for fabricating the same

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2544385B2 (ja) * 1987-05-27 1996-10-16 株式会社日立製作所 通信制御装置
JPH01201736A (ja) * 1988-02-08 1989-08-14 Mitsubishi Electric Corp マイクロコンピュータ
US5170401A (en) * 1988-06-02 1992-12-08 Rockwell International Corporation High integrity single transmission line communication system for critical aviation information
JPH0212445A (ja) * 1988-06-30 1990-01-17 Mitsubishi Electric Corp 記憶装置
EP0411110A4 (en) * 1989-02-16 1993-02-24 Grumman Aerospace Corporation Very high speed error detection network
EP0436194A3 (en) * 1990-01-02 1992-12-16 National Semiconductor Corporation Media access controller
GB2242104B (en) * 1990-02-06 1994-04-13 Digital Equipment Int Method and apparatus for generating a frame check sequence
US5029133A (en) * 1990-08-30 1991-07-02 Hewlett-Packard Company VLSI chip having improved test access
CA2050123C (en) * 1990-10-11 1997-12-09 Subrahmanyam Dravida Apparatus and method for parallel generation of cyclic redundancy check (crc) codes
JP3260421B2 (ja) * 1992-06-30 2002-02-25 パイオニア株式会社 Cd−rom再生装置
US6047396A (en) * 1992-10-14 2000-04-04 Tm Patents, L.P. Digital data storage system including phantom bit storage locations
US5515506A (en) * 1994-08-23 1996-05-07 Hewlett-Packard Company Encoding and decoding of dual-ported RAM parity using one shared parity tree and within one clock cycle
US5754564A (en) * 1994-08-24 1998-05-19 Harris Corporation Method of continuous calculation of cyclic redundancy check
US5581566A (en) * 1995-01-06 1996-12-03 The Regents Of The Univ. Of California Office Of Technology Transfer High-performance parallel interface to synchronous optical network gateway
FR2759796B1 (fr) * 1997-02-19 2001-12-07 Bull Sa Dispositif et procede de detection d'erreurs sur un circuit integre comportant un port parallele serie
FR2765425B1 (fr) 1997-06-26 2000-06-09 Bull Sa Procede de detection d'erreurs sur une liaison serie d'un circuit integre et dispositif de mise en oeuvre du procede
JP3930479B2 (ja) * 2002-04-22 2007-06-13 富士通株式会社 誤り検出符号化及び復号装置並びに除算装置
US20040098655A1 (en) * 2002-11-19 2004-05-20 Sharma Debendra Das Rolling CRC scheme for improved error detection
US7634614B2 (en) * 2003-01-13 2009-12-15 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves and that support virtual disk formatting
JP4634157B2 (ja) 2005-01-17 2011-02-16 株式会社日立製作所 ストレージシステム
US7421640B2 (en) * 2005-08-17 2008-09-02 International Business Machines Corporation Method and apparatus for providing error correction capability to longitudinal position data
JP5089901B2 (ja) * 2006-03-28 2012-12-05 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
DE102007028766A1 (de) * 2007-06-22 2008-12-24 Continental Teves Ag & Co. Ohg Prüfverfahren und elektronische Schaltung zur sicheren seriellen Übertragung von Daten
US8074146B2 (en) * 2007-09-28 2011-12-06 Broadcom Corporation Multiple cyclic redundancy check (CRC) engines for checking/appending CRCs during data transfers
JP2009271265A (ja) 2008-05-06 2009-11-19 Tomoegawa Paper Co Ltd 静電荷像現像用トナーおよびその製造方法
DE102009029979A1 (de) 2009-06-23 2010-12-30 Giesecke & Devrient Gmbh Verfahren zum Codieren und Decodieren von digitalen Daten, insbesondere von in einer Mikroprozessoreinheit verarbeiteten Daten
US20110219266A1 (en) * 2010-03-04 2011-09-08 Qualcomm Incorporated System and Method of Testing an Error Correction Module
US9960788B2 (en) * 2015-03-27 2018-05-01 Toshiba Memory Corporation Memory controller, semiconductor memory device, and control method for semiconductor memory device
US11048602B2 (en) * 2017-10-17 2021-06-29 SK Hynix Inc. Electronic devices
CN113176966B (zh) * 2021-03-12 2024-07-12 青芯半导体科技(上海)有限公司 一种检查spi接收数据有效性的系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889109A (en) * 1973-10-01 1975-06-10 Honeywell Inf Systems Data communications subchannel having self-testing apparatus
US4223382A (en) * 1978-11-30 1980-09-16 Sperry Corporation Closed loop error correct
JPS5924458B2 (ja) * 1980-09-24 1984-06-09 富士通株式会社 エラ−訂正回路のチェック方式
US4531213A (en) * 1982-03-03 1985-07-23 Sperry Corporation Memory through checking system with comparison of data word parity before and after ECC processing
US4520481A (en) * 1982-09-13 1985-05-28 Italtel--Societa Italiana Telecomunicazioni S.P.A. Data-handling system for the exchange of digital messages between two intercommunicating functional units
US4527269A (en) * 1983-02-08 1985-07-02 Ampex Corporation Encoder verifier
US4670876A (en) * 1985-05-15 1987-06-02 Honeywell Inc. Parity integrity check logic

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016061A1 (en) 2006-08-02 2008-02-07 Asahi Glass Co., Ltd. Electronic circuit device and method for fabricating the same

Also Published As

Publication number Publication date
EP0280013A1 (en) 1988-08-31
US4809273A (en) 1989-02-28
DE3871404D1 (de) 1992-07-02
EP0280013B1 (en) 1992-05-27
JPS63197124A (ja) 1988-08-16

Similar Documents

Publication Publication Date Title
JPH0328094B2 (ja)
EP1160987B1 (en) Method and apparatus for verifying error correcting codes
US5321704A (en) Error detection structure and method using partial polynomial check
US6453440B1 (en) System and method for detecting double-bit errors and for correcting errors due to component failures
US7149947B1 (en) Method of and system for validating an error correction code and parity information associated with a data word
US6473880B1 (en) System and method for protecting data and correcting bit errors due to component failures
US5745508A (en) Error-detection code
US4736376A (en) Self-checking error correcting encoder/decoder
US7137057B2 (en) Method and apparatus for performing error correction code (ECC) conversion
JPS6041770B2 (ja) エラ−・チェック修正システム
US5631915A (en) Method of correcting single errors
JPH06324951A (ja) 誤り検査/訂正機能を有するコンピュータ・システム
JPH09507118A (ja) 巡回冗長検査方法および装置
US6393597B1 (en) Mechanism for decoding linearly-shifted codes to facilitate correction of bit errors due to component failures
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
US3622984A (en) Error correcting system and method
CN113055259B (zh) 一种基于axi总线协议的功能安全保护方法
JP6955055B2 (ja) 検出装置、生成装置、検出システム、検出方法及び検出プログラム
US20070283208A1 (en) Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus diagnostic features
JP6714119B1 (ja) 検出装置、生成装置、検出システム、検出方法及び検出プログラム
JPS6093844A (ja) デ−タ伝送方法
JP2555336B2 (ja) チツプ動作の自動自己診断を伴うicチツプの誤り検出訂正装置及びその方法
KR950004241B1 (ko) 패리티 검사에 의한 데이타오류 검출장치
KR20200012162A (ko) 차량용 메시지 패킷을 송수신하는 장치 및 방법
JPH05127933A (ja) 故障検出回路