(57)【要約】【課題】複数のファームウェアが存在する情報処理装置において、１つおよび複数のファームウェアで障害が発生した場合でも、全てのファームウェアを自動修復することができ、高い信頼性を得ることができる情報処理装置を提供する。【解決手段】２個のモジュール１，２により構成された情報処理装置であって、少なくとも１つのモジュールの監視装置１０６，１１３が運用ファームウェア１０３，１１０での障害を検出した時、障害を検出した監視装置はシステム監視装置１１５へ障害を検出したことを通知し、システム監視装置１１５はｎ個全てのモジュールの監視装置１０６，１１３に対してファームウェアの書き替えを要求し、情報処理装置が再起動される前にｎ個全てのモジュールの監視装置１０６，１１３によって運用ファームウェア１０３，１１０から修復用ファームウェア１０５，１１２に同期して切り替え、正常に再起動する機能を有する。【選択図】        図１
2004199120.tif 000002
【特許請求の範囲】
【請求項１】
書き替え可能なメモリに格納された運用ファームウェアと、前記運用ファームウェアで動作するＣＰＵと、前記運用ファームウェアの動作実績のあるファームウェアである修復用ファームウェアを格納する不揮発性メモリと、前記運用ファームウェアでの起動障害を検出する機能および前記修復用ファームウェアを前記書き替え可能なメモリに書き込む機能を持つ監視装置とがシステムバスで接続されるモジュールが複数個存在し、
前記複数個のモジュールにおいて障害が発生した場合、前記複数個のモジュールの前記監視装置にファームウェアの書き替えを要求する機能と、再起動させる機能とを持つシステム監視装置を有する情報処理装置であって、
前記情報処理装置が稼働している時、前記複数個のモジュールのうち、少なくとも１つのモジュールの前記監視装置が現在運用している前記運用ファームウェアでの障害を検出した時、障害を検出した前記監視装置は前記システム監視装置へ障害を検出したことを通知し、前記システム監視装置は前記複数個全てのモジュールの前記監視装置に対してファームウェアの書き替えを要求し、前記情報処理装置が前記システム監視装置によって再起動される前に前記複数個全てのモジュールの前記監視装置によって前記運用ファームウェアから前記修復用ファームウェアに同期して切り替え、再起動する機能を有することを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
外部装置から行うファームウェアの書き替えは、前記複数個全てのモジュール内の不揮発性メモリにファームウェアを書き込み、前記システム監視装置はファームウェアの書き込み終了後に、前記複数個全てのモジュール内の前記監視装置に対してファームウェアの書き替えを要求し、前記監視装置は再起動する前に書き込んだファームウェアを前記書き替え可能なメモリに書き替え、再起動する機能を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のファームウェアを持つ情報処理装置に関し、特にファームウェアの自動修復機能を有する情報処理装置に適用して有効な技術に関する。
【０００２】
【従来の技術】
本発明者が検討したところによれば、複数のファームウェアを持つ情報処理装置に関しては、以下のような技術が考えられる。
【０００３】
たとえば、サーバー装置のような高信頼性が要求される情報処理装置では、通常、運用するファームウェアのほかに修復用ファームウェアを持ち、運用しているファームウェアで障害が発生したときには運用しているファームウェアから修復用ファームウェアへ自動的に切り替える情報処理装置が一般的である。
【０００４】
ここで、本発明者が本発明の前提として検討した情報処理装置について、図６により説明する。図６は１つのファームウェアとそのファームウェアにより動作するＣＰＵとが存在する情報処理装置の例である。
【０００５】
図６に示すように、本発明の前提として検討した情報処理装置は、ＣＰＵ１０１と、書き替え可能なＲＯＭ１０２に格納される運用ファームウェア１０３と、修復用ファームウェア１０５を格納する不揮発性ＲＯＭ１０４がシステムバス１００で接続されている。ＣＰＵ１０１は、書き替え可能なＲＯＭ１０２に格納している運用ファームウェア１０３で通常処理している。
【０００６】
監視装置１０６は、同一システムバス１００上に接続され、情報処理装置が稼動しているときにＣＰＵ１０１を運用している運用ファームウェア１０３が正常に運用しているかを監視している。システム監視装置１１５は、監視装置１０６とシステム管理バス１０７で接続される。ここで、運用ファームウェア１０３に何らかの障害が発生し、正常な状態で情報処理装置を稼動できない場合、その障害を監視している監視装置１０６はシステム監視装置１１５に再起動の要求を指示し、再起動が始まる前に修復用ファームウェア１０５を書き替え可能なＲＯＭ１０２に書き込み、自動的に情報処理装置を復元させる。
【０００７】
なお、このような複数のファームウェアを持つ情報処理装置としては、たとえば不揮発性メモリに新旧のファームウェアをおき、入れ替えたファームウェアに障害があったときや書き替えに失敗したときに、正常に稼動する旧ファームウェアに戻す技術がある（たとえば、特許文献１参照）。
【０００８】
【特許文献１】
特開平１１−１１０２１８号公報
【０００９】
【発明が解決しようとする課題】
ところで、前記のような情報処理装置の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
【００１０】
たとえば、前述した図６に示す情報処理装置では、ＣＰＵ１０１、書き替え可能なＲＯＭ１０２に格納される運用ファームウェア１０３、修復用ファームウェア１０５を格納する不揮発性ＲＯＭ１０４、および監視装置１０６をモジュールとし、そのモジュールがｎ個（ｎ：２以上）存在した情報処理装置では、各モジュールのファームウェアが１つの情報処理装置に構成されるため、ｎ個のファームウェアが情報処理装置のアドレス空間を共有するようになり、またｎ個の各ファームウェアが制御しているＦＰＧＡの情報を共有するようになる。
【００１１】
従って、前述した図６に示す情報処理装置の技術を生かし、ｎ個のファームウェアが一度に複数個で障害が発生した時に、その障害が発生したファームウェアのみを自動的に修復して再起動を実施しても、ファームウェア間で情報の共有ができなくなり、情報処理装置はシステムダウンすることになる。
【００１２】
そこで、本発明の目的は、複数のファームウェアが存在する情報処理装置において、１つおよび複数のファームウェアで障害が発生した場合でも、全てのファームウェアを自動修復することができ、高い信頼性を得ることができる情報処理装置を提供することにある。
【００１３】
【課題を解決するための手段】
本発明は、前記目的を達成するために、書き替え可能なメモリ（ＲＯＭ）に格納された運用ファームウェアと、その運用ファームウェアで動作するＣＰＵと、前記運用ファームウェアの１世代前もしくは動作実績のあるファームウェアである修復用ファームウェアを格納する不揮発性メモリ（ＲＯＭ）が存在し、前記運用ファームウェアでの起動障害を検出する機能と前記修復用ファームウェアを前記書き替え可能なＲＯＭに書き込む機能を持つ監視装置がシステムバスで接続されるモジュールがｎ個（ｎ：２以上）存在し、前記ｎ個のモジュールにおいて障害が発生した場合、前記ｎ個のモジュールの前記監視装置にファームウェアの書き替えを要求する機能と、再起動させる機能を持つシステム監視装置を１つ有する情報処理装置に適用され、以下のような特徴を有するものである。
【００１４】
すなわち、本発明における第１の情報処理装置は、前記情報処理装置が稼働している時、前記ｎ個のモジュールのうち、少なくとも１つのモジュールの前記監視装置が現在運用している前記運用ファームウェアでの障害を検出した時、障害を検出した前記監視装置は前記システム監視装置へ障害を検出したことを通知し、前記システム監視装置は前記ｎ個全てのモジュールの前記監視装置に対してファームウェアの書き替えを要求し、前記情報処理装置が前記システム監視装置によって再起動される前に前記ｎ個全てのモジュールの前記監視装置によって前記運用ファームウェアから前記修復用ファームウェアに同期して切り替え、正常に再起動する機能を有するものである。
【００１５】
さらに、本発明における第２の情報処理装置は、外部装置から行うファームウェアの書き替えは、前記ｎ個全てのモジュール内の不揮発性ＲＯＭにファームウェアを書き込み、前記システム監視装置はファームウェアの書き込み終了後に、前記ｎ個全てのモジュール内の前記監視装置に対してファームウェアの書き替えを要求し、前記監視装置は再起動する前に書き込んだファームウェアを前記書き替え可能なＲＯＭに書き替え、正常に再起動する機能を有するものである。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
【００１７】
（実施の形態１）
図１は本発明の実施の形態１である情報処理装置の全体の概略構成を示すブロック図である。図２は本実装の形態である情報処理装置の各モジュールに構成される監視装置の動作のフローチャートを示し、図３は情報処理装置のシステム監視装置の動作のフローチャートを示す。
【００１８】
まず、図１により、本実施の形態の情報処理装置の全体の概略構成の一例を説明する。
【００１９】
本実施の形態の情報処理装置は、たとえば２個のモジュールにより構成された情報処理装置であり、書き替え可能なＲＯＭ１０２に格納された運用ファームウェア１０３と、その運用ファームウェア１０３で動作するＣＰＵ１０１と、運用ファームウェア１０３の１世代前もしくは動作実績のあるファームウェアである修復用ファームウェア１０５を格納する不揮発性ＲＯＭ１０４が存在し、システムバス１００で接続されている。
【００２０】
また、システムバス１００には、運用ファームウェア１０３での起動障害を検出する機能と不揮発性ＲＯＭ１０４に格納する修復用ファームウェア１０５を書き替え可能なＲＯＭ１０２へ書き込む機能を持つ監視装置１０６が接続される。また、ＣＰＵ１０１の情報などを格納するＦＰＧＡ１１７も接続される。これらのシステムバス１００、ＣＰＵ１０１、書き替え可能なＲＯＭ１０２、運用ファームウェア１０３、不揮発性ＲＯＭ１０４、修復用ファームウェア１０５、ＦＰＧＡ１１７、および監視装置１０６を含めてモジュール１とする。
【００２１】
同様に、モジュール２についても、書き替え可能なＲＯＭ１０９に格納された運用ファームウェア１１０と、その運用ファームウェア１１０で動作するＣＰＵ１０８と、運用ファームウェア１１０の１世代前もしくは動作実績のあるファームウェアである修復用ファームウェア１１２を格納する不揮発性ＲＯＭ１１１が存在し、システムバス１１４で接続されている。
【００２２】
また、システムバス１１４には、運用ファームウェア１１０の起動障害を検出する機能と不揮発性ＲＯＭ１１１に格納する修復用ファームウェア１１２を書き替え可能なＲＯＭ１０９へ書き込む機能を持つ監視装置１１３が接続される。また、ＣＰＵ１０８の情報などを格納するＦＰＧＡ１１８も接続される。これらのシステムバス１１４、ＣＰＵ１０８、書き替え可能なＲＯＭ１０９、運用ファームウェア１１０、不揮発性ＲＯＭ１１１、修復用ファームウェア１１２、ＦＰＧＡ１１８、および監視装置１１３を含めてモジュール２とする。
【００２３】
この情報処理装置は、モジュール１とモジュール２が現在運用している運用ファームウェア１０３と運用ファームウェア１１０で起動障害を検出した場合に、モジュール１の監視装置１０６とモジュール２の監視装置１１３にファームウェアの書き替えを要求する機能と、再起動させる機能を持つシステム監視装置１１５がシステム管理バス１０７で接続される情報処理装置である。
【００２４】
なお、この情報処理装置では、複数の運用ファームウェア１０３，１１０でアドレス空間を共有する共有メモリ１１６がシステム管理バス１０７に接続され、また各モジュール１，２内において、各運用ファームウェア１０３，１１０が制御しているＦＰＧＡ１１７，１１８の情報も情報処理装置で共有するような構成となっている。
【００２５】
次に、図２および図３により、本実施の形態の情報処理装置において、起動障害を検出した場合の動作の一例を説明する。
【００２６】
たとえば、情報処理装置が稼働している時、モジュール１またはモジュール２において、現在運用している運用ファームウェア１０３または運用ファームウェア１１０で起動障害を検出した時、もしくはモジュール１の監視装置１０６とモジュール２の監視装置１１３が同時に運用ファームウェア１０３または運用ファームウェア１１０で起動障害を検出した時を想定する。この動作は、図２の監視装置１０６，１１３のフローチャートではステップＳ１０とＳ１１に相当する。
【００２７】
この起動障害とは、ＣＰＵ１０１およびＣＰＵ１０８から処理中におけるタイムアウト検出や、書き替え可能なＲＯＭ１０２と書き替え可能なＲＯＭ１０９の自己診断でエラーが発生した場合で、障害を検出した監視装置１０６および監視装置１１３はシステム監視装置１１５に障害が発生したことを通知する。この動作は、図２の監視装置１０６，１１３のフローチャートではステップＳ１２に相当する。
【００２８】
システム監視装置１１５は障害の報告を受けると、モジュール１の監視装置１０６およびモジュール２の監視装置１１３に対してファームウェアの書き替えを要求する。システム監視装置１１５は障害が発生したモジュールに関わらず、モジュール１の監視装置１０６およびモジュール２の監視装置１１３に対してファームウェアの書き替えを要求し、システム監視装置１１５は監視装置１０６と監視装置１１３にファームウェアの書き替え要求を通知した後、再起動する。この動作は、図３のシステム監視装置１１５のフローチャートではステップＳ２０からＳ２２に相当する。
【００２９】
モジュール１の監視装置１０６は再起動前に修復用ファームウェア１０５を書き替え可能なＲＯＭ１０２へ書き替え、モジュール２の監視装置１１３は再起動前に修復用ファームウェア１１２を書き替え可能なＲＯＭ１０９へ書き替える。この動作は、図２の監視装置１０６，１１３のフローチャートではステップＳ１３とＳ１４に相当する。
【００３０】
以上により、本実施の形態によれば、２個のモジュール１，２により構成され、複数の運用ファームウェア１０３，１１０が存在する情報処理装置において、１つおよび複数の運用ファームウェアで障害が発生した場合でも、運用ファームウェア１０３，１１０から修復用ファームウェア１０５，１１２に書き替えて自動修復することができる。
【００３１】
すなわち、複数の運用ファームウェア１０３，１１０が共有メモリ１１６のアドレス空間を共有したり、また複数の各運用ファームウェア１０３，１１０が制御しているＦＰＧＡ１１７，１１８の情報を共有するような構成においても、全ての運用ファームウェア１０３，１１０を自動修復することで、運用ファームウェア１０３，１１０間で情報の共有ができなくなることがないので、情報処理装置はシステムダウンすることはない。
【００３２】
（実施の形態２）
図４は本発明の実施の形態２である情報処理装置の全体の概略構成を示すブロック図である。
【００３３】
本実施の形態の情報処理装置は、前記実施の形態１と同様に、２個のモジュールにより構成された情報処理装置であり、前記実施の形態１との相違点は、ファームウェアの書き替えにおいて、情報処理装置をＰＣやサーバーの外部装置にシリアル回線２００で接続するようにした点である。
【００３４】
すなわち、本実施の形態の情報処理装置は、システムバス１００、ＣＰＵ１０１、書き替え可能なＲＯＭ１０２、運用ファームウェア１０３、不揮発性ＲＯＭ１０４、修復用ファームウェア１０５、ＦＰＧＡ１１７、および監視装置１０６を含めたモジュール１と、システムバス１１４、ＣＰＵ１０８、書き替え可能なＲＯＭ１０９、運用ファームウェア１１０、不揮発性ＲＯＭ１１１、修復用ファームウェア１１２、ＦＰＧＡ１１８、および監視装置１１３を含めたモジュール２と、共有メモリ１１６と、システム監視装置１１５などから構成され、システム監視装置１１５は外部装置にシリアル回線２００で接続されている。
【００３５】
本実施の形態の情報処理装置において、システム監視装置１１５は、外部装置からの書き替えるファームウェアを不揮発性ＲＯＭ１０４と不揮発性ＲＯＭ１１１に書き込み、書き込み終了後、再起動前に監視装置１０６と監視装置１１３にファームウェアの切り替え要求を通知し、再起動する。すなわち、再起動前に、不揮発性ＲＯＭ１０４と不揮発性ＲＯＭ１１１に書き込んだファームウェアを書き替え可能なＲＯＭ１０２と書き替え可能なＲＯＭ１０９に書き替えて再起動する。
【００３６】
以上により、本実施の形態の情報処理装置によれば、前記実施の形態１と同様の効果が得られるとともに、ファームウェアを外部装置から書き替えることができる。
【００３７】
（実施の形態３）
図５は本発明の実施の形態３である情報処理装置において、システム監視装置の動作のフローチャートを示す。
【００３８】
本実施の形態の情報処理装置は、前記実施の形態１および２のような２つのモジュールで構成された情報処理装置を含み、ｎ個（ｎ：２以上）のモジュールで構成された情報処理装置を考慮したものである。
【００３９】
よって、本実施の形態のように、ｎ個のモジュールで構成された情報処理装置では、システム監視装置のフローチャートのステップＳ３０においてｎ個のモジュールの障害を監視し、障害を検出した時は（ステップＳ３１）、ステップＳ３２においてｎ個全てのモジュールに対してファームウェア更新を指示する機能を持つことで実現される。
【００４０】
従って、本実施の形態によれば、２以上のｎ個のモジュールから構成される情報処理装置においても、前記実施の形態１および２と同様の効果を得ることができる。
【００４１】
【発明の効果】
本発明によれば、情報処理装置内の複数のファームウェアが障害を検出した場合でも、全ての運用ファームウェアを修復用ファームウェアに更新することで、システムダウンを防ぐことができる。この結果、全てのファームウェアを自動修復することができるので、高い信頼性を得る情報処理装置を実現することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１である情報処理装置を示すブロック図である。
【図２】本発明の実施の形態１である情報処理装置において、監視装置の動作を示すフローチャートである。
【図３】本発明の実施の形態１である情報処理装置において、システム監視装置の動作を示すフローチャートである。
【図４】本発明の実施の形態２である情報処理装置を示すブロック図である。
【図５】本発明の実施の形態３である情報処理装置において、システム監視装置の動作を示すフローチャートである。
【図６】本発明の前提として検討した情報処理装置を示すブロック図である。
【符号の説明】
１００，１１４…システムバス、１０１，１０８…ＣＰＵ、１０２，１０９…書き替え可能なＲＯＭ、１０３，１１０…運用ファームウェア、１０４，１１１…不揮発性ＲＯＭ、１０５，１１２…修復用ファームウェア、１０６，１１３…監視装置、１０７…システム管理バス、１１５…システム監視装置、１１６…共有メモリ、１１７，１１８…ＦＰＧＡ、２００…シリアル回線。
【図１】
2004199120.tif 000003
【図２】
2004199120.tif 000004
【図３】
2004199120.tif 000005
【図４】
2004199120.tif 000006
【図５】
2004199120.tif 000007
【図６】
2004199120.tif 000008