JPH08166891A - フォールトトレラントコンピュータシステム - Google Patents
フォールトトレラントコンピュータシステム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
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
(57)【要約】
【構成】パイロットプロセッサ220を誤り訂正無でマ
スタプロセッサ210よりも先行して動作させ、先行し
ているパイロットプロセッサ220からの信号に基づい
て誤り訂正回路230を先行動作させて、誤り訂正済み
のデータをマスタプロセッサ210に供給する。 【効果】オーバヘッドを掛けずに誤り訂正が可能とな
り、処理速度の低下を招かないシステムを実現できる。
スタプロセッサ210よりも先行して動作させ、先行し
ているパイロットプロセッサ220からの信号に基づい
て誤り訂正回路230を先行動作させて、誤り訂正済み
のデータをマスタプロセッサ210に供給する。 【効果】オーバヘッドを掛けずに誤り訂正が可能とな
り、処理速度の低下を招かないシステムを実現できる。
Description
【0001】
【産業上の利用分野】本発明は、検出訂正方式およびフ
ォールトトレラントコンピュータシステムに係り、特
に、高速動作に好適な検出訂正方式およびフォールトト
レラントコンピュータシステムに関する。
ォールトトレラントコンピュータシステムに係り、特
に、高速動作に好適な検出訂正方式およびフォールトト
レラントコンピュータシステムに関する。
【0002】
【従来の技術】メモリ(記憶装置)に記憶されているデー
タの一部のビットが電気的雑音や、放射線,宇宙線など
の影響を受けて反転し、データが誤ったものになるソフ
トエラーやシングルイベントアップセットと呼ばれる現
象が発生することがある。この現象が発生すると、コン
ピュータシステムの正常な動作が妨げられ、信頼性を低
下させる。この現象は宇宙などの特殊な環境では特に頻
発する傾向にある。また、地上でも高い信頼性が要求さ
れるシステムではこの現象の影響は無視できない。
タの一部のビットが電気的雑音や、放射線,宇宙線など
の影響を受けて反転し、データが誤ったものになるソフ
トエラーやシングルイベントアップセットと呼ばれる現
象が発生することがある。この現象が発生すると、コン
ピュータシステムの正常な動作が妨げられ、信頼性を低
下させる。この現象は宇宙などの特殊な環境では特に頻
発する傾向にある。また、地上でも高い信頼性が要求さ
れるシステムではこの現象の影響は無視できない。
【0003】メモリのデータの誤りに対処するためには
従来からデータにパリティビットを付加して誤りを検出
する方法や、パリティよりもさらに冗長度の高い誤り訂
正符号を付加して誤りを検出訂正する方法が広く用いら
れている。
従来からデータにパリティビットを付加して誤りを検出
する方法や、パリティよりもさらに冗長度の高い誤り訂
正符号を付加して誤りを検出訂正する方法が広く用いら
れている。
【0004】
【発明が解決しようとする課題】従来技術では信頼性向
上については十分な考慮がされていたが、動作の高速化
については十分な考慮がされていなかった。
上については十分な考慮がされていたが、動作の高速化
については十分な考慮がされていなかった。
【0005】例えば、メモリにデータを書き込む際に
は、誤り検出訂正用のパリティビット、誤り訂正符号を
生成して、データとともにメモリに書き込まなければな
らない。従ってパリティビット,誤り訂正符号を持たな
い通常のコンピュータシステムと比べて、これらの符号
の生成のための時間だけ余分な時間(オーバヘッド)が
必要となり、動作速度が低下する。
は、誤り検出訂正用のパリティビット、誤り訂正符号を
生成して、データとともにメモリに書き込まなければな
らない。従ってパリティビット,誤り訂正符号を持たな
い通常のコンピュータシステムと比べて、これらの符号
の生成のための時間だけ余分な時間(オーバヘッド)が
必要となり、動作速度が低下する。
【0006】また、メモリからデータを読み出す際に
は、メモリからデータとともにパリティビット,誤り訂
正符号を読みだし、データと照合して誤りの有無を確認
し、誤り訂正符号の場合には誤り発生時にはさらに誤り
の訂正をしなければならない。従ってパリティビット,
誤り訂正符号を持たない通常のコンピュータシステムと
比べて、データとパリティビット,誤り訂正符号との照
合、誤り訂正のための時間だけ余分な時間(オーバヘッ
ド)が必要となり、動作速度が低下する。
は、メモリからデータとともにパリティビット,誤り訂
正符号を読みだし、データと照合して誤りの有無を確認
し、誤り訂正符号の場合には誤り発生時にはさらに誤り
の訂正をしなければならない。従ってパリティビット,
誤り訂正符号を持たない通常のコンピュータシステムと
比べて、データとパリティビット,誤り訂正符号との照
合、誤り訂正のための時間だけ余分な時間(オーバヘッ
ド)が必要となり、動作速度が低下する。
【0007】本発明の目的は、パリティビット,誤り訂
正符号を付加することによる動作速度の低下を無くし、
パリティビット,誤り訂正符号を持たない通常のコンピ
ュータシステムと比べて何ら遜色の無い速度で動作でき
るコンピュータシステムを提供することにある。
正符号を付加することによる動作速度の低下を無くし、
パリティビット,誤り訂正符号を持たない通常のコンピ
ュータシステムと比べて何ら遜色の無い速度で動作でき
るコンピュータシステムを提供することにある。
【0008】
【課題を解決するための手段】従来技術の課題を解決す
るために本発明では以下の手段を講じる。
るために本発明では以下の手段を講じる。
【0009】まず、誤り検出訂正なしでメモリにアクセ
スするプロセッサ(パイロットプロセッサ)と、誤り検
出訂正付きでメモリにアクセスするプロセッサ(マスタ
プロセッサ)とを用意し、両者に同じ動作(命令実行)
をさせる。すると、誤り検出訂正のためのオーバヘッド
を要しないパイロットプロセッサはマスタプロセッサよ
りも先行して動作することができる。つまり、先行して
動作しているパイロットプロセッサの動作をモニタする
ことによりによりマスタプロセッサの動作を事前に予見
することが可能となる。この点に着目し、マスタプロセ
ッサが誤り検出訂正付きでメモリにアクセスするための
誤り検出訂正回路をパイロットプロセッサからの信号に
基づき先行して動作させる。
スするプロセッサ(パイロットプロセッサ)と、誤り検
出訂正付きでメモリにアクセスするプロセッサ(マスタ
プロセッサ)とを用意し、両者に同じ動作(命令実行)
をさせる。すると、誤り検出訂正のためのオーバヘッド
を要しないパイロットプロセッサはマスタプロセッサよ
りも先行して動作することができる。つまり、先行して
動作しているパイロットプロセッサの動作をモニタする
ことによりによりマスタプロセッサの動作を事前に予見
することが可能となる。この点に着目し、マスタプロセ
ッサが誤り検出訂正付きでメモリにアクセスするための
誤り検出訂正回路をパイロットプロセッサからの信号に
基づき先行して動作させる。
【0010】
【作用】本発明は、パイロットプロセッサは誤り検出訂
正のためのオーバヘッドを要しないため、高速で動作で
きる。そのうえマスタプロセッサが誤り検出訂正付きで
メモリにアクセスするための誤り検出訂正回路は、パイ
ロットプロセッサの動作に基づき先行動作するため、マ
スタプロセッサのための誤り検出訂正にかかるオーバヘ
ッドを隠蔽し、マスタプロセッサを事実上パイロットプ
ロセッサと同じ速度で、しかも誤り検出訂正付きで動作
させることができる。さらにパイロットプロセッサ,マ
スタプロセッサの二つのプロセッサの出力を比較チェッ
クすれば、プロセッサ自体のセルフチェッキング化が図
れる。
正のためのオーバヘッドを要しないため、高速で動作で
きる。そのうえマスタプロセッサが誤り検出訂正付きで
メモリにアクセスするための誤り検出訂正回路は、パイ
ロットプロセッサの動作に基づき先行動作するため、マ
スタプロセッサのための誤り検出訂正にかかるオーバヘ
ッドを隠蔽し、マスタプロセッサを事実上パイロットプ
ロセッサと同じ速度で、しかも誤り検出訂正付きで動作
させることができる。さらにパイロットプロセッサ,マ
スタプロセッサの二つのプロセッサの出力を比較チェッ
クすれば、プロセッサ自体のセルフチェッキング化が図
れる。
【0011】
【実施例】図に従い、以下本発明の実施例について説明
を加える。
を加える。
【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の動作
にかかるオーバヘッドが見えなくなる。
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の動作
にかかるオーバヘッドが見えなくなる。
【0013】また、本発明によるライトアクセス時の動
作を図2に概念的に示す。パイロットプロセッサ220
から出力されたデータ223に対応するECC(誤り訂
正符号)を誤り訂正回路230が生成して、アドレス2
21,制御信号222に従って、メモリ310に書き込
む。ライトアクセス時にはマスタプロセッサ210,パ
イロットプロセッサ220共に誤り訂正回路230にデ
ータ223を渡しさえすれば、メモリ310への書き込
みを終了するのを待たずに次の命令の実行に移ることが
できる。
作を図2に概念的に示す。パイロットプロセッサ220
から出力されたデータ223に対応するECC(誤り訂
正符号)を誤り訂正回路230が生成して、アドレス2
21,制御信号222に従って、メモリ310に書き込
む。ライトアクセス時にはマスタプロセッサ210,パ
イロットプロセッサ220共に誤り訂正回路230にデ
ータ223を渡しさえすれば、メモリ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に書き込むことを防止
できる。
イロットプロセッサ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に書き込むことを防止
できる。
【0015】図5は従来技術による誤り訂正回路の動作
を模式的に示したものである。一方、図6は本発明によ
る誤り訂正回路の動作を模式的に示したものである。図
5に示すように従来技術による方法では、メモリにアク
セスする命令の実行の度に誤り検出/訂正のためのオー
バヘッドがかかり、処理性能の低下を招く。一方、本発
明による方法では図6に示すようにオーバヘッドを無く
すことが可能である。以下に本発明による方法の動作に
ついて説明する。パイロットプロセッサ220とマスタ
プロセッサ210はリセット後同時に最初の命令inst.1
の実行を開始する。誤り訂正によるオーバヘッドの分だ
けマスタプロセッサ210はinst.1の実行終了が遅れ
る。マスタプロセッサ210が命令inst.2の実行を開始
したときには、パイロットプロセッサ220は既に命令
inst.2の実行を終え、誤り訂正回路もパイロットプロセ
ッサ220に従い先行して動作しているので、マスタプ
ロセッサ210は誤り訂正によるオーバヘッドなく命令
inst.2の実行を終えることができる。以上のようにし
て、マスタプロセッサ210は先行しているパイロット
プロセッサ220の動作に基づき誤り訂正によるオーバ
ヘッドなく命令を次々と実行することができる。
を模式的に示したものである。一方、図6は本発明によ
る誤り訂正回路の動作を模式的に示したものである。図
5に示すように従来技術による方法では、メモリにアク
セスする命令の実行の度に誤り検出/訂正のためのオー
バヘッドがかかり、処理性能の低下を招く。一方、本発
明による方法では図6に示すようにオーバヘッドを無く
すことが可能である。以下に本発明による方法の動作に
ついて説明する。パイロットプロセッサ220とマスタ
プロセッサ210はリセット後同時に最初の命令inst.1
の実行を開始する。誤り訂正によるオーバヘッドの分だ
けマスタプロセッサ210はinst.1の実行終了が遅れ
る。マスタプロセッサ210が命令inst.2の実行を開始
したときには、パイロットプロセッサ220は既に命令
inst.2の実行を終え、誤り訂正回路もパイロットプロセ
ッサ220に従い先行して動作しているので、マスタプ
ロセッサ210は誤り訂正によるオーバヘッドなく命令
inst.2の実行を終えることができる。以上のようにし
て、マスタプロセッサ210は先行しているパイロット
プロセッサ220の動作に基づき誤り訂正によるオーバ
ヘッドなく命令を次々と実行することができる。
【0016】なお図6は、パイロットプロセッサ220
とマスタプロセッサ210がメモリ,誤り訂正回路を共
有することに起因するメモリの競合が発生しない理想的
な場合を想定して示したものである。実際には前後する
命令によってはパイロットプロセッサ220とマスタプ
ロセッサ210が同時にメモリ,誤り訂正回路を占有す
る異なる命令を実行することになり図7のようにメモ
リ,誤り訂正回路の競合が発生する。図中、NGが競合
の発生していることを示し、OKが競合の発生していな
いことを示している。尚、図中省略しているが、外部メ
モリをアクセスしない命令(例えば、演算命令,レジス
タアクセス,内蔵キャッシュメモリのみをアクセスする
命令など)の前後では全く競合が生じないことは言うま
でもない。競合が発生した場合には、競合が解消した後
にパイロットプロセッサ220は次の命令を実行すれば
よい。命令inst.3とinst.4の間で競合が発生した場合
の動作の様子を図8に示す。
とマスタプロセッサ210がメモリ,誤り訂正回路を共
有することに起因するメモリの競合が発生しない理想的
な場合を想定して示したものである。実際には前後する
命令によってはパイロットプロセッサ220とマスタプ
ロセッサ210が同時にメモリ,誤り訂正回路を占有す
る異なる命令を実行することになり図7のようにメモ
リ,誤り訂正回路の競合が発生する。図中、NGが競合
の発生していることを示し、OKが競合の発生していな
いことを示している。尚、図中省略しているが、外部メ
モリをアクセスしない命令(例えば、演算命令,レジス
タアクセス,内蔵キャッシュメモリのみをアクセスする
命令など)の前後では全く競合が生じないことは言うま
でもない。競合が発生した場合には、競合が解消した後
にパイロットプロセッサ220は次の命令を実行すれば
よい。命令inst.3とinst.4の間で競合が発生した場合
の動作の様子を図8に示す。
【0017】以上述べた実施例により、誤り訂正なしで
高速で動作するパイロットプロセッサ220に引き続い
てマスタプロセッサ210を同じ速度で誤り訂正付きで
動作させることができるので、処理性能と信頼性が共に
高いコンピュータシステムを実現できる。
高速で動作するパイロットプロセッサ220に引き続い
てマスタプロセッサ210を同じ速度で誤り訂正付きで
動作させることができるので、処理性能と信頼性が共に
高いコンピュータシステムを実現できる。
【0018】マスタプロセッサ210とパイロットプロ
セッサ220とがメモリ(MEM)310を共用する場
合の回路構成の実施例を図9に示す。パイロットプロセ
ッサ220からのアドレス221は誤り訂正回路(EC
C CKT)110内のアドレスレジスタ(ADD R
EG)116をへてアドレス211′としてメモリ31
0に接続しているのが従来の方式と異なる特徴である。
セッサ220とがメモリ(MEM)310を共用する場
合の回路構成の実施例を図9に示す。パイロットプロセ
ッサ220からのアドレス221は誤り訂正回路(EC
C CKT)110内のアドレスレジスタ(ADD R
EG)116をへてアドレス211′としてメモリ31
0に接続しているのが従来の方式と異なる特徴である。
【0019】本実施例の(1)リードアクセス,(2)フ
ル−ライトアクセス,(3)パーシャル−ライトアクセス
それぞれの動作を以下に説明する。
ル−ライトアクセス,(3)パーシャル−ライトアクセス
それぞれの動作を以下に説明する。
【0020】(1) リードアクセス リードアクセス時には、パイロットプロセッサ220か
らのアドレス221に基づきメモリ310からデータ2
13′、および誤り訂正符号213″が出力される。こ
れらのうちデータ213′はパイロットプロセッサ22
0にデータ223として供給される。従って、パイロット
プロセッサ220はこの時点でリードアクセスを終了
し、次の命令の実行に移る。
らのアドレス221に基づきメモリ310からデータ2
13′、および誤り訂正符号213″が出力される。こ
れらのうちデータ213′はパイロットプロセッサ22
0にデータ223として供給される。従って、パイロット
プロセッサ220はこの時点でリードアクセスを終了
し、次の命令の実行に移る。
【0021】メモリ310から読みだしたデータ21
3′、および誤り訂正符号213″に基づき、誤り訂正
符号デコーダ(ECC DEC)103は、誤りの有無,
シンドローム(誤りビット位置を示す信号)108を決
定する。誤りの無い場合には読みだしたデータ212′
はそのままデータレジスタ101に格納され、誤りのあ
る場合にはシンドローム信号108に従い誤り訂正回路
104により訂正されてデータレジスタ101に格納さ
れる。また、誤りがある場合にはメモリ310内のデー
タを訂正するために、データレジスタ101に格納され
てるデータは誤り訂正符号エンコーダ(ECC ENC)
102で生成された誤り訂正符号213″とともに、デ
ータ213′としてメモリ310に書き込まれる。
3′、および誤り訂正符号213″に基づき、誤り訂正
符号デコーダ(ECC DEC)103は、誤りの有無,
シンドローム(誤りビット位置を示す信号)108を決
定する。誤りの無い場合には読みだしたデータ212′
はそのままデータレジスタ101に格納され、誤りのあ
る場合にはシンドローム信号108に従い誤り訂正回路
104により訂正されてデータレジスタ101に格納さ
れる。また、誤りがある場合にはメモリ310内のデー
タを訂正するために、データレジスタ101に格納され
てるデータは誤り訂正符号エンコーダ(ECC ENC)
102で生成された誤り訂正符号213″とともに、デ
ータ213′としてメモリ310に書き込まれる。
【0022】マスタプロセッサ210がリードアクセス
をしたときには既に誤り訂正が済みデータレジスタ10
1に格納されている。従って、訂正済みのデータをデー
タ213としてマスタプロセッサ210に直ちに供給す
ることができる。マスタプロセッサ210はこの時点で
リードアクセスを終了し、次の命令の実行に移る。以上
のように先行しているパイロットプロセッサ220の動
作に基づいてメモリ310からのデータ読み出し,誤り
訂正の動作が先行して実行されるので、マスタプロセッ
サ210のリードアクセス開始から開始から終了までの
時間を短縮することができる。
をしたときには既に誤り訂正が済みデータレジスタ10
1に格納されている。従って、訂正済みのデータをデー
タ213としてマスタプロセッサ210に直ちに供給す
ることができる。マスタプロセッサ210はこの時点で
リードアクセスを終了し、次の命令の実行に移る。以上
のように先行しているパイロットプロセッサ220の動
作に基づいてメモリ310からのデータ読み出し,誤り
訂正の動作が先行して実行されるので、マスタプロセッ
サ210のリードアクセス開始から開始から終了までの
時間を短縮することができる。
【0023】(2) フル−ライトアクセス ライトアクセス時にはメモリ310に書き込むデータと
してパイロットプロセッサ220からのデータ223を
使用する場合と、マスタプロセッサ210からのデータ
213を使用する場合の二つの場合が考えられる。いず
れの方法にせよ、書き込むべきデータはデータレジスタ
101をへて、誤り訂正符号エンコーダ102で生成さ
れた誤り訂正符号213″とともに、データ213′と
してメモリ310に書き込まれる。
してパイロットプロセッサ220からのデータ223を
使用する場合と、マスタプロセッサ210からのデータ
213を使用する場合の二つの場合が考えられる。いず
れの方法にせよ、書き込むべきデータはデータレジスタ
101をへて、誤り訂正符号エンコーダ102で生成さ
れた誤り訂正符号213″とともに、データ213′と
してメモリ310に書き込まれる。
【0024】メモリ310に書き込むデータとしてパイ
ロットプロセッサ220からのデータ223を使用する
場合には、マスタプロセッサ210からのアクセスに先
立って誤り訂正符号エンコーダ102で誤り訂正符号を
生成しておけるので従来方式よりも高速化できる。しか
し、パイロットプロセッサ220は誤り訂正無しで動作
するので、データ223が誤っている確率はマスタプロ
セッサ210からのデータ213よりも高い。従って、
データ223が誤っている場合には替わりにデータ21
3を使用するようにすれば、さらに信頼性を高められ
る。
ロットプロセッサ220からのデータ223を使用する
場合には、マスタプロセッサ210からのアクセスに先
立って誤り訂正符号エンコーダ102で誤り訂正符号を
生成しておけるので従来方式よりも高速化できる。しか
し、パイロットプロセッサ220は誤り訂正無しで動作
するので、データ223が誤っている確率はマスタプロ
セッサ210からのデータ213よりも高い。従って、
データ223が誤っている場合には替わりにデータ21
3を使用するようにすれば、さらに信頼性を高められ
る。
【0025】一方、メモリ310に書き込むデータとし
てマスタプロセッサ210からのデータ213を使用す
る場合には、フル−ライトアクセスについては従来方式
を比べて高速化のメリットは無いが、先に述べたような
データ223が誤っている場合には替わりにデータ21
3を使用する工夫は不要である。
てマスタプロセッサ210からのデータ213を使用す
る場合には、フル−ライトアクセスについては従来方式
を比べて高速化のメリットは無いが、先に述べたような
データ223が誤っている場合には替わりにデータ21
3を使用する工夫は不要である。
【0026】(3) パーシャル−ライトアクセス 誤り訂正符号はより少ないビット数の誤り訂正符号でよ
り多くのビット数のデータの誤り訂正を可能とし、ビッ
ト利用効率を向上するために1ワード単位または複数バ
イト単位で生成されることが多い。従って、1ワードの
うち一部のバイトしかデータが書き替えられないパーシ
ャル−ライトアクセス時においても1ワード単位または
複数バイト単位のデータに基づいて誤り訂正符号を生成
する必要がある。この場合、1ワード単位または複数バ
イトのデータの一部のバイトは新規に書き替えられ、残
りのバイトは旧来のままでなければならない。従って、
あらかじめ1ワード全体をデータレジスタ101に読み
込んでおき、必要なバイトのデータのみを重ね書きし
て、誤り訂正符号を生成してメモリに書き込む必要があ
る。
り多くのビット数のデータの誤り訂正を可能とし、ビッ
ト利用効率を向上するために1ワード単位または複数バ
イト単位で生成されることが多い。従って、1ワードの
うち一部のバイトしかデータが書き替えられないパーシ
ャル−ライトアクセス時においても1ワード単位または
複数バイト単位のデータに基づいて誤り訂正符号を生成
する必要がある。この場合、1ワード単位または複数バ
イトのデータの一部のバイトは新規に書き替えられ、残
りのバイトは旧来のままでなければならない。従って、
あらかじめ1ワード全体をデータレジスタ101に読み
込んでおき、必要なバイトのデータのみを重ね書きし
て、誤り訂正符号を生成してメモリに書き込む必要があ
る。
【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を使用するようにす
れば、さらに信頼性を高められる。
ロットプロセッサ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を使用するようにす
れば、さらに信頼性を高められる。
【0028】一方、マスタプロセッサ210からのデー
タ213を使用する場合には、従来方式に比べて高速化
のメリットは無いが、先に述べたようなデータ223が
誤っている場合には替わりにデータ213を使用するよ
うな工夫は不要である。
タ213を使用する場合には、従来方式に比べて高速化
のメリットは無いが、先に述べたようなデータ223が
誤っている場合には替わりにデータ213を使用するよ
うな工夫は不要である。
【0029】以上述べた3種類のアクセス形態は、パイ
ロットプロセッサ220からの読み書きの区別を表す信
号や、バイトサイズを表す信号などからなるコントロー
ル信号222(図示していない)によりマスタプロセッ
サ210の動作に先立って判断することができるのはい
うまでもないことである。
ロットプロセッサ220からの読み書きの区別を表す信
号や、バイトサイズを表す信号などからなるコントロー
ル信号222(図示していない)によりマスタプロセッ
サ210の動作に先立って判断することができるのはい
うまでもないことである。
【0030】図10は図9の実施例でマスタプロセッサ
210とパイロットプロセッサ220からのアドレス21
1,221,データ213,223同士を比較照合回路
(CMP)106,107で比較照合するようにした実
施例である。なお図示していないが、マスタプロセッサ
210とパイロットプロセッサ220からのコントロー
ル信号212,222を比較チェックすることも可能で
ある。
210とパイロットプロセッサ220からのアドレス21
1,221,データ213,223同士を比較照合回路
(CMP)106,107で比較照合するようにした実
施例である。なお図示していないが、マスタプロセッサ
210とパイロットプロセッサ220からのコントロー
ル信号212,222を比較チェックすることも可能で
ある。
【0031】図11はマスタプロセッサ210とパイロ
ットプロセッサ220とがそれぞれ個別にメモリ310
と320を有している実施例である。本実施例の動作は
基本的には図1に示す実施例と同じである。両者の動作
の違いは、(1) リードアクセス時に図2の実施例では
パイロットプロセッサ220はメモリ320からのデー
タを誤り訂正無で読み込んで次の動作に移る点と(2)
フル−ライトアクセス時とパーシャル−ライトアクセス
時に図2の実施例ではパイロットプロセッサ220がメ
モリ320にデータを書き込む点である。本実施例によ
れば、マスタプロセッサ210とパイロットプロセッサ
220とがそれぞれ個別にメモリ310と320とを用
いるので、図1の実施例での両プロセッサ間のメモリ使
用の競合発生の頻度が低下しないので、競合による動作
速度の低下が少ない。
ットプロセッサ220とがそれぞれ個別にメモリ310
と320を有している実施例である。本実施例の動作は
基本的には図1に示す実施例と同じである。両者の動作
の違いは、(1) リードアクセス時に図2の実施例では
パイロットプロセッサ220はメモリ320からのデー
タを誤り訂正無で読み込んで次の動作に移る点と(2)
フル−ライトアクセス時とパーシャル−ライトアクセス
時に図2の実施例ではパイロットプロセッサ220がメ
モリ320にデータを書き込む点である。本実施例によ
れば、マスタプロセッサ210とパイロットプロセッサ
220とがそれぞれ個別にメモリ310と320とを用
いるので、図1の実施例での両プロセッサ間のメモリ使
用の競合発生の頻度が低下しないので、競合による動作
速度の低下が少ない。
【0032】図12は図11の実施例でマスタプロセッ
サ210とパイロットプロセッサ220からのアドレス
211,221,データ213,223同士を比較照合
回路106,107で比較照合するようにした実施例で
ある。なお図示していないが、マスタプロセッサ210
とパイロットプロセッサ220からのコントロール信号
212,222を比較チェックすることも可能である。
サ210とパイロットプロセッサ220からのアドレス
211,221,データ213,223同士を比較照合
回路106,107で比較照合するようにした実施例で
ある。なお図示していないが、マスタプロセッサ210
とパイロットプロセッサ220からのコントロール信号
212,222を比較チェックすることも可能である。
【0033】図5,図6に示す実施例によれば、メモリ
310,320での誤りを誤り訂正符号で検出訂正でき
る上に両プロセッサの出力同士を比較チェックすること
により、プロセッサで発生した誤りも検出することがで
きる。なお、比較照合回路(CMP)106,107と
して発明者等がすでに発明している特願平6−27664号記
載の比較器を用いれば、比較照合回路(CMP)10
6,107自体もセルフチェッキングとすることができ
るので、誤り検出率を高めることが可能となる。
310,320での誤りを誤り訂正符号で検出訂正でき
る上に両プロセッサの出力同士を比較チェックすること
により、プロセッサで発生した誤りも検出することがで
きる。なお、比較照合回路(CMP)106,107と
して発明者等がすでに発明している特願平6−27664号記
載の比較器を用いれば、比較照合回路(CMP)10
6,107自体もセルフチェッキングとすることができ
るので、誤り検出率を高めることが可能となる。
【0034】以上、誤り訂正符号についての実施例につ
いて述べたが、パリティなどによる誤り検出のみの場合
にも本発明は同様に適用が可能である。
いて述べたが、パリティなどによる誤り検出のみの場合
にも本発明は同様に適用が可能である。
【0035】
【発明の効果】本発明によれば、先行して動作するパイ
ロットプロセッサからの信号により誤り訂正回路を先行
動作させることができるので、オーバヘッドを掛けずに
誤り訂正を可能とする。
ロットプロセッサからの信号により誤り訂正回路を先行
動作させることができるので、オーバヘッドを掛けずに
誤り訂正を可能とする。
【図1】リードアクセス時の動作のブロック図。
【図2】ライトアクセス時の動作のブロック図。
【図3】比較チェック付きリードアクセス時の動作のブ
ロック図。
ロック図。
【図4】比較チェック付きライトアクセス時の動作のブ
ロック図。
ロック図。
【図5】従来技術による動作の説明図。
【図6】本発明による動作の説明図。
【図7】競合発生条件の説明図。
【図8】競合発生時の動作の説明図。
【図9】回路構成の実施例(共有メモリ)のブロック
図。
図。
【図10】回路構成の実施例(共有メモリ,比較チェッ
ク付き)のブロック図。
ク付き)のブロック図。
【図11】回路構成の実施例(個別メモリ)のブロック
図。
図。
【図12】回路構成の実施例(個別メモリ,比較チェッ
ク付き)のブロック図。
ク付き)のブロック図。
210…マスタプロセッサ、220…パイロットプロセ
ッサ、230…誤り訂正回路、310…メモリ。
ッサ、230…誤り訂正回路、310…メモリ。
Claims (2)
- 【請求項1】誤り検出訂正なしでメモリにアクセスする
第一のプロセッサと、誤り検出訂正付きでメモリにアク
セスする第二のプロセッサとを有し、 前記第一のプロセッサは前記第二のプロセッサよりも先
行して前記第二のプロセッサと同一の命令を実行し、前
記第二のプロセッサが誤り検出訂正付きでメモリにアク
セスするための誤り検出訂正回路は、前記第一のプロセ
ッサが出力する信号に基づき前記第二のプロセッサの動
作よりも先行して動作することを特徴とするフォールト
トレラントコンピュータシステム。 - 【請求項2】請求項1において、前記第一のプロセッサ
と前記第二のプロセッサの出力する信号同士を比較し、
不一致の場合には異常とみなすフォールトトレラントコ
ンピュータシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6310226A JPH08166891A (ja) | 1994-12-14 | 1994-12-14 | フォールトトレラントコンピュータシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6310226A JPH08166891A (ja) | 1994-12-14 | 1994-12-14 | フォールトトレラントコンピュータシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08166891A true JPH08166891A (ja) | 1996-06-25 |
Family
ID=18002715
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6310226A Pending JPH08166891A (ja) | 1994-12-14 | 1994-12-14 | フォールトトレラントコンピュータシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08166891A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003517340A (ja) * | 1998-10-21 | 2003-05-27 | デカ・プロダクツ・リミテッド・パートナーシップ | 個人用乗物のための故障許容設計 |
-
1994
- 1994-12-14 JP JP6310226A patent/JPH08166891A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003517340A (ja) * | 1998-10-21 | 2003-05-27 | デカ・プロダクツ・リミテッド・パートナーシップ | 個人用乗物のための故障許容設計 |
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 | |
| EP2370899B1 (en) | Poison bit error checking code scheme | |
| CN118860734A (zh) | 纠错码存储器 | |
| JP2001249854A (ja) | メモリ設計のための共有式誤り訂正 | |
| US20120079346A1 (en) | Simulated error causing apparatus | |
| JPH02135536A (ja) | チエツクポイント再試行機構 | |
| JP5010271B2 (ja) | エラー訂正コード生成方法、およびメモリ制御装置 | |
| US4918695A (en) | Failure detection for partial write operations for memories | |
| CN118838738B (zh) | 内存纠错方法、内存条、内存控制器和处理器 | |
| JPH0594377A (ja) | パリテイ検出回路 | |
| JPH08166891A (ja) | フォールトトレラントコンピュータシステム | |
| JPH0316655B2 (ja) | ||
| JP7770618B2 (ja) | 処理回路および情報処理装置 | |
| JPH01194046A (ja) | メモリアクセス方式 | |
| JPH0644238B2 (ja) | 命令再実行制御方法 | |
| JPH06149685A (ja) | メモリエラー回復装置 | |
| JP2004326564A (ja) | 不揮発性半導体メモリ装置 | |
| JPS59129995A (ja) | 記憶装置 | |
| JPS61139836A (ja) | パイプライン計算機の命令制御方式 | |
| JPH01133147A (ja) | データ処理装置 | |
| JPH0520215A (ja) | 情報処理装置 | |
| JPS61110247A (ja) | 記憶装置 | |
| JPH0259843A (ja) | 記憶装置 | |
| JPH01222357A (ja) | ソフト・エラー識別方法 |