JP3654655B2 - データ処理システム - Google Patents
データ処理システム Download PDFInfo
- Publication number
- JP3654655B2 JP3654655B2 JP26601691A JP26601691A JP3654655B2 JP 3654655 B2 JP3654655 B2 JP 3654655B2 JP 26601691 A JP26601691 A JP 26601691A JP 26601691 A JP26601691 A JP 26601691A JP 3654655 B2 JP3654655 B2 JP 3654655B2
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- code
- processing unit
- word
- data
- 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 - Fee Related
Links
Images
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/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/1012—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 codes or arrangements adapted for a specific type of error
- G06F11/1028—Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
-
- 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/182—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Hardware Redundancy (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【0001】
【技術分野】
本発明は、1個のコード語中の少なくとも2個の記号に対して単一の記号誤り訂正可能性及び複数の誤り修正可能性を有する100%冗長4記号コード語のコードに基づくデータ処理システムであって、
a.コード語を受信するとともにそのコード語から2個の記号のデータ語を取得する入力部を有するデコーダ段と、
b.前記デコーダ段に接続され、前記データ語を処理し、メモリアドレス及び他のデータ語を展開するプロセッサ段と、
c.複数のエンコーダモジュールを有し、前記データ語の選択の各々の同一データ語のバージョンを前記デコーダ段から意図的に受信し、各エンコーダモジュールで、互いに相違するコード記号への復号化を行う符号化段と、
d.前記エンコーダモジュールのうちの対応するものにそれぞれ接続した複数のメモリモジュールを有し、前記メモリアドレスの制御の下で、関連のコード語の全てのコード記号の読出し及び書き込みを行う記憶段と、
e.前記メモリモジュールに接続され、読み出された任意のコード語を前記デコーダ段に帰還する帰還手段とを具えるデータ処理システムに関するものである。
【0002】
【背景技術】
米国特許番号第4512020号(特願昭57−164,813号:データ処理装置及びマルチプレクサ計算機システム)、特にその図24は、全体のシステムを不作動状態にすることなく1個のモジュールの故障を許容する4個のモジュールのシステムを記載している。コード語の記号は、4ビットに関して、一様な長さの複数ビットを有する。訂正可能とは、任意の外乱を定量的に決定できるとともにそれに応じて復元できることを意味する。その結果、「どこに」外乱が生じるか及び「何が」外乱であるかの質問に回答がなされる。単一ビットのレベルでは、これら二つの概念は同一である。複数ビットの記号のレベルでは、外乱を受けた記号の指示は、訂正を実現するための最初のステップにすぎない。一方、修正可能とは、誤りの影響を取るに足らないものにできることを意味すると理解されている。これは、完全な訂正に加えて、無効なすなわち「消去された」1個以上の特定の記号が現れるおそれを伴い、その結果、その記号はコード語のデータ内容を検索することができない。当然、そのような消去によって、コード語の残りの部分が他の外乱に対して強固でなくなる。更に高いレベルでは、修正可能性は、コードの適切なレベルにおいて誤りの検出のみに制約されるおそれがある。この場合、有効に採られる手段は、ソフトの誤りを意識しないと推定する動作の再試行、バックグランドメモリのような高レベルの権限に対するリソース又は出くわした未訂正に対する保護を行うことである。
【0003】
【発明の開示】
(4,2)コードは通常、4モジュールシステムにおいてマップされ、その結果、任意の符号の誤りはモジュールの誤りに対応し、その逆も成り立つ。ハードウェアは、電話交換制御のような安全システムにおける使用に魅力的である。本発明の目的は、特に、上記(4,2)システム及びそれに匹敵するシステム、モジュールと記号との間の直接的な対応が放棄された他の形態、拡張したシステム又は良好なコスト対結果を実現する更に制約された形態に対して適用されたモジュラハードウェアを用いることである。標準的なハードウェアを使用することの他の利点は、開発費をそのようなハードウェアの多数のコピーに割り当て、これによって全体に亘る価格を低下させる。
【0004】
その態様の一つによれば、本発明は、冒頭で説明したデータ処理システムにおいて、前記データ処理システムが、少なくとも1個のデータ処理ユニットを有し、そのユニットのうちの任意のものが、2個以上かつ4個未満の互いに相違するエンコーダモジュールを有し、そのエンコーダモジュールが、前記バージョンの一つを一括して処理する対応したデータ処理ユニットに並列接続され、前記データ処理ユニットの各メモリモジュールに、前記対応するデータ処理ユニットで展開したデータ語バージョンの論理和記号をそれぞれ格納することを特徴とするデータ処理システムを提供する。
【0005】
単一データ処理モジュールの故障又は機能不全は、従来に比べて重大な影響を有するようになっている。一方、コード記号レベルの機能不全に対する本発明の強固さは、従来と比較され、同時に、後に説明するような容易に評価できる形態の柔軟性を提供する。
【0006】
上記説明では、(n,k)=(4,2)コードを取り扱っているが、(6,4),(8,4)及び(8,5)コードのような他のコードに対しても同様な考察を適用することができ、適用できるコードはこれらのコードに限定されない。これらコードは、語ごとに多数の記号を有するので、当業者には容易に理解できるように、保護の目安が大きくなり若しくは高効率(=低い部分的な冗長度)を有し、(多数の個別の記号の間でデータビットを分割する)更に短い記号を許容し、又はそれらを組み合わせた利点を有する。それにもかかわらず、(4,2)コードと同一の利益を実現する。当業者は、記号のビット長に応じたn,kの最大値を認識する。
【0007】
その結果、本発明の広い態様によれば、k記号情報量を表すn記号コード語をコード語ごとに有するコードに基づくデータ処理システムであって、
n−k≧2及びk≧2とし、1個のコード語中の少なくとも2個の少なくとも2個の記号に対して少なくとも単一記号の誤り訂正可能性及び複数の誤り修正可能性を同時に有し、
a.コード語を受信するとともにそのコード語からk個の記号のデータ語を取得する入力部を有するデコーダ段と、
b.前記デコーダ段に接続され、前記データ語を処理し、メモリアドレス及び他のデータ語を展開するプロセッサ段と、
c.複数のエンコーダモジュールを有し、前記データ語の選択の各々の同一データ語のバージョンを前記デコーダ段から意図的に受信し、各エンコーダモジュールで、互いに相違するコード記号への復号化を行う符号化段と、
d.前記エンコーダモジュールのうちの対応するものにそれぞれ接続した複数のメモリモジュールを有し、前記メモリアドレスのうちの関連のメモリアドレスの制御の下で、前記関連のコード語の全てのコード記号の読出し及び書き込みを行う記憶段と、
e.前記メモリモジュールに接続され、読み出された任意のコード語を前記デコーダ段に帰還する帰還手段とを具えるデータ処理システムにおいて、
前記データ処理システムが、少なくとも1個のデータ処理ユニットを有し、そのユニットのうちの任意のものが、2個以上かつn個未満の互いに相違するエンコーダモジュールを有し、そのエンコーダモジュールが、前記バージョンの一つを一括して処理する対応したデータ処理ユニットに並列接続され、前記データ処理ユニットの各メモリモジュールに、前記対応するデータ処理ユニットで展開したデータ語バージョンの論理和記号をそれぞれ格納することを特徴とするデータ処理システムを提供する。
【0008】
多重エンコーダモジュールは、米国特許番号第4633472号(特願昭58−195,399号:マルチプレクサ計算機装置及びそこで使用されている計算機モジュール)に記載されている。ここでは、最初に引用した従来技術による標準的な4,2システムにおいて、各ユニットは、局所的に発生したデータ語からコード記号を発生させて標準的なローカルメモリモジュールに格納するための標準的なエンコーダモジュールを有する。さらに、特にI/Oのために、第2メモリモジュールが第2エンコーダモジュール及び相補的なデコーダモジュールとともに存在する。しかしながら、そのように符号化された記号は、第2メモリモジュールに格納するために使用され、一括して復号化するために第1メモリモジュールから読み出されたコード記号と組み合わせて使用されない。その結果、この特定の参照文献は、データ語レベルで相互に非同期状態で作動する2個のエンコーダモジュールを有する。本発明によれば、複数のエンコーダモジュールは、他の機能をそれぞれ代わりに果たすために存在するのではなく、単一のデータ語の内容すなわち理論的又は意図的に同一とする必要がある単一のデータ語又は2(以上)のデータ語に基づいて機能する。少なくともデータ処理ユニットのレベルで(4,2)コードを用いる場合、誤り修正可能性は、完全な(4,2)システムに比べて低くなる。
【0009】
本発明の他の態様によれば、少なくとも(12,8,3)ハミングコードに等しい誤り保護機能で50%冗長コード後を格納する3個の互いに相違するエンコーダモジュールを有する単一の処理ユニットを具えることを特徴とするデータ処理システムを提供する。後に説明するように、柔軟な修正可能性は、同一の冗長性を有する(12,8,3)ハミングコードに対して十分に向上する。
【0010】
本発明の他の態様によれば、各々が2個の独自のエンコーダモジュールを有する2個の処理ユニットを具え、そのエンコーダモジュールがそれぞれ、100%冗長コード語を格納する間関連のモメリモジュールに接続して、任意の2ビット誤りパターンを訂正可能にし、消去された第1の記号の存在の下で、第2の記号の任意の誤りを検出可能にし又はそのような第2の記号の任意の単一ビット誤りを訂正可能にし、前記メモリモジュールに関連したデータワードを任意の2コード記号から検索可能にしたことを特徴とするデータ処理システムを提供する。このようにして、記号レベルにおいて、(4,2)システムと同一の保護が行われ、ユニットレベルにおいて、保護が少なくなり、これは、プロセッサコストを減少させることによって軽減される。
【0011】
本発明の他の態様によれば、前記データ処理ユニットが、第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットを具え、これら第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットがそれぞれ、第1データ処理ユニットと第3データ処理ユニットとの間又は第2データ処理ユニットと第4データ処理ユニットとの間で独自の2個のエンコーダモジュールを有し、前記100%冗長コード語の二つの同一バージョンを格納する関連のメモリモジュールに接続し、そのようなコード語が、前記第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットの各々から1個のコード語を取得するとともに、前記データ処理ユニットのうちの任意のものへの帰還を可能とし、前記第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットのうちの任意の1個が不能状態の下で、任意のコード語を、前記メモリモジュールに完全に格納したことを特徴とするデータ処理システムを提供する。このようにして、擬似的な4倍の(4,2)システムに比べて誤り保護が更に向上した4倍システムを実現する。
【0012】
本発明の他の態様によれば、前記データ処理システムが、3個のデータ処理ユニットを有し、そのユニットの各々が、1個の独自のエンコーダモジュールを有し、そのエンコーダモジュールが、エミュレートされた50%データ語バージョンに基づいて3個のコード記号を一斉に発生させる対応するデータ処理モジュールに並列接続され、任意の処理ユニットが、3個のコード記号及びダミーコード語の記号を受信するとともにダミーデータ語の記号を出力するデコーダモジュールを有することを特徴とするデータ処理システムを提供する(4,2)システムのアプリケーションを提供する。ダミー記号を使用したとしても、基本的な(3,1)システムが、標準的な(4,2)システムと同一のハードウェアに基づいて実現され、容易に考えられる最適な(3,1)システムと同程度に良好な誤り保護機能を有する。
【0013】
ここで説明したように(4,2)システム上で見出された種々の表現に加えて、n−k≧2,k≧2又はn>4を有する他の(n,k)システムに対して同様なバージョンを構築することができ、かつ、(リード−ソロモンコードのような)線形な記号の訂正可能性に加えて、他の拡張した誤り訂正機能を、ビット非記号レベル上の追加の誤り保護に起因して構築することができる。実際には、このような追加の誤り保護は、ビットで計数された実際の記号長に対して用いることができる数に比べて小さい記号数で実現可能である。例えば、(6,4)コードを、5個のエンコーダモジュールを有する1個のユニット、それぞれが2個のエンコーダモジュールを有する3個のユニット又は各々が2個のエンコーダユニットを有する6個のユニットとして用いることができる。(8,4)コードを、6若しくは7個のエンコーダモジュールを有する1個のユニット、各々が4個のエンコーダモジュールを有する2個のユニット又は各々が2個のエンコーダもジュークを有する4個のユニットとして用いることができる。図5を参照して後に説明する(6,4)コードは、各々が1個のエンコーダモジュール及び3個のダミー記号を有する5個のユニットを有する。(8,4)コードは、各々が1個のエンコーダモジュール及び3個のダミー記号を有する7個のユニットを有する。他の多数の実現は、(n,k)システム技術の作業者に明らかである。一般に、(n,k)コードを、種々の(m,l)システムを構築するのに使用することができ、この場合、I≦m≦n及び1≦l≦kである。
【0014】
本発明の好適な実施例を、図面を参照して説明する。
【0015】
【実施例】
コンピュータシステムにおいて、信頼性を向上させるためにしばしば誤り訂正コードが使用される。その一例は、メモリから受信したデータの単一ビット誤りを訂正するハミングコードである。
【0016】
しかしながら、一般的なアプローチは(n,k)概念のコンピュータである。このアプローチは、プロセッサの冗長性とメモリの冗長性との間の比を選択する機会を与える。これは、n及びkに対して適切な値を選択することによってコストに対する信頼性を最適化できることを意味する。
【0017】
例えば、n=3及びk=1となるように値を選択すると、TMR(3モジュール冗長)システムが得られる。この場合、全てのハードウェアは3倍になる。n=4及びk=2となるように値を選択すると、(4,2)概念のシステムが得られる。この場合、プロセッサ論理は4倍となるが、メモリは2倍となるだけである。システムのうちの最も高価な部分は、通常、メモリである。したがって、(4,2)概念のコンピュータのコストを、(3,1)概念のコンピュータのコストより低くすることができる。
【0018】
(n,k)概念のコンピュータにおいて、誤り訂正/検出コードが用いられる。このコードは、(n,k)コードと称される。従来のTMRシステムに対して、反復コードが用いられる。このコードは最適ではない。(4,2)概念に対して、(4,2)コードが用いられる。(4,2)概念及び(4,2)コードの特性は、最初に説明した参考文献に記載されている。
【0019】
(4,2)コードを、他のシステムにおいても効果的に用いることができる。今後、一般的には(4,2)コードを用いる。単一ユニットのシステムでは、ハミングコードの代わりに(4,2)コードを用いることが示されている。また、(2,1)概念の(2倍)システムにおける(4,2)コードの利点も説明されている。(3,1)概念のコンピュータにおいても(4,2)コードを用いることができることを示している。(4,2)概念のコンピュータの使用についての簡単な説明を行う。
【0020】
ここで説明する方法は、1≦m≦nかつ1≦l≦kの場合、(n,k)コード及び(m,l)概念のシステムの組合せの使用に一般化することができる。しかしながら、n,k,m及びlの値に応じて、互いに相違する特性が現れる。方法の一例を説明する。
【0021】
以下、4ビット記号に対する(4,2)概念のコンピュータの簡単な説明を最初に行う。以後、(4,2)コードの特性の概念を説明する。(4,2)概念のコンピュータは、4個のユニットから構成される(図1参照)。20のような各ユニットは、一連の4記号入力2記号出力デコーダモジュール22、プロセッサモジュール24、エンコーダモジュール26及びメモリモジュール28を具える。メモリモジュール28のデータ入力は、エンコーダモジュール26から供給される。アドレス入力30をエンコーダモジュール26から供給する必要はない。その理由は、アドレス入力30がメモリアドレス間のシャフリングのみを表し、利用できるアドレス範囲が減少するからである。簡潔のために、制御経路及び4個のユニット間の相互の同期を示さない。(n,k)概念のコンピュータではn個のモジュールが同期をとるとともに決定性を有するように設計されているものと仮定される。以下、プロセッサ/メモリ通信のみを説明する。外部のシステムとの通信を説明しない。
【0022】
書込み中、各プロセッサは、エンコーダを通じてメモリにデータを書き込む。エンコーダは、互いに相違する記号G0,G1,G2,G3によって表した各モジュールにおいて互いに相違する。このようにして、8ビットの情報が16ビットコード語に符号化される。しかしながら、各ユニットは、このコード語のうちの4ビット(コード記号)のみを格納する。プロセッサがメモリから情報を読み出すと、デコーダによって4記号が各ユニットで受信される。誤りの量が所定の最大値を超えない場合、デコーダは、各ユニットのプロセッサに対して原始情報を発生させる。しかしながら、実際には、各ユニットは、互いに相違する4個全てのエンコーダモジュールを実現するために同一のハードウェアを有することができ、これがシリコン領域の僅かな増加のみを示す限り、このことは、製造すべき互いに同一の回路(ユニット)の個数が4倍に増加する利点に優る。
【0023】
訂正し得る誤りの量は、(4,2)コードの特性によって与えられる。以下、(4,2)コードの最も重要な特性をリストする。次に、これらの特性は、(4,2)コードを他のシステムで使用する方法を決定する。ここで、4ビット記号に対するこれらの特性は以下の通りである。
1.任意の単一記号誤りの訂正。
2.任意の二重ビット誤りの訂正。
3.1記号が消去された場合、他の記号誤りを検出することができる。
4.1記号が消去された場合、単一ビット誤りを訂正することができる。
5.任意の2記号から原始情報を検索することができる。
6.2記号は原始情報の記号となる。
特性3から、消去された1個の記号を有するコード語の最小の記号重み(=零でないコード記号の個数)が2に等しくなることが観察される。
【0024】
単一ユニットのシステムにおける(4,2)コードの使用
(4,2)コードを、(12,8,3)ハミングコードの代わりとして単一ユニットのシステムで使用することができる。図2に示すような本発明によるシステムは、(1記号入力が使用されない)4記号デコーダ40と、プロセッサモジュール42と、各々が関連のメモリモジュール44,46,48に信号を供給する3個の互いに相違するエンコーダモジュールG0,G1,G2とを有する。これらは、プロセッサモジュール42によって再びアドレス指定される。ハミングコードシステムに関して、余分なコストが含まれず、記憶量は同一である。しかしながら、(4,2)コードの実現が更に提案されている。以下、単一システムにおける(4,2)コードの簡単な説明を行う。
【0025】
書込み中、8ビットの情報語は、エンコーダG0,G1,G2によって3通りの互いに相違する方法で符号化される。その結果、3通りの4ビットのコード記号となる。その各々は、関連のメモリモジュールに書込まれる。一般に、ユニット内では、種々のメモリモジュールを、更に大きなメモリユニットの(バンク又はブロックの)一部とすることができる。読出しサイクル中、3個のコード記号はデコーダによって受信される。デコーダは消去モードにある。それは、メモリに格納されなかった第4の記号を消去する。デコーダは、12ビットのコード語を、プロセッサに供給される8ビットの情報語に復号化する。
【0026】
以下の誤り検出/訂正機能をこのようにして利用することができる。
・単一ビット誤り訂正
・単一記号誤り検出
単一ビット誤り訂正は特性4から導き出される。これまで、ハミングコードを用いることによって全く同一の結果が得られた。しかしながら、ビット誤りが重大な誤りであるとわかる場合、デコーダを単一モードに切り替えるのは容易であり、その結果、2通りの4ビットの記号のみがデコーダの出力を決定する。このようにして、一つが不良である12ビットの代わりに、8ビットのみがデコーダの出力を決定する。その結果、他のビット誤りが原因で出力が誤りである可能性が、本来の可能性の8/11まで減少する。
【0027】
消去された1個の記号を有するコード語の記号重みが少なくとも2であることによって、単一記号誤りも検出できる(特性3)と結論付けられる。これは、各々が4ビット幅のメモリバンクとしてメモリを設計した場合に有用である。そのようなバンクの故障を検出することができる。
【0028】
(4,2)コードによる解決は、システムの設計者/ユーザが適切な方法を選択することによってシステムの信頼性を最大にすることができるという意味で柔軟である。これは、全体的にストラテジに依存する。ハードウェアは全く同一である。
【0029】
(2,1)概念における(4,2)コードの使用
図3は、(4,2)コードを2倍システムで好適に利用できる方法を示す。左側のユニットは、デコーダモジュール60と、プロセッサモジュール62と、アドレスバス64と、モメリモジュールM3,M2にそれぞれ接続したエンコーダモジュールG3,G2とを有する。右側のユニットは、メモリモジュールM1,M0にそれぞれ接続したエンコーダモジュールG1,G0を除いて構造的に同一である。当然、全てのメモリモジュールは構造的に同一である。ここで、同一のエンコーダ及びデコーダは、(4,2)概念のコンピュータのように2倍システムで用いられる。同一タイプの誤りによって同一動作とならないので、誤り制御のみが互いに相違する。2倍システムで用いられる(4,2)コードの利点は、誤りのタイプと故障又はシステムのデグラデーションのタイプとの間の関係に応じて設計者又はユーザがその誤り処理機構に適合できる点である。(4,2)コードの代案として(2,1)コードがある。しかしながら、(4,2)コードが最適である。その理由は、(4,2)コードが(2,1)コードとして使用されるからである。このセクションの残りの部分において、(4,2)コードを有する2倍システムのアーキテクチャを先ず説明する。以後、誤り処理機構の柔軟性を、複数例とともに説明する。
【0030】
(4,2)コードは4コード記号から構成される。任意の対のコード記号から原始情報を検索することができる(特性5)。2倍システムは2個のユニットから構成される。各ユニットは、プロセッサの書込みサイクル中に情報記号を2コード記号に符号化するために2個のエンコーダモジュールを有する。各ユニットは、互いに相違する2コード記号をメモリに書き込む。4コード記号はコード語を構成する。一方の対のコード記号がユニット0のメモリに書き込まれ、他方の対のコード記号がユニット1のメモリに書き込まれる。
【0031】
プロセッサの読出しサイクル中、4コード記号がデコーダの入力部でラッチされる。誤りが発生しない場合、両方のプロセッサモジュールは、同一の訂正情報を受信する。しかしながら、誤りが発生すると、デコーダが誤りを検出し、可能な場合には誤りを訂正する。以下、誤り検出の結果に関して3例を説明する。
【0032】
可能性の一つは、誤りの検出後、従来の2倍システムと全く同じことが行われる。誤りが発生すると直ぐに、処理を停止するとともに、診断プログラムによって故障を特定することを試みる。これは、2倍システムの基本手順である。(4,2)コードは、以下に示すように更なる柔軟性を示す(以下の表を参照のこと。)。
【表1】
【0033】
従来の2倍システムにおいて、メモリの単一ビット誤りを補正するためにハミングコードがしばしば使用されている。これによって、メモリのコストがワード長に応じて25−50%まで増大する。それは、8ビット語に対して50%となる。メモリがシステムの最も高価な部分であるので、これは、全体のコストに対して大きな影響を及ぼす。ここに提案するシステムにおいて、単一ビット誤り訂正に対してハミングコードを用いることができるが、そのようにする必要はない。実際には、ここに提案したシステムにおいても(メモリを増大させることなく)単一ビット誤り訂正を利用できる。
【0034】
(4,2)コードは単一ビット誤り又は2ビット誤りを訂正することができる。したがって、2倍システムにおいて訂正機能(の一部)を用いることができる。しかしながら、訂正機能(の一部)の使用が訂正誤り/検出誤りのおそれの増大も伴うことを理解すべきである。例えば、ユニットが故障した場合、ユニットによって二つの誤りのある記号が発生し、デコーダは、システムを停止させている間に単一ビット誤りを訂正する。単一ビット誤り訂正が用いられない場合、2記号誤りが検出される。
【0035】
三つの基本要素は、2倍システムの信頼性を決定する。
・診断プログラムのカバレージファクタ。
・ハードビット誤りとソフトビット誤りの両方及びチップ故障に対するメモリの信頼性。
・プロセッサ論理の信頼性。
2倍システムで(4,2)コードを用いることによって、コストを増大させる方法を用いることなく2倍システムの信頼性を最適にする機会を与える。結局、ハミングコードを用いないことを決定した場合、コストは低下する。
【0036】
4倍モジュラ冗長システム
図4は、4個のユニットから構成した4倍モジュラ冗長システムを示す。左側のユニットは、並列な2個の16ビットデコーダモジュールを有し、その各々は、8ビットの2記号のデータ語に変換するための16ビットコード語を受信する。当然、二つのデコーダモジュールを単一デコーダハードウェア80にマップすることができ、それは、二つの意図的に同一にしたコード語で交互に動作する。そのように発生した二つのデータ語は、当然意図的に同一とされる。二つのデータ語はプロセッサモジュール82で処理され、それを、並列な2個の同一の8ビットプロセッサモジュール又は第1及び第2の8ビットプロセッサを交互にエミュレートする8ビット幅の単一プロセッサモジュールとする。次に、処理結果は、それがメモリモジュールアドレスの場合、8ビットの結合幅のそれに関連したメモリモジュール84をアドレス指定する。図において、これを単一ブロックとして示す。物理的には、それを、個別に起動可能な二つのメモリバンク又は単一のメモリバンクとして実現することができる。処理結果がデータである場合、モジュールG3,G2が作動する。そのように発生したデータ語が奇数データ語である場合、それはエンコーダモジュールG3に供給される。データ語が偶数データ語である場合、それはエンコーダモジュールG2に供給される。第2処理ユニットは、「奇数」と「偶数」とを入れ替えた点を除いて第1処理ユニットと同一であり、それは、入れ替えた位置を有するエンコーダモジュールG3,G2によって表される。左側から3番目及び4番目の処理ユニットは、エンコーダモジュールG1,G0を除いて、それ以前の2個の処理ユニットと同一である。
【0037】
これまで説明したストラテジを実行するのに必要な他の論理を、簡単のために示さない。上記システムは、3,2/2,3/1,0/0,1に従って要約した各モジュールに対する記号の属性を有することができる。僅かに互いに相違する属性は、以下の通りである。
0,3/3,2/2,1/1,0
二つの形態はそれぞれ特有の利点を有する。第2のものは、2個のユニットが故障した際に、故障のパターンに関係なく互いに相違する三つのコード記号を処理する。以後、第1の形態を考慮する。
【0038】
ここで、一般に、4倍プロセッサ及び制御論理を、4倍メモリを用いることなく開発することができる。標準的な(4,2)概念のコンピュータは、例えば2倍の容量のメモリのみを有する。(4,2)コードを、4倍メモリを有する4倍システムでも用いることができる((4,1)概念のシステム)。以下、(4,2)概念のコンピュータと4倍システムとの間の違いを最初に説明する。以下、(4,1)概念のシステムにおける(4,2)コードの使用の(不)利益を説明する。
【0039】
(4,2)概念のコンピュータと4倍システムとの間の主な違いは、コスト及びデグラデーション適応性である。
【0040】
4倍システムのコストは単一ユニットシステムのコストの4倍となる。(4,2)概念のコンピュータのコストは、メモリが最も高価な部分であるために単一ユニットシステムのコストの2−3倍となる。(4,2)概念のコンピュータは、1個のユニットの故障を許容し、動作中の3個のユニットを有するシステムへの切替を行う。故障中のユニットが既知でない場合、故障中のユニットを更に許容することができない。
【0041】
4倍システムは、1個のユニットの故障を許容することができ、この場合、3倍システムへの切替を行う。それは、故障したユニットの他のユニットに対するメッセージが一貫性のない、すなわち、他のユニットが実際に受信した情報に同意しない場合を除いて、3倍システムとして別の1個のユニットの故障を許容する。動作するユニットが2個しか残らない場合、システムは、2倍(フェールセーフ)システムとして動作することができる。その結果、4倍システムは、(4,2)概念のシステムよりも信頼性があるが、(4,2)概念のシステムよりも(2倍まで)高価なものとなる。(4,2)コードを使用しうる方法は、各ユニットのコード記号の重複によるものではない。互いに相違する2個のエンコーダの記号を1個のユニットにマップする方法の一つを図4に示す。
【0042】
しかしながら、TMRシステムを通じた4倍システムの2倍システムへのデグラデーションは、以下説明するように複雑なプロセスとなる。1個のユニットの各デコーダモジュールは、単一記号誤りを訂正することができる。その結果、1個のユニットが故障するおそれがある。この場合、各々が3記号からなる二つのコード語が残される。互いに相違するユニットのデコーダモジュール間の通信が可能でない場合、ユニットの故障を更に許容することができない。しかしながら、1個のユニットからの二つのコード記号は常に原始情報を表す。二つのコード語の6個のコード記号は常に少なくとも符号重み4を有し、それは、単一記号誤りを常に訂正できるとともに第2の誤りを常に検出できることを意味する。6個のコード記号を結合することによって、1個のユニットの故障を再び許容することができる。ユニットが故障する場合、これは、システムが2倍システムにデグラデーションすることを意味する。
【0043】
4倍システムにおいて(4,2)コードを使用することによって、システムの設計者/ユーザに対して再び柔軟性を与える。しかしながら、4倍アーキテクチャの復号化形態は、最大の訂正/検出機能を得る必要がある場合には特に複雑となる。
【0044】
種々のユニットに対する種々のエンコーダモジュールの第2の属性を用いることによって、図4の配置を変更することができる。1個の故障ユニット及び3個の故障ユニットの状況に対して、状況は、上記機構と同一である。しかしながら、2個のユニットが故障すると、システムは常に、互いに相違するユニットからそれぞれ二つのうちの利用できる互いに相違する3個の2倍記号を有する。これによって、2倍記号が同一であるか否かに依存して種々のあり得るストラテジを提供するとともに、2倍記号の内外の種々のビット誤りの一部の修正可能性を提供する。
【0045】
エンコーダモジュールと処理ユニットとの他の全ての結合によって、記号のリナンバリングのみを減少させる。
【0046】
3個のユニットのシステムにおける(4,2)コードの使用
図5は、3個のユニットのシステムにおける(4,2)コードの使用を示す。左側のユニットは、標準的なデコーダ100と、プロセッサ102と、エンコーダモジュール104と、メモリモジュール106とを有する。他の2個のユニットは、図示したそれぞれが互いに相違するエンコーダモジュールG3,G2,G1の使用を除いて同一である。特に3倍モジュラ冗長(TMR)システム用にコードを設計したとしても、(4,2)コードは、最適な(3,1)コードと同程度に適切である。
【0047】
TMRシステムにおける(4,2)コードの使用への基本アプローチは、コードの短縮である。これは、以下のようにして実現することができる。4ビット情報語(ニブル)に対してデフォールトニブルを付加する。このようにしてバイト(8ビット)が得られる。それは、情報の4ビット及び値が予め既知の4ビット(すなわちダミー記号)から構成される。情報が予め既知であるニブルを、好適には3個のモジュールの各々において同一にする。図示した例に対して、省略値を零に選択し又は零にエミュレートする。バイトは、エンコーダに対する入力として用いられる。エンコーダモジュールによって、プロセッサの書込みサイクル中にメモリに格納される4ビットコード記号を発生させる。
【0048】
(4,2)コード語は、4個のコード記号からなる。コード記号のうちの1個は4ビット情報ニブルであり、それ以外のコード記号は、予め既知のニブルである(特性6)。読出し中、3個のコード記号はデコーダによって受信される。4番目の記号が予め既知であるので、4番目の記号もデコーダによって受信される。デコーダは、1個の記号を訂正することができる4個のコード記号を有する。これは、1個のモジュールの故障を許容できることを意味する。3個全てのモジュールが動作可能である場合、二つのランダムビット誤りを、コード語の16ビットで訂正することができる。コード語の1個の記号の値は常に同一である。その結果、二つのランダムビット誤りを12ビットのコード語で訂正することができる。
【0049】
1個のモジュールが故障するとともにデコーダが消去モードに切り替わると仮定する。この場合、システムは2倍システムへのデグラデーションを行う。3個の消去されていない記号のうちの1個は予め既知である。任意の誤りを常に検出することができる。その理由は、消去されたコード語の記号重みが少なくとも2となるからである。その結果、2倍システムが得られる。単一ビット誤り訂正に対して冗長の一部を使用するとともの記号誤り検出に対して残りの部分を使用することもできる。システムの設計者/ユーザは、図3を用いて既に説明したのと同様にシステムの信頼性を最大にする機会を有する。
【0050】
一般的な考察の一部
これまで、4ビット記号及び1..4プロセッサユニットに関して(4,2)コードを説明した。長い記号に対して、アプリケーションは同様であり、1ビット誤りレベル上では保護機能が増大する。
【0051】
A.一般的な(n,k)コードに対して、任意の個数iの記号が消去される(i≦n−k)。Lのデータ語長で、各エンコーダモジュールによって、L/kの記号長を発生させる。このコードは、適切な数のユニットを有する図2,3,4に従った形態で使用される。例えば、図1のシステムは、適切な誤り訂正を行う度に、任意の個数のエンコーダモジュールk,k+1...n−1を作動させる。
【0052】
B.他の可能性は図5に従うものであり、この場合、各ユニットは、デコーダモジュールの入力部、デコーダモジュールの出力部及びエンコーダモジュールの入力部において、i=1..k−1記号をダミー記号として取り扱う。図3に示すように、好適な値は零に等しくなる。全体のシステムは適切な個数のユニットを必要とし、用いられる(n,k)コードによって(n−i,k−i)システムまで減少する。
【0053】
一般的に図4に類似する他の解決では、ユニット中にi(iをk,nの共通因子とする。)個のエンコーダモジュールを追加するとともに関連のユニットで1個のプロセッサモジュールのみを使用する。
【0054】
D.図4に類似する他の方法では、任意のユニットでi個のエンコーダをシャッフルして使用する。この場合、iをnの因子とするが、kの因子とする必要はない。これによって、(n,k)コードを(n,k/i)コードに変換する。
【0055】
(4,2)コードの場合、これらA,B,C,Dの場合にはそれぞれ以下のようになる。
(4,2)→A→(3,2)
(4,2)→B→(3,1)
(4,2)→C→(2,1)
(4,2)→D→(4,1)
【0056】
(8,5)コードから開始する連続的なグレースフルデグラデーションの場合は、次のようにして実現される。
(8,5)→A→(7,5)→B→(6,4)→C→(3,2)→D→(3,1)
【図面の簡単な説明】
【図1】 通常の(4,2)システムを示す。
【図2】 単一ユニットのシステムの(4,2)コードの使用を示す。
【図3】 2個のユニットのシステムの(4,2)コードの使用を示す。
【図4】 (4,1)システムの(4,2)コードの使用を示す。
【図5】 3個のユニットのシステムの(4,2)コードの使用を示す。
【符号の説明】
20 ユニット
22,60 デコーダモジュール
24,42,62,82 プロセッサモジュール
26,104,G1,G2,G3 エンコーダモジュール
28,44,46,48,84,106 メモリモジュール
30 アドレス入力
40 4記号デコーダ
64 アドレスバス
80 単一デコーダハードウェア
100 標準デコーダ
102 プロセッサ
【技術分野】
本発明は、1個のコード語中の少なくとも2個の記号に対して単一の記号誤り訂正可能性及び複数の誤り修正可能性を有する100%冗長4記号コード語のコードに基づくデータ処理システムであって、
a.コード語を受信するとともにそのコード語から2個の記号のデータ語を取得する入力部を有するデコーダ段と、
b.前記デコーダ段に接続され、前記データ語を処理し、メモリアドレス及び他のデータ語を展開するプロセッサ段と、
c.複数のエンコーダモジュールを有し、前記データ語の選択の各々の同一データ語のバージョンを前記デコーダ段から意図的に受信し、各エンコーダモジュールで、互いに相違するコード記号への復号化を行う符号化段と、
d.前記エンコーダモジュールのうちの対応するものにそれぞれ接続した複数のメモリモジュールを有し、前記メモリアドレスの制御の下で、関連のコード語の全てのコード記号の読出し及び書き込みを行う記憶段と、
e.前記メモリモジュールに接続され、読み出された任意のコード語を前記デコーダ段に帰還する帰還手段とを具えるデータ処理システムに関するものである。
【0002】
【背景技術】
米国特許番号第4512020号(特願昭57−164,813号:データ処理装置及びマルチプレクサ計算機システム)、特にその図24は、全体のシステムを不作動状態にすることなく1個のモジュールの故障を許容する4個のモジュールのシステムを記載している。コード語の記号は、4ビットに関して、一様な長さの複数ビットを有する。訂正可能とは、任意の外乱を定量的に決定できるとともにそれに応じて復元できることを意味する。その結果、「どこに」外乱が生じるか及び「何が」外乱であるかの質問に回答がなされる。単一ビットのレベルでは、これら二つの概念は同一である。複数ビットの記号のレベルでは、外乱を受けた記号の指示は、訂正を実現するための最初のステップにすぎない。一方、修正可能とは、誤りの影響を取るに足らないものにできることを意味すると理解されている。これは、完全な訂正に加えて、無効なすなわち「消去された」1個以上の特定の記号が現れるおそれを伴い、その結果、その記号はコード語のデータ内容を検索することができない。当然、そのような消去によって、コード語の残りの部分が他の外乱に対して強固でなくなる。更に高いレベルでは、修正可能性は、コードの適切なレベルにおいて誤りの検出のみに制約されるおそれがある。この場合、有効に採られる手段は、ソフトの誤りを意識しないと推定する動作の再試行、バックグランドメモリのような高レベルの権限に対するリソース又は出くわした未訂正に対する保護を行うことである。
【0003】
【発明の開示】
(4,2)コードは通常、4モジュールシステムにおいてマップされ、その結果、任意の符号の誤りはモジュールの誤りに対応し、その逆も成り立つ。ハードウェアは、電話交換制御のような安全システムにおける使用に魅力的である。本発明の目的は、特に、上記(4,2)システム及びそれに匹敵するシステム、モジュールと記号との間の直接的な対応が放棄された他の形態、拡張したシステム又は良好なコスト対結果を実現する更に制約された形態に対して適用されたモジュラハードウェアを用いることである。標準的なハードウェアを使用することの他の利点は、開発費をそのようなハードウェアの多数のコピーに割り当て、これによって全体に亘る価格を低下させる。
【0004】
その態様の一つによれば、本発明は、冒頭で説明したデータ処理システムにおいて、前記データ処理システムが、少なくとも1個のデータ処理ユニットを有し、そのユニットのうちの任意のものが、2個以上かつ4個未満の互いに相違するエンコーダモジュールを有し、そのエンコーダモジュールが、前記バージョンの一つを一括して処理する対応したデータ処理ユニットに並列接続され、前記データ処理ユニットの各メモリモジュールに、前記対応するデータ処理ユニットで展開したデータ語バージョンの論理和記号をそれぞれ格納することを特徴とするデータ処理システムを提供する。
【0005】
単一データ処理モジュールの故障又は機能不全は、従来に比べて重大な影響を有するようになっている。一方、コード記号レベルの機能不全に対する本発明の強固さは、従来と比較され、同時に、後に説明するような容易に評価できる形態の柔軟性を提供する。
【0006】
上記説明では、(n,k)=(4,2)コードを取り扱っているが、(6,4),(8,4)及び(8,5)コードのような他のコードに対しても同様な考察を適用することができ、適用できるコードはこれらのコードに限定されない。これらコードは、語ごとに多数の記号を有するので、当業者には容易に理解できるように、保護の目安が大きくなり若しくは高効率(=低い部分的な冗長度)を有し、(多数の個別の記号の間でデータビットを分割する)更に短い記号を許容し、又はそれらを組み合わせた利点を有する。それにもかかわらず、(4,2)コードと同一の利益を実現する。当業者は、記号のビット長に応じたn,kの最大値を認識する。
【0007】
その結果、本発明の広い態様によれば、k記号情報量を表すn記号コード語をコード語ごとに有するコードに基づくデータ処理システムであって、
n−k≧2及びk≧2とし、1個のコード語中の少なくとも2個の少なくとも2個の記号に対して少なくとも単一記号の誤り訂正可能性及び複数の誤り修正可能性を同時に有し、
a.コード語を受信するとともにそのコード語からk個の記号のデータ語を取得する入力部を有するデコーダ段と、
b.前記デコーダ段に接続され、前記データ語を処理し、メモリアドレス及び他のデータ語を展開するプロセッサ段と、
c.複数のエンコーダモジュールを有し、前記データ語の選択の各々の同一データ語のバージョンを前記デコーダ段から意図的に受信し、各エンコーダモジュールで、互いに相違するコード記号への復号化を行う符号化段と、
d.前記エンコーダモジュールのうちの対応するものにそれぞれ接続した複数のメモリモジュールを有し、前記メモリアドレスのうちの関連のメモリアドレスの制御の下で、前記関連のコード語の全てのコード記号の読出し及び書き込みを行う記憶段と、
e.前記メモリモジュールに接続され、読み出された任意のコード語を前記デコーダ段に帰還する帰還手段とを具えるデータ処理システムにおいて、
前記データ処理システムが、少なくとも1個のデータ処理ユニットを有し、そのユニットのうちの任意のものが、2個以上かつn個未満の互いに相違するエンコーダモジュールを有し、そのエンコーダモジュールが、前記バージョンの一つを一括して処理する対応したデータ処理ユニットに並列接続され、前記データ処理ユニットの各メモリモジュールに、前記対応するデータ処理ユニットで展開したデータ語バージョンの論理和記号をそれぞれ格納することを特徴とするデータ処理システムを提供する。
【0008】
多重エンコーダモジュールは、米国特許番号第4633472号(特願昭58−195,399号:マルチプレクサ計算機装置及びそこで使用されている計算機モジュール)に記載されている。ここでは、最初に引用した従来技術による標準的な4,2システムにおいて、各ユニットは、局所的に発生したデータ語からコード記号を発生させて標準的なローカルメモリモジュールに格納するための標準的なエンコーダモジュールを有する。さらに、特にI/Oのために、第2メモリモジュールが第2エンコーダモジュール及び相補的なデコーダモジュールとともに存在する。しかしながら、そのように符号化された記号は、第2メモリモジュールに格納するために使用され、一括して復号化するために第1メモリモジュールから読み出されたコード記号と組み合わせて使用されない。その結果、この特定の参照文献は、データ語レベルで相互に非同期状態で作動する2個のエンコーダモジュールを有する。本発明によれば、複数のエンコーダモジュールは、他の機能をそれぞれ代わりに果たすために存在するのではなく、単一のデータ語の内容すなわち理論的又は意図的に同一とする必要がある単一のデータ語又は2(以上)のデータ語に基づいて機能する。少なくともデータ処理ユニットのレベルで(4,2)コードを用いる場合、誤り修正可能性は、完全な(4,2)システムに比べて低くなる。
【0009】
本発明の他の態様によれば、少なくとも(12,8,3)ハミングコードに等しい誤り保護機能で50%冗長コード後を格納する3個の互いに相違するエンコーダモジュールを有する単一の処理ユニットを具えることを特徴とするデータ処理システムを提供する。後に説明するように、柔軟な修正可能性は、同一の冗長性を有する(12,8,3)ハミングコードに対して十分に向上する。
【0010】
本発明の他の態様によれば、各々が2個の独自のエンコーダモジュールを有する2個の処理ユニットを具え、そのエンコーダモジュールがそれぞれ、100%冗長コード語を格納する間関連のモメリモジュールに接続して、任意の2ビット誤りパターンを訂正可能にし、消去された第1の記号の存在の下で、第2の記号の任意の誤りを検出可能にし又はそのような第2の記号の任意の単一ビット誤りを訂正可能にし、前記メモリモジュールに関連したデータワードを任意の2コード記号から検索可能にしたことを特徴とするデータ処理システムを提供する。このようにして、記号レベルにおいて、(4,2)システムと同一の保護が行われ、ユニットレベルにおいて、保護が少なくなり、これは、プロセッサコストを減少させることによって軽減される。
【0011】
本発明の他の態様によれば、前記データ処理ユニットが、第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットを具え、これら第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットがそれぞれ、第1データ処理ユニットと第3データ処理ユニットとの間又は第2データ処理ユニットと第4データ処理ユニットとの間で独自の2個のエンコーダモジュールを有し、前記100%冗長コード語の二つの同一バージョンを格納する関連のメモリモジュールに接続し、そのようなコード語が、前記第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットの各々から1個のコード語を取得するとともに、前記データ処理ユニットのうちの任意のものへの帰還を可能とし、前記第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットのうちの任意の1個が不能状態の下で、任意のコード語を、前記メモリモジュールに完全に格納したことを特徴とするデータ処理システムを提供する。このようにして、擬似的な4倍の(4,2)システムに比べて誤り保護が更に向上した4倍システムを実現する。
【0012】
本発明の他の態様によれば、前記データ処理システムが、3個のデータ処理ユニットを有し、そのユニットの各々が、1個の独自のエンコーダモジュールを有し、そのエンコーダモジュールが、エミュレートされた50%データ語バージョンに基づいて3個のコード記号を一斉に発生させる対応するデータ処理モジュールに並列接続され、任意の処理ユニットが、3個のコード記号及びダミーコード語の記号を受信するとともにダミーデータ語の記号を出力するデコーダモジュールを有することを特徴とするデータ処理システムを提供する(4,2)システムのアプリケーションを提供する。ダミー記号を使用したとしても、基本的な(3,1)システムが、標準的な(4,2)システムと同一のハードウェアに基づいて実現され、容易に考えられる最適な(3,1)システムと同程度に良好な誤り保護機能を有する。
【0013】
ここで説明したように(4,2)システム上で見出された種々の表現に加えて、n−k≧2,k≧2又はn>4を有する他の(n,k)システムに対して同様なバージョンを構築することができ、かつ、(リード−ソロモンコードのような)線形な記号の訂正可能性に加えて、他の拡張した誤り訂正機能を、ビット非記号レベル上の追加の誤り保護に起因して構築することができる。実際には、このような追加の誤り保護は、ビットで計数された実際の記号長に対して用いることができる数に比べて小さい記号数で実現可能である。例えば、(6,4)コードを、5個のエンコーダモジュールを有する1個のユニット、それぞれが2個のエンコーダモジュールを有する3個のユニット又は各々が2個のエンコーダユニットを有する6個のユニットとして用いることができる。(8,4)コードを、6若しくは7個のエンコーダモジュールを有する1個のユニット、各々が4個のエンコーダモジュールを有する2個のユニット又は各々が2個のエンコーダもジュークを有する4個のユニットとして用いることができる。図5を参照して後に説明する(6,4)コードは、各々が1個のエンコーダモジュール及び3個のダミー記号を有する5個のユニットを有する。(8,4)コードは、各々が1個のエンコーダモジュール及び3個のダミー記号を有する7個のユニットを有する。他の多数の実現は、(n,k)システム技術の作業者に明らかである。一般に、(n,k)コードを、種々の(m,l)システムを構築するのに使用することができ、この場合、I≦m≦n及び1≦l≦kである。
【0014】
本発明の好適な実施例を、図面を参照して説明する。
【0015】
【実施例】
コンピュータシステムにおいて、信頼性を向上させるためにしばしば誤り訂正コードが使用される。その一例は、メモリから受信したデータの単一ビット誤りを訂正するハミングコードである。
【0016】
しかしながら、一般的なアプローチは(n,k)概念のコンピュータである。このアプローチは、プロセッサの冗長性とメモリの冗長性との間の比を選択する機会を与える。これは、n及びkに対して適切な値を選択することによってコストに対する信頼性を最適化できることを意味する。
【0017】
例えば、n=3及びk=1となるように値を選択すると、TMR(3モジュール冗長)システムが得られる。この場合、全てのハードウェアは3倍になる。n=4及びk=2となるように値を選択すると、(4,2)概念のシステムが得られる。この場合、プロセッサ論理は4倍となるが、メモリは2倍となるだけである。システムのうちの最も高価な部分は、通常、メモリである。したがって、(4,2)概念のコンピュータのコストを、(3,1)概念のコンピュータのコストより低くすることができる。
【0018】
(n,k)概念のコンピュータにおいて、誤り訂正/検出コードが用いられる。このコードは、(n,k)コードと称される。従来のTMRシステムに対して、反復コードが用いられる。このコードは最適ではない。(4,2)概念に対して、(4,2)コードが用いられる。(4,2)概念及び(4,2)コードの特性は、最初に説明した参考文献に記載されている。
【0019】
(4,2)コードを、他のシステムにおいても効果的に用いることができる。今後、一般的には(4,2)コードを用いる。単一ユニットのシステムでは、ハミングコードの代わりに(4,2)コードを用いることが示されている。また、(2,1)概念の(2倍)システムにおける(4,2)コードの利点も説明されている。(3,1)概念のコンピュータにおいても(4,2)コードを用いることができることを示している。(4,2)概念のコンピュータの使用についての簡単な説明を行う。
【0020】
ここで説明する方法は、1≦m≦nかつ1≦l≦kの場合、(n,k)コード及び(m,l)概念のシステムの組合せの使用に一般化することができる。しかしながら、n,k,m及びlの値に応じて、互いに相違する特性が現れる。方法の一例を説明する。
【0021】
以下、4ビット記号に対する(4,2)概念のコンピュータの簡単な説明を最初に行う。以後、(4,2)コードの特性の概念を説明する。(4,2)概念のコンピュータは、4個のユニットから構成される(図1参照)。20のような各ユニットは、一連の4記号入力2記号出力デコーダモジュール22、プロセッサモジュール24、エンコーダモジュール26及びメモリモジュール28を具える。メモリモジュール28のデータ入力は、エンコーダモジュール26から供給される。アドレス入力30をエンコーダモジュール26から供給する必要はない。その理由は、アドレス入力30がメモリアドレス間のシャフリングのみを表し、利用できるアドレス範囲が減少するからである。簡潔のために、制御経路及び4個のユニット間の相互の同期を示さない。(n,k)概念のコンピュータではn個のモジュールが同期をとるとともに決定性を有するように設計されているものと仮定される。以下、プロセッサ/メモリ通信のみを説明する。外部のシステムとの通信を説明しない。
【0022】
書込み中、各プロセッサは、エンコーダを通じてメモリにデータを書き込む。エンコーダは、互いに相違する記号G0,G1,G2,G3によって表した各モジュールにおいて互いに相違する。このようにして、8ビットの情報が16ビットコード語に符号化される。しかしながら、各ユニットは、このコード語のうちの4ビット(コード記号)のみを格納する。プロセッサがメモリから情報を読み出すと、デコーダによって4記号が各ユニットで受信される。誤りの量が所定の最大値を超えない場合、デコーダは、各ユニットのプロセッサに対して原始情報を発生させる。しかしながら、実際には、各ユニットは、互いに相違する4個全てのエンコーダモジュールを実現するために同一のハードウェアを有することができ、これがシリコン領域の僅かな増加のみを示す限り、このことは、製造すべき互いに同一の回路(ユニット)の個数が4倍に増加する利点に優る。
【0023】
訂正し得る誤りの量は、(4,2)コードの特性によって与えられる。以下、(4,2)コードの最も重要な特性をリストする。次に、これらの特性は、(4,2)コードを他のシステムで使用する方法を決定する。ここで、4ビット記号に対するこれらの特性は以下の通りである。
1.任意の単一記号誤りの訂正。
2.任意の二重ビット誤りの訂正。
3.1記号が消去された場合、他の記号誤りを検出することができる。
4.1記号が消去された場合、単一ビット誤りを訂正することができる。
5.任意の2記号から原始情報を検索することができる。
6.2記号は原始情報の記号となる。
特性3から、消去された1個の記号を有するコード語の最小の記号重み(=零でないコード記号の個数)が2に等しくなることが観察される。
【0024】
単一ユニットのシステムにおける(4,2)コードの使用
(4,2)コードを、(12,8,3)ハミングコードの代わりとして単一ユニットのシステムで使用することができる。図2に示すような本発明によるシステムは、(1記号入力が使用されない)4記号デコーダ40と、プロセッサモジュール42と、各々が関連のメモリモジュール44,46,48に信号を供給する3個の互いに相違するエンコーダモジュールG0,G1,G2とを有する。これらは、プロセッサモジュール42によって再びアドレス指定される。ハミングコードシステムに関して、余分なコストが含まれず、記憶量は同一である。しかしながら、(4,2)コードの実現が更に提案されている。以下、単一システムにおける(4,2)コードの簡単な説明を行う。
【0025】
書込み中、8ビットの情報語は、エンコーダG0,G1,G2によって3通りの互いに相違する方法で符号化される。その結果、3通りの4ビットのコード記号となる。その各々は、関連のメモリモジュールに書込まれる。一般に、ユニット内では、種々のメモリモジュールを、更に大きなメモリユニットの(バンク又はブロックの)一部とすることができる。読出しサイクル中、3個のコード記号はデコーダによって受信される。デコーダは消去モードにある。それは、メモリに格納されなかった第4の記号を消去する。デコーダは、12ビットのコード語を、プロセッサに供給される8ビットの情報語に復号化する。
【0026】
以下の誤り検出/訂正機能をこのようにして利用することができる。
・単一ビット誤り訂正
・単一記号誤り検出
単一ビット誤り訂正は特性4から導き出される。これまで、ハミングコードを用いることによって全く同一の結果が得られた。しかしながら、ビット誤りが重大な誤りであるとわかる場合、デコーダを単一モードに切り替えるのは容易であり、その結果、2通りの4ビットの記号のみがデコーダの出力を決定する。このようにして、一つが不良である12ビットの代わりに、8ビットのみがデコーダの出力を決定する。その結果、他のビット誤りが原因で出力が誤りである可能性が、本来の可能性の8/11まで減少する。
【0027】
消去された1個の記号を有するコード語の記号重みが少なくとも2であることによって、単一記号誤りも検出できる(特性3)と結論付けられる。これは、各々が4ビット幅のメモリバンクとしてメモリを設計した場合に有用である。そのようなバンクの故障を検出することができる。
【0028】
(4,2)コードによる解決は、システムの設計者/ユーザが適切な方法を選択することによってシステムの信頼性を最大にすることができるという意味で柔軟である。これは、全体的にストラテジに依存する。ハードウェアは全く同一である。
【0029】
(2,1)概念における(4,2)コードの使用
図3は、(4,2)コードを2倍システムで好適に利用できる方法を示す。左側のユニットは、デコーダモジュール60と、プロセッサモジュール62と、アドレスバス64と、モメリモジュールM3,M2にそれぞれ接続したエンコーダモジュールG3,G2とを有する。右側のユニットは、メモリモジュールM1,M0にそれぞれ接続したエンコーダモジュールG1,G0を除いて構造的に同一である。当然、全てのメモリモジュールは構造的に同一である。ここで、同一のエンコーダ及びデコーダは、(4,2)概念のコンピュータのように2倍システムで用いられる。同一タイプの誤りによって同一動作とならないので、誤り制御のみが互いに相違する。2倍システムで用いられる(4,2)コードの利点は、誤りのタイプと故障又はシステムのデグラデーションのタイプとの間の関係に応じて設計者又はユーザがその誤り処理機構に適合できる点である。(4,2)コードの代案として(2,1)コードがある。しかしながら、(4,2)コードが最適である。その理由は、(4,2)コードが(2,1)コードとして使用されるからである。このセクションの残りの部分において、(4,2)コードを有する2倍システムのアーキテクチャを先ず説明する。以後、誤り処理機構の柔軟性を、複数例とともに説明する。
【0030】
(4,2)コードは4コード記号から構成される。任意の対のコード記号から原始情報を検索することができる(特性5)。2倍システムは2個のユニットから構成される。各ユニットは、プロセッサの書込みサイクル中に情報記号を2コード記号に符号化するために2個のエンコーダモジュールを有する。各ユニットは、互いに相違する2コード記号をメモリに書き込む。4コード記号はコード語を構成する。一方の対のコード記号がユニット0のメモリに書き込まれ、他方の対のコード記号がユニット1のメモリに書き込まれる。
【0031】
プロセッサの読出しサイクル中、4コード記号がデコーダの入力部でラッチされる。誤りが発生しない場合、両方のプロセッサモジュールは、同一の訂正情報を受信する。しかしながら、誤りが発生すると、デコーダが誤りを検出し、可能な場合には誤りを訂正する。以下、誤り検出の結果に関して3例を説明する。
【0032】
可能性の一つは、誤りの検出後、従来の2倍システムと全く同じことが行われる。誤りが発生すると直ぐに、処理を停止するとともに、診断プログラムによって故障を特定することを試みる。これは、2倍システムの基本手順である。(4,2)コードは、以下に示すように更なる柔軟性を示す(以下の表を参照のこと。)。
【表1】
【0033】
従来の2倍システムにおいて、メモリの単一ビット誤りを補正するためにハミングコードがしばしば使用されている。これによって、メモリのコストがワード長に応じて25−50%まで増大する。それは、8ビット語に対して50%となる。メモリがシステムの最も高価な部分であるので、これは、全体のコストに対して大きな影響を及ぼす。ここに提案するシステムにおいて、単一ビット誤り訂正に対してハミングコードを用いることができるが、そのようにする必要はない。実際には、ここに提案したシステムにおいても(メモリを増大させることなく)単一ビット誤り訂正を利用できる。
【0034】
(4,2)コードは単一ビット誤り又は2ビット誤りを訂正することができる。したがって、2倍システムにおいて訂正機能(の一部)を用いることができる。しかしながら、訂正機能(の一部)の使用が訂正誤り/検出誤りのおそれの増大も伴うことを理解すべきである。例えば、ユニットが故障した場合、ユニットによって二つの誤りのある記号が発生し、デコーダは、システムを停止させている間に単一ビット誤りを訂正する。単一ビット誤り訂正が用いられない場合、2記号誤りが検出される。
【0035】
三つの基本要素は、2倍システムの信頼性を決定する。
・診断プログラムのカバレージファクタ。
・ハードビット誤りとソフトビット誤りの両方及びチップ故障に対するメモリの信頼性。
・プロセッサ論理の信頼性。
2倍システムで(4,2)コードを用いることによって、コストを増大させる方法を用いることなく2倍システムの信頼性を最適にする機会を与える。結局、ハミングコードを用いないことを決定した場合、コストは低下する。
【0036】
4倍モジュラ冗長システム
図4は、4個のユニットから構成した4倍モジュラ冗長システムを示す。左側のユニットは、並列な2個の16ビットデコーダモジュールを有し、その各々は、8ビットの2記号のデータ語に変換するための16ビットコード語を受信する。当然、二つのデコーダモジュールを単一デコーダハードウェア80にマップすることができ、それは、二つの意図的に同一にしたコード語で交互に動作する。そのように発生した二つのデータ語は、当然意図的に同一とされる。二つのデータ語はプロセッサモジュール82で処理され、それを、並列な2個の同一の8ビットプロセッサモジュール又は第1及び第2の8ビットプロセッサを交互にエミュレートする8ビット幅の単一プロセッサモジュールとする。次に、処理結果は、それがメモリモジュールアドレスの場合、8ビットの結合幅のそれに関連したメモリモジュール84をアドレス指定する。図において、これを単一ブロックとして示す。物理的には、それを、個別に起動可能な二つのメモリバンク又は単一のメモリバンクとして実現することができる。処理結果がデータである場合、モジュールG3,G2が作動する。そのように発生したデータ語が奇数データ語である場合、それはエンコーダモジュールG3に供給される。データ語が偶数データ語である場合、それはエンコーダモジュールG2に供給される。第2処理ユニットは、「奇数」と「偶数」とを入れ替えた点を除いて第1処理ユニットと同一であり、それは、入れ替えた位置を有するエンコーダモジュールG3,G2によって表される。左側から3番目及び4番目の処理ユニットは、エンコーダモジュールG1,G0を除いて、それ以前の2個の処理ユニットと同一である。
【0037】
これまで説明したストラテジを実行するのに必要な他の論理を、簡単のために示さない。上記システムは、3,2/2,3/1,0/0,1に従って要約した各モジュールに対する記号の属性を有することができる。僅かに互いに相違する属性は、以下の通りである。
0,3/3,2/2,1/1,0
二つの形態はそれぞれ特有の利点を有する。第2のものは、2個のユニットが故障した際に、故障のパターンに関係なく互いに相違する三つのコード記号を処理する。以後、第1の形態を考慮する。
【0038】
ここで、一般に、4倍プロセッサ及び制御論理を、4倍メモリを用いることなく開発することができる。標準的な(4,2)概念のコンピュータは、例えば2倍の容量のメモリのみを有する。(4,2)コードを、4倍メモリを有する4倍システムでも用いることができる((4,1)概念のシステム)。以下、(4,2)概念のコンピュータと4倍システムとの間の違いを最初に説明する。以下、(4,1)概念のシステムにおける(4,2)コードの使用の(不)利益を説明する。
【0039】
(4,2)概念のコンピュータと4倍システムとの間の主な違いは、コスト及びデグラデーション適応性である。
【0040】
4倍システムのコストは単一ユニットシステムのコストの4倍となる。(4,2)概念のコンピュータのコストは、メモリが最も高価な部分であるために単一ユニットシステムのコストの2−3倍となる。(4,2)概念のコンピュータは、1個のユニットの故障を許容し、動作中の3個のユニットを有するシステムへの切替を行う。故障中のユニットが既知でない場合、故障中のユニットを更に許容することができない。
【0041】
4倍システムは、1個のユニットの故障を許容することができ、この場合、3倍システムへの切替を行う。それは、故障したユニットの他のユニットに対するメッセージが一貫性のない、すなわち、他のユニットが実際に受信した情報に同意しない場合を除いて、3倍システムとして別の1個のユニットの故障を許容する。動作するユニットが2個しか残らない場合、システムは、2倍(フェールセーフ)システムとして動作することができる。その結果、4倍システムは、(4,2)概念のシステムよりも信頼性があるが、(4,2)概念のシステムよりも(2倍まで)高価なものとなる。(4,2)コードを使用しうる方法は、各ユニットのコード記号の重複によるものではない。互いに相違する2個のエンコーダの記号を1個のユニットにマップする方法の一つを図4に示す。
【0042】
しかしながら、TMRシステムを通じた4倍システムの2倍システムへのデグラデーションは、以下説明するように複雑なプロセスとなる。1個のユニットの各デコーダモジュールは、単一記号誤りを訂正することができる。その結果、1個のユニットが故障するおそれがある。この場合、各々が3記号からなる二つのコード語が残される。互いに相違するユニットのデコーダモジュール間の通信が可能でない場合、ユニットの故障を更に許容することができない。しかしながら、1個のユニットからの二つのコード記号は常に原始情報を表す。二つのコード語の6個のコード記号は常に少なくとも符号重み4を有し、それは、単一記号誤りを常に訂正できるとともに第2の誤りを常に検出できることを意味する。6個のコード記号を結合することによって、1個のユニットの故障を再び許容することができる。ユニットが故障する場合、これは、システムが2倍システムにデグラデーションすることを意味する。
【0043】
4倍システムにおいて(4,2)コードを使用することによって、システムの設計者/ユーザに対して再び柔軟性を与える。しかしながら、4倍アーキテクチャの復号化形態は、最大の訂正/検出機能を得る必要がある場合には特に複雑となる。
【0044】
種々のユニットに対する種々のエンコーダモジュールの第2の属性を用いることによって、図4の配置を変更することができる。1個の故障ユニット及び3個の故障ユニットの状況に対して、状況は、上記機構と同一である。しかしながら、2個のユニットが故障すると、システムは常に、互いに相違するユニットからそれぞれ二つのうちの利用できる互いに相違する3個の2倍記号を有する。これによって、2倍記号が同一であるか否かに依存して種々のあり得るストラテジを提供するとともに、2倍記号の内外の種々のビット誤りの一部の修正可能性を提供する。
【0045】
エンコーダモジュールと処理ユニットとの他の全ての結合によって、記号のリナンバリングのみを減少させる。
【0046】
3個のユニットのシステムにおける(4,2)コードの使用
図5は、3個のユニットのシステムにおける(4,2)コードの使用を示す。左側のユニットは、標準的なデコーダ100と、プロセッサ102と、エンコーダモジュール104と、メモリモジュール106とを有する。他の2個のユニットは、図示したそれぞれが互いに相違するエンコーダモジュールG3,G2,G1の使用を除いて同一である。特に3倍モジュラ冗長(TMR)システム用にコードを設計したとしても、(4,2)コードは、最適な(3,1)コードと同程度に適切である。
【0047】
TMRシステムにおける(4,2)コードの使用への基本アプローチは、コードの短縮である。これは、以下のようにして実現することができる。4ビット情報語(ニブル)に対してデフォールトニブルを付加する。このようにしてバイト(8ビット)が得られる。それは、情報の4ビット及び値が予め既知の4ビット(すなわちダミー記号)から構成される。情報が予め既知であるニブルを、好適には3個のモジュールの各々において同一にする。図示した例に対して、省略値を零に選択し又は零にエミュレートする。バイトは、エンコーダに対する入力として用いられる。エンコーダモジュールによって、プロセッサの書込みサイクル中にメモリに格納される4ビットコード記号を発生させる。
【0048】
(4,2)コード語は、4個のコード記号からなる。コード記号のうちの1個は4ビット情報ニブルであり、それ以外のコード記号は、予め既知のニブルである(特性6)。読出し中、3個のコード記号はデコーダによって受信される。4番目の記号が予め既知であるので、4番目の記号もデコーダによって受信される。デコーダは、1個の記号を訂正することができる4個のコード記号を有する。これは、1個のモジュールの故障を許容できることを意味する。3個全てのモジュールが動作可能である場合、二つのランダムビット誤りを、コード語の16ビットで訂正することができる。コード語の1個の記号の値は常に同一である。その結果、二つのランダムビット誤りを12ビットのコード語で訂正することができる。
【0049】
1個のモジュールが故障するとともにデコーダが消去モードに切り替わると仮定する。この場合、システムは2倍システムへのデグラデーションを行う。3個の消去されていない記号のうちの1個は予め既知である。任意の誤りを常に検出することができる。その理由は、消去されたコード語の記号重みが少なくとも2となるからである。その結果、2倍システムが得られる。単一ビット誤り訂正に対して冗長の一部を使用するとともの記号誤り検出に対して残りの部分を使用することもできる。システムの設計者/ユーザは、図3を用いて既に説明したのと同様にシステムの信頼性を最大にする機会を有する。
【0050】
一般的な考察の一部
これまで、4ビット記号及び1..4プロセッサユニットに関して(4,2)コードを説明した。長い記号に対して、アプリケーションは同様であり、1ビット誤りレベル上では保護機能が増大する。
【0051】
A.一般的な(n,k)コードに対して、任意の個数iの記号が消去される(i≦n−k)。Lのデータ語長で、各エンコーダモジュールによって、L/kの記号長を発生させる。このコードは、適切な数のユニットを有する図2,3,4に従った形態で使用される。例えば、図1のシステムは、適切な誤り訂正を行う度に、任意の個数のエンコーダモジュールk,k+1...n−1を作動させる。
【0052】
B.他の可能性は図5に従うものであり、この場合、各ユニットは、デコーダモジュールの入力部、デコーダモジュールの出力部及びエンコーダモジュールの入力部において、i=1..k−1記号をダミー記号として取り扱う。図3に示すように、好適な値は零に等しくなる。全体のシステムは適切な個数のユニットを必要とし、用いられる(n,k)コードによって(n−i,k−i)システムまで減少する。
【0053】
一般的に図4に類似する他の解決では、ユニット中にi(iをk,nの共通因子とする。)個のエンコーダモジュールを追加するとともに関連のユニットで1個のプロセッサモジュールのみを使用する。
【0054】
D.図4に類似する他の方法では、任意のユニットでi個のエンコーダをシャッフルして使用する。この場合、iをnの因子とするが、kの因子とする必要はない。これによって、(n,k)コードを(n,k/i)コードに変換する。
【0055】
(4,2)コードの場合、これらA,B,C,Dの場合にはそれぞれ以下のようになる。
(4,2)→A→(3,2)
(4,2)→B→(3,1)
(4,2)→C→(2,1)
(4,2)→D→(4,1)
【0056】
(8,5)コードから開始する連続的なグレースフルデグラデーションの場合は、次のようにして実現される。
(8,5)→A→(7,5)→B→(6,4)→C→(3,2)→D→(3,1)
【図面の簡単な説明】
【図1】 通常の(4,2)システムを示す。
【図2】 単一ユニットのシステムの(4,2)コードの使用を示す。
【図3】 2個のユニットのシステムの(4,2)コードの使用を示す。
【図4】 (4,1)システムの(4,2)コードの使用を示す。
【図5】 3個のユニットのシステムの(4,2)コードの使用を示す。
【符号の説明】
20 ユニット
22,60 デコーダモジュール
24,42,62,82 プロセッサモジュール
26,104,G1,G2,G3 エンコーダモジュール
28,44,46,48,84,106 メモリモジュール
30 アドレス入力
40 4記号デコーダ
64 アドレスバス
80 単一デコーダハードウェア
100 標準デコーダ
102 プロセッサ
Claims (6)
- k記号情報量を表すn記号コード語をコード語ごとに有するコードに基づくデータ処理システムであって、
n−k≧2及びk≧2とし、1個のコード語中の少なくとも2個の少なくとも2個の記号に対して少なくとも単一記号の誤り訂正可能性及び複数の誤り修正可能性を同時に有し、
a.コード語を受信するとともにそのコード語からk個の記号のデータ語を取得する入力部を有するデコーダ段と、
b.前記デコーダ段に接続され、前記データ語を処理し、メモリアドレス及び他のデータ語を展開するプロセッサ段と、
c.複数のエンコーダモジュールを有し、前記データ語の選択の各々の同一データ語のバージョンを前記デコーダ段から意図的に受信し、各エンコーダモジュールで、互いに相違するコード記号への復号化を行う符号化段と、
d.前記エンコーダモジュールのうちの対応するものにそれぞれ接続した複数のメモリモジュールを有し、前記メモリアドレスのうちの関連のメモリアドレスの制御の下で、前記関連のコード語の全てのコード記号の読出し及び書き込みを行う記憶段と、
e.前記メモリモジュールに接続され、読み出された任意のコード語を前記デコーダ段に帰還する帰還手段とを具えるデータ処理システムにおいて、
前記データ処理システムが、少なくとも1個のデータ処理ユニットを有し、そのユニットのうちの任意のものが、2個以上かつn個未満の互いに相違するエンコーダモジュールを有し、そのエンコーダモジュールが、前記バージョンの一つを一括して処理する対応したデータ処理ユニットに並列接続され、前記データ処理ユニットの各メモリモジュールに、前記対応するデータ処理ユニットで展開したデータ語バージョンの論理和記号をそれぞれ格納することを特徴とするデータ処理システム。 - 1個のコード語中の少なくとも2個の記号に対して単一の記号誤り訂正可能性及び複数の誤り修正可能性を有する100%冗長4記号コード語のコードに基づくデータ処理システムであって、
a.コード語を受信するとともにそのコード語から2個の記号のデータ語を取得する入力部を有するデコーダ段と、
b.前記デコーダ段に接続され、前記データ語を処理し、メモリアドレス及び他のデータ語を展開するプロセッサ段と、
c.複数のエンコーダモジュールを有し、前記データ語の選択の各々の同一データ語のバージョンを前記デコーダ段から意図的に受信し、各エンコーダモジュールで、互いに相違するコード記号への復号化を行う符号化段と、
d.前記エンコーダモジュールのうちの対応するものにそれぞれ接続した複数のメモリモジュールを有し、前記メモリアドレスの制御の下で、関連のコード語の全てのコード記号の読出し及び書き込みを行う記憶段と、
e.前記メモリモジュールに接続され、読み出された任意のコード語を前記デコーダ段に帰還する帰還手段とを具えるデータ処理システムにおいて、
前記データ処理システムが、少なくとも1個のデータ処理ユニットを有し、そのユニットのうちの任意のものが、2個以上かつ4個未満の互いに相違するエンコーダモジュールを有し、そのエンコーダモジュールが、前記バージョンの一つを一括して処理する対応したデータ処理ユニットに並列接続され、前記データ処理ユニットの各メモリモジュールに、前記対応するデータ処理ユニットで展開したデータ語バージョンの論理和記号をそれぞれ格納することを特徴とするデータ処理システム。 - 少なくとも(12,8,3)ハミングコードに等しい誤り保護機能で50%冗長コード後を格納する3個の互いに相違するエンコーダモジュールを有する単一の処理ユニットを具えることを特徴とする請求項2記載のデータ処理システム。
- 各々が2個の独自のエンコーダモジュールを有する2個の処理ユニットを具え、そのエンコーダモジュールがそれぞれ、100%冗長コード語を格納する間関連のモメリモジュールに接続して、任意の2ビット誤りパターンを訂正可能にし、消去された第1の記号の存在の下で、第2の記号の任意の誤りを検出可能にし又はそのような第2の記号の任意の単一ビット誤りを訂正可能にし、前記メモリモジュールに関連したデータワードを任意の2コード記号から検索可能にしたことを特徴とする請求項2記載のデータ処理システム。
- 前記データ処理ユニットが、第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットを具え、これら第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットがそれぞれ、第1データ処理ユニットと第3データ処理ユニットとの間又は第2データ処理ユニットと第4データ処理ユニットとの間で独自の2個のエンコーダモジュールを有し、前記100%冗長コード語の二つの同一バージョンを格納する関連のメモリモジュールに接続し、そのようなコード語が、前記第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットの各々から1個のコード語を取得するとともに、前記データ処理ユニットのうちの任意のものへの帰還を可能とし、前記第1データ処理ユニット、第2データ処理ユニット、第3データ処理ユニット及び第4データ処理ユニットのうちの任意の1個が不能状態の下で、任意のコード語を、前記メモリモジュールに完全に格納したことを特徴とする請求項2記載のデータ処理システム。
- 1個のコード語中の少なくとも2個の記号に対して単一の記号誤り訂正可能性及び複数の誤り修正可能性を有する100%冗長4記号コード語のコードに基づくデータ処理システムであって、
a.コード語を受信するとともにそのコード語からデータ語を取得する入力部を有するデコーダ段と、
b.前記デコーダ段に接続され、前記データ語を処理し、メモリアドレス及び他のデータ語を展開するプロセッサ段と、
c.複数のエンコーダモジュールを有し、前記データ語の選択の各々の同一データ語のバージョンを前記デコーダ段から意図的に受信し、各エンコーダモジュールで、互いに相違するコード記号への復号化を行う符号化段と、
d.前記エンコーダモジュールのうちの対応するものにそれぞれ接続した複数のメモリモジュールを有し、前記メモリアドレスの制御の下で、関連のコード語の全てのコード記号の読出し及び書き込みを行う記憶段と、
e.前記メモリモジュールに接続され、読み出された任意のコード語を前記デコーダ段に帰還する帰還手段とを具えるデータ処理システムにおいて、
前記データ処理システムが、3個のデータ処理ユニットを有し、そのユニットの各々が、1個の独自のエンコーダモジュールを有し、そのエンコーダモジュールが、エミュレートされた50%データ語バージョンに基づいて3個のコード記号を一斉に発生させる対応するデータ処理モジュールに並列接続され、任意の処理ユニットが、3個のコード記号及びダミーコード語の記号を受信するとともにダミーデータ語の記号を出力するデコーダモジュールを有することを特徴とするデータ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP90202747A EP0481128B1 (en) | 1990-10-16 | 1990-10-16 | Data processor system based on an (N, k) symbol code having symbol error correctibility and plural error mendability |
NL902027473 | 1990-10-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04264626A JPH04264626A (ja) | 1992-09-21 |
JP3654655B2 true JP3654655B2 (ja) | 2005-06-02 |
Family
ID=8205143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26601691A Expired - Fee Related JP3654655B2 (ja) | 1990-10-16 | 1991-10-15 | データ処理システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5488617A (ja) |
EP (1) | EP0481128B1 (ja) |
JP (1) | JP3654655B2 (ja) |
DE (1) | DE69031947T2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805614A (en) * | 1996-07-03 | 1998-09-08 | General Signal Corporation | Fault tolerant switch fabric with control and data correction by hamming codes |
US5812556A (en) * | 1996-07-03 | 1998-09-22 | General Signal Corporation | Fault tolerant switch fabric with control and data correction by hamming codes and error inducing check register |
US20020120421A1 (en) * | 2001-02-27 | 2002-08-29 | Crawford Daniel A. | Controller having internal durability test cycle driver |
US8972828B1 (en) * | 2008-09-18 | 2015-03-03 | Compass Electro Optical Systems Ltd. | High speed interconnect protocol and method |
US8352837B1 (en) * | 2009-03-20 | 2013-01-08 | Marvell International Ltd. | System and methods for storing data encoded with error information in a storage medium |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3452328A (en) * | 1965-06-07 | 1969-06-24 | Ibm | Error correction device for parallel data transmission system |
US3601800A (en) * | 1969-09-30 | 1971-08-24 | Ibm | Error correcting code device for parallel-serial transmissions |
US3893070A (en) * | 1974-01-07 | 1975-07-01 | Ibm | Error correction and detection circuit with modular coding unit |
IT1014277B (it) * | 1974-06-03 | 1977-04-20 | Cselt Centro Studi Lab Telecom | Sistema di controllo di elaboratori di processo operanti in parallelo |
US3963908A (en) * | 1975-02-24 | 1976-06-15 | North Electric Company | Encoding scheme for failure detection in random access memories |
JPS5286011A (en) * | 1976-01-12 | 1977-07-16 | Nec Corp | Error correction device for parallel processing |
GB2035014B (en) * | 1978-11-06 | 1982-09-29 | British Broadcasting Corp | Cyclic redundancy data check encoding method and apparatus |
NL7909178A (nl) * | 1979-12-20 | 1981-07-16 | Philips Nv | Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten. |
CA1170776A (en) * | 1980-07-18 | 1984-07-10 | Yoichiro Sako | Method of error correction of blocks of data |
US4413339A (en) * | 1981-06-24 | 1983-11-01 | Digital Equipment Corporation | Multiple error detecting and correcting system employing Reed-Solomon codes |
NL8104342A (nl) * | 1981-09-21 | 1983-04-18 | Philips Nv | Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes. |
NL8204038A (nl) * | 1982-10-20 | 1984-05-16 | Philips Nv | Multiprocessorrekenmachinesysteem, bevattende n parallel werkende rekenmachinemodules, en rekenmachinemodule te gebruiken in zo een multiprocessorrekenmachinesysteem. |
US4593393A (en) * | 1984-02-06 | 1986-06-03 | Motorola, Inc. | Quasi parallel cyclic redundancy checker |
GB2194850B (en) * | 1986-09-05 | 1990-10-31 | Philips Nv | Data processing device |
US4949200A (en) * | 1988-03-31 | 1990-08-14 | Digital Equipment Corporation | Method and apparatus for encoding and mapping magnetic disk sector addresses |
EP0411110A4 (en) * | 1989-02-16 | 1993-02-24 | Grumman Aerospace Corporation | Very high speed error detection network |
US5107506A (en) * | 1990-01-25 | 1992-04-21 | Digital Equipment Corporation | Error trapping decoding method and apparatus |
JP2663189B2 (ja) * | 1990-01-29 | 1997-10-15 | 富士写真フイルム株式会社 | 画像のダイナミックレンジ圧縮処理方法 |
US5224106A (en) * | 1990-05-09 | 1993-06-29 | Digital Equipment Corporation | Multi-level error correction system |
US5291496A (en) * | 1990-10-18 | 1994-03-01 | The United States Of America As Represented By The United States Department Of Energy | Fault-tolerant corrector/detector chip for high-speed data processing |
-
1990
- 1990-10-16 EP EP90202747A patent/EP0481128B1/en not_active Expired - Lifetime
- 1990-10-16 DE DE69031947T patent/DE69031947T2/de not_active Expired - Fee Related
-
1991
- 1991-10-15 JP JP26601691A patent/JP3654655B2/ja not_active Expired - Fee Related
-
1994
- 1994-09-12 US US08/304,647 patent/US5488617A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04264626A (ja) | 1992-09-21 |
DE69031947D1 (de) | 1998-02-19 |
DE69031947T2 (de) | 1998-07-16 |
EP0481128B1 (en) | 1998-01-14 |
US5488617A (en) | 1996-01-30 |
EP0481128A1 (en) | 1992-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1204921B1 (en) | System and method for detecting double-bit errors and for correcting errors due to component failures | |
US8099651B2 (en) | Subsystem and method for encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use in a 76-bit memory module | |
US6018817A (en) | Error correcting code retrofit method and apparatus for multiple memory configurations | |
US5226043A (en) | Apparatus and method for data error detection and correction and address error detection in a memory system | |
US6041430A (en) | Error detection and correction code for data and check code fields | |
EP0031183B1 (en) | Multi-processor computer system | |
EP1183605B1 (en) | System and method for protecting data and correcting bit errors due to component failures | |
US7644348B2 (en) | Method and apparatus for error detection and correction | |
US4547882A (en) | Error detecting and correcting memories | |
US6675349B1 (en) | Error correction coding of data blocks with included parity bits | |
US4512020A (en) | Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes | |
US6751769B2 (en) | (146,130) error correction code utilizing address information | |
US5745508A (en) | Error-detection code | |
US5768294A (en) | Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address | |
JPH05108495A (ja) | データ用誤り訂正検出方法及びコンピユータ・メモリ用 誤り検出回路 | |
JPH087721B2 (ja) | エラー検出/訂正機構を有するデータ処理システム | |
WO2006029243A1 (en) | Memory array error correction | |
JPH0529935B2 (ja) | ||
US5751745A (en) | Memory implemented error detection and correction code with address parity bits | |
JPS6349245B2 (ja) | ||
US6393597B1 (en) | Mechanism for decoding linearly-shifted codes to facilitate correction of bit errors due to component failures | |
JP2776839B2 (ja) | 半導体メモリ | |
US5761221A (en) | Memory implemented error detection and correction code using memory modules | |
JP3654655B2 (ja) | データ処理システム | |
US6460157B1 (en) | Method system and program products for error correction code conversion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040517 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040520 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050301 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |