(57)【特許請求の範囲】
【請求項１】
記憶装置の第１記憶領域を用いて、オペレーティングシステムプログラムを起動させるまでの前段階に行われるブート処理を行うブート処理部と、
前記ブート処理が行われる前に、前記記憶装置に第２記憶領域を割り当てる記憶領域割当部と、
前記ブート処理に異常が発生した場合、前記第１記憶領域に格納されている情報である第１記憶領域情報を前記第２記憶領域に出力する出力部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、さらに、
ハードウェア資源を仮想計算機に割り当てるサービスの単位である論理ドメイン毎に、ハードウェア資源を該仮想計算機に割り当てて論理ドメインを生成する論理ドメイン生成部と、
を備え、
前記記憶領域割当部は、前記ブート処理が行われる前に、前記第２記憶領域がない場合には、該ブート処理に対応する前記論理ドメインについて、前記記憶装置に前記第２記憶領域を割り当てる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、さらに、
前記第２記憶領域の記憶容量の値と、前記第２記憶領域を割り当てることができるメモリのメモリアドレス情報とを格納するメモリ管理格納部
を備え、
前記記憶領域割当部は、前記ブート処理が行われる前に、前記第２記憶領域がない場合には、前記第１記憶領域の記憶容量の値以上の値と、前記メモリアドレス情報を用いて、前記記憶装置に前記第２記憶領域を割り当てると共に、前記第１記憶領域の記憶容量の値以上の値と、前記メモリアドレス情報とを前記メモリ管理格納部へ格納し、
前記出力部は、前記メモリ管理格納部に格納された前記第１記憶領域の記憶容量の値以上の値と前記メモリアドレス情報を用いて、前記第１記憶領域に格納されている第１記憶領域情報を前記第２記憶領域に出力する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、さらに、
前記第２記憶領域に、前記第１記憶領域情報が存在している場合、前記第１記憶領域情報を解析する解析部
を備えることを特徴とする請求項１〜３のうちいずれか１項に記載の情報処理装置。
【請求項５】
前記情報処理装置は、さらに、
前記ブート処理が行われる前に、前記第２記憶領域に、前記第１記憶領域情報がある場合、該第１記憶領域情報を外部装置へ送信する送信部
を備えることを特徴とする請求項１〜４のうちいずれか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置は、さらに、
前記ブート処理が完了後、前記第２記憶領域を解放する解放部
を備えることを特徴とする請求項１〜４のうちいずれか１項に記載の情報処理装置。
【請求項７】
コンピュータに、
記憶装置の第１記憶領域を用いて、オペレーティングシステムプログラムを起動させるまでの前段階に行われるブート処理が行われる前に、前記記憶装置に第２記憶領域を割り当て、
前記ブート処理に異常が発生した場合、前記第１記憶領域に格納されている情報である第１記憶領域情報を前記第２記憶領域に出力する
処理を実行させることを特徴とするメモリダンププログラム。
【請求項８】
コンピュータが実行するメモリダンプ方法であって、
前記コンピュータは、
記憶装置の第１記憶領域を用いて、オペレーティングシステムプログラムを起動させるまでの前段階に行われるブート処理が行われる前に、前記記憶装置に第２記憶領域を割り当て、
前記ブート処理に異常が発生した場合、前記第１記憶領域に格納されている情報である第１記憶領域情報を前記第２記憶領域に出力する
処理を実行することを特徴とするメモリダンプ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のメモリダンプ技術に関する。
【背景技術】
【０００２】
仮想化環境において、仮想化ファームウェア上のソフトウェアの種類の一例として、ブートするソフトウェアとオペレーティングシステム（OS）がある。OS起動処理における時間軸において、ブートするソフトウェア（ブートローダ）とOSは共存しない。
【０００３】
ブートローダは、PCI（Peripheral Component Interconnect）デバイス等のシステム電源投入後に認識するデバイスの構成情報を構築し、OSに引き渡す。OSはそれらの構成情報を利用して、システムを構築する。
【０００４】
さて、ブートローダ動作中に、ハードウェアに故障が発生したり、仮想化ファームウェア上で動作するソフトウェアが無応答になったりする場合がある。このとき、ブートローダのメモリダンプの調査が行われる。
【０００５】
ブートローダ動作中にブートローダに異常が発生すると、ブートローダを監視していた仮想化ファームウェアが異常を検知し、仮想化ファームウェアに制御が遷移する。その後、仮想化ファームウェアは、ブートローダ内の異常が発生した箇所とは異なる別のエラー処理を行うメモリ領域に、制御を遷移させる。その後、仮想化ファームウェアは、ブートローダに制御を渡す。すると、ブートローダは、決められたエラー処理を実施する。
【０００６】
なお、障害が発生した外部記憶装置以外の外部記憶装置を自動的に選択しダンプを収集するダンプ収集機構に関する技術がある。当該ダンプ収集機構に関する技術では、外部記憶装置に障害が発生すると、障害記録テーブルに外部記憶装置の装置番号を格納しておく。主記憶装置に展開されたブートローダは立ち上げ指示のときと同様にファイルロード手段により外部記憶装置よりダンプデバイス管理ファイルと障害記録テーブルとを読み込み、テーブル作成手段によりダンプデバイス管理テーブルを作成する。そして、ブートローダはダンプデバイス管理テーブルに定義されている外部記憶装置のダンプ領域をダンプ領域に決定し、メモリダンプ収集手段によりこの時に残っている主記憶装置のイメージをダンプ領域へ収集する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０９−０９１１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
早期復旧、早期原因究明が求められる高信頼性サーバにおいて、装置起動時に発生した異常については、早期に取り除くことが要求される。このため、ブートローダで発生した異常を調査するには、メモリダンプの調査が要求される。
【０００９】
しかしながら、ブートローダのメモリの内容を出力するデバイスはない。また、ブートローダは、上記ダンプ収集機構に関する技術において開示されているような外部記憶装置を読み書きする機能を有していない。
【００１０】
そこで、本実施形態では、ブートローダのメモリダンプの出力を可能にする技術を提供する。
【課題を解決するための手段】
【００１１】
本実施形態の１つの側面において、情報処理装置は、ブート処理部、記憶領域割当部、出力部を含む。ブート処理部は、記憶装置の第１記憶領域を用いて、オペレーティングシステムプログラムを起動させるまでの前段階に行われるブート処理を行う。記憶領域割当部は、ブート処理が行われる前に、記憶装置に第２記憶領域を割り当てる。出力部は、ブート処理に異常が発生した場合、第１記憶領域に格納されている情報である第１記憶領域情報を前記第２記憶領域に出力する。
【発明の効果】
【００１２】
本実施形態によれば、ブートローダのメモリダンプの出力が可能になる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態における情報処理装置の一例を示す。
【図２】本実施形態の１実施例における情報処理装置を示す。
【図３】本実施形態に係る情報処理装置のハードウェアリソースの一例を示す。
【図４】本実施形態における情報処理装置の構成の一例を示す。
【図５】本実施形態における全体のフローの一例を示す。
【図６】本実施形態における論理ドメインの構築処理のフローの一例を示す。
【図７】本実施形態における複写処理のフローの一例を示す。
【図８】本実施形態におけるブートローダの起動フローの一例を示す。
【図９】本実施形態（実施例１）における情報処理装置の構成の一例を示す。
【図１０】本実施形態（実施例１）におけるブートローダの使用するメモリ領域のフォーマットの一例を示す。
【図１１Ａ】本実施形態（実施例１）における論理ドメイン構築処理フローの一例（その１）を示す。
【図１１Ｂ】本実施形態（実施例１）における論理ドメイン構築処理フローの一例（その２）を示す。
【図１２】本実施形態（実施例１）における拡張メモリドメインの起動処理フローの一例を示す。
【図１３】本実施形態（実施例２）における情報処理装置の構成の一例を示す。
【図１４Ａ】本実施形態（実施例２）における論理ドメイン構築処理フローの一例（その１）を示す。
【図１４Ｂ】本実施形態（実施例２）における論理ドメイン構築処理フローの一例（その２）を示す。
【発明を実施するための形態】
【００１４】
上述したように、ブートローダのメモリの内容を出力するデバイスは存在しなかった。また、そのダンプ収集機構に関する技術で述べられているような外部記憶装置は、ハードディスクドライブ等の不揮発性の記憶装置を想定しており、ブートローダは、不揮発性の記憶装置を読み書きする機能を有していない。そのダンプ収集機構に関する技術で述べられているような外部記憶装置に対する読み込み／書込み処理をする機能を追加するには、ドライバまたは専用コードの追加が要求される。しかしながら、ブートローダが格納されている記憶領域の容量の制限から、外部記憶装置に対する読み込み／書込み処理をする機能をブートローダに追加することは難しい。また、外部記憶装置については、ＯＳが占有し、ブートローダが使用する領域は確保されていない。また、ＯＳにはブートローダが使用する領域を通知するインターフェースは存在しない。
【００１５】
そこで、本実施形態では、ブートローダのメモリダンプの出力を可能にする技術を提供する。
【００１６】
図１は、本実施形態における情報処理装置の一例を示す。情報処理装置１は、ブート処理部２、記憶領域割当部３、出力部４を含む。
【００１７】
ブート処理部２は、記憶装置の第１記憶領域を用いて、オペレーティングシステムプログラムを起動させるまでの前段階に行われるブート処理を行う。ブート処理部２の一例として、ブートローダ１５が挙げられる。記憶装置の一例としては、揮発性のメモリ装置が挙げられる。
【００１８】
記憶領域割当部３は、ブート処理が行われる前に、記憶装置に第２記憶領域を割り当てる。記憶領域割当部３の一例として、構築部５４が挙げられる。第２記憶領域の一例として、拡張メモリドメイン５６のメモリ領域が挙げられる。
【００１９】
出力部４は、ブート処理に異常が発生した場合、第１記憶領域に格納されている情報である第１記憶領域情報を第２記憶領域に出力する。出力部４の一例として、複写部５２が挙げられる。
【００２０】
このように構成することにより、ブートローダのメモリダンプが可能になる。
情報処理装置１は、さらに、論理ドメイン生成部５を含んでもよい。論理ドメイン生成部５は、ハードウェア資源を仮想計算機に割り当てるサービスの単位である論理ドメイン毎に、ハードウェア資源を仮想計算機に割り当てて論理ドメインを生成する。論理ドメイン生成部５の一例として、仮想化ファームウェア１６が挙げられる。
【００２１】
このとき、記憶領域割当部３は、前記ブート処理が行われる前に、第２記憶領域がない場合には、ブート処理に対応する論理ドメインについて、記憶装置に第２記憶領域を割り当てる。
【００２２】
このように構成することにより、仮想化環境において、ブートローダのメモリダンプを実現することができる。
【００２３】
情報処理装置１は、さらに、メモリ管理格納部６を含んでもよい。メモリ管理格納部６は、第２記憶領域の記憶容量の値と、第２記憶領域を割り当てることができるメモリのメモリアドレス情報とを格納する。メモリ管理格納部７の一例として、拡張メモリデータレジスタ２４が挙げられる。この場合、記憶領域割当部３は、ブート処理が行われる前に、第２記憶領域がない場合には、第１記憶領域の記憶容量の値以上の値と、そのメモリアドレス情報を用いて、記憶装置に第２記憶領域を割り当てる。それと共に、記憶領域割当部３は、第１記憶領域の記憶容量の値以上の値と、そのメモリアドレス情報とをメモリ管理格納部６へ格納する。
【００２４】
このとき、出力部４は、メモリ管理格納部６に格納された第１記憶領域の記憶容量の値以上の値とメモリアドレス情報を用いて、第１記憶領域に格納されている第１記憶領域情報を第２記憶領域に出力する。
【００２５】
このように構成することにより、メモリ管理格納部６を、論理ドメイン、ブートローダ、仮想化ファームウェアのインターフェースとして用いることができる。
【００２６】
情報処理装置１は、さらに、解析部７を含んでもよい。解析部７は、第２記憶領域に、第１記憶領域情報が存在している場合、第１記憶領域情報を解析する。解析部７の一例として、解析部５３が挙げられる。
【００２７】
情報処理装置１は、さらに、送信部を含んでもよい。送信部８は、ブート処理が行われる前に、第２記憶領域に、第１記憶領域情報がある場合、第１記憶領域情報を外部装置へ送信する。送信部８の一例として、送信部８１が挙げられる。外部装置の一例として、サブシステム１８が挙げられる。
【００２８】
このように構成することにより、ブートローダのメモリダンプを外部装置へ送信できるので、外部装置側でブートローダのメモリダンプの解析を行うことができる。
【００２９】
情報処理装置１は、さらに、解放部９を含んでもよい。解放部９は、ブート処理が完了後、第２記憶領域を解放する。解放部９の一例として、仮想化ファームウェア１６が挙げられる。
【００３０】
このように構成することにより、メモリダンプが完了して不要になった第２記憶領域を消去することができる。
【００３１】
本実施形態における情報処理装置を以下でさらに詳述する。
図２は、本実施形態の１実施例における情報処理装置を示す。情報処理装置１１は、ハードウェアリソース１２、メインシステム１３、サブシステム１８を含む。ハードウェアリソース１２は、メインシステム１３及びサブシステム１８を構成する物理的リソースを示す。
【００３２】
メインシステム１３は、仮想化された環境で情報処理装置１１による業務を実行するシステムである。すなわち、メインシステム１３では、複数の仮想計算機（ＶＭ：Virtual Machine）が動作する。したがって、仮想化技術により、各ＶＭでオペレーティングシステム（ＯＳ）を稼動させることができる。これにより、メインシステム１３上で複数のＯＳを並列して稼動させることができる。サブシステム１８は、メインシステム１３の運用を管理するシステムである。
【００３３】
メインシステム１３は、ＯＳ１４、ブートローダ１５、仮想化ファームウェア１６、ハードウェアリソース診断ソフトウェア１７を含む。ハードウェアリソース診断ソフトウェア１７は、Power On Self Test（POST）を行う。
【００３４】
仮想化ファームウェア１６は、仮想化環境を構築する制御プログラム（ハイパーバイザ）である。仮想化ファームウェア１６により、各ＶＭでＯＳ１４を稼動させることができる。ブートローダ１５は、ＯＳ１４をブートするソフトウェアである。メインシステム１３では、論理ドメイン毎に独立した、ＯＳ１４及びブートローダ１５が動作する。論理ドメインは、ＣＰＵ、メモリ、及び入出力デバイスを論理的にグループ化した仮想マシンである。
【００３５】
図３は、本実施形態に係る情報処理装置のハードウェアリソースの一例を示す。図３は、図２のハードウェアリソース１２の一例を示す。メインシステム１３は、ＣＰＵボード２０と、ＩＯＵボード２５と、ＸＢＵボード２９と、ＰＳＵボード３３と、コンセント３４とを含む。サブシステム１０と、ＣＰＵボード２０と、ＩＯＵボード２５と、ＸＢＵボード２９と、ＰＳＵボード３３は、メンテナンスバス４３で接続されている。
【００３６】
ＣＰＵボード２０は、サブコントローラ２１、ＣＰＵ（Central Processing Unit）２２、メモリ２３、拡張メモリデータレジスタ２４を含む。サブコントローラ２１は、メインコントローラ４２との通信を行う。ＣＰＵ２２はＣＰＵボード２０全体の動作を制御する。メモリ２３は、情報を記録する揮発性または不揮発性の記憶装置である。拡張メモリデータレジスタ２４は、後述するように、拡張メモリドメインのメモリアドレスと、拡張メモリドメインのメモリサイズを格納する記憶装置である。
【００３７】
ＩＯＵ（Input Output unit）ボード２５は、サブコントローラ２６、ＩＯＵ（Input Output unit）２７、メモリ２８を含む。サブコントローラ２６は、メインコントローラ４２との通信を行う。ＩＯＵ２７は、入出力を制御する。メモリ２８は、情報を記録する揮発性または不揮発性の記憶装置である。
【００３８】
ＸＢＵ（クロスバーユニット）ボード２９は、ＸＢ（クロスバー）３０、メモリ３１、サブコントローラ３２を含む。ＸＢ（クロスバー）３０は、大規模の情報処理システムにおいて、複数のＣＰＵやメモリの間でデータをやり取りする際に、経路選択を制御する。メモリ３１は、情報を記録する揮発性または不揮発性の記憶装置である。サブコントローラ２１は、メインコントローラ４２との通信を行う。
【００３９】
ＰＳＵ（Power Supply Unit）ボードは、コンセント３４から得られた電力を各ボードへ供給する。
【００４０】
サブシステム１８は、サブプロセッサ４１、メモリ４２、メインコントローラ４２を含む。サブプロセッサ４１は、メインコントローラ１１２を介して、メインシステム１３の動作を制御する。メモリ４２は、情報を記録する記憶装置である。メインコントローラ４２は、サブコントローラ２１，２６，３２との通信を行う。
【００４１】
図４は、本実施形態における情報処理装置の構成の一例を示す。情報処理装置１１は、メインシステム１３、サブシステム１８、ハードウェアリソース１２を含む。メインシステム１３は、ＯＳ１４、ブートローダ１５、仮想化ファームウェア１６、ハードウェアリソース診断ソフトウェア１７、拡張メモリドメイン５６を含む。
【００４２】
メインシステム１３では、論理ドメイン５０毎に独立した、ＯＳ１４及びブートローダ１５が動作する。論理ドメイン５０は、ＣＰＵ、メモリ、及び入出力デバイスを論理的にグループ化した仮想マシンである。
【００４３】
拡張メモリドメイン５６は、論理ドメイン５０に対してメモリ領域を割り当てたドメインである。拡張メモリドメイン５６の使用するメモリ領域（拡張メモリ領域）には、後述するように、ブートローダ１５が使用しているメモリの内容をコピーした内容が格納される。なお、ブートローダ１５が使用しているメモリ領域、及び拡張メモリドメイン５６の使用するメモリ領域を確保するメモリとしては、例えば、揮発性のメモリ装置を用いてもよい。
【００４４】
ハードウェアリソース１２は、拡張メモリデータレジスタ２４を含む。拡張メモリデータレジスタ２４には、拡張メモリドメイン５６が使用するメモリ領域のメモリアドレスと、拡張メモリドメイン５６が使用するメモリ領域のメモリサイズが格納される。
【００４５】
仮想化ファームウェア１６は、仮想化環境の構築の制御、拡張メモリドメイン５６の起動及びブートローダ１５の動作の監視を行う。仮想化ファームウェア１６は、ブートローダ１５の異常を検知した場合、ブートローダ１５にエラー処理を行わせるためにブートローダ１５を呼び出す。
【００４６】
仮想化ファームウェア１６は、構築部５４を含む。構築部５４は、メインシステム１３の起動時に、拡張メモリドメイン５６のメモリ領域のメモリアドレス及びサイズを、拡張メモリデータレジスタ２４に設定する。構築部５４は、拡張メモリデータレジスタ２４に設定したメモリアドレスおよびメモリサイズを用いて、ある論理ドメイン５０に対して、メモリ領域を割り当てた拡張メモリドメイン５６を起動させる。
【００４７】
ブートローダ１５は、ＯＳ１４のブート、ブート処理のエラー処理を行う。ブートローダ１５は、エラー処理部５１を含む。エラー処理部５１は、仮想化ファームウェア１６によりブートローダの異常が検知された場合にエラー処理を行う。エラー処理部５１は、複写部５２を含む。複写部５２は、ブートローダ１５が使用しているメモリの全内容を、拡張メモリドメイン５６のメモリ領域へ、コピーする。
【００４８】
また、ブートローダ１５は、解析部５３を含む。解析部５３は、拡張メモリドメイン５６のメモリ領域にコピーした情報（ブートローダ１５のメモリの内容（メモリダンプ））を解析する。例えば、解析部５３は、拡張メモリドメイン５６のメモリ領域にコピーした情報をバイナリデータで出力したり、所定の辞書を用いて、そのコピーした情報を解析してテキストデータとして出力してもよい。解析部５３は、その解析したデータを、コンソール等の入出力装置に出力する。
【００４９】
このように、本実施形態では、メインシステム１３に拡張メモリドメイン５６を追加する。これにより、ブートローダ１５で使用したメモリの内容を拡張メモリドメイン５６のメモリ領域へ出力することができると共に、メモリダンプのためにブートローダ１５が利用する記憶領域を確保することができる。また、本実施形態では、メインシステム１３に拡張メモリデータレジスタ２４を追加することにより、ブートローダ１５が利用する記憶領域をブートローダに通知することができる。
【００５０】
図５は、本実施形態における全体のフローの一例を示す。メインシステム１３の起動が開始すると、拡張メモリドメイン５６の構築の準備処理が行われる（Ｓ１）。Ｓ１では、仮想化ファームウェア１６がアクセス許可したメモリ領域に対して、ブートローダ１５が制限なくアクセスできることに着目して、仮想化ファームウェア１６は、ブートローダ１５のメモリダンプの採取のために、拡張メモリドメイン５６を構築する。
【００５１】
次に、論理ドメイン５０の起動処理が行われる（Ｓ２）。Ｓ２では、仮想化ファームウェア１６が、起動対象とする論理ドメインに対して、ＣＰＵ、メモリ、入出力装置等のハードウェアリソース１２を割り当てる。その後、仮想化ファームウェア１６は、拡張メモリデータレジスタ２４を用いて、拡張メモリドメイン２４へのアクセス情報（拡張メモリドメイン５６のメモリ領域のメモリアドレス及びメモリサイズ）を、論理ドメイン５０に通知する。なお、拡張メモリデータレジスタ２４が１つまたは複数ある場合、仮想化ファームウェア１６は、論理ドメイン５０に拡張メモリデータレジスタ２４を識別する情報を通知するようにしてもよい。
【００５２】
次に、ブートローダ１５が起動する。ブートローダ１５が起動中に、ブートローダ１５に異常が発生したとする（Ｓ３）。すると、仮想化ファームウェア１６は、ブートローダ１５内の異常が発生したメモリ領域とは異なる別のメモリ領域に、そのエラーに対処する処理を移して、ブートローダ１５に制御を渡す。
【００５３】
すると、構築された拡張メモリドメイン５６のメモリ領域へのダンプ採取処理が行われる（Ｓ４）。ここでは、ブートローダ１５は、拡張メモリデータレジスタ２４に設定されたアクセス情報を用いて、当該ブートローダ１５のメモリ領域に保持されている全情報を、拡張メモリドメイン５６のメモリ領域に複写する。その後、ブートローダ１５は、論理ドメイン５０のリセットを仮想化ファームウェア１６に依頼する。仮想化ファームウェア１６は、再び、論理ドメイン５０を起動する。なお、次に起動される論理ドメイン５０は、別のハードウェアリソース１２を利用する。
【００５４】
論理ドメイン５０の再起動後、拡張メモリドメイン５６のメモリ領域に複写されたデータに基づく障害解析が行われる（Ｓ５）。Ｓ５では、ブートローダ１５は、論理ドメイン５０の再起動後、拡張メモリデータレジスタ２４に設定された拡張メモリドメイン５６のメモリアドレス及びメモリサイズを用いて、拡張メモリドメイン５６のメモリ領域にあるデータを解析する。その後、システムのメンテナンス担当者がその解析結果に基づいて、障害解析を行う。こうして、システムの起動が完了する。
【００５５】
図６は、本実施形態における論理ドメインの構築処理のフローの一例を示す。図６は、図５のフローを詳述したものである。図６では、図４で示した情報処理装置１１の動作、及び障害が発生した場合の拡張メモリドメインへのメモリダンプ採取を説明する。図６において、図５で説明したように、論理ドメイン構築処理の開始直後に、仮想化ファームウェア１６が拡張メモリドメイン構築の準備処理を行う。その後、仮想化ファームウェア１６は、論理ドメイン５０を起動する。以下に、これらの処理の詳細を示す。
【００５６】
仮想化ファームウェア１６は、メインシステム１３において拡張メモリドメイン５６が存在するかを判定する（Ｓ１１）。ここでは、仮想化ファームウェア１６は、拡張メモリデータレジスタ２４に有効な情報が格納されているか否かに基づいて、拡張メモリドメイン５６が存在するかを判定する。
【００５７】
拡張メモリドメイン５６が存在しないと判定した場合（Ｓ１１で「Ｎｏ」）、仮想化ファームウェア１６（構築部５４）は、拡張メモリドメイン５６を構築するために、拡張メモリドメイン５６へメモリ領域を割り当てる。すなわち、構築部５４は、ブートローダ１５のメモリサイズ（固定）以上のサイズと、割り当て可能なメモリアドレスとを、拡張メモリデータレジスタ２４に設定する。
【００５８】
Ｓ１１において拡張メモリドメイン５６が存在すると判定した場合（Ｓ１１で「Ｙｅｓ」）、すなわち、後述するＳ１７において、論理ドメインのリセットが依頼されて再びＳ１１の処理を行う場合、仮想化ファームウェア１６は、次の処理を行う。すなわち、仮想化ファームウェア１６は、論理ドメイン５０に、拡張メモリドメイン５６のメモリ領域へのアクセスを許可する（Ｓ１３）。また、Ｓ１２の処理後、仮想化ファームウェア１６は、論理ドメイン５０に、拡張メモリドメイン５６のメモリ領域へのアクセスを許可する（Ｓ１３）。仮想化ファームウェア１６は、論理ドメイン５０を起動させる（Ｓ１４）。
【００５９】
仮想化ファームウェア１６は、拡張メモリデータレジスタ２４を用いて、論理ドメイン５０に、拡張メモリドメイン５６のメモリ領域のメモリアドレスを通知する（Ｓ１５）。なお、拡張メモリデータレジスタ２４が１つまたは複数ある場合、仮想化ファームウェア１６は、論理ドメイン５０に拡張メモリデータレジスタ２４を識別する情報を通知するようにしてもよい。その後、仮想化ファームウェア１６は、ブートローダ１５を起動させる。
【００６０】
ブートローダ１５の起動が開始する。起動中にブートローダ１５に異常が発生した場合（Ｓ１６で「Ｙｅｓ」）、仮想化ファームウェア１６はその異常を検知し、ブートローダに制御を移行する。すると、ブートローダ１５（複写部５２）は、自身が使用していたメモリ領域の内容を拡張メモリドメイン５６のメモリ領域へ複写する（Ｓ１７）。Ｓ１７の処理については、図７で詳述する。起動中にブートローダ１５に異常が発生しなかった場合（Ｓ１６で「Ｎｏ」）、ブートローダ１５は、ＯＳ１４のブートを行う（Ｓ１８）。
【００６１】
ＯＳ１４の起動後、仮想化ファームウェア１６は、拡張メモリドメイン５６を解放する（Ｓ１９）。さらに、仮想化ファームウェア１６は、拡張メモリデータレジスタ２４を解放する（Ｓ２０）。
【００６２】
図７は、本実施形態における複写処理のフローの一例を示す。図３では、ブートローダ１５が使用していたメモリ領域の全内容を拡張メモリドメインのメモリにダンプ採取する場合の詳細を説明する。
【００６３】
仮想化ファームウェア１６は、ブートローダ１５の無応答を監視している。図６のＳ１６において、ブートローダ１５に異常が発生した場合、ブートローダ１５が無応答になる（Ｓ２１）。すると、仮想化ファームウェア１６は、ブートローダ１５内の異常が発生したメモリ領域とは異なる別のメモリ領域に処理を移行させる（Ｓ２２）。その別のメモリ領域において、エラー処理部５１はエラー処理を開始する（Ｓ２３）。
【００６４】
複写部５２は、拡張メモリドメイン５６へのアクセスに際し、最初に、拡張メモリデータレジスタ２４からアクセス先のメモリアドレスと、メモリサイズを、読み出す（Ｓ２４）。複写部５２は、ブートローダ１５自身が使用しているメモリ領域に格納されている全情報を拡張メモリドメインのメモリ領域に複写する。これにより、拡張メモリドメインのメモリ領域への、ブートローダのメモリダンプ採取処理（エラー処理）が終了する（Ｓ２６）。その後、エラー処理部５１は、論理ドメイン５０のリセットを仮想化ファームウェア１６に依頼する（Ｓ２７）。
【００６５】
図８は、本実施形態におけるブートローダの起動フローの一例を示す。ブートローダ１５の起動が開始すると、ブートローダ１５は、拡張メモリデータレジスタ２４から、拡張メモリドメイン５６のメモリ領域のメモリアドレスとメモリサイズを読み出す（Ｓ３１）。
【００６６】
ブートローダ１５は、その読み出したメモリアドレスとメモリサイズを用いて、拡張メモリドメイン５６のメモリ領域へアクセスする。アクセスした結果、拡張メモリドメイン５６のメモリ領域にデータが存在しない場合（Ｓ３２で「Ｎｏ」）、ブートローダ１５の起動は完了する。
【００６７】
Ｓ３２において、アクセスした結果、拡張メモリドメイン５６のメモリ領域にデータが存在する場合（Ｓ３２で「Ｙｅｓ」）、解析部５３は、そのアクセスして得られたデータを解析し、コンソールに出力する（Ｓ３３）。そして、ブートローダ１５の起動は完了する。
【００６８】
本実施形態によれば、ブートローダ１５の異常が発生した場合、ブートローダ１５のメモリダンプを拡張メモリドメイン５６に出力することができる。これにより、ブートローダのメモリダンプの解析が可能になる。その結果、早期に障害を特定することができ、システムの早期復旧に貢献できる。
【００６９】
次に、本実施形態の実施例について説明する。
（実施例１）
実施例１では、ブートローダ起動中にブートローダにエラーが発生した場合、情報処理装置は、ブートローダが使用していたメモリの内容を拡張メモリドメインに複写する。情報処理装置は、ブートローダのリセット後のブートローダ起動時に、拡張メモリドメインに格納されているメモリダンプ情報を解析する。なお、実施例１において、上記で説明した構成または機能と同様のものには同じ符号を付して、その説明を省略する。
【００７０】
図９は、本実施形態（実施例１）における情報処理装置の構成を示す。図９では、拡張メモリデータレジスタ２４の一例として、拡張メモリデータレジスタ２４ａを用いる場合について説明する。拡張メモリデータレジスタ２４ａ以外は、図４と同じなので、その説明を省略する。
【００７１】
拡張メモリデータレジスタ２４ａは、８バイト×２個のレジスタであるが、この数値に限定されない。拡張メモリデータレジスタ２４ａは、拡張メモリドメイン５６のメモリ領域のメモリアドレス及びそのメモリサイズを格納することができる。
【００７２】
図１０は、本実施形態（実施例１）におけるブートローダの使用するメモリ領域のフォーマットの一例を示す。このブートローダの使用するメモリ領域に格納されている情報がメモリダンプの対象となる情報である。ブートローダの使用するメモリ領域は、ＤＭＡ領域７１、ヒープ領域７２、ユーザ領域７３を含む。
【００７３】
ＤＭＡ領域７１は、ＤＭＡ（Direct Memory Access）転送に用いるメモリ領域である。ヒープ領域７２は、ブートローダ１５が動的に確保可能なメモリ領域である。ユーザ領域は、所定のプログラムが利用するメモリ領域である。ＤＭＡ領域７１、ヒープ領域７２、ユーザ領域７３のメモリサイズは、一例としていずれも固定値であるとするが、これに限定されない。
【００７４】
図１１Ａ及び図１１Ｂは、本実施形態（実施例１）における論理ドメイン構築処理フローの一例を示す。図１１Ａ及び図１１Ｂの論理ドメイン構築処理には、拡張メモリドメイン構築処理、メモリダンプ解析処理、ブートローダ実行完了の処理を含む。
【００７５】
仮想化ファームウェア１６は、論理ドメイン５０の構築処理を開始すると、メインシステム１３において拡張メモリドメイン５６が存在するかを判定する（Ｓ４１）。ここでは、仮想化ファームウェア１６は、拡張メモリデータレジスタ２４ａから、拡張メモリドメイン５６のメモリ領域のメモリアドレスとメモリサイズを読み出す。仮想化ファームウェア１６は、その読み出したメモリアドレスとメモリサイズを用いて、拡張メモリドメイン５６のメモリ領域へアクセスする。アクセスした結果、拡張メモリドメイン５６が存在しないと判定した場合（Ｓ４１で「Ｎｏ」）、仮想化ファームウェア１６（構築部５４）は、拡張メモリドメイン５６を起動させる（Ｓ４２）。Ｓ４２の処理については、図１２で詳述する。
【００７６】
Ｓ４１において拡張メモリドメイン５６が存在すると判定した場合（Ｓ４１で「Ｙｅｓ」）、すなわち、後述するＳ５６において、論理ドメイン５０のリセットが依頼されて再びＳ４１の処理を行う場合、仮想化ファームウェア１６は、次の処理を行う。すなわち、仮想化ファームウェア１６は、論理ドメイン５０に、拡張メモリドメイン５６のメモリ領域へのアクセスを許可する（Ｓ４３）。また、Ｓ４２の処理後、仮想化ファームウェア１６は、論理ドメイン５０に、拡張メモリドメイン５６のメモリ領域へのアクセスを許可する（Ｓ４３）。
【００７７】
仮想化ファームウェア１６は、論理ドメイン５０を起動させる（Ｓ４４）。仮想化ファームウェア１６は、拡張メモリデータレジスタ２４ａを用いて、論理ドメイン５０に拡張メモリドメインのメモリ領域のアドレスを通知する（Ｓ４５）。
【００７８】
ブートローダ１５は、仮想化ファームウェア１６の制御により起動を開始する（Ｓ４６）。ブートローダ１５は、拡張メモリデータレジスタ２４ａから、拡張メモリドメイン５６のメモリ領域のメモリアドレスとメモリサイズを読み出す（Ｓ４７）。ブートローダ１５は、その読み出した拡張メモリドメイン５６のメモリ領域のメモリアドレスとメモリサイズを用いて、拡張メモリドメイン５６のメモリ領域へアクセスする。アクセスした結果、拡張メモリドメイン５６のメモリ領域にデータが存在しない場合（Ｓ４８で「Ｎｏ」）、Ｓ５０へ処理が遷移する。
【００７９】
Ｓ４８において、拡張メモリドメイン５６のメモリ領域にデータが存在する場合（Ｓ４８で「Ｙｅｓ」）、すなわち、後述するＳ５６において、論理ドメイン５０のリセットが依頼されて再びＳ４８の処理を行う場合、ブートローダ１５は次の処理を行う。すなわち、ブートローダ１５（解析部５３）は、そのアクセスして得られたデータを解析し、コンソールに出力する（Ｓ４９）。
【００８０】
ブートローダ１５に異常が発生した場合（Ｓ５０で「Ｙｅｓ」）、仮想化ファームウェア１６の制御により、ブートローダ１５は、次の処理を行う。すなわち、ブートローダ１５は、ブートローダ１５内の異常が発生したメモリ領域とは異なる別のメモリ領域に処理を移行させる（Ｓ５１）。その別のメモリ領域において、エラー処理部５１は、エラー処理を開始する（Ｓ５２）。
【００８１】
複写部５２は、拡張メモリドメイン５６へのアクセスに際し、最初に、拡張メモリデータレジスタ２４からアクセス先のメモリアドレスとメモリサイズとを読み出す（Ｓ５３）。複写部５２は、ブートローダ１５自身が使用しているメモリ領域に格納されたすべての情報を拡張メモリドメイン５６のメモリ領域へ複写する（Ｓ５４）。これにより、拡張メモリドメイン５６のメモリ領域へのダンプ採取処理（エラー処理）が終了する（Ｓ５５）。
【００８２】
その後、エラー処理部５１は、論理ドメイン５０のリセットを仮想化ファームウェア１６に依頼する（Ｓ５６）。その後、論理ドメイン構築開始処理（図１１Ａの最初）へ戻る（Ｓ５７）。なお、仮想化ファームウェア１６は、次に起動する論理ドメイン５０を、別のハードウェアリソース１２を用いて起動する。
【００８３】
Ｓ５０において、異常が発生しなかった場合（Ｓ５０で「Ｎｏ」）、ブートローダ１５の起動が完了する（Ｓ５８）。
仮想化ファームウェア１６は、拡張メモリドメイン５６を解放する（Ｓ１８）。さらに、仮想化ファームウェア１６は、拡張メモリデータレジスタ２４ａを解放する（Ｓ６０）。
【００８４】
図１２は、本実施形態（実施例１）における拡張メモリドメインの起動処理フローの一例を示す。拡張メモリドメイン５６の起動が開始すると、仮想化ファームフェア１６（構築部５４）は、論理ドメイン５０に、拡張メモリドメイン５６としてメモリ領域を割り当てる（Ｓ７１）。割り当てられるメモリサイズは、ブートローダ１５のメモリサイズ（例えば、固定値20MB）以上のサイズである。
【００８５】
仮想化ファームフェア１６（構築部５４）は、ブートローダの対象とする実論理ドメインのＣＰＵ２２にあるアドレス変換テーブルに、その割り当てられたメモリ領域を追加する（Ｓ７２）。これにより、ＣＰＵ２２は、その追加されたメモリ領域を拡張メモリドメイン５６として使用することができる。そして、拡張メモリドメイン５６の起動が完了する。
【００８６】
実施例１によれば、仮想化ファーム環境において、揮発性のメモリにメモリダンプ領域を確保することができる。
【００８７】
（実施例２）
次に、本実施形態の実施例２について説明する。実施例２では、ブートローダ１５にエラーが発生した場合、ブートローダ１５が使用するメモリ領域の全内容を拡張メモリドメインに複写し、ブートローダをリセットする。仮想化ファームウェアは、論理ドメイン起動時に拡張メモリドメイン内にデータが存在した場合、拡張メモリドメインのメモリ領域に複製された情報をサブシステムに転送する。なお、実施例２において、上記で説明した構成または機能と同様のものには同じ符号を付して、その説明を省略する。
【００８８】
図１３は、本実施形態（実施例２）における情報処理装置の構成の一例を示す。図１３は、図９の仮想化ファームウェア１６に送信部８１を追加し、ブートローダ１５から解析部５３を取り除き、サブシステム１８に受信部８２と拡張メモリデータ格納部８３を追加した図である。
【００８９】
送信部８１は、拡張メモリドメイン５６のメモリ領域に格納されたデータ（拡張メモリデータ）をサブシステム１８へ送信する。受信部８２は、送信部８１より送信された拡張メモリデータを受信し、拡張メモリデータ格納部８３に格納する。
【００９０】
図１４Ａ及び図１４Ｂは、本実施形態（実施例２）における論理ドメイン構築処理フローの一例を示す。仮想化ファームウェア１６は、論理ドメインの構築処理を開始すると、メインシステム１３において拡張メモリドメイン５６が存在するかを判定する（Ｓ８１）。ここでは、仮想化ファームウェア１６は、拡張メモリデータレジスタ２４ａから、拡張メモリドメイン５６のメモリ領域のメモリアドレスとメモリサイズを読み出す。その読み出したメモリアドレスとメモリサイズを用いて、拡張メモリドメイン５６のメモリ領域へアクセスする。アクセスした結果、拡張メモリドメイン５６が存在しないと判定した場合（Ｓ８１で「Ｎｏ」）、仮想化ファームウェア１６（構築部５４）は、拡張メモリドメイン５６を起動させる（Ｓ８２）。Ｓ８２の処理については、図１２と同様であるので、その説明を省略する。
【００９１】
Ｓ８１において拡張メモリドメイン５６が存在すると判定した場合（Ｓ８１で「Ｙｅｓ」）、すなわち、後述するＳ９７において、論理ドメイン５０のリセットが依頼されて再びＳ８１の処理を行う場合、仮想化ファームウェア１６は、次の処理を行う。すなわち、仮想化ファームウェア１６は、拡張メモリデータレジスタ２４ａから、拡張メモリドメイン５６のメモリ領域のメモリアドレスとメモリサイズを読み出す。仮想化ファームウェア１６は、その読み出した拡張メモリドメイン５６のメモリ領域のメモリアドレスとメモリサイズを用いて、拡張メモリドメイン５６のメモリ領域へアクセスする。アクセスした結果、拡張メモリドメイン５６のメモリ領域に拡張メモリデータが存在しない場合（Ｓ８３で「Ｎｏ」）、Ｓ８７へ処理が遷移する。
【００９２】
Ｓ８３において、拡張メモリドメイン５６のメモリ領域に拡張メモリデータが存在する場合（Ｓ８３で「Ｙｅｓ」）、仮想化ファームウェア１６（送信部５３）は、次の処理を行う。すなわち、仮想化ファームウェア１６（送信部５３）は、そのアクセスして得られた拡張メモリデータをサブシステム１８に転送する（Ｓ８４）。
【００９３】
サブシステム１８（受信部８２）は、仮想化ファームウェア１６より送信された拡張メモリデータを受信し、拡張メモリデータ格納部８３に格納する（Ｓ８５）。サブシステム１８は、データ受信完了を仮想化ファームフェア１６に通知する（Ｓ８６）。
【００９４】
仮想化ファームフェア１６は、論理ドメイン５０に、拡張メモリドメイン５６のメモリ領域へのアクセスを許可する（Ｓ８７）。
仮想化ファームウェア１６は、論理ドメイン５０を起動させる（Ｓ８８）。仮想化ファームウェア１６は、拡張メモリデータレジスタ２４ａを介して、論理ドメイン５０に拡張メモリドメイン５６のメモリ領域のメモリアドレスを通知する（Ｓ８９）。
【００９５】
ブートローダ１５は、仮想化ファームウェア１６の制御により起動を開始する（Ｓ９０）。ブートローダ１５に異常が発生した場合（Ｓ９１で「Ｙｅｓ」）、仮想化ファームウェア１６の制御により、ブートローダ１５は、次の処理を行う。すなわち、ブートローダ１５は、ブートローダ１５内の異常が発生したメモリ領域とは異なる別のメモリ領域に処理を移行させる（Ｓ９２）。その別のメモリ領域において、エラー処理部５１は、エラー処理を開始する（Ｓ９３）。
【００９６】
複写部５２は、拡張メモリドメイン５６へのアクセスに際し、最初に、拡張メモリデータレジスタ２４ａからアクセス先のメモリアドレスとメモリサイズとを読み出す（Ｓ９４）。複写部５２は、ブートローダ１５自身が使用しているメモリ領域にあるデータを拡張メモリドメイン５６のメモリ領域に複写する（Ｓ９５）。これにより、拡張メモリドメイン５６のメモリ領域へのダンプ採取処理（エラー処理）が終了する（Ｓ９６）。
【００９７】
その後、エラー処理部５１は、論理ドメイン５０のリセットを仮想化ファームウェア１６に依頼する（Ｓ９７）。その後、論理ドメイン構築開始処理（図１４Ａの最初）へ戻る（Ｓ９８）。なお、仮想化ファームウェア１６は、次に起動する論理ドメイン５０を、別のハードウェアリソース１２を用いて起動する
【００９８】
Ｓ９１において、異常が発生しなかった場合（Ｓ９１で「Ｎｏ」）、ブートローダ１５の起動が完了する（Ｓ９９）。
【００９９】
仮想化ファームウェア１６は、拡張メモリドメイン５６を解放する（Ｓ１００）。さらに、仮想化ファームウェア１６は、拡張メモリデータレジスタ２４ａを解放する（Ｓ１０１）。
【０１００】
実施例２によれば、外部装置側でブートローダのメモリダンプの解析を行うために、外部装置にメモリダンプを送信することができる。また、仮想化ファーム環境において、揮発性のメモリにメモリダンプ領域を確保することができる。
【０１０１】
なお、本実施形態では、仮想化環境を例に説明したがこれに限定されず、ブートローダで使用するメモリ領域に格納された情報を退避できるならば、仮想化環境の情報処理装置に限定されない。
【０１０２】
なお、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【０１０３】
上記実施形態に関し、更に以下の付記を開示する。
（付記１）
記憶装置の第１記憶領域を用いて、オペレーティングシステムプログラムを起動させるまでの前段階に行われるブート処理を行うブート処理部と、
前記ブート処理が行われる前に、前記記憶装置に第２記憶領域を割り当てる記憶領域割当部と、
前記ブート処理に異常が発生した場合、前記第１記憶領域に格納されている情報である第１記憶領域情報を前記第２記憶領域に出力する出力部と、
を備えることを特徴とする情報処理装置。
（付記２）
前記情報処理装置は、さらに、
ハードウェア資源を仮想計算機に割り当てるサービスの単位である論理ドメイン毎に、ハードウェア資源を該仮想計算機に割り当てて論理ドメインを生成する論理ドメイン生成部と、
を備え、
前記記憶領域割当部は、前記ブート処理が行われる前に、前記第２記憶領域がない場合には、該ブート処理に対応する前記論理ドメインについて、前記記憶装置に前記第２記憶領域を割り当てる
ことを特徴とする付記１に記載の情報処理装置。
（付記３）
前記情報処理装置は、さらに、
前記第２記憶領域の記憶容量の値と、前記第２記憶領域を割り当てることができるメモリのメモリアドレス情報とを格納するメモリ管理格納部
を備え、
前記記憶領域割当部は、前記ブート処理が行われる前に、前記第２記憶領域がない場合には、前記第１記憶領域の記憶容量の値以上の値と、前記メモリアドレス情報を用いて、前記記憶装置に前記第２記憶領域を割り当てると共に、前記第１記憶領域の記憶容量の値以上の値と、前記メモリアドレス情報とを前記メモリ管理格納部へ格納し、
前記出力部は、前記メモリ管理格納部に格納された前記第１記憶領域の記憶容量の値以上の値と前記メモリアドレス情報を用いて、前記第１記憶領域に格納されている第１記憶領域情報を前記第２記憶領域に出力する
ことを特徴とする付記２に記載の情報処理装置。
（付記４）
前記情報処理装置は、さらに、
前記第２記憶領域に、前記第１記憶領域情報が存在している場合、前記第１記憶領域情報を解析する解析部
を備えることを特徴とする付記１〜３のうちいずれか１項に記載の情報処理装置。
（付記５）
前記情報処理装置は、さらに、
前記ブート処理が行われる前に、前記第２記憶領域に、前記第１記憶領域情報がある場合、該第１記憶領域情報を外部装置へ送信する送信部
を備えることを特徴とする付記１〜４のうちいずれか１項に記載の情報処理装置。
（付記６）
前記情報処理装置は、さらに、
前記ブート処理が完了後、前記第２記憶領域を解放する解放部
を備えることを特徴とする付記１〜５のうちいずれか１項に記載の情報処理装置。
（付記７）
コンピュータに、
記憶装置の第１記憶領域を用いて、オペレーティングシステムプログラムを起動させるまでの前段階に行われるブート処理が行われる前に、前記記憶装置に第２記憶領域を割り当て、
前記ブート処理に異常が発生した場合、前記第１記憶領域に格納されている情報である第１記憶領域情報を前記第２記憶領域に出力する
処理を実行させることを特徴とするメモリダンププログラム。
（付記８）
前記コンピュータに、さらに、
ハードウェア資源を仮想計算機に割り当てるサービスの単位である論理ドメイン毎に、ハードウェア資源を仮想計算機に割り当てて論理ドメインを生成する処理を実行させ、
前記第２記憶領域の割り当てにおいて、前記ブート処理が行われる前に、前記第２記憶領域がない場合には、該ブート処理に対応する前記論理ドメインについて、前記記憶装置に前記第２記憶領域を割り当てる
ことを特徴とする付記７に記載のメモリダンププログラム。
（付記９）
前記第２記憶領域の割り当てにおいて、前記ブート処理が行われる前に、前記第２記憶領域がない場合には、前記第１記憶領域の記憶容量の値以上の値と、前記メモリアドレス情報を用いて、前記記憶装置に前記第２記憶領域を割り当てると共に、前記第１記憶領域の記憶容量の値以上の値と、前記メモリアドレス情報とをメモリ管理格納部へ格納し、
前記第１記憶領域情報の出力において、前記メモリ管理格納部に格納された前記第１記憶領域の記憶容量の値以上の値と前記メモリアドレス情報を用いて、前記第１記憶領域に格納されている第１記憶領域情報を前記第２記憶領域に出力する
ことを特徴とする付記８に記載のメモリダンププログラム。
（付記１０）
前記コンピュータに、さらに、前記第２記憶領域に、前記第１記憶領域情報が存在している場合、前記第１記憶領域情報を解析する
処理を実行させることを特徴とする付記７〜９のうちいずれか１項に記載のメモリダンププログラム。
（付記１１）
前記コンピュータに、さらに、前記ブート処理が行われる前に、前記第２記憶領域に、前記第１記憶領域情報がある場合、該第１記憶領域情報を外部装置へ送信する
処理を実行させることを特徴とする付記７〜９のうちいずれか１項に記載のメモリダンププログラム。
（付記１２）
前記コンピュータに、さらに、
前記ブート処理が完了後、前記第２記憶領域を解放する
処理を実行させることを特徴とする付記７〜１１のうちいずれか１項に記載のメモリダンププログラム。
（付記１３）
コンピュータが実行するメモリダンプ方法であって、
前記コンピュータは、
記憶装置の第１記憶領域を用いて、オペレーティングシステムプログラムを起動させるまでの前段階に行われるブート処理が行われる前に、前記記憶装置に第２記憶領域を割り当て、
前記ブート処理に異常が発生した場合、前記第１記憶領域に格納されている情報である第１記憶領域情報を前記第２記憶領域に出力する
処理を実行することを特徴とするメモリダンプ方法。
（付記１４）
前記コンピュータは、さらに、
ハードウェア資源を仮想計算機に割り当てるサービスの単位である論理ドメイン毎に、ハードウェア資源を仮想計算機に割り当てて論理ドメインを生成する処理を実行させ、
前記第２記憶領域の割り当てにおいて、前記ブート処理が行われる前に、前記第２記憶領域がない場合には、該ブート処理に対応する前記論理ドメインについて、前記記憶装置に前記第２記憶領域を割り当てる
ことを特徴とする付記１３に記載のメモリダンプ方法。
（付記１５）
前記第２記憶領域の割り当てにおいて、前記ブート処理が行われる前に、前記第２記憶領域がない場合には、前記第１記憶領域の記憶容量の値以上の値と、前記メモリアドレス情報を用いて、前記記憶装置に前記第２記憶領域を割り当てると共に、前記第１記憶領域の記憶容量の値以上の値と、前記メモリアドレス情報とをメモリ管理格納部へ格納し、
前記第１記憶領域情報の出力において、前記メモリ管理格納部に格納された前記第１記憶領域の記憶容量の値以上の値と前記メモリアドレス情報を用いて、前記第１記憶領域に格納されている第１記憶領域情報を前記第２記憶領域に出力する
ことを特徴とする付記１３に記載のメモリダンプ方法。
【符号の説明】
【０１０４】
１      情報処理装置
２      ブート処理部
３      記憶領域割当部
４      出力部
５      論理ドメイン生成部
６      メモリ管理格納部
７      解析部
８      送信部
９      解放部
１１    情報処理装置
１２    ハードウェアリソース
１３    メインシステム
１４    ＯＳ
１５    ブートローダ
１６    仮想化ファームウェア
１７    ハードウェアリソース診断ソフトウェア
１８    サブシステム
２４，２４ａ    拡張メモリデータレジスタ
５０    論理ドメイン
５１    エラー処理部
５２    複写部
５３    解析部
５４    構築部
５６    拡張メモリドメイン
８１    送信部
８２    受信部
８３    拡張メモリデータ格納部
【図１】
0005842683.tif 000002
【図２】
0005842683.tif 000003
【図３】
0005842683.tif 000004
【図４】
0005842683.tif 000005
【図５】
0005842683.tif 000006
【図６】
0005842683.tif 000007
【図７】
0005842683.tif 000008
【図８】
0005842683.tif 000009
【図９】
0005842683.tif 000010
【図１０】
0005842683.tif 000011
【図１１Ａ】
0005842683.tif 000012
【図１１Ｂ】
0005842683.tif 000013
【図１２】
0005842683.tif 000014
【図１３】
0005842683.tif 000015
【図１４Ａ】
0005842683.tif 000016
【図１４Ｂ】
0005842683.tif 000017