(57)【特許請求の範囲】
【請求項１】
複数の記憶媒体と、
前記記憶媒体のうちデータを格納している第１記憶媒体が属する複数の第１グループ及び前記記憶媒体のうちデータを格納していない第２記憶媒体が属する第２グループを管理するグループ管理部と、
更新対象のデータが格納されている前記第１記憶媒体の領域を無効領域とし、該データの更新データを前記第１記憶媒体に格納するデータ格納部と、
前記第１グループをいくつか選択し、選択した前記第１グループ毎に、前記無効領域を有する前記第１記憶媒体の前記無効領域以外に格納されたデータを格納するために用いる前記第２記憶媒体の確保数を算出し、前記確保数が増えるにしたがい高くなる優先度で、前記第２記憶媒体を確保し、且つ、前記第１記憶媒体の前記無効領域以外に格納されているデータを前記第２記憶媒体に移行する処理を実行するデータ移行部と、
前記データ移行部による移行が完了した前記第１記憶媒体が属する前記第１グループに含まれる各前記第１記憶媒体を前記第２グループに移動する移動部と
を備えたことを特徴とするストレージ装置。
【請求項２】
前記データ移行部は、前記確保数が同じ場合、前記移動部により前記第２グループに移動される前記第１記憶媒体の数に基づいて前記優先度を決定することを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記データ移行部は、複数の前記第１グループの中から、各前記第１グループにおける記憶容量に関する所定の条件を満たした前記第１グループを選択することを特徴とする請求項１又は２に記載のストレージ装置。
【請求項４】
前記データ移行部は、前記確保数が同じであり、且つ前記移動部により前記第２グループに移動される前記第１記憶媒体の数が同数の場合、前記所定の条件を満たしたタイミングが早いほど高くなるように前記優先度を決定することを特徴とする請求項３に記載のストレージ装置。
【請求項５】
複数の記憶媒体のうちデータを格納している第１記憶媒体が属する第１グループを複数生成し、
前記記憶媒体のうちデータを格納していない第２記憶媒体が属する第２グループを生成し、
前記第１記憶媒体にデータを格納し、
更新対象のデータが格納されている前記第１記憶媒体の領域を無効領域とし、該データの更新データを前記第１記憶媒体に格納し、
前記第１グループをいくつか選択し、選択した前記第１グループ毎に、前記無効領域を有する前記第１記憶媒体の前記無効領域以外に格納されたデータを格納するために用いる前記第２記憶媒体の確保数を算出し、
前記確保数が増えるにしたがい高くなる優先度で、前記第２記憶媒体を確保し、且つ、前記第１記憶媒体の前記無効領域以外に格納されているデータを前記第２記憶媒体に移行する処理を実行し、
前記移行が完了した前記第１記憶媒体が属する前記第１グループに含まれる各前記第１記憶媒体を前記第２グループに移動する
処理をコンピュータに実行させることを特徴とするストレージ装置制御プログラム。
【請求項６】
複数の記憶媒体のうちデータを格納している第１記憶媒体が属する第１グループを複数生成し、
前記記憶媒体のうちデータを格納していない第２記憶媒体が属する第２グループを生成し、
前記第１記憶媒体にデータを格納し、
更新対象のデータが格納されている前記第１記憶媒体の領域を無効領域とし、該データの更新データを前記第１記憶媒体に格納し、
前記第１グループをいくつか選択し、選択した前記第１グループ毎に、前記無効領域を有する前記第１記憶媒体の前記無効領域以外に格納されたデータを格納するために用いる前記第２記憶媒体の確保数を算出し、
前記確保数が増えるにしたがい高くなる優先度で、前記第２記憶媒体を確保し、且つ、前記第１記憶媒体の前記無効領域以外に格納されているデータを前記第２記憶媒体に移行する処理を実行し、
前記移行が完了した前記第１記憶媒体が属する前記第１グループに含まれる各前記第１記憶媒体を前記第２グループに移動する
処理をコンピュータに実行させることを特徴とするストレージ装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法に関する。
【背景技術】
【０００２】
磁気テープを用いた記録媒体を複数備えたテープライブラリ装置（ＬＩＢ：Library）は、サーバなどのホストに対するデータバックアップ用など、大容量の記憶が必要な用途に広く利用されている。磁気テープは、低コストでかつ記憶容量が大きいという利点がある反面、ＨＤＤ（Hard  Disk  Drive）などと比較してデータアクセス速度が遅い。そこで、近年では、複数のＨＤＤを備えたディスクアレイ装置をキャッシュ機構（一次ストレージ）として用い、より大容量のテープライブラリ装置をバックエンド（二次ストレージ）に配置した階層型ストレージシステムが利用されている。この階層型ストレージシステムは、仮想テープライブラリと呼ばれる場合がある。また、ディスクアレイ装置は、ＴＶＣ（Tape  Volume  Cache）と呼ばれる場合がある。また、テープ媒体は、物理ボリューム（ＰＶ：Physical  Volume）と呼ばれる場合がある。
【０００３】
このような階層型ストレージシステムは、ディスクアレイ装置やテープライブラリ装置を制御するための階層制御サーバを有している。例えば、ホストからデータの読出要求又は書込要求があった場合、階層制御サーバは、ホストに対して従来のテープライブラリ装置として振る舞い、内部ではディスクアレイ装置を利用してデータの読み出し及び書込みを行う。このとき、階層制御サーバは、１台のホストからの取得した１群のデータを１つの論理ボリューム（ＬＶ：Logical  Volume）としてディスクアレイ装置に対する読み出し及び書き込みを行う。その後、階層制御サーバは、ホストを介さずにバックグラウンドでディスクアレイ装置に書き込まれたデータをテープ媒体に保存する。具体的には、階層制御サーバは、ディスクアレイ装置に格納されている論理ボリュームを、物理ボリュームすなわちテープ媒体に保存する。この、ディスクアレイ装置内の論理ボリュームを物理ボリュームに格納する処理を、「マイグレーション（Migration）」という場合がある。
【０００４】
階層化ストレージシステムは、ディスクアレイ装置に格納された論理ボリュームによって容量が圧迫されることを防ぐために、更新が行われず、且つ、マイグレーション済みの大容量の論理ボリュームを消去する。
【０００５】
さらに、階層化ストレージシステムには、既に論理ボリュームが格納されている使用済みの物理ボリュームをまとめて、ＳｔａｃｋｅｄＰＶＧ（Physical  Volume  Group）というグループを生成して管理する技術がある。さらに、階層化ストレージシステムには、データが格納されていない未使用の物理ボリュームをまとめて、ＳｃｒａｔｃｈＰＶＧというグループを生成して管理する技術がある。
【０００６】
ここで、マイグレーションにおける階層化ストレージシステムの動作を詳細に説明する。ホストがディスクアレイ装置に対して読み出し及び書き込みの対象としている論理ボリュームがディスクアレイ装置に既に格納されている状態は、オンキャッシュ（On  Cache）の論理ボリュームと呼ばれる場合がある。また、ホストがディスクアレイ装置に対して読み出し及び書き込みの対象としている論理ボリュームがディスクアレイ装置上に格納されていない状態は、キャッシュミス（Cache  Miss）と呼ばれる場合がある。ホストが読み出し及び書き込みを行う論理ボリュームがオンキャッシュの場合、階層制御サーバは、ディスクアレイ装置から論理ボリュームを読み出し、ホストに応答する。これに対して、ホストが読み出し及び書き込みを行う論理ボリュームがキャッシュミスの場合、階層制御サーバは、その論理ボリュームがマイグレーションされた物理ボリュームをテープライブラリ装置のテープドライブに挿入し、その論理ボリュームを読み込む。そして、階層制御サーバは、読み込んだ論理ボリュームをディスクアレイ装置へ移した後、ホストに応答する。
【０００７】
さらに、階層化ストレージシステムでは、マイグレーションにより更新されたデータを有する論理ボリュームを物理ボリュームに格納する論理ボリュームの更新が行われる。このとき、世代管理などの煩雑な処理を省くため、更新前の古い論理ボリュームを無効な論理ボリュームとして、その領域を無効領域とする運用が行われる場合がある。この処理を行うと、論理ボリュームの更新のたびに物理ボリューム内の無効領域が増えていき、物理ボリューム内の使用可能な領域が減少していく。そして、物理ボリュームに論理ボリュームが格納できなくなった場合、新たに未使用の物理ボリュームが使用される。例えば、ＳｔａｃｋｅｄＰＶＧ及びＳｃｒａｔｃｈＰＶＧを用いている場合、ＳｔａｃｋｅｄＰＶＧに論理ボリュームが格納可能な物理ボリュームが無い場合、ＳｃｒａｔｃｈＰＶＧから使用する分の物理ボリュームがＳｔａｃｋｅｄＰＶＧに移動される。このため、最終的には未使用の物理ボリュームの数も減ってしまう。
【０００８】
そこで、未使用の物理ボリュームの数を増やすための従来技術としてリオーガニゼーションと呼ばれる技術がある。リオーガニゼーションでは、テープライブラリ装置の未使用の物理ボリュームの残数が少なくなった場合、未使用の物理ボリュームの数を増やすため、使用済みの物理ボリュームから未使用の物理ボリュームに論理ボリュームが移動される。そして、使用済みの物理ボリュームは、格納していた論理ボリュームが移動されることで未使用の物理ボリュームとなる。ＳｔａｃｋｅｄＰＶＧ及びＳｃｒａｔｃｈＰＶＧを用いている場合、リオーガニゼーションにより生成された未使用の物理ボリュームはＳｃｒａｔｃｈＰＶＧに戻される。
【０００９】
なお、無効なデータを除いたデータを新たな磁気テープに記録するガベージコレクションという従来技術がある。また、磁気ディスクなどのランダム媒体を仮想的なシーケンシャルアクセス型の記憶媒体として用い、不要なデータを格納している場合に無効化処理を行う従来技術がある。さらに、光ライブラリにおいて、ボリュームの自動再編成を行う従来技術がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特表２０１０−５２２９１４号公報
【特許文献２】特開２００８−１４６４０８号公報
【特許文献３】特開２０１０−２８２３８３号公報
【特許文献４】特開２００２−２９７４３１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、複数のＳｔａｃｋｅｄＰＶＧに対するリオーガニゼーションが、同時に実行される場合がある。このような場合、リオーガニゼーションの実行順序は、階層制御サーバが処理要求を受け付けた順に処理される。そして、リオーガニゼーションを実行する場合、ＳｔａｃｋｅｄＰＶＧに属する物理ボリュームに格納されているデータ量によっては、ＳｃｒａｔｃｈＰＶＧから新たに物理ボリュームが確保されることがある。そのため、同時に複数のリオーガニゼーションが実行される場合、処理順序によってはリオーガニゼーション処理に用いる物理ボリュームを確保できないことが考えられる。その場合、リオーガニゼーションが行われず、ＴＶＣに格納された論理ボリュームの物理ボリュームへのマイグレーションが困難となり、階層化ストレージシステム内でデータが冗長化されないおそれがある。
【００１２】
なお、ガベージコレクションを行う従来技術を用いても、複数のリオーガニゼーションを同時に処理する場合に物理ボリュームが足りなくなることを防ぐことはできず、階層化ストレージシステム内でのデータの冗長性を維持することは困難である。また、磁気ディスクや光ライブラリを使用する従来技術であっても、同様の問題は発生するため、階層化ストレージシステム内でのデータの冗長性の維持は困難である。
【００１３】
開示の技術は、上記に鑑みてなされたものであって、データの冗長性を向上させるストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願の開示するストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法は、一つの態様において、複数の記憶媒体を有する。そして、グループ管理部は、前記記憶媒体のうちデータを格納している第１記憶媒体が属する複数の第１グループ及び前記記憶媒体のうちデータを格納していない第２記憶媒体が属する第２グループを管理する。データ格納部は、更新対象のデータが格納されている前記第１記憶媒体の領域を無効領域とし、該データの更新データを前記第１記憶媒体に格納する。移行部は、前記第１グループをいくつか選択し、選択した前記第１グループ毎に、前記無効領域を有する前記第１記憶媒体の前記無効領域以外に格納されたデータを格納するために用いる前記第２記憶媒体の確保数を算出する。さらに、移行部は、前記確保数が増えるにしたがい高くなる優先度で、前記第２記憶媒体を確保し、前記第１記憶媒体の前記無効領域以外に格納されているデータを前記第２記憶媒体に移行する処理を実行する。移動部は、前記データ移行部による移行が完了した前記第１記憶媒体が属する前記第１グループに含まれる各前記第１記憶媒体を前記第２グループに移動する。
【発明の効果】
【００１５】
本願の開示するストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法の一つの態様によれば、データの冗長性を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施例に係るストレージシステムの構成図である。
【図２】図２は、物理ボリュームのフォーマットを表す概念図である。
【図３】図３は、階層制御サーバのブロック図である。
【図４】図４は、ＳｔａｃｋｅｄＰＶＧの一例の図である。
【図５】図５は、ＳｔａｃｋｅｄＰＶＧとＳｃｒａｔｃｈＰＶＧとの関連付けを説明するための図である。
【図６】図６は、優先度テーブルの一例の図である。
【図７】図７は、ＰＶ確保量、ＰＶ戻し量及びＰＶ増分量の算出のフローチャートである。
【図８】図８は、優先度決定の処理のフローチャートである。
【図９】図９は、リオーガニゼーションの実行処理のフローチャートである。
【図１０】図１０は、同時発生したリオーガニゼーションの情報を表す図である。
【図１１】図１１は、リオーガニゼーションＡの優先度を決定した段階の優先度テーブルを表す図である。
【図１２】図１２は、リオーガニゼーションＢの優先度を決定した段階の優先度テーブルを表す図である。
【図１３】図１３は、リオーガニゼーションＣの優先度を決定した段階の優先度テーブルを表す図である。
【図１４】図１４は、リオーガニゼーションＤの優先度を決定した段階の優先度テーブルを表す図である。
【図１５】図１５は、リオーガニゼーションＥの優先度を決定した段階の優先度テーブルを表す図である。
【図１６】図１６は、リオーガニゼーションＦの優先度を決定した段階の優先度テーブルを表す図である。
【図１７】図１７は、階層制御サーバのハードウェア構成図である。
【発明を実施するための形態】
【００１７】
以下に、本願の開示するストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法が限定されるものではない。
【実施例１】
【００１８】
図１は、実施例に係るストレージシステムの構成図である。本実施例に係るストレージシステムは、図１に示すように、仮想テープライブラリ１が、ホスト２に接続されている。ホスト２は、サーバなどの情報処理装置である。
【００１９】
仮想テープライブラリ１は、階層制御サーバ１０、テープライブラリ装置２０及びディスクアレイ装置３０を有している。具体的には、階層制御サーバ１０が、ホスト２に接続している。また、階層制御サーバ１０は、テープライブラリ装置２０及びディスクアレイ装置３０に接続している。
【００２０】
ディスクアレイ装置３０は、テープなどの大容量記憶装置に比べて読み書きの速度が高速である記憶媒体を有している。例えば、ディスクアレイ装置３０は、ハードディスクなどを有している。そして、ディスクアレイ装置３０は、自己が有する記憶媒体に論理ボリューム（ＬＶ：Logical  Volume）３１を格納する。
【００２１】
テープライブラリ装置２０は、ロボット２１、物理ボリューム（ＰＶ：Physical  Volume）２２及びテープドライブ２３を有している。物理ボリューム２２は、大容量記憶媒体であり、例えば、磁気テープである。テープライブラリ装置２０は、複数の物理ボリューム２２を有している。
【００２２】
ロボット２１は、物理ボリューム２２の搬送を行う。例えば、階層制御サーバ１０からの書き込み又は読み出しの指示を受けて、指定された物理ボリューム２２をテープドライブ２３へ挿入する。その後、テープドライブ２３による物理ボリューム２２への書き込み又は読出しの処理が終わると、ロボット２１は、物理ボリューム２２をテープドライブ２３から取り出し、格納場所に戻す。
【００２３】
テープドライブ２３は、階層制御サーバ１０からの指示にしたがい、挿入された物理ボリューム２２に対してデータの書き込み又は読み出しを行う。
【００２４】
ここで、物理ボリューム２２のフォーマットについて説明する。図２は、物理ボリュームのフォーマットを表す概念図である。ここでは、論理ボリューム３１Ａ及び３１Ｂが、物理ボリューム２２に格納される場合で説明する。先に論理ボリューム３１Ａが格納され、後から論理ボリューム３１Ｂが格納されたものとする。
【００２５】
論理ボリューム３１Ａは、論理ボリュームヘッダ（ＬＶ−ＨＤＲ（Header））、ＶＯＬ（Volume）１、ＨＤＲ１、ＨＤＲ２、ＤＡＴＡ＃Ａ、ＥＯＦ（End  Of  File）１、ＥＯＦ２及びＥＯＶ（End  Of  Volume）を有している。論理ボリューム３１Ｂは、論理ボリューム３１ＡにおいてＤＡＴＡ＃ＡがＤＡＴＡ＃Ｂに変わり、後の情報は同様のフォーマットを有している。ＬＶ−ＨＤＲのブロックは、論理ボリューム３１の更新回数を表す世代、論理ボリューム名、論理ボリュームグループ名、論理ボリュームサイズ及び論理ボリューム作成日が格納されるブロックである。ＶＯＬ１のブロックは、ボリューム名、所有者などの情報が格納される８０バイトのブロックである。ＨＤＲ１のブロックは、ファイル名、更新日などが格納される８０バイトのブロックである。ＨＤＲ２のブロックは、レコード形式、ブロック長などが格納される８０バイトのブロックである。Ｄａｔａ＃Ａ及び＃Ｂのブロックは、ユーザデータが格納される可変長バイトのブロックである。ＥＯＦ１のブロックは、ファイル名、更新日などが格納される８０バイトのブロックである。ＥＯＶのブロックは、ボリュームの最後を示すマークブロックである。
【００２６】
そして、物理ボリューム２２の先頭には、ＰＶ−ＨＤＲが格納される。ＰＶ−ＨＤＲには、標準的識別子、物理ボリューム名及び物理ボリューム２２が属するグループのグループ名が格納される。さらに、ＰＶ−ＨＤＲには、仮想テープライブラリ装置の識別子及び物理ボリューム２２のステータスが格納される。物理ボリューム２２が属するグループについては後で詳細に説明する。ＰＶ−ＨＤＲに続いて、矢印Ｐ１で示すように、最初に格納される論理ボリューム３１ＡのＬＶ−ＨＤＲが格納される。続いて、矢印Ｐ２で示すように、論理ボリューム３１ＡのＶＯＬ１、ＨＤＲ１、ＨＤＲ２、ＤＡＴＡ＃Ａ、ＥＯＦ１、ＥＯＦ２及びＥＯＶが、１つの論理ボリュームのデータであるＬＶ＃Ａとして格納される。続いて、矢印Ｐ３で示すように、２番目に格納される論理ボリューム３１ＢのＬＶ−ＨＤＲが格納される。続いて、矢印Ｐ４で示すように、論理ボリューム３１ＢのＶＯＬ１、ＨＤＲ１、ＨＤＲ２、ＤＡＴＡ＃Ｂ、ＥＯＦ１、ＥＯＦ２及びＥＯＶが１つの論理ボリュームのデータであるＬＶ＃Ｂとして格納される。最後に、ＰＶ−ＤＩＲ（Directory）が物理ボリューム２２に格納される。ＰＶ−ＤＩＲには、論理ボリュームのリストや末尾を示す情報などが格納される。このように、論理ボリューム３１は、書き込まれた順番に順次後ろにつなげるように物理ボリューム２２に格納されていく。
【００２７】
図１に戻って説明を続ける。階層制御サーバ１０は、ホスト２からデータの書き込みの指示を受ける。データの書き込みの指示を受けると、階層制御サーバ１０は、指定されたデータ群を１つの論理ボリューム３１としてディスクアレイ装置３０に書き込む。そして、階層制御サーバ１０は、応答をホスト２に返す。その後、階層制御サーバ１０は、マイグレーションを行う。具体的には、階層制御サーバ１０は、ディスクアレイ装置３０に格納した論理ボリューム３１を読み出し、読み出したデータの物理ボリューム２２への書き込みをテープライブラリ装置２０に指示し、物理ボリューム２２にデータを格納させる。
【００２８】
また、データの読み出しの指示を受けると、階層制御サーバ１０は、読み出すデータを格納した論理ボリューム３１がディスクアレイ装置３０にあるか否かを判定する。読み出すデータを格納した論理ボリューム３１がディスクアレイ装置３０にある場合、階層制御サーバ１０は、その論理ボリューム３１をディスクアレイ装置３０から読み出す。そして、階層制御サーバ１０は、読み出したデータをホスト２に返す。
【００２９】
読み出すデータを格納した論理ボリューム３１がディスクアレイ装置３０にない場合、階層制御サーバ１０は、その論理ボリューム３１の読み出しをテープライブラリ装置２０に指示する。その後、階層制御サーバ１０は、物理ボリューム２２から読み出させた論理ボリューム３１をテープライブラリ装置２０から取得する。その後、階層制御サーバ１０は、取得した論理ボリューム３１に格納されているデータをホスト２に返し、さらに取得した論理ボリューム３１をディスクアレイ装置３０に格納する。
【００３０】
また、階層制御サーバ１０は、ホスト２からのデータの削除指示を受けて、ディスクアレイ装置３０や物理ボリューム２２に格納された論理ボリューム３１の削除を行う。
【００３１】
さらに、階層制御サーバ１０は、物理ボリューム２２の無効な論理ボリューム３１が格納された無効領域が増えた場合、有効な論理ボリューム３１が格納された有効領域を他の物理ボリューム２２に移してまとめ、使用領域を増やすリオーガニゼーションを行う。ここで、論理ボリューム３１が有効であるとは、その論理ボリューム３１に対する更新された論理ボリューム３１が格納されていない又はその論理ボリューム３１が削除されていない場合である。
【００３２】
また、階層制御サーバ１０は、リオーガニゼーションとして、無効領域と未使用領域の合計が１つの物理ボリューム２２の容量以上になった場合にリオーガニゼーションを行う。
【００３３】
さらに、階層制御サーバ１０は、複数のリオーガニゼーションの実行が重なって発生した場合、リオーガニゼーションを行うに当たり確保する物理ボリューム２２の確保量でリオーガニゼーションをソートする。次に、物理ボリューム２２の確保量が同数であるリオーガニゼーションに対しては、階層制御サーバ１０は、リオーガニゼーションを実行した場合に生成される未使用の物理ボリューム２２の量でリオーガニゼーションをソートする。以下では、リオーガニゼーションを実行した場合に生成される未使用の物理ボリューム２２の量を「未使用の物理ボリューム２２の増分量」という。次に、未使用の物理ボリューム２２の増分量が同数であるリオーガニゼーションに対しては、階層制御サーバ１０は、リオーガニゼーションの発生時刻の順にリオーガニゼーションをソートする。
【００３４】
その後、階層制御サーバ１０は、ソート順にリオーガニゼーションを実行する。また、後から追加されたリオーガニゼーションについては、階層制御サーバ１０は、ソートされたリオーガニゼーションの中のどこに挿入するかを上述した条件にしたがい決定し、決定した順番に追加されたリオーガニゼーションを挿入する。
【００３５】
さらに、図３を参照して、階層制御サーバ１０の詳細について説明する。図３は、階層制御サーバのブロック図である。図３に示すように、階層制御サーバ１０は、グループ管理部１０１、情報格納部１０２、リードライト部１０３及びデータ移行処理部１０４を有する。
【００３６】
情報格納部１０２は、ＰＶＧ管理テーブル１２１の情報、ＰＶ管理テーブル１２２の情報及び優先度テーブル１２３の情報を格納する記憶領域を含む。ＰＶＧ管理テーブル１２１、ＰＶ管理テーブル１２２及び優先度テーブル１２３については後で詳細に説明する。
【００３７】
リードライト部１０３は、データの書込命令又は読出命令をホスト２から受信する。書込命令の場合、リードライト部１０３は、ディスクアレイ装置３０に論理ボリューム３１としてデータを格納する。ここで、リードライト部１０３は、ホスト２から論理ボリュームグループの作成が指示された場合、ディスクアレイ装置３０に論理ボリュームグループを生成する。そして、リードライト部１０３は、書き込み命令においてデータの書き込み先として論理ボリュームの指定がある場合、ディスクアレイ装置３０において指定された論理ボリュームグループに属するように論理ボリューム３１を格納する。その後、リードライト部１０３は、論理ボリューム３１の格納をデータ移行処理部１０４に通知する。
【００３８】
読出命令の場合、リードライト部１０３は、ディスクアレイ装置３０に指定されたデータがあるか否かを判定する。指定されたデータが有る場合、リードライト部１０３は、指定されたデータをディスクアレイ装置３０から読み出して取得する。これに対して、指定されたデータが無い場合、リードライト部１０３は、後述するデータ移行処理部１０４のデータ管理部１４１に指定されたデータの読み出しを依頼する。その後、リードライト部１０３は、指定されたデータをデータ管理部１４１から取得する。そして、リードライト部１０３は、取得したデータをホスト２へ送信する。
【００３９】
さらに、リードライト部１０３は、論理ボリューム３１の削除命令をホスト２から受ける。この場合、リードライト部１０３は、指定された論理ボリューム３１をディスクアレイ装置３０から削除する。さらに、リードライト部１０３は、論理ボリューム３１の削除をデータ移行処理部１０４に指示する。
【００４０】
グループ管理部１０１は、グループ生成部１１１及びボリューム管理部１１２を有する。
【００４１】
グループ生成部１１１は、テープライブラリ装置２０が有する使用済みの物理ボリューム２２をまとめてグループを作成し、未使用の物理ボリューム２２をまとめてグループを作成する。ここで、使用済みの物理ボリューム２２とは、有効な論理ボリューム３１が既に格納されている物理ボリュームである。また、未使用の物理ボリューム２２とは、有効な論理ボリューム３１が１つも格納されていない物理ボリュームである。以下では、使用済みの物理ボリューム２２のグループを、「ＳｔａｃｋｅｄＰＶＧ」という。このＳｔａｃｋｅｄＰＶＧが、「第１グループ」の一例にあたる。また、未使用の物理ボリューム２２のグループを、「ＳｃｒａｔｃｈＰＶＧ」という。このＳｃｒａｔｃｈＰＶＧが、「第２グループ」の一例にあたる。
【００４２】
グループ生成部１１１は、ＳｔａｃｋｅｄＰＶＧを１つ又は複数作成する。また、グループ生成部１１１は、ＳｃｒａｔｃｈＰＶＧを１つ又は複数作成する。
【００４３】
図４は、ＳｔａｃｋｅｄＰＶＧの一例の図である。例えば、ディスクアレイ装置３０は、論理ボリュームグループ（ＬＶＧ：Logical  Volume  Group）３０１〜３０３を含む論理ボリュームグループを格納する。各論理ボリュームグループ３０１〜３０３は、複数の論理ボリューム３１を含む。
【００４４】
グループ生成部１１１は、ＳｔａｃｋｅｄＰＶＧ２１１〜２１３を含むＳｔａｃｋｅｄＰＶＧを生成する。以下では、ＳｔａｃｋｅｄＰＶＧ２１１〜２１３のそれぞれを区別しない場合、「ＳｔａｃｋｅｄＰＶＧ２１０」という。１つのＳｔａｃｋｅｄＰＶＧ２１０には、１つ以上の物理ボリューム２２が属している。そして、グループ生成部１１１は、論理ボリュームグループ３０１〜３０３に１つ以上のＳｔａｃｋｅｄＰＶＧ２１０に関連付ける。図４では、一点鎖線により論理ボリュームグループ３０１〜３０３とＳｔａｃｋｅｄＰＶＧ２１１〜２１３の関連付けを表している。グループ生成部１１１は、論理ボリュームグループ３０１にＳｔａｃｋｅｄＰＶＧ２１１を関連付ける。また、グループ生成部１１１は、論理ボリュームグループ３０２にＳｔａｃｋｅｄＰＶＧ２１２及び２１３を関連付ける。また、グループ生成部１１１は、論理ボリュームグループ３０３にＳｔａｃｋｅｄＰＶＧ２１３を関連付ける。このように関連付けた論理ボリュームグループとＳｔａｃｋｅｄＰＶＧとの間で、論理ボリューム３１を物理ボリューム２２へ格納する処理や物理ボリューム２２に格納された論理ボリューム３１を読み出してディスクアレイ装置３０内に格納する処理が行われる。
【００４５】
さらに、グループ生成部１１１は、生成したＳｃｒａｔｃｈＰＶＧに１つ又は複数のＳｔａｃｋｅｄＰＶＧ２１０を関連付ける。例えば、図５に示すように、グループ生成部１１１は、ＳｃｒａｔｃｈＰＶＧ２２１及び２２２をＳｔａｃｋｅｄＰＶＧ２１１〜２１３を関連付ける。図５は、ＳｔａｃｋｅｄＰＶＧとＳｃｒａｔｃｈＰＶＧとの関連付けを説明するための図である。以下では、ＳｃｒａｔｃｈＰＶＧ２２１〜２２２のそれぞれを区別しない場合、「ＳｃｒａｔｃｈＰＶＧ２２０」という。
【００４６】
各ＳｔａｃｋｅｄＰＶＧ２１０は、関連付けられたＳｃｒａｔｃｈＰＶＧ２２０に属する物理ボリューム２２を利用することができる。すなわち、ＳｔａｃｋｅｄＰＶＧ２１０からの物理ボリューム２２の要求に対して、関連付けられたＳｃｒａｔｃｈＰＶＧ２２０が、物理ボリューム２２を提供することができる。このように１つのＳｃｒａｔｃｈＰＶＧ２２０に対し、複数のＳｔａｃｋｅｄＰＶＧ２１０を関連付けることで、物理ボリューム２２を効率よく運用することができる。
【００４７】
図３に戻って説明を続ける。グループ生成部１１１は、ＳｔａｃｋｅｄＰＶＧ２１０の情報、ＳｃｒａｔｃｈＰＶＧ２２０の情報及びその関連付けの情報をＰＶＧ管理テーブル１２１を用いて管理する。グループ生成部１１１は、ＰＶＧ管理テーブル１２１に、各物理ボリュームグループ（ＰＶＧ）の識別子に対応させて、関連付けられたＳｃｒａｔｃｈＰＶＧ２２０の情報を登録する。さらに、グループ生成部１１１は、各物理ボリュームグループに格納されているテープライブラリ装置２０の情報及びその物理ボリュームグループに属する物理ボリューム２２の数をＰＶＧ管理テーブル１２１に登録する。さらに、グループ生成部１１１は、ＰＶＧ管理テーブル１２１に、各物理ボリュームグループにおいてリオーガニゼーションの実行を開始する条件を登録する。そして、グループ生成部１１１は、生成したＰＶＧ管理テーブル１２１の情報を情報格納部１０２に格納する。
【００４８】
ボリューム管理部１１２は、ＰＶ管理テーブル１２２を用いて、各物理ボリューム２２に格納されている論理ボリューム３１を管理する。
【００４９】
ボリューム管理部１１２は、各物理ボリューム２２の格納先のテープライブラリ装置２０、所属物理ボリュームグループの情報、使用状態、格納している論理ボリュームの数をＰＶ管理テーブル１２２に登録する。さらに、ボリューム管理部１１２は、有効な論理ボリュームの数、有効な論理ボリュームの割合である有効ＬＶ率をＰＶ管理テーブル１２２に登録する。使用状態は、物理ボリューム２２が未使用であるか、使用中であるか、書き込み中であるか、読み出し中であるか、媒体異常であるか、アクセス不可であるかなどを表す。アクセス不可や媒体異常の場合には、その物理ボリューム２２は使用できない。また、書き込み中や読み出し中の物理ボリューム２２は、使用中の１形態で表す。
【００５０】
ボリューム管理部１１２は、物理ボリューム２２への書き込みをデータ移行処理部１０４が開始すると、ＰＶ管理テーブル１２２における書き込み先の物理ボリューム２２の状態を書き込み中に変更する。データ移行処理部１０４による書き込み完了後、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における書き込み先の物理ボリューム２２の状態を使用中に変更する。
【００５１】
また、ボリューム管理部１１２は、データ移行処理部１０４が物理ボリューム２２から読み出しを開始すると、ＰＶ管理テーブル１２２における読み出し元の物理ボリューム２２の状態を読み出し中に変更する。データ移行処理部１０４による読出し終了後、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における読み出し元の物理ボリューム２２の状態を使用中に変更する。
【００５２】
また、ボリューム管理部１１２は、データ移行処理部１０４により論理ボリューム３１の削除が行われた場合、削除された論理ボリューム２２の情報及びその論理ボリューム２２が削除された物理ボリューム２２の情報をデータ管理部１４１から取得する。そして、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における論理ボリューム３１の削除が行われた物理ボリューム２２に格納された論理ボリューム３１の数、有効な論理ボリューム３１の数及び有効な論理ボリューム３１の割合を更新する。
【００５３】
次に、ボリューム管理部１１２は、削除により有効な論理ボリューム３１を有さなくなった物理ボリューム２２が有る場合、ＰＶ管理テーブル１２２からその物理ボリューム２２を特定する。そして、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における特定した物理ボリューム２２の所属先をＳｔａｃｋｅｄＰＶＧ２１０からＳｃｒａｔｃｈＰＶＧ２２０へ変更する。これにより、ボリューム管理部１１２は、特定した物理ボリューム２２をＳｔａｃｋｅｄＰＶＧ２１０から特定したＳｃｒａｔｃｈＰＶＧ２２０へ移動する。
【００５４】
また、ボリューム管理部１１２は、マイグレーションを実行するにあたり物理ボリューム２２を確保する場合、確保する個数とともに物理ボリューム２２の確保の指示をデータ管理部１４１から受ける。そして、ボリューム管理部１１２は、ＰＶ管理テーブル１２２からＳｃｒａｔｃｈＰＶＧ２２０に属する指定された個数の物理ボリューム２２を選択する。次に、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における選択した物理ボリューム２２の所属先をＳｃｒａｔｃｈＰＶＧ２２０からＳｔａｃｋｅｄＰＶＧ２１０へ変更する。これにより、ボリューム管理部１１２は、選択した物理ボリューム２２をＳｃｒａｔｃｈＰＶＧ２２０からＳｔａｃｋｅｄＰＶＧ２１０へ移動する。その後、ボリューム管理部１１２は、ＳｔａｃｋｅｄＰＶＧ２１０への物理ボリューム２２の移動完了をデータ管理部１４１へ通知する。
【００５５】
また、ボリューム管理部１１２は、リオーガニゼーションを実行する場合、確保する個数とともに物理ボリューム２２の確保の指示をリオーガニゼーション処理部１４２から受ける。そして、ボリューム管理部１１２は、ＰＶ管理テーブル１２２からＳｃｒａｔｃｈＰＶＧ２２０に属する指定された個数の物理ボリューム２２を選択する。次に、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における選択した物理ボリューム２２の所属先をＳｃｒａｔｃｈＰＶＧ２２０からＳｔａｃｋｅｄＰＶＧ２１０へ変更する。これにより、ボリューム管理部１１２は、選択した物理ボリューム２２をＳｃｒａｔｃｈＰＶＧ２２０からＳｔａｃｋｅｄＰＶＧ２１０へ移動する。その後、ボリューム管理部１１２は、ＳｔａｃｋｅｄＰＶＧ２１０への物理ボリューム２２の移動完了をリオーガニゼーション処理部１４２へ通知する。
【００５６】
また、ボリューム管理部１１２は、データ移行処理部１０４によるマイグレーション及びリオーガニゼーションが完了した場合、処理対象の論理ボリューム３１の情報をデータ移行処理部１０４から取得する。さらに、ボリューム管理部１１２は、処理対象の論理ボリューム３１の移動元及び移動先の物理ボリューム２２の情報をデータ移行処理部１０４から受信する。
【００５７】
そして、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における移動先の物理ボリューム２２に格納された論理ボリューム３１の数、有効な論理ボリューム３１の数及び有効な論理ボリューム３１の割合を更新する。さらに、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における書き込み先の物理ボリューム２２の状態を使用中に変更する。
【００５８】
さらに、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における移動元の物理ボリューム２２に格納された論理ボリューム３１の数、有効な論理ボリューム３１の数及び有効な論理ボリューム３１の割合を更新する。
【００５９】
この時、移動元の物理ボリューム２２に有効な論理ボリューム３１が格納されている場合、ボリューム管理部１１２は、移動元の物理ボリューム２２の状態を使用中にする。
【００６０】
これに対して、有効な論理ボリューム３１が格納されていない場合、ボリューム管理部１１２は、移動元の物理ボリューム２２の状態を未使用にする。次に、ボリューム管理部１１２は、移動元の物理ボリューム２２が属していたＳｔａｃｋｅｄＰＶＧ２１０に対応するＳｃｒａｔｃｈＰＶＧ２２０をＰＶＧ管理テーブル１２１から特定する。そして、ボリューム管理部１１２は、ＰＶ管理テーブル１２２における移動元の物理ボリューム２２の所属を特定したＳｃｒａｔｃｈＰＶＧ２２０に変更する。これにより、ボリューム管理部１１２は、移動元の物理ボリューム２２をＳｔａｃｋｅｄＰＶＧ２１０から特定したＳｃｒａｔｃｈＰＶＧ２２０へ移動する。このボリューム管理部１１２が、「移動部」の一例にあたる。
【００６１】
データ移行処理部１０４は、データ管理部１４１及びリオーガニゼーション処理部１４２を有する。データ管理部１４１は、例えば、マイグレーション、論理ボリューム３１の削除及びディスクアレイ装置３０への論理ボリューム３１の書き込みを行う。また、リオーガニゼーション処理部１４２は、リオーガニゼーションを実行する。
【００６２】
データ管理部１４１は、論理ボリューム３１の格納の通知をリードライト部１０３から受けると、ディスクアレイ装置３０に格納された論理ボリューム３１を物理ボリューム２２への格納を実行する。この時、データ管理部１４１は、マイグレーション先のＳｔａｃｋｅｄＰＶＧ２１０に属する既存の物理ボリューム２２に論理ボリューム３１が格納できるか否を判定する。既存の物理ボリューム２２に格納できる場合、データ管理部１４１は、マイグレーションを実行する。具体的には、データ移行処理部１０４は、マイグレーションの対象である論理ボリューム３１をディスクアレイ装置３０から取得し、マイグレーション先のＳｔａｃｋｅｄＰＶＧ２１０の物理ボリューム２２へ格納する。
【００６３】
これに対して、既存の物理ボリューム２２に格納できない場合、データ管理部１４１は、マイグレーションを行うために確保するディスクの数を算出する。そして、データ管理部１４１は、算出したマイグレーションを行うために確保するディスクの数をボリューム管理部１１２に通知する。その後、データ管理部１４１は、物理ボリューム２２の確保完了通知をボリューム管理部１１２から受ける。そして、データ管理部１４１は、マイグレーションを実行する。
【００６４】
マイグレーション実行後、データ管理部１４１は、マイグレーションにより移動した論理ボリューム３１の情報、移動元の物理ボリューム２２の情報及び移動先の物理ボリューム２２の情報をボリューム管理部１１２に通知する。さらに、データ管理部１４１は、マイグレーションの実行の通知とともにマイグレーションを行った物理ボリューム２２が属するＳｔａｃｋｅｄＰＶＧ２１０の情報をリオーガニゼーション処理部１４２に通知する。
【００６５】
また、データ管理部１４１は、論理ボリューム３１の削除の指示をリードライト部１０３から受けて、物理ボリューム２２から指定された論理ボリューム３１を削除する。そして、データ管理部１４１は、論理ボリューム３１の削除後、削除を行った論理ボリューム３１の情報及びその論理ボリュームが属する物理ボリューム２２の情報をボリューム管理部１１２へ通知する。さらに、データ管理部１４１は、削除の通知とともに論理ボリューム３１の削除を行った物理ボリューム２２が属するＳｔａｃｋｅｄＰＶＧ２１０の情報をリオーガニゼーション処理部１４２へ通知する。このデータ管理部１４１が、「データ格納部」の一例にあたる。
【００６６】
リオーガニゼーション処理部１４２は、マイグレーション実行の通知又は論理ボリューム３１の削除の通知を、ＳｔａｃｋｅｄＰＶＧ２１０の情報とともにデータ管理部１４１から受ける。そして、リオーガニゼーション処理部１４２は、通知されたＳｔａｃｋｅｄＰＶＧ２１０にあたる物理ボリュームグループにおけるリオーガニゼーション実行の条件をＰＶＧ管理テーブル１２１から取得する。リオーガニゼーション実行の条件とは、記憶容量に関する条件であり、例えば、ＳｏｆｔＭｉｎｉｍｕｍの条件、ＨａｒｄＭｉｎｉｍｕｍの条件及びＡｂｓｏｌｕｔｅＭｉｎｉｍｕｍの条件がある。ＳｏｆｔＭｉｎｉｍｕｍとは、使用可能な物理ボリューム２２が所定の閾値未満となり、且つ、有効な論理ボリューム３１の割合が有効な論理ボリュームの基準率未満となった場合である。また、ＨａｒｄＭｉｎｉｍｕｍとは、使用可能な物理ボリューム２２がＳｏｆｔＭｉｎｉｍｕｍの閾値よりも小さい所定の閾値未満となった場合である。ＡｂｓｏｌｕｔｅＭｉｎｉｍｕｍとは、使用可能な物理ボリューム２２がＨａｒｄＭｉｎｉｍｕｍの閾値よりも小さい所定の閾値未満となった場合である。例えば、ＡｂｓｏｌｕｔｅＭｉｎｉｍｕｍの閾値は、その閾値以下であればマイグレーションを実行するための物理ボリューム２２が無いと判断できる値に設定される。
【００６７】
そして、リオーガニゼーション処理部１４２は、通知されたＳｔａｃｋｅｄＰＶＧ２１０に属する物理ボリューム２２の状態をＰＶ管理テーブル１２２から取得する。その後、リオーガニゼーション処理部１４２は、取得した情報を用いてＳｔａｃｋｅｄＰＶＧ２１０がリオーガニゼーション実行の条件を満たしているか否かを判定する。このリオーガニゼーション実行の条件が、「所定の条件」の一例にあたる。
【００６８】
ＳｔａｃｋｅｄＰＶＧ２１０がリオーガニゼーション実行の条件を満たしている場合、リオーガニゼーション処理部１４２は、そのＳｔａｃｋｅｄＰＶＧ２１０に対するリオーガニゼーションの実行を確定する。以下では、このリオーガニゼーションの実行が確定されたＳｔａｃｋｅｄＰＶＧを、「対象ＳｔａｃｋｅｄＰＶＧ」という。また、対象ＳｔａｃｋｅｄＰＶＧに対するリオーガニゼーションを、「対象リオーガニゼーション」という。そして、このリオーガニゼーション処理部１４２による対象ＳｔａｃｋｅｄＰＶＧの選択が、「第１グループをいくつか選択」することの一例にあたる。
【００６９】
ここで、リオーガニゼーション処理部１４２は、図６に示すような既に実行が確定しているリオーガニゼーションの優先度を示す優先度テーブル１２３を情報格納部１０２から取得する。図６は、優先度テーブルの一例の図である。
【００７０】
ここで、ＳｔａｃｋｅｄＰＶＧ識別子は、リオーガニゼーションの対象となるＳｔａｃｋｅｄＰＶＧ２１０の識別情報である。優先度は、リオーガニゼーションを行う優先度である。ＰＶ確保量は、リオーガニゼーションを行う際に、ＳｃｒａｔｃｈＰＶＧ２２０からＳｔａｃｋｅｄＰＶＧ２１０へ確保する物理ボリューム２２の数である。以下では、特定のリオーガニゼーションを行う際のＰＶ確保量を、「特定のリオーガニゼーションのＰＶ確保量」という。ＰＶ戻し量は、リオーガニゼーションを行った結果、ＳｔａｃｋｅｄＰＶＧ２１０からＳｃｒａｔｃｈＰＶＧ２２０へ戻すことができる物理ボリューム２２の数である。以下では、特定のリオーガニゼーションを行った場合に発生するＰＶ戻し量を、「特定のリオーガニゼーションの戻し量」という。ＰＶ増分量は、リオーガニゼーションを行った場合にＳｃｒａｔｃｈＰＶＧ２２０における増加した物理ボリュームの数であり、ＰＶ戻し量とＰＶ確保量との差分にあたる。以下では、特定のリオーガニゼーションを行った場合のＰＶ増分量を「特定のリオーガニゼーションの増分量」という。発生時刻は、リオーガニゼーション処理部１４２がリオーガニゼーションの実行を確定した時刻である。ＳｃｒａｔｃｈＰＶＧ２２０内の残ＰＶ数は、リオーガニゼーションを実行した後にＳｃｒａｔｃｈＰＶＧ２２０に存在する物理ボリューム２２の数である。
【００７１】
ここで、既に実行が確定しているリオーガニゼーションが未だない場合又は実行を待機中のリオーガニゼーションが無い場合、優先度テーブル１２３は、リオーガニゼーションが登録されていない状態となる。また、現在実行されているリオーガニゼーション及び既に実行されたリオーガニゼーションは、優先度テーブル１２３から削除される。
【００７２】
対象リオーガニゼーションの実行を確定した場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションのＰＶ確保量、ＰＶ戻し量及びＰＶ増分量を算出する。さらに、リオーガニゼーション処理部１４２は、優先度テーブル１２３を参照し、実行の待機中のリオーガニゼーションがあるか否かを判定する。
【００７３】
実行の待機中のリオーガニゼーションが無く、且つ実行中のリオーガニゼーションが無ければ、リオーガニゼーション処理部１４２は、対象リオーガニゼーションの実行を開始する。
【００７４】
また、実行の待機中のリオーガニゼーションが無いが、実行中のリオーガニゼーションがある場合、リオーガニゼーション処理部１４２は、対象ＳｔａｃｋｅｄＰＶＧに対するリオーガニゼーションを優先度テーブル１２３に登録する。この場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションを最も優先度の高いリオーガニゼーションとして登録する。
【００７５】
これに対して、実行の待機中のリオーガニゼーションがある場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションの優先度を以下の手順にしたがって求める。そして、リオーガニゼーション処理部１４２は、決定した優先度で対象リオーガニゼーションを優先度テーブル１２３に登録し、それ以下の優先度であったリオーガニゼーションの優先度を１つずつ下げる。以下に、リオーガニゼーション処理部１４２による優先度の決定手順について説明する。リオーガニゼーション処理部１４２は、優先度の高い順に比較対象とするリオーガニゼーションを選択しつつ、対象リオーガニゼーションの優先度が決定するまで以下の処理を繰り返す。以下では、比較対象として選択されたリオーガニゼーションを「選択リオーガニゼーション」という。
【００７６】
リオーガニゼーション処理部１４２は、対象リオーガニゼーションのＰＶ確保量が選択リオーガニゼーションのＰＶ確保量より大きいか否かを判定する。対象リオーガニゼーションのＰＶ確保量が選択リオーガニゼーションのＰＶ確保量より大きい場合、リオーガニゼーション処理部１４２は、次の優先度のリオーガニゼーションとの比較に移る。
【００７７】
一方、対象リオーガニゼーションのＰＶ確保量が選択リオーガニゼーションのＰＶ確保量以下の場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションのＰＶ確保量が選択リオーガニゼーションのＰＶ確保量より小さいか否かを判定する。対象リオーガニゼーションのＰＶ確保量が選択リオーガニゼーションのＰＶ確保量より小さい場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションの優先度を、選択リオーガニゼーションの優先度に設定する。さらに、リオーガニゼーション処理部１４２は、選択リオーガニゼーションの優先度以下の優先度を有するリオーガニゼーションの優先度を一つずつ下げる。
【００７８】
これに対して、それぞれのＰＶ確保量が一致する場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションのＰＶ戻し量が選択リオーガニゼーションのＰＶ戻し量より大きいか否かを判定する。対象リオーガニゼーションのＰＶ戻し量が選択リオーガニゼーションのＰＶ戻し量より大きい場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションの優先度を、選択リオーガニゼーションの優先度に設定する。さらに、リオーガニゼーション処理部１４２は、選択リオーガニゼーション以下の優先度を有するリオーガニゼーションの優先度を一つずつ下げる。
【００７９】
一方、対象リオーガニゼーションのＰＶ戻し量が選択リオーガニゼーションのＰＶ戻し量より小さい場合、リオーガニゼーション処理部１４２は、次の優先度のリオーガニゼーションとの比較に移る。
【００８０】
これに対して、それぞれのＰＶ戻し量が一致する場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションの発生時刻が選択リオーガニゼーションの発生時刻以前か否かを判定する。ここで、発生時刻とは、リオーガニゼーション処理部１４２により、リオーガニゼーションの対象となるＳｔａｃｋｅｄＰＶＧ２１０がリオーガニゼーションの条件を満たしたと判定されたタイミングにあたる。対象リオーガニゼーションの発生時刻が選択リオーガニゼーションの発生時刻以前の場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションの優先度を、選択リオーガニゼーションの優先度に設定する。さらに、リオーガニゼーション処理部１４２は、選択リオーガニゼーション以下の優先度を有するリオーガニゼーションの優先度を一つずつ下げる。
【００８１】
これに対して、対象リオーガニゼーションの発生時刻が選択リオーガニゼーションの発生時刻より遅い場合、リオーガニゼーション処理部１４２は、次の優先度のリオーガニゼーションとの比較に移る。
【００８２】
ただし、リオーガニゼーション処理部１４２は、優先度テーブル１２３に登録済みのリオーガニゼーション全てとの比較を行ったうえで、対象リオーガニゼーションの優先度が決定しない場合、対象リオーガニゼーションの優先度を最低の優先度として決定する。そして、リオーガニゼーション処理部１４２は、対象リオーガニゼーションを最低の優先度として優先度テーブル１２３に登録する。
【００８３】
リオーガニゼーション処理部１４２は、実行しているリオーガニゼーションが完了すると、優先度テーブル１２３の中で最も優先度の高いリオーガニゼーションを実行する。このリオーガニゼーション処理部１４２が、「データ移行部」の一例にあたる。
【００８４】
ここで、リオーガニゼーション処理部１４２は、ＰＶ確保量が少ない順にリオーガニゼーションを実行する。そして、ＳｃｒａｔｃｈＰＶＧ２２０内に存在する物理ボリューム２２の数は、リオーガニゼーションを行うにしたがい徐々に増える。そのため、ＰＶ確保量よりもＳｃｒａｔｃｈＰＶＧ２２０内に存在する物理ボリューム２２の数が多い可能性が高くなり、リオーガニゼーションの実行されない状態を回避できる可能性が高くなる。すなわち、リオーガニゼーション処理部１４２がＰＶ確保量の少ない順にリオーガニゼーションを実行することで、リオーガニゼーションの継続性が向上し、それにしたがい、マイグレーションの継続性も向上する。
【００８５】
次に、図７を参照して、ＰＶ確保量、ＰＶ戻し量及びＰＶ増分量の算出の流れについて説明する。図７は、ＰＶ確保量、ＰＶ戻し量及びＰＶ増分量の算出のフローチャートである。以下では、対象ＳｔａｃｋｅｄＰＶＧを対象とする場合を例に説明する。
【００８６】
リオーガニゼーション処理部１４２は、対象ＳｔａｃｋｅｄＰＶＧに属する物理ボリューム２２をＰＶ管理テーブル１２２から特定する。次に、リオーガニゼーション処理部１４２は、特定した各物理ボリューム２２における有効な論理ボリューム３１の領域の大きさを求める。
【００８７】
そして、リオーガニゼーション処理部１４２は、対象ＳｔａｃｋｅｄＰＶＧに属する全ての物理ボリューム２２の有効な論理ボリューム３１の領域の合計である総有効領域（Ｃ１）を算出する。さらに、リオーガニゼーション処理部１４２は、対象ＳｔａｃｋｅｄＰＶＧに属する全ての物理ボリューム２２の無効な論理ボリューム３１の領域及び未使用領域の合計である総未使用領域（Ｃ２）を算出する（ステップＳ１０１）。ここで、総有効領域を「Ｃ１」と表し、総未使用領域を「Ｃ２」と表す。
【００８８】
次に、リオーガニゼーション処理部１４２は、総有効領域（Ｃ１）を１つの物理ボリューム２２あたりの容量（Ｐｕ）で除算し、対象リオーガニゼーションのＰＶ確保量（Ｐｔ）を算出する（ステップＳ１０２）。ここで、１つの物理ボリューム２２当たりの容量を「Ｐｕ」と表す。さらに、ＰＶ確保量を「Ｐｔ」と表す。
【００８９】
次に、リオーガニゼーション処理部１４２は、総未使用領域（Ｃ２）を１つの物理ボリューム２２あたりの容量（Ｐｕ）で除算し、対象リオーガニゼーションのＰＶ増分量（Ｐａ）を算出する（ステップＳ１０３）。ここで、ＰＶ増分量を「Ｐａ」とする。
【００９０】
次に、リオーガニゼーション処理部１４２は、ＰＶ確保量（Ｐｔ）にＰＶ増分量（Ｐａ）を加算して、対象リオーガニゼーションのＰＶ戻し量（Ｐｂ）を算出する（ステップＳ１０４）。ここで、ＰＶ戻し量を「Ｐｂ」と表す。
【００９１】
次に、図８を参照して、優先度決定の処理の流れについて説明する。図８は、優先度決定の処理のフローチャートである。ここでは、複数のリオーガニゼーションが優先度テーブル１２３に登録されている状態で、対象リオーガニゼーションの優先度を決定する場合について説明する。以下では、対象リオーガニゼーションの発生時刻を「Ｔ」とする。
【００９２】
リオーガニゼーション処理部１４２は、優先度テーブル１２３に登録されたリオーガニゼーションの総数を取得する（ステップＳ２０１）。ここでは、優先度テーブル１２３に登録されたリオーガニゼーションの総数を「Ｎ」とする。
【００９３】
次に、リオーガニゼーション処理部１４２は、優先度を表す変数ｉを初期値である１に設定する（ステップＳ２０２）。以下では、優先度ｉのリオーガニゼーションのＰＶ確保量をＰｔ（ｉ）とし、ＰＶ戻し量をＰｂ（ｉ）とし、発生時刻を「Ｔ（ｉ）」とする。
【００９４】
そして、リオーガニゼーション処理部１４２は、対象リオーガニゼーションのＰＶ確保量（Ｐｔ）が優先度ｉのリオーガニゼーションのＰＶ確保量（Ｐｔ（ｉ））より大きいか否かを判定する（ステップＳ２０３）。ＰｔがＰｔ（ｉ）より大きい場合（ステップＳ２０３：肯定）、リオーガニゼーション処理部１４２は、ステップＳ２０９へ進む。
【００９５】
これに対して、ＰｔがＰｔ（ｉ）以下の場合（ステップＳ２０３：否定）について説明する。この場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションのＰＶ確保量（Ｐｔ）が優先度ｉのリオーガニゼーションのＰＶ確保量（Ｐｔ（ｉ））より小さいか否かを判定する（ステップＳ２０４）。
【００９６】
ＰｔがＰｔ（ｉ）より小さい場合（ステップＳ２０４：肯定）、リオーガニゼーション処理部１４２は、ステップＳ２０８へすすむ。
【００９７】
これに対して、ＰｔとＰｔ（ｉ）とが一致する場合（ステップＳ２０４：否定）について説明する。この場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションのＰＶ戻し量（Ｐｂ）が優先度ｉのリオーガニゼーションのＰＶ戻し量（Ｐｂ（ｉ））より大きいか否かを判定する（ステップＳ２０５）。
【００９８】
ＰｂがＰｂ（ｉ）より大きい場合（ステップＳ２０５：肯定）、リオーガニゼーション処理部１４２は、ステップＳ２０８へ進む。
【００９９】
これに対して、ＰｂがＰｂ（ｉ）以下の場合（ステップＳ２０５：否定）について説明する。この場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションのＰＶ戻し量（Ｐｂ）が優先度ｉのリオーガニゼーションのＰＶ戻し量（Ｐｂ（ｉ））より大きいか否かを判定する（ステップＳ２０６）。ＰｂがＰｂ（ｉ）より大きい場合（ステップＳ２０６：肯定）、リオーガニゼーション処理部１４２は、ステップＳ２０９へ進む。
【０１００】
一方、ＰｂとＰｂ（ｉ）が一致する場合（ステップＳ２０６：否定）、リオーガニゼーション処理部１４２は、対象リオーガニゼーションの発生時刻（Ｔ）が優先度ｉのリオーガニゼーションの発生時刻（Ｔ（ｉ））以前か否かを判定する（ステップＳ２０７）。ＴがＴ（ｉ）以前の場合（ステップＳ２０７：肯定）、リオーガニゼーション処理部１４２は、ステップＳ２０８へ進む。
【０１０１】
これに対して、ＴがＴ（ｉ）より遅い場合（ステップＳ２０７：否定）、リオーガニゼーション処理部１４２は、ステップＳ２０９へ進む。
【０１０２】
Ｐｔ＜Ｐｔ（ｉ）、Ｐｂ＞Ｐｂ（ｉ）及びＴ≦Ｔ（ｉ）の場合、リオーガニゼーション処理部１４２は、対象リオーガニゼーションの優先度を優先度ｉとして、優先度テーブル１２３に登録する（ステップＳ２０８）。さらに、リオーガニゼーション処理部１４２は、優先度ｉだったリオーガニゼーション以下の優先度を有するリオーガニゼーションの優先度を一つずつ下げる。
【０１０３】
また、Ｐｔ＞Ｐｔ（ｉ）、Ｐｂ＜Ｐｂ（ｉ）又はＴ＞Ｔ（ｉ）の場合、リオーガニゼーション処理部１４２は、優先度ｉが最も低い優先度が否か、すなわちｉがＮに一致するか否かを判定する（ステップＳ２０９）。ｉがＮに一致する場合（ステップＳ２０９：肯定）、リオーガニゼーション処理部１４２は、対象リオーガニゼーションの優先度を最も低い優先度として優先度テーブル１２３に登録する（ステップＳ２１０）。
【０１０４】
これに対して、ｉがＮに一致しない場合（ステップＳ２０９：否定）、リオーガニゼーション処理部１４２は、ｉを１つインクリメントし（ステップＳ２１１）、ステップＳ２０３へ戻る。
【０１０５】
次に、図９を参照して、リオーガニゼーションの実行処理の流れについて説明する。図９は、リオーガニゼーションの実行処理のフローチャートである。
【０１０６】
リオーガニゼーション処理部１４２は、優先度テーブル１２３にリオーガニゼーションが未登録であるか否かを判定する（ステップＳ３０１）。リオーガニゼーションが未登録の場合（ステップＳ３０１：肯定）、リオーガニゼーション処理部１４２は、リオーガニゼーションの実行を停止する。
【０１０７】
これに対して、リオーガニゼーションが登録されている場合（ステップＳ３０１：否定）、リオーガニゼーション処理部１４２は、優先度テーブル１２３の先頭、すなわち  最も優先度が高いリオーガニゼーションを選択する。そして、リオーガニゼーション処理部１４２は、選択したリオーガニゼーションに関する情報を取得する（ステップＳ３０２）。リオーガニゼーションに関する情報には、例えば、ＳｔａｃｋｅｄＰＶＧ２１０の識別子、ＰＶ確保量（Ｐｔ）、ＰＶ戻し量（Ｐｂ）及びＰＶ増分量（Ｐａ）が含まれる。
【０１０８】
次に、リオーガニゼーション処理部１４２は、選択したリオーガニゼーションのＰＶ確保量（Ｐｔ）がＳｃｒａｔｃｈＰＶＧ２２０に存在する物理ボリューム２２の数（Ｐｎ）以下か否かを判定する（ステップＳ３０３）。以下では、ＳｃｒａｔｃｈＰＶＧ２２０に存在する物理ボリューム２２の数を「Ｐｎ」とあらわす。ＰｔがＰｎより大きい場合（ステップＳ３０３：否定）、リオーガニゼーション処理部１４２は、リオーガニゼーションの実行を停止する。
【０１０９】
これに対して、ＰｔがＰｎ以下の場合（ステップＳ３０３：肯定）、リオーガニゼーション処理部１４２は、優先度テーブル１２３の先頭のリオーガニゼーションのエントリを削除する（ステップＳ３０４）。さらに、リオーガニゼーション処理部１４２は、優先度テーブル１２３の各リオーガニゼーションの優先度を１つずつ繰り上げる。
【０１１０】
次に、リオーガニゼーション処理部１４２は、取得した識別子を有するＳｔａｃｋｅｄＰＶＧ２１０に対してリオーガニゼーションを実行する（ステップＳ３０５）。
【０１１１】
その後、リオーガニゼーション処理部１４２は、取得した識別子を有するＳｃｒａｔｃｈＰＶＧ２２０に存在する物理ボリューム２０の数（Ｐｎ）に対する、ＰＶ増分量（Ｐａ）の加算をボリューム管理部１１２に指示する（ステップＳ３０６）。ボリューム管理部１１２は、指定されたＳｃｒａｔｃｈＰＶＧ２２０の物理ボリューム２２の数を、ＰｎにＰａを加算した値に更新する。
【０１１２】
次に、図１０〜１６を参照して、リオーガニゼーション処理部１４２による優先度決定処理の一例について具体的に説明する。図１０は、同時発生したリオーガニゼーションの情報を表す図である。ここでは、リオーガニゼーション処理部１４２が、図１０に示した識別子Ａ〜Ｅを有するＳｔａｃｋｅｄＰＶＧ２１０に対するリオーガニゼーションの実行を同時に決定した場合で説明する。また、ここでは、初期状態として、ＳｃｒａｔｃｈＰＶＧ２２０に残っている物理ボリューム２２が２個ある場合で説明する。
【０１１３】
以下では、識別子Ａ〜Ｅを有するＳｔａｃｋｅｄＰＶＧ２１０に対するリオーガニゼーションをそれぞれリオーガニゼーションＡ〜Ｅとして説明する。リオーガニゼーション処理部１４２は、発生したリオーガニゼーションの情報を図１１に示したようなテーブルとして保持してもよい。
【０１１４】
リオーガニゼーション処理部１４２は、発生したリオーガニゼーションの中から１つずつ選択し優先度を決定していく。以下では、図１０に示したテーブルに沿って上からリオーガニゼーションの優先度を決定していく場合で説明する。
【０１１５】
リオーガニゼーション処理部１４２は、最初に、リオーガニゼーションＡの情報を取得する。この場合、優先度テーブル１２３は、リオーガニゼーションが未登録であるので、リオーガニゼーション処理部１４２は、優先度１として優先度テーブル１２３にリオーガニゼーションＡの情報を登録し、図１１に示す優先度テーブル１２３を生成する。図１１は、リオーガニゼーションＡの優先度を決定した段階の優先度テーブルを表す図である。図１１に示すように、優先度１であるリオーガニゼーションＡの情報がエントリ４２１に登録される。太枠で囲ったエントリが新たに優先度を決定したリオーガニゼーションのエントリを表す。
【０１１６】
次に、リオーガニゼーション処理部１４２は、リオーガニゼーションＢの情報を取得する。リオーガニゼーションＡとリオーガニゼーションＢとはＰＶ確保量は同じであるが、リオーガニゼーションＡの方がＰＶ戻し量が多い。そこで、リオーガニゼーション処理部１４２は、リオーガニゼーションＡを優先度１のままとし、最も低い優先度２としてリオーガニゼーションＢの情報を優先度テーブル１２３に登録し、図１２に示す優先度テーブル１２３を生成する。図１２は、リオーガニゼーションＢの優先度を決定した段階の優先度テーブルを表す図である。図１２に示すように、リオーガニゼーションＢは、エントリ４２２としてリオーガニゼーションＡの下に挿入される。
【０１１７】
次に、リオーガニゼーション処理部１４２は、リオーガニゼーションＣの情報を取得する。リオーガニゼーションＣは、リオーガニゼーションＡよりもＰＶ確保量が少ない。そこで、リオーガニゼーション処理部１４２は、リオーガニゼーションＣの優先度をリオーガニゼーションＡの優先度である優先度１として、リオーガニゼーションＣの情報を優先度テーブル１２３に登録する。さらに、リオーガニゼーション処理部１４２は、リオーガニゼーションＡ及びＢの優先度を１つずつ下げることで、図１３に示す優先度テーブル１２３を生成する。図１３は、リオーガニゼーションＣの優先度を決定した段階の優先度テーブルを表す図である。図１３に示すように、リオーガニゼーションＣは、リオーガニゼーションＡが置かれていた場所にエントリ４２３として挿入される。
【０１１８】
次に、リオーガニゼーション処理部１４２は、リオーガニゼーションＤの情報を取得する。リオーガニゼーションＤは、ＰＶ確保量がリオーガニゼーションＣと同数である。さらに、リオーガニゼーションＤは、ＰＶ戻し量がリオーガニゼーションＣより多い。そこで、リオーガニゼーション処理部１４２は、リオーガニゼーションＤの優先度をリオーガニゼーションＣの優先度である優先度１として、リオーガニゼーションＤの情報を優先度テーブル１２３に登録する。さらに、リオーガニゼーション処理部１４２は、リオーガニゼーションＡ〜Ｃの優先度を１つずつ下げることで、図１４に示す優先度テーブル１２３を生成する。図１４は、リオーガニゼーションＤの優先度を決定した段階の優先度テーブルを表す図である。図１４に示すように、リオーガニゼーションＤは、リオーガニゼーションＣが置かれていた場所にエントリ４２４として挿入される。
【０１１９】
次に、リオーガニゼーション処理部１４２は、リオーガニゼーションＥの情報を取得する。リオーガニゼーションＥは、優先度が最も低いリオーガニゼーションＢよりもＰＶ確保量が多い。そこで、リオーガニゼーション処理部１４２は、リオーガニゼーションＥの優先度を、最も低い優先度５としてリオーガニゼーションＥの情報を優先度テーブル１２３に登録し、図１５に示す優先度テーブル１２３を生成する。図１５は、リオーガニゼーションＥの優先度を決定した段階の優先度テーブルを表す図である。図１５に示すように、リオーガニゼーションＥは、リオーガニゼーションＢの下にエントリ４２５として挿入される。
【０１２０】
ここで、例えば、図１５に示すように、リオーガニゼーションＡ〜Ｅの何れにおいても、ＰＶ確保量以上の残ＰＶ数がある。そのため、リオーガニゼーション処理部１４２は、リオーガニゼーションＡ〜Ｅの全てを継続して実行することができる。
【０１２１】
さらに、図１５の状態で、ＰＶ確保量が１、ＰＶ戻し量が１、ＰＶ増分量が０、且つ発生時刻が１０時５分のリオーガニゼーションＦが発生したものとする。この場合、リオーガニゼーション処理部１４２は、リオーガニゼーションＦの情報を取得する。リオーガニゼーションＦは、リオーガニゼーションＣとＰＶ確保量は同じであるが、発生時刻がリオーガニゼーションＣよりも遅い。そこで、リオーガニゼーション処理部１４２は、リオーガニゼーションＦとリオーガニゼーションＡとを比較する。
【０１２２】
リオーガニゼーションＦは、リオーガニゼーションＡよりもＰＶ確保量が少ない。そこで、リオーガニゼーション処理部１４２は、リオーガニゼーションＦの優先度をリオーガニゼーションＡの優先度である優先度３として、リオーガニゼーションＦの情報を優先度テーブル１２３に登録する。さらに、リオーガニゼーション処理部１４２は、リオーガニゼーションＡ、Ｂ及びＥの優先度を１つずつ下げることで、図１６に示す優先度テーブル１２３を生成する。図１６は、リオーガニゼーションＦの優先度を決定した段階の優先度テーブルを表す図である。図１６に示すように、リオーガニゼーションＦは、リオーガニゼーションＡが置かれていた場所にエントリ４２６として挿入される。
【０１２３】
このように、リオーガニゼーション処理部１４２は、各リオーガニゼーションの優先度を順次決定していく。これにより、例えば、図１６においても、リオーガニゼーションＡ〜Ｆの何れにおいても、ＰＶ確保量以上の残ＰＶ数がある。そのため、リオーガニゼーション処理部１４２は、後からリオーガニゼーションを追加した場合にも、リオーガニゼーションＡ〜Ｆの全てを継続して実行することができる。
【０１２４】
（ハードウェア構成）
次に、図１７を参照して、本実施例に係る階層制御サーバ１０のハードウェア構成について説明する。図１７は、階層制御サーバのハードウェア構成図である。
【０１２５】
階層制御サーバ１０は、プロセッサ９１、ＲＡＭ（Random  Access  Memory）９２、内蔵ディスク９３、テープインタフェース９４、入力インタフェース９５、読取装置９６、ホストインタフェース９７及びディスクインタフェース９８を有する。
【０１２６】
ＲＡＭ９２、内蔵ディスク９３、テープインタフェース９４、入力インタフェース９５、読取装置９６、ホストインタフェース９７及びディスクインタフェース９８は、バスを介してプロセッサ９１に接続されている。
【０１２７】
入力インタフェース９５は、入力装置４１との間でデータを送受信するインタフェースであり、入力装置４１が接続される。
【０１２８】
読取装置９６は、ＣＤ（Compact  Disc）やＤＶＤ（Digital  Versatile  Disk）といった可搬記憶媒体４２が挿入され、挿入された可搬記憶媒体４２の情報を読み取る。
【０１２９】
ディスクインタフェース９８は、ディスクアレイ装置３０との間でデータの送受信を行うためのインタフェースである。ディスクインタフェース９８には、ディスクアレイ装置３０が接続される。
【０１３０】
テープインタフェース９４は、テープライブラリ装置２０との間でデータの送受信を行うためのインタフェースである。テープインタフェース９４には、テープライブラリ装置２０が接続される。
【０１３１】
内蔵ディスク９３は、ハードディスクなどであり、例えば、図３に例示した情報格納部１０２の機能を実現する。例えば、ＰＶＧ管理テーブル１２１、ＰＶ管理テーブル１２２及び優先度テーブル１２３が内蔵ディスク９３に格納される。さらに、内蔵ディスク９３には、図３に例示したグループ管理部１０１、リードライト部１０３及びデータ移行処理部１０４の機能を実現するプログラムを含む各種プログラムが格納されている。
【０１３２】
プロセッサ９１及びＲＡＭ９２は、図３に例示したグループ管理部１０１、リードライト部１０３及びデータ移行処理部１０４の機能を実現する。
【０１３３】
具体的には、プロセッサ９１は、内蔵ディスク９３から各種プログラムを読み出してＲＡＭ９２上に展開し実行することで、グループ管理部１０１、リードライト部１０３及びデータ移行処理部１０４の機能を実現する。
【０１３４】
また、ここでは、内蔵ディスク９３にグループ管理部１０１、リードライト部１０３及びデータ移行処理部１０４の機能を実現するプログラムが格納されている場合で説明したがこれに限らない。例えば、グループ管理部１０１、リードライト部１０３及びデータ移行処理部１０４の機能を実現するプログラムが格納された可搬記憶媒体４２を読取装置９６で読み取り、読み取ったプログラムを用いてプロセッサ９１及びＲＡＭ９２が各機能実現してもよい。
【０１３５】
以上に説明したように、本実施例に係る仮想テープライブラリは、ＰＶ確保量順にリオーガニゼーションを実行していく。これにより、本実施例に係る仮想テープライブラリは、ＰＶ確保量よりもＳｃｒａｔｃｈＰＶＧ内に存在する物理ボリューム２２の数が多い可能性が高くなり、リオーガニゼーションの実行されない状態を回避できる可能性が高くなる。したがって、本実施例に係る仮想テープライブラリは、リオーガニゼーションの継続性を向上させることができ、それにしたがい、マイグレーションの継続性も向上させることができる。
【０１３６】
これに対し、従来は単に発生のタイミングが早いものの優先度を高く設定してリオーガニゼーションを処理していくために、ＰＶ確保量が多いものが先に処理される場合があった。そのため、物理ボリュームの確保ができない処理が優先されることにより、リオーガニゼーションの処理が全体として停滞する場合があった。このように、本実施例に係るテープライブラリ装置は、従来に比べてリオーガニゼーションの継続性が大幅に向上するといえる。
【０１３７】
また、本実施例に係る仮想テープライブラリは、ＰＶ確保量が同じであれば、ＰＶ戻し量が多い順にリオーガニゼーションを実行していく。これにより、ＰＶ確保量よりもＳｃｒａｔｃｈＰＶＧ内に存在する物理ボリューム２２の数が多い可能性がより高くなり、リオーガニゼーションの実行されない状態を回避できる可能性がより高くなる。したがって、本実施例に係る仮想テープライブラリは、リオーガニゼーションの継続性をより向上させることができ、それにしたがい、マイグレーションの継続性もより向上させることができる。
【０１３８】
そして、マイグレーションの継続性を向上させることで、仮想テープライブラリ内でデータの冗長性を確実に確保でき、データの保全性を向上させることができる。
【符号の説明】
【０１３９】
１  仮想テープライブラリ
２  ホスト
１０  階層制御サーバ
２０  テープライブラリ装置
２１  ロボット
２２  物理ボリューム
２３  テープドライブ
３０  ディスクアレイ装置
３１  論理ボリューム
１０１  グループ管理部
１０２  情報格納部
１０３  リードライト部
１０４  データ移行処理部
１１１  グループ生成部
１１２  ボリューム管理部
１２１  ＰＶＧ管理テーブル
１２２  ＰＶ管理テーブル
１２３  優先度テーブル
１４１  データ管理部
１４２  リオーガニゼーション処理部
【図１】
0006531574.tif 000002
【図２】
0006531574.tif 000003
【図３】
0006531574.tif 000004
【図４】
0006531574.tif 000005
【図５】
0006531574.tif 000006
【図６】
0006531574.tif 000007
【図７】
0006531574.tif 000008
【図８】
0006531574.tif 000009
【図９】
0006531574.tif 000010
【図１０】
0006531574.tif 000011
【図１１】
0006531574.tif 000012
【図１２】
0006531574.tif 000013
【図１３】
0006531574.tif 000014
【図１４】
0006531574.tif 000015
【図１５】
0006531574.tif 000016
【図１６】
0006531574.tif 000017
【図１７】
0006531574.tif 000018