(57)【特許請求の範囲】
【請求項１】
プロセッサ、メモリ、チップセットを搭載する複数のプロセッサボードを備えるコンピュータ装置において、
運用中の前記プロセッサボードのプロセッサ内部で訂正不可能な障害が発生した場合、
障害が発生した前記プロセッサボードが、キャッシュ上のデータのうち、前記障害によって不定となったデータを無効化した後、それ以外の有効なデータと、運用中の前記プロセッサの内部状態を示す情報を前記メモリに保存し、前記メモリに保存した有効なデータと前記プロセッサの内部状態を示す情報を、予備用のプロセッサボードのメモリにコピーし、
前記予備用のプロセッサボードが、前記メモリにコピーされたプロセッサの内部状態を示す情報を読み出して当該プロセッサへコピーし、前記障害の発生時に実行していた命令を再実行する
ことを特徴とするコンピュータ装置。
【請求項２】
前記障害が発生した前記プロセッサボードが、前記チップセット内の設定値を、前記予備用のプロセッサボードの前記チップセットの設定値と入れ替えることを特徴とする請求項１に記載のコンピュータ装置。
【請求項３】
障害が発生した前記プロセッサボードが、前記障害のログを解析して、データ・キャッシュ、キャッシュ・レベル、ターゲット・アドレス、データサイズを特定し、これらの情報に基づいて、前記障害によって不定となったデータを特定する
ことを特徴とする請求項１又は請求項２に記載のコンピュータ装置。
【請求項４】
前記予備用のプロセッサボードが、前記メモリにコピーされた前記プロセッサの内部状態を示す情報を読み出して当該プロセッサボードのプロセッサへコピーし、命令実行アドレスを前記障害の発生時に実行していた命令のアドレスへ書き換えることで、前記命令を再実行することを特徴とする請求項１から請求項３の何れかに記載のコンピュータ装置。
【請求項５】
運用中の前記プロセッサボードが複数のプロセッサを搭載する場合、全てのプロセッサの内部状態を示す情報を、前記メモリ上に保存し、
前記予備用のプロセッサボードが、前記メモリにコピーされた前記プロセッサの内部状態を示す情報を、全てのプロセッサへコピーすることを特徴とする請求項１から請求項４の何れかに記載のコンピュータ装置。
【請求項６】
プロセッサ、メモリ、チップセットを搭載する複数のプロセッサボードを備えるコンピュータ装置の運用継続方法であって、
運用中の前記プロセッサボードのプロセッサ内部で訂正不可能な障害が発生した場合、
障害が発生した前記プロセッサボードが、キャッシュ上のデータのうち、前記障害によって不定となったデータを無効化した後、それ以外の有効なデータと、運用中の前記プロセッサの内部状態を示す情報を前記メモリに保存し、前記メモリに保存した有効なデータと前記プロセッサの内部状態を示す情報を、前記予備用のプロセッサボードのメモリにコピーし、
前記予備用のプロセッサボードが、前記メモリにコピーされたプロセッサの内部状態を示す情報を読み出して当該プロセッサへコピーし、前記障害の発生時に実行していた命令を再実行する
ことを特徴とするコンピュータ装置の運用継続方法。
【請求項７】
前記障害が発生した前記プロセッサボードが、前記チップセット内の設定値を、前記予備用のプロセッサボードの前記チップセットの設定値と入れ替えることを特徴とする請求項６に記載のコンピュータ装置の運用継続方法。
【請求項８】
障害が発生した前記プロセッサボードが、前記障害のログを解析し、データ・キャッシュ、キャッシュ・レベル、ターゲット・アドレス、データサイズを特定し、これらの情報に基づいて、前記障害によって不定となったデータを特定する
ことを特徴とする請求項６又は請求項７に記載のコンピュータ装置の運用継続方法。
【請求項９】
前記予備用のプロセッサボードが、前記メモリにコピーされた前記プロセッサの内部状態を示す情報を読み出して当該プロセッサボードのプロセッサへコピーし、命令実行アドレスを前記障害の発生時に実行していた命令のアドレスへ書き換えることで、前記命令を再実行することを特徴とする請求項６から請求項８の何れかに記載のコンピュータ装置の運用継続方法。
【請求項１０】
運用中の前記プロセッサボードが複数のプロセッサを搭載する場合、全てのプロセッサの内部状態を示す情報を、前記メモリ上に保存し、
前記予備用のプロセッサボードが、前記メモリにコピーされた前記プロセッサの内部状態を示す情報を、全てのプロセッサへコピーすることを特徴とする請求項６から請求項９の何れかに記載のコンピュータ装置の運用継続方法。
【請求項１１】
プロセッサ、メモリ、チップセットを搭載する複数のプロセッサボードを備えるコンピュータ装置で実行され、前記コンピュータ装置の運用を継続するプログラムであって、
運用中の前記プロセッサボードのプロセッサ内部で訂正不可能な障害が発生した場合、
障害が発生した前記プロセッサボードに、前記キャッシュ上のデータのうち、前記障害によって不定となったデータを無効化した後、それ以外の有効なデータと、運用中の前記プロセッサの内部状態を示す情報を前記メモリに保存し、前記メモリに保存した有効なデータと前記プロセッサの内部状態を示す情報を、前記予備用のプロセッサボードのメモリにコピーする処理を実行させ、
前記予備用のプロセッサボードに、前記メモリにコピーされたプロセッサの内部状態を示す情報を読み出して当該プロセッサへコピーし、前記障害の発生時に実行していた命令を再実行する処理を実行させる
ことを特徴とするプログラム。
【請求項１２】
前記障害が発生した前記プロセッサボードにおいて、前記チップセット内の設定値を、前記予備用のプロセッサボードの前記チップセットの設定値と入れ替える処理を実行させることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
障害が発生した前記プロセッサボードに、前記障害に基づくエラーログを解析し、データ・キャッシュ、キャッシュ・レベル、ターゲット・アドレス、データサイズを特定し、これらの情報に基づいて、前記障害によって不定となったデータを特定する処理を実行させる
ことを特徴とする請求項１１又は請求項１２に記載のプログラム。
【請求項１４】
前記予備用のプロセッサボードにおいて、前記メモリにコピーされた前記プロセッサの内部状態を示す情報を読み出して当該プロセッサボードのプロセッサへコピーし、命令実行アドレスを前記障害の発生時に実行していた命令のアドレスへ書き換えることで、前記命令を再実行する処理を実行させることを特徴とする請求項１１から請求項１３の何れかに記載のプログラム。
【請求項１５】
運用中の前記プロセッサボードが複数のプロセッサを搭載する場合、全てのプロセッサの内部状態を示す情報を、前記メモリ上に保存し、
前記予備用のプロセッサボードが、前記メモリにコピーされた前記プロセッサの内部状態を示す情報を、全てのプロセッサへコピーすることを特徴とする請求項１１から請求項１４の何れかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ、メモリ、チップセットを搭載する複数のプロセッサボードを備えるコンピュータ装置に関し、特に、訂正不可能障害が発生した場合に継続運用を可能にするコンピュータ装置、コンピュータ装置の運用継続方法及びプログラムに関する。
【背景技術】
【０００２】
コンピュータ装置が動作中に、メモリから読み出したデータが、プロセッサ内部のバス上で２Ｂｉｔエラーが発生した場合、以下のような対処方法が取られていた。
【０００３】
２Ｂｉｔエラーは訂正できないエラー、すなわち訂正不可能障害であるため、２Ｂｉｔエラーが発生した時点、あるいは、２Ｂｉｔエラーによって不定となったキャッシュ上のデータを参照した時点で、それを検出して、コンピュータ装置を停止させ、故障したプロセッサを自動的に切り離した後、他のプロセッサで再立ち上げを実行する。その後、再度、コンピュータ装置を停止させた後、故障したプロセッサの交換作業を行う。
【０００４】
上記のような対処方法であることから、コンピュータ装置では、プロセッサで訂正不可能な障害が発生した場合、確実に障害を検出することと、短時間で再立ち上げを行うことが求められていた。
【０００５】
しかしながら、コンピュータ装置が普及し、社会基盤として重要な役割を担うようになった昨今、コンピュータ装置に対する連続動作性能、耐故障性能の向上への要求が高まっており、訂正不可能障害が発生した場合でも、コンピュータ装置の継続動作を可能とし、かつコンピュータ装置を停止することなくプロセッサ交換を可能とする新たな方法が求められる。
【０００６】
コンピュータ装置に障害が発生した場合に、コンピュータ装置を停止することなく継続運用を可能とする技術としては、例えば、特許文献１に記載されている技術がある。
【０００７】
特許文献１に記載のコンピュータ装置では、間欠障害が発生したプロセッサボードのメモリデータ及びプロセッサの内部情報を、交換用のプロセッサボードのメモリ及びプロセッサにコピーすることで、障害が発生したプロセッサボードから交換用のプロセッサボードに動作を切り替える。これによって、コンピュータ装置を停止することなく運用を継続する。
【特許文献１】特開２００３−２５６３９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
コンピュータ装置に障害が発生した場合に、コンピュータ装置を停止することなく継続運用を可能とする技術である特許文献１記載の技術は、間欠障害等の訂正可能な障害が発生した場合に、予防保守として動的にプロセッサボードを切り替える方法であるため、２Ｂｉｔエラーのような訂正不可能な障害が発生した場合には適用することができない。従って、訂正不可能な障害が発生した場合には、コンピュータ装置を停止させ、故障したプロセッサを自動的に切り離した後、他のプロセッサで再立ち上げを実行するという、ステップを踏む必要がある。
【０００９】
（発明の目的）
本発明の目的は、訂正不可能な障害が発生した場合でも、コンピュータ装置を停止することなく継続運用を可能とするコンピュータ装置、コンピュータ装置の運用継続方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明によるコンピュータ装置は、プロセッサ、メモリ、チップセットを搭載する複数のプロセッサボードを備えるコンピュータ装置において、運用中のプロセッサボードのプロセッサ内部で訂正不可能な障害が発生した場合、障害が発生したプロセッサボードが、キャッシュ上のデータのうち、障害によって不定となったデータを無効化した後、それ以外の有効なデータと、運用中のプロセッサの内部状態を示す情報をメモリに保存し、メモリに保存した有効なデータとプロセッサの内部状態を示す情報を、予備用のプロセッサボードのメモリにコピーし、予備用のプロセッサボードが、メモリにコピーされたプロセッサの内部状態を示す情報を読み出して当該プロセッサへコピーし、障害の発生時に実行していた命令を再実行する。
【００１１】
本発明によるコンピュータ装置の運用継続方法は、プロセッサ、メモリ、チップセットを搭載する複数のプロセッサボードを備えるコンピュータ装置の運用継続方法であって、運用中のプロセッサボードのプロセッサ内部で訂正不可能な障害が発生した場合、障害が発生したプロセッサボードが、キャッシュ上のデータのうち、障害によって不定となったデータを無効化した後、それ以外の有効なデータと、運用中のプロセッサの内部状態を示す情報をメモリに保存し、メモリに保存した有効なデータとプロセッサの内部状態を示す情報を、予備用のプロセッサボードのメモリにコピーし、予備用のプロセッサボードが、メモリにコピーされたプロセッサの内部状態を示す情報を読み出して当該プロセッサへコピーし、障害の発生時に実行していた命令を再実行する。
【００１２】
本発明によるプログラムは、プロセッサ、メモリ、チップセットを搭載する複数のプロセッサボードを備えるコンピュータ装置で実行され、コンピュータ装置の運用を継続するプログラムであって、運用中のプロセッサボードのプロセッサ内部で訂正不可能な障害が発生した場合、障害が発生したプロセッサボードに、キャッシュ上のデータのうち、障害によって不定となったデータを無効化した後、それ以外の有効なデータと、運用中のプロセッサの内部状態を示す情報をメモリに保存し、メモリに保存した有効なデータとプロセッサの内部状態を示す情報を、予備用のプロセッサボードのメモリにコピーする処理を実行させ、予備用のプロセッサボードに、メモリにコピーされたプロセッサの内部状態を示す情報を読み出して当該プロセッサへコピーし、障害の発生時に実行していた命令を再実行する処理を実行させる。
【発明の効果】
【００１３】
本発明によれば、訂正不可能な障害が発生した場合でも、コンピュータ装置を停止することなく継続運用が可能となる。
【発明を実施するための最良の形態】
【００１４】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
図１に、本発明の実施の形態によるコンピュータ装置の構成を示す。図１において、本実施の形態によるコンピュータ装置１０は、プロセッサボード１００、予備プロセッサボード２００、ＯＳ３００を備えて構成される。
【００１６】
プロセッサボード１００は、複数のプロセッサ（ＣＰＵ１００−０〜ＣＰＵ１００−ｎ）と、ＣＰＵ１００−０〜ＣＰＵ１００−ｎにバス１０１を介して接続されるチップセット１０２及びメモリ１０３を搭載して構成される。
【００１７】
予備プロセッサボード２００も同様に、複数のプロセッサ（ＣＰＵ２００−０〜ＣＰＵ２００−ｎ）、ＣＰＵ２００−０〜ＣＰＵ２００−ｎにバス２０１を介して接続されるチップセット２０２及びメモリ２０３を搭載して構成される。予備プロセッサボード２００は、運用中のプロセッサボード１００において障害が発生した場合に、プロセッサボード１００上のプロセッサによる運用を継続する。
【００１８】
なお、プロセッサボード１００のプロセッサであるＣＰＵ１００−０〜１００−ｎ、予備プロセッサボード２００のプロセッサであるＣＰＵ２００−０〜２００−ｎは、それぞれキャッシュを備えている。
【００１９】
本実施の形態では、説明を簡略化するために、プロセッサボード１００と予備プロセッサボード２００をそれぞれ１枚備える構成を示しているが、これらのプロセッサボードをそれぞれ複数備えることも可能である。
【００２０】
上記のように構成されるコンピュータ装置１０において、通常の運用状態では、プロセッサボード１００上でオペレーティング・システム（ＯＳ）３００が動作している。
【００２１】
また、プロセッサボード１００上にはファームウェアとして実装されているＢＩＯＳ（Ａ）１０４が搭載され、予備プロセッサボード２００上にはファームウェアとして実装されているＢＩＯＳ（Ｂ）２０４が搭載されている。
【００２２】
ＢＩＯＳ（Ｂ）２０４は、予備プロセッサボード２００上において、待機状態にあり、プロセッサボード１００上のＢＩＯＳ（Ａ）１０４からの割り込みを待っている状態にある。
【００２３】
次に、本実施の形態によるコンピュータ装置１０における、訂正不可能障害が発生した場合の動作について、図２から図４のフローチャートを参照して詳細に説明する。
【００２４】
コンピュータ装置１０の運用中、すなわち、ＯＳ３００がプロセッサボード１００上で動作している状態で、プロセッサボード１００上の何れかのＣＰＵ（以下の説明では、図1のＣＰＵ（０）１００−１であるとする）によってメモリ１０３から読み出したデータについて、バス１０１上で２Ｂｉｔエラー（訂正不可能障害）が発生したものとする。この場合、２Ｂｉｔエラーによって不定となったデータがＣＰＵ内部のキャッシュ上に残ることになる。
【００２５】
図２において、ＣＰＵ（０）１００−１が２Ｂｉｔエラーを検出する（ステップＳ１０１）と、ＢＩＯＳ（Ａ）１０４へ割り込みをかける（ステップＳ１０２）。
【００２６】
ＢＩＯＳ（Ａ）１０４は、割り込み処理（１）を実行し、ＣＰＵ１００−０のキャッシュ上の不定なデータを無効化し（ステップＳ１０３）、その後、キャッシュ内の有効なデータのみをメモリ１０３へ書き戻す（ステップＳ１０４）。
【００２７】
ここで、ＢＩＯＳ（Ａ）１０４の割り込み処理（１）によるステップＳ１０３、Ｓ１０４の詳細な処理内容について、図３のフローチャートを用いて説明する。
【００２８】
上記のように、ＣＰＵが２Ｂｉｔエラーを検出すると、ＢＩＯＳ（Ａ）１０４へ割り込みをかけ、割り込み処理（１）が開始する。
【００２９】
ＢＩＯＳ（Ａ）１０４の割り込み処理（１）は、２Ｂｉｔエラーのログを収集（ステップＳ２０１）し、収集したログの解析を行う（ステップＳ２０２）。
【００３０】
このログの解析において、具体的には、図４に示すように、データ・キャッシュのエラーであるかどうか（ステップＳ２０３）、メモリからのＬＯＡＤ命令であるかどうか（ステップＳ２０４）、メモリ上のターゲット・アドレスが有効であるかどうか（ステップＳ２０５）を判定する。ステップＳ２０３〜Ｓ２０５の何れかの判定結果がＮＯである場合には、データ・キャッシュ上の２Ｂｉｔエラーが発生したデータを特定することができないため、ＢＩＯＳ（Ａ）１０４による割り込み処理（１）を終了する。
【００３１】
ステップＳ２０３〜Ｓ２０５の全ての判定結果がＹＥＳである場合、割り込み処理（１）は、ログからターゲット・アドレスを取り出す（ステップＳ２０６）。
【００３２】
また、キャッシュのレベルを取り出す（ステップＳ２０７）。
【００３３】
さらに、ＬＯＡＤ命令のオペランドを分析してメモリからＬＯＡＤしたデータのサイズを特定する（ステップＳ２０８）。
【００３４】
ここで、ＢＩＯＳ（Ａ）１０４の割り込み処理（１）は、２Ｂｉｔエラーのログ解析を終了し、ターゲット・アドレス、キャッシュのレベル、ロードしたデータのサイズによって、２Ｂｉｔエラーが発生したキャッシュ上のデータを特定する（ステップＳ２０９）。
【００３５】
すなわち、特定したキャッシュ・レベルに位置するデータ・キャッシュ上に２Ｂｉｔエラーによって不定となったデータが、データ・サイズ分、ターゲット・アドレスと共に保持されていることを特定する。
【００３６】
次に、特定した不定なデータのキャッシュ上の状態を、Invalid（無効）へ書き換える（ステップＳ２１０）。このステップＳ２１０によって、キャッシュ上の不定なデータが無効となる。
【００３７】
このステップＳ２１０による処理を行うためには、データ・キャッシュ、キャッシュ・レベル、ターゲット・アドレス、データ・サイズを特定する必要があり、そのためには、ステップＳ２０２〜Ｓ２０５、ステップＳ２０６、ステップＳ２０７、ステップＳ２０８が必要であり、ステップＳ２０９にて、２Ｂｉｔエラーが発生したデータの特定を完了させておく必要がある。
【００３８】
次に、ＢＩＯＳ（Ａ）１０４の割り込み処理（１）は、特定した不定なデータのキャッシュ上の状態を読み出す（ステップＳ２１１）。
【００３９】
特定した不定なデータのキャッシュ上の状態がInvalid（無効）となっているかを判別する（ステップＳ２１２）。
【００４０】
Invalidに変わったことを確認すると、２Ｂｉｔエラーによって不定となったデータの無効化を完了する（ステップＳ２１３）。
【００４１】
最後に、ＢＩＯＳ（Ａ）の１０４割り込み処理（１）は、キャッシュ上の全ての有効なデータをメモリ１０３へ書き出す（ステップＳ２１４）ことにより、処理を終了する。
【００４２】
次に、図２に戻り、ステップＳ１０３、ステップＳ１０４以後の動作について説明する。
【００４３】
ＢＩＯＳ（Ａ）１０４は、プロセッサボード１００上の全てのプロセッサの内部状態を示す情報（プロセッサ内部のレジスタに格納されているレジスタ・データ、動作中のプロセスのコンテキスト情報を含む）を、メモリ１０３上に保存する（ステップＳ１０５）。
【００４４】
このとき、マルチ・プロセッサ構成の場合、ＢＩＯＳ（Ａ）１０４は、他の全てのプロセッサへ割り込みを送ることで、全てのプロセッサをＢＩＯＳ（Ａ）１０４の割り込み処理へ遷移させて、全てのプロセッサの内部状態を示す情報（プロセッサ内部のレジスタに格納されているレジスタ・データ、動作中のプロセスのコンテキスト情報を含む）を、メモリ１０３上に保存する。
【００４５】
次に、ＢＩＯＳ（Ａ）１０４は、プロセッサボード１００のメモリ１０３上の全てのデータを、予備プロセッサボード２００上のメモリ２０３へコピーする（ステップＳ１０６）。
【００４６】
このとき、ＢＩＯＳ（Ａ）１０４は、プロセッサボード１００上のチップセット１０２が持つメモリ・コピー機能を利用して、プロセッサボード１００のメモリ１０３上の全てのデータを、予備プロセッサボード２００上のメモリ２０３へコピーする。
【００４７】
次に、ＢＩＯＳ（Ａ）１０４は、プロセッサボード１００上のチップセット１０２の設定値と、予備プロセッサボード２００上のチップセット２０２の設定値を入れ替える（ステップＳ１０７）。
【００４８】
このステップＳ１０７によって、例えば、プロセッサボード１００上のメモリ１０３に割り当てられたアドレスと、予備プロセッサボード２００上のメモリ２０３に割り当てられたアドレスとの入れ替え等が行われる。
【００４９】
次に、ＢＩＯＳ（Ａ）１０４は、予備プロセッサボード２００上のＢＩＯＳ（Ｂ）２０４へ割り込みをかけ（ステップＳ１０８）、予備プロセッサボード２００上の全てのプロセッサをＢＩＯＳ（Ｂ）２０４が持つ割り込み処理（２）へ移入させる。
【００５０】
そして、ＢＩＯＳ（Ｂ）２０４は、ＢＩＯＳ（Ａ）１０４がステップＳ１０６においてメモリ２０３上に保存したプロセッサ内部状態のうち、レジスタ・データを読み出し、予備プロセッサボード２００上の全てのプロセッサのレジスタへコピーする（ステップＳ１０９）。
【００５１】
また、ＢＩＯＳ（Ｂ）２０４は、ＢＩＯＳ（Ａ）１０４がステップＳ１０６においてメモリ２０３上に保存したプロセッサ内部状態のうち、プロセスのコンテキスト情報を予備プロセッサボード２００上の全てのプロセッサへコピーする（ステップＳ１０９）。
【００５２】
このとき、プロセスのコンテキスト情報の中には、２Ｂｉｔエラーが検出された時点で実行していた命令のアドレスが残っているため、ＢＩＯＳ（Ｂ）２０４は、命令実効アドレスをそのアドレスに書き換え、予備プロセッサボード２００側のプロセッサで命令の再実行を行う（ステップＳ１１０）。この命令の再実行によって、２Ｂｉｔエラーとなったデータをメモリ２０３から再度読み直すことで、コンピュータ装置の運用が継続可能となる。
【００５３】
ここで、ステップＳ１０９、ステップＳ１１０の動作の詳細な内容について、図４のフローチャートを用いて詳細に説明する。
【００５４】
ステップＳ１０８にて、ＢＩＯＳ（Ａ）１０４が、予備プロセッサボード２００上のＢＩＯＳ（Ｂ）２０４へ割り込みをかけると、予備プロセッサボード２００上の全てのプロセッサ上が、ＢＩＯＳ（Ｂ）２０４が持つ割り込み処理（２）へ移入する。
【００５５】
先ず始めに、ＢＩＯＳ（Ｂ）２０４の割り込み処理（２）は、ＢＩＯＳ（Ａ）１０４が図１のステップＳ１０６においてメモリ２０３上に保存しておいたプロセッサ内部状態のうち、レジスタ・データを読み出す（ステップＳ３０１）。
【００５６】
次に、割り込み処理（２）は、読み出したレジスタ・データを予備プロセッサボード２００上の全てのプロセッサ内部のレジスタへ書き込む（ステップＳ３０２）。
【００５７】
次に、割り込み処理（２）は、ＢＩＯＳ（Ａ）１０４が図１のステップＳ１０６においてメモリ２０３上に保存しておいたロセッサ内部状態のうち、プロセスのコンテキスト情報を読み出す（ステップＳ３０３）。
【００５８】
そして、割り込み処理（２）は、読み出したプロセスのコンテキスト情報を予備プロセッサボード２００上の全てのプロセッサ内部へ書き込む（ステップＳ３０４）。
【００５９】
ここで、プロセッサ内部に書き込まれるコンテキスト情報は、命令再開アドレス、データポインタ、スタックポインタなど、ＯＳ３００が動作中に２Ｂｉｔエラーが検出されていた時点に実行していたコンテキストの情報である。
【００６０】
すなわち、ＢＩＯＳ（Ｂ）２０４の割り込み処理（２）は、命令実行アドレス・レジスタを、２Ｂｉｔエラーが検出されていた時点で実行していた命令アドレス、つまり、コンテキスト情報としてメモリ上に保存されていた命令再開アドレスへ値を書き換える（ステップＳ３０５）。
【００６１】
そして、ＢＩＯＳ（Ｂ）２０４の割り込み処理２は、その命令実効アドレスを実行することで、２Ｂｉｔエラーが検出された命令を再実行する（ステップＳ３０６）。この命令の再実行によって、２Ｂｉｔエラーとなったデータをメモリ２０３から再度読み直すことで、コンピュータ装置の運用が継続可能となる。
【００６２】
その後、ＯＳ３００へ制御を戻し運用を継続する（ステップＳ３０７）。すなわち、予備プロセッサボード２００側でＯＳ３００の動作を再開して、コンピュータ装置の運用を継続していく。
【００６３】
（第１の実施の形態による効果）
以上のように、プロセッサボード１００上のＢＩＯＳ（Ａ）１０４と、予備プロセッサボード２００上のＢＩＯＳ（Ｂ）２０４が連携することによって、２Ｂｉｔエラーによって不定となったデータを無効化すると共に、プロセッサの内部状態を示す情報とメモリ上の全てのデータを、プロセッサボード１００から予備プロセッサボード２００へコピーする。また、予備プロセッサボード２００上のＢＩＯＳ（Ｂ）２０４が、命令実効アドレスを２Ｂｉｔエラーが検出された時点で実行していた命令のアドレスへ書き換え、命令を再実行することで、２Ｂｉｔエラーとなったデータを再度メモリから読み出し、予備プロセッサボード２００側でＯＳ３００の動作を再開する。
【００６４】
以上により、コンピュータ装置が動作中に、メモリから読み出したデータが、プロセッサ内部のバス上で２Ｂｉｔエラーとなった場合でも、２Ｂｉｔエラーとなった命令を再実行することで、コンピュータ装置を停止することなく、正常なプロセッサでコンピュータ装置の動作が継続可能となる。
【００６５】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明の第１の実施の形態によるコンピュータ装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態によるコンピュータ装置における訂正不可能障害が発生した場合の動作を説明するフローチャートである。
【図３】図２に示す動作の割り込み処理（１）の詳細な内容を説明するフローチャートである。
【図４】図２に示す動作の割り込み処理（２）の詳細な内容を説明するフローチャートである。
【符号の説明】
【００６７】
１０：コンピュータ装置
１００：プロセッサボード
１００−０〜１００−ｎ：ＣＰＵ
１０１：バス
１０２：チップセット
１０３：メモリ
１０４：ＢＩＯＳ（Ａ）
２００：プロセッサボード
２００−０〜２００−ｎ：ＣＰＵ
２０１：バス
２０２：チップセット
２０３：メモリ
２０４：ＢＩＯＳ（Ｂ）
３００：ＯＳ
【図１】
0005224038.tif 000002
【図２】
0005224038.tif 000003
【図３】
0005224038.tif 000004
【図４】
0005224038.tif 000005