(57)【要約】【課題】  上位装置に提供する複数の第１の仮想ボリュームと、それぞれ記憶容量を有する複数のプールとが設けられ、第１の仮想ボリュームの使用状況に応じて、第１の仮想ボリュームに対して当該第１の仮想ボリュームに対応付けられたプールから動的に記憶領域を割り当てる機能が搭載されたストレージ装置及びその制御方法において、各プール内の空き容量を管理し、一のプールの空き容量が予め定められた閾値以下となったときに、当該一のプールに対して他のプールの空き容量の一部を割り当てるようにした。これにより信頼性の高いストレージ装置及びその制御方法を実現できる。
2012505439.tif 000002
【特許請求の範囲】
【請求項１】
上位装置に提供する複数の第１の仮想ボリュームと、それぞれ記憶容量を有する複数のプールとが設けられ、前記第１の仮想ボリュームの使用状況に応じて、前記第１の仮想ボリュームに対して当該第１の仮想ボリュームに対応付けられた前記プールから動的に記憶領域を割り当てる機能が搭載されたストレージ装置において、
各前記プール内の空き容量を管理するプール空き容量管理部と、
一の前記プールの空き容量が予め定められた閾値以下となったときに、当該一のプールに対して他の前記プールの空き容量の一部を割り当てる容量割当て部と
を備えることを特徴とするストレージ装置。
【請求項２】
前記容量割当て部は、
前記一のプールの空き容量が予め定められた閾値以下となったときに、
前記他のプールから前記一のプールに割り当てる容量を決定し、
決定した容量を有する第２の仮想ボリュームを作成し、
前記第２の仮想ボリューム内のすべての領域に前記他のプール内の記憶領域を割り当て、
前記第２の仮想ボリュームを、前記一のプールを構成するプールボリュームとして設定する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記容量割当て部は、
記憶デバイスが増設されたときに、当該記憶デバイスが提供する記憶領域上に前記第２の仮想ボリュームと同じ容量を有する論理ボリュームを設定し、
前記他のプールにおける前記第２の仮想ボリュームに割り当てられた記憶領域に格納されているデータを前記論理ボリュームにコピーし、
前記第２の仮想ボリュームと前記論理ボリュームとを内部管理上入れ替える
ことを特徴とする請求項２に記載のストレージ装置。
【請求項４】
前記容量割当て部は、
前記第２の仮想ボリュームと前記論理ボリュームとを内部管理上入れ替えた後に前記第２の仮想ボリュームを削除すると共に、前記第２の仮想ボリュームに割り当てた前記他のプール内の前記記憶領域を初期化して解放する
ことを特徴とする請求項３に記載のストレージ装置。
【請求項５】
前記容量割当て部は、
前記一のプールの空き容量が予め定められた閾値以下となったときに、前記一のプールに対して前記他のプールから空き容量の一部を割り当てるか否かを予め設定された第１のポリシーに基づいて判定し、
割り当てるとの判定結果を得た場合に、当該一のプールに対して前記他のプールの空き容量の一部を割り当てる
ことを特徴とする請求項１に記載のストレージ装置。
【請求項６】
前記容量割当て部は、
前記記憶デバイスが増設されたときに、
前記論理ボリュームを設定し、前記データを前記論理ボリュームにコピーし、前記第２の仮想ボリュームと前記論理ボリュームとを内部管理上入れ替える処理を実行するか否かを予め設定された第２のポリシーに従って判定し、
実行するとの判定結果を得た場合に、当該処理を実行する
ことを特徴とする請求項３に記載のストレージ装置。
【請求項７】
上位装置に提供する複数の第１の仮想ボリュームと、それぞれ記憶容量を有する複数のプールとが設けられ、前記第１の仮想ボリュームの使用状況に応じて、前記第１の仮想ボリュームに対して当該第１の仮想ボリュームに対応付けられた前記プールから動的に記憶領域を割り当てる機能が搭載されたストレージ装置の制御方法において、
各前記プール内の空き容量を管理する第１のステップと、
一の前記プールの空き容量が予め定められた閾値以下となったときに、当該一のプールに対して他の前記プールの空き容量の一部を割り当てる第２のステップと
を備えることを特徴とするストレージ装置の制御方法。
【請求項８】
前記第２のステップでは、
前記一のプールの空き容量が予め定められた閾値以下となったときに、
前記他のプールから前記一のプールに割り当てる容量を決定し、
決定した容量を有する第２の仮想ボリュームを作成し、
前記第２の仮想ボリューム内のすべての領域に前記他のプール内の記憶領域を割り当て、
前記第２の仮想ボリュームを、前記一のプールを構成するプールボリュームとして設定する
ことを特徴とする請求項７に記載のストレージ装置の制御方法。
【請求項９】
記憶デバイスが増設されたときに、当該記憶デバイスが提供する記憶領域上に前記第２の仮想ボリュームと同じ容量を有する論理ボリュームを設定する第３のステップと、
前記他のプールにおける前記第２の仮想ボリュームに割り当てられた記憶領域に格納されているデータを前記論理ボリュームにコピーする第４のステップと、
前記第２の仮想ボリュームと前記論理ボリュームとを内部管理上入れ替える第５のステップと
を備えることを特徴とする請求項８に記載のストレージ装置の制御方法。
【請求項１０】
前記第２の仮想ボリュームを削除すると共に、前記第２の仮想ボリュームに割り当てた前記他のプール内の前記記憶領域を初期化して解放する第６のステップを備える
ことを特徴とする請求項９に記載のストレージ装置の制御方法。
【請求項１１】
前記第２のステップでは、
前記一のプールの空き容量が予め定められた閾値以下となったときに、前記一のプールに対して前記他のプールから空き容量の一部を割り当てるか否かを予め設定された第１のポリシーに基づいて判定し、
割り当てるとの判定結果を得た場合に、当該一のプールに対して前記他のプールの空き容量の一部を割り当てる
ことを特徴とする請求項７に記載のストレージ装置の制御方法。
【請求項１２】
前記第３のステップでは、
前記論理ボリュームを設定し、前記データを前記論理ボリュームにコピーし、前記第２の仮想ボリュームと前記論理ボリュームとを内部管理上入れ替える処理を実行するか否かを予め設定された第２のポリシーに従って判定し、
実行するとの判定結果を得た場合に、前記記憶デバイスが提供する記憶領域上に前記第２の仮想ボリュームと同じ容量を有する論理ボリュームを設定する
ことを特徴とする請求項９に記載のストレージ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージ装置及びその制御方法に関し、特にダイナミックプロビジョニング機能が搭載されたストレージ装置に適用して好適なものである。
【背景技術】
【０００２】
近年、情報化社会の進展等につれて、ユーザがストレージ装置に保存するユーザデータのデータ量が急増しており、これに伴い、経費削減の観点から、ストレージ装置の容量増加や使用効率の向上に関する顧客ニーズも高まっている。
【０００３】
このような状況のもと、近年では、ストレージ装置の機能の１つとして、ダイナミックプロビジョニング機能が提案されている。ダイナミックプロビジョニング機能は、データを読み書きするための論理的なボリューム（以下、これを論理ボリュームと呼ぶ）として仮想的な論理ボリューム（以下、これを仮想ボリュームと呼ぶ）をサーバに提示し、提示した仮想ボリュームの使用状況に応じて実際にデータを格納するための記憶領域を仮想ボリュームに動的に割り当てる機能である（特許文献１参照）。このようなダイナミックプロビジョニング機能によれば、ストレージ装置内の記憶領域以上の容量の仮想ボリュームをサーバに提示しながら、ストレージ装置内の記憶領域を効率良く使用できる利点がある。
【０００４】
このようなダイナミックプロビジョニング機能が搭載されたストレージ装置では、サーバに提示する仮想ボリュームと、仮想ボリュームに現実の記憶領域を割り当てるためのプールとを定義する。そしてストレージ装置は、仮想ボリュームに対するライト要求がサーバから与えられた場合、データの書込み先として指定されたアドレス位置に記憶領域が割り当てられていないときには、そのアドレス位置にプール内の未使用の記憶領域を割り当て、当該記憶領域にデータを書き込む。またストレージ装置は、サーバが仮想ボリューム内の記憶領域が割り当てられていないアドレス位置からの読出し要求が与えられた場合には、サーバに対して「０」を読出しデータとして送信する。仮想ボリュームと現実の記憶領域との対応関係は、管理テーブルにより管理される。
【０００５】
プールは、実体を有する記憶領域（以下、適宜、これを実記憶領域と呼ぶ）から構成される１つ以上の論理ボリューム（以下、これをプールボリュームと呼ぶ）から構成される。プールへのプールボリュームの追加は運用中でも行うことができるが、一旦プールの構成ボリュームとしてプールボリュームを設定した場合、そのプールからそのプールボリュームを削除することはできない。このためプールの容量を削減するためには、プールを作成し直す必要がある。一方で、プールの空き容量が不足した場合、仮想ボリューム内の記憶領域が未割り当ての領域に対するデータの書き込みはできなくなる。
【０００６】
なお、現在、本願特許出願人が提供するダイナミックプロビジョニング機能においては、当該ダイナミックプロビジョニング機能が搭載されたストレージ装置内の論理ボリュームと、当該ストレージ装置に対して他のストレージ装置が提供する論理ボリュームとを同一プールの構成ボリュームとして設定することは認めていない。また本願特許出願人が提供するダイナミックプロビジョニング機能においては、性能を考慮して、同一プールを構成するプールボリュームの特性を統一することを推奨している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−０１５９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、かかるダイナミックプロビジョニング機能において、仮想ボリュームの実使用容量が増え、当該仮想ボリュームに対応付けられたプールの空き容量が枯渇すると、仮想ボリュームに対して実記憶領域を割り当てられなくなり、その後、サーバからライト要求が与えられたとしてもライトデータを仮想ボリューム（実際は実記憶領域）に書き込むことができなくなるという事態が発生する。
【０００９】
このような事態は、同一プールに複数の仮想ボリュームが対応付けられて構成されている場合や、多数のユーザが利用するシステム及びオンライン取引や商品等の売り買いを行うようなシステム等でトランザクションや取引又はジャーナルを記録するような場合に起こり得る。
【００１０】
本発明は以上の点を考慮してなされたもので、以上のような事態の発生を防止し得る信頼性の高いストレージ装置及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１１】
かかる課題を解決するため本発明においては、上位装置に提供する複数の第１の仮想ボリュームと、それぞれ記憶容量を有する複数のプールとが設けられ、前記第１の仮想ボリュームの使用状況に応じて、前記第１の仮想ボリュームに対して当該第１の仮想ボリュームに対応付けられた前記プールから動的に記憶領域を割り当てる機能が搭載されたストレージ装置において、各前記プール内の空き容量を管理するプール空き容量管理部と、一の前記プールの空き容量が予め定められた閾値以下となったときに、当該一のプールに対して他の前記プールの空き容量の一部を割り当てる容量割当て部とを備えることを特徴とする。
【００１２】
また本発明においては、上位装置に提供する複数の第１の仮想ボリュームと、それぞれ記憶容量を有する複数のプールとが設けられ、前記第１の仮想ボリュームの使用状況に応じて、前記第１の仮想ボリュームに対して当該第１の仮想ボリュームに対応付けられた前記プールから動的に記憶領域を割り当てる機能が搭載されたストレージ装置の制御方法において、各前記プール内の空き容量を管理する第１のステップと、一の前記プールの空き容量が予め定められた閾値以下となったときに、当該一のプールに対して他の前記プールの空き容量の一部を割り当てる第２のステップとを備えることを特徴とする。
【００１３】
従って、本発明によるストレージ装置及びその制御方法によれば、プールの空き容量が閾値以下となったときに当該プールに対して他のプールから容量が割り当てられるため、プールの空き容量が不足又は枯渇したことに起因して上位装置からのライトデータがライトできなくなるという事態の発生を有効に防止することができる。
【発明の効果】
【００１４】
本発明によれば、信頼性の高いストレージ装置及びその制御方法を実現できる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態による計算機システムの構成を示すブロック図である。
【図２】本実施の形態によるストレージ装置に搭載されたプール空き容量管理機能の概略説明に供する概念図である。
【図３】本実施の形態によるストレージ装置に搭載されたプール空き容量管理機能の概略説明に供する概念図である。
【図４Ａ】ボリューム管理テーブルの構成を示す概念図である。
【図４Ｂ】ボリューム管理テーブルの説明に供する概念図である。
【図５Ａ】仮想ボリュームマッピングテーブルの構成を示す概念図である。
【図５Ｂ】仮想ボリュームマッピングテーブルの説明に供する概念図である。
【図６Ａ】プール管理テーブルの構成を示す概念図である。
【図６Ｂ】プール管理テーブルの説明に供する概念図である。
【図７】プール実記憶領域マッピングテーブルの構成を示す概念図である。
【図８】プールリストの構成を示す概念図である。
【図９】プールボリューム管理テーブルの構成を示す概念図である。
【図１０】コピーステータス管理テーブルの構成を示す概念図である。
【図１１】ダイナミックプロビジョニング機能に基づくリード処理の処理手順を示すフローチャートである。
【図１２】ダイナミックプロビジョニング機能に基づくライト処理の処理手順を示すフローチャートである。
【図１３】容量割当て処理の処理手順を示すフローチャートである。
【図１４】第１及び第２の閾値の説明に供する概念図である。
【図１５】割当てポリシー例を示す図表である。
【図１６】割当てポリシーの説明に供する概念図である。
【図１７】割当て容量返却処理の処理手順を示すフローチャートである。
【図１８】容量返却要否ポリシー例を示す図表である。
【図１９】ボリュームコピー処理の処理手順を示すフローチャートである。
【図２０】コピー中リード処理の処理手順を示すフローチャートである。
【図２１】コピー中ライト処理の処理手順を示すフローチャートである。
【図２２】プール使用状況一覧画面の構成例を示す略線図である。
【図２３】仮想ボリューム定義画面の構成例を示す略線図である。
【図２４】プール操作画面の構成例を示す略線図である。
【図２５】ボリュームコピー情報画面の構成例を示す略線図である。
【図２６】他の実施の形態の説明に供するブロック図である。
【符号の説明】
【００１６】
１……計算機システム、２……サーバ、４……ストレージ装置、５……チャネルアダプタ、６……キャッシュメモリ、７……共有メモリ、８……ディスクアダプタ、９……ハードディスク装置、１０……内部バス、１１……管理端末、１２，１４……マイクロプロセッサ、１３，１５……メモリ、１３Ａ……マイクロプログラム、３０……ボリューム管理テーブル、３１……仮想ボリュームマッピングテーブル、３２……プール管理テーブル、３３……プール実記憶領域マッピングテーブル、３４……プールリスト、３５……プールボリューム管理テーブル、３６……コピーステータス管理テーブル、ＡＶＶＯＬ……容量割当て用仮想ボリューム、ＰＬ……プール、ＰＬＶＯＬ……プールボリューム、ＲＶＯＬ……容量返却用ボリューム、ＶＯＬ……論理ボリューム、ＶＶＯＬ……仮想ボリューム。
【発明を実施するための最良の形態】
【００１７】
以下図面について、本発明の一実施の形態を詳述する。
【００１８】
（１）本実施の形態による計算機システムの構成
図１において、１は全体として本実施の形態による計算機システムを示す。この計算機システム１は、上位装置としての１又は複数台のサーバ２がホストインタフェースケーブル３を介してストレージ装置４に接続されることにより構成されている。
【００１９】
サーバ２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。サーバ２は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００２０】
ストレージ装置４は、複数のチャネルアダプタ５、キャッシュメモリ６、共有メモリ７、複数のディスクアダプタ８及び複数のハードディスク装置９を備えて構成される。このうちチャネルアダプタ５、キャッシュメモリ６、共有メモリ７及びディスクアダプタ８は内部バス１０を介して相互に通信自在に接続されている。また内部バス１０には、管理端末（ＳＶＰ：Service Processor）１１も接続されている。
【００２１】
チャネルアダプタ５は、それぞれマイクロプロセッサ１２及びメモリ１３等を備えたマイクロコンピュータシステムとして構成されており、自ストレージ装置４と接続されたサーバ２との間の通信インタフェースとして機能する。マイクロプロセッサ１２はチャネルアダプタ５全体の動作制御を司るプロセッサであり、メモリ１３に格納されたマイクロプログラム１３Ａを実行することにより、チャネルアダプタ５全体として所定の制御処理が実行される。
【００２２】
キャッシュメモリ６は、チャネルアダプタ５及びディスクアダプタ８により共有される記憶メモリである。このキャッシュメモリ６は、主としてハードディスク装置９に入出力するデータを一時的に記憶するために利用される。
【００２３】
共有メモリ７は、チャネルアダプタ５及びディスクアダプタ８により共有される記憶メモリである。共有メモリ７には、各ストレージ装置９の構成情報などの情報が格納される。後述するボリューム管理テーブル３０（図４Ａ）、仮想ボリュームマッピングテーブル３１（図５Ａ）、プール管理テーブル３２（図６）、プール実記憶領域マッピングテーブル３３（図７）、プールリスト３４（図８）、プール構成ボリューム管理テーブル３５（図９）及びコピーステータス管理テーブル３６（図１０）もこの共有メモリ７に格納される。
【００２４】
ディスクアダプタ８は、マイクロプロセッサ１４やメモリ１５等を備えたマイクロコンピュータシステムとして構成され、接続されたハードディスク装置９との通信時におけるプロトコル制御を行うインタフェースとして機能する。これらディスクアダプタ８は、それぞれドライブインタフェースケーブル１６を介して複数のハードディスク装置９と接続されており、サーバ２からの要求に応じて対応するハードディスク装置９との間でデータの授受を行う。
【００２５】
ハードディスク装置９は、例えばＦＣ（Fibre channel）ディスク等の高価なディスク又はＳＡＴＡ（Serial AT Attachment）ディスク等の安価なディスクから構成される。１又は複数のハードディスク装置９が提供する記憶領域上に１又は複数の論理ボリュームＶＯＬが作成される。そしてデータは、この論理ボリュームＶＯＬ内に所定大きさのブロック（以下、これを論理ブロックと呼ぶ）を単位として記憶される。
【００２６】
各論理ボリュームＶＯＬには、それぞれ固有の識別子（以下、これをボリューム番号又はＬＤＥＶ番号と呼ぶ）が付与される。本実施の形態の場合、データの入出力は、このボリューム番号と、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号（ＬＢＡ：Logical Block Address）とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００２７】
なお本実施の形態の場合、ストレージ装置４内に設定される論理ボリュームＶＯＬの種類としては、ハードディスク装置９が提供する記憶領域上に定義された、現実に記憶容量を有する通常の論理ボリュームＶＯＬ（以下、適宜、これを実ボリュームと呼ぶ）と、現実には記憶容量を有しない仮想ボリュームとなどがある。
【００２８】
管理端末１１は、ストレージ装置４の保守管理のために用いられ、例えばノート型パーソナルコンピュータなどから構成される。管理端末１１は、内部バス１０を介してチャネルアダプタ５及びディスクアダプタ８などから必要な情報を収集して表示したり、管理者の操作に応じて後述する各種画面（図２２〜図２５参照）を表示する。
【００２９】
（２）プール空き容量管理機能
次に、ストレージ装置４に搭載された本実施の形態によるプール空き容量管理機能について説明する。本ストレージ装置４には、仮想ボリュームの使用状況に応じてその仮想ボリュームに対して記憶領域を動的に割り当てる通常のダイナミックプロビジョニング機能に加えて、各プールの空き容量を監視し、必要に応じてプール間での容量の貸し借りを行うプール空き容量管理機能が搭載されている。
【００３０】
すなわちストレージ装置４の各チャネルアダプタ５は、図２に示すように、ダイナミックプロビジョニング機能により、サーバ２に対して仮想ボリュームＶＶＯＬを提供している。そしてチャネルアダプタ５は、サーバ２から仮想ボリュームＶＶＯＬに対するデータのライト要求が与えられた場合であって、データライト先の領域２０に記憶領域２１が割り当てられていないときには、その仮想ボリュームＶＶＯＬと対応付けられたプールＰＬからその仮想ボリュームＶＶＯＬのそのデータライト先の領域２０に記憶領域２１を割り当て、割り当てた記憶領域２１にライトデータを格納する。
【００３１】
なお、このような記憶領域２１の割り当ては、複数の論理ブロックから構成されるページと呼ばれる大きさを単位として行われる。またチャネルアダプタ５は、仮想ボリュームＶＶＯＬ内の領域２０とその領域２０に割り当てられた実記憶領域２１との対応関係を、図５Ａについて後述する仮想ボリュームマッピングテーブル３１を用いて管理する。なおプールＰＬは、通常、１以上のプールボリュームＰＬＶＯＬから構成される。図２では、初期状態において「プール１」が２つのプールボリュームＰＬＶＯＬから構成され、「プール２」が１つのプールボリュームＰＬＶＯＬから構成されていることが示されている。
【００３２】
一方、チャネルアダプタ５は、各プールＰＬの空き容量を監視しており、いずれかのプールＰＬ（「プール１」とする）の空き容量が不足した場合、仮想ボリュームＶＶＯＬ（以下、これを容量割当て用仮想ボリュームＡＶＶＯＬと呼ぶ）を作成し、この容量割当て用仮想ボリュームＡＶＶＯＬに対して空き容量に余裕があるプールＰＬ（「プール２」とする）の記憶領域２２を割り当てる（矢印ａ）。またチャネルアダプタ５は、この後、この容量割当て用仮想ボリュームＶＶＯＬを「プール１」の構成ボリュームとして設定する。
【００３３】
またチャネルアダプタ５は、この後、ハードディスク装置９が増設されると、図３に示すように、当該ハードディスク装置９が提供する記憶領域２３上にプール２からプール１に割り当てた容量分の記憶容量を有する論理ボリュームＶＯＬ（以下、これを容量返却用ボリュームＲＶＯＬと呼ぶ）を設定し、「プール１」の容量割当て用仮想ボリュームＡＶＶＯＬに格納されているデータ（正確には「プール２」内の容量割当て用仮想ボリュームＡＶＶＯＬに割り当てられた記憶領域２２に格納されているデータ）を容量返却用ボリュームＲＶＯＬにコピーする（矢印ｃ）。
【００３４】
次いでチャネルアダプタ５は、「プール１」を構成する容量割当て用仮想ボリュームＡＶＶＯＬ及び容量返却用ボリュームＲＶＯＬとを入れ替え（矢印ｄ）、この後、容量割当て用仮想ボリュームＡＶＶＯＬを削除すると共に「プール２」における容量割当て用仮想ボリュームＡＶＶＯＬに割り当てられていた記憶領域を初期化する。
【００３５】
以上のようなダイナミックプロビジョニング機能及びプール空き容量管理機能を実現するための手段として、ストレージ装置４の共有メモリ７には図４Ａ〜図１０に示すようなボリューム管理テーブル３０、仮想ボリュームマッピングテーブル３１、プール管理テーブル３２、プール実記憶領域マッピングテーブル３３、プールリスト３４、プールボリューム管理テーブル３５及びコピーステータス管理テーブル３６が格納されている。
【００３６】
ボリューム管理テーブル３０は、ストレージ装置４内に定義された論理ボリューム（通常ボリューム及び仮想ボリューム）を管理するためのテーブルであり、図４Ａに示すように、ボリューム番号欄３０Ａ、ボリューム種別欄３０Ｂ及びプール番号欄３０Ｃから構成される。
【００３７】
このうちボリューム番号欄３０Ａには、対応する論理ボリュームに付与された固有のボリューム番号が格納され、ボリューム種別欄３０Ｂには、その論理ボリュームの種別（「通常」又は「仮想」）が格納される。またプール番号欄３０Ｃには、その論理ボリュームの種別が「仮想」である場合に、その論理ボリュームと対応付けられたプールＰＬのプール番号が格納される。なおダイナミックプロビジョニング機能において、仮想ボリュームに対して割り当てられる記憶領域は、予めその仮想ボリュームと対応付けられたプールＰＬ内の記憶領域に限られる。
【００３８】
従って、図４Ａの場合、図４Ｂに示すように、ボリューム番号が「0001」の論理ボリュームＶＯＬは通常ボリューム、ボリューム番号が「0002」、「0003」及び「0004」の論理ボリュームＶＯＬは仮想ボリュームＶＶＯＬであり、このうちボリューム番号が「0002」及び「0003」の論理ボリュームＶＯＬ（仮想ボリュームＶＶＯＬ）はプール番号が「01」のプールＰＬと対応付けられ、ボリューム番号が「0003」の論理ボリュームＶＯＬ（仮想ボリュームＶＶＯＬ）はプール番号が「02」のプールＰＬと対応付けられていることが分かる。
【００３９】
仮想ボリュームマッピングテーブル３１は、サーバ２に提供される仮想ボリューム内のページ（以下、これをボリューム内ページと呼ぶ）がどのプールＰＬのどのページ（以下、これをプール内ページと呼ぶ）と対応付けられているかを管理するためのテーブルであり、仮想ボリュームごとに作成される。この仮想ボリュームマッピングテーブル３１は、図５Ａに示すように、ヘッダ部３１Ａ及びマッピング部３１Ｂから構成されており、ヘッダ部３１Ａはボリューム番号欄３１ＡＡ、ボリュームサイズ欄３１ＡＢ及びプール番号欄３１ＡＣから構成され、マッピング部３１Ｂはページ番号欄３１ＢＡ、割当済／未フラグ欄３１ＢＢ及びプール内ページ番号欄３１ＢＣから構成されている。
【００４０】
このうちヘッダ部３１Ａのボリューム番号欄３１ＡＡ、ボリュームサイズ欄３１ＡＢ及びプール番号欄３１ＡＣには、それぞれ対応する仮想ボリュームのボリューム番号、ボリュームサイズ（総ページ数）及び対応するプールのプール番号が格納される。またマッピング部３１Ｂのページ番号欄３１ＢＡ、割当済／未フラグ欄３１ＢＢ及びプール内ページ番号欄３１ＢＣには、それぞれその仮想ボリューム内の各ボリューム内ページにそれぞれ付与されたページ番号（以下、これをボリューム内ページ番号と呼ぶ）、そのボリューム内ページに対してプール内ページが割り当てられているか否かを表すフラグ（以下、これを割当済／未フラグと呼ぶ）及びプール内における当該プール内ページのページ番号（以下、これをプール内ページ番号と呼ぶ）が格納される。
【００４１】
従って、図５Ａの（Ａ）の場合、図５Ｂに示すように、ボリューム番号が「0002」の仮想ボリュームＶＶＯＬ内の「0001」及び「0003」というボリューム内ページ番号のボリューム内ページ２４には、それぞれプール番号が「01」のプールＰＬ内の「0002」又は「0003」というプール内ページ番号のプール内ページ２５が割り当てられ、当該仮想ボリュームＶＶＯＬのページ番号が「0002」というボリューム内ページ２４には、未だプール内ページ２５が割り当てられていないことが分かる。また図５Ａの（Ｂ）の場合には、ボリューム番号が「0004」の仮想ボリュームＶＶＯＬ内の「0001」及び「0002」というページ番号のボリューム内ページ２４には、それぞれプール番号が「01」のプールＰＬ内の「0001」又は「0004」というプール内ページ番号のプール内ページ２５が割り当てられていることが分かる。
【００４２】
プール管理テーブル３２は、ストレージ装置４内のプールを管理するためのテーブルであり、プールごとに作成される。このプール管理テーブル３２は、図６Ａに示すように、ヘッダ部３２Ａ、プール構成ＬＤＥＶリスト部３２Ｂ及び仮想ボリュームリスト部３２Ｃから構成される。
【００４３】
そしてヘッダ部３２Ａは、プール番号欄３２ＡＡ、プール総容量欄３２ＡＢ、プール使用量欄３２ＡＣ及びプール空き容量欄３２ＡＤから構成され、これらプール番号欄３２ＡＡ、プール総容量欄３２ＡＢ、プール使用量欄３２ＡＣ及びプール空き容量欄３２ＡＤには、それぞれ対応するプールのプール番号、そのプールの総容量（総ページ数）、そのプールの現在の使用容量（使用ページ数）及びそのプールの現在の空き容量（未使用ページ数）がそれぞれ格納される。
【００４４】
またプール構成ＬＤＥＶリスト部３２Ｂは、そのプールを構成するプールボリュームを管理するためのリスト部であり、ＰＬＶＯＬボリューム番号欄３２ＢＡ及び記憶容量欄３２ＢＢから構成される。そして、これらＰＬＶＯＬボリューム番号欄３２ＢＡ及び記憶容量欄３２ＢＢには、それぞれそのプールを構成する各プールボリュームのボリューム番号及び記憶容量が格納される。
【００４５】
さらに仮想ボリュームリスト部３２Ｃは、そのプールと対応付けられた仮想ボリュームを管理するためのリスト部であり、ＶＶＯＬボリューム番号欄３２ＣＡ及び記憶容量欄３２ＣＢから構成される。そして、これらＶＶＯＬボリューム番号欄３２ＣＡ及び記憶容量欄３２ＣＢには、それぞれそのプールと対応付けられた仮想ボリュームのボリューム番号及びその仮想ボリュームの容量が格納される。
【００４６】
従って、この図６Ａの例の場合、プール番号が「0001」のプールの総容量は「4096」ページであり、当該プールの現在の使用容量は「４」ページ分で空き容量が「4092」ページであることが分かる。また図６Ｂに示すように、このプールＰＬは、それぞれ「0002」，「0005」，……というボリューム番号が付与されたそれぞれ記憶容量が「180」ページ，「128」ページ，……のプールボリュームから構成され、このプールＰＬにはそれぞれ「0002」，「0004」，……というボリューム番号が付与されたそれぞれ記憶容量が「3800」ページ，「4720」ページ，……の仮想ボリュームＶＶＯＬが対応付けられていることが示されている。
【００４７】
一方、プール実記憶領域マッピングテーブル３３は、対応するプールのプール内ページと、当該プールに対応付けられた仮想ボリュームのボリューム内ページとの対応関係を管理するためのテーブルであり、プールごとに作成される。このプール実記憶領域マッピングテーブル３３は、図７に示すように、ヘッダ部３３Ａ及びマッピング部３３Ｂから構成される。
【００４８】
このうちヘッダ部３３Ａは、プール番号欄３３ＡＡ及びプール総容量欄３３ＡＢから構成されており、これらプール番号欄３３ＡＡ及びプール総容量欄３３ＡＢには、それぞれ対応するプールのプール番号及び総容量（総ページ数）が格納される。
【００４９】
またマッピング部３３Ｂは、プール内ページ番号欄３３ＢＡ、ＰＬＶＯＬボリューム番号欄３３ＢＢ、ＰＬＶＯＬ内ページ番号欄３３ＢＣ、割当て済／未フラグ欄３３ＢＤ、ＶＶＯＬボリューム番号欄３３ＢＥ及びＶＶＯＬ内ページ番号欄３３ＢＦから構成される。そしてプール内ページ番号欄３３ＢＡには、対応するプール内に存在するすべてのプール内ページのページ番号がそれぞれ格納され、ＰＬＶＯＬボリューム番号欄３３ＢＢ及びＰＬＶＯＬ内ページ番号欄３３ＢＣには、それぞれ対応するプール内ページを提供するプールボリュームのボリューム番号、及び当該プールボリューム内における対応するボリューム内ページのボリューム内ページ番号が格納される。
【００５０】
さらに割当て済／未フラグ欄３３ＢＤには、対応するプール内ページが既に仮想ボリュームに割り当てられているか否かを表す割当て済／未フラグが格納され、ＶＶＯＬボリューム番号欄３３ＢＥ及びＶＶＯＬ内ページ番号欄３３ＢＦには、それぞれ対応するプール内ページと対応付けられた仮想ボリュームのボリューム番号、及び当該仮想ボリュームにおけるそのプール内ページが割り当てられたボリューム内ページのページ番号が格納される。
【００５１】
従って、図７の例の場合、図５Ｂに示すように、プール番号が「01」のプールＰＬ内の例えば「0003」というプール内ページ番号のプール内ページ２５は、「0001」というボリューム番号が付与されたプールボリュームＰＬＶＯＬ内の「0003」というボリューム内ページ番号のボリューム内ページと対応付けられており、このプール内ページ２５は、「0002」というボリューム番号が付与された仮想ボリュームＶＶＯＬ内の「0003」というボリューム内ページ番号のボリューム内ページ２４に割り当てられている（割当て済／未フラグが「１」）ことが示されている。
【００５２】
他方、プールリスト３４は、ストレージ装置４内の全プールを管理するためのテーブルであり、図８に示すように、ヘッダ部３４Ａ及びプールリスト部３４Ｂから構成される。そしてヘッダ部３４Ａは、プール総数欄３４ＡＡから構成され、このプール総数欄３４ＡＡにそのストレージ装置４内に存在する全プールの総数が格納される。
【００５３】
またプールリスト部３４Ｂは、プール番号欄３４ＢＡ、プール容量欄３４ＢＢ、プール空き容量欄３４ＢＣ及びプール特性欄３４ＢＤから構成されており、これらプール番号欄３４ＢＡ、プール容量欄３４ＢＢ、プール空き容量欄３４ＢＣ及びプール特性欄３４ＢＤには、それぞれそのストレージ装置４内に存在する各プールのプール番号、そのプールのプール総容量（総ページ数）、そのプールの現在の空き容量（未使用ページ数）、及びそのプールのプール特性が格納される。なお、プール特性欄３４ＢＤに格納されるプール特性としては、そのプールの記憶領域を提供するハードディスク装置９の種別や、そのプールのＲＡＩＤ（Redundant Arrays of Inexpensive Disks）レベルなどがある。
【００５４】
従って、図８の場合、例えばプール番号が「02」のプールは、プール容量が「6820」ページ、現在の空き容量が「4216」ページであることが分かる。またこのプールの特性として、当該プールを構成するハードディスク装置９の種別が「SATA」、当該プールのＲＡＩＤレベルが「RAID5」、……であることが示されている。
【００５５】
プールボリューム管理テーブル３５は、ストレージ装置４内のプールボリュームを管理するためのテーブルであり、プールボリュームごとに作成される。このプールボリューム管理テーブル３５は、図９に示すように、ヘッダ部３５Ａ及びページリスト部３５Ｂから構成される。
【００５６】
ヘッダ部３５Ａは、ＰＬＶＯＬボリューム番号欄３５ＡＡ、プール番号欄３５ＡＢ、ステータス欄３５ＡＣ、コピー元／コピー先欄３５ＡＤ及びペアＶＯＬボリューム番号欄３５ＡＥから構成されている。そしてＰＶＯＬボリューム番号欄３５ＡＡにはそのプールボリュームのボリューム番号が格納され、プール番号欄３５ＡＢにはそのプールボリュームが構成するプールのプール番号が格納される。またステータス欄３５ＡＣにはそのプールボリュームがコピー中であるか否かを表すステータスフラグが格納され、コピー元／コピー先欄３５ＡＤにはそのプールボリュームがコピー中である場合に当該プールボリュームがコピー元及びコピー先のいずれであるかを表すＳ／Ｔフラグが格納される。さらにペアＶＯＬボリューム番号欄３５ＡＥには、そのプールボリュームがコピー中である場合に相手方の論理ボリュームのボリューム番号が格納される。
【００５７】
他方、コピーステータス管理テーブル３６は、図３について上述したように容量割当て用仮想ボリュームＡＶＶＯＬ及び容量返却用ボリュームＲＶＯＬ間でデータコピーを行う際のコピー状態を管理するためのテーブルであり、コピーペアごとに作成される。なお、コピーペアとは、データコピーを行うペアとして設定されたコピー元及びコピー先の論理ボリュームの組をいう。このコピーステータス管理テーブル３６は、図１０に示すように、ヘッダ部３６Ａ及びコピーステータスリスト部３６Ｂから構成されている。
【００５８】
ヘッダ部３６Ａは、コピー元ボリューム番号欄３６ＡＡ及びコピー先ボリューム番号欄３６ＡＢから構成されており、これらコピー元ボリューム番号欄３６ＡＡに、対応するコピーペアにおけるコピー元の論理ボリューム（容量割当て用仮想ボリューム）のボリューム番号が格納され、コピー先ボリューム番号欄３６ＡＢに、当該コピーペアにおけるコピー先の論理ボリュームのボリューム番号が格納される。
【００５９】
またコピーステータスリスト部３６Ｂは、ページ番号欄３６ＢＡ及びコピー済／未フラグ欄３６ＢＢから構成されており、ページ番号欄３６ＢＡに、コピー元の論理ボリューム内の各ボリューム内ページのボリューム内ページ番号がそれぞれ格納され、コピー済／未フラグ欄３６ＢＢにそのボリューム内ページのコピーが完了したか否かを表すコピー済／未フラグが格納される。なおコピー済／未フラグの初期値は、コピーが行われていないことを表す「０」である。
【００６０】
（３）チャネルアダプタの処理
（３−１）ダイナミックプロビジョニング機能に関するチャネルアダプタの処理
次に、ダイナミックプロビジョニング機能及びプール空き容量監視機能に関するチャネルアダプタ５の処理内容について説明する。まずダイナミックプロビジョニング機能に関するチャネルアダプタ５の具体的な処理内容について説明する。以下のリード処理及びライト処理は、対応するチャネルアダプタ５により、そのチャネルアダプタ５のメモリ１３（図１）に格納されたマイクロプログラム１３Ａ（図１）に従って実行される。
（３−１−１）リード処理
図１１は、サーバ２から仮想ボリュームに対するリード要求が与えられた場合にチャネルアダプタ５において実行されるリード処理の処理手順を示す。
【００６１】
この場合、チャネルアダプタ５は、リード要求においてリード先として指定された仮想ボリューム内のボリューム内ページのうち、リード要求においてリード先として指定されたブロックアドレスが含まれるボリューム内ページのボリューム内ページ番号を求める。なお、かかるプール内ページ番号は、リード要求においてリード先として指定されたブロックアドレスをページサイズ（１ページ当たりのブロック数）で除算することにより得ることができる。そしてチャネルアダプタ５は、リード要求においてリード先として指定された仮想ボリュームの仮想ボリュームマッピングテーブル３１（図５Ａ）を参照して、上述のようにして求めたボリューム内ページ番号のボリューム内ページに対して実記憶領域が割当て済であるか否かを判断する（ステップＳＰ１）。
【００６２】
チャネルアダプタ５は、この判断において肯定結果を得ると、かかる実記憶領域をプール実記憶領域マッピングテーブル３３上で検索し、対応するディスクアダプタ８（図１）を制御してその実記憶領域からデータを読み出させる。そしてチャネルアダプタ５は、このとき得られたリードデータをサーバ２に送信し（ステップＳＰ２）、この後、このリード処理を終了する。
【００６３】
これに対してチャネルアダプタ５は、ステップＳＰ１の判断において否定結果を得ると、サーバ２に「０」を送信し（ステップＳＰ３）、この後、このリード処理を終了する。
【００６４】
（３−１−２）ライト処理
図１２は、サーバ２からライト要求及びライトデータが与えられた場合にチャネルアダプタ５において実行されるライト処理の処理手順を示す。
【００６５】
この場合、チャネルアダプタ５は、リード要求の受領時と同様に、ライト要求においてライト先として指定された仮想ボリューム内のボリューム内ページのうち、ライト要求においてライト先として指定されたブロックアドレスが含まれるボリューム内ページのボリューム内ページ番号を求める。そしてチャネルアダプタ５は、ライト要求においてライト先として指定された仮想ボリュームの仮想ボリュームマッピングテーブル３１（図５Ａ）を参照して、上述のようにして求めたボリューム内ページ番号のボリューム内ページに対して実記憶領域が割当て済であるか否かを判断する（ステップＳＰ１０）。
【００６６】
そしてチャネルアダプタ５は、この判断において肯定結果を得ると、かかる実記憶領域をプール実記憶領域マッピングテーブル３３上で検索し、対応するディスクアダプタ８（図１）を制御してその実記憶領域にライトデータを書き込ませる（ステップＳＰ１１）。そしてチャネルアダプタ５は、この後、このライト処理を終了する。
【００６７】
これに対してチャネルアダプタ５は、ステップＳＰ１０の判断において否定結果を得ると、ライト要求においてライト先として指定された仮想ボリューム内のライトデータを書き込むべき領域に実記憶領域をページ単位で割り当てる（ステップＳＰ１２）。
【００６８】
具体的にチャネルアダプタ５は、かかる仮想ボリュームマッピングテーブル３１のプール番号欄３１ＡＣ（図５Ａ）を参照して、ライト要求においてライト先として指定された仮想ボリュームと対応付けられたプールのプール番号を検索する。またチャネルアダプタ５は、かかる検索により検出したプール番号が付与されたプールのプール実記憶領域マッピングテーブル３３（図７）を参照して、そのプールのプール内ページのうち、仮想ボリュームに未割当てのプール内ページを検索する。そしてチャネルアダプタ５は、この検索により検出したプール内ページを、ライト要求においてライト先として指定された仮想ボリューム内のライトデータを書き込むべき領域に割り当てる。
【００６９】
続いてチャネルアダプタ５は、以上のような仮想ボリュームに対する実記憶領域の割当て処理が成功したか否かを判断し（ステップＳＰ１３）、肯定結果を得た場合には、対応する仮想ボリュームマッピングテーブル３１（図５Ａ）、プール管理テーブル３２（図６Ａ）、プール実記憶領域マッピングテーブル３３（図７）及びプールリスト３４（図８）の該当部分を更新する（ステップＳＰ１４）。
【００７０】
次いでチャネルアダプタ５は、ステップＳＰ１２において仮想ボリュームに実記憶領域を割り当てたプールの空き容量が予め定められた閾値（以下、これを第１の閾値と呼ぶ）以下となったか否かを判断する（ステップＳＰ１５）。なお、この第１の閾値としては、例えばプールの総容量の一定割合や、予め定められた固定値などを適用することができる。
【００７１】
チャネルアダプタ５は、この判断において否定結果を得るとステップＳＰ１１に進む。これに対してチャネルアダプタ５は、ステップＳＰ１５の判断において肯定結果を得ると、空き容量に余裕のある別プールの当該空き容量の一部をそのとき対象プールに割り当てる容量割当て処理を開始し（ステップＳＰ１６）、この後ステップ１１に進む。そしてチャネルアダプタ５は、この後ステップＳＰ１１において上述した処理を実行した後、このライト処理を終了する。
【００７２】
なおチャネルアダプタ５は、ステップＳＰ１３の判断において否定結果を得た場合には、サーバ２にエラー報告を行い（ステップＳＰ１７）、この後このライト処理を終了する。
【００７３】
（３−２）プール空き容量管理機能に関するチャネルアダプタの処理
次に、プール空き容量管理機能に関するチャネルアダプタ５の具体的な処理内容について説明する。以下の各種処理も、対応するチャネルアダプタ５により、そのチャネルアダプタ５のメモリ１３（図１）に格納されたマイクロプログラム１３Ａ（図１）に従って実行される。
（３−２−１）容量割当て処理
図１３は、図１２について上述したライト処理のステップＳＰ１６においてチャネルアダプタ５が開始する容量割当て処理の処理手順を示す。
【００７４】
チャネルアダプタ５は、ライト処理のステップＳＰ１６に進むとこの容量割当て処理を開始し、まず、プールリスト３４（図８）を参照して、そのストレージ装置４内のそのとき対象としているプール（以下、これを対象プールと呼ぶ）とは別のプール（以下、これを別プールと呼ぶ）であって、空き容量に余裕があり、対象プールに容量を割り当て可能な別プールが存在するか否かを判断する（ステップＳＰ２０）。
【００７５】
具体的にチャネルアダプタ５は、このステップＳＰ２０において、空き容量が予め定められた第２の閾値よりも多い別プールが存在するか否かを判定する。この第２の閾値は、図１４に示すように、第１の閾値よりも大きい値であり、例えばそのプールの総容量の一定割合や、予め定められた固定値などを第２の閾値として適用することができる。なおこの図１４において、長方形はプールの総容量を表し、当該長方形内の斜線部分は空き容量を表す。
【００７６】
そしてチャネルアダプタ５は、ステップＳＰ２０の判断において否定結果を得ると、対象プールの容量が第１の閾値以下となったことを管理者にメールで通知することにより対象プールへの容量の追加を管理者に促し（ステップＳＰ２１）、この後、この容量割当て処理を終了する。なお、かかるメールに代えて又は加えて、チャネルアダプタ５が、対象プールの容量が第１の閾値以下となったという警告を管理端末１１（図１）に表示させるようにしても良い。
【００７７】
これに対してチャネルアダプタ５は、ステップＳＰ２０の判断において肯定結果を得ると、予め定められたプールからプールへ容量を割り当てる際のポリシー（以下、これを容量割当てポリシーと呼ぶ）を確認する（ステップＳＰ２２）。
【００７８】
すなわち本実施の形態によるストレージ装置４においては、かかる容量割当てポリシーとして、例えば図１５に示すように、対象プールと特性が同一の別プールのみ容量の割当て元のプールとして使用可能するというポリシー（ポリシー１；「自プールと同一特性のプールのみを使用」）や、対象プールと特性が同一の別プールを優先するが任意の特性の別プールでも容量の割当て元のプールとして使用可能するというポリシー（ポリシー２；「自プールと同一特性のプールを優先するが任意の特性のプールを使用可」）、又はこれら以外の予め管理者が指定した方針に従って容量を割り当てるというポリシー（ポリシー３；「あらかじめ管理者が指定した割り当てポリシーに従う」）などを事前に管理者が管理端末１１を用いて設定することができるようになされている。
【００７９】
これは、図１６に示すように、例えばオンラインデータベースのデータを格納する仮想ボリュームＶＶＯＬに対しては常に高信頼高性能のプールＰＬから実記憶領域２５を割り当て、長期間保存するデータを格納する仮想ボリュームＶＶＯＬに対しては大容量低価格のプールＰＬから実記憶領域２５を割り当て、開発ソース分析データを格納する仮想ボリュームＶＶＯＬに対しては中間的な特性を有するプールＰＬから実記憶領域２５を割り当てたいなどというユーザからの要求に対応できるようにするためである。そして管理者が設定した容量割当てポリシーが管理端末１１の制御のもとにストレージ装置４の共有メモリ７（図１）に保存される。
【００８０】
そしてチャネルアダプタ５は、ステップＳＰ２２に進むと共有メモリ７にアクセスして、管理者が設定した容量割当てポリシーを確認し、ステップＳＰ２０における検索結果から、管理者が設定した容量割当てポリシーを満たす別プールが存在するか否かを判断する（ステップＳＰ２３）。
【００８１】
この判断において否定結果を得ることは、管理者が設定した容量割当てポリシーを満たす別プールが存在しない、つまり対象プールに対して容量を割り当てられないことを意味する。かくしてこのときチャネルアダプタ５は、その旨を管理者に通知し（ステップＳＰ２１）、この後、この容量割当て処理を終了する。
【００８２】
これに対してステップＳＰ２３の判断において肯定結果を得ることは、管理者が設定した容量割当てポリシーを満たす別プールが少なくとも１つは存在する、つまり対象プールに対して容量を割り当てることができることを意味する。かくしてこのときチャネルアダプタ５は、プール管理テーブル３２（図６Ａ）を参照して、別プールから対象プールに割り当てる容量を決定する（ステップＳＰ２４）。具体的には、チャネルアダプタ５は、容量の割当て元となる別プールの空き容量が第１の閾値以下にならない範囲内での所定値を、別プールから対象プールに割り当てる容量として決定する。この所定値は、例えばその別プールの空き容量から第１の閾値の容量を差し引いた残りの容量の所定割合とすることや、上記範囲内での固定値とすることができる。
【００８３】
続いてチャネルアダプタ５は、別プールから対象プールに割り当てる容量分の記憶容量を有する容量割当て用仮想ボリュームを作成する（ステップＳＰ２５）。この容量割当て用仮想ボリュームの作成は、ボリューム管理テーブル３０（図４Ａ）に、その容量割当て用仮想ボリュームのボリューム番号、ボリューム種別（ここでは「仮想」）及びその容量割当て用仮想ボリュームと対応付けられたプール（ここでは別プール）のプール番号を登録することにより行われる。なお、かかる容量割当て用仮想ボリュームの作成に伴い、当該容量割当て用仮想ボリュームの仮想ボリュームマッピングテーブル３１（図５Ａ）が作成される。
【００８４】
次いでチャネルアダプタ５は、ステップＳＰ２５において作成した容量割当て用仮想ボリューム内のすべてのボリューム内ページに対して、それぞれかかる別プール内の対象プールに割り当てようとする実記憶領域を割り当てる（ステップＳＰ２６）。具体的に、チャネルアダプタ５は、別プールのプール実記憶領域マッピングテーブル３３（図７）の対象プールに割り当てようとする実記憶領域に対応するプール内ページの各エントリについて、ＶＶＯＬボリューム番号欄３３ＢＥにかかる容量割当て用仮想ボリュームのボリューム番号を格納し、ＶＶＯＬ内ページ番号欄３３ＢＦに当該容量割当て用仮想ボリューム内の各ボリューム内ページのボリューム内ページ番号を順番に格納する。
【００８５】
続いてチャネルアダプタ５は、対象プールのプール管理テーブル３２（図６Ａ）のプールボリュームリスト部３２Ｂに容量割当て用仮想ボリュームを登録することにより、容量割当て用仮想ボリュームを対象プールの構成プールとして追加登録する（ステップＳＰ２７）。またチャネルアダプタ５は、これに伴って、対象プールのプール管理テーブル３２におけるプール空き容量欄３２ＡＤの更新や、対象プールに対応するプール実記憶領域マッピングテーブル３３（図７）の更新、プールリスト３４（図８）における対象プール及び別プールのプール空き容量欄３４ＢＣの更新、並びに容量割当て仮想ボリュームのプールボリューム管理テーブル３５（図９）の作成などを行う。
【００８６】
この後チャネルアダプタ５は、対象プールに対して必要な容量が割り当てられたか否かを判断する（ステップＳＰ２７）。この判断は、対象プールのプール管理テーブル３２（図６Ａ）におけるプール空き容量欄３２ＡＤを参照して行われる。
【００８７】
チャネルアダプタ５は、この判断において否定結果を得ると、ステップＳＰ２０に戻り、この後、ステップＳＰ２８において肯定結果を得るまで同様の処理を繰り返す（ステップＳＰ２０〜ＳＰ２８−ＳＰ２０）。そしてチャネルアダプタ５は、やがてステップＳＰ２８において肯定結果を得ると、この容量割当て処理を終了する。
【００８８】
なお、サーバ２に提供する仮想ボリュームのボリューム内ページがプールボリュームとしてプールに追加された容量割当て用仮想ボリュームのボリューム内ページと対応付けられている場合、かかる仮想ボリュームに対するデータのリード／ライトは、かかる容量割当て用仮想ボリュームと対応付けられたプール内の実記憶領域に対して行われる。
【００８９】
そのための手段として、チャネルアダプタ５は、図１１について上述したリード処理のステップＳＰ２や、図１２について上述したライト処理のステップＳＰ１１において、サーバ２を以下の手順で行う。
【００９０】
すなわちチャネルアダプタ５は、リード要求やライト要求においてデータのリード／ライト先として指定されたブロックアドレスを含むボリューム内ページに割り当てられている実記憶領域を提供するプールボリュームのボリューム番号をプール実記憶領域マッピングテーブル３３上で検索する。
【００９１】
そしてチャネルアダプタ５は、この検索結果に基づいて、そのプールボリュームが仮想ボリューム、つまり容量割当て用仮想ボリュームであるか否かをボリューム管理テーブル３０（図４Ａ）を参照して判定し、容量割当て用仮想ボリュームである場合には、その容量割当て用仮想ボリューム内のデータのリード／ライト先となるボリューム内ページと対応付けられた実記憶領域を、その容量割当て用仮想ボリュームと対応付けられたプールのプール実記憶領域マッピングテーブル３３上で検索し、その実記憶領域にデータをリード／ライトする。
【００９２】
（３−２−２）割当て容量返却処理
一方、図１７は、ストレージ装置４にハードディスク装置９を追加した場合にチャネルアダプタ５により実行される割当て容量返却処理の処理手順を示す。
【００９３】
チャネルアダプタ５は、ストレージ装置４に対してハードディスク装置９が追加的に実装されるとこの割当て容量戻し処理を開始し、まず、別プールから容量が割り当てられたプールが存在するか否かを判断する（ステップＳＰ３０）。この判断は、例えば各プールのプール管理テーブル３２（図６Ａ）とボリューム管理テーブル３０（図４Ａ）とを参照して、いずれかのプールの構成ボリュームとして仮想ボリューム（容量割当て仮想ボリューム）が存在しているか否かを判定することにより行うことができる。そしてチャネルアダプタ５は、この判断において否定結果を得ると、この割当て容量戻し処理を終了する。
【００９４】
これに対してチャネルアダプタ５は、ステップＳＰ３０の判断において肯定結果を得ると、別プールから容量が割り当てられたと推測されるプール（以下、対象プールと呼ぶ）に対して別プールから割り当てられた容量を元の当該別プールに返却すべきか否かを、予め設定された容量返却要否ポリシーに基づいて判断する（ステップＳＰ３１）。
【００９５】
すなわち本実施の形態によるストレージ装置４においては、かかる容量返却要否ポリシーとして、例えば図１８に示すように、別プールから容量が割り当てられていた場合には、その容量を無条件で返却するというポリシー（ポリシー１；「無条件で返却」）や、対象プール及び別プールの特性が同一の場合には容量の返却を行わず、特性が異なる場合には対象プールから別プールに容量を返却するというポリシー（ポリシー２；「プール特性が同一の場合はそのままとし、プール特性が異なる場合は返却」）、予め管理者が設定する指定に従うというポリシー（ポリシー３；「管理者の指示に従う」）、当面は容量の返却を行わず、例えば計画停止時や統計的に負荷が低くなる日時など、予め管理者により設定されたタイミングで返却するというポリシー（ポリシー４；「当面は返却せず、設定されたタイミングで返却」）、又は一切返却はしないというポリシー（ポリシー５；「無条件でそのまま使い続ける」）などを事前に管理者が管理端末１１を用いて作成し設定することができるようになされている。そして管理者により設定された容量返却要否ポリシーがストレージ装置４の共有メモリ７（図１）に保存される。
【００９６】
そしてチャネルアダプタ５は、ステップＳＰ３１に進むと共有メモリ７にアクセスして、管理者が設定した容量返却要否ポリシーを確認し、別プールから対象プールに割り当てられていた容量を当該別プールに返却する必要があるか否かを判断する（ステップＳＰ３１）。
【００９７】
チャネルアダプタ５は、この判断において否定結果を得ると、この割当て容量返却処理を終了する。これに対してチャネルアダプタ５は、ステップＳＰ３１の判断において肯定結果を得ると、別プールから対象プールに割り当てられた容量と同じ容量の容量返却用ボリュームを、追加的に実装されたハードディスク装置９が提供する記憶領域上に定義し、当該容量返却用ボリュームをボリューム管理テーブル３０に登録する（ステップＳＰ３２）。
【００９８】
続いてチャネルアダプタ５は、容量返却用ボリュームと、図１３について上述した容量割当て処理のステップＳＰ２５において作成した容量割当て用仮想ボリュームとをコピーペアに設定する（ステップＳＰ３３）。具体的にコピーペアの設定は、コピー元として容量割当て用仮想ボリューム、コピー先として容量返却用ＬＤＥＶを図示しないコピーペア管理テーブルに登録することにより行われる。またチャネルアダプタ５は、コピーペアの設定に伴い、かかる容量返却用ボリューム及び容量割当て用仮想ボリュームをそれぞれコピー先ボリューム及びコピー元ボリュームとするコピーステータス管理テーブル３６（図１０）を作成する。
【００９９】
次いでチャネルアダプタ５は、上述のようにして作成したコピーステータス管理テーブル３６を利用しながら、容量割当て用仮想ボリュームに格納されているデータを容量返却用ボリュームにコピーする（ステップＳＰ３４）。なお「容量割当て用仮想ボリュームに格納されているデータ」は、現実には、別ボリューム内の容量割当て用仮想ボリュームに割り当てられた実記憶領域に格納されており、従って、かかるコピーは当該実記憶領域から容量返却用ボリュームに対して行われることは言うまでもない。
【０１００】
さらにチャネルアダプタ５は、他のチャネルアダプタ５がアクセスできないように対象プールのプール管理テーブル３２（図６Ａ）、プール実記憶領域マッピングテーブル３３（図７）及びプールボリューム管理テーブル３５（図９）を一時的にロックし（ステップＳＰ３５）、この後、これらプール管理テーブル３２、プール実記憶領域マッピングテーブル３３及びプールボリューム管理テーブル３５に登録されている容量割当て用仮想ボリュームのボリューム番号を容量返却用ボリュームのボリューム番号に書き換える（ステップＳＰ３６）。
【０１０１】
次いでチャネルアダプタ５は、かかるプール管理テーブル３２、プール実記憶領域マッピングテーブル３３及びプールボリューム管理テーブル３５のロックを解放し（ステップＳＰ３７）、ステップＳＰ３３において設定したコピーペアを解除した後（ステップＳＰ３８）、かかる別プールにおける容量割当て用仮想ボリュームに割り当てられていた実記憶領域を初期化する（ステップＳＰ３９）。またチャネルアダプタ５は、容量割当て用仮想ボリュームを削除し（ステップＳＰ４０）、この後、この割当て容量返却処理を終了する。
【０１０２】
（３−２−３）ボリュームコピー処理
図１９は、図１８について上述した容量返却処理のステップＳＰ３４において実行されるボリュームコピー処理の具体的な処理内容を示す。
【０１０３】
チャネルアダプタ５は、割当容量返却処理のステップＳＰ３４に進むとこのボリュームコピー処理を開始し、まず、別ボリュームの容量割当て用仮想ボリュームをコピー元、容量返却用ボリュームをコピー先とするコピーステータス管理テーブル３６（図１０）を作成する。またチャネルアダプタ５は、コピー元ボリュームにおける現在の処理中のボリューム内ページのボリューム内ページ番号ｐとして「１」を設定する。（ステップＳＰ５０）。
【０１０４】
続いてチャネルアダプタ５は、容量割当て用仮想ボリューム内のボリューム内ページの中からページ番号が「ｐ」のページを選択し（ステップＳＰ５１）、このボリューム内ページに実記憶領域が割当て済であるか否かを容量割当て用仮想ボリュームの仮想ボリュームマッピングテーブル３１（図５Ａ）に基づいて判断する（ステップＳＰ５２）。
【０１０５】
チャネルアダプタ５は、このステップＳＰ５２の判断において否定結果を得るとステップＳＰ５６に進み、これに対して肯定結果を得ると、容量割当て用仮想ボリューム内のそのボリューム内ページに格納されたデータを容量返却用ボリュームにコピー済であるか否かを、ステップＳＰ５０において作成したコピーステータス管理テーブル３６（図１０）の対応するコピー済／未フラグ欄３６ＢＢ（図１０）に格納されたコピー済／未フラグに基づいて判断する（ステップＳＰ５３）。
【０１０６】
そしてチャネルアダプタ５は、このステップＳＰ５３の判断において肯定結果を得るとステップＳＰ５６に進み、これに対して否定結果を得ると、コピー元ボリュームである容量割当て用仮想ボリュームのページ番号が「ｐ」のボリューム内ページに格納されているデータを、コピー先ボリュームである容量返却用ボリューム内の同じくページ番号が「ｐ」のボリューム内ページにコピーする（ステップＳＰ５４）。
【０１０７】
次いでチャネルアダプタ５は、コピーステータス管理テーブル３６におけるページ番号が「ｐ」のコピー済／未フラグ欄３６ＢＢに格納されているコピー済／未フラグを、コピー済であることを表す「１」に変更する（ステップＳＰ５５）。
【０１０８】
続いてチャネルアダプタ５は、「ｐ」の値をインクリメント（「ｐ」を「ｐ＋１」に更新）し（ステップＳＰ５６）、この後、「ｐ」が容量割当て用仮想ボリュームのボリューム内ページのページ数よりも大きくなったか否かを、容量割当て用仮想ボリュームの仮想ボリュームマッピングテーブル３１（図５Ａ）を参照して判断する（ステップＳＰ５７）。
【０１０９】
チャネルアダプタ５は、この判断において否定結果を得るとステップＳＰ５２に戻り、この後ステップＳＰ５７において肯定結果を得るまで同様の処理を繰り返す（ステップＳＰ５２〜ＳＰ５７−ＳＰ５２）。そしてチャネルアダプタ５は、やがて容量割当て用仮想ボリュームの全ボリューム内ページについてのコピーが完了することによりステップＳＰ５７において肯定結果を得ると、このボリュームコピー処理を終了する。
【０１１０】
（３−２−４）コピー中リード処理
図２０は、上述のボリュームコピー処理の実行中にサーバ２からストレージ装置４にリード要求が与えられた場合におけるチャネルアダプタ５の処理内容を示す。本実施の形態の場合、チャネルアダプタ５は、図１９について上述したボリュームコピー処理を実行する際、共有メモリ７の所定位置にこれを表すフラグ（以下、これをボリュームコピーフラグと呼ぶ）を格納する。
【０１１１】
そしてチャネルアダプタ５は、サーバ２からリード要求が与えられた場合、まず共有メモリ７にアクセスしてボリュームコピーフラグを確認し、いずれのチャネルアダプタ５もボリュームコピー処理を実行していない場合には図１１について上述したリード処理を実行し、いずれかのチャネルアダプタ５がボリュームコピー処理を実行中である場合にはこの図２０に示すコピー中リード処理を実行する。
【０１１２】
すなわちチャネルアダプタ５は、サーバ２からリード要求が与えられた場合であって、いずれのチャネルアダプタ５もボリュームコピー処理を実行していないことをかかるボリュームコピーフラグに基づいて確認した場合、まず、リード要求においてリード先として指定された論理ボリュームが実体を有する通常ボリュームであるか否かをボリューム管理テーブル３０（図４Ａ）に基づいて判断する（ステップＳＰ６０）。
【０１１３】
そしてチャネルアダプタ５は、この判断において肯定結果を得ると、通常のリード処理を実行し（ステップＳＰ６１）、この後、このコピー中リード処理を終了する。
【０１１４】
これに対してチャネルアダプタ５は、この判断において否定結果を得ると、リード要求においてリード先として指定された論理ボリューム（仮想ボリュームであり、以下、これを仮想ボリュームと記す）内のボリューム内ページのうち、リード要求においてリード先として指定されたブロックアドレスが含まれるボリューム内ページのボリューム内ページ番号を求める（ステップＳＰ６２）。なお、かかるプール内ページ番号は、リード要求においてリード先として指定されたブロックアドレスをページサイズ（１ページ当たりのブロック数）で除算することにより得ることができる。
【０１１５】
次いでチャネルアダプタ５は、リード要求においてリード先として指定された仮想ボリュームの仮想ボリュームマッピングテーブル３１（図５Ａ）を参照して、ステップＳＰ６２において求めたボリューム内ページ番号のボリューム内ページに対して実記憶領域が割当て済であるか否かを判断する（ステップＳＰ６３）。
【０１１６】
チャネルアダプタ５は、この判断において否定結果を得ると、リードデータとして「０」をサーバ２に送信し（ステップＳＰ６４）、この後、このコピー中リード処理を終了する。
【０１１７】
これに対してチャネルアダプタ５は、ステップＳＰ６４の判断において肯定結果を得ると、その仮想ボリュームの仮想ボリュームマッピングテーブル３１（図５Ａ）を参照して、ステップＳＰ６２において求めたボリューム内ページ番号のボリューム内ページに割り当てられている実記憶領域を提供するプールのプール番号と、かかる実記憶領域のプール内ページ番号とを検索する（ステップＳＰ６５）。
【０１１８】
次いでチャネルアダプタ５は、ステップＳＰ６５において得られたプール番号及びプール内ページ番号に基づいて、リード対象のデータが格納されているプールボリュームのボリューム番号と、そのプールボリュームにおいて当該データが格納されているボリューム内ページのボリューム内ページ番号とを、ステップＳＰ６５において検出したプール番号のプールのプール実記憶領域マッピングテーブル３３（図７）上で検索する（ステップＳＰ６６）。
【０１１９】
またチャネルアダプタ５は、ステップＳＰ６６においてボリューム番号を検出したプールボリュームが仮想ボリュームであるか否かをボリューム管理テーブル３０（図４Ａ）に基づいて判断する。
【０１２０】
ここでこの判断において否定結果を得ることは、そのプールボリュームが容量割当て用仮想ボリュームではないことを意味する。かくしてこのときチャネルアダプタ５は、図１１について上述したリード処理を実行することにより、リード要求において指定された仮想ボリューム内のリード要求において指定されたアドレス位置からリード対象のデータを読み出し、得られたデータをサーバ２に送信する（ステップＳＰ６８）。そしてチャネルアダプタ５は、この後、このコピー中リード処理を終了する。
【０１２１】
これに対してステップＳＰ６７の判断において肯定結果を得ることは、かかるプールボリュームが容量割当て用仮想ボリュームであることを意味する。かくしてこのときチャネルアダプタ５は、ステップＳＰ６６において得られたボリューム番号が得られたプールボリュームのプールボリューム管理テーブル３５（図９）を参照して、そのプールボリュームについて現在、図１９について上述したボリュームコピー処理が実行中であるか否かを判断する（ステップＳＰ６９）。
【０１２２】
そしてチャネルアダプタ５は、この判断において否定結果を得ると、ステップＳＰ６８に進むことにより、リード要求において指定されたデータを読み出させてこれをサーバ２に送信し（ステップＳＰ６８）、この後、このリード処理を終了する。
【０１２３】
これに対してチャネルアダプタ５は、ステップＳＰ６９の判断において肯定結果を得ると、ステップＳＰ６６において取得したボリューム番号に基づき、対応するコピーステータス管理テーブル３６（図１０）を参照して、ステップＳＰ６６において取得したボリューム内ページ番号のボリューム内ページのコピーが既に完了しているか否かを判断する（ステップＳＰ７０）。
【０１２４】
チャネルアダプタ５は、この判断において肯定結果を得るとステップＳＰ７３に進み、これに対して否定結果を得ると、そのボリューム番号のプールボリューム（容量割当て用仮想ボリューム）におけるそのとき対象としているボリューム内ページ（データをリードすべきボリューム内ページ）に格納されているデータ（リード対象のデータ）をそのプールボリュームとコピーペアに設定されている論理ボリューム（容量返却用ボリューム）にコピーする（ステップＳＰ７１）。
【０１２５】
続いてチャネルアダプタ５は、対応するコピーステータス管理テーブル３６（図１０）上の各コピー済／未フラグのうち、ステップＳＰ７１においてコピー処理を行ったボリューム内ページのコピー済／未フラグを、コピー済であることを表す「１」に変更する（ステップＳＰ７２）。
【０１２６】
この後、チャネルアダプタ５は、対応するディスクアダプタ８を制御して、リード要求において指定されたリード対象のデータをコピー先のボリューム（容量返却用ボリューム）から読み出させ、これをサーバ２に送信した後（ステップＳＰ７３）、このコピー中リード処理を終了する。
【０１２７】
（３−２−５）コピー中ライト処理
図２１は、上述のボリュームコピー処理の実行中にサーバ２からストレージ装置４にライト要求が与えられた場合におけるチャネルアダプタ５の処理内容を示す。すなわちチャネルアダプタ５は、サーバ２からライト要求が与えられた場合、まず共有メモリ７にアクセスしてボリュームコピーフラグを確認し、いずれのチャネルアダプタ５もボリュームコピー処理を実行していない場合には図１２について上述したライト処理を実行し、いずれかのチャネルアダプタ５がボリュームコピー処理を実行中である場合にはこの図２１に示すコピー中ライト処理を実行する。
【０１２８】
すなわちチャネルアダプタ５は、サーバ２からリード要求が与えられた場合であって、いずれのチャネルアダプタ５もボリュームコピー処理を実行していないことをかかるボリュームコピーフラグに基づいて確認した場合、まず、ライト要求においてライト先として指定された論理ボリュームが実体を有する通常ボリュームであるか否かをボリューム管理テーブル３０（図４Ａ）に基づいて判断する（ステップＳＰ８０）。
【０１２９】
そしてチャネルアダプタ５は、この判断において肯定結果を得ると、通常のライト処理を実行し（ステップＳＰ８１）、この後、このコピー中ライト処理を終了する。
【０１３０】
これに対してチャネルアダプタ５は、この判断において否定結果を得ると、ライト要求においてライト先として指定された論理ボリューム（仮想ボリュームであり、以下、これを仮想ボリュームと記す）内のボリューム内ページのうち、ライト要求においてリード先として指定されたブロックアドレスが含まれるボリューム内ページのボリューム内ページ番号を求める（ステップＳＰ８２）。
【０１３１】
次いでチャネルアダプタ５は、ライト要求においてライト先として指定された仮想ボリュームの仮想ボリュームマッピングテーブル３１（図５Ａ）を参照して、ステップＳＰ６２において求めたボリューム内ページ番号のボリューム内ページに対して実記憶領域が割当て済であるか否かを判断する（ステップＳＰ８３）。
【０１３２】
そしてチャネルアダプタ５は、この判断において否定結果を得ると、リード先の仮想ボリュームの仮想ボリュームマッピングテーブル３１を参照して、その仮想ボリュームと対応付けられているプールのプール番号を取得すると共に、当該プールのプール実記憶領域マッピングテーブルを参照して、ライト要求においてライト先として指定された仮想ボリューム内のライト先として指定されたブロック内ページに実記憶領域（当該プール内のプール内ページ）を割り当てる（ステップＳＰ８４）。
【０１３３】
続いてチャネルアダプタ５は、ステップＳＰ８５〜ステップＳＰ８７を図２０のステップＳＰ６５〜ステップＳＰ６７と同様に処理し、ステップＳＰ８７の判断において否定結果を得た場合には、図１２において上述したライト処理を実行することにより、ステップＳＰ８６において取得したプールボリューム番号のプールボリュームを対象とし、ステップＳＰ８６において取得したボリューム内ページ番号のボリューム内ページを先頭ページとして、ライト対象のデータを書き込む（ステップＳＰ８８）。そしてチャネルアダプタ５は、この後、このコピー中ライト処理を終了する。
【０１３４】
これに対してチャネルアダプタ５は、ステップＳＰ８７の判断において否定結果を得ると、この後、ステップＳＰ８９〜ステップＳＰ９２を図２０のステップＳＰ６９〜ステップＳＰ７２と同様に処理し、この後、対応するディスクアダプタ８を制御して、ライデータをコピー先のボリューム（容量返却用ボリューム）内の対応する位置に書き込ませる（ステップＳＰ９３）。そしてチャネルアダプタ５は、この後、このコピー中ライト処理を終了する。
【０１３５】
（３−３）管理端末に表示される各種画面の構成
図２２は、管理者の操作に応じて管理端末に表示されるプール使用状況一覧画面４０を示す。このプール使用状況一覧画面４０は、ストレージ装置４内に設定された各プールの使用状況を表示する画面である。具体的に、このプール使用状況一覧画面４０には、ストレージ装置４内に設定されたすべてのプールについて、そのプールのプール番号（「Pool＃」）と、そのプールの総容量（「Capacity」）と、そのプールの使用容量（「Usage」）と、そのプールの空き容量（「Unused」）と、そのプールにおける総容量に対する使用容量の割合（「Usage」）とが一覧表示される。なお、プール使用状況一覧画面４０に表示されるこれらの情報は、管理端末１１が内部バス１０を介して共有メモリ７内のプールリスト３４（図８）を読み出し、このプールリスト３４に基づいて管理端末１１が取得したものである。
【０１３６】
また図２３は、管理者の操作に応じて管理端末１１に表示される仮想ボリューム定義画面４１を示す。この仮想ボリューム定義画面４１には、新たに定義しようとする仮想ボリュームのボリューム番号を指定するためのボリューム番号指定欄４１Ａと、当該仮想ボリュームの容量（総ページ数）を規定するための容量指定欄４１Ｂと、その仮想ボリュームを対応付けるプールのプール番号を指定するためのプール番号指定欄４１Ｃと、その仮想ボリュームのアロケーションタイプ（本実施の形態の場合は、仮想ボリュームに対して、ライトアクセスがあった領域についてのみ順次記憶領域を割り当てるタイプ（「Auto」）と、仮想ボリューム全体に記憶領域を割り当てるタイプ（「Full」）の２種類）を指定するためのアロケーションタイプ指定欄４１Ｄとが設けられている。
【０１３７】
かくして管理者は、これらボリューム番号指定欄４１Ａ、容量指定欄４１Ｂ、プール番号指定欄４１Ｃ及びアロケーションタイプ指定欄４１Ｄにそれぞれ必要な情報を入力し、この後、追加ボタン４１Ｅをクリックすることによって、そのとき指定したボリューム番号及び容量等を有する仮想ボリュームを作成することができる。
【０１３８】
実際上、管理端末１１は、ボリューム番号指定欄４１Ａ、容量指定欄４１Ｂ、プール番号指定欄４１Ｃ及びアロケーションタイプ指定欄４１Ｄにそれぞれ必要な情報が入力された後にかかる追加ボタン４１Ｅがクリックされると、そのとき仮想ボリューム定義画面４１において管理者により定義された仮想ボリュームをボリューム管理テーブル３０（図４Ａ）と、対応するプール管理テーブル３２（図６Ａ）及びプール実記憶領域マッピングテーブル３３（図７）などとに登録すると共に、当該仮想ボリュームの仮想ボリュームマッピングテーブル３１（図５Ａ）を作成する。これによりかかる仮想ボリュームがストレージ装置４内に作成されたことになる。
【０１３９】
一方、図２４は、管理者の操作に応じて管理端末１１に表示されるプール操作画面４２を示す。このプール操作画面４２は、ストレージ装置４内に設定されたプールのうちの所望のプールに対する操作を行うための画面である。
【０１４０】
実際上、このプール操作画面４２では、プールのプール番号をプール番号入力欄４２Ａに入力し、そのプールにプールボリュームとして追加したい論理ボリューム（通常ボリューム又は容量割当て用仮想ボリューム）のボリューム番号をボリューム番号入力欄４２Ｂに入力した後、追加ボタン４２Ｃをクリックすることによって、その論理ボリュームをそのプールにプールボリュームとして追加することができる。この場合、管理端末１１は、かかる操作に応じて、共有メモリ７に格納されている対応するプール管理テーブル３２（図６Ａ）を更新する。
【０１４１】
またプール操作画面４２では、いずれかのプールを構成するプールボリュームのボリューム番号を交換元ボリューム番号入力欄４２Ｄに入力すると供に、他のボリュームのボリューム番号を交換先ボリューム番号入力欄４２Ｅに入力した後、交換ボタン４２Ｆをクリックすることによって、対応するプールを構成するプールボリュームを、交換元ボリューム番号入力欄４２Ｄにボリューム番号が入力された論理ボリュームから交換先ボリューム番号入力欄４２Ｅのボリューム番号が入力された論理ボリュームに交換することができる。この場合管理端末１１は、かかる操作に応じて、共有メモリ７に格納されているプール管理テーブル３２（図６Ａ）及び対応するプール実記憶領域マッピングテーブル３３（図７）などを更新する。
【０１４２】
さらにプール操作画面４２では、いずれかのプールを構成するプールボリュームのボリューム番号を削除対象ボリューム番号欄４２Ｇに入力し、その後、削除ボタン４２Ｈをクリックすることによって、削除対象ボリューム番号欄４２Ｇにボリューム番号が入力されたプールボリュームを対応するプールの構成プールから削除することができる。この場合管理端末１１は、かかる操作に応じて、共有メモリ７に格納されているプール管理テーブル３２などを更新する。
【０１４３】
他方、図２５は、管理者の操作に応じて管理端末に表示されるボリュームコピー情報画面４３を示す。このボリュームコピー情報画面４３は、図１９について上述したボリュームコピー処理の進行状況を表示するための画面であり、コピーステータス（コピー中か否か）及びコピーの進行割合などが表示される。なお、このボリュームコピー情報画面４３に表示されるこれらの情報は、管理端末１１が内部バス１０を介して対応するプールボリューム管理テーブル３５（図９）及びコピーステータス管理テーブル３６（図１０）を共有メモリ７から読み出し、このプールボリューム管理テーブル３５及びコピーステータス管理テーブル３６に基づいて管理端末１１が取得したものである。
【０１４４】
（４）本実施の形態の効果
以上のように本実施の形態による計算機システム１では、ストレージ装置１内に設定された各プールの空き容量を監視し、いずれかのプールの空き容量が第１の閾値よりも小さくなったときにそのプールに対して他のプールから容量を割り当てるようにしているため、プールの空き容量が不足又は枯渇したことに起因してサーバ２からのライトデータがライトできなくなるという事態の発生を有効に防止することができる。かくするにつき信頼性の高い計算機システム及びストレージ装置を実現できる。
【０１４５】
（５）他の実施の形態
なお上述の実施の形態においては、本発明を図１のように構成されたストレージ装置４に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のストレージ装置に広く適用することができる。
【０１４６】
また上述の実施の形態においては、ストレージ装置内に搭載する記憶デバイスとしてハードディスク装置９を適用するようにした場合について述べたが、本発明はこれに限らず、半導体メモリなどの他の記憶デバイスを適用するようにしてもよい。
【０１４７】
さらに上述の実施の形態においては、１つのストレージ装置４内においてプール間の容量の貸し借りを行うようにした場合について述べたが、本発明はこれに限らず、例えば図２６に示すように、上述の実施の形態と同様にして異なるストレージ装置間で容量の貸し借りを行い得るようにしても良い。
【０１４８】
さらに上述の実施の形態においては、図１４において第１の閾値を空き容量が「０」よりも大きい値である場合について説明したが、本発明はこれに限らず、第１の閾値が「０」であってもよい。なお、第１の閾値を「０」とした場合、図１３について上述した容量割当て処理は、プールの空き容量が枯渇した場合に開始されることとなる。
【産業上の利用可能性】
【０１４９】
本発明はダイナミックプロビジョニング機能が搭載された種々の構成のストレージ装置に広く適用することができる。
【図１】
2012505439.tif 000003
【図２】
2012505439.tif 000004
【図３】
2012505439.tif 000005
【図４Ａ】
2012505439.tif 000006
【図４Ｂ】
2012505439.tif 000007
【図５Ａ】
2012505439.tif 000008
【図５Ｂ】
2012505439.tif 000009
【図６Ａ】
2012505439.tif 000010
【図６Ｂ】
2012505439.tif 000011
【図７】
2012505439.tif 000012
【図８】
2012505439.tif 000013
【図９】
2012505439.tif 000014
【図１０】
2012505439.tif 000015
【図１１】
2012505439.tif 000016
【図１２】
2012505439.tif 000017
【図１３】
2012505439.tif 000018
【図１４】
2012505439.tif 000019
【図１５】
2012505439.tif 000020
【図１６】
2012505439.tif 000021
【図１７】
2012505439.tif 000022
【図１８】
2012505439.tif 000023
【図１９】
2012505439.tif 000024
【図２０】
2012505439.tif 000025
【図２１】
2012505439.tif 000026
【図２２】
2012505439.tif 000027
【図２３】
2012505439.tif 000028
【図２４】
2012505439.tif 000029
【図２５】
2012505439.tif 000030
【図２６】
2012505439.tif 000031
【国際調査報告】
2012505439.tif 000032
2012505439.tif 000033