(57)【特許請求の範囲】
【請求項１】
少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、
前記複数の処理装置を制御するシステム制御装置とを有し、
前記処理装置の各々は、前記ハードウェア資源を制御するファームウェアプログラムを格納する一対のメモリ領域を有し、
前記システム制御装置は、外部装置から受信した前記処理装置を制御する更新用ファームウェアプログラムを、前記処理装置の各々に送信し、前記処理装置の各々は、前記一対のメモリ領域の内、運用に使用されていない一のメモリ領域に書き込むとともに、
前記処理装置の前記一のメモリ領域に、前記更新用ファームウェアプログラムを書き込む前に、前記処理装置の各々の前記一対のメモリ領域の運用に使用されているファームウェアプログラムの版数を検出し、前記更新用ファームウェアプログラムとの互換性の有無を判定し、
前記互換性が無いと判断した場合に、前記書き込み後、前記処理装置に起動又は再起動を指示し、前記起動又は再起動を指示された前記処理装置は、前記一のメモリ領域を運用側に切り換え、前記一のメモリ領域に書き込まれた前記更新用ファームウェアプログラムで起動又は再起動し、
前記互換性が有ると判断した場合に、前記書き込み後の前記処理装置の次回の起動又は再起動により、前記一のメモリ領域を運用側に切り換え、前記一のメモリ領域に書き込まれた前記更新用ファームウェアプログラムで起動又は再起動する
ことを特徴とする情報処理装置。
【請求項２】
少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、
前記複数の処理装置を制御する一対のシステム制御装置とを有し、
前記処理装置の各々は、前記ハードウェア資源を制御するファームウェアプログラムを格納するメモリ領域を一対有し、
前記システム制御装置は、前記システム制御装置のハードウェア資源を制御する第２のファームウェアプログラムを格納するメモリ領域を一対有し、
前記システム制御装置は、外部装置から前記処理装置の更新用ファームウェアプログラムと更新用の前記第２のファームウェアプログラムとを一括して受信し、前記一対のシステム制御装置の内、アクティブ側に設定された一方のシステム制御装置が、前記受信した前記更新用の第２のファームウェアプログラムをスタンバイ側に設定された他方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込んだ後、前記アクティブ側の一方のシステム制御装置をスタンバイ側に、前記スタンバイ側の他方のシステム制御装置をアクティブ側に切り替え、前記アクティブ側に切り替えられた他方のシステム制御装置が、前記スタンバイ側に切り替えられた一方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記更新用の第２のファームウェアプログラムを書き込んだ後、前記処理装置の各々に、前記処理装置の更新用ファームウェアプログラムを送信し、前記処理装置の各々は、前記処理装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込む
ことを特徴とする情報処理装置。
【請求項３】
少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、前記複数の処理装置を制御するシステム制御装置とを有する情報処理装置のファームウェア更新方法において、
前記システム制御装置が、外部装置から前記処理装置を制御する更新用ファームウェアプログラムを受信するステップと、
前記システム制御装置が、前記処理装置の各々に前記更新用ファームウェアプログラムを送信する前に、前記処理装置の各々の一対のメモリ領域の運用に使用されているファームウェアプログラムの版数を検出し、前記更新用ファームウェアプログラムとの互換性の有無を判定するステップと、
前記システム制御装置が、前記受信した更新用ファームウェアプログラムを、前記処理装置の各々に送信するステップと、
前記処理装置の各々が、前記ハードウェア資源を制御するファームウェアプログラムを格納する前記一対のメモリ領域の内、運用に使用されていない一のメモリ領域に、前記送信されたファームウェアプログラムを書き込むステップと、
前記システム制御装置は、前記互換性が無いと判断した場合に、前記書き込み後、前記処理装置に起動又は再起動を指示し、前記起動又は再起動を指示された前記処理装置は、前記一のメモリ領域を運用側に切り換え、前記一のメモリ領域に書き込まれた前記更新用ファームウェアプログラムで起動又は再起動するステップと、
前記互換性が有ると判断した場合に、前記書き込み後の前記処理装置の次回の起動又は再起動により、前記一のメモリ領域を運用側に切り換え、前記一のメモリ領域に書き込まれた前記更新用ファームウェアプログラムで起動又は再起動するステップとを有する
ことを特徴とする情報処理装置のファームウェア更新方法。
【請求項４】
少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、前記複数の処理装置を制御する一対のシステム制御装置とを有する情報処理装置のファームウェア更新方法において、
前記システム制御装置は、外部装置から前記処理装置の更新用ファームウェアプログラムと前記システム制御装置のハードウェア資源を制御する更新用第２のファームウェアプログラムとを一括して受信するステップと、
前記受信した前記更新用第２のファームウェアプログラムを、前記システム制御装置の一対のメモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込むステップと、
前記システム制御装置が、前記更新用第２のファームウェアプログラムを書き込んだ後、前記処理装置の各々に、前記処理装置の更新用ファームウェアプログラムを送信するステップと、
前記処理装置の各々が、前記処理装置の一対のメモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記処理装置の更新用ファームウェアプログラムを書き込むステップとを有し、
前記更新用第２のファームウェアプログラムを書き込むステップは、
アクティブ側に設定された一方のシステム制御装置が、スタンバイ側に設定された他方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記更新用第２のファームウェアプログラムを書き込むステップと、
前記更新用第２のファームウェアプログラムを書き込んだ後、前記アクティブ側の一方のシステム制御装置をスタンバイ側に、前記スタンバイ側の他方のシステム制御装置をアクティブ側に切り替えるステップと、
前記アクティブ側に切り替えられた他方のシステム制御装置が、前記スタンバイ側に切り替えられた一方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記更新用第２のファームウェアプログラムを書き込むステップとを有する
ことを特徴とする情報処理装置のファームウェア更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理装置のファームウェア更新方法に関する。
【背景技術】
【０００２】
情報処理装置、例えば、サーバ・システムでは、演算処理装置としてのＣＰＵ（Central Processing Unit）や主記憶装置としてのメモリ等のハードウェア資源を、物理的又は論理的に、複数のパーティションに分割して、運用することが知られている。個々のパーティションは、ＣＰＵによるＯＳ（Operating System:オペレーティングシステム）の動作が可能であり、このＯＳの動作を介して、ＣＰＵによるアプリケーション業務（プログラム）の実行ができる。即ち、サーバ・システムは、ＯＳの動作可能な複数のパーティションを有し、複数の異なる又は同一のＯＳを動作する。
【０００３】
このサーバ・システムにおいて、個々のパーティションにおいて、システムの動作、運用、管理を行うファームウェアプログラムを使用する。このファームウェアプログラムは、必要に応じて、更新（アップデート）する必要がある。
【０００４】
このような、複数のパーティションが運用可能なサーバ・システムにおいて、パーティション内のファームウェアプログラム（以下、ファームウェア（ＦＷ：FirmWare）という）のアップデートの方法は、それぞれのパーティションごと，それぞれのファームウェアごとに、個別に指示する方法であった。
【０００５】
又、オンラインで、パーティションの管理を行うサービスプロセッサのファームウェアのアップデートを行うことにより、システムのパーティション運用中に、ファームウェアを更新する方法も知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−０７９１５５号公報
【特許文献２】特表２００５−５０２９７１号公報
【特許文献３】特開２００６−１４６７０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
複数のパーティションを運用しているサーバ・システムでは、パーティション内のファームウェアを更新する際に、ファームウェアのアップデートを実施するたびに，アップデート作業実施前に、パーティション（業務）の運用停止が、必要であった。また、ハードウェアを交換した場合には、ファームウェアの版数を確認するため、パーティションを起動し、版数を確認することも必要であった。
【０００８】
従って、ファームウェアの版数の確認などの作業量・作業時間が多大になっていた。また、実際の適用時には、ファームウェアのアップデート作業前から業務を停止する必要があり、業務停止時間(down  time)が長時間となっていた。
【０００９】
更に、従来のパーティション運用中のファームウェアのアップデート方法では、サービスプロセッサのファームウェアを、パーティション運用中に更新できるが、パーティション内のファームウェアを更新するには、同様にアップデート作業実施前に、パーティション（業務）の運用停止が必要であった。
【００１０】
しかも、ファームウェア間に非互換性が存在する時には，オンラインではなく、パーティション停止によるアップデートを実施する必要があり、結果として、業務停止時間がより長くなる。
【００１１】
本発明の目的は、パーティションの運用を停止せずに、パーティション内のファームウェアを更新する情報処理装置及び情報処理装置のファームウェア更新方法を提供することにある。
【課題を解決するための手段】
【００１２】
この目的の達成のため、情報処理装置は、少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、前記複数の処理装置を制御するシステム制御装置とを有し、前記処理装置の各々は、前記ハードウェア資源を制御するファームウェアプログラムを格納する一対のメモリ領域を有し、前記システム制御装置は、外部装置から受信した前記処理装置を制御する更新用ファームウェアプログラムを、前記処理装置の各々に送信し、前記処理装置の各々は、前記一対のメモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込むとともに、前記処理装置の前記一のメモリ領域に、前記更新用ファームウェアプログラムを書き込む前に、前記処理装置の各々の前記一対のメモリ領域の運用に使用されているファームウェアプログラムの版数を検出し、前記更新用ファームウェアプログラムとの互換性の有無を判定し、前記互換性が無いと判断した場合に、前記書き込み後、前記処理装置に起動又は再起動を指示し、前記起動又は再起動を指示された前記処理装置は、前記一のメモリ領域を運用側に切り換え、前記一のメモリ領域に書き込まれた前記更新用ファームウェアプログラムで起動又は再起動し、前記互換性が有ると判断した場合に、前記書き込み後の前記処理装置の次回の起動又は再起動により、前記一のメモリ領域を運用側に切り換え、前記一のメモリ領域に書き込まれた前記更新用ファームウェアプログラムで起動又は再起動する。又、情報処理装置は、少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、前記複数の処理装置を制御する一対のシステム制御装置とを有し、前記処理装置の各々は、前記ハードウェア資源を制御するファームウェアプログラムを格納するメモリ領域を一対有し、前記システム制御装置は、前記システム制御装置のハードウェア資源を制御する第２のファームウェアプログラムを格納するメモリ領域を一対有し、前記システム制御装置は、外部装置から前記処理装置の更新用ファームウェアプログラムと更新用の前記第２のファームウェアプログラムとを一括して受信し、前記一対のシステム制御装置の内、アクティブ側に設定された一方のシステム制御装置が、前記受信した前記更新用の第２のファームウェアプログラムをスタンバイ側に設定された他方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込んだ後、前記アクティブ側の一方のシステム制御装置をスタンバイ側に、前記スタンバイ側の他方のシステム制御装置をアクティブ側に切り替え、前記アクティブ側に切り替えられた他方のシステム制御装置が、前記スタンバイ側に切り替えられた一方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記更新用の第２のファームウェアプログラムを書き込んだ後、前記処理装置の各々に、前記処理装置の更新用ファームウェアプログラムを送信し、前記処理装置の各々は、前記処理装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込む。
【００１３】
又、この目的の達成のため、情報処理装置のファームウェア更新方法は、少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、前記複数の処理装置を制御するシステム制御装置とを有する情報処理装置のファームウェア更新方法において、前記システム制御装置が、外部装置から前記処理装置を制御する更新用ファームウェアプログラムを受信するステップと、前記システム制御装置が、前記処理装置の各々に前記更新用ファームウェアプログラムを送信する前に、前記処理装置の各々の一対のメモリ領域の運用に使用されているファームウェアプログラムの版数を検出し、前記更新用ファームウェアプログラムとの互換性の有無を判定するステップと、前記システム制御装置が、前記受信した更新用ファームウェアプログラムを、前記処理装置の各々に送信するステップと、前記処理装置の各々が、前記ハードウェア資源を制御するファームウェアプログラムを格納する前記一対のメモリ領域の内、運用に使用されていない一のメモリ領域に、前記送信されたファームウェアプログラムを書き込むステップと、前記システム制御装置は、前記互換性が無いと判断した場合に、前記書き込み後、前記処理装置に起動又は再起動を指示し、前記起動又は再起動を指示された前記処理装置は、前記一のメモリ領域を運用側に切り換え、前記一のメモリ領域に書き込まれた前記更新用ファームウェアプログラムで起動又は再起動するステップと、前記互換性が有ると判断した場合に、前記書き込み後の前記処理装置の次回の起動又は再起動により、前記一の前記メモリ領域を運用側に切り換え、前記一のメモリ領域に書き込まれた前記更新用ファームウェアプログラムで起動又は再起動するステップとを有する。又、情報処理装置のファームウェア更新方法は、少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、前記複数の処理装置を制御するシステム制御装置とを有する情報処理装置のファームウェア更新方法において、前記システム制御装置は、外部装置から前記処理装置の更新用ファームウェアプログラムと前記システム制御装置のハードウェア資源を制御する更新用第２のファームウェアプログラムとを一括して受信するステップと、前記受信した前記更新用第２のファームウェアプログラムを、前記システム制御装置の一対のメモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込むステップと、前記システム制御装置が、前記更新用第２のファームウェアプログラムを書き込んだ後、前記処理装置の各々に、前記処理装置の更新用ファームウェアプログラムを送信するステップと、前記処理装置の各々が、前記処理装置の一対のメモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記処理装置の更新用ファームウェアプログラムを書き込むステップとを有し、前記更新用第２のファームウェアプログラムを書き込むステップは、アクティブ側に設定された一方のシステム制御装置が、スタンバイ側に設定された他方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記更新用第２のファームウェアプログラムを書き込むステップと、前記更新用第２のファームウェアプログラムを書き込んだ後、前記アクティブ側の一方のシステム制御装置をスタンバイ側に、前記スタンバイ側の他方のシステム制御装置をアクティブ側に切り替えるステップと、前記アクティブ側に切り替えられた他方のシステム制御装置が、前記スタンバイ側に切り替えられた一方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記更新用第２のファームウェアプログラムを書き込むステップとを有する。
【発明の効果】
【００１４】
運用中の処理装置を監視するシステム制御装置が、ファームウェアを受信し、各処理装置の一対のメモリ領域の内、運用に使用されていない一のメモリ領域に書き込むため、各処理装置の運用を停止することなく、処理装置内のファームウェアの更新が可能となる。又、更新用ファームウェアの互換性の有無を判定し、通常オンライン・ファーム・アップデートが可能かを判断し、互換性がない場合に処理装置を起動又は再起動するため、互換性がある場合は運用を停止することなく、互換性のないファームウェアに更新しても、運用している処理装置の停止時間を短縮できる。更に、システム制御装置と処理装置との各々の更新用ファームウェアを一括して受信し、更新するため、システム制御装置及び処理装置のファームウェアの更新を一元的に且つ短時間で実行でき、且つシステム制御装置の更新成功後、処理装置に更新用ファームウェアを送信し、更新するため、システムの管理側であるシステム制御装置がいち早く適応でき、システム管理の運用性を確実にできる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態の情報処理装置の構成図である。
【図２】図１の情報処理装置におけるファームウェア更新処理の実施の形態の説明図である。
【図３】図２のファームウェア更新処理のフロー図である。
【図４】図３の更新処理のための互換性確認表の説明図である。
【図５】図３のファームウェア更新の動作説明図である。
【図６】図３で説明したＭＭＢファームウェア更新処理のフロー図である。
【図７】図６のスタンバイ側不揮発性メモリの更新動作説明図である。
【図８】図６のアクティブ側不揮発性メモリの更新動作説明図である。
【図９】図３のＢＭＣファームウェア及びＢＩＯＳファームウェアの更新処理のフロー図である。
【図１０】図３で説明した非互換時のＭＭＢファームウェア更新処理のフロー図である。
【図１１】図１０の動作説明図である。
【図１２】図３で説明したＢＭＣファームウェア及びＢＩＯＳファームウェアの更新処理のフロー図である。
【図１３】図１３は、図３のステップＳ２８、Ｓ３０，Ｓ３２の詳細処理フロー図である。
【発明を実施するための形態】
【００１６】
以下、実施の形態の例を、情報処理装置、ファームウェア更新方法、互換性のある場合のファームウェア更新処理、非互換性の場合のファームウェア更新処理、他の実施の形態の順で説明するが、開示の情報処理装置は、この実施の形態に限られない。
【００１７】
尚、以下の例では、ファームウェアプログラムは、システム全体のハードウェアの動作、運用、管理のための制御プログラムであり、例えば、ＢＩＯＳ（Basic Input Output System：ベーシック入出力システム）などである。
【００１８】
（情報処理装置）
図１は、本発明の一実施の形態の情報処理装置の構成図である。図１の情報処理装置は、サーバ・システムを示す。サーバ・システム１は、複数の処理装置としてのシステムボード（ＳＢ：System Board）３Ａ〜３Ｄと、いわゆるシステム制御装置（ＳＶＰ：SerVice Processor）としての管理ボード（ＭＭＢ:ManageMent Board）２Ａ，２Ｂとを有する。管理ボード２Ａ、２Ｂは、冗長系を構成し、一方が、アクティブ、他方がスタンバイ状態である。
【００１９】
各システムボード３Ａ〜３Ｄは、回路基板に、演算処理装置としてのＣＰＵ３４と、メモリ３５等を搭載して、構成され、ＣＰＵ３４が、ＯＳを動作し、且つＯＳの動作の元に、必要なアプリケーションプログラムを実行し、業務処理する。
【００２０】
各システムボード３Ａ〜３Ｄは、ＬＡＮ（Local Area Network）等の通信パス４を介し、管理ボード２Ａ、２Ｂに接続する。管理ボード２Ａ，２Ｂは、通信パス４を介し、各システムボード３Ａ〜３Ｄの状態監視、起動、停止制御等を行う。又、各システムボード３Ａ〜３Ｄは、図示しない他の通信パスを介し、コマンド、データの通信を行うことができる。
【００２１】
各管理ボード２Ａ，２Ｂは、回路基板に、外部通信部２０と、ネットワークインタフェースカード（ＮＩＣ：Network Interface Card）２４と、ＣＰＵ及びメモリ２２と、不揮発性メモリ２６Ａ，２６Ｂとを搭載して、構成される。外部通信部２０は、サーバ・システム１外の装置（例えば、ＰＣ（Personal Computer））９と接続し、接続された装置と通信を行う。
【００２２】
ＣＰＵ及びメモリ２２は、外部通信部２０と、ＮＩＣ２４と、不揮発性メモリ２６Ａ，２６Ｂに接続する。ＣＰＵ及びメモリ２２は、後述するように、ファームウェアプログラムの更新処理を実行する。不揮発性メモリ２６Ａ，２６Ｂは、書き換え可能である不揮発性メモリで構成され、例えば、フラッシュメモリ（Flash Memory）が好適である。
【００２３】
不揮発性メモリ２６Ａ，２６Ｂは、冗長構成のため、一対設けられ、バックアップ用ファームウェアプログラム（ＢＩＯＳ（Basic Input/Output System），ＢＭＣファームウェア）の格納領域４０と、ファームウェアの互換性を確認するための情報（図９で後述する）の格納領域４２と、ＭＭＢ２Ａ．２Ｂのファームウェアプログラムの格納領域４４とを有する。ＮＩＣ２４は、各システムボード３Ａ〜３Ｄと、通信パス４を介し通信するために設けられる。
【００２４】
又、各システムボード３Ａ〜３Ｄは、前述のＣＰＵ３４と、メモリ３５と、ボード制御コントローラ（ＢＭＣ：Base Management Controller）３０と、ＢＩＯＳを格納する一対の不揮発性メモリ（ＢＩＯＳメモリという）３６Ａ，３６Ｂと、ＢＭＣ３０のファームウェアを格納する一対の不揮発性メモリ(ＢＭＣメモリという)３７Ａ，３７Ｂと、これらを接続する通信バス３８とを有する。
【００２５】
ＢＭＣ３０は、通信パス４を介し通信するためのネットワークインタフェースカード（ＮＩＣ：Network Interface Card）３１と、ファームウェア更新処理等を行うＣＰＵ３２とを有する。ＢＭＣ３０は、システムボード３Ａ〜３Ｄ内の動作監視、状態制御等を行う。
【００２６】
一対のＢＩＯＳメモリ３６Ａ，３６Ｂは、冗長系を構成し、一方が、アクティブ状態、他方が、スタンバイ状態である。又、一対のＢＭＣメモリ３７Ａ，３７Ｂも、冗長系を構成し、一方が、アクティブ状態、他方が、スタンバイ状態である。これらのメモリ３６Ａ，３６Ｂ，３７Ａ，３７Ｂは、書き換え可能である不揮発性メモリで構成され、例えば、フラッシュメモリ（Flash Memory）が好適である。
【００２７】
一方、外部装置（例えば、ＰＣ）９は、遠隔地からインターネットを介し、サーバ・システム１にアクセスする。外部装置９は、ブラウザのＷｅｂ画面を操作して、ファームウェアプログラムを、サーバ・システム１にアップロードする。
【００２８】
このサーバ・システムでは、システムボード３Ａ〜３Ｄの各々が、個々のＯＳが動作する区画であるパーティション（Partition）を構成する。ここでいうパーティションは、所謂、物理パーティションである。このような情報処理装置では、機能改善や障害修正などのため、ファームウェアプログラムを、新たなファームウェアプログラムに更新する。
【００２９】
又、サーバ・システムは、各パーティション内で、独立にＯＳに基づいて、情報処理が実行されるため、ファームウェアプログラムを更新する際に、パーティション内の動作を停止しないことが望ましい。
【００３０】
（ファームウェア更新方法）
図２は、図１の情報処理装置におけるファームウェア更新処理の実施の形態の説明図、図３は、図２のファームウェア更新処理のフロー図であり、図４は、図３の処理のための互換性確認表の説明図、図５は、図３のファームウェア更新の動作説明図である。
【００３１】
図２に示すように、リモートＰＣ（外部装置）９は、各版（ｖ．０１版、ｖ．０２版、ｖ．０３版）のファームウェアプログラム１００−１〜１００−３を、記憶している。サーバ・システム１は、機能改善や障害修正などのために、ファームウェアのアップデートが必要となる場合に、外部装置１から、更新のためのファームウェアプログラム一式を、受信する。
【００３２】
この例では、サーバ・システム１のＭＭＢ２Ａは、ｖ．０２版のファームウェア１００−２を既に、受信し、運用しているので、それより改善されたｖ．０３版のファームウェア１００−３を、受信する。ここで、ファームウェアプログラム一式とは、ＭＭＢファームウェア（ＭＭＢ  ＦＷ）と、ＢＩＯＳファームウェア(ＢＩＯＳ  ＦＷ)と、ＢＭＣファームウェア(ＢＭＣ  ＦＷ)とである。
【００３３】
ＭＭＢ２Ａは、ファームウェア一式を格納し，ファームウェア・アップデートを実施する。即ち、ＭＭＢ２Ａは、ファームウェア一式のＭＭＢファームウェアを、一対の不揮発性メモリ２６Ａ，２６Ｂの内、待機中の不揮発性メモリ２６Ａに書き込む。
【００３４】
又、ＭＭＢ２Ａは、ファームウェア一式のＢＩＯＳファームウェアを、ＢＭＣファームウェアを、各システムボード３Ａ〜３ＤのＢＭＣ３０に送信する。ＢＭＣ３０は、ＢＩＯＳファームウェアを、一対のＢＩＯＳ不揮発性メモリ３６Ａ，３６Ｂの内、待機中の不揮発性メモリ３６Ａに書き込む。ＢＭＣ３０は、ＢＭＣファームウェアを、一対のＢＭＣ不揮発性メモリ３７Ａ，３７Ｂの内、待機中の不揮発性メモリ３７Ａに書き込む。
【００３５】
以下、図４を用いて、図３により、詳細に説明する。
【００３６】
（Ｓ１０）リモートＰＣ９が、サーバ・システム１に、ネットワークを介してアクセスする。このアクセスする。このリモートＰＣ９によるアクセスにより、リモートＰＣ９に、アクティブ側の管理ボード（ＭＭＢ）２ＡのＷｅｂ画面が表示される。リモートＰＣ９の操作員は、このＷｅｂ画面で、ファームウェア・アップデートの項目を選び、クリックして、ファームウェアのアップデート作業を開始する。リモートＰＣ９において、サーバ・システム１で使用される各種ファームウェアは、個別の版数で管理され、一式として扱われて、一つの総合版数により管理される。
【００３７】
このファームウェア一式には、他の世代のファーム間での互換性確認表（図４で後述する）が含まれる。ファームウェア一式は、事前に、リモートＰＣ９などの作業端末に用意しておく。リモートＰＣ９からアクセスするＷｅｂ画面からアップデートが実行されると，リモートＰＣ９から、アクティブ側ＭＭＢ２Ａへ、ファームウェア一式のアップロードが開始される。
【００３８】
（Ｓ１２）アクティブ側ＭＭＢ２Ａは、転送後、アップデートを開始する。ファームウェアのアップデートの実行に先立ち、ＭＭＢ２Ａは、不揮発性メモリ２６Ａに格納されているＭＭＢファームウェアの版数を検出する。又、パーティション（システムボード）３Ａ〜３Ｄの不揮発性メモリ３６Ａ，３６Ｂ，３７Ａ，３７Ｂに格納されているファームウェアについて、パーティション３Ａ〜３Ｄが起動されていなくても、不揮発性メモリ３６Ａ、３６Ｂ、３７Ａ、３７Ｂ自体は、常時通電されている。このため、ファームウェアのアップデートの管理元であるＭＭＢ２Ａは、各パーティション３Ａ〜３Ｄに問い合わせて、ＢＩＯＳ，ＢＭＣの版数情報を、アップデート実行前に検出する。
【００３９】
ＭＭＢ２Ａは、受信したファームウェア一式に同梱されるファーム間の互換表４２により、ファームウェア間の互換性を確認する。図４に示すように、ＭＭＢ２Ａは、アップデートするファームウェア間版数の互換性を、システム管理の要となるＭＭＢファームウェアを基点にし、最新版ＭＭＢファームウェアと運用中のシステムボード側のファームウェア間の情報として、互換表４２に記述する。
【００４０】
図４は、総合版数（Ｖ０１〜Ｖ０５）と、各総合版数のＭＭＢ版数と、ＢＭＣ版数、ＢＩＯＳ版数とを記述する。ここでは、第５版のファームウェアに更新する場合の受信した互換表を例示する。この互換表では、ファームウェアの第１版から第５版までの総合版数（Ｖ０１〜Ｖ０５）と、各総合版数のＭＭＢ版数と、ＢＭＣ版数、ＢＩＯＳ版数と、最新版の第５版のファームウェアに対する旧版の第１〜第４版のファームウェアの後方互換性（Backward Compatibility）の有無とを、記述する。図４の例では、「×」印で示すように、第５版のファームウェアに対し、第１版のファームウェアのみが、後方互換性なし（非互換）であることを示す。
【００４１】
そして、ＭＭＢ２Ａは、検出したＭＭＢ，ＢＭＣ、ＢＩＯＳの版数で、図４の互換表を参照し、受信したファームウェアと、各パーティションの現在のファームウェアとの互換性を確認する。そして、ＭＭＢ２Ａは、確認結果により，対象とする全システムボードが、通常のオンライン・ファーム・アップデートが可能かどうかを判断する。
【００４２】
（Ｓ１４）ＭＭＢ２Ａは、通常のオンライン・ファーム・アップデートが可能と判断すると、Ｓ１６のファーム間に非互換性なしの更新処理を選択し、通常のオンライン・ファーム・アップデートが可能でないと判断すると、ステップＳ２４のファーム間に非互換性ありの更新処理を選択する。
【００４３】
（Ｓ１６）ＭＭＢ２Ａは、通常オンライン可能である場合（ファーム間に非互換性がない場合）には、ＭＭＢのファームウェアの更新を実行する。即ち、ＭＭＢ２Ａは、ＭＭＢファームウェアを、不揮発性メモリ２６ＡのＭＭＢファームウェア領域４４に書込む。この書き込まれたＭＭＢファームウェアは、再起動後に反映される。図１のように、ＭＭＢ２Ａ，２Ｂが、冗長系で運用する場合は、一方のＭＭＢ（ここでは、２Ｂ）を、スタンバイ側とし、他方のＭＭＢ２Ａを、アクティブ側とする。
【００４４】
そして，アクティブ側ＭＭＢ２Ａが、スタンバイ側のＭＭＢ２Ｂからアクティブ側のＭＭＢ２Ａの順で、アップデートする。これにより、ＭＭＢ２Ａ，２Ｂが実施しているシステム管理・制御の空白時間を防止できる。このステップは，パーティション３Ａ〜３Ｄが運用中でも停止中でも、実施できる。ＭＭＢ２Ａ，２Ｂは、一元的にシステム管理を行うコンポーネントであるため、そのため、障害修正などが施された最新版のファームウェアに、いち早く適応しておく必要があるため、一番先にＭＭＢ２Ａ，２Ｂのファームウェア更新を実行する。
【００４５】
（Ｓ１８）アクティブ側ＭＭＢ２Ａは、アクティブ側とスタンバイ側の不揮発性メモリ２６ＡへのＭＭＢのファームアップが完了した後に、パーティションを構成するシステムボード側のファームウェアの更新を実行する。この工程は、複数のパーティションが存在した場合には、各パーティションのシステムボード毎に、並行して実施する。また、この工程は、パーティションが運用中でも、停止中でも実施できる。即ち、ＭＭＢ２Ａは、各システムボード３Ａ〜３Ｄに存在するＢＭＣ３０に、Ｉ２Ｃ（Inter-Integrated Circuit）インタフェース等の通信パス４により通信して，ファームウェアの更新を指示する。ＭＭＢ２Ａは、各システムボード３Ａ〜３ＤのＢＭＣ３０に、通信パス４を介し、ファームウェア更新用のデータ（ＢＩＯＳファームウェア、ＢＭＣファームウェア）を転送する。
【００４６】
ＢＭＣ３０のＣＰＵ３２は、ファームウェアの更新処理を実行する。即ち、ＢＭＣ３０のＣＰＵ３２は、スタンバイ側のＢＩＯＳ不揮発性メモリ３６Ａに、ＢＩＯＳファームウェアを、スタンバイ側のＢＭＣ不揮発性メモリ３７Ａに、ＢＭＣファームウェアを、書き込み、更新する。
【００４７】
このようにして、ＭＭＢ２Ａは、各パーティションの運用を停止することなく、全てのシステムボード３Ａ〜３Ｄのファームウェアの書込みを完了する。
【００４８】
（Ｓ２０）そして、ＭＭＢ２Ａは、次回のパーティションの起動・再起動がなされた直後に、ＭＭＢ２Ａは、パーティションの異常による再起動でないか否かを検出する。そして、ＭＭＢ２Ａは、パーティションの異常による再起動でないことを確認した場合に、不揮発性メモリ２６Ａをアクティブ側に、不揮発性メモリ２６Ｂをスタンバイ側に切り換える。又、ＭＭＢ２Ａは、各システムボード３Ａ〜３ＤのＢＩＯＳ不揮発性メモリ３６Ａをアクティブに、ＢＩＯＳ不揮発性メモリ３６Ｂをスタンバイに、切り替え、ＢＭＣ不揮発性メモリ３７Ａをアクティブに、ＢＭＣ不揮発性メモリ３７Ｂをスタンバイに切り替える。ＭＭＢ２Ａは、アップデートが完了していない前に、パーティションにおいて、異常が発生し、リセットが起きた場合には、前述の切り替えを実行せずに、元のファームウェア（ＢＩＯＳ不揮発性メモリ３６Ｂ、ＢＭＣ不揮発性メモリ３７Ｂの書き換えられていないファームウェア）で、起動する。
【００４９】
（Ｓ２２）ＭＭＢ２Ａは、パーティションが正常に起動でき、最新ファームウェアが反映された場合は，ＭＭＢ２ＡのＷｅｂ画面が、更新されたファーム版数を表示する。リモートＰＣ９は、このＷｅｂ画面を表示するため、ＰＣの操作員は、このＷｅｂ画面で、更新されたファーム版数を確認し、アップデートを完了する。
【００５０】
（Ｓ２４）一方、ステップＳ１４で、ファームウェア間の非互換が存在すると判定された場合には、ＭＭＢのファームウェアの更新を実行する。ここでは、ＭＭＢ２Ａは、ＭＭＢファームウェアを、バックアップ側の不揮発性メモリ２６ＢのＭＭＢファームウェア領域４４に書込む。即ち、バックアップ側のみ更新する。この時点でのＭＭＢの再起動による、適用ファームの反映は行わない。
【００５１】
（Ｓ２６）ＭＭＢ２Ａは、バックアップ側の不揮発性メモリ２６ＢへのＭＭＢのファームアップが完了した後に、パーティションであるシステムボード側のファームウェアの更新を実行する。この工程は、複数のパーティションが存在した場合には、各パーティションのシステムボード毎に、並行して実施する。また、この工程は、パーティションが運用中でも、停止中でも実施できる。即ち、ＭＭＢ２Ａは、各システムボード３Ａ〜３Ｄに存在するＢＭＣ３０に、Ｉ２Ｃインタフェース等の通信パス４により通信して，ファームウェアの更新を指示する。ＭＭＢ２Ａは、各システムボード３Ａ〜３ＤのＢＭＣ３０に、通信パス４を介し、ファームウェア更新用のデータ（ＢＩＯＳファームウェア、ＢＭＣファームウェア）を転送する。
【００５２】
ＢＭＣ３０のＣＰＵ３２は、ファームウェアの更新処理を実行する。即ち、ＢＭＣ３０のＣＰＵ３２は、スタンバイ側のＢＩＯＳ不揮発性メモリ３６Ａに、ＢＩＯＳファームウェアを、スタンバイ側のＢＭＣ不揮発性メモリ３７Ａに、ＢＭＣファームウェアを、書き込み更新する。
【００５３】
このようにして、ＭＭＢ２Ａは、各パーティションの運用を停止することなく、全てのシステムボード３Ａ〜３Ｄのファームウェアの書込みを完了する。
【００５４】
（Ｓ２８）この後、リモートＰＣから、ＭＭＢ２Ａに、全ての運用中のパーティションの再起動を指示する。ＭＭＢ２Ａは、全ての運用中のパーティションを再起動開始（ｓｔａｒｔ）指示した後、ＭＭＢの起動待ち合わせのため、再起動開始指示したパーティションの起動を抑止(停止)する。
【００５５】
（Ｓ３０）ＭＭＢ２Ａは、パーティションの再起動の停止を確認すると、ＭＭＢファームウェアの起動パスを切り替える。即ち、ＭＭＢ２Ａは、ＭＭＢファームウェアが更新されたバックアップ側の不揮発性メモリ２６Ｂを、アクティブ側とし、その不揮発性メモリ２６ＢのＭＭＢファームアップを読み出し、ＭＭＢ２Ａの再起動を実行する。
【００５６】
（Ｓ３２）ＭＭＢ２Ａの正常起動を確認した後に、ＭＭＢ２Ａは、抑止されていたパーティションを再起動する。ＭＭＢ２Ａは、パーティションが、正常に起動したか否かを確認する。尚、ステップＳ２６で、ＢＭＣ３０がファームウェアを更新した事を認識しているため、パーティションの再起動では、スタンバイ側のＢＩＯＳ不揮発性メモリ３６Ａをアクティブ側に切り替えるとともに、スタンバイ側のＢＭＣ不揮発性メモリ３７Ａを、アクティブ側に切り替える。そして、更新されたＢＭＣファームウェアと、ＢＩＯＳファームウェアを読み出してから、再起動する。
【００５７】
（Ｓ３４）ＭＭＢ２Ａは、最新ファームウェアが反映され、パーティションが正常に起動できた場合は，ＭＭＢ２ＡのＷｅｂ画面が、更新されたファーム版数を表示する。リモートＰＣ９は、このＷｅｂ画面を表示するため、ＰＣの操作員は、このＷｅｂ画面で、更新されたファーム版数を確認し、アップデートを完了する。
【００５８】
図５は、本実施の形態でのファームウェア更新のタイムチャートａｓと、従来の方法でのファームウェア更新のタイムチャートｂｓとの比較図である。ここでは、２種類のファームウェアＡ、Ｂを更新する例で説明する。
【００５９】
従来例ｂｓでは、パーティションを停止し、ファームウェアＡを更新し、更新後、パーティションを起動し、版数を確認する。次に、再度、パーティションを停止し、ファームウェアＢを更新し、更新後、パーティションを起動し、版数を確認する。パーティションを停止し、オフライン更新するため、ダウンタイム（down time）は、長い。
【００６０】
一方、本実施の形態ａｓでは、パーティションを停止せずに、一括して、ファームウェアＡ、Ｂを更新し、パーティションを再起動し、版数を確認する。このため、パーティションを停止せずに、一括して、ファームウェアＡ、Ｂを更新するため、ダウンタイムは、従来例ｂｓよりも短くてすむ。例えば、従来例では、２〜３時間のダウンタイムであったものを、本実施の形態では、数十分のダウンタイムで済む。
【００６１】
このように、大型サーバなどの複数ＯＳが動作可能な複数のパーティションを運用することができるサーバ・システムにおいて、ハードウェアを管理・監視・調整する全ファームウェア種について、ユーザ・インタフェースを介して、パーティションの運用中に、一度にまとめてアップデートできる。
【００６２】
又、ファームウェア・アップデートを、パーティション起動中に、ＯＳの動作を止めることなく，更新するファームウェアをメモリに書き込み，パーティションの再起動だけの運用停止を行うだけで，ファームウェア・アップデートを実現できる。
【００６３】
ここでは、２種類のファームウェアＡ，Ｂ更に、複数あるファームウェア間での不整合がある場合であっても、不整合があることをアップデート前に検出し、運用しているパーティションの停止をせずに、オンラインでアップデートが実行でき、パーティションの再起動だけの業務運用停止だけで、ファームウェアのアップデートが実施できる。
【００６４】
ファームウェアを格納する不揮発メモリ保存領域を、アクティブ側とバックアップ側の冗長系で構成しており、バックアップ側のみを更新するため、運用中のパーティションの阻害にならず、且つファームウェアのアップデートを実施する前に、各ファームウェアの版数を知ることができる。又、停止中のパーティションを、ファームウェア版数を知るためだけのために、起動する必要がない。
【００６５】
しかも、各種のファームウェアを一式として取り扱い、また最新版ファームウェアの旧版ファーム世代に対する後方互換性の情報を同時に格納するため、一括ファームウェアのアップデートの実行が、一元的管理にて実施できる。
【００６６】
（互換性のある場合のファームウェア更新処理）
次に、図３で説明した互換性のあるファームウェア更新処理（Ｓ１６，Ｓ１８）を、詳細に説明する。図６は、図３で説明したＭＭＢファームウェア更新処理のフロー図であり、図７、図８は、図６の動作説明図である。以下、図７、図８を参照して、図６の処理フローを説明する。
【００６７】
（Ｓ４０）アクティブ側ＭＭＢ２Ａは、通常オンライン可能である場合（ファーム間に非互換性がない場合）には、ＭＭＢのファームウェアの更新を実行する。即ち、図７に示すように、アクティブ側ＭＭＢ２Ａは、ＭＭＢファームウェアを、スタンバイ側ＭＭＢ２Ｂのバックアップ側不揮発性メモリ２６Ｂ（NAND  flash Bと記す）のＭＭＢファームウェア領域４４に書込む。ＭＭＢ２Ａは、ファームウェアの更新について書き込み不成功であれば、エラー処理する。
【００６８】
（Ｓ４２）ＭＭＢ２Ａは、ファームウェアの更新について書き込み成功と判断すると、ＭＭＢ２Ａは、スタンバイ側ＭＭＢ２Ｂの不揮発性メモリ２６Ｂを、アクティブ側に、不揮発性メモリ２６Ａをスタンバイ側に切り替える（即ち、ファームウェアの起動パスを切り替える）。そして、ＭＭＢ２Ａは、スタンバイ側ＭＭＢ２Ｂを、再起動（リセット）する。
【００６９】
（Ｓ４４）図８に示すように、アクティブ側ＭＭＢ２Ａは、ＭＭＢファームウェアを、スタンバイ側ＭＭＢ２Ｂのスタンバイに切り替えられた不揮発性メモリ２６Ａ（NAND  flash Aと記す）のＭＭＢファームウェア領域４４に書込む。ＭＭＢ２Ａは、ファームウェアの更新について書き込み不成功であれば、エラー処理する。
【００７０】
（Ｓ４６) ＭＭＢ２Ａは、ファームウェアの更新について書き込み成功と判断すると、スタンバイ側ＭＭＢ２Ｂの起動完了かを判定する。即ち、ＭＭＢ２Ａは、スタンバイ側ＭＭＢ２Ｂの不揮発性メモリ２６Ｂ、２６Ａをリードし、ファームウェアのチエックサムと版数を確認して、起動が完了したかを判定する。ＭＭＢ２Ａは、スタンバイ側ＭＭＢ２Ｂの起動が不成功と判断すると、エラー処理を行う。
【００７１】
（Ｓ４８）ＭＭＢ２Ａは、スタンバイ側ＭＭＢ２Ｂの起動が成功と判断すると、スタンバイ側ＭＭＢ２Ｂをアクティブ側に、ＭＭＢ２Ａをスタンバイ側に切り替える。
【００７２】
（Ｓ５０）アクティブ側に切り替えられたＭＭＢ２Ｂは、スタンバイ側に切り替えられたＭＭＢ２Ａに対し、ステップＳ４０〜Ｓ４６の処理を行う。
【００７３】
（Ｓ５２）ＭＭＢ２Ｂは、スタンバイ側のＭＭＢ２Ａの起動完了成功と判断すると、スタンバイ側のＭＭＢ２Ａをアクティブ側に、アクティブ側のＭＭＢ２Ｂである自分自身をスタンバイ側に切り替え、元の状態に戻す。これにより、ＭＭＢファームウェアの更新を完了する。
【００７４】
このようにして、ＭＭＢ２Ａ，２ＢのＭＭＢファームウェアを更新するとともに、ＭＭＢ２Ａ，２Ｂが実行しているシステム管理・制御の空白時間を防止できる。これらのステップは，パーティション３Ａ〜３Ｄが運用中でも停止中でも、実施できる。
【００７５】
次に、ＢＭＣファームウェア及びＢＩＯＳファームウェアの更新処理を、図９のＢＭＣファームウェア及びＢＩＯＳファームウェアの更新処理のフロー図により、説明する。
【００７６】
（Ｓ６０）アクティブ側ＭＭＢ２Ａは、各システムボード３Ａ〜３Ｄに存在するＢＭＣ３０に、Ｉ２Ｃインタフェース等の通信パス４により通信して，ファームウェアの更新を指示する。ＭＭＢ２Ａは、各システムボード３Ａ〜３ＤのＢＭＣ３０に、通信パス４を介し、ＢＭＣファームウェアを転送する。
【００７７】
（Ｓ６２）ＢＭＣ３０のＣＰＵ３２は、ファームウェアの更新処理を実行する。即ち、ＢＭＣ３０のＣＰＵ３２は、スタンバイ側のＢＭＣ不揮発性メモリ３７Ａに、ＢＭＣファームウェアを、書き込み更新する。ＢＭＣ３０のＣＰＵ３２は、ＢＭＣファームウェアの書き込みが不成功であれば、エラー処理を行う。
【００７８】
（Ｓ６４) ＢＭＣ３０のＣＰＵ３２は、ＢＭＣファームウェアの書き込みが成功と判断すると、ＭＭＢ２Ａにその旨を通知する。ＭＭＢ２Ａは、各システムボード３Ａ〜３ＤのＢＭＣ３０に、Ｉ２Ｃ等の通信パス４を介し、ＢＩＯＳファームウェアを転送する。ＢＭＣ３０のＣＰＵ３２は、スタンバイ側のＢＩＯＳ不揮発性メモリ３６Ａに、ＢＩＯＳファームウェアを、書き込み、更新する。ＢＭＣ３０のＣＰＵ３２は、ＢＩＯＳファームウェアの書き込みが不成功であれば、エラー処理を行う。ＢＭＣ３０のＣＰＵ３２は、ＢＩＯＳファームウェアの書込みが成功と判断すると、ＭＭＢ２Ａにその旨を通知する。これにより、システムボードのファームウェアの書込みを完了する。
【００７９】
このようにして、ＭＭＢ２Ａは、システムボードの運用に使用していないスタンバイ側の不揮発性メモリのみに、ＢＭＣファームウェアとＢＩＯＳファームウェアの各ファームウェアを書き込み更新するため、各パーティションの運用を停止することなく、全てのシステムボード３Ａ〜３Ｄのファームウェアの書込みを完了できる。
【００８０】
（非互換性の場合のファームウェア更新処理）
次に、図３で説明した非互換性の場合のファームウェア更新処理（Ｓ２４，Ｓ２６、Ｓ２８，Ｓ３０、Ｓ３２）を、詳細に説明する。図１０は、図３で説明した非互換時のＭＭＢファームウェア更新処理のフロー図であり、図１１は、図１０の動作説明図である。以下、図１１を参照して、図１０の処理フローを説明する。
【００８１】
（Ｓ７０）アクティブ側ＭＭＢ２Ａは、通常オンライン可能である場合（ファーム間に非互換性がある場合）には、ＭＭＢのファームウェアの更新を実行する。即ち、図１１に示すように、アクティブ側ＭＭＢ２Ａは、ＭＭＢファームウェアを、スタンバイ側ＭＭＢ２Ｂのバックアップ側不揮発性メモリ２６Ｂ（NAND  flash Bと記す）のＭＭＢファームウェア領域４４に書込む。ＭＭＢ２Ａは、ＭＭＢファームウェアの書き込みが不成功であれば、エラー処理を行う。
【００８２】
（Ｓ７２）ＭＭＢ２Ａは、ＭＭＢファームウェアの書き込みが成功であると判断すると、スタンバイ側ＭＭＢ２Ｂをアクティブ側に、ＭＭＢ２Ａをスタンバイ側に切り替える。
【００８３】
（Ｓ７４）アクティブ側に切り替えられたＭＭＢ２Ｂは、スタンバイ側に切り替えられたＭＭＢ２Ａに対し、ステップＳ７０の処理を行う。
【００８４】
（Ｓ７６）ＭＭＢ２Ｂは、スタンバイ側のＭＭＢ２Ａの起動完了成功と判断すると、スタンバイ側ＭＭＢ２Ａをアクティブに、アクティブ側のＭＭＢ２Ｂである自分自身をスタンバイに切り替え、元の状態に戻す。これにより、ＭＭＢファームの更新を完了する。
【００８５】
このようにして、ファームウェアが非互換性である場合には、ＭＭＢ２Ａ，２Ｂのスタンバイ側の不揮発性メモリ２６Ｂのみ、ＭＭＢファームウェアを更新する。このため、ＭＭＢ２Ａが実施しているシステム管理・制御に影響なく、非互換のファームウェアに更新できる。
【００８６】
次に、非互換のＢＭＣファームウェア及びＢＩＯＳファームウェアの更新処理を、図１２のＢＭＣファームウェア及びＢＩＯＳファームウェアの更新処理のフロー図により説明する。
【００８７】
（Ｓ８０）アクティブ側ＭＭＢ２Ａは、各システムボード３Ａ〜３Ｄに存在するＢＭＣ３０に、Ｉ２Ｃインタフェース等の通信パス４により通信して，ファームウェアの更新を指示する。ＭＭＢ２Ａは、各システムボード３Ａ〜３ＤのＢＭＣ３０に、Ｉ２Ｃインタフェース等の通信パス４を介し、ＢＭＣファームウェアを転送する。
【００８８】
（Ｓ８２）ＢＭＣ３０のＣＰＵ３２は、ＢＭＣファームウェアの更新処理を実行する。即ち、ＢＭＣ３０のＣＰＵ３２は、スタンバイ側のＢＭＣ不揮発性メモリ３７Ａに、ＢＭＣファームウェアを、書き込み、更新する。ＢＭＣ３０のＣＰＵ３２は、ＢＭＣファームウェアの書き込みが不成功であれば、エラー処理を行う。
【００８９】
（Ｓ８４) ＢＭＣ３０のＣＰＵ３２は、ＢＭＣファームウェアの書き込みが成功であると判断すると、ＭＭＢ２Ａにその旨を通知する。ＭＭＢ２Ａは、各システムボード３Ａ〜３ＤのＢＭＣ３０に、Ｉ２Ｃ等の通信パス４を介し、ＢＩＯＳファームウェアを転送する。ＢＭＣ３０のＣＰＵ３２は、スタンバイ側のＢＩＯＳ不揮発性メモリ３６Ａに、ＢＩＯＳファームウェアを、書き込み更新する。ＢＭＣ３０のＣＰＵ３２は、ＢＭＣファームウェアの書き込みが不成功であれば、エラー処理を行う。ＢＭＣ３０のＣＰＵ３２は、ＢＭＣファームウェアの書込みが成功と判断すると、ＭＭＢ２Ａにその旨を通知する。これにより、システムボードのファームウェアの書込みを完了する。
【００９０】
このようにして、ＭＭＢ２Ａは、システムボードの運用に使用していないスタンバイ側の不揮発性メモリのみに、ファームウェアを書き込み更新するため、各パーティションの運用を停止することなく、全てのシステムボード３Ａ〜３Ｄのファームウェアの書込みを完了できる。
【００９１】
次に、図１３は、図３のステップＳ２８、Ｓ３０，Ｓ３２の詳細処理フロー図である。
【００９２】
（Ｓ９０）リモートＰＣから、ＭＭＢ２Ａに、全ての運用中のパーティションの再起動を指示する。ＭＭＢ２Ａは、全ての運用中のパーティションを再起動開始（ｓｔａｒｔ）指示し、運用中のパーティションの全てが、停止しているか、再起動（ｓｔａｒｔ）したかを確認する。ＭＭＢ２Ａは、運用中のパーティションの全てが、停止しているか、再起動（ｓｔａｒｔ）しなかった場合には、エラー処理を行う。
【００９３】
（Ｓ９２）ＭＭＢ２Ａは、ＭＭＢの起動待ち合わせのため、再起動開始指示したパーティションの起動を抑止(停止)する。  
【００９４】
（Ｓ９４）ＭＭＢ２Ａは、パーティションの再起動の停止を確認すると、ＭＭＢファームウェアの起動パスを切り替える。即ち、ＭＭＢ２Ａは、ＭＭＢファームウェアが更新されたバックアップ側の不揮発性メモリ２６Ｂを、アクティブ側とし、その不揮発性メモリ２６ＢのＭＭＢファームアップを読み出し、ＭＭＢ２Ａの再起動を実行する。
【００９５】
（Ｓ９６）ＭＭＢ２Ａは、正常に起動したかを確認する。ＭＭＢ２Ａは、正常起動しなかった場合には、エラー処理を行う。
【００９６】
（Ｓ９８）ＭＭＢ２Ａは、正常に起動したと判定すると、ＭＭＢ２Ａは、抑止されていたパーティションを再起動する。
【００９７】
（Ｓ１００）ＭＭＢ２Ａは、パーティションが正常に起動したか否かを確認する。尚、パーティションの再起動では、ステップＳ２６で、ファームウェアを更新した事をＢＭＣ３０が認識しているため、スタンバイ側のＢＩＯＳ不揮発性メモリ３６Ａをアクティブ側とし、スタンバイ側のＢＭＣ不揮発性メモリ３７Ａをアクティブ側に切り替え、更新されたＢＭＣファームウェアとＢＩＯＳファームウェアを読み出して再起動する。ＭＭＢ２Ａは、パーティションが、正常に起動していない場合には、エラー処理を行う。一方、ＭＭＢ２Ａは、パーティションが正常に起動した場合には、パーティションのファームウェアの更新が完了したと判断する。
【００９８】
このように、ファームウェアが非互換の場合には、ファームウェアの更新後、各パーティションを停止し、再起動し、正常起動の有無を判定する。このため、非互換のファームウェアに更新しても、運用しているパーティションの停止時間を短縮できる。
【００９９】
（他の実施の形態）
前述の実施の形態では、ファームウェア間の非互換が存在するか否かを検出し、互換性がある場合と、互換性がない場合で、更新処理を選択する方法で説明したが、ファームウェア間で互換性がある場合にも、ファーム間に非互換が存在する場合の更新処理を選択しても良い。この場合、互換性検出は、必ずしも必要がない。
【０１００】
又、複数あるパーティションの再起動については、例えば、パーティション停止・起動のスケジュール運転を利用し、連動することも可能である。更新するファームウェアも、ＭＭＢ、ＢＭＣ，ＢＩＯＳの３つに限らず、その内１つ又は２つや、他の必要なファームウェアを付加しても良い。
【０１０１】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【０１０２】
（付記１）
少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、前記複数の処理装置を制御するシステム制御装置とを有し、前記処理装置の各々は、前記ハードウェア資源を管理するファームウェアプログラムを格納するメモリ領域を一対有し、前記システム制御装置は、外部装置から受信した更新用ファームウェアプログラムを、前記処理装置の各々に送信し、前記処理装置の各々は、一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込むことを特徴とする情報処理装置。
【０１０３】
（付記２）
前記システム制御装置は、前記更新用ファームウェアプログラムの書き込み前に、前記処理装置の各々の前記一対のメモリ領域の運用に使用されているファームウェアプログラムの版数を検出し、前記更新用ファームウェアプログラムとの互換性の有無を判定することを特徴とする付記１の情報処理装置。
【０１０４】
（付記３）
前記システム制御装置は、前記システム制御装置のハードウェア資源を制御する第２のファームウェアプログラムを格納するメモリ領域を一対有し、前記システム制御装置は、前記処理装置の更新用ファームウェアプログラムと前記第２のファームウェアプログラムを備える前記受信した更新用ファームウェアプログラムの前記第２のファームウェアプログラムを、一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込んだ後、前記処理装置の各々に、前記処理装置のファームウェアプログラムを送信することを特徴とする付記１の情報処理装置。
【０１０５】
（付記４）
前記処理装置は、前記処理装置内の前記ハードウェア資源を管理する管理部と、前記管理部のための第３のファームウェアプログラムを格納する一対の第３のメモリ領域とを有し、前記管理部は、更新すべき前記処理装置のファームウェアプログラムと前記第３のファームウェアプログラムを備える前記更新用ファームウェアプログラムを、前記システム制御装置から受信した後、前記第３のファームウェアプログラムを、一対の前記第３のメモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込み、且つ前記処理装置のファームウェアプログラムを、前記一対のメモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込むことを特徴とする付記１の情報処理装置。
【０１０６】
（付記５）
前記システム制御装置は、前記書き込み後、前記処理装置を起動又は再起動することを特徴とする付記１の情報処理装置。
【０１０７】
（付記６）
前記システム制御装置は、前記互換性の有無を判定するためのファームウェアプログラム間の互換表を含んだ前記更新用ファームウェアプログラムを受信することを特徴とする付記２の情報処理装置。
【０１０８】
（付記７）
前記システム制御装置は、前記第２のファームウェアプログラムを、一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込んだ後、他の前記メモリ領域に書き込むことを特徴とする付記３の情報処理装置。
【０１０９】
（付記８）
前記システム制御装置は、前記更新用ファームウェアプログラムの書き込み前に、前記処理装置の各々の運用に使用されているファームウェアプログラムの版数を検出し、前記更新用ファームウェアプログラムとの互換性の有無を判定し、互換性がないことを検出した場合には、前記第２のファームウェアプログラムを、一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域のみに書き込むことを特徴とする付記３の情報処理装置。
【０１１０】
（付記９）
前記システム制御装置は、一対の前記システム制御装置により構成され、一方のアクティブ側システム制御装置が、他方のスタンバイ側システム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記第２のファームウェアプログラムを書き込み、前記一対のシステム制御装置をアクティブ側、スタンバイ側を切り替え、前記アクティブ側に切り替えられた他方のシステム制御装置が、前記スタンバイ側に切り替えられた一方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記第２のファームウェアプログラムを書き込むことを特徴とする付記３の情報処理装置。
【０１１１】
（付記１０）
少なくとも演算処理装置と記憶装置とを含むハードウェア資源を有し、ＯＳを動作する複数の処理装置と、前記複数の処理装置を制御するシステム制御装置とを有する情報処理装置のファームウェア更新方法において、前記システム制御装置が、外部装置から更新用ファームウェアプログラムを受信するステップと、前記システム制御装置が、前記受信したファームウェアプログラムを、前記処理装置の各々に送信するステップと、前記処理装置の各々が、前記ハードウェア資源を管理するファームウェアプログラムを格納する一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記送信されたフィームウェアプログラムを書き込むステップとを有することを特徴とする情報処理装置のファームウェア更新方法。
【０１１２】
（付記１１）
前記システム制御装置が、前記更新用ファームウェアプログラムの書き込み前に、前記処理装置の各々の前記一対のメモリ領域の運用に使用されているファームウェアプログラムの版数を検出し、前記更新用ファームウェアプログラムとの互換性の有無を判定するステップを更に有することを特徴とする付記１０の情報処理装置のファームウェア更新方法。
【０１１３】
（付記１２）
前記受信ステップは、前記システム制御装置が、前記システム制御装置のハードウェア資源を管理する第２のファームウェアプログラムと前記処理装置のファームウェアプログラムとを受信するステップを有し、前記システム制御装置が、前記処理装置の各々に、前記処理装置のファームウェアプログラムを送信する前に、前記第２のファームウェアプログラムを、前記システム制御装置に設けられた一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込むステップを更に有することを特徴とする付記１０の情報処理装置のファームウェア更新方法。
【０１１４】
（付記１３）
前記送信ステップは、前記システム制御装置が、前記処理装置内の前記ハードウェア資源を管理する管理部と、前記管理部のための第３のファームウェアプログラムを格納する一対の第３のメモリ領域とを有する前記処理装置に、前記処理装置のファームウェアプログラムと前記第３のファームウェアプログラムを備える前記更新用ファームウェアプログラムを送信するステップを有し、前記書込みステップは、前記管理部が、前記受信した前記第３のファームウェアプログラムを、一対の前記第３のメモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込むステップと、前記管理部が、前記処理装置のファームウェアプログラムを、前記一対のメモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込むステップとを有することを特徴とする付記１０の情報処理装置のファームウェア更新方法。
【０１１５】
（付記１４）
前記システム制御装置が、前記書き込み後、前記処理装置を起動又は再起動するステップを更に有することを特徴とする付記１０の情報処理装置のファームウェア更新方法。
【０１１６】
（付記１５）
前記受信ステップは、前記システム制御装置は、前記互換性の有無を判定するためのファームウェアプログラム間の互換表を含んだ前記更新用ファームウェアプログラムを受信するステップを有することを特徴とする付記１１の情報処理装置のファームウェア更新方法。
【０１１７】
（付記１６）
前記システム制御装置が、前記第２のファームウェアプログラムを、一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に書き込んだ後、他の前記メモリ領域に書き込むステップを更に有することを特徴とする付記１２の情報処理装置のファームウェア更新方法。
【０１１８】
（付記１７）
前記システム制御装置が、前記更新用ファームウェアプログラムの書き込み前に、前記処理装置の各々の運用に使用されているファームウェアプログラムの版数を検出し、前記更新用ファームウェアプログラムとの互換性の有無を判定するステップと、互換性がないことを検出した場合には、前記第２のファームウェアプログラムを、一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域のみに書き込むステップを更に有することを特徴とする付記１２の情報処理装置のファームウェア更新方法。
【０１１９】
（付記１８）
前記書込みステップは、一対のシステム制御装置により構成された前記システム制御装置の一方のアクティブ側システム制御装置が、他方のスタンバイ側システム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記第２のファームウェアプログラムを書き込みステップと、前記一対のシステム制御装置をアクティブ側、スタンバイ側を切り替えるステップと、前記アクティブ側に切り替えられた他方のシステム制御装置が、前記スタンバイ側に切り替えられた一方のシステム制御装置の一対の前記メモリ領域の内、運用に使用されていない一の前記メモリ領域に、前記第２のファームウェアプログラムを書き込むステップとを有することを特徴とする付記１２の情報処理装置のファームウェア更新方法。
【産業上の利用可能性】
【０１２０】
運用中の処理装置を監視するシステム制御装置が、ファームウェアを受信し、各処理装置の一対のメモリ領域の内、運用に使用されていない一のメモリ領域に書き込むため、各処理装置の運用を停止することなく、処理装置内のファームウェアの更新が可能となる。又、更新用ファームウェアの互換性の有無を判定し、通常オンライン・ファーム・アップデートが可能かを判断し、互換性がない場合に処理装置を起動又は再起動するため、互換性がある場合は運用を停止することなく、互換性のないファームウェアに更新しても、運用している処理装置の停止時間を短縮できる。更に、システム制御装置と処理装置との各々の更新用ファームウェアを一括して受信し、更新するため、システム制御装置及び処理装置のファームウェアの更新を一元的に且つ短時間で実行でき、且つシステム制御装置の更新成功後、処理装置に更新用ファームウェアを送信し、更新するため、システムの管理側であるシステム制御装置がいち早く適応でき、システム管理の運用性を確実にできる。
【符号の説明】
【０１２１】
１  サーバ・システム（情報処理装置）
２Ａ、２Ｂ  管理ユニット
３Ａ〜３Ｄ  システムボード(パーティションユニット)
４  通信パス
９  リモートＰＣ
２６Ａ，２６Ｂ  ＭＭＢ不揮発性メモリ
３０  ボード管理部
３４  ＣＰＵ
３５  メモリ
３６Ａ，３６Ｂ  ＢＩＯＳ不揮発性メモリ
３７Ａ，３７Ｂ  ＢＭＣ不揮発性メモリ
１００−１〜１００−３  ファームウェア一式
【図１】
0005564956.tif 000002
【図２】
0005564956.tif 000003
【図３】
0005564956.tif 000004
【図４】
0005564956.tif 000005
【図５】
0005564956.tif 000006
【図６】
0005564956.tif 000007
【図７】
0005564956.tif 000008
【図８】
0005564956.tif 000009
【図９】
0005564956.tif 000010
【図１０】
0005564956.tif 000011
【図１１】
0005564956.tif 000012
【図１２】
0005564956.tif 000013
【図１３】
0005564956.tif 000014