(57)【要約】  互いに関連する複数のデータの管理を容易にするデータのテープ媒体への記録方法を提供する。  上位装置から１つのファイルとして連続的に受けた第１データ４１と第２データ４２を、連続した複数のデータセット５１として複数のバッファセグメントに蓄積し、該蓄積したデータセット５１のデータ構成を判別する。そして、該判別結果を示す管理情報を前記データセット５１に付加し、データセット５１とその管理情報５２をテープ媒体に記憶する。
2010092881.tif 000002
【特許請求の範囲】
【請求項１】
第１データと前記第１データに関連する第２データをテープ媒体に記憶するデータ記録装置であって、
上位装置から１つのファイルとして連続的に受信した前記第１データと前記第２データを、所定サイズの連続した１以上のデータセットとして順次蓄積する複数のバッファセグメントと、
前記バッファセグメントに蓄積した前記データセットのデータ構成を判別する判別手段と、
前記判別手段が判別した結果を示す管理情報を対応する前記データセットに付加する管理情報付加手段と、
前記バッファセグメントに蓄積した前記データセット及び該データセットに付加された管理情報の前記テープ媒体への記憶を制御する記憶制御手段と、
を含むデータ記録装置。
【請求項２】
前記判別手段は、前記上位装置からの所定の要求に基づいて、前記バッファセグメントに蓄積されるデータの切り替えを検出し、該検出結果に基づいて前記データセットのデータ構成を判別する手段であることを特徴とする請求項１記載のデータ記録装置。
【請求項３】
前記バッファセグメントは、前記判別手段が前記バッファセグメントに蓄積されるデータの切り替えを検出たときに、その空き領域に無効データを蓄積して前記データセットを完成するようにしたことを特徴とする請求項２記載のデータ記録装置。
【請求項４】
前記判別手段は、前記バッファセグメントに蓄積されるデータ切り替えの検出結果に基づいて、前記データセットの構成を前記第１データ、前記第２データ、前記第１データ及び前記第２データからなる混合データのうちの１つに判別する手段であることを特徴とする請求項２記載のデータ記録装置。
【請求項５】
前記管理情報は、前記データセットの管理用テーブルであることを特徴とする請求項１に記載のデータ記録装置。
【請求項６】
前記管理情報付加手段は、前記第１データと前記第２データとの双方を有して前記データセットが構成されるときに、前記第１データと前記第２データの少なくとも一方のデータサイズを前記管理情報に追加して前記データセットに付加する手段であることを特徴とする請求項１に記載のデータ記録装置。
【請求項７】
前記管理情報付加手段は、前記バッファセグメントに蓄積したデータセットに対応したファイルバージョンデータを前記上位装置から取得し、該ファイルバージョンデータを有する前記管理情報を前記データセットに付加する手段であることを特徴とする請求項１記載のデータ記録装置。
【請求項８】
前記管理情報付加手段は、前記バッファセグメントに蓄積したデータセットに対応したパスワードデータを生成し、該パスワードデータを有する前記管理情報を前記データセットに付加する手段であることを特徴とする請求項１に記載のデータ記録装置。
【請求項９】
前記判別手段と前記管理情報付加手段と前記記憶制御手段として機能するコントローラを含むことを特徴とする請求項１又は２に記載のデータ記録装置。
【請求項１０】
第１データと前記第１データに関連する第２データを１つのファイルとして記録するテープ媒体からデータをデータセット単位で読み出すデータ読み出し装置であって、
前記データセットと該データセットに付加された管理情報とを前記テープ媒体から読み出す読み出し手段と、
前記読み出した管理情報に対応した前記データセットのデータ構成が予め定められた転送対象データであるか否かを、前記読み出した管理情報に基づいて判別する読み出し用判別手段と、
前記データセットを構成するデータのうち、前記読み出し用判別手段が転送対象データであると判別した前記第１データ及び前記第２データの少なくとも一方を転送先に転送する転送手段と、
を含むデータ読み出し装置。
【請求項１１】
前記読み出し手段が読み出した前記データセットとその管理情報を蓄積するバッファセグメントを有し、
前記読み出し用判別手段は、前記バッファセグメントに蓄積した前記管理情報に基づいて、前記管理情報に対応した前記データセットのデータが前記転送対象データであるか否かを判別する手段であることを特徴とする請求項１０に記載のデータ読み出し装置。
【請求項１２】
請求項１〜９の何れか１項に記載のデータ記録装置と、請求項１０又は１１に記載のデータ読み出し装置と、を含むテープドライブ。
【請求項１３】
第１データと前記第１データに関連する第２データをテープ媒体に記憶するデータ記録方法であって、
上位装置から１つのファイルとして連続的に受信した前記第１データと前記第２データを、所定サイズの連続した１以上のデータセットとして順次複数のバッファセグメントに蓄積するステップと、
前記バッファセグメントに蓄積した前記データセットのデータ構成を判別するステップと、
前記判別した結果を示す管理情報を対応する前記データセットに付加するステップと、  前記バッファセグメントに蓄積した前記データセット及び該データセットに付加された管理情報の前記テープ媒体への記憶を制御するステップと、
を含むデータ記録方法。
【請求項１４】
第１データと前記第１データに関連する第２データを１つのファイルとして記録するテープ媒体からデータをデータセット単位で読み出すデータ読み出し方法であって、
前記データセットと該データセットに付加された管理情報とを前記テープ媒体から読み出すステップと、
前記読み出した管理情報に対応した前記データセットのデータ構成が予め定められた転送対象データであるか否かを、前記読み出した管理情報に基づいて判別するステップと、  前記データセットを構成するデータのうち、前記転送対象データであると判別した前記第１データ及び前記第２データの少なくとも一方を転送先に転送するステップと、
を含むデータ読み出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気テープ等のテープ媒体にデータを書き込むための装置、その方法、等に関する。
【背景技術】
【０００２】
磁気テープ等のテープ媒体にデータを書き込むテープドライブでは、特許文献１〜３等に示すように、複数の互いに関連するデータを一旦バッファに蓄積しておき、所定のタイミングでバッファからテープ媒体へデータを書き込むのが一般的である。例えば、テープドライブが上位装置からデータファイルとそのデータの内容を表すメタデータファイルを受信する場合、テープドライブはこれら２つのファイルを一旦バッファに蓄積し、所定のタイミングでバッファからテープ媒体へ書き込む。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−７３１０８号公報
【特許文献２】特開２００７−９５２３１号公報
【特許文献３】特開２００７−２４１８９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、データファイルとメタデータファイルは互いに独立した２つのファイルとして上位装置から送信されるため、従来のテープドライブは、メインデータと該メインデータの内容等を表すサブデータを連続的にテープ媒体に記憶することはできても、連続して記憶した各データがメインデータ、サブデータのように互いに関連するデータであるかどうかを判別することはできなかった。そのため、メインデータとサブデータを記憶したテープ媒体を別システムに移動、或いは、同一システムにリストアする場合、テープ媒体から読み出したデータの内容等を、システム上のアプリケーションプログラムが解析し、メインデータとサブデータの関連付けを確認しなければ、関連性を判別することができなかった。【０００５】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、互いに関連する複数のデータをテープ媒体に記録する場合に、将来他のシステムに移動し、或いは同一システムにリストアする場合でも、関連する複数のデータを必ず同じ場所に記憶し、保持することができるようにすること、また、テープ媒体からの読み出しの際には、各データを識別可能とすることにある。
【課題を解決するための手段】
【０００６】
かかる目的のもと、本発明のデータ記録装置は、第１データと前記第１データに関連する第２データをテープ媒体に記憶するデータ記録装置であって、上位装置から１つのファイルとして連続的に受信した前記第１データと前記第２データを、所定サイズの連続した１以上のデータセットとして順次蓄積する複数のバッファセグメントと、前記バッファセグメントに蓄積した前記データセットのデータ構成を判別する判別手段と、前記判別手段が判別した結果を示す管理情報を対応する前記データセットに付加する管理情報付加手段と、前記バッファセグメントに蓄積した前記データセット及び該データセットに付加された管理情報の前記テープ媒体への記憶を制御する記憶制御手段と、を含む。【０００７】
そして、その方法は、第１データと前記第１データに関連する第２データをテープ媒体に記憶するデータ記録方法であって、上位装置から１つのファイルとして連続的に受信した前記第１データと前記第２データを、所定サイズの連続した１以上のデータセットとして順次複数のバッファセグメントに蓄積するステップと、前記バッファセグメントに蓄積した前記データセットのデータ構成を判別するステップと、前記判別した結果を示す管理情報を対応する前記データセットに付加するステップと、前記バッファセグメントに蓄積した前記データセット及び該データセットに付加された管理情報の前記テープ媒体への記憶を制御するステップと、を含む。【０００８】
本発明のデータ記録装置及びその方法によれば、上位装置から１つのファイルとして連続的に受信した第１データと第２データを、所定サイズの連続した１以上のデータセットとしてバッファセグメントに蓄積し、該蓄積したデータセットのデータ構成を判別する。そして、該判別結果を示す管理情報を対応する前記データセットに付加し、データセットとその管理情報をテープ媒体に記憶するようにした。よって、上記データ記憶装置において第１データと第２データは同じ１つのファイルとして認識されるため、第１データと第２データが将来互いに異なる場所に移動され、別々に記憶されることはない。その一方で、上記データ記憶装置は、第１データと第２データを管理情報に基づいて識別することができるため、要求に応じて又はデフォルトで必要な情報のみを読み出すことができる。【０００９】
また、上記データ記録装置において、前記判別手段は、前記上位装置からの所定の要求に基づいて、前記バッファセグメントに蓄積されるデータの切り替えを検出し、該検出結果に基づいて前記データセットのデータ構成を判別する手段とすることもできる。このような構成とすれば、上位装置はデータ記録装置に対して、前記バッファセグメントに蓄積されるデータの切り替えるために所定の要求を出力すればよいことから、上位装置からデータ記録装置に出力する第１データ及び第２データのデータ構造等の変更する必要がなくなり、上位装置のソフトウェア等の変更を少なくできるというメリットがある。【００１０】
さらに、上記データ記録装置において、前記バッファセグメントは、前記判別手段が前記バッファセグメントに蓄積されるデータの切り替えを検出したときに、その空き領域に無効データを蓄積して前記データセットを完成するように構成することもできる。このような構成とすれば、データセットに第１データと第２データが混在することを防止できる。【００１１】
また、上記データ記録装置において、前記判別手段は、前記バッファセグメントに蓄積されるデータ切り替えの検出結果に基づいて、前記データセットの構成を前記第１データ、前記第２データ、前記第１データ及び前記第２データからなる混合データのうちの１つに判別する手段とすることもできる。このような構成とすれば、テープ媒体に無効データを書き込む必要がなくなるため、テープ容量の節約というメリットがある。【００１２】
さらに、上記データ記録装置において、前記管理情報は、前記データセットの管理用テーブルとすることもできる。このような構成とすれば、ＬＴＯ規格のＤＳＩＴ（Data Set Information Table）等の既存の管理用テーブルを流用することができるため、本発明を実現する上で既存の構成への追加を必要最低限とすることができる。【００１３】
また、上記データ記録装置において、前記管理情報付加手段は、前記第１データと前記第２データとの双方を有して前記データセットが構成されるときに、前記第１データと前記第２データの少なくとも一方のデータサイズを前記管理情報に追加して前記データセットに付加する手段とすることもできる。このような構成とすれば、管理情報に基づいてデータセットを構成する第１データと第２データのデータサイズを確認することができるため、データセットに第１データと第２データを混在させても、管理情報に基づいて必要なデータをデータセットから抽出することができる。【００１４】
また、上記データ記録装置において、前記管理情報付加手段は、前記バッファセグメントに蓄積したデータセットに対応したファイルバージョンデータを前記上位装置から取得し、該ファイルバージョンデータを有する前記管理情報を前記データセットに付加する手段とすることもできる。このような構成とすれば、ひとつのファイルの複数のバージョンをまとめてテープ媒体に記憶することができる。【００１５】
さらに、上記データ記録装置において、前記管理情報付加手段は、前記バッファセグメントに蓄積したデータセットに対応したパスワードデータを取得し、該パスワードデータを有する前記管理情報を前記データセットに付加する手段とすることもできる。このような構成とすれば、データセット毎にパスワードを管理情報に設定することができるため、データセットの読み出し時に、管理情報と利用者等から指定されたパスワードが一致していればデータセットを読み出し、また、パスワードが一致していなければ、データセットの読み出しを禁止することができる。従って、パスワードを知る人にしか読めない部分と一般に読み込み可能な部分とに区別してテープ媒体に記憶できる。【００１６】
また、上記データ記録装置において、前記判別手段と前記管理情報付加手段と前記記憶制御手段として機能するコントローラを含む構成とすることができる。このような構成とすれば、判別手段と管理情報付加手段と記憶制御手段を１つのコントローラで実現することができるため、装置の構成を簡単化することができる。【００１７】
かかる目的のもと、本発明のデータ読み出し装置は、第１データと前記第１データに関連する第２データを１つのファイルとして記録するテープ媒体からデータをデータセット単位で読み出すデータ読み出し装置であって、前記データセットと該データセットに付加された管理情報とを前記テープ媒体から読み出す読み出し手段と、前記読み出した管理情報に対応した前記データセットのデータ構成が予め定められた転送対象データであるか否かを、前記読み出した管理情報に基づいて判別する読み出し用判別手段と、前記データセットを構成するデータのうち、前記読み出し用判別手段が転送対象データであると判別した前記第１データ及び前記第２データの少なくとも一方を転送先に転送する転送手段と、を含む。【００１８】
そして、その方法は、第１データと前記第１データに関連する第２データを１つのファイルとして記録するテープ媒体からデータをデータセット単位で読み出すデータ読み出し方法であって、前記データセットと該データセットに付加された管理情報とを前記テープ媒体から読み出すステップと、前記読み出した管理情報に対応した前記データセットのデータ構成が予め定められた転送対象データであるか否かを、前記読み出した管理情報に基づいて判別するステップと、前記データセットを構成するデータのうち、前記転送対象データであると判別した前記第１データ及び前記第２データの少なくとも一方を転送先に転送するステップと、を含む。【００１９】
本発明のデータ読み出し装置及びその方法によれば、テープ媒体からデータセットと該データセットに付加された管理情報とを読み出し、該管理情報に基づいてデータセットのデータ構成が転送対象データであるか否かを判別する。そして、データセットを構成するデータのうち、転送対象データであると判別した第１データ及び第２データの少なくとも一方を転送先に転送する。よって、テープ媒体から読み出したデータセットのうち、転送対象データであるデータを管理情報に基づいて判別して転送先に転送するようにしたことから、転送先ではデータセットのデータ内容の解析を行う必要がないため、該解析を行うためのアプリケーションプログラム等を不要とすることができる。また、転送先はデータの関連性を考慮することなく、読み出しを要求すればよいため、転送先の処理の簡単化を図ることができる。【００２０】
また、上記データ読み出し装置において、前記読み出し手段が読み出した前記データセットとその管理情報を蓄積するバッファセグメントを有し、前記読み出し用判別手段は、前記バッファセグメントに蓄積した前記管理情報に基づいて、前記管理情報に対応した前記データセットのデータが前記転送対象データであるか否かを判別する手段とすることもできる。このような構成とすれば、バッファセグメントに読み出したデータセットに付加された管理情報に基づいて、データセットのデータ構成を判別でき、読み出した連続するデータセットのデータの関連性を識別することができるため、専用のアプリケーションプログラムがなくても、複数のデータセットの各データを関連付けることができる。【００２１】
さらに、本発明のデータ読み出し装置は、第１データと前記第１データに関連する第２データを１つのファイルとして記録するテープ媒体からデータをデータセット単位で読み出すデータ読み出し装置であって、前記データセットに付加された管理情報を前記テープ媒体から読み出す管理情報読み出し手段と、前記読み出した管理情報に対応した前記データセットのデータが予め定められた対象データであるか否かを、前記読み出した管理情報に基づいて判別する対象データ判別手段と、前記データセットを構成するデータのうち、前記対象データ判別手段が対象データであると判別した複数のデータに基づいて、要求されたデータ位置に位置するデータを検出するデータ検出手段と、を含む構成とすることもできる。【００２２】
そして、その方法は、第１データと前記第１データに関連する第２データを１つのファイルとして記録するテープ媒体からデータをデータセット単位で読み出すデータ読み出し方法であって、前記データセットに付加された管理情報を前記テープ媒体から読み出すステップと、前記読み出した管理情報に対応した前記データセットのデータ構成が予め定められた対象データであるか否かを、前記読み出した管理情報に基づいて判別するステップと、前記データセットを構成するデータのうち、前記対象データであると判別した複数のデータに基づいて、要求されたデータ位置に位置するデータを検出するステップと、を含む。【００２３】
このようなデータ読み出し装置及びその方法によれば、テープ媒体からデータセットに付加された管理情報を読み出し、該管理情報に基づいてデータセットのデータ構成が対象データであるか否かを判別する。そして、データセットを構成するデータのうち、対象データであると判別したデータの中から、要求されたデータ位置に位置するデータを検出する。よって、テープ媒体から読み出した連続する対象データの中から、所望のデータ位置に位置するデータを検出することができるため、上位装置において複数のデータセットの各データを関連付ける専用のアプリケーションプログラムを不要とすることができる。【００２４】
かかる目的のもと、本発明のテープドライブでは、請求項１〜９の何れか１項に記載のデータ記録装置と、請求項１０又は１１に記載のデータ読み出し装置と、を含むテープドライブとなっている。【００２５】
このようなテープドライブによれば、データ記録装置は、同じ１つのファイルを構成する第１データと第２データの少なくとも一方を含む、バッファセグメントに蓄積されたデータセットに、その第１データと第２データのデータ構成を示す管理情報を付加してテープ媒体に記憶する。また、データ読み出し装置は、そのテープ媒体から読み出したデータセットに付加された管理情報に基づいて、転送対象データであると判定したデータを転送先に転送する。よって、テープ媒体からの読み出しの際に、各データのデータ構成を判別することができるため、同じ１つのファイルを構成する第１データと第２データとを識別することが可能となる。
【発明の効果】
【００２６】
本発明によれば、互いに関連する複数のデータは、同じ１つのファイルとしてテープ媒体に記録されるため、データ移動やリストア等の作業の過程において、関連する複数のデータの一部の情報が失われるというようなことはない。また、テープ媒体からの読み出しの際には、テープドライブにおいて各データを識別できるため、テープ媒体から読み出したデータの内容等を、システム上のアプリケーションプログラムが解析する必要がなく、テープ媒体にデータを書き込むための装置等の汎用性を向上することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明のテープドライブの概略構成の一例を示すブロック図である。
【図２】本発明のデータ記録装置、データ読み出し装置、テープドライブ等の基本構成を示す構成図である。
【図３】図１中のバッファとデータセットの関係を説明するための図である。
【図４】データセットとＤＳＩＴの関係の一例を説明するための図である。
【図５】図１中のコントローラが実行する本発明に係るＷｒｉｔｅコマンド処理の一例を示すフローチャートである。
【図６】図１中のコントローラが実行する本発明に係るＳｙｎｃ処理の一例を示すフローチャートである。
【図７】図１中のコントローラが実行する本発明に係るＭｏｄｅＳｅｌｅｃｔコマンド処理の一例を示すフローチャートである。
【図８】図１中のコントローラが実行する本発明に係るデータ読み出し処理の一例を示すフローチャートである。
【図９】データセットとＤＳＩＴの関係の他の一例を説明するための図である。
【図１０】図１中のコントローラが実行する本発明に係る第２のＷｒｉｔｅコマンド処理の一例を示すフローチャートである。
【図１１】図１中のコントローラが実行する本発明に係るＤＳＩＴ作成処理の一例を示すフローチャートである。
【図１２】図１中のコントローラが実行する本発明に係る第２のＳｙｎｃ処理の一例を示すフローチャートである。
【図１３】図１中のコントローラが実行する本発明に係る第２のＭｏｄｅＳｅｌｅｃｔコマンド処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明を実施するための形態(以下、「実施の形態」という)について、図１乃至図１３の図面を参照して詳細に説明する。
【００２９】
図１において、テープ媒体記録システム１は、テープドライブ１０と、ホストコンピュータ（ホスト）２０と、を含む。そして、テープドライブ１０とホスト２０とは電気的に接続されている。
【００３０】
テープドライブ１０は、図２に示すデータ記録装置１０Ａ及びデータ読み出し装置１０Ｂに相当している。テープドライブ１０は、インタフェース１１と、バッファ１２と、記録チャネル１３と、テープ媒体（以下、テープともいう）１４ａと、ヘッド１４ｂと、リール１４ｃ及び１４ｄと、カートリッジ１４ｅと、モータ１５と、ヘッド位置制御システム１７と、モータドライバ１８と、を含む。
【００３１】
インタフェース１１は、ホスト２０との間で通信を行う。例えば、ホスト２０から、バッファ１２へのデータの書込みを指示するコマンドや、バッファ１２からテープ１４ａへのデータの書込みを指示するコマンドを受け取る。尚、このインタフェース１１で用いる通信規格としては、ＳＣＳＩ(Small Computer System Interface)が例示される。ＳＣＳＩの場合、前者のコマンドは、Ｗｒｉｔｅコマンドに相当する。また、後者のコマンド(同期コマンド)は、ＷｒｉｔｅＦｉｌｅＭａｒｋ(ＷｒｉｔｅＦＭ)コマンドで代用できる。また、インタフェース１１は、ホスト２０に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
【００３２】
バッファ１２は、テープ１４ａに書き込むべきホスト２０からのデータを蓄積するメモリである。例えば、ＤＲＡＭ(Dynamic Random Access Memory)によって構成される。また、バッファ１２は、図３に示すように、複数のバッファセグメント(以下、セグメントともいう)１２ｂを備え、各セグメント１２ｂが、テープ１４ａに対する予め定められた読み書き単位であるデータセット５１を記憶している。
【００３３】
このように本実施の形態では、ＬＴＯ(Linear Tape-Open)規格を例示して説明し、用語についてもＬＴＯ規格に準拠し、例えば、バッファ１２の１つのセグメントに格納されるデータのまとまりを「データセット」とする。そして、セグメント１２ｂは、ホスト２０からの複数の各種データを、連続したデータセット５１として蓄積（記憶）する。
【００３４】
記録チャネル１３は、バッファ１２のセグメント１２ｂの各々に蓄積されたデータセット５１をテープ１４ａに書き出すために用いられる通信経路である。
【００３５】
テープ１４ａは、データの記録手段としてのテープ媒体であり、記録チャネル１３を介して渡されたデータセット５１がヘッド１４ｂによりテープ１４ａに書き込まれる。また、テープ１４ａは、リール１４ｃ及び１４ｄに巻かれ、これらの回転に伴い、リール１４ｃからリール１４ｄの方向へ、又は、リール１４ｄからリール１４ｃの方向へ、選択的に移動する。カートリッジ１４ｅは、テープ１４ａが巻きつけてあるリール１４ｃを収容する容器であるが、リール１４ｄを収容するものを設けてもよい。
【００３６】
また、モータ１５は、リール１４ｃ及び１４ｄを回転させる。尚、図１中では、１つの矩形でモータ１５を表しているが、モータ１５としては、リール１４ｃ及び１４ｄの各々に１つずつ、合計２個設けるのが好ましい。
【００３７】
コントローラ１６は、テープドライブ１０の全体を制御する。例えば、インタフェース１１で受け付けたＷｒｉｔｅＦＭコマンド等に従って、データセット５１のテープ１４ａへの書込みを制御する。また、ヘッド位置制御システム１７やモータドライバ１８の制御も行う。コントローラ１６は、マイクロコード等のプログラムを実行することで、図２に示すデータ記録装置１０Ａの判別手段１６ａと管理情報付加手段１６ｂと記憶制御手段１６ｃ、及び、データ読み出し装置１０Ｂの読み出し手段１６ｄと読み出し用判別手段１６ｅと転送手段１６ｆとして機能する。
【００３８】
ヘッド位置制御システム１７は、所望の１つ又は複数のラップを追跡するシステムである。ここで、ラップとは、テープ１４ａ上の複数のトラックのグループである。ラップを切り換える必要が生じると、ヘッド１４ｂを電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム１７で行う。
【００３９】
モータドライバ１８は、モータ１５を駆動する。尚、上述したように、モータ１５を２個使用する場合であれば、モータドライバ１８も２個設けられる。また、ここでは、作図の都合上、モータドライバ１８は、ヘッド位置制御システム１７を介してコントローラ１６に接続されているが、直接コントローラ１６に接続されていてもよい。
【００４０】
次に、ホスト２０は、サーバー用コンピュータ等が用いられ、テープドライブ１０との間でデータ転送を行う。ホスト２０は、プログラムや各種データなどのバックアップ等にテープドライブ１０を用いている。ホスト２０は、ファイルデータのテープ１４ａへの書き込みを要求する場合、図３及ぶ図４に示すように、そのファイルデータ４を前記データセット５１よりも小さな所定サイズに分割したデータと共に、Ｗｒｉｔｅコマンドをテープドライブ１０に送信する。なお、ファイルデータ４は、前記データセット５１よりも大きなサイズや、データ毎に任意のサイズとすることもできる。
【００４１】
また、ホスト２０は、テープ１４ａからデータを読み出す場合は、テープドライブ１０に対してＲｅａｄコマンドを送信する。そして、本実施の形態では、テープドライブ１０に対する本発明に係るストリームＩＤ（以下、ＳＩＤともいう）の指定方法として、ＳＣＳＩのＭｏｄｅＳｅｌｅｃｔコマンド（以下、ＭＳコマンドともいう）を用いる場合について説明するが、専用のコマンドを新たに設けることもできる。そして、ＳＩＤの一例としては、“１”がＤｅｆａｕｌｔ（メインデータ）、“２”がサブデータとそれぞれ定義している。なお、ホスト２０は、コンピュータに限定するものではなく、例えばオーディオ機器、家庭用電気器具（家電）、等の各種電子機器とすることができる。
【００４２】
次に、上述したテープ媒体記録システム１において、テープ１４ａに記憶するユーザーデータとそのデータセット５１の関係の一例を、図４等の図面を参照して以下に説明する。
【００４３】
図４において、ホスト２０は、テープドライブ１０に複数のファイル４を一連のユーザーデータとして送る場合、複数のファイル４の各々の間にファイルマーク４ｆというシンボルを挿入する。これにより、複数のファイル４同士の境目が識別可能な構成になっている。そして、図４に示すＮ番目のファイル４は、請求項中の第１データに相当するメインデータ４１と、請求項中の第２データに相当するサブデータ４２と、を有して構成している。但し、Ｎは整数を示している。
【００４４】
メインデータ４１は、例えば映像、音楽、文書、等の任意のデータであってよい。サブデータ４２は、メインデータ４１に関連するデータであり、例えばメタデータとすることができる。ファイル４は、メインデータ４１にサブデータ４２が関連付けられていない場合、Ｎ−１番目のファイル４のように、メインデータ４１のみでファイル４を構成することもできる。本実施の形態では、１つのファイル４をメインデータ４１とサブデータ４２で構成する場合について説明する。
【００４５】
なお、メインデータ４１とサブデータ４２は、他にも種々異なる実施の形態とすることができる。例えば、データベースにおいて、部署情報等をメインデータ４１、それに関連する個人情報等をサブデータ４２とし、それらのデータを上述したテープドライブ１０でバックアップする実施の形態とすることもできる。
【００４６】
連続する複数のファイル４は、ファイルマーク４ｆを介在させた状態で、転送サイズに応じて分割される。そして、データセット５１は、バッファ１２、セグメント１２ｂなどのサイズに応じて、例えば０ｘ２０００００バイト等の任意のデータサイズに定められる。
【００４７】
データセット５１は、メインデータ４１、メインデータ４１及び無効データ４３、サブデータ４２、サブデータ４２及び無効データ４３の何れか１つのデータとして作成される。そして、本実施の形態では、データセット５１の途中に、ファイル４のメインデータ４１又はサブデータ４２の終端が位置すると、その終端以降を無効データ４３でＰａｄｄｉｎｇするものとする。これに代えて、このようなＰａｄｄｉｎｇを行わずに、例えば、区切りデータを挿入する、終端以降に次のデータを続けて蓄積する、など種々異なる構成を採用してもよい。また、無効データとしては、空文字列などを用いることができる。そして、本実施の形態では、データセット５１のデータサイズが複数のファイル４のデータサイズよりも小さい場合について説明する。これに代えて、データサイズ５１は任意のデータサイズとすることもできる。
【００４８】
複数のデータセット５１の各々には、管理用テーブルであるＤＳＩＴ（Data Set Information Table）５２が付加されている。このＤＳＩＴ５２は、上記ＬＴＯ規格で用いられているように、データセット５１のデータシーケンシャル（ＤＳ）番号、データセット５１内のレコードの数、等を示すデータ構造となっている。そして、本実施の形態では、そのＤＳＩＴ５２に新たなフィールドを追加することで、新たなＤＳＩＴ５２を請求項中の管理情報として機能させている。
【００４９】
ＤＳＩＴ５２は、新たなフィールドに追加された上記ＳＩＤを有して構成している。ＤＳＩＴ５２は、データセット５１のデータの種類等に応じてＳＩＤに“１”又は“２”が選択的に設定される。そして、本実施の形態では、ホスト２０からの上記ＭＳコマンドに応じて、ＳＩＤの値を変更する。これに代えて、ホスト２０がコマンドで変更するＳＩＤの値を指定するなど、種々異なる構成を採用してもよい。また、ＳＩＤは、メインデータ４１とサブデータ４２が選択可能であれば、例えばフラグ、キャラクター、等の各種データとすることができる。バッファ１２の別領域にデータセット５１と関連付けて記憶するなど、種々異なる実施の形態を採用してもよい。
【００５０】
ＤＳＩＴ５２は、ホスト２０からのユーザーデータをデータセット５１に分割した際に作成される。該ＤＳＩＴ５２は、そのデータセット５１に付加されてバッファ１２のセグメント１２ｂに記憶される。これに代えて、ＤＳＩＴ５２はバッファ１２の別領域にデータセット５１と関連付けて記憶されるなど、種々異なる実施の形態を採用してもよい。
【００５１】
なお、本発明にかかる管理情報は、ＤＳＩＴ５２とは異なるフラグ等の新たな情報としてデータセット５１又はＤＳＩＴ５２に付加して実現することもできる。但し、本実施の形態のように既存のＤＳＩＴ５２を流用した場合、テープドライブ１０やそのアプリケーションプログラムの変更を少なくできるというメリットがある。
【００５２】
次に、上述したテープドライブ１０のコントローラ１６が、図２に示すデータ記録装置１０Ａとデータ読み出し装置１０Ｂとして機能するときの各種手段を説明する。
【００５３】
コントローラ１６は、データ記録装置１０Ａとして機能する場合、プログラムを実行することで、図２に示す判別手段１６ａ、管理情報付加手段１６ｂ、記憶制御手段１６ｃとして機能する。
【００５４】
判別手段１６ａは、セグメント１２ｂに蓄積したデータセット５１のデータ構成が、メインデータ４１であるか、サブデータ４２であるかを判別する。本実施の形態では、判別手段１６ａが、ホスト２０からの要求に応じて切り替えられる前記メモリ等のＳＩＤの値を参照して、データセット５１のデータ構造を判別する。例えば、判別手段１６ａは、ＳＩＤに“１”が設定されている場合はメインデータ４１と判別する。判別手段１６ａは、ＳＩＤに“２”が設定されている場合はサブデータ４１と判別する。なお、判別手段１６ａは、ホスト２０にデータの種類を確認したり、データ内容を解析して、データ構成を判別することもできる。また、判別手段１６ａは、前述した単独のメインデータ４１とサブデータ４２の判別に加え、メインデータ４１及びサブデータ４２の複合データの判別を行う実施形態とすることもできる。
【００５５】
管理情報付加手段１６ｂは、判別手段１６ａが判別した結果を示すＤＳＩＴ（管理情報）５２をデータセット５１に付加する。本実施の形態の管理情報付加手段１６ｂは、前記メモリ等のＳＩＤの値を備えるＤＳＩＴ５２を作成し、該ＤＳＩＴ５２をデータセット５１に付加してセグメント１２ｂに記憶する。
【００５６】
記憶制御手段１６ｃは、セグメント１２ｂに蓄積したデータセット５１及び該データセット５１に付加されたＤＳＩＴ５２のテープ１４ａへの記憶を制御する。本実施の形態の記憶制御手段１６ｃは、バッファ１２のデータセット５１及びＤＳＩＴ５２をテープ１４ａに書き込むために、記録チャネル１３、ヘッド位置制御システム１７、モータドライバ１８、等を制御する。
【００５７】
コントローラ１６は、データ読み出し装置１０Ｂとして機能する場合、プログラムを実行することで、図２に示す読み出し手段１６ｄ、読み出し用判別手段１６ｅ、転送手段１６ｆとして機能する。
【００５８】
読み出し手段１６ｄは、記録チャネル１３、ヘッド位置制御システム１７、モータドライバ１８、等を制御して、一対のデータセット５１と該データセット５１に付加されたＤＳＩＴ５２とをテープ１４ａから読み出して、セグメント１２ｂの各々に順次蓄積する。
【００５９】
読み出し用判別手段１６ｅは、読み出したＤＳＩＴ５２に対応したデータセット５１のデータが予め定められた転送対象データであるか否かを、読み出したＤＳＩＴ５２のＳＩＤ等に基づいて判別する。本実施の形態の読み出し用判別手段１６ｅは、転送対象データがメインデータ４１の場合は、ＤＳＩＴ５２のＳＩＤに“１”が設定されているか否かを判別する。また、読み出し用判別手段１６ｅは、転送対象データがサブデータ４２の場合は、ＤＳＩＴ５２のＳＩＤに“２”が設定されているか否かを判別する。
【００６０】
転送手段１６ｆは、セグメント１２ｂに蓄積した前記データセット５１を構成するデータのうち、前記読み出し用判別手段１６ｅが転送対象データであると判別したメインデータ４１及びサブデータ４２の少なくとも一方を転送先であるホスト２０に、インタフェース１１を介して転送する。つまり、転送手段１６ｆは、転送対象データがメインデータ４１の場合、複数のデータセット５１のメインデータ４１をホスト２０に転送する。また、転送手段１６ｆは、転送対象データがメインデータ４１及びサブデータ４２の場合、複数のデータセット５１のメインデータ４１と該メインデータ５１に連続するサブデータ４２を、関連付けてホスト２０に転送する。
【００６１】
次に、上述したテープドライブ１０のコントローラ１６による本発明に係る各種処理の一例を、図５〜７等の図面を参照して以下に説明する。まず、テープドライブ１０がホスト２０からＷｒｉｔｅコマンドを受けたときに、コントローラ１６が実行するＷｒｉｔｅコマンド処理の一例を、図５に示すフローチャートを参照して以下に説明する。
【００６２】
コントローラ１６は、バッファ１２のポインタが指す位置から、そのＷｒｉｔｅコマンドと共に受信したデータをセグメント１２ｂに書き込む（Ｓ１１１）。コントローラ１６は、データをセグメント１２ｂに書き込んだ結果、１つ以上のデータセット５１が完成したか否かを判定する（Ｓ１１２）。コントローラ１６は、１つ以上のデータセット５１が完成していないと判定した場合（Ｓ１１２でＮＯ）、ステップＳ１１５の処理に進む。一方、コントローラ１６は、１つ以上のデータセット５１が完成していると判定した場合（Ｓ１１２でＹＥＳ）、ステップＳ１１３の処理に進む。
【００６３】
コントローラ１６は、ステップＳ１１３の処理において、前記メモリ等のＳＩＤに設定されている値がメインデータ４１を示しているか否かを判定して、データセット５１のデータ構成を判別する。そして、コントローラ１６は、該判別結果を示すＤＳＩＴ５２、つまり、前記ＳＩＤを有するＤＳＩＴ５２を作成し、その後ステップＳ１１４の処理に進む。
【００６４】
コントローラ１６は、ステップＳ１１４の処理において、セグメント１２ｂのデータセット５１及びＤＳＩＴ５２を、記録チャネル１３を介してテープ１４ａに書き込むために、記録チャネル１３、ヘッド位置制御システム１７、モータドライバ１８、等を制御し、その後ステップＳ１１５の処理に進む。
【００６５】
コントローラ１６は、ステップＳ１１５の処理において、バッファ１２のバッファポインタを、バッファ１２に書き込んだデータの最後尾に進め、その後処理を終了する。なお、上述した処理においては、Ｗｒｉｔｅコマンドで送られてきたデータの最後尾が含まれるデータセット５１は、通常未完成であることを前提として説明した。しかしながら、前記データの最後尾がデータセット５１にぴったり収まる場合、コントローラ１６はバッファ１２のバッファポインタを次のセグメント１２ｂに進めることになる。
【００６６】
以上説明した図５に示すＷｒｉｔｅコマンド処理をコントローラ１６が実行することで、上述した請求項中の上記データ記録装置１０Ａにおける判別手段１６ａと管理情報付加手段１６ｂと記憶制御手段１６ｃとして機能することになる。詳細には、図５に示すフローチャート中のステップＳ１１３が判別手段１６ａ及び管理情報付加手段１６ｂ、ステップＳ１１４が記憶制御手段１６ｃにそれぞれ相当している。
【００６７】
次に、テープドライブ１０が実行するＳｙｎｃ処理の一例を、図６に示すフローチャートを参照して以下に説明する。該Ｓｙｎｃ処理は、後述するＭｏｄｅ  Ｓｅｌｅｃｔコマンド処理から呼び出される処理となっている。なお、該Ｓｙｎｃ処理は、ＷｒｉｔｅＦＭコマンドで起動することもできる。
【００６８】
コントローラ１６は、ステップＳ１２１の処理において、バッファ１２のバッファポインタの位置を確認し、その後ステップＳ１２２の処理に進む。コントローラ１６は、ステップＳ１２２において、該バッファポインタが位置している未完成のセグメント１２ｂにデータが残っているか、即ち、バッファポインタがセグメント１２ｂの先頭にセットされているかを判定する。コントローラ１６は、データが残っていないと判定した場合（Ｓ１２２でＮＯ）、処理を終了する。一方、コントローラ１６は、データが残っていると判定した場合（Ｓ１２２でＹＥＳ）、ステップＳ１２３の処理に進む。
【００６９】
コントローラ１６は、ステップＳ１２３の処理において、セグメント１２ｂに今回書き込んだデータの終端以降、即ち、セグメント１２ｂの書き込み可能な領域を、無効データ４３でＰａｄｄｉｎｇし、その後ステップＳ１２４の処理に進む。
【００７０】
コントローラ１６は、ステップＳ１２４の処理において、前記メモリ等のＳＩＤに設定されている値がメインデータ４１を示しているか否かを判定して、データセット５１のデータ構成を判別する。そして、コントローラ１６は、該判別結果を示すＤＳＩＴ５２、つまり、現在のＳＩＤを有するＤＳＩＴ５２を作成し、その後ステップＳ１２５の処理に進む。この処理によって作成されたＤＳＩＴ５２は、メインデータ４１と無効データ４３で構成される。そして、ＤＳＩＴ５２は、データセット５１がメインデータ４１で構成されていることを、ＳＩＤによって示している。
【００７１】
コントローラ１６は、ステップＳ１２５の処理において、セグメント１２ｂのデータセット５１及びＤＳＩＴ５２を、記録チャネル１３を介してテープ１４ａに書き込むために、記録チャネル１３、ヘッド位置制御システム１７、モータドライバ１８、等を制御し、その後ステップＳ１２６の処理に進む。そして、コントローラ１６は、ステップＳ１２６において、バッファ１２のバッファポインタを次のセグメント１２ｂの先頭に進め、その後処理を終了する。
【００７２】
以上説明した図６に示すＳｙｎｃ処理をコントローラ１６が実行することで、上述した請求項中の上記データ記録装置１０Ａにおける管理情報付加手段１６ｂと記憶制御手段１６ｃとして機能することになる。詳細には、図６に示すフローチャート中のステップＳ１２４が管理情報付加手段１６ｂ、ステップＳ１２５が記憶制御手段１６ｃにそれぞれ相当している。
【００７３】
次に、テープドライブ１０がホスト２０からＭＳコマンドを受けたときに、コントローラ１６が実行するＭｏｄｅＳｅｌｅｃｔコマンド処理の一例を、図７に示すフローチャートを参照して以下に説明する。
【００７４】
コントローラ１６は、ステップＳ１３１の処理において、前記メモリ等の現在のＳＩＤと、ＭＳコマンドで指定されたＳＩＤとを比較し、その後ステップＳ１３２の処理に進む。コントローラ１６は、ステップＳ１３２の処理において、ＭＳコマンドで指定されたＳＩＤが前記メモリ等のＳＩＤと異なるか否かを判定する。コントローラ１６は、指定されたＳＩＤが異なっていない、つまり、ＳＩＤが一致していると判定した場合（Ｓ１３２でＮＯ）、前記メモリ等のＳＩＤを変更する必要がないため、処理を終了する。一方、コントローラ１６は、ＳＩＤが異なっていると判定した場合（Ｓ１３２でＹＥＳ）、ステップＳ１３３の処理に進む。
【００７５】
コントローラ１６は、ステップＳ１３３の処理において、上述した図６に示すＳｙｎｃ処理を呼び出し、該Ｓｙｎｃ処理の終了に応じて、ステップＳ１３４の処理に進む。コントローラ１６は、ステップＳ１３４の処理において、前記メモリ等に記憶している現在のＳＩＤを、ＭＳコマンドで指定されたＳＩＤに更新し、その後、処理を終了する。
【００７６】
次に、上述したテープドライブ１０のコントローラ１６による本発明に係るデータ読み出し処理の一例を、図８の図面を参照して以下に説明する。そして、このデータ読み出し処理は、コントローラ１６がホスト２０からＲｅａｄコマンドを受けたときに実行されることを前提としている。
【００７７】
まず、コントローラ１６は、インタフェース１１を介してホスト２０からＲｅａｄコマンドを取得する（Ｓ２０１）。コントローラ１６は、記録チャネル１３を介してテープ１４ａからデータセット５１とそのＤＳＩＴ５２を順次読み出して、バッファ１２のセグメント１２ｂに順次格納し（Ｓ２０２）、その後ステップＳ２０３の処理に進む。
【００７８】
コントローラ１６は、該ＤＳＩＴ５２のＤＳ番号と連続するＤＳＩＴ５２のＤＳ番号を比較して、データセット５１が正しい順番で読み込まれているかを確認するとともに、該ＤＳＩＴ５２のＳＩＤに基づいてデータセット５１のデータが、Ｒｅａｄコマンドで要求された転送対象データであるか否かを判別する（ステップＳ２０３）。詳細には、ホスト２０からのＲｅａｄコマンドで指定された転送対象データ（例えば、ＳＩＤ＝“１”又は“２”など）に基づいて、データセット５１のデータが転送対象データであるか否かを判別する。なお、転送対象データの要求方法については、転送対象データを前記内蔵メモリ等に予め記憶しておくなど、種々異なる実施の形態を採用してもよい。
【００７９】
コントローラ１６は、前記転送対象データと判別したデータセット５１のデータのホスト２０への転送を、インタフェース１１を介してＤＳ番号の順番で行い、全ての転送の終了に応じて処理を終了する（ステップＳ２０４）。
【００８０】
以上説明した図８に示すデータ読み出し処理をコントローラ１６が実行することで、上述した請求項中の上記データ読み出し装置１０Ｂの読み出し手段１６ｄと読み出し用判別手段１６ｅと転送手段１６ｆとして機能することになる。詳細には、図８に示すフローチャート中のＳ２０２が読み出し手段１６ｄ、ステップＳ２０３が読み出し用判別手段１６ｅ、ステップＳ２０４が転送手段１６ｆにそれぞれ相当している。
【００８１】
次に、上述したテープ媒体記録システム１におけるテープドライブ１０とホスト２０の動作（作用）の一例を、図４の図面を参照して以下に説明する。
【００８２】
［データ書き込み時］
ホスト２０は、例えば複数のファイル４をテープ１４ａにバックアップする場合、複数のファイル４の各々の間にファイルマーク４ｆを挿入し、それらの連続したデータを前記所定サイズに分割してＷｒｉｔｅコマンドやＷｒｉｔｅＦＭコマンドと共にテープドライブ１０に順次送信する。そして、ホスト２０は、その後所定のタイミングで同期処理のリクエストのためのＷｒｉｔｅＦＭコマンドをテープドライブ１０に送信する。
【００８３】
テープドライブ１０は、最初のＷｒｉｔｅコマンドを受けると、前記内蔵メモリ等のＳＩＤに初期値である“１”を設定する。その後、テープドライブ１０は、複数のＷｒｉｔｅコマンドを受けた後、バッファ１２のセグメント１２ｂにデータセット５１が完成すると、前記内蔵メモリ等のＳＩＤに基づいてデータセット５１のデータ構成を判別する。テープドライブ１０は、その判別結果を示すＤＳＩＴ５２を作成し、該ＤＳＩＴ５２をデータセット５１に付加する。そして、テープドライブ１０は、ＷｒｉｔｅＦＭ要求を受けている場合、記録チャネル１３、ヘッド位置制御システム１７、モータドライバ１８、等を制御して、そのデータセット５１及びＤＳＩＴ５２のテープ１４ａへの記憶を開始する。
【００８４】
以降、テープドライブ１０は、上述した一連の処理を繰り返すことで、データセット５１が完成する毎に、そのデータ構成を判別し、該判別結果を示すＤＳＩＴ５２を作成して付加する。そして、テープドライブ１０は、データセット５１及びデータセット５１に付加されたＤＳＩＴ５２をテープ１４ａに記憶する。
【００８５】
テープドライブ１０は、図４に示すように、Ｎ−１番目とＮ番目に跨るデータのＷｒｉｔｅコマンドを受けて、バッファ１２のセグメント１２ｂにデータセット５１が完成すると、前記内蔵メモリ等のＳＩＤに基づいて、そのデータセット５１のデータ構成を判別する。そして、テープドライブ１０は、ＳＩＤが“１”であることから、データセット５１のデータ構成はメインデータ４１と判別し、該判別結果を示すＤＳＩＴ５２を作成する。
【００８６】
例えば、図４に示すように、ＤＳ番号にシーケンシャルな「１６」が設定されたＤＳＩＴ５２には、ＳＩＤに“１”が設定される。そのデータセット５１は、Ｎ−１番目及びＮ番目と各メインデータ４１とファイルマーク４ｆとを含む構成となっている。そして、ＤＳ番号が「１７」のＤＳＩＴ５２には、ＳＩＤに“１”が設定される。そのデータセット５１は、Ｎ番目のメインデータ４１のみで構成されている。
【００８７】
その後、ホスト２０は、Ｎ番目のファイル４において、メインデータ４１の終端、即ち、メインデータ４１とサブデータ４２の区切りを検出すると、メインデータ４１の終端に対応したデータとＷｒｉｔｅコマンドをテープドライブ１０に送信し、その後、ＳＩＤを“１”から“２”に変更するために、ＭＳコマンドをテープドライブ１０に送信する。
【００８８】
テープドライブ１０は、Ｗｒｉｔｅコマンドを受けて、バッファ１２のセグメント１２ｂにデータを格納し、その際にＭＳコマンドを受けていると、現在蓄積中のセグメント１２ｂを無効データ４３でＰａｄｄｉｎｇすることで、データセット５１を完成させる。そして、それに対応したＤＳＩＴ５２を作成してデータセット５１に付加した後、前記メモリ等のＳＩＤを“１”から“２”に変更する。この場合の完成されたＤＳＩＴ５１のＤＳ番号は「１８」、ＳＩＤは“１”となっている。
【００８９】
次に、ホスト２０は、Ｎ番目のファイル４におけるサブデータ４２を分割したデータをＷｒｉｔｅコマンドと共にテープドライブ１０に送信する。一方、テープドライブ１０は、Ｗｒｉｔｅコマンドを受けて、バッファ１２のセグメント１２ｂにデータセット５１が完成すると、前記内蔵メモリ等のＳＩＤに基づいて、そのデータセット５１のデータ構成を判別する。テープドライブ１０は、ＳＩＤが“２”であることから、データセット５１のデータ構成はサブデータ４２と判別し、該判別結果を示すＤＳＩＴ５２を作成する。テープドライブ１０は、ＳＩＤに“２”が設定されたＤＳＩＴ５２を対応するデータセット５１に付加する。
【００９０】
その後、ホスト２０は、サブデータ４２の終端、即ち、Ｎ番目のファイル４とファイルマーク４ｆとの境界を検出すると、Ｗｒｉｔｅコマンドとそのデータをテープドライブ１０に送信した後に、ＳＩＤを“２”から“１”に変更するために、ＭＳコマンドをテープドライブ１０に送信する。
【００９１】
テープドライブ１０は、Ｗｒｉｔｅコマンドに応じてバッファ１２のセグメント１２ｂにデータを格納する。テープドライブ１０は、データセット５１が完成していない状態で、ホスト２０からＭＳコマンドを受けると、現在蓄積中のセグメント１２ｂを無効データ４３でＰａｄｄｉｎｇすることで、データセット５１を完成させる。そして、テープドライブ１０は、前記内蔵メモリ等のＳＩＤに基づいてデータセット５１のデータ構成がサブデータ４２であると判別すると、その判別結果を示すＤＳＩＴ５２を作成してデータセット５１に付加する。その後、テープドライブ１０は、前記メモリ等のＳＩＤを“２”から“１”に変更する。
【００９２】
以降は、テープドライブ１０は、ホスト２０からＷｒｉｔｅコマンドを受けてデータセット５１が完成すると、前記内蔵メモリ等のＳＩＤには“１”が設定されていることから、データセット５１のデータ構成はメインデータ４１であると判別し、該判別結果を示すＤＳＩＴ５２（ＳＩＤ＝“１”）を作成してデータセット５１に付加する。そして、テープドライブ１０は、上述した一連の処理を繰り返すことで、前記内蔵メモリ等のＳＩＤの値に基づいてデータセット５１のデータ構成を判別し、該判別結果を示すＤＳＩＴ５２を作成してデータセット５１に付加することになる。
【００９３】
［データ読み込み時］
ホスト２０は、テープ１４ａから所望のデータを読み出す場合、例えばＤＳ番号範囲、ＳＩＤなどを指定するＲｅａｄコマンドをテープドライブ１０に送信する。ここでは、メインではメインデータ４１のみを読み出す場合について説明する。なお、Ｒｅａｄコマンドは必ずしもＤＳ番号等を指定する必要はない。
【００９４】
テープドライブ１０は、ホスト２０からＲｅａｄコマンドを受けると、テープ１４ａからデータセット５１とその管理情報５２を順次読み出して、バッファ１２のセグメント１２ｂに順位格納（記憶）する。なお、本実施の形態では、ＲｅａｄコマンドにＳＩＤの指定がない場合、テープドライブ１０は、予め定められたデフォルト値（メインデータ４１であれば“１”等）に対応したデータを転送対象データとする。
【００９５】
テープドライブ１０は、管理情報のＤＳ番号に基づいてデータセット５１が正しく順番に読み込まれていると、データセット５１がＲｅａｄコマンドで要求された転送対象データであるか否かを、各管理情報のＳＩＤに基づいて判別する。そして、テープドライブ１０は、インタフェース１１を介して転送対象データであるメインデータ４１のみをホスト２０に順次転送する。一方、ホスト２０は、テープドライブ１０から受信したメインデータ４１をメモリ、ハードディスク装置等に順次記憶する。
【００９６】
次に、ホスト２０は、テープ１４ａからサブデータ４２のみを読み出す場合、例えばＳＩＤなどを指定するＲｅａｄコマンドをテープドライブ１０に送信する。そして、テープドライブ１０は、テープ１４ａからデータセット５１とその管理情報５２を順次読み出して、バッファ１２のセグメント１２ｂに順次格納（記憶）する。テープドライブ１０は、管理情報のＤＳ番号に基づいてデータセット５１が正しく順番に読み込まれていると、各管理情報のＳＩＤに基づいて、連続するデータセット５１のデータ構成を判別し、インタフェース１１を介して転送対象であるサブデータ５２のみをホスト２０に転送する。一方、ホスト２０は、テープドライブ１０から受信したサブデータ４２をメモリ、ハードディスク装置等に順次記憶する。
【００９７】
以上説明したテープドライブ１０によれば、ホスト２０から１つのファイルとして連続的に受けたメインデータ（第１データ）４１とサブデータ（第２データ）４２を、連続した複数のデータセット５１として複数のセグメント１２ｂに蓄積し、蓄積した各データセット５１のデータ構成を判別する。そして、該判別結果を示すＤＳＩＴ（管理情報）５２を対応するデータセット５１に付加し、データセット５１とそのＤＳＩＴ５２をテープ１４ａに記憶するようにした。よって、テープ１４ａに記憶する複数のデータセット５１の各々にはＤＳＩＴ５２が付加されているため、テープドライブ１０において、関連する複数のデータは１つのファイルとして扱われつつも、データセット５１の読み出し時等に、データセット５１に付加されたＤＳＩＴ５２からデータセット５１のデータ構成を確認することで、メインデータ４１とサブデータ４２を識別することができる。
【００９８】
また、テープドライブ１０によれば、テープ１４ａからデータセット５１と該データセット５１に付加されたＤＳＩＴ５２とを読み出し、該ＤＳＩＴに基づいてデータセット５１のデータが転送対象データであるか否かを判別する。そして、データセット５１を構成するデータのうち、転送対象データであると判別したメインデータ４１及びサブデータ４２の少なくとも一方を転送先のホスト２０に転送する。よって、テープ１４ａから読み出したデータセット５１のうち、転送対象データであるデータをＤＳＩＴ５２に基づいて判別して転送先のホスト２０に転送するようにしたことから、ホスト２０はデータセット５１のデータ内容の解析を行う必要がないため、該解析を行うためのアプリケーションプログラム等を不要とすることができる。また、転送先であるホスト２０はデータの関連性を考慮することなく、読み出しを要求すればよいため、転送先の処理の簡単化を図ることができる。
【００９９】
従って本発明によれば、メインデータ４１とサブデータ４２、即ち、互いに関連する複数のデータは、同じ１つのファイルとしてテープ１４ａに記録されるため、データ移動やリストア等の作業の過程において、関連する複数のデータの一部の情報が失われるというようなことはない。また、テープ１４ａからの読み出しの際には、テープドライブ１０において各データ（本実施例においてはメインデータ４１とサブデータ４２）を識別できるため、テープ１４ａから読み出したデータの内容等を、システム上のアプリケーションプログラムが解析する必要がなく、テープ１４ａにデータを書き込むための装置等の汎用性を向上することができる。
【０１００】
なお、上述した実施の形態では、管理情報であるＤＳＩＴ５２にＳＩＤのみを追加して、メインデータ４１とサブデータ４２を判別可能とした場合について説明したが、本発明はこれに限定するものではなく、それ以外のデータを付加することもできる。
【０１０１】
上述した図４に示すＮ番目のファイル４では、ホスト２０によってメインデータ４１とサブデータ４２が、同一のデータセット５１とならないようにした場合について説明した。これに対し、データセット５１がメインデータ４１とサブデータ４２を混在させることが可能な実施の形態とすることもできる。
【０１０２】
例えばＤＳＩＴ５２は、図９に示すように、上記ＤＳ番号、ＳＩＤ１、ＳＩＤ１＿Ｌｅｎｇｔｈ、ＳＩＤ２、ＳＩＤ２＿Ｌｅｎｇｔｈ、等の各種データを含む構成となっている。そして、ＳＩＤ１は、データセット５１における１つ目又は１種類のデータを示している。つまり、ＳＩＤ１は、上述した“１”又は“２”が設定されることで、データセット５１における１つ目に位置するデータ、又はデータセット５１を構成しているデータが、メインデータ４１又はサブデータ４２の何れであるかを示している。
【０１０３】
ＳＩＤ１＿Ｌｅｎｇｔｈは、ＳＩＤ１のデータの長さが設定され、１種類のデータが格納されている場合は、固定長の０ｘ２０００００、混在（２種類）の場合は先頭に位置する１つ目のデータのデータ長がそれぞれ設定される。ＳＩＤ２は、データセット５１が２種類のデータで構成されているか否かを示すデータとなっている。ＳＩＤ２は、データセット５１が１種類のデータのみで構成されている場合は空白が設定される。また、ＳＩＤ２は、データセット５１が２種類のデータで構成されている場合は、データセット５１における２番目のデータの種類が設定される。ＳＩＤ２＿Ｌｅｎｇｔｈは、ＳＩＤ２が示す２番目のデータの長さが設定される。
【０１０４】
このようにＳＩＤ１＿ＬｅｎｇｔｈとＳＩＤ２＿ＬｅｎｇｔｈをＤＳＩＴ５２に設けることで、ＤＳＩＴ５２に基づいてデータセット５１を構成するメインデータ４１とサブデータ４２の各データサイズを確認することができる。よって、データセット５１にメインデータ４１とサブデータ４２を混在させても、ＤＳＩＴ５２に基づいて必要なデータをデータセット５１から抽出することができる。
【０１０５】
次に、ＤＳＩＴ５２にデータサイズを設定する場合に、上述したテープドライブ１０のコントローラ１６による本発明に係る各種処理の一例を、図１０〜１３の図面を参照して以下に説明する。
【０１０６】
まず、上述したテープドライブ１０のコントローラ１６が実行する第２のＷｒｉｔｅコマンド処理の一例を、図１０の図面を参照して以下に説明する。なお、該第２のＷｒｉｔｅコマンド処理は、上述した図５に示すＷｒｉｔｅコマンド処理と基本部分は同一となっている。
【０１０７】
コントローラ１６は、バッファ１２のポインタが指す位置から、そのＷｒｉｔｅコマンドと共に受信したデータをセグメント１２ｂに書き込む（Ｔ１１１）。コントローラ１６は、データをセグメント１２ｂに書き込んだ結果、１つ以上のデータセット５１が完成したか否かを判定する（Ｔ１１２）。コントローラ１６は、１つ以上のデータセット５１が完成していないと判定した場合（Ｔ１１２でＮＯ）、ステップＴ１１６の処理に進む。一方、コントローラ１６は、１つ以上のデータセット５１が完成していると判定した場合（Ｔ１１２でＹＥＳ）、ステップＴ１１３の処理に進む。
【０１０８】
コントローラ１６は、ステップＴ１１３の処理において、後述する図１１に示すＤＳＩＴ作成処理を呼び出し、該ＤＳＩＴ作成処理の終了に応じてステップＴ１１４の処理に進む。なお、このようにステップＴ１１３の処理をループさせることで、Ｗｒｉｔｅコマンドで送られてきたデータが格納される最初のデータセット５１に、違ったＳＩＤのデータが既に格納されていても、正しいＳＩＤをセットすることができる。
【０１０９】
コントローラ１６は、ステップＴ１１４の処理において、バッファ１２の全てのデータセット５１の各々に対して、ＤＳＩＴ５２が作成されたか否かを判定する。コントローラ１６は、全てのデータセット５１についてＤＳＩＴ５２が作成されていないと判定した場合（Ｔ１１４でＮＯ）、ステップＴ１１３の処理に戻り、一連の処理を繰り返す。一方、コントローラ１６は、全てのデータセット５１についてＤＳＩＴ５２が作成されたと判定した場合（Ｔ１１４でＹＥＳ）、ステップＴ１１５の処理に進む。
【０１１０】
コントローラ１６は、ステップＴ１１５の処理において、セグメント１２ｂのデータセット５１及びＤＳＩＴ５２を、記録チャネル１３を介してテープ１４ａに書き込むために、記録チャネル１３、ヘッド位置制御システム１７、モータドライバ１８、等を制御し、その後ステップＴ１１６の処理に進む。コントローラ１６は、ステップＴ１１６の処理において、バッファ１２のバッファポインタを、バッファ１２に書き込んだデータの最後尾に進め、その後処理を終了する。
【０１１１】
次に、上述したテープドライブ１０のコントローラ１６が実行する図１０中のＤＳＩＴ処理の一例を、図１１のフローチャートを参照して以下に説明する。
【０１１２】
コントローラ１６は、ステップＴ１２１の処理において、対象のデータセット５１に関連付けられたＤＳＩＴ５２内に既にセットされているＳＩＤを確認し、その後、ステップＴ１２２の処理に進む。コントローラ１６は、ステップＴ１２２の処理において、ＤＳＩＴ５２内に、１つ以上のＳＩＤ、つまり、図９中のＳＩＤ１又はＳＩＤ２が既にセットされているか否かを判定する。
【０１１３】
コントローラ１６は、１つ以上のＳＩＤが既にセットされていると判定した場合（Ｔ１２２でＹＥＳ）、ステップＴ１２３の処理に進む。コントローラ１６は、セグメント１２ｂに既に記録しているデータの最後尾から、最新のデータセット５１の終わりまでのデータ量を計算し（Ｔ１２３）、その後、ステップＴ１２５の処理に進む。
【０１１４】
一方、コントローラ１６は、１つ以上のＳＩＤがセットされていないと判定した場合（Ｔ１２２でＮＯ）、ステップＴ１２４の処理に進む。コントローラ１６は、データセット５１のデータ量としてデータセットサイズの値を設定し（Ｔ１２４）、その後ステップＴ１２５に進む。
【０１１５】
コントローラ１６は、ステップＴ１２５の処理において、計算したデータ量でＤＳＩＴ５２のＳＩＤ１＿Ｌｅｎｇｔｈ及びＳＩＤ２＿Ｌｅｎｇｔｈの少なくとも一方にセットし、計算したデータ量と前記メモリ等に記載している現在のＳＩＤで、ＤＳＩＴ５２のＳＩＤ部分を更新し、その後ステップＴ１２６の処理に進む。コントローラ１６は、ステップＴ１２６の処理において、ＤＳＩＴ５２のＳＩＤに関連しない部分を作成し、その後、処理を終了する。
【０１１６】
次に、テープドライブ１０が実行する第２のＳｙｎｃ処理の一例を、図１２に示すフローチャートを参照して以下に説明する。
【０１１７】
コントローラ１６は、ステップＴ１３１の処理において、バッファ１２のバッファポインタの位置を確認し、その後ステップＴ１３２の処理に進む。コントローラ１６は、ステップＴ１３２の処理において、バッファ１２の未完のデータセット５１にデータが残っているか否かを判定する。コントローラ１６は、未完のデータセット５１にデータが残っていないと判定した場合（Ｔ１３２でＮＯ）、処理を終了する。一方、未完のデータセット５１にデータが残っていると判定した場合（Ｔ１３２でＹＥＳ）、ステップＴ１３３の処理に進む。
【０１１８】
コントローラ１６は、ステップＴ１３３の処理において、セグメント１２ｂに今回書き込んだデータの終端以降、即ち、セグメント１２ｂの書き込み可能な前記領域を、前記無効データ４３でＰａｄｄｉｎｇし、その後ステップＴ１３４の処理に進む。コントローラ１６は、上述した図１１に示すＤＳＩＴ作成処理を呼び出し、該ＤＳＩＴ作成処理の終了に応じてステップＴ１３５の処理に進む。
【０１１９】
コントローラ１６は、ステップＴ１３５の処理において、セグメント１２ｂのデータセット５１及びＤＳＩＴ５２を、記録チャネル１３を介してテープ１４ａに書き込むために、記録チャネル１３、ヘッド位置制御システム１７、モータドライバ１８、等を制御し、その後ステップＴ１３６の処理に進む。コントローラ１６は、ステップＴ１３６の処理において、バッファ１２のバッファポインタを、バッファ１２の次のセグメント１２ｂの先頭に進め、その後処理を終了する。
【０１２０】
次に、テープドライブ１０がホスト２０からＭＳコマンドを受けたときに、コントローラ１６が実行する第２のＭｏｄｅＳｅｌｅｃｔコマンド処理の一例を、図１３に示すフローチャートを参照して以下に説明する。
【０１２１】
コントローラ１６は、ステップＴ１４１の処理において、前記メモリ等の現在のＳＩＤと、ＭＳコマンドで指定されたＳＩＤとを比較し、その後ステップＴ１４２の処理に進む。コントローラ１６は、ステップＴ１４２の処理において、ＭＳコマンドで指定されたＳＩＤが前記メモリ等のＳＩＤと異なるか否かを判定する。コントローラ１６は、指定されたＳＩＤが異なっていない、つまり、ＳＩＤが一致していると判定した場合（Ｔ１４２でＮＯ）、前記メモリ等のＳＩＤを変更する必要がないため、処理を終了する。一方、コントローラ１６は、ＳＩＤが異なっていると判定した場合（Ｔ１４２でＹＥＳ）、ステップＴ１４３の処理に進む。
【０１２２】
コントローラ１６は、ステップＴ１４３の処理において、バッファポインタの存在するデータセット５１のＤＳＩＴ５２で、既にセットされているＳＩＤを確認し、その後ステップＴ１４４の処理に進む。コントローラ１６は、ステップＴ１４４の処理において、ＤＳＩＴ５２内に、１つ以上のＳＩＤ、つまり、図９中のＳＩＤ１又はＳＩＤ２が既にセットされているか否かを判定する。
【０１２３】
コントローラ１６は、１つ以上のＳＩＤが既にセットされていると判定した場合（Ｔ１４４でＹＥＳ）、ステップＴ１４５の処理に進む。コントローラ１６は、セグメント１２ｂに既に記録しているデータの最後尾から、最新のデータセット５１の終わりまでのデータ量を計算し（Ｔ１４５）、その後、ステップＴ１４７の処理に進む。
【０１２４】
一方、コントローラ１６は、１つ以上のＳＩＤがセットされていないと判定した場合（Ｔ１４４でＮＯ）、ステップＴ１４６の処理に進む。コントローラ１６は、データセット５１の先頭から、現在のデータ位置までのデータ量を計算し（Ｔ１４６）、その後、ステップＴ１４７に進む。
【０１２５】
コントローラ１６は、ステップＴ１４７の処理において、計算したデータ量と現在のＳＩＤで、ＤＳＩＴ５２のＳＩＤ関連部分をを作成、或いは、更新し、その後ステップＴ１４８の処理に進む。コントローラ１６は、ステップＴ１４８の処理において、前記メモリ等に記憶している現在のＳＩＤを、ＭＳコマンドで指定された新たなＳＩＤに更新し、その後、処理を終了する。
【０１２６】
テープドライブ１０は、ホスト２０からＷｒｉｔｅコマンドと共に受けたデータをバッファ１２のセグメント１２ｂに蓄積する場合、その蓄積しているデータセット５１のデータ構成とその長さを検出して、ＤＳＩＴ５２を作成する。なお、データ構成とその長さの検出例としては、上述した図４のフローチャートのように、コントローラ１６のメモリ等に記憶したＳＩＤを用いて種類を判別すると共に、その長さを検出する方法や、Ｗｒｉｔｅコマンドで何れか一方のデータ長をホスト２０から受け取って検出する方法など種々異なる実施の形態とすることができる。
【０１２７】
また、テープドライブ１０は、ホスト２０からＲｅａｄコマンドを受けた場合、テープ１４ａから読み取ったデータセット５１とＤＳＩＴ５２をセグメント１２ｂに蓄積した際に、ＤＳＩＴ５１のＳＩＤ１、ＳＩＤ１＿Ｌｅｎｇｔｈ、ＳＩＤ２、ＳＩＤ２＿Ｌｅｎｇｔｈを参照して、データセット５１の構成を判別し、そのＲｅａｄコマンドで要求されたデータを抽出してホスト２０に転送する。
【０１２８】
このようにＤＳＩＴ５２を構成することで、データセット５１にメインデータ４１とサブデータ４２の双方で構成しても、ＤＳＩＴ５２に基づいてデータの構成とそのデータ長を判別することができるため、上述した実施の形態のように、ホスト２０がメインデータ４１とサブデータ４２とを区切るようにＷｒｉｔｅコマンドをテープドライブ１０に送信する。これにより、サブデータ４２が数多く存在しても、テープ１４ａに無効データ４３を記憶する必要がなくなるため、テープ１４ａに記憶するデータ量の減少に貢献することができる、且つ、バッファ１２のセグメント１２ｂ等のサイズの大型化を図ることができる。
【０１２９】
なお、本実施の形態では、メインデータ４１とサブデータ４２の２種類しかデータが存在しないため、ＤＳＩＴ５２を１つのＳＩＤで構成することもできる。例えばメインデータ４１、サブデータ４２、１つのメインデータ４１のみ、１つのサブデータ４２のみ、メインデータ４１とサブデータ４２が混在等の識別が可能なデータとして、その１つのＳＩＤを構成する。しかしながら、図９に示すように、ＳＩＤ１、ＳＩＤ２で構成することで、混在するデータの順番等も判別可能とすることができる。また、ＤＳＩＴ５２のＳＩＤとその長さを示すデータの数を増やす（例えば、ＳＩＤ３、ＳＩＤ４、・・・等）ことで、より多くの種類のデータをデータセット５１内に混在させることができる。
【０１３０】
さらに、上述したテープ媒体記録システム１において、カートリッジ１４ｅによるデータ移動など、カートリッジ１４ｅにサブデータ４２が含まれているか否かを読み込み時にわからない場合、ホスト２０は、上記ＭＳコマンドを使用して、特別なＳＩＤ（例えば０ｘＦＦなど）をターゲットにセットする。その場合、テープドライブ１０は、次のＤＳＩＴ５２のＳＩＤを確認しながら、ホスト２０へのデータ転送を行う。そして、次のＤＳＩＴ５２のＳＩＤが現在転送中のデータセット５１に対応したＤＳＩＴ５２のＳＩＤと異なるとき、テープドライブ１０はチェックコンディションをセンスデータとしてホスト２０に送信する。そして、ホスト２０はそのセンスデータにより、ＳＩＤが変化したことを認識するという実施形態とすることもできる。また、テープドライブ１０は、ＳＩＤが空白なデータセット５１に関しての転送を行わない設定とし、このとき、チェックコンディションはホスト２０に報告しない。
【０１３１】
また、上述したテープ媒体記録システム１において、テープ１４ａの先頭から任意の個数のレコード或いはファイルマーク４ｆの位置（ロジカルポジション）に、Ｒｅａｄ／Ｗｒｉｔｅのヘッド１４ｂを移動させるコマンドであるＬＴＯ規格のＬｏｃａｔｅ／Ｓｐａｃｅコマンドがある。そして、上述したテープドライブ１０は、Ｌｏｃａｔｅ／Ｓｐａｃｅコマンドを受けた場合は、テープ１４ａにおけるデータ位置を検出し、該位置にヘッド１４ｂを移動させることもできる。
【０１３２】
例えば、Ｌｏｃａｔｅコマンドを用いて、メインデータ４１の所望のレコードの位置にヘッド１４ｂを移動させる場合について説明する。なお、レコードは、説明を簡単にするために、１つのデータセット５１とする。そして、上述したテープドライブ１０のコントローラ１６は、管理情報読み出し手段と、対象データ判別手段と、データ検出手段として機能させる。そして、ホスト２０は、対象データであるレコードを指定したＬｏｃａｔｅコマンドをテープドライブ１０に送信する。
【０１３３】
テープドライブ１０は、ホスト２０からＬｏｃａｔｅコマンドを受けると、前記内蔵メモリ等のカウンタに０を設定し、管理情報読み出し手段によってテープ１４ａからＤＳＩＴ５２を順次読み出す。テープドライブ１０は、読み出したＤＳＩＴ５２のＳＩＤが“１”、つまりメインデータ４１を示しているか否かを対象データ判別手段によって判別する。テープドライブ１０は、対象データ判別手段によってメインデータ４１であると判別すると、前記内蔵メモリ等のカウンタをインクリメントする。そして、テープドライブ１０は、データ検出手段によってカウンタの値がＬｏｃａｔｅコマンドで指定されたレコードと一致しているか否かを判別する。テープドライブ１０は、一致していないと判別した場合、データセット５１は対象データのレコードではないことから、次のＤＳＩＴ５２に対する判別を行う。一方、テープドライブ１０は、一致していると判別した場合は、そのデータセット５１がＬｏｃａｔｅコマンドで要求された対象データであることから、テープ１４ａにおけるデータセット５１の先頭位置まで、ヘッド１４ｂを移動させる。なお、上述したＤＳＩＴ５２の構成にレコード数を追加し、テープドライブ１０がＤＳＩＴ５２を作成する際に、レコード数をセットする構成とすることもできる。
【０１３４】
また、Ｓｐａｃｅコマンドによってファイルマーク４ｆの位置までテープドライブ１０のヘッド１４ｂを移動させる場合について説明する。上述したＤＳＩＴ５２の構成に、ファイルマークの有無や数、データ位置、等を示すファイルマークカウントを追加する。そして、テープドライブ１０がＤＳＩＴ５２を作成する際に、ファイルマークカウントをセットする。そして、テープドライブ１０は、ＤＳＩＴ５２に基づいて、データセット５１のデータ構成、つまりファイルマーク４ｆの有無を判別する。テープドライブ１０は、ファイルマーク４ｆがありと判別すると、そのデータ位置をＤＳＩＴ５２から検出する。テープドライブ１０は、そのデータセット５１におけるファイルマーク４ｆの先頭位置を検出し、該位置に相当するテープ１４ａの位置にヘッド１４ｂを移動させる。
【０１３５】
さらに、上述した本実施の形態のＤＳＩＴ５２は、ハッシュ関数を通して出力されるハッシュ値などを利用したパスワードをデータ構造に追加することもできる。例えば、上記テープドライブ１０において、前記管理情報付加手段１６ｂは、前記セグメント１２ｂに蓄積したデータセット５１に対応したパスワードデータをホスト２０から取得する。前記管理情報付加手段１６ｂは、該パスワードデータを有するＤＳＩＴ５２を前記データセット５１に付加する実施形態とすることもできる。このような構成とすれば、データセット５１毎にパスワードを設定することができるため、パスワードを知る人にしか読めない部分と一般に読み込み可能な部分とに区別して、データセット５１をテープ１４ａに記憶できる。
【０１３６】
また、サブデータ４２に対応したＤＳＩＴ５２には、１つのファイルのバージョンをデータ構造に追加することもできる。このような構造とすることで、１つのファイルを複数のバージョン毎にまとめてテープ１４ａに記憶することができる。例えば、上記テープドライブ１０において、前記管理情報付加手段１６ｂは、前記セグメント１２ｂに蓄積したデータセット５１に対応したファイルバージョンデータをホスト２０から取得する。そして、前記管理情報付加手段１６ｂは、該ファイルバージョンデータを有するＤＳＩＴ５２を前記データセット５１に付加する実施形態とすることもできる。このような構成とすれば、ひとつのファイルの複数のバージョンをまとめて連続的にテープ１４ａに記憶することができる。
【０１３７】
なお、上述した本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(ＲＡＭ)、リードオンリーメモリ(ＲＯＭ)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(ＣＤ−ＲＯＭ)、コンパクトディスク−リード/ライト(ＣＤ−Ｒ/Ｗ)及びＤＶＤが含まれる。
【０１３８】
このように上述した実施例は本発明の代表的な形態を示したに過ぎず、本発明は、実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【０１３９】
１    テープ媒体記録システム
１０    テープドライブ
１０Ａ    データ記録装置
１０Ｂ    データ読み出し装置
１２    バッファ
１２ｂ    バッファセグメント（セグメント）
１４ａ    テープ媒体（テープ）
１６ａ    判別手段
１６ｂ    管理情報付加手段
１６ｃ    記憶制御手段
１６ｄ    読み出し手段
１６ｅ    読み出し用判別手段
１６ｆ    転送手段
２０    ホスト
５１    データセット
５２    ＤＳＩＴ（管理情報）
【図１】
2010092881.tif 000003
【図２】
2010092881.tif 000004
【図３】
2010092881.tif 000005
【図４】
2010092881.tif 000006
【図５】
2010092881.tif 000007
【図６】
2010092881.tif 000008
【図７】
2010092881.tif 000009
【図８】
2010092881.tif 000010
【図９】
2010092881.tif 000011
【図１０】
2010092881.tif 000012
【図１１】
2010092881.tif 000013
【図１２】
2010092881.tif 000014
【図１３】
2010092881.tif 000015
【手続補正書】
【提出日】平成22年5月13日(2010.5.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
第１データと前記第１データに関連する第２データをテープ媒体に記憶するデータ記録装置であって、
上位装置から１つのファイルとして連続的に受信した前記第１データと前記第２データを、所定サイズの連続した１以上のデータセットとして順次蓄積する複数のバッファセグメントと、
前記バッファセグメントに蓄積した前記データセットのデータ構成を判別する判別手段と、
前記判別手段が判別した結果を示す管理情報を対応する前記データセットに付加する管理情報付加手段と、
前記バッファセグメントに蓄積した前記データセット及び該データセットに付加された管理情報の前記テープ媒体への記憶を制御する記憶制御手段とを含み、
前記判別手段は、前記上位装置からの所定の要求に基づいて、前記バッファセグメントに蓄積されるデータの切り替えを検出し、該検出結果に基づいて、前記データセットの構成を前記第１データ、前記第２データ、前記第１データ及び前記第２データからなる混合データのうちの１つに判別する手段である、
データ記録装置。
【請求項５】
（削除）
【請求項６】
（削除）
【請求項７】
（削除）
【請求項８】
（削除）
【請求項９】
（削除）
【請求項１０】
（削除）
【請求項１１】
（削除）
【請求項１２】
（削除）
【請求項１３】
第１データと前記第１データに関連する第２データをテープ媒体に記憶するデータ記録方法であって、
上位装置から１つのファイルとして連続的に受信した前記第１データと前記第２データを、所定サイズの連続した１以上のデータセットとして順次複数のバッファセグメントに蓄積するステップと、
前記バッファセグメントに蓄積した前記データセットのデータ構成を判別するステップと、
前記判別した結果を示す管理情報を対応する前記データセットに付加するステップと、
前記バッファセグメントに蓄積した前記データセット及び該データセットに付加された管理情報の前記テープ媒体への記憶を制御するステップとを含み、
前記判別するステップは、前記上位装置からの所定の要求に基づいて、前記バッファセグメントに蓄積されるデータの切り替えを検出し、該検出結果に基づいて、前記データセットの構成を前記第１データ、前記第２データ、前記第１データ及び前記第２データからなる混合データのうちの１つに判別するステップを含む、
データ記録方法。
【国際調査報告】
2010092881.tif 000016
2010092881.tif 000017
2010092881.tif 000018
2010092881.tif 000019