(57)【要約】【課題】異なるフォーマットの複数種類のデータから特定の種類のデータを読み出す際の速度を速める。【解決手段】テープドライブのコントローラ１６において、コマンド処理部４１が新データのＥＯＤの後ろから旧データを読み出す要求を受け取り、チャネル入出力部４３がこの要求に応じて読出しヘッドで読み出されたデータを受け取り、バッファ管理部４２がこのデータを受け取る。そして、ヘッダ情報判定部４４が、このデータが旧データのヘッダ情報を含むかどうかを判定し、このデータが旧データのヘッダ情報を含むと判定されれば、データセット判定部４５が、このデータからデータセットが取り出せるかどうかを判定し、取り出せないと判定されれば、移動信号出力部４７が、読出しヘッドを新データの方向へ移動させるための信号を出力する。【選択図】図６
2010027118.tif 000002
【特許請求の範囲】
【請求項１】
テープ媒体に記録されたデータを、読出しヘッドを用いて読み出す装置であって、
異なるフォーマットで第１のデータ及び第２のデータが記録された前記テープ媒体から当該第１のデータを読み出す要求を受け付ける受付部と、
前記受付部による前記要求の受け付けに応じて、前記読出しヘッドと、前記テープ媒体上の前記第１のデータ及び前記第２のデータとが、当該第１のデータが記録されていることは認識可能であるが当該第１のデータが読出し可能ではない特定の位置関係にあることを検出する検出部と、
前記検出部により前記読出しヘッドと前記第１のデータ及び前記第２のデータとが前記特定の位置関係にあることが検出された場合に、当該第２のデータが記録されていることが認識可能な間は当該第２のデータが読み出されず、当該第１のデータが記録されていることが認識可能になってから当該第１のデータが読み出されるように、当該読出しヘッドを当該第２のデータが記録された位置へ向けて移動させる移動部と
を含む、装置。
【請求項２】
前記検出部は、前記読出しヘッドと前記テープ媒体上の前記第１のデータ及び前記第２のデータとが、当該第１のデータが記録されていることが認識可能な位置関係にあることを、当該第１のデータに付加された当該第１のデータのフォーマットを識別する識別情報に基づいて検出する、請求項１の装置。
【請求項３】
前記検出部は、前記読出しヘッドと前記テープ媒体上の前記第１のデータ及び前記第２のデータとが、当該第１のデータが読出し可能ではない位置関係にあることを、当該第１のデータの読出しに失敗した回数と所定の閾値との比較結果に基づいて検出する、請求項１の装置。
【請求項４】
前記受付部は、前記テープ媒体の長手方向に沿った領域に前記第１のデータが記録された後に当該第１のデータの一部が当該テープ媒体の長手方向に沿って途中まで前記第２のデータにより上書きされた当該テープ媒体から、当該第２のデータの終端よりも後ろに記録された当該第１のデータを読み出す要求を受け付ける、請求項１の装置。
【請求項５】
前記移動部は、前記受付部による前記要求の受け付けに応じて、前記検出部により前記読出しヘッドと前記テープ媒体上の前記第１のデータ及び前記第２のデータとが前記特定の位置関係にあることが検出される前に、当該読出しヘッドを当該第１のデータが記録された位置へ向けて移動させる、請求項１の装置。
【請求項６】
テープ媒体に記録されたデータを読み出す装置であって、
前記テープ媒体に記録されたデータを読み出すための読出しヘッドと、
異なるフォーマットで第１のデータ及び第２のデータが記録された前記テープ媒体から当該第１のデータを読み出す要求があると、前記読出しヘッドと、当該テープ媒体上の当該第１のデータ及び当該第２のデータとが、当該第１のデータが記録されていることは認識可能であるが当該第１のデータが読出し可能ではない位置関係にある場合に、当該読出しヘッドの当該第２のデータが記録された位置への移動を制御するコントローラと、
前記コントローラの制御に応じて、前記読出しヘッドを移動させる移動機構と
を含む、装置。
【請求項７】
テープ媒体に記録されたデータを、読出しヘッドを用いて読み出す装置であって、
前記テープ媒体の長手方向に沿った領域に第１のデータが記録された後に当該第１のデータの一部が当該テープ媒体の長手方向に沿って途中まで第２のデータにより当該第１のデータとは異なるフォーマットで上書きされた当該テープ媒体から、当該第１のデータを読み出す要求を受け付ける受付部と、
前記受付部による前記要求の受け付けに応じて、前記読出しヘッドの位置が、前記第１のデータ及び前記第２のデータの何れが記録されている位置であるかを判定する第１の判定部と、
前記第１の判定部により前記読出しヘッドの位置が前記第１のデータが記録されている位置であると判定された場合に、当該読出しヘッドの位置が、当該第１のデータを読み出せる位置であるかを判定する第２の判定部と、
前記第２の判定部により前記読出しヘッドの位置が前記第１のデータを読み出せる位置ではないと判定された場合に、当該読出しヘッドを前記第２のデータが記録された位置へ向けて移動させる移動部と、
前記第２の判定部により前記読出しヘッドの位置が前記第１のデータを読み出せる位置であると判定された場合に、当該第１のデータを読み出す読出し部と、
前記第１の判定部により前記読出しヘッドの位置が前記第２のデータが記録されている位置であると判定された場合に、当該第２のデータを読み飛ばす読み飛ばし部と
を含む、装置。
【請求項８】
テープ媒体に記録されたデータを、読出しヘッドを用いて読み出す方法であって、
異なるフォーマットで第１のデータ及び第２のデータが記録された前記テープ媒体から当該第１のデータを読み出す要求を受け付けるステップと、
前記要求の受け付けに応じて、前記読出しヘッドと、前記テープ媒体上の前記第１のデータ及び前記第２のデータとが、当該第１のデータが記録されていることは認識可能であるが当該第１のデータが読出し可能ではない特定の位置関係にあることを検出するステップと、
前記読出しヘッドと前記第１のデータ及び前記第２のデータとが前記特定の位置関係にあることが検出された場合に、当該読出しヘッドを当該第２のデータが記録された位置へ向けて移動させるステップと、
前記第２のデータが記録されていることが認識可能な間は当該第２のデータを読み出さずに、前記第１のデータが記録されていることが認識可能になってから当該第１のデータを読み出すステップと
を含む、方法。
【請求項９】
テープ媒体に記録されたデータを、読出しヘッドを用いて読み出す装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
異なるフォーマットで第１のデータ及び第２のデータが記録された前記テープ媒体から当該第１のデータを読み出す要求を受け付ける受付部と、
前記受付部による前記要求の受け付けに応じて、前記読出しヘッドと、前記テープ媒体上の前記第１のデータ及び前記第２のデータとが、当該第１のデータが記録されていることは認識可能であるが当該第１のデータが読出し可能ではない特定の位置関係にあることを検出する検出部と、
前記検出部により前記読出しヘッドと前記第１のデータ及び前記第２のデータとが前記特定の位置関係にあることが検出された場合に、当該第２のデータが記録されていることが認識可能な間は当該第２のデータが読み出されず、当該第１のデータが記録されていることが認識可能になってから当該第１のデータが読み出されるように、当該読出しヘッドを当該第２のデータが記録された位置へ向けて移動させる移動部と
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープ媒体に記録されたデータを読み出す装置及び方法に関する。特に、本発明は、テープ媒体に記録されたデータを、読出しヘッドを用いて読み出す装置及び方法に関する。
【背景技術】
【０００２】
磁気テープ等のテープ媒体上に異なるフォーマットの複数種類のデータが混在する場合がある。例えば、テープ媒体に記録された古いデータを新しいデータで上書きしたが、その新しいデータの後ろに古いデータが残っているような場合等である。このような場合に、複数種類のデータから特定の種類のデータを読み出す要求があると、これら複数種類のデータを区別して特定の種類のデータのみを抜き出すことが必要になる。
ここで、テープ媒体に既に記録された古いデータとテープ媒体に新たに記録する新規データとを区別する方法は既に提案されている（例えば、特許文献１参照）。この特許文献１では、既に記録されていた古いデータに対する新規データの新しさを示す情報であるデータ新規度を新規データに対応付けてテープ媒体に記録するようにしている。
【０００３】
【特許文献１】国際公開第０３／０８３８６６号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように、テープ媒体上の古いデータと新規データとを区別する方法は既にあった。
しかしながら、異なるフォーマットの複数種類のデータから特定の種類のデータを読出しヘッドで読み出す場合に、読出しヘッドの位置と複数種類のデータの位置とが重なると問題が生じる。即ち、読み出しエラーが多発し、バックヒッチが発生し、読出しに時間がかかってしまうという問題である。
【０００５】
尚、特許文献１は、古いデータと新規データとを区別する方法を提供するが、上記のような異なるフォーマットの複数種類のデータから特定の種類のデータを読み出す場面を想定したものではない。
【０００６】
本発明の目的は、異なるフォーマットの複数種類のデータから特定の種類のデータを読み出す際の速度を速めることにある。
【課題を解決するための手段】
【０００７】
かかる目的のもと、本発明は、テープ媒体に記録されたデータを、読出しヘッドを用いて読み出す装置であって、異なるフォーマットで第１のデータ及び第２のデータが記録されたテープ媒体から第１のデータを読み出す要求を受け付ける受付部と、受付部による要求の受け付けに応じて、読出しヘッドと、テープ媒体上の第１のデータ及び第２のデータとが、第１のデータが記録されていることは認識可能であるが第１のデータが読出し可能ではない特定の位置関係にあることを検出する検出部と、検出部により読出しヘッドと第１のデータ及び第２のデータとが特定の位置関係にあることが検出された場合に、第２のデータが記録されていることが認識可能な間は第２のデータが読み出されず、第１のデータが記録されていることが認識可能になってから第１のデータが読み出されるように、読出しヘッドを第２のデータが記録された位置へ向けて移動させる移動部とを含む、装置を提供する。
【０００８】
ここで、検出部は、読出しヘッドとテープ媒体上の第１のデータ及び第２のデータとが、第１のデータが記録されていることが認識可能な位置関係にあることを、第１のデータに付加された第１のデータのフォーマットを識別する識別情報に基づいて検出する、ものであってよい。
また、検出部は、読出しヘッドとテープ媒体上の第１のデータ及び第２のデータとが、第１のデータが読出し可能ではない位置関係にあることを、第１のデータの読出しに失敗した回数と所定の閾値との比較結果に基づいて検出する、ものであってよい。
更に、受付部は、テープ媒体の長手方向に沿った領域に第１のデータが記録された後に第１のデータの一部がテープ媒体の長手方向に沿って途中まで第２のデータにより上書きされたテープ媒体から、第２のデータの終端よりも後ろに記録された第１のデータを読み出す要求を受け付ける、ものであってよい。
更にまた、移動部は、受付部による要求の受け付けに応じて、検出部により読出しヘッドとテープ媒体上の第１のデータ及び第２のデータとが特定の位置関係にあることが検出される前に、読出しヘッドを第１のデータが記録された位置へ向けて移動させる、ものであってよい。
【０００９】
また、本発明は、テープ媒体に記録されたデータを読み出す装置であって、テープ媒体に記録されたデータを読み出すための読出しヘッドと、異なるフォーマットで第１のデータ及び第２のデータが記録されたテープ媒体から第１のデータを読み出す要求があると、読出しヘッドと、テープ媒体上の第１のデータ及び第２のデータとが、第１のデータが記録されていることは認識可能であるが第１のデータが読出し可能ではない位置関係にある場合に、読出しヘッドの第２のデータが記録された位置への移動を制御するコントローラと、コントローラの制御に応じて、読出しヘッドを移動させる移動機構とを含む、装置も提供する。
【００１０】
また、本発明は、テープ媒体に記録されたデータを、読出しヘッドを用いて読み出す装置であって、テープ媒体の長手方向に沿った領域に第１のデータが記録された後に第１のデータの一部がテープ媒体の長手方向に沿って途中まで第２のデータにより第１のデータとは異なるフォーマットで上書きされたテープ媒体から、第１のデータを読み出す要求を受け付ける受付部と、受付部による要求の受け付けに応じて、読出しヘッドの位置が、第１のデータ及び第２のデータの何れが記録されている位置であるかを判定する第１の判定部と、第１の判定部により読出しヘッドの位置が第１のデータが記録されている位置であると判定された場合に、読出しヘッドの位置が、第１のデータを読み出せる位置であるかを判定する第２の判定部と、第２の判定部により読出しヘッドの位置が第１のデータを読み出せる位置ではないと判定された場合に、読出しヘッドを第２のデータが記録された位置へ向けて移動させる移動部と、第２の判定部により読出しヘッドの位置が第１のデータを読み出せる位置であると判定された場合に、第１のデータを読み出す読出し部と、第１の判定部により読出しヘッドの位置が第２のデータが記録されている位置であると判定された場合に、第２のデータを読み飛ばす読み飛ばし部とを含む、装置も提供する。
【００１１】
更に、本発明は、テープ媒体に記録されたデータを、読出しヘッドを用いて読み出す方法であって、異なるフォーマットで第１のデータ及び第２のデータが記録されたテープ媒体から第１のデータを読み出す要求を受け付けるステップと、要求の受け付けに応じて、読出しヘッドと、テープ媒体上の第１のデータ及び第２のデータとが、第１のデータが記録されていることは認識可能であるが第１のデータが読出し可能ではない特定の位置関係にあることを検出するステップと、読出しヘッドと第１のデータ及び第２のデータとが特定の位置関係にあることが検出された場合に、読出しヘッドを第２のデータが記録された位置へ向けて移動させるステップと、第２のデータが記録されていることが認識可能な間は第２のデータを読み出さずに、第１のデータが記録されていることが認識可能になってから第１のデータを読み出すステップとを含む、方法も提供する。
【００１２】
更にまた、本発明は、テープ媒体に記録されたデータを、読出しヘッドを用いて読み出す装置としてコンピュータを機能させるプログラムであって、コンピュータを、異なるフォーマットで第１のデータ及び第２のデータが記録されたテープ媒体から第１のデータを読み出す要求を受け付ける受付部と、受付部による要求の受け付けに応じて、読出しヘッドと、テープ媒体上の第１のデータ及び第２のデータとが、第１のデータが記録されていることは認識可能であるが第１のデータが読出し可能ではない特定の位置関係にあることを検出する検出部と、検出部により読出しヘッドと第１のデータ及び第２のデータとが特定の位置関係にあることが検出された場合に、第２のデータが記録されていることが認識可能な間は第２のデータが読み出されず、第１のデータが記録されていることが認識可能になってから第１のデータが読み出されるように、読出しヘッドを第２のデータが記録された位置へ向けて移動させる移動部として機能させる、プログラムも提供する。
【発明の効果】
【００１３】
本発明によれば、異なるフォーマットの複数種類のデータから特定の種類のデータを読み出す際の速度が速まる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、「実施の形態」という）について詳細に説明する。
図１は、本実施の形態が適用されるテープドライブ１０の構成例を示した図である。このテープドライブ１０は、ホストインターフェイス（以下、「ホストＩ／Ｆ」という）１１と、バッファ１２と、チャネル１３と、書込みヘッド１４ａと、読出しヘッド１４ｂと、モータ１５とを含む。また、コントローラ１６と、ヘッド位置制御システム１７と、モータドライバ１８とを含む。更に、テープドライブ１０には、テープカートリッジ２０が挿入されることにより装填可能となっているので、ここでは、テープカートリッジ２０も図示している。このテープカートリッジ２０は、リール２１、２２に巻かれたテープ２３を含む。テープ２３は、リール２１、２２の回転に伴い、リール２１からリール２２の方向へ、又は、リール２２からリール２１の方向へ、長手方向に移動する。尚、テープ２３としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
【００１５】
ここで、ホストＩ／Ｆ１１は、上位装置の一例であるホスト３０との通信を行う。例えば、ホスト３０から、テープ２３へのデータの書込みを指示するコマンド、テープ２３を目的の位置に移動させるコマンド、テープ２３からのデータの読出しを指示するコマンドを受け取る。尚、このホストＩ／Ｆ１１で用いる通信規格としては、ＳＣＳＩが例示される。ＳＣＳＩの場合、１つ目のコマンドは、Ｗｒｉｔｅコマンドに相当し、２つ目のコマンドは、ＬｏｃａｔｅコマンドやＳｐａｃｅコマンドに相当し、３つ目のコマンドは、Ｒｅａｄコマンドに相当する。また、ホストＩ／Ｆ１１は、ホスト３０に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
【００１６】
バッファ１２は、テープ２３に書き込むべきデータやテープ２３から読み出されたデータを蓄積するメモリである。例えば、ＤＲＡＭ（Dynamic Random Access Memory）によって構成される。また、バッファ１２は、複数のバッファセグメントからなり、各バッファセグメントが、テープ２３に対する読み書きの単位であるデータセットを格納している。
チャネル１３は、テープ２３に書き込むべきデータを書込みヘッド１４ａに送ったり、テープ２３から読み出されたデータを読出しヘッド１４ｂから受け取ったりするために用いられる通信経路である。
書込みヘッド１４ａは、テープ２３が長手方向に移動するとき、テープ２３に対して情報を書き込み、読出しヘッド１４ｂは、テープ２３が長手方向に移動するとき、テープ２３から情報を読み出す。
モータ１５は、リール２１、２２を回転させる。尚、図では、１つの矩形でモータ１５を表しているが、モータ１５としては、リール２１、２２の各々に１つずつ、合計２個設けるのが好ましい。
【００１７】
一方、コントローラ１６は、テープドライブ１０の全体を制御する。例えば、ホストＩ／Ｆ１１で受け付けたコマンドに従って、データのテープ２３への書込みやテープ２３からの読出しを制御する。また、ヘッド位置制御システム１７やモータドライバ１８の制御も行う。
ヘッド位置制御システム１７は、所望の１つ又は複数のラップを追跡するシステムである。ここで、ラップとは、テープ２３上の複数のトラックのグループである。ラップを切り換える必要が生じると、書込みヘッド１４ａ及び読出しヘッド１４ｂを電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム１７で行う。本実施の形態では、読出しヘッドを移動させる移動機構の一例として、ヘッド位置制御システム１７を設けている。
モータドライバ１８は、モータ１５を駆動する。尚、上述したように、モータ１５を２個使用する場合であれば、モータドライバ１８も２個設けられる。
【００１８】
以下、テープドライブ１０として、ＩＢＭエンタープライズテープドライブＴＳ１１２０を例にとり、本実施の形態について詳細に説明する。
まず、本実施の形態の前提として、テープ２３上のフォーマットについて説明する。
図２は、テープ２３上のフォーマットの概略を示した図である。図中、ＬＰ２からＬＰ３の間はキャリブレーション領域であり、ＬＰ３からＬＰ４の間がユーザデータ領域である。
図示するように、テープ２３上には、５本のサーボバンドが設けられている。このサーボバンドは、テープ２３の製造時にテープ２３上の物理的な位置を示すサーボパターンが書き込まれた領域である。
【００１９】
また、テープ２３は、この５本のサーボバンドによって、４本のデータバンドに分割されている。このデータバンドは、ユーザデータが書き込まれる領域であり、各データバンドには、十数本のラップと呼ばれる細長いデータ領域が設けられている。図では、１本の実線の矢印が１本のラップを表している。データは、右方向の矢印で示すようにラップに順方向に読み書きされた後、破線で連結した左方向の矢印で示すようにラップに逆方向に読み書きされる。図では、簡単化のため、１つのデータバンド内で、データが順方向に読み書きされるラップ、及び、データが逆方向に読み書きされるラップを、２本ずつ示している。しかしながら、実際には、順方向のラップ及び逆方向のラップはそれぞれ、例えば７本〜９本あり、１つのデータバンド内でラップは渦巻き状に配置されているものとする。つまり、順方向への読み書き及び逆方向への読み書きが繰り返し行われることにより、データはテープ２３上で何度も往復して読み書きされるようになっている。
【００２０】
更に、このようなフォーマットのテープ２３では、開始位置２０１を起点とし、データバンド＃０内に渦巻き状に配置されたラップに沿ってデータの読み書きが行われる。その後、データバンド＃１，＃２，＃３に順に移動し、各データバンド内に渦巻き状に配置されたラップに沿ってデータは読み書きされ、終了位置２０２まで進む。つまり、次のデータバンドに移動するのに５秒程度の時間がかかるため、原則として、あるデータバンドのラップを使い切ってから次のデータバンドに移るようなフォーマットになっている。
【００２１】
尚、図２は、あくまで書込みヘッド１４ａや読出しヘッド１４ｂとの関係には触れずに示した概念図である。テープドライブ１０は、通常、複数の書込みヘッド１４ａや読出しヘッド１４ｂを有する。例えば、図２の実線の矢印を１つの書込みヘッド１４ａや読出しヘッド１４ｂのデータを読み書きする時の軌跡と捉えた場合、この実線の矢印はトラックに相当する。そして、右向きの矢印が１つ目の書込みヘッド１４ａ及び読出しヘッド１４ｂに対応する順方向のトラックを示しているとすると、２つ目、３つ目、それ以降の書込みヘッド１４ａ及び読出しヘッド１４ｂに対応する順方向のトラックが、これよりも下に順に配置されるフォーマットとなる。また、左向きの矢印が１つ目の書込みヘッド１４ａ及び読出しヘッド１４ｂに対応する逆方向のトラックを示しているとすると、２つ目、３つ目、それ以降の書込みヘッド１４ａ及び読出しヘッド１４ｂに対応する逆方向のトラックが、これよりも下に順に配置されるフォーマットとなる。
【００２２】
ここで、データバンドあたりのラップ数、及び、各トラックの幅（トラック幅）は、世代ごとに規格で定められている。トラック幅は、記憶容量の追求のため、世代を重ねるごとに狭くなる傾向にある。
図３は、世代ごとのラップ数及びトラック幅を示した図である。
図示するように、第１世代では、各データバンドに１６本のラップがある。つまり、図２で言えば、右向きの矢印が８本あり、左向きの矢印が８本ある状態に相当する。そして、第１世代におけるトラック幅は２０．６μｍとなっている。
また、第２世代では、各データバンドに１４本のラップがある。つまり、図２で言えば、右向きの矢印が７本あり、左向きの矢印が７本ある状態に相当する。そして、第２世代におけるトラック幅は１１．０μｍとなっている。
更に、第３世代では、各データバンドに１８本のラップがある。つまり、図２で言えば、右向きの矢印が９本あり、左向きの矢印が９本ある状態に相当する。そして、第３世代におけるトラック幅は９．０μｍとなっている。
【００２３】
ところで、このようなフォーマットを有するテープ２３に対し、テープドライブ１０は、データセットという単位でデータを書き込む。そして、ユーザデータの書込みが終了すると、その後ろにそこが有効なデータの終端であることを示す特殊なデータセットを書き込む。これをＥＯＤ（End of Data）と呼ぶ。
通常、テープドライブ１０は、データの読出し時にこのＥＯＤを見つけると、それより後ろに有効なデータセットは存在しないので、読出し処理を終了する。
【００２４】
しかしながら、ユーザが誤って上書きしてしまったテープ２３等に対し、ＥＯＤよりも後ろに残されている古いデータの読出しが要求される場合がある。
テープドライブ１０の中には、このような要求を実現するために、ＥＯＤ以降のデータセットを読み出すRead after EODという機能が実装されているものもある。
【００２５】
Read after EODでは、まず、ＥＯＤ以降の領域でデータセットのヘッダ情報を拾い読みする。この動作をスキミングと呼ぶ。スキミングで得たヘッダ情報を頼りにデータセットが存在するであろう領域で読出し処理を行う。
但し、ヘッダ情報は、書込み時にエラーで書き損じたデータセットの破片等からも取得可能である。従って、スキミングで集めた情報の中には、完全な、即ち、読み出せる状態のデータセットのものではないヘッダ情報も含まれている。このようなデータセットの破片に対して読出し処理を行うとエラーになるので、エラーになった情報は破棄し、次に見つかったヘッダ情報を持つデータセットを読み出すことになる。尚、テープドライブ１０の規格により、４ｍ以内に読出し可能なデータセットが少なくとも１つ存在することは保証されるので、通常、読出し処理は長くとも４ｍで終了する。
一方、読み出せるデータセットが見つかったら、そのデータセットから読出し処理を開始する。
【００２６】
また、テープドライブ１０は、テープ２３に書き込まれたある世代のフォーマットのデータを、テープ２３の先頭から別の世代のフォーマットのデータで上書きすることができる。この処理をリフォーマットという。
図４は、このリフォーマットの様子を示した図である。
図示するように、網かけで示した古いデータ（以下、「旧データ」という）が、斜線で示した新しいデータ（以下、「新データ」という）によって上書きされている。尚、テープ２３上のトラックには、例えば、図２の上端から順に、トラック＃０，＃１，＃２，…というように番号が振られる。ここで、図４で最も上側のトラックがトラック＃０となっているが、これは必ずしもテープ２３の端部のトラックを示しているわけではない。説明の便宜上、トラック＃０，＃１，＃２を付しているだけであり、テープ２３の中央部分を抜き出したものと考えてもよい。トラック＃０，＃１，＃２は、同じ読出しヘッド１４ｂがデータを読み出すトラックを想定しており、図２に示したラップの番号で言えば、連番にはなっておらず、ラップ＃０，＃２，＃４といった１つおきの番号をとる。
【００２７】
図示するように、リフォーマット後におけるデータのトラック幅Ａは、リフォーマット前におけるデータのトラック幅Ｂとは異なっている。例えば、第３世代のフォーマットでデータが書かれたテープ２３に第２世代のフォーマットでデータを書くことによりリフォーマットを行った場合、トラック幅は９μｍから１１μｍに変わる。このような場合、旧データが書かれたトラックのうち、新データが書かれたトラックの隣のトラックに書かれた旧データの一部を、新データが消してしまうことになる。この動作をシングリングと呼び、シングリングによってデータの一部が書き潰された領域をシングリング領域と呼ぶ。
尚、本実施の形態では、第１のデータの一例として、旧データを用い、第２のデータの一例として、新データを用いている。
【００２８】
ここで、シングリングで隣のトラックを書き潰してしまう幅（シングリング幅）は、上書き前後の各フォーマットのトラック幅と、新データを書いたトラック数に依存して、様々な値をとり得る。例えば、第３世代から第２世代にリフォーマットした場合、同一データバンド内で第２世代のトラックをＮ本上書きした時の第３世代のＭ本目のトラックでのシングリング幅Ｘ（μｍ）は下記の式で求められる。
尚、下記の式中、９Ｍ−１１Ｎ≦０は、シングリングが発生してトラックが完全に上書きされている場合を、０＜９Ｍ−１１Ｎ＜９は、シングリングが発生してトラックが一部上書きされている場合を、９Ｍ−１１Ｎ≧９は、シングリングが発生していない場合を、それぞれ示している。
【００２９】
【数１】
2010027118.tif 000003
【００３０】
通常、新データが書かれたトラックの隣のトラックには旧データしか書かれておらず、読み出されることはないので、支障はない。
しかしながら、Read after EODで旧データを読み出す場合には、シングリングで一部が消されたトラックに対しても読出し処理を行うことになる。シングリング幅は、上書き前後の各フォーマットのトラック幅に依存するが、この幅によっては、読出しヘッド１４ｂの位置が新データと重なってしまう。
この重なり具合によって、Read after EODの際のテープドライブ１０の挙動は３種類に分かれる。
【００３１】
そこで、テープドライブ１０のこの３種類の挙動について説明する。
図５は、この３種類の挙動について示した図である。図中、網かけは旧データを、斜線は新データをそれぞれ示しており、データセットは「ＤＳ」と表記している。
まず、（ａ）は、読出しヘッド１４ｂが新データと重なっていない場合の挙動を示す。
この場合、テープドライブ１０は、旧データが書かれた領域からスキミングでヘッダ情報を取得し、このヘッダ情報に基づいてデータセットを読み出すことができる。尚、図示するようにスキミングが成功しても、データセットの読出しが失敗することはある。その場合は、スキミング及びデータセットの読出しを何回か繰り返すことで、データセットを読み出すことができる。
【００３２】
また、（ｂ）は、読出しヘッド１４ｂの一部が新データと重なっている場合の挙動を示す。
この場合、テープドライブ１０は、旧データが書かれた領域からの情報に加えて、新データが書かれた領域からも情報を読み出してしまう。ヘッダ情報はユーザデータに比べて冗長に書き込まれており、読み出し易いため、このような状況でもスキミングは成功する。しかし、書込みエラーが発生していない、つまり、読み出せると期待されるデータセットであっても、その全体を読み出すことはできなくなってしまう。
【００３３】
更に、（ｃ）は、読出しヘッド１４ｂの大半が新データと重なっている場合の挙動を示す。
この場合、テープドライブ１０は、スキミングでヘッダ情報を得ることができない。そのため、その領域では読めるデータセットは存在しないと判断する。そして、ヘッダ情報が得られるまでスキミングしながらテープを進め、シングリング領域を通過した後はシングリングが発生していない場合と同様にスキミングで得られた情報からデータセットの読出しを開始する。
【００３４】
このうち、（ａ），（ｃ）の場合、テープドライブ１０は、読出し可能なデータセットに到達するまでスキミングのスピードでテープ２３を進め、その後、読出しを開始できる。従って、特に問題とはならない。
【００３５】
しかしながら、（ｂ）の場合、テープドライブ１０は、スキミングで得た全てのヘッダ情報に基づいてデータセットの読出しを試みるので、シングリング領域が続く限り、スキミングの成功とデータセットの読出しの失敗とが繰り返されることになる。つまり、（ａ）と同様にスキミング及びデータセットの読出しを繰り返すが、データセットの読出しの失敗が長い距離にわたって繰り返されることになる。読出しでエラーになると、そのたびにテープの巻戻し処理（バックヒッチ）が発生する。バックヒッチには、１回あたり５秒程度の時間がかかるため、読出し可能なデータセットが見つかるまでに膨大な時間が必要になる。
このことを具体的な数値を用いて説明する。シングリングは最長でトラック２本分、つまり、１４００ｍにわたって発生する。１つのデータセットの長さは約７ｃｍなので、シングリング領域内には最多で約２００００個のデータセットが存在することになる。この全てのデータセットにおいてバックヒッチが発生すると、通過するのに約２８時間（＝２００００×５秒）かかってしまう。
【００３６】
そこで、本実施の形態では、テープドライブ１０において、この問題を回避するための手法を提案する。
まず、そのためのコントローラ１６の機能構成について説明する。
図６は、コントローラ１６の機能構成例を示したブロック図である。
図示するように、コントローラ１６は、コマンド処理部４１と、バッファ管理部４２と、チャネル入出力部４３と、ヘッダ情報判定部４４と、データセット判定部４５と、回転信号出力部４６と、移動信号出力部４７とを備える。
【００３７】
このうち、コマンド処理部４１は、ホストＩ／Ｆ１１からコマンドを受け取る。ここで、コマンドとしては、バッファ１２にデータを格納することを指示するＷｒｉｔｅコマンド、バッファ１２に格納されたデータをテープ２３に書き込むことを指示する同期コマンド、テープ２３からデータを読み出すことを指示するＲｅａｄコマンド等がある。本実施の形態では、第１のデータ及び第２のデータが記録されたテープ媒体から第１のデータを読み出す要求を受け付ける受付部の一例として、コマンド処理部４１を設けている。
バッファ管理部４２は、コマンド処理部４１がＷｒｉｔｅコマンドを受け取った場合は、データをバッファ１２内に用意する。また、コマンド処理部４１が同期コマンドを受け取った場合は、データをバッファ１２から読み出してチャネル入出力部４３に出力する。更に、コマンド処理部４１がＲｅａｄコマンドを受け取った場合は、対象となるデータがバッファ１２内になければチャネル入出力部４３に対してそのデータを読み出すように指示し、対象となるデータがバッファ１２内にあればそのデータをコマンド処理部４１を介してホスト３０に返す。
チャネル入出力部４３は、バッファ管理部４２がバッファ１２から読み出したデータをチャネル１３に出力したり、チャネル１３から受け取ったデータをバッファ管理部４２に出力したりする。
【００３８】
ヘッダ情報判定部４４は、チャネル入出力部４３及びバッファ管理部４２を介して得たヘッダ情報が目的とするフォーマットのものであるかどうか検証することにより、テープ２３上の現在の読出しヘッド１４ｂの位置がスキミングが成功する位置であるかどうかを判定する。本実施の形態では、読出しヘッドと第１のデータ及び第２のデータとが、第１のデータが記録されていることが認識可能である位置関係にあることを検出する検出部、読出しヘッドの位置が第１のデータ及び第２のデータの何れが記録されている位置であるかを判定する第１の判定部、及び、第２のデータを読み飛ばす読み飛ばし部の一例として、ヘッダ情報判定部４４を設けている。
【００３９】
データセット判定部４５は、チャネル入出力部４３及びバッファ管理部４２を介して得たデータセットのデコードが可能かどうかを検証することにより、テープ２３上の現在の読出しヘッド１４ｂの位置がデータセットの読出しが成功する位置であるかどうかを判定する。本実施の形態では、読出しヘッドと第１のデータ及び第２のデータとが、第１のデータが読出し可能ではない位置関係にあることを検出する検出部、読出しヘッドの位置が第１のデータを読み出せる位置であるかを判定する第２の判定部、及び、第１のデータを読み出す読出し部との一例として、データセット判定部４５を設けている。
【００４０】
回転信号出力部４６は、テープ２３を走行させるための信号やテープ２３をバックヒッチするための信号をモータドライバ１８に出力する。
移動信号出力部４７は、テープ２３に対する読出しヘッド１４ｂの位置をテープ２３の幅方向へオフセットさせる信号をヘッド位置制御システム１７に出力する。本実施の形態では、読出しヘッドを第２のデータが記録された位置へ向けて移動させる移動部の一例として、移動信号出力部４７を設けている。
【００４１】
ここで、図５（ｂ）の問題を回避するための方法として、例えば、次のような手法（以下、「第１の手法」という）が考えられる。
図７は、この第１の手法の流れを示したフローチャートである。
コントローラ１６では、まず、コマンド処理部４１が、Read after EODの要求を受け付ける。例えば、テープ２３上の読出し位置がＥＯＤまで来た後にＲｅａｄコマンドを２回受け付けることにより、Read after EODが要求されたことを認識するとよい。そして、コマンド処理部４１は、Read after EODが要求されたことをバッファ管理部４２に伝える。このフローチャートは、その後、コントローラ１６が読出しヘッド１４ｂを用いて旧データの１つのデータセットを読み出す場合の動作を示したものである。
【００４２】
まず、バッファ管理部４２は、テープ２３に対してスキミングを行うよう各機構を制御する（ステップ４０１）。即ち、バッファ管理部４２は、通常の読出し速度でテープ２３を走行させるための信号をモータドライバ１８に出力するよう、回転信号出力部４６に指示する。そして、回転信号出力部４６がこのような信号をモータドライバ１８に出力することにより、モータドライバ１８がテープ２３を通常の読出し速度で走行させる。また、バッファ管理部４２は、読出しヘッド１４ｂが読み出したデータをチャネル入出力部４３から受け取り、ヘッダ情報判定部４４に渡す。
【００４３】
次に、ヘッダ情報判定部４４は、データからヘッダ情報を取り出し、このヘッダ情報がターゲットである旧データのヘッダ情報であるか、つまり、ターゲットが見つかったかどうかを判定する（ステップ４０２）。ここで、ヘッダ情報としては、例えば、偶数トラックに記録されているか奇数トラックに記録されているかを示すビット情報が考えられる。この場合、旧データと隣のトラックからはみ出した新データとはビット情報が異なるため、旧データが見つかったか新データが見つかったかを判定することができる。或いは、ヘッダ情報としては、ＷＰ（Write Pass）情報を使うことも考えられる。ＷＰ情報は書込みごとに増加する番号であり、古いデータは小さく、新しいデータは大きくなるので、旧データが見つかったか新データが見つかったかを判定することができる。そして、ターゲットが見つからなければ、ステップ４０１に戻ってスキミングを繰り返す。また、ターゲットが見つかったら、そのヘッダ情報を使って読出し処理を試みる。
【００４４】
即ち、バッファ管理部４２が、チャネル入出力部４３から受け取ったデータをデータセット判定部４５に渡すと、データセット判定部４５が、読出し処理の試行回数をカウントするためのカウンタに「０」をセットし（ステップ４０３）、読出し処理を行う（ステップ４０４）。そして、データセットが読めたかどうかを判定する（ステップ４０５）。
その結果、データセットが読めないと判定されれば、データセット判定部４５は、カウンタに「１」を加算し（ステップ４０６）、カウンタが閾値Ｔｈよりも小さいかどうかを判定する（ステップ４０７）。そして、カウンタが閾値Ｔｈよりも小さければ、バックヒッチを行い、ステップ４０４に戻って読出し処理を繰り返す。また、カウンタが閾値Ｔｈよりも小さくなければ、シングリングの影響による問題が発生していると判断し、テープ２３を進行方向に一定距離Ｌだけ進める（ステップ４０８）。即ち、バッファ管理部４２が、最高速度で一定距離Ｌだけテープ２３を走行させるための信号をモータドライバ１８に出力するよう、回転信号出力部４６に指示する。そして、回転信号出力部４６がこのような信号をモータドライバ１８に出力することにより、モータドライバ１８がテープ２３を最高速度で一定距離Ｌだけ走行させる。そして、ステップ４０１に戻ってスキミングから処理をやり直す。
【００４５】
一方、カウンタが閾値Ｔｈよりも小さいうちにステップ４０５でデータセットが読めたとすると、データセット判定部４５は、そのデータセットをバッファ管理部４２に渡し、バッファ管理部４２がコマンド処理部４１を介してデータセットをホストへ送る（ステップ４０９）。
【００４６】
尚、この動作では、データセットを読む回数の閾値Ｔｈは例えば２０回、テープ２３を進める距離Ｌは例えば５０ｍとすればよい。これらの数字は適当な処理時間でシングリング領域を通過するために経験から設定された値である。
【００４７】
ところが、この第１の手法では、シングリング領域の終端から最初に読めたデータセットまでの間にシングリングの影響を受けていないデータセットが存在した場合、そのようなデータセットを読み損なってしまう。また、シングリング領域が長く続く場合、ステップ４０１〜４０８の処理を何度も繰り返すことになるので、効率が悪く、処理時間が長くなってしまう。
【００４８】
そこで、本実施の形態では、テープドライブ１０が、Read after EODにおいて、シングリングの影響により読出し開始データセットを見つけることができない状態であることを検知した場合、スキミング時の読出しヘッド１４ｂの位置を、トラックの新データが書かれた方の一端に沿うようにずらす手法（以下、「第２の手法」という）を提案する。
この第２の手法により、スキミングでもデータが入ってこなくなるので、余計な読出し処理が要求されず、バックヒッチすることなくスキミングのスピードでシングリング領域を通過できるようになる。
【００４９】
以下、この第２の手法についてより詳細に述べる。
図８は、この第２の手法の概略動作を示した図である。尚、ここでも、網かけで旧データを示し、斜線で新データを示す。また、図では、トラックの上側の端部を上端、下側の端部を下端と呼び、トラックの上端側にシングリング領域があるものとする。
まず、テープドライブ１０は、通常の読出し処理の際は、（ａ）に示すように、読出しヘッド１４ｂをその中心がトラックの中心に一致する場所に位置付ける。
また、テープドライブ１０は、Read after EODの処理中は、（ｂ）に示すように、シングリングの影響を考慮して、読出しヘッド１４ｂをトラックの下側にオフセットさせている。オフセット量は、隣接するトラックの影響を受けないようにマージンを持って設定されている。
しかし、この状態でもまだシングリングの影響を受けるとすると、シングリング幅は４μｍ以上あり、読出しヘッド１４ｂの幅よりも広いことになる。そこで、そのような場合は、読出しヘッド１４ｂを逆にトラックの上側にオフセットさせる。すると、読出しヘッド１４ｂはシングリング領域内に収まり、スキミングしても旧データのヘッダ情報は拾えなくなる。よって、シングリング領域でデータセットを１つずつ読み出してはエラーになるという繰り返しがなくなり、バックヒッチすることなくシングリング領域を通過できるようになる。
【００５０】
ここで、シングリング領域内であるかどうかは、第１の手法と同様に判定すればよい。つまり、スキミングの成功及びデータセットの読出しの失敗が規定回数（例えば、２０回）続くことによってシングリング領域内であると判定するとよい。
そして、シングリング領域が終わると、読出しヘッド１４ｂをオフセットさせた状態でもスキミングによって本来のトラック上のデータセットのヘッダ情報が読めるようになるので、領域の終端直後のデータセットから読出しを開始することができる。
【００５１】
図９は、この第２の手法の流れを示したフローチャートである。
コントローラ１６では、まず、コマンド処理部４１が、Read after EODの要求を受け付ける。例えば、テープ２３上の読出し位置がＥＯＤまで来た後にＲｅａｄコマンドを２回受け付けることにより、Read after EODが要求されたことを認識するとよい。そして、コマンド処理部４１は、Read after EODが要求されたことをバッファ管理部４２に伝える。このフローチャートは、その後、コントローラ１６が読出しヘッド１４ｂを用いて旧データの１つのデータセットを読み出す場合の動作を示したものである。
【００５２】
まず、バッファ管理部４２は、テープ２３に対してスキミングを行うよう各機構を制御する（ステップ４５１）。即ち、バッファ管理部４２は、通常の読出し速度でテープ２３を走行させるための信号をモータドライバ１８に出力するよう、回転信号出力部４６に指示する。そして、回転信号出力部４６がこのような信号をモータドライバ１８に出力することにより、モータドライバ１８がテープ２３を通常の読出し速度で走行させる。また、バッファ管理部４２は、読出しヘッド１４ｂが読み出したデータをチャネル入出力部４３から受け取り、ヘッダ情報判定部４４に渡す。
【００５３】
次に、ヘッダ情報判定部４４は、データからヘッダ情報を取り出し、このヘッダ情報がターゲットである旧データのヘッダ情報であるか、つまり、ターゲットが見つかったかどうかを判定する（ステップ４５２）。ここで、ヘッダ情報としては、例えば、偶数トラックに記録されているか奇数トラックに記録されているかを示すビット情報が考えられる。この場合、旧データと隣のトラックからはみ出した新データとはビット情報が異なるため、旧データが見つかったか新データが見つかったかを判定することができる。或いは、ヘッダ情報としては、ＷＰ（Write Pass）情報を使うことも考えられる。ＷＰ情報は書込みごとに増加する番号であり、古いデータは小さく、新しいデータは大きくなるので、旧データが見つかったか新データが見つかったかを判定することができる。そして、ターゲットが見つからなければ、ステップ４５１に戻ってスキミングを繰り返す。また、ターゲットが見つかったら、そのヘッダ情報を使って読出し処理を試みる。
【００５４】
即ち、バッファ管理部４２が、チャネル入出力部４３から受け取ったデータをデータセット判定部４５に渡すと、データセット判定部４５が、読出し処理の試行回数をカウントするためのカウンタに「０」をセットし（ステップ４５３）、読出し処理を行う（ステップ４５４）。そして、データセットが読めたかどうかを判定する（ステップ４５５）。
その結果、データセットが読めないと判定されれば、データセット判定部４５は、カウンタに「１」を加算し（ステップ４５６）、カウンタが閾値Ｔｈよりも小さいかどうかを判定する（ステップ４５７）。そして、カウンタが閾値Ｔｈよりも小さければ、バックヒッチを行い、ステップ４５４に戻って読出し処理を繰り返す。また、カウンタが閾値Ｔｈよりも小さくなければ、シングリングの影響による問題が発生していると判断し、読出しヘッド１４ｂを新データの方向に移動する（ステップ４５８）。即ち、バッファ管理部４２が、読出しヘッド１４ｂを新データの方へ移動させるための信号をヘッド位置制御システム１７に出力するよう、移動信号出力部４７に指示する。そして、移動信号出力部４７がこのような信号をヘッド位置制御システム１７に出力することにより、ヘッド位置制御システム１７が読出しヘッド１４ｂを新データの方へ移動させる。そして、ステップ４５１に戻ってスキミングから処理をやり直す。
【００５５】
一方、カウンタが閾値Ｔｈよりも小さいうちにステップ４５５でデータセットが読めたとすると、データセット判定部４５は、そのデータセットをバッファ管理部４２に渡し、バッファ管理部４２がコマンド処理部４１を介してデータセットをホストへ送る（ステップ４５９）。
【００５６】
尚、ステップ４５８で読出しヘッド１４ｂを新データ内に移動した後の動作は、次のようになる。
最初は、ステップ４５２で、読み出したデータから取り出したヘッダ情報が旧データのヘッダ情報ではない、つまり、ターゲットが見つからないと判定されるので、ステップ４５１が繰り返される。
その後、読出しヘッド１４ｂがシングリング領域を抜けると、ステップ４５２で、読み出したデータから取り出したヘッダ情報が旧データのヘッダ情報である、つまり、ターゲットが見つかったと判定されるので、ステップ４５３〜４５７のデータセットの読出し処理が実行される。そして、カウンタが閾値Ｔｈよりも小さいうちにステップ４５５でデータセットが読めることになる。
【００５７】
以上により、本実施の形態についての説明を終了する。
最後に、第１の手法と比較した第２の手法の効果について説明する。
図１０は、第１の手法と第２の手法の効果の違いを示した図である。（ａ）が第１の手法について示し、（ｂ）が第２の手法について示している。また、図中、網かけは旧データを、斜線は新データをそれぞれ示しており、データセットは「ＤＳ」と表記している。
まず、処理時間に関し、第１の手法と比較して第２の手法には次のような効果がある。
第１の手法では、（ａ）の上の矢印で示すように、スキミング及びデータセットの読出しを繰り返した後、５０ｍ移動し、スキミングを再開する。図では、５０ｍ移動するとシングリング領域を抜けているが、５０ｍ移動した後も依然としてシングリング領域内であれば、領域２１１にあるデータセット、つまり、シングリング領域内のデータセットを読む処理を何回も行わなければならなくなる。
【００５８】
このことを具体的な数値を用いて説明する。
まず、第１の手法の１サイクル（ステップ４０１〜４０８）で進む距離は、５０ｍとデータセット２０個分の長さとを合わせた距離である。１つのデータセットあたりの長さは約７ｃｍなので、５１．４ｍ（＝５０ｍ＋０．０７ｍ×２０）となる。
また、１サイクルにかかる時間は、（i）スキミングにかかる時間、（ii）バックヒッチしながらデータセットを２０個読む時間、（iii）テープ２３を５０ｍ進める時間、の合計である。
（i）スキミングは、４．４ｍ／ｓｅｃの速度で４ｍにわたって行われるので、スキミングにかかる時間は、約１秒である。
（ii）バックヒッチしながら１つのデータセットを読む処理にかかる時間は約５秒なので、バックヒッチしながら２０個のデータセットを読む処理にかかる時間は約１００秒である。
（iii）テープ２３を進める速度は１０ｍ／ｓｅｃであり、テープ２３を５０ｍ進めるのにかかる時間は約５秒である。
従って、第１の手法では、１０６秒かけて５１．４ｍ進むことになり、この速さでトラック２本分の距離である１４００ｍを通過するのには約３０００秒（約５０分）かかる。
【００５９】
これに対し、第２の手法では、（ｂ）の上の矢印で示すように、一旦、読出しヘッド１４ｂを上端方向にオフセットすれば、後はスキミングし続ければよく、領域２２１内のデータセットは読む必要がない。
【００６０】
このことを具体的な数値を用いて説明する。
まず、第２の手法によるデータセットの読出しにかかる時間は、（Ｉ）（ＩＩ）最初に１度だけ第１の手法と同じ手順でシングリング領域であることを確認する時間、（ＩＩＩ）シングリング領域が終わるまでスキミングし続ける時間、の合計である。
（Ｉ）（ＩＩ）第１の手法の（i）、（ii）と同じであり、１．４ｍを１０１秒かけて進む。
（ＩＩＩ）残りの（１４００−１．４）ｍをスキミングの速度の４．４ｍ／ｓｅｃで進む。
従って、トラック２本分の距離である１４００ｍを通過するのにかかる時間は、４１９秒（≒１０１秒＋（１４００ｍ−１．４ｍ）／（４．４ｍ／ｓｅｃ））となり、７分程度である。
【００６１】
次に、読み出せるデータ量に関し、第１の手法と比較して第２の手法には次のような効果がある。
第１の手法では、シングリング領域の終端がどこか分からないため、テープ２３を進める処理を開始した直後の位置でシングリング領域が終了しているとしても、気付かずに５０ｍ先から処理を行ってしまう。このような場合、（ａ）に示すように、領域２１２にあるような、読める状態でテープ２３上に残っている約７００個のデータセットが読まれずに飛ばされ、領域２１３内のデータセットから読むことになってしまう。１つのデータセットあたりのデータ量は約１．６ＭＢなので、この時失われるデータ量は１ＧＢ以上になる。
【００６２】
第２の手法では、読める状態のデータセットを読み飛ばすことはなく、シングリング領域が終了した直後の領域２２３内のデータセットから読出しが開始される。従って、失われるデータ量はゼロである。
【００６３】
尚、本実施の形態では、旧データを新データで上書きした後に、新データの後ろに残っている旧データを読み出す場面を想定して説明したが、これには限らない。即ち、異なるフォーマットで第１のデータ及び第２のデータが記録されたテープ媒体から第１のデータを読み出す場面であれば、この第１のデータ及び第２のデータがどのようなものであっても適用は可能である。
【００６４】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００６５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態が適用されるテープドライブの構成を示したブロック図である。
【図２】本発明の実施の形態で用いるテープのフォーマットを示した図である。
【図３】本発明の実施の形態で用いるテープの世代、ラップ数、トラック幅の対応関係を示した図である。
【図４】本発明の実施の形態において旧データを新データで上書きするリフォーマットについて説明するための図である。
【図５】本発明の実施の形態における読出しヘッドと新データとの重なり具合に応じたテープドライブの挙動を説明するための図である。
【図６】本発明の実施の形態におけるコントローラの機能構成例を示したブロック図である。
【図７】本発明の実施の形態における問題解決の第１の手法の流れを示したフローチャートである。
【図８】本発明の実施の形態における問題解決の第２の手法の概略を説明するための図である。
【図９】本発明の実施の形態における問題解決の第２の手法の流れを示したフローチャートである。
【図１０】本発明の実施の形態における第１の手法と第２の手法の効果の違いについて説明するための図である。
【符号の説明】
【００６７】
１０…テープドライブ、１１…ホストＩ／Ｆ、１２…バッファ、１３…チャネル、１４ａ…書込みヘッド、１４ｂ…読出しヘッド、１５…モータ、１６…コントローラ、１７…ヘッド位置制御システム、１８…モータドライバ
【図１】
2010027118.tif 000004
【図２】
2010027118.tif 000005
【図３】
2010027118.tif 000006
【図４】
2010027118.tif 000007
【図５】
2010027118.tif 000008
【図６】
2010027118.tif 000009
【図７】
2010027118.tif 000010
【図８】
2010027118.tif 000011
【図９】
2010027118.tif 000012
【図１０】
2010027118.tif 000013