(57)【要約】  コンピュータ実装方法は、一実施形態に従って、磁気テープに格納されたデータに対する読み取り要求を受信することと、要求されたデータの部分のコピーがキャッシュ内にあるかどうかを判定することと、キャッシュ内にないことが決定された要求されたデータの部分にアクセスするようにテープ・ドライブに指示することと、キャッシュ内にない要求されたデータの部分の各々に対して、位置特定コマンドを実行することまたは読み取りコマンドを複数回実行することのいずれが、より短い時間で要求されたデータの部分を取り出すかを判定することと、より短い時間で要求されたデータの部分を取り出すということが決定されたコマンドを発行することと、キャッシュ内にない要求されたデータの部分を、キャッシュ内にある要求されたデータの部分と組み合わせることと、読み取り要求を満たすこととを含む。
2021504867.tif 000002
【特許請求の範囲】
【請求項１】
磁気テープに格納されたデータに対する読み取り要求を受信することであって、前記データが複数の部分を含んでいる、前記受信することと、
前記磁気テープ上の前記要求されたデータにアクセスするようにテープ・ドライブに指示することと、
前記要求されたデータの部分ごとに、
前記要求されたデータの前記部分を前記磁気テープから読み取るように前記テープ・ドライブに指示すること、
前記要求されたデータの前記部分のコピーがキャッシュ内にあるかどうかを判定すること、
前記要求されたデータの前記部分のコピーが前記キャッシュ内にあるということの決定に応答して、前記磁気テープから読み取られた前記要求されたデータの前記部分を破棄するように前記テープ・ドライブに指示すること、および
前記要求されたデータの前記部分のコピーが前記キャッシュ内にないということの決定に応答して、前記磁気テープから読み取られた前記要求されたデータの前記部分を前記テープ・ドライブから受信すること、
の反復プロセスを実行することと
を含んでいる、コンピュータ実装方法。
【請求項２】
前記テープ・ドライブから受信された前記要求されたデータの前記部分を読み取りバッファに追加することと、
前記キャッシュ内にあるということが決定された前記要求されたデータの前記部分の前記コピーを要求することと、
前記要求されたデータの前記部分の前記コピーを前記読み取りバッファに追加することと
を含んでいる、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記磁気テープ上の前記要求されたデータの先頭にアクセスするように前記テープ・ドライブに指示することが、
前記磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、前記磁気テープを前記第２の位置から前記第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定することであって、前記第２の位置が、前記磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応し、前記第１の位置が、前記要求されたデータの前記先頭に対応する、前記判定することと、
前記第１の時間が前記第２の時間より少ないということの決定に応答して、前記位置特定動作を実行するように前記テープ・ドライブに指示することと、
前記第１の時間が前記第２の時間より少なくないということの決定に応答して、前記複数の読み取り動作を実行するように前記テープ・ドライブに指示することと
を含んでいる、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記複数の読み取り動作の各々の間に読み取られた前記データは、前記読み取り動作のうちのその後の１つが実行される前に破棄される、請求項３に記載のコンピュータ実装方法。
【請求項５】
前記第１の時間が前記第２の時間より少ないかどうかを判定することが、前記第２の位置を前記第１の位置から分離する距離が既定の範囲内であるかどうかを判定することを含んでいる、請求項３に記載のコンピュータ実装方法。
【請求項６】
前記磁気テープ上の前記要求されたデータの先頭にアクセスするように前記テープ・ドライブに指示することが、
前記要求されたデータの前記先頭に対応する前記磁気テープ上の第１の位置を決定することと、
前記磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応する第２の位置が前記第１の位置より大きいかどうかを判定することと、
前記第２の位置が前記第１の位置より大きいということの決定に応答して、前記第１の位置に対して位置特定コマンドを実行するように前記テープ・ドライブに指示することと、
前記第２の位置が前記第１の位置より大きくないということの決定に応答して、前記磁気テープを前記第２の位置から前記第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、前記磁気テープを前記第２の位置から前記第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定することと、
前記第１の時間が前記第２の時間より少ないということの決定に応答して、前記位置特定動作を実行するように前記テープ・ドライブに指示することと、
前記第１の時間が前記第２の時間より少なくないということの決定に応答して、前記複数の読み取り動作を実行するように前記テープ・ドライブに指示することと
を含んでいる、請求項１に記載のコンピュータ実装方法。
【請求項７】
磁気テープに格納されたデータに対する読み取り要求を受信することであって、前記データが複数の部分を含んでいる、前記受信することと、
前記要求されたデータの部分のコピーがキャッシュ内にあるかどうかを判定することと、
前記磁気テープ上の、前記キャッシュ内にないことが決定された前記要求されたデータの部分にアクセスするようにテープ・ドライブに指示することと、
前記キャッシュ内にない前記要求されたデータの前記部分の各々に対して、位置特定コマンドを実行すること、または読み取りコマンドを複数回実行することのいずれが、より短い時間で前記キャッシュ内にない前記要求されたデータの前記部分を取り出すかを判定することと、
より短い時間で前記キャッシュ内にない前記要求されたデータの前記部分を取り出すということが決定されたコマンドを発行することと、
前記キャッシュ内にない前記要求されたデータの前記部分を、前記キャッシュ内にある前記要求されたデータの前記部分と組み合わせることと、
前記読み取り要求を満たすことと
を含んでいる、コンピュータ実装方法。
【請求項８】
前記磁気テープ上の、前記キャッシュ内にないことが決定された前記要求されたデータの部分にアクセスするようにテープ・ドライブに指示することが、
前記磁気テープが前記テープ・ドライブにすでに装着されているかどうかを判定することと、
前記磁気テープが前記テープ・ドライブにまだ装着されていないということの決定に応答して、前記磁気テープを移動する要求を前記テープ・ドライブに発行することと、
前記磁気テープ上の第１のパーティションの先頭にあるインデックスを読み取るように前記テープ・ドライブに指示することと
を含んでいる、請求項７に記載のコンピュータ実装方法。
【請求項９】
磁気テープに格納されたデータに対する読み取り要求を受信することと、
前記磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、前記磁気テープを前記第２の位置から前記第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定することであって、前記第２の位置が、前記磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応し、前記第１の位置が、前記要求されたデータの先頭に対応する、前記判定することと、
前記第１の時間が前記第２の時間より少ないということの決定に応答して、前記位置特定動作を実行するようにテープ・ドライブに指示することと、
前記第１の時間が前記第２の時間より少なくないということの決定に応答して、前記複数の読み取り動作を実行するように前記テープ・ドライブに指示することと、
前記複数の読み取り動作を実行している間に前記磁気テープから読み取られた前記データを破棄するように前記テープ・ドライブに指示することと
を含んでいる、コンピュータ実装方法。
【請求項１０】
前記第１の時間が前記第２の時間より少ないかどうかを判定することが、前記第２の位置を前記第１の位置から分離する距離が既定の範囲内であるかどうかを判定することを含んでいる、請求項９に記載のコンピュータ実装方法。
【請求項１１】
前記データが、リニア・テープ・ファイル・システム形式に従って前記磁気テープに格納されている、請求項１ないし１０のいずれかに記載のコンピュータ実装方法。
【請求項１２】
プログラム命令が具現化されているコンピュータ可読記憶媒体を備えており、前記コンピュータ可読記憶媒体自体が一過性の信号ではなく、前記プログラム命令が、請求項１ないし１１のいずれかに記載の方法をプロセッサに実行させるように、前記プロセッサによって読み取り可能または実行可能あるいはその両方である、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ・ストレージ・システムに関し、特に、本発明は、テープ・ドライブを使用して位置特定されたデータを読み取ることに関する。
【背景技術】
【０００２】
磁気ストレージ・システムでは、磁気変換器が磁気記録媒体からデータを読み取り、磁気記録媒体にデータを書き込む。データが格納される媒体上の位置に磁気記録変換器を移動することによって、データが磁気記録媒体に書き込まれる。磁気記録変換器が、データを磁気媒体にエンコードする磁場を生成する。同様に磁気読み取り変換器を配置してから、磁気媒体の磁場を感知することによって、データが媒体から読み取られる。読み取り動作および書き込み動作は、媒体上の望ましい位置からデータを読み取ることができること、および媒体上の望ましい位置にデータを書き込むことができることを保証するために、独立して、媒体の動きと同期されることがある。
【０００３】
以前に磁気テープに書き込まれたデータにアクセスすることは、典型的には、データが書き込まれた磁気テープを特定することと、磁気テープを取り出すことと、磁気テープをテープ・ドライブに装着することと、テープ・ドライブ内の磁気ヘッドを、データが書き込まれている磁気テープの特定の部分に揃えることと、データを実際に読み取ることとを含む。データ・アクセス時間を短縮しようとする試みにおいて、磁気テープと組み合わせてキャッシュを使用することが導入された。データが磁気テープに書き込まれるか、または磁気テープから読み取られるか、あるいはその両方が行われるときに、より簡単かつ素早くデータにアクセスできるように、データが一時的にキャッシュに格納される。しかしながら、使用中、キャッシュ内の使用可能な空き容量が減少するにつれて、キャッシュに格納されたデータがフラッシュされ、それによって、他のデータを格納するためにキャッシュを解放する。したがって、キャッシュのサイズより大きいサイズを有する特定のファイルを書き込む場合、任意の時点で、そのファイルの一部のみがキャッシュ内に残り、それによってそのファイルは、メモリの不連続な領域に割り当てられる。
【発明の概要】
【０００４】
コンピュータ実装方法は、本発明の一実施形態に従って、磁気テープに格納されたデータに対する読み取り要求を受信することであって、このデータが複数の部分を含んでいる、受信することと、要求されたデータの部分のコピーがキャッシュ内にあるかどうかを判定することと、磁気テープ上の、キャッシュ内にないことが決定された要求されたデータの部分にアクセスするようにテープ・ドライブに指示することと、キャッシュ内にない要求されたデータの部分の各々に対して、位置特定コマンドを実行すること、または、読み取りコマンドを複数回実行することのいずれが、より短い時間でキャッシュ内にない要求されたデータの部分を取り出すかを判定することと、より短い時間でキャッシュ内にない要求されたデータの部分を取り出すということが決定されたコマンドを発行することと、キャッシュ内にない要求されたデータの部分を、キャッシュ内にある要求されたデータの部分と組み合わせることと、読み取り要求を満たすこととを含む。
【０００５】
コンピュータ実装方法は、本発明の別の実施形態に従って、磁気テープに格納されたデータに対する読み取り要求を受信することであって、このデータが複数の部分を含んでいる、受信することと、磁気テープ上の要求されたデータにアクセスするようにテープ・ドライブに指示することと、要求されたデータの部分ごとに、要求されたデータの部分を磁気テープから読み取るようにテープ・ドライブに指示すること、要求されたデータの部分のコピーがキャッシュ内にあるかどうかを判定すること、要求されたデータの部分のコピーがキャッシュ内にあるということの決定に応答して、磁気テープから読み取られた要求されたデータの部分を破棄するようにテープ・ドライブに指示すること、および、要求されたデータの部分のコピーがキャッシュ内にないということの決定に応答して、磁気テープから読み取られた要求されたデータの部分をテープ・ドライブから受信すること、の反復プロセスを実行することとを含む。
【０００６】
コンピュータ・プログラム製品は、本発明の別の実施形態に従って、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。このコンピュータ可読記憶媒体は、それ自体が一過性の信号ではない。さらに、これらのプログラム命令は、プロセッサに方法を実行させるために、プロセッサによって読み取り可能または実行可能あるいはその両方であり、この方法は、磁気テープに格納されたデータに対する読み取り要求をプロセッサによって受信することであって、このデータが複数の部分を含んでいる、受信することと、磁気テープ上の要求されたデータにアクセスするように、プロセッサによってテープ・ドライブに指示することと、要求されたデータの部分ごとに、要求されたデータの部分を磁気テープから読み取るようにテープ・ドライブに指示すること、要求されたデータの部分のコピーがキャッシュ内にあるかどうかを判定すること、要求されたデータの部分のコピーがキャッシュ内にあるということの決定に応答して、磁気テープから読み取られた要求されたデータの部分を破棄するようにテープ・ドライブに指示すること、および要求されたデータの部分のコピーがキャッシュ内にないということの決定に応答して、磁気テープから読み取られた要求されたデータの部分をテープ・ドライブから受信することの反復プロセスをプロセッサによって実行することとを含む。
【０００７】
コンピュータ実装方法は、本発明のさらに別の実施形態に従って、磁気テープに格納されたデータに対する読み取り要求を受信することと、磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、磁気テープを第２の位置から第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定することと、第１の時間が第２の時間より少ないということの決定に応答して、位置特定動作を実行するようにテープ・ドライブに指示することと、第１の時間が第２の時間より少なくないということの決定に応答して、複数の読み取り動作を実行するようにテープ・ドライブに指示することと、複数の読み取り動作を実行している間に磁気テープから読み取られたデータを破棄するようにテープ・ドライブに指示することとを含む。本説明によれば、「第２の位置」が、磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応するよう意図されており、「第１の位置」が、要求されたデータの先頭に対応するよう意図されているということに、注意するべきである。
【０００８】
コンピュータ・プログラム製品は、本発明の別の実施形態に従って、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。このコンピュータ可読記憶媒体は、それ自体が一過性の信号ではない。さらに、これらのプログラム命令は、プロセッサに方法を実行させるために、プロセッサによって読み取り可能または実行可能あるいはその両方であり、この方法は、磁気テープに格納されたデータに対する読み取り要求をプロセッサによって受信することと、磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、磁気テープを第２の位置から第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかをプロセッサによって判定することと、第１の時間が第２の時間より少ないということの決定に応答して、位置特定動作を実行するようにプロセッサによってテープ・ドライブに指示することと、第１の時間が第２の時間より少なくないということの決定に応答して、複数の読み取り動作を実行するようにプロセッサによってテープ・ドライブに指示することと、複数の読み取り動作を実行している間に磁気テープから読み取られたデータを破棄するようにプロセッサによってテープ・ドライブに指示することとを含む。本説明によれば、「第２の位置」が、磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応するよう意図されており、一方、「第１の位置」が、要求されたデータの先頭に対応するよう意図されているということに、やはり注意するべきである。
【０００９】
本発明のこれらの実施形態のいずれかは、磁気ヘッド、磁気媒体（例えば、記録テープ）を磁気ヘッドの上に通すための駆動機構、および磁気ヘッドに電気的に結合されたコントローラを含むことができる、テープ・ドライブ・システムなどの磁気データ・ストレージ・システムにおいて実装されてよい。
【００１０】
本発明のその他の態様および実施形態は、本発明の原理を図面と併せて例として説明する、以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の一実施形態に従う、簡略化されたテープ・ドライブ・システムの概略図である。
【図２】図２は、本発明の一実施形態に従う、テープ・カートリッジの概略図である。
【図３】図３は、本発明の一実施形態に従う、フラットラップ型、双方向２モジュールの磁気テープ・ヘッドの側面図である。
【図４】図４は、図３の線２Ｂから取られたテープ支え面の図である。
【図５】図５は、図４の円２Ｃから取られた詳細な図である。
【図６】図６は、モジュールの対の部分的なテープ支え面の詳細な図である。
【図７】図７は、書き込み−読み取り−書き込み構成を有する磁気ヘッドの部分的なテープ支え面の図である。
【図８】図８は、読み取り−書き込み−読み取り構成を有する磁気ヘッドの部分的なテープ支え面の図である。
【図９】図９は、一実施形態に従う、３つのモジュールを含み、すべてのモジュールが、通常、ほぼ平行な平面に沿って存在する、磁気テープ・ヘッドの側面図である。
【図１０】図１０は、正接（傾斜）構成で３つのモジュールを含む磁気テープ・ヘッドの側面図である。
【図１１】図１１は、オーバーラップ構成で３つのモジュールを含む磁気テープ・ヘッドの側面図である。
【図１２】図１２は、テープ・テンティング（tape tenting）の原理を示す概略図である（１／３）。
【図１３】図１３は、テープ・テンティングの原理を示す概略図である（２／３）。
【図１４】図１４は、テープ・テンティングの原理を示す概略図である（３／３）。
【図１５】図１５は、本発明の一実施形態に従う、磁気テープに格納されたファイルおよびインデックスを表す図である。
【図１６】図１６は、本発明の一実施形態に従う、データ・ストレージ・システムの一部を表す図である。
【図１７】図１７は、本発明の一実施形態に従う、方法のフローチャートである。
【図１８】図１８は、図１７のフローチャート内の動作のうちの１つに関するサブプロセスのフローチャートである。
【図１９】図１９は、図１７のフローチャート内の動作のうちの１つに関するサブプロセスのフローチャートである。
【図２０】図２０は、図１７のフローチャート内の動作のうちの１つに関するサブプロセスのフローチャートである。
【図２１】図２１は、一実施形態に従う、レコードの読み飛ばしの数と処理時間のグラフである。
【図２２】図２２は、本発明の一実施形態に従う、磁気テープに格納されたファイルおよびインデックスを表す図である。
【図２３】図２３は、図１７のフローチャート内の動作のうちの１つに関するサブプロセスのフローチャートである。
【図２４】図２４は、本発明の一実施形態に従う、図１７のフローチャート内の動作のうちの１つに関するサブプロセスのフローチャートである。
【図２５】図２５は、本発明の一実施形態に従う、図１７のフローチャート内の動作のうちの１つに関するサブプロセスのフローチャートである。
【発明を実施するための形態】
【００１２】
以下の説明は、本発明の一般的原理を説明する目的で行われるものであり、本明細書において請求される本発明の概念を限定するように意図されていない。さらに、本明細書に記載された特定の特徴を、さまざまな可能な組み合わせおよび並べ替えの各々において、その他の説明された特徴と組み合わせて使用することができる。
【００１３】
本明細書では、特に具体的に定義されない限り、すべての用語には、本明細書から示される意味、および当業者によって理解される意味、または辞書、論文などにおいて定義された意味、あるいはその両方を含む、最も広い可能な解釈が与えられる。
【００１４】
本明細書および添付の特許請求の範囲において使用されるとき、単数形「ある（ａ）」、「１つの（ａｎ）」および「その（ｔｈｅ）」が、特に規定されない限り、複数の指示対象を含むということにも注意しなければならない。
【００１５】
以下の説明は、複数の磁気ストレージ・システム、およびその動作または構成部品あるいはその両方を開示する。本明細書に記載された本発明の実施形態のうちの種々の実施形態は、以下さらに詳細に説明されているように、レコードに到達することまたはレコード自体を読み取ることあるいはその両方の最も有利な方法を決定することによって、読み取り要求の性能を改善することができ、それによって、現在の（例えば、特定の）システム・パラメータに基づくシステム性能を改善し、読み取りアクセス時間を短縮し、テープ・ドライブ上の摩耗を低減する。
【００１６】
本発明の１つの一般的な実施形態では、コンピュータ実装方法は、磁気テープに格納されたデータに対する読み取り要求を受信することであって、このデータが複数の部分を含んでいる、受信することと、要求されたデータの部分のコピーがキャッシュ内にあるかどうかを判定することと、磁気テープ上の、キャッシュ内にないことが決定された要求されたデータの部分にアクセスするようにテープ・ドライブに指示することと、キャッシュ内にない要求されたデータの部分の各々に対して、位置特定コマンドを実行すること、または、読み取りコマンドを複数回実行することのいずれが、より短い時間でキャッシュ内にない要求されたデータの部分を取り出すかを判定することと、より短い時間でキャッシュ内にない要求されたデータの部分を取り出すということが決定されたコマンドを発行することと、キャッシュ内にない要求されたデータの部分を、キャッシュ内にある要求されたデータの部分と組み合わせることと、読み取り要求を満たすこととを含む。
【００１７】
本発明の別の一般的な実施形態では、コンピュータ実装方法は、磁気テープに格納されたデータに対する読み取り要求を受信することであって、このデータが複数の部分を含んでいる、受信することと、磁気テープ上の要求されたデータにアクセスするようにテープ・ドライブに指示することと、要求されたデータの部分ごとに、要求されたデータの部分を磁気テープから読み取るようにテープ・ドライブに指示すること、要求されたデータの部分のコピーがキャッシュ内にあるかどうかを判定すること、要求されたデータの部分のコピーがキャッシュ内にあるということの決定に応答して、磁気テープから読み取られた要求されたデータの部分を破棄するようにテープ・ドライブに指示すること、および要求されたデータの部分のコピーがキャッシュ内にないということの決定に応答して、磁気テープから読み取られた要求されたデータの部分をテープ・ドライブから受信することの反復プロセスを実行することとを含む。
【００１８】
本発明の別の一般的な実施形態では、コンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。このコンピュータ可読記憶媒体は、それ自体が一過性の信号ではない。さらに、これらのプログラム命令は、プロセッサに方法を実行させるために、プロセッサによって読み取り可能または実行可能あるいはその両方であり、この方法は、磁気テープに格納されたデータに対する読み取り要求をプロセッサによって受信することであって、このデータが複数の部分を含んでいる、受信することと、磁気テープ上の要求されたデータにアクセスするように、プロセッサによってテープ・ドライブに指示することと、要求されたデータの部分ごとに、要求されたデータの部分を磁気テープから読み取るようにテープ・ドライブに指示すること、要求されたデータの部分のコピーがキャッシュ内にあるかどうかを判定すること、要求されたデータの部分のコピーがキャッシュ内にあるということの決定に応答して、磁気テープから読み取られた要求されたデータの部分を破棄するようにテープ・ドライブに指示すること、および要求されたデータの部分のコピーがキャッシュ内にないということの決定に応答して、磁気テープから読み取られた要求されたデータの部分をテープ・ドライブから受信することの反復プロセスをプロセッサによって実行することとを含む。
【００１９】
本発明のさらに別の一般的な実施形態では、コンピュータ実装方法は、磁気テープに格納されたデータに対する読み取り要求を受信することと、磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、磁気テープを第２の位置から第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定することと、第１の時間が第２の時間より少ないということの決定に応答して、位置特定動作を実行するようにテープ・ドライブに指示することと、第１の時間が第２の時間より少なくないということの決定に応答して、複数の読み取り動作を実行するようにテープ・ドライブに指示することと、複数の読み取り動作を実行している間に磁気テープから読み取られたデータを破棄するようにテープ・ドライブに指示することとを含む。本説明によれば、「第２の位置」が、磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応するよう意図されており、「第１の位置」が、要求されたデータの先頭に対応するよう意図されているということに、注意するべきである。
【００２０】
本発明の別の一般的な実施形態では、コンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。このコンピュータ可読記憶媒体は、それ自体が一過性の信号ではない。さらに、これらのプログラム命令は、プロセッサに方法を実行させるために、プロセッサによって読み取り可能または実行可能あるいはその両方であり、この方法は、磁気テープに格納されたデータに対する読み取り要求をプロセッサによって受信することと、磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、磁気テープを第２の位置から第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかをプロセッサによって判定することと、第１の時間が第２の時間より少ないということの決定に応答して、位置特定動作を実行するようにプロセッサによってテープ・ドライブに指示することと、第１の時間が第２の時間より少なくないということの決定に応答して、複数の読み取り動作を実行するようにプロセッサによってテープ・ドライブに指示することと、複数の読み取り動作を実行している間に磁気テープから読み取られたデータを破棄するようにプロセッサによってテープ・ドライブに指示することとを含む。本説明によれば、「第２の位置」が、磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応するよう意図されており、一方、「第１の位置」が、要求されたデータの先頭に対応するよう意図されているということに、やはり注意するべきである。
【００２１】
図１は、本発明との関連において採用され得る、テープベースのデータ・ストレージ・システムの簡略化されたテープ・ドライブ１００を示している。図１ではテープ・ドライブの１つの特定の実装が示されているが、本明細書に記載された本発明の実施形態が、任意の種類のテープ・ドライブ・システムとの関連において実装されてよいということに、注意するべきである。
【００２２】
図に示されているように、テープ１２２を支えるために、テープ供給カートリッジ１２０および巻き取りリール１２１が提供される。リールのうちの１つまたは複数は、取り外し可能なカートリッジの一部を形成してよく、必ずしもシステム１００の一部で有る必要はない。図１に示されているようなテープ・ドライブは、テープ１２２を任意の種類のテープ・ヘッド１２６の上で移動するためテープ供給カートリッジ１２０および巻き取りリール１２１を駆動するための駆動モータをさらに含んでよい。そのようなヘッドは、リーダ、ライタ、またはその両方のアレイを含んでよい。
【００２３】
ガイド１２５は、テープ・ヘッド１２６を横切ってテープ１２２を誘導する。そのようなテープ・ヘッド１２６は、次いで、ケーブル１３０を介してコントローラ１２８に結合される。コントローラ１２８は、ドライブ１００の任意のサブシステムを制御するためのプロセッサまたは任意のロジックあるいはその両方であるか、またはこれらを含んでよい。例えば、コントローラ１２８は、典型的には、データ書き込み、データ読み取りなどに従って、サーボなどのヘッド機能を制御する。コントローラ１２８は、少なくとも１つのサーボ・チャネルおよび少なくとも１つのデータ・チャネルを含んでよく、これらのチャネルの各々は、テープ１２２への書き込みまたはテープ１２２からの読み取りあるいはその両方が行われる情報を処理するか、または格納するか、あるいはその両方を行うように構成されたデータ・フロー処理ロジックを含む。コントローラ１２８は、従来技術において知られたロジック、および本明細書で開示された任意のロジックの下で動作してよく、したがって、種々の実施形態では、本明細書に含まれているテープ・ドライブの説明のいずれかに関して、プロセッサと見なされてよい。コントローラ１２８は、任意の既知の種類のメモリ１３６に結合されてよく、メモリ１３６は、コントローラ１２８によって実行可能な命令を格納してもよい。さらに、コントローラ１２８は、本明細書において提示された方法の一部または全部を実行または制御するように、構成されるか、またはプログラム可能であるか、あるいはその両方であってよい。したがって、コントローラ１２８は、１つまたは複数のチップ、モジュールまたはブロック、あるいはその組み合わせにプログラムされたロジック、１つまたは複数のプロセッサで使用可能な、ソフトウェア、ファームウェア、その他の命令、あるいはその組み合わせなど、およびこれらの組み合わせとして、さまざまな動作を実行するように構成されると考えられてよい。
【００２４】
ケーブル１３０は、テープ１２２上に記録されるデータをヘッド１２６に送信するため、および、ヘッド１２６によってテープ１２２から読み取られたデータを受信するために、読み取り／書き込み回路を含んでよい。アクチュエータ１３２は、テープ１２２に対する相対的なヘッド１２６の位置を制御する。
【００２５】
インターフェイス１３４は、当業者によってすべて理解されるであろうように、テープ・ドライブ１００とホスト（内部または外部）の間でデータを送受信する通信のため、ならびにテープ・ドライブ１００の動作を制御するため、およびテープ・ドライブ１００の状態をホストに伝達するために、提供されてもよい。
【００２６】
図２は、本発明の一実施形態に従って、例示的なテープ・カートリッジ１５０を示している。そのようなテープ・カートリッジ１５０は、図１に示されているシステムなどのシステムと共に使用されてよい。図に示されているように、テープ・カートリッジ１５０は、筐体１５２と、筐体１５２内のテープ１２２と、筐体１５２に結合された不揮発性メモリ１５６とを含んでいる。一部の方法では、不揮発性メモリ１５６は、図２に示されているように、筐体１５２内に組み込まれてよい。その他の方法では、不揮発性メモリ１５６は、筐体１５２を変更することなく、筐体１５２の内側または外側に取り付けられてよい。例えば、不揮発性メモリは、粘着ラベル１５４内に組み込まれてよい。不揮発性メモリ１５６は、フラッシュ・メモリ・デバイス、読み取り専用メモリ（ＲＯＭ：read-only memory）デバイスなどであってよく、テープ・カートリッジ１５０の内側または外側に組み込まれるか、または結合されてよい。不揮発性メモリは、テープ・ドライブおよびテープ・オペレーティング・ソフトウェア（ドライバ・ソフトウェア）、または別のデバイス、あるいはその組み合わせによってアクセス可能である。
【００２７】
例として、図３は、本発明との関連において実装され得る、フラットラップ型、双方向２モジュールの磁気テープ・ヘッド２００の側面図を示している。図に示されているように、ヘッドは、基部２０２の対を含んでおり、各基部２０２は、モジュール２０４を備えており、互いに対して小角度αで固定されている。これらの基部は、一緒に接着結合された「Ｕ型桁」であってよい。各モジュール２０４は、基板２０４Ａおよびクロージャ２０４Ｂを、一般に「ギャップ」と呼ばれる薄膜部分と共に含んでおり、このギャップ内に、リーダまたはライタあるいはその両方２０６が形成される。使用中に、図に示された方法で、リーダおよびライタを使用してテープ２０８上のデータを読み取るため、および書き込むために、テープ２０８が、媒体（テープ）支え面２０９に沿ってモジュール２０４の上を移動される。平坦な媒体支持面２０９の上に移動して出るテープ２０８のエッジでの巻き角度θは、通常、約０．１度〜約３度の範囲内である。
【００２８】
基板２０４Ａは、通常、セラミックなどの耐摩耗材料で構成される。クロージャ２０４Ｂは、基板２０４Ａと同じセラミックまたは類似するセラミックで作られていてよい。
【００２９】
リーダおよびライタは、ピギーバック構成または融合構成で配置されてよい。ピギーバック構成は、（磁気的にシールドされた）リーダ変換器（例えば、磁気抵抗リーダなど）の上（または下）に（磁気的に誘導性の）ライタ変換器を備え、ライタの磁極およびリーダのシールドが、通常は分離される。融合構成は、１つのライタの磁極と同じ物理的層内に１つのリーダのシールドを備える（したがって、「融合」されている）。リーダおよびライタは、交互配置された構成で配置されてもよい。代替として、チャネルの各アレイは、リーダのみまたはライタのみであってよい。これらのアレイのいずれかは、媒体上のサーボ・データを読み取るために、１つまたは複数のサーボ・トラック・リーダを含んでよい。
【００３０】
図４は、図３の線２Ｂから取られたモジュール２０４のうちの１つのテープ支え面２０９を示している。代表的なテープ２０８が、破線で示されている。モジュール２０４は、ヘッドがデータ・バンド間を移動するときに、テープを支持できるほど十分に長いのが好ましい。
【００３１】
この例では、テープ２０８は、４本〜３２本のデータ・バンドを含み、例えば図４に示されているように、２分の１インチ幅のテープ２０８上に、１６本のデータ・バンドおよび１７本のサーボ・トラック２１０を含む。データ・バンドは、サーボ・トラック２１０間で定義される。各データ・バンドは、複数のデータ・トラック（例えば、１０２４本のデータ・トラック（図示されていない））を含んでよい。読み取り／書き込み動作中に、リーダまたはライタあるいはその両方２０６は、データ・バンドのうちの１つに含まれる特定のトラック位置に配置される。外側のリーダ（サーボ・リーダと呼ばれることがある）が、サーボ・トラック２１０を読み取る。読み取り／書き込み動作中に、リーダまたはライタあるいはその両方２０６が特定のトラックのセットに揃えられた状態を保つために、次いで、サーボ信号が使用される。
【００３２】
図５は、図４の円２Ｃ内におけるモジュール２０４上のギャップ２１８内に形成された、複数のリーダまたはライタあるいはその両方２０６を示している。図に示されているように、リーダおよびライタのアレイ２０６は、例えば、１６個のライタ２１４、１６個のリーダ２１６、および２個のサーボ・リーダ２１２を含んでいるが、これらの素子の数は変更され得る。その例としては、１つのアレイにつき、８個、１６個、３２個、４０個、および６４個のアクティブなリーダまたはライタあるいはその両方２０６が挙げられ、代替として、交互配置された設計は、１７個、２５個、３３個などの奇数個のリーダまたはライタを含む。１つの例は、１つのアレイにつき３２個のリーダまたは１つのアレイにつき３２個のライタあるいはその両方を含み、変換素子の実際の数は、さらに多い（例えば３３個、３４個など）ことがある。これによって、テープの移動を遅くすることができ、それによって、速度に起因する追跡の困難および機械的困難を軽減するか、またはテープに対して書き込むもしくは読み取るためにより少ない「巻き」を実行するか、あるいはその両方を行うことができる。図５に示されているように、リーダおよびライタはピギーバック構成で配置されてよいが、リーダ２１６およびライタ２１４は、交互配置された構成で配置されてもよい。代替として、リーダまたはライタあるいはその両方２０６の各アレイは、リーダのみまたはライタのみであってよく、各アレイは、１つまたは複数のサーボ・リーダ２１２を含んでよい。図３および図４、図５を一緒に考慮することによって示されているように、各モジュール２０４は、双方向の読み取りおよび書き込み、記録時読出機能、下位互換性などのために、リーダまたはライタあるいはその両方２０６の補完的セットを含んでよい。
【００３３】
図６は、本発明の一実施形態に従って、磁気テープ・ヘッド２００の補完的モジュールの部分的なテープ支え面の図を示している。ここで、各モジュールは、ピギーバック構成で共通基板２０４Ａ上に形成された複数の読み取り／書き込み（Ｒ／Ｗ：read/write）対および任意選択的な電気的絶縁層２３６を含んでいる。書き込み変換器２１４によって例示されているライタ、および読み取り変換器２１６によって例示されているリーダは、それを横切るテープ媒体の意図された移動方向に対して平行に揃えられ、Ｒ／Ｗ対２２２によって例示されているＲ／Ｗ対を形成する。テープの意図された移動方向は、本明細書ではテープの移動方向と呼ばれることがあり、これらの用語が交換可能なように使用されてよいということに注意されたい。そのようなテープの移動方向は、例えば、ガイドを調べること、基準点に対する相対的な実際のテープの移動方向を観察することなどによって、システムの設計から推測されてよい。さらに、双方向の読み取りまたは書き込みあるいはその両方のために動作可能なシステムでは、両方向のテープの移動方向は、通常、平行であり、したがって、両方向は互いに等価であると見なされてよい。
【００３４】
８個、１６個、３２個の対などのいくつかのＲ／Ｗ対２２２が存在してよい。図に示されているＲ／Ｗ対２２２は、それを横切るテープの移動方向と概ね直角な方向に、直線的に揃えられる。しかしながら、これらの対は、対角線上などに揃えられてもよい。サーボ・リーダ２１２は、Ｒ／Ｗ対のアレイの外側に配置され、その機能は周知である。
【００３５】
通常、磁気テープ媒体は、矢印２２０によって示されているように、順方向または逆方向のいずれかに移動する。磁気テープ媒体およびヘッド・アセンブリ２００は、従来技術においてよく知られている方法で、変換関係（transducing relationship）において動作する。ピギーバックされた磁気抵抗（ＭＲ：magnetoresistive）ヘッド・アセンブリ２００は、概ね同一の構成の２つの薄膜モジュール２２４および２２６を含んでいる。
【００３６】
モジュール２２４および２２６は、そのクロージャ２０４Ｂ（部分的に示されている）間に存在する空間を含めて一緒に結合され、単一の物理的ユニットを形成し、先行のモジュールのライタ、および、それと相対的なテープの移動方向と平行に、先行のモジュールのライタに揃えられた後続のモジュールのリーダを有効化することによって、記録時読出機能を提供する。ピギーバック・ヘッド２００のモジュール２２４、２２６が構築されるときに、例えばＡｌＴｉＣの導電性基板２０４Ａ（部分的に示されている）の上に作成されたギャップ２１８内に各層が形成され、Ｒ／Ｗ対２２２に関する各層は、一般に、絶縁層２３６、通常はＮｉＦｅ（−）、コバルト・ジルコニウム・タンタル（ＣＺＴ：cobalt zirconium tantalum）またはＡｌ−Ｆｅ−Ｓｉ（センダスト）などの鉄合金の第１のシールド２３２、磁気媒体上のデータ・トラックを感知するためのセンサ２３４、通常は鉄ニッケル系合金（例えば、パーマロイとも呼ばれる、約８０／２０ａｔ％のＮｉＦｅ）の第２のシールド２３８、第１および第２のライタの磁極先端２２８、２３０、ならびにコイル（図示されていない）という順序になる。センサは、ＭＲ、ＧＭＲ、ＡＭＲ、トンネル磁気抵抗（ＴＭＲ：tunneling magnetoresistance）などに基づくセンサを含む、任意の既知の種類であってよい。
【００３７】
第１および第２のライタの磁極２２８、２３０は、約４５／５５のＮｉＦｅなどの高磁気モーメント材料から製造されてよい。これらの材料が単に例として提供されており、他の材料が使用されてよいということに注意されたい。シールドまたは磁極先端あるいはその両方の間の絶縁体およびセンサを囲む絶縁層などの追加の層が存在してよい。絶縁用の材料は、アルミナおよびその他の酸化物、絶縁性ポリマーなどを含む。
【００３８】
テープ・ヘッド１２６の構成は、複数の（好ましくは、３つ以上の）モジュールを含んでよい。書き込み−読み取り−書き込み（Ｗ−Ｒ−Ｗ：write-read-write）ヘッドでは、書き込むための外側のモジュールが、読み取るための１つまたは複数の内側のモジュールの側面に位置する。Ｗ−Ｒ−Ｗ構成を示している図７を参照すると、外側のモジュール２５２、２５６が、それぞれライタの１つまたは複数のアレイ２６０を含んでいる。図７の内側のモジュール２５４は、同様の構成で、リーダの１つまたは複数のアレイ２５８を含んでいる。複数モジュールのヘッドの変形は、Ｒ−Ｗ−Ｒヘッド（図８）、Ｒ−Ｒ−Ｗヘッド、Ｗ−Ｗ−Ｒヘッドなどを含む。さらに他の変形では、モジュールのうちの１つまたは複数が、変換器の読み取り／書き込み対を含んでよい。さらに、４つ以上のモジュールが存在してよい。さらに他の方法では、２つの外側のモジュールが、例えばＷ−Ｒ−Ｒ−Ｗ、Ｒ−Ｗ−Ｗ−Ｒなどの配置で、２つ以上の内側のモジュールの側面に位置してよい。簡単にするために、本明細書では、Ｗ−Ｒ−Ｗヘッドが、本発明の実施形態の例示に主に使用される。本明細書における手法を知らされた当業者は、本発明の並べ替えがＷ−Ｒ−Ｗ構成以外の構成に当てはまるということを、理解するであろう。
【００３９】
図９は、本発明の一実施形態に従って、平坦であるか、または起伏があるなどであってよいテープ支え面３０８、３１０、３１２をそれぞれ含んでいる第１、第２、第３のモジュール３０２、３０４、３０６を含む、磁気ヘッド１２６を示している。「テープ支え面」という用語が、テープ３１５に面している表面がテープ支え面と物理的に接触していることを意味しているように見えるが、必ずしもそうではないということに注意されたい。むしろ、テープの一部のみが、常にまたは断続的にテープ支え面と接触し、テープの他の部分が、空気の層の上で、テープ支え面の上に乗って（または「浮かんで」）いてよい（空気支え（air bearing）と呼ばれることがある）。第１のモジュール３０２は、示された方向に移動するテープに関する３モジュールの設計において、テープが遭遇する最初のモジュールであるため、「先行の」モジュールと呼ばれる。第３のモジュール３０６は、「後続の」モジュールと呼ばれる。後続のモジュールは、３モジュールの設計において、中央のモジュールの後に続く、テープが遭遇する最後のモジュールである。先行のモジュール３０２および後続のモジュール３０６は、外側のモジュールと総称される。外側のモジュール３０２、３０６が、テープ３１５の移動方向に応じて、先行のモジュールとして交互に入れ替わるということにも注意されたい。
【００４０】
本発明の一実施形態では、第１、第２、および第３のモジュール３０２、３０４、３０６のテープ支え面３０８、３１０、３１２が、ほぼ平行な平面（平行な平面およびほぼ平行な平面（例えば、図１０のような平行と正接の間の平面）を含むよう意図されている）上にあり、第２のモジュール３０４のテープ支え面３１０が、第１および第３のモジュール３０２、３０６のテープ支え面３０８、３１２の上にある。以下に説明されているように、このようにすることには、第２のモジュール３０４のテープ支え面３１０に対して相対的なテープの望ましい巻き角度α２を作成するという効果がある。
【００４１】
テープ支え面３０８、３１０、３１２が、平行またはほぼ平行であるが、オフセットされた平面に沿って存在する場合、直観的には、テープは、先行のモジュール３０２のテープ支え面３０８から剥がれるはずである。しかしながら、先行のモジュール３０２の剥がれているエッジ３１８によって作られた真空が、テープを先行のモジュール３０２のテープ支え面３０８に接着した状態に保つのに十分であるということが、実験によって分かっている。先行のモジュール３０２の後続のエッジ３２０（テープが先行のモジュール３０２から離れる端部）は、第２のモジュール３０４のテープ支え面３１０の上の巻き角度α２を定義する近似的な基準点になる。テープは、先行のモジュール３０２の後続のエッジ３２０に近づくまで、テープ支え面に近接した状態を維持する。したがって、読み取りまたは書き込みあるいはその両方の素子３２２は、外側のモジュール３０２、３０６の後続のエッジの近くに位置してよい。これらの実施形態は、書き込み−読み取り−書き込みの適用に特に適している。
【００４２】
この恩恵は、外側のモジュール３０２、３０６が第２のモジュール３０４からずれて決定された位置に固定されるため、モジュール３０２、３０４、３０６が一緒に結合されるか、またはその他の方法でヘッドに固定された場合に、内側の巻き角度α２が固定されるということである。内側の巻き角度α２は、およそｔａｎ−１（δ／Ｗ）であり、ここで、δは、テープ支え面３０８、３１０の平面間の高低差であり、Ｗは、テープ支え面３０８、３１０の対向する端部間の幅である。例示的な内側の巻き角度α２は、約０．３°〜約１．１°の範囲内であるが、設計によって要求される任意の角度であることができる。
【００４３】
テープを受け取るモジュール３０４の側面（先行のエッジ）の上の内側の巻き角度α２は、テープ３１５が後続のモジュール３０６の上に乗るため、後続のエッジの上の内側の巻き角度α３より、有利に大きくなる。この差は通常、α３が小さいほど、従来、出る有効な巻き角度がより急になっていたということに反対する傾向があるため、有益である。
【００４４】
先行のモジュール３０２の後続のエッジ３２０で負の巻き角度を実現するように、外側のモジュール３０２、３０６のテープ支え面３０８、３１２が配置されるということに注意されたい。これは通常、テープ内のヘッドから剥がれる位置で生じるバール領域（crowbar region）の位置が適切に考慮されるという条件で、後続のエッジ３２０との接触に起因する摩擦を減らすのに役立つということにおいて、有益である。この負の巻き角度は、先行のモジュール３０２上のフラッタおよび素子に対するこすり傷も減らす。さらに、後続のモジュール３０６で、テープ３１５がテープ支え面３１２の上に浮くため、テープがこの方向に移動しているときに、事実上、素子に対する摩耗がない。特に、テープ３１５は、空気を引きずるため、第３のモジュール３０６のテープ支え面３１２の上に有意に乗らない（一部の接触が発生することがある）。これは、後続のモジュール３０６がアイドル状態である間に先行のモジュール３０２が書き込んでいるため、許容可能である。
【００４５】
異なるモジュールによって、書き込み機能および読み取り機能がいつでも実行される。一実施形態では、第２のモジュール３０４は、複数のデータ・リーダおよび任意選択的なサーボ・リーダ３３１を含み、ライタを含まない。第１および第３のモジュール３０２、３０６は、複数のライタ３２２を含み、外側のモジュール３０２、３０６が任意選択的なサーボ・リーダを含んでよいということを除き、データ・リーダを含まない。サーボ・リーダは、読み取り動作または書き込み動作あるいはその両方の間に、ヘッドを配置するために使用されてよい。各モジュール上のサーボ・リーダは、通常、リーダまたはライタのアレイの端部に向かって位置する。
【００４６】
リーダまたは横に並んだライタおよびサーボ・リーダのみが、基板とクロージャの間のギャップ内に存在することによって、ギャップの長さを大幅に減らすことができる。標準的なヘッドは、ピギーバックされたリーダおよびライタを含み、各リーダの上にライタが形成される。標準的なギャップは、２０〜３５ミクロンである。しかし、テープ上の凹凸が、ギャップ内に垂れ下がり、ギャップの浸食を引き起こす傾向がある。したがって、ギャップは小さいほど良い。本明細書において有効化されるギャップは、小さいほど、摩耗に関連する問題を示すことが少なくなる。
【００４７】
本発明の一部の実施形態では、第２のモジュール３０４がクロージャを含み、一方、第１および第３のモジュール３０２、３０６はクロージャを含まない。クロージャが存在しない場合、ハード・コーティングがモジュールに追加されるのが好ましい。１つの好ましいコーティングは、ダイヤモンド状炭素（ＤＬＣ：diamond-like carbon）である。
【００４８】
図９に示されている例では、第１、第２、および第３のモジュール３０２、３０４、３０６がそれぞれ、クロージャ３３２、３３４、３３６を含み、これらのクロージャが関連付けられたモジュールのテープ支え面を拡張し、それによって、読み取り／書き込み素子をテープ支え面のエッジから離れた位置に効果的に配置する。第２のモジュール３０４上のクロージャ３３２は、テープ・ヘッド上で通常見られる種類のセラミック・クロージャであることができる。しかし、第１および第３のモジュール３０２、３０６のクロージャ３３４、３３６は、各モジュール上のテープの移動方向と平行に測定されたときに、第２のモジュール３０４のクロージャ３３２より短くてよい。これによって、モジュールを互いに近づけて配置することができる。より短いクロージャ３３４、３３６を製造するための１つの方法は、第２のモジュール３０４の標準的なセラミック・クロージャを、追加の量だけ重ねることである。別の方法は、薄膜の加工時に、薄膜クロージャを素子の上にめっきするか、または成膜することである。例えば、センダストまたは鉄ニッケル系合金（例えば、４５／５５）などの硬質材料の薄膜クロージャを、モジュール上に形成することができる。
【００４９】
外側のモジュール３０２、３０６上で厚さの減少したセラミックまたは薄膜クロージャ３３４、３３６を使用するか、またはクロージャを使用せずに、書き込みと読み取りの間のギャップ間隔を、約１ｍｍ未満（例えば、約０．７５ｍｍ）または通常使用されるリニア・テープ・オープン（ＬＴＯ：linear tape open）テープ・ヘッドの間隔の５０％未満に、減らすことができる。モジュール３０２、３０４、３０６の間の空間は、それでも一部の実施形態では、第２のモジュール３０４の上のテープの動きを安定させるのに最適である、約０．５〜０．６ｍｍに設定することができる。
【００５０】
テープの張力および剛性に応じて、第２のモジュールのテープ支え面に対し相対的に、外側のモジュールのテープ支え面を傾けることが望ましいことがある。図１０は、モジュール３０２、３０４、３０６が正接またはほぼ正接（傾斜）構成である例を示している。特に、外側のモジュール３０２、３０６のテープ支え面は、第２のモジュール３０４の望ましい巻き角度α２で、テープとほぼ平行である。言い換えると、外側のモジュール３０２、３０６のテープ支え面３０８、３１２の平面は、第２のモジュール３０４に対し相対的なテープ３１５の望ましい巻き角度α２に略方向づけられている。この例でも、テープは、後続のモジュール３０６から浮き上がり、それによって、後続のモジュール３０６の素子上の摩耗を減らす。これらの例は、書き込み−読み取り−書き込みの適用に特に役立つ。これらの実施形態の追加の態様は、前述した態様と同様である。
【００５１】
通常、テープの巻き角度は、図９および１０に示されている例のほぼ中間に設定されてよい。
【００５２】
図１１は、モジュール３０２、３０４、３０６がオーバーラップ構成である、本発明の実施形態を示している。特に、外側のモジュール３０２、３０６のテープ支え面３０８、３１２は、第２のモジュール３０４に対する相対的な望ましい巻き角度α２に設定された場合、テープ３１５よりわずかに傾けられる。この例では、テープは後続のモジュールから浮き上がらず、後続のモジュールを書き込みまたは読み取りに使用できるようにする。したがって、先行のモジュールおよび中央のモジュールは、両方とも読み取り機能または書き込み機能あるいはその両方を実行することができ、一方、後続のモジュールは、任意のまさに書き込まれたデータを読み取ることができる。したがって、これらの実施形態は、書き込み−読み取り−書き込み、読み取り−書き込み−読み取り、および書き込み−書き込み−読み取りの適用の場合に好ましい。後者の実施形態では、読み取り機能を保証するために、クロージャは、テープ・キャノピーより広くなるべきである。クロージャが広いほど、より広いギャップ間の分離が必要になることがある。したがって、好ましい実施形態は、短縮されたクロージャを使用できるため、より狭いギャップ間の分離を可能にする、書き込み−読み取り−書き込み構成を有する。
【００５３】
図１０および１１に示された例の追加の態様は、前述した態様と同様である。
【００５４】
他のモジュール・ヘッド１２６の３２チャネル・バージョンは、現在の１６チャネル・ピギーバックＬＴＯモジュールと同じまたはより小さいピッチ上にリード線を有するケーブル３５０を使用してよく、または代替として、モジュール上の接続は、ケーブル長を５０％削減するために、オルガンの鍵盤状（organ-keyboarded）であってよい。上下の書き込み対のシールドなしケーブルが、サーボ・リーダを統合していることがあるライタに使用されてよい。
【００５５】
外側の巻き角度α１は、調整可能なローラー、スライドなどの、従来技術において知られた任意の種類のガイドなどによって、または代替として、ヘッドに統合されたアウトリガによって、ドライブ内で設定されてよい。例えば、巻き角度を設定するために、オフセット軸を含んでいるローラーが使用されてよい。オフセット軸は、回転の軌道円弧を作り、巻き角度α１の正確な位置合わせを可能にする。
【００５６】
前述した本発明の実施形態のいずれかを組み立てるために、従来のＵ型桁アセンブリが使用され得る。したがって、得られるヘッドの質量は、前の世代のヘッドと比較して維持されるか、または減らされてよい。他の方法では、モジュールが単一体として構築されてよい。この知識を持っている当業者は、そのようなヘッドを製造する他の既知の方法が、そのようなヘッドの構築において使用するのに適していることがあるということを、理解するであろう。さらに、特に指定されない限り、本開示を読むときに当業者に明らかになるであろうように、従来技術において知られた種類の工程および材料が、本明細書の内容と一致して、本発明のさまざまな実施形態において使用するのに適していることがある。
【００５７】
読み取りまたは書き込みあるいはその両方が、例えば低い誤り率で、効率的に実行されるように、テープがモジュールの上を進むときに、テープがモジュール上の磁気変換器の十分近くを通るのが好ましい。一部の方法によれば、テープが、磁気変換器を含んでいるモジュールの一部の十分近くを通るのを保証するために、テープ・テンティングが使用されてよい。この工程をよく理解するために、図１２〜図１４がテープ・テンティングの原理を示している。図１２は、対向するエッジ８０４、８０６の間に広がる上側テープ支え面８０２を含んでいるモジュール８００を示している。エッジ８０４、８０６に巻き付いている静止したテープ８０８が示されている。図に示されているように、テープ８０８の曲げ剛性が、テープをテープ支え面８０２から持ち上げる。図１２に示されているように、テープの張力がテープの形状を平らにする傾向がある。テープの張力が最小である場合、テープの曲率は、図に示されているより放物線状になる。
【００５８】
図１３は、移動中のテープ８０８を示している。先行のエッジ（すなわち、移動しているときにテープが遭遇する最初のエッジ）は、空気をテープから剥ぐ働きをすることがあり、それによって、テープ８０８とテープ支え面８０２の間に準大気気圧（subambient air pressure）を作り出す。図１３では、テープが左から右に移動している場合、先行のエッジが左のエッジであり、右のエッジが後続のエッジである。その結果、テープの上の大気圧が、テープをテープ支え面８０２の方向に強制し、それによってエッジの各々の近傍でテープ・テンティングを作り出す。テープの曲げ剛性が大気圧の影響に抵抗し、それによって先行のエッジと後続のエッジの両方の近傍にテープ・テンティングを引き起こす。モデル化は、２つのテントの形状が極めて似ているということを予測する。
【００５９】
図１４は、後続のガイド８１０がテープ支え面の平面の上に配置された場合でも、準大気圧がどのようにテープ８０８をテープ支え面８０２の方向に強制するかを示している。
【００６０】
したがって、テープがモジュールの上を通るときの進路を方向付けるために、テープ・テンティングが使用されてよい。前述したように、好ましくは、読み取りまたは書き込みあるいはその両方が、例えば低い誤り率で効率的に実行されるように、テープが、磁気変換器を含んでいるモジュールの一部の十分近くを通るのを保証するために、テープ・テンティングが使用されてよい。
【００６１】
磁気テープは、テープ・カートリッジに格納されてよく、ひいては、データ・ストレージ・ライブラリ内のストレージ・スロットなどに格納される。テープ・カートリッジは、物理的に取り出すためにアクセスできるように、ライブラリに格納されてよい。データ・ストレージ・ライブラリは、磁気テープおよびテープ・カートリッジに加えて、データを磁気テープに格納するか、またはデータを磁気テープから取り出すか、あるいはその両方を実行する、データ・ストレージ・ドライブを含んでよい。さらに、テープ・ライブラリおよびそれらに含まれているコンポーネントは、テープおよびテープに格納されたデータにアクセスできるようにするファイル・システムを実装してよい。
【００６２】
ファイル・システムは、データがメモリに格納され、メモリから取り出される方法を制御するために、使用されてよい。したがって、ファイル・システムは、オペレーティング・システムがメモリ内のファイルを追跡するために使用するプロセスおよびデータ構造（例えば、ファイルがメモリ内で構造化される方法）を含んでよい。リニア・テープ・ファイル・システム（ＬＴＦＳ：Linear Tape File System）は、適合するテープにアクセスできるようにするために、既定のライブラリ内で実装され得るファイル・システムの例示的な形式である。本明細書におけるさまざまな実施形態が、例えばＩＢＭ  Ｓｐｅｃｔｒｕｍ  Ａｒｃｈｉｖｅ  Ｌｉｂｒａｒｙ  Ｅｄｉｔｉｏｎ（ＬＴＦＳ  ＬＥ）を含む、広範囲のファイル・システム形式を使用して実装され得るということが、理解されるべきである。しかし、背景を提供するために、および単に読者を助けるために、以下の実施形態の一部は、ファイル・システム形式の一種であるＬＴＦＳを参照して説明されることがある。この参照は、単に例として行われており、特許請求の範囲において定義されている本発明に対する限定であると見なされるべきではない。
【００６３】
テープ・カートリッジは、カートリッジをテープ・ドライブに挿入することによって「装着され」てよく、テープ・カートリッジは、テープ・カートリッジをテープ・ドライブから取り外すことによって「取り出され」てよい。カートリッジ内のテープは、テープ・ドライブ内に装着された後に、テープ・カートリッジからテープ（磁気記録部分）を物理的に引っ張り、テープ・ドライブの磁気テープ・ヘッドの上に通すことによって、ドライブに「通され」てよい。さらに、テープを磁気テープ・ヘッドの上で移動するために、テープが巻き取りリール（例えば、上記の図１の１２１を参照）に取り付けられてよい。
【００６４】
カートリッジ内のテープは、テープ・ドライブに通された後に、テープ上のメタデータ（例えば、インデックスなど）を読み取り、テープを、ＬＴＦＳがテープをファイル・システムの構成要素として使用できる状態にすることによって、「マウントされ」てよい。さらに、テープを「アンマウントする」ために、メタデータが（例えば、インデックスとして）最初にテープに書き込まれるのが好ましく、その後、テープが、ＬＴＦＳがテープをファイル・システムの構成要素として使用できる状態から取り除かれてよい。最後に、テープを「抜き取る」ために、テープが巻き取りリールから取り外され、テープ・カートリッジの内部に再び物理的に配置される。カートリッジは、テープが抜き取られた後でも、例えば別の読み取り要求または書き込み要求あるいはその両方を待ちながら、テープ・ドライブ内に装着されたままであってよい。しかし、他の例では、テープ・カートリッジは、例えば前述したようにテープが抜き取れるときに、テープ・ドライブから取り出されてよい。
【００６５】
磁気テープは、シーケンシャル・アクセス媒体である。したがって、以前に書き込まれたデータの末尾にデータを追加することによって、新しいデータがテープに書き込まれる。したがって、１つのパーティションのみを含んでいるテープにデータが記録される場合、データが頻繁に更新され、それに応じてテープに再び書き込まれるときに、メタデータ（例えば、割り当て情報）が以前に書き込まれたデータの末尾に連続的に追加される。その結果、テープが最初にマウントされたときに、このテープに対応するメタデータの最新のコピーにアクセスするために、最後尾の情報が読み取られる。しかし、この読み取りは、既定のテープをマウントするプロセスに、かなりの量の遅延をもたらす。
【００６６】
単一のパーティションのテープ媒体に起因する遅延を克服するために、ＬＴＦＳ形式は、インデックス・パーティションおよびデータ・パーティションを含んでいる２つのパーティションに分割されたテープを含む。インデックス・パーティションは、例えばファイル割り当て情報（インデックス）などのメタデータ（メタ情報）を記録するように構成されてよく、一方、データ・パーティションは、データの本体（例えば、データ自体）を記録するように構成されてよい。
【００６７】
図１５を参照すると、インデックス・パーティション９０２およびデータ・パーティション９０４を含んでいる磁気テープ９００が示されている。図に示されているように、データ・ファイルおよびインデックスがテープに格納されている。本説明を読むときに当業者によって理解されるであろうように、ＬＴＦＳ形式は、インデックス情報をテープ９０６の先頭にあるインデックス・パーティション９０２に記録できるようにする。
【００６８】
インデックス情報が更新されるときに、以前のバージョンのインデックス情報を上書きするのが好ましく、それによって、現在更新されているインデックス情報にテープの先頭にあるインデックス・パーティション内でアクセスできるようにする。図１５に示されている特定の例によれば、最新バージョンのメタデータのインデックス３が、テープ９０６の先頭にあるインデックス・パーティション９０２に記録される。反対に、３つすべてのバージョンのメタデータのインデックス１、インデックス２、インデックス３、およびデータのファイルＡ、ファイルＢ、ファイルＣ、ファイルＤが、テープのデータ・パーティション９０４に記録される。インデックス１およびインデックス２は古い（例えば、更新されていない）インデックスであるが、前述したように、以前に書き込まれたデータの末尾に情報を追加することによって、情報がテープに書き込まれるため、これらの古いインデックスであるインデックス１、インデックス２は、上書きされずにテープ９００上のデータ・パーティション９０４に格納されたままになる。
【００６９】
インデックス・パーティション９０２またはデータ・パーティション９０４あるいはその両方に含まれるメタデータは、望ましい実施形態に応じて、異なって更新されてよい。一部の実施形態によれば、例えば、テープが再びマウントされるときにインデックスをインデックス・パーティションから読み取ることができるように、インデックス・パーティション９０２のメタデータは、テープがアンマウントされることに応答して更新されてよい。メタデータは、データ・パーティション９０２に書き込まれてもよいため、例えばバックアップのオプションとして、データ・パーティション９０２に記録されたメタデータを使用してテープがマウントされてよい。
【００７０】
本発明を限定するよう全く意図されていない１つの例によれば、例えば、突然の停電の発生時にデータ損失を軽減できるように、ユーザがシステムに明示的に指示したとき、またはユーザによって設定できる既定の期間によって指定された時間に、インデックスをデータ・パーティションに書き込む機能を提供するために、ＬＴＦＳ  ＬＥが使用されてよい。
【００７１】
前述したように、以前に磁気テープに書き込まれたデータにアクセスすることは、データが書き込まれた磁気テープを特定することと、磁気テープを取り出すことと、磁気テープをテープ・ドライブに装着することと、テープ・ドライブ内の磁気ヘッドを、データが書き込まれている磁気テープの特定の部分に揃えることと、データを実際に読み取ることとを通常は含む。磁気テープのデータ・アクセス時間を短縮しようとする試みにおいて、磁気テープ自体と組み合わせてキャッシュを使用することが導入された。データが磁気テープに書き込まれるか、または磁気テープから読み取られるか、あるいはその両方が行われるときに、データにより簡単に、かつ素早くアクセスできるように、データが一時的にキャッシュに格納される。しかしながら、使用中にキャッシュ内の使用可能な空き容量が減少するにつれて、別のメモリ空間取得要求を受信することに応答して、キャッシュに格納されたデータがフラッシュされ、それによって、この要求に対応する他のデータを格納するためにキャッシュを解放する。したがって、キャッシュの内容は、完全なファイルの単位で、または望ましい割り当て順序で、あるいはその両方で、通常はフラッシュされない。例えば、キャッシュのサイズより大きいサイズを有する特定のファイルを書き込む場合、いずれかの時点で、そのファイルの一部のみがキャッシュ内に残り、それによってそのファイルは、メモリの不連続な領域に割り当てられる。
【００７２】
従来の製品では、メモリの不連続な領域に割り当てられたファイル（例えば、特定のデータのグループ化）を読み取ろうとするときに、アクセス時間の速度低下が発生する。磁気テープの不連続な領域に割り当てられたデータを読み取るために、磁気テープにアクセスするテープ・ドライブにおいて複数の位置特定動作および読み取り動作が実行される。その結果、従来の磁気テープに基づく製品では、メモリの不連続な領域に割り当てられたデータに関して、データ・アクセス時間が望ましくなく遅くなる。
【００７３】
それとは際立って対照的に、本明細書に記載されたさまざまな方法は、状況に応じて異なるデータ・アクセス動作または読み取り動作あるいはその両方を実装することによって、データ・アクセス時間を大幅に削減することができる。例えば、磁気テープ上の要求されたファイルにアクセスするために実行される動作（例えば、データのグループ化）は、例えば以下さらに詳細に説明されているように、磁気テープに対する相対的な磁気テープ・ヘッドの現在の向きと、要求されたファイルの位置とを分離する距離に応じて、変化し得る。
【００７４】
図１６を参照すると、データ・ストレージ・システム１０００を表す図が示されている。任意選択として、データ・ストレージ・システム１０００は、他の図を参照して説明されている特徴などの、本明細書に示されている任意の他の実施形態からの特徴と共に、実装されてよい。ただし、そのようなデータ・ストレージ・システム１０００および本明細書において提示されている他のものは、本明細書に示されている実施形態例において具体的に説明されていることもあれば、説明されていないこともあるさまざまな応用または並べ替えにあるいはその両方おいて、使用されてよい。さらに、データ・ストレージ・システム１０００は、任意の望ましい環境内で使用されてよい。したがって、図１６（および他の図）は、可能性のある任意の並べ替えを含むと見なされてよい。
【００７５】
図に示されているように、データ・ストレージ・システム１０００を表す図は、ユーザ領域１００２、カーネル・レベル１００４、および物理デバイス・レベル１００６を含む。ユーザ領域１００２は、データ・ストレージ・システム１０００に格納されたデータに対する格納（書き込み）、アクセス（読み取り）、更新などを実行するための論理インターフェイスをユーザに提供できるアプリケーション１００８を含んでいる。アプリケーション１００８は、ユーザが使用できるインターフェイスを提供する電気的コンピューティング・デバイス上で動作して（例えば、実行され）てよい。例えば、アプリケーション１００８は、望ましい方法に応じて、パーソナル・コンピュータ上、モバイル・デバイス上、タブレット上などで動作してよい。
【００７６】
アプリケーション１００８は、データ・ストレージ・システム１０００のカーネル・レベル１００４にあるコントローラ１０１０と通信する。さらに、コントローラ１０１０は、仮想ファイル・システム（ＶＦＳ：virtual file system）１０１２およびファイルシステム１０１４と通信してよい。データ・ストレージ・システム１０００に含まれているコンポーネントのいずれかは、任意の望ましい接続を使用して互いに通信（例えば、情報を交換）できてよいということに、注意するべきである。さまざまな方法によれば、データ・ストレージ・システム１０００に含まれているコンポーネントのうちの２つ以上が、無線電気接続（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続、Ｗｉ−Ｆｉ（登録商標）接続、セルラー接続など）、有線電気接続（例えば、イーサネット（登録商標）接続、ワイヤ、ケーブルなど）などを使用して、互いに通信できてよい。
【００７７】
ＶＦＳ１０１２は、データを少なくとも一時的に格納するために使用されるメモリを含んでいる入出力（Ｉ／Ｏ：input/output）キャッシュ１０１６に、さらに結合される。Ｉ／Ｏキャッシュ１０１６に含まれている要求されたデータは、単に、要求に応答してキャッシュからデータを読み取り、提供することによって、供給されてよい。Ｉ／Ｏキャッシュ１０１６は、磁気テープと比較してより高性能な（例えば、より高速な）記憶媒体であるため、例えば下でさらに詳細に説明されているように、Ｉ／Ｏキャッシュ１０１６から要求されたデータにアクセスすることは、磁気テープ上の格納位置から要求されたデータを再計算またはフェッチすることよりも、大幅に高速であることができる。
【００７８】
図１６をさらに参照すると、ＶＦＳ１０１２およびファイルシステム１０１４は、互いに結合されており、本説明を読んだ後に当業者に明らかになるいずれかの方法に従って動作してよい。さらに、ファイルシステム１０１４は、物理デバイス・レベル１００６にあるコンポーネントに結合される（通信できる）。したがって、コントローラ１０１０は、ユーザ領域１００２、カーネル・レベル１００４、および物理デバイス・レベル１００６のいずれかで、さまざまなコンポーネントと通信することができる。本発明を限定するよう全く意図されていない例示的な方法によれば、コントローラ１０１０は、物理デバイス・レベル１００６に含まれているテープ・ドライブと通信すること（例えば、コマンドを発行すること、データを受信すること、データを送信することなど）ができてよい。
【００７９】
物理デバイス・レベル１００６を参照すると、磁気テープ１０２０に格納されたファイル１０１８を表す図が示されている。好ましい方法によれば、リニア・テープ・ファイル・システム（ＬＴＦＳ）形式に従って、データが磁気テープ１０２０に格納される。したがってファイル１０１８は、ＬＴＦＳ形式に従って磁気テープ１０２０に格納されてよい。しかしデータは、方法に応じて、任意の望ましい形式に従って磁気テープ１０２０に格納されてよい。
【００８０】
本発明の本実施形態に示されていないが、テープ・ドライブ内の磁気テープ・ヘッドが磁気テープ１０２０の特定の領域にアクセスすること（読み取ることまたは書き込むことあるいはその両方）ができるように、磁気テープ１０２０がテープ・ドライブ内に装着されてよい（例えば、図１を参照）。ファイル１０１８の斜線部分は、Ｉ／Ｏキャッシュ１０１６に含まれているデータの部分に対応する。言い換えると、破線によって表されているように、ファイル１０１８の斜線部分に含まれているデータのコピーがＩ／Ｏキャッシュ１０１６に格納される。
【００８１】
前述したように、Ｉ／Ｏキャッシュは、相対的に（例えば、磁気ディスクおよび磁気テープと比較して）高性能な記憶媒体である。したがって、Ｉ／Ｏキャッシュから要求されたデータにアクセスすることは、磁気媒体上の他の格納位置から要求されたデータをフェッチすることよりも著しく高速であることができる。要求されたファイルが磁気媒体の不連続な領域に割り当てられるか、または要求されたファイルの特定の部分のみがＩ／Ｏキャッシュ内に残るか、あるいはその両方である状況では（例えば、図１６のファイル１０１８を参照）、要求されたファイルが読み取られるときに、ファイルの一部がＩ／Ｏキャッシュからアクセスされることがあり、ファイルの残りの部分が磁気媒体からアクセスされる。磁気媒体が磁気ディスクである状況では、磁気ディスク上のファイル・システムのデータ構造および物理的ディスク・システムの物理的構造に起因して、要求されたファイルの限定された部分のみをディスクから読み取ることは、読み取りが実行される速度の著しい低下を引き起こさない。
【００８２】
しかし、磁気媒体が磁気テープである状況では、要求されたファイルの限定された部分のみをテープから読み取ることは、従来の製品においてデータ・アクセス時間の望ましくない速度低下をもたらす。例えば、磁気テープの不連続な領域に割り当てられたファイル、または要求されたファイルの特定の部分のみがＩ／Ｏキャッシュに残っているファイル（例えば、図１６のファイル１０１８を参照）、あるいはその両方が磁気テープ上の開始位置から読み取られる場合、従来の製品は、複数の位置決めコマンド（Ｌｏｃａｔｅ）および読み取りコマンド（Ｒｅａｄ）をテープ・ドライブに発行する。したがって、そのようなファイルの読み取りに対応するデータ・アクセス時間は、複数の位置決めコマンドを実行するのにかかる時間によって決まる。磁気テープから一部のファイルを読み取ることが、限られた数の位置決めコマンドのみを実行することを含んでいることがあるが、その他のファイルを読み取ることが、かなりの数の位置決めコマンドを実行することを含んでいることがある。したがって、本明細書に記載された本発明のさまざまな実施形態は、すぐに明らかになるように、さまざまな要因に応じて既定のファイルを読み取るための効率的な方法を決定するプロセスを提供する。
【００８３】
ここで図１７を参照すると、方法１１００のフローチャートが示されている。方法１１００は、さまざまな実施形態において、特に図１〜図１６に示された環境のいずれかにおいて本発明に従って実行されてよい。当然、当業者が本説明を読んだときに理解するであろうように、図１７において具体的に説明された動作よりも多いか、または少ない動作が方法１１００に含まれ得る。
【００８４】
方法１１００のステップの各々は、動作環境の任意の適切なコンポーネントによって実行されてよい。例えば、方法１１００に含まれている動作のうちの１つまたは複数は、図１６のデータ・ストレージ・システム１０００のコントローラ１０１０によって実行されてよい。しかしながら、本発明のさまざまな実施形態では、方法１１００は、コントローラ、プロセッサ、コンピュータなど、または１つまたは複数のプロセッサを備えているその他のデバイスによって、部分的に、または全体的に実行されてよい。したがって、本発明の一部の実施形態では、方法１１００はコンピュータ実装方法であってよい。本発明のそのような実施形態では、方法の実装に使用されるコンピュータは、テープ・ドライブ自体またはその一部、例えばコントローラ、テープ、外部ホスト、サーバなどを含んでよい。さらに、コンピュータ、プロセッサ、およびコントローラという用語は、本明細書では、本発明の実施形態のいずれかに関して交換可能なように使用されてよく、そのようなコンポーネントは、本発明の多くのさまざまな並べ替えにおいて均等と見なされている。
【００８５】
さらに、プロセッサを含んでいる本発明の実施形態では、ハードウェアまたはソフトウェアあるいはその両方において実装され、好ましくは少なくとも１つのハードウェア・コンポーネントを含んでいるプロセッサ（例えば、処理回路、チップ、またはモジュール、あるいはその組み合わせ）が、方法１１００の１つまたは複数のステップを実行するために任意のデバイス内で利用されてよい。プロセッサの例としては、中央処理装置（ＣＰＵ：central processing unit）、特定用途向け集積回路（ＡＳＩＣ：application specific integrated circuit）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：field programmable gate array）など、これらの組み合わせ、または従来技術において知られた任意のその他の適切なコンピューティング・デバイスが挙げられるが、これらに限定されない。
【００８６】
図１７に示されているように、方法１１００の動作１１０２は、磁気テープに格納されたデータに対する読み取り要求を受信することを含む。一部の方法によれば、受信された読み取り要求は、要求されたデータにアクセスするためにどのファイルが読み取られるべきか、要求されたデータに対応するオフセット、要求されたデータのサイズ（例えば、量）などを示してよく、これらは、要求されたデータにアクセスする際に磁気テープ・ドライブを支援することができる。例えば、受信された読み取り要求は、ｒｅａｄ（”ＦｉｌｅＡ”,ｏｆｆｓｅｔ＝１ＭＢ，ｓｉｚｅ＝１２８ＫＢ）という情報を含んでよい。要求されたデータのサイズ（例えば、要求されたデータの量）に依って、要求されたデータ自体が複数の部分を含み得る。例えば、動作１１０２は、１０ギビバイト（ＧｉＢ）のファイルに対する読み取り要求を受信することを含んでよく、この１０ＧｉＢのファイルは、複数のデータ・ブロック（例えば、部分）を含む。例示的な方法によれば、データ・ブロック自体の各々のサイズは、約５１２キビバイト（ＫｉＢ）であってよいが、さらに大きいか、または小さいことがあり得る。さらに、データは、ＬＴＦＳ形式に従って磁気テープに格納されてよい。
【００８７】
さらに、判定１１０３は、前述したように、要求されたデータの部分のいずれかのコピーがキャッシュ（例えば、Ｉ／Ｏキャッシュなど）内にあるかどうかを判定することを含む。要求されたデータの１つまたは複数の部分のコピーがキャッシュ内にあるということの決定に応答して、方法１１００は、動作１１１２にジャンプするように示されており、それによって、要求されたデータが読み取りバッファ内で組み合わされてよい。読み取りバッファ内で組み合わされた後に、例えば以下にさらに詳細に説明されるように、読み取り要求が満たされ得る。キャッシュ内にある要求されたデータの部分を組み合わせるために、動作１１１２にジャンプすることは、キャッシュから部分を要求すること、キャッシュから部分を受信すること、およびキャッシュから受信された部分を読み取りバッファに追加することを含んでよい。要求されたデータのその他の部分がまだ評価されて（例えば、読み取られて）いないかどうかを判定することが、望ましいこともある。評価されていない要求されたデータの１つまたは複数の部分が存在するということの決定に応答して、要求されたデータの残りの部分にキャッシュまたは磁気テープからアクセスできるように、方法１１００が判定１１０６または動作１１０４に戻ってよい。
【００８８】
図１７のフローチャートのこの横断は、磁気テープからデータを読み取らずに読み取り要求を満たすことができるように、要求されたデータのすべてがキャッシュ内にある状況のために予約されてもよいことに、注意するべきである。しかし、一部の方法では、要求されたデータの一部のみのコピーがキャッシュ内にあることがあり、要求されたデータの残りの部分が磁気テープ上だけにあることがある。そのような方法では、例えば本説明を読んだ後の当業者によって理解されるであろうように、方法１１００の残りの部分または図１８〜図２０に含まれているプロセスの一部あるいはその両方が実行され得る。
【００８９】
要求されたデータの１つまたは複数の部分のコピーがキャッシュ（例えば、Ｉ／Ｏキャッシュ）内にないということの決定に応答して、方法１１００は、動作１１０４に進み、動作１１０４は、磁気テープ上の、キャッシュ内にないということが決定された、要求されたデータの部分にアクセスするように、テープ・ドライブに指示することを含む。上記で暗に示されたように、現在コピーがキャッシュに格納されている、要求されたデータの部分は、磁気テープから読み取られるのとは対照的に、キャッシュから読み取りバッファに直接追加されるのが好ましい。したがって、受信された読み取り要求を満たすプロセスは、例えば本明細書のさまざまな方法で説明されているように、他の部分をキャッシュから集めることに加えて、要求されたデータの部分を磁気テープから集めることを含んでよい。
【００９０】
データ・ストレージ・システムは、任意の数の異なる磁気テープを含んでよい。例えば、データ・ストレージ・システムは、多数の磁気テープを含んでいるテープ・ライブラリを含んでよい。したがって、要求されたデータを含んでいる磁気テープが、テープ・ドライブに対して相対的にどこにあるかに応じて、テープ・ドライブが要求されたデータに実際にアクセスできるようになる前に、追加のプロセスが実行されてよい。本発明を限定するよう全く意図されていない１つの例によれば、データ・ストレージ・システムは、要求されたデータが、テープ・ライブラリのストレージ・スロットに収容されたテープ・カートリッジ内の磁気テープに格納されているということを決定してよい。したがって、磁気テープをテープ・ドライブにマウントできるように、磁気テープを含んでいるテープ・カートリッジをはめ込み（例えば、つかみ）、テープ・ドライブに運ぶために、アクセッサのグリッパ・アセンブリが使用されてよい。しかし、やはり本発明を限定するよう全く意図されていない別の例によれば、データ・ストレージ・システムは、読み取り要求が受信されたときに、要求されたデータが、テープ・ドライブにすでにマウントされている磁気テープ上にあるということを、決定してよい。
【００９１】
要求されたデータを含んでいる磁気テープがテープ・ドライブにマウントされているということが決定された後に、テープ・ドライブ内の磁気テープ・ヘッドが、要求されたデータのほぼ先頭またはその任意の望ましい部分に位置するように、テープ・ドライブが磁気テープを巻くか、または巻き戻すか、あるいはその両方を実行してよい。例示的な方法によれば、動作１１０４で送信された命令を受信することに応答して、テープ供給カートリッジまたは巻き取りリールあるいはその両方を駆動して、磁気テープを磁気テープ・ヘッドの上で移動するために、１つまたは複数の駆動モータが使用されてよい。
【００９２】
したがって、データが格納されている磁気テープは、状況に応じて、テープ・ドライブにすでに装着されていることもあれば、装着されていないこともある。したがって、図１８を一時的に参照すると、磁気テープ上の要求されたデータの先頭にアクセスするために、要求されたデータが格納されている磁気テープがテープ・ドライブに装着されることを保証する例示的なサブプロセスが示されており、これらサブプロセスのうちの１つまたは複数が、図１７の動作１１０４を実行するために使用されてよい。ただし、図１８のサブプロセスが、本発明を限定するよう全く意図されていないということに、注意するべきである。
【００９３】
図に示されているように、下位の動作１１２０は、要求されたデータが格納されている磁気テープを決定することを含んでいる。好ましい方法によれば、磁気テープがテープ・カートリッジに格納され、次いで、このテープ・カートリッジがテープ・ライブラリのストレージ・スロットに格納され得る。したがって、下位の動作１１２０は、要求されたデータが格納されている磁気テープを格納しているテープ・カートリッジを決定することによって、実際に実行されてよい。テープ・カートリッジは、テープ・カートリッジの筐体の外側で／外側からアクセスできる、バーコード、識別番号、無線自動識別（ＲＦＩＤ：radio-frequency identification）チップなどによって識別されてよい。さらに、メモリ内のルックアップ・テーブルが、各テープ・カートリッジに格納されている磁気テープ、およびそのような磁気テープに格納されているデータを追跡してよい。
【００９４】
要求されたデータが格納されている磁気テープが識別された後に、判定１１２２は、識別された磁気テープがストレージ・ライブラリのテープ・ドライブにすでに装着されているかどうかを判定することを含む。磁気テープがテープ・ドライブにすでに装着されているということの決定に応答して、フローチャートが下の図１７の判定１１０６に進む。ただし、望ましいデータを含んでいる磁気テープがテープ・ドライブにすでに装着されているということの決定に応答して、追加のプロセスが実行されてよいということに、注意するべきである。本発明を限定するよう全く意図されていない例示的な使用中の例によれば、下の図２３は、要求されたデータに到達するために磁気テープが巻かれるか、または巻き戻されるか、あるいはその両方が実行される効率的な方法を決定することによって、データ・アクセス時間を最小限に抑えるために実行されてよい、複数のプロセスを含んでいる。
【００９５】
判定１１２２に戻り、磁気テープがまだテープ・ドライブに装着されていないということの決定に応答して、図１８のフローチャートが下位の動作１１２４に進む。そこでは、下位の動作１１２４は、要求されたデータが格納されている磁気テープを格納しているテープ・カートリッジを装着する（例えば、マウントする）テープ・ドライブを選択することを含む。さらに、下位の動作１１２６は、カートリッジを移動する要求を選択されたテープ・ドライブに送信する（例えば、発行する）ことを含む。一部の方法によれば、（例えば、グリッパ・アセンブリを使用して）テープ・カートリッジをはめ込み、現在の位置（例えば、ストレージ・スロット）から選択されたドライブに物理的に運ぶように自動ロボット・アクセッサに指示することによって、下位の動作１１２６が実行されてよい。
【００９６】
さらに、下位の動作１１２８は、磁気テープ上の第１のパーティションの先頭にあるインデックスを読み取るようにテープ・ドライブに指示することを含んでいる。磁気テープ上の第１のパーティションの先頭にあるインデックスを読み取ることによって、磁気テープ上の要求されたデータの位置に関する情報が集められてよい。さらに、テープ・ドライブは、テープ・ドライブの磁気ヘッドが要求されたデータの先頭の上に（例えば、垂直に隣接して）配置されるように磁気テープを進めるために、例えば本明細書に記載された方法のいずれかに従って、位置特定動作の任意の望ましい組み合わせを実行してよい。
【００９７】
フローチャートが、下位の動作１１２８から図１７の判定１１０６に直接進む。したがって、ここで図１７に戻ると、判定１１０６は、キャッシュ内にない要求されたデータの部分の各々に対して、位置特定コマンドを実行すること、または（キャッシュ内にもあることが決定された要求されたデータの部分に対応する返されたデータを破棄しながら）読み取りコマンドを複数回実行することのいずれが、より短い時間でキャッシュ内にない要求されたデータの部分を取り出すかを判定することを含んでいる。言い換えると、判定１１０６は、位置特定−読み取りの方法を使用してキャッシュ内にない要求されたデータの部分を読み取ることにかかる時間が、連続的読み取りの方法を使用して要求されたデータを読み取ることよりも少ないかどうかを判定することを含んでいる。前述したように、要求されたデータの複数の部分の一部が、磁気テープ上に存在すると同時に、キャッシュ内にも存在していることがあり、一方、要求されたデータの複数の部分の他の部分が、磁気テープ上のみに存在することがある。例えば、図１６を一時的に再び参照すると、要求されたファイル１０１８の斜線部分が磁気テープ１０２０上に存在し、Ｉ／Ｏキャッシュ１０１６内にも存在している。しかし、要求されたファイル１０１８の斜線のない部分は、磁気テープ１０２０上のみに存在している。したがって、判定１１０６は、要求されたデータの次の部分に対応する位置にテープを進めるために、位置特定−読み取りの方法を使用すること、または連続的読み取りの方法を使用することのどちらによって、要求されたデータの次の部分の読み取りがより効率的に実行されるかを、判定していてよい。したがって、やはり判定１１０６は、例えば以下さらに詳細に説明されているように、反復的方法で、要求されたデータの各部分に対して実行されてよい。しかし、一部の方法では、位置特定コマンドを実行すること、または、キャッシュ内にもあることが決定された要求されたデータの部分に対応する返されたデータを破棄しながら読み取りコマンドを複数回実行することに対応する合計時間を判定するために、キャッシュ内にない要求されたデータのすべての部分が全体として評価されてよい。
【００９８】
位置特定−読み取りの方法を使用して要求されたデータを読み取ることは、キャッシュ内にもある要求されたデータの部分を読み飛ばしながら、磁気テープ上のみに格納されている要求されたデータの部分を読み取ることを含む。キャッシュ内にもある要求されたデータの部分は、テープを磁気テープのみに格納されている要求されたデータの次の部分に進める位置特定コマンドを実行することによって、読み飛ばされてよい。前述したように、この方法は、複数の連続的読み取り動作を実行することを含んでいる連続的読み取りの方法よりも大きい処理時間をもたらすことがあるが、このことは複数の異なる要因に依存する。
【００９９】
例えば、要求されたデータ（例えば、ターゲット・レコード）の後続の部分の位置に対する位置特定検索（locate searches）は、その部分がテープ・ドライブ内のバッファにすでに格納されている場合でも、ファームウェアを介して処理される。その結果、位置特定コマンドを処理するには、相対的に長い時間ｔｌがかかる。位置特定コマンドが実行された後でも、テープ・ドライブは、その直後に読み取り動作を実行しなければならない。さらに、位置特定コマンドの直後の読み取りは、ファームウェアにおけるハードウェアの設定時間を含んでおり、したがってその実行には、同様に相対的に長い時間ｔｒ１がかかる。しかし、複数の連続的読み取り動作の実行は、ファームウェアではなくハードウェアを使用して処理され、したがってその実行には、極めて少ない時間ｔｒ２がかかる。これは、テープ・ドライブが通常、順方向での連続的読み取りに高度に最適化された特性を有しているということに、部分的に起因する。
【０１００】
これらの異なる動作の各々を処理するのにかかる実際の時間は、既定のテープ・ドライブの種類（例えば、世代）、構成などに応じて変化することがある。したがって、これらの異なる処理時間に関連する値を決定するために、テープ・ドライブが、製造された後にテストされてよい。これらの値は、今後の参照のために、テープ・ドライブのメモリ（例えば、ルックアップ・テーブル）にさらに格納されてよい。本発明を限定するよう全く意図されていない１つの例によれば、５１２キロバイト（ＫＢ）のレコードにアクセスするＬＴＯ８テープ・ドライブは、１１．９ｍｓの位置特定コマンドの処理時間ｔｌ、９．３ｍｓの位置特定の後の読み取りの処理時間ｔｒ１、および１．４ｍｓの連続的読み取りの処理時間ｔｒ２を有することができる。これらの値は、決定された後に、テープ・ドライブの起動後に固定されてよく、またはテープ・ドライブの起動後に、対応するコマンドが発行されたときに、統計計算を介して更新されてよい。
【０１０１】
位置特定コマンドおよび複数の連続的読み取り動作の実行に関連する実行時間が相対的に高速であるかまたは低速であるにもかかわらず、これらの実行時間は、磁気テープ上における、現在の位置と、要求されたデータの後続の部分を分離する間隔に、少なくとも多少依存する。式１は、磁気テープを現在の位置から、要求されたデータの後続の部分に進めるために位置特定動作を実行することに関連する第１の時間が、磁気テープを現在の位置から、要求されたデータの後続の部分に進めるために複数の連続的読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定するための例示的な方法を提供する。したがって式１は、一部の方法では、判定１１０６を実行するために使用されてよい。
【０１０２】
（数１）
（ＰＤ−ＰＣ）ｔｒ２＋ｔｒ２＞（ＰＤ−ＰＣ＋１）ｔｒ２    式１
【０１０３】
したがって、式１は式１．１に簡略化されてよく、本明細書に記載された方法のいずれかに従って、式１．１が使用されてもよい。
【０１０４】
（数２）
（ＰＤ−ＰＣ＋１）ｔｒ２＞ｔｌ＋ｔｒ１    式１．１
【０１０５】
ここで、ＰＤは、要求されたデータの後続の部分の開始位置を表し、ＰＣは、磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置（position）（例えば、位置（location））を表す。したがって、複数の連続的読み取り動作を実行する時間が、位置特定動作を実行してから読み取り動作を実行する時間より少ないかどうかは、磁気テープに対し相対的な、要求されたデータの後続の部分の開始位置（「第１の位置」）と、磁気テープ・ヘッドの現在の位置（「第２の位置」）との間の距離に依存する。
【０１０６】
したがって、一部の方法では、使用中にＰＤおよびＰＣの特定の値に対してオンザフライで式１が真であるかどうかを判定するのではなく、既定のテープ・ドライブに関して真である論理的ステートメントをもたらすＰＤおよびＰＣの相対的値の範囲を決定するために、式１が使用されてよい。言い換えると、位置特定コマンドの処理時間ｔｌ、位置特定の後の読み取りの処理時間ｔｒ１、および連続的読み取りの処理時間ｔｒ２がすべて、既定のテープ・ドライブに関して既知であることがある（または、少なくとも決定できる）ため、式１が真になることをもたらす（ＰＤ−ＰＣ＋１）の値の範囲を決定することができる。さらに、決定された範囲内にある（ＰＤ−ＰＣ＋１）の値をもたらすＰＤおよびＰＣの値の範囲は、外挿され、例えばルックアップ・テーブルなどのメモリに格納されてもよい。したがって、一部の方法では、判定１１０６は、ルックアップ・テーブルにアクセスし、「第１の位置」を「第２の位置」から分離する磁気テープの長手方向の長さに沿った距離が、式１が真であることをもたらす既定の範囲内であるかどうかを判定することによって、決定されてよい。
【０１０７】
ここで一時的に図２１を参照すると、例示的なＬＴＯ８テープ・ドライブによって読み飛ばされる部分の種々の数に対して、位置特定−読み取りの方法と連続的読み取りの方法に従うことに関連する処理時間を示すグラフ１２００が、提示されている。グラフ１２００のプロットを形成するために使用されるデータは、測定された実験結果に基づいて計算された実験に従って生成された。
【０１０８】
連続的読み取りの方法を実装することは、キャッシュおよび磁気テープに格納されている、要求されたデータの複数の部分による影響を受けないため、一定の処理時間がもたらされる。しかしながら、要求されたデータの複数の部分が読み飛ばされるときに、位置特定−読み取りの方法が、処理時間における著しい増加を引き起こすことが示されている。明確にするために、Ｘ軸に沿った数が、読み飛ばしが発生する、要求されたデータの部分の平均数を表すということに注意するべきである。例えば、Ｘ軸に沿った２の値は、読み取り時に、要求されたデータの２つの部分ごとに１つが読み飛ばされる状況を表す。このプロットは、位置特定−読み取りの方法と連続的読み取りの方法の間の関係を表している。したがって、２つのプロットが交差する位置は、２つの方法の効率が切り替わる点を表している。したがって、２つのプロットが交差する正確な位置、またはプロット自体でさえ、特定のテープ・ドライブに応じて変化することがある。
【０１０９】
したがって、判定１１０６に戻ると、状況に応じて、位置特定−読み取りの方法および連続的読み取りの方法のうちの特定の１つを使用して、要求されたデータの後続の部分を読み取ることが、より望ましいことがある。図に示されているように、方法１１００は、位置特定−読み取りの方法を使用して要求されたデータの後続の部分を読み取るのにかかる時間が、連続的読み取りの方法を使用して要求されたデータの後続の部分を読み取るのにかかる時間よりも少なくなるということの決定に応答して、動作１１０８に進む。そこでは、動作１１０８が、位置特定−読み取りコマンドを発行して、キャッシュ内にない要求されたデータの後続の部分を取り出すことを含んでいる。動作１１０８は、要求されたデータの後続の部分に対して一度だけ実行されてよいが、他の方法では、動作１１０８は、要求されたデータの複数の部分に対する反復プロセスの一部として実行されてよい。図１９を一時的に参照すると、要求されたデータの後続の部分に対して位置特定−読み取りの方法を実行する例示的な下位の動作が示されており、これらの下位の動作のうちの１つまたは複数が、図１７の動作１１０８を実行するために使用されてよい。ただし、図１９の下位の動作が、本発明を限定するよう全く意図されていないということに、注意するべきである。
【０１１０】
図に示されているように、図１９のフローチャートは、要求されたデータの現在の部分を読み飛ばし、要求されたデータの「後続の部分」にアクセスするために、位置特定コマンドを実行するようにテープ・ドライブに指示することを含んでいる。下位の動作１１４０を参照する。前述したように、要求されたデータの現在の部分（テープ・ドライブの磁気ヘッドが現在上に配置されている部分）は、複数の理由のためにテープ・ヘッドによって読み込まれないことがある。一部の方法によれば、要求されたデータの現在の部分は、キャッシュに格納されていることがあり、したがって、キャッシュから読み取りバッファに直接追加されることがある。さらに、「後続の部分」という用語が、テープ・ドライブの磁気ヘッドによって現在アクセスできる要求されたデータの１つの部分の後の、磁気テープに格納された要求されたデータの次の部分を指すよう意図されているということに、注意するべきである。したがって、図１９に関して「後続の部分」という用語が使用されるたびに、この用語は、要求されたデータの同じ後続の部分を指している。
【０１１１】
磁気ヘッドによって現在アクセスできる要求されたデータの部分を読み飛ばす理由にかかわらず、下位の動作１１４２は、要求されたデータの後続の部分（テープ・ドライブの磁気ヘッドのほぼ下に現在配置されている）を磁気テープから読み取るようにテープ・ドライブに指示することを含んでいる。さらに、図１９に示されていないが、フローチャートは、磁気テープから読み取られた要求されたデータの後続の部分を要求することをさらに含んでよい。言い換えると、フローチャートは、動作１１４２でテープ・ドライブから読み取られたデータを要求することを含んでよい。テープ・ドライブは、有線電気接続（例えば、図１６を参照）、無線接続（例えば、アンテナを使用する）、または本明細書に記載されたさまざまなプロセスを実行するコンポーネントに情報を転送する任意のその他の望ましい方法を介して、読み取られたデータを提供してよい。
【０１１２】
さらに、下位の動作１１４４は、テープ・ドライブによって磁気テープから読み取られた，要求されたデータの後続の部分をテープ・ドライブから受信することを含んでいる。下位の動作１１４６は、テープ・ドライブから受信された（テープ・ドライブによって読み取られた）要求されたデータの後続の部分を読み取りバッファに追加することも含んでいる。
【０１１３】
図に示されているように、図１９のフローチャートは、下位の動作１１４６から判定１１４８に進む。そこでは、判定１１４８が、まだ評価されて（例えば、読み取られて）いない要求されたデータのその他の部分があるかどうかを判定することを含んでいる。フローチャートは、まだ読み取られていない要求されたデータの少なくとも１つの部分があるということの決定に応答して、判定１１０６に戻ってよく、図１７〜図２０に含まれているプロセスのうちの任意のプロセスが、まだ評価されていないと決定された少なくとも１つの部分に対して実行されるか、または繰り返されてよい。しかしながら、評価するための要求されたデータの部分がそれ以上残されていないということの決定に応答して、フローチャートが図１７の動作１１１２に直接戻る。
【０１１４】
図１７の判定１１０６に戻ると、方法１１００は、代替として、位置特定−読み取りの方法を使用して要求されたデータの後続の部分を読み取るのにかかる時間が、連続的読み取りの方法を使用して要求されたデータの後続の部分を読み取るのにかかる時間よりも少なくならないということの決定に応答して、動作１１１０に進んでよい。そこでは、動作１１１０が、連続的読み取りコマンドを発行して、キャッシュ内にない要求されたデータの後続の部分を取り出すことを含んでいる。動作１１１０は、要求されたデータの後続の部分に対して一度だけ実行されてよいが、他の方法では、動作１１１０は、要求されたデータの複数の部分に対する反復プロセスの一部として実行されてよい。図２０を一時的に参照すると、要求されたデータの後続の部分に対して連続的読み取りの方法を実行する例示的な下位の動作が示されており、これらの下位の動作のうちの１つまたは複数が、図１７の動作１１１０を実行するために使用されてよい。ただし、図２０の下位の動作が、本発明を限定するよう全く意図されていないということに、注意するべきである。
【０１１５】
図に示されているように、図２０のフローチャートは、テープ・ドライブの磁気ヘッドに対する相対的な磁気テープの現在の位置（position）（例えば、位置（location））が、磁気テープ・ヘッドが要求されたデータの「後続の部分」にアクセスできるような位置であるかどうかを判定することを含んでいる。判定１１６０を参照する。言い換えると、判定１１６０は、磁気テープの現在の位置が要求されたデータの後続の部分の位置に等しいかどうかを判定することを含んでいる。やはり、要求されたデータの現在の部分（テープ・ドライブの磁気ヘッドが現在上に配置されている部分）は、複数の理由のためにテープ・ヘッドによって読み込まれないことがある。一部の方法によれば、要求されたデータの現在の部分は、キャッシュに格納されていることがあり、したがって、キャッシュから読み取りバッファに直接追加されることがある。さらに、「後続の部分」という用語が、テープ・ドライブの磁気ヘッドによって現在アクセスできる要求されたデータの１つの部分の後の、磁気テープに格納された要求されたデータの次の部分を参照するよう意図されているということに、注意するべきである。したがって、図２０に関して「後続の部分」という用語が使用されるたびに、この用語は、要求されたデータの同じ後続の部分を指している。
【０１１６】
図に示されているように、磁気テープ・ヘッドに対する相対的な磁気テープの現在の位置が要求されたデータの後続の部分に等しくないということの決定に応答して、フローチャートが下位の動作１１６２に進む。そこでは、下位の動作１１６２が、要求されたデータの後続の部分に到達しようとして、要求されたデータの現在の部分を読み飛ばすために、読み取り動作を実行するようにテープ・ドライブに指示することを含んでいる。下位の動作１１６２の実行後に、フローチャートが、再び実行されてよい判定１１６０に戻る。
【０１１７】
しかしながら、磁気テープ・ヘッドに対する相対的な磁気テープの現在の位置が要求されたデータの後続の部分に等しいということの決定に応答して、フローチャートが下位の動作１１６４に進む。そこでは、下位の動作１１６４が、要求されたデータの後続の部分（現在、テープ・ドライブの磁気ヘッドのほぼ下に配置されている）を磁気テープから読み取るようにテープ・ドライブに指示することを含んでいる。さらに、図２０に示されていないが、フローチャートは、磁気テープから読み取られた要求されたデータの後続の部分を要求することをさらに含んでよい。言い換えると、フローチャートは、動作１１６４でテープ・ドライブから読み取られたデータを要求することを含んでよい。テープ・ドライブは、有線電気接続（例えば、図１６を参照）、無線接続（例えば、アンテナを使用する）、または本明細書に記載されたさまざまなプロセスを実行するコンポーネントに情報を転送する任意のその他の望ましい方法を介して、読み取られたデータを提供してよい。
【０１１８】
さらに、下位の動作１１６６は、テープ・ドライブによって磁気テープから読み取られた要求されたデータの後続の部分をテープ・ドライブから受信することを含んでいる。下位の動作１１６８は、テープ・ドライブから受信された（テープ・ドライブによって読み取られた）要求されたデータの後続の部分を読み取りバッファに追加することも含んでいる。
【０１１９】
図に示されているように、図２０のフローチャートは、下位の動作１１６８から判定１１７０にさらに進む。そこでは、判定１１７０が、まだ評価されて（例えば、読み取られて）いない要求されたデータのその他の部分があるかどうかを判定することを含んでいる。フローチャートは、まだ読み取られていない、要求されたデータの少なくとも１つの部分があるということの決定に応答して、判定１１０６に戻ってよく、図１７〜図２０に含まれているプロセスのうちの任意のプロセスが、まだ評価されていないと決定された少なくとも１つの部分に対して実行されるか、または繰り返されてよい。しかしながら、評価するための要求されたデータの部分がそれ以上残されていないということの決定に応答して、フローチャートが図１７の動作１１１２に直接戻る。
【０１２０】
図１７に戻ると、動作１１１２が、読み取りバッファに含まれている要求されたデータの部分を組み合わせることを含んでいる。したがって、動作１１１２は、キャッシュ内にない要求されたデータの部分を、キャッシュ内にある要求されたデータの部分と組み合わせることを含んでいる。さらに、動作１１１４は、例えば要求されたデータの組み合わされた部分を使用して、受信された読み取り要求を満たすことを含んでいる。読み取りバッファに含まれている要求されたデータの部分は、本説明を読んだ後に当業者に明らかになるいずれかの方法に従って組み合わされてよい。例えば、要求されたデータの部分は、単一のファイルにマージされてよく、その後、受信された要求に応答して提供されてよい。さらに、要求されたデータを、受信された読み取り要求の送信元に送信すること、読み取り要求を発行したユーザに、要求されたデータが使用可能であるということを知らせること、要求されたデータへのアクセスを提供することなどによって、読み取り要求が満たされてよい。
【０１２１】
方法１１００のさまざまな動作および図１８〜図２０で説明されたサブプロセスが、互いに関連して実行されているように示されているが、動作またはサブプロセスあるいはその両方のうちの特定の動作またはサブプロセスあるいはその両方が、別々に実行されてよいということに、注意するべきである。例えば、磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間、または磁気テープを第２の位置から第１の位置に進めるために複数の連続的読み取り動作を実行することに関連する第２の時間のどちらが少ないかを判定するプロセスは、読み取り要求を満たすこととは別に決定されてよい。例えば、書き込み動作を実行するために磁気テープの望ましい部分にアクセスする最も時間効率の良い方法を決定するように、さまざまな判定または下位の動作あるいはその両方が実装されてよい。
【０１２２】
同様に、図１８〜図２０に含まれているサブプロセスのうちのさまざまなサブプロセスが、示されている順序とは異なる順序で実行されてよいということに、注意するべきである。例えば、部分が読み取られた後に、要求されたデータの単一の部分のコピーがＩ／Ｏキャッシュ内にあるかどうかを判定するのではなく（図２０の判定１１６２を参照）、例えば、キャッシュ内にあるということが決定された部分に対する要求を、磁気テープから部分を読み取ることと同時に発行できるように、要求されたデータの複数の部分の各々がキャッシュ内にあるかどうかに関する判定が行われてよい。別の例によれば、要求されたデータの部分の各々を読み取りバッファに個別に追加するのではなく、キャッシュ内にあるということが決定された要求されたデータの部分の全部または一部が、（例えば、システムのスループットを減らすために）キャッシュから一緒に受信され、読み取りバッファに一緒に追加されてよい。一部の方法では、キャッシュから受信された要求されたデータの部分は、磁気テープから読み取られた（破棄されなかった）要求されたデータの部分と共に、読み取りバッファに追加されてよい。
【０１２３】
図２２を参照すると、インデックス・パーティション１３０２およびデータ・パーティション１３０４を含んでいる磁気テープ１３００に従って、本発明を限定するよう全く意図されていない使用中の例が示されている。図に示されているように、データ・ファイル（ファイルＡ〜ファイルＤ）およびインデックス（インデックス０〜インデックス３）がテープに格納されている。本説明を読むときに当業者によって理解されるであろうように、ＬＴＦＳ形式は、インデックス情報をテープ１３０６の先頭にあるインデックス・パーティション１３０２に記録できるようにする。
【０１２４】
具体的にファイルＡを参照すると、ファイルの詳細な図が、複数の異なる部分（例えば、「レコード」、ブロックなど）を含んでいることを示している。前述したように、これらの部分の一部が、磁気テープに加えてキャッシュに格納され、一方、他の部分が、磁気テープのみに格納される。使用中のこの例では、部分ｎ＋１、ｎ＋３、ｎ＋５、およびｎ＋８が、磁気テープとキャッシュの両方に格納され、これを表すように斜線が付けられている。しかし、部分ｎ、ｎ＋２、ｎ＋４、ｎ＋６、およびｎ＋７は、磁気テープのみに格納されている。
【０１２５】
ファイルＡの部分ｎ〜ｎ＋８に対する要求は、示されているＬＴＦＳ形式を実装するテープに基づくデータ・ストレージ・システムによって受信されてよい。要求を受信することに応答して、磁気テープ１３００がマウントされている磁気テープ・ドライブに電気的に結合されたコントローラ（またはその他の処理コンポーネント）が、以下のプロセスを実行し得る。
１．  部分ｎの位置を特定する。
２．  部分ｎを読み取る。
３．  ＬＴＦＳは、キャッシュされており、したがってＶＦＳによって処理される部分ｎ＋１の領域に対する要求を受信しない。
４．  部分ｎ＋１を読み取り、部分ｎ＋１に含まれているデータを破棄する。
５．  部分ｎ＋２を読み取る。
６．  ＬＴＦＳは、キャッシュされており、したがってＶＦＳによって処理される部分ｎ＋３の領域に対する要求を受信しない。
７．  部分ｎ＋３を読み取り、部分ｎ＋３に含まれているデータを破棄する。
８．  部分ｎ＋４を読み取る。
９．  ＬＴＦＳは、キャッシュされており、したがってＶＦＳによって処理される部分ｎ＋５の領域に対する要求を受信しない。
１０．  部分ｎ＋５を読み取り、部分ｎ＋５に含まれているデータを破棄する。
１１．  部分ｎ＋６を読み取る。
１２．  部分ｎ＋７を読み取る。
１３．  ＬＴＦＳは、キャッシュされており、したがってＶＦＳによって処理される部分ｎ＋８の領域に対する要求を受信しない。
【０１２６】
前述したように、望ましいデータを含んでいる磁気テープがテープ・ドライブにすでに装着されているということの決定に応答して、追加のプロセスが実行されてよい。本発明を限定するよう全く意図されていない例示的な使用中の例によれば、図２３は、要求されたデータに到達するために磁気テープが巻かれるか、または巻き戻されるか、あるいはその両方が実行される効率的な方法を決定することによって、データ・アクセス時間を最小限に抑えるために実行されてよい、複数のプロセスを含んでいる。具体的には、図２３は、磁気テープ上の要求されたデータの先頭にアクセスするようにテープ・ドライブに指示する例示的なサブプロセスを含んでいる。図２３に含まれているサブプロセスのうちの１つまたは複数が、図１７の動作１１０４を実行するために使用されてよい。ただし、図２３のサブプロセスが、本発明を限定するよう全く意図されていないということに、注意するべきである。
【０１２７】
図に示されているように、下位の動作１４２０は、要求されたデータの先頭に対応する磁気テープ上の第１の位置を決定することを含んでいる。本明細書において使用されるとき、「位置」は、磁気テープ自体の上の特定の位置を指定する、任意の形態の情報であってよい。例えば、位置は、磁気テープ上のサーボ・バンドに対応する長手方向の位置（ＬＰＯＳ：longitudinal position）の値であってよい。一部の方法によれば、要求されたデータに関連付けられたオフセット値またはサイズあるいはその両方を使用することによって、第１の位置が決定されてよい。例えば、要求されたデータは、磁気テープ上の基準点からの特定のオフセットで開始し、ファイルのサイズに応じて磁気テープの長さに沿って特定の距離だけ伸びる、磁気テープ上の特定のデータ・バンドの既定のデータ・トラックに格納されているファイルまたはその部分であってよい。この基準点は、望ましい方法に応じて、テープの先頭、テープ上のヘッダー領域の末尾、テープの既定の巻き数の先頭、テープの末尾などであってよい。さらに、要求されたデータに関連付けられたオフセット値またはサイズあるいはその両方は、下位の動作１４２０を実行するために参照（アクセス）されてよいルックアップ・テーブルに格納されてよい。
【０１２８】
判定１４２２は、テープ・ドライブの磁気テープ・ヘッドが第１の位置にすでに配置されているかどうかを判定することを含んでいる。言い換えると、判定１４２２は、磁気テープ・ヘッドが第１の位置のほぼ上にすでに配置されているかどうかを判定することを含んでいる。フローチャートは、テープ・ドライブの磁気テープ・ヘッドが第１の位置にすでに配置されているということの決定に応答して、下の図１７の判定１１０６に直接進む。しかしながら、テープ・ドライブの磁気テープ・ヘッドが第１の位置にまだ配置されていないとう決定に応答して、図２３のフローチャートが判定１４２４に進む。そこでは、判定１４２４が、磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応する磁気テープ上の第２の位置が第１の位置より大きいかどうかを判定することを含んでいる。言い換えると、判定１４２４は、磁気テープの先頭から磁気テープに対し相対的な磁気テープ・ヘッドの現在の位置までの距離が、磁気テープの先頭から第１の位置までの距離より遠いかどうかを判定することを含んでいる。１つの例によれば、テープの先頭から位置までの距離と線形関係を有する値が、位置の各々に割り当てられてよい。磁気テープの長さに沿った磁気テープの先頭から位置までの距離が遠いほど、各位置に割り当てられる値が大きくなる。したがって、磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置ＰＣに関連付けられた位置の値が、要求されたデータの開始位置ＰＤに関連付けられた位置の値より大きい場合、テープの先頭から第２の位置までの距離が、第１の位置までの距離より遠いということが決定されてよい。
【０１２９】
図に示されているように、第２の位置が第１の位置より大きいということの決定に応答して、フローチャートが下位の動作１４２６に進み、下位の動作１４２６は、第１の位置に対して位置特定コマンドを実行するようにテープ・ドライブに指示することを含んでいる。この状況では、磁気テープ・ヘッドが第１の位置をすでに通過しており、したがって、第１の部分に再びアクセスするにはテープが巻き戻されなければならないということが決定されたため、第１の位置にアクセスするために位置特定コマンドが使用されるのが望ましい。すぐに明らかになるように、磁気テープ上の特定の位置にアクセスするための代替の方法は、テープを特定の位置に向かう方向に進めるために読み取り動作を実行することを含んでよい。しかし、一部のテープ・ドライブは、１方向のみで読み取り動作を実行できるという点において、単方向である。したがって、第１の位置が磁気テープ・ヘッドによってすでに通過されている場合、第１の位置にアクセスするために、読み取り動作ではなく位置特定動作を実行することが望ましいことがある。しかしながら、本発明の他の実施形態では、テープ・ドライブが、テープの両方の移動方向（供給リールから巻き取りリールへ、および巻き取りリールから供給リールへ）で読み取り動作を実行できる双方向テープ・ヘッドを有してよい。したがって、本発明を限定するよう全く意図されていない一部の例によれば、判定１４２４が実行されなくてよく、フローチャートが判定１４２２から判定１４２８に直接進んでよい。
【０１３０】
図２３の下位の動作１４２６をさらに参照すると、位置特定コマンドは、磁気テープの現在アクセスされている領域よりもテープの先頭に近い磁気テープ上の位置にアクセスするために、粗アクチュエータまたは精アクチュエータあるいはその両方を使用してテープを供給リールに巻き戻すことによって、テープ・ドライブによって実行されてよい。テープ・ドライブは、第１の位置を使用して位置特定コマンドを実行してよい。フローチャートが、下位の動作１４２６から下の図１７の判定１１０６に直接進む。
【０１３１】
判定１４２４に戻ると、第２の位置が第１の位置より大きくない（小さい）ということの決定に応答して、フローチャートが判定１４２８に進む。前述したように、テープの先頭からの各位置の距離に対応する各位置に、値が割り当てられてよい。したがって、第１の位置よりも第２の位置のほうがテープの先頭に近いということの決定に応答して、フローチャートが判定１４２８に進んでよい。そこでは、判定１４２８が、磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する「第１の時間」が、磁気テープを第２の位置から第１の位置に進めるために複数の連続的読み取り動作を実行することに関連する「第２の時間」より少ないかどうかを判定することを含んでいる。第１の位置と第２の位置の間の距離に応じて、磁気テープを進めるために使用されるプロセスによって、磁気テープ・ヘッドが第１の位置のほぼ上に配置されるように磁気テープを進めるのにかかる時間が変化することがある。例えば、第１の位置および第２の位置が大きい距離で分離されている場合、位置特定コマンドを実行することが磁気テープをより効率的に進めることができ、一方、第１の位置および第２の位置が互いに接近して配置されている場合、複数の連続的読み取り動作を実行することが磁気テープをより効率的に進めることができる。
【０１３２】
しかしながら、磁気テープ・ヘッドが第１の位置にアクセスできるように磁気テープを進めるために、どのプロセスが最も効率的かに関する詳細は、特定のテープ・ドライブに依存することがある。前述したように、ターゲット・レコードの位置に対する位置特定検索は、ターゲット・レコードがテープ・ドライブ内のバッファにすでに格納されている場合でも、ファームウェアを介して処理される。その結果、位置特定コマンドを処理するには、相対的に長い時間ｔｌがかかる。位置特定コマンドが実行された後でも、テープ・ドライブは、その直後に読み取り動作を実行しなければならない。さらに、位置特定コマンドの直後の読み取りは、ファームウェアにおけるハードウェアの設定時間を含んでおり、したがってその実行には、同様に相対的に長い時間ｔｒ１がかかる。しかしながら、複数の連続的読み取り動作の実行は、ファームウェアではなくハードウェアを使用して処理され、したがってその実行には、極めて少ない時間ｔｒ２がかかる。これは、テープ・ドライブが通常、順方向での連続的読み取りに高度に最適化された特性を有しているということに、部分的に起因する。
【０１３３】
これらの異なる動作の各々を処理するのにかかる実際の時間は、既定のテープ・ドライブの種類（例えば、世代）、構成などに応じて変化することがある。したがって、これらの異なる処理時間に関連する値を決定するために、テープ・ドライブが、製造された後にテストされてよい。これらの値は、今後の参照のために、テープ・ドライブのメモリ（例えば、ルックアップ・テーブル）にさらに格納されてよい。
【０１３４】
位置特定コマンドおよび複数の連続的読み取り動作の実行に関連する実行時間が相対的に高速であるか低速であるにもかかわらず、これらの実行時間は、磁気テープ上の第１の位置と第２の位置を分離する間隔に、少なくとも多少依存する。式１は、磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、磁気テープを第２の位置から第１の位置に進めるために複数の連続的読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定するための例示的な方法を提供する。したがって式１または同等の式１．１（上記）は、一部の方法では、判定１４２８を実行するために使用されてよい。したがって、複数の連続的読み取り動作の実行時間が、位置特定動作を実行してから読み取り動作を実行する時間より少ないかどうかは、要求されたデータの開始位置（「第１の位置」）と、磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置（「第２の位置」）との間の距離に依存する。
【０１３５】
したがって、一部の方法では、使用中にＰＤおよびＰＣの特定の値に対してオンザフライに式１が真であるかどうかを判定するのではなく、既定のテープ・ドライブに関して真である論理的ステートメントをもたらすＰＤおよびＰＣの相対的値の範囲を決定するために、式１が使用されてよい。言い換えると、位置特定コマンドの処理時間ｔｌ、位置特定の後の読み取りの処理時間ｔｒ１、および連続的読み取りの処理時間ｔｒ２は、すべて既定のテープ・ドライブに関して既知であることがある（または、少なくとも決定できる）ため、式１が真になることをもたらす（ＰＤ−ＰＣ＋１）の値の範囲を決定することができる。さらに、決定された範囲内にある（ＰＤ−ＰＣ＋１）の値をもたらすＰＤおよびＰＣの値の範囲は、外挿され、例えばルックアップ・テーブルなどのメモリに格納されてもよい。したがって、一部の方法では、判定１４２８は、ルックアップ・テーブルにアクセスし、第２の位置を第１の位置から分離する磁気テープの長手方向の長さに沿った距離が、式１が真であることをもたらす既定の範囲内であるかどうかを判定することによって、決定されてよい。同様に、２つの位置間のデータの複数の部分に基づいて判定が行われてよい。例えば、実行される各読み取り要求がデータの１つの部分（例えば、ブロック）を読み取ることに対応すると仮定して、実行される読み取り要求の数に基づいて判定が行われてよい。しかしながら、判定１４２８は、本説明を読んだ後に当業者にとって明らかになる任意のプロセスを使用して判定されてよい。
【０１３６】
引き続き図２３を参照すると、複数の連続的読み取り動作を実行する時間が、位置特定動作を実行してから読み取り動作を実行する時間より大きいということの決定に応答して、フローチャートが下位の動作１４２６に進む。前述したように、下位の動作１４２６は、本明細書に記載された方法のいずれかに従って第１の位置に対して位置特定コマンドを実行するように、テープ・ドライブに指示することを含んでいる。代替として、複数の連続的読み取り動作を実行する時間が、位置特定動作を実行してから読み取り動作を実行する時間より少ないということの決定に応答して、フローチャートが下位の動作１４３０に進んでよい。図に示されているように、下位の動作１４３０は、複数の連続的読み取り動作を実行するようにテープ・ドライブに指示することを含んでいる。一部の方法によれば、実行される各読み取り動作は、データの単一の部分を読み取ることに対応してよい。例えば、実行される各読み取り動作は、磁気テープに格納されたデータの単一のブロックを読み取ることに対応してよい。
【０１３７】
さらに、磁気テープを望ましい位置に進めるために複数の連続的読み取り動作が実行されているため、複数の連続的読み取り動作の実行中にテープから実際に読み取られるデータは、望まれていない。したがって、複数の連続的読み取り動作の間に読み取られたデータは、メモリに格納されたり、さらに処理を実行するために使用したり、ユーザに提供されたりなどせず、破棄される（例えば、削除される）のが好ましい。したがって、下位の動作１４３０は、データが読み取られた直後にデータを破棄する（例えば、削除する）ようにテープ・ドライブに指示することをさらに含んでよい。複数の連続的読み取り動作の各々の間に読み取られたデータは、少なくともある程度メモリに格納されてよいということに、注意するべきである。例えば、磁気テープの既定の部分から読み取られたデータは、読み取られたときに読み取りバッファに追加されてよい。しかしながら、例えば本説明を読んだ後に当業者によって理解されるであろうように、削除される前に読み取り動作を実行すること以外の方法で、データが格納されることも使用されることもないことが好ましい。したがって、一部の方法では、読み取り動作のうちのその後の１つが実行される前に（例えば、データがすべて使用される前に）、複数の連続的読み取り動作の各々の間に読み取られたデータが破棄される。フローチャートが、下位の動作１４３０から、本明細書に記載された方法のいずれかに従って実行されてよい図１７の判定１１０６に直接進む。
【０１３８】
本発明を限定するよう全く意図されていない本発明の使用中の別の実施形態例によれば、図２４は、要求されたデータの後続の部分に対して位置特定−読み取りの方法を実行する例示的な下位の動作を含んでおり、これらの下位の動作のうちの１つまたは複数が、上記の図１７の動作１１０８を実行するために使用されてよい。ただし、図２４の下位の動作が、本発明を限定するよう全く意図されていないということに、注意するべきである。
【０１３９】
図に示されているように、図２４のフローチャートは、要求されたデータの部分のコピーがＩ／Ｏキャッシュ内にあるかどうかを判定することを含む判定１４４０を含んでいる。要求されたデータの部分のコピーがＩ／Ｏキャッシュ内にないということの決定に応答して、フローチャートが下位の動作１４４２に進む。そこでは、下位の動作１４４２が、要求されたデータの部分を磁気テープから読み取るようにテープ・ドライブに指示することを含んでいる。さらに、下位の動作１４４４は、磁気テープから読み取られた要求されたデータの部分を要求することを含んでいる。言い換えると、下位の動作１４４４は、動作１４４２でテープ・ドライブから読み取られたデータを要求することを含んでいる。テープ・ドライブは、有線電気接続（例えば、図１６を参照）、無線接続（例えば、アンテナを使用する）、または本明細書に記載されたさまざまなプロセスを実行するコンポーネントに情報を転送する任意のその他の望ましい方法を介して、読み取られたデータを提供してよい。
【０１４０】
下位の動作１４４６は、テープ・ドライブによって磁気テープから読み取られた要求されたデータの部分をテープ・ドライブから受信することを含んでいる。さらに、下位の動作１４４８は、テープ・ドライブから受信された（テープ・ドライブによって読み取られた）要求されたデータの部分を読み取りバッファに追加することを含んでいる。
【０１４１】
判定１４４０に戻ると、要求されたデータの部分のコピーがＩ／Ｏキャッシュ内にあるということの決定に応答して、フローチャートが下位の動作１４５０に進む。そこでは、下位の動作１４５０が、要求されたデータの部分を読み飛ばすために位置特定コマンドを実行することを含んでいる。さらに、下位の動作１４５２は、Ｉ／Ｏキャッシュ内にあることが決定された要求されたデータの部分のコピーを要求することを含んでおり、一方、下位の動作１４５４は、要求されたデータの部分の要求されたコピーをＩ／Ｏキャッシュから受信することを含んでいる。さらに、下位の動作１４５６は、Ｉ／Ｏキャッシュから受信された要求されたデータの部分の要求されたコピーを読み取りバッファに追加することを含んでいる。要求されたデータの部分のコピーに対するＩ／Ｏキャッシュに送信された要求は、一部の方法では、例えば本説明を読んだ後の当業者によって理解されるであろうように、仮想テープ・システム（ＶＴＳ：virtual tape system）によって実行されてよい。
【０１４２】
図に示されているように、図２４のフローチャートは、下位の動作１４５６および下位の動作１４４８から判定１４５８に進む。判定１４５８は、まだ評価されて（例えば、読み取られて）いない要求されたデータのその他の部分があるかどうかを判定することを含んでいる。フローチャートは、まだ読み取られていない要求されたデータの少なくとも１つの部分があるということの決定に応答して、判定１４４０に戻り、図２４に含まれているプロセスのうちの任意のプロセスが、少なくとも１つの部分に対して繰り返されてよい。しかし、評価するための要求されたデータの部分がそれ以上残されていないということの決定に応答して、フローチャートが図１７の動作１１１２に直接戻る。
【０１４３】
本発明を限定するよう全く意図されていない本発明の使用中のさらに別の実施形態例によれば、図２５は、要求されたデータの後続の部分に対して連続的読み取りの方法を実行する例示的な下位の動作を含んでおり、これらの下位の動作のうちの１つまたは複数が、上記の図１７の動作１１１０を実行するために使用されてよい。ただし、図２５の下位の動作が、本発明を限定するよう全く意図されていないということに、注意するべきである。
【０１４４】
図に示されているように、図２５のフローチャートは、要求されたデータの部分を磁気テープから読み取るようにテープ・ドライブに指示することを含んでいる。下位の動作１４６０を参照する。前述したように、連続的読み取りの方法は、部分のコピーがキャッシュにも格納されているかどうかにかかわらず、要求されたデータの各部分を読み取ることを含んでいる。したがって、要求されたデータの部分が磁気テープから読み取られた後に、フローチャートは、要求されたデータの部分のコピーがＩ／Ｏキャッシュ内にあるかどうかを判定することを含んでいる判定１４６２に進む。要求されたデータの部分のコピーがＩ／Ｏキャッシュ内にあるということの決定に応答して、フローチャートは、磁気テープから読み取られた要求されたデータの部分を、その他の方法で使用せずに破棄する（削除する）ようにテープ・ドライブに指示することを含んでいる、下位の動作１４６４に進む。
【０１４５】
キャッシュ内にもある要求されたデータの部分を読み取り、その後単に削除するこのプロセスは、連続的読み取りの方法の一部として「模倣読み取り（imitation read）」と見なされてよい。やはり、一部の状況では、キャッシュから（例えば、ＶＴＳによって）実際に提供されるデータの部分ごとに読み飛ばす（位置特定動作を実行する）のにかかる時間とは対照的に、どの部分がキャッシュから実際に提供されるかにかかわらず、要求されたデータのすべての部分をテープから読み取るのにかかる時間が少ないことがある。したがって、模倣読み取りは、連続的読み取りの方法の一部として、データが磁気テープから読み取られ、その直後に削除されることを含んでよいが、この方法は、完了するためにより少ない時間を消費するという意味で、代替の位置特定−読み取りの方法より望ましいことがある。ただし、磁気ディスクを含んでいるシステムでは一般的であるように、本明細書に記載された方法のうちのさまざまな方法によって有意な改善が達成されないことがあるということに、注意するべきである。前述したように、読み取り動作の実行間の複数の位置特定動作の実行に起因する読み取り速度の低下は、ディスク上のファイル・システムのデータ構造および物理的ディスク・システムの物理的構造のため、無視できる。したがって、例えば本説明を読んだ後の当業者によって理解されるであろうように、磁気ディスクから特定のデータにアクセスする環境内でこれらのプロセスの一部を実装することは、望ましくないことがある。
【０１４６】
引き続き図２５を参照すると、下位の動作１４６６は、Ｉ／Ｏキャッシュ内にあることが決定された要求されたデータの部分のコピーを要求することを含んでおり、一方、下位の動作１４６８は、要求されたデータの部分の要求されたコピーをＩ／Ｏキャッシュから受信することを含んでいる。さらに、下位の動作１４７０は、キャッシュから受信された要求されたデータの部分の要求されたコピーを読み取りバッファに追加することを含んでいる。
【０１４７】
判定１４６２に戻ると、要求されたデータの部分のコピーがＩ／Ｏキャッシュ内にないということの決定に応答して、フローチャートが下位の動作１４７２に進んでよい。そこでは、下位の動作１４７２が、テープ・ドライブによって磁気テープから読み取られた要求されたデータの部分を要求することを含んでいる。本明細書において説明された方法または提案された方法あるいはその両方のいずれかに従って、下位の動作１４７２で送信された要求に応答して、テープ・ドライブによって読み取られたデータが提供されてよい。したがって、下位の動作１４７４は、テープ・ドライブによって磁気テープから読み取られた要求されたデータの部分をテープ・ドライブから受信することをさらに含んでいる。また、下位の動作１４７６は、キャッシュから受信された要求されたデータの部分の要求されたコピーを読み取りバッファに追加することを含んでいる。
【０１４８】
図に示されているように、図２５のフローチャートは、下位の動作１４７６および下位の動作１４７０から判定１４７８に進む。判定１４７８は、まだ評価されて（例えば、読み取られて）いない要求されたデータのその他の部分があるかどうかを判定することを含んでいる。フローチャートは、まだ読み取られていない要求されたデータの少なくとも１つの部分があるということの決定に応答して、下位の動作１４６０に戻り、図２５に含まれているプロセスのうちの任意のプロセスが、少なくとも１つの部分に対して繰り返されてよい。しかし、評価するための要求されたデータの部分がそれ以上残されていないということの決定に応答して、フローチャートが図１７の動作１１１２に直接戻る。
【０１４９】
前述したように、図２３〜図２５に含まれているサブプロセスのうちのさまざまなサブプロセスが、示されている順序とは異なる順序で実行されてよいということに、注意するべきである。例えば、部分が読み取られた後に、要求されたデータの単一の部分のコピーがＩ／Ｏキャッシュ内にあるかどうかを判定するのではなく（図２５の判定１４６２を参照）、例えば、キャッシュ内にあるということが決定された部分に対する要求を、磁気テープから部分を読み取ることと同時に発行できるように、要求されたデータの複数の部分の各々がキャッシュ内にあるかどうかに関する判定が行われてよい。別の例によれば、要求されたデータの部分の各々を読み取りバッファに個別に追加するのではなく、キャッシュ内にあるということが決定された要求されたデータの部分の全部または一部が、（例えば、システムのスループットを減らすために）キャッシュから一緒に受信され、読み取りバッファに一緒に追加されてよい。一部の方法では、キャッシュから受信された要求されたデータの部分は、磁気テープから読み取られた（破棄されなかった）要求されたデータの部分と共に、読み取りバッファに追加されてよい。
【０１５０】
したがって、本明細書に記載された方法のうちのさまざまな方法は、データの一部が例えばシステムのカーネル・レベルでキャッシュされるテープ・ドライブを使用してデータのグループのストリーム読み取りを実行するときに、従来の製品において発生する性能低下を克服することができる。
【０１５１】
前述したように、読み取り要求の受信時に、テープに基づくファイル・システムは、テープに対する相対的な磁気ヘッドの現在の位置と、読み取られるレコードの位置との間の差を計算し、このレコードに到達する最も有利な方法を決定してよい。例えば、システムは、位置特定−読み取りの方法、または、返されたデータのうち、キャッシュからアクセスされるデータを破棄しながらの連続的読み取りの方法から選択してよい。その結果、ファイル・システムは、これらの方法のうちのより望ましい１つを実施することによって、読み取り要求を実行してよく、それによって、現在の（例えば、特定の）システム・パラメータに基づくシステム性能を改善し、読み取りアクセス時間を減らし、テープ・ドライブの摩耗を軽減する。したがって、位置特定コマンドの代わりに模倣読み取りコマンドを使用することの導入は、そうすることが位置特定−読み取りの方法を実施することより有利である特定の状況では、従来の欠点を克服する大幅な改善を実現する。
【０１５２】
しかしながら、システム性能、データ・アクセス時間、読み取りスループットなどの改善は、性能の他の領域を多少犠牲にして得られることがあるということに注意するべきである。例えば、一部のオペレーティング・システムは、Ｉ／Ｏキャッシュを制御するコマンドを提供することがある。例えば、既定のオペレーティング・システムは、カーネル内でＩ／Ｏキャッシュの内容を破棄するためのメカニズムを提供することがある。しかしながら、このメカニズムが実装された場合、ＬＴＦＳ以外のファイル・システムに関連するキャッシュの内容も破棄し、それによってＬＴＦＳの読み取り性能が改善されるが、他のファイル・システムの読み取り性能が低下することがある。したがって、例えば本説明を読んだ後の当業者によって理解されるであろうように、本明細書に記載された方法のうちのさまざまな方法を実施することによって達成される利益を、同じストレージ・システム内の他のファイル・システムに発生することがある抑制と比較検討することが、望ましい場合がある。
【０１５３】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読記憶媒体を含んでよい。
【０１５４】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のさらに具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：random access memory）、ＲＯＭ、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ：erasable programmable read-only memoryまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：static random access memory）、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：compact disc read-only memory）、デジタル・バーサタイル・ディスク（ＤＶＤ：digital versatile disk）、メモリ・スティック、フロッピー（Ｒ）・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読記憶媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
【０１５５】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング・デバイス／処理デバイスへ、またはネットワーク（例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ）を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス／処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
【０１５６】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ：instruction-set-architecture）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む１つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ：local area network）または広域ネットワーク（ＷＡＮ：wide area network）を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブルロジック回路、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ：field-programmable gate arrays）、またはプログラマブル・ロジック・アレイ（ＰＬＡ：programmable logic arrays）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
【０１５７】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【０１５８】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能／動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読記憶媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能／動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読記憶媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
【０１５９】
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能／動作を実施するように、コンピュータ実装プロセスを生成するために、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれ、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で一連の動作可能なステップを実行させるものであってもよい。
【０１６０】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための１つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された２つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【０１６１】
さらに、本発明のさまざまな実施形態に従うシステムは、プロセッサ、およびプロセッサに統合されたロジックまたはプロセッサによって実行可能なロジックあるいはその両方を含むことができ、このロジックは、本明細書において列挙された処理ステップのうちの１つまたは複数を実行するように構成される。統合されるということは、つまり、プロセッサにロジックが、特定用途向け集積回路（ＡＳＩＣ：application specific integrated circuit）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）などのハードウェアロジックとして組み込まれるということである。プロセッサによって実行可能であるということは、つまり、ロジックが、プロセッサによってアクセス可能なハードウェアロジック、ソフトウェアロジック（ファームウェア、オペレーティング・システムの一部、アプリケーション・プログラムの一部など）など、またはハードウェアロジックとソフトウェアロジックの何らかの組み合わせであり、プロセッサによって実行されたときに何らかの機能をプロセッサに実行させるように構成されているということである。ソフトウェアロジックは、従来技術において知られた任意のメモリ・タイプの、ローカルまたはリモートあるいはその両方のメモリに格納されてよい。ＡＳＩＣ、ＦＰＧＡ、中央処理装置（ＣＰＵ：central processing unit）、集積回路（ＩＣ：integrated circuit）といった、ソフトウェア・プロセッサ・モジュールまたはハードウェア・プロセッサあるいはその両方などの、従来技術において知られた任意のプロセッサが使用されてよい。
【０１６２】
上で提示された説明から複数の組み合わせを作成して、前述のシステムまたは方法あるいはその両方のさまざまな特徴が任意の方法で組み合わせられてよいということが明らかである。
【０１６３】
本発明の実施形態が、顧客のために展開されるサービスの形態で提供されてよいということが、さらに理解されるであろう。
【０１６４】
本明細書で開示された本発明の概念は、その無数の特徴を示すために、複数の例示的な状況、実施形態、または実装、あるいはその組み合わせにおいて例として提示されている。開示された概念が、通常はモジュールと見なされるべきであり、任意の組み合わせ、並べ替え、またはその統合において実装されてよいということが、理解されるべきである。加えて、本明細書において開示された、本説明を読むときに当業者によって理解されるであろう特徴、機能、および概念の任意の変更、改変、または均等のものも、本開示の範囲に含まれると見なされるべきである。
【０１６５】
上ではさまざまな実施形態が説明されたが、これらの実施形態は単に例として提示されており、これらに限定されないということが理解されるべきである。したがって、本発明の実施形態の広さおよび範囲は、前述された本発明の実施形態例のいずれによっても限定されるべきではなく、以下の特許請求の範囲およびそれらと均等のもののみに従って定義されるべきである。
【図１】
2021504867.tif 000003
【図２】
2021504867.tif 000004
【図３】
2021504867.tif 000005
【図４】
2021504867.tif 000006
【図５】
2021504867.tif 000007
【図６】
2021504867.tif 000008
【図７】
2021504867.tif 000009
【図８】
2021504867.tif 000010
【図９】
2021504867.tif 000011
【図１０】
2021504867.tif 000012
【図１１】
2021504867.tif 000013
【図１２】
2021504867.tif 000014
【図１３】
2021504867.tif 000015
【図１４】
2021504867.tif 000016
【図１５】
2021504867.tif 000017
【図１６】
2021504867.tif 000018
【図１７】
2021504867.tif 000019
【図１８】
2021504867.tif 000020
【図１９】
2021504867.tif 000021
【図２０】
2021504867.tif 000022
【図２１】
2021504867.tif 000023
【図２２】
2021504867.tif 000024
【図２３】
2021504867.tif 000025
【図２４】
2021504867.tif 000026
【図２５】
2021504867.tif 000027
【手続補正書】
【提出日】令和2年7月1日(2020.7.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、コンピュータ・システムが、
磁気テープに格納されたデータに対する読み取り要求を受信するステップであって、前記データが複数の部分を含んでいる、前記受信するステップと、
前記磁気テープ上の前記要求されたデータにアクセスするようにテープ・ドライブに指示するステップと、
前記要求されたデータの部分ごとに、
前記要求されたデータの前記部分を前記磁気テープから読み取るように前記テープ・ドライブに指示すること、
前記要求されたデータの前記部分のコピーがキャッシュ内にあるかどうかを判定すること、
前記要求されたデータの前記部分のコピーが前記キャッシュ内にあるということの決定に応答して、前記磁気テープから読み取られた前記要求されたデータの前記部分を破棄するように前記テープ・ドライブに指示すること、および
前記要求されたデータの前記部分のコピーが前記キャッシュ内にないということの決定に応答して、前記磁気テープから読み取られた前記要求されたデータの前記部分を前記テープ・ドライブから受信すること、
の反復プロセスを実行するステップと
を実行する、コンピュータ実装方法。
【請求項２】
コンピュータ・システムが、
前記テープ・ドライブから受信された前記要求されたデータの前記部分を読み取りバッファに追加するステップと、
前記キャッシュ内にあるということが決定された前記要求されたデータの前記部分の前記コピーを要求するステップと、
前記要求されたデータの前記部分の前記コピーを前記読み取りバッファに追加するステップと
を実行する、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記磁気テープ上の前記要求されたデータの先頭にアクセスするように前記テープ・ドライブに指示するステップが、
前記磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、前記磁気テープを前記第２の位置から前記第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定することであって、前記第２の位置が、前記磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応し、前記第１の位置が、前記要求されたデータの前記先頭に対応する、前記判定することと、
前記第１の時間が前記第２の時間より少ないということの決定に応答して、前記位置特定動作を実行するように前記テープ・ドライブに指示することと、
前記第１の時間が前記第２の時間より少なくないということの決定に応答して、前記複数の読み取り動作を実行するように前記テープ・ドライブに指示することと
を含んでいる、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記複数の読み取り動作の各々の間に読み取られた前記データは、前記読み取り動作のうちのその後の１つが実行される前に破棄される、請求項３に記載のコンピュータ実装方法。
【請求項５】
前記第１の時間が前記第２の時間より少ないかどうかを判定することが、前記第２の位置を前記第１の位置から分離する距離が既定の範囲内であるかどうかを判定することを含んでいる、請求項３に記載のコンピュータ実装方法。
【請求項６】
前記磁気テープ上の前記要求されたデータの先頭にアクセスするように前記テープ・ドライブに指示するステップが、
前記要求されたデータの前記先頭に対応する前記磁気テープ上の第１の位置を決定することと、
前記磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応する第２の位置が前記第１の位置より大きいかどうかを判定することと、
前記第２の位置が前記第１の位置より大きいということの決定に応答して、前記第１の位置に対して位置特定コマンドを実行するように前記テープ・ドライブに指示することと、
前記第２の位置が前記第１の位置より大きくないということの決定に応答して、前記磁気テープを前記第２の位置から前記第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、前記磁気テープを前記第２の位置から前記第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定することと、
前記第１の時間が前記第２の時間より少ないということの決定に応答して、前記位置特定動作を実行するように前記テープ・ドライブに指示することと、
前記第１の時間が前記第２の時間より少なくないということの決定に応答して、前記複数の読み取り動作を実行するように前記テープ・ドライブに指示することと
を含んでいる、請求項１に記載のコンピュータ実装方法。
【請求項７】
コンピュータ実装方法であって、コンピュータ・システムが、
磁気テープに格納されたデータに対する読み取り要求を受信するステップであって、前記データが複数の部分を含んでいる、前記受信するステップと、
前記要求されたデータの部分のコピーがキャッシュ内にあるかどうかを判定するステップと、
前記磁気テープ上の、前記キャッシュ内にないことが決定された前記要求されたデータの部分にアクセスするようにテープ・ドライブに指示するステップと、
前記キャッシュ内にない前記要求されたデータの前記部分の各々に対して、位置特定コマンドを実行すること、または読み取りコマンドを複数回実行することのいずれが、より短い時間で前記キャッシュ内にない前記要求されたデータの前記部分を取り出すかを判定するステップと、
より短い時間で前記キャッシュ内にない前記要求されたデータの前記部分を取り出すということが決定されたコマンドを発行するステップと、
前記キャッシュ内にない前記要求されたデータの前記部分を、前記キャッシュ内にある前記要求されたデータの前記部分と組み合わせるステップと、
前記読み取り要求を満たすステップと
を実行する、コンピュータ実装方法。
【請求項８】
前記磁気テープ上の、前記キャッシュ内にないことが決定された前記要求されたデータの部分にアクセスするようにテープ・ドライブに指示するステップが、
前記磁気テープが前記テープ・ドライブにすでに装着されているかどうかを判定することと、
前記磁気テープが前記テープ・ドライブにまだ装着されていないということの決定に応答して、前記磁気テープを移動する要求を前記テープ・ドライブに発行することと、
前記磁気テープ上の第１のパーティションの先頭にあるインデックスを読み取るように前記テープ・ドライブに指示することと
を含んでいる、請求項７に記載のコンピュータ実装方法。
【請求項９】
コンピュータ実装方法であって、コンピュータ・システムが、
磁気テープに格納されたデータに対する読み取り要求を受信するステップと、
前記磁気テープを第２の位置から第１の位置に進めるために位置特定動作を実行することに関連する第１の時間が、前記磁気テープを前記第２の位置から前記第１の位置に進めるために複数の読み取り動作を実行することに関連する第２の時間より少ないかどうかを判定するステップであって、前記第２の位置が、前記磁気テープに対する相対的な磁気テープ・ヘッドの現在の位置に対応し、前記第１の位置が、前記要求されたデータの先頭に対応する、前記判定するステップと、
前記第１の時間が前記第２の時間より少ないということの決定に応答して、前記位置特定動作を実行するようにテープ・ドライブに指示するステップと、
前記第１の時間が前記第２の時間より少なくないということの決定に応答して、前記複数の読み取り動作を実行するように前記テープ・ドライブに指示するステップと、
前記複数の読み取り動作を実行している間に前記磁気テープから読み取られた前記データを破棄するように前記テープ・ドライブに指示するステップと
を実行する、コンピュータ実装方法。
【請求項１０】
前記第１の時間が前記第２の時間より少ないかどうかを判定するステップが、前記第２の位置を前記第１の位置から分離する距離が既定の範囲内であるかどうかを判定することを含んでいる、請求項９に記載のコンピュータ実装方法。
【請求項１１】
前記データが、リニア・テープ・ファイル・システム形式に従って前記磁気テープに格納されている、請求項１ないし１０のいずれか１項に記載のコンピュータ実装方法。
【請求項１２】
コンピュータ・システムに、請求項１ないし１１のいずれか１項に記載のコンピュータ実装方法の各ステップを実行させるためのコンピュータ・プログラム。
【国際調査報告】
2021504867.tif 000028
2021504867.tif 000029