説明

テープ・メディア・デバイス上のパーティションの自動リンク

【課題】記憶媒体上の、無効なデータを含むパーティションを再生するのに費やされてきた時間、費用ならびに必要とされるコンピュータ処理能力を最小限にする。
【解決手段】記憶管理システム内で使うための記憶媒体上のパーティションを自動的にリンクさせるシステムおよび方法が提供される。アプリケーションは、記憶テープに書き込まれた各ファイルまたはデータ・オブジェクトについての位置情報を追跡するよう動作する。その位置情報を使って、アプリケーションは、ファイルが期限切れになることで記憶テープ上に作り出される「空いている」または書き込み可能なパーティションを同定できる。さらに、記憶テープにファイルを書き込むとき、デバイスは、書き込み可能なパーティションを自動的にリンクさせて論理ボリュームを形成するよう動作する。記憶テープからファイルを読むときには、デバイスは論理ボリュームを通じて自動的にナビゲートできる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概括的にはデータ記憶〔ストーレジ〕管理の方法およびシステムに関し、より詳細には記憶媒体上のパーティションを自動的にリンクさせるための設計に関する。
【背景技術】
【0002】
大規模記憶管理用途においてしばしば使われる現代の記憶媒体デバイス(たとえば磁気記憶テープ、カセット、マルチボリューム・カートリッジ)は、数百ないし数千ギガバイトのデータを保持する。この巨大なデータ記憶容量をよりよく利用するために、複数のデータ・オブジェクト(たとえばホスト・ファイルまたは仮想テープ・ボリューム)が単一の記憶テープ上に「スタック〔積み重ね〕」され、各データ・セットは異なる無効化(たとえば期限切れ)パラメータをもつ。特定のデータ・セットが期限切れになると、そのデータ・セットはテープ上に「ギャップ」または無駄なスペースを生じる。時間がたつにつれて、無駄なスペースはあまりに大きくなり、テープは再生〔リクレーム〕される必要がある。再生は、テープ上に残っている有効なデータをコピーし、それを、通例はテープの先頭の、連続的なスペースに移すことを含む。これにより以前に無駄になったスペースが書き換えのために有用になる。
【0003】
記憶テープの再生において必要とされる時間および費用の問題に対処するため、離散テープ・パーティション分割(discrete tape partitioning)が開発された。離散テープ・パーティション分割は、記憶テープを複数の離散的なパーティションに分割し、ひとたび特定のパーティションからデータが期限切れになったら、そのパーティションが書き換えられるようにする。離散テープ・パーティション分割は何年も前から存在しているが、顕著な欠点があり、開発者には不人気であった。たとえば、離散パーティション分割では、ホスト(たとえば、メインフレーム・サーバー上で走るホスト・アプリケーション)だけが、どのパーティションが有効なデータを含むかならびにテープ・パーティション内に記憶されているデータ・オブジェクトまたはホスト・ファイルの位置を追跡しうる。各パーティションは別個で相異なるので、読み出しおよび書き込み動作の両方において、各パーティションの終わりにおける処理において、アーカイブ・デバイス(たとえばテープ・ドライブ)を次の適用可能なパーティションに適正に差し向けるために、ホスト・アプリケーションが関与する必要がある。アーカイブ・デバイスがテープからデータを読んでいる場合、ホストはアーカイブ・デバイスを、読み込まれているホスト・ファイルに関連するデータを含む次のパーティションに差し向ける必要がある。アーカイブ・デバイスが書き込んでいる場合には、ホストは、前記デバイスを、有効なデータがなく、したがって書き換えのために利用可能な次のパーティションに差し向ける必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明者らは、離散記憶テープ・パーティション分割は記憶テープ上の各離散パーティションを、そのパーティション内に含まれるデータが期限切れになる際に再利用されることを許容するが、離散パーティション分割は格別に処理集約的であることを認識するに至った。すなわち、単一のデータ・オブジェクトまたは一連の関係するデータ・オブジェクトを記憶する複数のパーティションの間のいかなる型のリンクもなしでは、データが適正に記憶テープに書き込まれ、および/または記憶テープから返されることを保証するためには、ホスト・アプリケーションが各パーティションを処理する(すなわち読み出すまたは書き込む)ことに直接関与する必要がある。データを扱い、記憶する複雑さへのこの著しいホストの関与は、貴重なコンピューティング資源を浪費し、その一方で記憶システムが効率的にデータを記憶テープに記憶し、記憶テープからデータを取り出す能力を受け入れられないほどに遅くする。これらおよびその他の問題が、以下で論じ、たとえば図1〜図6において示される記憶テープ上のパーティション間の自動リンクを利用する記憶システムおよび方法によって対処される。
【課題を解決するための手段】
【0005】
より具体的には、記憶媒体にデータを書き込む方法が提供される。本方法は、記憶テープをいくつかの書き込み可能な自動的にリンクされたパーティション(ALP: automatically linked partition)に分割するステップを含む。ひとたび分割されたら、制御ホスト・アプリケーションは、記憶テープがマウントされているアーカイブ・デバイスに書き込み可能マスクを提供しうる。書き込み可能マスクは、アーカイブ・デバイスに、書き込み可能ALPに関して通知しうる。本方法はさらに、第一の組のデータ・オブジェクト(たとえば、仮想テープ・ボリュームまたはホスト・ファイル)を書き込むことを含みうる。ここで、前記データ・オブジェクトは書き込み可能な諸ALPの実質的かつ連続的な部分にまたがり、ホスト・アプリケーションは記憶テープに書き込まれた各データ・オブジェクトの位置を同定するマッピング情報を追跡しうる。データ・オブジェクトのうちの一つまたは複数のデータ・オブジェクトの無効化に際してマッピング情報を使って、ホスト・アプリケーションは、記憶テープ全体にわたって連続的または非連続的に分布している一つまたは複数の書き換え可能なALP(すなわち、もはや有効なデータを含んでおらず、よって書き換えることのできるALP)を同定し、アーカイブ・デバイスにそれらの書き換え可能なALPについて通知する、更新された書き込み可能マスクを提供しうる。更新された書き込み可能マスクを受領すると、アーカイブ・デバイスは、書き換え可能ALPの一つまたは複数内で、記憶テープに追加的なデータ・オブジェクトの組を書き込みうる。追加的なデータ・オブジェクトの組を書き込む際、アーカイブ・デバイスは、書き換え可能なALPの間を自動的に遷移しうる。
【0006】
本方法のある変形は、各データ・オブジェクトの位置を同定するマッピング情報を追跡し、一つまたは複数の書き換え可能ALPを同定し、更新された書き込み可能マスクを提供し、追加的なデータ・オブジェクトの組を書き込むステップを連続的に反復することを含む。別の変形では、書き込みステップは、二以上のマウント・サイクルにわたって完了されてもよく、各マウント・サイクルは異なるアーカイブ・デバイスに関連付けられてもよい。いくつかの場合には、アーカイブ・デバイスはテープ・ドライブであってもよい。さらに、記憶テープは最初は有効なデータがなくてもよく、書き換え可能なALPのそれぞれは有効なデータがなくてもよい。さらに、記憶テープ上の各データ・オブジェクトの位置は、各データ・オブジェクトの開始および/または終了に関連付けられたブロック識別情報およびALP識別情報を含んでいてもよい。
【0007】
別の側面または実施形態によれば、記憶管理システムにおいて記憶媒体と対話する方法が提供される。本方法は、アーカイブ・デバイスを使って記憶テープ上の連続的なまたは非連続的ないくつかのパーティション内にデータ・オブジェクト(たとえば仮想テープ・ボリュームまたはホスト・ファイル)を記憶することを含む。ここで、パーティションのすべては、リンクされて、一つの論理ボリュームの少なくとも一部分をなしうる。本方法はさらに、アーカイブ・デバイスをデータ・オブジェクトの先頭に位置させ、アーカイブ・デバイスが論理ボリュームをなすパーティションのそれぞれの間で自動的に遷移しながらデータ・オブジェクトを読むことを含みうる。
【0008】
一つの変形では、記憶するステップは、パーティションのそれぞれが書き込み可能であることをアーカイブ・デバイスに通知する書き込み可能マスクを提供し、記憶テープ上の複数のパーティション内にデータ・オブジェクトを書き込むことを含みうる。記憶するステップはさらに、データ・オブジェクトに関連付けられた位置情報を記録することを含みうる。位置情報は、データ・オブジェクトの開始および/または終了に関連付けられたブロック識別情報およびALP識別情報を含んでいてもよい。別の変形では、記憶するステップは、一または複数のマウント・サイクルにわたって完了されてもよい。さらに、前記アーカイブ・デバイスは二つ以上のアーカイブ・デバイスであってもよい。
【0009】
別の側面または実施形態によれば、記憶管理システム〔ストーレジ・マネジメント・システム〕が提供される。本システムは、いくつかのパーティションに分割された記憶テープ、ホスト・アプリケーションを走らせているサーバーおよび記憶テープとインターフェースをもつアーカイブ・デバイスを含む。ホスト・アプリケーションは、記憶テープ上の一つまたは複数の書き込み可能パーティションを同定するよう動作しうる。それらの書き込み可能パーティションは、記憶テープを通じて連続的または非連続的に分布していてもよい。記憶テープに一つまたは複数のホスト・ファイルを書き込むとき、アーカイブ・デバイスは、前記一つまたは複数のホスト・ファイルを含む論理ボリュームを形成するよう前記書き込み可能パーティションのうちの二つ以上を自動的にリンクするよう動作しうる。記憶テープから前記一つまたは複数のホスト・ファイルを読み込むとき、アーカイブ・デバイスは、論理ボリュームを通じて自動的にナビゲートするよう動作しうる。
【0010】
前記記憶管理システムの一つの変形は、サーバーとアーカイブ・デバイスとの間に結合される仮想記憶管理モジュールを含みうる。仮想記憶管理モジュールは仮想テープ記憶制御システム、仮想テープ記憶サブシステムおよび仮想テープ・ライブラリを含みうる。この変形において、仮想テープ記憶制御システムは仮想テープ記憶サブシステムを管理し、該仮想テープ記憶サブシステムはホスト・アプリケーションから仮想テープ・ライブラリへの、ホスト・アプリケーションからアーカイブ・デバイスへの、あるいはホスト・アプリケーションから仮想テープ・ライブラリを介してアーカイブ・デバイスへの、ホスト・ファイルの通過を制御する。本仮想記憶管理システムの別の変形では、ホスト・アプリケーションは記憶テープに書き込まれた一つまたは複数のホスト・ファイルのそれぞれについて位置情報を追跡するよう動作する。さらにもう一つの変形では、ホストは、ファイバー接続性(FICON: fiber connectivity)コマンド・プロトコルまたは小型コンピュータ・システム・インターフェース(SCSI: small computer systems interface)コマンド・プロトコルを使ってアーカイブ・デバイスとのインターフェースをもつ。
【図面の簡単な説明】
【0011】
【図1】仮想記憶管理システムの一つの実施形態の機能ブロック図である。
【図2】図1の仮想記憶管理システムにおいて使う記憶テープの論理的な図である。
【図3】Aは、図2の記憶テープのサンプル・ボリュームのブロック図である。Bは、Aのサンプル・テープ・ボリュームのブロック図であり、サンプル・テープ・ボリュームに仮想テープ・ボリュームが書き込まれている。Cは、Bのサンプル・テープ・ボリューム上のいくつかの無効にされた仮想テープ・ボリュームを示すブロック図である。
【図3−2】Dは、図3のCのサンプル・テープ・ボリューム上のいくつかの非連続的な、書き込み可能な、自動的にリンクされたパーティションを示すブロック図である。Eは、Dのサンプル・テープ・ボリュームに書き込まれた二つの新しい仮想テープ・ボリュームを示すブロック図である。Fは、自動的にリンクされたパーティションの解放および書き換えの数回の反復後の、Eのサンプル・テープ・ボリュームの物理的なレイアウトを示すブロック図である。
【図4】図1の仮想記憶管理システムを使って、図2の記憶テープ上の一つまたは複数の書き込み可能な自動的にリンクされたパーティションに、新しいホスト・ファイルを書き込むためのステップの一つの実施形態を詳しく示すフローチャートである。
【図5】図1の仮想記憶管理システムを使って、図2の記憶テープ上の一つまたは複数の書き込み可能な自動的にリンクされたパーティションに、既存のホスト・ファイルに新しいホスト・ファイルをアペンドするためのステップの一つの実施形態を詳しく示すフローチャートである。
【図6】図1の仮想記憶管理システムを使って、図2の記憶テープ上の一つまたは複数の自動的にリンクされたパーティションから、ホスト・ファイルを読むためのステップの一つの実施形態を詳しく示すフローチャートである。
【発明を実施するための形態】
【0012】
本発明者らは、各記憶テープの大きな記憶容量から裨益するためには磁気記憶媒体(以下では「記憶テープ」または「テープ」と称する)上にデータをスタックすることが必要なので、またテープ上にスタックされた各データ・セットは異なる期限切れ期間またはその他の無効化パラメータをもちうるので、記憶テープはしばしば、テープを通じてランダムに分散したかなりの量の無効なデータを発達させるということを認識するに至った。テープは、有効なデータをテープの連続的な部分に移す仕方で再生され得、それによりテープの残りの部分を書き換えのために解放しうるものの、このプロセスは不便であり、時間がかかり、高価である。
【0013】
さらに、テープを離散的にパーティション分割するよく知られたプロセスは、テープの非連続的な諸部分が再利用されることを許容するものの、各離散的パーティション内のデータを扱い、記憶することに制御ホスト・アプリケーションが関与しなければならないという点で、過度な処理パワーを要求する。この、制御ホストとアーカイブ・デバイスとの間の絶縁の欠如は、データ記憶および取り出しを遅くする。記憶管理システム内の各大容量記憶テープの実質的に全体を現在のところ便利に利用できないということは、より少数のカートリッジがより効率的に使用できる場合に必要とされるより、顧客がより多数の複数ボリューム・テープ・カートリッジを購入し、維持し、保管することを要求するという点で、顧客にとって効率性の課題を呈する。
【0014】
これらおよびその他の問題に対処するため、本発明の例示的な実施形態は、記憶テープ上のパーティションを自動的にリンクする記憶システムおよび方法を含む。記載される記憶システムおよび方法においては、テープ・ライブラリ内に維持される諸テープ上に、自動的にリンクされた諸パーティション(「ALP」)が生成される。これに関し、一つまたは複数のデータ・オブジェクト(たとえばホスト・ファイル、仮想テープ・ボリューム)が、制御ホスト・アプリケーションからの関与は最小限で、記憶テープ上の多数の非連続的なALPに書き込まれ、これから読み出されうる。
【0015】
記憶テープ上にALPを実装することは、顧客がより少ないスペースにより多くのデータを保存できるので、テープがより効率的に使用されることを許容する。各テープの実質的に全体を利用することにより、顧客はカートリッジまたはカセット数を劇的に減らすことができる。さらに、のちにより詳細に説明するように、パーティションを自動的にリンクすることは、適切に位置されたアーカイブ・デバイス(たとえばテープ・ドライブ)が、最小限の追加的なホスト監督または処理をもって、テープ上のALP間で自動的に遷移することを許容する。これは読み出しおよび書き込み動作の両方についてアクセス時間を改善する。すなわち、制御ホストは、アーカイブ・デバイスにおいて実装されるデータ取り扱いの複雑さを知らないまままで、諸ALP上の記憶(すなわち読み出しおよび書き込み)を管理できる。
【0016】
例解すると、パーティションを自動的にリンクさせるシステムおよび方法の一つの例示的な実施形態は、仮想記憶管理(VSM: virtual storage management)システムを用いて記述される。これに関し、図1は、VSMシステム10の一つの実施形態の単純化した機能ブロック図を示している。この実施形態では、VSMシステム10は、VSMホスト・アプリケーション14を走らせるマイクロプロセッサ(図示せず)を有するサーバー12(たとえばメインフレーム・サーバー)を含む。ホスト・アプリケーション(以下では「ホスト・アプリケーション」または「ホスト」)14は、メモリ15に結合されてもよく、データ・オブジェクト、あるいはこの実施形態では仮想テープ・ボリューム(VTV: virtual tape volume)の記憶を管理および制御するシステム・アーキテクトとして作用しうる。仮想記憶管理モジュール16がホスト・アプリケーション14とアーカイブ・デバイス18との間に存在する。アーカイブ・デバイス18は、テープ・ドライブのようないかなる適切なアーカイブ・デバイスであってもよく、VSMシステム10はいくつかの同様のアーカイブ・デバイス18を含んでいてもよい。仮想記憶管理モジュール16は、サーバー12内にあってもよく、あるいはサーバー12とは独立に、任意の適切なネットワーク位置に位置されていてもよい。仮想記憶管理モジュール16は、ホスト・アプリケーション14と通信し、また仮想テープ記憶サブシステム(VTSS: virtual tape storage subsystem)26を監督する仮想テープ記憶制御システム(VTCS: virtual tape storage control system)24を含む。VTSSはといえば、ホスト・ファイルをアーカイブ・デバイス18に、あるいは仮想テープ・ライブラリ28にルーティングする。アーカイブ・デバイス18において、VTVは直接、テープ・ライブラリ20に収容されている多数の記憶テープ22の一つに書き込まれる。アーカイブ・デバイス18は、テープ・ライブラリ20内に収容されたテープに、いかなる適切な手段を介してアクセスしてもよい。そうした手段は、たとえばアーカイブ・デバイス18が記憶テープ22の一つを選択する、マウントするおよびディスマウントすることを支援するロボット式組立体(図示せず)を含む。仮想テープ・ライブラリ28は、最終的には記憶テープ22の一つに書き込まれうるVTVを、バッファリングまたは一時的にキャッシュするために使用されてもよい。仮想テープ・ライブラリおよび実テープ・ライブラリならびに記憶テープにアクセスするために使われる対応するロボット式組立体は、当技術分野においてよく知られており、これ以上は記述しない。
【0017】
図2は、記憶テープ22の一つのある実施形態の論理的な表現を呈示する。テープ22は、(セクションによって)縦方向および(ディビジョンによって)横方向の両方にパーティション分割されている。この実施形態では、テープ22は、6個のセクションおよび32個のディビジョンが多数のALP 300-191をなすT10kBテープである。ALP 300-191のそれぞれの容量は、テープ・フォーマットに依存して変わるが、この実施形態では、各ALPは約4.85GBのデータを記憶する。完全な1000GBの容量に達するまでの容量ロスがあったとしても目的があり、ALP 400-191が任意の順序で書き込まれることを許容する。図2の左端のカラムはテープの先頭(BOT: beginning of tape)40を表し、右端のカラムはテープの終端(EOT: end of tape)を表す。
【0018】
図3、3−2のA〜Fは、VSMシステム10によって実行されるいくつかの読み出しおよび書き込み動作を受ける際の記憶テープ22のサンプル・ボリューム34を示している。一般に、図3、3−2のA〜Fは、サンプル・ボリューム34の、テープ22に有効なデータが全くない空のまたは「空き」状態から、初期化およびサンプル・ボリューム34内のALPへのいくつかのホスト・ファイルの書き込み、それらのホスト・ファイルの一つまたは複数の無効化、およびもとのホスト・ファイルの無効化により再利用のために利用可能になったALPへの新しいホスト・ファイルの書き込みまでの時間的進行を図的に示している。
【0019】
ある実施形態では、テープ22は最初、テープ・ライブラリ20(図1)内の「空いている」一群のテープから選択される。「空いている」テープとして、テープ22は空であってもよいし、あるいはそうでなければ有効なデータがないのでもよい。たとえば、空なのではなく、テープ22に記憶されているデータのすべてが期限切れになっている、あるいは他の仕方で無効になっているのでもよい。
【0020】
ALPモードでの書き込み動作が始まりうる前に、テープ22が初期化される。初期化は、テープ22を固定数の書き込み可能なALPに分割することを含む。図2を参照して上で論じたように、全テープ22がALP 300-191に分割される。図3のAは、サンプル・テープ・ボリューム34がそれらのALPの一部分、すなわちALP 301-20を含んでいることを示している。ALPモード初期化の間に、ホスト・アプリケーション14は、メモリ15に記憶される書き込み可能マスク17(図1)をもアーカイブ・デバイス18に提供する。書き込み可能マスク17は、アーカイブ・デバイス18に、現在マウントされているテープ22上のどのALPが書き込みのために利用可能であるかを通知する。書き込み可能マスク17はALPを分類するためのいかなる適切な機構をも使用しうるが、一般には、ビット値1が特定のALPが書き込み可能であることを示し、ビット値0が特定のALPが有効なデータを含んでおり、よって現マウント・サイクルの間、書き込むことができないことを示す、ビット・マスクである。図3のAに示した例では、サンプル・テープ・ボリューム34内のALP 301-20は記号「W」を帯びているが、これはALP 301-20の全部が初期化後すぐに書き込み可能であることを示している。さらに、初期化プロセスは、テープ22上の指定された位置(たとえば最初のALP)にテープ識別子またはテープ・マークを書き込むことを含んでいてもよい。
【0021】
ひとたびテープ22が初期化されたら、VSMシステム10は、非ALPモードの場合と同じように、テープ22へのデータの書き込みを開始しうる。すなわち、VSMシステム10は、テープ22にデータを入れてもよい。図3のBに示されるように、いくつかのVTV 361-9(上段に示す)が、サンプル・テープ・ボリューム34内のALP 301-20を横断して連続的に書き込まれる。特に、VTV 361-9を書き込むプロセスは、記憶テープ22について複数のマウントおよびディスマウント・サイクルにわたって、二つ以上のアーカイブ・デバイス18を横断して行われてもよい。
【0022】
書き込みプロセスとの関連で、ホスト14はテープ22についてのマッピングまたはVTV位置情報19(図1)を追跡してもよい。位置情報はメモリ15(図1)に記憶されてもよい。たとえば、VTV 361-9が書き込まれる時またはその頃、ホストはVTV 361-9のそれぞれについて位置を同定するマッピング情報19を記録しうる。ホストは、たとえばVTV 361-9のそれぞれの始まりおよび/または終了に関連付けられたブロックおよびALP識別情報などの、いかなる適切な位置情報を追跡および/または記録してもよい。ホスト14は、その後、マッピング情報19を使って、VTV 361-9が徐々に期限切れになるにつれ、ALP 301-20のどれが書き換えのために利用可能になるかを同定しうる。これについては以下で述べる。
【0023】
時間がたつにつれて、VTV 361-9は、しばしば期限切れまたはユーザー選択によって、無効化されはじめるであろう。VTV 361-9のそれぞれは、異なる期限切れ期間〔有効期間〕をもつことがあり、結果として、サンプル・テープ・ボリューム34は、ALP 301-20の一つまたは複数にまたがる無効データのランダムなポケットを発達させるにつれて、「スイス・チーズ」のようになりはじめる。たとえば、図3のBからCへの進行は、VTV 362およびVTV 366が期限切れになっていくつかの非連続的なALPを書き換えのために解放したことを示している。この例では、サンプル・ボリューム34は、マッピング情報19を使ってALP 301-20のどれがもはやいかなる有効なデータも含んでいないかを識別するプロセスを通じて再生されうる。その識別に基づいて、ホスト14は、ALP 301-20のうちのどれが現在のマウント・サイクルの間に書き換えのために利用可能になったかについてアーカイブ・デバイス18に通知する新しいまたは更新された書き込み可能マスク17を構築および提供しうる。利用可能なまたは「空の」ALPを識別するために、ホスト14は、VTV 361-9のそれぞれについてALPおよびブロック識別位置を同定するマッピング情報19を、期限切れになったVTV 362および366と比較して、ALP 303-5、3010および3011がもはやいかなる有効なデータも含んでおらず、書き換えられてもよいことを判別する。これについては図3、3−2のC〜Dに示されている。
【0024】
ホスト14からの書き込み可能マスク17を受領すると、アーカイブ・デバイス18は追加的なホスト・ファイルをテープ22に書き込みうる。たとえば、図3Eは、サンプル・テープ・ボリューム34内の書き換え可能なALP 303-5、3010および3011に書き込まれた二つの新しいVTV 3610-11を示している。テープ22に対するALP解放およびデータの書き換えをもう一度繰り返したのち、サンプル・テープ・ボリューム34は、図3−2のFに示すような物理的レイアウトをもちうる。図3−2のE〜Fを比較すれば、もとのVTV 364および368(図3−2のE)の期限切れに際して、新しいVTV3612および3613(図3−2のF)がALP 307-8および3015-16内のVTV 364および368を置き換えたことがわかる。もとの書き込み動作と同様に、書き換え可能なALP内の新しいホスト・ファイルを書き換えるプロセスは、いくつかのマウントおよびディスマウント・サイクルにわたって行われてもよく、二つ以上のアーカイブ・デバイス18によって実行されてもよい。
【0025】
特に、アーカイブ・デバイス18は書き込み動作を、書き込み可能マスク17が書き込み可能であると同定したALP(たとえば、図3、3−2のC〜DにおけるALP 303-5、3010および3011)に関してのみ許容する。いったんテープ22がアーカイブ・デバイス18にマウントされた際にホスト14が書き込み可能マスク17をBOT 40(図2)において提供しない場合、アーカイブ・デバイス18は、デフォルトで、ALPのいずれも書き込み可能ではないと考える。さらに、ホストは一般にはアーカイブ・デバイス18を最初の書き込み可能ALP内で書き込みを開始するよう位置付けるが、ホスト14は書き込み可能マスク17において同定された書き込み可能なALPのいずれにおいて書き込みを開始するようアーカイブ・デバイス18を位置させてもよい。たとえば、図3−2のEは最初の書き込み可能ALP 303から始まるVTV 3610を示しているが、図3−2のEの書き込み可能なALP 303-5、3010または3011のいずれの先頭にアーカイブ・デバイス18が位置されてもよい(そして新しいVTV 3610が開始されてもよい)。ひとたび書き込み動作が始まると、アーカイブ・デバイス18は、書き込み可能マスク17において同定されている書き込み可能ALPを、昇順で、現在の書き込み可能ALPから該現在の書き込み可能ALPに続いて次に低い書き込み可能ALPへと、自動的にリンクするよう動作する。書き込み可能マスク17において同定されている書き込み可能ALPのリストの先頭に戻るラップ・アラウンドは行わない。これに関し、ホスト14はテープ22上の記憶を管理するが、書き込みプロセス自身はアーカイブ・デバイス18からは引き離されている。すなわち、ALP 303-5、3010または3011にデータを書き込む際、ホスト14は、書き込み可能ALPへの書き込みに付随する実装上の複雑さの大半から隔離されたままである。それにより、処理機能が節約され、書き込みプロセスが速まる。
【0026】
さらに、意図的に書き込み可能マスク17内に書き込み可能ALPを設定するおよび/またはアーカイブ・デバイス18を書き込みを開始するよう位置させることによって、ホスト14は、どこでデータがテープ22に書き込まれるかを制御しうる。たとえば、ホスト14は、似通ったまたは頻繁にアクセスされるデータを互いの近くに、あるいはテープ22上の所望される位置に、置いてもよい。別の一般的な例では、記憶プロバイダーが、インターネット記憶バックアップのようなサービスを提供してもよい。この役割において、記憶プロバイダーは、ALP 30の一つまたは複数を特定の顧客のデータに割り当てることができる。ALP 30は最初は連続的であり、顧客には後刻追加的なスペースを購入するオプションがあってもよい。追加的な記憶スペースの購入後、記憶プロバイダーは、書き込み可能マスク17内の書き込み可能ALPを設定して、顧客に追加的な連続的または非連続的なALP 30を割り当ててもよい。ある実施形態では、記憶プロバイダーは、その顧客専用にされたまたはその顧客に割り当てられたALP 30を追跡してもよく、その一方、記憶プロバイダーによって維持されるホスト14は、割り当てられたALP 30内に分布する個々のファイルまたはVTVの位置を追跡してもよい。顧客は、遠隔記憶テープ18上に記憶されるデータの連続的な量をもつことを理解する必要があるだけであり、データがどのように分布されるかは気にする必要がない。顧客がサービスを中止する場合、ALP 30は無効にされ、別の顧客による書き換えのために解放されてもよい。
【0027】
書き込みアクセスは書き込み可能マスク17において同定された書き込み可能なALPに制約される一方、読み取りアクセスは各マウント・サイクルで許可される。これに関し、アーカイブ・デバイス18は、ホスト介入なしに非連続的な諸ALPに書き込まれた諸VTVを読んでもよい。諸VTVは論理ボリュームとしてリンクされるからである。より具体的には、テープ22に書き込まれた各VTVは、部分的なまたは完全な論理ボリュームの全部または一部をなしてもよく、それを通じてアーカイブ・デバイス18は自動的にナビゲートしうる。完全な論理ボリュームは、ブロック0から書き込まれて物理的なデータ終了(EOD: end of data)まで続くデータを含む、一群のリンクされたALPとして定義される。図3−2のFを参照するに、ALP 303-5および3010-11(VTV 3610-11)は第一の完全な論理ボリューム381をなし、ALP 307-8および3015-16(VTV 3612-13)は第二の完全な論理ボリューム382をなす。これに対し、部分的な論理ボリュームは、ブロック0または物理的なEODのいずれかを欠く一群のリンクされたALPである。図3−2のFは、五つの部分的論理ボリューム411-5を示しており、各ボリュームはそれぞれALP 301-2(VTV 361)、ALP 306(VTV 363)、ALP 309(VTV 365)、ALP 3012-14(VTV 367)およびALP 3017-20(VTV 369)を含む。
【0028】
ある例示的な読み取り動作において、ホスト14は、アーカイブ・デバイス18を、VTV 3611の先頭に位置させうる。これは、まずALP 304に、次いでVTV 3611の先頭(マッピング情報19を通じてホスト14に知られている)に位置させることによる。アーカイブ・デバイスは、論理ボリュームを通じて自動的に遷移するので、アーカイブ・デバイス18は、ALP 3011に後続されるALP 3010に自動的に遷移する前に、ALP 304からALP 305に移る。これに関し、アーカイブ・デバイス18は、各ALP内でホスト介入なしで精確にホスト・ファイルを返す。上で論じた書き込み動作と同様、ホスト14は、アーカイブ・デバイス18によって実行されるデータの取り扱いには感知せず、関与しないまま、読み出し動作を管理しうる。結果として、各読み取り動作はより効率的に、より少ないホスト処理機能を使って達成されうる。
【0029】
テープ・パーティションを自動的にリンクさせる方法およびシステムの諸実施形態は、サーバー12上で走るホスト・アプリケーション14によって伝送され、送られ、および/または実行される一連のALPモード・インターフェース・コマンドを使って実装されうる。これらのコマンドは、ALPモードにおけるVSMシステム10を動作させる任意の適切なコマンドを含んでいてよく、たとえばファイバー接続性(FICON)プロトコルまたは小型コンピュータ・システム・インターフェース(SCSI)プロトコルを含む任意の適切なコマンド・プロトコルにおいて定義されていてもよい。実例を挙げると、図4は、サーバー12上で走るホスト・アプリケーション14によって送られ、伝送され、あるいは実行される一連のFICONコマンドを使って、ALPテープ上の一つまたは複数の空いているまたは書き換え可能なALPにホスト・ファイルを書き込むための諸ステップの一つの実施形態を詳細に示すフローチャートを呈示している。本プロセスは、アーカイブ・デバイス18にALPテープ22をマウントすることで始まる(ステップ46)。この時点で、テープ22は、図3のCに呈示される物理的レイアウトを有していてもよい。すなわち、VTV 362および366が期限切れになっており、ALP 303-5および3010-11を書き込みのための解放している。ひとたびマウントされると、ホスト14は、書き込み可能マスク設定コマンドを発しうる(ステップ48)。このコマンドは、テープ22に書き込んでよい書き込み可能ALP 303-5および3010-11をアーカイブ・デバイス18に通知するために書き込み可能マスク17をアーカイブ・デバイス18に提供する。
【0030】
次に、ホスト14は、アーカイブ・デバイス18を最初の書き込み可能なALP 303に位置付けるためのALP位置特定コマンドを発する(ステップ50)。書き込みが始まる前に、ホスト・ファイル位置(たとえばマッピング情報)構造が、最初の書き込み可能ALP 303の識別情報およびホスト・ブロック識別情報0をもって、更新される(ステップ52)。次に、ホスト14が、完全な論理ボリューム381を生成するための新論理ボリューム開始コマンドを発する(54)。その後、図3−2のEに示されるように、新しいホスト・ファイルすなわちVTV10が書き込まれる。VTV10が書き込まれたのち、ホストは、どのALPがVTV10の終わりを含んでいるかを判別するために現在ALP報告コマンドを発する(ステップ58)。現在ALP位置、ALP 304は、ホスト・ファイル位置構造に記憶される(ステップ60)。後刻、ALPが書き換えのために自由になったときに判別するのに使用するためである。具体的には、ホスト14は、後刻、ホスト・ファイル位置構造を参照して、VTV10がALP3の全体およびALP4の一部分にまたがることを判別しうる。こうして、VTV10の期限切れに際して、ホスト14はALP3が書き換えのために自由になったことを見きわめることになる。
【0031】
上で論じたように、テープ22へのホスト・ファイルの書き込みのプロセスは、いくつかのマウントおよびディスマウント・サイクルにわたって行われてもよく、二つ以上のアーカイブ・デバイス18にまたがって行われてもよい。よって、ある実施形態では、VTC 3610がテープ22に上で論じた仕方で書き込まれたのち、テープ22はディスマウントされ、テープ・ライブラリ20に保管され、後刻、残っている書き込み可能なALP内でのさらなる書き込みのためにアーカイブ・デバイス18に再びマウントされてもよい。これに関し、図5は、サーバー12上で走るホスト・アプリケーション14によって送られ、伝送されたまたは実行される一連のFICONコマンドを使って、テープ22上の書き込み可能なALP内の既存のホスト・ファイルにホスト・ファイルをアペンドするための諸ステップの実施形態を詳細に示すフローチャートを呈示している。具体的には、図3−2のEに示すようにVTC 3610にVTC 3611をアペンドするために、テープ22はまずアーカイブ・デバイス18にマウントされる(ステップ62)。次に、ホスト14は、テープ22が書き込みのために選択可能となるよう、書き込み可能マスク設定コマンドを発する(ステップ64)。ひとたび書き込み可能マスク17がアーカイブ・デバイス18に与えられたら、ホスト14はアーカイブ・デバイス18を、既存のVTV10の終わりに位置させうる(ステップ66)。これは、ALP4へのALP位置特定コマンド、続いてVTV10の終わりに位置させるための標準的なテープ位置付けコマンドを発することによる。ホスト14は次いで、現在ALP報告コマンドおよび標準的な読み出し位置コマンドを発する。上で論じたように、書き込まれるべき新たなVTV11の開始位置についての位置情報(すなわち、現在のALPおよびブロック識別情報)を同定する(ステップ68)ためである。ホスト14は、その位置情報をホスト・ファイル位置(たとえばマッピング情報)構造にのちの使用のために記憶する(ステップ70)。次に、図3−2のEに示されるように、新しいVTV11が書き込まれる(ステップ72)。VTV11が書き込まれたのち、どのALPがVTV11の終わりを含んでいるかを判別するために、ホストが現在ALP報告コマンドを発する(ステップ74)。次いで現在のALP 3011はホスト・ファイル位置構造中に記憶される(ステップ76)。それにより、開始ALP 304および現在ALP 3011に基づいて、ALP 304-5および3010-11が書き換えのために自由になったときに、ホスト14が判別できる。
【0032】
図6は、サーバー12上で走るホスト・アプリケーション14によって送られ、伝送され、あるいは実行される一連のFICONコマンドを使ってALPモードにおいてホスト・ファイルを読み取るための諸ステップの一つの実施形態の詳細を示すフローチャートを示している。第一に、テープ22がアーカイブ・デバイス18にマウントされる(ステップ78)。第二に、ホスト14が、ホスト・ファイル位置構造を参照することによって、ホスト・ファイルについての開始位置を判別する(ステップ80)。たとえば、ホスト・ファイル位置構造を参照することによって、ホスト14は、図3−2のEに示されるように、VTV10がALP 303のブロック0で始まることを判別しうる。次に、ホスト14は、アーカイブ・デバイス18を、VTV10の先頭に位置させうる(ステップ82)。これは、ALP 303へのALP位置特定コマンドを発し、次いでアーカイブ・デバイス18をVTV10の先頭に動かすための標準的なテープ位置付けコマンドを発することによる。VTV10への位置付け後、ホスト・ファイルは、標準的なテープ読み取りコマンドを使って、読み取られうる(ステップ84)。アーカイブ・デバイス18は、VTV10が属する完全な論理ボリューム381を通じて自動的に遷移する。換言すれば、アーカイブ・デバイス18は、ALP 303から次のALPへと必要に応じて自動的に遷移する。この実施形態では、アーカイブ・デバイス18は、VTV10の読み取りにおいて、ALP 303からALP 304に自動的に遷移する。
【0033】
本発明について、ある程度の具体性をもって記述し、例解してきたが、本開示はあくまでも例としてなされたものであって、付属の請求項において特許請求される本発明の精神および範囲から外れることなく、諸部分の型、組み合わせおよび配置において数多くの変更が当業者によってなされることができることは理解されるものである。たとえば、パーティションを自動的にリンクさせるシステムおよび方法を仮想記憶管理システムとの関連で記述してきたが、本システムおよび方法は、磁気記憶テープまたはカートリッジのような記憶媒体を使用するいかなるアプリケーションにも適用可能である。さらに、いくつかのFICONインターフェース・コマンドが本発明の実装において有用であると記述してきたが、これらのコマンドはすべてを包含するものではなく、本発明は、個々のホスト・アプリケーションの要求を実行するために必要な、任意の適切なプロトコルにおいて定義された任意のコマンドのセットを考える。さらに、ある種のコマンドについて例示的な使用を記述してきたが、本発明は、ホスト・アプリケーションの要求を達成するための定義されたコマンドの任意の適切な使用を考えている。
【符号の説明】
【0034】
10 仮想記憶管理(VSM: virtual storage management)システム
12 サーバー
14 ホスト・アプリケーション
15 メモリ
16 仮想記憶管理モジュール
17 書き込み可能マスク
18 アーカイブ・デバイス
19 マッピング情報
20 テープ・ライブラリ
22 記憶テープ
24 仮想テープ制御システム
26 仮想テープ記憶サブシステム
28 仮想テープ・ライブラリ
30 自動的にリンクされるパーティション(ALP: automatically linked partition)
34 サンプル・ボリューム
36 仮想テープ・ボリューム(VTV: virtual tape volume)
38 完全な論理ボリューム
41 部分的論理ボリューム
40 テープの先頭(BOT: beginning of tape)
42 テープの終端(EOT: end of tape)
46 ALPテープ22をマウント
48 書き込み可能マスクを設定
50 最初の書き込み可能なALP 303に位置付ける
52 ホスト・ファイル位置構造を更新
54 新しい論理ボリューム381を開始
56 VTV10を書き込み
58 現在ALP 304を報告
60 現在ALP 3010をホスト・ファイル位置構造に記憶
62 テープ22をマウント
64 書き込み可能マスクを設定
66 既存のVTV10の末尾に位置付ける
68 書き込むべきVTV11のための開始位置を同定
70 VTV11のための開始位置でホスト・ファイル位置構造を更新
72 VTV11を書き込み
74 現在ALP 3011を報告
76 現在ALP 301をホスト・ファイル位置構造に記憶
78 テープ22をマウント
80 VTV10についての開始位置を判別
82 VTV10についての開始位置に位置付ける
84 VTV10を読み取り

【特許請求の範囲】
【請求項1】
記憶媒体にデータを書き込む方法であって:
記憶テープをいくつかの書き込み可能な自動的にリンクされたパーティション(ALP)に分割するステップと;
サーバー上で走るホスト・アプリケーションから前記記憶テープがマウントされているアーカイブ・デバイスに、前記書き込み可能なALPを前記アーカイブ・デバイスに知らせる書き込み可能マスクを提供する第一の提供ステップと;
前記アーカイブ・デバイスによって前記記憶テープに、前記記憶テープへの第一の組のデータ・オブジェクトを書き込む第一の書き込みステップであって、前記データ・オブジェクトは前記書き込み可能な諸ALPの実質的かつ連続的な部分にまたがる、ステップと;
前記ホスト・アプリケーションによって、前記データ・オブジェクトについて、前記記憶テープに書き込まれた各データ・オブジェクトの位置を同定するマッピング情報を追跡するステップと;
前記データ・オブジェクトのうちの一つまたは複数のデータ・オブジェクトの無効化に際して前記マッピング情報を使って、前記記憶テープ上で連続的または非連続的に分布している一つまたは複数の書き換え可能なALPを同定するステップと;
前記サーバー上で走る前記ホスト・アプリケーションから前記アーカイブ・デバイスに、前記書き換え可能なALPについて前記アーカイブ・デバイスに知らせる更新された書き込み可能マスクを提供する第二の提供ステップと;
前記アーカイブ・デバイスによって前記記憶テープに、前記書き換え可能なALPのうちの一つまたは複数内で、前記データ・オブジェクトの追加的な組を書き込む第二の書き込みステップであって、前記アーカイブ・デバイスは、前記書き換え可能なALPのうちの前記一つまたは複数の間を自動的に遷移する、ステップとを含む、
方法。
【請求項2】
前記追跡するステップ、前記同定するステップ、前記第二の提供ステップおよび前記第二の書き込みステップを連続的に繰り返すことをさらに含む、請求項1記載の方法。
【請求項3】
前記第一および第二の書き込みステップの少なくとも一方は、二以上のマウント・サイクルにわたって完了され、前記マウント・サイクルのそれぞれは前記記憶テープを前記アーカイブ・デバイスにマウントし、前記記憶テープを前記アーカイブ・デバイスからディスマウントすることを含む、請求項1記載の方法。
【請求項4】
前記マウント・サイクルのそれぞれが異なるアーカイブ・デバイスと関連付けられ、前記アーカイブ・デバイスの一つがテープ・ドライブである、請求項3記載の方法。
【請求項5】
前記データ・オブジェクトが仮想テープ・ボリューム(VTV)である、請求項1記載の方法。
【請求項6】
前記分割するステップの前には、前記記憶テープには有効データがない、請求項1記載の方法。
【請求項7】
前記データ・オブジェクトの前記無効化が前記データ・オブジェクトの期限切れを含む、請求項1記載の方法。
【請求項8】
前記書き換え可能なALPのそれぞれに有効データがない、請求項1記載の方法。
【請求項9】
前記記憶テープ上での前記データ・オブジェクトのそれぞれの前記位置が、前記データ・オブジェクトのそれぞれの開始および終了のうちの少なくとも一方に関連付けられたブロック識別情報およびALP識別情報を含む、請求項1記載の方法。
【請求項10】
記憶管理システムにおいて記憶媒体と対話する方法であって:
アーカイブ・デバイスを使って記憶テープ上の複数のパーティション内にデータ・オブジェクトを記憶するステップであって、前記パーティションのうちの一つまたは複数は非連続的であり、前記パーティションのすべてはリンクされて論理ボリュームの少なくとも一部分をなす、ステップと;
前記データ・オブジェクトの先頭に前記アーカイブ・デバイスを位置付けるステップと;
前記アーカイブ・デバイスを使って前記データ・オブジェクトを読み取るステップであって、前記アーカイブ・デバイスが前記論理ボリュームをなす前記パーティションのそれぞれの間で自動的に遷移する、ステップとを含む、
方法。
【請求項11】
前記記憶するステップが:
サーバー上で走るホスト・アプリケーションから前記アーカイブ・デバイスに、前記パーティションのそれぞれが書き込み可能であることを前記アーカイブ・デバイスに知らせる書き込み可能マスクを提供するステップと;
前記アーカイブ・デバイスによって前記記憶テープに、前記記憶テープ上の前記複数の前記パーティション内に前記データ・オブジェクトを書き込むステップとを含む、
請求項10記載の方法。
【請求項12】
前記記憶するステップがさらに、前記データ・オブジェクトに関連付けられた位置情報を前記ホスト・アプリケーションによって記録するステップを含む、請求項11記載の方法。
【請求項13】
前記位置情報は、前記データ・オブジェクトの開始および/または終了の少なくとも一方に関連付けられたブロック識別情報およびALP識別情報を含む、請求項12記載の方法。
【請求項14】
前記データ・オブジェクトが仮想テープ・ボリューム(VTV)である、請求項10記載の方法。
【請求項15】
前記記憶するステップが一または複数のマウント・サイクルにわたって完了される、請求項10記載の方法。
【請求項16】
前記アーカイブ・デバイスが二つ以上のアーカイブ・デバイスを含み、前記アーカイブ・デバイスの少なくとも一つがテープ・ドライブである、請求項10記載の方法。
【請求項17】
いくつかのパーティションに分割された記憶テープを使う記憶管理システムであって:
ホスト・アプリケーションを走らせるサーバーであって、前記ホスト・アプリケーションは、前記記憶テープ上の一つまたは複数の書き込み可能パーティションを同定するよう動作し、前記書き込み可能パーティションは前記記憶テープを通じて連続的または非連続的に分布している、サーバーと;
前記記憶テープとインターフェースをもつアーカイブ・デバイスであって、前記記憶テープに一つまたは複数のホスト・ファイルを書き込むときに、前記アーカイブ・デバイスは、前記書き込み可能なパーティションのうちの二つ以上を自動的にリンクして前記一つまたは複数のホスト・ファイルを含む論理ボリュームを形成するよう動作し、前記記憶テープから前記一つまたは複数のホスト・ファイルを読み込むとき、前記アーカイブ・デバイスは、前記論理ボリュームを通じて自動的にナビゲートするよう動作する、アーカイブ・デバイスとを有する、
システム。
【請求項18】
請求項17記載の記憶管理システムであって、前記サーバーと前記アーカイブ・デバイスとの間に結合された仮想記憶管理モジュールをさらに有し、前記仮想記憶管理モジュールは仮想テープ記憶制御システム、仮想テープ記憶サブシステムおよび仮想テープ・ライブラリを含み、前記仮想テープ記憶制御システムは前記仮想テープ記憶サブシステムを管理し、前記仮想テープ記憶サブシステムは前記ホスト・アプリケーションから前記仮想テープ・ライブラリへの、前記ホスト・アプリケーションから前記アーカイブ・デバイスへの、あるいは前記ホスト・アプリケーションから前記仮想テープ・ライブラリを介して前記アーカイブ・デバイスへの、ホスト・ファイルの通過を制御する、システム。
【請求項19】
前記ホスト・アプリケーションは、前記記憶テープに書き込まれた前記一つまたは複数のホスト・ファイルのそれぞれについて位置情報を追跡するよう動作する、請求項17記載の仮想記憶管理システム。
【請求項20】
前記ホスト・アプリケーションは、ファイバー接続性(FICON)コマンド・プロトコルおよび小型コンピュータ・システム・インターフェース(SCSI)コマンド・プロトコルの一方を使って前記アーカイブ・デバイスとのインターフェースをもつ、請求項17記載の仮想記憶管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図3−2】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−96252(P2011−96252A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2010−241298(P2010−241298)
【出願日】平成22年10月27日(2010.10.27)
【出願人】(597004720)オラクル・アメリカ・インコーポレイテッド (23)
【Fターム(参考)】