(57)【特許請求の範囲】
【請求項１】
ホストシステムからのＩ／Ｏリクエストに応答してデータ処理を行うストレージシステムであって、
前記ホストシステムに接続するホストインターフェースを制御するためのチャネルアダプタと
前記ホストシステムが読み書きするデータを格納するディスクドライブと、
前記ディスクドライブに接続するバックインターフェースを制御するディスクアダプタと、
前記ディスクドライブに読み書きされるデータを一時的に格納するためのキャッシュメモリと、
前記チャネルアダプタ、前記ディスクドライブ、前記ディスクアダプタ、及び前記キャッシュメモリに予備電源を供給するバッテリモジュールと、
を備え、
電源障害が生じたときに、前記バッテリモジュールから出力される電力を前記キャッシュメモリに供給して、電源障害が回復する迄の間、前記キャッシュメモリ上のダーティデータを保護する第一の動作モード、
電源障害が生じたときに、前記バッテリモジュールから出力される電力を前記ディスクドライブ、前記ディスクアダプタ、及び前記キャッシュメモリに供給し、前記キャッシュメモリ上にあるダーティデータを前記ディスクドライブにデステージする第二の動作モード、
電源障害が発生してから発電機が作動するまでの間、前記バッテリモジュールから出力される電力を前記チャネルアダプタ、前記ディスクアダプタ、前記キャッシュメモリ、及び前記ディスクドライブに供給する第三の運転モード、
電源障害が生じたときに、前記バッテリモジュールから出力される電力を前記チャネルアダプタ、及び前記キャッシュメモリに供給し、前記キャッシュメモリ上のダーティデータを外部接続ストレージシステムに送信する第四の運転モード、
のうち予め設定された運転モードに基づいて動作する、ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、前記バッテリモジュールは、増設可能である、ストレージシステム。
【請求項３】
請求項１に記載のストレージシステムであって、前記バッテリモジュールのバッテリ容量に応じて、管理者が前記第一の運転モード、前記第二の運転モード、前記第三の運転モード、及び前記第四の運転モードのうち何れかの運転モードに設定するための管理端末を更に備える、ストレージシステム。
【請求項４】
請求項１に記載のストレージシステムであって、電源障害が生じてから前記発電機が作動するまでの時間に応じて、管理者が前記第一の運転モード、前記第二の運転モード、前記第三の運転モード、及び前記第四の運転モードのうち何れかの運転モードに設定するための管理端末を更に備える、ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は予備電源としてのバッテリモジュールを増設可能なストレージシステムに関する。
【背景技術】
【０００２】
ホストシステムからのＩ／Ｏリクエストに応答して、ディスクドライブへのデータアクセスを行うストレージシステムは、ディスクドライブに読み書きするデータを一時的に記憶するためのキャッシュメモリを備えている。例えば、ホストシステムからディスクドライブへのライトアクセスに対しては、ストレージシステムは、キャッシュメモリへのライトデータの書き込みを以ってライト処理の完了をホストシステムに通知し、キャッシュデータが一定量蓄積した段階でデステージを行う。ホストシステムからのディスクドライブへのリードアクセスに対しては、ストレージシステムは、リードデータがキャッシュヒットしている場合は、キャッシュメモリからデータを読み出すことにより、高速アクセスを実現する。この種のキャッシュメモリの多くは、揮発性メモリであるため、電源障害が原因でキャッシュメモリへの電力供給が停止すると、キャッシュデータは消失する。このような背景から、ストレージシステムの多くは、予備電源としてのバッテリモジュールを装備している。
【０００３】
例えば、特開２００１−１４７８６５号公報には、第一のストレージシステムの電源系統に異常が生じると、第一のストレージシステムは、キャッシュメモリ上にあるダーティデータを、第一のストレージシステムに接続する第二のストレージシステムにリモートコピーし、第二のストレージシステムがそのダーティデータを自身のディスクドライブに書き込む方法が開示されている。第一のストレージシステムが第二のストレージシステムにダーティデータを送信するために必要な電力は、第一のストレージシステムがダーティデータを自身のディスクドライブに書き込むために必要な電力よりも少ないため、バッテリ容量が少なくても、より確実にダーティデータを退避させることができる。
【特許文献１】特開２００１−１４７８６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来では、ストレージシステムの電源系統に異常が生じたときに、キャッシュメモリ上のダーティデータを保護するための動作モードは、ストレージシステムに固有の機能として予め固定的に設定されており、電源障害時の動作モードをバッテリ容量に応じて選択することができず、柔軟性のあるシステム運用が困難であった。
【０００５】
そこで、本発明は、電源障害時のストレージシステムの動作モードをバッテリ容量に応じて適宜選択できるストレージシステムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明のストレージシステムは、ホストシステムに接続するホストインターフェースを制御するためのチャネルアダプタと、ホストシステムが読み書きするデータを格納するディスクドライブと、ディスクドライブに接続するバックインターフェースを制御するディスクアダプタと、ディスクドライブに読み書きされるデータを一時的に格納するためのキャッシュメモリと、チャネルアダプタ、ディスクドライブ、ディスクアダプタ、及びキャッシュメモリに予備電源を供給するバッテリモジュールとを備える。ストレージシステムは、（１）電源障害が生じたときに、バッテリモジュールから出力される電力をキャッシュメモリに供給して、電源障害が回復する迄の間、キャッシュメモリ上のダーティデータを保護する第一の動作モード、（２）電源障害が生じたときに、バッテリモジュールから出力される電力をディスクドライブ、ディスクアダプタ、及びキャッシュメモリに供給し、キャッシュメモリ上にあるダーティデータをディスクドライブにデステージする第二の動作モード、（３）電源障害が発生してから発電機が作動するまでの間、バッテリモジュールから出力される電力をチャネルアダプタ、ディスクアダプタ、キャッシュメモリ、及びディスクドライブに供給する第三の運転モード、（４）電源障害が生じたときに、バッテリモジュールから出力される電力をチャネルアダプタ、及びキャッシュメモリに供給し、キャッシュメモリ上のダーティデータを外部接続ストレージシステムに送信する第四の運転モードのうち予め設定された運転モードに基づいて動作する。
【発明の効果】
【０００７】
本発明によれば、電源障害時のストレージシステムの動作モードをバッテリ容量に応じて適宜選択することが可能になる。
【発明を実施するための最良の形態】
【０００８】
以下、各図を参照しながら本発明の実施形態について説明する。
図１は本実施形態に係るストレージシステム２０，３０の主要構成を示す。ストレージシステム２０は、通信ネットワーク１１を介してホストシステム１０に接続されている。ストレージシステム２０とストレージシステム３０とは、通信ネットワーク１２を介して接続されている。ストレージシステム２０に主電源を供給する電源系統と、ストレージシステム３０に主電源を供給する電源系統とは異なり、何れか一方の電源系統の電源障害は他方の電源系統に影響を与えない。
【０００９】
ストレージシステム２０は、チャネルアダプタ（ＣＨＡ）２１、ディスクアダプタ（ＤＫＡ）２２、キャッシュメモリ（ＣＭ）２３、共有メモリ（ＳＭ）２４、ディスクドライブ２５、及び管理端末（ＳＶＰ）２６を備える。
【００１０】
チャネルアダプタ２１は、ホストシステム１０に接続するホストインターフェースを制御する。チャネルアダプタ２１はホストシステム１０から送信されるコマンドを解釈し、ホストシステム１０とキャッシュメモリ２３との間のデータ転送を制御する。チャネルアダプタ２１は、ストレージシステム３０と通信するためのインターフェースを更に有しており、キャッシュメモリ２３上のダーティデータ（退避データ）をストレージシステム３０に送信することもできる。
【００１１】
ディスクアダプタ２２は、ディスクドライブ２５に接続するバックインターフェースを制御する。ディスクアダプタ２２は、キャッシュメモリ２３と共有メモリ２４との間のデータ転送を制御する。
【００１２】
キャッシュメモリ２３は、ホストシステム１０から受信したデータを一時的に格納し、或いはディスクドライブ２５から読み出されたデータを一時的に格納する。キャッシュメモリ２３には、ホストシステム１０とディスクドライブ２５との間で転送されるデータブロックが格納される他、データブロックの属性と処理ステータスも併せて格納される。
【００１３】
共有メモリ２４は、ストレージシステム２０の構成情報等を格納する他、チャネルアダプタ２１がホストシステム１０から受信したＩ／Ｏコマンドをディスクアダプタ２２に伝達するために用いられる。共有メモリ２４は、フラッシュメモリ等の不揮発性メモリである。
【００１４】
ディスクドライブ２５は、ホストシステム１０が読み書きするデータを格納する。ディスクドライブ２５は、例えば、ファイバチャネル・ディスクドライブ、シリアルＡＴＡディスクドライブ、パラレルＡＴＡディスクドライブ、ＳＣＳＩディスクドライブ等である。
【００１５】
管理端末２６は、ストレージシステム１０を保守管理するために用いられる。管理者は管理端末２６を操作することにより、例えば、ディスクドライブ２５上に定義される論理デバイスの設定、ディスクドライブ２５の増設又は減設、ＲＡＩＤ構成の設定変更（例えば、ＲＡＩＤレベル５からＲＡＩＤレベル１への変更）等を行うことができる。
【００１６】
一方、ストレージシステム３０は、チャネルアダプタ３１、ディスクアダプタ３２、キャッシュメモリ３３、共有メモリ３４、及びディスクドライブ３５を備える。ストレージシステム３０の構成は、ストレージシステム２０の構成と同様であるため、詳細な説明を省略する。
【００１７】
尚、ストレージシステム２０は、複数のチャネルアダプタ２１、及び複数のディスクアダプタ２２を搭載していてもよい。同様に、ストレージシステム３０は、複数のチャネルアダプタ３１、及び複数のディスクアダプタ３２を搭載していてもよい。本明細書では、説明の便宜上、ストレージシステム２０から見て、ストレージシステム３０を外部接続ストレージシステム又は外部接続装置と称する場合がある。ストレージシステム２０には、複数のストレージシステム３０が接続されてもよい。
【００１８】
図２はストレージシステム２０の主要構成を示す。ストレージシステム２０は、上述した構成に加えて、電源状態検出部２７、障害回復部２８、及びバッテリモジュール２９を更に備える。
【００１９】
電源状態検出部２７は、ストレージシステム２０に主電源を供給するＡＣ電源（商用電源）の障害状態及び復旧状態を検出する。電源状態検出部２７は、電源障害検出部５１、及び電源回復検出部５２を備える。電源障害検出部５１は、ＡＣ電源の障害を検出する。電源回復検出部５２は、ＡＣ電源の回復を検出する。
【００２０】
障害回復部２８は、電源状態検出部２７からＡＣ電源障害の報告を受けて、キャッシュメモリ２３上のダーティデータの退避を制御する。より詳細には、障害回復部２８は、マイクロプロセッサを有し、その制御プログラムは、電源障害検出部５１から電源障害の報告を受け、且つバッテリモジュール２９のバッテリ残量がキャッシュメモリ２３の情報を保持できる限界に達すると、チャネルアダプタ２１を起動して、キャッシュメモリ２３上のダーティデータ及び制御情報をストレージシステム３０に退避して、後述する回復制御情報テーブル４２にデータ退避の履歴を記録する。また、ＡＣ電源が回復して、ストレージシステム２０が再起動したとき、障害回復部２８は、ストレージシステム３０に退避した情報をキャッシュメモリ２３上に回復するために、チャネルアダプタ２１を起動する。
【００２１】
バッテリモジュール２９は、ＡＣ電源が供給停止になると、予め設定された動作モードに応じて、電力ライン１３０を介して、ストレージシステム２０の各コンポーネント（例えば、チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、ディスクドライブ２５、電源状態検出部２７、及び障害回復部２８のうちの何れか一部又は全部）に電力を供給する。
【００２２】
共有メモリ２４は、外部接続装置制御情報テーブル４１、回復制御情報テーブル４２、及びダーティデータ制御テーブル４３を格納する。ここで、外部接続装置制御情報テーブル４１は、ストレージシステム３０内にデータ退避領域を設定するために用いられる。回復制御情報テーブル４２は、ストレージシステム３０に退避したダーティデータをキャッシュメモリ２３上に回復させるための制御情報を格納する。ダーティデータ制御テーブル４３は、キャッシュメモリ２３上の各データブロックがディスクドライブ２５に書き込まれているか否かを区別する情報をデータブロック毎に対応付けて、ビットマップ形式で格納するとともに、各データブロックの格納場所も併せて格納する。
【００２３】
ディスクアダプタ２２は、キャッシュメモリ２３上のデータブロックにダーティデータが書き込まれると、ダーティデータ制御テーブル４３にアクセスし、当該データブロックに対応する制御ビットを「未反映」にセットする。そして、当該データブロックのダーティデータがディスクドライブ２５に書き込まれると、当該データブロックに対応する制御ビットを「反映済み」に更新する。
【００２４】
チャネルアダプタ２１は、マイクロプロセッサを有し、その制御プログラムは、障害回復部２８からの指令を受けて、ストレージシステム３０へダーティデータの退避要求と、退避情報の送信要求とを送信する。チャネルアダプタ２１は、ダーティデータ制御テーブル４３を参照し、キャッシュメモリ２３上のダーティデータとその制御情報を退避先のストレージシステム３０へ転送する。また、チャネルアダプタ２１は、ダーティデータ制御テーブル４３を参照し、退避先のストレージシステム３０から受信したダーティデータをキャッシュメモリ２３上に回復する。
【００２５】
尚、ストレージシステム３０も同様に、電源状態検出部、障害回復部、及びバッテリモジュールを更に備える。ストレージシステム３０の共有メモリ３４には、外部接続装置制御情報テーブル、回復制御情報テーブル、及びダーティデータ制御テーブル等が格納される。
【００２６】
図３は外部接続装置制御情報テーブル４１のテーブル構造を示す。同テーブル４１は、接続先装置ＩＤ４１１、退避用ボリューム４１２、要求元障害発生日時４１３、及びデータ退避フラグ４１４を格納する。接続先装置ＩＤ４１１は、外部接続ストレージシステム３０の識別子である。退避用ボリューム４１２には、キャッシュメモリ３３のデータを退避するに足りる容量を有する退避用ボリュームの論理ボリューム番号が格納される。退避用ボリュームとして、ディスクドライブ３５上の論理ボリュームがアサインされる。退避用ボリュームが動的にアサインされる場合であって、退避用ボリュームが未だアサインされていない場合には、退避用ボリューム４１２には、「未割り当て」を示す情報が格納される。要求元障害発生日時４１３は、外部接続ストレージシステム３０から退避要求があったときに格納される電源障害の発生日時である。データ退避フラグ４１４は、外部接続ストレージシステム３０にダーティデータが退避されているか否かを示す。データ退避フラグ４１４の初期値は、オフ（未退避）であり、ダーティデータが退避されると、オン（退避済）にセットされる。
【００２７】
図４は回復制御情報テーブル４２のテーブル構造を示す。同テーブル４２は、退避データ回復フラグ４２１、退避先装置ＩＤ４２２、退避データ量４２３、及び障害発生日時４２４を格納する。退避データ回復フラグ４２１は、データ退避されているか否かを示す。退避データ回復フラグ４２１の初期値は、オフ（未退避）であり、ダーティデータが退避されると、オン（退避済）にセットされる。退避先装置ＩＤ４２２は、退避データの存在する外部接続ストレージシステム３０の識別子であり、複数の接続先装置ＩＤ４１１のうちの何れかである。退避データ量４２３は、退避データ（ダーティデータ）のデータ量を示す。障害発生日時４２４は、電源障害の発生した日時を示す。
【００２８】
図５はストレージシステム２０の電源系統を示す。ストレージシステム２０は、上述の構成に加えて、複数のＡＣ入力部１１１，１１２と、複数のＡＣ／ＤＣコンバータ１２１，１２２とを更に備える。ＡＣ入力部１１１，１１２には、ＵＰＳ（無停電電源装置）又は発電機等のＡＣ電源（商用電源）が接続される。複数のＡＣ入力系統が装備されているのは、システムの耐障害性（冗長性）を保つためである。複数のＡＣ／ＤＣコンバータ１２１，１２２によって直流電力に変換された電力は、電力ライン１３０を介してチャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、ディスクドライブ２５、及びバッテリモジュール２９に供給される。
【００２９】
チャネルアダプタ２１は、電圧検出部６１、スイッチ６２、及びプロセッサ６３を備える。プロセッサ６３は、スイッチ６２を開閉制御することにより、電力ライン１３０からチャネルアダプタ２１への電力供給を制御する。即ち、スイッチ６２が開くことにより、電力ライン１３０からチャネルアダプタ２１に直流電力が供給される一方、スイッチ６２が閉じることにより、電力ライン１３０からチャネルアダプタ２１への直流電力の供給が遮断される。電圧検出部６１は、電力ライン１３０の電圧を定期的に検出し、電圧検出信号をプロセッサ６３に出力する。プロセッサ６３は、この電圧検出信号に基づいて停電の有無をチェックする。
【００３０】
チャネルアダプタ２１のプロセッサ６３は、電圧検出信号が正常値を示している場合には、ホストシステム１０から送信されたデータをデータ転送パス１６０経由でキャッシュメモリ２３に書き込む。一方、電圧検出信号が異常値を示している場合には、プロセッサ６３は、制御パス１４０経由でディスクアダプタ２２のプロセッサ８３と通信を行い、ＡＣ電源の障害なのか、或いはチャネルアダプタ２１の障害（個別障害）なのかをチェックする。プロセッサ６３は、ＡＣ電源の障害と判定した場合は勿論、チャネルアダプタ２１の個別障害と判定した場合でも、必要と判断したときは、ホストシステム１０からチャネルアダプタ２１へのデータ転送を遮断し、更にスイッチ６２をオフにし、制御パス１４０経由でスイッチ１０１と電力ライン１３０との接続を切り離す。
【００３１】
ディスクアダプタ２２は、電圧検出部８１、スイッチ８２、及びプロセッサ８３を備える。プロセッサ８３は、スイッチ８２を開閉制御することにより、電力ライン１３０からディスクアダプタ２２への電力供給を制御する。即ち、スイッチ８２が開くことにより、電力ライン１３０からディスクアダプタ２２に直流電力が供給される一方、スイッチ８２が閉じることにより、電力ライン１３０からディスクアダプタ２２への直流電力の供給が遮断される。電圧検出部８１は、電力ライン１３０の電圧を定期的に検出し、電圧検出信号をプロセッサ８３に出力する。プロセッサ８３は、この電圧検出信号に基づいて停電の有無をチェックする。
【００３２】
ディスクアダプタ２２のプロセッサ８３は、電圧検出信号が正常値を示している場合には、キャッシュメモリ２３上にあるダーティデータをデータ転送パス１７０経由で読み取って、これをデータ転送パス１８０経由でディスクドライブ２５に書き込む。一方、電圧検出信号が異常値を示している場合には、プロセッサ８３は、制御パス１４０経由でチャネルアダプタ２１のプロセッサ６３と通信を行い、ＡＣ電源の障害なのか、或いはチャネルアダプタ２１の障害（個別障害）なのかをチェックする。プロセッサ８３は、ＡＣ電源の障害と判定した場合は勿論、ディスクアダプタ２２の個別障害と判定した場合でも、必要と判断したときは、スイッチ８２をオフにし、制御パス１４０経由でディスクドライブ２５のスイッチ９１をオフにする。
【００３３】
ディスクアダプタ２２のプロセッサ８３は、上述の処理の他にも、例えば、データ転送パス１７０経由でキャッシュメモリ２３の状態を監視するとともに、データ転送パス１８０経由でディスクドライブ２５の状態を監視する。そして、ディスクアダプタ２２は、必要に応じて、キャッシュメモリ２３上のデータをディスクドライブ２５に書き込む処理を中断する。
【００３４】
キャッシュメモリ２３は、オア回路７１を備える。オア回路７１は、ＡＣ電源が正常である場合には、ＡＣ電源からの電力を電力ライン１３０経由でキャッシュメモリ２３に供給する一方で、ＡＣ電源が異常である場合には、バッテリモジュール２９からの電力を電力ライン１５０経由でキャッシュメモリ２３に供給する。
【００３５】
ディスクドライブ２５は、スイッチ９１を備える。スイッチ９１は、電力ライン１３０からディスクドライブ２５への電力供給を制御する。即ち、スイッチ２５が開くことにより、電力ライン１３０からディスクドライブ２５に直流電力が供給される一方、スイッチ２５が閉じることにより、電力ライン１３０からディスクドライブ２５への直流電力の供給が遮断される。
【００３６】
バッテリモジュール２９は、スイッチ１０１を備える。スイッチ１０１は、プロセッサ６３又はプロセッサ８３の制御によって、電力ライン１３０とバッテリモジュール２９との接続／遮断、又は電力ライン１５０とバッテリモジュール２９との接続／遮断を制御する。ＡＣ電源が正常である場合には、バッテリモジュール２９は、電力ライン１３０経由で電力の供給を受けて充電する。このとき、電力ライン１３０からチャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、及びディスクドライブ２５に電力が供給される。一方、ＡＣ電源が異常である場合には、バッテリモジュール２９から電力ライン１５０経由でキャッシュメモリ２３に電力が供給される。
【００３７】
尚、バッテリモジュール２９は、スケーラブルに追加することが可能であり、複数のバッテリモジュール２９が搭載されている場合には、各バッテリモジュール２９は、並列的に動作する。
【００３８】
図６はバッテリモジュール２９の詳細構成を示す。バッテリモジュール２９は、上述したスイッチ１０１に加えて、充電回路２１０、バッテリ監視回路２２０、及びバッテリ部２３０を更に備える。
【００３９】
スイッチ１０１は、電力ライン１３０に常時接続する常閉接点１０１ａと、電力ライン１５０に常時接続する常閉接点１０１ｂとを有する。スイッチ１０１は、二つの常閉接点１０１ａ、１０１ｂを有することにより、ＡＣ電源に停電が発生した場合に、負荷（チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、ディスクドライブ２５等）への電力供給がＡＣ電源からバッテリモジュール２９へと円滑に切り替わることができるようにするためである。
【００４０】
バッテリ部２３０は、複数の蓄電池が直列に接続されてなる組電池である。蓄電池として、例えば、ニッケル水素電池などが用いられる。バッテリ部２３０の定格出力は、ＡＣ／ＤＣコンバータ１２１，１２２の定格出力よりも低めに設定されている。例えば、ＡＣ／ＤＣコンバータ１２１，１２２の定格出力が５６Ｖであるとすれば、バッテリ部２３０の定格出力は、５４Ｖ〜３６Ｖ程度である。３６Ｖは、通信機器の動作電圧の最低値である。
【００４１】
充電回路２１０は、ＡＣ電源が正常である場合に、ＡＣ／ＤＣコンバータ１２１，１２２から電力ライン１３０を介して供給される直流電力によって、バッテリ部２３０を充電する。このようにしてバッテリ部２３０に充電された電荷は、ＡＣ電源が停電することによって、ＡＣ／ＤＣコンバータ１２１，１２２の出力電圧がバッテリ部２３０の満充電電圧（例えば、５４Ｖ）未満に低下すると、逆流防止ダイオード２４１及び常閉接点１０１ａを介して電力ライン１３０に流出する。電力ライン１３０に流出した電荷は、チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、ディスクドライブ２５等に流れ込み、これらに電力を供給する。
【００４２】
更に、ＡＣ電源の停電時に、ディスクアダプタ２２のプロセッサ８３の制御によって、常閉接点１０１ａが開くと、バッテリ部２３０に蓄積された電荷は、逆流防止ダイオード２４２及び常閉接点１０１ｂを介して電力ライン１５０に流出する。電力ライン１５０に流出した電荷は、キャッシュメモリ２３に流れ込み、電力を供給する。
【００４３】
バッテリ監視回路２２０は、バッテリ部２３０の充電電圧を監視することにより、バッテリ部２３０の電圧変動が一定範囲に収まっているか否かをセルフチェックする。
【００４４】
尚、チャネルアダプタ２１、ディスクアダプタ２２、及びキャッシュメモリ２４のそれぞれは、電力ライン１３０経由でチャネルアダプタ２１、ディスクアダプタ２２、及びキャッシュメモリ２４のそれぞれに供給される直流電圧を所望の直流電圧に降圧するＤＣ／ＤＣコンバータ６４，８４，７２を更に備える。
【００４５】
図７は停電時に作動する動作モードを示す。本実施形態では、４種類の動作モードを例示する。同図（Ａ）はメモリバックアップモードを、同図（Ｂ）はデステージモードを、同図（Ｃ）はＵＰＳモードを、同図（Ｄ）はリモートコピーモードを、それぞれ示す。チャネルアダプタ２１のプロセッサ６３、又はディスクアダプタ２２のプロセッサ８３は、予め設定された動作モードに基づいて、スイッチ６２，８２，９１，１０１を制御し、バッテリモジュール２９から負荷（チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、及びディスクドライブ２５の全部又は一部）への電力供給を制御する。以下、各動作モードについて説明を加える。
【００４６】
メモリバックアップモードは、ＡＣ電源の停電時にキャッシュメモリ２３にのみバッテリモジュール２９からの電力を供給し続けて、システムが復旧するまでの長期間にわたりダーティデータを保持するための動作モードである。同図（Ａ）に示すように、ストレージシステム２０は、時刻ｔ０に停電を検出すると、時刻ｔ０から時刻ｔ１までの間（例えば、１分間）、バッテリモジュール２９から負荷（チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、及びディスクドライブ２５の全て）への電力供給を維持し続ける。そして、時刻ｔ１から時刻ｔ２までの間は、ストレージシステム２０は、キャッシュメモリ２３のみにバッテリモジュール２９からの電力を供給し続ける。
【００４７】
ＡＣ電源の停電を検出しても、暫らくの間、負荷（チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、及びディスクドライブ２５の全て）への電力供給を維持し続けるのは、停電の原因は、一般的に、落雷や送電系統の切り替えなどの数秒程度の事象であることが殆どであるから、ストレージシステム２０の動作を１分程度継続させることにより、瞬間的な停電によるストレージシステム２０の停止を回避できるためである。また、ＡＣ電源の停電が１分以上に及ぶ場合には、ホストシステム１０側においても、停電に対処するための停電処理を実施する必要があるので、瞬間的な停電でストレージシステム２０が動作を停止すると、ホストシステム１０側の停電処理が完了することができないため、停電復帰後のシステム全体（ホストシステム１０とストレージシステム２０とを含む）の立ち上げに多くの時間を要してしまうためである。
【００４８】
デステージモードは、ＡＣ電源の停電時にキャッシュメモリ２３上にあるダーティデータを複数のディスクドライブ２５のそれぞれにデステージしていき、デステージが完了次第、ディスクドライブ２５の電源をオフにしていく動作モードである。同図（Ｂ）に示すように、ストレージシステム２０は、時刻ｔ０に停電を検出すると、時刻ｔ０から時刻ｔ１までの間（例えば、１分間）、バッテリモジュール２９から負荷（チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、及びディスクドライブ２５の全て）への電力供給を維持し続ける。そして、時刻ｔ１から時刻ｔ３までの間は、ストレージシステム２０は、キャッシュメモリ２３上にあるダーティデータをディスクドライブ２５にデステージする。デステージが完了したディスクドライブ２５から順に電源をオフする。そして、時刻ｔ３から時刻ｔ４までの間は、ストレージシステム２０は、キャッシュメモリ２３のみにバッテリモジュール２９からの電力を供給し続ける。
【００４９】
ＵＰＳモードは、ＡＣ電源が停電した時点から発電機が作動するまでの間、バッテリモジュール２９から負荷（チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、及びディスクドライブ２５の全て）へ電力を供給し続けて、発電機が作動した後は、発電機から出力される電力をキャッシュメモリ２３のみに供給し続ける動作モードである。ＵＰＳモードを設定するには、ＡＣ入力部１１１，１１２に発電機が接続されていることが前提となる。同図（Ｃ）に示すように、ストレージシステム２０は、時刻ｔ０に停電を検出すると、時刻ｔ０から時刻ｔ５までの間（例えば、６分間）、バッテリモジュール２９から負荷（チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、及びディスクドライブ２５の全て）への電力供給を維持し続ける。時刻ｔ０から時刻ｔ５までの時間は、発電機を作動させるために必要かつ十分な時間であればよい。そして、時刻ｔ５から時刻ｔ６までの間は、ストレージシステム２０は、発電機から出力される電力をキャッシュメモリ２３のみに供給する。
【００５０】
リモートコピーモードは、ＡＣ電源の停電時にキャッシュメモリ２３上にあるダーティデータを外部接続ストレージシステム３０に送信し、ダーティデータの送信が完了次第、チャネルアダプタ２１の電源をオフにする動作モードである。リモートコピーモードを設定するには、ストレージシステム２０に一つ以上のストレージシステム３０が接続されていることが前提となる。同図（Ｄ）に示すように、ストレージシステム２０は、時刻ｔ０に停電を検出すると、時刻ｔ０から時刻ｔ１までの間（例えば、１分間）、バッテリモジュール２９から負荷（チャネルアダプタ２１、ディスクアダプタ２２、キャッシュメモリ２３、及びディスクドライブ２５の全て）への電力供給を維持し続ける。そして、時刻ｔ１から時刻ｔ７までの間は、ストレージシステム２０は、キャッシュメモリ２３上にあるダーティデータをストレージシステム３０に送信する。このとき、ストレージシステム３０は、ストレージシステム２０から受信したダーティデータをディスクドライブ３５にデステージする。ストレージシステム２０は、ダーティデータの送信が完了次第、チャネルアダプタ２１の電源をオフにする。そして、時刻ｔ７から時刻ｔ８までの間は、ストレージシステム２０は、キャッシュメモリ２３のみにバッテリモジュール２９からの電力を供給し続ける。
【００５１】
図８は管理端末２６の外観を示す。管理端末２６は、ディスプレイ２６ａ、及び入力デバイス２６ｂを備える。入力デバイス２６ｂは、キーボード、マウス等である。ディスプレイ２６ａには、図９に示すような設定画面が表示される。管理者は、この設定画面を参照しながら、停電時に作動する動作モードを設定する。この例では、メモリバックアップモードとして、２４時間バックアップモードと、４８時間バックアップモードの２種類を示している。
【００５２】
本実施形態では、ストレージシステム２０の管理者は、バッテリモジュール２９の搭載数を適宜増減することができる。また、管理者は、ストレージシステム２０のＡＣ入力部１１１，１１２に発電機を接続することもできる。管理者は、バッテリモジュール２９の搭載数や発電機の性能に応じて、上述した４種類の動作モードの中からストレージシステム２０のシステム構成に応じた最適な動作モードを選択できる。例えば、図１０に示すように、キャッシュメモリ２３のメモリバックアップ時間として、２４時間と４８時間の２種類が設定可能であり、且つ発電機の待機時間（停電が発生した時点から発電機が作動するまでの時間）として、３０ｍｓ、６分、１２分の３種類が設定可能であるとすると、同図のＡ〜Ｆに示すように、６種類のバリエーションが存在し得る。管理者は、Ａ〜Ｆの各バリエーションについて、「メモリバックアップモード」、「デステージモード」、「ＵＰＳモード」、及び「リモートコピーモード」の中から最適な動作モードを選択できる。
【００５３】
図１１は「メモリバックアップモード」、「デステージモード」、又は「ＵＰＳモード」のうち何れかの動作モードの動作手順を示すフローチャートである。説明の便宜上、「ＰＫ」は、チャネルアダプタ２１とディスクアダプタ２２とを総称するものとする。
【００５４】
管理者は、管理端末２６のディスプレイ２６ａに表示される設定画面を参照し、入力デバイス２６ｂを操作して、「メモリバックアップモード」、「デステージモード」、又は「ＵＰＳモード」のうち何れかの動作モードの設定を行う（Ｓ１０１）。
【００５５】
ＰＫは、ＡＣ電源の障害を検出すると（Ｓ１０２；ＹＥＳ）、共有メモリ２４にＡＣオフ検出信号をセットする（Ｓ１０３）。ＡＣオフ検出信号は、ＡＣ電源に障害が発生したことを示す信号である。
【００５６】
Ｓ１０２でＡＣオフ検出信号を共有メモリ２４にセットしたＰＫよりも先にＡＣオフ検出信号を共有メモリ２４にセットしたＰＫが存在しないならば（Ｓ１０４；ＮＯ）、最初にＡＣオフ検出信号を共有メモリ２４にセットしたＰＫは、他のＰＫの状態を監視する（Ｓ１０５）。
【００５７】
次いで、最初にＡＣオフ検出信号を共有メモリ２４にセットしたＰＫは、自分自身の電源障害の有無と、共有メモリ２４上にセットされたＡＣオフ検出信号の有無を１秒監視する（Ｓ１０６）。
【００５８】
ＰＫの過半数がＡＣオフ検出信号を共有メモリ２４にセットした時間が６０秒以上であるならば（Ｓ１０７；ＹＥＳ）、ＡＣ電源の障害と考えられるので、Ｓ１０１で設定された動作モードを起動する（Ｓ１０９）。設定された動作モードが「メモリバックアップモード」であるならば、図７（Ａ）の動作を実行する。設定された動作モードが「デステージモード」であるならば、図７（Ｂ）の動作を実行する。設定された動作モードが「ＵＰＳモード」であるならば、図７（Ｃ）の動作を実行する。
【００５９】
ＰＫの過半数がＡＣオフ検出信号を共有メモリ２４にセットした時間が６０秒未満であるならば（Ｓ１０７；ＮＯ）、ＰＫは、自分自身のＡＣ電源が回復し、且つ他のＰＫのＡＣ電源も回復しているか否かをチェックする（Ｓ１０８）。
【００６０】
ＡＣ電源が回復してないならば（Ｓ１０８；ＮＯ）、Ｓ１０６の処理に戻る。ＡＣ電源が回復しているならば（Ｓ１０８；ＹＥＳ）、処理を終了する。
【００６１】
一方、Ｓ１０２でＡＣオフ検出信号を共有メモリ２４にセットしたＰＫよりも先にＡＣオフ検出信号を共有メモリ２４にセットしたＰＫが存在するならば（Ｓ１０４；ＹＥＳ）、後にＡＣオフ検出信号を共有メモリ２４にセットしたＰＫは、自分自身のＡＣ電源の状態を１秒監視し（Ｓ１１０）、ＡＣ電源が１０秒以上復帰しないならば（Ｓ１１１；ＮＯ）、Ｓ１１０の処理に戻る。ＡＣ電源が１０秒以上復帰するならば（Ｓ１１１；ＹＥＳ）、共有メモリ２４にセットしたＡＣオフ検出信号をリセットする（Ｓ１１２）。
【００６２】
図１２は「リモートコピーモード」の動作手順を示すフローチャートである。
管理者は、管理端末２６のディスプレイ２６ａに表示される設定画面を参照し、入力デバイス２６ｂを操作して、「リモートコピーモード」の設定を行う（Ｓ２０１）。
【００６３】
電源障害検出部５１は、ＡＣ電源の障害を検出すると（Ｓ２０２）、電源障害が発生したことを障害回復部２８に通知する。障害回復部２８は、電源回復検出部５２からＡＣ電源が回復したことを通知されなければ（Ｓ２０３；ＮＯ）、バッテリモジュール２９のバッテリ残量を検出する（Ｓ２０４）。バッテリ残量は、バッテリモジュール２９の残存電力量（例えば、ワット時による数値）で示される。
【００６４】
次に、障害回復部２８は、共有メモリ２４上に格納されている構成管理テーブル（図示せず）を参照して、キャッシュメモリ２３の記憶容量（ＭＢ）を取得する（Ｓ２０５）。
【００６５】
次に、障害回復部２８は、バッテリモジュール２９がキャッシュメモリ２３上のデータを保持可能な残り時間Ｔ２を算出する（Ｓ２０６）。時間Ｔ２は、バッテリ残量÷［（キャッシュメモリ２３上の１ＭＢのデータを保持するために必要な電力量）×（キャッシュメモリ２３の記憶容量）］によって算出される。
【００６６】
次に、障害回復部２８は、時間Ｔ２と、データ保持時間の下限値Ｔ１とを比較し、Ｔ２≧Ｔ１であれば（Ｓ２０７；ＮＯ）、Ｓ２０３に戻り、電源障害の回復を待つ。そして、Ｔ２≧Ｔ１である間に、障害回復部２８が電源回復検出部５２から電源回復の通知を受ければ（Ｓ２０３；ＹＥＳ）、ＡＣ電源の障害が回復したものと看做し、キャッシュメモリ２３上のダーティデータを退避する処理を行わない。
【００６７】
Ｔ２＜Ｔ１になると（Ｓ２０７；ＹＥＳ）、障害回復部２８は、外部接続装置制御情報テーブル４１の接続先装置ＩＤ４１１のファーストエントリを参照し（Ｓ２０８）、ストレージシステム３０にデータ退避要求を送信する（Ｓ２０９）。このとき、データ退避要求とともにキャッシュメモリ２３上のダーティデータのデータ量（即ち、退避データ量）と、障害発生日時も併せてストレージシステム３０に送信される。
【００６８】
データ退避要求が受け付けられなければ（Ｓ２１０；ＮＯ）、Ｓ２０８に戻り、外部接続装置制御情報テーブル４１の接続先装置ＩＤ４１１のセカンドエントリを参照し、Ｓ２０９〜Ｓ２１０の処理を繰り返す。外部接続装置制御情報テーブル４１の接続先装置ＩＤ４１１の全てのエントリについて、Ｓ２０９〜Ｓ２１０の処理が繰り返されると、処理は終了する。
【００６９】
データ退避要求が受け付けられると（Ｓ２１０；ＹＥＳ）、チャネルアダプタ２１は、ダーティデータ制御テーブル４３を参照し、キャッシュメモリ２３上のダーティデータとその制御情報をそのデータブロックのキャッシュ格納順にストレージシステム３０に送信する（Ｓ２１１）。尚、クリーンデータであるかダーティデータであるかを問わずに、キャッシュメモリ２３上のデータ及び制御情報をストレージシステム３０に送信してもよいが、ダーティデータのみをストレージシステム３０に転送する方がデータ転送時間を短縮できるメリットがある。
【００７０】
障害回復部２８は、ストレージシステム３０から受信終了のステータスを受信すると、回復制御情報テーブル４２の退避データ回復フラグ４２１をオンにセットし、退避先装置ＩＤ４２２にストレージシステム３０のＩＤを格納し、退避データ量４２３にダーティデータ量を格納し、障害発生日時４２４にＡＣ電源の障害が発生した日時を格納する（Ｓ２１２）。
【００７１】
本実施形態によれば、バッテリモジュール２９のバッテリ容量に基づいて、「メモリバックアップモード」、「デステージモード」、「ＵＰＳモード」、及び「リモートコピーモード」の中から最適な動作モードを選択できる。
【図面の簡単な説明】
【００７２】
【図１】本実施形態のストレージシステムの主要構成を示すブロック図である。
【図２】本実施形態のストレージシステムの主要構成を示すブロック図である。
【図３】外部接続装置制御情報テーブルのテーブル構造を示す図である。
【図４】回復制御情報テーブルのテーブル構造を示す図である。
【図５】本実施形態のストレージシステムの電源系統を示す図である。
【図６】バッテリモジュールの詳細構成図である。
【図７】停電時に作動する動作モードの説明図である。
【図８】管理端末の外観図である。
【図９】動作モードの設定画面を示す図である。
【図１０】動作モードの設定メニューの説明図である。
【図１１】メモリバックアップモード、デステージモード、又はＵＰＳモードの動作を示すフローチャートである。
【図１２】リモートコピーモードの動作を示すフローチャートである。
【符号の説明】
【００７３】
１０…ホストシステム  ２０…ストレージシステム  ２１…チャネルアダプタ  ２２…ディスクアダプタ  ２３…キャッシュメモリ  ２４…共有メモリ  ２５…ディスクドライブ  ２６…管理端末
【図１】
0004662550.tif 000002
【図２】
0004662550.tif 000003
【図３】
0004662550.tif 000004
【図４】
0004662550.tif 000005
【図５】
0004662550.tif 000006
【図６】
0004662550.tif 000007
【図７】
0004662550.tif 000008
【図８】
0004662550.tif 000009
【図９】
0004662550.tif 000010
【図１０】
0004662550.tif 000011
【図１１】
0004662550.tif 000012
【図１２】
0004662550.tif 000013