(57)【特許請求の範囲】
【請求項１】
磁気テープと不揮発性半導体メモリとが備えられているテープカートリッジにデータを保存するテープドライブ装置であって、
ホストから前記テープドライブ装置へ送られてくるデータの転送速度を速度閾値と比較する比較部と、
前記速度閾値に基づいて、テープカートリッジへの書き込み速度を決定する速度決定部と、
前記テープカートリッジに、前記ホストから前記テープドライブ装置へ送られてくるデータの書き込みを行うデータ書き込み部と、
を備え、
前記データ書き込み部は、
前記速度決定部により決定された書き込み速度が前記速度閾値よりも速いと判定された場合は、前記テープカートリッジに備えられている磁気テープに対して、前記ホストから前記テープドライブ装置へ送られてくるデータの書き込みを行い、その後書き込み速度が前記速度閾値よりも遅くなったと判定された場合には、前記テープカートリッジに備えられている不揮発性半導体メモリに対して、前記テープカートリッジに対して書き込みされるデータのうちの既に該磁気テープに書き込まれたデータに引き続いて送られてくる全ての後続データの書き込みを行い、
前記速度決定部により決定された書き込み速度が前記速度閾値よりも遅いと判定された場合は、該テープカートリッジに備えられている不揮発性半導体メモリに対して、前記ホストから前記テープドライブ装置へ送られてくる、前記テープカートリッジに対して書き込みされる全てのデータの書き込みを行う、
ことを特徴とするテープドライブ装置。
【請求項２】
前記比較部は、前記転送速度を、ホストから前記テープドライブ装置へ送られてくるデータのブロックサイズ、該データのデータ量、及び該データの連続性を表す指標のうちの少なくとも１つを用いて検出することを特徴とする請求項１に記載のテープドライブ装置。
【請求項３】
前記データ書き込み部が前記テープカートリッジにデータを書き込んだことを示す応答情報を、前記テープドライブ装置へのデータの送付元に送信する応答情報送信部と、
前記データ書き込み部が前記テープカートリッジの不揮発性半導体メモリに後続データの書き込みを行った場合に、前記応答情報送信部による応答情報の送信を遅延させる遅延部と、
を更に備えることを特徴とする請求項１又は２に記載のテープドライブ装置。
【請求項４】
前記不揮発性半導体メモリに書き込まれる後続データの前記データ上における位置を示す後続データ位置情報を記憶する後続データ位置情報記憶部を更に備えることを特徴とする請求項１から３のうちのいずれか一項に記載のテープドライブ装置。
【請求項５】
前記テープドライブ装置へのデータへのアクセスを受信するアクセス受信部と、
前記アクセス受信部が受信したアクセスが、前記テープカートリッジに備えられている磁気テープに書き込まれたデータに対するものであるか、該テープカートリッジに備えられている不揮発性半導体メモリに書き込まれた後続データに対するものであるかを、前記後続データ位置情報記憶部に記憶されている後続データ位置情報に基づいて判定するアクセス先判定部と、
前記アクセス受信部が受信したアクセスに対するデータを、前記アクセス先判定部での判定結果に基づいて選択される、前記磁気テープあるいは前記不揮発性半導体メモリのうちのどちらか一方から読み出して前記アクセスを行ったアクセス元へ出力するデータ読み出し部と、
を更に備えることを特徴とする請求項４に記載のテープドライブ装置。
【請求項６】
前記データ読み出し部は、前記アクセス受信部が受信したアクセスに対するデータを前記不揮発性半導体メモリから読み出した場合には、該読み出されたデータを遅延させて前記アクセス元へ出力することを特徴とする請求項５に記載のテープドライブ装置。
【請求項７】
前記テープカートリッジには、該テープカートリッジ自身でのデータの保存内容に関する管理情報を記憶しておく管理情報記憶部が更に備えられており、
前記テープドライブ装置は、前記テープカートリッジに備えられている前記管理情報記憶部に管理情報を記憶させる管理情報記憶制御部を更に備えており、
前記データ書き込み部が前記テープカートリッジに備えられている不揮発性半導体メモリに後続データの書き込みを行う場合には、前記管理情報記憶制御部は、書込まれる後続データの後続データ位置情報を該テープカートリッジに備えられている管理情報記憶部に記憶させる、
ことを特徴とする請求項４から６のうちのいずれか一項に記載のテープドライブ装置。
【請求項８】
前記管理情報記憶制御部は、前記テープカートリッジに備えられている不揮発性半導体メモリに前記データ書き込み部が書き込んだデータの特徴量に基づいて推定される、該データの該不揮発性半導体メモリから該テープカートリッジの磁気テープへの転送速度が前記速度閾値に満たない場合に、前記管理情報記憶部にフラグをセットすることを特徴とする請求項７に記載のテープドライブ装置。
【請求項９】
所定の指示に応じて、前記テープカートリッジに備えられている不揮発性半導体メモリから前記後続データを読み出して、該読み出された後続データを、前記テープカートリッジに備えられている磁気テープに既に書き込まれているデータに続けて前記磁気テープに書き写す後続データ書き写し部を更に備えることを特徴とする請求項１から８のうちのいずれか一項に記載のテープドライブ装置。
【請求項１０】
前記後続データ書き写し部による後続データの前記磁気テープへの書き写しが正常に終了したか否かを判定する正常終了判定部と、
前記後続データ書き写し部による書き写しが正常に終了したと前記正常終了判定部が判定したとき、前記不揮発性半導体メモリから前記後続データを破棄する後続データ破棄部と、
を更に備えることを特徴とする請求項９に記載のテープドライブ装置。
【請求項１１】
請求項１から１０のうちのいずれか一項に記載のテープドライブ装置がデータの保存に使用するテープカートリッジであって、前記データを保持する磁気テープと前記後続データを保持する不揮発性半導体メモリとを少なくとも備えていることを特徴とするテープカートリッジ。
【請求項１２】
請求項９又は１０に記載のテープドライブ装置を複数備えるテープライブラリ装置であって、
前記複数のテープドライブ装置のうちの１つにマウントされているテープカートリッジで保存されているデータの送付元から、該テープカートリッジのアンマウントの指示を受け取ったか否かを判定するアンマウント指示判定部と、
前記アンマウントの指示を受け取ったと前記アンマウント指示判定部が判定したときに、該指示に係るテープカートリッジに備えられている不揮発性半導体メモリに書き込まれているデータの該不揮発性半導体メモリから該テープカートリッジに備えられている前記磁気テープへの書き写しに要する所要時間が、所定時間閾値よりも短いか否かを判定する所要時間判定部と、
前記所要時間が前記所定時間閾値よりも短いと前記所要時間判定部が判定したときに、該不揮発性半導体メモリを備えているテープカートリッジがマウントされている前記複数のテープドライブ装置のうちの１つから該テープカートリッジをアンマウントして、前記複数のテープドライブ装置のうちの他のものにマウントするテープカートリッジマウント部と、
前記テープカートリッジマウント部によってテープカートリッジがマウントされたテープドライブ装置に前記所定の指示を与えて、該テープドライブ装置が備えている前記後続データ書き写し部に、該テープカートリッジに備えられている前記磁気テープへの前記後続データの書き写しを行わせるテープドライブ装置制御部と、
を更に備えることを特徴とするテープライブラリ装置。
【請求項１３】
磁気テープと不揮発性半導体メモリとが備えられているテープカートリッジにデータを保存するテープドライブ装置が行うデータ保存方法であって、
ホストから前記テープドライブ装置へ送られてくるデータの転送速度を検出し、
前記検出された転送速度を速度閾値と比較し、
前記比較により、前記検出された転送速度が前記速度閾値よりも速いと判定された場合は、前記テープカートリッジに備えられている磁気テープに対して、前記ホストから前記テープドライブ装置へ送られてくる前記データの書き込みを行い、その後転送速度が前記速度閾値よりも遅くなったと判定された場合には、前記テープカートリッジに備えられている不揮発性半導体メモリに対して、前記テープカートリッジに対して書き込みされるデータのうちの既に該磁気テープに書き込まれたデータに引き続いて送られてくる全ての後続データの書き込みを行い、
前記比較により、前記検出された転送速度が前記速度閾値よりも遅いと判定された場合は、該テープカートリッジに備えられている不揮発性半導体メモリに対して、前記ホストから前記テープドライブ装置へ送られてくる、前記テープカートリッジに対して書き込みされる全てのデータの書き込みを行う、
ことを特徴とするデータ保存方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で議論される実施態様は、テープドライブ装置、テープカートリッジ、テープライブラリ装置を用いたデータの保存技術に関するものである。
【背景技術】
【０００２】
ホストマシンから出力されるデータを記録・保存するために、当該データの磁気テープへの書き込みを行うテープドライブ装置がある。このようなテープドライブ装置において、ホストマシンとのデータの授受を円滑に行うために、バッファメモリを備えているものが知られている。
【０００３】
ホストマシンから出力されるデータは、一旦テープドライブ装置のバッファメモリに蓄積された後に、磁気テープへ書き込まれる。この書き込みは、バッファメモリでのデータ蓄積量が所定値（例えばメモリ容量の７０％）に達したとき、又は、ホストマシンから所定の命令（例えばライト・ファイル・マーク命令、リワインド命令、アンロード命令等）を受け取ったときが契機となって行われる。
【０００４】
なお、ライト・ファイル・マーク命令は、データファイルの末尾を表す印となるデータの磁気テープへの書き込みを指示する命令である。また、リワインド命令は磁気テープの巻き戻しを指示する命令であり、アンロード命令は、カートリッジテープのテープドライブ装置からの排出を指示する命令である。
【０００５】
テープドライブ装置に備えられているバッファメモリは、以上のように使用されるので、一般にアクセスの自由度が高く、高速アクセスが可能な揮発性メモリがこのバッファメモリとして用いられる。
【０００６】
磁気テープ装置は、コンピュータシステムの歴史の中で、古くから使用されてきた記憶装置であり、主にメインフレームマシン配下でバッチジョブ用途に使用されていた。また、磁気テープ装置は、近年でも、様々なオープンシステムの配下で大容量のデータを高速にバックアップ用途として使用されている。
【０００７】
これらの用途のうち、バッチジョブ用途では、データのブロックサイズやファイルサイズが小さく、頻繁に磁気テープへの読み書き動作が行われる。このため、バッファメモリ容量が例えば３２キロバイトと小さく、また、短時間で精度の良い磁気テープの位置制御を行うために、磁気テープ動作の起動・停止時間は例えば数１０ミリ秒で動作する装置となっていた。また、ホストマシン間のデータ転送性能も２０メガバイト／秒程度で十分であった。また、この用途に使用される磁気テープメディアは、オープンリールから始まってカートリッジタイプへと移行した。この磁気テープメディアは、記録容量が２００メガバイトから８００メガバイト(非圧縮時)程度ものであり、磁気テープの長さは３３５メートルほど(テープ厚さは２７マイクロメータ程度)である。
【０００８】
また、磁気テープへのデータ記録は、カートリッジタイプの初期の頃では、テープ幅方向に９本乃至１８本のデータトラックを片道方向で行っており、終期の頃では、１８本のデータトラックを往復方向(合計３６本のデータトラック)で行われる。
【０００９】
一方、バックアップ用途として近年主流となっているＬＴＯ（Linear Tape Open）仕様の磁気テープ装置は、ブロックサイズやファイルサイズの大きい、大容量データのバックアップに適したものである。
【００１０】
この磁気テープ装置におけるカートリッジの記録容量は、１００ギガバイト(非圧縮時)であった第１世代から始まり、最新の第５世代では１５００ギガバイト(非圧縮時)となっている。その一方で、このカートリッジの形状は、バッチジョブ時代の物と大きくは変わっていないため、磁気テープは長くなり、また、磁気テープの厚みも薄くなっており、第５世代では、長さ８４６メートル、厚さ６マイクロメートルとなっている。
【００１１】
また、第５世代のＬＴＯ仕様の磁気テープへの記録では、１６本のデータトラックを４０往復することで、合計１２８０本のデータトラックへの書き込みが行われる。ホストマシンとの転送性能は、第5世代で140メガバイト/秒と高速であり、大容量のデータを扱うため、バッファメモリも256メガバイトと大きくなっている。
【００１２】
また、この磁気テープ装置では、磁気テープの厚さの物理的な制限もあって、大容量のデータを高速で読み書きするために、磁気テープの起動・停止動作をできる限り行わないように動作し、また、その起動・停止に要する時間は３〜４秒と遅い仕様となっている。
【００１３】
また、このような磁気テープ記録装置の大容量化に伴い、磁気テープの製造情報、仕様情報、品質情報等を磁気テープ内に記録・更新することが行われている。ＬＴＯ仕様では、磁気テープを収容しているテープカートリッジに非接触タイプの不揮発性メモリデバイスを内蔵して、そのメモリ内に各種の管理情報の記録・更新が行われる。
【００１４】
また、この他の背景技術としても、磁気テープを収容しているテープカートリッジ内に不揮発性メモリを備え、当該メモリに、磁気テープでのデータの記録内容に関する管理情報を記録させておくという技術が幾つか知られている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００３−１２３３４２号公報
【特許文献２】特開平１１−３１６９８７号公報
【特許文献３】特開昭６０−３２１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
テープドライブ装置によるデータの読み書きは、磁気テープの走行が一定の速度で安定している期間に行われる。ここで、例えば、データの書き込み完了後に磁気テープの走行を停止させようとしても、磁気テープは直ぐには止まらない。このため、磁気テープにデータを記録させる磁気ヘッドの磁気テープ上の位置は、磁気テープの走行が完全に停止したときには、データの書き込み完了の位置から遠く離れてしまうことになる。従って、この場合に書き込みの完了位置から隙間無く磁気テープに次のデータを書き込むには、まず、ある程度磁気テープの巻き戻し動作を行い、その後書き込み方向に走行動作を再開させる。そして、磁気テープ走行速度を一定にした上で、磁気テープに記録されたデータブロック番号や磁気テープ上の位置情報を認識しながら、当該書き込み完了位置が磁気ヘッドの位置を通過する時点において当該次のデータを書き込む必要がある。
【００１７】
前述したように、ＬＴＯ仕様のテープドライブは、ブロックサイズやファイルサイズの大きなデータの書き込み・読み出しを高い転送速度で行うことを得意とする。
しかしながら、磁気テープ記録装置は、ホストマシンから送出されるデータのブロックサイズ、ファイルサイズ、その他の命令に従い動作する記録装置である。ここで、例えば、ＬＴＯ仕様のテープドライブに対してブロックサイズやファイルサイズの小さいデータが送出された場合や、不連続にホストマシンからデータが送出されるなど、ホストマシン側のデータ転送速度が遅い場合を考える。このような場合には、バッファメモリの所定容量に達するまで時間を要するために、テープドライブは、一旦テープ動作を停止し、その後にバッファメモリの所定容量に達した時点で、磁気テープへの書き込み動作を再開することになる。このため、書き込み完了位置の把握や磁気テープの起動・停止時間を含めた処理がテープドライブには必要となる。また、バッファメモリにわずかなデータが蓄積される度に磁気テープへの書き込み契機となる命令が送られると、テープドライブは、頻繁に磁気テープの起動・停止動作を行うことになり、テープドライブとしてのデータ転送性能が低下してしまう。
【００１８】
ＬＴＯ仕様のテープドライブに、ホストマシン側のデータ転送速度が遅い場合には磁気テープへの書き込み速度を低くして磁気テープの起動・停止動作を軽減して、ホストマシンとドライブ間でのデータ転送性能を必要以上に低下させない仕組みを持つものがある。この機能は、一部のドライブメーカーではスピードマッチング機能などと称されている。
【００１９】
この機能は、ＬＴＯ仕様のテープドライブの最大転送性能の３０〜４０％程度の性能に対しては有効に働く。しかしながら、前述したバッチジョブ用途の場合には、スピードマッチング機能の対応範囲外の低い転送速度が使用されるため、ＬＴＯ仕様としての性能を十分に発揮することができない。
【００２０】
一方、ＬＴＯ仕様に類似したエンタープライズ向けの磁気テープ記録装置は、メインフレーム配下でバッチジョブ用途を考慮した機能として、スキップシンク機能などと称されている機能を有しているものがある。この機能は、ホストマシンから送出されるデータをテープに書き込む際には、テープ動作を止めずに磁気テープ上に不連続にデータを書き込むことで、ホストマシンから見たテープドライブの転送性能を速く見せる。そして、その後に、テープドライブ自身で磁気テープ上に不連続に書き込まれたデータの読み直しを行って、データが連続するように書き直しを行うというものである。
【００２１】
しかしながら、この機能では、データを書き直す際における磁気テープ上の書き直し位置に部分的な損傷や汚損があると、データの書き直しに失敗してデータを消失する可能性がある。
【００２２】
１つの側面では、本発明は、ホストマシンから見たブロックサイズやファイルサイズの小さいデータのテープカートリッジへの書き込み性能を向上させることを目的とする。
【課題を解決するための手段】
【００２３】
本明細書で後述するテープドライブ装置は、磁気テープと不揮発性半導体メモリとが備えられているテープカートリッジにデータを保存するテープドライブ装置である。
このテープドライブ装置のひとつに、比較部と速度決定部とデータ書き込み部とを備えるというものがある。ここで、比較部は、ホストからテープドライブ装置へ送られてくるデータの転送速度を速度閾値と比較する。また、速度決定部は、この速度閾値に基づいて、テープカートリッジへの書き込み速度を決定する。そして、データ書き込み部は、テープカートリッジに、ホストからテープドライブ装置へ送られてくるデータの書き込みを行う。ここで、データ書き込み部は、速度決定部により決定された書き込み速度が速度閾値よりも速いと判定された場合は、テープカートリッジに備えられている磁気テープに対して、ホストからテープドライブ装置へ送られてくるデータの書き込みを行う。更に、データ書き込み部は、その後書き込み速度が当該速度閾値よりも遅くなったと判定された場合には、テープカートリッジに備えられている不揮発性半導体メモリに対して、テープカートリッジに対して書き込みされるデータのうちの既に磁気テープに書き込まれたデータに引き続いて送られてくる全ての後続データの書き込みを行う。一方、データ書き込み部は、速度決定部により決定された書き込み速度が速度閾値よりも遅いと判定された場合は、テープカートリッジに備えられている不揮発性半導体メモリに対して、ホストからテープドライブ装置へ送られてくる、テープカートリッジに対して書き込みされる全てのデータの書き込みを行う。
【００２４】
また、本明細書で後述するデータ保存方法は、磁気テープと不揮発性半導体メモリとが備えられているテープカートリッジにデータを保存するテープドライブ装置が行うデータ保存方法である。この方法では、まず、ホストからテープドライブ装置へ送られてくるデータの転送速度を検出する。次に、検出された転送速度を速度閾値と比較する。ここで、この比較により、検出された転送速度が速度閾値よりも速いと判定された場合は、テープカートリッジに備えられている磁気テープに対して、ホストからテープドライブ装置へ送られてくるデータの書き込みを行う。その後転送速度が当該速度閾値よりも遅くなったと判定された場合には、テープカートリッジに備えられている不揮発性半導体メモリに対して、テープカートリッジに対して書き込みされるデータのうちの既に該磁気テープに書き込まれたデータに引き続いて送られてくる全ての後続データの書き込みを行う。一方、この比較により、検出された転送速度が速度閾値よりも遅いと判定された場合は、テープカートリッジに備えられている不揮発性半導体メモリに対して、ホストからテープドライブ装置へ送られてくる、テープカートリッジに対して書き込みされる全てのデータの書き込みを行う。
【発明の効果】
【００２５】
本明細書で後述するテープドライブ装置、テープカートリッジ、及びテープライブラリ装置は、ホストマシンから見たブロックサイズやファイルサイズの小さいデータ対するテープカートリッジへの書き込み性能の向上化を図ることができる。
【図面の簡単な説明】
【００２６】
【図１】テープドライブ装置及びテープカートリッジの一実施例の機能構成図である。
【図２】テープライブラリ装置の一実施例の機能構成図である。
【図３】テープドライブ装置、テープカートリッジ、及びテープライブラリ装置の一実施例の具体的な構成図である。
【図４】後続データ退避処理の処理内容を図解したフローチャートである。
【図５】退避中読み出し処理の処理内容を図解したフローチャートである。
【図６】ライブラリ側後続データ書き写し制御処理の処理内容を図解したフローチャートである。
【図７】ドライブ側後続データ書き写し制御処理の処理内容を図解したフローチャートである。
【発明を実施するための形態】
【００２７】
まず図１について説明する。図１は、テープドライブ装置及びテープカートリッジの一実施例の機能構成図である。
テープドライブ装置１には、テープカートリッジ２がマウントされており、ホストマシン３が接続されている。
【００２８】
テープカートリッジ２は、データを記憶して保持する記憶媒体として、磁気テープ４と不揮発性半導体メモリ５とを備えている。特に、不揮発性半導体メモリ５は、後述する後続データを保持する。
【００２９】
ホストマシン３はデータの送出元であり、例えば、コンピュータネットワークにおけるサーバ装置である。テープドライブ装置１は、ホストマシン３から送られてくるデータをテープカートリッジ２に保存する装置である。
【００３０】
なお、このテープドライブ装置１は、後述するテープライブラリ装置３０に備えることができる。
このテープドライブ装置１は、比較部１１、速度決定部１２、及びデータ書き込み部１３を備えている。
【００３１】
比較部１１は、ホストマシン３からテープドライブ装置１へ送られてくるデータの転送速度を所定の速度閾値と比較する。なお、このデータの転送速度は、データの特徴量に基づいて検出される。このデータの特徴量は、例えば、ホストマシン３から送られてきたデータのブロックサイズと、送られてきたデータの量（ファイルサイズ）と、送られてきたデータの連続性を表す指標のうちの少なくとも１つである。
【００３２】
速度決定部１２は、この速度閾値に基づいて、テープカートリッジ２への書き込み速度を決定する。
データ書き込み部１３は、ホストマシン３から送られてきたデータのテープカートリッジ２への書き込みを行う。このデータ書き込み部１３は、決定された書き込み速度が速度閾値よりも速い場合は、テープカートリッジ２に備えられている磁気テープ４に当該データの書き込みを行う。また、データ書き込み部１３は、決定された書き込み速度が速度閾値よりも遅くなった場合は、テープカートリッジ２に備えられている不揮発性半導体メモリ５に、磁気テープ４に書き込まれたデータに続く後続データの先頭の論理ブロック番号と、その後続データを含む以降のデータの書き込みを開始する。
【００３３】
不揮発性半導体メモリ５へのデータの書き込みには磁気テープ４の動作を必要としない。そこで、図１のテープドライブ装置１は、上述した構成を備えることで、遅い転送速度でのデータ書き込みが必要になった場合には、データの書き込み先を、磁気テープ４から、テープカートリッジ２に備えられている不揮発性半導体メモリ５に変更する。
【００３４】
テープドライブ装置１は、このように動作することで、例えば前述したスピードマッチング機能を使用して書き込むことができない程に遅い転送速度でも、データをテープカートリッジ２に書き込んで保存することができる。従って、ホストマシン３から送られてきたデータが、例えばブロックサイズやファイルサイズの小さいデータであった場合、次のように、従来品と比較して十分に良好な転送速度で、当該データをテープカートリッジ２に保存することができる。
【００３５】
従来の磁気テープ装置は、バッファメモリの所定容量にデータが蓄積されるまでの間、一旦磁気テープ動作を停止した状態から、磁気テープ上に記録されたデータの後端に連続してデータを書き込むために、秒単位の位置制御動作を必要としていた。このために、従来の磁気テープ装置についてのホストマシン３から見たデータ転送速度は著しく低下していた。
【００３６】
これに対し、図１のテープドライブ装置１は、不揮発性半導体メモリ５にデータを保存することで、磁気テープ４の位置制御は不要となり、良好にテープカートリッジ２へのデータ保存を行うことができる。
【００３７】
テープドライブ装置１は、更に、応答情報送信部１４と遅延部１５とを備えている。
応答情報送信部１４は、データ転送に関して、ホストマシン３からのデータ送受に関するコマンド(Writeコマンド、Readコマンド等)に対し、例えばデータ書き込み部１３がテープカートリッジ２にデータを書き込んだことを示す応答情報をホストマシン３に返す。また、応答情報送信部１４は、データ読み出し部１９がテープカートリッジ２からデータを読み出したことを示す応答情報をホストマシン３に返す。
【００３８】
遅延部１５は、データ書き込み部１３がテープカートリッジ２における不揮発性半導体メモリ５に対してデータの読み書きを行った場合に、応答情報送信部１４による前述の応答情報の送信を遅延させる。
【００３９】
不揮発性半導体メモリ５へのデータの読み書き自体は、磁気テープ４へのデータの読み書きよりも高速に行うことができる。このため、上述した応答情報を不揮発性半導体メモリ５の仕様そのままに、読み書き後直ちにホストマシン３へ送信すると、テープドライブ装置１が本来発揮する転送性能とはかけ離れた転送性能を有しているかのようにホストマシン３には見えてしまう。
【００４０】
そこで、このテープドライブ装置１では、不揮発性半導体メモリ５からデータの読み書きを行う場合には、そのメモリの能力に応じた応答情報送信部１４からの応答情報の送信速度を、遅延部１５によりテープドライブ装置１の仕様の転送速度の範囲まで遅らせる。テープドライブ装置１がこの構成を備えることで、ホストマシン３は常にテープドライブ装置１の仕様の範囲の転送速度で、データの送受信を行うことができる。
【００４１】
また、テープドライブ装置１は、更に、後続データ位置情報記憶部１６を備えている。
後続データ位置情報記憶部１６は、データ書き込み部１３が不揮発性半導体メモリ５に前述の後続データの書き込みを行う場合に、当該後続データの先頭(1番目)のデータについての論理ブロック番号を記憶する。なお、この情報は、不揮発性半導体メモリ５にも記憶する。
【００４２】
この後続データ位置情報記憶部１６に記憶されている後続データの先頭(1番目)のデータについての論理ブロック番号によって、ホストマシン３から送られてきたデータがどの論理ブロック番号から分割されて、磁気テープ４と不揮発性半導体メモリ５とに保存されているかが分かる。従って、テープドライブ装置１を介することで、テープカートリッジ２で保存されている全てのデータに対するアクセスを、容易に行うことができる。
【００４３】
また、テープドライブ装置１は、更に、アクセス受信部１７と、アクセス先判定部１８と、データ読み出し部１９とを備えている。
アクセス受信部１７は、データ転送に関して、テープドライブ装置１への指示元であるホストマシン３から送付される当該データへのアクセスに関する命令を受信する。
【００４４】
アクセス先判定部１８は、アクセス先の論理ブロック番号が、テープカートリッジ２内の磁気テープ４に書き込まれたデータに対するものであるか、テープカートリッジ２内の不揮発性半導体メモリ５に書き込まれた後続データに対するものであるかを判定する。アクセス先判定部１８は、この判定を、後続データ位置情報記憶部１６に記憶されている後続データの先頭(1番目)のデータについての論理ブロック番号に基づいて行う。
【００４５】
データ読み出し部１９は、ホストマシン３から指示されたデータをテープカートリッジ２から読み出す。この読み出しは、読み出すデータの論理ブロック番号に対するアクセス先判定部１８での判定結果に基づいて、磁気テープ４に書き込まれているデータと不揮発性半導体メモリ５に書き込まれている後続データとのうちのどちらか一方から行われる。データ読み出し部１９は、このようにして読み出されたデータをホストマシン３へ出力する。
【００４６】
この構成をテープドライブ装置１が備えていることで、テープカートリッジ２において磁気テープ４と不揮発性半導体メモリ５とに分割されて保存されている全てのデータに対するアクセスを、ホストマシン３が行える。
【００４７】
なお、上述したとおり、不揮発性半導体メモリ５へのデータの読み書き自体は、磁気テープ４へのデータの読み書きよりも高速に行うことができる。従って、データ読み出し部１９が不揮発性半導体メモリ５よりデータを読み出した場合は、上述した書き込み時と同様に、遅延部１５を利用してもよい。すなわち、不揮発性半導体メモリ５の能力に応じた応答情報送信部１４からの応答情報の送信速度を、遅延部１５によりテープドライブ装置１の仕様の転送速度の範囲まで遅らせて、ホストマシン３に応答してもよい。このような構成をテープドライブ装置１が備えることで、ホストマシン３は常にテープドライブ装置１の仕様の範囲の転送速度で、データの送受信を行うことができる。
【００４８】
ところで、図１のテープカートリッジ２は、管理情報記憶部６を更に備えている。管理情報記憶部６は、テープカートリッジ２自身の製造情報や、テープドライブ装置１への使用回数や、磁気テープ４に記録されたデータの品質情報を記憶しておく記憶部である。この管理情報記憶部６は、上述した不揮発性半導体メモリ５とは別の不揮発性半導体メモリを用いて構成するが、共用も可能である。
【００４９】
一方、テープドライブ装置１は、更に、管理情報記憶制御部２０を備えている。
管理情報記憶制御部２０は、テープカートリッジ２に備えられている管理情報記憶部６に記録されている情報を更新する。特に、この管理情報記憶制御部２０は、データ書き込み部１３が不揮発性半導体メモリ５に前述の後続データの書き込みを行う場合には、前述の後続データが不揮発性半導体メモリ５に記録されていることを示す情報を、管理情報記憶部６に記憶させる。
【００５０】
このテープドライブ装置１では、後続データの先頭(1番目)のデータについての論理ブロック番号を、テープカートリッジ２の不揮発性半導体メモリ５に記憶させる。また、その不揮発性半導体メモリ５にデータが記録されていることを、テープカートリッジ２の管理情報記憶部６に記憶させる。従って、磁気テープ４と不揮発性半導体メモリ５とにデータが分割されて保存されているテープカートリッジ２をこのままテープドライブ装置１から排出しても、他のテープドライブ装置で、テープカートリッジ２に記憶された全てのデータに対するアクセスを容易に行うことができる。
【００５１】
上述したテープカートリッジ２の管理情報記憶部６に記憶される、不揮発性半導体メモリ５にデータが記録されていることを示す情報は、管理情報記憶部６のメモリ領域の一部に、第一退避フラグ情報としてセットされる。この第一退避フラグ情報は、上述したように、他のテープドライブ装置にテープカートリッジ２を搭載した場合に、そのテープカートリッジ２の不揮発性半導体メモリ５にデータが記録されているかの判断に使用される。
【００５２】
また、テープカートリッジ２へのデータの書き込み速度は、上述したとおり、テープドライブ装置１の速度決定部１２よって決定される。そして、当該書き込み速度が速度閾値よりも遅くなったときには、不揮発性半導体メモリ５にデータが記録される。従って、不揮発性半導体メモリ５に記録されたデータを磁気テープ４に書き写す際には、その書き写しに必要な処理時間を当該書き込み速度から予想することができる。そこで、この処理時間が例えばテープドライブ装置１のスピードマッチング機能の最低速度の９０％を下回る(下限値より更に１０％の性能低下)場合には、磁気テープへの書き写しの際に、第二退避フラグ情報を管理情報記憶部のメモリ領域の一部にセットする。この第二退避フラグ情報は、処理時間がテープドライブ装置の仕様を下回ることを示している情報である。
【００５３】
この第二退避フラグ情報は、上述したとおり、テープカートリッジ２の不揮発性半導体メモリ５から磁気テープ４にデータを書き写す際に、その処理時間がテープドライブ装置１の仕様より下回るときに使用される。例えば、後述するように、ライブラリ装置１が備えている空きドライブを用いてデータの書き写しを行うかどうかの判断に、この第二退避フラグ情報が使用される。これは、不揮発性半導体メモリ５に記録されたデータが、ブロックサイズやファイルサイズが小さいデータの集合である場合には、磁気テープ４の起動・停止動作時間が無視できなくなり、書き写すデータの総量の割には、その処理時間を要することとなる。このような場合に、第二退避フラグ情報がセットされているか否かを調べることで、磁気テープ４への書き写しに時間を要するかどうかを知ることができる。
【００５４】
また、テープドライブ装置１は、更に、誤り判定部２１を備えている。
テープドライブ装置１は、磁気テープ４へのデータの書き込み用の磁気ヘッドと、磁気テープ４からのデータの読み込み用の磁気ヘッドとを備えている。従って、磁気テープ４にデータを書き込んだ直後に、磁気テープ４から書き込んだデータを読み込み、それらの整合性を誤り判定部２１で調べることができる。ここで、書き込みデータと読み込みデータとに整合性が無い場合には、データに誤りがあることを意味する。この場合には、テープドライブ装置１は、誤り訂正のためにデータの書き直しを行う。
【００５５】
誤り判定部２１は、書き込みデータ量及び読み込みデータ量、並びにデータの誤り量を求め、その結果を、管理情報記憶制御部２０を介して、テープカートリッジ２の管理情報記憶部６に、前述した品質情報として記憶する。
【００５６】
なお、磁気テープ４には、ホストマシン３からのデータの他に、書き込まれたデータの補償のため、エラー訂正情報が一緒に記録される。特に、磁気テープ４からのデータの読み込みの時点では、整合性を比較するデータをテープドライブ装置１側もホストマシン３側も持っていないため、磁気テープ４に書き込まれたエラー訂正情報を用いて、正しく訂正したデータをホストマシン３に送出する。
【００５７】
また、テープドライブ装置１は、更に、後続データ書き写し部２２を備えている。後続データ書き写し部２２は、まず、所定の指示に応じてアクセス先判定部１８より送り出される、不揮発性半導体メモリ５からデータ書き込み部１３への後続データを受け取る。そして、この後続データを、テープカートリッジ２に備えられている磁気テープ４の既に書き込まれたデータに続けて書き写す。なお、この書き写しでは、ホストマシン３から送られてくるデータが磁気テープ４に書き込まれるのと同様に、不揮発性半導体メモリ５からの後続データが磁気テープ４に書き込まれる。
【００５８】
また、テープドライブ装置１は、更に、正常終了判定部２３と後続データ破棄部２４とを備えている。
正常終了判定部２３は、後続データ書き写し部２２からの、不揮発性半導体メモリ５から磁気テープ４に書き写すべき全ての後続データが送出されたことの情報と、データ書き込み部１３からの。不揮発性半導体メモリ５から送出された全ての後続データが磁気テープ４に書き写しされたことの情報とで、後続データの書き写しが正常に終了したか否かを判定する。そして、後続データ破棄部２４は、正常終了判定部２３からの指示により、すなわち正常終了判定部２３が書き写しを正常終了したと判定したときのみに、不揮発性半導体メモリ５に記録された後続データの破棄処理を行う。
【００５９】
つまり、後続データ破棄部２４は、後続データ書き写し部２２による後続データの書き写しが何らかの原点により失敗した場合には、不揮発性半導体メモリ５から後続データの破棄を行わない。つまり、この場合には、後続データが不揮発性半導体メモリ５で依然として保持されている。従って、このテープドライブ装置１によって、高いデータ保全性が提供される。
【００６０】
次に図２について説明する。図２は、テープライブラリ装置の一実施例の機能構成図である。
図２のテープライブラリ装置３０にはホストマシン３が接続されている。
【００６１】
このテープライブラリ装置３０は、少なくとも1台のテープドライブ装置１−１を備えている。なお、テープライブラリ装置３０が複数のテープドライブ装置を備える場合には、その各々をテープドライブ装置１−１、１−２、１−３、…とする。
【００６２】
また、テープライブラリ装置３０は、テープライブラリ装置制御部３１、テープドライブ装置制御部３２、ロボット部３３、ロボット制御部３４、管理情報記憶読み取り部３５、退避フラグ判定部３６、書き写し判断情報部３７、オペレータパネル３８を備える。
【００６３】
なお、テープドライブ装置１−１、１−２、１−３、…は、ホストマシン３とテープドライブ装置制御部３２に各々接続され、テープライブラリ装置制御部３１は、ホストマシン３とオペレータパネル３８に接続される。更に、テープライブラリ装置制御部３１は、ＬＡＮ（Local Area Network）ポートを備えており、このＬＡＮポートにテープライブラリ装置３０の監視用端末３９（ＰＣ（パーソナル・コンピュータ）等）を接続することもできる。
【００６４】
テープドライブ装置１−１、１−２、１−３、…は、いずれも図１のテープドライブ装置１の構成を備えている。なお、図２では、このうちのテープドライブ装置１−１にのみテープカートリッジ２が装填されている様子を表している。このテープカートリッジ２も、図１に図解したものと同様の磁気テープ４、不揮発性半導体メモリ５、及び管理情報記憶部６を備えている。
【００６５】
なお、以下の説明では、特に区別する必要がない場合には、テープドライブ装置１−１、１−２、１−３、…を総称して「複数のテープドライブ装置１」とする。
テープライブラリ装置制御部３１は、例えば下記のような各種の制御動作を行う。
・オペレータパネル３８や監視用端末３９からの設定情報の、書き写し判断情報部３７への書き込み。
・ロボット部３３に備えられた管理情報記憶読み取り部３５が読み取った待避フラグ情報の退避フラグ判定部３６への書き込み。
・ホストマシン３からのテープカートリッジ２のアンマウント指示に応じた、指示対象のテープドライブ装置１に対するアンマウント動作の命令。
・ロボット制御部３４に対してテープドライブ装置１から排出されたテープカートリッジ２をテープライブラリ装置３０内の所定の棚（カートリッジ・セル）への搬送の命令。
・ホストマシン３からの指示に応じた、ロボット制御部３４に対する、指示されたテープカートリッジ２の棚から所定のテープドライブ装置１への搬送の命令。
・テープドライブ装置１に対する、テープドライブ装置１へのテープカートリッジ２のマウント命令。
【００６６】
テープドライブ装置制御部３２は、例えば下記のような各種の制御動作を行う。
・書き写し判断情報部３７や退避フラグ判定部３６からの情報に基づいて、テープカートリッジ２の不揮発性半導体メモリ５から磁気テープ４へのデータ書き写しを行う際における、書き写しを行うテープドライブ装置１に対しての書き写しの命令。
・ロボット部３３に備えた管理情報記憶読み取り部３５に対する、テープカートリッジ２の管理情報記憶部の情報の読み取りの命令。
【００６７】
ロボット制御部３４は、テープライブラリ装置制御部３１からの指示に応じて、ロボット部３３の動作を行う。なお、ロボット部３３は、テープライブラリ装置３０の棚とテープドライブ装置１との間で、テープカートリッジ２を搬送する機構部である。
【００６８】
管理情報記憶読み取り部３５は、テープカートリッジ２の管理情報記憶部６に記録された情報を読み取る。
退避フラグ判定部３６は、管理情報記憶読み取り部３５が読み取った待避フラグ情報の判定を行う。
【００６９】
書き写し判断情報部３７は、オペレータパネル３８や監視用端末３９から受け取った設定情報を保持しておく。
オペレータパネル３８は、テープライブラリ装置３０に備えられており、オペレータ（装置管理者）が手動でテープライブラリ装置３０の設定や、ロボット部３３の動作を指示することができる。
【００７０】
なお、テープライブラリ装置３０の監視用端末３９では、汎用のインターネットブラウザソフトを用いて、テープライブラリ装置３０に対する各種の設定や、ロボット部３３の動作を指示することができる。
【００７１】
ホストマシン３は、自身から転送したデータの書き込みを完了したテープカートリッジ２がマウントされているテープドライブ装置１に対して、アンロード命令をまず行う。なお、アンロード命令は、一般的には、磁気テープ４を最後までテープカートリッジ２に巻き取らせて、テープカートリッジ２をテープドライブ装置１から排出させる（排出位置までテープカートリッジ２が飛び出ている状態とする）命令である。
【００７２】
次に、ホストマシン３は、テープカートリッジ２をテープライブラリ装置３０の所定の棚に戻すために、テープライブラリ装置３０に対してアンマウント命令を行う。
次に、テープドライブ装置１は、テープカートリッジ２の排出を完了したところで、ホストマシン３にアンロード終了を報告する。テープドライブ装置制御部３２は、テープカートリッジ２が排出されるまで、テープドライブ装置１の監視を行い、テープカートリッジ２の排出が確認されたときに、テープライブラリ装置制御部３１に排出完了を報告する。テープライブラリ装置制御部３１は、ロボット制御部３４に対して、テープカートリッジ２の搬送指示を行う。すると、ロボット部３３が、テープカートリッジ２を排出しているテープドライブ装置１の位置に移動してテープカートリッジ２を把持し、その後、搬送のためにテープカートリッジ２をロボット部３３に引き込む。
【００７３】
テープドライブ装置制御部３２は、ロボット部３３がテープカートリッジ２を把持したタイミング、若しくはロボット部３３に引き込んだタイミングで、テープカートリッジ２の管理情報記憶部６から、前述した待避フラグ情報を読み出す。そして、テープライブラリ装置３０の書き写し判断情報部３７の設定情報に基づいて、書き写し処理の実行の要否の判断を行う。
【００７４】
ここで、テープカートリッジ２の管理情報記憶部６に、前述の第一退避フラグ情報がセットされていなければ、テープカートリッジ２の不揮発性半導体メモリ５にデータが記録されていないので、書き写し処理は不要である。そこで、この場合には、テープライブラリ装置制御部３１は、ロボット部３３によるアンマウントの処置を継続させ、所定の棚にテープカートリッジ２を搬送完了したところで、ホストマシン３に対してアンマウントの完了を報告する。
【００７５】
一方、テープカートリッジ２の管理情報記憶部６に、前述の第一退避フラグ情報がセットされていた場合には、続けて、前述の第二待避フラグ情報がセットされているかの確認をテープドライブ装置制御部３２が行う。
【００７６】
ここで、前述の第二退避フラグ情報がセットされていない場合は、テープカートリッジ２の不揮発性半導体メモリ５に記録されているデータを磁気テープ４に書き写す際、その処理時間がテープドライブ装置１の仕様を下回ることを示している。従って、この場合には、テープライブラリ装置３０に搭載されており、且つ、空いているテープドライブ装置１を用いて、書き写し処理を行う。
【００７７】
なお、このときに、ホストマシン３からのアンマウント命令に対しては、例えば、マウントされていたテープドライブ装置１から空いている他のテープドライブ装置１にマウントされたタイミングで、アンマウント終了を報告する。このようにすることで、ホストマシン３は書き写し処理に対する意識や配慮を必要としない。
【００７８】
次に図３について説明する。図３は、テープドライブ装置、テープカートリッジ、テープライブラリ装置の一実施例の具体的な構成図である。
図３において、テープライブラリ装置３０にはホストマシン３が接続されている。このテープライブラリ装置３０はテープドライブ装置１を複数備えている。なお、図３では、便宜上、テープライブラリ装置３０が備えているテープドライブ装置１を１台のみ図解している。
【００７９】
テープドライブ装置１にはテープカートリッジ２がマウントされている。なお、本実施例のテープドライブ装置１及びテープカートリッジ２は、計算機用の磁気テープの規格として広く知られている、前述のＬＴＯの仕様に則ったものである。
【００８０】
まず、テープカートリッジ２の具体的な構成について説明する。
本実施例におけるテープカートリッジ２は、磁気テープ４１、ＣＭ４２、不揮発性メモリ４３、及び制御回路４４を備えている。
【００８１】
磁気テープ４１は、テープカートリッジ２に書き込まれたデータを保持しておく記憶媒体であり、リールハブに巻回された状態でテープカートリッジ２内に収容されている。この磁気テープ４１は、図１においてのテープカートリッジ２が備えている磁気テープ４に相当するものである。
【００８２】
ＣＭ（カートリッジ・メモリ）４２は、テープカートリッジの製造情報や、データの使用履歴情報等の媒体管理情報を記録するメモリである。なお、ＬＴＯの仕様におけるＣＭ４２としては、例えば日本の鉄道会社やバス会社で普及し利用されているＩＣカードと同様に、非接触式の通信手段及び電力供給手段を用いており、記録部はフラッシュメモリなどの不揮発性の半導体記憶素子が用いられる。このＣＭ４２は、図１においてのテープカートリッジ２が備えている管理情報記憶部６に相当するものである。
【００８３】
不揮発性メモリ４３は不揮発性の半導体メモリであり、磁気テープ４１と同様に、テープカートリッジ２に書き込むデータを保持しておく。この不揮発性メモリ４３としても、例えばフラッシュメモリなどが用いられる。この不揮発性メモリ４３は、図１においてのテープカートリッジ２が備えている不揮発性半導体メモリ５に相当するものである。
【００８４】
制御回路４４は、不揮発性メモリ４３を制御してデータの書き込み・読み出し・消去を行う回路である。
なお、不揮発性メモリ４３の容量は、少なくとも通常メインフレームで扱えるファイルサイズを満足できる程度であることが望ましい。本実施例においては、不揮発性メモリ４３の容量を１０ＧＢ程度とする。不揮発性メモリ４３がこの程度の記憶容量を備えていれば、従前のメインフレームで、バッチジョブを、ＬＴＯのような、大容量、高速書き込みを得意とするテープ装置で実施する用途には十分であると思われる。
【００８５】
また、本実施例において、不揮発性メモリ４３を二重化すると共に、制御回路４４がデータの比較や誤り訂正機能を有するようにして、不揮発性メモリ４３での保存データを冗長化して、データの保全性を向上させるようにしてもよい。
【００８６】
詳しくは後述するが、本実施例では、ＣＭ４２の書き換え可能な記憶領域に、幾つかのフラグ情報を保持するための領域が確保される。このフラグのひとつに、不揮発性メモリ４３に後続データが書き込まれたことを表示するフラグがある。また、このフラグの別のひとつに、磁気テープ４へのデータの書き込みの禁止を示すライトプロテクトフラグがある。このライトプロテクトフラグは、磁気テープ４１に起因したデータの書き込み失敗が発生した場合にセットされるフラグであり、このフラグのセット状態は、テープカートリッジの持つ物理的なライトプロテクトキー（スイッチ）の設定状態よりも優先される。
【００８７】
なお、図３においては、ＣＭ４２と不揮発性メモリ４３とを別体のものとしている。この代わりに、非接触式で通信したとしても、高速にかつ安定なアクセスが可能であれば、ＣＭ４２と不揮発性メモリ４３との両者を、例えば１つのフラッシュメモリを用いて構成するようにしてもよい。
【００８８】
次に、図３のテープドライブ装置１の具体的な構成について説明する。
本実施例におけるテープドライブ装置１は、まず、ＭＰＵ５１、メモリ５２、ロボットインタフェース回路５３、及びホストインタフェース回路５４を備えている。
【００８９】
ＭＰＵ（マイクロプロセッサユニット）５１は、テープドライブ装置１を構成する各部の動作を制御する演算処理装置である。
メモリ５２は、ＲＡＭ（Random Access Memory）と従来のＲＯＭ（Read Only Memory）に相当する不揮発性メモリとを備えている。ＲＡＭは、ＭＰＵ５１が上述の制御動作を行う際に必要に応じて各種のデータを一時的に保存しておくために利用される。また、ＭＰＵ５１によって実行される制御プログラムは予めテープドライブ装置１の内部に記録しておく必要があるが、また何らかの理由でその制御プログラムを修正する必要が生じることもある。このため、現在は物理的にメモリ素子を交換するのではなく、直接プログラムの書き換えが可能な、フラッシュメモリのような不揮発性半導体メモリが用いられている。ＭＰＵ５１は、この制御プログラムを不揮発性メモリから読み出して実行することで、上述の制御動作を行えるようになる。
【００９０】
ロボットインタフェース回路５３は、このテープドライブ装置１を装備しているテープライブラリ装置３０との間での各種コマンドのやりとりや、テープドライブ装置１側の情報を授受するデータ通信を行うための通信インタフェースを提供する。なお、本実施例では、ロボットインタフェース回路５３は、広く知られているシリアル通信の規格である、ＲＳ−４２２ハードウェア規格に則った通信インタフェースを用いたテープドライブベンダが提供する固有の通信手段や、テープドライブベンダ共通仕様の通信手段を提供する。
【００９１】
ホストインタフェース回路５４は、テープカートリッジ２に保存するデータの送信元であるホストマシン３との間で各種のデータを授受するデータ通信を行うための通信インタフェースを提供する。本実施例では、ホストインタフェース回路５４は、広く知られている、ＳＣＳＩ(Small Computer System Interface )規格、ＳＡＳ（Serial Attached SCSI）規格、若しくはＦＣ（Fibre Channel ）規格に則った通信インタフェースを提供する。
【００９２】
また、本実施例におけるテープドライブ装置１は、更に、データバッファ回路５５及びフォーマッタ回路５６を備えている。
データバッファ回路５５は、ホストマシンとテープドライブ装置間の入出力処理において入力と処理との間に生じたタイミングのずれを補う目的で、データを一時的に保持するために用意される記憶領域のことである。
【００９３】
ホストマシン３から送られてきたデータは、後述するフォーマッタ回路５６を介してデータバッファ回路５５に一旦格納される。その後、このデータは、フォーマッタ回路５６によってデータバッファ回路５５から適宜取り出され、必要に応じて圧縮等の処理が施された上で、後述するライト・リード回路５７を介し、ライトアンプ５８で磁気ヘッド５９(書き込み側)を駆動して磁気テープ４１にデータが書き込まれる。
【００９４】
フォーマッタ回路５６は、データの圧縮・解凍、データの暗号化・解読、データのフォーマット変換のための変調・復調や、データバッファ回路５５の制御等を行う。本実施例においてのフォーマッタ回路５６は、更に、スピードマッチング機能、切り替え判断機能、待避フラグ判断機能、及び不揮発性メモリ制御機能を提供する。
【００９５】
このうち、スピードマッチング機能は、前述したように、できる限りテープドライブ装置１によるテープ走行動作を止めずにテープカートリッジ２の磁気テープ４１へのデータ書き込みを行う機能である。
【００９６】
切り替え判断機能は、ホストマシン３からのデータ転送の速度がスピードマッチング機能で対応できる下限を下回ったことを検出して、後続するデータの書き込み先を、テープカートリッジ２に備えられている不揮発性メモリ４３に切り替える機能である。なお、切り替え判断機能は、テープカートリッジ２からのデータの読み出しを、テープカートリッジ２に備えられているＣＭ４２での待避情報の保持内容に応じて、磁気テープ４１と不揮発性メモリ４３との間で切り替える機能も提供する。
【００９７】
待避フラグ判断機能は、テープカートリッジ２に備えられている不揮発性メモリ４３への後続データの退避が行われたことを、前述した退避フラグ情報を用いて検出し判断する機能を提供する。
【００９８】
不揮発性メモリ制御機能は、テープカートリッジ２に備えられている制御回路４４との間での通信、及び、テープカートリッジ２に備えられている不揮発性メモリ４３との間での、制御回路４４を介した保存データの授受のためのデータ通信の機能と、不揮発性メモリ４３の保存データの消去の機能とを提供する。
【００９９】
また、本実施例におけるテープドライブ装置１は、更に、ライト・リード回路５７、ライトアンプ５８、磁気ヘッド５９、リードアンプ６０、並びにＣＭ駆動及び制御回路６１を備えている。
【０１００】
ライト・リード回路５７は、テープカートリッジ２内の磁気テープ４１にデジタル信号を磁気記録するための変調や、磁気ヘッド５９により読み出された信号からデジタル信号を得るための復調を行う。
【０１０１】
ライトアンプ５８は、ライト・リード回路５７から出力される変調信号で、磁気テープ４１への磁気記録のために磁気ヘッド５９を駆動する。
磁気ヘッド５９は、磁気テープ４１へ磁気信号を書き込むための書き込み用ヘッド(ライトヘッド)と、磁気テープからの磁気信号を読み出す読み込み用ヘッド(リードヘッド)とを備える。
【０１０２】
なお、前述したように、例えば第５世代のＬＴＯ仕様のテープドライブ装置とテープカートリッジには、１２．６ミリメートル幅の磁気テープに１２８０本ものデータの帯(データトラック)を書き込み、また読み出しを行う。このため、磁気ヘッド５９を磁気テープ幅方向に高精度に位置づけ(トラッキング)する仕組みを持っている。磁気テープには５本のサーボバンドを備え、磁気ヘッドには、そのサーボバンドからの信号を読み出すためのサーボヘッドを備える。磁気テープ上のデータ書き込み領域は、５本のサーボバンドの間に挟まるように、４本のデータバンドを備え、データバンド両側のサーボバンドの信号をサーボヘッドで読み取り、1つのデータバンドに対して１６組の書き込み用ヘッドと読み込み用ヘッドを２０往復分の間隔で位置制御を行う。
【０１０３】
リードアンプ６０は、磁気ヘッド５９によって磁気テープ４１から読み出された磁気信号を後段のライト・リード回路５７における処理に適する信号の大きさへ増幅し、その後段の回路へ出力する。
【０１０４】
なお、ライト・リード回路５７、ライトアンプ５８、磁気ヘッド５９、及びリードアンプ６０は、ＭＰＵ５１を介した形を含め、フォーマッタ回路５６によって駆動され制御されて、磁気テープ４１に対してのデータの書き込み及び読み出しが行われる。
【０１０５】
ＣＭ駆動及び制御回路６１は、テープカートリッジ２内のＣＭ４２を駆動させると共に、ＣＭ４２への電力の供給と、ＣＭ４２に対する各種のデータの書き込み及び読み出しを行う。
【０１０６】
なお、本実施例では、ＣＭ駆動及び制御回路６１は、ＣＭ４２との各種データの授受のためのデータ通信を、広く知られている非接触方式により行う。ここでいう非接触方式とは、非接触型のＩＣカード等で採用されている、電磁誘導によりテープカートリッジ２に電力供給を行い、高周波変調信号によりデータの授受を行う方式である。また、本実施例では、フォーマッタ回路５６と、テープカートリッジ２内の制御回路４４とのデータ通信は、線路で電気的に接続した構成を使用する。もちろん、この両者間のデータ通信をも非接触式により行うようにしてもよい。
【０１０７】
図３のテープドライブ装置１は以上のように構成されており、本実施例では、以下の動作を行う。
まず、テープドライブ装置１は、データバッファ回路５５に対するデータの入出力速度(ホストマシン３とのデータ入出力、磁気テープ４１とのデータの入出力)を転送速度として検出する。このときに検出する転送速度は、データ転送の瞬間・瞬間の速度ではなく、ある程度まとまったデータ量に対する平均値、例えばスピードマッチング機能で転送性能を切り替える際に用いるデータ量から検出する。テープドライブ装置１は、このときに、この機能により検出された転送速度が、スピードマッチング機能で対応できる下限を下回った場合には、以降のデータ（後続データ）の書き込み先をテープカートリッジ２内の不揮発性メモリ４３に切り替える。
【０１０８】
また、テープドライブ装置１は、後続データの書き込み先を不揮発性メモリ４３に切り替えた場合には、その後続データの先頭の論理ブロックのＩＤ情報（識別情報）を取得し、テープドライブ装置１のメモリ５２と、不揮発性メモリ４３とに記憶しておく。そして、ホストマシン３からのデータアクセスを受けた場合には、テープドライブ装置１は、アクセス対象のデーが磁気テープ４１と不揮発性メモリ４３とのどちらで保持されているかを、このＩＤ情報に基づいて判断して、当該アクセスを処理する。
【０１０９】
また、テープドライブ装置１には、不揮発性メモリ４３へデータアクセスを行った際に、ホストマシン３への応答を、当該アクセスの完了時に直ちに応答するか、当該アクセスの完了後に所定時間の遅延を伴ってから応答するかの選択の設定が行われる。これは、一般に半導体メモリに対するアクセス速度と、物理的な動作を伴う磁気テープへのアクセスを比較した場合、半導体メモリへのアクセス速度のほうが顕著に速いためである。すなわち、データの記憶先を磁気テープ４１から不揮発性メモリ４３に切り替えた場合、ホストマシン３から見た応答速度が直前のものから異なることを許容して性能重視とするか、従前のものと同程度に抑えるかを選択可能としたものである。
【０１１０】
なお、この場合において、データアクセスの完了後の応答を遅延させるときの遅延時間は、例えば、スピードマッチング機能で対応できる下限で磁気テープ４１へデータを書き込んだ場合の応答に要する時間と同程度とする。このようにすることで、ホストマシン３はデータの記憶先に対する意識や配慮が不要である。
【０１１１】
更に、テープドライブ装置１は、後続データの書き込み先を不揮発性メモリ４３に切り替えた場合には、その旨を示すフラグ情報をＣＭ４２にセットする。
また、テープドライブ装置１は、テープカートリッジ２内での不揮発性メモリ４３から磁気テープ４１への後続データの書き写しを行う。
【０１１２】
テープドライブ装置１は、専用のコマンド、若しくは所定のオプションが指定されているライト（書き込み）コマンドを受け取ると、この書き写しを実行する。そして、この書き写しを正常に終了した場合には、テープドライブ装置１は、ＣＭ４２に保持されているフラグ情報の設定の変更(解除)と、書き写された後続データの不揮発性メモリ４３からの破棄(消去)とを行う。
【０１１３】
なお、テープドライブ装置１は、磁気テープ４１にデータを書き終えたときには、データの最後尾を示すＥＯＤ（End Of Data ）マークを書き込むと共に、ＣＭ４２で保持されているＥＯＤに関する情報を更新する。なお、不揮発性メモリ４３に後続データが保持されている場合には、テープドライブ装置１は、不揮発性メモリ４３から磁気テープ４１への後続データ全ての書き写しを正常に終えたときに、磁気テープ４１に書き写しされた後続データの末尾にＥＯＤマークを書き込む。
【０１１４】
一方、テープドライブ装置１は、何らかの原因により後続データの書き写しに失敗した（異常終了した）場合には、ＣＭ４２のＥＯＤに関する情報は更新するが、ＥＯＤマークの磁気テープ４１への書き込みは行わない。更に、テープドライブ装置１は、前述したライトプロテクトフラグをＣＭ４２にセットすると共に、後続データの書き写しに失敗した旨をテープライブラリ装置３０に通知する。以降、テープドライブ装置１は、ライトプロテクトフラグがＣＭ４２にセットされているテープカートリッジ２へのデータ書き込みに関するコマンドを受け取った場合には、記憶媒体のエラーを示す情報を、当該コマンドへの返答として出力する。このようにすることで、ホストマシン３は、データの書き込み時に記憶媒体のエラーが発生した場合と同様に異常を認知して、適切な処理を行うことができる。
【０１１５】
次に、図３のテープライブラリ装置３０の具体的な構成について説明する。
本実施例におけるテープライブラリ装置３０は、テープドライブ装置１を前述したように複数備えており、更に、ロボット機構７１、ロボット制御回路７２、ＣＭリーダ７３、及びライブラリ制御回路７４を備えている。
【０１１６】
ロボット機構７１は、テープカートリッジ２を把持して、テープライブラリ装置３０が備えているカートリッジ・セル（不図示）やマガジン・セル（不図示）とテープドライブ装置１との間の搬送を行う。
【０１１７】
ロボット制御回路７２は、ロボット機構７１の駆動及び制御を行う。
ＣＭリーダ７３は、テープカートリッジ２内のＣＭ４２で保持されている各種の媒体管理情報の読み出しを行う。
【０１１８】
ライブラリ制御回路７４は、テープライブラリ装置３０を構成する各部の動作を制御する。より具体的には、ライブラリ制御回路７４は、ロボット制御回路７２への制御指示、テープドライブ装置１とのデータ通信、ホストマシン３とのデータ通信、並びに、テープカートリッジ２のＣＭ４２からＣＭリーダ７３が読み出した媒体管理情報の管理等を行う。なお、ライブラリ制御回路７４は、本実施例では、ホストマシン３とのデータ通信のために、ホストインタフェース回路５４と同様の通信インタフェースを提供する。ここで、ホストマシン３とテープライブラリ装置３０と間のデータ通信については、両者間を前述の通信インタフェースで接続する代わりに、テープドライブ装置１のロボットインタフェース回路５３を介してデータ通信する形態でもよい。
【０１１９】
更に、ライブラリ制御回路７４は、テープドライブ装置１のうち空いている（不使用である、若しくは、ホストマシン３から見てオフライン状態にある、テープカートリッジ２がマウントされていない）ものを用いて、前述の後続データをテープカートリッジ２内の不揮発性メモリ４３から磁気テープ４１に書き写すために、以下の機能を有している。
【０１２０】
まず、ライブラリ制御回路７４は、テープライブラリ装置３０に搭載されているテープドライブ装置１の台数と、ホストマシン３で使用されるテープドライブ装置１の台数を把握する。
【０１２１】
また、ライブラリ制御回路７４は、空きドライブ（テープドライブ装置１のうち空いているもの、もしくはホストマシン３から見てオフライン状態にある、テープカートリッジ２がマウントされていない）での後続データの書き写し処理の動作設定を行う。なお、この動作設定の例としては、テープカートリッジ２の搬送に関するコマンド（例えば、ムーブ命令、ロード命令、アンロード命令等）をホストマシン３から所定時間受け取らなかった場合に、そのテープドライブ装置１は空きドライブと判断させて、書き写し処理を行うという設定がある。また、別の設定例として、使用するテープライブラリ装置３０の運用時間において、搭載するテープドライブ装置１の空き時間が明確な場合に、テープドライブ装置１毎に運用空き時間を設定しておき、その運用空き時間に書き写し処理を行うという設定がある。
【０１２２】
図３のテープライブラリ装置３０は以上のように構成されており、本実施例では、以下の動作を行う。
まず、ホストマシン３からの指示でテープドライブ装置１に装填されているテープカートリッジ２のアンマウント命令により、テープドライブ装置１はテープカートリッジ２の排出処理を行う。また、このとき、テープライブラリ装置３０は、ロボット機構７１にて、そのテープカートリッジ２の搬送を行う。
【０１２３】
このロボット機構７１によるテープカートリッジ２の搬送の際に、そのテープカートリッジ２のＣＭ４２に保持されている情報にアクセスして、前述した退避フラグ情報を読み出す。
【０１２４】
ここで、読み出した退避フラグ情報が、後続データが不揮発性メモリ４３に書き込まれていることを示している場合には、当該テープカートリッジ２を空きドライブにマウントする。そして、その空きドライブに後続データの書き写しを行わせた後に、当該テープカートリッジ２を空きドライブからアンマウントして、所定のカートリッジ・セルに収容する。なお、この、テープカートリッジ２に対する後続データの空きドライブによる書き写し動作を行うか否かの選択設定はテープライブラリ装置３０に対して行える。空きドライブでの書き写しの選択がされていない、もしくは空きドライブが無い場合は、当該テープカートリッジ２がマウントされていたテープドライブ装置１を用いて、前述した運用時間の空き時間を用いて書き写しが行われる。
【０１２５】
次に、図３のテープドライブ装置１において行われる、各種の制御処理について説明する。
まず図４について説明する。図４は、後続データ退避処理の処理内容を図解したフローチャートである。この処理は、ホストマシン３から送られてくるデータのテープカートリッジ２内の磁気テープ４１への書き込みを、所定の場合に不揮発性メモリ４３へと切り替える処理である。
【０１２６】
図４の処理は、基本的にＭＰＵ５１がフォーマッタ回路５６を制御することによって行われる処理であり、各処理ステップでＭＰＵ５１から所定の指示を受け取ると、フォーマッタ回路５６が各処理ステップで示されている各種の処理を実行する。
【０１２７】
なお、一般に、ＭＰＵが介在する処理には、マイクロプログラム（ファームウェア）処理に関する時間を要する。ここで、より高速に処理するためにハードウェア(この場合は、フォーマッタ回路５６)で全てを行うことが知られているが、本実施例の説明においては、便宜上、ＭＰＵ５１の指示を受けてフォーマッタ回路５６が各処理を実施する旨の説明とする。
【０１２８】
まず、Ｓ１０１では、ホストマシン３から送られてきた、テープカートリッジ２に保存するデータのテープカートリッジ２への転送速度を、当該データの特徴量に基づき算出する処理をフォーマッタ回路５６が行う。
【０１２９】
この転送速度の算出には、データの特徴量として、ホストマシン３から送られてきたデータのブロックサイズと、送られてきたデータの量（ファイルサイズ）と、送られてきたデータの連続性を表す指標のうちの少なくとも１つが用いられる。このうち、送られてきたデータの連続性を表す指標は、例えば、単位時間当たりに受け取ったデータの量が所定の閾値を上回った時間についての、所定時間に対する割合を求めることで算出する。例えば、所定時間の全時間において、単位時間当たりに受け取ったデータ量が所定の閾値を上回っている場合には、このようにして算出される値は最大値（１．０）となる。また、単位時間当たりに受け取ったデータ量が所定の閾値を下回る時間が長くなるほど、このようにして算出される値は小さくなる。
【０１３０】
次に、Ｓ１０２では、Ｓ１０１の処理により算出された転送速度を所定の閾値速度と比較し、当該転送速度が当該閾値速度以上であるか否かを判定する処理をフォーマッタ回路５６が行う。ここで、フォーマッタ回路５６は、当該転送速度が当該閾値速度以上であると判定したとき（判定結果がＹｅｓのとき）にはＳ１０４に処理を進め、当該転送速度が当該閾値速度未満であると判定したとき（判定結果がＮｏのとき）にはＳ１０３に処理を進める。
【０１３１】
なお、上述した閾値速度は、本実施例においては、前述したスピードマッチング機能によって対応することのできる速度（テープドライブ装置１の最大転送性能（非圧縮時）の３０％〜４０％程度の転送速度）に設定しておくようにする。
【０１３２】
次に、Ｓ１０３では、処理の進行を所定時間待機した上で、Ｓ１０２と同様の判定処理を行って、この待機によって転送速度が前述の閾値速度以上にまで回復したか否かを判定する処理をフォーマッタ回路５６が行う。ここで、フォーマッタ回路５６は、転送速度が閾値速度以上にまで回復したと判定したとき（判定結果がＹｅｓのとき）にはＳ１０４に処理を進め、転送速度が依然として閾値速度未満であると判定したとき（判定結果がＮｏのとき）にはＳ１０６に処理を進める。
【０１３３】
Ｓ１０１の処理により算出された転送速度の低下は、一時的な現象である場合も考えられる。このような場合には、不揮発性メモリ４３への後続データの退避よりも、スピードマッチング機能で対応する方が、後に行う後続データの書き写しの作業等の観点からは好ましいと考えられる場合もある。そこで、本実施例では、Ｓ１０２に続くＳ１０３の判定処理によって、転送速度の低下が一時的な現象か否かを判定し、一時的な現象と判定された場合には、後述するＳ１０４の処理によって、スピードマッチング機能で対応するようにしている。
【０１３４】
Ｓ１０４では、前述したスピードマッチング機能を用いて、ホストマシン３から送られてきたデータを、テープカートリッジ２内の磁気テープ４１に書き込む処理をフォーマッタ回路５６が行う。
【０１３５】
Ｓ１０５では、ホストマシン３から送られてきたデータの全てが、磁気テープ４１に書き込まれたか否かを判定する処理をフォーマッタ回路５６が行う。ここで、フォーマッタ回路５６は、当該データの全てを磁気テープ４１に書き込んだと判定したとき（判定結果がＹｅｓのとき）には、磁気テープへの書き込み処理を終了する。
【０１３６】
一方、フォーマッタ回路５６は、ホストマシン３からデータが引き続き送られてきており、データの書き込みが完了していないと判定したとき（判定結果がＮｏのとき）には、Ｓ１０１へ処理を戻して、上述した処理を再度行う。
【０１３７】
以降のＳ１０６からＳ１１５にかけての処理は、ホストマシン３から送られてきたデータの書き込み先を磁気テープ４１から不揮発性メモリ４３へと切り替えて、以降の後続データを不揮発性メモリ４３に書き込むための処理である。
【０１３８】
まず、Ｓ１０６では、テープドライブ装置１に対して予め設定されている、ホストマシン３への応答性に関する設定内容を確認する処理をフォーマッタ回路５６が行う。この処理により確認される設定内容は、データの書き込みを不揮発性メモリ４３に対して行った場合に、ホストマシン３から送られてくるデータの書き込みの指示に対するホストマシン３への応答を遅延させるか否かの設定である。
【０１３９】
次に、Ｓ１０７では、この直後のＳ１０９の処理で不揮発性メモリ４３へ書き込まれるデータ（後続データ）が、書き込み先を磁気テープ４１から不揮発性メモリ４３へ切り替えられた直後の先頭のデータであるか否かを判定する処理をフォーマッタ回路５６が行う。フォーマッタ回路５６は、ここで、書き込み対象である後続データが当該先頭のデータであると判定したとき（判定結果がＹｅｓのとき）にはＳ１０８に処理を進める。一方、フォーマッタ回路５６は、書き込み対象である後続データが当該先頭のデータではないと判定したとき（判定結果がＮｏのとき）にはＳ１０９に処理を進める。
【０１４０】
Ｓ１０８では、後続データの先頭のデータブロックを特定するＩＤ情報（識別情報）を、ＭＰＵ５１を介してメモリ５２に記憶させると共に、ＣＭ駆動及び制御回路６１を介してテープカートリッジ２内のＣＭ４２にも記録する処理をフォーマッタ回路５６が行う。このＩＤ情報は、後続データについての、ホストマシン３から送られてきたデータ上の位置を示す情報の一例である。このＩＤ情報を記憶しておくメモリ５２は、図１における後続データ位置情報記憶部１６に相当する機能を提供する。また、このＳ１０８の処理を実行してＩＤ情報をＣＭ４２に記憶させるフォーマッタ回路５６は、図１における管理情報記憶制御部２０に相当する機能を提供する。
【０１４１】
次に、Ｓ１０９では、ホストマシン３から送られてきた後続データを、テープカートリッジ２内の不揮発性メモリ４３に書き込む処理をフォーマッタ回路５６が行う。
次に、Ｓ１１０では、Ｓ１０６の処理により確認を行った設定に従ってホストインタフェース回路５４を制御して、テープカートリッジ２にデータを書き込んだことを示す応答情報をホストマシン３へ送信させて応答する処理をフォーマッタ回路５６が行う。ここで、ホストマシン３への応答を遅延させる設定がなされていたことが確認されていた場合には、フォーマッタ回路５６は、ホストインタフェース回路５４に行わせる応答情報の送信のための制御を所定時間遅延させた上で行う。なお、本実施例では、この制御を遅延させる時間を、スピードマッチング機能で対応できる下限で磁気テープ４１へデータを書き込んだ場合の応答に要する時間と同程度に設定しておく。
【０１４２】
このＳ１１０の処理を実行してホストインタフェース回路５４に行わせる応答情報の送信のための制御を所定時間遅延させるフォーマッタ回路５６は、図１における遅延部１５に相当する機能を提供する。また、応答情報の送信を行うホストインタフェース回路５４は、図１における応答情報送信部１４の機能を提供する。
【０１４３】
次に、Ｓ１１１では、この時点において不揮発性メモリ４３に書き込まれた後続データの磁気テープ４１への書き写しを行う際に推定される転送速度を算出する処理をフォーマッタ回路５６が行う。この転送速度の算出は、当該後続データについての前述した特徴量に基づき、前述したＳ１０１の処理におけるものと同様の手法により行われる。
【０１４４】
次に、Ｓ１１２では、Ｓ１１１の処理で算出された転送速度が、前述した閾値速度に満たない否かを判定する処理をフォーマッタ回路５６が行う。ここで、転送速度が閾値速度に満たないと判定したとき（判定結果がＹｅｓのとき）にはＳ１１３に処理を進め、転送速度が閾値速度以上であると判定したとき（判定結果がＮｏのとき）にはＳ１１４に処理を進める。
【０１４５】
Ｓ１１３では、所要時間フラグ(前述した第二待避フラグ情報)をテープカートリッジ２内のＣＭ４２にセットする処理をフォーマッタ回路５６が行う。この所要時間フラグがセットされている状態は、（例えば、前述したスピードマッチング機能を用いても）後続データの書き写しに通常よりも長い時間を要することが推定されることを表している。このＳ１１３の処理を実行して所要時間フラグをＣＭ４２にセットするフォーマッタ回路５６は、図１における管理情報記憶制御部２０に相当する機能を提供する。
【０１４６】
次に、Ｓ１１４では、後続データの不揮発性メモリ４３への書き込みが完了したか否かを判定する処理をフォーマッタ回路５６が行う。この後続データの書き込みの完了の判定は、例えば、ホストマシン３からのアンマウント指示（テープドライブ装置１に対するアンロード指示を受け取ったか否かによって行う。また、この判定は、例えば、不揮発性メモリ４３の記録容量一杯に後続データを書き込んだことを検出することによっても行われる。
【０１４７】
フォーマッタ回路５６は、このＳ１１４の判定処理において、後続データの不揮発性メモリ４３への書き込みが完了したと判定したとき（判定結果がＹｅｓのとき）には、Ｓ１１５に処理を進める。一方、フォーマッタ回路５６は、後続データの不揮発性メモリ４３への書き込みが未だ完了していないと判定したとき（判定結果がＮｏのとき）には、Ｓ１０７に処理を戻して、後続データの書き込みの処理を繰り返す。
【０１４８】
以上のＳ１０１からＳ１１４にかけての処理を実行するフォーマッタ回路５６は、図１におけるデータ書き込み部１３に相当する機能を提供する。
Ｓ１１５では、後続データを不揮発性メモリ４３へ書き込んで退避したことを表している退避フラグ(前述した第一待避フラグ情報)を、テープカートリッジ２内のＣＭ４２にセットする処理をフォーマッタ回路５６が行う。
【０１４９】
Ｓ１１６では、テープドライブ装置１にマウントされているテープカートリッジ２についての前述した所要時間フラグと退避フラグとの状態を、テープライブラリ装置３０のライブラリ制御回路７４に通知する処理をフォーマッタ回路５６が行う。この処理が完了すると、図４の後続データ退避処理が終了する。
【０１５０】
以上までの処理が後続データ退避処理である。
なお、上述した説明では、ホストマシン３から送られてきたデータをそのままテープカートリッジ２内の磁気テープ４１及び不揮発性メモリ４３に書き込むものとしている。この代わりに、ホストマシン３から送られてきたデータに対してフォーマッタ回路５６でデータ圧縮処理を施し、圧縮されたデータを磁気テープ４１及び不揮発性メモリ４３に書き込むようにしてもよい。
【０１５１】
また、図４の処理の実行中において、不揮発性メモリ４３への後続データの書き込みが、回路の故障等により異常終了した場合には、テープドライブ装置１は、例えばメディアエラーの処理を行うようにしてもよい。このようなエラー報告をすることで、ホストマシン３は、従来と同様にテープカートリッジ２へのデータ書き込みにおいて、メディアエラーが発生したと認識することができる。従って、この認識によって、ホストマシン３は、別のテープカートリッジ２を用いて書き直す等、不揮発性メモリ４３を意識することなく使用(運用)することができる。
【０１５２】
次に図５について説明する。図５は、退避中読み出し処理の処理内容を図解したフローチャートである。この処理は、テープドライブ装置１において図４の後続データ退避処理が実行された結果、不揮発性メモリ４３に後続データが退避されている（後続データの書き写し処理をまだ行っていない）テープカートリッジ２から、データの読み出しを行うための処理である。
【０１５３】
図５の処理は、ＭＰＵ５１がフォーマッタ回路５６を制御することによって行われる処理であり、各処理ステップでＭＰＵ５１から所定の指示を受け取ると、フォーマッタ回路５６が各処理ステップで示されている各種の処理を実行する。
【０１５４】
なお、一般に、ＭＰＵが介在する処理には、マイクロプログラム（ファームウェア）処理に関する時間を要する。ここで、より高速に処理するためにハードウェア(この場合は、フォーマッタ回路５６)で全てを行うことが知られているが、本実施例の説明においては、便宜上、ＭＰＵ５１の指示を受けてフォーマッタ回路５６が各処理を実施する旨の説明とする。
【０１５５】
図５の処理は、テープカートリッジ２で保持されているデータへのアクセスをホストインタフェース回路５４がホストマシン３から受信したことが検出されると開始される。なお、このアクセスを受信するホストインタフェース回路５４は、図１におけるアクセス受信部１７に相当する機能を提供する。
【０１５６】
図５において、まず、Ｓ２０１では、ホストマシン３から受信したアクセスから、当該アクセスに含まれている、読み出しを要求しているデータの論理ブロックのＩＤ情報（識別情報）を確認する処理をフォーマッタ回路５６が行う。
【０１５７】
次に、Ｓ２０２では、Ｓ２０１の処理で取得したＩＤ情報から、アクセス対象のデータが、磁気テープ４１で保持されているか、不揮発性メモリ４３で保持されているかを判定する処理をフォーマッタ回路５６が行う。この判定処理では、まず、前述した図４のＳ１０８の処理においてメモリ５２に記憶していた、後続データの先頭のＩＤ情報を参照する。そして、Ｓ２０１の処理で取得したＩＤ情報で特定されるデータの位置が、この後続データの先頭のＩＤ情報で特定される位置以降であるか否かの判定を行う。ここで、Ｓ２０１の処理で取得したＩＤ情報が、後続データの先頭よりも前の位置のデータについてのものである場合には、アクセス対象のデータは磁気テープ４１で保持されているとの判定を下してＳ２０３に処理を進める。一方、Ｓ２０１の処理で取得したＩＤ情報が、後続データの先頭以降の位置のデータについてのものである場合には、アクセス対象のデータは不揮発性メモリ４３で保持されているとの判定を下してＳ２０５に処理を進める。
【０１５８】
このＳ２０２の判定処理を行うフォーマッタ回路５６は、図１におけるアクセス先判定部１８に相当する機能を提供する。
Ｓ２０３では、Ｓ２０１の処理で取得したＩＤ情報によって特定されるデータを磁気テープ４１から読み出し、ホストインタフェース回路５４を制御して、読み出したデータをホストマシン３へ送信させる処理をフォーマッタ回路５６が行う。
【０１５９】
次に、Ｓ２０４では、アクセス対象のデータの全ての読み出しを完了したか否かを判定する処理をフォーマッタ回路５６が行う。フォーマッタ回路５６は、ここで、アクセス対象のデータの全ての読み出しを完了したと判定したとき（判定結果がＹｅｓのとき）には、図５の退避中読み出し処理を終了する。一方、フォーマッタ回路５６は、ここで、アクセス対象のデータの全ての読み出しが未だ完了していないと判定したとき（判定結果がＮｏのとき）には、Ｓ２０１へと処理を戻して、アクセス対象のデータの読み出しのための処理を継続する。
【０１６０】
次に、Ｓ２０５では、テープドライブ装置１に対して予め設定されている、ホストマシン３への応答性に関する設定内容を確認する処理をフォーマッタ回路５６が行う。この処理により確認される設定内容は、データの読み出しを不揮発性メモリ４３に対して行った場合に、ホストマシン３から送られてくるデータの読み出しの指示に対するホストマシン３への応答（読み出したデータの送信）を遅延させるか否かの設定である。
【０１６１】
Ｓ２０６では、Ｓ２０１の処理で取得したＩＤ情報によって特定されるデータを不揮発性メモリ４３から読み出す処理をフォーマッタ回路５６が行う。
Ｓ２０７では、Ｓ２０５の処理により確認を行った設定に従ってホストインタフェース回路５４を制御して、不揮発性メモリ４３から読み出したデータをホストマシン３へ送信させて応答する処理をフォーマッタ回路５６が行う。ここで、ホストマシン３への応答を遅延させる設定がなされていたことが確認されていた場合には、フォーマッタ回路５６は、ホストインタフェース回路５４に行わせるデータの送信のための制御を所定時間遅延させた上で行う。なお、本実施例では、この制御を遅延させる時間を、スピードマッチング機能で対応できる下限で磁気テープ４１へデータを書き込んだ場合の応答に要する時間と同程度に設定しておく。
【０１６２】
次に、Ｓ２０８では、アクセス対象のデータの全ての読み出しを完了したか否かを判定する処理をフォーマッタ回路５６が行う。フォーマッタ回路５６は、ここで、アクセス対象のデータの全ての読み出しを完了したと判定したとき（判定結果がＹｅｓのとき）には、図５の退避中読み出し処理を終了する。一方、フォーマッタ回路５６は、ここで、アクセス対象のデータの全ての読み出しが未だ完了していないと判定したとき（判定結果がＮｏのとき）には、Ｓ２０６へと処理を戻して、アクセス対象のデータの読み出しのための処理を継続する。
【０１６３】
以上のＳ２０１からＳ２０８にかけての処理を実行するフォーマッタ回路５６は、図１におけるデータ読み出し部１９に相当する機能を提供する。
以上までの処理が退避中読み出し処理である。
【０１６４】
なお、図５の処理の実行中において、不揮発性メモリ４３からのデータの読み出しが、回路の故障等により異常終了した場合には、テープドライブ装置１は、例えばメディアエラーの処理を行うようにしてもよい。このようなエラー報告をすることで、ホストマシン３は、従来と同様にテープカートリッジ２からのデータ読み込みにおいて、メディアエラーが発生したと認識し、読み込み処理を繰り返す等、不揮発性メモリ４３を意識することなく使用(運用)することができる。
【０１６５】
次に、図３のテープライブラリ装置３０において行われる、テープカートリッジ２内の不揮発性メモリ４３から磁気テープ４１への後続データの書き写しの動作について説明する。
【０１６６】
テープライブラリ装置３０は、ホストマシン３からのアンマウント指示を契機に、テープドライブ装置１に対して不揮発性メモリ４３から磁気テープ４１への書き写し処理を行う。但し、この命令に応じて実行される書き写しの動作は、前述した待避フラグ及び所要時間フラグの設定状態、テープライブラリ装置３０におけるテープドライブ装置１の搭載数や、そのうちの空きドライブの有無などにより、異なったものになる。
【０１６７】
また、前述したように、不揮発性メモリ４３から磁気テープ４１への後続データの書き写しにおいても、当該後続データのブロックサイズやファイルサイズが小さいデータである場合には、テープ動作を頻繁に起動・停止する動きとなる。従って、このような場合には、データの転送性能は低いものとなる結果、処理に要する時間は長くなってしまう。そこで、テープライブラリ装置３０は、そのようなデータが待避されたことを表している、前述した所要時間フラグがセットされているテープカートリッジ２についての後続データの書き写しは、空きドライブを用いて行うことを基本とする。
【０１６８】
ここで図６について説明する。図６は、ライブラリ側後続データ書き写し制御処理の処理内容を図解したフローチャートである。この処理は、後続データの書き写し動作をテープライブラリ装置３０に行わせるために、テープライブラリ装置３０のライブラリ制御回路７４が行う処理である。
【０１６９】
この図６の処理は、ホストマシン３から送られてくる各種の命令をライブラリ制御回路７４が受け取る度に開始される。
図６において、まず、Ｓ３０１では、ホストマシン３から受け取った命令がテープカートリッジ２のアンマウント（排出）の指示であるか否かを判定する処理をライブラリ制御回路７４が行う。ライブラリ制御回路７４は、ここで、受け取った命令がアンマウントの指示であると判定したとき（判定結果がＹｅｓのとき）にはＳ３０２に処理を進める。一方、ライブラリ制御回路７４は、ここで、受け取った命令がアンマウントの指示ではなかったと判定したとき（判定結果がＮｏのとき）には、この図６の処理を終了して、受け取った命令に応じた処理の実行を開始する。このＳ３０１の判定処理を行うライブラリ制御回路７４は、図２におけるテープライブラリ装置制御部３１に相当する機能を提供する。
【０１７０】
次に、Ｓ３０２では、前述した図４のＳ１１５の処理の実行によってセットされる退避フラグが、アンマウントの指示の対象であるテープカートリッジ２のＣＭ４２にセットされているか否かを判定する処理をライブラリ制御回路７４が行う。ここで、ＣＭ４２からの待避フラグ情報の読み取りは、Ｓ３０１からＳ３０２に移行する際に、テープカートリッジ２を排出し、ロボット機構７１にテープカートリッジ２を把持し、ＣＭリーダ７３でＣＭ４２を読み出したものとする。もちろん、テープカートリッジ２をテープドライブ装置１内にある状態で、テープドライブ装置１のメモリ５２に記録されているＣＭ情報を読み出して判断してもよい。ライブラリ制御回路７４は、ここで、退避フラグがセットされていると判定したとき（判定結果がＹｅｓのとき）にはＳ３０４に処理を進める。一方、ライブラリ制御回路７４は、ここで、退避フラグがセットされておらず、後続データの不揮発性メモリ４３への退避が行われていないと判定したとき（判定結果がＮｏのとき）にはＳ３０３に処理を進める。
【０１７１】
Ｓ３０３では、ライブラリ制御回路７４は、ロボット制御回路７２に所定の指示を与えて所定のマガジンセルへ搬送完了するところまでをアンマウントとする処理を行う。但し、前述のとおり、テープカートリッジ２がテープドライブ装置１内にある場合は、テープドライブ装置１とロボット制御回路７２に所定の指示を与えて、テープドライブ装置１からテープカートリッジ２を排出させて、テープドライブ装置１からテープカートリッジ２を引き出し、所定のマガジンセルへ搬送完了する一連のアンマウント動作をロボット機構７１に行わせる処理を行う。その後は、この図６の処理を終了する。
【０１７２】
Ｓ３０４では、前述した図４のＳ１１３の処理の実行によってセットされる所要時間フラグ(前述した第二待避フラグ情報)が、アンマウントの指示の対象であるテープカートリッジ２のＣＭ４２にセットされているか否かを判定する処理をライブラリ制御回路７４が行う。前述のように、ＣＭ４２からの待避フラグ情報の読み取りは、Ｓ３０１からＳ３０２に移行する際に、テープカートリッジ２を排出し、ロボット機構７１にテープカートリッジ２を把持し、ＣＭリーダ７３でＣＭ４２を読み出したものとする。もちろん、テープカートリッジ２をテープドライブ装置１内にある状態で、テープドライブ装置１のメモリ５２に記録されているＣＭ情報を読み出して判断してもよい。ライブラリ制御回路７４は、ここで、所要時間フラグがセットされており、後続データの書き写しに通常よりも長い時間を要することが推定されていると判定したとき（判定結果がＹｅｓのとき）にはＳ３０６に処理を進める。一方、ライブラリ制御回路７４は、ここで、所要時間フラグがセットされておらず、後続データの書き写しに要する時間は通常と同程度であると推定されていると判定したとき（判定結果がＮｏのとき）にはＳ３０５に処理を進める。なお、このＳ３０４の判定処理を行うライブラリ制御回路７４は、図２におけるテープドライブ装置制御部３２、書き写し判断情報部３７、退避フラグ判定部３６、及びテープライブラリ装置制御部３１相当する機能を提供する。
【０１７３】
Ｓ３０５では、テープライブラリ装置３０についての現在の各種の状態を確認して、この状態に応じて、後続データの書き写しの処理を行うテープドライブ装置１を選択する処理をライブラリ制御回路７４が行う。ライブラリ制御回路７４は、ここで、後続データの書き写しの処理を、空きドライブ（テープライブラリ装置３０が備えている複数のテープドライブ装置１のうちで、この時点で不使用であるもの）で行うとの判断を下したときには、Ｓ３０６に処理を進める。一方、ライブラリ制御回路７４は、ここで、後続データの書き写しの処理を、テープカートリッジ２がこの時点でマウントされている現用のテープドライブ装置１で行うとの判断を下したときには、Ｓ３１２に処理を進める。ここで、現行のテープドライブ装置１を使用するにあたり、待避フラグ情報をテープカートリッジ２から読み取っていた場合、そのテープカートリッジ２はロボット機構７１にある。このため、再度現行テープドライブ装置１へテープカートリッジ２を再マウントする必要があるが、テープドライブ装置１から待避フラグ情報を読み取っていた場合には、テープカートリッジ２はテープドライブ装置１内にあるので、再マウント動作は不要となる。
【０１７４】
なお、この処理により確認を行うテープライブラリ装置３０の状態とは、テープライブラリ装置３０に備えられているテープドライブ装置１の台数や、各テープドライブ装置１の使用状態などである。例えば、後続データの書き写しを常に空きドライブで行うようにすることが予めテープライブラリ装置３０に設定されている場合には、ライブラリ制御回路７４は、後続データの書き写しの処理を、空きドライブで行うとの判断を下す。また、例えば、テープライブラリ装置３０に空きドライブが存在する場合に、後続データの書き写し処理に長い時間を要することが推定されている場合には、ライブラリ制御回路７４は、後続データの書き写しの処理を、空きドライブで行うとの判断を下す。その一方、例えば、テープライブラリ装置３０に複数備えられているテープドライブ装置１の全てが使用中等の理由で使用できない場合には、ライブラリ制御回路７４は、後続データの書き写しの処理を、現用のテープドライブ装置１で行うとの判断を下す。また、例えば、テープライブラリ装置３０に備えられているテープドライブ装置１が１台のみであった場合には、ライブラリ制御回路７４は、後続データの書き写しの処理を、現用のテープドライブ装置１で行うとの判断を下す。
【０１７５】
以降のＳ３０６からＳ３１１にかけての処理は、後続データの書き写しの処理を、空きドライブで行うようにする処理である。
まず、Ｓ３０６では、ライブラリ制御回路７４は、ロボット制御回路７２に所定の指示を与えて所定のマガジンセルへ搬送完了するところまでをアンマウントとする処理を行う。但し、前述のとおり、テープカートリッジ２がテープドライブ装置１内にある場合は、テープドライブ装置１とロボット制御回路７２に所定の指示を与えて、テープドライブ装置１からテープカートリッジ２を排出させて、テープドライブ装置１からテープカートリッジ２を引き出し、所定のマガジンセルへ搬送完了する一連のアンマウント動作をロボット機構７１に行わせる処理を行う。
【０１７６】
次に、Ｓ３０７では、ライブラリ制御回路７４は、ロボット制御回路７２に所定の指示を与えて、Ｓ３０６で空きドライブ位置に搬送されたテープカートリッジ２を空きドライブへ挿入し、空きドライブに対してロード動作を命令する、一連のマウント動作を行わせる処理を行う。
【０１７７】
以上のＳ３０６及びＳ３０７の処理によってテープカートリッジ２のアンマウント及びマウントを行うロボット機構７１は、図２におけるテープドライブ装置制御部３２、テープライブラリ装置制御部３１、ロボット制御部３４、及びロボット部３３に相当する機能を提供する。
【０１７８】
次に、Ｓ３０８では、テープカートリッジ２がマウントされたテープドライブ装置１に対して、後続データの書き写し処理の実行を指示する所定の書き写しコマンドを発行する処理をライブラリ制御回路７４が行う。すると、Ｓ３０９において、当該書き写しコマンドを受け取ったテープドライブ装置１によって、後続データの書き写し処理が行われる。この書き写し処理の詳細は後述する。
なお、Ｓ３０８の処理を行うライブラリ制御回路７４は、図２におけるテープドライブ装置制御部３２に相当する機能を提供する。
【０１７９】
次に、Ｓ３１０では、書き写し処理の完了を表している所定の通知をテープドライブ装置１から受け取ったか否かを判定する処理をライブラリ制御回路７４が行う。
次に、Ｓ３１１では、ライブラリ制御回路７４自身が有しているテープカートリッジ２についての媒体管理情報（ライブラリ情報）を更新して、テープカートリッジ２についての書き写し処理が完了した旨を反映させる処理をライブラリ制御回路７４が行う。この処理を終えると図６の処理が終了する。
【０１８０】
以降のＳ３１２からＳ３１６にかけての処理は、後続データの書き写しの処理を、現用ドライブで行うようにする処理である。
まず、Ｓ３１２では、ロボット機構７１にあるテープカートリッジ２を、再度現行テープドライブ装置１へ再マウントする処理を行う。
【０１８１】
次に、Ｓ３１３では、テープカートリッジ２がマウントされている現用のテープドライブ装置１に対して、後続データの書き写し処理の実行を指示する所定の書き写しコマンドを発行する処理をライブラリ制御回路７４が行う。すると、Ｓ３１４において、当該書き写しコマンドを受け取ったテープドライブ装置１によって、後続データの書き写し処理が行われる。この書き写し処理の詳細は後述する。
【０１８２】
次に、Ｓ３１５では、書き写し処理の完了を表している所定の通知をテープドライブ装置１から受け取ったか否かを判定する処理をライブラリ制御回路７４が行う。
次に、Ｓ３１６では、ライブラリ制御回路７４自身が有しているテープカートリッジ２についての管理情報（ライブラリ情報）を更新して、テープカートリッジ２についての書き写し処理が完了した旨を反映させる処理をライブラリ制御回路７４が行う。この処理を終えると図６の処理が終了する。
【０１８３】
以上までの処理がライブラリ側後続データ書き写し制御処理である。この処理の終了後、ライブラリ制御回路７４は、テープドライブ装置１に対し、テープカートリッジ２のアンロードを指示する命令を発行し、テープカートリッジ２を保管するカートリッジセルに搬送する等の処理を行う。
【０１８４】
なお、図６のＳ３１３からＳ３１６の処理である、現用ドライブでの後続データの書き写しの処理は、例えば、現用ドライブで実行される他の処理が実行されていない、空き時間を利用して行うようにしてもよい。ここで、現用ドライブでの空き時間は、例えば、以下のようにして検出することができる。
【０１８５】
まず、テープライブラリ装置３０に対して、現用ドライブの運用時間の設定が行える場合には、その設定された運用時間外の時間を利用して、現用ドライブでの後続データの書き写しの処理を行うようにする。
【０１８６】
また、現用ドライブに対して発行される各種の命令の発行時間間隔が予め判明している場合には、現用ドライブでの後続データの書き写しの処理を、この発行時間間隔の合間に行うようにする。
【０１８７】
次に図７について説明する。図７は、図６のＳ３０９及びＳ３１４の処理である、ドライブ側後続データ書き写し制御処理の処理内容を図解したフローチャートである。この処理は、後続データの書き写し動作をテープドライブ装置１で行うための処理である。
【０１８８】
図７の処理は、ＭＰＵ５１がフォーマッタ回路５６を制御することによって行われる処理であり、各処理ステップでＭＰＵ５１から所定の指示を受け取ると、フォーマッタ回路５６が各処理ステップで示されている各種の処理を実行する。
【０１８９】
まず、Ｓ４０１では、前述した図６のＳ３０８及びＳ３１３の処理にあたり、テープドライブ装置１に対してロボットインタフェース回路５３及びＭＰＵ５１を介して、再度ロードコマンド処理を実行する。なお、このときに既にテープドライブ装置１が書き写し処理できる状態にあったとしても構わないとする。
【０１９０】
次に、Ｓ４０２では、テープライブラリ装置３０から送られてくる書き写しコマンドをロボットインタフェース回路５３及びＭＰＵ５１を介して受け取る処理をフォーマッタ回路５６が行う。そして、続くＳ４０３において、磁気テープ４１を、データが記録されている最後尾の位置（ＥＯＤマークが付されている位置）まで移動する処理を、フォーマッタ回路５６が行う。
【０１９１】
次に、Ｓ４０４では、マウントされているテープカートリッジ２内の不揮発性メモリ４３で保持されている後続データを読み出し、この後続データを、磁気テープ４で既に保持されているデータに続けて書き写す処理をフォーマッタ回路５６が行う。この処理を行うフォーマッタ回路５６は、図１における後続データ書き写し部２２に相当する機能を提供する。
【０１９２】
次に、Ｓ４０５では、不揮発性メモリ４３で保持されている後続データの書き写しが全て完了したか否かを判定する処理をフォーマッタ回路５６が行う。フォーマッタ回路５６は、ここで、書き写しが完了したと判定したとき（判定結果がＹｅｓのとき）にはＳ４０６に処理を進める。一方、フォーマッタ回路５６は、ここで、書き写しが未だ完了していないと判定したとき（判定結果がＮｏのとき）には、Ｓ４０４へ処理を戻して書き写し処理を継続する。
【０１９３】
次に、Ｓ４０６では、磁気テープ４１への後続データの書き写し動作が正常に終了したか否かを判定する処理をフォーマッタ回路５６が行う。ここで、フォーマッタ回路５６は、書き写し動作が正常に終了したと判定したとき（判定結果がＹｅｓのとき）にはＳ４０７に処理を進める。一方、フォーマッタ回路５６は、ここで、書き写し動作が何らかの理由により異常終了したと判定したとき（判定結果がＮｏのとき）にはＳ４０８に処理を進める。この判定処理を行うフォーマッタ回路５６は、図１における正常終了判定部２３に相当する機能を提供する。
【０１９４】
Ｓ４０７では、磁気テープ４１における、書き写された後続データの最後尾の位置にＥＯＤマークを書き込む処理をフォーマッタ回路５６が行う。そして、続くＳ４０８において、テープカートリッジ２のＣＭ４２で保持されているＥＯＤの情報を更新する処理をフォーマッタ回路５６が行う。
【０１９５】
次に、Ｓ４０９では、テープカートリッジ２での後続データの書き写し処理が正常に終了したことをテープライブラリ装置３０に報告する処理をフォーマッタ回路５６が行う。この報告を受け取ったテープライブラリ装置３０は、前述した図６のＳ３１１若しくはＳ３１６の処理において、テープカートリッジ２についてのライブラリ情報を更新して、書き写し処理が正常に完了した旨を反映させる処理をライブラリ制御回路７４が行う。
【０１９６】
次に、Ｓ４１０では、磁気テープ４１への後続データの書き写し動作が正常に終了したので、テープカートリッジ２内の不揮発性メモリ４３で保持されていた後続データを破棄する処理をフォーマッタ回路５６が行い、その後はこの図７の処理を終了する。この処理を行うフォーマッタ回路５６は、図１における後続データ破棄部２４に相当する機能を提供する。
【０１９７】
Ｓ４１２では、テープカートリッジ２のＣＭ４２で保持されているＥＯＤの情報を更新する処理をフォーマッタ回路５６が行う。
次に、Ｓ４１３では、テープカートリッジ２での後続データの書き写し処理が異常終了したことをテープライブラリ装置３０に報告する処理をフォーマッタ回路５６が行う。この報告を受け取ったテープライブラリ装置３０は、前述した図６のＳ３１１若しくはＳ３１６の処理において、テープカートリッジ２についてのライブラリ情報を更新して、書き写し処理が異常終了した旨を反映させる処理をライブラリ制御回路７４が行う。
【０１９８】
上述したＳ４１３の処理の終了後は、この図７の処理を終了する。従って、テープカートリッジ２での後続データの書き写し処理が異常終了した場合には、不揮発性メモリ４３で保持されていた後続データは破棄されずにそのまま継続して保持される。
【０１９９】
以上までの処理が、ドライブ側後続データ書き写し制御処理である。
なお、この図７のＳ４１２の処理において、フォーマッタ回路５６は、更に、データのテープカートリッジ２への書き込み禁止を表しているフラグをＣＭ４２にセットする処理を行うようにしてもよい。この場合、テープドライブ装置１は、このフラグがＣＭ４２にセットされているテープカートリッジ２に対するデータの書き込み要求をホストマシン３から受け取った場合には、例えば、媒体エラーの発生を示す情報を、ホストマシン３に返答するようにする。このようにすることで、テープカートリッジ２に何らかの問題が発生していることを、ホストマシン３が認識できるようになる。
【０２００】
なお、以上までに説明した後続データの書き写しの処理の実行途中に、ホストマシン３からデータのアクセス要求を受け取った場合には、テープライブラリ装置３０若しくはテープドライブ装置１は、他の処理の実行中を示す情報を、返答するようにしてもよい。
【０２０１】
図３のテープライブラリ装置３０は以上のように動作し、テープドライブ装置１が、前述したようにして、テープカートリッジ２に設けた不揮発性メモリ４３に後続データの書き込みを行う。従って、ＬＴＯ規格のテープドライブ装置が苦手としているような、ブロックサイズやファイルサイズの小さなデータの書き込み・読み出しを高い転送速度で行うことができる。
【０２０２】
また、不揮発性メモリ４３に退避した後続データの先頭のデータブロックを特定するＩＤ情報をテープドライブ装置１が保持している。従って、後続データの不揮発性メモリ４３から磁気テープ４１への書き写しの処理を行う前であっても、テープカートリッジ２で保持されているデータへのアクセスを行うことができる。
【０２０３】
また、図３のテープライブラリ装置３０は、後続データの不揮発性メモリ４３から磁気テープ４１への書き写しの処理を、テープライブラリ装置３０が備えている空きドライブで行うようにしている。従って、書き写しに時間を要すると推定される後続データであっても、書き写しの処理の実行がホストマシン３からは遮蔽されるので、ホストマシン３から見た、書き写しの処理に起因するテープライブラリ装置３０の性能低下が防止される。
【符号の説明】
【０２０４】
１、１−１、１−２、１−３  テープドライブ装置
２  テープカートリッジ
３  ホストマシン
４、４１  磁気テープ
５  不揮発性半導体メモリ
６  管理情報記憶部
１１  比較部
１２  速度決定部
１３  データ書き込み部
１４  応答情報送信部
１５  遅延部
１６  後続データ位置情報記憶部
１７  アクセス受信部
１８  アクセス先判定部
１９  データ読み出し部
２０  管理情報記憶制御部
２１  誤り判定部
２２  後続データ書き写し部
２３  正常終了判定部
２４  後続データ破棄部
３０  テープライブラリ装置
３１  テープライブラリ装置制御部
３２  テープドライブ装置制御部
３３  ロボット部
３４  ロボット制御部
３５  管理情報記憶読み取り部
３６  退避フラグ判定部
３７  書き写し判断情報部
３８  オペレータパネル
３９  監視用端末
４２  ＣＭ
４３  不揮発性メモリ
４４  制御回路
５１  ＭＰＵ
５２  メモリ
５３  ロボットインタフェース回路
５４  ホストインタフェース回路
５５  データバッファ回路
５６  フォーマッタ回路
５７  ライト・リード回路
５８  ライトアンプ
５９  磁気ヘッド
６０  リードアンプ
６１  ＣＭ駆動及び制御回路
７１  ロボット機構
７２  ロボット制御回路
７３  ＣＭリーダ
７４  ライブラリ制御回路
【図１】
0005857521.tif 000002
【図２】
0005857521.tif 000003
【図４】
0005857521.tif 000004
【図５】
0005857521.tif 000005
【図６】
0005857521.tif 000006
【図７】
0005857521.tif 000007
【図３】
0005857521.tif 000008