(57)【要約】【課題】本発明の記憶制御装置は、仮想ボリュームに記憶されているデータを、ランダムアクセス型記憶デバイスからシーケンシャルアクセス型記憶デバイスに、効率的に移行させる。【解決手段】仮想ボリューム６は、複数のページから構成される。各ページは、ディスクデバイス７のセグメントまたはテープデバイス８のセグメントのいずれか一方に対応付けられる。ホスト２からアクセスされなくなったデータは、ページ単位で、データ移行用の空きディスクデバイス７（３）に集められる。移行元のディスクデバイス７（３）から移行先のテープデバイス８にデータがコピーされる。仮想ボリュームのページのセグメント割当先は、ディスクデバイス上のセグメントからテープデバイス上のセグメントに変更される。【選択図】図１
2009093571.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータにより利用される記憶制御装置であって、
所定サイズの複数の仮想記憶領域から構成される仮想ボリュームであって、前記各仮想記憶領域は実記憶領域にそれぞれ対応付けられる、仮想ボリュームと、
前記各仮想記憶領域のうち移動対象の仮想記憶領域を検出し、検出された移動対象の仮想記憶領域に記憶されるデータを、ランダムアクセス型記憶デバイスの実記憶領域からシーケンシャルアクセス型記憶デバイスの実記憶領域に移動させるか、あるいは、前記シーケンシャルアクセス型記憶デバイスの実記憶領域から前記ランダムアクセス型記憶デバイスの実記憶領域に移動させる、データ移動制御部と、
前記仮想ボリュームを生成して前記ホストコンピュータに提供する仮想ボリューム制御部であって、前記データ移動制御部によるデータ移動結果に基づいて、前記仮想記憶領域を前記ランダムアクセス型記憶デバイスの実記憶領域または前記シーケンシャルアクセス型記憶デバイスの実記憶領域のいずれか一方に対応付ける、仮想ボリューム制御部と、
を備える記憶制御装置。
【請求項２】
前記データ移動制御部は、前記ホストコンピュータからアクセスされる可能性のあるデータが記憶されていない空き記憶領域を用いて、前記ランダムアクセス型記憶デバイスと前記シーケンシャルアクセス型記憶デバイスとの間で、データを移動させる請求項１に記載の記憶制御装置。
【請求項３】
前記データ移動制御部は、（１）前記各仮想記憶領域のうち、予め設定されるアーカイブポリシーに合致するアーカイブ対象の仮想記憶領域を検出した場合には、このアーカイブ対象の仮想記憶領域に対応付けられている、前記ランダムアクセス型記憶デバイスの実記憶領域に記憶されているデータを、前記シーケンシャルアクセス型記憶デバイスの実記憶領域に移動させ、（２）前記各仮想記憶領域のうち、前記シーケンシャルアクセス型記憶デバイスの実記憶領域に対応付けられている仮想記憶領域について復帰指示が発行された場合には、前記シーケンシャルアクセス型記憶デバイスの実記憶領域に記憶されているデータを、前記ランダムアクセス型記憶デバイスの実記憶領域に移動させる、請求項１に記載の記憶制御装置。
【請求項４】
前記アーカイブポリシーは、前記ホストコンピュータによりアクセスされた最終時刻からの経過時間が予め設定される所定時間を超えた場合、前記ホストコンピュータによりアクセスされる頻度が予め設定される所定値を下回った場合、または、前記ホストコンピュータからアーカイブ指示が発行された場合のいずれかである、請求項３に記載の記憶制御装置。
【請求項５】
仮想ボリューム制御部は、前記各仮想記憶領域のうち前記シーケンシャルアクセス型記憶デバイスの実記憶領域に対応付けられている仮想記憶領域に、前記ホストコンピュータがアクセスした場合、エラーを前記ホストコンピュータに通知する請求項１に記載の記憶制御装置。
【請求項６】
前記ホストコンピュータにより利用されるコンテンツデータと前記各仮想記憶領域との対応関係を管理し、かつ、前記コンテンツデータが前記ランダムアクセス型記憶デバイスの実記憶領域または前記シーケンシャルアクセス型記憶デバイスの実記憶領域のいずれに記憶されているかを管理する、データ管理部を更に備え、
前記データ管理部が前記データ移動制御部にアーカイブ指示または復帰指示を発行することにより、前記データ移動制御部は、前記移動対象の仮想記憶領域に記憶されるデータを、ランダムアクセス型記憶デバイスの実記憶領域からシーケンシャルアクセス型記憶デバイスの実記憶領域に移動させるか、あるいは、前記シーケンシャルアクセス型記憶デバイスの実記憶領域から前記ランダムアクセス型記憶デバイスの実記憶領域に移動させる、請求項１に記載の記憶制御装置。
【請求項７】
前記ランダムアクセス型記憶デバイスはハードディスクデバイスまたはフラッシュメモリデバイスのいずれかであり、前記シーケンシャルアクセス型記憶デバイスは磁気テープデバイスである、請求項１に記載の記憶制御装置。
【請求項８】
ランダムアクセス型記憶デバイスの実記憶領域またはシーケンシャルアクセス型記憶デバイスの実記憶領域のいずれか一方に対応付けることができる、所定サイズの複数の仮想記憶領域から、仮想ボリュームを生成し、
前記各仮想記憶領域のうちアーカイブ対象の仮想記憶領域を検出し、
検出された前記アーカイブ対象の仮想記憶領域に対応する前記ランダムアクセス型記憶デバイスの実記憶領域に記憶されているデータを、空き記憶領域を用いて、前記シーケンシャルアクセス型記憶デバイスの実記憶領域に移動させ、
前記アーカイブ対象の仮想記憶領域を、前記移動先のシーケンシャルアクセス型記憶デバイスの実記憶領域に対応付け、
前記アーカイブ対象の仮想記憶領域へのアクセスに対してエラーを応答する、記憶制御装置のデータアーカイブ方法。
【請求項９】
さらに、前記復帰指示が発行された場合には、前記移動先のシーケンシャルアクセス型記憶デバイスの実記憶領域に移動されたデータを、前記ランダムアクセス型記憶デバイスの実記憶領域に移動させる、請求項６に記載の記憶制御装置のデータアーカイブ方法。
【請求項１０】
ホストコンピュータと、このホストコンピュータによって利用されるライブラリ装置とを備えるストレージシステムであって、
（１）前記ライブラリ装置は、複数のランダムアクセス型記憶デバイスを有する第１記憶部と、複数のシーケンシャルアクセス型記憶デバイスを有する第２記憶部と、前記第１記憶部及び前記第２記憶部を制御するコントローラとを備えており、
（２）前記コントローラは、
（2-1）所定サイズの複数の仮想記憶領域から構成される仮想ボリュームであって、前記各仮想記憶領域は実記憶領域にそれぞれ対応付けられる、仮想ボリュームと、
（2-2）前記各仮想記憶領域のうち移動対象の仮想記憶領域を検出し、検出された移動対象の仮想記憶領域に記憶されるデータを、（2-2-1）前記ランダムアクセス型記憶デバイスの実記憶領域から前記シーケンシャルアクセス型記憶デバイスの実記憶領域に移動させるか、あるいは、（2-2-2）前記シーケンシャルアクセス型記憶デバイスの実記憶領域から前記ランダムアクセス型記憶デバイスの実記憶領域に移動させる、データ移動制御部と、
（2-3）前記仮想ボリュームを生成してホストコンピュータに提供する仮想ボリューム制御部であって、前記データ移動制御部によるデータ移動結果に基づいて、前記仮想記憶領域を前記ランダムアクセス型記憶デバイスの実記憶領域または前記シーケンシャルアクセス型記憶デバイスの実記憶領域のいずれか一方に対応付ける仮想ボリューム制御部と、
をそれぞれ実現し、
（３）前記ホストコンピュータは、コンテンツデータと前記各仮想記憶領域との対応関係を管理し、かつ、前記コンテンツデータが前記ランダムアクセス型記憶デバイスの実記憶領域または前記シーケンシャルアクセス型記憶デバイスの実記憶領域のいずれに記憶されているかを管理する、データ管理部を備えており、
（４）前記データ移動制御部は、前記データ管理部から発行されるアーカイブ指示または復帰指示に基づいて、前記ランダムアクセス型記憶デバイスと前記シーケンシャルアクセス型記憶デバイスとの間でデータを移動させる、
ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御装置、記憶制御装置のデータアーカイブ方法及びストレージシステムに関する。
【背景技術】
【０００２】
例えば、政府機関、企業、教育機関等では、多種多量のデータを取り扱うために、比較的大規模なストレージシステムを用いてデータを管理する。このストレージシステムは、少なくとも一つの記憶制御装置を備える。記憶制御装置、例えば、多数の記憶デバイスを備えており、ＲＡＩＤ（Redundant Array of Inexpensive Disks）に基づく記憶領域を提供することができる。記憶デバイス群が提供する物理的な記憶領域上には少なくとも１つ以上の論理デバイス（論理ボリュームとも呼ばれる）が形成される。ホストコンピュータ（以下、「ホスト」）は、論理デバイスに対してライトコマンドやリードコマンドを発行することにより、データの書込みやデータの読出しを行う。
【０００３】
記憶制御装置の一つである仮想ディスクライブラリ装置は、筐体内にハードディスクデバイス及び磁気テープデバイスを備えており、必要に応じて、ディスクと磁気テープの間でデータをコピーすることができるようになっている（特許文献１）。
【０００４】
なお、本出願人は、特願２００６−１３５７７３号明細書において、論理ボリューム単位で、ディスクと磁気テープの間でデータをコピーする技術を開示している。しかし、特願２００６−１３５７７３号明細書は、未だ公開されておらず、従来技術に該当しない。
【特許文献１】特開２００７−１０２４５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
法規制等によって長期間の保存を義務づけられているデータは、日々増大する。多量のデータを長期間保護するために、できるだけコストの安い記憶デバイスを用いるのが好ましい。そこで、１ビット当たりのコストがハードディスクデバイスよりも安い磁気テープデバイスに、ハードディスクデバイス上で保持する必要のないデータを記憶させることが考えられる。これにより、データを長期にわたって保管するためのコストが低減する。
【０００６】
ここで、論理ボリューム単位で、ハードディスクデバイスから磁気テープデバイスにデータを移すことも考えられる。論理ボリューム内の全データがアーカイブ対象となっており、ホストからアクセスされない場合、論理ボリューム単位で、データをハードディスクデバイスから磁気テープデバイスに移すことができる。しかし、論理ボリューム内に一つでもアーカイブ対象ではないデータが存在する場合、ハードディスクデバイスから磁気テープデバイスへデータを移すことはできない。従って、データを安価な磁気テープデバイスに移し替える機会が減り、データ保管コストを低減する効果が低い。
【０００７】
ところで、ハードディスクデバイスと磁気テープデバイスとの間でデータをコピーする場合、コピー速度を一定にする必要がある。磁気テープデバイスは、シーケンシャルアクセス型記憶デバイスであるため、コピー速度を一定にすることで、データコピーの品質を維持することができる。反対に、コピー速度が不安定な場合、データコピー中に磁気テープを巻き戻す等の作業が発生するため、磁気テープにデータを正確に記憶させることができない可能性を生じる。
【０００８】
本発明は、上記の問題点に鑑みてなされたもので、その目的は、仮想ボリュームのサイズよりも小さい所定サイズで、ランダムアクセス型記憶デバイスとシーケンシャルアクセス型記憶デバイスとの間でデータを移動させることができるようにした記憶制御装置、記憶制御装置のデータアーカイブ方法及びストレージシステムを提供することにある。本発明の他の目的は、ランダムアクセス型記憶デバイスとシーケンシャルアクセス型記憶デバイスとの間のコピー速度を安定化させることにより、データコピーの品質低下を防止できるようにした記憶制御装置、記憶制御装置のデータアーカイブ方法及びストレージシステムを提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００９】
上記課題を解決すべく、本発明に従う、ホストコンピュータにより利用される記憶制御装置は、所定サイズの複数の仮想記憶領域から構成される仮想ボリュームであって、各仮想記憶領域は実記憶領域にそれぞれ対応付けられる、仮想ボリュームと、各仮想記憶領域のうち移動対象の仮想記憶領域を検出し、検出された移動対象の仮想記憶領域に記憶されるデータを、ランダムアクセス型記憶デバイスの実記憶領域からシーケンシャルアクセス型記憶デバイスの実記憶領域に移動させるか、あるいは、シーケンシャルアクセス型記憶デバイスの実記憶領域からランダムアクセス型記憶デバイスの実記憶領域に移動させる、データ移動制御部と、仮想ボリュームを生成してホストコンピュータに提供する仮想ボリューム制御部であって、データ移動制御部によるデータ移動結果に基づいて、仮想記憶領域をランダムアクセス型記憶デバイスの実記憶領域またはシーケンシャルアクセス型記憶デバイスの実記憶領域のいずれか一方に対応付ける、仮想ボリューム制御部と、を備えている。
【００１０】
データ移動制御部は、ホストコンピュータからアクセスされる可能性のあるデータが記憶されていない空き記憶領域を用いて、ランダムアクセス型記憶デバイスとシーケンシャルアクセス型記憶デバイスとの間で、データを移動させることができる。
【００１１】
データ移動制御部は、（１）各仮想記憶領域のうち、予め設定されるアーカイブポリシーに合致するアーカイブ対象の仮想記憶領域を検出した場合には、このアーカイブ対象の仮想記憶領域に対応付けられている、ランダムアクセス型記憶デバイスの実記憶領域に記憶されているデータを、シーケンシャルアクセス型記憶デバイスの実記憶領域に移動させ、（２）各仮想記憶領域のうち、シーケンシャルアクセス型記憶デバイスの実記憶領域に対応付けられている仮想記憶領域について復帰指示が発行された場合には、シーケンシャルアクセス型記憶デバイスの実記憶領域に記憶されているデータを、ランダムアクセス型記憶デバイスの実記憶領域に移動させることができる。
【００１２】
アーカイブポリシーは、ホストコンピュータによりアクセスされた最終時刻からの経過時間が予め設定される所定時間を超えた場合、ホストコンピュータによりアクセスされる頻度が予め設定される所定値を下回った場合、または、ホストコンピュータからアーカイブ指示が発行された場合のいずれかとすることができる。
【００１３】
仮想ボリューム制御部は、各仮想記憶領域のうちシーケンシャルアクセス型記憶デバイスの実記憶領域に対応付けられている仮想記憶領域に、ホストコンピュータがアクセスした場合、エラーをホストコンピュータに通知することができる。
【００１４】
本発明の実施形態では、ホストコンピュータにより利用されるコンテンツデータと各仮想記憶領域との対応関係を管理し、かつ、コンテンツデータがランダムアクセス型記憶デバイスの実記憶領域またはシーケンシャルアクセス型記憶デバイスの実記憶領域のいずれに記憶されているかを管理する、データ管理部を更に備え、データ管理部がデータ移動制御部にアーカイブ指示または復帰指示を発行することにより、データ移動制御部は、移動対象の仮想記憶領域に記憶されるデータを、ランダムアクセス型記憶デバイスの実記憶領域からシーケンシャルアクセス型記憶デバイスの実記憶領域に移動させるか、あるいは、シーケンシャルアクセス型記憶デバイスの実記憶領域からランダムアクセス型記憶デバイスの実記憶領域に移動させる。
【００１５】
ランダムアクセス型記憶デバイスはハードディスクデバイスまたはフラッシュメモリデバイスのいずれかであり、シーケンシャルアクセス型記憶デバイスは磁気テープデバイスであってもよい。
【００１６】
本発明の他の観点に従う、記憶制御装置のデータアーカイブ方法は、ランダムアクセス型記憶デバイスの実記憶領域またはシーケンシャルアクセス型記憶デバイスの実記憶領域のいずれか一方に対応付けることができる、所定サイズの複数の仮想記憶領域から、仮想ボリュームを生成し、各仮想記憶領域のうちアーカイブ対象の仮想記憶領域を検出し、検出されたアーカイブ対象の仮想記憶領域に対応するランダムアクセス型記憶デバイスの実記憶領域に記憶されているデータを、空き記憶領域を用いて、シーケンシャルアクセス型記憶デバイスの実記憶領域に移動させ、アーカイブ対象の仮想記憶領域を、移動先のシーケンシャルアクセス型記憶デバイスの実記憶領域に対応付け、アーカイブ対象の仮想記憶領域へのアクセスに対してエラーを応答する。
【００１７】
さらに、復帰指示が発行された場合には、移動先のシーケンシャルアクセス型記憶デバイスの実記憶領域に移動されたデータを、ランダムアクセス型記憶デバイスの実記憶領域に移動させる。
【００１８】
本発明のさらに別の観点に従う、ストレージシステムは、ホストコンピュータと、このホストコンピュータによって利用されるライブラリ装置とを備えるストレージシステムであって、（１）ライブラリ装置は、複数のランダムアクセス型記憶デバイスを有する第１記憶部と、複数のシーケンシャルアクセス型記憶デバイスを有する第２記憶部と、第１記憶部及び第２記憶部を制御するコントローラとを備えており、（２）コントローラは、（2-1）所定サイズの複数の仮想記憶領域から構成される仮想ボリュームであって、各仮想記憶領域は実記憶領域にそれぞれ対応付けられる、仮想ボリュームと、（2-2）各仮想記憶領域のうち移動対象の仮想記憶領域を検出し、検出された移動対象の仮想記憶領域に記憶されるデータを、（2-2-1）ランダムアクセス型記憶デバイスの実記憶領域からシーケンシャルアクセス型記憶デバイスの実記憶領域に移動させるか、あるいは、（2-2-2）シーケンシャルアクセス型記憶デバイスの実記憶領域からランダムアクセス型記憶デバイスの実記憶領域に移動させる、データ移動制御部と、（2-3）仮想ボリュームを生成してホストコンピュータに提供する仮想ボリューム制御部であって、データ移動制御部によるデータ移動結果に基づいて、仮想記憶領域をランダムアクセス型記憶デバイスの実記憶領域またはシーケンシャルアクセス型記憶デバイスの実記憶領域のいずれか一方に対応付ける仮想ボリューム制御部と、をそれぞれ実現し、（３）ホストコンピュータは、コンテンツデータと各仮想記憶領域との対応関係を管理し、かつ、コンテンツデータがランダムアクセス型記憶デバイスの実記憶領域またはシーケンシャルアクセス型記憶デバイスの実記憶領域のいずれに記憶されているかを管理する、データ管理部を備えており、（４）データ移動制御部は、データ管理部から発行されるアーカイブ指示または復帰指示に基づいて、ランダムアクセス型記憶デバイスとシーケンシャルアクセス型記憶デバイスとの間でデータを移動させる。
【００１９】
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
【発明を実施するための最良の形態】
【００２０】
図１は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態では、後述のように、ボリュームサイズよりも小さい所定サイズで仮想ボリューム６を管理し、異なる種類の記憶デバイス７，８間において、所定サイズ単位で、データの移行ができるようにしている。
【００２１】
図１に示すストレージシステムは、例えば、仮想ディスクライブラリ装置１と、ホスト２とを備えている。先に、ホスト２について説明する。ホスト２は、例えば、メインフレームコンピュータ、サーバコンピュータ、ワークステーション、パーソナルコンピュータ等のコンピュータ装置として構成される。ホスト２は、コンテンツ管理部２Ａと、アプリケーションプログラム２Ｂを備える。コンテンツ管理部２Ａは、アプリケーションプログラム２Ｂによって利用されるコンテンツデータの所在や状態を管理するものである。
【００２２】
ホスト２と仮想ディスクライブラリ装置１とは、例えば、ＦＣ＿ＳＡＮ（Fibre
Channel_Storage Area Network）、ＩＰ＿ＳＡＮ（Internet Protocol_SAN）、ＬＡＮ（Local Area Network）等の通信ネットワークＣＮを介して接続される。
【００２３】
ホスト２がメインフレームコンピュータである場合、例えば、ＦＩＣＯＮ（Fibre
Connection：登録商標）、ＥＳＣＯＮ（Enterprise System Connection：登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection Architecture：登録商標）、ＦＩＢＡＲＣ（Fibre Connection Architecture：登録商標）のような通信プロトコルが用いられる。ホスト２がサーバコンピュータやパーソナルコンピュータ等である場合、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）、ＦＣＰ（Fibre Channel Protocol）、ｉＳＣＳＩ（internet Small Computer System Interface）のような通信プロトコルが用いられる。
【００２４】
仮想ディスクライブラリ装置１について説明する。「記憶制御装置」としての仮想ディスクライブラリ装置１は、例えば、コントローラ３と、ディスクプール４と、ＴＧ（テープグループ）プール５とを備えている。
【００２５】
コントローラ３は、仮想ディスクライブラリ装置１を制御するものである。コントローラ３は、仮想ボリューム６を生成してホスト２に提供し、ホスト２からのデータ入出力要求（Ｉ／Ｏ要求）を処理する。コントローラ３は、例えば、仮想ボリューム制御部３Ａと、データ移動制御部３Ｂと、仮想ボリューム構成テーブルＴ１と、ディスクプール管理テーブルＴ２と、ＴＧグループ管理テーブルＴ３とを備える。
【００２６】
ディスクプール４は、複数のディスクデバイス７（１）〜７（３）を管理する。全体としてディスクデバイス７と呼ぶことがある。ここで、ディスクデバイス７とは、一つまたは複数のハードディスクドライブの有する記憶領域から生成される、論理的なディスクを意味する。従って、図中では、ディスクデバイス７に「ＬＵ（Logical Unit）」という文字を与えている。ディスクデバイス７は、論理ボリュームと呼ぶこともできる。
【００２７】
ディスクデバイス７は、「ランダムアクセス型記憶デバイス」の一例である。ハードディスクとしては、例えば、ＦＣ（Fibre Channel）ディスク、ＳＣＳＩ（Small Computer
System Interface）ディスク、ＳＡＴＡディスク、ＡＴＡ（AT Attachment）ディスク、ＳＡＳ（Serial Attached SCSI）ディスク等を用いることができる。また、ハードディスクデバイスに限らず、例えば、フラッシュメモリデバイス、光磁気ディスク、光ディスク、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲＡＭ（MagnetoresistiveRandom
Access Memory）、相変化メモリ（Ovonic Unified Memory）、ＲＲＡＭ（Resistance RAM）」等の種々のランダムアクセス型記憶デバイスを利用可能である。
【００２８】
ＴＧプール５は、複数のテープデバイス８（１個のみ図示）を管理する。アーカイブ対象データのサイズに応じて、一つまたは複数のテープデバイス８がグループ化されて使用される。即ち、一組のテープセットに、アーカイブ対象データが記憶される。本実施形態では、シーケンシャルアクセス型記憶デバイスの一例として、磁気テープデバイス８を挙げるが、本発明は磁気テープデバイスに限定されない。
【００２９】
仮想ボリューム６は、仮想的に構成された論理ボリュームである。仮想ボリューム６は、複数のページ（図中のＰＮ）から構成される。各ページは、ディスクデバイス７内のセグメント（図中のＳＮ）またはテープデバイス８内のセグメントのいずれかに対応付けられる。例えば、ページＰＮ１は、ディスクデバイス７（１）内のセグメントＳＮ１１に対応付けられており、ページＰＮ２，ＰＮ３は、ディスクデバイス７（２）内のセグメントＳＮ２１，ＳＮ２２に対応付けられている。
【００３０】
即ち、仮想ボリューム６のアドレス空間は、「所定サイズ」としてのページ単位で管理されており、各ページは、ディスクデバイス７またはテープデバイス８のいずれかの実記憶領域に対応付けられる。各ページは、例えば、論理ブロック１０００個分の大きさに設定可能である。しかし、ページサイズは、論理ブロック１０００個に限定されない。
【００３１】
コントローラ３は、ホスト２からのライト要求に応じて、データの書込みが要求された位置に、ディスクデバイス７の実記憶領域を割り当てる。ホスト２から受信したライトデータは、仮想ボリューム６内の書込先アドレスに対応する実記憶領域に記憶される。従って、実際にホスト２が使用している量だけ、ディスクデバイス７の実記憶領域を仮想ボリューム６に割り当てればよい。これにより、少ない実記憶領域によって、より大きなサイズの仮想ボリューム６を生成することができる。
【００３２】
コントローラ３の構成を説明する。仮想ボリューム制御部３Ａは、上述のように、仮想ボリューム６を生成してホスト２に提供する機能である。データ移動制御部３Ｂは、移動対象のデータを検出し、移動対象のデータをディスクデバイス７とテープデバイス８との間で移動させるものである。
【００３３】
仮想ボリューム制御部３Ａは、仮想ボリューム構成テーブルＴ１を使用することにより、仮想ボリューム６の構成を管理する。仮想ボリューム構成テーブルＴ１は、後述の実施例において、仮想ボリューム管理テーブル２０３及びページ管理テーブル２０４として実現される。
【００３４】
データ移動制御部３Ｂは、二つのモードで、データを移動させる。第１モードは、ディスクデバイス７からテープデバイス８へのデータ移動である。第２モードは、テープデバイス８からディスクデバイス７へのデータ移動である。データ移動制御部３Ｂは、ディスクプール４を管理するためのテーブルＴ２と、ＴＧプール５を管理するためのテーブルＴ３を使用する。
【００３５】
第１モードは、ホスト２によって使用されなくなったデータを、ディスクデバイス７からテープデバイス８に移動させることにより、ディスクデバイス７の実記憶領域を解放して再利用するためのモードである。第１モードは、本明細書において、インアクティブモードと呼ばれる場合がある。第１モードは、保管モードと呼ぶこともできる。第１モードによって、仮想ボリューム６内のページのデータが、ディスクデバイス７内の実記憶領域としてのセグメントからテープデバイス８内の実記憶領域としてのセグメントに移された場合、その移動対象のページの状態はインアクティブに設定される。インアクティブ状態とは、そのデータの記憶先がテープデバイス８内に存在しており、ホスト２からのアクセスを受け付けない状態にあることを意味する。
【００３６】
第２モードは、テープデバイス８に保管されたデータを、ディスクデバイス７に移動させることにより、ホスト２からアクセス可能とするためのモードである。本明細書では、第２モードをアクティブモードと呼ぶ場合がある。第２モードは、復帰モードと呼ぶこともできる。
【００３７】
データ移動制御部３Ｂは、ディスクプール管理テーブルＴ２及びＴＧプール管理テーブルＴ３を用いることにより、ディスクデバイス７とテープデバイス８との間のデータ移動を管理する。
【００３８】
本実施形態の動作を説明する。まず最初に、仮想ボリューム制御部３Ａは、仮想ボリューム６を生成し、ホスト２に提供する。ホスト２が仮想ボリューム６にデータを書き込むたびに、仮想ボリューム制御部３Ａは、ディスクデバイス７のセグメントを仮想ボリューム６に割り当てる。
【００３９】
ホスト２によって仮想ボリューム６に書き込まれたデータは、時間の経過につれて、ホスト２からアクセスされる頻度が低下していき、最後には全く使用されなくなる。データ移動制御部３Ｂは、例えば、最終アクセス時刻からの経過時間や最近のアクセス頻度等に基づいて、ホスト２により使用されなくなったデータを検出する。この使用されなくなったデータは、アーカイブ対象となる。図１では、太い黒枠で示すページＰＮ１，ＰＮ３がそれぞれアーカイブ対象となっている。
【００４０】
データ移動制御部３Ｂは、データのアーカイブに先立って、アーカイブ用の空きディスクデバイス７（３）を用意する。空きディスクデバイス７（３）とは、ホスト２によりアクセスされる可能性のあるデータを一つも有していないディスクデバイスであり、「空き記憶領域」に該当する。
【００４１】
データ移動制御部３Ｂは、アーカイブ対象のページＰＮ１，ＰＮ３のデータを、その記憶先のディスクデバイス７（１），７（２）から空きディスクデバイス７（３）に移動させる。即ち、アーカイブ対象のページＰＮ１は、ディスクデバイス７（１）内のセグメントＳＮ１１に対応付けられており、このセグメントＳＮ１１のデータは、ディスクデバイス７（３）内のセグメントＳＮ３１に移される。アーカイブ対象のページＰＮ３は、ディスクデバイス７（２）内のセグメントＳＮ２１に対応付けられており、このセグメントＳＮ２１のデータは、ディスクデバイス７（３）内のセグメントＳＮ３２に移される。
【００４２】
次に、データ移動制御部３Ｂは、アーカイブ作業用のディスクデバイス７（３）内にアーカイブ対象のページＰＮ１，ＰＮ３のデータを集めた後、移行元デバイスであるディスクデバイス７（３）から移行先デバイスであるテープデバイス８へのデータコピーを指示する。これにより、アーカイブ対象ページのデータは、テープデバイス８内のセグメントＳＮ４１，ＳＮ４２に移される。
【００４３】
仮想ボリューム制御部３Ａは、仮想ボリューム構成テーブルＴ１を更新し、仮想ボリューム６内のページＰＮ１，ＰＮ３の物理的位置を、テープデバイス８内のセグメントＳＮ４１，ＳＮ４２に変更させる。アーカイブ前は、ページＰＮ１の物理的位置は、ディスクデバイス７（１）のセグメントＳＮ１１であったが、アーカイブ後のページＰＮ１の物理的位置は、テープデバイス８のセグメントＳＮ４１に変更される。同様に、アーカイブ前は、ページＰＮ３の物理的位置は、ディスクデバイス７（２）のセグメントＳＮ２１であったが、アーカイブ後のページＰＮ３の物理的位置は、テープデバイス８のセグメントＳＮ４２に変更される。
【００４４】
テープデバイス内のセグメントＳＮ４１，ＳＮ４２に対応付けられたページＰＮ１，ＰＮ３の状態は、アクティブ状態（ディスクデバイス上にデータが存在する状態）からインアクティブ状態（ディスクデバイス上にデータが存在しない状態）に変更される。コンテンツデータが、仮想ボリューム内のどのページに記憶されており、そのページの状態がアクティブまたはインアクティブのいずれなのかは、コントローラ３からコンテンツ管理部２Ａに通知される。
【００４５】
ホスト２が、インアクティブ状態のページにアクセスした場合、コントローラ３は、ホスト２にエラーを通知する。なお、上述の通り、コンテンツ管理部２Ａは、コンテンツデータの記憶されているページの状態を把握しているため、インアクティブ状態のコンテンツデータのアクセスを、コンテンツ管理部２Ａが拒否する構成でも良い。
【００４６】
テープデバイス８に移されたデータの利用を希望する場合、コンテンツ管理部２Ａは、コントローラ３にアクティベートコマンドを発行する。アクティベートコマンドとは、テープデバイス８に保管されたデータをディスクデバイス７に移して、ホスト２がアクセス可能な状態にするためのコマンドである。アクティベートコマンドは「復帰指示」に該当する。
【００４７】
コントローラ３がアクティベートコマンドを受信すると、データ移動制御部３Ｂは、データ移行用の空きディスクデバイス７を用意して、コンテンツデータの格納されたテープデバイス８からデータを読み出す。読み出されたデータは、空きディスクデバイス７に記憶される。
【００４８】
仮想ボリューム制御部３Ａは、コンテンツデータの格納されたディスクデバイス７のセグメントを、仮想ボリューム６のページに割り当てる。これにより、ホスト２は、仮想ボリューム６のページにアクセスして、コンテンツデータを利用できる。
【００４９】
ここで注意すべきは、コンテンツデータの格納されているページの位置は変わらず、そのページに対応付けられる物理的位置のみが変化する点である。即ち、一つの例を挙げると、テープデバイス８のセグメントＳＮ４１に記憶されていたデータは、ディスクデバイス７（３）のセグメントＳＮ３１にコピーされる。仮想ボリューム制御部３Ａは、そのセグメントＳＮ３１を、仮想ボリューム６のページＰＮ１に対応付ける。
【００５０】
そのページＰＮ１に元々対応付けられていたセグメントは、ディスクデバイス７（１）のＳＮ１１である。アクティベートコマンドが実行された結果、ページＰＮ１に対応付けられるセグメントは、テープデバイス８からデータがコピーされたディスクデバイス７（３）のセグメントＳＮ３１となる。コンテンツデータの格納先は、アクティベートコマンドの実行前後でページＰＮ１であり、変わらない。
【００５１】
このように構成される本実施形態によれば、以下の効果を奏する。本実施形態では、仮想ボリューム６をボリュームサイズよりも小さい複数のページから構成し、ページ単位で、ディスクデバイス７からテープデバイス８にデータを移行させることができる。従って、ボリューム単位でテープデバイス８にデータを移行させる場合よりも、データ移行の粒度を低下させることができる。この結果、ディスクデバイス上で保持する必要のないデータをディスクデバイス７からテープデバイス８に効率的に移し替えて、データ保管コストを低減できる。
【００５２】
本実施形態では、ホスト２からアクセスされる可能性の少ない（あるいはアクセスされる可能性の全くない）空きディスクデバイスを用いて、ディスクデバイス７からテープデバイス８にデータをコピーする。従って、データコピーの速度を一定に保つことができ、テープデバイス８に記憶されるデータの信頼性を高めることができる。
【００５３】
本実施形態では、仮想ボリューム６のページの物理的位置をディスクデバイス７またはテープデバイス８のいずれか一方に対応付けることができ、テープデバイス８に対応付けられたページをインアクティブ状態に設定する。従って、仮想ボリューム６内のデータの位置を変えることなく、実際の記憶先を変化させることができる。
【００５４】
本実施形態では、仮想ディスクライブラリ装置１の内部で、データの格納先を、ディスクデバイス７とテープデバイス８との間で変化させる。従って、ホスト２に影響を与えずに、データ移行が可能である。以下、本実施形態をより詳細に説明する。
【実施例１】
【００５５】
図２は、本実施例によるストレージシステムの全体概要を示す説明図である。先に図１との対応関係について説明すると、図２中の仮想ディスクライブラリ装置１０は図１中の仮想ディスクライブラリ装置１に、図２中のホスト２０は図１中のホスト２に、図２中の通信ネットワークＣＮ１は図１中の通信ネットワークＣＮにそれぞれ対応する。
【００５６】
図２中のコンテンツ管理プログラム２１０及びコンテンツ管理テーブル２１１は、図１中のコンテンツ管理部２Ａに対応する。図２中のコントローラ１１０は図１中のコントローラ３に、図２中の論理的ディスクデバイス（論理ボリューム）１２２は、図１中のディスクデバイス７に、図２中のテープデバイス１３３は図１中のテープデバイス８に、それぞれ対応する。
【００５７】
図４に示す仮想ボリューム３１０は、図１中の仮想ボリューム６に対応する。図３に示すディスク制御プログラム２０１は、図１中の仮想ボリューム制御部３Ａに、図３に示すインアクティベートプログラム２０７及びアクティベートプログラム２０８は、図１中のデータ移動制御部３Ｂに対応する。以下、既に述べた説明と重複する部分は簡単に説明する。
【００５８】
ストレージシステムは、仮想ディスクライブラリ装置１０と、仮想ディスクライブラリ装置１０に通信ネットワークＣＮ１を介して接続されるホスト２０とを備える。ホスト２０は、例えば、マイクロプロセッサ（ＣＰＵ）２１と、メモリ２２と、通信インターフェース（Ｉ／Ｆ）２３と、ユーザインターフェース（ＵＩ）２４とを備えて構成することができる。メモリ２２には、例えば、コンテンツ管理プログラム２１０と、コンテンツ管理テーブル２１１とが記憶される。メモリ２２には、各種ドライバソフトウェア等も記憶されるが、本発明の要旨ではないので割愛する。
【００５９】
メモリ２２に記憶されたコンテンツ管理プログラム２１０は、マイクロプロセッサ２１に読み込まれて実行される。コンテンツ管理プログラム２１０は、インアクティベートコマンドやアクティベートコマンドを発行することができる。以下の説明において、プログラムまたは機能が主語となる場合、実際には、プログラムを実行するマイクロプロセッサや各種回路によって処理が実行されるものとする。
【００６０】
仮想ディスクライブラリ装置１０は、コントローラ１１０と、ディスクアレイ装置１２０と、テープライブラリ装置１３０とを備えて構成される。コントローラ１１０，ディスクアレイ装置１２０及びテープライブラリ装置１３０は、同一の筐体に設けることもできるし、それぞれ別々の筐体に設けることもできる。
【００６１】
コントローラ１１０は、仮想ディスクライブラリ装置１０の動作を制御する。コントローラ１１０は、例えば、マイクロプロセッサ１１１と、制御メモリ１１２と、キャッシュメモリ１１３と、フロントエンド通信インターフェース１１４と、ディスクインターフェース１１５と、テープインターフェース１１６とを備える。
【００６２】
制御メモリ１１２には、図３で述べるような各種プログラム２０１，２０２，２０７，２０８やテーブル２０３，２０４，２０５，２０６が記憶される。マイクロプロセッサ１１１がプログラムを読み込んで実行することにより、仮想ボリューム３１０を生成する機能やデータを移行させる機能等が実現される。キャッシュメモリ１１３には、ホスト２０から受信したライトデータや、論理的ディスクデバイス（以下、ディスクデバイスと呼ぶ場合がある）１２２から読み出されたデータ等が記憶される。
【００６３】
フロントエンド通信インターフェース１１４は、ホスト２０と通信するためのインターフェースである。ディスクインターフェース１１５は、ディスクアレイ装置１２０内の各ディスクデバイス１２２と通信するためのインターフェースである。テープインターフェース１１６は、テープライブラリ装置１３０内の各テープデバイス１３３と通信するためのインターフェースである。
【００６４】
ディスクアレイ装置１２０は、複数のハードディスクドライブ１２１を備える。ディスクドライブ１２１のそれぞれ有する物理的記憶領域を一つにまとめてＲＡＩＤグループを構成することができる。ＲＡＩＤグループの物理的記憶領域には、固定サイズまたは可変サイズの論理的ディスクデバイス１２２を設けることができる。あるいは、一つのハードディスクドライブ１２１の物理的記憶領域に、一つまたは複数の論理的ディスクデバイス１２２を設定することもできる。図１で述べたように、ランダムアクセス型記憶デバイスの一例として、ハードディスクを示すが、本発明はこれに限定されない。フラッシュメモリデバイス等の他のランダムアクセス型記憶デバイスを用いても良いし、ハードディスクとフラッシュメモリとを混在させても良い。
【００６５】
テープライブラリ装置１３０は、例えば、ロボット１３１と、テープドライブ１３２と、複数のテープデバイス１３３とを備える。ロボット１３１は、テープデバイス１３３の移動を制御する。ロボット１３１は、テープデバイス１３３をテープドライブ１３２にセットしたり、テープドライブ１３２からテープデバイス１３３を取り出して所定の場所に保管する。テープドライブ１３２は、テープデバイス１３３にデータを書き込んだり、ディスクデバイス１３３からデータを読み出すものである。テープデバイス１３３は、磁気テープにデータを記憶させる、シーケンシャルアクセス型記憶デバイスである。
【００６６】
図３は、制御メモリ１１２に記憶される内容を模式的に示す。制御メモリ１１２には、例えば、ディスク制御プログラム２０１、テープライブラリ制御プログラム２０２、仮想ボリューム管理テーブル２０３、仮想ボリュームのページ情報テーブル２０４、ディスクプール管理テーブル２０５、ＴＧ(Ｔａｐｅ Ｇｒｏｕｐ)プール管理テーブル２０６、インアクティベートプログラム２０７及びアクティベートプログラム２０８がそれぞれ記憶されている。
【００６７】
先に図４を参照して、仮想ボリューム３１０とディスクプール３２０及びＴＧプール３３０との関係を説明する。図４では、２つの仮想ボリューム３１０（１），３１０（２）を示すが、特に区別する必要が無い場合、仮想ボリューム３１０と呼ぶ。
【００６８】
ディスクプール３２０は、ディスク制御プログラム２０１によって管理される、ディスクデバイス１２２の集合体である。ディスク制御プログラム２０１は、ディスクプール管理テーブル２０５を用いて、プール内のディスクデバイス１２２を管理する。
【００６９】
ＴＧプール３３０は、ディスク制御プログラム２０１によって、管理されるテープデバイス１３３の集合体である。ディスク制御プログラム２０１は、ＴＧプール管理テーブル２０６を用いて、プール内のテープデバイス１３３を管理する。ＴＧ１３４は、ディスクからテープへのデータコピーに必要な本数のテープデバイスがグループ化された、テープセットである。
【００７０】
仮想ボリューム３１０は、複数のページ３１１を備える。各ページ３１１は、複数のアドレス範囲を有する。ページのアドレス範囲の各々には、該アドレス範囲に対するアクセス（例えば、ライトアクセス）に応じて、ディスクプール３２０内のディスクデバイス１２２を構成する複数のセグメントのうち、未使用のセグメントが割り当てられる。その割り当てられたセグメントは、ディスクデバイス１２２を構成する複数の物理的記憶領域に対応している。
【００７１】
例えば、仮想ボリューム３１０（１）のページ３１１ａは、ディスクデバイス１２２のセグメント１２３ａに対応する。ページ３１１ｂは、ディスクデバイス１２２のセグメント１２３ｂに、ページ３１１ｃはセグメント１２３ｃに、それぞれ対応する。ページ３１１ｄは、最初ディスクデバイスのセグメントに対応付けられていたが、インアクティベート処理によって、ＴＧ１３４のセグメント１３５ｄに対応付けられている。同様に、仮想ボリューム３１０（２）のページ３１１ｅ，３１１ｆ，３１１ｈは、ＴＧ１３４のセグメント１３５ｆ，１３５ｅ，１３５ｈに対応付けられている。
【００７２】
即ち、本実施例では、必要に応じて、ディスクデバイス１２２上のデータを、テープデバイス１３３上に再配置する。テープデバイス上のセグメントは、例えば、テープ先頭から数えて何ブロック目から何ブロック目までの範囲として管理される。
【００７３】
このように、仮想ボリューム３１０に割り当てられる実記憶領域は、ディスクデバイス１２２のセグメントまたはテープデバイス１３３のセグメントのいずれかである。ホスト２０には、仮想ボリューム３１０の記憶サイズとして、実サイズ以上の仮想サイズが提供される。実サイズとは、仮想ボリューム３１０に割り当てられたセグメントの合計サイズである。
【００７４】
図３に戻る。上述の通り、ディスク制御プログラム２０１は、仮想ボリューム管理テーブル２０３、仮想ボリュームページ情報テーブル２０４、ディスクプール管理テーブル２０５及びＴＧプール管理テーブル２０６を使用して、ホスト側（例えばコンテンツ管理プログラム２１０）に、仮想ボリューム３１０を提供する機能を有する。ディスク制御プログラム２０１は、ホスト２０が仮想ボリューム３１０の空いているページにデータを書き込む場合、そのページにディスクデバイス１２２のセグメントを割り当てる。さらに、ディスク制御プログラム２０１は、ディスクデバイス１２２を制御する機能を有する。
【００７５】
テープライブラリ制御プログラム２０２は、テープライブラリ装置１３０を制御するプログラムである。ディスクデバイス１２２とテープデバイス１３３との間でデータをコピーする場合、インアクティベートプログラム２０７やアクティベートプログラム２０８が実行される。インアクティベート処理及びアクティベート処理において、テープデバイス１３３へのデータの書込み、及び、テープデバイス１３３からのデータの読出しには、テープライブラリ制御プログラム２０２が使用される。インアクティベートプログラム２０７やアクティベートプログラム２０８は、必要に応じて適宜テープライブラリ制御プログラム２０２を呼び出して実行させる。インアクティベート処理やアクティベート処理を後述する際には、説明が冗長になるのを防ぐため、テープライブラリ制御プログラム２０２の呼び出しに関する説明を省略する。
【００７６】
インアクティベートプログラム２０７は、ディスク制御プログラム２０１及びテープライブラリ制御プログラム２０２と連携し、ディスクデバイス１２２のデータを、ページ３１１単位で、テープデバイス１３３（ＴＧ１３４）にコピーする機能を有する。さらに、インアクティベートプログラム２０７は、ページ管理テーブル２０４を使用して、ディスクデバイス１２２からテープデバイス１３３にデータコピーするべき（データの再配置を行うべき）ページ３１１を判定する機能を有する。例えば、各ページ毎に最終アクセス時刻を管理し、一定期間アクセスされなかったページ３１１をテープデバイス１３３への再配置対象ページであると判定することができる。
【００７７】
アクティベートプログラム２０８は、ディスク制御プログラム２０１とテープライブラリ制御プログラム２０２と連携し、テープデバイス１３３のデータを、ＴＧ１３４単位またはページ３１１単位で、ディスクデバイス１２２にコピーする機能を有する。
【００７８】
図５は、仮想ボリューム管理テーブル２０３の構成例を示す。
【００７９】
仮想ボリューム管理テーブル２０３は、仮想ボリューム３１０に実記憶領域として割り当てられる各セグメントを管理するテーブルである。仮想ボリューム管理テーブル２０３は、例えば、仮想ボリューム３１０毎に、ホストＬＵＮ２０３１と、サイズ２０３２と、論理アドレス２０３３と、セグメント番号２０３４と、ページ番号２０３４とをそれぞれ記録する。
【００８０】
ホストＬＵＮ２０３１は、ホスト論理ユニット番号とも呼ばれ、ディスク制御プログラム２０１によってホスト２０に提供される、各論理ボリュームを識別するための一意な番号である。本実施例では、仮想ボリューム３１０が、論理ボリュームとして、ホスト２０へ提供される。
【００８１】
サイズ２０３２は、仮想ボリュームの３１０の記憶容量である。論理アドレス２０３３は、ディスクデバイス１２２のセグメントまたはテープデバイス１３３のセグメントに対応付けられる、仮想ボリューム３１０のアドレス範囲を示す。例えば、論理アドレス「０−９９９」は、論理ブロックアドレス（LBA：Logical Block Address）０から９９９までのアドレス範囲を示す。
【００８２】
セグメント番号２０３４は、ディスクプール管理テーブル２０５とＴＧプール管理テーブル２０６とで管理されている実記憶領域を一意に特定する番号である。従って、セグメント番号によって、どのディスクデバイス１２２のどのセグメントであるか、または、どのテープデバイス１３３のどのセグメントであるかが、特定される。なお、セグメント番号をＳＮと示す場合がある。
【００８３】
ページ番号２０３４は、仮想ボリューム３１０の有する各ページ３１１を一意に識別するための番号である。上述の通り、各ページ３１１は、それぞれ論理アドレスの範囲として定義される。
【００８４】
図６は、ページ管理テーブル２０４の構成例を示す。ページ管理テーブル２０４は、仮想ボリューム３１０の各ページ３１１の状態を管理するためのものである。ページ管理テーブル２０４は、ページ毎に、ページ番号２０４１と、ステータス２０４２と、最終アクセス時刻２０４３とを記録する。
【００８５】
ページ番号２０４１とは、仮想ボリューム３１０の各ページを一意に特定する番号である。ステータス２０４２とは、各ページ３１１のデータの記憶先を示す。即ち、ステータス２０４２は、各ページがディスクデバイス１２２上のセグメントが割り当てられているのか、それともテープデバイス１３３上のセグメントが割り当てられているのかの区別を示す。ディスクデバイス１２２のセグメントに対応付けられているページのステータスは、「アクティブ」となり、テープデバイス１３３のセグメントに対応付けられているページのステータスは、「インアクティブ」となる。
【００８６】
アクティブ状態のページ３１１に対してホスト２０からリードコマンドまたはライトコマンドが発行された場合、コントローラ１１０は正常に応答する。これに対し、インアクティブ状態のページ３１１に対してホスト２０からのリードコマンドまたはライトコマンドが発行された場合、コントローラ１１０はエラー応答する。
【００８７】
最終アクセス時刻２０４３は、各ページがホスト２０から最後にアクセスされた時刻を示す。但し、最終アクセス時刻に限らず、インアクティベートプログラム２０７が、ディスクデバイス１２２からテープデバイス１３３への再配置を行うページを判定できる情報であれば、例えば、各ページ３１１へのホスト２０のアクセス頻度を示す情報を、最終アクセス時刻に代えて、あるいは、最終アクセス時刻と共に、利用することができる。さらに、仮想ボリューム３１０のページ３１１に、ディスクデバイス１２２のセグメントが割り当てられた時刻をテーブル２０４に記録してもよい。
【００８８】
図７は、ディスクプール管理テーブル２０５の構成例を示す。ディスクプール管理テーブル２０５は、ディスクデバイス１２２によって提供される実記憶領域を、ディスクプール３２０として、プール管理するためのものである。仮想ボリューム３１０で実記憶領域が必要となった場合、仮想ボリューム３１０への割り当てが可能な実記憶領域（セグメント）をディスクプール３２０から選択し、選択された実記憶領域を仮想ボリューム３１０に割り当てる。
【００８９】
ディスクプール管理テーブル２０５は、デバイスＬＵＮ２０５１と、セグメント番号２０５２と、スタートＬＢＡ２０５３と、サイズ２０５４と、使用フラグ２０５４とを記録する。
【００９０】
デバイスＬＵＮ２０５１は、ディスクデバイス１２２を識別する番号である。デバイスＬＵＮは、例えば、ディスク制御プログラム２０１によって決定される。デバイスＬＵＮ２０５１とディスクデバイス１２２は、一対一に対応する必要はなく、一つのディスクデバイス１２２に複数のデバイスＬＵＮ６１０が割り当てられてもよいし、複数のディスクデバイス１２２に跨って一つのデバイスＬＵＮ６１０を割り当ててもよい。
【００９１】
セグメントは、ディスクデバイス１２２やテープデバイス１３３の記憶領域を分けて管理するための最小単位である。セグメントは、ディスク制御プログラム２０１によって管理される。セグメント番号２０５２は、ディスク制御プログラム２０１がセグメントを管理するための、一意な識別番号である。
【００９２】
スタートＬＢＡ２０５３は、デバイスＬＵＮ２０５１で特定されるディスクデバイス１２２内で、セグメントが開始する物理位置を示す。即ち、ディスクデバイス１２２の記憶領域の先頭を示す。サイズ２０５４は、セグメントの大きさを示す。サイズ２０５４は、セグメントの大きさを、スタートＬＢＡ２０５３から始まる論理ブロックの個数で表現している。
【００９３】
使用フラグ２０５４は、セグメントの利用状況を示す。使用フラグ２０５４は、そのセグメントがディスク制御プログラム２０１によって使用されているか否かを、２つの値によって示す。使用中の場合は「１」が、未使用の場合は「０」が設定される。
【００９４】
図８は、ＴＧプール管理テーブル２０６の構成例を示す。ＴＧプール管理テーブル２０６は、テープデバイス１３３によって提供される実記憶領域を、ＴＧプール３３０としてプール管理するためのものである。
【００９５】
仮想ボリューム３１０において、ディスクデバイス１２２からテープデバイス１３３へのデータ再配置が必要となった場合、仮想ボリューム３１０への割り当てが可能なＴＧ１３４をＴＧプール３３０から選択して、その選択されたＴＧ１３４を仮想ボリューム３１０に割り当てる。
【００９６】
ＴＧプール管理テーブル２０６は、ＴＧ番号（ＴＧ＃）２０６１と、使用フラグ２０６２と、セグメント番号２０６３と、テープ番号２０６４と、開始ブロック２０６５と、ブロック数２０６６とを記録する。
【００９７】
テープデバイス１３３は、シーケンシャルアクセス型デバイスであるため、ディスクプール管理テーブル２０５とは異なり、インアクティベートプログラム２０７によるディスクデバイス１２２からテープデバイス１３３へのデータコピーの結果に基づいて、各テープデバイス１３３のセグメントが管理される。
【００９８】
ＴＧ番号２０６１は、ＴＧ１３４を一意に識別する番号である。使用フラグ２０６２は、そのＴＧ１３４がディスク制御プログラム２０１によって使用されているか否かを区別する情報である。使用されている場合は「１」が、未使用の場合は「０」がそれぞれ設定される。
【００９９】
セグメント番号２０６３は、そのＴＧ１３４のセグメントを識別する番号である。テープ番号２０６４は、そのセグメントが記憶されるテープデバイス１３３を特定する番号である。開始ブロック２０６５は、そのセグメントの監視位置を示す。ブロック数２０６６は、そのセグメントのサイズを示す。
【０１００】
未使用のＴＧ１３４の場合、その使用フラグには「０」が設定され、テープデバイス１３３は割り当てられていない。ＴＧ１３４とテープデバイス１３３の関係は、インアクティベートプログラム２０７によるディスクデバイス１２２からテープデバイス１３３へのデータコピー時に決定される。ディスクデバイス１２２からテープデバイス１３３にデータを移す場合に、テーププールからＴＧ１３４にテープデバイス１３３が割り当てられ、その割り当てられた結果がＴＧプール管理テーブル２０６に記録される。特に図示しないが、テーププールは、ディスクデバイス１２２からテープデバイス１３３へのデータコピーに使用可能な、テープデバイス１３３の集合体である。
【０１０１】
図９は、コンテンツ管理テーブル２１１の構成例を示す。コンテンツ管理テーブル２１１は、コンテンツ管理プログラム２１０が、コンテンツデータを管理するために使用するものである。以下、コンテンツデータをコンテンツと呼ぶ場合がある。コンテンツは、ホスト２０において、ユーザが扱うデータの単位である。コンテンツは、ファイルであってもよいし、データベースにおけるデータであってもよい。
【０１０２】
コンテンツ管理テーブル２１１は、コンテンツ名２１１１と、コンテンツ格納場所２１１２と、ステータス２１１３とを記録する。コンテンツ名２１１１は、コンテンツ管理プログラム２１０がコンテンツを一意に識別可能なものであればよい。格納場所２１１２は、仮想ボリューム３１０におけるコンテンツの格納場所を示す。コンテンツの格納場所は、ホストＬＵＮで特定される仮想ボリュームの、どこからどこまでのアドレス範囲に記憶されているかという情報で示される。
【０１０３】
ステータス２１１３は、各コンテンツの実際の格納場所を示す。コンテンツの実際の格納場所がディスクデバイス１２２である場合、ステータス２１１３には「アクティブ」が設定される。コンテンツの実際の格納場所がテープデバイス１３３の場合、ステータス２１１３には「インアクティブ」が設定される。
【０１０４】
本実施例では、コンテンツ格納場所２１１２をコンテンツ管理テーブル２１１で管理し、かつ、ホスト２０と仮想ディスクライブラリ装置１０とが通信して、コンテンツ格納場所２１１２に関する情報を交換する。従って、コンテンツ管理プログラム２１０は、各コンテンツが仮想ボリューム３１０のどのページ３１１に格納されているかを、判断することができる。
【０１０５】
コンテンツが格納されている全ページ３１１のステータス２０４２がアクティブの場合、コンテンツのステータス２１１３はアクティブに設定される。一つでもインアクティブ状態のページ３１１が存在する場合、そのコンテンツのステータス２１１３にはインアクティブが設定される。
【０１０６】
ホスト２０が、インアクティブ状態のページに向けてライトコマンドまたはリードコマンドを発行すると、コントローラ１１０は、ホスト２０にエラー応答する。しかし、これに限らず、コンテンツ管理プログラム２１０において、インアクティブ状態のコンテンツへのアクセスを禁止する構成でもよい。
【０１０７】
ステータス２１１３は、インアクティベートプログラム２０７またはアクティベートプログラム２０８の処理が完了した後に、ホスト２０と仮想ディスクライブラリ装置１０とが通信を行うことによって、更新する構成でもよい。これに代えて、定期的にホスト２０と仮想ディスクライブラリ装置とが通信を行って、ステータス２１１３を更新する構成でもよい。
【０１０８】
コンテンツのステータス２１１３は、コンテンツ管理プログラム２１０上で、各コンテンツがディスクデバイス１２２上に格納されているのか、それともテープデバイス１３３上に格納されているのかを、ユーザに見せるためなどに使用される。また、例えば、仮想ディスクライブラリ装置１０にコンテンツを格納するときに、コンテンツとページを一対一に対応させて格納することもできる。この場合は、コンテンツ単位で、ディスクデバイス１２２からテープデバイス１３３にアーカイブを行うこともできる。
【０１０９】
図１０は、インアクティベート処理を示すフローチャートである。インアクティベート処理は、インアクティベートプログラム２０７によって実行される。なお、図１４等のフローチャートは、本発明の理解及び実施に必要な程度で各処理の概略を示しており、実際のコンピュータプログラムと相違する場合がある。いわゆる当業者であれば、図示されたステップの変更、順序の入れ替え、本質的ではない新規ステップの追加等を行うことができるであろう。以下、コントローラ１１０を主語として説明する。
【０１１０】
コントローラ１１０は、ページ管理テーブル２０４を使用して、アーカイブ対象のページを検出する（Ｓ１０）。アーカイブ対象のページとは、ディスクデバイス１２２からテープデバイス１３３へ移行させるべきページである。例えば、アクティブ状態に設定されているページのうち、最終アクセス時刻に基づいて、一定期間アクセスされていないページを、アーカイブ対象ページとして検出する。
【０１１１】
図１１〜図１３は、インアクティベート処理の流れを模式的に示す説明図である。仮想ボリューム３１０のページ３１１ａにはコンテンツＣ１１が、ページ３１１ｂ及びページ３１１ｃにはコンテンツＣ１２が、ページ３１１ｄにはコンテンツＣ１３が、それぞれ記憶されているものとする。
【０１１２】
ページ３１１ａはディスクデバイス１２２（１）のセグメント１２３ａに、ページ３１１ｂはディスクデバイス１２２（１）のセグメント１２３ｂに、ページ３１１ｃはディスクデバイス１２２（２）のセグメント１２３ｃに、ページ３１１ｄはディスクデバイス１２２（２）のセグメント１２３ｄに、それぞれ対応付けられているものとする。図１１では、ページ３１１ａ及びページ３１１ｄが、最終アクセス時刻から所定時間を経過しており、アーカイブ対象のページとして検出されるものとする。
【０１１３】
図１０に戻る。コントローラ１１０は、アーカイブ対象のページ数が予め設定されている所定値以上存在するか否かを判定する（Ｓ１１）。所定値以上のデータをまとめてテープデバイス１３３に移す方が効率的だからである。アーカイブ対象のページ数が所定値に満たない場合（S11:NO）、本処理は終了する。
【０１１４】
アーカイブ対象のページ数が所定値以上の場合（S11:YES）、コントローラ１１０は、アーカイブ対象ページをテープデバイス１３３に移行させるための、空きディスクデバイス１２２がディスクプール３２０内に存在するか否かを判定する（Ｓ１２）。
【０１１５】
データ移行に使用する、空きディスクデバイス１２２とは、そのディスクデバイス１２２内の全セグメントが仮想ボリューム３１０に割り当てられていないディスクデバイスであって、かつ、アーカイブ対象ページの合計サイズよりも大きいサイズを有するディスクデバイスである。例えば、図１１に示す例では、ディスクデバイス１２２（３）がデータ移行用の空きディスクデバイスとして検出される。
【０１１６】
データ移行用の空きディスクデバイス１２２（３）が検出された場合（S12:YES）、後述のＳ１４に移る。データ移行用の空きディスクデバイスが検出されなかった場合（S12:NO）、コントローラ１１０は、データ移行に使用するための空きディスクデバイスを生成する（Ｓ１３）。なお、インアクティベート処理を開始する前に、データ移行用の空きディスクデバイスを用意する構成でもよい。また、データ移行用の空きディスクデバイスは、複数のディスクデバイス１２２から構成されてもよい。
データ移行用の空きディスクデバイスを生成する一つの例を説明する。あるディスクデバイスに記憶されているデータを、別のディスクデバイスに移すことにより、データ移行用の空きディスクデバイスを生成できる。
【０１１７】
例えば、図１１において、ディスクプール３２０内に、ディスクデバイス１２２（１）とディスクデバイス１２２（２）のみが存在し、ディスクデバイス１２２（３）が存在しない場合を考える。
【０１１８】
この場合、ディスクデバイス１２２（２）のセグメント１２３ｃ及びセグメント１２３ｄのデータを、ディスクデバイス１２２（１）の空きセグメントにコピーする。そして、ページ３１１ｃ及びページ３１１ｄの割り当て先セグメントを、ディスクデバイス１２２（１）のセグメントに変更する。即ち、ディスクデバイス１２２（２）に記憶されたデータを、ディスクデバイス１２２（１）に移すことにより、ディスクデバイス１２２（２）を空きディスクデバイスにすることができる（Ｓ１３）。
【０１１９】
但し、後述のＳ１４において、アーカイブ対象ページを、ディスクデバイス１２２（１）からディスクデバイス１２２（２）に移行させる。従って、ディスクデバイス１２２（２）に記憶されているデータのうち、アーカイブ対象ページのデータは、ディスクデバイス１２２（１）に移さずに、ディスクデバイス１２２（２）に残しておいてもよい。
【０１２０】
図１０に戻る。コントローラ１１０は、アーカイブ対象ページのデータを、空きディスクデバイスに移行させる（Ｓ１４）。この様子を図１２に示す。データ移行用のディスクデバイス１２２（３）のセグメント１２４ａ，１２４ｄには、アーカイブ対象ページのデータがそれぞれ記憶される。
【０１２１】
コントローラ１１０は、仮想ボリューム管理テーブル２０３とディスクプール管理テーブル２０５を更新する（Ｓ１５）。図１２に示す例で説明すると、仮想ボリューム管理テーブル２０３では、ページ３１１ａの割り当て先セグメントを、ディスクデバイス１２２（１）内のセグメント１２３ａからディスクデバイス１２２（３）内のセグメント１２４ａに変更する。同様に、ページ３１１ｄの割り当て先セグメントを、ディスクデバイス１２２（２）内のセグメント１２３ｄからディスクデバイス１２２（３）内のセグメント１２４ｄに変更する。
【０１２２】
ディスクプール管理テーブル２０５では、ページとの対応付けが解除された、ディスクデバイス１２２（１）のセグメント１２３ａ及びディスクデバイス１２２（２）のセグメント１２３ｄについて、使用フラグをそれぞれ「０」に設定する。使用フラグが「０」に設定されたセグメント１２３ａ，１２３ｄは、仮想ボリューム３１０内の他のページに割り当てることができる。即ち、使用フラグに「０」の設定されたセグメントは、再利用することができる。
【０１２３】
図１３に示すように、コントローラ１１０は、アーカイブ対象ページのデータを、ディスクデバイス１２２（３）からテープデバイスにコピーする（Ｓ１６）。ディスクデバイス１２２（３）に格納されているデータを、ＴＧ１３４にコピーする。
【０１２４】
ここで、コピー元であるディスクデバイス１２２（３）には、アーカイブ対象ページのデータだけが格納されている。コピー元のディスクデバイス１２２（３）は、もともと空きディスクデバイスとして生成されており、かつ、ホスト２０からアクセスされなくなったアーカイブ対象データだけが記憶されている。
【０１２５】
従って、コピー元のディスクデバイス１２２（３）からＴＧ１３４へのデータ移行中に、ホスト２０がコピー元のディスクデバイス１２２（３）にアクセスする可能性は、少ないと考えられる。これにより、データ移行中の負荷変動を防止して、コピー速度を一定に保つことができ、テープデバイスへのデータマイグレーションの信頼性を高めることができる。なお、データ移行中における、コピー元ディスクデバイス１２２（３）へのホスト２０からのアクセスを完全に排除したい場合、インアクティベート処理中は、アーカイブ対象ページへのホスト２０からのアクセスを禁止させる構成でもよい。
【０１２６】
Ｓ１７では、コントローラ１１０は、アーカイブ対象ページのデータを、ディスクデバイス上から削除する。
【０１２７】
コントローラ１１０は、仮想ボリューム管理テーブル２０３、ページ管理テーブル２０４、ディスクプール管理テーブル２０５、ＴＧプール管理テーブル２０６をそれぞれ更新する（Ｓ１８）。
【０１２８】
仮想ボリューム管理テーブル２０３では、アーカイブ対象ページのセグメント番号２０３４を、ディスクデバイス１２２上のセグメントからテープデバイス１３３上のセグメントに変更する。ページ管理テーブル２０４では、アーカイブ対象ページのステータス２０４２を、インアクティブに変更する。ディスクプール管理テーブル２０５では、アーカイブ対象ページが割り当てられていたディスクデバイスの各セグメントの使用フラグ２０５４を「０」に設定する。使用フラグが０に変更されることにより、そのセグメントを他のページへ割り当てることができ、再利用可能となる。ＴＧプール管理テーブル２０６では、ＴＧ１３４にコピーされたデータが、テープデバイス１３３上のどの位置にコピーされたかが記録される。
【０１２９】
コントローラ１１０は、ホスト２０と通信を行い、コンテンツ管理テーブル２１１を更新させる（Ｓ１９）。コンテンツ管理プログラム２１０は、例えば、アーカイブ対象ページに格納されていたコンテンツ２１１１のステータス２１１３を、インアクティブに変更する。
【０１３０】
図１３に黒い四角形で示すように、仮想ボリューム３１０の各ページのうち、テープデバイスにアーカイブされたページは、テープデバイスのセグメントに対応付けられ、インアクティブ状態となる。ホスト２０は、インアクティブ状態のページにアクセスすることはできない。ホスト２０がインアクティブ状態のページへのアクセスを希望する場合、アクティベート処理を行う必要がある。
【０１３１】
図１４は、アクティベート処理を示すフローチャートである。アクティベート処理は、ＴＧ単位で行ってもよいし、ページ単位で行ってもよい。ここでは、ＴＧ単位で行う場合を主に説明する。
【０１３２】
ホスト２０は、アクティブ化を希望するコンテンツを指定し、アクティベートコマンドを仮想ディスクライブラリ装置１０に発行する。コントローラ１１０は、アクティベートコマンドを受信すると（Ｓ３０）、ＴＧ１３４から読み出されるデータを記憶するための、空きディスクデバイスが存在するか否かを判定する（Ｓ３１）。即ち、指定されたコンテンツが格納されているページに対応するセグメントを有するＴＧ１３４からデータ読み出して、記憶するための空きディスクデバイスが有るか否かを判定する。
【０１３３】
空きディスクデバイスが存在する場合（S31:YES）、後述するＳ３３に移る。空きディスクデバイスが存在しない場合（S31:NO）、コントローラ１１０は、図１０で述べたように、あるディスクデバイスのセグメントに格納されているデータを、他のセグメントにマイグレーションさせることにより、必要なサイズの空きディスクデバイスを作成することができる（Ｓ３２）。
【０１３４】
なお、ページ単位でアクティベート処理を行う場合は、指定されたコンテンツが格納されているページをコピーできるだけのサイズがあれば足りる。即ち、そのページのデータを記憶するために必要なサイズのセグメントを確保できればよい。
【０１３５】
コントローラ１１０は、データ移行元のＴＧ１３４に記憶されているデータを、移行先の空きディスクデバイスに転送してコピーする（Ｓ３３）。移行元のＴＧとは、指定されたコンテンツが格納されているページに対応するセグメントを有するＴＧである。
【０１３６】
コントローラ１１０は、仮想ボリューム管理テーブル２０３、ページ管理テーブル２０４、ディスクプール管理テーブル２０５、ＴＧプール管理テーブル２０６をそれぞれ更新する（Ｓ３４）。
【０１３７】
仮想ボリューム管理テーブル２０３では、指定されたコンテンツに対応するページのセグメント番号２０３４が、テープデバイス１３３上のセグメントからディスクデバイス１２２上のセグメントに変更される。ページ管理テーブル２０４では、指定されたコンテンツに対応するページのステータス２０４２がアクティブに変更される。ディスクプール管理テーブル２０５では、データ移行元のＴＧからデータが移行されたディスクデバイスの各セグメントの使用フラグ２０５４が「１」に変更される。ＴＧプール管理テーブル２０６では、移行元ＴＧに格納されているデータを消去する場合、使用フラグ２０６２を「１」から「０」に変更する。なお、一時的に、コンテンツをディスクデバイス１２２上に移すだけの場合は、テープデバイスに格納されたデータを消去する必要はない。
【０１３８】
コントローラ１１０は、ホスト２０と通信を行い、コンテンツ管理テーブル２１１を更新させる（Ｓ３５）。コンテンツ管理プログラム２１０は、コンテンツ管理テーブル２１１において、例えば、移行元ＴＧに格納されていたコンテンツのステータス２１１３をアクティブに変更する。
【０１３９】
本実施例は、上述のように構成されるため、以下の効果を奏する。本実施例では、仮想ボリュームをボリュームサイズよりも小さい複数のページから構成し、ページ単位で、ディスクデバイスからテープデバイスにデータを移行させることができる。従って、データ移行の粒度が低下し、ディスクデバイス上で保持する必要のないデータをディスクデバイスからテープデバイスに効率的に移し替えて、データ保管コストを低減できる。
【０１４０】
本実施例では、ホストからアクセスされる可能性の少ない空きディスクデバイスを用いて、ディスクデバイスからテープデバイスにデータをコピーする。従って、データコピーの速度を一定に保つことができ、テープデバイスに記憶されるデータの信頼性を高めることができる。
【０１４１】
本実施例では、仮想ボリュームのページの物理的位置をディスクデバイスまたはテープデバイスのいずれか一方に対応付けることができ、テープデバイスに対応付けられたページをインアクティブ状態に設定する。従って、仮想ボリューム内のデータの位置を変えることなく、実際の記憶先を変化させることができる。
【０１４２】
本実施例では、仮想ディスクライブラリ装置の内部で、データの格納先を、ディスクデバイスとテープデバイスとの間で変化させる。従って、ホストに影響を与えずに、データ移行が可能である。
【実施例２】
【０１４３】
図１５に基づいて第２実施例を説明する。本実施例を含む以下の各実施例は、第１実施例の変形例に該当する。以下、第１実施例と重複する説明は割愛する。本実施例では、アーカイブ対象ページのデータを空きディスクデバイスに集めた後で（Ｓ１４）、ページ管理テーブル２０４のステータス２０４２をインアクティブに変更する（Ｓ１５Ａ）。従って、Ｓ１８Ａでは、ページ管理テーブル２０４を更新しない。これにより、ディスクデバイスからテープデバイスへのデータ移行を開始する前に、アーカイブ対象ページへのホストアクセスを禁止することができる。このように構成される本実施例も第１実施例と同様の効果を奏する。
【実施例３】
【０１４４】
図１６に基づいて第３実施例を説明する。本実施例では、コントローラ１１０，ディスクアレイ装置１２０，テープライブラリ装置１３０をそれぞれ別々の筐体として構成し、通信ネットワークＣＮ１によって相互に接続する。このように構成される本実施例も第１実施例と同様の効果を奏する。
【０１４５】
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【図面の簡単な説明】
【０１４６】
【図１】本発明の実施形態を示す概念図である。
【図２】本発明の実施例に係るシステムのハードウェア構成図である。
【図３】制御メモリの記憶内容を模式的に示す説明図である。
【図４】仮想ボリュームとディスクプール及びＴＧプールの関係を示す説明図である。
【図５】仮想ボリューム管理テーブルを示す説明図である。
【図６】ページ管理テーブルを示す説明図である。
【図７】ディスクプール管理テーブルを示す説明図である。
【図８】ＴＧプール管理テーブルを示す説明図である。
【図９】コンテンツ管理テーブルを示す説明図である。
【図１０】インアクティベート処理を示すフローチャートである。
【図１１】テープへのデータアーカイブを開始する前の状態を示す説明図である。
【図１２】アーカイブ対象のデータをデータ移行用のディスクデバイスに集めた状態を示す説明図である。
【図１３】ディスクデバイスからテープデバイスにデータが移された状態を示す説明図である。
【図１４】アクティベート処理を示すフローチャートである。
【図１５】第２実施例に係り、インアクティベート処理を示すフローチャートである。
【図１６】第３実施例に係るシステムの全体構成を示す説明図である。
【符号の説明】
【０１４７】
１：仮想ディスクライブラリ装置、２：ホスト、２Ａ：コンテンツ管理部、２Ｂ：アプリケーションプログラム、３：コントローラ、３Ａ：仮想ボリューム制御部、３Ｂ：データ移動制御部、４：ディスクプール、５：ＴＧプール、６：仮想ボリューム、７：ディスクデバイス、８：テープデバイス、１０：仮想ディスクライブラリ装置、２０：ホスト、
１１０：コントローラ、１２０：ディスクアレイ装置、１２１：ハードディスクドライブ、１２２：論理的ディスクデバイス、１２３，１２４，１３５：セグメント、１３０：テープライブラリ装置、１３３：テープデバイス、１３４：テープセット（ＴＧ）、２０１：ディスク制御プログラム、２０２：テープライブラリ制御プログラム、２０７：インアクティベートプログラム、２０８：アクティベートプログラム、２１０：コンテンツ管理プログラム、３１０：仮想ボリューム、３１１：ページ、３２０：ディスクプール、３３０：ＴＧプール。
【図１】
2009093571.tif 000003
【図２】
2009093571.tif 000004
【図３】
2009093571.tif 000005
【図４】
2009093571.tif 000006
【図５】
2009093571.tif 000007
【図６】
2009093571.tif 000008
【図７】
2009093571.tif 000009
【図８】
2009093571.tif 000010
【図９】
2009093571.tif 000011
【図１０】
2009093571.tif 000012
【図１１】
2009093571.tif 000013
【図１２】
2009093571.tif 000014
【図１３】
2009093571.tif 000015
【図１４】
2009093571.tif 000016
【図１５】
2009093571.tif 000017
【図１６】
2009093571.tif 000018