(57)【要約】【課題】起動時の診断時間を短縮する装置起動時診断方法の提供。【解決手段】全検査項目テーブル４６ａに格納された複数の部位名に対する複数の診断レベルの内から選択された診断部位名及び診断レベルを検査テーブル４６ｂに格納しておき、この格納条件に応じて診断部位を診断し、この診断の結果、障害を検出した障害部位名及び障害レベルを障害情報テーブル４６ｃに格納し、この格納した格納した障害レベルに応じて次回に診断を行う部位及び診断レベルを更新するもの。また前記診断レベルを更新した後、この更新した診断部位名及び診断レベルによる総診断時間を計算し、この計算した計算診断時間が所定の診断時間を超えると判定したとき、検査テーブルに格納した診断部位名に対応する最低レベルの診断を削除するように設定変更を行うもの。【選択図】図１
2009003557.tif 000002
【特許請求の範囲】
【請求項１】
複数の部位から成る装置の起動時の診断を行うコンピュータの装置起動時診断方法であって、
該コンピュータが、
前記複数の部位名に対する複数の診断レベルを格納する全検査項目テーブルと、起動時に診断を行う診断部位名と該診断部位名に対応して設定された複数の診断レベルとを格納する検査テーブルと、前記診断時に検出した診断部位名と該診断部位名に対応した障害レベルを格納する障害情報テーブルとに接続され、
前記検査テーブルに格納された診断部位名及び診断レベルを基に診断部位を診断する第１工程と、
該第１工程による診断の結果、障害を検出した障害部位名及び障害レベルを前記障害情報テーブルに格納する第２工程と、
該第２工程により障害情報テーブルに格納した障害レベルが、所定のレベルより高いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより高く設定する第３工程と、
前記第２工程により障害情報テーブルに格納した障害レベルが、所定のレベルより低いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより低く設定する第４工程と、
を行う装置起動時診断方法。
【請求項２】
前記全検査項目テーブルが、複数の部位名及び複数の診断レベルに対応した診断に要する時間を格納し、
前記コンピュータが、
前記第３工程及び第４工程により診断レベルを設定した後、前記検査テーブルに格納した診断部位名及び診断レベルによる総診断時間を前記全検査項目テーブルに格納した診断に要する時間を計算する第５工程と、
該計算した計算診断時間が所定の診断時間を超えると判定したとき、前記検査テーブルに格納した診断部位名に対応する最低レベルの診断を削除するように検査テーブルの診断レベルを変更する第６工程とを行う請求項１記載の装置起動時診断方法。
【請求項３】
前記コンピュータが、前記第５工程による検査テーブルの診断レベルを変更した後、前記第５工程による診断に要する診断時間を再計算し、該再計算した計算診断時間が所定の診断時間を超えると判定したとき、エラー処理を行う第７工程を行う請求項２記載の装置起動時診断方法。
【請求項４】
装置を構成する複数の部位名に対する複数の診断レベルを格納する全検査項目テーブルと、起動時に診断を行う診断部位名と該診断部位名に対応して設定された複数の診断レベルとを格納する検査テーブルと、前記診断時に検出した診断部位名と該診断部位名に対応した障害レベルを格納する障害情報テーブルとに接続され、前記複数の部位から成る装置の起動時の診断を行うコンピュータの装置起動時診断プログラムであって、
前記コンピュータに、
前記検査テーブルに格納された診断部位名及び診断レベルを基に診断部位を診断する第１機能と、
該第１機能による診断の結果、障害を検出した障害部位名及び障害レベルを前記障害情報テーブルに格納する第２機能と、
該第２機能により障害情報テーブルに格納した障害レベルが、所定のレベルより高いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより高く設定する第３機能と、
前記第２機能により障害情報テーブルに格納した障害レベルが、所定のレベルより低いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより低く設定する第４機能と、
を実現させるための装置起動時診断プログラム。
【請求項５】
前記全検査項目テーブルが、複数の部位名及び複数の診断レベルに対応した診断に要する時間を格納し、
前記コンピュータに、
前記第３機能及び第４機能により診断レベルを設定した後、前記検査テーブルに格納した診断部位名及び診断レベルによる総診断時間を前記全検査項目テーブルに格納した診断に要する時間を計算する第５機能と、
該計算した計算診断時間が所定の診断時間を超えると判定したとき、前記検査テーブルに格納した診断部位名に対応する最低レベルの診断を削除するように検査テーブルの診断レベルを変更する第６機能とを実現させるための請求項４記載の装置起動時診断プログラム。
【請求項６】
前記コンピュータに、
前記第５機能による検査テーブルの診断レベルを変更した後、前記第５機能による診断に要する診断時間を再計算し、該再計算した計算診断時間が所定の診断時間を超えると判定したとき、エラー処理を行う第７機能を実現させる請求項５記載の装置起動時診断プログラム。
【請求項７】
装置を構成する複数の部位名に対する複数の診断レベルを格納する全検査項目テーブルと、起動時に診断を行う診断部位名と該診断部位名に対応して設定された複数の診断レベルとを格納する検査テーブルと、前記診断時に検出した診断部位名と該診断部位名に対応した障害レベルを格納する障害情報テーブルとに接続され、前記複数の部位から成る装置の起動時の診断を行う起動時診断装置であって、
前記検査テーブルに格納された診断部位名及び診断レベルを基に診断部位を診断し、
該診断の結果、障害を検出した障害部位名及び障害レベルを前記障害情報テーブルに格納し、
前記障害情報テーブルに格納した障害レベルが、所定のレベルより高いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより高く設定し、
前記障害情報テーブルに格納した障害レベルが、所定のレベルより低いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより低く設定する装置起動時診断装置。
【請求項８】
前記全検査項目テーブルが、複数の部位名及び複数の診断レベルに対応した診断に要する時間を格納し、
前記診断レベルを設定した後、前記検査テーブルに格納した診断部位名及び診断レベルによる総診断時間を前記全検査項目テーブルに格納した診断に要する時間を計算し、
該計算した計算診断時間が所定の診断時間を超えると判定したとき、前記検査テーブルに格納した診断部位名に対応する最低レベルの診断を削除するように検査テーブルの診断レベルを変更する請求項７記載の装置起動時診断装置。
【請求項９】
前記検査テーブルの診断レベルを変更した後、前記診断に要する診断時間を再計算し、該再計算した計算診断時間が所定の診断時間を超えると判定したとき、エラー処理を行う請求項８記載の装置起動時診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの起動時に各種診断を行う起動時診断方法、診断プログラム及び起動時診断装置に係り、特に所定の時間内に効率よく診断を実施することができる起動時診断方法、診断プログラム及び起動時診断装置に関する。
【背景技術】
【０００２】
一般にコンピュータシステムは、起動時に各種ハードが正常に動作するか否かの診断やメモリ等の初期化を実行し、この診断後にシステムを起動することが行われている。例えば、ホストコンピュータに磁気ディスク制御装置を介してハードディスク装置を接続したシステムにおいても、該磁気ディスク制御装置が正常に機能するか否かの起動時診断が行われている。
【０００３】
尚、コンピュータシステムの起動時における診断技術が記載された文献としては、例えば下記特許文献が挙げられ、この特許文献には、起動時に診断を行うＣＰＵが正常に診断を行っているか否かを起動確認装置によって検証する技術が記載されている。
【特許文献１】特開２００５−３２１９４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述した磁気ディスク制御装置に対する起動時の診断は、保守用のコンピュータによって行われ、その診断項目としては、メインプロセッサの基本機能テスト、不揮発性メモリテスト、内部メモリテスト、タイマテスト、内部コントローラチップテスト、内部コントローラチップエラー検出機能テスト、ＬＡＮコントローラテスト、基本キャッシュメモリテスト、増設キャッシュメモリテスト、ホストコントローラインタフェース（Ｉ／Ｆ）テスト、ドライブコントローラＩ／Ｆテスト、ホストコントローラＩ／Ｆ転送機能テスト、ドライブコントローラＩ／Ｆ転送機能テスト、ホストコントローラＩ／Ｆエラー検出機能テスト、ドライブコントローラＩ／Ｆエラー検出機能テスト他の多種にわたり、更に前記各診断項目レベルも簡略／通常／詳細の３段階に区分され、簡略レベルでも約１７６秒、詳細レベルの場合は約４２２秒を要している。
【０００５】
前述の診断は、全ての診断項目を詳細レベルで実行することがシステムの信頼性を維持するためには最も好ましいものであるが、近年のコンピュータシステムにおいては、ユーザがユーザシステムの障害発生時の再起動時間を短縮する等の要請によって前記起動診断時間を予め指定することが行われており、このため全診断項目の詳細レベルの診断を行うことができず、起動時に検出することが出来ない障害が、起動後に発生する可能性があると言う不具合があった。
【０００６】
本発明の目的は、装置起動のハードウェア診断を短時間に効率よく行うことができる起動時診断方法、起動時診断プログラム及び起動時診断装置を提供することである。
【課題を解決するための手段】
【０００７】
前記目的を達成するため本発明は、複数の部位から成る装置の起動時の診断を行うコンピュータの装置起動時診断方法であって、
該コンピュータが、
前記複数の部位名に対する複数の診断レベルを格納する全検査項目テーブルと、起動時に診断を行う診断部位名と該診断部位名に対応して設定された複数の診断レベルとを格納する検査テーブルと、前記診断時に検出した診断部位名と該診断部位名に対応した障害レベルを格納する障害情報テーブルとに接続され、
前記検査テーブルに格納された診断部位名及び診断レベルを基に診断部位を診断する第１工程と、
該第１工程による診断の結果、障害を検出した障害部位名及び障害レベルを前記障害情報テーブルに格納する第２工程と、
該第２工程により障害情報テーブルに格納した障害レベルが、所定のレベルより高いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより高く設定する第３工程と、
前記第２工程により障害情報テーブルに格納した障害レベルが、所定のレベルより低いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより低く設定する第４工程と、
を行うことを第１の特徴とする。
【０００８】
また本発明は、前記装置起動時診断方法において、前記全検査項目テーブルが、複数の部位名及び複数の診断レベルに対応した診断に要する時間を格納し、
前記コンピュータが、
前記第３工程及び第４工程により診断レベルを設定した後、前記検査テーブルに格納した診断部位名及び診断レベルによる総診断時間を前記全検査項目テーブルに格納した診断に要する時間を計算する第５工程と、
該計算した計算診断時間が所定の診断時間を超えると判定したとき、前記検査テーブルに格納した診断部位名に対応する最低レベルの診断を削除するように検査テーブルの診断レベルを変更する第６工程とを行うことを第２の特徴とする。
【０００９】
また本発明は、前記第２の特徴の装置起動時診断方法において、前記コンピュータが、前記第５工程による検査テーブルの診断レベルを変更した後、前記第５工程による診断に要する診断時間を再計算し、該再計算した計算診断時間が所定の診断時間を超えると判定したとき、エラー処理を行う第７工程を行うことを第３の特徴とする。
【００１０】
更に本発明は、装置を構成する複数の部位名に対する複数の診断レベルを格納する全検査項目テーブルと、起動時に診断を行う診断部位名と該診断部位名に対応して設定された複数の診断レベルとを格納する検査テーブルと、前記診断時に検出した診断部位名と該診断部位名に対応した障害レベルを格納する障害情報テーブルとに接続され、前記複数の部位から成る装置の起動時の診断を行うコンピュータの装置起動時診断プログラムであって、
前記コンピュータに、
前記検査テーブルに格納された診断部位名及び診断レベルを基に診断部位を診断する第１機能と、
該第１機能による診断の結果、障害を検出した障害部位名及び障害レベルを前記障害情報テーブルに格納する第２機能と、
該第２機能により障害情報テーブルに格納した障害レベルが、所定のレベルより高いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより高く設定する第３機能と、
前記第２機能により障害情報テーブルに格納した障害レベルが、所定のレベルより低いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより低く設定する第４機能と、
を実現させることを第４の特徴とする。
【００１１】
また本発明は、前記装置起動時診断プログラムにおいて、前記全検査項目テーブルが、複数の部位名及び複数の診断レベルに対応した診断に要する時間を格納し、
前記コンピュータに、
前記第３機能及び第４機能により診断レベルを設定した後、前記検査テーブルに格納した診断部位名及び診断レベルによる総診断時間を前記全検査項目テーブルに格納した診断に要する時間を計算する第５機能と、
該計算した計算診断時間が所定の診断時間を超えると判定したとき、前記検査テーブルに格納した診断部位名に対応する最低レベルの診断を削除するように検査テーブルの診断レベルを変更する第６機能とを実現させることを第５の特徴とする。
【００１２】
また本発明は、前記第５の特徴の装置起動時診断プログラムにおいて、前記コンピュータに、
前記第５機能による検査テーブルの診断レベルを変更した後、前記第５機能による診断に要する診断時間を再計算し、該再計算した計算診断時間が所定の診断時間を超えると判定したとき、エラー処理を行う第７機能を実現させることを第６の特徴とする。
【００１３】
更に本発明は、装置を構成する複数の部位名に対する複数の診断レベルを格納する全検査項目テーブルと、起動時に診断を行う診断部位名と該診断部位名に対応して設定された複数の診断レベルとを格納する検査テーブルと、前記診断時に検出した診断部位名と該診断部位名に対応した障害レベルを格納する障害情報テーブルとに接続され、前記複数の部位から成る装置の起動時の診断を行う起動時診断装置であって、
前記検査テーブルに格納された診断部位名及び診断レベルを基に診断部位を診断し、
該診断の結果、障害を検出した障害部位名及び障害レベルを前記障害情報テーブルに格納し、
前記障害情報テーブルに格納した障害レベルが、所定のレベルより高いとき、前記検査テーブルに格納された診断部位名に対応する前記第１工程のときに診断した診断レベルより診断レベルを高く設定し、
前記障害情報テーブルに格納した障害レベルが、所定のレベルより低いとき、前記検査テーブルに格納された診断部位名に対応する診断レベルを前記第１工程のときに診断した診断レベルより低く設定することを第７の特徴とする。
【００１４】
また本発明は、前記装置起動時診断装置において、前記全検査項目テーブルが、複数の部位名及び複数の診断レベルに対応した診断に要する時間を格納し、
前記診断レベルを設定した後、前記検査テーブルに格納した診断部位名及び診断レベルによる総診断時間を前記全検査項目テーブルに格納した診断に要する時間を計算し、
該計算した計算診断時間が所定の診断時間を超えると判定したとき、前記検査テーブルに格納した診断部位名に対応する最低レベルの診断を削除するように検査テーブルの診断レベルを変更することを第８の特徴とする。
【００１５】
また本発明は、前記第８の特徴の装置起動時診断装置において、前記検査テーブルの診断レベルを変更した後、前記診断に要する診断時間を再計算し、該再計算した計算診断時間が所定の診断時間を超えると判定したとき、エラー処理を行うことを第９の特徴とする。
【発明の効果】
【００１６】
本発明によれば、前記検査テーブルに格納された診断部位名及び診断レベルを基に診断部位を診断し、この診断の結果、障害を検出した障害部位名及び障害レベルを前記障害情報テーブルに格納し、この障害情報テーブルに格納した障害レベルの高低に応じて検査テーブルに格納された診断部位名に対応する診断レベルを変更することによって、装置起動のハードウェア診断を短時間に効率よく行うことができる。
【００１７】
更に本発明によれば、再構築した検査テーブルの設定を基に診断に要する時間を計算し、所定の総診断時間を超えると判定したとき、最も影響が少ない低レベルの診断項目を削除することによって診断時間を短縮することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明による起動時診断方法及び起動時診断プログラムを適用した起動時診断装置の一実施形態を図面を参照して詳細に説明する。図１は本発明の一実施形態による装置起動時診断方法が適用されるコンピュータシステムを示す図、図２Ａ及び図２Ｂは本実施形態による起動時診断の全検査項目テーブルを示す図、図３は本実施形態による初期状態の検査テーブルを示す図、図４は本実施形態による障害情報テーブルを示す図、図５は本実施形態による検査テーブルのチェック項目例を示す図、図６は本実施形態によるメモリの診断領域例を示す図、図７は本実施形態によるメモリのテストパターンの例を示す図、図８は本実施形態によるエラー検出例を示す図、図９は本実施形態による検査テーブルの更新条件設定テーブルを示す図、図１０は本実施形態によるエラー検出例を示す図、図１１は本実施形態による障害情報テーブル更新例を示す図、図１２は本実施形態による検査テーブル例を示す図、図１３は本実施形態による障害情報テーブルの更新から次回起動時の診断実施までのフロー図である。
【００１９】
＜構成＞
本実施形態の対象となるコンピュータシステムは、各種処理を実行するホストコンピュータ１０と、該ホストコンピュータ１０とファイバーチャネルスイッチ（ＦＣ−ＳＷ）１１を介して接続される磁気ディスク制御装置（ＤＫＣ）２０と、該磁気ディスク制御装置２０に接続され、多数の磁気ディスク装置から成るディスクドライブ３０とから構成され、このコンピュータシステムに前記磁気ディスク制御装置２０とＬＡＮ−ＨＵＢ１３を介してＬＡＮ接続され、本実施形態の特徴である診断を実行する保守用コンピュータＰＣ１２が接続されている。
【００２０】
ここで診断対象となる磁気ディスク制御装置２０について説明すると、この磁気ディスク制御装置２０はホストコンピュータ１０にて処理されるデータ他を記憶するディスクドライブ３０を制御するものであって、前記ファイバーチャネルスイッチ１１他と接続するためのホストポート２１と、該ホストポート２１を制御するためのホストインタフェース（Ｉ／Ｆ）コントローラ２４と、前記ＬＡＮ−ＨＵＢ１３と接続するためのＬＡＮポート２３と、該ＬＡＮポート２３を制御するためのＬＡＮコントローラ２５と、前記ディスクドライブ３０の磁気ディスク装置と接続するためのドライブポート４８と、該ドライブポート４８を制御するドライブインタフェース（Ｉ／Ｆ）コントローラ４７と、装置全体を制御する機能を実行するメインプロセッサ２６と、各種データやプログラムを制御する内部メモリ４１と、内部タイマ４２と、内部コントローラチップ４３と、基本キャッシュメモリ４４と、増設キャッシュメモリ４５と、後述する障害情報テーブルを格納する不揮発性メモリ４６とを備え、前記各構成が本実施形態による診断対象となるハードウェア（診断対象となる部位）である。
【００２１】
本実施形態による保守ＰＣ１２は、前記磁気ディスク制御装置２０の起動時の診断を行うための診断プログラム及び障害情報テーブル１２ａを格納し、該障害情報テーブル１２ａは、磁気ディスク制御装置２０に対する全検査項目を定義した全検査項目テーブル４６ａと、起動時に実行する検査項目を定義した検査テーブル４６ｂと、診断結果により診断部位に対する障害レベルを格納する障害情報テーブル４６ｃとから構成されている。尚、前記障害情報テーブル１２ａの内容は後述する磁気ディスク制御装置２０の不揮発性メモリから複写され、同期がとられている。
【００２２】
［全検査項目テーブル］
装置起動時の全検査項目を定義した全検査項目テーブル４６ａは、図２Ａ及び図２Ｂに示す如く、診断項目としてメインプロセッサの基本機能テスト、不揮発性メモリテスト、内部メモリテスト、タイマテスト、内部コントローラチップテスト、内部コントローラチップエラー検出機能テスト、ＬＡＮコントローラテスト、基本キャッシュメモリテスト、増設キャッシュメモリテスト、ホストコントローラインタフェース（Ｉ／Ｆ）テスト、ドライブコントローラＩ／Ｆテスト、ホストコントローラＩ／Ｆ転送機能テスト、ドライブコントローラＩ／Ｆ転送機能テスト、ホストコントローラＩ／Ｆエラー検出機能テスト、ドライブコントローラＩ／Ｆエラー検出機能テストの各項目が設定された診断項目欄と、該診断項目毎の診断対象となる診断部位名（例えばメインプロセッサ／不揮発メモリ他のハード部位名）が設定された診断部位名欄と、該診断部位名に対応した診断内容（例えばプロセッサに対してはテスト命令を実行させる／メモリに対してはテストパターンの書き込み／読み出しを行う等の診断内容）を格納した診断内容欄と、該診断内容に応じた複数の診断レベル（スキップ（モード）／簡略（モード）／通常（モード）／詳細（モード））が設定された診断レベル欄と、前記診断レベルに応じた目安の診断時間（例えば簡略では４０秒、詳細では６０秒）を設定した診断時間欄とから構成され、診断時間欄には、図２Ｂの最下段に示した如く、スキップできる診断項目をスキップした際に要する時間が１１８秒、簡略診断に要する時間が１７６秒、通常診断に要する時間が３００秒、詳細診断に要する時間が４２２秒と設定されている。
【００２３】
［検査テーブル］
前記検査テーブル４６ｂは、図３に示す如く、装置起動時にハード部位毎に実行する検査項目に対応する検査レベルの実施／不実施を「１」／「０」のフラグにより設定するものであって、図示の例では初期設定において全検査項目の診断レベルの「通常（モード）」にフラグ「１」を立てることにより、初期設定時においては全診断項目を通常レベルで実行することが設定されている。
【００２４】
この検査テーブル４６ｂは、後述する障害情報テーブル４６ｃに格納された診断情報に基づいて更新され、例えば障害情報テーブル４６ｃのドライブコントローラインタフェース転送機能テストにランクＢの障害発生が格納されていた場合は、ドライブコントローラインタフェース転送機能テストの診断レベルを「詳細（モード）」に設定する様に更新されるものである。
【００２５】
［障害情報テーブル］
この障害情報テーブル４６ｃは、図４に示す如く、装置診断時（例えば起動時／計画停止時／定期的診断時）に検出した全検査項目毎のエラーをＡ〜Ｄの４ランクに区分し、該当レベルのエラーが何回発生したかを格納することによって、全診断項目に対応する障害発生回数を格納するものである。前記ランクＡは、例えばディスクドライブ３０へのリードライト命令に対する応答時間が所定時間以上経過し、リトライによっても前記命令に対する応答がない等のディスクドライブ３０を閉塞するレベルの重大障害であり、レベルＢは、前記タイムアウトが発生したがリトライにより命令に対する応答が返されるレベルの障害であり、レベルＣはタイムアウトが発生するものの閉塞に至らないレベルの障害であり、レベルＤはエラーがなく起動（正常に起動動作）したことを記録するものである。
【００２６】
［診断領域及び診断レベル例］
次に前記診断内容による診断レベルを基本キャッシュメモリを例にとって説明する。この基本キャッシュメモリに対する診断チェック項目は、基本キャッシュメモリが、図６に示した如く、プログラム領域／データ格納領域／障害データ格納領域／予備領域とを標準としたとき、検査テーブルに格納するチェック項目としては、図５に示す如く、前記標準の記憶領域に対する「スキップモード」及び「簡略モード」には一部の領域に対する診断を実施することを示す「△」フラグ、「通常モード」及び「詳細モード」には前記標準に含まれる全領域の診断を行うことを示す「○」フラグを立て、基本キャッシュメモリの全記憶領域に対してのみ「○」フラグを立て、そのメモリに書き込み／読み出しを行うテストパターンとしては簡略テストパターン／標準テストパターン／拡張テストパターンの３種を設定し、「スキップモード」及び「簡略モード」では簡略テストパターンを用い、「通常モード」では簡略及び標準テストパターンを用い、詳細モードでは前記全テストパターンを用いることを設定している。
【００２７】
前記診断領域のプログラム領域は、図６に示す如く、装置可動用プログラムを格納する領域であって、前記全診断モードが実行されると設定され、データ格納領域は、ホストコンピュータとディスクドライブ間の転送データを一時的に格納する領域であって、通常及び詳細モードが実行されると設定され、障害データ格納領域とは、障害が発生した際のログを記録としてデータ格納するものであって、詳細モードが実行されると設定され、予備領域とは、前記同様に詳細モードが実行されると設定されるものである。
【００２８】
前記簡略テストパターンとは、図７に示す如く、データがオール「ゼロ」及びオール「Ｆ」であり、標準テストパターンとは、上位ビットから下位ビットまでの全ビットのオン／オフを行うテストパターンであり、拡張テストパターンとは、ビットインクメントと呼ばれる最小値から最大値まで１づつ加算値を書き込むテストパターンと、ビットデクリメントと呼ばれる最小値から最大値まで１つづ減算値を書き込むテストパターンである。
【００２９】
［検査結果テーブル］
次に診断によりエラーを検出した際の検査テーブルの更新手順を説明する。まず、検査テーブル４６ｂの診断レベルＡ〜Ｄは、診断結果による障害レベルを基に更新されるものであり、この更新条件を図９を参照して説明する。
【００３０】
図９は、発生した障害レベルと、この障害レベルに応じて更新する診断レベルとの関係を示す更新条件設定テーブルであり、図中左端縦軸を発生した障害ランクＡ〜Ｄとし、横軸に各障害ランクＡ〜Ｄに応じて診断レベルを更新する条件を登録したものであって、例えばランクＡの障害が発生した場合、図９左側の更新前の診断レベルが個々に異なる場合であっても、図右側に示した如く診断レベルを全て「詳細モード」に設定する条件と、ランクＢの障害が発生した場合、図左側の更新前の診断レベルを図右側に示した如く全て１ランク上げるように設定する条件と、ランクＣの障害が発生した場合、予め定めたエラー発生回数の閾値をオーバーしたときはランクを１ランク上げ、前記閾値に達しないときはランクを維持する条件と、ランクＤと判定した場合、図左側の更新前の診断レベルを図右側に示した如く原則１ランク下げるように設定（但し、簡略モードのときは「簡略モード」と「スキップモード」の両モードに設定し、後述する装置起動時の診断時間が規定された診断時間を超えるときに「スキップモード」のみに設定）する条件とをテーブル形式により設定している。
［動作］
【００３１】
次に本実施形態による起動時診断方法及び起動時診断プログラムの動作を図１３他を参照して説明する。
まず本実施形態による起動時診断方法は、保守用ＰＣ１２のＣＰＵが起動時診断プログラムに従い、まず自己のメモリ等に記憶した検査テーブル４６ｂに格納した複数の診断項目に対する診断レベルを取得するステップＳ１と、該取得した診断レベルに従ってメインプロセッサの基本機能テストを実行するステップＳ２と、該ステップＳ２の診断によりエラーを検出したか否かを判定するステップＳ３と、該ステップＳ３においてエラーを検出しないと判定したとき、障害情報テーブル４６ｃをランクＤ（障害なし）として更新するステップＳ４と、前記更新条件設定テーブルの条件に従って検査テーブル４６ｂを更新するステップＳ５とを実行する。
【００３２】
次いで本起動時診断方法は、前記更新した検査テーブル４６ｂに設定された診断レベルに応じて診断時間を集計するステップＳ１５と、該ステップＳ１５により計算した診断時が予め規定された総診断時間（例えば３００秒）を超えているか否かを判定し、規定時間を超えていないと判定したとき、処理を終了するステップＳ１６とを実行する。
【００３３】
このように本実施形態による起動時診断方法は、検査テーブルに設定した複数の診断項目の診断レベルに応じた診断を行い、エラーがないと判定したときには障害情報テーブル及検査テ―ブルを更新し、次いで次回の起動時の診断時間が所定の時間内に完了すると判定したとき、処理を終了する。
【００３４】
前記ステップＳ１６における総診断時間の判定は、例えば図１０に示した如く、ドライブコントロールインタフェースエラー検出機能テストのみが詳細モードに設定され、この設定による総診断時間の総計が３２０秒となり、２０秒超過していると判定したとき、図１１に示す如く、総診断時間オーバーによるエラーをランクＡとして設定する。
【００３５】
このステップＳ１６において総診断時間が予め規定された時間を超えていると判定されたとき、本起動時診断方法は、図１３の処理に戻り、前述した図９を用いて説明したランクＤによる「スキップモード」と「簡略モード」の両者が設定されており、例えば「簡略モード」を削除して「スキップモード」のみに設定変更が可能な検査項目があるか否かを判定するステップＳ１７と、該ステップＳ１７においてスキップ診断のみに変更できる項目がないと判定したとき、障害情報テーブル４６ｃを更新するステップＳ１８と、管理者にエラー表示を行って処理を終了するステップＳ２４と、前記ステップＳ１７においてスキップ診断のみに変更できる項目があると判定したとき、検査テーブル４６ｂの簡略モードを削除してスキップモードのみにするように検査テーブルを更新するステップＳ１９と、該更新後においても総診断時間が規定の総診断時間を超えるか否かを判定し、超えないと判定したときには処理終了のステップＳ２３に移行するステップＳ２０と、該ステップＳ２０において総診断時間が規定の時間を超えると判定したとき、管理者にエラー表示を行って処理を終了するステップＳ２２とを実行する。
【００３６】
このように本実施形態による起動時診断方法・プログラム及び起動時診断装置は、検査テーブル４６ｂに設定した診断レベルにより次回の起動時に要する総診断時間を計算し、次回の起動時の総診断時間が規定の時間を超えると判定したとき、省略しても問題の少ない可能性が大きい「簡略モード」の診断を削除するように検査テーブル４６ｂの診断レベルの更新を行う様に動作する。
【００３７】
さて、本起動時診断方法は、前述のステップＳ３においてエラーを検出したと判定したとき、該検出したエラーがランクＡか否かを障害情報テーブル４６ｃを参照して判定するステップＳ６と、該ステップＳ６においてエラーがランクＡであると判定したとき、障害情報テーブル及び検査テーブルの障害レベルをランクＡに登録更新するステップＳ７及びＳ８と、エラー表示を行って処理を終了するステップＳ９とを実行する。前記ステップＳ８による障害レベルの更新は、前記ステップＳ１により診断された診断レベルを更に高い障害レベルに更新する処理であり、後述するステップＳ１２においても同様である。
【００３８】
前記ステップＳ６においてエラーがランクＡでないと判定したとき、障害レベルがＢ又はＣであるか否かを判定するステップＳ１０と、該ステップＳ６においてエラーがランクＢ又はＣであると判定したとき、障害情報テーブル及び検査テーブルの障害レベルをランクＢ又はＣに登録更新するステップＳ１１及びＳ１２と、エラー表示を行って前述のステップＳ１５に移行する処理を実行する。
【００３９】
前記ステップＳ１０においてエラーがランクＢ又はＣでないと判定したとき、障害情報テーブル及び検査テーブルの障害レベルをランクＤに登録更新するステップＳ１３及びＳ１４と、エラー表示を行って前述のステップＳ１５に移行する処理を実行する。前記ステップＳ１４による障害レベルの更新は、前記ステップＳ１により診断された診断レベルを低い障害レベルに更新する処理である。
【００４０】
この様に本実施形態による起動時診断方法、起動時診断プログラム及び起動時診断装置は、装置の起動時にエラーを検出した場合、そのエラーのランクを判定し、装置閉塞を招くランクＡの場合は障害情報及び検査テーブルの障害ランクをＡに更新して処理を終了し、ランクＢ以下のときには当該ランクに合わせて障害情報及び検査テーブル障害ランクを更新して前記ステップＳ１５以降の処理による起動時間が規定の総診断時間内に収まるか否かを判定し、収まらない場合、省略しても問題の少ない可能性が大きい「簡略モード」の診断を削除するように検査テーブルの診断レベルの更新を行う様に動作することによって、装置起動のハードウェア診断を短時間に効率よく行うことができ、更に簡略可能な診断内容を含む場合は規定時間内に診断時間を納めることができる。
【００４１】
即ち本発明は、診断により検出した診断部位名に応じたエラーの障害レベルを障害情報テーブルに格納し、該障害情報テーブルに格納した診断部位に応じたエラーの障害レベルに基づいて診断レベルを更新することによって、次回の起動時における診断部位に応じた診断レベルを変更し、効率的に起動時の診断を行うことができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態による装置起動時診断方法が適用されるコンピュータシステムを示す図。
【図２Ａ】本実施形態による起動時診断の全検査項目テーブルを示す図。
【図２Ｂ】本実施形態による起動時診断の全検査項目テーブルを示す図。
【図３】本実施形態による初期状態の検査テーブルを示す図。
【図４】本実施形態による障害情報テーブルを示す図。
【図５】本実施形態による検査テーブルのチェック項目例を示す図。
【図６】本実施形態によるメモリの診断領域例を示す図。
【図７】本実施形態によるメモリのテストパターンの例を示す図。
【図８】本実施形態によるエラー検出例を示す図。
【図９】本実施形態による検査テーブルの更新条件設定テーブルを示す図。
【図１０】本実施形態によるエラー検出例を示す図。
【図１１】本実施形態による障害情報テーブル更新例を示す図。
【図１２】本実施形態による検査テーブル例を示す図。
【図１３】本実施形態による障害情報テーブルの更新から次回起動時の診断実施までのフロー図。
【符号の説明】
【００４３】
１０：ホストコンピュータ、１１：ファイバーチャネルスイッチ、１２ａ：障害情報テーブル、２０：磁気ディスク制御装置、２１：ホストポート、２３：ポート、２４：コントローラ、２５：コントローラ、２６：メインプロセッサ、３０：ディスクドライブ、４１：内部メモリ、４２：内部タイマ、４３：内部コントローラチップ、４４：基本キャツシュメモリ、４５：増設キャツシュメモリ、４６：不揮発性メモリ、４６ａ：全検査項目テーブル、４６ｂ：検査テーブル、４６ｃ：障害情報テーブル、４７：コントローラ、４８：ドライブポート、ＰＣ１２：保守用コンピュータ。
【図１】
2009003557.tif 000003
【図２Ａ】
2009003557.tif 000004
【図２Ｂ】
2009003557.tif 000005
【図３】
2009003557.tif 000006
【図４】
2009003557.tif 000007
【図５】
2009003557.tif 000008
【図６】
2009003557.tif 000009
【図７】
2009003557.tif 000010
【図８】
2009003557.tif 000011
【図９】
2009003557.tif 000012
【図１０】
2009003557.tif 000013
【図１１】
2009003557.tif 000014
【図１２】
2009003557.tif 000015
【図１３】
2009003557.tif 000016