"固定長のデータセットDSの単位でテープに記録する装置において、ホストからのファイルの書込み要求に応じて前記ファイルを書込む方法であって、第1のファイルの書込み要求を受けた場合に、第1のファイルを複数のDSとしてテープに書込むステップと、前記複数のDSの最後のDSのDS番号をNDSN及びWP番号をMWPMとして不揮発性メモリに保管するステップと、第1のファイルに続いて第2のファイルの書込み要求を受けた場合に、第1のファイルを含む前記最後のDSDSN、WPMの後続のDSに、前記最後の第1のファイル及び第2のファイルを詰めて順次DS単位でテープに書き込むステップと、第2のファイルを含む前記DSに順にDSN、DSN1及びWPM1として前記不揮発性メモリに保管するステップと、を実行するテープ書込み方法。第2のファイルに続いて第3のファイルの書込み要求を受けた場合において、前記残余の第1、第2、または第3のファイルを詰めてDSNでWPM2で、WPMのDSNを上書きするステップと、第2のファイル及び第3のファイルのDSN以降の残り部分は後続のDSのDSN1、N2として、WPM2としてテープに書込むステップと、前記DSN、N1,N2で、そのWPM2であることを不揮発性メモリに保管するステップと、を実行する請求項1に記載の方法。前記DSN,WPM2の書込みが成功した場合、前記DSDSNのWPM2を不揮発性メモリから削除し、前記DSN、DSN1,DSN2で、そのWPM2であることを不揮発性メモリに保管するステップとを含み、前記DSNを見出す場合前記不揮発性メモリを参照してWPM2のDSを読み出すことを特徴とする請求項2に記載の方法。前記DSN,WPM2の書込みが失敗した場合、前記DSNを見出す場合前記不揮発性メモリに保管されたWPM2のDSに含まれる第1、第2、または第3のファイルを読み出すことを特徴とする請求項2に記載の方法。前記ファイルが前記データセットの固定長より十分小さい場合に、前記固定長のデータセットを複数の前記ファイルで詰めることにより、前記データセットの固定長に対して書込み記録密度を100に近づけることを特徴とする請求項3に記載の方法。前記ファイルごとの書込み要求は、ホストから書込み命令Writeに続いて同期命令Flushが伴うことを特徴とする請求項1~5何れか1項に記載の方法。前記不揮発性メモリは、前記テープを含むカートリッジに具備されているCMカートリッジメモリであることを特徴とする請求項1~6何れか1項に記載の方法。前記同期命令に続いて前記書込められたファイルの後部に区切りマークFMを書き込むことを特徴とする請求項7に記載の方法。固定長のデータセットDSの単位でテープに記録するコンピュータにおいて、ホストからのファイルの書込み要求に応じて前記ファイルを前記テープに書込むプログラムであって、第1のファイルの書込み要求を受けた場合に、第1のファイルを複数のDSとしてテープに書込むステップと、前記複数のDSの最後のDSのDS番号をNDSN及びWP番号をMWPMとして不揮発性メモリに保管するステップと、第1のファイルに続いて第2のファイルの書込み要求を受けた場合に、第1のファイルを含む前記最後のDSDSN、WPMの後続のDSに、前記最後の第1のファイル及び第2のファイルを詰めて順次DS単位でテープに書き込むステップと、第2のファイルを含む前記DSに順にDSN、DSN1及びWPM1として前記不揮発性メモリに保管するステップと、をコンピュータに実行させるプログラム。固定長のデータセットDS単位でテープに記録し、ホストからのファイルの書込み要求に応じて前記ファイルを前記テープに書込む、テープ記録装置であって、ホストからのファイルを一時保管するバッファと、前記バッファに保管されたデータセットを固定長のDS単位で書き込まれるテープ媒体と、前記ファイルを前記データセットDS単位で前記テープ媒体に書き込む書込み読出し制御手段とを備え、前記書込み読み出し制御手段は、第1のファイルの書込み要求を受けた場合に、第1のファイルを複数のDSとしてテープに書込むステップと、前記複数のDSの最後のDSのDS番号をNDSN及びWP番号をMWPMとして不揮発性メモリに保管するステップと、第1のファイルに続いて第2のファイルの書込み要求を受けた場合に、第1のファイルを含む前記最後のDSDSN、WPMの後続のDSに、前記最後の第1のファイル及び第2のファイルを詰めて順次DS単位でテープに書き込むステップと、第2のファイルを含む前記DSに順にDSN、DSN1及びWPM1として前記不揮発性メモリに保管するステップと、第2のファイルに続いて第3のファイルの書込み要求を受けた場合において、前記残余の第1、第2、または第3のファイルを詰めてDSNでWPM2で、WPMのDSNを上書きするステップと、第2のファイル及び第3のファイルのDS番後がNの残り部分は後続のDSとしてDSN1、N2として、WPM2としてテープに書込むステップと、前記DSN、N1,N2で、そのWPM2であることを不揮発性メモリに保管するステップと、を実行するテープ記録装置。ところで、データセットの容量は1.6MBであるので、例えば256KBのファイルを書いてはFMを書くことを繰り返すアプリケーションを利用する。データセットの容量よりも十分大きなサイズのファイルを書き込む場合と比べ記録密度が2割以下にまで低下するという課題が存在する。これが本発明により解くべき課題である。本発明の目的は、テープへの書込み方法、特に小さなトランザクションをテープ書込みすることを要求され場合の書込方法、そのプログラム、及びテープドライブを提供することである。上記の目的を達成する本発明は、固定長のデータセットDSの単位でテープに記録する装置において、ホストからのファイルの書込み要求に応じて前記ファイルを書込む方法である。この書込み方法は、ステップ1第1のファイルの書込み要求を受けた場合に、第1のファイルを複数のDSとしてテープに書込むステップと、前記複数のDSの最後のDSのDS番号をNDSN及びWP番号をMWPMとして不揮発性メモリに保管するステップと、ステップ2第1のファイルに続いて第2のファイルの書込み要求を受けた場合に、第1のファイルを含む前記最後のDSDSN、WPMの後続のDSに、前記最後の第1のファイル及び第2のファイルを詰めて順次DS単位でテープに書き込むステップと、第2のファイルを含む前記DSに順にDSN、DSN1及びWPM1として前記不揮発性メモリに保管するステップと、を実行する。この書込み方法は、ステップ3第2のファイルに続いて第3のファイルの書込み要求を受けた場合において、前記残余の第1、第2、または第3のファイルを詰めてDSNでWPM2で、WPMのDSNを上書きするステップと、第2のファイル及び第3のファイルのDS以降の残り部分は後続のDSとしてDSN1、N2として、WPM2としてテープに書込むステップと、前記DSN、N1,N2で、そのWPM2であることを不揮発性メモリに保管するステップと、を含む。この書込み方法は、前記DSN,WPM2の書込みが成功した場合、前記DSDSNのWPM2を不揮発性メモリから削除し、前記DSN、DSN1,DSN2で、そのWPM2であることを不揮発性メモリに保管するステップとを含み、前記DSNを見出す場合前記不揮発性メモリを参照してWPM2のDSを読み出すことを特徴とする。この書込み方法は、前記DSN,WPM2の書込みが失敗した場合、前記DSNを見出す場合前記不揮発性メモリに保管されたWPM2のDSに含まれる第1、第2、または第3のファイルを読み出すことを特徴とする。この書込み方法は、前記ファイルが前記データセットの固定長より十分小さい場合に、前記固定長のデータセットを複数の前記ファイルで詰めることにより、前記データセットの固定長に対して書込み記録密度を100に近づけることを特徴とする。この書込み方法は、前記ファイルが前記データセットの固定長より十分小さい場合に、前記固定長のデータセットを複数の前記ファイルで詰めることにより、前記データセットの固定長に対して書込み記録密度を100に近づけることを特徴とする。この書込み方法は、前記不揮発性メモリが、前記テープを含むカートリッジに具備されているCMカートリッジメモリである。この書込み方法は、前記同期命令に続いて前記書込められたファイルの後部に区切りマークFMを書き込むことを特徴とする。更に上記の目的を達成する本発明は、固定長のデータセットDSの単位でテープに記録するコンピュータにおいて、ホストからのファイルの書込み要求に応じて前記ファイルを前記テープに書込むプログラムである。本発明のプログラムは、ステップ1第1のファイルの書込み要求を受けた場合に、第1のファイルを複数のDSとしてテープに書込むステップと、前記複数のDSの最後のDSのDS番号をNDSN及びWP番号をMWPMとして不揮発性メモリに保管するステップと、ステップ2第1のファイルに続いて第2のファイルの書込み要求を受けた場合に、第1のファイルを含む前記最後のDSDSN、WPMの後続のDSに、前記最後の第1のファイル及び第2のファイルを詰めて順次DS単位でテープに書き込むステップと、第2のファイルを含む前記DSに順にDSN、DSN1及びWPM1として前記不揮発性メモリに保管するステップと、をコンピュータに実行させることを特徴とする。更に上記の目的を達成する本発明は、固定長のデータセットDS単位でテープに記録し、ホストからのファイルの書込み要求に応じて前記ファイルをテープに書込む、テープ記録装置である。本発明の装置は、ホストからのファイルを一時保管するバッファと、前記バッファに保管されたデータセットを固定長のDS単位で書き込まれるテープ媒体と、前記ファイルを前記データセットDS単位で前記テープ媒体に書き込む書込み読出し制御手段とを備え、前記書込み読み出し制御手段は、ステップ1第1のファイルの書込み要求を受けた場合に、第1のファイルを複数のDSとしてテープに書込むステップと、前記複数のDSの最後のDSのDS番号をNDSN及びWP番号をMWPMとして不揮発性メモリに保管するステップと、ステップ2第1のファイルに続いて第2のファイルの書込み要求を受けた場合に、第1のファイルを含む前記最後のDSDSN、WPMの後続のDSに、前記最後の第1のファイル及び第2のファイルを詰めて順次DS単位でテープに書き込むステップと、第2のファイルを含む前記DSに順にDSN、DSN1及びWPM1として前記不揮発性メモリに保管するステップと、ステップ3第2のファイルに続いて第3のファイルの書込み要求を受けた場合において、前記残余の第1、第2、または第3のファイルを詰めてDSNでWPM2で、WPMのDSNを上書きするステップと、第2のファイル及び第3のファイルのDS番後がNの残り部分は後続のDSとしてDSN1、N2として、WPM2としてテープに書込むステップと、前記DSN、N1,N2で、そのWPM2であることを不揮発性メモリに保管するステップと、を実行することを特徴とする。以上の書込み方法を実装したテープドライブは、書込みエラー時のファイルの回復を保証しつつ、テープ上のデータ記録密度を向上させる有利な効果を有する。以下において、本発明のテープドライブのデータファイル、トランザクションの書込み方法について、幾つかの典型的な実施形態以下実施例というが説明される。これら実施例は、例示であり本発明の選択方法を限定するものではない。図3は、ファイルAと次のファイルBを分離されたDSに書かない場合の、エラーが生じる事態を示す。テープドライブが、2つのFMを1つのデータセットに格納すると、ファイルAとFM2つを書き込む際に、上書き動作が生じる。その全てをDSNに詰め込むと、上書きして最後尾のFMを消し、ファイルB書き込むためにはDSNを書き直す必要がある。ファイルBを書き込む際、ファイルBもDSNの空き領域に追加しDSNを書き込む。ファイルBを書き込み時にエラーが発生した場合に、すでに書き込んだことを保証しているファイルAのデータまで失われてしまう。そこで、書き込みエラー発生時にファイルAが失われることを防ぐ手段として、Bを別のDSに書くことを考えている。ファイルBを書き込む際にファイルAを含むDSNを再度書きこむ必要がないように、2つ目以降のFMを別のDSに分離しているのである。なおWORMカートリッジでは、一度書いたファイルAやその直後のFMを上書きすることは許されていない。図4は、本実施形態が適用されるテープドライブ10の構成例を示した図である。テープドライブ10は、ホスト30から送られた複数のファイル、またはデータファイルを固定長のデータセットDS単位でテープ記録媒体への書込みまたは上書きWriteする。DSは複数のファイルの集まりであり、固定長のフォーマット構造を有するテープに書込む単位である。尚、本発明はDSが可変長である場合を排除するものではないが、以下実施形態ではDSが固定長である場合について説明する。テープドライブ10は、インターフェース11と、バッファ12と、チャネル13と、ヘッド14と、モータ15と、テープ23を巻きつけるリール22とを含む。書込み読取り制御16と、ヘッド位置制御システム17と、モータドライバ18とを含む。モータ15は、2個のモータを設けてよい。テープドライブ10は、テープカートリッジ20を着脱可能に搭載する。テープカートリッジ20は、リール21に巻かれたテープ23を含む。テープ23は、リール21、22の回転に伴い、リール21からリール22の方向へ、又は、リール22からリール21の方向へ、長手方向に移動する。テープ23は、磁気テープ以外のテープ媒体でもよい。読取り時に、テープを目的位置まで高速に移動させることができるように、テープドライブでは、テープカートリッジの属性テープディレクトリと呼ばれる情報を、テープカートリッジ内に装備されているカートリッジメモリCM:CartridgeMemory25と呼ばれる非接触不揮発性メモリに記録している。搭載されたテープ20のカートリッジCM25は、テープドライブ10により非接触的に読み書きされる。図7は、CMに登録されている、テープカートリッジの属性情報のメモリマップを表す。テープドライブは、上書き時に書き込み位置をずらした再試行を行った場合、再試行によりDS情報を、CMに記録する。メディアの傷により上書きできない問題を避けるために、テープカートリッジに付帯するCMに上書き時に書き込み位置をずらして書き込む。例えばCMには、特定のDSについて書込み回数の最新値がWP値として記録される。ヘッド14は、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込んだり、テープ23から情報を読出したりする。モータ15は、リール21、22を回転させる。1つのモータ15を表しているが、リール21、22の各々に1つずつのモータを設けるのが好ましい。書込み読み込み制御16は、テープドライブ10の全体を制御する。例えば、インターフェース11で受け付けたコマンドに従って、データのテープ23への書込みやテープ23からの読取りを制御する。また、ヘッド位置制御システム17やモータドライバ18の制御、及び、書込みデータへの訂正符号の付加読取りデータのエラー訂正も行う。モータドライバ18は、モータ15を駆動する。インターフェース11は、上位装置の一例であるホスト30との通信を行う。ホスト30から、テープ23を目的の位置に移動させるコマンド、テープ23へのデータの書込みを指示するコマンド、テープ23からのデータの読取りを指示するコマンドを受け取る。それぞれは、位置決めコマンド、Writeコマンド及び同期コマンドFlush、Readコマンドに相当する。また、インターフェース11は、ホスト30に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。ホスト30は、これらコマンドに可変長のデータの位置、数を指定してテープドライブ10に発行する。バッファ12は、テープ23に書き込むべきデータやテープ23から読出されたデータを蓄積するメモリである。例えば、DRAMによって構成される。また、バッファ12は、複数の固定長のバッファセグメントからなり、各バッファセグメントが、テープ23に対する読み書きの単位であるデータセットDSを格納している。1つのデータセットは、ホスト30から送られるデータの1つの一部分、または、複数のデータから構成される。読み書きチャネル13を介して渡されたデータはDS単位例えば400KBまたは1.6MBとして、ヘッド14によりテープ23に書込まれる。同期コマンドはバッファ内に保管されたデータをテープに書く込み命令である。図5は、テープに同じDSNのDSが古い順に3つ上書きにより古いDSを完全に重ね書きをしたと仮定した状態を示す。テープドライブは、データを読出す場合に、DSの順にデータを読出す。同じDSNのDSが複数存在するときにはWPの大きなDSのデータを読出す。テープドライブにより、特定の番号のDSの上書きの例により、DSの読取り時にCMのディレクトリを参照して、読取りパフォーマンスに影響しない。また順次読み進んで行く場合、あるWPのDSを読出したら、その後それより低いWPを有するDSは不要なObsoleteなファイルデータである。WPにより不要なデータを無視してテープ上を読み進む。例えば、テープドライブが、DSNを読む場合WP1,2,3を有する3つのDSNを読み取る。テープドライブは、テープに書込まれたDSN-1のWP値が3の場合に3より低位のWP1とWP2のDSを無視する。図6は、最初にDSが1から20までテープに書かれた後上図、DS10のDSが上書きされた状態下図を示す。テープドライブは、上書きしたDS10のDSより後続のDSDS11~20を無視してシーケンシャル読出しを行う。テープドライブが、DS10~20を読取る方法は、上書きしたDS10にWP2を割当てることにより、古いDS10のDSWP1と識別される。テープドライブは、DS10が上書きされた後では下図、読取り時に、当初から書込み済みのDS11~20を無視する。この場合テープ上に11、12、のDSが存在したとしても、テープドライブは、古いDS11、12、のWPは追記で書き込んだDS10のWPよりも低いため、DS10以降のDSは存在しないものと見なす。従って、図6の例においても、読取りパフォーマンスに影響なく、かつ、誤って古いデータセットに含まれるデータを送るデータ保全DI:DataIntegirityの問題を生じない。図8を用いて、本発明の書込み方法を説明する。本発明の書込み方式では、WPを利用して、新たな手順で各ファイルを書き込む。新たな書込み方法により、ファイルサイズがデータセットの容量に対し比較的小さい場合のテープメディア上のデータの記録密度を向上させ、データ保証、書込みパフォーマンスなどに影響を与えることはない。図9は、本発明のファイル書込みのステップ1~4を示すフローチャートである。1.802ホストからファイルAとFMを2つ書き込むよう依頼された場合である。テープドライブはそれらを全てデータセットDSNに書き込む。DSNのWPはWPMであり、CMに登録される。ここで2つ目のFMをDSNに詰めることは、本発明にとって必須の要件ではない。2つ目のFMをDSN1に格納しても本発明の範囲である。2.804次にホストから、最後のFMの手前からファイルB、およびFM2個を書き込むよう依頼された場合である。テープドライブはファイルAを含むデータセットの後方にファイルBおよびFMを詰め込みDSNWPM2としてテープメディア上に書き込む。806このとき、従来とは異なり、DSNWPMのデータセットを上書きしない。本発明の特徴は、DSNWPMのデータセットを上書きしないで、ファイルAとBをDSNWPMのデータセットの後方にDSNWPM1のデータセットを書き込む。807このように書き込んだままではDSNの読み出し時に、WPM1のDSNの換わりにWPMのDSNをホストに送信してしまう危険がある。DSNを読み出す際は、テープカートリッジが持つ不揮発性メモリなどに、WPM1のDSNを読み出すよう記録されている。データセットDSNを読み出す際、CMの記録データに基づいてWPM1のデータセットDSNを読み出せばよい。3.808次にホストから、最後のFMの手前からファイルC、およびFM2個を書き込むよう依頼された場合である。ファイルA~CおよびFMを詰めこめるだけDSNに詰め込む。810DSNをWPM2のデータセットとしてDSNWPMのデータセットを上書きするようにテープ媒体に書き込む。812ファイルCの書き込みに成功した場合である。ステップ3は、DSNWPM2の2以上のDSDSN、N1に跨って書き込みに成功した場合である。このデータセットの書き込みに成功した時点でDSNの読み出し時にWPM1のDSNを読み出す必要はなくなる。ステップ2でCMに登録したDSWPの情報は削除する。DSNに入りきらなかったデータはDSN1、N2として格納しテープに書き込まれる。814DSNWPM2のDSの書込みを失敗した場合である。ステップ3808においてCの書込みを行った場合に、テープドライブがファイルA及びファイルBを読み出す場合である。ステップ2807でCMに格納した情報を元に、書き損なったDSN、WPM2の情報は無視して、DSNのDSについては、CMを参照してWPM1のDSを読み出す。DSNWPM2のDSを書き損なったとしても、WPM1のDSを読出すことによりファイルAおよびBを回復できる。4.816:以下、ファイルD、E、F以降もステップ2とステップ3の手順を繰り返せば良い。なお、図7に示されるDataSet番号DS及びWritepass番号WPの対応関係の保管は、カートリッジが具備するCMに限定されない。例えば、DS及びWPはテープドライブが具備する不揮発性メモリに保管されてもよい。以上の説明は、理解の簡単にするため、ファイルのサイズがデータセットの容量の半分以下であることを想定している。本発明は、データセットのサイズより十分小さいトランザクションサイズの場合に有効である。しかしながら、ファイルサイズが例えデータセットの容量1.6MBより大きい場合であっても本発明は適用可能である。データセットのサイズより十分大きなファイルBの書き込み時に新たに書き込むデータセットを書き始める位置を直近に書いたデータセットから十分離すことである。また、各データセットを物理的に上書きするタイミングを調節することにより適応できる。ファイルBのサイズが非常に大きい数GB場合には、上記ステップ3808は多くのDSの書き直しが介在する。ファイルCの書き込み時にDSNWPMのDSを上書きするためにファイルBを書き直すことステップ3808は、時間がかかるため現実的ではない。WPMとWPM2の2つのDSNをテープ上に残したままにしておくことになる。DSの読み出しの観点では上述の通り問題ない。また、テープの容量の影響という観点でも従来の手法図2及びその説明と比較しても特に問題とはならない。ファイルBのサイズが非常に大きい場合に、Bの書き直しステップ3808に時間がかかる。ファイルCの書き込みを待たずに、DSNWPM2のDSの書込みが成功した直後にそのDSのデータ内容でDSNWPMのDSを上書きしてもよい。ファイルBについて、DSNの後続のデータ、即ちDSN1以降についてそのまま書き続けても良い。そのようにするとテープを一回余分に巻き戻す2~4秒必要があるためファイルBの書き込み所要時間が上記手順の場合と比較し数秒長くなる。その一方、WPMとWPM2の2つのDSNをテープ上に残すことによるテープの容量の損失を避けることができる。上記手順では、DSNWPM2のデータセットの書き込みをステップ3の冒頭に持ってきたが、これはファイルCの書き込みを待たずにステップ2の末尾で行っても良い。そうするのであれば、ファイルCの書き込みもステップ2の手順が適用できる。ファイルを連続して書き込む場合、DSがNで、WPがM2のデータセットの書き込みをステップ2で行なうようにするとテープを一回余分に巻き戻す必要がある。そのためパフォーマンスに悪い影響を与えるようにおもえる。しかしながら、各ファイルを書き込むにあたり間隔が数秒以上開いているので、テープドライブにとって数秒以上アイドルな時間があることになる。これは余分な時間とならず実装を簡単にできる効果がある。テープメディアの容量への効果は、ひとえにファイルサイズとデータセットサイズの相関に依存する。データセットの容量をC、ファイルサイズをFとすると、テープメディア上に従来手法のCF倍だけ余分にデータを書き込めるようになる。例えばデータセットの容量が1.6MBであり、ファイルサイズが256KBである場合には、1.6MB/256KB=6.4倍書き込めるようになる。書込みパフォーマンスへの効果という点では、本発明の書込み手法ではパフォーマンスが改善することが期待される。例えばファイルサイズが256KBの場合、従来手法図2及びその説明ではファイル毎にDSを2つずつ書いていた。本発明の手法では2回に1回はDSを1つ書くだけで良くなるためパフォーマンスの改善が期待できる。テープを動かすスピードを1.5[m/sec]テープドライブは約1.5[m/sec]~8.5[m/sec]の範囲でテープメディアを動かすことができる。DSを少数書き込む場合はテープの定速走行時間よりも加減速にかかる時間が効いてくるため遅いテープ速度を選択した方がパフォーマンスは良くなる。加速度を10[m/sec^2、加速後テープの走行が安定するまでの時間を0.4[sec]と、データセットの長さを10[cm]とするとDSを1つ、ないし2つ書き込む所要時間は次のように算出される。DS1つ:4×1.5/100.4×21×0.1/1.5=1.47secDS2つ:4×1.5/100.4×22×0.1/1.5=1.53secまた、従来手法では常にDS1つ分手前に戻る必要がある。本発明の手法ではステップ2では書き終わったDSの直後から書き始められる一方、ステップ3ではDS2つ分戻る必要がある。本発明の書込み手順は、パフォーマンスの観点では定性的には従来手法より優れているが定量的には数の改善であり有意な差はない。"