(57)【要約】【課題】磁気テープ装置における書込み操作の際に、同期命令発行時に生ずるバックヒッチの影響を少なくする書込み制御方法を提供する。【解決手段】ホストに接続され、そのホストから送られ、バッファに保管された複数のレコードを１つのトランザクションとしてシーケンシャルに記録するテープ記録装置のための書込み制御方法である。この制御方法は、ホストから第１のトランザクションのための同期命令を受取るステップと、その同期命令に応じてバッファに保管された複数のレコードを第１のトランザクションとしてシーケンシャルにテープに書込むステップと、ホストから第１のトランザクションの後続の第２のトランザクションのサイズを受取るステップと、そのサイズに基づき、第１のトランザクションのための同期命令の作業に伴うバックヒッチの時間を決定するステップと、そのバックヒッチの時間に基づいて、バックヒッチを実行するステップとを備える。この制御方法は、サイズを受取るステップが、少なくともバックヒッチの巻き戻し開始までに第２のトランザクションのサイズを受け取ることを特徴とする。また、この制御方法は、バックヒッチの時間を決定するステップが、そのサイズによりバックヒッチの時間を最短にすることを特徴とする。この制御方法を実装したテープ記録装置、及びホストと接続されたテープ記録装置からなるテープ記録システムも本発明である。本発明は、後続のトランザクションのサイズに応じてバックヒッチ時に戻る距離及び書込み速度を選択できるため全体の書込みパフォーマンスを改善できる有利な効果を有する。【選択図】図４
2009060839.tif 000002
【特許請求の範囲】
【請求項１】
ホストに接続され、当該ホストから送られ、バッファに保管された複数のレコードを１つのトランザクションとしてシーケンシャルに記録するテープ記録装置のための書込み制御方法であって、
前記ホストから第１のトランザクションのための同期命令を受取るステップと、
前記同期命令に応じて、前記バッファに保管された複数のレコードを前記第１のトランザクションとしてシーケンシャルにテープに書込むステップと、
前記ホストから前記第１のトランザクションの後続の第２のトランザクションのサイズを受取るステップと、
前記サイズに基づき、前記第１のトランザクションのための同期命令の作業に伴うバックヒッチの時間を決定するステップと、
前記バックヒッチの時間に基づいて、バックヒッチを実行するステップと、
を備えるテープドライブ書込み制御方法。
【請求項２】
前記サイズを受取るステップは、少なくとも前記バックヒッチの巻き戻し開始までに前記第２のトランザクションのサイズを受け取ることを特徴とする、請求項１に記載の方法。
【請求項３】
前記サイズを受取るステップは、前記第１のトランザクションのための同期命令を受取るステップと同時に前記第２のトランザクションのサイズを受け取ることを特徴とする、
請求項２に記載の方法。
【請求項４】
前記バックヒッチの時間を決定するステップは、前記サイズにより、前記バックヒッチ時に前記ヘッドに対して前記テープの戻る位置を決定して、前記バックヒッチの時間を最短にする、請求項２または３に記載の方法。
【請求項５】
前記バックヒッチの時間を決定するステップは、前記サイズにより、前記第２のトランザクションの書込み速度を決定して、前記バックヒッチの時間を最小にする、請求項２または３に記載の方法。
【請求項６】
前記ホストから送られた別の複数のレコードを前記第２のトランザクションとして前記バッファに一時的に保管するステップと、
前記ホストから前記第２のトランザクションのための同期命令を受け付けるステップと
を更に備え、
前記バックヒッチ後に、前記第２のトランザクションのための同期命令に応じて、前記バッファに保管された複数のレコードを第２のトランザクションとしてシーケンシャルに前記テープに書込むステップとを含むことを特徴とする請求項１ないし５のいずれかの１項に記載の方法。
【請求項７】
ホストに接続され、当該ホストから複数のレコードの書込み命令を受けた場合に前記複数のレコードをシーケンシャルに記録するテープ記録装置であって、
前記複数のレコードを一時的に保管するバッファと、
前記バッファに保管された複数のレコードを記録するテープと、
前記バッファに保管された複数のレコードを前記テープに書込む書込みヘッドと、
前記ホストからの同期命令に応じて、前記バッファに保管された複数のレコードを１のトランザクションとしてシーケンシャルに前記テープに書込み、前記１のトランザクションの書込み後に、後続のトランザクションの書込みのためにバックヒッチを実行する書込み制御手段とを備え、
前記書込み制御手段は、前記ホストから前記１のトランザクションの後続のトランザクションのサイズを受取り、前記サイズに基づき前記バックヒッチの時間を決定することを特徴とする、テープ記録装置。
【請求項８】
前記書込み制御手段は、少なくとも前記バックヒッチの巻き戻し開始までに前記後続のトランザクションのサイズを受け取ることを特徴とする、請求項７記載のテープ記録装置。
【請求項９】
前記書込み制御手段は、前記１のトランザクションのための同期命令を受取ると同時に前記後続のトランザクションのサイズを受取ることを特徴とする、請求項８記載のテープ記録装置。
【請求項１０】
前記書込み制御手段は、前記後続のトランザクションのサイズにより、前記バックヒッチの時間を最短にする、請求項７ないし９のいずれか１項に記載のテープ記録装置。
【請求項１１】
前記ホストと、
前記ホストに接続された請求項７ないし１０のいずれか１項に記載のテープ記録装置と、
を備えるテープ記録システム。
【請求項１２】
前記ホストは、前記後続のトランザクションのサイズを前記テープ記憶装置に少なくとも前記バックヒッチの巻き戻し開始までに発行する、請求項１１に記載のテープ記録システム。
【請求項１３】
前記ホストは、前記後続のトランザクションを前記テープ記憶装置に前記同期命令の発行までにＱｕｅｕｅする機能を有する、請求項１２に記載のテープ記録システム。
【請求項１４】
前記ホストは、前記後続のトランザクションのサイズを前記テープ記憶装置に前記同期命令の発行までにＱｕｅｕｅする機能を有する、請求項１２に記載のテープ記録システム。
【請求項１５】
ホストに接続され、前記ホストから複数のレコードの書込み命令を受けた場合に前記複数のレコードをシーケンシャルにテープに記録するテープ記録装置のための書込み制御プログラムであって、
前記ホストからの同期命令に応じて、バッファに保管された前記複数のレコードを１のトランザクションとしてシーケンシャルに前記テープに書込むステップと、
前記ホストから前記１のトランザクションに後続するトランザクションのサイズを受取り、前記サイズに基づき前記同期命令の作業に伴うバックヒッチの時間を決定するステップと、
をテープ記録装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気テープ装置（テープドライブ、ドライブ）における書込み制御方法に関する。より詳細には、磁気テープ装置における書込み操作の際に、同期命令（Ｓｙｎｃ要求、Ｓｙｎｃコマンド（Ｓｙｎｃｈｒｏｎｏｕｓ  ｃｏｍｍａｎｄ））発行時に生ずるバックヒッチ（Ｂａｃｋｈｉｔｃｈ）の影響を少なくする書込み制御方法に関する。
【背景技術】
【０００２】
従来のリニアデータ書込み方式（ＬＴＯドライブ（非特許文献１）など）を採用するテープドライブのデータの書込み動作を説明する。図１は、一般的なテープドライブ１００の構成図を示す。テープドライブ１００は、バッファ１２０と、記録チャネル１３０と、ヘッド１４ｂと、テープ及びカートリッジ１４ａ，１４ｅと、モータ１５０と、書込み制御手段１６０と、ヘッド位置制御システム１７０と、モータドライバ１８５とを含む。書込み制御手段１６０は、ホスト１０５から受取ったデータ（レコード）をバッファ１２０に書込み指示する書込みコマンド、強制的にバッファ１２０に蓄積された複数のデータをテープ１４ａへ書込み指示する同期命令（Ｓｙｎｃコマンド）を受け取る。インターフェース１１０の通信の規格がＳＣＳＩの場合、ホスト１０５からのデータの書込みコマンドはＷｒｉｔｅコマンドであり、ＳｙｎｃコマンドはＷｒｉｔｅ  ＦｉｌｅＭａｒｋｓ  Ｎｏｎ  Ｉｍｍｅｄｉａｔｅ（Ｗｒｉｔｅ  ＦＭ０）コマンドである。【０００３】
書込み制御手段１６０は、ヘッド位置制御システム１７０及びそのシステム１７０を介してモータドライバ１８５の制御を行う。ドライブ（制御手段１６０）は、データが一定量以上のデータバッファ内に溜まると、逐次データをテープ上に書き込む。ホスト１０５は、バッファ１２０に蓄積された複数のレコードをトランザクションとして確実にテープに書込みたい場合、ドライブに同期命令を発行する。同期命令は、ホスト処理の切れ目によりトランザクションを指示する。ドライブは、一定量以下のデータがバッファ内にある状態で、ホストから同期命令を受け取る。同期命令は、ドライブ内部のバッファに残っているレコードをテープに強制的に書込むために、ホストにより発行される。なお、ドライブ１００はデータ圧縮機能１１０を有している。通常のドライブの利用態様では、ホストが送ったデータは、圧縮（例えば圧縮率５０％）されてバッファ１２０に蓄積されテープ１４ａに記録される。【０００４】
図２は、バックヒッチの作業におけるテープの位置とテープ速度（書込み速度）の関係を示す。
各同期命令の完了と同時に後続の複数のデータ（１つのトランザクション）の書込みのためバックヒッチの次の３つの作業が伴う。
１．テープの速度Ｓ１を減速して、テープを一旦停止させる（減速停止作業）。
２．次に、ヘッド１４ｂに対してテープを反転加速させて直前に書込まれたトランザクションの終端部を越えて減速させて再び停止させる（巻き戻しによる反転加速減速作業）。
３．テープを順方向に加速してテープ走行速度Ｓ２で、次のトランザクションを書込むべき位置に至る（順方向加速作業）。
この３つの作業により、次のトランザクションのテープ書込みにおいて、書込み制御手段はテープ上のデータ間隔（連続するトランザクション間）を小さくして無駄なくテープ記録を行う。【０００５】
図３は、各Ｓｙｎｃコマンドのための作業に伴うバックヒッチ作業中はテープが加減速中であるためデータをテープに書出すことができないことを示す。
テープドライブでは、同期命令ごとに生じるバックヒッチ操作に約２秒かかる。多くの同期命令を伴う多数のレコードの書込みにおいて、バックヒッチ操作を頻発させることが、ホストからの転送データの書込みパフォーマンスを劣化させる原因となる。特に、Ｓｙｎｃ要求が連続するような場合では、書込みの全体時間においてバックヒッチ作業のテープの加速減速の時間が占める割合が大きくなる。従って、ドライブのテープ速度（書込み速度）は、トランザクションのレコード量によって決定した方がよい。【０００６】
特許文献１は、大量のデータ転送は高い転送速度で、少量のデータ転送はトータルで最短時間で処理する磁気テープ装置サブシステムを提供する。この磁気テープ装置サブシステムでは、テープの速度を減速・停止させた後に、加速を開始するまでに、次のデータサイズが確定している場合は、最終的な次のデータ転送速度（テープ速度、書込み速度）を決定できる。【０００７】
【非特許文献１】Ｕｌｔｒｉｕｍ  Ｇｅｎｅｒａｔｉｏｎ３  １６−Ｃｈａｎｎｅｌ  Ｆｏｒｍａｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｄｏｃｕｍｅｎｔ  Ｕ−３１６、Ｒｅｖｉｓｉｏｎ  Ｂ、Ｓｅｐｔｅｍｂｅｒ  ７、２００４
【特許文献１】特開平１０−１９９０７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１の方法では、バックヒッチの反転加速減速作業開始の時点において、ドライブが次のデータ（トランザクション）のサイズを正確に把握することを想定していない。バックヒッチ開始までに次のトランザクションサイズを獲得できない場合、テープを巻き戻す距離及び最終的なテープ速度を決定できず、Ｓｙｎｃ要求毎に発生するバックヒッチ作業時間を小さくすることは困難である。【０００９】
そこで、本発明の目的は、磁気テープ装置における書込み操作の際に、同期命令発行時に生ずるバックヒッチの影響を少なくする書込み制御方法及びその方法を実装したテープ記録装置を提供することである。
【課題を解決するための手段】
【００１０】
かかる目的のもと、本発明は、ホストに接続され、そのホストから送られ、バッファに保管された複数のレコードを１つのトランザクションとしてシーケンシャルに記録するテープ記録装置のための書込み制御方法である。この方法は、ホストから第１のトランザクションのための同期命令を受取るステップと、その同期命令に応じて、バッファに保管された複数のレコードを第１のトランザクションとしてシーケンシャルにテープに書込むステップと、ホストから第１のトランザクションの後続の第２のトランザクションのサイズを受取るステップと、そのサイズに基づき、第１のトランザクションのための同期命令の作業に伴うバックヒッチの時間を決定するステップと、前記バックヒッチの時間に基づいて、バックヒッチを実行するステップとを備えることを特徴とする。【００１１】
また、本発明のテープ記録装置のための書込み制御方法は、前記サイズを受取るステップが、少なくともバックヒッチの巻き戻し開始までに第２のトランザクションのサイズを受け取ることを特徴とする。
また、本発明のテープ記録装置のための書込み制御方法は、第１のトランザクションのための同期命令を受取ると同時に第２のトランザクションのサイズを受け取ることを特徴とする。
また、本発明のテープ記録装置のための書込み制御方法は、前記バックヒッチの時間を決定するステップが、そのサイズにより、バックヒッチ時にヘッドに対してテープの戻る位置を決定して、前記バックヒッチの時間を最短にすることを特徴とする。
また、本発明のテープ記録装置のための書込み制御方法は、前記バックヒッチの時間を決定するステップは、前記サイズにより、前記第２のトランザクションの書込み速度を決定して、前記バックヒッチの時間を最小にすることを特徴とする。
また、本発明のテープ記録装置のための書込み制御方法は、ホストから送られた別の複数のレコードを前記第２のトランザクションとして前記バッファに一時的に保管するステップと、ホストから前記第２のトランザクションのための同期命令を受け付けるステップとを更に備え、前記バックヒッチ後に、前記第２のトランザクションのための同期命令に応じて、前記バッファに保管された複数のレコードを第２のトランザクションとしてシーケンシャルに前記テープに書込むステップとを含むことを特徴とする。【００１２】
更に、かかる目的のもと、本発明は、ホストに接続され、そのホストから複数のレコードの書込み命令を受けた場合に前記複数のレコードをシーケンシャルに記録するテープ記録装置である。
この装置は、前記複数のレコードを一時的に保管するバッファと、前記バッファに保管された複数のレコードを記録するテープと、前記バッファに保管された複数のレコードを前記テープに書込む書込みヘッドと、ホストからの同期命令に応じて、前記バッファに保管された複数のレコードを１のトランザクションとしてシーケンシャルに前記テープに書込み、前記１のトランザクションの書込み後に、後続のトランザクションの書込みのためにバックヒッチを実行する書込み制御手段とを備え、前記書込み制御手段は、ホストから前記１のトランザクションの後続のトランザクションのサイズを受取り、前記サイズに基づき前記バックヒッチの時間を決定することを特徴とする。【００１３】
更に、かかる目的のもと、本発明は、ホストと、そのホストに接続された前記テープ記録装置と、を備えるテープ記録システムである。
また、本発明のテープ記録システムは、ホストが、後続のトランザクションのサイズをテープ記憶装置に少なくとも前記バックヒッチの巻き戻し開始までに発行することを特徴とする。
また、本発明のテープ記録システムは、ホストが、後続のトランザクションをテープ記憶装置に前記同期命令の発行までにＱｕｅｕｅ（キュー、即ち待ち行列）する機能を有することを特徴とする。
また、本発明のテープ記録システムは、ホストが、後続のトランザクションのサイズをテープ記憶装置に前記同期命令の発行までにＱｕｅｕｅする機能を有することを特徴とする。【００１４】
更に、かかる目的のもと、本発明は、ホストに接続され、そのホストから複数のレコードの書込み命令を受けた場合に複数のレコードをシーケンシャルにテープに記録するテープ記録装置のための書込み制御プログラムである。このプログラムは、ホストからの同期命令に応じて、バッファに保管された複数のレコードを１のトランザクションとしてシーケンシャルに前記テープに書込むステップと、ホストから前記１のトランザクションに後続するトランザクションのサイズを受取り、前記サイズに基づき前記同期命令の作業に伴うバックヒッチの時間を決定するステップと、をテープ記録装置に実行させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、次のトランザクションのサイズに応じてバックヒッチ時に戻る距離及び後続のトランザクションの書込み速度を選択できるため全体の書込みパフォーマンスを改善できる有利な効果を有する。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下実施例）について詳細に説明するが、特許請求の範囲に記載される発明（本発明）は以下の実施例に限定されるものではない。【００１７】
図４は、バックヒッチ動作における現在のテープ速度Ｓ１（Ｖ１＝５．４５ｍ／ｓ）、次のテープ速度Ｓ２（Ｖ６＝２．０４６ｍ／ｓ）の場合のテープの各移動位置を示す。この図により、Ｓｙｎｃ動作の際に発生するバックヒッチ動作について考察する。バックヒッチを行うための手順は、下記の通りである。
１．テープの速度Ｓ１を減速させテープ位置Ｙに至る（減速停止作業）。
２．次にトランザクションの書込み速度Ｓ２を決定するために、位置Ｙからどこの位置Ｘまで戻れば良いかを判定する。即ち、位置Ｘは、次のトランザクションを書く速度Ｓ２までに加速（加速度Ａ［ｍ／ｓ２］）させるのに十分な位置である。
３．加速（加速度Ａ）に十分な位置Ｘに戻った後（巻き戻しによる反転加速減速作業）、ターゲットとなる位置（図４の位置＝０）まで加速する（順方向加速作業）。位置ＹはＳ１、位置ＸはＳ２からそれぞれ求めることができる。
【数１】
2009060839.tif 000003
よって、バックヒッチにより戻らなければいけない距離は、Ｚ＝Ｙ（Ｓ１）＋Ｘ（Ｓ２）となる。Ｚの距離を移動するのに必要な時間Ｋは、現在のテープ速度Ｓ１，次のテープ速度Ｓ２の関数であり、
【数２】
2009060839.tif 000004
となる。なお、上記３つの式は、等加速度運動の式（速度ｖ、位置ｘ、加速度ａ，時間ｔとしてｖ＝ａｔ、ｘ＝（１／２）ａｔ２）により導出される。【００１８】
バックヒッチに必要な時間Ｔは、Ｓ１とＳ２の関数として表される。即ち（Ｓ１が減速するのに必要な時間）＋（加速に必要な距離Ｚを戻る時間）＋（Ｓ２まで加速する時間）により、次式で与えられる。
【数３】
2009060839.tif 000005
【００１９】
次に、書込み処理（Ｗｒｉｔｅコマンド：バッファへのデータの蓄積）と同期処理（Ｓｙｎｃコマンド）が連続して行われる場合のバックヒッチ時間と書込み時間の割合を評価する。ホストは、現在の同期処理が終了した時点から、次のトランザクションの書込み処理と同期処理が完了するまでをテープへの一つの書込みサイクルとする。現在の同期処理が終了した際のテープスピードをＳ１、次の書き込み処理を行うテープスピードをＳ２、トランザクションサイズＤ, テープ上のデータ記録密度ｄ［ＭＢｙｔｅ／ｍｅｔｅｒ］とすると、バックヒッチ時間Ｔを含めた書込み完了時間Ｗｔｉｍｅは、Ｓ２の関数として次式により与えられる。
【数４】
2009060839.tif 000006
【００２０】
式２を最小にするＳ２をドライブのテープスピードに選ぶことにより、直前のトランザクションの同期処理の完了後、バックヒッチを経て次のトランザクションの同期作業が完了するまでの一つのサイクルの時間を最少にすることができる。実際の書込み動作では、次のトランザクションを書く速度Ｓ２を、直前のトランザクションの同期作業後のバックヒッチ開始時点において、確定させる必要がある。【００２１】
例えば第三世代ＬＴＯテープドライブの場合、次のデータを書込む速度Ｓ１及びＳ２［ｍ／ｓｅｃ］には、６個の値、Ｖ１＝５．４５５，Ｖ２＝４．７７３，Ｖ３＝４．０９２，Ｖ４＝３．４１，Ｖ５＝２．７２８，Ｖ６＝２．０４６を割当てる。データ記録密度ｄ＝１４．６７［ＭＢｙｔｅ／ｍｅｔｅｒ]を用いて、式２が一番小さくなる次の速度Ｓ２を選択する。ホストから送られたトランザクションが圧縮されてバッファに蓄積されテープに記録される場合、データサイズＤは圧縮率を考慮した値となる。【００２２】
図５は、ホストが、レコードＡ, Ｂ，Ｃ，ＤをそれぞれトランザクションとしてＳｙｎｃコマンドにより強制的にテープに書出す場合を示す。トランザクションＡ,Ｂ，Ｃ，Ｄのサイズ（トランザクションサイズ）は、それぞれ異なっている。ホスト・アプリケーションの実際の利用形態では、任意の処理の切れ目でＳｙｎｃコマンドを発行するため、トランザクションサイズは様々である。【００２３】
例えば、Ｂのデータを書き出した後、テープを止めてバックヒッチを開始する。Ｃのデータ量が一定以上であれば、位置Ｙ（図４）の時点で、テープドライブは次のＣのトランザクションサイズはまだわからない。なぜなら、データ書き込みコマンドで送られてくるデータＣをバッファ内に受け取っている最中であり、トランザクションサイズが大きいため、Ｓｙｎｃコマンドをまだ受け取り完了していないからである。もし、戻る距離が大きすぎると必要以上にバックヒッチが大きくなる。一方、戻る距離が短すぎると、さらにテープを移動して最適なテープ位置に戻る余計な動作が必要になり、バックヒッチの時間が大きくなる。いずれの場合も、巻き戻しのステップで正確でない位置Ｘ（図４）に戻ることになってしまい、書込みパフォーマンスに影響する。特に、バックヒッチが頻発する書込みにおいて、各バックヒッチの際に次のトランザクションＡ，Ｂ，Ｃ，Ｄのサイズがわからないため、全体の書込みパフォーマンスに大きな影響を与える。【００２４】
図６は、バックヒッチ時間Ｔ（Ｓ１，Ｓ２）の式１に、現在の書込み速度Ｓ１と次の書込み速度Ｓ２とにＶ１、Ｖ２、・・・・Ｖ６を代入して計算された表を示す。この表は、第三世代ＬＴＯテープドライブの場合、加速度Ａ＝１０[ｍ／ｓｅｃ２]，Ｓ１、Ｓ２がＶ１からＶ６の値をとる場合のバックヒッチ時間を与える。【００２５】
式１において、データＢを書くのに最適なスピードＳ２はＶ１＝５．４５［ｍ／ｓｅｃ］（斜線部）であり、データＣを書くのに最適なスピードはＶ６＝２．０４６［ｍ／ｓｅｃ］（斜線部）であったと仮定する。ドライブは、データＢを書くために現在の速度Ｓ１が５．４５［ｍ／ｓｅｃ］で駆動し、バックヒッチ開始時点において次のデータＣのサイズを知らない場合、最適な次の速度Ｓ２を選択できない。例えば、ドライブは、現在の速度Ｓ１と同じ値５．４５［ｍ／ｓｅｃ］でＣを書き出す場合には、位置Ｘ（図４）は必要以上に前方に戻ってしまう。図６の斜線部分から、データＣを書き始める直前のバックヒッチの作業において２．１８２−１．５７４＝０．６０８秒分の無駄な時間を浪費することがわかる。本発明では、ドライブが、次のデータＣのサイズを、その書込み直前のバックヒッチの少なくともその反転加速減速作業の時までに獲得できるようにする。そうすれば、ドライブは、式１に基づいて最適な次のテープ速度Ｓ２＝２．０４６を選択できるため、０．６０８秒分の書込み時間ロスを無くすことができる。【００２６】
本発明を実現するために、次の処理の内容が必要である。
１．ホストが次のトランザクションサイズを指定できるインターフェースをドライブ側に用意する。例えば、次の書込みデータのトランザクションサイズを指定できるように、ＷｒｉｔｅＦＭコマンド（Ｓｙｎｃコマンド）を拡張する。
２．そのためにホスト側で書き込み処理の列を作って待つ（ＱｕｅｕｉｎｇまたはＱｕｅｕｅ）機能を設ける。次のトランザクションサイズをＳｙｎｃコマンド発行時には確定しておく必要がある。そうすれば、Ｓｙｎｃコマンドと同時に、または個別に、少なくとも反転加速減速開始までに、トランザクションサイズをドライブに教えることができる。なお、ＳＣＳＩなどを含む通信プロトコルのスペック上、ドライブは、Ｓｙｎｃコマンドを完了するまで次のデータを受け取れないので、ドライブ側においてＱｕｅｕｅ機能を設けることはできない。
３．ドライブがホストから次のトランザクションサイズを受け取った場合に、ドライブはそれを用いてバックヒッチ時に次のテープ速度Ｓ２、及びバックヒッチの戻る位置Ｘを決定する。【００２７】
図７は、ホストのアプリケーション側での処理（７００）のフロー・チャートを示す。具体的には、ホストがデータとトランザクションサイズをテープドライブに伝える、フローである。
ホストは、書き出すデータを決定する（７１０）。
ホストは、所定のサイズのデータをテープドライブに転送する（７２０）。
ホストは、このデータの転送の際に、次に書き出すデータ単位があるかを判定する（７３０）。
ホストは、次に書出すデータ単位がある場合（Ｙｅｓ）（７３０）、その次のトランザクションサイズが確定しているか判定する（７４０）。ホストは、１または２以上のデータ（レコード）を１つのトランザクションとして指定する。この判定は、ホストにおいて、次のトランザクションまたはそのトランザクションサイズのＱｕｅｕｅ機能を有することを意味する。
次のデータサイズ（トランザクションサイズ）が確定している場合（Ｙｅｓ）、ホストはそのトランザクションサイズを取得（Ｑｕｅｕｅ機能）する（７５０）。
ホストは、そのトランザクションサイズを、Ｓｙｎｃコマンドの新たに拡張したパラメータに設定する。（７６０）。
ホストは、データ転送終了のために、次のトランザクションサイズを組み込んだＳｙｎｃコマンド（例えば、ＷｒｉｔｅＦＭ  Ｉｍｍｅｄｉａｔｅ）をテープドライブに発行する（７７０）。なお、次のトランザクションのデータサイズは、そのＳｙｎｃコマンド直後に少なくともバックヒッチの反転加速減速作業開始までに別のコマンドを用いてドライブに伝えてもよい。【００２８】
次に、テープドライブがホストから次のトランザクションサイズとＳｙｎｃコマンドを受取った場合の処理内容は以下の１〜３のステップである。
１. ホストからＳｙｎｃコマンドを受け取る際に、ドライブはそのＳｙｎｃコマンドと同時に次のトランザクションサイズも受け取る。
２.ドライブが受取ったＳｙｎｃコマンドに、トランザクションサイズ（式２のＤ）が指定されていた場合に、式２のＷｔｉｍｅが最小となるＳ２をＶ１〜Ｖ６から選択する。
３．次のスピードＳ２で書き出すためのバックヒッチの作業を開始する。
ステップ２において選択された次の速度Ｓ２を用いて、式２の第１項の時間Ｔ（Ｓ１、Ｓ２）の実質的バックヒッチの作業、及び第２項の時間Ｄ／ｄＳ２の後続のトランザクションの書込み作業を実行する。このバックヒッチ作業により、トランザクションサイズが一定量以上であっても、最適な書込み速度Ｓ２を選択できるため、全体の書込みパフォーマンスのロスを小さくできる。【００２９】
図８は、テープドライブがホストからＳｙｎｃコマンドと次のトランザクションサイズを受取ったときの詳細な書込み動作のフロー・チャートを示す。
ホストから複数のデータの転送が開始され、ドライブは各データを受取りデータバッファにデータを逐次貯める。
ドライブはデータが一定量以上のデータバッファ内に貯まると、逐次データをテープ上に書き込む。一定量以下のデータがバッファ内にある状態で、ホストからＳｙｎｃコマンドを受け取る（８００）。
ドライブは、そのＳｙｎｃコマンドの拡張パラメータに、次のトランザクションサイズが指定されているかを判定する（８１０）。次のトランザクションのサイズが指定されている場合（Ｙｅｓ）、後続のトランザクションをデータバッファに蓄積する作業を行いつつ、バックヒッチの作業（８３０）及び次のトランザクション書込みの作業（８４０）を行う。次のトランザクションのサイズが指定されていない場合（Ｎｏ）、後続のトランザクションの書込み速度Ｓ２を現在の書込み速度Ｓ１と同じ値として（８５０）、バックヒッチの作業など（８３０、８４０）を行う。【００３０】
なお、後続のトランザクションのサイズがわからない場合（８５０）、必ずしもＳ２をＳ１と同じ値でなくてもよい。しかし、このような場合、そのサイズ（式２のＤ）が大きいことを想定してＳ２に最大の値とすることが、全体の書込みパフォーマンスのためである。式２の書込み完了時間Ｗｔｉｍｅ（Ｓ２）は、サイズＤが大きい場合でＳ２を小さいと仮定すると、式２の第２項（Ｄ／ｄＳ２）が第１項のバックヒッチ時間Ｔ（Ｓ１，Ｓ２）に比べて大きくなり、バックヒッチ時間を削減する意義がなくなるからである。【００３１】
以上、上記の実施形態において、シーケンシャルにテープにデータが書込まれるテープ記録装置における書込み制御方法を開示した。この書込み制御方法では、ホストから次のトランザクションのサイズを、少なくともバックヒッチのテープ巻き戻し作業までにテープ記録装置に通知することにより、そのサイズに応じて戻る距離を最適にして、全体として書込みパフォーマンスを改善できる。【００３２】
以上の実施形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【００３３】
【図１】一般的なテープドライブの構成図である。
【図２】バックヒッチの作業におけるテープの位置とテープ速度（書込み速度）の関係を示す。
【図３】各Ｓｙｎｃコマンドのための作業に伴うバックヒッチ作業中はテープが加減速中であるためデータをテープに書出すことができないことを示す。
【図４】バックヒッチ動作における現在のテープ速度Ｓ１（Ｖ１＝５．４５ｍ／ｓ）、次のテープ速度Ｓ２（Ｖ６＝２．０４６ｍ／ｓ）の場合のテープの各移動位置を示す。
【図５】ホストが、レコードＡ, Ｂ，Ｃ，ＤをそれぞれトランザクションとしてＳｙｎｃコマンドにより強制的にテープに書出す場合を示す。
【図６】バックヒッチ時間Ｔ（Ｓ１，Ｓ２）の式１に、現在の書込み速度Ｓ１と次の書込み速度Ｓ２とにＶ１、Ｖ２、・・・・Ｖ６を代入して計算された表を示す。
【図７】ホストのアプリケーション側での処理（７００）のフロー・チャートを示す。
【図８】テープドライブがホストからＳｙｎｃコマンドと次のトランザクションサイズを受取ったときの詳細な書込み動作のフロー・チャートを示す。
【符号の説明】
【００３４】
１００…テープドライブ、
１０５…ホスト、
１１０…インターフェース、
１２０…バッファ、
１３０…記録チャネル、
１４ａ…テープ、１４ｂ…ヘッド、１４ｃ，１４ｄ…リール、
１４ｅ…カートリッジ、
１５０…モータ、
１６０…書込み制御手段、
１７０…ヘッド位置制御システム、
１８５…モータドライバ
【図１】
2009060839.tif 000007
【図２】
2009060839.tif 000008
【図３】
2009060839.tif 000009
【図４】
2009060839.tif 000010
【図５】
2009060839.tif 000011
【図６】
2009060839.tif 000012
【図７】
2009060839.tif 000013
【図８】
2009060839.tif 000014
【国際調査報告】
2009060839.tif 000015
2009060839.tif 000016