(57)【特許請求の範囲】
【請求項１】
複数のボリューム・マウント・コマンドをインターセプトし、復号すること、または、
マルチボリューム・データセットのヘッダにリストされた前のボリュームからヘッダ情報をスヌープすること
によって、前記マルチボリューム・データセットに関する書込要求に応答して、前記マルチボリューム・データセットの情報を取り込むことと、
前記マルチボリューム・データセットに属する論理ボリューム名のチェーンを作ることと、
論理ボリューム名の前記チェーンをチェーン・データベースに保管することと
を含む、テープ・ストレージ・システム内でマルチボリューム・データセットを処理する方法。
【請求項２】
論理ボリューム名の前記チェーンが、前の仮想ボリューム名の位置と、前記現在の仮想ボリューム名の位置とを含む、請求項１に記載の方法。
【請求項３】
前記方法が、さらに、前記マルチボリューム・データセット内の仮想ボリュームＮに関するアクセス要求に応答して、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内のすべての仮想ボリュームがアクセスされた回数の比率が第１高閾値より大きい場合に、前記マルチボリューム・データセット内のすべての仮想ボリュームをリコールすることを含む、請求項１に記載の方法。
【請求項４】
前記方法が、さらに、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームがランダムにまたはシーケンシャルにアクセスされた回数の比率が第２高閾値より大きい場合に、前記マルチボリューム・データセット内のすべての仮想ボリュームをリコールすることを含む、請求項３に記載の方法。
【請求項５】
前記方法が、さらに、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームがシーケンシャルにアクセスされた回数の比率が第１中閾値より大きい場合に、前記マルチボリューム・データセット内の前記仮想ボリュームＮの後のすべての仮想ボリュームをリコールすることを含む、請求項４に記載の方法。
【請求項６】
前記方法が、さらに、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームＮ−Ｍ−１がアクセスされた回数の比率が第２中閾値より大きい場合に、前記マルチボリューム・データセット内の仮想ボリュームＮ＋１から２Ｎ−Ｍまでをリコールすることを含む、請求項５に記載の方法。
【請求項７】
前記方法が、さらに、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームＮ＋１がアクセスされた回数の比率が第１低閾値より大きい場合に、前記マルチボリューム・データセット内の仮想ボリュームＮ＋１をリコールすることを含む、請求項６に記載の方法。
【請求項８】
前記方法が、さらに、仮想ボリュームＮ−１がマウントされた後に前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームＮ＋１がアクセスされた回数の比率が第２低閾値より大きい場合に、前記マルチボリューム・データセット内の仮想ボリュームＮ＋１をリコールすることを含む、請求項７に記載の方法。
【請求項９】
複数のボリューム・マウント・コマンドをインターセプトし、復号すること、または、
マルチボリューム・データセットのヘッダにリストされた前のボリュームからヘッダ情報をスヌープすること
によって、前記マルチボリューム・データセットに関する書込要求に応答して、前記マルチボリューム・データセットの情報を取り込む手段と、
前記マルチボリューム・データセットに属する論理ボリューム名のチェーンを作る手段と、
論理ボリューム名の前記チェーンをチェーン・データベースに保管する手段と
を含む、テープ・ストレージ・システム内でマルチボリューム・データセットを処理する装置。
【請求項１０】
論理ボリューム名の前記チェーンが、前の仮想ボリューム名の位置と、前記現在の仮想ボリューム名の位置とを含む、請求項９に記載の装置。
【請求項１１】
前記装置が、さらに、前記マルチボリューム・データセット内の仮想ボリュームＮに関するアクセス要求に応答して、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内のすべての仮想ボリュームがアクセスされた回数の比率が第１高閾値より大きい場合に、前記マルチボリューム・データセット内のすべての仮想ボリュームをリコールする手段を含む、請求項９に記載の装置。
【請求項１２】
前記装置が、さらに、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームがランダムにまたはシーケンシャルにアクセスされた回数の比率が第２高閾値より大きい場合に、前記マルチボリューム・データセット内のすべての仮想ボリュームをリコールする手段を含む、請求項１１に記載の装置。
【請求項１３】
前記装置が、さらに、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームがシーケンシャルにアクセスされた回数の比率が第１中閾値より大きい場合に、前記マルチボリューム・データセット内の前記仮想ボリュームＮの後のすべての仮想ボリュームをリコールする手段を含む、請求項１２に記載の装置。
【請求項１４】
前記装置が、さらに、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームＮ−Ｍ−１がアクセスされた回数の比率が第２中閾値より大きい場合に、前記マルチボリューム・データセット内の仮想ボリュームＮ＋１から２Ｎ−Ｍまでをリコールする手段を含む、請求項１３に記載の装置。
【請求項１５】
前記装置が、さらに、前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームＮ＋１がアクセスされた回数の比率が第１低閾値より大きい場合に、前記マルチボリューム・データセット内の仮想ボリュームＮ＋１をリコールする手段を含む、請求項１４に記載の装置。
【請求項１６】
前記装置が、さらに、仮想ボリュームＮ−１がマウントされた後に前記仮想ボリュームＮが前に要求された時に前記マルチボリューム・データセット内の仮想ボリュームＮ＋１がアクセスされた回数の比率が第２低閾値より大きい場合に、前記マルチボリューム・データセット内の仮想ボリュームＮ＋１をリコールする手段を含む、請求項１５に記載の装置。
【請求項１７】
複数のボリューム・マウント・コマンドをインターセプトし、復号すること、または、
マルチボリューム・データセットのヘッダにリストされた前のボリュームからヘッダ情報をスヌープすること
によって、前記マルチボリューム・データセットに関する書込要求に応答して、前記マルチボリューム・データセットの情報を取り込むプログラム・コード手段と、
前記マルチボリューム・データセットに属する論理ボリューム名のチェーンを作るプログラム・コード手段と、
論理ボリューム名の前記チェーンをチェーン・データベースに保管するプログラム・コード手段と
を含む、テープ・ストレージ・システム内でマルチボリューム・データセットを処理する、コンピュータ使用可能媒体に常駐するコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にはテープ・ストレージ・システムに関する。具体的には、本発明は、マルチボリューム・データセットを有するテープ・ストレージ・システムに関する。より具体的には、本発明は、テープ・ストレージ・システムでマルチボリューム・データセットを処理する方法および装置に関する。
【背景技術】
【０００２】
仮想テープ・サーバ（ＶＴＳ）は、磁気テープに保管された情報を管理する効率的な形に関する顧客需要を満たすように特に設計されたテープ・データセット・スタッキング製品の１つである。ＶＴＳシステムに、通常、ホスト・インターフェース、ＶＴＳキャッシュ、および複数のテープ・デバイスを有する自動化ライブラリが含まれる。
【０００３】
ＶＴＳシステムは、通常、メインフレーム・コンピュータなどのホスト・コンピュータに接続される。ホスト・コンピュータが、データセットをＶＴＳシステムに書き込む時に、そのデータセットは、ＶＴＳシステム上の仮想ボリュームに書き込まれる。仮想ボリュームに書き込まれるデータセットが、単一仮想ボリュームの容量を超える場合に、そのデータセットを、ホスト・コンピュータによって、一般に「マルチボリューム・データセット」と呼ばれる一連の仮想ボリュームに書き込むことができる。
【０００４】
ホスト・コンピュータが、マルチボリューム・データセットの仮想ボリュームをＶＴＳシステムから読み取る時に、その仮想ボリュームが現在ＶＴＳキャッシュに常駐している場合に、その仮想ボリュームをＶＴＳキャッシュから取り出すことができる。仮想ボリュームがＶＴＳキャッシュに常駐していない場合には、ストレージ・マネージャが、どの磁気テープにその仮想ボリュームが含まれるかを判定する。対応する磁気テープが、その後、テープ・デバイスのうちの１つにマウントされ、仮想ボリュームが、磁気テープからＶＴＳキャッシュへ、およびホスト・コンピュータへ送られる。テープをマウントすることは、非常に時間がかかる可能性があるので、頻繁にアクセスされる仮想ボリュームがＶＴＳキャッシュに保持されることが常に好ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しばしば、マルチボリューム・データセット内の１つの仮想ボリュームがアクセスされる時に、同一のマルチボリューム・データセット内の他の仮想ボリュームも、通常はアクセスされる。ホスト・コンピュータ内のアプリケーションが、マルチボリューム・データセット内のすべての仮想ボリュームにアクセスすることになる場合に、すべての仮想ボリュームがホスト・コンピュータ内のアプリケーションによってアクセスされる前に、これらをＶＴＳキャッシュに「事前にステージングする」ことが非常に有利である。しかし、ＶＴＳシステムは、一般に、どの仮想ボリュームがマルチボリューム・データセットに属するかの知識を持たず、したがって、そのような知識をＶＴＳシステムに供給することが望ましい。
【課題を解決するための手段】
【０００６】
本発明の好ましい実施形態によれば、マルチボリューム・データセットに関する書込要求に応答して、マルチボリューム・データセットの情報が、ボリューム・マウント・コマンドのセットをインターセプトし、復号する（decipher）ことによって取り込まれる。そうでない場合に、マルチボリューム・データセットの情報は、マルチボリューム・データセットのヘッダにリストされた前のボリュームからヘッダ情報をスヌープすること（snooping）によって取り込まれる。次に、マルチボリューム・データセットに属する論理ボリューム名のチェーンを作る。最後に、論理ボリューム名のチェーンをチェーン・データベースに保管する。
【０００７】
本発明のすべての特徴および利益は、次の詳細に書かれた説明で明白になる。
【０００８】
本発明自体ならびに本発明の使用の好ましい態様、さらなる目的、および利益は、添付図面と共に読まれるときの例示的実施形態の次の詳細な説明を参照することによって最もよく理解される。
【発明を実施するための最良の形態】
【０００９】
ここで図面、具体的には図１を参照すると、本発明の好ましい実施形態を組み込むことのできる仮想テープ・サーバ（ＶＴＳ）システムが示されている。図からわかるように、ホスト・コンピュータ１１０に接続されるＶＴＳシステム１００に、分散ストレージ・マネージャ・クライアント１１２、分散ストレージ・マネージャ・サーバ１１４、直接アクセス記憶装置（ＤＡＳＤ）キャッシュ１１６、自動化ライブラリ１２０を形成するテープ・ドライブ１１８のセット、ライブラリ・マネージャ１２２、および自動ストレージ・マネージャ・アドミニストレータ１２６が含まれる。
【００１０】
ホスト・コンピュータ１１０は、データセットをＶＴＳシステム１００内の仮想ボリュームに書き込むことができる。時々、データセットが非常に大きくなる可能性があり、データセットを、マルチボリューム・データセットと称する複数の仮想ボリュームに書き込まなければならない。ホスト・コンピュータ１１０によって頻繁にアクセスされる仮想ボリュームを、ＤＡＳＤキャッシュ１１６に保管することができ、ホスト・コンピュータ１１０によって頻繁にはアクセスされない仮想ボリュームを、テープ・ドライブ１１８によってアクセス可能なテープ１４４に保管することができる。
【００１１】
分散ストレージ・マネージャ・クライアント１１２が、頻繁にアクセスされる仮想ボリュームをＤＡＳＤキャッシュ１１６に送り、分散ストレージ・マネージャ・サーバ１１４が、ＤＡＳＤキャッシュ１１６とテープ・ドライブ１１８の間でデータを移動する。ライブラリ・マネージャ１２２は、分散ストレージ・マネージャ・サーバ１１４からのコマンドを介して、テープ１４４にアクセスするアクセッサ１４２を制御する。
【００１２】
非常にしばしば、マルチボリューム・データセットの１つの仮想ボリュームが、ホスト・コンピュータ１１０内のアプリケーションによってアクセスされる時に、同一のマルチボリューム・データセットの他の仮想ボリュームも、ホスト・コンピュータ１１０内の同一のアプリケーションによってアクセスされる。しかし、マルチボリューム・データセットの仮想ボリュームの一部またはすべてが、まだＤＡＳＤキャッシュ１１６内にない場合に、これらをテープ１４４のうちの１つまたは複数からリコールしなければならない。テープ１４４をマウントするプロセスは、比較的時間がかかるので、特にアプリケーションがマルチボリューム・データセット内のすべての仮想ボリュームに実際にアクセスすることになる時に、マルチボリューム・データセットのすべての仮想ボリュームを、これらがホスト・コンピュータ１１０内のアプリケーションによってアクセスされる前にＤＡＳＤキャッシュ１１６に「事前にステージング（prestage）」（またはプリロード（preload））することが非常に有利である。
【００１３】
しかし、ＶＴＳシステム１００は、仮想ボリュームとマルチボリューム・データベースの間の関係の知識を有しない。したがって、ＶＴＳシステム１００は、各仮想ボリュームがホスト・コンピュータ１１０内のアプリケーションによってアクセスされるまで、どの仮想ボリュームがどのマルチボリューム・データセットに対応するかを知らない。したがって、ＶＴＳシステム１００は、マルチボリューム・データセットの仮想ボリュームのどれをもＤＡＳＤキャッシュ１１６に事前にステージングすることができない。さらに、ＶＴＳシステム１００が、そのような知識を獲得し、仮想ボリュームが要求されるたびにマルチボリューム・データセットのすべての関連する仮想ボリュームをＤＡＳＤキャッシュ１１６に勤勉にリコールすることによって事前ステージングを実行した後であっても、そのマルチボリューム・データセットの仮想ボリュームのうちのごく少数だけがホスト・コンピュータ１１０内のアプリケーションによって実際にアクセスされる場合には、ＶＴＳシステム１００は、多くのリソースを浪費するはずである。
【００１４】
ＶＴＳシステム１００がマルチボリューム・データセットを知的に処理できるようになるために、第１ステップは、ＶＴＳシステム１００が、すべてのマルチボリューム・データセットに関するある情報を自動的に取り込むことによって各マルチボリューム・データセットを識別することである。ＶＴＳシステム１００は、次の２つの方法のうちの１つを介して、マルチボリューム・データセットに関する情報を自動的に取り込むことができる。あるマルチボリューム・データセットが、Advanced Policy Managementをイネーブルされたホスト・コンピュータ１１０内のアプリケーションによって生成される場合に、各後続のマウントのLibraryUniversal Mount（ＬＵＭ）に、「クローン」ソース仮想ボリュームとして、そのマルチボリューム・データセットの最初の（または前の）仮想ボリュームの名前が含まれる。したがって、第１の方法は、これらのクローンＬＵＭコマンドをインターセプトし、クローンＬＵＭコマンドを復号し、その後、マルチボリューム・データセットに属する論理ボリューム名のチェーンを作ることである。論理ボリューム名のチェーンには、論理ボリューム名のチェーン内の前の仮想ボリュームと、論理ボリューム名のチェーン内の現在の仮想ボリュームの位置が含まれなければならない。論理ボリューム名の１つのチェーンが、１つのマルチボリューム・データセットに関連する。
【００１５】
第２の方法は、好ましくはＶＴＳマイクロコードを使用することによって、マルチボリューム・データセットヘッダにリストされた前の論理ボリュームからすべてのヘッダ作成チェーン・リストを「スヌープ」することである。ヘッダ作成チェーン・リストは、ＶＴＳシステム１００がマルチボリューム・データセットに属する論理ボリューム名のチェーンを作成することを可能にする。やはり、論理ボリューム名のチェーンには、論理ボリューム名のチェーン内の前の仮想ボリュームと、論理ボリューム名のチェーン内の現在の仮想ボリュームの位置が含まれなければならない。
【００１６】
上で述べた２つの方法のうちの１つによって形成される論理ボリューム名のチェーンは、自動ストレージ・マネージャ・アドミニストレータ１２６内のチェーン・データベース１２７に保管されることが好ましい。図２を参照すると、本発明の好ましい実施形態による、チェーン・データベース１２７に保管される論理ボリューム名の複数のチェーンの実施例が絵図的に示されている。図からわかるように、チェーン・データベース１２７に、複数の行が含まれ、好ましくは、各行に論理ボリューム名の１つのチェーンだけが含まれる。例えば、第１行に、ボリューム名Ｌ００００１、ＫＺ０１２０、ＺＺＺ９９０、およびＡＢＣ１２３が含まれ、第２行に、ボリューム名ＢＷ３２４２、ＴＪＫ０９８、ＡＭＮＤ７８、ＡＤＦ０７７７、ＫＨＬＫ３３、ＵＹＩ９８７、およびＥＱＲＷ３８が含まれる。各マルチボリューム・データセット内の全仮想ボリュームへのアクセスの回数に関する統計情報も、チェーン・データベース１２７に保持され、そのような統計情報の使用法を、さらに、詳細に説明する。
【００１７】
ＶＴＳシステム１００が、すべてのマルチボリューム・データセットを識別した後に、ＶＴＳシステム１００は、ＶＴＳシステム１００内に保管されたマルチボリューム・データセットのいずれかに対するアクセス要求に応答して事前ステージングを実行する準備ができている。図３を参照すると、本発明の好ましい実施形態による、事前ステージングを実行する方法の高水準論理流れ図が示されている。ホスト・コンピュータ１１０（図１）による仮想ボリュームＮに関するアクセス要求に応答して、ブロック３０１に示されているように、チェーン・データベース１２７（図１）を使用することによって、仮想ボリュームＮがマルチボリューム・データセットに属するか否かに関する判定を行う。仮想ボリュームＮがマルチボリューム・データセットに属しない場合には、ブロック３０２に示されているように、仮想ボリュームＮをリコールする。
【００１８】
しかし、仮想ボリュームＮがマルチボリューム・データセットに属する場合には、仮想ボリュームＮが前に要求された時に、マルチボリューム・データセット内のすべての仮想ボリュームがアクセスされた回数の比率に関する判定を行う。回数の比率が第１高閾値（９０％など）より高い場合には、ブロック３０３に示されているように、マルチボリューム・データセット内の全仮想ボリュームがまだＤＡＳＤキャッシュ１１６（図１）内にない場合に、これらをテープからリコールし、ＤＡＳＤキャッシュ１１６に送る。
【００１９】
そうではなく、回数の比率が第１高閾値（the first highthreshold）より高くない場合に、仮想ボリュームＮが前に要求された時に、マルチボリューム・データセット内の仮想ボリュームがランダムにまたはシーケンシャルにアクセスされた回数の比率に関する判定を行う。回数の比率が第２高閾値（８０％など）より高い場合には、ブロック３０４に示されているように、マルチボリューム・データセット内の全仮想ボリュームがまだＤＡＳＤキャッシュ１１６内にない場合に、これらをテープからリコールし、ＤＡＳＤキャッシュ１１６に送る。
【００２０】
そうではなく、回数の比率が第２高閾値より高くない場合に、仮想ボリュームＮが前に要求された時に、マルチボリューム・データセット内の仮想ボリュームがシーケンシャルにアクセスされた回数の比率に関する判定を行う。回数の比率が第１中閾値（７０％など）より高い場合には、ブロック３０５に示されているように、マルチボリューム・データセット内の仮想ボリュームＮの後の全仮想ボリュームがまだＤＡＳＤキャッシュ１１６内にない場合に、これらをテープからリコールし、ＤＡＳＤキャッシュ１１６に送る。
【００２１】
そうではなく、回数の比率が第１中閾値より高くない場合に、仮想ボリュームＮが前に要求された時に、マルチボリューム・データセット内の仮想ボリュームＮ−Ｍ−１がアクセスされた回数の比率に関する判定を行う。回数の比率が第２中閾値（６０％など）より高い場合には、ブロック３０６に示されているように、マルチボリューム・データセット内の仮想ボリュームＮ＋１から２Ｎ−ＭがまだＤＡＳＤキャッシュ１１６内にない場合に、これらをテープからリコールし、ＤＡＳＤキャッシュ１１６に送る。
【００２２】
そうではなく、回数の比率が第２中閾値（the second moderatethreshold）より高くない場合に、仮想ボリュームＮが前に要求された時に、マルチボリューム・データセット内の仮想ボリュームＮ＋１がアクセスされた回数の比率に関する判定を行う。回数の比率が第１低閾値（５０％など）より高い場合には、ブロック３０７に示されているように、マルチボリューム・データセット内の仮想ボリュームＮ＋１がまだＤＡＳＤキャッシュ１１６内にない場合に、これをテープからリコールし、ＤＡＳＤキャッシュ１１６に送る。
【００２３】
そうではなく、回数の比率が第１低閾値（the first low threshold）より高くない場合に、仮想ボリュームＮ−１がマウントされた後に仮想ボリュームＮが前に要求された時にマルチボリューム・データセット内の仮想ボリュームＮ＋１がアクセスされた回数の比率に関する判定を行う。回数の比率が第２低閾値（５０％など）より高い場合には、ブロック３０８に示されているように、マルチボリューム・データセット内の仮想ボリュームＮ＋１がまだＤＡＳＤキャッシュ１１６内にない場合に、これをテープからリコールし、ＤＡＳＤキャッシュ１１６に送る。回数の比率が第２低閾値より高くない場合には、ブロック３０９に示されているように、事前ステージングを実行しない。
【００２４】
説明したように、本発明は、テープ・ストレージ・システム内でマルチボリューム・データセットを処理する方法および装置を提供する。
【００２５】
本発明を、ハードウェアの文脈で説明したが、当業者が、本発明の機構を様々な形のプログラム製品として配布できることと、本発明が配布の実行に実際に利用される信号担持媒体の特定のタイプに関わりなく同等に適用されることを諒解するであろうことに留意することも重要である。信号担持媒体の例に、制限なしに、フロッピ・ディスクまたはコンパクト・ディスクなどの記録可能型媒体と、アナログ通信リンクまたはデジタル通信リンクなどの伝送型媒体が含まれる。
【００２６】
好ましい実施形態を参照して本発明を具体的に図示し、説明したが、当業者は、本発明の趣旨および範囲から外れずに、形態および詳細における様々な変更を行えることを理解するであろう。
【図面の簡単な説明】
【００２７】
【図１】本発明の好ましい実施形態を組み込むことのできる仮想テープ・サーバ・システムを示すブロック図である。
【図２】本発明の好ましい実施形態による、図１のテープ・ストレージ・システム内のチェーン・データベースに保管される論理ボリューム名の複数のチェーンを示す図である。
【図３】本発明の好ましい実施形態による、図１のテープ・ストレージ・システム内で事前ステージングを実行する方法を示す高水準論理流れ図である。
【符号の説明】
【００２８】
１００  ＶＴＳシステム
１１０  ホスト・コンピュータ
１１２  分散ストレージ・マネージャ・クライアント
１１４  分散ストレージ・マネージャ・サーバ
１１６  直接アクセス記憶装置（ＤＡＳＤ）キャッシュ
１１８  テープ・ドライブ
１２０  自動化ライブラリ
１２２  ライブラリ・マネージャ
１２６  自動ストレージ・マネージャ・アドミニストレータ
１２７  チェーン・データベース
１４２  アクセッサ
１４４  テープ
【図１】
0004818041.tif 000002
【図２】
0004818041.tif 000003
【図３】
0004818041.tif 000004