(57)【要約】      （修正有）【課題】先読みヘッド等の特別な構成要素を必要せず、データを分断させることなく磁気テープに循環的に記憶させる。【解決手段】パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていればパーティションの論理構成を維持して新たなデータの書き込みを継続する一方、パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていなければ、パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、パーティションの論理構成を更新してから新たなデータの書き込みを継続する。【選択図】図１２
2012181896.tif 000002
【特許請求の範囲】
【請求項１】
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータを上書きして循環的に記憶させる磁気テープ装置の制御方法であって、
前記パーティションへのデータの書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っているか否かを判定し、
前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていれば、前記パーティションの論理構成を維持して新たなデータの書き込みを継続する一方、
前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていなければ、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新してから新たなデータの書き込みを継続することを特徴とした磁気テープ装置の制御方法。
【請求項２】
前記パーティションの論理構成の更新に際して新たに始端とされたラップの最初のデータブロックのブロックIDを磁気テープのカートリッジの不揮発性メモリに記憶させ、
上位装置から与えられる磁気ヘッドの位置づけコマンドによって指定されるブロックIDの値と前記不揮発性メモリに記憶されたブロックIDの値とを比較し、
位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値以上の場合には、磁気ヘッドの位置づけコマンドによって指定されるブロックIDの位置に磁気ヘッドを位置づけする一方、
位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値未満の場合には、現時点で前記パーティションの始端とされているラップに磁気ヘッドを位置づけすることを特徴とした請求項１記載の磁気テープ装置の制御方法。
【請求項３】
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体と当該データ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる磁気テープ装置の制御方法であって、
前記パーティションへのデータ本体とインデックス情報の書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域を拡張する必要があるか否かを判定し、
データ記憶領域を拡張する必要がなければ、前記パーティションの論理構成を維持して新たなデータ本体とインデックス情報の書き込みを継続する一方、
データ記憶領域を拡張する必要があれば、前記パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させると共に、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新してから新たなデータ本体とインデックス情報の書き込みを継続することを特徴とした磁気テープ装置の制御方法。
【請求項４】
上位装置から１世代以上前のインデックス情報の読み出し指令が与えられると、インデックス情報のブロックIDの値を１世代前のものから順に時系列を遡って検出し、
インデックス情報のブロックIDが検出される度に、そのブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であるか否かを判定し、最新のインデックス情報と共に記憶されている有効なブロックIDの値以上の場合には、更に、このインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致するか否かを判定し、一致する場合には、このインデックス情報の内部的な読み出しを実行し、最新のインデックス情報と共に記憶されている有効なブロックIDの値と前記一致したインデックス情報に含まれる読み出し開始位置の各々との大小を比較し、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満の読み出し開始位置を有するデータ本体に対応するインデックス情報を除いたインデックス情報の読み出しを上位装置に許容する一方、
時系列を遡って検出されるインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致することなく、検出されたインデックス情報のブロックIDの値が、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満となった場合には、インデックス情報の読み出しを非実行としてインデックス情報の読み出しエラーを上位装置に知らせることを特徴とした請求項３記載の磁気テープ装置の制御方法。
【請求項５】
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータを上書きして循環的に記憶させる磁気テープ装置であって、
前記パーティションへのデータの書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っているか否かを判定する残存記憶領域判定手段と、
前記残存記憶領域判定手段により、上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていると判定された場合には、前記パーティションの論理構成を維持する一方、前記残存記憶領域判定手段により、上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていないと判定された場合には、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段と、
少なくとも、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップのラップ番号と、前記パーティション再構築手段によって更新されたパーティションの終端とされたラップのラップ番号、および、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップの最初のデータブロックのブロックIDを磁気テープのカートリッジの不揮発性メモリに更新して記憶させるパーティション情報更新手段と、
上位装置から与えられる磁気ヘッドの位置づけコマンドによって指定されるブロックIDの値と前記不揮発性メモリに記憶されたブロックIDの値とを比較し、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値以上の場合には、位置づけコマンドによって指定されるブロックIDの位置に磁気ヘッドを位置づけする一方、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値未満の場合には、前記不揮発性メモリにパーティションの始端としてラップ番号を記憶されたパーティションに磁気ヘッドを位置づけする位置づけ制御手段とを備えたことを特徴とした磁気テープ装置。
【請求項６】
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体と当該データ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる磁気テープ装置であって、
上位装置からのデータ記憶領域拡張指令の入力の有無を判定するコマンド判定手段と、
前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知しなければ前記パーティションの論理構成を維持する一方、前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知した場合には、前記パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させると共に、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段と、
上位装置から１世代以上前のインデックス情報の読み出し指令が与えられると、インデックス情報のブロックIDの値を１世代前のものから順に時系列を遡って検出し、インデックス情報のブロックIDが検出される度に、そのブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であるか否かを判定するインデックス情報有効性判定手段と、
前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDが最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であると判定された場合に、このインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致するか否かを判定する一致不一致判定手段と、
前記一致不一致判定手段が一致の判定をした場合に、このインデックス情報の内部的な読み出しを実行し、最新のインデックス情報と共に記憶されている有効なブロックIDの値と前記一致したインデックス情報に含まれる読み出し開始位置の各々との大小を比較し、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満の読み出し開始位置を有するデータ本体に対応するインデックス情報を除いたインデックス情報の読み出しを上位装置に許容する一方、前記一致不一致判定手段が一致の判定をすることなく、前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値未満であると判定された場合に、インデックス情報の読み出しを非実行としてインデックス情報の読み出しエラーを上位装置に知らせる出力情報制限手段とを備えたことを特徴とした磁気テープ装置。
【請求項７】
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータを上書きして循環的に記憶させる磁気テープ装置が備えるマイクロプロセッサを、
前記パーティションへのデータの書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っているか否かを判定する残存記憶領域判定手段、
前記残存記憶領域判定手段により上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていると判定された場合には、前記パーティションの論理構成を維持する一方、前記残存記憶領域判定手段により上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていないと判定された場合には、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段、
少なくとも、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップのラップ番号と、前記パーティション再構築手段によって更新されたパーティションの終端とされたラップのラップ番号、および、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップの最初のデータブロックのブロックIDを磁気テープのカートリッジの不揮発性メモリに更新して記憶させるパーティション情報更新手段、および、
上位装置から与えられる磁気ヘッドの位置づけコマンドによって指定されるブロックIDの値と前記不揮発性メモリに記憶されたブロックIDの値とを比較し、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値以上の場合には、位置づけコマンドによって指定されるブロックIDの位置に磁気ヘッドを位置づけする一方、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値未満の場合には、前記不揮発性メモリにパーティションの始端としてラップ番号を記憶されたパーティションに磁気ヘッドを位置づけする位置づけ制御手段として機能させることを特徴とした磁気テープ装置用制御プログラム。
【請求項８】
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体と当該データ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる磁気テープ装置が備えるマイクロプロセッサを、
上位装置からのデータ記憶領域拡張指令の入力の有無を判定するコマンド判定手段、
前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知しなければ前記パーティションの論理構成を維持する一方、前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知した場合には、前記パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させると共に、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段、
上位装置から１世代以上前のインデックス情報の読み出し指令が与えられると、インデックス情報のブロックIDの値を１世代前のものから順に時系列を遡って検出し、インデックス情報のブロックIDが検出される度に、そのブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であるか否かを判定するインデックス情報有効性判定手段、
前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDが最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であると判定された場合に、このインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致するか否かを判定する一致不一致判定手段、および、
前記一致不一致判定手段が一致の判定をした場合に、このインデックス情報の内部的な読み出しを実行し、最新のインデックス情報と共に記憶されている有効なブロックIDの値と前記一致したインデックス情報に含まれる読み出し開始位置の各々との大小を比較し、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満の読み出し開始位置を有するデータ本体に対応するインデックス情報を除いたインデックス情報の読み出しを上位装置に許容する一方、前記一致不一致判定手段が一致の判定をすることなく、前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDの値が、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満であると判定された場合に、インデックス情報の読み出しを非実行としてインデックス情報の読み出しエラーを上位装置に知らせる出力情報制限手段として機能させることを特徴とした磁気テープ装置用制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気テープが有する複数のラップによって構成される論理的なパーティションに各種のデータを上書きして循環的に記憶させる磁気テープ装置の制御方法および磁気テープ装置とその制御プログラムに関する。
【背景技術】
【０００２】
一般的な磁気テープ装置は、磁気テープ上のデータの最終的な書き込み終了位置を表すＥＯＤを参照して新たなデータを次々と書き込むように設計されている。従って、磁気テープの始端から終端に向けてシーケンシャルにデータを記録することしかできず、新しいデータを残したまま古いデータに上書きして新規のデータを上書きするといった行為は許容されない。
磁気テープの始端から終端に向けてシーケンシャルにデータを記録する磁気テープ装置の他、往復のトラックからなる複数のラップを磁気テープ上に設け、ラップを跨ぐ論理的なパーティションを設定してデータの記憶領域を管理する磁気テープ装置もあるが、このようなものにあっても、磁気テープを往復させながらパーティションの始端から終端に向かって連続的にデータが書き込まれるのみであり、新しいデータを残したまま古いデータに上書きして新規のデータを上書きするといった行為が許容されないという点では最初に述べた一方向性の磁気テープ装置と同様である。
上書きが許容されない理由は、既にデータが書き込まれた記憶領域に対して新規のデータを上書きしてしまうと、後続する記憶領域に書き込まれている連続的なデータのうちの何処からが整合性のとれたデータであるかの判断がつかなくなってしまう不都合が生じるからである。
従って、仮に此れらの磁気テープ装置を使用して新規のデータの上書きを行なったとしても、新規データの上書き終了位置に後続するデータの全ては無効なデータつまり読み取り不可能なデータとして取り扱う以外になく、例えば、複数世代のデータをバックアップとして記録する場合、保管しておきたい世代数分のデータの総容量が１巻の磁気テープに収まる容量であったとしても、複数巻の磁気テープを使用する必要が生じ、磁気テープの運用効率が悪くなってしまう。
【０００３】
このような不都合を改善するための技術としては、特許文献１に開示されるように、磁気テープ装置内に新規の構成要素となる先読みヘッドを増設し、磁気テープ上に記録されたＭＡＰ情報を先読みヘッドで読み取り、MAP情報に含まれる循環使用の可否の判定データを参照して、磁気テープ上の特定領域に循環的にデータを記録させる方法が提案されている。
しかしながら、この方法は先読みヘッドという特別な構成要素を必要とする。また、磁気テープの始端側と終端側にデータが分断して記憶された場合には、データの読み取り作業を行なう途中で磁気ヘッドの位置づけ処理をやり直す必要が生じ、また、別々に読み込まれた始端側と終端側のデータを結合する等の特別な処理も必要となるので、上位装置のソフトウェアを変更しなければならないといった不都合が生じる。しかも、書き込んだデータに後続する記憶領域に書き込まれているデータの何処からが整合性の取れたデータであるのかを判断する必要上、ダミーファイルヘッダーの記録を行う等の複雑な処理が要求され、仕様の点から実現が難しいという問題がある。
【０００４】
また、以前は磁気テープ上へのデータの格納形式がOSやソフトウェア毎に異なっているのが一般的であったが、近年になって、OSやソフトウェアに依存することなく磁気テープへのデータの書き込みや読み出しを行うことができる記録形式、例えば、LTFS（Linear Tape File System）が提唱されている。
これはLTO-5からサポートされたパーティショニング機能を利用して磁気テープの記憶領域をコンテンツ領域とインデックス領域に分割し、コンテンツ領域に各種のファイル等を始めとするデータ本体を記憶させる一方、インデックス領域には、コンテンツ領域内のデータ本体を扱えるようにするためのインデックス情報、例えば、データ本体の読み出しに必要とされるデータ名やデータサイズおよび其の読み出し開始位置といった情報を記憶させ、追記型の記憶媒体である磁気テープの利用効率を改善しようとする試みである。
この記録形式は世代バックアップを行う際の問題、つまり、データを上書きできないことで生じる磁気テープの運用効率の悪化やデータの分断による位置づけ処理およびデータ結合処理の煩雑化といった問題とは直接的に関連するものではない。しかし、磁気テープを利用した以前の一般的な記録形式とは仕様が異なるため、LTFSの仕様を援用してデータを管理している状況下で磁気テープ上の新しいデータを残したまま古いデータに新規のデータを上書きして記憶させるような使い方をしようとすれば、当然、データ本体へのアクセスも磁気テープのインデックス情報を利用して行う必要があり、データの上書きの実現に際しては、インデックス情報の取り扱い等に注意を要する。
【０００５】
なお、磁気テープ上でラップ間を移動する磁気ヘッドの取扱いやラップを跨ぐパーティションの設定等については、例えば、特許文献２や特許文献３に見られるように、既に一般的なものとなっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−１３９６５０号公報（段落０００３，段落０００７，段落００１１，図１）
【特許文献２】特表２００５−５１６３４０号公報（段落００１３，段落００２０，図５）
【特許文献３】特開２００５−６３４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、先読みヘッド等の特別な構成要素を必要せず、しかも、データを分断させることなく、磁気テープに循環的にデータを記憶させることのできる磁気テープ装置の制御方法および磁気テープ装置とその制御プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明における磁気テープ装置の制御方法は、磁気テープが有する複数のラップによって構成される論理的なパーティションにデータを上書きして循環的に記憶させる磁気テープ装置の制御方法であり、前記目的を達成するため、
前記パーティションへのデータの書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っているか否かを判定し、
前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていれば、前記パーティションの論理構成を維持して新たなデータの書き込みを継続する一方、
前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていなければ、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新してから新たなデータの書き込みを継続することを特徴とした構成を有する。
【０００９】
また、特に、磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体と当該データ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる磁気テープ装置の制御方法にあっては、前記と同様の目的を達成するため、
前記パーティションへのデータ本体とインデックス情報の書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域を拡張する必要があるか否かを判定し、
データ記憶領域を拡張する必要がなければ、前記パーティションの論理構成を維持して新たなデータ本体とインデックス情報の書き込みを継続する一方、
データ記憶領域を拡張する必要があれば、前記パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させると共に、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新してから新たなデータ本体とインデックス情報の書き込みを継続することを特徴とした構成を適用する。
【００１０】
本発明における磁気テープ装置は、磁気テープが有する複数のラップによって構成される論理的なパーティションにデータを上書きして循環的に記憶させる磁気テープ装置であり、前記目的を達成するため、
前記パーティションへのデータの書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っているか否かを判定する残存記憶領域判定手段と、
前記残存記憶領域判定手段により、上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていると判定された場合には、前記パーティションの論理構成を維持する一方、前記残存記憶領域判定手段により、上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていないと判定された場合には、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段と、
少なくとも、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップのラップ番号と、前記パーティション再構築手段によって更新されたパーティションの終端とされたラップのラップ番号、および、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップの最初のデータブロックのブロックIDを磁気テープのカートリッジの不揮発性メモリに更新して記憶させるパーティション情報更新手段と、
上位装置から与えられる磁気ヘッドの位置づけコマンドによって指定されるブロックIDの値と前記不揮発性メモリに記憶されたブロックIDの値とを比較し、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値以上の場合には、位置づけコマンドによって指定されるブロックIDの位置に磁気ヘッドを位置づけする一方、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値未満の場合には、前記不揮発性メモリにパーティションの始端としてラップ番号を記憶されたパーティションに磁気ヘッドを位置づけする位置づけ制御手段とを備えたことを特徴とした構成を有する。
【００１１】
また、特に、磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体と当該データ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる磁気テープ装置にあっては、
上位装置からのデータ記憶領域拡張指令の入力の有無を判定するコマンド判定手段と、
前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知しなければ前記パーティションの論理構成を維持する一方、前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知した場合には、前記パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させると共に、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段と、
上位装置から１世代以上前のインデックス情報の読み出し指令が与えられると、インデックス情報のブロックIDの値を１世代前のものから順に時系列を遡って検出し、インデックス情報のブロックIDが検出される度に、そのブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であるか否かを判定するインデックス情報有効性判定手段と、
前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDが最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であると判定された場合に、このインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致するか否かを判定する一致不一致判定手段と、
前記一致不一致判定手段が一致の判定をした場合に、このインデックス情報の内部的な読み出しを実行し、最新のインデックス情報と共に記憶されている有効なブロックIDの値と前記一致したインデックス情報に含まれる読み出し開始位置の各々との大小を比較し、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満の読み出し開始位置を有するデータ本体に対応するインデックス情報を除いたインデックス情報の読み出しを上位装置に許容する一方、前記一致不一致判定手段が一致の判定をすることなく、前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値未満であると判定された場合に、インデックス情報の読み出しを非実行としてインデックス情報の読み出しエラーを上位装置に知らせる出力情報制限手段とを備えたことを特徴とした構成を適用する。
【００１２】
本発明における磁気テープ装置用制御プログラムは、磁気テープが有する複数のラップによって構成される論理的なパーティションにデータを上書きして循環的に記憶させる磁気テープ装置が備えるマイクロプロセッサを、
前記パーティションへのデータの書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っているか否かを判定する残存記憶領域判定手段、
前記残存記憶領域判定手段により上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていると判定された場合には、前記パーティションの論理構成を維持する一方、前記残存記憶領域判定手段により上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていないと判定された場合には、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段、
少なくとも、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップのラップ番号と、前記パーティション再構築手段によって更新されたパーティションの終端とされたラップのラップ番号、および、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップの最初のデータブロックのブロックIDを磁気テープのカートリッジの不揮発性メモリに更新して記憶させるパーティション情報更新手段、および、
上位装置から与えられる磁気ヘッドの位置づけコマンドによって指定されるブロックIDの値と前記不揮発性メモリに記憶されたブロックIDの値とを比較し、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値以上の場合には、位置づけコマンドによって指定されるブロックIDの位置に磁気ヘッドを位置づけする一方、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値未満の場合には、前記不揮発性メモリにパーティションの始端としてラップ番号を記憶されたパーティションに磁気ヘッドを位置づけする位置づけ制御手段として機能させることを特徴とした構成を有する。
【００１３】
また、特に、磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体と当該データ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる磁気テープ装置用制御プログラムにあっては、磁気テープ装置が備えるマイクロプロセッサを、
上位装置からのデータ記憶領域拡張指令の入力の有無を判定するコマンド判定手段、
前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知しなければ前記パーティションの論理構成を維持する一方、前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知した場合には、前記パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させると共に、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段、
上位装置から１世代以上前のインデックス情報の読み出し指令が与えられると、インデックス情報のブロックIDの値を１世代前のものから順に時系列を遡って検出し、インデックス情報のブロックIDが検出される度に、そのブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であるか否かを判定するインデックス情報有効性判定手段、
前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDが最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であると判定された場合に、このインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致するか否かを判定する一致不一致判定手段、および、
前記一致不一致判定手段が一致の判定をした場合に、このインデックス情報の内部的な読み出しを実行し、最新のインデックス情報と共に記憶されている有効なブロックIDの値と前記一致したインデックス情報に含まれる読み出し開始位置の各々との大小を比較し、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満の読み出し開始位置を有するデータ本体に対応するインデックス情報を除いたインデックス情報の読み出しを上位装置に許容する一方、前記一致不一致判定手段が一致の判定をすることなく、前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDの値が、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満であると判定された場合に、インデックス情報の読み出しを非実行としてインデックス情報の読み出しエラーを上位装置に知らせる出力情報制限手段として機能させることを特徴とした構成を適用する。
【発明の効果】
【００１４】
本発明における磁気テープ装置の制御方法および磁気テープ装置とその制御プログラムは、パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていればパーティションの論理構成を維持して新たなデータの書き込みを継続する一方、パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていなければ、パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、パーティションの論理構成を更新してから新たなデータの書き込みを継続するようにしているので、論理的なパーティションの終端側に上書き可能領域として残るデータ記憶領域を逐次増長させながら、データを分断させることなく、磁気テープに循環的にデータを記憶させることができる。
【００１５】
特に、磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体とインデックス情報を上書きして循環的に記憶させる磁気テープ装置の制御方法および磁気テープ装置とその制御プログラムにあっては、パーティションの終端側に上書き可能領域として残るデータ記憶領域を拡張する必要がなければ、パーティションの論理構成を維持して新たなデータ本体とインデックス情報の書き込みを継続する一方、データ記憶領域を拡張する必要がある場合には、パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、パーティションの論理構成を更新してから新たなデータ本体とインデックス情報の書き込みを継続するようにしているので、論理的なパーティションの終端側に上書き可能領域として残るデータ記憶領域を逐次増長させながらデータを分断させることなく磁気テープに循環的に記憶させることができ、しかも、パーティションの論理構成の更新に際しては従前のパーティションの始端のラップに記憶されていたデータ本体に対応したインデックス情報を削除し、次のラップ即ち更新後のパーティションの始端のラップに記憶される最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させるようにしているので、磁気テープのインデックス情報を利用してデータ本体にアクセスする際に、無効化されたデータ記憶領域や誤ったデータ記憶領域に磁気ヘッドを移動させようとする誤動作を未然に防止することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明を適用した一実施形態の磁気テープ装置と、磁気テープ装置が使用する磁気テープを収めたカートリッジ、および、磁気テープ装置を利用する上位装置の構成について簡略化して示したブロック図である（第１，第２の実施形態）。
【図２】同実施形態の磁気テープのカートリッジに固設された不揮発性メモリに記憶される情報の配列について簡略化して示した概念図である（第１の実施形態）。
【図３】同実施形態の磁気テープ装置におけるデータ書き込み処理の概略について示したフローチャートである（第１の実施形態）。
【図４】同実施形態の磁気テープ装置におけるデータ読み込み処理の概略について示したフローチャートである（第１の実施形態）。
【図５】同実施形態の磁気テープ装置における磁気ヘッドの位置づけ処理の概略について示したフローチャートである（第１の実施形態）。
【図６】LTFSを前提とした磁気テープへのデータの基本的な書き込み形式について簡略化して示した概念図である（一般例）。
【図７】LTFSを前提とした磁気テープへのデータの具体的な書き込みついて簡略化して示した概念図である（一般例）。
【図８】LTFSを前提とした磁気テープへのデータの具体的な書き込みについて追記データを含めて簡略化して示した概念図である（一般例）。
【図９】本発明を適用した一実施形態の磁気テープ装置のカートリッジに固設された不揮発性メモリに記憶される情報の配列について簡略化して示した概念図である（第２の実施形態）。
【図１０】同実施形態の磁気テープ装置におけるパーティション再構築処理の概略について示したフローチャートである（第２の実施形態）。
【図１１】同実施形態の磁気テープ装置におけるインデックス情報読み込み処理の概略について示したフローチャートである（第２の実施形態）。
【図１２】複数のラップを備えた磁気テープの構成例について簡略化して示した図である（一般例）。
【発明を実施するための形態】
【００１７】
次に、本発明を実施するための実施形態の幾つかについて、図面を参照して具体的に説明する。
【００１８】
〔第１の実施形態〕
【００１９】
図１は本発明を適用した一実施形態の磁気テープ装置１と、磁気テープ装置１が使用する磁気テープ２を収めたカートリッジ３、および、磁気テープ装置１を利用する上位装置４の構成について簡略化して示したブロック図である。
【００２０】
上位装置４が磁気テープ装置１にRead／Writeコマンドを発行し、これを受けた磁気テープ装置１が、磁気テープ２に対してデータの読み出しや書き込みを行う点については従来と同様である。
【００２１】
磁気テープ装置１は、データの読み書きや消去に用いる磁気ヘッド５と、図示しない磁気テープ送り機構、および、磁気ヘッド５を磁気テープ２の幅方向つまりラップ（Wrap）の配列方向に沿って移動させるシーク機構等の公知要素を備える。なお、消去用の磁気ヘッドおよび書き込み用の磁気ヘッドと読み込み用の磁気ヘッドを組み合わせて磁気ヘッド５を構成する場合もあるが、磁気ヘッド５の構成については各種のものが既に公知であるから詳細な説明はしない。
【００２２】
上位装置４からの様々な指令を受けて磁気ヘッド５や磁気テープ送り機構およびシーク機構等を駆動制御する磁気テープ装置１のマイクロプロセッサ６には、このマイクロプロセッサ６を残存記憶領域判定手段，パーティション再構築手段，パーティション情報更新手段および位置づけ制御手段として機能させるための磁気テープ装置用制御プログラム（図３〜図５参照）や各種のパラメータ等を格納した不揮発性メモリ７が接続されている。
【００２３】
また、この不揮発性メモリ７には、パーティションの論理構成の更新が必要であるか否かを残存記憶領域判定手段が判定する際に閾値として利用する記憶容量の設定値やパーティション再構築手段がパーティションをずらす際に利用するラップ単位のパーティションのずらし量の設定値がパラメータの一種として自由に設定できるようになっている。
【００２４】
この実施形態では、更に、カートリッジ３に固設された不揮発性メモリ８（以下、カートリッジメモリ８という）との間でデータの受け渡しを行なうためのインターフェイス９が磁気テープ装置１内に設けられ、磁気テープ装置１のマイクロプロセッサ６と磁気テープ装置１にマウントされた磁気テープ２のカートリッジメモリ８との間でデータの授受が行われるようになっている。
インターフェイス９は電気的な接続を実現するための機械的な接触子であってもよいし、近距離無線通信等を利用した非接触式のものであってもよい。
【００２５】
図２に示されるように、カートリッジメモリ８には、少なくとも、パーティション再構築手段によって更新されたパーティションの始端（Beginning of Partition／以下、BOPという）とされた物理的なラップのラップ番号を記憶するBOP位置情報記憶領域３１１と、パーティション再構築手段によって更新されたパーティションの終端（End of Partition／以下、EOPという）とされた物理的なラップのラップ番号を記憶するEOP位置情報記憶領域３１２と、パーティション再構築手段によって更新されたパーティションの始端とされたラップの最初のデータブロックのブロックIDつまり上位装置４がパーティションの始端を基準として認識する最初のデータブロックの論理的な位置を記憶するBOP Block ID記憶領域３１３と、上位装置４がパーティションの始端を基準として其の時点における最終的なデータ書き込み終了位置として認識するデータブロックの論理的なブロックIDを記憶するEOD Block ID記憶領域３１４が設けられている。
【００２６】
なお、ここで言うBOP位置およびEOP位置は、磁気テープ２上で分割された領域の物理的な始端および終端ではなく、その領域内のどのラップに論理的なパーティションの始端および終端があるのかを示す情報である。
【００２７】
図１２に複数のラップを備えた磁気テープ２の構成例について簡略化して示す。この例では、往路方向のトラックと復路方向のトラックを１セットにして１つのラップが形成され、各種のデータは、磁気テープ２を往復させながら論理的なパーティションの始端（例えばラップ０）から論理的なパーティションの終端（例えばラップ９）に向けて連続的に書き込まれるようになっている。
【００２８】
次に、図３〜図５のフローチャートを参照して、この実施形態における磁気テープ装置の制御方法および磁気テープ装置用制御プログラムと、この実施形態の磁気テープ装置１における残存記憶領域判定手段，パーティション再構築手段，パーティション情報更新手段および位置づけ制御手段として機能するマイクロプロセッサ６の処理動作について具体的に説明する。
【００２９】
まず、図３を参照してデータ書き込み処理について説明する。
【００３０】
パーティションへのデータの書き込みに際し、磁気テープ装置１が上位装置４からのWriteコマンドを受信すると（ステップＳ１０１）、まず、残存記憶領域判定手段として機能するマイクロプロセッサ６が、閾値として利用する記憶容量の設定値を不揮発性メモリ７から読み出し、この設定値と現時点でパーティションの終端側に上書き可能領域として残るデータ記憶領域の容量とを比較し、パーティションの終端側に上書き可能領域として残るデータ記憶領域が予め設定された記憶容量の設定値を上回っているか否かを判定する（ステップＳ１０２）。
現時点でパーティションの終端側に上書き可能領域として残るデータ記憶領域の容量は、例えば、磁気ヘッド５が位置するラップの配列位置（ラップ番号）と磁気テープ２の走行方向および磁気テープ２の巻き取りリールの回転数から得られる残りの磁気テープ長に磁気テープ２の単位長さ当たりの記憶容量を乗じること等によって容易に求めることができる。無論、閾値として利用する記憶容量に代わる設定値としてテープ長を利用し、残りの磁気テープ長と設定値とを直接的に比較するようにしてもよい。
【００３１】
ステップＳ１０２の判定結果が真となって上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていることが明らかとなった場合には、パーティションのデータ記憶領域を増長する必要はないので、パーティション再構築手段として機能するマイクロプロセッサ６は、パーティションの論理構成を現状に維持し、従来と同様、上位装置４からのWriteコマンドに従って、カートリッジメモリ８のEOD Block ID記憶領域３１４に記憶された前回のデータ書き込み終了位置に続けてデータを書き込み、今回のデータ書き込み終了位置をカートリッジメモリ８のEOD Block ID記憶領域３１４に更新して記憶させる（ステップＳ１０４）。
【００３２】
一方、ステップＳ１０２の判定結果が偽となって上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていないことが明らかとなった場合には、パーティションのデータ記憶領域を増長する必要があることを意味する。
【００３３】
この場合、パーティション再構築手段として機能するマイクロプロセッサ６は、パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらしてパーティションの論理構成を更新し、パーティション情報更新手段として機能するマイクロプロセッサ６が、パーティション再構築手段によって更新されたパーティションの始端とされたラップのラップ番号をカートリッジメモリ８のBOP位置情報記憶領域３１１に更新して記憶させ、また、パーティション再構築手段によって更新されたパーティションの終端とされたラップのラップ番号をカートリッジメモリ８のEOP位置情報記憶領域３１２に更新して記憶させ、更に、パーティション再構築手段によって更新されたパーティションの始端とされたラップの最初のデータブロックのブロックIDをカートリッジメモリ８のBOP Block ID記憶領域３１３に更新して記憶させてから（ステップＳ１０３）、前記と同様にして、上位装置４からのWriteコマンドに従って、カートリッジメモリ８のEOD Block ID記憶領域３１４に記憶された前回のデータ書き込み終了位置に続けてデータを書き込み、今回のデータ書き込み終了位置をカートリッジメモリ８のEOD Block ID記憶領域３１４に更新して記憶させることになる（ステップＳ１０４）。
例えば、上位装置４からのWriteコマンドを受信したステップＳ１０１の時点でカートリッジメモリ８のBOP位置情報記憶領域３１１にラップ番号０が記憶され且つEOP位置情報記憶領域３１２にラップ番号９が記憶されており、ラップ番号０のラップを始端とし且つラップ番号９のラップを終端とするパーティションが利用されている状況下で、ラップ番号１のラップの最初のデータブロックのブロックIDが１００、また、不揮発性メモリ７にはラップ単位のパーティションのずらし量の設定値として値１が設定されていて、磁気テープ２のラップの物理的な総数が９であったと仮定し、この状況下でステップＳ１０２の判定結果が偽となってパーティションのデータ記憶領域を増長する必要が生じたとすれば、ステップＳ１０３の処理により、カートリッジメモリ８のBOP位置情報記憶領域３１１にはラップ番号１（０＋１＝０〔１はずらし量の設定値〕）が更新して記憶され、カートリッジメモリ８のEOP位置情報記憶領域３１２にはラップ番号０（９＋１＝１０であるが、ラップの物理的な総数は９でありパーティションは循環的にずらされるので１０に相当する値は０となる）が更新して記憶され、カートリッジメモリ８のBOP Block ID記憶領域３１３にはブロックIDの値１００が更新して記憶されることになる。
【００３４】
それまで使用していたパーティションの始端を構成していたラップ番号０のラップに記憶されていたデータ、および、新たにパーティションの始端を構成するラップ番号１のラップ上のデータであってもブロックIDの値が１００未満のデータ即ちラップ番号０のラップから内容が継続しているデータの全ては、パーティションの再構築に関わるステップＳ１０３の処理が実行された時点で無効なデータとなるが、カートリッジメモリ８のBOP Block ID記憶領域３１３には新たにパーティションの始端とされたラップ番号１のラップの最初のデータブロックのブロックIDの値１００が記憶されるので、磁気ヘッド５の位置づけ処理の実行をブロックIDの値が１００以上となる範囲に制限することで、無効化されたデータ記憶領域や誤ったデータ記憶領域に磁気ヘッド５を移動させようとする誤動作を未然に防止することができる。
【００３５】
以上の処理により、論理的なパーティションの終端側に上書き可能領域として残るデータ記憶領域を逐次増長させながらデータを分断させることなく磁気テープ２に循環的に記憶させることができるようになる。
【００３６】
また、この結果として、最新のデータは常にパーティションの終端付近に書き込まれ、長時間に亘って確実に保持されることになる。
【００３７】
次に、図４を参照してデータ読み込み処理について説明する。
【００３８】
磁気テープ装置１が上位装置４からのReadコマンドを受信すると、マイクロプロセッサ６が磁気ヘッド５を駆動制御して磁気テープ２からのデータの読み込みを開始し（ステップＳ２０１）、磁気ヘッド５が何れかのラップの末尾に到達しているか否かを判定する（ステップＳ２０２）。
磁気ヘッド５が何れかのラップの末尾に到達しているか否かの判定は、例えば、磁気ヘッド５が位置するラップの配列位置（ラップ番号）と磁気テープ２の走行方向および磁気テープ２の巻き取りリールの回転数等から容易に求めることができる。
【００３９】
ステップＳ２０２の判定結果が偽となって磁気ヘッド５がラップの末尾にないことが明らかとなった場合には、マイクロプロセッサ６は、このままデータの読み込みを継続し、読み込んだデータを上位装置４に転送する（ステップＳ２０７）。
【００４０】
一方、ステップＳ２０２の判定結果が真となって磁気ヘッド５が何れかのラップの末尾に到達していることが明らかとなった場合には、マイクロプロセッサ６は、更に、磁気ヘッド５が現時点でトラッキングしているラップのラップ番号とカートリッジメモリ８のEOP位置情報記憶領域３１２に記憶されている終端ラップのラップ番号とを比較することによって、磁気ヘッド５が現時点でトラッキングしているラップがパーティションの論理的な終端ラップであるか否かを判定する（ステップＳ２０３）。
【００４１】
そして、ステップＳ２０３の判定結果が真となって磁気ヘッド５が現時点でトラッキングしているラップがパーティションの論理的な終端ラップであることが明らかとなった場合には、マイクロプロセッサ６は、磁気ヘッド５がパーティションの論理的な終端ラップの末尾に到達したことを示すEOP信号を上位装置４に送信し、このままデータの読み込み処理を終了する。
従って、パーティションの論理的な終端ラップを超えて、無効化されたデータや保証のないデータが磁気テープ２から読み込まれるといった恐れはない。
【００４２】
また、ステップＳ２０３の判定結果が偽となって、磁気ヘッド５が現時点でトラッキングしているラップがパーティションの論理的な終端ラップではないことが明らかとなった場合には、マイクロプロセッサ６は、更に、磁気ヘッド５が現時点でトラッキングしているラップがパーティションの物理的な終端ラップであるか否かを判定する（ステップＳ２０４）。
【００４３】
そして、ステップＳ２０４の判定結果が真となって、磁気ヘッド５が現時点でトラッキングしているラップがパーティションの物理的な終端ラップであることが明らかとなった場合には、マイクロプロセッサ６は、シーク機構を駆動して磁気ヘッド５をパーティションの物理的な始端ラップに移動させた上で（ステップＳ２０５）、前記と同様にしてデータの読み込みを継続し、読み込んだデータを上位装置４へと転送する（ステップＳ２０７）。
この場合は、パーティションのラップ構造自体は論理的に連続しているので、データの読み込み処理が継続可能となるのである。
物理的な終端ラップから物理的な始端ラップへの磁気ヘッド５の移動を考えると、磁気テープ２におけるラップ数を奇数とし、磁気テープ２の巻き戻し操作を行なわなくても、シーク方向の移動（ラップの配列方向への移動）のみで短時間で磁気ヘッド５が物理的な終端ラップから物理的な始端ラップに移動できるようにするとよい。
【００４４】
また、ステップＳ２０４の判定結果が偽となって、磁気ヘッド５が現時点でトラッキングしているラップがパーティションの物理的な終端ラップでないことが明らかとなった場合には、マイクロプロセッサ６は、シーク機構を駆動して磁気ヘッド５を従来と同様に次のラップの始端に移動させた上で（ステップＳ２０６）、データの読み込みを継続し、読み込んだデータを上位装置４に転送することになる（ステップＳ２０７）。
【００４５】
以上の処理により、循環的に磁気テープ２に書き込まれたデータを適切に読み込むことが可能となる。
【００４６】
次に、図５を参照して磁気ヘッド５の位置づけ処理について説明する。
【００４７】
磁気テープ装置１が上位装置４からの位置づけコマンド例えばSpaceやLocateあるいはRewind等のコマンドを受信すると、位置づけ制御手段として機能するマイクロプロセッサ６は、まず、カートリッジメモリ８のBOP位置情報記憶領域３１１に記憶されているパーティションの始端を構成するラップのラップ番号と、BOP Block ID記憶領域３１３に記憶されているパーティションの始端とされたラップの最初のデータブロックのブロックIDと、EOD Block ID記憶領域３１４に記憶されているパーティションの始端を基準とした最終的なデータ書き込み終了位置のブロックIDを読み込んで一時記憶する（ステップＳ３０１）。
【００４８】
次いで、位置づけ制御手段として機能するマイクロプロセッサ６は、位置づけコマンドと共に上位装置４から与えられた位置づけ目標のブロックIDの値がBOP Block ID記憶領域３１３に記憶されている最初のデータブロックのブロックIDの値以上であって、且つ、位置づけ目標のブロックIDの値がEOD Block ID記憶領域３１４に記憶されている最終的なデータ書き込み終了位置のブロックIDの値以下であるか否か、つまり、位置づけコマンドと共に上位装置４から与えられた位置づけ目標のブロックIDの値が、有効なデータを記憶した記憶領域の範囲内にあるか否かを判定する（ステップＳ３０２）。
【００４９】
ここで、ステップＳ３０２の判定結果が真となって位置づけ目標のブロックIDの値が有効なデータを記憶した記憶領域の範囲内にあることが明らかとなった場合には、位置づけ制御手段として機能するマイクロプロセッサ６は、BOP位置情報記憶領域３１１に記憶されているパーティションの始端を構成するラップの始端を基準として、上位装置４から与えられた位置づけ目標のブロックIDの値に従って図示しない磁気テープ送り機構やシーク機構を駆動制御し、指定された位置に磁気ヘッド５を位置づけする（ステップＳ３０３）。
【００５０】
また、ステップＳ３０２の判定結果が偽となって位置づけ目標のブロックIDの値が有効なデータを記憶した記憶領域の範囲内にないことが明らかとなった場合には、位置づけ制御手段として機能するマイクロプロセッサ６は、更に、位置づけコマンドによって指定された位置づけ目標のブロックIDの値がBOP Block ID記憶領域３１３に記憶されている最初のデータブロックのブロックIDの値未満であるか否か、つまり、位置づけの目標が、現時点で使用されているパーティションの始端に直近して無効化された過去のデータの記憶領域に相当する部分であるか否かを判定し（ステップＳ３０４）、そうであれば、上位装置４から与えられた位置づけ目標のブロックIDの値を無視し、図示しない磁気テープ送り機構やシーク機構を駆動制御して、BOP位置情報記憶領域３１１に記憶されているパーティションの始端を構成するラップの始端に磁気ヘッド５を位置づけし、現在使用しているパーティションの始端に磁気ヘッド５を位置づけしたことを示す信号を上位装置に送信する（ステップＳ３０５）。
【００５１】
また、ステップＳ３０４の判定結果が偽となって位置づけ目標のブロックIDの値がEOD Block ID記憶領域３１４に記憶されている最終的なデータ書き込み終了位置のブロックIDの値を越えていることが明らかとなった場合には、位置づけ制御手段として機能するマイクロプロセッサ６は、上位装置４から与えられた位置づけ目標のブロックIDの値を無視し、図示しない磁気テープ送り機構やシーク機構を駆動制御して、EOD Block ID記憶領域３１４に記憶されている最終的なデータ書き込み終了位置に磁気ヘッド５を位置づけし、最終的なデータ書き込み終了位置に磁気ヘッド５を位置づけしたことを示す信号を上位装置に送信する（ステップＳ３０６）。
【００５２】
従って、仮に、無効化されたブロックIDへの位置づけが上位装置４からの位置づけコマンドによって指定された場合であっても、磁気ヘッド５の現在位置が分からなくなることはなく、無効化されたデータ記憶領域や誤ったデータ記憶領域に磁気ヘッド５を移動させようとする誤動作も未然に防止することができる。
【００５３】
また、上位装置４からのRead Positionコマンドによって磁気ヘッド５の現在位置を確認する必要が生じた場合やLocateコマンド等のようにブロックIDを指定した位置づけ要求があった場合、つまり、有効なデータ記憶領域を超えたブロックIDの取り扱いが必要となった場合には、BOPからの累積ブロック数（累積データブロック数＋累積ファイルマーク数）にカートリッジメモリ８のBOP Block ID記憶領域３１３から読み出したBOP Block IDの値を加算した位置に磁気ヘッド５を位置づけするようにする。
この処理により、パーティションの始端を構成するラップ上のデータを無効化してパーティションの末端に循環的に連結した後でも、それまでと同じブロックIDを用いて、データが書き込まれたブロックへアクセスすることができ、例えば、パーティションの再構築によって論理的に無効化されてはいるもののデータの内容自体には有意性があるといった過去のデータの読み出しといったことも或る程度は可能となる。
【００５４】
パーティションの論理構成の更新が必要であるか否かを残存記憶領域判定手段が判定する際に閾値として利用する記憶容量の設定値は、取り扱うデータの容量に合わせて適宜的に不揮発性メモリ７に更新して設定することができる。当然、１回の書き込み処理で書き込むデータが大容量である場合には閾値として利用する記憶容量の設定値も大きな値で設定し、また、１回の書き込み処理で書き込むデータが小容量である場合には閾値として利用する記憶容量の設定値も小さな値で設定するようにする。
従って、パーティションの終端側に上書き可能領域として残るデータ記憶領域が予め設定された記憶容量の設定値を上回っているか否かを判定するためのステップＳ１０２の判定処理は、実質的には、現時点で書き込みを要求されているデータが分断されることなく現在のパーティションに書き込めるか否かを判定する判定処理であるといってもよい。
【００５５】
ここでは、一例として、パーティションの再構築に際してパーティションを構成するラップを１ラップずつずらす場合について説明しているが、パーティションを構成するラップを数ラップずつ循環的にずらすことも可能である。
ラップのずらし量は、前述した記憶容量の設定値の場合と同様、取り扱うデータの容量に合わせて適宜的に不揮発性メモリ７に更新して設定することができる。
【００５６】
〔第２の実施形態〕
【００５７】
次に、磁気テープ２が有する複数のラップによって構成される論理的なパーティションにデータ本体と此のデータ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる場合の実施形態について説明する。
【００５８】
磁気テープ２の記憶領域をコンテンツ領域とインデックス領域に分割し、コンテンツ領域に各種のファイル等を始めとするデータ本体を記憶させる一方、コンテンツ領域内のデータ本体を扱えるようにするためのインデックス情報、例えば、データの読み出しに必要とされるデータ名やデータサイズおよび其の読み出し開始位置といった情報をインデックス領域に記憶させるようにした追記型の記憶方式は例えばLTFS（Linear Tape File System）として既に公知である。
【００５９】
ここで、LTFSを前提とした磁気テープ２へのデータの基本的な書き込み形式について図６および図７を参照して簡単に用いて説明する。
【００６０】
この形式による磁気テープ２へのデータの書き込みは、図６に示すように、上位装置４においてファイルとして記録されているデータの内容たとえばFileA，FileB，FileCをデータ本体として磁気テープ２上のコンテンツ領域７１に書き込み、その後に続くインデックス領域７２に、コンテンツ領域７１内のデータ本体たとえばFileA，FileB，FileCを扱えるようにするためのインデックス情報を書き込むようになっている。
インデックス情報としては、データ本体たとえばFileA，FileB，FileCの読み出しに必要とされるデータ名７２１（ファイル名と同意）や各データ本体のサイズ７２４（データ長と同意）および各々のデータ本体の読み出し開始位置となるデータブロックのブロックID７２２や、各データ本体の内容がデータブロック内の何バイト目から記録されているかを示す開始オフセット７２３といったものが書き込まれる。
実際には、インデックス情報には、これらのデータの他にもデータ本体の作成日時や更新日時およびデータ本体の属性（読み込み専用など）なども含まれるが、これらのものは発明の要旨とは直接的な関連はないので各図中での記載を省略している。
【００６１】
ここで、更に、図６のようにして書き込まれている３つのデータ本体たとえばFileA，FileB，FileCに加えて新たに２つのデータ本体たとえばFileD，FileEの書き込みを行ったとすると、図７に示されるように、以前に書かれたコンテンツ領域７１の内容とインデックス領域７２の内容つまり図７中でBlockID＝Nよりも左側に位置する情報を全て残したまま、追記型の書き込み形式によってBlockID＝Nよりも右側に生成される新たなコンテンツ領域７１にFileD，FileEがデータ本体として書き込まれ、新たなコンテンツ領域７１に後続する新たなインデックス領域７２に、前記と同様にして、各データ本体のデータ名７２１や其の読み出し開始位置となるデータブロックのブロックID７２２および開始オフセット７２３やデータ本体のサイズ７２４といったものが書き込まれることになる。
図６と図７の比較から分かるとおり、FileD，FileEの書き込みに対応してBlockID＝Nよりも右側に生成された新たなインデックス領域７２には、FileD，FileEのみならず、以前に書き込まれたFileA，FileB，FileCのインデックス情報も其のまま持ち越される。
また、磁気テープ２上に記録されているデータ本体を削除する場合にあっては、コンテンツ領域７１に記憶されているデータ本体それ自体の磁気記憶の抹消は行なわず、単に、最新のインデックス領域７２つまり図７の例でいえばBlockID＝Nよりも右側に位置するインデックス領域７２上において、削除対象となるデータ本体に対応したインデックス情報を削除し、インデックス情報を削除したインデックス領域７２の内容を最新のインデックス情報とすることによって、データ本体の削除が完了したものと見做すようにしている。
【００６２】
このように、最新のインデックス領域７２には、以前に書き込まれたデータ本体にアクセスするために必要とされる情報の全てが含まれているため、上位装置４は、最新のインデックス領域７２のみを用いて磁気テープ２上に記憶されている有効なデータ本体の全てにアクセスすることが可能となる。
【００６３】
なお、インデックス情報を複数のパーティションに書き込む場合もある。ここでは、一例として、１つのパーティションを有する磁気テープ２上でデータの読み書きやパーティションの再構築およびインデックス情報の読み込みを行なう場合について説明するが、複数のパーティションを有する磁気テープ２に対しても同様の処理操作を適用することが可能である。
【００６４】
LTFSを前提として磁気テープ２を管理する場合であっても磁気テープ装置１のハードウェア構成自体には通常のものとの違いはないので、磁気テープ装置１の構成に関しては第１の実施形態における説明と図１を援用するものとし、ここでは詳細な説明はしない。
【００６５】
但し、この実施形態にあっては、磁気テープ装置１のマイクロプロセッサ６は、上位装置４からのデータ記憶領域拡張指令の入力の有無を判定するコマンド判定手段、
コマンド判定手段がデータ記憶領域拡張指令の入力を検知しなければパーティションの論理構成を維持する一方、コマンド判定手段がデータ記憶領域拡張指令の入力を検知した場合には、パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を最新のインデックス領域から削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に最新のインデックス領域に記憶させると共に、パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、パーティションの論理構成を更新するパーティション再構築手段、
上位装置４から１世代以上前のインデックス情報の読み出し指令が与えられた際に、インデックス情報のブロックIDの値を１世代前のものから順に時系列を遡って検出し、インデックス情報のブロックIDが検出される度に、そのブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であるか否かを判定するインデックス情報有効性判定手段、
インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDが最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であると判定された場合に、このインデックス情報が上位装置４からの読み出し指令で与えられたインデックス情報と一致するか否かを判定する一致不一致判定手段、
一致不一致判定手段が一致の判定をした場合に、このインデックス情報の内部的な読み出しを実行し、最新のインデックス情報と共に記憶されている有効なブロックIDの値と前記一致したインデックス情報に含まれる読み出し開始位置の各々との大小を比較し、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満の読み出し開始位置を有するデータ本体に対応するインデックス情報を除いたインデックス情報の読み出しを上位装置４に許容する一方、一致不一致判定手段が一致の判定をすることなく、インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値未満であると判定された場合に、インデックス情報の読み出しを非実行としてインデックス情報の読み出しエラーを上位装置４に知らせる出力情報制限手段として機能することになる。
【００６６】
マイクロプロセッサ６をコマンド判定手段，パーティション再構築手段，インデックス情報有効性判定手段，一致不一致判定手段および出力情報制限手段として機能させるための磁気テープ装置用制御プログラム（図１０〜図１１参照）は不揮発性メモリ７に格納されている。
【００６７】
また、この実施形態のカートリッジメモリ８にあっては、第１の実施形態で既に説明したBOP位置情報記憶領域３１１，EOP位置情報記憶領域３１２，BOP Block ID記憶領域３１３，EOD Block ID記憶領域３１４に加え、更に、図９に示されるように、磁気テープ２上の各ラップに関する各種の情報、即ち、各ラップのラップ番号を記憶するラップ番号記憶領域３１５と、各ラップの始端となるデータブロックのブロックIDを記憶する開始Block ID記憶領域３１６と、各ラップ内のデータブロック数を記憶するデータブロック数記憶領域３１７と、各ラップ内にセットされたファイルマーク（指標）の数を記憶するファイルマーク数記憶領域３１８が設けられている。
【００６８】
次に、図１０〜図１１のフローチャートを参照して、この実施形態における磁気テープ装置の制御方法および磁気テープ装置用制御プログラムと、この実施形態の磁気テープ装置１におけるコマンド判定手段，パーティション再構築手段，インデックス情報有効性判定手段，一致不一致判定手段および出力情報制限手段として機能するマイクロプロセッサ６の処理動作について具体的に説明する。
【００６９】
まず、図１０を参照してパーティションを再構築する際の処理について説明する。
【００７０】
この実施形態では、前述した第１の実施形態の場合とは相違し、上位装置４から明示的にデータ記憶領域拡張指令が入力された場合に限ってパーティションを再構築する処理を実行するようにしているので、前述した第１の実施形態のような残存記憶領域判定手段は必要としない。
上位装置４が磁気テープ装置１にデータ記憶領域拡張指令を出力するタイミングの判断は、例えば、磁気ヘッド５がトラッキングしているラップがデータの書き込み中にパーティションの論理的な終端ラップの近傍に差し掛かった時に磁気テープ装置１から上位装置４に出力される早期警戒信号に基いて行なったり、また、磁気テープ２のパーティションに残存する記憶容量を磁気テープ装置１を介して上位装置４が取得し、残り容量が一定以下になった場合に実行するといったようなことが考えられる。無論、磁気テープ２のパーティションに残存する記憶容量とは無関係にパーティションを再構築する処理を行なうことも可能であって、パーティションを再構築する際の付帯条件は必ずしも必要ではない。
【００７１】
また、磁気テープ２におけるデータの基本的な書き込み形式がLTFSのフォーマットに準拠しているため、磁気テープ２上のコンテンツ領域７１からのデータ本体の読み出しや磁気ヘッド５の位置づけ等に関連する処理を実行する場合には、そのための前処理として、上位装置４が、磁気テープ２上のインデックス領域７２に記憶されているインデックス情報を取得する必要があり、パーティションを再構築するためのラップの移動に際しても、インデックス情報の取り扱いに注意が必要となる点において、前述した第１の実施形態との相違がある。
【００７２】
磁気テープ装置１が上位装置４からのデータ記憶領域拡張指令を受信すると、コマンド判定手段として機能するマイクロプロセッサ６が此れを検知し、まず、図示しない磁気テープ送り機構およびシーク機構と磁気ヘッド５を駆動制御して磁気テープ２上の最新のインデックス領域７２から最新のインデックス情報を読み込んで一時記憶し、更に、カートリッジメモリ８のBOP位置情報記憶領域３１１から、現時点で使用しているパーティションの始端とされているラップのラップ番号を読み込むと共に、このラップ番号と同じラップ番号に対応する開始Block ID記憶領域３１６に記憶されているブロックIDおよびデータブロック数記憶領域３１７に記憶されているデータブロック数の情報を読み込む（ステップＳ４０１）。
【００７３】
そして、パーティション再構築手段として機能するマイクロプロセッサ６が、これらの情報、即ち、最新のインデックス領域７２のインデックス情報に含まれるデータ名７２１と此れに対応するブロックID７２２および開始オフセット７２３（以上、磁気テープ２上の最新のインデックス領域７２から取得した情報）と、現時点でパーティションの始端を構成しているラップに関連する情報であるブロックID３１６およびデータブロック数３１７（以上、カートリッジメモリ８から取得した情報）とに基いて、磁気テープ２上の最新のインデックス領域７２を利用して其のデータ名７２１が記憶されているデータ本体のうち何れのデータ本体がパーティションの始端を構成するラップ上に記憶されているかを特定し、始端を構成するラップ上に記憶されているデータ本体のデータ名７２１と此れに関連する全ての情報つまり其の読み出し開始位置となるデータブロックのブロックID７２２および開始オフセット７２３とデータ本体のサイズ７２４のデータを、現時点でマイクロプロセッサ６が一時記憶しているインデックス情報から全て削除し、未削除のままマイクロプロセッサ６に一時記憶されているインデックス情報を、例えば図８に示すようにして、磁気テープ２上に新たに生成したインデックス領域７２に、改めて追記の形式で書き戻し、更に、この新規のインデックス領域７２に、パーティションの再構築によって新たにパーティションの始端とすべきラップ、即ち、現時点でパーティションの始端を構成しているラップのラップ番号よりもラップ番号の値が循環的に１つ大きな次のラップの最初のデータブロックのブロックIDの値を、有効なBlockID７２５の値として記憶させる。この際、磁気テープ２上における１世代前のインデックス情報の記憶開始位置のブロックIDの値も新規のインデックス領域７２に記憶される（以上、ステップＳ４０２）。
また、有効なブロックID７２５の値は前述した第１の実施形態の場合と同様、カートリッジメモリ８のBOP Block ID記憶領域３１３にも更新して記憶されることになる。
【００７４】
ここで、ステップＳ４０２の処理で追記される新たなインデックス情報の詳細について、図７および図８を用いて簡単に説明する。
【００７５】
仮に、図７に示されるように、パーティションの再構築の前の時点でパーティションの始端を構成しているラップ上にBlock IDがＭ＋１までのブロックが含まれていたとすると、FileAとFileBが始端のラップ、つまり、パーティションの再構築によってデータを無効化されるラップ上に記録されていることになる。従って、この場合は、図８に示されるように、FileAのデータ名７２１と此れに関連する各種の情報つまり見かけ上でFileAと横並びに位置するブロックID７２２および開始オフセット７２３とデータ本体のサイズ７２４が一時記憶のインデックス情報から削除され、同様に、FileBのデータ名７２１と此れに関連する各種の情報つまり見かけ上でFileBと横並びに位置するブロックID７２２および開始オフセット７２３とデータ本体のサイズ７２４が一時記憶のインデックス情報から削除されることになる。
また、データを無効化されるラップの次のラップはBlock IDがＭ＋２のブロックから始まっているので、有効なBlock ID７２５の値はＭ＋２となる。従って、有効なBlock ID７２５の値としてＭ＋２の値が、削除されずに残ったインデックス情報と共に新規のインデックス領域７２に記憶されることになる。
なお、ステップＳ４０１の説明でいう最新のインデックス情報つまり読み込みの対象とされるインデックス情報は図７中で右端に記載されるインデックス領域７２に記憶されているインデックス情報であり、ステップＳ４０２の処理でＣＰＵ６が一時記憶していたインデックス情報および有効なBlock ID７２５の値の書き込み先となる最新のインデックス領域７２は図８中で右端に記載されるインデックス領域７２である。既に述べたとおり、追記型の記憶形式であるから、ステップＳ４０１の処理で読み込みの対象とされたインデックス情報の内容は図７中で右端に記載されるインデックス領域７２つまり図８中では右から２番目に位置するインデックス領域７２に其のまま残っており、ステップＳ４０２の処理を受けても未削除の状態で残る一時記憶のインデックス情報とステップＳ４０２の処理で求められた有効なBlockID７２５の値は、図８中で右端に記載されるインデックス領域７２に記憶されることになる。
また、この時点でいう１世代前のインデックス情報は図７中で右端に記載されるインデックス領域７２つまり図８中では右から２番目に位置するインデックス領域７２のインデックス情報であるから、図８中で右から２番目に位置するインデックス領域７２のインデックス情報の記憶開始位置が、此の時点のステップＳ４０２の処理によって、図８中で右端に記載される新規のインデックス領域７２に１世代前のインデックス情報の記憶開始位置のブロックIDとして記憶されることになる。
【００７６】
パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらしてパーティションの論理構成を更新するステップＳ４０３の処理に関しては前述した第１の実施形態で説明したステップＳ１０３の処理と同様であるので、詳細な説明は省略する。
更新されたパーティションに対するデータの追記等に関しても前述した第１の実施形態の場合と同様であり、再構築されたパーティションに対して新たなデータの書き込みを自由に行うことが可能である。
【００７７】
なお、コマンド判定手段が上位装置４からのデータ記憶領域拡張指令の入力を検知しない限りパーティション再構築手段としてのＣＰＵ６によるステップＳ４０２〜ステップＳ４０３の処理は実行されないので、当然、パーティションの論理構成は以前と同じ状態に保持されることになる。
【００７８】
以上の処理により、磁気テープ２の記憶領域をコンテンツ領域とインデックス領域に分割し、コンテンツ領域に各種のファイル等を始めとするデータ本体を記憶させる一方、コンテンツ領域内のデータ本体を扱えるようにするためのインデックス情報をインデックス領域に記憶させるようにしたLTFSのフォーマットを其のまま援用した状況下であっても、インデックス領域７２に記憶されているインデックス情報の内容とコンテンツ領域７１に記憶されているデータ本体の内容との間に不整合を生じることなく、パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、論理的なパーティションの終端側に上書き可能領域として残るデータ記憶領域を逐次増長させながらデータを分断させることなく磁気テープに循環的に記憶させることが可能となる。
【００７９】
また、LTFSのフォーマットを其のまま援用することができるので、磁気テープ２に循環的な記憶を行なわせる構成を適用した場合であっても、上位装置４のソフトウェア等に格別な改変を加える必要はない。
【００８０】
LTFSのフォーマットを援用した状況下では、上位装置４は専ら磁気テープ２上のインデックス領域７２に記憶されたインデックス情報を参照してデータの書き込みや読み込み等を制御することになるが、パーティションの論理構成の更新に際しては従前のパーティションの始端のラップに記憶されていたデータ本体に対応する部分のインデックス情報を適切にインデックス情報から削除し、次のラップ即ち更新後のパーティションの始端のラップに記憶されている最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共にインデックス領域７２に記憶させるようにしているので、パーティションの再構築に際して無効化されたデータ本体に対応するインデックス情報が最新のインデックス領域７２から適切に抹消されることとなり、磁気テープ２のインデックス情報を利用してデータ本体にアクセスする際に、無効化されたデータ記憶領域や誤ったデータ記憶領域に磁気ヘッド５を移動させようとする誤動作を未然に防止することができる。
【００８１】
LTFSを援用したデータ管理では、一般に、１つのコンテンツ領域７１および此れに続く１つのインデックス領域７２に対する書き込み操作によって記録されるデータを１世代分のデータとして定義しており、複数回の追記が行なわれた場合には、複数世代のデータが磁気テープ２上に記録されることになる。つまり、ここでいう世代はバックアップやモデファイ等によるデータの新旧とは無関係であり、内容が全く異なる別種のデータ本体であっても第１世代，第２世代，第３世代，・・・のデータと呼ばれることがある。
【００８２】
既に述べたとおり、最新のインデックス領域７２のインデックス情報には、最新の世代および其れよりも前の世代のコンテンツ領域７１に書き込まれたデータ本体を特定するために必要とされるインデックス情報が記述されているため、通常は、最新のインデックス情報のみを使用すれば旧世代のものも含めて必要とするデータ本体にアクセスすることができる。
【００８３】
しかし、磁気テープ２上に記録された特定のデータを削除したり上書きしたりしたような場合、より厳密には、削除や上書きの対象とするデータ本体に対応した部分のインデックス情報を最新のインデックス情報から破棄した場合にあっては、データ本体それ自体は磁気記録として磁気テープ２上に残っていても、最新のインデックス情報からでは古い世代のデータ本体にアクセスすることができないといった不都合がある。これに対し、これらの古いデータ本体にもアクセスしたいといった要求がある。
【００８４】
これらの状況に鑑み、更に、前世代のインデックス情報に基づいてデータ本体にアクセスするためのロールバック処理について図１１を参照して説明する。
【００８５】
上位装置４から磁気テープ装置１に検索対象とする１世代以上前のインデックス情報を指定したインデックス情報の読み出し指令が入力されると、インデックス情報有効性判定手段として機能するマイクロプロセッサ６は、まず、図示しない磁気テープ送り機構およびシーク機構と磁気ヘッド５を駆動制御して磁気テープ２上の最新のインデックス領域７２（例えば、図８中で右端に位置するインデックス領域７２）に記憶された有効なBlockID７２５の値つまり現時点では未だ無効化されていない最初のデータを記憶しているブロックのブロックIDの値を読み込み、１世代前のインデックス情報の記憶開始位置のブロックIDの値も併せて検出する（ステップＳ５０１）。
【００８６】
次いで、インデックス情報有効性判定手段として機能するマイクロプロセッサ６は、１世代前のインデックス情報の記憶開始位置のブロックIDの値が有効なBlockID７２５の値以上であるか否か、即ち、１世代前のインデックス情報（例えば、図８中で右から２番目に位置するインデックス領域７２のインデックス情報）が有効であるか否かを判定する（ステップＳ５０２）。
【００８７】
１世代前のインデックス情報の記憶開始位置のブロックIDの値が有効なBlockID７２５の値以上であってステップＳ５０２の判定結果が真となった場合、つまり、１世代前のインデックス情報が有効であると判定された場合には、更に、一致不一致判定手段として機能するマイクロプロセッサ６が、図示しない磁気テープ送り機構およびシーク機構と磁気ヘッド５を駆動制御し、１世代前のインデックス情報の記憶開始位置に磁気ヘッド５を位置づけして、１世代前のインデックス領域７２（例えば、図８中で右から２番目に位置するインデックス領域７２）に記憶された１世代前のインデックス情報を、内部的に、つまり、上位装置４に知らせることなく読み込む。この際、マイクロプロセッサ６は相対的に更に１世代前のインデックス情報の記憶開始位置のブロックIDの値を１世代前のインデックス領域７２（例えば、図８中で右から２番目に位置するインデックス領域７２）から検知して後の判定処理のために一時記憶しておく（以上、ステップＳ５０３）。
【００８８】
そして、一致不一致判定手段として機能するマイクロプロセッサ６は、ステップＳ５０３の処理で読み込んだインデックス情報が上位装置４の指定したインデックス情報と一致するか否かを判定する。（ステップＳ５０４）。
【００８９】
ここで、ステップＳ５０４の判定結果が偽となり、１世代前のインデックス情報が上位装置４の指定したインデックス情報と一致しないことが明らかとなった場合には、インデックス情報有効性判定手段および一致不一致判定手段として機能するマイクロプロセッサ６は、ステップＳ５０２の判定結果が偽となるかステップＳ５０４の判定結果か真となるまでの間、前記と同様にしてステップＳ５０２〜ステップＳ５０４の処理を繰り返し実行し、相対的に１世代前となるインデックス情報の記録開始位置のブロックIDと此のインデックス情報の内容を順に時系列を遡って検出していく。
この際、ステップＳ５０２の判定処理で用いる１世代前のインデックス情報の記憶開始位置のブロックIDの値は、直前に実施されたステップＳ５０３の処理で一時記憶したブロックIDの値を利用する。
【００９０】
このようにしてステップＳ５０２〜ステップＳ５０４の処理を繰り返し実行する間にステップＳ５０２の判定結果が偽となった場合、つまり、一致不一致判定手段が一致の判定をすることなく、インデックス情報有効性判定手段により検出されているインデックス情報の記録開始位置のブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックID７２５の値未満であると判定された場合には、上位装置４が指定したインデックス情報と一致するインデックス情報が此の時点までに磁気テープ２上から見つかっておらず、しかも、更に其れ以前の世代のインデックス情報はパーティションの移動によって無効化されているか或いは元々存在していないことを意味する。
【００９１】
従って、この場合、出力情報制限手段として機能するマイクロプロセッサ６が、インデックス情報の読み出しエラーを上位装置４に送信し、インデックス情報の読み出しに関連する処理をこのまま終了させる。
【００９２】
一方、ステップＳ５０２〜ステップＳ５０４の処理を繰り返し実行する間にステップＳ５０４の判定結果が真となった場合、つまり、一致不一致判定手段が一致の判定を下した場合には、この直前に実行されたステップＳ５０３の処理で読み込まれたインデックス情報が上位装置４の指定したインデックス情報と一致するインデックス情報であったことを意味する。
【００９３】
従って、この場合、出力情報制限手段として機能するマイクロプロセッサ６は、ステップＳ５０１の処理で読み出された有効なブロックID７２５の値つまり最新のインデックス情報と共に記憶されている有効なブロックID７２５の値と、直前に実行されたステップＳ５０３の処理で一時記憶されたインデックス情報（例えば、図８中では右から２番目であって図７中では右端に位置するインデックス領域７２のインデックス情報）に含まれる各データ名７２１に対応した各読み出し開始位置のデータブロックのブロックID７２２の値との大小関係を各々について全て比較し、最新のインデックス情報と共に記憶されている有効なブロックID７２５の値未満のブロックID７２２を有するインデックス情報、即ち、対応するデータ本体が既に無効化しているインデックス情報をフィルタリングし、これらを除いた他のインデックス情報つまりデータ本体が現時点においても有効な状態にあるインデックス情報のみを上位装置４に送信する（ステップＳ５０５）。
【００９４】
従って、仮に、上位装置４の指定したインデックス情報が１世代前のものであって、図８中で右から２番目かつ図７中で右端に位置するインデックス領域７２のインデックス情報が上位装置４の指定条件に一致するものとしてステップＳ５０３の処理で内部的に読み込まれており、データ名７２１がFileAであるデータ本体に対応する読み出し開始位置のデータブロックのブロックID７２２の値Ｍとデータ名７２１がFileBであるデータ本体に対応する読み出し開始位置のデータブロックのブロックID７２２の値Ｍ＋１のみがステップＳ５０１の処理で読み出された有効なブロックID７２５の値つまり最新のインデックス情報と共に記憶されている有効なブロックID７２５の値よりも小さく、かつ、データ名７２１がFileCであるデータ本体に対応する読み出し開始位置のデータブロックのブロックID７２２の値Ｍ＋３とデータ名７２１がFileDであるデータ本体に対応する読み出し開始位置のデータブロックのブロックID７２２の値Ｎおよびデータ名７２１がFileEであるデータ本体に対応する読み出し開始位置のデータブロックのブロックID７２２の値Ｎ＋１が、ステップＳ５０１の処理で読み出された有効なブロックID７２５の値以上であったとすれば、このインデックス情報のうちFileAに関連するデータ７２１〜７２２４とFileBに関連するデータ７２１〜７２２がフィルタリングされ、残りのインデックス情報つまりFileCに関連するデータ７２１〜７２２４とFileDに関連するデータ７２１〜７２２４とFileEに関連するデータ７２１〜７２２４とが上位装置４に送信されることになる。
【００９５】
このように、上位装置４からのインデックス情報の読み出し指令を受けた磁気テープ装置１は、インデックス情報有効性判定手段と一致不一致判定手段の機能により、最新のインデックス情報から順に時系列を遡って前世代のインデックス情報の内容を検索することができるため、データ本体それ自体は磁気記録として磁気テープ２上に残っていても、最新のインデックス情報からでは古い世代のデータ本体にアクセスすることができないといったような場合であっても、最終的に一致不一致判定手段が抽出したインデックス情報を利用することによって、適切に古い世代のデータ本体にアクセスすることができるようになる。
また、インデックス領域７２にインデックス情報は残っているものの、コンテンツ領域７１にあるべき筈のデータ本体は無効化されてしまっているといった場合にあっては、出力情報制限手段が有するフィルタリング機能により、無効化されているデータ本体に対応したインデックス情報、特に、無効化されたデータ本体の読み出し開始位置を表すブロックID７２２の値を上位装置４に送信しないようにしているので、LTFSの書き込み形式を援用してデータを管理している状況下であっても、インデックス領域７２に記憶されているインデックス情報とコンテンツ領域７１に記憶されているデータ本体の内容との間に不整合を生じることなく適切にパーティションの再構築処理を実施することができる。
【００９６】
磁気テープ装置１における処理操作の基本的な構成、つまり、パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、パーティションの論理構成を更新して新たなデータを循環的に書き込むようにする点に関しては前述した第１の実施形態と全く同様であるから、その他の作用および効果に関しては前述した第１の実施形態の場合と全く同様である。
【００９７】
以上に開示した実施形態の一部または全部は、以下の付記に示す記載によって適切に表現され得るが、発明を実施するための形態や発明の技術思想は、これらのものに制限されるものではない。
【００９８】
また、磁気テープ装置用制御プログラムは非一時的な記録媒体に記憶されてもよい。非一時的な記録媒体としては、例えば、ＤＶＤ，ＣＤ，フラッシュメモリ等のものを利用することができる。磁気テープ装置用制御プログラムを非一時的な記録媒体に記憶した場合、磁気テープ装置用制御プログラムは非一時的な記録媒体から適宜のインターフェイスを介して不揮発性メモリ７にインストールされ、磁気テープ装置１のマイクロプロセッサ６によって実行されることになる。
【００９９】
〔付記１〕
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータを上書きして循環的に記憶させる磁気テープ装置の制御方法であって、
前記パーティションへのデータの書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っているか否かを判定し、
前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていれば、前記パーティションの論理構成を維持して新たなデータの書き込みを継続する一方、
前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていなければ、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新してから新たなデータの書き込みを継続することを特徴とした磁気テープ装置の制御方法。
【０１００】
〔付記２〕
前記パーティションの論理構成の更新に際して新たに始端とされたラップの最初のデータブロックのブロックIDを磁気テープのカートリッジの不揮発性メモリに記憶させ、
上位装置から与えられる磁気ヘッドの位置づけコマンドによって指定されるブロックIDの値と前記不揮発性メモリに記憶されたブロックIDの値とを比較し、
位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値以上の場合には、磁気ヘッドの位置づけコマンドによって指定されるブロックIDの位置に磁気ヘッドを位置づけする一方、
位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値未満の場合には、現時点で前記パーティションの始端とされているラップに磁気ヘッドを位置づけすることを特徴とした付記１記載の磁気テープ装置の制御方法。
【０１０１】
〔付記３〕
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体と当該データ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる磁気テープ装置の制御方法であって、
前記パーティションへのデータ本体とインデックス情報の書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域を拡張する必要があるか否かを判定し、
データ記憶領域を拡張する必要がなければ、前記パーティションの論理構成を維持して新たなデータ本体とインデックス情報の書き込みを継続する一方、
データ記憶領域を拡張する必要があれば、前記パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させると共に、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新してから新たなデータ本体とインデックス情報の書き込みを継続することを特徴とした磁気テープ装置の制御方法。
【０１０２】
〔付記４〕
上位装置から１世代以上前のインデックス情報の読み出し指令が与えられると、インデックス情報のブロックIDの値を１世代前のものから順に時系列を遡って検出し、
インデックス情報のブロックIDが検出される度に、そのブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であるか否かを判定し、最新のインデックス情報と共に記憶されている有効なブロックIDの値以上の場合には、更に、このインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致するか否かを判定し、一致する場合には、このインデックス情報の内部的な読み出しを実行し、最新のインデックス情報と共に記憶されている有効なブロックIDの値と前記一致したインデックス情報に含まれる読み出し開始位置の各々との大小を比較し、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満の読み出し開始位置を有するデータ本体に対応するインデックス情報を除いたインデックス情報の読み出しを上位装置に許容する一方、
時系列を遡って検出されるインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致することなく、検出されたインデックス情報のブロックIDの値が、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満となった場合には、インデックス情報の読み出しを非実行としてインデックス情報の読み出しエラーを上位装置に知らせることを特徴とした付記３記載の磁気テープ装置の制御方法。
【０１０３】
〔付記５〕
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータを上書きして循環的に記憶させる磁気テープ装置であって、
前記パーティションへのデータの書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っているか否かを判定する残存記憶領域判定手段と、
前記残存記憶領域判定手段により、上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていると判定された場合には、前記パーティションの論理構成を維持する一方、前記残存記憶領域判定手段により、上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていないと判定された場合には、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段と、
少なくとも、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップのラップ番号と、前記パーティション再構築手段によって更新されたパーティションの終端とされたラップのラップ番号、および、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップの最初のデータブロックのブロックIDを磁気テープのカートリッジの不揮発性メモリに更新して記憶させるパーティション情報更新手段と、
上位装置から与えられる磁気ヘッドの位置づけコマンドによって指定されるブロックIDの値と前記不揮発性メモリに記憶されたブロックIDの値とを比較し、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値以上の場合には、位置づけコマンドによって指定されるブロックIDの位置に磁気ヘッドを位置づけする一方、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値未満の場合には、前記不揮発性メモリにパーティションの始端としてラップ番号を記憶されたパーティションに磁気ヘッドを位置づけする位置づけ制御手段とを備えたことを特徴とした磁気テープ装置。
【０１０４】
〔付記６〕
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体と当該データ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる磁気テープ装置であって、
上位装置からのデータ記憶領域拡張指令の入力の有無を判定するコマンド判定手段と、
前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知しなければ前記パーティションの論理構成を維持する一方、前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知した場合には、前記パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させると共に、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段と、
上位装置から１世代以上前のインデックス情報の読み出し指令が与えられると、インデックス情報のブロックIDの値を１世代前のものから順に時系列を遡って検出し、インデックス情報のブロックIDが検出される度に、そのブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であるか否かを判定するインデックス情報有効性判定手段と、
前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDが最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であると判定された場合に、このインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致するか否かを判定する一致不一致判定手段と、
前記一致不一致判定手段が一致の判定をした場合に、このインデックス情報の内部的な読み出しを実行し、最新のインデックス情報と共に記憶されている有効なブロックIDの値と前記一致したインデックス情報に含まれる読み出し開始位置の各々との大小を比較し、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満の読み出し開始位置を有するデータ本体に対応するインデックス情報を除いたインデックス情報の読み出しを上位装置に許容する一方、前記一致不一致判定手段が一致の判定をすることなく、前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値未満であると判定された場合に、インデックス情報の読み出しを非実行としてインデックス情報の読み出しエラーを上位装置に知らせる出力情報制限手段とを備えたことを特徴とした磁気テープ装置。
【０１０５】
〔付記７〕
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータを上書きして循環的に記憶させる磁気テープ装置が備えるマイクロプロセッサを、
前記パーティションへのデータの書き込みに際して前記パーティションの終端側に上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っているか否かを判定する残存記憶領域判定手段、
前記残存記憶領域判定手段により、上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていると判定された場合には、前記パーティションの論理構成を維持する一方、前記残存記憶領域判定手段により、上書き可能領域として残るデータ記憶領域の容量が予め設定された記憶容量を上回っていないと判定された場合には、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段、
少なくとも、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップのラップ番号と、前記パーティション再構築手段によって更新されたパーティションの終端とされたラップのラップ番号、および、前記パーティション再構築手段によって更新されたパーティションの始端とされたラップの最初のデータブロックのブロックIDを磁気テープのカートリッジの不揮発性メモリに更新して記憶させるパーティション情報更新手段、および、
上位装置から与えられる磁気ヘッドの位置づけコマンドによって指定されるブロックIDの値と前記不揮発性メモリに記憶されたブロックIDの値とを比較し、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値以上の場合には、位置づけコマンドによって指定されるブロックIDの位置に磁気ヘッドを位置づけする一方、位置づけコマンドによって指定されるブロックIDの値が前記不揮発性メモリに記憶されたブロックIDの値未満の場合には、前記不揮発性メモリにパーティションの始端としてラップ番号を記憶されたパーティションに磁気ヘッドを位置づけする位置づけ制御手段として機能させることを特徴とした磁気テープ装置用制御プログラム。
【０１０６】
〔付記８〕
磁気テープが有する複数のラップによって構成される論理的なパーティションにデータ本体と当該データ本体の読み出し開始位置を含むインデックス情報を上書きして循環的に記憶させる磁気テープ装置が備えるマイクロプロセッサを、
上位装置からのデータ記憶領域拡張指令の入力の有無を判定するコマンド判定手段、
前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知しなければ前記パーティションの論理構成を維持する一方、前記コマンド判定手段がデータ記憶領域拡張指令の入力を検知した場合には、前記パーティションを構成する始端のラップに記憶されているデータ本体に対応したインデックス情報を削除し、次のラップの最初のデータブロックのブロックIDを有効なブロックIDとして未削除のインデックス情報と共に記憶させると共に、前記パーティションを構成するラップをラップ単位で循環的にパーティション始端側から終端側にずらし、前記パーティションの論理構成を更新するパーティション再構築手段、
上位装置から１世代以上前のインデックス情報の読み出し指令が与えられると、インデックス情報のブロックIDの値を１世代前のものから順に時系列を遡って検出し、インデックス情報のブロックIDが検出される度に、そのブロックIDの値が最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であるか否かを判定するインデックス情報有効性判定手段、
前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDが最新のインデックス情報と共に記憶されている有効なブロックIDの値以上であると判定された場合に、このインデックス情報が上位装置からの読み出し指令で与えられたインデックス情報と一致するか否かを判定する一致不一致判定手段、および、
前記一致不一致判定手段が一致の判定をした場合に、このインデックス情報の内部的な読み出しを実行し、最新のインデックス情報と共に記憶されている有効なブロックIDの値と前記一致したインデックス情報に含まれる読み出し開始位置の各々との大小を比較し、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満の読み出し開始位置を有するデータ本体に対応するインデックス情報を除いたインデックス情報の読み出しを上位装置に許容する一方、前記一致不一致判定手段が一致の判定をすることなく、前記インデックス情報有効性判定手段により検出されているインデックス情報のブロックIDの値が、最新のインデックス情報と共に記憶されている有効なブロックIDの値未満であると判定された場合に、インデックス情報の読み出しを非実行としてインデックス情報の読み出しエラーを上位装置に知らせる出力情報制限手段として機能させることを特徴とした磁気テープ装置用制御プログラム。
【産業上の利用可能性】
【０１０７】
本発明は、複数のラップをもつ磁気テープにデータを記録する各種の磁気テープ装置に適用することができる。
【符号の説明】
【０１０８】
１  磁気テープ装置
２  磁気テープ
３  カートリッジ
４  上位装置
５  磁気ヘッド
６  マイクロプロセッサ（残存記憶領域判定手段，パーティション再構築手段，パーティション情報更新手段，位置づけ制御手段，コマンド判定手段，インデックス情報有効性判定手段，一致不一致判定手段，出力情報制限手段）
７  不揮発性メモリ
８  不揮発性メモリ（カートリッジメモリ）
９  インターフェイス
７１  磁気テープ上のコンテンツ領域
７２  磁気テープ上のインデックス領域
３１１  カートリッジメモリのBOP位置情報記憶領域
３１２  カートリッジメモリのEOP位置情報記憶領域
３１３  カートリッジメモリのBOP Block ID記憶領域
３１４  カートリッジメモリのEOD Block ID記憶領域
７２１  データ名（ファイル名）
７２２  読み出し開始位置（読み出し開始位置となるデータブロックのブロックID）
７２３  開始オフセット
７２４  データサイズ（データ長）
７２５  有効なBlock IDの値
【図１】
2012181896.tif 000003
【図２】
2012181896.tif 000004
【図３】
2012181896.tif 000005
【図４】
2012181896.tif 000006
【図５】
2012181896.tif 000007
【図６】
2012181896.tif 000008
【図７】
2012181896.tif 000009
【図８】
2012181896.tif 000010
【図９】
2012181896.tif 000011
【図１０】
2012181896.tif 000012
【図１１】
2012181896.tif 000013
【図１２】
2012181896.tif 000014