(57)【要約】【課題】テープ媒体に既に記録されているデータのフォーマットを変更する場合に、エラーが発生しても、データを失うことなく読み出せるようにする。【解決手段】テープドライブのコントローラ１６において、バッファ管理部４２が、旧フォーマットで書かれたデータセットをバッファの容量だけ読み出し、バッファが一杯になったときの読出し位置を次の読出し開始位置として位置記憶部４４に記憶する。そして、ＤＳＩＴ生成部４５が、次の読出し開始位置を含むＤＳＩＴを生成し、バッファ管理部４２が、データセットにこのＤＳＩＴを付加して余裕領域に書き込む。その後、ＤＳＩＴ生成部４５が、余裕領域における対応するデータセットを特定する情報と次の読出し開始位置とを含むＤＳＩＴを生成し、バッファ管理部４２が、データセットにこのＤＳＩＴを付加して新フォーマットで上書きする。【選択図】図４
2010055690.tif 000002
【特許請求の範囲】
【請求項１】
テープ媒体に記録されたデータのフォーマットを変更する装置であって、
前記テープ媒体からデータを読み出す読出しヘッドが、前記テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すように制御する第１の制御部と、
前記テープ媒体にデータを書き込む書込みヘッドが、前記特定のデータを、前記テープ媒体の前記第１の領域とは異なる第２の領域に書き込み、前記テープ媒体の前記第２の領域とは異なる第３の領域に第２のフォーマットで書き込むように制御する第２の制御部と
を含む、装置。
【請求項２】
前記テープ媒体に前記第１のフォーマットで記録されたデータのうち、前記読出しヘッドが前記特定のデータの次に読み出す他のデータの読出し位置を特定するための特定情報を記録する記録部を更に含む、請求項１の装置。
【請求項３】
前記第１の制御部は、前記読出しヘッドが、前記第３の領域に前記第２のフォーマットで書き込まれた前記特定のデータを読み出し、前記第２のフォーマットに変換された前記他のデータが当該第３の領域に続く領域から読み出せない場合に、前記特定情報によって特定される読出し位置から当該他のデータを読み出すように制御する、請求項２の装置。
【請求項４】
前記記録部は、前記特定情報を、前記特定のデータと共に前記第３の領域に書き込むことにより記録する、請求項２の装置。
【請求項５】
前記第２の領域に書き込まれた前記特定のデータのうち、前記第３の領域に前記第２のフォーマットで書き込まれた前記特定のデータの各部分に対応する部分を特定するための第１の特定情報と、前記テープ媒体に前記第１のフォーマットで記録されたデータのうち、前記読出しヘッドが前記特定のデータの次に読み出す他のデータの読出し位置を特定するための第２の特定情報とを記録する記録部を更に含む、請求項１の装置。
【請求項６】
前記第１の制御部は、前記読出しヘッドが、前記第３の領域に前記第２のフォーマットで書き込まれた前記特定のデータの第１の部分を読み出し、当該第１の部分に連続する第２の部分が当該第３の領域から読み出せない場合に、前記第２の領域に書き込まれた前記特定のデータのうち、前記第１の特定情報によって特定される、当該第２の部分に対応する部分を読み出し、その後、前記第２の特定情報によって特定される読出し位置から前記他のデータを読み出すように制御する、請求項５の装置。
【請求項７】
前記第１の制御部は、前記特定のデータの容量を、前記読出しヘッドが読み出したデータを蓄積するバッファの容量、及び、前記第２の領域に書き込めるデータの容量の何れかに基づいて決定する、請求項１の装置。
【請求項８】
前記第２の制御部は、前記書込みヘッドが、前記特定のデータを第２の領域に書き込んだ後に前記第３の領域に書き込むように制御する、請求項１の装置。
【請求項９】
テープ媒体に記録されたデータのフォーマットを変更する装置であって、
前記テープ媒体からデータを読み出す読出しヘッドと、
前記テープ媒体にデータを書き込む書込みヘッドと、
前記読出しヘッドが、前記テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すように制御し、前記書込みヘッドが、前記特定のデータを、前記テープ媒体の前記第１の領域とは異なる第２の領域に書き込み、前記テープ媒体の前記第２の領域とは異なる第３の領域に第２のフォーマットで書き込むように制御するコントローラと
を含む、装置。
【請求項１０】
テープ媒体に記録されたデータのフォーマットを変更する装置であって、
前記テープ媒体からデータを読み出す読出しヘッドが、前記テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すように制御する第１の制御部と、
前記第１の領域とは異なる第２の領域に書き込まれる前記特定のデータのうち、前記第２の領域とは異なる第３の領域に第２のフォーマットで書き込まれる前記特定のデータの各部分に対応する部分を特定するための第１の特定情報と、前記テープ媒体に前記第１のフォーマットで記録されたデータのうち、前記読出しヘッドが前記特定のデータの次に読み出す他のデータの読出し位置を特定するための第２の特定情報とを生成する生成部と、
前記テープ媒体にデータを書き込む書込みヘッドが、前記特定のデータと前記第１の特定情報とを、前記テープ媒体の前記第２の領域に書き込んだ後に、前記特定のデータと前記第１の特定情報と前記第２の特定情報とを、前記テープ媒体の前記第３の領域に前記第２のフォーマットで書き込むように制御する第２の制御部と
を含む、装置。
【請求項１１】
テープ媒体に記録されたデータのフォーマットを変更する方法であって、
前記テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すステップと、
前記特定のデータを、前記テープ媒体の前記第１の領域とは異なる第２の領域に書き込むステップと、
前記特定のデータを、前記テープ媒体の前記第２の領域とは異なる第３の領域に第２のフォーマットで書き込むステップと
を含む、方法。
【請求項１２】
テープ媒体に記録されたデータのフォーマットを変更する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記テープ媒体からデータを読み出す読出しヘッドが、前記テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すように制御する第１の制御部と、
前記テープ媒体にデータを書き込む書込みヘッドが、前記特定のデータを、前記テープ媒体の前記第１の領域とは異なる第２の領域に書き込み、前記テープ媒体の前記第２の領域とは異なる第３の領域に第２のフォーマットで書き込むように制御する第２の制御部と
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのフォーマットを変換する装置及び方法に関する。特に、本発明は、テープ媒体に記録されたデータのフォーマットを変換する装置及び方法に関する。
【背景技術】
【０００２】
磁気テープ等のテープ媒体は、比較的安価に大量のデータを記録することができる。その反面、ハードディスク等に比べて読み書き速度が遅いことから、テープ媒体は、ハードディスク等に記憶されたデータの長期的な保存のために用いられることが多い。
近年、かかるテープ媒体について、更なる記録密度の向上が図られている。これにより、より一層多くのデータをテープ媒体に記録することが可能となっている。
【０００３】
ここで、このような記録密度の向上のために、テープ媒体に低い記録密度で記録されているデータを、高い記録密度で書き換えることがある（例えば、特許文献１、２参照）。
特許文献１では、テープの型格と記録密度の組み合わせに対するテーブルを参照して、設定した記録密度を実現するのに上書き可能か、上書きは如何なる記録周波数、テープ速度、書込み電流を設定すれば可能かを判定し、上書き可能と判定した場合にそのための記録周波数、テープ速度、書込み電流を設定して上書きしている。
特許文献２では、記録メディアに記録された任意の圧縮率の一次圧縮動画データから、それよりも高い圧縮率の高圧縮動画データを作成し、順次記録メディアの空き領域又は一次圧縮動画データの上に記録している。
【０００４】
【特許文献１】特開２００１−６７６０１号公報
【特許文献２】特開２００５−９２９９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように、テープ媒体に低い記録密度で記録されているデータを、高い記録密度で書き換える技術は、従来から存在した。
しかしながら、特許文献１、２では、このような書換えの際にエラーが発生することについては考慮されていない。従って、特許文献１、２には、低い記録密度で記録されているデータを高い記録密度で書き換える際にエラーが発生するとデータが失われてしまう虞があるという問題点がある。
尚、このような問題点は、高い記録密度で記録されたデータを低い記録密度で書き換える場合の他、データのフォーマットを変更する如何なる場合においても指摘することができる。
【０００６】
本発明の目的は、テープ媒体に既に記録されているデータのフォーマットを変更する場合に、エラーが発生しても、データを失うことなく読み出せるようにすることにある。
【課題を解決するための手段】
【０００７】
かかる目的のもと、本発明は、テープ媒体に記録されたデータのフォーマットを変更する装置であって、テープ媒体からデータを読み出す読出しヘッドが、テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すように制御する第１の制御部と、テープ媒体にデータを書き込む書込みヘッドが、特定のデータを、テープ媒体の第１の領域とは異なる第２の領域に書き込み、テープ媒体の第２の領域とは異なる第３の領域に第２のフォーマットで書き込むように制御する第２の制御部とを含む、装置を提供する。
【０００８】
ここで、本発明は、テープ媒体に第１のフォーマットで記録されたデータのうち、読出しヘッドが特定のデータの次に読み出す他のデータの読出し位置を特定するための特定情報を記録する記録部を更に含む、ものであってよい。この場合、第１の制御部は、読出しヘッドが、第３の領域に第２のフォーマットで書き込まれた特定のデータを読み出し、第２のフォーマットに変換された他のデータが第３の領域に続く領域から読み出せない場合に、特定情報によって特定される読出し位置から他のデータを読み出すように制御する、ものであってよい。また、記録部は、特定情報を、特定のデータと共に第３の領域に書き込むことにより記録する、ものであってよい。
【０００９】
また、本発明は、第２の領域に書き込まれた特定のデータのうち、第３の領域に第２のフォーマットで書き込まれた特定のデータの各部分に対応する部分を特定するための第１の特定情報と、テープ媒体に第１のフォーマットで記録されたデータのうち、読出しヘッドが特定のデータの次に読み出す他のデータの読出し位置を特定するための第２の特定情報とを記録する記録部を更に含む、ものであってよい。この場合、第１の制御部は、読出しヘッドが、第３の領域に第２のフォーマットで書き込まれた特定のデータの第１の部分を読み出し、第１の部分に連続する第２の部分が第３の領域から読み出せない場合に、第２の領域に書き込まれた特定のデータのうち、第１の特定情報によって特定される、第２の部分に対応する部分を読み出し、その後、第２の特定情報によって特定される読出し位置から他のデータを読み出すように制御する、ものであってよい。
【００１０】
更に、第１の制御部は、特定のデータの容量を、読出しヘッドが読み出したデータを蓄積するバッファの容量、及び、第２の領域に書き込めるデータの容量の何れかに基づいて決定する、ものであってよい。
更にまた、第２の制御部は、書込みヘッドが、特定のデータを第２の領域に書き込んだ後に第３の領域に書き込むように制御する、ものであってよい。
【００１１】
また、本発明は、テープ媒体に記録されたデータのフォーマットを変更する装置であって、テープ媒体からデータを読み出す読出しヘッドと、テープ媒体にデータを書き込む書込みヘッドと、読出しヘッドが、テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すように制御し、書込みヘッドが、特定のデータを、テープ媒体の第１の領域とは異なる第２の領域に書き込み、テープ媒体の第２の領域とは異なる第３の領域に第２のフォーマットで書き込むように制御するコントローラとを含む、装置も提供する。
【００１２】
また、本発明は、テープ媒体に記録されたデータのフォーマットを変更する装置であって、テープ媒体からデータを読み出す読出しヘッドが、テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すように制御する第１の制御部と、第１の領域とは異なる第２の領域に書き込まれる特定のデータのうち、第２の領域とは異なる第３の領域に第２のフォーマットで書き込まれる特定のデータの各部分に対応する部分を特定するための第１の特定情報と、テープ媒体に第１のフォーマットで記録されたデータのうち、読出しヘッドが特定のデータの次に読み出す他のデータの読出し位置を特定するための第２の特定情報とを生成する生成部と、テープ媒体にデータを書き込む書込みヘッドが、特定のデータと第１の特定情報とを、テープ媒体の第２の領域に書き込んだ後に、特定のデータと第１の特定情報と第２の特定情報とを、テープ媒体の第３の領域に第２のフォーマットで書き込むように制御する第２の制御部とを含む、装置も提供する。
【００１３】
更に、本発明は、テープ媒体に記録されたデータのフォーマットを変更する方法であって、テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すステップと、特定のデータを、テープ媒体の第１の領域とは異なる第２の領域に書き込むステップと、特定のデータを、テープ媒体の第２の領域とは異なる第３の領域に第２のフォーマットで書き込むステップとを含む、方法も提供する。
【００１４】
更にまた、本発明は、テープ媒体に記録されたデータのフォーマットを変更する装置としてコンピュータを機能させるプログラムであって、コンピュータを、テープ媒体からデータを読み出す読出しヘッドが、テープ媒体に第１のフォーマットで記録されたデータのうち、第１の領域に記録された特定のデータを読み出すように制御する第１の制御部と、テープ媒体にデータを書き込む書込みヘッドが、特定のデータを、テープ媒体の第１の領域とは異なる第２の領域に書き込み、テープ媒体の第２の領域とは異なる第３の領域に第２のフォーマットで書き込むように制御する第２の制御部として機能させる、プログラムも提供する。
【発明の効果】
【００１５】
本発明によれば、テープ媒体に既に記録されているデータのフォーマットを変更する場合に、エラーが発生しても、データを失うことなく読み出せるようになる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、「実施の形態」という）について詳細に説明する。
図１は、本実施の形態が適用されるテープドライブ１０の構成例を示した図である。このテープドライブ１０は、ホストインターフェイス（以下、「ホストＩ／Ｆ」という）１１と、バッファ１２と、チャネル１３と、書込みヘッド１４ａと、読出しヘッド１４ｂと、モータ１５とを含む。また、コントローラ１６と、ヘッド位置制御システム１７と、モータドライバ１８とを含む。更に、テープドライブ１０には、テープカートリッジ２０が挿入されることにより装填可能となっているので、ここでは、テープカートリッジ２０も図示している。このテープカートリッジ２０は、リール２１、２２に巻かれたテープ２３を含む。テープ２３は、リール２１、２２の回転に伴い、リール２１からリール２２の方向へ、又は、リール２２からリール２１の方向へ、長手方向に移動する。尚、テープ２３としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
【００１７】
ここで、ホストＩ／Ｆ１１は、上位装置の一例であるホスト３０との通信を行う。例えば、ホスト３０から、テープ２３へのデータの書込みを指示するコマンド、テープ２３を目的の位置に移動させるコマンド、テープ２３からのデータの読出しを指示するコマンドを受け取る。尚、このホストＩ／Ｆ１１で用いる通信規格としては、ＳＣＳＩが例示される。ＳＣＳＩの場合、１つ目のコマンドは、Ｗｒｉｔｅコマンドに相当し、２つ目のコマンドは、ＬｏｃａｔｅコマンドやＳｐａｃｅコマンドに相当し、３つ目のコマンドは、Ｒｅａｄコマンドに相当する。また、ホストＩ／Ｆ１１は、ホスト３０に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
【００１８】
バッファ１２は、テープ２３に書き込むべきデータやテープ２３から読み出されたデータを蓄積するメモリである。例えば、ＤＲＡＭ（Dynamic Random Access Memory）によって構成される。また、バッファ１２は、複数のバッファセグメントからなり、各バッファセグメントが、テープ２３に対する読み書きの単位であるデータセットを格納している。
チャネル１３は、テープ２３に書き込むべきデータを書込みヘッド１４ａに送ったり、テープ２３から読み出されたデータを読出しヘッド１４ｂから受け取ったりするために用いられる通信経路である。
書込みヘッド１４ａは、テープ２３が長手方向に移動するとき、テープ２３に対して情報を書き込み、読出しヘッド１４ｂは、テープ２３が長手方向に移動するとき、テープ２３から情報を読み出す。
モータ１５は、リール２１、２２を回転させる。尚、図では、１つの矩形でモータ１５を表しているが、モータ１５としては、リール２１、２２の各々に１つずつ、合計２個設けるのが好ましい。
【００１９】
一方、コントローラ１６は、テープドライブ１０の全体を制御する。例えば、ホストＩ／Ｆ１１で受け付けたコマンドに従って、データのテープ２３への書込みやテープ２３からの読出しを制御する。また、ヘッド位置制御システム１７やモータドライバ１８の制御も行う。
ヘッド位置制御システム１７は、書込みヘッド１４ａ及び読出しヘッド１４ｂが所望の１つ又は複数のラップを追跡するよう制御するシステムである。ここで、ラップとは、テープ２３上の複数のトラックのグループである。ラップを切り換える必要が生じると、書込みヘッド１４ａ及び読出しヘッド１４ｂを電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム１７で行う。
モータドライバ１８は、モータ１５を駆動する。尚、上述したように、モータ１５を２個使用する場合であれば、モータドライバ１８も２個設けられる。
【００２０】
以下、テープドライブ１０として、ＩＢＭエンタープライズテープドライブＴＳ１１３０を例にとり、本実施の形態について詳細に説明する。
まず、本実施の形態の前提として、テープ２３上のフォーマットについて説明する。
図２は、テープ２３上のフォーマットの概略を示した図である。図中、ＬＰ２からＬＰ３の間はキャリブレーション領域であり、ＬＰ３からＬＰ４の間がユーザデータ領域である。
図示するように、テープ２３上には、５本のサーボバンドが設けられている。このサーボバンドは、テープ２３の製造時にテープ２３上の物理的な位置を示すサーボパターンが書き込まれた領域である。
【００２１】
また、テープ２３は、この５本のサーボバンドによって、４本のデータバンドに分割されている。このデータバンドは、ユーザデータが書き込まれる領域であり、各データバンドには、十数本のラップと呼ばれる細長いデータ領域が設けられている。図では、１本の実線の矢印が１本のラップを表している。データは、右方向の矢印で示すようにラップに順方向に読み書きされた後、破線で連結した左方向の矢印で示すようにラップに逆方向に読み書きされる。図では、簡単化のため、１つのデータバンド内で、データが順方向に読み書きされるラップ、及び、データが逆方向に読み書きされるラップを、２本ずつ示している。しかしながら、実際には、順方向のラップ及び逆方向のラップはそれぞれ、例えば７本〜９本あり、１つのデータバンド内でラップは渦巻き状に配置されているものとする。つまり、順方向への読み書き及び逆方向への読み書きが繰り返し行われることにより、データはテープ２３上で何度も往復して読み書きされるようになっている。
【００２２】
更に、このようなフォーマットのテープ２３では、開始位置２０１を起点とし、データバンド＃０内に渦巻き状に配置されたラップに沿ってデータの読み書きが行われる。その後、データバンド＃１，＃２，＃３に順に移動し、各データバンド内に渦巻き状に配置されたラップに沿ってデータは読み書きされ、終了位置２０２まで進む。つまり、次のデータバンドに移動するのに５秒程度の時間がかかるため、原則として、あるデータバンドのラップを使い切ってから次のデータバンドに移るようなフォーマットになっている。
【００２３】
尚、図２は、あくまで書込みヘッド１４ａや読出しヘッド１４ｂとの関係には触れずに示した概念図である。テープドライブ１０は、通常、複数の書込みヘッド１４ａや読出しヘッド１４ｂを有する。例えば、図２の実線の矢印を１つの書込みヘッド１４ａや読出しヘッド１４ｂのデータを読み書きする時の軌跡と捉えた場合、この実線の矢印はトラックに相当する。そして、右向きの矢印が１つ目の書込みヘッド１４ａ及び読出しヘッド１４ｂに対応する順方向のトラックを示しているとすると、２つ目、３つ目、それ以降の書込みヘッド１４ａ及び読出しヘッド１４ｂに対応する順方向のトラックが、これよりも下に順に配置されるフォーマットとなる。また、左向きの矢印が１つ目の書込みヘッド１４ａ及び読出しヘッド１４ｂに対応する逆方向のトラックを示しているとすると、２つ目、３つ目、それ以降の書込みヘッド１４ａ及び読出しヘッド１４ｂに対応する逆方向のトラックが、これよりも下に順に配置されるフォーマットとなる。
【００２４】
更に、図には示していないが、テープ２３上のラップには、公称の容量に７％程度の余裕を加味した容量のデータが書き込めるようになっている。これは、物理的な傷を避けてデータが書き込まれたような場合であっても、公称の容量分のデータが書き込めるようにするためである。
【００２５】
ところで、テープドライブ１０は、容量当たりの電力使用量が少なくてすむため、ストレージの電力消費を抑える所謂グリーンストレージを推進する上での利用価値は高い。但し、テープドライブ１０は、書込みや読出しを開始するための位置合わせに時間がかかるため、応答速度の速いＨＤＤ（Hard Disk Drive）等と組み合わせてシステムを構築することが一般的である。
そのようなシステムにおいて、テープドライブ１０がどのようなフォーマットでユーザデータを保存しているかということは、アプリケーション側から見ると重要ではない。
【００２６】
ＩＢＭエンタープライズテープドライブＴＳ１１３０は、１本のテープ２３から３種類のフォーマット（第１世代〜第３世代フォーマット）でユーザデータを読み出すことができ、１本のテープ２３に２種類のフォーマット（第２世代〜第３世代フォーマット）でユーザデータを書き込むことができる。但し、１本のテープ２３に複数のフォーマットのユーザデータを混在させることはできない。
フォーマットは、世代が新しいものほど、線密度（テープ２３の走行方向に水平な方向の密度）及びトラック密度（テープ２３の走行方向に垂直な方向の密度）が共に高密度化している。このことは、同じテープ２３であっても、第１世代フォーマットで書くよりも、第３世代フォーマットで書いた方が、より多くのユーザデータを保管できることを意味する。
【００２７】
図３に、ＩＢＭエンタープライズテープドライブの世代と、各世代のテープドライブが読出し／書込みをサポートするテープフォーマットの世代との関係を示す。
図中、テープフォーマットの各世代の後の括弧内の数値は、各世代のテープ２３の容量を示している。
また、テープドライブの各世代の「Ｒｅａｄ」の列とテープフォーマットの各世代の行とが交わるセルには、その世代のテープドライブ１０がその世代のフォーマットでテープ２３に書き込まれたデータを読み出すことができるかを示している。「Ｙ」が読み出すことができることを示し、「Ｎ」が読み出すことができないことを示す。更に、テープドライブの各世代の「Ｗｒｉｔｅ」の列とテープフォーマットの各世代の行とが交わるセルには、その世代のテープドライブ１０がその世代のフォーマットでテープ２３にデータを書き込むことができるかを示している。「Ｙ」が書き込むことができることを示し、「Ｎ」が書き込むことができないことを示す。
【００２８】
ここで、テープ２３に書き込まれた情報を失うことなくテープ２３のフォーマットを変更するためには、次のような手順を実施することも考えられる。
（１）テープ２３上の全てのデータをホスト３０に読み出す。
（２）テープ２３のフォーマットを変更する。具体的には、不揮発性メモリであるＣＭ（Cartridge Memory）内に記されたフォーマット情報を変更する。
（３）（１）でホスト３０に保存した全てのデータを、（２）で変更したフォーマット情報に基づき、改めてテープ２３に書き込む。
【００２９】
しかしながら、上記の手順を実行するためには、最低でも１台のテープドライブ１０と１台のホスト３０のリソースを使用する必要がある。
このようにホスト３０のリソースをフォーマット変更に使用した場合、ホスト３０のその他の処理に影響が出ることが考えられる。従って、テープドライブ１０単独でテープ２３上のデータを新しい世代（場合によっては古い世代）のフォーマットに変更することは有意義である。
【００３０】
尚、新しい世代のフォーマットに変更するメリットとしては、前述の通り、容量の増加が挙げられる。
一方、古い世代のフォーマットに変更するメリットとしては、古い世代のテープドライブ１０でもそのテープ２３に格納されたデータを読み出せるようになるという点が挙げられる。
【００３１】
そこで、本実施の形態では、テープドライブ１０単体で、テープ２３に既に書き込まれているユーザデータを失うことなく、テープ２３のフォーマットを変更し、テープ２３の空き容量を増加させる手法を提案する。この手法により、ホスト３０のリソースを使うことなくフォーマット変換が行える。そして、最新のテープフォーマットに変更することができ、テープ２３の空き容量が増える。例えば、ＩＢＭエンタープライズテープドライブの第１世代テープドライブのフォーマットを第２世代テープドライブのフォーマットに変更すると、テープ２３の容量は３００ＧＢから５００ＧＢになる。
また、本実施の形態では、このようなフォーマット変換中に書込みエラーが発生しても、テープ２３上にあった既存データが損なわれないようにする。
【００３２】
まず、このような動作を行うコントローラ１６の機能構成について説明する。
図４は、コントローラ１６の機能構成例を示したブロック図である。
図示するように、コントローラ１６は、コマンド処理部４１と、バッファ管理部４２と、チャネル入出力部４３と、位置記憶部４４と、ＤＳＩＴ生成部４５と、ヘッド位置管理部４６と、テープ走行管理部４７とを備える。
【００３３】
このうち、コマンド処理部４１は、ホストＩ／Ｆ１１からコマンドを受け取る。ここで、コマンドとしては、バッファ１２にデータを格納することを指示するＷｒｉｔｅコマンド、バッファ１２に格納されたデータをテープ２３に書き込むことを指示する同期コマンド、テープ２３からデータを読み出すことを指示するＲｅａｄコマンド等がある。
【００３４】
バッファ管理部４２は、コマンド処理部４１がＷｒｉｔｅコマンドを受け取った場合は、データをバッファ１２内に用意する。また、コマンド処理部４１が同期コマンドを受け取った場合は、データをバッファ１２から読み出してチャネル入出力部４３に出力する。更に、コマンド処理部４１がＲｅａｄコマンドを受け取った場合は、対象となるデータがバッファ１２内になければチャネル入出力部４３に対してそのデータを読み出すように指示し、対象となるデータがバッファ１２内にあればそのデータをコマンド処理部４１を介してホスト３０に返す。
【００３５】
チャネル入出力部４３は、バッファ管理部４２がバッファ１２から読み出したデータをチャネル１３に出力したり、チャネル１３から受け取ったデータをバッファ管理部４２に出力したりする。また、書込みヘッド１４ａ及び読出しヘッド１４ｂのテープ２３上の長手方向における現在位置に関する情報を取得する。
【００３６】
位置記憶部４４は、テープ２３上の書込み開始位置Ａ及び読出し開始位置Ｂを記憶する。
ＤＳＩＴ生成部４５は、位置記憶部４４に記憶された書込み開始位置Ａ及び読出し開始位置Ｂや、データセット番号及びＷＰ（Write Pass）に基づいて、ＤＳＩＴ（Data Set Information Table）を生成する。本実施の形態では、読出しヘッドが特定のデータの次に読み出す他のデータの読出し位置を特定するための特定情報、第２の特定情報の一例として、読出し開始位置Ｂを用いており、特定のデータの各部分に対応する部分を特定するための第１の特定情報の一例として、データセット番号及びＷＰを用いている。また、特定情報を記録する記録部、第１の特定情報と第２の特定情報とを記録する記録部、第１の特定情報と第２の特定情報とを生成する生成部の一例として、ＤＳＩＴ生成部４５を設けている。
【００３７】
ヘッド位置管理部４６は、テープ２３に対する書込みヘッド１４ａ及び読出しヘッド１４ｂの位置をテープ２３の幅方向へオフセットさせる信号をヘッド位置制御システム１７に出力する。また、書込みヘッド１４ａ及び読出しヘッド１４ｂのテープ２３上の幅方向における現在位置に関する情報を取得する。本実施の形態では、読出しヘッドが第１の領域に記録された特定のデータを読み出すように制御する第１の制御部の一例として、また、書込みヘッドが特定のデータを第２の領域に書き込み、第３の領域に書き込むように制御する第２の制御部の一例として、ヘッド位置管理部４６を設けている。
テープ走行管理部４７は、テープ２３を順方向に走行させるための信号や、テープ２３を逆方向に走行させるための信号をモータドライバ１８に出力する。
【００３８】
まず、テープ２３に書き込まれたユーザデータのフォーマットを、既に書き込まれたユーザデータを失うことなく、テープドライブ１０単体で、古い世代のフォーマット（以下、「旧フォーマット」という）から新しい世代のフォーマット（以下、「新フォーマット」という）に変換する際の動作について説明する。
図５は、このときのコントローラ１６の動作例を示したフローチャートである。
動作が開始すると、まず、バッファ管理部４２が、書込み開始位置Ａ及び読出し開始位置Ｂとして、ＢＯＴ（Beginning Of Tape）、つまり、データバンド＃０の先頭の位置を位置記憶部４４に記憶する（ステップ１０１）。
【００３９】
次に、バッファ管理部４２は、位置記憶部４４に記憶された読出し開始位置Ｂから、旧フォーマットで書き込まれたユーザデータを、バッファ１２に格納できる量だけ読み出して、バッファ１２に格納する（ステップ１０２）。具体的には、ヘッド位置管理部４６に対し、読出しヘッド１４ｂを読出し開始位置Ｂを含むラップに位置付けるための信号をヘッド位置制御システム１７に出力すると共に、テープ走行管理部４７に対し、テープ２３を読出し時の速度で走行させるための信号をモータドライバ１８に出力するよう指示する。また、チャネル入出力部４３が読出しヘッド１４ｂを介して読み出したデータセットを受け取ってバッファ１２に格納する。ここで、バッファ１２の容量は、５１２ＭＢ〜１ＧＢ程度とする。
そして、バッファ管理部４２は、ステップ１０２でデータを読出し中にバッファ１２が一杯になったときの読出し位置を、新たな読出し開始位置Ｂとして位置記憶部４４に記憶する（ステップ１０３）。ここで、読出し開始位置からバッファ１２が一杯になったときの読出し位置までの領域は、第１の領域の一例である。
【００４０】
また、バッファ管理部４２は、書込み時のフォーマットの設定を新フォーマットに変更し、ステップ１０２で読み出されバッファ１２に格納されたユーザデータを、テープ２３の余裕領域に新フォーマットで書き込む（ステップ１０４）。具体的には、ヘッド位置管理部４６に対し、書込みヘッド１４ａを余裕領域を含むラップに位置付けるための信号をヘッド位置制御システム１７に出力すると共に、テープ走行管理部４７に対し、テープ２３を書込み時の速度で走行させるための信号をモータドライバ１８に出力するよう指示する。また、バッファ１２からデータセットを取り出してチャネル入出力部４３に渡し、書込みヘッド１４ａを介してテープ２３にデータセットを書き込むようチャネル入出力部４３に指示する。尚、このとき、バッファ管理部４２は、位置記憶部４４から読み出した書込み開始位置Ａ及び読出し開始位置Ｂを、ＤＳＩＴ生成部４５を用いて、余裕領域に書き込むデータセットの付加情報エリアの一例であるＤＳＩＴに書き込んでおく。ここで、余裕領域は、第２の領域の一例である。
【００４１】
次に、バッファ管理部４２は、ステップ１０２で読み出されバッファ１２に格納されたユーザデータを、書込み開始位置Ａから、新フォーマットで書き込む（ステップ１０５）。具体的には、ヘッド位置管理部４６に対し、書込みヘッド１４ａを書込み開始位置Ａを含むラップに位置付けるための信号をヘッド位置制御システム１７に出力すると共に、テープ走行管理部４７に対し、テープ２３を書込み時の速度で走行させるための信号をモータドライバ１８に出力するよう指示する。また、バッファ１２からデータセットを取り出してチャネル入出力部４３に渡し、書込みヘッド１４ａを介してテープ２３にデータセットを書き込むようチャネル入出力部４３に指示する。尚、このとき、余裕領域に一度書き出した後に書込み開始位置Ａから再度書き出したデータセットのＤＳＩＴには、ＤＳＩＴ生成部４５が、余裕領域に存在する同一のデータセットを特定するための情報を書き込む。ここで、データセットを特定するための情報としては、例えば、データセット番号と、同じデータセット番号を区別するためのＷＰ（Write Pass）との組み合わせを採用することができる。また、ＤＳＩＴには、位置記憶部４４から読み出した書込み開始位置Ａと読出し開始位置Ｂも追加する。ここで、書込み開始位置Ａからデータが新フォーマットで書き込まれる領域は、第３の領域の一例である。
【００４２】
そして、バッファ管理部４２は、ステップ１０５で書込みが終了した位置を、新たな書込み開始位置Ａとして位置記憶部４４に記憶する（ステップ１０６）。
その後、バッファ管理部４２は、ユーザデータがまだあるかどうかを判定する（ステップ１０７）。
その結果、ユーザデータがまだあると判定されれば、処理はステップ１０２へ戻る。一方、ユーザデータがもうないと判定されれば、処理は終了する。即ち、全てのユーザデータの読出し及び書込みが終了するまで、ステップ１０２〜１０６が繰り返される。
【００４３】
このような手順で旧フォーマットから新フォーマットへの変換を行えば、これらのフォーマットの間には線密度及びトラック密度の差があるので、新フォーマットで書き込まれたユーザデータが、旧フォーマットで書き込まれ未だ読み出されていないユーザデータを上書きしないことが保障される。
但し、新フォーマットでユーザデータを書き込む際のＥＲＰ（エラー回復処理）では、書込み位置を決定する場合に、旧フォーマットで書き込まれ未だ読み出されていないユーザデータを上書きしないように考慮する必要がある。例えば、読出し開始位置Ｂよりも後ろにユーザデータが書き込まれそうになった場合に、書込みを一時中断し、読出し処理に移る、といった処理を行えばよい。
【００４４】
また、上記動作例では、バッファ１２の容量分のデータを単位としてステップ１０２〜１０６を実行した。しかしながら、ステップ１０２〜１０４を繰り返すことにより、バッファ１２の容量を超えた多量のユーザデータを余裕領域にコピーした後にステップ１０５、１０６を実行し、新フォーマットで書き込んでもよい。つまり、余裕領域に書き込むデータの容量は、バッファ１２の容量に基づいて決定してもよいし、余裕領域に書き込めるデータの容量に基づいて決定してもよい。
【００４５】
ここで、エラーケースについて考える。エラーケースとしては、次の（ａ）〜（ｃ）が考えられる。
（ａ）ステップ１０２でエラーが発生した場合
テープ２３に記録されていたデータを読み出す際のエラーで一連の処理が中断された場合である。
（ｂ）ステップ１０４でエラーが発生した場合
テープ２３から読み出したデータを余裕領域に書き込む際にエラーが発生した場合である。
（ｃ）ステップ１０５でエラーが発生した場合
余裕領域に一旦書き込んだデータを書込み開始位置Ａから書き込む際にエラーが発生した場合である。
【００４６】
このように、一連の作業中に読出しエラー又は書込みエラーが発生することは考えられる。しかしながら、本実施の形態では、このような状態からでも、全てのデータを読み出せるようにしている。
【００４７】
図６に、エラーケース（ａ），（ｂ）におけるデータの読出し手順を模式的に示す。尚、ここでは、例として、旧フォーマットを「第１世代フォーマット」とし、新フォーマットを「第３世代フォーマット」とする。また、図中、「ＤＳ」はデータセットを意味する。
このエラーケース（ａ），（ｂ）において、元々第１世代フォーマットで網かけ領域に記録されていたデータの一部は第３世代フォーマットで斜線ハッチング領域（以下、「再書込み領域」という）に記録されているが、残りは第１世代フォーマットで網かけ領域に記録されたままとなっている。この場合は、再書込み領域に第３世代フォーマットで書き込まれた最後のデータセットのＤＳＩＴから、続きのデータセットがどこから始まっているのかが分かる。即ち、ＤＳＩＴに読出し開始位置Ｂが含まれているので、第３世代フォーマットで書き込まれたデータセットをＢＯＴからＡまで読み終わった後は、ＤＳＩＴに基づいてＢに移動し、テープドライブ１０の読出し設定を第１世代フォーマットに変更して続きのデータセットを読み出す。
【００４８】
また、図７に、エラーケース（ｃ）におけるデータの読出し手順を模式的に示す。尚、ここでも、例として、旧フォーマットを「第１世代フォーマット」とし、新フォーマットを「第３世代フォーマット」とする。また、図中、「ＤＳ」はデータセットを意味する。
このエラーケース（ｃ）においても、元々第１世代フォーマットで網かけ領域に記録されていたデータの一部は第３世代フォーマットで斜線ハッチング領域（再書込み領域）に記録されているが、残りは第１世代フォーマットで網かけ領域に記録されたままとなっている。この場合は、再書込み領域に第３世代フォーマットで書き込まれたデータセットのうち、書込みエラーが発生する直前のデータセットのＤＳＩＴから、余裕領域のどこに続きのデータセットが存在しているかが分かる。即ち、ＤＳＩＴにデータセット番号とＷＰが含まれているので、第３世代フォーマットで書き込まれたデータセットをＢＯＴからエラー発生直前のデータセットまで読んだ後、ＤＳＩＴに基づいて、余裕領域に移動する。例えばエラー発生直前のデータセットのデータセット番号をＮ、ＷＰをＭとすると、データセット番号がＮ＋１であり、ＷＰがＭよりも大きいデータセットを検索して余裕領域のデータセットへ移動する。そして、余裕領域内のデータセットを全て読んだ後、余裕領域の最後のデータセットのＤＳＩＴに記された読出し開始位置Ｂに移動し、続きのデータセットを読み出す。
【００４９】
次いで、このようにデータを失うことなく読み出す際の動作について説明する。
図８は、このときのコントローラ１６の動作例を示したフローチャートである。尚、図中、「ＤＳ」はデータセットを意味する。
動作が開始すると、まず、バッファ管理部４２が、テープ２３に新フォーマットで記録されたデータを読み出す（ステップ１２１）。具体的には、ヘッド位置管理部４６に対し、読出しヘッド１４ｂを読出し位置を含むラップに位置付けるための信号をヘッド位置制御システム１７に出力すると共に、テープ走行管理部４７に対し、テープ２３を読出し時の速度で走行させるための信号をモータドライバ１８に出力するよう指示する。また、チャネル入出力部４３が読出しヘッド１４ｂを介して読み出したデータセットを受け取ってバッファ１２に格納する。そして、バッファ管理部４２は、読出しが成功したかどうかを判定する（ステップ１２２）。
【００５０】
その結果、読出しが成功したと判定した場合、バッファ管理部４２は、読み出したデータセットが、再書込み領域に新フォーマットで記録された最後のデータセットであるかどうかを判定する（ステップ１２３）。そして、再書込み領域に新フォーマットで記録された最後のデータセットでなければ、ステップ１２１に戻る。また、再書込み領域に新フォーマットで記録された最後のデータセットであれば、読み出したデータセットがＥＯＤ（End Of Data）であるかどうかを判定する（ステップ１２４）。
ここで、読み出したデータセットがＥＯＤであれば、全てのデータセットが新フォーマットで書き込まれたことになるので、処理を終了する。一方、読み出したデータセットがＥＯＤでなければ、エラーケース（ａ），（ｂ）に対する動作に移る。
【００５１】
即ち、バッファ管理部４２は、読み出したデータセットのＤＳＩＴに含まれる読出し開始位置Ｂに読出し位置を移動する（ステップ１２５）。具体的には、ヘッド位置管理部４６に対し、読出しヘッド１４ｂを読出し開始位置Ｂを含むラップに位置付けるための信号をヘッド位置制御システム１７に出力すると共に、テープ走行管理部４７に対し、テープ２３を最高速度で読出し開始位置Ｂまで走行させるための信号をモータドライバ１８に出力するよう指示する。
【００５２】
次に、バッファ管理部４２は、図示しないメモリに記憶されたフォーマットの情報を旧フォーマットに変更する（ステップ１２６）。そして、旧フォーマットで記録されたデータを読出し開始位置Ｂから読み出す（ステップ１２７）。具体的には、テープ走行管理部４７に対し、テープ２３を読出し時の速度で走行させるための信号をモータドライバ１８に出力するよう指示する。また、チャネル入出力部４３が読出しヘッド１４ｂを介して読み出したデータセットを受け取ってバッファ１２に格納する。そして、バッファ管理部４２は、読出しが成功したかどうかを判定する（ステップ１２８）。
ここで、読出しが成功したと判定した場合、バッファ管理部４２は、読み出したデータセットがＥＯＤであるかどうかを判定する（ステップ１２９）。そして、ＥＯＤでなければ、ステップ１２７に戻る。また、ＥＯＤであれば、処理を終了する。更に、ステップ１２８で読出しが成功していないと判定した場合、バッファ管理部４２は、ホスト３０にエラーを報告する（ステップ１３７）。具体的には、バッファ管理部４２がコマンド処理部４１に対してホスト３０にエラーを報告するよう指示する。
【００５３】
一方、ステップ１２２で読出しが成功していないと判定した場合、バッファ管理部４２は、読み出せなかったデータセットが、再書込み領域に新フォーマットで記録された最後のデータセットであるかどうかを判定する（ステップ１３０）。そして、再書込み領域に新フォーマットで記録された最後のデータセットでなければ、ホスト３０にエラーを報告する（ステップ１３７）。具体的には、バッファ管理部４２がコマンド処理部４１に対してホスト３０にエラーを報告するよう指示する。また、再書込み領域に新フォーマットで記録された最後のデータセットであれば、エラーケース（ｃ）に対する動作に移る。
【００５４】
即ち、バッファ管理部４２は、直前に読み出したデータセットのＤＳＩＴに基づいて、余裕領域から読み出すデータセットを特定する（ステップ１３１）。ＤＳＩＴには、例えば、データセット番号とＷＰとが含まれるので、これらの情報によりデータセットを特定する。そして、その特定された余裕領域上のデータセットの位置に読出し位置を移動する（ステップ１３２）。具体的には、ヘッド位置管理部４６に対し、読出しヘッド１４ｂをその特定された位置を含むラップに位置付けるための信号をヘッド位置制御システム１７に出力すると共に、テープ走行管理部４７に対し、テープ２３を最高速度でその特定された位置まで走行させるための信号をモータドライバ１８に出力するよう指示する。
【００５５】
次に、バッファ管理部４２は、余裕領域からデータセットを読み出す（ステップ１３３）。具体的には、テープ走行管理部４７に対し、テープ２３を読出し時の速度で走行させるための信号をモータドライバ１８に出力するよう指示する。また、チャネル入出力部４３が読出しヘッド１４ｂを介して読み出したデータセットを受け取ってバッファ１２に格納する。そして、バッファ管理部４２は、読出しが成功したかどうかを判定する（ステップ１３４）。
ここで、読出しが成功したと判定した場合、バッファ管理部４２は、読み出したデータセットが余裕領域の最後のデータセットであるかどうかを判定する（ステップ１３５）。そして、余裕領域の最後のデータセットでなければ、ステップ１３３に戻る。また、余裕領域の最後のデータセットであれば、読み出したデータセットがＥＯＤであるかどうかを判定する（ステップ１３６）。
ここで、読み出したデータセットがＥＯＤであれば、全てのデータセットが新フォーマットの領域又は余裕領域に書き込まれたことになるので、処理を終了する。一方、読み出したデータセットがＥＯＤでなければ、ステップ１２５〜１２９の処理を行う。
【００５６】
尚、上記では、ステップ１２３及びステップ１３０における新フォーマットの最後のデータセットであるかどうかの判断手法については詳細に述べなかったが、例えば、次のような手法が考えられる。
（１）データの書込み時に新フォーマットで書き込まれた最後のデータセット番号をＣＭに記録しておく。
（２）データの読出し時に新フォーマットのデータが入ってこなくなったら最後とみなす。読出し設定を新フォーマットにしてデータを読み出した場合に、読み出したデータが旧フォーマットのデータであれば、読み出したデータはノイズとして認識される。従って、このような状態になれば、最後とみなす。
【００５７】
（３）新フォーマットで書き込むデータセットのＤＳＩＴに、余裕領域における同じ情報を含むデータセットのデータセット番号及びＷＰではなく、余裕領域におけるその１つ先のデータセットのデータセット番号及びＷＰを書き込む。そして、余裕領域の最後のデータセットに対応するデータセットを新フォーマットで書き込む場合、ＤＳＩＴには、ＷＰとして、現在利用しようとしているものよりも「１」だけ高いＷＰを書き込み、データセット番号として、「０」を書き込む。このように新フォーマットで書き込むデータセットのＤＳＩＴにデータセット番号「０」が書き込まれていれば、そのデータセットは、一連のサイクルの最後のものであることが分かり、また、その１つ先のデータセットの読出し時にエラーが発生した場合にも、余裕領域をどのデータセット番号及びＷＰを用いて探せばよいかを指し示せる。
これらの手法を組み合わせることにより、例えばＣＭが壊れた場合や、読出しヘッド１４ｂの調子が突然悪くなったような場合であっても、高い精度で最後のデータセットを検出することができる。
【００５８】
ところで、本実施の形態では、書込み開始位置Ａ、読出し開始位置Ｂ、余裕領域のデータセットのデータセット番号やＷＰをＤＳＩＴに書き込むようにした。しかしながら、同様の情報は、ＣＭに記憶させておいてもよい。
【００５９】
また、本実施の形態では、読出し開始位置Ｂに加え、書込み開始位置ＡもＤＳＩＴに含めている。これは、図５のステップ１０５で、一度余裕領域に書き込まれたデータセット群を新フォーマットで書込み開始位置Ａから追記する場合に、誤った書き込み開始位置から書き始めるという問題の検出や調査に役立つからである。しかしながら、書込み開始位置Ａは、データの読出し時に利用されるものではないため、データを失うことなくデータのフォーマットを変更するという目的からすると、必ずしもＤＳＩＴに含めなくてもよい。
【００６０】
更に、本実施の形態では、データセットのデータセット番号及びＷＰは、余裕領域に書き込むデータセットのＤＳＩＴには書き込まなかった。しかしながら、余裕領域に書き込む各データセットに対応する旧フォーマットで書かれたデータセット群の先頭のデータセットのデータセット番号及びＷＰを保持するようにしてもよい。こうすれば、エラーケース（ｃ）で余裕領域からのデータの読出し時に更に読出しエラーに遭遇した場合に、旧フォーマットのデータセットを読み出すことでエラーを回復することができる。
【００６１】
また、本実施の形態では、余裕領域に新フォーマットでデータを書き込んだが、余裕領域に書き込むデータのフォーマットは、旧フォーマットやその他のフォーマットであっても構わない。
更に、本実施の形態では、旧フォーマットから新フォーマットへのフォーマット変換を想定したが、新フォーマットから旧フォーマットへのフォーマット変換においても、或いは、新旧の区別のない２つのフォーマットの間の変換においても、本実施の形態は適用可能である。
【００６２】
このように、本実施の形態では、あるフォーマットで書き込まれたユーザデータを、テープ２３の余裕領域に一度コピーし、その後、別のフォーマットで書き込むようにした。これにより、テープ２３に書き込まれたユーザデータのフォーマットを、データを失うことなくテープドライブ１０単体で変換することができる。
【００６３】
尚、頻度は低いが、現在のテープドライブ１０は、データの書込み時にエラー回復の目的で余裕領域を使い切ってしまう場合がある。しかしながら、このような場合であっても、余裕領域の一部をリフォーマット用としてリザーブしておくことにより、常に本実施の形態の手法を使えることが保障される。
また、本実施の形態の手法は、フォーマットを変換する場合のみならず、ＶＴＳ（Virtual Tape Server）等でテープ２３のデフラグを行う場合にも有用である。
【００６４】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００６５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態が適用されるテープドライブの構成を示したブロック図である。
【図２】本発明の実施の形態で用いるテープのフォーマットを示した図である。
【図３】各世代のテープドライブの各世代のテープフォーマットに対する読み書きのサポート状況を示した図である。
【図４】本発明の実施の形態におけるコントローラの機能構成例を示したブロック図である。
【図５】本発明の実施の形態におけるコントローラのフォーマット変換時の動作例を示したフローチャートである。
【図６】エラーケース（ａ），（ｂ）について説明するための図である。
【図７】エラーケース（ｃ）について説明するための図である。
【図８】本発明の実施の形態におけるコントローラの読出し時の動作例を示したフローチャートである。
【符号の説明】
【００６７】
１０…テープドライブ、１１…ホストＩ／Ｆ、１２…バッファ、１３…チャネル、１４ａ…書込みヘッド、１４ｂ…読出しヘッド、１５…モータ、１６…コントローラ、１７…ヘッド位置制御システム、１８…モータドライバ
【図１】
2010055690.tif 000003
【図２】
2010055690.tif 000004
【図３】
2010055690.tif 000005
【図４】
2010055690.tif 000006
【図５】
2010055690.tif 000007
【図６】
2010055690.tif 000008
【図７】
2010055690.tif 000009
【図８】
2010055690.tif 000010