(57)【特許請求の範囲】
【請求項１】
テープをその長手方向に往復走行させながらデータを記録するテープドライブにおいて、データをテープに書き込むための方法であって、
少なくとも２以上のデータソースの各々から受け取ったデータをバッファに保管するステップと、
テープの所定長の第１のラップに、前記バッファに保管された前記２以上のデータソースの各々から受け取ったデータを、前記データソース毎に予め決められたラップの特定の領域に、前記データソース毎に所定の順番で書き込むステップと、
前記テープの前記第１のラップの終端に至った時点で、前記テープの第２のラップにヘッドを移動させて、前記テープを前記第１のラップへの書き込みとは逆方向に走行させながら、前記第２のラップの前記所定長において、前記データソース毎に予め決められたラップの特定の領域に、前記第１のラップにおける前記所定の順番の逆順で前記データソース毎のデータを書き込むステップと、
を含む方法。
【請求項２】
前記第１のラップへの書き込みおよび前記第２のラップへの書き込みのステップは、書き込むべきデータが前記ラップの特定の領域に書き込み可能なデータ量よりも少ない場合、当該データの後に続けて所定のダミーデータを当該特定の領域の端部に至るまで書き込むことを含む、請求項１の方法。
【請求項３】
前記第１のラップおよび前記第２のラップの前記所定長は、当該所定長のラップにおいて記憶可能な容量をＶｒとした場合、前記バッファの記憶容量Ｖｂと、前記データソースの数Ｎを用いた、
Ｖｒ＝Ｖｂ＊Ｎ／（Ｎ＋１）
の関係式で求められる記憶容量Ｖｒを基に定められる、請求項１または２の方法。
【請求項４】
さらに、前記テープの前記第２のラップの終端に至った時点で、前記テープの第３のラップにヘッドを移動させて、前記テープを前記第１のラップへの書き込みと同じ方向に走行させながら、前記第３のラップの前記所定長において、前記データソース毎に予め決められたラップの特定の領域に、前記第１のラップにおける前記所定の順番と同じ順番で前記データソース毎のデータを書き込むステップを含む、請求項１の方法。
【請求項５】
前記所定の順番は、前記データソースから送られてくるデータの転送速度に応じて定められる、請求項１〜４のいずれか１項の方法。
【請求項６】
前記ラップの特定の領域は、前記データソース毎に送られてくるデータの量に応じて定められる、請求項１〜５のいずれか１項の方法。
【請求項７】
前記第１のラップ、前記第２のラップ、または前記第３のラップにおける前記所定長は、前記バッファの記憶容量Ｖｂに応じて定められる、請求項４の方法。
【請求項８】
前記テープドライブは、通信可能な少なくとも１つのコンピュータと共に１つのファイルシステムを構成する、請求項１〜７のいずれか１項の方法。
【請求項９】
テープをその長手方向に往復走行させながらデータを記録するテープドライブにおいて、データをテープに書き込むためのプログラムであって、前記テープドライブに、
少なくとも２以上のデータソースの各々から受け取ったデータをバッファに保管するステップと、
テープの所定長の第１のラップに、前記バッファに保管された前記２以上のデータソースの各々から受け取ったデータを、前記データソース毎に予め決められたラップの特定の領域に、前記データソース毎に所定の順番で書き込むステップと、
前記テープの前記第１のラップの終端に至った時点で、前記テープの第２のラップにヘッドを移動させて、前記テープを前記第１のラップへの書き込みとは逆方向に走行させながら、前記第２のラップの前記所定長において、前記データソース毎に予め決められたラップの特定の領域に、前記第１のラップにおける前記所定の順番の逆順で前記データソース毎のデータを書き込むステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープドライブに関し、より具体的には、テープドライブにおいてテープへデータを書き込むための方法、プログラムに関する。
【背景技術】
【０００２】
LTFS（Linear Tape File System）の登場により、テープメディアを利用するにあたり、TSM（Tivoli Storage Manager）のようなアプリケーションを用いなくても、USBメモリのようにファイルシステム経由でテープメディアを利用することが可能になった。
【０００３】
複数のデータソース、例えば、数台の監視カメラが撮影した動画を、１つのテープドライブに挿入された１本のテープメディアに保存したい場合がある。この場合、テープメディアにデータ書き込み時の転送速度は、カメラ当たり、テープメディアの最高転送速度の２０分の１程度で十分であるが、テープメディアからデータを読み出す際は、可能な限り早い速度でデータを読み出すことが期待されている。
【０００４】
今、Ｎ台のカメラが撮影したデータを並行してテープメディアに書き込んだ場合、読み出し時の転送速度は、テープメディアの最高転送速度の１／Ｎになる。これは、図１に示すように、テープメディア上の動画ファイルがフラグメント化し、例えば動画１を読み出す場合には、動画（１−Ｘ）の部分を全て読み出すために、動画（２−Ｘ）から動画（４−Ｘ）までの部分を読み飛ばす必要があるからである。
【０００５】
従来の１つの解決策として、一度テープメディアに書き込んだ各動画データを、再度同じ、あるいは別のテープメディアに動画ファイル毎に書き直すことで、テープメディア上のデータを図２に示すように記録させることができる。これにより、各動画が必要になった際にテープメディアからデータを読み出す際の転送速度をテープメディアの最高転送速度まで向上させることができる。
【０００６】
しかし、そのためには、データを書き直すための、別なテープドライブおよびテープメディアが必要となる。また、同じテープメディアに書き直すにしても、テープメディアの容量が半減するため、同じ量の画像を記録するためには、書き直さない場合の２倍の記憶量のテープメディアが必要となる。さらに、データを書き直すための手間と時間が必要となる。
【０００７】
別法として、一旦バッファにデータを溜め込み、各カメラからの全てのデータが揃ってからファイルを１つずつ書き込むことも可能である。しかし、そのためには非常に大きなバッファ領域が必要となり、コスト対効果の観点で現実的ではない場合が多い。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−９９２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、テープドライブでのテープからのデータ読み出し速度、より正確には、読み出し時のデータ転送速度を向上させることである。
【００１０】
本発明の目的は、特に複数のデータソースからデータがテープドライブに連続的に送られてくるような場合に、テープドライブでのテープへの新規なデータ書き込み方法を提案することにより、データ読み出し時のデータ転送速度を向上させることを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、テープをその長手方向に往復走行させながらデータを記録するテープドライブにおいて、データをテープに書き込むための方法を提供する。その方法は、（ａ）少なくとも２以上のデータソースの各々から受け取ったデータをバッファに保管するステップと、（ｂ）テープの所定長の第１のラップに、バッファに保管された２以上のデータソースの各々から受け取ったデータを、データソース毎に予め決められたラップの特定の領域に、データソース毎に所定の順番で書き込むステップと、（ｃ）テープの第１のラップの終端に至った時点で、テープの第２のラップにヘッドを移動させて、テープを第１のラップへの書き込みとは逆方向に走行させながら、第２のラップの所定長において、データソース毎に予め決められたラップの特定の領域に、第１のラップにおける所定の順番の逆順でデータソース毎のデータを書き込むステップと、を含む。
【００１２】
本発明によれば、テープの各ラップにおいて、データソース毎に予め決められたラップの特定の領域に、テープの走行方向に対して所定の順番でデータが書き込まれるので、言い換えれば、データソース毎のデータが予め決められたラップの特定の領域に、テープ（各ラップ）の短手方向において同じ領域（位置）に配置されるので、データソース毎のラップ間にまたがった連続するデータへのアクセスが早くなる結果、データ読み出しのデータ転送速度を向上させることができる。
【００１３】
本発明の一態様では、第１のラップへの書き込みおよび第２のラップへの書き込みのステップは、書き込むべきデータがラップの特定の領域に書き込み可能なデータ量よりも少ない場合、当該データの後に続けて所定のダミーデータを当該特定の領域の端部に至るまで書き込むことを含む。
【００１４】
本発明の一態様によれば、書き込むべきデータがラップの特定の領域に書き込み可能なデータ量よりも少ない場合においても、データソース毎のデータが、テープ（各ラップ）の短手方向において同じ領域（位置）に配置されるので、データソース毎のラップ間にまたがった連続するデータへのアクセスを早くすることができる。
【００１５】
本発明の一態様では、第１のラップおよび第２のラップの所定長は、当該所定長のラップにおいて記憶可能な容量をＶｒとした場合、バッファの記憶容量Ｖｂと、データソースの数Ｎを用いた、
Ｖｒ＝Ｖｂ＊Ｎ／（Ｎ＋１）
の関係式で求められる記憶容量Ｖｒを基に定められる。
【００１６】
本発明の一態様によれば、データソースの数が増えてもラップの所定長を調整しつつデータをバッファに順次保管していくことが可能となる。
【００１７】
本発明の一態様では、さらに、（ｄ）テープの第２のラップの終端に至った時点で、テープの第３のラップにヘッドを移動させて、テープを第１のラップへの書き込みと同じ方向に走行させながら、第３のラップの所定長において、データソース毎に予め決められたラップの特定の領域に、第１のラップにおける所定の順番と同じ順番でデータソース毎のデータを書き込むステップを含む。
【００１８】
本発明の一態様によれば、所定長のラップを移る毎にテープの走行方向を反転させることを繰り返すことにより、各データソースからの多量のデータであっても連続して迅速に読み出すことが可能となる。
【００１９】
本発明の一態様では、データソース毎のデータを書き込む所定の順番は、データソースから送られてくるデータの転送速度に応じて定められる。
【００２０】
本発明の一態様によれば、早く送られてくるデータソースからのデータを先に書き込むことにより、バッファのオーバーフローを防ぎ、バッファのデータ保管量を適切に保つことが可能となる。
【００２１】
本発明の一態様では、ラップの特定の領域は、データソース毎に送られてくるデータの量に応じて定められる。
【００２２】
本発明の一態様によれば、例えばデータ量が多い場合はラップの特定の領域を大きく設定し、逆にデータ量が少ない場合はラップの特定の領域を小さくすることにより、各ラップでデータソース毎に読み出されるデータ量を柔軟に可変することが可能となる。
【００２３】
本発明の一態様では、第１のラップ、第２のラップ、または第３のラップにおける所定長は、バッファの記憶容量Ｖｂに応じて定められる。
【００２４】
本発明の一態様によれば、本発明の一態様によれば、バッファの記憶容量に対応した適切なラップの所定長を決めることができる。
【図面の簡単な説明】
【００２５】
【図１】従来のテープのデータ書き込み／読み出し手法を示す図である。
【図２】従来のテープのデータ書き込み／読み出し手法を示す図である。
【図３】本発明のファイルシステムの構成例を示す図である。
【図４】本発明のテープドライブの構成例を示す図である。
【図５】本発明のテープのデータ書き込み／読み出し手法を示す図である。
【発明を実施するための形態】
【００２６】
図面を参照しながら本発明の実施の形態を説明する。図３は、本発明のファイルシステムの構成例を示す図である。ファイルシステム１００は、ネットワーク３６を介して相互に通信可能なテープドライブ１０、ホスト（サーバー）３０、ＰＣ（端末）３２、３４からなる。図３では、テープドライブ１０とホスト（サーバー）３０は、それぞれ１つしか描かれていないが、これはあくまで例示であって、２以上のテープドライブ１０やホスト（サーバー）３０を含むことができることは言うまでもない。また、図示はされていないが、ネットワーク３６には、カメラ等の複数の録画機を含むデータソースが接続可能であり、データをサーバー３０、ＰＣ３２、３４を介して、あるいは直接的にテープドライブ１０に送ることができるようになっている。
【００２７】
ファイルシステム１００は、例えばＬＴＦＳ（Linear Tape File System）とすることができる。ＬＴＦＳは、ＨＤＤやＵＳＢメモリ、あるいはＣＤ−Ｒを始めとする他のリムーバブルな記録媒体同様に、テープカートリッジをテープドライブに挿入すれば、そのテープカートリッジに保存されたファイルに直接アクセスできる仕組みである。テープドライブ上でファイルシステムを構築するためには、テープドライブがパーティション機能を有していることが必要である。最新のＬＴＯ−５規格では、テープが２つのパーティションに分けられる。
【００２８】
図４は、本発明のテープドライブの構成例を示す図である。テープドライブ１０は、ホストインターフェイス（以下、「ホストＩ／Ｆ」という）１１と、バッファ１２と、チャネル１３と、ヘッド１４と、モータ１５とを含む。また、コントローラ１６と、ヘッド位置制御システム１７と、モータドライバ１８とを含む。更に、テープドライブ１０には、テープカートリッジ２０が挿入されることにより装填可能となっているので、ここでは、テープカートリッジ２０も図示している。このテープカートリッジ２０は、リール２１、２２に巻かれたテープ２３を含む。テープ２３は、リール２１、２２の回転に伴い、リール２１からリール２２の方向（順方向）へ、又は、リール２２からリール２１の方向（逆方向）へ、長手方向に移動する。なお、テープ２３としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
【００２９】
また、テープカートリッジ２０は、カートリッジメモリ（ＣＭ）２４も含む。このＣＭ２４は、例えば、テープ２３上にどのようにデータが書かれたかの情報を記録する。そして、例えばＲＦインターフェイスを用いて非接触でテープ２３に書かれたデータのインデックスやテープ２３の使用状況等を調べることにより、データへの高速アクセスを可能としている。なお、図４では、このＲＦインターフェイスのようなＣＭ２４へのアクセスを行うためのインターフェイスを、カートリッジメモリインターフェイス（以下、「ＣＭＩ／Ｆ」という）１９として示している。
【００３０】
ここで、ホストＩ／Ｆ１１は、ホスト（サーバー）３０や他のＰＣ３２等との通信を行う。例えば、ホスト３０のＯＳから、テープ２３へのデータの書込みを指示するコマンド、テープ２３を目的の位置に移動させるコマンド、テープ２３からのデータの読出しを指示するコマンドを受け取る。上述したＬＴＦＳの例では、デスクトップＯＳなどから直接、テープドライブ内のデータを参照でき、ＨＤ内のファイルを扱うのと同様に、ダブルクリックでファイルを実行したり、ドラッグアンドドロップでコピーしたりできる。
【００３１】
バッファ１２は、テープ２３に書き込むべきデータやテープ２３から読み出されたデータを蓄積するメモリである。例えば、ＤＲＡＭによって構成される。また、バッファ１２は、複数のバッファセグメントからなり、各バッファセグメントが、テープ２３に対する読み書きの単位であるデータセットを格納している。バッファ１２には、図３のネットワーク３６を介してカメラ等の複数の録画機を含むデータソースから送られてくるデータが順次蓄積される。
【００３２】
チャネル１３は、テープ２３に書き込むべきデータをヘッド１４に送ったり、テープ２３から読み出されたデータをヘッド１４から受け取ったりするために用いられる通信経路である。ヘッド１４は、テープ２３が長手方向に往復移動するとき、テープ２３に対して情報を書き込んだり、テープ２３から情報を読み出したりする。モータ１５は、リール２１、２２を回転させる。なお、図４では、１つの矩形でモータ１５を表しているが、モータ１５としては、リール２１、２２の各々に１つずつ、合計２個設けるのが好ましい。
【００３３】
一方、コントローラ１６は、テープドライブ１０の全体を制御する。例えば、ホストＩ／Ｆ１１で受け付けたコマンドに従って、データのテープ２３への書込みやテープ２３からの読出しを制御する。また、ヘッド位置制御システム１７やモータドライバ１８の制御も行う。ヘッド位置制御システム１７は、所望のラップを追跡するシステムである。ここで、ラップとは、ヘッド１４が一度に読み書き可能なテープ２３上の複数のトラックのグループである。ラップの数は、テープ２３のフォーマットによって異なるが、通常数十本程度である。ラップの長さ（所定長）は、コントローラ１６によって設定され得る。ラップを切り換える（移る）必要が生じると、ヘッド１４を電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム１７で行う。
【００３４】
モータドライバ１８は、モータ１５を駆動する。なお、上述したように、モータ１５を２個使用する場合であれば、モータドライバ１８も２個設けられる。ＣＭのＩ／Ｆ１９は、例えば、ＲＦリーダライタにより実現され、ＣＭ２４への情報の書込みや、ＣＭ２４からの情報の読出しを行う。
【００３５】
図５を参照しながら本発明のテープへのデータ書き込み方法の一実施形態を説明する。以下の説明では、３つのデータソース（ＤＳ１〜３）からのデータをファイル（Ｆｉｌｅ）として３つのラップ（Ｗｒａｐ０〜２）に順次書き込んでいく場合について説明する。図５の（ａ）、（ｂ）、（ｃ）はそれぞれラップ０、１、２の書き込みを示している。データソースには、カメラ等の録画機を含む任意のデータ送信機能を持った機器が含まれ得る。データソースの数は３に限られず少なくとも２以上の任意の数のデータソースを含めることができる。データ（ファイル）には、逐次送信されてくる静止画像、動画等の任意の情報が含まれる。各データソースからのデータは、一旦バッファ（図４の１２）に蓄積され後、順次ラップに書き込まれる。その書き込み制御は、コントローラ（図４の１６）によって実行される。コントローラは、例えば所定のプログラムを内蔵するメモリから呼び出して実行することにより、書き込み制御をおこなう。なお、ホスト（図４の３０）が、所定のプログラムを実行して、コントローラを遠隔的に制御して当該書き込み制御をやらせるようにしてもよい。
【００３６】
図５では、データソースＤＳ１からのデータをＦｉｌｅ１−Ｘで表し、同様にして、データソースＤＳ２のデータをＦｉｌｅ２−Ｘ、データソースＤＳ３のデータをＦｉｌｅ３−Ｘでそれぞれ表している。図５の一実施形態では、各データソースからのデータが、それぞれ複数のファイル群として、各ラップ上でテープの幅（上下）方向で特定の領域（位置）に存在するように書き込まれる。すなわち、図５の例では、データソースＤＳ１のデータは各ラップの最初の領域に図のように書き込まれ、データソースＤＳ２とＤＳ３のデータはそれぞれ２番目、３番目の領域に書き込まれる。なお、書き込むデータソースの順番は、データソースからのデータの転送速度が速い順、あるいはデータ量の多い順等の任意の設定が可能である。
【００３７】
図５（ａ）のラップ０では、データソースＤＳ１からのデータがＦｉｌｅ１−１、１−２、１−３として書き込まれる。続けて、データソースＤＳ２からのデータがＦｉｌｅ２−１、２−２、２−３としてラップ０に書き込まれる。続けて、データソースＤＳ３からのデータがＦｉｌｅ３−１、３−２、３−３としてラップ０に書き込まれる。このＦｉｌｅ３−３の書き込みが終わった時点で、ラップ０の所定長さ、すなわち１つのラップで書き込みを予定している領域の端部まで来たので、ヘッド（図４の１４）は、矢印Ａ１でイメージされるように次のラップ１へ移動する。なお、図５では各データソースからのデータのファイル数を３で同じにしているが、ファイル数は３に限られず、データ量が多い場合はファイル数を増やし、少ない場合はファイル数を減らすといったように、適宜任意の設定が可能であることは言うまでもない。
【００３８】
図５（ｂ）のラップ１の書き込みでは、テープをラップ０の走行方向とは逆の方向に走行させながら、今度は最初にデータソースＤＳ３からの続きのデータがＦｉｌｅ３−４、３−５、３−６としてラップ１に書き込まれる。続けて、データソースＤＳ２からのデータがＦｉｌｅ２−４、２−５、２−６としてラップ１に書き込まれる。続けて、データソースＤＳ１からのデータがＦｉｌｅ１−４、１−５、１−６としてラップ１に書き込まれる。このように、ラップ１の書き込みでは、ラップ０の書き込みの場合とは違って、書き込むデータソースの順番を逆にしてＤＳ３、ＤＳ２、ＤＳ１の順番とする。これにより、各データソースからのデータが、それぞれ複数のファイル群として、ラップ０および１上でテープの幅（上下）方向で特定の領域（位置）に存在するようにすることができる。Ｆｉｌｅ１−６の書き込みが終わった時点で、ラップ１の所定長さ、すなわち１つのラップで書き込みを予定している領域の端部まで来たので、ヘッド（図４の１４）は、矢印Ａ２でイメージされるように次のラップ２へ移動する。
【００３９】
図５（ｃ）のラップ２の書き込みでは、テープをラップ０の走行方向と同じ方向に走行させながら、今度はラップ０の場合と同様な順番で、データソースＤＳ１から続きのデータがＦｉｌｅ１−７、１−８としてラップ２に書き込まれる。ただし、この例では、バッファに蓄積されたデータソースＤＳ１からのデータがＦｉｌｅ１−８で終わってしまったので、ＤＳ２の書き込み領域の端部まで予め決められたダミーのデータが書き込まれる（図のＰａｄｄｉｎｇ）。これにより、図のように、データソースＤＳ１からのデータの終了位置をラップ０〜２において揃えることが可能となる。
【００４０】
続けて、データソースＤＳ２からのデータがＦｉｌｅ２−７、２−８、２−９としてラップ２に書き込まれる。続けて、データソースＤＳ３からのデータがＦｉｌｅ３−７、３−８としてラップに書き込まれる。この例では、上述したＤＳ１の場合と同様に、バッファに蓄積されたデータソースＤＳ３からのデータがＦｉｌｅ３−８で終わってしまったので、ＤＳ３の書き込み領域の端部まで（ラップ２の所定長まで）予め決められたダミーのデータが書き込まれる（図のＰａｄｄｉｎｇ）。これにより、図のように、データソースＤＳ３からのデータの終了位置をラップ０〜２において揃えることが可能となる。
【００４１】
このように、ラップ２の書き込みでは、ラップ１の書き込みの場合とは違って、書き込むデータソースの順番をラップ０の場合と同じＤＳ１、ＤＳ２、ＤＳ３の順番とする。これにより、各データソースからのデータが、それぞれ複数のファイル群として、ラップ０〜２上でテープの幅（上下）方向で特定の領域（位置）に存在するようにすることができる。以下同様にして、さらなるラップ３以降についても、ラップの移動、テープの走行方向の変更（反転）および必要に応じてＰａｄｄｉｎｇを行うことにより、各データソースからのデータが、それぞれ複数のファイル群として、ラップ０〜Ｎ上でテープの幅（上下）方向で特定の領域（位置）に存在するようにすることができる。
【００４２】
次に、図５に例示されるような書き込みにおけるラップの長さ（所定長）と各データソースの書き込み領域（図５のＤＳ１〜３）の関係等についてさらに説明する。以下の説明では、前提条件とし、ＬＴＦＳにライトバッファ（Write Buffer）を持たせ、その容量は Ｘ（ＧＢ）であるものとし、Ｎ個のデータソースからのデータ（ファイル）を１台のテープドライブに挿入された１本のテープに書き込む場合について考える。また、説明を簡単にするため、各データソースからのデータ（ファイル）は同時に書き込みを開始し、各ファイルがテープドライブに送られてくる際の転送速度も同一であることを仮定する。
【００４３】
（ａ）テープの ラップ当たりの容量をＸ＊Ｎ／（Ｎ＋１）となるように、ラップの長さ（所定長）を短縮する。
（ｂ）各ファイルがＸ／（Ｎ＋１）（ＧＢ）送られてくるまで、ＬＴＦＳはデータをライトバッファに蓄える。
（ｃ）各ファイルがＸ／（Ｎ＋１）（ＧＢ）送られてきたら、ＬＴＦＳはファイル１〜ファイルＮのＸ／（Ｎ＋１）（ＧＢ）分のデータをテープ（ラップ）に書き込む。Ｎ＝３の場合の例が、既に上述した図５の（ａ）のようになる。
（ｄ）ファイルを書き終わるまで、上記ステップ（ｂ）と（ｃ）を繰り返す。ファイルサイズがＸ／（Ｎ＋１）の倍数でない場合は、ファイルの末尾に図５の（ｃ）で示したようにダミーデータの書き込み（Ｐａｄｄｉｎｇ）を行うことで、既に上述したように、ラップ間の各ファイルの長手方向の書き込み位置を揃える。
【００４４】
なお、上述したラップ当たりの容量をＸ＊Ｎ／（Ｎ―１）となるように、ラップの長さ（所定長）を短縮することも可能である。その理由は以下の通りである。すなわち、ラップ０の書き込みにおいて、最初に書き込むデータソースのファイルは、Ｘ／（Ｎ＋１）（ＧＢ）送られてくるのを待つことなくラップ１に書き込むこともできる。その場合、各ファイルがＸ／（Ｎ＋１）（ＧＢ）分送られてきた直後に各データソースから送られてきたファイルについては、Ｘ／（Ｎ＋１）（ＧＢ）分送られてきたことにより書き込み可能となったデータをラップに書き込むことにより空となったバッファを再利用することができる。その結果、Ｘ／（Ｎ＋１）（ＧＢ）分送られてくることを待たない１個分と、Ｘ／（Ｎ＋１）（ＧＢ）送られてきた直後に各データソースから送られて来たデータの一時保管領域を必要としないことによる１個分との合計の２個分のデータ容量を節約することが可能となる。
【００４５】
例えば、Ｎが２の場合（データソース１とデータソース２がある場合）を考える。この場合、ラップ０では、データソース１から来たファイルは容量Ｘのバッファに溜めることなく書き込めば、容量Ｘのバッファにデータソース２のファイルが一杯になった時が、ラップ０にデータソース１のファイルの書き込みを終了するタイミングとなる。その際のラップ０の容量は、Ｘ＊２／（２−１）＝Ｘ＊２となる。容量Ｘのバッファにデータソース２のファイルが一杯になった後は、ラップ０にデータソース２のファイルを書き込む。バッファへの全入力より全出力が多いことを前提とした場合、データソース２のファイルをラップ０に書き込むことにより空となったバッファ領域に各データソースから来たファイルを蓄積し続ければ、バッファに蓄積されたファイルが溢れてしまうことは無い。そして、ラップ１の中央に来た時にバッファがデータソース１のファイルで一杯になり、それまでラップ０の後半とラップ１の前半にデータソース２のファイルを書き込んでいたのを、今度はラップ１の後半にデータソース１のファイルを書き込んでいく・・・・ということになる。なお、Ｎが３以上でも同様である。
【００４６】
なお、十分に大きなライトバッファを用意することにより、上記の最初のラップの長さ（所定長）の短縮ステップ（ａ）は省略可能である。つまり、テープのラップを短かくせずに、テープの規定容量分のデータを書き込むことができる。また、上記の説明ではライトバッファにマージンを持たせていないが、実利用時においては当然のことながら一定量のマージンを持たせることが好ましい。
【００４７】
さらに、書き込み開始時がずれていたり、あるいはデータソースからの転送速度が異なる場合においても、ファイルの書き込み順やバッファの割り当て量を調整することにより本発明を適用可能である。例えば、書き込み開始時が早いものについては、バッファの割り当て容量を大きくし、あるいは転送速度に応じてファイルの書き込み順を変える（例えば、速いほど先に書く）といった対応をする。また、テープドライブはデータをテープに書き込む際、書き込むデータを圧縮して書き込む機能がある。圧縮が効くデータの場合には、圧縮率を考慮して、圧縮後のデータサイズが揃うようにすれば良い。
【００４８】
ラップの長さ（所定長）やファイルの書き込み順といった情報は、メタデータとして、テープの非ユーザ記憶領域部（House Keeping Area）、テープのＦＩＤ部、あるいはテープカートリッジのＣＭ（図２の２４）等に保管して、テープドライブのコントローラやＬＴＦＳのサーバー等が利用できるようにする。
【００４９】
次に、図５を参照しながら本発明の方法で書き込まれたデータの読み出し手順について説明する。例として、図５のＤＳ２からのファイル２−Ｘを読み出す場合を説明する。
（ａ）ラップ０のＦｉｌｅ２−１の先頭の位置Ｐ１にヘッドが移動する。
（ｂ）ラップ０上のＦｉｌｅ２−１〜２−３までを読み出す。
（ｃ）ラップ１上のＦｉｌｅ２−４の先頭の位置、すなわちＦｉｌｅ２−４の四角の右端Ｐ２にヘッドが移動する（矢印Ｃ１）。
（ｄ）ラップ１上のＦｉｌｅ２−４〜２−６までを読み出す。
（ｅ）ラップ２上のＦｉｌｅ２−７の先頭の位置、すなわちＦｉｌｅ２−７の四角の左端Ｐ３にヘッドが移動する（矢印Ｃ２）。
（ｆ）ラップ２上のＦｉｌｅ２−７〜２−９までを読み出す。
【００５０】
このように、本発明の方法により書き込まれたファイルの読み出しでは、ラップを移った後のヘッドによるデータ（ファイル）を探すための余計な移動を極力小さくすることができるので、ラップ間にまたがった同一のデータソースからのデータ（ファイル）を連続して素早く読み出すことができる。
【００５１】
従来例と比較すると例えば以下のようになる。図１に示した従来法でデータが書かれた場合、テープメディアの最高転送速度を 140MB／sec とするとファイル１つ読み出すためにほぼ１０個のファイル全体を読み出す必要があることから、30（GB）＊10／140＝2143秒かかることになる。一方、本発明を適用した場合、ファイルＮだけ読み出せば十分なことから、30（GB）／140＝214秒ですむことになる。ラップを短くしない場合、ラップを切り替える回数に差はないため、読み出し所要時間の比較という観点では、ラップを切り替える時間は無視できる。ラップを短くしたと仮定し、さらに、実際には各ラップ上に存在するファイルＮの長手方向の位置に若干ずれが生じることを見積っても、214秒が２倍の428秒まで増えることは考えにくい。つまり、本発明を適用することにより、Ｎ個のファイルを並行して書き込んだ場合の各ファイルの読み出し所要時間を２／Ｎ未満まで短縮することが可能となる。
【００５２】
本発明の実施形態について、図を参照しながら説明をした。しかし、本発明はこれらの実施形態に限られるものではない。本発明はその趣旨を逸脱しない範囲で当業者の知識に基づき種々なる改良、修正、変形を加えた態様で実施できるものである。
【符号の説明】
【００５３】
１０  テープドライブ
１１  ホストＩ／Ｆ
１２  バッファ
１３  チャネル
１４  ヘッド
１５  モータ
１６  コントローラ
１７  ヘッド位置制御システム
１８  モータドライバ
１９  カートリッジメモリＩ／Ｆ
２０  テープカートリッジ
２１、２２  リール
２３  テープ
２４  カートリッジメモリ（ＣＭ）
３０  サーバー（ホスト）
３２、３４  ＰＣ
３６  ネットワーク
４０  サーボバンド
１００  ファイルシステム
【図１】
0005885298.tif 000002
【図２】
0005885298.tif 000003
【図３】
0005885298.tif 000004
【図４】
0005885298.tif 000005
【図５】
0005885298.tif 000006