(57)【要約】【課題】  情報処理装置のエラー検出機能に対する診断の精度を向上する。【解決手段】  自装置に擬似障害を発生する擬似障害発生手段と、擬似障害の発生箇所を保存する擬似障害箇所保存手段と、自装置に発生する障害を検出するエラー検出手段と、擬似障害の発生箇所と、エラー検出手段によって検出された障害の箇所とを比較するエラー箇所比較手段と、エラー箇所比較手段による比較結果が「一致」を表わす場合に、エラー検出手段が正常に動作していると判定する判定手段とを備える。【選択図】      図６
2014146110.tif 000002
【特許請求の範囲】
【請求項１】
自装置に擬似障害を発生する擬似障害発生手段と、
前記擬似障害の発生箇所を保存する擬似障害箇所保存手段と、
自装置に発生する障害を検出するエラー検出手段と、
前記擬似障害の発生箇所と、前記エラー検出手段によって検出された障害の箇所とを比較するエラー箇所比較手段と、
前記エラー箇所比較手段による比較結果が「一致」を表わす場合に、前記エラー検出手段が正常に動作していると判定する判定手段とを備える情報処理装置。
【請求項２】
予め定められた時期に前記エラー検出手段の診断処理の開始を指示する診断開始指示手段をさらに備える請求項１に記載の情報処理装置。
【請求項３】
前記診断処理の開始に応じて計測を開始する診断タイマをさらに備え、
前記診断タイマがタイムアウトした場合に、前記判定手段が、前記エラー検出手段は正常に動作していないと判定する請求項２に記載の情報処理装置。
【請求項４】
前記エラー箇所比較手段による比較結果が「不一致」を表わす場合に、前記判定手段が、通常の障害が発生したと判定する請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
情報処理装置が、
自装置に擬似障害を発生させ、
前記擬似障害の発生箇所を保存し、
自装置に発生する障害を検出し、
前記擬似障害の発生箇所と前記検出された障害の箇所とを比較し、
前記比較結果が「一致」を表わす場合に、自装置の障害を検出する機能であるエラー検出機能が正常に動作していると判定するエラー検出機能診断方法。
【請求項６】
前記情報処理装置が、前記擬似障害の発生に先立って、予め定められた時期に前記エラー検出機能の診断処理を開始する請求項５に記載のエラー検出機能診断方法。
【請求項７】
前記診断処理の開始に応じて診断タイマが計測を開始し、
前記診断タイマがタイムアウトした場合に、前記情報処理装置が、前記エラー検出機能は正常に動作していないと判定する請求項６に記載のエラー検出機能診断方法。
【請求項８】
コンピュータに、
自装置に擬似障害を発生させる処理と、
前記擬似障害の発生箇所を保存する処理と、
自装置に発生する障害を検出する処理と、
前記擬似障害の発生箇所と前記検出された障害の箇所とを比較する処理と、
前記比較結果が「一致」を表わす場合に、自装置の障害を検出する機能であるエラー検出機能が正常に動作していると判定する処理とを実行させるコンピュータプログラム。
【請求項９】
コンピュータに、前記擬似障害を発生させる処理に先立って、予め定められた時期に前記エラー検出機能の診断処理を開始する処理を実行させる請求項８に記載のコンピュータプログラム。
【請求項１０】
コンピュータに、
前記診断処理の開始に応じて診断タイマが計測を開始する処理と、
前記診断タイマがタイムアウトした場合に、前記エラー検出機能が正常に動作していないと判定する処理とを実行させる請求項９に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のエラー検出機能を診断する技術に関する。
【背景技術】
【０００２】
コンピュータ装置などの情報処理装置の導入においては、装置の設置および現調（現地調整）の後、一定期間のエージング（稼動試験やならし運転と呼ばれることもある）の期間がとられることがある。これは、本番運用の開始前に、潜在する初期不良の有無や、安定動作を確認するためである。このような導入の手順を経ることにより、偶発的な故障などの障害を除いて、障害が少ない安定した状態で情報処理装置を運用することができる。
【０００３】
その後、情報処理装置は、長期運用されるにつれて故障発生率が高くなる。これは、主に、ハードウェアの劣化などに起因する。
【０００４】
情報処理装置の中には、ハードウェア障害などによるエラーを検出するエラー検出機能を有しているものがある。このようなエラー検出機能により、容易かつ自動的に、情報処理装置に発生した故障を検出することができる。しかしながら、このエラー検出機能自体が故障していた場合、情報処理装置に発生した故障を検出することができない。
【０００５】
エラー検出機能が故障していると、発生している故障が検出されないまま情報処理装置の運用が継続されることがある、このような場合、データが破壊されるなどの問題が発生する可能性がある。このような問題を回避するためには、エラーの有無を確認するのではなく、エラーを正しく検出できることを確認する必要がある。すなわち、エラー検出機能を診断する必要がある。
【０００６】
エラー検出機能を診断する方法として、擬似的な障害を発生させ、その障害に対する障害情報を採取することがある。このような方法の一例が特許文献１に記載されている。特許文献１に記載の擬似障害試験装置は、擬似障害試験実行中を示すマークを障害情報一時書き込み領域に書き込むことにより、擬似障害（擬似的に発生させた障害）と真の障害（故障）とを区別しつつ、エラー検出機能を診断することができる。
【０００７】
また、特許文献２に記載の障害検出システムは、擬似障害信号と、擬似障害信号表示手段を作動させる切り替え信号を出力することにより、擬似障害と真の障害とを区別しつつ、エラー検出機能を診断することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平５−０６６９５８号公報
【特許文献２】特開平７−２６４２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した擬似障害試験装置においては、擬似障害試験実行中を示すマークが書き込まれた直後に発生した真の障害に対して、擬似障害であると判定するという問題点がある。
【００１０】
同様に、上述した障害検出システムにおいては、切り替え信号が出力された直後に発生した真の障害に対して、擬似障害であると判定するという問題点がある。
【００１１】
本発明は、上述した課題を解決しつつ、エラー検出機能を診断することを主たる目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成する本発明に係る情報処理装置は、
自装置に擬似障害を発生する擬似障害発生手段と、
擬似障害の発生箇所を保存する擬似障害箇所保存手段と、
自装置に発生する障害を検出するエラー検出手段と、
擬似障害の発生箇所と、エラー検出手段によって検出された障害の箇所とを比較するエラー箇所比較手段と、
エラー箇所比較手段による比較結果が「一致」を表わす場合に、エラー検出手段が正常に動作していると判定する判定手段とを備える。
【００１３】
また、上記目的を達成する本発明に係るエラー検出機能診断方法は、
情報処理装置が、
自装置に擬似障害を発生させ、
擬似障害の発生箇所を保存し、
自装置に発生する障害を検出し、
擬似障害の発生箇所と検出された障害の箇所とを比較し、
比較結果が「一致」を表わす場合に、自装置の障害を検出する機能であるエラー検出機能が正常に動作していると判定する。
【００１４】
また、上記目的を達成する本発明に係るコンピュータプログラムは、
コンピュータに、
自装置に擬似障害を発生させる処理と、
擬似障害の発生箇所を保存する処理と、
自装置に発生する障害を検出する処理と、
擬似障害の発生箇所と検出された障害の箇所とを比較する処理と、
比較結果が「一致」を表わす場合に、自装置の障害を検出する機能であるエラー検出機能が正常に動作していると判定する処理とを実行させる。
【発明の効果】
【００１５】
本発明によれば、情報処理装置のエラー検出機能に対する診断の精度を向上する。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係るコンピュータの構成を表すブロック構成図である。
【図２】エラー検出機能診断を開始する処理を説明するフローチャートである。
【図３】エラー検出機能診断処理の開始時処理を説明するフローチャートである。
【図４】ハードウェアエラー発生時の処理を説明するフローチャートである。
【図５】エラー検出機能診断処理の開始後、一定時間、擬似障害の発生を検出しなかった場合の処理を説明するフローチャートである。
【図６】本発明の第１および第２の実施形態に係る情報処理装置の構成を表す機能ブロック図である。
【図７】本発明の第２の実施形態に係るコンピュータの構成を表すブロック構成図である。
【図８】エラー検出機能診断処理の開始時処理を説明するフローチャートである。
【図９】本発明の第３の実施形態に係る情報処理装置の構成を表す機能ブロック図である。
【発明を実施するための形態】
【００１７】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
［第１の実施形態］
図１は、本発明の第１の実施形態に係るコンピュータの構成を表すブロック構成図である。本発明の第１の実施形態に係るコンピュータ１００は、ＣＰＵ(Central Processing Unit)１０１と、メモリ１０２と、チップセット１０３と、ＮＶＲＡＭ(Non-Volatile Random Access Memory)１０４と、ＢＭＣ(Baseboard Management Controller)１０５と、フラッシュメモリ１０６とを備える。
【００１９】
コンピュータ１００は、例えば、サーバコンピュータなどの情報処理装置である。
【００２０】
メモリ１０２は、複数のメモリモジュールを含んでいてもよいし、単一のメモリモジュールでもよい。なお、図１のメモリは、コンピュータ１００に備えられた複数のメモリモジュールが、各々あるいはその全体でメモリ１０２として機能することを表わしている。
【００２１】
チップセット１０３は、各種Ｉ／Ｏ(Input / Output)機器とのインタフェースを有する。
【００２２】
ＮＶＲＡＭ１０４は、不揮発性ＲＡＭと呼ばれることもある。ＮＶＲＡＭ１０４は、ＢＩＯＳ(Basic Input / Output System)の実行コードやコンピュータ１００の設定情報などを格納する。
【００２３】
ＢＭＣ１０５は、コンピュータ１００の管理コントローラである。
【００２４】
フラッシュメモリ１０６は、ＢＭＣ１０５のファームウェアや管理データやログなどを格納する。
【００２５】
チップセット１０３は、タイマ１２０を備える。ＢＭＣ１０５も、タイマ１２１を備える。
【００２６】
チップセット１０３とＢＭＣ１０５とは、ＧＰＩＯ(General Purpose Input / Output)インタフェース１３０およびＫＣＳ(Keyboard Controller Style)インタフェース１３１を介して接続されている。ＧＰＩＯインタフェース１３０は、汎用Ｉ／Ｏインタフェースと呼ばれることもある。チップセット１０３が備えるＧＰＩＯインタフェース１３０との接続ポート（図示しない）は、予め、ＳＭＩ(System Management Interrupt)が発生するように設定されている。ＫＣＳインタフェース１３１は、ＩＰＭＩ(Intelligent Platform Management Interface)通信を行うために使用される。
【００２７】
管理端末２００は、管理者が使用する、コンピュータ端末などの情報処理装置である。管理端末２００とコンピュータ１００とは、ネットワークインタフェース３００を介して、通信可能に接続されている。具体的には、管理端末２００はＢＭＣ１０５と接続されている。
【００２８】
ＢＭＣ１０５は、フラッシュメモリ１０６に格納されているファームウェアコードを実行する。
【００２９】
ＣＰＵ１０１は、コンピュータ１００の起動時にＮＶＲＡＭ１０４からＢＩＯＳのコードを読み込んで実行することにより、コンピュータ１００の初期化処理を行う。その後、ＣＰＵ１０１は、ＯＳ(Operating System)に制御を移す。ＯＳ運用中においては、ＣＰＵ１０１は、ＳＭＩの割込みを受けることにより、一時的にＢＩＯＳのシステム管理コードを実行する。
【００３０】
コンピュータ１００は、ハードウェア障害などによるハードウェアエラーが発生するとＳＭＩが発生するように予め設定されている。
【００３１】
図２〜５は、それぞれ、第１の実施形態に係るコンピュータ１００によるエラー検出機能診断処理に含まれる処理を説明するフローチャートである。以下、図１〜５を参照して、第１の実施形態における、コンピュータ１００によるエラー検出機能診断処理の動作を説明する。
【００３２】
図２は、エラー検出機能診断を開始する処理を説明するフローチャートである。ＢＭＣ１０５に備えられたタイマ１２１は、予め定められたタイミング（時期）に、エラー検出機能診断処理の開始指示を出力する。このタイミングは、例えば１日に１回の特定の時刻のような、定期的な周期のものでもよい。この指示に従い、ＢＭＣ１０５は、ＧＰＩＯインタフェース１３０を通してチップセット１０３にエラー検出機能診断処理の開始指示を示す信号を出力する。この信号を受け付けることにより、チップセット１０３は、ＳＭＩ、すなわちシステム割込みを発生する（ステップＳ２０１）。
【００３３】
図３は、エラー検出機能診断処理の開始時処理を説明するフローチャートである。ＳＭＩが発生すると、ＣＰＵ１０１は、発生したＳＭＩに対応する、ＢＩＯＳのシステム管理コードを実行する。以降の説明において、ＣＰＵ１０１がＢＩＯＳのコードを実行することにより実現する処理を、便宜上、「ＢＩＯＳが」行う処理、のように記載する。例えば、「ＣＰＵ１０１がＢＩＯＳのコードを実行することによりデータを送信する」ことを、「ＢＩＯＳがデータを送信する」のように記載する。
【００３４】
ＳＭＩを受け付けたとき、ＢＩＯＳは、ＫＣＳインタフェース１３１を通してＩＰＭＩ通信を行うことにより、割込みの要因を受け取る（ステップＳ３０１）。割込みの要因が、エラー検出機能診断処理の開始指示であった場合（ステップＳ３０２においてＹＥＳ）、ＢＩＯＳは、チップセット１０３のタイマ１２０を使用して、診断処理のためのタイマ（以降「診断タイマ」と称する）を設定する（ステップＳ３０３）。具体的には、タイマ１２０は、予め定められた時間（タイムアウトまでの時間）の計測を開始する。次に、ＢＩＯＳは、診断処理において擬似障害を発生させる箇所である、擬似障害発生箇所を、メモリ１０２またはＮＶＲＡＭ１０４に保存する（ステップＳ３０４）。そして、ＢＩＯＳは、擬似障害を発生させる（ステップＳ３０５）。例えば、ＢＩＯＳは、ＣＰＵ１０１が有するエラーインジェクション機能を使用することにより、擬似障害を発生させる。ここでは、メモリ１０２に含まれるあるメモリチップのあるメモリアドレスにおいて、メモリ入出力エラーが発生したという擬似障害を発生させたものとする。
【００３５】
なお、割込みの要因が、エラー検出機能診断処理の開始指示ではなかった場合（ステップＳ３０２においてＮＯ）、ステップＳ３０３〜Ｓ３０５の処理は行われない。その代わりに、ＢＩＯＳは、当該割込みに対応する、他の処理を行ってもよい。
【００３６】
以上で、ＢＩＯＳによる、システム割込み（ＳＭＩ）に対する処理の説明を終了する。
【００３７】
図４は、ハードウェアエラー発生時の処理を説明するフローチャートである。なお、ここで説明するハードウェアエラーとは、実際のハードウェアの障害により発生するエラーと、擬似障害により発生するエラーとの両方を含む。
【００３８】
ハードウェアエラーが発生すると、これに対応してＳＭＩが発生する。このようなハードウェアエラーに起因するＳＭＩを受け付けると、ＢＩＯＳは、エラー（障害）が発生した箇所を、例えばハードウェアレジスタを参照することにより特定する（ステップＳ４０１）。次に、ＢＩＯＳは、メモリ１０２またはＮＶＲＡＭ１０４に保存された擬似障害発生箇所を参照する。そして、この擬似障害発生箇所が、ステップＳ４０１で特定されたエラー箇所と一致するかどうかを判定する（ステップＳ４０２）。ここでは、ステップＳ４０１においてメモリ入出力エラーが検出されたものとする。この場合、ＢＩＯＳは、メモリ入出力エラーにおける発生箇所（メモリモジュール，メモリアドレス）が一致するかどうかを判定する。
【００３９】
ステップＳ４０２における判定は、ステップＳ４０１で特定されたエラー箇所とメモリ１０２またはＮＶＲＡＭ１０４上の擬似障害発生箇所を比較して、一致する擬似障害発生箇所が存在するかどうかを調査することにより行われてもよい。
【００４０】
ステップＳ４０２における比較結果が「一致」の場合、すなわち一致する擬似障害発生箇所が存在する場合（ステップＳ４０２においてＹＥＳ）、ＢＩＯＳは、エラー検出機能診断処理が行われ、かつ、エラー検出機能が正常に動作していると判定する。
【００４１】
次に、ＢＩＯＳは、診断タイマを停止する（ステップＳ４０３）。そして、ＢＩＯＳは、診断成功処理を行う（ステップＳ４０４）。診断成功処理においては、まず、ＫＣＳインタフェース１３１を通してＩＰＭＩ通信を行うことにより、診断が成功したこと（エラー検出機能の正常動作が確認されたこと）を示す情報がＢＭＣ１０５へ送信される。そして、この情報を受信することにより、ＢＭＣ１０５は、診断成功ログをフラッシュメモリ１０６に格納する。診断成功ログは、エラー検出機能診断処理の正常終了を示す情報と、擬似障害を発生させた箇所（ここではメモリ１０２）と擬似障害の種類（ここではメモリ入出力エラー）を表わす情報を含んでいてもよい。
【００４２】
一方で、ステップＳ４０２における比較結果が「不一致」の場合、すなわち一致する擬似障害発生箇所が存在しない場合（ステップＳ４０２においてＮＯ）、ＢＩＯＳは、実際のハードウェアによる障害が発生したと判定する。そして、ＢＩＯＳは、通常の障害処理を行う（ステップＳ４０５）。
【００４３】
図５は、エラー検出機能診断処理の開始後、一定時間、擬似障害の発生を検出しなかった場合の処理を説明するフローチャートである。
【００４４】
エラー検出機能診断処理の開始後、すなわち、診断タイマの開始後、予め定められた時間が経過すると、診断タイマのタイムアウトが発生する。診断タイマがタイムアウトすると、ＳＭＩが発生する。このＳＭＩを受け付けると、ＢＩＯＳは、例えばチップセット１０３のレジスタを参照することにより、割り込みの要因を確認する（ステップＳ５０１）。割り込みの要因が診断タイマのタイムアウトであった場合（ステップＳ５０２においてＹＥＳ）、ＢＩＯＳは、エラー検出機能が正常に動作していないと判定する。すなわち、エラー検出機能診断処理（擬似障害を発生して検出する処理）が正常に終了しなかったと判定する。
【００４５】
次に、ＢＩＯＳは、診断失敗処理を行う（ステップＳ５０３）。診断失敗処理においては、まず、ＫＣＳインタフェース１３１を通してＩＰＭＩ通信を行うことにより、診断が失敗したこと（エラー検出機能の正常動作が確認できなかったこと）を示す情報がＢＭＣ１０５へ送信される。そして、この情報を受信することにより、ＢＭＣ１０５は、診断失敗ログをフラッシュメモリ１０６に格納する。診断失敗ログは、エラー検出機能診断処理の異常終了を示す情報と、エラー検出機能の正常動作が確認できなかった箇所（ここではメモリ１０２）を表わす情報を含んでいてもよい。また、ＢＭＣ１０５は、ネットワークインタフェース３００を通して、管理端末２００に対して診断失敗ログを送信してもよい。このことにより、管理端末２００を使用している管理者は、エラー検出機能に発生した異常を知ることができ、修理や交換などの対応を行うことができる。
【００４６】
フラッシュメモリ１０６に格納された診断成功ログおよび診断失敗ログは、管理端末２００からネットワークインタフェース３００を通して参照することができる。
【００４７】
図６は、本発明の第１の実施形態に係る情報処理装置の構成を表す機能ブロック図である。本発明の第１の実施形態に係る情報処理装置９００は、擬似障害発生部９０１と、擬似障害箇所保存部９０２と、エラー検出部９０３と、エラー箇所比較部９０４と、判定部９０５と、記憶部９０６と、診断開始指示部９０７と、診断タイマ９０８とを備える。
【００４８】
擬似障害発生部９０１は、情報処理装置９００上に擬似障害を発生する。
【００４９】
擬似障害箇所保存部９０２は、擬似障害発生箇所を記憶部９０６に保存する。
【００５０】
エラー検出部９０３は、情報処理装置９００上に発生する障害を検出する。
【００５１】
エラー箇所比較部９０４は、擬似障害発生箇所と、エラー検出部９０３によって検出された障害の箇所とを比較する。
【００５２】
判定部９０５は、エラー箇所比較部９０４による比較結果が「一致」の場合に、エラー検出部９０３が正常に動作していると判定する。
【００５３】
記憶部９０６は、擬似障害発生箇所を格納可能である。
【００５４】
診断開始指示部９０７は、予め定められた時期にエラー検出部９０３の診断処理（エラー検出機能診断処理）の開始を指示する。
【００５５】
診断タイマ９０８は、エラー検出機能診断処理の開始に応じて時間の計測を開始する。なお、診断タイマ９０８は、図１のタイマ１２０に相当する。
【００５６】
前述したコンピュータ１００によるエラー検出機能診断処理の動作の説明において、主にステップＳ３０５が擬似障害発生部９０１の動作に相当する。また、主にステップＳ３０４が擬似障害箇所保存部９０２の動作に相当する。また、主にステップＳ４０１がエラー検出部９０３の動作に相当する。また、主にステップＳ４０２がエラー箇所比較部９０４の動作に相当する。また、主にステップＳ４０２およびＳ５０２が判定部９０５の動作に相当する。また、主にステップＳ２０１が診断開始指示部９０７の動作に相当する。
【００５７】
本発明の第１の実施形態に係る情報処理装置９００の構成要素は、プログラムが図１のコンピュータ１００のＣＰＵ１０１において実行されることにより実現されてもよい。具体的には、擬似障害発生部９０１，擬似障害箇所保存部９０２，エラー検出部９０３，エラー箇所比較部９０４、判定部９０５および診断開始指示部９０７は、ＣＰＵ１０１がメモリ１０２あるいはＮＶＲＡＭ１０４からプログラムを読み込み、読み込んだプログラムを、例えば図２〜５に示したフローチャートの手順の如くＣＰＵ１０１が実行することにより実現されてもよい。そして、このような場合において、上述した実施形態を例に説明した本発明は、係るコンピュータプログラムを表わすコードあるいはそのコンピュータプログラムを表わすコードが格納されたコンピュータ読み取り可能な記憶媒体（例えばＮＶＲＡＭ１０４や、不図示のハードディスクドライブ，着脱可能な磁気ディスク媒体，光学ディスク媒体やメモリカードなど）によって構成されると捉えることができる。
【００５８】
あるいは、擬似障害発生部９０１，擬似障害箇所保存部９０２，エラー検出部９０３，エラー箇所比較部９０４，判定部９０５および診断開始指示部９０７は、専用のハードウェアで実現されてもよい。また、情報処理装置９００は、これら構成要素を備える専用のハードウェアであってもよい。
【００５９】
以上のように、本発明の第１の実施形態に係るコンピュータ１００は、エラー検出機能に対する診断の精度を向上することができる。なぜならば、擬似障害を発生してエラー検出機能診断処理を実行する際に、擬似障害発生箇所を予め保存しておき、この擬似障害発生箇所と検出されたエラーの発生箇所とが一致するかどうか比較し判定するからである。すなわち、本発明の第１の実施形態に係るコンピュータ１００は、エラー検出機能診断処理の実行中に発生した真の障害に対し、エラーの発生箇所が一致しないため、擬似障害ではない（真の障害である）と正しい判定を行うことができる。また、擬似障害発生箇所を詳細に保存，比較することにより、診断の精度を高めることもできる。
【００６０】
［第２の実施形態］
次に、上述した第１の実施形態を基本とする、本発明の第２の実施の形態を説明する。以下の説明では、第１の実施形態と同様な構成については同一の参照番号を付与することにより、重複する説明を省略する。
【００６１】
図７は、本発明の第２の実施形態に係るコンピュータの構成を表すブロック構成図である。本発明の第２の実施形態に係るコンピュータ１０００は、ＣＰＵ１０１と、メモリ１０２と、チップセット１０３と、ＢＭＣ１０５と、フラッシュメモリ１０６とを備える。
【００６２】
コンピュータ１０００は、例えば、サーバコンピュータなどの情報処理装置である。
【００６３】
ＣＰＵ１０１とチップセット１０３とＢＭＣ１０５とは、Ｉ２Ｃ(Inter-Integrated Circuit)（登録商標）のような、制御信号線１４０とエラー信号線１４１とを介して接続されている。コンピュータ１０００は、ハードウェア障害などによるハードウェアエラーをエラー信号線１４１に出力するように予め設定されている。また、ＢＭＣ１０５は、エラー信号線１４１からの入力によって割り込みを発生するように予め設定されている。
【００６４】
以下、図４，５，７，８を参照して、第２の実施形態における、コンピュータ１０００によるエラー検出機能診断処理の動作を説明する。
【００６５】
図８は、エラー検出機能診断処理の開始時処理を説明するフローチャートである。第１の実施形態と同様に、ＢＭＣ１０５に備えられたタイマ１２１は、予め定められたタイミング（時期）に、エラー検出機能診断処理の開始指示を出力する（ステップＳ８０１）。この指示に従い、ＢＭＣ１０５は、タイマ１２１を使用して診断タイマを設定する（ステップＳ８０２）。具体的には、タイマ１２１は、予め定められた時間（タイムアウトまでの時間）の計測を開始する。次に、ＢＭＣ１０５は、診断処理において擬似障害を発生させる箇所である、擬似障害発生箇所を、フラッシュメモリ１０６に保存する（ステップＳ８０３）。そして、ＢＭＣ１０５は、制御信号線１４０に信号を出力することにより、擬似障害を発生させる（ステップＳ８０４）。例えば、ＢＭＣ１０５は、ＣＰＵ１０１が有するエラーインジェクション機能を使用することにより、擬似障害を発生させる。
【００６６】
ハードウェアエラーが発生すると、エラー信号線１４１を通してＢＭＣ１０５へハードウェアエラーが出力される。これに対応して、ＢＭＣ１０５は割り込みを発生する。次に、ＢＭＣ１０５は、エラー（障害）が発生した箇所を、例えばハードウェアレジスタを参照することにより特定する（ステップＳ４０１）。次に、ＢＭＣ１０５は、フラッシュメモリ１０６に保存された擬似障害発生箇所を参照する。そして、この擬似障害発生箇所が、ステップＳ４０１で特定されたエラー箇所と一致するかどうかを判定する（ステップＳ４０２）。
【００６７】
ステップＳ４０２における判定は、ステップＳ４０１で特定されたエラー箇所とフラッシュメモリ１０６上の擬似障害発生箇所を比較して、一致する擬似障害発生箇所が存在するかどうかを調査することにより行われてもよい。
【００６８】
ステップＳ４０２における比較結果が「一致」の場合、すなわち一致する擬似障害発生箇所が存在する場合（ステップＳ４０２においてＹＥＳ）、ＢＭＣ１０５は、エラー検出機能診断処理が行われ、かつ、エラー検出機能が正常に動作していると判定する。
【００６９】
次に、ＢＭＣ１０５は、診断タイマを停止する（ステップＳ４０３）。そして、ＢＭＣ１０５は、診断成功処理を行う（ステップＳ４０４）。診断成功処理においては、ＢＭＣ１０５は、診断成功ログをフラッシュメモリ１０６に格納する。診断成功ログは、エラー検出機能診断処理の正常終了を示す情報と、擬似障害を発生させた箇所と擬似障害の種類を表わす情報を含んでいてもよい。
【００７０】
一方で、ステップＳ４０２における比較結果が「不一致」の場合、すなわち一致する擬似障害発生箇所が存在しない場合（ステップＳ４０２においてＮＯ）、ＢＭＣ１０５は、実際のハードウェアによる障害が発生したと判定する。そして、ＢＭＣ１０５あるいはＢＩＯＳは、通常の障害処理を行う（ステップＳ４０５）。
【００７１】
エラー検出機能診断処理の開始後、すなわち、診断タイマの開始後、予め定められた時間が経過すると、診断タイマのタイムアウトが発生する。診断タイマがタイムアウトすると、割り込みが発生する。この割り込みを受け付けると、ＢＭＣ１０５は、割り込みの要因を確認する（ステップＳ５０１）。割り込みの要因が診断タイマのタイムアウトであった場合（ステップＳ５０２においてＹＥＳ）、ＢＭＣ１０５は、エラー検出機能が正常に動作していないと判定する。すなわち、エラー検出機能診断処理（擬似障害を発生して検出する処理）が正常に終了しなかったと判定する。
【００７２】
次に、ＢＭＣ１０５は、診断失敗処理を行う（ステップＳ５０３）。診断失敗処理においては、ＢＭＣ１０５は、診断失敗ログをフラッシュメモリ１０６に格納する。診断失敗ログは、エラー検出機能診断処理の異常終了を示す情報と、エラー検出機能の正常動作が確認できなかった箇所を表わす情報を含んでいてもよい。また、ＢＭＣ１０５は、ネットワークインタフェース３００を通して、管理端末２００に対して診断失敗ログを送信してもよい。
【００７３】
本発明の第２の実施形態に係る情報処理装置の機能ブロックの構成は、第１の実施形態と同様である。すなわち、本発明の第２の実施形態に係る情報処理装置９００は、図６と同様に、擬似障害発生部９０１と、擬似障害箇所保存部９０２と、エラー検出部９０３と、エラー箇所比較部９０４と、判定部９０５と、記憶部９０６と、診断開始指示部９０７と、診断タイマ９０８とを備える。
【００７４】
擬似障害発生部９０１は、情報処理装置９００上に擬似障害を発生する。
【００７５】
擬似障害箇所保存部９０２は、擬似障害発生箇所を記憶部９０６に保存する。
【００７６】
エラー検出部９０３は、情報処理装置９００上に発生する障害を検出する。
【００７７】
エラー箇所比較部９０４は、擬似障害発生箇所と、エラー検出部９０３によって検出された障害の箇所とを比較する。
【００７８】
判定部９０５は、エラー箇所比較部９０４による比較結果が「一致」の場合に、エラー検出部９０３が正常に動作していると判定する。
【００７９】
記憶部９０６は、擬似障害発生箇所を格納可能である。
【００８０】
診断開始指示部９０７は、予め定められた時期にエラー検出部９０３の診断処理（エラー検出機能診断処理）の開始を指示する。
【００８１】
診断タイマ９０８は、エラー検出機能診断処理の開始に応じて時間の計測を開始する。なお、診断タイマ９０８は、図７のタイマ１２１に相当する。
【００８２】
前述したコンピュータ１０００によるエラー検出機能診断処理の動作の説明において、主にステップＳ８０４が擬似障害発生部９０１の動作に相当する。また、主にステップＳ８０３が擬似障害箇所保存部９０２の動作に相当する。また、主にステップＳ４０１がエラー検出部９０３の動作に相当する。また、主にステップＳ４０２がエラー箇所比較部９０４の動作に相当する。また、主にステップＳ４０２およびＳ５０２が判定部９０５の動作に相当する。また、主にステップＳ８０１が診断開始指示部９０７の動作に相当する。
【００８３】
本発明の第２の実施形態に係る情報処理装置９００の構成要素は、プログラムが図７のコンピュータ１０００のＣＰＵ１０１、あるいはＢＭＣ１０５に含まれる不図示のプロセッサにおいて実行されることにより実現されてもよい。具体的には、擬似障害発生部９０１，擬似障害箇所保存部９０２，エラー検出部９０３，エラー箇所比較部９０４，判定部９０５および診断開始指示部９０７は、ＣＰＵ１０１あるいはＢＭＣ１０５に含まれる不図示のプロセッサが、メモリ１０２あるいはフラッシュメモリ１０６からプログラムを読み込み、読み込んだプログラムを、例えば図４，５，８に示したフローチャートの手順の如く、ＣＰＵ１０１あるいはＢＭＣ１０５に含まれる不図示のプロセッサが実行することにより実現されてもよい。そして、このような場合において、上述した実施形態を例に説明した本発明は、係るコンピュータプログラムを表わすコードあるいはそのコンピュータプログラムを表わすコードが格納されたコンピュータ読み取り可能な記憶媒体（例えばフラッシュメモリ１０６や、不図示のハードディスクドライブ，着脱可能な磁気ディスク媒体，光学ディスク媒体やメモリカードなど）によって構成されると捉えることができる。
【００８４】
あるいは、擬似障害発生部９０１，擬似障害箇所保存部９０２，エラー検出部９０３，エラー箇所比較部９０４，判定部９０５および診断開始指示部９０７は、専用のハードウェアで実現されてもよい。また、情報処理装置９００は、これら構成要素を備える専用のハードウェアであってもよい。
【００８５】
以上のように、本発明の第２の実施形態に係るコンピュータ１０００は、第１の実施形態に係るコンピュータ１００と同様の効果を有しつつ、コンピュータ１００よりもユーザが使用するコンピュータリソースの負荷を下げることができる。なぜならば、エラー検出機能診断処理を実行する際に、図１のメモリ１０２やＮＶＲＡＭ１０４，チップセット１０３のタイマ１２０などを使用しないからである。
【００８６】
［第３の実施形態］
次に、本発明の第３の実施の形態を説明する。
【００８７】
図９は、本発明の第３の実施形態に係る情報処理装置の構成を表す機能ブロック図である。本発明の第３の実施形態に係る情報処理装置９０００は、擬似障害発生部９０１と、擬似障害箇所保存部９０２と、エラー検出部９０３と、エラー箇所比較部９０４と、判定部９０５とを備える。
【００８８】
擬似障害発生部９０１は、情報処理装置９０００、すなわち自装置に擬似障害を発生する。
【００８９】
擬似障害箇所保存部９０２は、擬似障害の発生箇所を保存する。
【００９０】
エラー検出部９０３は、情報処理装置９０００、すなわち自装置に発生する障害を検出する。
【００９１】
エラー箇所比較部９０４は、擬似障害の発生箇所と、エラー検出部９０３によって検出された障害の箇所とを比較する。
【００９２】
判定部９０５は、エラー箇所比較部９０４による比較結果が「一致」を表わす場合に、エラー検出部９０３が正常に動作していると判定する。
【００９３】
本発明の第３の実施形態に係る情報処理装置９０００の構成要素は、プログラムが図１のコンピュータ１００のＣＰＵ１０１において実行されることにより実現されてもよい。具体的には、擬似障害発生部９０１，擬似障害箇所保存部９０２，エラー検出部９０３，エラー箇所比較部９０４および判定部９０５は、ＣＰＵ１０１がメモリ１０２あるいはＮＶＲＡＭ１０４からプログラムを読み込み、読み込んだプログラムを、例えば図２〜５に示したフローチャートの手順の如くＣＰＵ１０１が実行することにより実現されてもよい。そして、このような場合において、上述した実施形態を例に説明した本発明は、係るコンピュータプログラムを表わすコードあるいはそのコンピュータプログラムを表わすコードが格納されたコンピュータ読み取り可能な記憶媒体（例えばＮＶＲＡＭ１０４や、不図示のハードディスクドライブ，着脱可能な磁気ディスク媒体，光学ディスク媒体やメモリカードなど）によって構成されると捉えることができる。
【００９４】
あるいは、擬似障害発生部９０１，擬似障害箇所保存部９０２，エラー検出部９０３，エラー箇所比較部９０４および判定部９０５は、専用のハードウェアで実現されてもよい。また、情報処理装置９０００は、これら構成要素を備える専用のハードウェアであってもよい。
【００９５】
以上のように、本発明の第３の実施形態に係る情報処理装置９０００は、エラー検出機能に対する診断の精度を向上することができる。なぜならば、擬似障害を発生してエラー検出機能診断処理を実行する際に、擬似障害発生箇所を予め保存しておき、この擬似障害発生箇所と検出されたエラーの発生箇所とが一致するかどうか比較し判定するからである。
【００９６】
上述の実施形態において、エラー検出機能診断処理は、ＢＭＣ１０５に備えられたタイマ１２１の指示に基づいて開始したが、これ以外の指示でもよい。例えば、管理端末２００が、コンピュータ１００あるいは１０００に対して、エラー検出機能診断処理の開始指示を出力してもよい。
【００９７】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００９８】
（付記１）
自装置に擬似障害を発生する擬似障害発生手段と、
前記擬似障害の発生箇所を保存する擬似障害箇所保存手段と、
自装置に発生する障害を検出するエラー検出手段と、
前記擬似障害の発生箇所と、前記エラー検出手段によって検出された障害の箇所とを比較するエラー箇所比較手段と、
前記エラー箇所比較手段による比較結果が「一致」を表わす場合に、前記エラー検出手段が正常に動作していると判定する判定手段とを備える情報処理装置。
【００９９】
（付記２）
予め定められた時期に前記エラー検出手段の診断処理の開始を指示する診断開始指示手段をさらに備える付記１に記載の情報処理装置。
【０１００】
（付記３）
前記診断処理の開始に応じて計測を開始する診断タイマをさらに備え、
前記診断タイマがタイムアウトした場合に、前記判定手段が、前記エラー検出手段は正常に動作していないと判定する付記２に記載の情報処理装置。
【０１０１】
（付記４）
前記エラー箇所比較手段による比較結果が「不一致」を表わす場合に、前記判定手段が、通常の障害が発生したと判定する付記１乃至３のいずれかに記載の情報処理装置。
【０１０２】
（付記５）
情報処理装置が、
自装置に擬似障害を発生させ、
前記擬似障害の発生箇所を保存し、
自装置に発生する障害を検出し、
前記擬似障害の発生箇所と前記検出された障害の箇所とを比較し、
前記比較結果が「一致」を表わす場合に、自装置の障害を検出する機能であるエラー検出機能が正常に動作していると判定するエラー検出機能診断方法。
【０１０３】
（付記６）
前記情報処理装置が、前記擬似障害の発生に先立って、予め定められた時期に前記エラー検出機能の診断処理を開始する付記５に記載のエラー検出機能診断方法。
【０１０４】
（付記７）
前記診断処理の開始に応じて診断タイマが計測を開始し、
前記診断タイマがタイムアウトした場合に、前記情報処理装置が、前記エラー検出機能は正常に動作していないと判定する付記６に記載のエラー検出機能診断方法。
【０１０５】
（付記８）
前記情報処理装置が、前記比較結果が「不一致」を表わす場合に、通常の障害が発生したと判定する付記５乃至７のいずれかに記載のエラー検出機能診断方法。
【０１０６】
（付記９）
コンピュータに、
自装置に擬似障害を発生させる処理と、
前記擬似障害の発生箇所を保存する処理と、
自装置に発生する障害を検出する処理と、
前記擬似障害の発生箇所と前記検出された障害の箇所とを比較する処理と、
前記比較結果が「一致」を表わす場合に、自装置の障害を検出する機能であるエラー検出機能が正常に動作していると判定する処理とを実行させるコンピュータプログラム。
【０１０７】
（付記１０）
コンピュータに、前記擬似障害を発生させる処理に先立って、予め定められた時期に前記エラー検出機能の診断処理を開始する処理を実行させる付記９に記載のコンピュータプログラム。
【０１０８】
（付記１１）
コンピュータに、
前記診断処理の開始に応じて診断タイマが計測を開始する処理と、
前記診断タイマがタイムアウトした場合に、前記エラー検出機能が正常に動作していないと判定する処理とを実行させる付記１０に記載のコンピュータプログラム。
【０１０９】
（付記１２）
コンピュータに、前記比較結果が「不一致」を表わす場合に、通常の障害が発生したと判定する処理を実行させる付記９乃至１１のいずれかに記載のコンピュータプログラム。
【符号の説明】
【０１１０】
１００，１０００    コンピュータ
１０１    ＣＰＵ
１０２    メモリ
１０３    チップセット
１０４    ＮＶＲＡＭ
１０５    ＢＭＣ
１０６    フラッシュメモリ
１２０，１２１    タイマ
１３０    ＧＰＩＯインタフェース
１３１    ＫＣＳインタフェース
１４０    制御信号線
１４１    エラー信号線
２００    管理端末
３００    ネットワークインタフェース
９００，９０００    情報処理装置
９０１    擬似障害発生部
９０２    擬似障害箇所保存部
９０３    エラー検出部
９０４    エラー箇所比較部
９０５    判定部
９０６    記憶部
９０７    診断開始指示部
９０８    診断タイマ
【図１】
2014146110.tif 000003
【図２】
2014146110.tif 000004
【図３】
2014146110.tif 000005
【図４】
2014146110.tif 000006
【図５】
2014146110.tif 000007
【図６】
2014146110.tif 000008
【図７】
2014146110.tif 000009
【図８】
2014146110.tif 000010
【図９】
2014146110.tif 000011