(57)【特許請求の範囲】
【請求項１】
１つ以上の記憶装置を有するストレージシステムに備えられた入出力制御装置であって、
上位装置からの入出力要求に応じて前記記憶装置に対する入出力を制御する入出力制御部と、
前記ストレージシステムの消費電力を監視する消費電力監視部と、
前記消費電力の上限値に関するスケジュール情報および前記消費電力監視部により得られた消費電力の値を格納する消費電力情報格納部と、
前記記憶装置の電源がオンであるかオフであるかを表す電源状態情報を記憶した記憶装置情報格納部と、
前記上位装置からの入出力要求における書き込み要求対象のデータのうち、書き込み処理が未完了の部分である差分データを格納する差分データ格納部と、
前記スケジュール情報に基づき前記上限値の変更を検出すると、前記消費電力の値および変更後の前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにするとともに、前記上位装置から前記入出力要求があると、該入出力要求の対象となる前記記憶装置の電源をオンにした場合に予想される前記消費電力の値および前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにし、電源オフ可能な記憶装置の電源をオフにしても該入出力要求の対象となる記憶装置の電源をオンにした場合に予想される前記消費電力の値および前記上限値が所定の条件を満たす場合には、該入出力要求の対象となる前記記憶装置で電源がオフとなっているもののうち、消費電力が上限値を超えない範囲で電源オン可能な記憶装置を特定してその電源をオンにし、消費電力が上限値を超えるために電源をオンにできない記憶装置を特定し、特定した記憶装置に書き込まれることになる差分データを前記差分データ格納部に格納させるよう前記入出力制御部に通知する電源制御部と、
を備えた入出力制御装置。
【請求項２】
前記電源制御部は、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにする際に、前記記憶装置の電源オンオフ回数に基づく所定の基準による優先順位にしたがって、電源をオフにする記憶装置を選択することを特徴とする請求項１に記載の入出力制御装置。
【請求項３】
前記電源制御部は、前記入出力制御部による入出力処理が終了すると、該入出力処理の対象となった記憶装置の電源オンオフ回数が所定の条件を満たす場合には、所定期間経過後に該記憶装置の電源をオフにすることを特徴とする請求項１または請求項２に記載の入出力制御装置。
【請求項４】
前記消費電力の上限値のスケジュール情報を外部から取得することにより、取得したスケジュール情報を前記消費電力情報格納部に格納させる情報設定部をさらに備えることを特徴とする請求項１から請求項３のいずれか１項に記載の入出力制御装置。
【請求項５】
請求項１から請求項４のいずれか１項に記載の入出力制御装置と、
前記１つ以上の記憶装置と、
を備えたストレージシステム。
【請求項６】
１つ以上の記憶装置を有するストレージシステムの消費電力について設定される上限値に関するスケジュール情報を記憶しておき、
前記ストレージシステムの消費電力を監視し、
前記スケジュール情報に基づき前記上限値の変更を検出すると、前記消費電力の値および変更後の前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにし、
上位装置から前記記憶装置に対する入出力要求があると、該入出力要求の対象となる前記記憶装置の電源をオンにした場合に予想される前記消費電力の値および前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにし、電源オフ可能な記憶装置の電源をオフにしても該入出力要求の対象となる記憶装置の電源をオンにした場合に予想される前記消費電力の値および前記上限値が所定の条件を満たす場合には、該入出力要求の対象となる前記記憶装置で電源がオフとなっているもののうち、消費電力が上限値を超えない範囲で電源オン可能な記憶装置を特定してその電源をオンにし、消費電力が上限値を超えるために電源をオンにできない記憶装置を特定し、特定した記憶装置に書き込まれることになる差分データを差分データ格納部に格納させる、電源制御方法。
【請求項７】
電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにする際に、前記記憶装置の電源オンオフ回数に基づく所定の基準による優先順位にしたがって、電源をオフにする記憶装置を選択することを特徴とする請求項６に記載の電源制御方法。
【請求項８】
１つ以上の記憶装置を有するストレージシステムの消費電力について設定される上限値に関するスケジュール情報を格納した消費電力情報格納部を用いて、
前記ストレージシステムの消費電力を監視する消費電力監視ステップと、
前記スケジュール情報に基づき前記上限値の変更を検出すると、前記消費電力の値および変更後の前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにする上限値変更時電源制御ステップと、
上位装置から前記記憶装置に対する入出力要求があると、該入出力要求の対象となる前記記憶装置の電源をオンにした場合に予想される前記消費電力の値および前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにし、電源オフ可能な記憶装置の電源をオフにしても該入出力要求の対象となる記憶装置の電源をオンにした場合に予想される前記消費電力の値および前記上限値が所定の条件を満たす場合には、該入出力要求の対象となる前記記憶装置で電源がオフとなっているもののうち、消費電力が上限値を超えない範囲で電源オン可能な記憶装置を特定してその電源をオンにし、消費電力が上限値を超えるために電源をオンにできない記憶装置を特定し、特定した記憶装置に書き込まれることになる差分データを前記差分データ格納部に格納させる入出力要求時電源制御ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
【請求項９】
前記上限値変更時電源制御ステップまたは前記入出力要求時電源制御ステップにおいて電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにする際に、前記記憶装置の電源オンオフ回数に基づく所定の基準による優先順位にしたがって、電源をオフにする記憶装置を選択することを特徴とする請求項８に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つ以上の物理的な記憶装置を備えたストレージシステムにおいて各記憶装置の電源を制御する技術に関する。
【背景技術】
【０００２】
１つ以上の物理的な記憶装置を搭載することにより、大容量化を実現したストレージシステムが知られている。このようなストレージシステムとしては、例えば、１つ以上のハードディスクドライブを搭載したディスクアレイ装置がある。近年、このようなストレージシステムにおいて、システム全体の消費電力を抑えることが重要な課題となっている。
【０００３】
例えば、ストレージシステムにおける消費電力を抑える技術として、ＭＡＩＤ（Massive Arrays of Idle Disks）技術がある。ＭＡＩＤとは、１つ以上の物理的な記憶装置のうちアクセス頻度の少ないものの電源を切ることにより、ストレージシステム全体の消費電力を低減する技術である。
【０００４】
また、例えば、特許文献１および特許文献２には、システム全体の消費電力が、あらかじめ定義された値を超えないよう電源制御を行うストレージシステムがそれぞれ記載されている。
【０００５】
特許文献１に記載されたストレージシステムは、複数の物理的な記憶装置を備え、ユーザにより電源オンの要求を受けた記憶装置について、電源をオンした場合のストレージシステム全体の予想総電力を算出する。そして、このストレージシステムは、予想総電力が、あらかじめ定められた最大使用可能電力を超えない場合に、要求対象の記憶装置の電源をオンにする。
【０００６】
また、特許文献２に記載されたストレージシステムは、システム全体の消費電力が規定値を超えると、ミラーリング構成における片方のディスクへの電力供給を停止する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１４０３５７号公報
【特許文献２】特開２００９−１８７４５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
昨今では、電力供給不足に対応するため、電力供給状況の変化に応じた消費電力の削減が求められている。例えば、電力需要量がピークとなる時間帯ではよりいっそうの消費電力の削減が求められる一方、電力供給に余裕がある時間帯での電力の使用が推奨される。また、電力供給状況の変化に対応するよう、時間帯によって異なる電気料金が適用される場合もあり、利用者にとっては、そのような電気料金の変化に応じて消費電力を削減することが望ましいと考えられる。
【０００９】
しかしながら、上述の特許文献１および特許文献２に記載されたストレージシステムは、あらかじめ定められた値を超えないようシステム全体の消費電力を抑えることができるものの、電力需要量がピークとなる時間帯において適切な最大消費電力を設定すると、電力供給に余裕がある時間帯で有効に電力を使うことができない。また、これらの関連技術のストレージシステムは、電力供給に余裕がある時間帯において適切な最大消費電力を設定すると、電力需要量がピークとなる時間帯で充分に消費電力を抑えることができない。また、ＭＡＩＤ技術を採用したストレージシステムも、このような電力供給状況の変化に対応できていない。
【００１０】
このように、関連技術のストレージシステムは、電力供給状況の変化に応じて消費電力を削減することができなかった。
【００１１】
本発明は、上述の課題を解決するためになされたもので、１つ以上の物理的な記憶装置を備えたストレージシステムにおいて、電力供給状況の変化に応じて消費電力を効率的に削減する技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の入出力制御装置は、１つ以上の記憶装置を有するストレージシステムに備えられた入出力制御装置であって、上位装置からの入出力要求に応じて前記記憶装置に対する入出力を制御する入出力制御部と、前記ストレージシステムの消費電力を監視する消費電力監視部と、前記消費電力の上限値に関するスケジュール情報および前記消費電力監視部により得られた消費電力の値を格納する消費電力情報格納部と、前記記憶装置の電源がオンであるかオフであるかを表す電源状態情報を記憶した記憶装置情報格納部と、前記スケジュール情報に基づき前記上限値の変更を検出すると、前記消費電力の値および変更後の前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにするとともに、前記上位装置から前記入出力要求があると、該入出力要求の対象となる前記記憶装置の電源をオンにした場合に予想される前記消費電力の値および前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにしてから、該入出力要求の対象となる前記記憶装置の電源をオンにする電源制御部と、を備える。
【００１３】
また、本発明のストレージシステムは、前記入出力制御装置と、前記１つ以上の記憶装置と、を備える。
【００１４】
また、本発明の電源制御方法は、１つ以上の記憶装置を有するストレージシステムの消費電力について設定される上限値に関するスケジュール情報を記憶しておき、前記ストレージシステムの消費電力を監視し、前記スケジュール情報に基づき前記上限値の変更を検出すると、前記消費電力の値および変更後の前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにし、上位装置から前記記憶装置に対する入出力要求があると、該入出力要求の対象となる前記記憶装置の電源をオンにした場合に予想される前記消費電力の値および前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにしてから、該入出力要求の対象となる前記記憶装置の電源をオンにする。
【００１５】
本発明のコンピュータ・プログラムは、１つ以上の記憶装置を有するストレージシステムの消費電力について設定される上限値に関するスケジュール情報を格納した消費電力情報格納部を用いて、前記ストレージシステムの消費電力を監視する消費電力監視ステップと、前記スケジュール情報に基づき前記上限値の変更を検出すると、前記消費電力の値および変更後の前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにする上限値変更時電源制御ステップと、上位装置から前記記憶装置に対する入出力要求があると、該入出力要求の対象となる前記記憶装置の電源をオンにした場合に予想される前記消費電力の値および前記上限値が所定の条件を満たす場合に、電源状態がオンの前記記憶装置のうち電源オフ可能な記憶装置の少なくともいずれかの電源をオフにしてから、該入出力要求の対象となる前記記憶装置の電源をオンにする入出力要求時電源制御ステップと、をコンピュータ装置に実行させる。
【発明の効果】
【００１６】
本発明は、１つ以上の物理的な記憶装置を備えたストレージシステムにおいて、電力供給状況の変化に応じて消費電力を効率的に削減する技術を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施の形態としてのストレージシステムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態としての入出力制御装置が上限値の変更を検出した場合の動作を示すフローチャートである。
【図３】本発明の第１の実施の形態としての入出力制御装置が入出力要求を受信した場合の動作を示すフローチャートである。
【図４】本発明の第２の実施の形態としてのストレージシステムの構成を示すブロック図である。
【図５】本発明の第２の実施の形態としての入出力制御装置が入出力要求を受信した場合の動作を示すフローチャートである。
【図６】図５に続くフローチャートである。
【図７】本発明の第２の実施の形態としてのストレージシステムにおける記憶装置の電源状態の一例を示す模式図である。
【図８】本発明の第２の実施の形態としてのストレージシステムにおける記憶装置の電源状態の変化の一例を示す模式図である。
【図９】本発明の第２の実施の形態としてのストレージシステムにおける記憶装置の電源状態の変化の他の一例を示す模式図である。
【図１０】本発明の第２の実施の形態としてのストレージシステムにおける記憶装置の電源状態の変化の他の一例を示す模式図である。
【図１１】本発明の第２の実施の形態としてのストレージシステムにおける記憶装置の電源状態の変化の他の一例を示す模式図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１９】
（第１の実施の形態）
本発明の第１の実施の形態としてのストレージシステム１の構成を図１に示す。図１において、ストレージシステム１は、入出力制御装置１０と、１つ以上の記憶装置８０とを備える。
【００２０】
記憶装置８０は、例えば、ハードディスクドライブによって構成される。これらの記憶装置８０は、１つ以上の記憶装置８０にデータを分散させて格納するＲＡＩＤ（Redundant Arrays of Inexpensive Disks）システムとして構成されていてもよい。また、いずれかの記憶装置８０は、他の記憶装置８０が故障した際のスペアディスクとして構成されていてもよい。
【００２１】
入出力制御装置１０は、上位装置９０に接続され、上位装置９０からの記憶装置８０に対する入出力要求を処理する。なお、図１には、６つの記憶装置８０および１つの上位装置９０を示しているが、本発明のストレージシステムが備える記憶装置の数および本発明のストレージシステムが接続される上位装置の数を限定するものではない。
【００２２】
また、入出力制御装置１０は、入出力制御部１１と、消費電力監視部１２と、消費電力情報格納部１３と、記憶装置情報格納部１４と、電源制御部１５と、を備える。ここで、入出力制御装置１０は、プロセッサと、メモリと、上位装置接続インタフェースと、記憶装置接続インタフェースと、電力測定装置接続インタフェースとによって構成されている。メモリには、コンピュータ装置を本実施の形態の入出力制御装置１０として機能させるためのコンピュータ・プログラムおよび各種データが記憶されている。プロセッサは、メモリに記憶されたコンピュータ・プログラムおよび各種データを読み込んで実行することにより、入出力制御装置１０の各部を制御する。上位装置接続インタフェースは、上位装置９０に接続してデータを送受信する。記憶装置接続インタフェースは、記憶装置８０に接続してデータを送受信する。電力測定装置接続インタフェースは、ストレージシステム１の電力を測定する装置に接続して測定値を受信する。また、入出力制御部１１は、上位装置接続インタフェースと、記憶装置接続インタフェースと、メモリに記憶されたコンピュータ・プログラムおよび各種データを読み込んで実行するプロセッサとによって構成される。また、消費電力監視部１２は、電力測定装置接続インタフェースと、メモリに記憶されたコンピュータ・プログラムおよび各種データを読み込んで実行するプロセッサとによって構成される。また、消費電力情報格納部１３および記憶装置情報格納部１４は、メモリによって構成される。また、電源制御部１５は、メモリに記憶されたコンピュータ・プログラムおよび各種データを読み込んで実行するプロセッサによって構成される。なお、入出力制御装置１０およびその各機能ブロックを構成するハードウェア構成は、上述の構成に限定されない。
【００２３】
入出力制御部１１は、上位装置９０からの入出力要求に応じて記憶装置８０に対する入出力を制御する。具体的には、入出力制御部１１は、上位装置９０から入出力要求を受信すると、入出力要求の対象となる記憶装置８０を特定する。もし、記憶装置８０がＲＡＩＤシステムを構成している場合、入出力制御部１１は、上位装置９０からの入出力要求の内容に応じて、入出力要求の対象データが分散されて格納される記憶装置８０の識別番号を特定すればよい。そして、入出力制御部１１は、入出力要求を受信したことを、対象となる記憶装置８０の情報と共に、電源制御部１５に通知する。これにより、入出力要求の対象となる記憶装置８０の電源が、電源制御部１５によりオンとなる。電源制御部１５の詳細については後述する。そして、入出力制御部１１は、対象の記憶装置８０に対して、要求された入出力処理を実行すればよい。
【００２４】
消費電力監視部１２は、ストレージシステム１の消費電力を監視する。ストレージシステム１の消費電力とは、例えば、電源がオンとなっている記憶装置８０の消費電力や、入出力制御装置１０の消費電力等を含む。例えば、消費電力監視部１２は、ストレージシステム１に電力を供給する電源に設置された電力測定装置から所定間隔で消費電力の値を取得してもよい。また、消費電力監視部１２は、取得した消費電力の値を、後述の消費電力情報格納部１３に格納させる。
【００２５】
消費電力情報格納部１３は、ストレージシステム１の消費電力の上限値に関するスケジュール情報および消費電力監視部１２によって得られた消費電力の値を格納している。スケジュール情報は、例えば、１日がいくつかに分けられた時間帯毎に消費電力の上限値が定められたものであってもよい。その他、スケジュール情報は、例えば、時間、曜日、年、月、日、季節、または、これらの組み合わせなどによる各種条件に対して消費電力の上限値が定められたものであってもよい。
【００２６】
記憶装置情報格納部１４は、各記憶装置８０の電源がオンであるかオフであるかを表す電源状態情報を少なくとも格納している。例えば、記憶装置情報格納部１４は、記憶装置８０を識別する識別番号と、電源状態情報とを対応付けて記憶しておけばよい。また、１つ以上の記憶装置８０によりＲＡＩＤシステムが構成されている場合、記憶装置情報格納部１４は、電源状態情報に加えて、ＲＡＩＤに関する情報を記憶していてもよい。ＲＡＩＤに関する情報とは、冗長構成情報や構成位置情報等であってもよい。ここでいう冗長構成情報とは、ＲＡＩＤシステムを構成する記憶装置８０の台数やＲＡＩＤのレベル等のＲＡＩＤ構成情報である。また、構成位置情報とは、１つの論理的な記憶装置を構成する記憶装置８０群における記憶装置８０の位置を表す情報である。
【００２７】
電源制御部１５は、消費電力情報格納部１３および記憶装置情報格納部１４に記憶された情報に基づいて、各記憶装置８０の電源オン／オフを個別に制御する。例えば、電源制御部１５は、入出力制御装置１０と記憶装置８０との間に設けられている電源制御回路（図示せず）に指示を出すことにより、電源オンまたはオフの対象として選択した記憶装置８０の電源をオンまたはオフするよう制御すればよい。
【００２８】
具体的には、電源制御部１５は、消費電力情報格納部１３に記憶されたスケジュール情報に基づき上限値に変更があることを検出すると、次のように記憶装置８０の電源制御を行う。この場合、電源制御部１５は、消費電力情報格納部１３に記憶されている最新の消費電力の値および上限値が所定の条件を満たすか否かを判断する。所定の条件とは、例えば、消費電力の値が上限値を超えることであってもよい。あるいは、所定の条件とは、消費電力の値が上限値の所定の割合を超えることであってもよい。そして、電源制御部１５は、消費電力の値および上限値が所定の条件を満たす場合、記憶装置情報格納部１４を参照することにより、電源状態がオンの記憶装置８０のうち電源オフ可能な記憶装置８０の少なくともいずれかを選択し、選択した記憶装置８０の電源をオフにする。電源オフ可能な記憶装置８０とは、例えば、その時点で実行中の入出力処理の対象となっていないものであってもよい。このとき、電源制御部１５は、消費電力監視部１２によって更新される消費電力の値が上限値を超えなくなるまで、いずれかの記憶装置８０を選択して電源をオフにする処理を繰り返してもよい。あるいは、電源制御部１５は、あらかじめ各記憶装置８０に仕様として定められた消費電力を記憶しておくことにより、消費電力の値が上限値を超えなくなるよう電源オフ対象の記憶装置８０を選択してもよい。
【００２９】
また、電源制御部１５は、上位装置９０からの入出力要求を入出力制御部１１から通知されると、次のように記憶装置８０の電源制御を行う。この場合、電源制御部１５は、入出力要求の対象となる記憶装置８０の電源をオンにした場合に予想されるストレージシステム１の消費電力の値およびこの時点の上限値が所定の条件を満たすか否かを判断する。所定の条件とは、例えば、予想される消費電力の値が上限値を超えることであってもよい。あるいは、所定の条件とは、予想される消費電力の値が上限値の所定の割合を超えることであってもよい。例えば、電源制御部１５は、あらかじめ各記憶装置８０に仕様として定められた消費電力を記憶しておくことにより、予想される消費電力および上限値が所定の条件を満たすか否かの判断を行ってもよい。この場合、電源制御部１５は、入出力要求の対象となる記憶装置８０のうち、電源がオフ状態となっているものの仕様上の消費電力と、消費電力監視部１２によって取得された現在の消費電力の値とに基づいて、上述の判断処理を行ってもよい。
【００３０】
もし、入出力要求の対象となる記憶装置８０の電源をオンにした場合に予想されるストレージシステム１の消費電力およびその時点の上限値が所定の条件を満たす場合、電源制御部１５は、電源状態がオンの記憶装置８０のうち電源オフ可能な記憶装置８０の少なくともいずれかの電源をオフにしてから、対象となる記憶装置８０の電源をオンにする。このとき、電源制御部１５は、対象となる記憶装置８０の電源をオンにした場合に予想されるストレージシステム１の消費電力が上限値を超えないよう、電源オフ対象の記憶装置８０を選択すればよい。
【００３１】
また、入出力要求の対象となる記憶装置８０の電源をオンにした場合に予想されるストレージシステム１の消費電力およびその時点の上限値が所定の条件を満たさない場合、電源制御部１５は、対象となる記憶装置８０のうち、電源がオフになっていたものの電源をオンにする。
【００３２】
以上のように構成されたストレージシステム１の動作について、図面を参照して説明する。まず、消費電力の上限値の変更が検出された場合のストレージシステム１における入出力制御装置１０の動作について、図２を参照して説明する。なお、図２において、消費電力情報格納部１３には、消費電力監視部１２による継続的な監視によりストレージシステム１の消費電力について取得された最新の値が記憶されているものとする。
【００３３】
図２では、まず、電源制御部１５は、消費電力情報格納部１３のスケジュール情報を参照することにより、上限値に変更があるか否かを判断する（ステップＳ１）。
【００３４】
ここで、上限値に変更がないと判断した場合、電源制御部１５は、ステップＳ１を再度実行する。
【００３５】
一方、上限値に変更があると判断した場合、電源制御部１５は、消費電力情報格納部１３に記憶されたスケジュール情報に基づき現時点の上限値を取得する（ステップＳ２）。
【００３６】
次に、電源制御部１５は、消費電力情報格納部１３に記憶された最新の消費電力の値を取得する（ステップＳ３）。
【００３７】
次に、電源制御部１５は、ステップＳ２で取得された現時点の上限値と、ステップＳ３で取得された最新の消費電力の値とが、所定の条件を満たすか否かを判断する（ステップＳ４）。例えば、前述のように、電源制御部１５は、最新の消費電力の値が上限値を上回るか否かを判断してもよい。
【００３８】
ここで、所定の条件を満たさない（例えば、消費電力の値が上限値を超えない）と判断した場合、入出力制御装置１０は、ステップＳ１からの動作を再度実行する。
【００３９】
一方、ステップＳ４で、所定の条件を満たす（例えば、消費電力の値が上限値を超える）と判断した場合、電源制御部１５は、記憶装置情報格納部１４を参照し、電源がオンとなっている記憶装置８０のうち電源オフ可能な記憶装置８０の少なくともいずれかの電源をオフにする（ステップＳ５）。
【００４０】
例えば、前述のように、電源制御部１５は、消費電力の値が上限値を下回るまで、電源オフ可能な記憶装置８０の少なくともいずれかの電源をオフにする処理を繰り返してもよいし、仕様上の消費電力に基づいて、消費電力の値が上限値を下回るよう電源オフ対象の記憶装置８０を選択して電源をオフにしてもよい。
【００４１】
次に、電源制御部１５は、ステップＳ５で電源をオフにした記憶装置８０に関して、記憶装置情報格納部１４に記憶された電源状態情報を更新する（ステップＳ６）。
【００４２】
そして、入出力制御装置１０は、ステップＳ１からの動作を繰り返し実行する。
【００４３】
以上で、上限値の変更が検出された場合の入出力制御装置１０の動作の説明を終了する。
【００４４】
次に、上位装置９０から入出力要求を受信した場合のストレージシステム１における入出力制御装置１０の動作について、図３を参照して説明する。なお、図３において、消費電力情報格納部１３には、消費電力監視部１２による継続的な監視によりストレージシステム１の消費電力について取得された最新の値が記憶されているものとする。
【００４５】
図３では、まず、入出力制御部１１は、上位装置９０から入出力要求を受信したか否かを判断する（ステップＳ１１）。
【００４６】
ここで、上位装置９０から入出力要求を受信していないと判断した場合、入出力制御装置１０は、ステップＳ１１の動作を再度実行する。
【００４７】
一方、上位装置９０から入出力要求を受信したと判断した場合、入出力制御部１１は、入出力要求の対象となる記憶装置８０の情報を取得する（ステップＳ１２）。例えば、前述のように、１つ以上の記憶装置８０がＲＡＩＤシステムとして構成されている場合、入出力制御部１１は、入出力要求対象のデータを分散して格納する記憶装置８０の識別番号を取得してもよい。そして、入出力制御部１１は、入出力要求を受信したことを、対象となる記憶装置８０の情報とともに、電源制御部１５に通知する。
【００４８】
次に、電源制御部１５は、消費電力情報格納部１３に記憶されたスケジュール情報に基づき現時点の上限値を取得する（ステップＳ１３）。
【００４９】
次に、電源制御部１５は、消費電力情報格納部１３に記憶された最新の消費電力の値を取得する（ステップＳ１４）。
【００５０】
次に、電源制御部１５は、ステップＳ１２で取得された対象となる記憶装置８０の情報と、ステップＳ１３で取得された現時点の上限値と、ステップＳ１４で取得された最新の消費電力の値とに基づいて、対象となる記憶装置８０の電源をオンにした場合のストレージシステム１に予想される消費電力の値および上限値が所定の条件を満たすか否かを判断する（ステップＳ１５）。例えば、前述のように、電源制御部１５は、予想される消費電力の値が上限値を上回るか否かを判断してもよい。
【００５１】
ここで、対象となる記憶装置８０の電源をオンにした場合に予想される消費電力の値および上限値が所定の条件を満たす（例えば、消費電力の値が上限値を超える）と判断した場合、電源制御部１５は、記憶装置情報格納部１４を参照し、電源がオンとなっている記憶装置８０のうち電源オフ可能な記憶装置８０の少なくともいずれかの電源をオフにする（ステップＳ１６）。
【００５２】
例えば、前述のように、電源制御部１５は、仕様上の消費電力に基づいて、対象となる記憶装置８０の電源をオンにした場合の消費電力の値が上限値を下回るよう、電源オフ対象の記憶装置８０を選択して電源をオフにしてもよい。
【００５３】
次に、電源制御部１５は、ステップＳ１６で電源をオフにした記憶装置８０に関して、記憶装置情報格納部１４に記憶された電源状態情報を更新する（ステップＳ１７）。
【００５４】
次に、電源制御部１５は、入出力要求の対象となる記憶装置８０の電源をオンにするよう制御する（ステップＳ１８）。
【００５５】
次に、電源制御部１５は、ステップＳ１８で電源をオンにした記憶装置８０に関して、記憶装置情報格納部１４に記憶された電源状態情報を更新する（ステップＳ１９）。
【００５６】
次に、入出力制御部１１は、対象となる記憶装置８０に対する入出力処理を実行する（ステップＳ２０）。ここで、入出力制御部１１による処理完了後、電源制御部１５は、ステップＳ１８で電源をオンにした記憶装置８０の電源をオフにしてもよい。
【００５７】
そして、入出力制御装置１０は、ステップＳ１１からの動作を繰り返し実行する。
【００５８】
一方、ステップＳ１５において、対象となる記憶装置８０の電源をオンにした場合に予想される消費電力の値および上限値が所定の条件を満たさない（例えば、消費電力の値が上限値を超えない）と判断した場合、入出力制御装置１０は、ステップＳ１８〜Ｓ２０の動作を実行することにより、対象となる記憶装置８０の電源をオンにし、入出力処理を実行する。
【００５９】
そして、入出力制御装置１０は、ステップＳ１１からの動作を繰り返し実行する。
【００６０】
以上で、上位装置９０から入出力要求を受信した場合の入出力制御装置１０の動作の説明を終了する。
【００６１】
次に、本発明の第１の実施の形態の効果について述べる。
【００６２】
本発明の第１の実施の形態としてのストレージシステムは、１つ以上の物理的な記憶装置を備えたストレージシステムにおいて、電力供給状況の変化に応じて消費電力を効率的に削減することができる。
【００６３】
その理由は、消費電力情報格納部が、ストレージシステムの消費電力の上限値のスケジュール情報を記憶しておき、消費電力監視部がストレージシステムの消費電力を監視し、電源制御部が、スケジュール情報に基づく上限値の変更を検出すると、監視結果の消費電力の値および上限値が所定の条件を満たすか否か（例えば、消費電力の値が上限値を上回るか否か）を判断し、満たす場合には、電源がオンとなっている記憶装置のうち少なくともいずれかの電源をオフにするよう制御するからである。また、入出力制御部が入出力要求を受信すると、電源制御部が、スケジュール情報に基づくその時点での消費電力の上限値を取得し、入出力要求対象の記憶装置の電源をオンにした場合のストレージシステムの上限値およびその時点での消費電力の上限値が所定の条件を満たすか否か（例えば、消費電力の値が上限値を上回るか否か）を判断し、満たす場合には、電源がオンとなっている記憶装置のうち少なくともいずれかの電源をオフにするよう制御するからである。
【００６４】
これにより、本実施の形態としてのストレージシステムは、電力供給状況の変化や電気料金の変化に対応して可変となるようスケジュールされた消費電力の上限値に基づいて各記憶装置の電源のオンオフを制御可能となるからである。
【００６５】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００６６】
まず、本発明の第２の実施の形態としてのストレージシステム２の構成を図４に示す。図４において、ストレージシステム２は、本発明の第１の実施の形態としてのストレージシステム１に対して、入出力制御装置１０に替えて入出力制御装置２０を備える点が異なる。入出力制御装置２０は、本発明の第１の実施の形態としての入出力制御装置１０と同一のハードウェア構成に加えて、ネットワークインタフェースを備える。入出力制御装置２０は、本発明の第１の実施の形態としての入出力制御装置１０と同様に、上位装置９０および記憶装置８０に接続されることに加えて、ネットワークインタフェースを介して管理端末７０に接続される。
【００６７】
入出力制御装置２０は、本発明の第１の実施の形態としての入出力制御装置１０に対して、入出力制御部１１に替えて入出力制御部２１と、記憶装置情報格納部１４に替えて記憶装置情報格納部２４と、電源制御部１５に替えて電源制御部２５とを備え、さらに、差分データ格納部２６と、設定情報格納部２７と、情報設定部２８とを備える点が異なる。差分データ格納部２６および設定情報格納部２７は、メモリによって構成される。情報設定部２８は、ネットワークインタフェースと、メモリに記憶されたコンピュータ・プログラムおよび各種データを読み込んで実行するプロセッサによって構成される。なお、入出力制御装置２０およびその各機能ブロックを構成するハードウェア構成は、上述の構成に限定されない。
【００６８】
入出力制御部２１は、本発明の第１の実施の形態における入出力制御部１１と同様に構成されることに加えて、電源制御部２５からの通知に応じて、入出力要求において書き込み対象となっているデータの少なくとも一部（差分データ）を、差分データ格納部２６に格納させる。電源制御部２５からの通知については詳細を後述する。
【００６９】
記憶装置情報格納部２４は、本発明の第１の実施の形態における記憶装置情報格納部１４と同様に各記憶装置８０の電源状態情報を格納することに加えて、各記憶装置８０について電源がオンオフされた電源オンオフ回数を格納する。電源オンオフ回数は、例えば、電源がオンされた回数であってもよいし、電源がオフされた回数であってもよい。あるいは、電源がオンまたはオフされる度にカウントされる回数であってもよい。
【００７０】
電源制御部２５は、本発明の第１の実施の形態における電源制御部１５と同様に構成されることに加えて、次のように構成される。
【００７１】
電源制御部２５は、電源状態がオンの記憶装置８０の少なくともいずれかの電源をオフにする際に、各記憶装置８０の電源オンオフ回数に基づく所定の基準による優先順位にしたがって、電源をオフにする記憶装置８０を選択する。例えば、電源制御部２５は、記憶装置情報格納部２４に記憶された電源オンオフ回数がより少ないものから順に、電源オフ対象として選択するようにしてもよい。
【００７２】
また、電源制御部２５は、上位装置９０からの入出力要求があったときに、電源オフ可能な記憶装置８０の電源を全てオフにしたとしても、その入出力要求の対象となる記憶装置８０の電源をオンにした場合に予想されるストレージシステム２の消費電力が上限値を超える場合、次のように電源制御を行う。この場合、電源制御部２５は、対象となる記憶装置８０で電源がオフとなっているもののうち、消費電力が上限値を超えない範囲で電源オン可能な記憶装置８０を特定する。そして、電源制御部２５は、該当する記憶装置８０の電源をオンにする。また、この場合、電源制御部２５は、対象となる記憶装置８０で電源がオフとなっているもののうち、消費電力が上限値を超えるために電源をオンにできない記憶装置８０を特定する。そして、電源制御部２５は、該当する記憶装置８０に書き込まれることになる差分データを差分データ格納部２６に書き込むよう、入出力制御部２１に通知する。
【００７３】
また、電源制御部２５は、入出力制御部２１による入出力処理が終了すると、その入出力処理の対象となった記憶装置８０の電源をオフにする。ただし、このとき、電源制御部２５は、記憶装置情報格納部２４を参照することにより、対象となった記憶装置８０の電源オンオフ回数を考慮して電源をオフする時期を決定する。具体的には、電源制御部２５は、入出力処理が終了した記憶装置８０の電源オンオフ回数が所定条件を満たす場合には、所定期間経過後にその記憶装置８０の電源をオフにする。ここで、所定期間としては、後述の設定情報格納部２７に格納されている電源オン保持期間が適用される。また、電源制御部２５は、入出力処理が終了した記憶装置８０の電源オンオフ回数が所定条件を満たさない場合には、入出力処理が終了した時点で、その記憶装置８０の電源をオフにする。
【００７４】
ここで、所定条件とは、例えば、電源オンオフ回数が閾値を超えたことであってもよい。詳細には、例えば、所定条件とは、その記憶装置８０がストレージシステム２に搭載されて以降の通算の電源オンオフ回数が閾値を超えたことであってもよいし、単位時間あたりの電源オンオフ回数が閾値を超えたことであってもよい。
【００７５】
差分データ格納部２６は、入出力要求における書き込み対象のデータのうち、書き込み処理が未完了の部分である上述の差分データを格納する。
【００７６】
情報設定部２８は、管理端末７０から、ストレージシステム２の消費電力の上限値のスケジュール情報を取得することにより、取得したスケジュール情報を、消費電力情報格納部１３に格納させる。
【００７７】
また、情報設定部２８は、管理端末７０から、電源オンオフ回数の閾値および電源オン保持期間を取得することにより、取得した電源オンオフ回数の閾値および電源オン保持期間を、設定情報格納部２７に格納させる。なお、情報設定部２８は、電源オンオフ回数の閾値および電源オン保持期間として、記憶装置８０毎に設定される値を取得してもよい。
【００７８】
設定情報格納部２７に記憶される電源オンオフ回数の閾値および電源オン保持期間は、電源制御部２５によって、入出力処理終了後の記憶装置８０の電源オフ制御が行われる際に用いられる。
【００７９】
例えば、情報設定部２８は、消費電力の上限値のスケジュール情報と、電源オンオフ回数の閾値と、電源オン保持期間とを設定させるためのユーザインタフェースを管理端末７０に対して提供することにより、これらの情報を取得すればよい。具体的には、情報設定部２８は、消費電力の上限値のスケジュール情報と、電源オンオフ回数の閾値と、電源オン保持期間とをそれぞれ入力または選択させる設定画面情報を生成して管理端末７０に送信してもよい。この際、情報設定部２８は、消費電力情報格納部１３および設定情報格納部２７に既に設定されているこれらの情報があれば、現在の設定情報を合わせて提示するようにしてもよい。そして、情報設定部２８は、管理端末７０において入力装置を介して入力された情報を受信することにより、消費電力の上限値のスケジュール情報と、電源オンオフ回数の閾値と、電源オン保持期間とを取得すればよい。
【００８０】
管理端末７０は、プロセッサと、メモリと、記憶装置と、ネットワークインタフェースと、入力装置と、表示装置とを含むコンピュータ装置によって構成される。管理端末７０は、ストレージシステム２における消費電力の上限値のスケジュール情報と、電源オンオフ回数の閾値と、電源オン保持期間とを、入力装置を介して取得し、取得した情報を入出力制御装置２０に対して送信する。このとき、管理端末７０は、前述のように、入出力制御装置２０から設定画面情報を受信し、受信した設定画面情報を表示装置に表示することにより、入力装置を介してこれらの情報を取得して送信してもよい。
【００８１】
このとき、例えば、管理端末７０において入力される電源オン保持期間として望ましい値は、次のように算出される。例えば、記憶装置８０の仕様として、電源オンオフ回数５００００回、寿命５年が定められていたことを想定する。この場合、この記憶装置８０は、１日あたり約２７回の電源オンオフが許容されると算出される。したがって、この記憶装置８０は、１時間に１回電源オンオフしてもよいことがわかる。この場合、電源オン保持期間を１時間に設定してしまうと、１時間電源オンを保持した後電源オフし、その直後にアクセスが来る場合もある。したがって、この場合、電源オン保持期間は、最低でも２時間に設定されることが好ましい。
【００８２】
以上のように構成されるストレージシステム２の動作について、図面を参照して説明する。
【００８３】
まず、消費電力の上限値に変更が検出された場合の動作については、図２を参照して説明した本発明の第１の実施の形態としての入出力制御装置１０の動作と略同様である。ただし、ステップＳ５において、電源をオフする対象の記憶装置８０を、記憶装置情報格納部２４に格納された電源オンオフ回数に基づく所定の基準による優先順位にしたがって選択する点が異なる。例えば、入出力制御装置２０は、消費電力の上限値に変更が検出された場合、電源オフ可能な記憶装置８０のうち、電源オンオフ回数のより少ないものをオフして、消費電力の値が上限値を超えないようにする。
【００８４】
次に、上位装置９０から入出力要求があった場合のストレージシステム２における入出力制御装置２０の動作について、図５〜図６を参照して説明する。なお、情報設定部２８は、管理端末７０から消費電力の上限値のスケジュール情報、電源オンオフ回数の閾値および電源オン保持期間を取得することにより、これらの情報を既に消費電力情報格納部１３および設定情報格納部２７に格納済みであるものとする。また、消費電力情報格納部１３には、消費電力監視部１２による継続的な監視によりストレージシステム２の消費電力について取得された最新の値が記憶されているものとする。
【００８５】
ここでは、まず、入出力制御装置２０は、図３を参照して説明した本発明の第１の実施の形態としての入出力制御装置１０と同様にステップＳ１１〜Ｓ１５まで動作する。そして、入出力制御装置２０は、入出力要求の対象となる記憶装置８０の電源をオンにして予想される消費電力およびこの時点の上限値が所定の条件を満たさない（例えば、予想される消費電力が上限値を超えない）と判断した場合、ステップＳ１８〜Ｓ２０を実行することにより、対象となる記憶装置８０の電源をオンにして入出力処理を実行する。
【００８６】
次に、電源制御部２５は、入出力処理を完了した電源オン状態の記憶装置８０のそれぞれについて、記憶装置情報格納部２４および設定情報格納部２７を参照することにより、電源オンオフ回数が所定の条件を満たすか否かを判断する（ステップＳ２１）。例えば、前述のように、電源制御部２５は、各記憶装置８０の電源オンオフ回数が閾値を超えているか否かを判断してもよい。
【００８７】
ここで、電源オンオフ回数が所定条件を満たさない（例えば、閾値以下である）と判断した記憶装置８０について、電源制御部２５は、所定期間を待機することなく、電源をオフにする（ステップＳ２３）。
【００８８】
次に、電源制御部２５は、ステップＳ２３で電源をオフにした記憶装置８０に関して、記憶装置情報格納部２４に記憶された電源状態情報を更新する（ステップＳ２４）。
【００８９】
一方、電源オンオフ回数が所定条件を満たす（例えば、閾値を超えている）と判断した記憶装置８０について、電源制御部２５は、設定情報格納部２７に設定された電源オン保持期間の間待機した後（ステップＳ２２）、電源をオフにする（ステップＳ２３）。
【００９０】
次に、電源制御部２５は、ステップＳ２３で電源をオフにした記憶装置８０に関して、記憶装置情報格納部２４に記憶された電源状態情報を更新する（ステップＳ２４）。
【００９１】
そして、入出力制御装置２０は、ステップＳ１１からの動作を繰り返し実行する。
【００９２】
また、ステップＳ１５で、対象となる記憶装置８０の電源をオンにした場合の消費電力の値および上限値が所定条件を満たす（例えば、予想される消費電力が上限値を超える）と判断した場合の入出力制御装置２０の動作について、図６を参照して説明する。
【００９３】
図６では、まず、電源制御部２５は、記憶装置情報格納部２４を参照し、電源がオンとなっている記憶装置８０の少なくともいずれかの電源をオフにする（ステップＳ３１）。このとき、電源制御部２５は、電源をオフする対象の記憶装置８０を、記憶装置情報格納部２４に格納された電源オンオフ回数に基づく所定の基準による優先順位にしたがって選択する。
【００９４】
次に、電源制御部２５は、ステップＳ３１で電源をオフにした記憶装置８０に関して、記憶装置情報格納部２４に記憶された電源状態情報を更新する（ステップＳ３２）。
【００９５】
次に、電源制御部２５は、対象となる記憶装置８０の電源をオンにした場合に予想されるストレージシステム２の消費電力の値およびその時点の上限値が所定の条件を満たすか否かを再度判断する（ステップＳ３３）。例えば、前述のように、電源制御部２５は、予想される消費電力の値が上限値を超えているか否かを判断してもよい。
【００９６】
ここで、ステップＳ３１において少なくともいずれかの記憶装置８０の電源がオフにされたことにより、予想される消費電力の値および上限値が所定の条件を満たさない（例えば、予想される消費電力の値が上限値を上回らない）と判断した場合、入出力制御装置２０は、図５のステップＳ１８〜Ｓ２４の動作を実行する。これにより、入出力制御装置２０は、対象となる記憶装置８０の電源をオンし、入出力処理を実行後、所定のタイミングで電源をオフにする。
【００９７】
そして、入出力制御装置２０は、ステップＳ１１からの動作を繰り返し実行する。
【００９８】
一方、ステップＳ３１で電源オフ可能な記憶装置８０の電源を全てオフにしても（あるいは、電源オフ可能な記憶装置８０がない場合で）、ステップＳ３３において、対象となる記憶装置８０の電源をオンにした場合に予想されるストレージシステム２の消費電力の値および上限値が所定の条件を満たす（例えば、予想される消費電力の値が上限値を上回る）と判断した場合、入出力制御装置２０は、次のように動作する。この場合、電源制御部２５は、対象となる記憶装置８０のうち、消費電力の値が上限値を上回らない範囲で電源オン可能な記憶装置８０と、オンにすることができない記憶装置８０とを特定する（ステップＳ３４）。
【００９９】
次に、電源制御部２５は、ステップＳ３４で、オンにすることができないとして特定した記憶装置８０を、入出力制御部２１に通知する。そして、入出力制御部２１は、該当する記憶装置８０に書き込まれる予定の差分データを、差分データ格納部２６に格納させる（ステップＳ３５）。
【０１００】
次に、入出力制御装置２０は、ステップＳ３４で電源オン可能と判断した記憶装置８０について、図５のステップＳ１８〜Ｓ２４の動作を実行する。これにより、入出力制御装置２０は、対象となる記憶装置８０のうち電源オン可能なものについて電源をオンし、入出力処理を実行後、所定のタイミングで電源をオフにする。
【０１０１】
そして、入出力制御装置２０は、ステップＳ１１からの動作を繰り返し実行する。
【０１０２】
以上で、入出力制御装置２０の動作の説明を終了する。
【０１０３】
なお、本実施の形態において、入出力制御装置２０は、差分データ格納部２６に記憶させた差分データについて、本来書き込まれる予定の記憶装置８０の電源オンが可能となる任意の時期に該記憶装置８０の電源をオンにすることにより、差分データを該記憶装置８０に書き込む処理を行えばよい。
【０１０４】
次に、以上のように動作する入出力制御装置２０により、記憶装置８０の電源状態が変化する具体例について、図７〜図１１を参照して説明する。なお、図７〜図１１において、ドットパターンで塗りつぶされたシリンダ型の図形は、電源オンのまま電源状態が変化しない記憶装置８０を表している。また、格子パターンで塗りつぶされたシリンダ型の図形は、電源オンの状態から電源オフの状態に制御された記憶装置８０を表している。また、斜線パターンで塗りつぶされたシリンダ型の図形は、電源オフの状態から電源オンの状態に制御された記憶装置８０を表している。また、パターンで塗りつぶされていないシリンダ型の図形は、電源オフのまま電源状態が変化しない記憶装置８０を表している。また、パターンで塗りつぶされていない図形のうち破線で囲まれたシリンダ型の図形は、電源オンが必要であるものの電源オンできない状態の記憶装置８０を表している。また、上述の各パターンの矩形は、その縦の長さにより、該当するパターンに対応する各記憶装置８０の消費電力の大きさを模式的に表したものである。また、図７〜図１１では、ストレージシステム２が６つの記憶装置８０（８０ａ〜８０ｆ）を備えるものとして説明を行う。また、図７〜図１１では、ストレージシステム２の消費電力は、記憶装置８０ａ〜８０ｆの消費電力の和であると仮定する。
【０１０５】
図７は、ストレージシステム２の消費電力の値が、スケジュール情報に基づくその時点の上限値を超えていない状態の一例を表している。図７では、記憶装置８０ａ、８０ｃ、および、８０ｅの電源がオンとなっている。これらの記憶装置８０の消費電力の和であるストレージシステム２の消費電力は、この時点における消費電力の上限値を超えていない。
【０１０６】
図８は、スケジュール情報に基づき消費電力の上限値の変更が検出された場合の各記憶装置８０の電源状態の変化の一例を表している。図８において、電源制御部２５は、消費電力の上限値（旧）から上限値（新）への変更を検出し（図２のステップＳ１でＹｅｓ）、記憶装置８０ａ、８０ｃ、８０ｅの消費電力の和である消費電力の値（旧）が、上限値（新）を超えると判断する（ステップＳ４でＹｅｓ）。そこで、電源制御部２５は、電源がオン状態の記憶装置８０ａ、８０ｃ、８０ｅのいずれかを選択する。このとき、電源制御部２５は、電源オンオフ回数に基づく優先順位にしたがって記憶装置８０ｃを選択し、その電源をオフにする（ステップＳ５）。これにより、ストレージシステム２の消費電力の値（新）は、変更後の上限値（新）を超えない。
【０１０７】
図９は、入出力要求が受信された場合の各記憶装置８０の電源状態の変化の一例を表している。図９において、電源制御部２５は、入出力要求の受信を検出し（図５のステップＳ１１）、この入出力要求の対象となる記憶装置８０が、記憶装置８０ａ、８０ｂ、８０ｃであると特定したとする（ステップＳ１２）。そして、電源制御部２５は、対象となる記憶装置８０ａ、８０ｂ、８０ｃのうちオフとなっている記憶装置８０ｂの電源をオンにした場合に予想されるストレージシステム２の消費電力の値（新）は、この時点の消費電力の上限値を超えないと判断する（ステップＳ１５でＮｏ）。そこで、電源制御部２５は、記憶装置８０ｂの電源をオンにする（ステップＳ１８）。そして、入出力制御部２１は、入出力処理を実行する。これにより、ストレージシステム２の消費電力の値（新）は、消費電力の上限値を超えない。
【０１０８】
図１０は、入出力要求が受信された場合の各記憶装置８０の電源状態の変化の他の一例を表している。図１０において、電源制御部２５は、入出力要求の受信を検出し（図５のステップＳ１１）、この入出力要求の対象となる記憶装置８０が、記憶装置８０ｂ、８０ｄ、８０ｅであると特定したとする（ステップＳ１２）。そして、電源制御部２５は、対象となる記憶装置８０ｂ、８０ｄ、８０ｅのうちオフとなっている記憶装置８０ｂ、８０ｄの電源をオンにした場合に予想されるストレージシステム２の消費電力の値は、この時点の消費電力の上限値を超えると判断する（ステップＳ１５でＹｅｓ）。そこで、電源制御部２５は、電源がオン状態の記憶装置８０ａ、８０ｃ、８０ｅのいずれかを選択する。このとき、電源制御部２５は、今回の入出力要求の対象となっていない記憶装置８０ａおよび記憶装置８０ｃのうち、電源オンオフ回数に基づいて記憶装置８０ｃを選択する。そして、電源制御部２５は、記憶装置８０ｃの電源をオフにする（ステップＳ３１）。これにより、電源制御部２５は、対象となる記憶装置８０ｂ、８０ｄ、８０ｅのうちオフとなっている記憶装置８０ｂ、８０ｄの電源をオンにした場合に予想されるストレージシステム２の消費電力の値は、この時点の消費電力の上限値を超えなくなったと判断する（ステップＳ３３でＮｏ）。そこで、電源制御部２５は、記憶装置８０ｂ、８０ｄの電源をオンにする（ステップＳ１８）。そして、入出力制御部２１は、入出力処理を実行する。これにより、ストレージシステム２の消費電力の値（新）は、消費電力の上限値を超えない。
【０１０９】
図１１は、入出力要求が受信された場合の各記憶装置８０の電源状態の変化のさらに他の一例を表している。図１１において、電源制御部２５は、入出力要求の受信を検出し（図５のステップＳ１１）、この入出力要求の対象となる記憶装置８０が、記憶装置８０ｂ、８０ｃ、８０ｆであると特定したとする（ステップＳ１２）。そして、電源制御部２５は、対象となる記憶装置８０ｂ、８０ｃ、８０ｆのうちオフとなっている記憶装置８０ｂ、８０ｆの電源をオンにした場合に予想されるストレージシステム２の消費電力の値は、この時点の消費電力の上限値を超えると判断する（ステップＳ１５でＹｅｓ）。そこで、電源制御部２５は、電源がオン状態の記憶装置８０ａ、８０ｃ、８０ｅのいずれかを選択する。このとき、電源制御部２５は、記憶装置８０ａ、８０ｃ、８０ｅのいずれもが、今回の入出力要求または他の処理の対象となっており、電源オフ不可であると判断する。したがって、電源制御部２５は、対象となる記憶装置８０ｂ、８０ｆの電源をオンにした場合に予想されるストレージシステム２の消費電力の値は、この時点の消費電力の上限値を依然として超えると判断する（ステップＳ３３でＹｅｓ）。そこで、電源制御部２５は、記憶装置８０ｂ、８０ｆのうち、記憶装置８０ｂを電源オン可能とし、記憶装置８０ｆの電源をオンにできないと特定する（ステップＳ３４）。これにより、入出力制御部２１は、記憶装置８０ｆに書き込まれる予定の差分データを、差分データ格納部２６に格納させる（ステップＳ３５）。そして、電源制御部２５は、記憶装置８０ｂの電源をオンにして（ステップＳ１８）、入出力制御部２１は、入出力処理を実行する。これにより、ストレージシステム２の消費電力の値（新）が消費電力の上限値を超えることがない。
【０１１０】
以上で、入出力制御装置２０により、記憶装置８０の電源状態が変化する具体例の説明を終了する。
【０１１１】
次に、本発明の第２の実施の形態の効果について説明する。
【０１１２】
本発明の第２の実施の形態としてのストレージシステムは、電力供給状況の変化に応じて消費電力を効率的に削減しながらも、消費電力を削減するための電源オフ回数の増加に伴う記憶装置の信頼性の劣化を低減することができる。
【０１１３】
その理由は、電源制御部が、ストレージシステムの消費電力および上限値が所定の条件を満たす場合に、電源がオンとなっている記憶装置のうち電源をオフする対象を、各記憶装置の電源オンオフ回数に基づく所定の基準による優先順位にしたがって選択するからである。例えば、電源制御部により、電源オンオフ回数がより少ない記憶装置を選択して電源をオフにすることにより、ストレージシステムの消費電力が上限値を超えることを抑えつつ、電源オンオフ回数のより多い記憶装置の信頼性の低下を低減することができる。さらなる理由は、電源制御部が、消費電力を削減するために入出力処理終了後の記憶装置の電源をオフする際に、電源オンオフ回数が所定条件を満たす記憶装置については、所定期間経過後に電源をオフするからである。これにより、本実施の形態は、例えば、電源オンオフ回数が閾値を超えている記憶装置については、該記憶装置を対象とする入出力要求を処理後、所定期間内に再度、該記憶装置を対象とする入出力要求が受信されるような場合に、電源オンオフ回数を増加させることがなく、信頼性の低下を低減可能となる。
【０１１４】
また、本発明の第２の実施の形態としてのストレージシステムは、１つ以上の物理的な記憶装置を備えたストレージシステムにおいて、電力供給状況の変化に応じて消費電力を効率的に削減しながらも、入出力処理性能の低下を防止することができる。
【０１１５】
その理由は、電源制御部が、電源オフ可能な記憶装置の全ての電源をオフにしても（あるいは電源オフ可能な記憶装置がない場合）、対象となる記憶装置の電源を全てオンにすると消費電力および上限値が所定の条件を満たす（たとえば、消費電力の値が上限値を超える）と判断した場合、電源をオンにできない記憶装置に書き込まれる予定の差分データを、差分データ格納部に格納させるからである。これにより、本実施の形態の入出力制御装置は、消費電力を削減するために入出力要求対象の記憶装置の電源がオンにできないことによる入出力性能の低下を防止することができる。
【０１１６】
なお、上述した本発明の各実施の形態において、電源制御部は、スケジュール情報に基づく上限値に変更を検出した場合、および、上位装置からの入出力要求を受信した場合に、記憶装置の電源制御を行うものとして説明した。これに加えて、各実施の形態における電源制御部は、ある記憶装置が故障した場合に、スペアディスクとして設定された記憶装置の電源をオンにする制御を行ってよい。
【０１１７】
また、上述した本発明の各実施の形態において、電源制御部は、ストレージシステムの消費電力またはストレージシステムに予想される消費電力が上限値を超えるか否かを所定の条件として判断を行う例を中心に説明を行った。この他、電源制御部は、消費電力が上限値の所定割合を超えるか否かを所定の条件として判断処理を行ってもよいし、消費電力および上限値に基づくその他の各種条件を所定の条件として判断処理を行ってもよい。
【０１１８】
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した入出力制御装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置（記憶媒体）に記憶しておき、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【０１１９】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【０１２０】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【符号の説明】
【０１２１】
１、２    ストレージシステム
１０、２０    入出力制御装置
１１、２１    入出力制御部
１２    消費電力監視部
１３    消費電力情報格納部
１４、２４    記憶装置情報格納部
１５、２５    電源制御部
２６    差分データ格納部
２７    設定情報格納部
２８    情報設定部
７０    管理端末
８０    記憶装置
９０    上位装置
【図１】
0005704123.tif 000002
【図２】
0005704123.tif 000003
【図３】
0005704123.tif 000004
【図４】
0005704123.tif 000005
【図５】
0005704123.tif 000006
【図６】
0005704123.tif 000007
【図７】
0005704123.tif 000008
【図８】
0005704123.tif 000009
【図９】
0005704123.tif 000010
【図１０】
0005704123.tif 000011
【図１１】
0005704123.tif 000012