(57)【要約】【課題】  単一のパッケージ内にCHA機能とDKA機能とを実装する場合に、各機能毎にそれぞれ個別に電力供給を制御できるようにし、電源障害発生時のバッテリ電源を有効に利用する。【解決手段】  単一の制御パッケージ１には、CHA部１Ａ及びDKA部１Ｂが設けられている。停電等の障害が検出されると（Ｔ１）、CHA部１Ａはホスト３からのアクセス要求を遮断等して終了処理を開始する。CHA部１Ａの終了処理が完了すると、パッケージ内電源制御部１Ｃは、CHA部１Ａへのクロック供給を停止する（Ｔ２）。続いて、DKA部１Ｂがディステージ処理を完了すると、パッケージ内電源制御部１Ｃは、DKA部１Ｂへの給電を停止する（Ｔ３）。パッケージ１の消費電力は、終了処理の進行に応じて段階的に低下する。【選択図】        図１
2006031630.tif 000002
【特許請求の範囲】
【請求項１】
上位装置及び記憶デバイスにそれぞれ接続され、前記上位装置及び前記記憶デバイスとのデータ授受をそれぞれ制御する通信制御部と、
前記通信制御部に使用されるメモリ部と、
前記通信制御部及び前記メモリ部にそれぞれ所定の電力を供給する装置電源部と、
を備え、
前記通信制御部は、前記上位装置とのデータ授受を制御する上位インターフェース制御部と、前記記憶デバイスとのデータ授受を制御する下位インターフェース制御部と、前記上位インターフェース制御部及び前記下位インターフェース制御部への給電を制御する内部電源制御部とを備えており、
前記装置電源部が前記通信制御部への給電に障害を検出した場合に、前記通信制御部は、前記上位インターフェース制御部で実施される第１の終了処理及び前記下位インターフェース制御部で実施される第２の終了処理のそれぞれの実施状況に応じて、前記上位インターフェース制御部及び前記下位インターフェース制御部への電力供給をそれぞれ個別に制御するストレージ装置。
【請求項２】
前記第１の終了処理は、前記上位装置からのアクセス要求を遮断し、未処理のアクセス要求を前記メモリ部に反映させる処理であり、前記第２の終了処理は、前記メモリ部に保持されている所定のデータを前記記憶デバイスに退避させる処理である、請求項１に記載のストレージ装置。
【請求項３】
前記通信制御部は、前記第１の終了処理の完了を確認してから、前記第２の終了処理を開始させる請求項２に記載のストレージ装置。
【請求項４】
前記内部電源制御部は、前記第１の終了処理が完了した場合に前記上位インターフェース制御部へのクロック供給を停止し、前記第２の終了処理が完了した場合に前記下位インターフェース制御部への給電を停止する請求項２に記載のストレージ装置。
【請求項５】
前記内部電源制御部は、前記第１の終了処理が完了した場合に前記上位インターフェース制御部へのクロック供給を停止し、前記第２の終了処理が完了した場合に前記下位インターフェース制御部へのクロック供給を停止する請求項２に記載のストレージ装置。
【請求項６】
前記内部電源制御部は、前記第１の終了処理が完了した場合に前記上位インターフェース制御部への給電を停止し、前記第２の終了処理が完了した場合に前記下位インターフェース制御部への給電を停止する請求項２に記載のストレージ装置。
【請求項７】
前記上位インターフェース制御部には複数のクロックが供給されており、
前記内部電源制御部は、前記第１の終了処理の実行順序に応じて、前記複数のクロックを順番に停止させる請求項３に記載のストレージ装置。
【請求項８】
前記装置電源部は、前記通信制御部への給電に障害を検出した場合に、この給電障害のレベルを判定して前記通信制御部に通知し、
前記通信制御部は、前記通知された給電障害のレベルに応じて、それぞれ異なる給電停止モードを選択し、前記第１の終了処理及び前記第２の終了処理の実施状況に応じて、前記上位インターフェース制御部及び前記下位インターフェース制御部への電力供給をそれぞれ個別に停止させる請求項２に記載のストレージ装置。
【請求項９】
前記装置電源部は、前記通信制御部への給電に障害を検出した場合に、この給電障害のレベルが軽レベルであるか重レベルであるかを判定して前記通信制御部に通知し、前記通信制御部は、
（１）前記通知された給電障害のレベルが前記軽レベルである場合、前記第１の終了処理が完了した後で前記上位インターフェース制御部へのクロック供給を停止させると共に、前記第２の終了処理が完了した後で前記下位インターフェース制御部へのクロック供給を停止させ、
（２）前記通知された給電障害のレベルが前記重レベルである場合、前記第１の終了処理が完了した後で前記上位インターフェース制御部への給電を停止させると共に、前記第２の終了処理が完了した後で前記下位インターフェース制御部への給電を停止させる、請求項２に記載のストレージ装置。
【請求項１０】
前記装置電源部は、外部からの入力信号に基づいて、前記給電障害のレベルが前記軽レベルであるか前記重レベルであるかを判定する請求項８に記載のストレージ装置。
【請求項１１】
前記通信制御部は複数個設けられており、
前記各通信制御部のうち一方の通信制御部に属する下位インターフェース制御部が前記第２の終了処理を実施している間に、別の障害が発生した場合には、この実施中の第２の終了処理を中断し、
前記各通信制御部のうち他方の通信制御部に属する下位インターフェース制御部によって、前記中断された第２の終了処理を続行させる請求項２に記載のストレージ装置。
【請求項１２】
前記メモリ部には、前記上位装置から書き込まれたデータを保持するライトキャッシュ領域と、前記上位装置により読み出されたデータを保持するリードキャッシュ領域とが含まれており、
前記通信制御部への給電障害が検出された場合は、前記メモリ部のうち前記リードキャッシュ領域への給電を停止し、前記ライトキャッシュ領域へのみ給電させる請求項２に記載のストレージ装置。
【請求項１３】
それぞれ複数の前記記憶デバイスから複数のパリティグループが構成されており、
前記第２の終了処理は、前記各パリティグループ毎にそれぞれ実施され、
前記各パリティグループのうち前記第２の終了処理が完了したパリティグループに属する前記各記憶デバイスへの給電を停止させる請求項２に記載のストレージ装置。
【請求項１４】
前記上位インターフェース制御部と前記下位インターフェース制御部とのそれぞれについて、前記内部電源制御部をそれぞれ設ける請求項２に記載のストレージ装置。
【請求項１５】
前記上位装置は、ファイル共有クライアントであり、
前記上位インターフェース制御部は、前記ファイル共有クライアントにファイルを提供するためのファイルサーバ機能を備えている請求項２に記載のストレージ装置。
【請求項１６】
データを記憶するためのディスクドライブ群と、
前記ディスクドライブ群及び上位装置とのデータ授受をそれぞれ制御する少なくとも一つ以上の通信制御パッケージと、
前記通信制御パッケージにより利用されるキャッシュメモリと、
前記ディスクドライブ群と前記通信制御パッケージと前記キャッシュメモリとにそれぞれ所定の電力を供給する装置電源部と、を備え、
前記装置電源部は、主電源と、この主電源が停止した場合に作動するバッテリ電源とを備えており、
前記通信制御パッケージは、前記上位装置とのデータ授受を制御するチャネルアダプタ部と、前記ディスクドライブ群とのデータ授受を制御するディスクアダプタ部と、前記チャネルアダプタ部及び前記ディスクアダプタ部への給電を制御するパッケージ内電源制御部とを備えており、
前記装置電源部が前記主電源の停電状態を検出した場合、前記装置電源部は、前記主電源から前記バッテリ電源に切り替え、
前記チャネルアダプタ部は、前記主電源から前記バッテリ電源に切り替えられた場合に、第１の終了処理を開始して、前記上位装置からのアクセス要求を遮断し、未処理のアクセス要求を前記キャッシュメモリに書き込み、
前記ディスクアダプタ部は、前記チャネルアダプタ部による前記第１の終了処理が完了した後に、第２の終了処理を開始して、前記キャッシュメモリに記憶されたデータを前記ディスクドライブ群に書き込み、
前記パッケージ内電源制御部は、
（１）前記チャネルアダプタ部が前記第１の終了処理を完了させた後で、前記チャネルアダプタ部の電力消費量を低下させ、
（２）前記ディスクアダプタ部が前記第２の終了処理を完了させた後で、前記ディスクアダプタ部の電力消費量を低下させる、
ストレージ装置。
【請求項１７】
前記チャネルアダプタ部及び前記ディスクアダプタ部の電力消費量を低下させる手段として、クロック供給の停止と給電停止とが予め用意されており、
前記パッケージ内電源制御部は、前記チャネルアダプタ部へのクロック供給を停止させることにより、前記チャネルアダプタ部の電力消費量を低下させ、前記ディスクアダプタ部への給電を停止させることにより、前記ディスクアダプタ部の電力消費量を低下させるようになっている請求項１６に記載のストレージ装置。
【請求項１８】
前記チャネルアダプタ部は、前記上位装置との通信を行う通信アダプタ部と、前記キャッシュメモリとの通信を行う入出力制御部とを備えており、
前記パッケージ内電源制御部は、前記第１の終了処理の進行状況に応じて、前記通信アダプタ部へのクロック供給を停止し、次に、前記入出力制御部へのクロック供給を停止させることにより、前記チャネルアダプタ部の電力消費量を段階的に低下させるものである請求項１７に記載のストレージ装置。
【請求項１９】
前記チャネルアダプタ部及び前記ディスクアダプタ部の電力消費量を低下させる手段として、クロック供給の停止と給電停止とが予め用意されており、
前記装置電源部は、前記主電源の停電状態が軽度の障害であるか重度の障害であるかを判定し、
前記パッケージ内電源制御部は、
（１）前記停電状態が前記軽度の障害であると判定された場合には、前記チャネルアダプタ部及び前記ディスクアダプタ部へのクロック供給をそれぞれ停止させることにより、前記チャネルアダプタ部及び前記ディスクアダプタ部の電力消費量をそれぞれ低下させ、
（２）前記停電状態が前記重度の障害であると判定された場合には、前記チャネルアダプタ部及び前記ディスクアダプタ部への給電をそれぞれ停止させることにより、前記チャネルアダプタ部及び前記ディスクアダプタ部の電力消費量をそれぞれ低下させる、請求項１６に記載のストレージ装置。
【請求項２０】
データを記憶するためのディスクドライブ群と、
前記ディスクドライブ群及び上位装置とのデータ授受をそれぞれ制御する少なくとも一つ以上の通信制御パッケージと、
前記通信制御パッケージにより利用されるキャッシュメモリと、
前記ディスクドライブ群と前記通信制御パッケージと前記キャッシュメモリとにそれぞれ所定の電力を供給する装置電源部と、を備え、
前記装置電源部は、主電源と、この主電源が停止した場合に作動するバッテリ電源とを備えており、
前記通信制御パッケージは、前記上位装置とのデータ授受を制御するチャネルアダプタ部と、前記ディスクドライブ群とのデータ授受を制御するディスクアダプタ部と、前記チャネルアダプタ部及び前記ディスクアダプタ部への給電を制御するパッケージ内電源制御部とを備えた、ストレージ装置の消費電力制御方法であって、
前記主電源に停電状態が発生したか否かを判定するステップと、
前記主電源に停電状態が発生したと判定された場合は、前記主電源から前記バッテリ電源に切り替えるステップと、
前記主電源から前記バッテリ電源に切り替わったことを前記チャネルアダプタ部に通知するステップと、
この通知を受けた前記チャネルアダプタ部が、前記上位装置からのアクセス要求を遮断するステップと、
前記上位装置からのアクセス要求を遮断した前記チャネルアダプタ部が、未処理のアクセス要求を前記キャッシュメモリに書き込むステップと、
前記チャネルアダプタ部が、前記未処理のアクセス要求の前記キャッシュメモリへの書込み完了を前記パッケージ内電源制御部に通知するステップと、
この通知を受けた前記パッケージ内電源制御部が、前記チャネルアダプタ部へのクロック供給を停止させるステップと、
前記チャネルアダプタ部へのクロック供給を停止させた前記パッケージ内電源制御部が、前記ディスクアダプタ部へ通知するステップと、
この通知を受けた前記ディスクアダプタ部が、前記キャッシュメモリに記憶されているライトデータを前記ディスクドライブ群に退避させるステップと、
前記ディスクアダプタ部が、前記ライトデータの前記ディスクドライブ群への退避完了を前記パッケージ内電源制御部に通知するステップと、
この通知を受けた前記パッケージ内電源制御部が、前記通信制御パッケージへの給電を停止させて、パッケージ全体の給電を停止した旨を前記装置電源部に通知するステップと、
この通知を受けた前記装置電源部が、前記キャッシュメモリにのみ給電し、前記キャッシュメモリに記憶されているデータを保持させるステップと、
を含むストレージ装置の消費電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージ装置の消費電力制御方法に関する。
【背景技術】
【０００２】
ストレージ装置は、例えば、ハードディスクドライブや半導体メモリ装置等のディスクドライブをアレイ状に配設し、RAID（Redundant Array of Independent Inexpensive Disks）に基づく記憶領域を提供する。ホストコンピュータ（以下、「ホスト」）は、ストレージ装置により提供される記憶領域にアクセスし、データの読み書きを行う。
【０００３】
ところで、ストレージ装置には、複数の制御パッケージが取り付けられている。ある制御パッケージに何らかの障害が発生した場合に、ストレージ装置全体の電源を落とすことなく、活線状態のままで交換可能とした技術が知られている（特許文献１）。この文献記載の技術では、パッケージ内で障害の発生が検出された場合に、パッケージ内の回路へのクロックを停止して閉塞処理を行うようになっている。
【特許文献１】特開２００３−３６１２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記文献に記載のストレージ装置では、パッケージ内で障害が発生した場合に内部回路へのクロックを停止させて閉塞処理を行うが、例えば、停電時等におけるストレージ装置の消費電力低減について考慮されていない。また、パッケージ単位で閉塞処理を行うため、そのパッケージの一部の機能のみを必要とする場合、そのパッケージ全体を閉塞させることはできない。
【０００５】
即ち、従来のストレージ装置では、ホストとのデータ通信を担当する制御パッケージと、ディスクドライブ群とのデータ通信を担当する制御パッケージとが、それぞれ別々のパッケージとして構成されている。従って、ホストとのデータ通信を制御するパッケージを閉塞処理させた後で、ディスクドライブ群とのデータ通信を制御するパッケージを閉塞させることができる。しかし、もしも、単一のパッケージ内に、ホストとのデータ通信機能とディスクドライブ群とのデータ通信機能との両方が設けられている場合は、いずれか一方の機能を利用している限り、パッケージ全体を閉塞させることができない。従って、パッケージは無駄に電力を消費することになる。
【０００６】
ここで、停電等が発生した場合に、ストレージ装置は、補助電源に切り替えて、装置全体の動作を所定時間だけ維持させる。補助電源によるバックアップ期間中に、ストレージ装置は、必要な処理を完了させて、停電からの回復に備える。従って、制御パッケージが無駄に電力を消費すると、この分だけ補助電源によるバックアップ期間が短くなり、信頼性や使い勝手が低下する。
【０００７】
そこで、本発明の一つの目的は、それぞれ異なる種類の機能を実現する単一のパッケージの消費電力を各機能毎に個別に制御することにより、給電に障害が発生した場合に、装置全体の消費電力を低減できるようにしたストレージ装置及びストレージ装置の消費電力制御方法を提供することにある。本発明の一つの目的は、単一パッケージ内で上位装置及び記憶デバイスとのデータ授受をそれぞれ実現する場合に、所定の終了処理の進行状況に応じて、単一パッケージ内の各機能毎に消費電力を個別に制御できるようにしたストレージ装置及びストレージ装置の消費電力制御方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００８】
上記課題を解決すべく、本発明のストレージ装置は、上位装置及び記憶デバイスにそれぞれ接続され、上位装置及び記憶デバイスとのデータ授受をそれぞれ制御する通信制御部と、通信制御部に使用されるメモリ部と、通信制御部及びメモリ部にそれぞれ所定の電力を供給する装置電源部と、を備える。通信制御部は、上位装置とのデータ授受を制御する上位インターフェース制御部と、記憶デバイスとのデータ授受を制御する下位インターフェース制御部と、上位インターフェース制御部及び下位インターフェース制御部への給電を制御する内部電源制御部とを備える。そして、装置電源部が通信制御部への給電に障害を検出した場合に、通信制御部は、上位インターフェース制御部で実施される第１の終了処理及び下位インターフェース制御部で実施される第２の終了処理のそれぞれの実施状況に応じて、上位インターフェース制御部及び下位インターフェース制御部への電力供給をそれぞれ個別に制御する。
【０００９】
第１の終了処理としては、上位装置からのアクセス要求を遮断し、未処理のアクセス要求をメモリ部に反映させる処理を挙げることができる。また、第２の終了処理としては、メモリ部に保持されている所定のデータを記憶デバイスに退避させる処理を挙げることができる。
【００１０】
通信制御部は、第１の終了処理の完了を確認してから、第２の終了処理を開始させることができる。内部電源制御部は、第１の終了処理が完了した場合に上位インターフェース制御部へのクロック供給を停止し、第２の終了処理が完了した場合に下位インターフェース制御部への給電を停止することができる。あるいは、内部電源制御部は、第１の終了処理が完了した場合に上位インターフェース制御部へのクロック供給を停止し、第２の終了処理が完了した場合に下位インターフェース制御部へのクロック供給を停止させることもできる。さらには、内部電源制御部は、第１の終了処理が完了した場合に上位インターフェース制御部への給電を停止し、第２の終了処理が完了した場合に下位インターフェース制御部への給電を停止することもできる。
【００１１】
本発明の手段、機能、ステップの少なくとも一部は、マイクロコンピュータにより読み込まれて実行されるコンピュータプログラムとして構成できる場合がある。このようなコンピュータプログラムは、例えば、ハードディスクや光ディスク等のような記憶媒体に固定して流通させることができる。または、インターネット等のような通信ネットワークを介して、コンピュータプログラムを供給することもできる。
【発明を実施するための最良の形態】
【００１２】
以下、図面に基づき、本発明の実施の形態を説明する。図１は、本実施形態の全体概念を模式的に示す説明図である。以下に述べるように、本実施形態では、一つの制御パッケージ（１）内に、複数の機能実現部（１Ａ，１Ｂ）をそれぞれ設け、これら各機能実現部（１Ａ，１Ｂ）間に電源境界を設定し、各機能実現部（１Ａ，１Ｂ）毎に個別に電源供給を制御できるようにしている。
【００１３】
図１（ａ）に示すように、本実施形態のストレージ装置は、データを記憶するためのディスクドライブ群４と、ディスクドライブ群４及びホスト３とのデータ授受をそれぞれ制御する通信制御パッケージ１と、キャッシュメモリ（図４，図７参照）ディスクドライブ群４や通信制御パッケージ１等にそれぞれ所定の電力を供給する装置電源部２とを備えている。
【００１４】
装置電源部は、主電源２Ａと、この主電源２Ａが停止した場合に作動するバッテリ電源２Ｂとを備えている。主電源２Ａは、外部の交流電源から得た交流電圧を所定の直流電圧に変換して供給するものである。バッテリ電源２Ｂは、例えば、鉛二次電池として構成され、主電源２Ａの出力が低下した場合に、補助電力を供給する。
【００１５】
通信制御パッケージ１は、ホスト３とのデータ授受を制御するチャネルアダプタ（以下、「CHA」）部１Ａと、ディスクドライブ群４とのデータ授受を制御するディスクアダプタ（以下、「DKA」）部１Ｂと、CHA部１Ａ及びDKA部１Ｂへの給電を制御するパッケージ内電源制御部１Ｃとを備えている。この通信制御パッケージ１は、CHA機能とDKA機能とのそれぞれ異なる種類の機能を、同一パッケージ内でそれぞれ実現する複合型パッケージである。そこで、図中では、複合型の通信制御パッケージを「MIX_PK」と表示する。
【００１６】
ここで、複合型パッケージ１は、例えば、マイクロプロセッサや集積回路、コンデンサや抵抗等の電子部品を搭載した回路基板として構成可能である。この回路基板には、一つまたは複数の拡張基板または補助基板を搭載することもできる。主回路基板に補助的な基板が幾つか追加実装されている場合でも、全体としては単一の回路基板であることを妨げない。
【００１７】
装置電源部２が主電源２Ａの停電状態を検出した場合、装置電源部２は、電力供給源を主電源２Ａからバッテリ電源２Ｂに切り替える。主電源２Ａからバッテリ電源２Ｂに切り替えられた場合、CHA部１Ａは、第１の終了処理を開始して、ホスト３からのアクセス要求を遮断し、未処理のアクセス要求をキャッシュメモリに書き込む。即ち、CHA部１Ａは、ホスト３から書込みを要求された未処理のライトデータを、CHA部１Ａ内のメモリからキャッシュメモリにコピーする。続いて、DKA部１Ｂは、CHA部１Ａによる第１の終了処理が完了した後に、第２の終了処理を開始し、キャッシュメモリに記憶されたデータをディスクドライブ群４に書き込む。
【００１８】
パッケージ内電源制御部１Ｃは、第１段階として、CHA部１Ａが第１の終了処理を完了させた後で、CHA部１Ａの電力消費量を低下させ、第２段階として、DKA部１Ｂが第２の終了処理を完了させた後で、DKA部１Ｂの電力消費量を低下させる。このように、パッケージ内電源制御部１Ｃは、各部１Ａ，１Ｂがそれぞれ実行すべき処理を終えた段階で、各部１Ａ，１Ｂの電力消費量を個別に低下させる。従って、停電等の給電障害が発生した場合に、不要な部分への電源供給を段階的に個別的に停止または低減させることができ、パッケージ全体としての消費電力を少なくすることができる。そして、これにより、バッテリ電源２Ｂからの補助電力を、キャッシュメモリ等の他の部分に与えることができ、メモリバックアップの期間を長くすることができる。
【００１９】
図１（ｂ）は、電源制御のタイミングチャートを示す。停電等の給電障害が発生する前（通常状態）においては、AC/DC電源２Ａから所定の直流電圧が制御パッケージ１に供給されている。時刻Ｔ１において、停電が発生すると、AC/DC電源２Ａの出力電圧が低下し、この電圧降下をトリガとして、バッテリ電源２Ｂが作動する。
【００２０】
CHA部１Ａは、AC/DC電源２Ａからバッテリ電源２Ｂに切り替わった時刻Ｔ１から第１の終了処理を開始する。CHA部１Ａは、ホスト３からの新たなアクセス要求を遮断し、また、既に受け付けている未処理のアクセス要求を処理する。この未処理アクセス要求の処理は、例えば、データの整合性を保持し、停電からの回復した時にサービスを再開できるような処理として定義することもできる。
【００２１】
CHA部１Ａは、電力供給元の切替時刻Ｔ１から所定時間ΔＴの間に、第１の終了処理を完了する。CHA部１Ａの処理が完了すると、CHA部１Ａへのクロック供給が停止され、CHA部１Ａの消費電力はＷcha１からＷcha２に低下する。クロックの不要な電子部品の搭載数等によっても相違するが、クロック停止後の消費電力Ｗcha2は、実質的に０に近い値となる。
【００２２】
時刻Ｔ２において、CHA部１Ａによる第１の終了処理が完了すると、DKA部１Ｂは、第２の終了処理としてのディステージ処理を開始する。ディステージ処理では、キャッシュメモリに記憶されているライトデータをディスクドライブ群４に退避させる。ディステージ処理では、RAIDグループ（パリティグループまたはECC（Error-Correcting Code）グループ）に参加する複数のディスクドライブをそれぞれ駆動する必要があるため、消費電力Ｗdkaは、比較的大きい。ここでは、便宜上、ディステージ処理の開始前後で、消費電力Ｗdkaが実質的に変化しないものとする。
【００２３】
時刻Ｔ３において、DKA部１Ｂによるディステージ処理が完了すると、DKA部１Ｂへの給電が実質的に完全に停止される。これにより、DKA部１Ｂの消費電力は、実質的に０まで低下する。ディステージ処理が完了すると、ストレージ装置は、メモリバックアップを開始する。メモリバックアップとは、キャッシュメモリに電力を供給して、キャッシュされているデータをできるだけ長時間保持させる動作である。キャッシュメモリに記憶されているデータのうち退避が必要なライトデータは、既にディステージ処理によってディスクドライブ群４に退避されている。従って、キャッシュメモリをバックアップする必要性は必ずしもない。しかし、キャッシュメモリをバックアップすることにより、停電から回復したときに速やかにストレージサービスを再開することができる。
【００２４】
制御パッケージ１全体の消費電力の推移に着目すると、時刻Ｔ１で停電が発生し、AC/DC電源２Ａからバッテリ電源２Ｂに切り替わってから、CHA部１Ａによる第１の終了処理が完了するまでの間（Ｔ１−Ｔ２）、制御パッケージ１全体の消費電力は、Ｗpk1で一定である。時刻Ｔ２において、CHA部１Ａへのクロック供給が停止すると、CHA部１Ａの消費電力が低下する分だけ、制御パッケージ１の消費電力は、Ｗpk1からＷpk2に低下する。そして、時刻Ｔ３において、DKA部１Ｂによるディステージ処理が完了すると、DKA部１Ｂへの給電が停止されることに伴って、制御パッケージ１の消費電力は、Ｗpk2からＷpk3に低下する。このように、本実施形態では、制御パッケージ１に内蔵される各機能実現部分毎に電力供給を個別的に制御できるため、制御パッケージ１全体の消費電力を段階的に制御することができる。これにより、バッテリ電源２Ｂの補助電力を無駄に消費することがなく、メモリバックアップ期間を長くすることができる。
【００２５】
本実施形態では、CHA部１Ａ及びDKA部１Ｂの電力消費量を低下させる手段として、クロック供給の停止と給電停止とを予め用意する。パッケージ内電源制御部１Ｃは、CHA部１Ａへのクロック供給を停止させることにより、CHA部１Ａの電力消費量を低下させ、また、DKA部１Ｂへの給電を停止させることにより、DKA部１Ｂの電力消費量を低下させる。これにより、CHA部１Ａ内においては、クロックに同期して作動する回路を停止させることができ、消費電力が低下する。DKA部１Ｂ内においては、クロックの要不要を問わず、全ての回路を停止させることができ、消費電力が低下する。
【００２６】
本実施形態では、CHA部１Ａにより実行される第１の終了処理の進行状況に応じて、CHA部１Ａに供給するクロックを段階的に個別的に停止させる。CHA部１Ａが、ホスト３との通信を行う通信アダプタ部と、キャッシュメモリとの通信を行う入出力制御部とを備えている場合、パッケージ内電源制御部１Ｃは、第１の終了処理の進行状況に応じて、通信アダプタ部へのクロック供給を停止し、次に、入出力制御部へのクロック供給を停止させる。
【００２７】
本実施形態では、主電源の停電状態が軽度であるか重度であるかを判別し、障害のレベルに応じて、単一の制御パッケージ１の電源供給を個別的に制御する。即ち、パッケージ内電源制御部１Ｃは、停電状態が軽度の障害であると判定された場合には、CHA部１Ａ及びDKA部１Ｂへのクロック供給をそれぞれ停止させることにより、CHA部１Ａ及びDKA部１Ｂの電力消費量をそれぞれ低下させる。一方、パッケージ内電源制御部１Ｃは、停電状態が重度の障害であると判定された場合には、CHA部１Ａ部及びDKA部１Ｂへの給電をそれぞれ停止させることにより、CHA部１Ａ及びDKA部１Ｂの電力消費量をそれぞれ低下させる。これにより、軽度の障害の場合は、電力消費を抑制しつつ、停電から回復したときに速やかに再起動することができる。また、重度の障害の場合は、CHA部１Ａ及びDKA部１Ｂの電力消費を実質的に０とし、バッテリ電源２Ｂの補助電力を有効に使用することができる。
【００２８】
以下、本実施形態によるストレージ装置の詳細を説明する。まず、ストレージ装置の外観構成や回路構成等について説明し、次に、単一の制御パッケージの回路構成及びその制御方法を説明する。
【実施例１】
【００２９】
図２はストレージ装置１０の正面図、図３はストレージ装置１０の側面図をそれぞれ模式的に示す説明図である。ストレージ装置１０は、例えば、筐体１１と、この筐体１１内に設けられた記憶部２０と、制御部３０と、装置電源部４０とを備えて構成することができる。
【００３０】
記憶部２０は、筐体１１の上部に設けることができる。記憶部２０は、筐体１１に着脱可能に装着された多数のディスクドライブ２１から構成されている。ディスクドライブ２１は、例えば、ハードディスクドライブとして構成可能であるが、半導体メモリ装置や光ディスクドライブ、光磁気ディスクドライブ等として構成することもできる。
【００３１】
制御部３０は、記憶部２０の下側に位置して筐体１１に設けることができる。制御部３０には、例えば、CHAやDKAとして機能する制御パッケージ３１が着脱可能に装着されている。
【００３２】
装置電源部４０は、筐体１１の最下部に設けることができる。装置電源部４０は、例えば、複数のACボックス４２と、各ACボックス４２の上側に設けられた複数のバッテリボックス４１と、ACボックス４２の上側に位置してバッテリボックス４１の後側に設けられた複数のAC/DC電源４３（図３参照）とから構成されている。バッテリボックス４１は、例えば、鉛二次電池やリチウム二次電池等として構成され、複数の電池セルを備えている。ACボックス４２は、外部の交流電源に接続されるもので、ブレーカ機能を備えている。AC/DC電源４３は、ACボックス４２から供給された交流電圧を所定の直流電圧に変換する。なお、装置電源部４０に、コンデンサボックスを設けて、瞬間的な電圧降下に対応する構成としてもよい。
【００３３】
記憶部２０間にも、薄型のバッテリユニット２２を設けることができる。この薄型バッテリユニット２２は、例えば、ディステージ処理をサポートするために搭載される。本実施例では、バッテリボックス４１と薄型バッテリユニット２２とを特に区別せず、バッテリ電源として説明する。
【００３４】
２段目の記憶部２０と制御部３０との間には、サービスプロセッサ（以下、「SVP」）５０が設けられている。
【００３５】
図３を参照する。各記憶部２０には、その後面側に複数の冷却ファン２０Ａがそれぞれ設けられている。制御部３０の後面側にも複数の冷却ファン３０Ａがそれぞれ設けられている。同様に、各AC/DC電源４３の後面側にも冷却ファン４３Ａがそれぞれ設けられている。筐体１１の前面から吸い込まれた空気は、ディスクドライブ２１や制御パッケージ３１やAC/DC電源４３等を冷却しながら、後面側に流れ込み、筐体１１の外部に排出される。なお、冷却構造としては、空冷に限らず水冷等を用いてもよい。
【００３６】
図４は、ストレージ装置１０の機能構成に着目したブロック図である。ストレージ装置１０は、通信ネットワークＣＮ１１を介して、複数のホストＨ１に接続可能である。なお、ホストＨ１は、いわゆるオープン系ホストとメインフレーム系ホストとに分けることができる。
【００３７】
通信ネットワークＣＮ１１としては、例えば、LAN（Local Area Network）、SAN（Storage Area Network）、インターネットまたは専用回線等を採用できる。LANを用いる場合、ホストＨ１とストレージ装置１０との間のデータ転送は、TCP/IP（Transmission Control Protocol/Internet Protocol）に従う。SANを用いる場合、ホストＨ１とストレージ装置１０との間のデータ転送は、ファイバチャネルプロトコルに従う。また、ホストＨ１がメインフレームの場合、例えば、FICON（Fibre Connection：登録商標）、ESCON（Enterprise System Connection：登録商標）、ACONARC（Advanced Connection Architecture：登録商標）、FIBARC（Fibre Connection Architecture：登録商標）等の通信プロトコルに従ってデータ転送が行われる。オープン系ホストは、ファイバチャネルプロトコルやSCSI（Small Computer System Interface）等を用いてストレージ装置１０との間でデータ通信を行い、メインフレーム系ホストは、FICONやESCON等を用いてストレージ装置１０との間でデータ通信を行う。
【００３８】
各ホストＨ１は、例えば、サーバ、パーソナルコンピュータ、ワークステーション、メインフレーム、携帯情報端末等のようなコンピュータシステムとして実現される。各ホストＨ１は、HBA（Host Bus Adapter）を介して、ストレージ装置１０の通信ポートと接続されている。各ホストＨ１は、例えば、図外に位置する複数のクライアント端末と別の通信ネットワークを介して接続される。各ホストＨ１は、各クライアント端末からの要求に応じて、ストレージ装置１０にデータの読み書きを行うことにより、各クライアント端末へのサービスを提供する。
【００３９】
ストレージ装置１０には、CHA１１０を設けることができる。各CHA１１０は、各ホストＨ１との間のデータ転送を制御するための専用パッケージである。CHA１１０は、例えば、オープン系用CHA、メインフレーム系用CHA等のように、ホストＨ１の種類に応じて用意される。
【００４０】
複合パッケージ（MIX_PK）１２０は、CHA機能とDKA機能の両方を実現する。その詳細はさらに後述するが、複合パッケージ１２０は、ホストＨ１とのデータ通信及びディスクドライブ２１とのデータ通信をそれぞれ実現する。ストレージ装置１０には、複合パッケージ１２０のみを設けることもできるし、複合パッケージ１２０とCHA専用パッケージ１１０とを混在させることもできる。
【００４１】
複合パッケージ１２０は、例えば、SAN等の通信ネットワークＣＮ１２を介して各ディスクドライブ２１と接続されており、ファイバチャネルプロトコルに従ってブロックレベルのデータ転送を行う。また、複合パッケージ１２０は、CHA専用パッケージ１１０で述べたと同様に、LANやSAN等の通信ネットワークＣＮ１１を介してホストＨ１に接続される。なお、後述のように、複合パッケージ１２０は、NAS（Network Attached Storage）機能を備えることもできる。
【００４２】
キャッシュメモリ１３０は、ホストＨ１から書き込まれたライトデータや、ホストＨ１に読み出されたリードデータを記憶するものである。キャッシュメモリ１３０は、例えば、揮発または不揮発のメモリから構成可能である。本実施例では、キャッシュメモリの全部または一部を、電源バックアップの必要な揮発メモリから構成する場合を例に挙げて説明する。キャッシュメモリ１３０は、リードキャッシュ１３１とライトキャッシュ１３２とに分かれている。リードキャッシュ１３１には、ディスクドライブ２１から読み出されたデータが記憶される。ライトキャッシュ１３２には、ホストＨ１から書込みを要求されたデータが記憶される。なお、ライトキャッシュ１３２に冗長構造を採用し、同一のデータを複数のメモリで記憶することもできる。
【００４３】
共有メモリ（あるいは制御メモリ）１４０は、例えば、不揮発メモリから構成可能であるが、揮発メモリから構成してもよい。共有メモリ１４０には、例えば、制御情報や管理情報等が記憶される。これらの制御情報等の情報は、複数のメモリ１４０により多重管理することができる。共有メモリ１４０及びキャッシュメモリ１３０は、それぞれ別々のメモリパッケージとして構成することもできるし、同一のメモリパッケージ内にキャッシュメモリ１３０及び共有メモリ１４０を設けてもよい。また、メモリの一部をキャッシュ領域として使用し、他の一部を制御領域として使用することもできる。つまり、共有メモリとキャッシュメモリとは、同一のメモリとして構成することもできる。
【００４４】
スイッチ部１５０は、各CHA１１０と、各複合パッケージ１２０と、キャッシュメモリ１３０と、共有メモリ１４０とをそれぞれ接続するものである。これにより、全てのCHA１１０，複合パッケージ１２０は、キャッシュメモリ１３０及び共有メモリ１４０にそれぞれアクセス可能である。スイッチ部１５０は、例えば、超高速クロスバスイッチ等として構成することができる。
【００４５】
ディスクドライブ２１は、物理的な記憶デバイスである。RAID構成等によっても相違するが、例えば、４個１組のディスクドライブ２１によって、RAIDグループ１７０が構築される。さらに、RAIDグループ１７０には、仮想的な論理ユニット（LU：Logigal Unit）１８０を一つ以上設定することができる。論理ユニット１８０は、SCSIやファイバチャネル等を用いるオープン系のホストＨ１からのアクセス対象ボリュームである。なお、FiCNやESCON等を用いるメインフレーム系のホストＨ１の場合は、論理デバイス（LDEV）がアクセス対象ボリュームとなる。
【００４６】
なお、ストレージ装置１０が使用する記憶資源は、全てストレージ装置１０内に存在する必要はない。ストレージ装置１０は、ストレージ装置１０の外部に存在する記憶資源を、あたかも自己の記憶資源であるかのように取り込んで、利用することもできる。
【００４７】
SVP５０は、LAN等の内部ネットワークＣＮ１３を介して、各CHA１１０及び各複合パッケージ１２０とそれぞれ接続されている。また、SVP５０は、図示せぬ通信ネットワークを介して、図外の管理端末に接続可能である。SVP５０は、CHA１１０，複合パッケージ１２０，装置電源部４０の状態を含む、ストレージ装置１０内部の各種状態を収集し、管理端末に提供する。
【００４８】
装置電源部４０は、上述した各CHA１１０，各複合パッケージ１２０，キャッシュメモリ１３０等の電力を必要とする各部に対し、電源コモンバスを介して電力を供給するものである。ストレージ装置１０内の電力供給系統については、さらに後述する。
【００４９】
図５は、複合パッケージ１２０とディスクドライブ２１との接続状態等の概略を示す説明図である。複合パッケージ１２０は、ホストＨ１と接続するための複数の上位通信ポート（上位通信アダプタ）と、ディスクドライブ２１と接続するための複数の下位通信ポート（下位通信アダプタ）とを備えることができる。図中では、ホストＨ１とストレージ装置１０との間に一つのパスのみを示しているが、一つのホストＨ１は、複数のHBAを備えることができ、これら複数のHBAを介してストレージ装置１０にそれぞれ接続することができる。一つのホストＨ１を複数のパスでストレージ装置１０に接続する場合、各パスを流れるデータ量を調整し、負荷の分散を図ることができる。
【００５０】
図５では、ディスクドライブの列が合計４個示されている。各列は、それぞれ複数のディスクドライブ２１から構成される。各列のディスクドライブ２１は、例えば、同一のマザーボードに接続することができる。各列のディスクドライブ２１は、それぞれ異なる複合パッケージ１２０の下位通信ポートに接続されている。また、各列のディスクドライブ２１には、装置電源部４０から複数の電力供給経路Ｌ１を介して電力が供給される。
【００５１】
RAIDグループ１７０は、ディスクドライブの列をまたがって構成される。即ち、例えば、それぞれ異なるマザーボードに接続された複数のディスクドライブ２１によって、一つのRAIDグループ１７０が構成される。
【００５２】
このように、通信経路ＣＮ１２や電力供給経路Ｌ１がそれぞれ冗長化されたディスクドライブ群を用いて、RAIDに基づく記憶領域を構築する。従って、いずれかの通信経路ＣＮ１２に断線等の障害が発生した場合でも、他の通信経路ＣＮ１２を介してディスクドライブ群にアクセスすることができる。また、いずれか一方の電力供給系統Ｌ１に断線等の障害が発生した場合でも、他方の電力供給系統Ｌ１を介してディスクドライブ群に電力を供給することができる。さらに、例えば、RAID５等に基づいてデータを冗長記憶する場合は、RAIDグループ１７０を構成するディスクドライブ２１のうちいずれか一つのディスクドライブ２１が故障したときでも、残りのディスクドライブ２１に記憶されているデータに基づいて、故障したディスクドライブ２１に記憶されているデータを復元することができる。
【００５３】
図６は、ストレージ装置１０内の電力供給系統に着目した概略回路図である。図６中では、バッテリボックス４１，ACボックス４２及びAC/DC電源４３を、それぞれ一つずつ示すが、上述の通り、実際にはそれぞれ複数設けられている。各AC/DC電源部４３及び各バッテリボックス４１は、電源コモンバス６０にそれぞれ接続されている。AC/DC電源４３は、ACボックス４２から入力された交流電圧を、例えば、数十ボルト程度の直流電圧に変換し、電源コモンバス６０に出力する。電源制御部４４は、AC/DC電源４３の出力電圧等を監視しており、停電等によってAC/DC電源４３の出力が所定値まで低下したような場合は、AC/DC電源４３からバッテリボックス４１に切り替える。
【００５４】
各CHA専用パッケージ１１０，各複合パッケージ１２０，キャッシュメモリ１３０，共有メモリ１４０及び各ディスクドライブ２１は、電源コモンバス６０を介して、必要な電力を得るようになっている。なお、図示は省略するが、各パッケージ内には、それぞれ一つまたは複数のDC/DCコンバータを設けることができ、このDC/DCコンバータによって電圧を調整する。
【００５５】
図７は、複合パッケージ１２０の構成例を示すブロック図である。複合パッケージ１２０には、ホストＨ１とのデータ通信を制御するCHA部１２０Ａと、ディスクドライブ２１とのデータ通信を制御するDKA部１２０Ｂとがそれぞれ設けられている。
【００５６】
CHA部１２０Ａは、複数の通信アダプタ１２１Ａと、複数のマイクロプロセッサ（以下、「MP」）１２２Ａと、複数の集積回路（以下、「LSI」）１２３Ａとが設けられ、これら１２１Ａ〜１２３Ａには、それぞれクロックドライバ１２４Ａを介してクロックが供給されている。通信アダプタ１２１Ａは、ホストＨ１との通信を行う通信ポートを制御するものである。MP１２２Ａは、CHA部１２０Ａの動作を制御する。LSI１２３Ａは、装置電源部４０等との入出力を制御する。
【００５７】
DKA部１２０ＢもCHA部１２０Ａと同様に、複数の通信アダプタ１２１Ｂと、複数のMP１２２Ｂと、複数のLSI１２３Ｂとを備えており、図示せぬクロックドライバからクロックが供給されている。
【００５８】
複合パッケージ１２０には、パッケージ内電源制御部（以下、「PK内電源制御部」）１２５が設けられている。PK内電源制御部１２５は、CHA部１２０Ａ及びDKA部１２０Ｂの電源供給をそれぞれ個別に制御するもので、CHA部１２０Ａ及びDKA部１２０Ｂにより共通に使用される。PK内電源制御部１２５は、例えば、リセット信号制御部１２６と、AND回路１２７と、オンオフ制御部１２８とを備えている。リセット信号制御部１２６は、CHA部１２０Ａからの信号に基づいて、各クロックドライバ１２４Ａにリセット信号を出力することにより、クロックの供給を停止させる。AND回路１２７は、CHA部１２０Ａ及びDKA部１２０Ｂの両方から電源オフ準備が完了した旨の信号がそれぞれ入力された場合に、電源オフ信号をオンオフ制御部１２８に出力する。オンオフ制御部１２８は、AND回路１２７から電源オフ信号が入力されると、複合パッケージ１２０の電源をオフし、パッケージ１２０が電源オフ状態になった旨を装置電源部４０に通知するものである。
【００５９】
図８は、CHA部１２０ＡをNASとして構成する場合の概略ブロック図である。NASとは、ファイルサーバ機能に特化したコンピュータシステムである。この場合、通信アダプタ１２１Ａに代えて、LANコントローラ機能を備える通信アダプタ２０１Ａを設ける。また、MP１２２Ａに代えて、ファイルサーバ部２０２Ａを設ける。さらに、LSI１２３Ａに代えて、I/O制御部２０３Ａを設ける。
【００６０】
ファイルサーバ部２０２Ａは、例えば、CPU（Central Processing Unit）２１０Ａと、メモリコントローラ２２０Ａと、メモリ２３０Ａと、NVRAM（Non Volatile RAM）２４０Ａとを備えて構成することができる。I/O制御部２０３Ａは、例えば、I/O（Input/Output）プロセッサ２５０Ａと、NVRAM２６０Ａとを備えて構成できる。そして、通信アダプタ２０１Ａ，CPU２１０Ａ，メモリコントローラ２２０Ａ及びI/O制御部２０３Ａのそれぞれに、クロックドライバ１２４Ａから所定のクロックが供給される。
【００６１】
このように、本実施例では、複合パッケージ１２０のCHA部１２０Ａを、ファイバチャネルプロトコルに基づくSAN用のアダプタとして構成することもできるし、TCP/IPに基づくNASとして構成することもできる。
【００６２】
図９は、複合パッケージ１２０にNAS機能を搭載した場合のソフトウェア構造を示す説明図である。NAS機能は、例えば、ネットワークプロトコル層３１０と、ファイルアクセスプロトコル層３２０，３３０と、ファイルシステム３４０と、論理ボリュームマネージャ（以下、「LVM」）３５０と、デバイスドライバ群３６０とから実現可能である。
【００６３】
ネットワークプロトコル層３１０は、例えば、TCP/IPやUDP/IP（User Datagram Protocol/Internet Protocol）等のようなプロトコルをサポートしており、これらのプロトコルに従ってデータの送受信を行う。ファイルアクセスプロトコル層３２０，３３０は、ファイルアクセスのためのプロトコルをサポートする。例えば、一方のファイルアクセスプロトコル３２０は、NFS（Network File System：Sun Microsystems, Inc.の商標）であり、他方のファイルアクセスプロトコル３３０は、CIFS（Common Internet File System）である。ここで、一方のホストＨ１Ａでは、例えば、UNIX（X/Open Company Limitedの登録商標）等のOS上にNFSクライアントを設けることができる。他方のホストＨ１Ｂでは、例えば、Windows（Microsoft Corporationの登録商標）等のOS上にCIFSクライアントを設けることができる。
【００６４】
ファイルシステム３４０は、各LU１８０へのファイルの入出力等を制御するプログラムであり、LVM３５０は、LU１８０の管理機能を提供するプログラムである。LVM３５０は、例えば、複数のLU１８０を束ねて、ユーザが使用し易い容量のボリュームに分割等する。また、LVM３５０は、スナップショット機能を備えることもできる。スナップショットとは、ある時点におけるデータの静止化イメージである。スナップショット機能とは、スナップショット作成時点における記憶構成を仮想ボリュームとして提供する機能である。デバイスドライバ群３６０は、ストレージアクセスの単位であるLU１８０を上位のLVM３５０にアクセスさせるために、スペシャルファイルの形式でデータを提供するものである。
【００６５】
ファイルシステム３４０は、各ホストＨ１Ａ，Ｈ１Ｂからディレクトリ名及びファイル名を明示したコマンドを受領すると、このコマンドに基づいて、各ホストＨ１Ａ，Ｈ１Ｂから要求されたファイルをボリューム位置情報に変換する。ボリューム位置情報は、例えば、ファイルデータの存在するボリューム番号やセグメント情報から構成される。ファイルシステム３４０は、アクセス対象のファイルをボリューム位置情報に変換して、LVM３５０にデータアクセスを要求する。LVM３５０は、ファイルシステム３４０からのアクセス要求を受領すると、LU１８０上のブロックアドレスに変換し、デバイスドライバ群３６０に渡す。デバイスドライバ群３６０は、LVM３５０から受領したブロックアドレスに基づいてLU１８０にアクセスし、ファイルのデータを読み出す。読み出されたファイルデータは、各ホストＨ１Ａ，Ｈ１Ｂに送信される。
【００６６】
次に、本実施例の動作について説明する。まず最初に、複合パッケージ１２０を中心として、ストレージ装置１０の基本的な動作について説明する。CHA部１２０Ａは、ホストＨ１からリードコマンドを受信すると、このリードコマンドを共有メモリ１４０に記憶させる。DKA部１２０Ｂは、共有メモリ１４０を随時参照しており、未処理のリードコマンドを発見すると、ディスクドライブ２１からデータを読み出して、リードキャッシュ１３１に記憶させる。CHA部１２０Ａは、リードキャッシュ１３１に移されたデータを読み出し、ホストＨ１に送信する。
【００６７】
一方、CHA部１２０Ａは、ホストＨ１からライトコマンドを受信すると、このライトコマンドを共有メモリ１４０に記憶させる。また、CHA部１２０Ａは、受信したデータをライトキャッシュ１３２に記憶させる。CHA部１２０Ａは、ライトキャッシュ１３２にライトデータを記憶した後、ホストＨ１に書込み完了を報告する。DKA部１２０Ｂは、共有メモリ１４０に記憶されたライトコマンドに従って、ライトキャッシュ１３２に記憶されたライトデータを読出し、所定のディスクドライブ２１に記憶させる。
【００６８】
次に、図１０に基づいて、停電等の給電障害が発生したときの動作を説明する。装置電源部４０は、例えば、AC/DC電源４３からの出力電圧値やACボックス４２の出力電圧値に基づいて、停電等の障害が発生したか否かを判定する（Ｓ１１）。
【００６９】
停電等の障害が発生した場合（S11：YES）、装置電源部４０は、AC/DC電源４３からバッテリ電源に出力を切り替え（Ｓ１２）、複合パッケージ１２０のCHA部１２０Ａに電源オフ要求信号を出力する（Ｓ１３）。電源オフ要求信号とは、CHA部１２０Ａの消費電力低下を要求する信号である。
【００７０】
CHA部１２０Ａは、装置電源部４０から電源オフ要求信号を受信すると、所定の終了処理（Ｓ１４〜Ｓ１７）を開始する。即ち、CHA部１２０Ａは、ホストＨ１からの新たなアクセス要求の受付を拒否し（Ｓ１４）、障害が発生した旨をホストＨ１に通知する（Ｓ１５）。この障害発生通知を受信したホストＨ１は、CHA部１２０Ａに対するアクセスを中断し、無駄なリトライ処理等を行わない。CHA部１２０Ａは、装置電源部４０から電源オフ要求信号を受信する前にホストＨ１から受信した未処理のアクセス要求を処理する（Ｓ１６）。つまり、CHA部１２０Ａは、電源障害発生前にホストＨ１から受け付けたライトデータを、ライトキャッシュ１３２に書き込む。なお、リードアクセスの処理は特に行う必要がない。電源障害の回復後に、ホストＨ１は再びリードコマンドを送信すれば足りるためである。ライトデータを全てライトキャッシュ１３２に書き込んで終了処理を完了した場合（S17：YES）、CHA部１２０Ａは、電源オフの準備が完了した旨をPK内電源制御部１２５に通知する（Ｓ１８）。
【００７１】
PK内電源制御部１２５は、CHA部１２０Ａから準備完了通知を受信すると、リセット信号制御部１２６を介して、CHA部１２０Ａに供給するクロックをそれぞれ停止させる（Ｓ１９〜Ｓ２１）。即ち、リセット信号制御部１２６は、通信アダプタ１２１Ａにクロックを供給するクロックドライバ１２４Ａにリセット信号を出力し、通信アダプタ１２１Ａへのクロック供給を停止させる（Ｓ１９）。また、リセット信号制御部１２６は、MP１２２Ａにクロックを供給するクロックドライバ１２４Ａにリセット信号を出力し、MP１２２Ａへのクロック供給を停止させる（Ｓ２０）。さらに、リセット信号制御部１２６は、LSI１２３Ａにクロックを供給するクロックドライバ１２４Ａにリセット信号を出力し、LSI１２３Ａへのクロック供給を停止させる（Ｓ２１）。
【００７２】
PK内電源制御部１２５は、CHA部１２０Ａへのクロック供給を停止させた後、DKA部１２０Ｂにディステージ処理の開始を要求する（Ｓ２２）。
【００７３】
DKA部１２０Ｂは、PK内電源制御部１２５からの信号を受信すると、ディステージ処理を開始する（Ｓ２３）。即ち、DKA部１２０Ｂは、ライトキャッシュ１３２に記憶されているライトデータを、所定のRAIDグループに書き込んで退避させる。ディステージ処理が完了すると（S24：YES）、DKA部１２０Ｂは、電源オフの準備が完了した旨をPK内電源制御部１２５に通知する（Ｓ２５）。
【００７４】
PK内電源制御部１２５のAND回路１２７は、CHA部１２０Ａ及びDKA部１２０Ｂの両方からそれぞれ電源オフ準備完了信号を受信すると、オンオフ制御部１２８に信号を出力する。AND回路１２７から信号が入力されると、オンオフ制御部１２８は、複合パッケージ１２０内の電源を落とし（Ｓ２６）、複合パッケージ１２０が機能を停止した旨を装置電源部４０に通知する（Ｓ２７）。
【００７５】
装置電源部４０は、PK内電源制御部１２５から複合パッケージ１２０が停止した旨を受信すると（S28：YES）、メモリバックアップを開始する（Ｓ２９）。メモリバックアップ処理では、キャッシュメモリ１３０にのみ電力を供給し、キャッシュデータを保持させる。
【００７６】
装置電源部４０は、複合パッケージ１２０を含む全てのパッケージから、機能を停止した旨の報告をそれぞれ受信すると（S30：YES）、ストレージ装置１０への電源供給を停止させる（Ｓ３１）。但し、装置電源をオフする場合でも、キャッシュメモリ１３０のバックアップは継続することができる。なお、冷却ファン２０Ａ，３０Ａ及び４３Ａは、冷却の必要が無くなった時点で、それぞれ停止させることができる。
【００７７】
図１１は、複合パッケージ１２０にNAS機能を搭載した場合における起動シーケンスの概略を部分的に示すフローチャートである。
【００７８】
最初に、通常の起動シーケンスを説明する。CPU２１０Ａ及びI/Oプロセッサ２５０Ａのそれぞれに電源を投入した後（Ｓ４１，Ｓ４２）、I/Oプロセッサ２５０Ａは、ハードウェアの初期化をCPU２１０Ａに要求する（Ｓ４３）。この要求により、CPU２１０Ａは、BIOS（Basic Input / Output System）を起動させ（Ｓ４４）、I/Oプロセッサ２５０Ａからの診断要求に応じて自己診断を行う（Ｓ４５〜Ｓ４７）。診断完了後に、I/Oプロセッサ２５０Ａは、CPUリセット信号を出力する（Ｓ４８）。
【００７９】
これにより、CPU２１０Ａには電源が再び投入され（Ｓ４９）、BIOSが再び起動する（Ｓ５０）。CPU２１０Ａは、I/Oプロセッサ２５０Ａからの指示により（Ｓ５１）、ネットブートを開始し、管理端末から所定のディスクドライブ２１にOSを格納させる（Ｓ５２〜Ｓ５４）。次に、CPU２１０Ａには、I/Oプロセッサ２５０Ａからの命令によってリセットされ（Ｓ５５，Ｓ５６）、BIOSが起動する（Ｓ５７）。
【００８０】
CPU２１０Ａは、I/Oプロセッサ２５０Ａからの指示により（Ｓ５８）、ディスクブートを開始し（Ｓ５９）、所定のディスクドライブ２１からOSをメモリにロードし（Ｓ６０）、OSを起動させる（Ｓ６１）。これにより、CHA部１２０Ａは、通常動作を開始することができる（Ｓ６２）。
【００８１】
CHA部１２０Ａへのクロック供給を一時停止した場合でも、停電等の電源障害が回復した後で、再びCHA１２０Ａにクロックを供給すれば、Ｓ５６から処理が再開する。従って、ディステージ処理期間中に電源障害が回復したような場合は、クロック供給を再開するだけで、複合パッケージ１２０の機能を速やかに復旧させることができ、ストレージサービスの応答性を高めることができる。なお、CHA部１２０Ａの給電を完全に停止させた場合でも、既にOSは所定のディスクドライブにインストール済であるため、Ｓ５６から処理を再開させることもできる。
【００８２】
本実施例は、上述のように構成されるため、以下の効果を奏する。本実施例では、装置電源部４０が停電等の電源障害を検出した場合に、CHA部１２０Ａ及びDKA部１２０Ｂによる所定の終了処理の実施状況に応じて、CHA部１２０Ａ及びDKA部１２０Ｂへの電力供給をそれぞれ個別に制御する構成とした。従って、不要な回路への電力供給を停止して、バッテリ電源を有効に利用することができる。従って、バッテリ容量が同じならメモリバックアップ期間を長くすることができ、メモリバックアップ期間を同じにするなら、バッテリ容量を小さくすることができる。
【００８３】
ここで、通常稼働時の消費電力を、例えば、CHA部１２０Ａが１００Ｗ、DKA部１２０Ｂが１００Ｗであるとする。通常稼働時における複合パッケージ１２０の消費電力は、１００Ｗ＋１００Ｗ＝２００Ｗとなる。ホストＨ１からのI/O要求が発生せず、CHA部１２０Ａが未使用状態で待機している場合、CHA部１２０Ａの消費電力は、約５０Ｗに低下する。従って、このCHA部待機状態では、複合パッケージ１２０の消費電力は、５０Ｗ＋１００Ｗ＝１５０Ｗとなる。CHA部１２０Ａへのクロック供給を停止した場合、CHA部１２０Ａの消費電力は１５Ｗ程度に低下する。従って、CHA部へのクロック停止中の複合パッケージ１２０Ａの消費電力は、１５Ｗ＋１００Ｗ＝１１５Ｗとなる。DKA部１２０Ｂへの給電を停止した場合、複合パッケージ１２０の消費電力は１５Ｗ＋０Ｗ＝１５Ｗとなる。なお、以上の計算例は、消費電力の概略的な傾向を示すもので、本発明はこれに限定されない。
【００８４】
本実施例では、CHA部１２０Ａによる所定の終了処理が完了した場合に、CHA部１２０Ａへのクロック供給を停止する構成とした。従って、電源障害が短時間で回復したような場合には、クロックを再び供給等するだけでCHA部１２０Ａの機能を速やかに復旧させることができる。また、クロックを制御するための回路（リセット信号制御部１２６）は、比較的簡単に構成することができ、少ないコスト増加で効率的に電源制御を行うことができる。
【実施例２】
【００８５】
図１２，図１３に基づいて、本発明の第２実施例を説明する。本実施例の特徴の一つは、複合パッケージ１２０内のCHA部１２０Ａ，DKA部１２０Ｂに、PK内電源制御部１２４Ａ，１２５Ｂをそれぞれ設け、停電等の電源障害が発生した場合は、CHA部１２０Ａへの給電を停止させる点にある。
【００８６】
図１２は、本実施例による複合パッケージ１２０のブロック図である。CHA部１２０Ａには、PK内電源制御部１２５Ａが設けられている。また、DKA部１２０Ｂには、別のPK内電源制御部１２５Ｂが設けられている。各PK内電源制御部１２５Ａ，１２５Ｂには、オンオフ制御部１２８Ａ，１２８Ｂが設けられており、リセット信号制御部等は設けられていない。即ち、本実施例では、停電等の障害が発生した場合、クロック供給を制御するのではなく、電力供給を個別に直接制御する。
【００８７】
図１３は、本実施例による動作を示すフローチャートである。図１０と共に述べたステップと重複するステップの説明を割愛し、本実施例に特徴的な部分を説明する。CHA用のPK内電源制御部１２５Ａは、CHA部１２０Ａから電源オフの準備完了通知を受信すると、CHA部１２０Ａへの電力供給を停止させる（Ｓ７１）。そして、PK内電源制御部１２５Ａは、DKA部１２０Ｂへディステージ処理の開始を指示した後（Ｓ７２）、装置電源部４０にCHA部の電源オフが完了した旨を通知する（Ｓ７３）。
【００８８】
一方、ディステージ処理を完了したDKA部１２０Ｂが、PK内電源制御部１２５Ｂに電源オフの準備完了を報告すると（Ｓ２５）、PK内電源制御部１２５Ｂは、DKA部１２０Ｂへの電力供給を停止し（Ｓ７４）、装置電源部４０にDKA部の電源オフが完了した旨を通知する（Ｓ７５）。
【００８９】
装置電源部４０は、CHA部１２０Ａ及びDKA部１２０Ｂの電源オフを確認すると（S76：YES）、メモリバックアップ等を開始する（Ｓ２９〜Ｓ３１）。
【００９０】
このように、CHA部１２０Ａ，DKA部１２０ＢにそれぞれPK内電源制御部１２５Ａ，１２５Ｂを設け、CHA部１２０Ａ，DKA部１２０Ｂへの電力供給をそれぞれ個別に管理することもできる。
【実施例３】
【００９１】
図１４〜図１８に基づいて、第３実施例を説明する。本実施例の特徴の一つは、電源障害の程度に応じて、複合パッケージ１２０内の電源供給を個別に制御する点にある。
【００９２】
図１４は、本実施例による複合パッケージ１２０の概略ブロック図である。CHA部１２０Ａ，DKA部１２０Ｂには、それぞれPK内電源制御部１２５Ａ，１２５Ｂが設けられている。各PK内電源制御部１２５Ａ，１２５Ｂは、それぞれリセット信号制御部１２６Ａ，１２６Ｂと、オンオフ制御部１２８Ａ，１２８Ｂを備えている。つまり、各PK内電源制御部１２５Ａ，１２５Ｂは、それぞれクロック制御を行うことができる。
【００９３】
装置電源部４０には、電源障害レベル判定部４５が設けられている。電源障害レベルの判定方法については、さらに後述する。
【００９４】
図１５は、停電等の電源障害が発生した場合のフローチャートである。装置電源部４０は、停電等の発生を検出すると（S81：YES）、AC/DC電源４３からバッテリ電源に切り替え（Ｓ８２）、CHA部１２０Ａに電源オフ要求信号を出力する（Ｓ８３）。
【００９５】
CHA部１２０Ａは、電源オフ要求信号を受信すると、ホストＨ１からのアクセス要求を拒否し（Ｓ８４）、ホストＨ１に障害が発生した旨を通知する（Ｓ８５）。そして、CHA部１２０Ａは、未処理のライトデータをライトキャッシュ１３２に書き込んだ後（Ｓ８６，Ｓ８７）、PK内電源制御部１２５Ａに電源オフの準備が完了した旨を通知する（Ｓ８８）。
【００９６】
PK内電源制御部１２５Ａは、CHA部１２０Ａからの通知を受信すると、DKA部１２０Ｂにディステージ処理の開始を指示する（Ｓ８９）。次に、PK内電源制御部１２５Ａは、障害レベルの判定結果を装置電源部４０に要求する（Ｓ９０）。
【００９７】
一方、DKA部１２０Ｂは、ディステージ処理を終えた後（Ｓ９１，Ｓ９２）、電源オフの準備が完了した旨をPK内電源制御部１２５Ｂに通知する（Ｓ９３）。そして、PK内電源制御部１２５Ｂは、この通知を受けると、装置電源部４０に障害レベルの判定結果を要求する（Ｓ９４）。
【００９８】
装置電源部４０は、CHA部１２０Ａ及び／又はDKA部１２０Ｂから障害レベルの判定を要求された場合、Ｓ８１で検出された電源障害のレベルを判定する（Ｓ９５）。本実施例では、電源障害のレベルを軽度の障害と重度の障害との２段階で判定する。軽度の障害とは、例えば、比較的短時間で復旧すると見込まれる障害であり、重度の障害とは、例えば、復旧までに比較的長時間を必要とすると見込まれる障害である。
【００９９】
図１６は、軽度の障害であると判定された場合の電源制御処理を示す。装置電源部４０は、電源障害レベルの判定結果（ここでは、軽度の障害）をCHA部１２０Ａ，DKA部１２０Ｂにそれぞれ通知する（Ｓ１０１）。
【０１００】
PK内電源制御部１２５Ａは、軽度の障害であるとの通知を受信すると（Ｓ１０２）、CHA部１２０Ａの所定の各部に対するクロック供給をそれぞれ停止し（Ｓ１０３）、リセット完了（クロック供給の停止）を装置電源部４０に報告する（Ｓ１０４）。
【０１０１】
CHA側のPK内電源制御部１２５Ａとほぼ同時期に、DKA側のPK内電源制御部１２５Ｂは、軽度の障害であるとの判定結果を受信すると（Ｓ１０５）、DKA部１２０Ｂの所定の各部（通信アダプタ、MP、LSI）へのクロック供給を停止し（Ｓ１０６）、装置電源部４０にリセット完了を報告する（Ｓ１０７）。
【０１０２】
装置電源部４０は、CHA部１２０Ａ及びDKA部１２０Ｂからリセット完了報告を受信すると（S108：YES）、メモリバックアップを開始する（Ｓ１０９）。そして、全てのパッケージの電源オフを確認した後（S110：YES）、装置電源を落として処理を終了する（Ｓ１１１）。なお、軽度の障害が発生した場合でも、バッテリ容量が所定値以下に低下したときは、装置電源を落として処理を終了する。
【０１０３】
図１７は、重度の障害であると判定された場合の処理を示す。装置電源部４０は、電源障害レベルの判定結果（ここでは、重度の障害）をCHA部１２０Ａ，DKA部１２０Ｂにそれぞれ通知する（Ｓ１２１）。
【０１０４】
PK内電源制御部１２５Ａは、装置電源部４０から判定結果を受信すると（Ｓ１２２）、CHA部１２０Ａへの電力供給を停止し（Ｓ１２３）、電源オフの完了を装置電源部４０に報告する（Ｓ１２４）。同様に、DKA側のPK内電源制御部１２５Ｂは、重度の障害であるとの判定結果を受信すると（Ｓ１２５）、DKA部１２０Ｂへの電力供給を停止し（Ｓ１２６）、装置電源部４０に電源オフの完了を報告する（Ｓ１２７）。
【０１０５】
そして、装置電源部４０は、CHA部１２０Ａ及びDKA部１２０Ｂから電源オフ完了報告を受信すると（S128：YES）、メモリバックアップを開始し（Ｓ１２９）、全てのパッケージの電源オフを確認した後で（S130：YES）、装置電源を落として処理を終了する（Ｓ１３１）。
【０１０６】
図１８は、電源障害レベルの判定処理を示す概略フローチャートである。本実施例では、例えば、システムオペレータが管理端末やSVP５０を介して、電源障害のレベルを入力するものとする（Ｓ１４１）。
【０１０７】
装置電源部４０は、システムオペレータから軽度の障害であることを示す情報が入力された場合（S142：YES）、軽度の障害であると判定する（Ｓ１４３）。反対に、システムオペレータから重度の障害であることを示す情報が入力された場合（S142：NO）、装置電源部４０は、重度の障害であると判定する（Ｓ１４４）。
【０１０８】
システムオペレータは、種々の情報に基づいて、電源障害のレベルを判定することができる。例えば、地震や火災等により構内の変電設備や送電経路等に大きなダメージを受けたような場合、システムオペレータは、電力供給再開までに長時間を要するものと判断し、重度の障害であることを示す情報を装置電源部４０に与えることができる。また、例えば、ニュースや電力会社への問合せ等によって、軽微な停電であり、復旧までの時間が短いと判断できるときは、システムオペレータは、軽度の障害であることを示す情報を装置電源部４０に与えることができる。さらに、例えば、電力需要急増期の計画的な停電や電力制限が実施されたような場合、システムオペレータは、軽度な障害であると判定し、装置電源部４０に指示を与えることができる。
【０１０９】
このように、電源障害のレベルに応じて、CHA部１２０Ａ及びDKA部１２０Ｂの消費電力をそれぞれ個別に制御するため、バッテリ電源をより有効に使用することができ、メモリバックアップ期間を長くすることができる。即ち、電源障害が軽度の場合は、制御パッケージ（１２０Ａ，１２０Ｂ）のクロック供給を停止させるため、電源障害の回復時には、速やかにストレージシステムの機能を回復させることができる。これに対し、電源障害が重度の場合は、制御パッケージの電源を停止させるため、バッテリ電源の消費を抑制することができ、これにより、バッテリ電源を有効に使用することができる。
【実施例４】
【０１１０】
図１９に基づいて、第４実施例を説明する。実施例の特徴の一つは、ディステージ処理中に障害が発生した場合は、他のDKA部にディステージ処理を依頼する点にある。
【０１１１】
図１９は、ディステージ処理中に障害が発生した場合の処理を示す。ディステージ処理を開始した後（Ｓ１５１）、障害が発生したか否かを判定する（Ｓ１５２）。ディステージ処理中に何も障害が発生しなかった場合（S152：NO、S153：YES）、電源オフの準備が完了した旨をPK内電源制御部に通知する（Ｓ１５４）。これにより、装置電源部４０は、メモリバックアップを開始する。
【０１１２】
一方、ディステージ処理中に障害が発生した場合（S152：YES）、障害に係るDKA部１２０Ｂでのディステージ処理を中断し（Ｓ１５５）、ディステージ処理を代替可能なDKA部１２０Ｂが存在するか否かを判定する（Ｓ１５６）。代替可能なDKA部１２０Ｂを検出した場合（S156：YES）、そのDKA部１２０Ｂにディステージ処理を続行させる（Ｓ１５７）。もしも、代替可能なDKA部１２０Ｂを発見できなかった場合は（S156：NO）、ディステージ処理を中断したまま、装置電源部４０に電源オフの準備完了を報告する（Ｓ１５４）。装置電源部４０は、メモリバックアップを開始する。
【実施例５】
【０１１３】
図２０に基づいて、第５実施例を説明する。本実施例の特徴の一つは、ディステージ処理中に、ライトキャッシュ１３２に電力を供給し、リードキャッシュ１３１への電力供給を停止させる点にある。
【０１１４】
図２０は、キャッシュメモリ１３０（メモリパッケージ）の回路構成の概略を示す。キャッシュメモリ１３０は、例えば、リードキャッシュ１３１と、ライトキャッシュ１３２と、電源制御モジュール１３３と、スイッチ部１５０を介して複合パッケージ１２０等と通信を行うためのアダプタ１３４とを備えて構成することができる。
【０１１５】
図２０（ａ）に示すように、通常状態において、電源制御モジュール１３３は、リードキャッシュ１３１，ライトキャッシュ１３２及びアダプタ１３４に対し、所定の電力をそれぞれ供給する。
【０１１６】
これに対し、図２０（ｂ）に示すように、ディステージ処理が開始される場合は、リードキャッシュ１３１への電力供給が停止され、ライトキャッシュ１３２及びアダプタ１３４にのみ電力がそれぞれ供給される。これにより、ディステージ処理期間中の消費電力をより低下させることができる。
【実施例６】
【０１１７】
図２１に基づいて、第６実施例を説明する。本実施例の特徴の一つは、ディステージ処理中に、書込みが完了したRAIDグループへの電力供給を停止する点にある。まず、最初に、DKA部１２０Ｂは、共有メモリ１４０にアクセスすることにより、LU１８０とRAIDグループ１７０とディスクドライブ２１との対応関係を示すテーブルを参照し、ディステージ処理に使用するディスクドライブ２１とディステージ処理に使用しないディスクドライブ２１とを特定する（Ｓ１６１）。ディステージ処理に使用するディスクドライブ２１以外のディスクドライブ２１は、ディステージ処理に使用しないドライブであると判断することができる。
具体的には、DKA部１２０Ｂは、ライトキャッシュ１３２に冗長記憶されているダーティデータ（ディステージ前のデータ）のアドレス等を確認し、このダーティデータが書き込まれるべきRAIDグループ１７０及びこのRAIDグループ１７０に属するディスクドライブ２１を特定する。
DKA部１２０Ｂは、ディステージ処理に使用しないディスクドライブ２１について、給電停止を装置電源部４０に要求する（Ｓ１６２）。不使用のディスクドライブ２１に給電すると、バッテリ電源を無駄に消費することになるためである。装置電源部４０は、DKA部１２０Ｂからの要求を受信すると（Ｓ１６３）、ディステージ処理に使用されない各ディスクドライブ２１への給電をそれぞれ停止させる（Ｓ１６４）。
【０１１８】
不使用のディスクドライブ２１への給電を停止させた後、DKA部１２０Ｂは、ディステージ処理を開始する。即ち、DKA部１２０Ｂは、ライトキャッシュ１３２に記憶されているデータを所定のRAIDグループに書き込んで退避させる（Ｓ１６５）。即ち、DKA部１２０Ｂは、ホストＨ１から受信したライトコマンドで明示されているアドレスに基づいて、そのライトコマンドで書込みを要求されたライトデータを反映させるべきRAIDグループを特定する。そして、DKA部１２０Ｂは、この特定されたRAIDグループを構成する各ディスクドライブ２１に、データ（パリティデータを含む）をそれぞれ書き込む。
【０１１９】
そのRAIDグループに退避させるべきライトデータを全て処理した場合（S166：YES）、DKA部１２０Ｂは、そのRAIDグループへのディステージ処理が完了した旨を、装置電源部４０に通知する（Ｓ１６７）。装置電源部４０は、DKA部１２０Ｂからの通知を受信すると（Ｓ１６８）、ディステージ処理を完了したRAIDグループを構成する各ディスクドライブ２１への電力供給をそれぞれ停止させる（Ｓ１６９）。
なお、ディステージ処理開始前に不使用のディスクドライブ２１への給電を停止させるだけでなく、ディステージ処理中であっても、不使用のディスクドライブ２１が存在するか否かを定期的または不定期にチェックして、不使用のディスクドライブ２１を発見した場合は、そのディスクドライブ２１への給電を停止させることができる。例えば、データ書込みが完了する度に、あるいは、所定時間が経過する度に、不使用のディスクドライブ２１が存在するか否かを検査して、不使用のディスクドライブ２１やRAIDグループ１７０への給電を停止させることにより、より一層バッテリ電源を有効に使用できる。
【０１２０】
このように、ディステージ処理開始前に、ディステージ処理に使用しない各ディスクドライブ２１への給電を先に停止させ、次に、ディステージ処理中は、ディステージ処理を終えたRAIDグループから順番に電力供給を停止させることにより、バッテリ電源をより有効に使用してメモリバックアップ期間を長くすることができる。
【実施例７】
【０１２１】
図２２に基づいて、第７実施例を説明する。本実施例の特徴の一つは、CHA部１２０Ａの各機能毎に電力供給をそれぞれ個別に制御する点にある。
【０１２２】
CHA部１２０Ａは、装置電源部４０から電源オフ要求信号を受信すると、終了処理を開始して、ホストＨ１からのアクセス要求を遮断し（Ｓ１７１）、通信アダプタ１２１ＡからホストＨ１に障害発生を通知する（Ｓ１７２）。CHA部１２０Ａは、ホストＨ１への障害発生通知が完了した旨を、PK内電源制御部に通知する（Ｓ１７３）。CHA部１２０Ａから通知を受けたPK内電源制御部は、通信アダプタ１２１Ａへ供給するクロックを停止させる（Ｓ１７４）。
【０１２３】
続いて、CHA部１２０Ａは、I/O制御部（LSI）１２３Ａを介して、ホストＨ１からの未処理のアクセス要求を処理する（Ｓ１７５）。CHA部１２０Ａは、未処理のアクセス要求の処理を完了した場合（S176：YES）、この処理完了をPK内電源制御部に通知する（Ｓ１７７）。PK内電源制御部は、この通知を受信すると、I/O制御部１２３Ａへのクロック供給を停止させる（Ｓ１７８）。
【０１２４】
CHA部１２０Ａは、所定の終了処理が全て完了した場合に、電源オフの準備が完了した旨を、PK内電源制御部に通知する（Ｓ１７９）。PK内電源制御部は、この通知を受信すると、MP１２２Ａへのクロック供給を停止させる（Ｓ１８０）。
【０１２５】
そして、PK内電源制御部は、DKA部１２０Ｂにディステージ処理の開始を指示した後（Ｓ１８１）、複合パッケージ１２０への給電を停止し（Ｓ１８２）、複合パッケージ１２０の電力制御が完了した旨を装置電源部４０に通知する（Ｓ１８３）。
【０１２６】
このように、終了処理を完了して不要になった機能から順番にクロック供給を停止することにより、バッテリ電源をより有効に使用することができる。
【０１２７】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、前記実施例では、クロック供給を完全に停止させる場合を説明したが、クロックをより低く設定する構成でもよい。また、マイクロプロセッサや通信アダプタ等の各回路がそれぞれ複数存在する場合、全ての回路に対してクロック供給を停止させるのではなく、一部の回路についてはクロック供給を停止し、残りの回路については、クロックを低下させる構成でもよい。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施形態の概念を示す説明図である。
【図２】ストレージ装置を正面から見た説明図である。
【図３】ストレージ装置を側面から見た説明図である。
【図４】ストレージ装置の概略構成を示すブロック図である。
【図５】ディスクドライブと複合パッケージとの接続状態等を示す説明図である。
【図６】ストレージ装置の電力供給系統を模式的に示す説明図である。
【図７】CHA部とDKA部との両機能を実現する複合パッケージの概略ブロック図である。
【図８】複合パッケージにNAS機能を実現させる場合のブロック図である。
【図９】NAS機能を実現するためのソフトウェア構造を模式的に示す説明図である。
【図１０】電源障害発生時のストレージ装置の全体動作を示すフローチャートである。
【図１１】複合パッケージのCHA部を起動させる場合の起動シーケンスを示すフローチャートである。
【図１２】本発明の第２実施例に係る複合パッケージの概略ブロック図である。
【図１３】電源障害発生時のストレージ装置の全体動作を示すフローチャートである。
【図１４】本発明の第３実施例に係る複合パッケージの概略ブロック図である。
【図１５】電源障害発生時のストレージ装置の全体動作を示すフローチャートである。
【図１６】軽度の障害である場合の電源制御を示すフローチャートである。
【図１７】重度の障害である場合の電源制御を示すフローチャートである。
【図１８】電源障害のレベルを判別するための処理を示すフローチャートである。
【図１９】本発明の第４実施例に係り、ディステージ処理の代替先を検出する処理を示すフローチャートである。
【図２０】本発明の第５実施例に係り、ディステージ処理中にキャッシュメモリパッケージ内の電力制御を模式的に示す説明図であって、（ａ）は通常状態を、（ｂ）は電源障害発生時の状態をそれぞれ示す。
【図２１】本発明の第６実施例に係り、ディステージ処理を完了したRAIDグループから順番に電力供給を停止させる処理を示すフローチャートである。
【図２２】本発明の第７実施例に係り、CHA部の各機能毎にそれぞれ個別に電力供給を制御する処理のフローチャートである。
【符号の説明】
【０１２９】
１…複合型通信制御パッケージ、１Ａ…CHA（チャネルアダプタ）部、１Ｂ…DKA（ディスクアダプタ）部、１Ｃ…パッケージ内電源制御部、２…装置電源部、２Ａ…AC/DC電源（主電源）、２Ｂ…バッテリ電源、３…ホストコンピュータ、４…ディスクドライブ群、１０…ストレージ装置、１１…筐体、２０…記憶部、２０Ａ…冷却ファン、２１…ディスクドライブ、２２…バッテリユニット、３０…制御部、３０Ａ…冷却ファン、３１…制御パッケージ、４０…装置電源部、４１…バッテリボックス、４２…ACボックス、４３…AC/DC電源、４３Ａ…冷却ファン、４４…電源制御部、４５…電源障害レベル判定部、５０…サービスプロセッサ、６０…電源コモンバス、１１０…CHA専用パッケージ、１２０…複合パッケージ、１２０Ａ…CHA部、１２０Ｂ…DKA部、１２１Ａ，１２１Ｂ…通信アダプタ、１２２Ａ，１２２Ｂ…マイクロプロセッサ部、１２３Ａ，１２３Ｂ…LSI、１２４Ａ，１２４Ｂ…クロックドライバ、１２４Ａ，１２５Ｂ…パッケージ内電源制御部、１２６，１２６Ａ，１２６Ｂ…リセット信号制御部、１２７…AND回路、１２８，１２８Ａ，１２８Ｂ…オンオフ制御部、１３０…キャッシュメモリ、１３１…リードキャッシュ、１３２…ライトキャッシュ、１３３…電力制御モジュール、１３４…通信アダプタ、１４０…共有メモリ、１５０…スイッチ部、１７０…RAIDグループ、２０１Ａ…通信アダプタ、２０２Ａ…ファイルサーバ部、２０３Ａ…I/O制御部、２１０Ａ…CPU、２２０Ａ…メモリコントローラ、２３０Ａ…メモリ、２４０Ａ，２６０Ａ…不揮発メモリ、２５０Ａ…I/Oプロセッサ、３１０…ネットワークプロトコル層、３２０，３３０…ファイルアクセスプロトコル層、３４０…ファイルシステム、３５０…論理ボリュームマネージャ、３６０…デバイスドライバ群、CN１１〜１３…通信ネットワーク、Ｈ１，Ｈ１Ａ，Ｈ１Ｂ…ホスト、Ｌ１…電力供給経路
【図１】
2006031630.tif 000003
【図２】
2006031630.tif 000004
【図３】
2006031630.tif 000005
【図４】
2006031630.tif 000006
【図５】
2006031630.tif 000007
【図６】
2006031630.tif 000008
【図７】
2006031630.tif 000009
【図８】
2006031630.tif 000010
【図９】
2006031630.tif 000011
【図１０】
2006031630.tif 000012
【図１１】
2006031630.tif 000013
【図１２】
2006031630.tif 000014
【図１３】
2006031630.tif 000015
【図１４】
2006031630.tif 000016
【図１５】
2006031630.tif 000017
【図１６】
2006031630.tif 000018
【図１７】
2006031630.tif 000019
【図１８】
2006031630.tif 000020
【図１９】
2006031630.tif 000021
【図２０】
2006031630.tif 000022
【図２１】
2006031630.tif 000023
【図２２】
2006031630.tif 000024