(57)【特許請求の範囲】
【請求項１】
テープに保存された複数のファイルへの平均位置合わせ時間を低減できるように、複数のファイルを書き込む方法であって、
（ａ）ホストのアプリケーションから、複数のファイルのデータを受け取ることと、
（ｂ）前記受け取った複数のファイルをグループとして、前記複数のファイルを、所定のサイズのセグメントで分割することと、
（ｃ）前記複数のファイルをグループとして、前記ファイルの各々の一連の所定のサイズのセグメントを、所定の順番で順次に書き込むことと、を含み、
（ｄ）前記セグメントを所定の順番で書込むステップ（ｃ）は、前記ファイルの各々の先頭のセグメントを前記テープの左端部に集めて書き込み始めることを特徴とする、
前記複数のファイルの書き込み方法。
【請求項２】
前記（ｄ）の前記セグメントを所定の順番で書込むステップ（ｃ）は、
前記ファイルの各々の先頭のセグメントを、前記テープの偶数ラップの左端部に集めて書き込み始めることを含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記（ｄ）の前記セグメントを所定の順番で書込むステップ（ｃ）は、
前記ファイルの各々の最後のセグメントを、前記テープの奇数ラップ左端部に集めて書き込み始めることを更に含むことを特徴とする、請求項１または２に記載の方法。
【請求項４】
前記（ｂ）での前記複数のファイルの各々のセグメントサイズは、
前記複数のファイルのセグメント毎のデータの書込みが、テープのラップ往復分の単位の容量に収まるように、決定される、請求項１〜３の何れか１項に記載の書込み方法。
【請求項５】
前記（ｂ）での前記複数のファイルの各々のセグメントサイズは、
前記複数のファイルへのアクセスが許容される最大位置合わせ所要時間に基て、算定される許容される最大セグメントサイズ以下に収まるように、決定される、請求項１に記載の書込み方法。
【請求項６】
前記（ｂ）での複数のファイルのセグメントサイズは、前記最大セグメントサイズ以下でファイル毎に異なる値を割当てる請求項５に記載の書込み方法。
【請求項７】
前記（ｃ）での前記複数ファイルの各々のセグメントを所定の順番で書込むステップは、前記ファイルサイズが同一である場合はラウンドロビン形式で順に各ファイルの前記セグメントをデータセットに収めてテープに書込む請求項１に記載の書込み方法。
【請求項８】
前記（ｃ）での前記複数ファイルの各々のセグメントを所定の順番で書込むステップは、異なるファイルサイズのファイルが混在することを考慮して、前記ファイルの各々のセグメントサイズ及び前記セグメントの順番を決定する請求項１に記載の書込み方法。
【請求項９】
前記（ｃ）での前記複数ファイルの各々のセグメントの書込みの際の所定の順番は、ファイル毎に既に書き込み済みのセグメントの総容量がファイルサイズに占める割合に基づいて決定される請求項８に記載の書込み方法。
【請求項１０】
前記（ｃ）での前記複数ファイルの各々のセグメントの書込むステップは、前記書込み済みセグメントの前記総容量の割合が低い前記ファイルのセグメントから順番に書き込む、請求項９に記載の書込み方法。
【請求項１１】
請求項１〜１０の何れか１項の各ステップを実行する、テープ装置システム。
【請求項１２】
請求項１〜１０の何れか１項の各ステップをテープ装置システムに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープ（テープメディア、テープ媒体、テープカートリッジ）に複数のファイルを書き込む方法に関するものである。
詳細には、本発明は、テープに保存された複数のファイルの読み出しの際の平均位置合わせ時間を削減できる書込み方法に関する。
【背景技術】
【０００２】
テープドライブがテープメディア上のデータを探すための所要時間は、テープメディアの長さに依存する。テープメディアの長さは８００m程度であり、その走行速度は最大１０m/sec 程度である。テープメディアの任意の位置にあるデータを探す平均所要時間は数十秒程度となる。ラップ（Wrap）を移動する時間は大きくても２ 秒程度であり、また、テープに保存されたデータを探す動作は、長手方向の移動と平行して行なわれる。そのため、通常はデータを探すための所要時間はテープの長手方向の移動時間によって決定される。
【０００３】
後で詳述するＬＴＦＳ(Linear Tape File System)がテープ装置用ファイルシステム用の登場している。テープを利用するにあたり、ＵＳＢメモリのようにファイルシステム経由でテープを利用することが可能になった。テープへの保存は長期保存（アーカイブ）及び大容量保存に優れている。また、従来テープを使っていなかったユーザ業界でも、その業界アプリケーションが扱うファイルをテープカートリッジでもって、長期保存及び再生するようになってきている。
【０００４】
図１は、 複数の動画ファイルをテープに書き込んだ場合の模式図を示す。
放送業界では、ファイルサイズが数GB〜数十GB の多量の映像ファイル（picture file ）を１本のテープに保存する。テープ上の動画ファイルを読み出す場合、動画１はファイルの位置合わせ(頭出し)に時間はかからないが、動画２と動画４では４０秒程、動画３では８０秒程位置合わせに時間がかかる。ここで動画（ motion picture）は、典型的には映画（movie）などの映像ファイルである。動画ファイルをテープに書き込む場合／読み出す場合、ラップ0上の動画１と動画２は左から右へ、ラップ1上の動画３と動画４は右から左へ読み書きすることになる。また、テープをテープドライブに挿入した直後は、読み書きヘッドはラップ0の先頭、つまり、ラップ0の左端に位置する。これは、テープ上の動画ファイルを読み出す場合、動画１ではファイルの位置合わせ(頭出し)に時間はかからない。動画２と動画４では４０秒程、動画３では80秒程位置合わせに時間がかかることを意味する。前述の通り、テープ長を８００m、走行速度を１０m/secと仮定している。また奇数ラップ上の動画３と動画４ではラップ1上を右から左に読み書きするため右端へ位置合わせする必要がある。つまり、平均位置合わせ所要時間は、４０秒程となる。この平均位置合わせ所要時間の値は、図1の場合に限らず、ファイルサイズが任意の場合であっても同様である。この平均位置合わせ所要時間の削減が、本発明の取り組む課題である。
【０００５】
特許文献１は、各ファイルの部分をテープ上の物理的に近い位置に集めて書き込むことにより、書き込まれたデータの読み出し所要時間を低減する技術である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１９１２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のテープ装置では、複数のファイルの全てを考慮した位置合わせ所要時間を平均的に低減できる、書込みについて言及はない。特に、テープストレージの利用の普及のためには、メディア産業（映像産業）においてこの解題を特に解決する必要がある。
【０００８】
本発明の目的は、テープに複数のファイルのデータを書き込みは、読み出しの際の平均位置合わせ時間を削減可能にする書込み方法、テープ装置システム、及びプログラムを提供することである。
【課題を解決するための手段】
【０００９】
かかる目的のもと、本発明は、テープ装置用ファイルシステムを介して、テープに保存された複数のファイルへの平均位置合わせ時間を低減できるように複数のファイルを書き込む方法である。この書込み方法は、
（ａ）ホストのアプリケーションからテープに書込み要求された複数のファイルのデータを受け取ることと、
（ｂ）前記受け取った複数のファイルをグループとして、前記複数のファイルを、所定のサイズのセグメントで分割することと、
（ｃ）前記複数のファイルをグループとして、前記ファイルの各々の一連の所定のサイズのセグメントを、所定の順番で順次（シーケンシャル）に書き込むことと、を含み、
（ｄ）前記セグメントを所定の順番で書込むステップ（ｃ）は、前記ファイルの各々の先頭のセグメントを、前記テープの１または複数のラップ往復において前記テープの左端部に位置付けて書き込み始めることを含むこと特徴とする。
【００１０】
また、この書込み方法において、前記（ｄ）の前記セグメントを所定の順番で書込むステップ（ｃ）は、
前記ファイルの各々の先頭のセグメントを、前記テープの偶数ラップの左端部に置付けて書き込み始めることを更に含むこと特徴とする。
【００１１】
また、この書込み方法において、前記（ｄ）の前記セグメントを所定の順番で書込むステップ（ｃ）は、前記ファイルの各々の最後のセグメントを、前記テープの奇数ラップの左端部に位置付けて書き込み始めることを更に含むこと特徴とする。
【００１２】
また、この書込み方法において、前記（ｂ）での前記複数のファイルの各々のセグメントサイズは、前記複数のファイルのセグメント毎のデータの書込みが、テープのラップの往復単位の容量に収まるように、決定されることを特徴とする。
【００１３】
また、この書込み方法において、前記（ｂ）での前記複数のファイルの各々のセグメントサイズは、前記複数のファイルへのアクセスが許容される最大位置合わせ所要時間に基て、算定される許容される最大セグメントサイズ以下に収まるように、決定される。
【００１４】
また、この書込み方法において、前記（ｂ）での複数のファイルのセグメントサイズは、前記許容される最大セグメントサイズ以下でファイル毎に異なる値を割当てることを特徴とする。
【００１５】
また、この書込み方法において、前記（ｃ）での前記複数ファイルの各々のセグメントを所定の順番（パターン）で書込むステップは、前記ファイルサイズが同一である（即ち揃っている）場合はラウンドロビン形式で順に各ファイルの前記セグメントをデータセットに収めてテープに書込むことを特徴とする。
【００１６】
また、この書込み方法において、前記（ｃ）での前記複数ファイルの各々のセグメントを書込む際の所定の順番（パターン）は、使用環境によっては異なるサイズのファイルが混在することを考慮して、決定されることを特徴とする。
【００１７】
また、この書込み方法において、前記（ｃ）での前記複数ファイルの各々のセグメントを書込む際の所定の順番（パターン）は、ファイル毎に既に書き込み済みのセグメントの総容量がファイルサイズに占める割合に基づいて、決定されることを特徴とする。
【００１８】
また、この書込み方法において、前記（ｃ）での前記複数ファイルの各々のセグメントを書込む際の所定の順番（パターン）は、前記書込み済みセグメントの容量割合の低いファイルのセグメントから順に書き込むように決定される。
【００１９】
更に、かかる目的のもと、本発明は、上述の書込み方法の各ステップを実行するテープ装置システムである。
【００２０】
更に、かかる目的のもと、本発明は、上述の書込み方法の各ステップをテープ装置システムにおいて実行するためのコンピュータ・プログラムである。
【発明の効果】
【００２１】
上述の本発明を適用されたテープドライブは、テープ上に書き込まれた複数のファイルへの位置合わせ所要時間を短縮できる。
【図面の簡単な説明】
【００２２】
【図１】複数の動画ファイルをテープメディアに書き込んだ場合の模式図を示す。
【図２】テープの長手方向に何度も往復して読み書きされるフォーマットを示す。
【図３】テープがＬＴＦＳにより２つのパーティションに区分けされたフォーマットを示す。
【図４】ホストに接続されたテープ装置を含むテープストレージ・システム（テープ装置システム）のハードウェア構成を示す。
【図５】本発明の実施例として具体的な書込み態様を示す。
【図６】本発明を実現する典型的な書込みフローチャートを示す。
【発明を実施するための形態】
【００２３】
ホストに接続したテープ装置のシステムにおいて、複数のファイルを複数の断片（セグメント）に分割して書込む方法の実施の形態（実施例）について説明する。
本発明は、複数のファイルの各々をフラグメント化（fragmentally）し、各ファイルの先頭と末尾のセグメントをテープメディアの左端に集めることで位置合わせ所要時間を低減させる。
【００２４】
本発明の実施例は、テープに書き込むファイルをフラグメント化し、ファイルの先頭部分を偶数ラップの先頭、ないし奇数ラップ の末尾付近に集めて書き込むことにより、位置合わせ所要時間を低減する。
図５では、動画１〜動画４の４つのファイルのそれぞれを複数のセグメントに分割している。各ファイルの先頭のセグメントがラップ０の先頭に集るように各ファイルを断片(フラグメント)化した形でテープに書き込む。テープに書き込むファイルをセグメント化し、ファイルの先頭部分を偶数ラップの先頭、ないし奇数ラップの末尾付近に集めて書き込む。
【００２５】
図２は、テープの長手方向に何度も往復して読み書きされるフォーマットを示す。
本発明の実施例を説明のため、テープでの読み書きフォーマットを用いて、ＬＴＦＳでのファイルのデータの書込み、及びテープドライブ機構を説明する。
テープドライブはテープ媒体にデータを書込む際、テープの先頭から順次書込んで行く。ＬＴＯ（Linear Tape Open）やＩＢＭ ＴＳ１１２０のテープドライブでは，テープの長手方向に何度も往復して読み書きされるフォーマットである。
既存のフォーマットでは、テープの走行方向の切り替えまたは反転（ラップターン：wrapturn）は、常に特定の位置、長手方向の両側の端部またはその近傍(ＬＰ３及びＬＰ４)で行う。
【００２６】
ＬＴＯ規格のテープ装置を例に本発明を説明するが、本発明の適用はＬＴＯ規格のテープ装置や当該テープ装置に接続するホスト装置に限られない。本発明は、テープ媒体をその長手方向に往復走行させてデータを記録するテープ装置であればどのようなテープ装置に対してもその効果を奏する。
【００２７】
図２（ａ）は、ＬＴＯ規格に従うテープ媒体の記録領域の構成を示す。
図（ａ）を参照して、データ書込み方法を説明する。図（ａ）は、テープ媒体１０が、ＢＯＴ（Ｂｅｇｉｎｎｉｎｇ  Ｏｆ  Ｔａｐｅ）からＥＯＴ（Ｅｎｄ  Ｏｆ  Ｔａｐｅ）へのテープ媒体１０の長手方向に沿って配置された複数のバンド１５を有する。複数のバンド１５のそれぞれの両側には、データの書込み位置を制御するためのサーボトラック２０が長手方向に沿って設けられている。
【００２８】
図２（ｂ）は、本発明で用いられるテープのＬＴＯ  Ｕｌｔｒｉｕｍフォーマットのレイアウトを示す。
図に示すように、ＬＴＯ（Linear Tape Open）規格のテープ媒体１０では、リニア記録方式を採用しており、テープの長手方向に平行な方向にデータトラックが設けられる。テープ媒体１０の幅方向は、各サーボバンド１６で挟まれた４つのデータバンド１４に分けられる。４本のデータバンド１４には、番号が与えられており、番号順にデータが埋められることになる。テープ媒体の長手方向では、複数の論理ポイント（ＬＰ，Logical Point）で複数の領域に区分けされている。図２には、ＬＰ２、ユーザデータ領域を画定するＬＰ３およびＬＰ４が示されている。
【００２９】
データの書き込みは、テープ始端（ＢＯＴ，Beginning Of Tape）側から終端（ＥＯＴ，End Of Tape）側へ向かう往路（Forward Direction）のパスと、終端（ＥＯＴ）側からテープ始端（ＢＯＴ）側へ向かう復路（Backward Direction）のパスとからなる。パスは、ラップとも参照される。１本のデータバンド当たり、複数のラップが含まれる。
【００３０】
往路のパスでＥＯＴに達すると、ヘッドの位置を垂直方向に移動し、同じデータバンドの下部に位置決めし復路の書き込みを開始する。これを繰り返すことで、１本のテープに大容量のデータを記録することが可能となる。このような、テープの記録エリア先頭からテープの走行方向に沿って記録し、記録エリアの終端で折り返して再び先頭に向かって記録していく往復動作１２から、サーペンタイン記録方式とも参照されることがある。
【００３１】
上記フォーマットにおいて、テープ媒体をマウントしてデータを書き始めるテープ始端（ＢＯＴ）側の論理ポイント（ＬＰ３）に近い位置から書かれたファイルでは、先頭からの頭出しにかかる移動距離が短く、短時間で読み出し始めることができる。これに対し、テープの長手方向の終端（ＥＯＴ）側の折り返し位置である論理ポイント（ＬＰ４）に近い位置から書かれたファイルは、頭出しにかかる移動距離が長く、読み出し始めるまで長い時間を要してしまう。
【００３２】
図２（ｃ）は、１つの読み書きチャネルを有するヘッドよりアクセスされる１つのデータバンドのラップ構造またはトラック構造を示す。
テープドライブにテープカートリッジが搭載（マウント）されると、論理ポイントＬＰ１の少し後ろの論理ポイント（ＬＰ３）の位置より書込まれることを示す。データがテープ媒体１０の先頭ＢＯＴのＬＰ２（ＬＰ：Logical Position）から書込まれるのでない。このような記録領域の構成を採用するテープ媒体１０に対し、ＬＴＯ規格に従うテープ装置は、テープ媒体１０の先頭から順にデータを書込んでいく。
【００３３】
１つのデータバンドは１１本のラップまたはトラックからなる。これら１１のトラックは、１つのチャネルにより向きを変えながらアクセスされる。ヘッドは、矢印の示すようの先ず外側の物理トラックからアクセスする。そのヘッドはそのトラック即ちテープの終端に達すると、点線に示す反対側のトラックに向きを変えてアクセスする。ヘッドがテープの終端に至るごとに、順次外側のトラックから内側のトラックに向きを変えつつアクセスする。トラック番号（トラック#）はテープ上の物理的位置に依存して決まる番号である。ラップ番号（Wrap#）は同じテープ上の物理位置へのアクセスの順に付けられる番号である。Wrap#が偶数の時は、ＬＰ３からＬＰ４に読み書きし、Wrap#が奇数の時はＬＰ４からＬＰ３に向かって読み書きする。以下で説明される本発明の書込み方法では、Wrap#0とWrap#1のように往復する偶数と奇数のラップのペアでの往復のデータの塊を表現する。
【００３４】
テープ１０に初めてデータを書込む場合、図（ｂ）で示される位置３０（データバンド０のＬＰ３付近）からＬＰ４へ向かってデータを書き始める。テープ１０の終端までデータを書込むと、図１（ｂ）で示されるように、テープ走行の向きをＬＰ４からＬＰ３への方向へ反転（ラップターン）し、データの書込みを続ける。新たにデータを追記（append）する場合、テープ装置は、テープ１０に最後に書かれたデータの隣の位置からデータを書込んでいく。
【００３５】
論理ポイントの位置は、カートリッジに付帯する不揮発性メモリ（ＣＭ：Cartridge Memory)に保存されている。ＬＰ３からＬＰ４、ないし、ＬＰ４からＬＰ３に向かってデータを書込む各領域をラップ（Wrap）と呼ぶ。複数のラップは番号で識別される。各ラップはデータトラック（トラック）と読んでもよい。テープ走行方向の切り替え（反転）はラップターン（wrap turn）と呼ばれる。テープドライブは、ホストから送られてきた可変長の長さのデータをデータセット（ＤＳ：ＤａｔａＳｅｔ）と呼ばれる固定長の単位に再構築し、テープ媒体上に書込む。各ＤＳはＤＳＩＴ(Data Set Information Table)と呼ばれる、データセットのメタ情報を保持する。
【００３６】
最初にデータを書き始める場合は偶数番号０（Wrap#0）のラップのＬＰ３付近から書き始める。新たにデータを追記する場合には、最後に書かれたデータの場所の隣から順次追記する。テープドライブはシーケンシャル・アクセス・デバイスであるので、アクセス速度向上のために、データを任意の位置に配置することはできない。
【００３７】
最初に書込んだデータ以外のデータにアクセスする場合には、データの先頭が任意の場所となる。つまり、必ずしもＬＰ３付近とは限らないため、テープの位置合わせに時間がかかる。ヘッドを現在位置のＬＰ３からＬＰ４付近に位置合わせを行うためには、ＬＴＯでは２分程必要となる。
【００３８】
シーケンシャル・アクセス・デバイスであるテープ装置は、テープ媒体１０の長手方向に往復走行してデータを順次記録していくので、最初に書込んだデータを除く他のデータの先頭はテープ媒体１０上の任意の位置となる。そのため、データの読出し、追記する場合に、読み出すデータの先頭の位置や次のデータの書込み位置が必ずしもテープ媒体１０の先頭にあるとは限らない。先頭にない場合はテープ媒体１０を目的の位置まで走行させる必要があり、位置合わせに時間がかかる。
【００３９】
図３は、テープがＬＴＦＳにより２つのパーティションに区分けされたフォーマットを示す。
ＬＴＯ５テープドライブは、テープの長手方向に沿った書き込み領域のラップを往復しながらデータを書く。ＬＴＦＳではこのラップ２本分（１往復分）をインデックス・パーティションとして利用している。テープの先端部（ＢＯＴ：Beginning of Tape）から終端部（ＥＯＴ：End of tape）に渡ってＩＰとＤＰとの２つに区分される。ヘッドが同時に読み書きする単位がトラックであり、トラック１６本がラップ１本に相当する。ＬＴＯ５のテープカートリッジでは、テープ長手方向は約８００ｍ、横手方向はラップ数８０本の幅である。ＩＰとＤＰとは２本のラップの保護領域（guard band）で区分される。テープはラップの長手方向に前後に進行し、ＢＯＴおよびＥＯＴにおいて進行する向きを反転することをラップターン（wrap turn）と呼ぶ。テープドライブのヘッドに対してテープの長手方向のＢＯＴからＥＯＴの移動時間は６０〜９０秒である。長手方向の半分のテープ移動時間は３０〜４５秒程度である。
【００４０】
テープドライブ用のファイルシステム、例えばＬＴＦＳでは、メディア上に書かれたデータをファイルとして見せることができる。ユーザがＬＴＦＳを利用してテープに書き込むと、テープではファイル本体の他、インデックスファイル（単にインデックス（index））と呼ばれるメタ情報をテープに書き込む。インデックスは、メタ情報としてディレクトリ名及びファイル名やファイル作成日、及び、メディア上の位置、サイズ、ファイル内のオフセットなどを含む位置メタ情報をＸＭＬ形式で含む。また、インデックスは、１つのファイルが複数のセグメントに分割される場合に、そのセグメントに関連するメタ情報も含む。ＩＰには、主に最新のインデックスが書き込まれる。メディアのＤＰには、逐次追加及び変更されるファイルの本体、及び、それに関連するインデックスの履歴を、追記（append）で書き込まれる。
【００４１】
ＬＴＦＳ を用いてテープ上のファイルを読み書きする場合、レコードと呼ばれる単位でデータの読み書きを行う。レコードは、ＬＴＦＳではブロックと呼んでＬＴＦＳフォーマットを与える。ブロックは、ファイルのデータが記録されるパーティション毎にパーティションの先頭から何番目のブロックであるという番号で管理される。インデックスファイルには、ファイルのデータに対するブロックの番号で指示される位置情報が含まれる。
【００４２】
図４は、ホストに接続されたテープドライブ（テープ装置）を含むテープ装置システムのハードウェア構成を示す。
テープドライブ６０は、ホスト３００のアプリケーションからファイルシステム（ＬＴＦＳ）を介してファイルの読み書き要求を受け取る。テープドライブは、通信Ｉ／Ｆ（インターファース）１１０と、バッファ１２０と、記録チャネル１３０と、読書きヘッド１４０と、制御部１５０と、位置決め部１６０と、モータドライバ１７０と、モータ１８０とを含む。
【００４３】
インターフェース１１０は、ネットワークを介してホスト３００との通信を行う。例えばインターフェース１１０は、ホスト３００から、テープカートリッジ（メディア）４０へのデータの書込みを指示する書込みコマンドを受信する。またインターフェース１１０は、ホスト３００から、メディア４０からのデータ読出しを指示する読出しコマンドを受信する。インターファース１１０は、書込みデータの圧縮と、読み出しデータの非圧縮とを行う機能を有し、実際のデータに対してメディアへの記憶容量を約２倍近く高めている。
【００４４】
テ−プドライブ６０は、ホスト３００のアプリケーションから送られた複数のレコードで構築されるデータセット（ＤａｔａＳｅｔ：ＤＳと言う）単位でメディア４０への読み書きを行う。ＤＳの典型的な大きさは４ＭＢである。ホスト３００のアプリケーションは、ファイルシステム（例えばＬＴＦＳ−ＡＰＩ(Application Program Interface））によりファイル名を指定して読み書きアクセスをテープドライブ６０に発行する。ファイルシステムは、ＳＣＳＩコマンドのレベルでレコードをテープドライブに書込み／読み出し要求（Ｗｒｉｔｅ／Ｒｅａｄ）を送る。ＤＳは複数のレコードで構成される。
【００４５】
各ＤＳは、データセットに関する管理情報を含む。ユーザデータはレコード単位で管理される。管理情報はデータセット情報テーブル（ＤＳＩＴ：Data Set Information Table）に含まれる。ＤＳＩＴは、そのＤＳに含まれるレコード又はブロック数およびＦＭ（Filemark）数、更にはメディアの先頭から書かれた累積レコード数および累積ＦＭ数、を含む。
【００４６】
バッファ１２０は、メディア４０に書込むべきデータ、また、メディアから読み出したデータを一時的に蓄積するメモリである。例えばバッファ１２０は、ＤＲＡＭ(Dynamic Random Access Memory）によって構成される。記録チャネル１３０は、バッファ１２０に蓄積されたデータをメディア４０に書き出すため、またはメディア４０から読み出されたデータをバッファ１２０に一時的に蓄積するために用いられる通信経路である。
【００４７】
読書きヘッド１４０は、データ読書き素子を有し、メディア４０へのデータの書込み及びメディアからのデータの読出しを行う。本実施形態に係る読書きヘッド１４０はまたサーボ読取り素子を有し、メディア４０に設けられたサーボトラックから信号を読み取る。位置決め部１６０は、カートリッジ４０の短手方向（幅方向）に読書きヘッド１４０の移動を指示する。モータドライバ１７０は、モータ１８０を駆動する。
【００４８】
テ−プドライブ６０は、ホスト３００から受取ったコマンドに従って、データのテ−プへの書込みやテ−プからの読出しをする。テ−プドライブ６０は、バッファ、読み書きチャネル、ヘッド、モ−タ、テ−プを巻きつけるリ−ルと、読み書き制御と、ヘッド位置制御システムと、モ−タドライバとを含む。テ−プドライブは、テープカートリッジを着脱可能に搭載する。テ−プは、リ−ルの回転に伴い、長手方向に移動する。ヘッドは、テープの長手方向に移動してデータを書き込んだり、テ−プからデータを読出したりする。また、テープカートリッジ４０はカートリッジメモリ（ＣＭ：Cartridge Memory）と呼ばれる非接触不揮発性メモリを備える。テープカートリッジ４０に搭載されたＣＭは、テープドライブ６０により非接触的に読み書きされる。ＣＭはカートリッジ属性を保存する。テープドライブは、読出し及び書込み時に、ＣＭからカートリッジ属性を取り出して最適な読み書きができるようにする。
【００４９】
制御部１５０は、テープドライブ６０の全体の制御を行う。すなわち、制御部１５０は、インターフェースで受信したコマンドに従って、データのメディア４０への書込み及びメディア４０からのデータの読出しを制御する。また、制御部１５０は、読取られたサーボドラックの信号に従って位置決め部１６０を制御する。更に制御部１５０は、位置決め部１６０及びモータドライバ１７０を介してモータの動作を制御する。なお、モータドライバ１７０は制御部１５０に直接接続されてもよい。
【００５０】
図５は、本発明の実施例として具体的な書込み態様を示す。
図は、複数の動画ファイルをフラグメント化し、ファイルの先頭部分を偶数ラップの先頭に集めて書き込んだ場合の模式図を示す。
図１に示した４のファイル動画１〜動画４をそれぞれ、複数のセグメント（動画N-M：N,M=1,2,3,4）に分割する。各ファイルの先頭のセグメントが ラップ0の先頭に集るように各ファイルを断片化(フラグメント化)した形でテープに書き込むようにする。
図５では、各ファイルを４つのセグメントに分割 (動画N-1〜動画N-4) し、各ファイルの先頭のセグメント(動画N-1：N=1,2,3,4)をラップ0の先頭に集るように書き込んだ場合を示している。テープドライブがテープ上のデータを読み書きする場合、データセット (ＤＳ) と言う数ＭＢの容量を持つ固定長の単位でデータを読み書きする。セグメントの大きさ (容量) を定めるに当たり、例えば、全てのファイルのセグメントを １のデータセットに収める。最初のデータセットが全てのファイルの最初のセグメントを含ませると、１つのデータセットのアクセスにおいて、全てのファイルの位置合わせ所要時間を従来の先頭のファイル (図1の動画１) と同等にできる。
【００５１】
更に、図５に示したように各ファイルをテープ上に書き込むことにより、各ファイルの末尾がラップ1 上の末尾に集中して位置する。任意のファイルを読み終えた後、他の任意のファイルを読み出すための位置合わせ所要時間もほぼ０にできる。厳密には、テープの走行速度の反転など若干(数秒)の時間がかかることは見込まれるが、従来の平均位置合わせ所要時間４０秒程と比べれば有意に低減できる。
テープドライブにテープカートリッジを挿入して搭載された直後だけ位置合わせの所要時間の短縮ができる。更に、本発明を適用することにより、テープ上のファイルを読み書きした直後であっても、他のファイルの先頭への位置合わせ所要時間をほぼ０にできる。
【００５２】
一方、セグメントサイズを小さくし過ぎると、テープドライブがテープ上のデータを読み書きする際に、書き込み/読み出しコマンドのプロトコルのオーバーヘッドが大きくなる。複数のファイル（例えば動画）を分割する際に、セグメントサイズが小さすぎると読み出しオーバーヘッドが大きくなるので、許容される最大セグメントサイズを算定する。最小位置合わせ所要時間と最大位置合わせ所要時間の差分として許容できる時間をＤ、テープの走行速度をＳ、ＤＳの容量をＣ、ＤＳの長さをＬ、ラップを往復する間に書き込むファイル数をＮとすると、許容時間Ｄを満たす最大セグメントサイズＸは次の式で定義できる。
Ｘ＝Ｃ× (Ｓ×Ｄ／Ｌ) ／Ｎ(式1)
【００５３】
セグメントサイズは、例えば５１２KB といった固定の値を用いても良い。式1で求めた値よりも小さな値であればファイル毎に異なる値を用いても良い。ファイルサイズ、および、セグメントサイズが揃っている場合はラウンドロビン形式で順にセグメントを書けば十分である。一方、使用環境によっては異なるファイルサイズのファイルが混在する場合でもよい。各ファイルのセグメントサイズが異なる場合は、ファイル毎に既に書き込み済みのセグメントの総容量がファイルサイズに占める割合を評価して、後続のサイズサイズ及び順番を変更させてよい。例えば、テープに書き込み済み容量の割合が低いファイルのセグメントから優先させた順に書き込んでもよい。
【００５４】
図６は、本発明を実現する典型的な書込みフローチャートを示す。
例えば、複数の映像ファイルを 1本のテープに保存するユーザの環境では、任意の映像ファイルの位置合わせ所要時間を、従来テープの先頭に保存したファイルと同等まで短縮することができる。一方、位置合わせ所要時間が短くなることと引き換えに、ファイル読み出し時間は増加する。図１及び５を例に説明すれば、従来は図１に示したようにファイル毎に堅まって書き込まれたファイルが、本発明を適用することにより図５に示したようにテープ上に散在するようになるためである。
複数のファイルの書込み要求を受け取った場合、ファイルシステム（ＬＴＦＳ）はファイル毎にセグメントに分割する。ファイルシステムは、ファイル毎のセグメントを所定のパターン（順番）で各セグメントを混在させる、テープドライブに書込む。同様な処理を、ＬＴＦＳを利用するアプリケーションが行っても良い。
（６０２）ホストのアプリケーションからファイルシステム（ＬＴＦＳ）が書き込み要求を受け取った場合である。
（６０４）ＬＴＦＳは、書き込みたい複数のファイルのサイズがラップ２本分（ラップ往復）または複数のラップ往復分の容量があるかを確認する。
典型的な実施例として、アプリケーションから受け取った複数のファイルのサイズがラップ往復分の複数の容量に収まる場合を示す。この場合では、最初のセグメントと最後のセグメントとをラップの左端部付近（例えばＬＰ３）に書込むことができる。  従って、次の複数のファイルの集まりをラップの左端に位置決することにより、連続してファイルの読み書きを所要時間も短縮できる有利な効果を維持できる。
（６０６）ファイルシステムは、１または複数のラップ往復分の容量のファイルが揃うまで待つ。
書込むファイルのサイズの合計が１または複数のラップ往復分に達するまで（６０４でＮｏ）、ファイルシステムは複数のファイルを受取り続ける。
（６０８）書込むファイルのサイズの合計が１または複数のラップ往復分に達した場合（６０４でＹｅｓ）、受け取った各ファイルを複数のセグメントに分割する。
各ファイルのセグメントサイズは、複数のファイルのデータがラップ往復に収まるように所定のサイズに決定される。複数のファイルの各々は、必ずしも同じラップ往復に収めなくてもよい。例えば、２つのファイル（file1、faile2）の受け取った場合、file1のセグメントは最初の１のラップ往復に書込み、file2のセグメントは最初の２のラップ往復に書込んでもよい。
（６１０）ファイルシステムは、各ファイルの先頭のセグメントを順次、テープドライブに書き込む。
ファイルシステムは、所定の順番（パターン）で複数のファイルのセグメントを書込む。所定の順番は典型的にはラウンドロビン方式であるがこれに限られず、ラップへの書込み済み割合の小さいファイルを優先する順番でもよい。
（６１２）ファイルシステムは、書き込んでいないセグメントが存在するかを確認する。
各ファイルの末尾のセグメントが書き込まれていないことを確認すればよい。
（６１４）書き込んでいないセグメント（未書込みセグメント）が存在する場合（６１２でＹｅｓ）に、ファイル毎に書き込み済みのセグメントの総容量が評価する。更に、各ファイルの書込み済み総容量がファイルサイズに占める割合を求める。最終的に、ファイルシステムは、所定の順番として、その割合が最も低いファイルのセグメントを１つ書き込む選択を行う。
（６１６）書き込んでいないセグメント（未書込みセグメント）が存在しない場合（６１２でＮｏ）、書き込み終了となる。
ファイルシステムは、ファイル毎に末尾のセグメントがラップに書き込まれたこと確認することで、書込みの終了を確認できる。
本発明の適用のテープ装置システムは、比較的大きなファイルを複数纏めて、ファイル断片（セグメント）を混在させて書込むことに特徴を有する。この特徴的構成により、複数のファイル、例えば複数の映像ファイルへの平均位置合わせ時間を小さくできる有利な効果を発揮する。
【００５５】
特にファイルサイズが小さいファイルばかりを利用する環境では、例えば、従来は高々テープの片道（1ラップだけ）を移動すれば読み出せたファイルでは、本発明の利益は得られにくい。本発明を適用することによりファイル読み出しにテープを往復させ必要性が高まるために、複数のファイルへの位置決め早さを確保できる反面、読み出しに時間をかかる点がある。
【００５６】
しかしながら、本発明の適用が、複数のファイルの頭出しに平均的に確保できる分野においては、本発明を適用したテープ装置システムは有用である。テープをクラウド経由で利用する場合やテープ上に保存した動画を再生する場合である。動画再生で、ファイル読み出し時の転送速度が低くてもその後の処理に影響を与えないような環境では位置合わせ後のファイル読み出し所要時間の増加は問題とならない。従来、テープからテープドライブのバッファメモリにファイルのデータを比較的高速に読み出された後、テープドライブがそのデータをホストへ送出するのを待たされる。バッファメモリに蓄積されたデータについては、テープからバッファメモリへ転送される速度が遅くなるだけで、テープドライブのバッファからホストへ送出される転送速度は影響を受けない。
【００５７】
ここまで、１つのラップ 往復分の容量に複数のファイルを格納することを例に解説したが、必ずしも 1 往復毎に処理する必要はなく複数往復毎に処理してもよい。例えば、１．５ラップ往復分の容量を持つファイル２つを組に、３往復後にファイルの末尾が揃うようにしても良い。更には、同時に書き込むファイルのテープでの始点と終点が必ずしも一致している必要はない。例えば、ファイル１ は Wrap0〜Wrap1、ファイル２は Wrap0〜Wrap3、ファイル３はWrap2〜Wrap3 に位置するように書き込んでもよい。
【００５８】
以上より、本発明を適用することにより、テープ上に書き込まれた各ファイルへの位置合わせ所要時間を短縮できる。なお、本発明を実施の形態（実施例）を用いて説明したが、本発明の範囲は上記実施例には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００５９】
４０…テープカートリッジ（メディア、テープ）、
６０…テープドライブ（テープ装置）、
１１０…通信Ｉ／Ｆ（インターフェース）、
１２０…バッファ、
１３０…記録チャネル、
１４０…読み書きヘッド、
１５０…制御部（コントローラ、読み書き制御を含む）、
１６０…位置決め部
１７０…モータドライバ、
１８０…モータ、
３００…ホスト（ユーザ・アプリケーションとファイルシステムを含む）
【図１】
0006463103.tif 000002
【図２】
0006463103.tif 000003
【図３】
0006463103.tif 000004
【図４】
0006463103.tif 000005
【図５】
0006463103.tif 000006
【図６】
0006463103.tif 000007