(57)【特許請求の範囲】
【請求項１】
複数のテープ記憶媒体およびその駆動機構を有するテープ記憶装置と、ホストコンピュータとの間に介設され、かつホストコンピュータとテープ記憶装置との間で授受されるデータを仮想的なテープボリュームとして記憶可能な記憶装置であって、
仮想的なテープボリュームを記憶する仮想記憶領域と、
該仮想記憶領域とホストコンピュータとテープ記憶装置との間のデータ転送を制御するデータ転送制御手段と、
仮想的なテープボリュームの運用形態についての運用属性に関する情報を格納するデータベースと、
を具備し、
前記データ転送制御手段は、同一の運用属性を有する仮想的なテープボリュームをグループ化し、そのグループ化された仮想的なテープボリューム群の内のいずれかに対してホストコンピュータから要求が発せられたときに、そのグループ化された仮想的なテープボリューム群に含まれる他の仮想的なテープボリュームを、確定して仮想記憶領域に展開することを特徴とする記憶装置。
【請求項２】
前記データ転送制御手段は、グループ化された前記仮想的なテープボリューム群の内のいずれかに対してホストコンピュータから書き込み要求が発せられたときには、そのグループ化された仮想的なテープボリューム群に含まれるいずれの仮想的なテープボリュームに対しても、実際のテープボリュームからの展開を行わないことを特徴とする請求項１に記載の記憶装置。
【請求項３】
前記データ転送制御手段は、グループ化された前記仮想的なテープボリューム群を実際のテープボリュームに書き出す際に、仮想的なテープボリュームの属性に基づいて、一つの実際のテープボリュームに複数の仮想的なテープボリュームをまとめて書き出すか、または一つの実際のテープボリュームに一つの仮想的なテープボリュームのみを書き出すことを特徴とする請求項１に記載の記憶装置。
【請求項４】
前記データ転送制御手段は、仮想的なテープボリュームの属性に基づいて、仮想記憶領域に展開されている複数の仮想的なテープボリュームのうち、最後にデータが書き込まれてから所定時間が経過しているものを自動的に実際のテープボリュームに書き出すことを特徴とする請求項１に記載の記憶装置。
【請求項５】
前記データ転送制御手段は、仮想的なテープボリュームの属性に基づいて、仮想記憶領域に展開されている複数の仮想的なテープボリュームのうち、今までに全く実際のテープボリュームに書き出されていないものを自動的に実際のテープボリュームに書き出すことを特徴とする請求項１に記載の記憶装置。
【請求項６】
前記データ転送制御手段は、仮想的なテープボリュームの属性に基づいて、仮想記憶領域に展開されている複数の仮想的なテープボリュームのうち、ホストコンピュータからの要求頻度が相対的に低いものを自動的に実際のテープボリュームに書き出すことを特徴とする請求項１に記載の記憶装置。
【請求項７】
前記データ転送制御手段は、仮想的なテープボリュームを自動的に実際のテープボリュームに書き出している最中に、書き出し中の当該仮想的なテープボリュームに対してホストコンピュータから要求が発せられた場合には、その書き出し処理を中断することを特徴とする請求項４、５または６に記載の記憶装置。
【請求項８】
前記データ転送制御手段は、同一時刻近辺で使用されたことのある少なくとも２つのテープボリュームの内、いずれか一方のボリュームの展開をする場合は、他のボリュームも展開することを特徴とする請求項１に記載の記憶装置。
【請求項９】
前記データ転送制御手段は、同一時刻近辺で使用されたことのある少なくとも２つの仮想的なテープボリュームの内、いずれか一方のボリュームを実際のテープに書き出す場合は、他のボリュームも実際のテープに書き出すことを特徴とする請求項１に記載の記憶装置。
【請求項１０】
全ての仮想的なテープボリュームの運用属性に関する情報を収集して記録した仮想的な属性情報テープボリュームと、
ホストコンピュータにより前記仮想的な属性情報テープボリュームが編集され、その編集による属性情報テープボリュームの変更内容を、前記データベースに格納された各仮想的なテープボリュームの運用属性に関する情報に反映する手段と、
をさらに具備することを特徴とする請求項１に記載の記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばメインフレーム等のコンピュータ装置に接続される記憶装置に関し、特にハードディスク等を磁気テープの代用に用いる仮想テープ装置に関する。
【０００２】
【従来の技術】
従来よりコンピュータシステムでは、ホストコンピュータのハードディスクに記憶された情報をバックアップするために、主として、記憶媒体として複数の磁気テープを搭載することによりギガビットやテラビットオーダーの記憶容量を有するテープライブラリ装置が用いられている。しかし従来の磁気テープは、磁気テープ１巻につき一つのファイルを記憶させるようなフォーマット形式を採用しているため、バックアップされるファイルの容量が磁気テープ１巻の記憶可能な容量よりも小さい場合には、磁気テープの一部しかデータの記憶に使用されず、従って媒体コストが割高になってしまう。また、磁気テープ１巻に一つのファイルを記憶させると、バックアップする必要のあるファイルの増加数だけ磁気テープの本数を増やさなければならず、テープライブラリ装置の増設頻度が高くなってしまう。
【０００３】
そこで磁気テープの媒体コストを低減するために、１巻の磁気テープに複数のファイルを記憶させることができるマルチファイル機能を有するテープ装置も開発されている。しかしマルチファイル化すると、ホストコンピュータ側で履歴管理やカタログ管理などの面倒な管理を行う必要が生じたり、同時に使用されるファイルをマルチファイル化することができないなどの運用面での問題が生じる。
【０００４】
また、磁気テープへのアクセスは、ハードディスク等に比べて低速であるため、データ量が飛躍的に増大している現状では、バックアップ業務に要する時間も著しく長くなってしまい、通常の業務に支障をきたすおそれがある。
【０００５】
このような事情を踏まえて、近時、磁気テープよりも高速にアクセス可能なハードディスクを磁気テープの代わりに用いる仮想テープ装置が開発されている。この仮想テープ装置では、ホストコンピュータに接続されたディスクサブシステム内のハードディスク上で仮想的にテープ装置をエミュレーションすることにより、従来のテープ装置の技術をそのまま利用して実際のテープ装置よりも高速に記憶媒体にアクセスすることが可能になっている。
【０００６】
そして、ディスクサブシステム内のハードディスクに記憶された仮想テープボリュームを実際の物理的なテープ（本明細書では物理的なテープを「実テープ」とする）にステージアウトする、すなわち書き込む際に、ディスクサブシステムがハードディスク上の複数の仮想テープボリュームをまとめて単一の実テープにステージアウトすることによって、実テープの必要数をできるだけ削減し、それによってテープライブラリ装置の小型化を図るとともに、媒体コストの低減を実現している。
【０００７】
【発明が解決しようとする課題】
しかし、従来の仮想テープ装置では、同時に使用したい複数のテープボリュームが同一の実テープにステージアウトされていることもあり、このような場合には、その実テープの内容を全て読み込まなければならないことがあり、仮想テープ装置を設けずに実テープボリュームから直接データを読み込む場合と同程度かそれよりも性能が劣ってしまうおそれがある。
【０００８】
本発明は、上記に鑑みてなされたもので、ホストコンピュータが効率よくアクセスすることができる仮想テープ装置よりなる記憶装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明者らは従来の仮想テープ装置における欠点を解消すべく、鋭意検討を重ねた結果、テープボリュームには運用形態による属性が存在することに着目し、仮想テープボリュームをその属性に応じてグループ化して取り扱うことがよいとの結論を得た。すなわち本発明者らの研究によれば、テープボリュームには、定期的に使用されるものや、不定期に使用されるものがあったり、複数のテープボリュームを同時にマウントして使用する必要があるものや、単独で使用されるものもある。しかしながら従来の仮想テープ装置では、そのような属性による区別をして仮想テープボリュームを取り扱うようにはなっていない。
【００１０】
上記の目的を達成するために、請求項１に係る記憶装置は、複数のテープ記憶媒体およびその駆動機構を有するテープ記憶装置と、ホストコンピュータとの間に介設され、かつホストコンピュータとテープ記憶装置との間で授受されるデータを仮想的なテープボリュームとして記憶可能な記憶装置であって、仮想的なテープボリュームを記憶する仮想記憶領域と、該仮想記憶領域とホストコンピュータとテープ記憶装置との間のデータ転送を制御するデータ転送制御手段と、仮想的なテープボリュームの運用形態についての運用属性に関する情報を格納するデータベースと、を具備し、前記データ転送制御手段は、同一の運用属性を有する仮想的なテープボリュームをグループ化し、そのグループ化された仮想的なテープボリューム群の内のいずれかに対してホストコンピュータから要求が発せられたときに、そのグループ化された仮想的なテープボリューム群に含まれる他の仮想的なテープボリュームを、確定して仮想記憶領域に展開することを特徴とする。
【００１１】
この発明によれば、グループ化された仮想的なテープボリューム群が予め仮想記憶領域に展開されるため、そのグループ内の仮想的なテープボリュームに対してホストコンピュータから要求が発せられた場合に、その要求に対する応答速度が向上する。
【００１２】
また、請求項２に係る記憶装置は、請求項１記載の発明において、前記データ転送制御手段は、グループ化された前記仮想的なテープボリューム群の内のいずれかに対してホストコンピュータから書き込み要求が発せられたときには、そのグループ化された仮想的なテープボリューム群に含まれるいずれの仮想的なテープボリュームに対しても、実際のテープボリュームからの展開を行わないことを特徴とする。
【００１３】
この発明によれば、書き込み要求が発せられた仮想的なテープボリュームが属するグループ内の他の仮想的なテープボリュームに対しても続いて書き込み要求が発せられる可能性が高く、実際にグループ内の他の仮想的なテープボリュームに対して続いて書き込み要求が発せられた場合、その書き込み対象であるテープボリュームは、実際のテープボリュームから仮想記憶領域に展開されていても、書き込みによって再び実際のテープボリュームに戻されるため、書き込み対象であるテープボリュームが展開される仮想記憶領域が無駄に使われるだけであるが、そのグループに対して仮想記憶領域での展開を行わないことによりそのような仮想記憶領域の無駄使いを防ぐことができる。
【００１４】
また、請求項３に係る記憶装置は、請求項１記載の発明において、前記データ転送制御手段は、グループ化された前記仮想的なテープボリューム群を実際のテープボリュームに書き出す際に、仮想的なテープボリュームの属性に基づいて、一つの実際のテープボリュームに複数の仮想的なテープボリュームをまとめて書き出すか、または一つの実際のテープボリュームに一つの仮想的なテープボリュームのみを書き出すことを特徴とする。
【００１５】
この発明によれば、一つの実際のテープボリュームに複数の仮想的なテープボリュームをまとめて書き出すようにすれば、実際のテープボリュームの数が減り、また、一つの実際のテープボリュームに一つの仮想的なテープボリュームのみを書き出すようにすれば、同時に複数のテープボリュームにアクセスすることができる。
【００１６】
また、請求項４に係る記憶装置は、請求項１記載の発明において、前記データ転送制御手段は、仮想的なテープボリュームの属性に基づいて、仮想記憶領域に展開されている複数の仮想的なテープボリュームのうち、最後にデータが書き込まれてから所定時間が経過しているものを自動的に実際のテープボリュームに書き出すことを特徴とする。
【００１７】
この発明によれば、最後にデータが書き込まれてから所定時間が経過している仮想的なテープボリュームを自動的に実際のテープボリュームに書き出すことにより、ホストコンピュータに負荷をかけずに仮想記憶領域の空き領域を確保することができる。
【００１８】
また、請求項５に係る記憶装置は、請求項１記載の発明において、前記データ転送制御手段は、仮想的なテープボリュームの属性に基づいて、仮想記憶領域に展開されている複数の仮想的なテープボリュームのうち、今までに全く実際のテープボリュームに書き出されていないものを自動的に実際のテープボリュームに書き出すことを特徴とする。
【００１９】
この発明によれば、今までに全く実際のテープボリュームに書き出されていない仮想的なテープボリュームを自動的に実際のテープボリュームに書き出すことにより、ホストコンピュータに負荷をかけずに仮想記憶領域の空き領域を確保することができるだけでなく、万一仮想記憶領域の物理的障害により仮想記憶領域からデータが消失してしまっても、そのデータが実際のテープボリュームにバックアップされているため、そのデータを実際のテープボリュームから復元することができる。
【００２０】
また、請求項６に係る記憶装置は、請求項１記載の発明において、前記データ転送制御手段は、仮想的なテープボリュームの属性に基づいて、仮想記憶領域に展開されている複数の仮想的なテープボリュームのうち、ホストコンピュータからの要求頻度が相対的に低いものを自動的に実際のテープボリュームに書き出すことを特徴とする。
【００２１】
この発明によれば、ホストコンピュータからの要求頻度が相対的に低い仮想的なテープボリュームを自動的に実際のテープボリュームに書き出すことにより、ホストコンピュータに負荷をかけずに仮想記憶領域の無駄をなくして仮想記憶領域の空き領域を確保することができる。
【００２２】
また、請求項７に係る記憶装置は、請求項４、５または６記載の発明において、前記データ転送制御手段は、仮想的なテープボリュームを自動的に実際のテープボリュームに書き出している最中に、書き出し中の当該仮想的なテープボリュームに対してホストコンピュータから要求が発せられた場合には、その書き出し処理を中断することを特徴とする。
【００２３】
この発明によれば、仮想的なテープボリュームの自動的な書き出し処理中にその仮想的なテープボリュームに対してホストコンピュータから要求があった場合に、その自動的な書き出し処理を中断することによって、書き出し処理が完了するのを待たずに、ホストコンピュータの要求に応答することができるので、ホストコンピュータのアクセス効率が向上する。
【００２４】
また、請求項８に係る記憶装置は、請求項１記載の発明において、前記データ転送制御手段は、同一時刻近辺で使用されたことのある少なくとも２つのテープボリュームの内、いずれか一方のボリュームの展開をする場合は、他のボリュームも展開することを特徴とする。
【００２５】
この発明によれば、同一時刻近辺で使用されたことのあるテープボリューム群は再び一緒に使用される可能性が高いため、予め仮想記憶領域に展開しておくことにより、ホストコンピュータの要求に対して即座に応答することができるので、ホストコンピュータのアクセス効率が向上する。
【００２６】
また、請求項９に係る記憶装置は、請求項１記載の発明において、前記データ転送制御手段は、同一時刻近辺で使用されたことのある少なくとも２つの仮想的なテープボリュームの内、いずれか一方のボリュームを実際のテープに書き出す場合は、他のボリュームも実際のテープに書き出すことを特徴とする。
【００２７】
この発明によれば、同一時刻近辺で使用されたことのあるテープボリューム群は、その内のいずれかが不要となって実際のテープに書き出された後には使用される可能性が低いため、それらを一緒に実際のテープに書き出すことにより、仮想記憶領域の無駄をなくして仮想記憶領域の空き領域を確保することができる。
【００２８】
また、請求項１０に係る記憶装置は、請求項１記載の発明において、全ての仮想的なテープボリュームの運用属性に関する情報を収集して記録した仮想的な属性情報テープボリュームと、ホストコンピュータにより前記仮想的な属性情報テープボリュームが編集され、その編集による属性情報テープボリュームの変更内容を、前記データベースに格納された各仮想的なテープボリュームの運用属性に関する情報に反映する手段と、をさらに具備することを特徴とする。
【００２９】
この発明によれば、ホストコンピュータが仮想的な属性情報テープボリュームを編集し、その編集による属性情報テープボリュームの変更内容を、データベースに格納された各仮想的なテープボリュームの運用属性に関する情報に反映することにより、ホストコンピュータにより自動的に各仮想的なテープボリュームの運用属性を編集することができる。
【００３０】
【発明の実施の形態】
以下に、本発明に係る記憶装置の実施の形態について図１〜図１６を参照しつつ詳細に説明する。
【００３１】
図１は、本発明に係る記憶装置を仮想テープ装置に適用したコンピュータシステムの一例を示すブロック構成図である。このコンピュータシステムでは、仮想テープ装置３を接続するためのホスト接続チャネル１１を備えた上位装置であるホストコンピュータ１と、複数の実テープ（図示省略）およびその駆動機構であるドライブ（図示省略）を備えたテープライブラリ装置２との間に、仮想テープ装置３が接続されている。
【００３２】
仮想テープ装置３は、上位インタフェース３１、メインプロセッサ４、ディスクアレイ装置５、管理データベース６、サービスプロセッサ３５、キャッシュメモリ３６、ＲＯＭ（読出し専用メモリ）３７、ＲＡＭ（ランダムアクセスメモリ）３８、およびそれらを相互に接続する内部バス３９を備えている。上位インタフェース３１は、ホストコンピュータ１のホスト接続チャネル１１に接続されるチャネルポート３２、およびそのチャネルポート３２から受け取ったデータに対する制御を行う仮想テープドライブコントローラ３３を有している。
【００３３】
メインプロセッサ４は、仮想テープ装置３におけるデータ転送の制御、および仮想テープボリュームに関する情報の管理を行う。また、メインプロセッサ３２は、テープライブラリ装置２が接続されているときにそのテープライブラリ装置２における磁気テープの着脱および磁気テープの送りや戻し等の駆動制御も行う。このメインプロセッサ３２で実行されるデータ転送制御プログラムおよびライブラリ装置制御プログラムは、例えばＲＯＭ３７またはディスクアレイ装置５に記憶されている。メインプロセッサ４には、キーボードやマウス等の仮想テープ装置操作端末７を介してオペレータから制御命令等が入力される。
【００３４】
ディスクアレイ装置５は、例えばハードディスク装置からなり、仮想テープボリュームを格納する仮想記憶領域である。また、ディスクアレイ装置５は、仮想テープ装置３の動作を制御するプログラム等を記憶する。
【００３５】
管理データベース６は、仮想テープボリュームや実テープボリュームに記録された情報等を管理するためのデータベースである。
【００３６】
サービスプロセッサ３５は、仮想テープ装置３に接続された表示装置８を制御するためのもので、仮想テープ装置３の状態や仮想テープボリュームに関する情報の表示制御を行う。
【００３７】
キャッシュメモリ３６は、仮想テープボリュームや実テープボリュームから読み出されたデータや仮想テープボリュームや実テープボリュームに書き込まれるデータを、つぎのアクセス効率を高めるために一時的に記憶する。
【００３８】
ＲＯＭ３７は、固定データや仮想テープ装置３の動作を制御するプログラム等を記憶する。
【００３９】
ＲＡＭ３８は、メインプロセッサ４やサービスプロセッサ３５の作業領域として使用される。
【００４０】
図２は、本発明に係る記憶装置を適用した仮想テープ装置の機能を説明するためのブロック図である。この仮想テープ装置３は、図１のメインプロセッサ４に相当する制御部４０、図１のディスクアレイ装置５内に設けられた仮想記憶領域５０、図１の管理データベース６内に設けられた仮想テープ情報データベース６１と仮想記憶領域スペースマップ６２と実テープ情報データベース６３、およびキャッシュメモリ３６を備えている。なお、図１に示された構成要素と同じ機能を有するものには図１と同じ符号が付されている。また、仮想記憶領域スペースマップ６２は、仮想記憶領域５０を管理する情報を記憶する。
【００４１】
制御部４０は、データ転送制御プログラム４１およびライブラリ装置制御プログラム４２を実行する。データ転送制御プログラム４１は、ホストコンピュータ１からのライト（書き込み）要求に対して、ホスト接続チャネル１１を介してホストコンピュータ１から転送されたデータを、キャッシュメモリ３６を介して仮想記憶領域５０の仮想テープボリュームに記録するか、またはライブラリ装置制御プログラム４２を起動し、テープライブラリ装置２を駆動させて実テープボリュームに記録するための制御プログラムである。その際、制御部４０は、仮想テープ情報データベース６１や仮想記憶領域スペースマップ６２や実テープ情報データベース６３を参照したり、あるいは更新したりする。
【００４２】
また、データ転送制御プログラム４１は、ホストコンピュータ１からのリード（読出）要求に対して、仮想テープボリューム、キャッシュメモリ３６または実テープボリュームからデータを読み出してホストコンピュータ１へ転送する。
【００４３】
ライブラリ装置制御プログラム４２は、テープライブラリ装置２において磁気テープカートリッジを着脱するロボットの駆動制御や、装着された磁気テープの送り機構を駆動させてテープを送ったり戻したりする制御を行うプログラムである。
【００４４】
仮想テープ情報データベース６１は、例えば図３に示すようなフォーマットのテープボリューム情報レコードからなる仮想テープボリューム情報テーブルを格納している。図３では２つのレコードしか示されていないが、仮想記憶領域５０（図２参照）に設けられた仮想テープボリューム一つにつきテープボリューム情報レコードが一つずつ作成される。
【００４５】
図３に示す仮想テープボリューム情報テーブルの各レコードは、例えば仮想テープボリュームの名前を表す「テープボリューム名」フィールド、実テープに記録されるヘッダ情報と同じ情報である「ヘッダ情報」フィールド、仮想テープボリュームのブロックサイズを表す「全ブロックサイズ」フィールド、仮想テープボリュームが使用中であるか否かを表す「テープ状態」フィールド、書き込み禁止であるか否かを表す「プロテクト状態」フィールド、仮想テープボリュームを作成した時刻を表す「テープ作成時刻」フィールド、仮想テープボリュームが最後にアクセスされた時刻を表す「最終アクセス時刻」フィールド、仮想テープボリュームが最後に書き込みでアクセスされた時刻を表す「最終書き込み時刻」フィールド、仮想テープボリュームが最後にマウントされた時刻を表す「最終マウント時刻」フィールド、仮想テープボリュームがステージアウトされた時刻を表す「ステージアウト時刻」フィールド、ステージアウトの可否を表す「ステージアウト許可」フィールド、仮想テープボリュームのマウント回数を表す「マウント回数」フィールド、および仕切りマークに相当するアドレスポインタの位置情報を表す複数（図示例では（１）〜（ｎ））の「テープマーク情報」フィールドを有している。
【００４６】
「全ブロックサイズ」フィールドに格納された値は、仮想記憶領域５０の残りの容量を知るために、全仮想テープボリュームに対して合計され、仮想記憶領域５０の容量と比較される。つまり全仮想テープボリュームの「全ブロックサイズ」フィールドの値を足し、それを仮想記憶領域５０の容量から引くことによって、仮想記憶領域５０の残りの容量が分かる。
【００４７】
また、仮想テープ情報データベース６１は、例えば図４に示すようなフォーマットの仮想テープボリューム・グループレコードからなる仮想テープボリューム・グループ情報テーブルを格納している。図４では２つのレコードしか示されていないが、設定された各グループに対して仮想テープボリューム・グループレコードが一つずつ作成される。
【００４８】
図４に示す仮想テープボリューム・グループ情報テーブルの各レコードは、例えばグループの名前を表す「グループ名」フィールド、このグループに属する仮想テープボリュームの名前を一つずつ表す複数（図示例では（１）〜（ｎ））の「テープボリューム名」フィールド、このグループに属する仮想テープボリュームのいずれかが最後にアクセスされた時刻を表す「最終アクセス時刻」フィールド、このグループに属する仮想テープボリュームが実テープボリュームに書き込まれる際の書き出し先を指定する「書き出し先」フィールド、および実テープボリュームに書き込む際に集中書き込みをするか分散書き込みをするか、すなわちマルチファイル化するか否かということを表す「書き出しモード」フィールドを有している。
【００４９】
図５および図６には、それぞれ実テープボリュームに対する２つの書き出しモードである集中書き込みモードと分散書き込みモードにおける仮想テープボリュームの書き出しの概念図が示されている。図５に示す集中書き込みモードでは、１巻の実テープボリューム２１に複数の仮想テープボリューム５１がマルチファイル化されて格納される。従って集中書き込みモードでは、実テープボリューム２０の数を少なくでき、テープライブラリ装置２を小型化できる。また、集中書き込みモードは、バックアップに使用される仮想テープボリュームの書き出しに適している。
【００５０】
一方、図６に示す分散書き込みモードでは、１巻の実テープボリューム２１には１巻の仮想テープボリューム５１だけが格納される。従って分散書き込みモードでは、テープライブラリ装置に実装されたドライブ数の分だけ同時に実テープボリュームにアクセスすることができるので、同時に読み出される可能性のある複数の仮想テープボリュームを実テープボリュームに格納するのに適している。また、分散書き込みモードを採用していれば、本発明を適用していない例えば既存のテープライブラリ装置においても実テープボリューム２１からデータを読み出すことができる。
【００５１】
前記実テープ情報データベース６３は、例えば図７に示すようなフォーマットの実テープボリューム・グループレコードからなる実テープボリューム・グループ情報テーブルを格納している。図７では２つのレコードしか示されていないが、設定された各グループに対して実テープボリューム・グループレコードが一つずつ作成される。
【００５２】
図７に示す実テープボリューム・グループ情報テーブルの各レコードは、例えばグループの名前を表す「グループ名」フィールド、このグループに属する実テープボリュームの名前を一つずつ表す複数（図示例では（１）〜（ｎ））の「実テープボリューム名」フィールド、実テープボリュームに書き込む際に例えば圧縮して書き込むか、あるいは非圧縮で書き込むかということを表す「書き込みモード」フィールド、およびこのグループに対して最後にアクセスされた時刻を表す「最終アクセス時刻」フィールドを有している。この実テープボリューム・グループ情報テーブルの「グループ名」フィールドに格納されたグループ名が、仮想テープボリューム・グループ情報テーブルの「書き出し先」フィールドに格納される。
【００５３】
ここで、仮に実テープをグループ化せずに、複数の仮想テープボリュームを単純に例えば書き込み要求の発生順にマルチファイル化して適当に複数の実テープボリュームに格納した場合には、つぎのような不都合が生じる場合がある。すなわち単純にマルチファイル化されている複数の仮想テープボリュームに対して、同時に上位ホストコンピュータからデータの読み出し要求が発生した場合、読み出し対象である複数の仮想テープボリュームがマルチファイル化されているため、それらを一旦実テープから仮想記憶領域に展開してからでないとそれら仮想テープボリュームにアクセスすることができず、従ってアクセスに要する時間が長くなり効率が悪くなってしまう。本実施の形態では、上述したように仮想テープボリュームおよび実テープボリュームのそれぞれにグループを定義し、かつ仮想テープボリュームを実テープボリュームに集中書き込みするか、または分散書き込みするかを選択することによって、その不都合を解消している。
【００５４】
ところで、バックアップ処理業務などで使用されるテープ群は、通常共通の属性を有している。バックアップ業務の開始と同時に、これらのテープボリュームは頻繁にマウントされ、大量のデータの書き込みが行われる。また、バックアップ業務で使用されるテープ群は、データ紛失によるリカバリー処理が行われるとき以外は常に例えば毎日１回や毎週１回や毎月１回、書き込みのみが行われるという性質を有する。
【００５５】
このような性質を考慮してバックアップ業務時間をできるだけ短縮するために、本実施の形態では、テープボリュームの属性に基づいて上述したように仮想テープボリュームをグループ化している。そして、そのグループ化された仮想テープボリューム中のいずれか一つに対してホストコンピュータ１から書き込み要求が発生した場合には、仮想テープ装置３は、使用頻度の低い仮想テープボリュームを実テープボリュームへ書き出し（ステージアウト）、仮想記憶領域５０の空き容量をできるだけ確保してその空き容量に書き込む。それによってホストコンピュータ１からの書き込みが高速に行われる。
【００５６】
一方、グループ化された仮想テープボリューム中のいずれか一つに対してホストコンピュータ１から読み込みの要求があった場合には、仮想テープ装置３は、そのグループの残りの仮想テープボリュームに対しても同様の読み込み要求が発生するものとみなして、実際に読み込み要求が来る前に残りの仮想テープボリュームを実テープボリュームから仮想記憶領域５０に先読みし、準備しておく（これをプレ・ステージインと呼ぶ）。
【００５７】
また、仮想テープボリュームの属性の一つとしてステージアウト期日を設定してもよい。仮想テープボリュームをバックアップ用媒体として使用する場合には、ステージアウト期日を短く設定し（例えば「０」に設定）、バックアップ業務の遂行中は仮想記憶領域５０に高速で書き込み、バックアップ終了後はバックアップした仮想テープボリュームを速やかに実テープボリュームに書き出すようにするとよい。そうすることによって資源に限りのある高速記憶媒体であるディスクアレイ装置５の記憶領域の無駄使いをなくすことができる。
【００５８】
また、仮想テープボリュームを一時的なバッチ業務における記憶媒体として使用する場合には、ステージアウト期日を長めに設定するとよい。バッチ業務に使用されている仮想テープボリューム群は、頻繁にアクセスされる可能性が高いため、仮想記憶領域５０に格納されている時間が長いとアクセス効率が向上する可能性がある。つまりバッチ業務に使用されている仮想テープボリュームがステージアウトされてしまうと、ホストコンピュータからの読み出し要求に対して、実テープボリュームからデータを読み出し、それを仮想テープボリュームへ展開し、それからホストコンピュータへ転送するという段階を経なければならず、処理に時間がかかってしまう。
【００５９】
また、仮想テープボリュームを一時的なデータ、すなわちテンポラリデータを格納するための記憶媒体として使用する場合には、仮想テープボリュームの属性の一つとして廃棄（Ｐｕｒｇｅ）期限を設定してもよい。テンポラリデータは、作業の途中で一時的に作成されて使用されるデータであり、データ保証の必要がない。従ってテンポラリデータを仮想記憶領域５０に何時までも記憶させておいても仮想記憶領域の無駄使いとなるため、廃棄期限を設定し、その期限を過ぎたデータを自動的に削除するようにするとよい。
【００６０】
また、所定の日時や時刻、例えば「毎週月曜日の朝８時」というように決められたときに必ず読み込まれる仮想テープボリュームに対して、ステージアウトされている場合に、その所定の日時や時刻になる少し前に先読みを行い（プレ・ステージイン）、それを仮想記憶領域５０に展開しておく機能を有効にするように属性を設定してもよい。そうすればアクセス効率が向上する。
【００６１】
つぎに、本実施の形態の仮想テープ装置３を適用したコンピュータシステムにおける仮想テープ装置３の作用について説明する。図８は、仮想テープ装置３におけるデータの書き込み処理の概念を示す模式図である。なお、図８の仮想記憶領域５０において破線で囲まれた３つの仮想テープボリューム５１よりなる群は、同一のグループに属していることを表している。また、図９は、データ書き込み処理の動作を説明するための動作説明図である。
【００６２】
ホストコンピュータ１内のバックアップボリューム１２をテープライブラリ装置２にバックアップする処理が開始されると、まずホストコンピュータ１からあるグループ化された仮想テープボリューム５１の一つに対してマウント要求が発行され、仮想テープ装置３のデータ転送制御プログラム４１はそのマウント要求を受け付ける（図９、ステップＷ１）。そして、データ転送制御プログラム４１は、仮想テープ情報データベース６１に、要求された仮想テープボリューム５１のマウント処理に必要なテープヘッダー情報等を獲得するためにテープヘッダー情報の獲得要求を出し（図９、ステップＷ２）、そのテープヘッダー情報等を仮想テープ情報データベース６１から獲得する（図９、ステップＷ３）。それによってデータ転送制御プログラム４１は、仮想的なマウントを即座に完了させ、ホストコンピュータ１にマウント完了通知を送る（図９、ステップＷ４）。
【００６３】
マウント直後にこの仮想テープボリューム５１に対して書き込み要求があった場合には、データ転送制御プログラム４１は、仮想記憶領域５０にデータを次々に書き込み（図９、ステップＷ５）、データの書き込みを完了する（図９、ステップＷ９）。そのデータ書き込みの進行中に並行して、データ転送制御プログラム４１は、この仮想テープボリューム５１上に存在した以前のデータを抹消するため、仮想テープ情報データベース６１上の該当する以前のデータに関する情報を削除して仮想テープ情報データベース６１を更新する（図９、ステップＷ６）。データ転送制御プログラム４１は、仮想テープ情報データベース６１からデータベースの更新終了通知を受け取ると（図９、ステップＷ７）、実テープ上のデータ占有領域の解放要求を実テープ情報データベース６３に出力する（図９、ステップＷ８）。マウント直後に書き込みが行われた場合は、以前書き込まれた全てのデータが破棄されたことになる。
【００６４】
上記ステップＷ５〜Ｗ９の期間が、ホストコンピュータ１から見たときのデータ転送区間となる。
【００６５】
データの書き込みが完了すると、ホストコンピュータ１は、データ転送制御プログラム４１にデマウント要求を出力する（図９、ステップＷ１０）。データ転送制御プログラム４１は、デマウント要求を受け取ると仮想テープ情報データベース６１の関連のあるフィールドを更新し（図９、ステップＷ１１）、そして、仮想テープ情報データベース６１からデータベースの更新終了通知を受け取ると（図９、ステップＷ１２）、ホストコンピュータ１にデマウント完了通知を送る（図９、ステップＷ１３）。
【００６６】
その後、仮想テープボリューム５１の属性の一つであるステージアウト期日の設定時間が経過したら、データ転送制御プログラム４１は、仮想テープボリューム５１のデータを実テープへステージアウトするために、実テープ情報データベース６３を検索する（図９、ステップＷ１４）。そして、データ転送制御プログラム４１は、実テープ情報データベース６３から検索結果を受け取ると（図９、ステップＷ１５）、仮想テープボリューム５１に対してステージアウト要求を出力する（図９、ステップＷ１６）。仮想テープボリューム５１は、そのステージアウト要求に基づいて実テープにステージアウトされる（図９、ステップＷ１７）。
【００６７】
ステージアウト処理が完了すると（図９、ステップＷ１８）、仮想テープボリューム５１は、データ転送制御プログラム４１にステージアウト処理の完了通知を送る（図９、ステップＷ１９）。データ転送制御プログラム４１は、ステージアウト処理完了通知を受け取ると、仮想テープ情報データベース６１および実テープ情報データベース６３のそれぞれの関連のあるフィールドを更新し（図９、ステップＷ２０，２１）、一連の処理を終了する。
【００６８】
上記ステップＷ１７〜Ｗ１８の期間が、実際の実テープへのデータ転送区間となる。
【００６９】
ここで書き込みを行っている仮想テープボリューム５１と同じグループに属する他の仮想テープボリューム５１については、その後に同様に書き込みが行われる可能性が高いため、実テープボリューム２１から仮想記憶領域５０に先読み（プレ・ステージイン）を行っても無駄となるため、データ転送制御プログラム４１は、これを判断して同じグループの他の仮想テープボリューム５１のステージインを抑制する。
【００７０】
また、高速記憶媒体である仮想記憶領域５０の資源は有限であるため、バックアップ中に仮想記憶領域５０の空き容量がなくなると、一時的にバックアップ処理を中断して現在不要な仮想テープボリュームのデータを実テープ領域へ書き出す（ステージアウト）必要が生じる。本実施の形態ではこのようなバックアップ処理の中断を回避するため、あるグループ内の一つの仮想テープボリューム５１に対して書き込み要求が発生した時点で、仮想記憶領域５０内の不要な仮想テープボリューム５１ａ，５１ｂ（図８参照）のデータをステージアウトする処理が、ホストコンピュータ１の書き込み処理に影響が発生しない範囲でバックグラウンドで同時に稼動される。
【００７１】
図１０は、仮想テープ装置３におけるデータ読み込み処理の動作を説明するための動作説明図である。実テープボリューム２１にステージアウトされたデータの読み込み処理が開始されると、まずホストコンピュータ１からある仮想テープボリューム５１に対してマウント要求が発行され、データ転送制御プログラム４１はそのマウント要求を受け付ける（ステップＲ１）。そして、データ転送制御プログラム４１は、仮想テープ情報データベース６１に、要求された仮想テープボリューム５１のマウント処理に必要なテープヘッダー情報等を獲得するためにテープヘッダー情報の獲得要求を出し（ステップＲ２）、そのテープヘッダー情報等を仮想テープ情報データベース６１から獲得する（ステップＲ３）。それによってデータ転送制御プログラム４１は、仮想的なマウントを即座に完了させ、ホストコンピュータ１にマウント完了通知を送る（ステップＲ４）。
【００７２】
その後、ホストコンピュータ１からデータ転送制御プログラム４１にデータ読み込み要求が発せられると（ステップＲ５）、データ転送制御プログラム４１はこのデータ読み込み要求を受け取り、仮想テープ情報データベース６１および実テープ情報データベース６３のそれぞれの関連のあるフィールドを更新する（ステップＲ６，７）。そして、データ転送制御プログラム４１は、実テープから仮想テープボリューム５１へデータをステージインするための要求を実テープボリューム２１に出力する（ステップＲ８）。
【００７３】
実テープボリューム２１は、そのステージイン要求を受け取ると、仮想テープボリューム５１に対してステージイン処理を開始し（ステップＲ９）、そのステージイン処理を終了する（ステップＲ１１）。このステージイン処理と並行して仮想テープボリューム５１は、仮想テープボリューム５１からホストコンピュータ１へ要求データを転送し（ステップＲ１０）、そのデータ転送を終了する（ステップＲ１２）。
【００７４】
データの読み込みが完了すると、ホストコンピュータ１は、データ転送制御プログラム４１にデマウント要求を出力する（ステップＲ１３）。データ転送制御プログラム４１は、デマウント要求を受け取ると仮想テープ情報データベース６１の関連のあるフィールドを更新し（ステップＲ１４）、そして、仮想テープ情報データベース６１からデータベースの更新終了通知を受け取ると（ステップＲ１５）、ホストコンピュータ１にデマウント完了通知を送り（ステップＲ１６）、一連の処理を終了する。
【００７５】
また、ホストコンピュータ１から要求されたデータに対して、実テープボリューム２１から仮想テープボリューム５１へステージイン処理が行われたら、その処理と並行して、あるいはその処理の直後に、要求データと同じグループに属する他の実テープボリューム２１に対しても仮想記憶領域５０への先読み（プレ・ステージイン）を行い、仮想記憶領域５０上で展開しておく（ステップＲ２１〜Ｒ２２）。
【００７６】
上述したバックアップ業務やリストア業務以外においても、ある時刻に定期的に使用されているテープボリュームが存在する場合、そのテープボリュームの使用時刻と同一時刻近辺で使用されていた他のテープボリュームは、互いに対となって使用される可能性が極めて高い。従ってアクセス効率を向上させるためには、このように一緒に使用される可能性の高いテープボリュームを予め実テープボリューム２１から仮想テープボリューム５１（高速記憶媒体）に先読み（プレ・ステージイン）しておくとよい。そのためには仮想記憶領域５０の空き領域を確保する必要がある。そこで本実施の形態では、仮想テープ装置３は、ステージアウトを行う対象とする仮想テープボリューム５１の条件を設定し、その条件を満たすものを自動的にステージアウトする機能を有している。
【００７７】
なお、あるテープボリュームと同一時刻近辺で使用されていた別のテープボリュームがある場合、それらの内一方のテープボリュームに対する仮想テープボリューム５１がステージアウトの対象となったら、他方のテープボリュームに対する仮想テープボリューム５１もステージアウトの対象となる。
【００７８】
自動的にステージアウトを実施する条件は、例えば最も古い仮想テープボリューム５１であって、最後に書き込みでアクセスされたものという条件であってもよい。これは、最後のアクセスが書き込みであり、且つ長時間仮想記憶領域５０に存在していたデータは、実テープボリューム２１にも同一データが記録されていない可能性が非常に高いため、ディスクアレイ装置５のクラッシュ（破壊）等の不測の事態によりデータが消失する虞があるので、最優先でステージアウトさせる必要があるからである。
【００７９】
図１１は、上述した自動ステージアウト処理の流れを示すフローチャートである。自動ステージアウト処理が開始されると、まずデータ転送制御プログラム４１は、仮想テープ情報データベース６１に格納された仮想テープボリューム情報テーブル内の各レコードの「ステージアウト許可」フィールド（図３参照）を参照し、現在仮想記憶領域５０に存在する仮想テープボリューム５１において、ステージアウトを行うことが許されている仮想テープボリューム５１をリストアップする（ステップＳ１）。
【００８０】
リストアップされた仮想テープボリューム５１の内、以下の（１）、（２）、（３）の条件を満たす仮想テープボリュームを抽出する（ステップＳ２）。
（１）今までステージアウトされたことが全くないもの、すなわち図３の「ステージアウト時刻」フィールドが設定されていないもの。
（２）最後に書き込みされてから、予めユーザ等により設定された規定時間を既に経過しているもの、すなわち図３の「最終書き込み時刻」フィールドに格納された時刻から現在までの時間が規定時間（例えば４８時間など）を超えているもの。
（３）読み出しのため、仮想記憶領域５０にステージインされたが、アクセス頻度が極端に低いもの、すなわち図３の「最終マウント時刻」フィールドに格納された時刻が最近の時刻ではなく、且つ「マウント回数」フィールドに格納された値が極端に低いもの。
【００８１】
上記（１）〜（３）の全ての条件を満たす仮想テープボリューム５１がある場合（ステップＳ３）、ホストコンピュータ１からその仮想テープボリューム５１に対してアクセス要求がなければ（ステップＳ４）、その仮想テープボリューム５１を実テープボリューム２１へステージアウトする（ステップＳ５）。ステップＳ２でリストアップされた仮想テープボリューム５１の残りがある場合には（ステップＳ６）、ステップＳ４へ戻り、以後リストアップされた全ての仮想テープボリューム５１についてステップＳ４〜Ｓ６の処理を繰り返す。ステップＳ６で全ての仮想テープボリューム５１についてステージアウトが終了したら、自動ステージアウト処理を終了する。
【００８２】
ただしステップＳ４で、ステージアウトしようとしている仮想テープボリューム５１に対してホストコンピュータ１からアクセス要求がある場合には、その仮想テープボリューム５１に対するステージアウト処理を中断する（ステップＳ７）。
【００８３】
以上のステップＳ１〜Ｓ７の処理を行っても仮想記憶領域５０に十分な空き領域を確保できない場合、またはステップＳ３で上記（１）〜（３）の全ての条件を満たす仮想テープボリューム５１がない場合には、（１）〜（３）の条件の内少なくとも一つを満たす仮想テープボリューム５１をリストアップする（ステップＳ８）。そして、リストアップされた仮想テープボリューム５１についてステップＳ４〜Ｓ７までの処理を行い、自動ステージアウト処理を終了する。
【００８４】
ステップＳ８で上記（１）〜（３）の条件の内のどれかを満たす仮想テープボリューム５１が全くない場合には、その旨をホストコンピュータ１に通知し（ステップＳ９）、自動ステージアウト処理を終了する。この場合には、例えば仮想テープ装置３に接続された表示装置８や、ホストコンピュータ１の図示しない表示装置に、例えば仮想記憶領域５０内の仮想テープボリューム５１のリストを表示させ、そのリストを参考にしながらユーザが仮想テープ装置操作端末７またはホストコンピュータ１の図示ない操作端末を操作して、ステージアウトさせる仮想テープボリューム５１を選択するようにしてもよい。
【００８５】
つぎに、仮想テープボリューム５１の属性について説明する。上述したように本実施の形態では、仮想テープ装置３のデータ転送制御プログラム４１は、仮想テープボリューム５１の属性に基づいて仮想テープボリューム５１をグループ化する。図１２は、仮想テープボリューム５１の属性情報について説明するための模式図である。本実施の形態では、仮想テープ装置３の仮想記憶領域５０には特殊な仮想テープボリューム５５（以下、特殊テープボリューム５５とする）が記録されており、その特殊テープボリューム５５に、仮想記憶領域５０内の全ての仮想テープボリューム５１の属性情報が一括して記録されている。
【００８６】
仮想テープボリューム５１の属性情報を設定したり変更したりする場合の概略を説明する（詳細については後述する）と、まずホストコンピュータ１は仮想テープ装置３に、特殊テープボリューム５５のマウント要求を出力して特殊テープボリューム５５をマウントさせる（ステップＴ１）。続いてホストコンピュータ１は、特殊テープボリューム５５に記述されている各仮想テープボリューム５１に関する属性情報を書き換える（ステップＴ２）。
【００８７】
その後、ホストコンピュータ１は仮想テープ装置３に、特殊テープボリューム５５のデマウント要求を出力して特殊テープボリューム５５をデマウント（アンロード）させる（ステップＴ３）。特殊テープボリューム５５のマウント処理およびデマウント処理は、それぞれ通常の仮想テープボリューム５１をマウントおよびデマウントする場合と同じである。しかる後、仮想テープ装置３は、特殊テープボリューム５５を参照して、仮想テープ情報データベース６１に格納された仮想テープボリューム情報テーブル（図３参照）内の、各仮想テープボリューム５１に関するレコードに対して、更新された属性情報を反映させる。
【００８８】
または仮想テープ装置３にネットワーク接続されている仮想テープ装置操作端末７を介してユーザ（オペレータ）がコマンド入力を行うことによって、仮想テープボリューム情報テーブル（図３参照）内の、各仮想テープボリューム５１に関するレコードの属性情報を直接変更してもよい。なお、仮想テープ装置３から仮想テープボリューム５１をステージアウトするために使用される実テープボリューム２１については、全て仮想テープ装置３が管理する。
【００８９】
本実施の形態では、例えば特殊テープボリューム５５として仮想テープボリュームリスト参照用と仮想テープボリューム情報更新用の２つの特殊テープボリューム（それぞれ特殊テープボリューム＃１、特殊テープボリューム＃２とする）を用いる。図１３および図１４に、それぞれ特殊テープボリューム＃１および特殊テープボリューム＃２のデータフォーマットの一例を示す。
【００９０】
特殊テープボリューム＃１のデータフォーマットは、例えば図１３に示すように、従来のテープと同様にテープボリューム名等を記録するヘッダー部分である「特殊テープボリューム＃１先頭」フィールド、このデータが何を示すものであるかを表す「レコードタイプ」フィールド、このデータ情報（データベース）のバージョンを表す「レコードバージョン」フィールド、仮想テープ装置３に登録されているテープボリューム名を表す「テープボリューム名」フィールド、その「テープボリューム名」フィールドで示されたテープボリュームが属するグループの名前を表す「グループ名」フィールド、現在のテープボリュームの状態を表す「テープボリューム状態」フィールド、テープボリュームの書込み禁止情報を表す「プロテクト状態」フィールド、テープボリュームに書き込まれているデータ量を表す「使用スペース」フィールド、テープボリュームがマウントされた回数を表す「マウント回数」フィールド、テープボリュームが作成された時刻を表す「テープ作成時刻」フィールド、テープボリュームが最後にアクセスされた時刻を表す「最終アクセス時刻」フィールド、およびテープボリュームの終端を示す「特殊テープボリューム＃１末尾」フィールドで構成されている。
【００９１】
「レコードタイプ」、「レコードバージョン」、「テープボリューム名」、「グループ名」、「テープボリューム状態」、「プロテクト状態」、「使用スペース」、「マウント回数」、「テープ作成時刻」および「最終アクセス時刻」の１０個のフィールドで一つの仮想テープボリューム情報が構成されている。「特殊テープボリューム＃１先頭」フィールドと「特殊テープボリューム＃１末尾」フィールドとの間に、仮想テープ装置３に登録されている仮想テープボリューム５１の数だけ仮想テープボリューム情報が挿入される。
【００９２】
特殊テープボリューム＃２のデータフォーマットは、特殊テープボリューム＃１のデータフォーマットと基本的には同じであるが、ボリュームの追加や更新や削除などの作業によって書き込むデータが異なる。特殊テープボリューム＃２のデータフォーマットは、例えば図１４に示すように、従来のテープと同様にテープボリューム名等を記録するヘッダー部分である「特殊テープボリューム＃２先頭」フィールド、このデータが何を示すものであるかを表す「レコードタイプ」フィールド、更新や削除等の作業の対象となるテープボリューム名（追加作業の場合には新規ボリューム名）を表す「テープボリューム名」フィールド、その「テープボリューム名」フィールドで示されたテープボリュームが属するグループの名前を表す「グループ名」フィールド、テープボリュームの状態を表す「テープボリューム状態」フィールド、テープボリュームの書込み禁止情報を設定する「プロテクト状態」フィールド、およびテープボリュームの終端を示す「特殊テープボリューム＃２末尾」フィールドを備えている。そして、「レコードバージョン」フィールド、「使用スペース」フィールド、「マウント回数」フィールド、「テープ作成時刻」フィールドおよび「最終アクセス時刻」フィールドはいずれも無効になっている。「テープボリューム状態」フィールドには、例えば新規ボリュームの追加時には「０ｘ８０」が設定され、更新時には不要であり例えば「０ｘ００」が設定され、削除時には例えば廃棄状態を表す「０ｘ０２」が設定される。
【００９３】
「レコードタイプ」、「レコードバージョン」、「テープボリューム名」、「グループ名」、「テープボリューム状態」、「プロテクト状態」、「使用スペース」、「マウント回数」、「テープ作成時刻」および「最終アクセス時刻」の１０個のフィールドで一つの対象テープボリューム情報が構成されている。「特殊テープボリューム＃２先頭」フィールドと「特殊テープボリューム＃２末尾」フィールドとの間に、作業対象となる仮想テープボリューム５１の数だけ対象テープボリューム情報が挿入される。
【００９４】
図１５は、ホストコンピュータ１が仮想テープ装置３に登録されているテープボリュームリストを獲得する処理を説明するための動作説明図である。ホストコンピュータ１では、仮想テープ装置３に登録されている仮想テープを管理するためのソフトウェアである仮想テープ管理ソフトウェア１５が動作しており、一方、仮想テープ装置３では仮想テープ管理プログラム４５が動作している。
【００９５】
テープボリュームリストの獲得処理が開始されると、まずホストコンピュータ１の仮想テープ管理ソフトウェア１５は、仮想テープボリュームリスト参照用の特殊テープボリューム＃１をマウントするための要求を出力する（ステップＡ１）。仮想テープ装置３の仮想テープ管理プログラム４５はそのマウント要求を受け付け、仮想テープ情報データベース６１にアクセスして全仮想テープボリューム情報を要求する（ステップＡ２）。続いて仮想テープ管理プログラム４５は、仮想テープ情報データベース６１から獲得した仮想テープボリューム情報６５に基づいて特殊テープボリューム上にリストを作成し、そのリストの作成完了後に特殊テープボリューム＃１のマウントが完了した旨をホストコンピュータ１へ通知する（ステップＡ３）。
【００９６】
仮想テープ管理ソフトウェア１５は、特殊テープボリューム＃１のマウント完了通知を受け取ると（ステップＡ４）、マウントした特殊テープボリューム＃１のデータ（図１３参照）を読み込んでリストを作成する（ステップＡ５）。そして、仮想テープ管理プログラム４５は、ホストコンピュータ１から出力されたリード要求を受け付け、ステップＡ３で作成したリストをデータとしてホストコンピュータ１へ返す（ステップＡ６）。仮想テープ管理ソフトウェア１５は、先に出力したリード要求に対して仮想テープ管理プログラム４５から返されたデータを「仮想テープ装置３に登録されているテープボリュームリスト」として管理する（ステップＡ７）。
【００９７】
つぎに、ホストコンピュータ１および仮想テープ装置３でそれぞれ仮想テープ管理ソフトウェア１５および仮想テープ管理プログラム４５が動作している状態で、仮想テープボリュームを追加、更新または削除する場合について説明する。図１６は、仮想テープボリュームを追加、更新または削除する処理を説明するための動作説明図である。
【００９８】
仮想テープボリュームの追加、更新または削除処理が開始されると、まずホストコンピュータ１の仮想テープ管理ソフトウェア１５は、仮想テープボリューム情報更新用の特殊テープボリューム＃２をマウントするための要求を出力する（ステップＢ１）。仮想テープ装置３の仮想テープ管理プログラム４５はそのマウント要求を受け付け、特殊テープボリューム＃２のマウントが完了した旨をホストコンピュータ１へ通知する（ステップＢ２）。仮想テープ管理ソフトウェア１５は、特殊テープボリューム＃２のマウント完了通知を受け取ると（ステップＢ３）、追加、状態変更または削除したい仮想テープボリュームの情報を規定のフォーマットにしてがって特殊テープボリューム＃２に書き込む（ステップＢ４）。
【００９９】
そして、仮想テープ管理ソフトウェア１５は特殊テープボリューム＃２をデマウント（アンロード）する（ステップＢ５）。続いて仮想テープ管理プログラム４５は、特殊テープボリューム＃２に書き込まれた情報に基づいて仮想テープ情報データベース６１を更新する（ステップＢ６）。その際、特殊テープボリューム＃２に書き込まれた情報に問題がある場合には、ホストコンピュータ１からのアンロード要求に対してエラーで応答し、一方、その情報に問題がない場合には、アンロードを正常に終了する（ステップＢ７）。
【０１００】
上記実施の形態によれば、同一の属性を有する仮想テープボリューム５１のグループが予め仮想記憶領域５０に展開されるため、そのグループ内の仮想テープボリューム５１に対してホストコンピュータ１から要求が発せられた場合に、その要求に対する応答速度が向上するので、ホストコンピュータ１のアクセス効率が向上する。
【０１０１】
また、グループ内の仮想テープボリューム５１に書き込み要求が発せられた場合、同じグループ内の他の仮想テープボリューム５１に対しても続いて書き込み要求が発せられる可能性が高い。実際にグループ内の他の仮想テープボリューム５１に対して続いて書き込み要求が発せられた場合には、その書き込み対象であるテープボリュームは、実テープボリューム２１から仮想記憶領域５０に展開されても、書き込み処理後に再び実テープボリューム２１に戻されるため、仮想記憶領域５０を無駄に使っているに過ぎない。従って上記実施の形態によれば、そのような仮想テープボリューム５１に対して仮想記憶領域５０を無駄に使わずに済み、仮想記憶領域５０の無駄使いを防いで仮想記憶領域５０の空き領域を確保することができる。
【０１０２】
また、上記実施の形態によれば、一つの実テープボリューム２１に複数の仮想テープボリューム５１をまとめて書き出すようにすれば、実テープボリューム２１の数が減って装置の小型化が図れるとともに、記憶媒体コストを軽減できる。また、一つの実テープボリューム２１に一つの仮想テープボリューム５１のみを書き出すようにすれば、同時に複数のテープボリュームにアクセスすることができるので、ホストコンピュータ１のアクセス効率が向上する。
【０１０３】
また、上記実施の形態によれば、最後にデータが書き込まれてから所定時間が経過している仮想テープボリューム５１や、今までに全く実テープボリューム２１に書き出されていない仮想テープボリューム５１や、ホストコンピュータ１からの要求頻度が相対的に低い仮想テープボリューム５１などを自動的に実テープボリューム２１に書き出すことにより、ホストコンピュータ１に負荷をかけずに仮想記憶領域５０の空き領域を確保することができる。
【０１０４】
また、上記実施の形態によれば、今までに全く実テープボリューム２１に書き出されていない、すなわちバックアップされていない仮想テープボリューム５１を自動的に実テープボリューム２１に書き出すことにより、万一仮想記憶領域５０がクラッシュして仮想記憶領域５０からデータが消失してしまっても、そのデータが実テープボリューム２１にバックアップされているため、そのデータを実テープボリューム２１から復元することができるので、データの信頼性が高まる。
【０１０５】
また、上記実施の形態によれば、ホストコンピュータ１が特殊テープボリューム５５を編集し、その編集による特殊テープボリューム５５の変更内容を、仮想テープ情報データベース６１に格納された各仮想テープボリューム５１の属性に関する情報に反映することにより、ホストコンピュータ１により自動的に各仮想テープボリューム５１の属性を編集することができる。
【０１０６】
以上において本発明は、上記実施の形態における説明および図示例に限らず、種々設計変更可能であることはいうまでもない。例えば仮想記憶領域５０を確保する高速記憶媒体として、テープ記憶媒体よりも高速アクセスが可能で、且つアクセス時間が本質的にデータのロケーションに影響されないようなランダムアクセスが可能な記憶媒体であれば、ハードディスク以外の記憶媒体を用いてもよい。
【０１０７】
【発明の効果】
以上、説明したとおり、本発明によれば、グループ化された仮想的なテープボリューム群が予め仮想記憶領域に展開されるため、そのグループ内の仮想的なテープボリュームに対してホストコンピュータから要求が発せられた場合に、その要求に対する応答速度が向上するので、ホストコンピュータのアクセス効率が向上する。
【０１０８】
また、本発明によれば、書き込み要求が発せられた仮想的なテープボリュームが属するグループ内の他の仮想的なテープボリュームに対しても続いて書き込み要求が発せられる可能性が高く、実際にグループ内の他の仮想的なテープボリュームに対して続いて書き込み要求が発せられた場合、その書き込み対象であるテープボリュームは、実際のテープボリュームから仮想記憶領域に展開されていても、書き込みによって再び実際のテープボリュームに戻されるため、書き込み対象であるテープボリュームが展開される仮想記憶領域が無駄に使われるだけであるが、そのグループに対して仮想記憶領域での展開を行わないことによりそのような仮想記憶領域の無駄使いを防ぐことができ、仮想記憶領域の空き領域を確保することができる。
【０１０９】
また、本発明によれば、一つの実際のテープボリュームに複数の仮想的なテープボリュームをまとめて書き出すようにすれば、実際のテープボリュームの数が減って装置の小型化が図れるとともに、記憶媒体コストを軽減でき、また、一つの実際のテープボリュームに一つの仮想的なテープボリュームのみを書き出すようにすれば、同時に複数のテープボリュームにアクセスすることができるので、ホストコンピュータのアクセス効率が向上する。
【０１１０】
また、本発明によれば、最後にデータが書き込まれてから所定時間が経過している仮想的なテープボリュームや、今までに全く実際のテープボリュームに書き出されていない仮想的なテープボリュームや、ホストコンピュータからの要求頻度が相対的に低い仮想的なテープボリュームなどを自動的に実際のテープボリュームに書き出すことにより、ホストコンピュータに負荷をかけずに仮想記憶領域の空き領域を確保することができる。
【０１１１】
また、本発明によれば、今までに全く実際のテープボリュームに書き出されていない仮想的なテープボリュームを自動的に実際のテープボリュームに書き出すことにより、万一仮想記憶領域の物理的障害により仮想記憶領域からデータが消失してしまっても、そのデータが実際のテープボリュームにバックアップされているため、そのデータを実際のテープボリュームから復元することができるので、データの信頼性が高まる。
【０１１２】
また、本発明によれば、ホストコンピュータが仮想的な属性情報テープボリュームを編集し、その編集による属性情報テープボリュームの変更内容を、データベースに格納された各仮想的なテープボリュームの運用属性に関する情報に反映することにより、ホストコンピュータにより自動的に各仮想的なテープボリュームの運用属性を編集することができる。
【図面の簡単な説明】
【図１】本発明に係る記憶装置を仮想テープ装置に適用したコンピュータシステムの一例を示すブロック構成図である。
【図２】本発明に係る記憶装置を適用した仮想テープ装置の機能を説明するためのブロック図である。
【図３】その仮想テープ装置に格納された仮想テープボリューム情報テーブルのテープボリューム情報レコードフォーマットの一例を示す模式図である。
【図４】その仮想テープ装置に格納された仮想テープボリューム・グループ情報テーブルの仮想テープボリューム・グループレコードフォーマットの一例を示す模式図である。
【図５】その仮想テープ装置の集中書き込みモードによる仮想テープボリュームの書き出しを説明するための概念図である。
【図６】その仮想テープ装置の分散書き込みモードによる仮想テープボリュームの書き出しを説明するための概念図である。
【図７】その仮想テープ装置に格納された実テープボリューム・グループ情報テーブルの実テープボリューム・グループレコードフォーマットの一例を示す模式図である。
【図８】その仮想テープ装置におけるデータの書き込み処理の概念を示す模式図である。
【図９】その仮想テープ装置におけるデータ書き込み処理の動作を説明するための動作説明図である。
【図１０】その仮想テープ装置におけるデータ読み込み処理の動作を説明するための動作説明図である。
【図１１】その仮想テープ装置における自動ステージアウト処理の流れを示すフローチャートである。
【図１２】その仮想テープ装置における仮想テープボリュームの属性情報について説明するための模式図である。
【図１３】その仮想テープ装置における特殊テープボリューム＃１のデータフォーマットの一例を示す模式図である。
【図１４】その仮想テープ装置における特殊テープボリューム＃２のデータフォーマットの一例を示す模式図である。
【図１５】ホストコンピュータが仮想テープ装置に登録されているテープボリュームリストを獲得する処理を説明するための動作説明図である。
【図１６】仮想テープボリュームを追加、更新、削除する処理を説明するための動作説明図である。
【符号の説明】
１  ホストコンピュータ
２  テープライブラリ装置（テープ記憶装置）
２１  実テープボリューム（テープ記憶媒体）
３  仮想テープ装置（記憶装置）
４１  データ転送制御プログラム（データ転送制御手段）
４５  仮想テープ管理プログラム
５０  仮想記憶領域
５１  仮想テープボリューム（仮想的なテープボリューム）
５５  特殊テープボリューム
６１  仮想テープ情報データベース
【図１】
0003618552.tif 000002
【図２】
0003618552.tif 000003
【図３】
0003618552.tif 000004
【図４】
0003618552.tif 000005
【図５】
0003618552.tif 000006
【図６】
0003618552.tif 000007
【図７】
0003618552.tif 000008
【図８】
0003618552.tif 000009
【図９】
0003618552.tif 000010
【図１０】
0003618552.tif 000011
【図１１】
0003618552.tif 000012
【図１２】
0003618552.tif 000013
【図１３】
0003618552.tif 000014
【図１４】
0003618552.tif 000015
【図１５】
0003618552.tif 000016
【図１６】
0003618552.tif 000017