(57)【特許請求の範囲】
【請求項１】
１つまたはそれ以上のチャネルを含む磁気テープ記憶媒体上にデータを書込むための方法であって、
データソースから前記データを受取るステップと、
前記データをデータブロックおよびエラー訂正コードブロックにフォーマット化するステップと、
データエンティティを作成するステップとを備え、各データエンティティはデータブロックと、エラー訂正コードブロックとを含み、さらに前記方法は、
データエンベロープを規定するステップを備え、前記データエンベロープの各々は少なくとも１つの前記データエンティティを含み、さらに前記方法は、
前記磁気テープ記憶媒体上に前記データエンベロープを順序的に書込むステップを備えており、
前記データエンベロープを順序的に書込むステップは、
前記磁気テープ記憶媒体上にデータブロックおよび／またはエラー訂正コードブロックを書込むことによって、前記磁気テープ記憶媒体上の次のデータエンベロープを開始するステップと、
先のデータエンベロープにあるチャネル上に先に書込まれたデータブロックまたはエラー訂正コードブロックにおけるエラーを検出するステップと、
前記次のデータエンベロープに書込まれた前記データブロックおよび／またはエラー訂正コードブロックを消滅させるステップと、
前記先のデータエンベロープの中に、エラーのある前記データブロックまたはエラー訂正コードブロックを再書込みするステップとを含む、磁気テープ記憶媒体上にデータを書込むための方法。
【請求項２】
前記データブロックおよび前記エラー訂正コードブロックが順序的な順で前記データエンベロープ内に配置される、請求項１に記載の方法。
【請求項３】
前記データブロックおよび前記エラー訂正コードブロックが順序的でない順で前記データエンベロープ内に配置される、請求項１に記載の方法。
【請求項４】
前記データブロックおよび前記エラー訂正コードブロックのサイズが実質的に同じである、請求項１に記載の方法。
【請求項５】
前記データブロックおよび前記エラー訂正コードブロックのサイズが
同じではない、請求項１に記載の方法。
【請求項６】
前記磁気テープ記憶媒体上に前記データエンベロープを順序的に書込むステップが、
前記磁気テープ記憶媒体の特定のチャネル上に先に書込まれたデータブロックまたはエラー訂正コードブロックの中にエラーを検出するステップと、
エラーのある前記データブロックまたはエラー訂正コードブロックを、磁気テープ記憶媒体の環状に隣接するチャネル上に再書込みするステップとを含む、請求項１に記載の方法。
【請求項７】
前記ブロックを消滅させるステップは、
次の読出し動作を示す制御ビットにより、前記次のデータエンベロープの前記データブロックおよび／またはエラー訂正コードブロックを不良としてマークし、当該不良ブロックを無視するステップを含む、請求項１に記載の方法。
【請求項８】
１つまたはそれ以上のチャネルを含む記憶媒体上にデータを書込むための方法であって、
データソースから前記データを受取るステップと、
前記データをブロックにフォーマット化するステップと、
少なくとも１つのデータエンティティを作成するステップとを備え、各データエンティティは１つまたはそれ以上の前記ブロックを含み、さらに前記方法は、
データエンベロープを規定するステップを備え、前記データエンベロープの各々は少なくとも１つの前記データエンティティを含み、さらに前記方法は、
前記記憶媒体上に前記データエンベロープを書込むステップを備え、
前記エンベロープを書込むステップは、
前記記憶媒体上にブロックを書込むことによって前記記憶媒体上の次のデータエンベロープを開始するステップと、
先のデータエンベロープにあるチャネル上に先に書込まれたブロックにおけるエラーを検出するステップと、
前記次のデータエンベロープに始めに書込まれた前記ブロックを消滅させるステップと、
前記先のデータエンベロープの中に、エラーのある前記ブロックを再書込みするステップとを含む、記憶媒体上にデータを書込むための方法。
【請求項９】
前記ブロックがデータブロックおよびエラー訂正コードブロックを含む、請求項８に記載の方法。
【請求項１０】
前記ブロックのサイズが実質的に同じである、請求項８に記載の方法。
【請求項１１】
前記ブロックのサイズが同じではない、請求項８に記載の方法。
【請求項１２】
前記記憶媒体上に前記データエンベロープを書込むステップが、前記記憶媒体上に前記データエンベロープを順序的に書込むステップを含む、請求項８に記載の方法。
【請求項１３】
前記記憶媒体が磁気テープ記憶媒体を含む、請求項８に記載の方法。
【請求項１４】
前記記憶媒体上に前記データエンベロープを書込むステップが、
前記記憶媒体の特定のチャネル上に先に書込まれたブロックにおけるエラーを検出するステップと、
前記記憶媒体の環状に隣接するチャネルに、エラーのある前記ブロックを再書込みするステップとを含む、請求項８に記載の方法。
【請求項１５】
前記ブロックを消滅させるステップは、
次の読出し動作を示す制御ビットにより、前記次のデータエンベロープの前記データブロックおよび／またはエラー訂正コードブロックを不良としてマークし、当該不良ブロックを無視するステップを含む、請求項８に記載の方法。
【請求項１６】
１つまたはそれ以上のチャネルを含む記憶媒体上にブロックの形で
データを書込むための装置であって、
前記記憶媒体上に順序的に読出され、かつ書込まれるよう適合されたリードアフタライト記録デバイスと、
前記リードアフタライト記録デバイスに動作可能に結合されたコントローラとを備え、前記コントローラは、
データソースからデータを受取り、
前記データをブロックにフォーマット化し、かつ
少なくとも１つのデータエンティティを作成するよう適合され、各データエンティティは少なくとも１つまたはそれ以上の前記ブロックを含み、さらに前記コントローラは、
データエンベロープを規定するよう適合され、前記データエンベロープの各々は少なくとも１つの前記データエンティティを含み、さらに前記コントローラは、
前記記憶媒体上に前記データエンベロープが順序的に書込まれるように前記リードアフタライト記録デバイスを導くよう適合され、
前記記憶媒体上にブロックを書込むよう前記リードアフタライト記録デバイスを導くことによって、前記記憶媒体上に次のデータエンベロープを開始し、
先のデータエンベロープにあるチャネル上に先に書込まれたブロックにおけるエラーを検出し、
前記次のデータエンベロープに始めに書込まれた前記ブロックを消滅させ、かつ
前記先のデータエンベロープの中に、エラーのある前記ブロックを再書込みするよう前記リードアフタライト記録デバイスを導くよう適合される、記憶媒体上にブロックの形でデータを書込むための装置。
【請求項１７】
前記ブロックがデータブロックおよびエラー訂正コードブロックを含む、請求項１６に記載の装置。
【請求項１８】
前記ブロックのサイズが実質的に同じである、請求項１６に記載の装置。
【請求項１９】
前記ブロックのサイズが同じではない、請求項１６に記載の装置。
【請求項２０】
前記コントローラが、前記記憶媒体上に前記データエンベロープを順序的に書込むように前記リードアフタライト記録デバイスを導くよう適合される、請求項１６に記載の装置。
【請求項２１】
前記リードアフタライト記録デバイスが、磁気テープリードアフタライト記録ヘッドを含む、請求項１６に記載の装置。
【請求項２２】
前記コントローラが、
前記記憶媒体の、特定のチャネル上に先に書込まれたブロックにあるエラーを検出し、
前記記憶媒体の、環状に隣接するチャネルに、エラーのある前記ブロックを再書込みするように前記リードアフタライト記録デバイスを導くよう適合される、請求項１６に記載の装置。
【請求項２３】
前記コントローラは、次の読出し動作を示す制御ビットにより、前記次のデータエンベロープの前記データブロックおよび／またはエラー訂正コードブロックを不良としてマークし、当該不良ブロックを無視することによって前記ブロックを消滅させるよう適合される、請求項１６に記載の装置。
【請求項２４】
前記コントローラが、プログラムされたマイクロプロセッサを含む、請求項１６に記載の装置。
【請求項２５】
前記コントローラが論理アレイを含む、請求項１６に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の背景】
この発明は一般に、磁気テープ記憶に関する。特にこの発明は磁気テープ上にデータを書込むための方法に関する。
【０００２】
従来の磁気テープ記憶デバイスは、従来のリードアフタライトヘッドを用いて、データのブロックの形で磁気テープ上にデータを記憶する。従来の磁気テープ媒体ブロックトポロジーは、磁気テープ記憶媒体上に、うまく順序づけられた順序的なブロック配置を必要とする。
【０００３】
このような従来の磁気テープ媒体ブロックトポロジーには望ましくない２つの特徴がある。第１に、必要なデータブロックの順序に結合された従来のリードアフタライト構成では、書込エラーのためにブロックの再書込が必要とされるたびに記憶容量損失が結果として生じる。第２に、もし読出／書込チャネルに問題が起こるか、または局所的な媒体異常が起こると、既存の磁気テープ媒体ブロックトポロジーでは簡単には書込が続けられない。
【０００４】
この発明は、以上に述べた問題のうち１つまたはそれ以上を克服するか、またはその問題による影響を少なくとも軽減することに関する。特にこの発明は、１つまたはそれ以上のデータエンティティを含むデータエンベロープの形で磁気テープ記憶媒体上にデータを書込むための方法を提供する。データエンティティの各々はデータブロックと、エラー訂正コード（ＥＣＣ）ブロックとを含む。データエンベロープ内に含まれるデータエンティティのデータブロックおよびＥＣＣブロックの記憶はいかなる順で行なわれてもよい。結果として生じるブロック記憶トポロジーにより、データブロックおよびＥＣＣブロックの再書込による記憶容量損失がほとんどなくなる。結果として生じるブロック記憶トポロジーによってさらに、ブロックを他の良いチャネル上に移動させるか、または媒体の逸脱部分から離れるように移動させることによって、読出／書込チャネルの問題および／または局所的な媒体異常があるにもかかわらずデータブロックおよびＥＣＣブロックが続けて書込めるようになる。したがってこの発明はテープ記憶容量をかなり改善し、全体的な信頼度を高める。
【０００５】
【発明の概要】
この発明の１つの局面に従って、データブロックの形で磁気テープ記憶媒体上にデータを書込むための方法が提供され、この方法ではデータがデータソースから受取られ、受取られたデータがデータブロックおよびＥＣＣブロックの中にフォーマット化され、次にデータブロックとＥＣＣブロックとを含むデータエンティティが作成され、その後１つまたはそれ以上のデータエンティティを含むデータエンベロープが規定されて、順序的な態様でデータエンベロープが磁気テープ記憶媒体上に書込まれる。データエンベロープ内のデータブロックおよびＥＣＣブロックはランダムに配置でき、テープ媒体上に順序的に配置される必要はない。
【０００６】
【詳細な説明】
発明の例示的な実施例の以下の説明は、以下に注釈がつけられた、例示的な方法で行なわれる動作のリストとして与えられる。この説明は、最初に提出された出願のいくつかの請求項から引き出されるが、もちろんこの請求項は記載される例示的な実施例に限定されるものとは意図されず、かつそうみなされるべきではない。ブラケット付きの番号は以下の注釈に対応し、ブラケットの付けられていない参照符号は、図面にある同じ符号に対応する。
【０００７】
述べられる特定の実施例は例示的なものとして意図され、請求項の範囲を限定するものではないことを理解されたい。明瞭にするために、実施例の一般的な特徴すべてが述べられるわけではない。このような実際の実施例すべての開発において、開発者の特定の目標を達成するためには制度およびビジネスに関する制約に従うことなどの実施に特定な多くの決定がなされなければならず、かつこれらの目標は実施例によって異なることとなることが、もちろん認められるだろう。さらに、このような開発のための努力は複雑でかつ時間がかかるものではあるが、それでもなおこの開示によって利益を受ける当業者にとっては一般的な技術となることが理解されるだろう。
【０００８】
例示的な方法
図１から図４は、システムバス１１５［５］によってテープドライブ１１０［４］に動作可能に結合されるホストコンピュータ１０５［３］を用いて、磁気テープ記憶媒体１００［２］上にデータを書込むための例示的な方法［１］の前後関係を示す。例示的な方法は一般に、データソース［６］からデータを受取るステップと、データブロック［７］と、ＥＣＣブロック［８］と呼ばれるエラー訂正コードブロックとの中にデータをフォーマット化するステップと、少なくとも１つのデータエンティティを作成するステップとを備え、各データエンティティはデータブロックおよびＥＣＣブロックを含み［９］、さらにこの方法は少なくとも１つのデータエンベロープを規定するステップ［１０］を備え、各データエンベロープは少なくとも１つのデータエンティティを含み［１１］、さらにこの方法は、磁気テープ記憶媒体［１３］上にデータエンベロープを順序的に書込むステップ［１２］を備える。
【０００９】
図３を参照して、磁気テープ記憶媒体上にデータエンベロープを順序的に書込むための例示的な方法は、個々のデータエンベロープ内にエラー訂正を提供してもよく、この方法は、特定のチャネル上に先に書込まれたデータまたはＥＣＣブロックにあるエラーを検出するステップ［１４］と、環状に（circularly）隣接する次のチャネル上に、エラーのあるデータまたはＥＣＣブロックを再書込みするステップ［１５］とを含む。
【００１０】
図４を参照して、磁気テープ記憶媒体上にデータエンベロープを順序的に書込むための例示的な方法は、エンベロープクロージャーの間エラー訂正をさらに提供してもよく、この方法は、データおよび／またはＥＣＣブロックを書込むことによって次のデータエンベロープを開始するステップ［１６］と、先のデータエンベロープにある特定のチャネル上に先に書込まれたデータまたはＥＣＣブロックのエラーを検出するステップ［１７］と、次のデータエンベロープに書込まれたブロックを消滅させるステップ［１８］と、エラーのあるデータまたはＥＣＣブロックを先のデータエンベロープの中に再書込みするステップ［１９］とを含む。
【００１１】
例示的な方法に関する注釈
［１］  この方法は磁気テープまたはこれに似た他の記憶媒体の記憶容量を有利に高め、所与の量のテープ上に、より多くのデータを記憶できるようにする。一般的に言うとこれは、データをテープ上に符号化する際に従来的にエラーから生ずる記憶スペースの損失を減らすことによって行なわれる。さらにこの方法により、局所的な媒体異常（たとえば汚染）または（たとえばテープヘッドの損傷、読出−書込回路の問題による）データチャネルの故障が起こったときでさえデータの記録が続けられる。
【００１２】
［２］  例示的な実施例において、磁気テープ記憶媒体はチャネル０、１、２および３を備えた４つのチャネルの磁気テープ１００である。もちろん、媒体がリードアフタライトエラー検出と順序的であるならば、いかなる磁気または非磁性記憶媒体（たとえば光テープ）がいかなる数の読出−書込チャネルに用いられてもよい。
【００１３】
［３］  例示的な実施例において、ホストコンピュータ１０５は主メモリ１２０と、ＣＰＵ１２５と、ディスクドライブ１３０とを含む。ＣＰＵ１２５は一般的な目的のプログラマブルコンピュータであるか、または当業者によって理解されるであろう、市場で入手可能ないかなる数のマイクロプロセッサであってもよい。ＣＰＵ１２５は、主メモリ１２０および／またはディスクドライブ１３０からデータを取出して、システムバス１１５を介してテープドライブ１１０にそれを送る。このようなＣＰＵ１２５をプログラム化して、システムバス１１５を介してこのようなデータのやりとりをするための動作およびメカニクスは当業者には十分に公知であるとみなされる。
【００１４】
［４］  例示的な実施例において、テープドライブ１１０はテープコントローラ１３５と、従来のリードアフタライトヘッド１４０とを含む。テープコントローラ１３５はバッファ１４５と、マイクロプロセッサ１５０と、プログラム記憶１５５とを含んでもよい。マイクロプロセッサ１５０は、たとえばアッセンブラ言語、パスカル、フォートランおよびＣ＋＋といった工業規格プログラミング言語を用いて、例示的な実施例の方法を行なうようプログラム化されてもよい。プログラム化は、たとえばＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュメモリなどの、別の従来のプログラム記憶デバイスに符号化されてもよい。リードアフタライトヘッド１４０は、従来のサーボループ制御を用いてテープドライブ１１０によって制御される。より一般的には、記憶媒体はリードアフタライト能力を備えた順序的ないかなる記憶媒体であってもよい。したがって、この方法は、たとえば類似した光コンポーネントで置換えられた「テープドライブ」を備えた光テープ記憶のような記憶媒体を包んで、当業者には明らかとなるような代替的な記憶媒体を収容するようにされてもよい。さらに、テープドライブ１１０によって提供される制御は、テープドライブ１００のマイクロプロセッサレジデントにあるソフトウェアレジデントによって提供されてもよく、プログラムされた論理アレイまたは当業者には明らかとなる他の類似したハードウェアの実現例によって拡大されるか、または置換えられてもよい。
【００１５】
［５］  例示的な実施例において、システムバス１１５は、いかなる数の直列または並列の工業規格通信バスを含んでもよい。
【００１６】
［６］  例示的な実施例において、データソースは主メモリ１２０か、ＣＰＵ１２５か、またはディスクドライブ１３０かになり得る。当業者には明らかとなるように他のデータソースを用いることもできる。
【００１７】
ホストコンピュータ１０５から到着するデータは、マイクロプロセッサ１５０のソフトウェアレジデントによって実質的に同じである固定サイズのデータブロックに分けられる。例示的な実施例において、このような順序的に受取られた１６個のデータブロックがグループになり、４つのＥＣＣブロックがさらに発生する。この４つのＥＣＣブロックの発生は、データブロックのうちいずれかがテープに書込まれる前に行なわれる。結果として生じる２０個のブロックはエンティティと呼ばれる。図２に示されるように、１つのエンティティには（１から１６の符号が付けられている）１６個のデータブロックが含まれ、かつ（１７から２０の符号が付けられている）４個のＥＣＣブロックが第１のデータエンベロープ２０５に順序的にパッケージ化され、（１から１６の数字が付けられている）１６個のデータブロックを含む別のエンティティは、順序的に位置づけられた第２のデータエンベロープ２１０に、順序的ではなくパッケージ化される。例示的な実施例には、エンベロープにある単一のエンティティが示されているだけであるが、エンベロープは実際に実現される幅の最大値によって左右されるものの、いかなる数のエンティティを含んでもよい。エンティティは単一のエンベロープ内に常に存在し、かつそれらはエンベロープの間で分けられたり、または分割されたりしない。データエンベロープ２０５および２１０はいかなる数のエンティティを含んでもよく、データエンベロープ内に含まれるエンティティのブロックはデータエンベロープ内に自由に位置づけられる（すなわちブロックを順序的に順序づける必要はなく、かつ特定のデータエンベロープ内の複数のエンティティのブロックが自由に混ぜられてもよい）。
【００１８】
この方法の大きな利点は、テープ１００上にデータブロックを書込む前にＥＣＣブロックが作成されることである。これには、データブロックおよびＥＣＣブロックを本質的に任意の順で、テープ媒体１００に書込めるようにするという効果がある。これは、データブロックが書込まれた後にＥＣＣブロックがテープ媒体に書込まれる必要があった先行技術をかなり改善することを意味する。さらに先行技術は、データブロックおよびＥＣＣブロックが順序的に、かつ正しい順で書込まれることを必要とした。順序および順序づけという先行技術の要件によって、ブロックエラーが起こったときにはデータ容量の損失が生じた。これは、もともと順序的に書込まれていたブロックにはもとの順序で順序的に再書込みされる必要があったためである。対照的にこの方法は、いかなる順序でブロックが書込まれてもよいようにする。
【００１９】
［７］  データブロックの１つのフォーマットは、たとえばクウォンタムコーポレイション（Quantum Corporation ）によって製造され、かつ１９９４年１２月に発行されたＥＣＭＡ規格第２０９号にさらに記載されるＤＬＴ−２０００といった既存の製品に用いられるものの適合である。当業者によって認められるように、選択された特定のプラットホームによって駆動する他の型のデータブロックのフォーマット化も用いることができる。
【００２０】
［８］  ＥＣＣブロックの１つのフォーマットは、１９９２年４月２１日にウェン他（Weng et al. ）に発行された米国特許第５，１０７，５０６号に開示され、その開示は引用によって援用される。当業者によって認められるように、他の型のＥＣＣのフォーマット化も用いることができる。
【００２１】
［９］  例示的な実施例において、各エンティティに１６個のデータブロックと４つのＥＣＣブロックとが用いられる。より一般的には、選択された特定のエラー訂正アルゴリズムに応じて、いかなる数および組合せのデータブロックおよびＥＣＣブロックが用いられてもよい。
【００２２】
［１０］  エンベロープ内のブロックには、それらが含まれる特定のデータエンベロープを特定する制御フィールドのタグが付けられる。このように、データエンベロープは順序的に順序づけられることができ、エンベロープ内のブロックは（たとえば順序的な、ランダムな、順序づけられた、無秩序なまたはいくつかの他の疑似オーダの配置といった）所望のいかなる態様で順序づけられてもよい。
【００２３】
［１１］  データエンベロープは１個以上のいかなる数のエンティティを含んでもよい。例示的な実施例において、データエンティティは実質的にサイズが同じであるデータブロックおよびＥＣＣブロックを含む。より一般的にはデータエンティティがＥＣＣブロックを含まないことが可能であり、さらに、サイズが同じではないブロックを用いることもできる。
【００２４】
［１２］  データエンベロープは順序的な順で磁気テープ媒体上に書込まれ、データエンベロープ内のブロックはいかなる順であってもよい。規定されたエンベロープ内のエンティティすべてからのブロックはいかなる順でテープ１００に書込まれてもよく、かつエンベロープ内で自由に繰返されてもよい。
【００２５】
リードアフタライト回路構成によって検出されるブロックすべてのエラーは、環状に隣接する次のチャネル上に移動することとなる。規定されたエンベロープ内のすべてのブロックは、次のエンベロープが始まる前に、（エラーのない）媒体に完全に書込まれる。連続したエンベロープ間の境界はエンベロープクロージャーと呼ばれる。エンベロープクロージャーの間、検出されたエラーにより、次のエンベロープからの、テープ１００にこのとき書込まれているブロックすべてが消滅され（「ｋビット化され」）ることとなり、このためエンベロープ間の順序が維持できる。
【００２６】
書込論理はブロックトポロジーと、エンベロープクロージャーを左右するルールとを実現しなければならない。それはまた、ブロック移動およびエラー管理に関する発見的決定を下さなければならない。読出動作は、ホストコンピュータ１０５にブロックを送り返す前にそれを特定のエンベロープ内に記録しなければならない。
【００２７】
［１３］  例示的な実施例における記憶媒体は、読出−書込チャネル０、１、２および３を備えた４つのチャネルの磁気テープ１００である。
【００２８】
磁気テープ上に「書込む」という用語はもちろん、フレキシブルなテープ基板上のある特定のものが選択的に磁化されることを意味すると理解されるだろう。
【００２９】
［１４］  先に書込まれたブロックにエラーを検出するステップは、リードアフタライトの従来の動作によって提供される。図３に示される例示的な実施例において、データエンベロープ３０５はエラーのあるブロック５＊を含む。ブロック５＊のエラーはその後の従来のリードアフタライト動作の間検出される。
【００３０】
［１５］  環状に隣接する次のチャネルにブロック５＊を再書込みするステップは、隣接する別のチャネルにブロックを再書込みすることを意味する。例示的な実施例において、ブロック５＊は始めはチャネル０に書込まれており、その後環状に隣接するチャネル位置に再書込みされる。データエンベロープ３０５の最後のブロック数２０が４つのチャネルすべての上に書込まれて、データエンベロープ３０５を終えることに注目したい。これは必要ではないが、４つのチャネルの読出−書込ヘッドのためには便宜上、残るデータすべてを４つのチャネル場所すべてに書込んでデータエンベロープを終えるのが実際的である。
【００３１】
［１６］  図４は、エンベロープクロージャーの間のエラー訂正を示す。ブロック１から２０を含む第１のデータエンベロープ３０５は最初に、磁気テープ媒体１００上に書込まれる。その後、ブロック１から４を書込むことによって第２のデータエンベロープ３１０が始まる。
【００３２】
［１７］  第２のデータエンベロープ３１０のブロック１から４を書込む間、従来のリードアフタライト動作がブロック１９＊のエラーを検出する。
【００３３】
［１８］  その後、第２のデータエンベロープ３１０の、１から４の番号が付けられた最初のブロックが「ｋビット化される」ことによって消滅する。ブロックをｋビット化することは、ブロックすべてを不良として示す制御フィールドの制御ビットを用いることを伴い、それによりその後の読出動作がそれらのブロックを無視するようにする。第２のデータエンベロープ３１０の最初のブロックの「消滅」が必要である。なぜなら、データエンベロープ内のブロックはいかなる順であってもよいが、第２のデータエンベロープ３１０内のブロックは、第１のデータエンベロープ３０５内のブロックと順序的でなければならないためである。したがって第１のデータエンベロープ３０５は、第２のデータエンベロープ３１０が開始し得る前に完了していなければならない。
【００３４】
［１９］  その後、不良ブロック１９＊を再び書込むことによって第１のデータエンベロープ３０５が完了する。エンベロープクロージャーの間にデータ訂正する場合には、いかなるチャネルに再書込みはされてもよい（すなわちチャネルが円形である必要はない）ことに注目したい。ブロック１９を再書込みすることによって第１のデータエンベロープ３０５が完了すると、その後、ブロック１から４を書込むことによって第２のデータエンベロープ３１０が再び始まることができる。
【００３５】
例示的な方法およびその多くの変形により、ブロックトポロジーに採用される先行技術に優る、以下のいくつかの重要な利点が提供される。
【００３６】
（１）  エンベロープ内に検出されたエラーにより、エラーのあるブロックは再書込みされるが、それ以外のブロックは消滅または再書込みされない。したがって例示的な方法では容量の効率が非常に良い。
【００３７】
（２）  エンベロープの境界で検出されたエラーにより容量損失が幾分生ずるが、これらのエラーは実際には、普通見られるエラーすべてのうちごく僅かなパーセントにしかならない。
【００３８】
（３）  ブロック移動により、一時的な読出−書込チャネルの問題または局所的な媒体の混乱による汚染の間、磁気テープ記憶媒体を継続して書込むことができる。このため致命的な書込エラーの起こるおそれが全体的にかなり低くなる。
【００３９】
（４）  アーキテクチャは本質的にチャネルの数には依存せず、かつ将来の製品に容易にスケーリング可能であるよう実現できる。
【００４０】
（５）  アーキテクチャはエンベロープおよび関連したそれらの制御に関するすべての知識およびメンテナンスを含むため、単一のソフトウェアモジュールのみがブロックトポロジーの責任を担う。バスハンドラ、サーバおよびホストプログラムなどの、ソフトウェアの高い層にはブロックトポロジーに関する固有の知識は必要なく、したがってそれから分離される。このため機構全体は大いにトランスポート可能であり、かつ将来の設計にスケーリングする。
【００４１】
ここに述べられた発明の概念から離れることなく、注釈の説明からさまざまな変形が可能となることが、この開示により利益を受ける当業者によって認められるだろう。
【図面の簡単な説明】
【図１】システムバスによってテープドライブに動作可能に結合されたホストコンピュータのブロック図である。
【図２】各々が１つまたはそれ以上のデータブロックを含む、磁気テープ記憶媒体上のデータエンベロープの順序を示す図である。
【図３】データエンベロープ内のブロック移動を示す図である。
【図４】エンベロープクロージャーを示す図である。
【符号の簡単な説明】
１０５  ホストコンピュータ
１１０  テープドライブ
【図１】
0003935542.tif 000002
【図２】
0003935542.tif 000003
【図３】
0003935542.tif 000004
【図４】
0003935542.tif 000005