(57)【特許請求の範囲】
【請求項１】
データに訂正符号を付加したデータセットをシーケンシャルに記録媒体に記録し、前記記録媒体から読取られたデータセットを前記訂正符号によりエラー訂正を行う情報記録装置であって、
記録媒体の初めからシーケンシャルにデータセットを書込んだ順番を番号（DS#）と、同じ前記番号について書込まれ古いデータセットと前記古いデータセットを上書きする新しいデータセットとを区別するＷｒｉｔｅｐａｓｓ（ＷＰ）値と、を前記データセットが保持するように、前記データセットを前記記録媒体にシーケンシャルに書込む書込み手段と、
前記記録媒体に書込まれた前記番号の古いデータセットを新しいデータセットにより上書し（append）、前記古いデータセットを前記新しいデータセットと区別するために、特定の前記番号から前記上書き始める時にＷＰ値を１加算して当該番号以降の新しいデータセットのＷＰ値とする、上書き手段と、
前記新しいデータセットによる前記上書き時にエラーが発生した場合、前記記録媒体上の古いデータセットの位置から読取り時にエラー訂正できない所定の距離前方にシフトさせて新しいデータセットにより前記古いデータセットの後半部分を上書するように、前記上書き手段を制御する書込み制御手段とを含む、情報記録装置。
【請求項２】
前記訂正符号が前記データの５４バイトごとに１０バイトのリードソロモン符号を割当てられた場合に、前記所定の距離は、前記古いデータセットの位置をデータセット長の３０％〜８４％まで前方にずらしたものであることを特徴とする請求項１に記載の装置。
【請求項３】
前記所定の距離は、前記古いデータセットの位置を前記データセット長の４０〜７０％まで前方にシフトしたものであることを特徴とする請求項２に記載の装置。
【請求項４】
前記上書したデータセットを含む前記記録媒体上の一連のデータセットをシーケンシャルに読取る読取り手段を更に含む請求項１乃至３いずれか１項に記載の装置。
【請求項５】
前記読取り手段は、読取った前記番号DS#について前記ＷＰ値の最高値のデータセットを新しいデータセットとして読取ることを特徴とする請求項４に記載の装置。
【請求項６】
前記書込み制御手段は、前記所定の距離前方にシフトして上書きするごとに、前記上書したデータセットの情報として前記データセットを識別する前記番号及び前記ＷＰ値を、前記記録媒体を含むカートリッジに付帯した不揮発性メモリに記録する手段を更に含む請求項５に記載の装置。
【請求項７】
前記読取り手段は、前記不揮発性メモリに記録された前記上書したデータセット情報を参照して、新しいデータセットを読取ることを特徴とする請求項６に記載の装置。
【請求項８】
データに訂正符号を付加したデータセットを記録媒体にシーケンシャルに記録し、前記記録媒体から読取られたデータセットを前記訂正符号によりエラー訂正を行う情報記録装置のための前記データセットの書込み／読取り制御方法であって、
記録媒体の初めからシーケンシャルにデータセットを書込んだ順番を番号（DS#）と、同じ前記番号について書込まれ古いデータセットと前記古いデータセットを上書きする新しいデータセットとを区別するＷｒｉｔｅｐａｓｓ（ＷＰ）値と、を前記データセットが保持するように、前記データセットを前記記録媒体にシーケンシャルに書込むステップと、
前記記録媒体に書込まれた前記番号の古いデータセットを新しいデータセットにより上書し（append）、前記古いデータセットを前記新しいデータセットと区別するために、特定の前記番号から前記上書き始める時にＷＰ値を１加算して当該番号以降の新しいデータセットのＷＰ値とする、上書きステップと、
前記新しいデータセットによる前記上書き時にエラーが発生した場合、前記記録媒体上の古いデータセットの位置から読取り時にエラー訂正できない所定の距離前方にシフトさせて新しいデータセットにより前記古いデータセットの後半部分を上書するように、前記上書き手段を制御するステップとを含む、書込み／読取り制御方法。
【請求項９】
前記上書したデータセットを含む前記記録媒体上の一連のデータセットをシーケンシャルに読取り、読取った前記番号の同じデータセットについて前記ＷＰ値の最高値のデータセットを新しいデータセットとして読取る(read)ステップを更に含む請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、永久エラー（permanent error）の発生及び読取りパフォーマンスへの影響を低減する、テープ媒体に書込まれたデータセットの上書き（append）方法、及びその方法を実装した磁気テープ装置（以下テープドライブともいう）に関する。
【背景技術】
【０００２】
大型テープドライブ（IBM TS1120）及びＬＴＯ（Linear Tape Open）に準拠したテープドライブは、データをテープ媒体上に、固定長のデータセット(ＤＳ: Data Set) という単位でシーケンシャルに書込む。テープドライブは、ホストから読出し命令に応じて、テープに書かれたＤＳをシーケンシャルに読出す。テープドライブでは、１つのテープカートリッジを、テープ媒体に書かれたＤＳを消去せず、新しいＤＳを古いＤＳの上に上書きして（append）、何度も使用を続ける。
【０００３】
図１は、複数のＤＳがシーケンシャルにテープ媒体上に書込まれた状態を示す。テープ上のＤＳを上書きすることをアペンド（append）という。テープドライブは、先ず新しいデータをＤＳ単位で、ＤＳ番号（ＤＳ＃）を順番に付してテープ媒体上にシーケンシャルに書く。テープ上のＤＳを上書きする場合は、テープ媒体上に古いＤＳは、残したまま同じＤＳ＃の新しいＤＳにより実質的に重ね書き、即ち完全に上書きされることが望まれる。
【０００４】
図１下図は、ＤＳ＃１〜＃５を上書きした状態を示す。テープに書かれた各ＤＳには、ＤＳ＃、及び Ｗｒｉｔｅｐａｓｓ（ＷＰ）と呼ばれる、２種類の識別標識が割当てられる。テープドライブは、データを書き込む場合、ＤＳをテープに書き込むたびにＤＳ＃を１ずつ増加させる。各ＤＳのＷＰは、書込み（write）時のエラー時の再試行（retry)毎に加算される書込み操作回数を示す。テープドライブがＤＳ＃Ｘ（Ｘは任意の番号）のＤＳの書き込みに失敗した場合には、ＷＰを増加させた値を後続番号のＤＳとして割り振る。
【０００５】
図１上図の現在のテープの書込み状態は、成功裡に各ＤＳがテープに書込まれた初期の段階を示す。現在の状態では、各ＤＳは書込み操作が１回しか行われていないため、各ＤＳには同じ値（ＷＰ１）が割当てられる。図１下図において、上書したＤＳ＃１〜＃５を、上図の上書きされたＤＳ＃１〜＃５と区別するためにＷＰを加算して１から２になる。テープドライブは、ＷＰの値により、テープ上に上書きされた同じＤＳ＃について古いＤＳと新しいＤＳを識別して、新しいＤＳを読み取る。
【０００６】
上書き（append）は、古いＤＳを同じＤＳ＃の新しいＤＳにより完全に上書きすることがデータ保全（ＤＩ：Data Integrity）上望ましい。しかし、テープドライブの書込み制御に多少の誤差が生じるため、テープ上に書かれた古いＤＳの前後の両端部が多少残存する。従って、上書き操作を複数回行うと同じＤＳ＃のＤＳがテープ上に複数残る。テープドライブは、シーケンシャル読取り時に複数の同じＤＳ＃のＤＳから、最高のＷＰが付されたＤＳを新しいＤＳとしてホストに転送し、データ保全（ＤＩ）を保証する。
【０００７】
図２は、初期のＤＳを書込みエラーが発生したテープ位置から、テープの進行方向（前方）に位置をずらしてＤＳの書込みを再試することを示す。テープ上に傷やゴミ等が存在する場合、データ記録密度を優先してＤＳ間隔を最小にして、テープ媒体の問題部分に連続的にＤＳを書込むことが困難である。例えばＬＴＯでは、書き込み位置を最大４ｍずらして再試行することが規格により認められている（非特許文献１参照）。再試行の操作ごとに、ＷＰが加算される。従来のテープドライブは、データをテープに書込む際にエラーが発生した場合に、書込みの再試行（retry）を行う技術を採用する（特許文献１、２）。
【０００８】
上書き時においても、位置をずらす再試行を利用できれば、経年変化などによるテープ上の局所的な付着ゴミ及び傷を回避でき永久エラーを低減できる。テープ上の元のＤＳを実質的に上書きする場合にエラーが発生し、その元のＤＳの位置から前方にずらした位置で再試行する上書き(append)を、ｓｕｓｐｅｎｄｅｄ  ａｐｐｅｎｄと言う(非特許文献１)。１つのテープカートリッジにおいて既存データを保存しつつ、変更するＤＳ＃のみのＤＳを上書きすることを保証するためにも、上書き時に永久エラーが低減することも望まれる。上書き時の永久エラーの発生の頻発は、不要なテープカートリッジの交換とデータのバックアップコピー操作の手間（対価と時間）を必要とするからである。
【０００９】
【非特許文献１】Ｕｌｔｒｉｕｍ  Ｇｅｎｅｒａｔｉｏｎ３  １６−Ｃｈａｎｎｅｌ  Ｆｏｒｍａｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｄｏｃｕｍｅｎｔ  Ｕ−３１６，Ｒｅｖｉｓｉｏｎ  Ｂ，Ｓｅｐｔｅｍｂｅｒ  ７，２００４
【特許文献１】特開平８−４５２００号公報
【特許文献２】特許第３４３６２０６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、再試行を元のＤＳの位置から後続の複数のＤＳを飛び越えて大きく距離をずらして行う場合、ＤＩを保証するために、読取り時に同じＤＳ＃の古いＤＳと前方の新しいＤＳとの識別に時間を要する。シーケンシャル・アクセスデバイス（テープドライブ）は、ＤＩを保証するために、同じＤＳ＃の古いＤＳ及び後続ＤＳ＃のＤＳを先読みした後に、上書きしたＤＳを読みＷＰにより最新のＤＳを識別しなければならないため、読取りパフォーマンスに影響する。
【００１１】
今後、テープドライブには、エラーの箇所において上書き時に書込み位置をずらして再試行するｓｕｓｐｅｎｄｅｄ  ａｐｐｅｎｄが必要である。その場合に、ｓｕｓｐｅｎｄｅｄ  ａｐｐｅｎｄされたＤＳが存在したとしても読取りパフォーマンスに大きく影響しないように、再試行の上書きが必要である。
【００１２】
そこで、本発明は、記録媒体に書込まれたデータセットの上書きの際位置をずらした再試行が可能な上書き／読取り制御方法を具備した情報記録装置を提供することを目的とする。
また、本発明は、記録媒体に書込まれたデータセットの上書きの際位置をずらした再試行が可能な上書き／読取り制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
かかる目的のもと、本発明は、データに訂正符号を付加したデータセットをシーケンシャルに記録媒体に記録し、記録媒体から読取られたデータセットを訂正符号によりエラー訂正を行う情報記録装置である。本発明の情報記録は、データセットを記録媒体にシーケンシャルに書込んだ順番を示す番号とその番号のデータセットの書込み操作回数（WP）とにより識別できるように、データセットを記録媒体に書込む書込み手段であって、第１のデータセットを書き込む書込み手段と、第１のデータセットと同じ番号の第２のデータセットにより第１データセットを実質的に上書し、そのＷＰを加算させた値を第２のデータセットのＷＰとする、上書き手段と、この上書き時にエラーが発生した場合、記録媒体上の第１のデータセットの位置から所定の距離だけ前方にずらした位置において、ＷＰを加算させた値を第２のデータセットのＷＰとして、第１のデータセットの上記上書き手段を実行する書込み制御手段とを含み、前記所定の距離は、第２のデータセットによって第１のデータセットの一部が上書きされることにより、第１のデータセットのエラー訂正できない距離であることを特徴とする。
また、本発明の情報記録装置は、訂正符号がデータの５４バイトごとに１０バイトのリードソロモン符号を割当てられた場合に、前記所定の距離は、第１のデータセットの位置から前記データセットの長さの３０〜８４％まで前方にずらしたものであることを特徴とする。
また、本発明の情報記録装置は、前記上書したデータセットを含む記録媒体上の一連のデータセットをシーケンシャルに読取り、第１のデータセットの番号と同じ番号のデータセットについて読取る場合に、最高値のＷＰを有する第２のデータセットを最新のデータセットとして読取る読取り手段を更に含むことを特徴とする。
【００１４】
かかる目的のもと、本発明は、データに訂正符号を付加したデータセットをシーケンシャルに記録媒体に記録し、記録媒体から読取られたデータセットを訂正符号によりエラー訂正を行う情報記録装置である。本発明の情報記録装置は、データセットの書込み順番を示す番号と該番号のデータセットの書込み操作回数（WP）とにより識別できるように、データセットを記録媒体にシーケンシャルに書込む書込み手段と、記録媒体に書込まれたデータセットを古いデータセットとして、前記番号の新しいデータセットにより古いデータセットを実質的に上書きする上書き手段であって、前記ＷＰを加算させた値を新しいデータセットのＷＰとする、上書き手段と、前記上書き時にエラーが発生した場合、記録媒体の古いデータセットの位置から所定の距離だけ記録媒体前方にずらした位置において、前記ＷＰを加算させた値を新たなＷＰとして、前記古いデータセットの前記上書き手段を実行する書込み制御手段とを含み、所定の距離は、前記新しいデータセットによって前記古いデータセットの一部が上書きされることによりエラー訂正できない距離であることを特徴とする。
また、本発明の情報記録装置は、訂正符号が前記データの５４バイトごとに１０バイトのリードソロモン符号を割当てられた場合に、所定の距離は、前記古いデータセットの位置をデータセット長の３０％〜８４％まで前方にずらしたものであることを特徴とする。
また、本発明の情報記録装置は、所定の距離は、前記古いデータセットの位置を前記データセット長の４０〜７０％まで前方にずらしたものであることを特徴とする。
また、本発明の情報記録装置は、上書したデータセットを含む前記記録媒体上の一連のデータセットをシーケンシャルに読取り手段を更に含むことを特徴とする。
また、本発明の情報記録装置の読取り手段は、読取った前記番号の同じデータセットについて前記ＷＰの最高値のデータセットを新しいデータセットとして読取ることを特徴とする。
また、本発明の情報記録装置の書込み制御手段は、位置をずらして上書きするごとに、前記位置をずらして上書したデータセット情報としてデータセットを識別する前記番号及び前記ＷＰを、前記記録媒体を含むカートリッジに付帯した不揮発性メモリに記録する手段を更に含むことを特徴とする。
また、本発明の情報記録装置の読取り手段は、前記不揮発性メモリに記録された前記上書したデータセット情報を参照して、目的のデータセットを読取ることを特徴とする。
【００１５】
かかる目的のもと、本発明は、データに訂正符号を付加したデータセットを記録媒体にシーケンシャルに記録し、記録媒体から読取られたデータセットを訂正符号によりエラー訂正を行う情報記録装置のためのデータセットの書込み／読取り制御方法である。本発明の書込み／読取り制御方法は、データセットの書込み順番を示す番号と、最新のデータを識別する書込み回数（WP）により識別できるようにデータセットを記録媒体にシーケンシャルに書込むステップと、記録媒体に書込まれたデータセットを古いデータセットとして当該番号の新しいデータセットにより古いデータセットを実質的に上書きするステップであって、ＷＰを加算させた値を新しいデータセットのＷＰとする、上書きステップと、上書き時にエラーが発生した場合、古いデータセットの位置に対して所定の距離だけ記録媒体を前方にずらした位置において、ＷＰを加算させた値を新たなＷＰとして、古いデータセットの上書きステップの実行を制御するステップとを含み、所定の距離は、前記新しいデータセットによって前記古いデータセットの一部が上書きされることによりエラー訂正できない距離であることを特徴とする。
また、本発明の書込み／読取り制御方法は、上書したデータセットを含む記録媒体上の一連のデータセットをシーケンシャルに読取り、読取ったデータセットの番号の同じデータセットについてＷＰの最高のデータセットを新しいデータセットとして読取るステップを更に含むことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、テープ上のＤＳが上書きされた場合、上書き時に永久エラー発生率を低減させ、不要なテープカートリッジの交換及びバックアップコピーの要求を少なくできる。また、本発明によれば、読取り時に、ＤＩを保証しつつ、読取りパフォーマンスに影響を与えないようにできる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下実施形態）について詳細に説明する。特許請求の範囲に記載される発明は以下の実施形態に限定されるものではない。
【００１８】
図３は、本実施形態が適用されるテープドライブ１０の構成例を示した図である。テープドライブ１０は、ホスト３０から送られた複数のデータ（ユーザデータ）を固定長のデータセット（ＤＳ）単位でテープ記録媒体への書込み（write)及び上書き（append）する流れを説明する。ＤＳは複数のユーザデータの集まりであり、固定長のフォーマット構造を有するテープに書込む単位である。尚、本発明はＤＳが可変長である場合を排除するものではないが、以下実施形態ではＤＳが固定長である場合について説明する。
【００１９】
テープドライブ１０は、インターフェース１１と、バッファ１２と、チャネル１３と、ヘッド１４と、モータ１５と、テープ２３を巻きつけるリール２２とを含む。また、書込み読取り制御１６と、ヘッド位置制御システム１７と、モータドライバ１８とを含む。モータ１５は、２個のモータを設けてよい。更に、テープドライブ１０は、テープカートリッジ２０を着脱可能に搭載する。
【００２０】
テープカートリッジ２０は、リール２１に巻かれたテープ２３を含む。テープ２３は、リール２１、２２の回転に伴い、リール２１からリール２２の方向へ、又は、リール２２からリール２１の方向へ、長手方向に移動する。テープ２３は、磁気テープ以外のテープ媒体でもよい。読取り時に、テープを目的位置まで高速に移動させることができるように、テープドライブでは、テープカートリッジの属性（テープディレクトリと呼ばれる）情報を、テープカートリッジ内に装備されているカートリッジメモリ（ＣＭ：Cartridge Memory）２５と呼ばれる非接触不揮発性メモリに記録している。搭載されたテープ２０のカートリッジＣＭ２５は、テープドライブ１０により非接触的に読み書きされる。
【００２１】
ヘッド１４は、テープ２３が長手方向に移動するとき、テープ２３に対して情報を書き込んだり、テープ２３から情報を読出したりする。モータ１５は、リール２１、２２を回転させる。１つのモータ１５を表しているが、リール２１、２２の各々に１つずつのモータを設けるのが好ましい。
【００２２】
書込み読み込み制御１６は、テープドライブ１０の全体を制御する。例えば、インターフェース１１で受け付けたコマンドに従って、データのテープ２３への書込みやテープ２３からの読取りを制御する。また、ヘッド位置制御システム１７やモータドライバ１８の制御、及び、書込みデータへの訂正符号の付加・読取りデータのエラー訂正も行う。モータドライバ１８は、モータ１５を駆動する。
【００２３】
インターフェース１１は、上位装置の一例であるホスト３０との通信を行う。ホスト３０から、テープ２３を目的の位置に移動させるコマンド、テープ２３へのデータの書込みを指示するコマンド、テープ２３からのデータの読取りを指示するコマンドを受け取る。通信規格としてＳＣＳＩの場合、それぞれは、ＬｏｃａｔｅコマンドやＳｐａｃｅコマンド、Ｗｒｉｔｅコマンド、Ｒｅａｄコマンド、に相当する。また、インターフェース１１は、ホスト３０に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。ホスト３０は、これらコマンドに可変長のデータの位置、数を指定してテープドライブ１０に発行する。
【００２４】
バッファ１２は、テープ２３に書き込むべきデータやテープ２３から読出されたデータを蓄積するメモリである。例えば、ＤＲＡＭ（Dynamic Random Access Memory）によって構成される。また、バッファ１２は、複数の固定長のバッファセグメントからなり、各バッファセグメントが、テープ２３に対する読み書きの単位であるデータセット（ＤＳ）を格納している。１つのデータセットは、ホスト３０から送られるデータの１つの一部分、または、複数のデータから構成される。
【００２５】
読み書きチャネル１３を介して渡されたデータはＤＳ単位として、ヘッド１４によりテープ２３に書込まれる。各ＤＳ（例えば４００ＫＢ）は、書込み読取り制御１６により、インターフェース１１からバッファ１２にデータを転送する際に訂正符号を付加して構成される。テープ２３からバッファ１２に送ったＤＳは、書込み読取り制御１６により、テープ２３からバッファ１２に読取られたＤＳのエラー訂正を行う。
【００２６】
ここで、テープドライブの訂正符号の訂正能力について説明する（非特許文献の13.6.3）。テープからの読取りの単位は、データセットである。データセット（ＤＳ）は、バッファ１２上では２次元マトリックのデータ構造である。１列はデータ５４バイトに１０バイトのＥＣＣ訂正符号（冗長な情報）を付加した構造である。隣接する２列を対として、１０８（５４×２）が有意なデータで、２０（＝１０×２）がエラー訂正符号（ECC：Error  Correcting  Code、冗長な情報として「訂正符号」とも言う）として１２８バイトの符号訂正を行う。訂正符号はリードソロモン符号（Ｒｅｅｄ-Ｓｏｌｏｍｏｎ) という方式を採用する。リードソロモン符号方式では、ランダムエラーに対しては冗長なデータの半分まで訂正でき、エラーの場所が分かるエラーに対しては冗長なデータと同じ数だけエラーを訂正できる (消失訂正)。テープドライブでは、エラーの場所が分かっているので、冗長なデータの分だけ回復できる。つまり、元のデータの１０８／１２８だけ読めれば、その元のデータを完全に回復できる。
【００２７】
まず、上記のテープドライブにより実行されたＤＳの上書きの例（図４、図５）により、ＤＳの読取り時に書込み操作回数（WP）を確認することにより、パフォーマンスに影響しないことを説明する。図４は、テープに同じＤＳ＃ＮのＤＳが古い順に３つ上書きにより古いＤＳを完全に重ね書きをしたと仮定した状態を示す。テープドライブは、データを読出す場合に、ＤＳ＃の順にデータを読出す。同じＤＳ＃ＮのＤＳが複数存在するときにはＷＰの大きなＤＳのデータを読出す。
【００２８】
また順次読み進んで行く場合、あるＷＰのＤＳを読出したら、その後それより低いＷＰを有するＤＳは（Ｏｂｓｏｌｅｔｅなデータなので) 無視してテープ上を読み進む。例えば、テープドライブが、ＤＳ＃Ｎを読む場合ＷＰ１，２，３を有する３つのＤＳ＃Ｎを読み取る。テープに書込まれたＤＳ＃Ｎ−１のＷＰ値が３の場合に、テープドライブは、３より低位のＷＰ１とＷＰ２のＤＳを無視して、ＷＰ３を有するＤＳ＃ＮのＤＳを確認でき、読取りパフォーマンスは問題ない。
【００２９】
図５は、最初にＤＳが＃１から２０までテープに書かれた後（上図）、ＤＳ＃１０のＤＳが上書きされた状態（下図）を示す。テープドライブは、上書きしたＤＳ＃１０のＤＳより後続のＤＳ（ＤＳ＃１１〜＃２０）を無視してシーケンシャル読出しを行う。テープドライブが、ＤＳ＃１０〜＃２０のＤＳの読取る方法は、上書きしたＤＳ＃１０のＤＳにＷＰ２を割当てることにより、古いＤＳ＃１０のＤＳ（ＷＰ１）と識別される。テープドライブは、ＤＳ＃１０のＤＳが上書きされた後では（下図）、読取り時に、当初から書込み済みのＤＳ＃１１〜＃２０のＤＳを無視する。この場合テープ上に＃１１、１２、・・・のＤＳが存在したとしても、テープドライブは、古いＤＳ＃１１、１２、・・・のＷＰはアペンドで書き込んだＤＳ＃１０のＷＰよりも低いため、ＤＳ＃１０以降のＤＳは存在しないものと見なす。従って、図５の例においても、読取りパフォーマンスに影響なく、かつ、誤って古いデータセットに含まれるデータを送るデータ保全の問題を生じない。
【００３０】
次に、上書き時に、エラー位置を前方に大きく（４ｍ近く）ずらして再試行（retry）することが、ＤＩの保証のため読取りパフォーマンスに影響を与えることを説明する。図６は、ＤＳの上書きの際に書込み位置を大きくずらして再試行を行った場合にＤＩ問題を表わす。（ａ）は、ＤＳ＃Ｎ―１〜Ｎ＋Ｘまでテープに書かれているＤＳが、全てＷＰ１を有する現在の状態を示す。（ｂ）の態様では、（ａ）の状態のＤＳ＃Ｎから上書きする場合に媒体上の傷によりエラーが発生すると、上書きの再試行（ＷＰ２）が行われる。次に、新しいＤＳ＃Ｎ（ＷＰ３）は、元のＤＳ＃ＮのＤＳの位置で傷の存在により上書き操作がエラー（ＷＰ２）になったため、最終的に傷を避けるために４ｍ近くずらしてｓｕｓｐｅｎｄｅｄ  ａｐｐｅｎｄされている。
【００３１】
（ｂ）のように書込まれた場合、シーケンシャルにＤＳ＃Ｎ−１から＃Ｎまでを読出そうとすると、新しいＤＳ＃Ｎのデータ（ＤＳ、ＷＰ３）ではなく古いＤＳ＃ＮのＤＳ（ＷＰ１）を読出してしまう。つまり、古いＤＳ＃Ｎを読取りホストに送ってしまう、ＤＩ問題が存在する。このＤＩ問題を避けるためには、（ｂ）において、各ＤＳをホストに送る前に４ｍ以内にＤＳ＃が等しく、かつＷＰが高いＤＳが存在しないことを確認しながら読取らなければならない。このような読取りは、後続のＤＳ＃Ｎ＋１、Ｎ＋２、・・・を超えるような位置をずらしての再試行書込みがパフォーマンス上現実的ではないことを意味する。
【００３２】
１つの実施形態は、書き込み位置をずらした上書きの再試行（suspended append）を、実際に書き込み位置をずらす量をＤＳ長の半分程度に抑制する場合である。図７は、ＤＳ＃Ｎ、＃Ｎ＋１・・・を上書きする際、テープ媒体上の小さな傷を避けて位置をＤＳ長の４０％〜７０％程度ずらして再試行の書込みを行った態様を示す。図に示された上書き態様において、新しいＤＳ＃Ｎ，＃Ｎ＋１・・・はＷＰ２を有する。
【００３３】
また、図７に示された上書き態様の読み取り時において、書込み読取り制御１６は、ＷＰ２を参照して新しいＤＳ＃Ｎ，＃Ｎ＋１を確認する。新しいＤＳ（ＷＰ２）と同じＤＳ＃を有する古いＤＳ（ＷＰ１）の位置から最大で８４％以下（１０８／１２８未満）までずらして再試行できる。テープドライブの動作上の許容誤差（マージン）を考慮してＤＳ長の４０％〜７０％程度テープ進行方向に位置をずらして上書きすると、古いＤＳは訂正により回復できない。
【００３４】
このように、古いＤＳを回復できないように新しいＤＳにより上書きをしておけば、新しいＤＳの読み取りが困難であっても古いＤＳを読めなくなっていることでＤＩ問題を回避できる。図７のように上書きされたテープ媒体を、テープドライブが従来通りシーケンシャルの読取り方をしても、ホストに古いデータを送るというＤＩ問題は起きない。
【００３５】
テープドライブは、元のＤＳの書込み位置をずらして書込むことにより、テープ媒体上の小さな傷を避けて書き、永久エラー発生を少なくできる。また、位置をずらす量は、元のＤＳの多くとも後半半分程度である。この場合、テープ上には古いＤＳのデータ領域の前半の５０％しか残らない。元のＤＳが５０％未満しか残らない場合に、ＥＣＣの訂正能力を十分超えるため、古いＤＳを回復しないことを保証する。言い換えると、ＬＴＯ規格の場合のＥＣＣの訂正能力では、元のＤＳの位置から８４％近傍の前方の位置までずらしてそのＤＳの後半の１６％以上のデータ領域を上書きすれば、古いデータを回復できない。
【００３６】
また、図７の上書き態様では、新しいＤＳが同じＤＳ＃の古いＤＳのテープ上の領域の後半部を上書きしながら後続して存在する。同じＤＳ＃の古いＤＳと新しいＤＳとのテープ上の領域間に他の後続番号（ＤＳ＃）のＤＳは１つも介在することはない。この態様では、テープドライブがＤＩを保証するための新しいＤＳを確認する上で、読取りパフォーマンスに影響を与えることは少ない。
【００３７】
図８は、ＤＳ＃Ｎを上書き時にエラーが発生した場合に、古いＤＳの位置に対してずらして書込む例を示す。新しいＤＳは、実際に書き込み位置をずらす量の最大値をＤＳ長の８４％（１０８／１２８未満）として上書きされている。古いＤＳの上書きされない部分がそのＤＳ前半の８４％までであれば、テープドライブは、仮に最新のＤＳが傷により全く読めない状態になったとしても古いＤＳを読むことはない。テープ上の古いＤＳの領域に傷が存在する場合、そのＤＳの位置からＤＳ長に対して３０％〜８４％分前方にテープ位置をずらせば、元のＤＳ領域の傷を避けながら上書き可能となる場合が多い。古いＤＳ位置で上書きエラーが発生した場合、古いＤＳ位置から上述の範囲前方にテープ位置をずらして新しいＤＳにより上書きできれば永久エラーを発生せず、同時に、読取り時のデータ保全性を保証できる。
【００３８】
テープドライブは、読出し時に本実施形態の範囲で前方に位置をずらして上書きの再試行をしたか分からなくても、ＤＩ問題を起こすことはない。また、テープ媒体上の小さな傷を避けるためにはＤＳ長の半分程度 (つまり５ｃｍ程) ずらせば十分である場合が多く、上書き時の永久エラーを少なくできる。
【００３９】
図９は、ＣＭのメモリマップの内、複数のＳｕｓｐｅｎｄｅｄ  Ａｐｐｅｎｄが登録されている表を示す。テープドライブは、上書き時に書き込み位置をずらして再試行を行った場合、再試行によりＳｕｓｐｅｎｄｅｄ  ａｐｐｅｎｄされたＤＳ情報を、ＣＭ（Cartridge Memory）に記録することができる（非特許文献１）。メディアの傷により上書きできない問題を避けるために、テープカートリッジに付帯するＣＭに上書き時に書き込み位置をずらしたことを記録する上書き方法が可能である。例えばＬＴＯ規格は、上書き時にも書き込み位置を最大４ｍずらして上書き（Suspended Append）されたＤＳ情報を最大１４箇所を限度としてＣＭに記録することを許容している。ＣＭには、Ｓｕｓｐｅｎｄｅｄ  ａｐｐｅｎｄされたＤＳについて、最新のＷＰ値が加算して記録される。
【００４０】
ＣＭに位置をずらして上書きした情報が残っていれば、読取り時に古いＤＳ＃Ｎを読んだ時にＣＭを参照することで古いＤＳ＃Ｎの後ろに新しいＤＳ＃Ｎが存在することが分かる。上書き時に書き込み位置をずらすことで古いＤＳ＃Ｎ（ＷＰ１）が残ってしまっていても、テープドライブは新しいＤＳ＃Ｎ（ＷＰ２）を読出しホストに送ることができる。ＣＭを事前に参照することにより、任意のＤＳ＃Ｎについて最新のＤＳを送ることができる。
【００４１】
しかし、本実施形態が示すように古いＤＳが８４％以下しか残らないように上書きすれば、書き込み時にＣＭに記録した情報を読出し時に参照する必要はない。テープドライブによるＣＭ読取り不具合や、テープカートリッジ内のＣＭの破損などの原因でＣＭにアクセスできない場合でも、すでに書き込まれたデータを読出す必要がある。従来の手法では、データの上書き時に書き込み位置を大きき移動していると、ＣＭにアクセスできない場合のデータの読出し時にＤＩ問題を起こさないように読み進むためには読出し時全般においてパフォーマンスが劣化するという制限があった。
【００４２】
以上、本発明の実施形態のテープドライブなどのシーケンシャル装置におけるテープへの書込み制御方法を開示した。本発明によれば、テープ上のＤＳが上書きされた場合、上書き時に永久エラー発生率を低減させ、無駄なテープカートリッジの交換要求を少なくなる。また、本発明によれば、読取り時に、ＤＩを保証しつつ、読取りパフォーマンスに影響を与えることない。
【００４３】
特に、テープドライブがＣＭを利用することを前提としているがＣＭにアクセスできない場合に、本発明を適用することにより、読取り時にＤＩ問題を回避、かつ、読取りパフォーマンスを担保できる有利な効果を有する。その時、読取り時のパフォーマンスに影響を与えることなくテープドライブにおける上書き時のエラー発生率を低減させることで有用である。
【００４４】
以上の実施形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。例えば、データセットは、テープ媒体に書込まれる単位として固定長としているが、可変長の場合についても本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【００４５】
【図１】複数のＤＳがテープドライブによりシーケンシャルにテープ媒体上に書込まれた状態を示す。
【図２】初期のＤＳを書込みエラーが発生したテープ位置から、前方に位置をずらしてＤＳを再試行書込することを示す。
【図３】本実施形態が適用されるテープドライブ１０の構成例を示した図である。
【図４】テープに同じＤＳ＃ＮのＤＳが古い順に３つ上書きがされた状態を示す。
【図５】最初にＤＳがＤＳ＃１から２０までテープに書かれている後（上図）、Ｄ＃１０のＤＳがａｐｐｅｎｄされた状態（下図）を示す。
【図６】ＤＳのａｐｐｅｎｄの際に書込み位置をずらしてａｐｐｅｎｄを行った場合にＤＩ問題を表わす。
【図７】ＤＳ＃Ｎ、＃Ｎ＋１・・・を上書き（append）する際、テープ媒体上の小さな傷を避けて位置をＤＳ長の５０％程度ずらして再試行の書込み（Suspended Append）を行った態様を示す。
【図８】ＤＳ＃Ｎを上書き時にエラーが発生した場合に、古いＤＳの位置に対してずらして書込む例を示す。
【図９】ＣＭのメモリマップの内、複数のＳｕｓｐｅｎｄｅｄ Ａｐｐｅｎｄが登録される表を示す。
【符号の説明】
【００４６】
１０…テープドライブ、
１１…インターフェース、
１２…バッファ（ＤＲＡＭ）、
１３…読み書きチャネル、
１４…ヘッド、
１５…モータ、
１６…書込み読取り制御（コントローラ）、
１７…ヘッド位置制御システム、
１８…モータドライバ、
２０…カートリッジ、
２１，２２…リール、
２３…磁気テープ媒体、
２５…ＣＭ（ＥＥＰＲＯＭ）、
３０…ホスト
【図１】
0005022240.tif 000002
【図２】
0005022240.tif 000003
【図３】
0005022240.tif 000004
【図４】
0005022240.tif 000005
【図５】
0005022240.tif 000006
【図６】
0005022240.tif 000007
【図７】
0005022240.tif 000008
【図８】
0005022240.tif 000009
【図９】
0005022240.tif 000010