(57)【要約】【課題】継続的なハードウェア障害を検出して起動することができない情報処理装置において、障害解析を行える情報処理装置を提供することにある。【解決手段】自己診断プログラムを格納したROMと、電源オフ時にも内容が保存される不揮発性メモリと、起動時にROMから自己診断プログラムを読み出して自己診断を実行するCPUとを備え、不揮発性メモリ内に実行コード記録領域を設け、自己診断プログラムが不揮発性メモリ内に保存された実行コードを読み出し、前回の実行コードが異常終了である場合、障害を検出した自己診断機能が省略可能な自己診断機能であれば、該当する自己診断機能を省略して情報処理装置を起動する。【選択図】  図１
2007102511.tif 000002
【特許請求の範囲】
【請求項１】
自己診断プログラムを格納したROMと、
電源オフ時に内容が保存される不揮発性メモリと、
起動時に前記ROMから自己診断プログラムを読み出して自己診断を実行するCPUとを備える情報処理装置であって、
前記不揮発性メモリ内に実行コード記憶領域を設け、
前記自己診断プログラムが前記不揮発性メモリ内に格納された実行コードを読み出し、前回の実行コードが異常終了である場合は、エラーを検出した自己診断機能が省略可能な自己診断機能であれば、該自己診断機能を省略して装置を起動することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関し、特に障害解析についての自己診断を行う情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置は、起動時の自己診断プログラムによって、マザーボード上のハードウェアデバイス等の障害を検出する機能を持っているが、障害を検出するとそのまま起動が停止するため、障害検出のタイミングがディスプレイ装置の初期化前であると、エラーメッセージや自己診断プログラムの進捗を目視で確認できない。
【０００３】
自己診断プログラムは自己診断対象部位を示す実行コードを出力するため、障害を検出して停止した場合は、そのときの実行コードを参照することによって自己診断部位の特定を行うことができる。例えば、特許文献１には、自己診断プログラムが出力した実行コードを不揮発性メモリに保存しておき、間欠障害の解析を可能とする技術が開示されている（特許文献１）。
【０００４】
【特許文献１】特開平11-120025号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１において、継続的なハードウェア障害が検出された場合は、再起動を行ってもまた同じ自己診断部位で起動が停止してしまうため、不揮発性メモリを参照することができず、当該装置において障害の解析を行うことができない。
【０００６】
また、マザーボード上に実装された専用のハードウェアデバイスに対して実行コードを出力すれば、継続的なハードウェア障害の監視を行うことができるが、マザーボードに合わせた専用の設計が必要となるため開発コストがかかり、廉価版のマザーボードに対して有効ではない。
【０００７】
本発明の目的は、継続的なハードウェア障害を検出して起動することができない場合に、障害解析を行える情報処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は、自己診断プログラムを格納したROMと、電源オフ時にも内容が保存される不揮発性メモリと、起動時にROMから自己診断プログラムを読み出して自己診断を実行するCPUとを備え、不揮発性メモリ内に実行コード記録領域を設け、自己診断プログラムが不揮発性メモリ内に保存された実行コードを読み出し、前回の実行コードが異常終了である場合、障害を検出した自己診断機能が省略可能な自己診断機能であれば、該当する自己診断機能を省略して情報処理装置を起動する。
【発明の効果】
【０００９】
本発明によれば、継続的なハードウェア障害を検出して起動することができない情報処理装置を一時的に起動させることにより、当該装置において障害解析が行えるという効果がある。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態である情報処理装置を図面を用いて詳細に説明する。
【００１１】
図１は、情報処理装置のシステム構成を示すブロック図である。本システムは、自己診断プログラム104を格納したROM103と、電源オフ時にも内容が保存される不揮発性メモリ105と、起動時にROM103から自己診断プログラム104を読み出して自己診断を実行するCPU101とを備える。不揮発性メモリ105内には実行コード記録領域106を設け、自己診断プログラム104が実行コード記録領域106に格納された実行コード107を読み出し、前回の実行コードが異常終了のとき、エラーを検出した自己診断部位が省略可能な自己診断部位であれば、該当する自己診断機能を省略して情報処理装置を起動する。
【００１２】
図２及び図３は、自己診断プログラム104の処理動作を示すフローチャートである。まず、情報処理装置の起動時に、不揮発性メモリ105に記録された前回起動時の実行コードを読み出し（ステップ201）、自己診断結果を判定する（ステップ202）。ステップ202における自己診断結果が正常終了であれば、解析フラグと省略フラグのクリアを行い（ステップ204）、最初の自己診断部位を読み出す（ステップ206）。ステップ202における自己診断結果が異常終了であれば、エラーを検出した自己診断部位の診断が省略可能であるか否かを判定する（ステップ203）。ステップ203の判定の結果、省略可能であれば、解析フラグをセットすると同時に、その自己診断部位に対して省略フラグのセットを行い（ステップ205）、最初の自己診断部位を読み出す（ステップ206）。ステップ203の判定の結果、省略可能でなければ、情報処理装置を起動することができないと判断して、エラービープ音を出力し（ステップ214）、エラービープ音の組合せにより障害の解析を行う（ステップ215）。
【００１３】
ステップ206において、最初の自己診断部位が読み込まれると、読み出された自己診断部位について省略フラグがセットされているか否かの判定を行う（ステップ207）。省略フラグがセットされている場合は、該当する自己診断機能を省略して省略フラグのクリアを行い（ステップ208）、次の自己診断部位を読み出す（ステップ209）。ステップ207の判定の結果、省略フラグがセットされていない場合は、該当する自己診断機能を実行し（ステップ211）、自己診断結果を判定する（ステップ212）。自己診断結果が、エラーであることが検出された場合は、実行コードを不揮発性メモリ105に記録し（ステップ213）、処理フローの始めに戻る。ステップ212において、自己診断結果がエラーでないことが検出された場合は、次の自己診断部位を読み出す（ステップ219）。
【００１４】
次の自己診断部位の読み出し（ステップ219）を行った後、全ての自己診断機能が完了したか否かの判定を行う（ステップ210）。完了していない場合は、ステップ207に戻り、完了している場合は、次に、解析フラグがセットされているか否かを判定する（ステップ216）。解析フラグがセットされている場合は、障害解析モードで情報処理装置を起動し（ステップ217）、不揮発性メモリ105から実行コードの読み出しを行い（ステップ218）、読み出された実行コードにより障害の解析を行う（ステップ219）。ステップ216において、解析フラグがセットされていない場合は、正常終了を示す実行コードを不揮発性メモリ105に記録し（ステップ220）、通常動作モードで情報処理装置を起動する（ステップ221）。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態である情報処理装置のシステム構成図を示す。
【図２】自己診断プログラム104の処理動作を示すフローチャートである。
【図３】自己診断プログラム104の処理動作を示すフローチャート（図２の続き）である。
【符号の説明】
【００１６】
101：CPU、102：バス、103：ROM、104：自己診断プログラム、105：不揮発性メモリ、106：実行コード記録領域、107：実行コード
【図１】
2007102511.tif 000003
【図２】
2007102511.tif 000004
【図３】
2007102511.tif 000005