[go: up one dir, main page]

JPH10177498A - フォルトトレラント・コンピュータ・システムのメモリ・マネージメント - Google Patents

フォルトトレラント・コンピュータ・システムのメモリ・マネージメント

Info

Publication number
JPH10177498A
JPH10177498A JP9211415A JP21141597A JPH10177498A JP H10177498 A JPH10177498 A JP H10177498A JP 9211415 A JP9211415 A JP 9211415A JP 21141597 A JP21141597 A JP 21141597A JP H10177498 A JPH10177498 A JP H10177498A
Authority
JP
Japan
Prior art keywords
memory
sync
recording mechanism
recording
processing set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9211415A
Other languages
English (en)
Inventor
Emrys John Williams
エムリス・ジョン・ウイリアムズ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH10177498A publication Critical patent/JPH10177498A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【課題】 小規模な同期はずれイベントから回復する自
動的かつ迅速な方法を提供すること。 【解決手段】 フォールト・トレラント・コンピュータ
・システム用のメモリ管理システムは、メモリ更新(書
込み)イベントを記録することができる第1記録機構
(25)と、メモリ更新イベントを記録するだけの容量
を備えた第2記録機構(26)と、障害(同期はずれ)
イベントの場合に第1記録機構を活動化するための障害
信号用の障害入力と、少なくとも第1および第2記録機
構で識別された部分のメモリを再統合するメモリ再統合
機構(27)とを含む。ロックステップ方式のシステム
中の処理セット間の小規模な同期はずれからの回復は、
同期はずれまたは動作中の処理セットのどちらのメモリ
・システム内でも、比較的少数のロケーションのみが修
正されているはずなので、第1および第2記録機構で識
別されたメモリ・ページを、動作中の処理セットから同
期はずれ処理セットにコピーすることによって、迅速か
つ効果的に達成することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、同様に動
作する複数のサブシステムを使用する、ロックステップ
(lockstep)方式のフォールト・トレラント・コンピュ
ータなどのフォールト・トレラント・コンピュータ・シ
ステムに関する。
【0002】
【従来の技術】このようなロックステップ方式のフォー
ルト・トレラント・コンピュータ・システムでは、コン
ピュータ内で各サブシステムの出力を比較し、これらの
出力が異なる場合には、何らかの例外的な修理処置を行
う。
【0003】添付の図面の図1は、典型的なシステムの
一例を示す概観図であり、3つの同じ処理(CPU)セ
ット10、11、12が、共通のクロック16の下で同
期(sync)して動作する。1つの処理セットは、処
理エンジン、例えば中央処理装置(CPU)や内部状態
記憶装置を含む1つのサブシステムを表す。添付の図面
の図2は、このような処理セットの概略図である。この
図は、処理エンジン20、内部状態記憶装置(メモリ)
22、および内部バス23を示している。処理セット
は、コンピュータ・システムのその他のエレメントを含
むことがあるが、通常は、入出力インタフェースは含ま
ないことになる。外部接続、例えば内部バス13からの
接続13、外部クロック16用の入力15、およびハー
ドウェア割込み入力14も設けられている。
【0004】図1に示すように、3つの処理セット1
0、11、12の出力は、処理セット10、11、12
の動作を監視する、障害検出ユニット(ボータ)17に
供給される。処理セット10、11、12が正常に動作
している場合は、これらは同じ出力を生成し、ボータ1
7に送る。したがって、出力が合致している場合は、ボ
ータ17は、処理セット10、11、12から入出力
(I/O)サブシステム18へコマンドを通過させ、動
作させる。しかし、各処理セットからの出力が異なる場
合は、これは何かが不適当であることを示し、ボータ
は、I/O動作に影響を与える前に、何らかの補正処置
を行う。
【0005】通常は、補正処置には、ボータが適当なラ
イン14を介して障害を示す処理セットに信号を供給
し、障害のある処理セットを照らす「自己変更」光(図
示せず)を生じさせる処置が含まれる。欠陥のある処理
セットはスイッチ・オフになり、続いて操作員は、これ
を正常に機能するユニットと交換しなければならない。
図示した例では、1つの処理セットが一時的または永続
的な障害をもたない、またはこれを発生させる場合に
は、1対2の投票結果が現れることになるので、通常
は、欠陥のある処理セットを多数決によって容易に識別
することができる。
【0006】しかし、本発明はこのようなシステムに限
定されるものではなく、障害のある処理セットを識別す
るために拡張診断動作が必要となるシステムにも適用可
能である。このシステムは、単一のボータを備える必要
がなく、入出力コマンドのみを投票で決める必要がな
い。本発明は、一般に、ロックステップ方式で動作する
冗長部品を備えた同期システムに適用可能である。
【0007】ロックステップ方式のシステムは、フォー
ルト・トレラント処理コアを構成する処理セットの全体
の同期に依存する。したがって、処理セットは同様に動
作するハードウェアを必要とし、さらに、処理セットの
データの内部記憶状態もまた、同様であることが必要と
される。新しい処理セットを動作中のシステムに統合す
る過程の一部には、動作中のシステムの主メモリの内容
を、新しい処理セットにコピーする段階が含まれる。主
メモリは、非常に大きい、例えばギガバイトの単位にな
ることも可能なので、この過程は計算に関してかなり長
い時間がかかる可能性がある。
【0008】ロックステップ方式のコンピュータ・シス
テムは、様々な原因から同期はずれになる可能性があ
る。主な原因は、永久的な単一の処理セットの故障であ
る。このような故障からの回復は、故障したユニットの
除去、機能するユニットとの交換、および機能するユニ
ットの復旧を含む。新しい処理セットが、動作中の処理
セットのメモリの内容について何も知っておらず、動作
中のシステムからの全ての主メモリを、新しい処理セッ
トにコピーしなければならないことは明らかである。
【0009】別法として、障害度の低い同期はずれイベ
ントは、動作中のコンピュータ・システムがしばしば自
動的に診断することができ、同期はずれ処理セットを交
換することなく、これを自動的に再統合することができ
る。例えば、宇宙線イベントによって引き起こされる可
能性のある動的メモリ中のソフト・データ・エラーは、
小規模な動作の混乱を引き起こす可能性があるが、これ
は自動的に修復することができる。しかし、これは、依
然として同期はずれ処理セットのメモリ状態の再統合を
必要とし、それは動作中のシステムの主メモリの内容
を、同期はずれ処理セットにコピーすることである。し
たがって、主メモリが非常に大きいことがあり得るの
で、これは計算に関して、依然としてかなり長い時間が
かかる可能性がある。
【0010】
【発明が解決しようとする課題】本発明は、従来技術の
問題を回避する、小規模な同期はずれイベントから回復
する自動的かつ迅速な方法を提供しようとするものであ
る。
【0011】
【課題を解決するための手段】本発明の一態様によれ
ば、フォールト・トレラント・コンピュータ・システム
用のメモリ管理システムが提供される。このメモリ管理
システムは、活動化されてメモリ更新イベントを記録す
ることができる第1記録機構と、少なくとも限られた数
のメモリ更新イベントを記録するだけの容量を備えた第
2記録機構と、障害イベントの場合に第1記録機構を活
動化するための障害信号用の障害入力と、少なくとも第
1および第2記録機構で識別された部分のメモリを再統
合するメモリ再統合機構とを含む。
【0012】本発明の実施態様は、ロックステップ方式
のシステムの処理セット間の小規模な同期はずれイベン
トの後、同期はずれ処理セットのメモリ内容の大部分
が、最初のうちは動作中のシステムのメモリ内容と同じ
であることを利用する。同期はずれ処理セットまたは動
作中のシステムのどちらでも、そのメモリ・システム内
の比較的少数のロケーションのみが修正されていること
になる。しかし、動作中のシステムが通常処理ロードの
動作及び実行を継続するにつれて不一致(divergence)
が、時間とともに拡大する。本発明の実施形態により、
不一致を追跡して補償し、さらに、同期はずれイベント
の前後、および第1記録機構が活動化される以前の任意
のメモリ更新イベントが捕捉することが可能になる。
【0013】メモリ更新(書込み)の記録は、アクセス
された個々のアドレスの記録に基づくのではなく、更新
された(書込みされた)メモリ・セグメント(ページ)
に基づいていることが好ましい。換言すれば、第1およ
び/または第2記録機構は、更新された(書込みされ
た)セグメント(すなわちページ)を記録することが好
ましい。これは、セグメント(ページ)あたり1ビット
を備えたセグメント(すなわちページ)・メモリを使用
して、書き込まれたセグメント(ページ)を識別するこ
とによって、効果的に行うことができる。
【0014】本発明の別の態様によれば、個々に内部メ
モリを備えたプロセッサを含み、ロックステップ方式で
動作する複数の同期処理セットと、同期はずれイベント
を検出し、同期はずれ信号を生成する同期はずれ検出器
とを含むフォールト・トレラント・コンピュータ・シス
テムが提供される。個々の処理セットはまた、活動化さ
れてメモリ書込みイベントを記録することができる第1
記録機構と、少なくとも限られた数のメモリ書込みイベ
ントを記録するだけの容量を備えた第2記録機構と、同
期はずれイベントの場合に、同期はずれ信号を受領して
第1記録機構を活動化する障害入力と、少なくとも第1
および第2記録機構で識別された部分のメモリを、同期
はずれ処理セット中で再統合するメモリ再統合機構とを
含む。
【0015】本発明の別の態様によれば、障害に続い
て、フォールト・トレラント・コンピュータ・システム
の処理セットを再統合する方法が提供され、このフォー
ルト・トレラント・コンピュータ・システムは、個々に
プロセッサおよび内部メモリを含み、ロックステップ方
式で動作する複数の同期処理セットと、障害イベントを
検出し障害信号を生成する障害検出器とを含む。この方
法は、限られた期間にわたってメモリ更新イベントの一
時記録を維持する段階と、障害に応答して、障害状態に
続いてメモリ更新イベントの後続記録を活動化する段階
と、障害の発生した処理セット中で、少なくとも一時メ
モリ記録および後続メモリ記録で識別された部分のメモ
リに対して、メモリ再統合を実施する段階とを含む。
【0016】本発明の一実施形態では、同期はずれイベ
ントの後の、少なくとも選択された主メモリへのメモリ
・アクセス・イベント(メモリ書込みイベント)の記録
は保存されるので、同期はずれ処理セットを再統合する
には、修正されたメモリ・ロケーションのみをコピーす
ればよい。
【0017】本発明の一実施態様では、第1記録機構
は、複数のメモリ・ページのそれぞれに対するエントリ
と、第1記録機構が活動化されてページが書込みされる
たびに、そのページのエントリに書込みされるコードと
を備えたRAMを含むメモリ管理ユニットである。
【0018】第1記録機構は、障害(同期はずれ)信号
を受領するように接続されたイネーブル入力を有するこ
とが好ましい。
【0019】第1記録機構は、処理セット中の全ページ
数までの任意数の多数の書込みページを記録することが
できる。
【0020】第2記録機構は、障害イベントに続いて第
1記録機構を活動化する時間をカバーするのに十分な数
まで、最近のメモリ更新イベントのローリング記録を維
持することが好ましい。
【0021】第2記録機構は、先入れ先出しバッファを
含むことができ、1つの実施形態の第1記録機構は、こ
の先入れ先出しバッファの出力に接続されている。この
構成では、先入れ先出しバッファは更新アドレスを所定
数まで格納し、アドレス・デコーダは、先入れ先出しバ
ッファの出力に接続されて、この先入れ先出しバッファ
から出力されるメモリ更新アドレスを表すページ信号を
生成することができ、アドレス・デコーダは、同期はず
れ信号に反応して、このページ信号を第1記録機構に移
す。
【0022】別法として、第2記録機構は、論理解析器
を含むことができる。これにより、フォールト・トレラ
ント・コンピュータが、通常は障害の解析用に論理解析
器を含むので、実施コストを削減することができる。
【0023】第2記録機構の出力が第1記録機構への入
力にならない場合は、第2記録手段の動作が、同期はず
れ信号に応答して阻止されることが好ましい。
【0024】第1記録機構は、ソフトウェアによって生
成された表を含むことができ、この表では、ページが書
込みされるたびに、メモリのそのページに対応する記録
がコードでマークされる。この記録は、プロセッサの変
換索引バッファ中のエントリを更新するソフトウェアに
よって維持することができる。第2記録機構は、最近T
LBから出たページのリストを備えたTLBの内容であ
ることがある。
【0025】同期はずれ入力に応答して、ソフトウェア
は、最近書込みされたページを求めてTLBおよびリス
トを探索することができ、それらを第1記録機構中で書
込み済みとしてマークし、続いて、処理ユニットが再統
合されるまで、第1記録機構を維持し続けることがあ
る。
【0026】メモリ再統合機構は、第1および第2記録
機構で識別されたメモリ・ページを再統合するように動
作可能であることが好ましい。
【0027】本発明は、同期はずれ検出器が同期はずれ
処理セットを多数決で決定するような、ロックステップ
方式で動作する3つの同期処理セットを含むコンピュー
タ・システムに適用可能である。
【0028】この場合は、同期はずれ処理セットの再統
合は、同期はずれ処理セットの識別に応答して、残りの
2つの処理セットのうち1つを選択し、同期はずれ処理
セットおよび残りの処理セットをアイドルにさせるため
に同期はずれ処理セットおよび残りの処理セットへの割
込みを供給し、メモリ書込みイベントのソフトウェア・
ログを維持しながら、同期はずれ処理セットおよび残り
の処理セットのうち1つを再統合し、かつその後ソフト
ウェア・ログを使用して、同期はずれ処理セットおよび
残りの処理セットのうちもう1つを再統合することによ
って達成することができる。
【0029】前述の発明は、ロックステップ方式のフォ
ールト・トレラント・コンピュータの処理セットの再統
合時間を数十分から何分の1秒かに削減することができ
る。再統合期間中、コンピュータは、動作中の処理セッ
トの後続の障害に対して無防備である。したがって、再
統合時間の削減は、コンピュータの全体的な有用性に関
してかなり有益である。
【0030】
【発明の実施の形態】本発明の実施形態について、同様
の参照符号が同様の特徴に関係する添付の図面に関連し
て、以下に述べる。
【0031】図3は、機能に関して本発明の一例のエレ
メントを表す、概略的なブロック・ダイアグラムであ
る。図3は、一般に、例えば図1に示すシステムなどの
フォールト・トレラント・コンピュータ・システム用の
処理セット10/11/12のうち1つを表す図であ
る。
【0032】図3では、処理エンジン(例えば中央処理
装置(CPU))20および内部状態記憶装置(メモ
リ)22は、内部バス23で接続される。外部接続、例
えば内部バス23からの接続13、外部クロック用の入
力15、およびハードウェア割込み入力14も設けられ
る。
【0033】図3には、活動化されてメモリ更新イベン
トを記録することができる第1記録機構25、少なくと
も限られた数のメモリ更新イベントを記録するだけの容
量を備えた第2記録機構26、および少なくとも第1お
よび第2記録機構で識別された部分のメモリを再統合す
るメモリ再統合機構もまた、概略的に示す。図3に示す
ように、機構25、26、27のそれぞれは、内部バス
23に接続されて示されている。これは、第1記録機構
25および第2記録機構26が、メモリ・アクセス・イ
ベントを監視して、メモリ更新(メモり書込み)が起こ
った時間および位置を識別する必要があるためである。
再統合機構27もまた、第1および第2記録機構にアク
セスして、同期はずれ処理セットおよび動作中の処理セ
ットのメモリ中で、メモリ書込みが起こった位置を判別
し、続いて対応するメモリ部分を、動作中の処理セット
のメモリから同期はずれ処理セットのメモリへコピーす
る必要がある。ただし、機構25、26、および27
は、以下の記述で説明するように、様々な方法で実施す
ることができる。様々な実施形態には、ハードウェアお
よびソフトウェアの様々な組合せが含まれ、様々なエレ
メントの相互接続は、通常は図3に図示したものとは異
なることになる。例えば、再統合機構は通常はソフトウ
ェアで実施されることになり、ボータ17と連結してい
る、および/またはボータ17の一部をなす、制御コン
ピュータ中で実施されることがある。また、第1記録機
構25は、バス23に直接接続されずに、第2記録機構
26を介して接続されることがある。第1および第2記
録機構もまた、以下に記述するように、程度の違いはあ
るがソフトウェアで実施されることがある。
【0034】コンピュータ・システムは、通常は主メモ
リのトラックを保持し、その使用を制御するために、メ
モリ管理ハードウェアを含む。メモリを指定サイズのペ
ージに分割し、個々のページへのアクセス制御の小さな
記録を保存することもまた、一般的である。ハードウェ
ア機構もまた、そのページが修正されていることを示す
ビットを備えたページについての記録を更新するために
存在する。このビットは、ページについてのいわゆる
「ダーティ」ビットである。メモリのページは、最初の
状態から変化させるための書込みがされていない場合は
「クリーン」と呼ばれ、そのような書込みがされた後は
「ダーティ」と呼ばれる。ソフトウェアは、メモリ管理
ユニットの記録中のページに対するダーティ・ビットを
一掃することによって、そのページが「クリーン」とマ
ークされるようにすることができる。その後にハードウ
ェアがそのビットを1に設定し、そのページが書込みさ
れたことを示すことになる。通常の動作では、メモリ管
理ユニットは、コンピュータ・メモリの多くのページ
を、そのほとんどの時間でダーティであると見なすこと
になる。したがって、従来の方法で動作する従来のメモ
リ管理ユニットが、ロックステップ方式のフォールト・
トレラント・コンピュータ・システムの個々の処理セッ
トに備えられている場合は、同期はずれイベントが起こ
ったときに、多くのページがダーティとマークされるこ
とになる可能性が高い。
【0035】従来通りに構成されたコンピュータ処理セ
ットのメモリ管理ユニットは、通常は動作中のオペレー
ティング・システムの制御下にあるので、本発明の最初
の実施形態では、単に同期はずれイベントの後で処理セ
ットを再統合するソフトウェアを使用するために、追加
のメモリ管理ユニットを備える。
【0036】図4は、メモリのどのページがダーティで
あり、どのページがクリーンであるかという情報のみを
含むようにカスタマイズされている、従来のメモリ管理
ユニット40を示す図である。以下の記述では、このタ
イプのメモリ管理ユニットを「ダーティRAM」と呼
ぶ。ソフトウェア42はダーティRAM記憶装置46に
アクセスして、どのページがダーティであるかを検査す
ることができ、そこに直接書込みを行ってページの状態
をダーティまたはクリーンに変更することができる。さ
らに、ハードウェア44は、バス23を介して書込みを
された主メモリの任意ページに対する記録の状態を、自
動的にダーティに変更する。この実施形態では、ダーテ
ィRAM記憶装置46のただ1つのビットのみが、主メ
モリの個々のページ全体に対して使用される。ダーティ
RAMが監視する「ページ」サイズは、システム中のそ
の他のメモリ管理ユニットで使用するサイズと同じであ
る必要はないが、全てのページが同じサイズであること
は、しばしば便利かつ効率的である。コンピュータはペ
ージ単位で働く傾向があり、ページの一部に書込みアク
セスすることは、しばしば同じページ内のその他のロケ
ーションにも書込みをすることになることを意味する。
しかし、図3に示す従来のメモリ管理ユニットでは、前
述のように通常はほとんどのページがダーティであるの
で、このタスクを制御して実施するためには、本来不十
分であることになる。
【0037】図5は、本発明の最初の実施形態に関する
ダーティRAM50の、概略的なブロック・ダイアグラ
ムである。図5では、ダーティRAM50は独立したイ
ネーブル入力58を備え、それによってハードウェア5
4は、処理セットが同期はずれになった後でダーティR
AM記憶装置56中のダーティ・ページのロギングを単
に開始する。イネーブル入力上の信号は、ボータ17で
同期はずれイベントが検出されるのに応答してアサート
される。
【0038】ダーティRAMイネーブル入力58によっ
て、ダーティRAMシステムの動作が可能になる。通常
の動作では、処理セットが同期して動作している場合
は、ダーティRAMイネーブル入力はアサートされず、
ダーティRAM50は、ソフトウェア52によって、全
てのページに「クリーン」状況が与えられるように設定
される。
【0039】同期はずれイベントが起こったとき、イネ
ーブル入力58はアサートされるようになる。イネーブ
ル入力がアサートされる間(すなわち処理セットが同期
はずれである間)に、ダーティRAMは、書込みされる
主メモリのページをロギングする。書込みされるページ
は、動作中の処理セットおよび同期はずれの処理セット
上のものとは異なる可能性があるページであることにな
る。図5に示すイネーブル入力を備えたダーティRAM
は、個々の処理セットに備えられ、そこで各システム・
バス23に接続される。処理セットが同期して動作して
いる間、個々のダーティRAMは、ソフトウェア52に
よってクリーン状態に保持される。処理セットが同期は
ずれ状態で動作していることが検出されると、ダーティ
RAMのロギングが可能になる。この実施形態では、ハ
ードウェア・イネーブル信号58は、処理セット10、
11、12が同期はずれであることを検出すると同時
に、同期はずれ検出ハードウェア(すなわちボータ1
7)中で生成される。換言すれば、処理セットからの出
力中の差分を検出すると直ちに、ボータは、個々の処理
セットに供給されてアサートされた同期はずれ信号にな
る信号を生成する。アサートされた後は、同期はずれ信
号は、処理セットが復旧するまで否定されない。その他
の実施形態では、ソフトウェアによってイネーブル信号
を生成することができる。
【0040】同期はずれイベントの後、ソフトウェアお
よび/またはハードウェア機構は、フォールト・トレラ
ント・コンピュータ・システムを再構成するように動作
する。このシステムは少なくとも1つの処理セットで通
常動作の動作を続行する。同期はずれ処理セットを含め
た少なくとも1つの処理セットは、動作しなくなる。そ
の結果、この同期はずれ処理セットは通常動作の動作を
停止し、動作中のシステムに再統合されるのを待つ。動
作中の処理セットおよび同期はずれ処理セットにメモリ
書込みを行うと、動作中の処理セットおよび同期はずれ
処理セットの主メモリの内容に不一致が発生する。
【0041】動作中のシステム上のソフトウェアは、同
期はずれ処理セットの再統合に取りかかると、同期はず
れイベント以降にダーティになったメモリ・ページを発
見するために、動作中のシステム上のダーティRAMに
アクセスする。これはまた、同期はずれ処理セット中の
ダーティRAMにもアクセスする。このダーティRAM
により、不一致が始まってから、どのページが同期はず
れプロセッサによって修正されているかが分かる。ダー
ティRAMのうちのいずれかで、メモリのあるページが
ダーティであると挙げられた場合、動作中の処理セット
および同期はずれ処理セット上で、再統合ソフトウェア
でそのページをコピーし、同期はずれ処理セットを同期
状態に戻さなければならない。任意のダーティRAM中
でメモリのページがダーティであるとしてマークされて
いない場合には、同期はずれ処理セット上にあってもそ
のページは依然として妥当であることになるので、無視
することができる。
【0042】本発明の代替の実施形態では、処理セット
は、常にダーティ・ページをロギングするように動作し
ている、イネーブル・ピンを備えないダーティRAM記
憶を備える場合、ソフトウェアは、同期はずれイベント
に基づくハードウェア信号によって活動化され、ダーテ
ィRAMを一掃することができる。このソフトウェア
は、クリーニング過程中にそれ自体が汚したページを慎
重に記録しなければならない。
【0043】さらに別の代替の実施形態では、通常のメ
モリ管理ユニットもまた、ダーティ・ページ情報を収集
するために使用することができる。この代替の実施形態
では、ソフトウェアは、主メモリの全てのページが書込
み禁止になるように、同期はずれイベント時にページ表
を修正するように構成される。このことは、メモリへの
書込みサイクルが、プロセッサのバス・エラー例外にな
ることを意味する。続いてプロセッサは、最初に各バス
・エラーに作用して、ソフトウェアが維持するダーティ
・ページのリストに書込みページを追加し、その後その
ページに対する書込み禁止を解除して、そこへの将来の
書込みが正常に完了するようにする。このことには、ク
リーン・ページを探索して偶発的なダーティ・ページを
探すことなく、ダーティ・ページの単一のリストのみを
再統合ソフトウェアで検査すればよいという利点があ
る。
【0044】ただし、追加のソフトウェアを備えた従来
のメモリ管理ユニットを使用して、ダーティ・ページ情
報を収集するのではなく、独立した「ダーティ・メモ
リ」を備えることが望ましいことに留意されたい。これ
は、従来のメモリ管理ユニットには2つの欠点があるた
めである。1つ目は、従来のコンピュータ・オペレーテ
ィング・システム・ソフトウェアは、それ自体の目的の
ためにメモリ管理ユニットを使用することである。2つ
目は、従来のメモリ管理ユニットは、単一のプロセッサ
でしか機能せず、多重プロセッサの動作、またはI/O
装置による直接メモリ・アクセスをカバーすることがで
きないことである。
【0045】どのような方法を利用して、ダーティ・メ
モリ・ページ上のデータを収集しても、同期はずれイベ
ントの付近に問題がある可能性は高い。同期はずれイベ
ントの検出とダーティRAMのデータ収集の間に、時間
がいくらか経過する必要があり、この期間中に少数のダ
ーティ・ページは記録されないままであることがある。
厳密にどれだけの数のページが記録されていないかは、
ダーティRAMの実施態様によって決まるが、単一のペ
ージを記録していないだけでも、同期はずれイベントの
後で、全てではなくいくつかの主メモリのみをコピーす
る方式を役に立たなくするには十分である。
【0046】したがって、本発明の実施形態では、同期
はずれイベントの前後でメモリ書込みイベントを記録す
るための機構もまた備える。
【0047】ダーティ・ページの記録を提供する前述の
機構は、同期はずれイベント時から動作をし、同期はず
れイベントに続いて、必要な全てのページを記録するこ
とができる。しかし、これを補って独立した一時の記録
にすることが、同期はずれイベントの付近にダーティに
されたページに対して必要とされる。この独立した記録
は、限られた時間にわたって、好ましくはローリング式
に、書込みイベントを考慮しなければならない。この独
立した記録は、同期はずれイベント自体から、前述の機
構が記録を開始することができる時間までの間に発生す
る可能性がある書込みイベントを収容するのに十分な容
量を備える必要がある。この独立した記録を、以下の記
述では第2ダーティ・ページ記録と呼び、前述の「ダー
ティRAM」と区別する。
【0048】障害によって同期はずれが送出される時を
予言することができないので、第2ダーティ・ページ記
録は、(少なくとも同期はずれイベントが発生するま
で)継続して動作している必要がある。同期はずれイベ
ントの直前または直後にダーティにされ、ダーティRA
Mが正確に収集することができないページを記憶するこ
とは、第2ダーティ・ページ記録の仕事である。第2ダ
ーティ・ページ記録はまた、限られた時間メモリも備え
る必要がある。無期限のはるか過去にダーティにされた
ページを記憶すると仮定すると、最終的には、全てのメ
モリ・ページをダーティであるとしてリストすることに
なる。主ダーティ・ページ記憶ではとらえることができ
ない、ダーティにされたページが確実に含まれるのに十
分なだけ過去に逆戻って、同期はずれイベントを記憶す
ればよい。
【0049】以下に述べるいくつかの実施形態では、第
2ダーティ・ページ記録がダーティRAMと平行して動
作する場合には、第2ページ記録は、同期はずれイベン
トの時点で、またはその直後に停止する。これらの実施
形態では、動作状態のままであると仮定すると、時間が
限られているというこの記録の性質のために、最終的に
同期はずれイベントについての重要な情報が上書きされ
る、または失われる可能性がある。これは、ダーティR
AMのイネーブル信号のアサートに応答して第2ページ
記録の動作を阻止することによって、都合よく行うこと
ができる。
【0050】第2ダーティ・ページ記録が停止した後
は、ソフトウェアまたはハードウェアのどちらでも、こ
れを検査すること、およびそこにリストされたダーティ
・ページを、主ダーティRAMまたは独立したリストに
追加し、再統合ソフトウェアでコピーすることができ
る。同期はずれ処理セットおよび動作中の処理セットは
両方とも、第2ダーティ・ページ記録を有する。ソフト
ウェアはそれらの記録を検査および比較することがで
き、必要ならば、どのページが実際に処理セットによっ
て同期してダーティにされたかを導き出すことができ
る。これにより、コピーするページ数が減少することに
なる。
【0051】1つの実施形態では、論理解析器を使用し
て、第2ダーティ・ページ記録に関する情報を収集す
る。図6は、処理セットのバス23を観測する論理解析
器60を示す図である。トリガ機構66、クロック修飾
子62、およびアドレス生成プログラム64を備えた論
理解析器60は、各処理セットに備えられる。論理解析
器は、通常は動作状態である。解析器60がトリガされ
ると、処理セットの同期はずれ信号のアサートによって
データ収集の停止が引き起こされ、同じ信号が主ダーテ
ィRAMにデータ収集を開始させる。論理解析器は、最
終的に動作を停止し、同期はずれイベントの前後両方の
コンピュータ・バスの動作の記録を保存する。同期はず
れイベントの後で、同期はずれ処理セットおよび動作中
の処理セットからの論理解析器のトレースを解析するこ
とによって、記憶されたどのトランザクションが不一致
書込みサイクルであるかを導き出すことができる。その
後、ソフトウェアが維持する第2ダーティ・ページ記録
中で書込みされた1組のページに、関連したページを追
加することができる。論理解析器は、書込みされたペー
ジを判別することができるように、少なくとも各バス・
サイクルについてのアドレスおよび制御情報を記憶する
必要がある。論理解析器の出力の解析は、ソフトウェア
・ルーチンによって容易に行うことができる。
【0052】第2ダーティ・ページ記録に対して論理解
析器を使用することの利点は、ロックステップ方式のフ
ォールト・トレラント・コンピュータには、通常は、障
害診断のために論理解析器が組み込まれており、同期は
ずれイベントと同時にトリガされることになる点であ
る。この場合は、前述のように、論理解析器の出力を制
御し、解析するためのソフトウェアを備えるだけでよ
い。
【0053】代替の実施形態として、書込みバッファ
が、第2ダーティ・ページ記録用の記憶装置を提供する
ことができる。図7は、内部バス23を介した主メモリ
への書込み用の、短期バッファとして使用される先入れ
先出しメモリ70を示す図である。通常の同期状態の動
作では、主メモリへの書込みは書込みデコード論理71
でデコードされ、各書込みのページ番号がFIFO70
に書込みされる。同期はずれが起こると、ハードウェア
同期はずれ検出信号58は、FIFO70への後続の書
込みを阻止する。その後に、ソフトウェアは、FIFO
70の内容を検査して、ダーティ・ページのリストにペ
ージを追加することができる。第2ダーティ・ページ記
録用の書込みバッファの利点は、ソフトウェアおよびハ
ードウェアのどちらについても、論理解析器より単純で
ある点である。
【0054】さらに別の代替の実施形態では、書込みバ
ッファをダーティRAMと直列に配列することができ
る。
【0055】図8は、書込みバッファがダーティRAM
と直列に配列される、第1および第2記録機構の組合せ
の第1例を示す図である。図8の配列は、図4および図
7の配列の組合せに基づいている。この場合は、FIF
Oバッファ80は、処理セットのメモリへの書込みイベ
ントを記録するために継続して動作し、この書込みイベ
ントは、書込みデコード論理81によって継続してデコ
ードされ、FIFO80内の記憶装置にページ・アドレ
スを供給する。この場合では、後述のように、書込みデ
コード論理が阻止入力を受領する必要はない。FIFO
80に供給されるページ・アドレスは、遅延の後で、F
IFO80の出力に現れる。しかし、これらのページ・
アドレスは、ゲート84がライン58上の同期はずれ信
号によってイネーブルになるまで、このゲートによって
ダーティRAM記憶装置86に移ることを妨げられる。
この同期はずれ信号は、効果的にダーティRAMにイネ
ーブル信号を与え、その後この信号によって、FIFO
80からのページ・アドレスをダーティRAM記憶装置
86に供給することが可能になり、それにより、適当な
ページ・ビットを設定することができる。ソフトウェア
82を使用して、同期はずれイベントの前の任意の時点
でダーティRAM記憶装置86を一掃し、同期はずれ信
号が供給されたときに、それが「クリーン」であるよう
にすることができる。
【0056】この実施形態では、FIFO80のサイズ
および書込みイベントの頻度によって決まる時間の後
で、FIFOバッファ80の内容がダーティRAMに自
動的に記憶されるので、FIFOバッファ80を機能停
止にする必要はない。この実施形態では、再統合機構
は、ダーティRAM86およびFIFO80を考慮に入
れることが好ましい。
【0057】図9は、書込みバッファがダーティRAM
と直列に配列された、第1および第2記録機構の組合せ
の第2例を示す図である。この例では、FIFOバッフ
ァ90は、処理セットのメモリへの書込みイベントを記
録するために、継続的に動作している。FIFOバッフ
ァ90からの出力は、同期はずれイネーブル信号58に
応答してのみイネーブルになる、アドレス・デコーダ9
1に供給される。アドレス・デコーダ91がイネーブル
でないとき、FIFOバッファの出力は効果的に廃棄さ
れる。アドレス・デコーダがイネーブルであるときの
み、ダーティ・ページ・ビットはアドレス・デコーダ9
1から出力され、ダーティRAM記憶装置96中の適当
なページ・ロケーションに記憶される。
【0058】任意選択的に、同期はずれイネーブル信号
はまた、ダーティRAM自体にも供給されるが、アドレ
ス・デコーダに同期はずれ信号を供給すれば、効果的に
ダーティRAMにイネーブル信号が提供されることは理
解されるであろう。図8の例と同様に、この実施形態で
は、FIFO90のサイズおよび書込みイベントの頻度
によって決まる時間の後で、FIFOバッファ90の内
容がダーティRAMに自動的に記憶されるので、FIF
Oバッファ90を機能停止にする必要はない。この実施
形態では、再統合機構は、ダーティRAM96およびF
IFO90を考慮に入れることが好ましい。
【0059】さらに、ソフトウェアが実施する実施形態
では、アドレス変換バッファ(TLB)および関連する
TLBミス・ルーチン、加えて主メモリで作成されるダ
ーティ・ページ記憶を使用する。TLBは、ページ化さ
れたメモリを使用するほとんどのコンピュータ・アドレ
ッシング方式の標準的な部品である。いくつかのコンピ
ュータは、固定ハードディスクではなく、ソフトウェア
TLBミス・ルーチンで、TLBエントリを維持する。
この実施形態では、障害イベントに続いて、ソフトウェ
アは、書込み可能なページを現在指定しているTLBエ
ントリに注目し、それらのエントリをソフト・ダーティ
・ページ記憶に追加することができる。ソフトウェアは
また、これに、最近TLBから出た書込み可能なページ
のリストを転送することもできる。このリストは、障害
イベントの前は通常の環境でミス・ルーチンによって維
持され、障害イベントの付近に書込みされて直ちにTL
Bから出た可能性のあるページを示す。これに続いて、
再統合の進行中に、TLBミス・ルーチン中のソフトウ
ェアは、書込みされた各ページを、ソフト・ダーティ・
ページ記憶に追加する。このようにして、ダーティ・ペ
ージの記録を作成することができる。
【0060】前述の手法は、モジュール三重化(TM
R)システムに適用することができる。いくつかのロッ
クステップ方式のTMRシステムは、同期はずれイベン
トが起こったときに、単一の処理セットで動作する状態
に切り替わる。これは、回復するために、独立した2つ
の再統合段階を必要とする。
【0061】TMRシステムが、処理セット10、1
1、および12とともに同期して動作している例につい
て記述する。この例では、再統合は、ボータ17の一部
をなす制御コンピュータの制御下で、ソフトウェアによ
って実施される。
【0062】この例では、処理セット12に、このシス
テムを同期はずれにするRAMソフト・エラーがあるも
のと想定する。ボータは同期はずれイベントを検出し、
続行する処理セット10を任意に選別し、処理セット1
1および12をアイドル状態にする。処理セット10、
11、および12のそれぞれは、それ自体の主ダーティ
RAMおよび第2ダーティ・ページ記録を有し、その全
てが、同期はずれイベント以降に特異にダーティにされ
たデータを捕捉する。
【0063】処理セット11を再統合するために、処理
セット10のダーティRAM、処理セット10の第2ダ
ーティ・ページ記録、処理セット11のダーティRA
M、および処理セット11の第2ダーティ・ページ記録
においてダーティであると挙げられた全てのページを、
処理セット10から処理セット11までコピーする。
【0064】その後、処理セット12を再統合するため
に、処理セット10のダーティRAM、処理セット10
の第2ダーティ・ページ記録、処理セット12のダーテ
ィRAM、および処理セット12の第2ダーティ・ペー
ジ記録においてダーティであると挙げられた全てのペー
ジを、処理セット10から処理セット12までコピーす
る。
【0065】処理セット11の再統合中、処理セット1
0はページのダーティ化を記録し続けなければならな
い。処理セット10のダーティ・ページRAMがこの過
程中のいずれかの部分で動作不可能になった場合、ソフ
トウェアは、ダーティになり、処理セット12にコピー
されるページのリストに追加されるページの、独立した
リストを維持しなければならない。
【0066】したがって、主ダーティRAM、例えば制
御機構を備えた、専用メモリ管理ユニットまたは従来の
メモリ管理ユニットと、主ダーティRAMがイネーブル
になるまで全ての不一致書込みを捕捉するのに十分な、
同期はずれの前後のメモリへの限られた数の書込みイベ
ントを記録する第2ダーティ・ページ記録と、同期はず
れイベントのすぐ後で、主ダーティRAMにページのダ
ーティ化の記録を開始させ、該当する場合は第2ダーテ
ィ・ページ記録を停止させる、ソフトウェアまたはハー
ドウェアどちらかの機構とを備えた、本発明の実施形態
について記述した。
【0067】本明細書では、本発明の特定の実施形態に
ついて記述したが、本発明の精神および範囲内で、多く
の修正および/または追加を加えることができることは
理解されるであろう。
【0068】例えば、前述した第1および第2記録機構
の様々な組合せを実現することができる。前述した様々
なエレメントおよび技術もまた、適当な任意のハードウ
ェアまたはソフトウェア技術を使用して、実施すること
ができる。
【0069】TMRシステムの特定の例について記述し
たが、本発明はこれに限定されるものではない。さら
に、同期はずれ処理セットを識別するために、多数決以
外の方法を利用することができる。
【0070】本発明の特定の実施形態について説明した
が、本発明はこれらに限定されるものではなく、添付の
特許請求の範囲で定義する本発明の精神および範囲内
で、多くの修正および/または追加を行うことができる
ことを理解されたい。例えば、従属の特許請求の範囲の
特徴の様々な組合せを、独立の特許請求の範囲の特徴と
組み合わせることができる。
【図面の簡単な説明】
【図1】モジュラ三重化フォールト・トレラント・コン
ピュータ・システムを示す概観図である。
【図2】図1のシステムの処理セットのエレメントを示
す概略図である。
【図3】本発明の一実施形態の処理セットを示す概略図
である。
【図4】メモリ管理ユニットを示す概略図である。
【図5】第1記録機構の一例を示す概略図である。
【図6】第2記録機構の一例を示す概略図である。
【図7】第2記録機構の別の例を示す概略図である。
【図8】合成された第1および第2記録機構の一例を示
す概略図である。
【図9】図8の例の代替構成を示す概略図である。
【符号の説明】
10/11/12 処理セット 13 内部バスからの接続 14 ハードウェア割込み入力 15 外部クロックからの入力 20 プロセッサ 22 メモリ 23 内部バス 25 第1記録機構 26 第2記録機構 27 再統合機構
フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 エムリス・ジョン・ウイリアムズ イギリス国・エムケイ17 9ディエス・ミ ルトン キーンズ・エヴァーショルト・テ ィレルズ エンド・ヘルフォード ハウス (番地なし)

Claims (41)

    【特許請求の範囲】
  1. 【請求項1】 活動化されてメモリ更新イベントを記録
    することができる第1記録機構と、少なくとも限られた
    数のメモリ更新イベントを記録するだけの容量を備えた
    第2記録機構と、障害イベントの場合に前記第1記録機
    構を活動化するための障害信号用の障害入力と、少なく
    とも前記第1および第2記録機構で識別された部分のメ
    モリを再統合するメモリ再統合機構とを含む、フォール
    ト・トレラント・コンピュータ・システム用のメモリ管
    理システム。
  2. 【請求項2】 前記第1記録機構が、複数のメモリ・ペ
    ージのそれぞれに対するエントリと、前記第1記録機構
    が活動化されてページが書込みされるたびに、そのペー
    ジのエントリに書込みされるコードとを備えた記憶装置
    を含むメモリ管理ユニットであることを特徴とする、請
    求項1に記載のメモリ管理システム。
  3. 【請求項3】 前記第1記録機構が、前記第1記録機構
    を活動化するための障害信号を受領するように接続され
    たイネーブル入力を有することを特徴とする、請求項2
    に記載のメモリ管理システム。
  4. 【請求項4】 前記第2記録機構が、障害イベントに続
    いて前記第1記録機構を活動化する時間をカバーするの
    に十分な数まで、最近のメモリ更新イベントの記録を維
    持することを特徴とする、請求項1に記載のメモリ管理
    システム。
  5. 【請求項5】 前記第2記録機構が先入れ先出しバッフ
    ァを含むことを特徴とする、請求項4に記載のメモリ管
    理システム。
  6. 【請求項6】 前記第1記録機構が前記先入れ先出しバ
    ッファの出力に接続されていることを特徴とする、請求
    項5に記載のメモリ管理システム。
  7. 【請求項7】 前記先入れ先出しバッファが、更新アド
    レスを所定数まで格納し、アドレス・デコーダが、前記
    先入れ先出しバッファの前記出力に接続されて、前記先
    入れ先出しバッファから出力されるメモリ更新アドレス
    を表すページ信号を生成し、前記アドレス・デコーダ
    が、前記障害信号に応答して、前記ページ信号を前記第
    1記録機構に渡すことを特徴とする、請求項6に記載の
    メモリ管理システム。
  8. 【請求項8】 前記第2記録機構が論理解析器を含むこ
    とを特徴とする、請求項1に記載のメモリ管理システ
    ム。
  9. 【請求項9】 前記第2記録機構が、障害イベントに続
    いて前記第1記録機構を活動化する時間をカバーするの
    に十分な数まで、最近のメモリ更新イベントの記録を維
    持し、前記第2記録手段の動作が、前記障害信号に応答
    して阻止されることを特徴とする、請求項1に記載のメ
    モリ管理システム。
  10. 【請求項10】 前記第1記録機構がソフトウェアが生
    成する更新イベントのリストを有することを特徴とす
    る、請求項9に記載のメモリ管理システム。
  11. 【請求項11】 前記第2記録機構が、主メモリ中で維
    持されるアドレス変換バッファおよびメモリ・アクセス
    表を含むことを特徴とする、請求項1に記載のメモリ管
    理システム。
  12. 【請求項12】 前記メモリ再統合機構が、前記第1お
    よび第2記録機構で識別されたメモリ・ページを再統合
    するように動作可能であることを特徴とする、請求項1
    に記載のメモリ管理システム。
  13. 【請求項13】 個々にプロセッサおよび内部メモリを
    含み、ロックステップ方式で動作する複数の同期処理セ
    ットと、同期はずれイベントを検出し、同期はずれ信号
    を生成する同期はずれ検出器とを含むシステムであっ
    て、個々の処理セットが請求項1に記載のメモリ管理シ
    ステムを含むことを特徴とする、フォールト・トレラン
    ト・コンピュータ・システム。
  14. 【請求項14】 個々に内部メモリを備えたプロセッサ
    を含み、ロックステップ方式で動作する複数の同期処理
    セットと、同期はずれイベントを検出し、同期はずれ信
    号を生成する同期はずれ検出器とを含むシステムであっ
    て、個々の処理セットがまた、活動化されてメモリ書込
    みイベントを記録することができる第1記録機構と、少
    なくとも限られた数のメモリ書込みイベントを記録する
    だけの容量を備えた第2記録機構と、同期はずれイベン
    トの場合に、同期はずれ信号を受領して前記第1記録機
    構を活動化する障害入力と、少なくとも第1および第2
    記録機構で識別された部分のメモリを、同期はずれ処理
    セット中で再統合するメモリ再統合機構とを含むことを
    特徴とする、フォールト・トレラント・コンピュータ・
    システム。
  15. 【請求項15】 前記第1記録機構が、複数のメモリ・
    ページのそれぞれに対するエントリと、前記第1記録機
    構が活動化されてページが書込みされるたびに、そのペ
    ージのエントリに書込みされるコードとを備えたRAM
    を含むメモリ管理ユニットであることを特徴とする、請
    求項14に記載のフォールト・トレラント・コンピュー
    タ・システム。
  16. 【請求項16】 前記第1記録機構が、前記第1記録機
    構を活動化するための同期はずれ信号を受領するように
    接続されたイネーブル入力を有することを特徴とする、
    請求項15に記載のフォールト・トレラント・コンピュ
    ータ・システム。
  17. 【請求項17】 前記第2記録機構が、同期はずれイベ
    ントに続いて前記第1記録機構を活動化する時間をカバ
    ーするのに十分な数まで、最近のメモリ更新イベントの
    記録を維持することを特徴とする、請求項14に記載の
    フォールト・トレラント・コンピュータ・システム。
  18. 【請求項18】 前記第2記録機構が先入れ先出しバッ
    ファを含むことを特徴とする、請求項17に記載のフォ
    ールト・トレラント・コンピュータ・システム。
  19. 【請求項19】 前記第1記録機構が前記先入れ先出し
    バッファの出力に接続されていることを特徴とする、請
    求項18に記載のフォールト・トレラント・コンピュー
    タ・システム。
  20. 【請求項20】 前記先入れ先出しバッファが、更新ア
    ドレスを所定数まで格納し、アドレス・デコーダが、前
    記先入れ先出しバッファの前記出力に接続されて、前記
    先入れ先出しバッファから出力されるメモリ更新アドレ
    スを表すページ信号を生成し、前記アドレス・デコーダ
    が、前記同期はずれ信号に反応して、前記ページ信号を
    前記第1記録機構に移すことを特徴とする、請求項19
    に記載のフォールト・トレラント・コンピュータ・シス
    テム。
  21. 【請求項21】 前記第2記録機構が論理解析器を含む
    ことを特徴とする、請求項14に記載のフォールト・ト
    レラント・コンピュータ・システム。
  22. 【請求項22】 前記第2記録機構が、同期はずれイベ
    ントに続いて前記第1記録機構を活動化する時間をカバ
    ーするのに十分な数まで、最近のメモリ更新イベントの
    記録を維持し、前記第2記録手段の動作が、前記同期は
    ずれ信号に応答して阻止されることを特徴とする、請求
    項14に記載のフォールト・トレラント・コンピュータ
    ・システム。
  23. 【請求項23】 前記第1記録機構がソフトウェアが生
    成する更新イベントのリストを有することを特徴とす
    る、請求項22に記載のフォールト・トレラント・コン
    ピュータ・システム。
  24. 【請求項24】 前記第2記録機構が、主メモリ中で維
    持されるアドレス変換バッファおよびメモリ・アクセス
    表を含むことを特徴とする、請求項14に記載のフォー
    ルト・トレラント・コンピュータ・システム。
  25. 【請求項25】 前記メモリ再統合機構が、前記第1お
    よび第2記録機構で識別されたメモリ・ページを再統合
    するように動作可能であることを特徴とする、請求項1
    4に記載のフォールト・トレラント・コンピュータ・シ
    ステム。
  26. 【請求項26】 ロックステップ方式で動作する3つの
    同期処理セットを含み、前記同期はずれ検出器が同期は
    ずれ処理セットを多数決により決定することを特徴とす
    る、請求項14に記載のフォールト・トレラント・コン
    ピュータ・システム。
  27. 【請求項27】 前記同期はずれ検出器が、残りの2つ
    の処理セットのうち1つを選択し、同期はずれ処理セッ
    トおよび残りの処理セットへの入力を供給して前記同期
    はずれ処理セットおよび残りの処理セットのアイドルを
    引き起こし、メモリ書込みイベントのソフトウェア・ロ
    グを維持しながら、前記同期はずれ処理セットおよび残
    りの処理セットのうち1つを再統合し、続いて前記ソフ
    トウェア・ログを使用して、前記同期はずれ処理セット
    および残りの処理セットのうち前記のもう1つを再統合
    するように配列されることを特徴とする、請求項26に
    記載のフォールト・トレラント・コンピュータ・システ
    ム。
  28. 【請求項28】 個々にプロセッサおよび内部メモリを
    含み、ロックステップ方式で動作する複数の同期処理セ
    ットと、障害イベントを検出し障害信号を生成する障害
    検出器とを含むフォールト・トレラント・コンピュータ
    ・システムの処理セットを再統合する方法であって、限
    られた期間にわたってメモリ更新イベントの一時記録を
    維持する段階と、前記障害信号に応答して、前記障害状
    態に続いてメモリ更新イベントの後続記録を活動化する
    段階と、障害の発生したプロセッサ中で、少なくとも前
    記一時メモリ記録および後続メモリ記録で識別される部
    分のメモリに対して、メモリ再統合を実施する段階とを
    含む、フォールト・トレラント・コンピュータ・システ
    ムの処理セットを再統合する方法。
  29. 【請求項29】 前記障害イベントが同期はずれイベン
    トであることを特徴とする、請求項28に記載の方法。
  30. 【請求項30】 後続記録がメモリ管理ユニットの記憶
    装置に格納され、前記記憶装置中のページ・エントリが
    メモリの各ページに対して与えられ、コードが、前記第
    1記録機構が活動化されてページが書込みされるたび
    に、そのページのエントリに書込みされることを特徴と
    する、請求項28に記載の方法。
  31. 【請求項31】 前記後続記録を活動化する時間をカバ
    ーするのに十分な数まで、最近のメモリ更新イベントの
    記録を維持する段階を含む、請求項28に記載の方法。
  32. 【請求項32】 前記一時記録が先入れ先出しバッファ
    に格納されることを特徴とする、請求項31に記載の方
    法。
  33. 【請求項33】 後続記録のための記録機構を、前記先
    入れ先出しバッファの出力に接続する段階を含む、請求
    項32に記載の方法。
  34. 【請求項34】 前記先入れ先出しバッファに所定数ま
    で更新アドレスを格納する段階と、前記先入れ先出しバ
    ッファの出力をアドレス・デコーダに供給して、前記先
    入れ先出しバッファから出力されたメモリ更新アドレス
    を表すページ信号を生成する段階と、前記障害信号が活
    動状態になったときに、前記ページ信号を前記後続記録
    の一部として記録する段階とを含む、請求項33に記載
    の方法。
  35. 【請求項35】 前記一時記録が論理解析器に格納され
    ることを特徴とする、請求項31に記載の方法。
  36. 【請求項36】 前記障害信号に応答して阻止される最
    近のメモリ更新イベントの前記一時記録を、障害に続い
    て前記第1記録機構を活動化する時間をカバーするのに
    十分な数まで維持する段階を含む、請求項31に記載の
    方法。
  37. 【請求項37】 ソフトウェアによって更新イベントの
    リストを生成する段階を含む、請求項36に記載の方
    法。
  38. 【請求項38】 主メモリによって維持される表検索バ
    ッファおよびメモリ・アクセス表によって、前記一時記
    録を形成する段階を含む、請求項31に記載の方法。
  39. 【請求項39】 前記一時記録および後続記録中で識別
    されたメモリ・ページを再統合する段階を含む、請求項
    31に記載の方法。
  40. 【請求項40】 ロックステップ方式で動作する3つの
    同期処理セットを含み、同期はずれ検出器が同期はずれ
    処理セットを多数決によって決定することを特徴とす
    る、請求項31に記載の方法。
  41. 【請求項41】 同期はずれ処理セットの識別に応答し
    て、残りの2つの処理セットのうち1つを選択する段階
    と、同期はずれ処理セットおよび残りの処理セットへの
    割込みを供給して前記の同期はずれ処理セットおよび残
    りの処理セットのアイドルを引き起こす段階と、メモリ
    書込みイベントのソフトウェア・ログを維持しながら、
    前記の同期はずれ処理セットおよび残りの処理セットの
    うち1つを再統合する段階と、続いて前記ソフトウェア
    ・ログを使用して、前記の同期はずれ処理セットおよび
    残りの処理セットのうち前記のもう1つを再統合する段
    階とを含む、請求項31に記載の方法。
JP9211415A 1996-07-01 1997-06-30 フォルトトレラント・コンピュータ・システムのメモリ・マネージメント Pending JPH10177498A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/675,265 US5953742A (en) 1996-07-01 1996-07-01 Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism
US08/675265 1996-07-01

Publications (1)

Publication Number Publication Date
JPH10177498A true JPH10177498A (ja) 1998-06-30

Family

ID=24709729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9211415A Pending JPH10177498A (ja) 1996-07-01 1997-06-30 フォルトトレラント・コンピュータ・システムのメモリ・マネージメント

Country Status (4)

Country Link
US (1) US5953742A (ja)
EP (1) EP0817053B1 (ja)
JP (1) JPH10177498A (ja)
DE (1) DE69718247T2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107411B2 (en) 2003-12-16 2006-09-12 International Business Machines Corporation Apparatus method and system for fault tolerant virtual memory management
JP2007066309A (ja) * 2005-08-30 2007-03-15 Rockwell Automation Technologies Inc 工業用制御装置を冗長制御装置と同期化するための方法および装置
JP2009505179A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実行ユニットを有する計算機システムにおいてレジスタのマーキングによってスタート状態を定める方法および装置
US7500139B2 (en) 2004-12-21 2009-03-03 Nec Corporation Securing time for identifying cause of asynchronism in fault-tolerant computer
US7653764B2 (en) 2004-12-21 2010-01-26 Nec Corporation Fault-tolerant computer and method of controlling data transmission
US7694176B2 (en) 2004-12-21 2010-04-06 Nec Corporation Fault-tolerant computer and method of controlling same
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
JP2012221063A (ja) * 2011-04-05 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 仮想マシン同期方法及びシステム及び運用系の仮想マシン及びプログラム
JP2014157492A (ja) * 2013-02-15 2014-08-28 Nec Corp フォールトトレラントサーバ、そのメモリコピー方法およびライトアドレスデータ格納用メモリモジュール

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148348A (en) * 1998-06-15 2000-11-14 Sun Microsystems, Inc. Bridge interfacing two processing sets operating in a lockstep mode and having a posted write buffer storing write operations upon detection of a lockstep error
US6260159B1 (en) 1998-06-15 2001-07-10 Sun Microsystems, Inc. Tracking memory page modification in a bridge for a multi-processor system
US6311289B1 (en) * 1998-11-03 2001-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Explicit state copy in a fault tolerant system using a remote write operation
US6948092B2 (en) * 1998-12-10 2005-09-20 Hewlett-Packard Development Company, L.P. System recovery from errors for processor and associated components
US6393582B1 (en) * 1998-12-10 2002-05-21 Compaq Computer Corporation Error self-checking and recovery using lock-step processor pair architecture
US6480950B1 (en) * 2000-01-24 2002-11-12 Oracle International Corporation Software paging system
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
GB2369693B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Protection for memory modification tracking
GB2369691B (en) 2000-11-29 2003-06-04 Sun Microsystems Inc Control logic for memory modification tracking
GB2369690B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Enhanced protection for memory modification tracking
GB2369692B (en) 2000-11-29 2002-10-16 Sun Microsystems Inc Processor state reintegration
US6886171B2 (en) * 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
EP1395908A1 (en) * 2001-05-22 2004-03-10 Koninklijke Philips Electronics N.V. Method and system for accelerated access to a memory
US6996750B2 (en) 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
GB2399913B (en) * 2002-03-19 2004-12-15 Sun Microsystems Inc Fault tolerant computer system
GB2399917B (en) * 2002-03-19 2005-01-19 Sun Microsystems Inc Computer system
JP2004046455A (ja) * 2002-07-10 2004-02-12 Nec Corp 情報処理装置
JP3774826B2 (ja) * 2002-07-11 2006-05-17 日本電気株式会社 情報処理装置
GB2417102B (en) * 2004-07-23 2007-11-28 Hewlett Packard Development Co System and method for managing memory
DE502004005875D1 (de) * 2004-07-27 2008-02-14 Nokia Siemens Networks Gmbh Verfahren und vorrichtung zur sicherung von konsistenten speicherinhalten in redundanten speichereinheiten
JP4168403B2 (ja) * 2004-12-21 2008-10-22 日本電気株式会社 フォールトトレラントシステム、これで用いる制御装置、アクセス制御方法、及び制御プログラム
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
US7930495B2 (en) * 2005-11-04 2011-04-19 Oracle America, Inc. Method and system for dirty time log directed resilvering
US7925827B2 (en) * 2005-11-04 2011-04-12 Oracle America, Inc. Method and system for dirty time logging
US8938594B2 (en) * 2005-11-04 2015-01-20 Oracle America, Inc. Method and system for metadata-based resilvering
US7478203B2 (en) * 2006-03-08 2009-01-13 Sun Microsystems, Inc. Technique for eliminating dead stores in a processor
US7774645B1 (en) * 2006-03-29 2010-08-10 Emc Corporation Techniques for mirroring data within a shared virtual memory system
US7644300B1 (en) * 2007-04-20 2010-01-05 3Par, Inc. Fast resynchronization of data from a remote copy
EP2728479A1 (de) * 2012-11-05 2014-05-07 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Auslesen eines Datenspeichers
US9983953B2 (en) * 2012-12-20 2018-05-29 Intel Corporation Multiple computer system processing write data outside of checkpointing
US9697094B2 (en) 2015-02-06 2017-07-04 Intel Corporation Dynamically changing lockstep configuration

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1014277B (it) * 1974-06-03 1977-04-20 Cselt Centro Studi Lab Telecom Sistema di controllo di elaboratori di processo operanti in parallelo
US4375683A (en) * 1980-11-12 1983-03-01 August Systems Fault tolerant computational system and voter circuit
EP0254247A3 (de) * 1984-04-26 1988-08-10 BBC Brown Boveri AG Einrichtung zur Rettung des Rechnerzustandes
US4757442A (en) * 1985-06-17 1988-07-12 Nec Corporation Re-synchronization system using common memory bus to transfer restart data from non-faulty processor to failed processor
JP2718031B2 (ja) * 1987-07-17 1998-02-25 株式会社日立製作所 履歴情報取得方法
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
ATE158424T1 (de) * 1989-06-30 1997-10-15 Digital Equipment Corp Verfahren und anordnung zur steuerung von schattenspeichern
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5269016A (en) * 1990-09-24 1993-12-07 Charles Stark Draper Laboratory, Inc. Byzantine resilient fault tolerant shared memory data processing system
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
US5276862A (en) * 1991-04-09 1994-01-04 Bull Hn Information Systems Inc. Safestore frame implementation in a central processor
US5398330A (en) * 1992-03-05 1995-03-14 Seiko Epson Corporation Register file backup queue
AU673021B2 (en) * 1992-12-28 1996-10-24 Nec Corporation Management apparatus for volume-medium correspondence information for use in dual file system
JP2735479B2 (ja) * 1993-12-29 1998-04-02 株式会社東芝 メモリ・スナップショット方法及びメモリ・スナップショット機能を持つ情報処理装置
JPH07319747A (ja) * 1994-05-24 1995-12-08 Nec Telecom Syst Ltd データ更新システム
US5638509A (en) * 1994-06-10 1997-06-10 Exabyte Corporation Data storage and protection system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107411B2 (en) 2003-12-16 2006-09-12 International Business Machines Corporation Apparatus method and system for fault tolerant virtual memory management
US7500139B2 (en) 2004-12-21 2009-03-03 Nec Corporation Securing time for identifying cause of asynchronism in fault-tolerant computer
US7653764B2 (en) 2004-12-21 2010-01-26 Nec Corporation Fault-tolerant computer and method of controlling data transmission
US7694176B2 (en) 2004-12-21 2010-04-06 Nec Corporation Fault-tolerant computer and method of controlling same
JP2009505179A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実行ユニットを有する計算機システムにおいてレジスタのマーキングによってスタート状態を定める方法および装置
JP2007066309A (ja) * 2005-08-30 2007-03-15 Rockwell Automation Technologies Inc 工業用制御装置を冗長制御装置と同期化するための方法および装置
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
JP2012221063A (ja) * 2011-04-05 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 仮想マシン同期方法及びシステム及び運用系の仮想マシン及びプログラム
JP2014157492A (ja) * 2013-02-15 2014-08-28 Nec Corp フォールトトレラントサーバ、そのメモリコピー方法およびライトアドレスデータ格納用メモリモジュール

Also Published As

Publication number Publication date
EP0817053B1 (en) 2003-01-08
DE69718247T2 (de) 2003-10-30
US5953742A (en) 1999-09-14
DE69718247D1 (de) 2003-02-13
EP0817053A1 (en) 1998-01-07

Similar Documents

Publication Publication Date Title
JPH10177498A (ja) フォルトトレラント・コンピュータ・システムのメモリ・マネージメント
US6571324B1 (en) Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
EP0608344B1 (en) System for backing-up data for rollback
US8234521B2 (en) Systems and methods for maintaining lock step operation
US6266785B1 (en) File system filter driver apparatus and method
US5437022A (en) Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
JP2994070B2 (ja) データ処理システムにおけるミラー化された一対のデータ記憶ユニットの状態を決定する方法及び装置
US6742138B1 (en) Data recovery method and apparatus
US7107486B2 (en) Restore method for backup
US7313717B2 (en) Error management
US6195761B1 (en) Method and apparatus for identifying and repairing mismatched data
US7805632B1 (en) Storage system and method for rapidly recovering from a system failure
US7076686B2 (en) Hot swapping memory method and system
US6675316B1 (en) Method and system for recovery of the state of a failed CPU/cache/memory node in a distributed shared memory system
JP2000181887A5 (ja)
US20050246576A1 (en) Redundant system utilizing remote disk mirroring technique, and initialization method for remote disk mirroring for in the system
JP3070453B2 (ja) 計算機システムのメモリ障害回復方法および回復システム
US7529776B2 (en) Multiple copy track stage recovery in a data storage system
JPH1185412A (ja) ディスクアレイ装置制御方法およびディスクアレイ装置
JPH09330303A (ja) コンピュータシステムおよびそのシステムにおける障害回復方法
JPH03269745A (ja) 二重化プロセッサシステム
JP2005284449A (ja) 情報記録媒体アレイシステムおよびその復旧方法
US6671823B1 (en) Ultra reliable disk memory for multi-processor platforms
JPH09212400A (ja) 耐故障性を備えたファイルシステム
SU763902A1 (ru) Микропрограммный процессор с самодиагностикой

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070731