(57)【要約】      （修正有）【課題】ＯＳがハードウェアを使用できる環境設定を行うＢＩＯＳを一対のデータ処理装置で同期化する方法において、システム稼働中に、ＢＩＯＳの同期化を行っても、システム起動不能を防止する。【解決手段】各々のデータ処理装置１，２が、基本入出力プログラム（ＢＩＯＳ）をそれぞれ一対のプログラムメモリ（３２，３３）（４２，４３）で冗長管理し、データ処理装置のＢＩＯＳの同期時に、各々のＢＩＯＳの版数を比較し、版数が異なる場合に、同時に２つのプログラムメモリ（３２，３３）（４２，４３）を更新せず、待機側のみにライトし、現在稼動中のＢＩＯＳを書き換えない。このため、同期化により、一対のデータ処理装置で構成されたシステム起動不能になるのを防ぐことができる。【選択図】図１
2011204267.tif 000002
【特許請求の範囲】
【請求項１】
各々、ＣＰＵと、メモリと、周辺デバイスと、基本入出力プログラムを各々格納する一対のプログラムメモリと、サービスプロセッサとをバスで接続した一対のデータ処理装置の基本入出力プログラムの同期化方法であって、
前記データ処理装置の各々の起動時に、前記ＣＰＵが前記サービスプロセッサのメモリに稼働中に設定された一方のプログラムメモリの前記基本入出力プログラムのブート処理を実行し、前記ＣＰＵが、ＯＳを実行できる環境に、前記ＣＰＵと前記メモリと前記周辺デバイスと前記サービスプロセッサと前記バスとを設定するステップと、
前記データ処理装置の稼働中に、前記一対のデータ処理装置の第１のデータ処理装置が、前記一対のデータ処理装置の第２のデータ処理装置の前記サービスプロセッサのメモリに格納された前記プログラムメモリの前記基本入出力プログラムの第２の版数を読み出すステップと、
前記第１のデータ処理装置が、第１のデータ処理装置の前記サービスプロセッサのメモリに格納された前記プログラムメモリの前記基本入出力プログラムの第１の版数と前記第２の版数とを比較するステップと、
前記比較により、前記第１の版数が前記第２の版数より古い場合は、前記第１のデータ処理装置が、前記第２のデータ処理装置の稼働側のプログラムメモリの前記基本入出力プログラムを、前記第２のデータ処理装置から受信し、前記第１のデータ処理装置の待機側の前記プログラムメモリに書き込む第１のステップと、
前記比較により、前記第１の版数が前記第２の版数より新しい場合は、前記第１のデータ処理装置が、前記第１のデータ処理装置の稼働側のプログラムメモリの前記基本入出力プログラムを、前記第２のデータ処理装置に転送し、前記第２のデータ処理装置の待機側の前記プログラムメモリに書き込む第２のステップとを有する
ことを特徴とするデータ処理装置間の基本入出力プログラムの同期化方法。
【請求項２】
前記第１のデータ処理装置が、前記第１のステップの書き込みが成功したかを判定するステップと、
前記第１のステップの書き込みが成功した場合、前記第１のデータ処理装置が再起動を通知するステップと、
前記第１のステップの書き込みが失敗した場合に、前記第１のデータ処理装置が異常を通知するステップとを更に有する
ことを特徴とする請求項１のデータ処理装置間の基本入出力プログラムの同期化方法。
【請求項３】
前記第２のステップの書き込みが成功した場合、前記第２のデータ処理装置が再起動により、前記待機側の前記プログラムメモリに書き込まれた前記基本入出力プログラムのブート処理を実行するステップと、
前記第２のステップの書き込みが失敗した場合に、前記第２のデータ処理装置が異常を通知するステップとを更に有する
ことを特徴とする請求項１のデータ処理装置間の基本入出力プログラムの同期化方法。
【請求項４】
前記第１のデータ処理装置が再起動により、前記待機側のプログラムメモリを前記稼働側に、前記稼働側のプログラムメモリを前記待機側に設定するステップと、
前記第１のデータ処理装置の前記ＣＰＵが前記サービスプロセッサのメモリに稼働中に切り換えられたプログラムメモリの前記書き込まれた基本入出力プログラムのブート処理を実行し、前記ＣＰＵが、ＯＳを実行できる環境に、前記ＣＰＵと前記メモリと前記周辺デバイスと前記サービスプロセッサと前記バスとを設定するステップとを更に有する
ことを特徴とする請求項２のデータ処理装置間の基本入出力プログラムの同期化方法。
【請求項５】
相互に接続された一対のデータ処理装置を有し、
前記データ処理装置の各々は、ＣＰＵと、メモリと、周辺デバイスと、基本入出力プログラムを各々格納する一対のプログラムメモリと、サービスプロセッサとをバスで接続して構成され、
前記データ処理装置の各々の起動時に、前記ＣＰＵが前記サービスプロセッサのメモリに稼働中に設定された一方のプログラムメモリの前記基本入出力プログラムのブート処理を実行し、前記ＣＰＵが、ＯＳを実行できる環境に、前記ＣＰＵと前記メモリと前記周辺デバイスと前記サービスプロセッサと前記バスとを設定し、
前記データ処理装置の稼働中に、前記一対のデータ処理装置の第１のデータ処理装置が、前記一対のデータ処理装置の第２のデータ処理装置の前記サービスプロセッサのメモリに格納された前記プログラムメモリの前記基本入出力プログラムの第２の版数を読み出し、
前記第１のデータ処理装置が、第１のデータ処理装置の前記サービスプロセッサのメモリに格納された前記プログラムメモリの前記基本入出力プログラムの第１の版数と前記第２の版数とを比較し、
前記比較により、前記第１の版数が前記第２の版数より古い場合は、前記第１のデータ処理装置が、前記第２のデータ処理装置の稼働側のプログラムメモリの前記基本入出力プログラムを、前記第２のデータ処理装置から受信し、前記第１のデータ処理装置の待機側の前記プログラムメモリに書き込み、
前記比較により、前記第１の版数が前記第２の版数より新しい場合は、前記第１のデータ処理装置が、前記第１のデータ処理装置の稼働側のプログラムメモリの前記基本入出力プログラムを、前記第２のデータ処理装置に転送し、前記第２のデータ処理装置の待機側の前記プログラムメモリに書き込む
ことを特徴とするコンピュータシステム。
【請求項６】
前記第１のデータ処理装置は、前記第１のステップの書き込みが成功したかを判定し、
前記第１のステップの書き込みが成功した場合、前記第１のデータ処理装置が再起動を通知し、
前記第１のステップの書き込みが失敗した場合に、前記第１のデータ処理装置が異常を通知する
ことを特徴とする請求項５のコンピュータシステム。
【請求項７】
前記第２のデータ処理装置は、前記第２のステップの書き込みが成功した場合、再起動により、前記待機側の前記プログラムメモリに書き込まれた前記基本入出力プログラムのブート処理を実行し、
前記第２のステップの書き込みが失敗した場合に、前記第２のデータ処理装置が異常を通知する
ことを特徴とする請求項５のコンピュータシステム。
【請求項８】
前記一対のデータ処理装置の各々が、ストレージ制御装置を構成し、
前記各々のストレージ制御装置に接続された複数のストレージ装置とを有する
ことを特徴とする請求項５のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置間の基本入出力プログラム（ＢＩＯＳ：Basic Input/Output System）の同期化を行う方法及びコンピュータシステムに関する。
【背景技術】
【０００２】
磁気デイスク、光磁気デイスク、光デイスク等の記憶媒体を利用したストレージ機器では、データ処理装置の要求で、記憶媒体を実アクセスする。データ処理装置が、大容量のデータを使用する場合には、複数のストレージ機器と制御装置とを備えたストレージ装置を利用する。
【０００３】
このようなストレージ装置では、保存データの信頼性や、装置の信頼性を向上するため、冗長構成を採用している。更に、ストレージ制御装置は、ＣＰＵを含むデータ処理装置で構成されている。ＣＰＵは、ＣＰＵの制御プログラムであるＯＳ（Operating System）によって、資源の割り付けと保護、プログラムの実行、入出力操作、ファイル操作等の様々なサービスをユーザーに提供する。
【０００４】
これらのサービスを実現するためのＯＳの基本部分は、カーネル（kernel）と呼ばれている。近年のＯＳ，特にパーソナル・コンピュータ用ＯＳは、異なるハードウェアでも、共通のＯＳが動作するように、ハードウェアを制御する部分と、そうでない部分とを別モジュール群で作成している。このハードウェア制御部分は、ＢＩＯＳ（Basic Input/Output System）と称され、そうでない部分をカーネルと称される。
【０００５】
ＢＩＯＳは、コンピュータシステムのハードウェアをチエックし、カーネルがハードウェアを使用できる環境設定を行う。このようなＢＩＯＳは、従来、ファームウェアにバインドされ、メモリに一括格納されるため、版数が異なるものが動作することを防止していた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−３０６００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方、ある型番のＣＰＵでも、バグ等の発生により改良したＣＰＵも同一の型番を付す、いわゆる、ＣＰＵステッピング変更により、頻繁にＢＩＯＳ版数をアップデータする必要があるため、ＢＩＯＳをファームウェアでバインドせず、ＣＰＵバインドとする必要がある。即ち、ＣＰＵステッピング変更が起こった場合には、実装されているＣＰＵに対応したＢＩＯＳより新しいものである必要がある。
【０００８】
従来技術では、ＢＩＯＳのアップデートのための書込み中に、停電等により、ＢＩＯＳを格納するメモリに破壊が生じた場合に、システム動作が不能となるといおそれがある。即ち、ＢＩＯＳを格納するメモリからＢＩＯＳが、主記憶にロードされても、そのメモリのＢＩＯＳは、現在稼動中のため、停電等が生じると、書込み途中では、書込み前のＢＩＯＳが失われ、システム動作が不能となる。
【０００９】
又、書込みが成功しても、復電時に、前のＢＩＯＳと異なるＢＩＯＳで復電処理することになり、これを考慮して、ＢＩＯＳを変更する必要があるという制約が付けられ、ＢＩＯＳのアップデートの範囲が限られる。
【００１０】
従って、本発明の目的は、システムの稼動中に、一対のデータ処理装置の基本入出力プログラムの同期化を行っても、システム起動が不能となることを防止するためのデータ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステムを提供することにある。
【００１１】
又、本発明の他の目的は、基本入出力プログラムの書換えに失敗しても、システム起動が不能となることを防止するためのデータ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステムを提供することにある。
【００１２】
更に、本発明の他の目的は、基本入出力プログラムの書換え中に停電が生じても、システムの復電処理を可能とするデータ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステムを提供することにある。
【課題を解決するための手段】
【００１３】
この目的の達成のため、本発明の同期化方法は、各々、ＣＰＵと、メモリと、周辺デバイスと、基本入出力プログラムを各々格納する一対のプログラムメモリと、サービスプロセッサとをバスで接続した一対のデータ処理装置の基本入出力プログラムの同期化方法であって、前記データ処理装置の各々の起動時に、前記ＣＰＵが前記サービスプロセッサのメモリに稼働中に設定された一方のプログラムメモリの前記基本入出力プログラムのブート処理を実行し、前記ＣＰＵが、ＯＳを実行できる環境に、前記ＣＰＵと前記メモリと前記周辺デバイスと前記サービスプロセッサと前記バスとを設定するステップと、前記データ処理装置の稼働中に、前記一対のデータ処理装置の第１のデータ処理装置が、前記一対のデータ処理装置の第２のデータ処理装置の前記サービスプロセッサのメモリに格納された前記プログラムメモリの前記基本入出力プログラムの第２の版数を読み出すステップと、前記第１のデータ処理装置が、第１のデータ処理装置の前記サービスプロセッサのメモリに格納された前記プログラムメモリの前記基本入出力プログラムの第１の版数と前記第２の版数とを比較するステップと、前記比較により、前記第１の版数が前記第２の版数より古い場合は、前記第１のデータ処理装置が、前記第２のデータ処理装置の稼働側のプログラムメモリの前記基本入出力プログラムを、前記第２のデータ処理装置から受信し、前記第１のデータ処理装置の待機側の前記プログラムメモリに書き込む第１のステップと、前記比較により、前記第１の版数が前記第２の版数より新しい場合は、前記第１のデータ処理装置が、前記第１のデータ処理装置の稼働側のプログラムメモリの前記基本入出力プログラムを、前記第２のデータ処理装置に転送し、前記第２のデータ処理装置の待機側の前記プログラムメモリに書き込む第２のステップとを有する。
【００１４】
又、本発明のコンピュータシステムは、相互に接続された一対のデータ処理装置を有し、前記データ処理装置の各々は、ＣＰＵと、メモリと、周辺デバイスと、基本入出力プログラムを各々格納する一対のプログラムメモリと、サービスプロセッサとをバスで接続して構成され、前記データ処理装置の各々の起動時に、前記ＣＰＵが前記サービスプロセッサのメモリに稼働中に設定された一方のプログラムメモリの前記基本入出力プログラムのブート処理を実行し、前記ＣＰＵが、ＯＳを実行できる環境に、前記ＣＰＵと前記メモリと前記周辺デバイスと前記サービスプロセッサと前記バスとを設定し、前記データ処理装置の稼働中に、前記一対のデータ処理装置の第１のデータ処理装置が、前記一対のデータ処理装置の第２のデータ処理装置の前記サービスプロセッサのメモリに格納された前記プログラムメモリの前記基本入出力プログラムの第２の版数を読み出し、前記第１のデータ処理装置が、第１のデータ処理装置の前記サービスプロセッサのメモリに格納された前記プログラムメモリの前記基本入出力プログラムの第１の版数と前記第２の版数とを比較し、前記比較により、前記第１の版数が前記第２の版数より古い場合は、前記第１のデータ処理装置が、前記第２のデータ処理装置の稼働側のプログラムメモリの前記基本入出力プログラムを、前記第２のデータ処理装置から受信し、前記第１のデータ処理装置の待機側の前記プログラムメモリに書き込み、前記比較により、前記第１の版数が前記第２の版数より新しい場合は、前記第１のデータ処理装置が、前記第１のデータ処理装置の稼働側のプログラムメモリの前記基本入出力プログラムを、前記第２のデータ処理装置に転送し、前記第２のデータ処理装置の待機側の前記プログラムメモリに書き込む。
【００１５】
本発明では、各々のデータ処理装置が、基本入出力プログラム（ＢＩＯＳ）を一対のプログラムメモリで冗長管理し、データ処理装置のＢＩＯＳの同期時に、各々のＢＩＯＳの版数を比較し、版数が異なる場合に、同時に２つのプログラムメモリを更新せず、待機側のみにライトし、現在稼動中のＢＩＯＳを書き換えないため、同期化により、システム起動不能になるのを防ぐことができる。
【００１６】
又、待機側のプログラムメモリのみを更新するため、更新のライト中に停電が発生した場合、停電前と異なるＢＩＯＳで復電処理を行うことを防止できる。
【００１７】
更に、本発明では、好ましくは、前記待機中のメモリへの前記ＢＩＯＳのアップデートが成功した時に、前記待機中のメモリを前記稼動中に切り換えることを許可するステップを更に有する。これにより、アップデートしたＢＩＯＳに切り換えることを保証できる。
【００１８】
更に、本発明では、好ましくは、前記ハードウェアの起動時に、前記許可された待機中のメモリを稼動中に、前記稼動中のメモリを前記待機中に切り換えるステップを更に有する。これにより、アップデートしたＢＩＯＳに自動切換えできる。
【００１９】
更に、本発明では、好ましくは、前記切り換え後、前記稼動中に切り換えられたメモリのＢＩＯＳを、前記待機中に切り換えられたメモリに、書込み、冗長化するステップを更に有する。これにより、アップデートされてない他のメモリのＢＩＯＳもアップデートできる。
【００２０】
更に、本発明では、好ましくは、前記待機中のメモリへの前記ＢＩＯＳのアップデートが失敗した時に、前記待機中のメモリを前記稼動中に切り換えることを防止するステップを更に有する。これにより、アップデートが失敗したＢＩＯＳへの自動切換えを防止でき、不要な切り換えを防止できる。
【００２１】
更に、本発明では、好ましくは、前記待機中に切り換えられたメモリへの前記ＢＩＯＳの書込みが失敗した時に、前記待機中に切り替えられたメモリを前記稼動中に切り換えることを防止するステップを更に有する。これにより、冗長化に失敗したＢＩＯＳへの自動切換えを防止でき、不要な切り換えを防止できる。
【００２２】
更に、本発明では、好ましくは、前記ハードウェアの前記待機中のメモリのＢＩＯＳアップデートに応じて、前記ハードウェアと接続された他のハードウェアの待機中のメモリのＢＩＯＳアップデートを実行するステップを更に有する。これにより、一対のハードウェアのＢＩＯＳアップデートを同時にできる。
【００２３】
更に、本発明では、好ましくは、前記ハードウェアと接続された他のハードウェアとのＢＩＯＳの同期化処理を行うステップを更に有する。これにより、ハードウェア間のＢＩＯＳ版数を一致することができる。
【発明の効果】
【００２４】
このように、本発明では、本発明では、各々のデータ処理装置が、基本入出力プログラム（ＢＩＯＳ）を一対のプログラムメモリで冗長管理し、データ処理装置のＢＩＯＳの同期時に、各々のＢＩＯＳの版数を比較し、版数が異なる場合に、同時に２つのプログラムメモリを更新せず、待機側のみにライトし、現在稼動中のＢＩＯＳを書き換えないため、同期化により、一対のデータ処理装置で構成されたシステム起動不能になるのを防ぐことができる。
【００２５】
又、待機側のプログラムメモリのみを更新するため、更新のライト中に停電が発生した場合、停電前と異なるＢＩＯＳで復電処理を行うことを防止できる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施の形態のストレージシステムの構成図である。
【図２】図１の格納プログラムの構成図である。
【図３】図１のＲＳＰの冗長管理情報の説明図である。
【図４】図１のＢＩＯＳの処理フロー図である。
【図５】本発明の一実施の形態のＢＩＯＳアップデートの説明図である。
【図６】図５のＢＩＯＳアップデート処理フロー図である。
【図７】図６のＢＩＯＳフラッシュライト処理フロー図である。
【図８】図１のＣＭ起動時のＲＳＰの処理フロー図である。
【図９】図１のＢＩＯＳ冗長化処理フロー図である。
【図１０】図６のＢＩＯＳアップデート処理の動作説明図である。
【図１１】図７のＢＩＯＳフラッシュライト処理の動作説明図である。
【図１２】図９のＢＩＯＳ冗長化処理の動作説明図である。
【図１３】本発明の他の実施の形態のＣＭ間ＢＩＯＳ同期化処理フロー図である。
【図１４】図１３のＣＭ間ＢＩＯＳ同期化処理の動作説明図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施の形態を、ストレージシステム、ＢＩＯＳの冗長管理処理、ＣＭ間のＢＩＯＳ同期化処理、他の実施の形態の順で説明する。
【００２８】
［ストレージシステム］
図１は、本発明の一実施の形態のストレージシステムの構成図であり、磁気デイスクを使用したＲＡＩＤ（Redundant Arrays of Inexpensive Disk)システムを示す。図１に示すように、ストレージシステムは、一対の磁気デイスクコントローラ（以下、コントローラという）１、２と、この一対のコントローラ１、２にラインｌ１，ｌ２で接続された多数の磁気デイスク装置５０−１〜５０−ｍ、５２−１〜５２−ｎとからなる。
【００２９】
コントローラ１、２は、直接又はネットワーク機器を介し、ホストやサーバーに接続され、ホストやサーバーの大量のデータを、ＲＡＩＤデイスクドライブ（磁気デイスク装置）へ高速かつ、ランダムに読み書きが出来るシステムである。一対のコントローラ１、２は、同一の構成を有し、ＣＡ（Channel Adapter)１１、１２、２１、２２と、ＣＭ（Centralized Module)１０、１５〜１９、２０、２５〜２９と、ＤＡ（Device Adapter)１３、１４、２３、２４のファンクションモジュールによって構成されている。
【００３０】
ＣＡ（Channel Adapter）１１、１２、２１、２２は、ホストを結ぶホスト・インタフェースの制御をつかさどる回路であり、例えば、ファイバーチャネル回路（ＦＣ）とＤＭＡ（Direct Memory Access）回路等で構成される。ＤＡ（Device Adapter）１３、１４、２３、２４は、デイスクデバイス５０−１〜５０−ｍ、５２−１〜５２−ｍを制御するため、デイスクデバイスとコマンド、データのやり取りを行う回路であり、例えば、ファイバーチャネル回路（ＦＣ）とＤＭＡ回路等で構成される。
【００３１】
ＣＭ（Centralized Module）は、ＣＰＵ１０，２０と、ブリッジ回路１７、２７と、メモリ（ＲＡＭ）１５、２５と、コンパクトフラッシュ（登録商標）メモリ１６，２６と、ＩＯブリッジ回路１８，２８と、一対のＢＩＯＳフラッシュメモリ３２，３３，４２，４３とを有する。更に、ＣＭは、ＲＳＰ（Remote Service Processor）３４，４４と、外部接続用ＬＡＮポート３６，４６とを有する。メモリ１５，２５は、バッテリーでバックアップされ、主記憶として使用される。
【００３２】
ＣＰＵ１０，２０は、ブリッジ回路１７，２７を介し、メモリ１５，２５、コンパクトフラッシュ（登録商標）メモリ１６，２６、ＩＯブリッジ回路１８，２８に接続される。このメモリ１５，２５は、ＣＰＵ１０，２０のワーク領域に使用され、コンパクトフラッシュ（登録商標）メモリ１６，２６は、ＣＰＵ１０，２０が実行するプログラムを格納する。このプログラムとして、カーネル，ファイルアクセスプログラム（リード／ライトプログラム）、ＲＡＩＤ管理プログラム等を格納する。
【００３３】
ＢＩＯＳフラッシュメモリ３２，３３，４２，４３は、冗長構成のため、一対設けられ、一方が稼動、他方が待機に使用され、ＢＩＯＳ（図４で後述）を格納する。ＣＰＵ１０，２０は、このプログラムを実行し、リード／ライト処理、ＲＡＩＤ管理処理等を実行する。
【００３４】
ＰＣＩバス３５、４５は、ブリッジ回路１７，２７を介し、ＣＰＵ１０，２０と、コンパクトフラッシュ（登録商標）メモリ１５，２５、一対のＢＩＯＳフラッシュメモリ３２，３３，４２，４３、ＲＳＰ３４，４４，ＬＡＮポート３６，４６とを接続する。
【００３５】
ＲＳＰ３４，４４は、各種のリモートサービスを行うプロセッサで構成され、本実施例では、ＢＩＯＳフラッシュメモリ３２，３３，４２，４３の冗長管理を行う。ＬＡＮポート３６，４６は、外部のＬＡＮ（Local Area Network）と接続するためのものである。
【００３６】
ＰＣＩ（Personal Computer Interface）バス３１、４１は、ＣＡ１１，１２，２１，２２と、ＤＡ１３，１４，２３，２４とを接続するとともに、ＩＯブリッジ回路１８，２８を介し、ＣＰＵ１０，２０、メモリ１５，２５を接続する。更に、ＰＣＩバス３１、４１には、ＰＣＩ−ノードリンクブリッジ（ＰＮＢ）回路３０，４０が接続される。
【００３７】
コントローラ１のＰＣＩ−ノードリンクブリッジ回路３０は、コントローラ２のＰＣＩ−ノードリンクブリッジ回路４０と接続され、コントローラ１，２間のコマンド、データの交信を行う。
【００３８】
コントローラ１は、例えば、デイスク装置５０−１〜５０−ｍを担当し、コントローラ２は、例えば、デイスク装置５２−１〜５２−ｎを担当する。図１では、デイスク装置５０−１〜５０−ｍと、５２−１〜５２−ｎとが、ＲＡＩＤ５の構成を有する。
【００３９】
図２は、図１のコンパクトフラッシュ（登録商標）メモリ１６，２６に格納されたプログラムの一例であり、カーネル１０２、システム制御１０４、パワー制御１０６、構成管理１０８、保守タスク１１０、フラッシュドライバ１１２、ＲＳＰドライバ１１４等で構成される。カーネル１０２は、ＯＳであり、カーネル１０２以外は、ファームウェアである。
【００４０】
図３は、図１のＲＳＰ３４，４４のＮＶＲＡＭ（不揮発性ランダムアクセスメモリ）に格納されたＢＩＯＳ冗長管理情報の説明図であり、ｂｏｏｔ  ｍｏｄｅ１２０は、ＢＩＯＳのブートモード（ＦＡＳＴ／ＳＬＯＷ）を格納する。Ｃｕｒｒｅｎｔ  ｍｏｄｅ１２２は、現在稼動中のＢＩＯＳ番号＃を格納する。ＢＩＯＳ  ＳＷ１２４は、次回起動時に起動するＢＩＯＳ番号＃を格納する。待機ＢＩＯＳ版数１２６は、待機側のＢＩＯＳ版数を格納する。
【００４１】
図４は、図１のＢＩＯＳフラッシュメモリに格納されるＢＩＯＳの処理フロー図である。ＢＩＯＳは、前述のように、ＯＳ（カーネル）が使用するハードウェアをチエックし、ＯＳ（カーネル）が、ハードウェアを使用できる環境に設定する。従って、ＯＳのロード前に行われる。
【００４２】
（Ｓ１０）ＲＳＰ３４，４４が起動するＢＩＯＳを設定し、先ず、ＣＰＵ１０，２０のリセットが解除されると、ＣＰＵ１０，２０が、ＢＩＯＳフラッシュメモリ３２（又は３３）、４２（又は４３）のＢＩＯＳの先頭ブロックを読出し、ＲＳＰ３４，４４の初期化、即ち、ＢＩＯＳがＲＳＰ３４，４４の機能を使用できるような設定を、ＢＩＯＳ  Ｂｏｏｔｂｌｏｃｋの先頭で行う。次に、ＣＰＵ１０，２０の初期化を行う。即ち、ＣＰＵ１０，２０を使用できるように、レジスタの設定、マシンチエックの初期化等を行う。
【００４３】
（Ｓ１２）各チップセット（各ブリッジ回路１７，１８，２７，２８等）の初期化（Disable,レジスタ設定等）を行う。又、メモリ１５，２５の初期化（使用可能な状態にし、診断及びＥＣＣチエック等）を行う。
【００４４】
（Ｓ１４）このメモリ１５、２５、チップセットの初期化の後、ＢＩＯＳフラッシュメモリからメモリ１５、２５に、ＢＩＯＳをロードする。次に、ＰＣＩバス３１、３５，４１，４５に接続されたＰＣＩデバイス（ＣＡ１１，１２，２１，２２，ＤＡ１３，１４，２３，２４，ＬＡＮポート３６，４６）の初期化を行う。
【００４５】
（Ｓ１６）更に、必要に応じて、他のデバイスの初期化を行う。
【００４６】
（Ｓ１８）次に、各種のテーブルを作成し、ブートを終了する。これにより、コンパクトフラッシュ（登録商標）メモリ１６、２６からカーネル等がメモリ１５、２５にロードされ、プログラムが起動される。
【００４７】
図１のストレージシステムにおいて、コントローラ１，２では、メモリ１５，２５に配置されたキャッシュメモリは、各々、担当するデイスク装置のデータの一部を格納し、ホストからのライトデータを格納する。ＣＰＵ１０，２０は、ＣＡ１１，１２，２１，２２を介しホストからのリード要求を受けて、キャッシュメモリを参照し、物理デイスクへのアクセスが必要かを判定し、必要であれば、デイスクアクセス要求をＤＡ１３，１４，２３，２４に要求する。又、ＣＰＵ１０，２０は、ホストからのライト要求を受けて、ライトデータをキャッシュメモリに書込み、且つ内部でスケジュールされるライトバック等をＤＡ１３，１４，２３，２４に要求する。
【００４８】
［ＢＩＯＳの冗長管理処理］
前述のように、各コントローラ１，２に、ＢＩＯＳフラッシュメモリ（Flash ROM）を物理的に２つ実装している。この２つのフラッシュメモリへ同じ版数のＢＩＯＳを格納し、片方のＢＩＯＳフラッシュメモリ（Flash ROM）３２，４２がＢｏｏｔ不能になっても、もう一方３３，４３から同じ版数のＢＩＯＳを起動することができるように、冗長管理（図８で後述）を行う。
【００４９】
このＢＩＯＳの冗長化は、ＢＩＯＳ処理が終了後に，バイオス冗長処理ファームウェア（図９で後述）で行う。又、起動するＢＩＯＳは、ＲＳＰ３４，４４のProcessorにより，切り替えを行う。
【００５０】
先ず、ＢＩＯＳのアップデートを、図５、図６、図７、図１０乃至図１２で説明する。図５に示すように、ＢＩＯＳフラッシュメモリ（Flash ROM）３３へのフラッシュライトは、ユーザインタフェイスを使用して、ファームウェアから行う。
【００５１】
即ち、コントローラ１のＬＡＮポート３６に、ハブ７を介しパーソナルコンピュータ（以下、ＰＣという）６を接続し、図６及び図７の処理により、実行する。図６は、ＢＩＯＳアップデート指示処理フロー図である。
【００５２】
（Ｓ２０）ＰＣ６のＣＧＩ画面より、ＢＩＯＳアップデート指示を行う。即ち、ＢＩＯＳアップデート画面を表示し、アップデートを指示する。
【００５３】
（Ｓ２１）コントローラ１のＣＰＵ１０が実行する保守タスク１１０は、構成からＢＩＯＳ版数を獲得し、ＰＣ６のＣＧＩに通知する。
【００５４】
（Ｓ２２）ＰＣ６のＣＧＩでは、通知された現在稼動中のＢＩＯＳ版数をＣＧＩ画面に表示する。そして、ユーザが確認後、ＰＣ６のＣＧＩは、ＢＩＯＳ  ＲＯＭ  Ｉｍａｇｅを、ＣＰＵ１０が実行する保守タスク１１０に転送する。
【００５５】
（Ｓ２３）保守タスク１１０は、ＣＧＩから受け取ったＢＩＯＳ  ＲＯＭ  Ｉｍａｇｅのチエックサムをチエックし、異常だったら、ＣＧＩに異常を通知する。異常でなければ、転送されたＢＩＯＳの版数を，ＣＧＩに通知する。
【００５６】
（Ｓ２４）ＣＧＩでは、ＣＧＩ画面に，チエックサムエラーが発生した場合は、その旨を表示する。
【００５７】
（Ｓ２５）ＣＧＩでは、正常だった場合は、保守タスクから受け取ったＢＩＯＳ版数を，画面に表示し、このＢＩＯＳにアップデートしていいか最終確認を行う。
【００５８】
（Ｓ２６）続行なら、ＣＧＩは、フラッシュライト指示を保守タスク１１０へ送る。保守タスク１１０は、フラッシュライト指示を受け、図７のＢＩＯＳフラッシュライト処理を実行する。
【００５９】
図７は、保守タスクが実行するフラッシュライト処理フロー図である。
【００６０】
（Ｓ３０）保守タスク１１０は、ＢＩＯＳフラッシュライト指示を受けると、ＲＳＰ３４，４４内のＮＶＲＡＭ（図３参照）のCurrent  SW１２２から現在稼動中のＢＩＯＳのフラッシュメモリ番号（図１の３２か３３）を獲得する。
【００６１】
（Ｓ３２）次に、保守タスク１１０は、ＲＳＰ３４，４４内のＮＶＲＡＭ（図３参照）の待機ＢＩＯＳ版数１２６の版数を無効化する。これにより、ＢＩＯＳフラッシュＲＯＭの自動切換えを防止する。
【００６２】
（Ｓ３４）ステップＳ３０の現在稼動中のＢＩＯＳのフラッシュメモリ番号から待機中のＢＩＯＳフラッシュメモリを求め、カーネル１０２が用意する関数を使用し、現在稼動中ではない方（待機側）のＢＩＯＳフラッシュＲＯＭに、転送されたＢＩＯＳをフラッシュライトする。このとき、ＢＩＯＳ  Ｂｏｏｔ  Ｂｌｏｃｋ部もフラッシュライトする。
【００６３】
（Ｓ３６）保守タスク１１０は、正常にフラッシュライト終了したかを判定する。
【００６４】
（Ｓ３８）保守タスク１１０は、正常にフラッシュライト終了したと判定すると、ＲＳＰ３４，４４内のＮＶＲＡＭ（図３参照）のＢＩＯＳ  ＳＷ１２４の次回起動時に起動するＢＩＯＳ番号に、フラッシュライトしたＢＩＯＳフラッシュＲＯＭ番号を設定する。又、保守タスク１１０は、ＲＳＰ３４，４４内のＮＶＲＡＭ（図３参照）の待機ＢＩＯＳ版数１２６に、このフラッシュライトされたＢＩＯＳ版数を設定し、この書き換えられたフラッシュＲＯＭを有効化する。従って、次回の起動時には、書き換えられたＢＩＯＳが選択される。更に、ＷｅｂにＢＩＯＳのアップデートが正常終了したことを通知し、ＰＣ６のＣＧＩで確認させる。そして、終了する。
【００６５】
（Ｓ４０）一方、ステップＳ３６で、ＢＩＯＳアップデート時に、フラッシュライトエラーが発生したことを検出した場合には、待機側ＢＩＯＳフラッシュメモリが異常であることを、システム制御１０４に通知し、エラーが発生したコントローラの状態を予防保守が必要な状態にする（例えば、状態ランプはOrangeとする）。そして、ＰＣ６のＣＧＩ画面に，ＢＩＯＳアップデートが失敗したことが通知される。この場合に、ＢＩＯＳ  ＳＷ１２４、待機ＢＩＯＳ版数１２６は、更新されないため、エラーが発生したＢＩＯＳフラッシュＲＯＭへの自動切り換えを防止できる。
【００６６】
このように、ＢＩＯＳアップデート時に、同時に２つのＢＩＯＳフラッシュＲＯＭに，フラッシュライトせず、待機側のみにフラッシュライトする。この理由は、現在稼動中のＢＩＯＳを書き換えるのは危険であるからである。即ち、フラッシュライトに失敗したときに、現在稼動中のＢＩＯＳを書き換えないため、現在稼動中のＢＩＯＳで起動できるため、システム起動不能になるのを防ぐことができる。
【００６７】
又、フラッシュライト中に停電が発生した場合、停電前と異なるＢＩＯＳで復電処理を行うことになり、版数の異なるＢＩＯＳ間でＦａｓｔ Ｂｏｏｔを保障しなければならないため、待機側のみフラッシュライトする。尚、Ｆａｓｔ  Ｂｏｏｔとは、停電発生時に、コントローラ内のメモリ１５、２５のキャッシュ域のデータは、バッテリバックアップにより保持されるため、復電時に、キャッシュ上のデータを保証するため、メモリ初期化を省略して、コントローラを立ち上げるモードである。ここで、停電／復電を挟んで、ＢＩＯＳ版数が異なると、ハード初期化手順が相違し、メモリデータが保証できなくなる。
【００６８】
更に、図１の２つのコントローラ１、２が接続されたモデルでは、図１のコントローラ１の保守タスク１１０と同様に、コントローラ１がＰＣ６から受けたコマンド、情報が、ＰＮＢ３０，４０経由で、コントローラ２に伝達され、コントローラ２の保守タスク１１０が同一動作を行う。従って、コントローラ２の待機側ＢＩＯＳフラッシュＲＯＭも同時にアップデートされる。
【００６９】
この場合に、ＢＩＯＳアップデート時に、片方のコントローラだけＢＩＯＳアップデートが失敗した場合には、ＰＣ６のＣＧＩ画面に，ＢＩＯＳアップデートが失敗したことが通知される。アップデートに失敗したコントローラの次回起動時に立ち上げるＢＩＯＳは切換えできず、現在のＢＩＯＳで起動する。この状態では、２つのコントローラのＢＩＯＳの冗長化は行なわれていないが、次回のパワーオン時に、図１３で後述するように、冗長化される。
【００７０】
次に、コントローラ起動時のＢＩＯＳの切り換え処理を説明する。図８は、コントローラ起動時のＲＳＰのＢＩＯＳ起動処理フロー図である。
【００７１】
（Ｓ５０）適当なタイミングでコントローラが再起動されると、ＲＳＰ３４、４４は、ＲＳＰ３４，４４内のＮＶＲＡＭ（図３参照）のboot mode１２０からＢｏｏｔ  ｍｏｄｅ（Ｆａｓｔ／Ｓｌｏｗ）を獲得する。Ｆａｓｔ  ｂｏｏｔ  ｍｏｄｅは、停電後の復電などで前回起動したＢＩＯＳで起動するモードである。一方、Ｓｌｏｗ  ｂｏｏｔ  ｍｏｄｅは、通常のパワーオンなどで書き換えられたＢＩＯＳで起動するモードである。
【００７２】
（Ｓ５２）ＲＳＰ３４、４４は、ｂｏｏｔ  ｍｏｄｅを判定し、ＦＡＳＴなら、ステップＳ５６に進む。即ち、ステップＳ５４をジャンプし、停電前のＢＩＯＳを使用し、復電時の整合性を取る。
【００７３】
（Ｓ５４）一方、Ｓｌｏｗと判定すると、ＲＳＰ３４，４４内のＮＶＲＡＭ（図３参照）のＢＩＯＳ  ＳＷ１２４の次回起動時に起動するＢＩＯＳ番号を獲得し、ＲＳＰ３４，４４内のＮＶＲＡＭ（図３参照）のＣｕｒｒｅｎｔ  ＳＷ１２２に、獲得したＢＩＯＳ番号を設定する。従って、起動ＢＩＯＳは、書き換えられたＢＩＯＳに切り替えられる。
【００７４】
（Ｓ５６）ＲＳＰ３４、４４は、ＮＶＲＡＭ（図３参照）のＣｕｒｒｅｎｔ  ＳＷ１２２に設定されたＢＩＯＳを起動する。
【００７５】
このようにして、起動時に、復電時以外は、更新されたＢＩＯＳに切り替わる。復電時は、前のＢＩＯＳを起動する。
【００７６】
図９は、パワー制御が実行するＢＩＯＳ冗長化処理フロー図である。
【００７７】
（Ｓ６０）ＢＩＯＳ処理（図４）が終了すると、パワー制御１０６内のＢＩＯＳ冗長化処理は、ＲＳＰ３４，４４内のＮＶＲＡＭ（図３参照）のＢＩＯＳ  ＳＷ１２４の次回起動時に起動するＢＩＯＳ番号と、Ｃｕｒｒｅｎｔ  ＳＷ１２２の現在稼動中のＢＩＯＳ番号を獲得する。
【００７８】
（Ｓ６２）ＢＩＯＳ  ＳＷ１２４の次回起動時に起動するＢＩＯＳ番号と、Ｃｕｒｒｅｎｔ  ＳＷ１２２の現在稼動中のＢＩＯＳ番号とが一致しているかを判定する。一致していない場合には、停電後の復電時等、次回に指定したＢＩＯＳで起動していないため、冗長化処理を行わず、終了する。
【００７９】
（Ｓ６４）ＢＩＯＳ番号が一致している場合には、ＲＳＰ３４，４４の待機ＢＩＯＳ版数１２６が無効かをチエックする。待機ＢＩＯＳ版数が無効である場合には、待機ＢＩＯＳが異常なため、ステップＳ６８の冗長化に進む。
【００８０】
（Ｓ６６）待機ＢＩＯＳが無効でない場合には、稼動中と待機中の両ＢＩＯＳの版数を比較し、一致するかを判定する。一致する場合には、両ＢＩＯＳの版数が同じであるから、冗長化は必要なく、終了する。
【００８１】
（Ｓ６８）一致しない場合には、冗長化が必要であり、稼動中ＢＩＯＳ  Ｉｍａｇｅを、待機側のＢＩＯＳフラッシュメモリにフラッシュライトする。このときに、ライトするＢＩＯＳ  ＲＯＭ  Ｉｍａｇｅは、現在稼動中のＢＩＯＳフラッシュＲＯＭのデータを使用する。そして、ＲＳＰ３４，４４のＮＶＲＡＭの待機ＢＩＯＳ版数を設定し、待機側を有効化し、冗長化処理を終了する。
【００８２】
図１０乃至図１２は、その動作説明図である。図１０に示すように、図６の処理により、メモリ１５、２５に、転送ＢＩＯＳが書き込まれる。図６でフラッシュライトが許可されると、図１１に示すように、図７の処理で、メモリ１５、２５の転送ＢＩＯＳが、待機側のＢＩＯＳフラッシュＲＯＭ３２，４２に書き込まれる。そして、図１２に示すように、コントローラの起動時には、図８の処理により、待機側が起動され、稼動中のＢＩＯＳフラッシュＲＯＭ３３，４３は、待機側となる。又、図９の処理により、稼動中に変更されたＢＩＯＳフラッシュＲＯＭ３２，４２のＢＩＯＳが、待機中に変更されたＢＩＯＳフラッシュＲＯＭ３３，４３に書き込まれる。
【００８３】
又、ステップＳ６８のＢＩＯＳ冗長化時に、フラッシュライトエラーが発生した場合には、コントローラの動作自体には問題がないため、レデイで起動するが、エラーが発生したコントローラの状態を予防保守が必要な状態にする（状態ランプはOrange）。更に、エラーが発生したＢＩＯＳフラッシュＲＯＭへの自動切り換えを行なわないように、待機側を有効化しない。
【００８４】
更に、ＢＩＯＳアップデート後の再起動で、ＢＩＯＳが正常に起動しない場合（新ＢＩＯＳが正常に起動しなかった場合）には、自動でＢＩＯＳフラッシュＲＯＭを切り換えることはせず、フロントパネルを使用して古い版数のＢＩＯＳに切り替えを行う。起動しないことで、ユーザは、新しいＢＩＯＳが正常に起動しなかったことがわかる。
【００８５】
更に、通常の運用においては、２つのＢＩＯＳフラッシュＲＯＭの片方のフラッシュＲＯＭが異常になった場合でも，もう一方のフラッシュＲＯＭでＢＩＯＳが起動できる。この切り替え方法として、ユーザインタフェイスからの指示により、ＢＩＯＳフラッシュＲＯＭを切り換える。
【００８６】
又、自動切換えの方法としては、ＲＳＰ３４，４４が、ＢＩＯＳのＢｏｏｔ  ｂｌｏｃｋ処理中にHeart Beat Error（ＢＩＯＳからの応答なし）を検出し、ＢＩＯＳフラッシュＲＯＭを切り替える。ただし，ＢＩＯＳフラッシュＲＯＭを切替えるのは，待機側のＢＩＯＳが使用可能（有効）である場合のみで、使用不可能な場合は、切替えを行わず、デグレードさせる。切り替え発生後、ＢＩＯＳ処理が終了し，ファームウェアまで起動することができれば、図９で説明したＢＩＯＳ冗長化処理が実行される。
【００８７】
［ＣＭ間のＢＩＯＳ同期化処理］
次に、図１のように、２つのコントローラを搭載した場合に、図１に示したＣＭ（Centralized Module）間のＢＩＯＳ同期化処理を説明する。例えば、図１４に示すように、コントローラ２のＣＭ２が、障害を起こし、ＣＭ２’に交換した場合に、コントローラ１のＣＭ１とコントローラ２のＣＭ２’とで、ＢＩＯＳの同期化を行い、ＣＭ交換時のＢＩＯＳ版数の食い違いをなくす。
【００８８】
ＳｌａｖｅＣＭ（例えば、コントローラ２のＣＭ）のＢＩＯＳをアップデートした場合は、自動で再起動し、新しいＢＩＯＳで起動する。ＭａｓｔｅｒＣＭ（例えば、コントローラ１のＣＭ）のＢＩＯＳをアップデートした場合は、自動Ｒｅｂｏｏｔを行わず，ユーザにこのことを通知する。
【００８９】
図１３は、このＣＭ間のＢＩＯＳ同期処理フロー図である。
【００９０】
（Ｓ７０）マスタＣＭが、ＢＩＯＳ同期化処理を開始する。先ず、スレーブＣＭのＢＩＯＳ版数を獲得する。
【００９１】
（Ｓ７２）マスタＣＭは、マスタＣＭのＢＩＯＳ版数とスレーブＣＭのＢＩＯＳ版数とを比較する。一致する場合には、ＢＩＯＳ同期化が不要のため、終了する。
【００９２】
（Ｓ７４）比較により、マスタＣＭのＢＩＯＳ版数がスレーブＣＭのＢＩＯＳ版数より小さい、即ち、マスタＣＭのＢＩＯＳが古い場合には、マスタＣＭのＢＩＯＳアップデートが必要である。先ず、マスタＣＭは、スレーブＣＭに、ＢＩＯＳデータの転送を要求する。
【００９３】
（Ｓ７６）スレーブＣＭでは、スレーブＣＭの稼動中のＢＩＯＳフラッシュＲＯＭからＢＩＯＳをリードし、マスタＣＭへ転送する。
【００９４】
（Ｓ７８）マスタＣＭでは、転送されたＢＩＯＳを待機側のＢＩＯＳフラッシュＲＯＭにライトする。これにより、古い版数のＢＩＯＳがアップデートされる。
【００９５】
（Ｓ８０）マスタＣＭは、ＢＩＯＳのライトが成功したかを判定し、成功した場合には、ユーザに、ＢＩＯＳがアップデートされ、再起動が必要なことを通知する。従って、再起動により、ＢＩＯＳアップデートが完了する。逆に、ＢＩＯＳライトが失敗した場合には、マスタＣＭの待機側ＢＩＯＳフラッシュＲＯＭが、異常なため、マスタＣＭを予防保守対象にし、異常をユーザに通知する。
【００９６】
（Ｓ８２）逆に、ステップＳ７２の比較により、マスタＣＭのＢＩＯＳ版数がスレーブＣＭのＢＩＯＳ版数より大きい、即ち、マスタＣＭのＢＩＯＳが新しい場合には、スレーブＣＭのＢＩＯＳアップデートが必要である。先ず、マスタＣＭは、マスタＣＭの稼動中のＢＩＯＳフラッシュＲＯＭからＢＩＯＳをリードし、スレーブＣＭへ転送する。
【００９７】
（Ｓ８４）スレーブＣＭでは、転送されたＢＩＯＳを待機側のＢＩＯＳフラッシュＲＯＭにライトする。これにより、古い版数のＢＩＯＳがアップデートされる。更に、ライト結果をマスタＣＭに通知する。
【００９８】
（Ｓ８６）マスタＣＭは、通知結果からＢＩＯＳのライトが成功したかを判定し、成功した場合には、スレーブＣＭが再起動され、ＢＩＯＳアップデートが完了する。逆に、ＢＩＯＳライトが失敗した場合には、スレーブマスタＣＭの待機側ＢＩＯＳフラッシュＲＯＭが、異常なため、スレーブＣＭを予防保守対象にし、異常をユーザに通知する。
【００９９】
このようにして、ＣＭ間で新しいＢＩＯＳに同期化される。
【０１００】
［他の実施の形態］
前述の実施の形態では、図１のような冗長構成のＲＡＩＤで説明したが、これ以外の冗長構成のストレージシステムに適用できる。又、物理デイスクは、磁気デイスク、光デイスク、光磁気デイスク、各種のストレージデバイスを適用できる。
【０１０１】
又、ストレージシステムの適用を説明したが、ストレージに限らず、他のコントローラやデータ処理装置に適用できる。更に、２つのＣＭの例で説明したが、１つのＣＭでも適用でき、ＢＩＯＳの格納に、フラッシュメモリを使用したが、他の不揮発性な書き換え可能なメモリを使用できる。
【０１０２】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【０１０３】
（付記１）ＯＳがハードウェアを使用できる環境に、前記ハードウェアを設定するＢＩＯＳを、各々格納する一対のメモリの一方を稼動中、他方を待機に使用するステップと、前記一方のメモリのＢＩＯＳがブート不能である時に、前記待機中のメモリのＢＩＯＳに切り換えるステップと、前記ＢＩＯＳのアップデートを前記待機中のメモリへの書込みにより実行するステップとを有することを特徴とするＢＩＯＳの冗長管理方法。
【０１０４】
（付記２）前記待機中のメモリへの前記ＢＩＯＳのアップデートが成功した時に、前記待機中のメモリを前記稼動中に切り換えることを許可するステップを更に有することを特徴とする付記１のＢＩＯＳの冗長管理方法。
【０１０５】
（付記３）前記ハードウェアの起動時に、前記許可された待機中のメモリを稼動中に、前記稼動中のメモリを前記待機中に切り換えるステップを更に有することを特徴とする付記２のＢＩＯＳの冗長管理方法。
【０１０６】
（付記４）前記切り換え後、前記稼動中に切り換えられたメモリのＢＩＯＳを、前記待機中に切り換えられたメモリに、書込み、冗長化するステップを更に有することを特徴とする付記３のＢＩＯＳの冗長管理方法。
【０１０７】
（付記５）前記待機中のメモリへの前記ＢＩＯＳのアップデートが失敗した時に、前記待機中のメモリを前記稼動中に切り換えることを防止するステップを更に有することを特徴とする付記１のＢＩＯＳの冗長管理方法。
【０１０８】
（付記６）前記待機中に切り換えられたメモリへの前記ＢＩＯＳの書込みが失敗した時に、前記待機中に切り替えられたメモリを前記稼動中に切り換えることを防止するステップを更に有することを特徴とする付記４のＢＩＯＳの冗長管理方法。
【０１０９】
（付記７）前記ハードウェアの起動が復電である場合には、前記切り換えの実行を防止することを特徴とする付記３のＢＩＯＳの冗長管理方法。
【０１１０】
（付記８）前記ハードウェアの起動が復電である場合には、前記冗長化の実行を防止することを特徴とする付記４のＢＩＯＳの冗長管理方法。
【０１１１】
（付記９）前記ハードウェアの前記待機中のメモリのＢＩＯＳアップデートに応じて、前記ハードウェアと接続された他のハードウェアの待機中のメモリのＢＩＯＳアップデートを実行するステップを更に有することを特徴とする付記１のＢＩＯＳの冗長管理方法。
【０１１２】
（付記１０）前記ハードウェアと接続された他のハードウェアとのＢＩＯＳの同期化処理を行うステップを更に有することを特徴とする付記１のＢＩＯＳの冗長管理方法。
【０１１３】
（付記１１）ＣＰＵを含むハードウェアと、ＯＳが前記ハードウェアを使用できる環境に、前記ハードウェアを設定するＢＩＯＳを、各々格納する一対のメモリと、前記ハードウェアの起動時に、前記一対のメモリの一方を稼動中、他方を待機に使用し、前記一方のメモリのＢＩＯＳがブート不能である時に、前記待機中のメモリのＢＩＯＳに切り換えるサービスプロセッサとを有し、前記ＣＰＵは、前記ＢＩＯＳのアップデートを前記待機中のメモリへの書込みにより実行することを特徴とするデータ処理装置。
【０１１４】
（付記１２）前記サービスプロセッサは、前記待機中のメモリへの前記ＢＩＯＳのアップデートが成功した時に、前記待機中のメモリを前記稼動中に切り換えることを許可することを特徴とする付記１１のデータ処理装置。
【０１１５】
（付記１３）前記サービスプロセッサは、前記ハードウェアの起動時に、前記許可された待機中のメモリを稼動中に、前記稼動中のメモリを前記待機中に切り換えることを特徴とする付記１２のデータ処理装置。
【０１１６】
（付記１４）前記ＣＰＵは、前記切り換え後、前記稼動中に切り換えられたメモリのＢＩＯＳを、前記待機中に切り換えられたメモリに、書込み、冗長化することを特徴とする付記１３のデータ処理装置。
【０１１７】
（付記１５）前記ＣＰＵは、前記待機中のメモリへの前記ＢＩＯＳのアップデートが失敗した時に、前記待機中のメモリを前記稼動中に切り換えることを防止することを特徴とする付記１１のデータ処理装置。
【０１１８】
（付記１６）前記ＣＰＵは、前記待機中に切り換えられたメモリへの前記ＢＩＯＳの書込みが失敗した時に、前記待機中に切り換えられたメモリを前記稼動中に切り換えることを防止することを特徴とする付記１４のデータ処理装置。
【０１１９】
（付記１７）前記ハードウェアと接続された他のハードウェアを更に有し、前記ハードウェアの前記待機中のメモリのＢＩＯＳアップデートに応じて、前記ハードウェアと接続された他のハードウェアの待機中のメモリのＢＩＯＳアップデートを実行することを特徴とする付記１１のデータ処理装置。
【０１２０】
（付記１８）前記ハードウェアは、前記ハードウェアと接続された他のハードウェアとのＢＩＯＳの同期化処理を行うことを特徴とする付記１１のデータ処理装置。
【０１２１】
（付記１９）ＣＰＵを含むハードウェアと、ＯＳが前記ハードウェアを使用できる環境に、前記ハードウェアを設定するＢＩＯＳを、各々格納する一対のメモリと、前記ハードウェアの起動時に、前記一対のメモリの一方を稼動中、他方を待機に使用し、前記一方のメモリのＢＩＯＳがブート不能である時に、前記待機中のメモリのＢＩＯＳに切り換えるサービスプロセッサとを有するストレージ制御装置と、前記ストレージ制御装置に接続された複数のストレージ装置とを有し、前記ストレージ制御装置の前記ＣＰＵは、前記ＢＩＯＳのアップデートを前記待機中のメモリへの書込みにより実行することを特徴とするストレージシステム。
【０１２２】
（付記２０）前記ストレージ制御装置の前記サービスプロセッサは、前記待機中のメモリへの前記ＢＩＯＳのアップデートが成功した時に、前記待機中のメモリを前記稼動中に切り換えることを許可することを特徴とする付記１９のストレージシステム。
【０１２３】
（付記２１）前記ストレージ制御装置の前記サービスプロセッサは、前記ハードウェアの起動時に、前記許可された待機中のメモリを稼動中に、前記稼動中のメモリを前記待機中に切り換えることを特徴とする付記２０のストレージシステム。
【０１２４】
（付記２２）前記ストレージ制御装置の前記ＣＰＵは、前記切り換え後、前記稼動中に切り換えられたメモリのＢＩＯＳを、前記待機中に切り換えられたメモリに、書込み、冗長化することを特徴とする付記２１のストレージシステム。
【０１２５】
（付記２３）前記ストレージ制御装置の前記ＣＰＵは、前記待機中のメモリへの前記ＢＩＯＳのアップデートが失敗した時に、前記待機中のメモリを前記稼動中に切り換えることを防止することを特徴とする付記１９のストレージシステム。
【０１２６】
（付記２４）前記ストレージ制御装置の前記ＣＰＵは、前記待機中に切り換えられたメモリへの前記ＢＩＯＳの書込みが失敗した時に、前記待機中に切り替えられたメモリを前記稼動中に切り換えることを防止することを特徴とする付記２２のストレージシステム。
【０１２７】
（付記２５）前記ストレージ装置及び前記ストレージ制御装置に接続され、前記ストレージ装置を制御する他のストレージ制御装置を更に有し、前記ストレージ制御装置の前記待機中のメモリのＢＩＯＳアップデートに応じて、前記他のストレージ制御装置の待機中のメモリのＢＩＯＳアップデートを実行することを特徴とする付記１９のストレージシステム。
【０１２８】
（付記２６）前記ストレージ装置及び前記ストレージ制御装置に接続され、前記ストレージ装置を制御する他のストレージ制御装置を更に有し、前記ストレージ制御装置は、前記他のストレージ制御装置とのＢＩＯＳの同期化処理を行うことを特徴とする付記１９のストレージシステム。
【符号の説明】
【０１２９】
１、２  ストレージコントローラ
７  ハブ
６  パーソナルコンピュータ
１１、１２、２１、２３  チャネルアダプター
１３、１４、２３、２４  デバイスアダプター
１０、２０  ＣＰＵ
１５，２５  メモリ
１６、２６  プログラムメモリ
３２，３３，４２，４３  ＢＩＯＳフラッシュＲＯＭ
３４，４４  ＲＳＰ
３０、４０  ＰＣＩ−ノードブリッジ回路
３１、４１  ＰＣＩバス
３６，４６  ＬＡＮポート
５０−１〜５０−ｍ、５２−１〜５２−ｎ  物理デイスク装置（ストレージ装置）
【図１】
2011204267.tif 000003
【図２】
2011204267.tif 000004
【図３】
2011204267.tif 000005
【図４】
2011204267.tif 000006
【図５】
2011204267.tif 000007
【図６】
2011204267.tif 000008
【図７】
2011204267.tif 000009
【図８】
2011204267.tif 000010
【図９】
2011204267.tif 000011
【図１０】
2011204267.tif 000012
【図１１】
2011204267.tif 000013
【図１２】
2011204267.tif 000014
【図１３】
2011204267.tif 000015
【図１４】
2011204267.tif 000016