(57)【要約】  データを所定のデータブロックに分割するデータ分割部（２０１）と、エクスポート処理時に、格納対象のデータブロックと同一のデータブロックが既に排出用記憶部（３４）に記憶されているかを判定する重複記憶判定部（２０３）と、同一のデータブロックが排出用記憶部（３４）に記憶されていない場合には、格納対象のデータブロックを排出用記憶部（３４）に記憶し、既に記憶されている場合には、格納対象のデータブロックの排出用記憶部（３４）への記憶を抑止するデータ記憶処理部（２０６）とをそなえることにより、排出用記憶部に格納するデータのデータ量を削減する。
2012127566.tif 000002
【特許請求の範囲】
【請求項１】
データを一時的に記憶する第１の記憶部と、
データを記憶する第２の記憶部を収納する収納部と、
前記第２の記憶部及び排出用記憶部に対してアクセス可能なアクセス部と、
前記アクセス部によるアクセスを制御する制御部とをそなえたストレージ装置であって、
前記制御部は、
前記データを所定のデータブロックに分割するデータ分割部と、
前記データを前記排出用記憶部に格納するエクスポート処理時に、格納対象のデータブロックと同一のデータブロックが既に当該排出用記憶部に記憶されているかを判定する重複記憶判定部と、
同一のデータブロックが前記排出用記憶部に記憶されていない場合には、当該格納対象のデータブロックを前記排出用記憶部に記憶し、既に記憶されている場合には、当該格納対象のデータブロックの前記排出用記憶部への記憶を抑止するデータ記憶処理部とをそなえたことを特徴とする、ストレージ装置。
【請求項２】
前記データについてのデータブロックパターンを格納するデータブロックパターン記憶部をそなえ、
前記データ記憶処理部は、前記データを前記排出用記憶部に格納するエクスポート処理時に、該データブロックパターンのうち、当該排出用記憶部に記憶された前記データについての前記ブロックパターンを読み出して、前記排出用記憶部に記憶することを特徴とする、請求項１記載のストレージ装置。
【請求項３】
前記データブロックを圧縮データとするデータ圧縮部をさらにそなえ、
前記データ記憶処理部は、圧縮されたデータブロックを前記排出用記憶部に記憶することを特徴とする、請求項１又は請求項２記載のストレージ装置。
【請求項４】
前記第２の記憶部に記憶されているデータのデータブロックと、前記排出用記憶部に記憶されているデータのデータブロックとの重複数を決定する重複数決定部と、
前記重複数に基づいて、前記第２の記憶部を前記アクセス部に搬送する順番を決定する順序決定部とをさらにそなえたことを特徴とする、請求項１〜請求項３のいずれか１項に記載のストレージ装置。
【請求項５】
前記重複数に基づいて、前記排出用記憶部に格納する該データを選択するデータ選択部をさらにそなえたことを特徴とする、請求項４記載のストレージ装置。
【請求項６】
該データ選択部が、前記第２の記憶部に記憶されているデータのうち、当該データを構成するデータブロックの数が多いデータを前記排出用記憶部に格納するデータとして優先的に選択することを特徴とする、請求項５記載のストレージ装置。
【請求項７】
前記排出用記憶部に格納された前記データを前記第１の記憶部に格納するインポート処理時において、
前記排出用記憶部に格納された前記データブロックを読み出すデータブロック読出部と、
前記排出用記憶部に格納された、当該排出用記憶部に記憶された前記データについての前記ブロックパターンを読み出すブロックパターン読み出し部と、
読み出された前記ブロックパターンを参照して、前記データブロック用いて前記データの復元を行なう復元部とをそなえたことを特徴とする、請求項１〜請求項６のいずれか１項に記載のストレージ装置。
【請求項８】
データを一時的に記憶する第１の記憶部と前記データを記憶する第２の記憶部とに対するアクセスを制御する制御装置であって、
前記データを所定のデータブロックに分割するデータ分割部と、
前記データを排出用記憶部に格納するエクスポート処理時に、格納対象のデータブロックと同一のデータブロックが既に当該排出用記憶部に記憶されているかを判定する重複記憶判定部と、
同一のデータブロックが前記排出用記憶部に記憶されていない場合には、当該格納対象のデータブロックを前記排出用記憶部に記憶し、既に記憶されている場合には、当該格納対象のデータブロックの前記排出用記憶部への記憶を抑止するデータ記憶処理部とをそなえたことを特徴とする、制御装置。
【請求項９】
前記データについてのデータブロックパターンを格納するデータブロックパターン記憶部をそなえ、
前記データ記憶処理部は、前記データを前記排出用記憶部に格納するエクスポート処理時に、該データブロックパターンのうち、当該排出用記憶部に記憶された前記データについての前記ブロックパターンを読み出して、前記排出用記憶部に記憶することを特徴とする、請求項８記載の制御装置。
【請求項１０】
前記データブロックを圧縮データとするデータ圧縮部をさらにそなえ、
前記データ記憶処理部は、圧縮されたデータブロックを前記排出用記憶部に記憶することを特徴とする、請求項８又は請求項９記載の制御装置。
【請求項１１】
前記第２の記憶部に記憶されているデータのデータブロックと、前記排出用記憶部に記憶されているデータのデータブロックとの重複数を決定する重複数決定部と、
前記重複数に基づいて、前記第２の記憶部を前記アクセス部に搬送する順番を決定する順序決定部とをさらにそなえたことを特徴とする、請求項８〜請求項１０のいずれか１項に記載の制御装置。
【請求項１２】
前記重複数に基づいて、前記排出用記憶部に格納する該データを選択するデータ選択部をさらにそなえたことを特徴とする、請求項１１記載の制御装置。
【請求項１３】
該データ選択部が、前記第２の記憶部に記憶されているデータのうち、当該データを構成するデータブロックの数が多いデータを前記排出用記憶部に格納するデータとして優先的に選択することを特徴とする、請求項１２記載の制御装置。
【請求項１４】
前記排出用記憶部に格納された前記データを前記第１の記憶部に格納するインポート処理時において、
前記排出用記憶部に格納された前記データブロックを読み出すデータブロック読出部と、
前記排出用記憶部に格納された、当該排出用記憶部に記憶された前記データについての前記ブロックパターンを読み出すブロックパターン読出部と、
読み出された前記ブロックパターンを参照して、前記データブロック用いて前記データの復元を行なう復元部とをそなえたことを特徴とする、請求項８〜請求項１３のいずれか１項に記載の制御装置。
【請求項１５】
データを一時的に記憶する第１の記憶部と前記データを記憶する第２の記憶部とに対するアクセスを制御する制御装置における制御方法であって、
前記データを所定のデータブロックに分割し、
前記データを排出用記憶部に格納するエクスポート処理時に、格納対象のデータブロックと同一のデータブロックが既に当該排出用記憶部に記憶されているかを判定し、
同一のデータブロックが前記排出用記憶部に記憶されていない場合には、当該格納対象のデータブロックを前記排出用記憶部に記憶し、既に記憶されている場合には、当該格納対象のデータブロックの前記排出用記憶部への記憶を抑止することを特徴とする、制御方法。
【請求項１６】
前記データについてのデータブロックパターンを格納し、
前記データを前記排出用記憶部に格納するエクスポート処理時に、該データブロックパターンのうち、当該排出用記憶部に記憶された前記データについての前記ブロックパターンを読み出して、前記排出用記憶部に記憶することを特徴とする、請求項１５記載の制御方法。
【請求項１７】
前記データブロックを圧縮データとし、
圧縮されたデータブロックを前記排出用記憶部に記憶することを特徴とする、請求項１５又は請求項１６記載の制御方法。
【請求項１８】
前記第２の記憶部に記憶されているデータのデータブロックと、前記排出用記憶部に記憶されているデータのデータブロックとの重複数を決定し、
前記重複数に基づいて、前記第２の記憶部を前記アクセス部に搬送する順番を決定することを特徴とする、請求項１５〜請求項１７のいずれか１項に記載の制御方法。
【請求項１９】
前記重複数に基づいて、前記排出用記憶部に格納する該データを選択することを特徴とする、請求項１８記載の制御方法。
【請求項２０】
前記排出用記憶部に格納された前記データを前記第１の記憶部に格納するインポート処理時において、
前記排出用記憶部に格納された前記データブロックを読み出し、
前記排出用記憶部に格納された、当該排出用記憶部に記憶された前記データについての前記ブロックパターンを読み出し、
読み出された前記ブロックパターンを参照して、前記データブロック用いて前記データの復元を行なうことを特徴とする、請求項１５〜請求項１９のいずれか１項に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置，制御装置及び制御方法に関する。
【背景技術】
【０００２】
仮想テープライブラリ（Virtual Tape Library：VTL）は、ディスク装置上でテープドライブを仮想的に実行させることで、ホストコンピュータ等の上位装置に対して、あたかもテープドライブが接続されているかのように見せかける仕組みである（例えば、下記特許文献１参照）。この仮想テープライブラリの技術においては、データをディスク装置上にブロック単位で書き込む。【０００３】
仮想テープライブラリは、従来の物理テープライブラリの運用に大きな変更を与えることなく容易に導入することができ、又、バックアップ等の処理の高速化を図ることができる。
さて、仮想テープライブラリをそなえたシステム（仮想テープライブラリシステム）では、例えば、ディスクアレイ装置をそなえ、このディスクアレイ装置をキャッシュディスクとして利用する。そして、テープボリュームを仮想化し、上述したキャッシュディスク上でテープボリュームをエミュレーションする仕組みをそなえる。又、一般に、仮想ライブラリシステムの論理ボリュームはテープ等の大容量の物理媒体（仮想ライブラリ用媒体）に格納されて運用される。【０００４】
また、仮想テープライブラリシステムにおいては、格納された論理ボリュームを排出して外部保管運用を実現する仕組みとして、エクスポート（Export）機能及びインボート（Import）機能が知られている(例えば、下記特許文献２参照)。
エクスポート機能は、仮想ライブラリシステムに格納されている複数の論理ボリュームを外部保管用の物理媒体（外部保管用媒体）にまとめて複写することにより、複写した物理媒体を外部に取り出して使用することを可能とする。又、インポート機能では、エクスポート機能により仮想ライブラリシステムの外部に取り出された外部保管用媒体から、別の仮想ライブラリシステムへ論理ボリュームを復元する。【０００５】
また、エクスポート機能では論理ボリュームを外部保管用媒体へ複写する際に、指定された論理ボリュームを仮想ライブラリ用媒体からキャッシュディスクに一度複写（リコール：Recall）する。そして、対象の論理ボリュームをキャッシュディスクから外部保管用媒体にまとめて格納（エクスポート）する。
一方、インポート機能では外部保管用媒体から論理ボリュームを復元する際に、指定された論理ボリュームを外部保管用媒体からキャッシュディスクに一度格納する。キャッシュディス上の論理ボリュームを仮想ライブラリ用媒体にまとめて格納（マイグレーション：Migration）する。
【特許文献１】特開２００５−１２２４３３号公報
【特許文献２】特開２００９−０４３１６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような従来の仮想テープライブラリシステムにおいては、データ移行などで一度に大量の論理ボリューム群をエクスポート／インポートする必要がある場合に、多大な複写・復元時間を要するという課題がある。
本発明は、このような課題に鑑み創案されたもので、排出用記憶部に格納するデータ量を削減できるようにすることを目的とする。【０００７】
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、このストレージ装置は、データを一時的に記憶する第１の記憶部と、データを記憶する第２の記憶部を収納する収納部と、前記第２の記憶部及び排出用記憶部に対してアクセス可能なアクセス部と、前記アクセス部によるアクセスを制御する制御部とをそなえたストレージ装置であって、前記制御部は、前記データを所定のデータブロックに分割するデータ分割部と、前記データを前記排出用記憶部に格納するエクスポート処理時に、格納対象のデータブロックと同一のデータブロックが既に当該排出用記憶部に記憶されているかを判定する重複記憶判定部と、同一のデータブロックが前記排出用記憶部に記憶されていない場合には、当該格納対象のデータブロックを前記排出用記憶部に記憶し、既に記憶されている場合には、当該格納対象のデータブロックの前記排出用記憶部への記憶を抑止するデータ記憶処理部とをそなえる。【０００９】
また、この制御装置は、データを一時的に記憶する第１の記憶部と前記データを記憶する第２の記憶部とに対するアクセスを制御する制御装置であって、前記データを所定のデータブロックに分割するデータ分割部と、前記データを排出用記憶部に格納するエクスポート処理時に、格納対象のデータブロックと同一のデータブロックが既に当該排出用記憶部に記憶されているかを判定する重複記憶判定部と、同一のデータブロックが前記排出用記憶部に記憶されていない場合には、当該格納対象のデータブロックを前記排出用記憶部に記憶し、既に記憶されている場合には、当該格納対象のデータブロックの前記排出用記憶部への記憶を抑止するデータ記憶処理部とをそなえる。【００１０】
さらに、この制御方法は、データを一時的に記憶する第１の記憶部と前記データを記憶する第２の記憶部とに対するアクセスを制御する制御装置における制御方法であって、前記データを所定のデータブロックに分割し、前記データを排出用記憶部に格納するエクスポート処理時に、格納対象のデータブロックと同一のデータブロックが既に当該排出用記憶部に記憶されているかを判定し、同一のデータブロックが前記排出用記憶部に記憶されていない場合には、当該格納対象のデータブロックを前記排出用記憶部に記憶し、既に記憶されている場合には、当該格納対象のデータブロックの前記排出用記憶部への記憶を抑止する。
【発明の効果】
【００１１】
開示の技術によれば、ストレージ装置において、排出用記憶部に格納するデータのデータ量を削減し、排出用記憶部により多くのデータを格納することを可能にして利用効率を向上させることができる。又、排出用記憶部へのデータの格納及び読出に要する時間を短縮することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態の一例としての仮想テープライブラリシステムの機能構成を模式的に示す図である。
【図２】実施形態の一例としての仮想テープライブラリシステムのハードウェア構成図である。
【図３】実施形態の一例としての仮想テープライブラリシステムにおけるブロックテーブルを例示する図である。
【図４】実施形態の一例としての仮想テープライブラリシステムにおけるアドレステーブルを例示する図である。
【図５】実施形態の一例としての仮想テープライブラリシステムにおけるホストからのデータ書き込み時の処理を説明するフローチャートである。
【図６】実施形態の一例としての仮想テープライブラリシステムにおけるデータ受信時の処理の流れを模式的に示す図である。
【図７】実施形態の一例としての仮想テープライブラリシステムにおけるエクスポート時の処理を説明するフローチャートである。
【図８】実施形態の一例としての仮想テープライブラリシステムにおけるエクスポート時の処理を説明するフローチャートである。
【図９】実施形態の一例としての仮想テープライブラリシステムにおけるエクスポート時の処理の流れを模式的に示す図である。
【図１０】実施形態の一例としての仮想テープライブラリシステムにおけるインポート時の処理を説明するフローチャートである。
【図１１】実施形態の一例としての仮想テープライブラリシステムにおけるインポート時の処理の流れを模式的に示す図である。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本仮想テープライブラリシステムに係る実施の形態を説明する。
図１は実施形態の一例としての仮想テープライブラリシステム１の機能構成を模式的に示す図、図２はそのハードウェア構成図である。
仮想テープライブラリシステム１は、キャッシュディスク（ストレージ装置）２４をそなえ、このキャッシュディスク２４上においてテープ運用を仮想的に実現する。仮想テープライブラリシステム１は、例えば、ホスト１００から送信されるデータをキャッシュディスク２４に仮想的に形成された論理ボリューム（ボリューム）に格納する。例えば、ホスト１００のデータのバックアップジョブとして、ホスト１００で用いられる各種データをキャッシュディスク２４に格納する。【００１４】
すなわち、仮想テープライブラリ装置１は、仮想的な論理ボリュームをキャッシュディスク２４上に配置することで、従来のテープライブラリ装置２のテープマウント、ロード／アンロードなどの機械的な動作を無くし、高速処理を実現している。
そして、仮想テープライブラリ装置１は、バックエンドにテープライブラリ装置２を接続しており、論理ボリュームはバックエンドのテープライブラリ装置２の保管媒体３３である大容量カートリッジテープに書き込まれる。【００１５】
この仮想テープライブラリシステム１は、図２に示すように、仮想ライブラリ装置２とテープライブラリ装置３とをそなえている。仮想テープライブラリシステム１は、上位装置であるホスト１００と通信回線５０を介して通信可能に接続され、ホスト１００から送信されるデータを、後述する仮想ライブラリ装置２のキャッシュディスク２４に格納する。【００１６】
ホスト１００は、例えば、バックアップサーバとしての機能をそなえ、予めスケジュール化されたバックアップジョブを行なう。このバックアップジョブは、ホスト１００が、保存対象のデータ（バックアップデータ）を仮想ライブラリ装置２に送信し、仮想ライブラリ装置２においてキャッシュディスク２４に保存することにより行なう。
テープライブラリ装置３は、図２に示すように、ロボットユニット３１，セル３３１，保管媒体３３，外部保管媒体３４及びドライブユニット３２をそなえている。このテープライブラリ装置３は、仮想ライブラリ装置２から送信されるデータを保管媒体３３に記録したり、又、保管媒体３３に記録されているデータを読み出し、仮想ライブラリ装置２に送信する。【００１７】
セル３３１は、保管媒体３３を収納する収納棚であり、複数の保管媒体３３を収納する。保管媒体３３は、データを順次アクセス記憶する記録媒体であって、例えば、磁気テープ，カートリッジテープ，カセットテープ等が用いられる。図２に示す例においては、テープライブラリ装置３に複数の保管媒体３３が搭載される。
ロボットユニット３１は、図示しないアーム等を用いて保管媒体３３を把持して搬送する機構をそなえ、セル３３１から任意の保管媒体３３を取り出し、この保管媒体３３を搬送してドライブユニット３２に挿入する。ロボットユニット３１は、後述する仮想ライブラリ装置２の仮想ライブラリ管理部２０からの制御に従って、複数の保管媒体３３の中から一の保管媒体３３を選択する。そして、この選択した保管媒体３３を搬送してドライブユニット３２に取り付ける。【００１８】
ドライブユニット３２は、保管媒体３３や外部保管用媒体３４に対してデータの読み書きを行なうものであり、ロボットユニット３１によって取り付けられた保管媒体３３や外部保管用媒体３４に対して、テープフォーマットでデータの書き込みを行なう。
また、本実施形態においては、同一もしくはほぼ同様の構成をそなえる複数のドライブユニット３２をそなえている。そして、例えば、これらの複数のドライブユニット３２うちいずれかを用いて外部保管媒体３４に対するデータの読み書きを行ない、他のドライブユニット３２を用いて保管用媒体３３に対するデータの読み書きを行なう。【００１９】
なお、保管媒体３３対してアクセスする専用のドライブユニット３２をそなえるとともに、外部保管用媒体３４対してアクセスする専用のドライブユニット３２をそなえてもよい。又、保管媒体３３と外部保管媒体３４とで共有のドライブユニット３２としてそなえ、ドライブユニット３２が保管媒体３３と外部保管媒体３４とのいずれに対してもアクセスしてもよく、種々変形して実施することができる。
また、本仮想テープライブラリシステム１は、仮想ライブラリ装置２のキャッシュディスク２４に格納されているデータを、テープライブラリ装置３の保管媒体３３に移動する、マイグレーション機能をそなえている。キャッシュディスク２４に格納されたボリュームのデータは、このマイグレーション処理によりテープライブラリ装置３の保管媒体３３に移動（セーブ）される。なお、本仮想テープライブラリシステム１におけるマイグレーション機能の詳細については後述する。【００２０】
外部保管媒体３４は、保管媒体３３と同様に、データを順次アクセス記憶する記録媒体であって、例えば、磁気テープ，カートリッジテープ，カセットテープ等が用いられる。図１に示す例においては、テープライブラリ装置３に一の外部保管媒体３４が搭載される。また、外部保管媒体３４は図示しないドライブユニットに取り付けられ、このドライブユニットにより、外部保管媒体３４に対するデータの読み書きが行なわれる。なお、この外部保管媒体３４に対してデータの読み書きを行なうドライブユニットには、保管媒体３３に対してデータの読み書きを行なうドライブユニット３２を用いてもよい。【００２１】
また、本仮想テープライブラリシステム１は、仮想ライブラリ装置２のキャッシュディスク２４に格納されているデータを、テープライブラリ装置３の外部保管媒体３４に移動する、エクスポート機能をそなえている。キャッシュディスク２４に格納されたボリュームは、このエクスポート処理によって、テープライブラリ装置３により外部保管媒体３４に移動される。なお、本仮想テープライブラリシステム１におけるエクスポート処理の詳細についても後述する。【００２２】
仮想ライブラリ装置２は、仮想ライブラリ管理部２０とキャッシュディスク２４とをそなえる。この仮想ライブラリ装置２は、ホスト１００とテープライブラリ装置３との間にそなえられ、ホスト１００から送信されるデータをキャッシュディスク２４の仮装テープボリューム（論理ボリューム）に記憶する。
キャッシュディスク２４は、例えば、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置等のディスクアレイ装置により構成される。このキャッシュディスク２４は、仮想ライブラリ管理部２０に対して仮想的なストレージを提供する。ディスクアレイ装置は、複数のディスクボリューム２４１から構成される。ディスクボリューム２４１は、論理ボリュームを格納するためのディスク装置であり、ディスクボリューム２４１には、それぞれ仮装テープボリューム（論理ボリューム）が格納される。論理ボリュームとは、ホスト１００からテープライブラリ装置３のデータをアクセスするときの論理的なアクセス単位のデータを示す。【００２３】
また、このキャッシュディスク（データブロックパターン記憶部）２４は、重複排除情報（データブロックパターン）２５０を格納する。
重複排除情報２５０は、データを構成するデータブロックに関する情報であって、データを分割して形成されるデータブロックや、そのハッシュキー，データブロック構成等を表す。本実施形態においては、重複排除情報２５０として、ブロックテーブル２５０ａ，アドレステーブル２５０ｂ及びデータブロック構成をそなえる。【００２４】
図３は実施形態の一例としての仮想テープライブラリシステム１におけるブロックテーブル２５０ａを例示する図、図４はそのアドレステーブル２５０ｂを例示する図である。
ブロックテーブル２５０ａは、データを構成する各データブロックと、そのハッシュキーを管理する情報であり、図３に示すように、ブロック番号とＦＰとを対応付けて構成されている。ブロック番号は、データブロックから生成されたＦＰを一意に識別する識別情報である。ＦＰは、データブロックのハッシュ値を求める手法等により作成されるフィンガープリント（finger print：ＦＰ）である。重複記憶判定部２０３は、このＦＰを用いることによりデータブロックの一致／不一致を判断し、これによりデータブロックの重複を判断する。本実施形態においては、ＦＰが同一のデータブロックは同一のデータブロックであると判断する。【００２５】
アドレステーブル２５０ｂは、データブロックのＦＰと、ＦＰで示されるデータブロックが記憶されているキャッシュディスク２４における記憶領域のアドレスとを関連付ける情報（アドレス情報）である。
データブロック構成は、例えば、データを構成するデータブロックのインデックスであり、ボリューム中における各データブロックの位置等を表す。このデータブロック構成を参照することにより、データブロックを用いてデータの復元を行なうことが可能となる。【００２６】
すなわち、キャッシュディスク２４（ディスクボリューム２４１）は、データについてのデータブロックパターンを格納するデータブロックパターン記憶部として機能する。
なお、これらのブロックテーブル２５０ａ，アドレステーブル２５０ｂ及びデータブロック構成は、例えば、重複記憶判定部２０３によって設定される。
仮想ライブラリ管理部２０は、例えば、サーバ機能をそなえたコンピュータ（サーバコンピュータ）であり、仮想テープライブラリの制御管理や、重複排除のパターン分析及び管理制御を行なう。【００２７】
この仮想ライブラリ管理部２０は、ホスト１００からの指示に応じて、送信されるデータをキャッシュディスク２４に格納する。又、仮想ライブラリ管理部２０は、ホスト１００からの指示に応じて、キャッシュディスク２４に格納されているデータをホスト１００に送信する。更に、仮想ライブラリ管理部２０は、ホスト１００からの指示に応じて、キャッシュディスク２４に格納されたデータをテープライブラリ装置３の保管媒体３３や外部保管媒体３４に移動するマイグレーションやエクスポートを行なう。【００２８】
仮想ライブラリ管理部２０は、図示しない、ＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory），ＲＯＭ（Read Only Memory），ＨＤＤ（Hard Disk Drive）の他、メモリ２５等をそなえる。そして、ＣＰＵが、ＨＤＤ等に格納されたＯＳ（Operating System）や各種プログラムを実行することにより各種機能を実現する。又、メモリ（記録装置）２５は、例えば不揮発性メモリであり、このメモリ２５には格納実績管理情報２５１やキャッシュ実績管理情報２５３が格納される。【００２９】
格納実績管理情報２５１は、後述する外部保管媒体３４におけるブロックデータの格納状態（格納実績）を管理する情報である。具体的には、エクスポート処理時に、後述するテープ記憶処理部２０６が外部保管媒体３４にブロックデータを格納する際に、外部保管媒体３４に格納したブロックデータを特定する情報が、そのボリュームを識別する情報に対応させて格納実績管理情報２５１に格納される。【００３０】
キャッシュ実績管理情報２５３は、キャッシュディスク２４に格納されているデータを管理する情報であり、例えば、キャッシュディスク２４に格納されている論理ボリュームを識別する情報等が格納される。このキャッシュ実績管理情報２５３への情報の登録処理は、例えば、後述するディスク格納処理部２０５が、キャッシュディスク２４にデータの格納を行なう度に行なう。【００３１】
なお、格納実績管理情報２５１やキャッシュ実績管理情報２５３を格納するメモリ２５は不揮発性メモリに限定されるものではない。例えば、ＯＳやプログラムを実行するためにデータを一時的に格納・展開する上記ＲＡＭやＨＤＤ等の他の記録装置を用いてもよく、種々変形して実施することができる。
また、このメモリ２５には、論理ボリュームとディスクボリューム２４１との対応を示す管理情報も格納される。【００３２】
仮想ライブラリ管理部２０は、ＣＰＵがＨＤＤ等に格納されたＯＳや制御プログラムを実行することにより、図１に示すように、データ分割部２０１，重複記憶判定部２０３，データ圧縮部２０４，ディスク格納処理部２０５，テープ記憶処理部２０６，重複数決定部２０７，順序決定部２０８，データブロック読出部２０９，ブロックパターン読出部２１０，データ選択部２１２，及び復元部２１１として機能する。【００３３】
データ分割部２０１は、データの重複排除機能として、データを所定のデータブロックに分割するものであり、例えば、ホスト１００から受信するバックアップデータを分割する。データ分割部２０１は、固定長型もしくは可変長型のいずれかの形式でデータの分割を行なう。ここで、固定長型は予め決められたサイズでデータを分割する手法であり、可変長型は特定の区切り方のルールに従って分割する方法である。なお、このデータ分割部２０１によるデータ分割は、既知の種々の手法により実現することができるものであり、その詳細な説明は省略する。【００３４】
重複記憶判定部２０３は、データブロックの重複状態を判定する。例えば、重複記憶判定部２０３は、データを外部保管媒体３４に格納するエクスポート処理時に、そのデータを構成する個々のデータブロックについて、それぞれ、そのデータブロックと同一のデータブロックが外部保管媒体３４に記憶されているか否かを判定する。
重複記憶判定部２０３は、データブロック毎に判定処理を行なうものであり、例えば、処理対象のデータブロックについてハッシュ値を算出してＦＰを生成し、このＦＰに基づいて格納実績管理情報２５１を参照することにより、処理対象のデータブロックとＦＰが同一のデータブロックが外部保管媒体３４に格納されているか否かを判定する。これにより、同一のデータブロックが外部保管媒体３４に格納されているか否かを判定する。【００３５】
また、重複記憶判定部２０３は、処理対象のデータブロックと同一のデータブロックが外部保管媒体３４に格納されていると判断した場合には、その処理対象のデータブロックを廃棄し、その処理対象データブロックの外部保管媒体３４における重複保存を抑止する。すなわち、重複記憶判定部２０３は、同一のＦＰのデータブロックを一の外部保管媒体３４中には１つしか記憶させない、重複排除（デデュープ：De-dupulication）を実現する。すなわち、重複記憶判定部２０３は、重複排除エンジンとして機能する。【００３６】
なお、重複排除には、例えば、データをストレージ装置の制御部で比較しながらストレージ装置内に記憶するインライン方式を用いることができる。なお、これに限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、データを一旦ストレージ装置内に記憶してからストレージ装置の制御部でデータ同士を比較して重複排除を行なうポストプロセス方式を用いてもよい。又、バックアップ管理サーバやクライアント等のストレージ装置の外部の装置によりデータ同士を比較して重複排除した後、ストレージ装置内に記憶するクライアント方式を用いてもよく、適宜変更して実施することができる。【００３７】
ブロック番号は、ストレージ装置１００で重複排除するデータを分割して作成した個々のデータブロックを特定するために、各データブロックに付された識別情報である。
ＦＰは、各データブロックをハッシュ関数で変換して得たハッシュ値等、ブロックの内容に応じて変化することにより、データブロックの内容が同一であるか否かの判定に使用する符号である。なお、データブロックからのＦＰの生成は、既知の種々の手法を用いて実現することができ、その詳細な説明は省略する。又、ＦＰは、内容が異なるブロック同士が同一のＦＰとなることを防止するために十分な桁数を有するものとする。【００３８】
本実施形態の一例としての重複排除では、ブロックテーブル２５０ａにおいてＦＰを比較し、ＦＰが同一のデータブロックについては、１個のデータブロックのみを外部保管媒体３４に記憶させるとともに、他のデータブロックは記憶デバイス１２０に記憶させない。これにより、重複するデータブロックを外部保管媒体３４に記憶させないので、外部保管媒体３４の記憶領域が削減される。【００３９】
また、重複記憶判定部２０３は、データブロック毎に行なったＦＰやデータブロック構成の作成等の結果を、重複排除情報５１０に保存する。なお、以下、データブロックについてＦＰやデータブロック構成の作成等の処理を重複パターンのパターン分析という場合がある。
データ圧縮部２０４は、データブロックを圧縮データとする圧縮処理を行なうものであり、重複記憶判定部２０３により重複排除後のデータブロックに対して、更に圧縮処理を行なった上で外部保管媒体３４に格納する。【００４０】
これにより、外部保管媒体３４に排出するデータ量を極小化することが可能となり、且つ、一の外部保管媒体３４に効率良く多くの論理ボリュームを短時間に格納することが可能となる。
なお、このデータ圧縮部２０４によるデータ圧縮手法としては既知の種々の手法を適宜用いることができる。【００４１】
テープ記憶処理部（データ記憶処理部）２０６は、データを外部保管媒体３４や保管媒体３３に格納する。
このテープ記憶処理部２０６は、エクスポート処理時において、重複記憶判定部２０３が、処理対象のデータブロックと同一のデータブロックが外部保管媒体３４に記憶されていないと判断した場合に、その処理対象のデータブロックを外部保管媒体３４に記憶する。又、重複記憶判定部２０３が、処理対象のデータブロックと同一のデータブロックが外部保管媒体３４に記憶されていると判断した場合には、その処理対象のデータブロックの外部保管媒体３４への記憶を抑止する。すなわち、テープ記憶処理部２０６は、その外部保管媒体３４に同一のデータブロックを格納しない。【００４２】
また、テープ記憶処理部２０６は、エクスポート処理時に、外部保管媒体３４の所定の記憶領域に、その外部保管媒体３４に記憶されたデータに関する重複排除情報２５２を記憶する。
具体的には、テープ記憶処理部２０６は、重複排除情報から、その外部保管媒体３４に格納したデータに対応する重複排除情報２５２を抽出して、外部保管媒体３４に格納する。【００４３】
なお、エクスポートした論理ボリュームに関する重複排除情報２５２を外部保管媒体３４に格納する処理は、例えば、その論理ボリュームの外部保管媒体３４に対するエクスポート処理の最終ステップにおいて行なうことが望ましい。
また、外部保管媒体３４においては、重複排除情報２５２は、例えば、外部保管媒体３４にそなえられたカートリッジメモリ（ＣＭ）等の不揮発性メモリに格納してもよく、又、外部保管媒体３４におけるデータを格納する媒体領域（記録テープ）に格納してもよい。なお、外部保管媒体３４の媒体領域に重複排除情報２５２を格納する際には、例えば、媒体領域におけるデータの格納位置よりも先行して読み取られる部位に格納することが望ましい。【００４４】
ディスク格納処理部２０５は、データをキャッシュディスク２４に格納する。このディスク格納処理部２０５は、ホスト１００から受信したデータをキャッシュディスク２４に格納する。又、ディスク格納処理部２０５は、圧縮部２０４がデータを圧縮した場合には、この圧縮されたデータをキャッシュディスク２４に格納する。
また、ディスク格納処理部２０５は、保管媒体３３に格納されたデータをキャッシュディスク２４に格納するリコール処理時において、データをキャッシュディスク２４に格納する。【００４５】
ディスク格納処理部２０５は、例えば論理ボリュームをキャッシュディスク２４に格納する度に、その論理ボリュームを識別する情報（例えば、ボリュームＩＤやボリューム名）をキャッシュ実績管理情報２５３に登録する。
重複数決定部２０７は、保管媒体３３に記憶されている各ボリュームについて、それぞれを構成するデータブロックと、外部保管媒体３４に記憶されているデータブロックとが重複する数（重複数）を求める。なお、重複数決定部２０７は、例えば、格納実績管理情報２５１を参照することにより、外部保管媒体３４に記憶されているデータブロックを把握することができる。【００４６】
すなわち、重複数決定部２０７は、保管媒体３３に格納されているデータのデータブロックと、外部保管媒体３４に記憶されているデータのデータブロックとの重複数を決定する。
データ選択部２１２は、エクスポート処理を行なうに際して、外部保管媒体３４に格納する論理ボリューム（データ）を選択する。以下、エクスポートの対象となっていて、且つ、エクスポートが未実行の論理ボリュームをエクスポート対象論理ボリュームという場合がある。エクスポート対象論理ボリュームは、例えば、本仮想テープライブラリシステム１に含まれる論理ボリュームの中から、オペレータ等が選択することにより決められる。【００４７】
データ選択部２１２は、複数のエクスポート対象論理ボリュームのうち、エクスポートの処理を行なうべき論理ボリュームを決定する。なお、以下、エクスポート処理を行なうべき論理ボリュームをエクスポート実行論理ボリュームという場合がある。
エクスポート処理時において、データ選択部２１２が、次にエクスポートするべき一の論理ボリュームを都度選択することにより、システム運用中に遂次変わる状況に対して、随時対応することができ、システム運用を弾力的に行なうことができる。【００４８】
本実施形態においては、データ選択部２１２は、エクスポート実行の対象となる論理ボリュームを以下のアルゴリズムの順に選択する。
（１）外部保管媒体３４にエクスポート済みのデータブロック群と重複しているデータブロックの所有数が最多である論理ボリューム
（２）エクスポート対象論理ボリューム群内で、データブロックの重複数が最多の論理ボリューム
ここで、データブロックの重複数とは、自論理ボリュームを構成する各データブロックについて、他のエクスポート対象論理ボリュームと重複している数を算出し、全データブロック分の総数を算出した値であり、重複数決定部２０７によって求められる。【００４９】
このように、データ選択部２１２は、重複数決定部２０７により求められた重複数に基づいて、優先的に外部保管媒体３４に格納するボリュームを選択する。
データ選択部２１２は、エクスポート対象の論理ボリュームが複数ある場合に、論理ボリュームを構成するデータブロックが、外部保管媒体３４に格納されているデータブロックと重複する数が多い論理ボリュームをエクスポート対象のボリュームとして選択する。このエクスポート対象のボリュームの選択は、例えば、ＲＡＭ２５に格納されている格納実績管理情報２５１を参照して、外部保管媒体３４に格納されているデータブロックを確認することにより行なう。【００５０】
これにより、エクスポート処理を行なうに際して、外部保管媒体３４に既に格納されているデータブロックとの重複が数多く発生し、重複排除による外部保管媒体３４の効率的な使用やエクスポート処理の高速化を可能とする。
また、データ選択部２１２は、保管媒体３３に記憶されているボリュームのうち、そのボリュームを構成するデータブロック（構成データブロック）の数が多いボリュームを、優先的に外部保管媒体３４に格納するボリューム（エクスポート実行論理ボリューム）として選択する。【００５１】
これにより、エクスポート処理に際して、外部保管媒体３４に格納されるデータブロックの種類が多くなり、それ以後に外部保管媒体３４にデータブロックの格納を行なう際に、データブロックの重複発生率の向上が期待でき、外部保管媒体３４を効率的に用いることが可能となる。
また、上記アルゴリズムによる選択の結果、最初に処理対象となる論理ボリュームが複数抽出された場合には、データ選択部２１２は、キャッシュディスク２４上にデータが格納されている論理ボリュームを優先して選択する。なお、キャッシュディスク２４上に格納されている論理ボリュームは、例えば、前述したＲＡＭ２５に格納されているキャッシュ実績管理情報２５３を参照することにより確認する。【００５２】
順序決定部２０８は、複数の論理ボリュームをエクスポートするに際して、保管媒体３３をドライブユニット３２に搬送する順番を決定する。順序決定部２０８は、データ選択部２１２により、部保管媒体３４に次に格納するとして選択されたボリュームが格納されている保管媒体３３を、ドライブユニット３２に搬送する保管媒体３３として決定する。すなわち、順序決定部２０８は、重複数決定部２０７により決定された重複数に基づいて、保管媒体３３をドライブユニット３２に搬送する順番を決定する。【００５３】
データブロック読出部２０９は、外部保管媒体３４に格納されたボリュームをキャッシュディスク２４に格納するインポート処理時において、外部保管媒体３４に格納されたデータブロックを読み出す。
ブロックパターン読出部２１０は、インポート処理時において、外部保管媒体３４から、その外部保管媒体３４に記憶されたボリュームについての重複排除情報２５２を読み出す。【００５４】
復元部２１１は、インポート処理時において、データブロックからボリュームを復元する。この復元部２１１は、ブロックパターン読出部２１０によって外部保管媒体３４から読み出された重複排除情報２５２を参照し、データブロック読出部２０９によって読み出されたデータブロックを用いてボリュームの復元を行なう。すなわち、重複排除情報２５２に従って、データブロックの並び替えや複写等を行なうことによりボリュームを作成する。【００５５】
そして、情報処理装置のＣＰＵが、制御プログラムを実行することにより、上述した、データ分割部２０１，重複記憶判定部２０３，データ圧縮部２０４，ディスク格納処理部２０５，テープ記憶処理部２０６，重複数決定部２０７，順序決定部２０８，データブロック読出部２０９，ブロックパターン読出部２１０，データ選択部２１２及び復元部２１１として機能する。【００５６】
なお、これらのデータ分割部２０１，重複記憶判定部２０３，データ圧縮部２０４，ディスク格納処理部２０５，テープ記憶処理部２０６，重複数決定部２０７，順序決定部２０８，データブロック読出部２０９，ブロックパターン読出部２１０，データ選択部２１２及び復元部２１１としての機能を実現するためのプログラム（制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ等），磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。【００５７】
データ分割部２０１，重複記憶判定部２０３，データ圧縮部２０４，ディスク格納処理部２０５，テープ記憶処理部２０６，重複数決定部２０７，順序決定部２０８，データブロック読出部２０９，ブロックパターン読出部２１０，データ選択部２１２及び復元部２１１としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ２５やＲＯＭ）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態では仮想ライブラリ管理部２０のＣＰＵ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。【００５８】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、仮想ライブラリ管理部２０がコンピュータとしての機能を有しているのである。【００５９】
上述の如く構成された実施形態の一例としての仮想テープライブラリシステム１におけるホスト１００からのデータ書き込み時の処理を、図６を参照しながら、図５に示すフローチャート（ステップＡ１０〜Ａ７０）に従って説明する。なお、図６は実施形態の一例としての仮想テープライブラリシステム１におけるデータ受信時の処理の流れを模式的に示す図である。【００６０】
ホスト１００から論理ボリュームへの書き込み指示（ボリューム書き込み）が行なわれ、仮想ライブラリ装置２は、ホスト１００からデータを受信する（ステップＡ１０，図６の符号Ｆ１）。
データ分割部２０１は受信したデータを複数のデータブロックに分割し、重複記憶判定部２０３は、各データブロック（ライトデータ）の重複状態の判定を行なう（ステップＡ２０）。又、重複記憶判定部２０３は、重複パターンのパターン分析結果を重複排除情報２５０に格納する（ステップＡ３０，図６の符号Ｆ２）。すなわち、重複記憶判定部２０３は、ボリュームの重複パターンを分析し、その分析結果を重複排除情報５１０に保存する。【００６１】
次に、ホスト１００からのボリューム書き込み指示において、ボリュームについて圧縮を行なう旨の指定がされているか否かの確認が行なわれ、ボリューム圧縮の指定がある場合には（ステップＡ４０のＹＥＳルート参照）、データ圧縮部２０４が、そのボリュームをデータ圧縮して（ステップＡ５０）、キャッシュディスク２４に格納する（ステップＡ６０，図６の符号Ｆ３）。【００６２】
一方、ボリューム圧縮の指定がない場合には（ステップＡ４０のＮＯルート参照）、ボリュームを非圧縮の状態でキャッシュディスク２４に格納する（ステップＡ６０，図６の符号Ｆ３）。
キャッシュディスク２４に格納されたボリュームのデータは、その後、非同期で行なわれるマイグレーション処理により、キャッシュディスク２４上の更新データを、テープライブラリ装置３の保管媒体３３に書き込まれ（ステップＡ７０，図６の符号Ｆ４）、処理を終了する。【００６３】
このように、本仮想テープライブラリシステム１においては、ホスト１００から受信するデータの書込処理時に、ホスト１００からの書き込みデータをキャッシュディスク２４に格納する前に、重複記憶判定部２０３によりデータブロック単位で重複パターン分析を実施する。ただし、この際、重複排除パターンの抽出と重複排除情報２５０への登録のみを実施し、実際の重複排除処理は行なわない状態でキャッシュディスク２４に格納する。【００６４】
次に、本実施形態の一例としての仮想テープライブラリシステム１におけるエクスポート時の処理を、図９を参照しながら、図７及び図８に示すフローチャート（図７のステップＢ１０〜Ｂ１１０，図８のステップＣ１０〜Ｃ８０）に従って説明する。なお、図９は実施形態の一例としての仮想テープライブラリシステム１におけるエクスポート時の処理の流れを模式的に示す図である。又、図８は図７のステップＢ３０の処理を説明するフローチャートである。なお、本例においては、オペレータが複数の論理ボリュームをエクスポートする論理ボリュームとして指定する場合について示す。【００６５】
エクスポートを行なうに際しては、例えば、先ず、オペレータが、仮想ライブラリ装置２に接続されたコンピュータ等から、エクスポートする複数の論理ボリュームを指定し（ステップＢ１０）、エクスポート機能を起動させる（ステップＢ２０）。このエクスポート機能の起動は、例えば、オペレータが仮想ライブラリ装置２に接続されたコンピュータ等から入力操作を行なうことにより行なう。又、データ選択部２１２は、指定された論理ボリュームの数を係数する。【００６６】
データ選択部２１２は、エクスポート指定された複数の論理ボリュームからなるボリューム群から、エクスポート対象論理ボリュームを一つ選択する（ステップＢ３０，図９の符号Ｆ１１）。
ここで、エクスポート対象論理ボリュームの選択は、先ず、外部保管媒体３４にエクスポート済みのデータブロック群と重複しているデータブロックの保持数が最多のエクスポート対象論理ボリュームを全て検索することにより行なう（ステップＣ１０）。【００６７】
データ選択部２１２は、この検索結果として得られるエクスポート対象論理ボリュームの数を確認し（ステップＣ２０）、エクスポート対象論理ボリュームが１つだけ検出された場合には（ステップＣ２０の“１”ルート参照）、その検出された１のエクスポート対象論理ボリュームをエクスポート実行論理ボリュームとして選択する（ステップＣ８０）。【００６８】
検索結果としてのエクスポート対象論理ボリュームの数が２以上である場合には（ステップＣ２０の“２以上”ルート参照）、データ選択部２１２は、これらの２以上のエクスポート対象論理ボリュームのうち、キャッシュディスク２４にある論理ボリュームを検索する（ステップＣ５０）。
そして、データ選択部２１２は、この検索の結果、キャッシュディスク２４に１つのエクスポート対象論理ボリュームが格納されているか否かを判断し（ステップＣ６０）、エクスポート対象論理ボリュームが一つだけ（対象ボリューム数＝１）の場合には（ステップＣ６０のＹＥＳルート参照）、そのキャッシュディスク２４上にある１つのエクスポート対象論理ボリュームをエクスポート実行論理ボリュームとして選択する（ステップＣ８０）。【００６９】
また、キャッシュディスク２４にエクスポート対象論理ボリュームが一つだけある状態ではない場合には（ステップＣ６０のＮＯルート参照）、すなわち、エクスポート対象論理ボリュームを１つに絞り込めていない場合には、データ選択部２１２は、候補であるエクスポート対象論理ボリュームの中から、論理ボリュームを構成する構成データブロック数が多いボリュームを、エクスポート実行論理ボリュームとして選択する（ステップＣ７０）。【００７０】
すなわち、キャッシュディスク２４上に複数のエクスポート対象論理ボリュームがある場合や、２以上のエクスポート対象論理ボリュームの全てがキャッシュディスク２４上にない場合には、データ選択部２１２は、これらのエクスポート対象論理ボリュームから、構成データブロック数が多いボリュームを、エクスポート実行論理ボリュームとして選択する。又、この時点において、選択肢となるエクスポート対象論理ボリュームが複数存在する場合には、例えば、ランダムに選択する等の手法により、一のエクスポート対象論理ボリュームをエクスポート実行論理ボリュームとして選択する（ステップＣ８０）。【００７１】
また、外部保管媒体３４にエクスポート済みのデータブロック群とデータブロックが重複するエクスポート対象論理ボリュームが検出されなかった場合には（ステップＣ２０の“０”ルート参照）、データ選択部２１２は、次に、エクスポート対象論理ボリュームのそれぞれについて重複数を調べる。
そして、データ選択部２１２は、エクスポート対象論理ボリューム群の内、この重複数が最も多い論理ボリューム（エクスポート対象論理ボリューム）の数（対象ボリューム数）を調べる（ステップＣ３０）。この対象ボリューム数を確認し（ステップＣ４０）、対象ボリューム数が１の場合には（ステップＣ４０の“１”ルート参照）、１つのエクスポート対象論理ボリュームをエクスポート実行論理ボリュームとして選択する（ステップＣ８０）。【００７２】
また、自ボリューム内でのデータブロックの重複数が最も多い論理ボリュームがない場合には（ステップＣ４０の“０”ルート参照）、全てのエクスポート対象論理ボリュームのエクスポートが完了し、エクスポート対象論理ボリュームがなくなったと判断して、エクスポート処理を完了する。また、エクスポート実行論理ボリュームとして選択された論理ボリュームの数を係数して、ステップＢ２０において係数した指定された論理ボリュームの数と比較し、指定された論理ボリューム数分の処理が行なわれた場合にもエクスポート完了であると判断してもよい。これにより、全く重複しないエクスポート対象論理ボリュームが存在した場合においても、確実に処理を完了させることができる。
一方、自ボリューム内でのデータブロックの重複数が最も多い論理ボリュームが複数検出された場合には（ステップＣ４０の“２以上”ルート参照）、ステップＣ５０に移行する。【００７３】
このようにして、ステップＣ８０においてエクスポート実行論理ボリュームが選択されると、次にデータ選択部２１２は、キャッシュディスク２４にそのエクスポート実行論理ボリュームのデータが格納されているか否かを確認する（ステップＢ４０）。
ここで、キャッシュディスク２４にエクスポート実行論理ボリュームのデータが格納されていない場合には（ステップＢ４０のＮＯルート）、テープライブラリ装置３の保管媒体３３からキャッシュディスク２４に、そのエクスポート実行論理ボリュームのデータを転送（リコール）させる（ステップＢ５０，図９の符号Ｆ１１）。【００７４】
エクスポート実行論理ボリュームのデータのリコールが完了した後、もしくは、キャッシュディスク２４にエクスポート実行論理ボリュームのデータが格納されていた場合には（ステップＢ４０のＹＥＳルート参照）、キャッシュディスク２４から、そのエクスポート実行論理ボリュームを取得する（図９の符号Ｆ１２）。
また、エクスポート実行論理ボリュームが圧縮されていた場合には、そのエクスポート実行論理ボリュームを解凍（伸長）して、非圧縮の状態に戻す（ステップＢ６０）。【００７５】
データ分割部２０１は、この非圧縮のエクスポート実行論理ボリュームを分解して、複数のデータブロックを生成（抽出）する。なお、この際、データ分割部２０１は、重複排除情報２５０を参照して、エクスポート実行論理ボリュームからデータブロックを抽出する（ステップＢ７０，図９の符号Ｆ１３）。
また、重複記憶判定部２０３は、エクスポート実行論理ボリュームを構成するデータブロックのうち、外部保管媒体３４に未格納のデータブロックだけを選択し、データ圧縮部２０４が、これらの選択されたデータブロックをデータ圧縮する。そして、このようにしてデータ圧縮された外部保管媒体３４に未格納のデータブロックは、テープ記憶処理部２０６により、外部保管媒体３４に格納される（ステップＢ８０，図９の符号Ｆ１４）。【００７６】
その後、エクスポート指定された複数の論理ボリュームに、エクスポートが未実行のエクスポート対象論理ボリュームがあるか否かを確認し（ステップＢ９０）、エクスポート対象論理ボリュームがまだある場合には（ステップＢ９０のＹＥＳルート参照）、ステップＢ３０に戻る。
また、エクスポート指定された複数の論理ボリュームの全てについてエクスポートが完了している場合には（ステップＢ９０のＮＯルート参照）、テープ記憶処理部２０６は、重複排除情報２５０から、この外部保管媒体３４に格納した全てのエクスポート実行論理ボリュームについての重複排除情報２５２を抽出し、外部保管媒体３４に格納する（ステップＢ１００，図９の符号Ｆ１５）。その後、外部保管媒体３４は、テープライブラリ装置３から排出され（ステップＢ１１０，図９の符号Ｆ１６）、処理を終了する。【００７７】
次に、本実施形態の一例としての仮想テープライブラリシステム１におけるインポート時の処理を、図１１を参照しながら、図１０に示すフローチャート（ステップＤ１０〜Ｄ１１０）に従って説明する。なお、図１１は実施形態の一例としての仮想テープライブラリシステム１におけるインポート時の処理の流れを模式的に示す図である。
インポートを行なうに際しては、先ず、オペレータが、テープライブラリ装置３に、インポート対象の論理ブロックが格納された外部保管媒体３４を投入して（ステップＤ１０）、インポート機能を起動させる（ステップＤ２０）。このインポート機能の起動は、例えば、オペレータが仮想ライブラリ装置２に接続されたコンピュータ等から入力操作を行なうことにより行なう。【００７８】
ブロックパターン読出部２１０が、外部保管媒体３４から、その外部保管媒体３４に記憶されたボリュームについての重複排除情報２５２を読み込み（ステップＤ３０，図１１の符号Ｆ２１）、その重複排除情報２５２をキャッシュディスク２４上の一時領域に格納する（ステップＤ４０，図１０の符号Ｆ２２）。
データブロック読出部２０９が、外部保管媒体３４に格納されたデータブロックを読み出す（ステップＤ５０，図１１の符号Ｆ２３）。又、データブロック読出部２０９は、圧縮されているデータブロックを伸長し、この伸長したデータブロックを、キャッシュディスク２４上の一時領域に格納する（ステップＤ６０，図１１の符号Ｆ２４）。これにより、論理ボリュームを構成する全てのデータブロックがキャッシュディスク２４の一時領域に格納される。この際、データブロック読出部２０９は、キャッシュディスク２４においてデータブロックの格納に必要な領域の確保も併せて行なう。【００７９】
なお、これらのステップＤ３０，Ｄ４０とステップＤ５０，Ｄ６０との処理順序は、これに限定されるものではない。例えば、ステップＤ５０，Ｄ６０の処理を行なってからステップＤ３０，Ｄ４０の処理を行なったり、これらの処理を同時に行なう等、適宜変更して実施することができる。
復元部２１１は、ブロックパターン読出部２１０によって読み出された重複排除情報２５２を参照し、データブロック読出部２０９によって読み出したデータブロックを用いて、論理ボリュームの復元を行なう（ステップＤ７０，図１１の符号Ｆ２５）。すなわち、復元部２１１は、キャッシュディスク２４上の一時領域に格納されたデータブロックや重複排除情報に基づいて論理ボリュームを復元する。この際、復元部２１１は、重複排除されたデータブロックを、適宜、複写等することにより、論理ボリュームを復元する。なお、この際、復元部２１１は、キャッシュディスク２４上に格納されたデータブロックで復元可能な論理ボリュームから順に復元を行なう。【００８０】
また、復元部２１１は、復元後の論理ボリュームに対してデータ圧縮の指定がされているかを確認する（ステップＤ８０）。このデータ圧縮の指定は、例えば、インポート機能の起動時にオペレータが行なってもよく、又、その論理ボリュームをエクスポートする際に、重複排除情報２５２ととともにデータ圧縮の必要の有無を表す情報を外部保管媒体３４に格納してもよい。【００８１】
論理ボリュームに対してボリューム圧縮の指定が行なわれている場合には（ステップＤ８０のＹＥＳルート参照）、例えば、データ圧縮部２０４が、復元した論理ボリュームのデータ圧縮を行なった後に（ステップＤ９０）、キャッシュディスク２４に格納する（ステップＤ１００，図１１の符号Ｆ２６）。又、  論理ボリュームに対してボリューム圧縮の指定が行なわれていない場合には（ステップＤ８０のＮＯルート参照）、その論理ボリュームを非圧縮の状態でキャッシュディスク２４に格納する（ステップＤ１００，図１１の符号Ｆ２６）。【００８２】
キャッシュディスク２４に格納された復元された論理ボリュームのデータは、その後、マイグレーション処理により、テープライブラリ装置３の保管媒体３３に書き込まれ（ステップＤ１１０，図１１の符号Ｆ２７）、処理を終了する。
なお、マイグレーションにより、保管媒体３３に論理ボリュームが格納された後においては、その論理ボリュームの復元に使用したデータブロックは不要となり、キャッシュディスク２４から削除される。又、外部保管媒体３４における全ての論理ボリュームについてのインポートが完了した時点で、データブロック格納専用に確保していたキャッシュディスク２４のディスクキャッシュ領域も解放される。【００８３】
このように、実施形態の一例としての仮想テープライブラリシステム１によれば、エクスポート処理において、外部保管媒体３４にデータが重複排除された状態で格納される。これにより、外部保管媒体３４に多くのデータを格納することができ、外部保管媒体３４の利用効率を向上させることができる。又、これにより、エクスポートやインポートにおいて、外部保管媒体３４との間で送受信されるデータ量を低減させることができ、これらの処理に要する時間を短縮することができる。更に、外部保管媒体３４の１つあたりに格納するデータ数を増大させることができるので、外部保管媒体３４の使用数を減らすことができ、これによってもエクスポートやインポートに要する時間を短縮することができる。【００８４】
データ圧縮部２０４が、外部保管媒体３４に格納するデータブロックを圧縮データとする圧縮処理を行なうことにより、外部保管媒体３４に更に多くのデータを格納することができ、外部保管媒体３４の利用効率を更なる向上を実現できる。又、これにより、エクスポートやインポートに要する時間を更に短縮することができる。
テープ記憶処理部２０６が、エクスポート処理時において、重複記憶判定部２０３が、処理対象のデータブロックと同一のデータブロックが外部保管媒体３４に記憶されていないと判断したデータブロックを外部保管媒体３４に記憶する。又、重複記憶判定部２０３が同一のデータブロックが既に外部保管媒体３４に記憶されていると判断したデータブロックの外部保管媒体３４への記憶を抑止する。これにより、外部保管媒体３４における重複排除を確実に実現することができる。【００８５】
エクスポート処理時に、テープ記憶処理部２０６が、外部保管媒体３４に、その外部保管媒体３４に記憶されたデータに関する重複排除情報２５２を格納する。これにより、インポート処理時に、この重複排除情報２５２を読み出してデータの復元に用いることにより、外部保管媒体３４に重複排除された状態で格納されたデータを確実に復元させることができ、信頼性が向上する。【００８６】
また、運用に際して、ホスト１００から受信するデータの書込処理時においては、重複記憶判定部２０３によりデータブロック単位で重複パターン分析を実施する。そして、この際、重複排除パターンの抽出と重複排除情報２５０への登録のみを実施し、実際の重複排除処理は行なわない状態でキャッシュディスク２４に格納する。これにより、既存の仮想テープライブラリと同様の処理を行なうことが可能であり利便性が高い。【００８７】
さらに、インポート処理時にキャッシュディスク２４にデータブロック専用の格納領域を動的に確保することで、より効率的に論理ボリューム復元が可能となる。
また、複数の論理ボリュームをエクスポートする際に、データ選択部２１２が、エクスポート実行論理ボリュームとして、外部保管媒体３４にエクスポート済みのデータブロック群と重複しているデータブロックの所有数が最多である論理ボリュームを選択する。これにより、外部保管媒体３４に既に格納されているデータブロックとの重複が数多く発生し、重複排除による外部保管媒体３４の効率的な使用やエクスポート処理の高速化を可能とする。【００８８】
また、データ選択部２１２が、エクスポート実行論理ボリュームとして、エクスポート対象論理ボリューム群内で、データブロックの重複数が最多の論理ボリュームを選択する。これにより、エクスポート処理に際して、外部保管媒体３４に格納されるデータブロックの種類が多くなり、それ以後に外部保管媒体３４にデータブロックの格納を行なう際に、データブロックの重複発生率の向上が期待でき、外部保管媒体３４を効率的に用いることが可能となる。【００８９】
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
なお、本発明の各実施形態が開示されていれば、本発明を当業者によって実施・製造することが可能である。
【符号の説明】
【００９０】
１    仮想テープライブラリシステム
２    仮想ライブラリ装置（ストレージ装置）
３    テープライブラリ装置
２０    仮想ライブラリ管理部
２４    キャッシュディスク（第１の記憶部）
２５    メモリ
３１    ロボットユニット
３２    ドライブユニット（アクセス部）
３３    保管媒体（第２の記憶部）
３４    外部保管媒体（排出用記憶部）
５０    通信回線
１００    ホスト
２０１    データ分割部
２０３    重複記憶判定部
２０４    データ圧縮部
２０５    ディスク格納処理部
２０６    テープ記憶処理部（データ記憶処理部）
２０７    重複数決定部
２０８    順序決定部
２０９    データブロック読出部
２１０    ブロックパターン読出部
２１１    復元部
２１２    データ選択部
２４１    ディスクボリューム
２５０，２５２    重複排除情報（ブロックパターン）
２５０ａ    ブロックテーブル
２５０ｂ    アドレステーブル
２５１    格納実績管理情報
２５３    キャッシュ実績管理情報
３３１    セル（収納部）
【図１】
2012127566.tif 000003
【図２】
2012127566.tif 000004
【図３】
2012127566.tif 000005
【図４】
2012127566.tif 000006
【図５】
2012127566.tif 000007
【図６】
2012127566.tif 000008
【図７】
2012127566.tif 000009
【図８】
2012127566.tif 000010
【図９】
2012127566.tif 000011
【図１０】
2012127566.tif 000012
【図１１】
2012127566.tif 000013
【国際調査報告】
2012127566.tif 000014
2012127566.tif 000015