(57)【特許請求の範囲】
【請求項１】
通信可能に接続される他のストレージ装置からデータを移行されるストレージ装置であって、
複数のデータが格納される記憶装置と、
前記記憶装置に格納されている前記複数のデータのデータ毎の重複度を決定する重複度決定部と、
前記重複度決定部によって決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記他のストレージ装置に送信する順序を決定する順序決定部と、
を備えることを特徴とする、ストレージ装置。
【請求項２】
前記順序決定部は、前記重複度決定部によって決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
ことを特徴とする、請求項１に記載のストレージ装置。
【請求項３】
前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、請求項１又は２に記載のストレージ装置。
【請求項４】
通信可能に接続される他のストレージ装置からデータを移行されるストレージ装置に備えられるコンピュータに、
前記ストレージ装置に備えられる記憶装置に格納されている複数のデータのデータ毎の重複度を決定し、
決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記他のストレージ装置に送信する順序を決定する、
処理を実行させることを特徴とする、制御プログラム。
【請求項５】
第１ストレージ装置と第２ストレージ装置とを有し、前記第２ストレージ装置から前記第１ストレージ装置に対してデータを移行するストレージシステムであって、
前記第１ストレージ装置は、
複数のデータが格納される記憶装置と、
前記記憶装置に格納されている前記複数のデータのデータ毎の重複度を決定する重複度決定部と、
前記重複度決定部によって決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記第２ストレージ装置に送信する順序を決定する順序決定部と、
前記順序決定部によって決定された前記順序に基づき、前記複数の識別情報を前記第２ストレージ装置に送信する送信部と、
を備え、
前記第２ストレージ装置は、
前記送信部によって送信された前記複数の識別情報を受信する受信部と、
前記受信部によって受信された前記複数の識別情報と、当該第２ストレージ装置に格納される複数のデータを識別するための複数の識別情報とが同一であるかを判定する判定部と、
前記複数の識別情報のうち、前記判定部によって同一であると判定された識別情報を前記第１ストレージ装置に通知することによって、前記第１ストレージ装置にデータを移行する移行処理部と、
を備えることを特徴とする、ストレージシステム。
【請求項６】
第１ストレージ装置と第２ストレージ装置とを有し、前記第２ストレージ装置から前記第１ストレージ装置に対してデータを移行するストレージシステムにおけるデータ転送方
法であって、
前記第１ストレージ装置は、
当該第１ストレージ装置に備えられる記憶装置に格納されている複数のデータのデータ毎の重複度を決定し、
決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記第２ストレージ装置に送信する順序を決定し、
決定された前記順序に基づき、前記複数の識別情報を前記第２ストレージ装置に送信し、
前記第２ストレージ装置は、
前記第１ストレージ装置によって送信された前記複数の識別情報を受信し、
受信された前記複数の識別情報と、当該第２ストレージ装置に格納される複数のデータを識別するための複数の識別情報とが同一であるかを判定し、
前記複数の識別情報のうち、同一であると判定された識別情報を前記第１ストレージ装置に通知することによって、前記第１ストレージ装置にデータを移行する、
ことを特徴とする、データ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置，制御プログラム，ストレージシステム及びデータ転送方法に関する。
【背景技術】
【０００２】
ストレージシステムには、複数のストレージ装置間でネットワークを介してデータの移行処理を行なうものが知られている。
このようなストレージシステムにおいては、データの移行先のストレージ装置に対して、データの移行元のストレージ装置からの移行処理が完了していないデータに対するアクセス要求が発生する場合がある。このような場合には、データの移行先のストレージ装置は、ネットワークを介して、データの移行元のストレージ装置からデータを取得する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１４００５３号公報
【特許文献２】特開２０１１−１２３８９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、アクセス対象のデータを移行元のストレージ装置から取得する場合には、ネットワーク中の経路がボトルネックとなり、発生したアクセス要求をすぐに処理できないという課題がある。
１つの側面では、本発明は、ストレージ装置間のデータ移行中におけるデータアクセス性能を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
このため、このストレージ装置は、通信可能に接続される他のストレージ装置からデータを移行されるストレージ装置であって、複数のデータが格納される記憶装置と、前記記憶装置に格納されている前記複数のデータのデータ毎の重複度を決定する重複度決定部と、前記重複度決定部によって決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記他のストレージ装置に送信する順序を決定する順序決定部と、を備える。
【発明の効果】
【０００６】
開示の制御装置によれば、ストレージ装置間のデータ移行中におけるデータアクセス性能を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】実施形態の一例としてのストレージシステムの機能構成を模式的に示す図である。
【図２】実施形態の関連技術としてのストレージシステムにおけるデータ移行処理の第１の例を示す図である。
【図３】実施形態の関連技術としてのストレージシステムにおけるデータ移行処理の第２の例を示す図である。
【図４】実施形態の一例としてのストレージシステムにおける仮想環境を例示する図である。
【図５】実施形態の一例としてのストレージシステムにおけるハッシュ値送信順序の決定処理を説明する図である。
【図６】実施形態の一例としてのストレージシステムにおける移行先ストレージ装置に格納されたデータに対するアクセス処理を説明する図である。
【図７】実施形態の一例としてのストレージシステムにおける移行元ストレージ装置に格納されたデータに対するアクセス処理を説明する図である。
【図８】実施形態の一例としてのストレージシステムにおけるハッシュ値の通知処理を説明する図である。
【図９】実施形態の一例としてのストレージシステムにおけるハッシュ値の通知処理を説明する図である。
【図１０】実施形態の一例としてのストレージシステムにおけるデータ移行処理を説明する図である。
【図１１】実施形態の一例としてのストレージシステムにおけるＬＲＵリスト作成処理の第１の例を説明するフローチャートである。
【図１２】実施形態の一例としてのストレージシステムにおけるＬＲＵリスト作成処理の第１の例の詳細を説明するフローチャートである。
【図１３】実施形態の一例としてのストレージシステムにおけるＬＲＵリスト作成処理の第２の例を説明するフローチャートである。
【図１４】実施形態の一例としてのストレージシステムにおける転送ハッシュ値選択処理を説明するフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照してストレージ装置，制御プログラム，ストレージシステム及びデータ転送方法に係る一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【０００９】
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
【００１０】
〔Ａ〕実施形態の一例
〔Ａ−１〕システム構成
図１は、実施形態の一例としてのストレージシステムの機能構成を模式的に示す図である。
図１に示すストレージシステム１００は、図示しないホスト装置に対して記憶領域を提供するものであり、ストレージ装置１及びストレージ装置２を備える。ストレージシステム１００は、ストレージ装置１とストレージ装置２との間でデータの移行処理を行なう機能を備える。以下、本実施形態の一例においては、ストレージ装置２からストレージ装置１へデータを移行する例について示す。また、以下、ストレージ装置１を「移行先ストレージ装置１」といい、ストレージ装置２を「移行元ストレージ装置２」という場合がある。
【００１１】
移行先ストレージ装置１と移行元ストレージ装置２とは、例えばWide Area Network（ＷＡＮ）５を介して互いに通信可能に接続される。
ユーザ４は、図示しないホスト装置を介して、ストレージ装置１，２に対して、データInput/Output（Ｉ／Ｏ）の指示や移行先ストレージ装置１と移行元ストレージ装置２との間のデータ移行処理の指示を発行する。
【００１２】
ストレージ装置１，２は、後述する複数の記憶装置３１を搭載し、図示しないホスト装置に対して記憶領域を提供する装置であり、例えばRedundant Arrays of Inexpensive Disks（ＲＡＩＤ）を用いて複数の記憶装置３１にデータを分散し、冗長化した状態で保存する。
以下、本実施形態の一例におけるストレージ装置１，２が備える機能構成を説明する前に、図２及び図３を参照しながら、本実施形態の関連技術としてのストレージシステム１００ａ，１００ｂにおけるデータ移行処理について説明する。
【００１３】
図２は、実施形態の関連技術としてのストレージシステムにおけるデータ移行処理の第１の例を示す図である。
図２に示すストレージシステム１００ａは、図示しないホスト装置に対して記憶領域を提供するものであり、移行先ストレージ装置１ａ及び移行元スレージ装置２ａを備える。
【００１４】
移行先ストレージ装置１ａと移行元ストレージ装置２ａとは、例えばＷＡＮ５を介して互いに通信可能に接続される。
以下、移行先ストレージ装置１ａと移行元ストレージ装置２ａとをまとめてストレージ装置１ａ，２ａという場合がある。
ストレージ装置１ａ，２ａは、図示しない複数の記憶装置を搭載し、図示しないホスト装置に対して記憶領域を提供する装置であり、例えばＲＡＩＤを用いて図示しない複数の記憶装置にデータを分散し、冗長化した状態で保存する。
【００１５】
図２に示す例において、移行先ストレージ装置１ａはデータ移行処理におけるデータ移行先のストレージ装置として機能し、移行元ストレージ装置２ａはデータ移行処理におけるデータ移行元のストレージ装置として機能する。
移行先ストレージ装置１ａが備える図示しないCentral Processing Unit（ＣＰＵ）は、運用中Virtual Machine（ＶＭ）６ａ及び移行先ＶＭ７ａを展開する。
【００１６】
運用中ＶＭ６ａは、ストレージシステム１００ａにおいて業務運用中のＶＭであり、２つのアプリケーション（ＡＰＰ）６１ａ，２つのOperating System（ＯＳ）６２ａ及び２つの仮想ディスク（ｖＤＩＳＫ）６３ａを含む。
ＡＰＰ６１ａは、データ移行処理の実行等の機能を有するソフトウェアである。
ＯＳ６２ａは、移行先ストレージ装置１ａのハードウェアの管理などの基本機能を実現するシステムソフトウェアである。
【００１７】
仮想ディスク６３ａは、移行先ストレージ装置１ａが備える図示しない記憶装置の記憶領域をストレージシステム１００ａが備える図示しないホスト装置に認識可能な状態で提供する論理記憶領域である。
移行先ＶＭ７ａは、ストレージシステム１００ａにおいて業務運用前の状態であり、移行元ストレージ装置２ａからデータを移行されるＶＭである。移行先ＶＭ７ａは、ＡＰＰ７１ａ，ＯＳ７２ａ及び仮想ディスク７３ａを含む。なお、図２に示す例において、仮想ボリューム７３ａは、データ移行処理が完了しておらず、データが格納されていないため、破線で示されている。
【００１８】
移行先ＶＭ７ａのＡＰＰ７１ａ，ＯＳ７２ａ及び仮想ディスク７３ａは、運用中ＶＭ６ａのＡＰＰ６１ａ，ＯＳ６２ａ及び仮想ディスク６３ａと同様の機能を備える。よって、移行先ＶＭ７ａのＡＰＰ７１ａ，ＯＳ７２ａ及び仮想ディスク７３ａが備える機能の説明は、省略する。
移行元ストレージ装置２ａが備える図示しないＣＰＵは、移行元ＶＭ８ａを展開する。
【００１９】
移行元ＶＭ８ａは、移行先ストレージ装置１ａに対するデータ移行対象のデータが格納されたＶＭであり、ＡＰＰ８１ａ，ＯＳ８２ａ及び仮想ディスク８３ａを含む。
移行元ＶＭ８ａのＡＰＰ８１ａ，ＯＳ８２ａ及び仮想ディスク８３ａは、運用中ＶＭ６ａのＡＰＰ６１ａ，ＯＳ６２ａ及び仮想ディスク６３ａと同様の機能を備える。よって、移行元ＶＭ８ａのＡＰＰ８１ａ，ＯＳ８２ａ及び仮想ディスク８３ａが備える機能の説明は、省略する。
【００２０】
図２に示す例において、運用中ＶＭ６ａに含まれる論理ボリューム６３ａには、データＡ１が格納されている。
移行先ストレージ装置１ａは、ＷＡＮ５を介して、データＡ１を識別するためのハッシュ値を移行元ストレージ装置２ａに送信する（符号Ａ２参照）。言い換えれば、移行先ストレージ装置１ａは、移行元ストレージ装置２ａに対して、データＡ１が移行先ストレージ装置１ａに格納されているというデータ移行処理にあたってのヒント情報を送信する。
【００２１】
移行元ストレージ装置２ａは、移行先ストレージ装置１ａから受信したハッシュ値が移行元ＶＭ８ａの仮想ディスク８３ａに格納されているデータによって識別されるハッシュ値と同一であるかを判定する。そして、移行元ストレージ装置２ａは、ハッシュ値が同一であると判定した場合に、同一であると判定したハッシュ値を移行先ストレージ装置１ａに対して送信する（符号Ａ３参照）。
【００２２】
このように、図２の符号Ａ２及びＡ３で示した処理によれば、ＷＡＮ５を経由してハッシュ値のみを送受信することにより、ストレージ装置１ａ，２ａ間のデータ転送量を減少させ、データ移行処理を高速に実行することができる。
しかしながら、移行先ストレージ装置１ａが運用中の仮想ディスク６３ａに格納されたデータのうちどのデータに関するハッシュ値を移行元ストレージ装置２ａに送信するかは、運用中の仮想ディスク６３ａに格納されたデータに基づき推定しなければならないという問題がある。つまり、移行先ストレージ装置１ａは、ストレージシステム１００ａの運用開始時から運用中の仮想ディスク６３ａに格納されているデータと、既に移行元ストレージ装置２ａからデータ移行処理が完了して運用中の仮想ディスク６３ａに格納されているデータとに基づき、ハッシュ値を選択しなければならない。
【００２３】
図３は、実施形態の関連技術としてのストレージシステムにおけるデータ移行処理の第２の例を示す図である。
図３に示すストレージシステム１００ｂは、図示しないホスト装置に対して記憶領域を提供するものであり、移行先ストレージ装置１ｂ及び移行元スレージ装置２ａを備える。図３に示すストレージシステム１００ｂは図２に示した移行元ストレージ装置２ａと同様の移行元ストレージ装置２ａを備えるため、移行元ストレージ装置２ａが備える機能構成の図示は簡単のため省略する。
【００２４】
移行先ストレージ装置１ｂと移行元ストレージ装置２ａとは、例えばＷＡＮ５を介して互いに通信可能に接続される。
以下、移行先ストレージ装置１ｂと移行元ストレージ装置２ａとをまとめてストレージ装置１ｂ，２ａという場合がある。
ストレージ装置１ｂ，２ａは、図示しない複数の記憶装置を搭載し、図示しないホスト装置に対して記憶領域を提供する装置であり、例えばＲＡＩＤを用いて図示しない複数の記憶装置にデータを分散し、冗長化した状態で保存する。
【００２５】
図３に示す例において、移行先ストレージ装置１ｂはデータ移行処理におけるデータ移行先のストレージ装置として機能し、移行元ストレージ装置２ａはデータ移行処理におけるデータ移行元のストレージ装置として機能する。
移行先ストレージ装置１ｂが備える図示しないＣＰＵは、運用中ＶＭ６ｂ及び移行先ＶＭ７ｂを展開する。
【００２６】
図３に示す運用中ＶＭ６ｂ及び移行先ＶＭ７ｂは、図２に示した運用中ＶＭ６ａ及び移行先ＶＭ７ａとそれぞれ同様の機能を備える。ただし、図３に示す運用中ＶＭ６ｂは、図２に示した運用中ＶＭ６ａとは異なり、キャッシュ領域６４ｂを含む。よって、キャッシュ領域６４ｂ以外の運用中ＶＭ６ｂ及び移行先ディスクグループ７ｂに含まれる機能の説明は、省略する。
【００２７】
キャッシュ領域６４ｂは、移行先ストレージ装置１ｂが備える図示しないメモリの領域に対応づけられた領域である。キャッシュ領域６４ｂには、運用中の仮想ディスク６３ｂに対するＩ／Ｏに応じて、複数のデータ（エントリメンバ）がLeast Recently Used（ＬＲＵ） やLeast Frequently Used （ＬＦＵ）等の順に格納される。
図３に示す例において、キャッシュ領域６４ｂには、１つのデータ＃１，１つのデータ＃２，２つのデータ＃３及び３つのデータ＃４が格納される（符号Ｂ参照）。具体的には、キャッシュ領域６４ｂには、データ＃１〜＃４が最近使われた順であるデータ＃１，データ＃２，データ＃３，データ＃４，データ＃４，データ＃３，データ＃４を特定できるように格納される。この場合に、移行先ストレージ１ｂは、移行元ストレージ装置２ａに対して、データ＃１〜＃４を識別するためのハッシュ値をデータ＃１，データ＃２，データ＃３，データ＃４の順に送信する。なお、ストレージ装置１ｂ，２ａ間のハッシュ値の送受信処理は、図２の符号Ａ２及びＡ３で示した処理と同様であるため、その説明は省略する。
【００２８】
このように、図３の符号Ｂで示した処理によれば、キャッシュ値の送受信を移行先ストレージ装置１ｂで最近使われた順に行なうことにより、移行先ストレージ装置１ｂで最近使われたデータのデータ移行処理を早期に完了させることができる。一般に、最近使われたデータはよく使われるデータの可能性が高いため、最近使われたデータから順にデータ移行処理を行なうことでＩ／Ｏ処理に必要なデータが移行済みである確率を上げ、Ｉ／Ｏ処理の高速化に寄与する。
【００２９】
しかしながら、移行対象のデータに移行先ストレージ装置１ｂで最近使われたデータが含まれていない場合には、移行先ストレージ装置１ｂ（移行先ＶＭ７ｂ）で使用したいデータのデータ移行処理を早期に完了することができないという問題がある。例えば、図３の符号Ｂで示した例においては、移行先ストレージ装置１ｂは、移行元ストレージ装置２ａに対して、最初にデータ＃１，データ＃２の順に対応するハッシュ値を送信する。しかし、移行先ストレージ装置１ｂが最初に送信したハッシュ値に対応するデータ＃１，＃２と同一のデータが移行元ストレージ装置２ａに格納されていない場合には、データ＃３，＃４についての移行処理が完了する時刻が遅れてしまう。そして、データ＃３，＃４に対するＩ／Ｏが発生した場合に、移行先ストレージ装置１ｂは、発生したＩ／Ｏの処理に時間を要するという問題がある。
【００３０】
図４は、実施形態の一例としてのストレージシステムにおける仮想環境を例示する図である。
図４に示す本実施形態の一例としてのストレージシステム１００おいて、移行先ストレージ装置１が備えるＣＰＵ１１（図１を用いて後述）は、運用中ＶＭ６及び移行先ＶＭ７を展開する。
【００３１】
図４に示す例において、運用中ＶＭ６は、ストレージシステム１００において業務運用中のＶＭであり、２つのアプリケーション（ＡＰＰ）６１，２つのＯＳ６２，２つの仮想ディスク（ｖＤＩＳＫ）６３及び１つのキャッシュ領域６４を含む。
ＡＰＰ６１は、データ移行処理の実行等の機能を有するソフトウェアである。
ＯＳ６２は、移行先ストレージ装置１のハードウェアの管理などの基本機能を実現するシステムソフトウェアである。
【００３２】
仮想ディスク６３は、移行先ストレージ装置１が備える記憶装置３１（図１を用いて後述）の記憶領域をストレージシステム１００が備える図示しないホスト装置に認識可能な状態で提供する論理記憶領域である。
キャッシュ領域６４は、移行先ストレージ装置１が備えるメモリ１２（図１を用いて後述）においてキャッシュメモリとして使われる領域に対応づけられた領域である。キャッシュ領域６４には、運用中の仮想ディスク６３に対するＩ／Ｏに応じて、複数のデータ（エントリメンバ）がＬＲＵ やＬＦＵ等の使用実績順に格納される。
【００３３】
以下、本実施形態の一例において、ＬＲＵのアルゴリズムに基づいてデータがキャッシュ領域６４に格納されている例について説明する。
移行先ＶＭ７は、ストレージシステム１００において業務運用前の状態であり、移行元ストレージ装置２からデータを移行されるＶＭである。移行先ＶＭ７は、ＡＰＰ７１，ＯＳ７２及び仮想ディスク７３を含む。なお、図４に示す例において、仮想ボリューム７３は、データ移行処理が完了しておらず、データが格納されていないため、破線で示されている。
【００３４】
移行先ＶＭ７のＡＰＰ７１，ＯＳ７２及び仮想ディスク７３は、運用中ＶＭ６のＡＰＰ６１，ＯＳ６２及び仮想ディスク６３と同様の機能を備える。よって、移行先ＶＭ７のＡＰＰ７１，ＯＳ７２及び仮想ディスク７３が備える機能の説明は、省略する。
移行元ストレージ装置２が備えるＣＰＵ２１（図１を用いて後述）は、移行元ＶＭ８を展開する。
【００３５】
移行元ＶＭ８は、移行先ストレージ装置１に対するデータ移行対象のデータが格納されたＶＭであり、ＡＰＰ８１，ＯＳ８２及び仮想ディスク８３を含む。
移行元ＶＭ８のＡＰＰ８１，ＯＳ８２及び仮想ディスク８３は、運用中ＶＭ６のＡＰＰ６１，ＯＳ６２及び仮想ディスク６３と同様の機能を備える。よって、移行先ＶＭ８のＡＰＰ８１，ＯＳ８２及び仮想ディスク８３が備える機能の説明は、省略する。
【００３６】
次に、図１を参照しながら、本実施形態の一例におけるストレージ装置１，２が備える機能構成について説明する。
移行先ストレージ装置１は、Controller Module（ＣＭ）１０及びDisk Enclosure（ＤＥ）３０を備える。
ＤＥ３０は、ＣＭ１０とアクセスパスで通信可能に接続されており、複数（図示する例では３つ）の記憶装置３１を備える。
【００３７】
記憶装置３１は、データを読み書き可能に格納する既知の装置であり、例えば、Hard Disk Drive（ＨＤＤ）やSolid State Drive（ＳＳＤ）である。
ＣＭ１０は、種々の制御を行なう制御装置であり、図示しないホスト装置からのストレージアクセス要求（アクセス制御信号：以下、ホストＩ／Ｏという）に従って、各種制御を行なう。なお、図１に示す例において移行先ストレージ装置１は１つのＣＭ１０のみを備えることとしているが、これに限定されるものではなく、移行先ストレージ装置１はシステムの冗長化のために２つ以上のＣＭ１０を備えても良い。ＣＭ１０は、ＣＰＵ（コンピュータ）１１，メモリ（記憶装置）１２，Communication Adaptor（ＣＡ）１３，Network Interface Card（ＮＩＣ）１４及びDevice Adaptor（ＤＡ）１５を備える。
【００３８】
ＣＡ１３は、ＣＭ１０を図示しないホスト装置と通信可能に接続するインタフェースコントローラである。
ＮＩＣ１４は、移行先ストレージ装置１を例えばＷＡＮ５等の外部ネットワークに接続する通信アダプタである。
ＤＡ１５は、ＣＭ１０とＤＥ３０とを通信可能に接続するためのインタフェースであり、例えばFiber Channel（ＦＣ）アダプタである。ＣＭ１０は、このＤＡ１５を介して、記憶装置３１に対するデータの書き込みや読み出しを行なう。
【００３９】
メモリ１２は、Read Only Memory（ＲＯＭ）及びRandom Access Memory（ＲＡＭ）を含む記憶装置である。メモリ１２のＲＯＭには、Basic Input/Output System（ＢＩＯＳ）等のプログラムが書き込まれている。メモリ１２上のソフトウェアプログラムは、ＣＰＵ１１に適宜読み込まれて実行される。また、メモリ１２のＲＡＭは、一次記録メモリ（キャッシュメモリ）あるいはワーキングメモリとして利用される。
【００４０】
ＣＰＵ１１は、種々の制御や演算を行なう処理装置であり、メモリ１２に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ１１は、図１に示すように、移行済みデータ判定部１１１，移行処理部１１２，キャッシュ処理部１１３，重複度決定部１１４，順序決定部１１５及びハッシュ値送信部（送信部）１１６として機能する。
【００４１】
なお、これらの移行済みデータ判定部１１１，移行処理部１１２，キャッシュ処理部１１３，重複度決定部１１４，順序決定部１１５及びハッシュ値送信部１１６としての機能を実現するためのプログラム（制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【００４２】
移行済みデータ判定部１１１，移行処理部１１２，キャッシュ処理部１１３，重複度決定部１１４，順序決定部１１５及びハッシュ値送信部１１６としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ１２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ１１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００４３】
移行済みデータ判定部１１１は、移行元ストレージ装置２から移行先ストレージ装置１への移行対象のデータが移行先ストレージ装置１の記憶装置３１に移行済みであるかを判定する。
移行処理部１１２は、移行先ストレージ装置１と移行元ストレージ装置２との間のデータの移行処理を行なう。具体的には、移行処理部１１２は、ＷＡＮ５及びＮＩＣ１４を介して移行元ストレージ装置２から送信されてきた移行対象のデータを取得し、取得したデータを記憶装置３１に格納することにより、データの移行処理を行なう。
【００４４】
また、移行処理部１１２は、移行対象のデータを識別するためのハッシュ値（識別情報）を移行元ストレージ装置２から受信する。具体的には、移行処理部１１２は、ＷＡＮ５及びＮＩＣ１４を介して移行元ストレージ装置２よって送信されたハッシュ値を受信する。
更に、移行処理部１１２は、移行元ストレージ装置２に格納されたデータに対するアクセス処理を行なう。具体的には、移行済みデータ判定部１１１によって移行対象のデータが移行先ストレージ装置１に移行済みでないと判定された場合に、ＮＩＣ１４及びＷＡＮ５を介して移行元ストレージ装置２の記憶装置３１が格納するデータに対するアクセス処理を行なう。
【００４５】
キャッシュ処理部１１３は、移行先ストレージ装置１の記憶装置３１に格納されたデータに対するアクセス処理を行なう際に、アクセス対象のデータをＬＲＵやＬＦＵ等の使用実績順にメモリ１２に一時的に格納する。具体的には、キャッシュ処理部１１３は、移行済みデータ判定部１１１によって移行対象のデータが移行先ストレージ装置１に移行済みであると判定された場合に、アクセス対象のデータをメモリ１２のキャッシュ領域６４（図４を参照）に一時的に格納する。また、キャッシュ処理部１１３は、移行処理部１１２よって移行先ストレージ装置１から取得された移行対象のデータ又はハッシュ値をメモリ１２のキャッシュ領域６４に一時的に格納する。
【００４６】
図５は、実施形態の一例としてのストレージシステムにおけるハッシュ値送信順序の決定処理を説明する図である。
以下、図５に示す例において、データ＃１〜＃４を識別するためのハッシュ値をハッシュ値＃１〜＃４とそれぞれ示す。
図５に示す例において、キャッシュ処理部１１３は、データ＃１〜＃４が最近使われた順を特定できるように、データ＃１〜＃４をキャッシュ領域６４に格納する。具体的には、キャッシュ処理部１１３は、データ＃１，データ＃２，データ＃３，データ＃４，データ＃４，データ＃３，データ＃４の順を特定できるように、データ＃１〜＃４をキャッシュ領域６４に格納する。
【００４７】
以下、最近使われた順に一列に並べられたデータの配列を、ＬＲＵリストという場合がある。
重複度決定部１１４は、メモリ１２のキャッシュ領域６４に格納された複数のデータの重複度を決定する。具体的には、重複度決定部１１４は、キャッシュ領域６４に含まれる同一のデータの数（重複数）を算出し、同一のデータ毎に算出した数（重複数）を重複度として決定する。
【００４８】
図５に示す例において、重複度決定部１１４は、データ＃４，＃３，＃２，＃１の重複度が３，２，１，１であるとそれぞれ決定する（符号Ｃ１参照）。
順序決定部１１５は、重複度決定部１１４によって決定された重複度に基づき、複数のハッシュ値を移行元ストレージ装置２に送信する順序を決定する。また、順序決定部１１５は、重複度決定部１１４によって決定された重複度が同一である複数のデータがある場合には、重複度が同一である複数のデータの使用実績に基づき、順序を決定する。
【００４９】
図５に示す例において、順序決定部１１５は、重複度決定部１１４によって決定された重複度に基づき、複数のハッシュ値をハッシュ値＃４，＃３，＃１，＃２に順に、移行元ストレージ装置２に送信することを決定する（符号Ｃ２参照）。ここで、データ＃１，＃２の重複度はともに１であるため、順序決定部１１５は、データ＃２よりも最近使われたデータ＃１に対応するハッシュ値＃１をハッシュ値＃２よりも先に送信することを決定する。
【００５０】
以下、重複度毎に一列に並べられたデータの配列を、重複度毎のＬＲＵリストという場合がある。
ハッシュ値送信部１１６は、順序決定部１１５によって決定された順序に基づき、複数のハッシュ値をＮＩＣ１４及びＷＡＮ５を介して移行元ストレージ装置２に送信する。
【００５１】
図５に示す例において、ハッシュ値送信部１１６は、順序決定部１１５によって決定された順序に基づき、複数のハッシュ値をハッシュ値＃４，＃３，＃１，＃２の順に、移行元ストレージ装置２に送信する。
図１に示すように、移行元ストレージ装置２は、ＣＭ２０及びＤＥ３０を備える。
ＣＭ２０は、種々の制御を行なう制御装置であり、図示しないホスト装置からのホストＩ／Ｏに従って、各種制御を行なう。なお、図１に示す例において移行元ストレージ装置２は１つのＣＭ２０のみを備えることとしているが、これに限定されるものではなく、移行元ストレージ装置２はシステムの冗長化のために２つ以上のＣＭ２０を備えても良い。ＣＭ２０は、ＣＰＵ２１，メモリ２２，ＣＡ２３，ＮＩＣ２４及びＤＡ２５を備える。
【００５２】
ＣＭ２０が備えるメモリ２２，ＣＡ２３，ＮＩＣ２４及びＤＡ２５はＣＭ１０が備えるメモリ１２，ＣＡ１３，ＮＩＣ１４及びＤＡ１５とそれぞれ同様の機能を備えるため、メモリ２２，ＣＡ２３，ＮＩＣ２４及びＤＡ２５の説明は省略する。
ＣＰＵ２１は、種々の制御や演算を行なう処理装置であり、メモリ２２に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ２１は、図１に示すように、移行処理部２１１，キャッシュ処理部２１２，ハッシュ値受信部（受信部）２１３及びハッシュ値判定部（判定部）２１４として機能する。
【００５３】
なお、これらの移行処理部２１１，キャッシュ処理部２１２，ハッシュ値受信部２１３及びハッシュ値判定部２１４としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【００５４】
移行処理部２１１，キャッシュ処理部２１２，ハッシュ値受信部２１３及びハッシュ値判定部２１４としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ２２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ２１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００５５】
ハッシュ値受信部２１３は、ＷＡＮ５及びＮＩＣ２４を介して、移行先ストレージ装置１のハッシュ値送信部１１６によって送信された複数のハッシュ値を受信する。
ハッシュ値判定部２１４は、ハッシュ値受信部２１３によって受信された複数のハッシュ値のそれぞれについてと、移行元ストレージ装置２の記憶装置３１に格納される複数のデータを識別するためのハッシュ値とが同一であるかを判定する。具体的には、ハッシュ値判定部２１４は、ハッシュ値受信部２１３によって受信された複数のハッシュ値を取得する。また、ハッシュ値判定部２１４は、キャッシュ処理部２１２に対してハッシュ値の取得要求を行なうことにより、記憶装置３１に格納されたデータを識別するためのハッシュ値を取得する。そして、ハッシュ値判定部２１４は、ハッシュ値受信部２１３から取得したハッシュ値と、キャッシュ処理部２１２から取得されたハッシュ値とが同一であるかを判定する。ハッシュ値判定部２１４は、ハッシュ値受信部２１３によって受信された複数のハッシュ値についてこれらが受信された順に、ハッシュ値が同一であるかの判定をそれぞれ行なう。
【００５６】
キャッシュ処理部２１２は、キャッシュメモリに対するデータのリード／ライトの制御を行なう。
キャッシュ処理部２１２は、移行元ストレージ装置２の記憶装置３１に格納されたデータに対するアクセス処理を行なう際に、アクセス対象のデータをメモリ２２のキャッシュメモリ領域に一時的に格納する。具体的には、キャッシュ処理部２１２は、データ移行処理２１１から記憶装置３１に対するアクセス処理に基づき、アクセス対象のデータをメモリ２２のキャッシュメモリ領域に一時的に格納する。また、キャッシュ処理部２１２は、ハッシュ値判定部２１４からのハッシュ値の取得要求に基づき、記憶装置３１に格納されたデータを識別するためのハッシュ値をメモリ２２のキャッシュ領域に一時的に格納する。
【００５７】
移行処理部２１１は、移行先ストレージ装置１と移行元ストレージ装置２との間のデータの移行処理を行なう。具体的には、移行処理部２１１は、ＮＩＣ２４及びＷＡＮ５を介して移行先ストレージ装置１に移行対象のデータを送信することにより、データの移行処理を行なう。
また、移行処理部２１１は、移行対象のデータを識別するためのハッシュ値を移行先ストレージ装置１に送信する。具体的には、移行処理部２１１は、複数のハッシュ値のうち、ハッシュ値判定部２１４によって同一であると判定されたハッシュ値をＮＩＣ２４及びＷＡＮ５を介して移行先ストレージ装置１に通知することによって、移行先ストレージ装置１にデータを移行する。移行処理部２１１は、ハッシュ値判定部２１４によって複数のハッシュ値が同一であると判定された順に、ハッシュ値の通知を行なう。
【００５８】
更に、移行処理部２１１は、移行元ストレージ装置２に格納されたデータに対するアクセス処理を行なう。具体的には、移行先ストレージ装置１の移行済みデータ判定部１１１によって移行対象のデータが移行先ストレージ装置１に移行済みでないと判定された場合に、ＷＡＮ５及びＮＩＣ２４を介して、移行先ストレージ装置１からの要求を受信する。そして、移行処理部２１１は、キャッシュ処理部２１２を介して、移行元ストレージ装置２の記憶装置３１が格納するデータに対するアクセス処理を行なう。
【００５９】
〔Ａ−２〕動作
上述の如く構成された実施形態の一例としてのストレージシステムにおける移行先ストレージ装置に格納されたデータに対するアクセス処理を、図６に示す図（符号Ｄ１〜Ｄ３）に従って説明する。
ユーザ４は、図示しないホスト装置を介して、ストレージ装置１にデータのアクセス指示を行なう（符号Ｄ１参照）。
【００６０】
移行済みデータ判定部１１１は、アクセス対象のデータが移行先ストレージ装置１に移行済みであるかを判定する。図６に示す例においては、アクセス対象のデータが移行先ストレージ装置１に移行済みであるため、移行済みデータ判定部１１１は、キャッシュ処理部１１３を介して、アクセス対象のデータに対するアクセスを行なう（符号Ｄ２参照）。
キャッシュ処理部１１３は、アクセス対象のデータを移行先ストレージ装置１の記憶装置３１から読み出し、読み出したデータをメモリ１２のキャッシュ領域６４に格納する（符号Ｄ３参照）。
【００６１】
移行済み判定部１１１は、キャッシュ領域６４に書き込まれたアクセス対象のデータを読み出し（符号Ｄ２参照）、図示しないホスト装置に送信することにより（符号Ｄ１参照）、処理は終了する。
このように、移行先ストレージ装置１に格納されたデータに対するアクセス処理は、移行先ストレージ装置１の筐体内に閉じて行なわれる。
【００６２】
次に、実施形態の一例としてのストレージシステムにおける移行元ストレージ装置に格納されたデータに対するアクセス処理を、図７に示す図（符号Ｅ１〜Ｅ７）に従って説明する。すなわち、図７を用いて、移行元ストレージ装置２から移行先ストレージ装置１へのデータ移行処理が行なわれていないデータに対するアクセス処理について示す。
ユーザ４は、図示しないホスト装置を介して、ストレージ装置１にデータのアクセス指示を行なう（符号Ｅ１参照）。
【００６３】
移行済みデータ判定部１１１は、アクセス対象のデータが移行先ストレージ装置１に移行済みであるかを判定する。図７に示す例においては、アクセス対象のデータが移行先ストレージ装置１に移行されていないため、移行済みデータ判定部１１１は、移行処理部１１２を介して、移行元ストレージ装置２からデータを取得する（符号Ｅ２参照）。
移行処理部１１２は、ＮＩＣ１４及びＷＡＮ５を介して、移行元ストレージ装置２にデータアクセス要求を送信する（符号Ｅ３及び符号Ｅ４参照）。
【００６４】
移行元ストレージ装置２の移行処理部２１１は、ＷＡＮ５及びＮＩＣ２４を介して、移行先ストレージ装置１からデータアクセス要求を受信する（符号Ｅ４及びＥ５参照）。そして、移行処理部２１１は、キャッシュ処理部２１２を介して、アクセス対象のデータに対するアクセスを行なう（符号Ｅ６参照）。
キャッシュ処理部２１２は、アクセス対象のデータを記憶装置３１から読み出し、読み出したデータをメモリ２２に格納する（符号Ｅ７参照）。
【００６５】
移行処理部２１１は、メモリ２２に格納されたアクセス対象のデータを読み出し（符号Ｅ６）、読み出したデータをＮＩＣ２４及びＷＡＮ５を介して移行先ストレージ装置１に送信する（符号Ｅ５及びＥ４参照）。
移行先ストレージ装置１の移行処理部１１２は、ＷＡＮ５及びＮＩＣ１４を介して、移行元ストレージ装置２から送信されたアクセス対象のデータを受信する（符号Ｅ４及びＥ３参照）。
【００６６】
移行済み判定部１１１は、アクセス対象のデータを移行処理部１１２から取得し（符号Ｅ２参照）、図示しないホスト装置に送信することにより（符号Ｅ１参照）、処理は終了する。
このように、移行元ストレージ装置に格納されたデータに対するアクセス処理は、移行先ストレージ装置１からＷＡＮ５を介して移行元ストレージ装置２に対して行なわれる。
【００６７】
次に、実施形態の一例としてのストレージシステムにおけるハッシュ値の通知処理を、図８及び図９に示す図（符号Ｆ１〜Ｆ１５）に従って説明する。具体的には、図８には符号Ｆ１〜Ｆ９の処理を示し、図９にはＦ１０〜Ｆ１５の処理を示す。
移行先ストレージ装置１のキャッシュ処理部１１３は、キャッシュ領域６４に格納された複数のデータを読み出す（図８の符号Ｆ１参照）。
【００６８】
重複度決定部１１４は、キャッシュ処理部１１３によって読み出された複数のデータの重複度を決定する（図８の符号Ｆ２参照）。
順序決定部１１５は、重複度決定部１１４によって決定された重複度に基づき、複数のハッシュ値を移行元ストレージ装置２に送信する順序を決定する（図８の符号Ｆ３参照）。また、順序決定部１１５は、重複度決定部１１４によって決定された重複度が同一である複数のデータがある場合には、これらの重複度が同一である複数のデータの使用実績に基づき、順序を決定する。
【００６９】
ハッシュ値送信部１１６は、順序決定部１１５によって決定された順序に基づき、複数のハッシュ値をＮＩＣ１４及びＷＡＮ５を介して移行元ストレージ装置２に送信する（図８の符号Ｆ４及びＦ５参照）。
移行元ストレージ装置２のハッシュ値受信部２１３は、ＷＡＮ５及びＮＩＣ２４を介して、移行先ストレージ装置１のハッシュ値送信部１１６によって送信された複数のハッシュ値を受信する（図８の符号Ｆ５及びＦ６参照）。
【００７０】
キャッシュ処理部２１２は、記憶装置３１に格納された移行対象の複数のデータのハッシュ値をメモリ２２に一時的に格納する（図８の符号Ｆ７参照）。
ハッシュ値判定部２１４は、ハッシュ値受信部２１３によって受信された複数のハッシュ値を取得する（図８の符号Ｆ８参照）。また、ハッシュ値判定部２１４は、キャッシュ処理部２１２に対してハッシュ値の取得要求を行なうことにより、記憶装置３１に格納されたデータを識別するためのハッシュ値を取得する（図８の符号Ｆ９参照）。そして、ハッシュ値判定部２１４は、ハッシュ値受信部２１３から取得したハッシュ値と、キャッシュ処理部２１２から取得したハッシュ値とが同一であるかを判定する。ハッシュ値判定部２１４は、ハッシュ値受信部２１３によって複数のハッシュ値が受信された順に、ハッシュ値が同一であるかの判定を行なう。
【００７１】
移行処理部２１１は、複数のハッシュ値のうち、ハッシュ値判定部２１４によって同一であると判定されたハッシュ値をハッシュ値判定部２１４から取得する（図９の符号Ｆ１０参照）。そして、移行処理部１１２は、ＮＩＣ２４及びＷＡＮ５を介して移行先ストレージ装置１に取得したハッシュ値を通知する（図９の符号Ｆ１１及びＦ１２）。移行処理部２１１は、ハッシュ値判定部２１４によって複数のハッシュ値が同一であると判定された順に、移行先ストレージ装置１に対してハッシュ値の通知を行なう。
【００７２】
移行先ストレージ装置１の移行処理部１１２は、ＷＡＮ５及びＮＩＣ１４を介して移行元ストレージ装置２よって送信されたハッシュ値を受信する（図９の符号Ｆ１２及びＦ１３参照）。そして、移行処理部１１２は、キャッシュ処理部１１３を介して、受信したハッシュ値によって特定される移行対象のデータを記憶装置３１に書き込む（図９の符号Ｆ１４）。
【００７３】
キャッシュ処理部１１３は、移行対象のデータをキャッシュ領域６４に一時的に格納した後、移行対象のデータを記憶装置３１に格納する（図９の符号Ｆ１５参照）。これにより、移行元ストレージ装置２から移行先ストレージ装置１へのデータ移行処理は、終了する。
このように、ハッシュ値の通知処理は、移行元ストレージ装置２から移行先ストレージ装置１に対して、データではなくハッシュ値のみが送信されることによって行なわれる。これにより、ストレージ装置１，２間におけるデータ移行処理を高速化することができる。
【００７４】
なお、移行元ストレージ装置２の記憶装置３１に格納されているが、移行元ストレージ装置２のハッシュ値受信部２１３によって移行先ストレージ装置１から受信されなかったハッシュ値に対応するデータは、以下のように行なわれるデータ移行処理によって移行先ストレージ装置１に送信される。
【００７５】
次に、実施形態の一例としてのストレージシステムにおけるデータ移行処理を、図１０に示す図（符号Ｇ１〜Ｇ７）に従って説明する。
移行元ストレージ装置２のキャッシュ処理部２１２は、移行対象のデータを記憶装置３１から読み出し、読み出したデータをメモリ２２に格納する（符号Ｇ１参照）。
移行処理部２１１は、メモリ２２に格納された移行対象のデータを読み出し（符号Ｇ２）、読み出したデータをＮＩＣ２４及びＷＡＮ５を介して移行先ストレージ装置１に送信する（符号Ｇ３及びＧ４参照）。
【００７６】
移行先ストレージ装置１の移行処理部１１２は、ＷＡＮ５及びＮＩＣ１４を介して、移行元ストレージ装置２から送信された移行対象のデータを受信する（符号Ｇ４及びＧ５参照）。そして、移行処理部１１２は、キャッシュ処理部１１３を介して、移行対象のデータの書き込み処理を行なう（符号Ｇ６参照）。
【００７７】
キャッシュ処理部１１３は、移行対象のデータをキャッシュ領域６４に一時的に格納した後、移行対象のデータを記憶装置３１に格納することにより（符号Ｇ７参照）、処理は終了する。
このように、データ移行処理は、移行元ストレージ装置２からＷＡＮ５を介して移行先ストレージ装置１に対して行なわれる。
【００７８】
次に、実施形態の一例としてのストレージシステムにおけるＬＲＵリスト作成処理の第１の例を、図１１に示すフローチャート（ステップＳ１〜Ｓ２）に従って説明する。具体的には、図１１においては、キャッシュ領域６４においてデータ（キャッシュエントリ）の重複除去がサポートされていない場合のＬＲＵリスト作成処理を説明する。
重複度決定部１１４は、例えばメモリ１２に記録されるインデックスカウンタの値を０に設定する（ステップＳ１）。ここで、インデックスカウンタの値とは、重複度毎のＬＲＵリストにおいても、キャッシュエントリを元のＬＲＵリストの順番通りに並べるために各キャッシュエントリに対して定義するインデックス用のカウンタ値である。
【００７９】
重複度決定部１１４及び順序決定部１１５は、データ＃１，＃２，＃３，＃４，＃４，＃３，＃４にインデックス１，２，３，４，５，６，７をそれぞれ対応づけることにより、最近使われた順にキャッシュエントリを処理する（ステップＳ２及び符号Ｈ参照）。そして、処理は終了する。
【００８０】
次に、図１１のステップＳ２に示した処理の詳細を、図１２を用いて説明する。図１２は、実施形態の一例としてのストレージシステムにおけるＬＲＵリスト作成処理の第１の例の詳細を説明するフローチャート（ステップＳ１１〜Ｓ１６）である。
重複度決定部１１４は、重複度ｋのＬＲＵリストにおいて、処理対象のキャッシュエントリと同一のデータを持つキャッシュエントリが存在するかを判定する（ステップＳ１１）。
【００８１】
重複度ｋのＬＲＵリストに同一のデータをもつキャッシュエントリが存在する場合には（ステップＳ１１のＹｅｓルート参照）、重複度決定部１１４は、重複度ｋのＬＲＵリストから重複度ｋ＋１のＬＲＵリストに処理対処のキャッシュエントリを移動させる（ステップＳ１２）。
順序決定部１１５は、処理対象のキャッシュエントリのインデックスをキーとして、重複度ｋ＋１のＬＲＵリストを降順にソートし（ステップＳ１３）、処理は終了する。
【００８２】
ステップＳ１１において、重複度ｋのＬＲＵリストに同一のデータをもつキャッシュエントリが存在しない場合には（ステップＳ１１のＮｏルート参照）、重複度決定部１１４は、処理対象のキャッシュエントリをコピーする。そして、重複度決定部１１４は、現在のインデックスカウンタの値を処理対象のキャッシュエントリのインデックスとして定義し、処理対象のキャッシュエントリを重複度１のＬＲＵリストに登録する（ステップＳ１４）。
【００８３】
順序決定部１１５は、処理対象のキャッシュエントリのインデックスをキーとして、重複度１のＬＲＵリストを降順にソートする（ステップＳ１５）。
順序決定部１１５は、インデックスカウンタをインクリメントし（ステップＳ１６）、処理は終了する。
【００８４】
次に、実施形態の一例としてのストレージシステムにおけるＬＲＵリスト作成処理の第２の例を、図１３に示すフローチャート（ステップＳ２１）に従って説明する。具体的には、図１３においては、キャッシュ領域６４においてキャッシュエントリの重複除去がサポートされている場合のＬＲＵリスト作成処理を説明する。
重複度決定部１１４は、ＬＲＵリストにおいてキャッシュエントリが最近使われた順に、重複度ｋのキャッシュエントリを重複度ｋのＬＲＵリストの先頭に登録する（ステップＳ２１）。
【００８５】
図１３に示す例において、ＬＲＵリストにはデータ＃１，＃２，＃３，＃４の順にキャッシュエントリが登録されており、データ＃１，＃２，＃３，＃４の重複度は、それぞれ１，１，２，３である。このような場合に、重複度決定部１１４は、複数のキャッシュエントリを重複度毎に分類することにより（符号Ｉ参照）、重複度毎のＬＲＵリストを作成する。
【００８６】
つまり、図１３に示すように、キャッシュ領域６４においてキャッシュエントリの重複除去がサポートされている場合には、移行先ストレージ装置１のＣＰＵ１１は、順序決定部１１５としての機能を備えなくても良い。
【００８７】
次に、実施形態の一例としてのストレージシステムにおける転送ハッシュ値選択処理を、図１４に示すフローチャート（ステップＳ３１〜Ｓ３５）に従って説明する。
重複度決定部１１４及び順序決定部１１５は、図１１又は図１３を用いて示した処理を実行することにより、重複度毎のＬＲＵリストを作成する（ステップＳ３１）。
ハッシュ値送信部１１６は、既に移行元ストレージ装置２に転送済みのハッシュ値によって識別されるデータを重複度毎のＬＲＵリストから削除する（ステップＳ３２）。
【００８８】
ハッシュ値送信部１１６は、いずれの重複度毎のＬＲＵリストも空であるかを判定する（ステップＳ３３）。
いずれの重複度毎のＬＲＵリストも空である場合には（ステップＳ３３のＹｅｓルート参照）、処理は終了する。
【００８９】
一方、いずかの重複度毎のＬＲＵリストにデータが登録されている場合には（ステップＳ３３のＮｏルート参照）、ハッシュ値送信部１１６は、重複度が最大のＬＲＵリストから最近使われたデータを選択する（ステップＳ３４）。そして、ハッシュ値送信部１１６は、選択したハッシュ値を移行元ストレージ装置２に送信する。
ハッシュ値送信部１１６は、選択したデータを重複度毎のＬＲＵリストから削除し（ステップＳ３５）、処理は終了する。
【００９０】
〔Ａ−３〕効果
このように、上述した実施形態の一例におけるストレージ装置１（ストレージシステム１００）によれば、例えば以下の作用効果を奏することができる。
重複度決定部１１４は、メモリ１２のキャッシュ領域６４に格納された複数のデータの重複度を決定する。そして、順序決定部１１５は、重複度決定部１１４によって決定された重複度に基づき、複数のデータを識別するための複数のハッシュ値を移行元ストレージ装置２に送信する順序を決定する。
【００９１】
これにより、ストレージ装置１，２間のデータ移行中においてデータアクセスに要する時間を減少させることができる。具体的には、移行先ストレージ装置１において重複度の高いデータから順にハッシュ値を移行元ストレージ装置２に送信するため、データアクセス頻度が高いと推測されるデータを早期に移行先ストレージ装置１に移行することができる。また、これにより、ホスト装置から移行元ストレージ装置２へのアクセス量を減少させることができる。
【００９２】
順序決定部１１５は、重複度決定部１１４によって決定された重複度が同一である複数のデータがある場合には、重複度が同一である複数のデータの最近使われた（使用実績）順に基づき、複数のハッシュ値を移行元ストレージ装置２に送信する順序を決定する。
これにより、重複度が同一のデータについても、適切な順番でデータ移行処理を行なうことができる。
【００９３】
ハッシュ値判定部２１４は、ハッシュ値受信部２１３によって受信された複数のハッシュ値と、移行元ストレージ装置２に格納される複数のデータを識別するためのハッシュ値とが同一であるかを判定する。そして、移行処理部２１１は、複数のハッシュ値のうち、ハッシュ値判定部２１４によって同一であると判定されたハッシュ値を移行先ストレージ装置１に通知することによって、移行先ストレージ装置１にデータを移行する。
これにより、ストレージ装置１，２間におけるネットワーク負荷を減少させることができる。
【００９４】
ハッシュ値判定部２１４は、ハッシュ値受信部２１３によって複数のハッシュ値が受信された順に、ハッシュ値が同一であるかの判定を行なう。また、移行処理部２１１は、ハッシュ値判定部２１４によって複数のハッシュ値が同一であると判定された順に、移行先ストレージ装置１に対するハッシュ値の通知を行なう。
これにより、適切な順番でデータ移行処理を行なうことができる。
【００９５】
〔Ｂ〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【００９６】
〔Ｃ〕付記
（付記１）
通信可能に接続される他のストレージ装置からデータを移行されるストレージ装置であって、
複数のデータが格納される記憶装置と、
前記記憶装置に格納された前記複数のデータの重複度を決定する重複度決定部と、
前記重複度決定部によって決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記他のストレージ装置に送信する順序を決定する順序決定部と、
を備えることを特徴とする、ストレージ装置。
【００９７】
（付記２）
前記順序決定部は、前記重複度決定部によって決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
ことを特徴とする、付記１に記載のストレージ装置。
（付記３）
前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、付記１又は２に記載のストレージ装置。
【００９８】
（付記４）
通信可能に接続される他のストレージ装置からデータを移行されるストレージ装置に備えられるコンピュータに、
前記ストレージ装置に備えられる記憶装置に格納された複数のデータの重複度を決定し、
決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記他のストレージ装置に送信する順序を決定する、
処理を実行させることを特徴とする、制御プログラム。
【００９９】
（付記５）
決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
処理を前記コンピュータに実行させることを特徴とする、付記４に記載の制御プログラム。
（付記６）
前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、付記４又は５に記載の制御プログラム。
【０１００】
（付記７）
第１ストレージ装置と第２ストレージ装置とを有し、前記第２ストレージ装置から前記第１ストレージ装置に対してデータを移行するストレージシステムであって、
前記第１ストレージ装置は、
複数のデータが格納される記憶装置と、
前記記憶装置に格納された前記複数のデータの重複度を決定する重複度決定部と、
前記重複度決定部によって決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記第２ストレージ装置に送信する順序を決定する順序決定部と、
前記順序決定部によって決定された前記順序に基づき、前記複数の識別情報を前記第２ストレージ装置に送信する送信部と、
を備え、
前記第２ストレージ装置は、
前記送信部によって送信された前記複数の識別情報を受信する受信部と、
前記受信部によって受信された前記複数の識別情報と、当該第２ストレージ装置に格納される複数のデータを識別するための複数の識別情報とが同一であるかを判定する判定部と、
前記複数の識別情報のうち、前記判定部によって同一であると判定された識別情報を前記第１ストレージ装置に通知することによって、前記第１ストレージ装置にデータを移行する移行処理部と、
を備えることを特徴とする、ストレージシステム。
【０１０１】
（付記８）
前記順序決定部は、前記重複度決定部によって決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
ことを特徴とする、付記７に記載のストレージシステム。
（付記９）
前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、付記７又は８に記載のストレージシステム。
【０１０２】
（付記１０）
前記判定部は、前記受信部によって前記複数の識別情報が受信された順に、前記判定を行ない、
前記移行処理部は、前記判定部によって複数の識別情報が同一であると判定された順に、前記通知を行なう、
ことを特徴とする、付記７〜９のいずれか１項に記載のストレージシステム。
【０１０３】
（付記１１）
第１ストレージ装置と第２ストレージ装置とを有し、前記第２ストレージ装置から前記第１ストレージ装置に対してデータを移行するストレージシステムにおけるデータ転送方法であって、
前記第１ストレージ装置は、
当該第１ストレージ装置に備えられる記憶装置に格納された複数のデータの重複度を決定し、
決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記第２ストレージ装置に送信する順序を決定し、
決定された前記順序に基づき、前記複数の識別情報を前記第２ストレージ装置に送信し、
前記第２ストレージ装置は、
前記第１ストレージ装置によって送信された前記複数の識別情報を受信し、
受信された前記複数の識別情報と、当該第２ストレージ装置に格納される複数のデータを識別するための複数の識別情報とが同一であるかを判定し、
前記複数の識別情報のうち、同一であると判定された識別情報を前記第１ストレージ装置に通知することによって、前記第１ストレージ装置にデータを移行する、
ことを特徴とする、データ転送方法。
【０１０４】
（付記１２）
前記第１ストレージ装置は、決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
ことを特徴とする、付記１１に記載のデータ転送方法。
（付記１３）
前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、付記１１又は１２に記載のデータ転送方法。
【０１０５】
（付記１４）
前記第２ストレージ装置は、
前記複数の識別情報が受信された順に、前記判定を行ない、
複数の識別情報が同一であると判定された順に、前記通知を行なう、
ことを特徴とする、付記１１〜１３のいずれか１項に記載のデータ転送方法。
【符号の説明】
【０１０６】
１００    ストレージシステム
１        移行先ストレージ装置（第１ストレージ装置）
１０      ＣＭ
１１      ＣＰＵ（コンピュータ）
１１１    移行済みデータ判定部
１１２    移行処理部
１１３    キャッシュ処理部
１１４    重複度決定部
１１５    順序決定部
１１６    ハッシュ値送信部（送信部）
１２      メモリ（記憶装置）
１３      ＣＡ
１４      ＮＩＣ
１５      ＤＡ
２        移行元ストレージ装置（第２ストレージ装置）
２１      ＣＰＵ
２１１    移行処理部
２１２    キャッシュ処理部
２１３    ハッシュ値受信部（受信部）
２１４    ハッシュ値判定部（判定部）
２２      メモリ
２３      ＣＡ
２４      ＮＩＣ
２５      ＤＡ
３０      ＤＥ
３１      記憶装置
４        ユーザ
５        ＷＡＮ
６        運用中ＶＭ
６１      ＡＰＰ
６２      ＯＳ
６３      仮想ディスク
６４      キャッシュ領域
７        移行先ＶＭ
７１      ＡＰＰ
７２      ＯＳ
７３      仮想ディスク
８        移行元ＶＭ
８１      ＡＰＰ
８２      ＯＳ
８３      仮想ディスク
１００ａ  ストレージシステム
１ａ      移行先ストレージ装置
２ａ      移行元ストレージ装置
６ａ      運用中ＶＭ
６１ａ    ＡＰＰ
６２ａ    ＯＳ
６３ａ    仮想ディスク
７ａ      移行先ＶＭ
７１ａ    ＡＰＰ
７２ａ    ＯＳ
７３ａ    仮想ディスク
８ａ      移行元ＶＭ
８１ａ    ＡＰＰ
８２ａ    ＯＳ
８３ａ    仮想ディスク
１００ｂ  ストレージシステム
１ｂ      移行先ストレージ装置
６ｂ      運用中ＶＭ
６１ｂ    ＡＰＰ
６２ｂ    ＯＳ
６３ｂ    仮想ディスク
６４ｂ    キャッシュ領域
７ｂ      移行先ＶＭ
７１ｂ    ＡＰＰ
７２ｂ    ＯＳ
７３ｂ    仮想ディスク
【図１】
0006476932.tif 000002
【図２】
0006476932.tif 000003
【図３】
0006476932.tif 000004
【図４】
0006476932.tif 000005
【図５】
0006476932.tif 000006
【図６】
0006476932.tif 000007
【図７】
0006476932.tif 000008
【図８】
0006476932.tif 000009
【図９】
0006476932.tif 000010
【図１０】
0006476932.tif 000011
【図１１】
0006476932.tif 000012
【図１２】
0006476932.tif 000013
【図１３】
0006476932.tif 000014
【図１４】
0006476932.tif 000015