(57)【特許請求の範囲】
【請求項１】
データ・ストレージ装置からデータ・ストレージ装置特有情報を得るための方法であって、
（ａ）標準的な書き込みコマンドを用いて、固有のシーケンスの記録を含むデータを前記データ・ストレージ装置上の少なくとも１つの論理ボリュームに書き込むステップを有し、
前記固有のシーケンスの記録は、論理ボリュームに書き込まれる通常のデータにおいて出現する確率が低い、特有のデータ・パターンを有しており、
（ｂ）前記少なくとも１つの論理ボリュームに書き込まれた前記データを読み取ることができるように、前記少なくとも１つの論理ボリュームの巻き戻し又はアンマウント及びマウントを行うステップと、
（ｃ）前記データ・ストレージ装置が、前記少なくとも１つの論理ボリュームに書き込まれた前記データを読み取り、当該データを分析して、前記固有のシーケンスの記録を検知するステップと、
（ｄ）前記データ・ストレージ装置が前記少なくとも１つの論理ボリューム上にある前記固有のシーケンスの記録を検知することに応答して、前記固有のシーケンスの記録を含む前記データに置き換わるデータ・ストレージ装置特有情報を、前記少なくとも１つの論理ボリューム上に書き込むステップと、
（ｆ）前記少なくとも１つの論理ボリュームに書き込まれた前記データ・ストレージ装置特有情報を読み取ることができるように、前記少なくとも１つの論理ボリュームの巻き戻し又はアンマウント及びマウントを行うステップと、
（ｇ）前記少なくとも１つの論理ボリュームに書き込まれた前記データ・ストレージ装置特有情報を読み取るステップとをさらに有する、方法。
【請求項２】
前記ステップ（ｃ）は、前記データ・ストレージ装置に結合されたオペレータ・インターフェースを用いて使用不可又は使用可能にされる、請求項１に記載の方法。
【請求項３】
前記固有のシーケンスの記録が、
ボリューム・ヘッダ、
第１のデータセット・ヘッダ、
第２のデータセット・ヘッダ、
第１のテープ・マーク、
キー記録、
クエリ識別子記録、
第２のテープ・マーク、
ボリューム・トレーラ、
ファイルの第１のボリューム終端、
ファイルの第２のボリューム終端、
第３のテープ・マーク、及び
第４のテープ・マークを含む、請求項１に記載の方法。
【請求項４】
データ・ストレージ装置からデータ・ストレージ装置特有情報を得るためのシステムであって、
ホスト・コンピュータと、
データ・ストレージ装置とを備え、
前記データ・ストレージ装置が、
キャッシュ・メモリ、
少なくとも１つの論理ボリューム、及び
前記データ・ストレージ装置を制御するための中央処理装置を有し、
前記データ・ストレージ装置を前記ホスト・コンピュータに接続するための、前記ホスト・コンピュータに結合されたホスト・コンピュータ・インターフェースをさらに備え、
前記ホスト・コンピュータは、
（ａ）標準的な書き込みコマンドを用いて、固有のシーケンスの記録を含むデータを前記データ・ストレージ装置上の前記少なくとも１つの論理ボリュームに書き込むように構成され、
前記固有のシーケンスの記録は、論理ボリュームに書き込まれる通常のデータにおいて出現する確率が低い、特有のデータ・パターンを有しており、
前記データ・ストレージ装置は、
（ｂ）前記少なくとも１つの論理ボリュームに書き込まれた前記データを読み取ることができるように、前記少なくとも１つの論理ボリュームの巻き戻し又はアンマウント及びマウントを行い、
（ｃ）前記少なくとも１つの論理ボリュームに書き込まれた前記データを読み取り、当該データを分析して、前記固有のシーケンスの記録を検知し、
（ｄ）前記少なくとも１つの論理ボリューム上にある前記固有のシーケンスの記録を検知することに応答して、前記固有のシーケンスの記録を含む前記データに置き換わるデータ・ストレージ装置特有情報を、前記少なくとも１つの論理ボリューム上に書き込み、
（ｅ）前記少なくとも１つの論理ボリュームに書き込まれた前記データ・ストレージ装置特有情報を読み取ることができるように、前記少なくとも１つの論理ボリュームの巻き戻し又はアンマウント及びマウントを行い、
（ｆ）前記少なくとも１つの論理ボリュームに書き込まれた前記データ・ストレージ装置特有情報を読み取るように構成される、システム。
【請求項５】
前記データ・ストレージ装置に結合され、前記少なくとも１つの論理ボリュームに書き込まれた前記データを分析するために、前記データ・ストレージ装置を使用可能又は使用不能にするように構成されたオペレータ・インターフェースをさらに備える、請求項４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ホスト・アプリケーションによる、データ・ストレージ装置（すなわち、仮想テープ・サーバ）からのストレージ装置特有情報の検索に関する。ストレージ装置特有情報（以下単に「装置特有情報」と称する）の検索は、ホスト・コンピュータと仮想テープ・サーバとの間のデータ経路を用いて達成される。
【背景技術】
【０００２】
仮想テープ・ストレージ・システムは、ハードディスク・ドライブ・ストレージを用いて、テープ・ドライバ及びテープ・カートリッジをエミュレートする。例えば、ホスト・システムは、テープ・ライブラリをエミュレートする１組のハードディスク・ドライブに対して入力／出力（Ｉ／Ｏ）動作を行うことによって、テープ・ライブラリに対するＩ／Ｏ動作を行う。IBM Magstar（ＩＢＭは IBM Corporation の登録商標、Magstar は IBM Corporation の商標）仮想テープ・サーバのような従来技術の仮想テープ・ストレージ・システムにおいて、少なくとも１つの仮想テープ・サーバ（ＶＴＳ）が、複数のテープ・ドライブ及びテープ・カートリッジから構成されたテープ・ライブラリに結合される。ＶＴＳはまた、相互接続された複数のハードディスク・ドライブから構成された直接アクセス・ストレージ装置（ＤＡＳＤ）にも結合される。
【０００３】
ＤＡＳＤは、テープ・ライブラリ内のボリュームに対するキャッシュとして機能する。ＶＴＳ動作において、ＶＴＳは、テープ・ライブラリ内のボリュームにアクセスするためのホストの要求を処理し、可能であれば、こうした要求についてのデータをキャッシュから戻す。ボリュームがキャッシュ内にない場合、ＶＴＳは、ボリュームをテープ・ライブラリからキャッシュに呼び戻す。すなわち、ＶＴＳは、データをテープ・ライブラリからキャッシュに転送する。ＶＴＳは、テープ・ライブラリからキャッシュに呼び戻す必要があるボリュームについての要求より実質的に迅速に、キャッシュ内に存在するボリュームについてのホスト要求に応答することができる。
【０００４】
キャッシュが、テープ・ライブラリより迅速に要求を満たすことができるので、頻繁にアクセスされるボリュームがキャッシュ内に維持される場合、Ｉ／Ｏ要求をより迅速に満たすことができる。しかし、テープ・ライブラリと比べてキャッシュの容量は相対的に小さいので、全てのボリュームをキャッシュ内に維持することはできない。したがって、ＶＴＳはまた、ボリュームをキャッシュからテープ・ライブラリに事前マイグレーションする。すなわち、ＶＴＳは、データをキャッシュからテープ・ライブラリ内のテープ・カートリッジに転送する。データをキャッシュからテープ・カートリッジに転送するプロセスは、事前マイグレーションと呼ばれる。最終的に、これらの事前マイグレーションされたボリュームは、キャッシュから除去され、テープ・カートリッジ上のデータを示すポインタに短縮され、新しいデータのためにキャッシュ内のスペースを空ける。この短縮化すなわち「イミグレーション」動作は非常に高速であり、ＶＴＳにおける性能のボトルネックは、事前マイグレーションの動作自体である。
【０００５】
一般に、ホスト・コンピュータ上で稼働するアプリケーションは、データを読み取り、ストレージ装置に書き込むために、データ経路を用いる。ホストを用いるＶＴＳ動作において、該ＶＴＳと関連したデータ・ストレージに対してデータを読み取り及び書き込むために、データ経路が用いられる。ホスト上で稼働中のアプリケーションが、データ・ストレージ装置（すなわち、ＶＴＳ）についての装置特有情報を必要とする場合、他の特別な経路を使用して装置特有情報を得るために、特別のアプリケーションを書かなければならない。例えば、ＡＩＸ（IBM Corporation の商標）アプリケーションにおいて、アプリケーション・データを転送するために、読み取り及び書き込みが用いられ、装置特有情報を得るために、ＩＯＣＴＬＳ（特定のＡＩＸ装置ドライバに対する入力及び出力制御コマンド）が必要とされる。
【０００６】
一般に、装置特有情報を得るために用いられる特別の経路が、装置特有のものであるのに対して、データ経路コマンドは、一般に装置特有のものではない。このことにより、装置特有情報を獲得するアプリケーションが、ハードウェア・プラットフォーム間であまり流用できなくなり、こうしたアプリケーションの維持により多くの費用がかかる。さらに、データ経路コマンドは、送られ、戻されるデータについての固定フォーマットを有し、データ・ストレージ装置から追加的な情報が必要とされるときは常に、データを要求しているホスト・アプリケーションと、Ｉ／Ｏ装置を制御するホストのオペレーティング・システムと、要求を処理するストレージ装置との間の変更の調整を必要とする。データの性質が高度のばらつきを有するとき、ストレージ装置から情報を得るためにデータ経路コマンド法を用いることは、非効率的でもある。例えば、ストレージ装置が自動テープ・ライブラリであり、要求される情報がそのライブラリ内に格納されたテープのリストである場合、そのリストは、小さなライブラリ構成については数百のエントリだけを含み、又は大きな仮想ライブラリについては数十万のエントリを含むことがある。データ経路コマンドは、完全に不定量のデータを容易に処理することはできない。一般に、情報を得るためのデータ経路コマンドは、一度に１つのテープ識別子、又は（例えば、１００のテープ識別子といった）一定数のテープ識別子を得るように設計される。一度に１００の情報を得ることは、小さいライブラリについてはうまくいくが、大きなライブラリについては、こうした情報を得るのに必要となる何百ものコマンドのオーバーヘッドは、過剰である。必要とされるのは、標準的なホスト・コンピュータのデータ経路及び読み取り／書き込みコマンドを用いて、データ・ストレージ装置から装置特有情報を得る方法である。
【０００７】
【非特許文献１】"TotalStorage Peer-to-Peer Virtual Tape Server Planning and Implementation Guide," IBM document no. SG24-6115-02 (Copyright IBM, 2004)
【非特許文献２】"DFSMS: using magnetic tape", IBM publication # SG26-7412
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、ホスト・コンピュータの標準的なデータ経路及び読み取り／書き込みコマンドを用いて、データ・ストレージ装置から装置特有情報を得るための改善された方法に対する要請がある。
【課題を解決するための手段】
【０００９】
本発明は、標準的な読み取り／書き込みコマンドを用いて、データ・ストレージ装置から装置特有情報を得るためのシステム及び方法を提供する。この方法は、ホスト・アプリケーションを用いて、固有のシーケンスの記録（unique sequence of records）をデータ・ストレージ装置の論理ボリュームに書き込む。データ・ストレージ装置は、論理ボリュームについての固有のシーケンスの記録を検知し、装置特有情報を論理ボリュームに書き込み、ホスト・アプリケーションが、論理ボリュームについての読み取りコマンドを用いて、装置特有情報を読み取ることを可能にする。
【００１０】
方法の形態において、例示的な実施形態は、データ・ストレージ装置から装置特有情報を得るための方法を含む。この方法は、固有のシーケンスの記録を含むデータをデータ・ストレージ装置上の論理ボリュームに書き込むことを含む。データ・ストレージ装置は、論理ボリュームに書き込まれたデータを分析し、固有のシーケンスの記録を検知する。データ・ストレージ装置が論理ボリューム上にある固有のシーケンスの記録を検知することに応答して、該データ・ストレージ装置は、装置特有情報を論理ボリューム上に書き込み、論理ボリュームをマウントし、論理ボリュームから装置特有情報を読み取る。
【００１１】
別の例示的な方法の実施形態は、データ・ストレージ装置から装置特有情報を得るための方法を含む。この方法は、固有のシーケンスの記録を含むデータをデータ・ストレージ装置上の論理ボリュームに書き込むことを含む。データ・ストレージ装置は、論理ボリュームに書き込まれたデータを分析し、固有のシーケンスの記録を検知する。データ・ストレージ装置が論理ボリューム上にある固有のシーケンスの記録を検知することに応答して、該データ・ストレージ装置は、装置特有情報のデータ要求フラグを、論理ボリュームと関連したメタデータ内に置き、論理ボリュームが装置特有情報を含むことを示す。データ・ストレージ装置は、論理ボリュームをマウントする要求を受信し、メタデータを読み取る。データ・ストレージ装置がメタデータ内の装置特有情報のデータ要求フラグを検知することに応答して、該データ・ストレージ装置は、論理ボリュームが特別のデータ要求論理ボリュームであることを検証し、装置特有情報を論理ボリューム上に書き込む。データ・ストレージ装置は、論理ボリュームから装置特有情報を読み取り、該装置特有情報をホスト・コンピュータに提供する。
【００１２】
システムの実施形態において、本発明は、データ・ストレージ装置から装置特有情報を得るためのシステムを提供する。このシステムは、ホスト・コンピュータと、キャッシュ・メモリを含むデータ・ストレージ装置と、論理ボリュームと、データ・ストレージ装置を制御するための中央処理装置と、データ・ストレージ装置をホスト・コンピュータに接続するための、ホスト・コンピュータに結合されたホスト・コンピュータ・インターフェースとを備える。ホスト・コンピュータは、固有のシーケンスの記録を含むデータを、データ・ストレージ装置上の論理ボリュームに書き込む。データ・ストレージ装置は、論理ボリュームに書き込まれたデータを分析し、固有のシーケンスの記録を検知する。データ・ストレージ装置が論理ボリューム上にある固有のシーケンスの記録を検知することに応答して、該データ・ストレージ装置は、装置特有情報を論理ボリューム上に書き込む。データ・ストレージ装置は、論理ボリュームをマウントし、論理ボリュームから装置特有情報を読み取る。
【００１３】
次の詳細な説明が、好ましい実施形態及び使用方法について説明を進めているが、当業者であれば、本発明が、これらの好ましい実施形態及び使用方法に制限されるよう意図されるものではないことを理解するであろう。寧ろ、本発明は、特許請求項の範囲において記載されるように制限されることが意図される。
【００１４】
本発明のより詳細な理解のために、添付の図面と共に次の詳細な説明を参照することができる。
【発明を実施するための最良の形態】
【００１５】
以下で参照する図面中の同様の参照番号は、全体を通じて対応するコンポーネントを表す。
【００１６】
本発明が、次の説明の好ましい実施形態において説明される。好ましい実施形態は、図面を参照して説明される。本発明は、好ましい実施形態と共に説明されるが、当業者であれば、含めることができるものとして代替物、修正物、及び均等物を網羅するように意図されることが理解されるであろう。
【００１７】
図１は、本発明の一実施形態による、コンピューティング環境１００を示すブロック図である。仮想テープ・サーバ（ＶＴＳ）１１０は、仮想テープを直接アクセス・ストレージ装置（ＤＡＳＤ）キャッシュ１６０上のファイルとしてエミュレートする。追加的なＶＴＳを配備することもできるが、説明の便宜上、単一のＶＴＳ１１０だけが示される。ＶＴＳ１１０は、当分野において周知の任意のサーバ計算装置であり、当分野において周知の任意のオペレーティング・システムを含む。例えば、本発明の特定の実装において、ＶＴＳ１１０は、IBM RS/6000（登録商標）システム、IBM P シリーズ（IBM Corporation の商標）を含む１つ以上のコンピュータにおいて実装することができ、ＩＢＭ ＡＩＸ（IBM Corporation の商標）オペレーティング・システムを含むことができる。
【００１８】
１つ以上のホスト１０２及び１つ以上のオペレータ・インターフェース１０５がＶＴＳ１１０に接続される。ホスト１０２及びオペレータ・インターフェース１０５は、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム、携帯式コンピュータ、パームトップ・コンピュータ、電話装置、ネットワーク機器等の、当分野において周知の任意の計算装置とすることができる。ホスト１０２及びオペレータ・インターフェース１０５は、IBM OS/390（IBM Corporation の商標）オペレーティング・システムのような、当分野において周知の任意のオペレーティング・システムを含むことができる。
【００１９】
ＶＴＳ１１０は、ＶＴＳ１１０を制御するための少なくとも１つの中央処理装置（ＣＰＵ）１２８と、ストレージの使用を最適化するストレージ・マネージャ１３０のようなアプリケーションを含む。ストレージ・マネージャ１３０は、独立のアプリケーションとして実装することも、１つ以上の他のアプリケーションの一部として実装することもできる。ストレージ・マネージャ１３０は、ＤＡＳＤファイル・バッファのようなキャッシュ・メモリ（すなわち、キャッシュ１６０）及び自動データ・ストレージ・ライブラリのような物理的ライブラリ１５０へのアクセスを制御する。特定の実装において、ストレージ・マネージャ１３０は、IBM Magstar（IBM Corporation の商標）仮想テープ・サーバ及び IBM ADSTAR（IBM Corporation の商標）分散型管理（ＡＤＳＭ）ソフトウェア又は Tivoli（IBM Corporation の商標）ストレージ・マネージャのような自動データ・ストレージ・ライブラリを使用するためのソフトウェアを含むことができる。ストレージ・マネージャ１３０は、ホスト１０２、キャッシュ１６０及び物理的ライブラリ１５０間のデータ移動動作を行うことができる。ＶＴＳ技術のさらなる詳細が、非特許文献１に記載されている。
【００２０】
物理的ライブラリ１５０は、Magstar（IBM Corporation の商標）３４９４テープ・ライブラリのようなIBM Magstar（IBM Corporation の商標）テープ・ライブラリ、又は当分野において周知の他の任意の自動データ・ストレージ・ライブラリ・システムを含むことができる。特定の実装において、物理的ライブラリ１５０は、物理的ボリューム１５６へのアクセスを提供する、テープ・ドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブ等の、複数の物理的装置１５４を含む。特定の実装において、ＶＴＳ１１０は、最大２５６のテープ・ドライブ１５４（例えば、ＩＢＭからの３４９０テープ・ドライブ）のイメージを提供する。
【００２１】
キャッシュ１６０は、相互接続された複数のハードディスク・ドライブを含むことができる。キャッシュ１６０は、論理ボリューム１６２を格納する。特定の実装において、論理ボリューム１６２は、プールとして編成されないが、物理的ボリューム１５６は、プールとして編成することができる。さらに、論理ボリューム１６２は、キャッシュ１６０内のどこにでも格納できる。キャッシュ１６０は、性能を改善するため、ホスト１０２から物理的ライブラリ１５０へのホストＩ／Ｏ要求を、より低速の物理的ライブラリ１５０ではなく、より高速のキャッシュ１６０からサービスすることを可能にする。キャッシュ１６０内のディスクは、直接アクセス・ストレージ装置（ＤＡＳＤ）、Just a Bunch of Disks（ＪＢＯＤ）、Redundant Array of Inexpensive Disks（ＲＡＩＤ）等として構成することができる。
【００２２】
ホスト１０２は、ＶＴＳ１１０とテープ動作を交換する。テープ動作の実行は、キャッシュ１６０内に格納された論理ボリューム１６２からデータを検索するか、又は該論理ボリューム１６２内にデータを格納するというものである。ＶＴＳ１１０は、論理ボリューム１６２が、ホスト１０２によってアクセスされた後、キャッシュ１６０内の論理ボリューム１６２を物理的ボリューム１５６に自動的に事前マイグレーション（すなわち、オフロード）する。特定の実装において、最長未使用時間（ＬＲＵ）の論理ボリューム１６２が、他の論理ボリューム１６２の前に転送される。ホスト１０２の１つが、キャッシュ１６０内にはない論理ボリューム１６２を必要とする場合、ＶＴＳ１１０のストレージ・マネージャ１３０は、適切な物理的ボリューム１５６を物理的装置１５４内にマウントするよう、物理的ライブラリ１５０に命令する。次に、要求されたデータが、キャッシュ１６０内の論理ボリューム１６２として物理的ボリューム１５６からコピーされる（すなわち、データが呼び戻される）。
【００２３】
図２は、本発明の一実施形態による、コンピューティング環境のさらなる詳細を示すブロック図である。データ・ストレージ装置（すなわち、ＶＴＳ１１０）をホスト１０２に接続するための、ホスト１０２に結合されたホスト・コンピュータ・インターフェースが、データ・ストレージ装置と通信するために用いられる。エンタープライズ・システム接続（ＥＳＣＯＮ）（IBM Corporation の商標）アダプタ１１２及び１１４、又は当分野において周知の他の任意のスイッチング機構（例えば、ファイバ・チャネル、ストレージ・エリア・ネットワーク（ＳＡＮ）相互接続等）のような、種々のホスト・コンピュータ・インターフェースを用いることができる。ＣＡＤＤ１１６は、テープ・デーモン１１８Ａ〜１１８Ｎのための装置ドライバである。テープ・デーモン１１８Ａ〜１１８Ｎは、１つ以上のホスト・コンピュータ・インターフェースを通して、ホスト１０２から読み取り及び書き込みテープ動作を受け取る。書き込み動作の場合、テープ・デーモン１１８Ａ〜１１８Ｎは、データを受け取り、論理ボリューム１６２を作成し、該論理ボリューム１６２をファイルとしてキャッシュ１６０に書き込む。読み取り動作の場合、テープ・デーモン１１８Ａ〜１１８Ｎは、キャッシュ１６０にアクセスし、クライアント・カーネル拡張１４６を通してデータを検索し、データをホスト１０２に戻す。ホスト１０２は、該ホスト１０２が、物理的テープ・ドライブ１５４をエミュレートするテープ・デーモン１１８Ａ〜１１８Ｎとではなく、物理的テープ・ドライブ１５４と通信しているかのように動作する。各テープ・デーモン１１８Ａ〜１１８Ｎは、キャッシュ１６０内のファイルにアクセスするのに用いられる、ファイル・システム・マネージャ（ＦＳＭ）１２０Ａ〜１２０Ｎを含む。
【００２４】
ストレージ・マネージャ１３０は、データをキャッシュ１６０からテープ・ドライブ１５４Ａ〜１５４Ｎに転送する。一実施形態において、ストレージ・マネージャ１３０は、図２に示すような複数のコンポーネントを含む。自動キャッシュ制御装置１４０は、キャッシュ１６０からテープ・ドライブ１５４Ａ〜１５４Ｎへのデータの転送を制御する。さらに、自動キャッシュ制御装置１４０は、テープ・デーモン１１８Ａ〜１１８Ｎがデータをキャッシュ１６０に書き込む速度を制御する。
【００２５】
特に、自動キャッシュ制御装置１４０は、データ転送の通知をホスト１０２の１つから受け取る。ホスト１０２は、どの論理ボリューム１６２がテープ・カートリッジ１５６Ａ〜１５６Ｎの特定のプール内に配置されるべきかを示す。さらに、自動キャッシュ制御装置１４０は、どのファイルがキャッシュ１６０内に格納されているかに関連するメタデータを保持する。自動キャッシュ制御装置１４０は、データを転送するよう、ディスク・データ・クライアント１４４に通知する。ディスク・データ・クライアント１４４は、クライアント・カーネル拡張１４６からデータを要求し、クライアント・カーネル拡張１４６は、キャッシュ１６０から要求されたデータを検索し、そのデータをディスク・データ・クライアント１４４に送る。ディスク・データ・クライアント１４４は、自動キャッシュ制御装置１４０の要求時に、データをテープ・データ・サーバ１４２に送る。
【００２６】
テープ・データ・サーバ１４２は、テープ・ドライブ１５４Ａ〜１５４Ｎへのデータの書き込みを制御する。データは、テープ・データ・サーバ１４２から、Ａｔａｐｅドライバ１３６、ＳＣＳＩアダプタ１３８、そしてテープ・ドライブ１５４Ａ〜１５４Ｎに送られる。テープ・データ・サーバ１４２は、ライブラリ・インターフェース１３４を使用し、どのテープ・カートリッジ１５６がテープ・ドライブ１５４の１つの中に置かれるべきかを、ライブラリ・マネージャ１５２に伝える。自動キャッシュ制御装置１４０は、ライブラリ・ドライバ１３２を通して、メッセージをライブラリ・マネージャ１５２に送る。
【００２７】
ライブラリ・マネージャ１５２は、テープ・ドライブ１５４Ａ〜１５４Ｎを対象とするテープ・カートリッジ１５６Ａ〜１５６Ｎのマウント及びアンマウントを管理する。自動キャッシュ制御装置１４０は、アクセス中又は書き込み中の論理ボリューム１６２との関連に基づいて、マウントすべき適切な物理的テープ・カートリッジ１５６を選択する。ライブラリ・マネージャ１５２が、テープ・カートリッジ１５６をマウント又はアンマウントすべしとの通知を受け取ると、ライブラリ・マネージャ１５２は、テープ・ドライブ１５４Ａ〜１５４Ｎにアクセスするために用いられるアクセス機構１５８に通知する。アクセス機構１５８は、テープ・ドライブ１５４Ａ〜１５４Ｎを対象とするマウント及びアンマウントを行う。
【００２８】
図３は、本発明の一実施形態による、ＶＴＳ１１０、キャッシュ１６０、及び物理的ライブラリ１５０を示すブロック図である。物理的ライブラリ１５０は、物理的装置１５４Ａ〜１５４Ｎを含むことに加えて、物理的ボリューム１５６Ａ〜１５６Ｎを含む。物理的ボリューム１５６Ａ〜１５６Ｎは、物理的装置１５４Ａ〜１５４Ｎのいずれにマウントすることができる。特定の実装において、物理的ボリューム１５６Ａ〜１５６Ｎは、テープ・カートリッジである。これらのテープ・カートリッジは、テープ・ドライブである物理的装置１５４Ａ〜１５４Ｎ上に機械的にマウントすることができる。代替的な実装において、物理的ボリューム１５６Ａ〜１５６Ｎは、ＣＤ−ＲＯＭ、ＤＶＤ、又は他のストレージ媒体とすることができる。特定の実装において、物理的ボリューム１５６Ａ〜１５６Ｎの数は、物理的装置１５４Ａ〜１５４Ｎの数より多い。物理的装置１５４Ａ〜１５４Ｎは、プールとして編成することができる。例えば、物理的ボリューム１５６Ａ及び１５６Ｂは、１つのプール１５７として編成することができる。
【００２９】
キャッシュ１６０と物理的装置１５４Ａ〜１５４Ｎとの間で行われる動作は、事前マイグレーション（すなわち、キャッシュ１６０から物理的ボリューム１５６Ａ〜１５６Ｎへのデータ転送）と、呼び戻し（すなわち、物理的ボリューム１５６Ａ〜１５６Ｎからキャッシュ１６０へのデータ転送）である。一般的なデータ・ファイルのサイズは、１００〜２００メガバイトである。一実施形態において、ＶＴＳ１１０は、論理装置と物理的装置１５４Ａ〜１５４Ｎの間にＮ：１の比をもたらし、ここで、Ｎは典型的には１０〜２０である。こうした実装においては、物理的装置１５４Ａ〜１５４Ｎより多くの物理的ボリューム１５６Ａ〜１５６Ｎ（論理装置内に格納された論理ボリューム１６２に対応する）があるので、呼び戻しのために、ＶＴＳ１１０内にある物理的装置１５４Ａ〜１５４Ｎより多くの物理的ボリューム１５６Ａ〜１５６Ｎをマウントしなければならない期間が存在することがある。その結果、他の物理的ボリューム１５６Ａ〜１５６Ｎをマウントできるように、物理的ボリューム１５６Ａ〜１５６Ｎを除去することが必要なこともある。
【００３０】
ホスト１０２がＶＴＳ１１０から論理ボリュームを要求するとき、論理ボリュームがキャッシュ１６０内にある場合、キャッシュ・ヒットが発生する。論理ボリュームがキャッシュ内にない場合、ストレージ・マネージャ１３０は、対応する物理的ボリューム１５６Ａ〜１５６Ｎが物理的装置１５４Ａ〜１５４Ｎの１つにマウントされているかどうかを決定する。対応する物理的ボリューム１５６Ａ〜１５６Ｎがマウントされていない場合、ストレージ・マネージャ１３０は、対応する物理的ボリューム１５６Ａ〜１５６Ｎを物理的装置１５４Ａ〜１５４Ｎの１つにマウントする。次に、論理ボリュームについてのデータが、対応する物理的ボリューム１５６Ａ〜１５６Ｎから転送、すなわち呼び戻される。特定の実装において、呼び戻し動作に、数分かかることがある。呼び戻しの待ち時間は、ロボット・アームがテープ・カートリッジにアクセスし、該テープ・カートリッジをテープ・ドライブ内に挿入する時間に加えて、テープを所望の位置に配置する時間を含むことがある。
【００３１】
ストレージ・マネージャ１３０は、キャッシュ１６０内の複数の論理ボリューム１６２を複数の論理（仮想）装置にマッピングする。ホスト１０２は、ＶＴＳ１１０を介して論理装置内の論理（仮想）ボリュームにアクセスすることによって、Ｉ／Ｏ動作を行う。ストレージ・マネージャ１３０は、論理ボリューム１６２を物理的ボリューム１５６Ａ〜１５６Ｎにマッピングする。ホスト１０２は論理ボリューム１６２及び論理装置を介してデータにアクセスするが、データは、物理的装置１５４Ａ〜１５４Ｎ上にマウント可能な物理的ボリューム１５６Ａ〜１５６Ｎ内に物理的に格納される。
【００３２】
物理的ボリューム１５６Ａ〜１５６Ｎに対応する論理ボリューム１６２Ａ〜１６２Ｎは、キャッシュ１６０内にあってもよい。図３において、キャッシュ１６０は、論理ボリューム１６２Ａ〜１６２Ｎを保持する。キャッシュ１６０上に存在する論理ボリューム１６２は、時間の経過と共に変化し得る。ストレージ・マネージャ１３０は、使用される可能性が高い論理ボリューム１６２をキャッシュ１６０内に維持しようと試みる。
【００３３】
ホスト１０２が論理ボリューム１６２をＶＴＳ１１０に書き込むとき、そのデータは、ファイルとしてキャッシュ１６０内に格納される。キャッシュされたデータは、後で物理的ボリューム１５６Ａ〜１５６Ｎ上に事前マイグレーションされる。キャッシュ・ヒットが発生する場合、そのオリジナルの論理ボリュームがキャッシュ１６０内に残される。キャッシュ１６０が所定のしきい値まで満たされると、選択された論理ボリューム１６２Ａ〜１６２Ｎについての論理ボリュームのデータがキャッシュ１６０から除去され、より多くの論理ボリュームのためにスペースを空ける。特定の実装において、ストレージ・マネージャ１３０は、最も長い時間キャッシュ１６０上にあった、選択された論理ボリューム１６２（すなわち、最長未使用時間の論理ボリューム）を、キャッシュ１６０から除去する。
【００３４】
図４は、データを書き込むためにＶＴＳ１１０によって用い得る標準的な書き込みプロセス４００の一例を、フローチャートの形式で示す。書き込みプロセス４００は、ステップ４０５で開始し、そこで装置ドライバＣＡＤＤ１１６は、ホスト１０２から、マウント・コマンド、続いてテープ・デーモン１１８Ａ〜１１８Ｎについてのデータを有する書き込みコマンドを受け取る。ステップ４０７において、ストレージ・マネージャ１３０は、書き込みのために要求された論理ボリュームをマウントする。論理ボリュームのマウントは、論理ボリュームをオープンし、位置決めし、巻き戻す等の、該論理ボリュームの開始位置に対して正しい位置でデータを読み取り又は書き込む状態に論理ボリュームを置くあらゆる動作を含むことができる。ホスト１０２は、データ・オブジェクト及びストレージ要求の形式で書き込みコマンドを送る。データ・オブジェクトは、論理ボリューム、記録、ファイル、物理的ボリューム、シリンダ、論理装置又は物理的装置、表面、セクタ、ページ、バイト、ビット等の、適切なデータ単位を含むことができる。ステップ４１０において、テープ・デーモン１１８Ａ〜１１８Ｎは、データを受信し、該データをストレージ・マネージャ１３０に送る。ステップ４１５において、ストレージ・マネージャ１３０は、データ・オブジェクトをＤＡＳＤキャッシュ１６０及び／又は基本ストレージの物理的ボリューム１５６に書き込む。データがキャッシュ、基本ストレージ、又はその両方に書き込まれるかどうかは、ライブラリ・コントローラ（すなわち、ライブラリ・マネージャ１５２）の予めプログラムされたデータ管理戦略によって決定される。このデータ管理戦略は、（１）受信したオブジェクトを常にキャッシュ１６０上に格納し、時折、キャッシュされたデータ・オブジェクトを基本ストレージにコピー又は除去する、（２）受信したデータ・オブジェクトを基本ストレージに格納し、最大使用頻度のデータ・オブジェクト又は使用される可能性が高いデータ・オブジェクトだけをキャッシュする、（３）別の周知の又は新規な手法のような種々の代替方法を含むことができる。ストレージ・マネージャ１３０はまた、キャッシュ１６０内に格納されるか又は格納されないこともある、メタデータ・データベース内にもエントリを作成する。メタデータ・データベース内のエントリは、データ・オブジェクトをメタデータで相互参照し、このことは、以下で詳述する。ステップ４１５において又は適当な別の時に、１次及びバックアップ・ストレージ・サイトの間でデータ・オブジェクトのコピーを行うこともできる。
【００３５】
書き込み動作が完了したとステップ４２０が決定するまで、必要に応じてステップ４１０〜４１５を繰り返す。書き込み動作が完了すると、制御はステップ４２５に移り、そこでストレージ・マネージャ１３０は、現在のデータ・オブジェクトのメタデータをカプセル化する。メタデータのカプセル化は、種々のメタデータ・サブコンポーネントを収集し、これらを格納のために適切な形式で組み合わせることを含む。こうしたカプセル化は、連結、集約、諸部分を統合された形式にコード化すること、暗号化等を伴う。本発明に関するメタデータ・サブコンポーネントは、装置特有情報のデータ要求フラグ（ステップ７２３に関連して後述）である。メタデータは、対応するデータが格納される論理ボリュームと関連付けられる。ステップ４３０は、適当なデータ管理戦略のタイプに依存して、ステップ４１５において書き込まれたデータ・オブジェクトと共に、メタデータをキャッシュ１６０及び／又は別のストレージ場所に書き込む。ステップ４３０の後、ステップ４３５において書き込みプロセス４００が終了する。
【００３６】
代替的に、ステップ４１０は、メタデータを対応するデータ・オブジェクトと共にカプセル化し、ステップ４１５において、カプセル化された結果を書き込むことができる。この場合、ステップ４１０は、続いてステップ４１５においてストレージに書き込むために、受信したデータをバッファする。データ・オブジェクト及びメタデータは、例えば、連結、集約、諸部分を統合された形式にコード化すること、暗号化等によってカプセル化することができる。
【００３７】
図５は、データを読み取るためにＶＴＳ１１０によって用い得る標準的な読み取りプロセス５００の一例を、フローチャートの形式で示す。読み取りプロセス５００は、データ・ストレージ装置から情報を得るためのプロセスの一例にすぎず、制限なく他のプロセスを用いることができる。読み取りプロセス５００は、ステップ５０５で開始し、そこで装置ドライバＣＡＤＤ１１６は、特定の論理ボリューム１６２についてのマウント要求をホスト１０２から受け取る。これに応答して、装置ドライバＣＡＤＤ１１６は、読み取り要求をテープ・デーモン１１８Ａ〜１１８Ｎ及びストレージ・マネージャ１３０に送る。ステップ５０７において、ストレージ・マネージャ１３０は、要求された論理ボリュームがまだキャッシュ１６０内にない場合、読み取りのために、要求された論理ボリュームと関連した物理的テープ・カートリッジをマウントする。論理ボリュームのマウントは、論理ボリュームをオープンし、位置決めし、巻き戻す等の、該論理ボリュームの開始位置に対して正しい位置でデータを読み取り又は書き込む状態に該論理ボリュームを置くあらゆる動作を含むことができる。ステップ５１０において、論理ボリュームについてのデータ及びメタデータが読み取られる。ステップ５１５において、読み取られたデータがホスト１０２に戻される。ステップ５２０において、要求された論理ボリュームの読み取りの状態が調べられ、読み取りが完了したかどうかを決定する。読み取りが完了した場合、制御はステップ５３５に移る。読み取りが完了していない場合、読み取りが完了するまでステップ５１０、ステップ５１５、及びステップ５２０が実行される。ステップ５３５において読み取りプロセス５００が終了する。
【００３８】
ここで、図６を参照して、データ・ストレージ装置から装置特有情報を得るための、本発明の一実施形態の動作例を説明する。プロセス６００は、ステップ６０２で開始する。ステップ６０２からステップ６０５に移り、そこでデータ・ストレージ装置（例えば、ＶＴＳ１１０）は、データを論理ボリュームに書き込むための書き込みコマンドを受信する。論理ボリュームは、ＶＴＳ１１０によって管理されるか、又はＶＴＳ１１０と関連した何らかの論理ボリュームとすることができる。制限なく、複数の論理ボリュームに同時に書き込むことができる。書き込みコマンドは、外部装置（例えば、ホスト１０２）から受信される。制限なく、他の外部装置（例えば、クライアント、サーバ、別のＶＴＳ、自動データ・ストレージ・ライブラリ等）が、書き込みコマンドをデータ・ストレージ装置に送ることもできる。プロセス６００は、ステップ６０８に移り、そこで書き込みコマンドと関連したデータが論理ボリュームに書き込まれる。データは、通常のデータとしてもよく、又は書き込まれるデータは、固有のシーケンスの記録としてもよい。ここで、固有のシーケンスの記録は、装置特有情報が要求されていることを示すために用いることができる（後述）。書き込みプロセス４００（図４）は、データを書き込むために用いることができ、又はデータを書き込むための他の手順を用いることもできる。データの書き込みが完了した後、プロセス６００は、ステップ６０９に移り、そこで論理ボリュームが巻き戻されるか、又はアンマウント及びマウントされる。ステップ６０９の動作が実行されるのは、データを読み取るように論理ボリュームを準備するためである。ステップ６０９が完了した後、プロセス６００は、ステップ６１０に移り、そこでＶＴＳ１１０は、書き込まれたデータの分析を行う必要があるかどうかを決定する。ステップ６１０において、例えば、ＶＴＳ１１０に結合されたオペレータ・インターフェース１０５を用いて、データ分析ステップ６１５を使用不可（disable）又は使用可能（enable）にすることができる。ステップ６１０は、内部ソフトウェア・スイッチ、ハードウェア論理、処理要素等によって、実行することができる。オペレータ・インターフェース１０５は、ステップ６１０又はプロセス６００を実行する任意のステップにおけるデータ分析を使用可能又は使用不可にするために用いることができる。例えば、ステップ６１０におけるデータ分析を使用可能又は使用不可にするために、オペレータは、オペレータ・インターフェース１０５において安全なプロトコル（例えば、ユーザ名及びパスワード）を用いてコマンドを入力することができる。ステップ６１０におけるデータ分析を使用可能又は使用不可にするために、他の手段又はインターフェース（例えば、遠隔コンピュータ又は他のデータ処理装置を用いるＶＴＳ１１０への遠隔ログイン）を用いることができる。ステップ６１０におけるデータ分析が使用不可にされた場合、制御はステップ６２２に移り、そこで以前に格納されたデータを論理ボリュームから読み取ることができる。代替的に、ステップ６２２において、データを論理ボリュームに書き込むことができる。ステップ６２２における読み取り又は書き込み動��は、ホスト１０２からの読み取り又は書き込み要求の結果とすることができる。この読み取り又は書き込み要求は、論理ボリュームについてのアンマウント動作、マウント動作、又は巻き戻し動作を追加的に含むことができる。読み取りプロセス５００（図５）又は書き込みプロセス４００（図４）を用いて、データを読み取り又は書き込むことができ、又はデータを読み取り若しくは書き込むための他の手順を用いることができる。代替的に、ステップ６２２を実行する必要はない。ステップ６２２を実行した後、制御はステップ６５０に移り、そこでプロセス６００が終了する。ステップ６２２を実行するかどうかは、この時点でデータを読み取ることが必要であるか、又は別の折りにデータを読み取ることが有利であるかに依存する。
【００３９】
ステップ６１０において、データ分析が使用可能にされた場合、制御はステップ６１５に移り、そこで論理ボリュームに書き込まれたデータを分析し、固有のシーケンスの記録を検知する。データを分析するためには、論理ボリューム上のデータを読み取り、分析のためにデータを一時的ストレージ内に格納し、データを格納されたものとしてインターセプトすることができる。分析されるデータは、ホスト１０２によって書き込まれたデータのシーケンス全体、又はその特定のサブセットを含むことができる。データ・ストレージ装置（すなわち、ＶＴＳ１１０）は、論理ボリュームに書き込まれたデータを分析し、固有のシーケンスの記録を検知することができ、又はＶＴＳ１１０と関連した他の処理要素又は装置を用いることができる。固有のシーケンスの記録は、データ・ストレージ装置からの装置特有情報の要求がホスト１０２によって要求されることを示すために用いられる。固有のシーケンスの記録は、論理ボリュームに書き込まれる通常のデータにおいて出現する確率が低い、特有のデータ・パターンである。固有のシーケンスの記録の一例は、ボリューム・ヘッダ、第１のデータセット・ヘッダ、第２のデータセット・ヘッダ、第１のテープ・マーク、キー記録、クエリ識別子記録、第２のテープ・マーク、ボリューム・トレーラ、ファイルの第１のボリューム終端、ファイルの第２のボリューム終端、第３のテープ・マーク、及び第４のテープ・マークである。ボリューム・ヘッダ、データセット・ヘッダ、テープ・マーク、ファイル記録の終端、ボリューム・トレーラは、テープ・ボリューム（定義は、非特許文献２から入手可能である）を識別するための業界標準的な方法である。
【００４０】
制限なく、前述した以外の他の固有のシーケンスの記録を本発明と共に用いることができる。固有のシーケンスの記録は、論理ボリュームに書き込まれる通常のデータにおいて出現する確率が低いデータ・パターンとすべきである。
【００４１】
ステップ６２０において、論理ボリューム上に固有のシーケンスの記録が検知されない場合、制御はステップ６２２に移り、そこで以前に格納されたデータを論理ボリュームから読み取ることができる。ステップ６２２についての前記の説明は、この実行にも該当する。ステップ６２２を実行した後、制御はステップ６５０に移り、そこでプロセス６００が終了する。ステップ６２２を実行するかどうかは、この時点でデータを読み取ることが必要であるか、又は別の折りにデータを読み取るのが有利であるかに依存する。ステップ６２０において、論理ボリューム上で固有のシーケンスの記録が検知された場合、プロセス６００は、ステップ６２３に移り、そこで装置特有情報を反映するように、論理ボリュームに書き込まれた固有のシーケンスの記録が付加され、置き換えられ、又は変更される。このことは、少なくとも１つの論理ボリューム上で固有のシーケンスの記録を検知し、装置特有情報を論理ボリューム上に書き込む、データ・ストレージ装置（すなわち、ＶＴＳ１１０）によって達成することができる。同じくステップ６２３において、ＶＴＳ１１０は、論理ボリューム上に格納された装置特有情報が、今や読み取りのために利用可能であることをホスト１０２に通知する。装置特有情報は、ＶＴＳ１１０、論理ボリューム又は物理的ボリューム、関連したストレージ装置（すなわち、テープ・ドライブ１５４、物理的ライブラリ１５０等）についての種々の形式の情報を含むことができる。装置特有情報は、論理ボリュームと関連したメタデータの属性のリストを含むことができる。例えば、メタデータの属性は、ピア・ツー・ピア型ＶＴＳサブシステムとして結合された、２つのＶＴＳ間で論理ボリュームのコピーを同期させために用いられるデータ・バージョン・レベルのリストを含むことができる。メタデータの属性は、各論理ボリュームが物理的テープ・カートリッジのどのプールに関連付けられているかを制御するホスト構造のリストを含むこともできる。メタデータの属性は、制限なく、データについての統計情報又はデータに関する他の情報を含むことができる。装置特有情報は、データ・ストレージ装置（例えば、ＶＴＳ１１０）の動作履歴のレポートを含むことができる。データ・ストレージ装置の動作履歴は、格納又は検索されたデータ、電源投入／電源遮断シーケンス、ＶＴＳの性能履歴、及びキャッシュ１６０又はテープ・ドライブ１５４のようなＶＴＳ１１０を構成するサブシステムの使用量に関する情報を含むことができる。動作履歴のレポートは、種々の形式（例えば、単純なリスト、グラフ表示、対話式データ・ファイル等）を取ることができる。装置特有情報は、データ・ストレージ装置（例えば、ＶＴＳ１１０）の動作状態のレポートを含むことができる。データ・ストレージ装置の動作状態のレポートは、格納又は検索されたデータの現在の状態、電源投入／電源遮断シーケンスの状態、及びキャッシュ１６０又はテープ・ドライブ１５４のようなＶＴＳを構成するサブシステムの可用性の状態に関する情報を含むことができる。動作状態のレポートは、種々の形式（例えば、単純なリスト、グラフ表示、対話式データ・ファイル等）を取ることができる。装置特有情報は、データ・ストレージ装置内に格納された論理ボリュームの物理的位置のリストを含むことができる。例えば、論理ボリュームの物理的位置は、１つ以上の物理的装置１５４、物理的ボリューム１５６、テープ・ドライブ１５４Ａ〜１５４Ｎ、テープ・カートリッジ１５６Ａ〜１５６Ｎ、ＤＡＳＤ１６０、又はＶＴＳ１１０と関連した他の装置内にあってもよい。物理的位置のリストは、種々の形式（例えば、単純なリスト、グラフ表示、対話式データ・ファイル等）を取ることができる。
【００４２】
ステップ６２３を実行した後、制御はステップ６２５に移り、そこで装置特有情報が書き込まれた論理ボリュームをマウントする。ステップ６２５における論理ボリュームのマウントは、論理ボリュームをオープンし、巻き戻す等の、データを論理ボリュームから読み取ることができるような状態に論理ボリュームを置く、論理ボリューム上のあらゆる動作を含むことができる。論理ボリュームのマウントは、外部装置（例えば、ホスト１０２）からの読み取りコマンドをＶＴＳ１００が受け取る結果（すなわち、図５の読み取りプロセス５００）とすることができる。論理ボリュームのマウントはまた、物理的テープ・ドライブ１５４から論理ボリュームのコンテンツ全体を検索してこれをキャッシュ１６０に格納し、ボリューム・データ又はボリューム・メタデータのいずれかをチェックすることによって正しい論理ボリュームがアクセスされていることを検証し、エラー検知又は訂正コードを用いて論理ボリュームの完全性を検証することを含むこともできる。ステップ６２５において論理ボリュームをマウントした後、制御はステップ６３０に移り、そこでデータ・ストレージ装置（すなわち、ＶＴＳ１１０）は、論理ボリュームから装置特有情報を読み取る。読み取られた情報は、情報を要求している装置（例えば、ホスト１０２）に伝送される。装置特有情報の読み取りは、ボリューム・ヘッダ、第１のデータセット・ヘッダ、第２のデータセット・ヘッダ、第１のテープ・マーク、レポート・ヘッダ、少なくとも１つのレポート・データ、第２のテープ・マーク、ボリューム・トレーラ、ファイルの第１のボリューム終端、ファイルの第２のボリューム終端、第３のテープ・マーク、及び第４のテープ・マークをそれぞれ読み取ることを含むことができる。前述のように、少なくとも１つのレポート・データの読み取りは、データ・ストレージ装置内の論理ボリュームと関連したメタデータの属性のリスト、データ・ストレージ装置の動作履歴のレポート、データ・ストレージ装置の動作状態のレポート及びデータ・ストレージ装置における論理ボリュームの物理的位置のリストのうちのいずれかを読み取ることを含むことができる。ステップ６３０を実行した後、制御はステップ６５０に移り、そこでプロセス６００が終了する。
【００４３】
ここで、図７を参照して、データ・ストレージ装置から装置特有情報を得るための、本発明の第２の実施形態の動作例を説明する。プロセス７００は、ステップ７０２で開始する。ステップ７０２からステップ７０５に移り、そこでデータ・ストレージ装置（例えば、ＶＴＳ１１０）は、データを論理ボリュームに書き込むための書き込みコマンドを受信する。論理ボリュームは、ＶＴＳ１１０によって管理されるか、又はこれと関連した任意の論理ボリュームとすることができる。制限なく、複数の論理ボリュームに同時に書き込むことができる。書き込みコマンドは、外部装置（例えば、ホスト１０２）から受信される。制限なく、他の外部装置（例えば、クライアント、サーバ、別のＶＴＳ、自動データ・ストレージ・ライブラリ等）が、書き込みコマンドを、データ・ストレージ装置に送ることもできる。プロセス７００は、ステップ７０８に移り、そこで書き込みコマンドと関連したデータが論理ボリュームに書き込まれる。データは、通常のデータとしてもよく、又は書き込まれるデータは、固有のシーケンスの記録としてもよい。ここで、固有のシーケンスの記録は、装置特有情報が要求されていることを示すために用いることができる（後述）。書き込みプロセス４００（図４）は、データを書き込むために用いることができ、又はデータを書き込むための他の手順を用いることもできる。データの書き込みが完了した後、プロセス７００は、ステップ７１０に移り、そこでＶＴＳ１１０は、書き込まれたデータの分析を行う必要があるかどうかを決定する。ステップ７１０は、データ分析ステップ７１５を実行する必要があるかどうかを決定する。例えば、データ・ストレージ装置に結合されたオペレータ・インターフェース１０５を用いて、ステップ７１０において、データ分析ステップ７１５を使用不可又は使用可能にすることができる。ステップ７１０は、内部ソフトウェア・スイッチ、ハードウェア論理、処理要素等によって、実行することができる。オペレータ・インターフェース１０５は、ステップ７１０又はプロセス７００を実行する任意のステップにおけるデータ分析を使用可能又は使用不可にすることができる。例えば、ステップ７１０におけるデータ分析を使用可能又は使用不可にするために、オペレータは、オペレータ・インターフェース１０５において安全なプロトコル（例えば、ユーザ名及びパスワード）を用いてコマンドを入力することができる。ステップ７１０におけるデータ分析を使用可能又は使用不可にするために、他の手段又はインターフェース（例えば、遠隔コンピュータ又は他のデータ処理装置を用いるＶＴＳ１１０への遠隔ログイン）を用いることができる。ステップ７１０におけるデータ分析が使用不可にされた場合、制御はステップ７２２に移り、そこで以前に格納されたデータを論理ボリュームから読み取ることができる。代替的に、ステップ７２２において、データを論理ボリュームに書き込むことができる。ステップ７２２における読み取り又は書き込み動作は、ホスト１０２からの読み取り又は書き込み要求の結果とすることができる。この読み取り又は書き込み要求は、論理ボリュームのためのアンマウント動作、マウント動作、又は巻き戻し動作を追加的に含むことができる。読み取りプロセス５００（図５）を用いてデータを読み取ることができ、又はデータを読み取るための他の手順を用いることもできる。代替的には、ステップ７２２を実行する必要がない。ステップ７２２を実行した後、制御はステップ７７０に移り、そこでプロセス７００が終了する。ステップ７２２を実行するかどうかは、この時点でデータを読み取ることが必要であるか、又は別の折りにデータを読み取ることが有利であるかに依存する。ステップ７１０においてデータ分析が使用可能にされた場合、制御はステップ７１５に移り、そこで論理ボリュームに書き込まれたデータを分析し、固有のシーケンスの記録を検知する。データを分析するためには、論理ボリューム上のデータを読み取り、分析のためにデータを一時的ストレージ内に格納し、データを格納されたものとしてインターセプトすることができる。分析されたデータは、ホスト１０２によって書き込まれたデータのシーケンス全体、又はその特定のサブセットから構成することができる。データ・ストレージ装置（すなわち、ＶＴＳ１１０）は、論理ボリュームに書き込まれたデータを分析し、固有のシーケンスの記録を検知することができ、又はＶＴＳ１１０と関連した他の処理要素又は装置を用いることもできる。固有のシーケンスの記録は、データ・ストレージ装置からの装置特有情報要求が、ホスト１０２によって要求されていることを示すために用いられる。固有のシーケンスの記録は、論理ボリュームに書き込まれる通常のデータにおいて出現する確率が低い特有のデータ・パターンである。固有のシーケンスの記録の一例は、ボリューム・ヘッダ、第１のデータセット・ヘッダ、第２のデータセット・ヘッダ、第１のテープ・マーク、キー記録、クエリ識別子記録、第２のテープ・マーク、ボリューム・トレーラ、ファイルの第１のボリューム終端、ファイルの第２のボリューム終端、第３のテープ・マーク、及び第４のテープ・マークである。ボリューム・ヘッダ、データセット・ヘッダ、テープ・マーク、ファイル記録の終端、ボリューム・トレーラは、テープ・ボリュームを識別するための業界標準的な方法である。制限なく、前述した以外の他の固有のシーケンスの記録を本発明と共に用いることができる。固有のシーケンスの記録は、論理ボリュームに書き込まれる通常のデータにおいて出現する確率が低いデータのパターンとすべきである。ステップ７２０において、論理ボリュームにおいて固有のシーケンスの記録が検知されない場合、制御はステップ７２２に移り、そこで以前に格納されたデータを論理ボリュームから読み取ることができる。ステップ６２２及びステップ７２２の動作についての前述の説明は、ステップ７２２のこの実行にも該当する。ステップ７２２を実行した後、制御はステップ７７０に移り、そこでプロセス７００が終了する。ステップ７２２を実行するかどうかは、この時点でデータを読み取ることが必要であるか、又は別の折りにデータを読み取るのが有利であるかに依存する。
【００４４】
ステップ７２０において、データ・ストレージ装置が、論理ボリューム上の固有のシーケンスの記録を検知することに応答して、ステップ７２３において、該データ・ストレージ装置（すなわち、ＶＴＳ１１０）は、装置特有情報のデータ要求フラグを論理ボリュームと関連したメタデータ内に置いて、論理ボリュームが装置特有情報を含むこと、かつ、論理ボリュームが特別のデータ要求論理ボリュームであることを示す。ステップ７２３を実行した後、制御はステップ７２５に移り、そこでホスト１０２は、データ・ストレージ装置（すなわち、ＶＴＳ１１０）に、論理ボリュームをマウントし、論理ボリュームを読み取る準備をすることを要求する。論理ボリュームのマウントは、ステップ７２５において要求を受け取った後に開始する。論理ボリュームのマウントは、論理ボリュームをオープンし、巻き戻す等の、データを論理ボリュームから読み取ることができるような状態に論理ボリュームを置く、論理ボリューム上のあらゆる動作を含むことができる。ステップ７２５において論理ボリュームをマウントする要求を受け取った後、データ・ストレージ装置（すなわち、ＶＴＳ１１０）は、論理ボリュームと関連したメタデータを読み取り、検査して、装置特有情報のデータ要求フラグを検知する。ステップ７３０においてメタデータ内の装置特有情報のデータ要求フラグを検知することに応答して、制御はステップ７３５に移り、そこで論理ボリュームが特別のデータ要求論理ボリュームであることを検証する。ステップ７２３に関して前述したように、装置特有情報を含む論理ボリュームは、特別のデータ要求論理ボリュームである。論理ボリュームが特別のデータ要求論理ボリュームであることを検証することは、論理ボリュームを読み取って、固有のシーケンスの記録、装置特有情報、又は検証のために用いることができる他のデータを検知することを含むことができる。代替的に、検証（ステップ７３５）が実行されないことがある。というのは、特別のデータ要求論理ボリュームであることを検証するためには、メタデータ内の装置特有情報のデータ要求フラグを検知することで十分であるからである。
【００４５】
ステップ７３０において装置特有情報のデータ要求フラグが検知されなかった場合、制御はステップ７４６に移り、そこでＶＴＳ１１０は、論理ボリュームのマウントが完了したことをホスト１０２に通知する。ステップ７４６を実行した後、制御はステップ７２２（既に説明された）に移り、そこで随意的に論理ボリュームからデータを読み取る。ステップ７３５において論理ボリュームが特別のデータ要求論理ボリュームであることを検証した後、制御はステップ７４０に移り、そこで装置特有情報を論理ボリューム上に書き込む。ステップ７３５において論理ボリュームが特別のデータ要求論理ボリュームであることを検証しない場合、制御はステップ７４６に移り、そこでＶＴＳ１１０は、論理ボリュームのマウントが完了したことをホスト１０２に通知する。ステップ７４６を実行した後、制御はステップ７２２（既に説明された）に移り、そこで随意的に論理ボリュームからデータを読み取る。
【００４６】
ステップ７４０において、ステップ７０８において以前に論理ボリュームに書き込まれた固有のシーケンスの記録が、装置特有情報を反映するように付加され、置き換えられ、又は変更される。このことは、装置特有情報を論理ボリューム上に書き込むデータ・ストレージ装置（すなわち、ＶＴＳ１１０）によって達成することができる。第１の実施形態について前述したように、装置特有情報は、ＶＴＳ１１０、論理ボリューム又物理的ボリューム、関連したストレージ装置（すなわち、テープ・ドライブ１５４、物理的ライブラリ１５０等）についての種々の形式の情報を含むことができる。装置特有情報は、論理ボリュームと関連したメタデータの属性のリストを含むことができる。例えば、メタデータの属性のリストは、ピア・ツー・ピア型ＶＴＳサブシステムとして結合された、２つのＶＴＳ間で論理ボリュームのコピーを同期させるために用いられるデータ・バージョン・レベルのリストを含むことができる。メタデータの属性は、各論理ボリュームが物理的テープ・カートリッジのどのプールに関連付けられているかを制御するホスト構造のリストを含むこともできる。メタデータの属性は、制限なく、データについての統計情報又はデータに関する他の情報を含むことができる。装置特有情報は、データ・ストレージ装置（例えば、ＶＴＳ１１０）の動作履歴のレポートを含むことができる。データ・ストレージ装置の動作履歴は、格納又は検索されたデータ、電源投入／電源遮断シーケンス、ＶＴＳの性能履歴、及びキャッシュ１６０又はテープ・ドライブ１５４のようなＶＴＳ１１０を構成するサブシステムの使用量に関する情報を含むことができる。動作履歴のレポートは、種々の形式（例えば、単純なリスト、グラフ表示、対話式データ・ファイル等）を取ることができる。装置特有情報は、データ・ストレージ装置（例えば、ＶＴＳ１１０）の動作状態のレポートを含むことができる。データ・ストレージ装置の動作状態のレポートは、格納又は検索されたデータの状態、電源投入／電源遮断シーケンスの状態、及びキャッシュ１６０又はテープ・ドライブ１５４のようなＶＴＳを構成するサブシステムの可用性の状態に関する情報を含むことができる。動作状態のレポートは、種々の形式（例えば、単純なリスト、グラフ表示、対話式データ・ファイル等）を取ることができる。装置特有情報は、データ・ストレージ装置内に格納された論理ボリュームの物理的位置のリストを含むことができる。例えば、論理ボリュームの物理的位置は、１つ以上の物理的装置１５４、物理的ボリューム１５６、テープ・ドライブ１５４Ａ〜１５４Ｎ、テープ・カートリッジ１５６Ａ〜１５６Ｎ、ＤＡＳＤ１６０、又はＶＴＳ１１０と関連した他の装置内にあってもよい。物理的位置のリストは、種々の形式（例えば、単純なリスト、グラフ表示、対話式データ・ファイル等）を取ることができる。ステップ７４０を実行した後、制御はステップ７４５に移る。
【００４７】
ステップ７４５において、データ・ストレージ装置（すなわち、ＶＴＳ１１０）は、装置特有情報が書き込まれた論理ボリュームのマウントが完了したことをホスト１０２に通知し、装置特有情報を読み取ることができるようにホスト１０２を使用可能にする。ステップ７４５における論理ボリュームのマウントの完了は、論理ボリュームをアンマウント及びマウントし、論理ボリュームを巻き戻す等の、データを論理ボリュームから読み取ることができるような状態に論理ボリュームを置く、論理ボリューム上のあらゆる動作を追加的に含むことができる。ステップ７４５を実行した後、制御はステップ７５０に移り、そこで装置特有情報が書き込まれた論理ボリュームを読み取る。読み取られた情報は、情報を要求している装置（例えば、ホスト１０２）に伝送される。論理ボリュームから装置特有情報を読み取ることは、ボリューム・ヘッダ、第１のデータセット・ヘッダ、第２のデータセット・ヘッダ、第１のテープ・マーク、レポート・ヘッダ、少なくとも１つのレポート・データ、第２のテープ・マーク、ボリューム・トレーラ、ファイルの第１のボリューム終端、ファイルの第２のボリューム終端、第３のテープ・マーク、及び第４のテープ・マークをそれぞれ読み取ることを含むことができる。前述のように、少なくとも１つのレポート・データの読み取りは、データ・ストレージ装置内の論理ボリュームと関連したメタデータの属性のリスト、データ・ストレージ装置の動作履歴のレポート、データ・ストレージ装置の動作状態のレポート及びデータ・ストレージ装置における論理ボリュームの物理的位置のリストのうちのいずれかを読み取ることを含むことができる。ステップ７５０を実行した後、制御はステップ７７０に移り、そこでプロセス７００が終了する。
【００４８】
本発明の動作についての前記の説明は、データ・ストレージ装置としてＶＴＳ１１０を用いて進行した。本発明を実装するために用いられるデータ・ストレージ装置は、自動データ・ストレージ・ライブラリ（すなわち、物理的ライブラリ１５０）とすることもできる。前述のように、物理的ライブラリ１５０は、データの格納のためのデータ・ストレージ媒体（すなわち、物理的ボリューム１５６）、データ・ストレージ媒体に対してデータを読み取り及び書き込むためのデータ・ストレージドライブ（すなわち、物理的装置１５４）、及び自動データ・ストレージ・ライブラリを制御するためのライブラリ・コントローラ（すなわち、ライブラリ・マネージャ１５２）を含む。
【００４９】
＜追加的な実装の詳細＞
ネットワーク・コンポーネント上に情報を維持するための前述の技術は、ソフトウェア、ファームウェア、ハードウェア、又はこれらのいずれかの組み合わせを生成するために、標準的なプログラミング及び／又はエンジニアリング技術を用いる方法、装置、又は製品として、実装することができる。ここで用いられる「製品」という用語は、ハードウェア論理（例えば、集積回路チップ、プログラム可能なゲートウェイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）、又は磁気ストレージ媒体（例えば、ハードディスク・ドライブ、フレキシブル・ディスク、テープ等）、光ストレージ（ＣＤ−ＲＯＭ、光ディスク等）、揮発性及び不揮発性メモリ装置（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア、プログラム可能な論理等）のようなコンピュータ可読媒体において実装されるコード又は論理を指す。コンピュータ可読媒体内のコードは、プロセッサによってアクセスされ、実行される。さらに、実施形態を実装するコードには、伝送媒体を通して、又はネットワーク上のファイル・サーバからもアクセス可能である。そのような場合、コードを実装する製品は、ネットワーク伝送線のような伝送媒体、無線伝送媒体、空間を通して伝播する信号、電波、赤外線信号等を含むことができる。したがって、「製品」は、コードを具体化する媒体を含むことができる。さらに、「製品」は、コードを具体化し、処理し、実行するハードディスク・コンポーネント及びソフトウェア・コンポーネントの組み合わせを含むことができる。勿論、当業者であれば、本発明の範囲から逸脱することなく、この構成に多くの修正をなし得ること及び製品が当分野において周知の任意の情報支持媒体をも含み得ることを理解するであろう。
【００５０】
説明された実装において、Ｎのような特定の変数は、特定の数の要素を示す整数値を示すように用いられる。これらの変数は、同じ要素又は異なる要素について異なる場面で用いられるときに任意の数を示すことができる。例えば、図３の論理ボリューム１６２Ａ〜１６２Ｎについて、Ｎは、Ｑ個の数の要素を示すことができ、物理的装置１５４Ａ〜１５４Ｎについて、Ｎは、Ｍ個の数の要素を示すことができ、物理的ボリューム１５６Ａ〜１５６Ｎについて、Ｎは、Ｐ個の数の要素を示すことができる。
【００５１】
図４〜図７の論理は、特定の順序で行われる特定の動作を説明する。代替的な実装において、これらの論理動作の一部を、異なる順序で実行し、修正し、又は除去することができる。さらに、ステップを前述の論理に追加し、依然として説明された実装に適合させることができる。さらに、ここに説明される動作は、順次的に行うことができ、又は特定の動作を並列に行うことができ、又は単一のプロセスによって行われるものとして説明された動作を分散型プロセスによって行うことができる。
【００５２】
図４〜図７の論理は、ソフトウェアで実装されるものとして説明された。この論理は、ホスト・システムのオペレーティング・システム又はアプリケーション・プログラムの一部とすることができる。さらに別の実装において、この論理は、制御ユニットによって管理されるストレージ領域、又は読み出し専用メモリ、又は他のハードワイヤード・タイプの装置内に維持することができる。好ましい論理は、ハードディスク・ドライバ、又はプログラム可能な及びプログラム不能なゲートウェイ論理において実装することができる。
【００５３】
図８は、ホスト１０２、オペレータ・インターフェース１０５、及びＶＴＳ１１０のアーキテクチャの１つの実装を示す。ホスト１０２、オペレータ・インターフェース１０５、及びＶＴＳ１１０は、プロセッサ８０２（例えば、マイクロプロセッサ）、メモリ８０４（例えば、揮発性メモリ装置）、及びストレージ８０６（例えば、磁気ディスク・ドライブ、テープ・ドライブ等のような不揮発性ストレージ）を有するコンピュータ・アーキテクチャ８００を実装することができる。ストレージ８０６は、内部ストレージ装置、又は付加された又はネットワーク・アクセス可能なストレージを含むことができる。ストレージ８０６内のプログラムは、当分野において周知の方法で、メモリ８０４にロードされ、プロセッサ８０２によって実行される。アーキテクチャ８００は、ネットワークとの通信を可能にするネットワーク・カード８０８をさらに含む。ユーザ入力をプロセッサ８０２に提供するために、入力装置８１０が用いられ、この入力装置８１０は、キーボード、マウス、ペン型スタイラス、マイクロフォン、タッチ・センシティブ表示画面等を含むことができる。出力装置８１２は、プロセッサ８０２から伝送される情報をレンダリングするための装置や、表示用モニタ、プリンタ、ストレージ等のような他のコンポーネントを含むことができる。
【００５４】
ホスト１２０及びＶＴＳ１１０は、説明された実装におけるクライアント・サーバ・パラダイム内で通信するが、ホスト１２０及びＶＴＳ１１０は、ピア・ツー・ピア又は当分野において周知の他の任意のパラダイム内で通信することもできる。さらに、説明の便宜上、ソフトウェア及びハードウェア・コンポーネントの多くは、別個のモジュールに存在するものとして説明された。こうしたコンポーネントは、より少ない数のコンポーネントに統合することができ、又はより多い数のコンポーネントに分割することもできる。さらに、特定のコンポーネントによって行われるものとして説明された特定の動作を、他のコンポーネントによって実行することもできる。
【００５５】
本発明の好ましい実施形態に関する前述の記述は、例示及び説明を目的として与えられたものであって、網羅的であること及び開示された形態に本発明を制限することを意図するものではない。前述の教示に照らして、多くの修正及び変形が可能である。本発明の範囲は、この詳細な説明によってではなく、寧ろ、特許請求の範囲によって制限されるように意図される。前述の仕様、例、及びデータは、本発明の製造及び本発明の構成の使用の完全な説明を提供するものである。本発明の精神及び範囲に逸脱することなく、本発明の多くの実装を行うことができるので、本発明の範囲は、特許請求の範囲によって定められることが意図される。前述の記述は、本発明の完全な理解を与えるために、特定の名称を用いた。しかし、当業者であれば、本発明を実施するために特定の詳細を必要としないことを理解するであろう。他の例においては、本発明の要旨を不明瞭にすることを避けるために、公知の回路及び装置は、ブロック図の形態で示された。
【図面の簡単な説明】
【００５６】
【図１】本発明の実装による、コンピューティング環境を示すブロック図である。
【図２】本発明の実装による、コンピューティング環境のさらなる詳細を示すブロック図である。
【図３】本発明の実装による、仮想テープ・サーバ、キャッシュ、及び物理的ライブラリを示すブロック図である。
【図４】データをデータ・ストレージ装置に書き込むプロセスを示すフローチャートである。
【図５】データをデータ・ストレージ装置から読み取るプロセスを示すフローチャートである。
【図６】データ・ストレージ装置から装置特有情報を得るための、本発明の一実施形態を示すフローチャートである。
【図７】データ・ストレージ装置から装置特有情報を得るための、本発明の第２の実施形態を示すフローチャートである。
【図８】本発明のために用いることができるホスト、オペレータ・インターフェース、及びＶＴＳのアーキテクチャの１つの実装を示すブロック図である。
【図１】
0004843604.tif 000002
【図２】
0004843604.tif 000003
【図３】
0004843604.tif 000004
【図４】
0004843604.tif 000005
【図５】
0004843604.tif 000006
【図６】
0004843604.tif 000007
【図７】
0004843604.tif 000008
【図８】
0004843604.tif 000009