(57)【特許請求の範囲】
【請求項１】
磁気テープにデータを書き込む方法であって、
ホストからデータを受信するステップと、
前記受信されたデータからサブ・データ・セットを設定するステップと、
前記サブ・データ・セットからＣ１およびＣ２  ＥＣＣを計算するステップと、
符号語カッド（ＣＱ）セットを形成するステップと、
磁気テープに開始データ・セット・セパレータ（ＤＳＳ）を書き込むステップと、
読み取り照合が完了する前の待ち時間の間に前記ＣＱセットの複数のインスタンスを前記磁気テープに書き込むステップと、
読み取り照合が完了した後に終了ＤＳＳを書き込むステップと、
を含む、前記方法。
【請求項２】
前記ＣＱセットの前記複数のインスタンスを書き込むステップは、
前記ＣＱセットの第一インスタンスを書き込むステップと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されているかどうかを判定するステップと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されていない場合は、前記ＣＱセットの別のインスタンスを書き込んで、前記判定ステップに戻るステップと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されている場合は、前記ＣＱセットの前記第一インスタンスにエラーが検出されていないかどうかを確認するステップと、
エラーが検出されている場合にあっては、前記ＣＱセットを書き換えて、前記判定ステップに戻るステップと、
エラーが検出されていない場合にあっては、前記終了ＤＳＳを書き込むステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記ＣＱセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記ＣＱセットの前記複数のインスタンスを書き込むステップは、
前記ＣＱセットの第一インスタンスを書き込むステップと、
前記ホストに「記録完了」信号を送信するステップと、
前記ホストから新しいデータが着信しているかどうかを判定するステップと、
前記ホストから新しいデータが着信していない場合は、前記ＣＱセットの別のインスタンスを書き込んで、前記判定ステップに戻るステップと、
前記ホストから新しいデータが着信している場合は、前記終了ＤＳＳを書き込むステップと、
を含む、請求項１に記載の方法。
【請求項５】
前記ＣＱセットのインスタンス群を前記磁気テープの複数のトラックに亘って循環的に横方向に分離するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記ＣＱセットの前記複数のインスタンスを書き込むステップは、
前記ＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定するステップと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されていない場合は、前記ＣＱセットの別のインスタンスを書き込んで、前記判定ステップに戻るステップと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されている場合は、前記ＣＱセットの前記第一インスタンス中にエラーが検出されているかどうかを確認するステップと、
エラーが検出されている場合にあっては、前記ＣＱセットを書き換えて、最初の判定ステップに戻るステップと、
エラーが検出されていない場合にあっては、前記ホストに「記録完了」信号を送信するステップと、
前記ホストから新しいデータが着信しているかどうかを判定するステップと、
前記ホストから新しいデータが着信していない場合は、前記ＣＱセットの別のインスタンスを書き込んで、二番目の判定ステップに戻るステップと、
前記ホストから新しいデータが着信している場合は、前記終了ＤＳＳを書き込むステップと、
を含む、請求項１に記載の方法。
【請求項７】
前記ＣＱセットのインスタンス群を前記磁気テープの複数のトラックに亘って循環的に横方向に分離するステップをさらに含む、請求項６に記載の方法。
【請求項８】
磁気テープにデータを書き込むための磁気テープ・ドライブであって、
ホストとデータおよび命令をやり取りするためのインタフェースと、
前記磁気テープにデータを記録するための書き込みヘッドと、
前記書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、
前記磁気テープからデータを読み取るための読み取りヘッドと、
前記読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、
前記磁気テープを、前記読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、
前記インタフェース、前記書き込みヘッド、前記書き込みチャネル、前記読み取りヘッド、前記読み取りチャネル、および前記少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラと、
を含み、前記コントローラは、
前記ホストから受信されたデータからサブ・データ・セットを設定し、
Ｃ１およびＣ２  ＥＣＣを計算し、
符号語カッド（ＣＱ）セットを形成し、
前記書き込みヘッドによって前記磁気テープに記録される開始データ・セット・セパレータ（ＤＳＳ）を生成し、
読み取り照合が完了する前の待ち時間の間に前記書き込みヘッドに、前記ＣＱセットの複数のインスタンスを前記磁気テープに記録するよう命令し、
特定機能（読み取り照合）が完了した後に前記書き込みヘッドによって前記磁気テープに記録される終了ＤＳＳを生成する、
よう作動する、前記磁気テープ・ドライブ。
【請求項９】
前記コントローラが前記書き込みヘッドに対し前記ＣＱセットの複数のインスタンスを前記磁気テープに記録するよう命令するときに、前記コントローラは、
前記書き込みヘッドに、前記ＣＱセットの第一インスタンスを記録するよう命令し、
前記ＣＱセットの前記第一インスタンスが読み取り照合されているかどうかを判定し、
前記ＣＱセットの前記第一インスタンスが読み取り照合されていない場合は、前記書き込みヘッドに前記ＣＱセットの別のインスタンスを記録するよう命令して、前記判定ステップに戻り、
前記ＣＱセットの前記第一インスタンスが読み取り照合されている場合は、前記ＣＱセットの前記第一インスタンス中にエラーが検出されているかどうかを確認し、
エラーが検出されている場合にあっては、前記書き込みヘッドに、前記ＣＱセットを記録し直すよう命令して、前記判定ステップに戻り、
エラーが検出されていない場合にあっては、前記書き込みヘッドに、前記終了ＤＳＳを記録するよう命令する、
ようさらに作動する、請求項８に記載の磁気テープ・ドライブ。
【請求項１０】
前記コントローラが、前記ＣＱセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、請求項９に記載の磁気テープ・ドライブ。
【請求項１１】
前記コントローラが前記書き込みヘッドに対し前記ＣＱセットの前記複数のインスタンスを記録するよう命令するときに、前記コントローラは、
前記書き込みヘッドに、前記ＣＱセットの第一インスタンスを記録するよう命令し、
前記ホストに「記録完了」信号を送信し、
前記ホストから新しいデータが着信しているかどうかを判定し、
前記ホストから新しいデータが着信していない場合は、前記書き込みヘッドに、前記ＣＱセットの別のインスタンスを記録するよう命令して、前記判定ステップに戻り、
前記ホストから新しいデータが着信している場合は、前記書き込みヘッドに、前記終了ＤＳＳを記録するよう命令する、
ようさらに作動する、請求項８に記載の磁気テープ・ドライブ。
【請求項１２】
前記コントローラが、前記ＣＱセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、請求項１１に記載の磁気テープ・ドライブ。
【請求項１３】
前記コントローラが前記書き込みヘッドに対し前記ＣＱセットの前記複数のインスタンスを記録するよう命令するときに、前記コントローラは、
前記ＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定し、
前記ＣＱセットの前記第一インスタンスが読み取り照合されていない場合は、前記書き込みヘッドに、前記ＣＱセットの別のインスタンスを記録するよう命令して、前記判定ステップに戻り、
前記ＣＱセットの前記第一インスタンスが読み取り照合されている場合は、前記ＣＱセットの前記第一インスタンス中にエラーが検出されているかどうかを確認し、
エラーが検出されている場合にあっては、前記書き込みヘッドに、前記ＣＱセットを記録し直すよう命令して、最初の判定ステップに戻り、
エラーが検出されていない場合にあっては、前記ホストに「記録完了」信号を送信し、
前記ホストから新しいデータが着信しているかどうかを判定し、
前記ホストから新しいデータが着信していない場合は、前記書き込みヘッドに、前記ＣＱセットの別のインスタンスを記録するよう命令して二番目の判定ステップに戻り、
前記ホストから新しいデータが着信している場合は、前記書き込みヘッドに、前記終了ＤＳＳを記録するよう命令する、
ようさらに作動する、請求項８に記載の磁気テープ・ドライブ。
【請求項１４】
前記コントローラが、前記ＣＱセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、請求項１３に記載の磁気テープ・ドライブ。
【請求項１５】
磁気テープにデータを書き込むための記録システム・ロジックであって、
ホストとデータおよび命令をやり取りするためのインタフェースと、
前記磁気テープにデータを記録するための書き込みヘッドと、
前記書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、
前記磁気テープからデータを読み取るための読み取りヘッドと、
前記読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、
前記磁気テープを、前記読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、
前記インタフェース、前記書き込みヘッド、前記書き込みチャネル、前記読み取りヘッド、前記読み取りチャネル、および前記少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラと、
を含み、前記コントローラは、
ホストから受信されたデータからサブ・データ・セットを設定するためのロジックと、
前記サブ・データ・セットに対するＣ１およびＣ２  ＥＣＣを計算するためのロジックと、
符号語カッド（ＣＱ）セットを形成するためのロジックと、
前記磁気テープに記録される開始データ・セット・セパレータ（ＤＳＳ）を生成するためのロジックと、
読み取り照合が完了する前の待ち時間の間に前記ＣＱセットの複数のインスタンスを前記磁気テープに書き込むためのロジックと、
読み取り照合が完了した後に終了ＤＳＳを前記磁気テープに書き込むためのロジックと、
を含む、前記記録システム・ロジック。
【請求項１６】
前記ＣＱセットの複数のインスタンスを前記磁気テープに記録するための前記ロジックが、
前記ＣＱセットの第一インスタンスを記録するためのロジックと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されているかどうかを判定するためのロジックと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されていない場合は、前記ＣＱセットの別のインスタンスを記録するためのロジック、および前記判定ステップに戻るためのロジックと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されている場合は、前記ＣＱセットの前記第一インスタンス中にエラーが検出されているかどうかを確認するためのロジックと、
エラーが検出されている場合にあっては、前記ＣＱセットを記録し直すためのロジック、および上記判定ステップに戻るためのロジックと、
エラーが検出されていない場合にあっては、前記終了ＤＳＳを記録するためのロジックと、
を含む、請求項１５に記載の記録システム・ロジック。
【請求項１７】
前記ＣＱセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するためのロジックをさらに含む、請求項１６に記載の記録システム・ロジック。
【請求項１８】
前記ＣＱセットの前記複数のインスタンスを記録するための前記ロジックが、
前記ＣＱセットの第一インスタンスを記録するためのロジックと、
前記ホストに「記録完了」信号を送信するためのロジックと、
前記ホストから新しいデータが着信しているかどうかを判定するためのロジックと、
前記ホストから新しいデータが着信していない場合は、前記ＣＱセットの別のインスタンスを記録するためのロジック、および前記判定ステップに戻るためのロジックと、
前記ホストから新しいデータが着信している場合は、前記終了ＤＳＳを記録するためのロジックと、
を含む、請求項１５に記載の記録システム・ロジック。
【請求項１９】
前記ＣＱセットのインスタンス群を前記磁気テープの複数のトラックに亘って横方向に分離するためのロジックをさらに含む、請求項１８に記載の記録システム・ロジック。
【請求項２０】
前記ＣＱセットの前記複数のインスタンスを記録するための前記ロジックが、
前記ＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定するためのロジックと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されていない場合は、前記ＣＱセットの別のインスタンスを記録して、前記判定ステップに戻るためのロジックと、
前記ＣＱセットの前記第一インスタンスが読み取り照合されている場合は、前記ＣＱセットの前記第一インスタンス中にエラーが検出されているかどうかを確認するためのロジックと、
エラーが検出されている場合にあっては、前記ＣＱセットを記録し直すためのロジック、および最初の判定ステップに戻るためのロジックと、
エラーが検出されていない場合にあっては、前記ホストに「記録完了」信号を送信するためのロジックと、
前記ホストから新しいデータが着信しているかどうかを判定するためのロジックと、
前記ホストから新しいデータが着信していない場合は、前記ＣＱセットの別のインスタンスを記録して、二番目の判定ステップに戻るためのロジックと
前記ホストから新しいデータが着信している場合は、前記終了ＤＳＳを記録するためのロジックと、
を含む、請求項１５に記載の記録システム・ロジック。
【請求項２１】
前記ＣＱセットのインスタンス群を前記磁気テープの複数のトラックに亘って循環的に横方向に分離するためのロジックをさらに含む、請求項２０に記載の記録システム・ロジック。
【請求項２２】
コンピュータ・システムにロードされ、実行されたとき、請求項１から７のいずれか一つによる前記方法の全ステップを遂行するコンピュータ・プログラム・コードを含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にテープ媒体にデータを記録することに関し、具体的には、データの読み返し過程で符号語対を修復する確率を向上することに関する。
【背景技術】
【０００２】
テープ媒体へのデータの従来の記録方式では、テープに書き込まれる最小単位はデータ・セットである。データ・セットは、ユーザ・データおよび該データ・セットについての制御情報の２種類のデータを含み、後者はデータ・セット情報テーブル（ＤＳＩＴ：Ｄａｔａ  Ｓｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）の中にある。エラーまたは欠陥に起因するデータ喪失を最小化するため、全てのデータはエラー訂正符号（ＥＣＣ：ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ）で保護されている。データ・セットは、いくつかのサブ・データ・セットを含み、その各々は行に配置されたデータを包含する。サブ・データ・セットの行には、ユーザ・データまたはＤＳＩＴを含めることができる。図１に示されるように、各行は、交互配置された２つのバイトのシーケンスから成る。第一レベルＥＣＣ（Ｃ１  ＥＣＣ）は各行の偶数バイトおよび奇数バイトに対し別々に計算される。得られたＣ１  ＥＣＣ偶数および奇数パリティ・バイトは、対応する行にこれも交互的配置で付加される。このＥＣＣ保護された行が、符号語対（ＣＷＰ：Ｃｏｄｅｗｏｒｄ  Ｐａｉｒ）である。偶数バイト群は偶数Ｃ１符号語を形成し、奇数バイト群は奇数Ｃ１符号語を形成する。各々の列に対し第二レベルＥＣＣ（Ｃ２  ＥＣＣ）が計算され、得られたＣ２  ＥＣＣパリティ・バイトは対応する列に付加される。このＥＣＣ保護された列がＣ２符号語である。
【０００３】
Ｃ１およびＣ２  ＥＣＣによってかく保護される場合、該サブ・データ・セットが、テープに書き込まれるＥＣＣ保護された最小単位となる。各サブ・データ・セットはＥＣＣに関しては独立している、すなわち、あるサブ・データ・セットのエラーはそのサブ・データ・セットに影響するだけである。どのＥＣＣアルゴリズムのパワーも、パリティ・バイトの数に依存しその訂正能力によって表される。例えば、あるＣ１符号語に対し計算されたＣ１  ＥＣＣパリティ・バイトの所与の数に対し、その符号語中のＫ１個までのエラー訂正することができる。また、あるＣ２符号語に対し計算されたＣ２  ＥＣＣパリティ・バイトの所与の数に対し、そのＣ２符号語中のＫ２個までのエラー訂正することができる。
【０００４】
同一のサブ・データ・セット中の多数のエラーがＣ１またはＣ２の訂正能力を圧倒し、データを読み取るときにエラーが生じる程度までに至り得ることはよく分かるであろう。エラーは、小さな粒子または小さな媒体欠陥など、非常に小さな事象によって起こり得る。また、エラーは、擦り傷、トラッキング・エラー、または機械的原因などのより大きな事象によっても起こり得る。
【０００５】
単一の大きなエラーが、単一サブ・データ・セット中の複数の符号語に与える影響を軽減するために、一部の書き込み方法では、各サブ・データ・セットからの符号語群をテープ表面沿いおよび横方向にできるだけ離して配置する。従って、単一のエラーで、ＥＣＣ訂正能力が圧倒されるには、同一のサブ・データ・セットからの符号語群の多くに影響がなければならないことになる。サブ・データ・セットからの符号語の空間的分離はリスクを低減し、マルチトラック記録フォーマットに対しては以下のやり方で達成される。すなわち、同時に記録されるトラックのセットの各トラックに対し、一つのサブ・データ・セットからの符号語対を異なるサブ・データ・セットからの符号語対と組み合わせて符号語カッド（ＣＱ：Ｃｏｄｅｗｏｒｄ  Ｑｕａｄ）が形成される。得られたＣＱは、複数の記録トラックの一つに書き込まれる。同様な仕方で、全てが相異なるサブ・データ・セットからの符号語対を組み合わせて、残りの全トラックに対するＣＱが形成される。これら同時に書き込まれるＣＱの群はＣＱセットと呼ばれる。
【０００６】
例えば、１６トラック記録フォーマットでは、ＣＱセットには１６のＣＱがあり、３２の符号語対が含まれている。データ・セット中に６４のサブ・データ・セットがあるとし、所与のサブ・データ・セットからの第二の符号語対の記録が必要となる前に、２つのＣＱセットを記録することができるとする。図２は、テープ上に記録されたデータ・セットの一部を示す。影付きのセルは、同一のサブ・データ・セットから取られた８つの符号語対に対する行番号を示す。矢印線２００は、符号語対のトラック沿いの縦方向の分離を示し、矢印線２０２はトラックをまたぐ横方向の分離を示す。よく分かるように、大きな欠陥が、いずれか一つのサブ・データ・セットのＥＣＣを圧倒するには、それが複数の影付きセルに及ばなければならないことになる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、磁気テープにデータを書き込むための方法、磁気テープ・ドライブ、記録システム・ロジック、およびコンピュータ・プログラムを提供する。
【課題を解決するための手段】
【０００８】
上記の方法は、ホストからデータを受信するステップと、サブ・データ・セットを設定するステップと、Ｃ１およびＣ２  ＥＣＣを計算するステップと、符号語カッド（ＣＱ）を形成するステップと、開始データ・セット・セパレータ（ＤＳＳ：Ｄａｔａ  Ｓｅｔ  Ｓｅｐａｒａｔｏｒ）を磁気テープに書き込むステップと、ＣＱセットの複数の連続インスタンスを磁気テープに書き込むステップと、終了ＤＳＳを書き込むステップと、を含む。本発明は、磁気テープにデータを書き込むための、プログラム可能コントローラに可用で内部に具現されたコンピュータ可読プログラム・コードを有する、コンピュータ可読媒体のコンピュータ・プログラム製品をさらに含む。該コンピュータ・プログラム製品は、コントローラに前述のステップを遂行させる、コンピュータ可読プログラム・コードを含む。
【０００９】
また、本発明は、磁気テープにデータを書き込むための磁気テープ・ドライブを提供する。該テープ・ドライブは、ホストとデータおよび命令をやり取りするためのインタフェースと、磁気テープにデータを記録するための書き込みヘッドと、書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、磁気テープからデータを読み取るための読み取りヘッドと、読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、磁気テープを、読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、を含む。該テープ・ドライブは、上記インタフェース、書き込みヘッド、書き込みチャネル、読み取りヘッド、読み取りチャネル、および少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラをさらに含む。該コントローラは、ホストから受信されたデータからサブ・データ・セットを設定し、Ｃ１およびＣ２  ＥＣＣを計算し、ＣＱセットを形成し、書き込みヘッドによって磁気テープに記録される開始ＤＳＳを生成し、書き込みヘッドにＣＱセットの複数の連続インスタンスを磁気テープに書き込むよう命令し、書き込みヘッドによって磁気テープに記録される終了ＤＳＳを生成する。
【００１０】
さらに、本発明は、磁気テープにデータを書き込むための記録システム・ロジックを提供する。該記録システム・ロジックは、ホストとデータおよび命令をやり取りするためのインタフェースと、磁気テープにデータを記録するための書き込みヘッドと、書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、磁気テープからデータを読み取るための読み取りヘッドと、読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、磁気テープを、読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、を含む。また、該記録システム・ロジックは、上記インタフェース、書き込みヘッド、書き込みチャネル、読み取りヘッド、読み取りチャネル、および少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラを含む。該コントローラは、ホストから受信されたデータからサブ・データ・セットを設定するためのロジックと、サブ・データ・セットに対するＣ１およびＣ２  ＥＣＣを計算するためのロジックと、ＣＱセットを形成するためのロジックと、磁気テープに記録される開始ＤＳＳを生成するためのロジックと、ＣＱセットの複数の連続インスタンスを磁気テープに記録するためのロジックと、終了ＤＳＳを磁気テープに記録するためのステップと、を含む。
【００１１】
第一態様から見れば、本発明は、ホストからデータを受信するステップと、サブ・データ・セットを設定するステップと、Ｃ１およびＣ２  ＥＣＣを計算するステップと、符号語カッド（ＣＱ）セットを形成するステップと、開始データ・セット・セパレータ（ＤＳＳ）を磁気テープに書き込むステップと、ＣＱセットの複数の連続インスタンスを磁気テープに書き込むステップと、終了ＤＳＳを書き込むステップとを含む、磁気テープにデータを書き込む方法を提供する。
【００１２】
望ましくは、本発明は、ＣＱセットの複数の連続インスタンスを書き込むステップが、ＣＱセットの第一インスタンスを書き込むステップと、ＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定するステップと、ＣＱセットの第一インスタンスが読み取り照合されていない場合は、ＣＱセットの別のインスタンスを書き込んで、上記判定ステップに戻るステップと、ＣＱセットの第一インスタンスが読み取り照合されている場合は、ＣＱセットの第一インスタンス中にエラーが検出されているかどうかを確認するステップと、エラーが検出されている場合にあっては、ＣＱセットを書き換えて、上記判定ステップに戻るステップと、エラーが検出されていない場合にあっては、終了ＤＳＳを書き込むステップとを含む、方法を提供する。
【００１３】
望ましくは、本発明は、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するステップをさらに含む方法を提供する。
【００１４】
望ましくは、本発明は、ＣＱセットの複数の連続インスタンスを書き込むステップが、ＣＱセットの第一インスタンスを書き込むステップと、ホストに「記録完了」信号を送信するステップと、ホストから新しいデータが着信しているかどうかを判定するステップと、ホストから新しいデータが着信していない場合は、ＣＱセットの別のインスタンスを書き込んで、上記判定ステップに戻るステップと、ホストから新しいデータが着信している場合は、終了ＤＳＳを書き込むステップとを含む、方法を提供する。
【００１５】
望ましくは、本発明は、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って循環的に横方向に分離するステップをさらに含む方法を提供する。
【００１６】
望ましくは、本発明は、ＣＱセットの複数の連続インスタンスを書き込むステップが、ＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定するステップと、ＣＱセットの第一インスタンスが読み取り照合されていない場合は、ＣＱセットの別のインスタンスを書き込んで、上記判定ステップに戻るステップと、ＣＱセットの第一インスタンスが読み取り照合されている場合は、ＣＱセットの第一インスタンス中にエラーが検出されているかどうかを確認するステップと、エラーが検出されている場合にあっては、ＣＱセットを書き換えて、最初の判定ステップに戻るステップと、エラーが検出されていない場合にあっては、ホストに「記録完了」信号を送信するステップと、ホストから新しいデータが着信しているかどうかを判定するステップと、ホストから新しいデータが着信していない場合は、ＣＱセットの別のインスタンスを書き込んで、二番目の判定ステップに戻るステップと、ホストから新しいデータが着信している場合は、終了ＤＳＳを書き込むステップとを含む、方法を提供する。
【００１７】
望ましくは、本発明は、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って循環的に横方向に分離するステップをさらに含む方法を提供する。
【００１８】
別の態様から見れば、本発明は、ホストとデータおよび命令をやり取りするためのインタフェースと、磁気テープにデータを記録するための書き込みヘッドと、書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、磁気テープからデータを読み取るための読み取りヘッドと、読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、磁気テープを、読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、上記インタフェース、書き込みヘッド、書き込みチャネル、読み取りヘッド、読み取りチャネル、および少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラとを含む、磁気テープにデータを書き込むための磁気テープ・ドライブを提供し、該コントローラは、ホストから受信されたデータからサブ・データ・セットを設定し、Ｃ１およびＣ２  ＥＣＣを計算し、符号語カッド（ＣＱ）セットを形成し、書き込みヘッドによって磁気テープに記録される開始データ・セット・セパレータ（ＤＳＳ）を生成し、書き込みヘッドに、ＣＱセットの複数の連続インスタンスを磁気テープに記録するよう命令し、書き込みヘッドによって磁気テープに記録される終了ＤＳＳを生成するよう作動する。
【００１９】
望ましくは、本発明は、コントローラが、書き込みヘッドに対しＣＱセットの複数の連続インスタンスを磁気テープに書き込むよう命令するときに、書き込みヘッドにＣＱセットの第一インスタンスを記録するよう命令し、ＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定し、ＣＱセットの第一インスタンスが読み取り照合されていない場合は、書き込みヘッドにＣＱセットの別のインスタンスを記録するよう命令して、上記判定ステップに戻り、ＣＱセットの第一インスタンスが読み取り照合されている場合は、ＣＱセットの第一インスタンス中にエラーが検出されているかどうかを確認し、エラーが検出されている場合にあっては、書き込みヘッドにＣＱセットを記録し直すよう命令して、上記判定ステップに戻り、エラーが検出されていない場合にあっては、書き込みヘッドに終了ＤＳＳを記録するよう命令するようさらに作動する、磁気テープ・ドライブを提供する。
【００２０】
望ましくは、本発明は、コントローラが、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、磁気テープ・ドライブを提供する。
【００２１】
望ましくは、本発明は、コントローラが、書き込みヘッドに対しＣＱセットの複数の連続インスタンスを記録するよう命令するときに、書き込みヘッドにＣＱセットの第一インスタンスを記録するよう命令し、ホストに「記録完了」信号を送信し、ホストから新しいデータが着信しているかどうかを判定し、ホストから新しいデータが着信していない場合は、書き込みヘッドにＣＱセットの別のインスタンスを記録するよう命令して、上記判定ステップに戻り、ホストから新しいデータが着信している場合は、書き込みヘッドに終了ＤＳＳを記録するようにさらに作動する、磁気テープ・ドライブを提供する。
【００２２】
望ましくは、本発明は、コントローラが、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、磁気テープ・ドライブを提供する。
【００２３】
望ましくは、本発明は、コントローラが、書き込みヘッドに対しＣＱセットの複数の連続インスタンスを記録するよう命令するときに、ＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定し、ＣＱセットの第一インスタンスが読み取り照合されていない場合は、書き込みヘッドにＣＱセットの別のインスタンスを記録するよう命令して、上記判定ステップに戻り、ＣＱセットの第一インスタンスが読み取り照合されている場合は、ＣＱセットの第一インスタンス中にエラーが検出されているかどうかを確認し、エラーが検出されている場合にあっては、書き込みヘッドにＣＱセットを記録し直すよう命令して、最初の判定ステップに戻り、エラーが検出されていない場合にあっては、ホストに「記録完了」信号を送信し、ホストから新しいデータが着信しているかどうかを判定し、ホストから新しいデータが着信していない場合は、書き込みヘッドにＣＱセットの別のインスタンスを記録するよう命令して、二番目の判定ステップに戻り、ホストから新しいデータが着信している場合は、書き込みヘッドに終了ＤＳＳを記録するよう命令するようにさらに作動する、磁気テープ・ドライブを提供する。
【００２４】
望ましくは、本発明は、コントローラが、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するようさらに作動する、磁気テープ・ドライブを提供する。
【００２５】
別の態様から見れば、本発明は、磁気テープにデータを書き込むための記録システム・ロジックを提供し、該記録システム・ロジックは、ホストとデータおよび命令をやり取りするためのインタフェースと、磁気テープにデータを記録するための書き込みヘッドと、書き込みヘッドによって記録されるデータを処理するための書き込みチャネルと、磁気テープからデータを読み取るための読み取りヘッドと、読み取りヘッドによって読み取られたデータを処理するための読み取りチャネルと、磁気テープを、読み取りおよび書き込みヘッドを通過させて縦方向に移送する少なくとも一つの駆動モータと、上記インタフェース、書き込みヘッド、書き込みチャネル、読み取りヘッド、読み取りチャネル、および少なくとも一つの駆動モータを制御するためこれらに連結されたコントローラとを含み、該コントローラは、ホストから受信されたデータからサブ・データ・セットを設定するためのロジックと、サブ・データ・セットに対するＣ１およびＣ２  ＥＣＣを計算するためのロジックと、符号語カッド（ＣＱ）セットを形成するためのロジックと、磁気テープに記録される開始データ・セット・セパレータ（ＤＳＳ）を生成するためのロジックと、ＣＱセットの複数の連続インスタンスを磁気テープに記録するためのロジックと、終了ＤＳＳを磁気テープに記録するためのロジックと、を含む。
【００２６】
望ましくは、本発明は、ＣＱセットの複数の連続インスタンスを磁気テープに記録するためのロジックが、ＣＱセットの第一インスタンスを記録するためのロジックと、ＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定するためのロジックと、ＣＱセットの第一インスタンスが読み取り照合されていない場合は、ＣＱセットの別のインスタンスを記録するためのロジック、および上記判定ステップに戻るためのロジックと、ＣＱセットの第一インスタンスが読み取り照合されている場合には、ＣＱセットの第一インスタンス中にエラーが検出されているかどうかを確認するためのロジックと、エラーが検出されている場合にあっては、ＣＱセットを記録し直すためのロジック、および上記判定ステップに戻るためのロジックと、エラーが検出されていない場合にあっては、終了ＤＳＳを記録するためのロジックとを含む、記録システム・ロジックを提供する。
【００２７】
望ましくは、本発明は、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するためのロジックをさらに含む記録システム・ロジックを提供する。
【００２８】
望ましくは、本発明は、ＣＱセットの複数の連続インスタンスを記録するためのロジックが、ＣＱセットの第一インスタンスを記録するためのロジックと、ホストに「記録完了」信号を送信するためのロジックと、ホストから新しいデータが着信しているかどうかを判定するためのロジックと、ホストから新しいデータが着信していない場合は、ＣＱセットの別のインスタンスを記録するためのロジック、および上記判定ステップに戻るためのロジックと、ホストから新しいデータが着信している場合は、終了ＤＳＳを記録するためのロジックとを含む、記録システム・ロジックを提供する。
【００２９】
望ましくは、本発明は、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離するためのロジックをさらに含む記録システム・ロジックを提供する。
【００３０】
望ましくは、本発明は、ＣＱセットの複数の連続インスタンスを記録するためのロジックが、ＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定するためのロジックと、ＣＱセットの第一インスタンスが読み取り照合されていない場合は、ＣＱセットの別のインスタンスを記録して、上記判定ステップに戻るためのロジックと、ＣＱセットの第一インスタンスが読み取り照合されている場合は、ＣＱセットの第一インスタンス中にエラーが検出されているかどうかを確認するためのロジックと、エラーが検出されている場合にあっては、ＣＱセットを記録し直すためのロジック、および最初の判定ステップに戻るためのロジックと、エラーが検出されていない場合にあっては、ホストに「記録完了」信号を送信するためのロジックと、ホストから新しいデータが着信しているかどうかを判定するためのロジックと、ホストから新しいデータが着信していない場合は、ＣＱセットの別のインスタンスを記録して、二番目の判定ステップに戻るためのロジックと、ホストから新しいデータが着信している場合は、終了ＤＳＳを記録するためのロジックとを含む、記録システム・ロジックを提供する。
【００３１】
望ましくは、本発明は、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って循環的に横方向に分離するためのロジックをさらに含む記録システム・ロジックを提供する。
【００３２】
別の態様から見れば、本発明はプログラム可能コントローラで可用なコンピュータ可読媒体のコンピュータ・プログラム製品を提供し、該コンピュータ・プログラム製品は、その中に具現された、磁気テープにデータを書き込むためのコンピュータ可読プログラムを有し、該コンピュータ・プログラム製品は、コントローラにホストからのデータを受信させるコンピュータ可読プログラム・コードと、コントローラにサブ・データ・セットを設定させるコンピュータ可読プログラム・コードと、コントローラにＣ１およびＣ２  ＥＣＣを計算させるコンピュータ可読プログラム・コードと、コントローラに符号語カッド（ＣＱ）セットを形成させるコンピュータ可読プログラム・コードと、コントローラに開始データ・セット・セパレータ（ＤＳＳ）を磁気テープに書き込ませるコンピュータ可読プログラム・コードと、コントローラにＣＱセットの複数の連続インスタンスを磁気テープに書き込ませるコンピュータ可読プログラム・コードと、コントローラに終了ＤＳＳを書き込ませるコンピュータ可読プログラム・コードと、を含む。
【００３３】
望ましくは、本発明は、コントローラにＣＱセットの複数の連続インスタンスを書き込ませるコンピュータ可読プログラム・コードが、コントローラにＣＱセットの第一インスタンスを書き込ませるコンピュータ可読プログラム・コードと、コントローラにＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定させるコンピュータ可読プログラム・コードと、ＣＱセットの第一インスタンスが読み取り照合されていない場合は、コントローラにＣＱセットの別のインスタンスを書き込ませるコンピュータ可読プログラム・コード、およびコントローラを上記判定ステップに戻らせるコンピュータ可読プログラム・コードと、ＣＱセットの第一インスタンスが読み取り照合されている場合は、コントローラにＣＱセットの第一インスタンス中にエラーが検出されているかどうかを確認させるコンピュータ可読プログラム・コードと、エラーが検出されている場合にあっては、コントローラにＣＱセットを書き換えさせるコンピュータ可読プログラム・コード、およびコントローラを上記判定ステップに戻らせるコンピュータ可読プログラム・コードと、エラーが検出されていない場合にあっては、コントローラに終了ＤＳＳを書き込ませるコンピュータ可読プログラム・コードとを含む、コンピュータ・プログラム製品を提供する。
【００３４】
望ましくは、本発明は、コントローラに、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離させるコンピュータ可読プログラム・コードをさらに含むコンピュータ・プログラム製品を提供する。
【００３５】
望ましくは、本発明は、コントローラにＣＱセットの複数の連続インスタンスを書き込ませるコンピュータ可読プログラム・コードが、コントローラにＣＱセットの第一インスタンスを書き込ませるコンピュータ可読プログラム・コードと、コントローラに、ホストに「記録完了」信号を送信させるコンピュータ可読プログラム・コードと、コントローラにホストから新しいデータが着信しているかどうかを判定させるコンピュータ可読プログラム・コードと、ホストから新しいデータが着信していない場合は、コントローラにＣＱセットの別のインスタンスを書き込ませるコンピュータ可読プログラム・コード、およびコントローラを上記判定ステップに戻らせるコンピュータ可読プログラム・コードと、ホストから新しいデータが着信している場合は、コントローラに終了ＤＳＳを書き込ませるコンピュータ可読プログラム・コードとを含む、コンピュータ・プログラム製品を提供する。
【００３６】
望ましくは、本発明は、コントローラに、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離させるコンピュータ可読プログラム・コードをさらに含むコンピュータ・プログラム製品を提供する。
【００３７】
望ましくは、本発明は、コントローラにＣＱセットの複数の連続インスタンスを書き込ませるコンピュータ可読プログラム・コードが、コントローラにＣＱセットの第一インスタンスが読み取り照合されているかどうかを判定させるコンピュータ可読プログラム・コードと、ＣＱセットの第一インスタンスが読み取り照合されていない場合は、コントローラにＣＱセットの別のインスタンスを書き込ませるコンピュータ可読プログラム・コード、およびコントローラを上記判定ステップに戻らせるコンピュータ可読プログラム・コードと、ＣＱセットの第一インスタンスが読み取り照合されている場合は、コントローラにＣＱセットの第一インスタンス中にエラーが検出されているかどうかを確認させるコンピュータ可読プログラム・コードと、エラーが検出されている場合にあっては、コントローラにＣＱセットを書き換えさせるコンピュータ可読プログラム・コード、およびコントローラを最初の判定ステップに戻らせるコンピュータ可読プログラム・コードと、エラーが検出されていない場合にあっては、コントローラに「記録完了」信号をホストに送信させるコンピュータ可読プログラム・コードと、コントローラにホストから新しいデータが着信しているかどうかを判定させるコンピュータ可読プログラム・コードと、ホストから新しいデータが着信していない場合は、コントローラにＣＱセットの別のインスタンスを書き込ませるコンピュータ可読プログラム・コード、およびコントローラを二番目の判定ステップに戻らせるコンピュータ可読プログラム・コードと、ホストから新しいデータが着信している場合は、コントローラに終了ＤＳＳを書き込ませるコンピュータ可読プログラム・コードとを含む、コンピュータ・プログラム製品を提供する。
【００３８】
望ましくは、本発明は、コントローラに、ＣＱセットのインスタンス群を磁気テープの複数のトラックに亘って横方向に分離させるコンピュータ可読プログラム・コードをさらに含むコンピュータ・プログラム製品を提供する。
【００３９】
以降に、単なる例示として添付の図面を参照しながら、本発明の実施形態を説明する。
【図面の簡単な説明】
【００４０】
【図１】ＥＣＣがエンコードされたサブ・データ・セットを示す。
【図２】１６トラック磁気テープ上に記録されたデータ・セットのある部分の符号語の空間的分離の例を示す。
【図３】本発明が実装可能な磁気テープ・ドライブのブロック図である。
【図４】一つのサブ・データ・セットからの全符号語対を１６トラック磁気テープ記録フォーマット上の２つのＣＱセットに割り付ける一つの方法を示す。
【図５】１６トラック磁気テープ上に記録された４つのレコードを示し、各レコードは、一つのサブ・データ・セットのデータ容量以下であり、２つのＣＱセットを必要とする。
【図６】１６トラック磁気テープ上に記録された８つのＣＱセットを示し、各対が一つのサブ・データ・セットであり、この図の各レコードは、一つのサブ・データ・セットの容量サイズを超える。
【図７】２つのＣＱセットの短いレコード並びに開始および終了ＤＳＳパターンに対する従来技術の記録フォーマットの理想的な例を示す。
【図８】短いレコードに対する従来技術の記録フォーマットのより現実的な例が図示されており、終了ＤＳＳを記録する前の待ち時間が示されている。
【図９】本発明の方法の一つの実施形態のフロー・チャートである。
【図１０】５の待ち時間を有するシステムにおいて、書き込み後読み取り照合待ち時間の間に複数のＣＱセットが記録される、本発明の好適な実施形態のフロー・チャートである。
【図１１】最初に書き込まれたＣＱセットの一つにエラーが検出された後の、複数のＣＱセットの書き込みを示す。
【図１２】書き込み後読み取り照合待ち時間の間に複数のＣＱセットが書き込まれる、本発明の方法の好適な実施形態のフロー・チャートである。
【図１３】エラーなし状態で第三（最後の）ＣＱ１を書き込まない、書き込み後読み取り照合待ち時間の間の複数ＣＱセットの書き込みを示す。
【図１４】エラーあり状態で第三（最後の）ＣＱ１を書き込まない、書き込み後読み取り照合待ち時間の間の複数ＣＱセットの書き込みを示す。
【図１５】記録完了信号がホストに送信された後ホストから新しいデータが着信するまでの間、延長された終了ＤＳＳが書き込まれる、従来技術の記録フォーマットを示す。
【図１６】記録完了信号がホスト送信された後ホストから新しいデータが着信するまでの待ち時間の間に複数のＣＱセットが記録される、本発明の好適な実施形態のフォーマットを示す。
【図１７】記録完了後ホスト・レスポンス待ち時間の間に複数のＣＱセットが書き込まれる、本発明の方法の好適な実施形態のフロー・チャートである。
【図１８】書き込み後読み取り照合待ち時間および記録完了信号後の待ち時間の間に複数のＣＱセットが記録される、本発明の好適な実施形態のフォーマットを示す。
【図１９】書き込み後読み取り照合待ち時間および記録完了後ホスト・レスポンス待ち時間の間に複数のＣＱセットが書き込まれる、本発明の方法の好適な実施形態のフロー・チャートである。
【発明を実施するための形態】
【００４１】
本明細書で説明するコンポーネントは、カスタムＶＬＳＩ回路またはゲート・アレイ、ロジック・チップ、トランジスタなど市販の半導体、あるいは他のディスクリート部品を含むハードウエア回路として実装することができる。また、あるコンポーネントは、フィールド・プログラマブル・ゲート・アレイ、プログラム可能アレイ・ロジック、プログラム可能ロジック・デバイス、または類似品などのプログラム可能ハードウエア・デバイス中に実装することができる。さらに、これらコンポーネントをソフトウエアに実装し、さまざまな種類のプロセッサに実行させることもできる。実行可能コードの識別されたコンポーネントには、例えば、コンピュータ命令の一つ以上の物理的または論理的ブロックを含めることができ、これらを、例えば、オブジェクト、プロシージャ、または機能として編成することができる。しかしながら、識別されたコンポーネントの実行ファイルを物理的に一緒に所在させる必要はなく、バラバラの命令を異なった場所に格納し、これらが論理的に結合されたとき、該コンポーネントを構成し該コンポーネントに対し定められた目的を達成するようにすることができる。
【００４２】
さらに、記述された本発明の機能、構造、または特徴は、一つ以上の実施形態において任意の適切な仕方で組み合わせることができる。以下の説明において、本発明の実施形態の徹底した理解を提供するため、プログラミング、ソフトウエア・コンポーネント、ユーザ選択、ネットワーク・トランザクション、ハードウエア・コンポーネント、ハードウエア回路、ハードウエア・チップの例など、数多くの具体的詳細が提示される。しかしながら、当業者は、本発明が、これら具体的詳細の一つ以上がなくても、または他の方法、コンポーネント、材料などを使っても実施できることを認識していよう。他の例においては、本発明の態様が不明瞭になるのを回避するため、周知のコンポーネント構造、材料、またはオペレーションは示されないか、あるいは詳細には説明されていない。
【００４３】
本明細書に記載された概略フロー・チャート図は、一般に論理フロー・チャート図といわれるものである。かかる図として、図示された順序および標示されたステップは、提示されたプロセスの一つの実施形態を示すものである。例示されたプロセスの一つ以上のステップまたはそれらの部分と、機能、ロジック、または効果において同等な他のステップおよびプロセスを着想することができる。さらに、用いられたフォーマットおよび記号は、本プロセスの論理的ステップを説明するために提示されており、本プロセスの範囲を限定するものでないと解すべきである。実際のところ、矢印線または他のコネクタは、一般に本プロセスの論理フローを示すためだけに使われている。加えて、特定のプロセスが生じる順序は、フローチャートに示された対応ステップの順序に厳密に従っても、従わなくてもよい。
【００４４】
図３は、本発明が実装可能な磁気テープ・ドライブ３００のブロック図である。ドライブ３００はインタフェース３０２を含み、これを介してドライブ３００と一つ以上のホスト１０との間でデータ、命令、および他の通信をやり取りすることができる。ドライブ３００は、コントローラ３２０と、読み取りおよび書き込みチャネル３０４、３０６と、読み取りおよび書き込みヘッド３０８、３１０と、磁気テープ２０を、矢印線３１４で示すように、読み取りおよび書き込みヘッド３０８、３１０を通過させて縦方向に移送するための少なくとも一つの駆動モータ３１２（多くの場合、着脱可能なカートリッジ・ハウジングに収納されている）と、をさらに含む。コントローラ３２０は、記録システム・ロジック３２２を含み、該ロジックは、本発明のステップを遂行するようあるいは遂行を命令するようプログラムすることができる。
【００４５】
テープ２０に記録されるデータは、ホスト１０からドライブ３００のインタフェース３０２に送信される。コントローラ３２０は、該データが書き込みチャネル３０６に送信され、フォーマットされ、エンコードされるよう命令する。次いで、書き込みチャネルは、処理したデータを、テープ２０の一つ以上のトラックへの記録のために、書き込みヘッド３１０に送る。また、コントローラ３２０は、テープ２０が読み取りおよび書き込みヘッド３０８、３１０を通過する速度および方向に関して駆動モータ（群）３１２を制御する。通常、書き込まれたばかりのデータは、読み取りヘッド３１０に読み取られ、それが正しく記録されているかどうか照合される。読み取りヘッド３１０によってテープ２０から読み取られたデータは、まだコントローラ３２０の制御下にあり、インタフェース３０２を介してホスト１０に送信される前に、読み取りチャネル３０４によって復号され、エラーがないかチェックされる。前述は、テープ・ドライブ３００の動作の単なる簡単な要約であることを十分理解する。明確化のため、上記説明からは多くの詳細なステップが省かれており、多くのコンポーネントが図３には示されていない。
【００４６】
一つの書き込み方法では、データ・セットより小さな単位で短い顧客レコードを書き込むことによってパフォーマンスを向上する試みが行われる。レコードは、データ・セット中の全サブ・データ・セットが満たされるまで待つことなく、サブ・データ・セット中に蓄積される。蓄積は、同一のサブ・データ・セットの全６４の符号語対を、ある連続した数のＣＱセットに収納することによって遂行される。１６トラック・フォーマットにおいて、一つのサブ・データ・セットは２つのＣＱセットを必要とする。このよう方法で、はるかに小さなオブジェクト（サブ・データ・セット）を書き込むことができ、ある環境の下では、これにより大幅なパフォーマンスの改善をもたらすことができる。ただし、上記方法は、エラー訂正符号（ＥＣＣ）の能力を弱める。というのは、この方法は、サブ・データ・セットの全符号語対を相互に近接して配置し、このことによって、単一のサブ・データ・セット中の複数の符号語対を、ミストラッキングまたは大きな媒体欠陥など単一のエラー事象からの影響をより受けやすくするからである。符号語対が相互に近接して配置されており、首尾よく記録された符号語対の照合されたセットが一つだけになる可能性があるので、データが読み取られる際に、記録されたデータをうまく再構築するためには不十分な数の有効な符号語対になる可能性にさらされることになる。
【００４７】
図４は、サブ・データ・セットあたり６４の符号語対を有する１６トラック記録フォーマットに対し、一つのサブ・データ・セットからの符号語対（行）の全てを２つのＣＱセットに割り付ける一つの方法を示す。ＣＱセット０および１は、一つのデータ・レコードを表している。
【００４８】
前述したように、従来式の書き込みにおいて、符号語対の縦方向および横方向への分離は、エラーの影響受けやすさを低減するための主要寄与要因である。代替案による、同一のＣＱセット中の同一のサブ・データ・セットからの符号語対の書き込みは、従来式のフォーマット設定が提供している符号語対の間の縦方向および横方向の分離間隔を、大幅に減少させる。最悪の場合、レコードのサイズが一つのサブ・データ・セットのデータ容量以下のときには、データの完全性が損なわれる。この場合、レコードは、一つのサブ・データ・セット中に収納され、そのサブ・データ・セットは２つの隣接するＣＱセットとしてテープ上に記録される。図５は４つのレコードを示しており、その各々は、一つのサブ・データ・セットのデータ容量より小さいかまたは同等である。各レコードは２つのＣＱセットを必要とする。ＣＱセットの各対の間の、従って各レコードの間の特定されていない分離間隔は、省略記号によって示す。
【００４９】
ＣＱ中への符号語群の、およびトラック中へのＣＱ群の相対的配置は、どの符号語対中のエラーも同等にサブ・データ・セット全体に対するＥＣＣ仕損じ可能性の原因となるので、エラー・パフォーマンスの点からは重要なことではない。一つ以上のＣＱセット中の全トラックに共通するエラーは、直ちにＥＣＣを圧倒することになる。一つのＣＱセット中の複数のトラックに共通する、あるいは、もっと少ないトラックだが両方のＣＱセットに共通するエラーは、前述の記録スキームにおいては、符号語対がテープの縦および横方向に広く分散されている従来方式のスキームよりも、ＥＣＣを圧倒する可能性が大幅に高い。
【００５０】
レコードのサイズが一つのサブ・データ・セットのデータ容量サイズを超える場合には、追加のサブ・データ・セットを構築することができる。図６は、レコードのサイズが、少なくとも１つプラス３つのサブ・データ・セットのデータ容量であって且つ４つのサブ・データ・セットのデータ容量以下である例を示す。この例においては、８つのＣＱセットが書き込まれ、各対が一つのサブ・データ・セットである。ＣＱセットの各対の間の、従って各レコードの間の特定されていない分離間隔は省略記号によって示す。
【００５１】
テープに書き込まれるデータは、読み取りを容易にするためフォーマット設定される。前述したように、データ内容はサブ・データ・セット中に配置され、次いで該サブ・データ・セットの符号語対がＣＱセットに割り付けられる。テープに書き込まれる際、レコードまたはデータ・セットなどのグループ内のＣＱセットは、データ・セット・セパレータ（ＤＳＳ）パターンとして知られる、容易に認識される特別なパターンで区切られる。図７は、このフォーマットで短いレコード７００を書き込んだ理想的な例を示す。各ＣＱセット７０４Ａ、７０４Ｂ内に、一つの符号語カッド７０２Ａ、７０２Ｂが小さな矩形で示されており、開始および終了ＤＳＳ７０６Ａ、７０６Ｂがレコード７００を囲んでいる。
【００５２】
書き込み後読み取り照合待ち時間の活用
しかしながら、図７のフォーマット設定の理想的な例は実際には使用されない。近年のデータ記憶デバイスは、データを書き込み後すぐに照合する。エラーが検出された場合、データは書き換えられる。あるテープでは、読み取りヘッド・エレメントは、ある距離をおいて書き込みヘッド・エレメントの後ろにある。しかして、書き込まれたＣＱセットが、読み取りヘッド・エレメントの下を通過するまでにいくらかの時間が必要となり得る。これにより、書き込みと書き込まれたデータを照合する機能との間に最小限の時間が生じる。また、この時間は、テープ・ドライブがエラー検出を遂行するため必要な処理時間によって増加し得る。さらに、データの書き換えが必要な場合、書き換え作業の準備のためさらなる時間が必要となり得る。ＣＱセットが最初に書き込まれるポイントとエラー検出後書き換えができる場所との間のテープ沿いの距離に対応する合計時間は、待ち時間（ｌａｔｅｎｃｙ）と呼ばれる。待ち時間は、通常ＣＱセットで測定される。例えば、待ち時間が４つで、書き込まれたあるＣＱセットＮにエラーが見つかれば、それは（ＣＱセットＮ＋４）として書き換えられる。図８は、単一のサブ・データ・セットをＣＱセット０およびＣＱセット１中に書き込む間の待ち時間の例を示す。ＣＱ０およびＣＱ１は、テープ沿いの距離が５ＣＱセットに等しくなるまで読み取り照合できないので、サブ・データ・セットの書き込みには、そのデータ容量の方が小さい場合であっても、少なくともこの数のＣＱセットを割り当てなければならない。図８に示すように、エラーが検出されない場合、書き込み作業はＤＳＳパターンで終了する。
【００５３】
最後に書き込まれたＣＱセットと、エラーの場合にＣＱセットを書き換え可能な場所との間のテープ上の領域に書き込みがされないと、前回書き込まれたデータが現在の処理に干渉するので、これは良いやり方ではない。この領域がＤＳＳ、またはアンブル（非データ）フレーム書き込みで満たされれば、前回書き込まれたデータは除去されるが、書き込まれたデータの修復度が高められることはない。これに換えて、本発明は、この領域をＣＱセットまたはセット群の繰り返し書き込みで満たす。前回書き込まれたデータは排除されてＣＱセットの追加のインスタンスが記録され、これにより、サブ・データ・セット中の各符号語対の少なくとも一つのインスタンスが、読み取りで首尾よく修復される確率を高めることになる。
【００５４】
図９のフローチャートは、本発明のある方法を示す。ドライブ３００によってホスト１０からのデータが受信される（ステップ９００）。記録システム・ロジック３２２の命令の下、サブ・データ・セットが設定され（ステップ９０２）、Ｃ１およびＣ２  ＥＣＣ記号が計算され、サブ・データ・セットに付加される（ステップ９０４）。次いで、符号語カッドが形成され（ステップ９０６）、書き込みヘッド３０６がテープ２０に開始ＤＳＳを記録する（ステップ９０８）。ＣＱセット０および１の単一のインスタンスをテープ２０に記録し、待ち時間を浪費させるのに換えて、ＣＱセットの複数のインスタンスがテープ２０に記録され（ステップ９１０）、これにより各符号語対の少なくとも一つのインスタンスが修復される確率を増大する。その後に終了ＤＳＳがテープ２０に記録される（ステップ９１２）。
【００５５】
図１０は、図９の方法の一つの変形を示す。サブ・データ・セットが、５の待ち時間を使ってシステムに書き込まれる。ＣＱセット０および１、１０００Ａ、１０１０Ａ、はサブ・データ・セットの第一インスタンスであり、開始ＤＳＳ１０２０の後に続く。待ち時間のため、ＣＱ０は、ＣＱ０またはＣＱ１の第三インスタンスに至るまで読み取り照合することができない。本発明のこの態様によれば、ＣＱセット対は、ＣＱ０およびＣＱ１が読み取り照合可能になるまで、すなわち５の待ち時間が終了するまで、繰り返し書き込まれる。例示したシステムでは、ＣＱ０およびＣＱ１の２組の追加の対、１０００Ｂ、１０１０Ｂ、１０００Ｃ、１０１０Ｃが書き込まれる。ＣＱ０およびＣＱ１の第一インスタンス１０００Ａ、１０１０Ａにエラーがなければ、このサブ・データ・セットに対するさらなるＣＱセットは書き込まれず、終了ＤＳＳパターン１０２０Ｂによって書き込み作業は終了する。従って、該サブ・データ・セットの合計３つのインスタンスが書き込まれ、その第一インスタンスだけが読み取り照合されたことになる。しかして、ＣＱセットの繰り返しの利点は、どの一つの符号語対に対しても少なくとも３つのインスタンスが存在し、各々が少なくとも一つのＣＱセットの長さだけ縦方向に分離され、これにより各符号語対の少なくとも一つのインスタンスの修復の確率を増大させることである。
【００５６】
また、図１０は本発明のさらなる態様をも示している。これらＣＱ内の影付きバー１００２Ａ、１００２Ｂ、１００２Ｃ、および１０１２Ａ、１０１２Ｂ、１０１２Ｃは、重大なトラック・エラーに対する保護のため、特定の符号語カッドが、どのようにトラックに亘って横方向に「循環回転」されているかを示している。これに対し、従来式のＬＴＯフォーマット中の符号語カッドは、エラーによって書き換えられるときにだけ循環される。
【００５７】
図１１に示されるように、最初の読み取り照合の試みの後、第一ＣＱ０、１０００Ａまたは第一ＣＱ１、１０１０Ａのいずれかにエラーが検出された場合、その両方とも１０００Ｄ、１０１０Ｄに書き換えられ、ＣＱセットの所定回数（示された例では２）、１０００Ｅ、１０００Ｆおよび１０１０Ｅ、１０１０Ｆとして繰り返され、この書き換えられた対の読み取り照合を可能にする。従って、最初の照合で一つ以上のエラーがあったとすれば、サブ・データ・セットの合計６つのインスタンスが書き込まれ、その一番目および四番目だけが読み取り照合されることになる。読み取り照合に合格したならば、終了ＤＳＳ１０２０Ｂが書き込まれる。
【００５８】
図１２は、本発明のこの態様のフローチャートである。開始ＤＳＳがテープ２０に記録され（ステップ１２００）、次いでＣＱセットの第一インスタンスが記録される（ステップ１２０２）。ＣＱセットが読み取り照合されているかどうかの判定が行われる（ステップ１２０４）。されていない場合、ＣＱセットの別のインスタンスが記録され（ステップ１２０２）、ＣＱセットの第一インスタンスが読み取り照合されるまで、このプロセスが繰り返される。エラーが検出された場合（ステップ１２０６）、ＣＱセットは記録し直され（ステップ１２０８）、プロセスは、記録し直されたＣＱセットが読み取り照合されるまで（ステップ１２０４）、ＣＱセットのさらなるインスタンスの記録（ステップ１２０２）に戻る。再度エラーが検出されれば（ステップ１２０６）、このプロセスが繰り返される。ＣＱセットが読み取り照合されエラーがなければ、終了ＤＳＳが記録される（ステップ１２１０）このように、以前は浪費されていた待ち時間の間にＣＱセットの複数のインスタンスが記録される。
【００５９】
待ち時間から、ＣＱ０の第三インスタンスの後で照合および書き換えが可能な場合、本発明のこの態様の変形を実装して第三ＣＱ１を書き込む必要をなくすことができる。エラーがない場合のこの変形を図１３に示し、エラーがある場合の変形を図１４に示す。
【００６０】
記録完了後ホスト・レスポンス待ち時間の活用
図１５に示すように、従来のデータ書き込みの方法では、ドライブがレコードの書き込みを完了し、ＣＱセットの照合が完了したとき、該ドライブは、別のレコードを得るため信号１５００Ａ、１５００Ｂをホストに送信する。次いで、ドライブは、ホストが次のレコードとともに応答してくるまで、停止するか、または複数のＤＳＳ１５１０Ａ、１５１０Ｂを書き込み続けることになる。しかして、ＣＱセットの書き込みシーケンスは、（ａ）ホストが記録のためドライブにレコードを送信する、（ｂ）開始ＤＳＳが書き込まれる、（ｃ）その後に基本ＣＱセットが続く、（ｄ）２つのＣＱセットが読み取りヘッドの下を通過するまで特定されていないシーケンスの書き込みを続ける、（ｅ）両方のＣＱセットが照合されたとき、終了ＤＳＳが開始され、（ｆ）ＣＱセットが確かにテープに収納されたとき、テープ・ドライブがホストに「記録完了」信号を送信して書き込みの成功を提示し、この時点からドライブはホストが記録のため別のレコードを送信してくるのを待つ、と記述できる。このプロセスは、テープに沿って期限なく繰り返される。
【００６１】
待ち時間を使って各符号語対のできるだけ多くのインスタンスを記録しＣＱセットを繰り返すため、本発明の別の態様では、ドライブ３００がホストに「記録完了」信号送信してから、ホスト１０が次のレコードとともに応答してくるまでの間の待ち時間を利用して、ＣＱセットのさらなるインスタンス記録し、これによって各符号語対の少なくとも一つのインスタンスが修復される確率をさらに増大する。図１６、および図１７のフローチャートに示されるように、開始ＤＳＳ１６００Ａがテープ２０に記録され（ステップ１７００）、次いでＣＱセットの第一インスタンス１６１０Ａが記録される（ステップ１７０２）。ＣＱセット１６１０Ａが照合されたならば、次いでコントローラ３２０は、ＣＱセット１６１０Ａが書き込まれて読み取り照合されたことを示す「記録完了」信号（または他の類似の信号）１６０２をホスト１０に送信する（ステップ１７０４）。ホスト１０から新しいデータが着信しているかどうかの判定が行われる（ステップ１７０６）。していない場合、ＣＱセットの別のインスタンス１６１０Ｂが記録され（ステップ１７０８）、このプロセスは、ホスト１０から新しいデータが着信するまで繰り返され１６１０Ｃ、着信の時点で終了ＤＳＳ１６００Ｂが記録される（ステップ１７１０）。
【００６２】
図１８、および図１９のフローチャートは、本発明の、読み取り照合待ち時間および記録完了後ホスト待ち時間の態様を一緒に使ったＣＱセットの書き込みを示す。ホストが、記録のためレコードをドライブに送信し、開始ＤＳＳが書き込まれる（ステップ１９００）。次いで、（最初の）基本ＣＱセットが記録される（ステップ１９０２）。ドライブは、最初の２つのＣＱセットが、待ち時間後の読み取り照合の要求事項を満たして読み取りヘッドの下を通過する（ステップ１９０４）まで、ＣＱセットのさらなるインスタンスの書き込みを続ける。エラーが検出された場合（ステップ１９０６）、基本ＣＱセットは記録し直され（ステップ１９０８）、エラーが検出されなくなるまでこのプロセスが繰り返される。必要な数のＣＱセットが、エラーなく確かにテープに収納されると（ステップ１９０６）（この数は、所望のシステム構造安定性の如何によって任意の数とすることができる）、ドライブは、書き込みの成功を示す「記録完了」信号をホストに送信し（ステップ１９１０）、ホストが書き込みのため別のレコードを送信してくるのを待つ。ホストが次のレコードとともに応答し（ステップ１９１２）、ドライブが新規の書き込み作業をセットアップするまでの間、または、所定数のＣＱセット対が首尾よく読み取り照合されるまでの間、ドライブは、ＤＳＳを書き込むのに換えて、現在のレコードのＣＱセットの複数のインスタンスの書き込みを続ける（ステップ１９１４）。上記のとき、ドライブは終了ＤＳＳを開始する（ステップ１６１６）。このプロセスは、テープに沿って期限なく繰り返される。
【００６３】
しかして、本発明により、各符号語対のインスタンスの数は増加され、それらの物理的分離距離も縦方向および横方向の両方で望ましく増大され、これにより、短いテープ・レコードを書き込みながら、ミストラッキング・エラーおよび大きな欠陥の影響の受けやすさを軽減し、データ信頼性への悪影響を低減することが可能になる。本発明は、このように別のやり方では使われていない待ち時間を利用しており、従って、パフォーマンスに対する代償負担はない。インスタンスの書き直しごとに追加される各符号語対のインスタンスがあって、符号語対の間の物理的分離距離が増大するので、読み取り信頼性が向上する。しかして、本発明は、（１）各符号語対の一つだけのインスタンスを記録するのに換えて、書き込みヘッドと読み取りヘッドとの間の待ち時間を用いて符号語対の複数のコピーを記録すること、（２）ホストに新しいレコードを要求しその後書き込みを終了するのに換えて、ホストが次のレコードとともに実際に応答してくるまで符号語対の複数のコピーの書き込みを続けること、および（３）符号語対が書き込まれるごとに、特定の符号語対が書き込まれるトラックを循環回転させること、によってＥＣＣ能力を向上させる。
【００６４】
なお、本発明を、全面機能するデータ記憶システムのコンテキストで説明してきたが、当業者は、本発明のプロセスが、命令のコンピュータ可読媒体の形およびさまざまな形で給配できること、および本発明が、給配を実施にするのに実際に用いられる信号担持媒体の特定の種類如何に関わらず、応用可能であることを十分理解していよう。コンピュータ可読媒体の例には、フロッピー・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、およびＣＤ−ＲＯＭなどの記録可能なタイプの媒体、並びに送信タイプの媒体が含まれる。
【００６５】
本発明の記述は、例示および説明目的のため提示されているが、網羅的であること、または本発明を開示された形態に限定することを意図するものではない。当業者には多くの修改または変形が明白であろう。本実施形態は、本発明の原理、実際的応用を最善に説明し、他の当業者が、意図する特定の用途に適したさまざまな修改を加えたさまざまな実施形態のため、本発明を理解できるようにするため選択され、記述されたものである。さらに、上記では、方法およびシステムに関して説明しているが、磁気テープにデータを書き込むための命令を包含するコンピュータ・プログラム製品を使って、当技術分野における必要性を満たすこともできる。
【図１】
0005460734.tif 000002
【図２】
0005460734.tif 000003
【図３】
0005460734.tif 000004
【図４】
0005460734.tif 000005
【図５】
0005460734.tif 000006
【図６】
0005460734.tif 000007
【図７】
0005460734.tif 000008
【図８】
0005460734.tif 000009
【図９】
0005460734.tif 000010
【図１０】
0005460734.tif 000011
【図１１】
0005460734.tif 000012
【図１２】
0005460734.tif 000013
【図１３】
0005460734.tif 000014
【図１４】
0005460734.tif 000015
【図１５】
0005460734.tif 000016
【図１６】
0005460734.tif 000017
【図１７】
0005460734.tif 000018
【図１８】
0005460734.tif 000019
【図１９】
0005460734.tif 000020