(57)【要約】【課題】  磁気テープに記録されているデータの属性情報を、ＭＩＣにテーブル形式で記録させる。【解決手段】  テープストリーマドライブに装着されたテープカセットのＭＩＣに記録される属性情報テーブルには、磁気テープに記録されている１記録単位のデータ（ファイル）を区別可能な識別子毎に、例えば、ファイル名やタイトル、ファイルの作成日時や更新日時、データサイズ、ファイルのデータの種類を示すデータ種別、データの圧縮率などが、ホストコンピュータ２１０から供給された属性情報として登録されるほか、更に、データの記録が終了した後に生成される属性情報であるデータ記録位置を示す情報であるグループ番号やグループ先頭からのオフセットなどが、属性情報として登録される。本発明は、例えば、テープストリーマドライブに適用できる。【選択図】図９
2006190392.tif 000002
【特許請求の範囲】
【請求項１】
データをシーケンシャルに記録する記録媒体に、前記データを記録する情報処理装置において、
前記記録媒体に記録される前記データおよび前記データの属性情報を取得する取得手段と、
前記取得手段により取得された前記データを一時保存する複数のデータ一時記憶手段と、
前記取得手段により取得された前記属性情報を基に、前記データ一時記憶手段への前記データの一時記憶を制御する記憶制御手段と、
前記記録媒体に前記データを記録するデータ記録手段と
を備え、
前記記憶制御手段は、複数の前記一時記憶手段のうちのいずれかにおいて、前記一時記憶手段が備える記憶容量の前記データが記憶された場合、前記データを読み出し、
前記データ記録手段は、前記記憶制御手段により読み出された前記データを前記記録媒体に記録する
ことを特徴とする情報処理装置。
【請求項２】
前記記憶制御手段は、前記取得手段により取得された前記属性情報のうち、前記記録媒体に記録される前記データのデータ容量に基づいて、複数の前記一時記憶手段のうちのいずれに前記データを一時記憶させるかを決定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶制御手段は、前記取得手段により取得された前記属性情報のうち、前記記録媒体に記録される前記データのデータ種別情報に基づいて、複数の前記一時記憶手段のうちのいずれに前記データを一時記憶させるかを決定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記データ記録手段は、複数の前記一時記憶手段の記憶容量により決められるデータ量のグループごとに、前記データを前記記録媒体に記録する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記記録媒体において、前記データ記録手段により前記データが記録される記録領域とは異なる領域に、前記属性情報をテーブル形式で記録する属性情報記録手段
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記データは、前記取得手段により所定の記録単位ごとに取得され、
前記属性情報は、前記所定の記録単位ごとの前記データに対応付けられて前記取得手段により取得されるとともに、前記属性情報記録手段により、前記所定の記録単位ごとに１レコードとされて、テーブル形式で記録される
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記所定の記録単位ごとの前記データを個々に区別するための識別情報を生成する識別情報生成手段を更に備え、
前記属性情報記録手段は、前記識別情報生成手段により生成された前記識別情報に対応付けて、前記属性情報を、前記所定の記録単位ごとに１レコードとしてテーブル形式で記録する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項８】
他の情報処理装置へデータを供給するデータ供給手段を更に備え、
前記取得手段は、前記他の情報処理装置から、前記記録媒体に記録される前記データおよび前記データの属性情報を取得し、
前記データ供給手段は、前記識別情報生成手段により生成された前記識別情報を、前記他の情報処理装置へ供給する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記属性情報記録手段により記録されている前記属性情報を読み出す属性情報読み出し手段を更に備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
他の情報処理装置から前記記録媒体に記録された前記データを検索するための情報と、検索された前記データの再生要求を受ける再生要求取得手段と、
前記再生要求取得手段により取得された前記データを検索するための情報を基に、前記属性情報読み出し手段により読み出された前記属性情報から、前記データに対応するレコードを検索する検索手段と、
前記検索手段により検索された前記レコードに対応する前記データを再生する再生手段と
を更に備えることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
他の情報処理装置から前記記録媒体に記録された前記データを検索するための情報と、検索された前記データに対応する前記属性情報の送信の要求を受ける送信要求取得手段と、
前記送信要求取得手段により取得された前記データを検索するための情報を基に、前記属性情報読み出し手段により読み出された前記属性情報から、前記データに対応するレコードを検索する検索手段と、
前記検索手段により検索された前記レコードに対応する前記属性情報の前記他の情報処理装置への送信を制御する属性情報送信制御手段と
を更に備えることを特徴とする請求項９に記載の情報処理装置。
【請求項１２】
他の情報処理装置から前記記録媒体に記録された前記データを検索するための情報と、検索された前記データに関する統計情報の送信の要求を受ける送信要求取得手段と、
前記送信要求取得手段により取得された前記データを検索するための情報を基に、前記属性情報読み出し手段により読み出された前記属性情報から、前記データに対応するレコードを検索する検索手段と、
前記検索手段により検索された前記レコードに含まれる前記属性情報を用いて、前記データに関する前記統計情報を算出する算出手段と、
前記算出手段により算出された前記統計情報の、前記他の情報処理装置への送信を制御する統計情報送信制御手段と
を更に備えることを特徴とする請求項９に記載の情報処理装置。
【請求項１３】
前記記録媒体は、磁気テープに前記データを記録することができるテープカセットである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１４】
前記属性情報記録手段は、前記属性情報を、前記テープカセットに設けられた前記磁気テープとは異なるメモリに記録する
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記記録媒体は、ＣＤ−Ｒである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１６】
データをシーケンシャルに記録する記録媒体に、前記データを記録する情報処理装置の情報処理方法において、
前記記録媒体に記録される前記データの取得を制御するデータ取得制御ステップと、
前記データの属性情報の取得を制御する属性情報取得制御ステップと、
前記属性情報取得制御ステップの処理により取得が制御された前記属性情報を基に、前記データ取得制御ステップの処理により取得が制御された前記データの、複数の一時記憶部への一時記憶を制御する一時記憶制御ステップと、
前記一時記憶制御ステップの処理により、複数の前記一時記憶部のうちのいずれかにおいて、前記一時記憶部が備える記憶容量の前記データが記憶された場合、前記データの読み出しと、前記記録媒体への記録とを制御するデータ記録制御ステップと
を含むことを特徴とする情報処理方法。
【請求項１７】
データをシーケンシャルに記録する記録媒体に、前記データを記録する処理をコンピュータに実行させるためのプログラムであって、
前記記録媒体に記録される前記データの取得を制御するデータ取得制御ステップと、
前記データの属性情報の取得を制御する属性情報取得制御ステップと、
前記属性情報取得制御ステップの処理により取得が制御された前記属性情報を基に、前記データ取得制御ステップの処理により取得が制御された前記データの、複数の一時記憶部への一時記憶を制御する一時記憶制御ステップと、
前記一時記憶制御ステップの処理により、複数の前記一時記憶部のうちのいずれかにおいて、前記一時記憶部が備える記憶容量の前記データが記憶された場合、前記データの読み出しと、前記記録媒体への記録とを制御するデータ記録制御ステップと
を含むことを特徴とする処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、並びに、プログラムに関し、特に、データをシーケンシャルに記録する記録媒体に、データを記録する場合に用いて好適な、情報処理装置および情報処理方法、並びに、プログラムに関する。
【背景技術】
【０００２】
従来、ディジタルデータを磁気テープに記録したり、磁気テープに記録されたディジタルデータを再生することのできるデータ記録再生装置として、テープストリーマドライブがよく知られている。テープストリーマドライブに装着されるメディアであるテープカセットの磁気テープは、例えば、数１０乃至数１００ＧＢ（ギガバイト）程度の膨大な記録容量を有することが可能であり、このため、例えば、ホストコンピュータのハードディスク等に記録されたデータをバックアップする場合や、データサイズの大きい画像データや動画データ等からアーカイブを作成する場合などに広く利用されている（例えば、特許文献１）。
【０００３】
【特許文献１】特開平０９−１３４２５６公報
【０００４】
特許文献１に記載のテープストリーマドライブでは、データの入出力に、ＳＣＳＩ（Small Computer System Interface）インターフェースが用いられている。すなわち、テープストリーマドライブに装着されるテープカセットの磁気テープにデータが記録される際には、ホストコンピュータから、例えば３２ｋバイトを１レコードとしてデータが送信され、送信されたデータは、ＳＣＳＩインターフェースを介してテープストリーマドライブに入力される。そして、入力されたデータは、圧縮され、必要に応じて、バッファリングされ、変調された後、ＲＦアンプを介して、磁気ヘッドに供給され、磁気テープに記録される。また、テープカセットに記録されたデータが読み出される場合、磁気ヘッドにより読み出されたデータは、復調され、必要に応じてバッファリングされた後、伸長されて、ホストコンピュータに送信される。
【０００５】
また、テープカセットには、不揮発性メモリ（ＭＩＣ：Memory In Cassette）が設けられており、テープストリーマドライブのシステムコントローラから不揮発性メモリにデータが記録されるとともに、テープストリーマドライブのシステムコントローラから不揮発性メモリに記録されたデータが読み出されるようになされている。そして、不揮発性メモリとホストコンピュータとの間では、ＳＣＳＩのコマンドを用いて、情報が授受されるので、不揮発性メモリとホストコンピュータとの間を、例えば、ＳＣＳＩインターフェースとは独立したシリアルデータバスなどで結線する必要がない。
【０００６】
テープストリーマドライブを用いて、データをバックアップしたり、アーカイブを作成するホストコンピュータとしては、大型計算機から、一般的なパーソナルコンピュータまで、さまざまなものが用いられる。
【０００７】
大型計算機が広く用いられていた時代において、磁気テープにデータを記録する場合に用いられていたファイルフォーマットには、例えば、ＡＮＳＩ（American National Standards Institute）／ＪＩＳラベル付き磁気テープフォーマットや、ＩＢＭラベル付き磁気テープフォーマット等があり、これらの磁気テープフォーマットのうち、例えば、ＪＩＳ―ＳＸ―０６０１では、ファイル名(最大１７文字)などを含むラベルとファイル本体との繰り返しによって、データが磁気テープに記録されるように規定されており、フォーマットの規則において、ファイル編成、レコードの固定長、可変長の別までが規定されている。
【０００８】
これらの磁気テープフォーマットに対して、磁気テープの駆動やその制御に馴染まない、すなわち、そのままでは磁気テープに記録することができない、例えば、ＩＳＡＭ（Indexed Sequential Access Method）ファイルやＶＳＡＭ（Virtual Storage Access Method）ファイルなどのファイルフォーマットもある。これらのフォーマットのデータは、例えば、固定行の扱いなど、そのデータ編成のために、そのままでは、磁気テープへ記録することができなかった。
【０００９】
また、現在、広く用いられているファイルフォーマットには、順次ファイルと称される、磁気テープに直接記録できる形式のファイルフォーマットもある。例えば、ＵＮＩＸ（登録商標）では、ファイルシステムそのものが、ディスク、磁気テープなどの区別なく単一のバイトストリームとされているが、磁気テープに記録されるデータのファイルシステム上の編成等については、ｔａｒ（Tape archiver)等のアプリケーションプログラムで設定されている。
【００１０】
また、従来のテープストリーマドライブとホストコンピュータとの間のインターフェースにおいて、アプリケーションレイヤー（電気的な接続などの物理レイヤーやトランスポ−トレイヤーではなく、論理的なコマンドセットなどを規定するレイヤー）の論理的なコマンドセットは、ＨＤＤなどのランダムアクセス装置用のコマンドセットをテープストリーマドライブ用のコマンドセットに修正、拡張したものである。
【００１１】
従来のパーソナルコンピュータ等と周辺機器とで主に用いられているインターフェースには、例えば、ＳＣＳＩ（Small Computer System Interface）、ＡＴＡ（AT Attachment）、ＡＴＡＰＩ（ATA Packet Interface）などがある。ＳＣＳＩは、ＡＮＳＩ（American National Standards Institute）で規格化されている、外付けのハードディスクやＭＯ（magneto optic）、ＣＤ−Ｒドライブなどの周辺機器をパーソナルコンピュータに接続する際のシステムインターフェースである。ＡＴＡは、ＡＮＳＩで規格化されている、主にＨＤＤ用のインターフェースとして用いられているＩＤＥ（Integrated Drive Electronics）の正式な規格名称である。ＡＴＡＰＩは、ＩＤＥコントローラに、例えば、ＣＤ−ＲＯＭなどのハードディスク以外のデバイスを接続するために考案されたパケットインターフェイスであり、ＩＤＥと比較すると、転送速度の向上やリムーバブルメディアのサポート、ポータブルＰＣ向けの機能などが規格化されている。ＡＴＡＰＩでは、ＳＣＳＩコマンドをＡＴＡコマンドに変換することができるため、ＡＴＡＰＩを用いることにより、高価なＳＣＳＩインターフェースを必要としないＣＤ−ＲＯＭドライブを比較的容易に開発することが可能となる。
【００１２】
これらのインターフェース規格ごとに、磁気テープへのデータの記録再生に関する拡張コマンドセットが定められており、これらのコマンドセットを用いて、磁気テープへ記録されるデータを単一のストリームとみなし、磁気テープの先頭位置や現在の記録再生位置を基準として、ブロック単位のアドレス、バイト単位のアドレス、ファイルマーク単位、または、セットマーク単位で、位置決めや、データの読み出し、または、書き込み等を指令することが可能である。
【００１３】
すなわち、従来のパーソナルコンピュータ等と周辺機器とで主に用いられている、ＳＣＳＩ、ＡＴＡ、ＡＴＡＰＩなどのインターフェース規格においては、ホストコンピュータにおいてファイルやフォルダとして扱われているデータ単位の概念がない。また、テープストリーマドライブも、ホストコンピュータにおいてファイルやフォルダとして扱われているデータ単位の概念を有さずに、磁気テープへのデータの記録または磁気テープに記録されているデータの再生に関する処理を行っている。
【００１４】
ホストコンピュータにおいてファイルやフォルダとして扱われているデータ単位を認識し、磁気テープに記録されるデータのファイルフォーマットを規定するのは、ホストコンピュータにおいて実行されるアプリケーションプログラムであり、規定されるフォーマットには、例えば、マイクロソフト・ウインドウズ（商標）ＮＴが規定するＭＴＦ（Microsoft Tape Format）や、ＵＮＩＸ（登録商標）におけるｔａｒ（Tape Archiver）コマンド（圧縮機能はないが複数のファイルを１つにまとめたり、アーカイブしたファイルを元に戻したりして、ファイルをまとめて転送する際に用いられるコマンド）が規定するフォーマット等がある。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上述したテープストリーマドライブは、大容量の記憶容量を持つという特長がある反面、記録再生の位置決め時間が長いという課題を有する装置である。
【００１６】
テープストリーマドライブでは、装着されたテープカセットの磁気テープにデータとともに記録されているファイルの識別子（多くの場合、記録されているデータのそれぞれの先頭部分に記録されている）を読み取らなければ、磁気テープに記録されているデータの内容を知ることができない。このため、テープストリーマドライブを用いた、磁気テープへのデータの記録においては、ユーザが所望するデータへアクセスするために、記録されているデータを先頭から走査していかなければならないため、ファイルシステムのディレクトリ情報領域を有することによりランダムアクセス可能なＨＤＤなどと比較して、所望するデータへのアクセス時間がかかってしまう。
【００１７】
テープストリーマドライブによる磁気テープへのデータの記録における、この様な欠点をカバーするために、例えば、Windows（登録商標）付属のバックアップユーティリティー（NTBACKUP.EXE）においては、カタログと称される、インデックスやディレクトリ情報の様な情報を、ホストコンピュータにおいて保持し、ホストコンピュータがテープストリーマドライブを制御して、磁気テープにデータを記録させたり、磁気テープに記録されているデータを読み出す処理において、カタログを参照することができるようになされている。すなわち、ホストコンピュータが、テープストリーマドライブによって磁気テープに記録されるデータのファイル情報を記憶していた。
【００１８】
磁気テープは、リムーバブルなメディアであるから、カタログを保持しているホストコンピュータ以外の他のホストコンピュータにより、磁気テープにデータを記録させたり、磁気テープに記録されているデータを読み出す処理の指令を受ける場合がある。そのような場合、カタログを保持していないホストコンピュータは、カタログを作成する動作を行うために、磁気テープを走査する必要がある。磁気テープの大容量化が更に進んだ場合、カタログ作成に長時間を要してしまう。
【００１９】
このように、テープストリーマドライブの動作を規定しているのはホストコンピュータであるから、ホストコンピュータの処理と独立してテープストリーマドライブの動作を最適化することにより、磁気テープのダメージの低減化や、アクセス時間の短縮を図ることは困難であった。
【００２０】
また、テープストリーマドライブは、磁気テープへのデータのバックアップやアーカイブの作成のために用いられることが多い。すなわち、データの書き込み時においては、既に、ホストコンピュータのハードディスク上に完結した１つのファイルとして存在しているため、例えば、ファイル名やファイルのサイズ等の属性情報がすでに確定している。しかしながら、従来のテープストリーマドライブによる磁気テープへのデータの記録または再生処理においては、その処理の制御に、例えば、ファイルサイズなどの属性情報を利用することができなかった。
【００２１】
本発明はこのような状況に鑑みてなされたものであり、記録媒体にシーケンシャルに記録されたデータを、容易に検索することができるようにするものである。
【課題を解決するための手段】
【００２２】
本発明の情報処理装置は、記録媒体に記録されるデータおよびデータの属性情報を取得する取得手段と、取得手段により取得されたデータを一時保存する複数のデータ一時記憶手段と、取得手段により取得された属性情報を基に、データ一時記憶手段へのデータの一時記憶を制御する記憶制御手段と、記録媒体にデータを記録するデータ記録手段とを備え、記憶制御手段は、複数の一時記憶手段のうちのいずれかにおいて、一時記憶手段が備える記憶容量のデータが記憶された場合、データを読み出し、データ記録手段は、記憶制御手段により読み出されたデータを記録媒体に記録することを特徴とする。
【００２３】
記憶制御手段には、取得手段により取得された属性情報のうち、記録媒体に記録されるデータのデータ容量に基づいて、複数の一時記憶手段のうちのいずれにデータを一時記憶させるかを決定させるようにすることができる。
【００２４】
記憶制御手段には、取得手段により取得された属性情報のうち、記録媒体に記録されるデータのデータ種別情報に基づいて、複数の一時記憶手段のうちのいずれにデータを一時記憶させるかを決定させるようにすることができる。
【００２５】
データ記録手段には、複数の一時記憶手段の記憶容量により決められるデータ量のグループごとに、データを記録媒体に記録させるようにすることができる。
【００２６】
記録媒体において、データ記録手段によりデータが記録される記録領域とは異なる領域に、属性情報をテーブル形式で記録する属性情報記録手段を更に備えさせるようにすることができる。
【００２７】
データは、取得手段により所定の記録単位ごとに取得されるものとすることができ、属性情報は、所定の記録単位ごとのデータに対応付けられて取得手段により取得されるとともに、属性情報記録手段により、所定の記録単位ごとに１レコードとされて、テーブル形式で記録されるものとすることができる。
【００２８】
所定の記録単位ごとのデータを個々に区別するための識別情報を生成する識別情報生成手段を更に備えさせるようにすることができ、属性情報記録手段には、識別情報生成手段により生成された識別情報に対応付けて、属性情報を、所定の記録単位ごとに１レコードとしてテーブル形式で記録させるようにすることができる。
【００２９】
他の情報処理装置へデータを供給するデータ供給手段を更に備えさせるようにすることができ、取得手段には、他の情報処理装置から、記録媒体に記録されるデータおよびデータの属性情報を取得させるようにすることができ、データ供給手段には、識別情報生成手段により生成された識別情報を、他の情報処理装置へ供給させるようにすることができる。
【００３０】
属性情報記録手段により記録されている属性情報を読み出す属性情報読み出し手段を更に備えさせるようにすることができる。
【００３１】
他の情報処理装置から記録媒体に記録されたデータを検索するための情報と、検索されたデータの再生要求を受ける再生要求取得手段と、再生要求取得手段により取得されたデータを検索するための情報を基に、属性情報読み出し手段により読み出された属性情報から、データに対応するレコードを検索する検索手段と、検索手段により検索されたレコードに対応するデータを再生する再生手段とを更に備えさせるようにすることができる。
【００３２】
他の情報処理装置から記録媒体に記録されたデータを検索するための情報と、検索されたデータに対応する属性情報の送信の要求を受ける送信要求取得手段と、送信要求取得手段により取得されたデータを検索するための情報を基に、属性情報読み出し手段により読み出された属性情報から、データに対応するレコードを検索する検索手段と、検索手段により検索されたレコードに対応する属性情報の他の情報処理装置への送信を制御する属性情報送信制御手段とを更に備えさせるようにすることができる。
【００３３】
他の情報処理装置から記録媒体に記録されたデータを検索するための情報と、検索されたデータに関する統計情報の送信の要求を受ける送信要求取得手段と、送信要求取得手段により取得されたデータを検索するための情報を基に、属性情報読み出し手段により読み出された属性情報から、データに対応するレコードを検索する検索手段と、検索手段により検索されたレコードに含まれる属性情報を用いて、データに関する統計情報を算出する算出手段と、算出手段により算出された統計情報の、他の情報処理装置への送信を制御する統計情報送信制御手段とを更に備えさせるようにすることができる。
【００３４】
記録媒体は、磁気テープにデータを記録することができるテープカセットであるものとすることができる。
【００３５】
属性情報記録手段には、属性情報を、テープカセットに設けられた磁気テープとは異なるメモリに記録させるようにすることができる。
【００３６】
記録媒体は、ＣＤ−Ｒであるものとすることができる。
【００３７】
本発明の情報処理方法は、記録媒体に記録されるデータの取得を制御するデータ取得制御ステップと、データの属性情報の取得を制御する属性情報取得制御ステップと、属性情報取得制御ステップの処理により取得が制御された属性情報を基に、データ取得制御ステップの処理により取得が制御されたデータの、複数の一時記憶部への一時記憶を制御する一時記憶制御ステップと、一時記憶制御ステップの処理により、複数の一時記憶部のうちのいずれかにおいて、一時記憶部が備える記憶容量のデータが記憶された場合、データの読み出しと、記録媒体への記録とを制御するデータ記録制御ステップとを含むことを特徴とする。
【００３８】
本発明のプログラムは、記録媒体に記録されるデータの取得を制御するデータ取得制御ステップと、データの属性情報の取得を制御する属性情報取得制御ステップと、属性情報取得制御ステップの処理により取得が制御された属性情報を基に、データ取得制御ステップの処理により取得が制御されたデータの、複数の一時記憶部への一時記憶を制御する一時記憶制御ステップと、一時記憶制御ステップの処理により、複数の一時記憶部のうちのいずれかにおいて、一時記憶部が備える記憶容量のデータが記憶された場合、データの読み出しと、記録媒体への記録とを制御するデータ記録制御ステップとを含むことを特徴とする処理をコンピュータに実行させる。
【００３９】
本発明の情報処理装置および情報処理方法、並びに、プログラムにおいては、記録媒体に記録されるデータが取得され、データの属性情報が取得され、取得された属性情報を基に、取得されたデータの、複数の一時記憶手段または一時記憶部への一時記憶が制御され、複数の一時記憶手段または一時記憶部のうちのいずれかにおいて、一時記憶手段または一時記憶部が備える記憶容量のデータが記憶された場合、一時記憶されたデータが読み出されて、記録媒体へ記録される。
【発明の効果】
【００４０】
本発明によれば、データを記録することができ、特に、データをシーケンシャルに記録する記録媒体に記録されるデータおよびデータの属性情報が取得されて、取得された属性情報を基に、複数のデータ一時記憶手段のうちのいずれかへのデータの一時記憶が制御され、複数の一時記憶手段のうちのいずれかにおいて、一時記憶手段が備える記憶容量のデータが記憶された場合、データが読み出されて、記録媒体に記録されるので、データをシーケンシャルに記録する記録媒体に、属性情報に基づいて、一定のデータ容量ごとに、データが記録される。
【発明を実施するための最良の形態】
【００４１】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００４２】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００４３】
請求項１に記載の情報処理装置（例えば、図１のテープストリーマドライブ１）は、データをシーケンシャルに記録する記録媒体（例えば、磁気テープまたはＣＤ−Ｒ）に、データを記録する情報処理装置であって、記録媒体に記録されるデータおよびデータの属性情報を取得する取得手段（例えば、図１のＵＳＢインターフェース２１）と、取得手段により取得されたデータを一時保存する複数のデータ一時記憶手段（例えば、図１のキャッシュメモリ２９−１乃至２９−ｎ）と、取得手段により取得された属性情報を基に、データ一時記憶手段へのデータの一時記憶を制御する記憶制御手段（例えば、図１のキャッシュメモリコントローラ２８）と、記録媒体にデータを記録するデータ記録手段（例えば、図１の記録ヘッド４１）とを備え、記憶制御手段は、複数の一時記憶手段のうちのいずれかにおいて、一時記憶手段が備える記憶容量のデータが記憶された場合、データを読み出し、データ記録手段は、記憶制御手段により読み出されたデータを記録媒体に記録することを特徴とする。
【００４４】
データ記録手段は、複数の一時記憶手段の記憶容量により決められるデータ量のグループ（例えば、図３に示されるグループ）ごとに、データを記録媒体に記録することができる。
【００４５】
記録媒体において、データ記録手段によりデータが記録される記録領域とは異なる領域に、属性情報をテーブル形式で記録する属性情報記録手段（例えば、図２のテーブル記憶制御部１２３）を更に備えることができる。
【００４６】
所定の記録単位ごとのデータを個々に区別するための識別情報を生成する識別情報生成手段（例えば、図２の識別子生成部１０３）を更に備えることができ、属性情報記録手段は、識別情報生成手段により生成された識別情報に対応付けて、属性情報を、所定の記録単位ごとに１レコードとしてテーブル形式で記録することができる。
【００４７】
他の情報処理装置へデータを供給するデータ供給手段（例えば、図１のＵＳＢインターフェース２１）を更に備えることができ、取得手段は、他の情報処理装置から、記録媒体に記録されるデータおよびデータの属性情報を取得することができ、データ供給手段は、識別情報生成手段により生成された識別情報を、他の情報処理装置へ供給することができる。
【００４８】
属性情報記録手段により記録されている属性情報を読み出す属性情報読み出し手段（例えば、図２のテーブル読み出し制御部１２５）を更に備えることができる。
【００４９】
他の情報処理装置から記録媒体に記録されたデータを検索するための情報と、検索されたデータの再生要求を受ける再生要求取得手段（例えば、図２のコマンド取得部１０１）と、再生要求取得手段により取得されたデータを検索するための情報を基に、属性情報読み出し手段により読み出された属性情報から、データに対応するレコードを検索する検索手段（例えば、図２の検索処理部１２４）と、検索手段により検索されたレコードに対応するデータを再生する再生手段（例えば、図１の再生ヘッド４２）とを更に備えることができる。
【００５０】
他の情報処理装置から記録媒体に記録されたデータを検索するための情報と、検索されたデータに対応する属性情報の送信の要求を受ける送信要求取得手段（例えば、図２のコマンド取得部１０１）と、送信要求取得手段により取得されたデータを検索するための情報を基に、属性情報読み出し手段により読み出された属性情報から、データに対応するレコードを検索する検索手段（例えば、図２の検索処理部１２４）と、検索手段により検索されたレコードに対応する属性情報の他の情報処理装置への送信を制御する属性情報送信制御手段（例えば、図１の問い合わせ結果情報供給制御部１２７）とを更に備えることができる。
【００５１】
他の情報処理装置から記録媒体に記録されたデータを検索するための情報と、検索されたデータに関する統計情報の送信の要求を受ける送信要求取得手段（例えば、図２のコマンド取得部１０１）と、送信要求取得手段により取得されたデータを検索するための情報を基に、属性情報読み出し手段により読み出された属性情報から、データに対応するレコードを検索する検索手段（例えば、図２の検索処理部１２４）と、検索手段により検索されたレコードに含まれる属性情報を用いて、データに関する統計情報を算出する算出手段（例えば、図２の問い合わせ情報生成処理部１２６）と、算出手段により算出された統計情報の、他の情報処理装置への送信を制御する統計情報送信制御手段（例えば、図１の問い合わせ結果情報供給制御部１２７）とを更に備えることができる。
【００５２】
記録媒体は、磁気テープ（例えば、図１の磁気テープ６２）にデータを記録することができるテープカセット（例えば、図１のテープカセット５１）であるものとすることができる。
【００５３】
属性情報記録手段は、属性情報を、テープカセットに設けられた磁気テープとは異なるメモリ（例えば、図１のＭＩＣ６３）に記録することができる。
【００５４】
請求項１６に記載の情報処理方法は、データをシーケンシャルに記録する記録媒体（例えば、磁気テープまたはＣＤ−Ｒ）に、データを記録する情報処理装置（例えば、図１のテープストリーマドライブ１）の情報処理方法であって、記録媒体に記録されるデータの取得を制御するデータ取得制御ステップ（例えば、図７のステップＳ３７の処理）と、データの属性情報の取得を制御する属性情報取得制御ステップ（例えば、図７のステップＳ３４の処理）と、属性情報取得制御ステップの処理により取得が制御された属性情報を基に、データ取得制御ステップの処理により取得が制御されたデータの、複数の一時記憶部（例えば、図１のキャッシュメモリ２９−１乃至２９−ｎ）への一時記憶を制御する一時記憶制御ステップ（例えば、図７のステップＳ３６およびステップＳ３８の処理）と、一時記憶制御ステップの処理により、複数の一時記憶部のうちのいずれかにおいて、一時記憶部が備える記憶容量のデータが記憶された場合、データの読み出しと、記録媒体への記録とを制御するデータ記録制御ステップ（例えば、図８のステップＳ４１の処理）とを含むことを特徴とする。
【００５５】
また、請求項１７に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項１６に記載の情報処理方法と同様である。
【００５６】
以下、図を参照して、本発明の実施の形態について説明する。
【００５７】
図１は、本発明を適用した、テープストリーマドライブ１の構成を示すブロック図である。
【００５８】
テープストリーマドライブ１は、図５を用いて後述するホストコンピュータから、磁気テープ６２に記録されるデータや、テープストリーマドライブ１の動作を制御するためのコマンドなどの供給を受けるとともに、更に、記録されるデータやコマンドとともに、例えば、磁気テープ６２に記録されるデータの属性情報や、磁気テープ６２に記録されているデータを読み出すための検索条件または検索条件式など、コマンドの実行に関係する情報の供給を受け、それらを基に、装着されるテープカセット５１の磁気テープ６２へのデータの記録、または、磁気テープ６２に記録されているデータの再生を行う。
【００５９】
ＵＳＢインターフェース２１は、ホストコンピュータから、磁気テープに記録されるデータ、コマンド、または、コマンドの実行に関係する各種情報などの供給を受け、磁気テープに記録されるデータを圧縮／伸張処理部２７に供給し、コマンド、または、コマンドの実行に関係する各種情報をシステムコントローラ２２に供給する。また、ＵＳＢインターフェース２１は、圧縮／伸長処理部２７から供給された、磁気テープから読み出され、各種処理がなされたデータや、システムコントローラ２２から供給された、コマンドに対するＡＣＫや、問い合わせ結果を示すデータを、ホストコンピュータに送出する。
【００６０】
ホストコンピュータとテープストリーマドライブ１とは、ＵＳＢ（Universal Serial Bas）の規格に基づいて、データの入出力が行われている。また、テープストリーマドライブ１においては、ホストコンピュータにおいて、例えば、１つのファイル（または１つのコンテンツ）として扱われていたデータを、データの記録を指令するコマンドが１回実行された場合に磁気テープ６２に記録されるデータ（以下、１記録単位のデータと称するものとする）として扱うものとする。すなわち、ホストコンピュータからは、１記録単位のデータの記録ごとに、データの記録を指令するコマンドが送信され、また、１記録単位のデータ毎に属性情報が供給され、更に、１記録単位のデータの再生ごとに、データの再生を指令するコマンドが送信される。
【００６１】
属性情報には、例えば、ファイル（１記録単位のデータ）のファイル名やタイトル、ファイルのデータの種類（例えば、動画データ、静止画データ、テキストデータ、音声データ、映像データなどの種類）、データサイズ、データ内容を説明する情報（例えば、テレビジョン放送番組などのコンテンツであれば、放送日時、放送局名、番組名、出演者名など）、データの作成者または版権を有するものの名称、データ作成に用いられたアプリケーション名、動画データや映像データの再生時間、動画データのフレームレート、ビットレート、サンプリングレート、コーディックタイプなどに関する情報、データの再生モードに関する情報、ファイルの作成日時や更新日時、データの圧縮率、エラーレートなどの信頼性情報、再生時に必要な平均転送レート、アクセス頻度、または、ユーザがファイル（１記録単位のデータ）に対して付加した情報などが用いられる。
【００６２】
システムコントローラ２２は、ホストコンピュータから、ＵＳＢインターフェース２１を介して供給されるコマンドに基づいて、テープストリーマドライブ１の動作を制御する。
【００６３】
具体的には、システムコントローラ２２は、ホストコンピュータから、ＵＳＢインターフェース２１を介して、データの記録開始を指令するコマンドの供給を受けたとき、テープストリーマドライブ１の各部の動作を制御して、ホストコンピュータから供給されるデータを、装着されているテープカセット５１の磁気テープ６２に記録させるとともに、テープカセット５１の磁気テープ６２に記録されたデータの属性情報を取得または生成して、後述するＭＩＣ６３に記録される属性情報テーブルに登録する。また、システムコントローラ２２は、ホストコンピュータから、ＵＳＢインターフェース２１を介して、磁気テープ６２に記録されたデータの検索を指令するコマンドと、検索のために必要な検索情報または検索式の供給を受けたとき、ＭＩＣ６３に記録された属性情報テーブルを参照して検索処理を行い、検索結果を、ＵＳＢインターフェース２１を介して、ホストコンピュータに送信する。
【００６４】
さらに、システムコントローラ２２は、ホストコンピュータから、ＵＳＢインターフェース２１を介して、磁気テープ６２に記録された所定のデータへのアクセスや読み出しにかかる予定時間の通知を要求するコマンドの供給を受けたとき、所定のデータへのアクセスや読み出しにかかる予定時間を算出し、算出結果を、ＵＳＢインターフェース２１を介して、ホストコンピュータに送信する。また、システムコントローラ２２は、ホストコンピュータから、ＵＳＢインターフェース２１を介して、磁気テープ６２に記録された所定のデータの読み出しを指令するコマンドと、読み出させるデータを指定するための情報の供給を受けたとき、ＭＩＣ６３に記録された属性情報テーブルを参照し、テープストリーマドライブ１の各部の動作を制御して、所定のデータをテープカセット５１の磁気テープ６２から読み出させ、ＵＳＢインターフェース２１を介して、ホストコンピュータに送信させる。
【００６５】
ＳＲＡＭ２３およびフラッシュＲＯＭ２４は、システムコントローラ２２に接続され、システムコントローラ２２により実行されるプログラムや、それらのプログラムの実行に必要なデータなどが記憶される。具体的には、ＳＲＡＭ２４は、システムコントローラ２２により実行されるプログラムにおける各種フラグデータ等の記憶や演算処理などに用いるワークメモリとして用いられ、フラッシュＲＯＭ２４には、例えば、システムコントローラ２２により実行されるプログラムや、制御に用いる定数等、または、テープストリーマドライブ１に関する情報が記憶される。なお、ＳＲＡＭ２２３またはフラッシュＲＯＭ２４のうちの一方、または、両方は、システムコントローラ２２を構成するマイクロコンピュータの内部メモリとして構成してもよい。テープストリーマドライブ１に関する情報には、例えば、テープストリーマドライブ１の製造メーカ名、シリアル番号、製造年月日、現在の温度、装着されているテープカセット５１の磁気テープ６２の現在の巻き取り量などの情報がある。
【００６６】
カウンタ２５は、システムコントローラ２２の制御に基づいて、システムコントローラ２２により実行されるプログラムにおいて、例えば、ＭＩＣ６３に記録される属性情報テーブルに登録される属性情報を生成するために必要な計数処理を実行する。タイマ２６は、システムコントローラ２２により参照されるタイマである。
【００６７】
圧縮／伸長処理部２７は、ホストコンピュータから供給されるデータを、磁気テープ６２記録する場合、システムコントローラ２２の制御に基づいて、ＵＳＢインターフェース２１から供給されたデータに、必要に応じて、所定の方式の圧縮処理を施して、圧縮されたデータをキャッシュメモリコントローラ２８に供給する。圧縮方法は、いずれの方法であっても良いが、例えば、ＬＺ符号による圧縮が行われる場合、圧縮／伸長処理部２７は、過去に処理した文字列に対して専用のコードを割り与え、辞書の形で格納し、それ以降に入力される文字列と辞書の内容とを比較することにより、入力されたデータを圧縮する。すなわち、入力データの文字列と辞書のコードとが一致しなかった場合、入力文字列のデータには逐次新たなコードが与えられて、そのコードが圧縮データとして出力されるとともに、入力文字列とそのコードが新たに辞書に登録され、入力データの文字列と辞書のコードとが一致した場合、辞書に登録されたコードが圧縮データとして出力されることにより、入力データの圧縮処理が行われる。
【００６８】
また、圧縮／伸長処理部２７は、磁気テープ６２記録されているデータを読み出して、ホストコンピュータに供給する場合、システムコントローラ２２の制御に基づいて、キャッシュメモリコントローラ２８から供給される圧縮されたデータを伸張して、ＵＳＢインターフェース２１に供給する。例えば、ＬＺ符号によって圧縮が行われていた場合、圧縮／伸長処理部２７は、内部に格納されている辞書を参照し、供給された圧縮データと辞書に登録されたコードを比較して、圧縮前の入力文字列を検出することにより圧縮データを伸張する。
【００６９】
キャッシュメモリコントローラ２８は、ホストコンピュータから供給されるデータを、磁気テープ６２記録する場合、システムコントローラ２２の制御に基づいて、圧縮／伸長処理部２７から供給された圧縮データをキャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎのうちのいずれかに供給してキャッシュさせるとともに、キャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎのうちのいずれかにキャッシュされているデータを読み出して、ＥＣＣ処理部３０に供給する。また、キャッシュメモリコントローラ２８は、磁気テープ６２記録されているデータを読み出して、ホストコンピュータに供給する場合、システムコントローラ２２の制御に基づいて、ＥＣＣ処理部３０から供給された、復調されて、誤り訂正がなされたデータをキャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎのうちのいずれかに供給してキャッシュさせるとともに、キャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎのうちのいずれかにキャッシュされているデータを読み出して、圧縮／伸長処理部２７に供給する。
【００７０】
キャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎは、キャッシュメモリコントローラ２８の制御に基づいて、供給されたデータを一時キャッシュするものである。キャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎのそれぞれにおいて、キャッシュ可能なデータ容量と、磁気テープ６２に記録されるデータの１グループのデータ容量とは、対応する値となる。磁気テープ６２へ記録されるデータの構成の詳細については、後述する。
【００７１】
以下、キャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎを個々に区別する必要がない場合、単に、キャッシュメモリ２９と総称する。
【００７２】
また、キャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎは、物理的に複数のメモリにより構成されていてもよいし、物理的には１チップのメモリを、複数の記憶領域に分割して用いるようにしてもよい。なお、キャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎの記憶領域の一部を、キャッシュメモリコントローラ２８、または、システムコントローラ２２において実行される処理に用いられるワークメモリとして用いるようにしても良い。
【００７３】
ＥＣＣ処理部３０は、ホストコンピュータから供給されるデータを、磁気テープ６２記録する場合、システムコントローラ２２の制御に基づいて、キャッシュメモリコントローラ２８から供給された圧縮データに、エラー訂正符号（ＥＣＣ：error correcting code）を付加し、変調／復調およびＲＦ処理部３１に供給する。また、ＥＣＣ処理部３０は、磁気テープ６２記録されているデータを読み出して、ホストコンピュータに供給する場合、システムコントローラ２２の制御に基づいて、変調／復調およびＲＦ処理部３１から供給された復調されたデータのエラー訂正符号を基に、データにエラーが発生している場合は、それを検出して訂正する処理を実行し、エラー訂正後のデータを、キャッシュメモリコントローラ２８に供給する。
【００７４】
変調／復調およびＲＦ処理部３１は、ホストコンピュータから供給されるデータを、磁気テープ６２記録する場合、システムコントローラ２２の制御に基づいて、エラー訂正符号が付加された圧縮データを変調してＲＦ（Radio Frequency）信号に変換し、ＲＦ信号に対して、増幅やイコライジング処理を施して、記録ヘッド４１−１および４１−２に供給する。また、変調／復調およびＲＦ処理部３１は、磁気テープ６２記録されているデータを読み出して、ホストコンピュータに供給する場合、システムコントローラ２２の制御に基づいて、再生ヘッド４２−１乃至４２−３から供給されるＲＦ信号に対して、再生イコライジング処理を行い、復調して、ＥＣＣ処理部３０に供給する。
【００７５】
サーボコントローラ３２は、システムコントローラ２２の制御に基づいて、ドラムモータ３５−１、キャプスタンモータ３５−２、リールモータ３５−３および３５−４、並びに、ローディングモータ３５−５を駆動するメカドライバ３４を制御して、各モータの回転、および、回転速度を制御することにより、データの記録再生時または早送りや巻き戻し時の磁気テープの走行、磁気テープ走行時のテープテンションの制御、テープカセット５１の装着または排出（ローディングまたはアンローディング）の動作などを制御する。特に、サーボコントローラ３２は、ドラムモータ３５−１、キャプスタンモータ３５−２、並びに、リールモータ３５−３および３５−４のそれぞれに設けられているＦＧ（周波数発生器）から発生され、メカドライバ３４を介して供給されるモータの回転情報に基づいて、各モータの回転動作において目的とする回転速度と実際の回転速度との誤差を検出し、その誤差分を基に、メカドライバ１７を制御することにより、各モータの閉ループによる回転速度制御を実現することができる。
【００７６】
メカドライバ３４は、サーボコントローラ３２の制御に基づいて、ドラムモータ３５−１、キャプスタンモータ３５−２、リールモータ３５−３および３５−４、並びに、ローディングモータ３５−５のそれぞれを回転駆動させるドライバである。また、メカドライバ３４は、ドラムモータ３５−１、キャプスタンモータ３５−２、並びに、リールモータ３５−３および３５−４のそれぞれに設けられているＦＧから発生されるモータの回転情報の供給を受け、サーボコントローラ３２に供給する。
【００７７】
ドラムモータ３５−１は、テープストリーマドライブ１に装着されたテープカセット５１の供給用テープリール６１−１から引き出された磁気テープ６２が巻き付けられる回転ドラム３６を回転駆動させる。キャプスタンモータ３５−２は、磁気テープ６２を定速走行させるための図示しないキャプスタンを回転駆動させる。リールモータ３５−３および３５−４は、テープストリーマドライブ１に装着されたテープカセット５１の供給用テープリール６１−１および巻き取りテープリール６１−２を回転駆動させる。ローディングモータ３５−５は、図示しないローディング機構を駆動させ、テープカセット５１をローディングまたはアンローディングさせる。
【００７８】
ＥＥＰ−ＲＯＭ３３は、サーボコントローラ３２が各モータを制御するために必要な、例えば、定数等の情報を格納するメモリである。
【００７９】
回転ドラム３６には、記録ヘッド４１−１および４１−２、並びに、再生ヘッド４２−２乃至４２−３が配置されている。具体的には、回転ドラム３６には、アジマス角が異なる２つの記録ヘッド４１−１および４１−２のギャップが極めて近接して配置されているとともに、それぞれ所定のアジマス角の再生ヘッド４２−２乃至４２−３のギャップが、所定の角度間隔で配置されている。記録ヘッド４１−１および４１−２は、磁気テープ６２に、変調／復調およびＲＦ処理部３１から供給されたデータを記録する。再生ヘッド４２−２乃至４２−３は、磁気テープ６２に記録されているデータを再生させて、変調／復調およびＲＦ処理部３１に供給する。
【００８０】
テープカセット５１において、供給用テープリール６１−１および巻き取り用テープリール６１−２は、リールモータ３５−３およびリールモータ３５−４により回転駆動され、磁気テープ６２を所定の速さで移送する。磁気テープ６２には、記録ヘッド４１−１および４１−２によりデータが記録される。また、再生ヘッド４２−２乃至４２−３により、磁気テープ６２に記録されたデータが再生される。テープカセット５１の供給用テープリール６１−１から引き出された磁気テープ６２は、ドラムモータ３５−１により回転される回転ドラム３６に巻きつけられ、キャプスタンモータ３５−２により回転駆動される図示しないキャプスタン、および、図示しないピンチローラにより、所定の方向に移送される。
【００８１】
磁気テープ６２には、ヘリカルスキャン方式により、データが記録再生されるようになされている。
【００８２】
また、テープカセット５１には、ＭＩＣ６３が設けられている。ＭＩＣ６３は、キャッシュメモリ３７を介して、システムコントローラ２２とデータの授受が可能なように接続され、システムコントローラ２２により、テープカセット５１の磁気テープ６２に記録されているデータに関する情報が登録される属性情報テーブル（その詳細は、図９を用いて後述する）の各フィールドに登録される情報の供給を受けたり、属性情報テーブルの各フィールドに登録される情報を読みだされることができるようになされている。また、ＭＩＣ６３には、テープカセット５１に関する情報も記録されている。テープカセット５１に関する情報には、例えば、テープカセット５１の製造メーカ名、ロード回数、製造年月日、バッドスポットの位置、テープの残容量などがある。
【００８３】
キャッシュメモリ３７は、システムコントローラ２２とＭＩＣ６３と接続され、ＭＩＣ６３から読み出されたデータ、または、ＭＩＣ６３に書き込むデータの一時キャッシュに用いられる。
【００８４】
ＭＩＣ４は、従来の構成のようにテープカセット２８内に配設してもよいが、これに代わって、磁気テープ６２のうちの所定の記録領域をＭＩＣ６３に対応する記録領域として取り扱うようにしても良い。このような場合、テープストリーマドライブ１においては、例えば、テープカセット５１がテープストリーマドライブ１に装着されたとき、磁気テープ６２のＭＩＣ６３に対応する記録領域に記録されている属性情報テーブルを読み出して、キャッシュメモリ３７に一時保存させることにより、システムコントローラ２２が、キャッシュメモリ３７に一時保存されている属性情報テーブルを参照して、データの記録再生操作を行い、必要に応じて、属性情報テーブルを更新することが可能なようにすることができる。また、システムコントローラ２２により、データの記録再生操作のために更新された、キャッシュメモリ３７に一時保存されている属性情報テーブルは、テープカセット５１がテープストリーマドライブ１から排出される前に、磁気テープ６２のＭＩＣ６３に対応する記録領域に記録されるものとすることができる。このようにすることにより、テープストリーマドライブ１においては、データの記録再生処理時に、テープカセット５１の磁気テープ６２に記録されているデータをその都度走査することなく、ＭＩＣ６３に対応する記録領域に記録されていた属性情報テーブルを参照して、記録再生動作の制御を行うことができる。
【００８５】
なお、テープカセット５１の磁気テープ６２に記録されているデータに関する情報が登録される属性情報テーブルが記録されるＭＩＣ４は、テープカセット５１に設けられるのみならず、テープストリーマドライブ１内に設けられるようにしても良い。このような場合、属性情報テーブルは、リムーバブルなメディアであるテープカセット５１のそれぞれに対応して作成される必要があるので、テープストリーマドライブ１内に記録される属性情報テーブルは、例えば、テープカセット５１に固有に対応付けられるＩＤなどによって区別可能なようにする必要がある。
【００８６】
また、システムコントローラ２２には、必要に応じて、ドライブ３８が接続されており、ドライブ３８には、、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory)，DVDを含む）、光磁気ディスク（ＭＤ（登録商標）（Mini-Disk）を含む）、または、半導体メモリなどよりなるリムーバブルメディア７１が装着され、システムコントローラ２２とデータの授受が可能なようになされている。
【００８７】
なお、図１のテープストリーマドライブ１においては、ホストコンピュータとのインターフェースをＵＳＢとしているが、テープストリーマドライブ１とホストコンピュータとのインターフェースは、例えば、ＳＣＳＩなど、ＵＳＢ以外のものであってもかまわない。すなわち、本実施の形態において記載されているテープストリーマドライブ１とホストコンピュータとの処理動作（いわゆるアプリケーション層において規定される動作）を実行することが可能なように、インターフェースに合わせてトランスポート層以下の機能を拡張することにより、テープストリーマドライブ１とホストコンピュータとのインターフェースの種類にかかわらず、本発明を適用することが可能となる。
【００８８】
図２は、テープストリーマドライブ１が実現可能な機能（テープストリーマドライブ１内のハードウェアによって実現される機能や、システムコントローラ２２において実行されるソフトウェアプログラムによって実現される機能を含む）について説明するための機能ブロック図である。
【００８９】
コマンド取得部１０１は、ホストコンピュータから供給されるコマンド、および、コマンドとともに供給される各種情報（例えば、データが記録されるときは、記録されるデータの属性情報などであり、データの検索または読み出しが指令されたときは、データの検索または読み出しに用いられる検索条件または検索条件式などの情報）を取得し、そのコマンドおよび必要な情報を記録再生制御部１０２、識別子生成部１０３、テーブル処理部１０４の属性情報取得部１２１または検索処理部１２４、および、駆動制御部１０５に供給する。
【００９０】
具体的には、コマンド取得部１０１は、ホストコンピュータから供給されるコマンドが、データの記録開始を指令するコマンドである場合、データの記録開始を指令するコマンドを記録再生制御部１０２に供給し、データの記録開始を指令するコマンドを受けたことを識別子生成部１０３に通知し、記録されるデータとともに属性情報が供給された場合は、その属性情報を属性情報取得部１２１および記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１に供給する。また、コマンド取得部１０１は、ホストコンピュータから供給されるコマンドが、データの検索を指令するコマンドである場合、データの検索を指令するコマンドを検索条件または検索条件式とともに、検索処理部１２４に供給し、ホストコンピュータから供給されるコマンドが、データの再生を指令するコマンドである場合、データの再生を指令するコマンドを記録再生制御部１０２に供給する。
【００９１】
記録再生制御部１０２は、圧縮／伸長処理部２７、キャッシュメモリコントローラ２８、ＥＣＣ処理部３０、並びに、圧縮／変調およびＲＦ処理部３１によるデータの記録再生に必要な動作を制御する。具体的には、記録再生制御部１０２は、例えば、コマンド取得部１０１から、データの記録を指令するコマンドの供給を受けた場合、圧縮／伸長処理部２７、キャッシュメモリコントローラ２８、ＥＣＣ処理部３０、並びに、圧縮／変調およびＲＦ処理部３１を制御して、ＵＳＢインターフェース２１に供給された、磁気テープ６２に記録されるデータの処理を制御し、コマンド取得部１０１から、所定のデータの再生を指令するコマンドの供給を受けた場合、圧縮／伸長処理部２７、キャッシュメモリコントローラ２８、ＥＣＣ処理部３０、並びに、圧縮／変調およびＲＦ処理部３１を制御して、磁気テープ６２に記録されている所定のデータの再生を制御する。また、記録再生制御部１０２は、記録または再生されるデータをキャッシュメモリ２９−１乃至２９−ｎのうちのいずれにキャッシュするかを選択する、すなわち、記録または再生されるデータのキャッシュメモリ２９への割り当てを決定する処理を実行するキャッシュメモリ割り当て処理部１１１の機能を有する。
【００９２】
キャッシュメモリ割り当て処理部１１１は、記録または再生されるデータのデータ容量やデータの種類などを基に、記録または再生されるデータのキャッシュメモリ２９への割り当てを決定する処理を実行する。具体的には、磁気テープ６２へのデータの記録時に、例えば、データ容量によってキャッシュ先を変更するようにした場合、キャッシュメモリ割り当て処理部１１１が、コマンド取得部１０１から供給される属性情報を基に、例えば、小さなサイズのデータを同一のキャッシュメモリ２９にまとめてキャッシュするなどして、供給されるデータの容量によって、データをキャッシュするキャッシュメモリ２９を決定することにより、磁気テープ６２において、小さなデータサイズのデータが、グループにまとまって記録される。また、データの種類によってキャッシュ先を変更するようにした場合、キャッシュメモリ割り当て処理部１１１が、コマンド取得部１０１から供給される属性情報を基に、例えば、動画、静止画、テキストなどのデータの種類によって、データをキャッシュするキャッシュメモリ２９を決定することにより、磁気テープ６２において、同じ種類のデータが、グループにまとまって記録される。
【００９３】
このようにすることにより、磁気テープ６２に記録されるデータまたは磁気テープ６２から読み出されるデータの属性を基に、データの記録再生処理を制御することができる。
【００９４】
識別子生成部１０３は、コマンド取得部１０１から、データの記録開始を指令するコマンドを受けたことの通知を得た場合、記録されるデータを識別するための識別情報であり、記録されるデータに固有に対応付けられる識別子を発行し、発酵した識別子を記録再生制御部１０２に供給して内部に記憶させる（実際には、例えば、図１のＳＲＡＭ２３に記憶させる）とともに、ホストコンピュータに送信させる。識別子には、例えば、ＧＵＩＤ（Global Unique ID）やＵＵＩＤ（Universally Unique Identifier）など、世界中でユニーク（固有の）なＩＤを用いるようにしてもよい。また、識別子生成部１０３は、例えば、デバイス内のＲＯＭ（例えば、図１のフラッシュＲＯＭ２４など）に書き込まれた物理アドレスなどを「ユニークなランダムシード（乱数発生の源)」として、理論上完全にユニークな識別子を生成するようにしてもよい。また、識別子生成部１０３は、理論上完全にユニークな識別子を生成する以外に、例えば、乱数、システム状態、ハッシュ関数等を基に、実用上問題ない乱数を発生させ（すなわち、確率的に、同一のものが簡単に発生しないようにして、乱数を発生させ）、その乱数を識別子として用いるようにしても良い。
【００９５】
テーブル処理部１０４は、磁気テープ６２にデータを記録する場合に、ＭＩＣ６３に記録される属性情報テーブルへの情報の登録や更新を制御したり、ＭＩＣ６３に記憶されている属性情報テーブルを読み出し、それを基に、磁気テープ６２に記録されているデータのうち、条件に合致するデータの問い合わせ結果を生成したり、条件に合致したデータを検索する処理を実行する。
【００９６】
テーブル処理部１０４は、属性情報取得部１２１、属性情報生成部１２２、テーブル記憶制御部１２３、検索処理部１２４、テーブル読み出し制御部１２５、問い合わせ結果情報生成処理部１２６、および、問い合わせ結果情報供給制御部１２７の機能を有する。
【００９７】
属性情報取得部１２１は、コマンド取得部１０１から供給された属性情報を取得し、属性情報生成部１２２、および、テーブル記憶制御部１２３に供給する。属性情報生成部１２２は、属性情報取得部１２１から供給された属性情報、および、記録再生制御部１０２から供給された、例えば、データ記録時に得られるデータの記録位置に関する情報などを基に、属性情報を生成し、テーブル記憶制御部１２２に供給する。また、記録再生制御部１０２は、識別子生成部１０３により生成された、１記録単位のデータに対応付けられた識別子を属性情報生成部１２２に供給するので、属性情報生成部１２２は、供給された識別子を、テーブル記憶制御部１２２に供給する。テーブル記憶制御部１２３は、ＭＩＣ６３に記憶される属性情報テーブルのうち、記録されるデータの１記録単位（例えば、ホストコンピュータにおいて、ファイルとして取り扱われているデータの単位など）ごとに、それぞれのフィールドへ各種属性情報を登録するために、属性情報テーブルの１レコードを生成し、属性情報テーブルへの登録を制御する。属性情報テーブルに登録される属性情報の具体例については、図９を用いて後述する。
【００９８】
検索処理部１２４は、コマンド取得部１０１から、データの検索を指令するコマンドと検索条件または検索条件式の供給を受け、テーブル読み出し制御部１２５を制御して、ＭＩＣ６３の属性情報テーブルを読み出させて検索処理を実行し、検索条件または検索条件式に合致したレコードに関する情報や、例えば、検索条件に合致するデータ数や、検索条件に合致するデータの合計のデータ容量などの統計情報を、問い合わせ結果情報生成処理部１２６に供給する。テーブル読み出し制御部１２５は、検索処理部１２４の制御に基づいて、ＭＩＣ６３に記録されている属性情報テーブルの読み出しを制御する。
【００９９】
問い合わせ結果情報生成処理部１２６は、検索処理部１２４から供給された、検索条件または検索条件式に合致したレコードを基に、問い合わせ結果を示す情報を生成し、問い合わせ結果情報供給制御部１２７に供給する。問い合わせ結果を示す情報は、検索結果が複数レコードである場合、テーブル形式であっても、複数のレコード情報の集合であっても良いし、検索結果のうちの、例えば、ファイル名、データ容量、所望データへのアクセス時間、または、所望データをホストコンピュータに転送する場合にかかる時間など、問い合わせの内容に合致した属性情報のみから構成されるものであっても良い。問い合わせ結果を示す情報がテーブル形式である場合の具体例については、図１３を用いて後述する。問い合わせ結果情報供給制御部１２７は、問い合わせ結果情報生成処理部１２６により生成された、問い合わせ結果を示す情報のホストコンピュータへの供給、具体的には、ＵＳＢインターフェース２１を介した、ホストコンピュータへの送信を制御する。
【０１００】
そして、駆動制御部１０５は、コマンド取得部１０１から供給されたコマンドに基づいて、サーボコントローラ３２を制御して、メカドライバ３４を動作させ、ドラムモータ３５−１、キャプスタンモータ３５−２、リールモータ３５−３および３５−４、並びに、ローディングモータ３５−５のそれぞれを回転駆動させる。
【０１０１】
次に、テープストリーマドライブ１の、データ記録再生動作について説明する。
【０１０２】
ＵＳＢインターフェース２１が、ホストコンピュータより、データの記録開始を指令するコマンドおよび記録されるデータの属性情報などの供給を受けた場合、ＵＳＢインターフェース２１は、システムコントローラ２２に、データの記録開始を指令するコマンドおよび記録されるデータの属性情報などを供給する。
【０１０３】
このとき、システムコントローラ２２において実行される機能について説明すると、コマンド取得部１０１は、データの記録開始を指令するコマンドを受けたことを、識別子生成部１０３に通知するので、識別子生成部１０３は、新たに記録されるデータに対して、一義に対応付けられるユニークな識別子（たとえば、ＧＵＩＤなど）を発行し、記録再生制御部１０２に供給して記憶させる（具体的には、ＳＲＡＭ２３に記憶させる）とともに、生成した識別子を、ＵＳＢインターフェース２１を介して、ホストコンピュータに供給する処理を制御する。また、コマンド取得部１０１は、データの記録開始を指令するコマンドを記録再生制御部１０２および駆動制御部１０５に供給するので、記録再生制御部１０２は、圧縮／伸長処理部２７、キャッシュメモリコントローラ２８、ＥＣＣ処理部３０、並びに、圧縮／変調およびＲＦ処理部３１を制御して、供給されるデータを磁気テープ２６へ記録させる処理を開始させ、駆動制御部１０５は、メカドライバ３４を動作させ、ドラムモータ３５−１、キャプスタンモータ３５−２、リールモータ３５−３および３５−４、並びに、ローディングモータ３５−５のそれぞれを回転駆動させるために、サーボコントローラ３２の制御を開始する。
【０１０４】
また、システムコントローラ２２において、コマンド取得部１０１が、データの記録開始を指令するコマンドとともに、記録されるデータの属性情報の供給を受けた場合、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１は、属性情報を基に、必要に応じて、キャッシュメモリ２９へのデータの一時記憶の割り当てを決定する。データの割り当ての決定は、例えば、データの大きさやデータの種類などによって決められるようにしても良い。また、た、システムコントローラ２２において、コマンド取得部１０１が、データの記録開始を指令するコマンドとともに、記録されるデータの属性情報の供給を受けた場合、テーブル処理部１０４の属性情報取得部１２１は、コマンド取得部１０１から属性情報を取得する。
【０１０５】
そして、ＵＳＢインターフェース２１は、ホストコンピュータから、記録されるデータの供給を受けて、圧縮／伸長処理部２７に供給する。圧縮／伸長処理部２７は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、供給されたデータを、所定の方式で圧縮し、キャッシュメモリコントローラ２８に供給する。キャッシュメモリコントローラ２８は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１の制御）に基づいて、供給された圧縮データを、キャッシュメモリ２９−１乃至２９−ｎのうちのいずれかに供給して保存させる。
【０１０６】
そして、ホストコンピュータから供給された１記録単位のデータがキャッシュメモリ２９−１乃至２９−ｎのうちのいずれかにキャッシュされた後、システムコントローラ２２は、テープカセット５１のＭＩＣ６３に記憶されている属性情報テーブルへ登録される、データの１記録単位に対応する属性情報のレコードを生成し、キャッシュメモリ３７に供給して、一旦キャッシュさせた後、ＭＩＣ６３に供給して、登録させる。
【０１０７】
具体的には、属性情報取得部１２１は、コマンド取得部１０１から供給された属性情報を取得し、属性情報生成部１２２、および、テーブル記憶制御部１２３に供給する。属性情報生成部１２２は、属性情報取得部１２１から供給された属性情報、および、記録再生制御部１０２から供給された、データ記録時に得られる、例えば、データの記録位置に関する情報などを基に、属性情報を生成し、テーブル記憶制御部１２２に供給する。また、記録再生制御部１０２は、識別子生成部１０３により生成された、１記録単位のデータに対応付けられた識別子を属性情報生成部１２２に供給するので、属性情報生成部１２２は、供給された識別子を、テーブル記憶制御部１２２に供給する。テーブル記憶制御部１２３は、記録されるデータの１記録単位（例えば、ホストコンピュータにおいて、ファイルとして取り扱われているデータの単位など）ごとに、属性情報テーブルのレコードを生成し、ＭＩＣ６３に記憶される属性情報テーブルのそれぞれのフィールドへの各種属性情報の登録を制御する。属性情報テーブルは、リレーショナルデータベースとしての機能を有するものであり、たとえば、リレーショナルデータベースシステム用の構造化問い合わせ言語、いわゆるＳＱＬ（Structured Query Language）により記述される。
【０１０８】
ＭＩＣ６３は、属性情報テーブルを記憶しており、キャッシュメモリ３７を介して供給された、データの１記録単位に対応する属性情報のレコードを、識別子に対応付けて登録する。
【０１０９】
キャッシュメモリコントローラ２８は、キャッシュメモリ２９−１乃至２９−ｎのうちのいずれかが容量一杯まで記録された場合、容量が一杯となったキャッシュメモリ２９に記録されているデータを読み出して、ＥＣＣ処理部３０に供給する。また、キャッシュメモリコントローラ２８は、データの記録処理の終了が指令された場合、テープストリーマドライブ１の電源が切断された場合、または、所定の一定時間以上、コマンドが供給されなかった場合などは、キャッシュメモリ２９−１乃至２９−ｎのうちのいずれかに記録されているデータを読み出して、ＥＣＣ処理部３０に供給する。
【０１１０】
ＥＣＣ処理部３０は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、供給されたデータの１ブロックごとに、例えば、パリティビットなど、エラーチェックのためのコードを付加し、変調／復調およびＲＦ処理部３１に供給する。変調／復調およびＲＦ処理部３１は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、供給されたデータを変調してＲＦ信号に変換し、ＲＦ信号に対して、増幅やイコライジング処理を施して、記録ヘッド４１−１および４１−２に供給する。
【０１１１】
また、サーボコントローラ３２は、システムコントローラ２２の制御（換言すれば、駆動制御部１０５の制御）に基づいて、ＥＥＰ−ＲＯＭ３３に記録されている情報を参照し、メカドライバ３４を制御して、ドラムモータ３５−１、キャプスタンモータ３５−２、リールモータ３５−３および３５−４、並びに、ローディングモータ３５−５のそれぞれを回転駆動させる。記録ヘッド４１−１および４１−２は、ヘリカルスキャン方式で、供給されたデータを、テープカセット５１の磁気テープ６２に記録する。
【０１１２】
テープカセット５１の磁気テープ６２に記録されるデータの構造について、図３および図４を用いて説明する。
【０１１３】
図３（Ａ）には、ＥＣＣ処理部３０において、ＥＣＣが付加される単位である、ブロック（Ｂｌｏｃｋ）単位のデータ構造が示されている。１ブロックは、同期信号が記載されるＳＹＮＣデータエリアに続いて、サーチ等に用いるＩＤが記載されるＩＤエリア、ＩＤエリアに記載されるＩＤのエラー訂正用のパリティビットなどのＥＣＣが記載されるパリティエリア、および、ホストコンピュータから供給されるデータが記載されるデータエリアにより構成される。そして、図３（Ｂ）に示されるように、複数のブロックと、両端のマージンエリアにより、１トラックのデータが構成される。
【０１１４】
そして、図３（Ｃ）に示されるように、８０００トラックで１グループとなり、それぞれのグループの間には、所定の間隔の無効領域が設けられるように、磁気テープ６２にデータが記録される。このトラックは、磁気テープ６２の幅方向に対して、傾斜する様に物理的に記録される。
【０１１５】
また、図３（Ｃ）においては、８０００トラックで１グループとなるように、データが記録されている場合について図示されているが、１グループに含まれる、同期信号、ＩＤ、ＥＣＣなどを除いたデータ（すなわち、図３（Ａ）におけるデータエリアに記載されるデータ）の容量は、キャッシュメモリ２９の記憶容量によって決められる。上述したように、磁気テープ６２へのデータの記録処理は、１記録単位ごとに行われるのではなく、１記録単位ごとにホストコンピュータからデータが供給されて、キャッシュメモリ２９−１乃至２９−ｎにデータがキャッシュされ、キャッシュメモリ２９−１乃至２９−ｎのうちのいずれか容量一杯にデータがキャッシュされたものから、キャッシュされたデータが読み出されて、所定の処理が施されて、磁気テープ６２へデータが記録されるようになされている。すなわち、１グループのデータとは、磁気テープへ一度に記録されるデータのまとまりであり、換言すれば、キャッシュメモリ２９−１乃至２９−ｎのうちのいずれかにキャッシュされたデータに、ブロックごとに、ＥＣＣなどの冗長データが付加されたものであり、１グループのデータ容量は、キャッシュメモリ２９に記録されるデータ容量を基に、ＥＣＣ付加や変調処理などによって必要となる冗長度やリライト率を考慮したデータサイズ（例えば、キャッシュメモリ２９のデータ容量の１．５倍程度）となる。また、磁気テープ６２からのデータの読み出しも、ブロックごとに行われるので、磁気テープ６２から読み出された１ブロックのデータは、復調されて、エラー訂正されたのち、キャッシュメモリ２９−１乃至２９−ｎのうちのいずれか１つにキャッシュすることができる。
【０１１６】
次に、図４を参照して、磁気テープ６２に記録されるデータにおける、１記録単位と１グループとの関係について説明する。
【０１１７】
上述したように、磁気テープ６２へのデータの記録処理は、１記録単位ごとに行われるのではなく、１記録単位ごとにキャッシュメモリ２９−１乃至２９−ｎにデータがキャッシュされ、キャッシュメモリ２９−１乃至２９−ｎのうちのいずれか容量一杯にデータがキャッシュされたものから、キャッシュされたデータが読み出されて、所定の処理が施されて、磁気テープ６２へデータが記録されるようになされている。すなわち、ホストコンピュータから供給されるデータのまとまりである１記録単位と、磁気テープ６２に記録されるデータのまとまりである１グループとは、異なるデータ単位である。したがって、１記録単位のデータの容量が１グループより少ない場合、グループ１５１−１やグループ１５１−４のように、１グループに、複数の１記録単位のデータ（＃０乃至＃３および＃５乃至＃８のそれぞれ）が記録され、１記録単位のデータの容量が１グループより大きい場合、グループ１５１−２やグループ１５１−３のように、複数のグループにまたがって、１記録単位のデータ（＃４−１および＃４−２）が記録される。
【０１１８】
次に、ＵＳＢインターフェース２１が、ホストコンピュータより、データの検索を指令するコマンドおよび検索のために用いられる検索条件または検索条件式の供給を受けた場合、ＵＳＢインターフェース２１は、システムコントローラ２２に、データの検索を指令するコマンドおよび検索条件または検索条件式を供給する。
【０１１９】
このとき、システムコントローラ２２において実行される機能について説明すると、コマンド取得部１０１は、データの検索を指令するコマンドおよび検索条件または検索条件式を、検索処理部１２４に供給する。検索処理部１２４は、テーブル読み出し制御部１２５を制御して、ＭＩＣ６３の属性情報テーブルを読み出させる。そして、検索処理部１２４は、テーブル読み出し制御部１２５により読み出された属性情報テーブルに登録されている情報から、検索条件または検索条件式に合致するレコードを抽出し、問い合わせ結果情報生成処理部１２６に供給する。
【０１２０】
すなわち、検索処理部１２４は、リレーショナルデータベースシステム用の構造化問い合わせ言語、いわゆるＳＱＬで記述された属性情報テーブルに登録された情報を検索することができる。
【０１２１】
問い合わせ結果情報生成処理部１２６は、検索処理部１２４から供給された、検索条件または検索条件式に合致したレコードに関する情報を基に、問い合わせ結果を示す情報を生成し、問い合わせ結果情報供給制御部１２７に供給する。問い合わせ結果を示す情報は、検索結果が複数レコードである場合、テーブル形式であっても、複数のレコード情報の集合であっても良いし、問い合わせの内容に合致した属性情報のみから構成されるものであっても良い。問い合わせ結果情報供給制御部１２７は、問い合わせ結果情報生成処理部１２６により生成された、問い合わせ結果を示す情報のホストコンピュータへの送信を制御する。
【０１２２】
次に、ＵＳＢインターフェース２１が、ホストコンピュータより、データの再生を指令するコマンドおよび再生されるデータを指定する情報の供給を受けた場合、ＵＳＢインターフェース２１は、システムコントローラ２２に、データの再生を指令するコマンドおよび再生されるデータを指定する情報を供給する。
【０１２３】
このとき、システムコントローラ２２において実行される機能について説明すると、コマンド取得部１０１は、データの再生を指令するコマンドおよび再生されるデータを指定する情報を、記録再生制御部１０２および駆動制御部１０５に供給する。駆動制御部１０５は、メカドライバ３４を動作させ、ドラムモータ３５−１、キャプスタンモータ３５−２、リールモータ３５−３および３５−４、並びに、ローディングモータ３５−５のそれぞれを回転駆動させるために、サーボコントローラ３２を制御し、磁気テープ２６に記録されている指定されたデータを読み出させる。記録再生制御部１０２は、圧縮／変調およびＲＦ処理部３１、ＥＣＣ処理部３０、キャッシュメモリコントローラ２８、並びに、圧縮／伸長処理部２７を制御して、読み出されたデータの処理を制御する。
【０１２４】
サーボコントローラ３２は、システムコントローラ２２の制御（換言すれば、駆動制御部１０５の制御）に基づいて、ＥＥＰ−ＲＯＭ３３に記録されている情報を参照し、メカドライバ３４を制御して、ドラムモータ３５−１、キャプスタンモータ３５−２、リールモータ３５−３および３５−４、並びに、ローディングモータ３５−５のそれぞれを回転駆動させる。記録ヘッド４１−１および４１−２は、テープカセット５１の磁気テープ６２に記録されているデータを再生ヘッド４２−１乃至４２−３により読み出させて圧縮／変調およびＲＦ処理部３１に供給させる。
【０１２５】
変調／復調およびＲＦ処理部３１は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、再生ヘッド４２−１乃至４２−３から供給されるＲＦ信号に対して、再生イコライジング処理を行い、復調して、ＥＣＣ処理部３０に供給する。ＥＣＣ処理部３０は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、変調／復調およびＲＦ処理部３１から供給された復調されたデータのエラー訂正符号を基に、データにエラーが発生している場合は、それを検出して訂正する処理を実行し、エラー訂正後のデータを、キャッシュメモリコントローラ２８に供給する。
【０１２６】
キャッシュメモリコントローラ２８は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１の制御）に基づいて、圧縮／伸長処理部２７から供給された圧縮データをキャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎのうちのいずれかに供給してキャッシュさせるとともに、キャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎのうちのいずれかにキャッシュされているデータを読み出して、圧縮／伸長処理部２７に供給する。
【０１２７】
圧縮／伸長処理部２７は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、キャッシュメモリコントローラ２８から供給される圧縮されたデータを伸張して、ＵＳＢインターフェース２１に供給する。ＵＳＢインターフェース２１は、圧縮／伸長処理部２７から供給された、磁気テープ６２から読み出され、各種処理がなされたデータを、ホストコンピュータに出力する。
【０１２８】
次に、ＵＳＢインターフェース２１が、ホストコンピュータから、例えば、所望のデータへアクセスするために必要な時間や、所望のデータを取得するために必要な時間などの問い合わせを受けた場合、ＵＳＢインターフェース２１は、システムコントローラ２２に、問い合わせコマンドおよび問い合わせに対する回答を算出するために必要な情報を供給する。
【０１２９】
このとき、システムコントローラ２２において実行される機能について説明すると、コマンド取得部１０１は、問い合わせコマンドおよび問い合わせに対する回答を算出するために必要な情報を、検索処理部１２４および記録再生制御部１０２に供給する。検索処理部１２４は、テーブル読み出し制御部１２５を制御して、ＭＩＣ６３の属性情報テーブルを読み出させる。そして、検索処理部１２４は、テーブル読み出し制御部１２５により読み出された属性情報テーブルに登録されている情報から、問い合わせに対する回答を算出するために必要な情報を抽出し、問い合わせ結果情報生成処理部１２６に供給する。記録再生制御部１０２は、テープストリーマドライブ１の各部の状態を示す情報を、問い合わせ結果情報生成処理部１２６に供給する。
【０１３０】
問い合わせ結果情報生成処理部１２６は、検索処理部１２４および記録再生制御部１０２から供給された情報を基に、問い合わせ結果を示す情報を生成し、問い合わせ結果情報供給制御部１２７に供給する。問い合わせ結果情報供給制御部１２７は、問い合わせ結果情報生成処理部１２６により生成された、問い合わせ結果を示す情報のホストコンピュータへの送信を制御する。
【０１３１】
図５は、図１のテープストリーマドライブ１と接続されているホストコンピュータ２０１の構成を示すブロック図である。
【０１３２】
ＣＰＵ（Central Processing Unit）２１１は、ＲＯＭ（Read Only Memory）２１２に記憶されているプログラム、または記憶部２１８からＲＡＭ（Random Access Memory）２１３にロードされたプログラムにしたがって、各種の処理を実行する。ＲＡＭ２１３にはまた、ＣＰＵ２１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１３３】
ＣＰＵ２１１、ＲＯＭ２１２、およびＲＡＭ２１３は、バス２１４を介して相互に接続されている。このバス２１４にはまた、入出力インターフェース２１５も接続されている。
【０１３４】
入出力インターフェース２１５には、キーボード、マウスなどよりなる入力部２１６、ディスプレイやスピーカなどよりなる出力部２１７、ハードディスクなどより構成される記憶部２１８、図１を用いて説明したテープストリーマドライブ１と情報を授受するＵＳＢインターフェース２１９が接続されている。
【０１３５】
入出力インターフェース２１５にはまた、必要に応じてドライブ２２０が接続され、磁気ディスク２３１、光ディスク２３２、光磁気ディスク２３３、もしくは、半導体メモリ２３４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２１８にインストールされる。
【０１３６】
具体的には、ホストコンピュータ２０１のＣＰＵ２１１は、入出力インターフェース２１５およびバス２１４を介して、入力部２１６から供給された、ユーザの操作入力に基づいて、テープストリーマドライブ１に供給する各種コマンドおよびコマンドとともに供給される各種情報を生成し、バス２１４、入出力インターフェース２１５、および、ＵＳＢインターフェース２１９を介して、テープストリーマドライブ１に供給する。
【０１３７】
ユーザが、記憶部２１８に記憶されているデータを選択して、テープストリーマドライブ１に装着されているテープカセット５１の磁気テープ６２に記憶させることを指令した場合（このとき、データは、記憶部２１８に残っていても、残っていなくても良い。換言すれば、データがコピーされる場合であっても、移動される場合であっても良い）、ＣＰＵ２１１は、データの記録開始を指令するコマンドと、記録させるデータの属性情報を、バス２１４、入出力インターフェース２１５、および、ＵＳＢインターフェース２１９を介して、テープストリーマドライブ１に供給し、そして、記憶部２１８に記憶されている選択されたデータを読み出して、入出力インターフェース２１５、および、ＵＳＢインターフェース２１９を介して、テープストリーマドライブ１に供給する。
【０１３８】
そして、ＵＳＢインターフェース２１９が、テープストリーマドライブ１から磁気テープ６２に記録されるデータを識別する識別情報である識別子を受信した場合、ＣＰＵ２１１は、受信した識別子を、記録されたデータ、または、そのデータの属性情報と対応付けて、記憶部２１８またはＲＡＭ２１３に保存する。
【０１３９】
また、ユーザが、テープストリーマドライブ１に装着されているテープカセット５１の磁気テープ６２に記憶されているデータを検索することを指令し、その検索条件を入力した場合、ＣＰＵ２１１は、記録されているデータの検索を指令するコマンドと、検索条件または検索条件式を、バス２１４、入出力インターフェース２１５、および、ＵＳＢインターフェース２１９を介して、テープストリーマドライブ１に供給する。
【０１４０】
そして、ＵＳＢインターフェース２１９が、テープストリーマドライブ１から問い合わせ結果情報を受信した場合、ＣＰＵ２１１は、入出力インターフェース２１５、および、バス２１４を介して、供給された問い合わせ結果情報を取得し、ユーザに問い合わせ結果を通知するための表示画面データを生成し、バス２１４、および、入出力インターフェース２１５を介して、出力部２１７に供給し、ディスプレイに表示させる。
【０１４１】
また、ユーザが、テープストリーマドライブ１に装着されているテープカセット５１の磁気テープ６２に記憶されているデータのうちのいずれかを指定して、そのデータの読み出しを指令した場合、ＣＰＵ２１１は、指定されたデータの読み出しを指令するコマンドを、バス２１４、入出力インターフェース２１５、および、ＵＳＢインターフェース２１９を介して、テープストリーマドライブ１に供給する。
【０１４２】
そして、ＵＳＢインターフェース２１９が、テープストリーマドライブ１から指定されたデータを受信した場合、ＣＰＵ２１１は、受信されたデータを、記録部２１８に供給させて、記憶させ、必要に応じて、出力部２１７に供給し、表示画像データをディスプレイに表示させたり、音声をスピーカから出力させる。
【０１４３】
また、ユーザが、テープストリーマドライブ１に装着されているテープカセット５１の磁気テープ６２に記憶されている所望のデータにアクセスするために必要な時間や、所望のデータを取得するために必要な時間などを問い合わせることを指令した場合、ＣＰＵ２１１は、問い合わせコマンドと、問い合わせに対する回答を算出するために必要な情報を、バス２１４、入出力インターフェース２１５、および、ＵＳＢインターフェース２１９を介して、テープストリーマドライブ１に供給する。
【０１４４】
そして、ＵＳＢインターフェース２１９が、テープストリーマドライブ１から問い合わせ結果情報を受信した場合、ＣＰＵ２１１は、入出力インターフェース２１５、および、バス２１４を介して、供給された問い合わせ結果情報を取得し、ユーザに問い合わせ結果を通知するための表示画面データを生成し、バス２１４、および、入出力インターフェース２１５を介して、出力部２１７に供給し、ディスプレイに表示させる。
【０１４５】
次に、図６のフローチャートを参照して、データ記憶時のホストコンピュータ２０１の処理について説明する。
【０１４６】
ステップＳ１において、ＣＰＵ２１１は、入出力インターフェース２１５およびバス２１４を介して入力部２１６から供給される、ユーザの操作入力を示す信号を基に、データの記録開始の指令を受けたか否かを判断する。ステップＳ１において、データの記録開始の指令を受けていないと判断された場合、データの記録開始の指令を受けたと判断されるまで、ステップＳ１の処理が繰り返される。
【０１４７】
ステップＳ１において、データの記録開始の指令を受けたと判断された場合、ステップＳ２において、ＣＰＵ２１１は、テープストリーマドライブ１に対してデータの記録開始を指令するコマンドを、バス２１４および入出力インターフェース２１５を介してＵＳＢインターフェース２１９に供給する。ＵＳＢインターフェース２１９は、データの記録開始を指令するコマンドを、テープストリーマドライブ１に送信する。
【０１４８】
ステップＳ３において、ＣＰＵ２１１は、ステップＳ１においてユーザにより記録開始が指令されたデータを基に、必要に応じて、記録させる１記録単位のデータ、例えば、ホストコンピュータ２０１において、１ファイルとして扱われているデータに付随している属性情報を、記憶部２１８から読み出し、入出力インターフェース２１５を介してＵＳＢインターフェース２１９に供給する。ＵＳＢインターフェース２１９は、記録させる１記録単位のデータの属性情報を、テープストリーマドライブ１に送信する。
【０１４９】
ここで、ステップＳ３において、記録させる１記録単位のデータの属性情報のうちテープストリーマドライブ１に送信することが可能な属性情報があるか否かは、例えば、記録させる１記録単位のデータのフォーマットや、属性情報がデータに対してどのように対応付けられているかによって異なる。具体的には、属性情報がデータに多重化されていたり、ヘッダとしてデータ内に記述されているのみである場合、ステップＳ３において、属性情報をテープストリーマドライブ１に送信することは容易ではない。しかしながら、このような場合でも、ＣＰＵ２１１の処理により、予め、属性情報がデータから抽出されて、例えば、属性情報ファイルなどの形で保存されているようになされていれば、ステップＳ３において、属性情報をテープストリーマドライブ１に送信することは容易である。
【０１５０】
特に、ステップＳ３において、記録させる１記録単位のデータの属性情報として、例えば、データサイズやデータの種別を示す情報など、後述するテープストリーマドライブ１の処理において、キャッシュメモリ２９の割り当てを決定するために用いられる情報をテープストリーマドライブ１に送信することができると、テープストリーマドライブ１において実行されるデータ記録において好適である。
【０１５１】
ステップＳ４において、ＵＳＢインターフェース２１９は、記録させる１記録単位のデータに対応付けられた識別子を受信する。この識別子は、図７を用いて後述する、データ記録時のテープストリーマドライブ１の処理のステップＳ３３において、テープストリーマドライブ１から送信されるものである。ＣＰＵ２１１は、受信された識別子を記憶部２１８、または、ＲＡＭ２１３に供給させて記憶させる。記憶部２１８、または、ＲＡＭ２１３は、供給された識別子を記憶する。
【０１５２】
ステップＳ５において、ＣＰＵ２１１は、記録させる１記録単位のデータを、記憶部２１８から読み出し、ＵＳＢインターフェース２１９を介して、テープストリーマドライブ１に送信する。
【０１５３】
ステップＳ６において、ＣＰＵ２１１は、１記録単位のデータの送信が終了したか否かを判断する。ステップＳ６において、１記録単位のデータの送信が終了していないと判断された場合、処理は、ステップＳ５に戻り、それ以降の処理が繰り返される。ステップＳ６において、１記録単位のデータの送信が終了したと判断された場合、処理は、終了される。
【０１５４】
このような処理により、ホストコンピュータ２０１は、テープストリーマドライブ１を用いて、テープカセット５１の磁気テープ６２に記録させる１記録単位のデータ、例えば、ホストコンピュータ２０１において、１ファイルとして扱われているデータの記録をテープストリーマドライブ１に指令し、必要に応じて対応する属性情報を送信して、記録される１記録単位のデータの識別子をテープストリーマドライブ１から受信して記憶するとともに、記録される１記録単位のデータを、テープストリーマドライブ１に送信する。
【０１５５】
次に、図７および図８のフローチャートを参照して、図６を用いて説明した処理と並行して実行される、データ記憶時のテープストリーマドライブ１の処理について説明する。
【０１５６】
なお、ここでは、テープストリーマドライブ１が実現可能な機能について説明した図２の機能ブロックを基に、処理を説明する。すなわち、これらの処理は、図１を用いて説明したテープストリーマドライブ１内のハードウェアによって実現される機能や、システムコントローラ２２において実行されるソフトウェアプログラムによって実現される機能によって実行される処理であり、例えば、コマンド取得部１０１がコマンドを取得する処理は、システムコントローラ２２がＵＳＢインターフェース２１を介して、コマンドを取得することと同義である。以下、このような機能ブロックとハードウェアブロックとの対応の記載は上述した図１および図２の説明から自明であるので、適宜省略する。
【０１５７】
ステップＳ３１において、コマンド取得部１０１は、ホストコンピュータ２０１から、データの記録開始を指令するコマンド、すなわち、図６のステップＳ２の処理によりホストコンピュータ２０１が送信したデータの記録開始を指令するコマンドを受信したか否かを判断する。ステップＳ３１において、データの記録開始を指令するコマンドを受信していないと判断された場合、受信したと判断されるまで、ステップＳ３１の処理が繰り返される。
【０１５８】
ステップＳ３１において、データの記録開始を指令するコマンドを受信したと判断された場合、ステップＳ３２において、コマンド取得部１０１は、データの記録開始を指令するコマンドの供給を受けたことを、識別子生成部１０３に通知するので、識別子生成部１０３は、記録させる１記録単位のデータに対応付ける識別子を生成する。
【０１５９】
ステップＳ３３において、識別子生成部１０３は、生成された識別子を、ホストコンピュータ２０１に送信するとともに、記録再生制御部１０２に供給する。記録再生制御部１０２は、供給された識別子を属性情報生成部１２２に供給する。
【０１６０】
ステップＳ３４において、コマンド取得部１０１は、ホストコンピュータ２０１から、記録させる１記録単位のデータの属性情報を受信したか否かを判断する。
【０１６１】
ステップＳ３４において、ホストコンピュータ２０１から、記録させる１記録単位のデータの属性情報を受信したと判断された場合、ステップＳ３５において、コマンド取得部１０１は、属性情報を、属性情報取得部１２１に供給し、属性情報取得部１２１は、属性情報を、属性情報生成部１２２およびテーブル記憶制御部１２３に供給する。テーブル記憶制御部１２３は、属性情報生成部１２２から識別子の供給を受け、例えば、図９に示されるような属性情報テーブルに、生成された識別子に対応する新たなレコードを構成し、記録される１記録単位のデータの属性情報を登録する。具体的には、システムコントローラ２２の制御に基づいて、テープカセット５１のＭＩＣ６３から読み出され、キャッシュメモリ３７に一時記憶されている属性情報テーブルに、新たに記録される１記録単位のデータの属性情報が追加される。キャッシュメモリ３７に一時記憶されている属性情報テーブルの情報は、例えば、テープカセット５１がテープストリーマドライブ１から排出されることが指令された場合、ＭＩＣ６３に書き込まれるようになされている。
【０１６２】
図９に示される属性情報テーブルには、１記録単位のデータ（ファイル）を区別可能な識別子毎に、例えば、ファイル名やタイトル、ファイルの作成日時や更新日時、データサイズ、ファイルのデータの種類を示すデータ種別（例えば、動画データ、静止画データ、テキストデータ、音声データ、映像データなどの種類）、データの圧縮率などのほか、データ内容を説明する情報（例えば、テレビジョン放送番組などのコンテンツであれば、放送日時、放送局名、番組名、出演者名など、いわゆる、メタデータに含まれる情報）、データの作成者または版権を有するものの名称、データ作成に用いられたアプリケーション名、動画データや映像データの再生時間、動画データのフレームレート、ビットレート、サンプリングレート、または、コーディックタイプなどに関する情報、データの再生モードに関する情報、エラーレートなどの信頼性情報、再生時に必要な平均転送レート、アクセス頻度、または、ユーザがファイル（１記録単位のデータ）に対して付加した情報などが、ホストコンピュータ２１０から供給された属性情報として登録されるほか、更に、データの記録が終了した後に生成されるものとしては、データ記録位置を示す情報であるグループ番号やグループ先頭からのオフセットなどが、属性情報として登録される。
【０１６３】
ステップＳ３４において、ホストコンピュータ２０１から、記録させる１記録単位のデータの属性情報を受信していないと判断された場合、または、ステップＳ３５の処理の終了後、ステップＳ３６において、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１は、供給されるデータをキャッシュするキャッシュメモリ２９の割り当てを決定する。
【０１６４】
具体的には、キャッシュメモリ割り当て処理部１１１は、ステップＳ３４においてデータの属性情報を受信したと判断された場合は、その属性情報を基に、キャッシュメモリ２９の割り当てを決定する。具体的には、キャッシュメモリ割り当て処理部１１１は、データ容量によってキャッシュ先を変更するようにした場合には、例えば、小さなサイズのデータを同一のキャッシュメモリ２９にまとめてキャッシュするなどして、供給されるデータの容量によって、データをキャッシュするキャッシュメモリ２９を決定することにより、磁気テープ６２において、小さなデータサイズのデータが、グループにまとまって記録されるようにすることができ、データの種類によってキャッシュ先を変更するようにした場合には、例えば、動画、静止画、テキストなどのデータの種類によって、データをキャッシュするキャッシュメモリ２９を決定することにより、磁気テープ６２において、同じ種類のデータが、グループにまとまって記録されるようにすることができる。また、キャッシュメモリ割り当て処理部１１１は、ステップＳ３４においてデータの属性情報を受信していないと判断された場合は、現在のキャッシュメモリ２９のデータのキャッシュ状態を基に、供給されたデータを割り当てるキャッシュメモリ２９を決定する。
【０１６５】
ステップＳ３７において、記録再生制御部１０２は、ホストコンピュータ２０１からの、１記録単位のデータの受信を開始する。具体的には、ＵＳＢインターフェース２１は、ホストコンピュータ２０１から、記録されるデータの供給を受けて、圧縮／伸長処理部２７に供給する。圧縮／伸長処理部２７は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、供給されたデータを、所定の方式で圧縮し、キャッシュメモリコントローラ２８に供給する。
【０１６６】
ステップＳ３８において、記録再生制御部１０２は、割り当てにしたがって、キャッシュメモリ２９のうちのいずれかにデータをキャッシュする。具体的には、キャッシュメモリコントローラ２８は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１の制御）に基づいて、供給された圧縮データを、ステップＳ３６の処理により決められた割り当てに基づいて、キャッシュメモリ２９−１乃至２９−ｎのうちのいずれかに供給して保存させる。
【０１６７】
ステップＳ３９において、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１は、いずれかのキャッシュメモリ２９の容量がいっぱいになったか否かを判断する。ステップＳ３９において、いずれのキャッシュメモリ２９も容量がいっぱいになっていないと判断された場合、処理は、後述するステップＳ４３に進む。
【０１６８】
ステップＳ３９において、いずれかのキャッシュメモリ２９の容量がいっぱいになったと判断された場合、ステップＳ４０において、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１は、受信したデータの保存先のキャッシュメモリ２９を変更する。
【０１６９】
ステップＳ４１において、記録再生制御部１０２および駆動制御部１０５は、容量がいっぱいになったキャッシュメモリ２９にキャッシュされているデータを、キャッシュメモリ２９から読み出して、磁気テープ６２へ記録させる。具体的には、キャッシュメモリコントローラ２８は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、容量が一杯となったキャッシュメモリ２９に記録されているデータを読み出して、ＥＣＣ処理部３０に供給する。ＥＣＣ処理部３０は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、供給されたデータの１ブロックごとに、例えば、パリティビットなど、エラーチェックのためのコードを付加し、変調／復調およびＲＦ処理部３１に供給する。変調／復調およびＲＦ処理部３１は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、供給されたデータを変調してＲＦ信号に変換し、ＲＦ信号に対して、増幅やイコライジング処理を施して、記録ヘッド４１−１および４１−２に供給する。また、サーボコントローラ３２は、システムコントローラ２２の制御（換言すれば、駆動制御部１０５の制御）に基づいて、ＥＥＰ−ＲＯＭ３３に記録されている情報を参照し、メカドライバ３４を制御して、ドラムモータ３５−１、キャプスタンモータ３５−２、リールモータ３５−３および３５−４、並びに、ローディングモータ３５−５のそれぞれを回転駆動させる。記録ヘッド４１−１および４１−２は、ヘリカルスキャン方式で、供給されたデータを、テープカセット５１の磁気テープ６２に記録する。データは、１記録単位のデータの容量（ホストコンピュータ２０１において、例えば、ファイルとして扱われているデータのデータサイズ）にかかわらず、図３および図４を用いて説明したように、キャッシュメモリ２９の記憶容量によって決まるデータ容量のグループ単位で、テープカセット５１の磁気テープ６２に記録される。
【０１７０】
ステップＳ４２において、記録再生制御部１０２は、磁気テープ６２へのデータの記録位置の情報を属性情報生成部１２２に供給する。属性情報生成部１２２は、データの記録位置の情報を、一時保持する。
【０１７１】
ステップＳ３９において、いずれのキャッシュメモリ２９も容量がいっぱいになっていないと判断された場合、または、ステップＳ４２の処理の終了後、ステップＳ４３において、記録再生制御部１０２は、１記録単位のデータの受信およびキャッシュが終了したか否かを判断する。ステップＳ４３において、１記録単位のデータの受信およびキャッシュが終了していないと判断された場合、処理は、ステップＳ３９に戻り、それ以降の処理が繰り返される。
【０１７２】
ステップＳ４３において、１記録単位のデータの受信およびキャッシュが終了したと判断された場合、ステップＳ４４において、記録再生制御部１０２は、１記録単位のデータの受信およびキャッシュが終了したことを、属性情報生成部１２２に通知する。属性情報生成部１２２は、１記録単位のデータに含まれていたか、または、記録終了により発生した属性情報があるか否かを判断する。記録終了により発生する属性情報には、例えば、データ記録位置を示すグループ番号やグループ先頭からのバイトオフセットなどがある。
【０１７３】
ステップＳ４４において、１記録単位のデータに含まれていたか、または、記録終了により発生した属性情報があると判断された場合、ステップＳ４５において、属性情報生成部１２２は、１記録単位のデータに含まれていたか、または、記録終了により発生した属性情報を、テーブル記憶制御部１２３に供給し、テープル記憶制御部１２３は、１記録単位のデータに含まれていたか、または、記録終了により発生した属性情報を、属性情報テーブルのうち、受信およびキャッシュが終了した１記録単位のデータに対応付けて生成された識別子に対応するレコードに登録する。具体的には、システムコントローラ２２の制御に基づいて、テープカセット５１のＭＩＣ６３から読み出され、キャッシュメモリ３７に一時記憶されている属性情報テーブルに、新たに記録された１記録単位のデータの属性情報が追加される。キャッシュメモリ３７に一時記憶されている属性情報テーブルの情報は、例えば、テープカセット５１がテープストリーマドライブ１から排出されることが指令された場合、ＭＩＣ６３に書き込まれるようになされている。
【０１７４】
ステップＳ４４において、１記録単位のデータに含まれていたか、または、記録終了により発生した属性情報がないと判断された場合、または、ステップＳ４５の処理の終了後、処理が終了される。
【０１７５】
このような処理により、ホストコンピュータ２０１からテープストリーマドライブ１に供給された１記録単位のデータが、キャッシュメモリ２９に一時キャッシュされ、図３および図４を用いて説明したように、キャッシュメモリ２９の記憶容量によって決まるデータ容量のグループ単位で、テープカセット５１の磁気テープ６２に記録されるとともに、１記録単位のデータに対応する属性情報が、属性情報テーブルに登録される。
【０１７６】
次に、図１０のフローチャートを参照して、データ読み出し時のホストコンピュータ２０１の処理について説明する。図１０を用いて説明する処理には、データ読み出しのための検索を行う場合の処理も含まれる。
【０１７７】
ステップＳ７１において、ＣＰＵ２１１は、入出力インターフェース２１５およびバス２１４を介して入力部２１６から供給される、ユーザの操作入力を示す信号を基に、検索条件（または、検索条件式であっても良い。以下、同様）と、その条件に合致したデータの属性情報の問い合わせが指令されたか否かを判断する。ステップＳ７１において、検索条件が入力され、その条件に合致したデータの属性情報の問い合わせが指令されなかったと判断された場合、処理は、後述するステップＳ７３に進む。
【０１７８】
ステップＳ７１において、検索条件が入力され、その条件に合致したデータの属性情報の問い合わせが指令されたと判断された場合、ステップＳ７２において、ＣＰＵ２１１は、テープストリーマドライブ１に対して検索条件に合致した属性情報の問い合わせる問い合わせコマンドを、バス２１４および入出力インターフェース２１５を介してＵＳＢインターフェース２１９に供給する。ＵＳＢインターフェース２１９は、検索条件に合致した属性情報の問い合わせコマンドを、テープストリーマドライブ１に送信し、処理は、後述するステップＳ７９に進む。
【０１７９】
ステップＳ７１において、検索条件が入力され、その条件に合致したデータの属性情報の問い合わせが指令されなかったと判断された場合、ステップＳ７３において、ＣＰＵ２１１は、入出力インターフェース２１５およびバス２１４を介して入力部２１６から供給される、ユーザの操作入力を示す信号を基に、検索条件が入力され、その条件に合致したデータの統計情報の問い合わせが指令されたか否かを判断する。統計情報とは、例えば、検索条件に合致するデータ数、検索条件に合致するデータの合計のデータ容量、所望データへのアクセス時間、または、所望データをホストコンピュータに転送する場合にかかる時間などである。ステップＳ７３において、検索条件が入力され、その条件に合致したデータの統計情報の問い合わせが指令されていないと判断された場合、処理は、後述するステップＳ７５に進む。
【０１８０】
ステップＳ７３において、検索条件が入力され、その条件に合致したデータの統計情報の問い合わせが指令されたと判断された場合、ステップＳ７４において、ＣＰＵ２１１は、テープストリーマドライブ１に対して検索条件に合致した統計情報を問い合わせる問い合わせコマンドを、バス２１４および入出力インターフェース２１５を介してＵＳＢインターフェース２１９に供給する。ＵＳＢインターフェース２１９は、検索条件に合致した統計情報の問い合わせコマンドを、テープストリーマドライブ１に送信し、処理は、後述するステップＳ７９に進む。
【０１８１】
ステップＳ７３において、検索条件が入力され、その条件に合致したデータの統計情報の問い合わせが指令されていないと判断された場合、ステップＳ７５において、ＣＰＵ２１１は、入出力インターフェース２１５およびバス２１４を介して入力部２１６から供給される、ユーザの操作入力を示す信号を基に、検索条件が入力され、その条件に合致したデータの属性情報および統計情報の問い合わせが指令されたか否かを判断する。ステップＳ７５において、検索条件が入力され、その条件に合致したデータの属性情報および統計情報の問い合わせが指令されていないと判断された場合、処理は、後述するステップＳ７７に進む。
【０１８２】
ステップＳ７５において、検索条件が入力され、その条件に合致したデータの属性情報および統計情報の問い合わせが指令されたと判断された場合、ステップＳ７６において、ＣＰＵ２１１は、テープストリーマドライブ１に対して検索条件に合致した属性情報および統計情報を問い合わせる問い合わせコマンドを、バス２１４および入出力インターフェース２１５を介してＵＳＢインターフェース２１９に供給する。ＵＳＢインターフェース２１９は、検索条件に合致した属性情報および統計情報の問い合わせコマンドを、テープストリーマドライブ１に送信し、処理は、後述するステップＳ７９に進む。
【０１８３】
ステップＳ７５において、検索条件が入力され、その条件に合致したデータの属性情報および統計情報の問い合わせが指令されていないと判断された場合、ステップＳ７７において、ＣＰＵ２１１は、入出力インターフェース２１５およびバス２１４を介して入力部２１６から供給される、ユーザの操作入力を示す信号を基に、検索条件が入力され、その条件に合致したデータの送信が指令されたか否かを判断する。ステップＳ７７において、検索条件が入力され、その条件に合致したデータの送信が指令されていないと判断された場合、処理は、ステップＳ７１に戻り、それ以降の処理が繰り返される。
【０１８４】
ステップＳ７７において、検索条件が入力され、その条件に合致したデータの送信が指令されたと判断された場合、ステップＳ７８において、ＣＰＵ２１１は、テープストリーマドライブ１に対して検索条件に合致したデータの送信を要求するコマンドを、バス２１４および入出力インターフェース２１５を介してＵＳＢインターフェース２１９に供給する。ＵＳＢインターフェース２１９は、検索条件に合致したデータの送信要求コマンドを、テープストリーマドライブ１に送信し、処理は、後述するステップＳ８３に進む。
【０１８５】
ステップＳ７２、ステップＳ７４、または、ステップＳ７６の処理の終了後、ステップＳ７９において、ＵＳＢインターフェース２１９は、コマンドの返信として、テープストリーマドライブ１が、図１１を用いて後述するステップＳ１２０の処理において送信する、問い合わせ結果情報が受信されたか否かを判断する。ステップＳ７９において、問い合わせ結果情報が受信されていないと判断された場合、問い合わせ結果情報が受信されたと判断されるまで、ステップＳ７９の処理が繰り返される。
【０１８６】
ステップＳ７９において、問い合わせ結果情報が受信されたと判断された場合、ステップＳ８０において、ＵＳＢインターフェース２１９は、問い合わせ結果情報を、入出力インターフェース２１５およびバス２１４を介して、ＣＰＵ２１１に供給するので、ＣＰＵ２１１は、問い合わせ結果情報を基に、問い合わせに対する返信内容を出力部２１７のディスプレイに表示させるための表示画像データを生成したり、出力部２１７のスピーカから出力させるための音声データを生成し、バス２１４および入出力インターフェース２１５を介して、出力部２１７に供給し、問い合わせに対する返信内容を表示または音声出力させることなどにより、ユーザに通知する。
【０１８７】
ステップＳ８１において、ＣＰＵ２１１は、入出力インターフェース２１５およびバス２１４を介して入力部２１６から供給される、ユーザの操作入力を示す信号を基に、ユーザから、いずれかのデータの読み出しが指令されたか否かを判断する。ステップＳ８１において、いずれかのデータの読み出しが指令されていないと判断された場合、処理が終了される。
【０１８８】
ステップＳ８１において、いずれかのデータの読み出しが指令されたと判断された場合、ステップＳ８２において、ＣＰＵ２１１は、テープストリーマドライブ１に対して選択されたデータの送信を要求するコマンドを、バス２１４および入出力インターフェース２１５を介してＵＳＢインターフェース２１９に供給する。ＵＳＢインターフェース２１９は、選択されたデータの送信要求コマンドを、テープストリーマドライブ１に送信する。
【０１８９】
ステップＳ７８またはステップＳ８２の処理の終了後、ステップＳ８３において、ＵＳＢインターフェース２１９は、コマンドの返信として、テープストリーマドライブ１から送信される読み出されたデータの受信が終了したか否かを判断する。ステップＳ８３において、データの受信が終了していないと判断された場合、データの受信が終了したと判断されるまで、ステップＳ８３の処理が繰り返される。
【０１９０】
ステップＳ８３において、データの受信が終了したと判断された場合、ステップＳ８４において、ＵＳＢインターフェース２１９は、受信したデータを記憶部２１８に供給して記憶させるとともに、データの受信が終了したことを、入出力インターフェース２１５およびバス２１４を介して、ＣＰＵ２１１に供給するので、ＣＰＵ２１１は、データの受信の終了をユーザに通知するためのメッセージや画像などを出力部２１７のディスプレイに表示させるための表示画像データを生成したり、音声メッセージを出力部２１７のスピーカから出力させるための音声データを生成し、バス２１４および入出力インターフェース２１５を介して、出力部２１７に供給し、データの受信の終了をユーザに通知する。
【０１９１】
このような処理により、ホストコンピュータ２０１は、テープストリーマドライブ１に装着されているテープカセット５１の磁気テープ６２に記録されているデータに関する問い合わせをテープストリーマドライブ１に送信し、問い合わせ結果を表示または音声出力によってユーザに通知したり、検索条件に合致した、または、ユーザにより選択されたデータの読み出しをテープストリーマドライブ１に要求し、テープストリーマドライブ１から、検索条件に合致した、または、ユーザにより選択されたデータの供給を受けることが可能となる。
【０１９２】
次に、図１１および図１２のフローチャートを参照して、図１０を用いて説明したデータ読み出し時のホストコンピュータ２０１の処理と並行して実行される、データ読み出し時のテープストリーマドライブ１の処理について説明する。
【０１９３】
ステップＳ１１１において、コマンド取得部１０１は、ホストコンピュータ２０１から、検索条件に合致したデータの属性情報の問い合わせコマンド、すなわち、図１０のステップＳ７２の処理によりホストコンピュータ２０１が送信した問い合わせコマンドを受信したか否かを判断する。ステップＳ１１１において、検索条件に合致したデータの属性情報の問い合わせコマンドを受信していないと判断された場合、処理は、後述するステップＳ１１４に進む。
【０１９４】
ステップＳ１１１において、検索条件に合致したデータの属性情報の問い合わせコマンドを受信したと判断された場合、ステップＳ１１２において、コマンド取得部１０１は、テーブル処理部１０４の検索処理部１２４に、検索条件を供給するので、検索処理部１２４は、テーブル読み出し制御部１２５を制御して、属性情報テーブル（テープカセット５１のＭＩＣ６３から読み出されて、キャッシュメモリ３７に保存されている）を読み出させ、検索条件を基に、検索処理を実行する。
【０１９５】
ステップＳ１１３において、検索処理部１２４は、検索結果、すなわち、条件に合致するレコードを、問い合わせ結果情報生成処理部１２６に供給するので、問い合わせ結果情報生成処理部１２６は、検索処理部１２４から供給された、検索条件または検索条件式に合致したレコードを基に、検索条件に合致した属性情報の問い合わせ結果情報を生成し、問い合わせ結果情報供給制御部１２７に供給し、処理は、後述するステップＳ１２０に進む。問い合わせ結果を示す情報は、検索結果が複数レコードである場合、テーブル形式であっても、複数のレコード情報の集合であっても良いし、検索結果のうちの、例えば、ファイル名、データ容量など、問い合わせの内容に合致した属性情報のみから構成されるものであっても良い。
【０１９６】
問い合わせ結果を示す情報がテーブル形式である場合の具体例を、図１３に示す。例えば、図１３（Ａ）は、ユーザが検索条件として示したテキストを含むファイル名を有するデータの検索結果を示す検索結果テーブルの例である。また、図１３（Ｂ）は、ユーザが検索条件として、作成年月日の範囲とデータサイズの範囲を指定した場合のデータの検索結果を示す検索結果テーブルの例である。そして、図１３（Ｃ）は、ユーザが検索条件として示したテキストを含むファイル名を有し、かつ、作成年月日の範囲を指定した場合のデータの検索結果を示す検索結果テーブルの例である。
【０１９７】
ステップＳ１１１において、検索条件に合致したデータの属性情報の問い合わせコマンドを受信していないと判断された場合、ステップＳ１１４において、コマンド取得部１０１は、ホストコンピュータ２０１から、検索条件に合致したデータの統計情報の問い合わせコマンド、すなわち、図１０のステップＳ７４の処理によりホストコンピュータ２０１が送信した問い合わせコマンドを受信したか否かを判断する。ステップＳ１１４において、検索条件に合致したデータの統計情報の問い合わせコマンドを受信していないと判断された場合、処理は、後述するステップＳ１１７に進む。
【０１９８】
ステップＳ１１４において、検索条件に合致したデータの統計情報の問い合わせコマンドを受信したと判断された場合、ステップＳ１１５において、コマンド取得部１０１は、テーブル処理部１０４の検索処理部１２４に、検索条件を供給するので、検索処理部１２４は、テーブル読み出し制御部１２５を制御して、属性情報テーブル（テープカセット５１のＭＩＣ６３から読み出されて、キャッシュメモリ３７に保存されている）を読み出させ、属性情報テーブルを参照して、検索条件を基に、検索処理を実行する。
【０１９９】
ステップＳ１１６において、検索処理部１２４は、検索結果を問い合わせ結果情報生成処理部１２６に供給するので、問い合わせ結果情報生成処理部１２６は、検索処理部１２４から供給された、検索条件または検索条件式に合致したレコードを基に、検索条件に合致したデータの統計情報を算出して、問い合わせ結果情報を生成し、問い合わせ結果情報供給制御部１２７に供給し、処理は、後述するステップＳ１２０に進む。統計情報とは、例えば、検索条件に合致するデータ数、検索条件に合致するデータの合計のデータ容量、所望データへのアクセス時間、または、所望データをホストコンピュータに転送する場合にかかる時間などである。
【０２００】
ステップＳ１１４において、検索条件に合致したデータの統計情報の問い合わせコマンドを受信していないと判断された場合、ステップＳ１１７において、コマンド取得部１０１は、ホストコンピュータ２０１から、検索条件に合致したデータの属性情報および統計情報の問い合わせコマンド、すなわち、図１０のステップＳ７６の処理によりホストコンピュータ２０１が送信した問い合わせコマンドを受信したか否かを判断する。ステップＳ１１７において、検索条件に合致したデータの属性情報および統計情報の問い合わせコマンドを受信していないと判断された場合、処理は、後述するステップＳ１２１に進む。
【０２０１】
ステップＳ１１７において、検索条件に合致したデータの属性情報および統計情報の問い合わせコマンドを受信したと判断された場合、ステップＳ１１８において、コマンド取得部１０１は、テーブル処理部１０４の検索処理部１２４に、検索条件を供給するので、検索処理部１２４は、テーブル読み出し制御部１２５を制御して、属性情報テーブル（テープカセット５１のＭＩＣ６３から読み出されて、キャッシュメモリ３７に保存されている）を読み出させ、属性情報テーブルを参照して、検索条件を基に、検索処理を実行する。
【０２０２】
ステップＳ１１９において、検索処理部１２４は、検索結果を問い合わせ結果情報生成処理部１２６に供給するので、問い合わせ結果情報生成処理部１２６は、検索処理部１２４から供給された、検索条件または検索条件式に合致したレコードを基に、検索条件に合致したデータの統計情報を算出して、検索条件に合致したデータの属性情報および算出された統計情報から、問い合わせ結果情報を生成し、問い合わせ結果情報供給制御部１２７に供給する。
【０２０３】
ステップＳ１１３、ステップＳ１１６、または、ステップＳ１１９の処理の終了後、ステップＳ１２０において、問い合わせ結果情報供給制御部１２７は、生成された問い合わせ結果情報を、ホストコンピュータ２０１に送信して、処理が終了される。
【０２０４】
ステップＳ１１７において、検索条件に合致したデータの属性情報および統計情報の問い合わせコマンドを受信していないと判断された場合、ステップＳ１２１において、コマンド取得部１０１は、ホストコンピュータ２０１から、検索条件に合致したデータの送信要求コマンド、すなわち、図１０のステップＳ７８の処理によりホストコンピュータ２０１が送信した問い合わせコマンドを受信したか否かを判断する。ステップＳ１２１において、検索条件に合致したデータの送信要求コマンドを受信していないと判断された場合、処理は、後述するステップＳ１２４に進む。
【０２０５】
ステップＳ１２１において、検索条件に合致したデータの送信要求コマンドを受信したと判断された場合、ステップＳ１２２において、コマンド取得部１０１は、テーブル処理部１０４の検索処理部１２４に、検索条件を供給するので、検索処理部１２４は、テーブル読み出し制御部１２５を制御して、属性情報テーブル（テープカセット５１のＭＩＣ６３から読み出されて、キャッシュメモリ３７に保存されている）を読み出させ、属性情報テーブルを参照して、検索条件を基に、検索処理を実行する。検索結果には、データの記録位置に関する属性情報が必ず含まれる。
【０２０６】
ステップＳ１２３において、検索処理部１２４は、検索結果を記録再生制御部１０２に供給するので、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１は、検索されたデータを読み出すときに一時保存するためのキャッシュメモリ２９を選択して、処理は、後述するステップＳ１２７に進む。
【０２０７】
ステップＳ１２１において、検索条件に合致したデータの送信要求コマンドを受信していないと判断された場合、ステップＳ１２４において、コマンド取得部１０１は、ホストコンピュータ２０１から、ユーザにより選択されたデータの送信要求コマンド、すなわち、図１０のステップＳ８２の処理によりホストコンピュータ２０１が送信したデータの送信要求コマンドを受信したか否かを判断する。ステップＳ１２４において、ユーザにより選択されたデータの送信要求コマンドを受信していないと判断された場合、処理は、ステップＳ１１１に戻り、それ以降の処理が繰り返される。
【０２０８】
ステップＳ１２４において、選択されたデータの送信要求コマンドを受信したと判断された場合、ステップＳ１２５において、コマンド取得部１０１は、選択されたデータを示す情報を検索処理部１２４に供給するので、検索処理部１２４は、テーブル読み出し制御部１２５を制御して、属性情報テーブル（テープカセット５１のＭＩＣ６３から読み出されて、キャッシュメモリ３７に保存されている）を読み出させ、属性情報テーブルを参照して、選択されたデータの記録位置を検索し、検索結果を記録再生制御部１０２に通知する。
【０２０９】
ステップＳ１２６において、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１は、選択されたデータを読み出すときに一時保存するためのキャッシュメモリ２９を選択する。
【０２１０】
ステップＳ１２３、または、ステップＳ１２６の処理の終了後、ステップＳ１２７において、記録再生制御部１０２および駆動制御部１０５は、供給された検索結果に含まれる磁気テープ６２上の記録位置に関する情報を基に、検索結果に合致したデータ、または、ユーザに選択されたデータを読み出させて、選択されたキャッシュメモリ２９を用いて、再生処理を実行し、再生されたデータをホストコンピュータ２０１に送信させて、処理が終了される。
【０２１１】
具体的には、サーボコントローラ３２は、システムコントローラ２２の制御（換言すれば、駆動制御部１０５の制御）に基づいて、ＥＥＰ−ＲＯＭ３３に記録されている情報を参照し、メカドライバ３４を制御して、ドラムモータ３５−１、キャプスタンモータ３５−２、リールモータ３５−３および３５−４、並びに、ローディングモータ３５−５のそれぞれを回転駆動させる。再生ヘッド４２−１乃至４２−３は、テープカセット５１の磁気テープ６２に記録されているデータを読み出して、圧縮／変調およびＲＦ処理部３１に供給する。そして、変調／復調およびＲＦ処理部３１は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、再生ヘッド４２−１乃至４２−３から供給されるＲＦ信号に対して、再生イコライジング処理を行い、復調して、ＥＣＣ処理部３０に供給する。ＥＣＣ処理部３０は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、変調／復調およびＲＦ処理部３１から供給された復調されたデータのエラー訂正符号を基に、データにエラーが発生している場合は、それを検出して訂正する処理を実行し、エラー訂正後のデータを、キャッシュメモリコントローラ２８に供給する。
【０２１２】
そして、キャッシュメモリコントローラ２８は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２のキャッシュメモリ割り当て処理部１１１の制御）に基づいて、圧縮／伸長処理部２７から供給された圧縮データをキャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎのうちのいずれかに供給してキャッシュさせるとともに、キャッシュメモリ２９−１乃至キャッシュメモリ２１−ｎのうちのいずれかにキャッシュされているデータを読み出して、圧縮／伸長処理部２７に供給する。圧縮／伸長処理部２７は、システムコントローラ２２の制御（換言すれば、記録再生制御部１０２の制御）に基づいて、キャッシュメモリコントローラ２８から供給される圧縮されたデータを伸張して、ＵＳＢインターフェース２１に供給する。ＵＳＢインターフェース２１は、圧縮／伸長処理部２７から供給された、磁気テープ６２から読み出され、各種処理がなされたデータを、ホストコンピュータ２０１に送信する。
【０２１３】
このような処理により、テープストリーマドライブ１は、ホストコンピュータ２０１から供給されるコマンドを基に、ＭＩＣ６３に記憶されている属性情報テーブルを参照して、検索処理を実行し、検索条件に合致したデータの属性情報や統計情報のいずれか、または、両方を、問い合わせ結果情報としてホストコンピュータ２０１に送信することができる。問い合わせ結果情報は、検索結果が複数レコードである場合、テーブル形式であっても、複数のレコード情報の集合であっても良いし、検索結果のうちの、例えば、ファイル名、データ容量、所望データへのアクセス時間、または、所望データをホストコンピュータに転送する場合にかかる時間など、問い合わせの内容に合致した属性情報のみから構成されるものであっても良い。
【０２１４】
また、テープストリーマドライブ１は、ホストコンピュータ２０１から供給されるコマンドを基に、検索結果に合致したデータ、または、ユーザに選択されたデータを読み出して、ホストコンピュータ２０１に送信する。
【０２１５】
次に、図１４のフローチャートを参照して、データ記録または読み出し以外のホストコンピュータ２０１の処理について説明する。
【０２１６】
ステップＳ１５１において、ＣＰＵ２１１は、入出力インターフェース２１５およびバス２１４を介して入力部２１６から供給される、ユーザの操作入力を示す信号を基に、例えば、テープカセット５１やテープストリーマドライブ１に関する情報の問い合わせや、検索にかかわらないデータの統計情報の問い合わせなど、データ記録または読み出し以外の問い合わせが指令されたか否かを判断する。テープカセット５１やテープストリーマドライブ１に関する情報には、例えば、装着されているテープカセット５１の製造メーカ名、ロード回数、製造年月日、バッドスポットの位置、テープの残容量などや、テープストリーマドライブ１の製造メーカ名、シリアル番号、製造年月日、現在の温度、装着されているテープカセット５１の磁気テープ６２の現在の巻き取り量などの情報がある。検索にかかわらないデータの統計情報の問い合わせには、例えば、装着されているテープカセット５１の磁気テープ６２に記録されている１記録単位のデータの数、記録されているデータの総データ容量、所定ファイルの読み出しにかかる推定時間などがある。
【０２１７】
ステップＳ１５１において、データ記録または読み出し以外の問い合わせが指令されたと判断された場合、ステップＳ１５２において、ＣＰＵ２１１は、データ記録または読み出し以外の問い合わせコマンドを、バス２１４および入出力インターフェース２１５を介してＵＳＢインターフェース２１９に供給する。ＵＳＢインターフェース２１９は、データ記録または読み出し以外の問い合わせコマンドを、テープストリーマドライブ１に送信する。
【０２１８】
ステップＳ１５１において、データ記録または読み出し以外の問い合わせが指令されていないと判断された場合、または、ステップＳ１５２の処理の終了後、処理は終了される。
【０２１９】
このような処理により、例えば、テープカセット５１やテープストリーマドライブ１に関する情報の問い合わせなど、データ記録または読み出し以外の問い合わせコマンドが、テープストリーマドライブ１に送信される。
【０２２０】
次に、図１５のフローチャートを参照して、図１４を用いて説明した処理と平行して実行される、データ記録または読み出し以外のテープストリーマドライブ１の処理について説明する。
【０２２１】
ステップＳ１８１において、コマンド取得部１０１は、ホストコンピュータ２０１から、データ記録または読み出し以外の問い合わせコマンド、すなわち、図１４のステップＳ１５２において送信された問い合わせコマンドを受信したか否かを判断する。ステップＳ１８１において、データ記録または読み出し以外の問い合わせコマンドを受信していないと判断された場合、受信したと判断されるまで、ステップＳ１８１の処理が繰り返される。
【０２２２】
ステップＳ１８１において、データ記録または読み出し以外の問い合わせコマンドを受信したと判断された場合、ステップＳ１８２において、コマンド取得部１０１は、取得したコマンドを、問い合わせ結果情報生成処理部１２６に供給するので、問い合わせ結果情報生成処理部１２６は、属性情報テーブルに登録された属性情報の読み出しにより、コマンドに対する問い合わせ情報を生成することが可能か否かを判断する。問い合わせの内容が、例えば、装着されているテープカセット５１の磁気テープ６２に記録されている１記録単位のデータの数や、記録されているデータの総データ容量などである場合、属性情報テーブルに登録された属性情報の読み出しにより、コマンドに対する問い合わせ情報を生成することが可能であると判断される。ステップＳ１８２において、属性情報テーブルに登録された属性情報の読み出しにより、コマンドに対する問い合わせ情報を生成することはできないと判断された場合、処理は、後述するステップＳ１８５に進む。
【０２２３】
ステップＳ１８２において、属性情報テーブルに登録された属性情報の読み出しにより、コマンドに対する問い合わせ情報を生成することが可能であると判断された場合、ステップＳ１８３において、問い合わせ結果情報生成処理部１２６は、テーブル読み出し制御部１２５を制御し、コマンドに基づいて、テーブルに登録された属性情報を読み出させる。
【０２２４】
ステップＳ１８４において、問い合わせ結果情報生成処理部１２６は、テーブル読み出し制御部１２５により読み出された属性情報を基に、問い合わせ結果情報を生成し、問い合わせ結果情報供給制御部１２７に供給して、処理は、後述するステップＳ１９０に進む。
【０２２５】
ステップＳ１８２において、属性情報テーブルに登録された属性情報の読み出しにより、コマンドに対する問い合わせ情報を生成することはできないと判断された場合、ステップＳ１８５において、問い合わせ結果情報生成処理部１２６は、テープカセット５１またはテープストリーマドライブ１に関する情報を、フラッシュＲＯＭ２４またはＭＩＣ６３から読み出すことにより、取得したコマンドに対する問い合わせ情報を生成することが可能か否かを判断する。問い合わせの内容が、例えば、テープカセット５１やテープストリーマドライブ１に関する情報である場合、テープカセット５１またはテープストリーマドライブ１に関する情報の読み出しにより、取得したコマンドに対する問い合わせ情報を生成することが可能であると判断される。例えば、問い合わせ内容が、所定のファイルの読み出しにかかる時間など、問い合わせ結果情報の生成に、属性情報テーブルに記載されている属性情報と、テープカセット５１またはテープストリーマドライブ１に関する情報との両者を必要とする場合など、ステップＳ１８５において、テープカセット５１またはテープストリーマドライブ１に関する情報の読み出しにより、取得したコマンドに対する問い合わせ情報を生成することはできないと判断された場合、処理は、後述するステップＳ１８８に進む。
【０２２６】
ステップＳ１８５において、テープカセット５１またはテープストリーマドライブ１に関する情報の読み出しにより、取得したコマンドに対する問い合わせ情報を生成することが可能であると判断された場合、ステップＳ１８６において、問い合わせ結果情報生成処理部１２６は、コマンドに基づいて、テープカセット５１またはテープストリーマドライブ１に関する情報を、フラッシュＲＯＭ２４またはＭＩＣ６３から読み出すか、または、読み出した情報を基に演算処理を実行する。
【０２２７】
ステップＳ１８７において、問い合わせ結果情報生成処理部１２６は、テープカセット５１またはテープストリーマドライブ１に関する情報、もしくは、演算結果を基に、問い合わせ結果情報を生成し、問い合わせ結果情報供給制御部１２７に供給して、処理は、後述するステップＳ１９０に進む。
【０２２８】
ステップＳ１８５において、テープカセット５１またはテープストリーマドライブ１に関する情報の読み出しにより、取得したコマンドに対する問い合わせ情報を生成することはできないと判断された場合、ステップＳ１８８において、問い合わせ結果情報生成処理部１２６は、コマンドに基づいて、テーブル読み出し制御部１２５を制御し、属性情報テーブルに登録された属性情報を読み出させるとともに、必要な、テープカセット５１またはテープストリーマドライブ１に関する情報を、フラッシュＲＯＭ２４またはＭＩＣ６３から読み出すか、または、読み出した情報を基に演算処理を実行する。
【０２２９】
ステップＳ１８９において、問い合わせ結果情報生成処理部１２６は、読み出された属性情報、テープカセット５１またはテープストリーマドライブ１に関する情報、もしくは、演算結果を基に、問い合わせ結果情報を生成し、問い合わせ結果情報供給制御部１２７に供給する。
【０２３０】
ステップＳ１８４、ステップＳ１８７、または、ステップＳ１８９の処理の終了後、ステップＳ１９０において、問い合わせ結果情報供給制御部１２７は、問い合わせ結果情報生成処理部１２６において生成された問い合わせ結果情報を、ホストコンピュータ２０１に送信し、処理が終了される。
【０２３１】
このような処理により、テープストリーマドライブ１においては、データ記録または読み出し以外の問い合わせコマンドに対して、属性情報テーブルに記載されている属性情報と、テープカセット５１またはテープストリーマドライブ１に関する情報との両者、または、いずれかの情報を基に、問い合わせ結果情報を生成し、ホストコンピュータ２０１に供給することが可能となる。
【０２３２】
したがって、本発明を適用することにより、磁気テープなど、シーケンシャルにデータが記録される記録媒体に記録されているデータを検索したり、それらのデータに関する情報を問い合わせる場合に、記録媒体に記録されているデータを先頭から走査する必要がなくなるため、検索処理または問い合わせに対する問い合わせ結果情報の生成処理が容易になり、また、処理にかかる時間を短縮することが可能となる。
【０２３３】
特に、本発明を適用することにより、テープストリーマドライブ１は、装着されたテープカセット５１の磁気テープ６２に記録されたデータに関する情報を、ＭＩＣ６３に、例えば、リレーショナルデータベースの形式の属性情報テーブルとして記載することができる。これにより、ホストコンピュータ２０１から、装着されたテープカセット５１の磁気テープ６２に記録されたデータに関して、ＳＱＬ構文などにより記述された問い合わせコマンドが送出された場合、テープストリーマドライブ１は、装着されたテープカセット５１の磁気テープ６２に記録されたデータのうち、条件に合致したデータに関する属性情報、統計情報、または、条件に合致したデータそのものを、容易に抽出または算出し、ホストコンピュータ２０１に送出することが可能となる。
【０２３４】
なお、本発明を適用したテープストリーマドライブ１において、キャッシュメモリ２１−１乃至キャッシュメモリ２９−ｎは、それぞれ、データの記録時とデータの再生時とのいずれの場合にも用いられる（記録用と再生用に分けられていない）。複数のキャッシュメモリ２９−１乃至キャッシュメモリ２９−ｎを備えることにより、本発明を適用したテープストリーマドライブ１は、記録されるデータに先行して供給された属性情報を基に、磁気テープ６２に記録される前にデータを一時保存するキャッシュメモリ２９を選択することができるので、例えば、磁気テープ６２において、小さなデータサイズのデータが、１つのグループにまとまって記録されるようにしたり、例えば、動画、静止画、テキストなどのデータの種類によって、同じ種類のデータが、同一のグループにまとまって記録されるようにすることが可能となる。
【０２３５】
また、本発明を適用したテープストリーマドライブ１においては、備えられているキャッシュメモリ２９の数にかかわらず、記録されるデータの属性情報を基に、属性情報テーブルを生成し、テープカセット５１のＭＩＣ６３に記録させ、データの再生時に、属性情報テーブルを参照して、データを検索したり、記録されたデータに関する統計情報などを算出することなどが可能である。
【０２３６】
なお、本発明は、磁気テープにデータを記録する場合のみならず、シーケンシャルにデータを記録する場合、たとえば、ＣＤ−Ｒなどにデータを記録する場合に適用可能であり、磁気テープにデータを記録する場合に用いるのと同様の効果を奏することが可能である。なお、ＣＤ−Ｒは、ＭＩＣを備えないので、属性情報テーブルは、ＣＤ−Ｒの記録領域のうちの一部に記録されるようにしても良い。
【０２３７】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２３８】
この記録媒体は、図１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク（ＭＤ(Mini-Disk)（商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア７１、または、図５に示すように、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２３１（フレキシブルディスクを含む）、光ディスク２３２（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク２３３（ＭＤ(Mini-Disk)（商標）を含む）、もしくは半導体メモリ２３４などよりなるパッケージメディアなどにより構成される。
【０２３９】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０２４０】
【図１】本発明を適用したテープストリーマドライブの構成を示すブロック図である。
【図２】図１のテープストリーマドライブが実現可能な機能について説明するための機能ブロック図である。
【図３】磁気テープに記録されるデータについて説明するための図である。
【図４】磁気テープに記録されるデータについて説明するための図である。
【図５】ホストコンピュータの構成について説明するための図である。
【図６】データ記録時のホストコンピュータの処理について説明するためのフローチャートである。
【図７】データ記録時のテープストリーマドライブの処理について説明するためのフローチャートである。
【図８】データ記録時のテープストリーマドライブの処理について説明するためのフローチャートである。
【図９】属性情報テーブルについて説明するための図である。
【図１０】データ読み出し時のホストコンピュータの処理について説明するためのフローチャートである。
【図１１】データ読み出し時のテープストリーマドライブの処理について説明するためのフローチャートである。
【図１２】データ読み出し時のテープストリーマドライブの処理について説明するためのフローチャートである。
【図１３】問い合わせ結果情報について説明するための図である。
【図１４】データ記録または読み出し以外のホストコンピュータの処理について説明するためのフローチャートである。
【図１５】データ記録または読み出し以外のテープストリーマドライブの処理について説明するためのフローチャートである。
【符号の説明】
【０２４１】
１  テープストリーマドライブ，  ２１  ＵＳＢインターフェース，  ２２  システムコントローラ，  ２７  圧縮／伸長処理部，  ２８  キャッシュメモリコントローラ，  ２９  キャッシュメモリ，  ３０  ＥＣＣ処理部，  ３１  変調／復調およびＲＦ処理部，  ３２  サーボコントローラ，  ３４  メカドライバ，  ３６  回転ドラム，  ３７  キャッシュメモリ，  ４１  記録ヘッド，  ４２  再生ヘッド，  ５１  テープカセット，  ６２  磁気テープ，  ６３  ＭＩＣ，  １０１  コマンド取得部，  １０２  記録再生制御部，  １０３  識別子生成部，  １０４  テーブル処理部，  １０５  駆動制御部，  １１１  キャッシュメモリ割り当て処理部，  １２１  属性情報取得部，  １２２  属性情報生成部，  １２３  テーブル記憶制御部，  １２４  検索処理部，  １２５  テーブル読み出し制御部，  １２６  問い合わせ結果情報生成処理部，  １２７  問い合わせ結果情報供給制御部，  ２０１  ホストコンピュータ，  ２１１  ＣＰＵ，  ２１６  入力部，  １２７  出力部，  ２１８  記憶部，  ２１９  ＵＳＢインターフェース
【図１】
2006190392.tif 000003
【図２】
2006190392.tif 000004
【図３】
2006190392.tif 000005
【図４】
2006190392.tif 000006
【図５】
2006190392.tif 000007
【図６】
2006190392.tif 000008
【図７】
2006190392.tif 000009
【図８】
2006190392.tif 000010
【図９】
2006190392.tif 000011
【図１０】
2006190392.tif 000012
【図１１】
2006190392.tif 000013
【図１２】
2006190392.tif 000014
【図１３】
2006190392.tif 000015
【図１４】
2006190392.tif 000016
【図１５】
2006190392.tif 000017