(57)【要約】      （修正有）【課題】ＬＴＯフォーマットに適合したフォーマットでテープ上に高解像度テープ・ディレクトリ（ＨＲＴＤ）を格納することが可能な、高速アクセスを達成する。【解決手段】テープ・ドライブ・システムは、テープ媒体上のデータへの順次アクセスを可能にするファイル・システムと、データを管理するファイル・アクセス・コントローラとを含む。ファイル・アクセス・コントローラは、テープ媒体上にファイルを書き込み、書き込まれたファイルのポインタをテープ媒体のインデックス内に書き込み、該ポインタがファイル・アクセス・コントローラにより管理される。更に、テープ媒体上のデータの詳細な位置情報を含む高解像度テープ・ディレクトリ（ＨＲＴＤ）を作成し、テープ・カートリッジがアンロードされるときに、ＨＲＴＤをインデックスのデータ終端（ＥＯＤ）の一部として格納する。【選択図】図５
2014081988.tif 000002
【特許請求の範囲】
【請求項１】
テープ・ドライブ・システムであって、
テープ媒体上のデータへの順次アクセスを可能にするように適合されたファイル・システムと、
前記データを管理するように適合されたファイル・アクセス・コントローラと、
を含み、前記ファイル・アクセス・コントローラは、
前記テープ媒体上にファイルを書き込むように適合された論理と、
前記書き込まれたファイルのポインタを前記テープ媒体のインデックス内に書き込むように適合された論理であって、前記ポインタが前記ファイル・アクセス・コントローラにより管理される、論理と、
前記テープ媒体上のデータの詳細な位置情報を含む高解像度テープ・ディレクトリ（ＨＲＴＤ）を作成するように適合された論理と、
前記テープ媒体を収容したテープ・カートリッジがアンロードされるときに、前記ＨＲＴＤを前記インデックスのデータ終端（ＥＯＤ）の一部として格納するように適合された論理と、
を含む、テープ・ドライブ・システム。
【請求項２】
前記テープ・ドライブ・システムは、リニア・テープ・オープン（ＬＴＯ）フォーマット規格に準拠し、前記ファイル・システムは、リニア・テープ・ファイル・システム（ＬＴＦＳ）に準拠する、請求項１に記載のテープ・ドライブ・システム。
【請求項３】
指定ファイルを読み出す要求を、前記ファイル・システムを介して受け取るように適合された論理と、
格納された前記指定ファイルを含むテープ媒体を収容したテープ・カートリッジをロードするように適合された論理と、
前記指定ファイルの位置に対応するディレクトリ情報を取得するために前記テープ媒体からポインタを読み出すように適合された論理と、
前記ポインタを読み出すのと並行して、前記ＨＲＴＤを取得するために前記インデックスから前記ＥＯＤを読み出すように適合された論理と、
をさらに含む、請求項１に記載のテープ・ドライブ・システム。
【請求項４】
格納されているＨＲＴＤが有効であるか否かを判定するように適合された論理と、
前記格納されているＨＲＴＤが有効である場合に、前記取得されたＨＲＴＤを有効化し、前記指定ファイルに対応する前記ＨＲＴＤの詳細な位置情報に従って、前記指定ファイルへのアクセスを要求するように適合された論理と、
前記格納されているＨＲＴＤが無効である場合に、前記指定ファイルの位置情報にアクセスするために、カートリッジ・メモリ（ＣＭ）内に格納されている標準型テープ・ディレクトリ（ＳＴＤ）を用いるように適合された論理と、
前記ＨＲＴＤを用いる場合にはより高速で、又は前記ＳＴＤを用いる場合にはより低速で、前記指定ファイルにアクセスするように適合された論理と、
をさらに含む、請求項３に記載のテープ・ドライブ・システム。
【請求項５】
前記テープ媒体の第１の部分に格納されているデータに対して変更を行うように適合された論理と、
前記変更されたデータに関する詳細な位置データを前記テープ媒体の前記第１の部分のＥＯＤに格納するように適合された論理と、
前記テープ媒体を収容した前記テープ・カートリッジがアンロードされるときに、前記変更されたデータに関する前記詳細な位置データを、前記インデックスの前記ＥＯＤに格納された前記ＨＲＴＤにおいて反映するように適合された論理と、
をさらに含む、請求項１に記載のテープ・ドライブ・システム。
【請求項６】
前記ＨＲＴＤを前記インデックスの前記ＥＯＤの一部として格納するように適合された前記論理は、
前記テープ媒体上のデータに変更が生じた後で前記インデックスを更新するために、前記テープ媒体を前記インデックスまで移動させるよう要求するように適合された論理と、
更新されたインデックスを書き込むように適合された論理と、
前記更新されたインデックスを書き込むのと並行して、更新されたＨＲＴＤを前記インデックスの前記ＥＯＤ内に書き込むように適合された論理と、
前記テープ・カートリッジがアンロードされることを要求するように適合された論理と、
を含む、請求項１に記載のテープ・ドライブ・システム。
【請求項７】
前記テープ媒体を２つ又はそれ以上のパーティションに区分化するように適合された論理をさらに含み、前記２つ又はそれ以上のパーティションは、少なくともデータ・パーティション及びインデックス・パーティションを含み、前記インデックスは前記インデックス・パーティションに格納され、前記データは前記データ・パーティションに格納される、請求項１に記載のテープ・ドライブ・システム。
【請求項８】
詳細な位置情報を管理するための方法であって、前記方法は、
データ・パーティション及びインデックス・パーティションを含む２つ又はそれ以上のパーティションを備えたテープ媒体の前記データ・パーティション内にファイルを書き込むことと、
前記書き込まれたファイルのポインタを前記テープ媒体の前記インデックス・パーティション内に書き込むことと、
前記テープ媒体の前記データ・パーティション内のデータの詳細な位置情報を含む高解像度テープ・ディレクトリ（ＨＲＴＤ）を作成することと、
前記テープ媒体を収容したテープ・カートリッジがアンロードされるときに、前記ＨＲＴＤを前記インデックス・パーティションのデータ終端（ＥＯＤ）の一部として格納することと、
を含む、方法。
【請求項９】
前記テープ媒体は、リニア・テープ・オープン（ＬＴＯ）フォーマット規格に準拠し、リニア・テープ・ファイル・システム（ＬＴＦＳ）が前記テープ媒体の区分化を可能にする、請求項８に記載の方法。
【請求項１０】
指定ファイルを読み出す要求を受け取ることと、
格納された前記指定ファイルを含むテープ媒体を収容したテープ・カートリッジをロードすることと、
前記指定ファイルの位置に対応するディレクトリ情報を取得するために前記インデックス・パーティション内のポインタを読み出すことと、
前記インデックス・パーティションから前記ポインタを読み出すのと並行して、前記ＨＲＴＤを取得するために前記インデックス・パーティション内の前記ＥＯＤを読み出すことと、
をさらに含む、請求項８に記載の方法。
【請求項１１】
格納されているＨＲＴＤが有効であるか否かを判定することと、
前記格納されているＨＲＴＤが有効である場合に、前記取得されたＨＲＴＤを有効化し、前記指定ファイルに対応する前記ＨＲＴＤの詳細な位置情報に従って、前記指定ファイルへのアクセスを要求することと、
前記格納されているＨＲＴＤが無効である場合に、前記指定ファイルの位置情報にアクセスするために、カートリッジ・メモリ（ＣＭ）内に格納されている標準型テープ・ディレクトリ（ＳＴＤ）を用いることと、
前記ＨＲＴＤを用いる場合にはより高速で、又は前記ＳＴＤを用いる場合にはより低速で、前記指定ファイルにアクセスすることと、
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記データ・パーティションの第１の部分に格納されているデータに対して変更を行うことと、
前記変更されたデータに関する詳細な位置データを前記データ・パーティションの前記第１の部分のＥＯＤに格納することと、
前記テープ媒体を収容した前記テープ・カートリッジがアンロードされるときに、前記変更されたデータに関する前記詳細な位置データを、前記インデックス・パーティションの前記ＥＯＤに格納された前記ＨＲＴＤにおいて反映することと、
をさらに含む、請求項８に記載の方法。
【請求項１３】
前記ＨＲＴＤを前記インデックス・パーティションの前記ＥＯＤの一部として前記格納することは、
前記データ・パーティション内のデータに変更が生じた後でインデックスファイルを更新するために、前記テープ媒体を前記インデックス・パーティションまで移動するよう要求することと、
更新されたインデックスファイルを前記パーティション・インデックス内に書き込むことと、
前記更新されたインデックスファイルを書き込むのと並行して、更新されたＨＲＴＤを前記インデックス・パーティションの前記ＥＯＤ内に書き込むことと、
前記データ・カートリッジがアンロードされることを要求することと、
を含む、請求項８に記載の方法。
【請求項１４】
詳細な位置情報を管理するためのコンピュータ・プログラムであって、
データ・パーティション及びインデックス・パーティションを含む２つ又はそれ以上のパーティションを備えたテープ媒体の前記データ・パーティション内にファイルを書き込むように構成されたコンピュータ可読プログラム・コードと、
前記書き込まれたファイルのポインタを前記テープ媒体の前記インデックス・パーティション内に書き込むように構成されたコンピュータ可読プログラム・コードと、
前記テープ媒体の前記データ・パーティション内のデータの詳細な位置情報を含む高解像度テープ・ディレクトリ（ＨＲＴＤ）を作成するように構成されたコンピュータ可読プログラム・コードと、
前記テープ媒体を収容したテープ・カートリッジがアンロードされるときに、前記ＨＲＴＤを前記インデックス・パーティションのデータ終端（ＥＯＤ）の一部として格納するように構成されたコンピュータ可読プログラム・コードと、
をコンピュータに実行させるコンピュータ・プログラム。
【請求項１５】
前記テープ媒体は、リニア・テープ・オープン（ＬＴＯ）フォーマット規格に準拠し、リニア・テープ・ファイル・システム（ＬＴＦＳ）が前記テープ媒体の区分化を可能にする、請求項１４に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープ・ベースのデータ・ストレージに関し、より具体的には、本発明は、インデックス・パーティション内のデータ終端（ｅｎｄ  ｏｆ  ｄａｔａ、ＥＯＤ）に格納される高解像度テープ・ディレクトリ（ＨＲＴＤ）に関する。
【背景技術】
【０００２】
リニア・テープ・ファイル・システム（ＬＴＦＳ）は、テープ・ドライブの区分化機能を用いることにより実装されるファイル・システムである。ＬＴＦＳにおいて、テープは複数のパーティションに分割される。従来的に２つのパーティションが確立されるが、可能なパーティションの数についての制限はない。ファイル・システム上の情報は、インデックス・パーティション（ＩＰ）と呼ばれるパーティション内に格納される。データは、１つ又は複数のファイルのコンテンツであり、これはデータ・パーティション（ＤＰ）と呼ばれるパーティション内に格納される。
【０００３】
ＬＴＦＳを区分化する１つの理由は、テープ・ベース媒体の順次的な性質であり、例えば、テープ上に格納されたデータにアクセスするには、開始部から終端部まで又はその逆に順次にアクセスしなければならない。テープのデータ・フォーマットにおいて、データが同じパーティション内に格納される場合、データの書込みは一度しか許可されない。一方、データがそのデータ内のどこか中間点から開始して書き込まれるときには、後続のデータもまた消去されることになる。
【０００４】
ファイルに対する更新がテープ・ベース媒体に書き込まれるときには、テープに格納されるデータに関連したファイル・システム情報を更新する必要がある。テープにアクセスすることができるいずれの順次アクセス型装置でも、そのフォーマット特性の結果として、このような情報はテープの最終ポジションに一回書き込まれることになる。
【０００５】
パーティションが１つしか存在しない場合には、ファイル・システムのポインタ情報は、カートリッジ（テープを収容している）がロードされるたびに、テープの最終論理ポジションから取得される。場合によっては、ファイル・システム情報の取得には時間がかかる。上記の問題を解決する既知の技術は、カートリッジがロードされた直後に高速でファイル・システムのポインタ情報にアクセスするために、専用のパーティションを設け、このパーティション内にファイルポインタ情報を格納することである。こうすることで、カートリッジがロードされた直後に高速でテープ上のファイル・システムのポインタ情報にアクセスすることが可能となる。
【０００６】
従来のリニア・テープ・オープン（ＬＴＯ）型テープ・ドライブの１つの主要な用途は、バックアップ目的である。例えば、テープに書き込まれたデータを読み出すときに、特定の指定された位置からホストまでテープを順次送ることといった、テープ上のデータまでのランダムな移動（位置探索）の必要性は限られていた。高速移動（位置探索）の必要性は、高性能ストレージ・システム（ＨＰＳＳ）、仮想テープ・システム（ＶＴＳ）、及び／又は階層型ストレージ管理（ＨＳＭ）のような企業体環境での使用において認識されている。このような使用においては、指定されたデータ位置に高速でアクセスするために高解像度テープ・ディレクトリ（ＨＲＴＤ）機能を利用する能力を有するドライブ、例えばＩＢＭテープ・ドライブ・モデルＴＳ１１３０／ＴＳ１１４０が有用である。
【０００７】
テープ・ディレクトリ（ＴＤ）は、テープ上のデータの位置を詳細に示す情報である。この情報は、テープ上の指定された領域に格納されており、カートリッジのアンロードの時点で書き込まれ、カートリッジのロードの時点で読み出される。テープ・ドライブは、この位置情報に基づいてテープ全体にわたってデータを検索する。標準型ＬＴＯでは、この情報は、テープを長手方向（ＴＤと呼ばれる）に二分することにより得られ、カートリッジ・メモリ（ＣＭ）内に格納されているのに対して、ＩＢＭテープ・ドライブ・モデルＴＳ１１３０／ＴＳ１１４０においては、６４分割された詳細な情報セクション（これをＨＲＴＤと呼ぶ）がテープ上に格納されている。より詳細な位置情報を利用可能にしたことにより、テープ上に格納されたデータの位置の判定の精度が高まり、また、テープ上のデータを見つけ出すのに要する時間が短縮される。従って、データへのアクセス速度が速くなり、このことはデータ・ストレージの分野にとって有益である。
【０００８】
しかしながら、従来型ＬＴＯドライブは、ＨＲＴＤを提供しない。これが提供されていない幾つかの理由としては、テープ・ドライブがＴＳ１１３０／ＴＳ１１４０のようなＩＢＭのオリジナル・フォーマットに準拠している場合、ＨＲＴＤ情報の量がＣＭ（８ＫＢしかない）に格納するには大きすぎることが挙げられ、そのうえ、ＬＴＯはオープン規格であるため、テープ上の指定された領域におけるストレージ位置はその中で規定されていない。また、大部分のテープ・ドライブが典型的にはそうであるように、テープ・ドライブが主としてバックアップ目的で使用される場合には、ＨＲＴＤ機能はそれほど重要ではない。バックアップ用途では、テープからデータを読み出すのに要する時間量は、テープ・ストレージを他の方法及び媒体に優先して選択する要因としては最も重要とはいえないことがある。
【０００９】
しかしながら、現在のリニア・テープ・ファイル・システム（ＬＴＦＳ）の主要な使用環境であるＬＴＯ５ドライブにおいて、ユーザは、テープ上のデータに対しても、ＣＤ−Ｒ及び／又はユニバーサル・シリアル・バス（ＵＳＢ）メモリスティックのような他の媒体フォーマットに格納されたデータと同様に、ドラッグ・アンド・ドロップのような簡単なグラフィカル・ユーザ・インターフェース（ＧＵＩ）により、又はコマンドライン操作を行うことによって、読取り／書込みを行うことが可能であり得る。この理由から、従来から、テープ上の任意のファイルにアクセスするのにかかる時間は、ＬＴＯドライブにおいても他のテープ・フォーマットの場合と同様にますます重要になってきている。
【００１０】
しかしながら、ＩＢＭテープ・ドライブ・モデルＴＳ１１３０／ＴＳ１１４０とは異なり、ＬＴＯドライブは、ロード直後に高速でデータ読取り位置を正確に特定するＨＲＴＤ機能を提供していない。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特に、ＬＴＯフォーマットに適合したフォーマットでテープ上に高解像度テープ・ディレクトリ（ＨＲＴＤ）を格納することが可能な、格納されたデータへのリニア・テープ・オープン（ＬＴＯ）ドライブによる高速アクセスを達成するための方法及びシステムを提供すること。
【課題を解決するための手段】
【００１２】
１つの実施形態において、テープ・ドライブ・システムは、テープ媒体上のデータへの順次アクセスを可能にするように適合されたファイル・システムと、データを管理するように適合されたファイル・アクセス・コントローラとを含み、このファイル・アクセス・コントローラは、テープ媒体上にファイルを書き込むように適合された論理と、書き込まれたファイルのポインタをテープ媒体のインデックス内に書き込むように適合された論理であって、該ポインタはファイル・アクセス・コントローラにより管理される、論理と、テープ媒体上のデータの詳細な位置情報を含むＨＲＴＤを作成するように適合された論理と、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、ＨＲＴＤをインデックスのデータ終端（ＥＯＤ）の一部として格納するように適合された論理と、を含む。
【００１３】
別の実施形態において、詳細な位置情報を管理するための方法は、データ・パーティション及びインデックス・パーティションを含む２つ又はそれ以上のパーティションを有するテープ媒体のデータ・パーティション内にファイルを書き込むことと、書き込まれたファイルのポインタをテープ媒体のインデックス・パーティション内に書き込むことと、テープ媒体のデータ・パーティション内のデータの詳細な位置情報を含むＨＲＴＤを作成することと、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、ＨＲＴＤをインデックス・パーティションのＥＯＤの一部として格納することと、を含む。
【００１４】
別の実施形態によれば、詳細な位置情報を管理するためのコンピュータ・プログラム製品は、具体化されたコンピュータ可読プログラム・コードを有するコンピュータ可読ストレージ媒体を含み、コンピュータ可読プログラム・コードは、データ・パーティション及びインデックス・パーティションを含む２つ又はそれ以上のパーティションを有するテープ媒体のデータ・パーティション内にファイルを書き込むように構成されたコンピュータ可読プログラム・コードと、書き込まれたファイルのポインタをテープ媒体のインデックス・パーティション内に書き込むように構成されたコンピュータ可読プログラム・コードと、テープ媒体のデータ・パーティション内のデータの詳細な位置情報を含むＨＲＴＤを作成するように構成されたコンピュータ可読プログラム・コードと、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、ＨＲＴＤをインデックス・パーティションのＥＯＤの一部として格納するように構成されたコンピュータ可読プログラム・コードと、を含む。
【００１５】
本発明の他の態様及び実施形態は、図面と共に解釈したときに本発明の原理を例として示す、以下の詳細な説明から明らかとなる。
【図面の簡単な説明】
【００１６】
【図１】１つの実施形態による簡略化されたテープ・ドライブ・システムの概略図である。
【図２】１つの実施形態によるテープ・カートリッジの概略図である。
【図３】１つの実施形態によるファイル・システムにおけるデータ終端（ＥＯＤ）の位置を示す。
【図４】１つの実施形態によるシステムを示す。
【図５】１つの実施形態による方法のフローチャートを示す。
【図６】１つの実施形態による方法のフローチャートを示す。
【図７】１つの実施形態による方法のフローチャートを示す。
【図８】１つの実施形態による方法のフローチャートを示す。
【図９】１つの実施形態による、ネットワーク・アーキテクチャを示す。
【図１０】１つの実施形態による、図９のサーバ及び／又はクライアントと関連付けることができる代表的なハードウェア環境を示す。
【図１１】１つの実施形態による方法のフローチャートを示す。
【発明を実施するための形態】
【００１７】
以下の説明は、本発明の一般的な原理を例示する目的で行うものであり、ここで特許請求される本発明の概念を限定することを意図されるものではない。さらに、本明細書において説明される特定の特徴は、種々の可能な組み合わせ及び置き換えの各々において、説明されている他の特徴と組み合わせて用いることができる。
【００１８】
本明細書において特に具体的に定義されない限り、全ての用語は、明細書が含意する意味、並びに当業者によって理解される意味及び／又は辞書及び学術論文において定義される意味などを含む、その可能な限り最も広い解釈を付与される。
【００１９】
本明細書及び添付の特許請求の範囲において使用されるとき、単数形の「a」、「ａｎ」及び「ｔｈｅ」は、特に指定のない限り複数形の対象を含むこともにも留意すべきである。
【００２０】
以下の説明は、磁気ストレージ・システム幾つかの好ましい実施形態、並びにその動作及び／又は構成要素を開示する。特に、ＬＴＯフォーマットに適合したフォーマットでテープ上に高解像度テープ・ディレクトリ（ＨＲＴＤ）を格納することが可能な、格納されたデータへのリニア・テープ・オープン（ＬＴＯ）ドライブによる高速アクセスを達成するための方法及びシステムが提示される。
【００２１】
１つの一般的な実施形態において、テープ・ドライブ・システムは、テープ媒体上のデータへの順次アクセスを可能にするように適合されたファイル・システムと、データを管理するように適合されたファイル・アクセス・コントローラとを含み、このファイル・アクセス・コントローラは、テープ媒体上にファイルを書き込むように適合された論理と、書き込まれたファイルのポインタをテープ媒体のインデックス内に書き込むように適合された論理であって、該ポインタがファイル・アクセス・コントローラにより管理される、論理と、テープ媒体上のデータの詳細な位置情報を含むＨＲＴＤを作成するように適合された論理と、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、ＨＲＴＤをインデックスのデータ終端（ＥＯＤ）の一部として格納するように適合された論理と、を含む。
【００２２】
別の一般的な実施形態において、詳細な位置情報を管理するための方法は、データ・パーティション及びインデックス・パーティションを含む２つ又はそれ以上のパーティションを有するテープ媒体のデータ・パーティション内にファイルを書き込むことと、書き込まれたファイルのポインタをテープ媒体のインデックス・パーティション内に書き込むことと、テープ媒体のデータ・パーティション内のデータの詳細な位置情報を含むＨＲＴＤを作成することと、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、ＨＲＴＤをインデックス・パーティションのＥＯＤの一部として格納することと、を含む。
【００２３】
別の一般的な実施形態によれば、詳細な位置情報を管理するためのコンピュータ・プログラム製品は、コンピュータ可読プログラム・コードが具体化されたコンピュータ可読ストレージ媒体を含み、コンピュータ可読プログラム・コードは、データ・パーティション及びインデックス・パーティションを含む２つ又はそれ以上のパーティションを有するテープ媒体のデータ・パーティション内にファイルを書き込むように構成されたコンピュータ可読プログラム・コードと、書き込まれたファイルのポインタをテープ媒体のインデックス・パーティション内に書き込むように構成されたコンピュータ可読プログラム・コードと、テープ媒体のデータ・パーティション内のデータの詳細な位置情報を含むＨＲＴＤを作成するように構成されたコンピュータ可読プログラム・コードと、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、ＨＲＴＤをインデックス・パーティションのＥＯＤの一部として格納するように構成されたコンピュータ可読プログラム・コードと、を含む。
【００２４】
図１は、本発明の文脈において使用することができるテープ・ベースのデータ・ストレージ・システムの簡略化されたテープ・ドライブ１００を示す。図１においてテープ・ドライブの１つの特定の実装が示されるが、本明細書において説明される実施形態は、任意のタイプのテープ・ドライブ・システムの文脈で実装することができることに留意されたい。
【００２５】
図示されるように、テープ供給カートリッジ１２０及び巻き取りリール１２１がテープ１２２を支持するために設けられる。１つ又は複数のリールは、取り外し可能カートリッジの一部を形成することができるので、必ずしもシステム１００の一部である必要はない。図１に示されるようなテープ・ドライブは、駆動モータをさらに含んで、テープ供給カートリッジ１２０及び巻き取りリール１２１を駆動してテープ１２２を任意のタイプのテープ・ヘッド１２６上で動かすことができる。このようなヘッドは、読取り装置、書込み装置、又はその両方を含むことができる。
【００２６】
ガイド１２５は、テープ１２２を、テープ・ヘッド１２６を横切るように案内する。このようなテープ・ヘッド１２６自体は、ケーブル１３０を介してコントローラ１２８に結合する。コントローラ１２８は、ドライブ１００のいずれかのサブシステムを制御するためのプロセッサ及び／又はいずれかの論理とすることができ、又はこれを含むことができる。例えば、コントローラ１２８は、典型的には、サーボ追従、データ書込み、データ読取りなどのようなヘッドの機能を制御する。コントローラ１２８は、本明細書において開示されるいずれかの論理はもちろん、当該技術分野で公知の論理の下で動作することができる。コントローラ１２８は、該コントローラ１２８によって実行可能な命令を格納することができるいずれかの既知のタイプのメモリ１３６に結合することができる。さらに、コントローラ１２８は、本明細書において提示される方法論の幾つか又は全てを実施するか又は制御するように構成されることができ及び／又はプログラム可能とすることができる。したがって、コントローラは、チップ内にプログラムされた論理；プロセッサが利用可能なソフトウェア、ファームウェア又はその他の命令など；及びその組み合わせによって種々の動作を行うように構成されると考えることができる。
【００２７】
ケーブル１３０は、テープ１２２上に記録すべきデータをヘッド１２６に送信するため、及び、テープ１２２からヘッド１２６により読み取られたデータを受信するための、読取り／書込み回路を含むことができる。アクチュエータ１３２は、テープ１２２に対するヘッド１２６の位置を制御する。
【００２８】
全て当業者が理解するように、テープ・ドライブ１００とホスト（一体型又は外部型）との間でデータを送受信する通信のために、並びに、テープ・ドライブ１００の動作を制御するため及びテープ・ドライブ１００の状態をホストに通信するために、インターフェース１３４を設けることもでき、
【００２９】
図２は、１つの実施形態による例示的なテープ・カートリッジ１５０を示す。このようなテープ・カートリッジ１５０は、図１に示されたシステムのようなシステムと共に用いることができる。図示されるように、テープ・カートリッジ１５０は、ハウジング１５２と、ハウジング１５２内のテープ１２２と、ハウジング１５２に結合した不揮発性メモリ１５４とを含む。幾つかの手法において、不揮発性メモリ１５４は、図２で示されるように、ハウジング１５２の内部に埋め込むことができる。さらなる手法において、不揮発性メモリ１５４は、ハウジング１５２を改造せずにハウジング１５２の内部又は外部に取り付けることができる。例えば、不揮発性メモリは、粘着ラベル内に埋め込むことができる。１つの好ましい実施形態において、不揮発性メモリ１５４は、テープ・カートリッジ１５０の内部又は外部に埋め込まれ又は結合した、フラッシュ・メモリ・デバイス、ＲＯＭデバイスなどとすることができる。不揮発性メモリは、テープ・ドライブ及びテープ操作ソフトウェア（ドライブ・ソフトウェア）、及び／又は他のデバイスによりアクセス可能であり、一般にカートリッジ・メモリ（ＣＭ）と呼ばれる。
【００３０】
提案する方法は、種々の実施形態によれば、リニア・テープ・ファイル・システム（ＬＴＦＳ）と組み合わせて使用したときに多大な効果を生じるものであり、ドライブの読取り／書込みを行う一方でドライブのメモリ内でＨＲＴＤ情報を構築するという前提に基づくものである。実際、ＬＴＦＳ（複数のパーティションを有する）によりＬＴＯテープ・ドライブ上でランダムにファイルへのアクセスが行われる場合の、テープ・ドライブの性能が向上する。１つの実施形態において、ＨＲＴＤをＬＴＯのフォーマットに準拠して管理して、ＬＴＦＳにおけるファイル・アクセス性能を向上させることができる。また、１つの手法において、ＨＲＴＤは、その使用がＬＴＯフォーマットのプロトコルにより各々の個別のベンダの裁量に任されているデータ終端（ＥＯＤ）と呼ばれる特別なデータの一部として格納することができる。
【００３１】
また、複数のパーティションが存在する場合（テープ上には２つ又はそれ以上の論理区画が存在することに留意のこと）、それぞれのパーティション内に存在するＥＯＤのどれがより新しいかを判定するために判定処理が行われ、これによりＨＲＴＤが管理されるが、これが、従来用いられている技術とは異なる点である。
【００３２】
より具体的には、ＨＲＴＤをＥＯＤから読み取るときに、１つの手法において、カートリッジ・メモリ（ＣＭ）内に格納されている低解像度ＴＤである標準型テープ・ディレクトリ（ＴＤ）がＨＲＴＤと一致するか否かを確認する有効性チェックを行うことができる。
【００３３】
ＥＯＤから読み取ったＨＲＴＤの中で、他のパーティション（読み取ったパーティションとは異なる）のＨＲＴＤもまた、使用のために利用可能にされる。しかしながら、それが多重パーティション構成に準拠する場合には、別のパーティションのデータは、特定のＥＯＤの書込みの後で再書き込みされた可能性があるので、ある種のチェックを利用することができる。この状況の解決策を提供するために、標準型ＴＤがＨＲＴＤと一致する否かを確認する有効性（バリディティ）チェックが行われる。
【００３４】
例えば、ＬＴＯフォーマット仕様に従うと、ＣＭ内の標準型ＴＤが破損していた場合にはＥＯＤから読み取ったＣＭコンテンツのＴＤを用いてＴＤ修復を行うことが適切である。しかしながら、この修復方法は、現在のパーティションにのみ利用可能である。この修復方法を用いて他のパーティションのＴＤを修復することは不可能である。即ち、従来のテープにおいては、ＥＯＤから読み取ることができて使用することができるＴＤは（それが標準型ＴＤ又はＨＲＴＤのどちらであってもかかわりなく）、そのＥＯＤに書き込まれたＴＤに限られる。
【００３５】
原理上、全てのパーティションの中で最後に書き込まれたＥＯＤは全てのパーティションのＴＤを有することができるので、パーティションのうちのどれが「書込み」のためにアクセスされたかに関係なく、常に指定されたパーティションのＥＯＤに再書込みし、カートリッジをロードした直後にこのＥＯＤを最初に読み取ることにより、上記のＨＲＴＤ有効性チェックの必要性を排除することが可能である。しかしながら、この利点を実現するためには、従来は不必要であった、パーティションのＥＯＤの再書込みを行わなければならない。このような再書込みは、テープ・ドライブの書込み性能に対して悪影響を与えることになるので避けるべきである。ＨＲＴＤを効果的に使用できるものにするためのある種の有効性チェックを用いれば、書込み性能について懸念する必要はない。したがって、そのようなチェックは有用である。
【００３６】
そのうえ、図３に示されるように、ＨＲＴＤを格納するためのＥＯＤ内の空間は、正にＬＴＯ規格フォーマットに従ったベンダ確保領域である。ＥＯＤは、全てのデータ・セットの後に配置される。ＬＴＯフォーマット規格は、最初の８ＫＢにＣＭデータが格納され、一方、ＥＯＤの後半部分はベンダ独自の空間であることを指示する。ＨＲＴＤは、１つの実施形態において、このベンダ独自領域内に配置することができる。他のドライブ・ベンダが、ＨＲＴＤではない別の用途のための何らかのデータをこの領域に書き込む場合がある。この場合、このベンダ確保領域には異なるデータが格納されている可能性があるので、ＨＲＴＤとＣＭ内に格納されたＴＤとの間の有効性チェックなしでＨＲＴＤを用いることはできない。この方法は、単一パーティション型テープ媒体に適用することもでき、又は、とりわけ、少なくともデータ・パーティション及びインデックス・パーティションを含むことができる多重パーティション型テープ媒体に適用することもできる。
【００３７】
１つの実施形態において、図４に示されるように、テープ・ドライブ・システム３００は、テープ媒体３０２上のデータへの順次アクセスを可能にするように適合されたファイル・システム（これは、１つの実施形態において、プロセッサ３０６内で使用可能にすることができる）と、データを管理するように適合されたファイル・アクセス・コントローラ３０４とを含み、ファイル・アクセス・コントローラ３０４は、テープ媒体３０２上にファイルを書き込むように適合された論理と、書き込まれたファイルのポインタをテープ媒体３０２のインデックス内に書き込むように適合された論理であって、該ポインタはファイル・アクセス・コントローラ３０４により管理される、論理と、テープ媒体３０２上のデータの詳細な位置情報を含むＨＲＴＤを作成するように適合された論理と、テープ媒体３０２を収容したテープ・カートリッジ３０８がアンロードされるときに、ＨＲＴＤをインデックスのＥＯＤの一部として格納するように適合された論理と、を含む。
【００３８】
別の実施形態において、テープ・ドライブ・システム３００は、ＬＴＯフォーマット規格に準拠するものとすることができ、ファイル・システムは、ＬＴＦＳに準拠するものとすることができる。別の実施形態において、テープ・ドライブ・システム３００は、指定ファイルを読み出す要求を、ファイル・システムを介して受け取るように適合された論理と、格納された指定ファイルを含むテープ媒体３０２を収容したテープ・カートリッジ３０８をロードするように適合された論理と、指定ファイルの位置に対応するディレクトリ情報を取得するためにテープ媒体３０２からポインタを読み出すように適合された論理と、ポインタを読み出すのと並行して、ＨＲＴＤを取得するためにインデックスからＥＯＤを読み出すように適合された論理と、を含むことができる。
【００３９】
別の手法において、テープ・ドライブ・システムは、格納されているＨＲＴＤが有効であるか否か判定するように適合された論理と、格納されているＨＲＴＤが有効である場合に、取得されたＨＲＴＤを有効化し、指定ファイルに対応するＨＲＴＤの詳細な位置情報に従って、指定ファイルへのアクセスを要求するように適合された論理と、格納されているＨＲＴＤが無効である場合に、指定ファイルの位置情報にアクセスするためにＣＭ３１０内に格納されている標準型テープ・ディレクトリ（ＳＴＤ）を用いるように適合された論理と、ＨＲＴＤを用いる場合にはより高速で、又はＳＴＤを用いる場合にはより低速で、指定ファイルにアクセスするように適合された論理と、をさらに含むことができる。
【００４０】
さらに別の実施形態において、テープ・ドライブ・システムは、テープ媒体３０２の第１の部分に格納されているデータに対して変更を行うように適合された論理と、変更されたデータに関する詳細な位置データをテープ媒体３０２の第１の部分のＥＯＤに格納するように適合された論理と、テープ媒体３０２を収容したテープ・カートリッジ３０８がアンロードされるときに、変更されたデータに関する詳細な位置データを、インデックスのＥＯＤに格納されたＨＲＴＤにおいて反映するように適合された論理と、をさらに含むことができる。
【００４１】
別の実施形態によれば、ＨＲＴＤをインデックスのＥＯＤの一部として格納するように適合された論理は、テープ媒体３０２上のデータに変更が生じた後でインデックスを更新するために、テープ媒体３０２をインデックスまで移動させるよう要求するように適合された論理と、更新されたインデックスを書き込むように適合された論理と、更新されたインデックスを書き込むのと並行して、更新されたＨＲＴＤをインデックスのＥＯＤ内に書き込むように適合された論理と、テープ・カートリッジ３０８がアンロードされることを要求するように適合された論理と、を含むことができる。
【００４２】
１つの手法において、テープ・ドライブ・システム３００は、テープ媒体３０２を２つ又はそれ以上のパーティションに区分化するように適合された論理を含むことができ、この２つ又はそれ以上のパーティションは、少なくともデータ・パーティション及びインデックス・パーティションを含み、インデックスは、インデックス・パーティションに格納され、データは、データ・パーティションに格納される。
【００４３】
ここで図５を参照すると、１つの実施形態による、テープ・カートリッジをロードするための方法４００のフローチャートが示される。方法４００は、本発明に従って、特に図１−図４において示される環境のいずれかにおいて種々の実施形態において実施することができる。当然ながら、当業者が本説明を読めば理解するように、図５に具体的に説明された動作よりも多くの又は少ない動作を方法４００に含めることができる。方法４００のステップの各々は、動作環境のいずれかの適切な構成要素によって、例えばＬＴＦＳの使用によって、実施することができる。
【００４４】
図５に示されるように挙動するアプリケーション（具体的にはＬＴＦＳ）がそれを要求するので、種々の実施形態において、ＨＲＴＤをインデックス・パーティションのＥＯＤに対して／内に追加／格納すること及びＨＲＴＤを使用することは、テープ・ドライブにおけるデータ・アクセス性能の向上に有用である。
【００４５】
動作４０２において、ドライブは、テープ媒体を含むカートリッジをロードするように要求される。この要求は、１つの実施形態においてはＬＴＦＳによって送信することができ、又はこのような要求を送信することができるいずれかのアプリケーションにより送信することができる。
【００４６】
動作４０４において、テープ・カートリッジがロードされる。テープ・ドライブはそのように適合されているので、テープ・ドライブがテープ・カートリッジをロードする可能性が最も高い。
【００４７】
動作４０６において、テープ・ドライブを用いてインデックス・パーティション内の最後のレコードを読み出す要求が発行される。１つの実施形態において、この要求はＬＴＦＳにより送信することができ、又はこのような要求を送信することができるいずれかのアプリケーションにより送信することができる。
【００４８】
動作４０８において、テープ・ドライブを用いてインデックス・パーティション内の最後のレコードが読み出され、従って、同時に、アプリケーション（ＬＴＦＳ）を用いてテープからＥＯＤが読み出される。この動作において、インデックス・パーティションのＥＯＤの近傍に格納されているファイルポインタ情報（インデックスファイル）は、テープ・カートリッジがロードされた直後に又は可能な限り早くに読み出される。
【００４９】
動作４１０において、テープ・ドライブを用いてＥＯＤからＨＲＴＤ情報が取得される。１つの実施形態によれば、インデックス・パーティションのＥＯＤは、常にデータ・パーティションへのアクセスの前に読み出される。
【００５０】
動作４１２において、格納されているＨＲＴＤが有効であるか否かが判定される。有効である場合には、方法４００は動作４１４に続き、そうでない場合には、方法４００は動作４２０に続く。
【００５１】
格納されているＨＲＴＤが有効である場合には、動作４１４において、取得されたＨＲＴＤは有効にされるので、これを用いることができる。次いで、動作４１６において、データ・パーティション内のレコードへのアクセスが、例えばＬＴＦＳを用いて要求され、動作４１８において、データ・パーティションは、取得されたＨＲＴＤを用いて、より高速でテープ・ドライブによりアクセスされる。
【００５２】
格納されているＨＲＴＤが有効でない場合には、動作４２０において、ＬＴＦＳを用いて、データ・パーティション内のレコードへのアクセスが要求される。次いで、動作４２２において、データ・パーティションは、標準型ＴＤを用いて、より低速でテープ・ドライブによりアクセスされる。
【００５３】
１つの実施形態により、方法４００は、ＨＲＴＤを、ＬＴＯフォーマット規格に適合したフォーマットでテープ上に格納するために用いることができる。具体的には、この実施形態において、ＬＴＦＳは、インデックス・パーティションのＥＯＤの近傍に格納されているファイルポインタ情報（インデックスファイルと呼ばれる）を、テープ・カートリッジがロードされた直後に読み取る。インデックス・パーティションのＥＯＤは、常にデータ・パーティションへのアクセスが行われる前に読み取られる。ＬＴＦＳは、インデックス・パーティションのＥＯＤの近傍に格納されているファイルポインタ情報を、テープ・カートリッジがアンロードされる直前に更新する。データ・パーティションのデータを更新した後で、データはインデックス・パーティション内に一度書き込まれる。ＥＯＤはこの時点で上書きされるので、最新のＨＲＴＤも同じくこの時点で付加的な労力又は時間を殆ど伴わずにテープ上に格納することが可能である。従って、ＨＲＴＤは、その使用がＬＴＯフォーマットの規格により各々の個別のベンダの裁量に任されている、ＥＯＤ内の特別なデータ（各パーティション内の最終タグ・データ）の一部として格納される。
【００５４】
ＨＲＴＤはＥＯＤに格納されているので、ＥＯＤが読み出されるまでＨＲＴＤを用いることは不可能である。ＥＯＤが読み取られるまでＨＲＴＤが有効にならないという事実は、ＥＯＤを読み取ることによってＨＲＴＤが取得されるまでデータ・アクセスの遅延を生じさせることになる。しかしながら、従来は、データ・アクセス前にＥＯＤを読み取ることに著しい不利益が存在するので、ＬＴＯにはこの手法が実装されていなかった。
【００５５】
とはいえ、ＬＴＦＳが作動する限り、カートリッジのロード又はアンロード時にはＬＴＦＳに特有の挙動が存在する。
【００５６】
幾つかの手法によれば、ＬＴＦＳは、テープ・カートリッジをアンロードする直前にもまた、インデックス・パーティションのＥＯＤの近傍に格納されているファイルポインタ情報（インデックスファイル）を更新することができる。次いで、データ・パーティションのデータを更新した後で、ポインタ・データをインデックス・パーティション内に一度書き込むことができる。ＥＯＤはこの時点で上書きされるので、最新のＨＲＴＤをテープ上に格納することが可能である。
【００５７】
さらにまた、特定のパーティション（インデックス・パーティション）内に存在するＥＯＤから読み出されたＨＲＴＤは、他のパーティション（データ・パーティション）上の情報を含む。この理由から、ＨＲＴＤを用いてインデックス・パーティションの読み取りの直後にデータ・パーティションにアクセスするときに、高速での移動（位置探索）を達成することが可能である。
【００５８】
また、特定のパーティション内に存在するＥＯＤが別のパーティションのＨＲＴＤを含んでいても、このＨＲＴＤは必ずしも最新のＨＲＴＤであるとは限らないので、それは考慮から除外される。なぜなら、各パーティションのＥＯＤは他のパーティションから独立して更新され、従って、幾つかのＥＯＤは、他のパーティションに関する最新の情報を含まない場合があるからである。
【００５９】
従って、ＥＯＤから読み出されたＨＲＴＤ中で、他のパーティションのＨＲＴＤに関して有効性チェックを実行することは、良い方法である。
【００６０】
ここで図６を参照すると、１つの実施形態による、取得されたＨＲＴＤを有効化するための方法５００のフローチャートが示される。方法５００は、本発明に従って、特に図１−図４において示される環境のいずれかにおいて、種々の実施形態で実施することができる。当然ながら、当業者が本説明を読めば理解するように、図６に具体的に説明された動作よりも多くの又は少ない動作を方法５００に含めることができる。方法５００のステップの各々は、動作環境のいずれかの適切な構成要素によって行うことができる。
【００６１】
動作５０２において、第１のパーティションのＨＲＴＤに対して有効性チェックを行うことが要求される。
【００６２】
動作５０４において、カートリッジ・メモリ（ＣＭ）から第１のパーティションの第１のパラメータが取得される。ｉｔｈが序数「ｉ」を表すものとして「ｉｔｈ」領域までの範囲内に含まれる最大書込みパス（ＷＰ）及び最大ＤＳ（番号）といったいずれかの適用可能なパラメータを取得することができ、本明細書においてはこれを標準テープ・ディレクトリ・パラメータ又は短縮してＳＴＤと呼ぶ。ＤＳ番号は、テープに書き込まれた各データ・ユニットに対してテープのヘッドから割り振られる（ゼロから開始する）。ＷＰは、同じＤＳ番号に関してデータが上書きされたときにどれがより新しいかを示す。同じＤＳに関して、より大きなＷＰ値を有するものがより新しい（最新の）ものである。取得することができる別のパラメータは、ＥＯＤが存在する領域のインデックス値であり、これを「ｘ」と呼ぶ。
【００６３】
動作５０６において、ＨＲＴＤから第１のパーティションの第２のパラメータが取得される。ｉｔｈ領域までの範囲内に含まれる最大ＷＰ及び最大ＤＳ（番号）といった、第１のパラメータと比較することができるいずれかの適用可能なパラメータを取得することができる。取得することができる別のパラメータは、ＥＯＤが存在する領域のインデックス値であり、これを「ｙ」と呼ぶ。
【００６４】
動作５０８において、（それぞれＣＭ及びＨＲＴＤからの）第１のパラメータと第２のパラメータとが適正に相関しているかどうかの判定がなされる。１つの実施形態において、ＳＴＤ（ｘ）＝ＨＲＴＤ（ｙ）及びＳＴＤ（ｘ−１）＝ＨＲＴＤ（（Ｙ／Ｘ）＊ｘ）が成り立つかどうか判定することができる。Ｘは、ＳＴＤにおけるラップの領域の数であり、一方、Ｙは、ＨＲＴＤにおけるラップの領域の数である。これらの式が真であれば、パラメータは適正に相関していると判定され、真でなければ、パラメータは適正に相関していないと判定される。
【００６５】
動作５１０において、パラメータが適正に相関している場合に、ＨＲＴＤからの少なくとも幾つかの空でないパラメータが有効化される。１つの実施形態において、これは、ＳＴＤ（ｘ）に含まれるＨＲＴＤ（ｊ）の中から空でないパラメータ選択し、有効にすることによって行われる。この実施形態において、ｊの範囲は、（（Ｙ／Ｘ）＊ｘ）＜ｊ≦ｙである。
【００６６】
次いで、ｉをｘ−１として、ＳＴＤ（ｉ）＝ＨＲＴＤ（（ｉ＋１）＊Ｙ／Ｘ−１）及びＳＴＤ（ｉ−１）＝ＨＲＴＤ（ｉ＊Ｙ／Ｘ−１）が成り立つかどうか判定される。これが成り立てば、ＳＴＤ（ｉ）に含まれるＨＲＴＤ（ｊ）の中で、空でないパラメータが有効とされる。ｊの範囲は、（（Ｘ／Ｙ）＊ｉ）≦ｊ≦Ｘ／Ｙ＊（ｉ＋１）である。これが実行された後で、ｉが０であるかどうかが判定され、０であれば方法５００は終了する。そうでなければ、ｉの数値を減らして、再び、ＳＴＤ（ｉ）＝ＨＲＴＤ（（ｉ＋１）＊Ｙ／Ｘ−１）及びＳＴＤ（ｉ−１）＝ＨＲＴＤ（ｉ＊Ｙ／Ｘ−１）が成り立つかどうか判定される。これらの関係が真でなくなった時点で、ＳＴＤ（ｉ）に含まれるＨＲＴＤ（ｊ）は無効とされ、ここでｊの範囲は（（Ｘ／Ｙ）＊ｉ）≦ｊ≦Ｘ／Ｙ＊（ｉ＋１）である。
【００６７】
動作５１４において、パラメータが適切に相関していなかった場合に、ＨＲＴＤからの少なくとも幾つかのパラメータが無効化される。１つの実施形態において、これは、ＳＴＤ（ｘ）に含まれるＨＲＴＤ（ｊ）を無効化することを含むことができ、ここでｊの範囲は（（Ｙ／Ｘ）＊ｘ）＜ｊ≦Ｙである。ＨＲＴＤからのパラメータが無効化された場合には、ＳＴＤからの対応するパラメータがそれらの代わりに用いられる。
【００６８】
動作５１２において、全てのパラメータが有効化されるまで方法５００の少なくとも動作５０８、５１０、５１４が繰り返される。
【００６９】
１つの実施形態により、方法５００に類似した方法の別の説明が、図８を参照し、図６と同様の参照符号で表示して、下記で提供される。再び図８を参照すると、テープのパーティションの有効性チェックを行うためのこの方法７００において、最初に、ＣＭ（典型的にはカートリッジに取り付けられた８ＫＢの不揮発性メモリ）内に格納されている正規又は標準型のＴＤ情報（ＳＴＤ）がＥＯＤ内に格納されているＨＲＴＤ情報と論理的に一致するかどうかが判定される。精度が高いＨＲＴＤ情報は、精度が低いＳＴＤのコンテンツと同じであることが予期される。これらを互いにデリミタごとに比較すると、これらは、精度に関しては互いに異なっているとしても、中に含む位置コンテンツに関しては一致するはずである。
【００７０】
ＨＲＴＤがＬＴＯのようなオープン規格においてベンダ独自の特定の機能としてＥＯＤに付加される場合、ある場合には、ＨＲＴＤの一部は欠落しており、他の場合には、ＥＯＤには別のベンダにより書き込みがなされている。これらの理由から、ＥＯＤに含まれているＨＲＴＤ情報がＣＭ内に格納されている低精度のＳＴＤ（これはＬＴＯオープン規格に準拠している）と一致するか否かをチェックすることにより、ＨＲＴＤの真正性を確認すべきである。
【００７１】
１つの実施形態において、ラップが、ＳＴＤにおいてその数が「Ｘ」で示される複数の領域に分割されると仮定する。また、ラップが、ＨＲＴＤにおいてその数が「Ｙ」で示される複数の領域に分割されると仮定し、ここでＸ≦Ｙとする。この例において、Ｘ＝２及びＹ＝１０とする。また、各領域の値は、以下の関数を用いて計算することができるものとする。即ち、ＳＴＤ（ｉ）：ｉｔｈ領域までの範囲内に含まれる最大ＷＰ及び最大ＤＳ（番号）。ＨＲＴＤ（ｉ）：ｉｔｈ領域までの範囲内に含まれる最大ＷＰ及び最大ＤＳ。さらに、ｘ及びｙを以下のように定義する。即ち、ｘは、ＥＯＤが存在する領域（Ｒｅｇｉｏｎ）のＳＴＤインデックス（この例では、３）であり、ｙは、ＥＯＤが存在する領域のＨＲＴＤインデックス（この例では、１７）である。
【００７２】
従って、この例に関して、表１は、計算された値を示し、ここで括弧内の数は（ＤＳ番号、ＷＰ）となっている。
【表１】
2014081988.tif 000003
【００７３】
見て分かるように、ＨＲＴＤを用いると、データへのテープの移動は、ＳＴＤ情報を用いるよりも高速に行われた。従って、データ・パーティション内のデータの位置を探索するためにＨＲＴＤ情報を用いることの利点が存在する。
【００７４】
ここで図７を参照すると、１つの実施形態による、インデックスファイルを更新するための方法６００のフローチャートが示される。方法６００は、本発明に従って、特に図１−図４において示される環境のいずれかにおいて、種々の実施形態で実施することができる。この方法６００は、１つの手法において、テープ・ドライブからテープ・カートリッジをアンロードする直前に行うことができる。当然ながら、当業者が本説明を読めば理解するように、図７に具体的に説明された動作よりも多くの又は少ない動作を方法６００に含めることができる。方法６００のステップの各々は、動作環境のいずれかの適切な構成要素によって行うことができる。
【００７５】
図７に示されるように、方法６００は、動作６０２で開始することができ、ここで、テープを含むテープ・カートリッジのインデックスファイル・システムを更新するために、テープをインデックス・パーティションへと動かす移動が要求される。この要求は、１つの実施形態において、ＬＴＦＳにより始動することができる。
【００７６】
動作６０４において、テープは、当業者に公知のいずれかの技術を用いて、テープ・ドライブを用いてインデックス・パーティションへと移動される。
【００７７】
動作６０６において、インデックスファイルがインデックス・パーティションのインデックスファイル・システム内に書き込まれる。この書込みは、１つの実施形態において、ＬＴＦＳを用いて行うことができる。
【００７８】
動作６０８において、インデックスファイルと並行してＥＯＤが書き込まれる一方、同時にＨＲＴＤをＥＯＤ内に書き込む。これはテープ・ドライブを用いて行うことができ、ＬＴＦＳを用いて調整することができる。
【００７９】
動作６１０において、テープ・ドライブは、テープ・カートリッジをアンロードするように要求される。この要求は、ＬＴＦＳから発することができ、テープ・ドライブはアンロードを行うことができる。
【００８０】
動作６１２において、テープ・カートリッジは、当業者に公知のいずれかの技術を用い、テープ・ドライブを用いてアンロードされる。
【００８１】
以下、従来技術を、本明細書で説明した実施形態と比較する。その特質上精度が低いＳＴＤは、従来のＣＭ内に存在する。しかしながら、企業体のテープ・ドライブとは異なり、ＬＴＯドライブは、テープ・カートリッジのロード直後に高速でデータ読取り位置を正確に特定するための機能（例えばＨＲＴＤ）を提供しない。特に、本明細書で種々の実施形態により説明した提案する方法は、ＬＴＦＳと組み合わせて用いたときに望ましい結果を生み出す。ＨＲＴＤは、その使用がＬＴＯフォーマットのプロトコルにより各々の個別のベンダの裁量に任されているＥＯＤと呼ばれる特別なデータの一部として格納される。
【００８２】
本明細書で説明した実施形態を用いることにより、ＬＴＯテープ・ドライブ上でファイルへのアクセスがランダムに行われる場合の性能が、幾つかの更なる実施形態においてはＬＴＦＳを用いて、向上する。
【００８３】
１つの実施形態によれば、テープ・ドライブ・システムは、テープ媒体上のデータへの順次アクセスを可能にするように適合されたファイル・システムと、データを管理するように適合されたファイル・アクセス・コントローラとを含み、このファイル・アクセス・コントローラは、テープ媒体を、少なくともデータ・パーティション及びインデックス・パーティションを含む２つ又はそれ以上のパーティションに区分化するように適合された論理と、テープ媒体のデータ・パーティション内にファイルを書き込むように適合された論理と、書き込まれたファイルのポインタをテープ媒体のインデックス・パーティション内に書き込むように適合された論理であって、該ポインタはファイル・アクセス・コントローラにより管理される、論理と、テープ媒体のデータ・パーティション内のデータの詳細な位置情報を含むＨＲＴＤを作成するように適合された論理と、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、ＨＲＴＤをインデックス・パーティションのＥＯＤの一部として格納するように適合された論理と、を含む。ファイル・アクセス・コントローラは、テープ・ドライブ・システムの動作を制御するのに適した、当該技術分野において公知のいずれかのタイプのコントローラ又はプロセッサとすることができる。
【００８４】
種々の実施形態によれば、テープ・ドライブ・システムは、ＬＴＯフォーマット規格に準拠することができ、ファイル・システムは、ＬＴＦＳに準拠することができ、テープ・ドライブ・システムは、指定ファイルを読み出す要求を、ファイル・システムを介して受け取るように適合された論理と、格納された指定ファイルを含むテープ媒体を収容したテープ・カートリッジをロードするように適合された論理と、指定ファイルの位置に対応するファイルポインタ情報を取得するためにインデックス・パーティション内のポインタを読み出すように適合された論理と、インデックス・パーティションからポインタを読み出すのと並行して、ＨＲＴＤを取得するためにインデックス・パーティションからＥＯＤを読み出すように適合された論理と、をさらに含むことができる。更なる手法において、格納されているＨＲＴＤが有効であるか否かを判定するように適合された論理と、格納されているＨＲＴＤが有効である場合に、取得されたＨＲＴＤを有効化し、指定ファイルに対応するＨＲＴＤの詳細な位置情報に従って、指定ファイルへのアクセスを要求するように適合された論理と、格納されているＨＲＴＤが無効である場合に、指定ファイルの位置情報にアクセスするために、ＣＭ内に格納されているＳＴＤを用いるように適合された論理と、ＨＲＴＤを用いる場合にはより高速で、又はＳＴＤを用いる場合にはより低速で、指定ファイルにアクセスするように適合された論理と、をテープ・ドライブ・システムに含めることもできる。
【００８５】
さらなる手法において、テープ・ドライブ・システムは、データ・パーティションの第１の部分に格納されているデータに対して変更を行うように適合された論理と、変更されたデータに関する詳細な位置データをデータ・パーティションの第１の部分のＥＯＤに格納するように適合された論理と、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、変更されたデータに関する詳細な位置データを、インデックス・パーティションのＥＯＤに格納されたＨＲＴＤにおいて反映するように適合された論理と、をさらに含むことができる。１つの手法において、ＨＲＴＤをインデックス・パーティションのＥＯＤの一部として格納するように適合された論理は、データ・パーティション内のデータに変更が生じた後でインデックスファイルを更新するために、テープ媒体をインデックス・パーティションまで移動させるよう要求するように適合された論理と、更新されたインデックスファイルをパーティション・インデックス内に書き込むように適合された論理と、更新されたインデックスファイルを書き込むのと並行して、更新されたＨＲＴＤをインデックス・パーティションのＥＯＤ内に書き込むように適合された論理と、データ・カートリッジがアンロードされることを要求するように適合された論理と、を含むことができる。
【００８６】
当業者により認識されるように、本発明の態様は、システム、方法又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロ・コード等を含む）又はソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形を取ることができ、これらは全て本明細書において一般的に「論理」、「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明の態様は、具体化されたコンピュータ使用可能プログラム・コードを内部に有する１つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータ・プログラム製品の形を取ることができる。
【００８７】
１つ又は複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又は非一時的なコンピュータ可読ストレージ媒体とすることができる。非一時的なコンピュータ可読ストレージ媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線、若しくは半導体のシステム、装置、若しくはデバイス、又はそれらの任意の組み合わせとすることができるが、これらに限定されるものではない。非一時的なコンピュータ可読ストレージ媒体のより具体的な例（非網羅的なリスト）には、以下のもの、即ち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能なプログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、ブルーレイディスク読み出し専用メモリ（ＢＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、又は前述のものの任意の組み合わせが含まれる。本明細書の文脈においては、非一時的コンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって、又はそれらとの関連で使用するためのプログラムを収容し又は格納することが可能な任意の有形媒体とすることができる。
【００８８】
コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが、例えば、ベースバンド内に又は搬送波の一部として組み入れられた伝搬データ信号を含むことができる。このような伝搬信号は、電磁気、光、又はそれらの任意の適切な組み合わせを含むがこれらに限定されない種々の形態のいずれかを取ることができる。コンピュータ可読信号媒体は、非一時的なコンピュータ可読ストレージ媒体ではなく、且つ、命令実行システム、装置若しくはデバイス、例えば１つ又は複数のワイヤ、光ファイバなど、によって、又はこれらとの関連で使用するためのプログラムを通信し、伝搬し、又は搬送することができる、任意のコンピュータ可読媒体とすることができる。
【００８９】
コンピュータ可読媒体内で具体化されるログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦ等、又は前述のものの任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を用いて伝送することができる。
【００９０】
本発明の態様の動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、ＳｍａｌｌＴａｌｋ、Ｃ＋＋等のようなオブジェクト指向型プログラミング言語、及び、「Ｃ」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、１つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。プログラム・コードは、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）、ストレージ・エリア・ネットワーク（ＳＡＮ）、及び/又は広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は、例えば、インターネット・サービス・プロバイダ（ＩＳＰ）を用いたインターネットを通じて、外部コンピュータへの接続がなされる場合もある。
【００９１】
別の実施形態において、詳細な位置情報を管理するためのコンピュータ・プログラム製品は、具体化されたコンピュータ可読プログラム・コードを有するコンピュータ可読ストレージ媒体を含む。コンピュータ可読プログラム・コードは、データ・パーティション及びインデックス・パーティションを含む２つ又はそれ以上のパーティションを備えたテープ媒体のデータ・パーティションにファイルを書き込むように構成されたコンピュータ可読プログラム・コードと、書き込まれたファイルのポインタをテープ媒体のインデックス・パーティション内に書き込むように構成されたコンピュータ可読プログラム・コードと、テープ媒体のデータ・パーティション内のデータの詳細な位置情報を含むＨＲＴＤを作成するよう構成されたコンピュータ可読プログラム・コードと、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、ＨＲＴＤをインデックス・パーティションのＥＯＤの一部として格納するように構成されたコンピュータ可読プログラム・コードと、を含む。
【００９２】
本発明の態様は、本明細書において、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実装することができることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて、マシンを製造し、その結果、コンピュータ又は他のプログラム可能データ処理装置のプロセッサにより実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装するための手段を生成するようにすることができる。
【００９３】
これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、その結果、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装する命令を含む製品を製造するようにすることもできる。
【００９４】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスにロードして、コンピュータによって実行されるプロセスが生成されるように、そのコンピュータ、他のプログラム可能データ処理装置又は他のデバイス上で一連の動作ステップを行わせ、その結果、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実行するプロセスを提供するようにすることもできる。
【００９５】
図９は、１つの実施形態によるネットワーク・アーキテクチャ８００を示す。図９において示されるように、第１の遠隔ネットワーク８０４及び第２の遠隔ネットワーク８０６を含む複数の遠隔ネットワーク８０２が設けられる。遠隔ネットワーク８０２と近接ネットワーク８０８との間にゲートウェイ８０１を結合することができる。このネットワーク・アーキテクチャ８００の文脈において、ネットワーク８０４、８０６は各々、ＬＡＮ、インターネットのようなＷＡＮ、公衆交換電話網（ＰＳＴＮ）、内線電話ネットワークなどを含むがこれらに限定されない任意の形態を取ることができる。
【００９６】
使用中に、ゲートウェイ８０１は、遠隔ネットワーク８０２から近接ネットワーク８０８への入口点として働く。従って、ゲートウェイ８０１は、ゲートウェイ８０１に到着した所与のデータ・パケットを方向付けることができるルータ、及び、所与のパケットに対してゲートウェイ８０１を出入りするための実際の経路を供給するスイッチとして機能することができる。
【００９７】
さらに、近接ネットワーク８０８に結合した少なくとも１つのデータ・サーバ８１４が含まれ、これには、遠隔ネットワーク８０２からゲートウェイ８０１を経由してアクセスすることができる。データ・サーバ８１４は、任意のタイプのコンピューティング・デバイス／グループウェアを含むことができることに留意されたい。各データ・サーバ８１４には、複数のユーザ・デバイス８１６が結合されている。このようなユーザ・デバイス８１６は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、手持ち式コンピュータ、プリンタ、及び／又は他のいずれかのタイプの論理を収容したデバイスを含むことができる。ユーザ・デバイス８１１は、幾つかの実施形態においては、ネットワークのいずれかと直接結合することもできることに留意されたい。
【００９８】
周辺機器８２０又は一連の周辺機器８２０、例えば、ファクシミリ機、プリンタ、スキャナ、ハード・ディスク・ドライブ、ネットワーク化された及び／又はローカルのストレージ・ユニット又はシステムなどをネットワーク８０４、８０６、８０８のうちの１つ又は複数に対して結合することができる。データベース及び／又は付加的な構成要素を、ネットワーク８０４、８０６、８０８に結合したいずれかのタイプのネットワーク要素と共に用いることができ、又はこれと統合することができることに留意されたい。本説明の文脈において、ネットワーク要素とは、ネットワークのいずれかの構成要素を指すものとすることができる。
【００９９】
幾つかの手法により、本明細書において説明される方法及びシステムは、仮想システム及び／又は１つ若しくは複数の他のシステムをエミュレートするシステム、例えば、ＩＢＭ  ｚ／ＯＳ環境をエミュレートするＵＮＩＸシステム、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ環境を仮想的にホストするＵＮＩＸシステム、ＩＢＭ  ｚ／ＯＳ環境をエミュレートするＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳシステムなどと共に及び／又はその上で実装することができる。この仮想化及び／又はエミュレーションは、幾つかの実施形態において、ＶＭＷＡＲＥソフトウェアの使用を通じて強化することができる。
【０１００】
さらなる手法において、１つ又は複数のネットワーク８０４、８０６、８０８は、一般に「クラウド」と呼ばれるシステムのクラスタを表すことができる。クラウド・コンピューティングにおいては、処理能力、周辺機器、ソフトウェア、データ、サーバなどのような共有リソースがクラウド内の任意のシステムにオン・デマンド関係で提供され、それにより、多くのコンピューティング・システムにわたるサービスのアクセス及び分散を可能にする。クラウド・コンピューティングは、典型的にはクラウド内で動作するシステム間のインターネット接続を伴うが、当該技術分野において知られているように、システムを接続するその他の技術を使用することもできる。
【０１０１】
図１０は、１つの実施形態による、図９のユーザ・デバイス８１６及び／又はサーバ８１４に関連付けられた代表的なハードウェア環境を示す。図１０は、幾つかの実施形態により、マイクロプロセッサのような中央演算処理装置（ＣＰＵ）９１０と、ローカル・バス、パラレル・バス、シリアル・バスなどのような種々のタイプとすることができる１つ又は複数のバス９１２を介して相互接続されたその他の多数ユニットとを有するワークステーションの、典型的なハードウェア構成を示す。
【０１０２】
図１０において示されるワークステーションは、ランダム・アクセス・メモリ（ＲＡＭ）９１４と、読み出し専用メモリ（ＲＯＭ）９１６と、ディスク・ストレージ・ユニット９２０のような周辺機器を１つ又は複数のバス９１２と接続するためのＩ／Ｏアダプタ９１８と、キーボード９２４、マウス９２６、スピーカ９２８、マイクロホン９３２、及び／又はタッチスクリーン、デジタルカメラなど（図示せず）のような他のユーザ・インターフェース・デバイスを１つ又は複数のバス９１２に接続するためのユーザ・インターフェース・アダプタ９２２と、ワークステーションを通信ネットワーク９３５（例えば、データ処理ネットワーク）に接続するための通信アダプタ９３４と、１つ又は複数のバス９１２を表示デバイス９３８に接続するためのディスプレイ・アダプタ９３６と、を含む。
【０１０３】
ワークステーションは、その上に常駐するＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳオペレーティング・システム（ＯＳ）、ＭＡＣ  ＯＳ、ＵＮＩＸ  ＯＳなどのオペレーティング・システムを有することができる。好ましい実施形態は、上述のもの以外のプラットフォーム及びオペレーティング・システム上に実装することもできることが認識されよう。好ましい実施形態は、オブジェクト指向型プログラミング方法と共に、ＪＡＶＡ、ＸＭＬ、Ｃ、及び／又はＣ＋＋言語、又は他のプログラミング言語を用いて記述することができる。複雑なアプリケーションを開発するために用いられることが増えてきたオブジェクト指向型プログラミング（ＯＰＰ）を用いることができる。
【０１０４】
さらなる手法において、本明細書で説明されたテープ・ドライブ・システムの機能は、方法又はコンピュータ・プログラム製品に含めることができる。このような実施形態の１つにおいて、図１１を参照して、詳細な位置情報を管理するための方法１０００を説明する。
【０１０５】
動作１００２において、テープ媒体のデータ・パーティション内にファイルが書き込まれ、ここで、テープ媒体は、データ・パーティション及びインデックス・パーティションを含む２つ又はそれ以上のパーティションを含む。データは、テープ・ドライブ・システムのいずれかの適切な構成要素を用いて書き込むことができる。
【０１０６】
動作１００４において、書き込まれたファイルのポインタがテープ媒体のインデックス・パーティション内に書き込まれ、それにより、その後の検索において、この書き込まれたファイルの位置を探索することが可能になる。
【０１０７】
動作１００６において、ＨＲＴＤが作成される。ＨＲＴＤは、本明細書においてより詳細に説明されるように、テープ媒体のデータ・パーティション内のデータの詳細な位置情報を含む。
【０１０８】
動作１００８において、本明細書においてより詳細に説明されているように、テープ媒体を収容したテープ・カートリッジがアンロードされるときに、ＨＲＴＤが、インデックス・パーティションのＥＯＤの一部として格納される。
【０１０９】
種々の実施形態を上で説明してきたが、これらは例示のみを目的として提示されたものであり、限定を目的とするものでないことを理解されたい。よって、本発明の実施形態の広がり及び範囲は、上述の例示的な実施形態のいずれによっても限定されるべきものではなく、添付の特許請求の範囲及びその均等の範囲に従ってのみ定義されるべきものである。
【符号の説明】
【０１１０】
１００：テープ・ドライブ
１２０：テープ供給カートリッジ
１２１：巻き取りリール
１２２、３０２：テープ（テープ媒体）
１２５：ガイド
１２６：テープ・ヘッド
１２８：コントローラ
１３０：ケーブル
１３２：アクチュエータ
１３４：インターフェース
１３６：メモリ
１５０、３０８：テープ・カートリッジ
１５２：ハウジング
１５４：不揮発性メモリ
３００：テープ・ドライブ・システム
３０４：ファイル・アクセス・コントローラ
３０６：プロセッサ
３１０：カートリッジ・メモリ（ＣＭ）
８００：ネットワーク・アーキテクチャ
８０１：ゲートウェイ
８０２、８０４、８０６：遠隔ネットワーク
８０８：近接ネットワーク
８１１、８１６：ユーザ・デバイス
８１４：データ・サーバ
８２０：周辺機器
【図１】
2014081988.tif 000004
【図２】
2014081988.tif 000005
【図３】
2014081988.tif 000006
【図４】
2014081988.tif 000007
【図５】
2014081988.tif 000008
【図６】
2014081988.tif 000009
【図７】
2014081988.tif 000010
【図８】
2014081988.tif 000011
【図９】
2014081988.tif 000012
【図１０】
2014081988.tif 000013
【図１１】
2014081988.tif 000014