(57)【特許請求の範囲】
【請求項１】
読み書きの方向が順方向のトラックと逆方向のトラックとを含む複数のトラックが形成された磁気テープを用いてデータを読み書きするテープドライブと、
前記磁気テープを走行方向に分割した複数の分割領域のうち、第１の分割領域を用いてデータを読み書きするように前記テープドライブを制御し、前記第１の分割領域内の一のトラックで異常が発生したと判定すると、前記一のトラックをコピー対象として予約し、所定のタイミングにおいて、前記第１の分割領域内の前記一のトラックに記録されたデータを、前記複数の分割領域のうち前記第１の分割領域に隣接する第２の分割領域内の前記一のトラックにコピーするように前記テープドライブに指示する制御部と、
を有するテープ装置。
【請求項２】
前記制御部は、前記第１の分割領域内の前記一のトラックでの書き込みまたは読み出しの少なくとも一方についてのリトライ回数に基づいて、前記第１の分割領域内の前記一のトラックで異常が発生したかを判定する、
請求項１記載のテープ装置。
【請求項３】
前記所定のタイミングは、前記テープドライブから前記磁気テープをアンマウントする指示を受け付けたタイミングである、
請求項１または２記載のテープ装置。
【請求項４】
前記制御部は、前記テープドライブに、前記第２の分割領域内の前記一のトラックの途中からデータの追記を開始させた場合、前記第２の分割領域内の前記一のトラックにデータを書き込んだ後、書き込み方向を反転し、前記第２の分割領域内の次のトラックにデータを書き込むように前記テープドライブに指示する、
請求項１乃至３のいずれか１項に記載のテープ装置。
【請求項５】
読み書きの方向が順方向のトラックと逆方向のトラックとを含む複数のトラックが形成された磁気テープを用いてデータを読み書きするテープドライブを制御する制御装置において、
前記複数のトラックそれぞれにおける異常の発生を監視する監視部と、
前記磁気テープを走行方向に分割した複数の分割領域のうち、第１の分割領域を用いてデータを読み書きするように前記テープドライブを制御し、前記監視部によって前記第１の分割領域内の一のトラックで異常が発生したと判定されると、前記一のトラックをコピー対象として予約し、所定のタイミングにおいて、前記第１の分割領域内の前記一のトラックに記録されたデータを、前記複数の分割領域のうち前記第１の分割領域に隣接する第２の分割領域内の前記一のトラックにコピーするように前記テープドライブに指示する制御部と、
を有する制御装置。
【請求項６】
読み書きの方向が順方向のトラックと逆方向のトラックとを含む複数のトラックが形成された磁気テープを用いてデータを読み書きするテープドライブを制御するための制御プログラムにおいて、
コンピュータに、
前記磁気テープを走行方向に分割した複数の分割領域のうち、第１の分割領域を用いてデータを読み書きするように前記テープドライブを制御し、
前記第１の分割領域内の一のトラックで異常が発生したと判定すると、前記一のトラックをコピー対象として予約し、
所定のタイミングにおいて、前記第１の分割領域内の前記一のトラックに記録されたデータを、前記複数の分割領域のうち前記第１の分割領域に隣接する第２の分割領域内の前記一のトラックにコピーするように前記テープドライブに指示する、
処理を実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテープ装置、制御装置および制御プログラムに関する。
【背景技術】
【０００２】
大容量かつ低コストの記憶媒体として、磁気テープが知られている。また、リニア方式の磁気テープの中には、複数のトラックが形成され、あるトラックに対して始端から順方向にデータが書き込まれ、そのトラックの末端まで書き込みが行われると、別のトラックに対して逆方向にデータが書き込まれるものがある。このような方式が採用された磁気テープの規格として、ＬＴＯ  Ｕｌｔｒｉｕｍ（ＬＴＯ：Liner Tape-Open）が広く利用されている。
【０００３】
ここで、磁気テープへの書き込みに関する技術の一例として、磁気テープに書き込む全データ量から折り返し位置までのデータ長を算出し、算出した折り返し位置まで順方向でデータを書き込んだ後に、逆方向に残りのデータを書き込む技術が提案されている。
【０００４】
また、テープドライブに関する次のような技術が提案されている。例えば、磁気テープライブラリ装置は、自装置が有するテープドライブがテープカートリッジに対して行ったデータの読み出し、または、データの書き込みのリトライ数に基づいてテープドライブの保守または交換を判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−４５１８２号公報
【特許文献２】特開２００６−１６４４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
磁気テープへの書き込みに関する上記の技術では、折り返し位置までデータを書き込んだ後、残りのデータが逆方向に書き込まれる。書き込んだデータを読み出すときには、先頭から折り返し位置までデータが読み出される。その後、折り返し位置から逆方向にデータが読み出される。
【０００７】
このように、上記技術では、先頭から折り返し位置までの所定の領域がデータの読み書きで繰り返し利用される。そのため、例えば、データを読み出す際に異常が発生しやすくなり、読み出しをリトライしなければならないケースが多くなる。その結果、データの読み出しにかかる全体の時間が長くなる。
【０００８】
１つの側面では、本発明は、磁気テープからのデータ読み出し時間が増大することを抑制できるテープ装置、制御装置および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、テープ装置が提供される。このテープ装置は、テープドライブと制御部とを有する。テープドライブは、読み書きの方向が順方向のトラックと逆方向のトラックとを含む複数のトラックが形成された磁気テープを用いてデータを読み書きする。制御部は、磁気テープを走行方向に分割した複数の分割領域のうち、第１の分割領域を用いてデータを読み書きするようにテープドライブを制御し、第１の分割領域内の一のトラックで異常が発生したと判定すると、一のトラックをコピー対象として予約し、所定のタイミングにおいて、第１の分割領域内の一のトラックに記録されたデータを、複数の分割領域のうち第１の分割領域に隣接する第２の分割領域内の一のトラックにコピーするようにテープドライブに指示する。
【００１０】
また、１つの態様では、制御装置が提供される。この制御装置は、読み書きの方向が順方向のトラックと逆方向のトラックとを含む複数のトラックが形成された磁気テープを用いてデータを読み書きするテープドライブを制御する。また、この制御装置は、監視部と制御部を有する。監視部は、複数のトラックそれぞれにおける異常の発生を監視する。制御部は、磁気テープを走行方向に分割した複数の分割領域のうち、第１の分割領域を用いてデータを読み書きするようにテープドライブを制御し、監視部によって第１の分割領域内の一のトラックで異常が発生したと判定されると、一のトラックをコピー対象として予約し、所定のタイミングにおいて、第１の分割領域内の一のトラックに記録されたデータを、複数の分割領域のうち第１の分割領域に隣接する第２の分割領域内の一のトラックにコピーするようにテープドライブに指示する。
【００１１】
また、１つの態様では、制御プログラムが提供される。この制御プログラムは、読み書きの方向が順方向のトラックと逆方向のトラックとを含む複数のトラックが形成された磁気テープを用いてデータを読み書きするテープドライブを制御するためのプログラムである。また、この制御プログラムは、コンピュータに、磁気テープを走行方向に分割した複数の分割領域のうち、第１の分割領域を用いてデータを読み書きするようにテープドライブを制御し、第１の分割領域内の一のトラックで異常が発生したと判定すると、一のトラックをコピー対象として予約し、所定のタイミングにおいて、第１の分割領域内の一のトラックに記録されたデータを、複数の分割領域のうち第１の分割領域に隣接する第２の分割領域内の一のトラックにコピーするようにテープドライブに指示する、処理を実行させる。
【発明の効果】
【００１２】
１つの側面では、磁気テープからのデータ読み出し時間が増大することを抑制できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態のテープ装置を示す図である。
【図２】第２の実施の形態のテープ装置のハードウェア例を示す図である。
【図３】磁気テープの例を示す図である。
【図４】磁気テープのデータフォーマットを説明するための図である。
【図５】ＷＲＡＰ単位でのデータの書き込みおよび読み出しについて説明するための図である。
【図６】３６トラックモードでの第１の書き込み処理例を示す図である。
【図７】３６トラックモードでの第２の書き込み処理例を示す図である。
【図８】アンマウント時のコピー処理の具体例を示す図である。
【図９】再マウント後の読み出し処理の具体例を示す図である。
【図１０】データの追記処理の具体例を示す図である。
【図１１】コントローラの機能例を示す図である。
【図１２】媒体仕様テーブルの例を示す図である。
【図１３】媒体情報テーブルの例を示す図である。
【図１４】書き込み管理テーブルの例を示す図である。
【図１５】リトライ数テーブルの例を示す図である。
【図１６】マウント時の処理例を示すフローチャートである。
【図１７】書き込み時の処理例（その１）を示すフローチャートである。
【図１８】書き込み時の処理例（その２）を示すフローチャートである。
【図１９】コピー判定処理の例を示すフローチャートである。
【図２０】アンマウント処理の例を示すフローチャートである。
【図２１】読み出し処理の例を示すフローチャートである。
【図２２】Ｒｅａｄコマンド発行後の処理例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のテープ装置を示す図である。テープ装置１０は、テープドライブ１１および制御部１２を有する。
【００１５】
テープドライブ１１には、磁気テープ１が格納される。テープドライブ１１は、制御部１２の制御の下で、磁気テープ１に対するデータの書き込みや、磁気テープ１からのデータの読み出しを実行する。磁気テープ１には、複数のトラックが形成されている。複数のトラックには、読み書きの方向が順方向のトラックと逆方向のトラックとが含まれる。
【００１６】
テープドライブ１１は、あるトラックに順方向にデータを書き込み、次のトラックに逆方向にデータを書き込み、次のトラックに順方向にデータを書き込むというように、磁気テープ１上で磁気ヘッドを往復させながらデータの書き込みを実行する。また、テープドライブ１１は、あるトラックに記録されたデータを順方向に読み出し、データ領域に端部で読み出し方向を反転して、次のトラックに記録されたデータを逆方向に読み出すというように、磁気テープ１上で磁気ヘッドを往復させながらデータの読み出しを実行する。
【００１７】
制御部１２は、例えば、プロセッサである。プロセッサには、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含み得る。
【００１８】
制御部１２は、磁気テープ１をその走行方向に分割した複数の分割領域を設定する。図１の例では、磁気テープ１の先頭側から順に分割領域２ａ，２ｂが設定されている。各分割領域は、例えば、同じ長さである。
【００１９】
制御部１２は、分割領域２ａを用いてデータを読み書きするようにテープドライブ１１を制御する。これにより、テープドライブ１１は、分割領域２ａ上で磁気ヘッドを往復させながらデータの読み書きを実行する。例えば、テープドライブ１１は、図１の状態１のように、トラック１ａの領域のうち分割領域２ａに含まれる領域１ａ１に対して、データ３を順方向に書き込む。テープドライブ１１は、領域１ａ１での書き込みを終了するための所定の条件が満たされると、書き込み方向を反転し、後続のデータ４をトラック１ｂの領域のうち分割領域２ａに含まれる領域１ｂ１に対して書き込む。
【００２０】
このように、１つの分割領域２ａだけにデータが書き込まれることで、例えば磁気テープ１に記録するデータ量が磁気テープ１の最大容量より小さい場合に、データの読み出しにかかる時間を短縮できる。なぜなら、磁気テープ１全体にデータを書き込んだ場合より、データを読み出すための磁気ヘッドの位置付け量が小さくなり、データを短時間で読み出し可能となるからである。
【００２１】
また、制御部１２は、分割領域２ａ内の各トラックで異常が発生したかを監視する。例えば、各トラックでの読み出しのリトライ回数、または書き込みのリトライ回数、またはそれらの合計値が所定の閾値を超えた場合に、異常が発生したと判定される。
【００２２】
制御部１２は、例えば、トラック１ｂの領域１ｂ１で異常が発生したと判定すると、このトラック１ｂをコピー対象として予約する。そして、制御部１２は、所定のタイミングにおいて、予約されたトラック１ｂの領域１ｂ１に記録されたデータ４を、同じトラック１ｂの領域のうち、分割領域２ａに隣接する分割領域２ｂに含まれる領域１ｂ２にコピーするように、テープドライブ１１に指示する。これにより、図１の状態２のように、テープドライブ１１は、領域１ｂ１に記録されたデータ４を領域１ｂ２にコピーする。
【００２３】
なお、領域１ｂ１から領域１ｂ２へのデータ４のコピーは、読み書き性能に影響を与えないようにするために、磁気テープ１の読み書きが実行されていない期間に実行されることが望ましい。例えば、制御部１２が図示しないホスト装置などから磁気テープ１のアンマウントの指示を受け付けたときに、アンマウントを実行する前にデータ４のコピーが実行される。
【００２４】
ここで、状態１のように分割領域２ａだけを用いてデータの読み書きが行われると、分割領域２ａ上でのみ磁気ヘッドが繰り返し往復し、分割領域２ａが酷使される状態になる。このため、分割領域２ａ内のトラックで書き込みや読み出しのエラーが発生する確率が高くなり、それに伴って書き込みや読み出しのリトライが実行される回数が増加する。
【００２５】
例えば、トラック１ｂの領域１ｂ１において読み出しのリトライ回数が増えるほど、領域１ｂ１からのデータ読み出しにかかる時間が長くなる。これに対して、第１の実施の形態では、領域１ｂ１で異常が発生したと判定されると、領域１ｂ１に記録されているデータ４が領域１ｂ１から領域１ｂ２にコピーされる。領域１ｂ２は、読み書きが実行された回数が領域１ｂ１より少ないため、領域１ｂ１より読み出しのリトライが発生する確率が低い。そのため、領域１ｂ１の代わりに領域１ｂ２からデータ４が読み出されることで、読み出しにかかる時間が増大することを抑制できる。
【００２６】
［第２の実施の形態］
図２は、第２の実施の形態のテープ装置のハードウェア例を示す図である。テープ装置１００は、コントローラ１１０とテープドライブ１２０を有する。テープ装置１００は、複数のテープドライブを有していてもよい。
【００２７】
コントローラ１１０は、ホスト装置２００からの要求に応じたテープドライブ１２０に格納されるテープカートリッジ１３０に対するデータアクセス、テープ装置１００内のハードウェアモジュールの動作などを制御する。
【００２８】
コントローラ１１０は、プロセッサ１１０ａ、ＲＡＭ（Random Access Memory）１１０ｂ、フラッシュメモリ１１０ｃ、ホストインタフェース１１０ｄ、ドライブインタフェース１１０ｅおよび読み取り装置１１０ｆを有する。
【００２９】
プロセッサ１１０ａは、コントローラ１１０全体を統括的に制御する。プロセッサ１１０ａは、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ１１０ａは、マルチプロセッサであってもよい。プロセッサ１１０ａは、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどの２以上の要素の組合せであってもよい。
【００３０】
ＲＡＭ１１０ｂは、テープ装置１００の主記憶装置である。ＲＡＭ１１０ｂは、プロセッサ１１０ａに実行させるプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１１０ｂは、プロセッサ１１０ａによる処理に用いる各種データを記憶する。
【００３１】
フラッシュメモリ１１０ｃは、テープ装置１００の補助記憶装置である。フラッシュメモリ１１０ｃには、アプリケーションプログラムおよび各種データが格納される。
ホストインタフェース１１０ｄは、ホスト装置２００と通信を行うためのインタフェースである。ドライブインタフェース１１０ｅは、テープドライブ１２０と通信を行うためのインタフェースである。
【００３２】
読み取り装置１１０ｆは、可搬型の記録媒体１４０に記録されたプログラムやデータを読み取る装置である。記録媒体１４０として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤ（Hard Disk Drive）などの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体１４０として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置１１０ｆは、例えば、プロセッサ１１０ａからの命令に従って、記録媒体１４０から読み取ったプログラムやデータをＲＡＭ１１０ｂまたはフラッシュメモリ１１０ｃに格納する。
【００３３】
テープドライブ１２０には、磁気テープが格納されたテープカートリッジ１３０が挿抜される。テープカートリッジ１３０は、カートリッジメモリ１３０ａを有する。カートリッジメモリ１３０ａには、テープカートリッジ１３０に関する様々な情報が記憶される。テープドライブ１２０は、テープカートリッジ１３０をマウントし、コントローラ１１０の制御の下で、マウントしたテープカートリッジ１３０内の磁気テープに対するデータの書き込みや、磁気テープからのデータの読み出しを行う。また、テープドライブ１２０は、マウントしたテープカートリッジ１３０のカートリッジメモリ１３０ａに対するデータの書き込みや、カートリッジメモリ１３０ａからのデータの読み出しを行うこともできる。例えば、テープドライブ１２０は、テープカートリッジ１３０のアンマウントが要求されると、磁気テープの残容量をカートリッジメモリ１３０ａに記録した後、テープカートリッジ１３０をアンマウントする。
【００３４】
図３は、磁気テープの例を示す図である。本実施の形態では、例として、ＬＴＯ  Ｕｌｔｒｉｕｍ規格の磁気テープが使用される。ＬＴＯ  Ｕｌｔｒｉｕｍ規格の磁気テープは、５本のサーボバンドと４本のデータバンドを有する。各データバンドは、複数のトラックを有する。ＬＴＯ  Ｕｌｔｒｉｕｍ６の場合、磁気テープは、データバンドごとに５４４本ずつの合計２１７６本のトラックを有する。
【００３５】
また、ＬＴＯ  Ｕｌｔｒｉｕｍ規格では、順方向と逆方向の両方向に対して読み書きが行われる。さらに、ＬＴＯ  Ｕｌｔｒｉｕｍ規格では、データバンド内の複数のトラックが同時に読み書きされる。例えば、ＬＴＯ  Ｕｌｔｒｉｕｍ６の場合、１つのデータバンドに１６本のトラックが同時に書き込まれ、磁気ヘッドが１７往復することで合計５４４（１６×２×１７）本のトラックが１つのデータバンドに書き込まれる。ここで、同時に読み書きされる複数のトラック群を「ＷＲＡＰ」という。ＬＴＯ  Ｕｌｔｒｉｕｍ６の場合、１つのＷＲＡＰは１６本のトラックによって構成される。
【００３６】
図４は、磁気テープのデータフォーマットを説明するための図である。この図４では、磁気テープ全体の記憶領域でのデータフォーマットを示す。なお、ＢＯＴ（Beginning Of Tape）は磁気テープの始端を意味し、ＥＯＴ（End Of Tape）は磁気テープの終端を意味する。実際には、磁気テープの最も始端側の位置にはＢＯＴを示すラベルが記録され、磁気テープの最も終端側の位置にはＥＯＴを示すラベルが記録されるが、図４ではこれらのラベルの図示を省略している。
【００３７】
磁気テープの先頭には、ＶＯＬ（Volume）が記録される。ＶＯＬは、磁気テープにどのような情報が登録されているかなどの見出しとなる情報が記録されるラベルである。図４では、ＶＯＬの後にファイルＭが書き込まれている例を示している。ファイルＭの実データの記憶領域であるＤＡＴ（Data）の前には、ＨＤＲ（Header）１、ＨＤＲ２、ＴＭ（Tape Mark）が記録される。説明を分かりやすくするために、ＨＤＲ２の後に記録されるＴＭをＴＭ１とする。また、ＤＡＴの後には、ＴＭ、ＥＯＦ（End Of File）１、ＥＯＦ２、ＴＭが記録される。説明を分かりやすくするために、ＤＡＴの後に記録されるＴＭをＴＭ２、ＥＯＦ２の後に記録されるＴＭをＴＭ３とする。
【００３８】
ＨＤＲ１およびＨＤＲ２は、ファイルの見出しを示すラベルである。ＴＭ１は、実データの始まりを示すマーカである。ＤＡＴには、ファイルＭの実データが一定サイズごとのデータブロックに分割されて書き込まれる。ＴＭ２は、実データの終わりを示すマーカである。ＥＯＦ１およびＥＯＦ２は、ファイルの終わりを示すラベルである。ＴＭ３は、ファイルの終わりを示すマーカである。すなわち、ＨＤＲ１からＴＭ３までが、１つのファイルＭに対応する記憶領域となる。
【００３９】
また、ファイルＭの後に他のファイルが書き込まれずに書き込みが終了した場合、ファイルＭに対応する記憶領域の後には、ＴＭ、ＥＯＤ（End Of Data）が記録される。説明を分かりやすくするために、ファイルＭに対応する記憶領域の後に記録されるＴＭをＴＭ４とする。ＴＭ４は、データが格納された領域の終端を示すマーカである。ＥＯＤは、データが格納された領域の終端を示すラベルである。
【００４０】
なお、ＢＯＴ、ＶＯＬ、ＨＤＲ１、ＨＤＲ２、ＥＯＦ１およびＥＯＦ２の各ラベルは、８０バイトである。ＴＭ１〜４は、１０バイト未満のそれぞれ同一の容量である。
図５は、ＷＲＡＰ単位でのデータの書き込みおよび読み出しについて説明するための図である。なお、図示を省略するが、各ＷＲＡＰの始端にはＢＯＴを示すラベルがあらかじめ記録され、終端にはＥＯＴを示すラベルがあらかじめ記録される。ここで言う「始端」「終端」とは、読み書き方向とは関係ない、磁気テープの物理的な始端および終端を指す。
【００４１】
ＬＴＯ  Ｕｌｔｒｉｕｍ規格では、ＢＯＴからＥＯＴへの方向を示す順方向と、ＥＯＴからＢＯＴへの方向を示す逆方向の両方向に対して、読み書きが行われる。したがって、ＷＲＡＰには、順方向に読み書きが行われる「順方向ＷＲＡＰ」と、逆方向に読み書きが行われる「逆方向ＷＲＡＰ」とがある。図５の例では、ＷＲＡＰ１３１ａは先頭のＷＲＡＰであり、順方向ＷＲＡＰである。ＷＲＡＰ１３１ｂは２番目のＷＲＡＰであり、逆方向ＷＲＡＰである。ＷＲＡＰ１３１ｃは３番目のＷＲＡＰであり、順方向ＷＲＡＰである。すなわち、先頭から奇数番目のＷＲＡＰは順方向ＷＲＡＰであり、偶数番目のＷＲＡＰは逆方向ＷＲＡＰである。
【００４２】
なお、これ以後、ＷＲＡＰにおける読み書き方向に対する始端および終端を、それぞれ「ＷＲＡＰ始端」「ＷＲＡＰ終端」と記載し、ＢＯＴおよびＥＯＴがそれぞれ示す始端および終端と区別する。
【００４３】
ＷＲＡＰには、読み出しの際に方向を反転させる位置であることを示す、ＷＲＡＰマークというマーカが記録される。例えば、図５において、テープドライブ１２０は、ＷＲＡＰ１３１ａに対する順方向のデータ書き込みを行っているとする。テープドライブ１２０は、書き込み位置がＥＯＴから所定の長さの位置に達すると、ＷＲＡＰマーク１３２ａを書き込み、書き込み方向を反転させる。テープドライブ１２０は、次のＷＲＡＰ１３１ｂにおけるＷＲＡＰマーク１３２ａと同じ位置にＷＲＡＰマーク１３２ｂを書き込んだ後、ＷＲＡＰ１３１ｂに対する逆方向のデータ書き込みを行う。また、テープドライブ１２０は、書き込み位置がＢＯＴから所定の長さの位置に達すると、ＷＲＡＰマーク１３２ｃを書き込み、書き込み方向を反転させる。テープドライブ１２０は、次のＷＲＡＰ１３１ｃにおけるＷＲＡＰマーク１３２ｃと同じ位置にＷＲＡＰマーク１３２ｄを書き込んだ後、ＷＲＡＰ１３１ｃに対する順方向のデータ書き込みを行う。
【００４４】
また、データ読み出しの際には次のような動作が行われる。例えば、図５において、テープドライブ１２０は、順方向に対してＷＲＡＰ１３１ａからのデータ読み出しを行っているとする。テープドライブ１２０は、ＷＲＡＰマーク１３２ａを検出すると、読み出し方向を反転し、ＷＲＡＰマーク１３２ｂの位置を起点として逆方向に対してＷＲＡＰ１３１ｂからデータ読み出しを行う。また、テープドライブ１２０は、ＷＲＡＰマーク１３２ｃを検出すると、読み出し方向を反転し、ＷＲＡＰマーク１３２ｄの位置を起点として順方向に対してＷＲＡＰ１３１ｃからのデータ読み出しを行う。
【００４５】
なお、ＷＲＡＰの書き込み方向または読み出し方向を反転することを、「ＷＲＡＰ反転」と記載する場合がある。上記のように、読み出しの際にはＷＲＡＰマークの検出に応じてＷＲＡＰ反転が行われる。
【００４６】
ところで、磁気テープの書き込みモードの例として、１２８トラックモードと３６トラックモードの２つのモードがある。１２８トラックモードは、書き込み可能なデータブロック数に制限がなく、磁気テープ全体にデータが書き込まれるモードである。一方、３６トラックモードは、書き込み可能なデータブロック数に制限が設けられるモードである。例えば、書き込み可能なデータブロック数は、最大で４００万ブロックである。これは、ＣＭＴ（Cartridge Magnetic Tape）などの磁気テープの他の規格とデータフォーマットの互換性を持たせることを目的としたモードである。
【００４７】
ＬＴＯ  Ｕｌｔｒｉｕｍ規格の磁気テープに対して３６トラックモードで書き込みが行われた場合、書き込みが許される最大のデータ量は、磁気テープに書き込み可能な最大データ量より小さい。このため、許される最大量のデータが書き込まれたとしても、一部のＷＲＡＰには未使用領域が残る。
【００４８】
ここで、３６トラックモードで書き込み処理を行う場合の比較例について、図６、図７を用いて説明する。
図６は、３６トラックモードでの第１の書き込み処理例を示す図である。
【００４９】
３６トラックモードでの書き込み方法の例としては、先頭側のＷＲＡＰから順に、各ＷＲＡＰのＷＲＡＰ始端からＷＲＡＰ終端までの全体を使用してデータを書き込む方法が考えられる。この場合、先頭側のＷＲＡＰでは、ＥＯＴまでデータが書き込まれることになる。しかし、読み出し対象のデータの位置がＥＯＴに近いほど、そのデータの位置に磁気ヘッドを位置付けするためのテープ走行に長い時間が必要になり、データの読み出し開始までに時間がかかってしまう。また、データの終端が逆方向ＷＲＡＰの途中となった場合、当該ＷＲＡＰにおいては、本来短時間で位置付けが可能であるＢＯＴ側にはデータが書き込まれないことになる。このため、磁気ヘッドの位置付けのためのテープ走行に無駄な時間が使われてしまう。
【００５０】
そこで、ＷＲＡＰの途中に反転位置を設定し、順方向ＷＲＡＰの書き込みの際にはその反転位置で必ずＷＲＡＰ反転する、という方法が考えられる。図６は、このような方法の例を示す。
【００５１】
この方法では、各順方向ＷＲＡＰに共通の反転位置１３３ａが設定される。反転位置１３３ａは、例えば、ＢＯＴを起点として、制限された書き込み容量の上限を総ＷＲＡＰ数で除算して得られるデータ量に対応する位置に設定される。なお、反転位置１３３ａは、例えば、このような計算式により求められた位置から、ＥＯＴより手前までの領域における所定の位置に設定されてもよい。
【００５２】
テープドライブ１２０は、コントローラ１１０からの指示に応じて次のような書き込み処理を行う。テープドライブ１２０は、順方向ＷＲＡＰへの書き込み中に反転位置１３３ａに達すると、順方向ＷＲＡＰにＷＲＡＰマークを書き込み、ＷＲＡＰ反転を行う。テープドライブ１２０は、次の逆方向ＷＲＡＰの反転位置１３３ａにＷＲＡＰマークを書き込み、逆方向ＷＲＡＰへの書き込みを継続する。
【００５３】
図６の例では、テープドライブ１２０は、ＷＲＡＰ１３４ａに対する順方向への書き込み中に反転位置１３３ａに達すると、ＷＲＡＰ１３４ａにＷＲＡＰマーク１３５ａを書き込み、ＷＲＡＰ反転を行う。テープドライブ１２０は、次のＷＲＡＰ１３４ｂにおけるＷＲＡＰマーク１３５ａと同じ位置にＷＲＡＰマーク１３５ｂを書き込み、ＷＲＡＰ１３４ｂに対する逆方向への書き込みを継続する。
【００５４】
この方法によれば、全てのＷＲＡＰにおいて、ＢＯＴから反転位置１３３ａまでの領域にデータが書き込まれる。このため、読み出し時に磁気ヘッドが位置付けされる磁気テープの領域がＢＯＴから反転位置１３３ａまでに制限され、データ読み出し開始までにかかる時間が短縮される。また、データを追記する際にも、データの追記を開始する位置までの磁気ヘッドの位置付けにかかる時間が短縮され、短時間で追記を開始できる。また、反転位置１３３ａを、前述した計算式によって求められた位置とした場合には、磁気ヘッドの位置付けにかかる時間を最小にすることができる。
【００５５】
しかしながら、この方法には次のような問題がある。図６に示すように、ある１つのファイルに対応するファイル領域３００の途中で反転位置１３３ａに達すると、ＷＲＡＰ反転が行われる。このファイルがデータブロックＸ１〜Ｘ１２に分割され、データブロックＸ１１の書き込み終了時点で反転位置１３３ａに達したとすると、データブロックＸ１１の次にＷＲＡＰマーク１３５ａが書き込まれ、ＷＲＡＰ反転が行われる。次のＷＲＡＰ１３４ｂでは、ＷＲＡＰマーク１３５ｂが書き込まれた後、残りのデータブロックＸ１２が逆方向に書き込まれる。
【００５６】
このような書き込みが行われた状態で、ファイル領域３００内のファイルの読み出しが要求された場合、ファイルの読み出し途中でＷＲＡＰ反転が発生してしまう。ＷＲＡＰ反転では、少なくとも磁気テープの走行停止と走行再開という動作が生じるため、ある程度の時間がかかる。このため、１つのＷＲＡＰ内に全体が記録されたファイルを読み出す場合と比較して、ファイルの読み出しにかかる時間が大幅に長くなってしまう。
【００５７】
このような問題点を解決する方法として、次の図７に示すような方法が考えられる。
図７は、３６トラックモードでの第２の書き込み処理例を示す図である。
テープドライブ１２０は、ＷＲＡＰ１３４ａへのファイル領域３００の書き込み途中で反転位置１３３ａに達した場合、ファイル領域３００の終端まで書き込みをそのまま継続する。テープドライブ１２０は、ファイル領域３００の終端位置１３３ｂの次に、ＷＲＡＰマーク１３５ｃを書き込み、ＷＲＡＰ反転を行う。テープドライブ１２０は、次のＷＲＡＰ１３４ｂにおけるＷＲＡＰマーク１３５ｃと同じ位置にＷＲＡＰマーク１３５ｄを書き込む。もし次のファイルの書き込みが要求された場合、ＷＲＡＰ１３４ｂにおいてＷＲＡＰマーク１３５ｄに続いて逆方向にデータの書き込みが行われる。
【００５８】
これにより、テープドライブ１２０がファイル領域３００のファイルを読み出す場合、ファイル領域３００の読み出し途中でＷＲＡＰ反転を行わなくて済む。そのため、ＷＲＡＰ反転にかかる時間だけ図６の場合より短時間にファイルを読み出すことができる。
【００５９】
しかしながら、図６，７の方法では、次のような問題がある。図６，７の方法では、読み出し時間を短くするために、ＢＯＴに近い領域が繰り返し利用される。繰り返し利用されることで、例えば、データを読み出す際にエラーが発生しやすくなる。すると、データを読み出すためのリトライが発生し、磁気テープからデータを読み出す時間が長くなる。
【００６０】
そこで、本実施の形態では、初期状態では、磁気テープにおける最もＢＯＴに近い領域を用いて、図６または図７の方法によってデータの読み書きが実行される。また、各トラックでのリトライ数が計数され、あるトラックでのリトライ数が閾値を超えた場合、そのトラックがコピー対象として予約される。その後の所定のタイミングで、予約されたトラックに記録されているデータが、ＥＯＴ側に隣接する領域内の同じトラックにコピーされる。コピー先のデータが、その後の読み出し対象となる。これにより、予約されたトラックからのデータ読み出し時にリトライが発生する確率が低減され、リトライの頻発によってデータ読み出しにかかる時間が増大することを抑制できる。
【００６１】
次に、図８〜１０を用いて、本実施の形態における３６トラックモードでの読み書き動作の具体例を説明する。なお、予約されたトラックからデータをコピーするタイミングは、例として、ホスト装置２００からテープカートリッジ１３０のアンマウントが指示されたタイミングとする。ただし、データコピーのタイミングはこれに限定されない。例えば、ホスト装置２００から磁気テープの読み書きが要求されない時間帯が特定される場合には、この時間帯にデータコピーが実行されてもよい。
【００６２】
また、図８〜１０では、ファイル領域の始端に記録されるＨＤＲ１，ＨＤＲ２，ＴＭ１、およびファイル領域の終端に記録されるＴＭ２，ＥＯＦ１，ＥＯＦ２，ＴＭ３の図示を省略している。
【００６３】
図８は、アンマウント時のコピー処理の具体例を示す図である。図８において、ＷＲＡＰ１３６ａは、順方向ＷＲＡＰである。ＷＲＡＰ１３６ｂは、ＷＲＡＰ１３６ａの次に読み書きの対象となる逆方向ＷＲＡＰである。
【００６４】
本実施の形態では、磁気テープはそれぞれ容量が同じ複数の領域に分割される。以下、これらの領域を「分割テープ領域」と記載する。以下の説明では、例として、磁気テープは４つの分割テープ領域に分割されるものとする。このような分割により、各ＷＲＡＰも４つの分割領域に分割される。以下の説明では、「分割領域」は、１つのＷＲＡＰの領域のうち、１つの分割テープ領域に含まれる領域を指す。
【００６５】
図８では、ＷＲＡＰ１３６ａは４つの分割領域に分割され、分割領域１３６ａ１，１３６ａ２は、それぞれＢＯＴ側から第１番目の分割テープ領域、第２番目の分割テープ領域に属する。また、ＷＲＡＰ１３６ｂも４つの分割領域に分割され、分割領域１３６ｂ１，１３６ｂ２は、それぞれＢＯＴ側から第１番目の分割テープ領域、第２番目の分割テープ領域に属する。
【００６６】
初期状態では、ＢＯＴ側から第１番目の分割テープ領域だけを用いて、図６または図７の方法によってデータが書き込まれる。ここで、図６の方法が用いられる場合、１つの分割領域の容量は、図６のＷＲＡＰ１３４ａにおけるＢＯＴから反転位置１３３ａまでの容量に設定される。したがって、例えば図８のＷＲＡＰ１３６ａ，１３６ｂに図６の方法を用いてデータが書き込まれる場合、テープドライブ１２０は、分割領域１３６ａ１に順方向にデータを書き込み、分割領域１３６ａのＥＯＴ側の末尾にＷＲＡＰマーク１３７ａを書き込む。そして、テープドライブ１２０は、書き込み方向を反転し、分割領域１３６ｂ１のＥＯＴ側の端部にＷＲＡＰマーク１３７ｂを書き込み、分割領域１３６ｂ１に対して逆方向にデータを書き込む。
【００６７】
また、図７の方法が用いられる場合、１つの分割領域の容量は、図７のＷＲＡＰ１３４ａにおけるＢＯＴから反転位置１３３ａまでの容量に、所定の余剰容量が加算された容量に設定される。例えば図８のＷＲＡＰ１３６ａ，１３６ｂに図６の方法を用いてデータが書き込まれる場合、テープドライブ１２０は、分割領域１３６ａ１に順方向にデータを書き込む。ファイルの書き込み中に標準反転位置１３８に達した場合には、テープドライブ１２０は、さらに順方向の書き込みを継続し、図８の上部に示すように、ファイル領域の端部の次にＷＲＡＰマーク１３７ａを書き込む。ただし、ファイルの書き込み中に分割領域１３６ａ１の端部に達した場合には、その時点でＷＲＡＰマーク１３７ａが書き込まれる。そして、テープドライブ１２０は、書き込み方向を反転し、分割領域１３６ｂ１に対して、ＷＲＡＰマーク１３７ａを先頭として逆方向にデータを書き込む。
【００６８】
このようにして分割領域１３６ａ１，１３６ｂ１に記録されたデータは、次のような処理によって読み出される。テープドライブ１２０は、分割領域１３６ａ１に書き込まれているデータを順方向に読み出し、ＷＲＡＰマーク１３７ａを検知するとＷＲＡＰ反転を行う。ＷＲＡＰ反転後、テープドライブ１２０は、分割領域１３６ｂ１に書き込まれているデータをＷＲＡＰマーク１３７ｂからＷＲＡＰマーク１３７ｃに向けて逆方向に読み出す。
【００６９】
ところで、テープドライブ１２０は、ＷＲＡＰに対するデータの書き込みに失敗した場合、書き込みをリトライする。また、テープドライブ１２０は、ＷＲＡＰからのデータの読み出しに失敗した場合、読み出しをリトライする。カートリッジメモリ１３０ａには、読み出しのリトライ数と書き込みのリトライ数がＷＲＡＰごとに記録される。そして、テープドライブ１２０は、書き込みのリトライや読み出しのリトライを実行するたびに、カートリッジメモリ１３０ａ内の対応するリトライ数を増加させる。
【００７０】
本実施の形態では、コントローラ１１０は、ＷＲＡＰごとの書き込みのリトライ数および読み出しのリトライ数を、カートリッジメモリ１３０ａから取得する。そして、コントローラ１１０は、いずれかのリトライ数が所定の閾値を超えたか否かを判定する。ここで、ＷＲＡＰ１３６ｂでの書き込みまたは読み出しのリトライ数が閾値を超えたとする。この場合、コントローラ１１０は、ＷＲＡＰ１３６ｂをコピー対象として予約する。
【００７１】
上記のような読み出し処理の終了後、コントローラ１１０は、ホスト装置２００からテープカートリッジのアンマウント指示を受信する。図８の下部は、アンマウント指示を受けた後に行われるコピー処理を示している。
【００７２】
コントローラ１１０は、テープドライブ１２０に、分割領域１３６ｂ１に書き込まれているデータを、隣の分割領域１３６ｂ２にコピーするように指示する。テープドライブ１２０は、分割領域１３６ｂ１に書き込まれているデータを、隣の分割領域１３６ｂ２にコピーする。この処理では、分割領域１３６ｂ１全体のデータイメージが分割領域１３６ｂ２にコピーされればよい。
【００７３】
次に、テープカートリッジ１３０が再マウントされてデータを読み出す場合について、具体例を用いて説明する。
図９は、再マウント後の読み出し処理の具体例を示す図である。コントローラ１１０は、ホスト装置２００から読み出し要求を受信する。読み出し要求には、読み出し開始位置のデータブロックＹ１を示す情報が含まれている。
【００７４】
コントローラ１１０は、データブロックＹ１の位置を特定する。特定後、コントローラ１１０は、テープドライブ１２０に、磁気ヘッドをデータブロックＹ１の位置へ移動するように指示する。指示後、コントローラ１１０は、Ｒｅａｄコマンドをテープドライブ１２０に発行する。
【００７５】
テープドライブ１２０は、コントローラ１１０からＲｅａｄコマンドを受信すると、分割領域１３６ａ１からデータブロックＹ１を先頭として順方向にデータを読み出す。ＷＲＡＰマーク１３７ａが読み出されると、コントローラ１１０は、次のＷＲＡＰ１３６ｂのどの分割領域にデータが記録されているかを判定する。ＷＲＡＰ１３６ｂのどの分割領域にデータが記録されているかを示す情報は、カートリッジメモリ１３０ａに記録されている。コントローラ１１０は、ＷＲＡＰ１３６ｂの分割領域１３６ｂ２にデータが記録されていると判定すると、分割領域１３６ｂ２のＷＲＡＰマーク１３７ｂの位置に磁気ヘッドを移動させるように、テープドライブ１２０に指示する。
【００７６】
テープドライブ１２０は、磁気ヘッドをＷＲＡＰマーク１３７ｂの位置に移動させ、ＷＲＡＰマーク１３７ｂの位置からＷＲＡＰマーク１３７ｃの位置まで逆方向にデータを読み出す。ＷＲＡＰマーク１３７ｄが読み出されると、コントローラ１１０は、次のＷＲＡＰ１３６ｃの分割領域１３６ｃ１にデータが記録されていると判定する。そして、コントローラ１１０は、分割領域１３６ｃ１のＷＲＡＰマーク１３７ｄの位置に磁気ヘッドを移動させるように、テープドライブ１２０に指示する。テープドライブ１２０は、磁気ヘッドをＷＲＡＰマーク１３７ｄの位置に移動させる。そして、テープドライブ１２０は、ＷＲＡＰマーク１３７ｄの位置から順方向にデータを読み出す。
【００７７】
以上の図８，９の処理によれば、閾値を超える回数のリトライが発生した分割領域１３６ｂ１に格納されていたデータが、隣接する分割領域１３６ｂ２にコピーされる。分割領域１３６ｂ２は、データの読み書きが実行されていない領域である。そのため、テープドライブ１２０が分割領域１３６ｂ２からデータを読み出す場合、リトライが発生する可能性は低い。一方、分割領域１３６ｂ１からのデータ読み出しを継続した場合、リトライ数が今後も増加する可能性が高い。よって、分割領域１３６ｂ１からデータを読み出す場合と比べて、分割領域１３６ｂ２からデータを読み出す方が、データの読み出し時間が短くなる可能性が高い。
【００７８】
また、分割領域１３６ｂ１に格納されていたデータは、隣の分割領域１３６ｂ２にコピーされる。隣の分割領域１３６ｂ２にデータをコピーすることで、データを読み出す場合、磁気ヘッドを移動させる時間が短くて済む。よって、分割領域１３６ｂ２以外のＷＲＡＰ１３６ｂの分割領域にデータをコピーするよりも、分割領域１３６ｂ２にデータをコピーした方が、データを読み出す時間を短縮できる。
【００７９】
さらに、分割領域１３６ｂ１は劣化している可能性が高いので、分割領域１３６ｂ１に記録されたデータが失われる可能性がある。上記のように分割領域１３６ｂ１のデータを隣接領域にコピーすることで、データロストの可能性を低減できる。
【００８０】
次に、磁気テープにデータを追記する場合について、具体例を用いて説明する。
図１０は、データの追記処理の具体例を示す図である。ＷＲＡＰ１３６ｄ，１３６ｆは、順方向ＷＲＡＰである。ＷＲＡＰ１３６ｅは、逆方向ＷＲＡＰである。図１０の上部に示すように、ＷＲＡＰ１３６ｄの分割領域１３６ｄ１にデータが順方向に記録され、それに続けて、ＷＲＡＰ１３６ｅの分割領域１３６ｅ１にデータが逆方向に記録され、書き込みが終了されたものとする。さらにその後、分割領域１３６ｅ１でのリトライ数が閾値を超えて、分割領域１３６ｅ１のデータが隣接する分割領域１３６ｅ２にコピーされたものとする。また、分割領域１３６ｅ２の途中までしかデータが書き込まれておらず、分割領域１３６ｅのＢＯＴ側の端部と分割領域１３６ｅ内のＥＯＤとの間は離れている。
【００８１】
この状態で、ホスト装置２００から新たなデータの書き込みが要求されたとする。コントローラ１１０は、テープドライブ１２０に、磁気ヘッドをＥＯＤの位置に移動するように指示する。テープドライブ１２０は、磁気ヘッドを分割領域１３６ｅ内のＥＯＤの位置に移動させる。
【００８２】
テープドライブ１２０は、コントローラ１１０からの指示に応じて、ＥＯＤの位置からデータの書き込みを開始する。このとき、新たなデータによってＥＯＤは上書きされる。テープドライブ１２０は、分割領域１３６ｅのＢＯＴ側の端部までデータを書き込むと、コントローラ１１０からの指示に応じて、分割領域１３６ｅ２にＷＲＡＰマーク１３７ｅを書き込み、ＷＲＡＰ反転を行う。
【００８３】
このとき、次のＷＲＡＰ１３６ｆにおけるデータの書き込み領域は、未使用の分割領域１３６ｆ１ではなく、分割領域１３６ｅ２と同じ分割テープ領域に属する分割領域１３６ｆ２とされる。すなわち、テープドライブ１２０は、コントローラ１１０からの指示に応じて、分割領域１３６ｆ２にＷＲＡＰマーク１３７ｇを書き込む。そして、テープドライブ１２０は、ＷＲＡＰマーク１３７ｇの位置から順方向にデータの書き込みを行う。
【００８４】
このように、分割領域１３６ｅ２にデータが書き込まれた後、分割領域１３６ｅ２と同じ分割テープ領域に属する分割領域１３６ｆ２にデータが書き込まれる。このような書き込みが行われることにより、ＷＲＡＰ１３６ｅ，１３６ｆを跨いでデータを読み出す場合、ＷＲＡＰマーク１３７ｅの位置でＷＲＡＰ反転をするだけなので、磁気ヘッドを移動させる距離が短くて済む。よって、データの読み出し時間を短縮できる。
【００８５】
次に、コントローラ１１０について説明する。以下の説明では、図７に示した方法で書き込みが行われるものとする。
図１１は、コントローラの機能例を示す図である。コントローラ１１０は、記憶部１１１、マウント制御部１１２、Ｉ／Ｏ（In/Out）制御部１１３および監視部１１４を有する。
【００８６】
記憶部１１１は、例えば、ＲＡＭ１１０ｂまたはフラッシュメモリ１１０ｃに確保した記憶領域として実装される。記憶部１１１は、媒体仕様テーブル、媒体情報テーブルおよび書き込み管理テーブルを記憶する。
【００８７】
媒体仕様テーブルには、ＬＴＯの世代に対応するＷＲＡＰ数などの仕様情報が登録される。媒体情報テーブルには、テープカートリッジ１３０のシリアル番号、残容量、ＷＲＡＰ毎に書き込み済みのデータ容量など、マウントされたテープカートリッジ１３０に関する情報が登録される。書き込み管理テーブルには、データ書き込み動作を制御するための管理情報が登録される。
【００８８】
マウント制御部１１２、Ｉ／Ｏ制御部１１３および監視部１１４は、例えば、プロセッサ１１０ａが実行するプログラムのモジュールとして実装される。
マウント制御部１１２は、ホスト装置２００からマウント指示を受け付けると、テープドライブ１２０にテープカートリッジ１３０をマウントするように指示する。また、マウント制御部１１２は、テープカートリッジ１３０をマウントした際に、分割領域のＢＯＴ側の端部から標準反転位置までのデータ容量を示す標準ＷＲＡＰ容量を算出する。標準反転位置とは、順方向ＷＲＡＰにおける分割領域の途中においてＷＲＡＰ反転を行う標準位置であり、書き込み動作の開始前に決定される。標準反転位置は、図７の反転位置１３３ａに対応する。
【００８９】
マウント制御部１１２は、１つのＷＲＡＰを複数の領域に分割する。１つの分割領域の容量は、標準ＷＲＡＰ容量に余剰領域の容量を追加した容量である。
マウント制御部１１２は、ホスト装置２００からアンマウント指示を受け付けると、コピー対象のＷＲＡＰを特定する。マウント制御部１１２は、特定したＷＲＡＰに書き込まれているデータを、当該データが書き込まれている分割領域に隣接する分割領域にコピーするように、テープドライブ１２０に指示する。テープドライブ１２０によるコピーが完了すると、マウント制御部１１２は、テープドライブ１２０にテープカートリッジ１３０をアンマウントするように指示する。
【００９０】
Ｉ／Ｏ制御部１１３は、ホスト装置２００からＩ／Ｏ指示を受け付けると、マウントされたテープカートリッジ１３０内の磁気テープに対する、Ｉ／Ｏ指示に応じたＩ／Ｏ動作を行うように、テープカートリッジ１３０に指示する。ホスト装置２００からのＩ／Ｏ指示には、書き込み指示と読み出し指示がある。書き込み指示には、ラベルの書き込み指示、マーカの書き込み指示、データブロックの書き込み指示などがある。
【００９１】
また、Ｉ／Ｏ制御部１１３の書き込み制御モードには、通常制御モードと高速制御モードとがある。通常制御モードとは、ＢＯＴからＥＯＴまでの全体にデータを書き込むモードである。高速制御モードは、各ＷＲＡＰにおいて、複数の分割領域のうちの１つだけを用いて読み書きが行われるモードである。高速制御モードは、読み出し時に磁気ヘッドの位置付けにかかる時間を低減して、読み出し性能を向上させる制御モードである。
【００９２】
３６トラックモードでの書き込みでは、高速制御モードが選択される。Ｉ／Ｏ制御部１１３は、高速制御モードでの順方向ＷＲＡＰでの書き込みでは、基本的に、分割領域内の標準反転位置で書き込み方向を反転するようにテープカートリッジ１３０を制御する。ただし、Ｉ／Ｏ制御部１１３は、ファイルの書き込み途中で標準反転位置に達した場合には、そのファイルに対応するファイル領域の終端まで順方向の書き込みを続行した後、書き込み方向を反転するようにテープカートリッジ１３０を制御する。
【００９３】
Ｉ／Ｏ制御部１１３は、アンマウント後に、テープドライブ１２０がテープカートリッジ１３０を再マウントすると、媒体情報テーブルを用いて、データの読み出し処理またはデータの書き込み処理を行う。
【００９４】
監視部１１４は、テープカートリッジ１３０のカートリッジメモリ１３０ａから、ＷＲＡＰごとのリトライ数を取得する。例えば、監視部１１４は、リトライ数をカートリッジメモリ１３０ａから定期的に取得する。監視部１１４は、ＷＲＡＰでのリトライの発生回数が閾値を超えるか否かを判定する。リトライ数が閾値以上の場合、監視部１１４は、当該ＷＲＡＰをコピー対象に予約する。
【００９５】
図１２は、媒体仕様テーブルの例を示す図である。媒体仕様テーブル１１１ａは、記憶部１１１に格納される。媒体仕様テーブル１１１ａは、世代、データ容量、トラック数およびデータバンドあたりのＷＲＡＰ数の項目を含む。世代の項目には、ＬＴＯの世代が登録される。データ容量の項目には、磁気テープに記録可能なデータ量が登録される。トラック数の項目には、磁気テープ全体でのトラック数が登録される。データバンドあたりのＷＲＡＰ数の項目には、１つのデータバンドに含まれるＷＲＡＰ数が登録される。
【００９６】
例えば、媒体仕様テーブル１１１ａには、世代が“ＬＴＯ１”、データ容量が“１００ＧＢ”、トラック数が“３８４”およびデータバンドあたりのＷＲＡＰ数が“１２”という情報が登録される。これは、ＬＴＯ１（ＬＴＯ  Ｕｌｔｒｉｕｍ１）の場合、磁気テープに記録可能なデータ量が“１００ＧＢ”であり、トラック数が“３８４”本で、データバンドあたりのＷＲＡＰ数が“１２”本であることを示す。
【００９７】
図１３は、媒体情報テーブルの例を示す図である。媒体情報テーブル１１１ｂは、記憶部１１１に格納される。媒体情報テーブル１１１ｂは、世代、シリアル番号、テープ残容量および高速制御フラグの項目を含む。
【００９８】
世代の項目には、ＬＴＯの世代が登録される。シリアル番号の項目には、テープカートリッジ１３０のシリアル番号が登録される。テープ残容量の項目には、磁気テープの残容量が登録される。
【００９９】
高速制御フラグの項目には、高速制御モードに設定するか否かを示す情報が登録される。高速制御フラグの項目には、高速制御モードに設定することを示す“ｔｒｕｅ”、または高速制御フラグに設定しないことを示す“ｆａｌｓｅ”のいずれかが登録される。また、テープカートリッジ１３０が未使用の場合、高速制御フラグの項目には、“ｆａｌｓｅ”または、“−（ハイフン）”のいずれかが登録される。
【０１００】
また、媒体情報テーブル１１１ｂにはさらに、ＷＲＡＰ情報が含まれる。ＷＲＡＰ情報は、対応するテープカートリッジ１３０内の磁気テープのＷＲＡＰごとに設けられる。各ＷＲＡＰ情報には、ＷＲＡＰ  ＩＤ（identifier）、開始セクタ番号、先頭ブロックＩＤ、最終ブロックＩＤおよび書き込み容量の項目を含む。
【０１０１】
ＷＲＡＰ  ＩＤの項目には、ＷＲＡＰを識別する情報が登録される。開始セクタ番号の項目には、データの読み込みを開始する位置を示すセクタ番号が登録される。先頭ブロックＩＤの項目には、ＷＲＡＰ内の有効な分割領域に書き込まれているデータブロックのうち、先頭のデータブロックを示す情報が登録される。最終ブロックＩＤの項目には、ＷＲＡＰ内の有効な分割領域に書き込まれているデータブロックのうち、最終のデータブロックを示す情報が登録される。書き込み容量の項目には、ＷＲＡＰ内の有効な分割領域に書き込み済みのデータ容量が登録される。
【０１０２】
ここで、有効な分割領域とは、読み書きの対象とされている分割領域である。例えば、ＷＲＡＰ上である分割領域から別の分割領域へのコピーが実行された場合、最後に実行されたコピーでのコピー先の分割領域が、有効な分割領域となる。また、有効な分割領域におけるデータ記録済み領域の先頭位置が、開始セクタ番号の項目に登録される。
【０１０３】
なお、媒体情報テーブル１１１ｂと同じデータ構造の情報は、テープカートリッジ１３０のカートリッジメモリ１３０ａにも記録される。カートリッジメモリ１３０ａがテープドライブ１２０にマウントされると、コントローラ１１０は、カートリッジメモリ１３０ａに記録された情報を読み込み、媒体情報テーブル１１１ｂとして記憶部１１１に記録する。また、コントローラ１１０は、媒体情報テーブル１１１ｂにおける情報の更新を、カートリッジメモリ１３０ａ内の対応する情報にも反映させる。また、テープドライブ１２０は、テープカートリッジ１３０をアンマウントする際に、カートリッジメモリ１３０ａ内のテープ残容量の項目を自分自身で更新する。
【０１０４】
図１４は、書き込み管理テーブルの例を示す図である。書き込み管理テーブル１１１ｃは、記憶部１１１に格納される。書き込み管理テーブル１１１ｃは、標準ＷＲＡＰ容量、方向フラグ、書き込み先ＷＲＡＰ  ＩＤおよび分割領域の容量の各項目を含む。
【０１０５】
標準ＷＲＡＰ容量は、分割領域のＢＯＴ側の端部から標準反転位置までのＷＲＡＰ上のデータ容量を示す。標準ＷＲＡＰ容量は、例えば、３６トラックモードで書き込み可能な最大の容量とＷＲＡＰ数との関係から求められる。図７の例では、標準反転位置は反転位置１３３ａに対応し、標準ＷＲＡＰ容量はＢＯＴから反転位置１３３ａまでのＷＲＡＰ１３４ａにおけるデータ容量に対応する。方向フラグは、現在の書き込み方向を示すフラグ情報である。書き込み先ＷＲＡＰ  ＩＤは、現在の書き込み先のＷＲＡＰを識別する識別情報である。分割領域の容量は、標準ＷＲＡＰ容量に余剰領域の容量を追加した容量である。
【０１０６】
図１５は、リトライ数テーブルの例を示す図である。リトライ数テーブル１３０ａ１は、ＷＲＡＰごとに作成されて、カートリッジメモリ１３０ａに格納される。リトライ数テーブル１３０ａ１は、ＷＲＡＰ  ＩＤ、読み出し時のリトライ数、書き込み時のリトライ数およびコピーフラグの各項目を含む。ＷＲＡＰ  ＩＤの項目には、ＷＲＡＰを識別する情報が登録される。読み出し時のリトライ数の項目には、テープドライブ１２０が該当ＷＲＡＰでの読み出し時にリトライした回数が登録される。書き込み時のリトライ数の項目には、テープドライブ１２０が該当ＷＲＡＰでの書き込み時にリトライした回数が登録される。コピーフラグの項目には、コピーを実行するか否かを示す情報が登録される。コピーフラグの項目には、コピーを実行する（すなわち、コピー対象として予約されている）ことを示す“ｔｒｕｅ”、またはコピーを実行しないことを示す“ｆａｌｓｅ”のいずれかが登録される。
【０１０７】
なお、データの読み出しまたはデータの書き込みでリトライが実行されると、テープドライブ１２０は、リトライ数テーブル１３０ａ１内の該当するリトライ数をインクリメントする。コントローラ１１０は、リトライ数テーブル１３０ａ１に記録された情報を例えば定期的に読み込み、リトライ数が閾値を超えたＷＲＡＰがあるかを判定する。
【０１０８】
図１６は、マウント時の処理例を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。図１６の処理は、ホスト装置２００からマウント指示をマウント制御部１１２が受け付けることにより始まる。また、マウント制御部１１２は、ホスト装置２００から書き込みモードの指定を受け付ける。
【０１０９】
（Ｓ１１）マウント制御部１１２は、テープドライブ１２０にテープカートリッジ１３０をマウントするように指示する。これにより、テープドライブ１２０は、テープカートリッジ１３０をマウントする。
【０１１０】
（Ｓ１２）マウント制御部１１２は、ホスト装置２００から３６トラックモードの書き込み指示を受けているか否かを判定する。３６トラックモードの指示を受けている場合、処理をステップＳ１３に進める。３６トラックモードの指示を受けていない場合、処理をステップＳ２１に進める。
【０１１１】
（Ｓ１３）マウント制御部１１２は、テープドライブ１２０にカートリッジメモリ１３０ａに記録されている情報を取得するように指示する。取得する情報は、世代、シリアル番号、テープ残容量、高速制御フラグ、ＷＲＡＰ  ＩＤおよびＷＲＡＰごとの書き込み容量である。マウント制御部１１２は、取得した情報を媒体情報テーブル１１１ｂに登録する。
【０１１２】
（Ｓ１４）マウント制御部１１２は、媒体情報テーブル１１１ｂの高速制御フラグを参照し、高速制御フラグが“ｔｒｕｅ”であるか否かを判定する。“ｔｒｕｅ”の場合、処理をステップＳ１７に進める。“ｆａｌｓｅ”の場合、処理をステップＳ１５に進める。
【０１１３】
（Ｓ１５）マウント制御部１１２は、テープカートリッジ１３０が未使用であるか否かを判定する。具体的には、マウント制御部１１２は、媒体情報テーブル１１１ｂの世代に対応するデータ容量を媒体仕様テーブル１１１ａから特定する。マウント制御部１１２は、特定したデータ容量が、媒体情報テーブル１１１ｂのテープ残容量と一致する場合に、未使用と判定する。未使用の場合、処理をステップＳ１６に進める。未使用でない場合、処理をステップＳ２１に進める。
【０１１４】
（Ｓ１６）マウント制御部１１２は、媒体情報テーブル１１１ｂの高速制御フラグに“ｔｒｕｅ”を登録する。
（Ｓ１７）マウント制御部１１２は、媒体情報テーブル１１１ｂの高速制御フラグが“ｔｒｕｅ”であるため、高速制御モードで書き込みを実行することを決定する。
【０１１５】
（Ｓ１８）マウント制御部１１２は、標準ＷＲＡＰ容量を算出する。マウント制御部１１２は、算出した標準ＷＲＡＰ容量を、書き込み管理テーブル１１１ｃの標準ＷＲＡＰ容量の項目に登録する。
【０１１６】
標準ＷＲＡＰ容量は、次のような方法によって算出される。例えば、データブロックのサイズを３２ＫＢとした場合、３６トラックモードで書き込める最大容量は、１２８ＧＢ（３２ＫＢ×４００万データブロック）である。標準ＷＲＡＰ容量は、“１２８ＧＢ／総ＷＲＡＰ数”という式により算出される。総ＷＲＡＰ数は、“データバンドあたりのＷＲＡＰ数×データバンドの数”という式により算出される。ここで、データバンドあたりのＷＲＡＰ数およびデータバンドの数は、媒体仕様テーブル１１１ａのレコードのうち、媒体情報テーブル１１１ｂの世代に対応するレコードの情報に基づいて得られる。例えば、世代がＬＴＯ４の場合、標準ＷＲＡＰ容量は、“１２８ＧＢ／（１４×４）”（約２．３ＧＢ）となる。
【０１１７】
標準ＷＲＡＰ容量は、分割領域のＢＯＴ側の端部から標準反転位置までの順方向ＷＲＡＰ上の容量を示す。したがって、上記の計算により、マウントされたテープカートリッジ１３０の世代にあった標準反転位置を算出することができる。算出された標準反転位置は、３６トラックモードで書き込み可能な最大容量のデータを高速制御モードで磁気テープに書き込んだ際に、ＢＯＴに最も近い反転位置を示す。このような標準反転位置を、順方向ＷＲＡＰの分割領域への書き込み時にＷＲＡＰ反転すべきかを判定するための基準位置（図７の反転位置１３３ａに対応）として使用することで、ＷＲＡＰ反転の位置を可能な限りＢＯＴに近づけることができる。その結果、書き込まれたデータの読み出し時間を短縮することができる。
【０１１８】
なお、標準ＷＲＡＰ容量は、３６トラックモードで書き込み可能な最大容量と、磁気テープの仕様とから決まる。このため、例えば、標準ＷＲＡＰ容量は、磁気テープの世代ごとに媒体仕様テーブル１１１ａにあらかじめ登録されていてもよい。この場合、ステップＳ１８では、マウント制御部１１２は、上記のような計算を行わずに、媒体仕様テーブル１１１ａから、マウントされた磁気テープの世代に対応する標準ＷＲＡＰ容量を取得することができる。
【０１１９】
（Ｓ１９）マウント制御部１１２は、ＷＲＡＰ毎に、１つのＷＲＡＰを複数の分割領域に分割する。
分割領域の容量は次のような方法によって算出される。例えば、世代がＬＴＯ４の場合、初めに、マウント制御部１１２は、標準ＷＲＡＰ容量に余剰領域の容量を追加する。余剰領域は、例えば、標準ＷＲＡＰ容量の約３０％である。余剰領域を追加するのは、例えば、図７で示したように反転位置１３３ａを超えて終端位置１３３ｂまでデータが書き込まれる可能性があるからである。標準ＷＲＡＰ容量を有する領域に余剰領域を追加した領域が、１つの分割領域になる。１つの分割領域の容量は、標準ＷＲＡＰ容量（２．３ＧＢ）に余剰領域（約０．７ＧＢ）を加えた容量（３ＧＢ）である。マウント制御部１１２は、分割領域の容量を、書き込み管理テーブル１１１ｃの分割領域の容量の項目に登録する。
【０１２０】
次に、マウント制御部１１２は、ＷＲＡＰ単位の容量を算出する。ＷＲＡＰ単位の容量は、“８００ＧＢ／（１４×４）”（約１４．３ＧＢ）となる。この後、マウント制御部１１２は、ＷＲＡＰをＢＯＴ側から４つ（１４．３ＧＢ／３ＧＢ）の分割領域に分割する。
【０１２１】
（Ｓ２０）マウント制御部１１２は、１つの分割領域のセクタ数を算出する。例えば、１つのセクタの容量をＳＥとした場合、１つの分割領域のセクタ数は、“３ＧＢ／ＳＥ”となる。これにより、各分割領域が、セクタ番号で対応付けられる。そして、処理を終了する。
【０１２２】
（Ｓ２１）マウント制御部１１２は、媒体情報テーブル１１１ｂの高速制御フラグが“ｆａｌｓｅ”であるため、通常制御モードで書き込みを実行することを決定する。そして、処理を終了する。
【０１２３】
次に、図１７，１８では、書き込み時の処理例を説明する。また、図１７，１８の処理は、ホスト装置２００から書き込み指示を受信するたびに実行される。書き込み指示には、ラベルの書き込み指示、マーカの書き込み指示、ファイルが分割されたデータブロックの書き込み指示などがある。
【０１２４】
図１７は、書き込み時の処理例（その１）を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
（Ｓ３１）Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂの高速制御フラグを参照し、通常制御モードで書き込みを実行するか否かを判定する。高速制御フラグが“ｆａｌｓｅ”の場合、通常制御モードで実行すると判定される。通常制御モードで実行する場合、処理をステップＳ３２に進める。高速制御モードで実行する場合、処理をステップＳ３５に進める。
【０１２５】
（Ｓ３２）Ｉ／Ｏ制御部１１３は、テープカートリッジ１３０が使用済み媒体であるが、書き込み済みのデータを破棄して新規の書き込みを行うか否かを判定する。例えば、Ｉ／Ｏ制御部１１３は、図１６の処理の終了後から図１７の処理の直前で磁気テープが完全に巻き戻された場合に、新規書き込みを行うと判定して、処理をステップＳ３３に進める。図１７の処理の直前で巻き戻しが行われていない場合、処理をステップＳ３５に進める。なお、例えば、巻き戻しが行われた際に記憶部１１１内の所定のフラグを“１”に設定し、ステップＳ３２ではこのフラグに基づいて巻き戻しが行われたかが判定されてもよい。
【０１２６】
（Ｓ３３）Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂの高速制御フラグに“ｔｒｕｅ”を登録し、高速制御モードで書き込みを実行することを決定する。また、Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂの全ＷＲＡＰ情報における書き込み容量を“０”に設定し、全ＷＲＡＰ情報をリセットする。
【０１２７】
（Ｓ３４）Ｉ／Ｏ制御部１１３は、標準ＷＲＡＰ容量を算出し、書き込み管理テーブル１１１ｃに登録する。算出方法は、ステップＳ１８と同じである。
また、Ｉ／Ｏ制御部１１３は、分割領域の容量を算出し、書き込み管理テーブル１１１ｃに登録する。算出方法は、ステップＳ１９と同じである。
【０１２８】
（Ｓ３５）Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂの高速制御フラグを参照し、高速制御モードで書き込みを実行するかを判定する。高速制御モードで実行する場合、処理をステップＳ３６に進める。通常制御モードで実行する場合、処理をステップＳ４１に進める。
【０１２９】
（Ｓ３６）Ｉ／Ｏ制御部１１３は、ホスト装置２００から書き込みが指示されているデータ（ラベル、マーカ、データブロックのいずれか）を書き込み可能か否かを判定する。具体的には、Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂの全ＷＲＡＰ情報を参照し、各ＷＲＡＰの書き込み容量を全て加算した総容量を算出する。Ｉ／Ｏ制御部１１３は、３６トラックモードで書き込み可能な最大容量である１２８ＧＢから当該総容量を減算した容量よりも、ホスト装置２００から書き込みが指示されているデータの容量の方が小さいか否かを判定する。当該データの容量の方が小さい場合、処理をステップＳ３７に進める。当該データの容量の方が大きい場合、書き込み済みのデータ量がすでに限度に達している。そのため、Ｉ／Ｏ制御部１１３は、当該データをテープカートリッジ１３０に書き込めない旨の通知をホスト装置２００に送信する。そして、処理を終了する。
【０１３０】
（Ｓ３７）Ｉ／Ｏ制御部１１３は、テープカートリッジ１３０をマウントした後の最初の書き込みか否かを判定する。最初の書き込みの場合、処理をステップＳ３８に進める。最初の書き込みでない場合、処理をステップＳ４１に進める。
【０１３１】
（Ｓ３８）Ｉ／Ｏ制御部１１３は、書き込み方向が順方向か否かを判定する。具体的には、Ｉ／Ｏ制御部１１３は、次の式（１）の計算を行う。
媒体情報テーブル１１１ｂのテープ残容量／ＷＲＡＰの容量・・・（１）
式（１）のＷＲＡＰの容量は、媒体仕様テーブル１１１ａのレコードのうち、媒体情報テーブル１１１ｂの世代に対応するレコードの情報に基づいて、“データ容量／（データバンド数×データバンドあたりのＷＲＡＰ数）”という式によって算出される。
【０１３２】
式（１）の商は、データがまったく書き込まれていない残りＷＲＡＰ数を示す。残りＷＲＡＰ数が奇数の場合、現在の書き込み方向は順方向であり、残りＷＲＡＰ数が偶数の場合、現在の書き込み方向は逆方向と判定される。
【０１３３】
Ｉ／Ｏ制御部１１３は、書き込み管理テーブル１１１ｃの方向フラグに、書き込み方向の判定結果に応じた値を設定する。例えば、Ｉ／Ｏ制御部１１３は、書き込み方向が順方向の場合、方向フラグを「０」に設定し、書き込み方向が逆方向の場合、方向フラグを「１」に設定する。
【０１３４】
（Ｓ３９）Ｉ／Ｏ制御部１１３は、現在の書き込み先のＷＲＡＰを判定する。上記の式（１）の商をＱとすると、最後から（Ｑ＋１）番目のＷＲＡＰが現在の書き込み先のＷＲＡＰと判定される。Ｉ／Ｏ制御部１１３は、判定された現在の書き込み先のＷＲＡＰを示すＩＤを、書き込み管理テーブル１１１ｃの書き込み先ＷＲＡＰ  ＩＤの項目に登録する。この後、処理をステップＳ４１に進める。
【０１３５】
図１８は、書き込み時の処理例（その２）を示すフローチャートである。以下、図１８に示す処理をステップ番号に沿って説明する。
（Ｓ４１）Ｉ／Ｏ制御部１１３は、ホスト装置２００から指示されたデータの書き込みを指示するためのＷｒｉｔｅコマンドをテープドライブ１２０に発行する。テープドライブ１２０は、ホストから書き込みが指示されたラベル、マーカ、データブロックのいずれかをテープカートリッジ１３０の磁気テープに書き込む。テープドライブ１２０は、現在の書き込み方向が順方向であれば、指示されたデータを順方向に書き込み、現在の書き込み方向が逆方向であれば、指示されたデータを逆方向に書き込む。
【０１３６】
なお、テープドライブ１２０は、指示されたデータの書き込みが完了した位置がＢＯＴまたはＥＯＴまで所定容量の位置である場合には、当該位置にＷＲＡＰマークを記録してＷＲＡＰ反転を行う。テープドライブ１２０は、次のＷＲＡＰの同じ位置にもＷＲＡＰマークを記録し、次のＷｒｉｔｅコマンドを待つ。
【０１３７】
（Ｓ４２）Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂにおける現在の書き込み先ＷＲＡＰに対応するＷＲＡＰ情報を特定する。Ｉ／Ｏ制御部１１３は、特定したＷＲＡＰ情報の分割領域の書き込み容量に、ステップＳ４１のコマンド発行によって磁気テープに書き込まれた書き込みデータ量（ラベル、マーカ、データブロックのいずれかの容量）を加算し、ＷＲＡＰ情報の書き込み容量を更新する。
【０１３８】
また、Ｉ／Ｏ制御部１１３は、ステップＳ４１でデータブロックの書き込みが指示された場合、媒体情報テーブル１１１ｂにおける現在の書き込み先ＷＲＡＰに対応するＷＲＡＰ情報の最終ブロックＩＤとして、書き込みが指示されたブロックのＩＤを登録する。さらに、Ｉ／Ｏ制御部１１３は、ステップＳ４１でデータブロックの書き込みが指示され、かつ、媒体情報テーブル１１１ｂにおける現在の書き込み先ＷＲＡＰに対応するＷＲＡＰ情報の先頭ブロックＩＤが登録されていない場合は、書き込みが指示されたブロックのＩＤを先頭ブロックＩＤとして登録する。
【０１３９】
（Ｓ４３）Ｉ／Ｏ制御部１１３は、ステップＳ４１でのコマンド発行によってテープドライブ１２０でＷＲＡＰ反転が発生したか否かを判定する。
具体的には、書き込み管理テーブル１１１ｃの方向フラグが逆方向を示す場合、Ｉ／Ｏ制御部１１３は、ステップＳ４２で更新した分割領域の書き込み容量と、１つ前のＷＲＡＰに対応するＷＲＡＰ情報に登録された分割領域の書き込み容量との差分を算出する。Ｉ／Ｏ制御部１１３は、算出された差分が、ＢＯＴに近づいたかを判定するための所定の閾値以下の場合に、ＷＲＡＰ反転が発生したと判定する。
【０１４０】
ＷＲＡＰ反転が発生した場合、処理をステップＳ４４に進める。ＷＲＡＰ反転が発生していない場合、処理をステップＳ４５に進める。
（Ｓ４４）Ｉ／Ｏ制御部１１３は、書き込み管理テーブル１１１ｃの方向フラグを他方の値に更新する。また、Ｉ／Ｏ制御部１１３は、書き込み管理テーブル１１１ｃの書き込み先ＷＲＡＰ  ＩＤを、次のＷＲＡＰのＩＤに更新する。
【０１４１】
（Ｓ４５）Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂの高速制御フラグを参照し、高速制御モードか否かを判定する。高速制御モードの場合、処理をステップＳ４６に進める。通常制御モードの場合、処理を終了する。
【０１４２】
（Ｓ４６）Ｉ／Ｏ制御部１１３は、分割領域の末尾に近づいたか否かを判定する。書き込み方向が順方向の場合、Ｉ／Ｏ制御部１１３は、ステップＳ４２で更新した分割領域の書き込み容量と、書き込み管理テーブル１１１ｃの分割領域の容量との差分を算出する。Ｉ／Ｏ制御部１１３は、算出された差分がＷＲＡＰマーク１つの容量に対応する所定量以下の場合に、分割領域の末尾に近づいたと判定する。また、書き込み方向が逆方向の場合、Ｉ／Ｏ制御部１１３は、ステップＳ４３で算出した差分がＷＲＡＰマーク１つの容量に対応する所定量以下の場合に、分割領域の末尾に近づいたと判定する。
【０１４３】
分割領域の末尾まで書き込みされた場合、処理をステップＳ５０に進める。分割領域の末尾まで書き込みされていない場合、処理をステップＳ４７に進める。
なお、現在の書き込み方向が逆方向であり、かつ、ＢＯＴに最も近い分割領域への書き込み中である場合には、ステップＳ４６からは無条件にステップＳ４７に進められる。
【０１４４】
（Ｓ４７）Ｉ／Ｏ制御部１１３は、ファイルの領域の終端か否かを判定する。具体的には、Ｉ／Ｏ制御部１１３は、ステップＳ４１で発行したＷｒｉｔｅコマンドがＴＭ３の書き込みを指示するものであったか否かを判定する。ＴＭ３の書き込み指示であった場合、ファイルの領域の終端であると判定される。ファイルの領域の終端の場合、処理をステップＳ４８に進める。ファイルの領域の終端でない場合、処理を終了する。
【０１４５】
（Ｓ４８）Ｉ／Ｏ制御部１１３は、書き込み管理テーブル１１１ｃの方向フラグに基づいて、現在の書き込み方向を判定する。書き込み方向が順方向の場合、処理をステップＳ４９に進める。書き込み方向が逆方向の場合、処理を終了する。
【０１４６】
（Ｓ４９）Ｉ／Ｏ制御部１１３は、書き込み位置が標準反転位置に達したか否かを判定する。具体的には、Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂのＷＲＡＰ情報の中から、書き込み管理テーブル１１１ｃの書き込み先ＷＲＡＰ  ＩＤに対応するＷＲＡＰ情報を特定する。Ｉ／Ｏ制御部１１３は、書き込み管理テーブル１１１ｃの標準ＷＲＡＰ容量から、特定したＷＲＡＰ情報の書き込み容量を減算する。減算結果が０の場合は、標準反転位置までデータが書き込まれていることを示す。減算結果がマイナスの場合は、標準反転位置を超えてデータが書き込まれていることを示す。これらのケースでは、書き込み位置が標準反転位置に達したと判定して、処理をステップＳ５０に進める。一方、減算結果が０より大きい場合、書き込み位置が標準反転位置まで達していないと判定して、処理を終了する。
【０１４７】
（Ｓ５０）Ｉ／Ｏ制御部１１３は、ＷＲＡＰマークの書き込みを指示するＷｒｉｔｅコマンドをテープドライブ１２０に発行する。Ｗｒｉｔｅコマンドを受信したテープドライブ１２０は、現在書き込み中のＷＲＡＰが順方向ＷＲＡＰの場合、順方向ＷＲＡＰにＷＲＡＰマークを書き込み、書き込み方向を反転して、次の逆方向ＷＲＡＰにもＷＲＡＰマークを書き込む。また、テープドライブ１２０は、現在書き込み中のＷＲＡＰが逆方向ＷＲＡＰの場合、逆方向ＷＲＡＰにＷＲＡＰマークを書き込み、書き込み方向を反転して、次の順方向ＷＲＡＰにもＷＲＡＰマークを書き込む。いずれの場合でも、次のＷＲＡＰの分割領域のうち、現在書き込み中の分割領域と同じ分割テープ領域に属する分割領域に対して、ＷＲＡＰマークが書き込まれる。
【０１４８】
（Ｓ５１）Ｉ／Ｏ制御部１１３は、書き込み管理テーブル１１１ｃの方向フラグを更新する。また、Ｉ／Ｏ制御部１１３は、書き込み管理テーブル１１１ｃの書き込み先ＷＲＡＰ  ＩＤを、次のＷＲＡＰのＩＤに更新する。
【０１４９】
また、Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂに次のＷＲＡＰの開始セクタ番号を登録する。例えば、次のＷＲＡＰの開始セクタ番号は、ステップＳ５０で次のＷＲＡＰに書き込んだＷＲＡＰマークの位置である。そして、処理を終了する。
【０１５０】
なお、高速制御モードでデータを記録済みのテープカートリッジ１３０がマウントされ、マウント直後にデータが追記される場合には、次のような処理が実行される。まず、テープカートリッジ１３０がマウントされると、マウント制御部１１２は、テープカートリッジ１３０のカートリッジメモリ１３０ａから情報を読み出す。マウント制御部１１２は、読み出した情報に基づいて媒体情報テーブル１１１ｂを作成し、記憶部１１１に登録する。さらに、マウント制御部１１２は、図１６のステップＳ１８、Ｓ１９の手順で、書き込み管理テーブル１１１ｃの項目のうち、標準ＷＲＡＰ容量および分割領域の容量を登録する。また、マウント制御部１１２は、図１６のステップＳ２０の手順で分割領域のセクタ数を算出する。
【０１５１】
次に、Ｉ／Ｏ制御部１１３は、ホスト装置２００から追記の指示を受けると、媒体情報テーブル１１１ｂのＷＲＡＰ情報に基づいて、追記の開始位置を特定する。Ｉ／Ｏ制御部１１３は、テープドライブ１２０にＬｏｃａｔｅコマンドを発行して、磁気ヘッドを追記の開始位置、すなわちＥＯＤの位置に移動させる。これとともに、Ｉ／Ｏ制御部１１３は、書き込み管理テーブル１１１ｃに方向フラグと書き込み先ＷＲＡＰ  ＩＤを登録する。そして、Ｉ／Ｏ制御部１１３は、図１８のステップＳ４１以降の処理を実行して、最初のＷｒｉｔｅコマンドを発行する。それ以後、追記が終了するまで図１７，１８の処理が繰り返される。
【０１５２】
次に、コピー判定処理について説明する。コピー判定処理は、図１７，１８の書き込み処理や、図２１，２２に示す読み出し処理と並行して実行される。
図１９は、コピー判定処理の例を示すフローチャートである。図１９の処理は、例えば、一定時間間隔で実行される。また、テープドライブ１２０は、リトライが発生した数をカートリッジメモリ１３０ａに記録する。以下、図１９に示す処理をステップ番号に沿って説明する。
【０１５３】
（Ｓ６１）監視部１１４は、テープドライブ１２０に、カートリッジメモリ１３０ａに記録されているリトライ数テーブル１３０ａ１の情報を取得するように指示する。取得する情報は、ＷＲＡＰ  ＩＤ、読み出し時のリトライ数および書き込み時のリトライ数である。監視部１１４は、これらの情報をテープドライブ１２０から取得する。
【０１５４】
（Ｓ６２）監視部１１４は、取得した情報に基づいて、読み出し時のリトライ数と書き込み時のリトライ数のいずれかが閾値を超えたＷＲＡＰがあるか否かを判定する。このようなＷＲＡＰが１つ以上存在する場合、処理をステップＳ６３に進める。このようなＷＲＡＰが存在しない場合、処理を終了する。
【０１５５】
なお、読み出し時のリトライ数と書き込み時のリトライ数のいずれかが閾値を超えたＷＲＡＰが複数存在する場合、ステップＳ６３以降の処理はこれらのＷＲＡＰごとに実行される。
【０１５６】
また、ステップＳ６２では、監視部１１４は、読み出し時のリトライ数と書き込み時のリトライ数との合算値を閾値と比較してもよい。
（Ｓ６３）監視部１１４は、３６トラックモードであるか否かを判定する。３６トラックモードの場合、処理をステップＳ６４に進める。３６トラックモードでない場合、処理を終了する。
【０１５７】
（Ｓ６４）監視部１１４は、媒体情報テーブル１１１ｂを参照し、高速制御フラグがｔｒｕｅであるか否かを判定する。ｔｒｕｅの場合、処理をステップＳ６５に進める。ｆａｌｓｅの場合、処理を終了する。
【０１５８】
（Ｓ６５）監視部１１４は、ステップＳ６２の条件に合致するＷＲＡＰ（対象ＷＲＡＰ）に対応するリトライ数テーブル１３０ａ１のコピーフラグにｔｒｕｅを設定するように、テープドライブ１２０に指示する。これによって、リトライ数テーブル１３０ａ１のコピーフラグが更新される。
【０１５９】
このように、リトライ数が閾値を超えた場合、リトライが発生している分割領域の品質が低下していると判断できる。そして、品質が低下している分割領域を有するＷＲＡＰがコピー対象に予約される。
【０１６０】
次に、アンマウント処理について説明する。アンマウント処理は、ホスト装置２００からアンマウント指示をコントローラ１１０が受信することで開始される。
図２０は、アンマウント処理の例を示すフローチャートである。以下、図２０に示す処理をステップ番号に沿って説明する。
【０１６１】
（Ｓ７１）マウント制御部１１２は、３６トラックモードであるか否かを判定する。３６トラックモードの場合、処理をステップＳ７２に進める。３６トラックモードでない場合、処理をステップＳ７９に進める。
【０１６２】
（Ｓ７２）マウント制御部１１２は、媒体情報テーブル１１１ｂを参照し、高速制御フラグがｔｒｕｅであるか否かを判定する。ｔｒｕｅの場合、処理をステップＳ７３に進める。ｆａｌｓｅの場合、処理をステップＳ７９に進める。
【０１６３】
（Ｓ７３）マウント制御部１１２は、テープドライブ１２０に、カートリッジメモリ１３０ａに格納されているリトライ数テーブル１３０ａ１の情報を取得するように指示する。具体的には、各リトライ数テーブル１３０ａ１のＷＲＡＰ  ＩＤとコピーフラグとを取得するように指示される。マウント制御部１１２は、テープドライブ１２０から、各リトライ数テーブル１３０ａ１に登録されたＷＲＡＰ  ＩＤとコピーフラグとを取得する。
【０１６４】
マウント制御部１１２は、取得した情報に基づいて、コピーフラグがｔｒｕｅであるＷＲＡＰが存在するか否かを判定する。存在する場合、処理をステップＳ７４に進める。存在しない場合、処理をステップＳ７９に進める。
【０１６５】
（Ｓ７４）マウント制御部１１２は、コピーフラグがｔｒｕｅであるＷＲＡＰを１つ選択する。
（Ｓ７５）マウント制御部１１２は、媒体情報テーブル１１１ｂのＷＲＡＰ情報のうち、ステップＳ７４で選択したＷＲＡＰに対応するＷＲＡＰ情報を参照する。マウント制御部１１２は、ＷＲＡＰ情報に登録された開始セクタ番号と、分割領域の容量およびＷＲＡＰの容量とに基づいて、選択したＷＲＡＰで読み書きの対象となっている分割領域を特定する。マウント制御部１１２は、特定した分割領域に対してＥＯＴ側に隣接する分割領域があるか否かを判定する。隣接する分割領域がある場合、処理をステップＳ７６に進める。隣接する分割領域がない場合、処理をステップＳ７８に進める。
【０１６６】
（Ｓ７６）マウント制御部１１２は、特定した分割領域からデータを読み出すようにテープドライブ１２０に指示する。この指示では、特定した分割領域の先頭のセクタ番号から末端のセクタ番号までの読み出しが指示される。これにより、マウント制御部１１２は、特定した分割領域のデータイメージを取得する。
【０１６７】
次に、マウント制御部１１２は、取得したデータイメージを、隣接する分割領域に書き込むようにテープドライブ１２０に指示する。この指示では、隣接する分割領域の先頭のセクタ番号から末端のセクタ番号までの書き込みが指示される。これにより、特定した分割領域全体の内容が、隣接する分割領域にコピーされる。
【０１６８】
（Ｓ７７）マウント制御部１１２は、隣接する分割領域においてデータが記録された先頭位置のセクタ番号によって、媒体情報テーブル１１１ｂの該当ＷＲＡＰのＷＲＡＰ情報内の開始セクタ番号を更新する。この処理では、ＷＲＡＰ情報に登録されていた開始セクタ番号に、１つの分割領域の大きさを示すセクタ数が加算される。
【０１６９】
また、マウント制御部１１２は、カートリッジメモリ１３０ａのリトライ数テーブル１３０ａ１を更新するようにテープドライブ１２０に指示する。具体的には、該当ＷＲＡＰに対応するリトライ数テーブル１３０ａ１において、読み出し時および書き込み時の各リトライ数を０にリセットし、コピーフラグを０に更新するように指示される。テープドライブ１２０は、指示に応じて、該当ＷＲＡＰに対応するリトライ数テーブル１３０ａ１を更新する。
【０１７０】
（Ｓ７８）マウント制御部１１２は、コピーフラグがｔｒｕｅであるＷＲＡＰを全て選択したか否かを判定する。全て選択した場合、処理をステップＳ７９に進める。全て選択していない場合、処理をステップＳ７４に進める。
【０１７１】
（Ｓ７９）マウント制御部１１２は、テープドライブ１２０にアンマウントを指示する。そして、処理を終了する。これにより、テープカートリッジ１３０がアンマウントされる。
【０１７２】
このように、書き込み処理や読み出し処理が発生しないアンマウント時にコピー処理を実行することで、書き込み処理や読み出し処理の性能に影響を与えずにコピー処理を実行できる。
【０１７３】
次に、読み出し処理について説明する。
図２１は、読み出し処理の例を示すフローチャートである。以下、図２１に示す処理をステップ番号に沿って説明する。
【０１７４】
（Ｓ８１）Ｉ／Ｏ制御部１１３は、ホスト装置２００から読み出し要求を受信する。例えば、読み出しが要求される際には、まず、読み出し開始位置のデータブロックＩＤを指定したＬｏｃａｔｅコマンドが発行され、その後にＲｅａｄコマンドが発行される。この場合、ステップＳ８１では、Ｉ／Ｏ制御部１１３は、Ｌｏｃａｔｅコマンドを受信する。
【０１７５】
（Ｓ８２）Ｉ／Ｏ制御部１１３は、３６トラックモードであるか否かを判定する。３６トラックモードの場合、処理をステップＳ８３に進める。３６トラックモードでない場合、処理をステップＳ８６に進める。
【０１７６】
（Ｓ８３）Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂを参照し、高速制御フラグがｔｒｕｅであるか否かを判定する。ｔｒｕｅの場合、処理をステップＳ８４に進める。ｆａｌｓｅの場合、処理をステップＳ８６に進める。
【０１７７】
（Ｓ８４）Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂを用いて、読み出し開始位置を特定する。詳細には、Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂの各ＷＲＡＰ情報を参照し、先頭ブロックＩＤから最終ブロックＩＤまでの範囲に、読み出し開始位置のデータブロックＩＤが属するＷＲＡＰを特定する。
【０１７８】
例えば、読み出し開始位置のデータブロックＩＤを１２３とする。また、媒体情報テーブル１１１ｂのＷＲＡＰ  ＩＤ“３”に対応するＷＲＡＰ情報には、開始セクタ番号が“４”、先頭ブロックＩＤが“１０２”、最終ブロックＩＤが“１５１”が登録されているものとする。Ｉ／Ｏ制御部１１３は、データブロックＩＤ“１２３”が先頭ブロックＩＤ“１０２”から最終ブロックＩＤ“１５１”までの範囲に属すると判定する。そして、Ｉ／Ｏ制御部１１３は、データブロックＩＤ“１２３”がＷＲＡＰ  ＩＤ“３”のＷＲＡＰに存在すると判定する。
【０１７９】
Ｉ／Ｏ制御部１１３は、読み出し開始位置のセクタ番号を特定する。上記の例では、該当ＷＲＡＰは順方向ＷＲＡＰであるので、Ｉ／Ｏ制御部１１３は、読み出し開始位置のセクタ番号を“２５”（４＋（１２３−１０２））と特定する。
【０１８０】
（Ｓ８５）Ｉ／Ｏ制御部１１３は、テープドライブ１２０に、磁気ヘッドを読み出し開始位置のセクタへ移動させることを指示するＬｏｃａｔｅコマンドを送信する。そして、処理をステップＳ８７に進める。
【０１８１】
（Ｓ８６）Ｉ／Ｏ制御部１１３は、通常移動処理を実行する。例えば、Ｉ／Ｏ制御部１１３は、ＷＲＡＰ毎に読み出し開始位置のデータブロックＩＤを検索して、読み出し開始位置を特定する。特定後、Ｉ／Ｏ制御部１１３は、テープドライブ１２０に、磁気ヘッドを読み出し開始位置へ移動するように指示する。
【０１８２】
（Ｓ８７）Ｉ／Ｏ制御部１１３は、Ｒｅａｄコマンドをテープドライブ１２０に発行する。このとき、Ｉ／Ｏ制御部１１３は、読み出し方向をテープドライブ１２０に指示する。ステップＳ８４で特定したＷＲＡＰ  ＩＤが奇数の場合、順方向に読み出すように指示され、ステップＳ８４で特定したＷＲＡＰ  ＩＤが偶数の場合、逆方向に読み出すように指示される。これにより、テープドライブ１２０は、読み出し開始位置からデータの読み出しを開始する。そして、処理を終了する。
【０１８３】
図２２は、Ｒｅａｄコマンド発行後の処理例を示すフローチャートである。以下、図２２に示す処理をステップ番号に沿って説明する。
（Ｓ９１）Ｉ／Ｏ制御部１１３は、ＷＲＡＰマークが検出されたか否かを判定する。ＷＲＡＰマークが検出された場合、処理をステップＳ９２に進める。検出されていない場合、処理を終了する。
【０１８４】
（Ｓ９２）Ｉ／Ｏ制御部１１３は、３６トラックモードであるか否かを判定する。３６トラックモードの場合、処理をステップＳ９３に進める。３６トラックモードでない場合、処理をステップＳ９６に進める。
【０１８５】
（Ｓ９３）Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂを参照し、高速制御フラグがｔｒｕｅであるか否かを判定する。ｔｒｕｅの場合、処理をステップＳ９４に進める。ｆａｌｓｅの場合、処理をステップＳ９６に進める。
【０１８６】
（Ｓ９４）Ｉ／Ｏ制御部１１３は、媒体情報テーブル１１１ｂを参照し、次のＷＲＡＰの開始セクタ番号を特定する。
（Ｓ９５）Ｉ／Ｏ制御部１１３は、磁気ヘッドを、次のＷＲＡＰにおける特定した開始セクタ番号へ移動させることを指示するＬｏｃａｔｅコマンドを、テープドライブ１２０に送信する。また、Ｉ／Ｏ制御部１１３は、読み出し方向を反転させるようにテープドライブ１２０に指示する。そして、処理を終了する。
【０１８７】
（Ｓ９６）Ｉ／Ｏ制御部１１３は、テープドライブ１２０に、ＷＲＡＰマークでＷＲＡＰ反転を行うように指示する。
なお、第１の実施の形態の情報処理は、テープ装置１０に用いられるプロセッサに、プログラムを実行させることで実現できる。第２の実施の形態の情報処理は、プロセッサ１１０ａにプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
【０１８８】
例えば、プログラムを記録した記録媒体を配布することで、プログラムを流通させることができる。また、マウント制御部１１２、Ｉ／Ｏ制御部１１３および監視部１１４に相当する機能を実現するプログラムを別個のプログラムとし、各プログラムを別個に配布してもよい。マウント制御部１１２、Ｉ／Ｏ制御部１１３および監視部１１４の機能が別個のコンピュータにより実現されてもよい。コンピュータは、例えば、記録媒体に記録されたプログラムを、ＲＡＭ１１０ｂやフラッシュメモリ１１０ｃに格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【０１８９】
なお、各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
また、以上の各実施の形態に関し、さらに以下の付記を開示する。
【０１９０】
（付記１）  読み書きの方向が順方向のトラックと逆方向のトラックとを含む複数のトラックが形成された磁気テープを用いてデータを読み書きするテープドライブと、
前記磁気テープを走行方向に分割した複数の分割領域のうち、第１の分割領域を用いてデータを読み書きするように前記テープドライブを制御し、前記第１の分割領域内の一のトラックで異常が発生したと判定すると、前記一のトラックをコピー対象として予約し、所定のタイミングにおいて、前記第１の分割領域内の前記一のトラックに記録されたデータを、前記複数の分割領域のうち前記第１の分割領域に隣接する第２の分割領域内の前記一のトラックにコピーするように前記テープドライブに指示する制御部と、
を有するテープ装置。
【０１９１】
（付記２）  前記制御部は、前記第１の分割領域内の前記一のトラックでの書き込みまたは読み出しの少なくとも一方についてのリトライ回数に基づいて、前記第１の分割領域内の前記一のトラックで異常が発生したかを判定する、
付記１記載のテープ装置。
【０１９２】
（付記３）  前記所定のタイミングは、前記テープドライブから前記磁気テープをアンマウントする指示を受け付けたタイミングである、
付記１または２記載のテープ装置。
【０１９３】
（付記４）  前記制御部は、前記テープドライブに、前記第２の分割領域内の前記一のトラックの途中からデータの追記を開始させた場合、前記第２の分割領域内の前記一のトラックにデータを書き込んだ後、書き込み方向を反転し、前記第２の分割領域内の次のトラックにデータを書き込むように前記テープドライブに指示する、
付記１乃至３のいずれか１つに記載のテープ装置。
【０１９４】
（付記５）  読み書きの方向が順方向のトラックと逆方向のトラックとを含む複数のトラックが形成された磁気テープを用いてデータを読み書きするテープドライブを制御する制御装置において、
前記複数のトラックそれぞれにおける異常の発生を監視する監視部と、
前記磁気テープを走行方向に分割した複数の分割領域のうち、第１の分割領域を用いてデータを読み書きするように前記テープドライブを制御し、前記監視部によって前記第１の分割領域内の一のトラックで異常が発生したと判定されると、前記一のトラックをコピー対象として予約し、所定のタイミングにおいて、前記第１の分割領域内の前記一のトラックに記録されたデータを、前記複数の分割領域のうち前記第１の分割領域に隣接する第２の分割領域内の前記一のトラックにコピーするように前記テープドライブに指示する制御部と、
を有する制御装置。
【０１９５】
（付記６）  前記監視部は、前記第１の分割領域内の前記一のトラックでの書き込みまたは読み出しの少なくとも一方についてのリトライ回数に基づいて、前記第１の分割領域内の前記一のトラックで異常が発生したかを判定する、
付記５記載の制御装置。
【０１９６】
（付記７）  前記所定のタイミングは、前記テープドライブから前記磁気テープをアンマウントする指示を受け付けたタイミングである、
付記５または６記載の制御装置。
【０１９７】
（付記８）  前記制御部は、前記テープドライブに、前記第２の分割領域内の前記一のトラックの途中からデータの追記を開始させた場合、前記第２の分割領域内の前記一のトラックにデータを書き込んだ後、書き込み方向を反転し、前記第２の分割領域内の次のトラックにデータを書き込むように前記テープドライブに指示する、
付記５乃至７のいずれか１つに記載の制御装置。
【０１９８】
（付記９）  読み書きの方向が順方向のトラックと逆方向のトラックとを含む複数のトラックが形成された磁気テープを用いてデータを読み書きするテープドライブを制御するための制御プログラムにおいて、
コンピュータに、
前記磁気テープを走行方向に分割した複数の分割領域のうち、第１の分割領域を用いてデータを読み書きするように前記テープドライブを制御し、
前記第１の分割領域内の一のトラックで異常が発生したと判定すると、前記一のトラックをコピー対象として予約し、
所定のタイミングにおいて、前記第１の分割領域内の前記一のトラックに記録されたデータを、前記複数の分割領域のうち前記第１の分割領域に隣接する第２の分割領域内の前記一のトラックにコピーするように前記テープドライブに指示する、
処理を実行させる制御プログラム。
【０１９９】
（付記１０）  前記判定では、前記第１の分割領域内の前記一のトラックでの書き込みまたは読み出しの少なくとも一方についてのリトライ回数に基づいて、前記第１の分割領域内の前記一のトラックで異常が発生したかを判定する、
付記９記載の制御プログラム。
【０２００】
（付記１１）  前記所定のタイミングは、前記テープドライブから前記磁気テープをアンマウントする指示を受け付けたタイミングである、
付記９または１０記載の制御プログラム。
【０２０１】
（付記１２）  前記テープドライブに、前記第２の分割領域内の前記一のトラックの途中からデータの追記を開始させた場合、前記第２の分割領域内の前記一のトラックにデータを書き込んだ後、書き込み方向を反転し、前記第２の分割領域内の次のトラックにデータを書き込むように前記テープドライブに指示する、
付記９乃至１１のいずれか１つに記載の制御プログラム。
【符号の説明】
【０２０２】
１  磁気テープ
１ａ，１ｂ  トラック
１ａ１，１ｂ１，１ｂ２  領域
２ａ，２ｂ  分割領域
３，４  データ
１０  テープ装置
１１  テープドライブ
１２  制御部
【図１】
0006536475.tif 000002
【図２】
0006536475.tif 000003
【図３】
0006536475.tif 000004
【図４】
0006536475.tif 000005
【図５】
0006536475.tif 000006
【図６】
0006536475.tif 000007
【図７】
0006536475.tif 000008
【図８】
0006536475.tif 000009
【図９】
0006536475.tif 000010
【図１０】
0006536475.tif 000011
【図１１】
0006536475.tif 000012
【図１２】
0006536475.tif 000013
【図１３】
0006536475.tif 000014
【図１４】
0006536475.tif 000015
【図１５】
0006536475.tif 000016
【図１６】
0006536475.tif 000017
【図１７】
0006536475.tif 000018
【図１８】
0006536475.tif 000019
【図１９】
0006536475.tif 000020
【図２０】
0006536475.tif 000021
【図２１】
0006536475.tif 000022
【図２２】
0006536475.tif 000023