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
Links
- 238000012937 correction Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims description 21
- 230000015654 memory Effects 0.000 claims abstract description 106
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 abstract description 13
- 238000001514 detection method Methods 0.000 description 10
- 210000004027 cell Anatomy 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 210000000352 storage cell Anatomy 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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進数の
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……出力バス。
クセス・メモリとの間のデータの流れ及び制御を示す一
般化ブロック線図、 第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)
- (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項のいずれかに記載の誤り訂正方法。
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)
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)
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 | 株式会社日立製作所 | 並列型演算処理装置 |
-
1986
- 1986-09-15 US US06/907,671 patent/US4791641A/en not_active Expired - Fee Related
-
1987
- 1987-09-09 AU AU78209/87A patent/AU7820987A/en not_active Abandoned
- 1987-09-09 CA CA000546500A patent/CA1292579C/en not_active Expired - Lifetime
- 1987-09-15 EP EP87402061A patent/EP0261031B1/en not_active Expired - Lifetime
- 1987-09-15 AT AT87402061T patent/ATE106582T1/de active
- 1987-09-15 DE DE3789929T patent/DE3789929T2/de not_active Expired - Fee Related
- 1987-09-16 JP JP62231967A patent/JP2738687B2/ja not_active Expired - Lifetime
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 |