JP4146045B2 - Electronic computer - Google Patents
Electronic computer Download PDFInfo
- Publication number
- JP4146045B2 JP4146045B2 JP25760999A JP25760999A JP4146045B2 JP 4146045 B2 JP4146045 B2 JP 4146045B2 JP 25760999 A JP25760999 A JP 25760999A JP 25760999 A JP25760999 A JP 25760999A JP 4146045 B2 JP4146045 B2 JP 4146045B2
- Authority
- JP
- Japan
- Prior art keywords
- memory cell
- data
- cell group
- buffer
- storage element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
この発明は、チェックポイント・ロールバック方式の高信頼性機構によるチェックポイント処理やロールバック処理のオーバーヘッドを大幅に小さくする電子計算機に関する。
【0002】
【従来の技術】
近年、様々な分野で業務処理の電子化が図られており、コンピュータの信頼性や耐障害性に対する要求は日々高まる一方である。そして、この耐障害性を実現するコンピュータとして、いわゆるフォールトトレラント型コンピュータが存在する。
【0003】
このフォールトトレラント型コンピュータでは、ハードウェアを多重化し、演算結果を比較して信頼性を向上させる多重化方式と、定期的にチェックポイントとよばれる安定した状態を取り、障害が発生したらチェックポイント状態まで計算機の状態を戻すことによって正しい演算結果を得るチェックポイント・ロールバック方式との2つの方式がよく知られている。
【0004】
このうち、多重化方式は、たとえば「ノンストップコンピュータのしくみがわかる本」(麹町FTC研究会編、工業調査会:1992)に記載のタンデム社NonStop Cycloneシリーズ、ストラタス社 XAシリーズ等に代表されるように、疎結合または密結合のマルチプロセッサによる高信頼性コンピュータで広く実用化されている。
【0005】
一方、チェックポイント・ロールバック方式は、たとえば特開平9−6731号公報に記載のメモリ状態復元装置や特開平5−6308号公報に記載のキャッシュコントローラ並びにフォールト・トレラント・コンピュータおよびそのデータ転送方式で示される高信頼性コンピュータシステムの構築方式である。
【0006】
【発明が解決しようとする課題】
しかしながら、多重化方式によるフォールトトレラント型コンピュータは、プロセッサ等のリソースが複数必要であるためにコストが高くなり、また、チェックポイント・ロールバック方式によるフォールトトレラント型コンピュータは、チェックポイントを採るためのオーバーヘッドが大きく、多重化方式に比べると高性能を得にくいといった問題があった。
【0007】
この発明は、このような実情を考慮してなされたものであり、チェックポイント・ロールバック方式の高信頼性機構によるチェックポイント処理やロールバック処理のオーバーヘッドを大幅に小さくする電子計算機を提供することを目的とする。
【0008】
【課題を解決するための手段】
前述した目的を達成するために、この発明の電子計算機は、チェックポイント・ロールバック方式の高信頼化機構を有する電子計算機において、 同一のアドレス空間を構成する第1および第2の記憶セル群と、前記第1および第2の記憶セル群が接続されるバッファと、前記バッファにデータを読み出す記憶セル群を前記第1および第2の記憶セル群の中から選択する第1の選択手段と、前記バッファのデータを書き込む記憶セル群を前記第1および第2の記憶セル群の中から選択する第2の選択手段と、を有するデータ記憶素子と、通常動作時、前記第1の記憶セル群のデータを前記バッファを介して同第1の記憶セル群のみに書き戻すと共に、前記第2の記憶セル群のデータを前記バッファを介して同第2の記憶セル群のみに書き戻すデータ保護手段と、チェックポイント時、前記第1の記憶セル群のデータを前記バッファを介して同第1の記憶セル群および第2の記憶セル群に同時に書き戻すデータ複製手段と、ロールバック時、前記第2の記憶セル群のデータを前記バッファを介して同第2の記憶セル群および第1の記憶セル群に同時に書き戻すデータ復元手段と、を具備することを特徴とする。
【0009】
また、この発明の電子計算機は、チェックポイント・ロールバック方式の高信頼化機構を有する電子計算機において、同一のアドレス空間を構成する第1および第2の記憶セル群と、入力に前記第1の記憶セル群が接続され、出力に前記第1および第2の記憶セル群が接続される、前記第1の記憶セル群から読み出されたデータを格納する第1のバッファと、入力に前記第2の記憶セル群が接続され、出力に前記第1および第2の記憶セル群が接続される、前記第2の記憶セル群から読み出されたデータを格納する第2のバッファと、前記第1のバッファのデータを書き込む記憶セル群を前記第1および第2の記憶セル群の中から選択する第1の選択手段と、前記第2のバッファのデータを書き込む記憶セル群を前記第1および第2の記憶セル群の中から選択する第2の選択手段と、を有するデータ記憶素子と、通常動作時、前記第1の記憶セル群のデータを前記第1のバッファを介して同第1の記憶セル群のみに書き戻すと共に、前記第2の記憶セル群のデータを前記第2のバッファを介して同第2の記憶セル群のみに書き戻すデータ保護手段と、チェックポイント時、前記第1の記憶セル群のデータを前記第1のバッファを介して同第1の記憶セル群および第2の記憶セル群に同時に書き戻すデータ複製手段と、ロールバック時、前記第2の記憶セル群のデータを前記第2のバッファを介して同第2の記憶セル群および第1の記憶セル群に同時に書き戻すデータ復元手段と、を具備することを特徴とする。
【0018】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
【0019】
(第1実施形態)
まず、この発明の第1実施形態を説明する。
【0020】
図1は、この発明の第1実施形態に係るチェックポイント・ロールバック方式のフォールト・トレラント・コンピュータの概略構成を示す図である。
【0021】
図1に示すように、この第1実施形態のフォールト・トレラント・コンピュータには、システムバスAが敷設されており、このシステムバスAには、複数のCPU1とメモリコントローラ2とが接続されている。また、このメモリコントローラ2には、システムメモリ3が接続されている。
【0022】
CPU1は、密結合対系型マルチプロセッサ(SMP)を構成している。すべてのCPU1はチェックポイントで同期をとり、内部情報をシステムメモリ3の予め定められた領域に書き込んでいる。さらに、CPU1のキャッシュメモリのダーティ領域をシステムメモリ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を構成するDRAMに、リフレッシュ時に読み出しを行なうメモリセル(プライマリまたはセカンダリ)を指定する機能と、リフレッシュによる書き戻しを読み出し元のセルのみに行なうか、または、両方のセルに対して行なうかを指定する機能とを付加する。
【0028】
図2は、このシステムメモリ3を構成するDRAMの2つのメモリセルおよびセンスアンプとその動作とを模式的に示したものである。なお、この図2には示していないが、リフレッシュ時にセンスアンプ30に読み込むメモリセルの指定は、DRAMの外部ピンで行なう。この外部ピンは、DRAMの行アドレス選択用ピンと同等の機能をもつ。便宜上、このピンを「センスアンプ・リード・セレクタ・ピン」と呼ぶことにする。また、リフレッシュによる書き戻しを読み込んだセル側だけに行なうか、または、(プライマリとセカンダリの)両方のセルに対して行なうかを指定するためのピンも別に設けるものとする。便宜上、このピンを「センスアンプ・ライト・セレクタ・ピン」と呼ぶことにする。そして、ここでは簡単のため、「センスアンプ・ライト・セレクタ・ピン」は、各メモリセルに対して1ビットずつ割り当てられているものとする。
【0029】
このDRAMでは、1つのセンスアンプ30に2つのDRAMセル(10,20)が接続されており、通常はプライマリ側のメモリセル10に対してデータをリード/ライトする。通常のリード時には、「センスアンプ・リード・セレクタ・ピン」は、プライマリ・セル10側を選択している。また、通常のライト時には、「センスアンプ・ライト・セレクタ・ピン」は、プライマリ側だけに書き込むようにセットされている。
【0030】
まず、このDRAMの通常動作について説明する。
【0031】
このDRAMが通常のDRAMと異なる点は、リフレッシュ時のデータ更新動作にある。図3にプライマリ側のリフレッシュ動作を示し、図4に、セカンダリ側のリフレッシュ動作を示す。
【0032】
リフレッシュ周期がチェックポイントよりも前に来た場合、DRAMは、標準的なDRAMと同様の方法でリフレッシュを行なう。即ち、プライマリ側10のリフレッシュとセカンダリ側20のリフレッシュとを独立して行ない、書き戻しは読み出した側のセルに対してのみ行なう。
【0033】
図3に示したプライマリ側セル10のリフレッシュ時には、「センスアンプ・リード・セレクタ・ピン」によりセンスアンプ30にプライマリ・セル10側のデータを読み込み、「センスアンプ・ライト・セレクタ・ピン」はセンスアンプ30の内容をプライマリ側だけに書き込むようにそれぞれセットされている。
【0034】
一方、図4に示したセカンダリ側セル20のリフレッシュ時には、「センスアンプ・リード・セレクタ・ピン」はセカンダリ・セル20側を読み込み、「センスアンプ・ライト・セレクタ・ピン」はセカンダリ側セル20にだけに書き込むようにそれぞれセットされている。
【0035】
行アドレスは、通常のCAS before RASリフレッシュと同様にDRAM内部で生成され、プライマリ側行アドレス(PRn)とセカンダリ側行アドレス(SRn)とに同じ値が供給される。
【0036】
次に、このDRAMのチェックポイント動作について説明する。
【0037】
図5にチェックポイント時のDRAMのリフレッシュ動作を示す。このDRAMでは、チェックポイント時にプライマリ側10のデータをセンスアンプ30に読み出し、プライマリ側10とセカンダリ側20との両方にデータを書き込むリフレッシュ動作を行なう。これにより、リフレッシュ動作にチェックポイント動作を隠蔽できるので、チェックポイント処理のオーバーヘッドを低減することができる。
【0038】
図5に示したプライマリ側セル10の内容をセカンダリ側セルにコピーするチェックポイント時のリフレッシュでは、「センスアンプ・リード・セレクタ・ピン」はプライマリ・セル10側を、「センスアンプ・ライト・セレクタ・ピン」はプライマリ側セル10とセカンダリ側セル20との両方に書き込むようにそれぞれセットされている。また、行アドレスは、通常のCAS before RASリフレッシュと同様にDRAM内部で生成され、プライマリ側行アドレス(PRn)とセカンダリ側行アドレス(SRn)とに同じ値が供給される。
【0039】
次に、このDRAMのロールバック動作について説明する。
【0040】
図6にロールバック時のDRAMのリフレッシュ動作を示す。この場合、セカンダリ側のセル20からセンスアンプ30にデータを読み出し、セカンダリ側20とプライマリ側10との両方にデータを書き戻すリフレッシュ動作をさせる。この動作により、メモリは、前のチェックポイント状態に迅速に戻ることができる。
【0041】
図6に示したセカンダリ側セル20の内容をプライマリ側セル10にコピーするロールバック処理のリフレッシュでは、「センスアンプ・リード・セレクタ・ピン」はセカンダリ側セル20側を、「センスアンプ・ライト・セレクタ・ピン」はプライマリ側セル10とセカンダリ側セル20との両方に書き込むようにそれぞれセットされている。また、行アドレスは、通常のCAS before RASリフレッシュと同様にDRAM内部で生成され、プライマリ側行アドレス(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)、さらに、リフレッシュが完了しているかどうかを調べる(ステップA6)。そして、すでにリフレッシュが完了していれば(ステップA6のYES)、リフレッシュタイマを“0”にリセットし(ステップA7)、一方、リフレッシュが完了していなければ(ステップA6のNO)、通常のリフレッシュ方式を選択する(ステップA8)。
【0050】
このように、このフォールト・トレラント・コンピュータでは、システムメモリ3を構成するDRAMが同一のアドレス空間を表すプライマリメモリ3aとセカンダリメモリ3bの2つの記憶領域を構成するため、共有リソースであるシステムバスAを用いることなく、チェックポイント処理やロールバック処理を行なうことを可能とし、これらのオーバヘッドを大幅に小さくする。
【0051】
(第2実施形態)
次に、この発明の第2実施形態を説明する。
【0052】
この第2実施形態のフォールト・トレラント・コンピュータの特徴は、前述の第1実施形態のフォールト・トレラント・コンピュータのDRAMにエラー検出/訂正回路(単一誤り訂正二重誤り検出方式ECC)と、エラー検出/訂正イネーブルレジスタと、エラー通知部(エラーフラグ、エラーアドレスレジスタ)とを付加した点にある。
【0053】
エラー検出/訂正回路は、ここでは、単一誤り訂正二重誤り検出方式ECC(SEC−DSD ECC)とする。DRAMの列アドレス(Column Address)は、1Gビット(=2030ビット)程度のDRAMで√2030=215ビット程度あるので、64(=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チェックビットを生成してメモリセルに書き込み、データをメモリセルからセンスアンプに読み込むときにはECCチェックを行なう。このとき、エラー検出/訂正イネーブルレジスタにしたがって、エラー検出や訂正を行なう。すなわち、エラー検出がイネーブルであれば、エラー発生時にエラーフラグを“1”にセットし、エラーアドレスレジスタにエラーアドレスを保存し、エラー検出がディセーブルであれば、エラー発生時にもエラーフラグ、エラーアドレスレジスタを更新しない。なお、通常の高信頼性計算機のECCで行なわれているように、2重ビット誤り検出レジスタがセットされていれば、単一ビット誤り訂正時にエラーフラグやエラーアドレスレジスタを更新しないようにしてもよい。
【0057】
チェックポイント処理またはロールバック処理のリフレッシュ動作において単一誤りを検出した場合は、誤りを訂正した後に両方のメモリセルに書き込む。また、2重誤りを検出した場合は、読み出した側のセルにのみデータを書き戻し、反対側のセルにはデータを書き戻さない。なお、エラー検出/訂正イネーブルレジスタは無くても構わない。
【0058】
図11にエラーチェックビットを持つ場合のDRAMの構成を示す。なお、図11では省略したが、行アドレス(PRn)のデータ100とチェックビット110とをセンスアンプ30に読み出すときに、ECCチェック回路を通してエラーチェックを行なう。単一ビット誤りが発生していれば、そのビットを反転させてセンスアンプ30に書き込む。センスアンプからプライマリ10側の行アドレス(PRn)のメモリセルおよびセカンダリ20側の行アドレス(SRn)のメモリセルに書き込むときには、センスアンプ30のデータ部100からチェックビット110を生成して書き込む。すなわち、エラー情報を残さなければセンスアンプ30にチェックビット110は必要ない。データ部100からチェックビット110を生成するのは、外部からメモリへの書き込みが発生した場合に新しいデータ100をもとにチェックビット110を生成しなおす必要があるためである。
【0059】
(第3実施形態)
次に、この発明の第3実施形態を説明する。
【0060】
この第3実施形態のフォールト・トレラント・コンピュータの特徴は、前述の第1実施形態のフォールト・トレラント・コンピュータのDRAMの各行アドレスに更新ビットを設けた点にあり、チェックポイント時に、この更新ビットの立っているDRAMアドレスのみをリフレッシュすることでチェックポイント処理を高速化する。
【0061】
図12に更新ビットをもつ場合のDRAMの構成を示す。
【0062】
よく知られているように、計算機のメモリでは、短い時間にアクセスされるメモリアドレスは小さな領域に集中する参照の局所性がある。したがって、DRAMのアドレスを行アドレスが連続になるように実アドレスにマッピングすると、短い時間の間に参照される行アドレスは小さな領域に集中する。よって、更新ビット(または更新管理テーブル:Modified Block 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が立っている行アドレスに関しては、CAS Before 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の対応する行アドレス(SRn)のセル群にも書き込む。そして、セカンダリセンスアンプ31bの内容は捨てられる。このために、「ノーマル・リフレッシュ・ピン」をインアクティブにし、「ライトバック・センスアンプ・セレクタ・ピン」を“プライマリ”にする。これにより、プライマリメモリ10の更新された行アドレス(PRn)のデータは、セカンダリメモリ20の対応する行アドレス(SRn)のメモリセルにコピーされる。
【0081】
次に、このDRAMのロールバック動作について説明する。
【0082】
障害発生時には、更新ビット130の立っているプライマリメモリ10の行アドレス(PRn)のデータをプライマリセンスアンプ31aに読み出す。同時に対応する行アドレス(SRn)にあるセカンダリメモリ20のデータが、セカンダリセンスアンプ32に読み込まれる。書き込み時には、セカンダリセンスアンプ31bの内容をセカンダリメモリ20の行アドレス(SRn)のセル群だけでなく、プライマリメモリ10の対応する行アドレス(PRn)のセル群にも書き込まれる。そして、プライマリセンスアンプ31の内容は捨てられる。このために、「ノーマル・リフレッシュ・ピン」をインアクティブにし、「ライトバック・センスアンプ・セレクタ・ピン」を“セカンダリ”にする。これにより、セカンダリメモリ10の更新された行アドレス(SRn)のデータは、プライマリメモリ10の対応する行アドレス(PRn)のメモリセルにコピーされる。
【0083】
なお、障害発生時には、更新ビット130を無視してすべての行アドレスに対してリフレッシュ動作を行なって、セカンダリメモリの内容をプライマリメモリにコピーしても良い。
【0084】
以上の各リフレッシュ動作における動作を図16に示す。図16において、「センスアンプ・ライト・セレクタ・ピン」は、“(プライマリ側セルの選択、セカンダリ側のセルの選択)”の形式で記載し、“1”のときアクティブ、“0”のときインアクティブとする。
【0085】
なお、前述の第1乃至第6実施形態のフォールト・トレラント・コンピュータでは、DRAMのリフレッシュを用いてチェックポイント処理やロールバック処理を行なう例を示したが、データ記憶素子はDRAMに限られない。たとえば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実施形態におけるロールバック時のDRAMのリフレッシュ動作を示す図。
【図7】同第1実施形態の各リフレッシュ動作における動作を示す図。
【図8】一般的な計算機のリフレッシュのタイミングを示す図。
【図9】同第1実施形態のDRAMを適用したフォールド・トレラント・コンピュータのリフレッシュのタイミングを示す図。
【図10】同第1実施形態におけるDRAMのリフレッシュ方式の選択手順を説明するためのフローチャート。
【図11】同第2実施形態のエラーチェックビットを持つ場合のDRAMの構成を示す図。
【図12】同第3実施形態の更新ビットをもつ場合のDRAMの構成を示す図。
【図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…リフレッシュ完了フラグ[0001]
BACKGROUND OF THE INVENTION
The present invention greatly reduces the overhead of checkpoint processing and rollback processing by the high reliability mechanism of the checkpoint / rollback method.RudenConcerning child computers.
[0002]
[Prior art]
In recent years, business processing has been digitized in various fields, and demands for computer reliability and fault tolerance are increasing day by day. And what is called a fault tolerant type computer exists as a computer which implement | achieves this fault tolerance.
[0003]
This fault-tolerant computer uses a multiplexing method that multiplexes hardware and compares the results of operations to improve reliability, and takes a stable state called a checkpoint periodically. Two methods, the checkpoint / rollback method, which obtains a correct operation result by returning the state of the computer to the above are well known.
[0004]
Among these, the multiplexing method is represented by Tandem NonStop Cyclone series, Stratus XA series, etc. described in “Books that understand the mechanism of non-stop computers” (edited by Sakaimachi FTC Research Committee, Industrial Research Committee: 1992). Thus, it is widely put to practical use in a highly reliable computer using a loosely coupled or tightly coupled multiprocessor.
[0005]
On the other hand, the checkpoint / rollback method is, for example, a memory state restoration device described in JP-A-9-6731, a cache controller, a fault-tolerant computer, and its data transfer method described in JP-A-5-6308. It is the construction method of the high reliability computer system shown.
[0006]
[Problems to be solved by the invention]
However, a fault-tolerant computer using a multiplexing method is expensive because a plurality of resources such as processors are necessary, and a fault-tolerant computer using a checkpoint / rollback method requires overhead for taking a checkpoint. There is a problem that it is difficult to obtain high performance as compared with the multiplexing method.
[0007]
The present invention has been made in consideration of such circumstances, and greatly reduces the overhead of checkpoint processing and rollback processing by the high-reliability mechanism of the checkpoint / rollback method.RudenThe purpose is to provide a child computer.
[0008]
[Means for Solving the Problems]
In order to achieve the above-described object,Electronic computerIsIn an electronic computer having a checkpoint / rollback type high reliability mechanism, a buffer to which the first and second memory cell groups constituting the same address space and the first and second memory cell groups are connected A first selecting means for selecting a memory cell group for reading data from the buffer from the first and second memory cell groups; and a memory cell group for writing data in the buffer as the first and second memory cells. A data storage element having a second selection means for selecting from among the memory cell groups, and during normal operation, the data of the first memory cell group is transferred only to the first memory cell group via the buffer. And data protection means for writing back the data of the second memory cell group only to the second memory cell group via the buffer, and at the time of checkpoint, the first memory cell Data replicating means for simultaneously writing the data of the group to the first memory cell group and the second memory cell group via the buffer, and at the time of rollback, the data of the second memory cell group via the buffer Data restoring means for simultaneously writing back to the second memory cell group and the first memory cell group;It is characterized by comprising.
[0009]
According to another aspect of the present invention, there is provided an electronic computer having a checkpoint / rollback type high reliability mechanism, the first and second memory cell groups constituting the same address space, and the first memory cell at the input. A first buffer for storing data read from the first memory cell group, connected to the memory cell group and connected to the first and second memory cell groups at an output; A second buffer for storing data read from the second memory cell group, to which two memory cell groups are connected, and to which the first and second memory cell groups are connected; A first selecting means for selecting a memory cell group to which data of one buffer is written from the first and second memory cell groups; and a memory cell group to which data of the second buffer is written are said first and second memory cells. Second memory cell A data storage element having a second selection means for selecting from among the group; and during normal operation, only the first storage cell group receives data of the first storage cell group via the first buffer. Data protection means for writing back the data of the second memory cell group only to the second memory cell group via the second buffer, and at the time of checkpoint, the first memory cell group Data replicating means for simultaneously writing the data of the second memory cell group to the first memory cell group and the second memory cell group via the first buffer, and the data of the second memory cell group at the time of rollback Data restoring means for simultaneously writing back to the second memory cell group and the first memory cell group via two buffers.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0019]
(First embodiment)
First, a first embodiment of the present invention will be described.
[0020]
FIG. 1 is a diagram showing a schematic configuration of a fault-tolerant computer of a checkpoint / rollback system according to the first embodiment of the present invention.
[0021]
As shown in FIG. 1, a system bus A is laid in the fault tolerant computer of the first embodiment, and a plurality of
[0022]
The
[0023]
When the checkpoint acquisition state is confirmed, a command for copying the primary area of the
[0024]
The
[0025]
The
[0026]
According to the present invention, the data storage element (in this case, the DRAM) constituting the
[0027]
Therefore, in this fault-tolerant computer, the DRAM constituting the
[0028]
FIG. 2 schematically shows two memory cells and sense amplifiers of the DRAM constituting the
[0029]
In this DRAM, two DRAM cells (10, 20) are connected to one
[0030]
First, the normal operation of this DRAM will be described.
[0031]
This DRAM is different from a normal DRAM in the data update operation during refresh. FIG. 3 shows the refresh operation on the primary side, and FIG. 4 shows the refresh operation on the secondary side.
[0032]
If the refresh cycle comes before the checkpoint, the DRAM refreshes in the same way as a standard DRAM. That is, the refresh on the
[0033]
When the
[0034]
On the other hand, when the
[0035]
The row address is generated inside the DRAM in the same way as the normal CAS before RAS refresh, and the same value is supplied to the primary side row address (PRn) and the secondary side row address (SRn).
[0036]
Next, the checkpoint operation of this DRAM will be described.
[0037]
FIG. 5 shows the refresh operation of the DRAM at the checkpoint. In this DRAM, at the time of a check point, data on the
[0038]
In the refresh at the checkpoint where the contents of the
[0039]
Next, the rollback operation of this DRAM will be described.
[0040]
FIG. 6 shows the refresh operation of the DRAM during rollback. In this case, data is read from the
[0041]
In the refresh of the rollback process for copying the contents of the
[0042]
The operation in each of the above refresh operations is shown in FIG. In FIG. 7, “sense amplifier write selector pin” is described in the form of “(selection of primary side cell, selection of secondary side cell)”, and is active when “1” and inactive when “0”. Active.
[0043]
FIG. 8 shows a refresh timing of a general computer, and FIG. 9 shows a refresh timing of a fold tolerant computer to which the DRAM of the first embodiment is applied. In these figures, the refresh timing is simply indicated by vertical lines.
[0044]
In a general computer, each row address must be accessed at a frequency of once or more in 64 ms according to the regulations of DRAM. For this reason, the memory controller normally issues a refresh interrupt with a frequency of about once every 15 us and refreshes the DRAM at regular intervals (FIG. 8).
[0045]
On the other hand, a checkpoint rollback computer takes checkpoints at a rate of about once every 10 ms. That is, since the checkpoint interval and the refresh interval are substantially equal, in the DRAM according to the first embodiment, the refresh is basically performed during the checkpoint process as shown in FIG. 9A. As a result, an interrupt due to refresh does not occur during normal operation, and memory access can be executed at high speed.
[0046]
However, when the checkpoint interval becomes longer than the specified refresh interval as shown in FIG. 9B, refresh is executed with a refresh interrupt as in a general computer storage device. For this reason, for example, when 48 ms, which is 3/4 of the prescribed refresh cycle 64 ms, is exceeded, the refresh operation is performed with a refresh interrupt at a rate four times the normal refresh cycle 15 us, that is, once every 3.75 us. Guaranteed DRAM data. If the checkpoint is taken between 48 ms and less than 64 ms, checkpoint processing is entered. On the other hand, if the checkpoint is not taken within 64 ms, the refresh interrupt 48 ms counter is reset to check whether the next checkpoint interrupt exceeds the refresh interrupt.
[0047]
Here, the selection procedure of the refresh method of the DRAM will be described with reference to the flowchart of FIG.
[0048]
First, it is checked whether rollback is executed (step A1). If rollback is executed (YES in step A1), a refresh method for copying the contents of the secondary cell to the primary cell is selected (step A2). If rollback is not executed (NO in step A1), then it is checked whether or not checkpoints are collected (step A3). If checkpoints are collected (YES in step A3), the contents of the primary cell are changed to secondary. A refresh method to be copied to the cell is selected (step A4).
[0049]
If the check point is not collected (NO in step A3), it is checked whether the refresh time is within the prescribed refresh time (step A5). If not within the refresh prescribed time (NO in step A5), the refresh is completed. Whether it is present (step A6). If the refresh has already been completed (YES in step A6), the refresh timer is reset to “0” (step A7). On the other hand, if the refresh has not been completed (NO in step A6), a normal refresh is performed. A method is selected (step A8).
[0050]
As described above, in this fault tolerant computer, the DRAM constituting the
[0051]
(Second Embodiment)
Next, a second embodiment of the present invention will be described.
[0052]
The fault tolerant computer according to the second embodiment is characterized by an error detection / correction circuit (single error correction double error detection ECC) and an error in the DRAM of the fault tolerant computer of the first embodiment. A detection / correction enable register and an error notification unit (error flag, error address register) are added.
[0053]
Here, the error detection / correction circuit is a single error correction double error detection ECC (SEC-DSD ECC). The column address (Column Address) of the DRAM is 1 Gbit (= 2030√20 for a bit) DRAM30= 215Since there are about bits, 64 (= 26) Check bits can be created more efficiently than a memory bus of about a bit. In fact, 2 in theory6Check bits for 8 bits of data require 8 bits, which occupies 12% of the total data.15The check bit for the bit data is 17 bits, which is only 0.5% of the total data (see “Guide to Error Coding Technology”, Chapter 4 Application to Computers, Supervised by Hideki Imai, Japan Industrial Technology Center).
[0054]
The error detection / correction enable register is composed of, for example, 2 bits. When
[0055]
The error notification unit holds whether or not an error has occurred, whether or not the error can be corrected, and the row address (Row Address) where the error has occurred.
[0056]
In the DRAM of the second embodiment, an ECC check bit is generated and written to the memory cell when data is written back from the sense amplifier to the memory cell, and an ECC check is performed when data is read from the memory cell to the sense amplifier. At this time, error detection and correction are performed according to the error detection / correction enable register. That is, if error detection is enabled, the error flag is set to “1” when an error occurs, and the error address is stored in the error address register. If error detection is disabled, the error flag and error are also detected when an error occurs. Do not update the address register. Note that if the double bit error detection register is set, as is done in the ECC of a normal high reliability computer, the error flag and error address register may not be updated during single bit error correction. Good.
[0057]
When a single error is detected in the refresh operation of the checkpoint process or rollback process, the error is corrected and then written to both memory cells. If a double error is detected, data is written back only to the read cell, and data is not written back to the opposite cell. The error detection / correction enable register may not be provided.
[0058]
FIG. 11 shows a configuration of a DRAM having an error check bit. Although omitted in FIG. 11, when the
[0059]
(Third embodiment)
Next, a third embodiment of the present invention will be described.
[0060]
The feature of the fault tolerant computer of the third embodiment is that an update bit is provided for each row address of the DRAM of the fault tolerant computer of the first embodiment described above. Only the standing DRAM address is refreshed to speed up the checkpoint process.
[0061]
FIG. 12 shows a configuration of a DRAM having an update bit.
[0062]
As is well known, in a computer memory, memory addresses accessed in a short time have locality of reference concentrated in a small area. Therefore, when the addresses of the DRAM are mapped to the real addresses so that the row addresses are continuous, the row addresses referred to in a short time are concentrated in a small area. Therefore, if an update bit (or an update management table: Modified Block Table) 120 is provided and only the necessary part is updated by the above-described refresh operation, the checkpoint process can be performed in a very short time.
[0063]
(Fourth embodiment)
Next explained is the fourth embodiment of the invention.
[0064]
The feature of the fault-tolerant computer of the fourth embodiment is that the update bits of the DRAM of the fault-tolerant computer of the third embodiment are provided outside the DRAM. Here, the outside of the DRAM may be inside the memory controller or may be independent of the memory controller. Further, since the update bit is set when writing to the memory occurs, it can be placed outside the memory element. In this case, since the degree of freedom in selecting the management method is increased, for example, when applied to the memory state restoration device described in Japanese Patent Laid-Open No. 9-6731, for example, a highly reliable computer can be realized with a small overhead. .
[0065]
(Fifth embodiment)
Next explained is the fifth embodiment of the invention.
[0066]
The feature of the fault tolerant computer of the fifth embodiment is that a refresh completion flag is provided at each row address of the DRAM of the fault tolerant computer of the second embodiment. FIG. 13 shows the configuration of a DRAM having a refresh completion flag.
[0067]
If there is a normal refresh operation, refresh by checkpoint processing or rollback processing, or normal read / write access, this refresh completion flag 130 is set. When all the refresh completion flags are set, the refresh completion flag 130 is reset.
[0068]
With respect to the row address where the refresh completion flag 130 is set, the refresh efficiency can be increased by not performing CAS Before RAS refresh.
[0069]
(Sixth embodiment)
Next, a sixth embodiment of the invention will be described.
[0070]
The feature of the fault-tolerant computer of the sixth embodiment is that two sets of sense amplifiers for the DRAM of the fault-tolerant computer of the third embodiment are provided.
[0071]
FIG. 14 shows the configuration of a DRAM when two sets of sense amplifiers are provided.
[0072]
The input of one set of sense amplifiers 31 a is fixed to the
[0073]
In the normal read / write access to the
[0074]
First, the normal operation of this DRAM will be described.
[0075]
FIG. 14 shows a normal DRAM refresh operation. In normal refresh, the data in the
[0076]
When the “normal refresh pin” is active, the data of the default sense amplifier is written into the memory cell group in which the “sense amplifier write selector pin” is active. As for the default sense amplifier, the
[0077]
If the “normal refresh pin” is not active and the “write-back sense amplifier selector pin” is “primary”, the contents of the primary sense amplifier 31a are changed to “sense amplifier write selector pin”. ”Is written in the memory cell in which“ is active ”.
[0078]
In this DRAM configuration, since there are only two memory cells and the setting of the “sense amplifier / write selector / pin” is obvious, the “sense amplifier / write / selector / pin” need not be provided.
[0079]
Next, the checkpoint operation of this DRAM will be described.
[0080]
FIG. 15 shows the refresh operation of the DRAM at the time of checkpoint. At the time of checkpoint processing, after performing cache flush and writing and saving information such as processor registers in the primary memory, the data of the row address (PRn) of the
[0081]
Next, the rollback operation of this DRAM will be described.
[0082]
When a failure occurs, the data of the row address (PRn) of the
[0083]
When a failure occurs, the refresh bit 130 may be ignored and a refresh operation may be performed on all row addresses to copy the contents of the secondary memory to the primary memory.
[0084]
The operation in each of the above refresh operations is shown in FIG. In FIG. 16, “sense amplifier write selector pin” is described in the form of “(primary side cell selection, secondary side cell selection)”. When “1”, it is active, and when it is “0” Inactive.
[0085]
In the fault-tolerant computers of the first to sixth embodiments described above, the example in which the checkpoint process and the rollback process are performed using the refresh of the DRAM is shown, but the data storage element is not limited to the DRAM. For example, an SRAM may be used instead of a DRAM, or a nonvolatile memory such as a DRAM may be used on the primary side and a flash memory on the secondary side.
[0086]
In particular, when a non-volatile element is used on the secondary side, it is effective even if used as a means for realizing a resume function by being used not only in a highly reliable computer but also in a general computer. Further, it is possible to achieve high reliability by using the disk cache instead of the main memory.
[0087]
Further, when the processor and the memory are mounted on the same LSI chip by the system on chip technology, the present invention can be applied to the memory control circuit.
[0088]
【The invention's effect】
As described in detail above, according to the present invention, by providing a plurality of sets of storage cell groups that constitute the same address space, a primary storage area and a secondary storage area are provided in a single data storage element. Since it is possible to have two storage areas, checkpoint processing is executed by copying the data of the memory cell group that is used as the primary to the memory cell group that is used as the secondary, without using the external bus that is a shared resource. In addition, since the rollback process can be executed by copying the data of the memory cell group used as the secondary to the memory cell group used as the primary, the overhead of the checkpoint process and the rollback process can be greatly reduced. Make it possible.
[Brief description of the drawings]
FIG. 1 is a diagram showing a schematic configuration of a fault-tolerant computer of a checkpoint / rollback method according to a first embodiment of the invention.
FIG. 2 is a diagram schematically showing two memory cells and a sense amplifier of a DRAM constituting the
FIG. 3 is a view showing a refresh operation on the primary side of the DRAM of the first embodiment;
FIG. 4 is a diagram showing a refresh operation on the secondary side of the DRAM of the first embodiment;
FIG. 5 is a diagram showing a refresh operation of the DRAM at a check point in the first embodiment.
6 is a diagram showing a refresh operation of the DRAM at the time of rollback in the first embodiment. FIG.
FIG. 7 is a view showing operations in each refresh operation of the first embodiment;
FIG. 8 is a diagram showing refresh timing of a general computer.
FIG. 9 is a diagram showing refresh timing of the fold tolerant computer to which the DRAM of the first embodiment is applied;
FIG. 10 is an exemplary flowchart for explaining a DRAM refresh method selection procedure according to the first embodiment;
FIG. 11 is a diagram showing a configuration of a DRAM having an error check bit according to the second embodiment.
FIG. 12 is a diagram showing a configuration of a DRAM having an update bit according to the third embodiment.
FIG. 13 is a diagram showing a configuration of a DRAM having a refresh completion flag according to the fifth embodiment.
FIG. 14 is a diagram showing a DRAM configuration and a normal DRAM refresh operation when two sets of sense amplifiers of the sixth embodiment are provided;
FIG. 15 is a view showing a refresh operation of a DRAM at a check point in the sixth embodiment.
FIG. 16 is a diagram showing operations in each refresh operation of the sixth embodiment.
[Explanation of symbols]
1 ... CPU
2 ... Memory controller
3. System memory (DRAM)
10 ... Primary cell
20 ... Secondary cell
30 ... Sense amplifier
31a ... Primary sense amplifier
31b ... Secondary sense amplifier
100 ... Data body
110: Check bit
120: Update bit
130: Refresh completion flag
Claims (20)
同一のアドレス空間を構成する第1および第2の記憶セル群と、
前記第1および第2の記憶セル群が接続されるバッファと、
前記バッファにデータを読み出す記憶セル群を前記第1および第2の記憶セル群の中から選択する第1の選択手段と、
前記バッファのデータを書き込む記憶セル群を前記第1および第2の記憶セル群の中から選択する第2の選択手段と、
を有するデータ記憶素子と、
通常動作時、前記第1の記憶セル群のデータを前記バッファを介して同第1の記憶セル群のみに書き戻すと共に、前記第2の記憶セル群のデータを前記バッファを介して同第2の記憶セル群のみに書き戻すデータ保護手段と、
チェックポイント時、前記第1の記憶セル群のデータを前記バッファを介して同第1の記憶セル群および第2の記憶セル群に同時に書き戻すデータ複製手段と、
ロールバック時、前記第2の記憶セル群のデータを前記バッファを介して同第2の記憶セル群および第1の記憶セル群に同時に書き戻すデータ復元手段と、
を具備することを特徴とする電子計算機。In an electronic computer with a highly reliable checkpoint / rollback method,
First and second memory cell groups constituting the same address space;
A buffer to which the first and second memory cell groups are connected;
First selection means for selecting a memory cell group for reading data from the buffer from the first and second memory cell groups;
Second selection means for selecting a memory cell group to which data of the buffer is written from the first and second memory cell groups;
A data storage element comprising:
During normal operation, the data in the first memory cell group is written back to only the first memory cell group through the buffer, and the data in the second memory cell group is written in the second memory through the buffer. Data protection means for writing back only to the memory cell group,
Data duplicating means for simultaneously writing back the data of the first memory cell group to the first memory cell group and the second memory cell group via the buffer at the time of checkpoint;
Data restoring means for simultaneously writing back the data of the second memory cell group to the second memory cell group and the first memory cell group via the buffer at the time of rollback;
An electronic computer characterized by comprising:
同一のアドレス空間を構成する第1および第2の記憶セル群と、
入力に前記第1の記憶セル群が接続され、出力に前記第1および第2の記憶セル群が接続される、前記第1の記憶セル群から読み出されたデータを格納する第1のバッファと、
入力に前記第2の記憶セル群が接続され、出力に前記第1および第2の記憶セル群が接続される、前記第2の記憶セル群から読み出されたデータを格納する第2のバッファと、
前記第1のバッファのデータを書き込む記憶セル群を前記第1および第2の記憶セル群の中から選択する第1の選択手段と、
前記第2のバッファのデータを書き込む記憶セル群を前記第1および第2の記憶セル群の中から選択する第2の選択手段と、
を有するデータ記憶素子と、
通常動作時、前記第1の記憶セル群のデータを前記第1のバッファを介して同第1の記憶セル群のみに書き戻すと共に、前記第2の記憶セル群のデータを前記第2のバッファを介して同第2の記憶セル群のみに書き戻すデータ保護手段と、
チェックポイント時、前記第1の記憶セル群のデータを前記第1のバッファを介して同第1の記憶セル群および第2の記憶セル群に同時に書き戻すデータ複製手段と、
ロールバック時、前記第2の記憶セル群のデータを前記第2のバッファを介して同第2の記憶セル群および第1の記憶セル群に同時に書き戻すデータ復元手段と、
を具備することを特徴とする電子計算機。In an electronic computer with a highly reliable checkpoint / rollback method,
First and second memory cell groups constituting the same address space;
A first buffer for storing data read from the first memory cell group, wherein the first memory cell group is connected to an input and the first and second memory cell groups are connected to an output When,
A second buffer for storing data read from the second memory cell group, wherein the second memory cell group is connected to an input and the first and second memory cell groups are connected to an output When,
First selection means for selecting a storage cell group to which data of the first buffer is written from the first and second storage cell groups;
Second selection means for selecting a storage cell group to which data of the second buffer is written from the first and second storage cell groups;
A data storage element comprising:
During normal operation, the data of the first memory cell group is written back to the first memory cell group only via the first buffer, and the data of the second memory cell group is written to the second buffer. Data protection means for writing back only to the second memory cell group via
Data duplicating means for simultaneously writing data of the first memory cell group to the first memory cell group and the second memory cell group via the first buffer at the time of a checkpoint;
Data restoring means for simultaneously writing back the data of the second memory cell group to the second memory cell group and the first memory cell group via the second buffer at the time of rollback;
An electronic computer characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25760999A JP4146045B2 (en) | 1999-09-10 | 1999-09-10 | Electronic computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25760999A JP4146045B2 (en) | 1999-09-10 | 1999-09-10 | Electronic computer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001084178A JP2001084178A (en) | 2001-03-30 |
JP4146045B2 true JP4146045B2 (en) | 2008-09-03 |
Family
ID=17308653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25760999A Expired - Fee Related JP4146045B2 (en) | 1999-09-10 | 1999-09-10 | Electronic computer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4146045B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112012008687A2 (en) | 2009-10-15 | 2016-04-19 | L E Tech Co Ltd | microcomputer and method of operating a microcomputer |
JP5579257B2 (en) * | 2010-03-30 | 2014-08-27 | 株式会社エルイーテック | Apparatus and method for restoring information in main memory |
-
1999
- 1999-09-10 JP JP25760999A patent/JP4146045B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001084178A (en) | 2001-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5265654B2 (en) | Controlling memory redundancy in the system | |
US10824499B2 (en) | Memory system architectures using a separate system control path or channel for processing error information | |
US10452498B2 (en) | Fault tolerance for persistent main memory | |
US7055054B2 (en) | Fail-over of multiple memory blocks in multiple memory modules in computer system | |
US6564306B2 (en) | Apparatus and method for performing speculative cache directory tag updates | |
JP3129732B2 (en) | Storage array with copy-back cache | |
KR101470994B1 (en) | Storing checkpoint data in non-volatile memory | |
JPH0619722B2 (en) | Device that saves the state of the computer | |
KR20190003591A (en) | Recovering after an integrated package | |
CN104798059B (en) | Multiple computer systems processing write data outside of checkpoints | |
CN103137215A (en) | Providing low-latency error correcting code capability for memory | |
US11520659B2 (en) | Refresh-hiding memory system staggered refresh | |
US20190012222A1 (en) | Tracking errors associated with memory access operations | |
JPH0778769B2 (en) | Data storage system | |
JPH0887424A (en) | Electronic computer | |
JP4146045B2 (en) | Electronic computer | |
CN115599592A (en) | Memory mirroring method and computing device | |
US20150113244A1 (en) | Concurrently accessing memory | |
JP3788822B2 (en) | Computer system and failure recovery method in the system | |
Banâtre et al. | Scalable shared memory multiprocessors: Some ideas to make them reliable | |
KR20240003823A (en) | Electronic device managing corrected error and operating mehtod of electronic device | |
Coghlan et al. | Stable memory for a disk write cache | |
JPS63271555A (en) | Storage control system | |
JPH04241050A (en) | Computer system and its control method | |
JPH07271624A (en) | Cache flashing method for duplex memory of fault tolerant computer system |
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 |