JP2001084178A - データ記憶素子および電子計算機 - Google Patents

データ記憶素子および電子計算機

Info

Publication number
JP2001084178A
JP2001084178A JP25760999A JP25760999A JP2001084178A JP 2001084178 A JP2001084178 A JP 2001084178A JP 25760999 A JP25760999 A JP 25760999A JP 25760999 A JP25760999 A JP 25760999A JP 2001084178 A JP2001084178 A JP 2001084178A
Authority
JP
Japan
Prior art keywords
data
storage cell
cell group
storage
buffer
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
Application number
JP25760999A
Other languages
English (en)
Other versions
JP4146045B2 (ja
Inventor
Yasuhiko Kurosawa
泰彦 黒澤
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP25760999A priority Critical patent/JP4146045B2/ja
Publication of JP2001084178A publication Critical patent/JP2001084178A/ja
Application granted granted Critical
Publication of JP4146045B2 publication Critical patent/JP4146045B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】 【課題】チェックポイント・ロールバック方式の高信頼
性機構によるチェックポイント処理やロールバック処理
のオーバーヘッドを大幅に小さくすることを可能とする
データ記憶素子を提供する。 【解決手段】同一のアドレス空間を構成するプライマリ
セル10とセカンダリセル20とを設けて、単一のデー
タ記憶素子(DRAM等)内にプライマリの記憶領域と
セカンダリの記憶領域との2つの記憶領域を確保し、共
有リソースである外部バスを用いることなく、プライマ
リセル10のデータをセンスアンプ30を介してセカン
ダリセル20にコピーすることにより、チェックポイン
ト処理を実行し、また、セカンダリセル20のデータを
センスアンプ30を介してプライマリセル10にコピー
することにより、ロールバック処理を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、チェックポイン
ト・ロールバック方式の高信頼性機構によるチェックポ
イント処理やロールバック処理のオーバーヘッドを大幅
に小さくするデータ記憶素子およびこのデータ記憶素子
を適用する電子計算機に関する。
【0002】
【従来の技術】近年、様々な分野で業務処理の電子化が
図られており、コンピュータの信頼性や耐障害性に対す
る要求は日々高まる一方である。そして、この耐障害性
を実現するコンピュータとして、いわゆるフォールトト
レラント型コンピュータが存在する。
【0003】このフォールトトレラント型コンピュータ
では、ハードウェアを多重化し、演算結果を比較して信
頼性を向上させる多重化方式と、定期的にチェックポイ
ントとよばれる安定した状態を取り、障害が発生したら
チェックポイント状態まで計算機の状態を戻すことによ
って正しい演算結果を得るチェックポイント・ロールバ
ック方式との2つの方式がよく知られている。
【0004】このうち、多重化方式は、たとえば「ノン
ストップコンピュータのしくみがわかる本」(麹町FT
C研究会編、工業調査会:1992)に記載のタンデム
社NonStop Cycloneシリーズ、ストラタ
ス社 XAシリーズ等に代表されるように、疎結合また
は密結合のマルチプロセッサによる高信頼性コンピュー
タで広く実用化されている。
【0005】一方、チェックポイント・ロールバック方
式は、たとえば特開平9−6731号公報に記載のメモ
リ状態復元装置や特開平5−6308号公報に記載のキ
ャッシュコントローラ並びにフォールト・トレラント・
コンピュータおよびそのデータ転送方式で示される高信
頼性コンピュータシステムの構築方式である。
【0006】
【発明が解決しようとする課題】しかしながら、多重化
方式によるフォールトトレラント型コンピュータは、プ
ロセッサ等のリソースが複数必要であるためにコストが
高くなり、また、チェックポイント・ロールバック方式
によるフォールトトレラント型コンピュータは、チェッ
クポイントを採るためのオーバーヘッドが大きく、多重
化方式に比べると高性能を得にくいといった問題があっ
た。
【0007】この発明は、このような実情を考慮してな
されたものであり、チェックポイント・ロールバック方
式の高信頼性機構によるチェックポイント処理やロール
バック処理のオーバーヘッドを大幅に小さくするデータ
記憶素子およびこのデータ記憶素子を適用する電子計算
機を提供することを目的とする。
【0008】
【課題を解決するための手段】前述した目的を達成する
ために、この発明のデータ記憶素子は、同一のアドレス
空間を構成する記憶セル群を複数組設けることにより、
単一のデータ記憶素子内にプライマリの記憶領域とセカ
ンダリの記憶領域との2つの記憶領域をもつことを可能
としたものであり、そのために、同一のアドレス空間を
構成する複数組の記憶セル群と、前記複数組の記憶セル
群が接続されるバッファと、前記バッファにデータを読
み出す記憶セル群を選択する第1の選択手段と、前記バ
ッファのデータを書き込む記憶セル群を選択する第2の
選択手段と、を具備することを特徴とする。
【0009】この発明のデータ記憶素子によれば、共有
リソースである外部バスを用いることなく、チェックポ
イント処理をプライマリとして用いる記憶セル群のデー
タをセカンダリとして用いる記憶セル群にコピーするこ
とにより実行し、また、ロールバック処理をセカンダリ
として用いる記憶セル群のデータをプライマリとして用
いる記憶セル群にコピーすることにより実行することが
できるため、チェックポイント処理およびロールバック
処理のオーバヘッドを大幅に小さくすることを可能とす
る。
【0010】また、この発明のデータ記憶素子は、リフ
レッシュ時に、いずれかの記憶セル群のデータを前記バ
ッファを介して同記憶セル群を含む前記複数組の記憶セ
ル群のうちの2つ以上に同時に書き戻す手段を備えたD
RAMであることを特徴とする。
【0011】この発明のデータ記憶素子によれば、DR
AMのリフレッシュ動作にチェックポイント処理を隠蔽
することができるため、チェックポイント処理のオーバ
ヘッドをより小さくすることを可能とする。
【0012】また、この発明のデータ記憶素子は、前記
複数組の記憶セル群の中の少なくとも1組は不揮発性素
子であることを特徴とする。
【0013】この発明のデータ記憶素子によれば、セカ
ンダリとして用いる記憶セル群を不揮発性素子として電
源遮断に対処することができるため、耐障害性をより向
上させることを可能とする。
【0014】また、この発明のデータ記憶素子は、前記
記憶セル群に、エラーチェックのための冗長ビットが設
けられ、この冗長ビットを用いてエラー検出またはエラ
ー訂正を行なう手段を具備することを特徴とする。
【0015】ECC等のエラー検出/訂正では、できる
だけ語長を長くする方が全体に対するチェックビットの
比率を少なくすることができる。したがって、この発明
のデータ記憶素子によれば、長い語長で効率のよいエラ
ーチェックを行なえ、かつ、このエラーチェックに共有
リソースである外部バスを用いる必要がない。
【0016】また、この発明のデータ記憶素子は、各記
憶セルの参照履歴を示す手段を前記複数組の記憶セル群
の中の少なくとも1組以上に対応させて設けたことを特
徴とする。
【0017】この発明のデータ記憶素子によれば、プラ
イマリとして用いる記憶セル群からセカンダリとして用
いる記憶セル群へのデータのコピーを必要な分のみに限
定することができるため、チェックポイント処理のオー
バヘッドをより小さくすることを可能とする。
【0018】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。
【0019】(第1実施形態)まず、この発明の第1実
施形態を説明する。
【0020】図1は、この発明の第1実施形態に係るチ
ェックポイント・ロールバック方式のフォールト・トレ
ラント・コンピュータの概略構成を示す図である。
【0021】図1に示すように、この第1実施形態のフ
ォールト・トレラント・コンピュータには、システムバ
スAが敷設されており、このシステムバスAには、複数
のCPU1とメモリコントローラ2とが接続されてい
る。また、このメモリコントローラ2には、システムメ
モリ3が接続されている。
【0022】CPU1は、密結合対系型マルチプロセッ
サ(SMP)を構成している。すべてのCPU1はチェ
ックポイントで同期をとり、内部情報をシステムメモリ
3の予め定められた領域に書き込んでいる。さらに、C
PU1のキャッシュメモリのダーティ領域をシステムメ
モリ3に書き込み、システムの安定した状態(チェック
ポイント取得状態)をシステムメモリ3に作る。
【0023】チェックポイント取得状態が確定すると、
システムメモリ3のプライマリ領域をセカンダリ領域に
コピーするコマンドをメモリコントローラ2に送り、コ
ピーが終了したことを確認すると再び通常動作状態に戻
る。
【0024】メモリコントローラ2は、システムメモリ
3を駆動制御するものであり、CPU1からの指示にし
たがって、システムメモリ3からのデータの読み出しや
システムメモリ3へのデータの書き込みを実行する。ま
た、このメモリコントローラ2は、たとえばDRAMに
おけるリフレッシュ動作など、システムメモリ3に格納
されたデータの保護も実行制御する。
【0025】システムメモリ3は、複数のCPU1から
共有される、このフォールト・トレラント・コンピュー
タの主記憶となるメモリデバイスであり、CPU1によ
って実行制御されるプログラムや処理データを格納す
る。なお、このフォールト・トレラント・コンピュータ
では、このシステムメモリ3をDRAMにより構成して
いる。
【0026】そして、この発明は、このシステムメモリ
3を構成するデータ記憶素子(ここではDRAM)が、
同一のアドレス空間を構成する記憶セル群をデータ記憶
素子内部に複数組備えることで、このデータ記憶素子内
にプライマリメモリ3aとセカンダリメモリ3bの2つ
の記憶領域をもつことを可能とし、その結果、共有リソ
ースであるシステムバスAを用いることなく、チェック
ポイント処理やロールバック処理を行なえるようにした
ことにより、これらのオーバヘッドを大幅に小さくした
点を特徴としている。
【0027】そのために、このフォールト・トレラント
・コンピュータでは、システムメモリ3を構成するDR
AMに、リフレッシュ時に読み出しを行なうメモリセル
(プライマリまたはセカンダリ)を指定する機能と、リ
フレッシュによる書き戻しを読み出し元のセルのみに行
なうか、または、両方のセルに対して行なうかを指定す
る機能とを付加する。
【0028】図2は、このシステムメモリ3を構成する
DRAMの2つのメモリセルおよびセンスアンプとその
動作とを模式的に示したものである。なお、この図2に
は示していないが、リフレッシュ時にセンスアンプ30
に読み込むメモリセルの指定は、DRAMの外部ピンで
行なう。この外部ピンは、DRAMの行アドレス選択用
ピンと同等の機能をもつ。便宜上、このピンを「センス
アンプ・リード・セレクタ・ピン」と呼ぶことにする。
また、リフレッシュによる書き戻しを読み込んだセル側
だけに行なうか、または、(プライマリとセカンダリ
の)両方のセルに対して行なうかを指定するためのピン
も別に設けるものとする。便宜上、このピンを「センス
アンプ・ライト・セレクタ・ピン」と呼ぶことにする。
そして、ここでは簡単のため、「センスアンプ・ライト
・セレクタ・ピン」は、各メモリセルに対して1ビット
ずつ割り当てられているものとする。
【0029】このDRAMでは、1つのセンスアンプ3
0に2つのDRAMセル(10,20)が接続されてお
り、通常はプライマリ側のメモリセル10に対してデー
タをリード/ライトする。通常のリード時には、「セン
スアンプ・リード・セレクタ・ピン」は、プライマリ・
セル10側を選択している。また、通常のライト時に
は、「センスアンプ・ライト・セレクタ・ピン」は、プ
ライマリ側だけに書き込むようにセットされている。
【0030】まず、このDRAMの通常動作について説
明する。
【0031】このDRAMが通常のDRAMと異なる点
は、リフレッシュ時のデータ更新動作にある。図3にプ
ライマリ側のリフレッシュ動作を示し、図4に、セカン
ダリ側のリフレッシュ動作を示す。
【0032】リフレッシュ周期がチェックポイントより
も前に来た場合、DRAMは、標準的なDRAMと同様
の方法でリフレッシュを行なう。即ち、プライマリ側1
0のリフレッシュとセカンダリ側20のリフレッシュと
を独立して行ない、書き戻しは読み出した側のセルに対
してのみ行なう。
【0033】図3に示したプライマリ側セル10のリフ
レッシュ時には、「センスアンプ・リード・セレクタ・
ピン」によりセンスアンプ30にプライマリ・セル10
側のデータを読み込み、「センスアンプ・ライト・セレ
クタ・ピン」はセンスアンプ30の内容をプライマリ側
だけに書き込むようにそれぞれセットされている。
【0034】一方、図4に示したセカンダリ側セル20
のリフレッシュ時には、「センスアンプ・リード・セレ
クタ・ピン」はセカンダリ・セル20側を読み込み、
「センスアンプ・ライト・セレクタ・ピン」はセカンダ
リ側セル20にだけに書き込むようにそれぞれセットさ
れている。
【0035】行アドレスは、通常のCAS befor
e RASリフレッシュと同様にDRAM内部で生成さ
れ、プライマリ側行アドレス(PRn)とセカンダリ側
行アドレス(SRn)とに同じ値が供給される。
【0036】次に、このDRAMのチェックポイント動
作について説明する。
【0037】図5にチェックポイント時のDRAMのリ
フレッシュ動作を示す。このDRAMでは、チェックポ
イント時にプライマリ側10のデータをセンスアンプ3
0に読み出し、プライマリ側10とセカンダリ側20と
の両方にデータを書き込むリフレッシュ動作を行なう。
これにより、リフレッシュ動作にチェックポイント動作
を隠蔽できるので、チェックポイント処理のオーバーヘ
ッドを低減することができる。
【0038】図5に示したプライマリ側セル10の内容
をセカンダリ側セルにコピーするチェックポイント時の
リフレッシュでは、「センスアンプ・リード・セレクタ
・ピン」はプライマリ・セル10側を、「センスアンプ
・ライト・セレクタ・ピン」はプライマリ側セル10と
セカンダリ側セル20との両方に書き込むようにそれぞ
れセットされている。また、行アドレスは、通常のCA
S before RASリフレッシュと同様にDRA
M内部で生成され、プライマリ側行アドレス(PRn)
とセカンダリ側行アドレス(SRn)とに同じ値が供給
される。
【0039】次に、このDRAMのロールバック動作に
ついて説明する。
【0040】図6にロールバック時のDRAMのリフレ
ッシュ動作を示す。この場合、セカンダリ側のセル20
からセンスアンプ30にデータを読み出し、セカンダリ
側20とプライマリ側10との両方にデータを書き戻す
リフレッシュ動作をさせる。この動作により、メモリ
は、前のチェックポイント状態に迅速に戻ることができ
る。
【0041】図6に示したセカンダリ側セル20の内容
をプライマリ側セル10にコピーするロールバック処理
のリフレッシュでは、「センスアンプ・リード・セレク
タ・ピン」はセカンダリ側セル20側を、「センスアン
プ・ライト・セレクタ・ピン」はプライマリ側セル10
とセカンダリ側セル20との両方に書き込むようにそれ
ぞれセットされている。また、行アドレスは、通常のC
AS beforeRASリフレッシュと同様にDRA
M内部で生成され、プライマリ側行アドレス(PRn)
とセカンダリ側行アドレス(SRn)とに同じ値が供給
される。
【0042】以上の各リフレッシュ動作における動作を
図7に示す。図7において、「センスアンプ・ライト・
セレクタ・ピン」は、“(プライマリ側セルの選択、セ
カンダリ側セルの選択)”の形式で記載し、“1”のと
きアクティブ、“0”のときインアクティブとする。
【0043】また、図8に一般的な計算機のリフレッシ
ュのタイミングを、図9にこの第1実施形態のDRAM
を適用したフォールド・トレラント・コンピュータのリ
フレッシュのタイミングを示す。これらの図では、リフ
レッシュタイミングを簡易的に縦線で示している。
【0044】一般的な計算機では、DRAMの規定によ
り各行アドレスが64msに1回以上の頻度でアクセス
しなくてはならない。このため、普通はメモリコントロ
ーラが15usに1回程度の頻度でリフレッシュ割り込
みを入れ、DRAMのリフレッシュを等間隔で実行する
(図8)。
【0045】一方、チェックポイントロールバック方式
の計算機では、チェックポイントを約10msに1回の
割合でとる。すなわち、チェックポイント間隔とリフレ
ッシュ間隔とがほぼ同等であるので、この第1実施形態
のDRAMでは、リフレッシュは原則として図9(a)
に示すようにチェックポイント処理時に行なう。これに
より、通常動作時にはリフレッシュによる割り込みが発
生せず、メモリアクセスを高速に実行できる。
【0046】ただし、図9(b)に示すようにチェック
ポイント間隔が規定のリフレッシュ間隔より長くなって
しまう場合には、一般の計算機の記憶装置と同様にリフ
レッシュ割り込みを入れてリフレッシュを実行する。こ
のため、たとえば規定のリフレッシュ周期64msの3
/4である48msを越えると通常のリフレッシュ周期
15usの4倍の頻度、すなわち3.75usに1回の
割合でリフレッシュ割り込みをいれてリフレッシュ動作
を行ない、DRAMのデータを保証する。チェックポイ
ントが48ms以上64ms未満で採られる場合には、
チェックポイント処理に入る。一方、チェックポイント
が64ms以内で採られない場合には、リフレッシュ割
り込み用の48msカウンタをリセットして次のチェッ
クポイント割り込みがリフレッシュ割り込みを越えない
かをチェックする。
【0047】ここで、このDRAMのリフレッシュ方式
の選択手順を図10のフローチャートを参照しながら説
明する。
【0048】まず、ロールバックの実行かどうかを調べ
(ステップA1)、ロールバックの実行であれば(ステ
ップA1のYES)、セカンダリセルの内容をプライマ
リセルにコピーするリフレッシュ方式を選択する(ステ
ップA2)。ロールバックの実行でなければ(ステップ
A1のNO)、続いて、チェックポイントの採取かどう
かを調べ(ステップA3)、チェックポイントの採取で
あれば(ステップA3のYES)、プライマリセルの内
容をセカンダリセルにコピーするリフレッシュ方式を選
択する(ステップA4)。
【0049】また、チェックポイントの採取でなければ
(ステップA3のNO)、リフレッシュ規定時間内かど
うかを調べ(ステップA5)、リフレッシュ規定時間内
でなければ(ステップA5のNO)、さらに、リフレッ
シュが完了しているかどうかを調べる(ステップA
6)。そして、すでにリフレッシュが完了していれば
(ステップA6のYES)、リフレッシュタイマを
“0”にリセットし(ステップA7)、一方、リフレッ
シュが完了していなければ(ステップA6のNO)、通
常のリフレッシュ方式を選択する(ステップA8)。
【0050】このように、このフォールト・トレラント
・コンピュータでは、システムメモリ3を構成するDR
AMが同一のアドレス空間を表すプライマリメモリ3a
とセカンダリメモリ3bの2つの記憶領域を構成するた
め、共有リソースであるシステムバスAを用いることな
く、チェックポイント処理やロールバック処理を行なう
ことを可能とし、これらのオーバヘッドを大幅に小さく
する。
【0051】(第2実施形態)次に、この発明の第2実
施形態を説明する。
【0052】この第2実施形態のフォールト・トレラン
ト・コンピュータの特徴は、前述の第1実施形態のフォ
ールト・トレラント・コンピュータのDRAMにエラー
検出/訂正回路(単一誤り訂正二重誤り検出方式EC
C)と、エラー検出/訂正イネーブルレジスタと、エラ
ー通知部(エラーフラグ、エラーアドレスレジスタ)と
を付加した点にある。
【0053】エラー検出/訂正回路は、ここでは、単一
誤り訂正二重誤り検出方式ECC(SEC−DSD E
CC)とする。DRAMの列アドレス(Column
Address)は、1Gビット(=2030ビット)程
度のDRAMで√2030=2 15ビット程度あるので、6
4(=26 )ビット程度のメモリバスより効率よくチェ
ックビットを作ることができる。実際、理論上は26
ットのデータに対するチェックビットは8ビット必要
で、全データの12%を占めるのに対し、215ビットの
データに対するチェックビットは17ビットであり、全
データの0.5%にすぎない(「誤り符号化技術の要
点」4章コンピュータへの応用,今井秀樹監修,日本工
業技術センター参照)。
【0054】エラー検出/訂正イネーブルレジスタは、
たとえば2ビットで構成し、ビット0を“1”にすると
ECCによるエラー検出を行ない、“0”にするとエラ
ー検出を行なわない。また、ビット1を“1”にすると
ECCによる単一誤り訂正を行ない、“0”にすると誤
り訂正を行なわない。
【0055】エラー通知部は、エラー発生の有無、エラ
ーが訂正可能であったか否か、エラー発生の行アドレス
(Row Address)を保持する。
【0056】この第2実施形態のDRAMは、データを
センスアンプからメモリセルに書き戻すときにECCチ
ェックビットを生成してメモリセルに書き込み、データ
をメモリセルからセンスアンプに読み込むときにはEC
Cチェックを行なう。このとき、エラー検出/訂正イネ
ーブルレジスタにしたがって、エラー検出や訂正を行な
う。すなわち、エラー検出がイネーブルであれば、エラ
ー発生時にエラーフラグを“1”にセットし、エラーア
ドレスレジスタにエラーアドレスを保存し、エラー検出
がディセーブルであれば、エラー発生時にもエラーフラ
グ、エラーアドレスレジスタを更新しない。なお、通常
の高信頼性計算機のECCで行なわれているように、2
重ビット誤り検出レジスタがセットされていれば、単一
ビット誤り訂正時にエラーフラグやエラーアドレスレジ
スタを更新しないようにしてもよい。
【0057】チェックポイント処理またはロールバック
処理のリフレッシュ動作において単一誤りを検出した場
合は、誤りを訂正した後に両方のメモリセルに書き込
む。また、2重誤りを検出した場合は、読み出した側の
セルにのみデータを書き戻し、反対側のセルにはデータ
を書き戻さない。なお、エラー検出/訂正イネーブルレ
ジスタは無くても構わない。
【0058】図11にエラーチェックビットを持つ場合
のDRAMの構成を示す。なお、図11では省略した
が、行アドレス(PRn)のデータ100とチェックビ
ット110とをセンスアンプ30に読み出すときに、E
CCチェック回路を通してエラーチェックを行なう。単
一ビット誤りが発生していれば、そのビットを反転させ
てセンスアンプ30に書き込む。センスアンプからプラ
イマリ10側の行アドレス(PRn)のメモリセルおよ
びセカンダリ20側の行アドレス(SRn)のメモリセ
ルに書き込むときには、センスアンプ30のデータ部1
00からチェックビット110を生成して書き込む。す
なわち、エラー情報を残さなければセンスアンプ30に
チェックビット110は必要ない。データ部100から
チェックビット110を生成するのは、外部からメモリ
への書き込みが発生した場合に新しいデータ100をも
とにチェックビット110を生成しなおす必要があるた
めである。
【0059】(第3実施形態)次に、この発明の第3実
施形態を説明する。
【0060】この第3実施形態のフォールト・トレラン
ト・コンピュータの特徴は、前述の第1実施形態のフォ
ールト・トレラント・コンピュータのDRAMの各行ア
ドレスに更新ビットを設けた点にあり、チェックポイン
ト時に、この更新ビットの立っているDRAMアドレス
のみをリフレッシュすることでチェックポイント処理を
高速化する。
【0061】図12に更新ビットをもつ場合のDRAM
の構成を示す。
【0062】よく知られているように、計算機のメモリ
では、短い時間にアクセスされるメモリアドレスは小さ
な領域に集中する参照の局所性がある。したがって、D
RAMのアドレスを行アドレスが連続になるように実ア
ドレスにマッピングすると、短い時間の間に参照される
行アドレスは小さな領域に集中する。よって、更新ビッ
ト(または更新管理テーブル:Modified Bl
ock Table)120を設け、必要な部分のみ前
述のリフレッシュ動作による状態更新を行なえば、極め
て短い時間にチェックポイント処理を行なうことが可能
となる。
【0063】(第4実施形態)次に、この発明の第4実
施形態を説明する。
【0064】この第4実施形態のフォールト・トレラン
ト・コンピュータの特徴は、前述の第3実施形態のフォ
ールト・トレラント・コンピュータのDRAMがもつ更
新ビットをDRAMの外部に設けた点にある。ここでい
うDRAMの外部とは、メモリコントローラ内部であっ
ても良いし、メモリコントローラとは独立していてもよ
い。また、更新ビットはメモリに対する書き込みが発生
した場合にセットされるので、メモリ素子の外部に置く
こともできる。この場合、管理方法選択の自由度が大き
くなるので、たとえば前述の特開平9−6731号公報
に記載のメモリ状態復元装置等に適用すると、小さなオ
ーバーヘッドで信頼性の高い計算機を実現することがで
きる。
【0065】(第5実施形態)次に、この発明の第5実
施形態を説明する。
【0066】この第5実施形態のフォールト・トレラン
ト・コンピュータの特徴は、前述の第2の実施形態のフ
ォールト・トレラント・コンピュータのDRAMの各行
アドレスにリフレッシュ完了フラグを設けた点にある。
図13にリフレッシュ完了フラグをもつ場合のDRAM
の構成を示す。
【0067】通常のリフレッシュ動作、チェックポイン
ト処理またはロールバック処理によるリフレッシュ、ま
たは、通常のリード/ライトアクセスがあれば、このリ
フレッシュ完了フラグ130をセットする。そして、す
べてのリフレッシュ完了フラグがセットされたときに、
リフレッシュ完了フラグ130をリセットする。
【0068】リフレッシュ完了フラグ130が立ってい
る行アドレスに関しては、CASBefore RAS
リフレッシュをしないようにすることで、リフレッシュ
効率を高くすることができる。
【0069】(第6実施形態)次に、この発明の第6実
施形態を説明する。
【0070】この第6実施形態のフォールト・トレラン
ト・コンピュータの特徴は、前述の第3実施形態のフォ
ールト・トレラント・コンピュータのDRAMのセンス
アンプを2組設けた点にある。
【0071】図14にセンスアンプを2組設けた場合の
DRAMの構成を示す。
【0072】1組のセンスアンプ31aの入力は、プラ
イマリセル10に、もう1組のセンスアンプ31bの入
力は、セカンダリセル20にそれぞれ固定する。よっ
て、第1実施形態で述べた「センスアンプ・リード・セ
レクタ・ピン」は必要ない。その代わりに、後述するよ
うな、メモリセルに書き戻すデータを保持するセンスア
ンプを指定するための手段を設ける。
【0073】プライマリメモリ10に対する通常のリー
ド/ライトアクセスでは、プライマリ側のセンスアンプ
31aを用い、一方、セカンダリメモリ20に対する通
常のリード/ライトアクセスでは、セカンダリ側のセン
スアンプ31bを用いる。
【0074】まず、このDRAMの通常動作について説
明する。
【0075】図14には通常のDRAMのリフレッシュ
動作が示されている。通常のリフレッシュでは、行アド
レス(PRn)にあるプライマリメモリ10のデータ
は、プライマリセンスアンプ31aに読み出され、プラ
イマリメモリ10に書き戻される。同時に対応する行ア
ドレス(SRn)にあるセカンダリメモリ20のデータ
がセカンダリセンスアンプ31bに読み出され、セカン
ダリメモリ20に書き戻される。簡単のため、デフォル
トのセンスアンプを使用することを示す「ノーマル・リ
フレッシュ・ピン」を設けることにする。
【0076】「ノーマル・リフレッシュ・ピン」がアク
ティブのとき、「センスアンプ・ライト・セレクタ・ピ
ン」がアクティブであるメモリセル群にデフォルトのセ
ンスアンプのデータを書き込む。デフォルトのセンスア
ンプとは、プライマリメモリ10はプライマリ側のセン
スアンプ31a、セカンダリメモリ20はセカンダリ側
のセンスアンプ31bとする。「ノーマル・リフレッシ
ュ・ピン」がアクティブでないとき、どちら側のセンス
アンプの値をメモリセルに書き戻すかを決める手段が必
要である。今回の場合、プライマリ、セカンダリの2つ
のメモリセル群しかないので、1ビットあれば十分であ
る。これを「ライトバック・センスアンプ・セレクタ・
ピン」と呼ぶことにする。
【0077】「ノーマル・リフレッシュ・ピン」がアク
ティブでないときに、「ライトバック・センスアンプ・
セレクタ・ピン」が“プライマリ”であれば、プライマ
リ・センスアンプ31aの内容を、「センスアンプ・ラ
イト・セレクタ・ピン」がアクティブであるメモリセル
に書き込むものとする。
【0078】なお、このDRAMの構成においては、メ
モリセルが2組しかなく、“センスアンプ・ライトセレ
クタ・ピン”の設定は自明なので、“センスアンプ・ラ
イト・セレクタ・ピン”を設けなくとも構わない。
【0079】次に、このDRAMのチェックポイント動
作について説明する。
【0080】図15にチェックポイント時のDRAMの
リフレッシュ動作を示す。チェックポイント処理時に
は、キャッシュフラッシュを行ない、プロセッサのレジ
スタ等の情報をプライマリメモリに書き込んで退避した
後で、更新ビット130の立っているプライマリメモリ
10の行アドレス(PRn)のデータをプライマリセン
スアンプ31aに読み出す。同時に対応する行アドレス
(SRn)にあるセカンダリメモリ20のデータが、セ
カンダリセンスアンプ31bに読み出される。書き込み
時には、プライマリセンスアンプ31aの内容をプライ
マリメモリ10の行アドレス(PRn)のセル群だけで
なく、セカンダリメモリ20の対応する行アドレス(S
Rn)のセル群にも書き込む。そして、セカンダリセン
スアンプ31bの内容は捨てられる。このために、「ノ
ーマル・リフレッシュ・ピン」をインアクティブにし、
「ライトバック・センスアンプ・セレクタ・ピン」を
“プライマリ”にする。これにより、プライマリメモリ
10の更新された行アドレス(PRn)のデータは、セ
カンダリメモリ20の対応する行アドレス(SRn)の
メモリセルにコピーされる。
【0081】次に、このDRAMのロールバック動作に
ついて説明する。
【0082】障害発生時には、更新ビット130の立っ
ているプライマリメモリ10の行アドレス(PRn)の
データをプライマリセンスアンプ31aに読み出す。同
時に対応する行アドレス(SRn)にあるセカンダリメ
モリ20のデータが、セカンダリセンスアンプ32に読
み込まれる。書き込み時には、セカンダリセンスアンプ
31bの内容をセカンダリメモリ20の行アドレス(S
Rn)のセル群だけでなく、プライマリメモリ10の対
応する行アドレス(PRn)のセル群にも書き込まれ
る。そして、プライマリセンスアンプ31の内容は捨て
られる。このために、「ノーマル・リフレッシュ・ピ
ン」をインアクティブにし、「ライトバック・センスア
ンプ・セレクタ・ピン」を“セカンダリ”にする。これ
により、セカンダリメモリ10の更新された行アドレス
(SRn)のデータは、プライマリメモリ10の対応す
る行アドレス(PRn)のメモリセルにコピーされる。
【0083】なお、障害発生時には、更新ビット130
を無視してすべての行アドレスに対してリフレッシュ動
作を行なって、セカンダリメモリの内容をプライマリメ
モリにコピーしても良い。
【0084】以上の各リフレッシュ動作における動作を
図16に示す。図16において、「センスアンプ・ライ
ト・セレクタ・ピン」は、“(プライマリ側セルの選
択、セカンダリ側のセルの選択)”の形式で記載し、
“1”のときアクティブ、“0”のときインアクティブ
とする。
【0085】なお、前述の第1乃至第6実施形態のフォ
ールト・トレラント・コンピュータでは、DRAMのリ
フレッシュを用いてチェックポイント処理やロールバッ
ク処理を行なう例を示したが、データ記憶素子はDRA
Mに限られない。たとえばDRAMの替わりにSRAM
を用いても良いし、プライマリ側をDRAM、セカンダ
リ側をフラッシュメモリのような不揮発性メモリを用い
てもよい。
【0086】特に、セカンダリ側に不揮発性素子を使用
すると、高信頼性計算機のみならずに一般の計算機に使
用してレジューム機能を実現する手段として用いても有
効である。また、主記憶でなくディスクキャッシュに用
いて高信頼性を図ることもできるようになる。
【0087】さらに、システム・オン・チップ技術によ
り、プロセッサとメモリとを同一LSIチップ上に搭載
する場合には、メモリ制御回路にこの発明を適用するこ
とも可能である。
【0088】
【発明の効果】以上詳述したように、この発明によれ
ば、同一のアドレス空間を構成する記憶セル群を複数組
設けることにより、単一のデータ記憶素子内にプライマ
リの記憶領域とセカンダリの記憶領域との2つの記憶領
域をもつことを可能としたことから、共有リソースであ
る外部バスを用いることなく、チェックポイント処理を
プライマリとして用いる記憶セル群のデータをセカンダ
リとして用いる記憶セル群にコピーすることにより実行
し、また、ロールバック処理をセカンダリとして用いる
記憶セル群のデータをプライマリとして用いる記憶セル
群にコピーすることにより実行することができるため、
チェックポイント処理およびロールバック処理のオーバ
ヘッドを大幅に小さくすることを可能とする。
【図面の簡単な説明】
【図1】この発明の第1実施形態に係るチェックポイン
ト・ロールバック方式のフォールト・トレラント・コン
ピュータの概略構成を示す図。
【図2】同第1実施形態のシステムメモリ3を構成する
DRAMの2つのメモリセルおよびセンスアンプとその
動作とを模式的に示した図。
【図3】同第1実施形態のDRAMのプライマリ側のリ
フレッシュ動作を示す図。
【図4】同第1実施形態のDRAMのセカンダリ側のリ
フレッシュ動作を示す図。
【図5】同第1実施形態におけるチェックポイント時の
DRAMのリフレッシュ動作を示す図。
【図6】同第1実施形態におけるロールバック時のDR
AMのリフレッシュ動作を示す図。
【図7】同第1実施形態の各リフレッシュ動作における
動作を示す図。
【図8】一般的な計算機のリフレッシュのタイミングを
示す図。
【図9】同第1実施形態のDRAMを適用したフォール
ド・トレラント・コンピュータのリフレッシュのタイミ
ングを示す図。
【図10】同第1実施形態におけるDRAMのリフレッ
シュ方式の選択手順を説明するためのフローチャート。
【図11】同第2実施形態のエラーチェックビットを持
つ場合のDRAMの構成を示す図。
【図12】同第3実施形態の更新ビットをもつ場合のD
RAMの構成を示す図。
【図13】同第5実施形態のリフレッシュ完了フラグを
もつ場合のDRAMの構成を示す図。
【図14】同第6実施形態のセンスアンプを2組設けた
場合のDRAMの構成および通常のDRAMのリフレッ
シュ動作を示す図。
【図15】同第6実施形態におけるチェックポイント時
のDRAMのリフレッシュ動作を示す図。
【図16】同第6実施形態の各リフレッシュ動作におけ
る動作を示す図。
【符号の説明】
1…CPU 2…メモリコントローラ 3…システムメモリ(DRAM) 10…プライマリセル 20…セカンダリセル 30…センスアンプ 31a…プライマリセンスアンプ 31b…セカンダリセンスアンプ 100…データ本体 110…チェックビット 120…更新ビット 130…リフレッシュ完了フラグ

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 同一のアドレス空間を構成する複数組の
    記憶セル群と、 前記複数組の記憶セル群が接続されるバッファと、 前記バッファにデータを読み出す記憶セル群を選択する
    第1の選択手段と、 前記バッファのデータを書き込む記憶セル群を選択する
    第2の選択手段と、 を具備することを特徴とするデータ記憶素子。
  2. 【請求項2】 前記バッファは、データ保護のために前
    記記憶セル群のデータを書き戻すためのセンスアンプで
    あることを特徴とする請求項1記載のデータ記憶素子。
  3. 【請求項3】 前記複数組の記憶セル群の中のいずれか
    1つが通常用のプライマリセルであり、その他の記憶セ
    ル群がバックアップ用のセカンダリセルであることを特
    徴とする請求項1記載のデータ記憶素子。
  4. 【請求項4】 前記記憶セル群の組数が2であることを
    特徴とする請求項1記載のデータ記憶素子。
  5. 【請求項5】 リフレッシュ時に、いずれかの記憶セル
    群のデータを前記バッファを介して同記憶セル群を含む
    前記複数組の記憶セル群のうちの2つ以上に同時に書き
    戻す手段を備えたDRAMであることを特徴とする請求
    項1記載のデータ記憶素子。
  6. 【請求項6】 前記複数組の記憶セル群の中の少なくと
    も1組は不揮発性素子であることを特徴とする請求項1
    記載のデータ記憶素子。
  7. 【請求項7】 同一のアドレス空間を構成する第1およ
    び第2の記憶セル群と、 入力に前記第1の記憶セル群が接続され、出力に前記第
    1および第2の記憶セル群が接続される、前記第1の記
    憶セル群から読み出されたデータを格納する第1のバッ
    ファと、 入力に前記第2の記憶セル群が接続され、出力に前記第
    1および第2の記憶セル群が接続される、前記第2の記
    憶セル群から読み出されたデータを格納する第2のバッ
    ファと、 前記第1のバッファのデータを書き込む記憶セル群を前
    記第1および第2の記憶セル群の中から選択する第1の
    選択手段と、 前記第2のバッファのデータを書き込む記憶セル群を前
    記第1および第2の記憶セル群の中から選択する第2の
    選択手段と、 を具備することを特徴とするデータ記憶素子。
  8. 【請求項8】 前記第1のバッファは、データ保護のた
    めに前記第1の記憶セル群のデータを書き戻すためのセ
    ンスアンプであり、前記第2のバッファは、データ保護
    のために前記第2の記憶セル群のデータを書き戻すため
    のセンスアンプであることを特徴とする請求項7記載の
    データ記憶素子。
  9. 【請求項9】 前記第1の記憶セル群は、通常用のプラ
    イマリセルであり、前記第2の記憶セル群は、バックア
    ップ用のセカンダリセルであることを特徴とする請求項
    7記載のデータ記憶素子。
  10. 【請求項10】 リフレッシュ時に、前記第1および第
    2の記憶セル群の中のいずれか一方のデータを前記第1
    または第2のバッファを介して同記憶セル群を含む前記
    第1および第2の記憶セル群双方に同時に書き戻す手段
    を備えたDRAMであることを特徴とする請求項7記載
    のデータ記憶素子。
  11. 【請求項11】 前記第1および第2の記憶セル群の中
    の少なくとも一方が不揮発性素子であることを特徴とす
    る請求項7記載のデータ記憶素子。
  12. 【請求項12】 前記記憶セル群に、エラーチェックの
    ための冗長ビットが設けられ、この冗長ビットを用いて
    エラー検出またはエラー訂正を行なう手段を具備するこ
    とを特徴とする請求項1または7記載のデータ記憶素
    子。
  13. 【請求項13】 エラー情報を記憶する手段を具備する
    ことを特徴とする請求項12記載のデータ記憶素子。
  14. 【請求項14】 エラー検出またはエラー訂正をするか
    否かを指定する手段を具備することを特徴とする請求項
    12記載のデータ記憶素子。
  15. 【請求項15】 各記憶セルの参照履歴を示す手段を前
    記複数組の記憶セル群の中の少なくとも1組以上に対応
    させて設けたことを特徴とする請求項1または7記載の
    データ記憶素子。
  16. 【請求項16】 すべてのセルの参照が完了した旨を外
    部に通知する手段を具備することを特徴とする請求項1
    5記載のデータ記憶素子。
  17. 【請求項17】 チェックポイント・ロールバック方式
    の高信頼化機構を有する電子計算機において、 請求項1乃至14に記載のいずれかのデータ記憶素子
    と、 通常動作時、前記複数組の記憶セル群の中のいずれか1
    つの記憶セル群のデータを前記バッファを介して同記憶
    セル群のみに書き戻すデータ保護手段と、 チェックポイント時、通常動作時にデータの書き戻しを
    実行する記憶セル群のデータを前記バッファを介して同
    記憶セル群を含む前記複数組の記憶セル群のうちの2つ
    以上に同時に書き戻すデータ複製手段と、 ロールバック時、通常動作時にデータの書き戻しを実行
    する記憶セル群以外のいずれか1つの記憶セル群のデー
    タを前記バッファを介して同記憶セル群を含む前記複数
    組の記憶セル群のうちの2つ以上に同時に書き戻すデー
    タ復元手段と、 を具備することを特徴とする電子計算機。
  18. 【請求項18】 チェックポイント・ロールバック方式
    の高信頼化機構を有する電子計算機において、 請求項15および16に記載のいずれかのデータ記憶素
    子と、 通常動作時、前記複数組の記憶セル群の中のいずれか1
    つの記憶セル群のデータを前記バッファを介して同記憶
    セル群のみに書き戻すデータ保護手段と、 チェックポイント時、通常動作時にデータの書き戻しを
    実行する記憶セル群内の参照履歴のあるデータのみを前
    記バッファを介して同記憶セル群を含む前記複数組の記
    憶セル群のうちの2つ以上に同時に書き戻すデータ複製
    手段と、 ロールバック時、通常動作時にデータの書き戻しを実行
    する記憶セル群以外のいずれか1つの記憶セル群のデー
    タを前記バッファを介して同記憶セル群を含む前記複数
    組の記憶セル群のうちの2つ以上に同時に書き戻すデー
    タ復元手段と、 を具備することを特徴とする電子計算機。
  19. 【請求項19】 チェックポイントが前記データ記憶素
    子のリフレッシュ周期内に採取されるときに、前記デー
    タ記憶素子のリフレッシュをチェックポイント処理で実
    行することを特徴とする請求項17または18記載の電
    子計算機。
  20. 【請求項20】 チェックポイントが前記データ記憶素
    子のリフレッシュ周期内に採取されないときに、前記デ
    ータ記憶素子のリフレッシュを独立して実行することを
    特徴とする請求項17または18記載の電子計算機。
JP25760999A 1999-09-10 1999-09-10 電子計算機 Expired - Fee Related JP4146045B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25760999A JP4146045B2 (ja) 1999-09-10 1999-09-10 電子計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25760999A JP4146045B2 (ja) 1999-09-10 1999-09-10 電子計算機

Publications (2)

Publication Number Publication Date
JP2001084178A true JP2001084178A (ja) 2001-03-30
JP4146045B2 JP4146045B2 (ja) 2008-09-03

Family

ID=17308653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25760999A Expired - Fee Related JP4146045B2 (ja) 1999-09-10 1999-09-10 電子計算機

Country Status (1)

Country Link
JP (1) JP4146045B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5579257B2 (ja) * 2010-03-30 2014-08-27 株式会社エルイーテック 主記憶装置における情報を復元するための装置及び方法
US8954801B2 (en) 2009-10-15 2015-02-10 L E Tech Co., Ltd. Microcomputer and method of operation thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954801B2 (en) 2009-10-15 2015-02-10 L E Tech Co., Ltd. Microcomputer and method of operation thereof
JP5579257B2 (ja) * 2010-03-30 2014-08-27 株式会社エルイーテック 主記憶装置における情報を復元するための装置及び方法

Also Published As

Publication number Publication date
JP4146045B2 (ja) 2008-09-03

Similar Documents

Publication Publication Date Title
JP5265654B2 (ja) システムにおけるメモリ冗長性の制御
US10824499B2 (en) Memory system architectures using a separate system control path or channel for processing error information
KR102460513B1 (ko) 통합 패키지 후 복구
US5574874A (en) Method for implementing a checkpoint between pairs of memory locations using two indicators to indicate the status of each associated pair of memory locations
US10452498B2 (en) Fault tolerance for persistent main memory
US20160055059A1 (en) Memory devices and modules
US20110113208A1 (en) Storing checkpoint data in non-volatile memory
JP2019527424A (ja) Ddrメモリエラーリカバリ
US9081719B2 (en) Selective memory scrubbing based on data type
CN103137215A (zh) 向存储器提供低延时错误纠正码能力
US20200081771A1 (en) Bit Error Protection in Cache Memories
US10649829B2 (en) Tracking errors associated with memory access operations
JPH0778769B2 (ja) データ記憶システム
US20150113244A1 (en) Concurrently accessing memory
JP2008046701A (ja) マルチプロセッサシステム及びその動作方法
JP4146045B2 (ja) 電子計算機
US9141451B2 (en) Memory having improved reliability for certain data types
CN115599592A (zh) 内存镜像方法及计算设备
US7043609B2 (en) Method and apparatus for protecting a state associated with a memory structure
JP4118249B2 (ja) メモリシステム
Banâtre et al. Scalable shared memory multiprocessors: Some ideas to make them reliable
JPH09330303A (ja) コンピュータシステムおよびそのシステムにおける障害回復方法
JPH0217550A (ja) マルチプロセッサシステムの障害処理方式
Patil Co-designing reliability and performance for datacenter memory
Coghlan et al. Stable memory for a disk write cache

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080528

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: 20080617

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080619

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees