(57)【特許請求の範囲】
【請求項１】
ホスト計算機にネットワークを介して接続されるストレージシステムの省電力化方法であって、
前記ストレージシステムは、前記ホスト計算機から書き込み要求されるデータを格納するディスク装置と、前記ディスク装置へのアクセスを制御する複数のコントローラと、を備え、
前記コントローラは、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続される記憶部と、を備え、
前記プロセッサは、前記ストレージシステムの負荷を測定し、前記測定したストレージシステムの負荷に応じて、前記コントローラの電源を制御し、
前記ホスト計算機は、前記ディスク装置の記憶領域を論理記憶領域単位で認識し、
前記プロセッサは、前記複数のコントローラのうちの一つの電源を遮断する前に、当該電源が遮断されるコントローラに割り当てられている論理記憶領域を、他のコントローラに割り当てることを特徴とすることを特徴とするストレージシステムの省電力化方法。
【請求項２】
前記記憶部は、前記ストレージシステムの負荷と前記コントローラの稼動台数との対応を管理するコントローラ数制御情報を記憶し、
前記プロセッサは、
前記コントローラ数制御情報及び前記測定したストレージシステムの負荷に基づいて、前記コントローラの稼動台数を決定し、
前記決定した数のコントローラが稼動するように、前記コントローラの電源を制御することを特徴とする請求項１に記載のストレージシステムの省電力化方法。
【請求項３】
前記プロセッサは、前記複数のコントローラのうちの一つに電源を投入すると、当該電源が投入されたコントローラに、他のコントローラに割り当てられている論理記憶領域を割り当てることを特徴とする請求項１に記載のストレージシステムの省電力化方法。
【請求項４】
前記プロセッサは、前記ホスト計算機からの指示に応じて、前記コントローラの電源を制御することを特徴とする請求項１に記載のストレージシステムの省電力化方法。
【請求項５】
前記記憶部は、前記ストレージシステムの負荷と前記コントローラの動作モードとの対応を管理するモード管理情報を記憶し、
前記プロセッサは、前記測定した負荷及び前記モード管理情報に基づいて、前記コントローラの動作モードを決定することを特徴とする請求項１に記載のストレージシステムの省電力化方法。
【請求項６】
前記動作モードのそれぞれは、前記プロセッサの駆動周波数、稼動する前記プロセッサの個数及び前記プロセッサ内で稼動するコアの個数のうち少なくとも一つが異なることを特徴とする請求項５に記載のストレージシステムの省電力化方法。
【請求項７】
ホスト計算機によってアクセスされるストレージシステムであって、
前記ストレージシステムは、前記ホスト計算機から書き込み要求されるデータを格納するディスク装置と、前記ディスク装置へのアクセスを制御する複数のコントローラと、を備え、
前記コントローラは、
前記ストレージシステムの負荷を測定する測定部と、
前記測定部が測定したストレージシステムの負荷に応じて、前記コントローラの電源を制御する電源制御部と、を備え、
前記ホスト計算機は、前記ディスク装置の記憶領域を論理記憶領域単位で認識し、
前記コントローラは、前記論理記憶領域の割り当てを制御するアクセス制御部を備え、
前記アクセス制御部は、前記電源制御部によって前記複数のコントローラのうちの一つの電源が遮断される前に、当該電源が遮断されるコントローラに割り当てられている論理記憶領域を、他のコントローラに割り当てることを特徴とするストレージシステム。
【請求項８】
前記コントローラは、前記ストレージシステムの負荷と前記コントローラの稼動台数との対応を管理するコントローラ数制御情報を記憶し、
前記電源制御部は、
前記コントローラ数制御情報及び前記測定部が測定したストレージシステムの負荷に基づいて、前記コントローラの稼動台数を決定し、
前記決定した数のコントローラが稼動するように、前記コントローラの電源を制御することを特徴とする請求項７に記載のストレージシステム。
【請求項９】
前記コントローラは、前記論理記憶領域の割り当てを制御するアクセス制御部を備え、
前記アクセス制御部は、前記電源制御部によって前記複数のコントローラのうちの一つの電源が投入されると、当該電源が投入されたコントローラに、他のコントローラに割り当てられている論理記憶領域を割り当てることを特徴とする請求項７に記載のストレージシステム。
【請求項１０】
前記電源制御部は、前記ホスト計算機からの指示に応じて、前記コントローラの電源を制御することを特徴とする請求項７に記載のストレージシステム。
【請求項１１】
前記ストレージシステムの負荷は、前記プロセッサの使用率、前記インタフェースの使用率及び前記コントローラのデータ転送速度のうち少なくとも一つを含むことを特徴とする請求項７に記載のストレージシステム。
【請求項１２】
前記コントローラは、前記ストレージシステムの負荷と前記コントローラの動作モードとの対応を管理するモード管理情報を記憶し、
前記電源制御部は、前記測定した負荷及び前記モード管理情報に基づいて、前記コントローラの動作モードを変更することを特徴とする請求項７に記載のストレージシステム。
【請求項１３】
前記動作モードのそれぞれは、前記プロセッサの駆動周波数、稼動する前記プロセッサの個数及び前記プロセッサ内で稼動するコアの個数のうち少なくとも一つが異なることを特徴とする請求項１２に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト計算機から書き込み要求されるストレージシステムに関し、特に、ストレージシステムの消費電力を低減する技術に関する。
【背景技術】
【０００２】
近年、ストレージシステムの記憶領域の大容量化が進行している。このような大規模ストレージシステムでは、消費電力の増大及び発熱量の増大が問題となっている。
【０００３】
そこで、ストレージシステムの消費電力を低減する技術が開示されている（例えば、特許文献１参照。）。当該ストレージシステムは、ホストコンピュータから所定時間以上アクセスされていないディスク装置の電源を遮断する。これによって、当該ストレージシステムは、ホストコンピュータからアクセスされていないディスク装置の消費電力を低減できる。
【特許文献１】特開２０００−２９３３１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述した従来技術によると、ストレージシステムは、ディスク装置の消費電力を低減できる。しかし、ディスク装置へのアクセスを制御するコントローラの消費電力を低減できなかった。つまり、従来のストレージシステムのコントローラは、ホストコンピュータからアクセスされていない状態であっても、電力を消費し続けてしまうという問題があった。
【０００５】
また、従来のストレージシステムは、自身の処理能力よりも非常に低い負荷しかかかっていない時であっても、すべてのコントローラを稼動していた。そのため、従来のストレージシステムは、負荷に関わらず、所定の電力を消費し続けてしまうという問題があった。
【０００６】
本発明は、前述した問題点に鑑みてなされたものであり、ストレージシステムの消費電力を低減することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態はストレージシステムの省電力化方法であって、ホスト計算機にネットワークを介して接続されるストレージシステムの省電力化方法であって、前記ストレージシステムは、前記ホスト計算機から書き込み要求されるデータを格納するディスク装置と、前記ディスク装置へのアクセスを制御する複数のコントローラと、を備え、前記コントローラは、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続される記憶部と、を備え、前記プロセッサは、前記ストレージシステムの負荷を測定し、前記測定したストレージシステムの負荷に応じて、前記コントローラの電源を制御し、前記ホスト計算機は、前記ディスク装置の記憶領域を論理記憶領域単位で認識し、前記プロセッサは、前記複数のコントローラのうちの一つの電源を遮断する前に、当該電源が遮断されるコントローラに割り当てられている論理記憶領域を、他のコントローラに割り当てることを特徴とすることを特徴とするものである。
【発明の効果】
【０００８】
本発明の一実施形態によれば、ストレージシステムの消費電力を低減できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面を参照して説明する。
【００１０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の計算機システムのブロック図である。
【００１１】
計算機システムは、ストレージシステム１、ホスト２、管理端末３及びネットワーク４を含む。
【００１２】
ホスト２は、ＣＰＵ、メモリ及びインタフェースを備える計算機である。ホスト２は、メモリに記憶されているプログラムを実行することによって、各種処理を実行する。例えば、ホスト２は、ストレージシステム１にデータを格納する。
【００１３】
ストレージシステム１は、コントローラ１１、ディスク装置及びパス１３を備える。コントローラ１１は、図２で後述するが、ストレージシステム１を制御する。また、コントローラ１１は、ディスク装置に対しデータを入出力する。ディスク装置は、ホストからのデータを記憶する。パス１３は、コントローラ１１とディスク装置とを接続する。
【００１４】
ホスト２は、ディスク装置の記憶領域を論理ボリューム（ＬＵ：Ｌｏｇｉｃａｌ  Ｕｎｉｔ）１２単位で認識する。ストレージシステム１は、一つ以上のＬＵ１２を内部に構築する。
【００１５】
管理端末３は、ＣＰＵ、メモリ及びインタフェースを備える計算機である。管理端末３は、メモリに記憶されているプログラムを実行することによって、各種処理を実行する。管理端末３のメモリには、管理プログラム３１が記憶されている。管理端末３は、メモリに記憶されている管理プログラム３１を実行することによって、ストレージシステム１を管理する。
【００１６】
管理端末３は、例えば、ＬＡＮ等によって、ストレージシステム１へ接続されている。本ブロック図の管理端末３は、ストレージシステム１へ直接接続されているが、ネットワーク４を経由してストレージシステム１へ接続されていてもよい。
【００１７】
ネットワーク４は、例えば、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、であり、ストレージシステム１とホスト２とを接続する。
【００１８】
図２は、本発明の第１の実施の形態のストレージシステム１のコントローラ１１のブロック図である。
【００１９】
コントローラ１１は、メモリ１１１、ＣＰＵ１１２、ホストインタフェース（ホストＩＦ）１１３、ディスクインタフェース（ディスクＩＦ）１１４、管理用インタフェース（ＩＦ）１１５、データ転送制御部１１６及びキャッシュメモリ１１７を備える。
【００２０】
メモリ１１１は、電源制御プログラム１１１０、モード管理テーブル１１１１、閾値管理テーブル１１１２、性能モニタリングプログラム１１１３及びアクセス制御プログラム１１１５を記憶している。
【００２１】
電源制御プログラム１１１０は、コントローラ１１の電源を制御する。また、電源制御プログラム１１１０は、コントローラ１１の省電力モードを変更する。なお、省電力モードは、コントローラ１１の消費電力を低減するために変更される動作モードである。
【００２２】
モード管理テーブル１１１１は、図４で後述するが、コントローラ１１の省電力モードとコントローラ１１の構成部位の動作内容との対応を管理する。閾値管理テーブル１１１２は、図５で後述するが、コントローラ１１の構成部位の負荷状態とコントローラ１１の省電力モードとの対応を管理する。
【００２３】
性能モニタリングプログラム１１１３は、ストレージシステム１の負荷を監視する。
【００２４】
アクセス制御プログラム１１１５は、ＬＵ１２へのアクセスを制御する。例えば、アクセス制御プログラム１１１５は、ＬＵ１２へアクセスするコントローラ１１を変更する。
【００２５】
ＣＰＵ１１２は、メモリ１１１に記憶されているプログラムを実行することによって、各種処理を実行する。また、ＣＰＵ１１２は、一つ以上のコア１１２１を備える。コア１１２１は、演算回路である。ＣＰＵ１１２は、コア１１２１を多く備えるほど、データの処理量が増える。なお、ＣＰＵ１１２は、一つを図示しているが、コントローラ１１に複数備えられていてもよい。
【００２６】
ホストＩＦ１１３は、ホスト２と接続するインタフェースである。ホストＩＦ１１３は、二つを図示しているが、コントローラ１１にいくつ備えられていてもよい。また、ホストＩＦ１１３は、一つ以上のポートを備える。
【００２７】
ディスクＩＦ１１４は、ディスク装置と接続するインタフェースである。ディスクＩＦ１１４は、二つを図示しているが、コントローラ１１にいくつ備えられていてもよい。また、ディスクＩＦ１１４は、一つ以上のポートを備える。
【００２８】
管理用ＩＦ１１５は、管理端末３と接続するインタフェースである。
【００２９】
なお、ホストＩＦ１１３、ディスクＩＦ１１４及び管理用ＩＦ１１５には、ファイバチャネル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、Ｉｎｆｉｎｉｂａｎｄ、ＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）又はＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）等が適用される。
【００３０】
キャッシュメモリ１１７は、ホスト２からのデータを一時的に記憶する。コントローラ１１は、キャッシュメモリ１１７を備えることによって、ＬＵ１２へのアクセスを高速化できる。なお、キャッシュメモリ１１７は、メモリ１１１の記憶領域の一部であってもよい。
【００３１】
データ転送制御部１１６は、ＣＰＵ１１２、ホストＩＦ１１３、ディスクＩＦ１１４及びキャッシュメモリ１１７間のデータ転送を制御する。データ転送制御部１１６は、例えば、ＬＳＩである。
【００３２】
次に、図２と異なる構成のコントローラ１１について説明する。
【００３３】
図３は、本発明の第１の実施の形態のストレージシステム１のコントローラ１１のブロック図である。
【００３４】
図３のコントローラ１１は、図２のコントローラの変形例である。本実施の形態のストレージシステム１は、図２又は図３のいずれのコントローラ１１を備えていてもよい。
【００３５】
図３のコントローラ１１では、ホストＩＦ１１３及びディスクＩＦ１１４のそれぞれがＣＰＵ１１２を備える。また、接続制御部１１８が、メモリ１１１、ホストＩＦ１１３、ディスクＩＦ１１４及びキャッシュメモリ１１７間のデータ転送を制御する。これによって、メモリ１１１及びキャッシュメモリ１１７は、すべてのＣＰＵ１１２によって共有される。
【００３６】
図３のコントローラ１１のそれ以外の構成は、図２のコントローラと同一なので、説明を省略する。
【００３７】
なお、コントローラ１１は、図２で説明した構成又は図３で説明した構成のいずれであっても、同一の処理によって消費電力を低減できる。
【００３８】
図４は、本発明の第１の実施の形態のコントローラ１１のモード管理テーブル１１１１の構成図である。
【００３９】
モード管理テーブル１１１１は、省電力モード番号１１１１Ａ及び動作内容１１１１Ｂを含む。
【００４０】
省電力モード番号１１１１Ａは、コントローラ１１の省電力モードの一意な識別子である。動作内容１１１１Ｂは、当該省電力モード時におけるコントローラ１１の構成部位の動作内容である。
【００４１】
本構成図のモード管理テーブル１１１１は、ＣＰＵ１１２、キャッシュメモリ１１７、ホストＩＦ１１３、ディスクＩＦ１１４及び各種バスに関する情報を含む。
【００４２】
まず、コントローラ１１内のＣＰＵ１１２に関する省電力モードを説明する。
【００４３】
省電力モード番号１１１１Ａが「０」の場合、コントローラ１１内のすべてのＣＰＵ１１２は、自身のリソースをすべて使用し、且つ最高駆動周波数及び最高駆動電圧で動作する。
【００４４】
また、省電力モード番号１１１１Ａが「１」の場合、ＣＰＵ１１２は、最高駆動周波数より低い所定の駆動周波数で動作する。また、省電力モード番号１１１１Ａが「２」の場合、ＣＰＵ１１２は、稼動するコア１１２１を所定の個数に減らして動作する。また、省電力モード番号１１１１Ａが「３」の場合、コントローラ１１内の所定の個数のＣＰＵ１１２が、動作を停止する。また、省電力モード番号１１１１Ａが「４」の場合、コントローラ１１内のすべてのＣＰＵ１１２が、動作を停止する。
【００４５】
他にも、省電力モードの変化に応じて、ＣＰＵ１１２は、駆動周波数を段階的に変更してもよい。
【００４６】
また、省電力モードは、ＣＰＵ１１２の駆動周波数の変更と稼動するＣＰＵ１１２の個数の変更との組み合わせで定義されてもよい。同様に、省電力モードは、ＣＰＵ１１２の駆動周波数の変更と稼動するコア１１２１の個数の変更との組み合わせで定義されてもよい。
【００４７】
次に、コントローラ１１内のキャッシュメモリ１１７に関する省電力モードを説明する。省電力モード番号１１１１Ａが「０」の場合、キャッシュメモリ１１７は、最高駆動周波数で動作する。
【００４８】
また、省電力モード番号１１１１Ａが「１」の場合、キャッシュメモリ１１７は、最高駆動周波数より低い所定の駆動周波数で動作する。また、省電力モード番号１１１１Ａが「４」の場合、キャッシュメモリ１１７は、動作を停止する。
【００４９】
また、省電力モードの変化に応じて、キャッシュメモリ１１７が、駆動周波数を段階的に変更してもよい。
【００５０】
次に、コントローラ１１内のホストＩＦ１１３に関する省電力モードを説明する。省電力モード番号１１１１Ａが「０」の場合、コントローラ１１内のすべてのホストＩＦ１１３は、自身のリソースのすべてを使用し、且つ最高転送速度で動作する。
【００５１】
また、省電力モード番号１１１１Ａが「１」の場合、ホストＩＦ１１３は、最高転送速度より低い所定の転送速度で動作する。
【００５２】
また、省電力モード番号１１１１Ａが「２」の場合、ホストＩＦ１１３は、稼動するポートを所定の個数に減らして動作する。
【００５３】
具体的には、ＣＰＵ１１２は、ホストＩＦ１１３内の稼動中のポートの中から、ＬＵ１２が割り当てられていないポートを探す。つまり、ホスト２に使用されていないポートを探す。なお、ＣＰＵ１１２は、ホスト２に使用されていないポートを見つけられない場合、ＬＵ１２の割り当てを変更することによって、ホスト２に使用されていないポートを作成する。そして、ＣＰＵ１１２は、ホスト２に使用されていないポートの電源を遮断する。
【００５４】
また、省電力モード番号１１１１Ａが「３」の場合、コントローラ１１内の所定の個数のホストＩＦ１１３が、動作を停止する。
【００５５】
具体的には、ＣＰＵ１１２は、コントローラ１１内のホストＩＦ１１３の中から、ＬＵ１２が割り当てられていないポートのみを備えるホストＩＦ１１３を探す。つまり、ホスト２に使用されていないホストＩＦ１１３を探す。なお、ＣＰＵ１１２は、ホスト２に使用されていないホストＩＦ１１３を見つけられない場合、ＬＵ１２の割り当てを変更することによって、ホスト２に使用されていないホストＩＦ１１３を作成する。そして、ＣＰＵ１１２は、ホスト２に使用されていないホストＩＦ１１３の電源を遮断する。
【００５６】
また、省電力モード番号１１１１Ａが「４」の場合、コントローラ１１内のすべてのホストＩＦ１１３が、動作を停止する。具体的には、ＣＰＵ１１２は、コントローラ１１内のすべてのホストＩＦ１１３の電源を遮断する。
【００５７】
次に、コントローラ１１内のディスクＩＦ１１４に関する省電力モードを説明する。省電力モード番号１１１１Ａが「０」の場合、コントローラ１１内のすべてのディスクＩＦ１１４は、自身のリソースのすべてを使用し、且つ最高転送速度で動作する。
【００５８】
また、省電力モード番号１１１１Ａが「１」の場合、ディスクＩＦ１１４は、最高転送速度より低い所定の転送速度で動作する。
【００５９】
また、省電力モード番号１１１１Ａが「２」の場合、ディスクＩＦ１１４は、転送路のリンクを所定の個数に減らして動作する。
【００６０】
具体的には、ＣＰＵ１１２は、ディスクＩＦ１１４内のリンクの中から、稼動していないディスク装置のみに接続されているリンクを探す。そして、ＣＰＵ１１２は、探し出したリンクの電源を遮断する。
【００６１】
また、省電力モード番号１１１１Ａが「３」の場合、コントローラ１１内の所定の個数のディスクＩＦ１１４が、動作を停止する。
【００６２】
具体的には、ＣＰＵ１１２は、ディスクＩＦ１１４の中から、稼動していないディスク装置のみに接続されているディスクＩＦ１１４を探す。そして、ＣＰＵ１１２は、探し出したディスクＩＦ１１４の電源を遮断する。
【００６３】
また、省電力モード番号１１１１Ａが「４」の場合、コントローラ１１内のすべてのディスクＩＦ１１４が、動作を停止する。具体的には、ＣＰＵ１１２は、コントローラ１１内のすべてのディスクＩＦ１１４の電源を遮断する。
【００６４】
次に、コントローラ１１内のバスに関する省電力モードを説明する。省電力モード番号１１１１Ａが「０」の場合、コントローラ１１内のデータ転送制御部１１６は、最高駆動周波数で動作する。これによって、コントローラ１１内のバスのデータ転送速度を最大にする。
【００６５】
また、省電力モード番号１１１１Ａが「１」の場合、データ転送制御部１１６は、最高駆動周波数より低い所定の駆動周波数で動作する。これによって、コントローラ１１内のバスのデータ転送速度を減少させる。
【００６６】
また、省電力モード番号１１１１Ａが「４」の場合、データ転送制御部１１６は、動作を停止する。
【００６７】
なお、省電力モードは、前述した動作内容の組み合わせによって定義されてもよい。
【００６８】
図５は、本発明の第１の実施の形態のコントローラ１１の閾値層管理テーブル１１１２の構成図である。
【００６９】
閾値管理テーブル１１１２は、省電力モード番号１１１２Ａ及び動作条件１１１２Ｂを含む。
【００７０】
省電力モード番号１１１２Ａは、コントローラ１１の省電力モードの一意な識別子である。動作条件１１１２Ｂは、コントローラ１１の構成部位が当該省電力モードに該当する条件である。具体的には、動作条件１１１２Ｂには、コントローラ１１の負荷状態等が格納されている。
【００７１】
例えば、ＣＰＵ１１２の使用率が６０％以上の場合、ＣＰＵ１１２は、省電力モード番号１１１２Ａが「０」の省電力モードで動作する。また、ＣＰＵ１１２の使用率が４０％以上６０％未満の場合、ＣＰＵ１１２は、省電力モード番号１１１２Ａが「１」の省電力モードで動作する。
【００７２】
また、ＣＰＵ１１２の使用率が２０％以上４０％未満の場合、ＣＰＵ１１２は、省電力モード番号１１１２Ａが「２」の省電力モードで動作する。また、ＣＰＵ１１２の使用率が０％より大きく２０％未満の場合、ＣＰＵ１１２は、省電力モード番号１１１２Ａが「３」の省電力モードで動作する。また、ＣＰＵ使用率が０％の場合、ＣＰＵ１１２は、省電力モード番号１１１２Ａが「４」の省電力モードで動作する。
【００７３】
なお、閾値管理テーブル１１１２では、ＣＰＵ１１２の使用率でなく、コントローラ１１のデータ処理速度等の他の閾値に基づいて、ＣＰＵ１１２の省電力モードが定義されていてもよい。
【００７４】
また、キャッシュメモリ１１７の使用率が５０％以上の場合、キャッシュメモリ１１７は、省電力モード番号１１１２Ａが「０」の省電力モードで動作する。また、キャッシュメモリ１１７の使用率が０％より大きく５０％未満の場合、キャッシュメモリ１１７は、省電力モード番号１１１２Ａが「１」の省電力モードで動作する。また、キャッシュメモリ１１７の使用率が０％の場合、キャッシュメモリ１１７は、省電力モード番号１１１２Ａが「４」の省電力モードで動作する。
【００７５】
なお、閾値管理テーブル１１１２では、キャッシュメモリ１１７の使用率でなく、コントローラのデータ処理速度等の他の閾値に基づいて、キャッシュメモリ１１７の省電力モードが定義されていてもよい。
【００７６】
また、当該閾値管理テーブル１１１２では、コントローラ１１のデータ処理速度に対するホストＩＦ１１３のデータ転送速度の最大値（データ転送能力）の割り合いに応じて、ホストＩＦ１１３の省電力モードが定義されている。
【００７７】
例えば、コントローラ１１が、四つのホストＩＦ１１３を備える場合で説明する。また、それぞれのホストＩＦ１１３は、１ＧＢ／ｓのデータ転送能力を備える。よって、コントローラ１１に備えられているホストＩＦ１１３の全体では、４ＧＢ／ｓのデータ転送能力を備える。このとき、ある期間のコントローラ１１のデータ処理速度が１ＧＢ／ｓであったとする。すると、ホストＩＦ１１３は、データ転送能力の２５％しか使用されていない。よって、一つのホストＩＦ１１３のみが、動作すればよい。つまり、三つのホストＩＦ１１３は、動作を停止できる。
【００７８】
ユーザが、このような内容を考慮した省電力モードを、省電力モード番号「３」と定義したとする。すると、ユーザは、当該省電力モードに関する情報を、モード管理テーブル１１１１及び閾値管理テーブル１１１２に定義する。
【００７９】
具体的には、省電力モード番号１１１２Ａが「３」であるレコードを、閾値管理テーブル１１１２から選択する。次に、選択したレコードの動作条件１１１２ＢのホストＩＦの欄に、「２５％以下」を格納する。
【００８０】
次に、省電力モード番号１１１１Ａが「３」であるレコードを、モード管理テーブル１１１１から選択する。次に、選択したレコードの動作内容１１１１ＢのホストＩＦの欄に、「ＩＦ数＝１」を格納する。
【００８１】
これによって、コントローラ１１のデータ処理速度に対するホストＩＦ１１３のデータ転送能力の割合が２５％以下になると、ＣＰＵ１１２は、三つのホストＩＦ１１３の電源を遮断する。
【００８２】
なお、閾値管理テーブル１１１２には、ホストＩＦ１１３の使用率等の他の閾値に応じて、ホストＩＦ１１３の省電力モードが定義されていてもよい。
【００８３】
閾値管理テーブル１１１２には、ホストＩＦ１１３と同様に、ディスクＩＦ１１４及び各種バスに関する省電力モードが定義されている。
【００８４】
コントローラ１１は、このような閾値管理テーブル１１１２を備えることによって、現在のデータ処理速度に応じて、ホストＩＦ及びディスクＩＦ等の構成部位の稼動数を変更できる。
【００８５】
また、閾値管理テーブル１１１２には、消費電力が増加する場合の閾値及び消費電力が減少する場合の閾値の二つの閾値が定義されていてもよい。これによって、コントローラ１１は、データ処理量の急激な変化にも対応できる。
【００８６】
モード管理テーブル１１１１及び閾値管理テーブル１１１２には、ホストＩＦ１１３の省電力モードとディスクＩＦ１１４の省電力モードとが別個に定義されている。なぜなら、ホストＩＦ１１３とディスクＩＦ１１４とが、同一のデータ転送速度を必要とするとは限らないからである。これによって、コントローラ１１は、すべてのホストＩＦ１１３を稼動しながら、一部のディスクＩＦ１１４の動作を停止することもできる。同様に、すべてのディスクＩＦ１１４を稼動しながら、一部のホストＩＦ１１３の動作を停止することもできる。つまり、コントローラ１１は、それぞれのインタフェースごとに電源を遮断できるので、消費電力を更に削減できる。
【００８７】
図６は、本発明の第１の実施の形態のコントローラ１１の省電力モード変更処理のフローチャートである。
【００８８】
コントローラ１１は、省電力モード変更処理を周期的に行う。
【００８９】
性能モニタリングプログラム１１１３は、コントローラ１１の負荷を周期的に測定する（６０１）。具体的には、性能モニタリングプログラム１１１３は、閾値管理テーブル１１１２の動作条件１１１２Ｂに対応する負荷を測定する。例えば、コントローラ１１が図５で示す閾値管理テーブルを備える場合、性能モニタリングプログラム１１１３は、ＣＰＵ１１２の使用率、キャッシュメモリ１１７の使用率及びコントローラ１１のデータ処理速度を測定する。
【００９０】
次に、電源制御プログラム１１１０は、性能モニタリングプログラム１１１３の測定結果が閾値管理テーブル１１１２の動作条件１１１２Ｂに該当するレコードを、閾値管理テーブル１１１２から選択する。次に、選択したレコードから、省電力モード番号１１１２Ａを抽出する（６０２）。なお、電源制御プログラム１１１０は、コントローラ１１のそれぞれの構成部位ごとに、省電力モード番号１１１２Ａを抽出する。
【００９１】
次に、抽出した省電力モード番号１１１２Ａとコントローラ１１の構成部位に現在設定されている省電力モード番号とを比較することによって、当該構成部位に設定されている省電力モードを変更する必要があるかどうかを判定する（６０３）。なお、電源制御プログラム１１１０は、コントローラ１１のそれぞれの構成部位ごとに、省電力モードを変更する必要があるかどうかを判定する。
【００９２】
電源制御プログラム１１１０は、省電力モードの変更が不要であると判定すると、省電力モード変更処理を終了する。
【００９３】
一方、省電力モードの変更が必要であると判定すると、省電力モードを変更する。具体的には、抽出した省電力モード番号１１１２Ａとモード管理テーブル１１１１の省電力モード番号１１１１Ａとが一致するレコードを、モード管理テーブル１１１１から抽出する。次に、抽出したレコードから、動作内容１１１１Ｂを抽出する。そして、抽出した動作内容１１１１Ｂを、コントローラ１１の構成部位に指示する（６０４）。
【００９４】
すると、コントローラ１１の構成部位は、指示された動作内容１１１１Ｂに対応する処理を行うことによって、省電力モードを実行する（６０５）。
【００９５】
以上のように、コントローラ１１は、負荷に応じて省電力モードを変更する。
【００９６】
なお、電源制御プログラム１１１０は、コントローラ１１のそれぞれの構成部位で異なる省電力モードを設定しているが、コントローラ１１のすべての構成部位で同一の省電力モードを設定してもよい。この場合、電源制御プログラム１１１０は、ステップ６０２で抽出した省電力モード番号１１１２Ａの中から、最小の省電力モード番号を選択する。そして、選択した省電力モード番号を、コントローラ１１のすべての構成部位に設定する。
【００９７】
（第２の実施の形態）
第２の実施の形態のストレージシステム１は、負荷に応じて、コントローラ１１の稼動台数を変更する。
【００９８】
第２の実施の形態の計算機システムの構成は、コントローラ１１を除き、第１の実施の形態の計算機システム（図１）と同一である。同一の構成は、説明を省略する。
【００９９】
図７は、本発明の第２の実施の形態のストレージシステム１のコントローラ１１のブロック図である。
【０１００】
本実施の形態のコントローラ１１は、メモリ１１１に記憶されている情報を除き、第１の実施の形態のコントローラ（図２）と同一である。同一の構成には同一の番号を付すことによって、説明を省略する。
【０１０１】
メモリ１１１は、電源制御プログラム１１１０、コントローラ数制御テーブル１１１６、性能モニタリングプログラム１１１３及びアクセス制御プログラム１１１５を記憶している。
【０１０２】
電源制御プログラム１１１０、性能モニタリングプログラム１１１３及びアクセス制御プログラム１１１５は、第１の実施の形態のコントローラ１１のメモリ１１１に記憶されているものと同一であるので、説明を省略する。
【０１０３】
コントローラ数制御テーブル１１１６は、図８で後述するが、コントローラ１１の負荷状態とコントローラ１１の稼動台数との対応を管理する。
【０１０４】
図８は、本発明の第２の実施の形態のコントローラ１１のコントローラ数制御テーブル１１１６の構成図である。
【０１０５】
コントローラ数制御テーブル１１１６は、稼動コントローラ数１１１６Ａ及び動作条件１１１６Ｂを含む。なお、本構成図のコントローラ数制御テーブル１１１６は、ストレージシステム１がコントローラ１１を四台備える場合である。
【０１０６】
稼動コントローラ数１１１６Ａは、当該レコードに該当した時のコントローラ１１の稼動台数である。動作条件１１１６Ｂは、当該レコードに該当する条件である。具体的には、動作条件１１１６Ｂには、ストレージシステム１の負荷等が格納される。
【０１０７】
本構成図のコントローラ数制御テーブル１１１６の動作条件１１１６Ｂには、ランダム性能及びシーケンシャル性能に関する条件が格納されている。
【０１０８】
ランダム性能は、ストレージシステム１のＩＯＰＳ（Ｉ／Ｏ  ｐｅｒ  ｓｅｃｏｎｄ）の最大値に対するストレージシステム１の現在のＩＯＰＳの割り合いである。なお、ストレージシステム１のＩＯＰＳは、当該ストレージシステム１に備えられているすべてのコントローラ１１のＩＯＰＳの合計となる。
【０１０９】
また、シーケンシャル性能は、ストレージシステム１のデータ処理速度の最大値に対するストレージシステム１の現在のデータ処理速度の割り合いである。なお、ストレージシステム１のデータ処理速度は、当該ストレージシステム１に備えられているすべてのコントローラ１１のデータ転送速度の合計となる。
【０１１０】
動作条件１１１６Ｂには、一つの条件が格納されてもよいし、複数の条件が格納されてもよい。なお、動作条件１１１６Ｂに複数の条件が格納されている場合、電源制御プログラム１１１０は、動作条件１１１６Ｂに格納されている条件ごとに、対応する稼動コントローラ数１１１６Ａを抽出する。そして、抽出した稼動コントローラ数１１１６Ａの中から、最大値を選択する。そして、選択した最大値を、稼動コントローラ数とする。
【０１１１】
図９は、本発明の第２の実施の形態の稼動コントローラ数変更処理のフローチャートである。
【０１１２】
コントローラ１１は、稼動コントローラ数変更処理を周期的に行う。
【０１１３】
まず、性能モニタリングプログラム１１１３は、ストレージシステム１の負荷を周期的に計測する（７０１）。具体的には、性能モニタリングプログラム１１１３は、コントローラ数制御テーブル１１１６の動作条件１１１６Ｂに対応する負荷を測定する。
【０１１４】
次に、電源制御プログラム１１１０は、性能モニタリングプログラム１１１３の測定結果がコントローラ数制御テーブル１１１６の動作条件１１１６Ｂに該当するレコードを、コントローラ数制御テーブル１１１６から選択する。次に、選択したレコードから、稼動コントローラ数１１１６Ａを抽出する（７０２）。
【０１１５】
次に、電源制御プログラム１１１０は、抽出した稼動コントローラ数１１１６Ａと稼動中のコントローラ１１の数とを比較する。これによって、コントローラ１１の稼動台数を変更するかどうかを判定する（７０３）。
【０１１６】
コントローラ１１の稼動台数を変更しないと判定すると、稼動コントローラ数変更処理を終了する。
【０１１７】
一方、コントローラ１１の稼動台数を変更すると判定すると、コントローラ１１の稼動台数を減少させるかどうかを判定する（７０４）。
【０１１８】
コントローラ１１の稼動台数を減少させると判定すると、稼動中のコントローラ１１の中から、停止予定コントローラを決定する（７０５）。具体的には、電源制御プログラム１１１０は、稼動中のコントローラ１１の中から、負荷の低いコントローラ１１を選択する。そして、選択したコントローラ１１を、停止予定コントローラとする。なお、停止予定コントローラは、稼動の停止が予定されるコントローラ１１である。
【０１１９】
次に、電源制御プログラム１１１０は、ＬＵ１２の割り当てを変更する必要があるかどうかを判定する（７０６）。具体的には、停止予定コントローラ１１にＬＵ１２が割り当てられている場合、ＬＵ１２の割り当てを変更する必要があると判定する。また、停止予定コントローラ１１にＬＵ１２が割り当てられていない場合、ＬＵ１２の割り当てを変更する必要がないと判定する。
【０１２０】
ＬＵ１２の割り当てを変更する必要がない場合、ＬＵ１２の割り当てを変更する処理を行う必要がない。よって、そのままステップ７０９に進む。
【０１２１】
一方、ＬＵ１２の割り当てを変更する必要がある場合、稼動中のコントローラ１１の中から、移行先コントローラを選択する。具体的には、停止予定コントローラを除く稼動中のコントローラ１１の中から、負荷の低いコントローラ１１を選択する。そして、選択したコントローラを、移行先コントローラとする。なお、移行先コントローラは、停止予定コントローラに割り当てられているＬＵ１２の処理を引き継ぐコントローラ１１である。
【０１２２】
次に、アクセス制御プログラム１１１５は、電源制御プログラム１１１０によって決定された停止予定コントローラ及び移行先コントローラに、ＬＵ１２の割り当ての変更を指示する（７０７）。具体的には、停止予定コントローラに割り当てられているＬＵ１２を、移行先コントローラに割り当てるように指示する。
【０１２３】
すると、移行先コントローラは、停止予定コントローラに割り当てられているＬＵ１２の処理を引き継ぐ（７０８）。
【０１２４】
具体的には、ストレージシステム１のすべてのコントローラ１１がメモリ１１１及びキャッシュメモリ１１７を共有しているか否かによって処理が異なる。
【０１２５】
まず、コントローラ１１がメモリ１１１及びキャッシュメモリ１１７を共有している場合を説明する。
【０１２６】
この場合、共有キャッシュメモリには、ＬＵ１２に未反映のユーザデータが格納されている。また、共有メモリには、ＬＵ１２の構成情報等が格納されている。よって、移行先コントローラは、共有メモリに格納されているＬＵ１２の構成情報を参照しながら、処理を引き継いだＬＵ１２を制御する。そして、移行先コントローラは、共有キャッシュメモリに格納されている未反映のユーザデータを、処理を引き継いだＬＵ１２に反映する。
【０１２７】
一方、停止予定コントローラは、割り当てられていたＬＵ１２に対するアクセス要求を拒否する。そして、割り当てられていたＬＵ１２の管理を停止する。すると、パス切替プログラムが、ホスト２からストレージシステムへのアクセスパスを切り替える。なお、パス切替プログラムは、ＬＵ１２の割り当ての変更を検知すると、アクセスパスを適切に切り替えるプログラムである。また、パス切替プログラムは、ネットワーク上のスイッチ又はホスト２等に備えられる。
【０１２８】
次に、コントローラ１１がメモリ及びキャッシュメモリを共有していない場合を説明する。
【０１２９】
この場合、それぞれのコントローラ１１は、自身に割り当てられているＬＵ１２に未反映のユーザデータをキャッシュメモリ１１７に格納している。また、それぞれのコントローラ１１は、自身に割り当てられているＬＵ１２の構成情報等をメモリ１１１に格納している。
【０１３０】
まず、停止予定コントローラは、自身のキャッシュメモリ１１７に格納されている未反映のユーザデータを、ＬＵ１２に反映する。この反映処理の間、停止予定コントローラに割り当てられているライトアクセスは、すべてライトスルーとする。これによって、停止予定コントローラは、キャッシュメモリ１１７に格納されているすべてのユーザデータをＬＵ１２に反映できるので、ＬＵ１２の内容の整合性をとることができる。次に、停止予定コントローラは、自身のメモリ１１１に格納されているＬＵ１２の構成情報を、当該ＬＵの所定の位置に書き込む。
【０１３１】
次に、移行先コントローラは、処理を引き継いだＬＵ１２の所定の位置から、当該ＬＵ１２の構成情報を取得する。次に、移行先コントローラは、取得した構成情報をメモリ１１１に格納する。そして、移行先コントローラは、メモリ１１１に格納されているＬＵ１２の構成情報に基づいて、当該ＬＵ１２を制御する。
【０１３２】
すると、パス切替プログラムが、ホスト２からストレージシステムへのアクセスパスを切り替える。なお、パス切替プログラムは、ＬＵ１２の割り当ての変更を検知すると、アクセスパスを適切に切り替えるプログラムである。また、パス切替プログラムは、ネットワーク上のスイッチ又はホスト２等に備えられる。
【０１３３】
このようにして、移行先コントローラが、停止予定コントローラに割り当てられているＬＵ１２の処理を引き継ぐ。
【０１３４】
次に、電源制御プログラム１１１０は、停止予定コントローラの電源を遮断する（７０９）。そして、稼動コントローラ数変更処理を終了する。
【０１３５】
一方、電源制御プログラム１１１０は、ステップ７０４でコントローラ１１の稼動台数を増加させると判定すると、稼動を停止しているコントローラ１１の中から、稼動を開始するコントローラ１１を選択する。そして、選択した稼動開始コントローラの電源を投入する（７１０）。
【０１３６】
次に、電源制御プログラム１１１０は、稼動中のコントローラ１１の負荷を分散する。
【０１３７】
具体的には、電源制御プログラム１１１０は、移行元コントローラを決定する（７１１）。移行元コントローラは、稼動開始コントローラが処理を引き継ぐＬＵ１２を割り当てられているコントローラ１１である。例えば、電源制御プログラム１１１０は、稼動中のコントローラ１１の中から、負荷の高いコントローラ１１を選択する。そして、選択したコントローラを、移行元コントローラとする。
【０１３８】
次に、アクセス制御プログラム１１１５は、稼動開始コントローラ及び移行元コントローラに、ＬＵ１２の割り当ての変更を指示する（７１２）。具体的には、移行元コントローラに割り当てられているＬＵ１２を、稼動開始コントローラに割り当てるように指示する。
【０１３９】
すると、稼動開始コントローラは、移行元コントローラに割り当てられているＬＵ１２の処理を引き継ぐ（７１３）。そして、電源制御プログラム１１１０は、稼動コントローラ数変更処理を終了する。
【０１４０】
なお、電源制御プログラム１１１０は、稼動コントローラ数変更処理を終了すると、第１の実施の形態の省電力モード変更処理（図６）を続けて行ってもよい。
【０１４１】
以上のように、本実施の形態のストレージシステム１は、負荷に応じて、コントローラ１１の稼動台数を変更する。これによって、消費電力を低減できる。
【０１４２】
（第３の実施の形態）
第３の実施の形態では、ホスト２がストレージシステム１にコントローラ１１の省電力モードを指示する。
【０１４３】
図１０は、本発明の第３の実施の形態の計算機システムのブロック図である。
【０１４４】
第３の実施の形態の計算機システムは、ホスト２の構成を除き、第１の実施の形態の計算機システム（図１）と同一である。同一の構成には同一の番号を付すことによって、説明を省略する。
【０１４５】
ホスト２は、電源指示プログラム２１１をメモリに記憶している。電源指示プログラム２１１は、コントローラ１１の省電力モードの変更をストレージシステム１に指示するプログラムである。また、電源指示プログラム２１１は、コントローラ１１の稼動台数をストレージシステムに指示してもよい。
【０１４６】
なお、管理端末３が、ホスト２の代わりに、電源指示プログラム２１１をメモリに記憶してもよい。この場合、管理端末３が、コントローラ１１の省電力モードをストレージシステム１に指示する。
【０１４７】
電源指示プログラム２１１は、所定の条件を満たすと、省電力モードの変更をコントローラ１１に指示する。例えば、ホスト２がアプリケーションを起動又は停止すると、電源指示プログラム２１１は、省電力モード変更要求を作成する。
【０１４８】
図１１は、本発明の第３の実施の形態の電源指示プログラム２１１が送信する省電力モード変更要求２１１０の構成図である。
【０１４９】
省電力モード変更要求２１１０は、コントローラＩＤ２１１０Ａ、部位名２１１０Ｂ及び省電力モード番号２１１０Ｃを含む。
【０１５０】
コントローラＩＤ２１１０Ａは、コントローラ１１の一意な識別子である。部位名２１１０Ｂは、当該コントローラ１１内の構成部位の一意な識別子である。省電力モード番号２１１０Ｃは、当該コントローラの１１省電力モードの一意な識別子である。
【０１５１】
電源指示プログラム２１１は、ホスト２が起動又は停止したアプリケーションの種類等に基づいて、省電力モードを変更するコントローラ、当該コントローラ内の省電力モードを変更する構成部位、変更後の省電力モード番号を決定する。
【０１５２】
そして、決定したコントローラの識別子を、省電力モード変更要求２１１０のコントローラＩＤ２１１０Ａに格納する。次に、決定した構成部位の識別子を、省電力モード変更要求２１１０の部位名２１１０Ｂに格納する。次に、決定した変更後の省電力モード番号を、省電力モード変更要求２１１０の省電力モード番号２１１０Ｃに格納する。
【０１５３】
なお、電源指示プログラム２１１は、部位名２１１０Ｂに値を格納しないことによって、コントローラ１１内のすべての構成部位に省電力モードの変更を指示できる。
【０１５４】
電源指示プログラム２１１は、作成した省電力モード変更要求２１１０をコントローラ１１に送信する。
【０１５５】
コントローラ１１は、省電力モード変更要求２１１０を受信すると、電源制御プログラム１１１０を起動する。
【０１５６】
電源制御プログラム１１１０は、省電力モード変更要求２１１０から、部位名２１１０Ｂ及び省電力モード番号２１１０Ｃを抽出する。次に、抽出した省電力モード番号２１１０Ｃとモード管理テーブル１１１１の省電力モード番号１１１１Ａとが一致するレコードを、モード管理テーブル１１１１から抽出する。次に、抽出したレコードから、動作内容１１１１Ｂを抽出する。そして、抽出した動作内容１１１１Ｂを、抽出した部位名２１１０Ｂに対応する構成部位に指示する。
【０１５７】
すると、コントローラ１１の構成部位は、指示された動作内容１１１１Ｂに対応する処理を行う。
【０１５８】
なお、電源指示プログラム２１１は、省電力モード変更要求２１１０に、コントローラの稼動台数の変更の要求を含めてもよい。
【０１５９】
この場合、コントローラ１は、省電力モード変更要求２１１０を受信すると、稼動コントローラ数変更処理（図９）のステップ７０４からステップ７１３までと同一の処理を行う。
【０１６０】
これによって、電源制御プログラム１１１０は、ホスト２の電源指示プログラム２１１に要求された台数のコントローラ１１を稼動する。
【０１６１】
本実施の形態によれば、ホスト２は、アプリケーションプログラムの起動又は停止に対応して、コントローラ１１の省電力モードの変更を指示できる。更に、ホスト２は、アプリケーションプログラムの起動又は停止に対応して、コントローラ１１の稼動台数の変更を指示できる。
【０１６２】
（第４の実施の形態）
図１２は、本発明の第４の実施の形態の計算機システムのブロック図である。
【０１６３】
第４の実施の形態の計算機システムは、ホスト２の構成を除き、第１の実施の形態の計算機システム（図１）と同一である。同一の構成には同一の番号を付すことによって、説明を省略する。
【０１６４】
ホスト２は、パス切替プログラム２１、コントローラ数制御テーブル１１１６及びホスト側閾値管理テーブル２２をメモリに記憶している。
【０１６５】
パス切替プログラム２１は、ホスト２とストレージシステム１とのアクセスパスを制御するプログラムである。また、パス切替プログラム２１は、電源指示プログラム２１１及び性能管理プログラム２１２を含む。
【０１６６】
電源指示プログラム２１１は、コントローラ１１の省電力モードをストレージシステム１に指示するプログラムである。また、電源指示プログラム２１１は、コントローラ１１の稼動台数をストレージシステムに指示してもよい。性能管理プログラム２１２は、ホスト２とストレージシステム１とのアクセスパスの負荷を管理するプログラムである。
【０１６７】
コントローラ数制御テーブル１１１６は、第２の実施の形態のコントローラ１１が記憶しているコントローラ数制御テーブル（図８）と同一なので、説明を省略する。
【０１６８】
ホスト側閾値管理テーブル２２は、図１３で後述するが、コントローラ１１の負荷状態とコントローラ１１の省電力モードとの対応を管理する。
【０１６９】
図１３は、本発明の第４の実施の形態のホスト２のホスト側閾値管理テーブル２２の構成図である。
【０１７０】
ホスト側閾値管理テーブル２２は、省電力モード番号２２Ａ及び動作条件２２Ｂを含む。
【０１７１】
省電力モード番号２２Ａは、コントローラ１１の省電力モードの一意な識別子である。動作条件２２Ｂは、当該レコードに該当する条件である。具体的には、動作条件２２Ｂには、コントローラ１の負荷状態等が格納される。
【０１７２】
本構成図のホスト側閾値管理テーブル２２の動作条件２２Ｂには、ランダム性能及びシーケンシャル性能に関する条件が格納されている。
【０１７３】
ランダム性能は、コントローラ１１のＩＯＰＳの最大値に対するコントローラ１１の現在のＩＯＰＳの割り合いである。また、シーケンシャル性能は、コントローラ１１のデータ処理速度の最大値に対するコントローラ１１の現在のデータ処理速度の割り合いである。
【０１７４】
動作条件２２Ｂには、一つの条件が格納されてもよいし、複数の条件が格納されてもよい。なお、動作条件２２Ｂに複数の条件が格納されている場合、電源指示プログラム２１１は、動作条件２２Ｂに格納されている条件ごとに、対応する省電力モード番号２２Ａを抽出する。次に、抽出した省電力モード番号２２Ａの中から、最小値を選択する。そして、選択した最小値を、当該コントローラ１１の省電力モード番号とする。
【０１７５】
次に、本実施の形態の計算機システムの省電力モードの変更処理について説明する。
【０１７６】
ホスト２の性能管理プログラム２１２は、ホスト２からストレージシステム１へのアクセスパスの負荷を周期的に測定する。
【０１７７】
次に、ホスト２の電源指示プログラム２１１は、性能管理プログラム２１２が測定したアクセスパスの負荷に基づいて、それぞれのコントローラ１１の負荷を算出する。
【０１７８】
次に、算出した負荷がホスト側閾値管理テーブル２２の動作条件２２Ｂに該当するレコードを、ホスト側閾値管理テーブル２２から選択する。次に、選択したレコードから、省電力モード番号２２Ａを抽出する。
【０１７９】
次に、抽出した省電力モード番号２２Ａとコントローラ１１に現在設定されている省電力モード番号とを比較することによって、コントローラ１１に設定されている省電力モードを変更する必要があるかどうかを判定する。
【０１８０】
そして、省電力モードを変更する必要がある場合、抽出した省電力モード番号２２Ａを含む省電力モード変更要求２１１０をコントローラ１１に送信する。
【０１８１】
コントローラ１１は、省電力モード変更要求２１１０を受信すると、電源制御プログラム１１１０を起動することによって省電力モードを変更する。
【０１８２】
以上のように、本実施の形態のホスト２は、ホスト２とストレージシステム１とアクセスパスの負荷に応じて、コントローラ１１の省電力モードの変更を指示する。
【０１８３】
図１４は、本発明の第４の実施の形態の稼動コントローラ数変更処理のフローチャートである。
【０１８４】
ホスト２の性能管理プログラム２１２は、ホスト２からストレージシステム１へのそれぞれのアクセスパスの負荷を周期的に測定する（８０１）。
【０１８５】
次に、ホスト２の電源指示プログラム２１１は、性能管理プログラム２１２が測定したアクセスパスの負荷に基づいて、それぞれのコントローラ１１の負荷を算出する。
【０１８６】
次に、算出した負荷がコントローラ数制御テーブル１１１６の動作条件１１１６Ｂに該当するレコードを、コントローラ数制御テーブル１１１６から選択する。次に、選択したレコードから、稼動コントローラ数１１１６Ａを抽出する（８０２）。
【０１８７】
次に、電源指示プログラム２１１は、抽出した稼動コントローラ数１１１６Ａと稼動中のコントローラ１１の数とを比較する。これによって、コントローラ１１の稼動台数を変更するかどうかを判定する（８０３）。
【０１８８】
コントローラ１１の稼動台数を変更しないと判定すると、稼動コントローラ数変更処理を終了する。
【０１８９】
一方、コントローラ１１の稼動台数を変更すると判定すると、コントローラの稼動台数を減少させるかどうかを判定する（８０４）。
【０１９０】
コントローラ１１の稼動台数を減少させると判定すると、稼動中のコントローラ１１の中から、停止予定コントローラを決定する（８０５）。具体的には、電源指示プログラム２１１は、稼動中のコントローラ１１の中から、負荷の低いコントローラ１１を選択する。そして、選択したコントローラ１１を、停止予定コントローラとする。なお、停止予定コントローラは、稼動の停止が予定されるコントローラ１１である。
【０１９１】
次に、電源指示プログラム２１１は、停止予定コントローラに電源の遮断を指示する。すると、停止予定コントローラは、電源制御プログラム１１１０及びアクセス制御プログラム１１１５を起動する。そして、電源制御プログラム１１１０及びアクセス制御プログラム１１１５は、第２の実施の形態の稼動コントローラ数変更処理（図９）のステップ７０６からステップ７０９までと同一の処理を行う。そして、稼動コントローラ数変更処理を終了する。
【０１９２】
一方、ホスト２の電源指示プログラム２１１は、ステップ８０４でコントローラの稼動台数を増加させると判定すると、稼動を停止しているコントローラ１１の中から、稼動を開始するコントローラ１１を選択する。そして、選択した稼動開始コントローラに電源の投入を指示する（８１０）。
【０１９３】
稼動開始コントローラは、電源の投入の指示を受けると、電源を投入し、電源制御プログラム１１１０及びアクセス制御プログラム１１１５を起動する。
【０１９４】
そして、電源制御プログラム１１１０及びアクセス制御プログラム１１１５は、第２の実施の形態の稼動コントローラ数変更処理（図９）のステップ７１１からステップ７１３までと同一の処理を行う。そして、稼動コントローラ数変更処理を終了する。
【０１９５】
本実施の形態によると、ホスト２は、ホスト２とストレージシステム１とアクセスパスの負荷に応じて、コントローラ１１の稼動台数の変更を指示する。よって、ストレージシステム１は、消費電力を低減できる。
【図面の簡単な説明】
【０１９６】
【図１】本発明の第１の実施の形態の計算機システムのブロック図である。
【図２】本発明の第１の実施の形態のストレージシステムのコントローラのブロック図である。
【図３】本発明の第１の実施の形態のストレージシステムのコントローラのブロック図である。
【図４】本発明の第１の実施の形態のコントローラのモード管理テーブルの構成図である。
【図５】本発明の第１の実施の形態のコントローラの閾値層管理テーブルの構成図である。
【図６】本発明の第１の実施の形態のコントローラの省電力モード変更処理のフローチャートである。
【図７】本発明の第２の実施の形態のストレージシステムのコントローラのブロック図である。
【図８】本発明の第２の実施の形態のコントローラのコントローラ数制御テーブルの構成図である。
【図９】本発明の第２の実施の形態の稼動コントローラ数変更処理のフローチャートである。
【図１０】本発明の第３の実施の形態の計算機システムのブロック図である。
【図１１】本発明の第３の実施の形態の電源指示プログラムが送信する省電力モード変更要求の構成図である。
【図１２】本発明の第４の実施の形態の計算機システムのブロック図である。
【図１３】本発明の第４の実施の形態のホストのホスト側閾値管理テーブルの構成図である。
【図１４】本発明の第４の実施の形態の稼動コントローラ数変更処理のフローチャートである。
【符号の説明】
【０１９７】
１  ストレージシステム
２  ホスト
３  管理端末
４  ネットワーク
１１  コントローラ
１２  ＬＵ
１３  パス
２１  パス切替プログラム
２２  ホスト側閾値管理テーブル
３１  管理プログラム
１１２  ＣＰＵ
１１３  ホストＩＦ
１１４  ディスクＩＦ
１１５  管理用ＩＦ
１１６  データ転送制御部
１１７  キャッシュメモリ
１１８  接続制御部
２１１  電源指示プログラム
２１２  性能管理プログラム
１１１０  電源制御プログラム
１１１１  モード管理テーブル
１１１２  閾値管理テーブル
１１１３  性能モニタリングプログラム
１１１５  アクセス制御プログラム
１１１６  コントローラ数制御テーブル
【図１】
0004634268.tif 000002
【図２】
0004634268.tif 000003
【図３】
0004634268.tif 000004
【図４】
0004634268.tif 000005
【図５】
0004634268.tif 000006
【図６】
0004634268.tif 000007
【図７】
0004634268.tif 000008
【図８】
0004634268.tif 000009
【図９】
0004634268.tif 000010
【図１０】
0004634268.tif 000011
【図１１】
0004634268.tif 000012
【図１２】
0004634268.tif 000013
【図１３】
0004634268.tif 000014
【図１４】
0004634268.tif 000015