(57)【要約】【課題】プロセッサの動作が停止した場合でも、Ｉ／Ｏ装置の異常に応じた処理を実行可能なＩ／Ｏ装置の異常検出システムを提供する。【解決手段】外部記憶装置管理手段１０１は、磁気ディスク装置１３０のリード・ライト時に、リード・ライトの正常終了数、及び、異常終了数をカウントする。外部記憶装置管理手段１０１は、カウントした正常終了数及び異常終了数を、所定のしきい値と比較し、磁気ディスク装置１３０に異常が発生しているか否かを判断する。ウォッチドッグタイマー管理手段１０２は、磁気ディスク装置１３０が正常に動作している場合には、周期的にウォッチドッグタイマー１１１をリセットする。ＢＭＣ１１０は、ウォッチドッグタイマー１１１がタイムアウトを発生すると、ＮＭＩ割り込みを発生し、プロセッサ１００に磁気ディスク装置１３０が異常である旨を知らせる。【選択図】図１
2007265157.tif 000002
【特許請求の範囲】
【請求項１】
Ｉ／Ｏ装置に障害が発生したことを検出する障害検出システムにおいて、
時間経過に従ってカウントを進行し、カウント値が所定の値となるとカウントアウトを発生するタイマー手段と、
前記Ｉ／Ｏ装置との間のデータ入出力を監視し、データ入出力の正常終了数、及び、データ入出力の異常終了数をカウントし、該カウントした正常終了数、及び、異常終了数の少なくとも一方に基づいて、前記Ｉ／Ｏ装置が正常に動作しているか否かを判断するＩ／Ｏ装置管理手段と、
前記Ｉ／Ｏ装置管理手段が、前記Ｉ／Ｏ装置が正常に動作していると判断すると、前記タイマー手段のカウント値を初期値にリセットするタイマー管理手段と、
前記タイマー手段がタイムアウトを発生すると、ＮＭＩ割り込みを発生する割り込み発生手段とを備えることを特徴とするＩ／Ｏ装置の障害検出システム。
【請求項２】
前記タイマー手段が、時間経過と共に、カウント値を、所定の初期値からカウントダウンし、前記カウント値が０になるとタイムアウトを発生するウォッチドッグタイマーを含む、請求項１に記載のＩ／Ｏ装置の障害検出システム。
【請求項３】
前記Ｉ／Ｏ装置管理手段は、前記異常終了数が所定のしきい値を超えると、前記Ｉ／Ｏ装置が正常に動作していないと判断する、請求項１又は２に記載のＩ／Ｏ装置の障害検出システム。
【請求項４】
前記Ｉ／Ｏ装置管理手段は、前記正常終了数が所定のしきい値を超えると、前記Ｉ／Ｏ装置が正常に動作していると判断する、請求項１又は２に記載のＩ／Ｏ装置の障害検出システム。
【請求項５】
前記異常終了数がＩ／Ｏタイムアウト発生数を含み、前記Ｉ／Ｏ装置管理手段は、前記Ｉ／Ｏタイムアウトの発生数と前記正常終了数との比率が所定の値を超えると、前記Ｉ／Ｏ装置が正常に動作していないと判断する、請求項１又は２に記載のＩ／Ｏ装置の障害検出システム。
【請求項６】
前記Ｉ／Ｏ装置が、外部記憶装置を含む、請求項１〜５の何れか一に記載のＩ／Ｏ装置の障害検出システム。
【請求項７】
前記Ｉ／Ｏ装置が、ネットワーク装置を含む、請求項１〜５の何れか一に記載のＩ／Ｏ装置の障害検出システム。
【請求項８】
Ｉ／Ｏ装置に障害が発生したことを検出する障害検出方法において、
タイマーのカウントを時間経過に従ってカウントを進行しつつ、
前記Ｉ／Ｏ装置との間のデータ入出力を監視して、データ入出力の正常終了数、及び、データ入出力の異常終了数をカウントし、
前記カウントした正常終了数、及び、異常終了数の少なくとも一方に基づいて、前記Ｉ／Ｏ装置が正常に動作しているか否かを判断し、
前記Ｉ／Ｏ装置が正常に動作していると判断すると、前記タイマーのカウント値を初期値にリセットし、
前記タイマーのカウントが所定の値となると、ＮＭＩ割り込みを発生することを特徴とする障害検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置の障害検出システム、及び、方法に関し、更に詳しくは、Ｉ／Ｏ装置等の外部装置に障害が発生したことを検出する外部装置の障害検出システム、及び、方法に関する。
【背景技術】
【０００２】
一般に、コンピュータシステムは、システム制御を行うプロセッサと、外部記憶装置等のＩ／Ｏ装置とを含み、プロセッサと、Ｉ／Ｏ装置とは、バスを介して接続されている。このようなコンピュータシステムにおけるＩ／Ｏ装置の障害検出方法としては、例えば、特許文献１に記載された技術がある。この技術では、Ｉ／Ｏタイムアウトの発生を検出し、複数のＩ／Ｏ装置のうちのＩ／Ｏタイムアウトが多発するＩ／Ｏ装置を、固定障害として検出する。
【０００３】
【特許文献１】特開平５−３３４２０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のコンピュータシステムでは、例えば磁気ディスクが無応答になった場合には、ＯＳが動作することが不能になって、ユーザがハードリセットを行う必要があった。或いは、一定時間ＯＳが無応答となると、ウォッチドッグタイマーにより、リセットを行っていた。しかし、磁気ディスクの無応答を検出して障害を検出する場合には、磁気ディスクの間欠的な無応答によって、障害を誤検出し、不必要なリセットが発生することがある。また、プロセッサが割り込みを禁止した状態で停止することで、通常の割り込み処理が動作しないという問題もある。
【０００５】
本発明は、上記従来技術の問題点を解消し、プロセッサの動作が停止した場合でも、Ｉ／Ｏ装置の異常に応じた処理を実行可能なＩ／Ｏ装置の異常検出システム及び方法を提供することを目的とする。また、本発明は、Ｉ／Ｏ装置の異常の誤検出を防止できるＩ／Ｏ装置の異常検出システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明のＩ／Ｏ装置の障害検出システムは、Ｉ／Ｏ装置に障害が発生したことを検出する障害検出システムにおいて、時間経過に従ってカウントを進行し、カウント値が所定の値となるとカウントアウトを発生するタイマー手段と、前記Ｉ／Ｏ装置との間のデータ入出力を監視し、データ入出力の正常終了数、及び、データ入出力の異常終了数をカウントし、該カウントした正常終了数、及び、異常終了数の少なくとも一方に基づいて、前記Ｉ／Ｏ装置が正常に動作しているか否かを判断するＩ／Ｏ装置管理手段と、前記Ｉ／Ｏ装置管理手段が、前記Ｉ／Ｏ装置が正常に動作していると判断すると、前記タイマー手段のカウント値を初期値にリセットするタイマー管理手段と、前記タイマー手段がタイムアウトを発生すると、ＮＭＩ割り込みを発生する割り込み発生手段とを備えることを特徴とする。
【０００７】
本発明の障害検出方法は、Ｉ／Ｏ装置に障害が発生したことを検出する障害検出方法において、タイマーのカウントを時間経過に従ってカウントを進行しつつ、前記Ｉ／Ｏ装置との間のデータ入出力を監視して、データ入出力の正常終了数、及び、データ入出力の異常終了数をカウントし、前記カウントした正常終了数、及び、異常終了数の少なくとも一方に基づいて、前記Ｉ／Ｏ装置が正常に動作しているか否かを判断し、前記Ｉ／Ｏ装置が正常に動作していると判断すると、前記タイマーのカウント値を初期値にリセットし、前記タイマーのカウントが所定の値となると、ＮＭＩ割り込みを発生することを特徴とする。
【０００８】
本発明のＩ／Ｏ装置の障害検出システム及び方法では、データ入出力の正常終了数及び異常終了数の少なくとも一方に基づいてＩ／Ｏ装置が正常に動作しているか否かを判断し、正常に動作していると判断した場合には、タイマーのカウントを初期状態にリセットする。Ｉ／Ｏ装置に異常が発生した場合には、タイマーがリセットされないことで、タイムアウトが発生し、ＮＭＩ割り込みによって、この割り込みを入力するプロセッサ側で、Ｉ／Ｏ装置の異常を検出できる。本発明では、Ｉ／Ｏ装置が正常に動作しているか否かの判断に、データ入出力の正常終了数と異常終了数の少なくとも一方を用いているため、これに基づいて適切に判断することで、偶発的に異常終了が発生しただけなのか、或いは、装置に異常が発生して異常終了が発生したのかを判断でき、復旧可能なエラーに対する誤検出を防止できる。ここで、Ｉ／Ｏ装置が無応答になると、正常終了数や異常終了数をカウントする手段（プロセッサ）が、全く動作しなくなる場合があるが、このような場合でも、タイマーにリセットがかからないことでタイムアウトが発生し、ＮＭＩ割り込みが発生することで、プロセッサは、Ｉ／Ｏ装置の異常を検出して、それに応じた処理を実行できる。
【０００９】
本発明のＩ／Ｏ装置の障害検出システムでは、前記タイマー手段が、時間経過と共に、カウント値を、所定の初期値からカウントダウンし、前記カウント値が０になるとタイムアウトを発生するウォッチドッグタイマーを含む構成を採用できる。この場合、カウント値が０になる前に、Ｉ／Ｏ装置管理手段がＩ／Ｏ装置の動作が異常であると判断することにより、或いは、何らかの原因でＩ／Ｏ装置管理手段の動作自体が停止することにより、タイマー制御手段がリセットを発行しない場合には、カウントダウンが進行してカウント値が０となり、ＮＭＩ割り込みが発生して、Ｉ／Ｏ装置の異常を検出できる。
【００１０】
本発明のＩ／Ｏ装置の障害検出システムでは、前記Ｉ／Ｏ装置管理手段は、前記異常終了数が所定のしきい値を超えると、前記Ｉ／Ｏ装置が正常に動作していないと判断する構成を採用できる。例えば、所定回数のデータ入出力に対して、Ｉ／Ｏ装置が異常であると判断する際の基準となるしきい値を設定しておき、異常終了回数がしきい値を超えるか否かにより、Ｉ／Ｏ装置が異常であるか否かを判断する構成を採用できる。
【００１１】
本発明のＩ／Ｏ装置の障害検出システムでは、前記Ｉ／Ｏ装置管理手段は、前記正常終了数が所定のしきい値を超えると、前記Ｉ／Ｏ装置が正常に動作していると判断する構成を採用できる。例えば、所定回数のデータ入出力に対して、Ｉ／Ｏ装置が正常であると判断する際の基準となるしきい値を設定しておき、正常終了回数がしきい値を超えるか否かにより、Ｉ／Ｏ装置が正常であるか否かを判断する構成を採用できる。
【００１２】
本発明のＩ／Ｏ装置の障害検出システムでは、前記異常終了数がＩ／Ｏタイムアウト発生数を含み、前記Ｉ／Ｏ装置管理手段は、前記Ｉ／Ｏタイムアウトの発生数と前記正常終了数との比率が所定の値を超えると、前記Ｉ／Ｏ装置が正常に動作していないと判断する構成を採用できる。例えば、所定回数のデータ入出力に対して、Ｉ／Ｏ装置が異常であると判断する際の基準となる、前記Ｉ／Ｏタイムアウトの発生数と前記正常終了数との比率のしきい値を設定しておき、前記Ｉ／Ｏタイムアウトの発生数と前記正常終了数との比率がそのしきい値を超えるか否かにより、Ｉ／Ｏ装置が異常であるか否かを判断する構成を採用できる。
【００１３】
本発明のＩ／Ｏ装置の障害検出システムでは、前記Ｉ／Ｏ装置が、外部記憶装置を含む構成を採用できる。また、前記Ｉ／Ｏ装置が、ネットワーク装置を含む構成を採用することもできる。
【発明の効果】
【００１４】
本発明のＩ／Ｏ装置の障害検出システム及び方法では、データ入出力の正常終了数及び異常終了数の少なくとも一方に基づいてＩ／Ｏ装置が正常に動作しているか否かを判断し、正常に動作していると判断した場合には、タイマーのカウントを初期状態にリセットする。Ｉ／Ｏ装置に異常が発生した場合や、Ｉ／Ｏ装置が無応答となることでプロセッサの動作が停止した場合には、タイマーがリセットされないことで、タイムアウトが発生し、ＮＭＩ割り込みを発生させる。このＮＭＩ割り込みを、プロセッサに入力することで、プロセッサにより、Ｉ／Ｏ装置の異常に応じた処理を実行できる。また、本発明では、Ｉ／Ｏ装置が正常に動作しているか否かの判断に、データ入出力の正常終了数と異常終了数の少なくとも一方を用いているため、これに基づいて適切に判断することで、偶発的に異常終了が発生しただけなのか、或いは、装置に異常が発生して異常終了が発生したのかを判断でき、復旧可能なエラーに対する誤検出を防止できる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の一実施形態のＩ／Ｏ装置の障害検出システムの構成を示している。この障害検出システム１０は、プロセッサ１００と、ＢＭＣ（Base Management Controller）１１０と、ＳＣＳＩコントローラ１２０とを備える。プロセッサ１００は、Ｉ／Ｏバス１５０を介して、ＳＣＳＩコントローラ１２０に接続される。ＳＣＳＩコントローラ１２０は、ＳＣＳＩバス１４０を介して磁気ディスク装置１３０に接続される。
【００１６】
プロセッサ１００は、外部記憶装置管理手段１０１と、ウォッチドッグタイマー管理手段１０２とを備える。ＢＭＣ１１０は、ウォッチドッグタイマー１１１を有する。プロセッサ１００及びＢＭＣ１１０内の各手段は、プログラム動作により実現される。外部記憶装置管理手段１０１は、磁気ディスク装置１３０との間のリード・ライトの正常終了数や異常終了数をカウントして図示しないメモリに記憶し、プロセッサ１００の起動時や、システム運用時、或いは、システムシャットダウン時に、外部記憶装置（磁気ディスク装置）１３０の正常性確認を行う。
【００１７】
ウォッチドッグタイマー管理手段１０２は、ＢＭＣ１１０に対してウォッチドッグタイマー１１１のリセットを発行する。ＢＭＣ１１０は、ウォッチドッグタイマー１１１がタイムアウトを発生すると、プロセッサ１００に対して、ＮＭＩ割り込み（ノンマスカブルの割り込み）１６０を発生し、プロセッサ１００に、磁気ディスク装置１３０が異常である旨を通知する。
【００１８】
図２は、プロセッサ１００の動作手順を示している。プロセッサ１００は、自身の起動時や外部記憶装置管理コマンド発行時に、ウォッチドッグタイマー管理手段１０２によってウォッチドッグタイマー１１１のリセットを発行し、ウォッチドッグタイマー１１１を初期状態にリセットする（ステップＡ１）。外部記憶装置管理手段１０１は、Ｉ／Ｏバス１５０、ＳＣＳＩコントローラ１２０、及び、ＳＣＳＩバス１４０を介して、磁気ディスク装置１３０にリード・ライトを実施する（ステップＡ２）。外部記憶装置管理手段１０１は、リード・ライトが正常終了したか否かを判断し（ステップＡ３）、正常終了した場合には、正常数加算処理により、正常終了の累計を計算する（ステップＡ４）。
【００１９】
外部記憶装置管理手段１０１は、リード・ライトが異常終了したと判断すると、異常終了がタイムアウトに起因して発生したか否かを判断する（ステップＡ５）。外部記憶装置管理手段１０１は、タイムアウトに起因しないと判断したときには、異常数加算処理を行い、異常終了の累計を計算する（ステップＡ６）。また、タイムアウトに起因して発生したと判断したときには、タイムアウト数加算処理を行い、タイムアウト発生数の累計を計算する（ステップＡ７）。外部記憶装置管理手段１０１は、リード・ライトをＮ回実施したか否かを判断し（ステップＡ８）、Ｎ回実施していないときには、ステップＡ２へ戻る。これにより、リード・ライトをＮ回実施した際の正常終了の累計、異常終了の累計、タイムアウト数の累計が得られる。
【００２０】
プロセッサ１００が、リード・ライトをＮ回実行すると、外部記憶装置管理手段１０１は、正常性判断処理を行い（ステップＡ９）、結果の正常性を判断する（ステップＡ１０）。ステップＡ９では、例えば異常終了の累計が、所定のしきい値を上回ると、異常であると判断する。また、タイムアウト数の累計と、正常終了の累計との比率に基づいて、正常か否かを判断する。具体的には、タイムアウト数／正常終了数が所定のしきい値を超えると、異常であると判断する。
【００２１】
外部記憶装置管理手段１０１は、ステップＡ１０で正常であると判断すると、スリープ処理（ステップＡ１１）を行って所定の時間だけ待機した後に、ステップＡ１へ戻り、ウォッチドッグタイマー管理手段１０２によってウォッチドッグタイマー１１１をリセットする。その後、ステップＡ２からステップＡ１０を実行する。異常であると判断した場合には、処理を停止する（ステップＡ１２）。
【００２２】
図３は、ＢＭＣ１１０の動作手順を示している。ウォッチドッグタイマー１１１は、図２のステップＡ１でウォッチドッグタイマー管理手段１０２がリセットを発行すると、カウント値ＷＤＴを、初期値にリセットする（ステップＢ１）。ウォッチドッグタイマー１１１のカウント値ＷＤＴを１減算し（ステップＢ２）、カウント値ＷＤＴが０になったか否かを判断する（ステップＢ３）。
【００２３】
カウント値ＷＤＴがまだ０になっていない場合には、ステップＢ２に戻り、カウント値ＷＤＴを更に１つ減算する。これにより、カウント値ＷＤＴは、時間経過と共に、０に近づいていく。ウォッチドッグタイマー管理手段１０２によってリセットが発行された場合には、ステップＢ１へ移行してカウント値ＷＤＴを初期値に設定する。カウント値ＷＤＴが０になると、ＣＰＵに対してＮＭＩ割り込み１６０を発生し、タイムアウトが発生した旨を通知する（ステップＢ４）。
【００２４】
障害検出システム１０では、図２のステップＡ１０で磁気ディスク装置１３０の動作が正常であると判定されると、ウォッチドッグタイマー１１１のリセットが行われる。一方、ステップＡ１０で正常でないと判断された場合には、ステップＡ１２に移行し、処理を停止することで、ウォッチドッグタイマー１１１のリセットが行われない。このため、磁気ディスク装置１３０に障害が発生した場合には、ウォッチドッグタイマー１１１のタイムアウトが発生して、プロセッサ１００にＮＭＩ割り込み１６０が入力される。また、ＯＳが動作できない状態になった場合にも、図２に示す処理が停止することでウォッチドッグタイマー１１１のタイムアウトが発生し、ＮＭＩ割り込み１６０が発生する。
【００２５】
本実施形態では、磁気ディスク装置１３０が正常に動作する場合には、プロセッサ１００にウォッチドッグタイマー１１１を周期的にリセットさせ、異常が発生した場合には、ウォッチドッグタイマー１１１をリセットさせないことでタイムアウトを発生させる。また、磁気ディスク装置１３０が無応答になった場合には、プロセッサ１００が動作できないこともあるが、この場合でも、ウォッチドッグタイマー１１１のリセットが発生しないことで、タイムアウトが発生する。ＢＭＣ１１０は、ウォッチドッグタイマー１１１がタイムアウトを発生すると、プロセッサ１００に、ＮＭＩ割り込み１６０を入力する。これにより、磁気ディスク装置１３０に異常が発生した場合や、プロセッサ１００が動作できない事態となった場合に、プロセッサ１００に、磁気ディスク装置１３０が異常である旨を通知できる。また、リード・ライトの正常終了数、異常終了数、Ｉ／Ｏタイムアウト発生数を観測し、これらに基づいて磁気ディスク装置１３０が正常に動作しているか否かを判断することにより、復旧可能なエラーに対する誤検出を防止できる。
【００２６】
なお、上記実施形態では、異常検出の対象となるＩ／Ｏ装置として、磁気ディスク装置１３０を例に挙げたが、これには限定されない。図４は、本発明の変形例の異常検出システムの構成を示している。変形例の異常検出システム１０ａの入出力管理手段１０１ａは、図１の外部記憶装置管理手段１０１に対応し、Ｉ／Ｏコントローラ１２０ａは、ＳＣＳＩコントローラ１２０に対応する。Ｉ／Ｏコントローラ１２０ａには、バス１７０を介して、磁気ディスク装置１３０とＬＡＮコントローラ１８０とが接続される。Ｉ／Ｏコントローラ１２０ａに接続されるＩ／Ｏ装置は、磁気ディスク装置１３０やＬＡＮコントローラ１８０には限定されず、種々のＩ／Ｏ装置とすることができる。
【００２７】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のＩ／Ｏ装置の異常検出システム、及び、方法は、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態のＩ／Ｏ装置の障害検出システムの構成を示すブロック図。
【図２】プロセッサ１００の動作手順を示すフローチャート。
【図３】ＢＭＣ１１０の動作手順を示すフローチャート。
【図４】本発明の変形例のＩ／Ｏ装置の障害検出システムの構成を示すブロック図。
【符号の説明】
【００２９】
１０：障害検出システム
１００：プロセッサ
１０１：外部記憶装置管理手段
１０２：ウォッチドッグタイマー管理手段
１１０：ＢＭＣ（Base Management Controller）
１１１：ウォッチドッグタイマー
１２０：ＳＣＳＩコントローラ
１３０：磁気ディスク装置
１４０：ＳＣＳＩバス
１５０：Ｉ／Ｏバス
１６０：ＮＭＩ割り込み
【図１】
2007265157.tif 000003
【図２】
2007265157.tif 000004
【図３】
2007265157.tif 000005
【図４】
2007265157.tif 000006