(57)【特許請求の範囲】
【請求項１】
ファームウェアの実行によってシステム設定情報を更新することが可能な情報処理装置に
おいて、
ファームウェア及びデータ処理用の命令を実行する第１のプロセッサと、
少なくともファームウェアの更新及びシステム設定の管理を行う第２のプロセッサと、
現状のファームウェア及び更新されるファームウェアを格納することが可能な第１及び第２のメモリと、
該システム設定情報を格納する第３のメモリと、
該第２のプロセッサの制御により該第１のメモリと第２のメモリを切り替えて、いずれか一方のメモリを該第１のプロセッサが接続されたバスに接続し、他方のメモリを該第２のプロセッサに接続するスイッチと、を有し、
該第２のプロセッサは、該スイッチを制御して該第２のメモリに更新用のファームウェアを格納し、
更新された該ファームウェアが該第２のメモリに格納された後に、該第２のプロセッサは、該スイッチを制御して該第２のメモリを該バスに接続し、
該第１のプロセッサは、該バスを介して該第２のメモリから取得した、更新後のファームウェアを実行し、
該第１のプロセッサは、システム設定復元が必要な場合に、該第２のプロセッサにシステム設定復元を要求し、
該第２のプロセッサは、該第１のプロセッサのシステム設定情報を該第３のメモリから読み出し、該第１のプロセッサに該第１のプロセッサのシステム設定情報を転送し、
該第１のプロセッサは、該第２のプロセッサから受信した該第１のプロセッサのシステム設定情報を、該第２のメモリに格納し、
該第１のプロセッサは、該第２のメモリから該第１のプロセッサのシステム設定情報を読み出し、該第１のプロセッサのシステム設定情報を元に初期化処理を実行し、
該第１のプロセッサは、該初期化処理にエラーが無い場合に、該第２のメモリから該第１のプロセッサのシステム設定情報を読み出し、該第１のプロセッサのシステム設定情報を、該第２のプロセッサに転送し、
該第２のプロセッサは、該第１のプロセッサから受信した該第１のプロセッサのシステム設定情報を該第３のメモリに格納することを特徴とする情報処理装置。
【請求項２】
該第２のプロセッサは、外部端末からのネットワークを介した指示に従って、該ファームウェアの更新処理の指示を受け、この指示に応じてファームウェアの更新処理を実行すること、を特徴とする請求項１の情報処理装置。
【請求項３】
前記第３のメモリは、該バスと該スイッチの現在及び次回の接続先となる前記第１又は第２のメモリを指定する、スイッチ設定情報を格納し、
前記第２のプロセッサは、該第３のメモリから読み出された該スイッチ設定情報を参照して、該スイッチの次回接続先を更新し、かつ該バスに対する前記第１又は第２のメモリの接続を切り替えるように該スイッチを制御すること、を特徴とする請求項１乃至２のいずれかの項記載の情報処理装置。
【請求項４】
前記第３のメモリは、該第１又は第２のメモリ内のファームウェアのバージョン情報及びその状態、設定復元の要否に関するファームウェア管理情報を格納し、
該第２のプロセッサは、該第３のメモリから該ファームウェア管理情報を読み出し、
該ファームウェア管理情報がシステム設定情報の復元を示している場合、該第１のプロセッサは、該第２のプロセッサにシステム設定復元を要求すること、を特徴とする請求項１乃至３のいずれかの項記載の情報処理装置。
【請求項５】
情報処理装置におけるシステム設定方法であって、
ファームウェア及びデータ処理用の命令を実行する第１のプロセッサと、少なくともファームウェアの更新及びシステム設定の管理を行う第２のプロセッサと、現状のファームウェア及び更新されるファームウェアを格納することが可能な第１及び第２のメモリと、該システム設定情報を格納する第３のメモリと、該第２のプロセッサの制御により該第１のメモリと第２のメモリを切り替えて、いずれか一方のメモリを該第１のプロセッサが接続されたバスに接続し、他方のメモリを該第２のプロセッサに接続するスイッチとを有し、ファームウェアの実行によってシステム設定情報を更新することが可能な情報処理装置におけるシステム設定方法であって、
該第２のプロセッサは、該スイッチを制御して該第２のメモリに更新用のファームウェアを格納し、
更新された該ファームウェアが該第２のメモリに格納された後に、該第２のプロセッサは、該スイッチを制御して該第２のメモリを該バスに接続し、
該第１のプロセッサは、該バスを介して該第２のメモリから取得した、更新後のファームウェアを実行し、
該第１のプロセッサは、システム設定復元が必要な場合に、該第２のプロセッサにシステム設定復元を要求し、
該第２のプロセッサは、該第１のプロセッサのシステム設定情報を該第３のメモリから読み出し、該第１のプロセッサに該第１のプロセッサのシステム設定情報を転送し、
該第１のプロセッサは、該第２のプロセッサから受信した該第１のプロセッサのシステム設定情報を、該第２のメモリに格納し、
該第１のプロセッサは、該第２のメモリから該第１のプロセッサのシステム設定情報を読み出し、該第１のプロセッサのシステム設定情報を元に初期化処理を実行し、
該第１のプロセッサは、該初期化処理にエラーが無い場合に、該第２のメモリから該第１のプロセッサのシステム設定情報を読み出し、該第１のプロセッサのシステム設定情報を、該第２のプロセッサに転送し、
該第２のプロセッサは、該第１のプロセッサから受信した該第１のプロセッサのシステム設定情報を該第３のメモリに格納することを特徴とするシステム設定方法。
【請求項６】
該第２のプロセッサは、外部端末からのネットワークを介した指示に従って、該ファームウェアの更新処理の指示を受け、この指示に応じてファームウェアの更新処理を実行すること、を特徴とする請求項５のシステム設定方法。
【請求項７】
前記第３のメモリは、該バスと該スイッチの現在及び次回の接続先となる前記第１又は第２のメモリを指定する、スイッチ設定情報を格納し、
前記第２のプロセッサは、該第３のメモリから読み出された該スイッチ設定情報を参照して、該スイッチの次回接続先を更新し、かつ該バスに対する前記第１又は第２のメモリの接続を切り替えるように該スイッチを制御すること、を特徴とする請求項５乃至６のいずれかの項記載のシステム設定方法。
【請求項８】
前記第３のメモリは、該第１又は第２のメモリ内のファームウェアのバージョン情報及びその状態、設定復元の要否に関するファームウェア管理情報を格納し、
該第２のプロセッサは、該第３のメモリから該ファームウェア管理情報を読み出し、
該ファームウェア管理情報がシステム設定情報の復元を示している場合、該第１のプロセッサは、該第２のプロセッサにシステム設定復元を要求すること、を特徴とする請求項５乃至７のいずれかの項記載のシステム設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置及びシステム設定方法に係り、特に情報処理装置のファームウェアの更新に伴うシステムの設定に関するものである。
【背景技術】
【０００２】
コンピュータシステムでは、装置の電源投入及びリセット時における情報処理装置の初期設定、コンディションチェック、および入出力制御のためにファームウェアが使用され、それは一般的に装置の構成変更や不具合対策もしくはファームウェア自身の不具合対策や機能の向上に際して、電気的に書き換え可能な不揮発性メモリで提供される。
このファームウェアを更新するには、ファームウェアデータとファームウェア更新ツールを提供するベンダから入手することで、技術的にはユーザ自らがファームウェアを書き換えることが可能である。
【０００３】
しかし、情報の不足や手順ミスなどの人為的な要因でファームウェアの更新に失敗することがある。また、停電や情報処理装置の電源保護回路による更新中の情報処理の電源断や、不揮発性メモリの故障などにより、ファームウェアの更新に失敗することもある。ファームウェアの更新に失敗した状態で電源投入やリセットを行うと、情報処理装置は立ち上がらなくなる可能性がある。
【０００４】
ファームウェアの更新ツールは、一般的にはオペレーティングシステム上で動作し、かつ、情報処理装置が使用している不揮発性メモリを書き換えるため、失敗した場合には装置が立ち上がらなくなる。装置が立ち上がらなくなってしまった場合は不揮発性メモリに書かれたファームウェアを復旧する手段がないため、情報処理装置を交換する必要がある。
【０００５】
なお、特許文献１には、ユーザの手を介入させないでファームウェア情報であるＢＩＯＳ書き換え処理を可能とし、不具合時にも簡易なリカバリ方法により、対応を容易化したＢＩＯＳアップデートシステムが開示されている。この技術によれば、装置を交換しないで、情報処理装置の前で特定の操作を行うことでファームウェアのリカバリを行うことができる。
【０００６】
また、特許文献２には、現用ファームウェアを格納する第１のファームウェアメモリ部と、更新ファームウェアを格納する第２のファームウェアメモリ部と、更新ファームウェアの誤り検出を行う誤り検出手段を有し、更新ファームウェアのダウンロード中に障害が発生した場合、第１のファームウェアメモリ部に切り替えて、更新前の現用ファームウェアを使用することにより、冗長性と信頼性を向上させたファームウェアダウンロードシステムが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−２１４１８３号公報
【特許文献２】特開２００３−２８０９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
然るに、特許文献２に開示されたファームウェアダウンロードシステムでは、システムの主プロセッサと思われる装置主制御部Ａ１でファームウェアのダウンロードの制御を行っているので、装置主制御部Ａ１は、システムのデータ処理とファームウェアのダウンロード制御の双方の処理ために負荷が大きくなる。また、特許文献２には、ファームウェアの更新に伴って、システムの設定がどのように行われるか、及びシステムの設定情報の管理については言及されていない。
【０００９】
本発明は、ファームウェアの更新に伴うシステム設定を自動的に行い、かつシステムの設定情報を更新するファームウェアに容易に反映することにある。
【課題を解決するための手段】
【００１０】
本発明に係る情報処理装置は、好ましくは、ファームウェアの実行によってシステム設定情報を更新することが可能な情報処理装置において、ファームウェア及びデータ処理用の命令を実行する第１のプロセッサと、少なくともファームウェアの更新及びシステム設定の管理を行う第２のプロセッサと、現状のファームウェア及び更新されるファームウェアを格納することが可能な第１及び第２のメモリと、該システム設定情報を格納する第３のメモリと、該第２のプロセッサの制御により該第１のメモリと第２のメモリを切り替えて、いずれか一方のメモリを該第１のプロセッサが接続されたバスに接続し、他方のメモリを該第２のプロセッサに接続するスイッチと、を有し、
該第２のプロセッサは、該スイッチを制御して該第２のメモリに更新用のファームウェアを格納し、
更新された該ファームウェアが該第２のメモリに格納された後に、該第２のプロセッサは、該スイッチを制御して該第２のメモリを該バスに接続し、
該第１のプロセッサは、該バスを介して該第２のメモリから取得した、更新後のファームウェアを実行し、
該第１のプロセッサによる該ファームウェアの実行の下、該第２のプロセッサは該第３のメモリから該システム設定情報を読出して該第１のプロセッサへ提供し、
該第１のプロセッサは、該第２のメモリに格納された、更新後の該ファームウェアが保持するファームウェアデータを該システム設定情報に組み入れて該システム設定情報を更新後のファームウエアのシステム設定情報に更新する処理を行い、
該第２のプロセッサは、更新処理した後のシステム設定情報を該第３のメモリに格納することを特徴とする情報処理装置として構成される。
【００１１】
好ましい例では、該第２のプロセッサは、外部端末からのネットワークを介した指示に従って、該ファームウェアの更新処理の指示を受け、この指示に応じてファームウェアの更新処理を実行する。
また、好ましくは、該第１のプロセッサは、更新処理した後のシステム設定情報に基づいて初期化処理を実行し、該初期化処理後にエラーが無い場合に、該第２のプロセッサは、更新処理した後のシステム設定情報を該第３のメモリに格納する。
また、好ましくは、前記第３のメモリは、該バスと該スイッチの現在及び次回の接続先となる前記第１又は第２のメモリを指定する、スイッチ設定情報を格納し、
前記第２のプロセッサは、該第３のメモリから読み出された該スイッチ設定情報を参照して、該スイッチの次回接続先を更新し、かつ該バスに対する前記第１又は第２のメモリの接続を切り替えるように該スイッチを制御する。
また、好ましくは、前記第３のメモリは、該第１又は第２のメモリ内のファームウェアのバージョン情報及びその状態、設定復元の要否に関するファームウェア管理情報を格納し、該第２のプロセッサは、該第３のメモリから該ファームウェア管理情報を読み出し、
該ファームウェア管理情報がシステム設定情報の復元を示している場合、該第１のプロセッサは、更新後の該ファームウェアが保持するファームウェアデータを該システム設定情報に組み入れて該システム設定情報を更新後のファームウエアのシステム設定情報に更新する処理を行う。
【００１２】
本発明に係るシステム設定方法は、好ましくは、情報処理装置におけるシステム設定方法であって、ファームウェア及びデータ処理用の命令を実行する第１のプロセッサと、少なくともファームウェアの更新及びシステム設定の管理を行う第２のプロセッサと、現状のファームウェア及び更新されるファームウェアを格納することが可能な第１及び第２のメモリと、該システム設定情報を格納する第３のメモリと、該第２のプロセッサの制御により該第１のメモリと第２のメモリを切り替えて、いずれか一方のメモリを該第１のプロセッサが接続されたバスに接続し、他方のメモリを該第２のプロセッサに接続するスイッチを有し、ファームウェアの実行によってシステム設定情報を更新することが可能な情報処理装置におけるシステム設定方法であって、
該第２のプロセッサは、該スイッチを制御して該第２のメモリに更新用のファームウェアを格納し、
更新された該ファームウェアが該第２のメモリに格納された後に、該第２のプロセッサは、該スイッチを制御して該第２のメモリを該バスに接続し、
該第１のプロセッサは、該バスを介して該第２のメモリから取得した、更新後のファームウェアを実行し、
該第１のプロセッサによる該ファームウェアの実行の下、該第２のプロセッサは該第３のメモリから該システム設定情報を読出して該第１のプロセッサへ提供し、
該第１のプロセッサは、該第２のメモリに格納された、更新後の該ファームウェアが保持するファームウェアデータを該システム設定情報に組み入れて該システム設定情報を更新後のファームウエアのシステム設定情報に更新する処理を行い、
該第２のプロセッサは、更新処理した後のシステム設定情報を該第３のメモリに格納することを特徴とするシステム設定方法として構成される。
【発明の効果】
【００１３】
本発明によれば、命令処理用のプロセッサの動作に影響されずに、管理プロセッサを用いてファームウェアの更新に伴うシステム設定を自動的に行うことができ、システムの設定情報を更新するファームウェアに容易に反映することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】一実施例における情報処理装置の構成を示すブロック図。
【図２】一実施例におけるクロスバスイッチの内部構成を示すブロック図。
【図３】一実施例におけるクロスバスイッチの内部構成を示すブロック図。
【図４】一実施例におけるファームウェアデータの構成を示す図。
【図５】一実施例におけるクロスバスイッチの設定情報の構成を示す図。
【図６】一実施例におけるファームウェア管理情報の構成を示す図。
【図７】一実施例におけるシステム設定情報の構成を示す図。
【図８】一実施例におけるファームウェア更新処理動作を説明するフローチャート図。
【図９Ａ】一実施例におけるシステム設定復元処理動作を説明するフローチャート図。
【図９Ｂ】一実施例におけるシステム設定復元処理動作を説明するフローチャート図。
【図１０】一実施例におけるファームウェア復旧処理動作を説明するフローチャート図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の一実施例について説明する。
図1は、情報処理装置の構成を示す。
情報処理装置は例えばサーバ装置１であり、命令を処理するデータ処理部１０と、それ以外の部分（例えばプログラムの更新やサーバ装置の監視等のシステム環境の管理を行う管理部）に分けられる。
データ処理部１０は、ファームウェア及びデータ処理のための命令を実行するプロセッサ１０１と、命令及びデータを格納するシステムのメインメモリ１０２と、サーバ装置の入出力管理を行うチップセット１０３と、入力装置１０４と、出力装置１０５と、データ記憶装置１０６、及びこれらのユニットを接続するバス１０７を有し、これは所定のＯＳ（オペレーティングシステム）で動作するシステム環境を形成する。
【００１６】
バス１０７には、クロスバスイッチ１２を介してファームウェアを格納する不揮発性メモリであるフラッシュＲＯＭ１３１及び１３２が接続される。更に、クロスバスイッチ１２はクロスバスイッチデータバス１１３及びクロスバスイッチ制御バス１１４を介して管理プロセッサ１４が接続される。管理プロセッサ１４はまた管理バス１１２を介してチップセット１０３と接続される。
【００１７】
管理プロセッサ１４はサーバの電源の管理等のシステム動作環境の管理を行う。これは、例えば組み込みマイコンで構成され、プロセッサ１０１が動作する上記所定のＯＳとは別のＯＳ上で動作する。管理プロセッサ１４はシステムの設定情報を格納する不揮発性メモリであるフラッシュＲＯＭ１５を有する。管理プロセッサ１４にはネットワーク１６を介して例えばパーソナルコンピュータのような外部端末２に接続される。
フラッシュＲＯＭ１３１，１３２は、プログラムにより電気的に消去及び書き込み可能な不揮発性メモリであり、ファームウェア又は更新されたファームウェアのデータ（サーバ装置におけるデータ処理部１０のシステムファームウェア）が格納される。
なお、管理プロセッサ１４、クロスバスイッチ１２、フラッシュＲＯＭ１５、１３１，１３２はサーバ装置１の待機電源で動作し、主電源の状態に影響なく動作することが可能である。
【００１８】
ファームウェアのデータは、図４に示すように、ヘッダ４１と、ファームウェアイメージ４２から構成され、ヘッダ４１はファイルＩＤ４１１、フォーマットバージョン４１２、チェックサム４１３、ファームウェアデータサイズ（ファイルサイズ）４１４、及びファームウェアバージョン４１５から構成される。
フラッシュＲＯＭ１５は、管理プロセッサ１４で実行されるプログラムにより電気的に消去及び書き込み可能であり、クロスバスイッチ設定情報（図５）、ファームウェア管理情報（図６）、及びシステム設定情報（図７）を格納する。
【００１９】
図５に示すように、クロスバスイッチ設定情報は、バス１０７及びクロスバススイッチ１２の現在及び次回の接続先となるフラッシュＲＯＭを示す情報から成る。
図６に示すように、ファームウェア管理情報は、フラッシュＲＯＭ１３１，１３２内のファームウェアのバージョン情報及びその状態、設定復元の要否に関する情報から成る。
システム設定情報は、ファームウェア及びその変更に伴う情報を定義しており、ユーザが設定可能な情報である。図７に示すように、システム設定情報は、レコード番号、オフセット、データ長、ファームウェアのバージョン、設定名、設定値に関する情報から成る。
【００２０】
図２、図３は、クロスバスイッチ１２の内部構成を示す。
クロスバスイッチ１２の内部はバススイッチとなっており、管理プロセッサ１４からクロスバスイッチ制御バス１１４の信号レベルを「Ｌ」にすると、図２に示すように、バス１０７とフラッシュＲＯＭ１３１が接続され、クロスバスイッチバス１１３とフラッシュＲＯＭ１３２が接続される。また、管理プロセッサ１４からクロスバスイッチ制御バス１１４の信号レベルを「Ｈ」にすると、図３に示すように、バス１１０とフラッシュＲＯＭ１３２が接続され、クロスバスイッチバス１１３とフラッシュＲＯＭ１３１が接続される。
【００２１】
これにより、サーバ装置１を起動するために用いるフラッシュＲＯＭ（１３１又は１３２のいずれか一方）と、管理プロセッサ１４からファームウェア更新するフラッシュＲＯＭ（１３２又は１３１のいずれか一方）を物理的に切り離すことができるため、ファームウェアの更新処理が失敗した場合であっても、サーバ装置１を起動するために用いるフラッシュＲＯＭに影響を与えることがないため、安全にファームウェアを更新することができる。
【００２２】
次に、図８を参照して、ファームウェアの更新処理動作について説明する。
前提として、クロスバスイッチ１２は管理プロセッサ１４によって制御され、図２のような接続状態になっているとする。
サーバ装置１の管理プロセッサ１４は、ネットワークサービス(例えばＷｅｂサーバ)を起動し、ユーザの操作により外部端末２からネットワーク１６を介してファームウェアの更新操作を準備する(ステップＳ８０１）。
ネットワークサービスが起動した後、管理プロセッサ１４は外部端末２からのファームウェア更新指示(例えばパーソナルコンピュータのＷｅｂブラウザから管理プロセッサ１４のＷｅｂサーバへのアクセス)があるまで待つ(ステップＳ８０２）。
【００２３】
外部端末２からのファームウェア更新指示があると（ステップＳ８０２）、外部端末２からネットワーク１６を介して送られてきたファームウェアデータ（図４）を受信する(ステップＳ８０３)。
管理プロセッサ１４は、受信したファームウェアデータのファームウェアデータサイズ４１４とファイルＩＤ４１１を検証し、受信データがファームウェア更新用のデータであることを確認する(ステップ１０４)。
また、ファームウェアデータに含まれるファームウェアイメージ４２のチェックサムを算出して、それがヘッダ４１のチェックサム４１３と一致するかを確認する(ステップＳ８０５）。確認の結果、ファームウェアイメージのチェックサムが一致する場合、管理プロセッサ１４は、クロスバスイッチバス１１３を介して、ファームウェアイメージ４２をフラッシュＲＯＭ１３２に書き込む(ステップＳ８０７)。
一方、受信したデータのファイルＩＤが一致しない場合、ファイルサイズが一致しない場合、またはチェックサムが一致しない場合は、更新が失敗したと判断して、管理プロセッサ１４は更新失敗の旨を、ネットワーク１６を介して外部端末２に送信して、外部端末にエラーメッセージを表示する(ステップＳ８１５)。これによりユーザは更新失敗を知ることができる。
【００２４】
フラッシュＲＯＭ１３２にファームウェアイメージ４２の書き込みが完了すると、管理プロセッサ１４は、クロスバスイッチバス１１３を介してフラッシュＲＯＭ１３２の内容を読み出して、読み出したフラッシュＲＯＭの１０９内容がファームウェアイメージと一致しているかを確認する(ステップＳ８０８)。
その確認の結果、フラッシュＲＯＭ１３２の内容がファームウェアイメージと一致している場合、管理プロセッサ１４は、ファームウェア管理情報（図６）の内、クロスバスイッチバスに接続されているフラッシュＲＯＭ１３２のファームウェアバージョンを、ファームウェアデータのヘッダ４１に記憶されているバーション４１５に書き換え、かつファームウェア管理情報の設定復元欄を「要」に設定して、フラッシュＲＯＭ１５に格納する。また、クロスバスイッチ設定情報（図５）について、バス１０７の次回接続先をフラッシュＲＯＭ１３２に更新し、クロスバスイッチバス１１３の次回接続先をフラッシュＲＯＭ１３１に更新し、更新した情報をフラッシュＲＯＭ１５に格納する(ステップＳ８０８）。
【００２５】
管理プロセッサ１４はユーザにファームウェアの更新が成功したことを通知し、更新されたファームウェアで起動するためには再起動が必要な旨、外部端末２に通知する（ステップＳ８１０）。その後、管理プロセッサ１４は外部端末２からのリセット指示があるまで待つ(ステップＳ８１１)。
外部端末２からリセット指示があると、管理プロセッサ１４はフラッシュＲＯＭ１５に記憶された、クロスバスイッチ設定情報（図５）の次回接続先情報に従って、クロスバスイッチ制御バス１１４を制御する。即ち、図３に示すように、バスの接続先について、バス１０７とフラッシュＲＯＭ１３２を接続し、クロスバスイッチバス１１３とフラッシュＲＯＭ１３１を接続する。そして、クロスバスイッチ設定情報の次回接続先の情報を現在接続先にコピーし、更新した情報をフラッシュＲＯＭ１５に格納する(ステップＳ８１２)。
【００２６】
クロスバスイッチ１２が設定された後、管理プロセッサ１４はサーバ装置１の再起動を行うためにチップセット１０３にリセット信号を送り、サーバ装置１の起動または再起動を行う(ステップＳ８１３)。この動作によって、クロスバスイッチ１２の状態は図３の状態となり、サーバ装置１はクロスバスイッチ１２を介して接続された、フラッシュＲＯＭ１３２内の、更新されたファームウェアからシステムを起動する。
【００２７】
フラッシュＲＯＭ１３２の内容がファームウェアイメージと一致しなかった場合（ステップＳ８０８）、ファームウェア管理情報（図６）を読み出し、フラッシュＲＯＭ１３２の状態を「異常」に更新し、フラッシュＲＯＭ１３２に障害が発生したことをユーザに通知するため、ネットワーク１６を介して外部端末２にエラーメッセージを表示する(ステップＳ８１４)。
さらに、更新が失敗したことをユーザに通知するため、ネットワーク１６を介して外部端末２にエラーメッセージを表示する(ステップＳ８１５)。この場合、フラッシュＲＯＭ１３２が故障しているため、ファームウェア更新は中断する。
【００２８】
次に、図９Ａ、図９Ｂを参照して、本実施例のシステム設定復元処理の処理フローについて説明する。
前提として、初期状態ではクロスバスイッチ１２の状態は図２の状態であり、図５〜図７に示す種々の情報はフラッシュＲＯＭ１５に格納されている。更新されたファームウェアはフラッシュＲＯＭ１３２に格納されている。
さて、外部端末２から管理プロセッサ１４に対して装置リセット要求が発行されると、管理プロセッサ１４は、フラッシュＲＯＭ１５から、図５に示すクロスバスイッチ設定を読み出し、次回接続先と現在設定先が異なるかを確認する（Ｓ９０１１）。確認の結果、次回接続先と現在設定先が異なる場合はクロスバスイッチ１２の設定を更新して（Ｓ９０１２）、フラッシュＲＯＭ１３１とフラッシュＲＯＭ１３２の接続を切替え、図３に示す接続状態とする。また、図５に示すクロスバスイッチ設定の次回接続先を現在設定先に更新し、フラッシュＲＯＭ１５に書き込む(ステップＳ９０１)。
その後、管理プロセッサ１４はプロセッサ１０１にリセットを発行し、外部端末２にリセットが完了したことを通知する(ステップＳ９０２)。
【００２９】
サーバ装置１がリセットした後、サーバ装置１のプロセッサ１０１はクロスバスイッチ１２を介して、バス１０７に接続されているフラッシュＲＯＭ１３２からファームウェアを読み出し、プロセッサ１０１にてファームウェアの実行を開始する(ステップＳ９０３)。
プロセッサ１０１で実行されているファームウェアは、管理バス１１２を介して管理プロセッサ１４にファームウェア管理情報読み出し指示を発行し、要求を受け取った管理プロセッサ１４はフラッシュＲＯＭ１５から、図６に示すファームウェア管理情報を読み出し、バス１０７に接続されているフラッシュＲＯＭ１３２に関するファームウェア管理情報をプロセッサ１０１で実行されているファームウェアに転送する(ステップＳ９０４)。
【００３０】
この時、管理プロセッサ１４はステップＳ９０４で取得したファームウェア管理情報の設定復元欄を参照し、設定復元が必要かを判断する（Ｓ９０５１）。また、プロセッサ１０１で実行されているファームウェアも、同様にステップＳ９０４で取得したファームウェア管理情報の設定復元欄を参照し、設定復元が必要かを判断する（Ｓ９０５２）。その結果、設定復元が必要な場合は、管理バス１１２を介して管理プロセッサ１４にシステム設定復元データ要求を発行する。管理プロセッサ１４はシステム設定復元データ要求を受信すると、図７に示すシステム設定情報（以下、システム設定復元データという）をフラッシュＲＯＭ１５から読み出し、プロセッサ１０１で実行されているファームウェアにシステム設定復元データを転送する(ステップＳ９０５)。
【００３１】
ここで、システム設定情報をシステム設定復元データといった理由は、フラッシュＲＯＭ１５に格納されているシステム設定情報は、関係するファームウェアの全てのバージョンを包含しているのに対して、フラッシュＲＯＭ１３２（又は１３１）に保管されるファームウェアデータは更新されるバージョンだけが対象となる。そこで、その更新対照のバージョンを図７のシステム設定情報に組み入れて更新する場合、両者のデータ形式が変わるのでそれをシステム設定情報の変換と称し、その変換の前後のシステム設定情報をシステム設定復元データということにした。例えば、ファームウェアバージョン０１−００のファームウェアは、レコード番号の＃１−＃７の７つエントリに対応するデータがフラッシュＲＯＭ１３２に保管され、フラッシュＲＯＭ１５に格納されているシステム設定情報のうちレコード番号の＃１−＃７のエントリのみが復元されて更新される。なお、これはフラッシュＲＯＭ１３２（又は１３１）とフラッシュＲＯＭ１５のデータ形式が異なることを前提としたものなので、両者のデータ形式が同じであれば変換処理は不要となるであろう。
【００３２】
さて、話を元に戻して、プロセッサ１０１で実行されているファームウェアは、受信したシステム設定復元データをシステム設定情報に変換し（Ｓ９０６１）、フラッシュＲＯＭ１３２に書き込む(ステップＳ９０６)。
フラッシュＲＯＭ１３２にシステム設定復元データを書込んだ後、プロセッサ１０１で実行されているファームウェアは、管理バス１１２を介して管理プロセッサ１４にファームウェア管理情報更新指示を発行し、管理プロセッサ１４は図６に示すファームウェア管理情報のフラッシュＲＯＭ１３２の設定復元欄を不要に更新し、フラッシュＲＯＭ１５に書き込む(ステップＳ９０７)。
【００３３】
プロセッサ１０１で実行されているファームウェアは、またフラッシュＲＯＭ１３２からシステム設定を読み出し、システム設定を元にサーバ装置１のデバイス初期化処理及び動作テストを行う(ステップＳ９０８１)。
ステップＳ９０８が完了する時に、プロセッサ１０１で実行されているファームウェアは、管理バス１１２を介して管理プロセッサ１４に初期化エラー情報を含む初期化完了通知を発行する。その際、デバイス初期化エラーがあった場合は（Ｓ９０９１）、サーバ装置１１７のシステム起動を中止し、管理プロセッサ１４は初期化完了通知にてデバイス初期化エラーを検出した場合は（Ｓ９０９２）、外部端末２に対してサーバ装置１のエラーを通知する(ステップＳ９０９)。
【００３４】
デバイス初期化処理が全て正常に完了した場合、プロセッサ１０１で実行されているファームウェアはフラッシュＲＯＭ１３２からシステム設定を読み出し、システム設定を図７に示すシステム設定復元データの形式に変換し（Ｓ９１０１）、管理バス１１２を介して管理プロセッサ１４へシステム設定復元データの書込み要求を発行し、変換されたシステム設定復元データを転送する。
管理プロセッサは、受信したシステム設定復元データをフラッシュＲＯＭ１５に書き込む(ステップＳ９１０)。
【００３５】
プロセッサ１０１で実行されているファームウェアは、データ記憶装置１０６を制御し、データ処理部１０用のＯＳを起動する(ステップＳ９１１)。
上記の処理により、ファームウェアを更新した後、更新されたファームウェアのシステム設定を、ファームウェアの更新以前のファームウェアと同じ設定にすることができ、ファームウェア更新に伴うシステム設定を自動化することができる。
【００３６】
次に、図１０を参照して、ファームウェア復旧処理動作について説明する。
前提として、クロスバスイッチ１２は管理プロセッサ１４によって制御されて、図３の接続状態になっているとする。
サーバ装置１の管理プロセッサ１４は、ネットワークサービス(例えばＷｅｂサーバ)を起動し、ユーザからの外部端末２からのネットワーク１６を介したファームウェア復旧指示の準備を行う(ステップＳ１００１）。
ネットワークサービスを起動した後、管理プロセッサ１４は外部端末２からのクロスバスイッチ切替え指示(例えばパーソナルコンピュータのＷｅｂブラウザから管理プロセッサ１４のＷｅｂサーバへのアクセス)があるまで待つ(ステップＳ１００２）。
【００３７】
外部端末２からファームウェア復旧指示があった場合、管理プロセッサ１４はフラッシュＲＯＭ１５に格納されている、クロスバスイッチ設定情報（図５）のクロスバスイッチバス１１３に接続されている現在接続先の該当するフラッシュＲＯＭを参照して、フラッシュＲＯＭ１５に格納されている、図６に示すフラッシュＲＯＭ１３１の状態を確認する(ステップＳ１００３)。
確認の結果、切替え対象のフラッシュＲＯＭ１３１の状態が「正常」である場合、管理プロセッサ１４はフラッシュＲＯＭ１５に格納されている、クロスバスイッチ設定を、バス１０７の次回接続先をフラッシュＲＯＭ１３１に更新し、クロスバスイッチバス１１３の次回接続先をフラッシュＲＯＭ１３２に更新し、更新した内容をフラッシュＲＯＭ１５に格納する(ステップＳ１００４)。
【００３８】
管理プロセッサ１４はユーザにファームウェアの復旧が成功、及び、図６に示すフラッシュＲＯＭ１３１に格納されている、以前のファームウェアのバージョンを外部端末２に通知し、同時に更新されたファームウェアで起動するためには再起動が必要な旨、外部端末２に通知する（ステップＳ１００５）。
管理プロセッサ１４は外部端末２からのリセット指示があるまで待つ(ステップＳ１００６)。外部端末２からリセット指示があった場合、管理プロセッサ１４はフラッシュＲＯＭ１５内にあるクロスバスイッチ設定情報の次回接続先情報に従い、クロスバスイッチ制御バス１１４を制御し、図２に示すように、バスの接続先を、バス１０７とフラッシュＲＯＭ１３１を接続し、クロスバスイッチバス１１３とフラッシュＲＯＭ１３２を接続し、クロスバスイッチ設定情報の次回接続先の情報を現在接続先にコピーし、更新した情報をフラッシュＲＯＭ１５に格納する(ステップＳ１００７)。
クロスバスイッチ１２を設定した後、管理プロセッサ１４はサーバ装置１の再起動を行うためにチップセット１０３にリセット信号を送り、サーバ装置１の起動または再起動を行う(ステップＳ１００８)。
【００３９】
以上のように、本実施例によれば、外部端末からネットワークを介して、管理プロセッサにファームウェア更新を指示することで、遠隔地からファームウェアの更新を行うことができる。
管理プロセッサは、システムの動作に影響のない不揮発性メモリに書き込むことで、情報処理装置の主電源の状態及び稼働状況によらず、安全にファームウェアの更新を行うことができる。また、管理プロセッサは、不揮発性メモリにファームウェアデータを書き込んだ後に整合性のチェック(ベリファイ)を行い、ファームウェアデータの書き込み結果が正しい場合にクロスバスイッチを制御して不揮発性メモリを切り替えるため、一方の不揮発性メモリが故障している場合であっても、他方の不揮発性メモリに格納された従来のファームウェアを用いて、情報処理装置の動作を継続することができる。
【００４０】
また、ファームウェアを更新した後の再起動時に、ファームウェアは管理プロセッサから以前のセットアップ情報を取得し、自動的にシステム設定を復元することができ、従来のファームウェアのように、情報処理装置に対してユーザが手動でシステム設定を行う必要がない。
また、外部端末からネットワークを介して管理プロセッサに対して、ユーザの操作によりクロスバスイッチの接続を変更することができるため、更新後のファームウェアに不具合があった場合でも従来のファームウェアが格納された不揮発性メモリに接続を切り替えることにより、サーバ装置を起動してその処理動作を継続させることができる。
【符号の説明】
【００４１】
１：サーバ装置            １０：データ処理部  
１０１：プロセッサ        １０２：メインメモリ          １０３：チップセット  
１０４：入力装置          １０５：出力装置              １０６：データ記憶装置  
１０７：バス              １２：クロスバスイッチ        １４：管理プロセッサ  
１３１：フラッシュＲＯＭ  １３２：フラッシュＲＯＭ      １５：フラッシュＲＯＭ  
１１２：管理バス          １１３：クロスバスイッチバス  １１４：クロスバスイッチ制御バス  １６：ネットワーク          ２：外部端末。
【図１】
0005431111.tif 000002
【図２】
0005431111.tif 000003
【図３】
0005431111.tif 000004
【図４】
0005431111.tif 000005
【図５】
0005431111.tif 000006
【図６】
0005431111.tif 000007
【図７】
0005431111.tif 000008
【図８】
0005431111.tif 000009
【図９Ａ】
0005431111.tif 000010
【図９Ｂ】
0005431111.tif 000011
【図１０】
0005431111.tif 000012