(57)【要約】      （修正有）【課題】記憶媒体上の、無効なデータを含むパーティションを再生するのに費やされてきた時間、費用ならびに必要とされるコンピュータ処理能力を最小限にする。【解決手段】記憶管理システム内で使うための記憶媒体上のパーティションを自動的にリンクさせるシステムおよび方法が提供される。アプリケーションは、記憶テープに書き込まれた各ファイルまたはデータ・オブジェクトについての位置情報を追跡するよう動作する。その位置情報を使って、アプリケーションは、ファイルが期限切れになることで記憶テープ上に作り出される「空いている」または書き込み可能なパーティションを同定できる。さらに、記憶テープにファイルを書き込むとき、デバイスは、書き込み可能なパーティションを自動的にリンクさせて論理ボリュームを形成するよう動作する。記憶テープからファイルを読むときには、デバイスは論理ボリュームを通じて自動的にナビゲートできる。【選択図】図１
2011096252.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体にデータを書き込む方法であって：
記憶テープをいくつかの書き込み可能な自動的にリンクされたパーティション（ALP）に分割するステップと；
サーバー上で走るホスト・アプリケーションから前記記憶テープがマウントされているアーカイブ・デバイスに、前記書き込み可能なALPを前記アーカイブ・デバイスに知らせる書き込み可能マスクを提供する第一の提供ステップと；
前記アーカイブ・デバイスによって前記記憶テープに、前記記憶テープへの第一の組のデータ・オブジェクトを書き込む第一の書き込みステップであって、前記データ・オブジェクトは前記書き込み可能な諸ALPの実質的かつ連続的な部分にまたがる、ステップと；
前記ホスト・アプリケーションによって、前記データ・オブジェクトについて、前記記憶テープに書き込まれた各データ・オブジェクトの位置を同定するマッピング情報を追跡するステップと；
前記データ・オブジェクトのうちの一つまたは複数のデータ・オブジェクトの無効化に際して前記マッピング情報を使って、前記記憶テープ上で連続的または非連続的に分布している一つまたは複数の書き換え可能なALPを同定するステップと；
前記サーバー上で走る前記ホスト・アプリケーションから前記アーカイブ・デバイスに、前記書き換え可能なALPについて前記アーカイブ・デバイスに知らせる更新された書き込み可能マスクを提供する第二の提供ステップと；
前記アーカイブ・デバイスによって前記記憶テープに、前記書き換え可能なALPのうちの一つまたは複数内で、前記データ・オブジェクトの追加的な組を書き込む第二の書き込みステップであって、前記アーカイブ・デバイスは、前記書き換え可能なALPのうちの前記一つまたは複数の間を自動的に遷移する、ステップとを含む、
方法。
【請求項２】
前記追跡するステップ、前記同定するステップ、前記第二の提供ステップおよび前記第二の書き込みステップを連続的に繰り返すことをさらに含む、請求項１記載の方法。
【請求項３】
前記第一および第二の書き込みステップの少なくとも一方は、二以上のマウント・サイクルにわたって完了され、前記マウント・サイクルのそれぞれは前記記憶テープを前記アーカイブ・デバイスにマウントし、前記記憶テープを前記アーカイブ・デバイスからディスマウントすることを含む、請求項１記載の方法。
【請求項４】
前記マウント・サイクルのそれぞれが異なるアーカイブ・デバイスと関連付けられ、前記アーカイブ・デバイスの一つがテープ・ドライブである、請求項３記載の方法。
【請求項５】
前記データ・オブジェクトが仮想テープ・ボリューム（VTV）である、請求項１記載の方法。
【請求項６】
前記分割するステップの前には、前記記憶テープには有効データがない、請求項１記載の方法。
【請求項７】
前記データ・オブジェクトの前記無効化が前記データ・オブジェクトの期限切れを含む、請求項１記載の方法。
【請求項８】
前記書き換え可能なALPのそれぞれに有効データがない、請求項１記載の方法。
【請求項９】
前記記憶テープ上での前記データ・オブジェクトのそれぞれの前記位置が、前記データ・オブジェクトのそれぞれの開始および終了のうちの少なくとも一方に関連付けられたブロック識別情報およびALP識別情報を含む、請求項１記載の方法。
【請求項１０】
記憶管理システムにおいて記憶媒体と対話する方法であって：
アーカイブ・デバイスを使って記憶テープ上の複数のパーティション内にデータ・オブジェクトを記憶するステップであって、前記パーティションのうちの一つまたは複数は非連続的であり、前記パーティションのすべてはリンクされて論理ボリュームの少なくとも一部分をなす、ステップと；
前記データ・オブジェクトの先頭に前記アーカイブ・デバイスを位置付けるステップと；
前記アーカイブ・デバイスを使って前記データ・オブジェクトを読み取るステップであって、前記アーカイブ・デバイスが前記論理ボリュームをなす前記パーティションのそれぞれの間で自動的に遷移する、ステップとを含む、
方法。
【請求項１１】
前記記憶するステップが：
サーバー上で走るホスト・アプリケーションから前記アーカイブ・デバイスに、前記パーティションのそれぞれが書き込み可能であることを前記アーカイブ・デバイスに知らせる書き込み可能マスクを提供するステップと；
前記アーカイブ・デバイスによって前記記憶テープに、前記記憶テープ上の前記複数の前記パーティション内に前記データ・オブジェクトを書き込むステップとを含む、
請求項１０記載の方法。
【請求項１２】
前記記憶するステップがさらに、前記データ・オブジェクトに関連付けられた位置情報を前記ホスト・アプリケーションによって記録するステップを含む、請求項１１記載の方法。
【請求項１３】
前記位置情報は、前記データ・オブジェクトの開始および／または終了の少なくとも一方に関連付けられたブロック識別情報およびALP識別情報を含む、請求項１２記載の方法。
【請求項１４】
前記データ・オブジェクトが仮想テープ・ボリューム（VTV）である、請求項１０記載の方法。
【請求項１５】
前記記憶するステップが一または複数のマウント・サイクルにわたって完了される、請求項１０記載の方法。
【請求項１６】
前記アーカイブ・デバイスが二つ以上のアーカイブ・デバイスを含み、前記アーカイブ・デバイスの少なくとも一つがテープ・ドライブである、請求項１０記載の方法。
【請求項１７】
いくつかのパーティションに分割された記憶テープを使う記憶管理システムであって：
ホスト・アプリケーションを走らせるサーバーであって、前記ホスト・アプリケーションは、前記記憶テープ上の一つまたは複数の書き込み可能パーティションを同定するよう動作し、前記書き込み可能パーティションは前記記憶テープを通じて連続的または非連続的に分布している、サーバーと；
前記記憶テープとインターフェースをもつアーカイブ・デバイスであって、前記記憶テープに一つまたは複数のホスト・ファイルを書き込むときに、前記アーカイブ・デバイスは、前記書き込み可能なパーティションのうちの二つ以上を自動的にリンクして前記一つまたは複数のホスト・ファイルを含む論理ボリュームを形成するよう動作し、前記記憶テープから前記一つまたは複数のホスト・ファイルを読み込むとき、前記アーカイブ・デバイスは、前記論理ボリュームを通じて自動的にナビゲートするよう動作する、アーカイブ・デバイスとを有する、
システム。
【請求項１８】
請求項１７記載の記憶管理システムであって、前記サーバーと前記アーカイブ・デバイスとの間に結合された仮想記憶管理モジュールをさらに有し、前記仮想記憶管理モジュールは仮想テープ記憶制御システム、仮想テープ記憶サブシステムおよび仮想テープ・ライブラリを含み、前記仮想テープ記憶制御システムは前記仮想テープ記憶サブシステムを管理し、前記仮想テープ記憶サブシステムは前記ホスト・アプリケーションから前記仮想テープ・ライブラリへの、前記ホスト・アプリケーションから前記アーカイブ・デバイスへの、あるいは前記ホスト・アプリケーションから前記仮想テープ・ライブラリを介して前記アーカイブ・デバイスへの、ホスト・ファイルの通過を制御する、システム。
【請求項１９】
前記ホスト・アプリケーションは、前記記憶テープに書き込まれた前記一つまたは複数のホスト・ファイルのそれぞれについて位置情報を追跡するよう動作する、請求項１７記載の仮想記憶管理システム。
【請求項２０】
前記ホスト・アプリケーションは、ファイバー接続性（FICON）コマンド・プロトコルおよび小型コンピュータ・システム・インターフェース（SCSI）コマンド・プロトコルの一方を使って前記アーカイブ・デバイスとのインターフェースをもつ、請求項１７記載の仮想記憶管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的にはデータ記憶〔ストーレジ〕管理の方法およびシステムに関し、より詳細には記憶媒体上のパーティションを自動的にリンクさせるための設計に関する。
【背景技術】
【０００２】
大規模記憶管理用途においてしばしば使われる現代の記憶媒体デバイス（たとえば磁気記憶テープ、カセット、マルチボリューム・カートリッジ）は、数百ないし数千ギガバイトのデータを保持する。この巨大なデータ記憶容量をよりよく利用するために、複数のデータ・オブジェクト（たとえばホスト・ファイルまたは仮想テープ・ボリューム）が単一の記憶テープ上に「スタック〔積み重ね〕」され、各データ・セットは異なる無効化（たとえば期限切れ）パラメータをもつ。特定のデータ・セットが期限切れになると、そのデータ・セットはテープ上に「ギャップ」または無駄なスペースを生じる。時間がたつにつれて、無駄なスペースはあまりに大きくなり、テープは再生〔リクレーム〕される必要がある。再生は、テープ上に残っている有効なデータをコピーし、それを、通例はテープの先頭の、連続的なスペースに移すことを含む。これにより以前に無駄になったスペースが書き換えのために有用になる。
【０００３】
記憶テープの再生において必要とされる時間および費用の問題に対処するため、離散テープ・パーティション分割（discrete  tape  partitioning）が開発された。離散テープ・パーティション分割は、記憶テープを複数の離散的なパーティションに分割し、ひとたび特定のパーティションからデータが期限切れになったら、そのパーティションが書き換えられるようにする。離散テープ・パーティション分割は何年も前から存在しているが、顕著な欠点があり、開発者には不人気であった。たとえば、離散パーティション分割では、ホスト（たとえば、メインフレーム・サーバー上で走るホスト・アプリケーション）だけが、どのパーティションが有効なデータを含むかならびにテープ・パーティション内に記憶されているデータ・オブジェクトまたはホスト・ファイルの位置を追跡しうる。各パーティションは別個で相異なるので、読み出しおよび書き込み動作の両方において、各パーティションの終わりにおける処理において、アーカイブ・デバイス（たとえばテープ・ドライブ）を次の適用可能なパーティションに適正に差し向けるために、ホスト・アプリケーションが関与する必要がある。アーカイブ・デバイスがテープからデータを読んでいる場合、ホストはアーカイブ・デバイスを、読み込まれているホスト・ファイルに関連するデータを含む次のパーティションに差し向ける必要がある。アーカイブ・デバイスが書き込んでいる場合には、ホストは、前記デバイスを、有効なデータがなく、したがって書き換えのために利用可能な次のパーティションに差し向ける必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明者らは、離散記憶テープ・パーティション分割は記憶テープ上の各離散パーティションを、そのパーティション内に含まれるデータが期限切れになる際に再利用されることを許容するが、離散パーティション分割は格別に処理集約的であることを認識するに至った。すなわち、単一のデータ・オブジェクトまたは一連の関係するデータ・オブジェクトを記憶する複数のパーティションの間のいかなる型のリンクもなしでは、データが適正に記憶テープに書き込まれ、および／または記憶テープから返されることを保証するためには、ホスト・アプリケーションが各パーティションを処理する（すなわち読み出すまたは書き込む）ことに直接関与する必要がある。データを扱い、記憶する複雑さへのこの著しいホストの関与は、貴重なコンピューティング資源を浪費し、その一方で記憶システムが効率的にデータを記憶テープに記憶し、記憶テープからデータを取り出す能力を受け入れられないほどに遅くする。これらおよびその他の問題が、以下で論じ、たとえば図１〜図６において示される記憶テープ上のパーティション間の自動リンクを利用する記憶システムおよび方法によって対処される。
【課題を解決するための手段】
【０００５】
より具体的には、記憶媒体にデータを書き込む方法が提供される。本方法は、記憶テープをいくつかの書き込み可能な自動的にリンクされたパーティション（ALP:  automatically  linked  partition）に分割するステップを含む。ひとたび分割されたら、制御ホスト・アプリケーションは、記憶テープがマウントされているアーカイブ・デバイスに書き込み可能マスクを提供しうる。書き込み可能マスクは、アーカイブ・デバイスに、書き込み可能ALPに関して通知しうる。本方法はさらに、第一の組のデータ・オブジェクト（たとえば、仮想テープ・ボリュームまたはホスト・ファイル）を書き込むことを含みうる。ここで、前記データ・オブジェクトは書き込み可能な諸ALPの実質的かつ連続的な部分にまたがり、ホスト・アプリケーションは記憶テープに書き込まれた各データ・オブジェクトの位置を同定するマッピング情報を追跡しうる。データ・オブジェクトのうちの一つまたは複数のデータ・オブジェクトの無効化に際してマッピング情報を使って、ホスト・アプリケーションは、記憶テープ全体にわたって連続的または非連続的に分布している一つまたは複数の書き換え可能なALP（すなわち、もはや有効なデータを含んでおらず、よって書き換えることのできるALP）を同定し、アーカイブ・デバイスにそれらの書き換え可能なALPについて通知する、更新された書き込み可能マスクを提供しうる。更新された書き込み可能マスクを受領すると、アーカイブ・デバイスは、書き換え可能ALPの一つまたは複数内で、記憶テープに追加的なデータ・オブジェクトの組を書き込みうる。追加的なデータ・オブジェクトの組を書き込む際、アーカイブ・デバイスは、書き換え可能なALPの間を自動的に遷移しうる。
【０００６】
本方法のある変形は、各データ・オブジェクトの位置を同定するマッピング情報を追跡し、一つまたは複数の書き換え可能ALPを同定し、更新された書き込み可能マスクを提供し、追加的なデータ・オブジェクトの組を書き込むステップを連続的に反復することを含む。別の変形では、書き込みステップは、二以上のマウント・サイクルにわたって完了されてもよく、各マウント・サイクルは異なるアーカイブ・デバイスに関連付けられてもよい。いくつかの場合には、アーカイブ・デバイスはテープ・ドライブであってもよい。さらに、記憶テープは最初は有効なデータがなくてもよく、書き換え可能なALPのそれぞれは有効なデータがなくてもよい。さらに、記憶テープ上の各データ・オブジェクトの位置は、各データ・オブジェクトの開始および／または終了に関連付けられたブロック識別情報およびALP識別情報を含んでいてもよい。
【０００７】
別の側面または実施形態によれば、記憶管理システムにおいて記憶媒体と対話する方法が提供される。本方法は、アーカイブ・デバイスを使って記憶テープ上の連続的なまたは非連続的ないくつかのパーティション内にデータ・オブジェクト（たとえば仮想テープ・ボリュームまたはホスト・ファイル）を記憶することを含む。ここで、パーティションのすべては、リンクされて、一つの論理ボリュームの少なくとも一部分をなしうる。本方法はさらに、アーカイブ・デバイスをデータ・オブジェクトの先頭に位置させ、アーカイブ・デバイスが論理ボリュームをなすパーティションのそれぞれの間で自動的に遷移しながらデータ・オブジェクトを読むことを含みうる。
【０００８】
一つの変形では、記憶するステップは、パーティションのそれぞれが書き込み可能であることをアーカイブ・デバイスに通知する書き込み可能マスクを提供し、記憶テープ上の複数のパーティション内にデータ・オブジェクトを書き込むことを含みうる。記憶するステップはさらに、データ・オブジェクトに関連付けられた位置情報を記録することを含みうる。位置情報は、データ・オブジェクトの開始および／または終了に関連付けられたブロック識別情報およびALP識別情報を含んでいてもよい。別の変形では、記憶するステップは、一または複数のマウント・サイクルにわたって完了されてもよい。さらに、前記アーカイブ・デバイスは二つ以上のアーカイブ・デバイスであってもよい。
【０００９】
別の側面または実施形態によれば、記憶管理システム〔ストーレジ・マネジメント・システム〕が提供される。本システムは、いくつかのパーティションに分割された記憶テープ、ホスト・アプリケーションを走らせているサーバーおよび記憶テープとインターフェースをもつアーカイブ・デバイスを含む。ホスト・アプリケーションは、記憶テープ上の一つまたは複数の書き込み可能パーティションを同定するよう動作しうる。それらの書き込み可能パーティションは、記憶テープを通じて連続的または非連続的に分布していてもよい。記憶テープに一つまたは複数のホスト・ファイルを書き込むとき、アーカイブ・デバイスは、前記一つまたは複数のホスト・ファイルを含む論理ボリュームを形成するよう前記書き込み可能パーティションのうちの二つ以上を自動的にリンクするよう動作しうる。記憶テープから前記一つまたは複数のホスト・ファイルを読み込むとき、アーカイブ・デバイスは、論理ボリュームを通じて自動的にナビゲートするよう動作しうる。
【００１０】
前記記憶管理システムの一つの変形は、サーバーとアーカイブ・デバイスとの間に結合される仮想記憶管理モジュールを含みうる。仮想記憶管理モジュールは仮想テープ記憶制御システム、仮想テープ記憶サブシステムおよび仮想テープ・ライブラリを含みうる。この変形において、仮想テープ記憶制御システムは仮想テープ記憶サブシステムを管理し、該仮想テープ記憶サブシステムはホスト・アプリケーションから仮想テープ・ライブラリへの、ホスト・アプリケーションからアーカイブ・デバイスへの、あるいはホスト・アプリケーションから仮想テープ・ライブラリを介してアーカイブ・デバイスへの、ホスト・ファイルの通過を制御する。本仮想記憶管理システムの別の変形では、ホスト・アプリケーションは記憶テープに書き込まれた一つまたは複数のホスト・ファイルのそれぞれについて位置情報を追跡するよう動作する。さらにもう一つの変形では、ホストは、ファイバー接続性（FICON:  fiber  connectivity）コマンド・プロトコルまたは小型コンピュータ・システム・インターフェース（SCSI:  small  computer  systems  interface）コマンド・プロトコルを使ってアーカイブ・デバイスとのインターフェースをもつ。
【図面の簡単な説明】
【００１１】
【図１】仮想記憶管理システムの一つの実施形態の機能ブロック図である。
【図２】図１の仮想記憶管理システムにおいて使う記憶テープの論理的な図である。
【図３】Ａは、図２の記憶テープのサンプル・ボリュームのブロック図である。Ｂは、Ａのサンプル・テープ・ボリュームのブロック図であり、サンプル・テープ・ボリュームに仮想テープ・ボリュームが書き込まれている。Ｃは、Ｂのサンプル・テープ・ボリューム上のいくつかの無効にされた仮想テープ・ボリュームを示すブロック図である。
【図３−２】Ｄは、図３のＣのサンプル・テープ・ボリューム上のいくつかの非連続的な、書き込み可能な、自動的にリンクされたパーティションを示すブロック図である。Ｅは、Ｄのサンプル・テープ・ボリュームに書き込まれた二つの新しい仮想テープ・ボリュームを示すブロック図である。Ｆは、自動的にリンクされたパーティションの解放および書き換えの数回の反復後の、Ｅのサンプル・テープ・ボリュームの物理的なレイアウトを示すブロック図である。
【図４】図１の仮想記憶管理システムを使って、図２の記憶テープ上の一つまたは複数の書き込み可能な自動的にリンクされたパーティションに、新しいホスト・ファイルを書き込むためのステップの一つの実施形態を詳しく示すフローチャートである。
【図５】図１の仮想記憶管理システムを使って、図２の記憶テープ上の一つまたは複数の書き込み可能な自動的にリンクされたパーティションに、既存のホスト・ファイルに新しいホスト・ファイルをアペンドするためのステップの一つの実施形態を詳しく示すフローチャートである。
【図６】図１の仮想記憶管理システムを使って、図２の記憶テープ上の一つまたは複数の自動的にリンクされたパーティションから、ホスト・ファイルを読むためのステップの一つの実施形態を詳しく示すフローチャートである。
【発明を実施するための形態】
【００１２】
本発明者らは、各記憶テープの大きな記憶容量から裨益するためには磁気記憶媒体（以下では「記憶テープ」または「テープ」と称する）上にデータをスタックすることが必要なので、またテープ上にスタックされた各データ・セットは異なる期限切れ期間またはその他の無効化パラメータをもちうるので、記憶テープはしばしば、テープを通じてランダムに分散したかなりの量の無効なデータを発達させるということを認識するに至った。テープは、有効なデータをテープの連続的な部分に移す仕方で再生され得、それによりテープの残りの部分を書き換えのために解放しうるものの、このプロセスは不便であり、時間がかかり、高価である。
【００１３】
さらに、テープを離散的にパーティション分割するよく知られたプロセスは、テープの非連続的な諸部分が再利用されることを許容するものの、各離散的パーティション内のデータを扱い、記憶することに制御ホスト・アプリケーションが関与しなければならないという点で、過度な処理パワーを要求する。この、制御ホストとアーカイブ・デバイスとの間の絶縁の欠如は、データ記憶および取り出しを遅くする。記憶管理システム内の各大容量記憶テープの実質的に全体を現在のところ便利に利用できないということは、より少数のカートリッジがより効率的に使用できる場合に必要とされるより、顧客がより多数の複数ボリューム・テープ・カートリッジを購入し、維持し、保管することを要求するという点で、顧客にとって効率性の課題を呈する。
【００１４】
これらおよびその他の問題に対処するため、本発明の例示的な実施形態は、記憶テープ上のパーティションを自動的にリンクする記憶システムおよび方法を含む。記載される記憶システムおよび方法においては、テープ・ライブラリ内に維持される諸テープ上に、自動的にリンクされた諸パーティション（「ALP」）が生成される。これに関し、一つまたは複数のデータ・オブジェクト（たとえばホスト・ファイル、仮想テープ・ボリューム）が、制御ホスト・アプリケーションからの関与は最小限で、記憶テープ上の多数の非連続的なALPに書き込まれ、これから読み出されうる。
【００１５】
記憶テープ上にALPを実装することは、顧客がより少ないスペースにより多くのデータを保存できるので、テープがより効率的に使用されることを許容する。各テープの実質的に全体を利用することにより、顧客はカートリッジまたはカセット数を劇的に減らすことができる。さらに、のちにより詳細に説明するように、パーティションを自動的にリンクすることは、適切に位置されたアーカイブ・デバイス（たとえばテープ・ドライブ）が、最小限の追加的なホスト監督または処理をもって、テープ上のALP間で自動的に遷移することを許容する。これは読み出しおよび書き込み動作の両方についてアクセス時間を改善する。すなわち、制御ホストは、アーカイブ・デバイスにおいて実装されるデータ取り扱いの複雑さを知らないまままで、諸ALP上の記憶（すなわち読み出しおよび書き込み）を管理できる。
【００１６】
例解すると、パーティションを自動的にリンクさせるシステムおよび方法の一つの例示的な実施形態は、仮想記憶管理（VSM:  virtual  storage  management）システムを用いて記述される。これに関し、図１は、VSMシステム１０の一つの実施形態の単純化した機能ブロック図を示している。この実施形態では、VSMシステム１０は、VSMホスト・アプリケーション１４を走らせるマイクロプロセッサ（図示せず）を有するサーバー１２（たとえばメインフレーム・サーバー）を含む。ホスト・アプリケーション（以下では「ホスト・アプリケーション」または「ホスト」）１４は、メモリ１５に結合されてもよく、データ・オブジェクト、あるいはこの実施形態では仮想テープ・ボリューム（VTV:  virtual  tape  volume）の記憶を管理および制御するシステム・アーキテクトとして作用しうる。仮想記憶管理モジュール１６がホスト・アプリケーション１４とアーカイブ・デバイス１８との間に存在する。アーカイブ・デバイス１８は、テープ・ドライブのようないかなる適切なアーカイブ・デバイスであってもよく、VSMシステム１０はいくつかの同様のアーカイブ・デバイス１８を含んでいてもよい。仮想記憶管理モジュール１６は、サーバー１２内にあってもよく、あるいはサーバー１２とは独立に、任意の適切なネットワーク位置に位置されていてもよい。仮想記憶管理モジュール１６は、ホスト・アプリケーション１４と通信し、また仮想テープ記憶サブシステム（VTSS:  virtual  tape  storage  subsystem）２６を監督する仮想テープ記憶制御システム（VTCS:  virtual  tape  storage  control  system）２４を含む。VTSSはといえば、ホスト・ファイルをアーカイブ・デバイス１８に、あるいは仮想テープ・ライブラリ２８にルーティングする。アーカイブ・デバイス１８において、VTVは直接、テープ・ライブラリ２０に収容されている多数の記憶テープ２２の一つに書き込まれる。アーカイブ・デバイス１８は、テープ・ライブラリ２０内に収容されたテープに、いかなる適切な手段を介してアクセスしてもよい。そうした手段は、たとえばアーカイブ・デバイス１８が記憶テープ２２の一つを選択する、マウントするおよびディスマウントすることを支援するロボット式組立体（図示せず）を含む。仮想テープ・ライブラリ２８は、最終的には記憶テープ２２の一つに書き込まれうるVTVを、バッファリングまたは一時的にキャッシュするために使用されてもよい。仮想テープ・ライブラリおよび実テープ・ライブラリならびに記憶テープにアクセスするために使われる対応するロボット式組立体は、当技術分野においてよく知られており、これ以上は記述しない。
【００１７】
図２は、記憶テープ２２の一つのある実施形態の論理的な表現を呈示する。テープ２２は、（セクションによって）縦方向および（ディビジョンによって）横方向の両方にパーティション分割されている。この実施形態では、テープ２２は、６個のセクションおよび３２個のディビジョンが多数のALP  ３０0-191をなすT10kBテープである。ALP  ３０0-191のそれぞれの容量は、テープ・フォーマットに依存して変わるが、この実施形態では、各ALPは約4.85GBのデータを記憶する。完全な1000GBの容量に達するまでの容量ロスがあったとしても目的があり、ALP  ４０0-191が任意の順序で書き込まれることを許容する。図２の左端のカラムはテープの先頭（BOT:  beginning  of  tape）４０を表し、右端のカラムはテープの終端（EOT:  end  of  tape）を表す。
【００１８】
図３、３−２のＡ〜Ｆは、VSMシステム１０によって実行されるいくつかの読み出しおよび書き込み動作を受ける際の記憶テープ２２のサンプル・ボリューム３４を示している。一般に、図３、３−２のＡ〜Ｆは、サンプル・ボリューム３４の、テープ２２に有効なデータが全くない空のまたは「空き」状態から、初期化およびサンプル・ボリューム３４内のALPへのいくつかのホスト・ファイルの書き込み、それらのホスト・ファイルの一つまたは複数の無効化、およびもとのホスト・ファイルの無効化により再利用のために利用可能になったALPへの新しいホスト・ファイルの書き込みまでの時間的進行を図的に示している。
【００１９】
ある実施形態では、テープ２２は最初、テープ・ライブラリ２０（図１）内の「空いている」一群のテープから選択される。「空いている」テープとして、テープ２２は空であってもよいし、あるいはそうでなければ有効なデータがないのでもよい。たとえば、空なのではなく、テープ２２に記憶されているデータのすべてが期限切れになっている、あるいは他の仕方で無効になっているのでもよい。
【００２０】
ALPモードでの書き込み動作が始まりうる前に、テープ２２が初期化される。初期化は、テープ２２を固定数の書き込み可能なALPに分割することを含む。図２を参照して上で論じたように、全テープ２２がALP  ３０0-191に分割される。図３のＡは、サンプル・テープ・ボリューム３４がそれらのALPの一部分、すなわちALP  ３０1-20を含んでいることを示している。ALPモード初期化の間に、ホスト・アプリケーション１４は、メモリ１５に記憶される書き込み可能マスク１７（図１）をもアーカイブ・デバイス１８に提供する。書き込み可能マスク１７は、アーカイブ・デバイス１８に、現在マウントされているテープ２２上のどのALPが書き込みのために利用可能であるかを通知する。書き込み可能マスク１７はALPを分類するためのいかなる適切な機構をも使用しうるが、一般には、ビット値1が特定のALPが書き込み可能であることを示し、ビット値0が特定のALPが有効なデータを含んでおり、よって現マウント・サイクルの間、書き込むことができないことを示す、ビット・マスクである。図３のＡに示した例では、サンプル・テープ・ボリューム３４内のALP  ３０1-20は記号「W」を帯びているが、これはALP  ３０1-20の全部が初期化後すぐに書き込み可能であることを示している。さらに、初期化プロセスは、テープ２２上の指定された位置（たとえば最初のALP）にテープ識別子またはテープ・マークを書き込むことを含んでいてもよい。
【００２１】
ひとたびテープ２２が初期化されたら、VSMシステム１０は、非ALPモードの場合と同じように、テープ２２へのデータの書き込みを開始しうる。すなわち、VSMシステム１０は、テープ２２にデータを入れてもよい。図３のＢに示されるように、いくつかのVTV  ３６1-9（上段に示す）が、サンプル・テープ・ボリューム３４内のALP  ３０1-20を横断して連続的に書き込まれる。特に、VTV  ３６1-9を書き込むプロセスは、記憶テープ２２について複数のマウントおよびディスマウント・サイクルにわたって、二つ以上のアーカイブ・デバイス１８を横断して行われてもよい。
【００２２】
書き込みプロセスとの関連で、ホスト１４はテープ２２についてのマッピングまたはVTV位置情報１９（図１）を追跡してもよい。位置情報はメモリ１５（図１）に記憶されてもよい。たとえば、VTV  ３６1-9が書き込まれる時またはその頃、ホストはVTV  ３６1-9のそれぞれについて位置を同定するマッピング情報１９を記録しうる。ホストは、たとえばVTV  ３６1-9のそれぞれの始まりおよび／または終了に関連付けられたブロックおよびALP識別情報などの、いかなる適切な位置情報を追跡および／または記録してもよい。ホスト１４は、その後、マッピング情報１９を使って、VTV  ３６1-9が徐々に期限切れになるにつれ、ALP  ３０1-20のどれが書き換えのために利用可能になるかを同定しうる。これについては以下で述べる。
【００２３】
時間がたつにつれて、VTV  ３６1-9は、しばしば期限切れまたはユーザー選択によって、無効化されはじめるであろう。VTV  ３６1-9のそれぞれは、異なる期限切れ期間〔有効期間〕をもつことがあり、結果として、サンプル・テープ・ボリューム３４は、ALP  ３０1-20の一つまたは複数にまたがる無効データのランダムなポケットを発達させるにつれて、「スイス・チーズ」のようになりはじめる。たとえば、図３のＢからＣへの進行は、VTV  ３６2およびVTV  ３６6が期限切れになっていくつかの非連続的なALPを書き換えのために解放したことを示している。この例では、サンプル・ボリューム３４は、マッピング情報１９を使ってALP  ３０1-20のどれがもはやいかなる有効なデータも含んでいないかを識別するプロセスを通じて再生されうる。その識別に基づいて、ホスト１４は、ALP  ３０1-20のうちのどれが現在のマウント・サイクルの間に書き換えのために利用可能になったかについてアーカイブ・デバイス１８に通知する新しいまたは更新された書き込み可能マスク１７を構築および提供しうる。利用可能なまたは「空の」ALPを識別するために、ホスト１４は、VTV  ３６1-9のそれぞれについてALPおよびブロック識別位置を同定するマッピング情報１９を、期限切れになったVTV  ３６2および３６6と比較して、ALP  ３０3-5、３０10および３０11がもはやいかなる有効なデータも含んでおらず、書き換えられてもよいことを判別する。これについては図３、３−２のＣ〜Ｄに示されている。
【００２４】
ホスト１４からの書き込み可能マスク１７を受領すると、アーカイブ・デバイス１８は追加的なホスト・ファイルをテープ２２に書き込みうる。たとえば、図３Ｅは、サンプル・テープ・ボリューム３４内の書き換え可能なALP  ３０3-5、３０10および３０11に書き込まれた二つの新しいVTV  ３６10-11を示している。テープ２２に対するALP解放およびデータの書き換えをもう一度繰り返したのち、サンプル・テープ・ボリューム３４は、図３−２のＦに示すような物理的レイアウトをもちうる。図３−２のＥ〜Ｆを比較すれば、もとのVTV  ３６4および３６8（図３−２のＥ）の期限切れに際して、新しいVTV３６12および３６13（図３−２のＦ）がALP  ３０7-8および３０15-16内のVTV  ３６4および３６8を置き換えたことがわかる。もとの書き込み動作と同様に、書き換え可能なALP内の新しいホスト・ファイルを書き換えるプロセスは、いくつかのマウントおよびディスマウント・サイクルにわたって行われてもよく、二つ以上のアーカイブ・デバイス１８によって実行されてもよい。
【００２５】
特に、アーカイブ・デバイス１８は書き込み動作を、書き込み可能マスク１７が書き込み可能であると同定したALP（たとえば、図３、３−２のＣ〜ＤにおけるALP  ３０3-5、３０10および３０11）に関してのみ許容する。いったんテープ２２がアーカイブ・デバイス１８にマウントされた際にホスト１４が書き込み可能マスク１７をBOT  ４０（図２）において提供しない場合、アーカイブ・デバイス１８は、デフォルトで、ALPのいずれも書き込み可能ではないと考える。さらに、ホストは一般にはアーカイブ・デバイス１８を最初の書き込み可能ALP内で書き込みを開始するよう位置付けるが、ホスト１４は書き込み可能マスク１７において同定された書き込み可能なALPのいずれにおいて書き込みを開始するようアーカイブ・デバイス１８を位置させてもよい。たとえば、図３−２のＥは最初の書き込み可能ALP  ３０3から始まるVTV  ３６10を示しているが、図３−２のＥの書き込み可能なALP  ３０3-5、３０10または３０11のいずれの先頭にアーカイブ・デバイス１８が位置されてもよい（そして新しいVTV  ３６10が開始されてもよい）。ひとたび書き込み動作が始まると、アーカイブ・デバイス１８は、書き込み可能マスク１７において同定されている書き込み可能ALPを、昇順で、現在の書き込み可能ALPから該現在の書き込み可能ALPに続いて次に低い書き込み可能ALPへと、自動的にリンクするよう動作する。書き込み可能マスク１７において同定されている書き込み可能ALPのリストの先頭に戻るラップ・アラウンドは行わない。これに関し、ホスト１４はテープ２２上の記憶を管理するが、書き込みプロセス自身はアーカイブ・デバイス１８からは引き離されている。すなわち、ALP  ３０3-5、３０10または３０11にデータを書き込む際、ホスト１４は、書き込み可能ALPへの書き込みに付随する実装上の複雑さの大半から隔離されたままである。それにより、処理機能が節約され、書き込みプロセスが速まる。
【００２６】
さらに、意図的に書き込み可能マスク１７内に書き込み可能ALPを設定するおよび／またはアーカイブ・デバイス１８を書き込みを開始するよう位置させることによって、ホスト１４は、どこでデータがテープ２２に書き込まれるかを制御しうる。たとえば、ホスト１４は、似通ったまたは頻繁にアクセスされるデータを互いの近くに、あるいはテープ２２上の所望される位置に、置いてもよい。別の一般的な例では、記憶プロバイダーが、インターネット記憶バックアップのようなサービスを提供してもよい。この役割において、記憶プロバイダーは、ALP  ３０の一つまたは複数を特定の顧客のデータに割り当てることができる。ALP  ３０は最初は連続的であり、顧客には後刻追加的なスペースを購入するオプションがあってもよい。追加的な記憶スペースの購入後、記憶プロバイダーは、書き込み可能マスク１７内の書き込み可能ALPを設定して、顧客に追加的な連続的または非連続的なALP  ３０を割り当ててもよい。ある実施形態では、記憶プロバイダーは、その顧客専用にされたまたはその顧客に割り当てられたALP  ３０を追跡してもよく、その一方、記憶プロバイダーによって維持されるホスト１４は、割り当てられたALP  ３０内に分布する個々のファイルまたはVTVの位置を追跡してもよい。顧客は、遠隔記憶テープ１８上に記憶されるデータの連続的な量をもつことを理解する必要があるだけであり、データがどのように分布されるかは気にする必要がない。顧客がサービスを中止する場合、ALP  ３０は無効にされ、別の顧客による書き換えのために解放されてもよい。
【００２７】
書き込みアクセスは書き込み可能マスク１７において同定された書き込み可能なALPに制約される一方、読み取りアクセスは各マウント・サイクルで許可される。これに関し、アーカイブ・デバイス１８は、ホスト介入なしに非連続的な諸ALPに書き込まれた諸VTVを読んでもよい。諸VTVは論理ボリュームとしてリンクされるからである。より具体的には、テープ２２に書き込まれた各VTVは、部分的なまたは完全な論理ボリュームの全部または一部をなしてもよく、それを通じてアーカイブ・デバイス１８は自動的にナビゲートしうる。完全な論理ボリュームは、ブロック0から書き込まれて物理的なデータ終了（EOD:  end  of  data）まで続くデータを含む、一群のリンクされたALPとして定義される。図３−２のＦを参照するに、ALP  ３０3-5および３０10-11（VTV  ３６10-11）は第一の完全な論理ボリューム３８1をなし、ALP  ３０7-8および３０15-16（VTV  ３６12-13）は第二の完全な論理ボリューム３８2をなす。これに対し、部分的な論理ボリュームは、ブロック0または物理的なEODのいずれかを欠く一群のリンクされたALPである。図３−２のＦは、五つの部分的論理ボリューム４１1-5を示しており、各ボリュームはそれぞれALP  ３０1-2（VTV  ３６1）、ALP  ３０6（VTV  ３６3）、ALP  ３０9（VTV  ３６5）、ALP  ３０12-14（VTV  ３６7）およびALP  ３０17-20（VTV  ３６9）を含む。
【００２８】
ある例示的な読み取り動作において、ホスト１４は、アーカイブ・デバイス１８を、VTV  ３６11の先頭に位置させうる。これは、まずALP  ３０4に、次いでVTV  ３６11の先頭（マッピング情報１９を通じてホスト１４に知られている）に位置させることによる。アーカイブ・デバイスは、論理ボリュームを通じて自動的に遷移するので、アーカイブ・デバイス１８は、ALP  ３０11に後続されるALP  ３０10に自動的に遷移する前に、ALP  ３０4からALP  ３０5に移る。これに関し、アーカイブ・デバイス１８は、各ALP内でホスト介入なしで精確にホスト・ファイルを返す。上で論じた書き込み動作と同様、ホスト１４は、アーカイブ・デバイス１８によって実行されるデータの取り扱いには感知せず、関与しないまま、読み出し動作を管理しうる。結果として、各読み取り動作はより効率的に、より少ないホスト処理機能を使って達成されうる。
【００２９】
テープ・パーティションを自動的にリンクさせる方法およびシステムの諸実施形態は、サーバー１２上で走るホスト・アプリケーション１４によって伝送され、送られ、および／または実行される一連のALPモード・インターフェース・コマンドを使って実装されうる。これらのコマンドは、ALPモードにおけるVSMシステム１０を動作させる任意の適切なコマンドを含んでいてよく、たとえばファイバー接続性（FICON）プロトコルまたは小型コンピュータ・システム・インターフェース（SCSI）プロトコルを含む任意の適切なコマンド・プロトコルにおいて定義されていてもよい。実例を挙げると、図４は、サーバー１２上で走るホスト・アプリケーション１４によって送られ、伝送され、あるいは実行される一連のFICONコマンドを使って、ALPテープ上の一つまたは複数の空いているまたは書き換え可能なALPにホスト・ファイルを書き込むための諸ステップの一つの実施形態を詳細に示すフローチャートを呈示している。本プロセスは、アーカイブ・デバイス１８にALPテープ２２をマウントすることで始まる（ステップ４６）。この時点で、テープ２２は、図３のＣに呈示される物理的レイアウトを有していてもよい。すなわち、VTV  ３６2および３６6が期限切れになっており、ALP  ３０3-5および３０10-11を書き込みのための解放している。ひとたびマウントされると、ホスト１４は、書き込み可能マスク設定コマンドを発しうる（ステップ４８）。このコマンドは、テープ２２に書き込んでよい書き込み可能ALP  ３０3-5および３０10-11をアーカイブ・デバイス１８に通知するために書き込み可能マスク１７をアーカイブ・デバイス１８に提供する。
【００３０】
次に、ホスト１４は、アーカイブ・デバイス１８を最初の書き込み可能なALP  ３０3に位置付けるためのALP位置特定コマンドを発する（ステップ５０）。書き込みが始まる前に、ホスト・ファイル位置（たとえばマッピング情報）構造が、最初の書き込み可能ALP  ３０3の識別情報およびホスト・ブロック識別情報0をもって、更新される（ステップ５２）。次に、ホスト１４が、完全な論理ボリューム３８1を生成するための新論理ボリューム開始コマンドを発する（５４）。その後、図３−２のＥに示されるように、新しいホスト・ファイルすなわちVTV10が書き込まれる。VTV10が書き込まれたのち、ホストは、どのALPがVTV10の終わりを含んでいるかを判別するために現在ALP報告コマンドを発する（ステップ５８）。現在ALP位置、ALP  ３０4は、ホスト・ファイル位置構造に記憶される（ステップ６０）。後刻、ALPが書き換えのために自由になったときに判別するのに使用するためである。具体的には、ホスト１４は、後刻、ホスト・ファイル位置構造を参照して、VTV10がALP3の全体およびALP4の一部分にまたがることを判別しうる。こうして、VTV10の期限切れに際して、ホスト１４はALP3が書き換えのために自由になったことを見きわめることになる。
【００３１】
上で論じたように、テープ２２へのホスト・ファイルの書き込みのプロセスは、いくつかのマウントおよびディスマウント・サイクルにわたって行われてもよく、二つ以上のアーカイブ・デバイス１８にまたがって行われてもよい。よって、ある実施形態では、VTC  ３６10がテープ２２に上で論じた仕方で書き込まれたのち、テープ２２はディスマウントされ、テープ・ライブラリ２０に保管され、後刻、残っている書き込み可能なALP内でのさらなる書き込みのためにアーカイブ・デバイス１８に再びマウントされてもよい。これに関し、図５は、サーバー１２上で走るホスト・アプリケーション１４によって送られ、伝送されたまたは実行される一連のFICONコマンドを使って、テープ２２上の書き込み可能なALP内の既存のホスト・ファイルにホスト・ファイルをアペンドするための諸ステップの実施形態を詳細に示すフローチャートを呈示している。具体的には、図３−２のＥに示すようにVTC  ３６10にVTC  ３６11をアペンドするために、テープ２２はまずアーカイブ・デバイス１８にマウントされる（ステップ６２）。次に、ホスト１４は、テープ２２が書き込みのために選択可能となるよう、書き込み可能マスク設定コマンドを発する（ステップ６４）。ひとたび書き込み可能マスク１７がアーカイブ・デバイス１８に与えられたら、ホスト１４はアーカイブ・デバイス１８を、既存のVTV10の終わりに位置させうる（ステップ６６）。これは、ALP4へのALP位置特定コマンド、続いてVTV10の終わりに位置させるための標準的なテープ位置付けコマンドを発することによる。ホスト１４は次いで、現在ALP報告コマンドおよび標準的な読み出し位置コマンドを発する。上で論じたように、書き込まれるべき新たなVTV11の開始位置についての位置情報（すなわち、現在のALPおよびブロック識別情報）を同定する（ステップ６８）ためである。ホスト１４は、その位置情報をホスト・ファイル位置（たとえばマッピング情報）構造にのちの使用のために記憶する（ステップ７０）。次に、図３−２のＥに示されるように、新しいVTV11が書き込まれる（ステップ７２）。VTV11が書き込まれたのち、どのALPがVTV11の終わりを含んでいるかを判別するために、ホストが現在ALP報告コマンドを発する（ステップ７４）。次いで現在のALP  ３０11はホスト・ファイル位置構造中に記憶される（ステップ７６）。それにより、開始ALP  ３０4および現在ALP  ３０11に基づいて、ALP  ３０4-5および３０10-11が書き換えのために自由になったときに、ホスト１４が判別できる。
【００３２】
図６は、サーバー１２上で走るホスト・アプリケーション１４によって送られ、伝送され、あるいは実行される一連のFICONコマンドを使ってALPモードにおいてホスト・ファイルを読み取るための諸ステップの一つの実施形態の詳細を示すフローチャートを示している。第一に、テープ２２がアーカイブ・デバイス１８にマウントされる（ステップ７８）。第二に、ホスト１４が、ホスト・ファイル位置構造を参照することによって、ホスト・ファイルについての開始位置を判別する（ステップ８０）。たとえば、ホスト・ファイル位置構造を参照することによって、ホスト１４は、図３−２のＥに示されるように、VTV10がALP  ３０3のブロック0で始まることを判別しうる。次に、ホスト１４は、アーカイブ・デバイス１８を、VTV10の先頭に位置させうる（ステップ８２）。これは、ALP  ３０3へのALP位置特定コマンドを発し、次いでアーカイブ・デバイス１８をVTV10の先頭に動かすための標準的なテープ位置付けコマンドを発することによる。VTV10への位置付け後、ホスト・ファイルは、標準的なテープ読み取りコマンドを使って、読み取られうる（ステップ８４）。アーカイブ・デバイス１８は、VTV10が属する完全な論理ボリューム３８1を通じて自動的に遷移する。換言すれば、アーカイブ・デバイス１８は、ALP  ３０3から次のALPへと必要に応じて自動的に遷移する。この実施形態では、アーカイブ・デバイス１８は、VTV10の読み取りにおいて、ALP  ３０3からALP  ３０4に自動的に遷移する。
【００３３】
本発明について、ある程度の具体性をもって記述し、例解してきたが、本開示はあくまでも例としてなされたものであって、付属の請求項において特許請求される本発明の精神および範囲から外れることなく、諸部分の型、組み合わせおよび配置において数多くの変更が当業者によってなされることができることは理解されるものである。たとえば、パーティションを自動的にリンクさせるシステムおよび方法を仮想記憶管理システムとの関連で記述してきたが、本システムおよび方法は、磁気記憶テープまたはカートリッジのような記憶媒体を使用するいかなるアプリケーションにも適用可能である。さらに、いくつかのFICONインターフェース・コマンドが本発明の実装において有用であると記述してきたが、これらのコマンドはすべてを包含するものではなく、本発明は、個々のホスト・アプリケーションの要求を実行するために必要な、任意の適切なプロトコルにおいて定義された任意のコマンドのセットを考える。さらに、ある種のコマンドについて例示的な使用を記述してきたが、本発明は、ホスト・アプリケーションの要求を達成するための定義されたコマンドの任意の適切な使用を考えている。
【符号の説明】
【００３４】
１０  仮想記憶管理（VSM:  virtual  storage  management）システム
１２  サーバー
１４  ホスト・アプリケーション
１５  メモリ
１６  仮想記憶管理モジュール
１７  書き込み可能マスク
１８  アーカイブ・デバイス
１９  マッピング情報
２０  テープ・ライブラリ
２２  記憶テープ
２４  仮想テープ制御システム
２６  仮想テープ記憶サブシステム
２８  仮想テープ・ライブラリ
３０  自動的にリンクされるパーティション（ALP:  automatically  linked  partition）
３４  サンプル・ボリューム
３６  仮想テープ・ボリューム（VTV:  virtual  tape  volume）
３８  完全な論理ボリューム
４１  部分的論理ボリューム
４０  テープの先頭（BOT:  beginning  of  tape）
４２  テープの終端（EOT:  end  of  tape）
４６  ALPテープ２２をマウント
４８  書き込み可能マスクを設定
５０  最初の書き込み可能なALP  ３０3に位置付ける
５２  ホスト・ファイル位置構造を更新
５４  新しい論理ボリューム３８1を開始
５６  VTV10を書き込み
５８  現在ALP  ３０4を報告
６０  現在ALP  ３０10をホスト・ファイル位置構造に記憶
６２  テープ２２をマウント
６４  書き込み可能マスクを設定
６６  既存のVTV10の末尾に位置付ける
６８  書き込むべきVTV11のための開始位置を同定
７０  VTV11のための開始位置でホスト・ファイル位置構造を更新
７２  VTV11を書き込み
７４  現在ALP  ３０11を報告
７６  現在ALP  ３０1をホスト・ファイル位置構造に記憶
７８  テープ２２をマウント
８０  VTV10についての開始位置を判別
８２  VTV10についての開始位置に位置付ける
８４  VTV10を読み取り
【図１】
2011096252.tif 000003
【図２】
2011096252.tif 000004
【図３】
2011096252.tif 000005
【図３−２】
2011096252.tif 000006
【図４】
2011096252.tif 000007
【図５】
2011096252.tif 000008
【図６】
2011096252.tif 000009