"上位装置から複数のデータのWrite要求、及び、前記Write要求に対応して同期要求を受取り、該同期要求の完了を上位装置返す、テープドライブであって、上位装置からのコマンドを受取るインタフェースと、上位装置からのデータを一次保管するバッファと、前記バッファに保管されたデータを記録するテープ媒体と、前記バッファから前記テープ媒体へデータを記録する書込み制御とを含み、前記インタフェース部は、上位装置からの連続して発行される複数のコマンドを非同期に処理できるように複数のコマンドをキューイングできる機能を有し、前記書込み制御は、a上位装置から第1の同期要求に続いて後続のデータ群のWrite要求を受取り、b前記コマンドのキューニング機能を利用して後続のWrite要求を受取った後に第1の同期要求の処理が完了しそのタイミングで前記完了を返す、ことを特徴とするテープドライブ。前記書込み制御は、前記バッファに保管されたデータに対して同期要求を受け取った時のデータのバッファに保管された最終のデータのバッファ位置を第1の同期要求の位置として保存する請求請1に記載のテープドライブ。前記書込み制御は、1上位装置からの複数の第1のWrite要求に対応するデータを受取り、バッファに保管するステップと、2上位装置から前記バッファに保管されたデータに対して第1の同期要求を受取るステップと、3第1の同期要求の位置を前記同期キューにより保存するステップと、4前記コマンドのキューイング機能を使って、前記後続のWrite要求として上位装置から複数の第2のWrite要求を受取るステップと、5第2のWrite要求に対するデータ転送指示を上位装置に送るステップと、6前記転送指示に応答して、上位装置から転送されたデータをバッファに保管するステップと、7第1の同期要求に対応するバッファ位置に保管された最終データがテープ媒体に記録されたかをチェックするステップと、8前記チェックにおいて前記同期キューに保管されている同期要求のバッファ位置のデータがテープ媒体に書込まれている場合、前記同期要求の完了を上位装置に返すステップと、9上位装置から前記バッファに保管されたデータに対して第2の同期要求を受取り、前記3-8ステップを第2の同期要求及び第3のWrite要求に対して実行するステップと、を含む請求請2に記載のテープドライブ。第1の同期要求の完了を、第2のWrite要求を上位装置から受信後に上位装置に返す請求請3に記載のテープドライブ。第1の同期要求の完了を、第2のWrite要求に対してデータ転送指示を上位装置に発送後に上位装置に返す請求請4に記載のテープドライブ。第1の同期要求の完了を、前記更にデータ指示転送に対する第2のデータを上位装置から受信後に上位装置に返す請求項5に記載のテープドライブ。第1の同期要求の完了を、前記更に第2のデータに対する第2の同期要求を上位装置から受信後に上位装置に返す請求項6に記載のテープドライブ。上位装置は、非同期に複数のコマンドを前記テープドライブに発行するホストである請求項1~7の何れか1項に記載にテープドライブ。上位装置から複数のデータのWrite要求、及び、前記Write要求に対応して同期要求を受取り、該同期要求の完了を上位装置返す、テープドライブの書込み方法であって、前記テープドライブは、上位装置からのコマンドを受取るインタフェースと、上位装置からのデータを一次保管するバッファと、前記バッファに保管されたデータを記録するテープ媒体と、前記バッファから前記テープ媒体へデータを記録する書込み制御とを含み、更に上位装置からの連続して発行される複数のコマンドを非同期に処理できるように、前記複数のコマンドの複数をキューイングできる機能を有し、a上位装置から、第1の同期要求に続いて後続のデータ群のWrite要求を受取るステップと、b前記コマンドのキューニング機能を利用して後続の複数のWrite要求を受取った後に第1の同期要求の処理が完了し、そのタイミングで前記完了を返すステップと、を含むデータ書込み方法。上位装置から複数のデータのWrite要求、及び、前記Write要求に対応して同期要求を受取り、該同期要求の完了を上位装置返す、コンピュータを含むテープドライブへデータ書込みためのプログラムであって、前記テープドライブは、上位装置からのコマンドを受取るインタフェースと、上位装置からのデータを一次保管するバッファと、前記バッファに保管されたデータを記録するテープ媒体と、前記バッファから前記テープ媒体へデータを記録する書込み制御とを含み、更に上位装置からの連続して発行される複数のコマンドを非同期に処理できるように、前記コマンドの複数をキューイングできる機能を有し、a上位装置から第1の同期要求に続いて後続のデータ群のWrite要求を受取るステップと、b前記コマンドのキューニング機能を利用して後続の複数のWrite要求を受取った後に第1の同期要求の処理が完了し、そのタイミングで前記完了を返すステップと、をコンピュータに実行させるプログラム。しかしながら、RABFは、余分な移動ABFRecursive間、及び、同じデータをテープに2度書する、など余分な処理時間を要する。また、特許文献3は、ホストが新規に導入した2つのコマンドでポーリングPollingを必要とする。ホストはドライブ同期処理の終了を確認するためにホスト-ドライブ間のインタフェースにおいて一定間隔で問い合わせる時間を要する。ポーリングによる問い合わせがテープへの書込みパフォーマンスに影響を与える。本発明の目的は、同期要求後もバックヒッチなしで後続の書込みデータを受け付けるテープ媒体への書込み装置及びその書込み方法を提供することである。上記の目的を達成する本発明は、上位装置から複数のデータのWrite要求、及び、前記Write要求に対応して同期要求を受取り同期処理バッファに保管されたデータをテープ媒体に記録の完了を上位装置返す、テープドライブである。このテープドライブは、上位装置からのコマンドを受取るインタフェースと、上位装置からのデータを一次保管するバッファと、前記バッファに保管されたデータを記録するテープ媒体と、前記バッファから前記テープ媒体へデータを記録する書込み制御とを含み、前記インタフェース部は、上位装置からの連続して発行される複数のコマンドを非同期Asynchronousに処理できるように、複数のコマンドをキューイングできる機能を有す。前記書込み制御は、a上位装置から第1のWrite要求により転送されたデータがバッファに保管し、第1の同期要求に続いて後続のデータ群のWrite要求を受取り、b前記コマンドのキューニング機能を利用して後続の複数のWrite要求を受取った後に第1の同期要求の処理第1のデータ群がバッファから前記テープ媒体に記録が完了し、そのタイミングで前記完了を返すことを実行する。このテープドライブの書込み制御は、前記バッファに保管されたデータに対して同期要求を受け取った時のデータのバッファに保管された最終のデータのバッファ位置を同期要求の位置として保存し、同期キューの機能として複数の同期要求の位置を保存することを特徴とする。このテープドライブの書込み制御は、1上位装置からの複数の第1のWrite要求に対応するデータを受取り、バッファに保管するステップと、2上位装置から前記バッファに保管されたデータに対して第1の同期要求を受取るステップと、3第1の同期要求の位置を前記同期キューにより保存するステップと、4第1同期要求の完了なしでも、前記コマンドのキューイング機能を使って、前記後続のWrite要求として上位装置から複数の第2のWrite要求を受取るステップと、5第1の同期要求の位置に対応するバッファに保管されたデータがテープ媒体に書けているかどうかに関わらず、第2のWrite要求に対するデータ転送指示を上位装置に送るステップと、6前記転送指示に応答して、上位装置から転送されたデータをバッファに保管するステップと、7第1の同期要求に対応するバッファ位置に保管された最終データがテープ媒体に記録されたかをチェックするステップと、8前記チェックにおいて前記同期キューに保管されている同期要求のバッファ位置のデータがテープ媒体に書込まれている場合、前記同期要求の完了を上位装置に返すステップと、9上位装置から前記バッファに保管されたデータに対して第2の同期要求を受取り、前記3-8ステップを第2の同期要求及び第3のWrite要求に対して実行するステップと、を含むことを特徴とする。このテープドライブは、第1の同期要求の完了を第2のWrite要求を上位装置から受信後に上位装置に返すことを特徴とする。このテープドライブは、第1の同期要求の完了を第2のWrite要求に対してデータ転送指示を上位装置に発送後に上位装置に返すことを特徴とする。このテープドライブは、第1の同期要求の完了を前記更にデータ指示転送に対する第2のデータを上位装置から受信後に上位装置に返すことを特徴とする。このテープドライブは、第1の同期要求の完了を前記更に第2のデータに対する第2の同期要求を上位装置から受信後に上位装置に返すことを特徴とする。上位装置は、非同期Asychronousに複数のコマンドを前記テープドライブに発行するコンピュータサーバであることを特徴とする。更に上記の目的を達成する本発明は、上位装置から複数のデータのWrite要求、及び、それに対応する同期要求を受取り、同期処理バッファデータをテープ媒体に記録、の完了を上位装置に返すテープドライブの書込み方法である。このテープドライブは、上位装置からの連続して発行される複数のコマンドを非同期に処理できるように前記複数のコマンドの複数をキューイングできる機能を有する。この書込み方法は、a上位装置から第1のWrite要求により転送されたデータをバッファに保管に保管し、第1の同期要求に続いて後続のデータ群のWrite要求を受取るステップと、b前記コマンドのキューニング機能を利用して後続の複数のWrite要求を受取った後に第1の同期要求の処理を完了しそのタイミングでその完了を返すステップと、を含む。更に上記の目的を達成する本発明は、上位装置から複数のデータのWrite要求、及び、対応する同期要求を受取り同期処理バッファデータをテープ媒体に記録、該同期要求の完了を上位装置返す、コンピュータへのデータの書込み制御のためのプログラムである。前記テープドライブは、上位装置からの連続して発行される複数のコマンドを非同期に処理できるように、前記コマンドの複数をキューイングできる機能を有する。このプログラムは、a上位装置から第1のWrite要求により転送されたデータバッファに保管し、第1の同期要求に続いて後続のデータ群のWrite要求を受取るステップと、b前記コマンドのキューニング機能を利用して後続の複数のWrite要求を受取った後に第1の同期要求の処理第1の前記データ群がバッファから前記テープ媒体に記録が完了し、そのタイミングで前記完了を返すステップとをコンピュータに実行させる。以上の本発明の適用により、テープドライブは同期処理の完了を確実に保証すると同時に一連の複数のWrite要求によるデータのテープ媒体への書込みのパフォーマンスの改善できる。以下、添付図面を参照して、本発明を実施するための本発明の実施形態以下実施例ともいうについて詳細に説明する。図1は、本実施の形態が適用されるテープドライブ10の構成例を示した図である。テープドライブ10は、ホスト30から送られた複数のデータを固定長のデータセットDataSet:DSとも言う単位でテープ媒体への書込みをする。DSは複数のデータの集まりであり、固定長のフォーマット構造を有するテープ媒体に書込む単位である。本発明はDSが可変長である場合を排除するものではない。このテープドライブ10は、ホストインターフェイス以下、インタフェースという11と、バッファ12と、チャネル13と、ヘッド14と、モータ15とを含む。また、書込み読取り制御コントローラ16と、ヘッド位置制御システム17と、モータドライバ18とを含む。更に、テープドライブ10には、テープカートリッジ20が挿入されることにより装填可能となっているので、ここでは、テープカートリッジ20も図示している。このテープカートリッジ20は、リール21、22に巻かれたテープ23を含む。テープ23は、リール21、22の回転に伴い、リール21からリール22の方向へ、又は、リール22からリール21の方向へ、長手方向に移動する。尚、テープ23としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。ここで、インタフェース11は、上位装置の一例であるホスト30との通信を行う。例えば、ホスト30から、テープ23へのデータの書込みを指示するコマンド、テープ23を目的の位置に移動させるコマンド、テープ23からのデータの読出しを指示するコマンドを受け取る。このインタフェース11で用いる通信規格としては、SCSIが例示される。SCSIの場合、1つ目のコマンドは、Writeコマンドに相当し、2つ目のコマンドは、LocateコマンドやSpaceコマンドに相当し、3つ目のコマンドは、Readコマンドに相当する。また、インタフェース11は、ホスト30に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。バッファ12は、テープ23に書き込むべきデータやテープ23から読み出されたデータを蓄積するメモリである。例えば、DRAMDynamicRandomAccessMemoryによって構成される。また、バッファ12は、複数のバッファセグメントからなり、各バッファセグメントが、テープ23に対する読み書きの単位であるデータセットDSを格納している。1つのデータセットは、ホスト30から送られるデータの1つの一部分、または、複数のデータから構成される。読み書きチャネル13を介して渡されたデータはDS単位例えば400KBまたは1.6MBとして、ヘッド14によりテープ23に書込まれる。同期コマンドSynchronousは、バッファ内に保管されたデータをテープに書く込み要求である。チャネル13は、テープ23に書き込むべきデータをヘッド14に送ったり、テープ23から読み出されたデータをヘッド14から受け取ったりするために用いられる通信経路である。ヘッド14は、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込んだり、テープ23から情報を読み出したりする。モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。書込み読取り制御16は、テープドライブ10の全体を制御する。例えば、インタフェース11で受け付けたコマンドに従って、データのテープ23への書込みやテープ23からの読出しを制御する。また、ヘッド位置制御システム17やモータドライバ18の制御も行う。本発明のテープドライブは、先のホストから要求された同期が完了する前に、後続のWriteコマンドに対するデータ転送を受け付ける機能を要求する。キューイングをサポートしているテープドライブにおいて、ドライブが同期要求を受け取った後に他のデータ書込みを可能にする処理を実行する。本発明のテープドライブは、複数のコマンドを受け付けて、それぞれ独立、且つ、非同期Asynchronousに各処理を実行することができる。テープドライブのキューニング機能は、インタフェース11に組み込まれるSCSIインタフェースなどが具備している。本発明の実施例では、ホストのアプリケーション適用業務も、複数のコマンドを各処理の完了を確保できなくとも、非同期に発行する。このキューニング機能により、ドライブのバッファが空になることを防ぐことにより、ドライブは、バックヒッチなしに同期要求Synchronousを処理できる。SCSIインタフェースの場合、テープドライブでは、同期要求のコマンドとして、WriteFilemarkコマンドを使用する。このコマンドは、Filemarkを指定された数バッファに書き込んだ後、バッファ内のデータをすべてテープ媒体に書き出す同期処理を行う。Filemarkを書かずに、同期処理のみを行う場合、書き込むFilemarkを0として、WriteFM0というコマンドを発行する。図2は、現行のテープドライブにけるWriteデータと従来の同期要求の場合のトランザクションのシーケンスを示す。トランザクションシーケンスは、ドライブ内でのホストデータホストからドライブに転送中のデータ、バッファデータバッファに保管されているデータ、及びテープデータテープに書かれたバッファデータの関係を示す。ホストから時間の経過とともにWriteコマンドによりデータn、n1、n2、n3、が送られ、バッファ12のセグメント毎に保管される変遷を示す。同期要求WriteFM0を受取った後データn4がテープに記録同期処理が完了するまで、後続のWriteデータn5,n6,を受取り不可能であることを示す。テープドライブは、同期コマンドに対して完了のステータスCompを送ったときには、同期コマンドを受け取る直前までバッファに入っていたデータをテープ媒体上に書いたことを保障する。その同期要求の記録が完了した後は、バッファは空になる。点線の示される円内は、従来の同期処理では、後続のデータを既にデータを書き込んだテープ位置の直後に書くために、ヘッド移動がバックヒッチを行うことを示す。点線の円内の直線矢印は、テープをバックヒッチさせてヘッドのテープへの位置を同期完了によりデータが書き込まれたテープ位置直後まで移動させる過程を示す。点線の矩形内は、先のWriteFM0の完了Comp後に。後続のWriteデータn5,n6,n7を受取る様子を示す。バックヒッチを行なわずに、後続のデータを書くと、テープ媒体上には、飛び飛びにデータが書かれるため、メディアの記録容量が低下するとともに、読み出し速度も遅くなる。図3は、本発明のドライブにけるWriteデータと同期要求WriteFM0のトランザクションのシーケンスを示す。トランザクションシーケンスは、ドライブ内でのホストデータホストからドライブに転送中のデータ、バッファデータバッファに保管されているデータ、及びテープデータテープに書かれたバッファデータの関係を示している。ホストから時間の経過とともにWriteコマンドによりデータn、n1、n2、n3、が送られ、バッファ12のセグメント毎に保管される変遷を示す。本発明では、次の処理でこのバックヒッチを回避し、高速にデータを書き込むことができる。本発明のドライブは、同期コマンドを受取り、実際に同期処理が完了する前であっても、続くWriteデータを受取ることができる。ホストは、キューイング機能を使って同期処理完了前に後続のWriteデータを転送する。同期処理の完了Compを待たずにホストが後続のWriteデータn5,n6,n7,をドライブに送る。点線矩形内のトランザクションの推移は、ドライブがそれらWriteデータn5,n6,n7,をドライブが受取っている様子を示す。後続のWriteデータn7を受け取っている最中に、同期キューに保存されたバッファ位置データn4まで同期処理の完了テープに記録がされた場合、そのタイミングで同期完了をホストに返す。本発明のテープドライブは、次の機能を有する同期キュー機能を具備する。a同期コマンドが来たときに、同期されるべき最終データが保管されているバッファの位置を覚えおく。bその後に続くWriteコマンド中に同期されるべき最終データがテープ上に書かれているかどうかを確認する。cテープ上に書かれていたら、そのタイミングで先に受け取った同期コマンドに対して完了Compをホストに返す。同期キュー機能は、インタフェース11または書込み読み取り制御コントローラ16に組み込ませてもよい。同期要求が複数回重なったとしても、その都度、ドライブは各同期要求のバッファでの物理位置を同期キューに保存すればよい。バッファの物理位置に対応する対応するデータがテープ媒体上に記録されたとこれで、対応する同期要求にステータスを返すことで、入れ子の同期要求に対しても対応可能である。図4は、複数の書込みデータWriteコマンド及びそのデータ及び複数の同期要求WriteFM0のドライブの動作のフローチャートを示す。このフローチャートは、最も簡単な、複数の同期要求が入れ子にならない場合の動作の例示である。1405:ホストは、データ書込みWriteコマンドとデータ、同期コマンドWriteFM0をドライブに発行する。ホストは、キューイングを使って、WriteFM0コマンドのステータスが返ってこなくても、次に書き込むべきデータに対するWriteコマンドをドライブに送る。2410、415:ドライブはコマンドを受取り、WriteコマンドまたはWriteFM0かを区別する。3420:ドライブは、415においてホストからWriteFM0を受信した場合、同期キュー機能によりバッファ位置を保存しておく。4425:ドライブは、WriteFM0コマンドを受け取った時のデータがすべてテープ媒体に書けているかどうかに関わらず、データ転送指示をホストに送る5430:ホストは、405で発行したWriteコマンドに対するデータを転送する。6435:ドライブは、ホストから送られてくるデータをバッファに保管する。7440:ドライブは、バッファ位置のデータがテープ場合居たに記録されているかをチェックする。420において同期キューに保存されたWriteFM0のバッファ位置までのデータの全てがテープ媒体に記録されている場合、そのコマンドに対するステータスをホストに返す。8ステップ1~3においける後続のWriteコマンド及びデータに対する同期要求WriteFM0に対してステップ4-7を繰り返す。10MBのファイルを1000個、合計10GBのデータをファイル単位で同期処理を行い、書き込んだ場合の、それぞれの方法でかかる時間を示す。各パラメータは以下のように定義する;メディアへの転送レート:160MB/SIBMテープドライブTS1130相当、バックヒッチ時間5Sec、RABF用バッファーサイズ1GB。また、ホストからのドライブへの転送レートは、十分早いと仮定する。従来の書込み方法において、RABFを利用しない書込みを考える。同期要求で常にバックヒッチを行うので、メディアに書き込む時間と、バックヒッチの時間の足し算で求められる。×10005×1000=6255000=50625従来の書込み方法において、RABFを利用する場合を考える。同期要求お受け取った際に、ABF領域に書いていき、RABF用バッファーサイズがいっぱいになったところで、Recurrsive領域に書き直す。すべてのデータは2回メディアに書かれる。RABF用バッファーサイズは、1GBなので10回RABFサイクルを繰り返す。1回のRABFサイクルで、バックヒッチは2回必要である。2×1000×10=125100=225本発明の書込み方法では手法では、上記2つの例と同等の条件において×1000=625の値が得られる。本発明のドライブは、同期要求を受け取った後もWriteコマンドと書き込みデータを受け取るので、バックヒッチなしでデータを書き続けることを想定している。この評価値は、本発明のテープドライブでは、テープ媒体への転送時間のみで書込みを終了することができるとして算定している。本発明の書込み法の評価値は、上記2つの従来の書込み方法の値と比較して、書込みパフォーマンス上十分な優位性を表している。以上本発明によれば、同期処理の完了を確実に保証すると同時に一連の複数のWrite要求によるデータ書込みのパフォーマンスの改善できるテープドライブ提供がされる。"