(57)【要約】【課題】障害が発生したファームウェア部のファームウェアデータを退避することを課題とする。【解決手段】記憶部と、退避部と、第一のファームウェア部と、第二のファームウェア部と、ファームウェア制御ユニットとを具備する二重化ファームウェアのバックアップ方式によって解決する。ファームウェア制御ユニットは、第一のファームウェア部を選択した場合において、第一のファームウェアデータによる起動に失敗したときに、第一のファームウェア部の選択を解除して、第二のファームウェア部を選択するように、ファームウェア部の切り替えを行う。退避部は、このファームウェア部の切り替えが行われていたときには、第一のファームウェアデータを記憶部に退避する第一のファームウェアデータ退避部を有する。【選択図】図２
2009025967.tif 000002
【特許請求の範囲】
【請求項１】
記憶部と、
ファームウェアデータを退避する退避部と、
第一のファームウェアデータを格納する第一のファームウェア部と、
前記第一のファームウェアデータを二重化した第二のファームウェアデータを格納する第二のファームウェア部と、
前記第一のファームウェア部と、前記第二のファームウェア部とを制御するファームウェア制御ユニットとを具備し、
前記ファームウェア制御ユニットは、
前記第一のファームウェア部と、前記第二のファームウェア部との中から、一方のファームウェア部を選択することを行い、前記第一のファームウェア部を選択した場合において、前記第一のファームウェアデータによる起動に失敗したときには、前記第一のファームウェア部の選択を解除して、前記第二のファームウェア部を選択するように、ファームウェア部の切り替えを行い、
前記退避部は、
前記ファームウェア制御ユニットが、前記第一のファームウェア部の選択を解除して、前記第二のファームウェア部を選択するように、ファームウェア部の切り替えを行っていたときには、前記第一のファームウェアデータを前記記憶部に退避する第一のファームウェアデータ退避部を有する
二重化ファームウェアのバックアップ方式。
【請求項２】
ファームウェアデータを転送する転送部を更に具備し、
前記転送部は、
前記ファームウェア制御ユニットが、前記第一のファームウェア部の選択を解除して、前記第二のファームウェア部を選択するように、ファームウェア部の切り替えを行っていたときには、前記第一のファームウェアデータ退避部が、前記第一のファームウェアデータを前記記憶部に退避してから、前記第二のファームウェア部から前記第一のファームウェア部へ、前記第二のファームウェアデータを転送する第二のファームウェアデータ転送部を有する
請求項１記載の二重化ファームウェアのバックアップ方式。
【請求項３】
前記第二のファームウェアデータ転送部は、
オペレーティングシステムに基づいて、前記第二のファームウェアデータを転送する
請求項２記載の二重化ファームウェアのバックアップ方式。
【請求項４】
前記第一のファームウェアデータ退避部は、
オペレーティングシステムに基づいて、前記第一のファームウェアデータを退避する
請求項１〜３いずれか１項に記載の二重化ファームウェアのバックアップ方式。
【請求項５】
前記ファームウェア制御ユニットは、
前記第二のファームウェア部を選択した場合において、前記第二のファームウェアデータによる起動に失敗したときには、前記第二のファームウェア部の選択を解除して、前記第一のファームウェア部を選択するように、ファームウェア部の切り替えを行い、
前記退避部は、
前記ファームウェア制御ユニットが、前記第二のファームウェア部の選択を解除して、前記第一のファームウェア部を選択するように、ファームウェア部の切り替えを行っていたときには、前記第二のファームウェアデータを前記記憶部に退避する第二のファームウェアデータ退避部を更に有する
請求項１〜４いずれか１項に記載の二重化ファームウェアのバックアップ方式。
【請求項６】
前記転送部は、
前記ファームウェア制御ユニットが、前記第二のファームウェア部の選択を解除して、前記第一のファームウェア部を選択するように、ファームウェア部の切り替えを行っていたときには、前記第二のファームウェアデータ退避部が、前記第二のファームウェアデータを前記記憶部に退避してから、前記第一のファームウェア部から前記第二のファームウェア部へ、前記第一のファームウェアデータを転送する第一のファームウェアデータ転送部を更に有する
請求項５記載の二重化ファームウェアのバックアップ方式。
【請求項７】
前記第一のファームウェアデータ転送部は、
オペレーティングシステムに基づいて、前記第一のファームウェアデータを転送する
請求項６記載の二重化ファームウェアのバックアップ方式。
【請求項８】
前記第二のファームウェアデータ退避部は、
オペレーティングシステムに基づいて、前記第二のファームウェアデータを退避する
請求項５〜７いずれか１項に記載の二重化ファームウェアのバックアップ方式。
【請求項９】
前記第一のファームウェア部は、
第一のＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）で成り、
前記第二のファームウェア部は、
第二のＥＰＲＯＭで成る
請求項１〜８いずれか１項に記載の二重化ファームウェアのバックアップ方式。
【請求項１０】
前記第一のファームウェアデータは、
情報処理装置を起動するために必要となり、前記情報処理装置を起動するときに使用されるデータを含み、
前記第二のファームウェアデータは、
前記第一のファームウェアデータを二重化したものである
請求項１〜９いずれか１項に記載の二重化ファームウェアのバックアップ方式。
【請求項１１】
前記第一のファームウェア部は、
第一のＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）で成り、
前記第二のファームウェア部は、
第二のＢＭＣで成る
請求項１〜８いずれか１項に記載の二重化ファームウェアのバックアップ方式。
【請求項１２】
第一のファームウェアデータを第一のファームウェア部に格納し、
前記第一のファームウェアデータを二重化した第二のファームウェアデータを第二のファームウェア部に格納し、
前記第一のファームウェア部と、前記第二のファームウェア部との中から、一方のファームウェア部を選択し、
前記一方のファームウェア部を選択するときに、前記第一のファームウェア部を選択した場合において、前記第一のファームウェアデータによる起動に失敗したときには、前記第一のファームウェア部の選択を解除して、前記第二のファームウェア部を選択するように、ファームウェア部の切り替えを行い、
この切り替えを行った後、前記第一のファームウェアデータを退避する
二重化ファームウェアのバックアップ方法。
【請求項１３】
前記第一のファームウェアデータを退避することを行った後、更に、前記第二のファームウェア部から前記第一のファームウェア部へ、前記第二のファームウェアデータを転送する
請求項１２記載の二重化ファームウェアのバックアップ方法。
【請求項１４】
前記第二のファームウェアデータを転送することを、オペレーティングシステムによって行う
請求項１３記載の二重化ファームウェアのバックアップ方法。
【請求項１５】
前記第一のファームウェアデータを退避することを、オペレーティングシステムによって行う
請求項１２〜１４いずれか１項に記載の二重化ファームウェアのバックアップ方法。
【請求項１６】
前記一方のファームウェア部を選択するときに、前記第二のファームウェア部を選択した場合において、前記第二のファームウェアデータによる起動に失敗したときには、前記第二のファームウェア部の選択を解除して、前記第一のファームウェア部を選択するように、ファームウェア部の切り替えを行い、
この切り替えを行った後、前記第二のファームウェアデータを退避する
請求項１２〜１５いずれか１項に記載の二重化ファームウェアのバックアップ方法。
【請求項１７】
前記第二のファームウェアデータを退避することを行った後、更に、前記第一のファームウェア部から前記第二のファームウェア部へ、前記第一のファームウェアデータを転送する
請求項１６記載の二重化ファームウェアのバックアップ方法。
【請求項１８】
前記第一のファームウェアデータを転送することを、オペレーティングシステムによって行う
請求項１７記載の二重化ファームウェアのバックアップ方法。
【請求項１９】
前記第二のファームウェアデータを退避することを、オペレーティングシステムによって行う
請求項１６〜１８いずれか１項に記載の二重化ファームウェアのバックアップ方法。
【請求項２０】
前記第一のファームウェア部は、
第一のＥＰＲＯＭで成り、
前記第二のファームウェア部は、
第二のＥＰＲＯＭで成る
請求項１２〜１９いずれか１項に記載の二重化ファームウェアのバックアップ方法。
【請求項２１】
前記第一のファームウェアデータは、
情報処理装置を起動するために必要となり、前記情報処理装置を起動するときに使用されるデータを含み、
前記第二のファームウェアデータは、
前記第一のファームウェアデータを二重化したものである
請求項１２〜２０いずれか１項に記載の二重化ファームウェアのバックアップ方法。
【請求項２２】
前記第一のファームウェア部は、
第一のＢＭＣで成り、
前記第二のファームウェア部は、
第二のＢＭＣで成る
請求項１２〜１９いずれか１項に記載の二重化ファームウェアのバックアップ方法。
【請求項２３】
第一のファームウェアデータを格納する第一のファームウェア部と、前記第一のファームウェアデータを二重化した第二のファームウェアデータを格納する第二のファームウェア部とを制御するファームウェア制御ユニットが、前記第一のファームウェア部を選択し、
前記第一のファームウェア部を選択することを行った後、前記第一のファームウェアデータによる起動に失敗したときに、前記ファームウェア制御ユニットが、前記第一のファームウェア部の選択を解除して、前記第二のファームウェア部を選択するように、ファームウェア部の切り替えを行うことをしていた場合に実行するステップであって、
前記第一のファームウェアデータを退避するステップをコンピュータに実行させるためのプログラムを有する
オペレーティングシステム。
【請求項２４】
前記第一のファームウェアデータを退避するステップを実行した後、前記第二のファームウェア部から前記第一のファームウェア部へ、前記第二のファームウェアデータを転送するステップをコンピュータに実行させるためのプログラムを更に有する
請求項２３記載のオペレーティングシステム。
【請求項２５】
前記ファームウェア制御ユニットが、前記第一のファームウェア部を選択することに代えて、前記第二のファームウェア部を選択し、
前記第二のファームウェア部を選択することを行った後、前記第二のファームウェアデータによる起動に失敗したときに、前記ファームウェア制御ユニットが、前記第二のファームウェア部の選択を解除して、前記第一のファームウェア部を選択するように、ファームウェア部の切り替えを行うことをしていた場合に実行するステップであって、
前記第二のファームウェアデータを退避するステップをコンピュータに実行させるためのプログラムを更に有する
請求項２３又は２４記載のオペレーティングシステム。
【請求項２６】
前記第二のファームウェアデータを退避するステップを実行した後、前記第一のファームウェア部から前記第二のファームウェア部へ、前記第一のファームウェアデータを転送するステップをコンピュータに実行させるためのプログラムを更に有する
請求項２５記載のオペレーティングシステム。
【請求項２７】
前記第一のファームウェア部は、
第一のＥＰＲＯＭで成り、
前記第二のファームウェア部は、
第二のＥＰＲＯＭで成る
請求項２３〜２６いずれか１項に記載のオペレーティングシステム。
【請求項２８】
前記第一のＥＰＲＯＭに格納され、かつ、前記第二のＥＰＲＯＭに格納されている
請求項２７記載のオペレーティングシステム。
【請求項２９】
前記第一のファームウェアデータは、
情報処理装置を起動するために必要となり、前記情報処理装置を起動するときに使用されるデータを含み、
前記第二のファームウェアデータは、
前記第一のファームウェアデータを二重化したものである
請求項２３〜２８いずれか１項に記載のオペレーティングシステム。
【請求項３０】
前記第一のファームウェア部は、
第一のＢＭＣで成り、
前記第二のファームウェア部は、
第二のＢＭＣで成る
請求項２３〜２６いずれか１項に記載のオペレーティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステムに関する。
【背景技術】
【０００２】
二重化されたファームウェアを持つ情報処理装置が知られる。とりわけ、多くのサーバ装置では、高い可用性を求められたりするので、ファームウェアが二重化されている。図１に、二重化されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を有するサーバ装置を示す。図１において、ＲＯＭ１、ＲＯＭ２には、サーバ装置５を起動するために必要なファームウェアデータが格納されている。図１のＲＯＭ１、ＲＯＭ２には、ファームウェアデータのバージョンアップを容易に行えるように、書き換え可能なフラッシュメモリが用いられている。
【０００３】
サーバ装置５は、ＲＯＭ１又はＲＯＭ２のファームウェアデータを用いて起動する。ＲＯＭ制御ユニット３は、ＲＯＭ１からの起動に失敗した場合、直ちにＲＯＭ２への切り替えを行う。このとき、サーバ装置５は、ＲＯＭ２のファームウェアデータを用いて起動する。同様に、ＲＯＭ制御ユニット３は、ＲＯＭ２からの起動に失敗した場合、直ちにＲＯＭ１への切り替えを行う。このとき、サーバ装置５は、ＲＯＭ１のファームウェアデータを用いて起動する。サーバ装置５が正常に起動すると、ＯＳ４が走り、サーバ運用が始まる。
【０００４】
一方のＲＯＭに障害が発生した場合、二重化ＲＯＭを持つサーバ装置では、他方のＲＯＭを用いることによって、その後のサーバ起動を継続することができる。しかしながら、障害が発生した一方のＲＯＭをそのまま残して、以降、片系統のＲＯＭのみでサーバ起動を続けたのでは、十分な信頼性を確保することができない。
【０００５】
特開２００４−５４６１６号公報（特許文献１参照）には、情報処理装置の発明が開示されている。この情報処理装置は、プロセッサと、書き換え可能な第１のプログラム記憶手段と、第２のプログラム記憶手段と、切り替え手段と、監視手段とを備える。プロセッサは、ファームウェアを実行する。第１のプログラム記憶手段は、書き換え可能であり、通常の処理を行なう第１のファームウェアと前記第１のファームウェアの復元を行なう第２のファームウェアとを保持する。第２のプログラム記憶手段は、不揮発性であり、前記第１のファームウェアのバックアップを格納する。切り替え手段は、前記第１のプログラム記憶手段に保持された前記第１と前記第２のファームウェアの内でどちらのファームウェアを起動させるかを選択する。監視手段は、前記第１のファームウェアの起動が所定の時間内に完了しないことを検出して自動的に再起動を行なう。前記監視手段は、前記所定時間内の起動未完了検出に基づいて、前記切り替え手段により前記第２のファームウェアを選択して前記情報処理装置を再起動する。前記選択された第２のファームウェアは、前記第１のファームウェアを前記第２のプログラム記憶手段から前記第１のプログラム記憶手段へ書き移して復元を行う。さらに、前記監視手段は、前記復元後に、前記切り替え手段により前記第１のファームウェアを再び選択して前記情報処理装置を再起動する。
【０００６】
特開２００４−１９９１２０号公報（特許文献２参照）には、情報処理装置の発明が開示されている。この情報処理装置には、モジュールが複数個存在する。モジュールにおいては、運用ファームウェアと、ＣＰＵと、不揮発性メモリと、監視装置とがシステムバスで接続される。運用ファームウェアは、書き替え可能なメモリに格納される。ＣＰＵは、前記運用ファームウェアで動作する。不揮発性メモリは、前記運用ファームウェアの動作実績のあるファームウェアである修復用ファームウェアを格納する。監視装置は、前記運用ファームウェアでの起動障害を検出する機能および前記修復用ファームウェアを前記書き替え可能なメモリに書き込む機能を持つ。情報処理装置は、さらに、システム監視装置を有する。システム監視装置は、前記複数個のモジュールにおいて障害が発生した場合、前記複数個のモジュールの前記監視装置にファームウェアの書き替えを要求する機能と、再起動させる機能とを持つ。前記情報処理装置が稼働している時、前記複数個のモジュールのうち、少なくとも１つのモジュールの前記監視装置が現在運用している前記運用ファームウェアでの障害を検出した時、以下の三つの機能を有する。第一の機能は、障害を検出した前記監視装置は前記システム監視装置へ障害を検出したことを通知する機能である。第二の機能は、前記システム監視装置は前記複数個全てのモジュールの前記監視装置に対してファームウェアの書き替えを要求する機能である。第三の機能は、前記情報処理装置が前記システム監視装置によって再起動される前に前記複数個全てのモジュールの前記監視装置によって前記運用ファームウェアから前記修復用ファームウェアに同期して切り替え、再起動する機能である。
【０００７】
特開平２−９３８４６号公報（特許文献３参照）には、計算機システムの障害復旧方式の発明が開示されている。この障害復旧方式は、２重化記憶手段と、システム停止記憶手段と、異常停止時情報退避手段と、２重化記憶復帰手段とを具備する。２重化記憶手段は、計算機システムにおいて同様のメモリユニットを複数備えてなる。システム停止記憶手段は、計算機システムの異常停止状態を記憶する。異常停止時情報退避手段は、上記異常停止に伴う計算機システムの再立ち上げに際し上記２重化記憶手段における一方のメモリユニットをオフライン化しその記憶情報を外部メモリユニットに転送退避させる。２重化記憶復帰手段は、この異常停止時情報退避手段による情報退避の後上記２重化記憶手段における他方のメモリユニットの記憶情報を上記一方のメモリユニットに転送し該一方のメモリユニットをオンライン化する。
【０００８】
特開平９−３３０２７２号公報（特許文献４参照）には、ＢＩＯＳ制御方式の発明が開示されている。この発明は、ＢＩＯＳをフラッシュメモリ内に格納している情報処理装置におけるＢＩＯＳ制御方式である。ＢＩＯＳを格納したバックアップＲＯＭを上記フラッシュメモリとは別に持つ。このフラッシュメモリとバックアップＲＯＭを切り替えることによりフラッシュメモリを書替える手段を持つ。
【０００９】
障害が発生したファームウェアを自動的に修復する技術が、特許文献１，２，４に記載されている。これらの関連技術では、二重化ファームウェアに加えて、修復専用のファームウェアを設ける。そして、障害が発生したファームウェアを、修復専用のファームウェアで上書きする。一方、特許文献３には、計算機システムが異常停止した場合に、主メモリの内容を退避して再起動することが記載されている。特許文献１〜４に記載されているところによれば、異常停止した計算機システムにおける主メモリの内容を退避することは行われていたが、ファームウェアデータを退避することは行われていない。
【００１０】
また、特許文献３に記載された関連技術は、計算機システムが異常停止した場合に、システム立上げの高速化を図る。一方のメモリユニットをオフライン化し、他方のメモリユニットのみでシステム立上げを行う。そして、計算機システムが異常停止した場合のシステム再立上げ時に、他方のメモリユニットから、一方のメモリユニットへ、記憶情報を転送する。このように、特許文献３では、計算機システムが異常停止し、システムを再立上げする際に、メモリユニットの記憶情報を転送することは提案されているが、ファームウェアデータを転送することは示唆されていない。
【００１１】
【特許文献１】特開２００４−５４６１６号公報
【特許文献２】特開２００４−１９９１２０号公報
【特許文献３】特開平２−９３８４６号公報
【特許文献４】特開平９−３３０２７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の課題は、障害が発生したファームウェア部のファームウェアデータを退避することである。
【課題を解決するための手段】
【００１３】
本発明の一つのアスペクトによる二重化ファームウェアのバックアップ方式は、記憶部と、退避部と、第一のファームウェア部と、第二のファームウェア部と、制御ユニットとを具備する。退避部は、ファームウェアデータを退避する。第一のファームウェア部は、第一のファームウェアデータを格納する。第二のファームウェア部は、第一のファームウェアデータを二重化した第二のファームウェアデータを格納する。ファームウェア制御ユニットは、第一のファームウェア部と、第二のファームウェア部とを制御する。ファームウェア制御ユニットは、第一のファームウェア部と、第二のファームウェア部との中から、一方のファームウェア部を選択することを行い、第一のファームウェア部を選択した場合において、第一のファームウェアデータによる起動に失敗したときには、第一のファームウェア部の選択を解除して、第二のファームウェア部を選択するように、ファームウェア部の切り替えを行う。退避部は、第一のファームウェアデータ退避部を有する。第一のファームウェアデータ退避部は、ファームウェア制御ユニットが、第一のファームウェア部の選択を解除して、第二のファームウェア部を選択するように、ファームウェア部の切り替えを行っていたときには、第一のファームウェアデータを記憶部に退避する。
【００１４】
本発明の別のアスペクトによる二重化ファームウェアのバックアップ方法では、第一のファームウェアデータを第一のファームウェア部に格納する。第一のファームウェアデータを二重化した第二のファームウェアデータを第二のファームウェア部に格納する。第一のファームウェア部と、第二のファームウェア部との中から、一方のファームウェア部を選択する。一方のファームウェア部を選択するときに、第一のファームウェア部を選択した場合において、第一のファームウェアデータによる起動に失敗したときには、第一のファームウェア部の選択を解除して、第二のファームウェア部を選択するように、ファームウェア部の切り替えを行う。この切り替えを行った後、第一のファームウェアデータを退避する。
【００１５】
本発明の別のアスペクトによるオペレーティングシステムは、次の場合に実行するステップであって、第一のファームウェアデータを退避するステップをコンピュータに実行させるためのプログラムを有する。その場合とは、第一のファームウェアデータを格納する第一のファームウェア部と、第一のファームウェアデータを二重化した第二のファームウェアデータを格納する第二のファームウェア部とを制御するファームウェア制御ユニットが、第一のファームウェア部を選択した場合であって、かつ、第一のファームウェア部を選択することを行った後、第一のファームウェアデータによる起動に失敗したときに、ファームウェア制御ユニットが、第一のファームウェア部の選択を解除して、第二のファームウェア部を選択するように、ファームウェア部の切り替えを行うことをしていた場合である。
【発明の効果】
【００１６】
本発明によれば、障害が発生したファームウェア部のファームウェアデータを退避することができる。
【発明を実施するための最良の形態】
【００１７】
〔実施例１〕図２は、一つ目の実施例を説明する構成図である。図２において、二重化ファームウェアのバックアップ方式１０は、第一のファームウェア部１１と、第二のファームウェア部１２と、ファームウェア制御ユニット１３と、退避部１４と、記憶部１５とを具備している。第一のファームウェア部１１は、第一のファームウェアデータ１６を格納する。第二のファームウェア部１２は、第一のファームウェアデータ１６を二重化した第二のファームウェアデータ１７を格納する。ファームウェア制御ユニット１３は、第一のファームウェア部１１と、第二のファームウェア部１２とを制御する。退避部１４は、ファームウェアデータを退避する。
【００１８】
ファームウェア制御ユニット１３は、第一のファームウェア部１１と、第二のファームウェア部１２との中から、一方のファームウェア部を選択することを行い、第一のファームウェア部１１を選択した場合において、第一のファームウェアデータ１６による起動に失敗したときには、第一のファームウェア部１１の選択を解除して、第二のファームウェア部１２を選択するように、ファームウェア部の切り替えを行う。
【００１９】
退避部１４は、第一のファームウェアデータ退避部１８を有する。第一のファームウェアデータ退避部１８は、ファームウェア制御ユニット１３が、第一のファームウェア部１１の選択を解除して、第二のファームウェア部１２を選択するように、ファームウェア部の切り替えを行っていたときには、第一のファームウェアデータ１６を記憶部１５に退避する。
【００２０】
〔実施例２〕図３は、二つ目の実施例を説明する流れ図である。図３の流れ図は、二重化ファームウェアのバックアップ方法を示している。図示する二重化ファームウェアのバックアップ方法においては、第一のファームウェアデータを第一のファームウェア部に格納する（Ｓ２１）。第一のファームウェアデータを二重化した第二のファームウェアデータを、第二のファームウェア部に格納する（Ｓ２２）。第一のファームウェア部と、第二のファームウェア部との中から、一方のファームウェア部を選択するときに、第一のファームウェア部を選択する（Ｓ２３）。第一のファームウェア部を選択した後、第一のファームウェアデータによる起動に失敗したときには、以降の処理を行う（Ｓ２４）。第一のファームウェア部の選択を解除して、第二のファームウェア部を選択するように、ファームウェア部の切り替えを行う（Ｓ２５）。ファームウェア部の切り替えを行った後、第一のファームウェアデータを退避する（Ｓ２６）。
【００２１】
〔実施例３〕実施例３では、二重化されたファームウェア部をもつサーバ装置において、一方のファームウェア部に障害が起きた場合に、自動的に、障害が起きた一方のファームウェア部の復旧を行う。すなわち、もう一方のバックアップ側のファームウェア部での単一運用になることを回避して、一方のファームウェア部に障害が起きても、二重化を保ち続ける機能を実現する。
【００２２】
図４は、三つ目の実施例を説明する構成図である。図４において、ＲＯＭ３１及びＲＯＭ３２は、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）で成る。ＲＯＭ３１及びＲＯＭ３２には、サーバ装置３０を起動するためのファームウェアデータが書き込まれている。オペレーティングシステム３４のプログラムも、ファームウェアデータの一つとして、ＲＯＭ３１及びＲＯＭ３２に書き込まれている。サーバ装置３０は、ファームウェアデータをＲＯＭ３１またはＲＯＭ３２から読み出すことにより起動する。
【００２３】
ＲＯＭ制御ユニット３３は、ＲＯＭ３１及びＲＯＭ３２を制御している。まず、ＲＯＭ制御ユニット３３が優先的にＲＯＭ３１からファームウェアデータを読み出してサーバ装置３０を起動する場合について説明する。この場合において、もしも、ＲＯＭ制御ユニット３３がＲＯＭ３１からサーバ装置３０を起動できなかった場合には、ＲＯＭ制御ユニット３３により、ＲＯＭ３１からＲＯＭ３２への切り替え動作を行う。この切り替え動作により、サーバ装置３０は、ＲＯＭ３２のファームウェアデータを用いて起動する。起動後は、オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：本願において、単にＯＳともいう。）３４が、サーバ装置３０の運用を開始する。図中、オペレーティングシステム３４は、ＲＯＭ３１からＲＯＭ３２への切り替え動作が行われていた場合には、起動失敗したＲＯＭ３１のファームウェアデータをバックアップ領域３５に退避する。そして、正常に起動したＲＯＭ３２のファームウェアデータを、起動失敗したＲＯＭ３１へ転送し、ファームウェアデータの上書きを行う。サーバ装置３０は、二重化されたＲＯＭ３１，３２により、運用を継続する。
【００２４】
次に、ＲＯＭ制御ユニット３３が、ＲＯＭ３１からファームウェアデータを読み出して、サーバ装置３０を起動することもでき、かつ、ＲＯＭ３２からファームウェアデータを読み出して、サーバ装置を起動することもできる場合について説明する。この場合において、もしも、ＲＯＭ制御ユニット３３がＲＯＭ３１からサーバ装置３０を起動できなかった場合には、ＲＯＭ制御ユニット３３により、ＲＯＭ３１からＲＯＭ３２への切り替え動作を行う。そして、上述のごとくの動作を行う。もしも、ＲＯＭ制御ユニット３３がＲＯＭ３２からファームウェアデータを読み出して、サーバ装置３０を起動しようとしたが、起動できなかった場合には、ＲＯＭ制御ユニット３３により、ＲＯＭ３２からＲＯＭ３１への切り替え動作を行う。この切り替え動作により、サーバ装置３０は、ＲＯＭ３１のファームウェアデータを用いて起動する。起動後は、オペレーティングシステム３４が、サーバ装置３０の運用を開始する。図中、オペレーティングシステム３４は、ＲＯＭ３２からＲＯＭ３１への切り替え動作が行われていた場合には、起動失敗したＲＯＭ３２のファームウェアデータをバックアップ領域３５に退避する。そして、正常に起動したＲＯＭ３１のファームウェアデータを、起動失敗したＲＯＭ３２へ転送し、ファームウェアデータの上書きを行う。サーバ装置３０は、二重化されたＲＯＭ３１，３２により、運用を継続する。
【００２５】
実施例３では、サーバ装置３０において、ＲＯＭ３１，３２に障害が起きた場合においても、正常起動したＲＯＭ３１，３２のファームウェアデータを、起動失敗したＲＯＭ３１，３２へ自動的にコピーすることができる。このような手法を用いることにより、信頼性を損なわずに、二重化運用を続けることができる。また、バックアップ領域３５に退避されたファームウェアデータは障害発生時のものであるため、このファームウェアデータを解析することにより、有意義な障害解析を行うことができる。
【００２６】
〔実施例４〕本発明は、サーバ装置の起動にかかわる二重化ＲＯＭだけではなく、二重化を行っている他のファームウェア一般において、ファームウェア制御ユニットがある場合にも適用できる。本発明による四つ目の実施例を説明する構成図を、図５に示す。図５において、オペレーティングシステム４４は、ファームウェア部４１又はファームウェア部４２を使用して運用を行っている。
【００２７】
ファームウェア制御ユニット４３が、ファームウェア部４１を優先して選択し、運用を行っていた場合において、ファームウェア部４１に障害が生じ、運用不可の状態に陥ったときについて説明する。ファームウェア制御ユニット４３により、ファームウェア部４１をファームウェア部４２に切り替える。オペレーティングシステム４４は、ファームウェア部４１のファームウェアデータをバックアップ領域４５に退避する。それから、オペレーティングシステム４４は、ファームウェア部４２のファームウェアデータをファームウェア部４１へ転送し、ファームウェアデータの上書きを行う。この後、オペレーティングシステム４４は、二重化されたファームウェア部４１，４２により運用を継続することができる。なおかつ、障害の解析は、バックアップ領域４５に退避されたファームウェアデータを用いて行うことができる。
【００２８】
ファームウェア制御ユニット４３が、ファームウェア部４１又はファームウェア部４２のいずれかを選択し、運用を行っていた場合について説明する。ファームウェア制御ユニット４３が、ファームウェア部４２を選択し、かつ、ファームウェア部４２に障害が生じ、運用不可の状態に陥ったとする。このとき、ファームウェア制御ユニット４３により、ファームウェア部４２をファームウェア部４１に切り替える。オペレーティングシステム４４は、ファームウェア部４２のファームウェアデータをバックアップ領域４５に退避する。それから、オペレーティングシステム４４は、ファームウェア部４１のファームウェアデータをファームウェア部４２へ転送し、ファームウェアデータの上書きを行う。この後、オペレーティングシステム４４は、二重化されたファームウェア部４１，４２により運用を継続することができる。なおかつ、障害の解析は、バックアップ領域４５に退避されたファームウェアデータを用いて行うことができる。なお、ファームウェア制御ユニット４３が、ファームウェア部４１を選択し、かつ、ファームウェア部４１に障害が生じ、運用不可の状態に陥ったときについては、上述の通りの動作となるので、説明を省略する。
【００２９】
ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）は、起動にかかわる二重化ＲＯＭ以外の二重化され得るファームウェア部の一つであり、当実施例４に適用できる。ＢＭＣは、重大なハードウェア・エラーを監視して、ＯＳなどに通知する機能を持つ。具体的には、温度センサー、ＣＰＵステータス、ファンのスピードや電圧といったベースボード上の各装置の働きを監視する。そして、リモートからサーバを再起動するなどの電源管理を実行したり、ＢＩＯＳ設定およびオペレーティングシステムコンソール情報に対するリモートアクセスを提供したりする。
【００３０】
上記実施例３及び実施例４では、二重化ファームウェアを有する情報処理装置として、サーバ装置を例示した。しかしながら、本発明は、サーバ装置以外の情報処理装置であって、二重化ファームウェアを有する情報処理装置にも広く適用することができる。
【００３１】
〔その他の実施例〕なお、実施例１の二重化ファームウェアのバックアップ方式１０は、ファームウェアデータを転送する転送部を更に具備することができる。転送部は、ファームウェア制御ユニット１３が、第一のファームウェア部１１の選択を解除して、第二のファームウェア部１２を選択するように、ファームウェア部の切り替えを行っていたときには、第一のファームウェアデータ退避部１８が、第一のファームウェアデータ１６を記憶部１５に退避してから、第二のファームウェア部１２から第一のファームウェア部１１へ、第二のファームウェアデータ１７を転送する第二のファームウェアデータ転送部を有する。第二のファームウェアデータ転送部は、オペレーティングシステムに基づいて、第二のファームウェアデータ１７を転送するものとすることができる。第一のファームウェアデータ退避部１８は、オペレーティングシステムに基づいて、第一のファームウェアデータ１６を退避するものとすることができる。
【００３２】
ファームウェア制御ユニット１３は、第二のファームウェア部１２を選択した場合において、第二のファームウェアデータ１７による起動に失敗したときには、第二のファームウェア部１２の選択を解除して、第一のファームウェア部１１を選択するように、ファームウェア部の切り替えを行うものとすることができる。このとき、退避部１４は、第二のファームウェアデータ１２を記憶部１５に退避する第二のファームウェアデータ退避部を更に有する。
【００３３】
転送部は、ファームウェア制御ユニット１３が、第二のファームウェア部１２の選択を解除して、第一のファームウェア部１１を選択するように、ファームウェア部の切り替えを行っていたときには、第二のファームウェアデータ退避部が、第二のファームウェアデータ１７を記憶部１５に退避してから、第一のファームウェア部１１から第二のファームウェア部１２へ、第一のファームウェアデータ１６を転送する第一のファームウェアデータ転送部を更に有するものとすることができる。第一のファームウェアデータ転送部は、オペレーティングシステムに基づいて、第一のファームウェアデータ１６を転送するものとすることができる。第二のファームウェアデータ退避部は、オペレーティングシステムに基づいて、第二のファームウェアデータ１７を退避するものとすることができる。
【００３４】
〔実施例の効果〕以上説明したように、上記実施例によれば、ファームウェアデータの退避を行っているので、障害の解析を、退避されたファームウェアデータを用いて行うことができる。また、起動に失敗しても、ファームウェアデータの転送及び上書きにより、ファームウェアデータが二重化された状態を自動的に回復することができるので、高い信頼性を確保できるという効果が得られる。
【図面の簡単な説明】
【００３５】
【図１】図１は、二重化されたＲＯＭを有するサーバ装置を示す図である。
【図２】図２は、一つ目の実施例を説明する構成図である。
【図３】図３は、二つ目の実施例を説明する流れ図である。
【図４】図４は、三つ目の実施例を説明する構成図である。
【図５】図５は、四つ目の実施例を説明する構成図である。
【符号の説明】
【００３６】
１，２，３１，３２  ＲＯＭ
３，３３  ＲＯＭ制御ユニット
４，３４，４４  オペレーティングシステム
５，３０，４０  サーバ装置
３５，４５  バックアップ領域
１１，１２，４１，４２  ファームウェア部
１３，４３  ファームウェア制御ユニット
１４  退避部
１５  記憶部
１６，１７  ファームウェアデータ
１８  ファームウェアデータ退避部
【図１】
2009025967.tif 000003
【図２】
2009025967.tif 000004
【図３】
2009025967.tif 000005
【図４】
2009025967.tif 000006
【図５】
2009025967.tif 000007