(57)【要約】【課題】媒体ドライブ、ならびにディレクトリ改訂番号を作成、改訂、および使用するための方法を提供する。【解決手段】磁気テープ媒体のような情報記憶媒体は、当該媒体に書込まれた各ブロック（たとえばデータブロック、ＥＣＣブロック、または情報ブロック）の一部としてディレクトリ改訂番号を記録する。このディレクトリ改訂番号により、テープから読出されたディレクトリが、そのディレクトリ改訂番号とともに書込まれたブロックに対して有効であるかどうかを判断することができる。ディレクトリ改訂番号はまた、ディレクトリを再構築するためにも使用され得る。【選択図】図１
2007149326.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体装置のディレクトリの有効性を判断するためのロジックを含む媒体ドライブであって、前記記憶媒体装置は記憶媒体を含み、前記媒体ドライブは、
前記記憶媒体に読出しまたは書込みを行なうための記録ヘッドと、
前記ディレクトリに関連付けられた第１のディレクトリ改訂番号と、前記記憶媒体上のブロックに関連付けられた第２のディレクトリ改訂番号とを比較することにより、前記ディレクトリが有効であるかどうかを判断するように作動可能な検証ロジックとを備える、媒体ドライブ。
【請求項２】
前記第１のディレクトリ改訂番号が、前記記憶媒体において最近のディレクトリ改訂番号ではない場合に、ディレクトリ内のメタデータを無効化するように作動可能な無効化ロジックをさらに備える、請求項１に記載の媒体ドライブ。
【請求項３】
前記無効化ロジックは、前記記憶媒体上のディレクトリ内のＥＯＤの位置を無効化するように作動可能である、請求項２に記載の媒体ドライブ。
【請求項４】
前記無効化ロジックは、前記記憶媒体上のディレクトリ内のファイルマークの位置を無効化するように作動可能である、請求項２に記載の媒体ドライブ。
【請求項５】
前記第１のディレクトリ改訂番号が最新のディレクトリ改訂番号ではない場合に、前記記憶媒体上のディレクトリを再構築するように作動可能な再構築ロジックをさらに備える、請求項１に記載の媒体ドライブ。
【請求項６】
前記検証ロジックは、前記記憶媒体上に格納されたディレクトリから読出された前記第１のディレクトリ改訂番号と、前記記憶媒体上のブロックからの第２のディレクトリ改訂番号とを比較するように作動可能である、請求項１に記載の媒体ドライブ。
【請求項７】
前記検証ロジックは、前記記憶媒体上の補助メモリに格納されたディレクトリから読出された前記第１のディレクトリ改訂番号と、前記記憶媒体上のブロックからの第２のディレクトリ改訂番号とを比較するように作動可能である、請求項１に記載の媒体ドライブ。
【請求項８】
前記記憶媒体上のディレクトリのディレクトリ改訂番号から得られた値にオフセット値を加算することにより、現時点での正しいディレクトリ改訂番号を計算するように作動可能な計算ロジックをさらに備える、請求項１に記載の媒体ドライブ。
【請求項９】
記録ヘッドにより前記記憶媒体装置に書込まれた各ブロックとともに前記現時点での正しいディレクトリ改訂番号を書込むように作動可能な書込みロジックをさらに備える、請求項８に記載の媒体ドライブ。
【請求項１０】
記憶媒体装置のディレクトリを検証するように作動可能な検証ロジックを含む媒体ドライブであって、前記記憶媒体装置は記憶媒体を含み、前記媒体ドライブは、
前記記憶媒体に読出しまたは書込みを行なうための記録ヘッドと、
前記ディレクトリに関連付けられた第１のディレクトリ改訂番号と、前記記憶媒体上のブロックに関連付けられた第２のディレクトリ改訂番号とを比較することにより、前記ディレクトリが有効であるかどうかを判断するように作動可能な検証ロジックとを備える、媒体ドライブ。
【請求項１１】
前記記録ヘッドにより前記記憶媒体装置に書込まれた各ブロックとともに現時点での正しいディレクトリ改訂番号を書込むように作動可能な書込みロジックをさらに備える、請
求項１０に記載の媒体ドライブ。
【請求項１２】
記憶媒体装置のディレクトリを検証する方法であって、前記記憶媒体装置は記憶媒体を含み、前記方法は、
前記ディレクトリから第１のディレクトリ改訂番号を読出すステップと、
前記記憶媒体上のブロックから第２のディレクトリ改訂番号を読出すステップと、
前記第１および第２のディレクトリ改訂番号を比較して、前記第１のディレクトリ改訂番号が最近のディレクトリ改訂番号であるか否かを判断するステップとを含む、方法。
【請求項１３】
前記ディレクトリは前記記憶媒体に格納されている、請求項１２に記載の方法。
【請求項１４】
前記第１のディレクトリ改訂番号が最新のディレクトリ改訂番号ではない場合に、前記ディレクトリ内のメタデータを無効化するステップをさらに含む、請求項１２に記載の方法。
【請求項１５】
前記第１のディレクトリ改訂番号が最新のディレクトリ改訂番号ではない場合に、前記ディレクトリを再構築するステップをさらに含む、請求項１２に記載の方法。
【請求項１６】
現時点での正しいディレクトリ改訂番号を求めるステップと、
前記記憶媒体装置に書込まれた各ブロックとともに前記現時点での正しいディレクトリ改訂番号を書込むステップとをさらに含む、請求項１２に記載の方法。
【請求項１７】
現時点での正しいディレクトリ改訂番号を求める前記ステップはさらに、
データ終了ディレクトリから読出されてオフセット分だけインクリメントされたディレクトリ改訂番号に等しくなるように前記現時点での正しいディレクトリ改訂番号を設定するステップを含む、請求項１６に記載の方法。
【請求項１８】
前記オフセットは１である、請求項１７に記載の方法。
【請求項１９】
現時点での正しいディレクトリ改訂番号を求める前記ステップはさらに、
トラック開始ディレクトリから読出されてオフセット分だけインクリメントされた第２のディレクトリ改訂番号のディレクトリ改訂番号に等しくなるように前記現時点での正しいディレクトリ改訂番号を設定するステップを含む、請求項１６に記載の方法。
【請求項２０】
前記オフセットは６４，０００である、請求項１９に記載の方法。
【請求項２１】
現時点での正しいディレクトリ改訂番号を求める前記ステップはさらに、
前記記憶媒体が空白であるときに、前記現時点での正しいディレクトリ改訂番号を１に等しくなるように設定するステップを含む、請求項１６に記載の方法。
【請求項２２】
前記記憶媒体装置上のディレクトリに前記現時点での正しいディレクトリ改訂番号を記録するステップをさらに含む、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
１．発明の分野
この発明は一般に、情報記憶媒体のディレクトリの妥当性を検証および証明することに関し、特定的には、ディレクトリ情報の妥当性に基づき、情報記憶媒体のデータブロック、ＥＣＣブロック、および／または情報ブロックの書込みおよび読出しを制御することに関する。
【背景技術】
【０００２】
２．関連技術
情報記憶媒体装置、たとえば磁気テープ媒体は、データを格納および記録するために、コンピュータ周辺装置により使用される。特に、リニアデータテープは、当該リニアデータテープがヘッドアセンブリを通過して進行するのに伴い読出しおよび／または書込みが行なわれ得る記憶媒体の一種である。テープは前進方向または逆進方向の両方においてヘッドアセンブリを通過して移動し、情報の１つ以上の「トラック」が、テープの移動方向と平行な方向においてテープに記録されるか、またはテープから読出される。
【０００３】
媒体ドライブは、記憶媒体とともに使用され得る。媒体ドライブは一般に、記憶媒体に対する情報の書込みおよび／または読出しのためのヘッドアセンブリを含む。ヘッドアセンブリ（たとえば記録ヘッドアセンブリ）は、互いに横方向に隣接する多数のヘッドを含み得る。記憶媒体は一般に、ヘッドアセンブリと相互作用し得るように編成される。１つのフォーマットに従い、物理トラックが、バンド、チャネル、および論理トラックに応じてグループ化され得る。物理トラックとは、特定の横方向位置において記録ヘッドがテープ媒体上を横断する区域である。互いに横方向に隣接し、かつ、バンド内の異なる横方向位置において同一の記録ヘッドが横切る物理トラックは、同一の「チャネル」に関連付けられる（便宜上、この明細書では、１つのバンド内で作動するヘッドを時として「チャネル」と称する）。たとえば、同一方向において１つのヘッドにより書込まれた多数の物理トラックは、１つのグループとして互いに横方向に隣接することが考えられ、このグループの後に、別のチャネルに関連付けられた別の組の物理トラックが続く。ヘッドは、横方向に進んでバンド内の物理トラックに書込みを行うことができるが、ヘッドアセンブリ内の次の隣接するヘッドにより書込まれたトラックに到達する前に停止して、当該次の隣接するヘッドにより書込まれたトラックに上書きすることを回避する。チャネルに関連付けられた物理トラックのグループは、「論理トラック」に対応する。この明細書では、特に示さない限り、「トラック」に対するどのような言及も、物理トラックを指す。ヘッドアセンブリにおけるすべての記録ヘッドが１方向において横切る、すべての隣接する物理トラックは、「バンド」を表わす。
【０００４】
媒体ドライブ（たとえばテープドライブ）は、コンピュータまたはデータ処理システムからデータを受取る。情報は一般に、トラックに記録され得るブロックのシーケンスへと（たとえばフォーマッタにより）フォーマット化される。ブロックは、（たとえばユーザデータを含む）データブロック、エラー訂正符号（「ＥＣＣ」）ブロック、（たとえばファイルマーク、ディレクトリ、Dmark等のメタデータを含む）情報ブロック、またはそれらの組合せであり得る。一般に各ブロックは、プリアンブル、ヘッダ、ポストアンブル（ＥＣＣ情報を含む）等の追加情報も含む。たとえば、ブロックは一般に、フォーマッタにより割当てられたブロック番号またはブロックアドレスを含む。ブロックは、シーケンシャルな態様でテープに記録され（書込まれ）得る。ブロックは一般に、読出しおよび書込みが行なわれる情報の最小要素である。各ブロックは、書込みが行なわれていない間隙が
ブロック間に存在する状態で、１つのヘッドにより書込まれる。
【０００５】
一般に、情報のブロックは、シーケンシャルに読出しおよび書込みが行なわれ、多数回アクセスされ得る。このことは特に、リニアデータテープ等の記憶媒体において当てはまる。したがって、１つ以上のディレクトリが、記憶媒体とともに含まれて、当該データテープに固有の情報を提供することができる。たとえば、ディレクトリは、データが最後に書込まれた時、データ終了（「ＥＯＤ」）の位置、（スペーシングアルゴリズムを最適化するために使用される）Dmarker、トラック終了（「ＥＯＴ」）の位置、ならびに他の索引付けおよび識別情報を示し得る。媒体ドライブ（たとえば媒体ドライブのテープドライブコントローラ）は、ディレクトリを読出して、所定のリニアテープに対するテープドライブの読出し／書込みアクションの制御を補助することができる。
【０００６】
リニアデータテープが開始部分から読出される際に、ディレクトリは一般に、読出される最初のものとなる。テープ上の１つ以上のディレクトリが適切に更新されていないときに問題が生じ得る。たとえば、情報のブロックがリニアテープに書込まれた後に、指定変更または停電により、１つ以上のディレクトリが更新されなかったことが考えられる。したがって、回復されたディレクトリが最新のものであるかどうか、または、ディレクトリを書込もうとする最後の試みが失敗に終わったかどうかを認識する方法が存在しないことが考えられる。たとえば、ディレクトリを検証する唯一の方法は、実際のＥＯＤを読出して、このアドレスとディレクトリのアドレスとを比較することが考えられる。同様の判断がＥＯＴを用いて行なわれ得る。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
発明の概要
媒体ドライブ、ならびに、ディレクトリ改訂番号を作成、改訂、および使用するための方法が、ここに記載される。ディレクトリ改訂番号は、記憶媒体装置上のブロック（たとえば、データブロック、ＥＣＣブロック、情報ブロック等）についてのデータまたは他の情報の改訂番号を示すために使用され得、ディレクトリの妥当性を示し、かつ、記憶ディレクトリを再構築するために使用され得る。
【課題を解決するための手段】
【０００８】
一変形において、媒体ドライブは、記憶媒体装置（記憶媒体を含む）のディレクトリの妥当性を証明するための検証ロジックを含む。媒体ドライブは、記憶媒体の読出しまたは書込みを行うための記録ヘッドと、第１のディレクトリ改訂番号と記憶媒体上のブロックからの第２のディレクトリ改訂番号とを比較して、第１のディレクトリ改訂番号が最近のディレクトリ改訂番号であるか否かを判断するための検証ロジックとを含み得る。
【０００９】
媒体ドライブはまた、第１のディレクトリ改訂番号が記憶媒体において最近のディレクトリ改訂番号ではない場合に、ディレクトリ内のメタデータを無効化するための無効化ロジックも含み得る。無効化ロジックは、ディレクトリの全体、ＥＯＤの位置、ファイルマークの位置、Dmark等を含むメタデータのいかなる適切な種類をも無効化するように作動可能である。
【００１０】
媒体ドライブはまた、第１のディレクトリ改訂番号が最新のディレクトリ改訂番号ではない場合に、記憶媒体上でディレクトリを再構築するための再構築ロジックも含み得る。ディレクトリは、データ媒体全体を走査することにより、または、記憶媒体上のディレクトリ内に存在する情報を用いることにより、再構築され得る。いくつかの変形において、ディレクトリは、ディレクトリ改訂番号を用いて再構築される。
【００１１】
いくつかの変形において、媒体ドライブの検証ロジックは、記憶媒体に格納されたディレクトリから読出された第１のディレクトリ改訂番号と、記憶媒体上のブロックからの第２のディレクトリ改訂番号とを比較するように作動可能である。検証ロジックは、記憶媒体上の補助メモリから読出された第１のディレクトリ改訂番号と、記憶媒体上のブロックからの第２のディレクトリ改訂番号とを比較するように作動可能であり得る。
【００１２】
いくつかの変形において、媒体ドライブはまた、記憶媒体上のディレクトリのディレクトリ改訂番号から得られた値にオフセット値を加算することにより、現時点での正しいディレクトリ改訂番号を計算するための計算ロジックも含む。現時点での正しいディレクトリ改訂番号は、記憶媒体に対する現時点での動作を反映するディレクトリ改訂番号であり、一般に、記憶媒体（たとえば書込みブロック等）に対する以前のいずれかの動作を反映するために使用されたディレクトリ改訂番号よりも高位である（大きい）。
【００１３】
媒体ドライブは、記録ヘッドにより記憶媒体装置に書込まれた各ブロックとともに現時点での正しいディレクトリ改訂番号を書込むための書込みロジックを含み得る。
【００１４】
記憶媒体装置のディレクトリを検証するための検証ロジックを含む媒体ドライブもまた、ここに記載される。記憶媒体装置は、記憶媒体を含む。媒体ドライブは、記憶媒体に読出しまたは書込みを行うための記録ヘッドと、第１のディレクトリ改訂番号と、記憶媒体上のブロックからの第２のディレクトリ改訂番号とを比較するための検証ロジックと、現時点での正しいディレクトリ改訂番号を計算するための計算ロジックとを含み得る。媒体ドライブはまた、記録ヘッドにより記憶媒体装置に書込まれた各ブロックとともに現時点での正しいディレクトリ改訂番号を書込むための書込みブロックも含み得る。
【００１５】
一変形において、記憶媒体装置（記憶媒体を含む）に対するディレクトリの妥当性を判断するための方法は、ディレクトリから第１のディレクトリ改訂番号を読出すステップと、媒体上のブロックから第２のディレクトリ改訂番号を読出すステップと、第１および第２のディレクトリ改訂番号を比較して、第１のディレクトリ改訂番号が最新のディレクトリ改訂番号であるか否かを判断するステップとを含む。
【００１６】
ディレクトリ改訂番号が読出されるディレクトリは、記録媒体（たとえばテープ媒体、リニアテープ媒体等）に格納され得る。いくつかの変形において、記憶媒体は補助メモリを含み得、ディレクトリは、当該補助メモリに格納され得る。第１のディレクトリ改訂番号が最新のディレクトリ改訂番号ではない場合、ディレクトリ内のメタデータが無効と考えられ得る。たとえば、コントローラを用いて記憶媒体からの読出しおよび書込みを制御する際に、コントローラは、ディレクトリ改訂番号を比較することができ、ディレクトリ改訂番号が最新のディレクトリ改訂番号ではない場合、コントローラは、メタデータ（たとえばＥＯＤの位置、ファイルマークの位置等）を無視することができ、ディレクトリが正確なものとなるようにディレクトリを再構築することができる。特にコントローラは、ディレクトリの以前の改訂から求められた位置を反映するメタデータを無視することができる。
【００１７】
ディレクトリは、コントローラにより再構築され得る。いくつかの変形において、コントローラは、ディレクトリ改訂番号を用いてディレクトリを再構築するためのステップを実行する。たとえばディレクトリは、最近のディレクトリ改訂番号を求めること、および、ディレクトリを更新して、最近書込まれたブロック（たとえば最近のディレクトリ改訂番号とともに書込まれたブロック）からの情報を反映することにより、再構築され得る。
【００１８】
記憶媒体に対して読出しおよび書込みが行われるブロックは、データブロック、ＥＣＣ（誤り訂正符号）ブロック、および情報ブロック（たとえばディレクトリ等を含むメタデ
ータブロック等）の適切ないずれかのブロックを含み得る。
【００１９】
記憶媒体装置（記憶媒体を含む）にブロックを書込む方法もまた、ここに記載される。この方法は、現時点での正しいディレクトリ改訂番号を求めるステップと、記憶媒体装置に書込まれた各ブロックとともに現時点での正しいディレクトリ改訂番号を書込むステップとを含み得る。この方法はまた、現時点での正しいディレクトリ改訂番号が求められるまで記憶媒体装置の書込みを不能にするステップも含み得る。いくつかの変形において、現時点での正しいディレクトリ改訂番号を求めるステップは、データ終了ディレクトリから読出されてオフセット分だけ（たとえば１だけ）インクリメントされたディレクトリ改訂番号に等しくなるように現時点での正しいディレクトリ改訂番号を設定するステップを含む。現時点での正しいディレクトリ改訂番号を求めるステップは、トラック開始ディレクトリから読出されてオフセット（たとえば６４，０００）分だけインクリメントされた第２のディレクトリ改訂番号のディレクトリ改訂番号に等しくなるように現時点での正しいディレクトリ改訂番号を設定するステップを含み得る。現時点での正しいディレクトリ改訂番号は、記憶媒体（たとえばリニアデータテープ）を基準とした記録ヘッド（たとえば読出し／書込みヘッド）の位置に基づき得る。記憶媒体が最初に空白である場合、現時点での正しいディレクトリ改訂番号を求めるステップは、現時点での正しいディレクトリ改訂番号を１に等しくなるように設定することによってディレクトリ改訂番号を初期化するステップを含み得る。
【００２０】
記憶媒体装置にブロックを書込む方法はまた、現時点での正しいディレクトリ改訂番号を含むようにディレクトリを更新するステップも含み得る。たとえばコントローラは、記憶媒体装置の記憶媒体上の適切ないずれかのディレクトリを更新し得る。
【００２１】
記憶媒体装置（記憶媒体を含む）のディレクトリの妥当性を判断するためのシステムもまた、ここに記載される。このシステムは、第１のディレクトリ改訂番号記憶レジスタと、記憶媒体の読出しまたは書込みを行なうための記録ヘッドと、読出しヘッドを制御するためのコントローラとを含み得、コントローラは、第１のディレクトリ改訂番号と、記憶媒体上のブロックからの第２のディレクトリ改訂番号とを比較するように構成される。第１のディレクトリ改訂記憶レジスタは、ディレクトリから（たとえば記憶媒体から読出されたディレクトリから）の第１のディレクトリ改訂番号を含み得、第２のディレクトリ改訂番号は、記憶媒体上のブロックから読出され得る。
【発明を実施するための最良の形態】
【００２２】
発明の詳細な説明
以下の説明は、当業者によるこの発明の作成および使用を可能にするように提示される。特定の装置、技術、および用途の説明は、例としてのみ提供される。ここに記載される例に対するさまざまな変更が、当業者には容易に明らかになるであろう。また、ここに定義される一般原理は、この発明の精神および範囲から逸脱することなく他の例および用途に適用可能である。したがって、この発明は、ここに記載および図示される例に限定されるように意図されず、請求項との整合性を有する範囲に適合し得る。
【００２３】
以下に続く詳細な説明のいくつかの部分は、コンピュータメモリにおいて実行され得るデータビットに対する動作の手順、ステップ、ロジックまたはロジックブロック、処理、および他のシンボル表現に関して提示される。手順、コンピュータ実行ステップ、ロジックまたはロジックブロック、プロセス等は、ここでは、所望の結果に至るステップまたは命令の、自己整合するシーケンスであると考えられる。これらのステップは、物理量の物理的な操作を利用するものである。これらの量は、コンピュータシステムにおいて格納され、転送され、組み合わされ、比較され、その他の態様では操作され得る電気信号または磁気信号の形を取り得る。これらの信号は時として、ビット、値、要素、シンボル、文字
、用語、番号等と称され得る。各ステップは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せにより実行され得る。
【００２４】
ディレクトリ改訂番号を含むブロックを書込む方法がここに記載され、それにより、全ブロックが書込まれた時点で、現時点での正しいディレクトリ改訂番号が全ブロックに格納される。ブロックは、データブロック、ＥＣＣブロック、または情報ブロックを含み得る。現時点での訂正されたディレクトリ改訂番号（時として、現時点でのまたは正しいディレクトリ改訂番号と単に称する）は、ディレクトリの改訂（たとえば記憶媒体へのブロックの書込み）をトリガする最近のアクションを反映するディレクトリ改訂番号である。ディレクトリ改訂番号により、ドライブコントローラは、回復されたディレクトリが媒体（たとえばデータテープ媒体）から読出されたデータに適用されているかどうかを迅速に判断することができる。この情報を次に用いて、重要なメタデータが媒体上のどこに格納されているか、および、読出されているデータが、回復されたディレクトリに基づき有効であるか否かを判断することができる。
【００２５】
ディレクトリ改訂番号は、いずれかの記憶サブシステムとともに用いると有用であり得る。記憶サブシステム、たとえば磁気テープライブラリ等は、デジタル形式で情報を格納するために広く使用される。例示的なテープ記憶サブシステム１００を図１に示す。記憶サブシステム１００は、記憶サブシステム１００内に収容される１つ以上のテープドライブ１０２を制御するため、および、記憶サブシステム１００の他の構成要素、たとえばテープカートリッジ１０６を選択してテープドライブ１０２内に装着するために使用されるテープピッカを制御するための、記憶サブシステムコントローラ１０１を含み得る。記憶サブシステム１００は、ホスト／記憶接続１１２を介して記憶サブシステム１００にＩ／Ｏ要求を送信するホストシステム１１０に結合され得る。
【００２６】
テープドライブ１０２は、主記憶媒体に対してデータの読出しおよび書込みを行う。この主記憶媒体は、図１において、取外し可能な磁気テープカートリッジ１０６内に収容される磁気テープ媒体１０４として示される。磁気テープ媒体１０４は一般に、データを格納する磁気材料の薄膜を含む。テープ媒体１０４は、間隔をあけて配置された１対のリール間において、テープドライブ１０２により動かされて、情報を記録するか、または情報をリードバックするためのデータトランスデューサを通過することができる。テープドライブシステムの一種では、リールの一方がテープドライブ１０２の一部であり、リールの他方が取外し可能なテープカートリッジ１０６の一部である。この種のテープドライブシステムに関し、テープドライブ１０２の一部であるリールは一般に、巻取りリールと呼ばれ、テープカートリッジ１０６の一部であるリールは一般に、カートリッジリールと呼ばれる。テープドライブ１０２内にテープカートリッジ１０６を挿入すると、カートリッジリール上の磁気テープ媒体１０４は、テープドライブ１０２の巻取りリールに結合される。その後、テープドライブ１０２からテープカートリッジ１０６を取外す前に、記憶テープ１０４はカートリッジリール上に再び巻き回され、その後、巻取りリールから結合を解除される。
【００２７】
テープドライブ１０２は一般に、テープドライブコントローラ１０３と、取外し可能なテープ記憶媒体装置とを含む。この場合、取外し可能なテープ記憶媒体装置は、データを格納するための主記憶媒体として磁気テープ媒体１０４を含むテープカートリッジ１０６を含み、補助メモリは含まない。この明細書における例では磁気テープ媒体が記載されているが、記載される、ディレクトリ改訂番号を使用するための方法およびシステムが、磁気テープ媒体、他の磁気媒体（たとえばディスク）、光学媒体等を含むいずれかの適切な媒体とともに使用され得ることを、当業者は認識するであろう。
【００２８】
さらに、テープ記憶媒体装置に対し、いずれかの適正なデータフォーマットを利用する
ことができる。例示的なデータフォーマットは、たとえば、リニアテープオープン（Linear Tape-Open （ＬＴＯ））テープ、デジタルリニアテープ（Digital Linear Tape （ＤＬＴ））、スーパーＤＬＴ（Super DLT （ＳＤＬＴ））等に関連する周知のデータフォーマットを含む。さまざまなデータフォーマットは、他のさまざまな公知のおよび未知のデータフォーマット、たとえば、さらに開発されたデータフォーマットを含み得る。
【００２９】
以下の議論は、磁気媒体（磁粉テープ等）に対する読出し動作および書込み動作を実行するための薄膜磁気テープヘッドを利用するリニアテープドライブシステムの一部として特に適用可能な例を記載する。加えて、ここで論じる磁気媒体は、磁気記録テープを含む。しかしながら、さまざまな例が、他のテープ記憶媒体および装置、たとえば２つのテープリールを含むテープカセットとともに使用すると有用であり得ることが理解されるであろう。
【００３０】
図２は、磁気テープ媒体１０４の領域を示すブロック図の一例を示す。カートリッジリーダ２０２は、磁気テープ媒体１０４の開始部分に示される。カートリッジリーダ２０２は、テープドライブ１０２のドライブリーダと結合するためのバックル機構に結合されており、データを格納するためには使用されない。次に存在するのがディレクトリ領域２０４であり、このディレクトリ領域２０４は、以下にさらに説明するように、テープドライブ１０２が効率よくユーザデータにアクセスし得るように使用されるディレクトリデータを格納し得る。ディレクトリ領域は、カートリッジログとも呼ばれ得る。いくつかの変形では、別個のカートリッジログも含まれ得る。その最初の較正処理におけるテープドライブ１０２を補助するために、ディレクトリ領域２０４の前に較正領域（図示せず）も設けられ得る。
【００３１】
ディレクトリ領域２０４の後に、エミュレートされた補助メモリ領域２０６が続き得る。エミュレートされた補助メモリ領域２０６を用いて、テープカートリッジ１０６に設けられた別個の補助メモリに格納されていたであろうデータを格納することができる。いくつかの変形は、エミュレートされた補助メモリ領域を含まない。エミュレートされた補助メモリ領域２０６は、異なる種類のアクセス制約を有する特定の種類のデータを格納するための多数の領域へとセグメント化され得る。次に存在するのが、今後の使用に備えて予約されている、予め定められた量の記録可能な空間を含む予約領域２０８である。予約領域２０８は、たとえば、さらに多くの容量が所望される場合に、エミュレートされた補助メモリ領域２０６を拡張するために使用され得る。いくつかの変形では、予約領域が含まれない。
【００３２】
予約領域２０８の後ろに存在するのがテープ開始領域２１０であり、このテープ開始領域２１０は、テープ穴２１２の開始部分により示される。テープドライブ１０２は、テープ開始穴２１２を用いて、ユーザデータ領域２１４内のどこにおいてユーザデータの格納を開始するべきかを判断することができる。図２は縮尺通りではなく、一般的なテープカートリッジにおいて、ユーザデータ領域２１４は、磁気テープ媒体１０４の長さの大部分を消費する。ユーザデータ領域２１４の後ろに存在するのが、テープ終了穴２１８により標識付けされるテープ終了領域２１６である。
【００３３】
図２の例では、装置セグメント２２２を用いて、カートリッジ、ドライブ履歴情報、および他の予測される故障情報に関するエラーデータを含む性能情報を格納することができる。たとえば装置セグメント２２２は、テープドライブ１０２の動作に関する装置属性、たとえば、その特定のテープカートリッジ１０６についてのロードカウント、ドライブに関連するチャネルの問題、ドライブに関するサーボトラッキングの問題、磁気テープの欠陥によるエラー、トラッキングサーボテープのエラー等を格納するために使用され得る。エラーデータは、読出し／書込み作業を有するトラックおよびセグメント用に格納され得
る。エラーデータは、以下により詳細に説明するように、システムをより効率よく管理するための診断分析および予測分析のために検索および処理され得る。
【００３４】
しかしながら、エラーデータは他のセグメントおよび他の位置に格納され得、テープ媒体１０４の２つ以上のデータセグメントにわたってさらに分散され得ることを認識されるべきである。たとえば、テープ履歴およびエラー情報は、格納されてディレクトリ２０４から検索され得、診断分析および予測分析のために使用され得る。
【００３５】
ブロック（たとえばデータブロック、ＥＣＣブロック、および情報／メタデータブロック）は一般に、ブロック間に書込まれていない間隙が存在する状態で、テープドライブ１０２のヘッドアセンブリのうちの１つのヘッドにより書込まれる。ブロックは、最小の書込み可能／読出し可能な要素中に存在し、各ブロックに固有のデータ、ＥＣＣ、および情報（メタデータ）を含み得る。たとえば、１つのブロックは、異なるセクション、たとえばデータセクション、１つ以上の制御フィールド（ＣＦ１，ＣＦ２）、ＥＣＣ（たとえば内部ＥＣＣ）、ＥＤＣ等を含み得る。さらに別のセクションもまた含まれ得る（たとえばプリアンブル、ポストアンブル、シンクマーク、ページエントリ等）。ここに記載するディレクトリ改訂番号とともに、実質的にあらゆる適切なブロックサイズおよびフォーマットが使用され得ることを理解されるべきである。たとえば、異なるシステム（たとえば異なるテープドライブシステム）は、異なるサイズおよびフォーマットのブロックを有し得る。１つの変形において、ブロックは、約１２Ｋバイトである。ブロックのいずれかの変形において、ディレクトリ改訂番号（「ＤＲＮ」）は、ブロックの一部として含まれ得る。
【００３６】
ブロックは、いずれかの適切な態様でグループ化され得、または区分化され得る。たとえばブロックは、１つの封筒（たとえば、すべてが同時に書込まれたブロックのグループ）にパッケージ化され得る。
【００３７】
図３は、ディレクトリ改訂番号３０５を含むブロック３００（データブロックとして図示）の概略図を示す。図３に示すブロックは、３つのデータ記録（Ａ、ＢおよびＣ）を含む。完全なデータ記録（たとえばＡおよびＢ）の各々の後ろに、１対のＣＲＣ（巡回冗長検査（Cyclic Redundancy Check））３１０が続く。２つの制御フィールド、すなわちＣＦ１  ３１５およびＣＦ２  ３１８がブロックの末尾に追加される。ディレクトリ改訂番号３０５（またはディレクトリ改訂番号フィールド）は、第２の制御フィールド（ＣＦ２）３１８の一部として示され、以下にさらに説明するように、ブロック書込み時に有効であったディレクトリの改訂を示す番号を含む。上で言及したように、ディレクトリ改訂番号３０５は、ブロックのどこにでも含まれ得る。
【００３８】
各ブロックが、ブロック書込み時に有効であった改訂番号を示すディレクトリ改訂番号３０５を含み得るにもかかわらず、ディレクトリ改訂番号は、上述のように、ディレクトリの一部としても含まれ得る。
【００３９】
ディレクトリ
データ媒体は、任意の適切な数のディレクトリを含み得る。たとえば、データテープは、ディレクトリの多数の複製を有し得る。ディレクトリは、データテープの開始部分、トラックの開始部分（ＢＯＴディレクトリ）、データテープの末尾（ＥＯＤ）、または適切ないずれかの位置に配置され得る。さまざまなディレクトリは、同一であってよく、または、ディレクトリの位置に固有の何らかの情報を含んでよい。いくつかの変形において、媒体上のディレクトリの複製のすべては、ディレクトリ改訂番号を含む。
【００４０】
一般にディレクトリは、多数のブロックに及び得（および各ブロックは、上で示したよ
うに、ディレクトリ改訂番号を同様に含み得）、多数の情報フィールドまたはデータフィールドを含み得る。たとえばディレクトリは、基本情報（たとえばテープディレクトリのフォーマット、媒体コード等）、（たとえばドライブ内でテープを較正するための）アライメントテーブル、（ブロックの論理位置をブロックの物理位置に関連付ける）Dmarkerテーブル、データ終了（ＥＯＤ）の位置の封筒、トラック終了（ＥＯＴ）の位置、パーティションテーブル（たとえばトラックによる等）を有するヘッダを含み得る。
【００４１】
１つのディレクトリ（または複数のディレクトリ）を用いて、（たとえば読出しコマンド上の）データを突き止め、データ媒体の編成に関する情報（たとえばデータのフォーマット、圧縮アルゴリズム等）を提供し、データ媒体についての統計値（たとえば読出し／書込み動作の数等）を提供し、読出しおよび／または書込みコマンドに対してヘッドの位置を方向付けることができる。いくつかの変形では、ディレクトリ内の何らかの情報は更新され、ディレクトリ内の何らかの情報は不変である。ディレクトリは、ドライブのローカルワーキングメモリ（または補助メモリ）において更新され得、テープに対する適切なアクションの後にテープ媒体に書込まれ得る。たとえば、テープの開始部分におけるディレクトリは、テープ書込み要素が巻戻し動作または等価の動作によってこのディレクトリ付近のテープの開始部分に配置された後に更新され得る。したがって、テープに書込まれるディレクトリの更新がシーケンシャルではないことが考えられるが、ディレクトリフィールドがテープディレクトリに実際に書込まれる際に、コントローラのメモリ内で有効であった、ディレクトリの最後に更新されたバージョンを反映し得る。
【００４２】
ディレクトリ改訂番号
一般にディレクトリ改訂番号は、現時点での正しいディレクトリ改訂番号を示すための（たとえばあらゆる適切な大きさの）あらゆる適切な番号であり得る。したがって、ディレクトリ改訂番号は、値を格納することができるフィールド（たとえばレジスタ、変数等）を含み得る。いくつかの変形において、ディレクトリ改訂番号は、３２ビットの符号なし整数を含む（たとえばディレクトリ改訂番号は、０と４．２９５×１０9との間であり得る）。ディレクトリ改訂番号の大きさは、記憶媒体に基づいて決定（または選択）され得る。たとえば、ディレクトリ改訂番号の大きさは、記憶媒体の予測される有効寿命に依存し得る。いくつかの変形では、ディレクトリ改訂番号がその最大値まで一旦インクリメントされると、テープは書込み不能となり、ロールオーバーを防止する。
【００４３】
ディレクトリ改訂番号は、記憶媒体に書込みが行われるたびにインクリメントされるべきである。したがって、ディレクトリを検証するためにディレクトリ改訂番号を使用するシステムは、適切なディレクトリ改訂番号を求めた後でのみ、記憶媒体に書込みが行われ得るようにする。適切なディレクトリ改訂番号とは、ディレクトリの最近の改訂を反映する値までインクリメントされたディレクトリ改訂番号である。
【００４４】
記憶媒体がドライブ内に最初に装着される際に、現時点での正しいディレクトリ改訂番号は認識されていない（したがって「無効」であり、書込みは許可されない）。上述のように、テープ上に存在するディレクトリがディレクトリ改訂番号を含み得るにもかかわらず、これらのディレクトリ改訂番号が、記憶媒体の最新の改訂（たとえば最後の書込みコマンド）を正確に反映していないことが考えられる。たとえば、記憶媒体（たとえばデータテープ）が停止されていたか、または、記憶媒体が、１つのディレクトリもしくはすべてのディレクトリの更新前に取外されていたことが考えられる。したがって、現時点での正確なディレクトリ改訂番号は、記憶媒体をドライブ内に装着した後においては無効であると想定される。
【００４５】
したがって、現時点での正確なディレクトリ改訂番号は、テープの状態に基づいて求められなければならない。適切ないずれかの方法を用いて、適切なディレクトリ改訂番号、
または適切にインクリメントされたディレクトリ改訂番号を求めることができる。たとえば、ドライブ内に記憶媒体を装着した後に、記憶媒体の全体を走査して、最高位のディレクトリ改訂番号（たとえばテープ上に存在するディレクトリ改訂番号の最大値）を求めることができる。代替的に、データ終了（ＥＯＤ）ディレクトリのディレクトリ改訂番号を使用してよい。最近の（たとえば最高位の）ディレクトリ改訂番号が一旦求められると、このディレクトリ改訂番号は（たとえば１だけ）インクリメントされ得、記憶媒体の書込みを可能にする。しかしながら、媒体全体（たとえばデータテープの長さ全体）の走査は、極めて緩慢であり得る。適切にインクリメントされたディレクトリ改訂番号を求める他の方法は、その代わりに、データ記憶媒体の装着位置付近に配置されるディレクトリに依存することができ、それにより、データ記憶媒体に格納されたデータの末尾まで走査する必要性を省く。
【００４６】
図４は、適切なディレクトリ改訂番号を求めるための１つの方法を示す。図４に示す方法は、ヘッドアセンブリの位置に部分的に基づき適切にインクリメントされたディレクトリ改訂番号が、データ記憶装置に関係していることを判断する。４０１においてデータ記憶媒体がドライブ内に最初に装着される際に、現時点でのディレクトリ改訂番号は無効である（そして、たとえば最初にゼロに設定され得る）。ドライブコントローラは、最近のディレクトリ改訂番号が何であるかを認識していない。したがって、そのデータ記憶媒体への書込みは、正しくインクリメントされたディレクトリ改訂番号が求められるまで、４０５において不能にされる。
【００４７】
データ記憶媒体が新規であり、４１０において全く書込まれていない（たとえば空白である）場合、ディレクトリ改訂番号は、４２０におけるように、初期値（非ゼロ値）に初期化されるはずである。空白のデータ記憶媒体は、適切ないずれかの方法、たとえば、いずれかの認識可能なディレクトリまたは他の書込まれた情報がテープ上に存在しないことにより、識別され得る。ディレクトリ改訂番号が（たとえば１に）初期化されると、この適切にインクリメントされたディレクトリ改訂番号を用いた書込みが、４４０において可能となるはずである。データ記憶媒体が４１５において空白ではない場合、最近のディレクトリ改訂番号は、最も近接するディレクトリを参照することによって識別され得る。最も近接するディレクトリは、（たとえばテープを前方または後方に移動させる）前方方向または後方方向のいずれかにおいて、ヘッドアセンブリに相対的に近接するいずれかのディレクトリであり得る。
【００４８】
４３５において、最も近接するディレクトリが（ＥＯＤディレクトリを有する変形において）データ終了（ＥＯＤ）ディレクトリである場合、現時点での正しいディレクトリ改訂番号は、当該ＥＯＤディレクトリの以前のディレクトリ改訂番号に、何らかのオフセットを加えたものに設定されるはずである。いくつかの変形において、ＥＯＤディレクトリは常に、新規のデータをテープに書込む際に書込まれる最後の項目である。それゆえに、ＥＯＤディレクトリは、正確なディレクトリ改訂番号を含むはずである。したがって、現時点での正しいディレクトリ改訂番号は、ＥＯＤディレクトリ改訂番号から、１に等しい大きさの値だけインクリメントされ得る。現時点での正しいディレクトリ改訂番号が、インクリメントされたディレクトリ改訂番号へと一旦適切に設定されると、この現時点での正しいディレクトリ改訂番号を用いた記憶媒体への書込みが、４４０において許可されるはずである。
【００４９】
ヘッドアセンブリがＥＯＤディレクトリの付近に存在しない場合、現時点での正しいディレクトリ改訂番号は、４３０において、最も近接するＢＯＴディレクトリまたはＢＴＨディレクトリ（より近接する方）等のディレクトリに最も近接するディレクトリ改訂番号により、求められるはずである。この場合、これらのディレクトリのいずれかが、どれほど最近に書込まれたかを求めることができないため、現時点での正しいディレクトリ改訂
番号は、最も近接するディレクトリのディレクトリ改訂番号から何らかのオフセット（たとえば６４，０００）より小さいものと想定される。たとえば、最も近接するディレクトリがトラック開始（ＢＯＴ）ディレクトリである場合、有効なディレクトリ改訂番号は、当該ＢＯＴディレクトリのディレクトリ改訂番号に適切なオフセット（たとえば６４Ｋ）を加えたものに等しくなるように設定される。
【００５０】
適切ないずれかのオフセットが選択され得る。たとえば、以前のディレクトリ改訂番号のいずれかと、現時点のインクリメントされたディレクトリ改訂番号との間に十分な離隔距離が確実に生じるように、相対的に大きなオフセットが選択され得る。したがって、いくつかの変形において、ディレクトリ改訂番号は、６４，０００だけインクリメントされる。ディレクトリ改訂番号が一旦正しくインクリメントされると、ブロックは、４４０において記憶媒体に書込まれ得る。
【００５１】
いくつかの変形において、コントローラ（たとえばテープドライブコントローラ１０３）は、適切にインクリメントされたディレクトリ改訂番号の決定を制御する。コントローラは、ディレクトリ改訂番号同士を比較することができ、記憶媒体のブロックを読出す／書込むための記録ヘッドを制御することができる。コントローラは、記憶媒体のディレクトリの妥当性を判断するためのシステムの一部であり得る。たとえば、システムは、ディレクトリ改訂番号を格納するための１つ以上のレジスタ（たとえばメモリレジスタ）を含み得る。ディレクトリ改訂番号レジスタは、コントローラの一部であり得るか、または、別個のメモリ要素であり得る。コントローラは、レジスタに格納された第１のディレクトリ改訂番号と、（たとえば記憶媒体から読出された）第２のディレクトリ改訂番号とを比較することができ、一方が他方よりも大きいか、小さいか、等しいかを判断することができる。したがって、コントローラは、上述のように、ディレクトリが最近のディレクトリ改訂番号に対応するかどうかを判断することができる。たとえばレジスタは、記憶媒体内のディレクトリから読出されたディレクトリ改訂番号を保持することができ、コントローラは、このレジスタと、記憶媒体のブロックから読出されたディレクトリ改訂番号とを比較することができる。
【００５２】
したがって、ディレクトリを検証するためにディレクトリ改訂番号を使用するためのシステムは、ディレクトリ改訂番号を正しくインクリメントするおよび／書込むためのドライブコントローラを含み得る。
【００５３】
ディレクトリ改訂番号の使用
ブロックの一部として、および１つのディレクトリ（または複数のディレクトリ）の一部として書込まれたディレクトリ改訂番号は、ここに記載されるように、データ媒体への書込みを制御するために使用され得る。したがって、現時点での正しいディレクトリ改訂番号が選択されるまで、ブロックは書込まれ得ない。さらに、データ改訂番号は、ディレクトリを生成もしくは再構築するために、または、古いディレクトリのすべてまたは一部を無効化するために、使用され得る。
【００５４】
ディレクトリ改訂番号は、読出されている情報に対して回復されたディレクトリが適用されているかどうか、および、重要な（正確な）メタデータが媒体上のどこに格納されているかをコントローラに迅速に判断させる。この情報はまた、読出されているデータが回復されたディレクトリに基づき有効であるか否かをコントローラに判断させる。たとえば、回復されたディレクトリのディレクトリ改訂番号が、読出されているブロック内のディレクトリ改訂番号よりも高位である場合、コントローラは、回復されたディレクトリがそのブロックの後に書込まれたものと判断し得る。したがって、コントローラは、そのディレクトリ内の情報が、より低位のディレクトリ改訂番号を有するブロック内の情報に対して正確であるものと認識する。
【００５５】
ブロックからのディレクトリ改訂番号が、回復されたディレクトリからのディレクトリ改訂番号よりも高位である場合、コントローラは、回復されたディレクトリが古いものと認識し、より高位のディレクトリ改訂番号を用いてそのブロック内に書込まれた情報を反映しない。これにより、コントローラを起動させて、ディレクトリを再構築すること、または、ディレクトリの再構築を生じさせることが可能になる。
【００５６】
図５は、ディレクトリ改訂番号を用いて、ディレクトリが有効であるかどうかを判断する方法を示す。ここに示すように、ディレクトリ改訂番号はまず、５０１においてディレクタから読出される。たとえばコントローラは、ディレクトリが識別されるまで、記録ヘッド（たとえば読出し／書込みヘッド）に記憶媒体の読出しを行なわせることができる。したがって、ディレクトリ改訂番号を有する第１のディレクトリは、テープを読出す際に当該ディレクトリが開始位置にどれだけ近接しているかに基づいて選択され得る。いくつかの変形において、記憶媒体（たとえばテープ）は、開始位置において（たとえばテープの開始部分または末尾において）初期化され得る。この第１のディレクトリから読出されたディレクトリ改訂番号は、５０２において記憶媒体から読出された他のディレクトリ改訂番号との比較のために、コントローラにより（または当該コントローラがアクセスすることのできるレジスタ内に）保持され得る。
【００５７】
５０２において記憶媒体から読出されたさらに別のディレクトリ改訂番号は、当該記憶媒体上に存在するブロックから読出され得る。一般に各ブロックは、ここに記載するように、ディレクトリ改訂番号で標識付けされる。ディレクトリ改訂番号は次に、５０３において第１の（または基準の）ディレクトリ改訂番号と比較され得る。５０１におけるディレクトリからのディレクトリ改訂番号が、５０２においてブロックから読出されたディレクトリ改訂番号（たとえば第２のディレクトリ改訂番号）以上である場合、５０４において、当該ディレクトリは、このデータに対して有効である。５０２ではその後、次のブロックからディレクトリ改訂番号が読出され得る。
【００５８】
しかしながら、５０１におけるディレクトリからのディレクトリ改訂番号が、５０２においてブロックから読出されたディレクトリ改訂番号（たとえば第２のディレクトリ改訂番号）未満である場合、当該ディレクトリは、５０５において、そのブロックに対して有効ではない。このことは、当該ディレクトリ内に保持されるどのような識別データ（たとえばアドレスおよび他のメタデータ）も有効ではないことを意味する。なぜなら、その識別データが、より高位のディレクトリ改訂番号を有するものと識別されたブロック内に書込まれた情報を含まないためである。コントローラが無効のディレクトリを一旦識別すると、５０６においてそのディレクトリを無効であると標識付けすることができ、または、コントローラが無効であると認識するメタデータ等のディレクトリの一部のみを無効化することができる。さらにコントローラは、５０７においてディレクトリの再構築を開始することができる。
【００５９】
最新の情報を反映するようにディレクトリを再構築するために、どのような適切な方法が使用されてもよい。たとえばディレクトリは、ＥＯＤの位置のためにテープを走査することにより（これは一般に、非常に多くの時間を消費する）、または、ディレクトリ同士を比較して（たとえばディレクトリ改訂番号同士を比較することにより）最近のディレクトリを見付けることにより、再構築され得る。一変形において、ディレクトリ改訂番号は、ディレクトリを再構築するために使用され得る。ここに記載する、ディレクトリ改訂番号を書込むためのシステムによると、現時点で訂正されたディレクトリ改訂番号が求められてからのみ、データが書込まれ得る。したがって、最高位のディレクトリ改訂番号は、最近に書込まれたブロックを反映する。コントローラは、ディレクトリ内のメタデータ（たとえばＥＯＤの位置、ファイルマークの位置等）を無効化し、最高位のディレクトリ改
訂番号のブロックから読出された情報を用いて、（メタデータを含む）ディレクトリを再構築することができる。
【００６０】
媒体ドライブ
上述のように、媒体ドライブは、ディレクトリ改訂番号を分析し、ディレクトリ改訂番号を計算し、ディレクトリ改訂番号を書込み、その他の態様では上述のように（たとえばディレクトリを再構築するために）ディレクトリ改訂番号を使用するためのロジックを含み得る。図６は、ディレクトリの有効性を証明することのできる媒体ドライブ６００の概略図を示す。図６に示す媒体ドライブ６００は、記憶媒体６２５に対して読出し／書込みを行なうための記録ヘッド６０３を含む。一般に媒体ドライブは、当該媒体ドライブの動作を制御することができ、記憶媒体装置６５０および／または記憶媒体６２５の動作の制御または調整も行なうことができる。いくつかの変形において、媒体ドライブは、記憶媒体を制御するためのコントローラ（たとえばテープドライブコントローラ）を含む。
【００６１】
媒体ドライブ６００はまた、記憶媒体装置６２０のディレクトリまたは記憶媒体６２５上のディレクトリの有効性を証明するための検証ロジック６０１も含み得る。たとえば記憶媒体装置は、記憶媒体としてデジタルリニアテープを有するテープカートリッジであり得る。ここに記載するように、１つ以上のディレクトリが記憶媒体上に存在し得る。検証ロジック６０１は、ここに記載する比較および制御のステップのいずれかを実行し得る。たとえば検証ロジック６０１は、（たとえば補助メモリを含む記憶媒体上のディレクトリ、または媒体ドライブ自体内の「仮想ディレクトリ」等からの）第１のディレクトリ改訂番号と、（たとえば記憶媒体上のブロックから読出された）第２のディレクトリ改訂番号とを比較して、第１のディレクトリ改訂番号が最近のディレクトリ改訂番号であるか否かを判断することができる。したがって、検証ロジック６０１は、第１のディレクトリ改訂番号が第２のディレクトリ改訂番号よりも大きいか、等しいか、または小さいかを判断することができ、この結果に基づいて１つ以上の結果をトリガすることができる。検証ロジックは、直接的にまたは間接的にのいずれかにより、記録ヘッド６０３を含む媒体ドライブの他の部分のいずれかに、および／または他のロジック領域のいずれかに接続され得るか、またはそれらと相互作用し得る。
【００６２】
いくつかの変形において、媒体ドライブ６００はまた、ここに記載する無効化ステップのいずれかを実施することのできる無効化ロジック６０５も含み得る。たとえば、ディレクトリ改訂番号が無効であると無効化ロジックが判断した場合、媒体ドライブは、無効化ロジックを呼出して、ディレクトリまたはブロック（もしくはブロック内のメタデータ等のブロックの一部）の一部（またはすべて）を無効化することができる。無効化ロジックは、直接的にまたは間接的にのいずれかにより、記録ヘッド６０３を含む媒体ドライブの他の部分のいずれかに、および／または他のロジック領域のいずれかに接続され得るか、またはそれらと相互作用し得る。
【００６３】
媒体ドライブ６００は、ここに記載するディレクトリ再構築ステップのいずれかを実施することのできる再構築ロジック６０７も含み得る。たとえば、ディレクトリ改訂番号が無効であると検証ロジックが判断した場合、媒体ドライブは、再構築ロジックを呼出して、記憶媒体上のディレクトリの一部（またはすべて）を再構築することができる。無効化ロジックは、直接的にまたは間接的にのいずれかにより、記録ヘッド６０３を含む媒体ドライブの他の部分のいずれかに、および／または他のロジック領域のいずれかに接続され得るか、またはそれらと相互作用し得る。
【００６４】
いくつかの変形において、媒体ドライブ６００はまた、ここに記載するように、現時点での正しいディレクトリを計算するためのステップのいずれかを実施することのできる計算ロジック６０９も含む。いくつかの変形において、計算ロジックは、記憶媒体が空白で
ある（たとえばまだ書込みが行なわれていない）かどうかを判断することもでき、計算ロジックは、現時点での正しいディレクトリ改訂番号を初期化（１に設定）することができる。計算ロジック、および媒体ドライブのロジック構成要素のいずれか（たとえば検証ロジック、無効化ロジック、再構築ロジック等）は、使用され得るか、または、他の構成要素、特に他のロジック構成要素から独立して作動し得る。さらに、検証ロジックは、直接的にまたは間接的にのいずれかにより、記録ヘッド６０３を含む媒体ドライブの他の部分のいずれかに、および／または他のロジック領域のいずれかに接続され得るか、またはそれらと相互作用し得る。
【００６５】
媒体ドライブ６００はまた、（たとえばブロックに書込むための）ここに記載する書込みステップのいずれかを実施することのできる書込みロジック６１１も含み得る。たとえば、新規の現時点での正しいディレクトリ改訂番号が計算ロジックにより一旦計算されると、書込みロジック６１１を用いて、記憶媒体に書込まれた各ブロックとともに、その正しいディレクトリ改訂番号を書込むことができる。いくつかの変形において、記憶媒体への書込みは、計算ブロックが現時点での正しいディレクトリ改訂番号を決定するまで防止される。したがって、書込みロジック６１１および／計算ロジック６０９は、現時点での正しいディレクトリ改訂番号が計算されるまで書込みを防止することができる。書込みロジック６１１はまた、現時点での正しいディレクトリ改訂番号を含む更新されたディレクトリの書込み（または書換え）の制御または誘導も行なうことができる。書込みロジック６１１は、直接的にまたは間接的にのいずれかにより、記録ヘッド６０３を含む媒体ドライブの他の部分のいずれかに、および／または他のロジック領域のいずれかに接続され得るか、またはそれらと相互作用し得る。
【００６６】
したがって、ディレクトリ改訂番号を用いてどのディレクトリが有効であるかを判断することができ、無効のディレクトリを再構築することができる。ここに記載するように、有効なディレクトリが回復されない場合に、このことは有利であり得る。ディレクトリ改訂番号を使用しないシステムは、エラーに繋がる無効のディレクトリを検出することができず、ディレクトリが有効であるか否かを判断するために、ＥＯＤに行き当たるまでテープ上のすべてのデータをシーケンシャルに読出さなければならないことが考えられる。
【００６７】
この発明を特定の局面とともに説明してきたが、この発明の精神および範囲から逸脱することなく、さまざまな変更および改変が当業者によってなされ得ることが認識されるであろう。この発明は、上述の例示的な詳細によって限定されるべきではない。
【図面の簡単な説明】
【００６８】
【図１】テープ記憶サブシステムを示す図である。
【図２】磁気テープ媒体の１つのレイアウトを示すブロック図である。
【図３】データブロックの概略図を示す図である。
【図４】この発明の一局面に従った、ディレクトリ改訂番号をインクリメントする方法を示す図である。
【図５】この発明の一局面に従った、ディレクトリの有効性を判断する方法を示す図である。
【図６】この発明の一局面に従った媒体ドライブのブロック図を示す図である。
【符号の説明】
【００６９】
１００  記憶サブシステム、１０１  記憶サブシステムコントローラ、１０２  テープドライブ、１０３  テープドライブコントローラ、１０４  磁気テープ媒体、１０６  テープカートリッジ、１０８  補助メモリ、１１０  ホスト。
【図１】
2007149326.tif 000003
【図２】
2007149326.tif 000004
【図３】
2007149326.tif 000005
【図４】
2007149326.tif 000006
【図５】
2007149326.tif 000007
【図６】
2007149326.tif 000008