(57)【要約】【課題】多数のデータの利用が集中的に要求された際の応答性能を向上させる。【解決手段】制御部１２は、所定の時間帯に利用が要求されたデータＤ１〜Ｄ３を、同一のグループＧ１に属するデータとして管理情報１１ａに登録する。また、制御部１２は、管理情報１１ａに登録された同一のグループＧ１に属するデータＤ１〜Ｄ３を、同一の可搬型記録媒体Ｍ１にまとめて格納する。そして、制御部１２は、管理情報１１ａに登録されたグループＧ１に属するデータＤ１の利用が要求されたとき、グループＧ１に属するすべてのデータＤ１〜Ｄ３を、グループＧ１に対応する可搬型記録媒体Ｍ１からキャッシュ装置２０に読み込み、データＤ１の利用要求に応答する。【選択図】図１
2020021396.tif 000002
【特許請求の範囲】
【請求項１】
複数の可搬型記録媒体を用いた記憶装置に記憶された複数のデータを、キャッシュ装置を介して利用できるように制御するストレージ制御装置において、
管理情報を記憶する記憶部と、制御部とを有し、
前記制御部は、
前記複数のデータのうち、所定の時間帯に利用が要求された２以上のデータを、同一のグループに属するデータとして前記管理情報に登録し、
前記管理情報に登録された同一の前記グループに属するデータを、前記複数の可搬型記録媒体のうち同一の可搬型記録媒体にまとめて格納し、
前記管理情報に登録された前記グループのうち一のグループに属する一のデータの利用が要求されたとき、前記一のグループに属するすべてのデータを、前記複数の可搬型記録媒体のうち前記一のグループに対応する可搬型記録媒体から前記キャッシュ装置に読み込み、前記一のデータの利用要求に応答する、
ストレージ制御装置。
【請求項２】
前記制御部は、前記一のグループに属する、前記一のデータ以外の他のデータの利用が要求されたとき、前記他のデータが前記キャッシュ装置に存在する場合には、前記他のデータを前記一のグループに対応する可搬型記録媒体から前記キャッシュ装置に読み込む処理の実行をスキップして、前記他のデータの利用要求に応答する、
請求項１記載のストレージ制御装置。
【請求項３】
前記制御部は、前記複数のデータのうち、前記所定の時間帯に利用が要求され、かつ、連続する識別番号を有する２以上のデータを、同一の前記グループに属するデータとして前記管理情報に登録する、
請求項１または２記載のストレージ制御装置。
【請求項４】
前記制御部は、
前記複数のデータのうち、複数の時間帯のうち同一の時間帯に利用が要求され、かつ、連続する識別番号を有する２以上のデータを、同一の前記グループに属するデータとして前記管理情報に登録し、
前記管理情報に登録された前記グループのうち、前記複数の時間帯のうち第１の時間帯に利用が要求されたデータを含む第１のグループと、前記複数の時間帯のうち前記第１の時間帯に隣接する第２の時間帯に利用が要求されたデータを含む第２のグループとの組み合わせの中から、前記第１のグループに含まれるデータの識別番号と前記第２のグループに含まれるデータの識別番号とが連番になるような前記第１のグループと前記第２のグループとが抽出された場合に、抽出された前記第１のグループと抽出された前記第２のグループとを統合する、
請求項１または２記載のストレージ制御装置。
【請求項５】
前記制御部は、前記複数のデータのうち前記キャッシュ装置に記憶されたデータをオフキャッシュにする際、前記グループを単位としてオフキャッシュの対象とするデータを選択する、
請求項１乃至４のいずれか１項に記載のストレージ制御装置。
【請求項６】
前記制御部は、データが前記キャッシュ装置に記憶されている前記グループの中から、最後にデータの利用が要求されてからの経過時間が最も短い前記グループのデータを、オフキャッシュの対象として選択する、
請求項５記載のストレージ制御装置。
【請求項７】
複数の可搬型記録媒体を用いた記憶装置に記憶された複数のデータを、キャッシュ装置を介して利用できるように制御するためのストレージ制御プログラムにおいて、
コンピュータに、
前記複数のデータのうち、所定の時間帯に利用が要求された２以上のデータを、同一のグループに属するデータとして管理情報に登録し、
前記管理情報に登録された同一の前記グループに属するデータを、前記複数の可搬型記録媒体のうち同一の可搬型記録媒体にまとめて格納し、
前記管理情報に登録された前記グループのうち一のグループに属する一のデータの利用が要求されたとき、前記一のグループに属するすべてのデータを、前記複数の可搬型記録媒体のうち前記一のグループに対応する可搬型記録媒体から前記キャッシュ装置に読み込み、前記一のデータの利用要求に応答する、
処理を実行させるストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置およびストレージ制御プログラムに関する。
【背景技術】
【０００２】
可搬型記録媒体を用いて実現される大容量の記憶領域を、キャッシュ装置を介して利用できるように制御するストレージ装置が知られている。例えば、可搬型記録媒体として磁気テープを用いた上記ストレージ装置は、「仮想テープ装置」と呼ばれる場合がある。また、可搬型記録媒体に対するデータの読み書きを行うドライブ装置や、ドライブ装置に対する可搬型記録媒体のマウント、アンマウント、可搬型記録媒体の搬送を行うロボットなどを含む装置は、例えば「ライブラリ装置」と呼ばれる。このようなライブラリ装置と上記ストレージ装置とを用いたシステムは、例えば「仮想ライブラリシステム」と呼ばれる。
【０００３】
上記のようなストレージ装置は、例えば、ホスト装置から論理ボリュームの利用要求を受け付ける。利用要求は、例えば、仮想ドライブに対する論理ボリュームのマウント要求という形式で受け付けられる。ストレージ装置は、利用が要求された論理ボリュームのデータがキャッシュ装置に存在しない場合、そのデータが記憶された可搬型記録媒体をドライブ装置にマウントし、その可搬型記録媒体からそのデータを読み出してキャッシュ装置に格納するように制御する。データの格納が完了すると、ホスト装置は、キャッシュ装置に格納された論理ボリュームのデータに対してアクセス可能になる。
【０００４】
ここで、ストレージ装置の関連技術として、次のような提案がある。例えば、第１の記録媒体に維持された複数の仮想ボリュームにより１以上の仮想ボリューム集合体を形成し、最長未使用時間の仮想ボリュームを含む仮想ボリューム集合体を１つまたは複数の第２の記録媒体に書き込む仮想テープサーバが提案されている。また、一定期間にマウントが要求された論理ボリュームをグループ化し、１つのグループに属する各論理ボリュームについての一次ストレージの記憶装置を、割り当て先が一次ストレージの記憶装置の間で分散するようにいずれかの記憶装置に割り当てるストレージ装置が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２２２０４３号公報
【特許文献２】特開２０１６−６６１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、一般的に、可搬型記録媒体からのデータの読み込みには、固定型の記録媒体と比較して長い時間がかかる。上記ストレージ装置では、キャッシュ装置を用いることで、可搬型記録媒体からのデータの読み込み回数を減少させ、データの利用が要求されてからの応答性能を向上させている。しかし、キャッシュ装置の容量には限度がある。そのため、例えば、短時間に多数のデータの利用が集中的に要求された場合には、キャッシュミスになる可能性が高まる。このとき、ストレージ装置は、キャッシュミスしたデータを可搬型記録媒体から読み込まなければならず、その分だけ利用要求に対する応答性能が低下してしまうという問題がある。
【０００７】
１つの側面では、本発明は、多数のデータの利用が集中的に要求された際の応答性能を向上させることが可能なストレージ制御装置およびストレージ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの案では、複数の可搬型記録媒体を用いた記憶装置に記憶された複数のデータを、キャッシュ装置を介して利用できるように制御するストレージ制御装置が提供される。このストレージ制御装置は、記憶部と制御部を有する。記憶部は、管理情報を記憶する。制御部は、複数のデータのうち、所定の時間帯に利用が要求された２以上のデータを、同一のグループに属するデータとして管理情報に登録し、管理情報に登録された同一のグループに属するデータを、複数の可搬型記録媒体のうち同一の可搬型記録媒体にまとめて格納し、管理情報に登録されたグループのうち一のグループに属する一のデータの利用が要求されたとき、一のグループに属するすべてのデータを、複数の可搬型記録媒体のうち一のグループに対応する可搬型記録媒体からキャッシュ装置に読み込み、一のデータの利用要求に応答する。
【０００９】
また、１つの案では、上記のストレージ制御装置と同様の処理をコンピュータに実行させるストレージ制御プログラムが提供される。
【発明の効果】
【００１０】
１つの側面では、多数のデータの利用が集中的に要求された際の応答性能を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態に係るストレージシステムの構成例および処理例を示す図である。
【図２】第２の実施の形態に係るストレージシステムの構成例を示す図である。
【図３】仮想ライブラリ制御サーバのハードウェア構成例を示す図である。
【図４】論理ボリュームに対するアクセス処理の基本的な手順を示すシーケンス図である。
【図５】リコール実行待ちが発生する場合の比較例を示すシーケンス図（その１）である。
【図６】リコール実行待ちが発生する場合の比較例を示すシーケンス図（その２）である。
【図７】仮想ライブラリ制御サーバが備える処理機能の構成例を示すブロック図である。
【図８】ＬＶマウント検知テーブルの構成例を示す図である。
【図９】ＬＶ抽出テーブルの構成例を示す図である。
【図１０】ＬＶグループ管理テーブルの構成例を示す図である。
【図１１】論理ボリュームのマウント要求状況の例を示す図である。
【図１２】ＬＶグループに含まれる論理ボリュームのマイグレーションについて説明するための図である。
【図１３】ＬＶグループに含まれる論理ボリュームのリコールについて説明するための図である。
【図１４】ＬＶグループの生成処理を示すフローチャートの例（その１）である。
【図１５】ＬＶグループの生成処理を示すフローチャートの例（その２）である。
【図１６】アンマウント処理を示すフローチャートの例である。
【図１７】オフキャッシュ処理を示すフローチャートの例である。
【図１８】マウント処理を示すフローチャートの例である。
【図１９】複数の論理ボリュームのマウントが要求された場合の処理例を示すシーケンス図（その１）である。
【図２０】複数の論理ボリュームのマウントが要求された場合の処理例を示すシーケンス図（その２）である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係るストレージシステムの構成例および処理例を示す図である。図１に示すストレージシステムは、ストレージ制御装置１０、キャッシュ装置２０、記憶装置３０およびホスト装置４０を含む。
【００１３】
ストレージ制御装置１０は、記憶装置３０に含まれる可搬型記録媒体Ｍ１，Ｍ２，Ｍ３，・・・に記憶された複数のデータを、キャッシュ装置２０を介して利用できるように制御する。図１の例では、複数のデータをホスト装置４０が利用できるように制御される。
【００１４】
キャッシュ装置２０は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）などの固定型の記録媒体によって実現される。キャッシュ装置２０は、可搬型記録媒体Ｍ１，Ｍ２，Ｍ３，・・・に記憶された複数のデータにアクセスする際のキャッシュ領域として利用される。
【００１５】
記憶装置３０は、前述の可搬型記録媒体Ｍ１，Ｍ２，Ｍ３，・・・を含む。記憶装置３０は、例えば、１台以上の図示しないドライブ装置を備え、ドライブ装置に可搬型記録媒体をマウントすることで、マウントされた可搬型記録媒体に対するデータの書き込みや、その可搬型記録媒体からのデータの読み出しを実行する。
【００１６】
ホスト装置４０は、可搬型記録媒体Ｍ１，Ｍ２，Ｍ３，・・・に記憶された複数のデータを利用して、各種の処理を実行する。例えば、これらの複数のデータのそれぞれが論理ボリュームである場合、ホスト装置４０は、仮想ドライブに対する論理ボリュームのマウントをストレージ制御装置１０に要求することで、その論理ボリュームのデータの利用を要求する。
【００１７】
以下、ストレージ制御装置１０の詳細について説明する。ストレージ制御装置１０は、記憶部１１と制御部１２を有する。
記憶部１１は、例えば、ＲＡＭ（Random Access Memory）などのストレージ制御装置１０が備える図示しない記憶装置の記憶領域によって実現される。記憶部１１には、管理情報１１ａが記憶される。管理情報１１ａには、グループを識別するためのグループ番号と、グループに含まれるデータを識別するためのデータ番号とが対応付けて記録されている。
【００１８】
制御部１２は、例えば、ストレージ制御装置１０が備える図示しないプロセッサとして実現される。制御部１２は、可搬型記録媒体Ｍ１，Ｍ２，Ｍ３，・・・に記憶された複数のデータのうち、所定の時間帯にホスト装置４０から利用が要求された２以上のデータを、同一のグループに属するデータとして管理情報１１ａに登録する。図１の例では、ある時間帯に利用が要求されたデータＤ１〜Ｄ３が、同一のグループＧ１に属するデータとして管理情報１１ａに登録される。また、別の時間帯に利用が要求されたデータＤ４，Ｄ５が、同一のグループＧ２に属するデータとして管理情報１１ａに登録される。
【００１９】
また、制御部１２は、管理情報１１ａに登録された同一のグループに属するデータを、可搬型記録媒体Ｍ１，Ｍ２，Ｍ３，・・・のうち同一の可搬型記録媒体にまとめて格納する。図１の例では、グループＧ１に属するデータＤ１〜Ｄ３が同一の可搬型記録媒体Ｍ１に格納され、グループＧ２に属するデータＤ４，Ｄ５が同一の可搬型記録媒体Ｍ２に格納される。
【００２０】
さらに、制御部１２は、管理情報１１ａに登録されたグループの１つに属するデータの１つの利用がホスト装置４０から要求されたとき、次のような処理を実行する。なお、ここでは例として、グループＧ１に属するデータＤ１の利用が要求されたとする。また、利用の要求時点で、データＤ１〜Ｄ３はキャッシュ装置２０に記憶されていないものとする。
【００２１】
制御部１２は、管理情報１１ａを参照して、利用が要求されたデータＤ１がグループＧ１に属すると判定する。すると、制御部１２は、グループＧ１に対応する可搬型記録媒体Ｍ１から、利用が要求されたデータＤ１だけでなく、グループＧ１に属する残りのすべてのデータＤ２，Ｄ３もキャッシュ装置２０に読み込む。制御部１２は、これらの読み込みが完了すると、データＤ１の利用要求に対する応答を示す情報をホスト装置４０に送信する。
【００２２】
このような処理により、多数のデータの利用が集中的に要求された際の応答性能を向上させることができる。すなわち、同一グループに含まれる複数のデータは、近い時刻に利用が要求される可能性が高い。そのため、上記のようにグループ単位でデータをキャッシュ装置２０に読み込むことで、グループ内の１つのデータの利用が要求された後の近い時刻に、同じグループ内の他のデータの利用が要求されたとき、そのデータがオンキャッシュである可能性が高まる。したがって、多数のデータの利用が集中的に要求された場合のキャッシュヒット率を高めることができ、その結果として、データの利用要求に対する応答性能を向上させることができる。
【００２３】
具体的な例として、図１に示したように、データＤ１の利用要求に応じてグループＧ１に属するデータＤ１〜Ｄ３がキャッシュ装置２０に読み込まれたとする。この場合、その後の短時間でホスト装置４０からデータＤ２，Ｄ３の利用が要求される可能性が高い。予測通りに短時間でデータＤ２，Ｄ３の利用が要求されたとき、データＤ２，Ｄ３はいずれもキャッシュ装置２０に読み込み済みであるので、制御部１２は、これらを可搬型記録媒体Ｍ１からあらためて読み込む必要はない。したがって、データＤ２，Ｄ３の利用が要求されてから短時間でホスト装置４０に応答できるようになる。
【００２４】
〔第２の実施の形態〕
次に、第２の実施の形態として、可搬型記録媒体として磁気テープを用いたストレージシステムについて説明する。
【００２５】
図２は、第２の実施の形態に係るストレージシステムの構成例を示す図である。図２に示すストレージシステムは、仮想テープ装置１００、テープライブラリ２００およびホスト装置３００を含む。
【００２６】
仮想テープ装置１００には、ディスクアレイ１１０が搭載されている。仮想テープ装置１００は、テープライブラリ２００をバックエンドのライブラリ装置、ディスクアレイ１１０をキャッシュ装置とした階層型の仮想ライブラリシステムを実現するための制御を行う。仮想ライブラリシステムとは、テープライブラリ２００によって実現される大容量の記憶領域に対して、ホスト装置３００がディスクアレイ１１０を通じて仮想的にアクセスできるようにしたものである。
【００２７】
より具体的には、仮想テープ装置１００は、ホスト装置３００に対して有限台数の仮想ドライブを提供する。仮想ドライブは、後述するテープライブラリ２００の物理ドライブ（Physical Drive：ＰＤ）２３１〜２３４を仮想化したものである。仮想ドライブは、ホスト装置３００に対して、テープライブラリ２００内の実際の物理ドライブ２３１〜２３４の台数より多い数だけ認識させることができる。
【００２８】
ホスト装置３００からマウントが要求された論理ボリューム（Logical Volume：ＬＶ）を仮想テープ装置１００が仮想ドライブにマウントすることで、ホスト装置３００はその論理ボリュームのデータを利用可能になる。また、仮想テープ装置１００は、マウントが要求された論理ボリュームがディスクアレイ１１０にキャッシュされていない場合、その論理ボリュームのデータをテープライブラリ２００内の物理ボリューム（Physical Volume：ＰＶ）からディスクアレイ１１０に読み込む。以後、仮想テープ装置１００は、ホスト装置３００からの読み書きの要求に基づき、ディスクアレイ１１０上における論理ボリュームに対して読み書きを行う。
【００２９】
テープライブラリ２００は、図１の記憶装置３０の一例である。テープライブラリ２００は、仮想ライブラリシステムにおけるバックエンドの記憶領域を実現する記憶装置である。物理ボリュームは、このようなバックエンドの記憶領域を実現するための可搬型の記録媒体である。本実施の形態では、物理ボリュームとして磁気テープが用いられる。磁気テープは、例えば、テープカートリッジに収容された状態で利用される。なお、物理ボリュームとしては、光ディスク、光磁気ディスクなどの他の種類の可搬型の記録媒体を利用することもできる。
【００３０】
テープライブラリ２００は、収納スロット２１０、ロボット２２０および物理ドライブ２３１〜２３４を備える。収納スロット２１０には、物理ボリューム（磁気テープ）が複数収納されている。ロボット２２０は、仮想テープ装置１００による制御の下で、収納スロット２１０と物理ドライブ２３１〜２３４との間で物理ボリュームを搬送する。物理ドライブ２３１〜２３４にはそれぞれ、ロボット２２０によって搬送された物理ボリュームが１つずつマウントされる。物理ドライブ２３１〜２３４はそれぞれ、仮想テープ装置１００による制御の下で、マウントされた物理ボリューム（磁気テープ）に対するデータの書き込みや、物理ボリュームからのデータの読み出しを行うテープドライブである。
【００３１】
なお、テープライブラリ２００に搭載される物理ドライブの数は、図２の例のように４台に限定されるものではない。
ホスト装置３００は、図１のホスト装置４０の一例である。ホスト装置３００は、例えば、各種の業務のための処理を実行するサーバ装置である。ホスト装置３００は、仮想テープ装置１００に対してアクセスを要求することで、仮想ドライブにマウントされた論理ボリュームにアクセスする。
【００３２】
次に、仮想テープ装置１００の内部構成について、さらに説明する。仮想テープ装置１００は、ディスクアレイ１１０に加えて、チャネル制御サーバ１２０、仮想ライブラリ制御サーバ１３０、ドライブ制御サーバ１４０およびロボット制御サーバ１５０を備える。ディスクアレイ１１０は、図１のキャッシュ装置２０の一例であり、仮想ライブラリ制御サーバ１３０は、図１のストレージ制御装置１０の一例である。
【００３３】
ディスクアレイ１１０は、仮想ライブラリシステムにおけるキャッシュ装置の記憶領域を実現する記録媒体として、複数のＨＤＤを備える。ディスクアレイ１１０は、例えば、搭載された複数のＨＤＤに対するアクセスをＲＡＩＤ（Redundant Arrays of Independent Disks）によって制御する。なお、ディスクアレイ１１０は、このような記録媒体の少なくとも一部として、ＳＳＤなどの他の種類の不揮発性記憶装置を備えていてもよい。
【００３４】
チャネル制御サーバ１２０は、ホスト装置３００、ディスクアレイ１１０および仮想ライブラリ制御サーバ１３０に接続されている。チャネル制御サーバ１２０は、仮想ドライブの機能を実現する。チャネル制御サーバ１２０は、仮想ドライブにマウントされた論理ボリュームに対するホスト装置３００からのアクセス要求を受信し、ディスクアレイ１１０上の論理ボリュームに対するアクセスを制御する。
【００３５】
仮想ライブラリ制御サーバ１３０は、ホスト装置３００、ディスクアレイ１１０、チャネル制御サーバ１２０、ドライブ制御サーバ１４０およびロボット制御サーバ１５０に接続されている。仮想ライブラリ制御サーバ１３０は、仮想ライブラリシステムにおけるボリューム管理を行う。
【００３６】
例えば、仮想ライブラリ制御サーバ１３０は、ホスト装置３００からの要求に応じて、論理ドライブに対する論理ボリュームのマウントや、論理ドライブからの論理ボリュームのアンマウントを制御する。また、仮想ライブラリ制御サーバ１３０は、ロボット制御サーバ１５０に対し、物理ドライブ２３１〜２３４に対する物理ボリュームのマウントや、物理ドライブ２３１〜２３４からの物理ボリュームのアンマウントを指示する。さらに、仮想ライブラリ制御サーバ１３０は、ドライブ制御サーバ１４０に対し、物理ボリュームからディスクアレイ１１０への論理ボリュームのデータの読み出しや、ディスクアレイ１１０から物理ボリュームへの論理ボリュームのデータの書き込みを指示する。
【００３７】
ドライブ制御サーバ１４０は、ディスクアレイ１１０、仮想ライブラリ制御サーバ１３０およびテープライブラリ２００の物理ドライブ２３１〜２３４に接続されている。ドライブ制御サーバ１４０は、仮想ライブラリ制御サーバ１３０からの指示に応じて、物理ドライブ２３１〜２３４にマウントされた物理ボリュームとの間のデータの読み書きを制御する。例えば、ドライブ制御サーバ１４０は、物理ボリュームからディスクアレイ１１０への論理ボリュームのデータの読み出しや、ディスクアレイ１１０から物理ボリュームへの論理ボリュームのデータの書き込みを制御する。
【００３８】
ロボット制御サーバ１５０は、ディスクアレイ１１０、仮想ライブラリ制御サーバ１３０およびテープライブラリ２００のロボット２２０に接続されている。ロボット制御サーバ１５０は、仮想ライブラリ制御サーバ１３０からの指示に応じて、ロボット２２０に対し、物理ドライブ２３１〜２３４への物理ボリュームのマウントや、物理ドライブ２３１〜２３４からの物理ボリュームのアンマウントを指示する。
【００３９】
図３は、仮想ライブラリ制御サーバのハードウェア構成例を示す図である。仮想ライブラリ制御サーバ１３０は、プロセッサ１３０ａ、ＲＡＭ１３０ｂ、ＳＳＤ１３０ｃおよび通信インタフェース１３０ｄを備える。
【００４０】
プロセッサ１３０ａは、仮想ライブラリ制御サーバ１３０全体を統括的に制御する。プロセッサ１３０ａは、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。また、プロセッサ１３０ａは、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。なお、プロセッサ１３０ａは、図１の制御部１２の一例である。
【００４１】
ＲＡＭ１３０ｂは、仮想ライブラリ制御サーバ１３０の主記憶装置として使用される。ＲＡＭ１３０ｂには、プロセッサ１３０ａに実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１３０ｂには、プロセッサ１３０ａによる処理に必要な各種データが格納される。
【００４２】
ＳＳＤ１３０ｃは、仮想ライブラリ制御サーバ１３０の補助記憶装置として使用される。ＳＳＤ１３０ｃには、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＨＤＤなどの他の種類の不揮発性記憶装置を使用することもできる。
【００４３】
なお、ＲＡＭ１３０ｂまたはＳＳＤ１３０ｃは、図１の記憶部１１の一例である。
通信インタフェース１３０ｄは、ネットワーク１６０を介して、ホスト装置３００、ディスクアレイ１１０、チャネル制御サーバ１２０、ドライブ制御サーバ１４０およびロボット制御サーバ１５０と通信する。ネットワーク１６０は、例えば、ＬＡＮ（Local Area Network）である。
【００４４】
なお、チャネル制御サーバ１２０、ドライブ制御サーバ１４０およびロボット制御サーバ１５０も、仮想ライブラリ制御サーバ１３０と同様のハードウェア構成によって実現可能である。ただし、チャネル制御サーバ１２０は、例えば、仮想ライブラリ制御サーバ１３０との間でＬＡＮを介して通信する通信インタフェースと、ホスト装置３００およびディスクアレイ１１０との間でファイバチャネル（ＦＣ）ネットワークを介して通信する通信インタフェースとを備えてもよい。また、ドライブ制御サーバ１４０およびロボット制御サーバ１５０は、例えば、仮想ライブラリ制御サーバ１３０との間でＬＡＮを介して通信する通信インタフェースと、ディスクアレイ１１０およびテープライブラリ２００との間でファイバチャネル（ＦＣ）ネットワークを介して通信する通信インタフェースとを備えてもよい。
【００４５】
次に、図４は、論理ボリュームに対するアクセス処理の基本的な手順を示すシーケンス図である。この図４を用いて、ホスト装置３００からの論理ボリュームに対するアクセス処理の基本的な手順について説明する。
【００４６】
前述のように、ホスト装置３００は、複数の仮想ドライブを認識している。ホスト装置３００は、仮想ライブラリ制御サーバ１３０に対して、アクセス対象の論理ボリュームを仮想ドライブの１つにマウントするように要求する。ここでは、論理ボリュームＬＶ−Ａのマウントが要求されたとする（ステップＳ１１）。
【００４７】
ここで、仮想ライブラリ制御サーバ１３０は、論理ボリュームＬＶ−Ａがディスクアレイ１１０に存在する場合、すなわちオンキャッシュ状態である場合には、論理ボリュームＬＶ−Ａを仮想ドライブにマウントするようにチャネル制御サーバ１２０に要求する。
【００４８】
一方、図４では、論理ボリュームＬＶ−Ａがディスクアレイ１１０に存在しなかった、すなわちオフキャッシュ状態であったとする。この場合、仮想ライブラリ制御サーバ１３０は、論理ボリュームＬＶ−Ａのデータが格納されている物理ボリュームを物理ドライブにマウントするように、ロボット制御サーバ１５０に要求する。図４では、物理ボリュームＰＶ−Ａを物理ドライブ２３１にマウントするように要求されたとする（ステップＳ１２）。
【００４９】
ロボット制御サーバ１５０は、テープライブラリ２００のロボット２２０に対して、物理ボリュームＰＶ−Ａを物理ドライブ２３１にマウントするように要求する。ロボット２２０は、物理ボリュームＰＶ−Ａを収納スロット２１０から物理ドライブ２３１に搬送してマウントする（ステップＳ１３）。マウントが完了すると、ロボット２２０からロボット制御サーバ１５０にマウント完了通知が送信され（ステップＳ１４）、ロボット制御サーバ１５０から仮想ライブラリ制御サーバ１３０にマウント完了通知が送信される（ステップＳ１５）。
【００５０】
マウント完了通知を受信した仮想ライブラリ制御サーバ１３０は、物理ドライブ２３１にマウントされた物理ボリュームＰＶ−Ａから論理ボリュームＬＶ−Ａをディスクアレイ１１０に読み込むように、ドライブ制御サーバ１４０に要求する（ステップＳ１６）。ドライブ制御サーバ１４０は、物理ボリュームＰＶ−Ａから論理ボリュームＬＶ−Ａを読み出すように物理ドライブ２３１に要求する。物理ドライブ２３１は、物理ボリュームＰＶ−Ａから論理ボリュームＬＶ−Ａのデータを読み出し、ドライブ制御サーバ１４０に送信する。ドライブ制御サーバ１４０は、送信された論理ボリュームＬＶ−Ａのデータをディスクアレイ１１０に格納する（ステップＳ１７）。このように、論理ドライブに対するマウント要求に応じて論理ボリュームのデータを物理ボリュームからディスクアレイ１１０に読み込む処理を、「リコール」と呼ぶ。
【００５１】
ディスクアレイ１１０への論理ボリュームＬＶ−Ａのデータの読み込みが完了すると、ドライブ制御サーバ１４０は、読み込み完了通知を仮想ライブラリ制御サーバ１３０に送信する（ステップＳ１８）。仮想ライブラリ制御サーバ１３０は、論理ボリュームＬＶ−Ａを論理ドライブにマウントするようにチャネル制御サーバ１２０に要求し、チャネル制御サーバ１２０は、論理ボリュームＬＶ−Ａを仮想ドライブにマウントする。マウントが完了すると、仮想ライブラリ制御サーバ１３０は、マウント完了通知をホスト装置３００に送信する（ステップＳ１９）。
【００５２】
以上の処理により、ホスト装置３００は、論理ボリュームＬＶ−Ａにアクセス可能になる。例えば、ホスト装置３００は、論理ボリュームＬＶ−Ａからのデータの読み出し要求をチャネル制御サーバ１２０に送信する。すると、チャネル制御サーバ１２０は、読み出しが要求されたデータをディスクアレイ１１０から読み出し、ホスト装置３００に送信する。また、ホスト装置３００は、論理ボリュームＬＶ−Ａに対するデータの書き込み要求および書き込みデータを、チャネル制御サーバ１２０に送信する。すると、チャネル制御サーバ１２０は、書き込みデータをディスクアレイ１１０上の論理ボリュームＬＶ−Ａに書き込み、ホスト装置３００に書き込み完了通知を送信する。
【００５３】
また、図示しないが、ホスト装置３００はその後、仮想ライブラリ制御サーバ１３０に対して、論理ボリュームＬＶ−Ａを仮想ドライブからアンマウントするように要求する。仮想ライブラリ制御サーバ１３０は、論理ボリュームＬＶ−Ａのアンマウントをチャネル制御サーバ１２０に要求し、チャネル制御サーバ１２０は、論理ボリュームＬＶ−Ａを仮想ドライブからアンマウントする。これにより、ホスト装置３００は論理ボリュームＬＶ−Ａを認識しなくなる。
【００５４】
仮想ライブラリ制御サーバ１３０は、アンマウントされた論理ボリュームＬＶ−Ａのデータを、ディスクアレイ１１０に格納されたままにする。これにより、同じ論理ボリュームＬＶ−Ａを仮想ドライブにマウントするように再度要求されたとき、論理ボリュームＬＶ−Ａのデータを物理ボリュームから読み出すことなく、マウント処理が短時間で実行される。
【００５５】
また、仮想ライブラリ制御サーバ１３０は、ディスクアレイ１１０上の論理ボリュームＬＶ−Ａにダーティデータが含まれる場合、ドライブ制御サーバ１４０およびロボット制御サーバ１５０を制御して、論理ボリュームＬＶ−Ａのデータを物理ボリュームにも書き込む。このように、ディスクアレイ１１０上の論理ボリュームのデータを物理ボリュームに書き込む処理を、「マイグレーション」と呼ぶ。マイグレーションは、論理ボリュームのアンマウントが要求されたタイミング、またはそれ以後の任意のタイミングで実行される。
【００５６】
さらに、仮想ライブラリ制御サーバ１３０は、ディスクアレイ１１０の空き領域が足りなくなると、ディスクアレイ１１０から論理ボリュームのデータを追い出す処理を実行する。仮想ライブラリ制御サーバ１３０は、基本的には、ディスクアレイ１１０にデータが格納されたマイグレーション済みの論理ボリュームの中から、ＬＲＵ（Least Recently Used）方式によって追い出し対象の論理ボリュームを選択する。ディスクアレイ１１０から論理ボリュームのデータが追い出される（消去される）ことで、この論理ボリュームはオフキャッシュ状態となる。
【００５７】
ところで、図４で説明したように、マウントが要求された論理ボリュームがオフキャッシュ状態の場合、その論理ボリュームのリコールが実行される。ここで、オフキャッシュ状態の論理ボリュームのマウントが要求されたときに、すべての物理ドライブが使用中の場合には、空きの物理ドライブが発生するまで、その論理ボリュームのリコールの実行を開始できない状態が発生する。以下、このような状態を「リコール実行待ち」の状態と記載する。リコール実行待ちが発生すると、その分だけマウントを要求したホスト装置３００が論理ボリュームにアクセスできるようになるまでの時間が長くなってしまう。また、図２に示した構成例のように複数の物理ドライブが搭載されている場合でも、物理ドライブの台数を超える数の論理ボリュームのマウントが短い期間内に要求されると、リコール実行待ちが発生しやすくなってしまう。
【００５８】
図５、図６は、リコール実行待ちが発生する場合の比較例を示すシーケンス図である。この図５、図６では、説明を簡単にするために、２台の物理ドライブ２３１，２３２のみが使用されるものとする。そして、ほぼ同じ時刻に３つの論理ボリュームＬＶ−Ａ，ＬＶ−Ｂ，ＬＶ−Ｃのマウントが要求され（ステップＳ２１ａ，Ｓ２１ｂ，Ｓ２１ｃ）、これらがすべてオフキャッシュ状態であったとする。なお、論理ボリュームＬＶ−Ａ，ＬＶ−Ｂ，ＬＶ−Ｃは、それぞれ物理ボリュームＰＶ−Ａ，ＰＶ−Ｂ，ＰＶ−Ｃに格納されているとする。
【００５９】
この場合、論理ボリュームＬＶ−Ａ，ＬＶ−Ｂ，ＬＶ−Ｃのリコールが必要となる。しかし、２台の物理ドライブ２３１，２３２のみ使用可能なので、仮想ライブラリ制御サーバ１３０はまず、論理ボリュームＬＶ−Ａのリコール（ステップＳ２２ａ〜Ｓ２８ａ）と論理ボリュームＬＶ−Ｂのリコール（ステップＳ２２ｂ〜Ｓ２８ｂ）とを並行して実行する。
【００６０】
すなわち、物理ドライブ２３１に対する物理ボリュームＰＶ−Ａのマウントが、仮想ライブラリ制御サーバ１３０からロボット制御サーバ１５０を介してロボット２２０に要求される（ステップＳ２２ａ，Ｓ２３ａ）。ロボット２２０によって物理ドライブ２３１に対して物理ボリュームＰＶ−Ａがマウントされると、マウント完了がロボット制御サーバ１５０を介して仮想ライブラリ制御サーバ１３０に通知される（ステップＳ２４ａ，Ｓ２５ａ）。
【００６１】
続いて、仮想ライブラリ制御サーバ１３０からの読み込み要求（ステップＳ２６ａ）に応じて、論理ボリュームＬＶ−Ａのデータが物理ボリュームＰＶ−Ａからドライブ制御サーバ１４０を介してディスクアレイ１１０に読み込まれる（ステップＳ２７ａ）。仮想ライブラリ制御サーバ１３０は、読み込み完了通知を受信すると（ステップＳ２８ａ）、仮想ドライブに論理ボリュームＬＶ−Ａをマウントするようにチャネル制御サーバ１２０に要求する。マウントが完了すると、仮想ライブラリ制御サーバ１３０は、マウント完了通知をホスト装置３００に送信する（ステップＳ２９ａ）。
【００６２】
また、以上の処理と並行して、物理ドライブ２３２に対する物理ボリュームＰＶ−Ｂのマウントが、仮想ライブラリ制御サーバ１３０からロボット制御サーバ１５０を介してロボット２２０に要求される（ステップＳ２２ｂ，Ｓ２３ｂ）。ロボット２２０によって物理ドライブ２３２に対して物理ボリュームＰＶ−Ｂがマウントされると、マウント完了がロボット制御サーバ１５０を介して仮想ライブラリ制御サーバ１３０に通知される（ステップＳ２４ｂ，Ｓ２５ｂ）。
【００６３】
続いて、仮想ライブラリ制御サーバ１３０からの読み込み要求（ステップＳ２６ｂ）に応じて、論理ボリュームＬＶ−Ｂのデータが物理ボリュームＰＶ−Ｂからドライブ制御サーバ１４０を介してディスクアレイ１１０に読み込まれる（ステップＳ２７ｂ）。仮想ライブラリ制御サーバ１３０は、読み込み完了通知を受信すると（ステップＳ２８ｂ）、仮想ドライブに論理ボリュームＬＶ−Ｂをマウントするようにチャネル制御サーバ１２０に要求する。マウントが完了すると、仮想ライブラリ制御サーバ１３０は、マウント完了通知をホスト装置３００に送信する（ステップＳ２９ｂ）。
【００６４】
また、ステップＳ２８ａ，Ｓ２８ｂのいずれかが完了するまで、論理ボリュームＬＶ−Ｃのリコールは実行待ち状態となる。そして、例えばステップＳ２８ａが先に完了したとすると、仮想ライブラリ制御サーバ１３０は、物理ドライブ２３１から物理ボリュームＰＶ−Ａをアンマウントするようにロボット制御サーバ１５０に要求する（ステップＳ３０）。ロボット制御サーバ１５０は、物理ドライブ２３１からの物理ボリュームＰＶ−Ａのアンマウントを要求すると（ステップＳ３１）、ロボット２２０はこの要求に応じて、物理ドライブ２３１から物理ボリュームＰＶ−Ａをアンマウントする。アンマウントが完了すると、アンマウント完了がロボット２２０からロボット制御サーバ１５０を介して仮想ライブラリ制御サーバ１３０に通知される（ステップＳ３２，Ｓ３３）。
【００６５】
これにより物理ドライブ２３１が空き状態になり、この物理ドライブ２３１を使用して論理ボリュームＬＶ−Ｃのリコールを実行可能になる。すなわち、物理ドライブ２３１に対する物理ボリュームＰＶ−Ｃのマウントが、仮想ライブラリ制御サーバ１３０からロボット制御サーバ１５０を介してロボット２２０に要求される（ステップＳ３４、Ｓ３５）。ロボット２２０によって物理ドライブ２３１に対して物理ボリュームＰＶ−Ｂがマウントされると、マウント完了がロボット制御サーバ１５０を介して仮想ライブラリ制御サーバ１３０に通知される（ステップＳ３６，Ｓ３７）。
【００６６】
続いて、仮想ライブラリ制御サーバ１３０からの読み込み要求（ステップＳ３８）に応じて、論理ボリュームＬＶ−Ｃのデータが物理ボリュームＰＶ−Ｃからドライブ制御サーバ１４０を介してディスクアレイ１１０に読み込まれる（ステップＳ３９）。仮想ライブラリ制御サーバ１３０は、読み込み完了通知を受信すると（ステップＳ４０）、仮想ドライブに論理ボリュームＬＶ−Ｃをマウントするようにチャネル制御サーバ１２０に要求する。マウントが完了すると、仮想ライブラリ制御サーバ１３０は、マウント完了通知をホスト装置３００に送信する（ステップＳ４１）。
【００６７】
このように、物理ドライブ２３１，２３２のいずれかが空き状態になるまで、論理ボリュームＬＶ−Ｃのリコールの実行を開始できないリコール実行待ちが発生する。このため、ホスト装置３００が論理ボリュームＬＶ−Ｃのマウントを要求してから論理ボリュームＬＶ−Ｃにアクセスできるようになるまで長い時間がかかってしまうという問題がある。
【００６８】
このような問題に対し、本実施の形態の仮想テープ装置１００は、論理ボリュームのマウント要求の履歴からマウント要求の発生傾向を解析する。仮想テープ装置１００は、その解析結果に基づいて、近い時刻にマウントが要求される可能性が高い複数の論理ボリュームをグループ化し、それらを同一の物理ボリュームに格納する。そして、仮想テープ装置１００は、あるグループに含まれる論理ボリュームのマウントが要求されたとき、そのグループに含まれるすべての論理ボリュームを同一物理ボリュームから一度にリコールする。これにより、近い時刻にマウントが要求された複数の論理ボリュームについて、リコールの実行が１回だけで済む確率を高める。その結果、論理ボリュームのマウントが要求されたときにリコール実行待ちが発生する確率を低減し、論理ボリュームのマウント要求に対する応答性能を向上させる。
【００６９】
図７は、仮想ライブラリ制御サーバが備える処理機能の構成例を示すブロック図である。仮想ライブラリ制御サーバ１３０は、記憶部１３１、ＬＶ管理部１３２およびＬＶグループ生成部１３３を備える。
【００７０】
記憶部１３１は、例えば、ＲＡＭ１３０ｂ、ＳＳＤ１３０ｃなどの仮想ライブラリ制御サーバ１３０が備える記憶装置の記憶領域によって実現される。記憶部１３１には、ボリューム管理テーブル１３１ａ、ＬＶマウント検知テーブル１３１ｂ、ＬＶ抽出テーブル１３１ｃおよびＬＶグループ管理テーブル１３１ｄが記憶される。
【００７１】
ボリューム管理テーブル１３１ａには、データがディスクアレイ１１０に格納されている各論理ボリュームに関する情報が登録される。例えば、ボリューム管理テーブル１３１ａには、各論理ボリュームが論理ドライブにマウントされているか否かを示すマウントフラグや、各論理ボリュームにダーティデータが含まれているか否かを示すダーティフラグなどが登録される。
【００７２】
ＬＶマウント検知テーブル１３１ｂには、所定期間（本実施の形態では例として２４時間）における仮想ドライブへの論理ボリュームのマウント要求の履歴が記録される。
ＬＶ抽出テーブル１３１ｃには、時間帯（本実施の形態では例として１時間）ごとにマウントが要求された論理ボリュームが記録される。このＬＶ抽出テーブル１３１ｃには、ＬＶグループ生成部１３３により、ＬＶマウント検知テーブル１３１ｂに基づいて抽出された情報が記録される。
【００７３】
ＬＶグループ管理テーブル１３１ｄには、ＬＶグループ生成部１３３により、ＬＶマウント検知テーブル１３１ｂおよびＬＶ抽出テーブル１３１ｃに基づいて生成されたＬＶグループに関する情報が記録される。例えば、ＬＶグループ管理テーブル１３１ｄには、各ＬＶグループに含まれる論理ボリュームの識別情報や、各グループに対応付けられた物理ボリュームの識別情報が記録される。
【００７４】
ＬＶ管理部１３２およびＬＶグループ生成部１３３の処理は、例えば、プロセッサ１３０ａが所定のプログラムを実行することで実現される。
ＬＶ管理部１３２は、ホスト装置３００から仮想ドライブへの論理ボリュームのマウントや、仮想ドライブからの論理ボリュームのアンマウントの要求を受信し、要求に応じた処理の実行を制御する。例えば、ＬＶ管理部１３２は、ホスト装置３００から論理ボリュームのマウント要求を受信すると、ボリューム管理テーブル１３１ａに基づいてその論理ボリュームがオンキャッシュ状態か否かを判定する。オンキャッシュ状態の場合、ＬＶ管理部１３２は、チャネル制御サーバ１２０にその論理ボリュームを仮想ドライブにマウントさせて、ホスト装置３００に応答する。
【００７５】
一方、オフキャッシュ状態の場合、ＬＶ管理部１３２は、その論理ボリュームのリコールの実行を制御する。このとき、ＬＶ管理部１３２は、ＬＶグループ管理テーブル１３１ｄに基づき、その論理ボリュームがＬＶグループに含まれる場合には、そのＬＶグループに含まれるすべての論理ボリュームのデータを、対応する同一の物理ボリュームからリコールさせる。リコールが完了すると、ＬＶ管理部１３２は、チャネル制御サーバ１２０にその論理ボリュームを仮想ドライブにマウントさせて、ホスト装置３００に応答する。
【００７６】
また、ＬＶ管理部１３２は、ホスト装置３００から論理ボリュームのアンマウント要求を受信すると、チャネル制御サーバ１２０にその論理ボリュームを仮想ドライブからアンマウントさせて、ホスト装置３００に応答する。その後、ＬＶ管理部１３２は、その論理ボリュームがＬＶグループに含まれる場合には、そのＬＶグループに対応付けられた１つの物理ボリュームに対してマイグレーションが行われるように制御する。これにより、ＬＶ管理部１３２は、同じＬＶグループに含まれるすべての論理ボリュームのデータが同一の物理ボリュームに格納されるように制御する。
【００７７】
ＬＶグループ生成部１３３は、２４時間における論理ボリュームのマウント要求の履歴をＬＶマウント検知テーブル１３１ｂに記録する。ＬＶグループ生成部１３３は、１時間の時間帯ごとに、その時間帯にマウントが要求された論理グループをＬＶマウント検知テーブル１３１ｂから抽出して、ＬＶ抽出テーブル１３１ｃに記録する。ＬＶグループ生成部１３３は、ＬＶマウント検知テーブル１３１ｂおよびＬＶ抽出テーブル１３１ｃに基づいてＬＶグループを生成して、そのＬＶグループに含まれる論理ボリュームをＬＶグループ管理テーブル１３１ｄに記録する。また、ＬＶグループ生成部１３３は、ＬＶグループに対応する物理ボリュームをＬＶグループ管理テーブル１３１ｄに記録する。
【００７８】
図８は、ＬＶマウント検知テーブルの構成例を示す図である。ＬＶマウント検知テーブル１３１ｂには、２４時間における論理ボリュームのマウント要求の履歴が記録される。具体的には、ＬＶマウント検知テーブル１３１ｂには、ホスト装置３００からの論理ボリュームのマウント要求が検知されるたびに、マウントが要求された論理ボリュームを示すＬＶ名と、マウントが要求された時刻を示すマウント要求時刻とが記録される。マウント要求時刻としては、時、分の値が記録される。
【００７９】
図９は、ＬＶ抽出テーブルの構成例を示す図である。ＬＶ抽出テーブル１３１ｃには、１時間の時間帯ごとのレコードが２４時間分設けられる。各レコードには、ＬＶマウント検知テーブル１３１ｂから、対応する時間帯にマウントが要求された論理ボリュームを示すＬＶ名が記録される。例えば図９では、１時からの１時間の時間帯に論理ボリュームＬＶ０００１，ＬＶ０００２のマウントが要求されたことが記録されている。
【００８０】
なお、これ以後、Ｘ時０分からＸ時５９分までの１時間の時間帯のことを「Ｘ時台」と記載する場合がある。例えば、１時０分から１時５９分までの１時間の時間帯を「１時台」と記載する場合がある。
【００８１】
図１０は、ＬＶグループ管理テーブルの構成例を示す図である。ＬＶグループ管理テーブル１３１ｄには、ＬＶグループを示すＬＶグループ名ごとに、そのＬＶグループに含まれる論理ボリュームを示すＬＶ名と、そのＬＶグループに対応付けられた１つの物理ボリュームを示すＰＶ名とが対応付けて記録される。
【００８２】
次に、図１１は、論理ボリュームのマウント要求状況の例を示す図である。この図１１を用いて、ＬＶグループの生成方法について説明する。
図１１に示す黒丸は、対応する１時間の時間帯において、対応する論理ボリュームのマウントが要求されたことを示す。例えば、１時台には論理ボリュームＬＶ０００２，ＬＶ０００９のマウントが要求され、２時台には、論理ボリュームＬＶ０００７，ＬＶ００１２，ＬＶ００１３のマウントが要求されたことが示されている。
【００８３】
ここで、ホスト装置３００では、業務用のアプリケーションプログラムが実行されるものとする。業務では、１日の中の時間帯や、曜日、月次、年次に応じた定型的な作業が行われることが多い。そのため、業務用のアプリケーションプログラムによれば、個人用のものとは異なり、決められた時刻から時刻までの連続した期間においては、同じような処理が実行されることが多い。したがって、ホスト装置３００からの論理ボリュームに対するアクセスについても、決められた時刻から時刻までの連続した期間において同じ論理ボリュームにアクセスされることが多いと推定される。
【００８４】
また、ある決められた時刻から時刻までの連続期間において同じ複数の論理ボリュームにアクセスされる場合には、管理を容易化するために、それらの複数の論理ボリュームに対して連番の識別番号（ＬＶ名）が設定されることが多い。
【００８５】
以上の観点から、本実施の形態の仮想テープ装置１００は、「連続する期間内にマウントが要求された、連番のＬＶ名を有する複数の論理ボリューム」を、同一のＬＶグループにグループ化する。そして、仮想テープ装置１００は、後の図１２、図１３で説明するように、マイグレーションおよびリコールの処理をＬＶグループ単位で実行する。すなわち、仮想テープ装置１００は、同一のＬＶグループに含まれる論理ボリュームのデータを同一の物理ボリュームに格納する。また、仮想テープ装置１００は、同一のＬＶグループに含まれる論理ボリュームのデータを、対応する１つの物理ボリュームからディスクアレイ１１０に対して一度に読み込む。このような処理により、物理ドライブに対する物理ボリュームのマウント、および物理ドライブからの物理ボリュームのアンマウントの実行回数を低減できる。
【００８６】
図１１の例では、１時台から３時台までの連続した期間において、連続したＬＶ名を有する論理ボリュームＬＶ０００２〜ＬＶ００１３のマウントが要求されている。そのため、論理ボリュームＬＶ０００２〜ＬＶ００１３は、１つのＬＶグループＧＰ０００１にグループ化される。また、７時台から１０時台までの連続した期間において、連続したＬＶ名を有する論理ボリュームＬＶ００１７〜ＬＶ００２５のマウントが要求されている。そのため、論理ボリュームＬＶ００１７〜ＬＶ００２５は、１つのＬＶグループＧＰ０００２にグループ化される。
【００８７】
なお、ＬＶグループの生成条件の他の１つとして、１つのＬＶグループに含められる論理ボリュームの上限数は、論理ボリュームがマウントされる仮想ドライブの台数とされる。これは、この台数を超える論理ボリュームのマウントが短期間に要求されることがあり得ないからである。
【００８８】
図１２は、ＬＶグループに含まれる論理ボリュームのマイグレーションについて説明するための図である。同一のＬＶグループに含まれる論理ボリュームのデータは、マイグレーションの際に同一の物理ボリュームに格納される。図１２の例では、ＬＶグループＧＰ０００１に含まれる論理ボリュームＬＶ０００２〜ＬＶ００１３のデータは、１つの物理ボリュームＰＶ０００１に格納される。また、ＬＶグループＧＰ０００２に含まれる論理ボリュームＬＶ００１７〜ＬＶ００２５のデータは、１つの物理ボリュームＰＶ０００２に格納される。
【００８９】
図１３は、ＬＶグループに含まれる論理ボリュームのリコールについて説明するための図である。ＬＶグループに含まれる１つの論理ボリュームのマウントが要求されると、そのＬＶグループに含まれるすべての論理ボリュームのデータが、対応する１つの物理ボリュームから一度にリコールされる。
【００９０】
例えば、図１３に示すように、１時台に論理ボリュームＬＶ０００９のマウントが要求されたとき、ＬＶグループＧＰ０００１に含まれる論理ボリュームＬＶ０００２〜ＬＶ００１３のデータが、物理ボリュームＰＶ０００１からディスクアレイ１１０に読み込まれる。また、例えば、７時台に論理ボリュームＬＶ００２３のマウントが要求されたとき、ＬＶグループＧＰ０００２に含まれる論理ボリュームＬＶ００１７〜ＬＶ００２５のデータが、物理ボリュームＰＶ０００２からディスクアレイ１１０に読み込まれる。
【００９１】
ＬＶグループＧＰ０００１に含まれる論理ボリュームＬＶ０００２〜ＬＶ００１３は、１時台から３時台までの短い期間に集中的にマウントが要求される可能性が高い。そのため、この期間にＬＶグループＧＰ０００１に含まれる論理ボリュームＬＶ０００９以外の他の論理ボリュームのマウントが要求された場合に、これらの論理ボリュームがオンキャッシュ状態であり、リコールが実行されない確率が高まる。これにより、ＬＶグループＧＰ０００１に含まれる各論理ボリュームのマウント要求に対し、リコールが１回しか実行されず、リコールに伴う物理ボリュームのマウントおよびアンマウントも１回しか実行されない確率が高くなる。
【００９２】
同様に、ＬＶグループＧＰ０００２に含まれる論理ボリュームＬＶ００１７〜ＬＶ００２５についても、７時台から１０時台までの短い期間に集中的にマウントが要求される可能性が高い。そのため、この期間にＬＶグループＧＰ０００２に含まれる論理ボリュームＬＶ００２３以外の他の論理ボリュームのマウントが要求された場合に、これらの論理ボリュームがオンキャッシュ状態である（キャッシュヒットする）確率が高まる。これは、この期間にＬＶグループＧＰ０００２に含まれる論理ボリュームＬＶ００２３以外の他の論理ボリュームのマウントが要求された場合に、物理ドライブの使用が必要となるリコールが実行されない確率が高まることを意味する。したがって、ＬＶグループＧＰ０００２に含まれる各論理ボリュームのマウント要求に対し、リコールが１回しか実行されず、リコールに伴う物理ボリュームのマウントおよびアンマウントも１回しか実行されない確率が高くなる。
【００９３】
このように、各ＬＶグループに含まれる複数の論理ボリュームのマウント要求に対し、リコールが１回しか実行されない確率が高くなる。これによって、仮想テープ装置１００の全体においてリコールの実行回数が減少し、リコールに伴う物理ボリュームのマウントおよびアンマウントの実行回数、すなわち物理ドライブの使用回数も減少する。その結果、ホスト装置３００から論理ボリュームのマウントが要求されたときに、物理ドライブの空きがなくてリコールを開始できないリコール実行待ちが発生する確率を低減できる。したがって、全体として、論理ボリュームのマウント要求に対する応答性能を向上させることができる。
【００９４】
また、ＬＶグループとしてグループ化された論理ボリュームについて、マウントが要求された際のキャッシュヒット率が高まるので、マウント要求に対する応答性能を向上させることができる、ということもできる。
【００９５】
次に、仮想テープ装置１００の処理についてフローチャートを用いて説明する。
まず、図１４、図１５は、ＬＶグループの生成処理を示すフローチャートの例である。
［ステップＳ１１１］仮想ライブラリ制御サーバ１３０のＬＶグループ生成部１３３は、変数ＬＶＧＲ＿ＶＡＬＵＥ，ＳＴＡＲＴ＿ＴＩＭＥを設定する。変数ＬＶＧＲ＿ＶＡＬＵＥは、１つのＬＶグループに含めることが可能な論理ボリュームの上限数を示す。変数ＬＶＧＲ＿ＶＡＬＵＥとしては、仮想ドライブの台数が設定される。変数ＳＴＡＲＴ＿ＴＩＭＥは、論理ボリュームのマウント要求の発生状況（マウント要求の履歴）を収集する期間の開始日時を示し、年、月、日、時、分の値が記録される。変数ＳＴＡＲＴ＿ＴＩＭＥとしては、現在の日時が設定される。
【００９６】
［ステップＳ１１２］ＬＶグループ生成部１３３は、ＬＶマウント検知テーブル１３１ｂ、ＬＶ抽出テーブル１３１ｃおよびＬＶグループ管理テーブル１３１ｄに登録された情報をクリアする。
【００９７】
［ステップＳ１１３］ＬＶグループ生成部１３３は、ホスト装置３００からの仮想ドライブに対する論理ボリュームのマウント要求を、ＬＶ管理部１３２が受信したかを監視する。ＬＶグループ生成部１３３は、一定時間内にマウント要求の受信を検知した場合、ステップＳ１１４の処理を実行し、一定時間内にマウント要求の受信を検知できなかった場合、ステップＳ１１５の処理を実行する。
【００９８】
［ステップＳ１１４］ＬＶグループ生成部１３３は、ＬＶマウント検知テーブル１３１ｂにレコードを追加する。ＬＶグループ生成部１３３は、マウントが要求された論理ボリュームのＬＶ名と、マウントが要求された時刻とを、追加したレコードに記録する。
【００９９】
［ステップＳ１１５］ＬＶグループ生成部１３３は、現在の時刻を取得し、変数ＳＴＡＲＴ＿ＴＩＭＥが示す時刻から２４時間が経過したかを判定する。ＬＶグループ生成部１３３は、２４時間が経過していない場合、処理をステップＳ１１３に進め、マウント要求の受信を監視する。一方、変数ＳＴＡＲＴ＿ＴＩＭＥが示す時刻から２４時間が経過したと判定された場合、直近の２４時間分のマウント要求の履歴がＬＶマウント検知テーブル１３１ｂに記録された状態となる。この場合、ＬＶグループ生成部１１３は、図１５のステップＳ１２１の処理を実行する。
【０１００】
以下、図１５を用いて説明を続ける。
［ステップＳ１２１］ＬＶグループ生成部１３３は、変数ＨＯＵＲには、変数ＳＴＡＲＴ＿ＴＩＭＥの「時」の値を設定する。
【０１０１】
［ステップＳ１２２］ＬＶグループ生成部１３３は、ＬＶマウント検知テーブル１３１ｂから、変数ＨＯＵＲが示す時間に対応する時間帯においてマウント要求が検知された論理ボリュームを抽出する。例えば、変数ＨＯＵＲが１の場合、１時台にマウントが要求された論理ボリュームが抽出される。ＬＶグループ生成部１３３は、抽出された論理ボリュームのＬＶ名を、ＬＶ抽出テーブル１３１ｃにおける該当時間帯のレコードに記録する。
【０１０２】
［ステップＳ１２３］ＬＶグループ生成部１３３は、ステップＳ１２２で抽出された論理ボリュームの中に、ＬＶ名が連番となる論理ボリュームのグループがあるかを判定する。ＬＶグループ生成部１３３は、該当する論理ボリュームのグループがある場合、ステップＳ１２４の処理を実行し、該当する論理ボリュームのグループがない場合、ステップＳ１２５の処理を実行する。
【０１０３】
［ステップＳ１２４］ＬＶグループ生成部１３３は、ステップＳ１２２で抽出された論理ボリュームのうち、ＬＶ名が連番となる論理ボリュームのグループを、ＬＶグループに設定する。ただし、ＬＶグループに含められる論理ボリュームの数は、変数ＬＶＧＲ＿ＶＡＬＵＥの値以下とされる。ＬＶグループ生成部１３３は、ＬＶグループ管理テーブル１３１ｄにレコードを追加し、ＬＶグループに設定された各論理ボリュームのＬＶ名を追加したレコードに記録する。
【０１０４】
［ステップＳ１２５］ＬＶグループ生成部１３３は、変数ＨＯＵＲの値をインクリメントする。
［ステップＳ１２６］ＬＶグループ生成部１３３は、変数ＨＯＵＲの値と変数ＳＴＡＲＴ＿ＴＩＭＥの「時」の値とが一致するかを判定する。ＬＶグループ生成部１３３は、これらの値が一致しない場合、処理をステップＳ１２２に進める。この場合、次の時間帯にマウント要求が検知された論理ボリュームについて、ステップＳ１２２〜Ｓ１２４の処理が実行される。一方、ＬＶグループ生成部１３３は、上記の値が一致した場合、２４時間分の全時間帯について処理が終了したと判断し、ステップＳ１２７の処理を実行する。
【０１０５】
［ステップＳ１２７］この時点で、ＬＶグループ管理テーブル１３１ｄには、１時間の時間帯ごとにマウントが要求された連番のＬＶ名を有する複数の論理ボリュームを含むＬＶグループが、記録された状態となる。すなわち、生成された各ＬＶグループには、１つの時間帯が対応付けられている状態となる。次に、ＬＶグループ生成部１３３は、生成された各ＬＶグループに対応する時間帯と、これに隣接する時間帯とを含む連続する期間において、ＬＶ名が連番となる論理ボリュームおよびＬＶグループをマージ（統合）して、１つのグループにまとめる。このマージ処理は、ＬＶ抽出テーブル１３１ｃとＬＶグループ管理テーブル１３１ｄとを参照することで実行される。ＬＶグループ生成部１３３は、マージによって一体化されたＬＶグループを示すレコードが記録されるように、ＬＶグループ管理テーブル１３１ｄを更新する。
【０１０６】
ここで、図１１に示したＬＶグループＧＰ０００１を例に挙げて、マージ処理の例を説明する。ステップＳ１２７の実行開始時点では、２時台にマウントが要求された論理ボリュームＬＶ００１２，ＬＶ００１３を含むＬＶグループと、３時台にマウントが要求された論理ボリュームＬＶ０００３〜ＬＶ００１１を含むＬＶグループとが生成された状態となる。ここで、前者をＬＶグループＧＰ−Ａとし、後者をＬＶグループＧＰ−Ｂとする。
【０１０７】
ステップＳ１２７では、まず、ＬＶグループＧＰ−Ａに対応付けられた２時台に隣接する１時台および３時台から、ＬＶグループＧＰ−Ａに含まれる論理ボリュームに対して連番となるＬＶ名を有する論理ボリュームまたはＬＶグループが抽出される。ここでは、ＬＶグループＧＰ−Ｂが抽出され、ＬＶグループＧＰ−Ａ，ＧＰ−Ｂがマージされて、論理ボリュームＬＶ０００３〜ＬＶ００１３を含むＬＶグループＧＰ−Ｃが生成される。
【０１０８】
なお、このマージでは、ＬＶグループＧＰ−Ａ，ＧＰ−Ｂの例のように、一方のＬＶグループに含まれる各論理ボリュームのＬＶ名の最後尾と、他方のＬＶグループに含まれる各論理ボリュームのＬＶ名の先頭とが連続する場合に、これらのＬＶグループがマージされる。これに加えて、一方のＬＶグループに含まれる論理ボリュームのＬＶ名の一部と、他方のＬＶグループに含まれる論理ボリュームのＬＶ名の一部とが重複する場合にも、これらのＬＶグループがマージされる。
【０１０９】
次に、ＬＶグループＧＰ−Ｃに対応する２時台および３時台と、これらに隣接する１時台および４時台とを含む１時台から４時台の期間から、ＬＶグループＧＰ−Ｃに含まれる論理ボリュームに対して連番となるＬＶ名を有する論理ボリュームまたはＬＶグループが抽出される。ここでは、１時台から論理ボリュームＬＶ０００２が抽出され、この論理ボリュームＬＶ０００２がＬＶグループＧＰ−Ｃに編入される。すなわち、ＬＶグループＧＰ−Ｃは、論理ボリュームＬＶ０００２〜ＬＶ００１３を含むように拡張される。
【０１１０】
次に、拡張されたＬＶグループＧＰ−Ｃに対応する１時台から３時台の期間と、これに隣接する０時台および４時台とを含む０時台から４時台の期間から、ＬＶグループＧＰ−Ｃに含まれる論理ボリュームに対して連番となるＬＶ名を有する論理ボリュームまたはＬＶグループが抽出される。ここでは、該当する論理ボリュームおよびＬＶグループが抽出されないので、ＬＶグループＧＰ−ＣがＬＶグループＧＰ０００１として確定される。
【０１１１】
［ステップＳ１２８］ＬＶグループ生成部１３３は、変数ＳＴＡＲＴ＿ＴＩＭＥが示す日時から６ヶ月が経過したかを判定する。６ヶ月が経過するまでの間、ＬＶグループ生成部１３３は待ち状態となり、この期間では上記のステップＳ１２７までの処理によって生成されたＬＶグループを用いて、ＬＶ管理部１３２の処理が実行される。そして、６ヶ月が経過すると、ＬＶグループ生成部１３３はステップＳ１２９の処理を実行する。なお、このステップＳ１２８で使用される経過時間の閾値は、６ヶ月に限定されるものではなく、任意の値を設定可能である。
【０１１２】
［ステップＳ１２９］ＬＶグループ生成部１３３は、変数ＳＴＡＲＴ＿ＴＩＭＥの値を、現在の日時によって更新する。この後、ＬＶグループ生成部１３３は、処理を図１４のステップＳ１１２に進め、ＬＶグループを生成し直す。
【０１１３】
図１６は、アンマウント処理を示すフローチャートの例である。
［ステップＳ１３１］ＬＶ管理部１３２が仮想ドライブからの論理ボリュームのアンマウント要求をホスト装置３００から受信すると、ステップＳ１３２の処理が実行される。
【０１１４】
［ステップＳ１３２］ＬＶ管理部１３２は、チャネル制御サーバ１２０に対して、該当論理ボリュームを仮想ドライブからアンマウントするように要求する。チャネル制御サーバ１２０によるアンマウントが完了すると、ＬＶ管理部１３２は、ホスト装置３００に対してアンマウントの完了通知を送信する。
【０１１５】
［ステップＳ１３３］ＬＶ管理部１３２は、ＬＶグループ管理テーブル１３１ｄを参照し、アンマウントされた論理ボリュームがいずれかのＬＶグループに含まれるかを判定する。ＬＶ管理部１３２は、論理ボリュームがいずれかのＬＶグループに含まれる場合、ステップＳ１３４の処理を実行し、いずれのＬＶグループにも含まれない場合、ステップＳ１３７の処理を実行する。
【０１１６】
なお、このステップＳ１３３の処理は、ステップＳ１３２の実行後に即座に実行されなくてもよい。
［ステップＳ１３４］ＬＶ管理部１３２は、ＬＶグループ管理テーブル１３１ｄのレコードのうち、アンマウントされた論理ボリュームが含まれるＬＶグループのレコードを参照する。ＬＶ管理部１３２は、このレコードにＬＶグループに対応する物理ボリュームのＰＶ名が設定されているかを判定する。ＬＶ管理部１３２は、物理ボリュームのＰＶ名が設定済みの場合、ステップＳ１３６の処理を実行し、物理ボリュームのＰＶ名が未設定の場合、ステップＳ１３５の処理を実行する。
【０１１７】
［ステップＳ１３５］ＬＶ管理部１３２は、未使用の物理ボリュームの中から１つを選択し、選択した物理ボリュームのＰＶ名をステップＳ１３４で参照したレコードに記録する。これにより、ＬＶグループに対して１つの物理ボリュームが設定される。
【０１１８】
［ステップＳ１３６］ＬＶ管理部１３２は、アンマウントされた論理ボリュームを物理ボリュームにマイグレーションする処理の実行を制御する。このとき、マイグレーション先の物理ボリュームは、論理ボリュームが含まれるＬＶグループに対応付けて設定された物理ボリュームとなる。
【０１１９】
ＬＶ管理部１３２は、物理ドライブ２３１〜２３４の中から空きの物理ドライブを選択し、選択した物理ドライブに上記の物理ボリュームをマウントするようにロボット制御サーバ１５０に要求する。この要求により、ロボット２２０によって該当物理ドライブに対して該当物理ボリュームがマウントされる。ただし、該当物理ドライブがすでにいずれかの物理ドライブにマウントされている場合には、上記処理は省略される。同一のＬＶグループに含まれる論理ボリュームは、同時期に仮想ドライブからのアンマウントが要求される可能性も高いので、ステップＳ１３６において物理ボリュームのマウント処理が省略される可能性も高い。この場合、ステップＳ１３６での処理時間が短縮される。
【０１２０】
続いて、ＬＶ管理部１３２は、該当論理ボリュームのデータをディスクアレイ１１０から読み出して該当物理ボリュームに書き込むように、ドライブ制御サーバ１４０に要求する。この要求により、該当論理ボリュームのデータが該当物理ボリュームに格納される。このようなマイグレーションが完了すると、処理はステップＳ１３１に進められる。
【０１２１】
以上のステップＳ１３６の処理により、同一のＬＶグループに含まれる論理ボリュームのデータが、そのＬＶグループに対応付けられた同一の物理ボリュームに格納される。
［ステップＳ１３７］ＬＶ管理部１３２は、アンマウントされた論理ボリュームを物理ボリュームにマイグレーションする処理の実行を制御する。このとき、マイグレーション先の物理ボリュームは、未使用の物理ボリュームの中から任意に選択される。このようなマイグレーションが完了すると、処理はステップＳ１３１に進められる。
【０１２２】
なお、ステップＳ１３６，Ｓ１３７では、アンマウントされた論理ボリュームのデータはディスクアレイ１１０に残され、この論理ボリュームはオンキャッシュ状態のままになる。
【０１２３】
図１７は、オフキャッシュ処理を示すフローチャートの例である。
［ステップＳ１４１］ＬＶ管理部１３２は、ディスクアレイ１１０のキャッシュ領域の空き容量が所定量を下回ったかを判定する。ＬＶ管理部１３２は、空き容量が所定量以上の場合、一定時間後にステップＳ１４１の処理を再実行する。一方、ＬＶ管理部１３２は、空き容量が所定量を下回った場合、ステップＳ１４２の処理を実行する。
【０１２４】
［ステップＳ１４２］ＬＶ管理部１３２は、ＬＶグループ管理テーブル１３１ｄに１以上のＬＶグループが登録されているかを判定する。ＬＶ管理部１３２は、１以上のＬＶグループが登録済みの場合、ステップＳ１４３の処理を実行し、ＬＶグループが１つも登録されていない場合、ステップＳ１４４の処理を実行する。
【０１２５】
［ステップＳ１４３］ＬＶ管理部１３２は、オンキャッシュ状態のＬＶグループ（すなわち、すべての論理ボリュームのデータがディスクアレイ１１０に存在するＬＶグループ）の中から、アンマウント状態かつマイグレーション済みのＬＶグループを抽出する。ＬＶ管理部１３２は、抽出したＬＶグループの中から、過去における現在の時刻に最も近い時刻にマウントが要求されたＬＶグループを選択し、選択したＬＶグループに含まれるすべての論理ボリュームをオフキャッシュ状態にする。すなわち、ＬＶ管理部１３２は、該当論理ボリュームのデータをディスクアレイ１１０から削除する。この後、処理はステップＳ１４１に進められる。
【０１２６】
ここで、ＬＶグループとしてグループ化された複数の論理ボリュームは、比較的短い期間内に集中的に使用される（マウントが要求される）可能性が高い。このため、論理ボリューム単位ではなく、ステップＳ１４３の処理のようにＬＶグループ単位でオフキャッシュ処理を実行する方が、ディスクアレイ１１０のキャッシュ領域を有効に利用できる。
【０１２７】
また、ＬＶグループとしてグループ化された複数の論理ボリュームは、周期的に使用される（マウントが要求される）可能性が高い。このため、例えば、ＬＲＵ論理にしたがって最後にマウントが要求されてから最も時間が経過しているＬＶグループをオフキャッシュ処理の対象とした場合、その後の比較的短い時間で、このＬＶグループ内の論理ボリュームのマウントが要求される可能性が高い。一方、最後にマウントが要求されてからの時間が最も短いＬＶグループは、これ以降しばらくは使用されない（マウントが要求されない）可能性が高いと考えられる。
【０１２８】
このため、後者のＬＶグループに含まれる全論理ボリュームのデータを優先的にオフキャッシュ状態にすることで、このＬＶグループの各論理ボリュームがオンキャッシュ状態になっている時間を可能な限り短くすることができる。これにより、キャッシュ領域や物理ドライブ２３１〜２３４を他の論理ボリュームのために有効利用できるようになる。
【０１２９】
［ステップＳ１４４］ＬＶ管理部１３２は、オンキャッシュ状態かつマイグレーション済みの論理ボリュームの中から、ＬＲＵ論理にしたがってオフキャッシュ対象の論理ボリュームを選択する。ＬＶ管理部１３２は、選択した論理ボリュームのデータをオフキャッシュ状態にする。すなわち、ＬＶ管理部１３２は、該当論理ボリュームのデータをディスクアレイ１１０から削除する。この後、処理はステップＳ１４１に進められる。
【０１３０】
図１８は、マウント処理を示すフローチャートの例である。
［ステップＳ１５１］ＬＶ管理部１３２が仮想ドライブに対する論理ボリュームのマウント要求をホスト装置３００から受信すると、ステップＳ１５２の処理が実行される。
【０１３１】
［ステップＳ１５２］ＬＶ管理部１３２は、マウントが要求された論理ボリュームがオンキャッシュ状態かを判定する。ＬＶ管理部１３２は、論理ボリュームがオンキャッシュ状態の場合、ステップＳ１５７の処理を実行し、オフキャッシュ状態の場合、ステップＳ１５３の処理を実行する。
【０１３２】
［ステップＳ１５３］ＬＶ管理部１３２は、ＬＶグループ管理テーブル１３１ｄを参照して、マウントが要求された論理ボリュームがいずれかのＬＶグループに含まれるかを判定する。ＬＶ管理部１３２は、論理ボリュームがいずれかのＬＶグループに含まれる場合、ステップＳ１５４の処理を実行し、いずれのＬＶグループにも含まれない場合、ステップＳ１５５の処理を実行する。
【０１３３】
［ステップＳ１５４］ＬＶ管理部１３２は、ＬＶグループ管理テーブル１３１ｄに基づき、マウントが要求された論理ボリュームを含むＬＶグループを特定し、そのＬＶグループに含まれるすべての論理ボリュームを特定する。ＬＶ管理部１３２は、特定したすべての論理ボリュームのデータをリコールする処理の実行を制御する。
【０１３４】
ＬＶ管理部１３２は、ＬＶグループ管理テーブル１３１ｄに基づいて、特定したＬＶグループに対応付けられた物理ボリュームを特定する。ＬＶ管理部１３２は、物理ドライブ２３１〜２３４の中から空きの物理ドライブを選択し、選択した物理ドライブに上記の物理ボリュームをマウントするようにロボット制御サーバ１５０に要求する。この要求により、ロボット２２０によって該当物理ドライブに対して該当物理ボリュームがマウントされる。続いて、ＬＶ管理部１３２は、該当ＬＶグループに含まれるすべての論理ボリュームのデータをマウントされた物理ボリュームから読み出してディスクアレイ１１０に書き込むように、ドライブ制御サーバ１４０に要求する。この要求により、該当物理ボリュームから上記のすべての論理ボリュームのデータがディスクアレイ１１０に読み込まれる。
【０１３５】
［ステップＳ１５５］ＬＶ管理部１３２は、マウントが要求された論理ボリュームのデータをリコールする処理の実行を制御する。すなわち、ＬＶ管理部１３２は、マウントが要求された論理ボリュームのデータが格納された物理ボリュームを特定する。ＬＶ管理部１３２は、物理ドライブ２３１〜２３４の中から空きの物理ドライブを選択し、選択した物理ドライブに特定した物理ボリュームをマウントするようにロボット制御サーバ１５０に要求する。この要求により、ロボット２２０によって該当物理ドライブに対して該当物理ボリュームがマウントされる。続いて、ＬＶ管理部１３２は、該当論理ボリュームのデータをマウントされた物理ボリュームから読み出してディスクアレイ１１０に書き込むように、ドライブ制御サーバ１４０に要求する。この要求により、該当物理ボリュームから該当論理ボリュームのデータのみがディスクアレイ１１０に読み込まれる。
【０１３６】
［ステップＳ１５６］ＬＶ管理部１３２は、ステップＳ１５４またはステップＳ１５５のリコール処理が完了するまで、待ち状態となる。そして、リコール処理が完了すると、ＬＶ管理部１３２は、ステップＳ１５７の処理を実行する。
【０１３７】
［ステップＳ１５７］ＬＶ管理部１３２は、チャネル制御サーバ１２０に対して、マウントが要求された論理ボリュームを仮想ドライブに対してマウントするように要求する。チャネル制御サーバ１２０によるマウントが完了すると、ＬＶ管理部１３２は、ホスト装置３００に対してマウントの完了通知を送信する。そして、処理がステップＳ１５１に進められる。
【０１３８】
なお、ステップＳ１５４の処理が実行された場合、ＬＶグループ内のすべての論理ボリュームがオンキャッシュ状態となる。ステップＳ１５７では、これらのうち、マウントが要求された論理ボリュームのみが仮想ドライブにマウントされた状態となるが、残りの論理ボリュームはいずれも、仮想ドライブに対するアンマウント状態として管理される。
【０１３９】
次に、図１９、図２０は、複数の論理ボリュームのマウントが要求された場合の処理例を示すシーケンス図である。図１９、図２０では、図５、図６と同様に、説明を簡単にするために、２台の物理ドライブ２３１，２３２のみが使用されるものとする。
【０１４０】
また、図１９、図２０では、図５、図６と同様に、ほぼ同じ時刻に３つの論理ボリュームＬＶ−Ａ，ＬＶ−Ｂ，ＬＶ−Ｃのマウントが要求されたとする（ステップＳ５１ａ，Ｓ５１ｂ，Ｓ５１ｃ）。また、論理ボリュームＬＶ−Ａ，ＬＶ−Ｂ，ＬＶ−Ｃのそれぞれは、マウントが要求された時点ではオフキャッシュ状態であったとする。さらに、図５、図６の場合とは異なり、論理ボリュームＬＶ−Ａ，ＬＶ−Ｃが同一のＬＶグループに含まれており、それらのデータが物理ボリュームＰＶ−Ａに格納されているとする。一方、論理ボリュームＬＶ−Ｂのデータについては、図５、図６と同様に物理ボリュームＰＶ−Ｂに格納されているとする。
【０１４１】
仮想ライブラリ制御サーバ１３０は、まず、論理ボリュームＬＶ−Ａのマウント処理と、論理ボリュームＬＶ−Ｃのマウント処理とを並行して実行する。論理ボリュームＬＶ−Ａのマウント処理では、仮想ライブラリ制御サーバ１３０は、論理ボリュームＬＶ−ＡがＬＶグループに含まれると判定する。さらに、仮想ライブラリ制御サーバ１３０は、そのＬＶグループには論理ボリュームＬＶ−Ｃも含まれていると判定する（ステップＳ５２）。すると、仮想ライブラリ制御サーバ１３０は、論理ボリュームＬＶ−Ａのリコール（ステップＳ５３ａ〜Ｓ５９ａ）に続けて、論理ボリュームＬＶ−Ｃのリコール（ステップＳ５７ｃ〜Ｓ５９ｃ）を実行する。
【０１４２】
論理ボリュームＬＶ−Ａのリコール（ステップＳ５３ａ〜Ｓ５９ａ）の処理内容は、図５のステップＳ２２ａ〜Ｓ２８ａと同様なので、ここでは説明を省略する。また、論理ボリュームＬＶ−Ｃのリコール（ステップＳ５７ｃ〜Ｓ５９ｃ）では、物理ドライブ２３１にマウント済みの物理ボリュームＰＶ−Ａから、論理ボリュームＬＶ−Ｃのデータがディスクアレイ１１０に読み込まれる。
【０１４３】
以上のリコールが完了すると、仮想ライブラリ制御サーバ１３０は、仮想ドライブに論理ボリュームＬＶ−Ａをマウントするようにチャネル制御サーバ１２０に要求する。マウントが完了すると、仮想ライブラリ制御サーバ１３０は、マウント完了通知をホスト装置３００に送信する（ステップＳ６０ａ）。これにより、論理ボリュームＬＶ−Ａのマウント処理が完了する。
【０１４４】
一方、論理ボリュームＬＶ−Ｂのマウント処理（ステップＳ５３ｂ〜Ｓ６０ｂ）の処理内容は、図５のステップＳ２２ｂ〜Ｓ２９ｂと同様なので、ここでは説明を省略する。
また、仮想ライブラリ制御サーバ１３０は、論理ボリュームＬＶ−Ａのマウント処理に続けて、論理ボリュームＬＶ−Ｃのマウント処理を実行する。この処理では、仮想ライブラリ制御サーバ１３０は、論理ボリュームＬＶ−Ｃがオンキャッシュ状態であると判定し（ステップＳ６１）、仮想ドライブに論理ボリュームＬＶ−Ｃをマウントするようにチャネル制御サーバ１２０に要求する。マウントが完了すると、仮想ライブラリ制御サーバ１３０は、マウント完了通知をホスト装置３００に送信する（ステップＳ６０ｃ）。これにより、論理ボリュームＬＶ−Ｃのマウント処理が完了する。
【０１４５】
このように、図１９、図２０の処理によれば、図５、図６の処理とは異なり、論理ボリュームＬＶ−Ｃのマウントの際にリコール実行待ちが発生しない。したがって、論理ボリュームＬＶ−Ｃのマウントが要求されてからの応答時間を短縮できる。
【０１４６】
なお、上記の各実施の形態に示した装置（例えば、ストレージ制御装置１０、チャネル制御サーバ１２０、仮想ライブラリ制御サーバ１３０、ドライブ制御サーバ１４０、ロボット制御サーバ１５０）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、磁気テープなどがある。光ディスクには、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク（Blu-ray Disc：ＢＤ、登録商標）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１４７】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４８】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【０１４９】
１０  ストレージ制御装置
１１  記憶部
１１ａ  管理情報
１２  制御部
２０  キャッシュ装置
３０  記憶装置
４０  ホスト装置
Ｄ１〜Ｄ４  データ
Ｇ１，Ｇ２  グループ
Ｍ１〜Ｍ３  可搬型記録媒体
【図１】
2020021396.tif 000003
【図２】
2020021396.tif 000004
【図３】
2020021396.tif 000005
【図４】
2020021396.tif 000006
【図５】
2020021396.tif 000007
【図６】
2020021396.tif 000008
【図７】
2020021396.tif 000009
【図８】
2020021396.tif 000010
【図９】
2020021396.tif 000011
【図１０】
2020021396.tif 000012
【図１１】
2020021396.tif 000013
【図１２】
2020021396.tif 000014
【図１３】
2020021396.tif 000015
【図１４】
2020021396.tif 000016
【図１５】
2020021396.tif 000017
【図１６】
2020021396.tif 000018
【図１７】
2020021396.tif 000019
【図１８】
2020021396.tif 000020
【図１９】
2020021396.tif 000021
【図２０】
2020021396.tif 000022