[go: up one dir, main page]

JPH07117903B2 - 障害回復方法 - Google Patents

障害回復方法

Info

Publication number
JPH07117903B2
JPH07117903B2 JP62159552A JP15955287A JPH07117903B2 JP H07117903 B2 JPH07117903 B2 JP H07117903B2 JP 62159552 A JP62159552 A JP 62159552A JP 15955287 A JP15955287 A JP 15955287A JP H07117903 B2 JPH07117903 B2 JP H07117903B2
Authority
JP
Japan
Prior art keywords
checkpoint
recovery
data
recording
failure
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 - Lifetime
Application number
JP62159552A
Other languages
English (en)
Other versions
JPS638835A (ja
Inventor
マイケル・ジエイ・フレモント
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPS638835A publication Critical patent/JPS638835A/ja
Publication of JPH07117903B2 publication Critical patent/JPH07117903B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1407Checkpointing the instruction stream
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は計算システムの障害回復方法に関するものであ
り、更に詳細には、計算システム内で検出されたハード
ウェア障害からのトレンスペアレントな回復を行なわし
めるための障害回復方法に関する。
計算システム内で機械命令の実行中に生ずる障害により
データあるいは以後の機械命令の実行が無効になること
がしばしばある。動作を全く停止して計算システムを再
始動させるのではなく、データおよび以後の機械命令の
実行を確実に有効にしつつ、最小量の中断で障害を回復
し、処理を実行することが望ましい。
ソフトウェア的な回復技術は知られている。このような
技法の一つでは、ソフトウェアはシステム状態がすべて
の動作目的に対して正しいことがわかっているチェック
ポイントまでシステムを完全に回復するに充分なデータ
を定期的に記録している。障害が検出されると、最後の
チェックポイント以降になされたファイルの変更を元に
戻し、計算システムを最後のチェックポイントにセット
しなおし、システムをその点から再始動する。
しかしながら、このような技法はユーザがプログラムの
適切な場所にプログラミング・コードを挿入してシステ
ムを正しい状態にまで回復するに充分な情報を記録しな
ければならないので、ユーザにとってトランスペアレン
トではない。この機構ではユーザが各チェックポイント
で何時どの情報を記録するかを選択しなければならない
ので、人間による誤りを起しやすい。チェックポイント
のコードを入れる場所を誤ると、必要なデータに重ね書
きがなされるか、そうでなければ必要なデータが正しく
記録される前に失われてしまうことがある。
この技法のもう一つの欠点は、プログラムとオペレーテ
ィング・システム(OS)との間でほとんど絶え間なく対
話をすることが必要であり、このためOSの効率が甚しく
低下することである。更に、一旦障害が検出されると、
プロセスを最後のチェックポイントに到達するまで戻さ
なければならない。このため、特に大きなファイル構造
を修正しなければならない大きなシステムでは、回復時
間が甚しく損われる。
他の回復機構はモジュール式冗長性を採用している。こ
の機構では、2つ以上の処理装置が同じコードを並列に
実行する。定期的チェックポイントで、2つの処理装置
からの結果が比較される。結果が相違していることがわ
かれば、裁定機構が2つの結果のいずれかを選択する。
この機構ではハードウェアを重複して設けるためほとん
ど常に禁止的費用となり、また余分なハードウェアから
多くの障害が発生する可能性が生ずる。
〔発明の目的〕
本発明の目的は、上述した従来技術の問題点を解消し、
構成を過度に複雑、高価にしたり、あるいはシステム・
オーバヘッドを過大にすることなしに障害からの回復を
行なうことができる障害回復方法を提供することにあ
る。
〔発明の概要〕
本発明の一実施例によれば、システムの状態があらゆる
動作目的に対して正しいことがわかっている周期的チェ
ックポイントの間の期間中のシステムの過渡状態を記録
し回復するため中央処理装置(CPU)に付設したハード
ウェア回復モジュールを使用して計算システムの故障回
復を行う障害回復方法が提供される。障害回復は、計算
システム上で動作するアプリケーション・ソフトウェア
にとってトランスペアレントである。本発明はOSとの対
話が極く少く、回復時間が速く、プロセスのスループッ
トの低下を最小限として回復を行う。
本発明の一実施例において、ハードウェア回復モジュー
ルは回復制御専用のマイクロプロセッサとシステム状態
を記憶する記憶装置を備えている。ハードウェア・モジ
ュールはCPU、主記憶、キャッシュ・メモリ、および入
出力装置(I/O)を備えた計算システムを監視するもの
である。回復モジュールは通常のシステム動作と並列し
て、アプリケーション・プログラムとは無関係に、チェ
ックポイント動作および関連動作を行う。
ここで使用するように、チェックポイントは初期チェッ
クポイントとこの初期チェックポイントの次のチェック
ポイントの始めまで計算システム内で発生したすべての
情報転送に関する情報とから構成されている。
初期チェックポイントは、チェックポイントの始まりに
おける、処理装置レジスタ内のデータ、キャッシュ・メ
モリ内のデータ、および主記憶内のデータから構成され
る。情報転送はCPUがデータをI/O制御装置またはキャッ
シュ・メモリとの間で直接授受するごとに、およびデー
タが主記憶とキャッシュ・メモリとの間で転送されるご
とに行われる。
本発明の一実施例においては、初期チェックポイントが
記録され、CPUが一連の機械命令を実行し始める。実行
中、回復カウンタは実行された機械命令を数える。計算
システム内でCPUへの情報転送が起こったときには常
に、回復モジュールが転送されているデータをストアす
る。同様に、CPUに割込がかかったときには常に、回復
モジュールがその割込を検出してその割込の情報及び回
復カウンタの値をストアする。このプロセスはチェック
ポイントの終りまで続き、この点でこのチェックポイン
トの妥当性が確認され、新しいチェックポイントが始ま
る。
障害が検出されると、システム動作は一時停止される。
この後直ちに、回復モジュールに格納されていたところ
の記憶装置からキャッシュへの読み出しが時間的に逆の
順序で読み出され、主記憶に書き戻されて主記憶を再実
行するプロセスに必要な状態に回復し(再実行には、主
記憶をプロセスが最初に検出したものと一貫する状態に
まで回復するだけでよい)、キャッシュ・メモリがパー
ジされ、処理装置にその最初のCPUレジスタの数値がロ
ードされる。
次に、処理装置は最も最近に妥当性を確認されたチェッ
クポイントから再始動する。次に処理装置はチェックポ
イント後元来実行したすべての機械命令を合成的に(sy
nthetically)実行する。すなわち、処理装置は最初の
実行と実質上同じ順序で機械命令を再実行する。ただ
し、I/Oの出力は不必要として抑制され、I/Oの入力は元
来の入力を回復モジュール・メモリから回復することに
よりシミュレートされる。記憶された回復カウンタの数
値は再実行中に割込を発生させる適切な時間を決めるの
に使用される。
処理装置が障害発生点まで来ると、真の実行が始まる。
すべての入出力はその後実際に行われ、障害が発生した
時刻に実行されていたチェックポイントのプロセスが継
続され、新しい正常実行プロセスへの割込が発生してOS
に障害点と回復状態を知らせる。OSはこれによりユーザ
がアプリケーション依存の回復ルーチンを指定したか否
かを確認し、これにしたがってそのルーチンを実行する
ことができる。回復プロセス中に他の障害が発生しても
必要なすべてのデータがなおシステム状態メモリに入っ
ているので、重大な情報を失わずに再試行することがで
きる。代案として、回復中に生じた障害から回復するた
めに別のハードウェアを使用することもできる。
本発明は付図と関連して行う以下の詳細な説明を参照す
れば一層良く理解されるであろう。
〔実施例〕
第1図には本発明の一実施例が組込まれている計算シス
テム104を示す。計算システム104は、複数のCPUレジス
タ109と、実行した機械命令を数える回復カウンタ111を
備えるCPU108を備えている。データ・キャッシュ113と
命令キャッシュ・114から成るキャッシュ・メモリ112
は、キャッシュ−CPUバス116によりCPU108と接続されて
いる。主記憶120は主記憶−キャッシュ・バス124により
キャッシュ・メモリ112と接続されている。一つ以上のI
/O128がI/O−CPUバス132によりCPU108に、またI/O−主
記憶バス136により主記憶120に接続されている。回復モ
ジュール140はキャッシュ−CPUバス116、主記憶−キャ
ッシュ・バス124、およびI/O−CPUバス132に接続されて
いる。
第2図は回復モジュール140の細部を示すブロック図で
ある。回復モジュール140は回復制御モジュール204、格
納モジュール208、複数のシステム・バッファ212、およ
び回復モジュール内インタフェース216から構成されて
いる。回復制御モジュール204は主制御部220、CPU制御
部222、主記憶制御部224、キャッシュ・メモリ制御部22
6、システム・マルチプレクサ228、およびアドレス制御
部230を含む回復制御専用のマイクロプロセッサを備え
ている。あらゆる場合において図示した接続は単に例示
にすぎない。個々の構成要素に制御その他の信号を送
る、図示してない、その他の線路が存在することは最も
あり得ることと考えられる。これらの線路は機械ごとに
異なり、しかも日常の技術技能の事項にあるから図示し
ていない。
CPU制御部222はCPUバッファ232を介してキャッシュ−CP
Uバス116と結合している。CPUバッファ232はCPUレジス
タ109を監視して回復処理を制御する。特に、エラー信
号は、CPUハードウェアがハードウェア障害を検出した
際にエラー信号線234を経由してCPU制御部222に伝えら
れる。CPU制御部222は情報転送中または割込中、読出し
データ線236を経由してデータを読取るように通知を受
けるので、回復モジュール140は必要なデータを見出し
て、これを格納モジュール208に格納することができ
る。これらの情報はビット直列フォーマットあるいはバ
イト並列フォーマットのいずれでもよく、あるいは状況
が必要とすれば1本の線上に多重化することもできる。
出力抑制線237はCPU108に回復処理中出力を抑制するよ
うに指示するものである。最後に、CPU停止線238は、故
障が検出された後回復処理を行うことができるように、
CPUの命令実行を停止させる信号をCPU108に伝えるため
のものである。
主記憶制御部224は主記憶バッファ240を介して主記憶−
キャッシュ・バス124と結合している。CPUの正常動作
中、主記憶制御部224は主記憶/キャッシュのデータ転
送のすべてを監視する責任がある。回復処理中、主記憶
制御部224は主記憶120が再実行できるように回復を制御
する。そのため、主記憶制御部224は主記憶バッファ240
に動作モードを選択的に指示する読み書き線242を備え
ている。データ線224とアドレス線246は主記憶制御部22
4と主記憶バッファ240との間でデータとアドレス情報を
伝達するものである。アドレスあるいはデータは線上を
ビット直列またはバイト並列フォーマットで伝達するこ
とができ、あるいは状況の必要に応じこれらデータを1
本の線上に多重化することができる。必要なときは、主
記憶制御部224は主記憶の内容を回復モジュール内イン
ターフェイス216を通して他のコンピュータに転送する
ことができる。
キャッシュ・メモリ制御部226はキャッシュ・バッファ2
50によりキャッシュ−CPUバス116に接続されている。キ
ャッシュ・メモリ制御部226はCPU108と無関係にキャッ
シュ・メモリから古いデータを読取るのを制御するもの
である。古いデータとは、キャッシュ内の、CPU108によ
り変更されが、まだチェックポイント動作により取り込
まれていないデータのことである。各キャッシュライン
(cache line)内のビット対はそのキャッシュ・ライン
内のデータが古いことを指示する。チェックポイント・
インターバルあたり1ビットだけ使用される。キャッシ
ュ・メモリ制御部226が次のチェックポイント・インタ
ーバルで前のチェックポイント・インターバルによる古
いデータを読み出すことができるように2ビットが設け
られている。したがって、チェックポイントは二重にバ
ッファされている。動作の詳細については後程説明す
る。
旧インジケータ線252はキャッシュ・メモリ制御部226に
選択した古いビットの値を示すためのものである。旧−
選択線254はキャッシュ・ライン内のどの古いビットを
読取るかを選択するものである。旧−クリア線256は選
択されたキャッシュ・ラインの内容が格納モジュール20
8に格納された後に選択された古にビットの値をリセッ
トするためのものである。アドレス線258は読取るべき
キャッシュ・ラインのアドレスを選択するためのもので
あり、データ線260は選択されたキャッシュ・ラインか
らのデータを格納モジュール208に伝えるものである。
アドレスあるいはデータは線上をビット直列フォーマッ
トでまたはバイト並列フォーマットで伝送することがで
きるし、あるいは状況の必要に応じ1本の線上に多重化
することもできる。
システム・マルチプレクサ228はI/Oバッファ262を介し
てI/O−CPUバス132と結合している。システム・マルチ
プレクサ228はまた内部でCPU制御部222、主記憶制御部2
24、およびキャッシュ・メモリ制御部226に接続されて
いて、これらのモジュールからデータを格納モジュール
208に選択的に伝達する。読み書き線264は動作モードを
I/Oバッファ262に指示するものであり、アドレス線266
とデータ線268はそれぞれアドレスとデータをシステム
・マルチプレクサ228とI/Oバッファ262の間で伝達する
ものである。回復データ線270はCPU制御部222、主記憶
制御部224、キャッシュ・メモリ制御部226、あるいはI/
Oバッファ262から選択されたデータを格納モジュール20
8に伝達する。アドレスあるいはデータは線上をビット
直列フォーマットまたはバイト並列フォーマットで転送
することができ、あるいは状況が必要とすればデータを
1本の線上で多重化することもできる。
アドレス制御部230はアドレス線272を介して格納モジュ
ール208と結合している。アドレス制御部230は回復処理
中格納モジュール208からデータを選択的に検索するの
に使用される。
動作 第3図は機械命令の実行中、システム回復の準備のため
本発明にしたがって取られるステップを示している。こ
の図では、チェックポイント300は時刻304でプロセス30
2の実行が始まるとき始まる(すなわち、初期チェック
ポイントが記録される)。チェックポイント・インター
バルはプロセスの実行から終了までによって規定される
のではなく、格納モジュール208の格納能力によって、
あるいはプログラマによりセットされた予め定められた
時間によって決まる。したがって、チェックポイント30
0は時刻306でのプロセス302の完了を過ぎてからプロセ
ス308まで継続する。時刻310で、チェックポイントは完
了し、妥当性を確認される。時刻310で、プロセス312が
実行される。同時に、新しいチェックポイント314が始
まる。新しいプロセス316は時刻318で始まり、時刻320
まで続くが、ここで障害が発生する。ここでシステム
は、最も最近妥当性の確認がとられたチェックポイント
の始まりである時刻304にリセットされ、元来のプロセ
スが合成される。
第4図は本発明による正常処理中に取られるステップを
示している。ここに示すとうり、回復カウンタ111はス
テップ402で指定された初期値にセットされている。機
械命令はステップ404でCPU108により実行され、回復カ
ウンタ111はステップ406で機械命令が実行されるごとに
デクリメントされる。
ステップ408で新しいチェックポイントの時刻であるか
否かが確められる。新しいチェックポイントの時刻は、
格納モジュール208が実質上チェックポイント・データ
でいっぱいになったとき、あるいはプログラマが決める
ことができる或いは他の時刻である。新しいチェックポ
イントの時刻になったとき、ステップ410で前のチェッ
クポイントが終了し、その妥当性が確認される。ステッ
プ412で初期チェックポイントが格納モジュール208に格
納され、ステップ414で回復カウンタ111がリセットさ
れ、ステップ404で処理が再開される。
最適性能を得るためには、システムは各チェックポイン
ト・インターバルの始まりでキャッシュ・メモリ中に存
在する古いデータをコピーするため停止すべきではな
い。代りに、特定のチェックポイント・インターバルの
終りにキャッシュ・メモリ中に存在する古いデータに対
してはそれに続くチェックポイント・インターバル中で
チェックポイント動作する。これを行うには、各キャッ
シュ・ライン内のビット対がそのキャッシュ・ライン内
のデータがいつ古くなったかを指示する。チェックポイ
ント・インターバル毎に1ビットだけが使用される。こ
のビットはCPUがそのキャッシュ・ライン内のデータを
変更すればセットされる。キャッシュ・メモリ制御部22
6が以後のチェックポイント・インターバル中に前のチ
ェックポイント・インターバルからの古いデータを読み
取ることができるように、2つのビットが設けられてい
る。つまり、あるチェックポイント・インターバルの間
に、あるキャッシュ・ライン内のデータを変更すること
が必要になったら、これら2つのビットのうちの前回の
チェックポイント・インターバルの間における変更を示
すために割り当てられているビットとは別のビットをセ
ットする。これにより、キャッシュライン中のデータの
変更が前回のチェックポイント・インターバルの間のも
のか、それとも今回のチェックポイント・インターバル
の間のものかを識別することができる(もちろん、下の
説明からわかるように、どのキャッシュ・ラインについ
てみても、これら2つのビットがともにセットされるこ
とはない)。正常処理中、キャッシュ・メモリ制御部22
6は、そのチェックポイント・インターバルについての
古いビットを旧−選択線254を経由して選択する。キャ
ッシュ・メモリ制御部226はデータ・キャッシュ113を最
上部から最下部まで直線的に走査し、セットされている
古いビットを探す。変更されたが未だチェックポイント
動作を受けていないキャッシュ内のデータを示す、セッ
トされている古いビットが検出されると、キャッシュ・
メモリ制御部226は命令フェッチ期間中にそのラインを
格納モジュール208に格納する。ラインを格納した後、
キャッシュ・メモリ制御部226は旧−クリア線256を経由
して古いビットをリセットし、走査を再開する。処理装
置がまだチェックポイント動作を受けていない古いデー
タを変更しようとすると、CPU制御部222がCPUを停止
し、そのデータに対してチェックポイント動作を施し、
古いビットがリセットされてから書込みが起こるように
する。同様に、古いラインが主記憶に書込むため選択さ
れる(たとえば、キャッシュ内に空いている空間を作る
ため)と、そのラインが格納モジュール208にコピーさ
れ、古いビットがリセットされる。最後に、古いライン
すべてが格納される前にチェックポイント・インターバ
ルが終りになれば、CPU108を停止して残りのデータにチ
ェックポイント動作を施すことができる。このようにし
て、ある時間の後、古いデータすべてがチェックポイン
ト動作を施されることを保証する。キャッシュ・メモリ
内のすべての変更されたデータがチェックポイント動作
を施されたら、古いチェックポイントは丁度終了したば
かりのチェックポイントと論理的に置き換えられ、新し
いチェックポイントが始まる。このようにして、そこま
で戻ることができるチェックポイントが常に存在する。
新しいチェックポイントの時刻でない場合には、ステッ
プ420でキャッシュ・メモリからCPUへの読出しが行われ
ているか確かめられる。行われていれば、回復モジュー
ル104はステップ422でキャッシュ−CPUバス116により転
送されているデータを読取り、転送されているデータが
ステップ422で格納モジュール208に格納され、ステップ
404で処理が再開される。
キャッシュ−CPU読出しが起こっていなかった場合に
は、直接I/O−CPU読出しが行われているかステップ426
で確かめられる。直接I/O−CPU読出しとは、CPU108がI/
O128に対してデータを要求してそこからデータを受取る
ことを機械命令の単一の実行の間に行なうことを言う。
直接I/OCPU読出しが行われていれば、回復モジュール14
0はステップ428でI/O−CPUバス132からデータを読取
り、転送されているデータがステップ430で格納モジュ
ール208に格納され、処理がステップ404で再開される。
直接I/O−CPU読出しが発生していなければ、割込が生じ
たかステップ432で確かめられる。割込が起こるのは、C
PUが直接I/O−CPU読出し(すなわち、ある機械命令の実
行中に要求されそれ以降の機械命令の実行中に完了割込
を発生する読出し、またはキーボードからの入力のよう
な非反復性の入力)を実行したときであり、またシステ
ム設計上の他の理由によっても起こる。本実施例におい
ては、通常実行中、割込がすべて記録され、また回復処
理中には適切な回復を行うためシステムがこれらを必要
としているか確認される。割込が発生すれば、割込に関
する情報(たとえば、割込の形式など)がステップ434
で格納モジュール208に格納され、回復カウンタ111の値
がステップ436で格納され、処理がステップ404で再開さ
れる。
割込が発生しなかった場合には、処理がステップ404で
再開される。
第5A図〜第5C図は、故障の検出後、計算システム104が
取る回復ステップを示している。エラー信号がエラー線
234上で検出された後、ステップ500で回復モードに入
る。回復カウンタ111はステップ501で一時的にディスエ
ーブルされ、障害検出時に回復カウンタ111が持ってい
た値がステップ503で記録される。キャッシュ・メモリ1
12はステップ504でパージされ、絶対に必要な主記憶デ
ータは、ステップ505で、主記憶からキャッシュ読出し
が時間的に逆の順序で格納されている格納モジュール20
8キャッシュを検索し、これらを主記憶に書き戻すこと
によりリストアされ、CPUレジスタはステップ506でCPU1
08に対してリストアされる。絶対に必要な主記憶データ
は最実行に必要なデータだけである。主記憶の内容のう
ちのそれ以外のものは、以後の実行に関しても依然とし
て有効である。
回復カウンタ111は、ステップ508で、元の実行シーケン
ス中の指定された割込または障害が発生した命令点と同
一の命令点に到達するまでに実行しなければならない機
械命令の個数に再設定される。機械命令のこの個数はカ
ウント・ダウン値と呼ばれ、前に記録された回復カウン
タ値から決まる。
ステップ509で、回復カウンタ111は再びイネーブルされ
る。機械命令はCPU108により再実行され、回復カウンタ
111はステップ510で機械命令が再実行されるごとにデク
リメントされる。再実行される機械命令の順序は実質上
元来実行された機械命令と同じである。機械命令はトラ
ップあるいは非同期事象が発生するまでステップ510で
再実行される。トラップとは、回復カウンタ111が所定
の値を含んでいるきはいつでも回復カウンタ111により
発生する割込である。本実施例では、トラップは回復カ
ウンタ111のカウントが0まで減ったときに起る。非同
期事象は、回復処理中で、障害が検出される前に要求さ
れた入出力の完了の結果発生する割込である。
ステップ512でトラップまたは非同期事象が発生しなけ
れば、ステップ513で、CPUが出力を行なおうとしている
か確かめられる。そうである場合には、CPU制御部232が
出力抑制線237によりCPU108にステップ514で出力を抑制
するように命令する信号をCPU108に伝え、処理がステッ
プ510で再開される。代案として、CPU108は今回復処理
モードであるを確認して、回復モジュール140を介在さ
せずに出力を自動的に抑制するように設計することがで
きる。
CPU108が出力を実行しようとしていなければ、ステップ
516で、入力要求がCPU108により入出力装置128に対して
行われているか確かめられる。行われていれば、その要
求はステップ518で抑制される。ステップ520で直接入力
要求が行われたことが確かめられれば、回復モジュール
140は要求されたデータを格納モジュール208から取り出
し、ステップ522で入力をシミュレートする。そうでな
い場合は、処理がステップ510で再開される。
入力シミュレーションは多くの異なる方法で行うことが
できる。一つの方法では、CPU制御部222がCPU停止線238
に信号を出すことにより、CPU処理が一時的に停止す
る。次に主制御部220が入力データを格納モジュール208
から取出し、データのフォーマットを整え、これをI/O
−CPUバス132に乗せる、CPU停止線上の信号が落され、
回復モジュール140がCPU108に割込をかけ、入力データ
は元来の実行時と同じようにして処理される。
このようにする代わりに、現在回復処理モードであるこ
とをCPU108が確認し、直接入力要求を送るルートを自動
的に変えることによりこの要求を回復モジュールに与え
るように設計してもよい。
ステップ512でトラップまたは非同期事象が発生すれ
ば、回復カウンタ111がステップ530でディスエーブルさ
れ、回復カウンタ111の値がステップ532でチェックされ
る。
回復カウンタ111の数値が0でないことが確認されれ
ば、ステップ534で、障害前間接I/O要求の完了により割
込が発生したか確認される。元来の実行中、プロセスは
間接I/O動作を始めるように要求することができる。I/O
の遅延とそのCPUに対しての非同期動作のため、間接I/O
動作は障害が起こった際には進行中であり回復期間中も
その動作が継続していることが多い。
間接I/Oを回復期間中続けさせた場合に発生する2つの
厄介な問題がある。第1の問題は、間接I/Oは回復ソフ
トウェアで処理しなければならない終了あるいは他の割
込を起すことがあることである。第2の問題は、間接I/
Oの入力は回復期間中に必要なデータに対して、たとえ
ば、元来の処理の後でページを割当てなおしたことによ
り、重ね書きしてしまう可能性があることである。した
がって、割込の処理は、ディスパッチの変更が生ぜず、
割込を起こしたモジュールとの必要な通信が行われ(た
とえば、割込をアクノレッジする)割込がOSに直ちには
伝えられないように、回復モジュール140によってなさ
れなければならない。更に、OSは、チェックポイント・
インターバル中にはあるページの使用をやめたからとい
って、通常行なうようにそれを直ちに開始してはならな
い。その代りに、開放されたページを予備開放リストに
載せ、チェックポイントの妥当性が確認された後に予備
開放リスト中のページを開放して捨てる。ステップ536
で故障前I/Oが処理されてから、回復カウンタ111がステ
ップ509で再びイネーブルされ、処理が再開される。
回復カウンタ111が0までカウント・ダウンしてしまう
と、元来の実行中に割込が発生した命令点に到達してい
る。ステップ540で割込が間接入力要求の完了に対応し
ていることが確かめられれば、回復モジュール140は格
納モジュール208からの入力データの取り出しを開始
し、ステップ541で入力をシミュレートする。
入力シミュレーションの後、回復カウンタ111はステッ
プ508で次のカウント・ダウン数にリセットされ、処理
が再開される。
間接入力要求の完了による割込が発生していなかった場
合には、ステップ542で、回復モジュール140の動作を必
要としないCPU内部機能の結果として割込が発生したか
確かめられる。CPU内部機能は再実行中自然に繰返され
る動作であり、再実行中回復モジュールでシミュレート
する必要はない(たとえば、0で割ること)。CPU内部
機能による割込であったことがわかった場合には、この
CPU内部割込がステップ543でCPUにより処理される(た
とえば、回復モジュール140により無視される)。回復
カウンタ111はステップ508で次のカウント・ダウン数に
リセットされ、処理が再開される。
内部割込がCPU108によって行われていなければ、障害が
検出された点に到達している。回復カウンタ111がステ
ップ544で障害発生時存在していた値にリセットされ、
ステップ545で回復カウンタが再びイネーブルされ、ス
テップ546で真の実行が再開される。
CPU108は今や通常動作を再開するが、回復モジュール14
0は、回復処理中に完了したこれら障害前入出力要求の
完了をシミュレートするのに必要であるから、回復モー
ドのままになっている。ステップ550で障害前入出力の
完了をシミュレートしなければならないことが確かめら
れれば、回復モジュール140は処理装置に割込みをかけ
て、ステップ554で各障害前で入出力をシミュレートす
る。CPU108のソフトウェアは故障前入出力完了割込を認
識し、必要ならばその実行を修正する。障害前入出力完
了割込がすべてシミュレートされてしまうと、回復モジ
ュール140はステップ558で回復モジュールから抜け出
す。
上記は本発明の一実施例の完全な説明であるが、各種の
変更を加えることができる。たとえば、主制御装置220
は障害が検出されたとき格納モジュール208の内容のフ
ォーマットを整えて表示するようにプログラムすること
ができる。これは、動的なシステム状態が障害に先行す
る期間中に記録されているので、価値ある診断用ツール
となることがある。プロセス実行をこのようにして最初
の状態から障害が検出されたときまで追跡してデバッグ
の助けとすることができる。
したがって、この説明は特許請求の範囲に適格に述べて
ある本発明の範囲を限定するのに使用すべきではない。
〔発明の効果〕
以上説明したように、本発明によれば、システムに障害
が発生した場合に、正常であることが確認されている時
点まで戻って障害発生までの動作を入出力まで考慮に入
れて再試行するという障害回復を過大な費用やオーバヘ
ッドの負担なしに行なうことができる。
【図面の簡単な説明】
第1図は本発明の一実施例を組込んだ計算システムを示
す図、第2図は第1図中の回復モジュールの構成例を示
す図、第3図は障害回復の準備のための動作における時
間関係を示す図、第4図は本発明の一実施例における障
害回復の準備のための動作のフローチャート、第5A図な
いし第5C図は本発明の一実施例における障害回復動作の
フローチャートである。 104:計算システム,108:CPU,109:CPUレジスタ,111:回復
カウンタ,112:キャッシュ・メモリ,120:主記憶,128:I/
O,140:回復モジュール,204:回復制御モジュール,208:格
納モジュール。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】以下のステップ(a)ないし(c)を含む
    コンピュータ・システムの障害回復方法: (a)初期チェックポイントを記録する:前記初期チェ
    ックポイントはチェックポイント期間開始時の中央処理
    装置レジスタとキャッシュ・メモリの内容を含む; (b)前記初期チェックポイントを記録した後に実行さ
    れた命令をカウントする; (c)前記初期チェックポイントを記録した後に起こっ
    た情報転送を記録する:前記情報転送はチェックポイン
    ト期間内の入出力制御装置から前記中央処理装置へ直接
    転送されたデータと前記キャッシュ・メモリから前記中
    央処理装置へ転送されたデータと前記中央処理装置への
    割込によるデータとを含む。
  2. 【請求項2】前記情報転送を記録するステップは実行さ
    れた命令を計数して記録するステップを含むことを特徴
    とする特許請求の範囲第1項記載の障害回復方法。
  3. 【請求項3】前記初期チェックポイントを記録するステ
    ップは、その直前のチェックポイント期間の終了時点に
    おいて、前記キャッシュ・メモリ中に存在するデータの
    うちでその時点までに前記中央処理装置によって変更さ
    れていたがまだ記録されていない古いデータを記録する
    ステップを含むことを特徴とする特許請求の範囲第1項
    記載の障害回復方法。
  4. 【請求項4】前記古いデータを記録するステップは、前
    回のチェックポイント期間の終了時点に存在した古いデ
    ータをそれに引き続くチェックポイント期間に記録する
    ステップを含むことを特徴とする特許請求の範囲第3項
    記載の障害回復方法。
  5. 【請求項5】定められた量のデータがチェックポイント
    記録部にあることを検出するステップと、 前記検出するステップでの検出に応答して前記コンピュ
    ータ・システム中の命令の実行を停止するステップと、 前回のチェックポイントの期間の終了時点に前記キャッ
    シュ・メモリ中に存在した古いデータの記録を完了させ
    るステップ を設けたことを特徴とする特許請求の範囲第3項記載の
    障害回復方法。
  6. 【請求項6】障害が発生したとき、前記コンピュータ・
    システムをチェックポイント期間の開示時点のシステム
    状態に復元するステップと、 前記復元されたシステム状態から始めて、前記障害の発
    生までに当該チェックポイント期間中に実行されたもの
    と実質的に同じ命令シーケンスを実行するステップと、 前記復元されたシステム状態から始めて前記障害の発生
    までに当該チェックポイント期間中に起こったものと同
    じ順序の入力を再現するステップ を含むことを特徴とする特許請求の範囲第1項ないし第
    5項のいずれかに記載の障害回復方法。
  7. 【請求項7】前記復元されたシステム状態から始めて前
    記障害の発生までに当該チェックポイント期間中に起こ
    ったものと同じ順序の出力動作を再現するとともに当該
    出力動作が実際に出力を与えることを抑止するステップ
    を設けたことを特徴とする特許請求の範囲第6項記載の
    障害回復方法。
  8. 【請求項8】前記入力及び出力動作の再現は、前記障害
    の発生前の対応する入力及び出力動作が起こった命令点
    において行われることを特徴とする特許請求の範囲第7
    項記載の障害回復方法。
  9. 【請求項9】前記入力を再現するステップは、記録され
    た割込と割込の間の命令数を計算することにより前記中
    央処理装置への間接入力を再現するステップを含むこと
    を特徴とする特許請求の範囲第8項記載の障害回復方
    法。
  10. 【請求項10】前記間接入力を再現するステップは、前
    記障害の発生前において間接入力の完了に基づく割込が
    発生したのと同一の命令点においてトラップを発生する
    ことを特徴とする特許請求の範囲第9項記載の障害回復
    方法。
  11. 【請求項11】前記障害の発生までに当該チェックポイ
    ント期間中に実行されたものと実質的に同じ命令シーケ
    ンスの実行が前記障害の発生した命令点と同一の命令点
    に到達した段階でこの命令シーケンスの実行を停止する
    ことを特徴とする特許請求の範囲第10項記載の障害回復
    方法。
  12. 【請求項12】前記命令シーケンスの実行の停止後も、
    その停止前に前記中央処理装置から発せられた入出力要
    求の完了をシミュレートすることを特徴とする特許請求
    の範囲第11項記載の障害回復方法。
JP62159552A 1986-06-27 1987-06-26 障害回復方法 Expired - Lifetime JPH07117903B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US879244 1986-06-27
US06/879,244 US4740969A (en) 1986-06-27 1986-06-27 Method and apparatus for recovering from hardware faults

Publications (2)

Publication Number Publication Date
JPS638835A JPS638835A (ja) 1988-01-14
JPH07117903B2 true JPH07117903B2 (ja) 1995-12-18

Family

ID=25373723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62159552A Expired - Lifetime JPH07117903B2 (ja) 1986-06-27 1987-06-26 障害回復方法

Country Status (2)

Country Link
US (1) US4740969A (ja)
JP (1) JPH07117903B2 (ja)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US4996641A (en) * 1988-04-15 1991-02-26 Motorola, Inc. Diagnostic mode for a cache
JPH0752399B2 (ja) * 1988-06-30 1995-06-05 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 記憶システム
US5832202A (en) * 1988-12-28 1998-11-03 U.S. Philips Corporation Exception recovery in a data processing system
JP2714091B2 (ja) * 1989-01-09 1998-02-16 株式会社日立製作所 フィールド計器
US5077768A (en) * 1989-02-20 1991-12-31 Fuji Photo Film Co., Ltd. Fault detection and recovery device used in a radiation imaging information processing system
US5651362A (en) * 1989-03-29 1997-07-29 Fuji Photo Film Co., Ltd. Support apparatus for use with radiation image information processing system
US5564012A (en) * 1989-03-29 1996-10-08 Fuji Photo Film Co., Ltd. Support apparatus for use with radiation image information processing system
US5257358A (en) * 1989-04-18 1993-10-26 Nec Electronics, Inc. Method for counting the number of program instruction completed by a microprocessor
GB8915875D0 (en) * 1989-07-11 1989-08-31 Intelligence Quotient United K A method of operating a data processing system
US5283763A (en) * 1989-09-21 1994-02-01 Ncr Corporation Memory control system and method
EP0529303A3 (en) * 1991-08-29 1993-09-22 International Business Machines Corporation Checkpoint synchronization with instruction overlap enabled
US5592675A (en) * 1992-01-08 1997-01-07 Hitachi, Ltd. Computer controlled method and system capable of preserving information representing plural work states and recovering the work states
JPH06214897A (ja) * 1992-12-14 1994-08-05 E Syst Inc 誤り状態検出時に周辺装置に記憶したデータの損失を最少にする方法
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
JPH0827733B2 (ja) * 1993-07-06 1996-03-21 日本電気株式会社 障害処理システム
GB2281986B (en) * 1993-09-15 1997-08-06 Advanced Risc Mach Ltd Data processing reset
AU2663095A (en) * 1994-06-10 1996-01-05 Sequoia Systems, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5551043A (en) * 1994-09-07 1996-08-27 International Business Machines Corporation Standby checkpoint to prevent data loss
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
JP3020833B2 (ja) * 1995-06-19 2000-03-15 株式会社東芝 チェックポイント取得システム
JP3086779B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 メモリ状態復元装置
US5630047A (en) * 1995-09-12 1997-05-13 Lucent Technologies Inc. Method for software error recovery using consistent global checkpoints
US5752062A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system
US5949971A (en) * 1995-10-02 1999-09-07 International Business Machines Corporation Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system
US5751945A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system
US5797019A (en) * 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
US5729726A (en) * 1995-10-02 1998-03-17 International Business Machines Corporation Method and system for performance monitoring efficiency of branch unit operation in a processing system
US5691920A (en) * 1995-10-02 1997-11-25 International Business Machines Corporation Method and system for performance monitoring of dispatch unit efficiency in a processing system
US5748855A (en) * 1995-10-02 1998-05-05 Iinternational Business Machines Corporation Method and system for performance monitoring of misaligned memory accesses in a processing system
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US5751939A (en) * 1995-11-29 1998-05-12 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory
US5745672A (en) * 1995-11-29 1998-04-28 Texas Micro, Inc. Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5931954A (en) * 1996-01-31 1999-08-03 Kabushiki Kaisha Toshiba I/O control apparatus having check recovery function
US5898815A (en) * 1996-02-13 1999-04-27 National Semiconductor Corporation I/O bus interface recovery counter dependent upon minimum bus clocks to prevent overrun and ratio of execution core clock frequency to system bus clock frequency
US5655072A (en) * 1996-04-12 1997-08-05 Samsung Information Systems America Method and apparatus for testing a sytem component with test checkpointing
US5825788A (en) 1996-05-20 1998-10-20 Micron Technology Inc. Data ordering for cache data transfer
JP2916420B2 (ja) * 1996-09-04 1999-07-05 株式会社東芝 チェックポイント処理加速装置およびデータ処理方法
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
US5854928A (en) * 1996-10-10 1998-12-29 Hewlett-Packard Company Use of run-time code generation to create speculation recovery code in a computer system
TW355762B (en) * 1996-12-26 1999-04-11 Toshiba Co Ltd Checkpoint rollback I/O control device and I/O control method
JPH10320274A (ja) * 1997-03-19 1998-12-04 Toshiba Corp キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体
DE19827432C2 (de) * 1997-07-25 2001-07-26 Siemens Ag Verfahren zur Speicherung von Rechner-Zustandsdaten bei einem Störfall, der ein anschließendes Wieder-Hochfahren des Rechners erfordert
DE19742446B4 (de) * 1997-09-26 2006-05-24 Daimlerchrysler Ag Fehlerdiagnoseverfahren
US6199055B1 (en) * 1997-11-05 2001-03-06 E-Stamp Corporation System and method for providing fault tolerant transcriptions over an unsecured communication channel
US6122752A (en) * 1998-06-19 2000-09-19 At&T Corporation System and method for characterizing and repairing intelligent systems
EP1185928A1 (en) 1998-12-16 2002-03-13 Kent Ridge Digital Labs Process oriented computing environment
US6453430B1 (en) * 1999-05-06 2002-09-17 Cisco Technology, Inc. Apparatus and methods for controlling restart conditions of a faulted process
JP2000322283A (ja) * 1999-05-06 2000-11-24 Fujitsu Ltd 電子計算機の障害検出方法
EP1160952A3 (en) * 2000-05-29 2004-05-26 Omron Corporation Power supply module and power supply unit using the same
US6810489B1 (en) * 2000-09-06 2004-10-26 Hewlett-Packard Development Company, L.P. Checkpoint computer system utilizing a FIFO buffer to re-synchronize and recover the system on the detection of an error
JP3877519B2 (ja) * 2000-12-15 2007-02-07 株式会社日立製作所 システム回復方法およびその実施計算機システム並びにその処理プログラムを記録した記録媒体
FR2818426A1 (fr) * 2000-12-18 2002-06-21 Schlumberger Systems & Service Dispositif et procede de securisation de zones de donnees dans une carte a puce
US6829719B2 (en) 2001-03-30 2004-12-07 Transmeta Corporation Method and apparatus for handling nested faults
US6820216B2 (en) * 2001-03-30 2004-11-16 Transmeta Corporation Method and apparatus for accelerating fault handling
JP3804823B2 (ja) * 2001-07-03 2006-08-02 日本電気株式会社 障害回復機能を備えたキャッシュシステムとそのキャッシュ制御方法
US7058849B2 (en) * 2002-07-02 2006-06-06 Micron Technology, Inc. Use of non-volatile memory to perform rollback function
US7849450B1 (en) * 2005-01-28 2010-12-07 Intel Corporation Devices, methods and computer program products for reverse execution of a simulation
US7380065B2 (en) * 2005-03-30 2008-05-27 International Business Machines Corporation Performance of a cache by detecting cache lines that have been reused
US8924782B2 (en) 2007-01-26 2014-12-30 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for recovering an application from a fault or attack
US7689868B2 (en) * 2007-06-22 2010-03-30 Sony Computer Entertainment Inc. Memory handling techniques to facilitate debugging
US8549267B2 (en) 2009-12-22 2013-10-01 Intel Corporation Methods and apparatus to manage partial-commit checkpoints with fixup support
US9372766B2 (en) * 2014-02-11 2016-06-21 Saudi Arabian Oil Company Circumventing load imbalance in parallel simulations caused by faulty hardware nodes
WO2018103045A1 (zh) * 2016-12-08 2018-06-14 华为技术有限公司 测试点的创建方法,装置和系统
DE102018127082A1 (de) * 2018-10-30 2020-04-30 Infineon Technologies Ag Verfahren zum Betreiben eines Mikrocontrollers und Mikrocontroller
CN119248578B (zh) * 2024-12-06 2025-05-02 芯科集成电路(苏州)有限公司 一种微处理器故障恢复装置及方法、芯片

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3564506A (en) * 1968-01-17 1971-02-16 Ibm Instruction retry byte counter
US3654448A (en) * 1970-06-19 1972-04-04 Ibm Instruction execution and re-execution with in-line branch sequences
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
US3784801A (en) * 1972-07-12 1974-01-08 Gte Automatic Electric Lab Inc Data handling system error and fault detecting and discriminating maintenance arrangement
US3937938A (en) * 1974-06-19 1976-02-10 Action Communication Systems, Inc. Method and apparatus for assisting in debugging of a digital computer program
US4044337A (en) * 1975-12-23 1977-08-23 International Business Machines Corporation Instruction retry mechanism for a data processing system
US4459658A (en) * 1982-02-26 1984-07-10 Bell Telephone Laboratories Incorporated Technique for enabling operation of a computer system with a consistent state of a linked list data structure after a main memory failure
US4514846A (en) * 1982-09-21 1985-04-30 Xerox Corporation Control fault detection for machine recovery and diagnostics prior to malfunction
JPS59119450A (ja) * 1982-12-25 1984-07-10 Fujitsu Ltd マシン・チエツク処理方式

Also Published As

Publication number Publication date
US4740969A (en) 1988-04-26
JPS638835A (ja) 1988-01-14

Similar Documents

Publication Publication Date Title
JPH07117903B2 (ja) 障害回復方法
EP0479230B1 (en) Recovery method and apparatus for a pipelined processing unit of a multiprocessor system
JP2514208B2 (ja) ホットスタンドバイメモリ−コピ−方式
US4852092A (en) Error recovery system of a multiprocessor system for recovering an error in a processor by making the processor into a checking condition after completion of microprogram restart from a checkpoint
US20100037096A1 (en) System-directed checkpointing implementation using a hypervisor layer
JP5392594B2 (ja) 仮想計算機冗長化システム、コンピュータシステム、仮想計算機冗長化方法、及びプログラム
JPH02202638A (ja) 多重プロセッサを備えたフォールトトレラントなコンピュータシステム
JPS6240547A (ja) 誤り回復装置
JPH02202636A (ja) フォールトトレラントな能力を備えたコンピュータ
JPH0619722B2 (ja) コンピユータの状態をセーブする装置
JP3481737B2 (ja) ダンプ採取装置およびダンプ採取方法
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
JPS58121457A (ja) 情報処理装置
US6810489B1 (en) Checkpoint computer system utilizing a FIFO buffer to re-synchronize and recover the system on the detection of an error
CN109343986B (zh) 处理内存故障的方法与计算机系统
JPH07141176A (ja) コマンドリトライ制御方式
JPS6119061B2 (ja)
JPH10240620A (ja) コンピュータシステムおよび同システムにおけるチェックポイントイメージ保存方法
JPS641809B2 (ja)
JPS6095663A (ja) 2重化磁気デイスク装置の自動切換装置
JP3463696B2 (ja) オンラインガーベッジコレクション処理方法
JP2919457B1 (ja) 二重化装置i/o制御方式およびそのプログラム記録媒体
JPH0793173A (ja) コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法
JPS6119060B2 (ja)
JPS6130296B2 (ja)

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071218

Year of fee payment: 12