(57)【要約】  読出し時におけるデータの新旧の判断を容易にするデータの上書き技術を提供する。  テープ記録装置は、上書き開始位置に関する情報及び上書き要求を受け付ける受付部と、上書き開始位置に関する情報に基づいて、テープ媒体上に記録されたデータ書込み単位であるデータユニットの先頭の位置の確定を試みる試行部と、試行部による確定の成功に応答して、確定された上書き開始位置から上書きを実行する上書き実行部と、試行部による確定の失敗に応答して、上書き開始位置に記録されているデータユニットが、空のデータユニットであるか否かを判定する種別判定部とを含む。試行部は、データユニットが空のデータユニットであるとの判定に応答して、データユニットに続く次のデータユニットの先頭を上書き開始位置として、その上書き開始位置の確定を再度試みる。
2010058655.tif 000002
【特許請求の範囲】
【請求項１】
テープ記録装置であって、
上書き開始位置に関する情報及び上書き要求を受け付ける受付部と、
前記上書き開始位置に関する情報に基づいて、テープ媒体上に記録されたデータ書込み単位であるデータユニットの先頭の位置の確定を試みる試行部と、
前記試行部による前記確定の成功に応答して、確定された前記上書き開始位置から上書きを実行する上書き実行部と、
前記試行部による確定の失敗に応答して、前記上書き開始位置に記録されている前記データユニットが、空のデータユニットであるか否かを判定する種別判定部とを含み、
前記試行部は、前記データユニットが前記空のデータユニットであるとの判定に応答して、前記データユニットに続く次のデータユニットの先頭を前記上書き開始位置として、その上書き開始位置の確定を試みる
テープ記録装置。
【請求項２】
前記種別判定部は、前記試行部による前記次のデータユニットの先頭の確定の失敗に応答して、前記次のデータユニットが、前記空のデータユニットであるか否かを判定し、
前記試行部は、前記次のデータユニットが前記空のデータユニットであるとの判定に応答して、前記次のデータユニットに続く更に次のデータユニットの先頭を前記上書き開始位置として、その上書き開始位置の確定を試みる、請求項１に記載のテープ記録装置。
【請求項３】
前記種別判定部による処理は、判定対象のデータセットが前記空のデータユニットではないと判定するまで、前記試行部による前記判定対象のデータセットの先頭の確定が失敗する度に繰り返し行われる、請求項２に記載のテープ記録装置。
【請求項４】
前記データユニットが前記空のデータユニットでないとの前記種別判定部による判定に応答して、エラーを通知するエラー通知部を更に含む、請求項１に記載のテープ記録装置。
【請求項５】
前記上書き実行部による上書きが成功したか否かを判定する結果判定部と、
前記結果判定部による失敗との判定に応答して、上書きを失敗したデータユニットである第１データユニットが空のデータユニットであることを条件に、前記上書き実行部に第１データユニットに続く次のデータユニットである第２データユニットの先頭から上書きを再度試行させる上書き再試行部とを更に含む、請求項１に記載のテープ記録装置。
【請求項６】
前記第１データユニットが空のデータユニットではない場合に、エラーを通知するエラー通知部を更に含む、請求項５に記載のテープ記録装置。
【請求項７】
前記上書き再試行部は、前記結果判定部による失敗との２度目の判定に応答して、前記エラー通知部にエラーを通知させる、請求項６に記載のテープ記録装置。
【請求項８】
テープ記録装置におけるデータの上書きを制御する制御方法であって、
上書き開始位置に関する情報及び上書き要求を受け付けるステップと、
前記上書き開始位置に関する情報に基づいて、テープ媒体上に記録されたデータ書込み単位であるデータユニットの先頭の位置の確定を試みるステップと、
前記確定の成功に応答して、確定された前記上書き開始位置から上書きを実行するステップと、
前記確定の失敗に応答して、前記上書き開始位置に記録されている前記データユニットが、空のデータユニットであるか否かを判定するステップと、
前記データユニットが前記空のデータユニットであるとの判定に応答して、前記データユニットに続く次のデータユニットの先頭を前記上書き開始位置として、その上書き開始位置の確定を再度試みるステップと、
を含む制御方法。
【請求項９】
テープ記録装置においてデータの上書きを制御する制御プログラムであって、前記制御プログラムは、前記テープ記録装置に
上書き開始位置に関する情報及び上書き要求を受け付けるステップと、
前記上書き開始位置に関する情報に基づいて、テープ媒体上に記録されたデータ書込み単位であるデータユニットの先頭の位置の確定を試みるステップと、
前記確定の成功に応答して、確定された前記上書き開始位置から上書きを実行するステップと、
前記確定の失敗に応答して、前記上書き開始位置に記録されている前記データユニットが、空のデータユニットであるか否かを判定するステップと、
前記データユニットが前記空のデータユニットであるとの判定に応答して、前記データユニットに続く次のデータユニットの先頭を前記上書き開始位置として、その上書き開始位置の確定を再度試みるステップと
を実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープ記録装置におけるデータの上書き手法に関し、特に、読出し時におけるデータの新旧の判断を容易にするデータの上書き技術に関する。
【背景技術】
【０００２】
ＬＴＯ（Ｌｉｎｅａｒ  Ｔａｐｅ  Ｏｐｅｎ）に準拠したテープドライブ等、一部のテープドライブでは、シーケンシャルなデータをテープ媒体から読み出すことを考えて、データの書き込み及び読み出し単位であるデータユニットの間隔を所定の長さ以内（ＬＴＯ規格では４ｍ以内）としている。また、テープ媒体に書き込まれる各データユニットには、それぞれ連続した番号が割り振られ、該番号は管理情報としてデータユニットと共にテープ媒体上に記録されている。【０００３】
テープ媒体に既に記録されているデータを他のデータで上書きする場合も、上記ルールの適用がある。従って、テープ媒体上に傷がある等何らかの問題があっても、上書き指定位置から所定の長さ以内であれば、問題のある領域を避けてデータを上書きすることができる。但しこの場合、上書きを避けた領域には古いデータが残ってしまうため、データの新旧を示す情報もまた、管理情報としてデータユニットと共にテープ媒体上に記録される（特許文献１）。【０００４】
ＬＴＯ規格では、このデータの新旧を示す情報を、ＴａｐｅＷｒｉｔｅＰａｓｓ（ＴＷＰ）と呼んでいる。ＴＷＰは、１からはじまって、データを上書きする度１増分される。例えばデータ読出し時において、ある番号のデータユニットを読み出した後に、該データユニットから所定の長さ以内に同じ番号をもつ他のデータユニットが読み出されたとする。この場合、ＴＷＰの値がより大きいデータユニットが、最新のデータ、即ち有効なデータとして取り扱われる。【０００５】
このことは、あるデータユニットを読み出しても、直ちにこれが最新のデータであるとは判断できないことを意味する。即ち、読み出したデータユニットが有効であることを確認するためには、該データユニットから所定の長さ（ＬＴＯ規格では４ｍ）までデータを読み出す必要がある。そして、その中に、データユニット番号が同一であり、かつＴＷＰがより大きいデータユニットが存在しないことを確認する必要がある。これは非常に複雑な処理を必要とする。【０００６】
そこで、従来のＬＴＯに準拠するテープドライブ等一部のテープドライブでは、次のような方法が採用されている。即ち、番号Ｎのデータユニットの次のデータから上書きをすると仮定すると、この方法は、新しいＴＷＰをもつ番号Ｎ＋１のデータユニットを、番号Ｎのデータユニットの終端から所定の範囲（数ミリ）に書き込むことを要求する。これにより該方法は、番号Ｎ＋１の古いデータが上書きされることを保証する。【０００７】
このようにしてデータを上書きすれば、原則、番号ＮかつＴＷＰ（Ｎ）＝ｘのデータユニットＡと、番号Ｎ＋１かつＴＷＰ（Ｎ＋１）＞＝ｘのデータユニットＢの間に、番号Ｍ（Ｍ＝Ｎ＋１）かつＴＷＰ（Ｍ）（ここで、ＴＷＰ（Ｎ＋１）＞ＴＷＰ（Ｍ）＞＝ｘ）のデータユニットＣが存在することはない。そのため、データユニットＢを見つけた時点で、データユニットＡを有効なデータユニットであると確定することができ、非常に単純なデータ有効性の判定方法を利用できる。なお、ＴＷＰ（ｉ）は、番号ｉのデータユニットのＴＷＰを示す。【０００８】
また、テープ媒体上の傷等の問題により、番号Ｎのデータユニットの終端から所定の範囲（数ミリ）に次のデータを書き込むことができない場合もあり得る。そこでこのような場合は、書込み開始位置をずらしたことを示す情報を、テープ媒体が備えるカートリッジメモリに保持する。書込み開始位置をずらしたことにより、データユニットＣが存在することになったとしても、書込み開始位置がずらされていることを示す情報がカートリッジ・メモリに記録されているため、該記録に基づいて、その領域を読み出す際に上記単純なデータの有効性の判定方法を使用しないことができる。その結果、古いデータを誤って新しいデータとして判断することもない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第2003/083866号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、テープ媒体が備えるカートリッジメモリは、物理的に壊れることもあり、また壊れない場合であっても接触不良等によりアクセスできない場合もある。カートリッジメモリにアクセスできない場合は、上書き位置がずらされたかどうかを知る術が他になく、結局、所定の長さ以内により大きなＴＷＰをもつデータユニットが存在しないか逐一確認しなければならない。従って、上記従来手法は、複雑な読出し方法を回避するための、完全な解決方法であるとはいえない。【００１１】
そこで本発明は、上記の課題を解決することができるテープ記録装置、データの上書き制御方法及びデータの上書き制御プログラムを提供することを目的とする。即ち、本発明は、カートリッジメモリにアクセスできるか否かに関わらず、読み出したデータの有効性の判断を容易にすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明者は、シーケンシャル・アクセス・デバイスが、テープ媒体に既に記録されているデータの最後からデータを追記することを基本としていることから、データの上書き場所を事前にある程度予測できることに着目した。そこで、本発明者は、データの書込みを終了する際に、ＥＯＤ（Ｅｎｄ  Ｏｆ  Ｄａｔａ）の手前に空（ＮＵＬＬ）のデータユニットを１以上予め書き込んで、冗長性を確保されたテープ媒体を用意することとした。そして本発明者は、上記目的は、そのようなテープ媒体に一定の方法でデータを上書きするテープ記録装置により達成されることに想到した。【００１３】
即ち、上記の目的を達成する本発明は、次のようなテープ記録装置によって実現される。このテープ記録装置は、上書き開始位置に関する情報及び上書き要求を受け付ける受付部と、上書き開始位置に関する情報に基づいて、テープ媒体上に記録されたデータ書込み単位であるデータユニットの先頭の位置の確定を試みる試行部と、試行部による確定の成功に応答して、確定された上書き開始位置から上書きを実行する上書き実行部と、試行部による確定の失敗に応答して、上書き開始位置に記録されているデータユニットが、空のデータユニットであるか否かを判定する種別判定部とを含む。そして、上記試行部は、上記データユニットが空のデータユニットであるとの判定に応答して、該データユニットに続く次のデータユニットの先頭を上書き開始位置として、その上書き開始位置の確定を試みる。【００１４】
好ましくは、種別判定部は、試行部による次のデータユニットの先頭の確定の失敗に応答して、上記次のデータユニットが、空のデータユニットであるか否かを判定する。また、試行部は、上記次のデータユニットが空のデータユニットであるとの判定に応答して、上記次のデータユニットに続く更に次のデータユニットの先頭を上書き開始位置として、その上書き開始位置の確定を試みる。【００１５】
更に好ましくは、種別判定部による処理は、判定対象のデータセットが空のデータユニットではないとの判定をするまで、試行部による判定対象のデータセットの先頭の確定が失敗する度に繰り返し行われる。【００１６】
好ましくは、上記テープ記録装置は、上記データユニットが空のデータユニットでないとの種別判定部による判定に応答して、エラーを通知するエラー通知部を更に含む。【００１７】
好ましくは、上記テープ記録装置は、上書き実行部による上書きが成功したか否かを判定する結果判定部と、結果判定部による失敗との判定に応答して、上書きを失敗したデータユニットである第１データユニットが空のデータユニットであることを条件に、上書き実行部に第１データユニットに続く次の第２データユニットの先頭から上書きを再度試行させる上書き再試行部とを更に含む。なお、上書き再試行部による上書きの再試行は、第２データユニットの先頭の位置の確定処理を含む。【００１８】
更に好ましくは、上記テープ記録装置は、第１データユニットが空のデータユニットでない場合に、エラーを通知するエラー通知部を更に含む。  【００１９】
更にまた好ましくは、上書き再試行部は、結果判定部による失敗との２度目の判定に応答して、上記エラー通知部にエラーを通知させる。【００２０】
以上、テープ記録装置として本発明を説明したが、本発明は、そのようなテープ記録装置において実行される、データの上書きを制御する制御方法、制御プログラムまたは制御プログラムを格納した記憶媒体として把握することもできる。
【発明の効果】
【００２１】
本発明によれば、上書き開始位置として最初に指定された位置を確定できない場合、該位置に記録されているデータユニットが、上書き場所に冗長性をもたせるために予め用意された空のデータユニット（ＮＵＬＬデータ）であることを条件に、該領域を飛ばして、続く領域に対してデータの上書きが再試行される。上書きを飛ばされた領域に記録されている古いデータユニットは、ユーザデータと区別可能な空のデータユニットであるため、該データユニットがデータ読出し時において読み出されたとしてもユーザデータとしてホスト装置へ返されることはない。従って、本発明によれば、上書き開始箇所におけるエラーに対する耐性を高めることが可能になり、上書き位置をずらしたことを、カートリッジメモリに記録する必要がなくなる。その結果、カートリッジメモリにアクセス可能か否かに関わらず、データ読出し時におけるデータの有効性のための判断処理が容易になる。本発明のその他の効果については、各実施の形態の記載から理解される。
【図面の簡単な説明】
【００２２】
【図１】（ａ）は、ＬＴＯ規格に従うテープ媒体１０の記録領域の構成の一例を示す図である。（ｂ）は、ＬＴＯデータフォーマットにおけるバンド１５の構成の一例を示す図である。（ｃ）は、ＬＴＯデータフォーマットにおけるブロック３０の構成の一例を示す図である。
【図２】（ａ）は、ＬＴＯ規格のテープ媒体１０において、初めてデータが書き込まれた状態を示す図である。（ｂ）は、（ａ）に示すテープ媒体１０にデータを上書きした後の状態を示す図である。（ｃ）は、（ａ）に示すテープ媒体１０の一部がダメージを受けた後に、データを上書きした状態を示す図である。（ｄ）は、（ａ）に示すテープ媒体１０の一部がダメージを受けた後に、データを上書きした他の状態を示す図である。
【図３】本発明の実施の形態に係るテープ記録装置１００のハードウェア構成の一例を示す図である。
【図４】本発明の実施の形態に係るテープ記録装置１００（制御部１５０）の機能構成の一例を示す図である。
【図５】（ａ）は、将来データの上書き開始場所となると予想される場所に冗長性を確保されたテープ媒体１０の一例を示す図である。（ｂ）は、上書き指定されたＤＳの先頭からデータを上書きした後の状態を示す図である。
【図６】（ａ）は、冗長性を確保されたテープ媒体１０において、上書き指定されたＤＳに続く次のＤＳの先頭位置が確定された状態を示す図である。（ｂ）は、（ａ）に示すテープ媒体１０にデータを上書きした後の状態を示す図である。
【図７】（ａ）は、冗長性を確保されたテープ媒体１０において、上書き指定位置におけるデータ上書きが失敗した状態を示す図である。（ｂ）は、（ａ）に示すテープ媒体１０に再度データを上書き成功した後の状態を示す図である。（ｃ）は、（ａ）に示すテープ媒体１０に再度データを上書き失敗した後の状態を示す図である。
【図８】（ａ）は、冗長性を確保されたテープ媒体１０において、上書き指定位置の確定及び上書きが失敗した状態を示す図である。（ｂ）は、（ａ）に示すテープ媒体１０に再度データを上書き成功した後の状態を示す図である。
【図９】本実施形態に係るテープ記録装置１００における、データ上書き処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明を実施するための形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【００２４】
以下では、ＬＴＯ（Ｌｉｎｅａｒ  Ｔａｐｅ  Ｏｐｅｎ）規格のテープ記録装置を例に本発明を説明するが、本発明の適用はＬＴＯ規格のテープ記録装置に限られない。本発明は、ユーザデータの終わりを示すデータユニット（ＬＴＯ規格におけるＥＯＤ）の手前にユーザデータと区別し得る空のデータユニットを書き込まれたテープ媒体に対し、データの読出し及び書き込み可能なテープ記録装置であればどのようなテープ記録装置に対しても適用可能である。なお、ＬＴＯ 規格とは、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社、ＩＢＭ 社、Ｓｅａｇａｔｅ社（現在の、Ｑｕａｎｔｕｍ社）の３社が共同で開発したオープンフォーマットの規格である。
【００２５】
本発明の説明に入る前に、まず図１を参照して、ＬＴＯ規格に従うテープ媒体の記録領域の構成を説明する。テープ媒体１０は、図１（ａ）に示すように、ＢＯＴ（Ｂｅｇｉｎｎｉｎｇ  Ｏｆ  Ｔａｐｅ）からＥＯＴ（Ｅｎｄ  Ｏｆ  Ｔａｐｅ）へのテープ媒体１０の長手方向に沿って配置された複数のバンド１５を有する。そして、複数のバンド１５のそれぞれの両側には、データの書込み位置を制御するためのサーボトラック２０が長手方向に沿って設けられている。
【００２６】
バンド１５は、図１（ｂ）に示すように、テープ媒体１０の長手方向に沿って配列された複数のデータトラック２５を有する。データトラック２５におけるテープ媒体１０の短手方向の幅は、テープ記録装置によって一度にデータが書き込まれる幅である。データトラック２５は、テープ媒体１０の長手方向に沿って複数のブロック３０を有する。そして、ブロック３０は、複数のデータセット（Ｄａｔａ Ｓｅｔ、ＤＳ）３５を有する。
【００２７】
ＬＴＯ規格に準拠したテープ記録装置は、ＤＳ３５単位でデータの読書きを行う。即ちＬＴＯ規格では、データ読書きの単位であるデータユニットは、ＤＳ３５と呼ばれている。図１（ｃ）に示すように、ＤＳ３５には、テープ媒体１０の先頭位置から順に連続した番号、即ちＤＳ番号が振られる。また、ＤＳ３５は、データ領域とＤａｔａ  Ｓｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ（ＤＳＩＴ）の２つの領域からなる。データ領域には、その名の通りユーザデータが記録され、ＤＳＩＴの領域には、ＤＳ３５を管理するための管理情報が記録される。
【００２８】
ＤＳＩＴに含まれる管理情報には、ＤＳ番号、ＴａｐｅＷｉｔｅＰａｓｓ（ＴＷＰ）が含まれる。ここでＴＷＰはデータが古いかどうかを判断するために利用される情報であり、データが最初に記録されるときその値は１であり、その後データが上書きされる度に値は１増分する。
【００２９】
図２を参照して、ＴＷＰによってデータの新旧を判断する方法と従来のデータ上書きにおける問題について説明する。図２（ａ）に示すように、テープ媒体１０のある部分（位置２００乃至位置２０６）には、初め、データがＤＳ＃Ｎ−１、ＤＳ＃Ｎ…、と順に記録されているとする。いずれのＤＳもテープ媒体１０に初めて書き込まれたデータであり、従ってそのＴＷＰの値は１を示す。
【００３０】
図２（ａ）に示す状態のテープ媒体１０に対し、位置２０２に記録されたＤＳ＃Ｎの先頭からデータを上書きした結果を図２（ｂ）に示す。図２（ｂ）では、位置２０２乃至位置２０６にそれぞれ記録されたＤＳ＃Ｎ、ＤＳ＃Ｎ＋１、及びＤＳ＃Ｎ＋２は上書きされたデータであるため、それらのＴＷＰの値はいずれも１増分されて２になっている。
【００３１】
次に、テープ媒体１０の表面のダメージや塵埃等の異物の付着により、位置２０２の領域に書き込みができない場合（但し読出しは可能）を考える。ＬＴＯ規格では、何らかの理由でテープ媒体１０にデータを書き込むことができない場合、カートリッジメモリー内に領域をとばして書いたことを記した上で、テープ媒体１０上の問題ある部分から４メートル以内であれば、書き込みを続けることを許可している。そのため、従来の上書き方法によれば、図２（ｃ）に示すように、問題の起きた位置２０２が飛ばされて、位置２０４からデータが上書きされる。位置２０４に記録されたＤＳ＃Ｎは上書きされたデータであるため、そのＴＷＰの値は１増分され、２となっている。
【００３２】
ここで、図２（ｃ）の状態のテープ媒体１０からデータを読み出す場合を考える。この場合、番号ＮのＤＳが２つ連続して得られることになる。しかし、両ＤＳのＴＷＰの値を見てみると、位置２０２のＤＳ＃ＮのＴＷＰは値１であり、位置２０４のＤＳ＃ＮのＴＷＰは値２となっている。従って、ＴＷＰの値の大きい位置２０４のＤＳ＃Ｎが新しいデータであることが分かる。このように、ＬＴＯ規格ではＴＷＰの値をみることでデータの新旧を判断できるようにしている。
【００３３】
ところで、図２（ｃ）に示す例では、飛ばされたＤＳが１つであったため、位置２０２のＤＳ＃Ｎの有効性は、その次の位置２０４のＤＳ＃Ｎを読出した時点で直ちに判断することができた。しかし、従来の上書き方法では、上述したようにカートリッジメモリー内に領域をとばして書いたことを記した上で、テープ媒体１０上の問題ある部分から４メートル以内であれば書き込みを続けることを許可しているため、実際は、図２（ｄ）示すように、書込み不可となった複数のＤＳが飛ばされてデータが上書きされることもある。図２（ｄ）に示す例では、カートリッジメモリー内に記録された書き込み時の情報を使用しなければ、位置２０２のＤＳ＃Ｎの有効性は、２つ先の位置２０６のＤＳ＃Ｎを読み出すまで判断できない。このように従来の上書き方法では、カートリッジメモリー内の情報が使えない場合には、読み出した任意のＤＳが有効であることを確認するために、そのＤＳから４ｍの長さまでデータを読み出す必要があった。
【００３４】
そこで、本発明は上記問題を解決するためにまず、テープ媒体１０上の将来データの上書き開始場所となると予想される場所に冗長性をもたせることとした。即ち、シーケンシャル・アクセス・デバイスは、テープ媒体１０に既に記録されているデータの最後からデータを追記することを基本としていることから、図５（ａ）に示すように、データの書込み時において、一連のＤＳの終わり、即ちＥＯＤの手前にユーザデータと区別し得る空のＤＳを１以上予め書き込んでおくこととした。
【００３５】
空のＤＳ（ＮＵＬＬ  ＤＳ）は、読出し時において読み出されてもホスト装置へ返されない。冗長性をもたせるために書き込むＤＳの数は、経験から求められるものであり、例えば２つである。なお、書き込み終了時にＮＵＬＬ  ＤＳを２個程度書き込んだとしても、書込みのパフォーマンスに与える影響は非常に小さい。またこのＮＵＬＬ  ＤＳは、データ上書き時にエラーが生じない限り、後にユーザデータにより上書きされるため、ＮＵＬＬ  ＤＳによってテープ媒体１０の容量が減ることもない。このようなテープ媒体１０に対する、本発明の実施の形態に係るデータの上書き方法は、図４乃至図９を参照して後述する。
【００３６】
図３は、本発明の実施の形態が適用されるテープ記録装置１００のハードウェア構成の一例を示す。このテープ記録装置１００は、インターフェース１１０と、バッ１ファ１２０と、記録チャネル１３０と、読書きヘッド１４０と、制御部１５０と、位置決め部１６０と、モータドライバ１７０と、モータ１８０とを含む。
【００３７】
通信インターフェース１１０は、ネットワークを介してホスト装置との通信を行う。例えば通信インターフェース１１０は、ホスト装置から、テープ媒体１０へのデータの書き込みを指示する書込みコマンド及び書き込むべきユーザデータを受信する。また通信インターフェース１１０は、ホスト装置から、テープ媒体１０からのデータ読出しを指示する読出しコマンドを受信する。更に通信インターフェース１１０は、ホスト装置から、書込み位置や読出し位置を指定する位置指定コマンドも受信する。なお、データの書込みが指示された位置に既にデータが記録されている場合、その書込みコマンドは上書きコマンドであるといえる。
【００３８】
例えば、テープ記録装置１００とホスト装置との通信が、ＳＣＳＩインターフェースに従う場合、書込みコマンドはＷｒｉｔｅコマンド、読出しコマンドはＲｅａｄコマンド、位置指定コマンドはＬｏｃａｔｅコマンドに相当する。
【００３９】
バッファ１２０は、テープ媒体１０に書き込むべきデータ、また、テープ媒体１０から読み出したデータを一時的に蓄積するメモリである。例えばバッファ１２０は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）によって構成される。記録チャネル１３０は、バッファ１２０に蓄積されたデータをテープ媒体１０に書き出すため、またはテープ媒体１０から読み出されたデータをバッファ１２０に一時的に蓄積するために用いられる通信経路である。
【００４０】
読書きヘッド１４０は、データ読書き素子を有し、テープ媒体１０へのデータの書込み及びテープ媒体１０からのデータの読出しを行う。本実施形態に係る読書きヘッド１４０はまたサーボ読取り素子を有し、テープ媒体１０に設けられたサーボトラックから信号を読み取る。位置決め部１６０は、テープ媒体１０の短手方向（幅方向）に読書きヘッド１４０の移動を指示する。モータドライバ１７０は、モータ１８０を駆動する。
【００４１】
制御部１５０は、テープ記録装置１００の全体の制御を行う。すなわち、制御部１５０は、通信インターフェース１１０で受信したコマンドに従って、データのテープ媒体１０への書込み及び上書き、並びにテープ媒体１０からのデータの読出しを制御する。また、制御部１５０は、読み取られたサーボトラックの信号に従って位置決め部１６０を制御する。更に制御部１５０は、位置決め部１６０及びモータドライバ１７０を介してモータ１８０の動作を制御する。モータドライバ１７０は制御部１５０に直接接続されてもよい。なお、本発明の実施形態に係る制御部１５０によるデータの上書き制御は、図４乃至図９を参照して後述する。
【００４２】
このような制御部１５０は、図示しないＣＰＵ、ＲＡＭ、ＲＯＭにより実現される。ここでＲＯＭは、テープ記録装置１００の起動時にＣＰＵが実行するブートプログラムや、本発明の実施形態に係るデータの上書きを制御する制御プログラムを含む、起動後に制御部１５０に上述した機能を提供させるためのプログラムを格納する。そして、ＣＰＵはこれらのプログラムを、ＲＡＭを用いて実行する。
【００４３】
図４は、本発明の実施の形態に係るテープ記録装置１００の制御部１５０の機能構成の一例を示す。制御部１５０は、受付部４００、試行部４０５、種別判定部４１０、上書き実行部４１５、結果判定部４２０、上書き再試行部４２５、及びエラー通知部４３０を含む。
【００４４】
受付部４００は、上書き開始位置に関する情報及び上書き要求を受け付ける。かかる情報は、通信インターフェース１１０から制御部１５０、即ち受付部４００へ渡される。受付部４００より受け付けられた上書き開始位置に関する情報及び上書き要求は、その後、後述する試行部４０５へ渡される。
【００４５】
試行部４０５は、受付部４００から渡された上書き開始位置に関する情報に基づいて、テープ媒体１０上に記録されたデータ書込み単位であるデータユニット、即ちＤＳの先頭の位置の確定を試みる。上書き開始位置となるＤＳの先頭の位置を確定するには、該ＤＳの１つ手前のＤＳの詳細な終端位置を確定しなければならない。なぜなら、既存の有効なデータを削除する可能性があるためである。しかし、テープ媒体１０の表面のダメージや塵埃等の異物の付着により、サーボトラックからの信号の読み取りが不安定となる場合には、１つ手前のＤＳの詳細な終端位置を確定できない。その結果、試行部４０５は、上書き開始位置となるＤＳの先頭の位置を確定できない。
【００４６】
試行部４０５は、上書き開始位置としてＤＳの先頭位置を確定できなかった場合、上書き開始位置として指定されたＤＳのＤＳ番号を、後述する種別判定部４１０へ渡す。一方、試行部４０５は、上書き開始位置としてＤＳの先頭位置を確定できた場合、確定した上書き開始位置を、後述する上書き実行部４１５へ渡す。
【００４７】
種別判定部４１０は、試行部４０５による上書き開始位置の確定の失敗に応答して、上書き開始位置に記録されているＤＳが、ユーザデータと区別し得るＤＳ、即ち空のＤＳ（ＮＵＬＬ  ＤＳ）であるか否かを判定する。種別判定部４１０は、このような判定を、一例として、ＤＳＩＴに記されたＤＳの種別を示すフラグから読み取ることにより行う。これに代えて、種別判定部４１０は、ＤＳＩＴ以外に記録された情報からＤＳがＮＵＬＬ  ＤＳであるか否かを判断しても良い。
【００４８】
上書き開始位置に記録されているＤＳが、ＮＵＬＬ  ＤＳであると判定した場合、種別判定部４１０は、判定の結果を試行部４０５へ伝える。この場合試行部４０５は、ＮＵＬＬ  ＤＳであるとの種別判定部４１０による判定結果に応答して、新たな上書き開始位置として、そのＤＳに続く次のＤＳの先頭の確定を試みる。試行部４０５が次のＤＳの先頭の確定に失敗した場合、種別判定部４１０は、試行部４０５による次のＤＳの先頭の確定の失敗に応答して、該次のＤＳがＮＵＬＬ  ＤＳであるか否かを判定する。そして再び試行部４０５は、次のＤＳがＮＵＬＬ  ＤＳであるとの種別判定部４１０による判定結果に応答して、最新の上書き開始位置として、次のＤＳに続く更に次のＤＳの先頭の確定を試みる。
【００４９】
このように、種別判定部４１０による処理は、判定対象のＤＳがＮＵＬＬ  ＤＳではないとの判定がなされるまで、試行部４０５による判定対象のＤＳの先頭の確定が失敗する度繰り返し行われる。なお、判定対象のＤＳがＮＵＬＬ  ＤＳではないと判定した場合、種別判定部４１０は、該判定結果を後述するエラー通知部４３０へ伝える。
【００５０】
このように、本発明の実施の形態に係るテープ記録装置１００は、指定された上書き開始位置を確定できなかった場合に、上書きを指定された位置に記録されているＤＳが、ユーザデータと区別し得るＮＵＬＬ  ＤＳであることを条件に該領域をとばして上書きの継続を試みる。これは、上書きを指定された位置に記録されているＤＳが、ＮＵＬＬ  ＤＳであるならば、ＮＵＬＬ  ＤＳがテープ媒体１０上に残ってしまっても、データ読出し時に置いてこの残されたＤＳがユーザデータとしてホスト装置へ返されることはないからである。
【００５１】
上書き実行部４１５は、試行部４０５による上書き開始位置の確定の成功に応答して、確定された上書き開始位置から上書きを実行する。上書き実行部４１５によるデータの上書き自体は、従来のテープ記録装置によるデータの上書き、即ち書き込みと同じである。なお、上書き実行部４１５は、上書きを開始する前に、データを上書きするＤＳの終端位置を保持しておくものとする。
【００５２】
結果判定部４２０は、上書き実行部４１５による上書きが成功したか否かを判定する。即ち、結果判定部４２０は、上書き実行部４１５によりテープ媒体１０の上書き開始位置にＤＳが書き込まれると、直ちにこれが読みだせることを確認し、ＤＳが記録されているか否かを判定する。
【００５３】
ＤＳが正しく書き込まれている場合、結果判定部４２０は上書き成功との判定結果を、上書き実行部４１５へ伝える。この場合、上書き実行部４１５は、上書き処理を継続する。一方、ＤＳが正しく書き込まれていない場合、結果判定部４２０は、上書き失敗との判定結果を、後述する上書き再試行部４２５へ伝える。
【００５４】
上書き再試行部４２５は、結果判定部４２０による上書き失敗との判定に応答して、上書きを失敗したＤＳである第１ＤＳがＮＵＬＬ  ＤＳであることを条件に、上書き実行部４１５に第１ＤＳに続く次のＤＳである第２ＤＳの先頭から上書きを再度試行させる。一方、第１ＤＳがＮＵＬＬ  ＤＳでない場合、上書き再試行部４２５はその旨を後述するエラー通知部４３０に伝える。なお、上書き実行部４１５は、保持しておいた上書きを失敗したＤＳの終端位置に基づいて、第２ＤＳの先頭の位置の確定を試みる。
【００５５】
このように上書き再試行部４２５は、上書き開始位置におけるＤＳの上書きの失敗を一度だけ許可する。これは次のような理由による。通常は、その一部が上書きされたＤＳは、完全なＤＳではないため、テープ記録装置１００にゴミとして認識される。しかしこの一部が上書きされたＤＳが、テープ記録装置１００によって偶然に読み出される場合がある。ここで、一部が上書きされたＤＳが１つだけ存在するだけならば、そのすぐ後に当該ＤＳと同じＤＳ番号をもち、かつＴＷＰの値が大きいＤＳが存在することになるので、その偶然に読み出されたＤＳの有効性はすぐに判断され得る。
【００５６】
しかし、一部が上書きされたＤＳが複数存在することになると、ＤＳの有効性を判断するために、ここでも続く複数のＤＳを読み出すことが要求されてしまう。即ちＤＳの有効性を判断するために複雑な処理が要求されてしまう。そこで、本発明では、上書き再試行部４２５は、上書き開始位置におけるＤＳの上書きの失敗を一度だけ許可する。
【００５７】
上書き実行部４１５が、第２ＤＳの先頭からの上書きを失敗した場合、上書き失敗との判定結果が再び結果判定部４２０から上書き再試行部４２５へ伝えられる。この場合、上書き再試行部４２５は、２度目の上書き失敗であることから、上書きの再試行を許可することなく上書き失敗との判定結果を後述するエラー通知部４３０へ伝える。
【００５８】
エラー通知部４３０は、ＤＳがＮＵＬＬ  ＤＳでないとの種別判定部４１０による判定に応答して、上書きが失敗したことを示すエラーをホスト装置へ通知する。エラー通知部４３０はまた、上書き再試行部４２５から上書き失敗との判定結果を受け取ったことに応答して、上書きが失敗したことを示すエラーをホスト装置へ通知する。
【００５９】
次に、本発明の実施の形態に係るテープ記録装置１００によってデータを上書きした場合、ＤＳの有効性の判断が複雑とならないことを、図５乃至図８を参照して具体的に説明する。上述したように、図５（ａ）は、本発明の実施の形態に係るテープ記録装置１００がその効果を奏するテープ媒体１０の一例を示す。図５（ａ）をみると分かるように、テープ媒体１０には、ＥＯＤ（ＤＳ番号＝Ｎ＋２、ＴＷＰ＝１）とユーザデータ（ＤＳ番号＝Ｎ−１、ＴＷＰ＝１）との間に、２つのＮＵＬＬ  ＤＳ（ＤＳ番号＝Ｎ、Ｎ＋１、ＴＷＰ＝１）が記録されている。
【００６０】
このような状態のテープ媒体１０に対し、位置５０４に記録されているＤＳを上書き開始位置とする上書き要求が、受付部４００により受け付けられたとする。まず、試行部４０５による、位置５０４に記録されているＤＳの先頭（矢印５１０を参照）の確定が成功し、かつ上書き実行部４１５による上書きが成功する場合を考える。このような状況の下で上書きされた、上書き終了後のテープ媒体１０を図５（ｂ）に示す。この場合、上書きは、上書き開始位置として当初指定された位置５０４から開始されるため、図５（ｂ）に示すテープ媒体１０には古い、従って有効でないＤＳは存在しない。
【００６１】
次に、図６（ａ）に示すように、指定された上書き開始位置の確定は失敗するが（矢印５１２を参照）、種別判定部４１０により、位置５０４に記録されているＤＳがＮＵＬＬ  ＤＳであることが確認され、試行部４０５による次のＤＳの先頭の確定（矢印５１４を参照）及び上書き実行部４０１５による上書きが成功する場合を考える。このような状況の下で上書きされた、上書き終了後のテープ媒体１０を図６（ｂ）に示す。この場合、位置５０４のＤＳが飛ばされて位置５０６のＤＳから上書きが開始されている。その結果位置５０４には古いＤＳが残っているが、このＤＳはＮＵＬＬ  ＤＳであるため、読出し時に読み出されてもホスト装置へ返されることはなく、有効性の判断処理が複雑になることはない。
【００６２】
次に、図７（ａ）に示すように、試行部４０５による指定された上書き開始位置の確定は成功したが、（矢印５１６を参照）、上書き実行部４１５による上書きが失敗する場合を考える。上述したように、本発明では、上書きの失敗は一回限り許可される。そこで、ここでは、位置５０６に記録された次のＤＳに対する上書き実行部４１５による上書きが成功する場合を考える。
【００６３】
このような状況の下で上書きされた、上書き終了後のテープ媒体１０を図７（ｂ）に示す。この場合、上書きは位置５０６のＤＳから開始されるため、一部上書きされた位置５０４のＤＳはそのまま残っている。しかし、位置５０４のＤＳが偶然読み出されたとしても、該ＤＳのＴＷＰよりも値の大きいＴＷＰをもつ同じＤＳ番号のＤＳが、そのすぐ後の位置５０６に存在するため、有効性の判断処理が複雑になることはない。
【００６４】
なお、図７（ｃ）に示すように、位置５０６に記録された次のＤＳに対する上書きも失敗となった場合、一部上書きされたＤＳが複数残ることになる。そのため、ＤＳの有効性を判断するためには、続く複数のＤＳを読み出す必要があり、有効性の判断処理が複雑となるため、２回目以降の上書きの失敗は許可されない。
【００６５】
最後に、図８（ａ）に示すように、指定された上書き開始位置の確定は失敗となるが、（矢印５２０を参照）、種別判定部４１０により、位置５０４に記録されているＤＳがＮＵＬＬ  ＤＳであることが確認され、試行部４０５により次のＤＳの先頭の確定が成功する場合（矢印５２２を参照）を考える。但し、ここでは、図６のケースと異なり、上書き実行部４１５が、位置５０６のＤＳに対しては上書きを失敗し、位置５０８のＤＳに対して初めて上書きを成功させる場合を考える。
【００６６】
このような状況の下で上書きされた、上書き終了後のテープ媒体１０を図８（ｂ）に示す。この場合、位置５０４のＤＳが飛ばされて位置５０６のＤＳから上書きが開始されている。その結果位置５０４には古いＤＳが残っているが、このＤＳはＮＵＬＬ  ＤＳであるため、読出し時に読み出されてもホスト装置へ返されることはなく、有効性の判断処理が複雑になることはない。また、上書きは位置５０８のＤＳから開始されるため、一部上書きされた位置５０６のＤＳはそのまま残っている。しかし、位置５０６のＤＳが偶然読み出されたとしても、該ＤＳのＴＷＰよりも値の大きいＴＷＰをもつＤＳが、そのすぐ後の位置５０８に存在するため、有効性の判断処理が複雑になることはない。このように、上書き開始の位置によらず、上書きの失敗は一回限り許可される。
【００６７】
次に図９のフローチャートを参照して、本実施形態に係るテープ記録装置１００の動作を説明する。図９に示すフローチャートは、ホスト装置からデータの上書き要求を受け取るところから開始する（ステップ９００）。テープ記録装置１００は、データの上書きを開始するＤＳのＤＳ番号Ｘをカウンタiにセットする（ステップ９０５）。そして、テープ記録装置１００は、ＤＳ番号ｉのＤＳの先頭位置の確定を試みる（ステップ９１０）。
【００６８】
ＤＳ番号ｉのＤＳの先頭位置を確定できなかった場合（ステップ９１０：ＮＯ）、テープ記録装置１００は、ＤＳ番号ｉのＤＳがＮＵＬＬ  ＤＳであるか否か判定する（ステップ９１５）。ＤＳ番号ｉのＤＳがＮＵＬＬ  ＤＳである場合（ステップ９１５：ＹＥＳ）、テープ記録装置１００は、カウンタiの値を１増分し（ステップ９２０）、ステップ９１０へ戻る。このように、テープ記録装置１００は、上書き開始位置を確定できない場合、その開始位置を確定できなかったＤＳがＮＵＬＬ  ＤＳである限り、上書き開始位置を次のＤＳにずらしてその先頭位置の確定を試みる。
【００６９】
一方、ステップ９１０においてＤＳ番号ｉのＤＳの先頭位置を確定できた場合、テープ記録装置１００は、カウンタｉの値を上書き開始位置Ａにセットして、上書き開始位置を保持する（ステップ９２５）。そしてテープ記録装置１００は、確定したＤＳ番号ｉのＤＳの先頭位置から上書きを実行する（ステップ９３０）。テープ記録装置１００は、ＤＳ番号ｉのＤＳに対する上書きが成功したか否かを判定する（ステップ９３５）。ＤＳ番号ｉのＤＳに対する上書きが成功した場合（ステップ９３５：ＹＥＳ）、テープ記録装置１００は、残りのデータがなくなるまで上書き処理を継続する（ステップ９３７）。そして処理は終了する。
【００７０】
一方、ステップ９３５においてＤＳ番号ｉのＤＳに対する上書きが失敗した場合、テープ記録装置１００は、上書きを失敗したＤＳがＮＵＬＬ  ＤＳであるか否か判定する（Ｓ９４０）。ＮＵＬＬ  ＤＳである場合（Ｓ９４０：ＹＥＳ）、処理はステップ９４５へ進み、テープ記録装置１００は、カウンタiの値を１増分し、カウンタｉの値が上書き開始位置Ａを１増分した値と等しいか否か判定する（ステップ９５０）。カウンタｉの値が上書き開始位置Ａを１増分した値と等しい場合（ステップ９５０：ＹＥＳ）、テープ記録装置１００は、新たな上書き開始位置として、ＤＳ番号ｉのＤＳの先頭位置の確定を試みる（ステップ９５５）。
【００７１】
ＤＳ番号ｉのＤＳの先頭位置を確定できた場合（ステップ９５５：ＹＥＳ）、処理はステップ９３０へ戻り、テープ記録装置１００は、確定したＤＳ番号ｉのＤＳの先頭位置から上書きを実行する。一方ステップ９１５において、ＤＳ番号ｉのＤＳがＮＵＬＬ  ＤＳでなかった場合、ステップ９４０において上書きを失敗したＤＳがＮＵＬＬ  ＤＳでなかった場合、ステップ９０５において、カウンタｉの値が上書き開始位置Ａを１増分した値と等しくなかった場合、又は、ステップ９５５において、ＤＳ番号ｉのＤＳの先頭位置を確定できなかった場合、処理はステップ９６０へ進み、テープ記録装置１００は、上書きエラーをホスト装置へ通知する。そして処理は終了する。
【００７２】
以上のように、本発明の実施形態に係るテープ記録装置１００によれば、データ読出し時に、カートリッジメモリにアクセスして、上書き開始位置がずらされているか否かを確認する必要がない。従って、カートリッジメモリにアクセスできない場合に、データの有効性を判断するための処理が複雑になることもない。また、カートリッジメモリにアクセスできない場合にデータの有効性を判断するための処理が複雑になることを考慮して、上書きの再試行を禁止する必要もない。本発明の実施形態に係るテープ記録装置１００によれば、ユーザデータと区別し得る特定の種別のデータユニットである限り、該ユニットをとばして上書きを再試行することができる。
【００７３】
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。上記の実施形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。従って、そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図１】
2010058655.tif 000003
【図２】
2010058655.tif 000004
【図３】
2010058655.tif 000005
【図４】
2010058655.tif 000006
【図５】
2010058655.tif 000007
【図６】
2010058655.tif 000008
【図７】
2010058655.tif 000009
【図８】
2010058655.tif 000010
【図９】
2010058655.tif 000011
【国際調査報告】
2010058655.tif 000012
2010058655.tif 000013
2010058655.tif 000014
2010058655.tif 000015