(57)【要約】【課題】同期データを磁気テープに書き込むと共に、バックヒッチ数を低減させること。【解決手段】コントローラが、テープに書き込むべき受け取ったデータ・レコードに関する同期イベントのパターンを検出し、データ・レコードの各トランザクションを磁気テープに書き込み、同期トランザクションをバッファに蓄積し、その後で、データ・レコードの蓄積したトランザクションをバッファから磁気テープに反復的に順次書き込む。単一バックヒッチを使用して、反復的に書き込んだ蓄積データ・レコードを、先行するデータに続いて配置することができ、性能および容量を最大にすることができる。
2005516340.tif 000002
【特許請求の範囲】
【請求項１】
磁気テープ・ドライブが、磁気テープを縦方向に移動させる少なくとも１つのモータと、前記磁気テープが前記少なくとも１つのモータによって縦方向に移動する間に、前記磁気テープから読み取り、前記磁気テープに書き込むための少なくとも１つの読取り／書込みヘッドと、前記磁気テープに書き込むべきデータを受け取るインターフェースとを有する前記磁気テープ・ドライブ用の記録システムであって、
ａ）前記磁気テープに書き込むべきトランザクションの形態のデータを格納する、前記インターフェースに結合された少なくとも１つのバッファと、
ｂ）前記少なくとも１つのバッファから前記磁気テープにトランザクションを書き込むための前記少なくとも１つの読取り／書込みヘッドを操作するために、前記少なくとも１つのバッファに結合され、かつ前記少なくとも１つの読取り／書込みヘッドに結合された少なくとも１つの記録チャネルと、
ｃ）前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記少なくとも１つの記録チャネルに結合され、前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記少なくとも１つの記録チャネルを操作するコントローラとを備え、
前記コントローラは、前記少なくとも１つのバッファに格納された同期トランザクションとして前記トランザクションを前記磁気テープに書き込むために同期イベントのパターンを検出し、
前記検出したパターンの前記検出した各同期トランザクションを、前記少なくとも１つのバッファから前記磁気テープに書き込み、
前記各同期トランザクションを前記少なくとも１つのバッファから前記磁気テープに書き込む際に、前記同期トランザクションを前記少なくとも１つのバッファに蓄積し、
その後で、前記蓄積トランザクションを前記少なくとも１つのバッファから前記磁気テープに反復的に順次書き込む、
記録システム。
【請求項２】
前記コントローラが、前記格納した各同期トランザクションを前記磁気テープに書き込む際に、前記少なくとも１つのモータを操作して前記書込み中に停止することなく前記テープを縦方向に移動させ続けながら、追加で、前記磁気テープに書き込まれる前記同期トランザクション間にセパレータ信号を書き込む、請求項１に記載の記録システム。
【請求項３】
前記磁気テープが複数のラップを有し、前記コントローラが、前記検出したパターンの前記格納した各同期トランザクションを前記少なくとも１つのバッファから前記磁気テープに書き込む際に、前記反復的書込みのラップとは別個の前記複数のラップのうち少なくとも１つの上に前記同期トランザクションの少なくとも一部を書き込む、請求項１に記載の記録システム。
【請求項４】
前記コントローラが、前記蓄積トランザクションを後で反復的に書き込む際に、追加で、前記反復的に書き込んだトランザクションをその最新のコピーと識別する、請求項１または２に記載の記録システム。
【請求項５】
前記コントローラが、前記蓄積トランザクションを前記磁気テープに後で反復的に書き込む際に、追加で、前記蓄積トランザクションが所定のしきい値に達することに基づいて、前記蓄積トランザクションのシーケンスを終了させ、蓄積トランザクションの前記終了させたシーケンスを反復的に書き込み、その後で、前記蓄積トランザクションの前記少なくとも１つのバッファを解放する、請求項４に記載の記録システム。
【請求項６】
前記コントローラが、前記格納した同期トランザクションを前記磁気テープに書き込む際に、前記格納した各同期トランザクションを別々のトランザクションとして前記磁気テープに書き込む、請求項１に記載の記録システム。
【請求項７】
前記コントローラが、前記格納した同期トランザクションを前記磁気テープに書き込む際に、データ・セットの形態で前記同期トランザクションを書き込み、データ・セットを部分的に満たす前記検出したパターンの前記同期トランザクションのうち少なくとも１つについて、追加で、前記データ・セットの前記蓄積トランザクションを別のデータ・セット中に再書込みし、後続の前記同期トランザクションを前記再書込みした蓄積トランザクションに付加する、請求項１に記載の記録システム。
【請求項８】
磁気テープ・ドライブが、磁気テープを縦方向に移動させる少なくとも１つのモータと、前記磁気テープが前記少なくとも１つのモータによって縦方向に移動する間に、前記磁気テープから読み取り、前記磁気テープに書き込むための少なくとも１つの読取り／書込みヘッドと、前記磁気テープに書き込むべきデータを受け取るインターフェースとを有する、前記磁気テープ・ドライブ用の記録システムであって、
ａ）前記磁気テープに書き込むべきトランザクションの形態のデータを格納する、前記インターフェースに結合された少なくとも１つのバッファと、
ｂ）前記少なくとも１つのバッファから前記磁気テープにトランザクションを書き込むための前記少なくとも１つの読取り／書込みヘッドを操作するために、前記少なくとも１つのバッファに結合され、かつ前記少なくとも１つの読取り／書込みヘッドに結合された少なくとも１つの記録チャネルと、
ｃ）前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記少なくとも１つの記録チャネルに結合され、前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記少なくとも１つの記録チャネルを操作するコントローラとを備え、
前記コントローラは、前記少なくとも１つのバッファに格納された受信トランザクションに関する、同期トランザクションを含む同期イベントを検出し、
前記検出した同期トランザクションを、前記少なくとも１つのバッファから前記磁気テープに書き込み、
前記書き込んだ同期トランザクションに続いて、前記磁気テープにセパレータ信号を書き込み、その後に受け取ったトランザクションを前記セパレータ信号に続いて前記磁気テープに書き込むまで続行し、
前記少なくとも１つのモータを操作して反復的書込み中に停止することなく前記テープを縦方向に移動させ続けながら、後続の前記検出した同期受信トランザクションごとに、同期受信トランザクションの前記検出と、前記検出した同期トランザクションの書込みと、前記セパレータ信号の書込みとを反復する、
記録システム。
【請求項９】
前記コントローラが、追加で、前記検出した各同期トランザクションについて、前記少なくとも１つのバッファから前記磁気テープへの前記検出した同期トランザクションの前記書込みの完了時に、前記インターフェースで、前記検出した同期トランザクションに関するコマンド完了を戻す、請求項８に記載の記録システム。
【請求項１０】
磁気テープ・ドライブが、複数のラップを有する磁気テープを縦方向に移動させる少なくとも１つのモータと、前記磁気テープが前記少なくとも１つのモータによって縦方向に移動する間に、前記磁気テープから読み取り、前記磁気テープに書き込むための少なくとも１つの読取り／書込みヘッドと、前記少なくとも１つの読取り／書込みヘッドで前記磁気テープの前記ラップにアクセスするラップ制御システムと、前記磁気テープに書き込むべきデータを受け取るインターフェースとを有する、前記磁気テープ・ドライブ用の記録システムであって、
ａ）前記磁気テープに書き込むべきトランザクションの形態のデータを格納する、前記インターフェースに結合された少なくとも１つのバッファと、
ｂ）前記少なくとも１つのバッファから前記磁気テープにトランザクションを書き込むための前記少なくとも１つの読取り／書込みヘッドを操作するために、前記少なくとも１つのバッファに結合され、前記少なくとも１つの読取り／書込みヘッドに結合された少なくとも１つの記録チャネルと、
ｃ）前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記ラップ制御システム、および前記少なくとも１つの記録チャネルに結合され、前記少なくとも１つのバッファ、前記少なくとも１つのモータ、前記ラップ制御システム、および前記少なくとも１つの記録チャネルを操作するコントローラとを備え、
前記コントローラは、前記少なくとも１つのバッファに格納された同期トランザクションとして前記トランザクションを前記磁気テープに書き込むために同期イベントのパターンを検出し、
前記ラップ制御システムおよび前記少なくとも１つの読取り／書込みヘッドを操作して、前記磁気テープの少なくとも１つの作業コピー・ラップにアクセスし、前記検出したパターンの前記検出した各同期トランザクションを前記少なくとも１つのバッファから前記磁気テープの前記少なくとも１つの作業コピー・ラップに書き込み、
前記各同期トランザクションを前記少なくとも１つのバッファから前記磁気テープに書き込む際に、前記同期トランザクションを前記少なくとも１つのバッファに蓄積し、
その後で、前記ラップ制御システムおよび前記少なくとも１つの読取り／書込みヘッドを操作して、前記少なくとも１つの作業コピー・ラップから分離した少なくとも１つの通常ラップにアクセスし、前記少なくとも１つのバッファから前記磁気テープの前記少なくとも１つの通常ラップに前記蓄積トランザクションを反復的に順次書き込む、記録システム。
【請求項１１】
前記コントローラが、追加で、同期イベントの前記パターンを検出する際に、前記少なくとも１つの読取り／書込みヘッドの縦方向位置からのそれぞれの縦方向の前記少なくとも１つの作業コピー・ラップの書込み可能スペースを決定し、前記少なくとも１つのモータ、前記ラップ制御機構、および前記少なくとも１つの読取り／書込みヘッドを操作して、最大の書込み可能スペースを有する前記少なくとも１つの作業コピー・ラップの縦方向で、前記検出した各同期トランザクションの書き込みを開始する、請求項１０に記載の記録システム。
【請求項１２】
前記コントローラが、追加で、前記磁気テープの複数の前記ラップを作業コピー・ラップとして指定し、同期イベントの前記パターンを検出する際に、少なくとも１つの作業コピー・ラップへのアクセスが前記少なくとも１つの読取り／書込みヘッドのシークを必要とするか否かを判定し、必要である場合、最速のシークを有する作業コピー・ラップを選択する、請求項１０に記載の記録システム。
【請求項１３】
磁気テープを縦方向に移動させる少なくとも１つのモータと、
前記磁気テープが前記少なくとも１つのモータによって縦方向に移動する間に、前記磁気テープから読み取り、前記磁気テープに書き込むための少なくとも１つの読取り／書込みヘッドと、
前記磁気テープに書き込むべきデータを受け取るインターフェースと、
請求項１ないし１２のいずれかに記載の記録システムとを備える磁気テープ・ドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気テープへのデータの格納に関し、より詳細には、データを送信するエンティティ（entity）が、コピーが物理的に磁気テープ上に存在することを認識してそのデータを消去することができるような同期データの格納に関する。
【背景技術】
【０００２】
磁気テープは、自動データ記憶ライブラリの記憶シェルフに保存（archive）または格納（store）することができ、必要なときにアクセスすることができるデータを物理的に格納する手段を提供する。このようにして格納されたデータは、コピーが磁気テープ上に存在することを認識して、ホスト・システムでメモリまたはディスクに格納されたデータのコピーを消去することを可能にする永続性の側面を有する。ホスト・システムの使用可能なストレージ・スペースは比較的コストがかかり、できるだけ早くストレージ・スペースを解放することが望ましい。したがって、データは通常、ハード・ディスクなどの中間ステージング・バッファ（stagingbuffer）を介してテープ・ドライブに転送され、できるだけ早くステージング・バッファを解放し、上書きすることも望ましい。
【０００３】
したがって、データを「同期する」ことが多くの場合望ましい。
【０００４】
「同期データ（synchronized data）」は、テープ・ドライブが実際にデータを媒体、具体的には磁気テープにコミットする（commit）まで、書込みタイプのコマンドに対する「CommandComplete」、あるいはコマンドが首尾よく実行された、または実行されるという表示をテープ・ドライブが返さないことを要求する「同期イベント」または類似のコマンドの対象となるデータまたはその他の情報と定義される。その結果、電力が失われた場合、テープからデータを回復することはできるが、テープ・ドライブ・バッファの揮発性ＤＲＡＭストレージからは回復できない可能性がある。
【０００５】
同期イベントの一例は、Immediateビットが「０」にセットされたWriteFilemarkコマンドである。これは、ドライブが直ちに応答すべきでなく、コマンドが完了したときに応答すべきであることを意味し、コマンドの一部として送られる任意のデータがテープに書き込まれることを意味する。WriteFilemarkコマンドの特殊なケースは、Filemarksフィールドも「０」にセットされる場合であり、これは、Write Filemarkコマンドがそれ自体のデータを有さず、コマンド完了を送る前に、コマンドに先行するすべてのデータをテープに書き込まなければならないことを意味する。したがって、当業者が周知のように、このコマンドはしばしば「同期」コマンドと呼ばれる。
【０００６】
同期イベントの別の例は、当技術分野で「バッファなし書込み（non-bufferedwrite）」と呼ばれるホスト選択可能書込みモードである。この場合、ホストから各レコードを書き込んだ後に暗黙的（implicit）同期を実施しなければならない。データが首尾よく媒体上に書き込まれるまで、任意の書込みコマンドに対しても「CommandComplete」は返されない。
【０００７】
本明細書では、任意のデータ・レコード、レコードのグループ、またはその他のマークの書込みを「トランザクション」と定義し、同期イベントの結果としてのそのようなデータ・レコードなどの書込みを「同期トランザクション」と定義する。
【０００８】
磁気テープに関する難点は、データがデータ・セット間に長いギャップを有することなく順次記録されるのに対して、同期トランザクションが同期イベントごとに別々のバースト（burst）に格納され、次のトランザクションを書き込む前に著しい時間枠（noticeable time period）を伴うことである。これにより、先行するトランザクションのすぐ後に続いて次のトランザクションを書き込むためには、同期トランザクションを書き込んだ後にテープ・ドライブが「バックヒッチする（backhitch）」ことが必要となる。テープは、テープが縦（長手）方向に一定速度で移動する間に書き込まれ、または読み取られる。したがって、バックヒッチにより、テープを停止し、前のトランザクションの終りを超えて反転し、再び停止し、前のトランザクションの終りに達するまでに元の方向の速度まで加速させることが必要となる。当業者が理解しているように、バックヒッチ・プロセスはかなりの時間を消費し、多数の小さい同期トランザクションを格納すべき場合、テープ・ドライブのスループットが劇的に低下する。一例を挙げると、バックヒッチ時間は０．５秒から３秒超まで変動する可能性がある。
【特許文献１】米国特許第５，４３２，６５２号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
同期データをトランザクションとして磁気テープに書き込むと共に、同期トランザクションを書き込むためのバックヒッチ数を低減させることが望ましい。
【課題を解決するための手段】
【００１０】
本発明の一態様では、磁気テープ・ドライブ用の記録システムが、磁気テープに書き込むべきトランザクションの形態のデータを格納する少なくとも１つのバッファと、バッファから磁気テープにトランザクションを書き込む少なくとも１つの読取り／書込みヘッドを操作するための、バッファに結合された少なくとも１つの記録チャネルと、コントローラとを備える。
【００１１】
コントローラは、ａ）バッファに格納された受信済トランザクションに関する同期イベントを検出し、ｂ）検出した同期トランザクションをバッファから磁気テープに書き込み、ｃ）テープを縦方向に移動し続けて、大きなギャップを残し、または書き込んだ同期トランザクションに続いて磁気テープにセパレータ信号を書き込んで、後続の受信トランザクションをセパレータ信号に続いて磁気テープに書き込むまで続行し、ｄ）同期受信トランザクションの検出を反復し、検出した同期トランザクションを書き込み、テープを移動し、後続の検出した同期受信トランザクションごとにセパレータ信号を書き込み、それによってテープが、反復書込み中に停止することなく縦方向に移動する。したがって、バックヒッチは存在せず、テープ・ドライブは、停止することなくトランザクションの書込みを続行する。
【００１２】
別の実施形態では、記録システムは上記と同様であり、コントローラが、ａ）磁気テープに書き込むべき同期トランザクションのパターンを検出し、ｂ）検出したパターンの検出した各同期トランザクションをバッファから磁気テープに書き込み、ｃ）同期トランザクションをバッファから磁気テープに書き込む際に、バッファ内に同期トランザクションを蓄積し、ｄ）その後で、蓄積したトランザクションをバッファから磁気テープに順次反復的に書き込む。この反復的書込みは、反復的に書き込まれた蓄積トランザクションを先行データに続いて配置するためにバックヒッチを必要とする可能性があるが、従来技術では、同一のデータを書き込むのにずっと多くのバックヒッチを必要とした可能性がある。
【００１３】
さらに別の実施形態では、磁気テープが、ＬＴＯシステムなどのような当業者に周知の複数のラップ（wrap）を有し、コントローラが、検出したパターンの同期トランザクションの少なくとも一部を、反復的書込みの任意のラップから分離した複数のラップのうち少なくとも１つに書き込む。したがって、最終的なトランザクションのセットが反復的に書き込まれる前に、良好な作業コピー（workingcopy）がテープ上に固定される。作業コピーは、停止することなく書き込まれ、フォーマットされたエンティティ間の通常ギャップよりも大きいギャップを残し、作業コピーは、複数のコピーまたは特別な構成体（construct）を含むことができる。反復的に書き込まれたコピーは、通常の密度ギャップおよび標準フォーマットに準拠するように書き込まれる。
【００１４】
別の実施形態では、コントローラが、各同期トランザクションをバッファから磁気テープに別々に書き込み、別々に書き込んだ各同期トランザクションを、例えばアクセス・ポイントによって識別する。加えて、コントローラは、反復的に書き込んだトランザクションを、その最新のコピーと識別し、識別した別々に書き込んだ同期トランザクションを置き換える（supersede）。
【００１５】
代替実施形態では、コントローラが、検出したパターンのすべての蓄積トランザクションを順次再書込みし、同期トランザクションを再書込みした蓄積トランザクションのシーケンスに付加し、再書込みおよび付加後の書込み済み同期トランザクションを、例えば増分書込みパスまたはアクセス・ポイントによってその最新のコピーと識別することにより、検出したパターンの各同期トランザクションをバッファから磁気テープに書き込む。加えて、コントローラは、反復的に書き込んだトランザクションをその最新のコピーと識別し、識別した再書込みおよび付加後の書込み済み同期トランザクションを置き換える。
【００１６】
したがって、本発明は、同期データを磁気テープに書き込むと共に、同期データに関するバックヒッチ数を低減する。
【００１７】
以下、添付の図面を参照しながら、単に例示的なものとして本発明の実施形態を説明する。
【発明を実施するための最良の形態】
【００１８】
図１を参照すると、本発明の実施形態を実施することのできるテープ・ドライブ１０が示されている。テープ・ドライブは、磁気テープ・カートリッジ１１に対して情報を読み取り、書き込む手段を提供する。ＬＴＯ（Linear Tape Open）フォーマットに準拠するような、カートリッジおよび関連するテープ・ドライブが示されている。単一リール・テープ・ドライブの一例は、ＬＴＯ技術に基づくIBM3580 Ultrium磁気テープ・ドライブである。単一リール・テープ・ドライブおよびカートリッジの別の例は、Comeaux等の1995年7月11日に発行された米国特許第５，４３２，６５２号に論じられているものなどである。単一リール・テープ・ドライブの別の例は、IBM3590 Magstar磁気テープ・ドライブおよび関連する磁気テープ・カートリッジである。デュアル・リール・カートリッジの一例は、IBM 3570磁気テープ・カートリッジおよび関連するドライブである。
【００１９】
当業者が理解しているように、磁気テープ・カートリッジ１１は、１つまたは２つのリール１５、１６に巻かれた１本の磁気テープ１４を含む。やはり当業者が理解しているように、テープ・ドライブ１０は、ホスト・システム２０からインターフェース２１で受信するコマンドに従ってテープ・ドライブを操作するための、記録システムの１つまたは複数のコントローラ１８を備える。テープ・ドライブは、スタンドアロン・ユニットを含み、あるいはテープ・ライブラリまたは他のサブシステムの一部を含む。テープ・ドライブ１０は、直接的に、ライブラリを通じて、またはネットワークを介してホスト・システム２０に結合することができ、ＳＣＳＩ（Small Computer Systems Interface）、ファイバ・チャネル・インターフェース（Fibre ChannelInterface）などを使用することができる。
【００２０】
磁気テープ・カートリッジ１１をテープ・ドライブ１０に挿入し、テープ・ドライブに装填することができ、その結果、テープが１つまたは複数のモータ２５によって縦方向に移動するとき、記録システムの１つまたは複数の読取りおよび／または書込みヘッド２３が、磁気テープ１４に対して情報を読み取り、および／または書き込む。磁気テープは、複数の平行なトラック、またはトラックのグループを有する。上記のＬＴＯフォーマットなどのあるフォーマットでは、当業者には周知のように、トラックが、別々のラップのサーペント（serpentine；蛇行）往復パターンとして構成される。やはり当業者には周知のように、記録システムは、別の１組の読取りおよび／または書込みヘッドに電気的に切り換え、および／または読取りおよび／または書込みヘッド２３を磁気テープの側(横)方向（laterally）にシークおよび移動し、所望の１つまたは複数のラップにヘッドを配置し、一部の実施形態では所望の１つまたは複数のラップを追跡するラップ制御システム２７を備える。ラップ制御システムはまた、コントローラ１８による命令に応答して、モータ・ドライバ２８を介してモータ２５の動作も制御することができる。
【００２１】
当業者に周知のように、コントローラ１８はまた、バッファ３０および記録チャネル３２を使用して、磁気テープから読み取り、磁気テープに書き込むべきデータのデータ・フローおよびデータのフォーマット設定も提供する。
【００２２】
上記で議論したように、磁気テープは、自動データ・ストレージ・ライブラリ（automateddata storage library）のストレージ・シェルフ（storage shelf）に保存または格納することができ、必要なときにアクセスすることのできるデータを物理的に格納する手段を提供する。テープ・ドライブは多くの場合、「リード・アフター・ライト（readafter write）」プロセスを使用してデータを正しく書き込むよう保証し、永続性の側面を備える。この永続性により、正確なコピーが磁気テープ上に存在することを認識して、ホスト・システム２０のメモリまたはディスクに保管（store）されたデータのコピーを消去することが可能となる。
【００２３】
ホスト・システムの使用可能なストレージ・スペースは比較的高価であり、できるだけ早くストレージ・スペースを解放することが望ましい。したがって、データは通常、ハード・ディスクなどの中間ステージング・バッファを介してテープ・ドライブに転送され、できるだけ早くステージング・バッファを解放し、上書きすることが望ましい。この例では、ステージング・バッファが存在する場合に、それがホスト・システム２０の一部を含むとみなされる。
【００２４】
ステージング・バッファを解放するために、実際にデータが磁気テープ１４上に記録されており、単にバッファ３０などの揮発性ＤＲＡＭストレージ内にあるのではないという保証が必要であり、さもなけばバッファまたはドライブへの電力が失われた場合にデータが失われる可能性がある。したがって、実際にデータを媒体、具体的には磁気テープ１４にコミットするまで、書込みタイプのコマンドに対する「Command Complete」、あるいはコマンドが首尾よく実行された、または実行されるという表示をテープ・ドライブが返さないことが要求され、データの「同期」が多くの場合望ましい。いったんデータを磁気テープに書き込んだ後に電力が失われた場合、データをテープから回復することはできるが、テープ・ドライブ・バッファの揮発性ＤＲＡＭストレージからは回復できない可能性がある。
【００２５】
データを同期する効果を有する同期イベントの様々な例は当業者に周知である。同期イベントの一例は、Immediateビットが「０」にセットされたWrite Filemarkコマンドである。これは、ドライブが直ちに応答すべきでなく、コマンドが完了したときに応答すべきであることを意味し、コマンドの一部として送られる任意のデータがテープに書き込まれることを意味する。WriteFilemarkコマンドの特殊なケースは、Filemarksフィールドも「０」にセットされる場合であり、これは、Write Filemarkコマンドがそれ自体のデータを有さないことを意味し、そのコマンドの唯一の意味は、コマンド完了を送る前にコマンドに先行するすべてのデータをテープに書き込まなければならないということである。別の例は、各レコードについて暗黙的に同期を必要とするホスト選択バッファなし書込みモードである。
【００２６】
図２を参照すると、データは通常、磁気テープ上に順次記録され、データ・セット間、例えばデータ・セット３１と３２の間、３２と３３の間などのギャップはわずかである。当業者には周知のように、こうしたギャップは、ブロック間ギャップ（ＩＢＧ；Interblock Gap）パターンで書き込むことができ、またはデータ・セット・セパレータ（ＤＳＳ；Data SetSeparator）パターン４０を含むことができる。ギャップは、実際の未記録部分と、記録される部分とを含むことができる。例えば、ＬＴＯフォーマットＤＳＳは、データ・セット間にトーン・パターン（tonepattern）を含む。上記で議論したように、図１のモータ２５がテープを縦方向に移動する間にテープが書き込まれ、または読み取られる。データは、それぞれＤＳＳを有し、公称間隔で書き込まれるデータ・セットとして構成された一続きのレコードを含む。時折、通常はバッファが空であるときに、テープが停止する。
【００２７】
しかし、データが同期される場合、データをバッファからテープに直ちに書き込まなければならず、同期トランザクションがテープに書き込まれた後でなければ、トランザクションがバッファから消去されて上書きされず、したがって同期トランザクションを連続的データ・フローの対象とすることはできない。したがって、その代わりに、同期イベントごとの別々のバースト（burst）として同期トランザクションを直ちに書き込まなければならない。その結果、図２の従来技術では、同期トランザクションに関して１つのデータ・セットを書き込んだ後、データ・セットを近接して配置するよう保証するために、図１のコントローラ１８は通常、サーボ・システムおよびモータ・ドライバを操作して、データ・セットの後でテープを停止する。テープを停止するにはある有限の距離および有限の時間が必要であり、次いでテープが「バックヒッチ」され、前のデータ・セットの終りを超えて反転され、再び停止し、第１のデータ・セットの終りに達するまで元の方向の速度まで加速され、その結果、ＤＳＳおよび次のデータ・セットを書き込むことができる。当業者は理解するであろうが、バックヒッチ・プロセスはかなりの時間を消費する。
【００２８】
したがって、多数の同期トランザクションを格納すべき場合、テープ・ドライブのスループットが劇的に低下する。一例を挙げると、バックヒッチ時間は０．５秒から３秒超まで変動する可能性がある。
【００２９】
図２の例では、レコード５０〜５３が同期される。通常、トランザクションは数百のレコードを含むが、本明細書では、説明のために、それぞれが１レコードのトランザクションだけを示す。トランザクションが１レコード、または１群のレコードから構成され、データ・セットの中央で終了する場合、End Marker（ＥＭ）が、データ・セットの残りは空であることをシグナル通知するために書き込まれる。通常、各同期トランザクションは別々のデータ・セットとしてフォーマットされ、図２ではデータ・セット３１〜３４中のデータ・レコード５０〜５３として示されている。したがって、従来技術のプロセスでは、（トランザクション・レコード５０を同期するために）データ・セット３１を書き込んだ後に、テープ・ドライブ１０をバックヒッチ（矢印７１で示す）して、間にあるＤＳＳパターンの量を最小にしてデータ・セット３２を書き込むように配置し、データ・セット３２を書き込んだ後にバックヒッチ７２を行ってトランザクション・レコード５１を同期し、データ・セット３３を書き込む必要があり、以下同様である。このプロセスは、同期データのすべてを書き込むまで続く。
【００３０】
図１および３に、同期データのためのバックヒッチの数を低減する本発明の実施形態を示す。
【００３１】
一実施形態では、磁気テープ・ドライブ、例えば図１の磁気テープ・ドライブ１０用の記録システムは、磁気テープ１４に書き込むべきデータ・トランザクションの形態のデータを格納する少なくとも１つのバッファ３０と、バッファから磁気テープにトランザクションを書き込む少なくとも１つの読取り／書込みヘッド２３を操作するための、バッファに結合された少なくとも１つの記録チャネル３２と、少なくとも１つのコントローラ１８とを備える。
【００３２】
一実施形態では、コントローラ１８は、バッファ３０に格納された同期受信トランザクション、例えば図３のトランザクション・レコード５０を検出し、検出した同期トランザクション・レコード５０を、データ・セット８０としてＥＭ６０と共にバッファから磁気テープに書き込み、書込み済み同期トランザクション・レコード５０（データ・セット８０）に続いて、未記録ギャップおよび／または書込み済みセパレータ信号９０（例えばＤＳＳ）を含む延長（elongated）ギャップを磁気テープに残し、その後に受け取る同期トランザクション５１（データ・セット８１）がセパレータ信号に続いて磁気テープに書き込まれるまで、セパレータ信号９０を有し、またはセパレータ信号９０を有さないギャップが続き、後続の検出した同期受信トランザクションごとに、同期受信トランザクション（例えばレコード５１）の検出、検出した同期トランザクションの（データ・セット８１としての）書込み、セパレータ信号（例えばセパレータ信号９１）のギャップの書込みなどを反復し、それによってテープが、書込みの反復の間に停止することなく縦方向に移動する。したがって、バックヒッチは行われず、テープ・ドライブは、停止することなく同期トランザクションを書き込み続ける。
【００３３】
図示する４つの同期トランザクション・レコード５０〜５３に関する図３の例を完了させるために、次の同期受信トランザクション５２が検出され、データ・セット８２として書き込まれ、ギャップ・セパレータ信号（例えばセパレータ信号９２）が、通常は、次に検出される同期受信トランザクション５３がデータ・セット８３として書き込まれるまでの距離の一部またはすべてにわたって書き込まれ、以下同様である。
【００３４】
したがって、バックヒッチは不要であり、同期データのすべてを書き込むプロセスが完了するためのかなりの処理時間が節約される。
【００３５】
やはり図１および３に示す本発明の別の実施形態では、同期データを反復的に書き込むことによって磁気テープ上のスペースが節約される。電力が失われた場合に同期トランザクション５０〜５３を保持するため、データ・セット８０〜８３が、トランザクションの作業コピーとみなされる。トランザクションを反復的に書き込んだ後、作業コピーを上書きすることができる。
【００３６】
まず、コントローラ１８が、磁気テープ１４に書き込むべき同期トランザクションのパターンを検出する。パターンは、所定の数の一定の長さ未満の連続する同期トランザクションを含むことができる。一例を挙げると、パターンは、データ・セット長未満の長さをそれぞれ有する２つの連続的な同期トランザクションを含むことができる。上記で議論したように、典型的な同期トランザクションはテープに書き込まれ、次いで、トランザクションが書き込まれて電力損失の結果としてトランザクションが失われないと保証されると、トランザクションがホスト・システムから消去される。
【００３７】
コントローラ１８は、検出したパターンの、レコード５０〜５３として示される検出した各同期トランザクションをバッファから磁気テープ１４に、例えば上記のデータ・セット８０〜８３として書き込む。パターンを検出する前に、上記で論じた方式で既に、検出するパターンの前の同期トランザクションを書き込んでいるので、検出したパターンの前の同期トランザクションを除外することができる。したがって、図３では、前の同期トランザクションには前のデータ９９を含めることができる。検出したパターンの各同期トランザクションをバッファから磁気テープに書き込む際に、コントローラは、同期トランザクションをバッファ３０に蓄積し、その後に、データ・セット１００、１０１として示すように、蓄積したトランザクションをバッファから磁気テープに反復的に順次書き込む。反復的書込みは、反復的にバックヒッチを含むことができ、反復的に書き込まれる蓄積トランザクションを先行データ９９に続いて、公称ギャップで配置することができる。
【００３８】
したがって同期トランザクション５０〜５３が磁気テープ１４に直ちに書き込まれ、電力損失に対してバッファ３０でデータ・セット８０〜８３中の作業コピーとして保持され、同時にバッファ３０内にも蓄積され、次いでデータ・セット１００、１０１中の先行データ９９に直後に反復的に書き込まれ、スペースが節約される。トランザクションを反復的に書き込んだ後、作業コピー８０〜８３を上書きすることができる。
【００３９】
蓄積した同期データを反復的に書き込む時点には、同期的に書き込むトランザクションのパターンの終了（termination）を含めることができ、データ・レコードを蓄積するためのバッファ３０の容量の限界などの所定のしきい値を含めることができ、あるいは作業コピー８０〜８３およびその分離信号９０〜９２のための作業スペースの容量の限界を含めることができる。
【００４０】
図３の実施形態では、コントローラは、各同期トランザクション５０〜５３を、この例ではデータ・セット８０〜８３として別々にバッファから磁気テープに書き込み、例えばアクセス・ポイント１１０〜１１３により、別々に書き込んだ各同期トランザクションを識別する。アクセス・ポイントは、ＬＴＯフォーマットの下で現データ・レコード（１つまたは複数）の始まりを指定する手段である。加えて、コントローラは、新しいアクセス・ポイント１１５を使用して、反復的に書き込んだトランザクションをその最新のコピーと識別し、データ・セット８０〜８３の識別した別々に書き込んだ同期トランザクションを置き換える。あるいは、またはそれに加えて、各データ・セットについての書込みパス表示「ＷＰ」を増分して、反復的に書き込んだトランザクションがそれぞれ最新のコピーであることを示し、データ・セット８０〜８３の識別した別々に書き込んだ同期トランザクションを置き換えることができる。当業者には周知のように、アクセス・ポイントと書込みパス手順はどちらもＬＴＯフォーマット範囲内にある。その結果、作業コピー８０〜８３を上書きする前に電力が失われた場合、アクセス・ポイントおよび／または書込みパス標識（write pass indicator）の検証により、正確な回復を行うことが可能となる。
【００４１】
本発明の代替実施形態を図４に示す。図４では、コントローラが、同期イベントの検出したパターンの各同期トランザクション５０〜５３を、トランザクションのデータ・セットを書き込むことによってバッファから磁気テープに書き込み、トランザクションを書き込む際に満たされなかった任意の部分データ・セットについて、部分データ・セットを再書込みし、書き込み中の次の同期トランザクションを付加する。部分データ・セットは、図１のバッファ３０に蓄積されたデータから得られる。したがって、レコード５０として示される１つまたは複数のレコードのトランザクションが、部分データ・セットを含むものとして、データ・セット１２０と、その後に続くEnd Marker３００としてして別々に書き込まれる。次いで、ＤＳＳ１３０が書き込まれ、トランザクションがバッファ３０に蓄積される。後続のトランザクション５１が、書き込まれるデータ・セット１２１中に蓄積されたトランザクション５０に付加され、トランザクション５０（またはトランザクション５０が前のデータ・セットを含む場合はトランザクション５０の最後の部分）が再書込みされ、付加されたトランザクション５１がテープに書き込まれ、その結果トランザクションが集中する。データ・セット１２１も部分データ・セットであるので、EndMarker３０１が書き込まれ、データ・セット１２１の後にＤＳＳ１３１が続き、トランザクション５１がバッファに蓄積される。プロセスは、後続のトランザクション５２が部分データ・セットの蓄積トランザクション５０および５１に付加されるように続行し、さらに再書込み蓄積トランザクション５０、５１および同期トランザクション５２がデータ・セット１２２および１２３などとして書き込まれる。いったんデータ・セットが満たされた後、データ・セット１２２などのデータ・セットが再び書き込まれ、さらに満たされたデータ・セットが書き込まれた後、そのデータ・セットはもはや作業コピーとして再書込みされない。
【００４２】
上記で議論したように、再書込みおよび付加後の書込み済み同期トランザクションが、例えばデータ・セットに関する増分書込みパス「ＷＰ」によってその最新のコピーと識別される。
【００４３】
その後で、データ・セットを反復的に書き込む際に、コントローラは追加で、例えばデータ・セットについての書込みパス「ＷＰ」をさらに増分することにより、反復的に書き込んだトランザクションをその最新のコピーと識別し、書込み済みトランザクション、および／または識別した再書込みおよび付加後の書込み済み同期トランザクションを置き換える。
【００４４】
例えば、トランザクション５０についてのデータ・セットの書込みパス標識１４１は、最初に再書込みされたときに「ＷＰ１」に増分され、トランザクション５０が２回目に再書込みされるデータ・セット１２２についての書込みパス標識が「ＷＰ２」に増分される。次いでコントローラは、トランザクション５０〜５３をデータ・セット１４５および１４６として反復的に書き込む。加えてコントローラは、反復的に書き込んだトランザクションをその最新のコピーと識別し、トランザクション５０を含むデータ・セット１４５についての書込みパスを追加時に「ＷＰ３」に増分し、再書込みしたトランザクション５２の一部を含むデータ・セット１４６についての書込みパスを「ＷＰ１」に増分する。この場合も、結果として、作業コピー１２０〜１２３を上書きする前に電力が失われた場合、書込みパス標識の検証により正確な回復を行うことが可能となる。
【００４５】
あるいは、図４は、書込みパス標識を更新する必要がないという点で、上記で議論した各同期トランザクションの別々の書込みの別の代替実施形態を表す。その代わりに、トランザクションのアクティブなコピーがアクセス・ポイント１４０〜１４２によって示される。したがって、トランザクション５０がアクセス・ポイント１４０によって示され、トランザクション５１がアクセス・ポイント１４１によって示され、以下同様である。コントローラは、トランザクション５０〜５３をデータ・セット１４５および１４６として反復的に書き込み、加えて、アクセス・ポイント１４８を使用して、反復的に書き込んだトランザクションをその最新のコピーと識別し、データ・セットの１２０〜１２３の識別した別々に書き込んだ同期トランザクションを置き換える。
【００４６】
図５を参照すると、上記で議論したＬＴＯシステムなどのように磁気テープが複数のラップを有するさらに別の実施形態では、図１のコントローラ１８が、検出したパターンの同期トランザクションの少なくとも一部の作業コピーを、反復的に書き込むラップからは分離される複数のラップのうち少なくとも１つの上に書き込む。したがって、この実施例での最終的なトランザクションのセットが反復的に書き込まれる前に、良好な作業コピーがテープ上に固定される。
【００４７】
具体的には、この実施例では、データ・セット１５０および１５１が標準ラップ１６０上に矢印１６１の方向に書き込まれた後に、同期的に書き込まれるトランザクションのパターンが検出される。コントローラは、図１のラップ制御システム２７を操作して、読取り／書込みヘッドを電気的に切り換え、シーク（seek）を行い、蓄積バックヒッチレス・ラップ１８０および１８１などの１組の作業コピー・ラップに対するテープ・ヘッド２３の位置を変える。
【００４８】
一実施形態では、コントローラ１８が磁気テープ１４の複数のラップを作業コピー・ラップ１８０、１８１と指定し、同期イベントのパターンを検出する際に、作業コピー・ラップへのアクセスがシークを必要とするか、それとも電子的に実施することができるかを判定し、異なる１組の読取り／書込みヘッドに切り換える。ヘッドをラップの横方向に移動させるシークが必要な場合、コントローラ１８は、最速のシークを有する作業コピー・ラップを選択する。一例を挙げると、最速のシークは、使用可能な最も近い作業コピー・ラップへのシークであり得る。
【００４９】
別の実施形態では、作業コピー・ラップを選択した後、コントローラ１８が、読取り書込みヘッドのテープに沿った現在の縦方向位置を判定し、現在の縦方向位置からのそれぞれの縦方向での選択した作業コピー・ラップの書込み可能スペースを判定する。次いでコントローラは、モータ２５、ラップ制御機構２７、および読取り／書込みヘッドを操作し、最大の書込み可能スペースを有する選択した作業コピー・ラップの縦方向に同期トランザクションの書込みを開始する。
【００５０】
この実施例では、次いで作業コピー１７０〜１７１が、蓄積バックヒッチレス・ラップ１８０および１８１上に、最初は矢印１８５の方向に書き込まれ、次いで矢印１８６の方向に書き込まれる。この実施例では、作業コピーが、図４で図示したのとすべて同様に、付加によって同期トランザクションを別々に書き込み、アクセス・ポイントを使用すると共に、再書込みしたデータ・レコードを無視する方式で書き込まれる。矢印１８５の方向を矢印１８６の方向へ反転することにより、バックヒッチ・プロセスのための距離が低減され、バックヒッチの１度の反転が実施される。矢印１８５の方向から矢印１８６の方向に作業コピーを書き込む方向を切り換える反転ポイントには、図１のバッファ３０が、蓄積した同期トランザクションが満杯の約半分となる時点を含めることができる。様々なアルゴリズムを使用して、作業コピーを書き込む方向を切り換えるための反転ポイントを決定することができる。このような任意のアルゴリズムの目標は、バッファが、蓄積した同期トランザクションで満杯となったときに、（トランザクションを反復的に書き込むために）元の付加地点（append point）に達することである。
【００５１】
コントローラは、図１のラップ制御システム２７を操作して、テープ・ヘッド２３を標準ラップにアクセスし、次いで同期トランザクションが、バッファから標準ラップ１６０に、データ・セット１９０として示されるように、先行データ１５１の直後に、矢印１６１の方向に反復的に書き込まれる。次いで作業コピー１７０〜１７１を上書きすることができる。
【００５２】
本発明の方法の実施形態を図６〜１１に示す。
【００５３】
図１、３、４、および６を参照すると、ステップ２００では、インターフェース２１でデータを受け取り、ステップ２０１では、データをバッファ３０に格納する。ステップ２０３では、データに同期イベントが付随しているか、またはデータの後に同期イベントが続くかを検出し、それによってトランザクションを同期すべきか否かを検出する。同期イベントを検出しない場合、ステップ２０５で、通常アルゴリズムを使用してデータを磁気テープ１４に書き込み、例えば、通常はストリーミングを最大にするために、テープ・ドライブによって選択された時間にデータを順次書き込む。これは、書込みの開始の遅延を伴うことがある。各データ・セットは前のデータ・セットとＤＳＳだけ分離する。
【００５４】
ステップ２０３で同期イベントを検出したとき、ステップ２０４では、以下で論じるように連結子（connector）２０６でチェックを開始して同期イベントのパターンを検出し、ステップ２０７に進む。ステップ２０７では、同期トランザクションを、以下で論じるようにパターンの一部として、または単一トランザクションとしてテープに書き込む。ステップ２０８では、トランザクションに関するデータの終りに達したか否かを判定し、達していない場合は、ステップ２０７に戻り、データの書込みを続行する。ステップ２０７および２０８で、トランザクションに関するデータの終りを感知し、データをテープに書き込んだ後、ステップ２１０では、コントローラ１８がコマンド完了を信号で知らせる。したがって、ホスト・システム２０は、データのステージング・バッファまたはその他のソースを解放することができる。一例を挙げると、図３では、ＥＭ６０を伴う検出した同期データ・レコード５０をデータ・セット８０としてバッファから磁気テープに書き込み、図４ではデータ・セット１２０として書き込む。
【００５５】
ステップ２１１では、コントローラ１８が、書き込んだ同期データ・レコード５０に続いてギャップを残し、かつ／またはセパレータ信号（例えばＤＳＳ）（図３ではデータ・セット８０に続くセパレータ信号９０、図４ではデータ・セット１２０に続くセパレータ信号１３０）を磁気テープに書き込み、ステップ２１２で判定され、ステップ２０３および２０５または２０７で、その後に受け取ったトランザクション５１（図３ではデータ・セット８１、図４ではデータ・セット１２１）をセパレータ信号に続いて磁気テープに書き込むまで、ギャップおよび／またはセパレータ信号９０、１３０を続ける。したがって、図６のプロセスは、（例えばレコード５１として示す）同期受信トランザクションの検出を反復し、後続の検出した同期受信トランザクションごとに、検出した同期トランザクションを（データ・セット８１、１２１として）書き込み、さらにギャップおよび／またはセパレータ信号（例えばセパレータ信号９１、１３１）を書き込み、それによってテープが、反復書込み中に停止することなく縦方向に移動する。したがって、バックヒッチは行われず、テープ・ドライブは、停止することなくトランザクションの書込みを続行する。
【００５６】
結合子２０６は図７に進む。図１、３、４、および７を参照すると、同期データを反復的に書き込むことによって磁気テープ上のスペースが節約される。電力が失われた場合にトランザクション５０〜５３を保持するために、データ・セット８０〜８３がトランザクションの作業コピーとみなされる。トランザクションを反復的に書き込んだ後、作業コピーを上書きすることができる。
【００５７】
まずステップ２２０では、コントローラ１８が、磁気テープ１４に書き込むべきトランザクションに関する同期イベントのパターンを検出する。上記で議論したように、パターンは、所定の数の一定の長さ未満の連続する同期イベントを含むことができる。パターンは、１続きの同期コマンドまたは明示的書込みモードとしては現れない可能性があり、１続きの空きバッファ・イベントとして暗黙的に現れる可能性がある。そのようなパターンが存在しない場合、コントローラは、ステップ２２１で次のコマンドを求めて戻る。
【００５８】
ステップ２２０で同期イベントのパターンを検出すると、コントローラ１８は、ステップ２２３で、検出したパターンの検出した各同期トランザクション５０〜５３を、データ・セットに続くギャップおよび／またはセパレータ信号と共に、図６のプロセスの方式でバッファから磁気テープ１４に別々に、完全に書き込む。上記で議論したように、パターンを検出する前に上記で議論した方式で既に書き込んでいるので、検出したパターンの初期の同期トランザクションを除外することができる。したがって、図３および図４では、初期の同期トランザクションには前のデータ９９を含めることができる。
【００５９】
ステップ２２５では、各同期トランザクションをバッファから磁気テープに書き込む際に、コントローラは同期トランザクションをバッファ３０に蓄積し、ステップ２２６ではコマンド完了を供給する。
【００６０】
ステップ２３０では、蓄積したトランザクションが所定のしきい値に達したか否かを判定する。上記で議論したように、所定のしきい値の例には、データ・レコードを蓄積するためのバッファ３０の容量の限界を含めることができ、または作業コピー８０〜８３およびその分離信号９０〜９２のための作業スペースの容量の限界を含めることができる。しきい値に達していない場合、ステップ２３１で、同期イベントのパターンが終了したか否かを判定する。パターンが継続中である場合、プロセスはステップ２２３に戻り、次の同期トランザクションを書き込む。
【００６１】
ステップ２３０で、蓄積したトランザクションがしきい値に達したとき、またはステップ２３１で、同期イベントのパターンの終りに達したとき、ステップ２３３では、コントローラが、例えば図３のデータ・セット１００、１０１として、または図４のデータ・セット１４５および１４６として示すように、蓄積したトランザクションを反復的にバッファから磁気テープに順次書き込み、例えば図３のアクセス・ポイント１１５、図４の書込みパス標識、または図４のアクセス・ポイント１４８を使用して、反復的に書き込んだコピーを最新と識別する。反復的書込みは、反復的に書き込んだ蓄積トランザクションを先行データ９９の後に配置するためにバックヒッチを含むことができる。
【００６２】
データを反復的にテープに書き込んだので、作業コピーはもはや不要であり、バッファ中のコピーももはや不要である。したがってステップ２３５では、当業者には周知のように、バッファのこのセクション（section）を上書きすることができるように蓄積トランザクションを解放する。ステップ２３６では、コントローラは図６のステップ２００などの他の処理に戻る。
【００６３】
図７のステップ２２３の特定の実施形態を、ステップ２４０で始まる図８〜１０に示す。
【００６４】
図５および８を参照すると、ステップ２４５では、コントローラが、磁気テープが上記で議論したＬＴＯシステムなどのような複数のラップを含むか否か、その複数のラップのうちの、反復的書込みのラップとは分離された少なくとも１つに作業コピーを書き込むべきか否かを判定する。そうでない場合、プロセスはステップ２４７に進む。
【００６５】
蓄積バックヒッチレス・ラップ、例えば図５のラップ１８０および１８１を作業コピーのために使用すべきであるとステップ２４５で判定した場合、ステップ２５０では、上記で議論したように、コントローラが図１のラップ制御システム２７を操作して、作業コピー・ラップへのアクセスがシークを必要とするか否かを判定する。シークが不要である場合、ラップ制御システムは、ステップ２５１で、異なる１組の読取り／書込みヘッドに電子的に切り換える。ステップ２５０でシークが必要である場合、コントローラ１８は、ステップ２５２で、最速のシークで到達することのできる作業コピー・ラップを決定する。上記で議論したように、これは、使用可能な最も近い作業コピー・ラップであり得る。次いで、ステップ２５３では、コントローラがラップ制御機構を操作してシークを実施し、選択した作業コピー・ラップにヘッドを横方向に移動する。
【００６６】
作業コピー・ラップを選択した後、コントローラは、ステップ２５５で、上記で議論したように、読取り／書込みヘッドの現在の縦方向位置からのそれぞれの縦方向の作業コピー・ラップの書込み可能スペースを判定し、最大の書込み可能スペースを有する方向を決定する。ステップ２５６では、コントローラは、最大の書込み可能スペースを有する方向が現方向であるか否かを判定し、そうである場合、方向の変更は行わない。しかし、ステップ２５６で、テープ方向を切り換えなければならないと判定した場合、コントローラは、ステップ２５７で、モータ２５を操作してテープ移動方向を切り換える。次いで、ステップ２４７に続く各ステップでは、図８に関連して上記で議論したように、最初に矢印１８５の方向で、次いで矢印１８６の方向で、作業コピー１７０〜１７１を蓄積バックヒッチレス・ラップ１８０および１８１上に書き込む。
【００６７】
ステップ２４７では、作業コピーを別々に書き込むべきか、それとも再書込みコピーに付加すべきかを判定する。
【００６８】
作業コピーを別々に書き込むべき場合、結合子２６０は図９のステップ２６１に進む。ステップ２６１では、パターンの、例えばトランザクション５０〜５３の各同期トランザクションの作業コピーを、上記でそれぞれ議論したように、図３に示すようにデータ・セット８０〜８３として、または図４に示すようにデータ・セット１２０〜１２３として、バッファから磁気テープに別々に書き込む。ステップ２６２では、別々に書き込んだ各トランザクションをアクセス・ポイントで識別する。上記で議論したように、例えば図３では、別々に書き込んだ各同期トランザクション５０〜５３をアクセス・ポイント１１０〜１１３によって識別し、図４では、別々に書き込んだ各同期トランザクション５０〜５３をアクセス・ポイント１４０〜１４２によって識別し、蓄積データ・レコードの再書込みを無視し、書込みパス標識を更新しない。その代わりに、アクティブなレコードをアクセス・ポイント１４０〜１４２で示す。ステップ２６５では、プロセスが図７のステップ２２５に戻る。
【００６９】
図８のステップ２４７で、作業コピーを、再書込みした蓄積同期トランザクションに付加して書き込むべきと判定した場合、結合子２７０は図１０のステップ２７１に進む。
【００７０】
ステップ２７１では、データ・セットが部分的にしか満たされていない、検出した同期イベント・パターンの既存の蓄積同期トランザクションが存在するか否かを判定する。存在しない場合、現トランザクションが新しいデータ・セットを開始し、ステップ２７３で書き込む。一例を挙げると、トランザクションは、図４の部分データ・セット１２０中の１つまたは複数のレコード５０と、その後に続くＤＳＳ１３０として現れる。プロセスはステップ２７５に進み、図７のステップ２２５に戻り、トランザクションをバッファに蓄積し、プロセスは最終的に、次の同期トランザクションでの図１０のステップ２７１に戻る。ステップ２２３および２２５を順番に示したが、両者は、同時またはどちらかの順序で行われなければならない。
【００７１】
次いでステップ２７１では、少なくとも１つの蓄積同期トランザクションを有する既存の部分データ・セットがその時に存在するか否かを判定し、ステップ２７８では、データ・セットの蓄積トランザクションを再書込みし、ステップ２８０では、データ・セットに関する書込みパス標識を増分し、ステップ２８３では、再書込みした蓄積トランザクションに現同期トランザクションを付加する。したがって図４では、後続のトランザクション５１が蓄積トランザクション５０に付加され、再書込みした蓄積トランザクション５０および新しい同期トランザクションがデータ・セット１２１として書き込まれ、その後にＤＳＳ１３１が続き、ステップ２７５では、図７のステップ２２５に戻り、上記で議論したように、トランザクション５１をバッファに蓄積し、以下同様である。
【００７２】
ステップ２８０では、上記で議論したように、書込みパス「ＷＰ」を増分することにより、再書込みおよび付加後の書込み済み同期データ・セットをその最新のコピーと識別する。
【００７３】
図７のステップ２３３の特定の実施形態を、ステップ２９０で始まる図１１に示す。ステップ２９１は図８のステップ２４５と類似しており、反復的書込みの任意のラップとは分離した複数のラップのうち少なくとも１つに作業コピーを書き込んだか否かを判定する。そうでない場合、プロセスはステップ２９３に進む。
【００７４】
ステップ２９１で、蓄積バックヒッチレス・ラップ、例えば図５のラップ１８０および１８１を使用したと判定した場合、ステップ２９５では、上記で議論したように、コントローラが、図１のラップ制御システム２７を操作して、上記と同様に電子的切換えまたはシークによりテープ・ヘッド２３を標準ラップにアクセスし、プロセスはステップ２９３に進む。ステップ２９３では、ラップ制御システムが、前のデータの終りに、書込みに必要な速度でテープ・ヘッドを配置するように操作し、プロセスはステップ２９９で図７のステップ２３３に戻り、先行データ１５１の直後に、矢印１６１の方向で、データ・セット１９０として示す蓄積同期トランザクションをバッファから標準ラップ１６０に反復的に書き込む。次いで作業コピー１７０〜１７１を上書きすることができる。さらにステップ２９３では、書込みパス標識またはアクセス・ポイントを更新する。
【００７５】
上記で議論したように、図７のステップ２３３では、コントローラは追加で、図３の別々に書き込む実施形態では、アクセス・ポイント１１５を使用して、反復的に書き込んだトランザクションをその最新のコピーと識別し、データ・セット８０〜８３の識別した別々に書き込んだ同期データ・レコードを置き換え、図４の別々に書き込む実施形態では、アクセス・ポイント１４８を使用して、データ・セット１２１〜１２３の識別した別々に書き込んだ同期データ・レコードを置き換え、図４の再書込みする実施形態では、例えばデータ・セット１４５などに関して書込みパスを追加時に「ＷＰ３」に増分し、データ・セット１２１〜１２３の識別した別々に書き込んだ同期トランザクションを置き換える。
【００７６】
この場合も、結果として、作業コピーを上書きする前に電力が失われた場合、アクセス・ポイントおよび／または書込みパス標識の検証により正確な回復を行うことが可能となる。
【００７７】
本発明を実施することのできる特定のフォーマットに従って、かつ同期データ・レコードの作業コピーの代替位置に従って変更を行うことができることを当業者は理解されよう。さらに、本明細書で示した以外の様々な特定の構成要素の構成を有する様々なテープ・ドライブ、およびテープ・カートリッジを使用することができることを当業者は理解されよう。
【００７８】
本発明の好ましい実施形態を詳細に示したが、特許請求の範囲に記載の本発明の範囲から逸脱することなく、こうした実施形態に対する修正および改作が当業者に思い浮かぶことは明らかであろう。
【図面の簡単な説明】
【００７９】
【図１】本発明を実施することのできる、磁気テープ・カートリッジを有する磁気テープ・ドライブのブロック図である。
【図２】バックヒッチを伴う従来技術の方法を使用して磁気テープ上に書き込まれた同期データの図である。
【図３】本発明の一実施形態を使用して磁気テープ上に書き込まれた同期データの図である。
【図４】本発明の代替実施形態を使用して磁気テープ上に書き込まれた同期データの図である。
【図５】複数のラップを有し、本発明の一実施形態に従って作業コピーを格納するために別々の蓄積バックヒッチレス・ラップを使用して磁気テープ上に書き込まれた同期データの図である。
【図６】同期データのバックヒッチレス書込みのための本発明の方法の一実施形態を示す流れ図である。
【図７】データを反復的に書き込むために同期データを蓄積する本発明の方法の一実施形態を示す流れ図である。
【図８】図７の蓄積同期データを書き込む本発明の方法の一実施形態を示す流れ図である。
【図９】図８の蓄積同期データを書き込む本発明の方法の一実施形態を示す流れ図である。
【図１０】図８の蓄積同期データを書き込む本発明の方法の一実施形態を示す流れ図である。
【図１１】図７の蓄積同期データを反復的に書き込む本発明の方法の一実施形態を示す流れ図である。
【図１】
2005516340.tif 000003
【図２】
2005516340.tif 000004
【図３】
2005516340.tif 000005
【図４】
2005516340.tif 000006
【図５】
2005516340.tif 000007
【図６】
2005516340.tif 000008
【図７】
2005516340.tif 000009
【図８】
2005516340.tif 000010
【図９】
2005516340.tif 000011
【図１０】
2005516340.tif 000012
【図１１】
2005516340.tif 000013
【手続補正書】
【提出日】平成15年9月1日(2003.9.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
磁気テープ・ドライブが、磁気テープを縦方向に移動させる少なくとも１つのモータと、前記磁気テープが前記少なくとも１つのモータによって縦方向に移動する間に、前記磁気テープから読み取り、前記磁気テープに書き込むための少なくとも１つの読取り／書込みヘッドと、前記磁気テープに書き込むべきデータを受け取るインターフェースとを有する前記磁気テープ・ドライブ用の記録システムであって、
ａ）前記磁気テープに書き込むべきトランザクションの形態のデータを格納する、前記インターフェースに結合された少なくとも１つのバッファと、
ｂ）前記少なくとも１つのバッファから前記磁気テープにトランザクションを書き込むための前記少なくとも１つの読取り／書込みヘッドを操作するために、前記少なくとも１つのバッファに結合され、かつ前記少なくとも１つの読取り／書込みヘッドに結合された少なくとも１つの記録チャネルと、
ｃ）前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記少なくとも１つの記録チャネルに結合され、前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記少なくとも１つの記録チャネルを操作するコントローラとを備え、
前記コントローラは、前記少なくとも１つのバッファに格納された同期トランザクションとして前記トランザクションを前記磁気テープに書き込むために同期イベントのパターンを検出し、
前記検出したパターンの前記検出した各同期トランザクションを、前記少なくとも１つのバッファから前記磁気テープに書き込み、
前記各同期トランザクションを前記少なくとも１つのバッファから前記磁気テープに書き込む際に、前記同期トランザクションを前記少なくとも１つのバッファに蓄積し、
その後で、前記蓄積トランザクションを前記少なくとも１つのバッファから前記磁気テープに反復的に順次書き込むように動作可能である、
記録システム。
【請求項２】
前記コントローラが、前記格納した各同期トランザクションを前記磁気テープに書き込む際に、前記少なくとも１つのモータを操作して前記書込み中に停止することなく前記テープを縦方向に移動させ続けながら、追加で、前記磁気テープに書き込まれる前記同期トランザクション間にセパレータ信号を書き込む、請求項１に記載の記録システム。
【請求項３】
前記磁気テープが複数のラップを有し、前記コントローラが、前記検出したパターンの前記格納した各同期トランザクションを前記少なくとも１つのバッファから前記磁気テープに書き込む際に、前記反復的書込みのラップとは別個の前記複数のラップのうち少なくとも１つの上に前記同期トランザクションの少なくとも一部を書き込む、請求項１に記載の記録システム。
【請求項４】
前記コントローラが、前記蓄積トランザクションを後で反復的に書き込む際に、追加で、前記反復的に書き込んだトランザクションをその最新のコピーと識別する、請求項１または２に記載の記録システム。
【請求項５】
前記コントローラが、前記蓄積トランザクションを前記磁気テープに後で反復的に書き込む際に、追加で、前記蓄積トランザクションが所定のしきい値に達することに基づいて、前記蓄積トランザクションのシーケンスを終了させ、蓄積トランザクションの前記終了させたシーケンスを反復的に書き込み、その後で、前記蓄積トランザクションの前記少なくとも１つのバッファを解放する、請求項４に記載の記録システム。
【請求項６】
前記コントローラが、前記格納した同期トランザクションを前記磁気テープに書き込む際に、前記格納した各同期トランザクションを別々のトランザクションとして前記磁気テープに書き込む、請求項１に記載の記録システム。
【請求項７】
前記コントローラが、前記格納した同期トランザクションを前記磁気テープに書き込む際に、データ・セットの形態で前記同期トランザクションを書き込み、データ・セットを部分的に満たす前記検出したパターンの前記同期トランザクションのうち少なくとも１つについて、追加で、前記データ・セットの前記蓄積トランザクションを別のデータ・セット中に再書込みし、後続の前記同期トランザクションを前記再書込みした蓄積トランザクションに付加する、請求項１に記載の記録システム。
【請求項８】
磁気テープ・ドライブが、磁気テープを縦方向に移動させる少なくとも１つのモータと、前記磁気テープが前記少なくとも１つのモータによって縦方向に移動する間に、前記磁気テープから読み取り、前記磁気テープに書き込むための少なくとも１つの読取り／書込みヘッドと、前記磁気テープに書き込むべきデータを受け取るインターフェースとを有する、前記磁気テープ・ドライブ用の記録システムであって、
ａ）前記磁気テープに書き込むべきトランザクションの形態のデータを格納する、前記インターフェースに結合された少なくとも１つのバッファと、
ｂ）前記少なくとも１つのバッファから前記磁気テープにトランザクションを書き込むための前記少なくとも１つの読取り／書込みヘッドを操作するために、前記少なくとも１つのバッファに結合され、かつ前記少なくとも１つの読取り／書込みヘッドに結合された少なくとも１つの記録チャネルと、
ｃ）前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記少なくとも１つの記録チャネルに結合され、前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記少なくとも１つの記録チャネルを操作するコントローラとを備え、
前記コントローラは、前記少なくとも１つのバッファに格納された受信トランザクションに関する、同期トランザクションを含む同期イベントを検出し、
前記検出した同期トランザクションを、前記少なくとも１つのバッファから前記磁気テープに書き込み、
前記書き込んだ同期トランザクションに続いて、前記磁気テープにセパレータ信号を書き込み、その後に受け取ったトランザクションを前記セパレータ信号に続いて前記磁気テープに書き込むまで続行し、
前記少なくとも１つのモータを操作して反復的書込み中に停止することなく前記テープを縦方向に移動させ続けながら、後続の前記検出した同期受信トランザクションごとに、同期受信トランザクションの前記検出と、前記検出した同期トランザクションの書込みと、前記セパレータ信号の書込みとを反復するように動作可能である、
記録システム。
【請求項９】
前記コントローラが、追加で、前記検出した各同期トランザクションについて、前記少なくとも１つのバッファから前記磁気テープへの前記検出した同期トランザクションの前記書込みの完了時に、前記インターフェースで、前記検出した同期トランザクションに関するコマンド完了を戻す、請求項８に記載の記録システム。
【請求項１０】
磁気テープ・ドライブが、複数のラップを有する磁気テープを縦方向に移動させる少なくとも１つのモータと、前記磁気テープが前記少なくとも１つのモータによって縦方向に移動する間に、前記磁気テープから読み取り、前記磁気テープに書き込むための少なくとも１つの読取り／書込みヘッドと、前記少なくとも１つの読取り／書込みヘッドで前記磁気テープの前記ラップにアクセスするラップ制御システムと、前記磁気テープに書き込むべきデータを受け取るインターフェースとを有する、前記磁気テープ・ドライブ用の記録システムであって、
ａ）前記磁気テープに書き込むべきトランザクションの形態のデータを格納する、前記インターフェースに結合された少なくとも１つのバッファと、
ｂ）前記少なくとも１つのバッファから前記磁気テープにトランザクションを書き込むための前記少なくとも１つの読取り／書込みヘッドを操作するために、前記少なくとも１つのバッファに結合され、前記少なくとも１つの読取り／書込みヘッドに結合された少なくとも１つの記録チャネルと、
ｃ）前記少なくとも１つのバッファ、前記少なくとも１つのモータ、および前記ラップ制御システム、および前記少なくとも１つの記録チャネルに結合され、前記少なくとも１つのバッファ、前記少なくとも１つのモータ、前記ラップ制御システム、および前記少なくとも１つの記録チャネルを操作するコントローラとを備え、
前記コントローラは、前記少なくとも１つのバッファに格納された同期トランザクションとして前記トランザクションを前記磁気テープに書き込むために同期イベントのパターンを検出し、
前記ラップ制御システムおよび前記少なくとも１つの読取り／書込みヘッドを操作して、前記磁気テープの少なくとも１つの作業コピー・ラップにアクセスし、前記検出したパターンの前記検出した各同期トランザクションを前記少なくとも１つのバッファから前記磁気テープの前記少なくとも１つの作業コピー・ラップに書き込み、
前記各同期トランザクションを前記少なくとも１つのバッファから前記磁気テープに書き込む際に、前記同期トランザクションを前記少なくとも１つのバッファに蓄積し、
その後で、前記ラップ制御システムおよび前記少なくとも１つの読取り／書込みヘッドを操作して、前記少なくとも１つの作業コピー・ラップから分離した少なくとも１つの通常ラップにアクセスし、前記少なくとも１つのバッファから前記磁気テープの前記少なくとも１つの通常ラップに前記蓄積トランザクションを反復的に順次書き込むように動作可能である、
記録システム。
【請求項１１】
前記コントローラが、追加で、同期イベントの前記パターンを検出する際に、前記少なくとも１つの読取り／書込みヘッドの縦方向位置からのそれぞれの縦方向の前記少なくとも１つの作業コピー・ラップの書込み可能スペースを決定し、前記少なくとも１つのモータ、前記ラップ制御機構、および前記少なくとも１つの読取り／書込みヘッドを操作して、最大の書込み可能スペースを有する前記少なくとも１つの作業コピー・ラップの縦方向で、前記検出した各同期トランザクションの書き込みを開始する、請求項１０に記載の記録システム。
【請求項１２】
前記コントローラが、追加で、前記磁気テープの複数の前記ラップを作業コピー・ラップとして指定し、同期イベントの前記パターンを検出する際に、少なくとも１つの作業コピー・ラップへのアクセスが前記少なくとも１つの読取り／書込みヘッドのシークを必要とするか否かを判定し、必要である場合、最速のシークを有する作業コピー・ラップを選択する、請求項１０に記載の記録システム。
【請求項１３】
磁気テープを縦方向に移動させる少なくとも１つのモータと、
前記磁気テープが前記少なくとも１つのモータによって縦方向に移動する間に、前記磁気テープから読み取り、前記磁気テープに書き込むための少なくとも１つの読取り／書込みヘッドと、
前記磁気テープに書き込むべきデータを受け取るインターフェースと、
請求項１ないし１２のいずれかに記載の記録システムとを備える磁気テープ・ドライブ。
【国際調査報告】
2005516340.tif 000014
2005516340.tif 000015
2005516340.tif 000016