(57)【要約】【課題】コマンド完了応答を発行する前に、データをテープに物理的に書き込み、データを送ったエンティティはそのデータを削除できる、データ保存方法を提供する。【解決手段】磁気テープ・ドライブの記録システムを操作して、書き込みヘッドの独立した１組によって、受信したときにデータを磁気テープに不連続に書き込ませ、そのデータを退避し、同じ操作中に、書き込みヘッドの別の独立した１組によって、データを磁気テープに連続的配列で再書き込みさせる。書き込みは、並列および同時に行ってよい。したがって、同じ操作中に、かつ同時に、複数の書き込みヘッドの個々の組は、受信データを一時的に磁気テープに書き込んで、送信元がそのデータのコピーを削除できるようにし、受信データの最初の書き込みの完了を待機することなく、退避データを磁気テープに永続的構成で再書き込みして、データのその後の再書き込みを完了させ、この一連の流れを繰り返す。【選択図】図１
2005063444.tif 000002
【特許請求の範囲】
【請求項１】
磁気テープ・ドライブのための記録システムであって、前記磁気テープ・ドライブは、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープに書き込むための前記複数の書き込みヘッドを有し、前記記録システムが、
複数の独立したデータ・フロー出力を有し、磁気テープに書き込まれるデータを保存する少なくとも１つのバッファと、
前記複数の独立したデータ・フロー出力から出力データ・フローを受信し、前記複数の書き込みヘッドの独立した組を操作して、データを磁気テープに書き込むための複数の記録チャネルと、
前記少なくとも１つのバッファと前記複数の記録チャネルを操作するコントローラとを含み、
前記コントローラは、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからのデータを供給する前記複数の記録チャネルの１つを操作して、前記複数の書き込みヘッドの独立した１組によって、前記供給データを磁気テープのトラックに書き込ませ、
前記供給データを前記少なくとも１つのバッファに退避し、
同じ操作中に、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからの前記退避データを供給する前記複数の記録チャネルの別の１つを操作して、前記複数の書き込みヘッドの別の独立した１組によって、前記退避データを前記磁気テープの別のトラックに連続的配列で再書き込みさせ、前記複数の書き込みヘッドの独立した組は、一方が前記データを磁気テープに書き込み、同じ操作中に、他方が前記退避データを前記磁気テープに再書き込みし、前記再書き込みデータは連続的配列の前記データを含む、記録システム。
【請求項２】
前記バッファに保存された前記データが、データ・トランザクションの形態をとり、前記コントローラがさらに、前記保存データ・トランザクションを同期データ・トランザクションとして磁気テープに書き込むようにとの指示に応答し、前記少なくとも１つのバッファと、前記記録チャネルの１つを操作して、前記複数の書き込みヘッドの独立した１組によって、前記保存データ・トランザクションを前記バッファから磁気テープのトラックに不連続な方式で書き込ませ、前記供給データ・トランザクションを前記少なくとも１つのバッファに退避し、同じ操作中に、前記少なくとも１つのバッファと、前記複数の記録チャネルの別の１つを操作して、前記複数の書き込みヘッドの別の独立した１組によって、前記退避データ・トランザクションを前記磁気テープの別のトラックに連続的配列で再書き込みさせる、請求項１に記載の記録システム。
【請求項３】
前記コントローラがさらに、前記１つの記録チャネルを操作して、前記複数の書き込みヘッドの前記独立した１組によって、セパレータ信号を前記不連続に書き込まれたデータ・トランザクションの間に書き込ませる、請求項２に記載の記録システム。
【請求項４】
前記データ・トランザクションを受信し、前記受信トランザクションを前記少なくとも１つのバッファに保存するインターフェースをさらに含み、前記コントローラがさらに、受信した前記同期データ・トランザクションの各々について、前記受信同期データ・トランザクションを磁気テープのトラックに不連続な方式で書き込み終えた時点で、前記インターフェースにコマンド完了を返す、請求項２に記載の記録システム。
【請求項５】
前記磁気テープ・ドライブが、前記複数の書き込みヘッドを磁気テープの前記トラックのラップの異なる組まで横方向に移動させて、書き込みヘッドの前記組のいずれかが少なくともいくつかの前記ラップにデータを書き込めるようにするためのラップ・コントロールをさらに含み、前記コントローラが、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記複数の記録チャネルを操作して、前記供給データを前記少なくとも１つのバッファから前記ラップの１つに書き込み、前記データを退避し、退避された前記データを前記ラップの別の１つに再書き込みし、また退避された前記供給データを書き込み続けるために、前記ラップの代替ラップにシークし、前記ラップの前記１つおよび前記ラップの前記別の１つにシーク・バックする、請求項１に記載の記録システム。
【請求項６】
前記磁気テープ・ドライブが、前記複数の書き込みヘッドを磁気テープの前記トラックのラップの異なる組まで横方向に移動させて、書き込みヘッドの前記組のいずれかが少なくともいくつかの前記ラップにデータを書き込めるようにするためのラップ・コントロールをさらに含み、前記コントローラが、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記複数の記録チャネルを操作して、前記ラップに順番にアクセスして、退避される前記データを有するラップが、前記データが再書き込みされるラップに前記順番で続くようにし、その結果、連続する一連のラップは、最初は退避される前記データで書き込みが行われ、次に前記再書き込みデータで上書きが行われる、請求項１に記載の記録システム。
【請求項７】
前記磁気テープ・ドライブが、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープから読み取るための前記複数の読み取りヘッドと、読み取りデータ・システムをさらに含み、前記コントローラがさらに、前記読み取りデータ・システムを操作して、前記複数の読み取りヘッドの１組を用いて前記ラップの１つを一度に読み取る、請求項６に記載の記録システム。
【請求項８】
前記磁気テープ・ドライブが、前記複数の書き込みヘッドを磁気テープの前記トラックの異なるラップまで横方向に移動させるためのラップ・コントロールをさらに含み、前記コントローラが、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記複数の記録チャネルとを操作して、前記供給データを前記少なくとも１つのバッファから前記ラップの１つに前記ラップの順番で書き込み、前記退避データを前記ラップの前記１つからずらされた位置にある前記ラップの別の１つに再書き込みする、請求項１に記載の記録システム。
【請求項９】
前記コントローラがさらに、前記少なくとも１つのバッファと、前記記録チャネルの１つを操作して、前記複数の書き込みヘッドの１組によって、選択された前記退避データを前記少なくとも１つのバッファから前記磁気テープに一時的に再書き込みさせ、前記磁気テープのトラックに初めに書き込まれた前記選択データを解放し、その解放によって、前記初めに書き込まれたデータを上書きできるようにする、請求項１に記載の記録システム。
【請求項１０】
磁気テープ・ドライブのための記録システムであって、前記磁気テープ・ドライブは、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープに書き込むための前記複数の書き込みヘッドを有し、前記記録システムが、
複数の独立したデータ・フロー出力を有し、磁気テープに書き込まれるデータを保存する少なくとも１つのバッファと、
前記複数の独立したデータ・フロー出力から出力データ・フローを受信し、前記複数の書き込みヘッドの独立した組を操作して、データを磁気テープに書き込むための複数の記録チャネルと、
前記少なくとも１つのバッファと前記複数の記録チャネルを操作するコントローラとを含み、
前記コントローラは、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからのデータを供給する前記複数の記録チャネルの１つを選択的に操作して、前記複数の書き込みヘッドの独立した１組によって、前記供給データを前記少なくとも１つのバッファから磁気テープのトラックに書き込ませて、前記供給データを退避し、また同じ操作中に、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからの前記退避データを供給する前記複数の記録チャネルの別の１つを操作して、前記複数の書き込みヘッドの別の独立した１組によって、前記退避された供給データを前記磁気テープの別のトラックに書き込ませ、
前記少なくとも１つのバッファと、前記少なくとも１つのバッファからのデータを供給する前記複数の記録チャネルを選択的に操作して、前記複数の書き込みヘッドによって、供給データを磁気テープのトラックに書き込ませる、記録システム。
【請求項１１】
前記磁気テープ・ドライブが、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープから読み取るための前記複数の読み取りヘッドと、読み取りデータ・システムをさらに含み、前記コントローラがさらに、前記読み取りデータ・システムを選択的に操作して、前記読み取りヘッドの１組を用いて前記ラップの１つを一度に読み取り、また前記読み取りデータ・システムを選択的に操作して、前記複数の読み取りヘッドを用いて複数の前記ラップを一度に読み取る、請求項１０に記載の記録システム。
【請求項１２】
磁気テープをテープ長手方向に動かすためのドライブ・システムと、
前記磁気テープを前記ドライブ・システムによってテープ長手方向に動かしている間に前記磁気テープに書き込むための複数の書き込みヘッドと、
前記磁気テープに書き込まれるデータを受信するためのインターフェースと、
複数の独立したデータ・フロー出力を有し、前記インターフェースで受信したデータを保存する少なくとも１つのバッファと、
前記複数の独立したデータ・フロー出力から出力データ・フローを受信し、前記複数の書き込みヘッドの独立した組を操作して、データを磁気テープに書き込むための記録システムと、
前記少なくとも１つのバッファと前記記録システムを操作するコントローラとを含み、
前記コントローラは、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからのデータを供給する前記記録システムの１つを操作して、前記複数の書き込みヘッドの独立した１組によって、前記供給データを前記少なくとも１つのバッファから磁気テープのトラックに書き込ませ、
前記供給データを前記少なくとも１つのバッファに退避し、
同じ操作中に、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからの前記退避データを供給する前記記録システムの別の１つを操作して、前記複数の書き込みヘッドの別の独立した１組によって、前記退避データを前記磁気テープの別のトラックに連続的配列で再書き込みさせ、前記複数の書き込みヘッドの独立した組は、一方が前記データを磁気テープに書き込み、同じ操作中に、他方が前記退避データを前記磁気テープに再書き込みし、前記再書き込みデータは連続的配列の前記データを含む、磁気テープ・ドライブ。
【請求項１３】
磁気テープに書き込まれた前記データが、データ・トランザクションの形態をとり、前記コントローラがさらに、前記保存データ・トランザクションを同期データ・トランザクションとして磁気テープに書き込むようにとの指示に応答し、前記少なくとも１つのバッファと、前記記録システムを操作して、前記複数の書き込みヘッドの独立した１組によって、前記保存データ・トランザクションを前記少なくとも１つのバッファから磁気テープのトラックに不連続な方式で書き込ませ、前記供給データ・トランザクションを前記少なくとも１つのバッファに退避し、同じ操作中に、前記少なくとも１つのバッファと、前記記録システムを操作して、前記複数の書き込みヘッドの別の独立した１組によって、前記退避データ・トランザクションを前記磁気テープの別のトラックに連続的配列で再書き込みさせる、請求項１２に記載の磁気テープ・ドライブ。
【請求項１４】
前記コントローラがさらに、前記記録システムを操作して、前記複数の書き込みヘッドの前記独立した１組によって、セパレータ信号を前記不連続に書き込まれたデータ・トランザクションの間に書き込ませる、請求項１３に記載の磁気テープ・ドライブ。
【請求項１５】
前記コントローラがさらに、前記同期データ・トランザクションの各々について、前記同期トランザクションを磁気テープのトラックに不連続な方式で書き込み終えた時点で、前記インターフェースにコマンド完了を返す、請求項１３に記載の磁気テープ・ドライブ。
【請求項１６】
前記複数の書き込みヘッドを磁気テープの前記トラックのラップの異なる組まで横方向に移動させて、書き込みヘッドの前記組のいずれかが少なくともいくつかの前記ラップにデータを書き込めるようにするためのラップ・コントロールをさらに含み、前記コントローラが、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記記録システムとを操作して、供給データを前記少なくとも１つのバッファから前記ラップの１つに書き込み、前記データを退避し、前記退避データを前記ラップの別の１つに再書き込みし、また退避された前記供給データを書き込み続けるために、前記ラップの代替ラップにシークし、前記ラップの前記１つおよび前記ラップの前記別の１つにシーク・バックする、請求項１２に記載の磁気テープ・ドライブ。
【請求項１７】
前記複数の書き込みヘッドを磁気テープの前記トラックのラップの異なる組まで横方向に移動させて、書き込みヘッドの前記組のいずれかが少なくともいくつかの前記ラップにデータを書き込めるようにするためのラップ・コントロールをさらに含み、前記コントローラが、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記複数の記録システムとを操作して、前記ラップに順番にアクセスして、退避された前記データを有するラップが、前記データが再書き込みされるラップに前記順番で続くようにし、その結果、連続する一連のラップは、最初は退避される前記データで書き込みが行われ、次に前記再書き込みデータで上書きが行われる、請求項１２に記載の磁気テープ・ドライブ。
【請求項１８】
前記磁気テープ・ドライブが、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープから読み取るための前記複数の読み取りヘッドと、読み取りデータ・システムをさらに含み、前記コントローラがさらに、前記読み取りデータ・システムを操作して、前記複数の読み取りヘッドの１組を用いて前記ラップの１つを一度に読み取る、請求項１７に記載の磁気テープ・ドライブ。
【請求項１９】
前記磁気テープ・ドライブが、前記複数の書き込みヘッドを磁気テープの前記トラックの異なるラップまで横方向に移動させるためのラップ・コントロールをさらに含み、前記コントローラが、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記記録システムを操作して、前記供給データを前記少なくとも１つのバッファから前記ラップの１つに前記ラップの順番で書き込み、前記退避データを前記ラップの前記１つからずらされた位置にある前記ラップの別の１つに再書き込みする、請求項１２に記載の磁気テープ・ドライブ。
【請求項２０】
前記コントローラがさらに、前記少なくとも１つのバッファと、前記記録システムの１つを操作して、前記複数の書き込みヘッドの１組によって、選択された前記退避データを前記少なくとも１つのバッファから前記磁気テープに一時的に再書き込みさせ、前記磁気テープのトラックに初めに書き込まれた前記選択データを解放し、その解放によって、前記初めに書き込まれたデータを上書きできるようにする、請求項１２に記載の磁気テープ・ドライブ。
【請求項２１】
磁気テープをテープ長手方向に動かすためのドライブ・システムと、
前記磁気テープを前記ドライブ・システムによってテープ長手方向に動かしている間に前記磁気テープに書き込むための複数の書き込みヘッドと、
前記磁気テープに書き込まれるデータを受信するためのインターフェースと、
複数の独立したデータ・フロー出力を有し、前記インターフェースで受信したデータを保存する少なくとも１つのバッファと、
前記複数の独立したデータ・フロー出力から出力データ・フローを受信し、前記複数の書き込みヘッドの独立した組を操作して、データを磁気テープに書き込むための記録システムと、
前記少なくとも１つのバッファと前記記録システムを操作するコントローラを含み、
前記コントローラは、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからのデータを供給する前記記録システムの１つを選択的に操作して、前記複数の書き込みヘッドの独立した１組によって、前記供給データを前記少なくとも１つのバッファから磁気テープのトラックに書き込ませ、前記供給データを退避し、また同じ操作中に、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからの前記退避データを供給する前記記録システムの別の１つを操作して、前記複数の書き込みヘッドの別の独立した１組によって、前記退避された供給データを前記磁気テープの別のトラックに書き込ませ、
前記少なくとも１つのバッファと、前記少なくとも１つのバッファからのデータを供給する前記記録システムを選択的に操作して、前記複数の書き込みヘッドによって、供給データを磁気テープのトラックに書き込ませる、磁気テープ・ドライブ。
【請求項２２】
磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープから読み取るための前記複数の読み取りヘッドと、読み取りデータ・システムをさらに含み、前記コントローラがさらに、前記読み取りデータ・システムを選択的に操作して、前記複数の読み取りヘッドの１組を用いて前記ラップの１つを一度に読み取り、また前記読み取りデータ・システムを選択的に操作して、前記複数の読み取りヘッドを用いて複数の前記ラップを一度に読み取る、請求項２１に記載の磁気テープ・ドライブ。
【請求項２３】
磁気テープ・ドライブ用の、データを磁気テープに書き込む方法であって、前記磁気テープ・ドライブは、前記磁気テープが複数の書き込みヘッドに対して長手方向に動かされている間に前記磁気テープに書き込むための前記複数の書き込みヘッドを有し、前記方法が、
磁気テープに書き込まれるデータをバッファするステップと、
前記バッファされたデータを供給して、前記複数の書き込みヘッドの独立した１組によって、前記供給データを前記バッファから磁気テープのトラックに書き込ませるステップと、
前記供給データを退避するステップと、
同じ操作中に、前記退避データを供給して、前記複数の書き込みヘッドの別の独立した１組によって、前記退避データを前記磁気テープの別のトラックに連続的配列で再書き込みさせるステップとを含み、前記複数の書き込みヘッドの独立した組は、一方が前記データを磁気テープに書き込み、同じ操作中に、他方が前記退避データを前記磁気テープに再書き込みし、前記再書き込みデータは連続的配列の前記データを含む、方法。
【請求項２４】
磁気テープに書き込まれる前記データが、データ・トランザクションの形態をとり、前記方法がさらに、
前記データ・トランザクションを同期データ・トランザクションとして磁気テープに書き込むようにとの指示に応答するステップと、
前記バッファから前記同期データ・トランザクションを供給して、前記複数の書き込みヘッドの独立した１組によって、前記同期データ・トランザクションを磁気テープのトラックに不連続な方式で書き込ませるステップと、
前記供給同期データ・トランザクションを退避するステップと、
同じ操作中に、退避された前記同期データ・トランザクションを供給して、前記複数の書き込みヘッドの別の独立した１組によって、退避された前記同期データ・トランザクションを前記磁気テープの別のトラックに連続的配列で再書き込みさせるステップとをさらに含む、請求項２３に記載の方法。
【請求項２５】
前記同期データ・トランザクションを供給して、前記複数の書き込みヘッドの前記独立した１組によって、前記同期データ・トランザクションを磁気テープのトラックに不連続な方式で書き込ませる前記ステップが、前記複数の書き込みヘッドの前記独立した１組によって、セパレータ信号を前記不連続に書き込まれたデータ・トランザクションの間に書き込ませるステップをさらに含む、請求項２４に記載の方法。
【請求項２６】
前記同期データ・トランザクションの各々について、前記同期トランザクションを磁気テープのトラックに不連続な方式で書き込み終えた時点で、コマンド完了を返すステップをさらに、請求項２４に記載の方法。
【請求項２７】
前記磁気テープ・ドライブがさらに、前記複数の書き込みヘッドを磁気テープの前記トラックのラップの異なる組にアクセスさせて、書き込みヘッドの前記組のいずれかが少なくともいくつかの前記ラップにデータを書き込めるようにし、
前記バッファされたデータを供給して、前記複数の書き込みヘッドの独立した１組によって、前記供給データを前記少なくとも１つのバッファから磁気テープのトラックに書き込ませる前記ステップが、前記供給データを前記ラップの１つに書き込み、前記データを退避するステップをさらに含み、
同じ操作中に、退避された前記データ・トランザクションを供給して、前記複数の書き込みヘッドの別の独立した１組によって、退避された前記データ・トランザクションを前記磁気テープの別のトラックに再書き込みさせるステップが、前記磁気テープに退避された前記データを前記ラップの別の１つに再書き込みするステップをさらに含み、また
退避された前記供給データを書き込み続けるために、前記ラップの代替ラップにシークするステップと、
前記ラップの前記１つおよび前記ラップの前記別の１つにシーク・バックするステップとをさらに含む、請求項２３に記載の方法。
【請求項２８】
前記磁気テープ・ドライブがさらに、前記複数の書き込みヘッドを磁気テープの前記トラックのラップの異なる組にアクセスさせて、書き込みヘッドの前記組のいずれかが少なくともいくつかの前記ラップにデータを書き込めるようにし、
前記バッファされたデータを供給して、前記複数の書き込みヘッドの独立した１組によって、前記供給データを前記少なくとも１つのバッファから磁気テープのトラックに書き込ませる前記ステップが、前記供給データを前記ラップの１つに書き込み、前記データを退避するステップをさらに含み、
同じ操作中に、退避された前記データ・トランザクションを供給して、前記複数の書き込みヘッドの別の独立した１組によって、退避された前記データ・トランザクションを前記磁気テープの別のトラックに再書き込みさせるステップが、前記磁気テープに退避された前記データを前記ラップの別の１つに再書き込みするステップをさらに含み、また
前記ラップに順番にアクセスして、退避された前記データを有するラップが、前記データが再書き込みされるラップに前記順番で続くようにし、その結果、連続する一連のラップは、最初は退避される前記データで書き込みが行われ、次に前記再書き込みデータで上書きが行われるステップをさらに含む、請求項２３に記載の方法。
【請求項２９】
前記磁気テープ・ドライブが、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープから読み取るための前記複数の読み取りヘッドをさらに含み、前記方法が、前記複数の読み取りヘッドの１組を用いて前記ラップの１つを一度に読み取るステップをさらに含む、請求項２８に記載の方法。
【請求項３０】
前記磁気テープ・ドライブがさらに、前記複数の書き込みヘッドを磁気テープの前記トラックの異なるラップにアクセスさせ、
前記バッファされたデータを供給して、前記複数の書き込みヘッドの独立した１組によって、前記供給データを前記少なくとも１つのバッファから磁気テープのトラックに書き込ませる前記ステップが、前記供給データを前記ラップの１つにラップの順番で書き込むステップをさらに含み、
同じ操作中に、退避された前記データ・トランザクションを供給して、前記複数の書き込みヘッドの別の独立した１組によって、退避された前記データ・トランザクションを前記磁気テープの別のトラックに再書き込みさせるステップが、前記磁気テープに退避された前記データを前記ラップの前記１つからずらされた位置にある前記ラップの別の１つに再書き込みするステップをさらに含む、請求項２３に記載の方法。
【請求項３１】
選択された前記退避データを供給して、前記複数の書き込みヘッドの１組によって、前記選択された退避データを前記磁気テープに一時的に再書き込みさせるステップと、
前記バッファ・データ供給ステップで磁気テープの前記トラックに初めに書き込まれた前記選択データを解放し、その解放によって、前記初めに書き込まれたデータを上書きできるようにするステップをさらに含む、請求項２３に記載の方法。
【請求項３２】
磁気テープ・ドライブ用の、データを磁気テープに書き込む方法であって、前記磁気テープ・ドライブは、前記磁気テープが複数の書き込みヘッドに対して長手方向に動かされている間に前記磁気テープに書き込むための前記複数の書き込みヘッドを有し、前記方法が、
磁気テープに書き込まれるデータを選択的に供給して、前記複数の書き込みヘッドの独立した１組によって、前記供給データを磁気テープのトラックに書き込ませるステップと、
前記供給データを退避するステップと、
同じ操作中に、退避された前記データを供給して、前記複数の書き込みヘッドの別の独立した１組によって、前記退避された供給データを前記磁気テープの別のトラックに書き込ませるステップと、
磁気テープに書き込まれるデータを選択的に供給して、前記複数の書き込みヘッドによって、供給データを磁気テープのトラックに書き込ませるステップとを含む方法。
【請求項３３】
前記磁気テープ・ドライブが、前記磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープから読み取るための前記複数の読み取りヘッドをさらに含み、前記方法がさらに、前記複数の読み取りヘッドの１組を用いて前記ラップの１つを一度に選択的に読み取るステップと、前記複数の読み取りヘッドを用いて複数の前記ラップを一度に選択的に読み取る、請求項３２に記載の方法。
【請求項３４】
プログラム可能コンピュータ・プロセッサと共に使用可能なコンピュータ・プログラムであって、前記プログラム可能コンピュータ・プロセッサは、磁気テープ・ドライブ用の記録システムを操作するためのものであり、前記磁気テープ・ドライブは、磁気テープが複数の書き込みヘッドに対して長手方向に動かされている間に前記磁気テープに書き込むための前記複数の書き込みヘッドを有し、前記記録システムは、磁気テープに書き込まれるデータを保存する少なくとも１つのバッファを含み、前記少なくとも１つのバッファは、複数の独立したデータ・フロー出力を有し、前記記録システムは、前記複数の書き込みヘッドの独立した組を操作して、前記複数のデータ・フロー出力から磁気テープにデータを書き込むためのものであり、前記コンピュータ・プログラムが、
前記プログラム可能コンピュータ・プロセッサに、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからのデータを供給する前記記録システムを操作させて、前記複数の書き込みヘッドの独立した１組によって、前記供給データを前記少なくとも１つのバッファから磁気テープのトラックに書き込ませる機能と、
前記プログラム可能コンピュータ・プロセッサに、前記供給データを前記少なくとも１つのバッファに退避させる機能と、
前記プログラム可能コンピュータ・プロセッサに、同じ操作中に、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからの前記退避データを供給する前記記録システムを操作させて、前記複数の書き込みヘッドの別の独立した１組によって、前記退避データを前記磁気テープの別のトラックに連続的配列で再書き込みさせる機能とを含み、前記複数の書き込みヘッドの前記独立した組は、一方が前記データを磁気テープに書き込み、同じ操作中に、他方が前記退避データを前記磁気テープに再書き込みし、前記再書き込みデータは連続的配列の前記データを含む機能を実現させるためのコンピュータ・プログラム。
【請求項３５】
磁気テープに書き込まれる前記データが、データ・トランザクションの形態をとり、前記コンピュータ・プログラムが、
前記プログラム可能コンピュータ・プロセッサに、前記データ・トランザクションを同期データ・トランザクションとして磁気テープに書き込むようにとの指示に応答させ、前記少なくとも１つのバッファと、前記記録システムを操作させて、前記複数の書き込みヘッドの独立した１組によって、前記同期データ・トランザクションを前記少なくとも１つのバッファから磁気テープのトラックに不連続な方式で書き込ませ、前記供給データ・トランザクションを前記少なくとも１つのバッファに退避させ、同じ操作中に、前記少なくとも１つのバッファと、前記記録システムを操作させて、前記複数の書き込みヘッドの別の独立した１組によって、前記退避データ・トランザクションを前記磁気テープの別のトラックに連続的配列で再書き込みさせる機能をさらに実現させるための、請求項３４に記載のコンピュータ・プログラム。
【請求項３６】
前記プログラム可能コンピュータ・プロセッサに、前記記録システムを操作させて、前記複数の書き込みヘッドの前記独立した１組によって、セパレータ信号を前記不連続に書き込まれたデータ・トランザクションの間に書き込ませる機能をさらに実現させるための、請求項３５に記載のコンピュータ・プログラム。
【請求項３７】
前記磁気テープ・ドライブが、インターフェースをさらに含み、前記コンピュータ・プログラムが、前記プログラム可能コンピュータ・プロセッサに、前記同期データ・トランザクションの各々について、前記同期トランザクションを磁気テープのトラックに不連続な方式で書き込み終えた時点で、前記インターフェースにコマンド完了を返させる機能をさらに実現させるための、請求項３５に記載のコンピュータ・プログラム。
【請求項３８】
前記磁気テープ・ドライブが、前記複数の書き込みヘッドを磁気テープの前記トラックのラップの異なる組まで横方向に移動させて、書き込みヘッドの前記組のいずれかが少なくともいくつかの前記ラップにデータを書き込めるようにするためのラップ・コントロールを含み、前記コンピュータ・プログラムが、
前記プログラム可能コンピュータ・プロセッサに、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記記録システムを操作させて、供給データを前記少なくとも１つのバッファから前記ラップの１つに書き込み、前記データを退避し、退避された前記データを前記ラップの別の１つに再書き込みする機能と、
前記プログラム可能コンピュータ・プロセッサに、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記記録システムを操作させて、退避される前記供給データを書き込み続けるために、前記ラップの代替ラップにシークし、前記ラップの前記１つおよび前記ラップの前記別の１つにシーク・バックする機能とをさらに実現させるための、請求項３４に記載のコンピュータ・プログラム。
【請求項３９】
前記磁気テープ・ドライブが、前記複数の書き込みヘッドを磁気テープの前記トラックのラップの異なる組まで横方向に移動させて、書き込みヘッドの前記組のいずれかが少なくともいくつかの前記ラップにデータを書き込めるようにするためのラップ・コントロールを含み、前記コンピュータ・プログラムが、
前記プログラム可能コンピュータ・プロセッサに、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記記録システムとを操作させて、前記プログラム可能コンピュータ・プロセッサによって、前記ラップに順番にアクセスさせて、退避された前記データを有するラップが、前記データが再書き込みされるラップに前記順番で続くようにさせ、その結果、連続する一連のラップは、最初は退避される前記データで書き込みが行われ、次に前記再書き込みデータで上書きが行われるようにさせる機能をさらに実現させるための、請求項３４に記載のコンピュータ・プログラム。
【請求項４０】
前記磁気テープ・ドライブが、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープから読み取るための前記複数の読み取りヘッドと、読み取りデータ・システムをさらに含み、前記コンピュータ・プログラムが、前記プログラム可能コンピュータ・プロセッサに、前記読み取りデータ・システムを操作させて、前記複数の読み取りヘッドの１組を用いて前記ラップの１つを一度に読み取る機能をさらに実現させるための、請求項３９に記載のコンピュータ・プログラム。
【請求項４１】
前記磁気テープ・ドライブが、前記複数の書き込みヘッドを磁気テープの前記トラックの異なるラップまで横方向に移動させるためのラップ・コントロールをさらに含み、前記コンピュータ・プログラムが、前記プログラム可能コンピュータ・プロセッサに、前記ラップ・コントロールと、前記少なくとも１つのバッファと、前記記録システムとを操作させて、供給データを前記少なくとも１つのバッファから前記ラップの１つに前記ラップの順番で書き込み、前記退避データを前記ラップの前記１つからずらされた位置にある前記ラップの別の１つに再書き込みする機能をさらに実現させるための、請求項３４に記載のコンピュータ・プログラム。
【請求項４２】
前記プログラム可能コンピュータ・プロセッサに、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからの選択された前記退避データを供給する前記記録システムを操作させて、前記複数の書き込みヘッドの１組によって、前記選択された退避データを前記磁気テープに一時的に再書き込みさせる機能と、
前記プログラム可能コンピュータ・プロセッサに、前記磁気テープのトラックに初めに書き込まれた前記選択データを解放させ、その解放によって、前記初めに書き込まれたデータを上書きできるようにする機能とをさらに実現させるための、請求項３４に記載のコンピュータ・プログラム。
【請求項４３】
プログラム可能コンピュータ・プロセッサと共に使用可能なコンピュータ・プログラムであって、前記プログラム可能コンピュータ・プロセッサは、磁気テープ・ドライブ用の記録システムを操作するためのものであり、前記磁気テープ・ドライブは、磁気テープが複数の書き込みヘッドに対して長手方向に動かされている間に前記磁気テープに書き込むための前記複数の書き込みヘッドを有し、前記記録システムは、磁気テープに書き込まれるデータを保存する少なくとも１つのバッファを含み、前記少なくとも１つのバッファは、複数の独立したデータ・フロー出力を有し、前記記録システムは、前記複数の書き込みヘッドの独立した組を操作して、前記複数の独立したデータ・フロー出力から磁気テープにデータを書き込むためのものであり、前記コンピュータ・プログラムが、
前記プログラム可能コンピュータ・プロセッサに、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからのデータを供給する前記記録システムを選択的に操作させて、前記複数の書き込みヘッドの独立した１組によって、前記供給データを磁気テープのトラックに書き込ませて、前記供給データを退避し、また同じ操作中に、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからの前記退避データを供給する前記記録システムの別の１つを操作させて、前記複数の書き込みヘッドの別の独立した１組によって、前記退避された供給データを前記磁気テープの別のトラックに書き込ませる機能と、
前記プログラム可能コンピュータ・プロセッサに、前記少なくとも１つのバッファと、前記少なくとも１つのバッファからのデータを供給する前記記録システムを選択的に操作させて、前記複数の書き込みヘッドによって、供給データを磁気テープのトラックに書き込ませる機能とを実現させるためのコンピュータ・プログラム。
【請求項４４】
前記磁気テープ・ドライブが、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に前記磁気テープから読み取るための前記複数の読み取りヘッドと、読み取りデータ・システムをさらに含み、前記コンピュータ・プログラムが、
前記プログラム可能コンピュータ・プロセッサに、前記読み取りデータ・システムを選択的に操作させて、前記複数の読み取りヘッドの１組を用いて前記ラップの１つを一度に読み取り、また前記読み取りデータ・システムを選択的に操作させて、前記複数の読み取りヘッドを用いて複数の前記ラップを一度に読み取る機能をさらに実現させるための、請求項４３に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気テープへのデータの保存に関し、より詳細には、コマンド完了応答を発行できるようになる前に、データをテープに物理的に書き込み、データのコピーが物理的に磁気テープに存在するので、データを送ったエンティティはそのデータを削除することができる、データの保存に関する。
【背景技術】
【０００２】
本明細書で参照する２００２年１月２９日出願の米国出願公開第１０／０５８１０１号（関連国際出願公開ＷＯ０３／０６５３７４号）は、データの磁気テープへの初期書き込み、そのデータの蓄積、およびその後の蓄積データの磁気テープへの再帰的順次書き込みについて開示する。
【０００３】
磁気テープは、データを保管、またはデータを自動データ・ストレージ・ライブラリのストレージ・シェルフに保存して必要なときにアクセスできるように、データを物理的に保存する手段を提供する。このような方式で保存されたデータは永続性をもち、コピーが磁気テープに存在しているので、ホスト・システムのメモリやディスクに保存されたデータのコピーを削除することが可能である。ホスト・システムの利用可能ストレージ空間は、比較的に高価であり、ストレージ空間はできるだけ早く解放したい。そのため、データは通常、ハードディスクなどの中間ステージング・バッファ（intermediate staging buffer）を経由してテープ・ドライブに転送される。また、ステージング・バッファもできるだけ早く解放し、上書きしたい。
【０００４】
したがって、データを「同期させる」ことがしばしば望まれる。
【０００５】
「同期データ」は、「同期イベント」または類似のコマンドの対象となっているデータまたはその他の情報として定義される。こうしたコマンドは、実際にデータが媒体、特に磁気テープにコミットされるまで、書き込み型のコマンドの「コマンド完了」、あるいはコマンドが正常に実行された通知または実行される通知を返さないよう、テープ・ドライブに要求する。その結果、電源が落ちた場合、データはテープ・ドライブ・バッファの揮発性ＤＲＡＭストレージから回復できなくても、テープから回復することができる。
【０００６】
同期イベントの一例は、イミディエイト・ビットが「０」に設定されたWriteFilemarkコマンドである。これは、ドライブは直ちに応答を返すのではなく、コマンドが完了した場合、つまりコマンドの一部として送られたデータがテープに書き出された場合に応答を返すことを意味する。WriteFilemarkコマンドの特殊なケースに、Number of Filemarksフィールドに「０」を設定するものがある。これは、Write Filemarkコマンドがそれ自体のデータをもたないことを意味し、このコマンドの唯一の目的は、コマンドに先行するすべてのデータが、コマンド完了が送られる前にテープに確実に書き込まれるようにすることである。そのため、このコマンドは、当業者に周知であるように、しばしば「同期」コマンドと呼ばれる。
【０００７】
同期イベントの別の例は、「バッファなし書き込み（non-buffered write）」として当業者に周知の、ホスト選択可能書き込みモード（hostselectable write mode）であり、各レコードがホストから書き込まれた後、暗黙の同期が実行されなければならない。「コマンド完了」は、どのような書き込みコマンドの場合でも、データが正常に媒体に書き込まれるまで返されない。
【０００８】
本明細書では、データ・レコード、レコード群、またはその他の標識の書き込みは、「トランザクション」として定義される。また、同期イベントの結果として実行されるそうしたデータ・レコードなどの書き込みは、「同期トランザクション」として定義される。
【特許文献１】米国出願第１０／０５８１０１号
【特許文献２】米国特許第５４３２６５２号
【特許文献３】米国特許第５６８９３８４号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
磁気テープに関連する困難は、データはデータ・セット間に長いギャップをもたずに連続的に記録されるが、同期トランザクションは同期イベント毎に独立にバーストとして保存され、次のトランザクションを書き込むまでに少なからぬ時間が経過するという点にある。そのため、テープ・ドライブは、次のトランザクションを先行トランザクションの後方近くに書き込むために、同期トランザクションを書き込んだ後に「バックヒッチ（backhitch）」しなければならない。テープがテープ長手方向に一定の速度で動いている間に、テープに対する書き込みまたは読み取りが行われる。そのため、バックヒッチでは、テープを停止させ、先行トランザクションの終端を越えるまで逆進させ、再び停止させ、また元の方向に加速して、先行トランザクションの終端に到達するまでに所定の速度に達することが必要になる。当業者であれば分かるように、バックヒッチ処理はかなりの時間を消費し、小さな同期トランザクションを数多く保存しなければならない場合、テープ・ドライブのスループットは劇的に低下する。一例として、バックヒッチ時間は、約０．５秒から３秒超の間で変化し得る。
【００１０】
本明細書で参照される米国出願第１０／０５８１０１号は、テープを停止させず、場合によってはトランザクション間にギャップを残さずに、同期データ・トランザクションを磁気テープに書き込むことによって問題を解決している。同出願では、同期トランザクションをバッファに蓄積し、後で蓄積トランザクションをバッファから磁気テープに連続的に書き直す。この方法は現在、当技術分野で「再帰的蓄積バックヒッチレス・フラッシュ（Recursive Accumulating Backhitchless Flush）」または「ＲＡＢＦ」と呼ばれている。トランザクション・サイズがバッファ・サイズに対して相対的に大きい場合、バッファは比較的早く蓄積トランザクションで満杯になり、トランザクションの再帰的書き込みが強制的に行われ、再帰的書き込み中は追加のデータの受け入れは控えられる。その結果、非ＲＡＢＦの性能がＲＡＢＦ記録の性能に接近する。
【課題を解決するための手段】
【００１１】
本発明は、記録システム、磁気テープ・ドライブ、方法、コンピュータ・プログラム、および磁気テープにデータを書き込むための制御ロジックを含む。
【００１２】
磁気テープ・ドライブの記録システムを操作して、書き込みヘッドの独立した１組によって、データを磁気テープに書き込ませ、同じ操作中に、書き込みヘッドの別の独立した１組によって、データを磁気テープに再書き込みさせる。書き込みは並列に行ってよく、同時に行ってもよい。
【００１３】
一実施形態では、少なくとも１つのバッファと、記録システムが設けられ、記録システムのコントローラが、バッファと、バッファからデータを供給する記録システムを操作して、複数の書き込みヘッドの独立した（separate）１組によって、供給データを磁気テープのトラックに書き込ませる。またコントローラは、供給データをバッファに退避する。同じ操作中に、コントローラは、バッファと、バッファから退避データを供給する記録システムを操作して、複数の書き込みヘッドの別の独立した１組によって、退避データを磁気テープの別のトラックに連続的配列で再書き込みさせる。つまり、同じ操作中に、書き込みヘッドの独立した組が、一方は磁気テープにデータを書き込み、他方は磁気テープに退避データを再書き込みする。おそらくは、書き込みヘッドの独立した組によって同時に書き込みが行われる。
【００１４】
別の一実施形態では、データはデータ・トランザクションの形態をとり、コントローラはさらに、データ・トランザクションを同期データ・トランザクションとして磁気テープに書き込むようにとの指示に応答し、バッファと記録システムを操作して、書き込みヘッドの独立した１組によって、データ・トランザクションを磁気テープのトラックに書き込ませ、かつデータ・トランザクションをバッファに退避する。ここでの書き込みは、同期コマンドに応答してバッファを空にしなければならないため、不連続な方式で行われる。同じ操作中に、コントローラは、バッファと記録システムを操作して、複数の書き込みヘッドの別の独立した１組によって、退避データ・トランザクションを磁気テープの別のトラックに連続的配列で再書き込みさせる。
【００１５】
さらに別の一実施形態では、コントローラはさらに、記録システムを操作して、複数の書き込みヘッドの独立した１組によって、セパレータ信号を不連続に書き込まれたデータ・トランザクションの間に書き込ませる。
【００１６】
別の一実施形態では、コントローラはさらに、各同期データ・トランザクションの場合、同期トランザクションを磁気テープ・トラックに不連続な方式で書き込み終えた時点で、インターフェースにコマンド完了を返す。
【００１７】
さらなる一実施形態では、磁気テープ・ドライブはさらに、複数の書き込みヘッドを磁気テープ・トラックのラップの異なる組まで横方向に移動させて、書き込みヘッドのいずれかの組が少なくともいくつかのラップにデータを書き込めるようにするためのラップ・コントロール（wrap control）を含む。コントローラは、ラップ・コントロール、バッファ、および記録システムを操作して、バッファからデータをラップの１つに書き込み、そのデータを退避し、可能性としては同時に別のラップに退避データを再書き込みする。また供給データを退避するために書き込みを続行するために代替ラップにシークし、前記ラップの１つおよび別のラップにシーク・バックする。退避データの再書き込みは、前記ラップの１つで供給データの書き込みを行うように、別のラップで継続することができる。
【００１８】
さらに別の一実施形態では、ラップを順番にアクセスして、退避データを有するラップが、データが再書き込みされるラップにその順番で続くようにし、その結果、連続する一連のラップは、最初は退避データで書き込みが行われ、次に再書き込みデータで上書きが行われる。
【００１９】
別の一実施形態では、磁気テープ・ドライブはさらに、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に磁気テープから読み取るための、複数の読み取りヘッドと、読み取りデータ・システムを含み、コントローラはさらに、読み取りデータ・システムを操作して、複数の読み取りヘッドの１組を用いてラップの１つを一度に読み取る。
【００２０】
別の一実施形態では、磁気テープ・ドライブはさらに、複数の書き込みヘッドを磁気テープ・トラックの異なるラップまで横方向に移動させるためのラップ・コントロールを含む。コントローラは、ラップ・コントロール、バッファ、および記録システムを操作して、データをバッファから一連のラップ中のラップの１つに書き込み、また前記ラップの１つから離れた位置にある別のラップに退避データを再書き込みする。
【００２１】
さらなる一実施形態では、コントローラは、バッファとバッファからデータを供給する記録システムとを選択的に操作して、複数の書き込みヘッドの独立した１組によって、供給データを磁気テープのトラックに書き込ませ、供給データを退避し、同じ操作中に、バッファとバッファから退避データを供給する記録システムを操作して、複数の書き込みヘッドの別の独立した１組によって、退避供給データを磁気テープの別のトラックに書き込みさせ、またバッファとバッファからデータを供給する記録システムを選択的に操作して、最大で書き込みヘッドのすべての組から成る複数の書き込みヘッドによって、供給データを磁気テープのトラックに書き込ませる。
【００２２】
本発明のまた別の一実施形態では、データ・トランザクションの不連続書き込みが続いている間、退避データ・トランザクションおよび不連続書き込みデータ・トランザクションを一時的に再書き込みすることができ、データ・トランザクションが最終的に再書き込みされる前に、元の不連続書き込みトランザクションを上書きすることができる。
【００２３】
さらに別の一実施形態では、磁気テープ・ドライブはさらに、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に磁気テープから読み取るための、複数の読み取りヘッドを含み、コントローラはさらに、読み取りデータ・システムを選択的に操作して、複数の読み取りヘッドの１組を用いてラップの１つを一度に読み取り、また読み取りデータ・システムを選択的に操作して、複数の読み取りヘッドを用いて複数のラップを一度に読み取る。
【００２４】
本発明をより十分に理解するために、以下の詳細な説明を添付の図面と併せて参照されたい。
【発明を実施するための最良の形態】
【００２５】
本発明を、その好ましい実施形態によって、以下の説明において図面を参照しながら説明する。図面において、同じ番号は同じまたは類似の要素を表す。本発明は、本発明の目的を達成するのに最適な態様によって説明されるが、本発明の精神または範囲から逸脱することなく、本明細書の教示を参考にして本発明に変形を施すことができることは、当業者には理解されよう。
【００２６】
図１を参照すると、本発明を実施することができるテープ・ドライブ１０が示されている。テープ・ドライブは、磁気テープ・カートリッジ１１に対して、情報の読み取りおよび書き込み手段を提供する。ＬＴＯ（リニア・テープ・オープン（Linear Tape Open））形式に従うものなど、カートリッジおよび関連テープ・ドライブについて説明する。シングル・リール・テープ・ドライブの一例は、ＬＴＯ技術に基づいたＩＢＭ３５８０  Ｕｌｔｒｉｕｍ磁気テープ・ドライブである。シングル・リール・テープ・ドライブおよびカートリッジの別の例は、１９９５年７月１１日に発行されたコモー（Comeaux）他の米国特許第５４３２６５２号で説明されているものである。シングル・リール・テープ・ドライブの別の例は、ＩＢＭ３５９０  Ｍａｇｓｔａｒ磁気テープ・ドライブおよび関連磁気テープ・カートリッジである。デュアル・リール・カートリッジの一例は、ＩＢＭ３５７０磁気テープ・カートリッジおよび関連ドライブである。
【００２７】
当業者であれば分かるように、磁気テープ・カートリッジ１１は、１つまたは２つのリール１５、１６に巻き付けられたある長さの磁気テープ１４を含む。また当業者であれば分かるように、テープ・ドライブ１０は、インターフェース２１で受信されたホスト・システム２０からのコマンドに従って磁気ドライブを操作するための、１つまたは複数のコントローラ１８を含む。テープ・ドライブは、独立型ユニットから成ることができ、あるいはテープ・ライブラリまたはその他のサブシステムの一部から成ることもできる。テープ・ドライブ１０は、ホスト・システム２０に直接結合することができ、あるいはライブラリまたはネットワークを介して結合することもでき、ＳＣＳＩ（小型コンピュータ・システム・インターフェース）、ファイバ・チャネル・インターフェースなどを利用することができる。
【００２８】
磁気テープ・カートリッジ１１をテープ・ドライブ１０に挿入し、テープ・ドライブによってロードすることができ、テープが１つまたは複数のモータ２５によってテープ長手方向に動かされているときに、１つまたは複数のテープ・ヘッド２３が、磁気テープ１４に対する情報の読み取りまたは書き込み、あるいはその両方を行う。磁気テープは、複数の平行なトラック、またはトラック群を含む。上記のＬＴＯ形式などいくつかの形式では、トラックは、当業者に周知なように、独立したのラップの前後に蛇行するパターンに配列される。また当業者に周知なように、ラップ・コントロール・システム２７は、読み取りまたは書き込みヘッドあるいは読み書きヘッドの別の１組に電子的に切り換わり、またはヘッドを所望の１ラップまたは複数ラップに位置付けるため、読み取りまたは書き込みヘッドあるいは読み書きヘッド２３を磁気テープに対して横方向にシークおよび移動させ、あるいはその両方を行い、いくつかの実施形態では、トラックは所望の１ラップまたは複数ラップの後に続く。ラップ・コントロール・システムはまた、コントローラ１８による命令に応答して、モータ・ドライバ２８を介してモータ２５の動作を制御することができる。
【００２９】
コントローラ１８はまた、本発明によれば、複数の独立したデータ・フロー出力１２５、１２６を有するバッファ３０を利用し、また複数の記録チャネル１３２、１３３を有する記録システムと、複数の読み取りチャネルを有する読み取りデータ・システム１３４を利用して、磁気テープから読み取られるデータおよび磁気テープに書き込まれるデータのデータ・フローおよびフォーマッティングを提供する。「記録チャネル」および「読み取りチャネル」という用語は、本明細書では、並列に書き込むデータを１組の書き込みヘッドに提供するチャネル、また並列に読み取るデータを１組の読み取りヘッドから読み取るチャネルをそれぞれ表すのに利用される。複数の記録チャネル回路およびロジック、ならびに読み取りチャネル回路およびロジックは、記録チャネルおよび読み取りチャネルをそれぞれ含む。
【００３０】
上で説明したように、磁気テープは、データを保管、またはデータを自動データ・ストレージ・ライブラリのストレージ・シェルフに保存して必要なときにアクセスできるように、データを物理的に保存する手段を提供する。テープ・ドライブは、データが永続性を提供するように正しく書き込まれたことを保証するため、しばしば「リード・アフター・ライト」処理を利用する。この永続性によって、正しい、または少なくとも許容範囲をもったＥＣＣを用いて訂正可能なコピーが磁気テープに存在しているので、ホスト・システム２０のメモリやディスクに保存されたデータのコピーを削除することが可能である。
【００３１】
ホスト・システムの利用可能ストレージ空間は、比較的に高価であり、ストレージ空間はできるだけ早く解放したい。そのため、データは通常、ハードディスクなどの中間ステージング・バッファを経由してテープ・ドライブに転送される。また、ステージング・バッファもできるだけ早く解放し、上書きしたい。現在の例では、ステージング・バッファは、設けられているとすれば、ホスト・システム２０の一部を構成すると考えられる。
【００３２】
ステージング・バッファを解放するには、データが、バッファ３０などの揮発性ＤＲＡＭストレージだけでなく、磁気テープ１４にも実際に記録され、バッファまたはドライブの電源が落ちても、データは失われないことが保証される必要がある。したがって、データを「同期させ」、実際にデータが媒体、特に磁気テープ１４にコミットされるまで、書き込み型のコマンドの「コマンド完了」、あるいはコマンドが正常に実行された通知または実行される通知を返さないよう、テープ・ドライブに要求することがしばしば望ましい。データが磁気テープに書き込まれてしまえば、電源が落ちた場合、データはテープ・ドライブ・バッファの揮発性ＤＲＡＭストレージから回復できなくても、テープから回復することができる。
【００３３】
データを同期させる効果をもつ同期イベントの様々な例が当業者に知られている。同期イベントの一例は、イミディエイト・ビットが「０」に設定されたWrite Filemarkコマンドである。これは、ドライブは直ちに応答を返すのではなく、コマンドが完了した場合、つまりコマンドの一部として送られたデータがテープに書き出された場合に応答を返すことを意味する。WriteFilemarkコマンドの特殊なケースに、Number of Filemarksフィールドに「０」を設定するものがある。これは、Write Filemarkコマンドがそれ自体のデータをもたないことを意味し、このコマンドの唯一の目的は、コマンドに先行するすべてのデータが、コマンド完了が送られる前にテープに確実に書き込まれるようにすることである。別の例は、各レコードの同期を暗黙に要求するホスト選択バッファなし書き込みモード（hostselected non-buffered write mode）である。
【００３４】
図２を参照すると、データは一般に、データ・セット間、例えば、データ・セット３１と３２、３２と３３などの間にごく短いギャップ４０を置いて、磁気テープに連続的に記録される。これらのギャップは、当業者に周知なように、ブロック間ギャップ（Interblock Gap）（ＩＢＧ）パターンとして書き込むことができ、またはデータ・セット・セパレータ（ＤＳＳ）パターン４０を含むことができる。ギャップは、実際に記録されていない部分と記録されている部分を含むことができる。例えば、ＬＴＯ形式のＤＳＳは、データ・セット間にトーン・パターン（tonepattern）を含む。先に説明したように、テープに対する書き込みまたは読み取りは、図１のモータ２５がテープをテープ長手方向に動かしている間に行われる。データは一般に、公称間隔（nominalspacing）で書き込まれた、各々がＤＳＳを有するデータ・セット内に配列された一連のレコードから構成される。ごく稀に、通常はバッファが空になった場合に、テープは停止させられる。
【００３５】
しかし、データを同期させている場合、データを直ちにバッファからテープに書き込まなければならず、同期トランザクションがテープに書き込まれた後にだけ、そのトランザクションは、連続的なデータ・フローの対象にならないように、バッファから削除され、上書きされる。そのため、同期トランザクションは、同期イベント毎の独立したバーストとして、直ちに書き込まなければならない。その結果、図２の従来技術では、１つのデータ・セットを同期トランザクションとして書き込んだ後、データ・セット間に狭い間隔が確実にできるように、図１のコントローラ１８は一般に、サーボ・システムとモータ・ドライバを操作して、データ・セットの後でテープを停止させる。テープを停止させるには、一定の有限の距離と有限の時間が必要であり、テープはその後「バックヒッチ」され、先行データ・セットの終端を越えるまで逆進され、再び停止され、また元の方向に加速されて、ＤＳＳと次のデータ・セットを書き込むことができるように、最初のデータ・セットの終端に到達するまでに所定の速度を回復する。当業者であれば分かるように、バックヒッチ処理はかなりの時間を消費する。
【００３６】
先に説明したように、数多くの同期トランザクションを保存する場合、テープ・ドライブのスループットは劇的に低下する。
【００３７】
図２の例では、レコード５０〜５３を同期させる。１つのトランザクションは数百のレコードを含むことができるが、本明細書では説明の都合上、１レコードを含むトランザクションだけを説明する。１レコードまたはレコード群から成るトランザクションがデータ・セットの中間で終了している場合、そのデータ・セットの後続部分が空であることを通知するために、終了標識（End Marker）（ＥＭ）が書き込まれる。同期トランザクションはしばしば、サイズ的に複数のデータ・セットとなることもあるが、図２では説明の都合上、独立したデータ・セットであるとされ、データ・セット３１〜３４内にデータ・レコード５０〜５３が含まれる様子が示されている。したがって、従来技術の処理では、テープ・ドライブ１０は、（トランザクション・レコード５０を同期させるために）データ・セット３１を書き込んだ後、（矢印７１で示すように）バックヒッチを実行して、間に最小の大きさのＤＳＳパターンを置いてデータ・セット３２が書き込まれるようにテープを位置付ける必要がある。さらに、トランザクション・レコード５１を同期させるためにデータ・セット３２を書き込んだ後、バックヒッチ７２を実行して、データ・セット３３を書き込む。すべての同期データが書き込まれるまで、同様の処理が繰り返される。
【００３８】
図３には、本明細書で参照される米国出願第１０／０５８１０１号の「再帰的蓄積バックヒッチレス・フラッシュ」または「ＲＡＢＦ」方式が示されており、この方式は、テープを停止させず、場合によってはトランザクション間にギャップを残さずに、同期データ・トランザクションを磁気テープに書き込むことによって問題を解決しており、同期トランザクションをバッファに蓄積し、その後、蓄積トランザクションをバッファから磁気テープに連続的に再書き込みする。この方式は、同期データのためのバックヒッチの回数を減少させる。
【００３９】
一例では、コントローラは、バッファに保存された図３の同期受信トランザクション・レコード５０を検出し、検出した同期トランザクション・レコード５０をＥＭ６０と共に、データ・セット８０として、バッファから磁気テープに書き込み、無記録ギャップまたは書き込まれたセパレータ信号９０（例えば、ＤＳＳ）あるいはその両方を含む細長いギャップを、書き込まれた同期トランザクション・レコード５０（データ・セット８０）の後に続く磁気テープに残し、セパレータ信号９０を含むまたは含まないそのギャップを、後続の受信同期トランザクション５１（データ・セット８１）が、セパレータ信号の後の部分の磁気テープに書き込まれるまで継続させ、同期受信トランザクション（例えば、レコード５１）の検出を繰り返し、検出した同期トランザクションを（データ・セット８１として）書き込み、後続の検出同期受信トランザクションのためにセパレータ信号（例えば、セパレータ信号９１）などのギャップを書き込み、その結果、繰り返される書き込みの間、テープは停止することなく、テープ長手方向に動き続ける。したがって、バックヒッチは発生せず、テープ・ドライブは、テープを停止させることなく、同期トランザクションを書き込み続ける。
【００４０】
４つの同期トランザクション・レコード５０〜５３が示された図３の例を完結させると、次の同期受信トランザクション５２が検出され、データ・セット８２として書き込まれ、一般にはギャップ・セパレータ信号（例えば、セパレータ信号９２）が、次の検出同期受信トランザクション５３がデータ・セット８３として書き込まれるまでの間隔の一部または全部に書き込まれる。
【００４１】
したがって、バックヒッチは必要とされず、すべての同期データを書き込む処理を完了するための処理時間が大幅に節約される。
【００４２】
次に、やはり図３に示される別の例では、同期データを独立したラップに再帰書き込みすることによって、磁気テープ上の空白部が減らされる。電源が落ちた場合に同期トランザクション５０〜５３を保護するため、データ・セット８０〜８３は、トランザクションの作業用コピーであると見なされる。トランザクションが再帰的に書き込まれた後、作業用コピーは廃棄され、上書きすることができる。
【００４３】
最初、コントローラは、磁気テープに書き込まれる同期トランザクションのパターンを検出する。パターンは、所定の数の、ただし一定の長さより短い、連続する同期トランザクションを含むことができる。一例として、パターンは、２つ連続する同期トランザクションを含み、その各々の長さは一定数のデータ・セットより短い。先に説明したように、標準的な同期トランザクションはテープに書き込まれ、そのトランザクションは、テープに書き込まれており電源が落ちても失われない保証があるので、ホスト・システムから削除される。
【００４４】
コントローラは、レコード５０〜５３として示される、検出パターンの各検出同期トランザクションを、バッファから磁気テープに、例えば、上記のデータ・セット８０〜８３として書き込む。検出パターンに先行する同期トランザクションは、当該パターンが検出される前に、上で説明した方式ですでに書き込まれており、考慮しないですますことができる。したがって、図３では、先行同期トランザクションは先行データ９９を含むことができる。当該検出パターンの各同期トランザクションをバッファから磁気テープに書き込む際、コントローラは、同期トランザクションをバッファ内に蓄積し、その後、蓄積トランザクションを、例えば、データ・セット１００、１０１として示される順序で、バッファから磁気テープに連続的に再帰的に書き込む。再帰的書き込みは、再帰的に書き込まれる蓄積トランザクションを先行データ９９の後に公称ギャップをもたせて位置付けるため、バックヒッチを含むことができる。
【００４５】
したがって、同期トランザクション５０〜５３は、直ちに磁気テープに書き込まれ、バッファの電源が落ちても、データ・セット８０〜８３内の作業用コピーとして保護され、一方、同期トランザクション５０〜５３は、バッファにも蓄積されており、データ・セット１００、１０１として、先行データ９９の後に直ちに続けて、空白部を減らして再帰的に書き込まれる。トランザクションが再帰的に書き込まれた後、すなわち、データが再書き込みされた後、作業用コピー８０〜８３は上書きすることができる。
【００４６】
蓄積同期データが再帰的に書き込まれる点は、同期的に書き込まれるトランザクションのパターンの終端を含むことができ、データ・レコードを蓄積するバッファの容量限界など所定の閾値を含むことができ、または作業用コピー８０〜８３とそれらのセパレータ信号９０〜９２用の作業空間の容量限界を含むことができる。
【００４７】
先に説明したように、トランザクション・サイズが大きい場合、バッファは比較的早く蓄積トランザクションで満杯になり、トランザクションの再帰的書き込みが強制的に行われ、再帰的書き込み中は追加のデータの受け入れは控えられる。その結果、非ＲＡＢＦの性能がＲＡＢＦ記録の性能に接近する。
【００４８】
図４には、磁気テープ１４が示されており、磁気テープ１４は、磁気テープ上に横方向に配置された、複数の独立したテープ長手方向のサーボ・バンド１１１、１１２、１１３、１１４と、サーボ・バンドの間に配置されたデータ・トラックを有する。テープ・ヘッド２３は、数本の平行なデータ・トラックに対してデータの読み取りまたは書込みあるいはその両方を行う、数個の独立にアクセス可能なデータ読み取りまたは書き込みヘッドあるいは読み書きヘッド１１７を含み、またテープ・ヘッド２３には、サーボ・トラックを追跡して、データ読み取りまたは書き込みヘッドあるいはその両方をデータ・トラックまたはトラック群に沿ってガイドできるように、データ読み取りまたは書き込みヘッドあるいは読み書きヘッド１１７からずらして配置された、独立したサーボ・ヘッドまたは複数のサーボ・ヘッド１２０、１２１が設けられている。
【００４９】
図５には、米国特許第５６８９３８４号に記載されているようなタイミング・ベースのサーボ・パターンを含む、従来技術のサーボ・バンドの一タイプが示されている。このサーボ・バンドは、サーボ・バンドを幅方向に横断する２以上の方位角の向きに記録され、それ故、互いに非平行な遷移パターンを含む。横位置は、２つのサーボ・パターン間隔の比率として決定され、一方のパターン間隔は、別々のパターンにおける２つのバースト１４０のような平行な遷移を利用し、他方のパターン間隔は、互いに平行であるが、バースト１４０とバースト１４１の間のように、遷移の第１のバーストとは非平行な遷移を利用する。各サーボ・バンドは、単一のサーボ・バンド毎にインデクスで定められる６つの別々のサーボ位置１６０、１６１、１６２、１６３、１６４、１６５など、インデクスで定められる複数のサーボ位置を有することができる。代替タイプのサーボ・バンドも当業者には知られており、本発明は、他のサーボ・バンドに対しても同様に実施することができる。
【００５０】
図４を参照すると、データ読み取りまたは書き込みヘッドあるいは読み書きヘッド１１７は一般に、様々なデータ・トラックまたはデータ・トラック群の間で共用され、トラックまたはトラック群の間をテープの横方向に動かされる。サーボ・バンド１１１、１１２、１１３、１１４の各々は、データ・トラック群にサーボ誘導（servo guidance）を提供し、テープ・ヘッドのサーボ・ヘッド１２０、１２１は、データ読み取りまたは書き込みヘッドあるいは読み書きヘッド１１７が異なるデータ・トラックにアクセスするように、様々なインデクス位置でサーボ・バンド内に横方向に再位置づけされ、さらに別のデータ・トラックにアクセスするために、別のサーボ・バンドに横方向に再位置づけされる。一例では、サーボ・バンドは、データ・トラックを間に挟むように間隔を置いて配置され、データ・トラックはサーボ・バンドの間に配置される。これによって、サーボ・バンドは対応するデータ・トラックの近くに配置されて、外側の読み取りまたは書き込み素子あるいは読み書き素子とサーボ・バンドの間の距離を短くし、時間データの書き込みと読み戻しの間のテープ幅の変化に対する感度を低下させる。サーボ制御の正確性を保証するため、テープ・ヘッドの両端にデータ読み取りまたは書き込みヘッドあるいは読み書きヘッドを挟むように、２つのサーボ変換器（servotransducer）１２０、１２１を設けることができる。横方向の位置決めは、２つのサーボ・バンドのいずれかから、あるいは２つのサーボ・バンドのデータを平均し、またはその他の方法で比較することによって取得することができる。
【００５１】
図１および図４を参照すると、本発明によれば、コントローラ１８は、１組の書き込みヘッド１１７を選択し、バッファ３０の１つまたは複数の選択された独立したデータ・フロー出力１２５、１２６から、例えば、選択された記録チャネル１３２、１３３を介して、選択された１組の書き込みヘッド１１７にデータを供給することができる。書き込みヘッドを選択する能力は、当技術分野において周知であり、例えば、書き込みヘッドの１つの組をテープが一方の方向に動いているときに使用し、書き込みヘッドの異なる組を反対方向のときに使用するようにするために利用される。読み取りヘッドについても同様である。しかし、本発明によれば、ヘッドの独立した組は、テープが同一方向に動いているときに、おそらくは同時に、データを書き込むために選択される。代替的に、記録チャネル１３２、１３３は、所定の書き込みヘッドにデータを提供するように構成された回路を含むことができ、したがって、記録チャネルは、１組の書き込みヘッド１１７を選択するために選択される。
【００５２】
これには、異なるラップのデータを同時に書き込めるようにする効果がある。例えば、書き込みヘッドの数が、従来技術のテープ・ドライブの書き込みヘッドの倍である場合、２つのラップをテープ・ヘッドの書き込みヘッドによって同時に書き込めるように、書き込みヘッドを構成することができる。読み取り／書き込み同時実行機能（read-while-write functionality）を必要とする読み取りヘッドについても同様である。ラップがヘッドのより少ないテープ・ヘッドのラップと互換性をもつように、ヘッド１１７の間隔、およびラップ・コントロール２７の操作を構成できることは、当業者には理解されよう。
【００５３】
バッファ３０は、別々のデータ・フロー出力１２５、１２６を有する単一のバッファから構成することができ、別々のデータ・フロー出力は、例えば、タイム・スライス多重化され、または別々にアクセスされ、バッファの独立したセグメントをアドレスする。代替的に、バッファ３０は、異なる目的で利用される複数のバッファから構成することができる。
【００５４】
コントローラ１８は、プログラム・コードの制御下で動作する少なくとも１つのプログラム可能コンピュータ・プロセッサを含むことができる。プログラム可能コンピュータ・プロセッサは、当技術分野で周知の任意のプロセッサまたはマイクロプロセッサ装置を含むことができる。本発明の方法は、包含されるコンピュータ可読プログラム・コードを有する、プログラム可能コンピュータ・プロセッサと共に使用可能なコンピュータ・プログラム製品の形態で提供することができ、当業者に周知の様々な方法のいずれかで、プログラム可能コンピュータ・プロセッサに供給することができる。代替的に、コントローラ１８は、ディスクリート・ロジック、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）などから構成することができる。
【００５５】
図１、図４、図６、図７、および図８を参照すると、本発明によれば、磁気テープ・ドライブ１０は、書き込みヘッド１１７の独立した１組によって、データを磁気テープ１４に書き込ませるように操作され、同じ操作中に、書き込みヘッド１１７の別の独立した１組によって、データを磁気テープに再書き込みさせるように操作される。書き込みは並列に行ってよく、同時に行ってもよい。
【００５６】
このようにして、ホスト・システム２０から供給され、磁気テープ１４に書き込まれるデータは、インターフェース２１を介してバッファ３０に供給される。バッファからテープにデータを直ちに書き込まなければならず、同期トランザクションがテープに書き込まれた後に初めて、ローカルに保存されたデータのコピーをホスト・システムが上書きできるようにするデータ同期が指示された場合、同期イベント毎に独立したバーストで、同期トランザクションを直ちに磁気テープ１４に書き込まなければならない。
【００５７】
本発明の一実施形態では、コントローラ１８は、バッファ３０と、バッファの出力からデータを供給する記録システム１３２、１３３を操作して、複数の書き込みヘッドの独立した１組によって、供給データを磁気テープのトラックに書き込ませる。したがって、データは磁気テープ１４に直ちに書き込まれ、同期トランザクションの形態をとる場合、データ・トランザクションは、バッファから磁気テープのトラックに不連続に書き込まれる。別の実施形態では、コントローラ１８はさらに記録システムを操作して、複数の書き込みヘッドの独立した１組によって、不連続に書き込まれたデータ・トランザクションの間にセパレータ信号を書き込ませる。別の実施形態では、コントローラ１８はさらに、同期データ・トランザクション毎に、同期トランザクションの磁気テープ・トラックへの不連続な方式による書き込みが完了した時点で、インターフェース２１にコマンド完了を返す。
【００５８】
図６の例では、磁気テープ・ドライブは、テープを停止させず、ラップの１つ１７０の上の磁気テープにトランザクションを書き込む。例えば、バッファ３０から供給されるトランザクション１７５を磁気テープに書き込み、無記録ギャップまたは書き込まれたセパレータ信号１８０（例えば、ＤＳＳ）あるいはその両方を含む細長いギャップを、書き込まれた同期トランザクション・レコード１７５の後に続けて残し、セパレータ信号１８０を含むまたは含まないそのギャップを、後続の受信同期トランザクション１７６が、ギャップまたはセパレータ信号の後の部分の磁気テープに書き込まれるまで継続させる。したがって、データは、例えば、「バックヒッチレス・フラッシュ」または「ＢＦ」型の操作で、磁気テープ１４に直ちに書き込まれる。
【００５９】
コントローラ１８は、供給データをバッファ３０に退避する。一例では、データは、バッファ内の最初に書き込まれたロケーションに残っており、そのアドレスのデータは、後続のデータによって上書きされないよう保護される。別の一例では、データは、退避データ用に指定されたバッファ内の別のアドレスに動かされ、上書きされることはない。また別の例では、バッファ３０は複数のバッファから構成され、データは、磁気テープに書き込まれるときに、第１のバッファから退避データ用の第２のバッファに転送される。
【００６０】
したがって、データが磁気テープ・ドライブ１０に供給されるとき、データは磁気テープに書き込まれ、バッファ３０に退避される。
【００６１】
同じ操作中に、コントローラは、バッファ３０と、バッファ３０から退避データを供給する記録システムを操作して、複数の書き込みヘッドの別の独立した１組によって、退避データを磁気テープの別のトラックに連続的配列で再書き込みさせる。図６の例では、ＢＦラップ１７０に書き込まれ、退避されたトランザクション１７４は、再書き込みラップ１９０に書き込まれる。トランザクションは、ＢＦラップの長いギャップなしに再書き込みされ、そのため、トランザクションを読み取る時間は短くなる。つまり、同じ操作中に、書き込みヘッドの個々の組が、一方は磁気テープにデータを書き込み、他方は磁気テープに退避データを再書き込みし、おそらくは、書き込みヘッドの個々の組によって同時に書き込みが行われる。
【００６２】
図１のホスト・システム２０からの同期トランザクションの間には一般に、トランザクション間の長いギャップ１８０を生じさせる待機時間が存在するので、ホスト・システムから新しいデータを受信するよりも早く、再書き込みラップにデータが再書き込みされると、バッファ３０はより速く空になる。
【００６３】
したがって、再書き込みは、ＢＦ書き込みを行っている時間の一部で行われる。その結果、再書き込みは、十分なデータが退避されるまで、実行開始を待機することができる。そうであっても、バッファからは再書き込みするデータがなくなりがちである。この時点で、再書き込みは停止する。新しいデータ・トランザクションは、ＢＦラップに書き込み続けることができる。代替的または追加的に、新しいデータ・トランザクションが再書き込みされたＢＦデータ・トランザクションを上書きできるように、ＢＦラップの先の位置までバックヒッチすることができる。
【００６４】
再書き込みを開始するのに十分なデータがＢＦラップに書き込まれ、退避された後、先行再書き込みトランザクションの末尾まで、バックヒッチまたは前進することができ、退避されているが再書き込みされていない次のデータを、再書き込みラップに再書き込みする。ＢＦラップに書き込まれているが再書き込みされていないデータ・トランザクションは、これから説明するように、一時的に別の場所に書き込まないかぎり、上書きすることができない。したがって、そのようなデータ・トランザクションに出会った場合、そのデータ・トランザクションを再書き込みするまで、ＢＦ書き込みを停止させなければならない。
【００６５】
図６の例では、データ・トランザクション１７４を再書き込みしたときに、バッファから再書き込みするデータがなくなる。ＢＦトランザクション１７５は、ＢＦラップ１７０に書き込まれており、システムが、バッファ内により多くの、例えば、バッファ容量の半分の再書き込みデータが蓄積されるのを待機している間、ＢＦ書き込みは、上で説明したように、トランザクション１７６をＢＦラップに書き込み続けることができる。代替的な一例では、トランザクション１７５、１７６などをＢＦラップに書き込み、退避した後、また再書き込みを開始するのに十分なデータが退避された後、バックヒッチ１９１を行うことができる。バックヒッチ１９１では、テープは、最後に再書き込みされたトランザクション１７４まで動かされる。しかし、ＢＦラップ１７０のトランザクション１７５、１７６などはまだ再書き込みされておらず、上書きすることができないので、ＢＦ書き込みは停止させなければならない。代替的に、それらのトランザクションを、これから説明するように、一時的に別の場所に書き込んで、最初のコピーを上書きできるようにすることもできる。その場合、退避トランザクション１７５’、１７６’などは、トランザクション１７４に続けて、再書き込みラップ１９０に再書き込みされ、見かけ上、再書き込みラップで、バックヒッチ１９２が行われたように見える。退避データ・トランザクション１７５’、１７６’などを、磁気テープの再書き込みラップ１９０に再書き込みした後、退避され、再書き込みされたＢＦラップ１７０のデータは、ラップ１７０’としてその後の状態に示すように、上書きすることができる。したがって、バックヒッチの後、新しいデータのＢＦラップ１７０’への書き込みを再開することができ、データは再び、バックヒッチレス・フラッシュ型の操作で磁気テープ１４に直ちに書き込まれる。代替的に、再書き込みするデータがバッファからなくなった場合、データ・トランザクションがすでに再書き込みされたＢＦラップ１７０’の先の位置まで戻るバックヒッチ１９３を行うことができ、データを上書きすることができるようになる。その後、ＢＦ書き込みは、上で説明したように、ＢＦラップのトランザクション１８５までのトランザクションを、ＢＦラップに書き込み続けることができる。再書き込みを開始するのに十分なデータが退避された場合、テープは、最後に再書き込みを行ったトランザクション１７４の末尾まで前方に動かされる。まだ再書き込みされていないＢＦラップ１７０のトランザクション１７５、１７６に出会った場合、トランザクション１７５、１７６などは、まだ再書き込みされておらず、上書きすることができないので、ＢＦ書き込みを停止させなければならない。代替的に、それらのトランザクションを、一時的に別の場所に再書き込みして、上書きできるようにする。テープは、最後に再書き込みを行ったトランザクション１７４の末尾まで前方に動かされる。その後、退避トランザクション１７５’、１７６’などは、トランザクション１７４に続けて、再書き込みラップ１９０に再書き込みされ、見かけ上、再書き込みラップで、バックヒッチ１９２が行われたように見える。退避データ・トランザクション１７５’、１７６’などを、磁気テープの再書き込みラップ１９０に再書き込みした後、退避され、再書き込みされたＢＦラップ１７０のデータは、上書きすることができる。図１のバッファ３０に退避されたデータも、上書きすることができる。したがって、新しいデータのＢＦラップ１７０’への書き込みを再開することができ、データは再び、バックヒッチレス・フラッシュ型の操作で磁気テープ１４に直ちに書き込まれる。
【００６６】
図６の実施形態の構成の性能は、まだ再書き込みされていないデータの上書きを防止する要件によって制限される。
【００６７】
図７をさらに参照する代替的な一例では、データ・トランザクション１７５、１７６など、図１のバッファ３０に蓄積された際に退避され、図６のラップ１７０に不連続に書き込まれたデータを、データ・トランザクションの不連続書き込みがまだ潜在的に継続している間、一時的に再書き込みする。図７の例では、データ・トランザクション１７５”、１７６”を、最後に再書き込みされたデータ・トランザクション１７４のロケーションからある距離だけ離れたラップ１９０’上の位置に一時的に再書き込みする。適当な時に、バックヒッチ１９１によって、あるいは不連続データ・トランザクションまたは一時的に再書き込みされたトランザクションあるいはその両方を別のラップに逆方向に書き込むことによって、最終的に記録システムは、データ・トランザクション１７５’、１７６’をラップ１９０に再書き込みし、同時に、元の不連続データ・トランザクション１７５、１７６を上書きする、新しい不連続データ・トランザクションのラップ１７０への書き込みを開始できるようになる。
【００６８】
図８には、再書き込みされていないデータの上書きを延期する必要をなくすため、異なるＢＦラップへのシークを利用する、代替的な構成が示されている。
【００６９】
図８の例では、トランザクション２０２、２０３を含むデータ・トランザクションは、ＢＦラップ１９８に書き込まれ、退避され、トランザクション２００、２０１、２０２’を含む退避されたデータ・トランザクションは、再書き込みラップ１９９に書き込まれる。この例では、データ・トランザクション２０２’の再書き込み中に、バッファからデータがなくなる。代替ＢＦラップ２１１へのシーク２１０が行われる。シークは直接的であることができ、またはテープの前進または後退を伴うこともできる。
【００７０】
シークを行うことによって、再書き込みされていない退避ＢＦトランザクション２０３をラップ１９８上に維持しながら、ＢＦトランザクションの書き込みを代替ラップ２１１で続けることができる。例えば、トランザクション２１２を含むＢＦトランザクションは、代替ラップ２１１に書き込まれる。再書き込みを開始するのに十分なデータが退避されたとき、再書き込みラップ１９９へのシーク２１６が行われ、テープは最後に再書き込みされたトランザクション２０２’の末尾まで動かされる。その後、トランザクション２０３’を含む退避トランザクションが、再書き込みラップ１９９に再書き込みされて、トランザクション２０２’に続けて追加され、見かけ上、再書き込みラップで、バックヒッチ２１７が行われたように見える。ＢＦラップ１９８’として指示するその後の状態に示すように、新しいデータのＢＦラップ１９８への書き込みを再開することができる。再開された書き込みは、例えば、ＢＦデータ・トランザクション２１３から開始し、データは再び、バックヒッチレス・フラッシュ型の操作で磁気テープ１４に直ちに書き込まれる。
【００７１】
再書き込みラップに再書き込みされるデータがなくなったバッファの次の要請に応じて、テープを、データ・トランザクションが再書き込みされたＢＦラップ１９８’の先の位置までバックヒッチなどにより動かすことができ、再書き込みされておらず、上書きできないデータ・トランザクションに出会う点まで、データを上書きすることができる。代替的に、図６および図７に関して説明したように、ＢＦ書き込みを、ＢＦラップ１９８’で、そのラップのテープ終端まで、または再書き込みされておらず、上書きできないデータ・トランザクションに出会うまで、前向きに続けることができる。さらなる代替として、図８の代替ＢＦラップ２１１へのシークを、そのラップのテープ終端まで、または再書き込みされておらず、上書きできないデータ・トランザクションに出会うまで、再び行うことができる。
【００７２】
したがって、必ずではないものの、別のトラックへのシーク２１０を１回行うことで、再書き込みが終ったテープ長手方向の位置までＢＦ書き込みを戻すことができ、性能が向上する。シークを行うことによって、ＢＦ書き込みを代替ラップ２１１で直ちに再開することができる。シーク・バック２１６を行うことで、再書き込みを元の再書き込みラップ１９９で続けることができ、ＢＦ書き込みを最初のラップ１９８’に戻って再び直ちに再開することができる。
【００７３】
代替的に、ＢＦ書き込みをＢＦラップ１９８で続けることができ、蓄積された退避データ・トランザクションを後で一時的にラップ１９９に再書き込みすることができ、または後でラップ２１１に関連するラップに再書き込みすることができる。その後、データ・トランザクション２０２’、２０３’などの最終的な再書き込みによって、元の不連続データ・トランザクションを直ちに上書きすることができる。
【００７４】
ＢＦラップおよび再書き込みラップは、代替的な構成で提供することもできる。図９および図１０の例では、ＢＦラップは、再書き込みラップのように割り当てられる。したがって、データは、図１のバッファ３０から、一連のラップ中のラップの１つに書き込まれ、退避データは、前記ラップの１つから離れた位置の別のラップに再書き込みされる。
【００７５】
図９は、退避データを再書き込みラップ２４０に再書き込みする「パス１」を表している。ラップ２４１、２４２、２４３は、その他の再書き込みラップを表す。同じ操作中に、受信データが、ＢＦ書き込みラップ２４５に書き込まれる。ラップ２４６、２４７、２４８は、テープ書き込みヘッドの個々の組がＢＦ書き込みラップと再書き込みラップに同時に書き込みが行えるように、再書き込みラップからずらして配置された、その他のＢＦ書き込みラップを表す。上で説明したような代替ＢＦラップが利用される場合、代替ＢＦラップは、ＢＦラップ２４５、２４６、２４７、２４８の１つから成る。「パス１」の例では、ＢＦ書き込みラップ２４６が、代替ＢＦラップである。
【００７６】
図１０は、退避データを再書き込みラップに再書き込みする「パス２」を表しており、再書き込みラップ２４１が示されている。この例では、ラップ２４０は、すでに退避データで再書き込みされている。同じ操作中に、受信データが、テープ書き込みヘッドの個々の組がＢＦ書き込みラップ２４６と再書き込みラップ２４１に同時に書き込みが行えるように、再書き込みラップ２４１からずらして配置された、ＢＦ書き込みラップ２４６に書き込まれる。上で説明したような代替ＢＦラップが利用される場合、代替ＢＦラップは、ＢＦラップ２４５、２４６、２４７、２４８の１つから成る。「パス２」の例では、ＢＦ書き込みラップ２４７または２４８が、代替ＢＦラップになり得る。
【００７７】
ラップ・オフセットは、テープ書き込みヘッドの個々の組に関するテープ書き込みヘッド・オフセットで、別々のＢＦラップと再書き込みラップが利用可能なように設定され、書き込みヘッドの個々の組が各インデクス位置で２つのラップに書き込みを行う図５のインデクス位置を含むことができ、または他の適切なオフセット構成を含む。図４および図５を参照すると、図５の構成では、代替書き込みヘッド１１７を２つのラップのために選択することができ、またはテープ・ヘッド２３の反対側の書き込みヘッド１１７を２つのラップのために選択することができる。ヘッドの隣接した対を各ラップのために選択するなど、その他の構成を代替的に利用することもできる。
【００７８】
さらなる一実施形態では、図１のコントローラ１８は、バッファ３０とバッファからデータを供給する記録システムを選択的に操作して、図４の複数の書き込みヘッド１１７の独立した１組によって、供給データを磁気テープのトラックに書き込ませ、供給データを退避し、同じ操作中に、図１のバッファ３０とバッファから退避データを供給する記録システムを操作して、複数の書き込みヘッドの別の独立した１組によって、退避された供給データを、例えば、図６、図７、図８、図９、図１０によって示される磁気テープの別のトラックに書き込みさせ、また図１のバッファ３０とバッファからデータを供給する記録システムを選択的に操作して、図９および図１０に示すのと同様の書き込みヘッドのパターンをもち、図１１の「フル・ヘッド（full head）」データによって示される書き込みヘッドの最大ですべての組から成る、図４の複数の書き込みヘッド１１７によって、供給データを磁気テープのトラックに書き込ませる。したがって、同期データが存在しない場合、またはデータを磁気テープに書き込み、そのデータを退避し、そのデータを後でテープに再書き込みする必要がない場合、すべてのヘッドを選択的に利用して、例えば、図１１のラップ２５０とラップ２５１に並列に書き込みを行うことができる。データが同期データのパターンを含む場合、コントローラは、図９および図１０のＢＦラップ２４５へのデータの書込みと、再書き込みラップ２４０への退避データの再書込みとを選択的に行う。選択は、データ・トランザクションのパターンに基づいて行うことができ、またはおそらくはテープ・カートリッジに提供されるデータに基づいて行うことができる。したがって、ホスト・システムまたはオペレータは、図１の磁気テープ・カートリッジ１１に書き込むデータが同期データであるか、あるいは同期データでないかを指示することができ、コントローラ１８は、しかるべく書き込みヘッドを選択して、図９のパターンを書き込み、あるいは図１１のパターンを書き込むことができる。
【００７９】
さらに別の一実施形態では、磁気テープ・ドライブはさらに、磁気テープが複数の読み取りヘッドに対して長手方向に動かされている間に磁気テープから読み取るための、図４の複数の読み取りヘッド１１７を含み、コントローラはさらに、図１の読み取りデータ・システム１３４を選択的に操作して、データが、例えば、図９および図１０のパターンで示されるような再書き込みデータとして書き込まれるときに、複数の読み取りヘッドの１組を用いてラップの１つを一度に読み取り、また読み取りデータ・システムを選択的に操作して、データが、例えば、図１１のパターンで示されるようなフル書き込みデータ（full write data）として書き込まれるときに、複数の読み取りヘッドを用いて複数のラップを一度に読み取る。データがフル書き込みデータと再書き込みデータのどちらの形態をとるかについての指示は、テープ開始部分のインデクスまたは類似の情報によって与えることができる。
【００８０】
図１２および図１３には、データ書き込みおよび退避データ再書き込みのためのラップ使用の代替構成が示されている。さらに別の一実施形態では、ラップを順番にアクセスして、退避データを有するラップが、データが再書き込みされるラップにその順番で続くようにし、その結果、連続する一連のラップは、最初は退避データで書き込みが行われ、次に再書き込みデータで上書きが行われる。
【００８１】
図１２は、退避データを再書き込みラップ２７０に再書き込みする「パス１」を表している。ラップ２７１は、同じ操作中に、受信データが書き込まれるＢＦラップから成る。「パス１」の例では、ラップ２７２が、代替ＢＦラップである。
【００８２】
図１３は、退避データを再書き込みラップに再書き込みする「パス２」を表しており、先のＢＦラップ２７１が上書きされて再書き込みラップ２７１’になった様子が示されている。この例では、今度はラップ２７２’がＢＦ書き込みラップになる。上で説明したような代替ＢＦラップが利用される場合、代替ＢＦラップは、ラップ２７３など、残りのまだ書き込まれていないラップの１つから成る。したがって、退避データを有するラップ２７２’は順番上、データが再書き込みされるラップ２７１’の次であり、その結果、連続する一連のラップは、最初は退避データでＢＦラップとして書き込みが行われ、次に再書き込みデータで上書きが行われる。
【００８３】
図１のコントローラ１８はさらに、図４の複数の読み取りヘッド１１７と、図１の読み取りデータ・システム１３４を操作して、図１３のラップ２７０’と２７１’の一方を読み取りヘッドの１組を用いて一度に読み取る。
【００８４】
図１４は、コンピュータで実施される本発明の方法の実施形態についてのフローチャートを含む。データは、ステップ３００で受信され、データをテープに書き込むことができるように、ステップ３０１でバッファに保存される。ステップ３０３で、コントローラは、書き込み操作が、複数組の書き込みヘッドを使用するマルチセット書き込み（multi-set write）か、あるいはフル・ヘッド書き込み（full head write）かを判断する。上で説明したようなフル・ヘッド書き込みである場合、ステップ３０５で、コントローラは、フル・ヘッド書き込みを選択し、図１のバッファ３０とバッファからデータを供給する記録システムを操作して、図１１の「フル・ヘッド」データ（"fullhead" data）によって示される書き込みヘッドの最大ですべての組から成る、図４の複数の書き込みヘッド１１７によって、供給データを磁気テープのトラックに書き込ませる。
【００８５】
ステップ３０３で、同期トランザクションなどのマルチセット書き込みが指示された場合、ステップ３０７で、図１のコントローラ１８は、バッファ３０とバッファからデータを供給する記録システムを選択的に操作して、図４の複数の書き込みヘッド１１７の独立した１組によって、供給データを磁気テープのトラックに書き込ませる。図１４のステップ３０９で、コントローラは、供給データを退避し、ステップ３１０によって示されるように、トランザクション全体が磁気テープに書き込まれ、また退避されるまで、トランザクションについての操作が続けられる。トランザクションが磁気テープに書き込まれ、また退避された後、ステップ３１１で、図１のコントローラ１８はさらに、同期データ・トランザクションの場合、同期トランザクションを磁気テープのトラックに不連続な方式で書き込み終えた時点で、コマンド完了をインターフェース２１に返す。図１４のステップ３１５で、コントローラは、無記録ギャップまたは書き込まれたセパレータ信号あるいはその両方を含む細長いギャップを、書き込まれた同期トランザクションの後に続けて磁気テープに残し、セパレータ信号を含むまたは含まないそのギャップを、後続の受信同期トランザクションが、ギャップまたはセパレータ信号の後の部分の磁気テープに書き込まれるまで継続させる。同じ操作中に、コントローラは、図１のバッファ３０とバッファから退避データを供給する記録システムを操作して、複数の書き込みヘッドの別の独立した１組によって、退避された供給データを磁気テープの別のトラックに書き込ませる。したがって、図１４のステップ３２０で、コントローラは、退避データを供給し再書き込みする一連の連続再書き込みトランザクションの開始を妥当とするのに十分なデータが退避されたかどうかを判断する。退避されていない場合、ステップ３２１で、少なくともあと１つトランザクションが退避されるまで待機するよう指示され、再び判断が繰り返される。この例では、判断は、例えば、トランザクション数あるいはバッファに退避されたデータ量またはバッファ容量に対する割合など、閾値に基づいて行われる。代替的に、カウントを維持することができ、カウントが上限に達したとき、カウンタがそのことを通知することができる。
【００８６】
ステップ３２０で、コントローラが再書き込みの準備ができた場合、コントローラは、ステップ３２２で、１組の書き込みヘッドを選択し、図１のバッファ３０の１つまたは複数の選択された独立したデータ・フロー出力１２５、１２６から、例えば、選択された記録チャネル１３２、１３３を介して、選択された１組の書き込みヘッド１１７にデータを供給して、退避データを再書き込みラップに再書き込みする。その後、図１４のステップ３２５で、コントローラは、バッファ内の退避トランザクションを解放して、そのデータを退避される新しいデータ・トランザクションによって上書きできるようにする。さらに、ステップ３２６で、コントローラは、ＢＦラップの同じトランザクションを解放して、そのデータをテープに書き込まれる新しいデータ・トランザクションによって上書きできるようにする。処理はステップ３２０に復帰して、まだ再書き込みできる状態にあるか、あるいは、例えば、再書き込みするデータがバッファからなくなったかを判断する。ステップ３２０は、先に説明したように、テープをＢＦラップ上の別の位置に動かすか、または代替ＢＦラップにシークするか、あるいはその両方を行うかについて、また再書き込みされるデータを退避し続けるかについて判断が行われる点でもある。
【００８７】
ステップ３３０では、初めに不連続に書き込まれ、またバッファに退避されたデータを一時的に再書き込みするかどうかの選択が提供される。データはテープ上のどこかに記録されるので、初めに不連続に書き込まれたデータを上書きすることができる。したがって、データが代替トラックに再書き込みされるとき、新しいデータを同時に不連続に書き込んで、初めに不連続に書き込まれたデータを上書きすることができる。
【００８８】
したがって、ステップ３３１は、データ・トランザクションの一時的再書き込みを含む。トランザクションは、一時的再書き込みのために、最終的に再書き込みされるトランザクションを再書き込みするためのロケーションに対して横方向にずれたその位置に基づいて選択される。データが一時的に再書き込みされたとき、ステップ３３２は初めに不連続に書き込まれたトランザクションを解放して、それを上書きできるようにする。
【００８９】
一時的に再書き込みされたデータ・トランザクションは、退避データ・トランザクションが、ステップ３２２で再書き込みラップに最終的に再書き込みされた後、ステップ３２６で最終的に解放される。
【００９０】
当業者であれば分かるように、図１の磁気テープ・ドライブおよび記録システムの図示の構成要素、および図４のテープ・ヘッドの構成は、変形、結合することができ、あるいは結合機能は分離することができる。当業者であれば分かるように、図１４に図示したステップは、その順番を変えることができ、省略することができ、あるいは他のステップを追加することができる。
【００９１】
本発明の好ましい実施形態について詳細に説明してきたが、添付の特許請求の範囲に記載の本発明の範囲から逸脱することなく、それらの実施形態に修正および改変を施し得ることは、当業者には理解されよう。
【図面の簡単な説明】
【００９２】
【図１】磁気テープ・カートリッジを装着した、本発明を実施する磁気テープ・ドライブのブロック図である。
【図２】バックヒッチを用いる従来技術の方法を利用して磁気テープに書き込まれた同期データの概略図である。
【図３】バックヒッチレス・フラッシュおよび再帰的書き込みを用いる従来技術の方法を利用して磁気テープに書き込まれた同期データの概略図である。
【図４】図１の磁気テープ・ドライブのテープ・ヘッドと、複数の独立したサーボ・バンドを備えるある長さの磁気テープの概略図である。
【図５】図４の磁気テープの従来技術のサーボ・バンドと、サーボ変換器がサーボ・バンドを追跡するときのサーボ変換器のインデクス位置の概略図である。
【図６】本発明に従って磁気テープに書き込まれたデータの概略図である。
【図７】本発明に従って磁気テープに書き込まれたデータの概略図である。
【図８】本発明に従って磁気テープに書き込まれたデータの代替構成の概略図である。
【図９】本発明に従ってデータが書き込まれたときの磁気テープのラップの概略図である。
【図１０】本発明に従ってデータが書き込まれたときの磁気テープのラップの概略図である。
【図１１】本発明の別の態様に従ってデータが書き込まれたときの磁気テープのラップの概略図である。
【図１２】本発明の別の実施形態に従ってデータが書き込まれたときの磁気テープのラップの概略図である。
【図１３】本発明の別の実施形態に従ってデータが書き込まれたときの磁気テープのラップの概略図である。
【図１４】本発明の実施形態を示したフローチャートである。
【符号の説明】
【００９３】
１０  テープ・ドライブ
１１  磁気テープ・カートリッジ
１４  磁気テープ
１５  リール
１６  リール
１８  コントローラ
２０  ホスト・システム
２１  インターフェース
２３  テープ・ヘッド
２５  モータ
２７  ラップ・コントロール・システム
２８  モータ・ドライバ
３０  バッファ
３１  データ・セット
３２  データ・セット
３３  データ・セット
３４  データ・セット
４０  ＤＳＳ
５０  同期トランザクション・レコード
５１  同期トランザクション・レコード
５２  同期トランザクション・レコード
５３  同期トランザクション・レコード
６０  ＥＭ
７１  バックヒッチ
７２  バックヒッチ
７３  バックヒッチ
８０  データ・セット／作業用コピー
８１  データ・セット／作業用コピー
８２  データ・セット／作業用コピー
８３  データ・セット／作業用コピー
９０  セパレータ信号
９１  セパレータ信号
９２  セパレータ信号
９９  先行データ
１００  データ・セット
１０１  データ・セット
１１１  サーボ・バンド
１１２  サーボ・バンド
１１３  サーボ・バンド
１１４  サーボ・バンド
１１７  データ読み取り／書き込みヘッド
１２０  サーボ・ヘッド
１２１  サーボ・ヘッド
１２５  データ・フロー出力
１２６  データ・フロー出力
１３２  記録チャネル
１３３  記録チャネル
１３４  読み取りデータ・システム
１４０  バースト
１４１  バースト
１６０  サーボ位置
１６１  サーボ位置
１６２  サーボ位置
１６３  サーボ位置
１６４  サーボ位置
１６５  サーボ位置
【図１】
2005063444.tif 000003
【図２】
2005063444.tif 000004
【図３】
2005063444.tif 000005
【図４】
2005063444.tif 000006
【図５】
2005063444.tif 000007
【図６】
2005063444.tif 000008
【図７】
2005063444.tif 000009
【図８】
2005063444.tif 000010
【図９】
2005063444.tif 000011
【図１０】
2005063444.tif 000012
【図１１】
2005063444.tif 000013
【図１２】
2005063444.tif 000014
【図１３】
2005063444.tif 000015
【図１４】
2005063444.tif 000016