(57)【要約】【課題】データ再配置の時間を短縮する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法を提供する。【解決手段】キャッシュ１０４は、読込要求に基づき移行対象データを含むデータを有するストレージ装置２１から読み込まれた読込データを所定条件が満たされるまで保持する。記憶部１０６は、移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する。読込部１５１は、移行用情報を基に最終のアクセス日時の古い順に移行対象データをストレージ装置２１から読み込み、キャッシュ１０４の既に移行対象データが格納されている領域以外の領域に格納する。書込部１５３は、キャッシュ１０４に格納された移行対象データをストレージ装置２４へ書き込む。【選択図】図３
2017167706.tif 000002
【特許請求の範囲】
【請求項１】
読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持するキャッシュと、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する記憶部と、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する読込部と、
前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む書込部と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記読込部は、前記情報処理装置の処理負荷が所定値以下の場合に前記移行対象データの読み込みを行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記キャッシュに空領域が有るか否かを判定する判定部と、
前記判定部により前記キャッシュに前記空領域が無いと判定された場合であって、前記移行先ストレージ装置への書き込みが完了しておらず且つ前記キャッシュに格納されていない前記移行対象データが前記移行元ストレージ装置に存在する場合、前記キャッシュから前記移行対象データ以外のデータを削除し前記空領域を生成する管理部とをさらに備え、
前記読込部は、前記空領域に前記移行元ストレージ装置から読み込んだ前記移行対象データを格納する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
演算処理装置、移行元ストレージ装置、移行先ストレージ装置及びストレージ管理装置を有するストレージシステムであって、
前記移行元ストレージ装置は、移行対象データを含むデータを有し、
前記ストレージ管理装置は、
前記演算処理装置からの読込要求に基づき前記移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持するキャッシュと、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する記憶部と、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する読込部と、
前記キャッシュに格納された前記移行対象データを前記移行先ストレージ装置へ書き込む書込部と
を備えたことを特徴とするストレージシステム。
【請求項５】
読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持し、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶部に記憶し、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納し、
前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む
ことを特徴とする情報処理方法。
【請求項６】
読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持し、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶部に記憶し、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納し、
前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
近年、企業における業務の大半がシステム化されるようになり、蓄積されるデータ量は加速度的に増加している。さらに、コンプライアンスへの対応によりデータの長期保存が求められている。
【０００３】
これら急増するデータ量に対応するために、物理的なストレージ装置を単に複数台接続した場合、運用の負荷が増大し、コストの増加及びデータ保存の信頼性への悪影響が発生する恐れがある。そこで、運用の負荷を低減するために、複数の物理的なストレージ装置を仮想的に統合して管理する仮想ストレージプールを作成し、複数の物理的なストレージ装置をまとめて利用するストレージ仮想化技術が提案されている。以下では、仮想ストレージプールに含まれる各物理的なストレージ装置を、単に「ストレージ装置」と呼ぶ。また、仮想ボリュームの作成などの仮想ストレージプールの管理を行う装置を、「仮想ストレージ装置」という。
【０００４】
このようなストレージ仮想化技術では、業務状況に応じて仮想ストレージプールから容量を切り出したり、戻したりすることができる。また、容量が足りなくなった場合、仮想ストレージプールに新たにストレージ装置を追加することで、全体の容量を増やすことができる。
【０００５】
ただし、ストレージ仮想化環境において、ストレージ装置を追加した場合、装置間のデータの偏りにより、物理ディスクへのアクセス負荷が不均一になる場合がある。そこで、アクセス負荷を均一にするために、既存のストレージ装置と追加したストレージ装置との間でデータの再配置が行われる。
【０００６】
このようなデータの再配置の技術として、移行対象データに対して読込要求が発行された場合、移行対象データを読み出して上位装置へ送信するとともに、読み出した移行対象データを移行先の記憶領域に書き込むことでデータ再配置を行う従来技術ある。また、長時間アクセスがないデータを圧縮して再配置する従来技術がある。さらに、ＩＯ（Input  Output）負荷が低いときにデータの再配置の処理を増やす従来技術がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２０１２−５３１６５３号公報
【特許文献２】特開２０１０−１５２５１６号公報
【特許文献３】特開２００７−９４９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、データの再配置が行われた場合、ストレージ装置と仮想ストレージ装置との間のネットワーク負荷が大きくなり、物理ディスクへのＩＯ性能が劣化する問題がある。
【０００９】
また、読込要求を用いてデータ再配置を行う従来技術を用いても、読込要求が発行されない限りデータの移行が行われないため、ストレージ装置追加時のようにデータ移行量が多い場合、データ再配置に時間がかかるおそれがある。また、長時間アクセスがないデータを再配置する従来技術を用いても、アクセスが無いデータが発生するまでに時間がかかりデータ再配置の時間を短縮することは困難である。さらに、ＩＯ負荷が低いときにデータの再配置の処理を増やす従来技術を用いても、ＩＯ負荷が低くなってから全てのデータを読込ため、データ再配置に時間がかかるおそれがある。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、データ再配置の時間を短縮する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法は、一つの態様において、以下の各部を備える。キャッシュは、読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持する。記憶部は、前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する。読込部は、前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する。書込部は、前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む。
【発明の効果】
【００１２】
本願の開示する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法の一つの態様によれば、データ再配置の時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、ストレージ装置を追加する前のストレージシステムの一例の図である。
【図２】図２は、ストレージ装置を追加した状態のストレージシステムの一例の図である。
【図３】図３は、仮想ストレージ装置のブロック図である。
【図４】図４は、移行対象データテーブルの一例の図である。
【図５】図５は、実施例に係る仮想ストレージ装置による移行対象データテーブルの作成処理のフローチャートである。
【図６】図６は、実施例に係るストレージシステムにおける読込要求発生時の処理シーケンス図である。
【図７】図７は、実施例に係るストレージシステムにおけるデータの再配置の処理シーケンス図である。
【図８】図８は、仮想ストレージ装置のハードウェア構成図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法が限定されるものではない。
【実施例】
【００１５】
図１は、ストレージ装置を追加する前のストレージシステムの一例の図である。また、図２は、ストレージ装置を追加した状態のストレージシステムの一例の図である。
【００１６】
本実施例に係るストレージシステム１００は、仮想ストレージ装置１、ストレージ装置２１〜２３及び業務サーバ３を有する。
【００１７】
業務サーバ３は、仮想ストレージ装置１により構築された仮想ディスク（ＶＤＩＳＫ：Virtual  Disk）１０に格納されたデータを用いて演算処理を行い所定の業務を実行するサーバである。業務サーバ３は、仮想ストレージ装置１に接続される。この業務サーバ３が、「演算処理装置」の一例にあたる。
【００１８】
ストレージ装置２１〜２３は、それぞれ複数のハードディスク２０１を有する。図１では、一例としてストレージ装置２１〜２３という３台のストレージ装置がある場合を図示したが、ストレージ装置２１〜２３の数には特に制限はない。ストレージ装置２１〜２３は、仮想ストレージプール２００に含まれる。また、ストレージ装置２１〜２３は、それぞれ、複数のディスク２０１を有する。さらに、各ストレージ装置２１〜２３が有する複数のディスク２０１にまたがり１つ又は複数のストライピングセット２０２が構築される。ストレージ装置２１〜２３は、仮想ストレージ装置１に接続される。
【００１９】
仮想ストレージ装置１は、ストレージ装置２１〜２３をまとめて１つの仮想ストレージプール２００を構築する。さらに、仮想ストレージ装置１は、仮想ストレージプール２００に含まれる各ストレージ装置２１〜２３が有するディスク２０１を用いてストライピングセット２０２を形成する。そして、仮想ストレージ装置１は、形成したストライピングセット２０２を１つの仮想ディスク１０として用いる。仮想ストレージ装置１は、仮想ディスク１０を業務サーバ３に提供し、業務サーバ３からのデータの読み込みや書き込みの指示を受けて、仮想ディスク１０に対してデータの読み込みや書き込みを行う。
【００２０】
次に、図２を参照して、図１の状態のストレージシステム１００に対してストレージ装置２４及び２５を追加した場合について説明する。
【００２１】
仮想ストレージ装置１は、追加されたストレージ装置２４及び２５を仮想ストレージプール２００へ組み込む。さらに、仮想ストレージ装置１は、図１に示すストライピングセット２０２にストレージ装置２４及び２５が有するディスク２０１を追加して、新たにストレージ装置２１〜２５が有するディスク２０１でストライピンセット２０２を構築する。そして、仮想ストレージ装置１は、新たに構築したストライピンセット２０２を仮想ディスク１０として業務サーバ３に提供する。すなわち、ストレージ装置２４及び２５が追加されることで、仮想ストレージ装置１が業務サーバ３に提供する仮想ディスク１０の容量が増加する。ここで、本実施例では、２台のストレージ装置２４及び２５を仮想ストレージプール２００に追加したが、追加するストレージ装置の台数に特に制限はない。
【００２２】
このストレージ装置２４及び２５を追加した場合に、仮想ストレージ装置１は、ストレージ装置２１〜２３のディスク２０１に格納されたデータの一部をストレージ装置２４及び２５へ移行し、ストライピングセット２０２を形成する各ディスク２０１でのデータの分布を均一にする。この仮想ストレージ装置１が、「ストレージ管理装置」の一例にあたる。
【００２３】
以下では、仮想ストレージ装置１によるデータの読み込み及び書き込み、並びに、データの移行について詳細に説明する。以下の説明では、データの移行元であるストレージ装置２１〜２３をまとめて「ストレージ装置２１」という。また、データの移行先であるストレージ装置２４及び２５をまとめて「ストレージ装置２４」という。
【００２４】
図３は、仮想ストレージ装置のブロック図である。図３に示すように、仮想ストレージ装置１は、ディスク管理部１０１、読書制御部１０２、キャッシュ管理部１０３、キャッシュ１０４、移行処理部１０５、記憶部１０６及び負荷判定部１０７を有する。
【００２５】
キャッシュ１０４は、読書制御部１０２によりストレージ装置２１から読み込まれたデータを一時的に格納する記憶装置である。さらに、キャッシュ１０４は、格納する各データのアクセス日時をタイムスタンプとして保持する。
【００２６】
記憶部１０６は、移行対象データテーブル１６０を有する。図４は、移行対象データテーブルの一例の図である。移行対象データテーブル１６０は、ストレージ装置２４を追加した場合に、追加前から存在するストレージ装置２１から追加されたストレージ装置２４へ移行されるデータを表すテーブルである。移行対象データテーブル１６０には、移行対象データが格納されたストレージ装置の識別情報、ディスクの識別情報及びオフセットが登録される。移行対象データテーブル１６０に登録された情報を用いることで、移行対象データを特定することができる。
【００２７】
また、移行対象データテーブル１６０には、各移行対象データの最新のアクセス日時を示すタイムスタンプ及び各移行対象データがキャッシュ１０４に存在するか否かを示すキャッシュ保持フラグが登録される。キャッシュ保持フラグは、図４では、フラグが「１」の場合にその移行対象データがキャッシュ１０４に存在することを示し、フラグが「０」の場合にその移行対象データがキャッシュ１０４に存在しないことを示す。この移行対象データテーブル１６０に登録された情報が、「移行用情報」の一例にあたる。
【００２８】
ディスク管理部１０１は、仮想ストレージプール２００の作成、並びに、ストライピングセット２０２及び仮想ディスク１０の構築などといったストレージ装置２１及び２４が有するディスク２０１の構成を管理する。ディスク管理部１０１は、仮想ディスク１０の構成情報を読書制御部１０２へ出力する。また、ストレージ装置２４が追加された場合、ディスク管理部１０１は、追加されたストレージ装置２４が有するディスク２０１を用いて新たにストレージ装置２１及び２４が有するディスク２０１でストライピングセット２０２を作成し、仮想ディスク１０を形成する。また、ディスク管理部１０１は、形成した仮想ディスク１０の構成情報を読書制御部１０２へ出力する。
【００２９】
また、ストライピングセット２０２に新たにストレージ装置２４が有するディスク２０１を追加した場合、ディスク管理部１０１は、追加前に存在したストレージ装置２１から追加したストレージ装置２４へ移行するデータを特定する。そして、ディスク管理部１０１は、特定したデータの情報、すなわちそのデータが格納されるストレージ装置の識別情報、ディスクの識別情報及びオフセットを取得する。その後、ディスク管理部１０１は、取得した情報を記憶部１０６が有する移行対象データテーブル１６０へ登録する。以下では、データの移行元となるストレージ装置２１を「移行元ストレージ装置」といい、データの移行先となるストレージ装置２４を「移行先ストレージ装置」という場合がある。
【００３０】
読書制御部１０２は、仮想ディスク１０の構成情報をディスク管理部１０１から取得する。また、読書制御部１０２は、業務サーバ３からの指示を受けて、仮想ディスク１０に対するデータの読み込み及び書き込みを行う。仮想ディスク１０に対するデータの読み込み及び書き込みは、実際には、ストレージ装置２１及び２２への読み込み及び書き込みである。
【００３１】
具体的には、読書制御部１０２は、業務サーバ３からデータの読込要求を受けると、読込要求を受けたデータの取得をキャッシュ管理部１０３に指示する。キャッシュ１０４に読込要求を受けたデータがあれば、読書制御部１０２は、読込要求を受けたデータをキャッシュ管理部１０３から取得する。
【００３２】
これに対して、キャッシュ１０４に読込要求を受けたデータが無ければ、読書制御部１０２は、エラー応答をキャッシュ管理部１０３から受ける。エラー応答を受けた場合、読書制御部１０２は、読込要求を受けたデータを仮想ディスク１０から取得する。より具体的には、読書制御部１０２は、読込要求を受けたデータの取得要求を仮想ディスク１０を形成するストレージ装置２１及び２４の内のそのデータを格納するストレージ装置へ送信する。その後、読書制御部１０２は、読込要求を受けたデータを、取得要求を行ったストレージ装置から取得する。次に、読書制御部１０２は、取得したデータのキャッシュ１０４への格納をキャッシュ管理部１０３へ指示する。さらに、読書制御部１０２は、読込要求への応答として取得したデータを業務サーバ３へ送信する。
【００３３】
また、読書制御部１０２は、業務サーバ３からデータの書込要求を受けると、書込要求を受けたデータを仮想ディスク１０へ格納する。具体的には、読書制御部１０２は、ストライピングセット２０２の状態から仮想ディスク１０を形成するストレージ装置２１及び２４の内の何れに書込要求を受けたデータを格納するか決定する。そして、読書制御部１０２は、格納を決定したストレージ装置のディスク２０１へデータを格納する。
【００３４】
キャッシュ管理部１０３は、仮想ストレージ装置１が業務サーバ３から読込要求を受けた場合、読込要求を受けたデータの取得要求の入力を読書制御部１０２から受ける。そして、キャッシュ管理部１０３は、キャッシュ１０４を検索し、読込要求を受けたデータがキャッシュ１０４に格納されているか否か判定する。
【００３５】
読込要求を受けたデータがキャッシュ１０４に格納されている場合、キャッシュ管理部１０３は、読込要求を受けたデータをキャッシュ１０４から取得する。その後、キャッシュ管理部１０３は、取得したデータを読書制御部１０２へ出力する。さらに、キャッシュ管理部１０３は、移行対象データテーブル１６０から読込要求を受けたデータが移行対象データか否かを判定する。読込要求を受けたデータが移行対象データの場合、キャッシュ管理部１０３は、移行対象データテーブル１６０上の読込要求を受けたデータのタイムスタンプをその時点の日時に更新する。また、キャッシュ管理部１０３は、読込要求を受けたデータに対するキャッシュ１０４が保持するタイムスタンプをその時点の日時に更新する。
【００３６】
これに対して、読込要求を受けたデータがキャッシュ１０４に格納されていない場合、キャッシュ管理部１０３は、エラー応答を読書制御部１０２へ出力する。その後、キャッシュ管理部１０３は、読込要求を受けたデータを読書制御部１０２からキャッシュ１０４への格納の指示とともに取得する。
【００３７】
次に、キャッシュ管理部１０３は、移行対象データテーブル１６０を用いて、読込要求を受けたデータが移行対象データか否かを判定する。以下では、移行対象データでないデータを「非移行対象データ」という場合がある。読込要求を受けたデータが非移行対象データの場合、キャッシュ管理部１０３は、キャッシュ１０４に空きが有るか否かを判定する。キャッシュ１０４に空きが有れば、キャッシュ管理部１０３は、読込要求を受けたデータをキャッシュ１０４に書き込む。
【００３８】
これに対して、キャッシュ１０４に空きが無ければ、キャッシュ管理部１０３は、キャッシュ１０４に格納された非移行対象データの中でタイムスタンプが最も古いものを削除する。これにより、キャッシュ管理部１０３は、キャッシュ１０４に空領域を生成する。その後、キャッシュ管理部１０３は、非移行対象データである読込要求を受けたデータをキャッシュ１０４に書き込む。この時、キャッシュ管理部１０３は、読込要求を受けたデータを書き込んだ日時をタイムスタンプとしてキャッシュ１０４に登録する。
【００３９】
一方、キャッシュ管理部１０３は、移行対象データのキャッシュ１０４へ格納可能な上限を予め有する。ここで、移行対象データのキャッシュ１０４へ格納可能な上限は、キャッシュ１０４の容量、求められるキャッシュ１０４のヒット率及びデータの移行に求められる時間などから決定されることが好ましい。例えば、上限を高くすれば、データの移行はより高速に行えるが、非移行対象データの格納量が減るため、キャッシュ１０４のヒット率は下がるおそれがある。また、キャッシュ１０４が大きければ、キャッシュ１０４のヒット率を低下させずに上限を高くすることができる。そして、移行対象データがキャッシュ１０４にコピーされてから実際に移行されるまでに時間を要する可能性がある。そこで、キャッシュ１０４に格納可能な移行対象データの上限は、通常のキャッシュ１０４の利用に影響を与え過ぎないように設定されることが好ましい。例えば、キャッシュ１０４に格納可能な移行対象データの上限は、キャッシュ１０４の容量の３０％などと決定される。
【００４０】
そして、読込要求を受けたデータが移行対象データの場合、キャッシュ管理部１０３は、キャッシュ１０４に格納された移行対象データが上限に達しているか否かを判定する。上限に達していない場合、キャッシュ管理部１０３は、キャッシュ１０４に空きが有るか否かを判定する。キャッシュ１０４に空きが有る場合、キャッシュ管理部１０３は、移行対象データである読込要求を受けたデータをキャッシュ１０４に書き込む。さらに、キャッシュ管理部１０３は、移行対象データテーブル１６０上の読込要求を受けたデータのタイムスタンプとしてその時点の日時を登録しキャッシュ保持フラグを１に設定する。また、キャッシュ管理部１０３は、読込要求を受けたデータを書き込んだ日時をタイムスタンプとしてキャッシュ１０４に登録する。
【００４１】
これに対して、キャッシュ１０４に空きが無い場合、キャッシュ管理部１０３は、キャッシュ１０４に格納された非移行対象データの中でタイムスタンプが最も古いものを削除する。これにより、キャッシュ管理部１０３は、キャッシュ１０４に空領域を生成する。その後、キャッシュ管理部１０３は、移行対象データである読込要求を受けたデータをキャッシュ１０４に書き込む。さらに、キャッシュ管理部１０３は、移行対象データテーブル１６０上の読込要求を受けたデータのタイムスタンプとしてその時点の日時を登録しキャッシュ保持フラグを１に設定する。また、キャッシュ管理部１０３は、読込要求を受けたデータを書き込んだ日時をタイムスタンプとしてキャッシュ１０４に登録する。
【００４２】
一方、キャッシュ１０４に格納された移行対象データが上限に達している場合、キャッシュ管理部１０３は、移行対象データテーブル１６０の中からキャッシュ保持フラグが立っているデータの内のタイムスタンプが最も古いデータを選択する。そして、キャッシュ管理部１０３は、特定したデータの移行対象データテーブル１６０におけるキャッシュ保持フラグを「０」に設定、すなわちキャッシュ保持フラグを削除する。次に、キャッシュ管理部１０３は、移行対象データである特定したデータをキャッシュ１０４から削除する。その後、キャッシュ管理部１０３は、移行対象データである読込要求を受けたデータをキャッシュ１０４に書き込む。さらに、キャッシュ管理部１０３は、移行対象データテーブル１６０上の読込要求を受けたデータのタイムスタンプとしてその時点の日時を登録しキャッシュ保持フラグを１に設定する。また、キャッシュ管理部１０３は、読込要求を受けたデータを書き込んだ日時をタイムスタンプとしてキャッシュ１０４に登録する。
【００４３】
また、キャッシュ管理部１０３は、データの再配置時に最も古い非移行対象データのキャッシュ１０４からの削除の指示を移行処理部１０５の判定部１５２から受ける。具体的には、キャッシュ管理部１０３は、後述するようにキャッシュ１０４に格納されていない移行対象データが有り、キャッシュ１０４に空きが無く且つ非移行対象データが格納されている場合にこの指示を受ける。そして、キャッシュ管理部１０３は、キャッシュ１０４に登録されているタイムスタンプから最も古い非移行対象データを特定し、特定した非移行対象データを削除する。その後、キャッシュ管理部１０３は、削除完了の応答を移行処理部１０５の判定部１５２に出力する。このキャッシュ管理部１０３が、「管理部」の一例にあたる。
【００４４】
負荷判定部１０７は、移行処理の開始を判定するための処理負荷の閾値を予め有する。この処理負荷の閾値が、「所定値」の一例にあたる。負荷判定部１０７は、読書制御部１０２による読み込み及び書き込み処理を監視し、仮想ストレージ装置１の処理負荷を計測する。ここで、仮想ストレージ装置１の処理負荷は、ストレージ装置２１〜２３の処理負荷により計測できる。そして、負荷判定部１０７は、計測した仮想ストレージ装置１の処理負荷と閾値とを比較する。計測した処理負荷が閾値未満となった場合、負荷判定部１０７は、仮想ストレージ装置１が低負荷であると判定し、移行処理の開始を移行処理部１０５に指示する。
【００４５】
例えば、負荷判定部１０７は、処理負荷の閾値を１０％且つ１０分間と記憶する。そして、負荷判定部１０７は、ストレージ装置２１〜２３の帯域使用率が１０％を下回る状態が１０分間続いた場合、仮想ストレージ装置１が低負荷であると判定する。さらに、一定期間経過しても処理負荷が閾値を下回らない場合、負荷判定部１０７は、処理負荷を大きくする構成にしてもよい。例えば、閾値が１０％の状態で１日経過しても処理負荷が閾値を下回らない場合、負荷判定部１０７は、処理負荷を１０％上げて２０％にするなどしてもよい。
【００４６】
その後、負荷判定部１０７は、読書制御部１０２による読み込み及び書込みの処理の監視を続け、仮想ストレージ装置１の処理負荷が閾値以上となると、仮想ストレージ装置１の処理負荷の上昇を移行処理部１０５に通知する。
【００４７】
移行処理部１０５は、仮想ストレージ装置１が低負荷の場合、移行処理の開始の指示を負荷判定部１０７から受ける。その後、移行処理部１０５は、移行元ストレージ装置であるストレージ装置２１から移行先ストレージ装置であるストレージ装置２４へデータを移行してデータの再配置を行う。以下に、移行処理部１０５について詳細に説明する。移行処理部１０５は、読込部１５１、判定部１５２及び書込部１５３を有する。
【００４８】
移行処理の開始の指示を受けると、判定部１５２は、移行対象データテーブル１６０を参照して、移行対象データが存在するか否かを判定する。移行対象データが存在しない場合、判定部１５２は、データの再配置の処理を終了する。
【００４９】
これに対して、移行対象データが存在する場合、判定部１５２は、移行対象データテーブル１６０の中にキャッシュ保持フラグが立っていない移行対象データがあるか否かを判定する。キャッシュ保持フラグが立っていない移行対象データが無い場合、判定部１５２、データの書込みを書込部１５３に指示する。
【００５０】
これに対して、キャッシュ保持フラグが立っていない移行対象データがある場合、判定部１５２は、移行対象データテーブル１６０からキャッシュ保持フラグが立っておらずタイムスタンプが最も古いデータを選択する。そして、判定部１５２は、選択したデータの読み込みを読込部１５１に指示する。その後、判定部１５２は、読み込み完了の応答を読込部１５１から受ける。次に、判定部１５２は、キャッシュ１０４に空きが有るか否かを判定する。キャッシュ１０４に空きが有る場合、判定部１５２は、キャッシュ１０４への読み込んだデータの書き込みを読込部１５１に指示する。
【００５１】
これに対して、キャッシュ１０４に空きが無い場合、判定部１５２は、非移行対象データの削除をキャッシュ管理部１０３に指示する。その後、判定部１５２は、削除完了の応答をキャッシュ管理部１０３から受ける。次に、判定部１５２は、読み込んだデータのキャッシュ１０４への書き込みを読込部１５１に指示する。その後、判定部１５２は、キャッシュ１０４への書き込み完了の応答を読込部１５１から受ける。
【００５２】
キャッシュ１０４へタイムスタンプが最も古い移行対象データの書込みが完了後、判定部１５２は、キャッシュ１０４に空きが有るかを再度判定する。キャッシュ１０４に空きがない場合、判定部１５２は、キャッシュ１０４に非移行対象データが有るか否かを判定する。キャッシュ１０４に非移行対象データが無い場合、すなわち、キャッシュ１０４が移行対象データで満たされている場合、判定部１５２は、データの書込みを書込部１５３に指示する。
【００５３】
これに対して、キャッシュ１０４に空きが有る又は非移行対象データが有る場合、判定部１５２は、キャッシュ１０４に格納されていない移行対象データの有無の判定及び最古のタイムスタンプの移行対象データのキャッシュ１０４への書き込みを繰り返す。すなわち、キャッシュ１０４は、キャッシュ１０４が移行対象データで満たされるまで、タイムスタンプが古い順に移行対象データをストレージ装置２１からキャッシュ１０４へ移動させる。その後、キャッシュ１０４が移行対象データで満たされると、判定部１５２は、データの書込みを書込部１５３に指示する。
【００５４】
その後、判定部１５２は、書き込み完了の応答を書込部１５３から受ける。そして、判定部１５２は、キャッシュ１０４に格納されていない移行対象データの有無の判定及び最古のタイムスタンプの移行対象データのキャッシュ１０４への書き込みを移行対象データがなくなるまで繰り返す。ただし、負荷判定部１０７から負荷上昇の通知を受けた場合、判定部１５２は、データの再配置の処理を終了する。
【００５５】
読込部１５１は、移行対象データテーブル１６０においてキャッシュ保持フラグが立っておらずタイムスタンプが最も古い移行対象データの読み込みの指示を判定部１５２から受ける。そして、読込部１５１は、指示されたデータを移行元ストレージ装置であるストレージ装置２１から読み込む。そして、読込部１５１は、読み込み完了の応答を判定部１５２へ出力する。
【００５６】
その後、読込部１５１は、読み込んだデータの書き込み指示を判定部１５２から受ける。そして、読込部１５１は、読み込んだデータをキャッシュ１０４へ書き込む。さらに、読込部１５１は、移行対象データテーブル１６０上の書き込んだデータのタイムスタンプとしてその時点の日時を登録しキャッシュ保持フラグを１に設定する。また、キャッシュ管理部１０３は、データを書き込んだ日時をタイムスタンプとしてキャッシュ１０４に登録する。その後、読込部１５１は、書き込みの完了の応答を判定部１５２へ出力する。
【００５７】
書込部１５３は、キャッシュ１０４が移行対象データでいっぱいになった場合又はキャッシュ１０４に書き込まれていない移行対象データがなくなった場合、書き込みの指示を判定部１５２から受ける。そして、書込部１５３は、キャッシュ１０４上の全ての移行対象データを移行先ストレージ装置であるストレージ装置２４へ書き込む。また、書込部１５３は、ストレージ装置２４へ書き込んだデータをストレージ装置２１から削除する。さらに、書込部１５３は、ストレージ措置２４へ書き込んだデータの情報を移行対象データテーブル１６０から削除する。その後、書込部１５２は、書き込み完了の応答を判定部１５２へ出力する。
【００５８】
次に、図５を参照して仮想ストレージ装置１による移行対象データテーブル１６０の作成処理の流れについて説明する。図５は、実施例に係る仮想ストレージ装置による移行対象データテーブルの作成処理のフローチャートである。
【００５９】
ストレージ装置２４がストレージシステム１００に追加される。仮想ストレージ装置１のディスク管理部１０１は、追加されたストレージ装置２４を仮想ストレージプール２００へ追加する（ステップＳ１１）。
【００６０】
次に、ディスク管理部１０１は、ストレージ装置２１のディスク２０１で構築されていたストライピングセット２０２に対応するストレージ装置２１及び２４のディスク２０１を用いたストライピングセット２０２を再設定する（ステップＳ１２）。
【００６１】
次に、ディスク管理部１０１は、ストレージ装置２４の追加前のストライピングセット２０２に格納されていたデータの中から、再設定したストライピングセット２０２を構成するストレージ装置２４へ移行する移行対象データを決定する（ステップＳ１３）。
【００６２】
次に、ディスク管理部１０１は、ストレージ識別情報、ディスク識別情報、オフセット、タイムスタンプ、フラグなどの項目を有する移行対象データテーブル１６０を作成する（ステップＳ１４）。この時点では、移行対象データテーブル１６０には、情報の登録は行われていない。
【００６３】
次に、ディスク管理部１０１は、移行対象データテーブル１６０に、決定した各移行対象データに対応するレコードを生成し、ストレージ識別情報、ディスク識別情報、オフセット、タイムスタンプ、フラグなどの情報を登録する。そして、ディスク管理部１０１は、移行対象データテーブル１６０を記憶部１０６に記憶させる（ステップＳ１５）。
【００６４】
その後、キャッシュ管理部１０３は、移行対象データテーブル１６０から移行対象データのストレージ識別情報、ディスク識別情報、オフセットなどの情報を取得する。そして、キャッシュ管理部１０３は、取得した情報を用いて、キャッシュ１０４を検索し、一致する移行対象データを特定し、特定した移行対象データのキャッシュ保持フラグを「１」に設定する（ステップＳ１６）。
【００６５】
次に、図６を参照してストレージシステム１００おける読込要求発生時の処理の流れについて説明する。図６は、実施例に係るストレージシステムにおける読込要求発生時の処理のシーケンス図である。
【００６６】
業務サーバ３は、データの読込要求を仮想ストレージ装置１の読書制御部１０２へ送信する（ステップＳ１０１）。
【００６７】
読書制御部１０２は、データの読込要求を業務サーバ３から受信する。そして、読書制御部１０２は、読込要求を受けたデータのキャッシュ１０４からの読み込みをキャッシュ管理部１０３へ指示する。キャッシュ管理部１０３は、読込要求を受けたデータのキャッシュ１０４からの読み込みの指示を受けて、読込要求を受けたデータがキャッシュ１０４に有るか否かを判定する（ステップＳ１０２）。
【００６８】
読込要求を受けたデータがキャッシュ１０４に無い場合（ステップＳ１０２：否定）、キャッシュ管理部１０３は、エラー応答を読書制御部１０２へ出力する。読書制御部１０２は、エラー応答を受けて、ストレージ装置２１へ読込要求を送信する（ステップＳ１０３）。ここでは、読込要求を受けたデータが、ストレージ装置２１に格納されている場合を例に説明する。ただし、読込要求を受けたデータが、ストレージ装置２４に有る場合もデータを読み込むストレージ装置が変わるだけで、ストレージシステム１００は、図５に示すフローと同様の処理を行う。
【００６９】
ストレージ装置２１は、読込要求を読書制御部１０２から受信する。そして、ストレージ装置２１は、読込要求で指定されたデータをディスク２０１から読み込む（ステップＳ１０４）。その後、ストレージ装置２１は、読み込んだデータを読書制御部１０２へ送信する。
【００７０】
読書制御部１０２は、読込要求を受けたデータをストレージ装置２１から受信する。次に、読書制御部１０２は、読込要求を受けたデータのキャッシュへの書き込みをキャッシュ管理部１０３へ指示する。キャッシュ管理部１０３は、読込要求を受けたデータが移行対象データか否かを、移行対象データテーブル１６０を用いて判定する（ステップＳ１０５）。読込要求を受けたデータが移行対象データでない場合（ステップＳ１０５：否定）、キャッシュ管理部１０３は、キャッシュ１０４に空きが有るか否かを判定する（ステップＳ１０６）。
【００７１】
キャッシュ１０４に空きが有る場合（ステップＳ１０６：肯定）、キャッシュ管理部１０３は、ステップＳ１０８へ進む。これに対して、キャッシュ１０４に空きが無い場合（ステップＳ１０６：否定）、キャッシュ管理部１０３は、キャッシュ１０４に登録されているタイムスタンプから最も古い非移行対象データを特定し、特定した非移行対象データを削除する（ステップＳ１０７）。
【００７２】
そして、キャッシュ管理部１０３は、読込要求を受けたデータをキャッシュ１０４へ書き込む（ステップＳ１０８）。その後、仮想ストレージ装置１は、ステップＳ１１８へ進む。
【００７３】
一方、読込要求を受けたデータが移行対象データの場合（ステップＳ１０５：肯定）、キャッシュ管理部１０３は、キャッシュ１０４に格納された移行対象データが上限に達しているか否かを判定する（ステップＳ１０９）。
【００７４】
上限に達している場合（ステップＳ１０９：肯定）、キャッシュ管理部１０３は、移行対象データテーブル１６０におけるキャッシュ保持フラグが立っている移行対象データの中で最もタイムスタンプが古いものを特定する。そして、キャッシュ管理部１０３は、移行対象データテーブル１６０における特定した移行対象データのキャッシュ保持フラグ、すなわち、最古のキャッシュ保持フラグを削除する（ステップＳ１１０）。次に、キャッシュ管理部１０３は、キャッシュ保持フラグを削除した移行対象データをキャッシュ１０４から削除する（ステップＳ１１１）。その後、キャッシュ管理部１０３は、ステップＳ１１４へ進む。
【００７５】
これに対して、上限に達していない場合（ステップＳ１０９：否定）、キャッシュ管理部１０３は、キャッシュ１０４に空きが有るか否かを判定する（ステップＳ１１２）。キャッシュに空きが有る場合（ステップＳ１１２：肯定）、キャッシュ管理部１０３は、ステップＳ１１４へ進む。逆に、キャッシュに空きが無い場合（ステップＳ１１２：否定）、キャッシュ管理部１０３は、キャッシュ１０４に登録されているタイムスタンプから最も古い非移行対象データを特定し、特定した非移行対象データをキャッシュ１０４から削除する（ステップＳ１１３）。
【００７６】
次に、キャッシュ管理部１０３は、読込要求を受けたデータをキャッシュ１０４へ書き込む（ステップＳ１１４）。
【００７７】
さらに、キャッシュ管理部１０３は、移行対象データテーブル１６０において、読込要求を受けたデータにキャッシュ保持フラグを立て、タイムスタンプを更新する（ステップＳ１１５）。その後、仮想ストレージ装置１は、ステップＳ１１８へ進む。
【００７８】
一方、読込要求を受けたデータがキャッシュ１０４に有る場合（ステップＳ１０２：肯定）、キャッシュ管理部１０３は、読込要求を受けたデータが移行対象データか否かを判定する（ステップＳ１１６）。
【００７９】
読込要求を受けたデータが移行対象データでない場合（ステップＳ１１６：否定）、仮想ストレージ装置１は、ステップＳ１１８へ進む。これに対して、読込要求を受けたデータが移行対象データの場合（ステップＳ１１６：肯定）、キャッシュ管理部１０３は、読込要求を受けたデータのタイムスタンプを現在の時刻に書き換え、移行対象データテーブル１６０を更新する（ステップＳ１１７）。
【００８０】
読書制御部１０２は、ストレージ装置２１から受信した読込要求を受けたデータを業務サーバ３へ送信し、読込応答を行う（ステップＳ１１８）。
【００８１】
業務サーバ３は、読込要求を受けたデータを読書制御部１０２から取得する（ステップＳ１１９）。
【００８２】
次に、図７を参照して、本実施例に係るストレージシステム１００におけるデータの再配置の処理の流れについて説明する。図７は、実施例に係るストレージシステムにおけるデータの再配置の処理のシーケンス図である。
【００８３】
負荷判定部１０７は、読書制御部１０２による読み込み及び書き込み処理を監視し、ストレージ装置１の処理負荷を計測する。そして、負荷判定部１０７は、ストレージ装置１の処理負荷が閾値未満となりストレージ装置１が低負荷状態か否かを判定する（ステップＳ２０１）。ストレージ装置１が低負荷状態でない場合（ステップＳ２０１：否定）、負荷判定部１０７は、低負荷状態になるまで待機し、データの再配置の実行を停止する。
【００８４】
これに対して、ストレージ装置１が低負荷状態の場合（ステップＳ２０１：肯定）、負荷判定部１０７は、データの再配置の実行をデータ移行処理部１０５に通知する。データの再配置の実行の通知を受けると、判定部１５２は、移行対象データテーブル１６０の中に、キャッシュ保持フラグが立っていない移行対象データが有るか否かを判定する（ステップＳ２０２）。キャッシュ保持フラグが立っていない移行対象データが無い場合（ステップＳ２０２：否定）、判定部１５２は、ステップＳ２１２へ進む。
【００８５】
これに対して、キャッシュ保持フラグが立っていない移行対象データが有る場合（ステップＳ２０２：肯定）、判定部１５２は、移行対象データテーブル１６０の中からタイムスタンプが最も古い移行対象データを選択する（ステップＳ２０３）。
【００８６】
次に、判定部１５２は、選択したデータの読み込みを読込部１５１に指示する。読込部１５１は、データの読み込みの指示を受けて、移行対象データテーブル１６０においてタイムスタンプが最も古い移行対象データの読込要求を移行元ストレージ装置であるストレージ装置２１へ送信する（ステップＳ２０４）。
【００８７】
ストレージ装置２１は、データの読込要求を読込部１５１から受信する。そして、ストレージ装置２１は、ディスク２０１から読込要求で指定されたデータを読み込む（ステップＳ２０５）。その後、ストレージ装置２１は、読み込んだデータを仮想ストレージ装置１の読込部１５１へ送信する。
【００８８】
仮想ストレージ装置１の読込部１５１は、移行対象データテーブル１６０においてタイムスタンプが最も古い移行対象データをストレージ装置２１から受信する。そして、読込部１５１は、データの読み込み完了の応答を判定部１５２へ出力する。判定部１５２は、データの読み込み完了の応答を受けて、キャッシュ１０４に空きが有るか否かを判定する（ステップＳ２０６）。キャッシュ１０４に空きが有る場合（ステップＳ２０６：肯定）、判定部１５２は、ステップＳ２０８へ進む。
【００８９】
これに対して、キャッシュ１０４に空きが無い場合（ステップＳ２０６：否定）、判定部１５２は、最も古い非移行対象データの削除をキャッシュ管理部１０３へ指示する。キャッシュ管理部１０３は、最も古い非移行対象データの削除の指示を受けて、キャッシュ１０４に登録されたタイムスタンプから最も古い非移行対象データを特定し、特定した非移行対象データを削除する（ステップＳ２０７）。その後、キャッシュ管理部１０３は、データの削除完了の応答を判定部１５２へ出力する。データの削除完了の応答を受けて、判定部１５２は、ステップＳ２０８へ進む。
【００９０】
次に、判定部１５２は、データのキャッシュ１０４への書き込みを読込部１５１に指示する。データの書込みの指示を受けて、読込部１５１は、ストレージ装置２１から読み込んだデータをキャッシュ１０４へ書き込む（ステップＳ２０８）。
【００９１】
さらに、読込部１５１は、移行用データテーブル１６０におけるキャッシュ１０４に書き込んだデータのキャッシュ保持フラグを立てる（ステップＳ２０９）。その後、読込部１５１は、書き込みの完了の応答を判定部１５２へ出力する。
【００９２】
判定部１５２は、書き込み完了の応答を読込部１５１から受けると、キャッシュ１０４にさらに空きが有るか否かを判定する（ステップＳ２１０）。キャッシュ１０４に空きが有る場合（ステップＳ２１０：肯定）、判定部１５２は、ステップＳ２０２へ戻る。
【００９３】
これに対して、キャッシュ１０４に空きが無い場合（ステップＳ２１０：否定）、判定部１５２は、キャッシュ１０４に非移行対象データが有るか否かを判定する（ステップＳ２１１）。キャッシュ１０４に非移行対象データが有る場合（ステップＳ２１１：肯定）、判定部１５２は、ステップＳ２０２へ戻る。これに対して、キャッシュ１０４に非移行対象データが無い場合（ステップＳ２１１：否定）、判定部１５２は、ステップＳ２１２へ進む。
【００９４】
判定部１５２は、データの書き込みを書込部１５３へ指示する。書込部１５３は、データの書き込みの指示を受けて、キャッシュ１０４上の全ての移行対象データの書込要求を移行先ストレージ装置であるストレージ装置２４へ送信する（ステップＳ２１２）。
【００９５】
ストレージ装置２４は、移行対象データの書込み要求を判定部１５２から受けて、キャッシュ１０４に格納されていた移行対象データをディスク２０１に書き込む（ステップＳ２１３）。
【００９６】
その後、書込部１５３は、ストレージ装置２４に書き込んだ移行対象データの読み出し元であるデータの削除指示をストレージ装置２１へ送信する（ステップＳ２１４）。
【００９７】
ストレージ装置２１は、移行対象データの削除指示を受けて、指定されたデータをディスク２０１から削除する（ステップＳ２１５）。
【００９８】
次に、書込部１５３は、ストレージ装置２４へ書き込んだデータの情報を移行対象データテーブル１６０から削除する（ステップＳ２１６）。その後、書込部１５３は、書き込み完了の応答を判定部１５２へ出力する。
【００９９】
判定部１５２は、書き込み完了の応答を受けて、移行対象データテーブル１６０を確認し、全ての移行対象データの移行が完了したか否かを判定する（ステップＳ２１７）。移行していない移行対象データが残っている場合（ステップＳ２１７：否定）、判定部１５２は、ステップＳ２０１へ戻る。これに対して、全ての移行対象データの移行が完了した場合（ステップＳ２１７：肯定）、判定部１５２は、データの再配置の処理を終了する。
【０１００】
（ハードウェア構成）
図８は、仮想ストレージ装置のハードウェア構成図である。図８に示すように、仮想ストレージ装置１は、ＣＰＵ（Central  Processing  Unit）９１、キャッシュ９２、ハードディスク９３及びＨＢＡ（Host  Bus  Adaptor）９４〜９７を有する。また、ストレージ装置２１は、ＣＡ（Channel  Adaptor）２１１及び２１２、ＣＭ（Controller  Module）２１３及び２１４並びにハードディスク２０１を有する。ストレージ装置２２及び２３も、ストレージ装置２１と同様の構成を有する。ＣＰＵ９１は、バスによりキャッシュ９２、ハードディスク９３及びＨＢＡ９４〜９７と接続する。
【０１０１】
ＨＢＡ９４及び９５は、業務サーバ３と接続するためのインタフェースである。ここでは、仮想ストレージ装置１と業務用サーバ３とは、二重化された接続経路を備え、故障体制を有する。ＣＰＵ９１は、ＨＢＡ９４及び９５を介して業務サーバ３とデータの送受信を行う。
【０１０２】
ＨＢＡ９６及び９７は、ストレージ装置２１〜２３と接続するためのインタフェースである。ここでは、仮想ストレージ装置１とストレージ装置２１〜２３とは、二重化された接続経路を備え、故障体制を有する。ＣＰＵ９１は、ＨＢＡ９６及び９７を介してストレージ装置２１〜２３とデータの送受信を行う。
【０１０３】
キャッシュ９２は、図３に例示したキャッシュ１０４の機能を実現する。また、ハードディスク９３は、記憶部１０６の機能を実現する。さらに、ハードディスク９３は、図３に例示した、ディスク管理部１０１、読書制御部１０２、キャッシュ管理部１０３、移行処理部１０５及び負荷判定部１０７の機能を実現するためのプログラムを含む各種プログラムを有する。
【０１０４】
ＣＰＵ９１は、ハードディスク９３及びネットワークインタフェース９４を使用して、図３に例示した、ディスク管理部１０１、読書制御部１０２、キャッシュ管理部１０３、移行処理部１０５及び負荷判定部１０７の機能を実現する。
【０１０５】
具体的には、ＣＰＵ９１は、ハードディスク９３に格納されたディスク管理部１０１、読書制御部１０２、キャッシュ管理部１０３、移行処理部１０５及び負荷判定部１０７の機能を実現するプログラムを含む各種プログラムを読み出す。そして、ＣＰＵ９１は、読み出した各種プログラムを実行することで、ディスク管理部１０１、読書制御部１０２、キャッシュ管理部１０３、移行処理部１０５及び負荷判定部１０７の機能を実現する。
【０１０６】
以上に説明したように、本実施例に係る仮想ストレージ装置は、読込処理時にキャッシュ上に格納された移行対象データを移行元ストレージ装置に書き込むことでデータの再配置を行う。さらに、キャッシュ上に無い移行対象データに関しては、仮想ストレージ装置は、アクセス日時の古い順にデータの再配置を行う。これにより、アクセス頻度が高く再度参照されキャッシュ上に格納される可能性が高い移行対象データに関しては、読込要求発生時のキャッシュへの格納を利用して、データの再配置が行われる。また、アクセス頻度が低くキャッシュに格納される可能性が低いデータに関しては、読込要求を待たずにデータの再配置が行われる。したがって、読込処理を効率よく利用しつつ全ての移行対象データの再配置を行うことができ、ネットワーク負荷を抑えつつ、データ再配置の時間を短縮することができる。
【０１０７】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０８】
（付記１）読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持するキャッシュと、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する記憶部と、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する読込部と、
前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む書込部と
を備えたことを特徴とする情報処理装置。
【０１０９】
（付記２）前記書込部は、前記移行先ストレージ装置へ書き込んだ前記移行対象データを前記キャッシュから削除し、且つ、前記移行先ストレージ装置に書き込んだ前記移行対象データに関する前記移行用情報を前記記憶部から削除し、前記読込部により前記キャッシュに再度格納された前記移行対象データを移行先ストレージ装置へ書き込むことを繰り返し、
前記読込部は、前記書込部による前記移行先ストレージへの前記移行対象データの書込みが完了すると、前記移行用情報における前記最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から再度読み込み、前記キャッシュへ格納する
ことを特徴とする付記１に記載の情報処理装置。
【０１１０】
（付記３）前記読込部は、前記情報処理装置の処理負荷が所定値以下の場合に前記移行対象データの読み込みを行うことを特徴とする付記１又は２に記載の情報処理装置。
【０１１１】
（付記４）前記キャッシュに空領域が有るか否かを判定する判定部と、
前記判定部により前記キャッシュに前記空領域が無いと判定された場合であって、前記移行先ストレージ装置への書き込みが完了しておらず且つ前記キャッシュに格納されていない前記移行対象データが前記移行元ストレージ装置に存在する場合、前記キャッシュから前記移行対象データ以外のデータを削除し前記空領域を生成する管理部とをさらに備え、
前記読込部は、前記空領域に前記移行元ストレージ装置から読み込んだ前記移行対象データを格納する
ことを特徴とする付記１〜３のいずれか一つに記載の情報処理装置。
【０１１２】
（付記５）前記管理部は、前記キャッシュが記憶する前記移行対象データの上限を有し、最新の読込データが前記移行対象データの場合、前記キャッシュに格納された前記移行対象データが前記上限に達しているか否かを判定し、前記上限に達していない場合、前記最新の読込データを前記キャッシュに書き込み、前記上限に達している場合、前記キャッシュに格納された前記読込データをアクセス日時が古い順に前記キャッシュから削除して、前記最新の読込データを前記キャッシュに書き込むことを特徴とする付記１〜４のいずれか一つに記載の情報処理装置。
【０１１３】
（付記６）前記管理部は、前記キャッシュが保持する前記読込データが前記移行対象データの場合、前記キャッシュが保持することを示す保持情報を、前記識別情報に付加して前記記憶部に記憶させ、
前記読込部は、前記記憶部に識別情報が記憶された読出データの中の前記保持情報が付加されたデータ以外のデータを前記最終のアクセス日時の古い順に前記移行元ストレージ装置から読み込むことを特徴とする付記１〜４のいずれか一つに記載の情報処理装置。
【０１１４】
（付記７）前記管理部は、前記読出データが移行対象データの場合、前記読出データの識別情報とともに、最後に読み込んだ日時をアクセス情報として前記記憶部に記憶させることを特徴とする付記６に記載の情報処理装置。
【０１１５】
（付記８）演算処理装置、移行元ストレージ装置、移行先ストレージ装置及びストレージ管理装置を有するストレージシステムであって、
前記移行元ストレージ装置は、移行対象データを含むデータを有し、
前記ストレージ管理装置は、
前記演算処理装置からの読込要求に基づき前記移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持するキャッシュと、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶する記憶部と、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納する読込部と、
前記キャッシュに格納された前記移行対象データを前記移行先ストレージ装置へ書き込む書込部と
を備えたことを特徴とするストレージシステム。
【０１１６】
（付記９）読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持し、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶部に記憶し、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納し、
前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む
ことを特徴とする情報処理方法。
【０１１７】
（付記１０）読込要求に基づき移行対象データを含むデータを有する移行元ストレージ装置から読み込まれた読込データを所定条件が満たされるまで保持し、
前記移行対象データの識別情報及びアクセス日時を含む移行用情報を記憶部に記憶し、
前記移行用情報を基に最終のアクセス日時の古い順に前記移行対象データを前記移行元ストレージ装置から読み込み、前記キャッシュの既に前記移行対象データが格納されている領域以外の領域に格納し、
前記キャッシュに格納された前記移行対象データを移行先ストレージ装置へ書き込む
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【符号の説明】
【０１１８】
１  仮想ストレージ装置
３  業務サーバ
１０  仮想ディスク（ＶＤＩＳＫ）
２１〜２５  ストレージ装置
１００  ストレージシステム
１０１  ディスク管理部
１０２  読書制御部
１０３  キャッシュ管理部
１０４  キャッシュ
１０５  移行処理部
１０６  記憶部
１０７  負荷判定部
１５１  読込部
１５２  判定部  
１５３  書込部
１６０  移行対象データテーブル
２００  仮想ストレージプール
２０１  ディスク
２０２  ストライピングセット
【図１】
2017167706.tif 000003
【図２】
2017167706.tif 000004
【図３】
2017167706.tif 000005
【図４】
2017167706.tif 000006
【図５】
2017167706.tif 000007
【図６】
2017167706.tif 000008
【図７】
2017167706.tif 000009
【図８】
2017167706.tif 000010