(57)【要約】【課題】テープ上に書き込まれたファイルに対するアクセス効率を学習機能により向上させること。【解決手段】テープ駆動制御装置１は、テープ１０の走行を制御するテープ走行制御部２と、ヘッド２０を制御する書き込み／読み出し制御部４と、書き込まれたファイル順にＢＯＴからのシーク時間が登録されるシーク管理テーブル３０を備える。テープ管理テーブル５には、シーク時間が未確定のファイルに対してはシーク時間が仮に登録され、その後シーク情報が確定すると確定したシーク時間が登録される。複数のファイルの読み出し要求があると、テープ走行制御部２は、シーク管理テーブル３０を参照して、読み出し要求のあった複数のファイルに対してシーク時間の昇順にヘッド２０がアクセスできるようにテープの走行を制御する。【選択図】図４
2010097646.tif 000002
【特許請求の範囲】
【請求項１】
テープ先頭位置からファイル先頭位置までのシーク時間あるいはシーク距離を含むシーク情報が、書き込まれたファイル毎に登録されるシーク管理テーブルであって、前記シーク情報が確定しているシーク情報確定ファイルに対しては該確定シーク情報が登録され、前記シーク情報が確定していないシーク情報未確定ファイルに対しては当該ファイルより先に書き込まれてシーク情報が確定しているファイルのシーク情報が仮に登録され、その後前記シーク情報未確定ファイルのシーク情報が確定すると該確定シーク情報が登録されるシーク管理テーブルと、
ヘッドをテープの所望の位置に位置づけ、前記ヘッドによりデータの書き込みあるいは読み出しを実行させるように、テープ走行を制御するテープ走行制御部と、を備え、
前記テープ走行制御部は、離散して書き込まれた複数のファイルの読み出し要求に応じて、前記読み出し要求のある複数のファイルのシーク時間あるいはシーク距離を前記シーク管理テーブルから抽出して、前記読み出し要求のある複数のファイルに対して抽出されたシーク時間あるいはシーク距離の昇順にアクセスするようにテープの走行を制御するテープ駆動制御装置。
【請求項２】
前記テープ走行制御部は、連続して書き込まれた複数のファイルの読み出し要求に応じて、ファイル番号の昇順に読み出す請求項１に記載のテープ駆動制御装置。
【請求項３】
テープ先頭位置からファイル先頭位置までのシーク時間あるいはシーク距離を含むシーク情報が、書き込まれたファイル順に登録されるシーク管理テーブルであって、前記シーク情報が確定しているシーク情報確定ファイルに対しては該確定シーク情報が登録され、前記シーク情報が確定していないシーク情報未確定ファイルに対しては当該ファイルより先に書き込まれてシーク情報が確定しているファイルのシーク情報が仮に登録され、その後前記シーク情報未確定ファイルのシーク情報が確定すると該確定シーク情報が登録されるシーク管理テーブルと、
ヘッドをテープの所望の位置に位置づけ、前記ヘッドによりデータの書き込みあるいは読み出しを実行させるように、テープ走行を制御するテープ走行制御部と、を備えるテープ駆動制御装置におけるテープ駆動制御方法であって、
前記テープ走行制御部は、
離散して書き込まれた複数のファイルの読み出し要求に応じて、前記読み出し要求のある複数のファイルのシーク時間あるいはシーク距離を前記シーク管理テーブルから抽出し、
該抽出されたシーク時間あるいはシーク距離の昇順に、前記ヘッドが前記読み出し要求のある複数のファイルにアクセスするようにテープの走行を制御する
テープ駆動制御方法。
【請求項４】
前記テープ走行制御部は、連続して書き込まれた複数のファイルの読み出し要求に応じて、ファイル番号の昇順に読み出す請求項３に記載のテープ駆動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気テープ媒体に書き込まれたファイルへのアクセスを制御するテープ駆動制御装置およびテープ駆動制御方法に関する。
【背景技術】
【０００２】
磁気テープ記憶装置では、ファイルを書き込みあるいは読み出すために、テープ媒体を移動させて、テープ上の所望の位置にヘッドを位置づける。ファイルを読み出す場合は、読み出すべきファイルの先頭にテープヘッドを位置づけてから、ファイルを読み出す。ファイルにアクセスするためにファイルの先頭にテープヘッドを位置づけることをシークという。また、シーク動作によりヘッドが移動する距離をシーク距離といい、シーク距離をヘッドが移動するのに要した時間をシーク時間という。ファイルの読み出し性能を高めるためには、シーク時間を短縮することが必要である。
【０００３】
ＬＴＯ（Linear Tape-Open）規格が提案されるより以前のリニア記録方式では、テープ媒体上のファイルは、テープの物理的な前端（ＢＯＴ：Beginning Of Tape）から終端（ＥＯＴ：End Of Tape）まで、ファイル間を示すファイルマークを介して、ファイル番号の昇順に配置されていた。テープ媒体上の大量のファイルに対して、複数のファイルを読み出す要求が起こると、読み出し要求のあった順にファイルを読み出すのではなく、ファイル番号の昇順にファイルを読みだすと早く読むことができた。
【０００４】
しかし、ＬＴＯ規格に準拠したテープでは、データファイルは、ＢＯＴからＥＯＴまで書き込まれると、ＥＯＴで折り返してＥＯＴからＢＯＴへ向かって書き込まれる。さらに、ファイルがＢＯＴまで書き込まれると、ＢＯＴで折り返してＥＯＴに向かって書き込まれる。テープ上にＥＯＴからＢＯＴへ記録されているファイルが存在すると、単にファイル番号の昇順に読み出すことでは、効率よく読み出すことはできない。
【０００５】
なお、テープ媒体に対してランダムなアクセス要求があった場合に、リオーダリング手段により、リードライト処理が終了するたびに、すべてのデータの先頭位置と現在の磁気ヘッドとの位置を比較して、最も距離の短いものを選択することが公知である。また、テープがドライブ装置に装着された際に、磁気テープのデータ記憶領域の中間点に磁気ヘッドが位置するようにして、平均的なデータアクセス時間を短縮することが公知である。（特許文献１、２参照）
【０００６】
【特許文献１】特開２０００−４８５４９号公報
【特許文献２】特開２００４−３５５７４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記問題に鑑み、本発明は、学習機能によりファイルに対するアクセス効率を向上させることができるテープ駆動制御装置およびテープ駆動制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
テープ駆動制御装置は、テープ先頭位置からファイル先頭位置までのシーク時間あるいはシーク距離を含むシーク情報が、書き込まれたファイル順に登録されるシーク管理テーブルであって、前記シーク情報が確定しているシーク情報確定ファイルに対しては該確定シーク情報が登録され、前記シーク情報が確定していないシーク情報未確定ファイルに対しては当該ファイルより先に書き込まれてシーク情報が確定しているファイルのシーク情報が仮に登録され、その後前記シーク情報未確定ファイルのシーク情報が確定すると該確定シーク情報が登録されるシーク管理テーブルと、ヘッドをテープの所望の位置に位置づけ、前記ヘッドによりデータの書き込みあるいは読み出しを実行させるように、テープ走行を制御するテープ走行制御部と、を備え、前記テープ走行制御部は、離散して書き込まれた複数のファイルの読み出し要求に応じて、前記読み出し要求のある複数のファイルのシーク時間あるいはシーク距離を前記シーク管理テーブルから抽出して、前記読み出し要求のある複数のファイルに対して抽出されたシーク時間あるいはシーク距離の昇順にアクセスするようにテープの走行を制御する。
【０００９】
また、テープ駆動制御方法は、前記シーク管理テーブルと前記テープ走行制御部とを備えるテープ駆動制御装置におけるテープ駆動制御方法であって、前記テープ走行制御部は、離散して書き込まれた複数のファイルの読み出し要求に応じて、前記読み出し要求のある複数のファイルのシーク時間あるいはシーク距離を前記シーク管理テーブルから抽出し、該抽出されたシーク時間あるいはシーク距離の昇順に、前記ヘッドが前記読み出し要求のある複数のファイルにアクセスするようにテープの走行を制御する。
【００１０】
また、テープ駆動制御装置およびテープ駆動制御方法では、連続して書き込まれた複数のファイルの読み出し要求に応じて、ファイル番号の昇順に読み出すと好適である。
【発明の効果】
【００１１】
本テープ駆動制御装置およびテープ駆動制御方法が使用するシーク管理テーブルはファイルへのシーク時間あるいはシーク距離を学習することができるので、効率的なファイルアクセスを達成することができる。
【発明を実施するための最良の形態】
【００１２】
まず、ＥＯＴおよびＢＯＴで折り返して記録されるテープ媒体上のファイルアクセス方法を説明する。なお、テープ記録装置では、テープヘッドは固定位置にあり、テープが移動してテープヘッドに対してテープ上の所望の位置を位置づける。しかし、以下の説明では、説明を簡単にするために、テープに対してテープヘッドが移動するとして説明する場合もある。
【００１３】
（離散して書き込まれている複数のファイルに対するアクセス）
図１は、読み出し要求のあったファイルがテープ上に散在している場合の読み出し方法を説明する図である。図１は、物理的なテープ先端（ＢＯＴ）から終端（ＥＯＴ）までテープ１０を展開してファイルのテープ上での位置を示す。さらに、テープヘッド２０の動きとしてシーク動作および読み出し動作を示す。
【００１４】
図１のファイルＦ♯１〜Ｆ＃５の上の数字はＢＯＴからファイル先頭までのシーク時間を示す。図１では、ファイルの先頭は、縦の二重線で示されている。各ファイルＦ♯１〜Ｆ♯５のシーク時間は、ファイルＦ♯１では１秒、ファイルＦ♯２では１８０秒、ファイルＦ♯３では９０秒、ファイルＦ♯４では５０秒、ファイルＦ♯５では１１０秒である。
【００１５】
図１のヘッド動作Ａに、ファイル番号の昇順にファイルＦ♯１〜Ｆ＃５を読み出す場合のヘッドの動きを示す。図１のヘッド動作Ｂには、ファイルのシーク時間の昇順にファイルＦ♯１〜Ｆ＃５を読み出す場合のヘッドの動きを示す。いずれも、破線の矢印は、シークによるテープヘッドの動き示し、実線の矢印は、読み出しによるヘッドの動きを示す。
【００１６】
図１のヘッド動作Ａに示す、ファイル番号の昇順にファイルＦ♯１〜Ｆ＃５を読み出す場合、すべてのファイルを読み出すためのシーク時間（秒）は、おおよそ次ぎのとおりである。
１＋（１８０−１）＋（１８０−９０）＋（９０−５０）＋（１１０−５０）
＝３７０
【００１７】
図１のヘッド動作Ｂに示す、シーク時間の昇順、つまり、Ｆ＃１→Ｆ＃４→Ｆ＃３→Ｆ＃５→Ｆ＃２の順に読み出せば、すべてのファイルを読み出すためのシーク時間（秒）は、およそつぎのとおりとなる。
１＋（５０−１）＋（９０−５０）＋（１１０−９０）＋（１８０−１１０）
＝１８０
【００１８】
図１に示す例では、ファイル番号の昇順にファイルを読み出すと、総シーク時間はほぼ３７０秒かかり、シーク時間の昇順にファイルを読み出すと、総シーク時間はほぼ総１８０秒で済む。折り返されたトラックに散在する複数のファイルへのアクセスは、ＢＯＴからのシーク時間の昇順に読めば、テープヘッドの移動距離を短くし、総シーク時間を短縮することができる。
【００１９】
（連続するファイルに対するアクセス）
図２は、テープ上のバックワードトラックに連続して記録されたファイルに対するアクセス方法を説明する図である。図２も図１と同様に、テープ１０はＢＯＴからＥＯＴまで展開して示され、ヘッド２０の動きにより、テープとヘッドの相対運動を説明する。
【００２０】
図２のようにテープ上のファイルに連続してアクセスする場合でも、図１の場合と同様にシーク時間の昇順に読み出すことが効率的であれば好都合である。しかしながら、図２に示すように、ファイルＦ♯１〜Ｆ＃４がバックワードトラック、すなわちＢＯＴからＥＯＴへ向かう方向へ連続的に配置されている場合には、シーク時間の昇順に読むと効率的ではない。
【００２１】
図２のヘッド動作Ａは、シーク時間の昇順に、Ｆ＃４→Ｆ＃３→Ｆ＃２→Ｆ＃１と読む場合のヘッドの動きを示す。ヘッド動作Ａでは、破線で示すヘッドのシーク動作と、実線で示すヘッドの読み出し動作とが一部オーバラップして、ヘッドの動きが効率的ではない。
【００２２】
一方、図２のヘッド動作Ｂは、ファイル番号の昇順に、Ｆ＃１→Ｆ＃２→Ｆ＃３→Ｆ＃４と読む場合を示す。図２において、ヘッド動作Ａとヘッド動作Ｂとを比較すると、明らかに、ファイル番号の昇順に読み出すヘッド動作Ｂが、より効率的である。
【００２３】
また、フォワードトラックの連続したファイルに対しては、ファイル番号の昇順に読み出すのが効率的であることは知られている。さらに、フォワードトラックからバックワードトラック、あるいはバックワードトラックからフォワードトラックへ連続するファイルであっても、ファイル番号の昇順に読むと効率がよい。
【００２４】
以上の考察から、テープ上に離散している複数のファイルは、シーク時間の昇順に読み出すと効率がよく、テープ上に連続する複数のファイルは、ファイル番号の昇順に読み出すと効率がよいということができる。
【００２５】
テープ上に散在する複数のファイルをシーク時間の昇順に読み出すために、ＢＯＴからファイルの先頭までのシーク時間あるいはシーク距離を予め計算して記憶しておくことが考えられる。例えば、書き込まれるファイルサイズに基づいて、シーク時間あるいはシーク距離を算出して記憶しておけば、複数のファイルをシーク時間の昇順に並べることは容易である。
【００２６】
しかしながら、ＬＴＯ規格では、テープドライブによりデータが圧縮されてテープ媒体上に書き込む処理が行われる。さらにはテープ媒体の磁性体異常の部分にはデータを書き込まないような処理も行われる。したがって、テープ媒体に書き込まれない状態で同じファイルサイズであっても、テープ媒体に書き込まれるとファイルサイズは変化することがある。したがって、一般的にテープ媒体に書き込まれる前のファイルサイズからシーク距離したがってシーク時間を算出することはできない。
【００２７】
本実施形態では、書き込まれたファイルに対するＢＯＴからファイル先頭までのシーク時間を管理するシーク管理テーブルを備え、ファイルの書き込み時にシーク時間が測定できれば、そのシーク時間を記録する。書き込み時にシーク時間を測定できないファイルに対しては仮のシーク時間を記録しておく。その後、仮のシーク時間を有するファイルへのアクセス動作などによりシーク時間を実測する機会があれば、仮のシーク時間を真のシーク時間に補正する。このようにしてテーブルを完成させながら、最も効率のよいファイルアクセスを達成する。換言すれば、本実施形態では、テープ制御装置自ら学習したシーク時間に基づいて、効率よくファイルアクセスを行う。
【００２８】
図３は、テープ上のファイルのＢＯＴからのシーク時間を管理するシーク管理テーブルの一例である。なお、本実施形態ではシーク管理テーブルでシーク時間を管理するが、シーク時間に代えてシーク距離を管理するようにしてもよい。
【００２９】
シーク管理テーブル３０は、ファイル番号欄３１と、シーク時間欄３３と、記録方向欄３５と、フィクス値欄３７とを有する。ファイル番号欄３１には、テープに書きこまれた順にファイル番号が記録される。シーク時間欄３３には、ＢＯＴからファイルの先頭位置までヘッドを移動させるのに要するシーク時間が秒を単位として記録される。記録方向欄３５には、ファイルの記録方向が記録される。ファイルがテープのＢＯＴからＥＯＴに向かって記録されている場合には、フォワード方向が登録される。ファイルがテープのＥＯＴからＢＯＴに向かって記録されている場合には、バックワード方向が登録される。フィクス値欄３７は、シーク時間欄３３のシーク時間が確定されたか、まだ確定されていないかを示す値が記録される。シーク時間欄３３に記録されたシーク時間が実測されたたものである場合、確定値であることを示すTrueが記録される。シーク時間欄３３に記録されたシーク時間が実測されたものでない場合、仮の値であることを示すFalseが記録される。
【００３０】
図３のシーク管理テーブル３０では、登録されたすべてのファイルのフィクス値がTrueであるので、ファイルのシーク時間が確定していることを示している。例えばファイル番号３のファイルは、シーク時間が１００秒で、読み出し方向はフォワード方向である。また、ファイル番号５のファイルは、シーク時間が１００秒で、読み出し方向はフォワード方向である。
【００３１】
図３に示すシーク管理テーブル３０をテープ駆動制御装置の半導体メモリあるいはハードディスク等の記憶装置に記憶させておくと、上位装置からの複数のファイルの読み出し要求に対応して、当該複数のファイルをシーク時間の昇順に並び替えて読み出すように制御することができる。
【００３２】
次に、図４〜図６により、本実施形態のテープ駆動制御装置の一例と、シーク管理テーブルの生成過程の一例を説明する。
【００３３】
図４は、テープの１トラックとテープ駆動制御装置の概要を示す図である。テープ駆動制御装置１は、テープ走行制御部２と、書き込み／読み出し制御部４と、シーク管理テーブル３０を有する記憶装置３を備える。テープ走行制御部２は、テープ媒体１０の送りや巻き戻しなどの走行制御を実行する。書き込み／読み出し制御部４は、テープ媒体１０上へのヘッド２０によるデータの書き込み／読み出しを実行する。上位装置４０から複数のファイルに対して読み出し要求があると、これに応じてテープ走行制御部２は、記憶部３に格納されているシーク管理テーブルを参照して読み出し要求のあった複数のファイルへのアクセスを制御する。
【００３４】
本実施形態のテープ媒体１０では、新たに書き込まれる情報は、すでに書き込まれているファイルの後に、新たなファイルとして追記される。図４では、テープの１トラック上に、ファイルＦ♯１〜Ｆ＃３がファイルの終わりを示すファイルマークＦＭとともに書き込まれ、ファイルＦ♯４〜Ｆ＃６はこれから追記される状態にある。
【００３５】
テープ走行制御部２により、テープ媒体がＢＯＴからファイルＦ♯３の終端を示すファイルマークＦＭの次の書き込み位置までシークされる。このとき、シーク時間は１５０秒であることが測定される。ヘッド２０は、テープ媒体１０に対してシーク位置からファイルＦ♯４を書き込む。ファイルＦ♯４への書き込みが終了すると、ファイルマークＦＭを書き込んだ後、引き続きファイルＦ♯５を書きこみ、同様にファイルＦ♯６を書き込む。
【００３６】
図５は、図４に示すファイルの追記時にシーク管理テーブルに記録されるデータを示す図である。ファイルＦ♯４の追記以前には、すでにファイル番号３０までのデータが格納されている。例えば、ファイルＦ♯３のシーク時間は１００秒、記録方向はフォワード、フィクス値はTrueとして登録されている。
【００３７】
ファイルＦ♯４の追記の結果、ファイル番号４に対応して、シーク時間欄３３には、実測されたシーク時間である１５０秒が記録される。ファイル番号４のシーク時間１５０秒は、ファイル番号３のシーク時間１００よりも長い。したがって、ファイル番号４の記録方向は、ファイル番号３の記録方向と同じ方向であると判断される。記録方向欄３５には、ファイル番号３と同じフォワードが記録される。フィクス値欄３７には、ファイル番号４のシーク時間１５０秒は確定であるので、Trueが記録される。
【００３８】
ファイル番号４に引き続き、ファイルＦ♯５、ファイルＦ♯６のシークデータがファイル番号５、６に記録される。しかし、ファイルＦ♯５、ファイルＦ♯６は、ファイルＦ♯４に引き続き書き込まれるので、それぞれのシーク時間は不明である。この場合、ファイル番号５、６に対応するシーク時間欄３３には、それぞれ仮のシーク時間としてファイル番号４と同じシーク時間１５０秒が記録される。また、ファイル番号５、６に対応する記録方向欄３５にも、仮の方向としてファイル番号４と同じ方向が記録される。そして、フィクス値欄には、ファイル番号５、６について未確定であることを示すFalseが登録されれる。
【００３９】
図６は、図５のシーク管理テーブルの補正の一例を示す図である。図５のシーク管理テーブル３０の生成後、図４のファイルＦ♯５に対する読み出し要求があったとする。その結果、ヘッド２０がＢＯＴからファイルＦ♯５の先頭にシークされる。シーク時間は実測値で１６０秒である。
【００４０】
図６のシーク管理テーブル３０に示すように、ファイル番号５のシーク時間欄３７は、１５０秒から１６０秒へ変更される。ファイル番号５のシーク時間１６０秒は、ファイル番号４のシーク時間１５０秒より長いので、記録方向は、フォワードのままである。ファイル番号５のシーク時間が実測され確定するので、ファイル番号５のフィクス値は、Trueに変化する。
【００４１】
ファイルＦ♯６については、シーク時間が確定していないので、フィクス値はFalseのままである。しかしながら、ファイルＦ♯５のシーク時間が１６０秒で確定したので、ファイルＦ♯６のシーク時間も１６０秒に更新する。なお、方向は以前のままフォワードである。
【００４２】
図６は、特定のファイルがＢＯＴからシークされて読み出されると。特定のファイルに対するシーク時間が求まり、それによりシーク管理テーブルの仮のデータが補正され、特定のファイルに関するシークデータが確定する状態を示している。同様に、仮のシーク時間をもつファイルが、その先頭位置からＢＯＴまで巻き戻しされた場合でも、シーク時間は決定される。したがって、特定のファイルの先頭位置からＢＯＴまで巻き戻しがあったときも、当該特定ファイルのシーク時間は確定し、その結果記録方向も確定する。これにより、シーク管理テーブルの仮のデータが補正され、当該特定ファイルに対応するフィクス値はTrueに変更される。
【００４３】
図７〜図９は、シーク管理テーブルの補正の他の例を説明する図である。図７は、ファイルＦ♯１０からファイルＦ♯１３まで連続して追記された後、ファイルＦ♯１２にアクセスされた状態を示す図である。図８は、ファイルＦ♯１０からファイルＦ♯１３までの追記が終了した時点でのシーク管理テーブル３０を示す図である。図９は、ファイルＦ♯１２にアクセスされて補正されたシーク管理テーブルを示す図である。
【００４４】
まず、ファイルＦ♯１０からファイルＦ♯１３まで連続して追記される場合、先頭のファイルＦ♯１０については、ＢＯＴからファイルＦ♯１０の書き込み位置までシークされる。このとき、ファイルＦ♯１０のシーク時間は実際に測定され、測定結果は１７０秒であった。したがって、図８のシーク管理テーブル３０には、ファイル番号１０に対応するシーク時間欄３３に１７０が記録される。記録方向欄３５には、ファイルＦ♯９（図示せず）のシーク時間と比較して長いのでフォワードが記録される。シーク時間は確定しているので、フィクス値欄３７には、Trueが記録される。
【００４５】
しかしながら、ファイルＦ♯１１からファイルＦ♯１３は連続的に追記されているので、シーク時間は確定しない。したがって、ファイルＦ♯１０と同じシーク時間と記録方向をシーク管理テーブル３０に仮に記録して、フィクス値欄３７は、Falseとしておく。
【００４６】
次に、図７に示すように、ファイルＦ♯１２の読み出し要求があり、テープヘッドがＢＯＴからファイルＦ♯１２の先頭までシークされる。このとき、シーク時間は１５０秒であった。したがって、図８のテーブルのファイル番号１２に対応するシーク時間欄には１５０秒が登録される。また、ファイルＦ♯１２のシーク時間１５０秒は、ファイルＦ♯１０のシーク時間１７０秒より短いので、折り返しがあると判断できる。したがって、記録方向欄３５にはバックワードと記録される。ファイル番号１２のシーク時間が確定したので、フィクス値欄３７は、Trueに変化する。補正されたシーク管理テーブル３０は、図９に示すとおり、ファイル番号１２に対応する行がTrueとなっている。
【００４７】
ファイルＦ♯１２の後続のファイルＦ♯１３は、ファイルＦ♯１２と同じシーク時間、記録方向に補正する。しかし、ファイルＦ♯１３のシーク時間と方向は確定したものではないので、フィクス値は、Falseのままである。
【００４８】
ファイルＦ♯１１については、図９のファイル番号１２のフィクス値がFalseであることから分るように、今回は補正されない。この後ファイルＦ♯１１にアクセスされる場合があると、シーク時間が確定し、補正されることになる。
【００４９】
なお、図７から分るように、ファイルＦ♯１１のシーク時間が求まるとすれば、ファイルＦ♯１０のシーク時間より長くなる可能性がある。したがって、実際にはファイルＦ♯１１はバックワードに書き込まれているにも関わらず、シーク管理テーブル３０上では、記録方向はフォワードとして登録されることになる。すなわち、ファイル番号１１に対応するフィクス値がTrueとなっても、方向はフォワードのままである。しかしながら、シーク管理テーブル３０は、ファイルに対するアクセス効率を上げることが目的である。したがって、シーク管理テーブル３０に登録さている記録方向が実際のテープでの方向と異なっていても、アクセス効率があがれば差し支えない。
【００５０】
上述の実施形態では、ＢＯＴからシークされる場合について説明した。テープ上の任意のファイルをランダムにアクセスするシステムでは、ＢＯＴではない位置からファイルの先頭位置にシークする場合も多い。図１０，１１を参照して、ＢＯＴではない位置からファイルの先頭位置にシークする場合のシーク管理テーブルの補正方法を説明する。
【００５１】
図１０（ａ）〜（ｃ）は、フォワードトラックにあるファイルＦ♯ａからファイルＦ♯ｂへアクセスする時のシーク管理テーブルの補正の一例を示す図である。
【００５２】
図１０（ａ）に示すように、テープ１０のフォワードトラックには、ファイルＦ♯ａが書き込まれ、その後ファイルＦ♯ｂが書き込まれている。また、図１０（ｂ）のシーク管理テーブル３０から分るように、ファイルＦ♯ａのシーク時間は６０秒で確定している。しかし、ファイルＦ♯ｂのシーク時間の欄にはファイルＦ♯ａのシーク時間である６０秒が仮に格納されており、フィクス値がFalseとなっている。
【００５３】
図１０（ａ）に示すように、ヘッド２０は、ファイルＦ♯ａの先頭位置にある。次いで、ファイルＦ♯ｂの読み出し要求に応じて、ヘッド２０はファイルＦ♯ａの先頭位置からファイルＦ♯ｂの先頭位置までシークする。このシーク時間が２０秒であったとする。ここで、図１０（ｂ）のシーク管理テーブル３０に格納されている方向情報を参照すると、方向情報の欄３５にはファイルＦ♯ａとＦ♯ｂはともに方向がフォワードであるとされている。したがって、ファイルＦ♯ｂのＢＯＴからのシーク時間は、６０秒＋２０秒の加算により計算され、８０秒となる。
【００５４】
この結果、図１０（ｃ）に示すように、シーク管理テーブル３０のファイル番号ｂのシーク時間の欄３３は、８０秒に変更される。しかしながら、この場合のシーク時間８０秒は、実測値ではないので、ファイル番号ｂのフィクス値の欄３７はTrueではなく、Falseが維持される。ファイルＦ♯ｂＢＯＴからのシーク時間は確定値ではないが、実際の値に近いと考えられる。したがって、ファイルＦ♯ｂのＢＯＴからのシーク時間としてこのフィクス値８０秒を使用することで、ファイルのアクセスを効率化することができる。なお、ファイルＦ♯ｂのＢＯＴからのシーク時間が実測されると、シーク時間管理テーブル３０のシーク時間の欄には実測値が格納され、フィクス値はTrueに変更される。
【００５５】
図１１（ａ）〜（ｃ）は、バックワードトラックにあるファイルＦ♯ｃからファイルＦ♯ｄへアクセスする時のシーク管理テーブルの補正の一例を示す図である。
【００５６】
図１１（ａ）に示すように、テープ１０のバックワードトラックには、ファイルＦ♯ｃが書き込まれ、その後ファイルＦ♯ｄが書き込まれている。また、図１１（ｂ）のシーク管理テーブル３０から分るように、ファイルＦ♯ｃのシーク時間は１００秒で確定している。しかし、ファイルＦ♯ｄのシーク時間の欄にはファイルＦ♯ｃのシーク時間である１００秒が仮に格納されており、フィクス値がFalseとなっている。
【００５７】
図１１（ａ）に示すように、ヘッド２０は、ファイルＦ♯ｃの先頭位置にある。次いで、ファイルＦ♯ｄの読み出し要求に応じて、ヘッド２０はファイルＦ♯ｃの先頭位置からファイルＦ♯ｄの先頭位置までシークする。このシーク時間が７０秒であったとする。図１１（ｂ）のシーク管理テーブル３０の方向欄３５を参照すれば、ファイルＦ♯ｃとＦ♯ｄはともに方向がバックワードであることがわかる。したがって、ファイルＦ♯ｄのＢＯＴからのシーク時間は、１００秒−７０秒と減算により計算され、３０秒となる。
【００５８】
この結果、図１１（ｃ）に示すように、シーク管理テーブル３０のファイル番号ｄのシーク時間の欄３３は、３０秒に変更される。しかしながら、この場合のシーク時間３０秒は、実測値ではないので、ファイル番号ａのフィクス値の欄３７はTrueではなく、Falseが維持される。ファイルＦ♯ｄのＢＯＴからのシーク時間は確定していないが、実際の値に近いと考えられる。したがって、ファイルＦ♯ｂおよびファイルＦ♯ｄのＢＯＴからのシーク時間としてこのフィクス値３０秒を使用することで、ファイルのアクセスを効率化することができる。なお、ファイルＦ♯ｄのＢＯＴからのシーク時間が実測されると、シーク時間管理テーブル３０のシーク時間の欄には実測値が格納され、フィクス値はTrueに変更される。
【００５９】
シーク時間管理テーブルを用いるとさらに効率的なファイルの読み出しを行うことができる。例えば、テープ上のバックワードトラックに配置されているファイルを昇順にとびとびに、例えば１つおきに、読むような場合、シーク時間管理テーブルを用いると、どのように読み出すのが効率的かを決定することができる。
【００６０】
図１２は、バックワードトラックに連続して配置されたファイルＦ♯２１〜Ｆ♯２６ファイルのうち、ファイルＦ＃２１、Ｆ＃２３、Ｆ＃２５を読み出す場合を説明する図である。なお、図１２のＦＭは、ファイルの終わりを示すファイルマークである。ファイルアクセスプランＣは、ファイルのＢＯＴからのシーク時間の昇順に読み出す場合を示し、ファイルアクセスプランＤは、ファイル番号の昇順に読み出す場合を示す。
【００６１】
図１２の実線で示すファイルを読む時間は、ともに同一である。したがって、図１２の破線で示すシーク時間を比較することにより、アクセスプランＣ、Ｄのいずれが効率的な読み出し方法であるかが決定する。
【００６２】
図１２では、ファイルＦ♯ｎ（１≦ｎ≦６）のシーク時間をＳ♯ｎで示す。シーク時間Ｓ♯ｎは、ＢＯＴからファイルＦ♯ｎの先頭までのシーク時間である。なおシーク時間に代えてシーク距離を用いてもよい。
【００６３】
アクセスプランＣのシーク時間の合計は、
Ｓ♯２５＋（Ｓ♯２３−Ｓ♯２６）＋（Ｓ♯２１−Ｓ♯２４）
となる。ここで、（Ｓ♯２３−Ｓ♯２６）の項は、ヘッド２０が、ファイルＦ♯２５、Ｆ♯２４、Ｆ♯２３上を移動する時間を表している。（Ｓ♯２１−Ｓ♯２４）の項は、ヘッド２０が、ファイルＦ♯２３、Ｆ♯２２、Ｆ♯２１上を移動する時間を表している。
【００６４】
アクセスプランＤのシーク時間の合計は、
Ｓ♯２１＋（Ｓ♯２２−Ｓ♯２３）＋（Ｓ♯２４−Ｓ♯２５）
となる。ここで、（Ｓ♯２２−Ｓ♯２３）の項は、ヘッド２０が、ファイルＦ♯２２上を移動する時間を表している。（Ｓ♯２１−Ｓ♯２４）の項は、ヘッド２０が、ファイルＦ♯２４上を移動する時間を表している。
【００６５】
したがって、読みたいファイルの直後にあるファイルのシーク時間がシーク時間管理テーブルにフィクス値として格納されていれば、ファイルアクセスプランＣ、Ｄのシーク時間の合計は求まる。したがって、ファイルアクセスプランＣ、Ｄのシーク時間の合計を比較することにより、より効率的な読み出し方法を決定することができる。
【００６６】
以上のように、本実施形態では、シーク時間は、ファイルの書き込みあるいは読み出しのためのシーク動作、あるいは巻き戻し動作の結果により学習され、学習の結果シーク管理テーブルは完全なものとなってゆく。したがって、予めシーク時間を算出して完全なシーク管理テーブルをもつ必要はない。
【００６７】
なお、シーク管理テーブルから分るように、確定していないシーク時間であっても仮のシーク時間が記録されている。確定していないファイルをアクセスする場合は、仮のシーク時間を使用することになる。同一のシーク時間をもつ離散した複数のファイルにアクセスする必要がある場合には、記録方向がフォワードであれば、ファイル番号が小さいほうをシーク時間が短いと判断することができる。また、記録方向がバックワードであれば、ファイル番号が大きいほうをシーク時間が短いと判断することができる。
【００６８】
また、連続して書き込まれているファイルにアクセスする場合は、記録方向に関係なく、ファイル番号の昇順に読めばよい。
【００６９】
したがって、ファイルが離散して配置されている場合は、ファイルのシーク時間の昇順にアクセスし、ファイルが連続して配置されている場合は、ファイルのシーク時間の昇順にアクセスするようにすれば、効率のよいファイルアクセスを達成することができる。さらに、シーク管理テーブルを用いてファイルアクセスプランを評価することができるので、さらに効率のよいファイルアクセスを行うことができる。
【図面の簡単な説明】
【００７０】
【図１】テープ上に折り返して記録されたファイルの読み出し方法を説明する図である。
【図２】テープ上のバックワード方向に連続して記録されたファイルの読み出し方法を説明する図である。
【図３】一実施形態のシーク管理テーブルを説明する図である。
【図４】一実施形態のテープ駆動制御装置を説明する図である。
【図５】ファイルの追記の際にシーク情報が登録されたシーク管理テーブルの一例を示す図である。
【図６】図５のシーク管理テーブルの補正の一例を示す図である。
【図７】シーク管理テーブルの補正を引き起こすファイルの読み出しを説明する図である。
【図８】図７のファイル読み出し前のシーク管理テーブルの一例を示す図である。
【図９】図７のファイル読み出し後のシーク管理テーブルの一例を示す図である。
【図１０】（ａ）は、フォワードトラック上で、あるファイルから他のファイルへシークする一例を示す図であり、（ｂ）は、一方のファイルのシーク時間が確定しているときのファイル管理テーブルの一例を示す図であり、（ｃ）は、一方のファイルから他のファイルへシークした後のファイル管理テーブルの一例を示す図である。
【図１１】（ａ）は、バックワードトラック上で、あるファイルから他のファイルへシークする一例を示す図であり、（ｂ）は、一方のファイルのシーク時間が確定しているときのファイル管理テーブルの一例を示す図であり、（ｃ）は、一方のファイルから他のファイルへシークした後のファイル管理テーブルの一例を示す図である。
【図１２】バックワードトラックに連続して配置されたファイルのうち、１つおきに配置されたファイルの効率的な読み出し方法の決定を説明する図である。
【符号の説明】
【００７１】
１０    テープ媒体
２０    ヘッド
３０    シーク管理テーブル
１    テーク駆動制御装置
２    テープ走行制御部
３    記憶部
４    書き込み／読み出し制御部
【図１】
2010097646.tif 000003
【図２】
2010097646.tif 000004
【図３】
2010097646.tif 000005
【図４】
2010097646.tif 000006
【図５】
2010097646.tif 000007
【図６】
2010097646.tif 000008
【図７】
2010097646.tif 000009
【図８】
2010097646.tif 000010
【図９】
2010097646.tif 000011
【図１０】
2010097646.tif 000012
【図１１】
2010097646.tif 000013
【図１２】
2010097646.tif 000014