JP2738687B2 - 誤り訂正システムおよび方法 - Google Patents

誤り訂正システムおよび方法

Info

Publication number
JP2738687B2
JP2738687B2 JP62231967A JP23196787A JP2738687B2 JP 2738687 B2 JP2738687 B2 JP 2738687B2 JP 62231967 A JP62231967 A JP 62231967A JP 23196787 A JP23196787 A JP 23196787A JP 2738687 B2 JP2738687 B2 JP 2738687B2
Authority
JP
Japan
Prior art keywords
error correction
data word
data
correction code
error
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
JP62231967A
Other languages
English (en)
Other versions
JPS6394353A (ja
Inventor
ダブリュ・ダニエル・ハイリス
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.)
SUINKINGU MASHINZU CORP
Original Assignee
SUINKINGU MASHINZU 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 SUINKINGU MASHINZU CORP filed Critical SUINKINGU MASHINZU CORP
Publication of JPS6394353A publication Critical patent/JPS6394353A/ja
Application granted granted Critical
Publication of JP2738687B2 publication Critical patent/JP2738687B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、並列プロセッサ・データ処理システムの複
数のメモリ(記憶装置)を読出し/書込みサイクルにお
ける誤り訂正の方法及び装置に関する。 〔従来の技術及び発明が解決しようとする問題点〕 計算システム全体の一部分としてデジタル・プロセッ
サと関連して利用されるランダム・アクセス・メモリの
サイズが大きくなるのに伴なって、そのような大規模メ
モリに対する書込み/読出し動作において発生する誤り
の訂正を行うことが必要になってきた。単純な形式の誤
り訂正は、マルチ・ビット語において補助デジタル・ビ
ットとしてパリティ・ビットを使用するものであり、こ
のパリティ・ビットは、1つのデータ語におけるそれぞ
れのビット位置のビット特性の関数に基づいた2進数の
1又は0であった。記憶装置から読出されたデジタル語
と記憶装置に書込まれたデジタル語との間の、誤りを表
わす差は、たとえば、語に単一又は奇数個のビット誤り
がある場合には、パリティ・ビットをメモリに書込まれ
た語と共に記録し、検索されたパリティ・ビットを、読
出したデータ語から再構成したパリティ・ビットと比較
するというようにして、パリティ・ビットを使用するこ
とにより検出可能であった。差ないし相違が発生した場
合、それは奇数個のビットにおける誤りの表示であっ
た。通常、誤りの確率は十分に低いので、単一のビット
ではなくすべてのビットにおける誤りの可能性は無意味
なものであった。パリティ・ビットを使用しても、どこ
に誤りが存在するのかを判定することはできないが、誤
りの存在をコンピュータ・システムに警告し、そしてデ
ータを正確に読取ろうと再度試みる等の補助的な訂正ス
テップを利用することはできるであろう。 さらに最近になって、各デジタル語の全てのビットの
関数である何らかのアルゴリズムに従って、より巧妙な
誤り訂正コードが開発された。書込み動作及び読出し動
作に際して、これら誤り訂正コードはメモリのデータ語
自体と同じアドレスに記憶される。誤り検出回路は、メ
モリから読出されるデジタル語及び誤り訂正コードに基
づいて動作して、誤り有無を識別するためのみならず、
誤りのあるのはどのビットであるかを指示し且つその訂
正を行う。誤り訂正コードの巧妙度に応じて、1つ又は
複数のビット位置における誤りを検出できると考えられ
る。16ビット・プロセッサ及び16ビット・メモリと共に
利用される一般的な方法論の1つでは、最も一般的な種
類の誤りを確認するように適合された特定のアルゴリズ
ムにより、1つのデータ語の各ビットの関数として、発
生される6ビット誤り訂正コードを使用する。 当然のことながら、完全冗長度の場合を除いて、デジ
タルメモリの読出し/書込みサイクルで起こりうる全て
の誤りを検出することは不可能である。しかしながら、
そのようなメモリで通常起こりやすいある予め定められ
た誤りのセットがあるにもかかわらず、メモリにデータ
を正しく記憶し且つメモリからデータを正しく検索する
ことができる確率を著しく向上させるためには、16ビッ
トのデータ語に対する6ビット訂正コードのような完全
とはいえない冗長度を利用すれば十分であることがわか
っている。 並列処理用デジタル・コンピュータの出現に伴ない、
きわめて大規模で高速のプロセッサ及びそれらに関連す
るメモリにさえ見られたデータの直列処理に固有の速度
制限は、処理機能を多数の並列処理用プロセッサ及び関
連メモリに分配することにより回避される。並列処理用
プロセッサ及び関連メモリは、それぞれ、大型コンピュ
ータのプロセッサ及びメモリのサイズと比較すればかな
り小さいであろうが、階層配列された通信ネットワーク
を介して互いに関連づけられると、膨大な量のデータを
非常に高速且つ有効に処理することができる。 このような並列処理用プロセッサ構成において1つの
プロセッサに関連する各メモリのメモリサイズは比較的
小さくて良く、たとえば4Kビット程度である。そのよう
なサイズのメモリは、それ自体、故障率、すなわち誤り
の発生率が十分に低いため、誤り訂正が不要であると考
えられるが、かかるサイズのメモリを設計することは技
術的には可能である。並列処理用プロセッサ構成におい
て、通常、そのようなメモリが何万と用いられることを
考えると、誤りの可能性は、メモリの全アセンブリの統
計的関数として著しく高くなる。従って、並列処理用プ
ロセッサ構成のかかる何万というメモリのそれぞれに誤
り訂正を適用することが必要になる。そのようなメモリ
の各々に誤り訂正システムを追加するために要するコス
トは、並列処理用プロセッサシステムのコストを大幅に
増加させる。 〔問題点を解決するための手段〕 本発明の教示に従って、並列プロセッサ環境における
複数のデータ・プロセッサに関連する複数のメモリの読
出し/書込み動作における誤り訂正の有効性及び効率を
向上させるシステムが開示される。 本発明誤り訂正システムは、それぞれが各データ語の
ひとつのデータ部分を処理する複数のデジタル・プロセ
ッサおよび該複数のデジタル・プロセッサに関連するデ
ジタル・メモリを有する並列コンピュータと共に用いる
ための誤り訂正システムであって、前記複数のデジタル
・プロセッサの各々からそれぞれ得られた複数のデータ
部分を有する単一のデータ語を発生する第1インターフ
ェース手段と、前記単一のデータ語に応答して単一の誤
り訂正コードを発生する誤り符号化手段と、前記単一の
データ語および関連する単一の誤り訂正コードを前記デ
ジタル・メモリに同時に書込む第2インターフェース手
段と、前記デジタル・メモリに記憶された単一のデータ
語および関連する単一の誤り訂正コードを前記デジタル
・メモリから同時に読出す記憶手段と、前記デジタル・
メモリから読み出された単一のデータ語および関連する
単一の誤り訂正コードを受け、当該関連する単一の誤り
訂正コードに応答して当該単一のデータ語における誤り
を検出し、およびその検出された誤りに応じて当該単一
のデータ語における検出された誤りを訂正して、訂正さ
れたデータ語を発生する誤り検出および訂正手段と、前
記訂正されたデータ語の複数のデータ部分を前記複数の
デジタル・プロセッサの各対応するひとつに供給する第
3インターフェース手段とを具え、前記単一のデータ語
は、単一の誤り訂正コードを発生するために、前記複数
のデジタル・プロセッサからの複数のデータ部を集める
ことにより発生されることを特徴とする。 本発明誤り訂正方法は、それぞれが各データ語のひと
つのデータ部分を処理する複数のデジタル・プロセッサ
および該複数のデジタル・プロセッサに関連するデジタ
ル・メモリを有する並列コンピュータと共に用いるため
の誤り訂正方法であって、前記複数のデジタル・プロセ
ッサの各々からそれぞれ得られた複数のデータ部分を有
する単一のデータ語を発生するステップと、前記単一の
データ語に応答して単一の誤り訂正コードを発生するス
テップと、前記単一のデータ語および関連する単一の誤
り訂正コードを前記デジタル・メモリに同時に書込むス
テップと、前記デジタル・メモリに記憶された単一のデ
ータ語および関連する単一の誤り訂正コードを前記デジ
タル・メモリから同時に読出すステップと、前記デジタ
ル・メモリから読み出された単一のデータ語および関連
する単一の誤り訂正コードを受け、当該関連する単一の
誤り訂正コードに応答して当該単一のデータ語における
誤りを検出し、およびその検出された誤りに応じて当該
単一のデータ語における検出された誤りを訂正して、訂
正されたデータ語を発生するステップと、前記訂正され
たデータ語の複数のデータ部分を前記複数のデジタル・
プロセッサの各対応するひとつに供給するステップとを
具え、前記単一のデータ語は、単一の誤り訂正コードを
発生するために、前記複数のデジタル・プロセッサから
の複数のデータ部を集めることにより発生されることを
特徴とする。 本発明によれば、複数のメモリと、それらに関連する
並列プロセッサとの間のデータの読出し及び書込みは、
単一のデータ語及びその単一のデータ語から決定される
単一の誤り訂正コードを形成するように同期され且つ対
応付けられる。単一のデータ語は、複数のメモリに書込
まれるべき又はメモリから読出されるべきデータ語の集
合体から構成される。複数のデータ語を単一の語と考え
て発生される誤り訂正コードは、多重プロセッサ環境に
おける誤り訂正の効率および有効性を大きく向上させ
る。複数のメモリから読出されるべき及びメモリに書込
まれるべき複数のデータ語を統合した単一のデータ語に
適用可能な単一の誤り訂正コードは、単一の組合せデー
タ語の1つ又は複数のビット位置における誤りを訂正す
るように構成されたいくつかの誤り訂正アルゴリズムの
中の1つから取出される単一のパリティ・ビット又はさ
らに複雑な1組のビットであれば良い。 本発明の一実施例においては、複数のメモリは、通
常、計算能力が複数の同時に動作する並列の小型プロセ
ッサに分配される計算装置の並列プロセッサにより対応
付けられる。数個のそのようなプロセッサの組からの又
はそれらのプロセッサにより制御されるメモリ読出し/
書込みデータの流れは組合わされて、単一の同時に印加
されるデータ語を形成する。このデータ語は、複数のプ
ロセッサからの組合せデータ語の関数として誤り訂正コ
ードを形成する単一誤り訂正コード発生器により発生さ
れる誤り訂正コードと共に、複数のメモリに記憶され
る。組合せデータ語及び関連する誤り訂正コードが供給
されるメモリは、複数の別個のメモリであっても、ま
た、単一のハードウェア・メモリのセグメント分割され
た複数の部分であっても良い。そのような1つ又は複数
のメモリから読出されたデータは、単一の誤り検出及び
訂正方式により処理されて、訂正された組合せデータ語
を戻す。訂正済データ語は分離されて、複数のプロセッ
サの組の対応するプロセッサへ印加され又はそれにより
利用される。 〔実施例〕 以下、添付の図面を参照して本発明を詳細に説明す
る。 本発明は、通常は多重プロセッサ、すなわち並列プロ
セッサの環境における複数のメモリ及び対応する複数の
プロセッサに関連する読出し/書込み機能における誤り
訂正能力を向上させようとするものである。 第1図に関して説明する。第1図は、並列プロセッサ
・システムの環境を表わすブロック線図である。特に、
そのような並列プロセッサの環境は、複数の並列動作す
る小型プロセッサと、それらに関連する複数のメモリ
(記録装置)とを表わす複数のモジュール12を有する。
そのようなプロセッサは、通常、制御線16を介して外部
プロセッサ14の制御の下に動作させられる。さらに加え
て、並列プロセッサ環境の内部のプロセッサおよびメモ
リモジュール12の相互間のデータ線18を介するデータの
流れは、通常、通信方式により調整されるが、この方式
によれば、N個のプロセッサ・メモリ・モジュール12の
組は互いに直接通信する状態にあって良いが、他のモジ
ュール12の間の通信には1つ又は複数の別のプロセッサ
を介するデータ交換が必要であると考えられる。多重プ
ロセッサ環境を通じてデータ及び制御信号の流れを容易
にするために、複数本の追加の制御線20が用いられる。 第2図はさらに詳細に示すように、各プロセッサ・メ
モリ・モジュール12の内部には、識別可能プロセッサ24
と、それに関連するランダム・アクセス・メモリあるい
はメモリ26とがある。データ通信は、プロセッサ24と関
連してメモリ26に対するデータの読出し/書込み機能を
決定する制御インターフェース30の制御の下に、プロセ
ッサとメモリとの間で直接実行されるが、又はデータ・
バス28を介して実行される。第2図は、入出力機能を無
視して、プロセッサとメモリとの間の一般化された関係
を示す。 記憶装置26は外界に対して、そしてプロセッサ24及び
制御インターフェース30に対して、データの書込み及び
読出しが実行される単純な物理的記憶装置として存在し
ていても良いが、今日では、記憶容量が大きいことと共
に信頼性も要求されるため、読出し/書込み機能に誤り
訂正方式を使用することが必要である。そのような方式
の一般化構成例が第3図に示されている。誤り訂正方式
は、メモリから読出されるデータ語をメモリに記憶され
たデータ語に対して1つ分又は2つ以上のビット位置を
異ならせると考えられるような偶然誤りを訂正する。第
3図の方法論によれば、データ・バス34を介してメモリ
38に印加される、通常はビット・サイズX、多くの場合
は16ビットのサイズを有するデータは、ラッチ又はバッ
ファ回路36を介してランダム・アクセス・メモリ38の実
際の記憶ハードウェアに印加される。データ・バス34に
ある各データ語は、さらに、エンコーダ回路40にも印加
され、このエンコーダ回路40は、予め定めた方法論に従
って、通常はXより短いビット数Yを有する誤り訂正コ
ード、すなわちデータ語を発生する。このデータ語もラ
ッチ又はバッファ回路36を介してランダム・アクセス・
メモリ38に印加されて、データ・バス34のデータ語と共
に同じアドレスに記憶される。データ・バス34のデータ
語が16ビットである通常の場合、エンコーダ回路40から
得られる誤り訂正コードのサイズは、周知の誤り訂正方
法論によれば、通常、6ビットの長さである。エンコー
ダ回路40は、データ・バス34のデータ語の特定ビット状
態の関数であり、且つランダム・アクセス・メモリ38か
ら読出されるデータにおいて生じる可能性の最も高い誤
りの発見及びそのピンポイントの指示を行うことができ
るように統計を基礎とするコード語を発生する。完全冗
長度が要求されるとするならば、誤り訂正コードはもと
もと記録された語の複製であると考えられ、誤りを最小
限に指示するためには、誤り訂正コードは単純パリティ
・ビットとなるであろう。両者の間に誤り訂正の可能性
の範囲がある。誤りの統計的可能性とその種類によっ
て、エンコーダ回路40により訂正コードを発生する最も
有利且つ経済的な形態を決定する。その目的は、付加す
る回路の量と、誤り訂正コードのサイズと、そのコード
に割当てられるべきメモリ・スペースとをできる限り小
さくし、それと同時に、データの正確な書込み及び読出
しのために必要なレベルの信頼度を提供することにあ
る。 ランダム・アクセス・メモリ38からの読出しの場合、
データ・バス34からのデータは、誤り訂正コードと共
に、出力バッファ42を介して誤り訂正回路44と、誤り検
出回路46とにそれぞれ印加される。誤り検出回路46は、
読出しデータと関連して誤り訂正コードを読出すことに
より、誤りが発生したか否かを判定する。誤りが発生し
ていた場合、デコーダ回路48は、その誤りが予想してい
たクラスの誤りの1つであるか否かを判定することがで
きる。この場合においては、誤りが発生しており、その
誤り訂正回路44に読出しデータを訂正することを指示し
て、誤り訂正回路44から出力バス50に印加されるデータ
がランダム・アクセス・メモリ38の当該メモリ・アドレ
スに印加されたデータ・バス34のもとのデータ語が正確
に再生されるようにする。出力されたデータ語の誤りが
予想されたカテゴリーのものでない場合、たとえば、も
とのデータ語の2つ以上のビット位置にわたる誤りの場
合には、読出しデータを回復、すなわち訂正することは
不可能であると思われる。そこでこの状態を識別し、メ
モリを利用するにあたっての誤り状態を、割込み又はそ
の他の制御経路を介して、報知するために、検出回路を
追加することも時折ある。 誤り訂正技術を利用するメモリの読出し/書込み誤り
の訂正は、本質的には、確率を利用する統計を基礎とす
るプロセスであり、そして起こりうる障害モードの経験
に基づく判定であるので、その複雑度は、誤りが起こる
可能性がどれだけであるかではなく、その誤りが現われ
ると思われる可能性の態様の関数である。しかしなが
ら、その動作サイクルに要求されるハードウェアと時間
は、それが要求される確率がどれほど低いかにかかわら
ず、与えられなければならない。従って、それらの利用
が必要になるのは稀である。それでもなお、メモリの必
要な信頼性レベルを確保するためには、ハードウェア
と、それに伴う複数動作が備わっていなければならな
い。 第2図のメモリとプロセッサとの関係が非常に多くの
回数、通常は何万回も繰返し現われるような多重プロセ
ッサの環境においては、各メモリに関連する誤り訂正シ
ステムの利用により要求される付加的なシステムの複雑
性は、経済性及び処理速度に関してかなり大きな負担に
なる。小型のメモリにおける誤りの可能性はごく低いで
あろうが、必要な多数のメモリを経て増倍されていく
と、確率は誤り訂正の利用を必要とするレベルに達す
る。そして、どのメモリが誤りを発生させるかを適切に
予測することはできないので、それぞれの小型メモリに
誤り訂正を適用しなければならない。 本発明の教示に従えば、複数のプロセッサと複数のメ
モリとの間のデータの流れを一体に関連づけ、且つその
データについて単一の誤り訂正方式を利用することによ
り、多重プロセッサ/多重メモリ環境において誤り訂正
をはるかに効率良く利用することができる。並列プロセ
ッサの環境においては、一組のプロセッサにおけるプロ
セッサとそれらのメモリとの間のデータの流れは、通
常、複数の同時読出し/書込みサイクルに対して同期し
ているので、そのような複数のプロセッサの組に対して
単一の誤り訂正システムを使用することが実現可能にな
る。メモリによる読出し/書込み動作に何らかの誤りが
生じる可能性は依然としてかなり小さいため、複数のプ
ロセッサと関連する複数のメモリに書込まれるデータ及
びかかるメモリから読出されるデータの全ての統合した
1つの組合せデータ語に対して発生される単一の誤り訂
正コードを、より局所的な誤り訂正に使用されるコンポ
ーネントの完全ではない冗長度で、採用することが可能
である。これにより動作効率が著しく向上すると共に、
並列プロセッサ環境におけるハードウェアコストが最小
限となる。 第4図は、複数のプロセッサ50と、それらに関連する
データ・バス52とが、メモリに書込まれるべきデータの
印加のために、適切に関連づけられて、データ・バス52
のデータがインターフェース54において、出力バス56に
印加される単一の大きなデータ語にアセンブルされるよ
うにしたシステムを示す。データ・バス52のデータの原
バイト・サイズを「X」とし、単一のインターフェース
54と関連するプロセッサの個数を「N」としたとき、出
力バス56のデータは「NX」のバイト・サイズを有するこ
とになる。コンピュータ・システムに通常設けられてい
る種類のシステム・タイミング及び制御回路58は、デー
タ・バス52からのデータの全てが出力バス56に同時に現
われて、単一の組合せデータ語を確実に形成するように
動作する。このデータ語はインターフェース又はバッフ
ァ・システム60を介してメモリ(記憶装置)62に印加さ
れる。それと同時に、出力バス56のデータは誤りエンコ
ーダ64にも印加される。誤りエンコーダ64はバス66に誤
りコードを発生し、この誤りコードはインターフェース
60を介してメモリ62に印加されて、出力バス56のデータ
と同じアドレスに記憶される。メモリ62は複数の別個の
メモリであっても良いが、より一般的に見られるよう
に、そして第5図に示すように、各アドレス位置におい
て複数個のセル70に分割された単一のメモリ(記憶装
置)68であっても良い。第5図のメモリの場合、1つの
セルはプロセッサ50のそれぞれに対応し、最終セル72は
バス66の誤り訂正コードを記憶する。このようにして、
メモリ62は、実際には、それぞれプロセッサ50の1つと
関連している複数の記憶装置(メモリ)又は複数の記憶
領域であると考えることができる。 データは、複数個のセル70及び誤り訂正コード記憶セ
ル72を含むメモリ62の各アドレスから出力バス75に読出
され、バッファ又はインターフェース76から出力バス74
を介して誤り訂正システム78に印加される。誤り訂正コ
ード記憶セル72の内容はバス77とインターフェース76と
を介してバス79から誤り検出及び復号システム80に印加
される。このシステム80は、各プロセッサ50に関連する
組合せデータ語を表わす出力バス74のより大きなデータ
語に対して発生された拡張誤り訂正コードに基づいて動
作する。誤り訂正システム78は誤り検出及び復号システ
ム80からの誤りの表示に応答して、出力バス74の組合せ
データ語に現われる予測された誤りの訂正を実行し、訂
正済データ語をバス82を介してインターフェース回路84
に印加する。インターフェース回路84は組合せデータ語
を、それぞれがプロセッサ50の1つと関連している複数
本の出力バス86に分配する。単一のアドレスに対するセ
ル70のそれぞれに記憶されたデータはメモリ62から同時
に読出されて、単一の大きなデータ語を形成し、誤り検
出及び復号システム80はそのデータ語について同時に動
作して、適切な誤り訂正を実行する。 第1に誤りの確率が低いとすれば、多数のビットを単
一のデータ語にアセンブリすることにより、より効率良
く、及び/又は効果的に誤り訂正コード化方式を利用で
きると同時に、複数のプロセッサ及びそれらに関連する
メモリに対して1つの誤り訂正システムを使用するだけ
ですむようになる。ただし、読出し/書込みメモリサイ
クルにおける誤りパターンの可能性の特定の予測内容に
応じて、いくつかの誤り訂正方法が知られているが、本
発明はその中の特定の1つに限定されず、また、特定の
演算アーキテクチャにも限定されないことに注意すべき
である。本発明の一般性は特許請求の範囲に記載される
事項によってのみ限定される。 [発明の効果] 以上、説明したように、本発明によれば、従来のよう
に個々のデジタル・プロセッサの取り扱うデータのそれ
ぞれを誤り符号訂正するのではなく、これらデータを1
まとめにして誤り符号訂正することにより複数のデジタ
ル・プロセッサの並列処理動作を阻害することなく、デ
ータ異常の検出、復旧が可能となる。また、このような
複数のデジタル・プロセッサを使用するシステムの誤り
訂正回路を簡素化し、製造コストの低減に寄与すること
ができる。
【図面の簡単な説明】 第1図は、並列プロセッサ環境の一般化ブロック線図、 第2図は、プロセッサとそれらに関連するランダム・ア
クセス・メモリとの間のデータの流れ及び制御を示す一
般化ブロック線図、 第3図は、メモリとの間のデータの読出し及び書込みに
関する典型的な誤り訂正方式を示すブロック線図、 第4図は、本発明による複数のプロセッサ及びそれらに
関連するメモリに対する単一の誤り訂正の具体例を示す
ブロック線図、及び 第5図は、本発明を説明する上で有用なメモリ割当て図
である。 50……プロセッサ、 52……データ・バス、 54……インターフェース、 56……出力バス、 58……システム・タイミング及び制御回路、 60……インターフェース、 62……メモリ(記憶装置)、 64……誤りエンコーダ、 66……バス、 68……メモリ(記憶装置)、 70……セル、 72……誤り訂正コード記憶セル、 74……出力バス、 76……バッファ、 78……誤り訂正システム、 80……誤り検出及び復号システム、 82……バス、 84……インターフェース回路、 86……出力バス。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−134957(JP,A) 特開 昭57−100698(JP,A) 特開 昭57−168318(JP,A) 特開 昭58−10258(JP,A) 特開 昭58−217061(JP,A) 特開 昭60−231248(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 1.それぞれが各データ語のひとつのデータ部分を処理
    する複数のデジタル・プロセッサおよび該複数のデジタ
    ル・プロセッサに関連するデジタル・メモリを有する並
    列コンピュータと共に用いるための誤り訂正システムで
    あって、 前記複数のデジタル・プロセッサの各々からそれぞれ得
    られた複数のデータ部分を有する単一のデータ語を発生
    する第1インターフェース手段と、 前記単一のデータ語に応答して単一の誤り訂正コードを
    発生する誤り符号化手段と、 前記単一のデータ語および関連する単一の誤り訂正コー
    ドを前記デジタル・メモリに同時に書込む第2インター
    フェース手段と、 前記デジタル・メモリに記憶された単一のデータ語およ
    び関連する単一の誤り訂正コードを前記デジタル・メモ
    リから同時に読出す記憶手段と、 前記デジタル・メモリから読み出された単一のデータ語
    および関連する単一の誤り訂正コードを受け、当該関連
    する単一の誤り訂正コードに応答して当該単一のデータ
    語における誤りを検出し、およびその検出された誤りに
    応じて当該単一のデータ語における検出された誤りを訂
    正して、訂正されたデータ語を発生する誤り検出および
    訂正手段と、 前記訂正されたデータ語の複数のデータ部分を前記複数
    のデジタル・プロセッサの各対応するひとつに供給する
    第3インターフェース手段と を具え、前記単一のデータ語は、単一の誤り訂正コード
    を発生するために、前記複数のデジタル・プロセッサか
    らの複数のデータ部を集めることにより発生されること
    を特徴とする誤り訂正システム。 2.前記複数のデジタル・プロセッサを並列処理を行う
    ように関連づけたことを特徴とする特許請求の範囲第1
    項記載の誤り訂正システム。 3.前記デジタル・メモリは複数の記憶領域を有し、該
    記憶領域の各々を、前記複数のデジタル・プロセッサの
    それぞれ対応するひとつと関連づけたことを特徴とする
    特許請求の範囲第1項または第2項記載の誤り訂正シス
    テム。 4.前記複数の記憶領域を単一の記憶アドレスに属する
    複数の対応するセグメントから構成し、該記憶アドレス
    の1つのセグメントを、全体として前記記憶アドレスの
    その他の複数のセグメントに記憶されるデータ語全体に
    対応する各誤り訂正コードのために割当てたことを特徴
    とする特許請求の範囲第3項記載の誤り訂正システム。 5.前記誤り訂正コードは単一のパリティビットから構
    成されていることを特徴とする特許請求の範囲第1項な
    いし第4項のいずれかに記載の誤り訂正システム。 6.前記誤り訂正コードは複数のビットから構成されて
    いることを特徴とする特許請求の範囲第1項ないし第4
    項のいずれかに記載の誤り訂正システム。 7.それぞれ各データ語のひとつのデータ部分を処理す
    る複数のデジタル・プロセッサおよび該複数のデジタル
    ・プロセッサに関連するデジタル・メモリを有する並列
    コンピュータと共に用いるための誤り訂正方法であっ
    て、 前記複数のデジタル・プロセッサの各々からそれぞれ得
    られた複数のデータ部分を有する単一のデータ語を発生
    するステップと、 前記単一のデータ語に応答して単一の誤り訂正コードを
    発生するステップと、 前記単一のデータ語および関連する単一の誤り訂正コー
    ドを前記デジタル・メモリに同時に書込むステップト、 前記デジタル・メモリ記憶された単一のデータ語および
    関連する単一の誤り訂正コードを前記デジタル・メモリ
    から同時に読出すステップと、 前記デジタル・メモリから読み出された単一のデータ語
    および関連する単一の誤り訂正コードを受け、当該関連
    する単一の誤り訂正コードに応答して当該単一のデータ
    語における誤りを検出し、およびその検出された誤りに
    応じて当該単一のデータ語における検出された誤りを訂
    正して、訂正されたデータ語を発生するステップと、 前記訂正されたデータ語の複数のデータ部分を前記複数
    のデジタル・プロセッサの各対応するひとつに供給する
    ステップと を具え、前記単一のデータ語は、単一の誤り訂正コード
    を発生するために、前記複数のデジタル・プロセッサか
    らの複数のデータ部を集めることにより発生されること
    を特徴とする誤り訂正方法。 8.前記複数のデジタル・プロセッサを並列処理を行う
    ように関連づけたことを特徴とする特許請求の範囲第7
    項記載の誤り訂正方法。 9.前記デジタル・メモリは複数の記憶領域を有し、該
    記憶領域の各々を、前記複数のデジタル・プロセッサの
    それぞれ対応するひとつと関連づけたことを特徴とする
    特許請求の範囲第7項または第8項記載の誤り訂正方
    法。 10.前記複数の記憶領域を単一の記憶アドレスに属す
    る複数の対応するセグメントから構成し、該記憶アドレ
    スの1つのセグメントを、全体として前記記憶アドレス
    のその他の複数のセグメントに記憶されるデータ語全体
    に対応する各誤り訂正コードのために割当てたことを特
    徴とする特許請求の範囲第9項記載の誤り訂正方法。 11.前記誤り訂正コードは単一のパリティビットから
    構成されていることを特徴とする特許請求の範囲第7項
    ないし第10項のいずれかに記載の誤り訂正方法。 12.前記誤り訂正コードは複数のビットから構成され
    ていることを特徴とする特許請求の範囲第7項ないし第
    10項のいずれかに記載の誤り訂正方法。
JP62231967A 1986-09-15 1987-09-16 誤り訂正システムおよび方法 Expired - Lifetime JP2738687B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/907,671 US4791641A (en) 1986-09-15 1986-09-15 Parallel processor error checking
US907671 1986-09-15

Publications (2)

Publication Number Publication Date
JPS6394353A JPS6394353A (ja) 1988-04-25
JP2738687B2 true JP2738687B2 (ja) 1998-04-08

Family

ID=25424453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62231967A Expired - Lifetime JP2738687B2 (ja) 1986-09-15 1987-09-16 誤り訂正システムおよび方法

Country Status (7)

Country Link
US (1) US4791641A (ja)
EP (1) EP0261031B1 (ja)
JP (1) JP2738687B2 (ja)
AT (1) ATE106582T1 (ja)
AU (1) AU7820987A (ja)
CA (1) CA1292579C (ja)
DE (1) DE3789929T2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3706734C1 (de) * 1987-03-02 1988-03-17 Force Computers Gmbh Verfahren zur UEbertragung von Daten sowie Computer
US5170482A (en) * 1987-08-14 1992-12-08 Regents Of The University Of Minnesota Improved hypercube topology for multiprocessor computer systems
DE68923736T2 (de) * 1988-05-27 1996-03-21 Philips Electronics Nv Dekoder für Hamming kodierte Daten.
US5283791A (en) * 1988-08-02 1994-02-01 Cray Research Systems, Inc. Error recovery method and apparatus for high performance disk drives
US5218689A (en) * 1988-08-16 1993-06-08 Cray Research, Inc. Single disk emulation interface for an array of asynchronously operating disk drives
US5146461A (en) * 1989-11-13 1992-09-08 Solbourne Computer, Inc. Memory error correction system distributed on a high performance multiprocessor bus and method therefor
US5170370A (en) * 1989-11-17 1992-12-08 Cray Research, Inc. Vector bit-matrix multiply functional unit
EP0509055A4 (en) * 1990-01-05 1994-07-27 Maspar Computer Corp Parallel processor memory system
US5280474A (en) * 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
US5442797A (en) * 1991-12-04 1995-08-15 Casavant; Thomas L. Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging
EP0577813B1 (en) * 1992-01-24 1998-03-25 Digital Equipment Corporation Databus parity and high speed normalization circuit for a massively parallel processing system
EP0800133A1 (en) * 1992-01-24 1997-10-08 Digital Equipment Corporation Databus parity and high speed normalization circuit for a massively parallel processing system
US5524212A (en) * 1992-04-27 1996-06-04 University Of Washington Multiprocessor system with write generate method for updating cache
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US5432801A (en) * 1993-07-23 1995-07-11 Commodore Electronics Limited Method and apparatus for performing multiple simultaneous error detection on data having unknown format
US5771247A (en) * 1994-10-03 1998-06-23 International Business Machines Corporation Low latency error reporting for high performance bus
US6101599A (en) * 1998-06-29 2000-08-08 Cisco Technology, Inc. System for context switching between processing elements in a pipeline of processing elements
US6356548B1 (en) 1998-06-29 2002-03-12 Cisco Technology, Inc. Pooled receive and transmit queues to access a shared bus in a multi-port switch asic
US6119215A (en) * 1998-06-29 2000-09-12 Cisco Technology, Inc. Synchronization and control system for an arrayed processing engine
US6513108B1 (en) 1998-06-29 2003-01-28 Cisco Technology, Inc. Programmable processing engine for efficiently processing transient data
US6836838B1 (en) 1998-06-29 2004-12-28 Cisco Technology, Inc. Architecture for a processor complex of an arrayed pipelined processing engine
US6195739B1 (en) 1998-06-29 2001-02-27 Cisco Technology, Inc. Method and apparatus for passing data among processor complex stages of a pipelined processing engine
US6728839B1 (en) 1998-10-28 2004-04-27 Cisco Technology, Inc. Attribute based memory pre-fetching technique
US6175941B1 (en) 1998-12-08 2001-01-16 Lsi Logic Corporation Error correction apparatus and associated method utilizing parellel processing
US6173386B1 (en) 1998-12-14 2001-01-09 Cisco Technology, Inc. Parallel processor with debug capability
US6385747B1 (en) 1998-12-14 2002-05-07 Cisco Technology, Inc. Testing of replicated components of electronic device
US6920562B1 (en) 1998-12-18 2005-07-19 Cisco Technology, Inc. Tightly coupled software protocol decode with hardware data encryption
US6529983B1 (en) 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US6681341B1 (en) 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
US6892237B1 (en) 2000-03-28 2005-05-10 Cisco Technology, Inc. Method and apparatus for high-speed parsing of network messages
US6505269B1 (en) 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US7447872B2 (en) * 2002-05-30 2008-11-04 Cisco Technology, Inc. Inter-chip processor control plane communication
RU2513773C1 (ru) 2010-04-02 2014-04-20 3М Инновейтив Пропертиз Компани Фильтрующая система, включающая структурированные оптические датчики аналитов и оптические считывающие устройства
JP2020198044A (ja) * 2019-06-05 2020-12-10 富士通株式会社 並列処理装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3660646A (en) * 1970-09-22 1972-05-02 Ibm Checking by pseudoduplication
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4215395A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Dual microprocessor intelligent programmable process control system
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension
US4240156A (en) * 1979-03-29 1980-12-16 Doland George D Concatenated error correcting system
US4255808A (en) * 1979-04-19 1981-03-10 Sperry Corporation Hard or soft cell failure differentiator
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
US4314350A (en) * 1979-12-31 1982-02-02 Bell Telephone Laboratories, Incorporated Self-checking arithmetic unit
US4371930A (en) * 1980-06-03 1983-02-01 Burroughs Corporation Apparatus for detecting, correcting and logging single bit memory read errors
US4345328A (en) * 1980-06-30 1982-08-17 Sperry Corporation ECC Check bit generation using through checking parity bits
JPS57100698A (en) * 1980-12-15 1982-06-22 Fujitsu Ltd Error correction system
US4414669A (en) * 1981-07-23 1983-11-08 General Electric Company Self-testing pipeline processors
US4473902A (en) * 1982-04-22 1984-09-25 Sperrt Corporation Error correcting code processing system
JPS5985153A (ja) * 1982-11-08 1984-05-17 Hitachi Ltd 冗長化制御装置
US4604750A (en) * 1983-11-07 1986-08-05 Digital Equipment Corporation Pipeline error correction
JPH0654505B2 (ja) * 1983-12-23 1994-07-20 株式会社日立製作所 並列型演算処理装置

Also Published As

Publication number Publication date
AU7820987A (en) 1988-03-17
EP0261031A3 (en) 1989-11-02
ATE106582T1 (de) 1994-06-15
DE3789929D1 (de) 1994-07-07
US4791641A (en) 1988-12-13
EP0261031A2 (en) 1988-03-23
EP0261031B1 (en) 1994-06-01
JPS6394353A (ja) 1988-04-25
CA1292579C (en) 1991-11-26
DE3789929T2 (de) 1994-09-08

Similar Documents

Publication Publication Date Title
JP2738687B2 (ja) 誤り訂正システムおよび方法
US4849978A (en) Memory unit backup using checksum
EP0535086B1 (en) Multiple error correction in a computer memory
US6018817A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US5142540A (en) Multipart memory apparatus with error detection
JP4071940B2 (ja) メモリ設計のための共有式誤り訂正
US5701313A (en) Method and apparatus for removing soft errors from a memory
US4651321A (en) Apparatus for reducing storage necessary for error correction and detection in data processing machines
US6751769B2 (en) (146,130) error correction code utilizing address information
EP0052216B1 (en) Data storage systems
US5007053A (en) Method and apparatus for checksum address generation in a fail-safe modular memory
US4458349A (en) Method for storing data words in fault tolerant memory to recover uncorrectable errors
US5768294A (en) Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
EP1087296B1 (en) Word width selection for SRAM cache
US5757823A (en) Error detection and correction for four-bit-per-chip memory system
US5761221A (en) Memory implemented error detection and correction code using memory modules
US4918695A (en) Failure detection for partial write operations for memories
JP3116827B2 (ja) キャッシュメモリ制御装置
US7392347B2 (en) Systems and methods for buffering data between a coherency cache controller and memory
US6631489B2 (en) Cache memory and system with partial error detection and correction of MESI protocol
US6901552B1 (en) System for storing data words in a RAM module
JPH113290A (ja) メモリ制御方式
JPH06230990A (ja) 符号誤りの識別、補正方法及び装置
JP2930239B2 (ja) 記憶装置の障害検出方法及び記憶制御装置
SU765886A1 (ru) Устройство дл коррекции ошибок в блоке пам ти

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080116

Year of fee payment: 10