(57)【要約】【課題】ＮＡＳ分野のストレージシステムのみならずＮＡＳ分野以外のストレージシステムにおいても物理記憶デバイスの省電力状態を解除する頻度を減らす。【解決手段】ストレージシステムのコントローラが、プールの一以上のプール領域に、論理記憶デバイスの一部の論理領域を対応付ける。一部の論理領域のうちのいずれのＩ／Ｏ（Input/Output）の頻度も、その論理記憶デバイスの残りの論理領域のＩ／Ｏ頻度よりも高い。コントローラは、Ｉ／Ｏのとき、論理記憶デバイスの基になっている第１の物理記憶デバイス群が省電力状態になっていれば、その省電力状態を解除することなく、Ｉ／Ｏ先の論理領域に対応するプール領域に対してデータ要素のＩ／Ｏを行う。【選択図】図１
2011107857.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理記憶デバイス群と、
前記複数の物理記憶デバイス群に接続されているコントローラと
を有し、
各物理記憶デバイス群が、一以上の物理記憶デバイスで構成されており、
前記複数の物理記憶デバイス群が、第１及び第２の物理記憶デバイス群を含み、
前記第１の物理記憶デバイス群が、前記論理記憶デバイスの論理領域に格納されるデータ要素を記憶し、第１の時間帯に省電力状態とされ得る一以上の第１の物理記憶デバイスで構成されており、
前記第２の物理記憶デバイス群が、複数のプール領域で構成されたプールのプール領域に格納されるデータ要素を記憶し、少なくとも一つの第１の物理記憶デバイスが省電力状態とされている間には省電力状態とされない一以上の第２の物理記憶デバイスで構成されており、
前記プールの一以上のプール領域が、前記複数の論理領域の一部の論理領域に対応しており、
前記一部の論理領域のいずれの論理領域のＩ／Ｏ（Input/Output）の頻度が、前記複数の論理領域の前記一部の論理領域以外のいずれの論理領域のＩ／Ｏ頻度よりも高く、
前記第１の時間帯において、前記コントローラは、
（Ｘ１）Ｉ／Ｏのときに、Ｉ／Ｏ先の論理領域に対応するプール領域が前記プールに存在するか否かを判断し、
（Ｘ２）前記（Ｘ１）での判断の結果が否定的であって、前記第１の物理記憶デバイス群が省電力状態の場合、前記第１の物理記憶デバイス群の省電力状態を解除し、前記Ｉ／Ｏ先の論理領域に対してデータ要素のＩ／Ｏを行い、
（Ｘ３）前記（Ｘ１）での判断の結果が肯定的の場合、前記第１の物理記憶デバイス群の省電力状態を解除することなく、前記Ｉ／Ｏ先の論理領域に対応するプール領域に対してデータ要素のＩ／Ｏを行い、
（Ｘ４）前記（Ｘ２）の後、前記第１の物理記憶デバイス群を省電力状態にさせる、
ストレージシステム。
【請求項２】
請求項１記載のストレージシステムであって、
前記第１の時間帯よりも過去の時間帯である第２の時間帯において、前記第１の物理記憶デバイス群が非省電力状態であり、
前記第２の時間帯において、前記コントローラが、論理領域毎にＩ／Ｏの頻度を計測し、
前記コントローラは、前記第１の時間帯の開始前に、
（Ｍ１）前記一部の論理領域として、前記第２の時間帯におけるＩ／Ｏ頻度が所定のＩ／Ｏ頻度よりも高い論理領域を特定し、
（Ｍ２）前記（Ｍ１）で特定した一部の論理領域から前記プールにデータ要素をコピーし、
（Ｍ３）前記（Ｍ２）の後、前記第１の物理記憶デバイス群を省電力状態にさせる、
ストレージシステム。
【請求項３】
請求項２記載のストレージシステムであって、
複数の論理記憶デバイスの基になる複数の第１の物理記憶デバイス群があり、
前記コントローラは、以下の（Ｍ０）を行い、
（Ｍ０）各論理記憶デバイスの各論理領域について計測したＩ／Ｏ頻度を基に、前記第２の時間帯におけるＩ／Ｏ頻度が所定の閾値以下である第１の物理記憶デバイス群、又は、前記第２の時間帯において第１の物理記憶デバイス群の容量に対してＩ／Ｏが行われた論理領域の総量が所定の割合以下である第１の物理記憶デバイス群を特定する、
前記コントローラは、前記（Ｍ０）で特定された第１の物理記憶デバイス群について、前記（Ｍ１）、（Ｍ２）及び（Ｍ３）を行う、
ストレージシステム。
【請求項４】
請求項３記載のストレージシステムであって、
前記コントローラは、プール領域毎に、プール領域に対応する論理領域とその対応する論理領域に無いデータ要素である更新データ要素が有るか否かとを表す情報である更新管理情報を管理しており、
前記Ｉ／Ｏがライトであり、前記コントローラは、前記（Ｘ３）において、前記対応するプール領域にライト対象のデータ要素を格納し、且つ、そのプール領域に更新データ要素が存在することを表す情報に前記更新管理情報を更新し、
前記Ｉ／Ｏがライトであり、前記コントローラは、前記（Ｘ２）において、空きのプール領域にライト対象のデータ要素を格納し、且つ、そのプール領域に更新データ要素が存在することを表す情報に前記更新管理情報を更新し、
前記コントローラは、前記プールに更新データ要素が増える頻度よりも低い頻度で、更新データ要素を記憶するプール領域に対応した論理領域を有する論理記憶デバイスの基になっている第１の物理記憶デバイス群の省電力状態を解除し、且つ、前記プールに格納されている複数のデータ要素のうち更新データ要素のみを、その更新データ要素を記憶するプール領域に対応した論理領域を有する論理記憶デバイスにコピーする、
ストレージシステム。
【請求項５】
請求項４記載のストレージシステムであって、
前記Ｉ／Ｏがライトであり、前記コントローラは、前記（Ｘ３）において、空きのプール領域があるか否かを判断し、その判断の結果が肯定的の場合に、空きのプール領域に前記ライト対象のデータ要素を書き込み、
前記プールに更新データ要素が増える頻度よりも低い頻度とは、前記（Ｘ３）での判断の結果が否定的になったときである、
ストレージシステム。
【請求項６】
請求項５記載のストレージシステムであって、
前記Ｉ／Ｏがリードであり、前記コントローラが、前記（Ｘ２）において、空きのプール領域があるか否かを判断し、その判断の結果が肯定的の場合に、前記リード元の論理領域から読み出したデータ要素を空きのプール領域に格納し、
前記プールに更新データ要素が増える頻度よりも低い頻度とは、前記（Ｘ２）での判断の結果が否定的になったときである、
ストレージシステム。
【請求項７】
請求項１記載のストレージシステムであって、
前記第１の時間帯よりも過去の時間帯である第２の時間帯において、前記第１の物理記憶デバイス群が非省電力状態であり、
複数の論理記憶デバイスの基になる複数の第１の物理記憶デバイス群があり、
前記第２の時間帯において、前記コントローラが、論理領域毎にＩ／Ｏの頻度を計測し、
前記複数の第１の物理記憶デバイス群のうち前記第１の時間帯において省電力状態とされ得る第１の物理記憶デバイス群は、前記第２の時間帯におけるＩ／Ｏ頻度が所定の閾値以下である第１の物理記憶デバイス群、又は、前記第２の時間帯において第１の物理記憶デバイス群の容量に対してＩ／Ｏが行われた論理領域の総容量が所定の割合以下である第１の物理記憶デバイス群である、
ストレージシステム。
【請求項８】
請求項１記載のストレージシステムであって、
前記コントローラは、プール領域毎に、プール領域に対応する論理領域とその対応する論理領域に無いデータ要素である更新データ要素が有るか否かとを表す情報である更新管理情報を管理しており、
前記Ｉ／Ｏがライトであり、前記コントローラは、前記（Ｘ３）において、前記対応するプール領域にライト対象のデータ要素を格納し、且つ、そのプール領域に更新データ要素が存在することを表す情報に前記更新管理情報を更新し、
前記Ｉ／Ｏがライトであり、前記コントローラは、前記（Ｘ２）において、空きのプール領域にライト対象のデータ要素を格納し、且つ、そのプール領域に更新データ要素が存在することを表す情報に前記更新管理情報を更新し、
前記コントローラは、前記プールに更新データ要素が増える頻度よりも低い頻度で、更新データ要素を記憶するプール領域に対応した論理領域を有する論理記憶デバイスの基になっている第１の物理記憶デバイス群の省電力状態を解除し、且つ、前記プールに格納されている複数のデータ要素のうち更新データ要素のみを、その更新データ要素を記憶するプール領域に対応した論理領域を有する論理記憶デバイスにコピーする、
ストレージシステム。
【請求項９】
請求項８記載のストレージシステムであって、
前記プールに更新データ要素が増える頻度よりも低い頻度とは、前記プールの容量に対する空きプール領域の総量の割合が所定の割合未満になったときである、
ストレージシステム。
【請求項１０】
請求項１記載のストレージシステムであって、
前記第２の物理記憶デバイスは、所定サイズのデータ要素群を前記第１の物理記憶デバイスよりも少ない消費電力で記憶する物理記憶デバイスであり、
前記データ要素群は一以上のデータ要素である、
ストレージシステム。
【請求項１１】
請求項１記載のストレージシステムであって、
前記第２の物理記憶デバイスは、ＳＳＤ（Solid State Drive）又はＳＡＴＡ（Serial ATA）−ＨＤＤ（Hard Disk Drive）である、
ストレージシステム。
【請求項１２】
請求項７記載のストレージシステムであって、
前記第２の時間帯は、前記第１の時間帯の期間と同じ期間である、
ストレージシステム。
【請求項１３】
複数の物理記憶デバイス群を有するストレージシステムの省電力方法であって、
各物理記憶デバイス群が、一以上の物理記憶デバイスで構成されており、
前記複数の物理記憶デバイス群が、第１及び第２の物理記憶デバイス群を含み、
前記第１の物理記憶デバイス群が、一以上の第１の物理記憶デバイスで構成されており、複数の論理領域で構成された論理記憶デバイスの論理領域に格納されるデータ要素を記憶し、
前記第２の物理記憶デバイス群が、一以上の第２の物理記憶デバイスで構成されており、複数のプール領域で構成されたプールのプール領域に格納されるデータ要素を記憶し、
前記省電力方法が、
（ａ）前記プールの一以上のプール領域に、前記複数の論理領域の一部の論理領域を対応付け、前記一部の論理領域のいずれの論理領域のＩ／Ｏ（Input/Output）の頻度が、前記複数の論理領域の前記一部の論理領域以外のいずれの論理領域のＩ／Ｏ頻度よりも高く、
（ｂ）第１の時間帯に、前記第１の物理記憶デバイス群を省電力状態とし、
（ｃ）Ｉ／Ｏ先の論理領域に対応するプール領域が前記プールに存在するか否かを判断し、
（ｄ）前記（ｃ）での判断の結果が否定的であり、前記第１の物理記憶デバイスが省電力状態の場合、前記第１の物理記憶デバイス群の省電力状態を解除し、前記Ｉ／Ｏ先の論理領域に対してデータ要素のＩ／Ｏを行い、
（ｅ）前記（ｄ）での判断の結果が肯定的の場合、前記第１の物理記憶デバイス群の省電力状態を解除することなく、前記Ｉ／Ｏ先の論理領域に対応するプール領域に対してデータ要素のＩ／Ｏを行い、
（ｆ）前記（ｄ）の後、前記第１の物理記憶デバイス群を省電力状態にさせる、
省電力方法。
【請求項１４】
複数の物理記憶デバイス群を有するストレージシステムのコントローラであって、
各物理記憶デバイス群が、一以上の物理記憶デバイスで構成されており、
前記複数の物理記憶デバイス群が、第１及び第２の物理記憶デバイス群を含み、
前記第１の物理記憶デバイス群が、一以上の第１の物理記憶デバイスで構成されており、複数の論理領域で構成された論理記憶デバイスの論理領域に格納されるデータ要素を記憶し、
前記第２の物理記憶デバイス群が、一以上の第２の物理記憶デバイスで構成されており、複数のプール領域で構成されたプールのプール領域に格納されるデータ要素を記憶し、
前記コントローラが、
複数の物理記憶デバイス群に接続されたインタフェースデバイスと、
前記インタフェースデバイスに接続された制御デバイスと
を有し、
前記制御デバイスが、
（ａ）前記プールの一以上のプール領域に、前記複数の論理領域の一部の論理領域を対応付け、前記一部の論理領域のいずれの論理領域のＩ／Ｏ（Input/Output）の頻度が、前記複数の論理領域の前記一部の論理領域以外のいずれの論理領域のＩ／Ｏ頻度よりも高く、
（ｂ）第１の時間帯に、前記第１の物理記憶デバイス群を省電力状態とし、
（ｃ）Ｉ／Ｏ先の論理領域に対応するプール領域が前記プールに存在するか否かを判断し、
（ｄ）前記（ｃ）での判断の結果が否定的であり、前記第１の物理記憶デバイスが省電力状態の場合、前記第１の物理記憶デバイス群の省電力状態を解除し、前記Ｉ／Ｏ先の論理領域に対してデータ要素のＩ／Ｏを行い、
（ｅ）前記（ｄ）での判断の結果が肯定的の場合、前記第１の物理記憶デバイス群の省電力状態を解除することなく、前記Ｉ／Ｏ先の論理領域に対応するプール領域に対してデータ要素のＩ／Ｏを行い、
（ｆ）前記（ｄ）の後、前記第１の物理記憶デバイス群を省電力状態にさせる、
コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムの省電力に関する。
【背景技術】
【０００２】
ストレージシステムの省電力に関する技術として、例えば、特許文献１及び２に開示されている技術が知られている。
【０００３】
特許文献１には、複数の磁気ディスク装置を有するストレージシステムが開示されている。そのストレージシステムは、複数の磁気ディスク装置のうち、一定の時間帯アクセスの無い磁気ディスク装置内の磁気ディスクをスピンダウンさせる。
【０００４】
特許文献２には、ＮＡＳ（Network Attached Storage）分野での階層ストレージシステムが開示されている。階層ストレージシステムは、ファイルサーバに接続された第１階層ストレージ装置と、第１階層ストレージ装置に接続された第２階層ストレージ装置とを有する。第２階層ストレージ装置は、ハードディスクと、ハードディスクに基づく第２のボリュームとを有する。第１階層ストレージ装置は、ハードディスクと、ハードディスクに基づく第１のボリュームと、第２のボリュームを仮想化したボリューム（仮想ボリューム）とを有する。ファイルサーバは、仮想ボリュームを第２のディレクトリとしてマウントし、第１のボリュームを第１のディレクトリとしてマウントし、第２のディレクトリ内のファイルを第１のディレクトリへコピーする。これにより、第２のディレクトリ内のファイル（第２階層ストレージ装置内のファイル）を第２階層ストレージ装置にアクセスすることなく第１階層ストレージ装置から取得することができる。第２階層ストレージ装置が有するハードディスクのうち、アクセスされないファイルを格納しているハードディスクの電源が、ＯＦＦにされる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２９３３１４号公報
【特許文献２】特開２００８−２９３１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１によれば、上位装置からのアクセスを契機に磁気ディスク装置をスピンアップさせる必要がある。このため、上位装置から頻繁にアクセスがあると、頻繁に磁気ディスク装置をスピンアップさせることになり、十分な節電効果を得ることができない。
【０００７】
特許文献２によれば、ファイルサーバから頻繁にアクセスがあっても、アクセス対象のファイルによっては第２階層ストレージ装置にアクセスしなくても良いので、アクセスの都度のスピンアップを生じさせないようにすることができる。しかし、特許文献２の技術を、ＮＡＳ分野以外のストレージシステムに適用することは難しい。
【０００８】
以上の問題は、ストレージシステムが磁気ディスク装置以外の物理記憶デバイスを有する場合にもあり得る。
【０００９】
そこで、本発明の目的は、ＮＡＳ分野のストレージシステムのみならずＮＡＳ分野以外のストレージシステムにおいても物理記憶デバイスの省電力状態を解除する頻度を減らすことにある。
【課題を解決するための手段】
【００１０】
ストレージシステムのコントローラが、プールの一以上のプール領域に、論理記憶デバイスの一部の論理領域を対応付ける。一部の論理領域のうちのいずれのＩ／Ｏ（Input/Output）の頻度も、その論理記憶デバイスの残りの論理領域のＩ／Ｏ頻度よりも高い。コントローラは、Ｉ／Ｏのとき、Ｉ／Ｏ先の論理領域に対応するプール領域がプールに存在していれば、論理記憶デバイスの基になっている第１の物理記憶デバイス群が省電力状態になっていても、その省電力状態を解除することなく、Ｉ／Ｏ先の論理領域に対応するプール領域に対してデータ要素のＩ／Ｏを行う。具体的には、例えば、論理領域に対応付けられているプール領域には、その論理領域に格納されているデータ要素と同じデータ要素が格納されているため、Ｉ／Ｏがリードであれば、コントローラは、リード元の論理領域に格納されているデータ要素と同じデータ要素を、リード元の論理領域に対応付けられているプール領域から読み出す。一方、Ｉ／Ｏがライトであれば、コントローラは、ライト先の論理領域に対応付けられているプール領域に、ライト対象のデータ要素を格納する。
【００１１】
ストレージシステムは、第１及び第２の物理記憶デバイス群を含んだ複数の物理記憶デバイス群を有する。各物理記憶デバイス群は、一以上の物理記憶デバイスで構成されている。物理記憶デバイスは、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）など、どのような記憶デバイス（典型的には不揮発性の記憶デバイス）でも良い。第２の物理記憶デバイス群は、プールの基になる物理記憶デバイス群であるが、第２の物理記憶デバイス群を構成する第２の物理記憶デバイスは、所定サイズのデータ要素群を第１の物理記憶デバイスよりも少ない消費電力で記憶する物理記憶デバイスであることが好ましい。具体的には、例えば、第１の物理記憶デバイスがＨＤＤであり、第２の物理記憶デバイスは、ＳＳＤである。
【００１２】
物理記憶デバイス群は、複数の物理記憶デバイスで構成されたＲＡＩＤグループであっても良いし、複数の物理記憶デバイスを有するストレージ装置（例えばディスクアレイ装置）であっても良いし、物理記憶デバイス単体であっても良い。また、コントローラは、ストレージ装置に搭載される制御装置であっても良いし、ストレージ装置にＩ／Ｏコマンドを送信する上位装置であっても良いし、下位階層のストレージ装置に接続されている上位階層のストレージ装置（例えば上位装置に接続されたストレージ装置（最上位のストレージ装置））であっても良い。
【００１３】
また、「論理領域に対応するプール領域」とは、論理領域に対するプール領域の対応付けが、直接的であるか間接的であるかに関わらない。直接的な対応付けの例として、論理領域に対するプール領域の対応付けがある。間接的な対応付けの例としては、仮想記憶デバイス（仮想的な論理記憶デバイス）が有する複数の仮想領域（仮想的な記憶領域）のうちの一つの仮想領域に対する論理領域とプール領域の両方の対応付けがある。この場合、Ｉ／Ｏ先の仮想領域が特定され、そのＩ／Ｏ先の仮想領域にプール領域が対応付けられているか否かが判断されて良い。仮想領域にプール領域が対応付けられているとは、論理領域に仮想領域を通じてプール領域が対応付けられているということである。仮想記憶デバイスは、論理記憶デバイスの容量と同じ容量を有するデバイスであっても良いし、論理記憶デバイスの容量と異なる容量を有するデバイス（例えば、Thin Provisioning技術に従う仮想的な論理ボリューム）であっても良い。
【発明の効果】
【００１４】
本発明によれば、ＮＡＳ分野のストレージシステムのみならずＮＡＳ分野以外のストレージシステムにおいても、物理記憶デバイスの省電力状態を解除する頻度を減らすことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例１に係るストレージシステムが適用されたディスクアレイ装置を有する計算機システムを示す。
【図２】共有メモリ００４が記憶する情報及びコンピュータプログラムを示す。
【図３】ディスクアレイ装置０１０が提供する記憶デバイスの関係を示す。
【図４】ＲＡＩＤグループ構成情報０１３の構成を示す。
【図５】ＬＵ（プール）構成情報０１４の構成を示す。
【図６】Ｉ／Ｏ監視情報０１５の構成を示す。
【図７】退避関係情報０１６の構成を示す。
【図８】Ｉ／Ｏコマンド処理のフローチャートである。
【図９】スピンダウン処理のフローチャートである。
【図１０】スピンアップ処理のフローチャートである。
【図１１】Ｉ／Ｏ先ＲＡＩＤグループの各ＰＤＥＶが省電力状態の場合に行われるＩ／Ｏ処理のフローチャートである。
【図１２】Ｉ／Ｏ範囲指定画面０４１とＩ／Ｏ範囲情報画面０４６とを示す。
【図１３】スピンダウン指示画面０４８を示す。
【図１４】各フェーズでの各ＰＤＥＶの状態を示す。
【図１５】プール−ＬＤＥＶがＨＤＤの場合とＳＳＤの場合での移行中フェーズの長さの違いを示す。
【図１６】本発明の実施例２に係るストレージシステムが適用された計算機システムを示す。
【図１７】本発明の実施例２での、データ要素の退避と、データ要素のＩ／Ｏとを示す。
【図１８】本発明の実施例３に係るストレージシステムが適用されたディスクアレイ装置群を有する計算機システムを示す。
【図１９】本発明の実施例３での、データ要素の退避と、データ要素のＩ／Ｏとを示す。
【図２０】本発明の実施例４に係るスピンダウン対象決定処理のフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の幾つかの実施形態を説明する。なお、以下の説明において、プログラムによって行われる処理は、実際にはそのプログラムを実行する制御部（典型的にはＣＰＵ（Central Processing Unit））によって行われる。
【実施例１】
【００１７】
図１は、本発明の実施例１に係るストレージシステムが適用されたディスクアレイ装置を有する計算機システムを示す。
【００１８】
ＳＡＮ（Storage Area Network）００２に、上位装置００１及びディスクアレイ装置０１０が接続されている。
【００１９】
上位装置００１は、ディスクアレイ装置０１０の外部の装置であり、例えば、ホスト計算機、或いは、ディスクアレイ装置０１０とは別のディスクアレイ装置である。上位装置００１は、Ｉ／Ｏコマンド（ライトコマンド又はリードコマンド）をディスクアレイ装置０１０に送信することで、ディスクアレイ装置０１０に対してデータの読み書きを行う。
【００２０】
ディスクアレイ装置０１０は、上位装置からＩ／Ｏコマンドを受け付ける制御装置と、制御装置に接続されている複数の物理記憶デバイス（ＰＤＥＶ（Physical DEVice））００９とを有する。
【００２１】
複数のＰＤＥＶ００９により、後述するように、複数のＲＡＩＤグループが構成されている。ＲＡＩＤグループには、ＲＡＩＤ技術に従ってデータが格納される。複数のＲＡＩＤグループには、後述するように、ＨＤＤで構成されているＲＡＩＤグループと、ＳＳＤで構成されているＲＡＩＤグループとがある。一般に、ＳＳＤは、ＨＤＤより少ない消費電力で、所定サイズのデータを記憶することができる。
【００２２】
制御装置は、上位装置からのＩ／Ｏコマンドに応答して、ＰＤＥＶ００９に対するデータのＩ／Ｏを行う。制御装置は、ホストＩ／Ｆ００３と、共有メモリ００４と、キャッシュメモリ００５と、ディスク制御部００８と、接続部００６と、制御部００７とを有する。
【００２３】
ホストＩ／Ｆ００３は、上位装置００１に対するインタフェース装置である。ホストＩ／Ｆ００３が、上位装置００１からＩ／Ｏコマンドを受信する。
【００２４】
共有メモリ００４は、制御部００７から参照される情報と、制御部００７によって実行されるコンピュータプログラムとを記憶する。
【００２５】
キャッシュメモリ００５は、ＰＤＥＶ００９と上位装置００１との間でやり取りされるデータを一時的に記憶する。
【００２６】
ディスク制御部００８は、ＰＤＥＶ００９に対するインタフェース装置である。ディスク制御部００８は、ＰＤＥＶ００９にデータを書き込んだり、ＰＤＥＶ００９からデータを読み出したりする。
【００２７】
制御部００７は、ホストＩ／Ｆ００３が受信したＩ／Ｏコマンドを処理したり、ＨＤＤの電力消費状態を制御したりする。
【００２８】
接続部００６に、キャッシュメモリ００５、ホストＩ／Ｆ００３、共有メモリ００４、ディスク制御部００８及び制御部００７が接続されている。接続部００６は、例えばスイッチであり、接続部００６に接続されているデバイス同士を通信可能に接続する。
【００２９】
ディスクアレイ装置０１０に、管理装置１００が接続されている。管理装置１００は、例えば計算機である。ユーザは、管理装置１００を利用して、ディスクアレイ装置０１０に所望の情報を設定することができる。その情報は、例えば共有メモリ００４に設定される。
【００３０】
図２は、共有メモリ００４が記憶する情報及びコンピュータプログラムを示す。
【００３１】
共有メモリ００４が記憶するコンピュータプログラムとして、Ｉ／Ｏコマンドを処理するためのプログラムであるＩ／Ｏ処理プログラム０１１と、ＨＤＤの電力消費状態を制御するためのプログラムである電源制御プログラム０１２とがある。共有メモリ００４が記憶する情報として、ＲＡＩＤグループの構成に関する情報であるＲＡＩＤグループ構成情報０１３と、ＬＵ（Logical Unit）及びプールの構成に関する情報であるＬＵ（プール）構成情報０１４と、Ｉ／Ｏの監視結果を表す情報であるＩ／Ｏ監視情報０１５と、ＬＵの論理領域（退避元領域）とプールのプール領域（退避先領域）との対応関係に関する情報である退避関係情報０１６とがある。
【００３２】
図３は、ディスクアレイ装置０１０が提供する記憶デバイスの関係を示す。
【００３３】
記憶デバイスとして、仮想ＬＵ０１７、ＬＵ０１９、プール０１８、ＨＤＤ０２４及びＳＳＤ０２３がある。
【００３４】
仮想ＬＵ０１７は、上位装置００１に認識される仮想的なＬＵであり、図示しない複数の仮想領域（仮想的な記憶領域（ブロック））で構成されている。上位装置００１は、Ｉ／Ｏ先を表す情報（以下、Ｉ／Ｏ先情報）を含んだＩ／Ｏコマンドをディスクアレイ装置０１０に送信するが、Ｉ／Ｏ先情報は、例えば、仮想ＬＵ０１７のＩＤ（例えばＬＵＮ（Logical Unit Number））と仮想領域のアドレス（例えばＬＢＡ（Logical Block Address））とを含む。つまり、Ｉ／Ｏコマンドは、ブロックレベルのＩ／Ｏコマンドであって良い。仮想ＬＵ０１７には、ＬＵ０１９とプール０１８が関連付けられており、仮想領域に対するデータ要素のライトとして、ＬＵ０１９を構成する複数の論理領域（論理的な記憶領域）０２１のうちのいずれかに対するライト、又は、プール０１８を構成する複数のプール領域（論理的な記憶領域）０２０のうちのいずれかに対するライトが行われる。従って、仮想ＬＵ０１７に格納されていると上位装置００１から認識される複数のデータ要素は、ＬＵ０１９に格納されているデータ要素とプール０１８に格納されているデータ要素との集合となることがある。なお、本実施例で言う「データ要素」とは、仮想領域、論理領域及びプール領域に格納されるデータのことである。また、一つの仮想ＬＵ０１７に複数のＬＵ０１９及び／又は複数のプール０１８が関連付けられていてもよい。また、図３の例によれば、ＬＵ０１９とプール０１８は、多対１で対応しているが（複数のＬＵ０１９に一つのプール０１８が対応付けられているが）、それに代えて、１対１或いは１対多で対応してもよい。
【００３５】
ＬＵ０１９は、論理的な記憶デバイスであり、複数のＨＤＤ０２４で構成されているＲＡＩＤグループ（以下、ＨＤＤグループ）の記憶空間の一部又は全部である。ＬＵ０１９は、ＨＤＤグループを構成する二以上のＨＤＤ０２４に跨っている。なお、ＬＵ０１９の基になるＰＤＥＶとして、ＨＤＤ以外のＰＤＥＶ、例えばＳＳＤが採用されてもよい。
【００３６】
プール０１８は、ＬＵ０１９同様の論理的な記憶デバイス（例えばＬＵの一種）であり、複数のＳＳＤ０２３で構成されているＲＡＩＤグループ（以下、ＳＳＤグループ）の記憶空間の一部又は全部である。プール０１８は、ＳＳＤグループを構成する二以上のＳＳＤ０２３に跨っている。なお、プール０１８の基になるＰＤＥＶとして、ＳＳＤ以外のＰＤＥＶ、例えばＨＤＤが採用されても良い。しかし、プール０１８の基になるＰＤＥＶとしては、ＬＵ０１９の基になるＰＤＥＶよりも消費電力の少ないＰＤＥＶ（具体的には、同じサイズのデータをより少ない消費電力で保存できるＰＤＥＶ）であることが好ましい。
【００３７】
ＨＤＤ０２４及びＳＳＤ０２３は、ＰＤＥＶの一種である。ＨＤＤ０２４は、ディスクアレイ装置０１０の稼働中に省電力状態とされることがある。ＨＤＤ０２４の省電力状態とは、ディスクの回転速度が低速又はゼロの状態のことである。ＨＤＤ０２４の省電力状態が解除されると（つまり、ＨＤＤ０２４のディスクのスピンアップが開始されると）、やがて、ＨＤＤ０２４は非省電力状態（稼働状態）となる。ＨＤＤ０２４の非省電力状態とは、ディスクの回転速度が、Ｉ／Ｏが可能な程度に高速であることである。ＨＤＤ０２４の省電力状態／非省電力状態の切り替えは、ＨＤＤグループ単位で行われる。ＨＤＤグループ単位とは、一例として、ＲＡＩＤグループ単位が挙げられる。なお、ＬＵ０１９の基になるＰＤＥＶがＨＤＤ以外のＰＤＥＶの場合、省電力状態とは、電源ＯＦＦの状態であって、非省電力状態とは、電源ＯＮの状態であってもよい。
【００３８】
プール０１８の一以上のプール領域０２０に、ＬＵ０１９の一部の論理領域０２１が対応付けられている。具体的には、例えば、図３に示すように、ＬＵ０１９内の一部の論理領域０２１内のデータ要素が一以上のプール０２０にコピーされる。
【００３９】
Ｉ／Ｏ処理プログラム０１１（図２参照）は、仮想ＬＵ０１７の仮想領域に対するＩ／Ｏコマンドを受けた場合、以下の（Ｃ１）〜（Ｃ６）の処理を行う。
（Ｃ１）仮想ＬＵ０１７に関連付けられているＬＵ０１９が省電力状態（具体的には、そのＬＵ０１９の基になっているＨＤＤグループが省電力状態）であるか否かを判断する。
（Ｃ２）上記（Ｃ１）の判断の結果が否定的の場合、Ｉ／ＯコマンドのＩ／Ｏ先情報から特定される仮想領域（Ｉ／Ｏ先の仮想領域）に対応する論理領域（ＬＵ０１９内の論理領域）に対してデータ要素のＩ／Ｏを行う。
（Ｃ３）上記（Ｃ１）の判断の結果が肯定的の場合、Ｉ／Ｏ先の仮想領域に対応する論理領域に対応付けられているプール領域が存在するか否かを判断する。
（Ｃ４）上記（Ｃ３）での判断の結果が否定的の場合、ＬＵ０１９の基になっているＨＤＤグループ（各ＨＤＤ０２４）の省電力状態を解除し、Ｉ／Ｏ先の仮想領域に対応する論理領域に対してデータ要素のＩ／Ｏを行う。
（Ｃ５）上記（Ｃ３）での判断の結果が肯定的の場合、ＬＵ０１９の基になっているＨＤＤグループの省電力状態を解除することなく、Ｉ／Ｏ先の論理領域に対応するプール領域に対してデータ要素のＩ／Ｏを行う。
（Ｃ６）上記（Ｃ４）の後、ＬＵ０の基になっているＨＤＤグループを省電力状態にさせる。
【００４０】
Ｉ／Ｏ処理プログラム０１１は、ＨＤＤグループ（ＲＡＩＤグループ）を構成する各ＨＤＤを省電力状態にしたりその省電力状態を解除したりするために、電源制御プログラム０１２を呼び出す。呼び出された電源制御プログラム０１２が、ＨＤＤグループを構成する各ＨＤＤを省電力状態にしたりその省電力状態を解除したりする。
【００４１】
Ｉ／Ｏ処理プログラム０１１は、上記（Ｃ３）の後直ちに上記（Ｃ６）を行ってもよいし（（Ｃ３）の都度に（Ｃ６）を行ってもよいし）、上記（Ｃ３）をＮ回（Ｎは２以上の整数）行った場合に上記（Ｃ６）を１回行ってもよいし、ＨＤＤグループに対してＩ／Ｏが最後に発生してから一定時間経ってもそのＨＤＤグループに対してＩ／Ｏが発生しない場合に上記（Ｃ６）を行ってもよい。
【００４２】
図４は、ＲＡＩＤグループ構成情報０１３の構成を示す。
【００４３】
ＲＡＩＤグループ構成情報０１３は、ＲＡＩＤグループ毎に、ＲＡＩＤ＿Ｇ＿ＩＤ０２５、ＲＡＩＤ＿Ｇ属性０２６、ＰＤＥＶ＿ＩＤ０２７、及び、ＰＤＥＶ種別０２８を有する。
【００４４】
ＲＡＩＤ＿Ｇ＿ＩＤ０２５は、ＲＡＩＤグループのＩＤである。
【００４５】
ＲＡＩＤ＿Ｇ属性０２６は、ＲＡＩＤグループの属性を表す情報であり、例えば、通常用か退避用かを示す。「通常用」とは、ＬＵ０１９を提供するＲＡＩＤグループであることを意味する。「退避用」とは、プール０１８を提供するＲＡＩＤグループであることを意味する。
【００４６】
ＰＤＥＶ＿ＩＤ０２７は、ＲＡＩＤグループを構成するＰＤＥＶのＩＤである。
【００４７】
ＰＤＥＶ種別０２８は、ＲＡＩＤグループを構成するＰＤＥＶの種別を表す情報である。
【００４８】
図５は、ＬＵ（プール）構成情報０１４の構成を示す。
【００４９】
ＬＵ（プール）構成情報０１４は、論理記憶デバイス毎に、ＲＡＩＤ＿Ｇ＿ＩＤ０２５、ＲＡＩＤ＿Ｇ＿容量０２９、ＲＡＩＤ＿Ｇ＿空容量０３０、ＬＵ＿ＩＤ０３１、ＬＵ容量０３２、及び、プール＿ＩＤ０３３を有する。
【００５０】
ＲＡＩＤ＿Ｇ＿ＩＤ０２５は、論理記憶デバイスの基になっているＲＡＩＤグループのＩＤである。
【００５１】
ＲＡＩＤ＿Ｇ＿容量０２９は、論理記憶デバイスの基になっているＲＡＩＤグループの容量を表す情報である。
【００５２】
ＲＡＩＤ＿Ｇ＿空容量０３０は、論理記憶デバイスの基になっているＲＡＩＤグループの容量の、論理記憶デバイスとして使用されていない分の容量を表す情報である。
【００５３】
ＬＵ＿ＩＤ０３１は、論理記憶デバイス（ＬＵ）のＩＤである。
【００５４】
ＬＵ容量０３２は、論理記憶デバイス（ＬＵ）の容量である。
【００５５】
プール＿ＩＤ０３３は、論理記憶デバイスがプールである場合に付与されているＩＤ、つまり、プールのＩＤである。
【００５６】
プールである論理記憶デバイスについて、ＬＵ（プール）構成情報０１４は、ＰＯＯＬ＿ＩＤ０３３、ＲＡＩＤ＿Ｇ＿ＩＤ０２５、ＬＵ＿ＩＤ０３１、ＰＯＯＬ＿容量０３４、及び、ＰＯＯＬ＿使用率０３５を有する。ＰＯＯＬ＿ＩＤ０３３、ＲＡＩＤ＿Ｇ＿ＩＤ０２５、及び、ＬＵ＿ＩＤ０３１は、前述した通りである。プールについてＬＵ＿ＩＤ０３１がある理由は、プールはＬＵの一種だからである。ＰＯＯＬ＿容量０３４は、プールの容量であり、その値は、プールである論理記憶デバイスについてのＬＵ容量０３２と同じ値である。ＰＯＯＬ＿使用率０３５は、プールの容量に対する、プールにおいてデータ要素を格納しているプール領域の総容量の比率である。
【００５７】
図６は、Ｉ／Ｏ監視情報０１５の構成を示す。
【００５８】
Ｉ／Ｏ監視情報０１５は、Ｉ／Ｏの監視対象のＲＡＩＤグループ（以下、監視対象ＲＡＩＤグループ）毎に用意される情報である。監視対象ＲＡＩＤグループのＩＤが、例えば、前もってコントローラに設定されており、それ故、Ｉ／Ｏ処理プログラム０１１が、複数のＲＡＩＤグループのうちのどれが監視対象であるかを特定することができる。
【００５９】
Ｉ／Ｏ監視情報０１５は、退避元とする論理領域の決定の際に参照される。すなわち、本実施例では、複数のＲＡＩＤグループのうちの監視対象ＲＡＩＤグループが、省電力状態にされ得るＲＡＩＤグループである。
Ｉ／Ｏ監視情報０１５は、論理領域（例えばブロック）毎に、Ｉ／Ｏの頻度を表す情報を有する。例えば、Ｉ／Ｏ監視情報０１５は、論理領域（例えばブロック）毎に、各時間帯でのＩ／Ｏの回数を表す情報を有する。具体的には、例えば、Ｉ／Ｏ監視情報０１５は、時刻０３６、位置（アドレス）０３７、及び、Ｉ／Ｏ回数０６１を有する。
【００６０】
時刻０３６は、各時間帯を表す。図６の例によれば、２４時間における１時間毎のＩ／Ｏの回数が記録されるが、時間帯は、任意の時間長が設定されてよい。また、複数の時間帯の全てが同じ時間長である必要ない。また、複数の時間帯の合計が２４時間である必要はない。
【００６１】
位置（アドレス）０３７は、論理領域のアドレス（例えば論理アドレス）に対応した、ＲＡＩＤグループでのアドレス（例えば物理アドレス）を表す。
【００６２】
Ｉ／Ｏ回数０６１は、Ｉ／Ｏの回数（ライト及びリードの合計）を表す。なお、Ｉ／Ｏ回数に代えて又は加えて、ライト回数及び／又はリード回数が用意されてもよい。
【００６３】
図７は、退避関係情報０１６の構成を示す。
【００６４】
退避関係情報０１６は、退避元領域と退避先領域との対応毎に、退避元領域０３８、退避先領域０３９、及び、更新フラグ０４０を有する。
【００６５】
退避元領域０３８は、ＲＡＩＤグループに基づく論理領域を表す情報である。ＲＡＩＤグループに基づくＬＵ０１９内の論理領域に格納されているデータ要素がプール０１８のプール領域に退避されるためである。退避元領域０３８は、例えば、ＲＡＩＤ＿Ｇ＿ＩＤ０２５及びアドレス０３７を有する。ＲＡＩＤ＿Ｇ＿ＩＤ０２５は、退避元の論理領域の基になるＲＡＩＤグループのＩＤである。アドレス０３７は、退避元の論理領域の、ＲＡＩＤグループにおけるアドレスである。
【００６６】
退避先領域０３９は、プール領域を表す情報である。退避先領域０３９は、例えば、プール＿ＩＤ０３３及びアドレス０３７を有する。プール＿ＩＤ０３３は、退避先のプール領域を有するプールのＩＤである。アドレス０３７は、退避先のプール領域の、ＲＡＩＤグループにおけるアドレスである。
【００６７】
更新フラグ０４０は、退避先のプール領域で更新が生じたか否かを表す情報である。値「１」が、更新が生じたこと、すなわち、退避先のプール領域内のデータ要素が退避元の論理領域内のデータ要素と異なることを意味する。値「０」が、更新が生じていないこと、すなわち、退避先のプール領域内のデータ要素が退避元の論理領域内のデータ要素と同じであることを意味する。例えば、退避元の論理領域から退避先のプール領域にデータ要素が退避（コピー）された後に、その退避先のプール領域にデータ要素が上書きされた場合、その退避先のプール領域に対応する更新フラグ０４０が、「０」から「１」に更新される。
【００６８】
Ｉ／Ｏ監視情報０１５及び退避関係情報０１６におけるアドレス０３７は、論理領域又はプール領域の物理的なアドレス（ＲＡＩＤグループでのアドレス）を表すが、それに代えて又は加えて、ＬＵ又はプールのＩＤと論理アドレスとの組合せであっても良い。
【００６９】
以下、本実施例で行われる処理の流れを説明する。
【００７０】
図８は、Ｉ／Ｏコマンド処理のフローチャートである。
【００７１】
Ｉ／Ｏ処理プログラム０１１は、上位装置００１からＩ／Ｏコマンドを受信した場合に、複数種類のうちのいずれかのＩ／Ｏ処理を行う（Ｓ８０１）。具体的には、例えば、プログラム０１１は、以下の処理：
（Ｓ８０１−１）Ｉ／Ｏコマンドが有するＩ／Ｏ先情報から、Ｉ／Ｏ先の仮想ＬＵ０１７及び仮想領域を特定する；
（Ｓ８０１−２）特定された仮想領域に対するＩ／Ｏ対象データ要素がキャッシュメモリ００５に存在するか否かの判断を行う；
（Ｓ８０１−３）Ｉ／Ｏコマンドがリードコマンドであり、且つ、Ｓ８０１−２の判断の結果が肯定的の場合、キャッシュメモリ００５からリード対象のデータ要素を読み出し、上位装置００１に提供する；
（Ｓ８０１−４）Ｉ／Ｏコマンドがライトコマンドであり、且つ、Ｓ８０１−２の判断の結果が否定的の場合、キャッシュメモリ００５にライト対象のデータ要素を書き込み、Ｓ８０１−６に進む；
（Ｓ８０１−５）Ｓ８０１−２の判断の結果が肯定的の場合、Ｓ８０１−６に進む；
（Ｓ８０１−６）Ｓ８０１−１で特定された仮想ＬＵ０１７に関連付けられているＬＵ０１９を特定する（例えば、仮想ＬＵ０１７とＬＵ０１９との対応付けを表す情報（例えば共有メモリ００４に記憶されている図示しない情報）を参照することにより、特定する）；
（Ｓ８０１−７）ＲＡＩＤグループ構成情報０１３を参照し、特定されたＬＵ０１９を提供するＲＡＩＤグループを特定する；
（Ｓ８０１−８）特定されたＲＡＩＤグループの各ＰＤＥＶが、省電力状態か否かを判断する、
（Ｓ８０１−９）Ｓ８０１−８の判断の結果が肯定的の場合、図１１のＩ／Ｏ処理を実行する、
（Ｓ８０１−１０）Ｓ８０１−８の判断の結果が否定的の場合、通常のＩ／Ｏ処理、すなわち、Ｓ８０１−１で特定された仮想領域に対応する論理領域（Ｓ８０１−６で特定されたＬＵ０１９における論理領域）に対するＩ／Ｏを行う、
を行う。
【００７２】
Ｓ８０１のＩ／Ｏ処理の後、プログラム０１１は、Ｓ８０１のＩ／Ｏ処理でＩ／Ｏ先となったＲＡＩＤグループであって、ＬＵ０１９を提供するＲＡＩＤグループが、監視対象ＲＡＩＤグループであるか否かを判断する（Ｓ８０２）。
【００７３】
Ｓ８０２の判断の結果が肯定的の場合、プログラム０１１は、Ｉ／Ｏ監視情報０１５を更新する（Ｓ８０３）。具体的には、プログラム０１１は、Ｓ８０１でＩ／Ｏ先となった監視対象ＲＡＩＤグループに対応するＩ／Ｏ監視情報０１５における該当Ｉ／Ｏ回数を、１インクリメントする。ここでいう「該当Ｉ／Ｏ回数」とは、受信したＩ／Ｏコマンドに関する時刻が属する時間帯に対応したＩ／Ｏ回数である。「Ｉ／Ｏコマンドに関する時刻」とは、例えば、Ｉ／Ｏコマンドの受信時刻、Ｉ／Ｏコマンドの処理が完了した時刻（例えば上位装置００１に完了応答を返した時刻）、或いは、Ｉ／Ｏコマンドが有するタイムスタンプが表す時刻である。
【００７４】
図９は、スピンダウン処理のフローチャートである。
【００７５】
このスピンダウン処理は、例えば、ＲＡＩＤグループＩＤ又はＬＵのＩＤを含んだ省電力指示をユーザから電源制御プログラム０１２に入力されたときに開始されてもよいし、現在時刻（例えば図示しないタイマから特定される時刻）が予め設定されているスピンダウン開始時刻になったときに開始されてもよい。
【００７６】
プログラム０１２が、ＲＡＩＤグループ構成情報０１３を参照し、スピンダウン対象のＲＡＩＤグループに含まれるＰＤＥＶを特定する（Ｓ９０１）。「スピンダウン対象のＲＡＩＤグループ」は、上記省電力指示が有するＲＡＩＤグループＩＤ又はＬＵのＩＤから特定されてもよいし（ＬＵのＩＤが含まれている場合、そのＬＵを提供するＲＡＩＤグループがＬＵ（プール）構成情報０１４から特定されてよいし）、予め設定されていてよい。
【００７７】
プログラム０１２が、退避元領域候補を決定する（Ｓ９０３）。退避元領域候補は、退避元領域候補とされない論理領域のＩ／Ｏ頻度よりＩ／Ｏ頻度が高い論理領域である。具体的には、例えば、退避元領域候補は、スピンダウン対象のＲＡＩＤグループが提供する複数の論理領域のうちＩ／Ｏ頻度が上位Ｘ個又はＹ％に属する論理領域（ＸもＹも自然数）、又は、Ｉ／Ｏ頻度が所定の閾値を超えている論理領域である。Ｉ／Ｏ頻度が参酌される期間は、後述の退避元領域決定ポリシーに従う期間である。
【００７８】
プログラム０１２が、Ｓ９０３で決定した一以上の退避元領域候補の総容量がプール０１８の空き容量より大きいか否かを判断する（Ｓ９０４）。プール０１８の空き容量は、ＬＵ（プール）構成情報０１４におけるＰＯＯＬ＿容量０３４及びＰＯＯＬ＿使用率０３５を基に算出される。
【００７９】
Ｓ９０４の判断の結果が否定的の場合、プログラム０１２は、Ｓ９０３で決定した各退避元領域候補内のデータ要素を空きのプール領域に退避する（コピーする）（Ｓ９０５）。その際、プログラム０１２は、退避関係情報０１６を更新する。具体的には、プログラム０１２は、退避元領域候補と退避先プール領域とのペア毎に、退避元領域候補を表す退避元領域０３８と退避先プール領域を表す退避先領域０３９とを追加する。
【００８０】
その後、プログラム０１２は、Ｓ９０１で特定した全てのＰＤＥＶ（ＨＤＤ）をスピンダウンする。すなわち、プログラム０１２は、Ｓ９０１で特定した全てのＰＤＥＶを省電力状態にさせる。
【００８１】
Ｓ９０４の判断の結果が肯定的の場合、プログラム０１２は、Ｓ９０５を行うことなくＳ９０６を実行する。なお、この例によれば、Ｓ９０４の判断の結果が肯定的であれば、Ｓ９０３で決定された退避元領域候補から空きのプール領域へのデータ要素の退避が一切行われないが、それに代えて、データ要素の退避が部分的に行われてもよい。具体的には、例えば、プログラム０１２は、Ｓ９０３で決定された退避元領域候補のうち、プール０１８の空き容量以下の総容量となる一部の退避元領域候補（一以上の退避元領域候補）を決定し、決定された退避元領域候補から空きのプール領域にデータ要素を退避してよい。
【００８２】
図１０は、スピンアップ処理のフローチャートである。
【００８３】
このスピンアップ処理は、例えば、ＲＡＩＤグループＩＤ又はＬＵのＩＤを含んだ省電力解除指示をユーザから電源制御プログラム０１２に入力されたときに開始されてもよいし、現在時刻が予め設定されているスピンダウン終了時刻になったときに開始されてもよい。
【００８４】
プログラム０１２が、スピンアップ処理対象のＲＡＩＤグループに属する全てのＰＤＥＶをスピンアップする（Ｓ１００１）。「スピンアップ処理対象のＲＡＩＤグループ」は、上記省電力解除指示が有するＲＡＩＤグループＩＤ又はＬＵのＩＤから特定されてもよいし（ＬＵのＩＤが含まれている場合、そのＬＵを提供するＲＡＩＤグループがＬＵ（プール）構成情報０１４から特定されてよいし）、予め設定されていてよい。また、スピンアップ処理対象のＲＡＩＤグループに属するＰＤＥＶは、ＲＡＩＤグループ構成情報０１３から特定される。
【００８５】
プログラム０１２が、スピンアップ処理対象のＲＡＩＤグループが提供する複数の論理領域の少なくとも一つに、更新有りのプール領域が対応付けられているか否かを判断する（Ｓ１００２）。具体的には、例えば、プログラム０１２は、退避関係情報０１６を参照し、値が「１」となっている更新フラグ０４０に対応した退避元領域０３８が表す論理領域がスピンアップ処理対象のＲＡＩＤグループが提供する複数の論理領域に含まれているか否かを判断する。
【００８６】
Ｓ１００２の判断の結果が肯定的であれば、プログラム０１２は、更新有りのプール領域内のデータ要素を、そのプール領域に対応付けられている論理領域にコピーする（Ｓ１００３）。
【００８７】
図１１は、Ｉ／Ｏコマンドを基に特定されたＲＡＩＤグループ（以下、Ｉ／Ｏ先ＲＡＩＤグループ）の各ＰＤＥＶが省電力状態の場合に行われるＩ／Ｏ処理のフローチャートである。
【００８８】
Ｉ／Ｏ処理プログラム０１１は、退避関係情報０１６を参照し、Ｉ／Ｏコマンドを基に特定された一以上の仮想領域の各々について、仮想領域に対応する論理領域（図１１の説明において「Ｉ／Ｏ先論理領域」）にプール領域が対応付けられているか否かを判断する（Ｓ１１０１）。
【００８９】
Ｓ１１０１の判断の結果が肯定的の場合、プログラム０１１は、Ｉ／Ｏ先論理領域に対応付けられているプール領域に対してデータ要素のＩ／Ｏを行う（Ｓ１１０２）。Ｓ１１０２では、ディスクアレイ装置０１０の稼働中に省電力状態とされることのないＲＡＩＤグループに基づく記憶領域（つまりプール領域）に対してデータ要素のＩ／Ｏが行われるので、ＰＤＥＶの省電力状態の解除は行われない。なお、Ｉ／Ｏがライトであって、ライト先のプール領域に対応する更新フラグ０４０が「０」であれば、プログラム０１１は、Ｓ１１０２において、そのプール領域に対応する更新フラグ０４０を「１」に更新する。
【００９０】
Ｓ１１０１の判断の結果が否定的の場合、プログラム０１１は、電源制御プログラム０１２を呼び出して、Ｉ／Ｏ先ＲＡＩＤグループの各ＰＤＥＶをスピンアップする（Ｓ１１０３）。つまり、プログラム０１１は、その各ＰＤＥＶの省電力状態を解除する。そして、プログラム０１１は、Ｉ／Ｏ先論理領域に対してデータ要素のＩ／Ｏを行う（Ｓ１１０４）。
【００９１】
次に、プログラム０１１は、Ｓ１１０４での一以上のＩ／Ｏ先論理領域の総容量がプール０１８の空き容量より大きいか否かを判断する（Ｓ１１０５）。
【００９２】
Ｓ１１０５の判断の結果が肯定的であれば、プログラム０１１は、退避関係情報０１６を基に、Ｉ／Ｏ先ＲＡＩＤグループに対応付けられている更新有りプール領域と、その更新有りプール領域に対応した論理領域とを特定し、特定された更新有りプール領域から特定された論理領域に、データ要素をコピーする（Ｓ１１０６）。Ｉ／Ｏ先ＲＡＩＤグループの各ＰＤＥＶは、省電力状態が解除されたままの状態とされる。
【００９３】
Ｓ１１０５の判断の結果が否定的であれば、プログラム０１１は、Ｓ１１０４でのＩ／Ｏ先論理領域に対する、Ｉ／Ｏ対象のデータ要素を、空きのプール領域に退避（コピー）する（Ｓ１１０７）。その際、プログラム０１１は、退避関係情報０１６を更新する。具体的には、例えば、プログラム０１１は、Ｉ／Ｏ先論理領域を表す退避元領域０３８と、退避先のプール領域０３９と追加する。その後、プログラム０１１は、電源制御プログラム０１２を呼び出し、Ｉ／Ｏ先ＲＡＩＤグループの各ＰＤＥＶをスピンダウンさせる（Ｓ１１０８）。つまり、プログラム０１１は、Ｉ／Ｏ先ＲＡＩＤグループの各ＰＤＥＶの状態を省電力状態に戻す。なお、プログラム０１１は、必ずしも、Ｓ１１０７を行う都度にＳ１１０８を行わなくてよい。例えば、プログラム０１１は、最後にＳ１１０７を行ってから一定時間経過しても再びＳ１１０７を行わない場合に、Ｓ１１０８を行ってもよい。
【００９４】
さて、前述したスピンダウン対象のＲＡＩＤグループは、例えば、下記の処理が行われることにより、設定される。
（Ｓ０１）管理装置１００が、図１２に示すＩ／Ｏ範囲指定画面（例えばＧＵＩ（Graphical User Interface））０４１を表示する。ユーザは、そのＧＵＩ０４１に、開始時刻及び終了時刻を入力する。
（Ｓ０２）管理装置１００が、ディスクアレイ装置０１０から、Ｉ／Ｏ監視情報０１５を取得する。
（Ｓ０３）管理装置１００が、Ｓ０１で入力された開始時刻及び終了時刻と、Ｓ０２で取得したＩ／Ｏ監視情報０１５とを基に、各監視対象ＲＡＩＤグループについてＩ／Ｏ範囲を算出する。
（Ｓ０４）管理装置１００が、図１２に示すＩ／Ｏ範囲情報画面０４６、すなわち、Ｓ０３での算出の結果を表示した画面を表示する。ここで、「Ｉ／Ｏ範囲」とは、監視対象ＲＡＩＤグループが提供する論理領域の合計（監視対象ＲＡＩＤグループの容量）に対する、Ｉ／Ｏが発生した論理領域の合計（総容量）の比率である。Ｓ０１で入力された開始時刻と終了時刻との間の期間で一回でもＩ／Ｏが発生していれば、Ｉ／Ｏが発生した論理領域にカウントされる。
（Ｓ０５）管理装置１００が、ユーザからの要求に応答して、図１３に示すスピンダウン指示画面０４８を表示する。ユーザは、Ｓ０４で表示された、監視対象ＲＡＩＤグループ毎のＩ／Ｏ範囲を基に、スピンダウン対象のＲＡＩＤグループを、画面０４８を介して指定する。なお、画面０４８には、プールの空き容量が表示され、且つ、スピンダウン対象のＲＡＩＤグループの他に、省電力状態（スピンダウン）の開始時刻及び終了時刻と、退避元領域決定ポリシーと、退避容量とのうちの少なくとも一つを設定することができる。「プールの空き容量」とは、空きのプール領域の総容量である。「開始時刻及び終了時刻」は、図１２のＩ／Ｏ範囲指定画面０４１で入力された開始時刻及び終了時刻が援用されたものであっても良いし、改めてユーザから入力されてもよい。「退避元領域決定ポリシー」は、図９のＳ９０３での処理（退避元の論理領域の決定）で参酌される期間（Ｉ／Ｏ監視情報０１５の範囲）である。図１３の例によれば、退避元領域決定ポリシーとして、前日、過去一週間、過去一ヶ月間の三種類があり、その三種類から前日が選択されている。「退避容量」は、スピンダウン対象として選択されたＲＡＩＤグループが提供する複数の論理領域のうちの退避元の論理領域の総容量である。ユーザは、表示される「プールの空き容量」を基に退避容量を決定することができる。
【００９５】
以上のＳ０１〜Ｓ０５において、Ｉ／Ｏ範囲の算出は、管理装置１００に代えて制御部００７又は上位装置００１が行ってもよい。少なくとも一つの上位装置００１が管理装置１００として機能してもよい。
【００９６】
図１４は、本実施例における各フェーズでの各ＰＤＥＶの状態を示す。
【００９７】
非省電力フェーズ（通常時（Ｉ／Ｏ監視中））においては、ＬＵ０１９を提供するＲＡＩＤグループを構成するＰＤＥＶ（以下、ＬＵ−ＰＤＥＶ）が非省電力状態となっており、プール０１８を提供するＲＡＩＤグループを構成するＰＤＥＶ（以下、プール−ＰＤＥＶ）が省電力状態となっている。このため、非省電力フェーズにおいては、ＬＵ０１９内の論理領域に対応したプール領域がプール０１８に存在するか否かに関わらず、ＬＵ０１９に対してＩ／Ｏが行われる。なお、プール−ＰＤＥＶがＬＵ−ＰＤＥＶよりもＩ／Ｏ性能が優れていて且つ省電力であれば、非省電力フェーズであっても、プール−ＰＤＥＶが非省電力状態とされても良い。この場合、非省電力フェーズにおいて、ＬＵ０１９内の論理領域に対応したプール領域がプール０１８に存在すれば、論理領域ではなくプール領域に対してＩ／Ｏが行われて良い。
【００９８】
移行中フェーズ（すなわち、非省電力フェーズから省電力フェーズへの移行中のフェーズ、或いは、省電力フェーズから非省電力フェーズへの移行中のフェーズ）では、ＬＵ−ＰＤＥＶもプール−ＰＤＥＶも省電力状態ではなくなる。例えば、ＬＵ−ＰＤＥＶ（及びプール−ＰＤＥＶ）は、スピンアップ中、或いは、スピンダウン中となる。
【００９９】
省電力フェーズでは（例えば、スピンダウン開始時刻から終了時刻の間では）、プール−ＰＤＥＶが非省電力状態であり、ＬＵ−ＰＤＥＶが省電力状態である。この場合には、前述したように、論理領域に対応したプール領域があれば、プール領域に対してＩ／Ｏが行われ、論理領域に対応したプール領域がなければ、その論理領域を提供するＲＡＩＤグループの各ＬＵ−ＰＤＥＶの省電力状態が一旦解除され、論理領域に対してＩ／Ｏが行われる。
【０１００】
なお、図１４の例によれば、一以上のＬＵ０１９を提供する全てのＲＡＩＤグループが一緒に各種のフェーズに移行するが、ＲＡＩＤグループ毎に、各種フェーズが存在してよい。プール０１８を提供するＲＡＩＤグループは、一以上のＬＵ０１９を提供する二以上のＲＡＩＤグループに共通で良い。
【０１０１】
図１５は、プール−ＬＤＥＶがＨＤＤの場合とＳＳＤの場合での移行中フェーズの長さの違いを示す。
【０１０２】
プール−ＬＤＥＶがＳＳＤであれば、プール−ＬＤＥＶがＨＤＤであることに比べて、非省電力フェーズから省電力フェーズにより早く移行することができる。
【０１０３】
なお、例えば、プール−ＰＤＥＶは、ＳＡＴＡ（Serial ATA）−ＨＤＤのような大容量のＰＤＥＶでもよい。この場合、プール−ＰＤＥＶの台数の節約が期待できる。
【０１０４】
このように、ＰＤＥＶの種別によって、より高い節電効果を期待できるため、プール０１８の容量やプール０１８に要求されるＩ／Ｏ性能に応じて、適切な種類のプール−ＰＤＥＶが決定されて良い。または、プール−ＰＤＥＶの種別ごとに複数のプール０１８を準備し、スピンダウン対象のＲＡＩＤグループ毎に、各時間帯及び各論理領域のＩ／Ｏ頻度から、退避先のプール０１８が選択されて良い。ＬＵ０１９を提供するＲＡＩＤグループとプール０１８の関係はｎ：ｍの関係をとることも可能である（ｎ及びｍは自然数であり、且つ、ｎ及びｍのうちの少なくとも一方は２以上である）。
【０１０５】
以上、本実施例によれば、複数のＬＵ０１９を提供する複数のＲＡＩＤグループのうちの一部のＲＡＩＤグループが、スピンダウン対象のＲＡＩＤグループとされる。一部のＲＡＩＤグループの各々は、Ｉ／Ｏ範囲の狭い時間帯が、省電力フェーズの時間帯とされる。また、スピンダウン対象のＲＡＩＤグループが提供する複数の論理領域のうちの比較的Ｉ／Ｏ頻度の高い論理領域が、退避元の論理領域とされる。退避元の論理領域からプール領域にデータ要素が退避され、その後に、スピンダウン対象のＲＡＩＤグループを構成する各ＰＤＥＶが省電力状態とされる。その後、ディスクアレイ装置０１０が上位装置００１からブロックレベルのＩ／Ｏコマンドを受信し、それにより仮想領域にＩ／Ｏが発生する場合、Ｉ／Ｏ先の仮想領域に対応した論理領域を提供するＲＡＩＤグループの各ＰＤＥＶが省電力状態であって、その論理領域に対応するプール領域（その論理領域から退避されたデータ要素を記憶するプール領域）がある場合には、各ＰＤＥＶの省電力状態が解除されることなく、そのプール領域に対してＩ／Ｏが行われる。これにより、ブロックレベルのＩ／Ｏコマンドを受け付けるディスクアレイ装置において、ＰＤＥＶの省電力状態を解除する頻度を減らすことができる。
【実施例２】
【０１０６】
本発明の実施例２を説明する。その際、実施例１との相違点を主に説明し、実施例１との共通点については説明を省略或いは簡略する（なお、これは、後の実施例３及び４についても同様である）。
【０１０７】
図１６は、本発明の実施例２に係るストレージシステムが適用された計算機システムを示す。
【０１０８】
ＳＡＮ００２に、複数のディスクアレイ装置２１０と、一以上の上位装置１０１とが接続されている。
【０１０９】
また、ＳＡＮ００２とは別のネットワークとして、電源制御ネットワーク２５８がある。電源制御ネットワーク２５８は、例えばＬＡＮ（Local Area Network）である。このネットワーク２５８には、電源制御のためのコマンドが流れる。
【０１１０】
本実施例では、ＲＡＩＤグループ単位ではなく、ディスクアレイ装置単位で、省電力状態への遷移や省電力状態の解除が行われる。そのための電源制御は、上位装置２０４によって行われる。
【０１１１】
上位装置２０１が、電源制御Ｉ／Ｆ２５６、制御部（例えばマイクロプロセッサ）２０７、Ｉ／Ｆ（例えばホストバスアダプタ）２５７、メモリ２０４、接続部２０６を有する。電源制御Ｉ／Ｆ２５６は、電源制御ネットワーク０５８に繋がるインタフェース装置、例えば、ＮＩＣ（Network Interface Card）である。Ｉ／Ｆ２５７は、ＳＡＮ００２に繋がるインタフェース装置、例えば、ＨＢＡ（Host
Bus Adapter）である。接続部２０６は、例えば、データ転送のためのスイッチ或いはバスである。接続部２０６には、前述した要素２５６、２０７、２５７及び２０４が接続されている。これらの要素間の通信は、接続部２０６を介して行われる。メモリ２０４が、実施例１で説明したＩ／Ｏ処理プログラム０１１、電源制御プログラム０１２、ＲＡＩＤグループ構成情報０１３、ＬＵ（プール）構成情報０１４、Ｉ／Ｏ監視情報０１５及び退避関係情報０１６を記憶する。制御部２０７は、例えば、マイクロプロセッサであり、メモリ２０４内のプログラム０１１及び０１２を実行する。
【０１１２】
図１７に示すように、本実施例では、ディスクアレイ装置単位で省電力が行われる。このため、例えば、退避関係情報０１６が有する退避元領域０３８及び退避先領域０３９は、ＲＡＩＤ＿Ｇ＿ＩＤに代えて、ディスクアレイ装置２１０のＩＤを有して良い。また、複数のディスクアレイ装置２１０のうちの少なくとも一つが、プール０１８を提供するディスクアレイ装置２１０（以下、プールアレイ装置）である。ＬＵ０１９を提供するディスクアレイ装置２１０（以下、ＬＵアレイ装置）が提供する複数のＬＵ０１９の総容量は、プール０１８の総容量よりも大きい。
【０１１３】
本実施例では、下記の処理が行われる。
＊Ｉ／Ｏ範囲が狭い時間帯があるＬＵアレイ装置が、スピンダウン対象のＬＵアレイ装置とされる。
＊上位装置２０１が、スピンダウン対象のＬＵアレイ装置から退避元領域を決定する。
＊上位装置２０１が、決定した退避元領域から、プールアレイ装置が提供するプール０１８のプール領域に、データ要素を退避する。上位装置２０１は、退避元領域と退避先領域との対応関係を表す情報を退避関係情報０１６に含める。
＊スピンダウン対象のＬＵアレイ装置は、そのＬＵアレイ装置のＩ／Ｏ範囲が所定の閾値よりも狭い時間帯に、上位装置２０１によって省電力状態とされる。具体的には、上位装置２０１で実行される電源制御プログラム０１２が、電源制御Ｉ／Ｆ２５６を介して、省電力への移行を指示する電源制御コマンドを、スピンダウン対象のＬＵアレイ装置宛に送信する。その電源制御コマンドは、電源制御ネットワーク２５８を介して、宛先のＬＵアレイ装置に送られる。その電源制御コマンドを受けたＬＵアレイ装置が、そのコマンドに応答して、省電力状態となる。例えば、そのＬＵアレイ装置では、ＬＵ０１９を提供する全てのＲＡＩＤグループが省電力状態とされる。
＊上位装置２０１は、Ｉ／Ｏ先の論理領域に対応したプール領域があれば、図１７に示すように、そのプール領域を指定したＩ／Ｏコマンドをプールアレイ装置に送信する。これにより、Ｉ／Ｏ先の論理領域を提供するＬＵアレイ装置の省電力状態が解除されることなく、Ｉ／Ｏが行われる。なお、プールアレイ装置へのＩ／Ｏコマンドの送信は、Ｉ／Ｏ先の論理領域を提供するＬＵアレイ装置の省電力状態の場合にのみ行われても良い。
【実施例３】
【０１１４】
図１８は、本発明の実施例３に係るストレージシステムが適用されたディスクアレイ装置群を有する計算機システムを示す。
【０１１５】
第１のＳＡＮ００２Ｆに、一以上の上位装置１０１と、上位ディスクアレイ装置０１０Ｈとが接続されている。
【０１１６】
第２のＳＡＮ００２Ｓに、上位ディスクアレイ装置０１０Ｈと複数の下位ディスクアレイ装置０１０Ｌとが接続されている。
【０１１７】
ＳＡＮとは別のネットワークとして、電源制御ネットワーク３５８がある。電源制御ネットワーク３５８は、例えばＬＡＮ（Local Area Network）である。このネットワーク３５８には、電源制御のためのコマンドが流れる。
【０１１８】
本実施例では、ＲＡＩＤグループ単位ではなく、下位ディスクアレイ装置単位で、省電力状態への遷移や省電力状態の解除が行われる。そのための電源制御は、上位ディスクアレイ装置０１０Ｈによって行われる。
【０１１９】
上位のディスクアレイ装置０１０Ｈの制御部００６が、上位装置００１に仮想ＬＵを提供する。仮想ＬＵに対応したＬＵ０１９が、いずれかの下位ディスクアレイ装置０１０Ｌに存在する。従って、或る仮想領域に対するＩ／Ｏが発生した場合、上位ディスクアレイ装置０１０Ｈが、その仮想領域に対応した論理領域を有する下位ディスクアレイ装置０１０Ｌに、その論理領域を指定したＩ／Ｏコマンドを送信する。上位ディスクアレイ装置０１０Ｈは、ＮＡＳの機能を有していても良い。すなわち、上位ディスクアレイ装置０１０Ｈは、ファイルレベルのＩ／Ｏコマンドを上位装置００１から受けて、ブロックレベルのＩ／Ｏコマンドを下位ディスクアレイ装置０１０Ｌに送信しても良い。
【０１２０】
上位ディスクアレイ装置０１０Ｈは、図１に示したディスクアレイ装置０１０が有する要素の他に、電源制御Ｉ／Ｆ３５６とＩ／Ｆ３５７とを有する。電源制御Ｉ／Ｆ３５６は、電源制御ネットワーク３５８に繋がるインタフェース装置、例えば、ＮＩＣ（Network Interface Card）である。Ｉ／Ｆ３５７は、第２のＳＡＮ００２Ｓに繋がるインタフェース装置、例えば、ＨＢＡ（Host Bus Adapter）である。
【０１２１】
図１９に示すように、本実施例では、下位ディスクアレイ装置単位で省電力が行われる。このため、例えば、退避関係情報０１６が有する退避元領域０３８及び退避先領域０３９は、ＲＡＩＤ＿Ｇ＿ＩＤに代えて、下位ディスクアレイ装置０１０ＬのＩＤを有して良い。また、複数の下位ディスクアレイ装置０１０Ｌのうちの少なくとも一つが、プール０１８を提供する下位ディスクアレイ装置０１０Ｈ（以下、プール下位アレイ装置）である。ＬＵ０１９を提供する下位ディスクアレイ装置０１０Ｈ（以下、ＬＵ下位アレイ装置）が提供する複数のＬＵ０１９の総容量は、プール０１８の総容量よりも大きい。
【０１２２】
本実施例では、下記の処理が行われる。
＊Ｉ／Ｏ範囲が狭い時間帯があるＬＵ下位アレイ装置が、スピンダウン対象のＬＵ下位アレイ装置とされる。
＊上位ディスクアレイ装置０１０Ｈが、スピンダウン対象のＬＵ下位アレイ装置から退避元領域を決定する。
＊上位ディスクアレイ装置０１０Ｈが、決定した退避元領域から、プール下位アレイ装置が提供するプール０１８のプール領域に、データ要素を退避する。上位ディスクアレイ装置０１０Ｈは、退避元領域と退避先領域との対応関係を表す情報を退避関係情報０１６に含める。
＊スピンダウン対象のＬＵ下位アレイ装置は、そのＬＵ下位アレイ装置のＩ／Ｏ範囲が所定の閾値よりも狭い時間帯に、上位ディスクアレイ装置０１０Ｈによって省電力状態とされる。具体的には、上位ディスクアレイ装置０１０Ｈで実行される電源制御プログラム０１２が、電源制御Ｉ／Ｆ３５６を介して、省電力への移行を指示する電源制御コマンドを、スピンダウン対象のＬＵ下位アレイ装置宛に送信する。その電源制御コマンドは、電源制御ネットワーク３５８を介して、宛先のＬＵアレイ装置に送られる。その電源制御コマンドを受けたＬＵ下位アレイ装置が、そのコマンドに応答して、省電力状態となる。例えば、そのＬＵ下位アレイ装置では、ＬＵ０１９を提供する全てのＲＡＩＤグループが省電力状態とされる。
＊上位ディスクアレイ装置０１０Ｈは、上位装置００１からのＩ／Ｏコマンドから特定されたＩ／Ｏ先の論理領域（上位装置からのＩ／Ｏコマンドで指定された仮想領域に対応する論理領域）に対応したプール領域があれば、図１９に示すように、そのプール領域を指定したＩ／Ｏコマンドをプール下位アレイ装置に送信する。これにより、Ｉ／Ｏ先の論理領域を提供するＬＵ下位アレイ装置の省電力状態が解除されることなく、Ｉ／Ｏが行われる。なお、プール下位アレイ装置へのＩ／Ｏコマンドの送信は、Ｉ／Ｏ先の論理領域を提供するＬＵ下位アレイ装置の省電力状態の場合にのみ行われても良い。
【実施例４】
【０１２３】
本発明の実施例４では、スピンダウン対象のＲＡＩＤグループが、自動で決定される。
【０１２４】
図２０は、スピンダウン対象決定処理のフローチャートである。
【０１２５】
スピンダウン対象決定処理は、図９のスピンダウン処理の開始前に行われる。スピンダウン対象決定処理は、規定のタイミング或いはユーザから指示されたタイミングで開始される。スピンダウン対象決定処理は、定期的に又は不定期的に行われる（例えば、１日に１回、或いは、１月に１回）。
【０１２６】
電源制御プログラム０１２が、ＲＡＩＤ＿Ｇ＿ＩＤが最小のＲＡＩＤグループを選択する（Ｓ２００１）。
【０１２７】
プログラム０１２が、Ｓ２００１（又は後のＳ２００８）で選択したＲＡＩＤグループがスピンダウン対象として設定済みのＲＡＩＤグループであるか否かを判断する（Ｓ２００２）。
【０１２８】
Ｓ２００２の判断の結果が否定的であれば、プログラム０１２が、Ｉ／Ｏ範囲を参酌する期間を決定する（Ｓ２００３）。その期間は、例えば、ユーザから選択済みの退避元領域決定ポリシーに従う期間と同じであっても良いし、別途ユーザから指定された期間であっても良い。
【０１２９】
プログラム０１２が、Ｓ２００１（又はＳ２００８）で選択されたＲＡＩＤグループに対応したＩ／Ｏ監視情報０１５のうちの、Ｓ２００３で決定された期間に該当する部分を参照する（Ｓ２００４）。
【０１３０】
プログラム０１２は、Ｉ／Ｏ範囲が所定の閾値未満となる時間帯があるか否かを判断する（Ｓ２００５）。
【０１３１】
Ｓ２００５の判断の結果が肯定的の場合、プログラム０１２は、Ｓ２００１（又はＳ２００８）で選択されたＲＡＩＤグループをＩ／Ｏ範囲が所定の閾値未満となる時間帯でスピンダウン対象とすることを決定する（Ｓ２００６）。
【０１３２】
プログラム０１２は、少なくとも一つのＲＡＩＤグループについてＳ２００２の判断を行っていない場合には、未選択のＲＡＩＤグループを選択する（Ｓ２００８）。一方、プログラム０１２は、全てのＲＡＩＤグループについてＳ２００２の判断を行った場合には、スピンダウン対象決定処理を終了する。
【０１３３】
なお、図２０に示した決定処理は、実施例１に代えて又は加えて、実施例２及び３のうちの少なくとも一方に適用することができる。その場合、スピンダウン対象は、ＲＡＩＤグループに代えて、ディスクアレイ装置２１０、又は、下位のディスアレイ装置０１０Ｌである。
【０１３４】
以上、本発明の幾つかの実施例を説明したが、本発明は、これらの実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、本発明のストレージシステムは、ＮＡＳ分野のストレージシステムに適用されても良い。また、例えば、スピンダウン対象のＲＡＩＤグループ（又は、ディスクアレイ装置）は、Ｉ／Ｏ範囲に代えて又は加えて、Ｉ／Ｏ頻度を基に決定されても良い。例えば、Ｉ／Ｏ頻度が所定の閾値より低いＲＡＩＤグループが、スピンダウン対象のＲＡＩＤグループに決定されて良い。また、例えば、「スピンダウン対象」は、抽象的には、「省電力対象」と言うことができる。
【符号の説明】
【０１３５】
００１…上位装置、００３…ホストＩ／Ｆ、００４…共有メモリ、００５…キャッシュメモリ、００６…接続部、００７…制御部、００８…ディスク制御部、００９…物理記憶デバイス（ＰＤＥＶ）、０１０…ディスクアレイ装置、０２２…ＳＳＤ、０２３…ＨＤＤ
【図１】
2011107857.tif 000003
【図２】
2011107857.tif 000004
【図３】
2011107857.tif 000005
【図４】
2011107857.tif 000006
【図５】
2011107857.tif 000007
【図６】
2011107857.tif 000008
【図７】
2011107857.tif 000009
【図８】
2011107857.tif 000010
【図９】
2011107857.tif 000011
【図１０】
2011107857.tif 000012
【図１１】
2011107857.tif 000013
【図１２】
2011107857.tif 000014
【図１３】
2011107857.tif 000015
【図１４】
2011107857.tif 000016
【図１５】
2011107857.tif 000017
【図１６】
2011107857.tif 000018
【図１７】
2011107857.tif 000019
【図１８】
2011107857.tif 000020
【図１９】
2011107857.tif 000021
【図２０】
2011107857.tif 000022