(57)【特許請求の範囲】
【請求項１】
処理装置と前記処理装置を管理する管理装置とを有する情報処理装置において、
前記処理装置は、
第１のプログラムを格納する第１の記憶装置と、
前記第１のプログラムを実行するとともに、前記処理装置の異常を検出し、前記第１のプログラムを実行することにより前記処理装置の異常を検出した場合に、Operating System（ＯＳ）ダンプを作成して前記第１の記憶装置に格納し、前記処理装置と伝送経路を介して接続された第５の記憶装置にアクセスが可能な場合に、前記ＯＳダンプを前記第５の記憶装置に送信し、前記第５の記憶装置にアクセスが不可能な場合に、前記ＯＳダンプが保持する情報の一部である部分情報を抽出する第１の演算処理装置と、
前記抽出された部分情報を送信する第１の制御装置と、を有し、
前記管理装置は、
前記第１の制御装置に接続され、前記送信された部分情報を受信する第２の制御装置と、
前記部分情報を格納する第２の記憶装置と、を有することを特徴とする情報処理装置。
【請求項２】
前記管理装置はさらに、伝送路を介して保守装置に接続され、
前記保守装置は、
前記伝送路を介して前記管理装置から前記第２の記憶装置に格納された部分情報を受信して第３の記憶装置に格納することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記情報処理装置において、
前記管理装置はさらに、第２のプログラムを格納する第４の記憶装置と、
前記第２のプログラムを実行することにより、前記部分情報を前記保守装置に送信する第２の演算処理装置とを有し、
前記第２の演算処理装置は、
前記保守装置からデータ転送要求を受信した場合、又は、前記処理装置が有する第６の記憶装置に前記部分情報を保存することができない場合に、前記抽出された部分情報を送信することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記情報処理装置において、
前記第１の演算処理装置は、
前記第１のプログラムの実行により、前記処理装置の異常を定期的に検出することを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
処理装置と前記処理装置を管理する管理装置とを有する情報処理装置の制御方法において、
前記処理装置が有する第１の演算処理装置が、第１の記憶装置に格納された第１のプログラムを実行するとともに、前記処理装置の異常を検出するステップと、
前記第１のプログラムを実行することにより前記処理装置の異常を検出した場合に、前記第１の演算処理装置が、Operating System（ＯＳ）ダンプを作成して前記第１の記憶装置に格納するステップと、
前記第１の演算処理装置が、前記処理装置と伝送経路を介して接続された第５の記憶装置にアクセスが可能な場合に、前記ＯＳダンプを前記第５の記憶装置に送信するステップと、
前記第１の演算処理装置が、前記第５の記憶装置にアクセスが不可能な場合に、前記ＯＳダンプが保持する情報の一部である部分情報を抽出するステップと、
前記処理装置が有する第１の制御装置が、前記抽出された部分情報を送信するステップと、
前記第１の制御装置に接続された管理装置が有する第２の制御装置が、前記送信された部分情報を受信するステップと、
前記管理装置が有する第２の記憶装置に前記部分情報を格納するステップと、を有することを特徴とする情報処理装置の制御方法。
【請求項６】
前記情報処理装置はさらに、伝送路を介して保守装置に接続され、
前記情報処理装置の制御方法はさらに、
前記保守装置が、前記伝送路を介して前記管理装置から前記第２の記憶装置に格納された部分情報を受信して第３の記憶装置に格納するステップを有することを特徴とする請求項５記載の情報処理装置の制御方法。
【請求項７】
前記情報処理装置の制御方法において、
前記管理装置はさらに、第２のプログラムを格納する第４の記憶装置と、
前記第２のプログラムを実行することにより、前記部分情報を前記保守装置に送信する第２の演算処理装置とを有し、
前記第２の演算処理装置は、
前記保守装置からデータ転送要求を受信した場合、又は、前記処理装置が有する第６の記憶装置に前記部分情報を保存することができない場合に、前記抽出された部分情報を送信することを特徴とする請求項６記載の情報処理装置の制御方法。
【請求項８】
前記情報処理装置の制御方法において、
前記第１の演算処理装置は、
前記第１のプログラムの実行により、前記処理装置の異常を定期的に検出することを特徴とする請求項５〜７のいずれか１項に記載の情報処理装置の制御方法。
【請求項９】
処理装置と前記処理装置を管理する管理装置とを有する情報処理装置の制御プログラムにおいて、
前記処理装置が有するとともに、第１の記憶装置に接続される第１の演算処理装置が、前記処理装置の異常を検出するステップと、
前記プログラムを実行することにより前記処理装置の異常を検出した場合に、前記第１の演算処理装置が、Operating System（ＯＳ）ダンプを作成して前記第１の記憶装置に格納するステップと、
前記第１の演算処理装置が、前記処理装置と伝送経路を介して接続された第５の記憶装置にアクセスが可能な場合に、前記ＯＳダンプを前記第５の記憶装置に送信するステップと、
前記第１の演算処理装置が、前記第５の記憶装置にアクセスが不可能な場合に、前記ＯＳダンプが保持する情報の一部である部分情報を抽出するステップと、
前記処理装置が有する第１の制御装置が、前記抽出された部分情報を送信するステップと、
前記第１の制御装置に接続された管理装置が有する第２の制御装置が、前記送信された部分情報を受信するステップと、
前記管理装置が有する第２の記憶装置に前記部分情報を格納するステップと、を有することを特徴とする情報処理装置の制御プログラム。
【請求項１０】
前記情報処理装置の制御プログラムにおいて、
前記第１の演算処理装置は、
前記プログラムの実行により、前記処理装置の異常を定期的に検出することを特徴とする請求項９記載の情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置，情報処理装置の制御方法および制御プログラムに関する。
【背景技術】
【０００２】
例えば、業務に用いられるサーバシステム（情報処理装置）においては、業務運用に使用するメインシステムと、それとは独立したサブシステムとをそなえて構成されるものがある。このようなサーバシステムにおいては、メインシステムにそなえられたメインプロセッサが、メインシステムにおけるＯＳ（Operating System：以下、メインＯＳという場合もある）上で通常の業務運用に関する処理を行なう。一方、サブシステムにおいては、サブプロセッサが、サブシステムにおけるＯＳ（以下、サブＯＳという場合もある）上でハードウェアの初期診断や故障監視などに関する処理を行なっている。
【０００３】
このような、サーバシステムにおいては、メインシステムにおいて障害が発生した場合に、メインプロセッサは、カーネルが使用しているメモリ領域の内容やプロセッサの情報に基づいてＯＳダンプ（カーネルダンプ）を作成する。また、この作成されたＯＳダンプはメインシステムに接続されたディスク装置に保存される。この記憶装置に保存されたＯＳダンプを参照することで障害の解析が行なわれる。
【０００４】
このような、ＯＳダンプの採取方式として、例えば、多数のノードから構成されるクラスタシステムにおいて、システム障害発生時のメモリダンプを、多数のノードにより共有される共有ディスクに採取する技術が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３００１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のサーバシステムにおいては、ディスク装置へＯＳダンプを保存できない場合がある。この場合、ＯＳダンプを利用した障害の解析を行なうことができない。
例えば、メインシステムとディスク装置との通信回線に障害が生じたこと、もしくは、ディスク装置自体が故障したことにより、ディスク装置にアクセスできない場合には（ディスクアクセス異常）、作成されたＯＳダンプをディスク装置に保存することができない。このため、ＯＳダンプを利用した障害の解析を行なうことができないという課題がある。
【０００７】
本発明の目的の一つは、このような課題に鑑み創案されたもので、ディスクアクセス異常が生じた場合であっても、障害の解析を可能とすることである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
【課題を解決するための手段】
【０００８】
このため、この情報処理装置は、処理装置と前記処理装置を管理する管理装置とを有する情報処理装置において、前記処理装置は、第１のプログラムを格納する第１の記憶装置と、前記第１のプログラムを実行するとともに、前記処理装置の異常を検出し、前記第１のプログラムを実行することにより前記処理装置の異常を検出した場合に、Operating System（ＯＳ）ダンプを作成して前記第１の記憶装置に格納し、前記処理装置と伝送経路を介して接続された第５の記憶装置にアクセスが可能な場合に、前記ＯＳダンプを前記第５の記憶装置に送信し、前記第５の記憶装置にアクセスが不可能な場合に、前記ＯＳダンプが保持する情報の一部である部分情報を抽出する第１の演算処理装置と、前記抽出された部分情報を送信する第１の制御装置と、を有し、前記管理装置は、前記第１の制御装置に接続され、前記送信された部分情報を受信する第２の制御装置と、前記部分情報を格納する第２の記憶装置と、を有する。
【０００９】
また、この情報処理装置の制御方法は、処理装置と前記処理装置を管理する管理装置とを有する情報処理装置の制御方法において、前記処理装置が有する第１の演算処理装置が、第１の記憶装置に格納された第１のプログラムを実行するとともに、前記処理装置の異常を検出するステップと、前記第１のプログラムを実行することにより前記処理装置の異常を検出した場合に、前記第１の演算処理装置が、Operating System（ＯＳ）ダンプを作成して前記第１の記憶装置に格納するステップと、前記第１の演算処理装置が、前記処理装置と伝送経路を介して接続された第５の記憶装置にアクセスが可能な場合に、前記ＯＳダンプを前記第５の記憶装置に送信するステップと、前記第１の演算処理装置が、前記第５の記憶装置にアクセスが不可能な場合に、前記ＯＳダンプが保持する情報の一部である部分情報を抽出するステップと、前記処理装置が有する第１の制御装置が、前記抽出された部分情報を送信するステップと、前記第１の制御装置に接続された管理装置が有する第２の制御装置が、前記送信された部分情報を受信するステップと、前記管理装置が有する第２の記憶装置に前記部分情報を格納するステップと、を有する。
【００１０】
さらに、この情報処理装置の制御プログラムは、処理装置と前記処理装置を管理する管理装置とを有する情報処理装置の制御プログラムにおいて、前記処理装置が有するとともに、第１の記憶装置に接続される第１の演算処理装置が、前記処理装置の異常を検出するステップと、前記プログラムを実行することにより前記処理装置の異常を検出した場合に、前記第１の演算処理装置が、Operating System（ＯＳ）ダンプを作成して前記第１の記憶装置に格納するステップと、前記第１の演算処理装置が、前記処理装置と伝送経路を介して接続された第５の記憶装置にアクセスが可能な場合に、前記ＯＳダンプを前記第５の記憶装置に送信するステップと、前記第１の演算処理装置が、前記第５の記憶装置にアクセスが不可能な場合に、前記ＯＳダンプが保持する情報の一部である部分情報を抽出するステップと、前記処理装置が有する第１の制御装置が、前記抽出された部分情報を送信するステップと、前記第１の制御装置に接続された管理装置が有する第２の制御装置が、前記送信された部分情報を受信するステップと、前記管理装置が有する第２の記憶装置に前記部分情報を格納するステップと、を有する。
【発明の効果】
【００１１】
開示の情報処理装置，情報処理装置の制御方法および制御プログラムによれば、ディスクアクセス異常が生じた場合であっても、ＯＳ緊急ダンプを保存することができる。さらに、ＯＳ緊急ダンプを保存することができるので、保存されたＯＳ緊急ダンプから障害の解析が可能になる。
【図面の簡単な説明】
【００１２】
【図１】実施形態の一例としての情報処理装置の構成を模式的に示す図である。
【図２】実施形態の一例としての情報処理装置におけるシステムボードの詳細な構成を模式的に示す図である。
【図３】実施形態の一例としての情報処理装置におけるメインプロセッサの機能構成を模式的に示す図である。
【図４】実施形態の一例としての情報処理装置におけるＯＳダンプの構成を模式的に示す図である。
【図５】実施形態の一例としての情報処理装置におけるＯＳ緊急ダンプの構成を模式的に示す図である。
【図６】実施形態の一例としての情報処理装置におけるＯＳ緊急ダンプの作成パターンを示す図である。
【図７】実施形態の一例としての情報処理装置におけるフラッシュメモリにおけるＯＳ緊急ダンプの保存状態を模式的に示す図である。
【図８】実施形態の一例としての情報処理装置における処理を説明するためのフローチャートである。
【図９】実施形態の一例としての情報処理装置における緊急ダンプの生成を説明するためのフローチャートである。
【図１０】実施形態の一例としての情報処理装置におけるサブプロセッサの機能構成を模式的に示す図である。
【図１１】実施形態の一例としての情報処理装置における保守サーバへのＯＳ緊急ダンプの転送を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本情報処理装置，情報処理装置の制御方法および制御プログラムに係る実施の形態を説明する。
〔Ａ〕第１実施形態の説明
図１は実施形態の一例にかかる情報処理装置の構成を模式的に示す図、図２はそのシステムボードの詳細な構成を模式的に示す図である。
【００１４】
図１に示す情報処理装置１は、メインシステム２，サブシステム３およびメンテナンスバス４をそなえて構成されている。
メインシステム２は、主な計算業務を行なうシステムであり、システムボード２０−１〜２０−３をそなえて構成されている。
なお、本実施形態においては、メインシステム２にシステムボード２０−１〜２０−３の３つのシステムボードがそなえられている例について説明するが、これに限定されるものではなく、メインシステム２内に、２つ以下、もしくは４つ以上のシステムボードをそなえて構成してもよい。
【００１５】
以下、システムボードを示す符号としては、複数のシステムボードのうち１つを特定する必要があるときには符号２０−１〜２０−３を用いるが、任意のシステムボードを指すときには符号２０を用いる。
各システムボード２０は、図２に示すように、メインコントローラ２１，メインプロセッサ２２−１〜２２−４，第１メモリ２３−１〜２３−４，Ｉ／Ｏコントローラ２４−１〜２４−４およびＳＲＡＭ２５をそなえて構成されている。メインコントローラ２１は、ＳＲＡＭ（Static Random Access Memory）２５と、複数（本実施例では４つ）のメインプロセッサ２２−１〜２２−４とに接続されている。メインプロセッサ２２−１は、第１メモリ２３−１と、ＩＯ（Input Output）コントローラ２４−１とに接続されている。メインプロセッサ２２−２は、第１メモリ２３−２と、ＩＯコントローラ２４−２とに接続されている。メインプロセッサ２２−３は、第１メモリ２３−３と、ＩＯコントローラ２４−３とに接続されている。メインプロセッサ２２−４は、第１メモリ２３−４と、ＩＯコントローラ２４−４とに接続されている。さらに、各システムボード２０は、第１通信回線１０を介して第１ディスク装置７に接続されている。
【００１６】
第１ディスク装置７は、例えばＨＤＤ（Hard Disk Drive）等のディスク装置であり、後述するＯＳダンプ６０を保存する記憶装置である。第１通信回線１０は、例えば、ＦＣ（Fibre Channel），ＳＡＳ（Serial Attached SCSI），イーサネット（登録商標）等の通信回線である。
以下、メインプロセッサを示す符号としては、複数のメインプロセッサのうち１つを特定する必要があるときには符号２２−１〜２２−４を用いるが、任意のメインプロセッサを指すときには符号２２を用いる。同様に、第１メモリを示す符号としては、複数の第１メモリのうち１つを特定する必要があるときには符号２３−１〜２３−４を用いるが、任意の第１メモリを指すときには符号２３を用いる。同様に、ＩＯコントローラを示す符号としては、複数のＩＯコントローラのうち１つを特定する必要があるときには符号２４−１〜２４−４を用いるが、任意のＩＯコントローラを指すときには符号２４を用いる。
【００１７】
なお、本実施形態においては、システムボード２０にメインプロセッサ２２−１〜２２−４，第１メモリ２３−１〜２３−４およびＩＯコントローラ２４−１〜２４−４がそなえられる。すなわち、メインプロセッサ，第１メモリおよびＩＯコントローラがそれぞれ４つずつそなえられている例について説明する。しかし、これに限定されるものではなく、システムボード２０内に、それぞれ３つ以下、もしくは５つ以上のメインプロセッサ，第１メモリおよびＩＯコントローラをそなえて構成してもよい。
【００１８】
メインコントローラ２１は、例えば、ＦＰＧＡ(Field Programmable Gate Array）によるハードウェアデバイスである。このメインコントローラ２１は、メインプロセッサ２２により生成されるＯＳ緊急ダンプ７０（部分情報：詳細は後述）を、メインプロセッサ２２からの、ＯＳ緊急ダンプ７０のＳＲＡＭ２５におけるアドレスと当該ＯＳ緊急ダンプ７０のサイズとの指定および転送依頼に基づいて、転送(送信)するものである。すなわち、メインコントローラ２１は、ＯＳ緊急ダンプ７０を送信する第１の制御装置として機能する。
【００１９】
具体的には、メインコントローラ２１は、メインプロセッサ２２（詳細は後述）から、転送するＯＳ緊急ダンプ７０のＳＲＡＭ２５におけるアドレスと当該ＯＳ緊急ダンプ７０のサイズとの指定を受けるとともに、その転送依頼を受ける。メインコントローラ２１は、メインプロセッサ２２から指定を受けたＯＳ緊急ダンプ７０をＳＲＡＭ２５から、後述するメンテナンスバス４を介して、後述するサブコントローラ３１に転送する。
【００２０】
また、メインコントローラ２１は、メンテナンスバス４を介して、サブコントローラ３１に通信可能に接続されている。
第１メモリ２３は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）であり、メインプロセッサ２２によって実行されるＯＳ（第１のプログラム，制御プログラム：以下、メインＯＳという場合もある）や圧縮アルゴリズムなどの種々のアプリケーションプログラムや各種データを記憶する記憶装置である。すなわち、第１メモリ２３は、第１のプログラムを格納する第１の記憶装置として機能する。さらに、第１メモリ２３は複数のメインプロセッサ２２のそれぞれに対応して複数そなえられる。
【００２１】
ＩＯコントローラ２４は、例えば、ＦＣカード，イーサネットカードなどの各種ＩＯデバイスを接続して使用することを可能とする制御装置であり、複数のメインプロセッサ２２のそれぞれに対応して複数そなえられる。
ＳＲＡＭ２５は、メインプロセッサ２２からアクセス可能な記憶装置であり、後述するＯＳ緊急ダンプ７０を一時的に保持するバッファとして機能する。すなわち、ＳＲＡＭ２５は、ＯＳ緊急ダンプ７０を格納する第２の記憶装置として機能する。
【００２２】
メインプロセッサ２２は、例えば、ＣＰＵ（Central Processing Unit）等の演算処理装置であり、後述する第１メモリ２３に記録されたＯＳや種々のアプリケーションプログラムを実行することにより各種機能を実現する。また、各メインプロセッサ２２上では、それぞれ独立したメインＯＳが動作する。図２に示すように、システムボード２０において、メインプロセッサ２２−１では、ＯＳ♯１が、メインプロセッサ２２−２ではＯＳ♯２が、メインプロセッサ２２−３では、ＯＳ♯３が、メインプロセッサ２２−４ではＯＳ♯４がそれぞれ動作する。すなわち、図２に示す例においては、各システムボード２０に４つのメインプロセッサ２２がそなえられ、３つのシステムボード２０を有する本実施形態の一例では、メインシステム２においてＯＳ♯１〜ＯＳ♯１２の１２個のメインＯＳが動作する。
【００２３】
また、各メインプロセッサ２２は、それぞれローカルバスによりメインコントローラ２１に接続されている。
なお、以下、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
図３はメインプロセッサ２２の機能構成を模式的に示した図である。このメインプロセッサ２２は第１メモリ２３に記録されたＯＳを実行することにより、図３に示すような、異常検出機能４１，ＯＳダンプ生成機能４２，ディスクアクセスチェック機能４３，ＯＳダンプ保存機能４４，ＯＳ緊急ダンプ生成機能４５（要因調査機能４６，採取情報リスト作成機能４７，調査情報採取機能４８を含む）およびＯＳ緊急ダンプ転送機能４９を実現する。
【００２４】
異常検出機能４１は、メインシステム２における異常の発生を検出し、取りまとめるものである。例えば、ハード故障時には、故障したハードウェアからメインＯＳに対して割り込み信号が入力される。異常検出機能４１は、この割り込みを検出することで、メインシステムにおける異常を検出する。また、例えば、ＯＳ内部故障発生時には、メインＯＳ自身がそなえる自己診断機能により、メインシステム２における異常を検出する。さらに、例えば、メインコントローラ２１の故障時には、メインＯＳがメインコントローラ２１のデータを読み出した際の不具合により、メインシステムにおける異常を検出する。また、異常検出機能４１が、メインシステム２における異常を検出することを契機として、後述するＯＳダンプ生成機能４２が起動する。
【００２５】
さらに、異常検出機能４１は、メインシステム２におけるハードウェア等の異常を、定期的に監視・検出する機能を有している。なお、異常検出機能４１としては、既知の種々の手法を用いて実現可能であり、その詳細な説明は省略する。
ＯＳダンプ生成機能４２は、異常検出機能４１による異常検出を契機として、異常を解析するのに必要な情報を収集しＯＳダンプ６０を生成するものである。メインプロセッサ２２は、このＯＳダンプ生成機能４２として機能することにより、第１の演算処理装置として機能する。図４はＯＳダンプ６０の構成を模式的に示す図である。ＯＳダンプ６０は、例えば、この図４に示すように、異常発生時における、メモリダンプ６１（メインＯＳのスタック情報６２，ＩＯ装置のレジスタ情報６３を含む），メインプロセッサのレジスタ情報６４，要因情報６５およびメインコントローラのレジスタ情報６６をそなえて構成される。
【００２６】
ＯＳダンプ作成機能４２は、メインシステム２における異常発生時に、これらのメモリダンプ６１，メインプロセッサのレジスタ情報６４，要因情報６５およびメインコントローラのレジスタ情報６６を収集し組み合わせることによりＯＳダンプ６０を作成する。なお、作成されたＯＳダンプ６０は、例えば、第１メモリ２３上に一時的に格納される。
ここで、メモリダンプ６１とは、異常発生時の第１メモリ２３上の情報を保存したものである。さらに、メインＯＳのスタック情報６２とは、異常発生時のメインＯＳの動作状態に関する情報であり、例えば、メモリダンプ６１のアドレス０ｘ１０００００００から連続する１Ｍバイトのデータから採取される。ＩＯ装置のレジスタ情報６３とは、異常発生時のＩＯコントローラ２４やＩＯデバイス内部のレジスタ情報であり、例えば、ＯＳダンプ６０に含まれるメモリダンプ６１のアドレス０ｘ２０００００００から連続する１Ｋバイトのデータから採取される。また、メインプロセッサのレジスタ情報６４とは、異常発生時のメインプロセッサ２２内部のプログラムカウンタなどの、メインＯＳからアクセス可能なメインプロセッサ２２内のレジスタから採取される情報である。さらに、要因情報６５とは、発生した異常の要因に応じて決定されるコード（エラーコード）である。ここで、異常の要因は、以下のようにして決定することができる。例えば、ハード故障時には、故障したハードウェアからメインＯＳに対して割り込み信号が入力されるため、異常の要因がハードウェア故障であると決定できる。また、例えば、ＯＳ内部故障発生時には、メインＯＳ自身がそなえる自己診断機能が、ソフトウェアエラーを検出するため、異常の要因がＯＳ内部故障であると決定できる。また、例えば、メインコントローラ２１の故障時には、メインＯＳがメインコントローラ２１のデータを読み出した際の不具合であると判断されるので、異常の要因がメインコントローラ２１の故障であると決定できる。
【００２７】
なお、ハード故障の一例としては、メインＯＳが利用している第１メモリ２３でのデータの破損やメインプロセッサ２２の内部故障（但し、メインＯＳが動き続けられるような軽度なソフトウェア故障）などが挙げられる。ＯＳ内部故障の一例としては、ＯＳのソフトウェアのバグによる不具合（但し、メインＯＳが動き続けられるような軽度なソフトウェア故障）が挙げられる。メインコントローラ２１の内部故障の一例としては、メインコントローラ２１の内部データで、チェックサムエラーが発生した場合などが挙げられる。
【００２８】
そして、これらの種々の異常の要因に対して、予めエラーコードが対応付けられており、要因情報６５として、このエラーコードが用いられる。
また、メインコントローラのレジスタ情報６６とは、メインコントローラ２１内部の故障要因レジスタから採取される情報である。この故障要因レジスタには、例えば、どのようなコマンド（メインシステム２の故障の監視や立ち上げなどのコマンド）が使用されたかの履歴が記録される。さらに、故障要因レジスタには、サブシステム３へ転送されたデータの情報、故障発生時のメインコントローラ２１の設定値などの情報も記録される。
【００２９】
なお、本実施形態においては、メモリダンプ６１に、メインＯＳのスタック情報６２とＩＯ装置のレジスタ情報６３とが含まれているが、これに限定されるものではなく、これらの情報は、メモリダンプ６１に含まれない場合もある。また、メモリダンプ６１が、これらのメインＯＳのスタック情報６２およびＩＯ装置のレジスタ情報６３以外の情報を含んでもよい。
【００３０】
ディスクアクセスチェック機能４３は、第１ディスク装置７へのアクセスが可能であるかを確認する。すなわち、システムボード２０と第１ディスク装置７との間の第１通信回線１０やインターフェイスに何らかの障害が生じた場合や、第１ディスク装置７自体が故障した場合をディスクアクセス異常として検出する。例えば、ディスクアクセスを複数回行なっても、全て失敗した場合に、ディスクアクセス異常であると判断する。
【００３１】
ＯＳダンプ保存機能４４は、ディスクアクセス異常がディスクアクセスチェック機能４３により検出されていない場合において、ＯＳダンプ生成機能４２により生成されたＯＳダンプ６０を、第１ディスク装置７に保存する。
ＯＳ緊急ダンプ生成機能４５は、ＯＳダンプ生成機能４２により生成されたＯＳダンプ６０から、障害の解析に必要な所定の情報を選択することにより、ＯＳダンプ６０よりも容量の小さなＯＳ緊急ダンプ７０を生成する。ＯＳ緊急ダンプ７０は、例えば、不揮発性メモリであるフラッシュメモリ３４の容量より小さくすることができる。このＯＳ緊急ダンプ生成機能４５は、要因調査機能４６，採取情報リスト作成機能４７および調査情報採取機能４８をそなえる。図５はＯＳ緊急ダンプの構成を模式的に示す図である。なお、この図５に示す例においては、ＯＳ緊急ダンプ７０は、異常発生時におけるメインＯＳのスタック情報６２，メインプロセッサのレジスタ情報６４および要因情報６５をそなえている。
【００３２】
また、ＯＳ緊急ダンプ７０は、要因情報６５に応じて複数通りのパターンがある。このパターンは要因調査機能４６により決定される。
要因調査機能４６は、ディスクアクセスチェック機能４３により、ディスクアクセス異常が検出された場合に、要因情報６５に基づいてパターンを決定する。
図６はＯＳ緊急ダンプの作成パターンを示す図であり、要因情報６５とパターンと採取情報リストとを相互に関連付けている。
【００３３】
要因調査機能４６は、例えば、要因情報６５がハード故障を示す場合には、パターン１，ＯＳ内部異常を示す場合にはパターン２，メインコントローラ２１の内部異常を示す場合には、パターン３であるとそれぞれ判断する。なお、要因情報とパターンと採取情報リストとが相互に関連付けられた情報（作成パターン）は予め第１メモリ２３等の記憶装置に保存されている。
【００３４】
採取情報リスト作成機能４７は、要因調査機能４６により特定されたパターンに応じて、図７に示すように、後述する調査情報採取機能４８がＯＳ緊急ダンプ７０の要素として取得すべき情報のリストを作成する。この採取情報リスト作成機能４７は、図６に示す例においては、ハード故障（パターン１）の場合には、異常発生時の要因情報６５，メインＯＳのスタック情報６２，メインプロセッサのレジスタ情報６４およびＩＯ装置のレジスタ情報６３を採取対象の要素とする採取情報リストを作成する。また、採取情報リスト作成機能４７は、ＯＳ内部異常（パターン２）の場合には、異常発生時の要因情報６５，メインＯＳのスタック情報６２およびメインプロセッサのレジスタ情報６４を採取対象の要素とする採取情報リストを作成する。さらに、採取情報リスト作成機能４７は、メインコントローラ２１の内部異常（パターン３）の場合には、異常発生時の要因情報６５，メインＯＳのスタック情報６２，メインプロセッサのレジスタ情報６４およびメインコントローラのレジスタ情報６６を採取対象の要素とする採取情報リストを作成する。
【００３５】
調査情報採取機能４８は、採取情報リスト作成機能４７により作成された採取情報リストに基づいて、ＯＳダンプ生成機能４２により生成されたＯＳダンプ６０から、採取すべき情報を採取してＯＳ緊急ダンプ７０を作成する。具体的には、既に生成され、第１メモリ２３等の記憶装置に格納されているＯＳダンプ６０から、採取すべき情報に応じたアドレス（例えば、先頭アドレス）および当該採取すべき情報のサイズを判断して情報の採取を行なう。なお、メインプロセッサ２２は、ＯＳダンプ６０の作成の際に、異常発生時のメインＯＳのスタック情報６２，ＩＯ装置のレジスタ情報６３，メインプロセッサのレジスタ情報６４，要因情報６５およびメインコントローラのレジスタ情報６６等のＯＳダンプ６０を構成する各情報のＯＳダンプ６０におけるアドレスおよびサイズを認識している。
【００３６】
ここで、異常発生時のメインＯＳのスタック情報６２は、ＯＳダンプ６０に含まれるメモリダンプ６１の所定位置、例えばアドレス０ｘ１０００００００から連続する１Ｍバイトのデータから採取される。また、異常発生時のＩＯ装置のレジスタ情報６３も、ＯＳダンプ６０に含まれるメモリダンプ６１の所定位置、例えば、アドレス０ｘ２０００００００から連続する１Ｋバイトのデータから採取される。他の、異常発生時のメインプロセッサのレジスタ情報６４，要因情報６５およびメインコントローラのレジスタ情報６６についてもアドレスおよびデータのサイズを参照し、ＯＳダンプ６０から採取する。
【００３７】
なお、上記の例は、アドレスやデータのサイズを便宜的に示すものであり種々変形して実施することができる。
また、ＯＳ緊急ダンプ生成機能４５は、作成したＯＳ緊急ダンプ７０をＳＲＡＭ２５に保存する機能を有している。
ＯＳ緊急ダンプ転送機能４９は、メインコントローラ２１を介して、ＯＳ緊急ダンプ７０をサブシステム３に転送するための処理を行なう。具体的には、メインコントローラ２１に対して、ＯＳ緊急ダンプ７０のＳＲＡＭ２５におけるアドレスとそのサイズとを指定し、さらにＯＳ緊急ダンプ７０の転送の実行を依頼するものである。
【００３８】
サブシステム３は、メンテナンスバス４を介して、メインシステム２の立ち上げ／停止の制御や、故障の監視を行なうシステムであり、メインシステム２から独立したシステムとして構成されている。また、サブシステム３は、例えば、イーサネットであるネットワーク８を介して後述する保守サーバ５に接続されている。
また、サブシステム３は、図１に示すように、サブコントローラ３１，サブプロセッサ３２，第２メモリ３３およびフラッシュメモリ３４をそなえて構成される。
【００３９】
サブコントローラ３１は、例えば、ＦＰＧＡによるハードウェアデバイスであり、メインコントローラ２１から転送されてきたＯＳ緊急ダンプ７０を受け取ると、サブプロセッサ３２に対して割り込みを発生させる。すなわち、サブコントローラ３１は、メインコントローラ２１に接続されＯＳ緊急ダンプ７０を受信する第２の制御装置として機能する。
第２メモリ３３は、例えば、ＤＲＡＭであり、サブプロセッサ３２によって実行されるＯＳ（第２のプログラム：以下、サブＯＳという場合もある）などの種々のアプリケーションプログラやデータを記憶する記憶装置である。すなわち、第２メモリ３３は、第２のプログラムを格納する第４の記憶装置として機能する。
【００４０】
フラッシュメモリ３４は、種々のデータを読み出し可能に記憶する不揮発性の記憶装置であり、図７に示すように、後述するＯＳ緊急ダンプ７０が、各システムボード２０におけるメインＯＳ毎に保存される。すなわち、フラッシュメモリ３４は第２の記憶装置として機能する。図７はフラッシュメモリ３４におけるＯＳ緊急ダンプ７０の保存状態を示す図である。この図７に示す例においては、メインＯＳ毎に格納領域が形成され、各メインＯＳに対応するＯＳ緊急ダンプ７０が格納されている。なお、本実施形態では、各システムボードにおけるメインＯＳ毎に２個（以下、ＯＳ緊急ダンプの個数を世代という場合がある。）までＯＳ緊急ダンプ７０を保存可能な例を示している。しかし、これに限定されるものではなく、システムボード２０におけるメインＯＳ毎に、３つ以上のＯＳ緊急ダンプ７０を保存してもよい。
【００４１】
サブプロセッサ３２は、例えば、ＣＰＵ等の演算処理装置であり、第２メモリ３３に記録されたＯＳなどの種々のアプリケーションプログラムを実行することにより各種機能を実現する。サブプロセッサ３２は第２メモリ３３に記録されたＯＳを実行することにより、ダンプ保存機能を実現する。このダンプ保存機能は、サブコントローラ３１からの割り込み信号を契機として、サブコントローラ３１へ送られてきたＯＳ緊急ダンプ７０をフラッシュメモリ３４に保存するものである。すなわち、サブプロセッサ３２は第２の演算処理装置として機能する。また、サブプロセッサ３２は、マルチスレッド処理できるようにしてもよい。
【００４２】
メンテナンスバス４は、例えば、Point-to-Point接続のシリアル転送バスであり、メインシステム２とサブシステム３とを通信可能に接続するバスである。より具体的には、メンテナンスバス４は、サブシステム３と、メインシステム２を構成するシステムボード２０のそれぞれとを通信可能に接続するバスである。このメンテナンスバス４を介して、サブシステム３は、メインシステム２を構成するシステムボード２０を目的として、所望のデータにアクセスする。
【００４３】
保守サーバ５は、情報処理装置の保守を行なうサーバであり、第２通信回線９を介して第２ディスク装置６と接続されている。
第２ディスク装置６は、例えば、ディスク装置であり、ＯＳ緊急ダンプ７０を保存する記憶装置である。
上述の如く構成された、実施形態の一例としての情報処理装置１の動作を、図８に示すフローチャート（ステップＡ０〜Ａ１０）を参照しながら説明する。
【００４４】
まず、情報処理装置１が起動し、メインプロセッサ２２が第１の制御プログラムを実行する。その後、メインシステム２において異常が発生すると（ステップＡ０）、異常検出機能４１がこの異常を検出する（ステップＡ１）。異常検出機能４１がこの異常を検出すると、ＯＳダンプ生成機能４２が、異常を解析するのに必要な情報を収集し、ＯＳダンプ６０を作成する（ステップＡ２）。ディスクアクセスチェック機能４３は、ステップＡ２において作成したＯＳダンプ６０が、第１ディスク装置４０に転送可能か否かを判断すべく、ディスクアクセス異常の有無を確認する（ステップＡ３）。この確認の結果（ステップＡ４）、ディスクアクセス異常がある場合、すなわちＯＳダンプ６０を第１ディスク装置４０へ転送不可能な場合（ステップＡ４のＮｏルート参照）、ＯＳ緊急ダンプ生成機能４５により、ＯＳダンプ６０からＯＳ緊急ダンプ７０が作成され、このＯＳ緊急ダンプ７０はＳＲＡＭ２５に保存される（ステップＡ５）。ＯＳ緊急ダンプ７０が作成されると、ＯＳ緊急ダンプ転送機能４６が、メインコントローラ２１に対して、ＯＳ緊急ダンプ７０のＳＲＡＭ２５におけるアドレスとそのサイズとをメインコントローラ２１に指定する（ステップＡ６）。さらに、ＯＳ緊急ダンプ転送機能４６は、メインコントローラ２１に対して、ＯＳ緊急ダンプ７０の転送依頼を行なう（ステップＡ７）。転送依頼を受けたメインコントローラ２１は、ＳＲＡＭ２５から、メインプロセッサ２２により指定されたＯＳ緊急ダンプ７０をサブコントローラ３１に対して転送する（ステップＡ８）。サブコントローラ３１は、ＯＳ緊急ダンプ７０を受け取ると、サブプロセッサ３２に対して割り込みを発生させる。サブプロセッサ３２は、サブコントローラ３１が発生した割り込みを受け、ダンプ保存機能５１により、ＯＳ緊急ダンプ７０をサブコントローラ３１からフラッシュメモリ３４に保存する（ステップＡ９）。なお、ディスクアクセスに異常がない場合、すなわちＯＳダンプ６０を第１ディスク装置７へ転送可能な場合には（ステップＡ４のＹｅｓルート参照）、ＯＳダンプ保存機能４４によりＯＳダンプ６０は、ＳＲＡＭ２５から第１ディスク装置７に保存される（ステップＡ１０）。
【００４５】
次に、ＯＳ緊急ダンプ作成機能４７の詳細、すなわち図８におけるステップＡ５の詳細な動作を、図９に示すフローチャート（ステップＡ５１〜Ａ５６）を参照しながら説明する。
図８におけるステップＡ２にて、図４に示すＯＳダンプ６０が作成されていることを前提とし、まず、要因調査機能４７が、要因情報６５に基づいて、パターンを判断する。本実施例では、採取情報リスト作成機能４７は、図６に示すように、ハード故障の場合にはパターン１，ＯＳ内部異常の場合にはパターン２，メインコントローラの内部異常の場合にはパターン３と判断する（ステップＡ５１）。採取情報リスト作成機能４８は、要因調査機能４７により判別されたパターンに応じて、図６に示すように、調査情報採取機能４９が採取すべき情報のリストを作成する（ステップＡ５２）。調査情報採取機能４９が、既に作成されているＯＳダンプ６０から、ＯＳ緊急ダンプ７０を作成すべく調査情報リスト作成機能４８により作成されたリストに基づいて、採取すべき情報が既に採取済みであるかを判断する（ステップＡ５３）。採取すべき情報が未だ採取済みでない場合には（ステップＡ５３のＮｏルート参照）、調査情報採取機能４９により、採取すべき情報を、例えば、ＯＳダンプ６０から、取得すべき情報のアドレスとサイズを基に順次採取する（ステップＡ５４）。ステップＡ５４において採取された情報は、ＯＳ緊急ダンプとして追加される（ステップＡ５５）。そして、採取情報リスト作成機能４８により作成されたリストに基づいて、採取すべき情報が全て採取されると（ステップＡ５３のＹｅｓルート参照）、ＯＳ緊急ダンプ７０の作成が完了する（ステップＡ５６）。
【００４６】
なお、同一のシステムボード２０において、同時に複数のメインＯＳで異常が発生した場合には、各メインＯＳは、各メインプロセッサ２２上でそれぞれ独立して動作しているので、各メインＯＳ、すなわち各メインプロセッサ２２は、それぞれＯＳ緊急ダンプ７０を生成する。各メインプロセッサ２２は、生成されたＯＳ緊急ダンプ７０をＳＲＡＭ２５に保存した後、メインコントローラ２１に対してＯＳ緊急ダンプ７０の転送依頼を行なう。ここで、サブＯＳのダンプ保存機能はマルチスレッド処理やマルチプロセス処理等、並列に処理できるように実装されているので、ダンプ保存機能は、サブコントローラ３１に転送されてきた複数のＯＳ緊急ダンプ７０を同時にフラッシュメモリ３４に保存することができる。
【００４７】
このように、実施形態の一例としての情報処理装置１によれば、ディスクアクセス異常によりＯＳダンプ６０を第１ディスク装置７に転送できない場合であっても、ＯＳ緊急ダンプ７０を作成し、このＯＳ緊急ダンプ７０をメンテナンスバス４を介してサブシステム３に転送することで、ＯＳ緊急ダンプ７０を保存することができる。さらに、ＯＳ緊急ダンプ７０を保存することができるため、保存されたＯＳ緊急ダンプ７０から障害の解析が可能になる。
【００４８】
また、ディスクアクセス異常により、ＯＳダンプを第１ディスク装置７に転送できない場合には、ＯＳダンプ６０から障害の解析に必要な所定の情報を選択することで、ＯＳ緊急ダンプ７０を作成するため、ＯＳ緊急ダンプ７０はＯＳダンプ６０に比べ容量が小さくなる。そのため、第１ディスク装置７に比べ容量の小さなフラッシュメモリ３４であっても、確実にＯＳ緊急ダンプ７０を保存することができる。
【００４９】
さらに、ＯＳダンプ６０から、障害の解析に必要な所定の情報を選択することで、ＯＳ緊急ダンプ７０を作成するため、障害の解析を確実に行なうことができる。
〔Ｂ〕変形例の説明
実施形態の一例にかかる情報処理装置１におけるサブシステム３は、第２ディスク装置６に接続されている保守サーバ５にネットワークを介して接続されてもよい。
【００５０】
保守サーバ５は、情報処理装置１の保守を行なうサーバであり、例えば、メンテナンスを行なう際に、フラッシュメモリ３４に保存されているＯＳ緊急ダンプ７０を、自身（保守サーバ５）に転送するよう要求する機能をそなえている。さらに、保守サーバ５は、サブシステム３から転送されてきたＯＳ緊急ダンプ７０を第２ディスク装置６に保存する機能をそなえている。すなわち、保守サーバ５は、管理装置として機能する。
【００５１】
第２ディスク装置６は、例えば、ディスク装置であり、ＯＳ緊急ダンプを保存する記憶装置である。さらに、第２ディスク装置６は、例えば、一般的なＳＣＳＩ（Small Computer System Interface）やＳＡＴＡ（Serial ATA）または、ＮＡＳ（Network Attached Storage）等の規格に基づく第２通信回線９を介して保守サーバ５に接続されている。すなわち、第２ディスク装置６は、第３の記憶装置として機能する。
【００５２】
図１０は、サブプロセッサ３２の機能構成を模式的に示した図である。本サブプロセッサ３２は第２メモリ３３に記録されたＯＳを実行することにより、上述のダンプ保存機能に加え、図１０に示す、定期監視機能５２，ダンプチェック機能５３，ダンプ転送機能５４およびダンプ削除機能５５を実現する。
ダンプチェック機能５３は、フラッシュメモリ３４内にＯＳ緊急ダンプ７０が保存されているか否かを判断する。ダンプチェック機能５３は、後述する定期監視機能５２が実行されたこと、又は、ＯＳ緊急ダンプ７０がフラッシュメモリ３４へ保存されたこと、若しくは、外部からＯＳ緊急ダンプ７０の転送要求があったことの少なくとも一つを契機として動作する。
【００５３】
定期監視機能５２は、所定の間隔（例えば、１分間隔）でダンプチェック機能５３を実行させる。この定期監視機能５２は、例えば、タイマにより実現される。
ダンプ転送機能５４は、ダンプチェック機能５３により、フラッシュメモリ３４内にＯＳ緊急ダンプ７０が保存されていると判断された場合に、フラッシュメモリ３４に記憶されているＯＳ緊急ダンプ７０を保守サーバ５に転送する。
【００５４】
ダンプ削除機能５５は、ダンプ転送機能５４により転送が完了したＯＳ緊急ダンプ７０を、フラッシュメモリ３４から削除する。
このように構成された実施形態の変形例としての情報処理装置における保守サーバ５，第２ディスク装置６およびサブシステム２の動作を、図１１に示すフローチャート（ステップＢ１〜Ｂ７）を参照しながら説明する。なお、図８，図９に示すステップＡ０〜Ａ９，Ａ５１〜Ａ５６の処理については、上述の処理と同様の処理が行なわれる。
【００５５】
まず、定期監視機能５２が、所定の間隔でダンプチェック機能５３を実行させる（ステップＢ１）。これにより、ダンプチェック機能５３は、フラッシュメモリ３４内にＯＳ緊急ダンプ７０が保存されているか否かを判断する（ステップＢ２）。この判断の結果（ステップＢ３）、ＯＳ緊急ダンプ７０が保存されていると判断した場合には（ステップＢ３のＹｅｓルート参照）、ダンプ転送機能５４が、フラッシュメモリ３４内に格納されているＯＳ緊急ダンプ７０を保守サーバ５に転送する（ステップＢ４）。なお、保守サーバ５は、転送されてきたＯＳ緊急ダンプ７０を第２ディスク装置６に保存する。転送が完了すると、ダンプ削除機能５５が、ダンプ転送機能５４により転送が完了したＯＳ緊急ダンプ７０を、フラッシュメモリ３４から削除し、ステップＢ１に戻る（ステップＢ５）。なお、ＯＳ緊急ダンプ７０がフラッシュメモリ３４内に保存されていないと判断された場合は（ステップＢ３のＮｏルート参照）、保守サーバ５に対して転送は行なわず、ステップＢ１に戻る。
【００５６】
また、ＯＳ緊急ダンプ７０がサブコントローラ３１に転送され、フラッシュメモリ３４に保存された場合や（ステップＢ６）、保守サーバ５などの外部からＯＳ緊急ダンプ７０の転送要求がきた場合（ステップＢ７）にも、ダンプチェック機能５３がフラッシュメモリ３４内にＯＳ緊急ダンプが保存されているか否かの判断が行なわれ(ステップＢ２)、以下、同様の処理が行なわれる。
【００５７】
ここで、図１１に示す例においては、ＯＳ緊急ダンプ７０が、メインシステム２からサブシステム３に転送された場合に、ダンプチェック機能５３が動作し、ダンプ転送機能５４が、フラッシュメモリ３４内に保存されているＯＳ緊急ダンプ７０を保守サーバ５に対して転送する。そして、ダンプ削除機能５５が、転送が完了したＯＳ緊急ダンプ７０を、フラッシュメモリ３４から削除する。そのため、通常、フラッシュメモリ３４内のＯＳ緊急ダンプ７０の数は０となるが、ＯＳ緊急ダンプ７０の保守サーバ５への転送が失敗した場合、例えば、ＯＳ緊急ダンプ７０の転送中に保守サーバ５がダウンしてリブートした場合等には、フラッシュメモリ３４にＯＳ緊急ダンプ７０が残ったままになる。このような場合においても、定期監視機能５２や、外部からのＯＳ緊急ダンプ７０の転送要求によりダンプチェック機能５３が実行されるため、フラッシュメモリ３４に残ったＯＳ緊急ダンプ７０を確実に保守サーバ５へ転送することが可能である。
【００５８】
このように、実施形態の情報処理装置１の変形例によれば、上述した実施形態と同様の作用効果を得ることができる他、サブシステム３が保持するＯＳ緊急ダンプ７０を保守サーバ５に転送することで、転送されたＯＳ緊急ダンプ７０は、第２ディスク装置６に保存される。したがって、例えばディスク装置である第２ディスク装置６の容量は、一般的にフラッシュメモリの容量に比べ非常に大きいため、第１実施形態に比べ、より多くのＯＳ緊急ダンプ７０を保存することができる。
【００５９】
また、ＯＳ緊急ダンプ７０の保守サーバ５への転送が失敗した場合、例えば、ＯＳ緊急ダンプの転送中に保守サーバ５がダウンしてリブートした場合においても、定期監視機能５２や、外部からのＯＳ緊急ダンプ７０の転送要求によりダンプチェック機能５３が実行されるため、フラッシュメモリ３４に残ったＯＳ緊急ダンプ７０を確実に保守サーバ５へ転送することができる。
【００６０】
〔Ｃ〕その他
なお、メインプロセッサ２２の各機能を実現するためのメインＯＳ，サブプロセッサ３２の各機能を実現するためのサブＯＳおよび圧縮アルゴリズムなどの種々のアプリケーションプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００６１】
そして、開示の技術は上述した実施形態およびその変形例に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施例においては、図８のフローチャートに示すように、ＯＳ緊急ダンプ７０を作成したのちＳＲＡＭ２５に保存しているが、ＯＳ緊急ダンプ７０の作成が完了した後に、作成されたＯＳ緊急ダンプ７０を圧縮してもよい。これにより、ＯＳ緊急ダンプ７０の容量がより小さくなるため、フラッシュメモリ３４および第２ディスク装置６に、より多くのＯＳ緊急ダンプ７０を保存することが可能となる。なお、ＯＳ緊急ダンプ７０の圧縮は、例えば、第１メモリ２３に記憶された圧縮アルゴリズムをメインプロセッサ２２が実行することで行なわれる。また、圧縮されたＯＳ緊急ダンプ７０を解析する際には、圧縮されたＯＳ緊急ダンプ７０を展開アルゴリズムにより展開し、展開後のＯＳ緊急ダンプ７０に対して解析を行なう。
【００６２】
さらに、上述した実施例においては、ＯＳ緊急ダンプ７０を、サブプロセッサ３２のダンプ保存機能により、フラッシュメモリ３４に保存しているが、フラッシュメモリ３４の容量が足りず、新たにＯＳ緊急ダンプ７０を保存することができない場合がある。この場合、新たなＯＳ緊急ダンプ７０を保存することができないことを契機として、ダンプ転送機能５４により、既にフラッシュメモリ３４に保存されているＯＳ緊急ダンプを保守サーバ５に転送する。そして、その後、新たなＯＳ緊急ダンプ７０をフラッシュメモリ３４に保存しても良い。また、新たなＯＳ緊急ダンプ７０の保存を断り削除しても良い。
【００６３】
また、上述した実施例においては、ＯＳダンプ６０から、採取すべき情報に応じたアドレス（例えば、先頭アドレス）および当該採取すべき情報のサイズに基づいて情報の採取を行なうことで、ＯＳ緊急ダンプ７０が作成される。しかし、これに限定されるものではなく、ＯＳダンプ６０を作成する際と同様に、メインコントローラ２１の故障要因レジスタ等の各種レジスタ等から直接情報を採取してもよい。すなわち、メインＯＳのスタック情報６２は、メモリダンプ６１のアドレス０ｘ１０００００００から連続する１Ｍバイトのデータから採取し、ＩＯ装置のレジスタ情報６３は、例えば、メモリダンプ６１のアドレス０ｘ２０００００００から連続する１Ｋバイトのデータから採取する。さらに、メインプロセッサのレジスタ情報６４は、メインＯＳからアクセス可能なメインプロセッサ２２内のレジスタから採取する。さらに、メインコントローラのレジスタ情報６６は、メインコントローラ２１内部の故障要因レジスタから採取する。なお、要因情報６５は、メインＯＳ自身が検知し、認識している。
【００６４】
さらに、上述した実施例においては、ＯＳダンプ６０を作成した後に、ディスクアクセス異常の有無を確認し、異常がある場合には、ＯＳ緊急ダンプ７０を作成している。しかし、これに限定されるものではなく、ＯＳダンプ６０を作成することなく、ディスクアクセス異常の有無を確認し、ディスク異常がない場合には、ＯＳダンプ６０を作成し、ディスク異常がある場合には、ＯＳ緊急ダンプ７０を作成することとしてもよい。このとき、ＯＳ緊急ダンプ７０は、採取すべき情報をＯＳダンプ６０からではなく、上述の如く各種レジスタ等から直接採取する。これにより、ＯＳダンプ６０を作成することなくＯＳ緊急ダンプ７０を作成することができるため、処理を簡素化することができる。
【００６５】
また、上述した実施例においては、ディスクアクセスチェック機能４３が、ディスクアクセス異常を検出すると、ＯＳダンプ生成機能４２が、ＯＳダンプ６０を作成する。しかし、これに限定されるものではなく、ディスクアクセス異常を検出した後、ＯＳダンプ６０を作成することなく、ＯＳ緊急ダンプ生成機能４５が、ＯＳ緊急ダンプ７０を作成してもよい。このとき、ＯＳ緊急ダンプ７０は、採取すべき情報をＯＳダンプ６０からではなく、上述の如く各種レジスタ等から直接採取する。これにより、ＯＳダンプ６０を作成することなくＯＳ緊急ダンプ７０を作成することができるため、処理を簡素化することができる。
【符号の説明】
【００６６】
１    情報処理装置
２    メインシステム
３    サブシステム
４    メンテナンスバス
５    保守サーバ
６    第２ディスク装置
７    第１ディスク装置
８    ネットワーク
９    第２通信回線
１０    第１通信回線
２０−１，２０−２，２０−３    システムボード
２１    メインコントローラ
２２−１，２２−２，２２−３，２２−４    メインプロセッサ
２３−１，２３−２，２３−３，２３−４    第１メモリ
２４−１，２４−２，２４−３，２４−４    ＩＯコントローラ
２５    ＳＲＡＭ
３１    サブコントローラ
３２    サブプロセッサ
３３    第２メモリ
４１    異常検出機能
４２    ＯＳダンプ生成機能
４３    ディスクアクセスチェック機能
４４    ＯＳダンプ保存機能
４５    ＯＳ緊急ダンプ生成機能
４６    要因調査機能
４７    採取情報リスト作成機能
４８    調査情報採取機能
４９    ＯＳ緊急ダンプ転送機能
５２    定期監視機能
５３    ダンプチェック機能
５４    ダンプ転送機能
５５    ダンプ削除機能
６０    ＯＳダンプ
６１    メモリダンプ
６２    メインＯＳのスタック情報
６３    ＩＯ装置のレジスタ情報
６４    メインプロセッサのレジスタ情報
６５    要因情報
６６    メインコントローラのレジスタ情報
７０    ＯＳ緊急ダンプ
【図１】
0005440073.tif 000002
【図２】
0005440073.tif 000003
【図３】
0005440073.tif 000004
【図４】
0005440073.tif 000005
【図５】
0005440073.tif 000006
【図６】
0005440073.tif 000007
【図７】
0005440073.tif 000008
【図８】
0005440073.tif 000009
【図９】
0005440073.tif 000010
【図１０】
0005440073.tif 000011
【図１１】
0005440073.tif 000012