JPH08166891A - Fault tolerant computer system - Google Patents

Fault tolerant computer system

Info

Publication number
JPH08166891A
JPH08166891A JP6310226A JP31022694A JPH08166891A JP H08166891 A JPH08166891 A JP H08166891A JP 6310226 A JP6310226 A JP 6310226A JP 31022694 A JP31022694 A JP 31022694A JP H08166891 A JPH08166891 A JP H08166891A
Authority
JP
Japan
Prior art keywords
processor
data
error correction
memory
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.)
Pending
Application number
JP6310226A
Other languages
Japanese (ja)
Inventor
Nobuyasu Kanekawa
信康 金川
Shigeru Shibukawa
滋 渋川
Masayuki Tanji
雅行 丹治
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6310226A priority Critical patent/JPH08166891A/en
Publication of JPH08166891A publication Critical patent/JPH08166891A/en
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

PURPOSE: To realize a system where an error correction becomes possible without applying overhead and the lowering of processing speed is not invited. CONSTITUTION: A pilot processor 220 is operated without an error correction proceeding a master processor 210. Based on the signal from the preceding pilot processor 220, an error correction circuit is made to perform a preceding operation. The data for which an error correction is already performed is supplied to the master processor 210.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、検出訂正方式およびフ
ォールトトレラントコンピュータシステムに係り、特
に、高速動作に好適な検出訂正方式およびフォールトト
レラントコンピュータシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a detection and correction system and a fault tolerant computer system, and more particularly to a detection and correction system and a fault tolerant computer system suitable for high speed operation.

【0002】[0002]

【従来の技術】メモリ(記憶装置)に記憶されているデー
タの一部のビットが電気的雑音や、放射線,宇宙線など
の影響を受けて反転し、データが誤ったものになるソフ
トエラーやシングルイベントアップセットと呼ばれる現
象が発生することがある。この現象が発生すると、コン
ピュータシステムの正常な動作が妨げられ、信頼性を低
下させる。この現象は宇宙などの特殊な環境では特に頻
発する傾向にある。また、地上でも高い信頼性が要求さ
れるシステムではこの現象の影響は無視できない。
2. Description of the Related Art Some bits of data stored in a memory (storage device) are inverted by being affected by electrical noise, radiation, cosmic rays, etc., resulting in erroneous data and soft errors. A phenomenon called single event upset may occur. When this phenomenon occurs, the normal operation of the computer system is hindered and reliability is reduced. This phenomenon tends to occur particularly frequently in special environments such as space. In addition, the effect of this phenomenon cannot be ignored in systems that require high reliability even on the ground.

【0003】メモリのデータの誤りに対処するためには
従来からデータにパリティビットを付加して誤りを検出
する方法や、パリティよりもさらに冗長度の高い誤り訂
正符号を付加して誤りを検出訂正する方法が広く用いら
れている。
In order to deal with an error in data in a memory, a conventional method has been to add a parity bit to the data to detect the error, or an error correction code having a higher degree of redundancy than the parity to detect and correct the error. The method of doing is widely used.

【0004】[0004]

【発明が解決しようとする課題】従来技術では信頼性向
上については十分な考慮がされていたが、動作の高速化
については十分な考慮がされていなかった。
In the prior art, sufficient consideration was given to reliability improvement, but not sufficient consideration to speeding up the operation.

【0005】例えば、メモリにデータを書き込む際に
は、誤り検出訂正用のパリティビット、誤り訂正符号を
生成して、データとともにメモリに書き込まなければな
らない。従ってパリティビット,誤り訂正符号を持たな
い通常のコンピュータシステムと比べて、これらの符号
の生成のための時間だけ余分な時間(オーバヘッド)が
必要となり、動作速度が低下する。
For example, when writing data in the memory, it is necessary to generate a parity bit for error detection and correction and an error correction code and write it in the memory together with the data. Therefore, as compared with a normal computer system that does not have a parity bit and an error correction code, an extra time (overhead) is required for the time for generating these codes, and the operation speed is reduced.

【0006】また、メモリからデータを読み出す際に
は、メモリからデータとともにパリティビット,誤り訂
正符号を読みだし、データと照合して誤りの有無を確認
し、誤り訂正符号の場合には誤り発生時にはさらに誤り
の訂正をしなければならない。従ってパリティビット,
誤り訂正符号を持たない通常のコンピュータシステムと
比べて、データとパリティビット,誤り訂正符号との照
合、誤り訂正のための時間だけ余分な時間(オーバヘッ
ド)が必要となり、動作速度が低下する。
Further, when reading data from the memory, the parity bit and the error correction code are read out from the memory together with the data, and the presence or absence of an error is checked by collating with the data. In the case of the error correction code, when an error occurs, Further error corrections have to be made. Therefore the parity bit,
Compared with an ordinary computer system that does not have an error correction code, an extra time (overhead) is required only for the time of collating the data with the parity bit and the error correction code, and the error correction, and the operation speed decreases.

【0007】本発明の目的は、パリティビット,誤り訂
正符号を付加することによる動作速度の低下を無くし、
パリティビット,誤り訂正符号を持たない通常のコンピ
ュータシステムと比べて何ら遜色の無い速度で動作でき
るコンピュータシステムを提供することにある。
An object of the present invention is to eliminate a decrease in operation speed due to adding a parity bit and an error correction code,
An object of the present invention is to provide a computer system that can operate at a speed comparable to that of a normal computer system that does not have a parity bit or an error correction code.

【0008】[0008]

【課題を解決するための手段】従来技術の課題を解決す
るために本発明では以下の手段を講じる。
In order to solve the problems of the prior art, the present invention takes the following means.

【0009】まず、誤り検出訂正なしでメモリにアクセ
スするプロセッサ(パイロットプロセッサ)と、誤り検
出訂正付きでメモリにアクセスするプロセッサ(マスタ
プロセッサ)とを用意し、両者に同じ動作(命令実行)
をさせる。すると、誤り検出訂正のためのオーバヘッド
を要しないパイロットプロセッサはマスタプロセッサよ
りも先行して動作することができる。つまり、先行して
動作しているパイロットプロセッサの動作をモニタする
ことによりによりマスタプロセッサの動作を事前に予見
することが可能となる。この点に着目し、マスタプロセ
ッサが誤り検出訂正付きでメモリにアクセスするための
誤り検出訂正回路をパイロットプロセッサからの信号に
基づき先行して動作させる。
First, a processor (pilot processor) that accesses the memory without error detection and correction and a processor (master processor) that accesses the memory with error detection and correction are prepared, and the same operation (instruction execution) is performed on both.
Let Then, the pilot processor that does not require the overhead for error detection and correction can operate in advance of the master processor. That is, by monitoring the operation of the pilot processor that is operating in advance, it is possible to predict the operation of the master processor in advance. Focusing on this point, an error detection / correction circuit for the master processor to access the memory with error detection / correction is operated in advance based on the signal from the pilot processor.

【0010】[0010]

【作用】本発明は、パイロットプロセッサは誤り検出訂
正のためのオーバヘッドを要しないため、高速で動作で
きる。そのうえマスタプロセッサが誤り検出訂正付きで
メモリにアクセスするための誤り検出訂正回路は、パイ
ロットプロセッサの動作に基づき先行動作するため、マ
スタプロセッサのための誤り検出訂正にかかるオーバヘ
ッドを隠蔽し、マスタプロセッサを事実上パイロットプ
ロセッサと同じ速度で、しかも誤り検出訂正付きで動作
させることができる。さらにパイロットプロセッサ,マ
スタプロセッサの二つのプロセッサの出力を比較チェッ
クすれば、プロセッサ自体のセルフチェッキング化が図
れる。
According to the present invention, since the pilot processor does not require the overhead for error detection and correction, it can operate at high speed. In addition, the error detection and correction circuit for the master processor to access the memory with error detection and correction operates in advance based on the operation of the pilot processor. It can operate at virtually the same speed as the pilot processor, but with error detection and correction. Furthermore, by comparing and checking the outputs of the two processors, the pilot processor and the master processor, the processor itself can be made self-checking.

【0011】[0011]

【実施例】図に従い、以下本発明の実施例について説明
を加える。
Embodiments of the present invention will be described below with reference to the drawings.

【0012】本発明によるリードアクセス時の動作を図
1に概念的に示す。命令実行に伴ってパイロットプロセ
ッサ(MPU(pilot))220がアドレス221、及び
制御信号222を出力する。メモリ(MEM)310は
アドレス221、及び制御信号222に基づいて、所要
のデータ223を出力する。パイロットプロセッサ22
0はデータ223を取り込んで次の命令の実行に移る。
一方、誤り訂正回路(ECC CKT)230では誤り
検出/訂正動作をして誤り訂正後のデータ213をマス
タプロセッサ(MPU(master))210に渡す。マス
タプロセッサ210はデータ213を取り込んで次の命
令の実行に移る。パイロットプロセッサ220は誤り訂
正がない分、マスタプロセッサ210よりも短い時間で
命令の実行を完了することができるため、常に先行して
命令の実行を進めることができる。またメモリ310,
誤り訂正回路230も先行しているパイロットプロセッ
サ220からの信号に基づいて先行動作するのでマスタ
プロセッサ210からみて、誤り訂正回路230の動作
にかかるオーバヘッドが見えなくなる。
A read access operation according to the present invention is conceptually shown in FIG. A pilot processor (MPU (pilot)) 220 outputs an address 221 and a control signal 222 as the instruction is executed. The memory (MEM) 310 outputs required data 223 based on the address 221 and the control signal 222. Pilot processor 22
0 fetches the data 223 and moves to the execution of the next instruction.
On the other hand, the error correction circuit (ECC CKT) 230 performs error detection / correction operation and passes the error-corrected data 213 to the master processor (MPU (master)) 210. The master processor 210 fetches the data 213 and moves on to execute the next instruction. Since the pilot processor 220 can complete the execution of instructions in a shorter time than the master processor 210 because there is no error correction, it is possible to always advance the execution of instructions. In addition, the memory 310,
Since the error correction circuit 230 also operates in advance based on the signal from the preceding pilot processor 220, the overhead associated with the operation of the error correction circuit 230 is invisible to the master processor 210.

【0013】また、本発明によるライトアクセス時の動
作を図2に概念的に示す。パイロットプロセッサ220
から出力されたデータ223に対応するECC(誤り訂
正符号)を誤り訂正回路230が生成して、アドレス2
21,制御信号222に従って、メモリ310に書き込
む。ライトアクセス時にはマスタプロセッサ210,パ
イロットプロセッサ220共に誤り訂正回路230にデ
ータ223を渡しさえすれば、メモリ310への書き込
みを終了するのを待たずに次の命令の実行に移ることが
できる。
The operation during write access according to the present invention is conceptually shown in FIG. Pilot processor 220
The error correction circuit 230 generates an ECC (error correction code) corresponding to the data 223 output from
21 and write to the memory 310 according to the control signal 222. At the time of write access, as long as both the master processor 210 and the pilot processor 220 have passed the data 223 to the error correction circuit 230, the next instruction can be executed without waiting for the completion of writing to the memory 310.

【0014】図3,図4はマスタプロセッサ210,パ
イロットプロセッサ220から出力されたアドレス21
1,221,制御信号212,222,データ213,2
23同士を比較チェックする実施例である。リードアク
セス時には図3に示すようにアドレス211,221,
制御信号212,222同士を比較することによりマス
タプロセッサ210,パイロットプロセッサ220の誤
動作を検出することができる。ライトアクセス時には図
4に示すようにアドレス211,221,制御信号21
2,222に加えて、データ213,223同士を比較
することによりマスタプロセッサ210,パイロットプ
ロセッサ220の誤動作を検出することができる。さら
に、データ213,223同士が一致してからメモリ3
10にデータを書き込むようにすれば、マスタプロセッ
サ210,パイロットプロセッサ220の誤動作によっ
て、誤ったデータをメモリ310に書き込むことを防止
できる。
3 and 4 show the address 21 output from the master processor 210 and pilot processor 220.
1, 221, control signals 212, 222, data 213, 2
This is an example in which 23 pieces are compared and checked. At the time of read access, as shown in FIG. 3, addresses 211, 221,
By comparing the control signals 212 and 222 with each other, the malfunction of the master processor 210 and the pilot processor 220 can be detected. At the time of write access, as shown in FIG.
In addition to 2, 222, by comparing the data 213, 223, the malfunction of the master processor 210 and pilot processor 220 can be detected. Furthermore, after the data 213 and 223 match each other, the memory 3
By writing the data in 10, it is possible to prevent the erroneous data from being written in the memory 310 due to the malfunction of the master processor 210 and the pilot processor 220.

【0015】図5は従来技術による誤り訂正回路の動作
を模式的に示したものである。一方、図6は本発明によ
る誤り訂正回路の動作を模式的に示したものである。図
5に示すように従来技術による方法では、メモリにアク
セスする命令の実行の度に誤り検出/訂正のためのオー
バヘッドがかかり、処理性能の低下を招く。一方、本発
明による方法では図6に示すようにオーバヘッドを無く
すことが可能である。以下に本発明による方法の動作に
ついて説明する。パイロットプロセッサ220とマスタ
プロセッサ210はリセット後同時に最初の命令inst.1
の実行を開始する。誤り訂正によるオーバヘッドの分だ
けマスタプロセッサ210はinst.1の実行終了が遅れ
る。マスタプロセッサ210が命令inst.2の実行を開始
したときには、パイロットプロセッサ220は既に命令
inst.2の実行を終え、誤り訂正回路もパイロットプロセ
ッサ220に従い先行して動作しているので、マスタプ
ロセッサ210は誤り訂正によるオーバヘッドなく命令
inst.2の実行を終えることができる。以上のようにし
て、マスタプロセッサ210は先行しているパイロット
プロセッサ220の動作に基づき誤り訂正によるオーバ
ヘッドなく命令を次々と実行することができる。
FIG. 5 schematically shows the operation of an error correction circuit according to the prior art. On the other hand, FIG. 6 schematically shows the operation of the error correction circuit according to the present invention. As shown in FIG. 5, in the method according to the conventional technique, an overhead for error detection / correction is applied every time an instruction for accessing a memory is executed, which causes deterioration in processing performance. On the other hand, the method according to the present invention can eliminate the overhead as shown in FIG. The operation of the method according to the present invention will be described below. The pilot processor 220 and the master processor 210 simultaneously reset the first instruction inst.1 after reset.
Start executing. The master processor 210 delays the end of execution of inst.1 by the amount of overhead due to error correction. When the master processor 210 starts executing the instruction inst.2, the pilot processor 220 has already executed the instruction.
Since the execution of inst.2 has been completed and the error correction circuit is also operating in advance according to the pilot processor 220, the master processor 210 can execute the instruction without overhead due to error correction.
You can finish the execution of inst.2. As described above, the master processor 210 can execute instructions one after another without the overhead of error correction based on the operation of the pilot processor 220 which precedes.

【0016】なお図6は、パイロットプロセッサ220
とマスタプロセッサ210がメモリ,誤り訂正回路を共
有することに起因するメモリの競合が発生しない理想的
な場合を想定して示したものである。実際には前後する
命令によってはパイロットプロセッサ220とマスタプ
ロセッサ210が同時にメモリ,誤り訂正回路を占有す
る異なる命令を実行することになり図7のようにメモ
リ,誤り訂正回路の競合が発生する。図中、NGが競合
の発生していることを示し、OKが競合の発生していな
いことを示している。尚、図中省略しているが、外部メ
モリをアクセスしない命令(例えば、演算命令,レジス
タアクセス,内蔵キャッシュメモリのみをアクセスする
命令など)の前後では全く競合が生じないことは言うま
でもない。競合が発生した場合には、競合が解消した後
にパイロットプロセッサ220は次の命令を実行すれば
よい。命令inst.3とinst.4の間で競合が発生した場合
の動作の様子を図8に示す。
FIG. 6 shows the pilot processor 220.
And the master processor 210 share the memory and the error correction circuit, the memory contention does not occur, and is shown on the assumption of an ideal case. Actually, depending on the preceding and succeeding instructions, the pilot processor 220 and the master processor 210 simultaneously execute different instructions occupying the memory and the error correction circuit, so that competition between the memory and the error correction circuit occurs as shown in FIG. In the figure, NG indicates that competition has occurred, and OK indicates that competition has not occurred. Although omitted in the figure, it goes without saying that no conflict occurs before and after an instruction that does not access the external memory (for example, an arithmetic instruction, a register access, an instruction that accesses only the internal cache memory, etc.). If there is a conflict, pilot processor 220 may execute the next instruction after the conflict is resolved. FIG. 8 shows an operation state when a conflict occurs between the instructions inst.3 and inst.4.

【0017】以上述べた実施例により、誤り訂正なしで
高速で動作するパイロットプロセッサ220に引き続い
てマスタプロセッサ210を同じ速度で誤り訂正付きで
動作させることができるので、処理性能と信頼性が共に
高いコンピュータシステムを実現できる。
According to the embodiment described above, since the master processor 210 can be operated at the same speed with error correction subsequent to the pilot processor 220 that operates at high speed without error correction, both processing performance and reliability are high. A computer system can be realized.

【0018】マスタプロセッサ210とパイロットプロ
セッサ220とがメモリ(MEM)310を共用する場
合の回路構成の実施例を図9に示す。パイロットプロセ
ッサ220からのアドレス221は誤り訂正回路(EC
C CKT)110内のアドレスレジスタ(ADD R
EG)116をへてアドレス211′としてメモリ31
0に接続しているのが従来の方式と異なる特徴である。
FIG. 9 shows an embodiment of a circuit configuration when the master processor 210 and the pilot processor 220 share the memory (MEM) 310. The address 221 from the pilot processor 220 is an error correction circuit (EC
Address register (ADD R in C CKT) 110
EG) 116 to the address 211 'and the memory 31
Connecting to 0 is a characteristic different from the conventional method.

【0019】本実施例の(1)リードアクセス,(2)フ
ル−ライトアクセス,(3)パーシャル−ライトアクセス
それぞれの動作を以下に説明する。
The operations of (1) read access, (2) full-write access, and (3) partial-write access of this embodiment will be described below.

【0020】(1) リードアクセス リードアクセス時には、パイロットプロセッサ220か
らのアドレス221に基づきメモリ310からデータ2
13′、および誤り訂正符号213″が出力される。こ
れらのうちデータ213′はパイロットプロセッサ22
0にデータ223として供給される。従って、パイロット
プロセッサ220はこの時点でリードアクセスを終了
し、次の命令の実行に移る。
(1) Read access At the time of read access, the data 2 is read from the memory 310 based on the address 221 from the pilot processor 220.
13 'and the error correction code 213 "are output. Of these, the data 213' is the pilot processor 22.
0 is supplied as data 223. Therefore, the pilot processor 220 ends the read access at this point and moves on to the execution of the next instruction.

【0021】メモリ310から読みだしたデータ21
3′、および誤り訂正符号213″に基づき、誤り訂正
符号デコーダ(ECC DEC)103は、誤りの有無,
シンドローム(誤りビット位置を示す信号)108を決
定する。誤りの無い場合には読みだしたデータ212′
はそのままデータレジスタ101に格納され、誤りのあ
る場合にはシンドローム信号108に従い誤り訂正回路
104により訂正されてデータレジスタ101に格納さ
れる。また、誤りがある場合にはメモリ310内のデー
タを訂正するために、データレジスタ101に格納され
てるデータは誤り訂正符号エンコーダ(ECC ENC)
102で生成された誤り訂正符号213″とともに、デ
ータ213′としてメモリ310に書き込まれる。
Data 21 read from the memory 310
3 ′ and the error correction code 213 ″, the error correction code decoder (ECC DEC) 103 determines whether or not there is an error.
The syndrome (signal indicating the error bit position) 108 is determined. If there is no error, the read data 212 '
Are stored in the data register 101 as they are, and when there is an error, they are corrected by the error correction circuit 104 according to the syndrome signal 108 and stored in the data register 101. If there is an error, the data stored in the data register 101 is corrected by an error correction code encoder (ECC ENC) in order to correct the data in the memory 310.
It is written in the memory 310 as data 213 ′ together with the error correction code 213 ″ generated in 102.

【0022】マスタプロセッサ210がリードアクセス
をしたときには既に誤り訂正が済みデータレジスタ10
1に格納されている。従って、訂正済みのデータをデー
タ213としてマスタプロセッサ210に直ちに供給す
ることができる。マスタプロセッサ210はこの時点で
リードアクセスを終了し、次の命令の実行に移る。以上
のように先行しているパイロットプロセッサ220の動
作に基づいてメモリ310からのデータ読み出し,誤り
訂正の動作が先行して実行されるので、マスタプロセッ
サ210のリードアクセス開始から開始から終了までの
時間を短縮することができる。
When the master processor 210 makes a read access, error correction has already been performed on the data register 10.
It is stored in 1. Therefore, the corrected data can be immediately supplied to the master processor 210 as the data 213. The master processor 210 terminates the read access at this point and moves to the execution of the next instruction. As described above, since the data reading from the memory 310 and the error correction operation are executed in advance based on the preceding operation of the pilot processor 220, the time from the start of the read access of the master processor 210 to the end of the read access. Can be shortened.

【0023】(2) フル−ライトアクセス ライトアクセス時にはメモリ310に書き込むデータと
してパイロットプロセッサ220からのデータ223を
使用する場合と、マスタプロセッサ210からのデータ
213を使用する場合の二つの場合が考えられる。いず
れの方法にせよ、書き込むべきデータはデータレジスタ
101をへて、誤り訂正符号エンコーダ102で生成さ
れた誤り訂正符号213″とともに、データ213′と
してメモリ310に書き込まれる。
(2) Full-write access At the time of write access, there are two cases, one is to use the data 223 from the pilot processor 220 as the data to be written in the memory 310 and the other is to use the data 213 from the master processor 210. . Regardless of which method is used, the data to be written is written in the memory 310 as the data 213 ′ together with the error correction code 213 ″ generated by the error correction code encoder 102 through the data register 101.

【0024】メモリ310に書き込むデータとしてパイ
ロットプロセッサ220からのデータ223を使用する
場合には、マスタプロセッサ210からのアクセスに先
立って誤り訂正符号エンコーダ102で誤り訂正符号を
生成しておけるので従来方式よりも高速化できる。しか
し、パイロットプロセッサ220は誤り訂正無しで動作
するので、データ223が誤っている確率はマスタプロ
セッサ210からのデータ213よりも高い。従って、
データ223が誤っている場合には替わりにデータ21
3を使用するようにすれば、さらに信頼性を高められ
る。
When the data 223 from the pilot processor 220 is used as the data to be written in the memory 310, the error correction code encoder 102 can generate the error correction code prior to the access from the master processor 210. Can be faster. However, because pilot processor 220 operates without error correction, data 223 is more likely to be erroneous than data 213 from master processor 210. Therefore,
If the data 223 is incorrect, the data 21
If 3 is used, the reliability can be further improved.

【0025】一方、メモリ310に書き込むデータとし
てマスタプロセッサ210からのデータ213を使用す
る場合には、フル−ライトアクセスについては従来方式
を比べて高速化のメリットは無いが、先に述べたような
データ223が誤っている場合には替わりにデータ21
3を使用する工夫は不要である。
On the other hand, when the data 213 from the master processor 210 is used as the data to be written in the memory 310, the full-write access has no merit of speeding up as compared with the conventional method, but as described above. If the data 223 is incorrect, the data 21
No ingenuity using 3 is required.

【0026】(3) パーシャル−ライトアクセス 誤り訂正符号はより少ないビット数の誤り訂正符号でよ
り多くのビット数のデータの誤り訂正を可能とし、ビッ
ト利用効率を向上するために1ワード単位または複数バ
イト単位で生成されることが多い。従って、1ワードの
うち一部のバイトしかデータが書き替えられないパーシ
ャル−ライトアクセス時においても1ワード単位または
複数バイト単位のデータに基づいて誤り訂正符号を生成
する必要がある。この場合、1ワード単位または複数バ
イトのデータの一部のバイトは新規に書き替えられ、残
りのバイトは旧来のままでなければならない。従って、
あらかじめ1ワード全体をデータレジスタ101に読み
込んでおき、必要なバイトのデータのみを重ね書きし
て、誤り訂正符号を生成してメモリに書き込む必要があ
る。
(3) Partial-write access The error correction code enables error correction of data having a larger number of bits with an error correction code having a smaller number of bits, and in order to improve bit utilization efficiency, one word unit or a plurality of words are used. Often generated in bytes. Therefore, it is necessary to generate the error correction code based on the data in units of one word or in units of a plurality of bytes even in the partial-write access in which only some of the bytes in one word are rewritten. In this case, some bytes of 1-word unit or plural bytes of data must be newly rewritten, and the remaining bytes must remain the same. Therefore,
It is necessary to read an entire word in advance in the data register 101, overwrite only the necessary bytes of data, generate an error correction code, and write it in the memory.

【0027】パーシャル−ライトアクセス時には、パイ
ロットプロセッサ220からのアドレス221に基づき
メモリ310からデータ213′、および誤り訂正符号
213″が出力される。メモリ310から読みだしたデ
ータ213′、および誤り訂正符号213″に基づき、
誤り訂正符号デコーダ103は、誤りの有無,シンドロ
ーム(誤りビット位置を示す信号)108を決定する。
誤りの無い場合には読みだしたデータ212′はそのま
まデータレジスタ101に格納され、誤りのある場合に
は誤り訂正回路104により訂正されてデータレジスタ
101に格納される。ここで、データレジスタ101に
格納されているデータに必要なバイトのデータのみを重
ね書きして、誤り訂正符号エンコーダ102で生成され
た誤り訂正符号213″とともに、データ213′とし
てメモリ310に書き込む。本実施例によれば、パーシ
ャル−ライトのための1ワード全体の読み込みをマスタ
プロセッサ210の動作に先行して実行できるのでその
分高速化が図れる。なお先に述べたようにパーシャル−
ライトの場合も、重ね書きするデータはパイロットプロ
セッサ220からのデータ223を使用する場合と、マ
スタプロセッサ210からのデータ213を使用する場
合の二つの場合が考えられる。パイロットプロセッサ2
20からのデータ223を使用する場合には、マスタプ
ロセッサ210からのアクセスに先立って誤り訂正符号
エンコーダ102で誤り訂正符号を生成しておけるので
従来方式よりも高速化できる。しかし、パイロットプロ
セッサ220は誤り訂正無しで動作するので、データ2
23が誤っている確率はマスタプロセッサ210からの
データ213よりも高い。従って、データ223が誤って
いる場合には替わりにデータ213を使用するようにす
れば、さらに信頼性を高められる。
At the time of partial-write access, data 213 'and error correction code 213 "are output from memory 310 based on address 221 from pilot processor 220. Data 213' read from memory 310 and error correction code. Based on 213 "
The error correction code decoder 103 determines the presence / absence of an error and the syndrome (signal indicating the error bit position) 108.
If there is no error, the read data 212 'is stored as it is in the data register 101, and if there is an error, it is corrected by the error correction circuit 104 and stored in the data register 101. Here, only the necessary byte data is overwritten on the data stored in the data register 101, and is written in the memory 310 as the data 213 ′ together with the error correction code 213 ″ generated by the error correction code encoder 102. According to the present embodiment, the reading of the entire one word for the partial-write can be executed prior to the operation of the master processor 210, and accordingly, the speedup can be achieved.
In the case of writing, there are two cases in which data to be overwritten uses the data 223 from the pilot processor 220 and the data 213 from the master processor 210. Pilot processor 2
When the data 223 from 20 is used, the error correcting code can be generated by the error correcting code encoder 102 prior to the access from the master processor 210, so that the speed can be increased as compared with the conventional method. However, since the pilot processor 220 operates without error correction, data 2
The probability that 23 is incorrect is higher than the data 213 from the master processor 210. Therefore, if the data 223 is incorrect, if the data 213 is used instead, the reliability can be further improved.

【0028】一方、マスタプロセッサ210からのデー
タ213を使用する場合には、従来方式に比べて高速化
のメリットは無いが、先に述べたようなデータ223が
誤っている場合には替わりにデータ213を使用するよ
うな工夫は不要である。
On the other hand, when the data 213 from the master processor 210 is used, there is no merit of speeding up as compared with the conventional method, but when the data 223 as described above is erroneous, the data is replaced instead. No ingenuity such as using 213 is necessary.

【0029】以上述べた3種類のアクセス形態は、パイ
ロットプロセッサ220からの読み書きの区別を表す信
号や、バイトサイズを表す信号などからなるコントロー
ル信号222(図示していない)によりマスタプロセッ
サ210の動作に先立って判断することができるのはい
うまでもないことである。
The above-mentioned three types of access modes allow the master processor 210 to operate by a control signal 222 (not shown) including a signal indicating read / write discrimination from the pilot processor 220 and a signal indicating a byte size. It goes without saying that you can make decisions in advance.

【0030】図10は図9の実施例でマスタプロセッサ
210とパイロットプロセッサ220からのアドレス21
1,221,データ213,223同士を比較照合回路
(CMP)106,107で比較照合するようにした実
施例である。なお図示していないが、マスタプロセッサ
210とパイロットプロセッサ220からのコントロー
ル信号212,222を比較チェックすることも可能で
ある。
FIG. 10 shows the address 21 from the master processor 210 and pilot processor 220 in the embodiment of FIG.
This is an embodiment in which the comparison and comparison circuits (CMP) 106 and 107 compare and collate 1, 221, data 213, and 223. Although not shown, it is also possible to compare and check the control signals 212 and 222 from the master processor 210 and the pilot processor 220.

【0031】図11はマスタプロセッサ210とパイロ
ットプロセッサ220とがそれぞれ個別にメモリ310
と320を有している実施例である。本実施例の動作は
基本的には図1に示す実施例と同じである。両者の動作
の違いは、(1) リードアクセス時に図2の実施例では
パイロットプロセッサ220はメモリ320からのデー
タを誤り訂正無で読み込んで次の動作に移る点と(2)
フル−ライトアクセス時とパーシャル−ライトアクセス
時に図2の実施例ではパイロットプロセッサ220がメ
モリ320にデータを書き込む点である。本実施例によ
れば、マスタプロセッサ210とパイロットプロセッサ
220とがそれぞれ個別にメモリ310と320とを用
いるので、図1の実施例での両プロセッサ間のメモリ使
用の競合発生の頻度が低下しないので、競合による動作
速度の低下が少ない。
In FIG. 11, the master processor 210 and the pilot processor 220 individually have memories 310.
And 320. The operation of this embodiment is basically the same as that of the embodiment shown in FIG. The difference between the two operations is that (1) the pilot processor 220 reads the data from the memory 320 without error correction in the embodiment of FIG. 2 during read access, and moves to the next operation (2).
In the embodiment of FIG. 2, the pilot processor 220 writes data to the memory 320 at the time of full-write access and at the time of partial-write access. According to the present embodiment, since the master processor 210 and the pilot processor 220 respectively use the memories 310 and 320 respectively, the frequency of occurrence of memory usage conflict between both processors in the embodiment of FIG. 1 does not decrease. , There is little decrease in operating speed due to competition.

【0032】図12は図11の実施例でマスタプロセッ
サ210とパイロットプロセッサ220からのアドレス
211,221,データ213,223同士を比較照合
回路106,107で比較照合するようにした実施例で
ある。なお図示していないが、マスタプロセッサ210
とパイロットプロセッサ220からのコントロール信号
212,222を比較チェックすることも可能である。
FIG. 12 shows an embodiment in which addresses 211 and 221 and data 213 and 223 from the master processor 210 and pilot processor 220 are compared and compared by the comparison and comparison circuits 106 and 107 in the embodiment of FIG. Although not shown, the master processor 210
It is also possible to compare and check the control signals 212 and 222 from the pilot processor 220.

【0033】図5,図6に示す実施例によれば、メモリ
310,320での誤りを誤り訂正符号で検出訂正でき
る上に両プロセッサの出力同士を比較チェックすること
により、プロセッサで発生した誤りも検出することがで
きる。なお、比較照合回路(CMP)106,107と
して発明者等がすでに発明している特願平6−27664号記
載の比較器を用いれば、比較照合回路(CMP)10
6,107自体もセルフチェッキングとすることができ
るので、誤り検出率を高めることが可能となる。
According to the embodiments shown in FIGS. 5 and 6, the errors in the memories 310 and 320 can be detected and corrected by the error correction code, and the outputs of both processors are compared and checked to thereby detect the error generated in the processors. Can also be detected. If the comparators described in Japanese Patent Application No. 6-27664 already invented by the inventors are used as the comparison and collation circuits (CMP) 106 and 107, the comparison and collation circuits (CMP) 10
Since 6, 107 themselves can be self-checking, the error detection rate can be increased.

【0034】以上、誤り訂正符号についての実施例につ
いて述べたが、パリティなどによる誤り検出のみの場合
にも本発明は同様に適用が可能である。
Although the embodiment of the error correction code has been described above, the present invention can be similarly applied to the case of only error detection by parity or the like.

【0035】[0035]

【発明の効果】本発明によれば、先行して動作するパイ
ロットプロセッサからの信号により誤り訂正回路を先行
動作させることができるので、オーバヘッドを掛けずに
誤り訂正を可能とする。
According to the present invention, since the error correction circuit can be operated in advance by the signal from the pilot processor which operates in advance, error correction can be performed without applying overhead.

【図面の簡単な説明】[Brief description of drawings]

【図1】リードアクセス時の動作のブロック図。FIG. 1 is a block diagram of an operation during read access.

【図2】ライトアクセス時の動作のブロック図。FIG. 2 is a block diagram of an operation during write access.

【図3】比較チェック付きリードアクセス時の動作のブ
ロック図。
FIG. 3 is a block diagram of an operation during read access with comparison check.

【図4】比較チェック付きライトアクセス時の動作のブ
ロック図。
FIG. 4 is a block diagram of an operation during write access with comparison check.

【図5】従来技術による動作の説明図。FIG. 5 is an explanatory diagram of an operation according to a conventional technique.

【図6】本発明による動作の説明図。FIG. 6 is an explanatory diagram of an operation according to the present invention.

【図7】競合発生条件の説明図。FIG. 7 is an explanatory diagram of a conflict occurrence condition.

【図8】競合発生時の動作の説明図。FIG. 8 is an explanatory diagram of an operation when a conflict occurs.

【図9】回路構成の実施例(共有メモリ)のブロック
図。
FIG. 9 is a block diagram of an example (shared memory) of a circuit configuration.

【図10】回路構成の実施例(共有メモリ,比較チェッ
ク付き)のブロック図。
FIG. 10 is a block diagram of an example of a circuit configuration (shared memory, with comparison check).

【図11】回路構成の実施例(個別メモリ)のブロック
図。
FIG. 11 is a block diagram of a circuit configuration example (individual memory).

【図12】回路構成の実施例(個別メモリ,比較チェッ
ク付き)のブロック図。
FIG. 12 is a block diagram of an example of a circuit configuration (individual memory, with comparison check).

【符号の説明】[Explanation of symbols]

210…マスタプロセッサ、220…パイロットプロセ
ッサ、230…誤り訂正回路、310…メモリ。
210 ... Master processor, 220 ... Pilot processor, 230 ... Error correction circuit, 310 ... Memory.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】誤り検出訂正なしでメモリにアクセスする
第一のプロセッサと、誤り検出訂正付きでメモリにアク
セスする第二のプロセッサとを有し、 前記第一のプロセッサは前記第二のプロセッサよりも先
行して前記第二のプロセッサと同一の命令を実行し、前
記第二のプロセッサが誤り検出訂正付きでメモリにアク
セスするための誤り検出訂正回路は、前記第一のプロセ
ッサが出力する信号に基づき前記第二のプロセッサの動
作よりも先行して動作することを特徴とするフォールト
トレラントコンピュータシステム。
1. A first processor for accessing the memory without error detection and correction, and a second processor for accessing the memory with error detection and correction, wherein the first processor is more than the second processor. Also executes the same instruction as the second processor in advance, the error detection and correction circuit for the second processor to access the memory with error detection and correction, the signal output by the first processor A fault-tolerant computer system, wherein the fault-tolerant computer system operates prior to the operation of the second processor.
【請求項2】請求項1において、前記第一のプロセッサ
と前記第二のプロセッサの出力する信号同士を比較し、
不一致の場合には異常とみなすフォールトトレラントコ
ンピュータシステム。
2. The signal according to claim 1, wherein the signals output from the first processor and the second processor are compared with each other,
A fault-tolerant computer system that is considered abnormal if it does not match.
JP6310226A 1994-12-14 1994-12-14 Fault tolerant computer system Pending JPH08166891A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6310226A JPH08166891A (en) 1994-12-14 1994-12-14 Fault tolerant computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6310226A JPH08166891A (en) 1994-12-14 1994-12-14 Fault tolerant computer system

Publications (1)

Publication Number Publication Date
JPH08166891A true JPH08166891A (en) 1996-06-25

Family

ID=18002715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6310226A Pending JPH08166891A (en) 1994-12-14 1994-12-14 Fault tolerant computer system

Country Status (1)

Country Link
JP (1) JPH08166891A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003517340A (en) * 1998-10-21 2003-05-27 デカ・プロダクツ・リミテッド・パートナーシップ Fault-tolerant design for personal vehicles

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003517340A (en) * 1998-10-21 2003-05-27 デカ・プロダクツ・リミテッド・パートナーシップ Fault-tolerant design for personal vehicles
JP4684418B2 (en) * 1998-10-21 2011-05-18 デカ・プロダクツ・リミテッド・パートナーシップ Fault tolerant design for personal vehicles

Similar Documents

Publication Publication Date Title
US6216247B1 (en) 32-bit mode for a 64-bit ECC capable memory subsystem
US5692121A (en) Recovery unit for mirrored processors
JP5010271B2 (en) Error correction code generation method and memory control device
US20120117428A1 (en) Cache memory system
JP2001249854A (en) Shared error correction for designing memory
JPH02135536A (en) Check point retrial mechanism
US20120079346A1 (en) Simulated error causing apparatus
US4918695A (en) Failure detection for partial write operations for memories
EP2370899B1 (en) Poison bit error checking code scheme
JPH0594377A (en) Parity detecting circuit
JP6332134B2 (en) Memory diagnostic circuit
JPS59214952A (en) Processing system of fault
JPH08166891A (en) Fault tolerant computer system
JPH0316655B2 (en)
JPH01194046A (en) Memory access system
JPH0644238B2 (en) Instruction re-execution control method
JPH06149685A (en) Memory error recovering circuit
WO2016042751A1 (en) Memory diagnosis circuit
JPS59129995A (en) Storage device
JPS61139836A (en) Instruction control system of pipeline computer
JPH01133147A (en) Data processor
JPH02143352A (en) Memory error detection and correction system
JPH0259843A (en) Memory device
JPH01222357A (en) Soft error identifying method
JPS58137196A (en) Storage device