(57)【特許請求の範囲】
【請求項１】
多数の並列トラックを有する磁気テープ媒体を生成する方法であって、配列データを前記磁気テープ媒体上に分布させる前記方法において、
第１の複数のセグメント・ヘッダを前記テープ媒体に書込むことによって、第１の複数のデータ記憶セグメントを定めるステップを含み、前記書込みは、前記テープ媒体へのユーザデータのいかなるインタリーブ書込みと関係なく実行され、前記複数のセグメント・ヘッダのうちの隣り合うセグメント・ヘッダは、第１の所定の間隔だけ一様に離間され、前記第１の複数のセグメント・ヘッダの各々は、前記磁気テープ媒体上に先に記憶されたデータ記憶セグメントから前記第１の複数のセグメントを識別するために、前記第１の複数のセグメント・ヘッダのすべてに共通であり、前記データ記憶セグメントの新しい構成を作成するリクエストを受け取った場合に作成され、前記セグメント・ヘッダが最新であることを示す第１の所定のキーを含み、前記第１の複数のデータ記憶セグメントは、多数の隣り合うスタック蛇行パターンの連続構成内に双方向に書込まれ、前記データ記憶セグメントに記憶されたすべてのデータの連続アクセスが、前記配列データのうちの隣り合うデータ間にあるすべての領域を飛び越すような前記テープ媒体の進行を伴わずに可能であり、
前記第１の所定のキーを、前記テープ媒体の論理開始部よりも前に記録されるキーインデックスに記憶して、前記第１の複数のデータ記憶セグメントを、最新であるとして識別するステップを含む、
ことを特徴とする方法。
【請求項２】
１組の配列されたデバイス・ブロックを、前記第１の複数のデータ記憶セグメントに記憶するステップをさらに含むことを特徴とする請求項１記載の方法。
【請求項３】
前記各スタック蛇行パターンは、ほぼ等しい長さの多数のスワースから構成され、前記スタック蛇行パターン内のすべてのスワースは、所定数のセグメント・ヘッダを有することを特徴とする請求項１記載の方法。
【請求項４】
前記所定数は１であることを特徴とする請求項３記載の方法。
【請求項５】
前記所定数は１より大きい整数であることを特徴とする請求項３記載の方法。
【請求項６】
多数の並列トラックを有する磁気テープ媒体上に配列データを分布させる方法であって、
第１の複数のセグメント・ヘッダを前記テープ媒体に書込むことによって、第１の複数のデータ記憶セグメントを定めるステップを含み、前記書込みは、前記テープ媒体へのユーザデータのいかなるインタリーブ書込みと関係なく実行され、前記複数のセグメント・ヘッダのうちの隣り合うセグメント・ヘッダは、第１の所定の間隔だけ一様に離間され、前記第１の複数のセグメント・ヘッダの各々は、前記磁気テープ媒体上に先に記憶されたデータ記憶セグメントから前記第１の複数のセグメントを識別するために、前記第１の複数のセグメント・ヘッダのすべてに共通であり、前記データ記憶セグメントの新しい構成を作成するリクエストを受け取った場合に作成され、前記セグメント・ヘッダが最新であることを示す第１の所定のキーを含み、前記第１の複数のデータ記憶セグメントは、フレキシブル容量スケーリングを用いて、多数の隣り合うスタック蛇行パターンの連続構成内に、双方向に書込まれ、
前記第１の所定のキーを、前記テープ媒体の論理開始部よりも前に記録されるキーインデックスに記憶して、前記第１の複数のデータ記憶セグメントを、最新であるとして識別するステップを含む、
ことを特徴とする方法。
【請求項７】
１組の配列されたデバイス・ブロックを、前記第１の複数の記憶セグメントに記憶するステップをさらに含むことを特徴とする請求項６記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを記憶する磁気テープ媒体の使用に関する。特に、本発明は、磁気テープ媒体に記憶されたデータを、より効率的かつ適切に位置指定し，書込み，読取り，更新するための新しいデータ記憶フォーマットを採用した種々の方法および装置を含んでいる。
【０００２】
【従来の技術】
区分化
制限された区分化を有するいくつかの磁気テープ記憶システムが知られている。“区分化”は、磁気テープ上に少なくとも１つの独立にアドレス可能なデータ記憶領域を形成することを一般に含んでいる。１つの既知の“２区分方式（ｔｗｏ−ｐａｒｔｉｔｉｏｎ  ｓｙｓｔｅｍ）”は、ディレクトリを記憶するための１つの区分と、データを記憶するための他の区分とを用いている。これとは対照的に、既知の“スタッキング（ｓｔａｃｋｉｎｇ）”区分方式は、多数の区分を用いており、各区分は、種々のデータの組を記憶している。このスタッキング方式では、新しい区分が連続的に定められ、既存の区分に追加される。実際には、新しい区分が既存のデータに“スタッキング”される。
【０００３】
これらの区分方式は、多くの種々の使用に対しては適切であるかもしれないが、これらの区分方式は、特定の他の応用の要件を満たすことができない。例えば、多くの応用は、テープ上に規則的に離間された位置を有する多数の一定サイズの区分で、テープ上にデータを記憶している。理論的には、このような区分を有することは、速いテープ位置決めを可能にし、データ容量を増大し、記憶データのその場更新（“ｕｐｄａｔｅ−ｉｎ−ｐｌａｃｅ”）のような特定の進歩した機能を可能にする。しかし、既知の区分化方式は、多数の一定サイズの規則的に離間された記憶区分については役立たない。２区分方式は、２つの区分を用いており、１つの区分にデータが記憶されるにすぎない。スタッキング区分方式では、多数のデータ記憶区分が用いられるが、区分はサイズが一定でなく、区分は規則的に離間された位置に記憶されない。これとは対照的に、各区分のサイズは、記憶すべきデータの量に依存し、各区分の位置は、すべての先行する区分の総合サイズに依存する。
【０００４】
蛇行データパスおよび一定容量スケーリング
多くの既知のテープ記憶システムは、図１に示すように、蛇行してデータを記憶する。蛇行データ記憶パターンは、多数の並列トラックを有するテープ上にデータを記憶する１つの方法である。蛇行記憶によれば、１組のデバイス・ブロックが、異なる並列テープ・トラックに沿ってテープ長さを双方向に横切るパターンで記憶される。特に、データ記憶パスは、初めに、第１のトラックに沿った一方向のテープ全長に及び、隣りの並列トラックに沿って逆方向に戻り、このようにテープに沿って前後へのスウィーピング（ｓｗｅｅｐｉｎｇ）を続ける。
【０００５】
蛇行記憶データのアクセス時間を改善するためには、エンジニアは、“一定容量スケーリング（ｆｉｘｅｄ−ｃａｐａｃｉｔｙ  ｓｃａｌｉｎｇ）”を開発した。一定容量スケーリングは、データがテープを完全に満たさない場合に、使用される。この場合、テープの全長をスウィープする数個のトラックまたはトラック群にデータを記憶するよりはむしろ、テープの初まり付近のすべてのトラックに、データが集められる。多くのテープ記憶システムでは、マルチトラックＲ／Ｗヘッドは、同時に１６本のトラックを読取ることができ、テープは１６本のトラックの８つの群に形成される。このような方式では、通常の蛇行記憶で記憶されたデータは、４つのトラック群の全長を占有し、残りの４つのトラック群を、未占有の状態にする。しかし、一定容量スケーリングを用いるテープ１００では、図１に示すように、全８トラック群１０２の前半部分に、データが集められる。このデータ記憶パスに従うには、Ｒ／Ｗヘッドが、パス１０４に沿ってテープ長の半分を通過するように、テープが送られる。パス１０６に対してＲ／Ｗヘッドを“垂直方向に”位置決めした後、テープヘッドが隣りの並列パス１０６に沿って逆方向に戻るようにテープが送られる。Ｒ／Ｗヘッドおよびテープは、共働して移動し、テープに沿って前後のスウィーピングを続けるデータパスを追跡する。一例として、Ｒ／Ｗヘッドとパス１０６との間の“垂直方向位置決め”は、Ｒ／Ｗヘッドの物理的移動（“ヘッド・インデキシング（ｈｅａｄ  ｉｎｄｅｘｉｎｇ）”と呼ばれる）、または元のＲ／Ｗヘッドとは反対の方向に動作するように構成された別のＲ／Ｗヘッドへの切換えを含むことができる。データは依然としてテープの同一サイズの領域を占有しているが、データはテープの前半付近に集められており、テープの後半１０８をブランクの状態にしている。その結果、テープヘッドの移動は、テープの前半に制限される。したがって、一定容量スケーリングは、データを効率的に配置することにおいて利益がある。というのは、同一データを、小さいテープ移動でサーチできるからである。一定容量スケーリングでは、テープヘッドとデータパスとを“垂直方向に”位置決めする（例えば、ヘッド・インデキシングまたは異なるテープヘッドへの切換え）ために、小さくて比較的急速な動作を選ぶことにより、時間のかかるテープ送り動作が避けられる。
【０００６】
【発明が解決しようとする課題】
一定容量スケーリングは、いくつかの場合には満足できるが、この手法が全く適切でない応用が存在する。例えば、コストまたは効率を意識するユーザは、速いテープアクセスを選んで、かなり多量のテープ記憶容量１０８を犠牲にすることを好まないかもしれない。また、一定容量スケーリングは、全テープを占有するほどの大きなデータを記憶するには不適切である。この場合、データを再配列して、短い長さのテープに適合させることができないから、一定容量スケーリングは、利益がない。異なった点で、他のユーザは、一定容量スケーリングは不十分であることに気づいている。というのは、一定容量スケーリングは、あらゆる種類の区分を与えないからである。
【０００７】
【課題を解決するための手段】
概して、本発明は、磁気テープ媒体に記憶されたデータを、より効率的かつ便利に、位置指定し，読取り，書込み，更新するために、新しいデータ記憶フォーマットを採用する種々の方法および装置を含んでいる。本発明の１つの特徴は、磁気テープ媒体をプレ・フォーマットする方法である。まず初めに、多数のデータ記憶セグメントが、対応する数のセグメント・ヘッダを磁気テープ媒体に書込むことによって、磁気テープ媒体上に定められる。記憶セグメントは、テープを使用する前に、すなわち磁気テープ媒体にデータを書込む前に、定められる。隣り合うセグメント・ヘッダは、第１の所定の間隔で、一様に離間されている。この間隔は、例えば、１ユニットの細分性（ｇｒａｎｕｌａｒｉｔｙ）を特定するユーザによって、決定することができる。セグメント・ヘッダの各々は、すべてのセグメント・ヘッダに共通の第１の所定のキーを含んでいる。このキーは、キーインデックスに記憶されており、これらのセグメント・ヘッダが、有効である、すなわち最新であることを識別する。
【０００８】
セグメントが作成された後、ユーザデータを、セグメントに記憶することができ、および他の通常の動作、例えば位置指定，読出し，書込みなどを実行することができる。本発明によれば、完全に異なるセグメント方式を、いつでも容易に確立することができ、これにより、前のセグメント、およびそこに記憶されたユーザデータを無効にする。すなわち、第２のグループの記憶セグメントが、テープ媒体に対応する第２のセグメント・ヘッダを書込むことによって、テープ媒体に定められる。第２のセグメント・ヘッダは、所定の間隔（前の間隔とは異ならせることができる）だけ一様に離間されている。第１の間隔と同様に、第２の間隔を、所望レベルの細分性のユーザ仕様によって、特定することができる。セグメント・ヘッダの書込みは、介在する読取り動作または書込み動作なしに、好適に実行され、セグメント・ヘッダが一様に離間され、正確に位置決めされることを保証する。
【０００９】
第２のグループの各セグメント・ヘッダは、第１のグループのセグメント・ヘッダのキーと異なるキーを含んでいる。キーは、例えば、フォーマッティングが実行される毎にインクリメントされる番号を含むことができる。第１のキーのように、第２のキーはキーインデックスに記憶され、第２のセグメント・ヘッダ（第２のキーを含む）を、有効であると識別する。第２のセグメント・ヘッダを定めると、テープに記憶された第１のセグメント・ヘッダが、通常のテープ動作の際、無視される。その理由は、第１のセグメント・ヘッダが適切なキーを含まないからである。しかし、第１のセグメント・ヘッダを、データ回復，再構成，または古いユーザデータを用いる他の手順において、依然として用いることができる。
【００１０】
セグメントを必要に応じてグループ化して、テープ上に独立アドレス可能な記憶区分を作成することができる。セグメントと記憶区分との間のマッピングを、例えば１対１とすることができる。あるいはまた、セグメントと記憶区分との間の他の一定の関係、例えば隣り合うセグメントの異なるグループ化を用いて、区分を形成することができる。
【００１１】
他の例として、セグメントと区分との間の一定マッピングを用いる代りに、可変サイズの区分（各区分は、１つ以上のデータ記憶セグメントを含む）を用いることができる。可変サイズの区分では、データ記憶セグメントは、前述したように、まず初めにテープ上に定められる。説明のために、セグメントは、テープの初めからそれらの個々の距離に従って連続的に配列されているとみなすことができる。テープの初めに近いセグメントは、テープの初めから比較的遠いセグメントよりも、“早く”配列されている。１組のデバイス・ブロックまたは他のユーザデータが、テープへの記憶のために受取られると、ブロックは、ブロックを記憶するのに必要な最小数の連続データ記憶セグメントに連続的に書込まれる。必要ならば、デバイス・ブロックの各組を、テープ上に得られる最初に配列されたセグメントの初めに記憶することができる。１組のデバイス・ブロックを、最小数のセグメントに書込むと、これらのセグメントは区分として定められる。これは、区分を“閉鎖する（ｃｌｏｓｉｎｇ  ｏｕｔ）”と称せられる。次に、すべての残りの（すなわち未占有の）セグメントが、区分として定められる。例えば、第１の区分が閉鎖された後、すべての残りのセグメントが、第２の区分として定められる。
【００１２】
多くのデバイス・ブロックが、テープに記憶されるために受取られると、これらデバイス・ブロックは、第２の区分の最初の１つ以上のセグメントに書込まれる。データを記憶するのに必要なように、最小数のセグメントが好適に用いられる。新しいデータが書込まれると、第２の区分は、占有セグメントを第２の区分として定めることによって、“閉鎖”される。すべての残りの（すなわち未占有の）セグメントは、第３の区分として定められる。テープが満杯になるまで、前述したように追加の区分を作成することによって、さらなるデータを記憶することができる。なお、各区分は、そこに記憶されるデータの量に適切な可変サイズを有している。
【００１３】
必要ならば、非連続データ記憶セグメント間に、区分を分布させることができる。これは、前述したように、可変区分を準備し、既存の区分との選択的関連のために未占有セグメントの自由プールを保持することによって行うことができる。自由プールは、また、既存の区分から割振りが解放されたセグメントを受取る。
【００１４】
本発明の他の態様は、“自動埋込み”を採用している。これは、可変サイズの区分においてデータの更新を支援するのに特に有用である。特に、テープ上のデータの更新は、特別の問題を与える。というのは、更新されたデータは、元のデータよりも多くのスペースを占有するからである。更新されたデータが、元のデータと同じ数のバイトを含むとしても、更新されたデータは、エラー検出アルゴリズム，データの領域圧縮性／データの圧縮性の変動などによって生じる変化の故に、実際にテープに記憶される場合に、多くのスペースを実際に占有する。この問題に対処するために、区分が閉鎖されるときに、各区分に１つ以上の空きデータ記憶セグメントを付加することによって、自動埋込みが働く。追加セグメントの数は、その区分におけるデータの特徴に基づいて、ユーザにより選ぶことができる。あるいはまた、追加セグメントの数を、ユーザによって予め特定されたデフォルト値に従って、自動的に選ぶことができる。
【００１５】
本発明の他の特徴は、“フレキシブル容量スケーリング”、すなわち磁気テープにデータをより効率的に記憶して、より高速のデータ・アクセスを与える技術である。この技術によれば、１組の配列されたデバイス・ブロックが、多数の並列トラックを有する磁気テープ媒体に分布される。デバイス・ブロックは、多数の隣り合うスタック蛇行パターンの連続構成内に、双方向に記憶される。蛇行パターンは、テープの一部または全部を占有することができる。すべてのデバイス・ブロックの連続アクセスが、配列されたデバイス・ブロックのうちの隣り合うブロック間にあるすべての領域を飛び越すためにテープ媒体を進めることなく、実質的に可能であるように、パターンは構成される。したがって、デバイス・ブロックの全シーケンスを、完全な連続性でアクセスできる。すなわち、１つのデバイス・ブロックから他のデバイス・ブロックへ進めるためには、テープの最小の送りまたは巻戻しで良い。
【００１６】
前述したようなプロセスに加えて、本発明はまた、これらの方法により実施され、またはこれらの方法によって製造され、またはこれらの方法に関連した種々のハードウェア装置のような、他の態様を意図している。例えば本発明は、データ記憶装置において実施されるテープ・ドライブ装置、および製造品において実施される磁気テープ媒体を含んでいる。
【００１７】
本発明は、多数の個別の利点を与える。例えば、テープをプレ・フォーマットすることは、テープが所望数の等サイズのデータ記憶セグメントに正確に分割されることを保証する。従来技術とは異なり、これらの特徴は、高速アクセス動作，データのセミランダム・アクセス，その場更新，その他の進歩したテープ機能に対する基本を有利に与える。
【００１８】
さらに、本発明は、一定サイズ区分を用いることにより、独立にアドレス可能なデータ記憶領域を有利に提供する。さらに、可変サイズ区分を用いることによって、本発明は、変化するサイズの組の記憶を有するユーザデータのためにプレ・フォーマットされたテープを適用することができる。可変サイズ区分を用いることによって、ユーザデータの組の非連続記憶を可能にし、この記憶フォーマットのフレキシビリティをさらに増大させる。非連続セグメントにユーザデータを記憶させることは、ＤＡＳＤ記憶に類似しているが、ＤＡＳＤには欠けている特定の利点を実際に与える。というのは、ユーザが記憶細分性を特定することができ、テープ・ドライブ装置がデータを双方向に読出しおよび書込みできるからである。本発明の他の利点である選択埋込みを、デフォルトによって有利に設定でき、あるいは選択埋込みはユーザがアプリケーションの要求に応じて埋込みの量をフレキシブルに選択することを可能にし、これによりデータ記憶効率を増大させる。
【００１９】
本発明の他の利点は、フレキシブル容量スケーリングの特徴である。この特徴は、配列データに対するデータ位置指定性能をかなり増大できる。その理由は、ユーザデータが、全テープに渡って分布されるよりもむしろ、隣り合うスタック蛇行パターン内に集められているからである。従来の配置とは異なり、テープの特定の空き領域を指定することにより、記憶容量を犠牲にすることなく、データ・アクセスが改善される。さらに、データ・アクセスの改善は、部分的に満たされたテープの場合、データをコンパクトに記憶する利点を維持しながら、達成される。
【００２０】
【発明の実施の形態】
ハードウェア環境
データ記憶システム一般
本発明は、テープによるデータ記憶システム２００（図２）により例示されるように、多数の種々のハードウェア構造を用いて実施することができる。一般に、記憶システム２００は、ホスト２０２と、Ｒ／Ｗコントローラ２０４と、テープ媒体２０６と、他の装置とを有している。ホスト２０２は、テープ媒体２０６に記憶されるユーザデータを、発生および／または保持する。“ユーザ”は、ホスト２０２と、ネットワークまたは他のリンクによってホストに接続されたコンピュータと、アプリケーション・プログラムと、コントロール・プログラムと、コンソールなどによって記憶システム２００を操作するオペレータとを有することができる。
【００２１】
コントローラ２０４は、テープ媒体２０６とホスト２０２との間でのユーザデータの交換を管理する。コントローラ２０４は、また、ユーザデータの記憶および検索に関係した他のタスク、例えばフォーマッティング，エラー検出，領域圧縮，ホスト２０２からは見えない他のタスクを取扱う。コントローラ２０４は、多数の種々の要素を有しており、これらは以下にさらに詳しく説明される。一般に、コントローラ２０４は、Ｒ／Ｗデータフロー２０５およびＲ／Ｗヘッド２０７と作用して、テープ媒体２０６とデータを交換する。
【００２２】
一例として、図２の種々の要素は、ＩＢＭモデル３５９０テープ記憶ドライブの要素によって与えることができる。
【００２３】
テープ媒体
図示の例では、テープ媒体２０６は、ＩＢＭモデル３５９０カートリッジのような磁気データ記憶媒体で実現される。このようなカートリッジ（図３参照）の基本要素は、外部ケース３００と、テープリール３０２と、リーダーブロック３０４とを有している。この例では、テープリール３０２は、１２．７ｍｍ（０．５インチ）幅および３０４．８ｍ（１０００フィート）長であり、１０Ｇｂの未領域圧縮データを記憶する容量を有している。テープリール３０２は、１２８本のトラックと、３本のサーボトラックとを有している。テープリール３０２は、また、簡単に“テープ”と呼ばれる。
【００２４】
テープ管理装置
図２において、記憶システム２００は、多数の要素を有し、テープ媒体２０６およびＲ／Ｗヘッド２０７を共働して管理する。ドライブ装置２２３は、テープを巻き，送り，巻戻すように構成されている。ドライブ装置２２３は、テープパス，テープ駆動モータ，タコメータ，既知の装置で構成できる他の関連装置のような種々の要素（図示せず）を備えている。
【００２５】
スタックローダ２０８は、ドライブ装置２２３と、棚，記憶箱，ライブラリ，不使用テープ媒体を保管しておく他の適切な場所のような記憶場所との間で、テープを物理的に移動させる。スタックローダ２０８は、例えばＩＢＭ３５９０タイプのスタックローダで構成することができる。
【００２６】
コントローラ
コントローラ２０４は、小型コンピュータ・システム・インタフェース（ＳＣＳＩ）のようなホスト・インタフェース２１０を有している。コントローラ２０４は、また、１対の速度調整バッファ２１２／２１４を有し、ホスト２０２のＩ／Ｏ速度とＲ／Ｗデータフロー２０５との差を調節する。また、データ領域圧縮器２１６を設けて、テープ媒体２０６に記憶されたデータのサイズを小さくすることができる。
【００２７】
ホスト・インタフェース２１０とスタックローダ２０８との間に接続されたスタックローダ・コントローラ２１８は、ホスト２０２の要求に従って、スタックローダ２０８の動作を管理する。
【００２８】
コントローラ２０４は、また、ヘッダ・モジュール２２６を有している。このヘッダ・モジュールは、ヘッダと他のノン・ユーザデータとを生成し、この情報をバッファ２１４に送り、テープ媒体２０６に記憶する。ヘッダ・モジュール２２６は、また、テープ媒体２０６からバッファ２１４を経て受取ったヘッダおよび他のノン・ユーザデータを解釈する相補機能を有している。
【００２９】
また、トラック追跡モジュール２２０（または“サーボ”モジュール）がコントローラ２０４に設けられている。このモジュールは、Ｒ／Ｗヘッド２０７を、テープ媒体２０６上の所望のトラックに対して位置決めする。張力およびテープ位置決めモジュール２２２は、ドライブ装置２２３がテープリール３０２（図３）に適切な張力を保持することを保証する。モジュール２２２は、また、ドライブ装置２２３のモータの動作を制御することによって、テープ媒体２０６の位置決めを管理する。
【００３０】
コントローラ２０４は、例えば、Ｉｎｔｅｌ  ｂｒａｎｄ  ｉ９６０（登録商標）マイクロプロセッサのようなデジタル・データ・プロセッサの回路で、または他の適切な回路で実施することができる。一つの実施例では、本発明の処理ステップを、コントローラ２０４，ホスト２０２，および／または他の適切なプロセッサのような回路を用いて、“Ｃ”コードのような命令のプログラムを実行することによって、実施することができる。
【００３１】
ホスト
実施例において、ホスト２０２は、ＩＢＭパーソナル・コンピュータ，ＩＢＭモデルＲＳ６０００コンピュータ，ＩＢＭモデルＡＳ４００コンピュータ，Ｓｕｎワークステーション，ＩＢＭ３０９０メインフレーム・コンピュータ，あるいは他の適切なデータ処理装置で構成することができる。説明したように、ユーザデータは記憶され検索されて、ホスト２０２によって実行されるアプリケーション・プログラム２０３の動作を支援する。アプリケーション・プログラム２０３は、例えば、ＩＢＭコーポレーションのＡＤＳＭプログラムとすることができる。あるいはまた、アプリケーション・プログラムの代りに、ホスト２０２以外の他のソース、例えば、記憶システム２００あるいは他のハードウェア・デバイスにネットワーク接続された異なるホスト（図示せず）、ユーザ、またはプロセスから、ユーザデータを生成することができる。
【００３２】
プレ・フォーマッティングおよび一定区分化
記憶フォーマットの概要
テープ媒体を用いるデータ記憶は、ある点において、ダイレクト・アクセス記憶デバイス（ＤＡＳＤ）に比べて、利益は制限されていた。本願の発明者らは、例えば、既知のテープ記憶フォーマットは、特に、急速なデータ位置指定を促進することにはならないことを発見した。
【００３３】
既知のデータ記憶フォーマットでは、テープの初めからテープの終りにほぼ延びる連続データパスに、データが記憶される。マルチトラック・テープでは、データは多数の並列データパスに記憶される。通常、このようなデータは、ヘッダによって区切られる。ヘッダは、“デバイス・ブロック”またはより簡単に“ブロック”と呼ばれる対応するサブ・グループのデータの位置を示している。しかし、ブロックのサイズは変化するので、これらのヘッダは、テープに分布される種類の周期的マーカとしては役立たない。この点で、いくつかのテープ・フォーマットは、専用の“タコメータ・ストリップ”を含んでいる。この“タコメータ・ストリップ”は、タコメータによって用いられる周期的に分布されたマーキングを含んでいる。しかし、タコメータ・ストリップは、データと一体となっていないので、テープの分離ストリップが、このために必要とされる。
【００３４】
本願の発明者らは、タコメータ・ストリップ用に構成されていないテープ・システムにおいて、規則的に離間されたマーキングをデータに対して分散させることが、データのより速いアクセスを可能にすることを発明した。例えば、既知のサイズの規則的に離間されたデータ“セグメント”を定めることによって、テープを既知の距離だけ急速に進め、適切なセグメントの初めに到達させることにより、デバイス・ブロックを容易に位置指定できる。しかし、多数の一定サイズのデータ・セグメント（それらの境界は、均一かつ一様に定められている）にデータが記憶される既知の記憶フォーマットは存在しない。対照的に、特定のデバイス・ブロックへのテープの急速な送りは、既知のデータ記憶フォーマットにとっては、より困難である。というのは、所望のデバイス・ブロックに先行する各デバイス・ブロックは、異なるサイズを有するからである。その結果、前のブロックをブロックずつ送る（それらのヘッダをガイドポストとして用いて）ことによって、所望のブロックへ到達することが必要となる。
【００３５】
均一に離間されたデータ・セグメントを用いることの他の潜在的な利点は、１つ以上の関連データ・セグメントを書き変えることによって、既存のデータをテープ上で更新できる“その場更新（ｕｐｄａｔｅ−ｉｎ−ｐｌａｃｅ）”の可能性である。
【００３６】
ガードバンド増大化
しかし、発明者らによって発見されたように、“ガードバンド増大化（ｇｕａｒｄｂａｎｄ  ｃｏｍｐｏｕｎｄｉｎｇ）”は、タコメータ・ストリップを備えていないテープ媒体に一定サイズのセグメントを作成することにおいて、重要な問題である。上述したように、既知の記憶システムは、データ・セグメントに一定かつ一様な境界を設けていない。これらの記憶システムでは、データのブロックは連続的に記憶され、各ブロックはその対応ヘッダの直後に記憶される。ブロック（およびそれらのヘッダ）が、段々とテープに付加されていくと、テープはついには満杯となる。これらのフォーマットは、その場更新を行わないので、隣り合うデバイス・ブロックはなんらの介在スペースすなわち“ガードバンド”なしに記憶することができる。
【００３７】
一定サイズのセグメントを、既知の技術を適用することによって作成することができるならば、ガードバンド増大化は、テープの記憶容量をかなり減少させるであろう。たとえ、各デバイス・ブロックが、一定サイズのテープ領域を最適に占有するとしても、温度，テープ張力，テープ・ドライブ装置性能，およびデータ記憶時の他の条件の故に、ブロック・サイズ間に微妙な変化が存在する。一般に、データの各ブロックおよびその対応ヘッダが、他のデバイス・ブロックおよびそれらの対応ヘッダとは、全く異なる時刻に記憶される。さらに、連続するデバイス・ブロックを書込むときに、位置決め誤りがブロックからブロックへと継続される。すなわち、１つのデータ・ブロックが誤って位置決めされると、次のデータ・ブロックが同様に誤って位置決めされる。したがって、例えば６０番目のブロックが、６１番目のブロックに割当てられた領域に配置される。６１番目のブロックをアクセスしようとする場合には、テープ・ドライブ装置は、標準セグメント長の６１倍の距離だけ、６１番目のブロックへテープを速く送る。しかし、この位置では、テープ・ドライブ装置は６０番目のブロックを得て、おそらくデータ読取り誤りを生じるであろう。
【００３８】
したがって、各デバイス・ブロックが一定サイズのセグメント方式で記憶されるならば、テープの空き領域（“ガードバンド”）がブロックに続いて設けられなければならない。特に、各ブロックのガードバンドは、ブロックが誤って非常に遅く始まり、次のブロックのスペースに延びる場合には、緩衝部を与えるであろう。したがって、テープ・ドライブ装置が、特定ブロックの予測位置へ高速に送りまたは巻き戻し、この位置が名目上、前のブロックのガードバンド内にあれば、テープ・ドライブ装置は、前のブロックのデータを書き変えないであろう。
【００３９】
ガードバンドは、また、その場更新を支援する働きをする。というのは、例えば、誤り符号化の変化，領域圧縮技術の変化，より多くのデータの付加などの故に、更新されたデータが、元のデータよりも大きくなるからである。
【００４０】
各ガードバンドは、自身のセグメントのデバイス・ブロックのなんらかの潜在的誤りに加えて、前のデバイス・ブロックの位置決めの際のなんらかの潜在的な誤りをも含まなければならないであろう。したがって、連続するデバイス・ブロックが書込まれるに従って、ガードバンドのサイズが増大するであろう。これが、“ガードバンド増大化”である。そして、各セグメントは、一定サイズを有するので、大きいガードバンドを有するセグメントは、より小さいデータ記憶容量を有するようになる。
【００４１】
したがって、ガードバンド増大化の問題の故に、発明者らは、以下に説明するプレ・フォーマッティング技術を開発して、データ容量を実質的に維持しながら、一定サイズのセグメントを保持している。発明者らによるプレ・フォーマッティング技術は、また、テープのプレ・フォーマッティング時間をかなり減少させる働きをする。そうでなければ、プレ・フォーマッティング時間は、多くの応用に対して過剰に大きいであろう。
【００４２】
プレ・フォーマッティング
特に、発明者らは、テープ媒体をプレ・フォーマットすることによって、より効率的なデータ・アクセスのために磁気テープ媒体を構成する方法を開発した。データを記憶する前に、テープを、同一サイズの複数のデータ記憶セグメントにプレ・フォーマットする。有利なことには、セグメントは一度にすべて定められるので、各セグメントの位置は、正確に制御される。このことは、セグメントのガードバンドのサイズがかなり縮小することを可能にする。
【００４３】
以下に詳しく説明するように、テープ媒体をプレ・フォーマットすることの他の利点は、セグメントを、独立にアドレス可能な“区分（ｐａｒｔｉｔｉｏｎ）”と呼ばれる領域に論理的に編成できることである。一定サイズの区分化では、各区分は、１つ以上の一定数のセグメントを含む。各区分のサイズは、同一にし、あるいは変えることができる。しかし、可変サイズの区分化では、各区分は、ユーザが選択した数のセグメントを含み、これはテープが再フォーマットされるような特定の時に変更することができる。
【００４４】
テープ編成の概要
図４において、テープ４００を示し、本発明のプレ・フォーマッティング方法の一例をさらに詳しく説明する。テープ４００は、例えば、図３に示すように、カートリッジのテープリールよりなる。テープ４００は、テープの物理時間始部（ａ  ｐｈｙｓｉｃａｌ  ｂｅｇｉｎｎｉｎｇ  ｏｆ  ｔａｐｅ；ＰＢＯＴ）と，テープの物理的終了部（ａ  ｐｈｙｓｉｃａｌ  ｅｎｄ  ｏｆ  ｔａｐｅ；ＬＢＯＴ）と，テープの論理開始部（ａ  ｌｏｇｉｃａｌ  ｂｅｇｉｎｎｉｎｇｏｆ  ｔａｐｅ；ＬＢＯＴ）とを有している。ＬＢＯＴの前に、１対のデータパッド４０４，４０５に沿って、ボリューム制御領域４０２（ａ  ｖｏｌｕｍｅｃｏｎｔｒｏｌ  ｒｅｇｉｏｎ；ＶＣＲ）が存在している。
【００４５】
テープ４００は、また、ＳＨ−０からＳＨ−Ｎで表示された（それぞれ４０８〜４１１と番号が付されている）複数のセグメント・ヘッダを有している。各セグメント・ヘッダに続いて、セグメント・ヘッダ４０８の場合には、記憶スペース４０８ａのような、データ記憶領域が存在する。各記憶領域は、スペース４０８ａ内のデバイス・ブロック４０８ｂの組のような、多数のデバイス・ブロックによって占有することができる。各セグメント・ヘッダおよび続くデータ記憶領域は、“セグメント”と呼ぶことができる。
【００４６】
セグメント・コード
各セグメント・ヘッダは、多数の種々のコードを含んでいる。例えば、セグメント・ヘッダ４０８は、固有キー（４０８ｃ）と、セグメント番号コード（４０８ｄ）と、テープ上のセグメントの数を示すコード（４０８ｅ）と、セグメント構成マッピング・コード（４０８ｆ）とを含んでいる。固有キー４０８ｃは、規定数の２進数字のような所定フォーマットで、数字，アルファベットの組合せ、すなわち文字数字を有している。固有キー４０８ｃは、すべてのセグメント・ヘッダに同様に配置され、それは、これらセグメント・ヘッダに、テープ４００の前のプレ・フォーマッティングにおいて用いられたすべてのセグメント・ヘッダとは無関係に固有である。したがって、固有キー４０８ｃは、最新の（すなわち、“有効な”）セグメント・ヘッダであるとして、セグメント・ヘッダ４０８〜４１１を識別する。以下に説明するように、固有キーを用いることは、テープをプレ・フォーマットするのに必要な時間をかなり減少させる。
【００４７】
セグメント番号４０８ｄは、好ましくは、他のセグメントに対して対応するセグメントを連続的に識別する番号を与える。例えば、ＳＨ−０は番号“０”が付される。コード４０８ｅは、テープ上のセグメントの数、すなわちテープ４００がプレ・フォーマットされたセグメント・ヘッダの全数をリストする。セグメント構成マッピング・コード４０８ｆは、テープ４００に与えられたプレ・フォーマットの構成を示すコードよりなる。好ましくは、このコードは、テープの所定構成（認識された構成のメニューに相当する）を表す多数の２進数を含んでいる。例えば、各所定の構成は、各セグメントのサイズ，テープ４００上にセグメントが配置されるパターンなどのような、特徴の組合せを含むことができる。また、コード４０８ｆは、以下に詳しく説明するように、セグメントと一定サイズの区分との間のマッピングの表示を含むことができる。
【００４８】
デバイス・ブロック
前述したように、各セグメントは、多数のデバイス・ブロックを含むことのできるデータ記憶領域を有している。各デバイス・ブロックは、ヘッダが先行し、トレーラが続く。最後のデバイス・ブロックは、データの終了（ＥＯＤ）をシグナリングするコード、すなわちそのセグメントにおける最終デバイス・ブロックを有している。
【００４９】
一例として、図４は、領域４０８ｂに記憶されたデバイス・ブロックの内容を示している。ヘッダ４０８ｇは、多数の論理ブロック４０８ｉ〜４０８ｌを含むデバイス・ブロック４０８ｈに先行している。論理ブロック４０８ｉ〜４０８ｌには、トレーラ４０８ｍが続く。第２のデバイス・ブロック４０８ｏには、第２のヘッダ４０８ｎが先行し、トレーラ４０８ｐが続く。最後に、ＥＯＤデバイス・ブロック４０８ｒは、ヘッダ４０８ｑとトレーラ４０８ｓとの間に挟まれている。
【００５０】
ヘッダ４０８ｇの拡大表示によって示されるように、デバイス・ブロック４０８ｂの組における各ヘッダは、固有キーと、セグメント番号と、対応するデバイス・ブロックに固有の特定データとを含んでいる。
【００５１】
ＶＣＲ
ＶＣＲ４０２は、多数の種々のコード、例えばフォーマット・コード（４０２ａ），統計的エラー情報コード（４０２ｂ），データ位置指定および妥当性情報コード（４０２ｃ），ディレクトリ（４０２ｄ）を含んでいる。ディレクトリ４０２ｄは、固有キー（４０８ｃ）のコピーと、テープ上のセグメントの数（４０８ｅ）のコピーと、セグメント構成マッピング・コード（４０８ｆ）のコピーとを含んでいる。
【００５２】
フォーマット・コード４０２ａは、テープがどのようにフォーマットされるかを、例えばデータ記憶密度，データ・トラックの数，サーボ・トラックの数などを表している。コード４０２ｂは、データ・アクセス・エラーの種類および頻度のログを保持している。コード４０２ｃは、データの種々の項目のための位置指定情報を与え、各セグメントの内容をリストし、無効データを含むテープの全領域を命名する。
【００５３】
ディレクトリ４０２ｄは、前述したセグメント・ヘッダ４０８と類似の情報を含んでいる。
【００５４】
プレ・フォーマッティング・シーケンス
図５は、本発明による例示的なプレ・フォーマッティング・シーケンスを示しており、タスク５０２より開始する。シーケンス５００は、コントローラ２０４またはホスト２０２のようなデジタル・データ・プロセッサを用いて実行し、“Ｃ”言語または他のプログラミング言語の機械可読命令のプログラムを実行することができる。図４，５において、テープ・ドライブ装置は、タスク５０２において動作し、テープ４００上にセグメントを定めることによってテープ４００を“プレ・フォーマット”する。“プレ・フォーマット”という用語は、新しいセグメントのフォーマッティングがそれらの使用の前に行われるが故に、用いられる。セグメント・ヘッダ４０８〜４１１をテープに書込むことによって、セグメントが定められる。なお、各セグメント・ヘッダは、前述したようにすべてのセグメント・ヘッダに共通の固有キーを含んでいる。必要ならば、タスク５０２は、ユーザ入力を受取るステップ（図示せず）を含み、セグメントのサイズおよび／または全数を特定する“細分性（ｇｒａｎｕｌａｒｉｔｙ）”のような、セグメントの特定の特徴を定めることができる。
【００５５】
重要なことには、セグメント・ヘッダは、テープ媒体へのデータのインタリーブ書込みに拘束されずに作成される。このように、セグメント・ヘッダは、一度に作成され、ガードバンド増大化との関係を避けている。しかし好ましいことには、各セグメントのデータ記憶領域に、依然として小さなガードバンドが用いられて、各セグメント・ヘッダの正確な位置に存在するわずかな不一致を収容している。
【００５６】
好ましくは、セグメント・ヘッダは、最も効率的に、タスク５０２で書込まれる。例えば、マルチトラック・テープの場合に、“垂直方向に位置決めされた”すべてのセグメント・ヘッダを、次のようにして一度に迅速に定めることができる。すなわち、セグメント・ヘッダを繰返し書込み、ヘッド切換えまたはヘッド指示によって異なるトラックに位置決めし、他のセグメント・ヘッダを書込むなどする。１つの垂直方向位置決めにおいてすべてのセグメント・ヘッダが定められた後、テープが垂直位置決めの次のポイントに送られる。
【００５７】
タスク５０４では、固有キー４０８ｃのコピーを含むＶＣＲ４０２が作成される。ＶＣＲ４０２における固有キーのコピーは、タスク５０２のセグメント・ヘッダを有効である、すなわち最新であるとして識別するインデックスを与える。
【００５８】
通常動作では、タスク５０４の後に、タスク５０６においてドライブ装置２２３が、読取り動作，書込み動作，シーク動作のような種々のアクセス動作におけるテープを含むことができる。しかし、タスク５０６は、好ましくは任意である。というのは、連続するプレ・フォーマット動作の際にテープ・アクセスを実行する必要がないからである。タスク５０６の後、照会５０８は、テープを再フォーマットすることによって、セグメントの新しい構成を作成するリクエストを受取ったか否かを質問する。受取っていなければ、制御はタスク５０６に戻って、さらなるテープ・アクセスを可能にする。しかし、照会５０８が“ｙｅｓ”と答えるならば、タスク５１０は、新しい固有キーを作成する。固有キーが一連の２進数ならば（前述したように）、例えば、１つ以上の単位だけデジタル・シーケンスをインクリメントすることによって、タスク５１０を実行することができる。
【００５９】
タスク５１０の後、制御はタスク５０２／５０４に戻って、新しいセグメント・ヘッダおよび新しい固有キーによって、テープをプレ・フォーマットする。このとき、さらなるユーザ入力を受取って（図示せず）、細分性のようなセグメントの種々の特徴を定めることができる。多くの場合、新しいセグメントの細分性は、古いセグメントの細分性とは異なるであろう。プレ・フォーマッティングの際（タスク５０２）、新しいセグメント・ヘッダおよびＶＣＲは、既存のセグメント・ヘッダおよびＶＣＲ上に、簡単に書込まれる。セグメント・ヘッダによって書き変えられなかった前に存在したデータは、消去が行われないので、残ることになる。
【００６０】
テープがプレ・フォーマットされて、新しいセグメントを定めた（タスク５０２／５０４）後、ドライブ装置２２３は、タスク５０６でテープ・アクセスを行うことができる。このようなテープ・アクセス動作は、最新の固有キーを含むことによって有効性を自己証明する、セグメント・ヘッダおよびデバイス・ブロック・ヘッダのみを参照することによって、行われる。古いデータおよびヘッダ情報は、無視される。このように固有キーを用いることによって、さもなければテープをプレ・フォーマットすることが必要とされるであろう時間を、劇的に減少することができる。しかし、有利なことには、古いデータおよびヘッダ情報を、データ回復，再構成，古いデータを用いる他の手順などのために、依然として用いることができる。
【００６１】
区分化
必要ならば、シーケンス５００は、さらに他のステップ（図示せず）を含んで、前述したように、各セグメントを、独立にアドレス可能な一定サイズの“区分”として、定めることができる。この場合には、セグメント構成マッピング・コード４０８ｆは、また、“区分ディレクトリ”を構成して、各一定サイズの区分のアドレスおよびその内容に、ディレクトリを与える。
【００６２】
一つの実施例では、区分とセグメントとの間には、１対１のマッピングが存在し得る。あるいはまた、単一セグメントの一定区分を用いる代りに、応用は、類別されたサイズの一定サイズ区分を必要とし、各区分は、応用によって必要とされるように、１つ以上の隣り合うセグメントを含んでいる。例えばテープは、３つの５セグメント区分と１つの４９セグメント区分とに割振られた６４セグメントで、定めることができる。類別された一定サイズの区分を有する実施例では、セグメントと区分との間のマッピングを、区分構成マッピング・コード６００（図６）に保持することができる。なお、コード６００は、ディレクトリ４０２ｄの一部分として含まれている。一例として、区分サイズを、タスク５０２，５０４の前に、ユーザ入力（図示せず）を受取ることによって、設定することができる。
【００６３】
他の方法として、シーケンス５００の特定のステップ（例えば、ステップ５０２，５０４）を、テープ媒体を製造するときに、専用の高精度プレ・フォーマッティング・マシーンによって、行うこともできる。いくつかの応用では、これは、プレ・フォーマッティングにおける高い精度およびエンド・ユーザのためのより大きな便宜性を与えることができる。
【００６４】
さらに他の実施例（図示せず）では、全テープに渡ってセグメントを定める代りに、セグメントを、必要に応じてグループで定めることができる。この実施例では、例えば、タスク５０２（図５）を最初に実行して、最初の“トラック・グループ（ｔｒａｃｋ  ｇｒｏｕｐ）”または“ラップ・ハーフ（ｗｒａｐ  ｈａｌｆ）”のような、テープの指定部分にセグメント・ヘッダを定めることができる。そして、テープのプレ・フォーマットされた部分が、テープ・アクセス（タスク５０６）の期間中に満たされた後に、タスク５０２を繰返して、テープの残りのトラック・グループまたはラップ・ハーフに、新しいグループの追加のセグメント・ヘッダを定めることができる。
【００６５】
プレ・フォーマッティング：可変区分化
配置
大まかに言えば、可変区分化は、データ記憶区分の使用を含んでおり、各データ記憶区分は、ユーザが選択した数のセグメント（連続的に定められる）を含んでいる。図６において、可変区分化の多くの特徴は、図４において説明したように、一定区分化に類似している。
【００６６】
しかし、特定の特徴が変更されて、サイズが変化する区分を収容する。例えば、セグメント構成マッピング・コード４０８ｆに加えて、ディレクトリ４０２ｄは、また、区分構成マッピング・コード６００を含んでいる。前述したように、セグメント構成マッピング・コード４０８ｆは、テープ４００に与えられるセグメント・プレ・フォーマットの構成を示すコードよりなる。対照的に、区分構成マッピング・コード６００は、テープ４００上のセグメントと区分との間のマッピングを示している。説明した実施例では、３つの区分６０２〜６０６が定められる。すなわち、（１）ＳＨ−０〜ＳＨ−２間の２つのセグメントは、区分０（６０２）を構成し、（２）ＳＨ−２（４１０）とＳＨ−Ｎ（４１１）との間の多数のセグメントは、区分１（６０４）を構成し、（３）ＳＨ−Ｎに続く１つのセグメントは、区分２（６０６）を構成している。
【００６７】
可変区分化の概要
説明のために、セグメントは、テープ開始部からのそれらの各距離に従って、連続的に配列されているものとする。すなわち、テープ開始部に近いセグメントは、テープ開始部から比較的遠いセグメントよりも“早く（ｅａｒｌｉｅｒ）”配列されている。最初に、全テープは、１つの区分を示している。１組のデバイス・ブロックまたは他のユーザデータが、テープへ記憶するために受取られると、デバイス・ブロックは、ブロックを記憶するのに必要とされる最小数の連続データ記憶セグメントに連続的に書込まれる。好ましくは、デバイス・ブロックの各組は、テープ上に得られる最も早く配列された利用可能なセグメントの初めに記憶される。１組のデバイス・ブロックが最小数のセグメントに書込まれると、これらのセグメントは、第１の区分であると定められ、これは区分を“閉鎖する（ｃｌｏｓｉｎｇ  ｏｕｔ）”と称せられる。したがって、すべての残りの（すなわち未占有の）セグメントは、第２の区分として定められる。
【００６８】
より多くのデバイス・ブロックが、テープへの記憶のために受取られると、これらデバイス・ブロックは、第２の区分の初めの１つ以上のセグメントに書込まれる。好ましくは最小数のセグメントが用いられて、新しいデバイス・ブロックを記憶する。これらのデバイス・ブロックを書込むと、第２の区分は、第２の区分を新しく占有したセグメントであると再び定めることによって“閉鎖”される。すべての残りの（すなわち未占有の）セグメントは、第３の区分として定められる。テープが満杯になるまで、前述したように追加の区分を作成することによって、将来のデータを記憶することができる。なお、各区分は、そこに記憶されるデータの量に適切な可変サイズを有している。
【００６９】
可変区分化シーケンス
図７は、本発明による例示的な可変区分化シーケンス（タスク７０２で始まる）を示している。シーケンス７００は、コントローラ２０４またはホスト２０２のようなデジタル・データ・プロセッサを用い、“Ｃ”言語または他の言語の機械可読命令のプログラムを実行することによって、行うことができる。タスク７０２では、入力が受取られる。この入力は、一定または可変の区分化のいずれを用いるかを特定し、およびテープのプレ・フォーマットに関係した他のパラメータを特定している。これらパラメータは、例えば、セグメント細分性を含むことができる。次に、タスク７０４では、テープ・ドライブ装置が動作して、テープ上のセグメントを定める。これは、シーケンス５００を含む図４，５に従って、前述したように行われる。
【００７０】
タスク７０４の後に、照会７０６は、タスク７０２で可変区分化が特定されたか否かを質問する。特定されなければ、制御は、一定の区分を作成するプロセス（例えば、図５のタスク５０６）に戻る。特定されれば、照会７０６の後、タスク７１０においてコマンドが受取られる。コマンドは、ホストのようなユーザ，アプリケーション・プログラム，オペレータ，あるいは他のデバイスまたはプロセスから受取ることができる。
【００７１】
タスク７１０のコマンドに応じて、ドライブ装置は、テープをアクセスし、データを位置指定し、区分を閉鎖することができる。もしコマンドがテープ・アクセスを特定するならば、タスク７１２において、ドライブ装置２２３は、読取り動作，書込み動作，シーク動作のような、必要な種々のタイプのアクセス動作を実行する。コマンド（タスク７１０）が位置指定動作を特定すると、タスク７１４で、ドライブ装置２２３が命令されて、所望のデータを位置指定する。タスク７１０において、区分の閉鎖が要求されると、タスク７１６は、“閉鎖”動作を実行して、現在の区分を閉鎖して、すべての残りのセグメントから新しい区分を作成する。
【００７２】
タスク７１２〜７１６のいずれかの後、照会７１８は、リクエストが受取られて、新しいセグメント・ヘッダでテープをプレ・フォーマットしたか否かを質問する。リクエストが受取られていなければ、制御はタスク７１０に戻り、他の命令を受取る。リクエストが受取られていれば、プレ・フォーマットが要求されると、タスク７２０は新しい固有キーを生成し、プレ・フォーマット・プロセスを開始するために、制御をタスク７０４に戻す。
【００７３】
連続および非連続データ記憶
“連続データ記憶”においては、各区分は隣り合うセグメントのみを含んでいる。図６の例は、連続データ記憶を用いている。しかし、本発明の区分化システムの１つの利点は、非連続データ記憶の可能性である。非連続データ記憶では、各区分のセグメントは、互いに隣り合うようにする、あるいは隣り合わないようにすることができる。
【００７４】
非連続データ記憶は、概して、多くの点で連続データ記憶に類似している。例えば、テープは、前述したように、シーケンス７００（図７）を用いて区分される。しかし、前述したようにテープが区分された後は、区分に割当てられなかったすべてのセグメントをリストする“自由プール（ｆｒｅｅ  ｐｏｏｌ）”（図示せず）が保持される。次に、タスク７１０が実行される毎に、追加の“割振り解放”コマンドおよび“割振り”コマンドが認識される。割振り解放コマンドは、区分から特定のセグメントを除去して、それを自由プールに与える。割振りコマンドは、自由プールから特定のセグメントを取出して、特定のセグメントを、その特定のセグメントのテープ上の位置に拘らず、特定の区分に割当てる。
【００７５】
非連続データ記憶シーケンスは、多数の種々のルーチン（図示せず）を含み、割振り，断片化解消（ｄｅ−ｆｒａｇｍｅｎｔａｔｉｏｎ）などを最適化することができる。
【００７６】
さらなる拡張として、本発明の他の実施例は、特定のセグメント・ヘッダを選択的に書き変えることによって、データ記憶容量を増大させる。特に、マルチ・セグメント区分が定められると、区分の最初のセグメント・ヘッダを除いたすべてのデータを、書き変えることができる。拡張する有効データ記憶容量に対するこの方法は、可変または一定の区分化の関係において、非連続データ記憶に特に応用できる。しかし、当業者（この開示の利益を受ける）は、他にも応用が存在することを理解するであろう。
【００７７】
埋込み
本発明の他の実施例は、“自動埋込み（ａｕｔｏｍａｔｅｄ  ｐａｄｄｉｎｇ）”であり、これは連続または非連続のデータ記憶に対する可変区分化に適用できる。自動埋込みによれば、１つ以上の空きデータ記憶セグメントが、区分が閉鎖されるときに、各区分に付加される。追加のセグメントの数は、その区分のデータの特徴に応じて、ユーザによって選択することができる。自動埋込みを一時的にディスエーブルするには、ユーザは、追加のセグメントの数として例えば“０”を選ぶことができる。他の実施例では、追加のセグメントの数は、ユーザによって予め特定されたデフォルト値に従って、自動的に選ぶことができる。このデフォルト値は、自動埋込みをディスエーブルすることが必要ならば、０に設定することができる。
【００７８】
自動埋込みは、その場更新動作を支援するのに特に有用である。特に、更新データは、元のデータよりもさらに多くのスペースをしばしば占有する。これは、更新データが、元のデータと同じ数のバイトを含んでいるとしてもである。この状態は、例えば、エラー検出アルゴリズムなどによって生じる変化により、更新データが拡大される場合に生じ得る。しかし、自動埋込みでは、置換される元のデータ・ブロックよりも大きくすることのできる置換データ・ブロックの大きな組に対して、余分のスペースを、テープ上に保存することができる。
【００７９】
フレキシブル容量スケーリング
概要
前述したように、多くの基本的なテープ記憶システムは、蛇行状にデータを記憶し、いくつかのさらに進歩したシステムは、一定容量スケーリングを用いている。発明者らは、以下に説明するように、“フレキシブル容量スケーリング”を開発することによって、一定容量スケーリングの技術を改良した。フレキシブル容量スケーリングでは、ハイブリッド蛇行パターンを用いて、マルチトラック・テープ上にデータを記憶する。データは、多数の隣り合うスタック蛇行パターンの連続構成で、双方向に記憶される。すべてのデバイス・ブロックの連続アクセスが、配列されたデバイス・ブロックの隣り合うブロック間にある領域を飛び越えるためにテープ媒体を進めることなく可能であるという点で、構成は連続である。
【００８０】
特に、図８は、フレキシブル容量スケーリングの一例を表すマルチトラック・テープ８００を示している。テープ８００は、双方向に記憶されたデータを含んでいる。これは、例えば、矢印８０２，８０３によって示される方向によって示されている。図示のデータ記憶パターンは、３つの隣り合うスタック蛇行パターン８０６〜８０８を採用している。しかし、多くのまたは少ない数の多数スタック蛇行パターンを、本発明にしたがって用いることができる。各蛇行パターン８０６〜８０８において、データパスは、テープの規定境界内の多数のトラックに渡って前後に曲がりくねっている。
【００８１】
この構成は、データの項目が或る様式で配置される場合に、最も有利である。すなわち、データの項目が組合される順序にいくつかの重要性が存在する。例えば、データの項目を、連続的に増大する期間で作成された測度，アルファベット順に配列された名前，ドケット番号に従って番号順に配列されたテキスト要約などに対応させることができる。データ項目は、好ましくは、この順序に相当するシーケンスで記憶される。例えば、図８の例を用いると、データ項目８１０〜８３３は、連続的に増大する順序のデータ項目を表している。データの項目が連続的に配列されるならば、データ位置指定動作は、ドライブ装置による最小のテープ移動を有利に含むであろう。これらの動作は、データ項目間にギャップが存在する場合におけるデータ位置指定の効率を劇的に改善する。これは、連続順序で隣り合うデータの項目が、テープ上の隣り合う位置に記憶されるからである。例えば、項目８１０，８１１は、テープ８００上で隣り合う位置に記憶されている。
【００８２】
さらに、双方向矢印（矢印８０２，８０３を含む）で示すように、データ記憶パターンは連続的である。すなわち、連続順序で隣り合うデータ・ブロックは、データパス内で常に隣り合っている。そして、パターンのパスの故に、テープに記憶された全データの連続アクセスが可能である。この場合、テープ媒体を進めて、配列されたデバイス・ブロックの隣り合うブロック間にあるすべての領域を飛び越す必要はない。言い換えれば、１つのデータ項目の終りから次のデータ項目の初めに進むために、わずかなテープ移動は必要ではなく、あるいはテープ移動は全く必要ではない。例えば、項目８１６，８１７は、項目８２３，８２４のように、隣り合っている。項目８２９，８３０，８３１，８３２，８３３に沿ったパスは、同様に、連続している。したがって、フレキシブル・スケーリングでのデータのアクセスは、わずかなテープ移動で良い。
【００８３】
図８に示すように、フレキシブル容量スケーリングは、一定容量スケーリングとは異なり、データがテープを完全に満たしているときでさえも、採用することができる。この状況では、フレキシブル容量スケーリングは、連続データの急速アクセスを与える。というのは、データの連続的に近い項目が、近い位置に記憶されるからである。
【００８４】
さらに、フレキシブル容量スケーリングを、一定容量スケーリングのように、データがテープを完全に満たさないときにも、依然として用いることができる。図９は、データ項目９０２〜９１５がテープ９００の長さの２／３を占める例を示している。ここに、データパスは、２つのスタック蛇行パターン９５０，９５１を有している。テープ９５２の残りの部分は、空きである。しかし、項目９０２〜９１５がテープに記憶された後、それぞれ位置９１６〜９２５を通って延びる（必要に応じて）データパスに従って、追加のデータ項目を記憶することができる。
【００８５】
図８，９は、連続データ・パターンを、偶数および奇数の蛇行パターンで作成できることを示している。しかし、図８，９の構成は、単なる例として示されたものである。これらデータ記憶パスの他の変形例を用いて、多数のスタック蛇行パターンに記憶された配列データへの連続アクセスを与えることができる。例えば、蛇行パターンを、テープの開始部（図示されている）の代りに中央部（図示されていない）でスタートさせて、テープ中央ローディング・カセットをサポートすることができる。
【００８６】
区分化を含むフレキシブル容量スケーリング
フレキシブル容量スケーリングの機能拡張実施例を実行して、区分化を与えることができる。１つの可能な配置では、蛇行スタックにおける各スワース（ｓｗａｔｈ）を、１つのセグメントとして選定することができる。この配置におけるセグメントを、データパスが進むにつれて、連続的に番号付けすることができる。例えば、データ項目９０２〜９１５（図９）に相当するセグメント０〜１３、あるいはデータ項目８１０〜８３３（図８）に相当するセグメント０〜２３である。
【００８７】
あるいはまた、多くのあるいは少ない数の区分を、各蛇行スワースに含めることができる。例えば、各スワースは、２つまたは３つの区分を含むことができる。特定の実施例を説明するために、４番目のセグメントの後に方向反転が発生する５／２セグメントを有するテープを定めることができる。この例では、各スワースは、書式区分を含んでいる。各蛇行スワースにおけるセグメントの数の増大は、微細セグメント細分性を有する応用のような、いくつかの応用で有利である。これらの場合には、長いスワースを持つことは、望ましい読取り／書込み性能を維持することを助け、そうでなければこの性能は、テープパス方向における多数の反転によって制限される。さらに、フレキシブル容量スケーリングによる区分化は、前述した技術を用いることによって、一定あるいは可変とすることができる。
【００８８】
他の実施例
本発明の好適な実施例とみなされるものを説明したが、本発明の範囲から逸脱することなく、変形および変更を行うことができることは、当業者には明らかであろう。
【００８９】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）多数の並列トラックを有する磁気テープ媒体上に、１組の配列されたデバイス・ブロックを分布させる方法であって、
多数の隣り合うスタック蛇行パターンの連続構成内に、前記デバイス・ブロックを双方向に記憶して、すべてのデバイス・ブロックの連続アクセスが、前記配列されたデバイス・ブロックの隣り合うブロック間にあるすべての領域を飛び越すために前記テープ媒体を進めることなく、実質的に可能であるようにするステップを含むことを特徴とする方法。
（２）多数の並列トラックを有する磁気テープ媒体上に、１組の配列されたデバイス・ブロックを分布させる方法であって、
多数の隣り合うスタック蛇行パターンを形成する連続的に配列されたスワースの連続構成内に、前記デバイス・ブロックを双方向に記憶して、１つのスワースの終りから連続する次のスワースの初めまでのテープヘッドの移動が、スワース間にあるすべての領域を飛び越すために前記テープ媒体を進めることなく、実質的に可能であるようにするステップを含むことを特徴とする方法。
（３）多数の並列トラックを有する磁気テープ媒体上に、１組の配列されたデバイス・ブロックを分布させる方法であって、
多数の隣り合うスタック蛇行パターンを形成する連続的に配列されたスワースの連続構成内に、前記デバイス・ブロックを双方向に記憶して、各スワースの終りが、連続する次のスワースの初めに垂直方向に位置決めされるようにするステップを含むことを特徴とする方法。
（４）多数の並列トラックを有する磁気テープ媒体上に配列データを分布させる方法であって、
第１の複数のセグメント・ヘッダを前記テープ媒体に書込むことによって、第１の複数のデータ記憶セグメントを定めるステップを含み、前記書込みは、前記テープ媒体へのユーザデータのいかなるインタリーブ書込みと関係なく実行され、前記複数のセグメント・ヘッダのうちの隣り合うセグメント・ヘッダは、第１の所定の間隔だけ一様に離間され、前記第１の複数のセグメント・ヘッダの各々は、前記第１の複数のセグメント・ヘッダのすべてに共通の第１の所定のキーを含み、前記第１の複数のデータ記憶セグメントは、多数の隣り合うスタック蛇行パターンの連続構成内に双方向に書込まれ、前記データ記憶セグメントに記憶されたすべてのデータの連続アクセスが、前記配列データのうちの隣り合うデータ間にあるすべての領域を飛び越すために前記テープ媒体を進めることなく、可能であり、
前記第１の所定のキーを、キーインデックスに記憶して、前記第１の複数のデータ記憶セグメントを、最新であるとして識別するステップを含む、
ことを特徴とする方法。
（５）１組の配列されたデバイス・ブロックを、前記第１の複数のデータ記憶セグメントに記憶するステップをさらに含むことを特徴とする上記（４）に記載の方法。
（６）前記各スタック蛇行パターンは、ほぼ等しい長さの多数のスワースを有し、前記スタック蛇行パターン内のすべてのスワースは、所定数のセグメント・ヘッダを有することを特徴とする上記（４）に記載の方法。
（７）前記所定数は１であることを特徴とする上記（６）に記載の方法。
（８）前記所定数は１より大きい整数であることを特徴とする上記（６）に記載の方法。
（９）磁気テープ媒体を備え、この磁気テープ媒体は、多数の並列トラックを有し、多数の隣り合うスタック蛇行パターンの連続構成内に、双方向に記憶された１組の配列されたデバイス・ブロックを有し、前記デバイス・ブロックの連続アクセスが、前記配列されたデバイス・ブロックのうちの隣り合うデバイス・ブロック間にあるすべての領域を飛び越すために前記テープ媒体を進めることなく、実質的に可能であるようにすることを特徴とする製造品。
（１０）磁気テープ媒体を備え、この磁気テープ媒体は、多数の並列トラックを有し、多数の隣り合うスタック蛇行パターンを形成する連続的に配列されたスワースの連続構成内に、双方向に記憶された１組の配列されたデバイス・ブロックを有し、１つのスワースの終りから連続する次のスワースの初めまでのテープヘッドの移動が、スワース間にあるすべての領域を飛び越すために前記テープ媒体を進めることなく、実質的に可能であるようにすることを特徴とする製造品。
（１１）磁気テープ媒体を備え、この磁気テープ媒体は、多数の並列トラックを有し、多数の隣り合うスタック蛇行パターンを形成する連続的に配列されたスワースの連続構成内に、双方向に記憶された１組の配列されたデバイス・ブロックを有し、各スワースの終りが、連続する次のスワースの初めに垂直方向に位置決めされるようにすることを特徴とする製造品。
（１２）磁気テープ媒体を備え、この磁気テープ媒体は、多数の並列トラックを有し、多数の隣り合うスタック蛇行パターンの連続構成内に、双方向に記憶された配列データを有し、前記配列データの連続アクセスが、前記配列データの隣り合うデータ間にあるすべての領域を飛び越すために、前記テープ媒体を進めることなく、実質的に可能であるようにし、
テープ・ドライブ装置を備え、このテープ・ドライブ装置は、
Ｒ／Ｗデータフローに結合されたＲ／Ｗヘッドと、
前記Ｒ／Ｗデータフローに結合され、前記テープ媒体とデータを交換するコントローラと、
前記テープ媒体に取りはずし可能に結合され、前記テープ媒体およびＲ／Ｗヘッドの相対的位置決めを行うサーボ・コントロール・モジュールとを有する、
ことを特徴とするデータ記憶装置。
（１３）磁気テープ媒体を備え、この磁気テープ媒体は、多数の並列トラックを有し、多数の隣り合うスタック蛇行パターンを形成する連続的に配列されたスワースの連続構成内に、双方向に記憶された配列データを有し、１つのスワースの終りから連続する次のスワースの初めまでのテープヘッドの移動が、スワース間にあるすべての領域を飛び越すために前記テープ媒体を進めることなく、実質的に可能であり、
テープ・ドライブ装置を備え、このテープ・ドライブ装置は、
Ｒ／Ｗデータフローに結合されたＲ／Ｗヘッドと、
前記Ｒ／Ｗデータフローに結合され、前記テープ媒体とデータを交換するコントローラと、
前記テープ媒体に取りはずし可能に結合され、前記テープ媒体およびＲ／Ｗヘッドの相対的位置決めを行うサーボ・コントロール・モジュールとを有する、
ことを特徴とするデータ記憶装置。
（１４）磁気テープ媒体を備え、この磁気テープ媒体は、多数の並列トラックを有し、多数の隣り合うスタック蛇行パターンを形成する連続的に配列されたスワースの連続構成内に、双方向に記憶された配列データを有し、各スワースの終りが、連続する次のスワースの初めに垂直方向に位置決めされるようにし、
テープ・ドライブ装置を備え、このテープ・ドライブ装置は、
Ｒ／Ｗデータフローに結合されたＲ／Ｗヘッドと、
前記Ｒ／Ｗデータフローに結合され、前記テープ媒体とデータを交換するコントローラと、
前記テープ媒体に取りはずし可能に結合され、前記テープ媒体およびＲ／Ｗヘッドの相対的位置決めを行うサーボ・コントロール・モジュールとを有する、
ことを特徴とするデータ記憶装置。
（１５）多数の並列トラックを有する磁気テープ媒体に配列データを分布させる方法であって、
フレキシブル容量スケーリングでデータを記憶するステップを含むことを特徴とする方法。
（１６）多数の並列トラックを有する磁気テープ媒体上に配列データを分布させる方法であって、
第１の複数のセグメント・ヘッダを前記テープ媒体に書込むことによって、第１の複数のデータ記憶セグメントを定めるステップを含み、前記書込みは、前記テープ媒体へのユーザデータのいかなるインタリーブ書込みと関係なく実行され、前記複数のセグメント・ヘッダのうちの隣り合うセグメント・ヘッダは、第１の所定の間隔だけ一様に離間され、前記第１の複数のセグメント・ヘッダの各々は、前記第１の複数のセグメント・ヘッダのすべてに共通の第１の所定のキーを含み、前記第１の複数のデータ記憶セグメントは、フレキシブル容量スケーリングを用いて、多数の隣り合うスタック蛇行パターンの連続構成内に、双方向に書込まれ、
前記第１の所定のキーを、キーインデックスに記憶して、前記第１の複数のデータ記憶セグメントを、最新であるとして識別するステップを含む、
ことを特徴とする方法。
（１７）１組の配列されたデバイス・ブロックを、前記第１の複数の記憶セグメントに記憶するステップをさらに含むことを特徴とする上記（１６）に記載の方法。
（１８）フレキシブル容量スケーリングで双方向に記憶された配列データを含む多数の並列トラックを有する磁気テープ媒体を備えることを特徴とするデータ記憶装置。
（１９）フレキシブル容量スケーリングで双方向に記憶された配列データを含む多数の並列トラックを有する磁気テープ媒体と、
テープ・ドライブ装置とを備え、このテープ・ドライブ装置は、
Ｒ／Ｗデータフローに結合されたＲ／Ｗヘッドと、
前記Ｒ／Ｗデータフローに結合され、前記テープ媒体とデータを交換するコントローラと、
前記テープ媒体に取りはずし可能に結合され、前記テープ媒体およびＲ／Ｗヘッドの相対的位置決めを行うサーボ・コントロール・モジュールとを有する、
ことを特徴とするデータ記憶装置。
（２０）データ処理システム上で実行されるプロセスによって、アクセスのためのデータを記憶する磁気テープ媒体であって、
前記テープ媒体に記憶されるデータ構造を備え、このデータ構造は、
多数の隣り合うスタック蛇行パターンの連続構成内に、双方向に記憶された一組のデバイス・ブロックを有し、デバイス・ブロックの連続アクセスが、配列された項目の隣り合うブロック間にあるすべての領域を飛び越すために前記テープ媒体を進めることなく、実質的に可能であるようにする、
ことを特徴とする磁気テープ媒体。
【図面の簡単な説明】
【図１】一定容量スケーリングを用いるマルチトラック・テープを示す図である。
【図２】本発明のデータ記憶システムのハードウェア要素および相互接続を示す図である。
【図３】本発明による磁気テープ・データ記憶媒体の一例を示す図である。
【図４】本発明による一定区分化を例示するプレ・フォーマットされたテープを示すブロック図である。
【図５】本発明に従って一定区分化を用いて、テープをプレ・フォーマットするシーケンスを示すフローチャートである。
【図６】本発明による可変区分化を例示するプレ・フォーマットされたテープを示すブロック図である。
【図７】本発明による可変区分化を用いるテープをプレ・フォーマットするシーケンスを示すフローチャートである。
【図８】本発明によるフレキシブル容量スケーリングの１つの構成を用いるマルチトラック・テープを示す図である。
【図９】本発明によるフレキシブル容量スケーリングの他の構成を用いるマルチトラック・テープを示す図である。
【符号の説明】
１００  テープ
１０２  トラック
１０４，１０６  パス
１０８  テープの後半
２００  データ記憶システム
２０２  ホスト
２０３  アプリケーション・プログラム
２０４  Ｒ／Ｗコントローラ
２０５  Ｒ／Ｗデータフロー
２０６  テープ媒体
２０７  Ｒ／Ｗヘッド
２０８  スタックローダ
２１０  ホスト・インタフェース
２１２，２１４  速度調整バッファ
２１６  データ領域圧縮器
２２０  トラック追跡モジュール
２２２  張力およびテープ位置決めモジュール
２２３  ドライブ装置
２２６  ヘッダ・モジュール
３００  外部ケース
３０２  テープリール
３０４  リーダーブロック
４００  テープ
４０２  ＶＣＲ
４０４，４０５  データパッド
４０８〜４１１  セグメント・ヘッダ
４０８ａ  記憶スペース
４０８ｂ  デバイス・ブロック
６０２，６０４，６０６  区分
８００，９００  マルチトラック・テープ
８０６〜８０８，９５０〜９５２  スタック蛇行パターン
８１０〜８３３，９０２〜９２５  データ項目
【図１】
0003732915.tif 000002
【図２】
0003732915.tif 000003
【図３】
0003732915.tif 000004
【図４】
0003732915.tif 000005
【図５】
0003732915.tif 000006
【図６】
0003732915.tif 000007
【図７】
0003732915.tif 000008
【図８】
0003732915.tif 000009
【図９】
0003732915.tif 000010