(57)【要約】      （修正有）【課題】アプリケーションがマウント要求を行うタイミングでのリコール処理を削減し、アプリケーションの実行スケジュールにおけるマウント時間を削減する。【解決手段】仮想テープ記録装置の仮想テープ・ドライブ（ＶＴＤ）が、ホストシステムから論理ボリューム（ＬＶＯＬ）のマウント要求を受け取るステップと、仮想テープ記録装置の制御部が、仮想記憶領域（キャッシュ）に論理ボリュームが存在するかを判断するステップと、仮想記憶領域に論理ボリュームがないと判断された場合は、制御部がマウント要求が書き込み要求であるかを判断するステップと、マウント要求が書き込み要求であると判断された場合は、マウント要求された論理ボリュームを、仮想テープ記録装置に外部接続される実テープ・ライブラリ装置から仮想記憶領域に読み出しを行わずに、ホストシステムにマウント完了を通知するステップとを含む方法。【選択図】図５
2011123834.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムからのマウント要求に対する仮想テープ記録装置（ＶＴＳ）による処理方法であって、
仮想テープ記録装置の仮想テープ・ドライブ（ＶＴＤ）が、前記ホストシステムから論理ボリューム（ＬＶＯＬ）のマウント要求を受け取るステップと、
前記仮想テープ・ドライブ（ＶＴＤ）に結合された前記仮想テープ記録装置の制御部が、前記仮想テープ記録装置の仮想記憶領域（キャッシュ）に前記論理ボリュームが存在するかを判断するステップと、
前記仮想記憶領域に前記論理ボリュームがないと判断された場合は、前記制御部が、前記マウント要求が書き込み要求であるかを判断するステップと、
前記マウント要求が書き込み要求であると判断された場合は、前記マウント要求された前記論理ボリュームを、前記仮想テープ記録装置に外部接続される実テープ・ライブラリ装置から前記仮想記憶領域に読み出しを行わずに、前記ホストシステムにマウント完了を通知するステップと
を含む方法。
【請求項２】
前記書き込み要求であるかを判断するステップは、前記仮想テープ・ドライブ（ＶＴＤ）が、書き込み専用の属性を設定されていることに基づいて、前記制御部が書き込み要求であると判断するステップを含む、請求項１に記載の方法。
【請求項３】
前記書き込み要求であるかを判断するステップは、前記論理ボリューム（ＬＶＯＬ）のデータ情報における書き込み専用フラグに基づいて、前記書き込み専用フラグがセットされている場合は、前記制御部が書き込み要求であると判断するステップを含む、請求項１乃至２に記載の方法。
【請求項４】
前記書き込み要求であるかを判断するステップは、前記ホストシステムからマウント要求される論理ボリューム（ＬＶＯＬ）の統計情報に基づいて判断するステップであって、前記統計情報を用いて、読み出しの発生時間間隔の周期性を判断するステップと、前記周期性がある場合において、前記発生時間間隔における読み出しを行わない確率を所定の閾値と比較するステップとを含み、前記比較において前記読み出しを行わない確率が前記閾値以上の場合には、前記制御部が書き込み要求であると判断するステップを含む、請求項２乃至３に記載の方法。
【請求項５】
前記書き込み要求であるかを判断するステップにおいて、
前記ホストシステムからマウント要求される論理ボリューム（ＬＶＯＬ）の統計情報に基づいて、前記論理ボリュームの次回マウント時刻の予測値を算出するステップと、
前記予測値に基づいて、設定された時刻に応じて事前に前記論理ボリュームに対応する物理ボリュームを前記実テープ・ライブラリ装置にマウントするステップと、
を含む、請求項１に記載の方法。
【請求項６】
前記統計情報は、論理ボリューム名、直近のマウント時刻、マウントの周期性データを含むマウント統計レコードであって、前記マウント統計レコードは前記制御部に結合された仮想テープ情報データベースに格納され、前記マウント要求された論理ボリューム（ＬＶＯＬ）のデータに基づいて登録および更新される、請求項４乃至５に記載の方法。
【請求項７】
前記書き込み専用の属性の設定は、前記仮想テープ記録装置（ＶＴＳ）に外部接続された操作端末からの前記制御部へのコマンド入力または前記ホストシステムからの前記仮想テープ・ドライブ（ＶＴＤ）へのコマンド入力によって更新される、請求項２に記載の方法。
【請求項８】
前記仮想記憶領域に前記論理ボリュームが存在する場合、前記仮想テープ記録装置は前記ホストシステムにマウント完了を通知し、
前記マウント要求が書き込み要求であると判断されない場合、前記マウント要求された前記論理ボリュームを前記実テープ・ライブラリ装置から前記仮想記憶領域に読み出した後、前記ホストシステムにマウント完了を通知する、請求項１に記載の方法。
【請求項９】
前記ホストシステムからのマウント要求が、特定のテープボリュームを指名する特定ボリューム・マウント要求である、請求項１乃至８に記載の方法。
【請求項１０】
ホストシステムからのマウント要求に対する処理を行う仮想テープ記録装置（ＶＴＳ）であって、
前記ホストシステムから論理ボリューム（ＬＶＯＬ）のマウント要求を受け取る、少なくとも１つの仮想テープ・ドライブ（ＶＴＤ）と、
前記論理ボリューム（ＬＶＯＬ）を格納する、仮想記憶領域（キャッシュ）と、
前記仮想テープ・ドライブと結合され、前記仮想記憶領域に前記論理ボリュームが存在するかを判断し、前記仮想記憶領域に前記論理ボリュームがないと判断された場合は、前記マウント要求が書き込み要求であるかを判断する、制御手段とを含み、
前記制御手段は、前記マウント要求が書き込み要求であると判断された場合は、前記マウント要求された前記論理ボリュームを、前記仮想テープ記録装置に外部接続される実テープ・ライブラリ装置から前記仮想記憶領域に読み出しを行わずに、前記ホストシステムにマウント完了を通知する、仮想テープ記録装置。
【請求項１１】
前記書き込み要求であるかの判断は、少なくとも前記仮想テープ・ドライブ（ＶＴＤ）の書き込み専用の属性の設定、および前記論理ボリューム（ＬＶＯＬ）のデータ情報における書き込み専用フラグの設定に基づく、請求項１０に記載の仮想テープ記録装置。
【請求項１２】
前記書き込み要求であるかの判断は、前記ホストシステムからマウント要求される論理ボリューム（ＬＶＯＬ）の統計情報に基づき、前記統計情報を用いて、読み出しの発生時間間隔の周期性を判断し、前記周期性がある場合において、前記発生時間間隔における読み出しを行わない確率を所定の閾値と比較し、前記比較において前記読み出しを行わない確率が前記閾値以上の場合に、前記制御手段が書き込み要求であると判断する、請求項１０乃至１１に記載の仮想テープ記録装置。
【請求項１３】
前記制御手段は、
仮想テープ・ドライブ情報データベースおよび仮想テープ情報データベースに結合され、前記仮想記憶領域との間のデータ転送を制御するデータ転送制御部と
前記仮想テープ記録装置に外部接続される実テープ・ライブラリ装置へのアクセスを制御するライブラリ制御部と、
を含む、請求項１０に記載の仮想テープ記録装置。
【請求項１４】
前記仮想テープ・ドライブ情報データベースは、前記仮想テープ・ドライブと前記実テープ・ライブラリ装置内のテープ・ドライブとのマッピング情報および前記ホストシステムに対応する前記仮想テープ・ドライブの書き込み属性テーブルを含み、前記属性テーブルは前記仮想テープ・ドライブが書き込み専用であるかを区別し、
前記仮想テープ情報データベースは、前記論理ボリューム（ＬＶＯＬ）の属性テーブルと、前記マウント要求の統計情報を含むマウント統計レコードとを含む、請求項１３に記載の仮想テープ記録装置。
【請求項１５】
前記仮想テープ情報データベースは、前記仮想テープ記録装置が事前マウントを行うときに参照する予測マウント・テーブルをさらに含み、前記予測マウント・テーブルは、論理ボリューム名とマウント予測時刻の対応関係を含む、請求項１４に記載の仮想テープ記録装置。
【請求項１６】
前記仮想テープ・ドライブは、前記マウント要求をした前記ホストシステムに対応して書き込み専用の属性が設定され、前記仮想テープ記録装置に外部接続される、操作端末あるいは前記ホストシステムからの入力に基づいて、前記書き込み専用の属性が更新され、
前記論理ボリューム（ＬＶＯＬ）の前記書き込み専用フラグの設定は、前記ホストシステムからのマウント要求時に行われる、請求項１１に記載の仮想テープ記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想テープ記録装置（ＶＴＳ）およびそのテープマウント制御方法に関する。より詳細には、論理テープボリュームのマウント時間を短縮するための方法およびその方法を実現する仮想テープ記録装置に関する。
【背景技術】
【０００２】
磁気テープはその記憶容量が大きいので、ハードディスクに格納された情報のバックアップなど大量データ記憶を行うために使用されてきた。しかしながら、磁気テープへのアクセスは低速であり、より高速なアクセスが可能であるハードディスクを磁気テープの代わりに用いる仮想テープ記録装置（ＶＴＳ：Virtual Tape Storage (Server)、以下の説明でＶＴＳまたは仮想テープサーバとも呼ぶ）がホストコンピュータの記憶媒体として開発された。仮想テープ記録装置は、ホストシステムに接続されたハードディスク上で仮想的にテープ装置をエミュレートすることで実際のテープ装置よりも高速に記憶媒体にアクセスすることを可能にする。
【０００３】
仮想テープ記録装置（ＶＴＳ）は、テープボリュームの仮想化を行っており、ホストアプリケーションが扱うＶＴＳ上のテープボリュームは論理ボリューム（ＬＶＯＬ（logical volume）、論理テープボリューム、仮想テープボリュームとも呼ぶ）として、ＶＴＳ内に存在する。論理ボリュームは、仮想記憶領域であるキャッシュと呼ばれるＶＴＳ制御下のディスク装置内に存在するか、同じくＶＴＳ制御下の実テープ・ライブラリ装置内に存在する。キャッシュに存在する論理ボリューム（ＬＶＯＬ）は、長期間未参照の場合、あるいはストレージ管理ポリシーに基づいて、実テープ・ライブラリ内の物理テープボリューム（以下の説明で物理ボリュームと呼ぶ）に移送（以下の説明では、「マイグレート」または「マイグレーション」と呼ぶ）される。
【０００４】
ある論理ボリューム（ＬＶＯＬ）がキャッシュに存在する場合、その論理ボリュームへのマウント要求は、物理ボリュームのマウントを必要とせずに、実施することができる。これに対して、ある論理ボリュームがキャッシュにはなく物理ボリュームにマイグレーション済みの場合、ＶＴＳはその物理ボリューム（たとえばテープ・カートリッジ）を物理装置（たとえばテープ・ドライブ）に装着し、キャッシュに論理（ＬＶＯＬ）ボリュームのデータを読み出す（コピーする）ことでホストシステムからのマウント要求を実行することができる。この物理ボリューム上のＬＶＯＬデータをキャッシュへの読み出すこと（ＬＶＯＬデータのコピー）は、通常「リコール」と呼ばれる。
【０００５】
ホストアプリケーション側から見た場合、キャッシュ上にある論理ボリュームのマウントに要する時間はミリ秒単位と想定されるのに対して、物理ボリュームからキャッシュへのデータ移動、すなわちリコールが必要な論理ボリュームのマウントは、論理ボリュームのデータが存在する物理ボリュームである物理テープの装着（マウント）およびキャッシュへの読み込みとが必要となり分単位の処理時間がかかる。したがって、ホストシステムからのマウント要求とその要求に対するマウント処理時間、すなわちマウント・パフォーマンスを検討することは重要である。
【０００６】
ホストシステムからＶＴＳに行われるＬＶＯＬのマウント要求は、特定ボリューム・マウント要求（Specific Volume Mount Request）と非特定ボリューム・マウント要求（Non-Specific Volume Mount Request）の２つの方式に大別される。特定ボリューム・マウント要求において、ホストアプリケーションが使用するボリューム通し番号が付されたテープボリュームをマウント要求すると、このマウント要求に応答してホストのオペレーティングシステムがＶＴＳに対して、ボリューム通し番号のテープボリュームをマウント要求する。このように特定ボリューム・マウント要求は、特定のテープボリュームを指名するマウント要求であり、ＵＮＩＸ（Ｒ）系のオペレーティングシステム（ＯＳ）において用いられる。
【０００７】
これに対して、非特定ボリューム・マウント要求は、特定のテープボリュームを指名しない。ホストアプリケーションが要求するテープボリュームは任意の「空きボリューム」（空きボリュームであればどのようなボリューム通し番号でもかまわない）である。ホストのオペレーティングシステムはこの要求に応答して、ＶＴＳに対してホストシステム上で「空きボリューム」に定義されたテープボリュームをマウント要求する。この非特定ボリューム・マウント要求は、ｚ／ＯＳ（Ｒ）に代表されるメインフレーム系のオペレーティングシステム（ＯＳ）で用いられ、通常書き込みのみに使用される。
【０００８】
非特定ボリューム・マウント要求は、書き込みによる使用であり、しかもホストからみて「空きボリューム」と分類されている属性のものであるので、キャッシュ上に論理ボリューム用のスペースを確保するだけでよく、リコール処理が必要となることはない。
仮想テープ記録装置（ＶＴＳ）に対して、リコールが発生する可能性があるのは、特定ボリューム・マウント要求が行われる場合である。ホストシステムがＶＴＳに対しマウント要求を行うタイミングでは、そのテープマウントを要求したアプリケーションが読み出しあるいは書き込みのどちらかを行うのか、その確定はできない、このためＶＴＳとしては、要求された論理ボリュームに有効なデータがあり、かつこれがキャッシュではなく、ＶＴＳに外部接続され、制御された物理ボリュームに存在する場合にはリコールを行う必要がある。
【０００９】
また、特定ボリューム・マウント要求のみを用いるＵＮＩＸ系ＯＳにおいては、ＶＴＳから論理ボリュームに書き込みたいのか、論理ボリュームから読み出したいのかは、ＶＴＳにとって区別がつかない。そして、ＶＴＳに論理ボリューム（ＬＶＯＬ）をマウントするときに、ＬＶＯＬのデータがキャッシュ（ディスク装置）に存在していない場合は、物理テープからＬＶＯＬのデータをキャッシュにコピーするために、前述のように分単位の時間がかかる。したがって、特定ボリューム・マウント要求により書き込みを行うアプリケーションについて、マウント処理時間の増大によるマウントパフォーマンス劣化の可能性がある。
【００１０】
通常、テープ装置に書き込みを行なうために、まずＶＴＳはホストシステムからＬＶＯＬのマウント要求を受け取る。マウント要求を受け取ったことに応答して、ＶＴＳの制御プログラムが仮想記憶領域のスペースマップを参照して、マウント要求をされたＬＶＯＬが仮想記憶領域に存在しない場合は、実テープ・ライブラリ装置の物理テープからそのＬＶＯＬデータを仮想記憶領域にコピーし、そのコピーが完了した後、ＶＴＳがホストシステムへマウント完了を通知し、その通知を受けたホストシステムがデータをテープ装置に書き込む手順が必要となる。
【００１１】
また、バックアップ等ようにＶＯＬのデータをすべて書き換えたい場合には、ＬＶＯＬデータをコピーするための上記の一連の書き込み手順は本来不要である。すなわち、この不要な一連の手順を行うことにより、マウント処理時間の増大につながっている。
【００１２】
マウントパフォーマンスの劣化を抑制する一手法として、ホストシステムにおいて、ルーチンアプリケーションが実行される前に、事前リコールを行わせるためのダミージョブをスケジュールすることが考えられる。しかしながら、この方法ではＶＴＳの運用管理においてダミージョブのスケジュール管理ができるように変更しなければならない。
【００１３】
特許文献１（特開２００３−２１６４６０号公報）において、低速ストレージに保存したデータを、データが使用されると予測されるアクセス頻度の遷移予測値（アクセスの変動周期）に基づいて高速ストレージに予め移動することが記載されている。しかしながら、予測が外れた場合、あるいは、移動するデータ容量に比べて書き込む量が少ない場合において、高速ストレージに不要なデータを書き込むことにつながり、他の論理ボリュームを利用する際のストレージシステムのパフォーマンス、すなわち動作効率が落ちる可能性がある。
【００１４】
特許文献２（特開２０００−２０２４７号公報）において、グループ化された仮想的なテープボリューム群を予め仮想記憶領域に展開しておき、そのグループ内の仮想的なテープボリュームに対するホストコンピュータからの要求（たとえばマウント要求）に迅速に応答できることが記載されている。しかしながら、該当するグループに最初の書き込み要求が来る場合には通常のマウント処理が必要となる。また、仮想的なテープボリューム群を予め仮想記憶領域に展開するので、仮想的なテープボリュームの読み出す機会のないデータをも仮想記憶領域へコピーすることになり、他のホストが仮想テープ装置を利用するときのパフォーマンスに影響を与える可能性がある。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００３−２１６４６０号公報
【特許文献２】特開２０００−２０２４７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
したがって、ホストアプリケーションが特定ボリューム・マウント要求を行うタイミングでのリコール処理を削減し、アプリケーションの実行スケジュールにおけるマウント時間を削減する必要がある。
【００１７】
仮想テープ記録装置（ＶＴＳ）において、ホストシステムからの受け取ったマウント要求の目的が書き込みと判断される（もしくは想定される）場合に、物理テープから仮想記憶領域であるキャッシュへの論理ボリューム（ＬＶＯＬ）のデータのコピーを行なわずに、マウント時間を削減することを目的とする。さらに、予めキャッシュに論理ボリュームを展開しないことにより、キャッシュへの無駄なアクセスを減らし、他のホストシステムが論理ボリュームを利用する際のマウントパフォーマンスに影響することなく、論理ボリュームのマウント時間を削減することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の概要は、仮想テープ記録装置（ＶＴＳ）がホストシステムから論理ボリューム（ＬＶＯＬ）のマウント要求を受け取るときに、当該ＬＶＯＬのマウントが書き込み（Ｗｒｉｔｅ）を目的とすると判断される（もしくは想定される）場合に、ＬＶＯＬのデータがＶＴＳの仮想記憶領域（以降、キャッシュと呼ぶ）としてのディスク装置（ＤＡＳＤ）に存在しない場合においてもＬＶＯＬのデータをＶＴＳに接続された実テープ・ライブラリ装置の物理テープからキャッシュにコピーすることなく、ホストシステムにマウント完了を通知する方法、およびその方法を実現する仮想テープ記録装置（ＶＴＳ）を提供することである。
【００１９】
本発明は、さらに、論理ボリューム（ＬＶＯＬ）のマウント要求の目的が読み出し（Ｒｅａｄ）あるいは書き込み（Ｗｒｉｔｅ）の統計情報に基づいてそのマウント要求の周期性を検出し、その周期における読み出ししない確率が閾値以上のときに、書き込みと想定する方法を含む。
【００２０】
本発明によれば、ホストシステムからのマウント要求に対する仮想テープ記録装置（ＶＴＳ）による処理方法が提供される。この方法は、仮想テープ記録装置の仮想テープ・ドライブ（ＶＴＤ）が、ホストシステムから論理ボリューム（ＬＶＯＬ）のマウント要求を受け取るステップと、仮想テープ・ドライブ（ＶＴＤ）に結合された仮想テープ記録装置の制御部が、仮想テープ記録装置のキャッシュに論理ボリュームが存在するかを判断するステップと、キャッシュに論理ボリュームがないと判断された場合は、制御部が、マウント要求が書き込み要求であるかを判断するステップと、マウント要求が書き込み要求であると判断された場合は、マウント要求された論理ボリュームを、仮想テープ記録装置に外部接続される実テープ・ライブラリ装置からキャッシュに読み出しを行わずに、ホストシステムにマウント完了を通知するステップと、を含む。
【００２１】
好ましくは、書き込み要求であるかを判断するステップは、仮想テープ・ドライブ（ＶＴＤ）が、書き込み専用の属性を設定されていることに基づいて、制御部が書き込み要求であると判断するステップを含む。
また、好ましくは、書き込み要求であるかを判断するステップは、論理ボリューム（ＬＶＯＬ）のデータ情報における書き込み専用フラグに基づいて、書き込み専用フラグがセットされている場合は、制御部が書き込み要求であると判断するステップを含む。
さらに、好ましくは、書き込み要求であるかを判断するステップは、ホストシステムからマウント要求される論理ボリューム（ＬＶＯＬ）の統計情報に基づいて判断するステップであって、統計情報を用いて、読み出しの発生時間間隔の周期性を判断するステップと、周期性がある場合において、発生時間間隔における読み出しを行わない確率を所定の閾値と比較するステップとを含み、比較において当該確率が閾値以上の場合には、制御部が書き込み要求であると判断するステップを含む。
【００２２】
好ましくは、書き込み要求であるかを判断するステップにおいて、ホストシステムからマウント要求される論理ボリューム（ＬＶＯＬ）の統計情報に基づいて、論理ボリュームの次回マウント時刻の予測値を算出するステップと、当該予測値に基づいて、設定された時刻に応じて事前に論理ボリュームに対応する物理ボリュームを実テープ・ライブラリ装置にマウントするステップと、を含む。
【００２３】
好ましくは、統計情報は、論理ボリューム名、直近のマウント時刻、マウントの周期性データを含むマウント統計レコードであって、このマウント統計レコードは制御部に結合された仮想テープ情報データベースに格納され、マウント要求された論理ボリューム（ＬＶＯＬ）のデータに基づいて登録および更新される。
【００２４】
書き込み専用の属性の設定は、仮想テープ記録装置（ＶＴＳ）に外部接続された操作端末からの制御部へのコマンド入力またはホストシステムからの仮想テープ・ドライブ（ＶＴＤ）へのコマンド入力によって更新される。
【００２５】
本発明による方法は、さらに、キャッシュに論理ボリュームが存在する場合、仮想テープ記録装置は、ホストシステムにマウント完了を通知し、マウント要求が書き込み要求であると判断されない場合、マウント要求された論理ボリュームを実テープ・ライブラリ装置からキャッシュに読み出した後、ホストシステムにマウント完了を通知することを含む。
【００２６】
ホストシステムからのマウント要求が、特定のテープボリュームを指名する特定ボリューム・マウント要求である。
【００２７】
本発明によれば、ホストシステムからのマウント要求に対する処理を行う仮想テープ記録装置（ＶＴＳ）が提供される。この仮想テープ記録装置（ＶＴＳ）は、
ホストシステムから論理ボリューム（ＬＶＯＬ）のマウント要求を受け取る、少なくとも１つの仮想テープ・ドライブ（ＶＴＤ）と、
論理ボリューム（ＬＶＯＬ）を格納する、キャッシュと、仮想テープ・ドライブと結合され、キャッシュに論理ボリュームが存在するかを判断し、キャッシュに論理ボリュームがないと判断された場合は、マウント要求が書き込み要求であるかを判断する、制御手段と、を含み、
当該制御手段は、マウント要求が書き込み要求であると判断された場合は、マウント要求された論理ボリュームを、仮想テープ記録装置に外部接続される実テープ・ライブラリ装置からキャッシュに読み出しを行わずに、ホストシステムにマウント完了を通知する。
【００２８】
前記書き込み要求であるかの判断は、少なくとも前記仮想テープ・ドライブ（ＶＴＤ）の書き込み専用の属性の設定、および前記論理ボリューム（ＬＶＯＬ）のデータ情報における書き込み専用フラグの設定（フラグをたてること、セット）に基づく。
【００２９】
書き込み要求であるかの判断は、好ましくは、ホストシステムからマウント要求される論理ボリューム（ＬＶＯＬ）の統計情報に基づき、当該統計情報を用いて、読み出しの発生時間間隔の周期性を判断し、当該周期性がある場合において、発生時間間隔における読み出しを行わない確率を所定の閾値と比較し、比較において当該確率が閾値以上の場合に、制御手段が書き込み要求であると判断する。
【００３０】
制御手段は、好ましくは、仮想テープ・ドライブ情報データベースおよび仮想テープ情報データベースに結合され、キャッシュとの間のデータ転送通信を制御するデータ転送制御部と、仮想テープ記録装置に外部接続される実テープ・ライブラリ装置へのアクセスを制御するライブラリ制御部と、を含む。
【００３１】
好ましくは、仮想テープ・ドライブ情報データベースは、仮想テープ・ドライブと実テープ・ライブラリ装置内のテープ・ドライブとのマッピング情報およびホストシステムに対応する仮想テープ・ドライブの書き込み属性テーブル（書き込み専用であることを区別する）を含み、仮想テープ情報データベースは、論理ボリューム（ＬＶＯＬ）の属性テーブルと、マウント要求の統計情報を含むマウント統計レコードとを含む。仮想テープ情報データベースは、仮想テープ記録装置が事前マウントを行うときに参照する予測マウント・テーブルをさらに含み、当該予測マウント・テーブルは、論理ボリューム名とマウント予測時刻の対応関係を有する。
【００３２】
好ましくは、仮想テープ・ドライブは、マウント要求をしたホストシステムに対応して書き込み専用の属性が設定され、仮想テープ記録装置に外部接続される、操作端末あるいはホストシステムからの入力に基づいて、書き込み専用の属性が更新され、
論理ボリューム（ＬＶＯＬ）の書き込み専用フラグの設定は、ホストシステムからのマウント要求時に行われる。
【発明の効果】
【００３３】
本発明によれば、仮想テープ記録装置（ＶＴＳ）がホストシステムから論理ボリューム（ＬＶＯＬ）のマウント要求を受け取るときに、当該ＬＶＯＬがキャッシュに存在しない場合には通常数分必要であったＬＶＯＬのマウント時間を、ＬＶＯＬのデータが読み出しされないことを判断することで、数秒で完了することができ、マウントパフォーマンスが向上する。さらに、本発明による方法は、バックアップなどＬＶＯＬのデータ内容をすべて書き換える作業において、特に有用である。
【００３４】
ホストシステムからのマウント要求に対して、仮想テープ記録装置（ＶＴＳ）によるテープマウント時間を削減あるいは事前マウントを効率よく行うことによって、従来のテープ運用管理を用いるＶＴＳにおいても、テープマウント時間削減への要求を満たすことが可能となる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施によるコンピュータシステムのブロック図である。
【図２】本発明の実施による仮想テープ記録装置（ＶＴＳ）の詳細を示すブロック図である。
【図３】仮想テープ記録装置にデータを書き込む方法の一例を示すフローチャートである。
【図４】仮想テープ記録装置からデータを読み取る方法の一例を示すフローチャートである。
【図５】本発明の実施によるマウント時間を削減する方法を示すフローチャートである。
【図６】本発明の実施によるホストからのマウント要求が書き込み要求であるか判断する手順の一例を示すフローチャートである。
【図７】論理ボリューム（ＬＶＯＬ）のマウント統計データを収集する方法の例を示すフローチャートである。
【図８】仮想テープ記録装置がマウント統計レコードから次回マウント時刻を予測するための方法を示すフローチャートである。
【図９】事前マウントのための予測マウント時刻のスケジュール更新方法の例を示すフローチャートである。
【図１０】事前マウントのスケジュール更新方法の例を示すフローチャートである。
【図１１】事前マウントの実行プロセスの例を示すフローチャートである。
【発明を実施するための形態】
【００３６】
図１は、本発明の実施の形態によるコンピュータシステム１００を示すブロック図である。このコンピュータシステム１００において、仮想テープ記録装置（ＶＴＳ：Ｖｉｒｔｕａｌ  ＴａｐｅＳｅｒｖｅｒ、仮想テープサーバとも呼ぶ、以下の説明でＶＴＳと省略する）１１０が、ホストコンピュータ（以下の説明でホストと省略）１０２と、実テープ・ライブラリ装置１５０との間に接続されている。この実テープ・ライブラリ装置１５０は、複数の物理的テープであるテープ・カートリッジ（物理的ボリューム、物理テープとも呼ぶ）１５６およびその駆動機構であるテープ・ドライブ（物理的装置）１５４を備える。図１では、ＶＴＳ１１０に１つのホスト１０２が接続されているが、１つのＶＴＳに複数のホスト１０２を接続してもよい。ＶＴＳ１１０は、論理ボリュームである仮想テープをファイルとして直接アクセス記憶装置（ＤＡＳＤ：direct access storagedevice）、すなわちキャッシュ１６０上にエミュレートする。ＤＡＳＤは、相互接続された多数のハードディスクから構成され、実テープ・ライブラリ装置内の物理ボリュームに対するキャッシュとして機能する。ＶＴＳ１１０は、当該技術分野において周知のいずれかのサーバ装置であり、当該技術分野において周知のいずれかのオペレーティングシステムを含み得る。
【００３７】
例えば、ホスト１０２は、実テープ・ライブラリ装置１５０をエミュレートするキャッシュ１６０に対して入力／出力（Ｉ／Ｏ）操作を行うことによって、実テープ・ライブラリ装置１５０に対するＩ／Ｏ操作を行う。少なくとも１つのＶＴＳ１１０が、複数のテープ・ドライブ（物理的装置）１５４及びテープ・カートリッジ(物理的ボリューム)１５６を含む実テープ・ライブラリ装置１５０に結合される。ＶＴＳ１１０は、ホスト１０２の要求を処理し、テープ・カートリッジ１５６内の論理ボリューム（ＬＶＯＬ）のデータにアクセスするか、可能であれば、ホストの要求についてのデータをキャッシュ１６０からホスト１０２へ戻す。ＬＶＯＬ１６２がキャッシュ内にない場合には、ＶＴＳ１１０は、ＬＶＯＬデータを実テープ・ライブラリ装置１５０からキャッシュ１６０にリコールする（呼び戻す）。すなわち、ＬＶＯＬデータをキャッシュに転送する。ＶＴＳ１１０は、ホスト要求に対して、キャッシュ内に存在するボリュームを用いることで、実テープ・ライブラリ装置１５０からキャッシュ１６０にリコールする必要があるボリュームについての要求より実質的に迅速に応答することができる。
【００３８】
したがって、頻繁にアクセスされるボリュームがキャッシュ内に保持される場合には、Ｉ／Ｏ要求をより迅速に満たすことができる。しかしながら、実テープ・ライブラリ装置１５０と比べてキャッシュの容量は相対的に小さいので、全てのボリュームをキャッシュ１６０内に保持することはできない。したがって、ＶＴＳ１１０は、事前にデータをキャッシュから実テープ・ライブラリ装置内１５０のテープ・カートリッジ(物理テープとも呼ぶ)１５６に転送する（マイグレーションする）。最終的に、これらの事前にマイグレーションされたボリュームは、キャッシュから除去され、テープ・カートリッジ上のデータを示すポインタに短縮され、新しいデータのためにキャッシュ内のスペースを空ける。この短縮化の作業は非常に高速であり、ＶＴＳにおける性能のボトルネックは、事前マイグレーションの作業自体である。
【００３９】
図１に示すように、１つ又は複数のホスト１０２及び１つ又は複数の操作端末（オペレータ・インターフェース）１０５がＶＴＳ１１０に接続される。ホスト１０２及び操作端末１０５は、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレームのような当該技術分野において周知のいずれかの装置とすることができる。
【００４０】
ＶＴＳ１１０ は、前述のキャッシュ１６０の他に、ＶＴＳ１１０を制御するための少なくとも１つの中央処理装置（ＣＰＵ）１２８と、ストレージの使用量を最適化する制御部（以降の説明でストレージ・マネージャと呼ぶ）１３０のような制御プログラムとを含む。ＣＰＵ１２８は、ＶＴＳ１１０におけるデータ転送の制御および論理ボリューム（ＬＶＯＬ、論理テープボリューム、または仮想テープボリュームとも呼ぶ）に関連する情報管理を行う。さらにＣＰＵ１２８は、本発明による論理ボリュームに関するマウント統計的データの処理を行う。また、実テープ・ライブラリ装置１５０に対する物理的テープ（磁気テープなど）１５６の着脱、テープの送りおよび巻戻し等の駆動制御も行う。
【００４１】
制御部であるストレージ・マネージャ１３０は、独立のアプリケーションとして実装することも、又は、１又は複数の他のアプリケーションの一部として実装することもできる。ストレージ・マネージャ１３０は、ＤＡＳＤからなるキャッシュ１６０及び実テープ（物理的）ライブラリ装置１５０へのアクセスを制御する。ストレージ・マネージャ１３０は、ホスト１０２、キャッシュ（ＤＡＳＤ）１６０ 、及び実テープ・ライブラリ装置１５０間のデータ移動を制御する。実テープ・ライブラリ装置１５０は、ストレージ・マネージャ１３０との間でデータの授受および物理テープの管理を行うライブラリ・マネージャ１５２と、たとえばテープ・カートリッジ等を含む物理的ボリューム（以下の説明で物理テープとも呼ぶ）１５６と、テープ・ドライブ等を含む物理的装置１５４と、物理的装置１５４へのアクセス機構１５８を含む。図１に示すように、実テープ・ライブラリ装置１５０は、通常、複数個の物理的ボリューム１５６（１５６Ａ〜１５６Ｎ）と複数個の物理的装置１５４（１５４Ａ〜１５４Ｍ）を含み得る。
【００４２】
キャッシュ１６０は、相互接続された多数のハードディスク・ドライブを含むＤＡＳＤ（直接アクセス記憶装置）とすることができる。また、キャッシュ１６０は、論理ボリューム（ＬＶＯＬ（logical volume））１６２を格納することができる。ＶＴＳ１１０は、ホスト１０２から実テープ・ライブラリ装置１５０へのＩ／Ｏ要求をより高速にアクセスが可能なキャッシュ１６０を用いて処理することによって、性能を改善し得る。キャッシュ内のディスクは、ＲＡＩＤ（Redundant Array of Independent Disks）等として構成することもできる。
【００４３】
ホスト１０２は、ＶＴＳ１１０と間で各種のテープ操作を取り交わす。テープ操作は、キャッシュ１６０内に格納された論理ボリューム１６２からデータを検索するか、又は、論理ボリューム１６２内にデータを格納する。ＶＴＳ１１０は、論理ボリューム（ＬＶＯＬ）１６２が、ホスト１０２によって物理的ボリューム１５６にアクセスされた後、キャッシュ１６０内の論理ボリューム１６２を自動的に事前マイグレーション（すなわち、オフロード）する。ホスト１０２の１つが、キャッシュ１６０内にはない論理ボリューム１６２を必要とする場合、ＶＴＳ１１０のストレージ・マネージャ１３０は、適切な物理的ボリューム（たとえばテープ・カートリッジ）１５６を物理的装置（たとえばテープ・ドライブ）１５４内にマウントするよう、実テープ・ライブラリ装置１５０に命令する。次に、要求されたＬＶＯＬデータが、キャッシュ１６０内の論理ボリューム１６２として物理的ボリューム１５６からコピーされる（すなわち、ＬＶＯＬデータが呼び戻される）。
【００４４】
図２は、本発明の一実施形態による仮想テープ記録装置（ＶＴＳ）の詳細を示すブロック図である。仮想テープ記録装置（ＶＴＳ）１１０は、主に、ＣＰＵ１２８と、仮想テープ・ドライブ（ＶＴＤ）であるテープ・デーモン１１８、制御部であるストレージ・マネージャ１３０、たとえばＤＡＳＤからなるキャッシュ１６０、および各種のデータベース（１３２、１３４、１３６、１３８）から構成される。ＶＴＳは、データの読み出し、データの書き込みのどちらに使用されるか、ホスト側ではわからない汎用の仮想テープ・ドライブ（ＶＴＤ）であるテープ・デーモンＶＴＤ−１，ＶＴＤ−２，・・・ＶＴＤ−Ｎと、本発明による、所定のホストに対して書き込み専用の設定をされた仮想テープ・ドライブであるテープ・デーモンＶＴＤ−Ｗを、ホストに向けて公開（提示）している。なお、複数の書き込み専用テープ・デーモンを設けても良い。ＶＴＳ１１０に複数のホストが接続される場合において、ホストごとに１つのテープ・デーモンを書き込み専用、あるいは汎用に設定しても良い。
【００４５】
仮想テープ記録装置（ＶＴＳ）１１０がホスト・インターフェース１１２を介してホスト１０２に接続され、ホスト１０２と通信する。このホスト・コンピュータ・インターフェース１１２には、エンタープライズ・システム接続（ＥＳＣＯＮ（Ｒ））（ＥＳＣＯＮ（Enterprise System CONnection）は、International Business Machines Corporationの商標） アダプタ、又は、当該技術分野において周知の他のいずれかのスイッチング機構（例えば、ファイバ・チャネル、ストレージ・エリア・ネットワーク（ＳＡＮ）相互接続等） のような、種々のホスト・コンピュータ・インターフェースを用いることができる。
【００４６】
このホスト・インターフェース１１２結合される装置ドライバ１１６を介して仮想テープ・ドライブ（ＶＴＤ：vertual tape drive）として機能するテープ・デーモン１１８Ａ・・・１１８Ｎ がホスト１０２に接続される。仮想テープ・ドライブ（ＶＴＤ）、すなわちテープ・デーモン１１８Ａ・・・１１８Ｎは、１つ又は複数のホスト・インターフェース１１２を通して、ホスト１０２からテープの読み書きの操作を受け取る。書き込み操作の場合には、テープ・デーモン１１８Ａ・・・１１８Ｎは、データを受け取り、論理ボリューム１６２を作成し、当該論理ボリューム１６２をファイルとしてキャッシュ１６０に書き込む。読み取り操作の場合には、テープ・デーモン１１８Ａ・・・１１８Ｎは、キャッシュ１６０にアクセスし、クライアント・カーネル拡張（図示せず、図２のキャッシュ・インターフェース部１４４の一部）を通してＬＶＯＬデータを検索し、ＬＶＯＬデータをホスト１０２に戻す。ＶＴＳ１１０は、ホスト１０２が物理的テープ・ドライブ１５４をエミュートするテープ・デーモン１１８Ａ・・・１１８Ｎ とではなく、テープ・ドライブ１５４と通信しているかのように作動する。各々のテープ・デーモン１１８Ａ・・・１１８Ｎは、キャッシュ１６０内のファイルにアクセスするのに用いられるファイル・システム・マネージャ（ＦＳＭ）１１９Ａ・・・１１９Ｎを含む。
【００４７】
ＶＴＳ１１０の制御部であるストレージ・マネージャ１３０は、データ転送制御部１４０およびライブラリ制御部１４２の制御プログラムを実行する。データ転送制御部１４０は、ホスト１０２からの書き込み要求に対して、ホストから転送されたデータを、必要に応じてキャッシュ・メモリ１４８を介してキャッシュ１６０のＬＶＯＬに記録するか、またはライブラリ制御部１４２を起動して、実テープ・ライブラリ装置１５０を駆動させて物理的ボリュームであるテープ・カートリッジ１５６に記録する。その際、ストレージ・マネージャ１３０は、テープ・デーモン情報データベース（すなわち、仮想テープ・ドライブ情報データベース）１３２、仮想テープ情報データベース１３４、ＤＡＳＤ（仮想記憶領域）スペース情報１３６、および実テープ情報データベース１３８を参照したり、あるいは更新したりする。また、データ転送制御部１４０は、ホスト１０２からの読み出し要求に対して、ＬＶＯＬデータ１６２を必要に応じてキャッシュ・メモリ１４８またはテープ・カートリッジ１５６からデータを読み出してホスト１０２へ転送する。
【００４８】
仮想テープ情報データベース１３４は、テープボリューム情報レコードからなる論理ボリューム情報テーブルを格納している。キャッシュ（仮想記憶領域）１６０に設けられた１つの論理ボリューム１６２に対して１つのテープボリューム情報レコードが１つずつ作成される。
この論理ボリューム（ＬＶＯＬ）情報テーブルの各レコードは、各種の情報フィールドを含み得る。例えばこのレコードは、論理ボリュームの名前を表す「ＬＶＯＬ（テープボリューム）名」、「ヘッダ情報」、論理ボリュームのブロックサイズを表す「全ブロックサイズ」、作成した時刻を表す「テープ作成時刻」、最後にアクセスされた時刻を表す「最終アクセス時刻」、最後に書き込みでアクセスされた時刻を表す「最終書き込み時刻」、論理ボリュームが最後にマウントされた時刻を表す「最終マウント時刻」、論理ボリュームがマイグレートされた時刻を表す「マイグレート時刻」、マウント回数を表す「マウント回数」、アドレスポインタの位置情報を表す複数の「テープマーク情報」、および本発明の実施形態による、論理ボリュームが書き込み専用であるかどうかを示す「書き込み専用フラグ」などの各フィールドを有する。
【００４９】
ストレージ・マネージャ１３０のデータ転送制御部１４０は、ＬＶＯＬデータをキャッシュ１６０、ＶＴＳ１１０に外部接続される実テープ・ライブラリ装置１５０のテープ・ドライブ１５４Ａ・・・１５４Ｍに転送する。一実施形態においては、図２に示されるように、データ転送制御部１４０が、キャッシュ１６０からテープ・ドライブ１５４Ａ・・・１５４Ｍへのデータの転送を制御する。さらに、データ転送制御部１４０は、テープ・デーモン１１８Ａ・・・１１８Ｎがデータをキャッシュ１６０に書き込む速度を制御する。
また、データのアクセス効率を向上するために、キャッシュ・メモリ１４８を、キャッシュ１６０や物理的テープボリューム１５６に対して読み出されるデータおよび書き込まれるデータを一時的に記憶するために、ストレージ・マネージャ１３０とキャッシュ１６０の間に配置してもよい。
【００５０】
データ転送制御部１４０は、データ転送の通知をホスト１０２の１つから受け取る。ホスト１０２は、どの論理ボリューム１６２がテープ・カートリッジ１５６Ａ・・・１５６Ｎの特定のプール内に配置されることになるかを示す。さらに、データ転送制御部１４０は、テープ・デーモン（仮想テープ・ドライブ）情報データベース（ＴＤＤＢ）１３２、仮想テープ情報データベース（ＶＴＤＢ）１３４、およびＤＡＳＤスペース情報データベース１３６との間でデータのやり取りを行う。テープ・デーモン情報データベース（ＴＤＤＢ）１３２は、テープ・デーモンと物理的テープ・ドライブとのマッピング情報を含み、さらにテープ・デーモン（ＶＴＤと以下で省略）１１８の属性データ情報テーブル（本発明による、書き込み専用の属性データを含む）を含むことができる。仮想テープ情報データベース（ＶＴＤＢ）１３４は、論理ボリューム（ＬＶＯＬ）１６２の属性テーブル１７０（ＬＶＯＬデータ内の書き込み専用のフラグを参照するための属性テーブル）、マウント要求の情報に関する統計的データであるマウント統計レコード１８０、および事前マウントのためのマウント予測時刻をテーブルにした予測マウント・テーブル１９０を含むことができる。また、ＤＡＳＤスペース情報データベース１３６は、キャッシュ１６０内のＬＶＯＬの配置情報を含むことができる。
【００５１】
データ転送制御部１４０は、データを転送するようにキャッシュ・インターフェース部１４４に通知する。キャッシュ・インターフェース部１４４は、キャッシュ１６０から、要求されたデータを検索し、そのデータをデータ転送制御部１４０のテープ・データ・サーバ（図示せず）に送る。キャッシュ・インターフェース部１４４は、テープ・デーモン１１８とキャッシュ（ＤＡＳＤ）１６０のインターフェースであり、キャッシュから要求されたデータを検索して、データ転送制御部１４０のテープ・データ・サーバ（図示せず）に送るクライアント・カーネル拡張部（図示せず）を含む。
【００５２】
データ転送制御部１４０のテープ・データ・サーバは、テープ・ドライブ１５４Ａ・・・１５４Ｍへのデータの書き込みを制御する。データは、テープ・データ・サーバから、ライブラリ・インターフェース部１４６（たとえば、ＡｔａｐｅドライバおよびＳＣＳＩアダプタ）を介して、テープ・ドライブ１５４Ａ・・・１５４Ｍに送られる。テープ・データ・サーバは、ライブラリ・インターフェース部１４６を介して、どのテープ・カートリッジ１５６がどの物理的テープ・ドライブ１５４の中に置かれるかを、ライブラリ・マネージャ１５２に伝える。データ転送制御部１４０は、ライブラリ制御部１４２を通して、メッセージをライブラリ・マネージャ１５２に送る。
【００５３】
ライブラリ制御部１４２は、実テープ情報データベース１３８に結合され、この実テープ情報データベース１３８は、たとえば物理的ボリューム１５６の情報テーブルを格納している。ライブラリ制御部１４２は、実テープ・ライブラリ装置１５０においてテープ・カートリッジ１５６を着脱するロボットの駆動制御や、装着された磁気テープの送り機構を駆動させてテープを送ったり戻したりする制御を行うプログラムとすることができる。
【００５４】
実テープ・ライブラリ装置１５０のライブラリ・マネージャ１５２は、テープ・ドライブ１５４Ａ・・・１５４Ｍに対するテープ・カートリッジ１５６Ａ・・・１５６Ｎのマウント及びアンマウントを管理する。データ転送制御部１４０は、適切な物理的なテープ・カートリッジ１５６を選択し、アクセスされた又は書き込まれた論理ボリューム１６２との関連に基づいてマウントする。ライブラリ・マネージャ１５２が、テープ・カートリッジ１５６をマウント又はアンマウントする通知を受け取ると、テープ・ドライブ１５４Ａ・・・１５４Ｍにアクセスするために用いられるアクセス機構１５８に通知する。アクセス機構１５８は、テープ・ドライブ１５４Ａ・・・１５４Ｍをマウント及びアンマウントする。
【００５５】
次に、ＶＴＳ１１０ 、キャッシュ１６０、および実（物理的）テープ・ライブラリ装置１５０の関係を図１のブロック図を再び参照して説明する。実テープ・ライブラリ装置１５０は、物理的装置１５４Ａ・・・１５４Ｍを含むことに加えて、物理的ボリューム（物理テープまたは実テープ）１５６Ａ・・・１５６Ｎを含む。物理的ボリューム１５６Ａ・・・１５６Ｎは、任意の物理的装置１５４Ａ・・・１５４Ｍにマウントすることもできる。物理的ボリューム１５６Ａ・・・１５６Ｎには、テープ・ドライブである物理的装置１５４Ａ・・・１５４Ｍに装着（即ち物理的にマウント）することができるテープ・カートリッジが含まれる。代替的な実施において、物理的ボリューム１５６Ａ・・・１５６Ｎは、ＣＤ―ＲＯＭ、ＤＶＤ、又は他の記憶媒体とすることができる。特定の実施において、物理的ボリューム１５６Ａ・・・１５６Ｎの数は、物理的装置１５４Ａ・・・１５４Ｍの数より多い。物理的装置１５４Ａ・・・１５４Ｍをプール内に組織化することができる。例えば、物理的ボリューム１５６Ａ及び１５６Ｂは、プール１５７内にあってもよい。
【００５６】
キャッシュ１６０と物理的装置１５４Ａ ・・・１５４Ｍとの間で行われる操作は、キャッシュ１６０から物理的ボリューム１５６Ａ・・・１５６Ｎへのデータ転送である、マイグレーションと、物理的ボリューム１５６Ａ・・・１５６Ｎからキャッシュ１６０へのデータ転送である、リコール（「呼び戻し」とも呼ぶ）である。一般的なデータ・ファイルのサイズは、１００〜２００メガバイトである。通常、物理的装置１５４Ａ・・・１５４Ｍより多くの物理的ボリューム１５６Ａ ・・・１５６Ｎ（論理装置内に格納された論理ボリューム１６２に対応する）があるので、リコールのために、ＶＴＳ１１０内にある物理的装置１５４Ａ・・・１５４Ｍより多くの物理的ボリューム１５６Ａ・・・１５６Ｎをマウントする時がある。その結果、他の物理的ボリューム１５６Ａ・・・１５６Ｎをマウントできるように、物理的ボリュームを除去することが必要なこともある。
【００５７】
ホスト１０２がＶＴＳ１１０に論理ボリューム１６２を要求するとき、論理ボリュームがキャッシュ１６０内にある場合、キャッシュ・ヒットが発生する。論理ボリュームがキャッシュ内にない場合には、ストレージ・マネージャ１３０が、対応する物理的ボリューム１５６Ａ・・・１５６Ｎが物理的装置１５４Ａ・・・１５４Ｍの１つにマウントされるかどうかを判断する。対応する物理的ボリューム１５６Ａ・・・１５６Ｎがマウントされていない場合には、ストレージ・マネージャ１３０は、対応する物理的ボリューム１５６Ａ・・・１５６Ｎを物理的装置１５４Ａ・・・１５４Ｍの１つにマウントするように作動する。論理ボリュームについてのデータは、対応する物理的ボリューム１５６Ａ・・・１５６Ｎから再び転送される、すなわちリコールされる。特定の実施において、リコール（呼び戻し）操作に、数分かかることがあり、リコールの待ち時間は、ロボット・アームがテープ・カートリッジにアクセスし、当該テープ・カートリッジをテープ・ドライブ内に挿入する時間、およびテープを所望の位置に配置する位置あわせ時間を含み得る。
【００５８】
ストレージ・マネージャ１３０は、論理ボリューム１６２を物理的ボリューム１５６Ａ・・・１５６Ｎにマッピングする。物理的ボリューム１５６Ａ・・・１５６Ｎに対応する論理ボリューム１６２Ａ・・・１６２Ｎは、キャッシュ１６０内にあってもよい。図１において、キャッシュ１６０は、論理ボリューム１６２Ａ・・・１６２Ｎを含む。キャッシュ１６０上の論理ボリュームは、時間の経過と共に変化し得る。ストレージ・マネージャ１３０は、キャッシュ１６０内の論理ボリュームを使用する可能性を高く保持しようと試みる。
【００５９】
ホスト１０２が論理ボリュームをＶＴＳ１１０に書き込むとき、データは、ファイルとしてキャッシュ１６０内に格納される。キャッシュに入れられたデータは、後で物理的ボリューム１５６Ａ・・・１５６Ｎ上にマイグレーションされる。キャッシュ１６０が所定のしきい値まで満たされると、選択された論理ボリューム１６２Ａ・・・１６２Ｎについての論理ボリュームのデータがキャッシュから除去され、より多くの論理ボリュームのためにスペースを空ける。なお、キャッシュに各論理ボリュームについて、論理ボリュームの冒頭の数レコード分、すなわち内部ラベル部を常に格納してもよい。
特定の実施において、ストレージ・マネージャ１３０は、最も長い時間、キャッシュ１６０上にあった論理ボリューム（すなわち、最長時間未使用の論理ボリューム）を、キャッシュ１６０から除去する。
【００６０】
データを書き込むために、ＶＴＳ１１０が用い得る標準的な書き込みシーケンスの一例を図３のフローチャート３００に示す。書き込みシーケンスのプロセスは、装置ドライバ１１６が、ホスト１０２から、マウント・コマンドおよび書き込みコマンドをテープ・デーモン１１８Ａ・・・１１８Ｎ についてのデータとともに受け取る、ステップ３０５で開始する。ステップ３０７において、ストレージ・マネージャ１３０は、書き込みのために、要求された論理ボリューム（ＬＶＯＬ）をマウントする。論理ボリュームのマウントは、開くこと（オープン）、位置決めすること、巻き戻すこと、その他、当該論理ボリュームの始まりに対して正しい位置でデータを読み書きする状態に論理ボリューム（ＬＶＯＬ）を置くあらゆる操作からなるものとすることができる。ホスト１０２は、データ・オブジェクト及びストレージ要求の形態で書き込みコマンドを送る。データ・オブジェクトは、論理ボリューム、ファイル、物理的ボリューム、論理的装置又は物理的装置、セクタ、ページ、バイト、ビット、又は他の何らかの適切なデータ単位を含むことができる。
【００６１】
次にステップ３１０において、テープ・デーモン１１８Ａ・・・１１８Ｎは、データを受信し、当該データをストレージ・マネージャ１３０に送る。ステップ３１５において、ストレージ・マネージャ１３０は、データ・オブジェクトをキャッシュ（ＤＡＳＤ）１６０及び／又は実テープ・ライブラリ装置の物理的ボリューム１５６に書き込む。ストレージ・マネージャ１３０は、また、いくつかの情報データベース（図２のテープ・デーモン情報ＤＢ  １３２，仮想テープ情報ＤＢ１３４、  ＤＡＳＤスペース情報ＤＢ１３６、実テープ情報ＤＢ  １３８）に関連するデータを書き込むことができる（これらのデータはキャッシュ・メモリ１４８に一時的に格納してもよい）。ステップ３１５において又は適当な別のステップ時に、データの主格納場所とデータのバックアップ用格納場所との間でデータ・オブジェクトのコピーを行うこともできる。
【００６２】
書き込み操作が完了していない場合には、必要に応じてステップ３１０、ステップ３１５、およびステップ３２０を繰り返す。書き込み操作が完了すると、ストレージ・マネージャ１３０は、現在のデータ・オブジェクトのメタデータをカプセル封入してもよい。メタデータのカプセル封入は、種々のメタデータ・サブコンポーネントを集め、これらを格納のために適切な形態で組み合わせることを含む。こうしたカプセル封入は、連結、集約、部分を統合された形にコード化すること、および暗号化等を伴う。メタデータは、そのメタデータに対応するデータが格納される論理ボリュームと関連付けられる。さらに、適当なデータ管理ポリシーのタイプによって、ステップ３１５において書き込まれるデータ・オブジェクトと共に、メタデータをキャッシュ１６０及び／又は別の格納場所（データベース）に書き込んでもよい。最後に、ステップ３３５において書き込みシーケンス３００が終了する。
【００６３】
データを読み取るために、ＶＴＳ１１０が用い得る標準的な読み出し（読み取り）シーケンスの一例を、図４のフローチャート４００に示す。フローチャート４００のプロセスは、ＶＴＳから情報を得るためのプロセスの一例であり、他のプロセスを用いることもできる。読み出しシーケンス４００は、装置ドライバ１１６が、特定の論理ボリューム１６２のマウント要求をホスト１０２から受け取ったときに開始される（ステップ４０５）。マウント要求をホスト１０２から受け取ったことに応答して、装置ドライバ１１６は、読み出し要求をテープ・デーモン１１８Ａ・・・１１８Ｎ及びストレージ・マネージャ１３０に送る。ステップ４０７において、論理ボリュームがまだキャッシュ１６０内にないかどうか確認し、キャッシュ１６０内にない場合は、読み出すために要求された論理ボリュームと関連した物理的テープ・カートリッジをマウントする。ステップ４１０において、論理ボリュームについてのデータ及びメタデータが読み出される。ステップ４１５において、読み出されたデータがホスト１０２に戻される。ステップ４２０において、要求された論理ボリュームの読み出しの状態が調べられ、読み出しが完了したかどうかを判断する。読み出しが完了した場合には、制御は、ステップ４３５に移る。読み出しが完了していない場合には、読み出しが完了するまでステップ４１０、ステップ４１５、及びステップ４２０が繰りかえし実行され、完了すると、ステップ４３５においてプロセスが終了する。
【００６４】
本発明の一実施形態の概要を説明するプロセスフローの例を、図５のフローチャートに示す。これは仮想テープ記録装置（ＶＴＳ）１１０において、ホスト１０２から論理ボリューム（ＬＶＯＬ）のマウント要求を受け取ったときに、ＬＶＯＬのマウントが書き込み（Ｗｒｉｔｅ）を目的とするものと判断される場合には、たとえＬＶＯＬのデータが仮想記憶領域であるキャッシュ１６０（ＤＡＳＤ、ディスク）上に存在しない場合でも、ＬＶＯＬデータを実テープ・ライブラリ装置１５０（の物理的ボリューム１５６）からキャッシュ１６０へのデータのコピーを行なわずに、マウント時間を削減するため方法の概要である。
【００６５】
図２を参照しながら、本実施の形態である図５のプロセスフローを以下に説明する。プロセスは、ステップ５１０において、ＶＴＳに外部接続されたホスト１０２からホスト・インターフェース１１２および装置ドライバ１１６を介して、仮想テープ・ドライブ（ＶＴＤ）であるテープ・デーモン１１８がホスト１０２から論理ボリューム（ＬＶＯＬ）１６２のマウント要求を受け取る。次に。仮想テープ・ドライブ（ＶＴＤ）１１８に結合された、制御部であるストレージ・マネージャ１３０が、ＤＡＳＤスペース情報ＤＢ１３６を参照して、マウント要求された論理ボリューム（ＬＶＯＬ）１６２が仮想記憶領域であるキャッシュ（ＤＡＳＤ）１６０上にあるか判断する。ＬＶＯＬ１６２がキャッシュ１６０上にあると判断されると、制御部１３０はホストへマウント完了を通知する。ステップ５２０で、制御部によってＬＶＯＬ１６２がキャッシュ１６０上にないと判断されると、本実施の形態であるステップ５３０へ進み、マウント要求が書き込み要求であるかを制御部１３０が判断する。このステップ５３０は、後述の図６を用いて詳細に説明する。ステップ５３０で、制御部１３０が「書き込み」要求であると判断すると、ＬＶＯＬのデータを実テープ・ライブラリ１５０からキャッシュ１６０に読み出す（コピーする）ことなく、ホスト１０２へマウント完了を通知する（ステップ５５０）。
【００６６】
ステップ５３０において、書き込み要求ではないと判断されると、通常の操作として、実テープ・ライブラリ装置１５０において、要求されたＬＶＯＬ１６２に対応する物理ボリューム１５６をテープ・ドライブ１５４にアクセス機構１５８を用いて挿入し、ライブラリ・マネージャ１５２を介して、制御部１３０のライブラリ制御部１４２によって、キャッシュ１６０に要求されたＬＶＯＬのデータを読み出す（すなわちコピーする）（ステップ５４０）。その後、制御部１３０はホスト１０２へマウント完了を通知する（ステップ５５０）。そして、ステップ５９０においてプロセスが終了する。なお、ＬＶＯＬのマウント完了に続いて、ＶＴＳ１１０は、ホストからの要求に対する書き込み処理（図３のステップ３１０以降のステップ）および読み出し処理（図４のステップ４１０以降のステップ）を行うことができる。たとえば、ホスト１０２がＬＶＯＬデータ情報の読み出しを必要とする場合は、そのＬＶＯＬのデータ情報を実テープ・ライブラリ１５０の物理テープ１５６からＶＴＳ１１０のキャッシュ１６０へ読み出すことも可能である。
【００６７】
本実施の形態に対して、従来の方法は、図５のステップ５２０でＬＶＯＬがキャッシュ（仮想記憶領域）１６０に存在しないと制御部１３０が判断すると、制御部１３０のライブラリ制御部１４２を通じて実テープ・ライブラリ装置１５０の対応する物理的ボリューム（すなわち物理テープ）１５６から、ホストから要求されたＬＶＯＬのデータをキャッシュ１６０にコピーし（ステップ５４０）、コピーが完了した後、ＶＴＳ１１０がホスト１０２へマウント完了を通知する（ステップ５５０）。この場合には、ホスト１０２からのマウント要求が書き込要求であったとしても、実テープ・ライブラリ装置１５０での物理テープ１５６の物理的テープ・ドライブ１５４へのマウント完了からキャッシュ１６０へのＬＶＯＬデータのコピーが完了するまでの一連の作業が完了するまで待機する必要がある。このため分単位の処理時間がかかる。たとえば、バックアップなどのようにＬＶＯＬデータを丸ごと書き換えたい場合には、上記の一連の作業は不要であり、マウント時間を無駄に消費していた。
【００６８】
図５のフローチャートにおけるステップ５３０、すなわちホスト１０２からのマウント要求が書き込み要求であるかどうかを判断するステップを、図６を用いてより詳細に説明する。この書き込み要求であるかを判断するステップは、いくつかのステップ(ステップ５３２、ステップ５３４、およびステップ５３６〜５３８)を含み、これらのステップは連続して用いることもできるし、独立して用いることもできるし、さらに各ステップを任意に組み合わせることもできる。図５のステップ５２０において、制御部１３０がＬＶＯＬ１６２がキャッシュ（ＤＡＳＤ）１６０に存在しない判断すると、ステップ５３２に進む。このステップ５３２において、制御部１３０が、ホスト１０２からマウント要求を受け取った仮想テープ・ドライブ（ＶＴＤ）、すなわちテープ・デーモン１１８が、書き込み専用の属性を設定されたものであるか判断する。これは、たとえば、図２のテープ・デーモン情報データベース１３２に格納されたテープ・デーモン（仮想テープ・ドライブ）１１８の属性テーブル情報を制御部１３０が参照し、マウント要求を受け取ったテープ・デーモン１１８が書き込み専用の属性を設定されたもの（たとえば図２で、ＶＴＤ−Ｗ  １１８Ｃ）と制御部１３０が判断すると、物理的装置であるテープ・ドライブ１５４および物理的ボリュームであるテープ・カートリッジ（テープメディアとも呼ぶ）１５６を作動させることなく、制御部１３０はホスト１０２へマウント完了を通知する（ステップ５５０）。
【００６９】
テープ・デーモン情報データベース１３２は、テープ・デーモン１１８と実テープ・ライブラリ１５０のテープ・ドライブ１５４とのマッピング情報、および各テープ・デーモンの所定のホストに対して書き込み専用であることを示す仮想テープ・ドライブ属性テーブルを格納する。制御部１３０は、このマッピング情報およびこの属性テーブルから書き込み専用の仮想テープ・ドライブ１１８を実テープ・ライブラリ１５０に関連付ける。１つのテープ・デーモンが複数のホストに対して書き込み専用として割り付けられてもよい。さらに、１つのテープ・デーモンがあるホストに対して書き込み専用と設定され、別のホストに対して書き込みでも読み出しでもよい汎用タイプとして設定されてもよい。なお、テープ・デーモン１１８の書き込みの属性については、ＶＴＳ１１０に接続された操作端末１０５からの直接入力、またはホスト１０２からのコマンドによって動的に変更することも可能である。またテープ・デーモン１１８の書き込みの属性をそのＶＴＳに接続されるホスト１０２によって固定してもよい。
【００７０】
ステップ５３２で、テープ・デーモン（仮想テープ・ドライブ）１１８が書き込み専用でないと判断された場合、ステップ５３４へ進み、マウント要求された論理ボリューム（ＬＶＯＬ）のデータ情報の書き込みに関する属性をチェックする。すなわち、制御部１３０は、ＬＶＯＬ属性データ１７０を格納した仮想テープ情報データベース（ＤＢ）１３４にアクセスし、ＬＶＯＬ属性データ１７０において書き込み専用フラグがセットされているか確認する。ＬＶＯＬ属性データ１７０に書き込み専用フラグがセットされている場合には、ステップ５５０へ進んで、制御部１３０はホスト１０２へマウント完了を通知する。
【００７１】
ステップ５３４で、ＬＶＯＬ属性データ１７０において書き込み専用フラグ（たとえば、書き込み専用の場合に「１」がセットされる）がセットされていない場合、マウント要求された論理ボリューム（ＬＶＯＬ）に対する統計データ情報（以下で説明するマウント統計レコード１８０を用いて）から、書き込みが想定されるかどうかを判断するステップ５３６〜５３８へ進む。ステップ５３６において、制御部１３０は、まず、マウント要求されたＬＶＯＬの統計データ情報から、当該マウント要求が読み出しを伴うものかどうか、そしてその読み出しの周期性（当該マウント要求の発生時刻の解析による）を確認する。すなわち、制御部１３０は、ＬＶＯＬのマウント統計レコード１８０（詳細は図７を用いて後述）を格納した仮想テープ情報ＤＢ  １３４にアクセスし、そのＬＶＯＬデータの読み出しが所定の発生時間間隔のゾーン（周期）に該当するかどうかを確認する。次に、ステップ５３６において、制御部１３０が周期性ありと判断すると、ステップ５３８へ進み、その周期において、読み出し（Ｒｅａｄ）しない確率を所定の閾値と比較し、読み出ししない確率が閾値以上の場合は、ステップ５５０へ進んで、制御部１３０はホスト１０２へマウント完了を通知する。
【００７２】
ステップ５３６で周期性がないと判断される場合およびステップ５３８で読み出ししない確率が閾値を超えない場合には、ステップ５４０へ進み、要求されたＬＶＯＬのデータを実テープ・ライブラリ装置１５０からキャッシュ１６０に読み出す。このキャッシュ１６０にＬＶＯＬのデータを読み出すステップは、制御部１３０のライブラリ制御部１４２を介して、実テープ・ライブラリ装置１５０のライブラリ・マネージャ１５２と通信し、要求されたＬＶＯＬ１６２のデータに対応する物理的ボリューム１５６をテープ・ドライブ１５４にアクセス機構１５８を用いて装着することにより行う。
【００７３】
なお、本実施の形態において、書き込みを判断するステップである、ステップ５３２、ステップ５３４、ステップ５３６およびステップ５３８が一連のステップとして連続する形態で説明したが、それぞれのステップは独立して行うこともステップの順番を変更することもできる。たとえば、図６のステップ５３２でＮＯの場合およびステップ５３４でＮＯの場合において、ステップ５４０へ進んで、実テープ・ライブラリ装置１５０から要求されたＬＶＯＬのデータをキャッシュ１６０読み出すこともできる。ステップ５３６およびステップ５３８で参照するマウント要求の統計データ情報により、「書き込み」の想定を行うことと並行して、または独立して（書き込みの想定が外れることを保証するため）、事前（ｉｍｍｅｄｉａｔｅ）マウントを行うこともできる。この事前マウントとは、ＶＴＳ１１０のＣＰＵ１２８がマウント要求の周期性をモニターし、必要に応じて、ストレージ・マネージャ１３０にコマンドを出して、事前に該当するＬＶＯＬのデータ情報を含む物理テープ１５６をテープ・ドライブ（物理的装置）１５４にマウントし、位置合わせを行うことである。この事前マウントにより、書き込みの想定が外れるケースも含め、ホストから読み出し要求が来た場合に、新たにＬＶＯＬデータの情報を物理テープからキャッシュへ読み出し、位置合わせを行うための処理時間を短縮することもできる。また、事前マウントにおいて、物理テープ１５６をテープ・ドライブ１５４にマウントするが、位置合わせを行わないようにすることもできる。これにより、物理テープから読み出す必要がなかった場合に、物理テープをテープ・ドライブから取り出す時間を短縮することができる。さらに、事前マウントは、位置合わせ後にＬＶＯＬデータ情報の一部、もしくは全部を事前に物理テープ１５６からキャッシュ１６０へ読み出しておいてもよい。これにより、物理テープから読み出す必要があった場合に、ＬＶＯＬのマウントに要する時間を短縮することができる。
【００７４】
次に、ホスト１０２からマウント要求されたＬＶＯＬのマウント統計データを収集し、マウント統計レコード１８０を作成および更新する方法を図７のフローチャート６００に示す。まず、ステップ６１０で、ＶＴＳ１１０がホスト１０２から関連するＬＶＯＬのアンマウント要求を受け取る。次に、ＶＴＳ１１０の制御部１３０がそのＬＶＯＬのデータ情報を、データ転送制御部１４０を介して仮想テープ情報データベース（ＤＢ）１３４に格納されたマウント統計レコード１８０に登録されているか判断する（ステップ６２０）。このマウント統計レコード１８０には、ＬＶＯＬ名、直近のマウント時刻、読み出し有りのマウント統計および読み出し無しのマウント統計について、それぞれ発生時間間隔（ゾーン）ごとのマウント統計、およびマウント予測時刻（詳細は後述）などが含まれる。ステップ６２０で、マウント統計レコード１８０に登録されていない（ＮＯの）場合は、マウント統計レコードに、少なくともＬＶＯＬ名、直近のマウント時刻を登録する（ステップ６４０）。ステップ６２０で、マウント統計レコード１８０に登録されている（ＹＥＳの）場合は、マウント統計レコードについて、少なくともＬＶＯＬ名、直近のマウント時刻を更新する（ステップ６３０）。そして、ステップ６３０またはステップ６４０が完了したら、ステップ６５０に進み、ＶＴＳ１１０は、ＬＶＯＬのアンマウントを行う。
【００７５】
ホスト１０２からの特定ボリューム・マウント要求（Specific Volume MountRequest）の判別およびそのマウント要求の統計に基づく次回マウント時刻の予測により、ＶＴＳ１１０は、事前マウント（immediate マウント）を行うことができる。換言すれば、ＶＴＳ１１０がＬＶＯＬデータの書き込みのアクセス解析を行い、次回のマウントを予測して事前マウントを行うことが可能となる。この事前マウントにより、ＶＴＳ１１０は、テープ・ドライブ１５４にテープ・カートリッジ（物理テープ）１５６を装着するだけで、論理ボリューム（ＬＶＯＬ）１６２をキャッシュ（ＤＡＳＤ）１６０にリコールすることなくマウント完了をホストに通知することができる。
【００７６】
ホスト１０２からマウント要求されたＬＶＯＬのマウント統計データを収集して、マウント予測時刻を推定し、このマウント予測時刻を用いて該当するＬＶＯＬの事前マウントを行うための実施形態の一例を以下の図８〜図１１を用いて説明する。図８は、ＶＴＳ１１０がマウント統計レコードから次回マウント時刻を予測するための方法である、フローチャート７００を示す。
まずステップ７１０でＶＴＳ１１０は、ホスト１０２からのマウント要求が特定ボリューム・マウント要求かどうかを判断する。ＶＴＳ１１０は、ホストアプリケーションからのマウント要求が特定の論理（テープ）ボリュームを指名するマウント要求である場合は、特定ボリューム・マウント要求と判断することができる。次に、そのマウント要求が、特定ボリューム・マウント要求と判断されなかった場合（ステップ７１０でＮＯ）は、次のマウント要求を待機する。ステップ７１０でＹＥＳの場合は、ステップ７２０に進み、要求されたＬＶＯＬについて、ＶＴＳ１１０の制御部１３０がそのＬＶＯＬのデータ情報を含むマウント統計レコード１８０が存在するかを判断する。ステップ７２０で、マウント統計レコード１８０が存在しない（ＮＯの）場合には、新たにマウント統計レコードを作成し、そのレコード中に直近のマウント時刻を記録する（ステップ７６０）。
【００７７】
ステップ７２０で該当するＬＶＯＬについてのマウント統計レコードが存在する（ＹＥＳの）場合、現在のマウント時刻と直近のマウント時刻の時間間隔（インターバル）をＣＰＵ１２８が算出し、その時間間隔を事前に設定された時間ゾーン（周期性のインターバル）に割り振り、その時間ゾーンごとにマウント要求回数を累積する（ステップ７３０）。
事前に設定された時間ゾーン（周期性のインターバル）の例を以下に挙げる。
１２時間  ＋／−  １時間  ＝＞  １２時間インターバル
２４時間  ＋／−  １時間  ＝＞  １日インターバル
７日  ＋／−  ６時間  ＝＞  １週インターバル
３０日  ＋／−  １日  ＝＞  １月インターバル
３６５日  ＋／−  １週  ＝＞  １年インターバル
など。
【００７８】
次に、ステップ７４０に進み、時間ゾーンごとに累計されたマウント回数を比較し、最大のマウント回数を有するゾーンの時間間隔を現在のマウント時刻に加算して、次回のマウント時刻の推定値を示すマウント予測時刻を求める。次に、ステップ７５０に進み、求めたマウント予測時刻をマウント統計レコード１８０に記録し、さらに、ＬＶＯＬ名とマウント予測時刻を「予測マウント更新部（プログラム）」に非同期（イベント）通知する。そして処理を終了する（ステップ７９０）。この「予測マウント更新部」は、制御部１３０のデータ転送制御部１４０の１つの機能プログラムであり、仮想テープ情報データベース（ＤＢ）１３４に格納されたマウント統計レコード１８０の更新を行う。
【００７９】
マウント統計レコード１８０は、たとえば論理ボリューム名、マウント予測時刻、マウント統計のフィールドを持つレコードとすることができる。このマウント統計はたとえばｎ個の配列（ｎは１以上の整数）から構成され、各配列の要素がマウント間隔をあらわす。上記ステップ７４０の例の場合、ｍ[０]（１２時間インターバル）からｍ[４]（１年インターバル）まで５つのゾーンに分けられたマウント統計情報を有する。
【００８０】
図９に、事前マウントのためのマウント予測時刻のスケジュール更新のフローチャート８００を示す。このマウント予測時刻のスケジュール更新は、「予測マウント更新部」によって行われ、図８のステップ７５０で非同期通知を受けた時に、予測マウント更新部が起動し、フローチャート８００の各ステップを行う。
まず、ステップ８１０で、予測マウント更新部は、ＬＶＯＬ名とマウント予測時刻の非同期通知（以下でイベント通知とも呼ぶ）を受け取るまで待機する。次に、予測マウント更新部は当該イベント（非同期）通知を受け取ると起動し、データ転送制御部１４０に結合された仮想テープ情報データベース（ＤＢ）１３４に格納された予測マウント・テーブル１９０をオープンする（ステップ８２０）。そして、イベント通知の内容に基づいて、予測マウント・テーブル１９０内に少なくともＬＶＯＬ名およびマウント予測時刻のフィールドを有するレコード（予測マウント・レコード）の追加および更新を行う（ステップ８４０）。換言すれば、この予測マウント・レコードは、予測マウント更新部が参照するレコードである。最後に、予測マウント更新部は当該予測マウント・テーブル１９０をクローズする（ステップ８５０）。好ましくは、これらのステップ８１０〜８５０を繰り返して、マウント予測時刻のスケジュールを更新する。
【００８１】
図１０に、事前マウントのスケジュール更新のフローチャート９００を示す。この事前マウントのスケジュール管理を含む一連のプロセスは、「事前マウント・スケジューラ」によって行われ、この事前マウント・スケジューラは、所定のインターバル時間（以下の説明ではＮ分）ごとに起動されるプログラム（プロセス）である。この事前マウント・スケジューラは、制御部１３０のデータ転送制御部１４０の１つの機能プログラムとすることができる。
まず、ステップ９１０で、事前マウント・スケジューラは、所定のインターバル時間が経過するまで待機する。次に、事前マウント・スケジューラがインターバル（たとえばＮ分）経過後、起動し（ステップ９２０）、データ転送制御部１４０に結合された仮想テープ情報ＤＢ１３４に設けた予測マウント・テーブル８３０をオープンする（ステップ９３０）。
【００８２】
次に、予測マウント・テーブル８３０に基づいて、以下の条件にあう予測マウント・レコードを選択する（ステップ９４０）。
スケジューラ起動時刻≦事前マウント時刻≦スケジューラ現在時刻＋インターバル（Ｎ）
ステップ９４０で選択された予測マウント・レコードをＮ÷Ｍ（１≦Ｍ≦Ｎ）の時間ゾーン（以下、「バンド」）に振り分ける（ステップ９５０）。次に、事前マウント・スケジューラは、ＬＶＯＬに対応して事前マウントを行うために各バンド時刻でタイマ起動するようにスケジュール設定を行う。このとき、各バンドに属する予測マウント・レコードの論理ボリューム（群）を事前マウントのための引数として与える（ステップ９６０）。最後に、事前マウント・スケジューラは、予測マウント・テーブルをクローズする（ステップ９７０）。これらのステップ９１０〜９７０を繰り返して、事前マウントのスケジュールを更新する。
【００８３】
図１１は、事前マウントの実行プロセスを示すフローチャート１０００である。事前マウント（immediateマウント）はＶＴＳ１１０によって実行され、事前マウント・スケジューラによってタイマ起動する。
まず、ステップ１０１０で、制御部１３０は、データ転送制御部１４０に結合された仮想テープ情報データベース（ＤＢ）１３４に設けた予測マウント・テーブル１９０をオープンする。そして、制御部１３０は、予測マウント・テーブル１９０に基づいて、各バンドに属する予測マウント・レコードのＬＶＯＬ（群）のうち、引数として与えられたＬＶＯＬのデータを含む物理テープ１５６を事前マウントするように作動する（ステップ１０２０）。次に、事前マウントを実行したＬＶＯＬに関連する予測マウント・レコードを削除する（ステップ１０３０）。そして、制御部１３０は事前マウントすべきＬＶＯＬがまだ存在するかどうかを判断する（ステップ１０４０）。引数によりまだ事前マウントすべきＬＶＯＬが存在する場合は、ステップ１０２０〜ステップ１０４０を繰り返す。事前マウントすべきＬＶＯＬが存在しない場合は、予測マウント・テーブル１９０をクローズする（ステップ１０５０）。
【００８４】
本実施の形態において、書き込み専用の設定をされた仮想テープ・ドライブ(テープ・デーモン)に論理ボリューム（ＬＶＯＬ）のマウント要求を受けた場合、ホストにマウント完了を通知する前に、あるいは、そのマウント完了の通知と並行して事前マウントを実施しても良い。しかしながら、事前マウントを必ずしも実施する必要はない。また、書き込み専用の設定をされた仮想テープ・ドライブに論理ボリューム（ＬＶＯＬ）のマウント要求を受けた場合、実テープ・ライブラリ装置のテープ・ドライブおよびテープ・カートリッジを必ずしも作動させる必要はない。
【００８５】
また、ホストから論理ボリューム（仮想テープ、仮想テープ・メディア）にデータを書き込むタイミングと、そのデータを物理ボリューム（物理テープ）に書き込むタイミングは必ずしも同じではないことに留意されたい。また、書き込む際に選択され利用される物理テープは、論理ボリューム（ＬＶＯＬ）名（識別子ＩＤ）によって一意に決まるものではないことにも留意されたい。
【００８６】
本発明によれば、ある１つの論理ボリューム（ＬＶＯＬ）を複数のホストが利用しようとした場合に、あるホストは書き込み専用の設定をされた仮想テープ・ドライブ(テープ・デーモン)により書き込み専用として、また別のホストは、読み出し用として、それぞれ別の目的で１つの論理ボリュームを並行して使用するこも可能である。
【００８７】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。
【符号の説明】
【００８８】
１０２  ホスト
１０５  操作端末（オペレータ・インターフェース）
１１０  仮想テープ記録装置（ＶＴＳ）
１１２  ホスト・インターフェース
１１６  装置ドライバ
１１８  仮想テープ・ドライブ（ＶＴＤ）、テープ・デーモン
１１９  ファイル・システム・マネージャ（ＦＳＭ）
１２８  中央処理装置（Ｃ ＰＵ）１２８
１３０  制御部（ストレージ・マネージャ）
１３２  テープ・デーモン情報データベース（ＤＢ）
１３４  仮想テープ情報データベース（ＤＢ）
１３６  ＤＡＳＤ（仮想記憶領域）スペース・データベース（ＤＢ）
１３８  実テープ情報データベース（ＤＢ）
１４０  データ転送制御部
１４２  ライブラリ制御部
１４４  キャッシュ・インターフェース部
１４６  ライブラリ・インターフェース部
１４８  キャッシュ・メモリ（一時記憶）
１５０  実テープ・ライブラリ装置
１５２  ライブラリ・マネージャ
１５４  テープ・ドライブ、物理的装置
１５６  テープ・カートリッジ、物理的ボリューム（物理テープ）
１５８  アクセス機構
１６０  キャッシュ、仮想記憶領域（ＤＡＳＤ、ディスク）
１６２  論理ボリューム（ＬＶＯＬ）、仮想テープボリューム
１７０  ＬＶＯＬ属性テーブル
１８０  マウント統計レコード
１９０  予測マウント・テーブル
【図１】
2011123834.tif 000003
【図２】
2011123834.tif 000004
【図３】
2011123834.tif 000005
【図４】
2011123834.tif 000006
【図５】
2011123834.tif 000007
【図６】
2011123834.tif 000008
【図７】
2011123834.tif 000009
【図８】
2011123834.tif 000010
【図９】
2011123834.tif 000011
【図１０】
2011123834.tif 000012
【図１１】
2011123834.tif 000013