(57)【要約】（課題）ホスト装置からのデータの読出し命令が多いシステムでの、電力の消費を低減することを可能とするディスクアレイ装置を提供する。（解決手段）ディスクアレイ装置は、ホスト装置からの命令により、データの読出しおよび書込みを実行する。ディスクアレイ装置は、ホスト装置からの命令により、データの読出しおよび書込みを実行する。ディスクアレイ装置は、データの書込みおよび読出し処理を実行し得る第一の状態と該第一の状態よりも電力の消費が少ない第二の状態となることを可能とするディスク装置と、データを該ディスク装置に書込む処理を実行するときに、該ディスク装置を該第二の状態から該第一の状態に変更する制御部とを有する。【選択図】  図１
2009008084.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置からの命令により、データの読出しおよび書込みを実行するディスクアレイ装置であって、
データの書込みおよび読出し処理を実行し得る第一の状態と該第一の状態よりも電力の消費が少ない第二の状態となることを可能とするディスク装置と、
データを該ディスク装置に書込む処理を実行するときに、該ディスク装置を該第二の状態から該第一の状態に変更する制御部と
を有することを特徴とするディスクアレイ装置。
【請求項２】
該ホスト装置から受信した書込みデータを格納するメモリを更に有することを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
該ディスク装置を複数有し、
該複数のディスク装置はデータが冗長に格納され、
該複数のディスク装置の少なくとも一つのディスク装置がデータの書込みおよび読出し処理を実行し得る状態よりも電力の消費が少ない第二の状態となることを特徴とする請求項２に記載のディスクアレイ装置。
【請求項４】
該ホスト装置から受信した書込みデータを格納するメモリを更に有し、
該制御部は、予め定めた時間内で該メモリに格納された書込みデータが所定の値よりも少ないときに、該複数のディスク装置で冗長となるディスク装置をデータの読出あるいは書込が可能な状態よりも消費電力が少ない状態に切り替える
ことを特徴とする請求項３に記載のディスクアレイ装置。
【請求項５】
該メモリの書込みデータが該所定の値を超えると、ディスク装置を該データの書込みが可能な状態に切り替えることを特徴とする請求項４に記載のディスクアレイ装置。
【請求項６】
該第二の状態は更に、該ディスク装置のモータを停止する第一のモードと該ディスク装置への全ての電源を断つ第二のモードとがあり、
予め定めた第一の時間内での該メモリに格納された書込みデータが所定の値よりも少ないときに、該複数のディスク装置で冗長となるディスク装置を該第一のモードに切り替え、
予め定めた第二の時間内での該メモリに格納された書込みデータが所定の値よりも少ないときに、該複数のディスク装置で冗長となるディスク装置を該第二のモードに切り替えることを特徴とする請求項４に記載のディスクアレイ装置。
【請求項７】
データの書込みおよび読出し処理を実行し得る第一の状態、あるいは該第一の状態よりも電力の消費が少ない第二の状態となるディスク装置を有し、ホスト装置からの命令によりデータの読出しおよび書込みを実行するディスクアレイ装置の制御方法であって、
データを該ディスク装置に書込む処理を実行するときに、該ディスク装置を該第二の状態から該第一の状態に変更し、
該ディスク装置に該データの書込み処理を実行する
ことを特徴とするディスクアレイ装置の制御方法。
【請求項８】
データの書込みおよび読出し処理を実行し得る第一の状態、あるいは該第一の状態よりも電力の消費が少ない第二の状態となるディスク装置と、該ディスク装置の制御を行う制御部を有し、ホスト装置からの命令により、データの読出しおよび書込み処理をディスクアレイ装置に実行させる制御プログラムであって、
該ディスクアレイ装置の該制御部に、
データを該複数のディスク装置に書込む処理を実行するときに、該複数のディスク装置を該第二の状態から該第一の状態に変更するステップ、
該ディスク装置に該データの書込み実行するステップ、
を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置の制御方式に関する。
【背景技術】
【０００２】
ディスクアレイ装置は記憶されたデータの保存の可能性を高めるために複数の記憶ユニットを冗長な構成とする。ディスクアレイ装置は複数のディスク装置を有する。複数のディスク装置を管理する手法としてＲＡＩＤがある。ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）は、独立した複数のディスク装置を冗長構成とすることにより、データの保存の信頼性を高めるデータ記録方式である。ＲＡＩＤを構成するディスク装置をメンバディスクという。【０００３】
ディスクアレイ装置が動作するためには電力が必要である。近年、ディスクアレイ装置が消費する電力を低減することが重要になっている。ディスクアレイ装置の省電力化のため、予め定めた時間以上ホスト装置からのアクセスがないときに、ＲＡＩＤグループの冗長なメンバディスク装置を省電力する技術がある。【０００４】
例えば、データ配信サービスを行うシステムでは、ホスト装置からの命令は、データ読出し命令が多い。しかし、従来技術は、一定時間以内にホスト装置からアクセスがあると省電力モードとはならず、ディスクアレイ装置の消費電力を十分に削減できない。【０００５】
従来技術として下記の文献がある。
【特許文献１】特開２００５−２２８２８８号公報
【特許文献２】特開２０００−２９３３１４号公報
【発明の開示】
【０００６】
（発明が解決しようとする課題）
本発明の課題は、ホスト装置からのデータの読出し命令が多いシステムでの、電力の消費を低減することを可能とするディスクアレイ装置を提供することである。
（課題を解決するための手段）
本発明の第一の解決手段のディスクアレイ装置は以下となる。ディスクアレイ装置は、ホスト装置からの命令により、データの読出しおよび書込みを実行する。ディスクアレイ装置は、データの書込みおよび読出し処理を実行し得る第一の状態と第一の状態よりも電力の消費が少ない第二の状態となることを可能とするディスク装置と、データをディスク装置に書込む処理を実行するときに、ディスク装置を第二の状態から第一の状態に変更する制御部とを有する。
【０００７】
本発明の第二の解決手段のディスクアレイ装置は、第一の解決手段に加え、ホスト装置から受信した書込みデータを格納するメモリを有する。
【０００８】
本発明の第三の解決手段のディスクアレイ装置は、ディスク装置を複数有する。複数のディスク装置はデータが冗長に格納され、複数のディスク装置の少なくとも一つのディスク装置がデータの書込みおよび読出し処理を実行し得る状態よりも電力の消費が少ない第二の状態となる。
【０００９】
本発明の第四の解決手段のディスクアレイ装置は、第三の解決手段に加え、制御部は、予め定めた時間内でメモリに格納された書込みデータが所定の値よりも少ないときに、複数のディスク装置で冗長となるディスク装置をデータの読出あるいは書込が可能な状態よりも消費電力が少ない状態に切り替える。
【００１０】
本発明の第五の解決手段のディスクアレイ装置は、第四の解決手段に加え、メモリの書込みデータが所定の値を超えると、ディスク装置をデータの書込みが可能な状態に切り替える。
【００１１】
本発明の第五の解決手段のディスクアレイ装置は、第一の解決手段のディスクアレイ装置に以下の機能を加える。第二の状態は更に、ディスク装置のモータを停止する第一のモードとディスク装置への全ての電源を断つ第二のモードとを有する。予め定めた第一の時間内でのメモリに格納された書込みデータが所定の値よりも少ないときに、複数のディスク装置で冗長となるディスク装置を第一のモードに切り替え、予め定めた第二の時間内でのメモリに格納された書込みデータが所定の値よりも少ないときに、複数のディスク装置で冗長となるディスク装置を第二のモードに切り替える。
（発明の効果）
本発明により、ホスト装置とディスクアレイ装置との間でデータの読出し命令が多いシステムでの、電力の消費を低減することを可能とするディスクアレイ装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施例のストレージシステム１の構成図である。
【図２】ＲＡＩＤグループテーブル５０の構成例である。
【図３】ＬＵＮテーブル６０の構成例である。
【図４】ＲＥＡＤ命令を受信した時の処理のフローチャートである。
【図５】Ｗｒｉｔｅ命令を受信した時に実行する処理のフローチャートである。
【図６】省電力モード判定処理のフローチャートである。
【図７】省電力モードに移行する移行処理のフローチャートである。
【図８】通常モードに移行する処理のフローチャートである。
【図９】異常検出時の処理のフローチャートである。
【図１０】異常なディスク装置がある場合の図６に加える処理のフローチャート
【図１１】異常なディスク装置がある場合の図７を変更した処理のフローチャート
【符号の説明】
【００１３】
１  ストレージシステム
２  ホスト装置
３  ディスクアレイ装置
３１  管理部
３２  ディスク装置格納部
３３  ホストインターフェース
３４  制御モジュール
３５  キャッシュメモリ
３６  ディスクインターフェース
３７  ディスク電源制御モジュール
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施例について説明する
図１は、本実施例のストレージシステム（Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ）１の構成図である。ストレージシステム１は、ホスト装置（Ｈｏｓｔ  Ｃｏｍｐｕｔｅｒ）２とディスクアレイ装置（Ｄｉｓｋ  Ａｒｒａｙ  Ｄｅｖｉｃｅ）３とから構成される。【００１５】
ホスト装置２では、種々のアプリケーションソフトウェアが動作する。ホスト装置２は、例えば、アプリケーションソフトウェアで必要となるデータを読み出す命令をディスクアレイ装置３に送信したり、アプリケーションソフトウェアで生成されたデータを書き込む命令をディスクアレイ装置３に送信したりする。【００１６】
ディスクアレイ装置３は、ホスト装置２から送られるデータをディスク装置格納部３２のディスク装置格納する処理、ホスト装置２からの要求に応じて格納したデータを読み出す処理を行う。【００１７】
本実施例のディスクアレイ装置３は、ホスト装置２とネットワークによって接続する。本実施例のディスクアレイ装置３は、複数のディスク装置を管理する管理部３１と複数のディスク装置が格納されたディスク装置格納部３２とを有する。【００１８】
管理部３１はホストインターフェース（Ｈｏｓｔ  Ｉ／Ｆ）３３、制御モジュール（Ｃｏｎｔｒｏｌｌｅｒ）３４、キャッシュメモリ（Ｃａｃｈｅ  ｍｅｍｏｒｙ）３５、ディスクインターフェース（Ｄｉｓｋ  Ｉ／Ｆ）３６、およびディスク電源制御モジュール（Ｄｉｓｋ  Ｄｒｉｖｅ  Ｐｏｗｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）３７を有する。【００１９】
ホストインターフェース３３は、ホスト装置２と制御モジュール３４との間を接続するインターフェースである。【００２０】
制御モジュール３４は、ＣＰＵ３８、揮発メモリ（Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）３９、および不揮発メモリ（Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）４０を有する。制御モジュール３４は、ディスクアレイ装置３の全体を制御する。例えば、ホスト装置２との間の制御、ホスト装置２から受け取ったデータを一時格納するキャッシュメモリ３５の制御、ディスク装置格納部３２の複数のディスク装置で構成されるＲＡＩＤの制御等を行う。制御モジュール３４はホストＩＦ３３、およびディスクアレイ装置３内のディスクＩＦ３６に接続する。ＣＰＵ３８は、複数のディスク装置４１乃至４８を管理するための制御プログラムが実行される。Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ３９では、電源の供給が絶たれると、記憶された内容が失われる。Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ３９は制御プログラムが展開される記憶領域である。また、Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ３９はＣＰＵ３８が制御プログラムを実行することによって出力される種々の情報を一時的に格納する。また、Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ３９は、ＲＡＩＤグループテーブル５０、および論理ユニット番号（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ（以下、ＬＵＮとする）テーブル６０を格納する。Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ４０では、電源が供給されない場合でも記憶された内容が保持される。Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ４０は制御プログラムが格納される。【００２１】
キャッシュメモリ３５は、ホストから受信した書き込み命令を一時的に記憶するための記憶領域である。ディスクＩＦ３６は、制御モジュール３４とディスク装置格納部３２との間を接続するインターフェースである。ディスク電源制御モジュール３７は、ディスク装置格納部３２の複数のディスク装置４１乃至４８の電源の状態を制御する。【００２２】
ディスク装置格納部３２は複数のディスク装置４１、４２、４３、４４、４５、４６、４７、および４８を有する。各ディスク装置４１乃至４８は、制御モジュール３４からの指示に応じてデータを格納する、あるいは制御モジュール３４からの指示に応じてデータを制御モジュール３４に出力する。ディスク装置格納部３２の複数のディスク装置４１乃至４８は、ＲＡＩＤとして機能する。本実施例のＲＡＩＤレベルは「１＋０」とする。ＲＡＩＤレベル「１＋０」は、ＲＡＩＤレベル「１」とＲＡＩＤレベル「０」を階層的に組み合わせた仕組みである。ＲＡＩＤレベル「１」はミラーリングである。ＲＡＩＤレベル「０」はストライピングである。ＲＡＩＤレベル「１＋０」は、ＲＡＩＤレベル「１」のミラーリングを複数構成し、複数のミラーリング構成を単位としてＲＡＩＤレベル「０」のストライピングを構成する。なお、冗長構成であれば他のＲＡＩＤレベル、例えば、ＲＡＩＤレベル「１」、「５」等であっても実施可能である。【００２３】
次に、Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ３９上に展開されるテーブルについて説明する。ディスクアレイ装置３は、複数のＲＡＩＤグループを有する場合がある。ディスクアレイ装置３は、複数のＲＡＩＤグループを管理するためのテーブルを有する。図２は、ＲＡＩＤグループを管理するためのＲＡＩＤグループテーブル５０である。ＲＡＩＤグループテーブル５０は、ＲＡＩＤグループを識別するＲＡＩＤグループ情報５１、ＲＡＩＤグループのＲＡＩＤレベルを特定するＲＡＩＤレベル情報５２、ＲＡＩＤグループのメンバディスク数の内、ミラーリングの関係にあるディスク装置を特定するミラー情報５３、およびＲＡＩＤグループのメンバディスクに対応するディスク装置を特定するＤｉｓｋＩＤ情報５４を列項目として有する。ディスクアレイ装置３は、列項目を一つのまとまりとしたレコードで管理する。【００２４】
また、ディスクアレイ装置３は、ＬＵＮとＲＡＩＤグループとを対応付けるテーブルを有する。本実施例では、ＬＵＮは、ディスクアレイ装置３が複数のＲＡＩＤグループを持つ場合に、ＲＡＩＤグループを特定するための識別番号である。ホスト装置２はＬＵＮによって読出しあるいは書込みの対象となるデータを特定する。図３は、ＬＵＮとＲＡＩＤグループとを対応付けたＬＵＮテーブル６０である。ＬＵＮテーブル６０は、ＬＵＮを識別するためのＬＵＮ情報６１、ＬＵＮに対応するＲＡＩＤグループを特定するＲＡＩＤグループ情報６２、ホスト装置２からのＲＥＡＤ命令のＲＥＡＤデータの量を記憶するＲｅａｄ情報６３、およびホスト装置２からのＷＲＩＴＥ命令のＷＲＩＴＥデータの量を記憶するＷＲＩＴＥ情報６４を列項目として有する。ディスクアレイ装置３は、列項目を一つのまとまりとしたレコードで管理する。【００２５】
次に、ストレージシステム１でのＲｅａｄ処理について説明する。図４はディスクアレイ装置３がＲＥＡＤ命令を受信した時の処理のフローチャートである。【００２６】
ディスクアレイ装置３の制御モジュール３４は、ホスト装置２からＲＥＡＤ命令を受信する（Ｓ０１）。ＲＥＡＤ命令は、読出しの対象のＬＵＮ情報、アドレス情報を有する。制御モジュール３４は、読出しの対象のディスク装置を決定する（Ｓ０２）。ＲＥＡＤ命令の対象のデータがキャッシュメモリ３５に格納されている場合は、制御モジュール３４はキャッシュメモリ３５から対象のデータを読み出す。【００２７】
例えば、制御モジュール３４は特定されたＬＵＮが属するＲＡＩＤグループをＬＵＮテーブル６０で特定する。そして、制御モジュール３４はデータが格納されたアドレスに対応するＲＡＩＤグループに属するディスク装置からデータを読み出す（Ｓ０３）。なお、省電力モードのＲＡＩＤグループに対してＲｅａｄ処理を実行する場合、制御モジュール３４は、冗長構成となるメンバディスクの内、動作しているディスク装置を特定する。制御モジュール３４は、そして制御モジュール３４は、特定した動作中のディスク装置からデータを読み出す。制御モジュール３４は読み出したデータをホスト装置２に送信する（Ｓ０４）。また、制御モジュール３４は読み出したデータ量をＬＵＮテーブル６０のＬＵＮに対応するレコードのＲｅａｄ情報６３に格納する。【００２８】
ここで、モードについて定義する。本実施例のディスク装置は、通常モードと省電力モードの２種類のモードを持つとする。通常モードは、記録媒体上のデータの読出しあるいは書き込みのための処理をディスク装置が実行可能な状態である。省電力モードは、記録媒体上のデータの読出しあるいは書き込みのための処理を実行するためには、それらの処理を実行可能な状態に復旧する必要がある状態である。省電力モードでは、ディスク装置の機能の一部は停止している。例えば、電源Ｏｆｆの状態である。あるいは、ディスク装置の制御基板は電源Ｏｎの状態であるが、記録媒体が回転していない状態である。通常モードのディスク装置は、データの読出が可能である。省電力モードのディスク装置は、通常モードよりも電力消費量が少ない。【００２９】
次に、ストレージシステム１でのＷｒｉｔｅ処理について説明する。図５はディスクアレイ装置３がＷｒｉｔｅ命令を受信した時に実行する処理のフローチャートである。【００３０】
ディスクアレイ装置３の制御モジュール３４は、ホスト装置２からＷｒｉｔｅ命令を受信する（Ｓ１１）。ＷＲＩＴＥ命令は、格納すべきデータとデータ格納先のＬＵＮおよびアドレス情報とを有する。制御モジュール３４は、Ｓ１１で受信した格納すべきデータとデータ格納先のＬＵＮおよびアドレス情報とをキャッシュメモリ３５に格納する（Ｓ１２）。制御モジュール３４は、Ｗｒｉｔｅ処理の完了をホスト装置２に送信する（Ｓ１３）。したがって、Ｓ１３の時点では、ホスト装置２から受信したＷｒｉｔｅ命令に関するデータはディスク装置には書き込まれていない。制御モジュール３４は、キャッシュメモリ３５に格納したデータ量をＬＵＮテーブル６０のＬＵＮに対応するレコードのＷｒｉｔｅ情報６４に格納する。【００３１】
制御モジュール３４は、キャッシュメモリ３５に格納されたデータを適宜ディスク装置に格納する処理を実行する。制御モジュール３４は、キャッシュメモリ３５からディスク装置に書き込むためのデータ、およびデータを書き込む先のアドレス情報を読み出す（Ｓ１４）。制御モジュール３４は、アドレス情報からデータを書き込む対象のディスク装置を特定する（Ｓ１５）。制御モジュール３４は、対象のディスク装置にデータを書き込む（Ｓ１６）。【００３２】
以上によって、ディスクアレイ装置３はＷｒｉｔｅ処理を実行する。なお、制御モジュール３４が実行するＳ１１乃至Ｓ１３の処理とＳ１４乃至Ｓ１６の処理とは連続して実行する必要はない。ディスクアレイ装置３は、キャッシュメモリ３５に格納されたデータを適当なタイミングでディスク装置に書き込む処理を実行する。【００３３】
次に、ストレージシステム１での省電力モードへの切り替え処理について説明する。図６は、ディスクアレイ装置３が省電力モード判定処理のフローチャートである。省電力モード判定処理では、ディスクアレイ装置３はディスク装置を省電力モードに切り替えてよいか否かを判定する。【００３４】
制御モジュール３４は、単位時間が経過したか否かを判定する（Ｓ２１）。制御モジュール３４がディスク装置を省電力モードに切り替える処理の開始は、種々のタイミングを設定することが可能である。例えば、制御モジュール３４は管理するディスク装置に対して最後にＷｒｉｔｅＢａｃｋ処理を実行してからタイマーを起動する。そして、制御モジュール３４は、タイマーが予め定めた時間を経過すると、ディスク装置を省電力モードに切り替える処理を開始する。また、制御モジュール３４は、単位時間毎に省電力モードに切り替える処理を開始する。【００３５】
制御モジュール３４は、処理対象のＬＵＮを特定する（Ｓ２２）。制御モジュール３４は、キャッシュメモリ３５に一時的に格納されているデータ量を読み出す（Ｓ２３）。制御モジュール３４は、ＬＵＮテーブル６０のＷｒｉｔｅ情報６４を読み出す。一般的に、キャッシュメモリ３５に一時的に格納されているデータは、ＷｒｉｔｅＢａｃｋ処理を実行する必要がある。キャッシュメモリ３５は高速にデータを格納することが可能であるが、記憶領域は有限である。そのため、制御モジュール３４は、キャッシュメモリ３５に格納されたデータ量が予め定めたデータ量（所定量）を超えて記憶しているか否かを判定する。所定量は、ディスクアレイ装置３のキャッシュメモリ３５の記憶可能な領域の大きさ、あるいはホスト装置２やストレージシステム１で扱うアプリケーションの用途に応じて適宜決定される。例えば、頻繁にデータの更新があるシステムであるにも関わらすキャッシュメモリ３５に多くのデータを格納すると、システムが不安定になる恐れがある。一方、ホスト装置２はデータを読出す処理を主に実行し、ディスク装置にデータを書き込む処理がほとんどないシステムの用途の場合、キャッシュメモリ３５に多くのデータがあったとしても、システムが不安定となる可能性は低い。ディスク装置に格納されたデータの読出すことが主な処理であり、ディスク装置にデータを書き込む処理がほとんどないようなシステムの用途は、例えば、コンテンツ配信サーバがある。コンテンツ配信サーバでは、送信対象のコンテンツ（データ）をディスク装置に格納した後は、コンテンツの読み出しが主な処理となる。一方、コンテンツ配信サーバは、格納されたコンテンツを確実に保護する必要がある。コンテンツを確実に保護するために、コンテンツ配信サーバはＲＡＩＤによってコンテンツを冗長に格納する。コンテンツ配信サーバは、例えば、映像配信サーバ、音楽配信サーバなどがある。【００３６】
制御モジュール３４は、キャッシュメモリ３５に一時的に格納されているデータ量が所定値以上か否かを判定する（Ｓ２４）。例えば、制御モジュール３４は、予め定めた閾値（所定値）とＬＵＮテーブル６０のＷｒｉｔｅ情報６４のデータ量とを比較することにより判定する。Ｓ２４にて所定値以上ではないと判定した場合（Ｓ２４：Ｎｏ）、制御モジュール３４はディスク装置を省電力モードに移行させる処理を実行するためのフラグをＯｎにする（Ｓ２５）。一方、Ｓ２４にて所定値以上であると判定した場合（Ｓ２４：Ｙｅｓ）、制御モジュール３４は処理を終了する。なお、制御モジュール３４がＷｒｉｔｅＢａｃｋ処理の実行を開始するか否かは省電力モードに移行する処理とは別であるため、本実施例では説明を省略する。【００３７】
制御モジュール３４は、ディスクアレイ装置３が有する全てのＬＵＮについて判定をするまで（Ｓ２６：Ｎｏ）、Ｓ２２乃至Ｓ２５の処理を実行する。一方、制御モジュール３４は、ディスクアレイ装置３が有する全てのＬＵＮについて判定をすると（Ｓ２６：Ｙｅｓ）、フラグがＯｎか否かを判定する（Ｓ２７）。フラグがＯｎの場合（Ｓ２７：Ｙｅｓ）、省電力モードに移行する条件を満たすＬＵＮがあるため、制御モジュール３４は省電力モード移行処理を実行する（Ｓ２８）。一方、フラグがＯｆｆの場合（Ｓ２７：Ｎｏ）、省電力モードに移行する条件を満たすＬＵＮは無いため制御モジュール３４は処理を終了する。【００３８】
次に、Ｓ２８でのストレージシステム１での省電力モード切り替え処理について説明する。図７は、省電力モードに移行する移行処理のフローチャートである。【００３９】
制御モジュール３４は、ＬＵＮに対応するＲＡＩＤグループを特定する（Ｓ３１）。【００４０】
一つのＲＡＩＤグループは複数のＬＵＮによってアクセスされる場合がある。そこで、制御モジュール３４は、ＲＡＩＤグループにアクセスする全てのＬＵＮが省電力モードに移行する条件を満たすか否かを判定する（Ｓ３２）。制御モジュール３４は、ＲＡＩＤグループに属する全てのＬＵＮのＷｒｉｔｅ情報６４が閾値を超えているか否かを判定する。ＲＡＩＤグループのＬＵＮが省電力モードを満たさないことは、ＲＡＩＤグループに対して単位時間内に所定値以上のＷｒｉｔｅ命令が実行されていることである。所定値以上のＷｒｉｔｅ命令が実行されているにも関わらす省電力モードに移行すると、キャッシュメモリ３５の記憶領域が圧迫され、ディスクアレイ装置３の動作は不安定になる。【００４１】
全てのＬＵＮが省電力モードに移行する条件を満たさない場合（Ｓ３２：Ｎｏ）、制御モジュール３４は、ＲＡＩＤグループを省電力モードに移行することができない。したがって、制御モジュール３４は処理を終了する。一方、全てのＬＵＮが省電力モードに移行する条件を満たす場合（Ｓ３２：Ｙｅｓ）、制御モジュール３４は、ＲＡＩＤグループを構成するメンバディスクの内、冗長な関係となるディスク装置を特定する（Ｓ３３）。制御モジュール３４は、現在の対象となるＬＵＮからＬＵＮ情報６１を特定する。制御モジュール３４は、ＬＵＮ情報６１からＲＡＩＤグループ情報６２を特定する。制御モジュール３４はＲＡＩＤグループ情報６２からＲＡＩＤグループ５１を特定し、ディスク情報５４を特定する。【００４２】
なお、Ｓ３２において、複数種類の省電力モードを設定することが可能である。省電力モードは、例えば、ディスク装置のモータの回転を停止させる第一の段階、およびディスク装置のモータの回転を停止させ、かつディスク装置の制御基板の電気的な処理も停止させる第二の段階を設定することが可能である。管理者は、第一の段階を満たす条件、及び第二の段階を満たす条件を予め設定する。条件は、例えば、単位時間当たりのＷｒｉｔｅＢａｃｋ処理を要するデータがキャッシュメモリに格納される量によって決定する。この場合、第一の省電力モードの段階に移行するデータ量の閾値は、第二の省電力モードの段階に移行するデータ量の閾値よりも大きくなる。なお、条件は、Ｗｒｉｔｅ  Ｂａｃｋの閾値を固定値（単位データ量）とし、時間の長短によって決定することとしてもよい。この場合、第一の省電力モードの段階に移行する時間の閾値は、第二の省電力モードの段階に移行する時間の閾値よりも短くなる。第二の省電力モードは、第一の省電力モードよりも通常モードに復旧する可能性が低いためである。【００４３】
制御モジュール３４は、ＲＡＩＤグループの全てのＬＵＮが第一の段階の条件を満たす場合に第一の段階の省電力モードに移行する処理を実行し、ＲＡＩＤグループの全てのＬＵＮが第二の段階の条件を満たす場合に第二の段階の省電力モードに移行する処理を実行する。ディスク装置の制御基板の電気的な処理を停止させかつモータの回転を停止させた第二の省電力モードのほうが、モータの回転を停止させるのみの第一の省電力モードよりも省電力効果は高。しかし第二の省電力モードは、ディスク装置が通常モードに復旧するための時間を多く必要とする。複数の段階に省電力モードを分けることにより、省電力効果があがる。【００４４】
例えば、図１のディスク装置格納部３２に格納された各ディスク装置がＲＡＩＤ１＋０の構成であり、以下の関係であるとする。ディスク装置４１とディスク装置４５とがミラーリング１の関係、ディスク装置４２とディスク装置４６とがミラーリング２の関係、ディスク装置４３とディスク装置４７とがミラーリング３の関係、およびディスク装置４４とディスク装置４８とがミラーリング４の関係である。ミラーリング１、ミラーリング２、ミラーリング３、およびミラーリング４がストライピングの関係である。この場合、ディスク装置４１とディスク装置４５、ディスク装置４２とディスク装置４６、ディスク装置４３とディスク装置４７、およびディスク装置４４とディスク装置４８がミラーリングを構成するため冗長な関係である。なお、ミラーリングの関係は、２つのディスク装置で構成するだけでなく、３つ以上のディスク装置で構成される場合もある。【００４５】
制御モジュール３４は、冗長な関係となるディスク装置の片方を省電力モードに移行する（Ｓ３４）。省電力モードに移行するディスク装置はＲＡＩＤの冗長度に応じて定める。ＲＡＩＤの冗長度はＲＡＩＤレベルに応じて固定である。従って制御モジュール３４はＲＡＩＤグループテーブル５０のＲＡＩＤレベル情報５２によって、冗長度を取得する。なお、冗長構成は、ＲＡＩＤグループテーブル５０のミラー情報５３から取得する。また、制御モジュール３４は、例えば、冗長関係の内、省電力モード移行するディスク装置の情報を予め有する。あるいは、制御モジュール３４は、通常モードから省電力モードに移行する度に、省電力モードに移行するディスク装置を切り替えるようにすることも可能である。【００４６】
制御モジュール３４は、ディスク電源制御モジュール３７に省電力モードに移行するディスク装置の情報、および、省電力モードの種類情報を送信する。ディスク電源制御モジュール３７は対象のディスク装置を省電力モードに切り替える。【００４７】
次に、ストレージシステム１での省電力モード時でのＷｒｉｔｅ処理について説明する。
省電力モードのディスク装置はデータの書き込みは実行できない。したがって、制御モジュール３４はＷｒｉｔｅＢａｃｋ処理を実行することは出来ない。そこで、制御モジュール３４は、図５のＳ１１乃至Ｓ１３の処理のみを実行する。Ｓ１４乃至Ｓ１６については、書き込み対象のＲＡＩＤグループのディスク装置が、省電力モードから通常モードに移行した後で、制御モジュール３４がＷｒｉｔｅＢａｃｋ処理を実行する。制御モジュール３４はキャッシュメモリ３５に格納したデータ量をＬＵＮテーブル６０のＬＵＮに対応するレコードのＷｒｉｔｅ情報６４に格納する。【００４８】
次に、ストレージシステム１での省電力モードからの復旧処理について説明する。図８は通常モードに移行する処理のフローチャートである。【００４９】
制御モジュール３４は、予め定めた時間毎に図８の処理を開始する構成としてもよい。あるいは、制御モジュール３４は、Ｗｒｉｔｅ命令の量を記憶し、予め定めたＷｒｉｔｅ命令の量を超えた場合に図８の処理を開始する構成としても良い。時間あるいはＷｒｉｔｅ命令の量は、ストレージシステム１の扱うアプリケーションの種類、キャッシュメモリ３５の領域の大きさによって管理者が定める。【００５０】
制御モジュール３４は、Ｓ４２以下の処理の対象となるＬＵＮを特定する（Ｓ４１）。制御モジュール３４は、ＬＵＮテーブル６０のＷｒｉｔｅ情報６４から、ＬＵＮに対応するキャッシュメモリ３５に格納されたＷｒｉｔｅ  Ｂａｃｋ処理を必要とするデータの量を検出する（Ｓ４２）。制御モジュール３４は、ＬＵＮの対象となるＷｒｉｔｅ  Ｂａｃｋ処理を必要とするデータの量が所定値以上か否かを判定する（Ｓ４３）。データ量が所定値未満の場合（Ｓ４３：Ｎｏ）、省電力モードを維持するため、制御モジュール３４はＳ４６の処理に移行する。一方、データ量が所定値以上の場合（Ｓ４３：Ｎｏ）、制御モジュール３４は、ＬＵＮに対応するディスク装置を通常モードに移行するための処理を実行する。【００５１】
ディスク装置を通常モードに移行するための処理はＳ４４、Ｓ４５である。まず、制御モジュール３４は、省電力モードとなっているディスク装置を特定する（Ｓ４４）。制御モジュール３４は、例えば、ミラー情報５３、および予め設定された省電力モードに移行するディスク装置の情報によって特定する。制御モジュール３４は、Ｓ４５で特定したディスク装置を通常モードに移行する（Ｓ４５）。制御モジュール３４は、ディスク電源制御モジュール３７に対象のディスク装置を通常モードに移行すべき命令を出力する。ディスク電源制御モジュール３７は対象のディスク装置を通常モードに移行させる。【００５２】
次に、制御モジュール３４は、全ＬＵＮに対する処理が完了したか否かを判定する（Ｓ４７）。全ＬＵＮに対する処理が完了するまで（Ｓ４７：Ｎｏ）、制御モジュール３４はＳ４１からの処理を実行する。全ＬＵＮに対する処理が完了すると（Ｓ４７：Ｙｅｓ）、制御モジュール３４は処理を終了する。【００５３】
次に、冗長構成となるディスク装置のいずれかが省電力モードである場合に、制御モジュール３４が動作中のディスク装置の異常を検知した場合の処理について説明する。動作中のディスク装置が故障すると、制御モジュール３４は冗長構成となる他のディスク装置を省電力モードから通常モードに変更する必要がある。【００５４】
図９は、制御モジュール３４がディスク装置の異常を検知した時の処理のフローチャートである。制御モジュール３４は、通常モードで動作中のディスク装置の異常を検知する（Ｓ５１）。制御モジュール３４は、異常なディスク装置を記憶する（Ｓ５２）。制御モジュール３４は、異常を検知したディスク装置と冗長の関係となるディスク装置を特定する（Ｓ５３）。具体的には、制御モジュール３４は、異常を検知したディスク装置とＲＡＩＤグループテーブル５０のミラー情報５３とから冗長の関係となるディスク装置を特定する。制御モジュール３４は、冗長の関係となるディスク装置を起動する（Ｓ５４）。制御モジュール３４は、冗長の関係となるディスク装置からデータを読み出す（Ｓ５５）。以上の処理によって、冗長構成の動作中のディスク装置が異常となっても、ディスクアレイ装置３はデータをホスト２に送信することが可能となる。異常が検知されたディスク装置は、別途交換する。【００５５】
また、異常なディスク装置を検知している場合での、制御モジュール３４が実行する省電力モードに変更する際の処理は以下とする。【００５６】
制御モジュール３４は、省電力モードに移行可能か否かを判定するとき、省電力モードに移行可能なＲＡＩＤグループ内の冗長構成となるディスク装置に異常があるか否かについても判定する。例えば、制御モジュール３４は、図６のフローチャートのＳ２２とＳ２３との間に制御モジュール３４は冗長構成となるディスク装置に異常があるか否かを判定する。図１０は異常なディスク装置がある場合の図６に加える処理のフローチャートである。【００５７】
制御モジュール３４は、図９のＳ５２で記憶した異常なディスク装置の識別番号を読み出す（Ｓ６１）。制御モジュール３４は、図６のＳ２２で特定した処理対象のＬＵＮに対応するＲＡＩＤグループを構成するディスク装置の識別番号は、Ｓ６１の異常なディスク装置に存在するか否かを判定する（Ｓ６２）。【００５８】
ＲＡＩＤグループのディスク装置に異常がない場合に（Ｓ６２：Ｎｏ）、制御モジュール３４は、図６のＳ２３以下の他の省電力モードへの移行条件を満たすか否かを判定する。一方、ＲＡＩＤグループのディスク装置に異常がある場合に（Ｓ６２：Ｙｅｓ）、制御モジュール３４は省電力モードには移行しないことを決定する（Ｓ６３）。制御モジュール３４は、異常なディスク装置とミラーリングの関係となるディスク装置群をミラー情報５３で特定し、記憶する。【００５９】
また、ＲＡＩＤグループ内の冗長構成となるディスク装置に異常があるときの制御モジュール３４が実行する省電力モードに移行する処理は以下となる。制御モジュール３４は、図７のフローチャートのＳ３３とＳ３４の代わりに以下の処理を実行する。図１１は異常なディスク装置がある場合の図７を変更した処理のフローチャートである。【００６０】
図７のＳ３２でＲＡＩＤグループの全てのＬＵＮが省電力モードに移行する条件を満たすとき（Ｓ３２：Ｙｅｓ）、制御モジュール３４は、処理の対象のＲＡＩＤグループ内に対応するミラー情報を検索する（Ｓ７１）。制御モジュール３４は、対象のＲＡＩＤグループ情報５１のミラー情報５３と図１０のＳ６３で記憶したミラー情報とを比較する（Ｓ７２）。【００６１】
対象のＲＡＩＤグループが異常なディスク装置を含むミラー情報を含む場合（Ｓ７２：Ｙｅｓ）、制御モジュール３４は検出したミラー情報に含まれるディスク装置以外の冗長構成の片方のディスク装置を省電力モードに移行する（Ｓ７３）。一方、対象のＲＡＩＤグループが異常なディスク装置を含むミラー情報を含まない場合（Ｓ７２：Ｎｏ）、制御モジュール３４は冗長構成の片方のディスク装置を省電力モードに移行する（Ｓ７４）。【００６２】
以上によって、ディスクアレイ装置３は、異常なディスク装置がある場合に、異常なディスク装置を除いたディスク装置のみを対象として省電力モードに移行することが可能となる。なお、異常が検知されたディスク装置について、例えばディスク装置の交換によって、異常が解消されると、制御モジュール３４はＳ５２で記憶した異常なディスク装置のＩＤ情報、およびＳ６３の異常なディスク装置のミラー情報を更新する。【００６３】
以上により、ディスクアレイ装置３は、ディスクアレイ装置３内のアクセスがある各ディスク装置についても適切に省電力モードに移行することが可能となる。【００６４】
本実施例では、それぞれのＬＵＮが省電力モードに移行するための条件を満たすか否かについて、制御モジュール３４が毎回判定する。しかし、例えば、テーブルに各ＬＵＮの省電力モードの状態情報、省電力モードに移行することが可能か否かを示す情報を格納することも可能である。なお、制御モジュール３４が毎回判定することにより、各ＬＵＮの省電力モードの状態情報、省電力モードに移行することが可能か否かを示す情報を格納するための記憶領域を設定する必要がない。【００６５】
以上により、ディスク装置に格納されたデータの読出す処理が多く、ディスク装置にデータを書き込む処理が少ない用途のサーバで省電力の効果が大きい。ディスク装置に格納されたデータの読出す処理が多く、ディスク装置にデータを書き込む処理が少ない用途のサーバの例は、映像配信サーバ、音楽配信サーバなどのコンテンツを配信するサーバである。
【産業上の利用可能性】
【００６６】
本発明は、ホスト装置からの命令により、データの読出しおよび書込みを実行するディスクアレイ装置に利用可能である。
【図１】
2009008084.tif 000003
【図２】
2009008084.tif 000004
【図３】
2009008084.tif 000005
【図４】
2009008084.tif 000006
【図５】
2009008084.tif 000007
【図６】
2009008084.tif 000008
【図７】
2009008084.tif 000009
【図８】
2009008084.tif 000010
【図９】
2009008084.tif 000011
【図１０】
2009008084.tif 000012
【図１１】
2009008084.tif 000013
【国際調査報告】
2009008084.tif 000014
2009008084.tif 000015
2009008084.tif 000016
2009008084.tif 000017