(57)【特許請求の範囲】
【請求項１】
計算機と接続される制御部と、
前記制御部と接続されるディスク装置と、
前記ディスク装置を冷却する冷却装置と、
前記制御部、前記ディスク装置及び前記冷却装置に電力を供給する電源とを有し、
前記制御部は、前記計算機からアクセス可能性が上昇する要求を受け付けた場合、該受け付けた要求に対応する論理ボリュームを提供する前記ディスク装置を起動することによって発生する熱量と、前記冷却装置の冷却能力と、前記ディスク装置及び前記冷却装置を駆動するために必要となる電力とに基づいて、前記ディスク装置及び前記冷却装置を起動する処理又は前記計算機から受け付けたアクセス可能性が上昇する要求を待ち行列の最後に挿入する処理のうち何れかを実行し、前記計算機からアクセス可能性が低下する要求を受け付け、前記ディスク装置及び前記冷却装置の起動を停止する処理を実行した場合、前記待ち行列に挿入したアクセス可能性が上昇する要求に対応する論理ボリュームを提供する前記ディスク装置及び前記冷却装置を起動するか否かを判定する
ことを特徴とする記憶システム。
【請求項２】
前記制御部は、前記計算機からアクセス可能性が上昇する要求を受け付けた場合、かつ、前記熱量が予め定められた目標熱量を上回る場合、前記熱量が前記冷却能力を超える場合、前記電力が前記電源の電源容量を超える場合又は前記電力が予め定められた目標電力以上の場合のうち何れかの場合、前記計算機から受け付けたアクセス可能性が上昇する要求を待ち行列の最後に挿入する
ことを特徴とする請求項１に記載の記憶システム。
【請求項３】
前記制御部は、前記ディスク装置を停止することによって減少する熱量の情報に基づいて、前記冷却装置を停止するか否かを決定することを特徴とする請求項１記載の記憶システム。
【請求項４】
前記冷却装置はファンであり、
前記制御部は、前記ディスク装置を停止することによって減少する熱量の情報に基づいて、前記ファンの回転数を減少させることを特徴とする請求項１記載の記憶システム。
【請求項５】
前記目標電力は、前記電源が有する最大電力であり、
前記制御部は、前記ディスク装置を駆動することによって当該記憶システムで消費される電力量が前記最大電力を超えるかどうかに基づいて前記ディスク装置を駆動するか否かを決定することを特徴とする請求項１記載の記憶システム。
【請求項６】
前記目標電力は、当該記憶システムを使用する者が設定する値であることを特徴とする請求項１記載の記憶システム。
【請求項７】
前記制御部は、前記ディスク装置を駆動することによって駆動が必要となる前記冷却装置がある場合、前記ディスク装置及び前記冷却装置を駆動することによって当該記憶システムで消費される電力量が前記目標電力を超えるかどうかに基づいて前記ディスク装置及び前記冷却装置の駆動の要否を決定することを特徴とする請求項９記載の記憶システム。
【請求項８】
前記制御部は、前記冷却装置の冷却能力の変化に基づいて、前記ディスク装置を駆動するか否かを判断することを特徴とする請求項１記載の記憶システム。
【請求項９】
前記冷却装置の冷却能力の変化とは、当該記憶システムを格納する筐体が有するカバーの開閉に基づく変化であることを特徴とする請求項８記載の記憶システム。
【請求項１０】
前記制御部は、前記論理ボリュームが前記計算機にマウントされる際に、前記ディスク装置を起動するか否かの判断をすることを特徴とする請求項１記載の記憶システム。
【請求項１１】
前記制御部は、前記論理ボリュームが前記計算機からアンマウントされる際に、前記ディスク装置を停止するか否かを決定することを特徴とする請求項１記載の記憶システム。
【請求項１２】
前記制御部は、前記論理ボリュームに格納されるファイルのオープン命令が前記計算機から送信された際に、前記ディスク装置を起動するか否かを決定することを特徴とする請求項１記載の記憶システム。
【請求項１３】
前記制御部は、前記論理ボリュームに格納されるファイルのクローズ命令が前記計算機から送信された際に、前記ディスク装置を起動するか否かを決定することを特徴とする請求項１記載の記憶システム。
【請求項１４】
前記制御部は、当該記憶システムが有する装置の障害を監視し、
前記障害が発生した場合に、前記障害の内容に基づいて、前記ディスク装置を駆動するか否かを判断することを特徴とする請求項１記載の記憶システム。
【請求項１５】
前記記憶システムが有する装置の障害とは、前記電源の電力供給量低下につながる障害であることを特徴とする請求項１３に記載の記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低価格、長寿命、低消費電力の記憶システムを実現する技術に関する。
【背景技術】
【０００２】
近年、企業等が保有する情報量が増大し、情報を格納するディスクアレイ等の記憶システムの保有数も増大している。このため、企業の情報システム管理者は数多くの記憶システムの管理をする必要が生じている。そこで、多数の記憶システムを大規模な記憶システムに集約させる動きが活発である。大規模な記憶システムを稼動させる場合、記憶システムの消費電力の低減と発生する熱の冷却を考慮する必要がある。
【０００３】
特許文献１及び２では、ディスク装置の省エネルギー化のために、ディスク装置を節電モードに移行させ、又は、そのディスク装置の電源をオフにする技術が開示されている。
【０００４】
一方、特許文献３では、記憶システムの構造に併せて記憶システムが有するファンの回転数を変更して、適切に記憶システムを冷却する技術が開示されている。
【０００５】
【特許文献１】特開２０００−２９３３１４号公報
【特許文献２】特開２００５−１５７７１０号公報
【特許文献３】特開２０００−１４９５４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
実際には、記憶システムの冷却に使用される冷却装置（例えばファン。以下「ファン」）も電力を消費するため、記憶システムの消費電力の低減を考慮する際には、ファンの消費電力についても考慮する必要がある。しかし、ファンを適切に動作させないと記憶システムがうまく冷却されず、最悪の場合、記憶システムに格納されたデータが破壊される可能性もある。つまり、記憶システムの消費電力と冷却能力とを関連付けて制御する必要がある。
【０００７】
しかしながら、特許文献１及び２では冷却については考慮されておらず、特許文献３では消費電力について全く考慮されていない。
【０００８】
本発明は、記憶システムの冷却能力を維持しながらも、消費電力を削減することを目的とする。
【課題を解決するための手段】
【０００９】
計算機と接続される制御部と、前記制御部と接続されるディスク装置と、前記ディスク装置を冷却する冷却装置と、前記制御部、前記ディスク装置及び前記冷却装置に電力を供給する電源とを有し、前記制御部は、前記計算機からアクセス可能性が上昇する要求を受け付けた場合、該受け付けた要求に対応する論理ボリュームを提供する前記ディスク装置を起動することによって発生する熱量と、前記冷却装置の冷却能力と、前記ディスク装置及び前記冷却装置を駆動するために必要となる電力とに基づいて、前記ディスク装置及び前記冷却装置を起動する処理又は前記計算機から受け付けたアクセス可能性が上昇する要求を待ち行列の最後に挿入する処理のうち何れかを実行し、前記計算機からアクセス可能性が低下する要求を受け付け、前記ディスク装置及び前記冷却装置の起動を停止する処理を実行した場合、前記待ち行列に挿入したアクセス可能性が上昇する要求に対応する論理ボリュームを提供する前記ディスク装置及び前記冷却装置を起動するか否かを判定することを特徴とする。
【００１０】
又、その他の実施態様として、制御部が、ディスク装置が有する記憶領域に基づいて論理ボリュームを構成し、その論理ボリュームが他の装置から使用されるかどうかを契機に、ディスク装置の起動の要否あるいは停止の要否を決定する構成も考えられる。
【００１１】
更に、その他の実施態様として、制御部が冷却装置の稼動の要否も併せて決定する構成も考えられる。本発明のその他の実施態様については、明細書及び図面の記載によって明らかにされる。
【発明の効果】
【００１２】
記憶システムの消費電力の削減と電源とファンの低コスト化を図りつつ、装置の長寿命化を図ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、実施形態について説明する。ただし、全ての実施形態はあくまで例示であって、本発明が実施形態に制限されるわけでは無い。
又、以下の実施形態の説明において、「ディスク装置の起動」とは、ディスク装置が、ある状態から他の装置（例えば制御装置）からのリード・ライト要求を処理できる状態に遷移することとする。ここで、リード・ライト要求を処理できる状態とは、例えば、ディスク装置が有する制御部の電源がオンで、かつディスク装置が有する記憶媒体（例えば円盤（「プラッタ」とも言う））が回転した状態を指す。
更に、「ディスク装置の停止」とは、ディスク装置が、起動された状態から、起動されたディスク装置と比較して電力消費量が小さい状態へ遷移することとする。ここで、停止状態とは、例えば、プラッタの回転が停止された状態や、更にディスク装置が有する制御部が電源オフまたは省電力モードになっている状態等がある。
【００１４】
図１は、第１の実施形態を適用したシステムの構成例を示す図である。システムは、ホストコンピュータ１２００、記憶システム１０００及びホストコンピュータ１２００と記憶システム１０００とを接続するファイバチャネルスイッチ１４００とを有する。ただし、ホストコンピュータ１２００と記憶システム１０００を接続するための装置は、ファイバチャネルスイッチ１４００以外、たとえば、IP（インターネットプロトコル）スイッチ、メインフレーム用の接続装置のようなものでも構わない。
【００１５】
また、記憶システム１０００に接続されるホストコンピュータ１２００の数は、１つでも複数で構わない。図１はホストコンピュータ１２００が２つの例を示しており、それぞれホストコンピュータＡ１２００Ａ、ホストコンピュータＢ１２００Ｂとする。ホストポンピュータ１２００は一般的な計算機であり、ＣＰＵ１２１０、メモリ１２２０及びファイバチャネルスイッチ１４００と接続するためのディスクインターフェイス１２３０とを有する。
【００１６】
記憶システム１０００は、ディスクシステム１１００及び管理計算機１３００を有する。ディスクシステム１１００と管理計算機１３００はネットワークを介して相互に接続されている。なお、管理計算機１３００が、ディスクシステム１１００内の管理部として一筐体内に実装される形態も考えられる。
【００１７】
ディスクシステム１１００は、コントローラ１１１０、ディスク装置１１３０、電源１１６０及びファン１１５０を有する。コントローラ１１１０は、ファイバチャネルスイッチ１４００に接続されるホストインターフェイス１１１４、ディスク装置１１３０を制御するディスクコントロールモジュール１１２０、キャッシュメモリ１１１５、プロセッサ１１１１、制御情報用メモリ１１１３、管理計算機１１３０とのインターフェイスである管理インターフェイス１１７０及びコントローラ電源１１１６を有する。
【００１８】
ディスクシステム１１００は、ディスク装置１１３０を１つ以上有する。図１は、ディスクシステム１１１０がディスク装置１１３０Ａ、ディスク装置１１３０Ｂ及びディスク装置１１３０Ｃの３つのディスク装置１１３０を有する例を示している。なお、以下の説明では、一定時間アクセスされないディスク装置１１３０は、ディスクシステム１１００の制御に基づき、又はディスク装置１１３０自身の制御に基づき、自身の動作（ディスクの回転、ヘッドの移動等）を停止するものとする。
【００１９】
ディスクシステム１１００は、仮想的（あるいは論理的）な記憶装置として論理ボリューム１１４０をホストコンピュータ１２００に提供する。論理ボリューム１１４０とディスク装置１１３０とは１対１に対応してもしなくても良い。たとえば、１つの論理ボリューム１１４０が複数のディスク装置１１３０にまたがって定義されても良い。論理ボリューム１１４０は、ディスクシステム１１００に１つ以上含まれる。図１は、ディスクシステム１１００が論理ボリューム１１４０Ａ及び論理ボリューム１１４０Ｂを有する例を示している。更に、ディスクシステム１１００において、複数のディスク装置１１３０をＲＡＩＤ等の冗長構成を有する組と定義する。そして、その組に含まれるディスク装置１１３０が有する記憶領域の全てまたは一部を論理ボリューム１１４０と定義してもよい。これにより、組に含まれるディスク装置１１３０が故障した場合でも、論理ボリューム１１４０に格納されるデータの内容が失われないようにすることができる。
【００２０】
電源１１６０は、ディスクシステム１１００内の部品、主に、ディスク装置１１３０とファン１１５０を駆動するために用いられる。本実施形態では、ディスクシステム１１００が電源１１６０を複数有する。それぞれの電源１１６０は、電力供給を担当する部品が定められている。ファン１１５０は、ディスクシステム１１００内を冷却する装置である。本実施形態においては、ディスクシステム１１００はファン１１５０を複数有する。それぞれのファン１１５０ごとに、冷却対象となる部品（主にディスク装置１１３０）又は装置内の領域が定められている。コントローラ電源１１１６は、コントローラ１１１０に含まれる部品用の電源である。
【００２１】
キャッシュメモリ１１１５（以下「キャッシュ１１１５」とも言う）には、論理ボリューム１１４０に格納されるデータの一部が一時的に格納される。制御用メモリ１１１３には、ディスクシステム１１１０の管理データなどが格納される。キャッシュ１１１５や制御用メモリ１１１３は、揮発性のメモリでも、不揮発性のメモリ（たとえばフラッシュメモリ）でも良い。さらにキャッシュ１１１５や制御用メモリ１１１３は２重化等冗長化されていてもよい。制御用メモリに含まれるプログラムや情報については後ほど説明する。
【００２２】
管理計算機１３００は一般的な計算機であり、ＣＰＵ１３２０、管理メモリ１３１０、記憶システムインターフェイス１３３０、ユーザ入力装置１３４０（例えば、キーボード、マウス）、画面出力装置（例えば、ディスプレイがあるが、そのほかに画面出力を他の計算機へ転送するプログラムであってもよい）を有する。管理メモリ１３１０には、要求発行作成プログラム１３１１が格納される。なお、要求発行作成プログラム１３１１は、ある論理ボリューム１１４０がアクセスされる可能性（すなわちある論理ボリューム１１４０に格納されたデータがユーザによって使用される可能性）が上昇したり低下したことを示す情報を、管理計算機１３００がディスクシステム１１００に対して送信する際に、CPU１３２０で実行されるプログラムである。なお、要求発行作成プログラムは、管理計算機１３００以外の例えばホストコンピュータ１２００が有するメモリに格納されていても良い。この場合、ホストコンピュータ１２００が、上記情報をディスクシステム１１００（あるいは記憶システム１０００）に送信する。
【００２３】
図２は、制御用メモリ１１１３に含まれる情報とプログラム例を示した図である。制御用メモリ１１１３に含まれるプログラムは、ＣＰＵ１１１１で実行される。なお、他の形態として、プロセッサの代わりに、プログラムとプロセッサで実現される一部または全ての処理を専用のハードウェアで代替することも考えられる。
【００２４】
論理ボリューム管理情報２００１は、ディスクシステム１１００に含まれる論理ボリューム１１４０を管理するための情報である。具体的には、論理ボリューム管理情報２００１には、論理ボリューム１１４０とディスク装置１１３０との対応関係についての情報が含まれる。ディスクシステム１１００は、この情報を用いて、論理ボリューム１１４０とディスク装置１１３０間でのアドレス等の変換を行う。ディスク装置管理情報２００２は、ディスク装置１１３０を管理するための情報である。具体的には、ディスク装置管理情報２００２には、ディスクシステム１１００に含まれる各ディスク装置１１３０の、動作に関する情報と消費電力に関する情報が含まれる。
【００２５】
電源情報２００３は、電源１１６０を管理するための情報である。具体的には、電源情報２００３には、ディスクシステム１１００が有する電源１１６０が提供可能である最大電力や、電源１１６０が電力を提供する部品に関する情報が含まれる。ファン情報２００４は、ディスクシステム１１００が有するファン１１６０を管理するための情報である。具体的には、ファン情報２００４には、ファン１１６０の冷却能力に関する情報や、ファン１１６０が冷却対象とする部品に関する情報が含まれる。ディスクシステム情報２００５には、ディスクシステム１１００が消費する資源や排出物の目標値を管理するための情報が含まれる。
【００２６】
アクセス可能性向上指示受付プログラムは、論理ボリューム１１４０に対するアクセス可能性が上昇するという情報に基づいて、必要に応じてファン１１５０やディスク装置１１３０を含む部品の起動をディスクシステム１１００が行う際に、CPU１１１１で実行されるプログラムである。アクセス可能性低下指示受付プログラムは、論理ボリューム１１４０に対するアクセス可能性が低下するという情報に基づいて、ディスクシステム１１００が停止可能なファン１１５０やディスク装置１１３０を含む部品を認識して停止する際に、CPU１１１１が実行するプログラムである。
【００２７】
アクセス処理プログラム２０３０は、ホストコンピュータ１２００からの論理ボリューム１１４０に対するリード要求やライト要求を、ディスクシステム１１００が論理ボリューム管理情報２００１を用いてディスク装置１１３０を認識し、ディスク装置１１３０に対してデータ転送を行う際に、CPU１１１１で実行されるプログラムである。このプログラムは又、管理計算機１３００からの要求にしたがって、ディスクシステム１１００が論理ボリューム１１４０に格納されたデータを移動させる際にも、CPU１１１１で実行される。更に、アクセス処理プログラム２０３０は、ディスクシステム１１００がディスク装置１１３０をＲＡＩＤ構成であるパリティグループとするために必要なミラーリング処理を実行したり、冗長情報の計算を実行したり、パリティグループに含まれるディスク装置１１３０の一部が破損したときのデータ回復処理を実行する際にも、CPU１１１１で実行される。
【００２８】
障害監視プログラム２０４０は、ディスクシステム１１００が、ディスクシステム内部の部品の障害発生状況や状態（装置内の温度等）を監視する際に、CPU１１１１で実行されるプログラムである。ディスクシステム１１００は、定期的または特定のタイミング（例えば特定の処理（データ複製、データ移動）の実行前）でこのプログラムを実行する。もし、部品の状態の変化を発見した場合、ディスクシステム１１００は、論理ボリューム管理情報２００１や、ディスク装置管理情報２００２（特に、以後説明する消費電力７０３０、発熱量７０４０、動作中フラグ７０５０及び温度７０６０）、電源情報２００３（特に以後説明する電力容量８０２０）やファン情報２００４（特に、以後説明する冷却熱量９０２０やファン消費電力９０３０）の値を状態変化に合わせて変更する。
【００２９】
図３及び図４は、第１の実施形態の概要を示す図である。図３は、ホストコンピュータ１２００（あるいは管理計算機１３００）が、ディスクシステム１１００に定義されている論理ボリューム１１４０の中で、今後アクセスされる可能性が高くなった論理ボリューム１１４０を、記憶システム１０００（あるいはディスクシステム１１００）に指示する場合の概要を示す図である。
【００３０】
まず、アクセスされる可能性が高まった論理ボリューム１１４０の情報を含む要求を、ディスクシステム１１００がホストコンピュータ１２００（あるいは管理計算機１３００）から受信する（Ｓ２０１０）。ディスクシステム１１００のコントローラ１１１０は、受信した情報で指定される論理ボリューム１１４０と対応するすべてのディスク装置１１３０を特定する。そしてコントローラ１１１０は、特定したディスク装置１１３０の中に、起動されていないディスク装置１１３０があるかを確認する（Ｓ２０２０）。すべて起動されていれば、コントローラ１１１０は処理を完了し、ホストコンピュータ１２００（あるいは管理計算機１３００）に終了報告を行う。
【００３１】
起動されていないディスク装置１１３０がある場合、コントローラ１１１０は、起動されていないディスク装置１１３０を起動しても、電源１１６０の容量が十分か確認する（Ｓ２０３０）。また、コントローラ１１１０は、ディスク装置１１３０の起動により起動すべきファン１１５０があるかを確認する。さらに、コントローラ１１１０は、起動するファン１１５０の能力から、十分な冷却が可能かを確認する（Ｓ２０４０）。必要であれば、他の条件についてもコントローラ１１１０は判断する。条件が満たされれば、コントローラ１１１０は、必要なディスク装置１１３０とファン１１５０の起動を行い、ホストコンピュータ１２００（または管理計算機１３００）に処理の完了を報告する（Ｓ２０５０）。このようにすることで、本実施形態においては、ディスク装置１１３０の起動による発熱開始と同時にファン１１５０を起動させることができるため、迅速な冷却が可能となる。又、不要なファン１１５０を駆動する必要が無いので、消費電力を削減することができる。
【００３２】
図４は、ホストコンピュータ１２００（あるいは管理計算機１３００）が、ディスクシステム１１００に定義されている論理ボリューム１１４０の中で、今後アクセスされる可能性が低くなった論理ボリューム１１４０を、記憶システム１０００（あるいはディスクシステム１１００）に指示する場合の概要を示す図である。
【００３３】
まず、アクセスされる可能性が低下した論理ボリューム１１４０の情報を含む指示を、ディスクシステム１１１０がホストコンピュータ１２００（あるいは管理計算機１３００）から受信する（Ｓ３０１０）。ディスクシステム１１００のコントローラ１１１０は、受信した情報で指定される論理ボリューム１１４０が定義されているすべてのディスク装置１１３０を特定する。次にコントローラ１１１０は、指示された論理ボリューム１１４０のアクセスされる可能性が低くなったことで、特定されたディスク装置１１３０の中に、停止させてもよいディスク装置１１３０があるかを調べる。コントローラ１１１０は、停止させてもよいディスク装置１１３０がなければ処理を完了し、ホストコンピュータ１２００（または管理計算機１３００）に終了報告を行う。
【００３４】
停止させてもよいディスク装置１１３０がある場合、コントローラ１１１０は、これらのディスク装置１１３０を停止させる。この後、コントローラ１１１０は、ホストコンピュータ１２００に処理の完了を通知する（Ｓ３０２０）。次にコントローラ１１１０は、ディスク装置１１３０を停止させたことによって停止してもよいファン１１５０があるか確認し、ある場合は停止させる（Ｓ３０３０）。このようにすることで、本実施形態では、起動不要なディスク装置１１３０を停止して発熱量が下がるのと同時にファン１１５０を停止することができる。このため、不要な電力を削減できるとともに、ファンの動作音量を減少させることができる。
【００３５】
以後、第１の実施形態の詳細を図５を用いて説明する。図５は、図１のシステムの一例であり、詳細を説明するために必要な要素のみ抜き出して示している。
【００３６】
図５では、ディスクシステム１１００は、二つの電源（１１６１、１１６２）、二つのファン（１１５１、１１５２）、及び８つのディスク装置（１１３１、１１３２、１１３３、１１３４、１１３５、１１３６、１１３７、１１３８）を有するとする。なお、図５中のカッコ内の「ＩＤ＝」以降の数字は各部品に割り当てられた識別子をあらわしている。
【００３７】
電源１１６１は、ファン１１５１、ディスク装置１１３１、ディスク装置１１３３、ディスク装置１１３５及びディスク装置１１３７に対して電力を供給する。電源１１６２は、ファン１１５２、ディスク装置１１３２、ディスク装置１１３４、ディスク装置１１３６及びディスク装置１１３８に対して電力を供給する。ファン１１５１は、ディスク装置１１３１、ディスク装置１１３２、ディスク装置１１３３及びディスク装置１１３４を冷却する。ファン１１５２は、ディスク装置１１３５、ディスク装置１１３６、ディスク装置１１３７及びディスク装置１１３８を冷却する。
【００３８】
論理ボリューム１１４１は、ディスク装置１１３１と１１３２の全てまたは一部のデータ領域から構成される。論理ボリューム１１４２は、ディスク装置１１３３と１１３５の全てまたは一部のデータ領域から構成される。
【００３９】
図６は、図５の構成の場合の論理ボリューム管理情報２００１の構成例を表す図である。論理ボリューム管理情報２００１は、論理ボリューム１１４０ごと（図５においては論理ボリューム１１４１及び１１４２）に下記に示すエントリを有する。
【００４０】
論理ボリューム識別子６０１０は、論理ボリューム１１４０に与えられた識別子の情報が登録されるエントリである。ＲＡＩＤタイプ６０２０は、論理ボリューム１１４０に対応するディスク装置１１３０の冗長構成（例えば、ＲＡＩＤ５とかＲＡＩＤ１）を表す情報が登録されるエントリである。ディスク装置番号６０３０、開始アドレス６０４０及び終了アドレス６０５０は、論理ボリューム１１４０に対応するディスク装置１１３０の番号と、データが格納される開始アドレスと終了アドレスの情報が登録されるエントリである。もちろん、論理ボリューム１１４０が複数のディスク装置１１３０に基づいて定義される場合、ディスク装置番号４１３、開始アドレス４１４、終了アドレス４１５の各エントリが、対応するディスク装置１１３０の数だけ用意される。
【００４１】
容量６０６０は、論理ボリューム１１４０のホストコンピュータ１２００から見た記憶容量の情報が登録されるエントリである。アクセスフラグ６０７０は、論理ボリューム１１４０がアクセスされる可能性の情報が登録されるエントリである。本実施形態においては、アクセスフラグ６０７０のエントリがオンの時、対応する論理ボリューム１１４０がアクセスされる可能性が上昇している状態であるとする。
【００４２】
エントリ６０７０以外のエントリの情報は、ディスクシステム１１００において論理ボリューム１１４０が設定される際に、論理ボリューム１１４０ごとにエントリに情報が設定される。論理ボリュームの設定は、管理計算機１３００の指示（論理ボリュームの容量等）に基づいて、ディスクシステム１１００のコントローラ１１１０が行う。コントローラ１１１０は、論理ボリューム１１４０の設定の際に、併せて論理ボリューム管理情報２００１に情報を登録する。なお、エントリ６０７０については、ホストコンピュータ１２００（または管理計算機１３００）から情報を受信した際に、コントローラ１１１０がフラグを登録する。
【００４３】
図７は、図５の構成の場合のディスク装置管理情報２００２の構成例を示す図である。ディスク装置管理情報２００２は、ディスク装置１１３０ごと（図５においてはディスク装置１１３１、１１３２、１１３３、１１３４、１１３５、１１３６、１１３７、１１３８）に下記に示す情報を登録するエントリを有する。
【００４４】
ディスク装置識別子７０１０は、ディスク装置１１３０の識別子に関する情報が登録されるエントリである。物理容量７０２０は、ディスク装置１１３０の記憶容量の情報が登録されるエントリである。消費電力７０３０は、ディスク装置１１３０の消費電力に関する情報が登録されるエントリである。発熱量７０４０は、ディスク装置１１３０の発熱量の情報が登録されるエントリである。動作中フラグ７０５０は、ディスク装置１１３０が動作中であるかを示す情報が登録されるエントリである。温度７０６０は、ディスク装置１１３０の温度に関する情報が登録されるエントリである。
【００４５】
これら各エントリのうち、エントリ７０６０以外の情報は、工場出荷時に予め設定されて構わない。これらのディスク装置１１３０の仕様に関する情報はベンダが設定するのが都合が良いからである。ただし、管理計算機１３００等からこれらの情報が入力されても良い。ディスク装置１１３０が追加される場合には、管理計算機１３００等から、追加されるディスク装置１１３０に関する上記エントリの情報が登録される。
【００４６】
なお、温度７０６０は、ディスク装置１１３０に予め温度計を設置し、ディスクシステム１１００が障害監視プログラム２０４０を実行して定期的に温度計の出力を確認して設定することが考えられる。しかし、他の方法でディスク装置１１３０の温度の計測と情報の設定を行ってもよい。
【００４７】
図８は、図５の構成の場合の電源情報２００３の構成例を示す図である。電源情報２００３は、電源１１６０ごと（図５では１１６１及び１１６２）に下記情報を登録するエントリを有する。電源識別子８０１０は、電源１１６０の識別子の情報が登録されるエントリである。電源容量８０２０は、この電源１１６０の電力容量の情報が登録されるエントリである。接続情報８０３０は、対応する電源１１６０に接続されている部品の識別子の情報が登録されるエントリである。対象となる部品が複数ある場合、その数だけ識別子の情報が登録されることになる。代表的な部品はディスク装置１１３０とファン１１５０である。
【００４８】
図９は、図５の構成の場合のファン情報２００４の構成例を示す図である。ファン情報２００４０は、ファン１１５０ごと（図５ではファン１１５１及び１１５２）に下記情報を登録するエントリを有する。ファン識別子９０１０は、ファン１１５０の識別子の情報を登録するエントリである。冷却熱量９０２０は、ファン１１５０が冷却できる熱量（以下「冷却熱量」）の情報が登録されるエントリである。ファン消費電力９０３０は、ファン１１５０を動作させるのに必要な電力の情報が登録されるエントリである。オン中フラグ９０４０は、ファン１１５０が動作中であることを示す情報が登録されるエントリである。部品情報９０５０は、ファン１１５０が冷却対象とする装置の識別子の情報が登録されるエントリである。対象となる部品が複数ある場合、その数だけ識別子の情報が登録されることになる。代表的な部品はディスク装置１１３０である。
【００４９】
これらの各エントリの情報は、オン中フラグ９０４０以外は工場出荷時に予め登録されてよい。オン中フラグ９０４０については、コントローラ１１１０がファン１１５０を駆動させた際に、コントローラ１１１０が動作中であるという情報を登録する。
【００５０】
図２３は、ディスクシステム情報２００５の構成例を示す図である。目標電力２３０１０は、ディスクシステム１１００が目標とする消費電力の情報を登録するエントリである。目標発熱量２３０２０は、ディスクシステム１１００が目標とする発熱量の情報を登録するエントリである。筐体開閉情報２３０３０は、ディスクシステム１１００を構成する筐体ごとに存在するエントリで、筐体が開いた状態（例えばカバーが外れた状態や、ドアやシャッターが開いた状態）か、閉じた状態であるかを示す情報が登録されるエントリである。
【００５１】
なお、目標電力と目標発熱量は、管理者が設定することによって入力されることが考えられる。それ以外にも、初期値として、ディスクシステム１１００に含まれる部品の消費電力の合計を目標消費電力２２０１０へ設定したり、ディスクシステム１１００に含まれる部品の発熱量の合計を目標発熱量２３０２０へ設定してもよい。前者はシステム全体が稼動する場合の最大消費電力に相当し、後者はシステム全体が稼動する場合の最大発熱量に相当する。また、目標消費電力は、ディスクシステム１１００に含まれる電源１１６０や電源１１１６の電力容量の合計（これはシステムにおける限界電力に相当する）が設定されてもよい。
【００５２】
また、筐体開閉状態は、ディスクシステム１１００のカバーやドア、シャッターに開閉センサーを設置し、ディスクシステム１１００が、障害監視プログラム２０４０を実行することで、センサーが出力する開閉情報を元に設定することが考えられる。ただし、ディスクシステム１１００が、他の方法で開閉を検知して設定してもよい。
【００５３】
図１０及び図２４は、ディスクシステム１１００が、ある論理ボリューム１１４０（ここでは図５の論理ボリューム１１４２）に対するアクセス可能性が上昇するという情報（要求）をホストコンピュータ１１００から受信した場合の、ディスクシステム１１００の処理手順例を示す図である。なお、本処理は、CPU１１１１が向上指示受付プログラム２０１０を実行することで実現される。
【００５４】
コントローラ１１１０は、アクセスする可能性が上昇する論理ボリューム１１４０の情報（ここでは論理ボリューム１１４２）を受信する（Ｓ１０００１）。次にコントローラ１１１０は、論理ボリューム１１４２について論理ボリューム管理情報２００１を検索し、論理ボリューム１１４２に対応するディスク装置１１３０（ここではディスク装置１１３３及び１１３５）を特定する（Ｓ１０００２）。次にコントローラ１１１０は、ディスク装置管理情報２００２の動作中フラグ７０５０をチェックすることで、これらのディスク装置１１３０の中に、起動されていないディスク装置１１３０（この場合、ディスク装置１１３３が動作していないとする）があるかを調べる（Ｓ１０００３）。
【００５５】
起動されていないディスク装置１１３０がある場合、コントローラ１１１０は、ファン情報２００４を検索して、起動されていないディスク装置１１３０を冷却するファン１１５０（ここではファン１１５１）を特定する。この際、コントローラ１１１０は、特定されたファン１１５０が駆動しているかどうかも併せて確認する（Ｓ１０００４）。
【００５６】
次にコントローラ１１１０は、Ｓ１０００４にて特定したファン１１５０の各々について、ファン情報２００４とディスク装置管理情報２００２を用いて、Ｓ１０００３で特定したディスク装置１１３０を起動させた場合のファン１１５０が冷却すべき発熱量を計算する（Ｓ１０００５）。その後コントローラ１１１０は、計算された発熱量とファン１１５０の冷却熱量９０２０を比較する（Ｓ１０００６）。
【００５７】
Ｓ１０００４で特定されたファン１１５０全て（稼動していないファン１１５０も含む）について、計算された発熱量がファン１１５０の冷却容量を超えない場合、コントローラ１１１０は、Ｓ１０００３で特定したディスク装置１１３０を新たに起動させた場合のディスクシステム１１００全体の発熱量を計算する（Ｓ１０１０１）。その後コントローラ１１１０は、計算された全体の発熱量とディスクシステム情報２００５に登録された目標熱量を比較する（Ｓ１０１０２）。
【００５８】
計算された発熱量が目標熱量以下だった場合、コントローラ１１１０は、電源１１６０の各々について、電源情報２００３、ファン情報２００４及びディスク装置管理情報２００２を用いて、Ｓ１０００２で特定したディスク装置１１３０とＳ１０００４で特定したファン１１５０のうち駆動していないファン１１５０を追加して起動させたと仮定した場合の、電源１１６０の各々が供給すべき電力を計算する（Ｓ１０００７）。その後コントローラ１１１０は、各々の電源１１６０について、計算された電力と電源情報２００３に登録された電源１１６０の電力容量を比較する（Ｓ１０００８）。
【００５９】
各々の電源１１６０全てで、計算された電力が電源情報２００３に登録された電源容量を超えない場合、コントローラ１１１０は、Ｓ１０００３で特定したディスク装置１１３０と、Ｓ１０００４で特定したファン１１５０のうち駆動していないファン１１５０とを追加して起動させたと仮定した場合のディスクシステム１１００全体の消費電力を計算する（Ｓ１０２０１）。次にコントローラ１１１０は、計算したディスクシステム１１００全体の消費電力とディスクシステム情報２００５に登録された目標電力とを比較する（Ｓ１０２０２）。
【００６０】
計算された消費電力が目標電力以下だった場合、コントローラ１１１０は、Ｓ１０００３で特定したディスク装置１１３０とＳ１０００４で特定したファン１１５０のうち駆動していないファン１１５０を起動させ、動作中フラグ７０５０とオン中フラグ９０４０にオンを設定する（Ｓ１０００９）。起動するディスク装置１１３０が存在しなかった場合又はＳ１０００９の処理の終了後、コントローラ１１１０は、Ｓ１０００１で受信した論理ボリューム１１４０のアクセスフラグ６０７０にオンを設定してホストコンピュータ１２００に結果を報告して終了する（Ｓ１００１０）。
なお、報告の際の情報は、単に要求受付完了の情報を含んでもよく、また起動したディスク装置１１３０やファン１１５０に関する情報を含んでもよい。
【００６１】
ディスク装置１１３０を起動することによって発生する熱量がファン１１５０の冷却容量を越える場合、目標発熱量を上回る場合、電力が電源容量を越える場合又は目標電力以上になる場合は、コントローラ１１１０は、Ｓ１０００１で受信した論理ボリューム１１４０のアクセス可能性上昇の要求を待ち行列の最後に挿入し、要求送信元に結果を報告して終了する。報告の際の情報は、要求受付未完了の情報を含んでもよい。また、Ｓ１０００１で受け取った情報に待ち行列挿入不要の情報が含まれていたり、その他の方法で挿入不要だとわかる場合は、待ち行列挿入を省略してもよい。待ち行列に格納された要求は、一定時間経過後又は特定の契機で再度コントローラ１１１０によって実行される。
【００６２】
なお、Ｓ１０００６において、システムの構成（例えば複数のファン１１５０が共同して一つ又は複数のディスク装置１１３０の冷却を担当している場合）によっては、特定されたファン１１５０（駆動していないファンも含む）のうち、既に稼動しているファン１１５０のみでディスク装置１１３０（追加して起動すべきディスク装置１１３０を含む）の冷却が可能かどうかの判定を行っても良い。もし稼動中のファン１１５０のみで冷却が可能な場合、コントローラ１１１０は、後の処理において、駆動していないファン１１５０の駆動を考慮しないという処理を行っても良い。
【００６３】
図１１は、ディスクシステム１１００が、ホストコンピュータ１２００（あるいは管理計算機１３００）から、ある論理ボリューム１１４０へのアクセス可能性が低下するという情報を受け取った際のディスクシステム１１００の処理例を示すフローである。この処理は、CPU１１１１が指示受付プログラムを実行することによって実現する。
【００６４】
コントローラ１１１０が、アクセスする可能性が低下する論理ボリューム１１４０の情報を受信する（Ｓ１１００１）。コントローラ１１１０は、論理ボリューム管理情報２００１を検索して、情報に対応する論理ボリューム１１４０が定義されているすべてのディスク装置１１３０を特定する（Ｓ１１００２）。次にコントローラ１１１０は、特定されたディスク装置１１３０の中に、停止してもよいディスク装置１１３０があるかを調べる。具体的には、コントローラ１１１０は、ディスク装置管理情報２００２の、特定されたディスク装置１１３０の動作中フラグ７０５０をチェックして、駆動中のディスク装置１１３０を特定する。停止してもよいディスク装置１１３０を特定した後、コントローラ１１１０は、そのディスク装置１１３０が他の論理ボリューム１１４０に割り当てられているかを確認する。他の論理ボリューム１１４０にも割り当てられている場合、特定されたディスク装置１１３０は停止できないので、コントローラ１１１０は、このようなディスク装置１１３０を、停止してもよいディスク装置１１３０から除外する（Ｓ１１００３）。
【００６５】
停止しても良いディスク装置１１３０を特定したら、コントローラ１１１０は、特定したディスク装置１１３０を停止させ、対応する動作中フラグ７０５０をオフにする（Ｓ１１００４）。さらにコントローラ１１１０は、特定したディスク装置１１３０を停止させることで、停止してもよいファン１１５０があるかを確認する。具体的には、コントローラ１１１０は、特定したディスク装置１１３０を停止することによって、冷却対象のディスク装置１１３０が全て停止するファン１１５０を特定する（Ｓ１１００５）。
【００６６】
コントローラ１１１０は、特定したファン１１５０を停止させ、対応するファン１１５０のオン中フラグ９０４０にオフの情報を登録する（Ｓ１１００６）。停止しても良いディスク装置１１３０が無い場合又はＳ１１００６の処理後、コントローラ１１１０は、受信した情報で指定される論理ボリューム１１４０のアクセスフラグ６０７０にオフの情報を登録し、結果をホストコンピュータ１２００に送信する（Ｓ１１００７）。
【００６７】
その後コントローラ１１１０は、待ち行列に登録された、アクセスする可能性が上昇した論理ボリュームの情報を順次取り出し、アクセス可能性向上指示受付プログラムを実行する（Ｓ１１００８）。これによって、新たにディスク装置１１３０やファン１１５０を停止させたことによって生じる電力と熱量の余力を、他の論理ボリュームのアクセス可能性向上のためのディスク装置１１３０とファン１１５０のどちらかまたは両方の起動に用いることができる。
【００６８】
なお、上述した処理において、ファン１１５０は駆動と停止のみを考慮していた。しかし、ファンの回転数を制御できる場合には、起動するディスク装置１１３０が特定された際に、コントローラ１１１０がそのディスク装置１１３０を冷却するファン１１５０のファンの回転数を上げる制御をしても良い。又、逆に、停止するディスク装置１１３０が特定された場合、コントローラ１１１０が、そのディスク装置１１３０を冷却するファン１１５０のファンの回転数を下げるようにしてもよい。
【００６９】
こうすると、例えば、一つのファン１１５０が４つのディスク装置１１３０の冷却を担当する場合、そのうちの一つのディスク装置１１３０を停止させる際に、図１１の処理だと他のディスク装置１１３０が駆動している際には、コントローラ１１１０はそのファン１１５０を停止することができない。しかし、回転数まで考慮すると、コントローラ１１１０は、そのファン１１５０のファンの回転数を他の３つのディスク装置１１３０を冷却できる回転数にまで下げ、他の３つのディスク装置１１３０を冷却しつつかつ消費電力を低減することができる。
【００７０】
なお、消費電力の計算方法としては、ディスク装置管理情報２００２やファン情報２００４を参照して起動中または起動しようとするファン１１５０やディスク装置１１３０の各々の部品についての消費電力の合計を計算する方法がある。また、比較方法としては、合計値と対応する電源１１６０の電力容量８０２０を比較する方法が考えられる。しかし、変形例として以下の方法と組み合わせることも考えられる。
【００７１】
（１）各部品の動作状態を考慮した計算方法
ディスク装置１１３０は、起動直後の状態と起動後時間が経過した状態では消費電力が異なる。また、ファン１１５０についても低速度で回転する状態を許すことによって、冷却熱量を小さくするかわりに消費電力を少なくすることも考えられる。また、複数のファン１１５０が共同であるディスク装置１１３０の冷却を行う場合は、起動するファン１１５０の数の増減をすることも考えられる。そのため、消費電力の計算方法として、各々の部品の動作状態を考慮して個々の部品の消費電力を求め、そこからさらに必要となる消費電力を求めてもよい。
【００７２】
また、コントローラ１１１０が障害監視プログラム２０４０を実行して電源１１６０の電力供給量低下に繋がる障害を検知した場合、障害による電力供給低下を見越して電源１１６０の電力供給能力を削減した値と計算された値と比較をすることも考えられる。こうすることで、電力供給量低下状態でも電源１１６０の能力を超えるような、ディスク装置１１３０やファン１１５０の起動を行うことを回避することができる。具体的には、コントローラ１１１０が障害監視プログラム２０４０を定期的に実行して電源１１６０の状態を監視し、電源１１６０の一部（例えば、電源１１６０が複数の電源で構成されていて、その一部が障害停止した場合）または全てが障害停止した場合に、コントローラ１１１０が、電源情報２００３の電源容量８０２０の値を障害によって低下した値に書き換えればよい。
【００７３】
（２）ディスクシステム内に一時的な電力提供を可能とする電池やコンデンサ等の部品を含む場合
電池やコンデンサ等の電力提供部品は電力容量が変化することも考えられる。そこで、ディスクシステム１１００自身が、このような部品の状態を確認することで電力容量の変化を求め、比較に用いることも考えられる。これは、上述した電源１１６０の障害と同様に、コントローラ１１１０が上述の変化をチェックし、電源情報２００３に登録された値を書き換えることで実現できる。
【００７４】
また、発熱量の計算としては、ディスク装置管理情報２００２を参照して起動中または起動しようとするディスク装置１１３０の各々の部品についての消費電力の合計を計算する方法がある。また、比較方法としては、発熱量の合計値と、対応するファン１１５０の冷却熱量９０２０を比較する方法が考えられる。しかし、変形例として以下の方法と組み合わせることも考えられる。
【００７５】
（１）ディスク装置１１３０の状態を考慮して発熱量を計算する方法
ディスク装置１１３０を導入してから動作させた時間が長くなると、発熱量が増加することもあるため、定期的に各々のディスク装置の状態を確認しながら発熱量を求め、そこから合計値を計算することも考えられる。具体的には、コントローラ１１１０が定期的にディスク装置１１３０の発熱量を確認し、ディスク装置管理情報２００２を書き換えるようにすればよい。
【００７６】
（２）ディスク装置１１３０の温度を考慮した計算と比較方法
ディスク装置１１３０の動的な温度変化を考慮した冷却を行うために、ディスク装置１１３０の温度を目的とする温度まで冷却するために余分に必要となる冷却熱量を、ディスク装置１１３０の発熱量へ加える方法も考えられる。また、ディスク装置の仕様として、使用中の最高装置温度が決められているが、より高寿命で用いたい場合はこれより低い温度でディスク装置を用いることも考えられる。しかし、決められた冷却熱量の範囲で低い温度でディスク装置を動作させようとすると、多くのディスク装置１１３０を稼動させることができない。そこで、管理者に希望する動作モード（アクセス優先、寿命優先）を設定してもらい、それにあわせて計算と比較を行う構成としても良い。
【００７７】
（３）ディスクシステム１１００の空気や冷却用流体の流れの変化を考慮した方法
一般的に装置の冷却は、装置の周辺に存在する流体（例えば空気や冷却用の水。以下「冷却用流体」と称する）に装置が発生した熱を移動させ、その流体を装置外へ移動させることによって行われる。また、装置と冷却用流体との間の熱の移動にフィンを介在させることもある。そのため、装置の冷却をする場合は、冷却用流体の比熱や熱伝導率や温度に加えて、装置の周りを移動する冷却用流体の流量が冷却効率に関係する。
【００７８】
しかし、ディスクシステム１１００の保守を行う場合等にディスクシステム１１００の全体または一部の筐体のカバーを開く場合がある。この場合ディスクシステム１１００内の冷却用流体の流れが変わるため、筐体が閉じている場合と比較してファンの冷却熱量が変化（例えば低下）する。こうした冷却用流体の流れの変化に繋がる状態の変化（特に筐体のカバーの開閉）を考慮して冷却熱量の比較を行う方法が考えられる。例えば、上述した図１０等の処理をコントローラ１１１０が行っている場合に、コントローラ１１１０が開閉情報２２０３０を参照する。そして、筐体が開いていることが判明した場合は、コントローラ１１１０が、冷却能力の低下分を考慮したファン１１５０の冷却熱量９０２０を計算して、その値で図１１等の処理を行うことが考えられる。
【００７９】
なお、本比較方法を用いる場合、ディスクシステム１１００からホストコンピュータ１２００への応答結果に筐体の開閉が原因でディスク装置１１３０の起動ができなかったとの結果を返す等、ディスク装置の起動と筐体の開閉を関連付ける情報をディスクシステム１１００外部へ提供してもよい。また、筐体のカバーが閉じている状態から開かれてしまった場合に、ディスクシステム１１００自身がその現象を検知し、駆動しているディスク装置１１３０を停止させることも考えられる。
【００８０】
もちろん、上記変形例以外を用いて、消費電力と発熱量を計算したり、比較を行うなどによって、それぞれの発熱量、消費電力、電力容量、冷却熱量を考慮してもよい。
【００８１】
また、ディスクシステム１１００は、ホストコンピュータ１２００から読み書きを含むアクセス要求が到着する時以外の時間でも、駆動していないディスク装置１１３０に対してアクセスすることがある。例えば以下のようなディスクシステム１１００主体の処理が実行される場合が考えられる。
（１）パリティグループの中のディスク装置１１３０が障害停止した際のスペアディスクへのデータコピーのようなパリティグループ回復処理
（２）論理ボリュームに含まれるデータの暗号化や圧縮やガーベージコレクション
（３）ディスクシステム１１００内部の二つの論理ボリューム間でのデータコピーやデータ再配置
（４）異なるディスクシステム１１００間でのデータコピーやデータ再配置
このようなディスクシステム１１００主体の処理が駆動していないディスク装置１１３０が有するデータへアクセスする場合でも、コントローラ１１１０がアクセス可能性向上指示受付プログラム２０１０を実行することで、消費電力と発熱量を考慮したディスク装置１１３０とファン１１５０の起動を行うことができる。しかしこの場合、ディスク装置１１３０の起動によって目標電力２３０１０や目標熱量２２０２０を超えた消費電力や発熱量を生じる場合は目的のディスク装置１１３０が起動されず、コントローラ１１１０がデータにアクセスすることができない。つまり結果として、上述したようなディスクシステム１１００主体の処理が進まない、または終了することがある。こうした状況を管理者が知るために、ディスクシステム１１００が主体の処理が失敗した理由が消費電力と発熱量に関係することを提供する画面出力を用意することも考えられる。
【００８２】
また、パリティグループ回復処理のようにデータ消失の危険性が高い等の理由で優先度が高い処理については例外な処理を行うことも考えられる。例えば、ディスクシステム１１００や管理者が、処理内容に優先度を設定する。そして優先度が高い処理に関してディスク装置１１３０やファン１１５０を起動する場合は、消費電力の合計が目標電力以上であったり発熱量の合計が目標熱量以上であってもディスク装置１１３０やファン１１５０を起動するようにする。この場合、図１０等で説明した処理手順において、コントローラ１１１０は、優先度に応じて、ステップＳ１０１０２又はＳ１０２０２の処理を省略するようにすればよい。
【００８３】
更に、第一の実施形態では、論理ボリューム単位で駆動すべきディスク装置を決定していた。しかし、論理ボリューム単位ではなく、リード要求又はライト要求されるデータが格納されるディスク装置かどうかで駆動すべきディスク装置を決定しても良い。
【００８４】
又、第一の実施形態では、消費電力、熱量、目標電力及び目標熱量の全てについて要求が満たされる場合にのみディスク装置やファンを起動している。しかし、これらのうち、熱量と最大電力のみを考慮してディスク装置やファンを起動する構成も考えられる。この場合、目標電力が最大電力として設定されていれば良い。また、管理者等によって、考慮すべき要求を取捨選択することができるようにしても良い。これにより、管理者等の要求に沿ったディスク装置の駆動が実現できる。
【００８５】
図１２は、第２の実施形態を適用したシステムの構成例を示す図である。第１の実施形態と第２の実施形態との相違は、ホストコンピュータ１２００がアクセスする仮想的な記憶領域をホスト論理ボリューム１２０１０と呼ぶ点である。なお、図１２では、図１に記した情報、プログラム及びコントローラ１１１０内部のハードウェアは省略している。ホスト論理ボリューム１２０１０は、ＣＰＵ１１１１がアクセス処理プログラム２０３０を実行することによって作成される仮想的な論理ボリュームである。このホスト論理ボリューム１２０１０は、論理ボリューム１１４０と対応付けられる。
【００８６】
コントローラ１１１０は、論理ボリューム１１４０を後述するアクセスホスト論理ボリューム情報１２０３０に基づいてホスト論理ボリューム１２０１０に変換してホストコンピュータ１２００へ提供したり逆の変換を行う。なお、このホスト論理ボリューム１２０３０の数は様々な理由から上限数が決まっていることもある。
【００８７】
ここで第２の実施形態の特徴は、ホストコンピュータ１２００がアクセスする可能性が上昇した論理ボリューム１１４０のみに、ホスト論理ボリューム１２０１０を割り当ててホストコンピュータ１２００からアクセスが可能とすると共に、起動していないディスク装置１１３０を起動する点である。また、アクセスされる可能性が低下した論理ボリューム１１４０は、ホスト論理ボリューム１２０１０の割り当てから解放することでホストコンピュータ１２００からのアクセスが不可能となると共に、可能であればディスク装置１１３０を停止するという点である。
【００８８】
具体的には、第二の実施形態のシステムは以下のように動作する。まず、ホストコンピュータ１２００は、アクセスされる可能性の高くなった論理ボリューム１１４０の識別子またはアドレスをディスクシステム１２０００に通知する。コントローラ１１１０は、ホスト論理ボリューム割り当てプログラム１２０２０を実行して、通知された論理ボリューム１１４０に割り当てるべき、ホスト論理ボリューム１２０１０の識別子をホストコンピュータ１２００に通知する。ホストコンピュータ１２００は、通知された識別子を用いて、ディスクシステム１２０００が仮想的に有するホスト論理ボリュームにアクセスする。
【００８９】
一方、アクセスされる可能性が低くなった論理ボリューム１１４０については、ホストコンピュータ１２００が、その論理ボリューム１１４０の識別子又は対応するホスト論理ボリューム１２０１０の識別子をディスクシステム１２０００に通知する。ディスクシシテム１２０００は、通知されたホスト論理ボリューム１２０１０と対応する論理ボリューム１１４０との対応関係の情報を制御用メモリ１１１３から削除する。
【００９０】
第２の実施形態では、制御用メモリ１１１３にもつ管理情報に、ホスト論理ボリューム情報１２０３０が設けられる。ここには、ホスト論理ボリューム１２０１０と論理ボリューム１１４０との対応関係に関する情報が登録される。
【００９１】
図１３は、ホスト論理ボリューム情報１２０３０の構成例を示す図である。ホスト論理ボリューム情報１２０３０は、ホスト論理ボリューム１２０１０ごとに下記に示す情報が登録されるエントリを有する。ホスト論理ボリューム識別子１３０１０は、対応するホスト論理ボリューム１２０１０の識別子の情報が登録されるエントリである。論理ボリュームアドレス１３０２０は、ホスト論理ボリューム１２０１０に割り当てられた論理ボリューム１１４０の識別子の情報が登録されるエントリである。ここで、当該ホスト論理ボリューム１２０１０に論理ボリューム１１４０が割り当てられていなければ、この値はヌル値になっているものとする。以上の点以外は、第２の実施形態の構成は、第１の実施形態の構成と同じである。
【００９２】
図１４は、ディスクシステム１２０００が、アクセスする可能性が上昇した論理ボリューム１１４０の情報を受け取った時の処理手順例を示した図である。なお、以下の処理は、コントローラ１１１０のCPU１１１１がホスト論理ボリューム割り当てプログラム１２０２０を実行することで行われる。
アクセスする可能性が上昇した論理ボリューム１１４０の情報（識別子）を受け取ったディスクシステム１２０００のコントローラ１１１０は（Ｓ１４０１０）、受信した識別子を用いてアクセス可能性向上指示受付プログラム２０１０を実行する（Ｓ１４０２０）。
【００９３】
次にコントローラ１１１０は、アクセス可能性向上指示受付プログラム２０１０の実行の結果、ディスク装置１１３０が起動されたかどうかを確認する（Ｓ１４０３０）。ディスク装置１１３０が起動された場合、コントローラ１１１０は、ホスト論理ボリューム情報１２０３０から、論理ボリューム１１４０が割り当てられていないホスト論理ボリューム１２０１０を検索する。なお、Ｓ１４０１０で希望するホスト論理ボリューム１２０１０の識別子も併せて受信した場合は、コントローラ１１１０は、受信した識別子に対応するホスト論理ボリューム１２０１０を検索すればよい（Ｓ１４０４０）。
【００９４】
次にコントローラ１１１０は、条件に合致するホスト論理ボリューム１２０１０が発見できたか確認する（Ｓ１４０５０）。条件に合致するホスト論理ボリューム１２０１０が発見できた場合、コントローラ１１１０は、ホスト論理ボリューム情報１２０３０内の発見されたホスト論理ボリューム１２０１０に対応するエントリへ、Ｓ１４０１０で受信した論理ボリューム１１４０の識別子の情報を登録する。その後、コントローラ１１１０は、割り当てたホスト論理ボリューム１２０１０の識別子の情報を含む割り当て完了をホストコンピュータ１２００に送信して終了する（Ｓ１４０６０）。
【００９５】
一方、ステップＳ１４０３０でディスク装置１１３０が起動できないと判断された場合、コントローラ１１１０は、割り当て失敗をホストコンピュータ１２００に通知して終了する。なお、この時の通知には、発熱量や消費電力の条件を満たさなかった等のディスク装置１１３０が起動できなかった理由が含まれても良い（Ｓ１４１００）。
【００９６】
割り当てるべきホスト論理ボリューム１２０１０が見つからなかった場合、コントローラ１１１０は、アクセス可能性低下指示受付プログラム２０２０を実行し、可能であればディスク装置１１４０とファン１１５０を停止させた後に、割り当て失敗をホストコンピュータ１２００に通知して処理を終了する。なお、この時の通知には、ホスト論理ボリュームの割り当てが失敗したという理由を含めてもよい。
【００９７】
図１５は、ディスクシステム１２０００がある論理ボリューム１１４０のアクセス可能性の低下の情報を受信した際に、ディスクシステム１２０００で実行される処理手順の例を示す図である。本処理も、ＣＰＵ１１１１がホスト論理ボリューム割り当てプログラム１２０２０を実行することで実現される。
【００９８】
ディスクシステム１２０００は、アクセスする可能性が低下した論理ボリューム１１４０またはホスト論理ボリューム１２０１０の識別子の情報をホストコンピュータ１２００からを受信する（Ｓ１５０１０）。その後、ディスクシステム１２０００のコントローラ１１１０は、受信した識別子を用いてアクセス可能性低下指示受付プログラム２０１０を実行して、停止可能なディスク装置１１３０とファン１１５０があれば停止させる（Ｓ１５０２０）。その後、コントローラ１１１０は、ホスト論理ボリューム情報Ｓ１２０３０内のホスト論理ボリューム１２０１０と論理ボリューム１１４０の対応を削除し（つまり論理ボリューム識別子１３０２０の値をヌルにし）、処理終了をホストコンピュータ１２００に通知して終了する（Ｓ１５０３０）。
【００９９】
なお、一つの論理ボリューム１１４０と複数のホスト論理ボリューム１２０１０とが対応してもよく、また、ホスト論理ボリューム１２０１０の一部のデータ領域が論理ボリュームの全体または一部の領域と対応してもよい。ただしこの場合は、ホスト論理ボリューム情報１２０３０にはホスト論理ボリューム１２０１０の開始アドレスと終了アドレス、論理ボリューム１１４０の開始アドレスと終了アドレスの情報が追加される。なお、本実施形態のホスト論理ボリューム１２０１０の割り当てと開放には、ＳＣＳＩやｉＳＣＳＩの論理ユニット番号、メインフレームのコントロールユニット番号とＬＤＥＶ番号等の割り当てと開放の概念も含んでいる。
【０１００】
図１６は、第３の実施形態を適用したシステムの構成例を示す図である。なお図１６では、図１に記した情報、プログラム及びコントローラ１１１０内部のハードウェアは省略している。第３の実施形態と第１の実施形態の相違点は、第３の実施形態では、ディスクシステム１６０００内部に、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）を実現する制御部１６１００（以下「ＮＡＳ１６１００」と称する）が追加された点である。なお、図１６ではＮＡＳ１６１００がディスクシステム１６０００内に存在しているが、他の実施形態として、ＮＡＳ１６１００がディスクシシテム１６０００の外側に存在してもよい。
【０１０１】
ＮＡＳ１６１００とホストコンピュータ１２００との間の通信に使用されるプロトコルは、通常ＩＰであることから、ホストコンピュータ１２００とＮＡＳ１６１００の間は、図１の構成とは異なり、ＩＰスイッチ１６２００で接続される。もちろん、ホストコンピュータ１２００とＮＡＳ１６１００が直接接続されていてもかまわない。また、ＮＡＳ１６１００は論理ボリューム１１４０に対してアクセスを行うが、第２の実施形態で説明したホスト論理ボリューム１２０１０に対してアクセスを行ってもよい。
【０１０２】
ＮＡＳ１６１００は、ＣＰＵ１６１１０、ＮＡＳメモリ１６１２０、ＩＰ用インターフェース１６１３０及びボリュームアクセス用インターフェイス１６１４０を有する。これらの構成要素は内部バスまたはネットワークで相互に接続されている。ホストコンピュータ１２００は、ＮＡＳ１６１００に対してファイル単位（ファイルＩ／Ｏ、あるいはファイルレベルとも言う）のアクセス要求を送信する。ＮＡＳ１６１００はファイル単位のアクセス要求を論理ボリュームに対するアクセス要求（ブロックＩ／Ｏ、ブロックレベルとも言う）へ変換してコントローラ１１１０へアクセス要求を送信する。
【０１０３】
第３の実施形態では、論理ボリューム１１４０の使用と停止を、ＮＡＳ１６１００がコントローラ１１１０に指示する。それとともに、第１及び第２の実施形態ではホストコンピュータ１２００が送信していた論理ボリューム１１４０のアクセス可能性に関する情報を、ＮＡＳ１６１００が送信する。一般に、ファイルは使用される直前にオープンされ、使用が完了するとクローズされる。そこで、ＮＡＳ１６１００は、ある論理ボリューム１１４０に含まれるファイルが１つでもオープンされると、その論理ボリューム１１４０がアクセスされる可能性が上昇したとしてそれをコントローラ１１１０に通知し、オープンされているファイルが１つもなくなると、その論理ボリューム１１４０がアクセスされる可能性が低下したとして、その事をコントローラ１１１０に通知する。
【０１０４】
上述したオープン要求を受け取った契機以外にも、ＮＡＳ１６１００は、ホストコンピュータ１２００から論理ボリューム１１４０に含まれるファイルシステムまたはディレクトリのマウント要求を受け取ったときに、対応する論理ボリューム１１４０のアクセス可能性が上昇したと判断して、この情報をコントローラ１１１０に通知してもよい。同様に、クローズ要求を受け取った契機以外にも、ＮＡＳ１６１００が、ホストコンピュータ１２００からファイルシステムまたはディレクトリのアンマウント要求を受け取ったとき、対応する論理ボリューム１１４０のアクセス可能性が低下したと判断して、当該情報をコントローラ１１１０に通知してもよい。
【０１０５】
なお、ファイルのオープンの数判断基準はゼロ以外でもよく、又、ファイルオープン要求を元にアクセス可能性が上昇したと判断してもよい。また、ファイルクローズを元にアクセス可能性が低下したと判断してもよい。同様に、マウント中のクライアント数の判断基準はゼロ以外でもよく、これ以外の方法を用いて、マウント要求を元にアクセス可能性が上昇したと判断してもよく、また、アンマウント要求を元にアクセス可能性が低下したと判断してもよい。更に他の評価方法でファイルオープン／マウントで可能性が上昇したと判断してもよい。
【０１０６】
図１７は、ＮＡＳメモリ１６１２０に格納される情報とプログラムの例を示した図である。
ファイル論理ボリューム対応情報１６１２１は、ホストコンピュータ１２００が指定したファイル名または他の識別子から、ファイルのデータを含む論理ボリューム１１４０の識別子と論理ボリューム内のデータ領域を指定可能なアドレスを取得するための対応関係の情報である。また、ファイル論理ボリューム対応情報１６１２１には、アクセス権限並びに、ファイル最新更新時刻、生成時刻及び最新参照時刻等のアクセス時間に関する情報を含んでもよい。
【０１０７】
論理ボリュームカウンタ情報１６１２２は、論理ボリューム１１４０毎の、現在マウント中のクライアントの数や現在オープン中のファイルの数を管理するための情報である。
ファイルアクセス処理プログラム１６１２３は、ホストコンピュータ１２００からのファイルオープン、クローズ、読み込みや書き込み要求のほか、ファイルシステムまたはディレクトリのマウントやアンマウント要求等のアクセス要求を受信して処理を行う際に、ＣＰＵ１６１１０が実行するプログラムである。
【０１０８】
ファイルアクセス処理プログラム１６１２３は、ファイル読み込み要求を受け取った場合、ファイル論理ボリューム対応情報１６１２１を参照し、必要なデータが含まれる論理ボリューム１１４０とデータ領域を認識した後にデータを読み込んでホストコンピュータ１２００へ完了を通知する際にＣＰＵ１６１１０が実行するプログラムである。このファイルアクセス処理プログラム１６１２３は、ファイル書き込み要求を受け取った場合、ファイル論理ボリューム対応情報１６１２１を参照し、データを書き込むべき論理ボリューム１１４０とデータ領域を認識した後にホストコンピュータ１２００から受け取ったデータを書き込んだ後にホストコンピュータ１２００へ送信する際にも、ＣＰＵ１６１１０で実行される。
【０１０９】
図１８は、論理ボリュームカウンタ情報１６１２２の構成例を示した図である。論理ボリュームカウンタ情報１６１２２は、論理ボリューム１１４０ごとに下記に示す情報を登録するエントリを有する。
【０１１０】
論理ボリューム識別子１８０１０は、論理ボリューム１１４０の識別子の情報が登録されるエントリである。オープンカウンタ１８０２０は、現在オープンされている論理ボリューム１１４０に含まれるファイルの数の情報が登録されるエントリである。マウントオープンカウンタ１８０３０は、論理ボリューム１１４０に含まれるファイルシステムをマウント中のホストコンピュータ１２００の数の情報が登録されるエントリである。
【０１１１】
図１９は、ＮＡＳ１６１００が、ホストコンピュータ１２００からのマウント要求を受信したときの処理手順例を示す図である。以下の処理手順は、ＣＰＵ１６１１０がファイルアクセス処理プログラム１８１２３を実行することによって実現される。なお、以下では、マウント要求あるいはアンマウント要求を契機として、ＮＡＳ１６１００がコントローラ１１１０にディスク装置１１３０の起動等と言った、第一の実施形態で説明した処理の実行を指示するものとする。しかし、上述したように、契機の形態はさまざまである。
【０１１２】
ＮＡＳ１６１００は、マウント対象を定義する情報（ファイルシステムが存在する論理ボリューム１１４０の識別子またはディレクトリ名、あるいはその他ファイルやディレクトリや論理ボリュームを識別する情報）と共に、マウント要求を受信する（Ｓ１９０１０）。ＮＡＳ１６１００は、受信したマウント対象を定義する情報から実際にマウント対象のファイルシステムまたはディレクトリが含まれる論理ボリューム１１４０を特定する。なお、特定のためにファイル論理ボリューム対応情報１８１２１が用いられてもよい（Ｓ１９０２０）。
【０１１３】
次に、ＮＡＳ１６１００は、論理ボリュームカウンタ情報１６１２２を参照することで、特定した論理ボリューム１１４０をマウントしているホストコンピュータ１２００の数を確認する（Ｓ１９０３０）。
【０１１４】
特定した論理ボリューム１１４０をマウントするホストコンピュータ１２００が存在しない場合、ＮＡＳ１６１００は、特定した論理ボリューム１１４０を引数として、コントローラ１１１０に対してアクセス可能性向上指示受付プログラム２０１０の実行を指示し、その応答を待つ。指示を受けたコントローラ１１１０は、第一の実施形態等と同様に消費電力と発熱量を考慮して、論理ボリューム１１４０に対応するディスク装置１１３０とファン１１５０のいずれかまたは両方を可能ならば起動し、その結果を応答としてＮＡＳ１６１００に送信する（Ｓ１９０４０）。
【０１１５】
コントローラ１１１０から応答を受信したＮＡＳ１６１００は、その応答内容がディスク装置１１５０の起動が成功したという内容かどうか確認する（Ｓ１９０５０）。
ディスク装置１１３０の起動が成功した場合、ＮＡＳ１６１００は、特定した論理ボリュームについて、ネットワークファイルシステムのマウント処理を行う。その後、ＮＡＳ１６１００は、論理ボリュームカウンタ情報のマウントカウンタ１８１３０に登録された数字に１を加え、ホストコンピュータ１２００へマウント完了を通知して処理を終了する（Ｓ１９０５０）。
【０１１６】
一方、ディスク装置１１３０の起動が失敗した場合、ＮＡＳ１６１００は、ホストコンピュータ１２００へマウント失敗を通知して処理を終了する。このとき、ＮＡＳ１６１００は、消費電力や冷却熱量の関係でディスク装置を起動できなかったことを、マウント失敗の理由としてホストコンピュータ１２００への通知に含めても良い（Ｓ１９２００）。
【０１１７】
図２０は、ＮＡＳ１６１００がホストコンピュータ１２００からのアンマウント要求を受信したときの処理手順例を示す図である。本処理も、ＣＰＵ１６１１０がファイルアクセス処理プログラム１８１２３を実行することで実現される。
ＮＡＳ１６１００は、アンマウント対象を定義する情報（ファイルシステムが存在する論理ボリューム１１４０の識別子またはディレクトリ名、あるいはその他ファイルやディレクトリや論理ボリュームを識別する情報）と共に、アンマウント要求をホストコンピュータ１２００から受信する（Ｓ２００１０）。ＮＡＳ１６１００は、受信したアンマウント対象を定義する情報から、実際にアンマウント対象のファイルシステムまたはディレクトリが含まれる論理ボリューム１１４０を特定する。なお、特定のためにファイル論理ボリューム対応情報１８１２１が用いられてもよい（Ｓ２００２０）。
【０１１８】
次にＮＡＳ１６１００は、ネットワークファイルシステムのアンマウント処理を行った後に、特定された論理ボリューム１１４０に関する論理ボリュームカウンタ情報１６１２２のマウントカウンタ１８０３０に登録された数字を１減少し、ホストコンピュータ１２００へアンマウント完了を通知する（Ｓ２００３０）。次にＮＡＳ１６１００は、論理ボリュームカウンタ情報１６１２２を参照することで、特定した論理ボリューム１１４０をマウントしているホストコンピュータ１２００の数を確認する（Ｓ２００４０）。
【０１１９】
特定した論理ボリューム１１４０をマウントしているホストコンピュータ１２００が０の場合、ＮＡＳ１６１００は、特定された論理ボリュームを引数として、コントローラ１１１０にアクセス可能性低下指示受付プログラム２０２０の実行を指示する。指示を受けたコントローラ１１１０は、可能ならばディスク装置１１３０とファン１１５０のいずれかまたは両方を停止し、処理を終了する（Ｓ２００５０）。一方、特定した論理ボリューム１１４０をマウントしているホストコンピュータ１２００が１以上ある場合、ＮＡＳ１６１００はそのまま処理を終了する（Ｓ２００６０）。
【０１２０】
次に、ファイルオープン要求あるいはファイルクローズ要求を契機として、ＮＡＳ１６１００がコントローラ１１１０にディスク装置１１３０の起動等と言った、第一の実施形態で説明した処理の実行を指示する例について説明する。
【０１２１】
図２１は、ＮＡＳ１６１００が、ホストコンピュータ１２００からのファイルオープン要求を受信したときの処理手順例を示す図である。
ＮＡＳ１６１００は、ファイルオープン対象となるファイルを定義する情報（ファイル名やその他の識別子）を含むファイルオープン要求を受信する（Ｓ２１０１０）。ＮＡＳ１６１００は、受信した情報から実際にファイルオープン対象のファイルが含まれる論理ボリューム１１４０を特定する。なお、特定のためにファイル論理ボリューム対応情報１８１２１が用いられてもよい（Ｓ２１０２０）。
【０１２２】
次にＮＡＳ１６１００は、論理ボリュームカウンタ情報１６１２２を参照することで、特定した論理ボリューム１１４０に含まれ、かつオープン中のファイルの数を確認する（Ｓ２１０３０）。
【０１２３】
特定された論理ボリューム１１４０に含まれ、かつオープン中のファイルの数が０の場合、ＮＡＳ１６１００は、特定された論理ボリューム１１４０の識別子を引数として、コントローラ１１１０にアクセス可能性向上指示受付プログラム２０１０の実行を指示し、コントローラ１１１０からの応答を待つ。コントローラ１１１０は、消費電力と発熱量を考慮してディスク装置１１３０とファン１１５０のいずれかまたは両方を可能ならば起動する。そしてコントローラ１１１０は、その結果を応答としてＮＡＳ１６１００に送信する（Ｓ２１０４０）。
【０１２４】
次に、ＮＡＳ１６１００は、コントローラ１１１０から受信した応答の内容が、ディスク装置１１５０の起動が成功したという内容かどうか判断する（Ｓ２１０５０）。
コントローラ１１１０からの応答がディスク装置１１３０の起動が成功したという内容の場合、ＮＡＳ１６１００は、ネットワークファイルシステムのファイルオープン処理を行った後に、特定した論理ボリューム１１４０に対応する、論理ボリュームカウンタ情報１６１２２のオープンカウンタ１８０２０に登録された数字を１増加し、ホストコンピュータ１２００へオープン完了を通知して処理を終了する（Ｓ２１０５０）。
【０１２５】
一方、コントローラ１１１０からの応答がディスク装置１１３０の起動が失敗したという内容の場合、ＮＡＳ１６１００は、ホストコンピュータ１２００へオープン失敗を通知して処理を終了する。このとき、ＮＡＳ１６１００は、消費電力や冷却熱量の関係でディスク装置１１３０が起動できなかったことを、オープン失敗の通知に含めてもよい。
【０１２６】
図２２は、ＮＡＳ１６１００が、ホストコンピュータ１２００からのファイルクローズ要求を受信したときの処理手順例を示す図である。本処理も、ＣＰＵ１６１１０がファイルアクセス処理プログラム１８１２３を実行することによって実現される。
【０１２７】
ＮＡＳ１６１００は、ファイルクローズ対象となるファイルを定義する情報（ファイル名やファイルハンドルや、その他識別子）を含むファイルクローズ要求を受信する（Ｓ２２０１０）。次にＮＡＳ１６１００は、受信したファイルクローズ対象を定義する情報から実際にクローズ対象のファイルが含まれる論理ボリューム１１４０を特定する。なお、特定のためにファイル論理ボリューム対応情報１８１２１が用いられてもよい（Ｓ２２０２０）。
【０１２８】
次にＮＡＳ１６１００は、ネットワークファイルシステムのファイルクローズ処理を行った後に、特定された論理ボリューム１１４０に対応する、論理ボリュームカウンタ情報１６１２２のオープンカウンタ１８０２０に登録された数字を１減少する。そしてＮＡＳ１６１００は、ホストコンピュータ１２００へファイルクローズ完了を通知する（Ｓ２２０３０）。
【０１２９】
次にＮＡＳ１６１００は、論理ボリュームカウンタ情報１６１２２を参照することで、特定した論理ボリューム１１４０に含まれ、かつオープン中のファイルの数を確認する（Ｓ２２０４０）。
特定した論理ボリューム１１４０に含まれ、かつオープン中のファイルの数が０の場合、ＮＡＳ１６１００は、特定された論理ボリューム１１４０の識別子を引数として、コントローラ１１１０にアクセス可能性低下指示受付プログラム２０２０の実行を指示する。コントローラ１１１０は、可能ならばディスク装置１１３０とファン１１５０のいずれかまたは両方を停止し、処理を終了する（Ｓ２２０６０）。一方、特定した論理ボリューム１１４０に含まれ、かつオープン中のファイルの数が１以上の場合、ＮＡＳ１６１００は、そのまま処理を終了する（Ｓ２２０６０）。
【０１３０】
なお、上述したファイルオープンやマウントの処理手順では、コントローラ１１１０がディスク装置１１３０を起動できなかった場合、コントローラ１１１０がＮＡＳ１６１００からの指示を待ち行列へ登録しないことを想定して説明した。しかし、その他の実施形態として、コントローラ１１１０がディスク装置１１３０の起動ができなかった場合に、コントローラ１１１０がＮＡＳ１６１００からの指示を待ち行列へ登録する方法が考えられる。ただしこの場合、上述した処理のＳ１９２００やＳ２１２００のオープン失敗の通知のかわりに、コントローラ１１１０が待ち行列に基づいてディスク装置１１３０を起動して論理ボリューム１１４０に対してアクセス可能になってから、ＮＡＳ１６１００がオープン完了やマウント完了の通知をホストコンピュータ１２００に送信することが考えられる。
【０１３１】
また、ディスク装置１１３０の起動時間が長い場合（待ち行列へ登録される場合と、装置そのものの起動時間が長い場合の両方を含む）、ＮＡＳ１６１００が、ホストコンピュータ１２００が再度要求を発行するようなメッセージを、ホストコンピュータ１２００に対して送信することも考えられる。このようにすることで要求受付から返事までの無応答時間を削減し、ディスクシステム１６０００の障害誤認識を回避することができる。
【０１３２】
図２５は、第４の実施形態を適用したシステムの構成例を示す図である。通常、システムの管理者は、電力会社に支払う（支払える）電気代（以下、「電力コスト」とも言う）を基準にして、記憶システム１０００で消費可能な電力を計算することが多い。そこで本実施形態では、管理者が電力コストの情報を記憶システム１０００に設定することで、記憶システム１０００が自動的にその電力コストに見合った目標電力を記憶システム１０００自身に設定する。より具体的には、記憶システム１０００の管理者が入力する目標電力コストに基づいて、記憶システム１０００が、電力会社が提供する電力と電力コストの変換式を用いて目標電力コストを目標電力に変換する。
【０１３３】
ここで、第１から第３の実施形態と本実施形態とは、管理計算機１３００の管理メモリ１３１０に、電力コスト＝電力量変換プログラム２５００１と目標電力コスト情報が追加された事と、インターネット２５０２０経由で電力コスト情報提供コンピューター２５０１０が記憶システム１０００に接続される事が相違する。
【０１３４】
電力コスト情報提供コンピューター２５０１０は、電力コスト（例えば、単位時間当たりに使用した電力量に対応する金額）に関する情報を提供するためのコンピューターである。電力コスト情報コンピューター２５０１０が有するメモリには、電力コスト情報提供プログラム２５０１２と電力コスト情報２５０１１が格納される。この電力コスト情報提供コンピューター２５０１０は、電力会社が所有することが考えられる。電力コスト情報２５０１２とは、電力コストから使用可能な電力（すなわち目標電力）を計算するために必要となる電力コスト情報が登録されるエントリである。電力コスト情報の例としては、電力コスト、時間（あるは日付）、電力使用契約等の条件に基づいて、当該条件を満たすことができる最大電力を計算するための関数が考えられるが、これ以外でもよい。
【０１３５】
電力コスト情報提供プログラム２５０１２は、管理計算機１３００からの要求に応じて電力コスト情報の一部または全てを提供する際に、電力コスト情報提供コンピューター２５０１０で実行されるプログラムである。
【０１３６】
次に、管理計算機１３００に追加されたプログラムと情報について概要を説明する。
目標電力コスト情報２５００２は、記憶システム１０００が目標とする最大電力コストの情報を保存するエントリである。当該情報は記憶システム１０００の管理者によって入力されることが考えられるが、他の方法または人物などから入力されてもよい。電力コスト＝電力量変換プログラム２５００１は、記憶システム１０００が目標とする最大電力コストと電力コスト情報コンピューター２５０１０が提供する情報を元に、管理計算機１３００が利用可能な最大電力を計算し、設定する際に実行されるプログラムである。
【０１３７】
なお、上述した通り、電力コスト情報提供コンピューター２５０１０は、インターネット２５０２０を通じて記憶システム１０００と接続される。なお、インターネット２５０２０の通信方式・媒体の種類は問わない。
【０１３８】
図２６は、管理計算機１３００が電力コスト＝電力量変換プログラム２５００１を実行して、電力コストの情報から目標電力を計算する際の処理手順例を示した図である。本プログラムは定期的に実行されることが想定されるが、不定期に実行してもよい。
【０１３９】
管理計算機１３００は、電力コスト情報提供コンピューター２５０１０に要求を発行して、電力コスト情報の一部または全てを取得する。なお、管理計算機１３００が電力コスト情報提供コンピューター２５０１０に要求を発行する場合、発行先となる電力コスト情報提供コンピューター２５０１０のネットワーク上の位置を知っている必要がある。解決方法としては、記憶システム１０００導入時点で管理計算機１３００に要求発行先となる電力コスト情報提供コンピューター２５０１０のアドレスを予め入力することが考えられる。ただし、他の方法を用いてもよい。また、電力コスト情報の取得は、管理計算機１３００にあらかじめ保持したり、一定時間キャッシングしてもよい。つまり、管理計算機が、情報を予め貰っておく場合又は、随時貰う場合がある（ステップ２６０００）。
【０１４０】
次に、管理計算機１３００は、（Ａ）目標電力コスト情報又は（Ｂ）電力コスト情報が変化したかどうか（すなわち、管理者あるいは電力会社等によって変更されたかどうか）確認し、変化していない場合は終了する（ステップ２６０１０）。変化している場合は、管理計算機１３００は、電力コスト情報に含まれる計算式を用いて、目標電力コスト情報から、目標電力を計算する（ステップ２６０２０）。
【０１４１】
次に、計算した目標電力が従来の目標電力と同じ場合は、管理計算機１３００は、プログラムの実行を終了する（ステップ２６０３０）。異なる場合、管理計算機１３００は、計算した目標電力と、ディスクシステム１１００から取得した現在使用中の電力を比較する（ステップ２６０４０）。もし計算値が小さい場合は、管理計算機１３００は、画面出力装置に現在使用中の電力が大きいために目標電力の設定ができなかったことを表示して終了する（ステップ２６０６０）。一方、ステップ２６０４０で、計算値が現在使用中の電力より大きいか、等しい場合は、管理計算機１３００は、ディスクシステム１１００の目標電力を計算値に更新してプログラムの実行を終了する（ステップ２６０５０）。
【０１４２】
なお、上述した実施形態において、ディスク装置１１３０の起動タイミングをホスト計算機等から通知される、論理ボリュームの使用可能性上昇の通知の受領時としたが、その他のタイミングでも構わない。又、論理ボリュームの使用可能性上昇等は、ホスト計算機等が、当該論理ボリュームへのアクセスパターンを解析して判断されるという例が考えられる。
【０１４３】
なお、本発明の実施形態として、以下の構成も考えられる。すなわち、ホストコンピュータとディスクシステムから構成され、ホストコンピュータはディスクシステムに定義された論理ボリュームにアクセスする機能をもち、ディスクシステムは、少なくとも、１つ以上のディスク装置、電源、前記論理ボリュームを前記ディスク装置に変換する機能をもつ、情報システムであって、前記ホストコンピュータが、前記ディスクシステムに、今後アクセスする可能性が向上した論理ボリュームを通知する手段を有し、前記ディスクシステムは、前記電源の電力容量と、現在起動中のディスク装置に加えて新たに起動するディスク装置で消費する電力を比較して、前記論理ボリュームに対応するディスク装置を起動する手段を有する構成である。
【０１４４】
又、上記構成おいて、更に前記ディスクシステムは１つ以上のファンを有し、前記ディスクシステムは、前記ファンの冷却熱量と、前記起動中のディスク装置に加えて前記新たに起動させるディスク装置の発熱量を比較して、前記論理ボリュームに対応するディスク装置を起動する手段を有する構成も考えられる。
【０１４５】
更に上記構成において、前記論理ボリュームに対応するディスク装置を起動するとき、新たに起動する必要があるファンを認識して、起動する手段を有する構成も考えられる。
【０１４６】
又、上記構成において、前記ホストコンピュータは、前記ディスクシステムに、今後アクセスする可能性が低下した論理ボリュームを通知する手段を有し、前記ディスクシステムは、前記論理ボリュームに対応するディスク装置を認識し、停止させる手段を有する構成としても良い。
【０１４７】
更に上記構成に加え、前記論理ボリュームに対応するディスク装置を停止させるとき、新たに停止させるファンを認識して、停止させる手段を有する構成も考えられる。
【０１４８】
又、別の構成として、ホストコンピュータとディスクシステムから構成され、ホストコンピュータは、ホスト論理ボリュームにアクセスし、ディスクシステムは、少なくとも、１つ以上のディスク装置、電源、前記ホスト論理ボリュームと前記論理ボリュームを変換する機能と、前記論理ボリュームを前記ディスク装置に変換する機能をもつ、情報システムであって、前記ホストコンピュータが、前記ディスクシステムに、今後アクセスする可能性が向上した論理ボリュームを通知する手段を有し、
前記ディスクシステムは、前記電源の電力容量と、現在起動中のディスク装置に加えて新たに起動するディスク装置で消費する電力を比較して、前記論理ボリュームに対応するディスク装置を起動する手段を有する構成も考えられる。
【０１４９】
更に上記構成において、前記ディスクシステムが１つ以上のファンを有し、前記ディスクシステムは、前記ファンの冷却熱量と、前記起動中のディスク装置に加えて前記新たに起動させるディスク装置の発熱量を比較して、前記論理ボリュームに対応するディスク装置を起動する手段を有する構成も考えられる。
【０１５０】
又上記構成において、前記論理ボリュームに対応するディスク装置を起動するとき、新たに起動する必要があるファンを認識して、起動する手段を有する構成も考えられる。
更に上記構成において、前記ホストコンピュータが、前記ディスクシステムに、今後アクセスする可能性の低下した論理ボリュームを通知する手段を有し、前記ディスクシステムは、前記論理ボリュームに割り当てた前記ホスト論理ボリュームを開放するときに、前記論理ボリュームに対応するディスク装置を停止させる手段を有する構成も考えられる。
【０１５１】
更に上記構成において、前記論理ボリュームに対応するディスク装置を停止させるとき、新たに停止させるファンを認識して、停止させる手段を有する構成も考えられる。
【０１５２】
又、異なる構成として、ファイル名または識別子からファイルのデータを含む論理ボリュームを取得する情報を有するＮＡＳと、少なくとも１つ以上のディスク装置、電源、前記論理ボリュームを前記ディスク装置に変換する機能をもつコントローラを含む、ディスクシステムであって、前記ＮＡＳが、ホストコンピュータからファイルオープン要求を受信した時、ファイルオープン要求を元に当該論理ボリュームが、アクセスする可能性が向上したと判断し、通知する手段を有し、前記ディスクシステムは、前記電源の電力容量と、現在起動中のディスク装置に加えて新たに起動するディスク装置で消費する電力を比較して、前記論理ボリュームに対応するディスク装置を起動する手段を有する構成も考えられる。
【０１５３】
更に上記構成において、前記ディスクシステムが１つ以上のファンを有し、前記ディスクシステムは、前記ファンの冷却熱量と、前記起動中のディスク装置に加えて前記新たに起動させるディスク装置の発熱量を比較して、前記論理ボリュームに対応するディスク装置を起動する手段を有する構成も考えられる。
【０１５４】
又上記構成において、前記論理ボリュームに対応するディスク装置を起動するとき、新たに起動する必要があるファンを認識して、起動する手段を有する構成も考えられる。
更に上記構成において、前記ＮＡＳが、ホストコンピュータからファイルクローズ要求を受信した時、ファイルクローズ要求を元に当該論理ボリュームが、アクセスする可能性が低下したと判断し、通知する手段を有し、前記ディスクシステムが、前記論理ボリュームに対応するディスク装置を停止させる手段を有する構成も考えられる。
【０１５５】
あるいは上記構成において、前記論理ボリュームに対応するディスク装置を停止させるとき、新たに停止させるファンを認識して、停止させる手段を有する構成も考えられる。
【図面の簡単な説明】
【０１５６】
【図１】第１の実施形態におけるシステム構成例を示す図である。
【図２】制御用メモリが有する情報とプログラム例を表す図である。
【図３】第１の実施形態の動作概要を示す図である。
【図４】第１の実施形態の動作概要を示す図である。
【図５】ディスクシステム内部の電源、ファン、ディスク装置、論理ボリュームの関係を例示する図である。
【図６】論理ボリューム管理情報の構成例を示す図である。
【図７】ディスク装置管理情報の構成例を示す図である。
【図８】電源情報の構成例を示す図である。
【図９】ファン情報の構成例を示す図である。
【図１０】ディスクシステム１１００の処理手順例を示す図である。
【図１１】ディスクシステム１１００の処理手順例を示す図である。
【図１２】第２の実施形態におけるシステム構成例を示す図である。
【図１３】ホスト論理ボリューム情報の構成例を示す図である。
【図１４】ディスクシステム１２０００がホスト論理ボリューム割り当て要求を受信した時の処理手順例を示す図である。
【図１５】ディスクシステム１２０００がホスト論理ボリューム開放要求を受信した時の処理手順例を示す図である。
【図１６】第３の実施形態におけるシステム構成例を示す図である。
【図１７】ＮＡＳメモリが有する情報とプログラムの例を示す図である。
【図１８】論理ボリュームカウンタ情報の構成例を示す図である。
【図１９】ＮＡＳ１６１００がマウント要求を受け付けたときの処理手順例を示す図である。
【図２０】ＮＡＳ１６１００がアンマウント要求を受け付けたときの処理手順例を示す図である。
【図２１】ＮＡＳ１６１００がファイルオープン要求を受け付けたときの処理手順例を示す図である。
【図２２】ＮＡＳ１６１００がファイルオープン要求を受け付けたときの処理手順例を示す図である。
【図２３】ディスクシステム情報の構成例を示す図である。
【図２４】ディスクシステム１１００の処理手順例を示す図である。
【図２５】第３の実施形態におけるシステム構成例を示す図である。
【図２６】管理計算機１３００の処理手順例を示す図である。
【符号の説明】
【０１５７】
１２００…ホストコンピュータ、１４００…ファイバチャネルスイッチ、１０００…記憶システム、１１００…ディスクシステム、１３００…管理計算機、１１１０…コントローラ、１１３０…ディスク装置、１１４０…論理ボリューム、１１６０…電源、１１５０…ファン。
【図１】
0004751153.tif 000002
【図２】
0004751153.tif 000003
【図３】
0004751153.tif 000004
【図４】
0004751153.tif 000005
【図５】
0004751153.tif 000006
【図６】
0004751153.tif 000007
【図７】
0004751153.tif 000008
【図８】
0004751153.tif 000009
【図９】
0004751153.tif 000010
【図１０】
0004751153.tif 000011
【図１１】
0004751153.tif 000012
【図１２】
0004751153.tif 000013
【図１３】
0004751153.tif 000014
【図１４】
0004751153.tif 000015
【図１５】
0004751153.tif 000016
【図１６】
0004751153.tif 000017
【図１７】
0004751153.tif 000018
【図１８】
0004751153.tif 000019
【図１９】
0004751153.tif 000020
【図２０】
0004751153.tif 000021
【図２１】
0004751153.tif 000022
【図２２】
0004751153.tif 000023
【図２３】
0004751153.tif 000024
【図２４】
0004751153.tif 000025
【図２５】
0004751153.tif 000026
【図２６】
0004751153.tif 000027