(57)【要約】【課題】ホストＩ／Ｏに応じて適切に消費電力を削減する。【解決手段】ストレージシステムは、１以上の記憶ドライブと、前記１以上の記憶ドライブを制御するコントローラと、を含み、前記１以上の記憶ドライブは、それぞれ、複数の電力消費状態を有し、前記複数の電力消費状態は、リード要求及びライト要求に対する応答が可能であって、異なる消費電力と異なる応答性能とを有し、前記コントローラは、前記１以上の記憶ドライブそれぞれへの所定種類のＩ／Ｏの頻度を監視し、前記頻度に基づいて、前記複数の電力消費状態から選択した状態に、前記１以上の記憶ドライブそれぞれを設定する。【選択図】図１
2019091152.tif 000002
【特許請求の範囲】
【請求項１】
１以上の記憶ドライブと、
前記１以上の記憶ドライブを制御するコントローラと、を含み、
前記１以上の記憶ドライブは、それぞれ、複数の電力消費状態を有し、
前記複数の電力消費状態は、リード要求及びライト要求に対する応答が可能であって、異なる消費電力と異なる応答性能とを有し、
前記コントローラは、
前記１以上の記憶ドライブそれぞれへの所定種類のＩ／Ｏの頻度を監視し、
前記頻度に基づいて、前記複数の電力消費状態から選択した状態に、前記１以上の記憶ドライブそれぞれを設定する、
ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記コントローラは、
前記１以上の記憶ドライブの省電力効果が異なる複数の電力制御階層において、前記１以上の記憶ドライブを制御し、
前記１以上の記憶ドライブに対する所定種類の最終Ｉ／Ｏ要求からの経過時間に応じて、現在の電力制御階層からより省電力効果が大きい電力制御階層に移行し、
前記複数の電力制御階層における第１の電力制御階層において、前記頻度に基づいて、前記複数の電力消費状態から選択した状態に、前記１以上の記憶ドライブそれぞれを設定する、
ストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、
前記コントローラは、
前記第１の電力制御階層より後に、第２の電力制御階層に移行し、
前記第２の電力制御階層において、前記１以上の記憶ドライブの全ての電源をＯＦＦにする、
ストレージシステム。
【請求項４】
請求項２に記載のストレージシステムであって、
前記１以上の記憶ドライブは、複数の記憶ドライブであり、
前記複数の記憶ドライブは、ホストデータと冗長データとを分散して格納する冗長性グループを構成し、
前記コントローラは、
前記第１の電力制御階層より前に、第３の電力制御階層に移行し、
前記第３の電力制御階層において、前記複数の記憶ドライブのうち、前記冗長性グループの冗長度以下の上限数において記憶ドライブを選択して電源をＯＦＦにする、
ストレージシステム。
【請求項５】
請求項４に記載のストレージシステムであって、
前記コントローラは、前記複数の記憶ドライブが通常状態にあり、前記複数の記憶ドライブに対する最終ライト要求から規定時間経過した後に、前記第３の電力制御階層に移行する、
ストレージシステム。
【請求項６】
請求項４に記載のストレージシステムであって、
前記第３の電力制御階層において、前記冗長性グループの電源がＯＦＦである第１の記憶ドライブへのリード要求を受けると、前記コントローラは、前記冗長性グループの前記第１の記憶ドライブ以外の記憶ドライブから読み出したデータから、前記リード要求の対象データを復元する、
ストレージシステム。
【請求項７】
請求項３に記載のストレージシステムであって、
前記コントローラは、前記１以上の記憶ドライブに対するライト要求及びリード要求のうちの最終要求から規定時間経過した後に、前記第１の電力制御階層から前記第２の電力制御階層に移行する、
ストレージシステム。
【請求項８】
請求項３又は４に記載のストレージシステムであって、
前記１以上の記憶ドライブの少なくとも一部を収容するドライブボックスをさらに含み、
前記コントローラは、前記ドライブボックスに収容されている全ての記憶ドライブの電源がＯＦＦである場合に、前記ドライブボックスを通常状態から省電力状態に変化させる、
ストレージシステム。
【請求項９】
請求項８に記載のストレージシステムであって、
前記コントローラは、前記ドライブボックスの省電力状態において、前記ドライブボックスに実装されているドライブボックスコントローラを一時停止させる、
ストレージシステム。
【請求項１０】
請求項９に記載のストレージシステムであって、
前記コントローラは、前記ドライブボックスを前記省電力状態に変化させてから規定時間以上、前記ドライブボックスに収容されている記憶ドライブへのリード要求及びライト要求が存在しない場合、前記ドライブボックスの電源をＯＦＦにする、
ストレージシステム。
【請求項１１】
１以上の記憶ドライブを含むストレージシステムの制御方法であって、
前記１以上の記憶ドライブは、それぞれ、複数の電力消費状態を有し、
前記複数の電力消費状態は、リード要求及びライト要求に対する応答が可能であって、異なる消費電力と異なる応答性能とを有し、
前記制御方法は、
前記１以上の記憶ドライブそれぞれへの所定種類のＩ／Ｏの頻度を監視し、
前記頻度に基づいて、前記複数の電力消費状態から選択した状態に、前記１以上の記憶ドライブそれぞれを設定する、
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関する。
【背景技術】
【０００２】
多くのストレージシステムは、消費電力を低減するための省電力機能を有している。例えば特許文献１は、管理者が所望する記憶装置への省電力を管理装置から行うことができるように構成されたストレージシステムを開示する。ストレージシステムに、複数のＲＡＩＤグループ、複数の論理ユニット及び複数の物理記憶装置のうちの少なくとも一つの記憶装置を指定した節電指示を管理コンソールから受け付ける節電指示受信部と、その節電指示で指定されている記憶装置に対応した一以上の物理記憶装置を節電する節電制御部とを備える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００８／０１２６７０２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ストレージシステムは、常に応答性能の向上が要求される。フラッシュドライブを使用してストレージシステムを構築するケースが増加し、ストレージシステムに対する応答性能保障がますます重要視されている。また、ストレージシステムに対するホストＩ／Ｏは、時々刻々と変化する。したがって、ホストＩ／Ｏに応じて適切に消費電力を削減できる技術が望まれる。
【課題を解決するための手段】
【０００５】
本開示の一態様のストレージシステムは、１以上の記憶ドライブと、前記１以上の記憶ドライブを制御するコントローラと、を含み、前記１以上の記憶ドライブは、それぞれ、複数の電力状態を有し、前記複数の電力状態は、Ｉ／Ｏ要求に対する応答が可能であって、異なる消費電力と異なるＩ／Ｏ性能とを有し、前記コントローラは、前記１以上の記憶ドライブそれぞれへのＩ／Ｏ頻度を監視し、前記Ｉ／Ｏ頻度に基づいて、前記複数の電力状態から選択した状態に、前記１以上の記憶ドライブそれぞれを設定する。
【発明の効果】
【０００６】
本開示の一態様により、ホストＩ／Ｏに応じて適切に消費電力を削減できる。
【図面の簡単な説明】
【０００７】
【図１】コンピュータシステムの一例を示す。
【図２】ストレージシステムにおける、電力消費制御の階層構造を示す。
【図３】ストレージシステムのメモリに格納されているデータ（ソフトウェア）を示す。
【図４】ドライブ管理テーブルの構成例を示す。
【図５】ＰＧ管理テーブルの構成例を示す。
【図６】ドライブボックス管理テーブルの構成例を示す。
【図７Ａ】パリティグループの消費電力の階層制御のフローチャートを示す
【図７Ｂ】省電力階層Ｔ２において、一つのＳＳＤの電力消費状態を制御するフローチャートを示す。
【図７Ｃ】ドライブボックスの電力消費階層制御のフローチャートを示す。
【図８】ドライブボックスの電源をＯＮにする処理のフローチャートを示す。
【図９】省電力状態にあるドライブボックスコントローラを通常状態に戻す処理のフローチャートを示す。
【図１０】電源ＯＦＦ状態の記憶ドライブ２を通常状態に復帰させる処理のフローチャートを示す。
【図１１】スピンダウン状態のＨＤＤを通常状態に復帰させる処理のフローチャートを示す。
【図１２】コアセーブ状態のＳＳＤを通常状態に復帰させる処理のフローチャートを示す。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して本発明の実施形態を説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【０００９】
プログラムはＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）によって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プログラムを主語とした説明は、ＣＰＵを主語とした説明としてもよい。また、プログラムを主語として開示された処理は、サーバ計算機やストレージコントローラや管理計算機等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部又は全ては、専用ハードウェアで実現してもよく、また、モジュール化されていてもよい。各種プログラムは、プログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。逆に、プロセッサ、ＣＰＵを主語とした説明は、その上で動作する制御プログラムを主語とした説明としてもよい。
【００１０】
図１は、コンピュータシステムの一例を示す。図１において、同一種類の複数要素の一部を指示する符号は省略されている。コンピュータシステムは、主にデータ演算を行うホストサーバ１００と、データを格納するストレージシステム１と、ストレージシステム１及びホストサーバ１００を管理する管理計算機１５０と、を含む。
【００１１】
ホストサーバ１００とストレージシステム１とはデータネットワーク１６０を介して接続される。データネットワーク１６０は、例えば、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。ホストサーバ１００、管理計算機１５０、及びストレージシステム１は、管理ネットワーク１７０を介して接続されている。管理ネットワーク１７０は例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。ホストサーバ１００及び管理計算機１５０は、例えば、一般的な計算機構成を有する。計算機構成は、例えば、データを格納するメモリ、メモリに格納されているプログラムに従って動作するプロセッサ、ネットワークと接続するためのインタフェースを含む。計算機構成は、さらに、ユーザ入出力装置を含んでもよい。
【００１２】
ストレージシステム１は、１以上の記憶ドライブ２と、１以上のドライブボックス３と、複数の記憶ドライブ２及び１以上のドライブボックス３に電力を供給する１以上のＰＤＵ（Ｐｏｗｅｒ  Ｄｅｓｔｒｉｂｕｔｉｏｎ  Ｕｎｉｔ）４１と、を含む。各ドライブボックス３は、１以上の記憶ドライブ２を収容する。ストレージシステム１は、さらに、ホストサーバ１００や他のストレージシステムと通信をしながら、１以上の記憶ドライブ２と、１以上のドライブボックス３と、１以上のＰＤＵ４１とを制御する、ストレージコントローラ１１を含む。
【００１３】
各記憶ドライブ２は、ホストデータの最終的な物理記憶デバイスである。各記憶ドライブ２は、任意タイプの記憶ドライブであり、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。ＨＤＤは磁気ディスクドライブであり、ＳＳＤは、フラッシュメモリドライブである。
【００１４】
以下で説明する各構成要素は特定のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）で構成されていてもよいし、ソフトウェアを実行するプロセッサであってもよい。本実施例は、構成要素間の物理的な境界を制限しない。例えばホストサーバ１００とストレージシステム１が、単一の物理筐体内に実装されていてもよい。
【００１５】
ストレージコントローラ１１は冗長構成を有し、複数のコントローラパッケージ１１０を含む。コントローラパッケージ１１０の数は、１つでもよい。コントローラパッケージ１１０は、ホストサーバ１００との通信を行うホストインターフェース（以下、ホストＩ／Ｆ）１１１、管理計算機１５０との通信を行う管理Ｉ／Ｆ１１６、及びドライブボックス３とホストデータ（記憶ドライブ２に格納されるデータ）の通信を行うドライブインターフェース（以下、ドライブＩ／Ｆ）１１３を含む。
【００１６】
コントローラパッケージ１１０は、さらに、ドライブボックス３及びＰＤＵ４１と管理データ（制御データ）の通信を行う管理Ｉ／Ｆ１１７を含む。図１の例において、管理Ｉ／Ｆ１１７は、一つのみのドライブボックスコントローラ３１及び一つのみのＰＤＵ４１と接続されているが、複数のドライブボックスコントローラ３１及び複数のＰＤＵ４１と接続されてもよい。
【００１７】
コントローラパッケージ１１０は、他の構成要素の制御やデータ転送を中継するプロセッサ１１２、ホストサーバ１００によって生成されるデータやストレージシステム１内で制御用に生成される各種データ及びホストデータを格納するメモリ１１４を含む。メモリ１１４は、ホストデータを一時的に格納するキャッシュメモリ領域を含む。コントローラパッケージ１１０の構成要素の数は、一つでも複数でもよい。
【００１８】
ホストＩ／Ｆ１１１は、ホストサーバ１００とストレージコントローラ１１の通信に用いられるプロトコルデータをストレージコントローラ１１内部で用いられるプロトコルデータに変換する。ホストサーバ１００との通信プロトコルの例は、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ（ＦＣ）、Ｉｎｔｅｒｎｅｔ  ＳＣＳＩ（ｉＳＣＳＩ）である。内部プロトコルの例は、ＰＣＩ−Ｅｘｐｒｅｓｓである。
【００１９】
ドライブＩ／Ｆ１１３は、記憶ドライブ２とストレージコントローラ１１の通信に用いられるプロトコルデータをストレージコントローラ１１内部で用いられるプロトコルデータに変換する。記憶ドライブ２とストレージコントローラ１１の通信に用いられるプロトコルの例は、ＦＣ、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ（ＳＡＳ）、ＮＶＭ  Ｅｘｐｒｅｓｓ（ＮＶＭｅ）である。
【００２０】
プロセッサ１１２は、Ｉ／Ｆ１１１、１１３、１１６、１１７及びメモリ１１４とのデータ転送を行うためのデータバスや、ソフトウェアを実行するための演算回路を含む。プロセッサ１１２は、メモリ１１４に格納されているプログラムに従って動作することで、所定の機能部として働く。後述するように、プロセッサ１１２は、ホストデータのＩ／Ｏ処理に加え、記憶ドライブ２及びドライブボックス３の電力制御を実行する。プロセッサ１１２に代えて、他のＬＳＩを使用してもよい。
【００２１】
メモリ１１４は、ＤＲＡＭ等の高速アクセス可能な記憶素子で構成され、プロセッサ１１２とＤＤＲ３やＤＤＲ４などのメモリインターフェースで接続される。メモリ１１４は、複数のメモリモジュールから構成されていてもよい。メモリ１１４は、記憶ドライブに対するホストデータ（Ｉ／Ｏ対象データ）を一時的に記憶するキャッシュメモリ領域、ストレージシステム１の各種管理情報を記憶する共有メモリ領域を含む。キャッシュメモリ領域や共有メモリ領域のデータは、障害時に備えて、複数コントローラパッケージ１１０内のメモリ１１４内のキャッシュメモリ領域や共有メモリ領域に冗長化される。メモリ１１４は、さらに、冗長化されないデータの一時格納領域を含む。
【００２２】
ストレージコントローラ１１は、ドライブＩ／Ｆ１１３を介して接続された複数の記憶ドライブ２により、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）を構成する。本開示において、ＲＡＩＤを含む、冗長データとホストデータとを格納する記憶ドライブ２のグループを冗長性グループ又はパリティグループ（ＰＧ）と呼ぶ。ストレージコントローラ１１は、任意台数の記憶ドライブ２（パリティグループ）の記憶領域を一つのボリュームとして、ホストサーバ１００からアクセス可能とする。
【００２３】
ストレージコントローラ１１は、ホストサーバ１００からボリュームへのライト要求を受信すると、ＲＡＩＤ構成に応じてパリティデータ（冗長データ）を生成し、ホストデータとパリティデータとを、異なる記憶ドライブ２に書き込む。ストレージコントローラ１１は、ホストサーバ１００からボリュームへのリード要求を受信すると、記憶ドライブ２から要求データのリードを試みた後、データ損失の有無を検査する。データ損失が検出された場合、ストレージコントローラ１１は、ＲＡＩＤの他のホストデータ及びパリティデータを用いて要求データを復元し、復元された要求データをホストサーバ１００へ転送する。本機能によって、信頼性、可用性、及びＩ／Ｏ性能を向上する。
【００２４】
ストレージコントローラ１１は、複数（例えば４つ）の記憶ドライブ２から１つのパリティグループを形成する。１つの記憶ドライブ２に障害が発生してデータアクセスできなくなった場合、ストレージコントローラ１１は、同パリティグループにおける残りの記憶ドライブ２に格納されているデータを用いて、障害が発生した記憶ドライブ２に格納されていたデータを復元する。
【００２５】
ストレージコントローラ１１は、ホストサーバ１００からのＩ／Ｏ要求（リード要求又はライト要求）を処理するため、ボリュームのアドレス空間と記憶ドライブ２のアドレス空間との対応関係を、不図示のボリューム管理テーブルにて管理している。ホストサーバ１００からのＩ／Ｏ要求をホストアクセスとも呼ぶ。
【００２６】
ストレージコントローラ１１は、ボリュームのアドレス空間を複数の固定サイズの記憶領域に分割し、各記憶領域を、パリティグループ内の記憶領域に対応付ける。パリティグループ内の記憶領域は、記憶ドライブ２の識別子と記憶ドライブ内の論理アドレスで識別される。ボリュームと記憶ドライブ２との対応関係の管理は公知の技術であり、説明を省略する。
【００２７】
ストレージシステム１は、１又は複数のドライブボックス３を含む。ドライブボックス３が省略されていてもよい。ドライブボックス３は、それぞれ一つの記憶ドライブ２を収容する複数のスロット（図１において不図示）と、１以上のドライブボックスコントローラ３１と、１以上の電源回路３３と、を含む。ドライブボックス３は、１以上の記憶ドライブ２を収容する。
【００２８】
図１の例において、冗長化のための二つのドライブボックスコントローラ３１及び二つの電源回路３３が、一つのドライブボックス３に実装されている。ドライブボックスコントローラ３１及び電源回路３３それぞれの数は、任意である。
【００２９】
図１の例において、電源回路３３は、異なるＰＤＵ４１からそれぞれ電力の供給を受ける。各電源回路３３は、二つのＰＤＵ４１から電力供給可能なように、二つのＰＤＵ４１に接続されていてもよい。二つの電源回路３３は、全てのドライブボックスコントローラ３１及びは記憶ドライブ２に電力を供給する。ドライブボックスコントローラ３１及び記憶ドライブ２は、それぞれ、いずれの電源回路３３からも電力供給を受けることができるように、双方の電源回路３３に接続されている。
【００３０】
例えば、一つの電源回路３３は、一つのドライブボックスコントローラ３１及び一部の記憶ドライブ２に電力を供給し、他方の電源回路３３は、他方のドライブボックスコントローラ３１及び残りの記憶ドライブ２に電力を供給する。一方の電源回路３３が通常時動作し、他方はスタンバイ状態であってもよい。
【００３１】
ドライブボックスコントローラ３１は、ストレージコントローラ１１と、そのドライブボックス３に収容されている記憶ドライブ２との間で、要求（コマンド）及びホストデータを転送する。ドライブボックスコントローラ３１は、記憶ドライブ２の電源のＯＮ／ＯＦＦ（消費電力）を制御する。ドライブボックスコントローラ３１は、ストレージコントローラ１１からの指示に応じて、ドライブボックス３の消費電力を制御する。
【００３２】
ドライブボックスコントローラ３１は、エキスパンダ３２を含む。エキスパンダ３２はスイッチを含み、ストレージコントローラ１１からのデータ（要求及びホストデータを含む）を送信先の記憶ドライブ２に転送すると共に、記憶ドライブ２からのデータをストレージコントローラ１１に転送する。エキスパンダ３２は、ストレージコントローラ１１の一つのポートを介して、複数の記憶ドライブ２との通信を可能とする。記憶ドライブ２は、例えば、ドライブボックス番号（Ｒ番号）及びドライブボックス内のスロット番号（Ｃ番号）で識別される。
【００３３】
図２は、ストレージシステム１における、電力消費制御の階層構造を示す。図２の階層構造例は、複数の記憶ドライブ２からなる一つのパリティグループの電力消費制御階層構造と、１又は複数の記憶ドライブ２を収容する一つのドライブボックス３の電力消費制御階層構造と、を含む。
【００３４】
階層構造は、通常供給電力下でパリティグループ又はドライブボックス３に通常動作させる通常階層ＴＮに加え、通常状態よりも消費電力が少なく、制御方法が異なる、複数の省電力階層を有する。パリティグループ又はドライブボックス３は、各階層において、階層に対応した状態にある。図２に示す階層構造例は、通常階層ＴＮに加え、パリティグループの三つの省電力階層Ｔ１、Ｔ２及びＴ３、並びに、ドライブボックス３の二つの省電力階層Ｔ４及びＴ５を有する。
【００３５】
省電力階層Ｔ１、Ｔ２及びＴ３の順で、省電力効果が大きくなる、つまり、パリティグループの消費電力が少なくなる。一方、省電力階層から通常階層への復旧に係る時間は、基本的に、階層が深い程長い。ストレージシステム１は、パリティグループへの所定種類のホストＩ／Ｏの停止からの経過時間に応じて、段階的に、省電力階層Ｔ１から、省電力階層Ｔ２、省電力階層Ｔ３へと移行する。これにより、省電力効果を大きくしつつ、応答遅延を低減できる。後述する例において、通常階層ＴＮから省電力階層Ｔ１への移行において参照される所定種類のホストＩ／Ｏは、ライトアクセスのみである。他のより省電力効果が高い階層へ他の移行で参照される所定種類のホストＩ／Ｏは、ライトアクセス及びリードアクセスである。
【００３６】
省電力階層Ｔ４及びＴ５において、ドライブボックス３に収容されている記憶ドライブ２の電源はＯＦＦである。省電力階層Ｔ５の省電力効果は省電力階層Ｔ４よりが大きく、省電力階層Ｔ５におけるドライブボックス３の消費電力は、省電力階層Ｔ４よりが少ない。通常階層への復旧時間は、省電力階層Ｔ５の方が長い。
【００３７】
ストレージシステム１は、省電力階層Ｔ４に移行してからドライブボックス３（内の記憶ドライブ２）へのＩ／Ｏ停止時間（Ｉ／Ｏが存在しない時間）に基づき、省電力階層Ｔ４から省電力階層Ｔ５に移行を決定する。これにより、省電力効果を大きくしつつ、応答遅延を低減できる。パリティグループの電力制御に加え、ドライブボックス３の電力を制御することで、ストレージシステム１の省電力効果を高めることができる。なお、ドライブボックス３及び記憶ドライブ２の電源がＯＦＦである状態からの復旧時間は、ドライブボックス３が通常動作し、収容されている全記憶ドライブ２の電源がＯＦＦである状態からの復旧時間よりも長い。
【００３８】
以下、一つのパリティグループ及び一つのドライブボックス３の観点において、図２が示す電力消費制御階層構造を説明する。当該ドライブボックス３は、当該パリティパリティグループの一部又は全ての記憶ドライブ２を収容していてもよく、当該パリティパリティグループのいずれの記憶ドライブ２を収容していなくてもよい。
【００３９】
通常階層ＴＮにおいて、パリティグループの全記憶ドライブ２及びドライブボックス３が、それぞれ、通常の供給電力下において動作している。パリティグループの最初の省電力階層Ｔ１において、ストレージコントローラ１１は、パリティグループ内の一部の記憶ドライブ２の電源をＯＦＦにする。具体的には、後述するように、パリティグループ内で冗長度を上限とする数の記憶ドライブ２の電源がＯＦＦである。パリティグループのこの状態は、通常状態に比較して、消費電力が小さい。
【００４０】
以下に説明する構成例において、一つのパリティグループは同種の記憶ドライブ２で構成されている。例えば、一つのパリティグループは、複数のＨＤＤで構成されている、又は、複数のＳＳＤで構成されている。本開示において、省電力状態は、通常状態よりも消費電力が少ない状態である。
【００４１】
省電力階層Ｔ１において、電源ＯＮである記憶ドライブ２へのリード要求を受信すると、ストレージコントローラ１１は、当該記憶ドライブ２からデータを読み出す。電源ＯＦＦである記憶ドライブ２へのリード要求を受信すると、ストレージコントローラ１１は、電源ＯＮである他の記憶ドライブ２からデータを収集して、リード要求の対象データを復元する（コレクションリードと呼ぶ）。これにより、リード要求への応答遅延を小さくすることができる。
【００４２】
パリティグループへのライトアクセスを受けると、ストレージコントローラ１１は、電源ＯＦＦの記憶ドライブ２の電源をＯＮにして、通常階層ＴＮに戻る。ストレージコントローラ１１は、ホストデータ及び冗長データを対応する記憶ドライブ２それぞれにライトする。パリティグループの次の省電力階層Ｔ２において、ストレージコントローラ１１は、ＨＤＤからなるパリティグループにおいて電源がＯＮであるＨＤＤをスピンダウン状態に変化させる。スピンダウン状態は、磁気ディスクの回転が停止している状態であり、ＨＤＤはＩ／Ｏ要求を処理することはできず、制御コマンドのみ処理することができる。後述する例において、ストレージコントローラ１１は、パリティグループに対するライトアクセス及びリードアクセスが規定時間ない場合に、ＨＤＤをスピンダウン状態に変化させる。
【００４３】
省電力階層Ｔ２において、ストレージコントローラ１１は、ＳＳＤからなるパリティグループにおいて電源がＯＮであるＳＳＤにおいて、制御回路の一部をスリープ状態に変化させる。本開示においてＳＳＤのこの状態をコアセーブ状態と呼ぶ。コアセーブ状態の消費電力は通常状態より少なく、電源ＯＦＦ状態より多い。コアセーブ状態にあるＳＳＤは、制御コマンドに加え、リード要求及びライト要求（Ｉ／Ｏ要求）を処理し、応答することができる。制御回路の一部が動作停止しているため、コアセーブ状態にあるＳＳＤの最大Ｉ／Ｏ性能（最大応答性能）は低下する。後述する例において、ＳＳＤは省電力効果（消費電力）が異なる複数のコアセーブ状態を有する。
【００４４】
後述する例において、ストレージコントローラ１１は、ＳＳＤへのＩ／Ｏ頻度（具体的にはリード頻度）に応じて、ＳＳＤの電力消費状態を、１以上のコアセーブ状態及び通常状態の間で変化させる。ストレージコントローラ１１は、Ｉ／Ｏ頻度が小さい程、より消費電力が少ない状態にＳＳＤを変化させる。これにより、記憶ドライブに対するＩ／Ｏに応じて、応答遅延を低減しつつより適切に消費電力を低減できる。
【００４５】
ストレージコントローラ１１は、パリティグループ及び電源ＯＮのＳＳＤの状態を、Ｉ／Ｏ要求に対する応答が可能であって消費電力が異なる状態の間で切り替える。パリティグループ及び電源ＯＮのＳＳＤは、この制御を受ける状態にある。ＳＳＤがコアセーブ状態となり得るため、ＳＳＤ及びパリティグループの消費電力は、省電力階層Ｔ１より少ない。
【００４６】
パリティグループの次の省電力階層Ｔ３において、ストレージコントローラ１１は、パリティグループの全記憶ドライブ２の電源をＯＦＦにする。省電力階層Ｔ２から省電力階層Ｔ３への移行において、電源ＯＮであった記憶ドライブ２の電源がＯＦＦに切り替えられる。パリティグループの全ての記憶ドライブ２の電源がＯＦＦであり、このパリティグループの状態の消費電力が最も少ない。
【００４７】
次に、ドライブボックス３の電力消費制御階層構造を説明する。ドライブボックス３の省電力階層Ｔ４において、ストレージコントローラ１１は、ドライブボックス３の全てのドライブボックスコントローラ３１を省電力状態に変化させる。ドライブボックスコントローラ３１の省電力状態の一例において、エキスパンダ３２が、スリープ状態にある。スリープ状態において、エキスパンダ３２の動作は停止（一時停止）しており、ＳＡＳコネクション要求のコマンド以外のコマンドを受け付けることはできない。
【００４８】
後述する例において、ドライブボックス３に収容されている全ての記憶ドライブ２（全てのパリティグループ）の電源がＯＦＦであることが、省電力階層Ｔ４へ移行する条件である。ドライブボックス３の次の省電力階層Ｔ５において、ストレージコントローラ１１は、ドライブボックス３の電源をＯＦＦにする。省電力階層Ｔ５において、ドライブボックス３及びそれに収容されている全ての記憶ドライブ２の電源がＯＦＦである。後述する例において、ストレージコントローラ１１は、ドライブボックス３内の全ての記憶ドライブの電源がＯＦＦになってから規定時間が経過すると、ドライブボックス３の電源をＯＦＦにする。
【００４９】
記憶ドライブ２の電源がＯＦＦにされる条件は、上述のように、ホストＩ／Ｏの停止（ライトアクセスの停止又はライト及びリードアクセスの停止）からの経過時間が規定時間に達していることである。したがって、ドライブボックス３の電力消費制御は、ホストＩ／Ｏの停止からの経過時間に応じて段階的に、階層を移行する。一つのパリティグループの全ての記憶ドライブ２が、一つのドライブボックス３に収容されている場合、当該ドライブボックス３の省電力階層Ｔ４は、当該パリティグループの省電力階層Ｔ３の次である。一つのパリティグループの一部の記憶ドライブ２のみがドライブボックス３に収容されている場合、当該パリティグループの省電力階層Ｔ２への移行前に、当該ドライブボックス３の省電力階層Ｔ４への移行は起こり得る。
【００５０】
図３は、メモリ１１４に格納されているデータ（ソフトウェア）を示す。メモリ１１４は、アクセス監視プログラム１４１、アクセス制御プログラム１４２、及び電力制御プログラム１４３を格納する。メモリ１１４は、さらに、ドライブ管理テーブル１４５、ＰＧ管理テーブル１４７及びドライブボックス管理テーブル１４８を格納する。
【００５１】
図３に示すプログラム１４１、１４２及び１４３は、コントローラパッケージ１１０それぞれに格納されており、テーブル１４５、１４７及び１４８の情報はコントローラパッケージ１１０に共有されている。一つのコントローラパッケージ１１０におけるテーブル１４５、１４７及び１４８の更新は、他方のコントローラパッケージのテーブル１４５、１４７及び１４８に反映される。プロセッサ１１２は、アクセス監視プログラム１４１、アクセス制御プログラム１４２、及び電力制御プログラム１４３それぞれに従って動作することで、アクセス監視部、アクセス制御部、及び電力制御部として機能する。
【００５２】
アクセス監視プログラム１４１は、各記憶ドライブ２へのホストサーバ１００からのアクセス（Ｉ／Ｏ要求）を監視する。アクセス制御プログラム１４２は、ホストサーバ１００から記憶ドライブ２へのＩ／Ｏ要求（ホストアクセス）を制御する。電力制御プログラム１４３は、記憶ドライブ２及びドライブボックス３の消費電力を制御する。
【００５３】
図４は、ドライブ管理テーブル１４５の構成例を示す。ドライブ管理テーブル１４５は、記憶ドライブ２の情報を管理し、例えば、記憶ドライブ２が属するパリティグループ、記憶ドライブ２の電力状態、記憶ドライブ２の性能、及び記憶ドライブ２へのアクセスについての情報を保持している。ドライブ管理テーブル１４５は、Ｃ／Ｒ＃カラム４５１、ＰＧ＃カラム４５２、ドライブ種別カラム４５３、ドライブ状態カラム４５４、ホストアクセス監視基準時間カラム４５５、最終ライト要求受信時刻カラム４５６、最終リード要求受信時刻カラム４５７、期待性能カラム４５８、性能モニタカラム４５９、セーブランクカラム４６０、及び性能レンジとセーブランクとの関係を示すカラム４６１を含む。
【００５４】
Ｃ／Ｒ＃カラム４５１は、記憶ドライブ２が収容されているドライブボックス３の識別子（Ｒ番号）及びスロットの識別子（Ｃ番号）を示す。ＰＧ＃カラム４５２は、記憶ドライブ２が属するパリティグループの識別子を示す。ドライブ種別カラム４５３は、記憶ドライブ２の種別を示す。
【００５５】
ドライブ状態カラム４５４は、記憶ドライブ２の現在の状態を示す。具体的には、ドライブ状態カラム４５４は、記憶ドライブ２の状態を示す。ドライブ状態カラム４５４は、記憶ドライブ２の電力消費制御階層（電力消費制御状態）の情報を示す。記憶ドライブ２の状態は、例えば、通常状態、コアセーブ状態（ＳＳＤ）、スピンダウン状態（ＨＤＤ）、及び電源ＯＦＦ状態を含む。
【００５６】
通常状態、スピンダウン状態、及び電源ＯＦＦ状態は、それぞれ、記憶ドライブ２の電力消費状態を示す。コアセーブ状態は、ＳＳＤが、コアセーブ状態を含む複数の状態間での切替制御下（省電力階層Ｔ２）にあることを示す。
【００５７】
ホストアクセス監視基準時間カラム４５５は、記憶ドライブ２の電力消費の状態を変化させる基準時間を示す。本例において、二つの監視基準時間がＳＳＤに対して設定されており、三つの監視基準時間がＨＤＤに対して設定されている。
【００５８】
ＳＳＤに対する第１の監視基準時間は、図２を参照して説明した階層構成における、通常階層ＴＮから第１省電力階層Ｔ１への移行の基準時間である。ＳＳＤに対する第２の監視基準時間は、図２を参照して説明した階層構成における、省電力階層Ｔ２から省電力階層Ｔ３への移行の基準時間である。
【００５９】
後述するように、第１の監視基準時間は、パリティグループへの最後のライトアクセス時刻からの経過時間と比較され、第２の監視基準時間は、パリティグループへの最後のライトアクセス及びリードアクセスの遅い時刻からの経過時間と比較される。アクセス時刻は、例えば、ストレージコントローラ１１がホストＩ／Ｏ要求を受信した時刻である。
【００６０】
ＨＤＤに対する第１の監視基準時間は、図２を参照して説明した階層構成における、通常階層ＴＮから省電力階層Ｔ１への移行の基準時間である。ＨＤＤに対する第２の監視基準時間は、省電力階層Ｔ１から省電力階層Ｔ２への移行の基準時間である。ＨＤＤに対する第３の監視基準時間は、省電力階層Ｔ２から省電力階層Ｔ３への移行の基準時間である。
【００６１】
後述するように、第１の基準時間は、パリティグループへの最後のライトアクセス時刻からの経過時間と比較され、第２及び第３の基準時間は、それぞれ、パリティグループへの最後のライトアクセス及びリードアクセスの遅い時刻からの経過時間と比較される。
【００６２】
最終ライト要求受信時刻カラム４５６は、パリティグループに対する最後のライト要求の受信時刻（ライトアクセス時刻）を示す。最終リード要求受信時刻カラム４５７は、パリティグループに対する最後のリード要求の受信時刻（リードアクセス時刻）を示す。
【００６３】
期待性能カラム４５８は、記憶ドライブ２の仕様上の性能であって、通常状態において期待される記憶ドライブ２の性能を示す。性能モニタカラム４５９は、記憶ドライブ２の現在性能のモニタ値を示す。本例においては、ＳＳＤの性能はモニタされ、ＨＤＤの性能はモニタされない。
【００６４】
セーブランクカラム４６０は、ＳＳＤの通常状態及びコアセーブ状態に割り当てられているランク（セーブランク）を示す。セーブランクカラム４６０は、省電力階層Ｔ２で参照される。ＳＳＤは、消費電力及び最大性能が異なる複数の状態を有し、これらに対して異なるセーブランクが付与されている。性能レンジとセーブランクの関係カラム４６１は、ＳＳＤの現在性能のモニタ値（性能モニタカラム４５９の値）と、当該ＳＳＤを設定すべきセーブランクとの関係を示す。
【００６５】
図４の例において、ランク１が最も小さいセーブランクであり、ランク４が最も大きいセーブランクである。セーブランクの数が大きい程、省電力効果が大きく、最大性能が小さい。図４の例において、ランク１は通常状態のセーブランクであり、ＳＳＤは仕様上の１００％の最大性能を発揮できる。
【００６６】
後述するように、電力制御プログラム１４３は、ドライブ状態カラム４５４、及び、セーブランクカラム４６０の値を更新する。アクセス監視プログラム１４１は、各記憶ドライブ２に対するＩ／Ｏを監視し、最終ライト要求受信時刻カラム４５６、最終リード要求受信時刻カラム４５７、及び、性能モニタカラム４５９の値を随時更新する。ドライブ管理テーブル１４５の他のカラムの値は、予め設定された値である。
【００６７】
図５はＰＧ管理テーブル１４７の構成例を示す。ＰＧ管理テーブル１４７は、パリティグループの情報を管理し、具体的には、パリティグループを構成する記憶ドライブ２及びパリティグループの省電力設定の情報を含む。ＰＧ管理テーブル１４７は、ＰＧ＃カラム４７１、ＲＡＩＤ構成カラム４７２、所属Ｃ／Ｒ＃カラム４７３、省電力上限数カラム４７４、省電力対象Ｃ／Ｒ＃カラム４７５を含む。これらの値は予め設定されている。
【００６８】
ＰＧ＃カラム４７１は、パリティグループの識別子を示す。ＲＡＩＤ構成カラム４７２は、パリティグループのＲＡＩＤ構成（冗長構成の例）を示す。ＲＡＩＤ構成は、ＲＡＩＤレベル、データドライブ数及びパリティドライブ数で定義される。所属Ｃ／Ｒ＃カラム４７３は、パリティグループに所属する記憶ドライブ２を収容するドライブボックス３の識別子（Ｒ番号）及びスロットの識別子（Ｃ番号）を示す。
【００６９】
省電力上限数カラム４６４は、パリティグループにおいて省電力状態に設定することが許可されている記憶ドライブ２の数を示す。この値は、パリティグループの冗長度（パリティドライブ数）以下の値から選択されている。これにより、省電力状態の記憶ドライブに格納されているデータを、コレクションリードにより復元できる。本例において、省電力上限数カラム４７５は、パリティグループの冗長度に一致する。これにより、省電力効果を高めることができる。
【００７０】
省電力対象Ｃ／Ｒ＃カラム４７６は、パリティグループにおいて、省電力状態に変更される記憶ドライブ２のＣ番号及びＲ番号を示す。省電力対象Ｃ／Ｒ＃カラム４７６が示す値の個数は、省電力上限数カラム４７５が示す値に一致する。
【００７１】
図６は、ドライブボックス管理テーブル１４８の構成例を示す。ドライブボックス管理テーブル１４８は、ドライブボックス３の情報を管理し、具体的には、ドライブボックス３に収容されている記憶ドライブ２の情報及ドライブボックス３の電力消費制御のための参照情報を示す。ドライブボックス管理テーブル１４８は、Ｒ＃カラム４８１、収容Ｃ＃カラム４８２、監視基準時間カラム４８３、ドライブボックス状態カラム４８４、及び、省電力開始時刻カラム４８５を含む。これらの値は予め設定されている値である。
【００７２】
Ｒ＃カラム４７１は、ドライブボックス３のＲ番号を示す。収容Ｃ＃カラム４７２は、ドライブボックス３に収容されている記憶ドライブ２それぞれのＣ番号を示す。監視基準時間カラム４８３は、省電力階層Ｔ４から省電力階層Ｔ５への移行の基準時間を示す。本例において、監視基準時間カラム４８３は、ドライブボックス３のドライブボックスコントローラ３１を省電力状態にしてからの経過時間と比較される。
【００７３】
ドライブボックス状態カラム４８４は、ドライブボックス３の電力消費状態を示す。ドライブボックス３の消費電力状態は、通常状態、ドライブボックスコントローラ３１がスリープ状態である省電力状態、及び電源ＯＦＦ状態を含む。省電力開始時刻カラム４８５は、ドライブボックスコントローラ３１がスリープ状態に変化した時刻を示す。これは、ドライブボックス３に収容されている全ての記憶ドライブ２の電源がＯＦＦにされた時刻と一致する。
【００７４】
以下において、パリティグループ及びドライブボックス３の消費電力階層制御を説明する。図２を参照して説明したように、ストレージコントローラ１１は、段階的に、パリティグループ及びドライブボックス３それぞれの電力消費状態を、より消費電力が少ない状態に変化させる。
【００７５】
図７Ａは、パリティグループの消費電力の階層制御のフローチャートを示す。電力制御プログラム１４３は、通常階層ＴＮにおけるパリティグループに対する最後のライトアクセスからの経過時間が基準時間以上である場合、当該パリティグループにおいて、冗長度以下の数の記憶ドライブ（冗長ドライブ）２の電源をＯＦＦにする（Ｓ１０１）。
【００７６】
具体的には、電力制御プログラム１４３は、ドライブ管理テーブル１４５のドライブ状態カラム４５４を参照し、パリティグループの電力消費制御階層を特定する。ドライブ状態カラム４５４が、当該パリティグループの全ての記憶ドライブ２に対して「通常状態」を示す場合、当該パリティグループは通常階層ＴＮにある。
【００７７】
電力制御プログラム１４３は、当該パリティグループにおいて、最終ライト要求受信時刻カラム４５６から最も遅い時刻を取得する。電力制御プログラム１４３は、さらに、ホストアクセス監視基準時間カラム４５５から、第１の監視基準時間を取得する。
【００７８】
最終ライト要求受信時刻から現在時刻までの時間が、第１の監視基準時間以上である場合、電力制御プログラム１４３は、当該パリティグループの電力消費制御階層を、通常階層ＴＮから第１省電力階層Ｔ１に移行すると決定する。電力制御プログラム１４３は、ＰＧ管理テーブル１４７を参照し、省電力対象Ｃ／Ｒ♯カラム４７５から、当該パリティグループにおいて電源をＯＦＦにする記憶ドライブ２の識別子を取得する。
【００７９】
電力制御プログラム１４３は、取得した識別子を指定して、記憶ドライブ２の電源をＯＦＦにするコマンドを、管理Ｉ／Ｆ１１７を介して、ドライブボックスコントローラ３１に送信する。ドライブボックスコントローラ３１は、指定された記憶ドライブ２の電源制御ラインに信号を送信して、その電源をＯＦＦにする。
【００８０】
電力制御プログラム１４３は、ドライブ管理テーブル１４５のドライブ状態カラム４５４における電源をＯＦＦにした記憶ドライブ２の値を、「通常」から「電源ＯＦＦ」に変更する。
【００８１】
省電力階層Ｔ１から省電力階層Ｔ２への移行条件、及び、省電力階層Ｔ２における記憶ドライブ２の制御は、ＨＤＤとＳＳＤとの間で異なっている。パリティグループがＨＤＤで構成されている場合、省電力階層Ｔ２での制御は、通常状態のＨＤＤをスピンダウン状態に変化させる。
【００８２】
パリティグループがＳＳＤで構成されている場合、省電力階層Ｔ２での制御は、Ｉ／Ｏ要求に応答できる状態で、電源ＯＮのＳＳＤの電力消費を制御する。本例において、リードアクセス頻度に応じて、複数のコアセーブ状態及び通常状態の間でＳＳＤの電力消費状態を変化させる。
【００８３】
まず、ＨＤＤからなるパリティグループの制御を説明する。パリティグループがＨＤＤで構成されており、当該パリティグループに対するライトアクセス及びリードアクセスが基準時間以上存在していない場合、電力制御プログラム１４３は、当該パリティパリティグループにおいて通常状態にある記憶ドライブ２を、スピンダウン状態に変化させる（Ｓ１０２）。
【００８４】
具体的には、電力制御プログラム１４３は、ドライブ管理テーブル１４５を参照し、ドライブ種別カラム４５３が「ＨＤＤ」を示し、ドライブ状態カラム４５４が、パリティグループ内の一部の記憶ドライブ２に対して「電源ＯＦＦ」を示し、他の記憶ドライブ２に対して「通常」を示す場合、当該パリティグループがＨＤＤで構成され、かつ、第１省電力階層Ｔ１にいると判定する。
【００８５】
電力制御プログラム１４３は、当該パリティグループにおいて、最終ライト要求受信時刻カラム４５６及び最終リード要求受信時刻カラム４５７において、最も遅い時刻を取得する。電力制御プログラム１４３は、さらに、ホストアクセス監視基準時間カラム４５５から、第２の監視基準時間を取得する。
【００８６】
上記最も遅い時刻から現在時刻までの時間が、第２の監視基準時間以上である場合、電力制御プログラム１４３は、当該パリティグループの消費電力階層を、第１省電力階層Ｔ１から第２省電力階層Ｔ２に移行すると決定する。
【００８７】
電力制御プログラム１４３は、当該パリティグループにおいて、ドライブ状態カラム４５４が「通常状態」を示す記憶ドライブ２のＣ／Ｒ＃を取得する。電力制御プログラム１４３は、ドライブＩ／Ｆ１１３を介して、記憶ドライブ（ＨＤＤ）２のＣ／Ｒ＃を指定し、スピンダウン状態に変化させることを指示するコマンドを、エキスパンダ３２（ドライブボックスコントローラ３１）に送信する。
【００８８】
エキスパンダ３２は、Ｉ／Ｏのためのラインにおいて、通常状態からスピンダウン状態に変化することを指示するコマンドを、指定された記憶ドライブ（ＨＤＤ）２に送信する。記憶ドライブ（ＨＤＤ）２は、コマンドに従って、磁気ディスクの回転を停止する。
【００８９】
電力制御プログラム１４３は、ドライブ管理テーブル１４５のドライブ状態カラム４５４におけるスピンダウン状態にした記憶ドライブ２の値を、「通常」から「スピンダウン」に変更する。
【００９０】
次に、ＳＳＤからなるパリティグループの電力消費制御を説明する。パリティグループがＳＳＤで構成されている場合、電力制御プログラム１４３は、当該パリティパリティグループにおいて、電源ＯＮであるＳＳＤの消費電力を、Ｉ／Ｏ要求を処理できる状態において制御する（Ｓ１０３）。
【００９１】
本例において、電力制御プログラム１４３は、省電力階層Ｔ１に移行した後、すぐに、省電力階層Ｔ２に移行する。つまり、電力制御プログラム１４３は、一部のＳＳＤの電源をＯＦＦにした後、すぐに、他のＳＳＤのＩ／Ｏ要求を処理できる状態での電力消費制御を開始する。
【００９２】
電力制御プログラム１４３は、ドライブ管理テーブル１４５を参照し、ドライブ種別カラム４５３が「ＳＳＤ」を示し、ドライブ状態カラム４５４が、パリティグループ内の一部の記憶ドライブ２に対して「電源ＯＦＦ」を示し、他の記憶ドライブ２に対して「通常」を示す場合、当該パリティグループがＳＳＤで構成され、かつ、省電力階層Ｔ１にいると判定する。
【００９３】
電力制御プログラム１４３は、ドライブ管理テーブル１４５において、当該パリティグループの電源ＯＮである記憶ドライブ２のドライブ状態カラム４５４の値を、「通常」から「コアセーブ」に変更する。
【００９４】
電力制御プログラム１４３は、第１省電力階層Ｔ１への移行から特定時間経過した後に、第２省電力階層Ｔ２の制御を開始してもよい。例えば、ホストサーバ１００からのライトアクセスが停止してから規定時間経過した後に、電力制御プログラム１４３は、Ｉ／Ｏ要求に応答可能な状態でのＳＳＤの電力消費制御を開始してもよい。この規定時間は、通常階層ＴＮから省電力階層Ｔ１への移行の規定時間より長い。
【００９５】
図７Ｂは、省電力階層Ｔ２のステップＳ１０３において、一つのＳＳＤの電力消費状態を制御するフローチャートを示す。具体的には、「コアセーブ」状態にあるＳＳＤの制御のフローチャートを示す。電力制御プログラム１４３は、ドライブ管理テーブル１４５から、ドライブ状態カラム４５４が「コアセーブ」を示す記憶ドライブ（ＳＳＤ）２を順次選択して、図７Ｂの処理を実行する。電力制御プログラム１４３は、定期的、例えば１０秒毎に、図７Ｂが示す処理を対象のＳＳＤそれぞれに実行する。
【００９６】
まず、電力制御プログラム１４３は、ドライブ管理テーブル１４５において、ドライブ状態カラム４５４が「コアセーブ」を示す記憶ドライブ（ＳＳＤ）を選択し、必要な情報を取得する（Ｓ１３１）。具体的には、電力制御プログラム１４３は、期待性能カラム４５８、性能モニタカラム４５９、セーブランクカラム４６０、性能レンジとセーブランクの関係カラム４６１から、選択した記憶ドライブの情報を取得する。
【００９７】
電力制御プログラム１４３は、性能モニタカラム４５９及び性能レンジとセーブランクの関係カラム４６１が示す値から、当該記憶ドライブに最適なセーブランクを決定する（Ｓ１３２）。なお、後述するように、省電力階層Ｔ２においてパリティグループへのライトアクセスが発生すると、パリティグループは通常状態へ戻る。したがって、性能モニタカラム４５９が示すＩ／Ｏ頻度は、リードアクセス頻度である。
【００９８】
電力制御プログラム１４３は、決定した最適なセーブランクと、セーブランクカラム４６０が示す現在のセーブランクとを、比較する（Ｓ１３３）。上述したように、セーブランクが大きい程、性能が低く、省電力効果が大きい。現在のセーブランクが最適なセーブランクよりも小さい（現在の最大性能が最適な最大性能よりも大きい）場合（Ｓ１３４：ＮＯ）、電力制御プログラム１４３は、同様の判定回数が連続した規定数、本例において連続した６回に達しているか判定する（Ｓ１３５）。
【００９９】
現在のセーブランクが最適なセーブランクよりも小さいとの判定（Ｓ１３４：ＮＯ）の回数が６回に達していない場合（Ｓ１３５：ＮＯ）、電力制御プログラム１４３は、本処理フローを終了する。
【０１００】
上記判定の回数が６回に達している場合（Ｓ１３５：ＹＥＳ）、電力制御プログラム１４３は、当該記憶ドライブ２のセーブランクを、最適なセーブランクに設定する（Ｓ１３６）。また、現在のセーブランクが最適なセーブランク以上である（現在の最大性能が最適な最大性能以下である）場合（Ｓ１３４：ＮＯ）、電力制御プログラム１４３は、当該記憶ドライブ２のセーブランクを、最適なセーブランクに設定する（Ｓ１３６）。
【０１０１】
図７Ａに戻って、電力制御プログラム１４３は、パリティグループの電力消費制御階層構造において、省電力階層Ｔ２の次に、省電力階層Ｔ３に移行する（Ｓ１０４）。当該パリティグループに対するライトアクセス及びリードアクセスが基準時間以上存在していない場合、電力制御プログラム１４３は、当該パリティパリティグループにおいて電源ＯＮの記憶ドライブ２の電源をＯＦＦにする。
【０１０２】
ステップＳ１０４の具体的な処理は、ＨＤＤのパリティグループとＳＳＤのパリティグループとの間で異なる。まず、ＨＤＤのパリティグループの処理を説明する。省電力階層Ｔ２におけるＨＤＤのパリティグループは、ドライブ管理テーブル１４５において以下のように同定される。
【０１０３】
ドライブ種別カラム４５３は、当該パリティグループの全ての記憶ドライブ２に対して、「ＨＤＤ」を示す。ドライブ状態カラム４５４は、パリティグループ内の一部の記憶ドライブ２に対して「電源ＯＦＦ」を示し、他の記憶ドライブ２に対して「スピンダウン」を示す。
【０１０４】
電力制御プログラム１４３は、最終ライト要求受信時刻カラム４５６及び最終リード要求受信時刻カラム４５７において、当該パリティグループにおいて最も遅い時刻を取得する。電力制御プログラム１４３は、さらに、ホストアクセス監視基準時間カラム４５５から、第３の監視基準時間を取得する。
【０１０５】
上記最も遅い時刻から現在時刻までの時間が、第３の監視基準時間より長い場合、電力制御プログラム１４３は、当該パリティグループの電力消費制御のために、省電力階層Ｔ２から省電力階層Ｔ３に移行すると決定する。
【０１０６】
電力制御プログラム１４３は、当該パリティグループにおいて、ドライブ状態カラム４５４が「スピンダウン」を示す記憶ドライブ２のＣ／Ｒ＃を取得する。電力制御プログラム１４３は、取得した識別子を指定して、記憶ドライブ２の電源をＯＦＦにするコマンドを、管理Ｉ／Ｆ１１７を介して、ドライブボックスコントローラ３１に送信する。
【０１０７】
ドライブボックスコントローラ３１は、指定された記憶ドライブ２の電源制御ラインに信号を送信して、その電源をＯＦＦにする。電力制御プログラム１４３は、ドライブ管理テーブル１４５のドライブ状態カラム４５４における電源をＯＦＦにした記憶ドライブ２の値を、「スピンダウン」から「電源ＯＦＦ」に変更する。
【０１０８】
次に、ステップＳ１０４におけるＳＳＤのパリティグループの処理を説明する。省電力階層Ｔ２におけるＨＤＤのパリティグループは、ドライブ管理テーブル１４５において以下のように同定される。ドライブ種別カラム４５３は、当該パリティグループの全ての記憶ドライブ２に対して、「ＳＳＤ」を示す。ドライブ状態カラム４５４は、パリティグループ内の一部の記憶ドライブ２に対して「電源ＯＦＦ」を示し、他の記憶ドライブ２に対して「コアセーブ」を示す。
【０１０９】
電力制御プログラム１４３は、最終ライト要求受信時刻カラム４５６及び最終リード要求受信時刻カラム４５７において、当該パリティグループにおいて最も遅い時刻を取得する。電力制御プログラム１４３は、さらに、ホストアクセス監視基準時間カラム４５５から、第２の監視基準時間を取得する。
【０１１０】
上記最も遅い時刻から現在時刻までの時間が、第２の監視基準時間以上である場合、電力制御プログラム１４３は、当該パリティグループの電力消費制御のために、第２省電力階層Ｔ２から第３省電力階層Ｔ３に移行すると決定する。
【０１１１】
電力制御プログラム１４３は、当該パリティグループにおいて、ドライブ状態カラム４５４が「コアセーブ」を示す記憶ドライブ２のＣ／Ｒ＃を取得する。電力制御プログラム１４３は、取得した識別子を指定して、記憶ドライブ２の電源をＯＦＦにするコマンドを、管理Ｉ／Ｆ１１７を介して、ドライブボックスコントローラ３１に送信する。
【０１１２】
ドライブボックスコントローラ３１は、指定された記憶ドライブ２の電源制御ラインに信号を送信して、その電源をＯＦＦにする。電力制御プログラム１４３は、ドライブ管理テーブル１４５のドライブ状態カラム４５４における電源をＯＦＦにした記憶ドライブ２の値を、「コアセーブ」から「電源ＯＦＦ」に変更する。
【０１１３】
次に、ドライブボックス３の電力消費制御を説明する。図７Ｃは、ドライブボックス３の電力消費階層制御のフローチャートを示す。電力制御プログラム１４３は、所定条件において、ドライブボックス３の電力消費制御のため、省電力階層Ｔ４に移行する。具体的には、電力制御プログラム１４３は、ドライブボックス３に収容されている全ての記憶ドライブ２の電源がＯＦＦである場合、当該ドライブボックス３を通常状態から省電力状態に変化させる（Ｓ１０５）。
【０１１４】
具体的には、電力制御プログラム１４３は、ドライブボックス管理テーブル１４８及びドライブ管理テーブル１４５を参照し、ドライブボックス状態カラム４８４の値が「通常」を示し、かつ、収容している全ての記憶ドライブ２のドライブ状態カラム４５４の値が「電源ＯＦＦ」であるドライブボックス３を特定する。
【０１１５】
電力制御プログラム１４３は、ドライブＩ／Ｆ１１３に指示して、ドライブボックス３とドライブＩ／Ｆ１１３との間のリンクを切断させる。図１の構成例において、例えば、異なるコントローラパッケージ１１０が、それぞれ、対応するドライブボックスコントローラ３１とドライブＩ／Ｆ１１３との間のリンクを切断する。
【０１１６】
ドライブボックスコントローラ３１は、ドライブＩ／Ｆ１１３とのリンクが切断されると、エキスパンダ３２を通常状態からスリープ状態に移行させる。このように、ドライブボックスコントローラ３１が、通常状態から省電力状態に変化する。なお、電力制御プログラム１４３は、ドライブボックスコントローラ３１が通常状態から省電力状態に変化するコマンドを、管理Ｉ／Ｆ１１７を介して、ドライブボックスコントローラ３１に送信してもよい。
【０１１７】
電力制御プログラム１４３は、ドライブボックス管理テーブル１４８において、当該ドライブボックス３のドライブボックス状態カラム４８４の値を、「通常」から「コントローラ省電力」に変更する。電力制御プログラム１４３は、さらに、当該ドライブボックス３の省電力開始時刻カラム４８５の値を、ドライブボックス３を省電力状態に変更した時刻に更新する。
【０１１８】
電力制御プログラム１４３は、パリティグループ及び当該パリティグループを収容するドライブボックス３の電力消費状態を、省電力階層Ｔ４の次に、省電力階層Ｔ５に移行させる（Ｓ１０６）。電力制御プログラム１４３は、ドライブボックスコントローラ３１を省電力状態にしてから、所定時間経過後に、当該ドライブボックス３の電源をＯＦＦにする。
【０１１９】
具体的には、電力制御プログラム１４３は、ドライブボックス管理テーブル１４８を参照し、ドライブボックス状態カラム４８４が「コントローラ省電力」を示すドライブボックス３を特定する。電力制御プログラム１４３は、当該ドライブボックス３の監視基準時間カラム４８３から、監視基準時間を取得し、省電力開始時刻カラム４８５からの経過時間と比較する。経過時間が監視基準時間以上である場合、電力制御プログラム１４３は、ドライブボックス３の電源をＯＦＦにすると決定する。
【０１２０】
電力制御プログラム１４３は、管理Ｉ／Ｆ１１７を介して、ＰＤＵ４１に対してドライブボックス３への電力供給を停止することを指示する。図１の構成例において、例えば、異なるコントローラパッケージ１１０が、それぞれ、対応するＰＤＵ４１に対してドライブボックス３への電力供給を停止することを指示する。ＰＤＵ４１は、ドライブボックス３への電力供給を停止する。電力制御プログラム１４３は、ドライブボックス管理テーブル１４８において、当該ドライブボックス３のドライブボックス状態カラム４８４の値を、「コントローラ省電力」から「電源ＯＦＦ」に変更する。
【０１２１】
一つのパリティグループの全ての記憶ドライブ２が、一つのドライブボックス３に収容されている場合、当該パリティグループの制御が省電力階層Ｔ３に移行した後に、当該ドライブボックス３の制御が省電力階層Ｔ４に移行する。ドライブボックス３が、特定のパリティグループの一部の記憶ドライブ２のみ収容している場合、当該パリティグループの制御が省電力階層Ｔ１又はＴ２にあるときに、当該ドライブボックス３の制御が省電力階層Ｔ４に移行し得る。
【０１２２】
例えば、ドライブボックス３が収容する記憶ドライブ２が、二つのパリティグループの冗長ドライブで構成されているとする。これらパリティグループの制御が省電力階層Ｔ１である場合、当該ドライブボックス３が収容する全ての記憶ドライブ２の電源がＯＦＦである。
【０１２３】
上述のように、パリティグループの電力消費制御は、ホストＩ／Ｏの停止からの経過時間に応じて、段階的に、通常階層ＴＮ、省電力階層Ｔ１、省電力階層Ｔ２、省電力階層Ｔ３と進む。階層移行の条件として参照されるホストＩ／Ｏは、例えば、通常階層ＴＮから省電力階層Ｔ１への移行に対してライトアクセスであり、省電力階層Ｔ２から省電力階層Ｔ３への移行に対してライトアクセス及びリードアクセスである。ドライブボックス３を省電力状態に変化させる条件は、収容している全ての記憶ドライブ２の電源がＯＦＦであることである。ドライブボックス３の電力消費制御も、ホストＩ／Ｏの停止からの経過時間に応じて、段階的に、通常階層ＴＮ、省電力階層Ｔ４、省電力階層Ｔ５と進む。
【０１２４】
以下において、ホストサーバ１００からのＩ／Ｏ要求（ライト要求又はリード要求）の処理を説明する。まず、ホストサーバ１００からのライト要求の処理を説明する。以下に説明する例において、通常状態ではない記憶ドライブ２を含むパリティグループに対するライト要求を受信すると、ストレージコントローラ１１は、当該パリティグループの全記憶ドライブ２を通常状態に変化させる。アクセス制御プログラム１４２は、ホストＩ／Ｆ１１１を介して、ホストサーバ１００からのライト要求及びライトデータを受信する。ライトデータはメモリ１１４に一次的に格納される。
【０１２５】
アクセス制御プログラム１４２は、ドライブ管理テーブル１４５及びドライブボックス管理テーブル１４８を参照して、アクセス先のパリティグループ及びパリティグループを収容している１又は複数のドライブボックス３の状態を確認する。ドライブボックス状態カラム４８４が、ドライブボックス３の電源がＯＦＦであることを示す場合、アクセス制御プログラム１４２は、電力制御プログラム１４３に当該ドライブボックス３の電源をＯＮにすることを指示する。
【０１２６】
図８は、ドライブボックス３の電源をＯＮにする処理のフローチャートを示す。電力制御プログラム１４３は、管理Ｉ／Ｆ１１７を介して、ドライブボックス３に電力を供給するＰＤＵ４１に、ドライブボックス３への電力供給の開始を指示する（Ｓ２０１）。ドライブボックス３へ電力が供給されると、ドライブボックスコントローラ３１が動作して、ドライブボックス３内の全ての記憶ドライブ２の電源をＯＮにする。
【０１２７】
ドライブボックスコントローラ３１から電源がＯＮされたことを示す応答を受信すると、電力制御プログラム１４３は、ドライブボックスコントローラ３１に収容されているＨＤＤに対して、スピンアップを指示する（Ｓ２０３）。ＨＤＤがドライブボックス３に収容されてない場合、このステップは省略される。
【０１２８】
ステップＳ２０３において、電力制御プログラム１４３は、ドライブＩ／Ｆ１１３を介して、記憶ドライブ（ＨＤＤ）２のＣ／Ｒ＃を指定し、スピンアップを指示するコマンドを、エキスパンダ３２（ドライブボックスコントローラ３１）に送信する。エキスパンダ３２は、スピンアップを指示するコマンドを、指定された記憶ドライブ（ＨＤＤ）２に送信する。記憶ドライブ（ＨＤＤ）２は、コマンドに従って、磁気ディスクの回転を開始する。電力制御プログラム１４３は、ドライブ管理テーブル１４５及びドライブボックス管理テーブル１４８を更新する。
【０１２９】
アクセス制御プログラム１４２は、電力制御プログラム１４３から、対象のドライブボックス３及び記憶ドライブ２の電源がＯＮにされ、それらが通常状態であることを示す応答を受信する。対象パリティグループの全ての記憶ドライブ２が通常状態となった後、アクセス制御プログラム１４２は、対象のパリティグループに対するライト処理を実行する。アクセス制御プログラム１４２は、新規ライトデータを記憶ドライブ２に書き込み、さらに、パリティデータを更新する。
【０１３０】
記憶ドライブ２へデータを書き込むため、アクセス制御プログラム１４２は、ドライブＩＦ１１３を介して、エキスパンダ３２を経由して、ライト要求及びライトデータを送信する。ライト要求は、対象の記憶ドライブ２の識別子（例えば、Ｃ／Ｒ＃）を示す。エキスパンダ３２は、指定された記憶ドライブ２に、ライト要求及びライトデータを送信し、記憶ドライブ２からの応答を、要求元のドライブＩ／Ｆ１１３に返す。ドライブＩ／Ｆ１１３は、受信した応答を、アクセス制御プログラム１４２に返す。ドライブボックス状態カラム４８４が、対象のドライブボックス３のドライブボックスコントローラ３１が省電力状態であることを示す場合、アクセス制御プログラム１４２は、ドライブボックスコントローラ３１の省電力状態を解除して、通常状態に変化させるように、電力制御プログラム１４３指示する。
【０１３１】
図９は、省電力状態にあるドライブボックスコントローラ３１を通常状態に戻す処理のフローチャートを示す。電力制御プログラム１４３は、管理Ｉ／Ｆ１１７を介して、対象ドライブボックス３のドライブボックスコントローラ３１に、コントローラ省電力の解除を指示する（Ｓ２１１）。
【０１３２】
指示を受けたドライブボックスコントローラ３１は、省電力状態から通常状態に復帰する。ドライブボックスコントローラ３１は、ドライブボックス３内の全ての記憶ドライブ２の電源をＯＮにする。電力制御プログラム１４３は、ドライブ管理テーブル１４５及びドライブボックス管理テーブル１４８を更新する。アクセス制御プログラム１４２は、電力制御プログラム１４３から対象のドライブボックス３のドライブボックスコントローラ３１及び記憶ドライブ２が通常状態であることを示す応答を受信する。対象パリティグループの全ての記憶ドライブ２が通常状態となった後、アクセス制御プログラム１４２は、対象のパリティグループに対するライト処理を実行する。
【０１３３】
対象パリティグループを収容する全ドライブボックス３が通常状態であり、パリティグループ内の一部又は全部の記憶ドライブ２が通常状態ではない場合、アクセス制御プログラム１４２は、電力制御プログラム１４３に指示して、通常状態ではない記憶ドライブ２それぞれを通常状態に復帰せる。本例において通常状態以外の状態は、電源ＯＦＦ状態、スピンダウン状態（ＨＤＤ）又はコアセーブ状態（ＳＳＤ）である。アクセス制御プログラム１４２は、ドライブ管理テーブル１４５のドライブ状態カラム４５４及びセーブランクカラム４６０を参照して、各記憶ドライブ２の状態を同定する。
【０１３４】
図１０は、電源ＯＦＦ状態の記憶ドライブ２を通常状態に復帰させる処理のフローチャートを示す。電力制御プログラム１４３は、管理Ｉ／Ｆ１１７を介して、ドライブボックスコントローラ３１（ドライブボックス３）に、指定した記憶ドライブ２の電源をＯＮにすることを指示する（Ｓ２２１）。ドライブボックスコントローラ３１は、指定された記憶ドライブ２の電源をＯＮにした後、電力制御プログラム１４３に応答を返す。
【０１３５】
電源ＯＮにされた記憶ドライブ２がＨＤＤである場合には、電力制御プログラム１４３は、記憶ドライブ２に対して、スピンアップを指示する（Ｓ２２３）。記憶ドライブ（ＨＤＤ）２は、指示に従って、磁気ディスクの回転を開始する。記憶ドライブ２がＳＳＤの場合、このステップは省略される。電力制御プログラム１４３は、ドライブ管理テーブル１４５を更新し、アクセス制御プログラム１４２に完了の応答を返す。
【０１３６】
図１１は、スピンダウン状態のＨＤＤを通常状態に復帰させる処理のフローチャートを示す。電力制御プログラム１４３は、記憶ドライブ（ＨＤＤ）２に対して、スピンアップを指示する（Ｓ２３１）。記憶ドライブ（ＨＤＤ）２は、指示に従って、磁気ディスクの回転を開始する。電力制御プログラム１４３は、ドライブ管理テーブル１４５を更新し、アクセス制御プログラム１４２に完了の応答を返す。
【０１３７】
図１２は、コアセーブ状態のＳＳＤを通常状態に復帰させる処理のフローチャートを示す。コアセーブ状態のＳＳＤのドライブ状態カラム４５４は「コアセーブ」を示し、セーブランクカラム４６０は、ランク２〜ランク４のいずれかを示す。電力制御プログラム１４３は、記憶ドライブ（ＳＳＤ）２に対して、コアセーブ状態から通常状態に変化することを指示する（Ｓ２４１）。記憶ドライブ（ＳＳＤ）２は、指示に従って、通常状態に変化する。電力制御プログラム１４３は、ドライブ管理テーブル１４５を更新し、アクセス制御プログラム１４２に完了の応答を返す。
【０１３８】
記憶ドライブ２のセーブランクが、ランク１である場合、電力制御プログラム１４３は、記憶ドライブ２に指示を送信することなく、ドライブ状態カラム４５４の値を「通常」に変更し、セーブランクカラム４６０の値をＮＵＬＬに変更して、アクセス制御プログラム１４２に完了の応答を返す。次に、ホストサーバ１００からのリード要求の処理を説明する。リード要求の対象データを格納している記憶ドライブ（対象記憶ドライブ）２が通常状態又はコアセーブ状態である場合、アクセス制御プログラム１４２は、当該記憶ドライブ２から対象データを読み出す。
【０１３９】
記憶ドライブ２からデータを読み出すため、アクセス制御プログラム１４２は、ドライブＩＦ１１３を介して、エキスパンダ３２にリード要求を送信する。リード要求は、対象の記憶ドライブ２の識別子を示す。エキスパンダ３２は、指定された記憶ドライブ２に、リード要求を送信し、記憶ドライブ２からのリードデータを含む応答を、要求元のドライブＩ／Ｆ１１３に返す。ドライブＩ／Ｆ１１３は、受信した応答を、アクセス制御プログラム１４２に返す。
【０１４０】
対象記憶ドライブ２の電源がＯＦＦであり、当該パリティグループの一部の記憶ドライブ２が通常状態又はコアセーブ状態である場合（省電力階層Ｔ１又はＳＳＤの省電力階層Ｔ２）、アクセス制御プログラム１４２は、当該パリティグループの通常状態又はコアセーブ状態の記憶ドライブ２に格納されているデータ（パリティデータを含む）から、対象データを復元する。
【０１４１】
対象記憶ドライブ２のパリティグループが、スピンダウン状態の記憶ドライブ２を含む場合、アクセス制御プログラム１４２は、当該パリティグループの全ての記憶ドライブ２を通常状態に変化させる。その後、アクセス制御プログラム１４２は、当該記憶ドライブ２から対象データを読み出す。アクセス制御プログラム１４２は、図１１を参照して説明したように、スピンダウン状態の記憶ドライブ２を通常状態に変化させる。アクセス制御プログラム１４２は、図８〜１０を参照して説明したように、電源ＯＦＦ状態の記憶ドライブ２を通常状態に変化させる。
【０１４２】
対象記憶ドライブ２のパリティグループの全ての記憶ドライブ２の電源がＯＦＦである場合、アクセス制御プログラム１４２は、当該パリティグループの全ての記憶ドライブ２を通常状態に変化させる。その後、アクセス制御プログラム１４２は、当該記憶ドライブ２から対象データを読み出す。アクセス制御プログラム１４２は、図８〜１０を参照して説明したように、電源ＯＦＦ状態の記憶ドライブ２を通常状態に変化させる。
【０１４３】
上記電力消費階層構造の一部の省電力階層のみ、例えば、ＳＳＤのパリティグループの省電力階層Ｔ２のみが実装されていてもよい。例えば、ストレージコントローラ１１は、ライトアクセス（ライト要求）が規定時間以上存在しない場合又は管理計算機１５０からの指示に応答して、ＳＳＤのパリティグループの制御を、通常階層ＴＮから省電力階層Ｔ２に移行してもよい。ストレージコントローラ１１は、ライト及びリード双方のＩ／Ｏが規定時間以上存在しない場合に、ＳＳＤのパリティグループの制御を、通常階層ＴＮから省電力階層Ｔ２に移行してもよい。省電力階層Ｔ２においてＳＳＤの状態を切り替えるために参照するＩ／Ｏ種類は、リード及びライトの双方でもよく、ストレージコントローラ１１は、管理計算機１５０からの指示に応答して、省電力階層Ｔ２から通常階層ＴＮに戻ってもよい。
【０１４４】
省電力階層Ｔ１が省略されている場合、ストレージコントローラ１１は、パリティグループに代えて、記憶ドライブ毎に階層制御を実行してもよい。ＨＤＤのパリティグループの省電力階層Ｔ２において、リードアクセスを受信した場合、ストレージコントローラ１１は、パリティグループの全ドライブを通常状態に変更してもよく、リードアクセス先の記憶ドライブのみを通常状態に変更してもよい。全記憶ドライブの電源がＯＦＦのパリティグループへのリード要求が発生した場合、ストレージコントローラ１１は、パリティグループの全ドライブを通常状態に変更してもよく、リードアクセス先の記憶ドライブのみを通常状態に変更してもよい。
【０１４５】
ストレージコントローラ１１は、管理計算機１５０からの指示に応じて、記憶ドライブ２及びドライブボックス３を省電力の状態（電源ＯＦＦを含む）から通常状態に復旧させてもよい。例えば、ドライブボックス３及び収容されている記憶ドライブ２の電源がＯＦＦである（省電力階層Ｔ５）場合に、ストレージコントローラ１１は、ドライブボックス３又はパリティグループを指定した復旧指示を管理計算機１５０から受信する。ストレージコントローラ１１は、図８を参照して説明したように、ドライブボックス３及び記憶ドライブ２を通常状態に変化させる。
【０１４６】
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１４７】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１４８】
１  ストレージシステム、２  記憶ドライブ、３  ドライブボックス、１１  ストレージコントローラ、３１  ドライブボックスコントローラ、３２  エキスパンダ、３３  電源回路、４１  ＰＤＵ、１００  ホストサーバ、１１０  コントローラパッケージ、１１２  プロセッサ、１１４  メモリ、１４１  アクセス監視プログラム、１４２  アクセス制御プログラム、１４３  電力制御プログラム、１４５  ドライブ管理テーブル、１４７  ＰＧ管理テーブル、１４８  ドライブボックス管理テーブル、１５０  管理計算機
【図１】
2019091152.tif 000003
【図２】
2019091152.tif 000004
【図３】
2019091152.tif 000005
【図４】
2019091152.tif 000006
【図５】
2019091152.tif 000007
【図６】
2019091152.tif 000008
【図７Ａ】
2019091152.tif 000009
【図７Ｂ】
2019091152.tif 000010
【図７Ｃ】
2019091152.tif 000011
【図８】
2019091152.tif 000012
【図９】
2019091152.tif 000013
【図１０】
2019091152.tif 000014
【図１１】
2019091152.tif 000015
【図１２】
2019091152.tif 000016
【手続補正書】
【提出日】平成30年8月24日(2018.8.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
以下、一つのパリティグループ及び一つのドライブボックス３の観点において、図２が示す電力消費制御階層構造を説明する。当該ドライブボックス３は、当該パリティグループの一部又は全ての記憶ドライブ２を収容していてもよく、当該パリティグループのいずれの記憶ドライブ２を収容していなくてもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
まず、ＨＤＤからなるパリティグループの制御を説明する。パリティグループがＨＤＤで構成されており、当該パリティグループに対するライトアクセス及びリードアクセスが基準時間以上存在していない場合、電力制御プログラム１４３は、当該パリティグループにおいて通常状態にある記憶ドライブ２を、スピンダウン状態に変化させる（Ｓ１０２）。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
次に、ＳＳＤからなるパリティグループの電力消費制御を説明する。パリティグループがＳＳＤで構成されている場合、電力制御プログラム１４３は、当該パリティグループにおいて、電源ＯＮであるＳＳＤの消費電力を、Ｉ／Ｏ要求を処理できる状態において制御する（Ｓ１０３）。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
図７Ａに戻って、電力制御プログラム１４３は、パリティグループの電力消費制御階層構造において、省電力階層Ｔ２の次に、省電力階層Ｔ３に移行する（Ｓ１０４）。当該パリティグループに対するライトアクセス及びリードアクセスが基準時間以上存在していない場合、電力制御プログラム１４３は、当該パリティグループにおいて電源ＯＮの記憶ドライブ２の電源をＯＦＦにする。