JPH09330303A - コンピュータシステムおよびそのシステムにおける障害回復方法 - Google Patents
コンピュータシステムおよびそのシステムにおける障害回復方法Info
- Publication number
- JPH09330303A JPH09330303A JP8151249A JP15124996A JPH09330303A JP H09330303 A JPH09330303 A JP H09330303A JP 8151249 A JP8151249 A JP 8151249A JP 15124996 A JP15124996 A JP 15124996A JP H09330303 A JPH09330303 A JP H09330303A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- main memory
- block
- parity
- 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.)
- Granted
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
ハードによって構築し、メモリ故障に対する信頼性の向
上を図る。 【解決手段】冗長コードメモリ16とその制御を行うB
IB/CMコントローラ15とが設けられており、バス
10上に発行されるバストランザクションの監視によっ
てメインメモリ14に対するデータ書き込みが実行され
ることが検出されると、バス10上のデータの値からそ
のデータに対応する冗長コードがコントローラ15内で
自動的に生成され、それが冗長コードメモリ16の該当
する記憶領域に格納される。よって、メインメモリ14
のデータに誤りが検出されたとき、そのデータと、これ
に対応する冗長コードとから正しいデータを再構成でき
るため、冗長コードメモリ16とコントローラ15とを
付加ハードとして設けるだけで誤り訂正機能を持つメモ
リサブシステムを構築できる。
Description
テムおよびその障害回復方法に関し、特にメインメモリ
の固定故障に起因する障害を回復できるように改良され
たコンピュータシステムおよびその障害回復方法に関す
る。
は、メモリ故障に対する信頼性を高めるために、パリテ
ィ付きのメモリが採用されている。パリティ付きメモリ
を有するメモリサブシステムでは、データ読み出し時に
そのデータのチェックサムが算出され、そのチェックサ
ムとパリティビットとの比較によってメモリエラーの検
出が行われる。これにより、誤ったメモリデータの使用
を未然に防止することができる。
タのどのビットに誤りがあるかを特定することはできな
いので、エラー訂正を行うことはできない。これに対
し、SEC−DED符号などの冗長コードを用いたメモ
リサブシステムを用いた場合には、1ビットの誤り訂正
と、2ビットの誤り検出が可能となる。すなわち、恒久
的にデータが1ビット誤っても、これを自動的に訂正し
て処理を継続できる。したがって、高信頼性が必要とさ
れるコンピュータシステムでは、パリティ付きメモリよ
りも、SEC−DED符号などの冗長コードを用いたメ
モリサブシステムを採用することが望ましい。
存のコンピュータシステムにSEC−DED符号などの
冗長コードを用いたメモリサブシステムを導入する場合
には、既存のパリティ付きメモリをそのまま使用するこ
とはできないので、大容量のメインメモリをSEC−D
ED符号に対応するように新たに再構築することが必要
とされる。したがって、その導入のためには多くの費用
が必要となる。
システムでは、メモリの2重化によってすべてのメモリ
故障をマスクする構成が採用されている。このメモリ2
重化構成によれば、常に同一のデータが2つのメモリに
保持されているため、データ誤りが検出された場合に
は、もう一方のメモリのデータを用いることにより処理
を継続することができる。
めにハード量が非常に多くなる、誤りを検出した場合の
アクセスメモリ切り替えなどに特殊な構造が必要とな
る、などの欠点もある。
となく、一般的な故障からの回復を付加ハードで実現す
るための方式として、メインメモリの更新履歴情報を格
納するためのログメモリを使用したチェックポイントリ
スタート方式が提案されている。このチェックポイント
リスタート方式では、プロセスの再実行に必要な情報が
チェックポイント毎にメインメモリに保存され、またあ
るチェックポイントから次のチェックポイントまでの期
間において、プロセス実行に伴ってメインメモリが更新
される度にその更新前データなどが前述の更新履歴情報
としてログメモリに採取される。コンピュータシステム
に障害が発生したとき、ログメモリの内容を使用するこ
とによってメインメモリを障害発生前のチェックポイン
トの時点に復元することができる。従って、ログメモリ
を使用したチェックポイントリスタート方式を採用する
ことにより、2重化メモリを用いることなく、少ないハ
ードウェアでメモリの内容を復元することができる。
恒久的に書き変わってしまったような障害が発生した場
合、たとえその検出ができても回復できない場合が存在
する。すなわち、直前のチェックポイント以前にメモリ
データの値が書き変わっている場合には、故障が検出さ
れたときに直前のチェックポイントに戻って処理を再開
しても、再び誤ったメモリデータが読まれることになる
ため、回復することができなくなる。
ティ付きメモリを採用した既存のコンピュータシステム
にSEC−DED符号などの冗長コードを用いたメモリ
サブシステムを導入する場合には、既存のパリティ付き
メモリをそのまま使用することはできないので、大容量
のメインメモリをSEC−DED符号に対応するように
新たに再構築することが必要とされ、その導入のために
は多くの費用が必要となる欠点がある。
的な故障からの回復を付加ハードで実現するための方式
として、メインメモリの更新履歴情報を格納するための
ログメモリを使用したチェックポイントリスタート方式
があるが、この方式では、恒久的にデータが書き変わる
ようなメモリ故障に対応することができない場合がある
という問題がある。
ので、既存のパリティ付きメモリなどの資源をそのまま
使用した状態で誤り訂正機能を持つメモリサブシステム
を付加ハードによって構築できるようにし、メモリ故障
に対する信頼性の高いコンピュータシステムを提供する
ことを目的とする。
チェックポイントリスタート方式では回復できないよう
なメモリ故障が発生した際にも処理を継続できるように
し、メモリを2重化することなく、少ないハードウェア
で十分な耐故障性能を実現できるコンピュータシステム
および障害回復方法を提供することを目的とする。
PUと、このCPUとバスを介して接続され、誤り検出
機能を有するメインメモリとを有するコンピュータシス
テムにおいて、前記メインメモリに対するリードライト
アクセスの単位となる番地それぞれに対応して設けられ
た複数の記憶領域を有し、各記憶領域内にその記憶領域
に対応する番地に格納されているデータの一部に生じた
誤りを訂正可能な冗長符号を保持する冗長コードメモリ
と、前記バスおよび前記冗長コードメモリに接続され、
前記冗長コードメモリを制御する制御装置とを具備し、
この制御装置は、前記バス上に発行されるバストランザ
クションを監視し、前記CPUによる前記メインメモリ
に対するデータ書き込みが実行されるとき、前記バス上
のデータの値からそのデータに対応する前記冗長コード
を生成し、その冗長コードを前記単位データの書き込み
番地に対応する前記冗長コードメモリの記憶領域に格納
することを特徴とする。
長コードメモリとその制御のための制御装置とが設けら
れており、バス上に発行されるバストランザクションの
監視によってメインメモリに対するデータ書き込みが実
行されることが検出されると、バス上のデータの値から
そのデータに対応する冗長コードが制御装置内で自動的
に生成され、それが冗長コードメモリの該当する記憶領
域に格納される。よって、メインメモリのデータに誤り
が検出されたとき、そのデータと、これに対応する冗長
コードとから正しいデータを再構成できるため、前述の
冗長コードメモリと制御装置とを付加ハードとして設け
るだけで誤り訂正機能を持つメモリサブシステムを構築
できるようになり、メモリ故障に対する信頼性の高いコ
ンピュータシステムを実現できる。
ンメモリの更新履歴情報を格納するログメモリをさらに
具備し、前記制御手段は、前記CPUによる前記メイン
メモリに対するデータ書き込みが実行される前に、デー
タ書き込みが実行される番地に対応する前記メインメモ
リの更新前データおよびその更新前データに対応する冗
長コードを前記メインメモリおよび前記冗長コードメモ
リからそれぞれ読み出し、それら更新前データおよび冗
長コードを前記更新履歴情報として前記ログメモリに格
納するように構成することが好ましい。
してメインメモリの内容を故障発生前の状態に復元でき
ると共に、メモリ故障発生時にも、冗長コードを使用す
ることにより正しいデータを再構成することができる。
この場合、冗長コードを使用して正しいデータを再構成
した後に障害発生前のチェックポイントから処理を再開
することで、チェックポイントリスタート方式だけでは
回復できないようなメモリ故障が発生した場合であって
も、処理を継続できるようになる。
前データに対応する冗長コードも一緒にログメモリに格
納することにより、メインメモリの内容を障害発生前の
状態に復元することが必要な障害が発生したときは、ロ
グメモリに格納されている各更新履歴情報を構成する更
新前データおよび冗長コードをメインメモリおよび冗長
コードメモリにそれぞれ書き戻すことで、メインメモリ
を障害発生前の状態に復元でき、且つ冗長コードメモリ
の内容についても復元されたメインメモリの内容に対応
する状態に戻すことが可能となる。
含む更新履歴情報の格納はメインメモリに対するデータ
書き込みが実行される前に行う必要があるが、キャッシ
ュメモリを有するシステムにおいては、CPUによるキ
ャッシュメモリに対するデータ書き込みが実行されたと
き、そのデータ書き込みが実行された番地に対応するメ
インメモリの更新前データと、それに対応する冗長コー
ドをメインメモリおよび冗長コードメモリからそれぞれ
読み出して、それら更新前データおよび冗長コードを更
新履歴情報としてログメモリに格納することによって、
メインメモリに対するデータ書き込みが実行される前に
更新履歴情報の格納を容易に行うことができる。
に、メインメモリの連続アクセスされる複数のデータ列
から構成される単位データブロックそれぞれに対応して
設けられた複数の記憶領域を有し、各記憶領域内に、そ
の記憶領域に対応する単位データブロックに属する複数
のデータ列それぞれの同一ビット位置についての垂直パ
リティデータを保持する垂直パリティメモリを使用する
ことにより、パリティ処理という簡単な処理により、メ
モリ故障発生時にも正しいブロックデータを再現するこ
とが可能となる。
インメモリ上の複数のデータ列を各々が有する複数の単
位データブロックを1組とする複数のデータブロックグ
ループそれぞれに対応して設けられた複数の記憶領域を
有し、各記憶領域内に、その記憶領域に対応するデータ
ブロックグループに属する複数の単位データブロックそ
れぞれの同一ビット位置についての垂直パリティデータ
から構成されるブロックパリティデータを保持するブロ
ックパリティメモリを採用することにより、メモリモジ
ュール単位などの広範囲にわたるメモリ故障発生時にも
正しいブロックデータを再現することが可能となる。
実施形態を説明する。図1には、この発明の第1実施形
態に係るコンピュータシステムの構成が概念的に示され
ている。このコンピュータシステムは、チェックポイン
ト毎に障害回復に必要な情報をメインメモリに格納し、
障害発生時にはログメモリに格納されているメインメモ
リの更新履歴情報を使用してメインメモリの内容を障害
発生前のチェックポイントの時点に復元するという障害
回復方式を採用したマルチプロセッサシステムであり、
図示のように、プロセッサバス10、CPU11−1〜
11−n、キャッシュメモリ12−1〜12−n、メイ
ンメモリ14、冗長コードメモリ(CM)16、および
ビフォアイメージバッファ(BIB)17を備えてい
る。
メインメモリ14を共有するCPU11−1〜11−n
それぞれの1次キャッシュまたは2次キャッシュとして
使用されるものであり、チェックポイント取得時には、
キャッシュメモリ12−1〜12−nの各々について、
メインメモリ14に未反映のデータがメインメモリ14
に書き込まれる。
などのようにエラー検出機能を有するメモリであり、C
PUによる1回のメモリアクセスでリードライトされる
データ単位であるワード単位でそのワードのデータ列に
対してパリティビットが付加される。
検出機能を有するメインメモリ14に対してエラー訂正
機能を付加するために設けられたものであり、メインメ
モリ14のワード数分のエントリを有している。各エン
トリには、メインメモリ14の対応するワードの誤り訂
正冗長コードが格納される。例えば、メインメモリ14
のワードNについての誤り訂正冗長コードは、冗長コー
ドメモリ16の第Nエントリに格納される。
り訂正冗長コードの書き込みは、バス10上にメインメ
モリ14にデータを書き込むためのバストランザクショ
ンが発行されたとき、そのバストランザクションに応答
して実行される。この場合、バス10上に出力されるデ
ータから誤り訂正冗長コードが生成され、またバス10
上に出力されるメモリアドレスから誤り訂正冗長コード
を書き込むべき冗長コードメモリ(CM)16のエント
リ位置が決定される。
は、あるチェックポイントから次のチェックポイントま
での期間におけるメインメモリ14の更新履歴情報を保
持するためのログメモリとして使用されるものであり、
メインメモリ14に対するデータ書き込みが行われる
度、そのデータ書き込みに先立って、メインメモリ14
のデータ書き込み番地を示すアドレスと、更新前データ
と、その更新前データに対応する冗長コードメモリ16
の誤り訂正冗長コードとが、更新履歴情報としてビフォ
アイメージバッファ(BIB)17にスタック形式で蓄
積される。誤り訂正冗長コードを、アドレスおよび更新
前データと一緒に格納するのは、ビフォアイメージバッ
ファ(BIB)17の更新履歴情報を使用してメインメ
モリ14の内容を復元するときに、それに合わせて冗長
コードメモリ(CM)16の内容も一緒に復元できるよ
うにするためである。
ト誤り検出能力しか持たない場合には、冗長コードメモ
リ16に格納する誤り訂正冗長コードとしては1ビット
誤り訂正符号を用いることができる。
ステムにおけるデータの流れを具体的に説明する。ま
ず、図2を参照して、冗長コードメモリ(CM)16に
対する誤り訂正冗長コードの書き込み動作について具体
的に説明する。
インメモリ14との間にはメインメモリコントローラ
(MMコントローラ)13が設けられており、メインメ
モリ14のリードライト制御はそのメインメモリコント
ローラ(MMコントローラ)13によって実行される。
また、冗長コードメモリ(CM)16とビフォアイメー
ジバッファ(BIB)17それぞれとバス10との間に
はBIB/CMコントローラ15が共通に設けられてお
り、それら冗長コードメモリ(CM)16とビフォアイ
メージバッファ(BIB)17それぞれのリードライト
制御はそのBIB/CMコントローラ15によって実行
される。
ンメモリ14のアドレスNに書き込む場合に行われる動
作について説明する。バス10上のトランザクション、
つまりバス10上の各種コマンドやアドレスおよびデー
タはBIB/CMコントローラ15によって監視されて
おり、CPU11−1からメインメモリ14にデータを
書き込むためのトランザクションがバス10上に発行さ
れると、その時のメモリアドレス(N)とデータ(Do
ld1)がBIB/CMコントローラ15によって取得
される。このバストランザクションは、実際には、キャ
ッシュメモリ12−1からメインメモリ14にデータを
ライトバックするときに行われる。
モリ14にデータを書き込むためのトランザクションに
応答して、アドレス(N)で指定されるワードNの番地
にデータ(Dold1)を書き込む。この場合、データ
(Dold1)の値からそれに対応するエラー検出ビッ
ト(P)がMMコントローラ13内部で生成され、デー
タ(Dold1)はエラー検出ビット(P)が付加され
た状態でメインメモリ14に書き込まれる。
は、データ(Dold1)の値からそれの一部に生じた
誤りを訂正することが可能な冗長コード(Cold1)
がECC演算などによって生成され、その冗長コード
(Cold1)がアドレス(N)に対応する冗長コード
メモリ(CM)16のエントリ(N)に書き込まれる。
M)16はメインメモリ14のワード数と同数のエント
リを有しており、メインメモリ14の各ワードと冗長コ
ードメモリ(CM)16のエントリとは1対1で対応し
ている。したがって、メインメモリ14のワードNから
のデータ(Dold1)の読み出し時に、そのデータエ
ラーがMMコントローラ13によって検出された場合に
は、エラー処理用ソフトウェアなどが、冗長コードメモ
リ(CM)16のエントリ(N)の冗長コード(Col
d1)とエラー検出されたデータとから正しいデータを
再構成することにより、メインメモリ14のワードNの
データ(Dold1)を修復することができる。
バッファ(BIB)17に対する更新履歴情報の書き込
み動作について説明する。ここでは、CPU11−1
が、メインメモリ14のアドレス(N)で指定されるワ
ードNの番地に書き込まれているデータをDold1か
らDnew1に更新する場合を例にとって説明する。
12−1に書き込まれた時、BIB/CMコントローラ
15によって、データ(Dold1)とそれに対応する
冗長コード(Cold1)がそれぞれメインメモリ14
および冗長コードメモリ16から読み出される。そし
て、アドレス(N)、更新前データ(Dold1)、冗
長コード(Cold1)から構成される更新履歴情報
が、ビフォアイメージバッファ(BIB)17に格納さ
れる。
バッファ(BIB)17に蓄積されている更新履歴情報
を使用してメインメモリ14の内容を復元する動作につ
いて説明する。
態に復元することが必要な障害が発生したとき、エラー
処理用ソフトウェアなどの制御の下、ビフォアイメージ
バッファ(BIB)17から更新履歴情報が逐次読み出
され、更新前データおよび冗長コードをそれぞれメイン
メモリ14および冗長コードメモリ16の該当する格納
位置に書き戻す処理が行われる。
B)17に図示のような4つの更新履歴情報が蓄積され
ている場合には、まず、4つ目の更新履歴情報(アドレ
スN、更新前データDd、冗長コードCd)の書き戻し
処理が行われ、メインメモリ14のアドレスNに更新前
データDdが書き込まれると共に、冗長コードメモリ1
6のエントリNに冗長コードCdが書き込まれる。次
に、3つ目の更新履歴情報(アドレス2、更新前データ
Dc、冗長コードCc)の書き戻し処理が行われ、メイ
ンメモリ14のアドレス2に更新前データDcが書き込
まれると共に、冗長コードメモリ16のエントリ2に冗
長コードCcが書き込まれる。以下、同様にして、2つ
目の更新履歴情報および1つ目の更新履歴情報の書き戻
し処理が順次実行される。
発生前の状態に復元でき、且つ冗長コードメモリ16の
内容についても復元されたメインメモリ14の内容に対
応する状態に戻される。
について説明したが、メインメモリ14に対するアクセ
スがキャッシュブロック単位で行われる場合について
も、同様にして誤り訂正冗長コードの書き込みおよび更
新履歴情報の書き込みなどを行うことができる。すなわ
ち、キャッシュブロックがnワードから構成されている
とすると、1回のアクセスに対して前述の処理をn回繰
り返し実行すればよい。
トローラ15の具体的なハードウェア構成について説明
する。BIB/CMコントローラ15は、図示のよう
に、バスインターフェース制御部101、バストランザ
クション応答制御部102、バストランザクション発行
制御部103、バッファアクセスコントローラ104、
状態保存制御部105、およびコードメモリコントロー
ラ106から構成されている。
10上に定義された各種信号ラインに接続され、そのバ
ス10との間でアドレス、データ、および各種ステータ
スを授受する。このバス10上には、図示のように、バ
ス10上のデータ転送のために使用されるアドレス/デ
ータバス(addres/data)、およびコマンド
ライン(command)を始め、キャッシュ制御のた
めのステータスライン(shared,modifie
d)などが定義されている。sharedラインは、メ
モリリードトランザクションで要求されたメモりデータ
のコピーをクリーンな状態で共有しているステータス
(shared clean)を示す。modifie
dラインは、メモリリードトランザクションで要求され
たメモりデータのコピーを変更した状態で共有している
ステータス(modified)を示す。
をバスインターフェース制御部101を通じてモニタす
ることによって、キャッシュステータスおよびバストラ
ンザクションのスヌープがBIB/CMコントローラ1
5によって行われる。
は、バスインターフェース制御部101を介して受け取
った所定のバストランザクションに応答して動作するも
のであり、例えば、障害発生時には、ある任意のCPU
によってバス10上に発行されるワードライトトランザ
クションに応答してそのトランザクションをアボートす
るなどの処理を行う。
は、バス10上にメモリリード/ライトなどのトランザ
クションを発行するものであり、例えば、バスインター
フェース制御部101を介して受け取ったバス10上の
信号ラインの状態からキャッシュメモリへの書き込みが
行われたことが検出されたときは、メインメモリ14か
ら更新前データをリードするためのトランザクションを
開始する。
ジバッファ(BIB)17に更新履歴情報を保存する位
置を指定するポインタ値の制御などを行うものであり、
ビフォアイメージバッファ(BIB)17に更新履歴情
報を格納する度に、ポインタ値を+1更新する。また、
ビフォアイメージバッファ(BIB)17の更新履歴情
報を用いてメインメモリ14を復旧する場合には、状態
保存制御部105は、更新履歴情報の読み出しの度にポ
インタ値を現在の値から−1ずつ更新するなどの制御を
行う。
ビフォアイメージバッファ(BIB)17との間に設け
られたアドレスライン(BIB address)、デ
ータライン(BIB data)、リードライト制御ラ
イン(BIB RAS#、CAS#、WE#)を使用し
てビフォアイメージバッファ(BIB)17に対するデ
ータ書き込みおよび読み出しを制御する。
コードメモリ(CM)16との間に設けられたアドレス
ライン(CM address)、データライン(CM
data)、リードライト制御ライン(CM RAS
#、CAS#、WE#)を使用して冗長コードメモリ
(CM)16に対するデータ書き込みおよび読み出しを
制御する。書き込み処理においては、コードメモリコン
トローラ106は、バスインターフェース制御部101
を介して受け取ったバス10上のデータから冗長コード
を演算によって生成し、それを冗長コードメモリ(C
M)16に書き込む。
ステムの具体的な動作について説明する。図6のタイミ
ングチャートには、任意のキャッシュメモリからメイン
メモリ14にデータをライトバックするときに実行され
る一連の動作が示されている。
データをライトバックするときは、そのキャッシュメモ
リあるいはそれに対応するCPUによって、コマンドラ
イン(COMMAND)上にキャッシュラインの書き戻
しを示すコマンド(write−line)が発行さ
れ、またアドレスバス(addres bus)にはメ
モリアドレス(A)、データバス(data bus)
にはライトデータ(Dnew)が出力される。キャッシ
ュブロックが4ワードから構成される場合には、バース
ト転送が行われ、データDnew1〜Dnew4が連続
的にデータバス(data bus)上に出力される。
インメモリコントローラ13およびBIB/CMコント
ローラ15が動作する。メインメモリコントローラ13
は、メインメモリ14との間に設けられたアドレスライ
ン(MM address)、データライン(MM d
ata)、リードライト制御ライン(MM RAS#、
CAS#、WE#)を制御して、メインメモリ14のア
ドレス(A)から始まる連続する4つの番地にデータ
(Dnew1〜Dnew4)を書き込む。
いては、コードメモリコントローラ106が動作し、ま
ず、バス10上のデータ(Dnew1〜Dnew4)か
らそれに対応する冗長コード(Cnew1〜Cnew
4)が演算によって生成される。そして、その冗長コー
ド(Cnew1〜Cnew4)がデータライン(CMd
ata)上に出力されると共に、バス10から受け取っ
たアドレス(A)から生成されたロウアドレス(Ar)
およびカラムアドレス(Ac1〜Ac4)がアドレスラ
イン(CM address)に出力されて、アドレス
(A)に対応する冗長コードメモリ16のエントリに冗
長コード(Cnew1〜Cnew4)が書き込まれる。
る冗長コードの書き込みは、キャッシュメモリからメイ
ンメモリ14にデータをライトバックするときに、その
ライトバック処理と並行して、コードメモリコントロー
ラ106によって自動的に実行される。
キャッシュメモリ中のsharedキャッシュラインに
対する書き込みを行う場合に実行される一連の処理手順
が示されている。
き込みが行われると、共有データが変更されることをほ
かのキャッシュメモリに通知するために、バス10上の
コマンドライン(command)上にはインバリデー
トコマンド(invalidate)が、アドレスバス
(address bus)上には共有データのアドレ
ス(A)がそれぞれ発行されて、インバリデートプロト
コルが実行される。このインバリデートプロトコルで
は、他のキャッシュメモリが共有データのコピーを無効
化するまで、sharedキャッシュラインに対する書
き込みは待たされる。
ンザクション発行制御部103は、インバリデートコマ
ンドを確認すると、その時のアドレス(A)を使用し
て、メインメモリ14からアドレス(A)の更新前デー
タ(D1〜D4)を読み出すためのメモリリードトラン
ザクションを開始する。このとき、バス10上のコマン
ドライン(command)上に発行されるコマンドは
リードノンスヌープであり、各キャッシュメモリはその
リードサイクルに対してはスヌープ動作を行わない。
リードトランザクションに応答して、アドレスライン
(MM address)、データライン(MM da
ta)、リードライト制御ライン(MM RAS#、C
AS#、WE#)を制御して、メインメモリ14のアド
レス(A)からデータ(D1〜D4)を読み出し、それ
をバス10のデータバス(data bus)上に出力
する。
いては、バッファアクセスコントローラ104およびコ
ードメモリコントローラ106にもアドレス(A)が渡
される。コードメモリコントローラ106は、アドレス
バス(CM address)上にアドレス(A)から
生成されたロウアドレス(Ar)およびカラムアドレス
(Ac1〜Ac4)を出力して、冗長コードメモリ16
のエントリAから更新前データ(D1〜D4)に対応す
る冗長コード(C1〜C4)を読み出す。
04は、アドレス(A)と、バス10のデータバス(d
ata bus)上に出力されたデータ(D1〜D4)
と、コードメモリコントローラ106によって読み出さ
れた冗長コード(C1〜C4)とを更新履歴情報のデー
タ格納形式に組立てて、ポインタ値(P)で指定される
ビフォアイメージバッファ(BIB)17のエントリに
書き込む。
(BIB)17に対する更新履歴情報の書き込みは、キ
ャッシュメモリにデータが書き込まれるとき、つまりキ
ャッシュメモリからメインメモリ14にデータがライト
バックされる前に、バストランザクション発行制御部1
03、バッファアクセスコントローラ104およびコー
ドメモリコントローラ106によって自動的に実行され
る。
読み出し時に、その読み出しデータのデータエラーが検
出された場合の回復処理の流れが示されている。ここで
は、メインメモリ14の内容をエラー発生前のチェック
ポイントの時点に復元することなく、正しく元の命令へ
復帰可能な場合について説明する。
書き込まれているデータ(D)について、その後にそれ
をメインメモリ14から読み出したとき、もしそのデー
タ(D)がメモリエラーなどによって誤ったデータ値
(D’)に置き換えられていると、メインメモリコント
ローラ13によるエラー検出コードのチェックによって
メモリデータエラーの発生が検出される。このメモリデ
ータエラーの発生は、ハードウェア割り込み信号などに
よって所定のCPUに通知され、そのCPUにてエラー
割り込みルーチンが実行される。
は、エラー割り込みが再度発生しないようにマスクし
(ステップS10)、その後、メインメモリ14のエラ
ーが発したアドレスに格納されているデータ(D’)を
リードし、次いでそれに対応する冗長コード(C)を冗
長コードメモリ16からリードする(ステップS11、
S12)。この後、そのCPUは、データ(D’)と冗
長コード(C)とから正しいデータ(D)を再構成し
(ステップS13)、そのデータ(D)をメインメモリ
14のエラーが発したアドレスに格納する(ステップS
14)。
バッファ(BIB)17を使用してないため、ビフォア
イメージバッファ(BIB)17を使用したチェックポ
イントリスタート方式を採用してないシステムにおいて
も適用することができる。
読み出し時に、その読み出しデータのデータエラーが検
出された場合の回復処理の第2の例が示されている。こ
こでは、あるチェックポイントCP1の以前にメインメ
モリ14に書き込まれているデータ(D)について、そ
のチェックポイントCP1の取得後にそれをメインメモ
リ14から初めて読み出したときに、そのデータ(D)
がメモリエラーなどによって誤ったデータ値(D’)に
置き換えられていることが検出された場合を想定する。
コントローラ13によるデータ値(D’)のエラー検出
コードのチェックによって検出され、ハードウェア割り
込み信号などによって所定のCPUに通知される。そし
て、そのCPUにてリカバリールーチンが実行される。
エラー割り込みが再度発生しないようにマスクし(ステ
ップS20)、そしてメインメモリ14のエラーが発し
たアドレスに格納されているデータ(D’)をリード
し、次いでそれに対応する冗長コード(C)を冗長コー
ドメモリ16からリードする(ステップS21、S2
2)。この後、そのCPUは、データ(D’)と冗長コ
ード(C)とから正しいデータ(D)を再構成し(ステ
ップS23)、そのデータ(D)をメインメモリ14の
エラーが発したアドレスに格納する(ステップS2
4)。
トローラ15を制御して、ビフォアイメージバッファ
(BIB)17の更新前データをメインメモリ14に書
き戻し、冗長コードについては冗長コードメモリ16に
書き戻す(ステップS25、S26)。この後、チェッ
クポイントCP1で採取されたプロセス状態が各CPU
に復元され、そのチェックポイントCP1から処理が再
開される。
インメモリ14の内容を障害発生前のチェックポイント
の時点に復元することにより、再び誤ったメモリデータ
が読まれることによる同一障害の再発を防止できるよう
になる。従って、チェックポイントリスタート方式だけ
では回復できないようなメモリ故障が発生した際にも、
処理を継続できるようになる。
るコンピュータシステムの構成が示されている。このコ
ンピュータシステムは、第1実施形態のシステムに設け
られていた冗長コードメモリ16の代わりに垂直パリテ
ィメモリ21を採用し、ワード単位ではなく、バースト
転送などのCPUによる連続アクセスでリードライトさ
れる単位データブロック(キャッシュブロック)の単位
でその誤り訂正のために使用される垂直パリティデータ
を管理するように構成されている。
付きメモリなどのようにエラー検出機能を有するメモリ
であり、CPUによる1回のメモリアクセスでリードラ
イトされるデータ単位であるワード単位でそのワードの
データ列に対してパリティビットが付加される。
能を有するメインメモリ14に対してエラー訂正機能を
付加するために設けられたものであり、メインメモリ1
4に格納可能な単位データブロック数分のエントリを有
している。各エントリには、メインメモリ14の対応す
る単位データブロックに属するデータ列間において、そ
れらデータ列それぞれの同一ビット位置におけるビット
配列から算出した垂直パリティデータが格納される。例
えば、図11に示されているように、メインメモリ14
のキャッシュブロックNの単位データブロックが各4バ
イトのデータD0〜D3から構成され、データD0〜D
3それぞれに4ビットの水平パリティビットP0〜P3
が付加されている場合には、垂直パリティメモリ21の
エントリNには、データD0〜D3の同一ビット位置毎
に算出された4バイトの垂直パリティDpと水平パリテ
ィビットP0〜P3の同一ビット位置毎に算出された4
ビットの垂直パリティPpとを含む垂直パリティデータ
が格納されることになる。
誤り検出が可能なデータ単位で単位データブロックを分
割し、これらに対して計算した垂直パリティデータを垂
直パリティメモリ21に格納することにより、エラー発
生が検出されたデータについてそのどのビット位置がエ
ラーしているかを垂直パリティデータから求めることが
でき、エラー訂正が可能となる。
ティデータの書き込みは、キャッシュメモリのあるキャ
ッシュラインをメインメモリ14にライトバックするた
めのバストランザクションがバス10上に発行されたと
き、そのバストランザクションに応答して実行される。
この場合、バス10上に連続的に出力される1キャッシ
ュライン分の単位データブロックから垂直パリティデー
タが生成され、またバス10上に出力される単位ブロッ
クアドレスから垂直パリティデータを書き込むべき垂直
パリティメモリ21のエントリ位置が決定される。
ンメモリのある単位データブロックに属する一部のデー
タだけが更新される場合については、更新対象の単位デ
ータブロックがメインメモリ14から読み出され、その
単位データブロックと書き込みデータとの差分と、その
読み出した単位データブロックに対応する垂直パリティ
メモリ21の垂直パリティデータとから、新たな垂直パ
リティデータが求められる。そして、その垂直パリティ
データが、書き込みデータが属する単位データブロック
に対応する垂直パリティメモリ21のエントリに書き込
まれる。
は、第1実施形態と同様に、あるチェックポイントから
次のチェックポイントまでの期間におけるメインメモリ
14の更新履歴情報を保持するためのログメモリとして
使用されるものであり、メインメモリ14に対するデー
タ書き込みが行われる度、そのデータ書き込みに先立っ
て、データ書き込みが行われる番地が属するメインメモ
リ14のキャッシュブロックアドレスと、更新前単位デ
ータブロックと、その更新前単位データブロックに対応
する垂直パリティデータとが、更新履歴情報としてビフ
ォアイメージバッファ(BIB)17にスタック形式で
蓄積される。
検出された場合は、メインメモリ14の水平パリティに
よる誤り検出結果と垂直パリティデータとから誤りを生
じたビット位置が特定され、正しいデータの再構築が行
われる。そして、それがメインメモリ14に書き戻され
る。
ィデータの生成、ビフォアイメージバッファ(BIB)
17に対する更新履歴情報のリードライト制御は図5で
説明した第1実施形態と同様のハードウェアによって実
現される。すなわち、図5のシステムにおける冗長コー
ドメモリ16を垂直パリティメモリ21に置き換えてそ
の動作を説明すると、垂直パリティメモリ21に対する
垂直パリティデータの書き込みは、キャッシュメモリか
らメインメモリ14にデータをライトバックするとき
に、そのライトバック処理と並行して、コードメモリコ
ントローラ106によって自動的に実行される。また、
ビフォアイメージバッファ(BIB)17に対する更新
履歴情報の書き込みも、キャッシュメモリにデータが書
き込まれるとき、つまりキャッシュメモリからメインメ
モリ14にデータがライトバックされる前に、バストラ
ンザクション発行制御部103、バッファアクセスコン
トローラ104およびコードメモリコントローラ106
によって自動的に実行される。
についても、図8および図9で説明した第1実施形態と
同様の手順で行うことができる。すなわち、メインメモ
リ14の内容を障害発生前のチェックポイントの状態に
復元する場合には、垂直パリティデータを使用して正し
いデータを再構築した後、ビフォアイメージバッファ
(BIB)17から更新履歴情報が逐次読み出され、更
新前単位データブロックおよび垂直パリティデータをそ
れぞれメインメモリ14および垂直パリティメモリ21
の該当する格納位置に書き戻す処理が行われる。
ィを持ち1ビット誤り検出ができる場合について説明し
たが、SEC−DED符号を用いる場合も同様の構成が
可能である。この場合には、メインメモリのデータリー
ドの際に2ビット誤りが検出された時に上記と同様の方
法で正しいデータを再構築して障害回復が可能となる。
るコンピュータシステムの構成が示されている。このコ
ンピュータシステムは、第1実施形態のシステムに設け
られていた冗長コードメモリ16の代わりにブロックパ
リティメモリ22を採用し、ワード単位ではなく、バー
スト転送などのCPUによる連続アクセスでリードライ
トされる単位データブロック(キャッシュブロック)を
4つで1組とするデータブロックグループ単位でその誤
り訂正のために使用されるブロックパリティデータを管
理するように構成されている。
付きメモリなどのようにエラー検出機能を有するメモリ
であり、CPUによる1回のメモリアクセスでリードラ
イトされるデータ単位であるワード単位でそのワードの
データ列に対してパリティビットが付加される。
出機能を有するメインメモリ14に対してエラー訂正機
能を付加するために設けられたものであり、メインメモ
リ14に格納可能なデータブロックグループ数分のエン
トリを有している。各エントリには、メインメモリ14
の対応するデータブロックグループに属するデータブロ
ック間において、それらデータそれぞれの同一ビット位
置におけるビット配列から算出した垂直パリティデータ
が格納される。
でリードライトできる単位データブロック単位でブロッ
クデータグループを分割し、これらに対して計算した垂
直パリティデータをブロックパリティメモリ22に格納
することにより、エラー発生が検出された単位データブ
ロックの単位データについてはメインメモリ14の水平
パリティによって検出でき、そのどのビット位置がエラ
ーしているかについてはブロックパリティデータから求
めることができ、これによってエラー訂正が可能とな
る。
ックパリティデータの書き込みは、キャッシュメモリの
あるキャッシュラインをメインメモリ14にライトバッ
クするためのバストランザクションがバス10上に発行
されたことが検出されたときに、実行される。この場
合、バス10上に連続的に出力される1キャッシュライ
ン分の単位データブロックによって更新されるデータブ
ロックがメインメモリ14から読み出され、そのデータ
ブロックと書き込まれる単位データブロックとの差分
(排他的論理和)と、そのデータブロックグループに対
応するブロックパリティメモリ22のブロックパリティ
データとから、新たなブロックパリティデータが生成さ
れる。そして、そのブロックパリティデータが、書き込
み対象の単位データブロックが属するデータブロックグ
ループに対応するブロックパリティメモリ22のエント
リに書き込まれる。
は、第1実施形態と同様に、あるチェックポイントから
次のチェックポイントまでの期間におけるメインメモリ
14の更新履歴情報を保持するためのログメモリとして
使用されるものであり、メインメモリ14に対するデー
タ書き込みが行われる度、そのデータ書き込みに先立っ
て、データ書き込みが行われる番地が属するメインメモ
リ14のブロックデータグループのアドレスと、更新前
データブロックグループと、その更新前データブロック
グループに対応するブロックパリティデータとが、更新
履歴情報としてビフォアイメージバッファ(BIB)1
7にスタック形式で蓄積される。
リティデータを生成する際に必要な更新前のデータブロ
ックとブロックパリティデータは、更新履歴情報として
ビフォアイメージバッファ(BIB)に格納するために
読み出されるため、両者は兼用することができ、各々1
回のアクセスで済ませるように制御することが可能であ
る。
検出された場合は、メインメモリ14の水平パリティに
よる誤り検出結果とブロックパリティデータとから誤り
を生じたビット位置が特定され、正しいデータの再構築
が行われる。そして、それがメインメモリ14に書き戻
される。具体的には、エラー検出されたデータが属する
データブロックグループのすべての単位データブロック
がメインメモリ14から読み出され、これらと対応する
ブロックパリティデータとから正しいブロックデータグ
ループの再生が行われる。
リティデータの生成、ビフォアイメージバッファ(BI
B)17に対する更新履歴情報のリードライト制御は図
5で説明した第1実施形態と同様のハードウェアによっ
て実現される。すなわち、図5のシステムにおける冗長
コードメモリ16をブロックパリティメモリ22に置き
換えてその動作を説明すると、ブロックパリティメモリ
22に対するブロックパリティデータの書き込みは、キ
ャッシュメモリからメインメモリ14にデータをライト
バックするときに、そのライトバック処理と並行して、
コードメモリコントローラ106によって自動的に実行
される。また、ビフォアイメージバッファ(BIB)1
7に対する更新履歴情報の書き込みも、キャッシュメモ
リにデータが書き込まれるとき、つまりキャッシュメモ
リからメインメモリ14にデータがライトバックされる
前に、バストランザクション発行制御部103、バッフ
ァアクセスコントローラ104およびコードメモリコン
トローラ106によって自動的に実行される。
についても、図8および図9で説明した第1実施形態と
同様の手順で行うことができる。すなわち、メインメモ
リ14の内容を障害発生前のチェックポイントの状態に
復元する場合には、ブロックパリティデータを使用して
正しいデータを再構築した後、ビフォアイメージバッフ
ァ(BIB)17から更新履歴情報が逐次読み出され、
更新前データブロックグループおよびブロックパリティ
データをそれぞれメインメモリ14およびブロックパリ
ティメモリ22の該当する格納位置に書き戻す処理が行
われる。
ィを持ち1ビット誤り検出ができる場合について説明し
たが、SEC−DED符号を用いる場合も同様の構成が
可能である。この場合には、メインメモリのデータリー
ドの際に2ビット誤りが検出された時に上記と同様の方
法で正しいデータを再構築して障害回復が可能となる。
ても、ビフォアイメージバッファ(BIB)17に対し
て更新前データとそれに対応する誤り訂正のための冗長
コード(ECC、垂直パリティ、ブロックパリティ)と
を同時に書き込む場合を説明したが、冗長コードについ
ては、それを格納するための冗長コードメモリ16、垂
直パリティメモリ21、またはブロックパリティメモリ
22の更新時に行ってもよい。この場合、新たな冗長コ
ードの書き込みによって更新される冗長コードが冗長コ
ードメモリ16、垂直パリティメモリ21、またはブロ
ックパリティメモリ22から読み出され、それがビフォ
アイメージバッファ(BIB)17に書き込まれる。
ば、既存のパリティ付きメモリなどの資源をそのまま使
用した状態で誤り訂正機能を持つメモリサブシステムを
付加ハードによって構築できるようになり、メモリ故障
に対する信頼性の高いコンピュータシステムを実現でき
る。また、ログメモリを使用したチェックポイントリス
タート方式では回復できないようなメモリ故障が発生し
た際にも処理を継続できるようになり、メモリを2重化
することなく、少ないハードウェアで十分な耐故障性能
を実現できる。
システムの構成を示すブロック図。
メモリに対する誤り訂正コードの書き込み動作を説明す
るための図。
リに対する更新履歴情報の書き込み動作を説明するため
の図。
リおよび冗長コードメモリの復元動作を説明するための
図。
なハードウェア構成を示すブロック図。
メモリに対するライトバック処理で実行される一連の動
作を説明するタイミングチャート。
redラインに対する書き込み処理で実行される一連の
動作を説明するタイミングチャート。
1の手順を説明するフローチャート。
2の手順を説明するフローチャート。
タシステムの構成を示すブロック図。
ティデータの生成原理を説明するための図。
タシステムの構成を示すブロック図。
12−1〜12−n…キャッシュメモリ、13…メイン
メモリコントローラ、14…メインメモリ、15…BI
B/CMコントローラ、16…冗長コードメモリ(C
M)、17…ビフォアイメージバッファ(BIB)、2
1…垂直パリティメモリ、22…ブロックパリティメモ
リ、101…バスインターフェース制御部、102…バ
ストランザクション応答制御部、103…バストランザ
クション発行制御部、104…バッファアクセスコント
ローラ、105…状態保存制御部、106…コードメモ
リコントローラ。
Claims (24)
- 【請求項1】 1以上のCPUと、このCPUとバスを
介して接続され、誤り検出機能を有するメインメモリと
を有するコンピュータシステムにおいて、 前記メインメモリに対するリードライトアクセスの単位
となる番地それぞれに対応して設けられた複数の記憶領
域を有し、各記憶領域内にその記憶領域に対応する番地
に格納されているデータの一部に生じた誤りを訂正可能
な冗長符号を保持する冗長コードメモリと、 前記バスおよび前記冗長コードメモリに接続され、前記
冗長コードメモリを制御する制御装置とを具備し、 この制御装置は、 前記バス上に発行されるバストランザクションを監視
し、前記CPUによる前記メインメモリに対するデータ
書き込みが実行されるとき、前記バス上のデータの値か
らそのデータに対応する前記冗長コードを生成し、その
冗長コードを前記単位データの書き込み番地に対応する
前記冗長コードメモリの記憶領域に格納することを特徴
とするコンピュータシステム。 - 【請求項2】 前記メインメモリのデータに誤りが検出
されたとき、そのデータと、これに対応する前記冗長コ
ードメモリの冗長コードとから正しいデータを再構成す
る誤り訂正手段をさらに具備することを特徴とする請求
項1記載のコンピュータシステム。 - 【請求項3】 前記制御手段に接続され、前記メインメ
モリの更新履歴情報を格納するログメモリをさらに具備
し、 前記制御手段は、 前記CPUによる前記メインメモリに対するデータ書き
込みが実行される前に、データ書き込みが実行される番
地に対応する前記メインメモリの更新前データおよびそ
の更新前データに対応する冗長コードを前記メインメモ
リおよび前記冗長コードメモリからそれぞれ読み出し、
それら更新前データおよび冗長コードを前記更新履歴情
報として前記ログメモリに格納することを特徴とする請
求項1記載のコンピュータシステム。 - 【請求項4】 前記メインメモリの内容を障害発生前の
状態に復元することが必要な障害が発生したとき、前記
ログメモリに格納されている各更新履歴情報を構成する
更新前データおよび冗長コードを前記メインメモリおよ
び前記冗長コードメモリにそれぞれ書き戻して、前記メ
インメモリを障害発生前の状態に復元すると共に、前記
冗長コードメモリの内容を前記復元されたメインメモリ
の内容に対応する状態に戻す手段をさらに具備すること
を特徴とする請求項3記載のコンピュータシステム。 - 【請求項5】 前記メインメモリの内容を障害発生前の
状態に復元することが必要な障害が発生したとき、誤り
が検出されたメインメモリのデータと、これに対応する
前記冗長コードメモリの冗長コードとから正しいデータ
を再構成して前記メインメモリを修復した後、前記ログ
メモリに格納されている各更新履歴情報を構成する更新
前データおよび冗長コードを前記メインメモリおよび前
記冗長コードメモリにそれぞれ書き戻して、前記メイン
メモリを障害発生前の状態に復元すると共に、前記冗長
コードメモリの内容を前記復元されたメインメモリの内
容に対応する状態に戻す手段をさらに具備することを特
徴とする請求項3記載のコンピュータシステム。 - 【請求項6】 キャッシュメモリと、 前記制御手段に接続され、前記メインメモリの更新履歴
情報を格納するログメモリとをさらに具備し、 前記制御手段は、 前記CPUによる前記キャッシュメモリに対するデータ
書き込みが実行されたとき、そのデータ書き込みが実行
された番地に対応する前記メインメモリの更新前データ
と、それに対応する冗長コードを前記メインメモリおよ
び前記冗長コードメモリからそれぞれ読み出し、それら
更新前データおよび冗長コードを前記更新履歴情報とし
て前記ログメモリに格納することを特徴とする請求項1
記載のコンピュータシステム。 - 【請求項7】 1以上のCPUと、このCPUとバスを
介して接続され、誤り検出機能を有するメインメモリ
と、このメインメモリの更新履歴情報を格納するログメ
モリとを有するコンピュータシステムであって、チェッ
クポイント毎に障害回復に必要な情報を前記メインメモ
リに格納し、障害発生時に前記ログメモリに格納されて
いる更新履歴情報を使用して前記メインメモリの内容を
前記障害発生前のチェックポイントの時点に復元するコ
ンピュータシステムにおいて、 前記メインメモリに対するリードライトアクセスの単位
となる番地それぞれに対応して設けられた複数の記憶領
域を有し、各記憶領域内にその記憶領域に対応する前記
メインメモリの番地に格納されているデータの一部に生
じた誤りを訂正するための冗長符号を保持する冗長コー
ドメモリと、 前記バス、前記冗長コードメモリおよび前記ログメモリ
に接続され、前記冗長コードメモリおよび前記ログメモ
リを制御する制御装置とを具備し、 この制御装置は、 前記バス上に発行されるバストランザクションを監視す
るバス監視手段と、 このバス監視手段によって前記CPUによる前記メイン
メモリに対するデータ書き込みが実行されることが検出
されたとき、前記CPUによる前記メインメモリに対す
るデータ書き込みが実行される前に、データ書き込みが
実行される番地に対応する前記メインメモリの更新前デ
ータおよびその更新前データに対応する冗長コードを前
記メインメモリおよび前記冗長コードメモリからそれぞ
れ読み出し、それら更新前データおよび冗長コードを前
記更新履歴情報として前記ログメモリに格納する手段
と、 前記CPUによる前記メインメモリに対するデータ書き
込みのためのデータが前記バス上に出力されたとき、そ
のデータの値からそのデータに対応する前記冗長コード
を生成し、その冗長コードを前記データが書き込まれる
前記メインメモリの番地に対応する前記冗長コードメモ
リの記憶領域に格納する手段とを具備しすることを特徴
とするコンピュータシステム。 - 【請求項8】 1以上のCPUと、このCPUとバスを
介して接続され、リードライトアクセスの単位となるデ
ータ列毎に誤り検出機能を有するメインメモリとを有す
るコンピュータシステムにおいて、 前記メインメモリの連続アクセスされる複数のデータ列
から構成される単位データブロックそれぞれに対応して
設けられた複数の記憶領域を有し、各記憶領域内に、そ
の記憶領域に対応する単位データブロックに属する複数
のデータ列それぞれの同一ビット位置についての垂直パ
リティデータを保持する垂直パリティメモリと、 前記バスおよび前記垂直パリティメモリに接続され、前
記垂直パリティメモリを制御する制御装置とを具備し、 この制御装置は、 前記バス上に発行されるバストランザクションを監視
し、前記CPUによる前記メインメモリに対する単位デ
ータブロックの書き込みが実行されるとき、前記バス上
の単位データブロックの値からその単位データブロック
に対応する前記垂直パリティデータを生成し、その垂直
パリティデータを前記データブロックに対応する前記冗
長コードメモリの記憶領域に格納することを特徴とする
コンピュータシステム。 - 【請求項9】 前記メインメモリのデータに誤りが検出
されたとき、そのデータが属する単位データブロック
と、その単位データブロックに対応する前記垂直パリテ
ィメモリの垂直パリティデータとから正しいデータを再
構成する誤り訂正手段をさらに具備することを特徴とす
る請求項8記載のコンピュータシステム。 - 【請求項10】 前記制御手段に接続され、前記メイン
メモリの更新履歴情報を格納するログメモリをさらに具
備し、 前記制御手段は、 前記CPUによる前記メインメモリに対する単位データ
ブロックの書き込みが実行される前に、前記メインメモ
リの更新前データブロックおよびその更新前データブロ
ックに対応する垂直パリティデータを前記メインメモリ
および前記垂直パリティメモリからそれぞれ読み出し、
それら更新前データブロックおよび垂直パリティデータ
を前記更新履歴情報として前記ログメモリに格納するこ
とを特徴とする請求項8記載のコンピュータシステム。 - 【請求項11】 前記メインメモリの内容を障害発生前
の状態に復元することが必要な障害が発生したとき、前
記ログメモリに格納されている各更新履歴情報を構成す
る更新前データブロックおよび垂直パリティデータを前
記メインメモリおよび前記垂直パリティメモリにそれぞ
れ書き戻して、前記メインメモリを障害発生前の状態に
復元すると共に、前記垂直パリティメモリの内容を前記
復元されたメインメモリの内容に対応する状態に戻す手
段をさらに具備することを特徴とする請求項10記載の
コンピュータシステム。 - 【請求項12】 前記メインメモリの内容を障害発生前
の状態に復元することが必要な障害が発生したとき、誤
りが発生したデータが属する単位データブロックと、そ
の単位データブロックに対応する前記垂直パリティメモ
リの垂直パリティデータとから正しいデータを再構成し
て前記メインメモリを修復した後、前記ログメモリに格
納されている各更新履歴情報を構成する更新前データブ
ロックおよび垂直パリティデータを前記メインメモリお
よび前記垂直パリティメモリにそれぞれ書き戻して、前
記メインメモリを障害発生前の状態に復元すると共に、
前記垂直パリティメモリの内容を前記復元されたメイン
メモリの内容に対応する状態に戻す手段をさらに具備す
ることを特徴とする請求項10記載のコンピュータシス
テム。 - 【請求項13】 キャッシュメモリと、 前記制御手段に接続され、前記メインメモリの更新履歴
情報を格納するログメモリとをさらに具備し、 前記制御手段は、 前記CPUによる前記キャッシュメモリへのデータ書き
込みが実行されたとき、そのデータ書き込みされたデー
タが属する前記メインメモリの更新前データブロック
と、それに対応する垂直パリティデータとを前記メイン
メモリおよび前記垂直パリティメモリからそれぞれ読み
出し、それら更新前データブロックおよび垂直パリティ
データを前記更新履歴情報として前記ログメモリに格納
することを特徴とする請求項8記載のコンピュータシス
テム。 - 【請求項14】 1以上のCPUと、このCPUとバス
を介して接続され、誤り検出機能を有するメインメモリ
と、このメインメモリの更新履歴情報を格納するログメ
モリとを有するコンピュータシステムであって、チェッ
クポイント毎に障害回復に必要な情報を前記メインメモ
リに格納し、障害発生時に前記ログメモリに格納されて
いる更新履歴情報を使用して前記メインメモリの内容を
前記障害発生前のチェックポイントの時点に復元するコ
ンピュータシステムにおいて、 前記メインメモリの連続アクセスされる複数のデータ列
から構成される単位データブロックそれぞれに対応して
設けられた複数の記憶領域を有し、各記憶領域内に、そ
の記憶領域に対応する単位データブロックに属する複数
のデータ列それぞれの同一ビット位置についての垂直パ
リティデータを保持する垂直パリティメモリと、 前記バス、前記垂直パリティメモリおよび前記ログメモ
リに接続され、前記垂直パリティメモリおよび前記ログ
メモリを制御する制御装置とを具備し、 この制御装置は、 前記バス上に発行されるバストランザクションを監視す
るバス監視手段と、 このバス監視手段によって前記CPUによる前記メイン
メモリへの単位データブロックの書き込みが実行される
ことが検出されたとき、前記CPUによる前記メインメ
モリに対する単位データブロックの書き込みが実行され
る前に、その単位データブロックに対応する前記メイン
メモリの更新前データブロックと、それに対応する垂直
パリティデータを前記メインメモリおよび前記垂直パリ
ティメモリからそれぞれ読み出し、それら更新前データ
ブロックおよび垂直パリティデータを前記更新履歴情報
として前記ログメモリに格納する手段と、 前記CPUによる前記メインメモリへの単位データブロ
ックの書き込みのための複数のデータ列が前記バス上に
出力されたとき、それらデータ列の値からそれに対応す
る前記垂直パリティデータを生成し、その垂直パリティ
データを前記単位データブロックに対応する前記垂直パ
リティメモリの記憶領域に格納する手段とを具備するこ
とを特徴とするコンピュータシステム。 - 【請求項15】 1以上のCPUと、このCPUとバス
を介して接続され、リードライトアクセスの単位となる
データ列毎に誤り検出機能を有するメインメモリとを有
するコンピュータシステムにおいて、 前記メインメモリ上の複数のデータ列を各々が有する複
数の単位データブロックを1組とする複数のデータブロ
ックグループそれぞれに対応して設けられた複数の記憶
領域を有し、各記憶領域内に、その記憶領域に対応する
データブロックグループに属する複数の単位データブロ
ックそれぞれの同一ビット位置についての垂直パリティ
データから構成されるブロックパリティデータを保持す
るブロックパリティメモリと、 前記バスおよび前記ブロックパリティメモリに接続さ
れ、前記ブロックパリティメモリを制御する制御装置と
を具備し、 この制御装置は、 前記バス上に発行されるバストランザクションを監視
し、前記CPUによる前記メインメモリのデータブロッ
クに対する書き込みが実行されるとき、前記バス上の書
き込みデータと、前記メインメモリ上の更新前データブ
ロックの値と、それに対応するブロックパリティデータ
とから新たなブロックパリティデータを生成し、そのブ
ロックパリティデータを前記データブロックグループに
対応する前記ブロックパリティメモリの記憶領域に格納
することを特徴とするコンピュータシステム。 - 【請求項16】 前記メインメモリのデータに誤りが検
出されたとき、そのデータが属するデータブロックグル
ープと、これに対応する前記ブロックパリティメモリの
ブロックパリティデータとから正しいデータブロックグ
ループを再構成する誤り訂正手段をさらに具備すること
を特徴とする請求項15記載のコンピュータシステム。 - 【請求項17】 前記制御手段に接続され、前記メイン
メモリの更新履歴情報を格納するログメモリをさらに具
備し、 前記制御手段は、 前記CPUによる前記メインメモリのデータブロックの
書き換えが実行される前に、前記メインメモリの更新前
データブロックおよびそのデータブロックの属するデー
タブロックグループに対応するブロックパリティデータ
を前記メインメモリおよび前記ブロックパリティメモリ
からそれぞれ読み出し、それら更新前データブロックお
よびブロックパリティデータを前記更新履歴情報として
前記ログメモリに格納することを特徴とする請求項15
記載のコンピュータシステム。 - 【請求項18】 前記メインメモリの内容を障害発生前
の状態に復元することが必要な障害が発生したとき、前
記ログメモリに格納されている各更新履歴情報を構成す
る更新前データブロックおよびブロックパリティデータ
を前記メインメモリおよび前記ブロックパリティメモリ
にそれぞれ書き戻して、前記メインメモリを障害発生前
の状態に復元すると共に、前記ブロックパリティメモリ
の内容を前記復元されたメインメモリの内容に対応する
状態に戻す手段をさらに具備することを特徴とする請求
項17記載のコンピュータシステム。 - 【請求項19】 前記メインメモリの内容を障害発生前
の状態に復元することが必要な障害が発生したとき、誤
りが検出されたメインメモリのデータブロックグループ
と、これに対応する前記ブロックパリティメモリのブロ
ックパリティデータとから正しいデータブロックグルー
プを再構成して前記メインメモリを修復した後、前記ロ
グメモリに格納されている各更新履歴情報を構成する更
新前データブロックおよびブロックパリティデータを前
記メインメモリおよび前記ブロックパリティメモリにそ
れぞれ書き戻して、前記メインメモリを障害発生前の状
態に復元すると共に、前記ブロックパリティメモリの内
容を前記復元されたメインメモリの内容に対応する状態
に戻す手段をさらに具備することを特徴とする請求項1
7記載のコンピュータシステム。 - 【請求項20】 キャッシュメモリと、 前記制御手段に接続され、前記メインメモリの更新履歴
情報を格納するログメモリとをさらに具備し、 前記制御手段は、 前記CPUによる前記キャッシュメモリへのデータ書き
込みが実行されたとき、そのデータ書き込みされたデー
タが属する前記メインメモリの更新前データブロック
と、それに対応するブロックパリティデータとを前記メ
インメモリおよび前記ブロックパリティメモリからそれ
ぞれ読み出し、それら更新前データブロックグループお
よびブロックパリティデータを前記更新履歴情報として
前記ログメモリに格納することを特徴とする請求項15
記載のコンピュータシステム。 - 【請求項21】 1以上のCPUと、このCPUとバス
を介して接続され、誤り検出機能を有するメインメモリ
と、このメインメモリの更新履歴情報を格納するログメ
モリとを有するコンピュータシステムであって、チェッ
クポイント毎に障害回復に必要な情報を前記メインメモ
リに格納し、障害発生時に前記ログメモリに格納されて
いる更新履歴情報を使用して前記メインメモリの内容を
前記障害発生前のチェックポイントの時点に復元するコ
ンピュータシステムにおいて、 前記メインメモリ上の複数のデータ列を各々が有する複
数の単位データブロックを1組とする複数のデータブロ
ックグループそれぞれに対応して設けられた複数の記憶
領域を有し、各記憶領域内に、その記憶領域に対応する
データブロックグループに属する複数の単位データブロ
ックそれぞれの同一ビット位置についての垂直パリティ
データから構成されるブロックパリティデータを保持す
るブロックパリティメモリと、 前記バス、前記ブロックパリティメモリおよび前記ログ
メモリに接続され、前記ブロックパリティメモリおよび
前記ログメモリを制御する制御装置とを具備し、 この制御装置は、 前記バス上に発行されるバストランザクションを監視す
るバス監視手段と、 このバス監視手段によって前記CPUによる前記メイン
メモリのデータブロックの書き換えが実行されることが
検出されたとき、前記データブロックの書き換えが実行
される前に、そのデータブロックに対応する前記メイン
メモリの更新前データブロックと、それに対応するブロ
ックパリティデータを前記メインメモリおよび前記ブロ
ックパリティメモリからそれぞれ読み出し、それら更新
前データブロックおよびブロックパリティデータを前記
更新履歴情報として前記ログメモリに格納する手段と、 前記CPUによる前記メインメモリのデータブロックの
書き換えのためのデータが前記バス上に出力されたと
き、そのデータと、更新前データブロックと、それに対
応するブロックパリティデータとから新たなブロックパ
リティデータを生成し、そのブロックパリティデータを
前記データブロックグループに対応する前記ブロックパ
リティメモリの記憶領域に格納する手段とを具備するこ
とを特徴とするコンピュータシステム。 - 【請求項22】 1以上のCPUと、このCPUとバス
を介して接続され、誤り検出機能を有するメインメモリ
と、このメインメモリに対するリードライトアクセスの
単位となる番地それぞれに対応して設けられた複数の記
憶領域を有し、各記憶領域内にその記憶領域に対応する
前記メインメモリの番地に格納されているデータの一部
に生じた誤りを訂正するための冗長符号を保持する冗長
コードメモリと、前記メインメモリの更新履歴情報を格
納するログメモリとを有するコンピュータシステムであ
って、チェックポイント毎に障害回復に必要な情報を前
記メインメモリに格納し、障害発生時に前記ログメモリ
に格納されている更新履歴情報を使用して前記メインメ
モリの内容を前記障害発生前のチェックポイントの時点
に復元するコンピュータシステムにおける障害回復方法
であって、 前記CPUによる前記メインメモリに対するデータ書き
込みが実行される前に、データ書き込みが実行される番
地に対応する前記メインメモリの更新前データおよびそ
の更新前データに対応する冗長コードを前記メインメモ
リおよび前記冗長コードメモリからそれぞれ読み出し、
それら更新前データおよび冗長コードを前記更新履歴情
報として前記ログメモリに格納し、 前記メインメモリの内容を障害発生前の状態に復元する
ことが必要な障害が発生したとき、誤りが検出されたメ
インメモリのデータと、これに対応する前記冗長コード
メモリの冗長コードとから正しいデータを再構成して前
記メインメモリを修復し、 前記メインメモリの修復後、前記ログメモリに格納され
ている各更新履歴情報を構成する更新前データおよび冗
長コードを前記メインメモリおよび前記冗長コードメモ
リにそれぞれ書き戻して、前記メインメモリを障害発生
前の状態に復元すると共に、前記冗長コードメモリの内
容を前記復元されたメインメモリの内容に対応する状態
に戻すことを特徴とする障害回復方法。 - 【請求項23】 1以上のCPUと、このCPUとバス
を介して接続され、誤り検出機能を有するメインメモリ
と、このメインメモリの連続アクセスされる複数のデー
タ列から構成される単位データブロックそれぞれに対応
して設けられた複数の記憶領域を有し、各記憶領域内
に、その記憶領域に対応する単位データブロックに属す
る複数のデータ列それぞれの同一ビット位置についての
垂直パリティデータを保持する垂直パリティメモリと、
前記メインメモリの更新履歴情報を格納するログメモリ
とを有するコンピュータシステムであって、チェックポ
イント毎に障害回復に必要な情報を前記メインメモリに
格納し、障害発生時に前記ログメモリに格納されている
更新履歴情報を使用して前記メインメモリの内容を前記
障害発生前のチェックポイントの時点に復元するコンピ
ュータシステムにおける障害回復方法であって、 前記CPUによる前記メインメモリへの単位データブロ
ックの書き込みが実行される前に、その単位データブロ
ックに対応する前記メインメモリの更新前データブロッ
クと、それに対応する垂直パリティデータを前記メイン
メモリおよび前記垂直パリティメモリからそれぞれ読み
出し、それら更新前データブロックおよび垂直パリティ
データを前記更新履歴情報として前記ログメモリに格納
し、 前記メインメモリの内容を障害発生前の状態に復元する
ことが必要な障害が発生したとき、誤りが検出されたメ
インメモリの単位データブロックと、これに対応する前
記垂直パリティメモリの垂直パリティデータとから正し
い単位データブロックを再構成して前記メインメモリを
修復し、 前記メインメモリの修復後、前記ログメモリに格納され
ている各更新履歴情報を構成する更新前データブロック
および垂直パリティデータを前記メインメモリおよび前
記垂直パリティメモリにそれぞれ書き戻して、前記メイ
ンメモリを障害発生前の状態に復元すると共に、前記垂
直パリティメモリの内容を前記復元されたメインメモリ
の内容に対応する状態に戻すことを特徴とする障害回復
方法。 - 【請求項24】 1以上のCPUと、このCPUとバス
を介して接続され、誤り検出機能を有するメインメモリ
と、このメインメモリ上の複数のデータ列を各々が有す
る複数の単位データブロックを1組とする複数のデータ
ブロックグループそれぞれに対応して設けられた複数の
記憶領域を有し、各記憶領域内に、その記憶領域に対応
するデータブロックグループに属する複数の単位データ
ブロックそれぞれの同一ビット位置についての垂直パリ
ティデータから構成されるブロックパリティデータを保
持するブロックパリティメモリと、前記メインメモリの
更新履歴情報を格納するログメモリとを有するコンピュ
ータシステムであって、チェックポイント毎に障害回復
に必要な情報を前記メインメモリに格納し、障害発生時
に前記ログメモリに格納されている更新履歴情報を使用
して前記メインメモリの内容を前記障害発生前のチェッ
クポイントの時点に復元するコンピュータシステムにお
ける障害回復方法であって、 前記CPUによる前記メインメモリのデータブロックの
書き換えが実行される前に、そのデータブロックに対応
する前記メインメモリの更新前データブロックと、それ
に対応するブロックパリティデータを前記メインメモリ
および前記ブロックパリティメモリからそれぞれ読み出
し、それら更新前データブロックおよびブロックパリテ
ィデータを前記更新履歴情報として前記ログメモリに格
納し、 前記メインメモリの内容を障害発生前の状態に復元する
ことが必要な障害が発生したとき、誤りが検出されたメ
インメモリのデータブロックグループと、これに対応す
る前記ブロックパリティメモリのブロックパリティデー
タとから正しいデータブロックグループを再構成して前
記メインメモリを修復し、 前記メインメモリの修復後、前記ログメモリに格納され
ている各更新履歴情報を構成する更新前データブロック
およびブロックパリティデータを前記メインメモリおよ
び前記ブロックパリティメモリにそれぞれ書き戻して、
前記メインメモリを障害発生前の状態に復元すると共
に、前記ブロックパリティメモリの内容を前記復元され
たメインメモリの内容に対応する状態に戻すことを特徴
とする障害回復方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15124996A JP3788822B2 (ja) | 1996-06-12 | 1996-06-12 | コンピュータシステムおよびそのシステムにおける障害回復方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15124996A JP3788822B2 (ja) | 1996-06-12 | 1996-06-12 | コンピュータシステムおよびそのシステムにおける障害回復方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09330303A true JPH09330303A (ja) | 1997-12-22 |
JP3788822B2 JP3788822B2 (ja) | 2006-06-21 |
Family
ID=15514539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15124996A Expired - Fee Related JP3788822B2 (ja) | 1996-06-12 | 1996-06-12 | コンピュータシステムおよびそのシステムにおける障害回復方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3788822B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
JP2009157756A (ja) * | 2007-12-27 | 2009-07-16 | Toshiba Corp | 情報処理装置およびデータ復旧方法 |
JP2009169747A (ja) * | 2008-01-17 | 2009-07-30 | Toshiba Corp | 情報処理装置およびデータ復旧方法 |
JP2011060217A (ja) * | 2009-09-14 | 2011-03-24 | Toshiba Corp | データ蓄積装置及びデータ書込み/読出し方法 |
-
1996
- 1996-06-12 JP JP15124996A patent/JP3788822B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
JP2009157756A (ja) * | 2007-12-27 | 2009-07-16 | Toshiba Corp | 情報処理装置およびデータ復旧方法 |
JP2009169747A (ja) * | 2008-01-17 | 2009-07-30 | Toshiba Corp | 情報処理装置およびデータ復旧方法 |
JP2011060217A (ja) * | 2009-09-14 | 2011-03-24 | Toshiba Corp | データ蓄積装置及びデータ書込み/読出し方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3788822B2 (ja) | 2006-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5379417A (en) | System and method for ensuring write data integrity in a redundant array data storage system | |
JP3129732B2 (ja) | コピーバックキャッシュを有する記憶装置アレイ | |
US5325519A (en) | Fault tolerant computer with archival rollback capabilities | |
US5761705A (en) | Methods and structure for maintaining cache consistency in a RAID controller having redundant caches | |
US5488731A (en) | Synchronization method for loosely coupled arrays of redundant disk drives | |
US5613059A (en) | On-line restoration of redundancy information in a redundant array system | |
EP0889409B1 (en) | Mirrored write-back cache module warmswap | |
JP3283530B2 (ja) | ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム | |
US6785783B2 (en) | NUMA system with redundant main memory architecture | |
US6868506B2 (en) | Data recovery method and apparatus | |
US7882316B2 (en) | Shared data mirroring apparatus, method, and system | |
US20060106898A1 (en) | Method, system, and program for storing and using metadata in multiple storage locations | |
US5734814A (en) | Host-based RAID-5 and NV-RAM integration | |
US7076686B2 (en) | Hot swapping memory method and system | |
US5632013A (en) | Memory and system for recovery/restoration of data using a memory controller | |
JP2001249911A (ja) | データ転送方法及びデータ処理システム | |
JPH09269871A (ja) | ディスクアレイ装置におけるデータ再冗長化方式 | |
JP3748117B2 (ja) | 鏡像化メモリ用エラー検出システム | |
CN112119380A (zh) | 带有旁路的奇偶校验记录 | |
US6810489B1 (en) | Checkpoint computer system utilizing a FIFO buffer to re-synchronize and recover the system on the detection of an error | |
JPS5913783B2 (ja) | 2重化フアイル方式 | |
JP3788822B2 (ja) | コンピュータシステムおよびそのシステムにおける障害回復方法 | |
US20220374310A1 (en) | Write request completion notification in response to partial hardening of write data | |
RU2327236C2 (ru) | Оперативное запоминающее устройство с высокой степенью отказоустойчивости | |
WO2020214391A1 (en) | Multilevel resiliency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050405 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050527 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060324 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090407 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140407 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |