(57)【要約】【課題】情報処理装置に搭載されたインタフェースデバイスのファームウェアとドライバとの整合性を確保する。【解決手段】搭載部３１１は、インタフェースデバイスを搭載する。記憶部３１２は、第１インタフェースデバイスの第１識別情報と第１インタフェースデバイスのファームウェアの第１版数情報とを、基本入出力システムのための記憶領域３２１に記憶する。処理部３１３は、第１識別情報と、搭載部３１１に搭載されている第２インタフェースデバイスの第２識別情報とが異なる場合、第１版数情報と第２インタフェースデバイスのファームウェアの第２版数情報とを比較する。第１版数情報と第２版数情報とが異なる場合、処理部３１３は、第２インタフェースデバイスのファームウェアを、第１版数情報を有するファームウェアに改版する。【選択図】図３
2019197511.tif 000002
【特許請求の範囲】
【請求項１】
インタフェースデバイスが搭載される搭載部と、
基本入出力システムのための記憶領域を含み、第１インタフェースデバイスの第１識別情報と前記第１インタフェースデバイスのファームウェアの第１版数情報とを、前記記憶領域に記憶する記憶部と、
前記記憶部に記憶されている前記第１識別情報と、前記搭載部に搭載されている第２インタフェースデバイスの第２識別情報とを比較し、前記第１識別情報と前記第２識別情報とが異なる場合、前記記憶部に記憶されている前記第１版数情報と前記第２インタフェースデバイスのファームウェアの第２版数情報とを比較し、前記第１版数情報と前記第２版数情報とが異なる場合、前記第２インタフェースデバイスのファームウェアを、前記第１版数情報を有するファームウェアに改版する処理部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記記憶部は、前記基本入出力システムのプログラムをさらに記憶し、
前記処理部は、前記基本入出力システムのプログラムを実行することで、前記記憶領域から前記第１識別情報を読み出し、前記第２インタフェースデバイスから前記第２識別情報を読み出し、前記第１識別情報と前記第２識別情報とを比較することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記処理部は、簡易オペレーティングシステムを起動し、前記簡易オペレーティングシステム上で所定のプログラムを実行することで、前記記憶領域から前記第１版数情報を読み出し、前記第２インタフェースデバイスから前記第２版数情報を読み出し、前記第１版数情報と前記第２版数情報とを比較し、前記第２インタフェースデバイスのファームウェアを、前記第１版数情報を有するファームウェアに改版することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記処理部は、前記第１版数情報と前記第２版数情報とが異なる場合、前記第１版数情報と前記第２版数情報との間の中間版数情報を前記第２版数情報に対応付けた版数管理情報に基づいて、前記第２インタフェースデバイスのファームウェアを、前記中間版数情報を有するファームウェアに改版し、前記中間版数情報を有するファームウェアを、前記第１版数情報を有するファームウェアに改版することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
基本入出力システムのための記憶領域に記憶されている、第１インタフェースデバイスの第１識別情報と、搭載部に搭載されている第２インタフェースデバイスの第２識別情報とが異なる場合、前記記憶領域に記憶されている、前記第１インタフェースデバイスのファームウェアの第１版数情報と、前記第２インタフェースデバイスのファームウェアの第２版数情報とを比較し、
前記第１版数情報と前記第２版数情報とが異なる場合、前記第２インタフェースデバイスのファームウェアを、前記第１版数情報を有するファームウェアに改版する、
処理をコンピュータに実行させるための版数管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び版数管理プログラムに関する。
【背景技術】
【０００２】
情報処理装置（コンピュータ）のインタフェースカードとして、ＰＣＩ（Peripheral Component Interconnect）カードが用いられることがある。
【０００３】
図１は、ＰＣＩカードの例を示している。ＰＣＩカード１０２は、ＡＳＩＣ（Application Specific Integrated Circuit）１１３を搭載しており、ＰＣＩカード１０２には、ＡＳＩＣ１１３を制御するためのファームウェア１１２がインストールされている。オペレーティングシステム（Operating System，ＯＳ）１０１は、ＰＣＩカード１０２用のドライバ１１１を用いて、ＰＣＩバス１０３を介してファームウェア１１２と通信する。そして、ＯＳ１０１は、ファームウェア１１２を介してＡＳＩＣ１１３を制御する。
【０００４】
ファームウェアに関して、ドライバとファームウェアのバージョンの整合性を取る方法、及び装置で稼働している版のソフトウェアをモジュールのファームウェアにダウンロードする方法が知られている（例えば、特許文献１及び特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２９３５１４号公報
【特許文献２】特開２００５−７１０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＰＣＩカードが故障した場合、故障したＰＣＩカードが新しいＰＣＩカードに交換される。しかしながら、交換後のＰＣＩカードのファームウェアの版数がドライバの版数と整合していない場合、ＰＣＩカードの動作が変化したり、ＰＣＩカードが動作しなかったりすることがある。
【０００７】
なお、かかる問題は、ＰＣＩカードを交換する場合に限らず、情報処理装置に搭載された他のインタフェースデバイスを交換する場合においても生ずるものである。
【０００８】
１つの側面において、本発明は、情報処理装置に搭載されたインタフェースデバイスのファームウェアとドライバとの整合性を確保することを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、情報処理装置は、搭載部、記憶部、及び処理部を含む。搭載部は、インタフェースデバイスを搭載する。記憶部は、基本入出力システムのための記憶領域を含み、第１インタフェースデバイスの第１識別情報と第１インタフェースデバイスのファームウェアの第１版数情報とを、基本入出力システムのための記憶領域に記憶する。
【００１０】
処理部は、記憶部に記憶されている第１識別情報と、搭載部に搭載されている第２インタフェースデバイスの第２識別情報とを比較する。第１識別情報と第２識別情報とが異なる場合、処理部は、記憶部が記憶している第１版数情報と第２インタフェースデバイスのファームウェアの第２版数情報とを比較する。第１版数情報と第２版数情報とが異なる場合、処理部は、第２インタフェースデバイスのファームウェアを、第１版数情報を有するファームウェアに改版する。
【発明の効果】
【００１１】
実施形態によれば、情報処理装置に搭載されたインタフェースデバイスのファームウェアとドライバとの整合性を確保することができる。
【図面の簡単な説明】
【００１２】
【図１】ＰＣＩカードを示す図である。
【図２】ＰＣＩカードの交換を示す図である。
【図３】情報処理装置の機能的構成図である。
【図４】ファームウェア改版処理のフローチャートである。
【図５】情報処理装置のハードウェア構成図である。
【図６】ＰＣＩカードの不揮発性メモリを示す図である。
【図７】可搬型記録媒体を示す図である。
【図８】ＰＣＩカード情報を示す図である。
【図９】書き込みプログラムを示す図である。
【図１０】版数管理情報を示す図である。
【図１１】書き込み処理のフローチャートである。
【図１２】起動処理のフローチャートである。
【図１３】ファームウェア改版処理の具体例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、実施形態を詳細に説明する。
ＰＣＩカードに新たな機能が追加された場合、又は情報処理装置のＯＳが新たなＯＳに変更された場合、ＰＣＩカードのファームウェア及びドライバが同時に改版されることがある。また、ＰＣＩカードが故障した場合、故障したＰＣＩカードが新しいＰＣＩカードに交換される。
【００１４】
図２は、ＰＣＩカードの交換の例を示している。情報処理装置には、ＰＣＩカード１０２及びＰＣＩカード２０１が組み込まれており、ＰＣＩカード１０２にはファームウェア１１２がインストールされ、ＰＣＩカード２０１にはファームウェア２１１がインストールされている。ＯＳ１０１は、ドライバ１１１を用いて、ＰＣＩバス１０３を介してファームウェア１１２と通信するとともに、ＰＣＩバス２０３を介してファームウェア２１１と通信する。
【００１５】
情報処理装置の運用中にＰＣＩカード２０１が故障した場合、ＰＣＩカード２０１が新しいＰＣＩカード２０２に交換される。この場合、故障したＰＣＩカード２０１のファームウェア２１１の版数が不明であるため、交換用のＰＣＩカード２０２として、最新版のファームウェア２１２がインストールされたＰＣＩカードが用いられることがある。
【００１６】
また、管理サーバが監視対象のサーバのＰＣＩカードをネットワーク経由で監視し、ＰＣＩカードのファームウェアが最新版でない場合、ネットワーク経由でそのファームウェアをアップデートすることも可能である。
【００１７】
しかしながら、故障したＰＣＩカードのファームウェアの版数が分からない場合、交換後のＰＣＩカードのファームウェアを改版すべきか否かが不明であり、改版すべきであっても、どの版数に改版すればよいかが不明である。そのままの状態で情報処理装置を起動すると、交換後のファームウェアの版数が交換前のファームウェアの版数と一致しない状態でＰＣＩカードが動作し、ＰＣＩカードの動作が変化することがある。また、ファームウェアの版数がドライバの版数と整合していないために、ファームウェアが立ち上がらないこともある。
【００１８】
ＰＣＩカードのベンダは、ＯＳ、ドライバの版数、及びＰＣＩカードのファームウェアの版数の所定の組み合わせに対して、ＰＣＩカードの動作を保証していることが多い。このため、ＰＣＩカードを交換した際には、ファームウェアの版数が、ＯＳ及びドライバの版数と整合しているか否かを確認することが望ましい。
【００１９】
故障したＰＣＩカードの交換作業は、ＣＥ（Customer Engineer）等の作業者によって行われるが、ＯＳ及びドライバとの整合性を確認するためには、顧客側のシステム管理者にＯＳの起動を依頼する作業が発生する。そこで、ＯＳを起動することなく、ＣＥの作業のみによって、交換後のＰＣＩカードにおけるファームウェアの版数の整合性を確保することが望まれる。
【００２０】
図３は、実施形態の情報処理装置の機能的構成例を示している。図３の情報処理装置３０１は、搭載部３１１、記憶部３１２、及び処理部３１３を含む。搭載部３１１は、インタフェースデバイスを搭載する。記憶部３１２は、基本入出力システムのための記憶領域３２１を含み、第１インタフェースデバイスの第１識別情報と第１インタフェースデバイスのファームウェアの第１版数情報とを、記憶領域３２１に記憶する。処理部３１３は、記憶部３１２が記憶する情報を用いて、ファームウェア改版処理を行う。
【００２１】
図４は、図３の情報処理装置３０１が行うファームウェア改版処理の例を示すフローチャートである。まず、処理部３１３は、記憶部３１２に記憶されている第１識別情報と、搭載部３１１に搭載されている第２インタフェースデバイスの第２識別情報とを比較する（ステップ４０１）。
【００２２】
第１識別情報と第２識別情報とが異なる場合、処理部３１３は、記憶部３１２が記憶している第１版数情報と第２インタフェースデバイスのファームウェアの第２版数情報とを比較する（ステップ４０２）。第１版数情報と第２版数情報とが異なる場合、処理部３１３は、第２インタフェースデバイスのファームウェアを、第１版数情報を有するファームウェアに改版する（ステップ４０３）。
【００２３】
図３の情報処理装置３０１によれば、情報処理装置３０１に搭載されたインタフェースデバイスのファームウェアとドライバとの整合性を確保することができる。
【００２４】
図５は、図３の情報処理装置３０１のハードウェア構成例を示している。図５の情報処理装置５０１は、ＣＰＵ（Central Processing Unit）５１１、メモリ５１２、不揮発性メモリ５１３、補助記憶装置５１４、入力装置５１５、出力装置５１６、搭載部５１７、及び媒体駆動装置５１８を含む。これらの構成要素はバス５１９により互いに接続されている。
【００２５】
メモリ５１２は、例えば、ＲＡＭ（Random Access Memory）等の半導体メモリであり、不揮発性メモリ５１３は、例えば、ＲＯＭ（Read Only Memory）等の半導体メモリである。
【００２６】
不揮発性メモリ５１３は、基本入出力システム（Basic Input/Output System，ＢＩＯＳ）プログラム５２１を記憶する。また、不揮発性メモリ５１３は、ＢＩＯＳプログラム５２１が使用する情報を記憶する記憶領域５２２を含み、記憶領域５２２にＰＣＩカード情報５２３を記憶する。
【００２７】
ＣＰＵ５１１（プロセッサ）は、情報処理装置５０１の電源投入時に、不揮発性メモリ５１３からＢＩＯＳプログラム５２１を読み出して実行する。
【００２８】
補助記憶装置５１４は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置５１４は、ハードディスクドライブであってもよい。補助記憶装置５１４は、ＯＳ５３１及び書き込みプログラム５３２を記憶する。  ＣＰＵ５１１は、補助記憶装置５１４から書き込みプログラム５３２をメモリ５１２にロードして実行することで、不揮発性メモリ５１３の記憶領域５２２にＰＣＩカード情報５２３を書きこむ。
【００２９】
入力装置５１５は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置５１６は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザに対する問い合わせ又は処理結果の出力に用いられる。
【００３０】
搭載部５１７は、スロット５４１−１〜スロット５４１−３を含み、各スロット５４１−ｉ（ｉ＝１〜３）には、ＰＣＩカード５４２−ｉが搭載されている。ＰＣＩカード５４２−ｉは、例えば、ネットワークインタフェースカード、ストレージインタフェースカード等である。スロット５４１−ｉの個数は、３個に限られず、Ｎ個（Ｎは１以上の整数）であってもよい。
【００３１】
ネットワークインタフェースカードは、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置５０１は、プログラム及びデータを外部の装置からネットワークインタフェースカードを介して受信し、それらをメモリ５１２にロードして使用することができる。
【００３２】
媒体駆動装置５１８は、可搬型記録媒体５５１を駆動し、その記録内容にアクセスする。可搬型記録媒体５５１は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体５５１は、ＤＶＤ（Digital Versatile Disk）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＵＳＢ（Universal Serial Bus）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体５５１にプログラム及びデータを格納しておき、それらをメモリ５１２にロードして使用することができる。
【００３３】
メモリ５１２、不揮発性メモリ５１３、補助記憶装置５１４、及び可搬型記録媒体５５１は、物理的な（非一時的な）記録媒体であり、コンピュータ読み取り可能な記録媒体である。
【００３４】
ＣＰＵ５１１、不揮発性メモリ５１３、及び搭載部５１７は、図３の処理部３１３、記憶部３１２、及び搭載部３１１にそれぞれ対応し、記憶領域５２２は記憶領域３２１に対応する。ＰＣＩカード５４２−ｉは、第１インタフェースデバイス又は第２インタフェースデバイスに対応する。
【００３５】
インタフェースデバイスとしては、ＰＣＩカード５４２−ｉだけでなく、PCI Express、Ethernet（登録商標）、InfiniBand、ファイバーチャネル等のような、他のバスアーキテクチャ又はプロトコルのインタフェースカードを用いることもできる。
【００３６】
図６は、図５のＰＣＩカード５４２−ｉの不揮発性メモリの例を示している。図６のＰＣＩカード５４２−ｉは、不揮発性メモリ６０１を含み、不揮発性メモリ６０１は、ＰＣＩカード情報６１１及びファームウェア６１２を記憶する。ファームウェア６１２は、ＰＣＩカード５４２−ｉに搭載されたＡＳＩＣ（不図示）を制御するためのプログラムである。
【００３７】
図７は、図５の可搬型記録媒体５５１の例を示している。図７の可搬型記録媒体５５１は、簡易ＯＳ７０１（保守ＯＳ）、版数管理プログラム７０２、インストールプログラム７０３、ファームウェア７０４、及び版数管理情報７０５を記憶する。
【００３８】
簡易ＯＳ７０１は、可搬型記録媒体５５１から情報処理装置５０１を起動するためのプログラムである。版数管理プログラム７０２は、各ＰＣＩカード５４２−ｉ内のファームウェア６１２の版数をチェックし、ファームウェア６１２を改版するためのプログラムである。インストールプログラム７０３は、各ＰＣＩカード５４２−ｉにファームウェア６１２をインストールするためのプログラムである。
【００３９】
ファームウェア７０４は、各ＰＣＩカード５４２−ｉ内のファームウェア６１２の様々な版数のプログラムである。版数管理情報７０５は、様々な版数を有する複数のファームウェア７０４それぞれについて、ドライバの版数情報とファームウェアの版数情報との組み合わせを含む。各組み合わせは、ＰＣＩカード５４２−ｉのベンダによって動作が保証された組み合わせであり、この組み合わせを使用することで、ファームウェアとドライバとの整合性が確保される。
【００４０】
図８は、図５のＰＣＩカード情報５２３の例を示している。図８のＰＣＩカード情報５２３は、スロット情報、種別、シリアル番号、ファームウェア版数情報、及びドライバ版数情報を含む。
【００４１】
スロット情報は、搭載部５１７内のスロット５４１−１〜スロット５４１−３のうち、ＰＣＩカード５４２−ｉが搭載されているスロット５４１−ｉを示す識別情報であり、搭載部５１７内におけるＰＣＩカード５４２−ｉの位置を表す。種別は、ＰＣＩカード５４２−ｉの種別を表す。例えば、ＰＣＩカード５４２−ｉの種別としては、ネットワークインタフェース、ストレージインタフェース等の用途を用いることができる。
【００４２】
シリアル番号は、ＰＣＩカード５４２−ｉの識別情報である。ファームウェア版数情報は、ＰＣＩカード５４２−ｉにインストールされているファームウェア６１２の版数を表し、ドライバ版数情報は、そのファームウェア６１２の版数と整合しているドライバの版数を表す。
【００４３】
図６のＰＣＩカード情報６１１も、図５のＰＣＩカード情報５２３と同様の情報を含む。
【００４４】
図９は、図５の書き込みプログラム５３２の例を示している。図９の書き込みプログラム５３２は、ファームウェアインストールプログラム９０１及びドライバインストールプログラム９０２を含む。ファームウェアインストールプログラム９０１は、各ＰＣＩカード５４２−ｉにファームウェア６１２をインストールするためのプログラムである。ドライバインストールプログラム９０２は、各ＰＣＩカード５４２−ｉのドライバを補助記憶装置５１４にインストールするためのプログラムである。
【００４５】
図１０は、図７の版数管理情報７０５の例を示している。図１０のファームウェアイメージ１００１−１〜ファームウェアイメージ１００１−３は、図７のファームウェア７０４に対応する。各ファームウェアイメージ１００１−ｉは、ＰＣＩカード５４２−ｉの制御に用いられる、様々な版数を有する複数のファームウェアを含む。
【００４６】
版数管理テーブル１００２−１〜版数管理テーブル１００２−３は、図７の版数管理情報７０５に対応する。各版数管理テーブル１００２−ｉは、ＰＣＩカード５４２−ｉの複数のファームウェアそれぞれについて、ドライバの版数情報とファームウェアの版数情報との組み合わせを含む。また、ファームウェアの改版が段階的に行われる場合、版数管理テーブル１００２−ｉは、中間版数を示す中間版数情報をさらに含む。
【００４７】
例えば、版数管理テーブル１００２−１の“ＤＶ１／ＦＶ１”は、ドライバの版数ＤＶ１とファームウェアの版数ＦＶ１との組み合わせを表す。
【００４８】
“ＤＶ２／ＦＶ２／ＦＶＭ”は、ドライバの版数ＤＶ２とファームウェアの版数ＦＶ２との組み合わせを表すとともに、版数ＦＶ１と版数ＦＶ２との間の中間版数ＦＶＭが版数ＦＶ２に対応付けられていることを表す。この場合、版数ＦＶ１のファームウェアを版数ＦＶ２に改版するためには、版数ＦＶ１から版数ＦＶ２に直接更新するのではなく、一旦、中間版数ＦＶＭに更新してから版数ＦＶ２に更新する、段階的な改版手順が用いられる。
【００４９】
“ＤＶ３／ＦＶ３”は、ドライバの版数情報ＤＶ３とファームウェアの版数情報ＦＶ３との組み合わせを表す。版数管理テーブル１００２−２及び版数管理テーブル１００２−３の情報についても、版数管理テーブル１００２−１と同様である。
【００５０】
図１１は、情報処理装置５０１の運用開始時又はＰＣＩカード５４２−ｉの増設時に行われる書き込み処理の例を示すフローチャートである。システム管理者は、ワークステーション等の端末装置を用いて、書き込みプログラム５３２を情報処理装置５０１の補助記憶装置５１４に格納し、情報処理装置５０１に書き込みプログラム５３２を実行させる。ＣＰＵ５１１は、ＯＳ５３１上で書き込みプログラム５３２を実行することで、図１１の書き込み処理を行う。
【００５１】
まず、ＣＰＵ５１１は、ファームウェアインストールプログラム９０１を実行して、各ＰＣＩカード５４２−ｉの不揮発性メモリ６０１にファームウェア６１２をインストールする（ステップ１１０１）。そして、ＣＰＵ５１１は、ＰＣＩカード５４２−ｉの不揮発性メモリ６０１から、ＰＣＩカード情報６１１を読み出す（ステップ１１０２）。
【００５２】
次に、ＣＰＵ５１１は、ＢＩＯＳプログラム５２１に含まれるインタフェースＩＦを介して、読み出したＰＣＩカード情報６１１を、不揮発性メモリ５１３の記憶領域５２２に書き込む（ステップ１１０３）。これにより、各ＰＣＩカード５４２−ｉのＰＣＩカード情報６１１の内容がＰＣＩカード情報５２３に書き込まれる。インタフェースＩＦは、ＢＩＯＳプログラム５２１とＯＳ５３１との間で情報を転送するためのプログラムである。
【００５３】
次に、ＣＰＵ５１１は、ドライバインストールプログラム９０２を実行して、各ＰＣＩカード５４２−ｉのドライバを補助記憶装置５１４にインストールする（ステップ１１０４）。
【００５４】
情報処理装置５０１の運用中にいずれかのＰＣＩカード５４２−ｉが故障した場合、ＣＥは、保守交換作業を行って、故障したＰＣＩカード５４２−ｉを、同じ種別の新しいＰＣＩカードに交換する。この場合、スロット５４１−ｉに搭載された交換後のＰＣＩカード５４２−ｉのシリアル番号は、同じスロットに対応付けられたＰＣＩカード情報５２３のシリアル番号と一致しなくなる。したがって、ＰＣＩカード５４２−ｉのシリアル番号とＰＣＩカード情報５２３のシリアル番号とを比較することで、ＰＣＩカード５４２−ｉが交換されたか否かを判定することが可能になる。
【００５５】
ＣＥは、可搬型記録媒体５５１内に保守用のボリュームラベルを作成し、そのボリュームラベルを持つ記憶領域に簡易ＯＳ７０１を格納する。そして、ＣＥは、情報処理装置５０１の媒体駆動装置５１８に、可搬型記録媒体５５１を装着する。
【００５６】
図１２は、可搬型記録媒体５５１が装着された情報処理装置５０１の電源投入時に行われる起動処理の例を示すフローチャートである。この例では、搭載部５１７にＮ個のスロット５４１−ｉが設けられ、Ｎ枚のＰＣＩカード５４２−ｉが搭載されている状態を想定している。ＣＰＵ５１１は、ＢＩＯＳプログラム５２１を実行することで、図１２の起動処理を行う。
【００５７】
まず、ＣＰＵ５１１は、制御変数ｉを１に設定し（ステップ１２０１）、ｉ番目のＰＣＩカード５４２−ｉの不揮発性メモリ６０１から、ＰＣＩカード情報６１１を読み出す（ステップ１２０２）。次に、ＣＰＵ５１１は、ＰＣＩカード５４２−ｉを搭載しているスロット５４１−ｉのスロット情報を含むＰＣＩカード情報５２３を、不揮発性メモリ５１３の記憶領域５２２から読み出す（ステップ１２０３）。そして、ＣＰＵ５１１は、ＰＣＩカード情報５２３に含まれるシリアル番号と、ＰＣＩカード情報６１１に含まれるシリアル番号とを比較する（ステップ１２０４）。
【００５８】
２つのシリアル番号が同じである場合（ステップ１２０４，ＹＥＳ）、ＣＰＵ５１１は、ｉを１だけインクリメントして（ステップ１２０５）、ｉをＮと比較する（ステップ１２０６）。ｉがＮ以下である場合（ステップ１２０４，ＮＯ）、ＣＰＵ５１１は、ステップ１２０２以降の処理を繰り返す。一方、ｉがＮよりも大きい場合（ステップ１２０４，ＹＥＳ）、ＣＰＵ５１１は、ＯＳ５３１を起動する（ステップ１２０７）。
【００５９】
２つのシリアル番号が異なっている場合（ステップ１２０４，ＮＯ）、ＣＰＵ５１１は、保守交換モードの動作を開始し、可搬型記録媒体５５１内のボリュームラベルをチェックする（ステップ１２０８）。ボリュームラベルが保守用ラベルである場合（ステップ１２０８，ＹＥＳ）、ＣＰＵ５１１は、簡易ＯＳ７０１を起動する（ステップ１２０９）。一方、ボリュームラベルが保守用ラベルではない場合（ステップ１２０８，ＮＯ）、ＣＰＵ５１１は、ＯＳ５３１を起動する（ステップ１２０７）。
【００６０】
ステップ１２０４において、ＣＰＵ５１１は、ＰＣＩカード情報５２３に含まれる種別と、ＰＣＩカード情報６１１に含まれる種別とを比較し、２つの種別が同じである場合に、それらのＰＣＩカード情報に含まれるシリアル番号を比較してもよい。
【００６１】
図１２の起動処理によれば、情報処理装置５０１の電源投入時にＢＩＯＳプログラム５２１を実行することで、ＰＣＩカード５４２−ｉが交換されたか否かを判定することができる。また、各スロット５４１−ｉのＰＣＩカード５４２−ｉについてステップ１２０２〜ステップ１２０４の処理を行うことで、搭載部５１７に搭載されているすべてのＰＣＩカード５４２−ｉについて、交換されたか否かを判定することができる。
【００６２】
図１３は、簡易ＯＳ７０１が起動された場合に行われるファームウェア改版処理の具体例を示すフローチャートである。ＣＰＵ５１１は、簡易ＯＳ７０１上で版数管理プログラム７０２を実行することで、図１３のファームウェア改版処理を行う。
【００６３】
まず、ＣＰＵ５１１は、ＢＩＯＳプログラム５２１に含まれるインタフェースＩＦを介して、不揮発性メモリ５１３の記憶領域５２２から、スロット５４１−ｉのスロット情報を含むＰＣＩカード情報５２３を読み出す（ステップ１３０１）。次に、ＣＰＵ５１１は、スロット５４１−ｉに搭載されているＰＣＩカード５４２−ｉの不揮発性メモリ６０１から、ＰＣＩカード情報６１１を読み出す（ステップ１３０２）。
【００６４】
そして、ＣＰＵ５１１は、ＰＣＩカード情報５２３に含まれるファームウェア版数情報が示す版数ＦＶＡと、ＰＣＩカード情報６１１に含まれるファームウェア版数情報が示す版数ＦＶＢとを比較する（ステップ１３０３）。例えば、図１０の版数管理情報７０５を用いた場合、版数ＦＶＡ及び版数ＦＶＢは、版数ＦＶ１〜版数ＦＶ３のいずれかに対応する。
【００６５】
ＦＶＡとＦＶＢが異なっている場合（ステップ１３０３，ＮＯ）、ＣＰＵ５１１は、可搬型記録媒体５５１から版数管理情報７０５を読み出す（ステップ１３０４）。そして、ＣＰＵ５１１は、版数管理情報７０５を参照して、ＰＣＩカード５４２−ｉのファームウェア６１２を版数ＦＶＡに改版可能か否かをチェックする（ステップ１３０５）。
【００６６】
例えば、ＣＰＵ５１１は、版数ＦＶＡに中間版数情報が対応付けられていない場合、ファームウェア６１２を版数ＦＶＡに改版可能と判定する。一方、版数ＦＶＡに中間版数情報が対応付けられている場合、ＣＰＵ５１１は、その中間版数情報が示す中間版数と版数ＦＶＢとを比較し、中間版数とＦＶＢが異なっている場合、ファームウェア６１２を版数ＦＶＡに改版不可能と判定する。中間版数とＦＶＢが同じである場合、ＣＰＵ５１１は、ファームウェア６１２を版数ＦＶＡに改版可能と判定する。
【００６７】
ファームウェア６１２を版数ＦＶＡに改版可能である場合（ステップ１３０５，ＹＥＳ）、ＣＰＵ５１１は、ＰＣＩカード５４２−ｉのファームウェア６１２を版数ＦＶＡに改版する（ステップ１３０６）。このとき、ＣＰＵ５１１は、インストールプログラム７０３を実行することで、ファームウェア７０４から版数ＦＶＡのファームウェアを読み出して、ＰＣＩカード５４２−ｉの不揮発性メモリ６０１にインストールする。そして、ＣＰＵ５１１は、ＰＣＩカード５４２−ｉのＰＣＩカード情報６１１に含まれるファームウェア版数情報を、版数ＦＶＡを示すファームウェア版数情報に書き換える。
【００６８】
次に、ＣＰＵ５１１は、ＢＩＯＳプログラム５２１に含まれるインタフェースＩＦを介して、不揮発性メモリ５１３の記憶領域５２２にアクセスする。そして、ＣＰＵ５１１は、スロット５４１−ｉのスロット情報を含むＰＣＩカード情報５２３のシリアル番号を、読み出したＰＣＩカード情報６１１に含まれるシリアル番号に書き換える（ステップ１３０７）。これにより、ＰＣＩカード情報５２３のシリアル番号が交換後のＰＣＩカード５４２−ｉのシリアル番号と一致するようになる。
【００６９】
次に、ＣＰＵ５１１は、情報処理装置５０１を再起動する（ステップ１３０８）。これにより、図１２の起動処理が開始され、ステップ１２０４において、ＰＣＩカード情報５２３に含まれるシリアル番号と、ＰＣＩカード５４２−ｉのＰＣＩカード情報６１１に含まれるシリアル番号とが同じであると判定される。
【００７０】
ＦＶＡとＦＶＢが同じである場合（ステップ１３０３，ＹＥＳ）、ＣＰＵ５１１は、ＰＣＩカード５４２−ｉのファームウェア６１２を改版することなく、ステップ１３０７以降の処理を行う。
【００７１】
ファームウェア６１２を版数ＦＶＡに改版不可能である場合（ステップ１３０５，ＮＯ）、ＣＰＵ５１１は、ＰＣＩカード５４２−ｉのファームウェア６１２を、中間版数情報が示す中間版数に改版する（ステップ１３０９）。このとき、ＣＰＵ５１１は、インストールプログラム７０３を実行することで、ファームウェア７０４から中間版数のファームウェアを読み出して、ＰＣＩカード５４２−ｉの不揮発性メモリ６０１にインストールする。そして、ＣＰＵ５１１は、ＰＣＩカード５４２−ｉのＰＣＩカード情報６１１に含まれるファームウェア版数情報を、中間版数を示すファームウェア版数情報に書き換える。
【００７２】
次に、ＣＰＵ５１１は、情報処理装置５０１を再起動する（ステップ１３０８）。これにより、図１２の起動処理が開始され、ステップ１２０９において簡易ＯＳ７０１が起動されて、図１３のファームウェア改版処理が再度行われる。そして、ステップ１３０５において中間版数とＦＶＢが同じである場合、ＣＰＵ５１１は、ステップ１３０６以降の処理を行う。
【００７３】
図１２の起動処理及び図１３のファームウェア改版処理によれば、故障したＰＣＩカード５４２−ｉが新しいＰＣＩカードに交換された場合、交換後のＰＣＩカードのファームウェアを交換前と同じ版数のファームウェアに改版することができる。これにより、交換後のＰＣＩカードのファームウェアの版数と、ＯＳ５３１が使用するドライバの版数との整合性が確保される。
【００７４】
また、簡易ＯＳ７０１上で版数管理プログラム７０２を実行することで、ドライバの版数と整合しているファームウェアの版数が、不揮発性メモリ５１３の記憶領域５２２から自動的に取得される。したがって、顧客側のシステム管理者の立会い及びＯＳ５３１の起動は不要であり、ＣＥのみでＰＣＩカードの交換作業を行うことが可能になる。
【００７５】
さらに、中間版数を経由する段階的なファームウェアの改版が自動的に実行されるため、ＣＥは、段階的な改版手順を意識することなく、ＰＣＩカードの交換作業を行うことができる。
【００７６】
図３及び図５の情報処理装置の構成は一例に過ぎず、情報処理装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図５の情報処理装置５０１において、オペレータ又はユーザからの指示又は情報を入力する必要がない場合は、入力装置５１５を省略してもよく、オペレータ又はユーザに対する問い合わせ又は処理結果を出力する必要がない場合は、出力装置５１６を省略してもよい。
【００７７】
可搬型記録媒体５５１から情報処理装置５０１を起動する代わりに、補助記憶装置５１４又はＰＸＥ（preboot execution environment）を利用して情報処理装置５０１を起動することも可能である。補助記憶装置５１４を利用する場合、情報処理装置５０１は、簡易ＯＳ７０１を補助記憶装置５１４に格納しておき、その簡易ＯＳ７０１をメモリ５１２にロードして実行する。ＰＸＥを利用する場合、外部のＰＸＥサーバが通信ネットワークを介して情報処理装置５０１へ簡易ＯＳ７０１を配信し、情報処理装置５０１は、受信した簡易ＯＳ７０１をメモリ５１２にロードして実行する。
【００７８】
補助記憶装置５１４又はＰＸＥを利用する場合、媒体駆動装置５１８を省略することができる。
【００７９】
図６の不揮発性メモリ６０１、図７の可搬型記録媒体５５１、図８のＰＣＩカード情報５２３、図９の書き込みプログラム５３２、及び図１０の版数管理情報７０５は一例に過ぎない。情報処理装置の用途又は条件に応じて、一部のプログラム又は情報を省略又は変更してもよい。例えば、図８のＰＣＩカード情報５２３からドライバ版数情報を省略してもよく、図１０の版数管理情報７０５から中間版数情報を省略してもよい。
【００８０】
図４及び図１１〜図１３のフローチャートは一例に過ぎず、情報処理装置の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、図１３のファームウェア改版処理において、版数管理情報７０５が中間版数情報を含まない場合、ステップ１３０５及びステップ１３０９の処理を省略することができる。
【００８１】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【００８２】
図３乃至図１３を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
インタフェースデバイスが搭載される搭載部と、
基本入出力システムのための記憶領域を含み、第１インタフェースデバイスの第１識別情報と前記第１インタフェースデバイスのファームウェアの第１版数情報とを、前記記憶領域に記憶する記憶部と、
前記記憶部に記憶されている前記第１識別情報と、前記搭載部に搭載されている第２インタフェースデバイスの第２識別情報とを比較し、前記第１識別情報と前記第２識別情報とが異なる場合、前記記憶部に記憶されている前記第１版数情報と前記第２インタフェースデバイスのファームウェアの第２版数情報とを比較し、前記第１版数情報と前記第２版数情報とが異なる場合、前記第２インタフェースデバイスのファームウェアを、前記第１版数情報を有するファームウェアに改版する処理部と、
を備えることを特徴とする情報処理装置。
（付記２）
前記記憶部は、前記基本入出力システムのプログラムをさらに記憶し、
前記処理部は、前記基本入出力システムのプログラムを実行することで、前記記憶領域から前記第１識別情報を読み出し、前記第２インタフェースデバイスから前記第２識別情報を読み出し、前記第１識別情報と前記第２識別情報とを比較することを特徴とする付記１記載の情報処理装置。
（付記３）
前記処理部は、簡易オペレーティングシステムを起動し、前記簡易オペレーティングシステム上で所定のプログラムを実行することで、前記記憶領域から前記第１版数情報を読み出し、前記第２インタフェースデバイスから前記第２版数情報を読み出し、前記第１版数情報と前記第２版数情報とを比較し、前記第２インタフェースデバイスのファームウェアを、前記第１版数情報を有するファームウェアに改版することを特徴とする付記１又は２記載の情報処理装置。
（付記４）
前記処理部は、前記第１版数情報と前記第２版数情報とが異なる場合、前記第１版数情報と前記第２版数情報との間の中間版数情報を前記第２版数情報に対応付けた版数管理情報に基づいて、前記第２インタフェースデバイスのファームウェアを、前記中間版数情報を有するファームウェアに改版し、前記中間版数情報を有するファームウェアを、前記第１版数情報を有するファームウェアに改版することを特徴とする付記１乃至３のいずれか１項に記載の情報処理装置。
（付記５）
前記搭載部は複数のスロットを含み、
前記記憶部は、複数のインタフェースデバイスそれぞれについて、インタフェースデバイスの第１識別情報とファームウェアの第１版数情報とを記憶し、
前記処理部は、前記複数のインタフェースデバイスそれぞれを前記第１インタフェースデバイスとして用いて、前記記憶部が記憶している前記第１識別情報と、前記複数のスロットそれぞれに搭載されている第２インタフェースデバイスの第２識別情報とを比較することを特徴とする付記１乃至４のいずれか１項に記載の情報処理装置。
（付記６）
基本入出力システムのための記憶領域に記憶されている、第１インタフェースデバイスの第１識別情報と、搭載部に搭載されている第２インタフェースデバイスの第２識別情報とが異なる場合、前記記憶領域に記憶されている、前記第１インタフェースデバイスのファームウェアの第１版数情報と、前記第２インタフェースデバイスのファームウェアの第２版数情報とを比較し、
前記第１版数情報と前記第２版数情報とが異なる場合、前記第２インタフェースデバイスのファームウェアを、前記第１版数情報を有するファームウェアに改版する、
処理をコンピュータに実行させるための版数管理プログラム。
（付記７）
前記コンピュータは、前記基本入出力システムのプログラムを実行することで、前記記憶領域から前記第１識別情報を読み出し、前記第２インタフェースデバイスから前記第２識別情報を読み出し、前記第１識別情報と前記第２識別情報とを比較することを特徴とする付記６記載の版数管理プログラム。
（付記８）
前記コンピュータは、簡易オペレーティングシステムを起動し、前記簡易オペレーティングシステム上で前記版数管理プログラムを実行することで、前記記憶領域から前記第１版数情報を読み出し、前記第２インタフェースデバイスから前記第２版数情報を読み出し、前記第１版数情報と前記第２版数情報とを比較し、前記第２インタフェースデバイスのファームウェアを、前記第１版数情報を有するファームウェアに改版することを特徴とする付記６又は７記載の版数管理プログラム。
（付記９）
前記コンピュータは、前記第１版数情報と前記第２版数情報とが異なる場合、前記第１版数情報と前記第２版数情報との間の中間版数情報を前記第２版数情報に対応付けた版数管理情報に基づいて、前記第２インタフェースデバイスのファームウェアを、前記中間版数情報を有するファームウェアに改版し、前記中間版数情報を有するファームウェアを、前記第１版数情報を有するファームウェアに改版することを特徴とする付記６乃至８のいずれか１項に記載の版数管理プログラム。
（付記１０）
前記搭載部は複数のスロットを含み、
前記記憶領域は、複数のインタフェースデバイスそれぞれについて、インタフェースデバイスの第１識別情報とファームウェアの第１版数情報とを記憶し、
前記コンピュータは、前記複数のインタフェースデバイスそれぞれを前記第１インタフェースデバイスとして用いて、前記記憶領域に記憶されている前記第１識別情報と、前記複数のスロットそれぞれに搭載されている第２インタフェースデバイスの第２識別情報とを比較することを特徴とする付記６乃至９のいずれか１項に記載の版数管理プログラム。
【符号の説明】
【００８３】
１０１  ＯＳ
１０２、２０１、２０２  ＰＣＩカード
１０３、２０３  ＰＣＩバス
１１１  ドライバ
１１２、２１１、２１２、６１２、７０４  ファームウェア
１１３  ＡＳＩＣ
３０１、５０１  情報処理装置
３１１、５１７  搭載部
３１２  記憶部
３１３  処理部
３２１、５２２  記憶領域
５１１  ＣＰＵ
５１２  メモリ
５１３、６０１  不揮発性メモリ
５１４  補助記憶装置
５１５  入力装置
５１６  出力装置
５１８  媒体駆動装置
５１９  バス
５２１  ＢＩＯＳプログラム
５２３、６１１  ＰＣＩカード情報
５３２  書き込みプログラム
５４１−１〜５４１−３  スロット
５４２−１〜５４２−３  ＰＣＩカード
５５１  可搬型記録媒体
６０１  不揮発性メモリ
７０１  簡易ＯＳ
７０２  版数管理プログラム
７０３  インストールプログラム
７０５  版数管理情報
９０１  ファームウェアインストールプログラム
９０２  ドライバインストールプログラム
１００１−１〜１００１−３  ファームウェアイメージ
１００２−１〜１００２−３  版数管理テーブル
【図１】
2019197511.tif 000003
【図２】
2019197511.tif 000004
【図３】
2019197511.tif 000005
【図４】
2019197511.tif 000006
【図５】
2019197511.tif 000007
【図６】
2019197511.tif 000008
【図７】
2019197511.tif 000009
【図８】
2019197511.tif 000010
【図９】
2019197511.tif 000011
【図１０】
2019197511.tif 000012
【図１１】
2019197511.tif 000013
【図１２】
2019197511.tif 000014
【図１３】
2019197511.tif 000015