(57)【要約】【課題】情報処理装置の起動中に障害が発生しても、早期に障害を解消できるようにする。【解決手段】本情報処理装置は、プロセッサとプロセッサに第１の伝送路を介して接続される電気部品とを有する処理装置と、電気部品に第２の伝送路を介して接続されるとともにプロセッサに第３の伝送路を介して接続される管理装置とを有する。管理装置は、第３の伝送路経由で処理装置を起動し、第２の伝送路経由で電気部品にアクセスして電気部品を特定する情報を取得する。【選択図】図５
2019046148.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと前記プロセッサに第１の伝送路を介して接続される電気部品とを有する処理装置と、
前記電気部品に第２の伝送路を介して接続されるとともに前記プロセッサに第３の伝送路を介して接続される管理装置と、を備え、
前記管理装置は、前記第３の伝送路経由で前記処理装置を起動し、前記第２の伝送路経由で前記電気部品にアクセスして電気部品を特定する情報を取得する情報処理装置。
【請求項２】
前記管理装置により前記電気部品を特定する情報が取得された後、前記情報処理装置の再起動中に、前記プロセッサは、前記電気部品を特定する情報を前記管理装置から取得し、前記電気部品の初期化中にエラーが発生したときに前記取得した電気部品を特定する情報を基に前記エラーが発生した電気部品を特定する請求項１に記載の情報処理装置。
【請求項３】
前記管理装置が前記電気部品を特定する情報を取得することは、前記処理装置を起動することによって初期化がなされた前記電気部品を特定する情報を前記第１の伝送路経由で取得することと、少なくとも電源が投入された前記電気部品を特定する情報を前記第２の伝送路経由で取得することとを含む請求項１または２に記載の情報処理装置。
【請求項４】
前記管理装置は、前記第１の伝送路と前記第２の伝送路のいずれの伝送路においても前記電気部品の情報を取得できない場合に、前記電気部品が異常であると判定する請求項３に記載の情報処理装置。
【請求項５】
前記管理装置は、通常の起動よりも少ない資源構成によって前記処理装置を起動する請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記管理装置は、
前記第１の伝送路を介して前記電気部品に接続される第１のインターフェースと、
前記第２の伝送路を介して前記電気部品に接続される第２のインターフェースと、
前記第３の伝送路を介して前記プロセッサに接続される第３のインターフェースと、を有する請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記管理装置は、前記プロセッサの介在なしに、前記第１のインターフェースおよび第２のインターフェースの少なくとも一方を介して前記電気部品と通信する通信手順を実行する請求項６に記載の情報処理装置。
【請求項８】
第１のプロセッサと、前記プロセッサに第１の伝送路によって接続される電気部品とを有する処理装置を管理する管理装置であって、
メモリと、
前記メモリに接続される第２のプロセッサと、備え、
前記第２のプロセッサが前記電気部品に第２の伝送路によって接続されるとともに前記第１のプロセッサに第３の伝送路によって接続され、前記第３の伝送路経由で前記処理装置を起動し、前記第２の伝送路経由で前記電気部品にアクセスして前記電気部品を特定する情報を取得する管理装置。
【請求項９】
プロセッサに第１の伝送路を介して接続される電気部品に第２の伝送路によって接続されるとともに前記プロセッサに第３の伝送路によって接続されるコンピュータに、
前記第３の伝送路経由で前記プロセッサを有する処理装置を起動し、前記第２の伝送路経由で前記電気部品にアクセスして前記電気部品を特定する情報を取得することを実行させるためのプログラム。
【請求項１０】
プロセッサと前記プロセッサに第１の伝送路を介して接続される電気部品とを有する情報処理装置の前記プロセッサに情報処理を実行させるプログラムであって、前記電気部品に第２の伝送路を介して接続されるとともに前記プロセッサに第３の伝送路を介して接続される管理装置をさらに有する情報処理装置のプロセッサに、
前記情報処理装置の起動後に前記管理装置により前記電気部品を特定する情報が取得された後、前記情報処理装置の再起動中に、前記電気部品を特定する情報を前記管理装置から取得し、前記電気部品の初期化中にエラーが発生したときに前記取得した電気部品を特定する情報を基に前記エラーが発生した電気部品を特定することを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、管理装置およびプログラムに関する。
【背景技術】
【０００２】
コンピュータ、サーバ等で例示される情報処理装置は、Basic Input/Output System（
ＢＩＯＳ）と呼ばれる基本的な入出力を制御するプログラムにしたがって起動される。起動時に、情報処理装置は、Central Processing Unit（ＣＰＵ）、メモリ、入出力（Ｉ／
Ｏ）デバイスで例示される各部を初期化する。Ｉ／Ｏデバイスの初期化は、Ｉ／Ｏデバイスのドライバで実施され、ＢＩＯＳを実行するＣＰＵはドライバを呼び出し、初期化完了を待つ。以下、ＣＰＵがＢＩＯＳにより処理を実行する場合には、単にＢＩＯＳが処理を実行する、とも記載する。
【０００３】
また、情報処理装置には、Baseboard Management Controller（ＢＭＣ）のような管理
装置を搭載するものがある。このような管理装置は、情報処理装置とは別に、専用のＣＰＵ、メモリ、Operating System（ＯＳ）で動作している。ＢＩＯＳは、所定の手順で上記のような管理装置と通信可能である。
【０００４】
例えば、ＢＩＯＳは、Ｉ／Ｏデバイスの初期化後、Ｉ／Ｏデバイスの情報を収集する。ＢＩＯＳは、収集したＩ／Ｏデバイスの情報を管理装置に通知する。管理装置は、ＢＩＯＳから提供されたＩ／Ｏデバイスの情報を基に、情報処理装置の管理を支援することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０４１３９０号公報
【特許文献２】特開２００７−２４９７６１号公報
【特許文献３】特開２００２−２５９１３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、情報処理装置起動中の各部の初期化が完了するまでの間、Ｉ／Ｏデバイス等、情報処理装置の各部の情報を取得できていない期間が存在する。このため、情報処理装置のいずれかの部位で初期化中に障害が発生すると、情報処理装置は、障害発生部位を特定することができないことがある。したがって、情報処理装置は、障害発生箇所を示す情報を提示できず、障害の解消に手間を要することがある。そこで、本発明の一実施形態の目的は、情報処理装置の起動中に障害が発生しても、早期に障害を解消できるようにすることである。
【課題を解決するための手段】
【０００７】
開示の技術の一側面は、情報処理装置によって例示される。本情報処理装置は、プロセッサと前記プロセッサに第１の伝送路を介して接続される電気部品とを有する処理装置と、前記電気部品に第２の伝送路を介して接続されるとともに前記プロセッサに第３の伝送路を介して接続される管理装置とを有する。管理装置は、前記第３の伝送路経由で前記処理装置を起動し、前記第２の伝送路経由で前記電気部品にアクセスして電気部品を特定する情報を取得する。
【発明の効果】
【０００８】
本情報処理装置によれば、情報処理装置の起動中に障害が発生しても、早期に障害が解消される。
【図面の簡単な説明】
【０００９】
【図１】実施形態のサーバの構成を例示する図である。
【図２】ＢＭＣとサーバの各部のハードウェアの接続を例示する図である。
【図３】比較例に係るサーバの構成を例示する図である。
【図４】比較例に係るサーバの起動処理を例示するフローチャートである。
【図５】実施形態のサーバの構成とデータフローを例示する図である。
【図６】実施形態のサーバの処理フローを例示する図である。
【図７】実施形態のサーバの処理フローを例示する図である。
【図８】ＢＩＯＳとＢＭＣの処理を実行する各処理部の構成を例示する図である。
【図９】実施形態のＢＩＯＳおよびＢＭＣの処理とデータフローを例示する図である。
【図１０】ＢＭＣの処理の詳細を説明するフローチャートである。
【図１１】起動モードの詳細を例示する図である。
【図１２】Ｉ／Ｏデバイス増減時のＢＭＣの処理を例示する図である。
【図１３】Ｉ／Ｏデバイス情報のデータを例示する図である。
【図１４】ＢＩＯＳの処理の詳細を説明するフローチャートである。
【図１５】最小構成で起動されたサーバ１の構成を例示する図である。
【図１６】Ｉ／Ｏデバイステーブル作成部の処理の詳細を例示する図である。
【図１７】Ｉ／Ｏデバイスの情報を例示する図である。
【図１８】Ｉ／Ｏデバイスエラー処理部の処理を例示する図である。
【図１９】デバイス無効設定管理テーブルの構成例である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、一実施形態に係る情報処理装置について説明する。以下の実施形態の構成は例示であり、本情報処理装置は実施形態の構成には限定されない。
【００１１】
図１に、情報処理装置の一例として、本実施形態のサーバ１の構成を例示する。サーバ１は、ＣＰＵ１１、メモリ１２およびＩ／Ｏデバイス１３を含む処理装置１０により情報処理を実行する。サーバ１は、例えば、Read Only Memory（ＲＯＭ）上にＢＩＯＳを保持し、外部記憶装置上にOperating System（ＯＳ）を保持する。サーバ１は、起動されると、ＢＩＯＳにより、各部を初期化し、ＯＳをブートする。
【００１２】
また、サーバ１は、ＢＭＣ２０を搭載する。ＢＭＣ２０は、Intelligent Platform Management Interface（ＩＰＭＩ）仕様に基づき、サーバ１に対するリモート電源制御やハ
ードウェア監視を実行する。図５に例示するように、ＢＭＣ２０は、処理装置１０とは別にＣＰＵ２１、メモリ２２を有し、処理装置１０とは別のＯＳで動作している。ＢＭＣ２０のメモリ２２は、図１のIPMI情報 (例えば、System Event Log(ＳＥＬ))、Webサーバプログラム等の情報２２Ａを格納する。また、ＢＭＣ２０は、ＩＰＭＩに準拠したインターフェースの規定にしたがって、サーバ１の各部と通信する。ＩＰＭＩは、特定のハードウェアシステムやＯＳに依存することなく、サーバ１等のコンピュータのハードウェアをモニタ可能にするための標準インターフェース仕様である。つまり、ＩＰＭＩは、サーバ１等のＣＰＵ、バス、ファン、温度センサ、電圧、ファンなどの基本コンポーネントの監視や遠隔地からの制御などを行うためのインターフェース仕様である。サーバ１を管理する管理装置は、ＢＭＣを通じてＯＳに依存することなく、遠隔からサーバ１のハードウェアを監視し、管理できる。ハードウェアから得られる情報は、System Event Log(ＳＥＬ)と呼ばれる。
【００１３】
例えば、ＢＭＣ２０は、Keyboard Controller Style (ＫＣＳ)インターフェース２５を有し、サーバ１のＩ／Ｏデバイス１３を介してＣＰＵ１１と、例えば、ＩＰＭＩ仕様にしたがって通信する。また、ＢＭＣ２０は、シリアルデバイス２３、ＬＡＮデバイス２４を有する。そして、ＢＭＣ２０は、サーバ１とは別に用意したPersonal Computer（ＰＣ）
とＬＡＮ外部コネクタ３４に接続されるＬＡＮケーブル、または、シリアル外部コネクタ３３に接続されるシリアルケーブルで接続される。ＰＣは、ＬＡＮケーブルまたはシリアルケーブルを通じて、ＢＭＣ２０上のＷｅｂサーバからＢＭＣ２０の情報を取得できる。ＫＣＳインターフェース２５およびは、ＫＣＳインターフェース２５を介してＢＭＣ２０とＩ／Ｏデバイス１３を接続する伝送路は、第３の伝送路の一例である。
【００１４】
また、サーバ１は、ＩＰＭＩ仕様に準拠したインターフェースの規定にしたがって、サーバ１内のハードウェアの各部を管理する。ＩＰＭＩは、標準化されたメッセージ・ベースのハードウェア管理インターフェースの仕様である。ＢＭＣ２０の情報は、ＢＩＯＳおよびＩＰＭＩドライバ経由で取得できる。ＩＰＭＩドライバは、サーバ１のＯＳがＢＭＣ３２０と通信するためのプログラムである。すなわち、サーバ１は、ＢＩＯＳあるいはＯＳにしたがって、ＫＣＳ、System Management Interface Chip（ＳＭＩＣ）、Block Transfer （ＢＴ）等のインターフェースを経由してＩＰＭＩ仕様に準拠したコマンドでＢＭ
Ｃ２０と通信可能である。ＣＰＵ１１は、プロセッサおよび第１のプロセッサの一例であり、Ｉ／Ｏデバイス１３は電気部品の一例である。
【００１５】
図２に、サーバ１に搭載されたＢＭＣ２０と、サーバ１の各部のハードウェア（Management Controllerと呼ばれる）の接続を例示する。ＢＭＣ２０は、例えば、Management Component Transport Protocol（ＭＣＴＰ）にしたがって、サーバ１のハードウェア各部の情報を取得する。すなわち、ＢＭＣ２０は、Management Controllerと呼ばれる監視対象
装置（ハードウェア各部ということができる）との間で物理的な配線で結線され、その物理配線を使用して、監視対象装置と通信する。ＢＭＣ２０はハードウェア各部(Management Controller)との間で、ＭＣＴＰプロトコルで通信する。
【００１６】
ＭＣＴＰは、サーバ１あるいはサーバ１と同様の情報処理装置上に設けられたＢＭＣ２０等の管理コントローラによって使用される。管理コントローラは、ＭＣＴＰプロトコルにより、サーバ１の状態あるいは統計情報を管理し、管理パラメータを保持する。管理パラメータは、伝送路の通信速度、電力状態、ハードウェア資源の使用率、伝送路のリンク状態、ハードウェア各部（Ｉ／Ｏ装置等）のエラーカウント、訂正不能エラーカウント等である。したがって、管理コントローラは、ＭＣＴＰプロトコルにより、１つまたは複数の監視対象装置からの管理パラメータを集約する。そして、管理コントローラは、ローカルまたはリモートのサーバ１等の情報処理装置、または他の管理コントローラがこれらの管理パラメータにアクセスすることを可能にする。
【００１７】
また、管理コントローラは、ＭＣＴＰプロトコルにより、サーバ１等で運用されるＯＳの介在なしに、サーバ１等に接続される監視対象装置（例えば、Ｉ／Ｏ装置等）を監視できるようにする。このため、監視対象装置を監視するためのサーバ１等の負荷が軽減される。管理コントローラは、ＭＣＴＰプロトコルにより、ＰＣＩｅあるいはＩ２Ｃ等の様々なバスを経由して監視対象装置（Ｉ／Ｏ装置等）へのアクセスが可能となっている。
【００１８】
ここで、ＢＭＣ２０とハードウェア各部の物理配線としては、Peripheral Component Interconnect-Express(ＰＣＩｅ)、または、Inter-Integrated Circuit(Ｉ２Ｃ)を例示で
きる。ただし、物理配線が、ＰＣＩｅ、Ｉ２Ｃに限定される訳ではない。物理配線は、例えば、Ｉ２Ｃから派生したSystem Management Bus(ＳＭＢｕｓ)であってもよい。一方、
例えば、サーバ１のＢＩＯＳは、ＩＰＭＩ仕様に準拠したコマンドで、ＢＭＣ２０によって収集されたサーバ１のハードウェア各部の情報を所得できる。ＢＭＣ２０は、管理装置
の一例である。すなわち、ＢＭＣ２０は、第２の伝送路としてのＩ２Ｃを通じて、電気部品としてのＩ／Ｏデバイス１３に接続される。またＢＭＣ２０は、第３の伝送路としてのＫＣＳインターフェース２５およびその伝送路を通じて、プロセッサおよび第１プロセッサとしてのＣＰＵ１１に接続される。ＭＣＴＰは、プロセッサの介在なしに、第１のインターフェースおよび第２のインターフェースの少なくとも一方を介して電気部品と通信する通信手順の一例である。
［比較例］
【００１９】
図３に比較例に係るサーバ３０１の構成を例示する。図３のように、比較例に係るサーバ３０１は、サーバ１と同様、ＣＰＵ１１、メモリ１２、Ｉ／Ｏデバイス１３−１、１３−２、１３−３等を有する。以下、Ｉ／Ｏデバイス１３−１、１３−２、１３−３は、総称してＩ／Ｏデバイス１３と呼ばれる。また、サーバ３０１は例えばＲＯＭにＢＩＯＳを有し、起動時に、ＣＰＵ１１、メモリ１２、Ｉ／Ｏデバイス１３等を初期化する。
【００２０】
また、サーバ３０１は、ＢＭＣ３２０を搭載する。ＢＭＣ３２０は、ＣＰＵ２１、メモリ２２、およびＬＡＮデバイス２４を有し、ＩＰＭＩ仕様に準拠した処理を実行する。ＢＭＣ３２０は、例えば、ＫＣＳにしたがったインターフェースで、サーバ１のＢＩＯＳと通信する。また、ＢＭＣ３２０は、サーバ３０１のＩ／Ｏデバイス１３−１、１３−２、１３−３等の情報（Ｉ／Ｏデバイス情報）をＢＩＯＳから取得する。さらに、ＢＭＣ３２０は、ＬＡＮデバイス２４を介して、Ｗｅｂサーバの機能をＬＡＮ上のＰＣに提供する。したがって、ＰＣは、ＬＡＮ経由で、ＢＭＣ３２０から情報を取得し、サーバ３０１の状態を監視可能である。
【００２１】
サーバ３０１の起動時、Ｉ／Ｏデバイス１３は、ＢＩＯＳの制御にしたがい、Ｉ／Ｏデバイス１３のドライバで初期化される。例えば、サーバ３０１の起動時、ＢＩＯＳはドライバを呼び出し、初期化完了を待つ。さらに、ＢＩＯＳは、Ｉ／Ｏデバイス１３の初期化後、Ｉ／Ｏデバイス１３の情報を収集する。ここで、Ｉ／Ｏデバイス１３の情報とは、Ｉ／Ｏデバイス１３が装着されたスロット番号、Ｉ／Ｏデバイス１３のベンダ情報、Ｉ／Ｏデバイス１３の種類（例えば、カード種類）を特定する情報等である。Ｉ／Ｏデバイス１３の情報は、Ｉ／Ｏデバイス１３の故障時に、Ｉ／Ｏデバイス１３を特定するために参照される情報である。
【００２２】
また、上述のように、ＢＩＯＳとＢＭＣ３２０は、ＩＰＭＩ仕様で情報を送受信することが可能である。したがって、ＢＩＯＳは、収集した情報をＢＭＣ３２０に通知し、サーバ管理者は、ＰＣにより、ＢＭＣ３２０を経由してＩ／Ｏデバイスの情報を確認することができる。
【００２３】
図４は、比較例に係るサーバ３０１の起動処理を例示するフローチャートである。この処理では、まず、サーバ３０１のAlternate Current（ＡＣ）電源が投入される（Ａ１）
。サーバ３０１は、ＡＣ電源ＯＮの状態となる。
【００２４】
ＡＣ電源ＯＮにより、ＢＭＣ３２０が起動を開始する（Ａ２）。そして、ＢＭＣ３２０の起動プロセスが完了し、ＢＭＣ３２０は起動完了する（Ａ３）。ＡＣ電源ＯＮから、ＢＭＣ３２０の起動完了までの時間が、ＢＭＣ起動時間である。
【００２５】
次に、サーバ３０１は、例えば、ユーザ操作を受け付け、サーバ３０１のシステムをPower ONにする（Ａ４）。すると、サーバ３０１の起動プロセスが開始され、ＢＩＯＳがPower On Self Test（ＰＯＳＴ）を開始する（Ａ５）。ＢＩＯＳは、ＢＭＣ３２０に起動時の設定を問い合わせる。起動時の設定としては、例えば、メモリ１２をミラーモードで使用するか否か、複数のＣＰＵ１１をノード化し、各ノードにメモリ１２を分離して使用す
るか、否か等である。例えば、ノード毎にメモリ１２を分離しない場合には、メモリ１２は、システムメモリとして複数のＣＰＵ１１から均等にアクセスされる。ＢＩＯＳは、ＢＭＣ３２０から通知された設定でＰＯＳＴを実行する。
【００２６】
ＢＩＯＳは、すべてのデバイス、サービスを提供できるように、通常のＰＯＳＴを実施する。ＢＩＯＳは、ＰＯＳＴ開始前に、ＢＭＣ３２０にＰＯＳＴ Watchdogを設定する（
Ａ６）。ＰＯＳＴ Watchdogは、設定した時間内に処理が完了しない場合、システムをResetする仕組みである。
【００２７】
次に、ＢＩＯＳは、サーバ３０１に搭載されたすべてのＣＰＵ１１およびメモリ１２を初期化する（Ａ６Ａ）。なお、メモリ１２は、例えば、Dual Inline Memory Module(ＤＩＭＭ)で実装されている。
【００２８】
次に、ＢＩＯＳは、ＰＯＳＴの中で、Ｉ／Ｏデバイスサーチ処理を実行し、Ｉ／Ｏデバイス１３を探索する（Ａ７）。さらに、ＢＩＯＳは、探索したＩ／Ｏデバイス１３に対してリソースを割り当てる（Ａ８）。Ｉ／Ｏデバイス１３に割り当てるリソースとは、例えば、Ｉ／Ｏデバイス１３が使用するメモリ１２の領域である。なお、ＣＰＵ１１がＩ／Ｏデバイス１３にアクセスするとき、ＣＰＵ１１は、メモリ１２のアドレス空間のアドレスにアクセスする。次に、ＢＩＯＳは、すべてのＩ／Ｏデバイス１３を順番に初期化する（Ａ９）。
【００２９】
Ａ７からＡ９の処理において、Ｉ／Ｏデバイス１３に障害が発生した場合を想定する。Ａ７からＡ９のいずれかの処理でエラーが発生すると、ＢＩＯＳによる処理が停止する。なぜなら、この時点では、Ｉ／Ｏデバイス１３の初期化は完了していないので、ＢＩＯＳは、スロット番号、あるいはカード種類等のＩ／Ｏデバイス１３の情報を特定できない。したがって、ＢＩＯＳは、エラーに対する処理を実行できないからである。
【００３０】
ＢＩＯＳ処理が停止しているため、ＰＯＳＴ WatchdogがTimeoutする(Ａ１１)。ＰＯＳＴ WatchdogがTimeoutしたため、システムはResetする（Ａ１２）。しかし、ＢＩＯＳが
Ｉ／Ｏデバイス１３を特定する情報を保持しておらず、エラー要因が不明のため、同じＩ／Ｏデバイス１３のエラーでResetが繰り返される結果となる(Ａ４からＡ１２)。したが
って、サーバ３０１は起動できない。サーバ３０１でエラーが解消されるためには、例えば、ユーザが手作業でＩ／Ｏデバイス１３、例えば、Ｉ／Ｏカードを1枚ずつ取り外し、
正常起動できるかどうかを確認するという切り分け作業が行われることになる。
［実施形態］
【００３１】
実施形態では、ＢＩＯＳによるＰＯＳＴ開始前にＢＭＣ２０がＩ／Ｏデバイス１３の情報を収集しておくことで、上記比較例で生じた問題を解決する。すなわち、ＢＩＯＳがＰＯＳＴ実行時にＩ／Ｏデバイス１３を特定する情報を保持していない状態でエラーが発生しても、ＢＭＣ２０からＩ／Ｏデバイス１３の情報の提供を受けることで、ＢＩＯＳがエラー要因あるいはエラー発生部位を特定できるようにする。
【００３２】
すなわち、サーバ１が起動してＰＯＳＴが完了しなくても、サーバ１はＩ／Ｏデバイス１３の情報を取得可能とする。サーバ１が大規模なシステムの場合には、Ｉ／Ｏデバイス１３の数が非常に多い。このため、１つのＩ／Ｏデバイス１３でエラーが発生しても、残りのＩ／Ｏデバイス１３を使用可能にすることで、サーバ１の起動を可能とすることができる。また、複数のＩ／Ｏデバイス１３でエラーが発生する場合、ＢＩＯＳが１つのＩ／Ｏデバイス１３のエラーで停止することなく、複数のエラーを指摘することで、故障のＩ／Ｏデバイス１３を交換する作業がまとめて実施できるようになる。
＜データフロー＞
【００３３】
図５は、実施形態のサーバ１の構成とデータフローを例示する図である。実施形態のサーバ１は、比較例のサーバ３０１と同様、ＣＰＵ１１、メモリ１２、Ｉ／Ｏデバイス１３、ＢＩＯＳを格納するＲＯＭおよび、ＢＭＣ２０を有する。また、ＢＭＣ２０は、比較例の図３と同様、ＣＰＵ２１、メモリ２２、ＬＡＮデバイス２４等を有する。
【００３４】
ただし、比較例の場合と異なり、ＢＭＣ２０は、事前にＩ／Ｏデバイス１３の情報取得を実行するＩ／Ｏデバイス情報取得処理部２１０と、ＭＣＴＰに準拠した通信を実行するＭＣＴＰプロトコル処理部２０３を有する。かつ、Ｉ／Ｏデバイス情報取得処理部２１０は、取得したＩ／Ｏデバイス１３の情報を事前にＢＩＯＳに通知する。「事前に」とは、ＢＩＯＳがサーバ１全体の起動を行う前にという意味である。
【００３５】
すなわち、ＢＩＯＳは、ＢＩＯＳ自身によって取得したＩ／Ｏデバイス１３の情報だけでなく、ＢＭＣ２０から取得したＩ／Ｏデバイス１３の情報も使用する。ただし、事前にＢＭＣ２０でＩ／Ｏデバイス１３の情報を取得するためには、少なくともＩ／Ｏデバイス１３に電源が投入されていることが条件となる。このため、サーバ１では少なくともＩ／Ｏデバイス１３に電源が投入される段階まで起動処理が進められる。
【００３６】
また、本実施形態では、ＢＭＣ２０は、ＣＰＵ１１とＩ／Ｏデバイス１３を接続する伝送路であるＰＣＩｅ以外の伝送路、例えば、ＢＭＣ２０とＩ／Ｏデバイス１３を接続するＩ２Ｃの伝送路を介して、ＭＣＴＰに準拠した構成および手順でＩ／Ｏデバイス１３から情報を取得する。ただし、Ｉ／Ｏデバイス１３がＢＩＯＳによって初期化されれば、ＢＭＣ２０は、ＣＰＵ１１とＩ／Ｏデバイス１３を接続する伝送路であるＰＣＩｅを介してＩ／Ｏデバイス１３から情報を取得可能となる。
【００３７】
また、図５では省略されているが、ＭＣＴＰに準拠した通信を実行する制御部は、Ｉ／Ｏデバイス１３にも設けられている。ＢＭＣ２０内のＭＣＴＰプロトコル処理部２０３は、Ｉ／Ｏデバイス１３にも設けられている制御部と、ＰＣＩｅまたはＩ２Ｃの伝送路を通じて通信し、Ｉ／Ｏデバイス１３の情報を取得する。
【００３８】
本実施形態では、サーバ１の起動処理が２段階に分けて実行される。第１段階では、Ｉ／Ｏデバイス１３の電源投入がなされる。Ｉ／Ｏデバイス１３への電源投入後、ＢＭＣ２０は、Ｉ２Ｃを介してＩ／Ｏデバイス１３から情報を取得する。なお、ＢＭＣ２０がＰＣＩｅを介してＩ／Ｏデバイス１３から情報を取得可能とする場合には、ＢＩＯＳがＰＣＩｅを介してＣＰＵ１１に接続されるＩ／Ｏデバイス１３を初期化する。ただし、第１段階でのＰＣＩｅを介したＩ／Ｏデバイス１３の初期化は省略されてもよい。すなわち、第１段階では、ＢＭＣ２０は、Ｉ２ＣおよびＰＣＩｅの少なくとも一方を介してＩ／Ｏデバイス１３から情報を取得する。そして、ＢＭＣ２０は、Ｉ／Ｏデバイス１３から取得した情報をＢＩＯＳに提供する。
【００３９】
第２段階では、サーバ１が再起動され、ＢＩＯＳがサーバ１のハードウェアの各部、例えば、Ｉ／Ｏデバイス１３のＰＯＳＴおよび初期化を実行する。そして、ＢＩＯＳがＰＯＳＴ実行時にＩ／Ｏデバイス１３の情報を特定できない状態でエラーが発生しても、ＢＩＯＳはＢＭＣ２０から提供されたＩ／Ｏデバイス１３を特定する情報を参照する。このため、ＢＩＯＳは、Ｉ／Ｏデバイス１３でのエラー発生時にエラー処理を実行するＩ／Ｏデバイスエラー処理部１０７を有する。Ｉ／Ｏデバイスエラー処理部１０７は、Ｉ／Ｏデバイス１３を特定する情報を基にエラー要因を特定する。
【００４０】
ＢＩＯＳは、第１段階での処理時間短縮のため、ＣＰＵ１１、メモリ１２の一部だけ有効にして起動する“ＣＰＵ、ＤＩＭＭの最小限起動モード”（以下、単に“最小限起動モ
ード”）をもつ。この最小限起動モードでは、起動時間に占める割合が比較的高い、ＣＰＵ１１、メモリ１２の初期化の時間を短縮するために、マルチコアのＣＰＵ１１の１コアのみ、および、メモリ１２（ＤＩＭＭ）の１デバイスのみが初期化され、使用可能となる。また、ＢＭＣ２０は、その最小限起動モードをＢＩＯＳに通知する機能をもつ。ＢＩＯＳは、ＢＭＣ２０から通知される起動モードを判定する起動モード判定処理部１０６をもつ。
【００４１】
ＢＭＣ２０は、Ｉ／Ｏデバイス情報取得処理部２１０において、ＰＣＩｅとＩ２ＣのＭＣＴＰの両方を使用することで、Ｉ／Ｏデバイス１３自体の故障と、ＰＣＩｅとＩ２Ｃの経路異常の切り分けが可能となる。ただし、上述のように、ＰＣＩｅの伝送路でＭＣＴＰを使用するためには、Ｉ／Ｏデバイス１３を初期化し、Ｉ／Ｏデバイス１３にメモリ１２の領域等のリソースを割り当てることが前提となる。
【００４２】
サーバ１は情報処理装置の一例であり、ＰＣＩｅの伝送路は第１の伝送路の一例であり、Ｉ２Ｃの伝送路は第２の伝送路の一例である。ＰＣＩｅは、第１のインターフェースの一例であり、Ｉ２Ｃは、第２のインターフェ−スの一例である。また、図１のＫＣＳインターフェース２５は第３のインターフェースの一例である。
【００４３】
図６、図７に、実施形態のサーバ１の処理フローを例示する。まず、サーバ１のＡＣ電源が投入される（Ｓ１）。サーバ１は、ＡＣ電源ＯＮの状態となる。ＡＣ電源ＯＮにより、ＢＭＣ２０は起動を開始する（Ｓ２）。ＢＭＣ２０の起動プロセスが完了し、ＢＭＣ２０は起動完了する（Ｓ３）。
【００４４】
ＢＭＣ２０は、起動完了後、サーバ１のシステムをＰｏｗｅｒ  ＯＮにする。すなわち、ＢＭＣ２０はサーバ１に起動を指示する（Ｓ３Ａ）。ＢＭＣ２０は、サーバ１の起動モードの設定情報を起動モード格納領域に保持している。ＢＭＣ２０は、ＡＣ電源ＯＮからＩ／Ｏデバイス１３の情報を取得するまで間、サーバ１の起動モードを最小限起動モードに設定し、保持する。Ｓ１からＳ３Ｂの処理は、管理装置が、処理装置を起動することの一例である。Ｓ３Ａ、Ｓ３Ｂの処理は、管理装置が第３の伝送路経由で処理装置を起動することの一例である。
【００４５】
ＢＭＣ２０からの指示により、サーバ１の起動プロセスが開始され（Ｓ３Ｂ）、ＢＩＯＳがＰＯＳＴを開始する（Ｓ３Ｃ）。ＢＩＯＳは、ＢＭＣ２０に起動モードを問い合わせ（Ｓ３Ｄ）、ＢＭＣ２０は起動モードをＢＩＯＳに通知する（Ｓ３Ｅ）。ＢＩＯＳは、通知された起動モード（最小限起動モード）でＰＯＳＴを実行する。すなわち、ＢＩＯＳは、ＣＰＵ１１、メモリ１２を最小限起動モードで起動し、ＢＭＣ２０は、ＰＣＩｅとＩ２Ｃを通じたＭＣＴＰを使用して、Ｉ／Ｏデバイス１３の情報を取得する（Ｓ４）。Ｓ４の処理のうち、Ｉ２Ｃの伝送路を用いる処理は、管理装置が、第２の伝送路としてのＩ２Ｃ経由で電気部品にアクセスして電気部品としてのＩ／Ｏデバイス１３を特定する情報を取得することの一例である。
【００４６】
ＢＭＣ２０は、ＭＣＴＰに準拠した通信処理において、例えば、ＰＣＩｅでエラーして、Ｉ２Ｃで問題ない場合、ＰＣＩｅの経路異常として、エラーを通知する。ＰＣＩｅ、Ｉ２Ｃ、両方で問題ありの場合、ＢＭＣ２０は、Ｉ／Ｏデバイス１３のエラーを通知する。エラー通知があった場合、Ｓ５Ａ以降の処理は不要であり、ＢＩＯＳは、エラー部品の交換を促す情報を出力する。
【００４７】
また、ＢＭＣ２０は、Ｓ４で、Ｉ／Ｏデバイスの情報を取得すると、起動モードを“通常モード”に設定する。Ｉ／Ｏデバイス１３の情報取得完了後、ＢＭＣ２０は、サーバ１をPower ＯＦＦする（Ｓ５Ａ、Ｓ５Ｂ）。
【００４８】
次に、図７を基に説明を継続する。ユーザ操作により、サーバ１はシステムＰｏｗｅｒ
ＯＮを指令する（Ｓ６Ａ）。システムＰｏｗｅｒ  ＯＮが指令されると、ＢＩＯＳが再度ＰＯＳＴを開始する（Ｓ６Ｂ）。ＢＩＯＳは、ＢＭＣ２０に起動モードを問い合わせ（Ｓ６Ｃ）、ＢＭＣ２０から通知された起動モード（通常の起動モード）で（Ｓ６Ｄ）、ＰＯＳＴを実行する。図６のＳ５Ａ、Ｓ５Ｂの処理、および図７のＳ６Ａの処理は、処理装置が再起動することの一例であり、図６のＳ５Ａ、Ｓ５Ｂの時点は、「管理装置により前記電気部品を特定する情報が取得された後」の一例である。図７でＳ６Ａ以降、システムが起動するまでの処理は、情報処理装置が再起動中であることの一例である。
【００４９】
ＢＩＯＳは、ＰＯＳＴ開始時に、ＢＭＣ２０に対してＰＯＳＴ  Ｗａｔｃｈｄｏｇ設定を実施する（Ｓ７）。さらに、ＢＩＯＳは、ＢＭＣ２０が取得したＩ／Ｏデバイス情報をＢＭＣ２０に要求し、Ｉ／Ｏデバイスの通知を受ける（Ｓ８Ａ、Ｓ８Ｂ）。Ｓ８Ａの処理は、プロセッサが電気部品を特定する情報を管理装置から取得することの一例である。
【００５０】
ＢＩＯＳは、ＰＯＳＴでのＩ／Ｏデバイス１３をサーチする処理で、Ｉ／Ｏデバイス１３を探索する（Ｓ９）。ＢＩＯＳは、探索したＩ／Ｏデバイス１３に必要なリソースを割り当てる（Ｓ１０）。ＢＩＯＳは、すべてのＩ／Ｏデバイス１３を順番に初期化する（Ｓ１１）。
【００５１】
Ｉ／Ｏデバイス１３に障害が発生した場合、Ｓ９からＳ１１のいずれかの処理でエラーが発生する（Ｓ１２）。エラーが発生すると、ＢＩＯＳの処理はエラーハンドラに移行する。エラーハンドラに移行したＢＩＯＳは、ＢＭＣ２０から通知されたＩ／Ｏデバイス情報を使用して、エラーの発生したＩ／Ｏデバイス１３を指摘する。ＢＩＯＳは、ＢＭＣ２０から通知されたＩ／Ｏデバイス情報を使用することで、エラー処理が可能となり、処理を停止しない。したがって図７の処理では、ＰＯＳＴ  ＷａｔｃｈｄｏｇはＴｉｍｅｏｕｔしない。ＢＩＯＳは、エラー指摘後、システムをＲｅｓｅｔするように指令する（Ｓ１３）。Ｓ１３の処理は、プロセッサが電気部品としてのＩ／Ｏデバイス１３の初期化中にエラーが発生したときに取得した電気部品を特定する情報を基にエラーが発生した電気部品を特定することの一例である。
【００５２】
ＢＩＯＳの指令により、システムはＲｅｓｅｔする（Ｓ１４）。ＢＩＯＳは、Ｒｅｓｅｔ後の起動で、エラー指摘されたＩ／Ｏデバイス１３をＤｉｓａｂｌｅにする。エラーしたＩ／Ｏデバイス１３が使用されないので、Ｒｅｓｅｔによってシステムは起動可能になる。また、複数のＩ／Ｏデバイス１３でエラーが発生する場合、上記のようにＢＩＯＳはエラー停止しないで、複数のＩ／Ｏデバイス１３のエラーを指摘し、エラーしたＩ／Ｏデバイス１３を複数まとめてＤｉｓａｂｌｅにして、システムを起動することができる。以上のように、図７では、ＢＩＯＳは複数のＩ／Ｏデバイス１３のエラーを指摘できる。したがって故障のＩ／Ｏデバイス交換作業がまとめて実施可能となる。
＜ＢＩＯＳとＢＭＣ２０の構成＞
【００５３】
図８は、サーバ１におけるＢＩＯＳとＢＭＣ２０の処理を実行する各処理部の構成を例示する図である。図８では、Ｉ／Ｏデバイス１３も例示されている。すでに述べたように、ＢＩＯＳは、図示しないＲＯＭに格納されたファームウェアであり、図５で説明したＣＰＵ１１が図８の各処理部として、ＢＩＯＳに含まれるプログラムを実行する。以下、ＣＰＵ１１がＢＩＯＳにより各処理を実行する場合に、ＢＩＯＳが各処理を実行するともいう。また、図８に例示したＢＩＯＳの各処理部が処理を実行するともいう。
【００５４】
図８のように、ＢＩＯＳは、ＢＭＣ通信処理部１０１と、ＣＰＵ初期化処理部１０２と、メモリ初期化処理部１０３と、Ｉ／Ｏ初期化処理部１０４と、Ｉ／Ｏデバイステーブル
作成部１０５と、起動モード判定処理部１０６と、Ｉ／Ｏデバイスエラー処理部１０７とを有する。
【００５５】
ＢＭＣ通信処理部１０１は、ＩＰＭＩ規格に準拠したＫＣＳインターフェース２５（図１参照）により、ＢＭＣ２０のＢＩＯＳ通信処理部２０１と通信する。ＣＰＵ初期化処理部１０２は、サーバ１の起動後のＰＯＳＴにおいてにＣＰＵ１１を初期化する。メモリ初期化処理部１０３は、サーバ１の起動後のＰＯＳＴにおいてメモリ２２を初期化する。Ｉ／Ｏ初期化処理部１０４は、サーバ１の起動後のＰＯＳＴにおいてＩ／Ｏデバイス１３を初期化する。Ｉ／Ｏデバイス１３の初期化には、Ｉ／Ｏデバイス１３が使用するメモリ１２等のリソースの割当も含む。
【００５６】
Ｉ／Ｏデバイステーブル作成部１０５は、サーバ１の起動後のＰＯＳＴにおいてＩ／Ｏデバイス１３を検索し、Ｉ／Ｏデバイス１３の情報をＩ／Ｏデバイステーブルに記録する。起動モード判定処理部１０６は、サーバ１の起動後のＰＯＳＴにおいて、ＢＭＣ２０によって指定された起動モードを判定する。起動モードには、ＭＣＴＰ動作可能な最小構成による最小限起動モードと、通常の起動モードが含まれる。Ｉ／Ｏデバイスエラー処理部１０７は、Ｉ／Ｏデバイス１３にエラーが発生したときにエラーハンドラにより起動され、エラーが発生したＩ／Ｏデバイス１３を特定する。
【００５７】
また、ＢＭＣ２０は、図５で説明したように、ＣＰＵ２１とメモリ２２を有する。ＢＭＣ２０のＣＰＵ２１は図８の各処理部としてメモリ２２に実行可能に展開されたプログラムを実行する。以下、ＢＭＣ２０のＣＰＵ２１がメモリ２２上のプログラムにより各処理を実行する場合に、ＢＭＣ２０が各処理を実行するともいう。また、図９に例示したＢＭＣ２０の各処理部が処理を実行するともいう。
【００５８】
図８のように、ＢＭＣ２０は、ＢＩＯＳ通信処理部２０１と、外部表示処理部２０２と、ＭＣＴＰプロトコル処理部２０３と、Ｉ／Ｏデバイス情報取得処理部２１０と、Ｉ／Ｏデバイステーブル作成部２０５と、起動モード設定処理部２０６と、ＭＣＴＰ動作可能最小構成起動処理部２０７と、Ｐｏｗｅｒ  ＯＮ処理部２０８を有する。
【００５９】
ＢＩＯＳ通信処理部２０１は、ＩＰＭＩ規格に準拠したＫＣＳインターフェース２５により、ＢＩＯＳのＢＭＣ通信処理部１０１と通信する。外部表示処理部２０２は、例えば、ＷＥＢサーバプログラムを実行し、外部のＰＣ等に情報を配信し、外部のＰＣ等から設定や指令を受け付ける。ＭＣＴＰプロトコル処理部２０３は、ＰＣＩｅあるいはＩ２Ｃ等の伝送路を通じてＭＣＴＰプロトコルにしたがってＩ／Ｏデバイス１３にアクセスし、Ｉ／Ｏデバイス１３の情報を収集する。Ｉ／Ｏデバイス情報取得処理部２１０は、ＭＣＴＰプロトコル処理部２０３を通じて、Ｉ／Ｏデバイス１３の情報を取得する。Ｉ／Ｏデバイステーブル作成部２０５は、ＭＣＴＰプロトコル処理部２０３とＩ／Ｏデバイス情報取得処理部２１０とによって取得したＩ／Ｏデバイス１３を特定する情報をＩ／Ｏデバイステーブルの形式でメモリ２２に保存する。
【００６０】
起動モード設定処理部２０６は、サーバ１の起動モードをメモリ２２の所定アドレスに設定する。設定された起動モードは、ＢＩＯＳ通信処理部２０１とＢＭＣ通信処理部１０１との間の通信により、ＢＩＯＳに引き渡される。Ｐｏｗｅｒ  ＯＮ処理部２０８は、サーバ１に電源を投入し、ＢＩＯＳを起動する。ＭＣＴＰ動作可能最小構成起動処理部２０７は、起動モード設定処理部２０６により、最小限起動モードを設定し、Ｐｏｗｅｒ  ＯＮ処理部２０８によりサーバ１を起動する。
【００６１】
Ｉ／Ｏデバイス１３は、ＭＣＴＰプロトコル処理部１３１を有する。Ｉ／Ｏデバイス１３も、ＣＰＵ、メモリ等を有する。Ｉ／Ｏデバイス１３のＣＰＵは、ＭＣＴＰプロトコル
処理部１３１として、メモリに実行可能に展開されたファーム等のプログラムを実行する。ＭＣＴＰプロトコル処理部１３１は、Ｉ／Ｏデバイス１３のハードウェアの情報、例えば、ＰＣＩｅバスのスロット番号、ベンダ情報、Ｉ／Ｏデバイス１３の種類、Ｉ／Ｏデバイス１３に割り当てられたメモリ１２のリソースのアドレス等を取得し、ＢＭＣ２０に提供する。
＜ＢＩＯＳとＢＭＣ２０の処理とデータフロー＞
【００６２】
図９は、本実施形態のサーバ１に含まれるＢＩＯＳおよびＢＭＣ２０の処理とデータフローを例示する図である。図９において、サーバ１の処理は、ＭＣＴＰによる動作が可能な最小限起動モードでの起動による処理と通常モードでの起動による処理の２つの処理を含む。最小限起動モードでの起動による処理では、はじめにＢＭＣ２０の起動モード設定処理部２０６が動作する。起動モード設定処理部２０６は、メモリ２２の起動モード格納領域に、起動モードを格納する。
【００６３】
次に、ＭＣＴＰ動作可能最小構成起動処理部２０７の制御によって、Ｐｏｗｅｒ  ＯＮを実行する。Ｐｏｗｅｒ  ＯＮは、Ｐｏｗｅｒ  ＯＮ処理部２０８によって実行されて、ＢＩＯＳの起動処理が開始される。ＢＩＯＳは、起動モード判定処理部１０６で、起動モード格納領域に格納された起動モードを取得して、ＭＣＴＰ動作可能最小構成情報を使用して、ＭＣＴＰの動作が可能な最小限起動モードでの起動を完了する。起動の完了後、ＢＭＣ２０は、Ｉ／Ｏデバイステーブル作成部２０５で、ＭＣＴＰプロトコル処理部２０３を介してＩ／Ｏデバイスのハードウェア情報を取得し、Ｉ／Ｏデバイステーブルの形式でＩ／Ｏデバイスを特定する情報を保持する。通常の起動においては、ＢＩＯＳは、通常のＰＯＳＴを実行する。ＢＩＯＳは、このＰＯＳＴ中にＩ／Ｏデバイスエラー処理部１０７で、エラーハンドラを介してＩ／Ｏデバイス１３のエラーを検知すると、Ｉ／Ｏデバイスを特定する情報を参照し、エラーを処理する。例えば、ＢＩＯＳは、エラーが発生したＩ／Ｏデバイス１３を特定し、特定したＩ／Ｏデバイスの情報とともにエラーを通知する。＜ＢＭＣ２０の処理の詳細＞
【００６４】
図１０は、ＢＭＣ２０の処理の詳細を説明するフローチャートである。図１０において、サーバ１のＡＣ電源投入後（Ｐ１）、ＢＭＣ２０が起動する。ＢＭＣ２０は、起動中に、起動モード設定処理部２０６において、起動モードをＣＰＵ１１、メモリ１２（ＤＩＭＭ）の“最小限起動モード”に変更する（Ｐ２）。
【００６５】
図１１に、起動モードの詳細を例示する。本実施形態では、起動モードとして、“最小限起動モード”と“通常モード”が用意されている。最小限起動モードでは、各ＣＰＵ１１において有効ＣＰＵコア数が１つ、メモリ１２の有効ＤＩＭＭ数が１つに設定され、サーバ１が起動される。一方、通常モードでは、各ＣＰＵ１１の全コアが有効とされ、メモリ１２の全ＤＩＭＭが有効に設定され、サーバ１が起動される。
【００６６】
図１０に戻り、説明を継続する。起動モードが、”最小限起動モード”の場合、ＭＣＴＰ動作可能最小構成起動処理部２０７が動作する。なお、”最小限起動モード”から通常モードに変更されてサーバ１が再起動されると、Ｉ／Ｏデバイス１３が増減するまで、通常モードが保持される。すなわち、通常モードで、Ｉ／Ｏデバイス１３が増減すると、再度“最小限起動モード”でサーバ１が再起動される。
【００６７】
ＭＣＴＰ動作可能最小構成起動処理部２０７は、ＰＯＷＥＲ  ＯＮ処理部２０８により、サーバ１のシステムＰｏｗｅｒ  ＯＮ処理を実行し（Ｐ３）、サーバ１のＣＰＵ１１がＢＩＯＳを起動する。Ｐ２およびＰ３の処理は、管理装置が、処理装置が通常の起動よりも少ない資源構成によって起動することを指示することの一例である。
【００６８】
ＢＩＯＳの起動後、ＢＭＣ２０は、起動モード格納領域に格納された起動モードをＢＩＯＳの起動モード判定処理部１０６に読み取らせる。より具体的には、ＢＩＯＳのＢＭＣ通信処理部１０１からの要求により、ＢＭＣ２０のＢＩＯＳ通信処理部２０１が起動モード格納領域に格納された起動モードをＢＭＣ通信処理部１０１に通知する（Ｐ４）。その後、ＢＭＣ２０は、ＢＩＯＳの処理（Ｑ０）が完了するのを待つ（Ｐ５〜Ｐ６）。
【００６９】
ＢＩＯＳの処理が完了すると、ＢＭＣ２０は、Ｉ／Ｏデバイステーブル作成部２０５が、ＭＣＴＰプロトコル処理部２０３を介して、各Ｉ／Ｏデバイス１３のＭＣＴＰプロトコル処理部１３１から、Ｉ／Ｏデバイスの情報を取得する（Ｐ７）。そして、ＢＭＣ２０は、起動モード設定処理部２０６により、起動モード格納領域に「通常モード」（値１）を設定する（Ｐ８）。そして、ＢＭＣ２０は、システムＰｏｗｅｒ  ＯＦＦを実行し、一旦サーバ１をシャットダウンする（Ｐ９）。
【００７０】
図１２に、Ｉ／Ｏデバイス１３増減時のＢＭＣ２０の処理を例示する。図１０で説明したように、ＡＣ電源ＯＮにより、ＢＭＣ２０が起動される（Ｒ１）。そして、起動モード設定処理部２０６が起動モード格納領域に最小限起動モードを設定する（Ｒ２）。そして、ＢＭＣ２０は、Ｉ／Ｏデバイス１３の情報を取得するため、サーバ１のシステムＰｏｗｅｒ  ＯＮ処理を実行し（Ｒ３）、ＭＣＴＰにしたがって、Ｉ／Ｏデバイス１３から情報を取得する（Ｒ４）。そして、起動モード設定処理部２０６が起動モード格納領域に通常モードを設定し（Ｒ５）、サーバ１のシステムＰｏｗｅｒ  ＯＦＦし、サーバ１のシステムＰｏｗｅｒ  ＯＮ処理を実行する。以降は、Ｉ／Ｏデバイス１３が増減するまで、起動モードは通常モードが維持される。一方、Ｉ／Ｏデバイス１３が増減すると、起動モード設定処理部２０６が起動モード格納領域に最小限起動モードを設定し（Ｒ６）、システムＰｏｗｅｒ  ＯＦＦとシステムＰｏｗｅｒ  ＯＮが実行される。
【００７１】
図１３に、Ｉ／Ｏデバイス情報のデータを例示する。Ｉ／Ｏデバイス情報は、例えば、スロットを特定するスロット番号、ベンダＩＤ、デバイスＩＤ、割当リソースであるメモリ１２のアドレスとサイズ、およびＰＣＩｅデバイスのＰＣＩアドレスを対応づけた情報である。
【００７２】
ベンダＩＤは、Ｉ／Ｏデバイス１３のベンダを一意に特定する情報である。デバイスＩＤは、デバイスを一意に識別する情報である。割当リソースは、例えば、当該スロットに装着されたＩ／Ｏデバイス１３に割当られたメモリ１２の先頭アドレスとサイズ（領域の容量）である。ＰＣＩアドレスは、Ｉ／Ｏデバイス１３用に割り当てられたＰＣＩコンフィグレーション空間内のアドレスである。ＰＣＩコンフィグレーション空間は、例えば、Ｉ／Ｏデバイス１３内に設けられ、ＣＰＵ１１は、Ｉ／Ｏデバイス１３に対する所定命令により、ＰＣＩコンフィグレーション空間にアクセスできる。ただし、ＰＣＩコンフィグレーション空間は、メモリ１２のアドレス空間にマッピングされ、ＣＰＵ１１からメモリ１２のアドレス空間によりアクセスできるようにしてもよい。ＰＣＩアドレスを介して、ＣＰＵ１１とＩ／Ｏデバイス１３がデータを授受する。また、Ｉ／Ｏデバイス１３が使用するレジスタがＰＣＩアドレスに割り付けられる。
＜ＢＩＯＳの処理の詳細＞
【００７３】
図１４は、ＢＩＯＳの処理（図１０のＱ０）の詳細を説明するフローチャートである。ＢＩＯＳは、ＢＭＣ通信処理部１０１を有し、ＢＭＣ２０のＢＩＯＳ通信処理部２０１と通信を行い、ＢＭＣ２０から情報を取得できる。ＢＩＯＳは、起動モード判定処理部１０６において、ＢＭＣ２０から起動モードを取得し、起動モードが最小限起動モードか否かを判定する（Ｑ１）。起動モードが最小限起動モード（起動モード：０）である場合、ＢＩＯＳは、ＭＣＴＰ動作が可能な最小構成で、サーバ１を起動する。そして、ＢＩＯＳは、ＣＰＵ初期化処理部１０２、メモリ初期化処理部１０３、Ｉ／Ｏ初期化処理部１０４に
より、サーバ１の起動時に各デバイスの初期化処理を実行する（Ｑ２、Ｑ３）。
【００７４】
図１５に最小構成で起動されたサーバ１の構成を例示する。最小限起動モードでは、ＢＩＯＳは、ＭＣＴＰ動作可能最小構成情報を基に、図１５に示したように、各ＣＰＵ１１の１コア、そのＣＰＵ１１に接続されたメモリ１２のうち１ＤＩＭＭだけを有効にして初期化する。図１５のサーバ１では、２つのＣＰＵ１１−１、ＣＰＵ１１−２と２つのメモリ１２−１、メモリ１２−２が例示されている。ただし、本実施形態において、ＣＰＵ１１の数が２個に限定される訳ではない。なお、ＣＰＵ１１−１、ＣＰＵ１１−２を総称する場合には、単にＣＰＵ１１という。
【００７５】
また、本実施形態において、メモリ１２の数が２個に限定される訳ではない。メモリ１２−１は、ＣＰＵ１１−１から直接アクセスされるメモリ１２であり、メモリ１２−２は、ＣＰＵ１１−２から直接アクセスされるメモリ１２である。メモリ１２−１、メモリ１２−２は、それぞれ、ＤＩＭＭ＃１からＤＩＭＭ＃４を有している。
【００７６】
さらに、図１５おいて、サーバ１は、６個のＩ／Ｏデバイス１３が装着されるＰＣＩｅスロット＃１から＃６を有している。ただし、本実施形態においてＩ／Ｏデバイス１３の数が６個に限定される訳ではない。また、Ｉ／ＯデバイスがＰＣＩｅのデバイスに限定される訳ではない。
【００７７】
さらにまた、図１５のサーバ１では、ＢＭＣ２０は、ＰＣＩｅインターフェースおよびＩ２Ｃインターフェースのそれぞれを介して、ＭＣＴＰプロトコル処理部２０３の処理によって、Ｉ／Ｏデバイス１３にアクセス可能である。
【００７８】
図１５の最小限起動モードでは、ＢＩＯＳは、斜線のＣＰＵコア、ＤＩＭＭを無効にしてサーバ１を起動する。したがって、ＣＰＵ１１−１、ＣＰＵ１１−２それぞれにおいて、コア＃１が起動され、メモリ１２−１、１２−２それぞれにおいて、ＤＩＭＭ＃１が初期化される。最小限起動モードにより、ＢＩＯＳはサーバ１の起動時間を短縮できる。
【００７９】
図１４に戻って説明を継続する。Ｑ１の判定で、最小限起動モードではない場合、ＢＩＯＳは、通常モードでサーバ１を起動する（Ｑ４）。通常モードでは、ＢＩＯＳは、図１５に例示したＣＰＵ１１−１、ＣＰＵ１１−２のそれぞれのコア＃１から＃４をすべて起動する。また、通常モードでは、ＢＩＯＳは、図１５に例示したメモリ１２−１、１２−２それぞれにおいて、すべてのＤＩＭＭ＃１から＃４を初期化する（Ｑ５）。以上のように、ＢＩＯＳは、最小限起動モードまたは通常モードでサーバ１を起動する（Ｑ６）。
【００８０】
ＢＩＯＳは、初期化が完了すると、ＢＭＣに通知する（Ｑ７）。そして、図１０のＰ７で説明したように、ＢＭＣ２０は、ＢＩＯＳの起動完了通知を受信し、Ｉ／Ｏデバイステーブル作成部２０５において、Ｉ／Ｏデバイスのハードウェア情報を取得する。すでに述べたように、Ｉ／Ｏデバイスのハードウェア情報は、ＢＭＣ２０のＭＣＴＰプロトコル処理部２０３とＩ／Ｏデバイス１３のＭＣＴＰプロトコル処理部１３１を介して取得可能である。
＜Ｉ／Ｏデバイステーブルの作成＞
【００８１】
図１６に、ＢＭＣ２０のＩ／Ｏデバイステーブル作成部２０５の処理（図６のＳ４、図１０のＰ７）の詳細を例示する。図１６の処理は、図６のＳ４の処理の詳細、図１０のＰ７の処理の詳細ということができる。ＢＭＣ２０のＩ／Ｏデバイステーブル作成部２０５は、例えば、図１５に示した構成のサーバ１において、ＰＣＩｅとＩ２Ｃ、それぞれの経路を使用する。そして、Ｉ／Ｏデバイステーブル作成部２０５は、ＭＣＴＰプロトコルにより、Ｉ／Ｏデバイスのハードウェア情報を取得する（Ｐ７１、Ｐ７２）。Ｐ７１の処理
は、管理装置としてのＢＭＣ２０が、初期化がなされた電気部品を特定する情報を第１の伝送路を経由で取得することの一例である。また、Ｐ７２の処理は、管理装置が、少なくとも電源が投入された電気部品を特定する情報を第１の伝送路を経由で取得することの一例である。なお、これらの処理の前提として実行される図５のＳ１からＳ３Ｂの処理は、処理装置を起動することの一例である。また、Ｐ７１、Ｐ７２の処理の前提として実行される図１０のＰ４からＰ６の処理は、プロセッサに第１の伝送路を通じて電気部品を初期化させることの一例である。
【００８２】
そして、Ｉ／Ｏデバイステーブル作成部２０５は、ＰＣＩｅとＩ２Ｃという２つの経路で取得した情報を比較し、一致を確認する（Ｐ７３）。そして、Ｉ／Ｏデバイステーブル作成部２０５は、情報が取得できない異常経路があるか否かを判定する（Ｐ７４）。情報が取得できない異常経路がある場合、Ｉ／Ｏデバイステーブル作成部２０５は、異常が発生した経路のエラーを指摘する（Ｐ７５）。例えば、ＢＭＣ２０は、ウェブサーバプログラムを通じてＰＣに提供する画面上に、異常が発生した経路の情報とエラーの内容を出力する。また、例えば、ＢＭＣ２０は、ＰＣＩｅのスロット番号を特定する情報を含むエラーメッセージをＰＣ上のウェブに出力する。このとき、両方の経路で異常が発生した場合には、Ｉ／Ｏデバイステーブル作成部２０５は、Ｉ／Ｏデバイス１３に異常が発生したと判定すればよい。
【００８３】
Ｐ７４でエラーの発生した経路がない場合、Ｉ／Ｏデバイステーブル作成部２０５は、２つの経路から得られた情報が両方とも正常か否かを判定する（Ｐ７６）。正常でない場合とは、例えば、ＰＣＩｅのスロット番号が、サーバ１のスロット数から特定される範囲にない場合、ベンダ名が既存のベンダ情報のいずれとも一致しない場合、デバイスＩＤが既存のデバイスＩＤ群のいずれとも一致しない場合等である。そして、２つの経路から得られた情報の少なくとも１つが正常でない場合、Ｉ／Ｏデバイステーブル作成部２０５は、異常のあるＩ／Ｏデバイスを指摘するエラーを指摘する。例えば、ＢＭＣ２０は、ウェブサーバプログラムを通じてＰＣに提供する画面上に、異常が発生したデバイスの情報とエラーの内容を出力する（Ｐ７７）。一方、Ｐ７６の判定で、情報が両方とも正常な場合、Ｉ／Ｏデバイステーブル作成部２０５は、処理を終了する。
【００８４】
図１７に、Ｉ／Ｏデバイステーブル作成部２０５が取得するＩ／Ｏデバイス１３の情報を例示する。図１７の上側の表は、Ｉ／Ｏデバイステーブル作成部２０５がＭＣＴＰプロトコルにより、ＰＣＩｅの経路から取得する情報の例である。また、図１７の下側の表は、Ｉ／Ｏデバイステーブル作成部２０５がＭＣＴＰプロトコルにより、Ｉ２Ｃの経路から取得する情報の例である。
【００８５】
図のように、取得される情報は、スロット番号毎に、ベンダＩＤ、デバイスＩＤ、シリアル番号を含む。また、図１７の例では、ＰＣＩｅの経路から取得する情報のうち、スロットの１番に対応する情報の取得でエラーが発生し、ベンダＩＤ、デバイスＩＤ、シリアル番号が取得できていない。一方、Ｉ２Ｃの経路からはすべてのスロットの情報が取得できている。したがって、図１７のような場合には、Ｉ／Ｏデバイステーブル作成部２０５は、ＰＣＩｅのスロットの１番でのエラーを認識し、Ｉ２Ｃの経路から得られた情報を基に、ＰＣＩｅのスロットの１番に装着されたＩ／Ｏデバイス１３のベンダＩＤ、デバイスＩＤ、シリアル番号を特定できる。
【００８６】
以上のように、ハードウェア情報の取得に失敗した場合で、２つの経路のうち、どちらかの経路でエラーが発生した場合は、ＢＭＣ２０は、エラーが発生した経路の異常を指摘できる。また、両方の経路でエラーした場合は、ＢＭＣ２０は、Ｉ／Ｏデバイス自体の異常を指摘できる。図１６のＰ７５の処理では、例えば、Ｓｌｏｔ＃１のＰＣＩｅ経路でエラー検出したので、ＢＭＣ２０は、Ｓｌｏｔ＃１のＰＣＩｅ経路の異常をエラー指摘する
。
【００８７】
経路に関しては、ＭＣＴＰプロトコルが実行できれば、ＢＭＣ２０は、特に種類は問わない。また、複数の経路でエラーがあれば、ＢＭＣ２０は、Ｉ／Ｏデバイスのエラーであることが特定できる。さらに、ＳＭＢｕｓ／Ｉ２Ｃの経路は、Ｉ／Ｏデバイスと１対１で接続できるので、ＢＭＣ２０は、１つのＩ／Ｏデバイス１３のエラーで処理を停止せず、複数のＩ／Ｏデバイス１３のエラーを確認することができる。ＭＣＴＰですべてのＩ／Ｏデバイス１３の情報を取得完了後、ＢＭＣ２０は、図１０のフローの処理Ｐ８の通り、起動モードを”通常”に変更する。そして、サーバ１をＰｏｗｅｒ  ＯＦＦする。したがって、ＢＭＣ２０によってエラーが指摘されている場合、このＰｏｗｅｒ  ＯＦＦの状態で、エラー部品の交換が可能である。ただし、サーバ１のＡＣ電源投入後、ＢＩＯＳがエラーの発生が指摘されたＩ／Ｏデバイス１３をＤｉｓａｂｌｅにしてもよい。
【００８８】
以降は、ＢＭＣ２０あるいはサーバ１の管理者が、サーバ１のＰｏｗｅｒ  ＯＮを実行した場合の処理である。以上説明した処理により、固定故障のように、継続的にエラーが起こる場合に、ＢＩＯＳがＩ／Ｏデバイス１３のエラーを指摘し、エラーが発生したＩ／Ｏデバイス１３をすべてＤｉｓａｂｌｅにして、サーバ１が起動する。
＜エラー発生時の処理＞
【００８９】
図１８に、“通常モード”でのＢＩＯＳによる起動シーケンスにおいて、Ｉ／Ｏデバイス１３にエラーが発生した場合のＩ／Ｏデバイスエラー処理部１０７の処理を例示する。図１８では、あるＣＰＵ１１がＩ／Ｏデバイス１３の初期化中にアクセスタイムアウトが発生し、ＣＰＵ１１が停止した場合を想定する。今、Ｉ／Ｏデバイス１３は、メインメモリのアドレス空間のアドレスとしてアクセスされる場合を想定する。この場合には、アクセスタイムアウトにより、エラー発生時の呼び出しルーチンであるエラーハンドラがＣＰＵ１１で起動される。ＣＰＵ１１は、Ｉ／Ｏデバイスエラー処理部１０７として、エラーハンドラのプログラムを実行する。なお、図１８では、アクセスタイムアウトによってエラーハンドラが起動されているが、アクセスタイムアウト以外の要因でもエラーハンドラは起動される。例えば、Ｉ／Ｏデバイス１３からの返り値がアクセスエラーを示していた場合である。いずれにしても、ＣＰＵ１１がアクセスしたＩ／Ｏデバイス１３へアクセスするためのメモリ１２のアドレス空間のアドレス（以下、アクセスエラーアドレス）がＩ／Ｏデバイスエラー処理部１０７に引き渡される。
【００９０】
Ｉ／Ｏデバイスエラー処理部１０７では、ＣＰＵ１１から通知されたアクセスエラーアドレスからＩ／Ｏデバイス（スロット番号）を特定する（Ｅ１）。Ｉ／Ｏデバイスエラー処理部１０７は、Ｉ／Ｏデバイス情報をＢＭＣ２０から取得し（Ｅ２）、スロット毎の割当リソース、ＰＣＩアドレスを基に、エラーアドレスが該当していないか確認する。すなわち、Ｉ／Ｏデバイスエラー処理部１０７は、アクセスエラーアドレスが、割当リソースの範囲にあるか否かを判定する（Ｅ３）。割当リソースの範囲は、すでに図１３に例示したＩ／Ｏデバイス情報中の割り当てリソースのメモリ１２の先頭アドレスとサイズ（領域の容量）で判定される。
【００９１】
アクセスエラーアドレスが、割当リソースの範囲にない場合（Ｅ３でＮＯ）、Ｉ／Ｏデバイスエラー処理部１０７は、アクセスエラーアドレスが、ＰＣＩアドレスと整合するか否かを判定する。すでに述べたように、ＰＣＩアドレスは、Ｉ／Ｏデバイス１３用に割り当てられたＰＣＩコンフィグレーション空間内のアドレスである。図１８の例では、前提として、ＰＣＩコンフィグレーション空間は、メモリ１２のアドレス空間にマッピングされているものとする。そこで、Ｉ／Ｏデバイスエラー処理部１０７は、アクセスエラーアドレスが、メモリ１２のアドレス空間にマッピングされたＰＣＩアドレスと一致するか否かを判定する（Ｅ４）。図１８の例では、Ｅ４でＮＯの場合、Ｉ／Ｏデバイスエラー処理
部１０７は、Ｉ／Ｏデバイス情報に記憶された各スロットの情報を順次読み出し（Ｅ５）、スロット毎の割当リソース、またはメモリ１２のアドレス空間にマッピングされたＰＣＩアドレスがアクセスエラーアドレスと合致するスロットを順次サーチする。
【００９２】
そして、Ｅ３の判定で、エラーが発生したアクセスエラーアドレスがいずれかのスロットの割当リソースの範囲に含まれる合致するか、または、メモリ１２のアドレス空間にマッピングされたスロットのＰＣＩアドレスと合致する場合には、エラーが発生したスロットが特定される（Ｅ６）。そこで、Ｉ／Ｏデバイスエラー処理部１０７は、エラーが発生したスロットに搭載されたＩ／Ｏデバイス１３をデバイス無効設定管理テーブルにおいて無効（Ｄｉｓａｂｌｅ）に設定する。
【００９３】
図１８の例では、エラーアドレス、Ｂ８８００１００は、Ｓｌｏｔ＃３の割当リソースに該当するため、Ｓｌｏｔ＃３がエラーとなっている。Ｉ／Ｏデバイスエラー処理部１０７は、エラーであるＳｌｏｔ＃３のＩ／Ｏデバイスを無効（Ｄｉｓａｂｌｅ）にするため、デバイス無効設定管理テーブルにおいて、Ｓｌｏｔ＃３をＤｉｓａｂｌｅにする。さらにＩ／Ｏデバイスエラー処理部１０７は、処理を完了し、サーバ１を再起動する（Ｅ７）。次のサーバ１が再起動する時、ＢＩＯＳは、デバイス無効設定管理テーブルにより、Ｓｌｏｔ＃３のＩ／Ｏデバイスを無効にして、エラーなく、サーバ１を正常起動する（Ｅ８）。また、ＢＩＯＳの設定で、Ｉ／Ｏデバイス１３の無効の通知機能を有効にすることで、Ｉ／Ｏデバイス１３を無効にして、起動する際に、確認メッセージをサーバ１起動画面に表示することができる。Ｅ２からＥ８の処理は、プロセッサが、電気部品の初期化中にエラーが発生したときに取得した電気部品の情報を基に、エラーが発生した電気部品を特定することの一例である。また図１８の処理の前提として実行される、図５のＳ５Ａ、Ｓ５Ｂの処理は、処理装置が再起動することの一例である。また、図５のＳ８Ａの処理は、プロセッサが収集された電気部品を特定する情報を前記管理装置から取得することの一例である。
【００９４】
図１９は、デバイス無効設定管理テーブルの構成例である。デバイス無効設定管理テーブルは、スロット番号とデバイス無効設定値とを対応づけたテーブルである。デバイス無効設定管理テーブルの各スロット番号に対応するエントリに、有効（Ｅｎａｂｌｅ）または無効（Ｄｉｓａｂｌｅ）が設定される。
＜実施形態の効果＞
【００９５】
以上述べたように、本実施形態のサーバ１によれば、ＢＭＣ２０は、第２のインターフェースであるＩ２Ｃによって第２の伝送路としてのＩ２Ｃの伝送路を通じてＭＣＴＰに準拠した構成と手順で電気部品としてのＩ／Ｏデバイス１３の情報を取得できる。さらに、ＢＭＣ２０は、第３の伝送路としてのＫＣＳインターフェース２５でＣＰＵ１１と通信し、サーバ１を起動することが可能である。したがって、Ｉ／Ｏデバイス１３に電源が投入され、Ｉ／Ｏデバイス１３が動作中であれば、ＢＭＣ２０は、第２のインターフェースであるＩ２Ｃによって第２の伝送路としてのＩ２Ｃの伝送路からＩ／Ｏデバイス１３の情報を取得可能である。そして、ＢＭＣ２０は、取得したＩ／Ｏデバイス１３の情報をＣＰＵ１１で実行されるＢＩＯＳに第３のインターフェースであるＫＣＳによって第３の伝送路を介して提供できる。したがって、サーバ１の起動中に、ＢＩＯＳがＩ／Ｏデバイス１３を特定できない状態でＩ／Ｏデバイス１３のエラーが発生しても、ＢＩＯＳは、エラーが発生したＩ／Ｏデバイス１３を特定するための情報をＢＭＣ２０から取得できる。
【００９６】
また、本実施形態では、Ｉ／Ｏデバイス１３が初期化されている場合には、ＢＭＣ２０は、ＰＣＩｅおよびＩ２Ｃで例示される２つの伝送路を通じて、ＭＣＴＰに準拠した構成と手順で電気部品としてのＩ／Ｏデバイス１３の情報を取得できる。すなわち、ＢＭＣ２０は、上記第２の伝送路としてのＩ２Ｃに加えて、第１の伝送路としてのＰＣＩｅを通じ
てＭＣＴＰに準拠した構成と手順でＩ／Ｏデバイス１３の情報を取得できる（第３の効果）。すなわち、Ｉ／Ｏデバイス１３に電源が供給されていれば、ＰＣＩｅにしたがった初期化がなされていない状態でも、ＢＭＣ２０は、第２の伝送路としてのＩ２Ｃを通じてＩ／Ｏデバイス１３から情報を取得できる。また、第１の伝送路としてのＰＣＩｅを通じてＩ／Ｏデバイス１３が初期化されている場合には、ＢＭＣ２０は、ＰＣＩｅを通じてＩ／Ｏデバイス１３から情報を取得できる。したがって、ＢＭＣ２０がＩ／Ｏデバイス１３から情報を取得中に第１の伝送路または第２の伝送路のうちの一方でエラーが発生しても、エラーの発生していない伝送路からＩ／Ｏデバイス１３の情報を取得できる。
【００９７】
また、ＢＭＣ２０がＩ／Ｏデバイス１３から情報を取得中に第１の伝送路および第２の伝送路の両方でエラーが発生した場合には、ＢＭＣ２０はＩ／Ｏデバイス１３自体に異常が発生したと判定すればよい。
【００９８】
また、ＢＭＣ２０がＩ／Ｏデバイス１３から情報を取得するためにサーバ１を起動する場合には、ＢＭＣ２０とＩ／Ｏデバイス１３とがＭＣＴＰで通信可能な最小限の構成でサーバ１を起動すればよい。すなわち、ＢＭＣ２０がＩ／Ｏデバイス１３から情報を取得するときには、サーバ１は通常よりも少ないハードウェア構成で初期化され、起動されるので、通常よりも短い時間で起動される。
【００９９】
さらに、ＢＭＣ２０は、Ｉ／Ｏデバイス１３から情報を取得するときには、ＭＣＴＰに準拠した手順で、ＢＭＣ２０とＩ／Ｏデバイス１３が通信する。したがって、ＣＰＵ１１での処理の負荷を抑制して、ＢＭＣ２０は、Ｉ／Ｏデバイス１３の情報を収集できる。
【０１００】
また、本実施形態では、複数のＩ／Ｏデバイス１３でエラーが発生する場合、ＢＩＯＳが１つのＩ／Ｏデバイス１３のエラーで停止することなく、複数のエラーを指摘することで、故障のＩ／Ｏデバイス１３を交換する作業がまとめて実施できるようになる。
＜コンピュータが読み取り可能な記録媒体＞
【０１０１】
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１０２】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。
＜その他の態様＞
【０１０３】
以上述べたように、本実施形態は、以下の付記と呼ぶ態様を含む。下記態様のそれぞれの構成要素は、他の態様の構成要素と組み合わせることができること上記の通りである。（付記１）
プロセッサと前記プロセッサに第１の伝送路を介して接続される電気部品とを有する処理装置と、
前記電気部品に第２の伝送路を介して接続されるとともに前記プロセッサに第３の伝送
路を介して接続される管理装置と、を備え、
前記管理装置は、前記第３の伝送路経由で前記処理装置を起動し、前記第２の伝送路経由で前記電気部品にアクセスして前記電気部品を特定する情報を取得する情報処理装置。（付記２）
前記管理装置により前記電気部品を特定する情報が取得された後、前記情報処理装置の再起動中に、前記プロセッサは、前記電気部品を特定する情報を前記管理装置から取得し、前記電気部品の初期化中にエラーが発生したときに前記取得した電気部品を特定する情報を基に前記エラーが発生した電気部品を特定する付記２に記載の情報処理装置。
（付記３）
前記管理装置が前記電気部品を特定する情報を取得することは、前記処理装置を起動することによって初期化がなされた前記電気部品を特定する情報を前記第１の伝送路経由で取得することと、少なくとも電源が投入された前記電気部品を特定する情報を前記第２の伝送路経由で取得することとを含む付記１または２に記載の情報処理装置。
（付記４）
前記管理装置は、前記第１の伝送路と前記第２の伝送路のいずれの伝送路においても前記電気部品の情報を取得できない場合に、前記電気部品が異常であると判定する付記３に記載の情報処理装置。
（付記５）
前記管理装置は、通常の起動よりも少ない資源構成によって前記処理装置を起動する付記１から４のいずれか１項に記載の情報処理装置。
（付記６）
前記管理装置は、
前記第１の伝送路を介して前記電気部品に接続される第１のインターフェースと、
前記第２の伝送路を介して前記電気部品に接続される第２のインターフェースと、
前記第３の伝送路を介して前記プロセッサに接続される第３のインターフェースと、を有する付記１から５のいずれか１項に記載の情報処理装置。
（付記７）
前記管理装置は、前記プロセッサの介在なしに、前記第１のインターフェースおよび第２のインターフェースの少なくとも一方を介して前記電気部品と通信する通信手順を実行する付記６に記載の情報処理装置。
（付記８）
第１のプロセッサと、前記プロセッサに第１の伝送路によって接続される電気部品とを有する処理装置を管理する管理装置であって、
メモリと、
前記メモリに接続される第２のプロセッサと、備え、
前記第２のプロセッサが前記電気部品に第２の伝送路を介して接続されるとともに前記第１のプロセッサに第３の伝送路を介して接続され、前記第３の伝送路経由で前記処理装置を起動し、前記第２の伝送路経由で前記電気部品にアクセスして前記電気部品を特定する情報を取得する管理装置。
（付記９）
前記第２のプロセッサが前記電気部品を特定する情報を取得することは、前記処理装置を起動することによって初期化がなされた前記電気部品を特定する情報を前記第１の伝送路経由で取得することと、少なくとも電源が投入された前記電気部品を特定する情報を前記第２の伝送路経由で取得することとを含む付記８に記載の管理装置。
（付記１０）
前記第２のプロセッサは、前記第１の伝送路と前記第２の伝送路のいずれの伝送路においても前記電気部品の情報を取得できない場合に、前記電気部品が異常であると判定する付記９に記載の管理装置。
（付記１１）
前記第２のプロセッサは、通常の起動よりも少ない資源構成によって前記処理装置を起
動する付記８から１０のいずれか１項に記載の管理装置。
（付記１２）
前記管理装置は、
前記第１の伝送路を介して前記電気部品に接続される第１のインターフェースと、
前記第２の伝送路を介して前記電気部品に接続される第２のインターフェースと、
前記第３の伝送路を介して前記プロセッサに接続される第３のインターフェースと、を有する付記８から１１のいずれか１項に記載の管理装置。
（付記１３）
前記第２のプロセッサは、前記第１のプロセッサの介在なしに、前記第１のインターフェースおよび第２のインターフェースの少なくとも一方を介して前記電気部品と通信する通信手順を実行する付記１２に記載の管理装置。
（付記１４）
プロセッサに第１の伝送路によって接続される電気部品に第２の伝送路を介して接続されるとともに前記プロセッサに第３の伝送路を介して接続されるコンピュータに、
前記第３の伝送路経由で前記プロセッサを有する処理装置を起動し、前記第２の伝送路経由で前記電気部品にアクセスして前記電気部品を特定する情報を取得することを実行させるためのプログラム。
（付記１５）
前記電気部品を特定する情報を取得することは、前記処理装置を起動することによって初期化がなされた前記電気部品を特定する情報を前記第１の伝送路経由で取得することと、少なくとも電源が投入された前記電気部品を特定する情報を前記第２の伝送路経由で取得することとを含む付記１４に記載のプログラム。
（付記１６）
前記第１の伝送路と前記第２の伝送路のいずれの伝送路においても前記電気部品の情報を取得できない場合に、前記電気部品が異常であると判定することをさらに実行させるための付記１５に記載のプログラム。
（付記１７）
通常の起動よりも少ない資源構成によって前記処理装置を起動することを実行させるための付記１４から１６のいずれか１項に記載のプログラム。
（付記１８）
前記管理装置は、前記第１の伝送路を介して前記電気部品に接続される第１のインターフェースと、前記第２の伝送路を介して前記電気部品に接続される第２のインターフェースと、前記第３の伝送路を介して前記プロセッサに接続される第３のインターフェースと、を有し、
前記コンピュータに、前記プロセッサの介在なしに、前記第１のインターフェースおよび第２のインターフェースの少なくとも一方を介して前記電気部品と通信することを実行させるための付記１４から１７のいずれか１項に記載のプログラム。
（付記１９）
プロセッサと前記プロセッサに第１の伝送路によって接続される電気部品とを有する情報処理装置の前記プロセッサに情報処理を実行させるプログラムであって、前記電気部品に第２の伝送路を介して接続されるとともに前記プロセッサに第３の伝送路を介して接続される管理装置をさらに有する情報処理装置のプロセッサに、
前記情報処理装置の起動後に前記管理装置により前記電気部品を特定する情報が取得された後、前記情報処理装置の再起動中に、前記電気部品を特定する情報を前記管理装置から取得し、前記電気部品の初期化中にエラーが発生したときに前記取得した電気部品を特定する情報を基に前記エラーが発生した電気部品を特定することを実行させるプログラム。
【符号の説明】
【０１０４】
１    サーバ
１０    処理装置
１１、２１    ＣＰＵ
１２、２２    メモリ
１３    Ｉ／Ｏデバイス
２０    ＢＭＣ
２３    シリアルデバイス
２４    ＬＡＮデバイス
【図１】
2019046148.tif 000003
【図２】
2019046148.tif 000004
【図３】
2019046148.tif 000005
【図４】
2019046148.tif 000006
【図５】
2019046148.tif 000007
【図６】
2019046148.tif 000008
【図７】
2019046148.tif 000009
【図８】
2019046148.tif 000010
【図９】
2019046148.tif 000011
【図１０】
2019046148.tif 000012
【図１１】
2019046148.tif 000013
【図１２】
2019046148.tif 000014
【図１３】
2019046148.tif 000015
【図１４】
2019046148.tif 000016
【図１５】
2019046148.tif 000017
【図１６】
2019046148.tif 000018
【図１７】
2019046148.tif 000019
【図１８】
2019046148.tif 000020
【図１９】
2019046148.tif 000021