(57)【特許請求の範囲】
【請求項１】
ストレージ装置への書込み対象データが分割されたチャンクを、当該チャンクが前記ストレージ装置に格納されていない場合に当該ストレージ装置に格納するとともに、優先度を付して記憶手段に格納するよう制御する格納制御手段と、
前記ストレージ装置から送信される識別情報に基づいて、読出し対象データに関する前記チャンクが前記記憶手段に格納されているかを判定する判定手段と、
前記判定手段による判定結果に基づいて、前記記憶手段及び前記ストレージ装置に格納された前記チャンクを用いて前記読出し対象データを構築する読出制御手段とを備え、
前記格納制御手段は、
前記書込み対象データの種類に基づいて前記記憶手段に格納される前記チャンクの前記優先度を決定し、
前記書込み対象データがバックアップデータである場合に、フルバックアップデータに関する前記チャンクに他のチャンクと比較して高い優先度を付与し、増分バックアップデータに関する前記チャンクに他のチャンクと比較して低い優先度を付与し、
さらに前記チャンクが前記記憶手段に格納されてからの時間に基づいて前記チャンクに対する優先度を決定し、
前記記憶手段の空き容量が所定の条件を満たす場合に、前記優先度が低い前記チャンクを前記記憶手段から削除する
制御装置。
【請求項２】
前記格納制御手段は、前記ストレージ装置における、前記チャンクが前記ストレージ装置に格納されているか否かの判定結果に基づいて前記記憶手段に格納される前記チャンクの前記優先度を決定する、請求項１に記載の制御装置。
【請求項３】
前記読出制御手段は、記憶手段に格納されている場合には記憶手段から読出して前記読出し対象データを構築する、請求項１または２に記載の制御装置。
【請求項４】
前記記憶手段を備える、請求項１から３のいずれか一項に記載の制御装置。
【請求項５】
請求項１から３のいずれか一項に記載の制御装置と、
前記制御装置の要求に基づいて、読出し対象データに関するチャンクを識別する識別情報を前記制御装置に送信する返信手段と、
読出し対象データに関する前記チャンクのうち、前記制御装置の記憶手段に未格納である前記チャンクを前記制御装置に送信するよう制御する読出制御手段と、
を備えるストレージ装置とを備えるストレージシステム。
【請求項６】
コンピュータが備える格納制御手段が、ストレージ装置への書込み対象データが分割されたチャンクを、当該チャンクが前記ストレージ装置に格納されていない場合に当該ストレージ装置に格納するとともに、優先度を付して記憶手段に格納するよう制御し、
前記コンピュータが備える判定手段が、前記ストレージ装置から送信される識別情報に基づいて、読出し対象データに関する前記チャンクが前記記憶手段に格納されているかを判定し
前記コンピュータが備える読出制御手段が、前記判定手段による判定結果に基づいて、前記記憶手段及び前記ストレージ装置に格納された前記チャンクを用いて前記読出し対象データを構築する制御方法であって、
前記格納制御手段は、
前記書込み対象データの種類に基づいて前記記憶手段に格納される前記チャンクの前記優先度を決定し、
前記書込み対象データがバックアップデータである場合に、フルバックアップデータに関する前記チャンクに他のチャンクと比較して高い優先度を付与し、増分バックアップデータに関する前記チャンクに他のチャンクと比較して低い優先度を付与し、
さらに前記チャンクが前記記憶手段に格納されてからの時間に基づいて前記チャンクに対する優先度を決定し、
前記記憶手段の空き容量が所定の条件を満たす場合に、前記優先度が低い前記チャンクを前記記憶手段から削除する
制御方法。
【請求項７】
コンピュータに、
ストレージ装置への書込み対象データが分割されたチャンクを、当該チャンクが前記ストレージ装置に格納されていない場合に当該ストレージ装置に格納するとともに、優先度を付して記憶手段に格納するよう制御する処理と、
前記ストレージ装置から送信される識別情報に基づいて、読出し対象データに関する前記チャンクが前記記憶手段に格納されているかを判定する処理と、
判定結果に基づいて、前記記憶手段及び前記ストレージ装置に格納された前記チャンクを用いて前記読出し対象データを構築する処理とを実行させるプログラムであって、
前記制御する処理では、
前記書込み対象データの種類に基づいて前記記憶手段に格納される前記チャンクの前記優先度を決定し、
前記書込み対象データがバックアップデータである場合に、フルバックアップデータに関する前記チャンクに他のチャンクと比較して高い優先度を付与し、増分バックアップデータに関する前記チャンクに他のチャンクと比較して低い優先度を付与し、
さらに前記チャンクが前記記憶手段に格納されてからの時間に基づいて前記チャンクに対する優先度を決定し、
前記記憶手段の空き容量が所定の条件を満たす場合に、前記優先度が低い前記チャンクを前記記憶手段から削除する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ストレージシステム、制御方法及びプログラムに関する。
【背景技術】
【０００２】
ストレージシステムにおいて、重複排除機能が用いられつつある。重複排除機能が用いられることで、ストレージシステムにおいて必要とされるストレージ領域やストレージシステムへの書込みに際して必要とされる通信ネットワーク帯域の効率化が可能となる。
【０００３】
特許文献１には、ストレージシステムの実際の運用において実施可能な重複排除機能を提供し、重複排除処理後のデータから元のデータ復元に要する時間を短縮することができる格納データの重複排除方法等が記載されている。
【０００４】
また、特許文献２には、同一データの重複度が適度に制御され、過度の重複の排除と並列アクセスの両立を実現することができる自律分散重複排除ファイルシステム等が記載されている。
【０００５】
また、特許文献３には、格納するデータの重複排除を実現しつつ、性能の向上を図ることができるストレージシステムが記載されている。特許文献３に記載のストレージシステムは、重要度スコアの値に応じて、重複排除処理を主に実行するノードを切替えている。そのため、特許文献３に記載のストレージシステムは、アクセラレータノードの処理負荷を抑制しつつ、アクセラレータノードとストレージノードとの間における通信量を削減することができる。
【０００６】
また、特許文献４には、ストレージシステム等が記載されている。特許文献４に記載の技術では、ページの割当てに十分活用されていない特定管理単位を仮想ボリュームへの割当てから解放する。そして、特許文献４に記載の技術では、この特定管理単位に属する割当て済みページを、他の管理単位に移動させることにより、特定管理単位の記憶領域を他の仮想ボリュームへのホスト計算機からのライトアクセスに供するようにする。
【０００７】
また、特許文献５には、キャッシュ保存プログラム等が記載されている。特許文献５に記載の技術では、通信装置は、データの重複の特性を考慮して、キャッシュ保存領域にデータを保存するので、キャッシュ保存領域を効率的にヒットさせることが可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２０１３／０５１１２９号
【特許文献２】特開２０１４−１６０３１１号公報
【特許文献３】特開２０１１−１７５４２１号公報
【特許文献４】特表２０１２−５３３０９９号公報
【特許文献５】特開２０１５−２０１０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
重複排除機能が用いられているストレージシステムからのデータの読み出しに際しては、全てのデータがストレージから読み出される。したがって、重複排除機能が用いられているストレージシステムにおいても、格納されたデータが読み出される場合には、大きなネットワーク帯域が必要とされる。すなわち、上述した各特許文献に記載の技術では、データが読出される場合における処理の効率化に関しては、特段の考慮がなされていない。
【００１０】
本発明は、上記課題を解決するためになされたものであって、データの読出し処理を効率化するストレージシステム等を提供することを主たる目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様における制御装置は、ストレージ装置への書込み対象データが分割されたチャンクを、ストレージ装置又は優先度を付して記憶手段に格納するよう制御する格納制御手段と、ストレージ装置から送信される識別情報に基づいて、読出し対象データに関するチャンクが記憶手段に格納されているかを判定する判定手段と、判定結果に基づいて、記憶手段及びストレージ装置に格納されたチャンクを用いて読出し対象データを構築する読出制御手段とを備える。
【００１２】
本発明の一態様におけるストレージシステムは、制御装置と、制御装置の要求に基づいて、読出し対象データに関するチャンクを識別する識別情報を制御装置に送信する返信手段と、読出し対象データに関するチャンクのうち、制御装置の記憶手段に未格納であるチャンクを制御装置に送信するよう制御する読出制御手段とを備えるストレージ装置とを備える。
【００１３】
本発明の一態様における制御方法は、ストレージ装置への書込み対象データが分割されたチャンクを、ストレージ装置又は優先度を付して記憶手段に格納するよう制御し、ストレージ装置から送信される識別情報に基づいて、読出し対象データに関するチャンクが記憶手段に格納されているかを判定し、判定結果に基づいて、記憶手段及びストレージ装置に格納されたチャンクを用いて読出し対象データを構築する。
【００１４】
本発明の一態様におけるプログラムは、コンピュータに、ストレージ装置への書込み対象データが分割されたチャンクを、ストレージ装置又は優先度を付して記憶手段に格納するよう制御する処理と、ストレージ装置から送信される識別情報に基づいて、読出し対象データに関するチャンクが記憶手段に格納されているかを判定する処理と、判定結果に基づいて、記憶手段及びストレージ装置に格納されたチャンクを用いて読出し対象データを構築する処理とを実行させる。
【発明の効果】
【００１５】
本発明によると、データの読出し処理を効率化するストレージシステム等を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態における制御装置、ストレージ装置及びストレージシステムの構成を示す図である。
【図２】発明の第１の実施形態におけるストレージシステムが複数の制御装置又はストレージ装置を有する場合の構成を示す例である。
【図３】本発明の第１の実施形態におけるストレージシステムにおけるデータの書込みの基本的な動作の一例を示す図である。
【図４】本発明の第１の実施形態におけるストレージシステムにおけるデータの読出しの基本的な動作の一例を示す図である。
【図５】本発明の第１の実施形態におけるストレージシステムにバックアップデータが格納される場合の基本的な動作の一例を示す図である。
【図６】本発明の第１の実施形態におけるストレージシステムにおけるデータの書込みの動作例を示す図である。
【図７】本発明の第１の実施形態におけるストレージシステムにおけるデータの読出しの動作例を示す図である。
【図８】本発明の第１の実施形態におけるストレージシステムにバックアップデータが格納される場合の動作例を示す図である。
【図９】本発明の第１の実施形態におけるストレージシステム等の書込みに関する動作の一例を示すフローチャートである。
【図１０】本発明の第１の実施形態におけるストレージシステム等の読出しに関する動作の一例を示すフローチャートである。
【図１１】本発明の実施形態における制御装置等を実現する情報処理装置の一例を示す図である。
【発明を実施するための形態】
【００１７】
本発明の各実施形態について、添付の図面を参照して説明する。本発明の実施形態において、例えば後述する制御装置等の各装置の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部又は全部は、例えば図１１に示すような情報処理装置５００とプログラムとの任意の組み合わせにより実現される。情報処理装置５００は、一例として、以下のような構成を含む。
【００１８】
・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１
・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３
・ＲＡＭ５０３にロードされるプログラム５０４
・プログラム５０４を格納する記憶装置５０５
・記録媒体５０６の読み書きを行うドライブ装置５０７
・通信ネットワーク５０９と接続する通信インターフェース５０８
・データの入出力を行う入出力インターフェース５１０
・各構成要素を接続するバス５１１
各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム５０４をＣＰＵ５０１が取得して実行することで実現される。各装置の各構成要素の機能を実現するプログラム５０４は、例えば、予め記憶装置５０５やＲＡＭ５０３に格納されており、必要に応じてＣＰＵ５０１が読み出す。なお、プログラム５０４は、通信ネットワーク５０９を介してＣＰＵ５０１に供給されてもよいし、予め記録媒体５０６に格納されており、ドライブ装置５０７が当該プログラムを読み出してＣＰＵ５０１に供給してもよい。
【００１９】
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個の情報処理装置５００とプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つの情報処理装置５００とプログラムとの任意の組み合わせにより実現されてもよい。
【００２０】
また、各装置の各構成要素の一部又は全部は、プロセッサ等を含む汎用または専用の回路（ｃｉｒｃｕｉｔｒｙ）やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【００２１】
（第１の実施形態）
続いて、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態における制御装置、ストレージ装置及びストレージシステムの構成を示す図である。図２は、発明の第１の実施形態におけるストレージシステムが複数の制御装置又はストレージ装置を有する場合の構成を示す例である。図３は、本発明の第１の実施形態におけるストレージシステムにおけるデータの書込みの基本的な動作の一例を示す図である。図４は、本発明の第１の実施形態におけるストレージシステムにおけるデータの読出しの基本的な動作の一例を示す図である。図５は、本発明の第１の実施形態におけるストレージシステムにバックアップデータが格納される場合の基本的な動作の一例を示す図である。図６は、本発明の第１の実施形態におけるストレージシステムにおけるデータの書込みの動作例を示す図である。図７は、本発明の第１の実施形態におけるストレージシステムにおけるデータの読出しの動作例を示す図である。図８は、本発明の第１の実施形態におけるストレージシステムにバックアップデータが格納される場合の動作例を示す図である。図９は、本発明の第１の実施形態におけるストレージシステム等の書込みに関する動作の一例を示すフローチャートである。図１０は、本発明の第１の実施形態におけるストレージシステム等の読出しに関する動作の一例を示すフローチャートである。図１１は、本発明の実施形態における制御装置等を実現する情報処理装置の一例を示す図である。
【００２２】
なお、本実施形態におけるストレージシステムは、一般的な重複排除機能を備えることを想定する。すなわち、ストレージに対してデータが格納される際には、書込みの対象となるデータ（以下「書込み対象データ」と称する）がチャンクと呼ばれる単位に分割される。また、チャンクに対してハッシュ値等のチャンクを識別する情報が求められる。各々のチャンクは、予め定められた大きさ（すなわち、固定長）であってもよいし、それぞれ異なる大きさ（すなわち、可変長）であってもよい。そして、ハッシュ値に基づいて、チャンクが既にストレージ装置に格納されているか否かが判定される。判定の結果として、ストレージ装置に未格納であるデータがストレージに格納される。
【００２３】
まず、本発明の第１の実施形態におけるストレージステムの概要について説明する。
【００２４】
本実施形態におけるストレージシステムは、一般的な重複排除機能を備える。また、ストレージシステムは、制御装置を備えたサーバと、ストレージ装置とを有する。制御装置には、ローカルの記憶部として、ストレージ装置と比較して高速にアクセスが可能な記憶部が用意されている。
【００２５】
図３及び４は、一般的な重複排除機能を備えたストレージシステムの制御装置に、記憶部が設けられた場合におけるデータの書込み又は読出しの処理をそれぞれ示す図である。図３に示す例では、ストレージシステムは、本実施形態におけるストレージシステムと同様に、制御装置を備えたサーバと、ストレージ装置とを有することを想定する。
【００２６】
上述したように、一般的な重複排除機能を備えたストレージシステムに対してデータが書込まれる際には、書込み対象データがチャンクと呼ばれる単位に分割される。図３又は４に示す例では、書込み対象データは、チャンクＡからチャンクＥまでの５つのチャンクに分割される。図３に示す例では、チャンクＡ、Ｃ及びＤの３つのチャンクが予めストレージ装置に格納済であると想定されている。また、チャンクＡ及びＣが予めローカルの記憶部に格納されていると想定されている。この場合には、動作の一例として、ストレージ装置に未格納であるチャンクＢ及びＥの２つのチャンクが、サーバからストレージ装置への転送と併せてローカルの記憶部に格納される。
【００２７】
本実施形態におけるストレージシステムからデータが読出される際には、ローカルの記憶部に格納されたチャンクが用いられる。すなわち、制御装置においては、読出しの対象となるチャンクのハッシュ値がストレージ装置に照会される。続いて、ハッシュ値を用いて、当該チャンクがローカルの記憶部に存在するかが確認される。その結果、読出しの対象となるチャンクがローカルの記憶部に格納されていると確認された場合には、当該チャンクはローカルの記憶部から読出される。
【００２８】
図４に示す例では、チャンクＡ、Ｂ，Ｃ及びＥの４つのチャンクがサーバに設けられたローカルの記憶部に格納済であると想定されている。そして、読出し対象データは、チャンクＡからＥまでの５つのチャンクにて構成される。この場合には、読出し対象データの構築に際して、チャンクＡ、Ｂ，Ｃ及びＥは、ローカルの記憶部から読出される。ストレージ装置からは、チャンクＤが転送される。すなわち、本実施形態におけるストレージシステムでは、一般的な重複排除機能を備えたストレージシステムと比較して、データの読出しに際してストレージ装置から転送されるデータの量が削減される。
【００２９】
すなわち、制御装置が記憶部を備えることで、本実施形態におけるストレージシステムは、データの読出し処理が効率化される。
【００３０】
しかしながら、制御装置を実現するサーバに対して用意されている記憶部の容量は、ストレージ装置の記憶容量と比較して小さい場合がある。記憶部に空き容量がない場合には、新たなチャンクの格納に際して、記憶部に予め格納されたチャンクが削除される場合がある。そして、記憶部に予め格納されたチャンクの削除に際しては、削除されるチャンクの決定方法に更なる改善の余地があると考えられる。
【００３１】
図５は、ストレージ装置にデータが繰り返して書き込まれる場合に、サーバに対して用意された記憶部に格納されるチャンクの例を示す。図５に示す例では、繰り返し書き込まれるデータは、バックアップデータとなる。この例では、初回の書込みでは、いわゆるフルバックアップが行われる。すなわち、バックアップ対象となるデータの全てが書込まれる。その後の書込みでは、いわゆる増分バックアップが行われる。すなわち、バックアップ対象となるデータのうち、内容が追加又は変更されたデータのみがバックアップデータとして書込まれる。また、記憶部は、６つのチャンクを格納することが可能であり、空き容量がない場合には、最も前の時期に格納された（言い換えると、最も古い）チャンクから順に削除されることが想定される
図５に示す例では、初回のフルアップバックにおいては、書込み対象データは、例えばチャンクＡからＥの５つに分割される。５つのチャンクは、ストレージ装置及び制御装置に用意された記憶部に格納される。
【００３２】
続いて、増分バックアップの際には、内容の追加又は変更に応じて、例えばフルバックアップにおけるデータのチャンクＤに相当する箇所が更新される。
１回目の増分バックアップの際には、チャンクＤに相当する箇所のチャンクがチャンクＦに更新される。チャンクＦはサーバに用意された記憶部に格納される。この場合に、記憶部には空きがあるため、チャンクＦは他のチャンクの削除を伴わずに記憶部に格納される。
【００３３】
２回目の増分バックアップの際には、チャンクＦに相当する箇所のチャンクがチャンクＧに更新される。チャンクＧはサーバに用意された記憶部１４０に格納される。しかし、記憶部１４０には空き容量がないため、チャンクＧの記憶部１４０への格納に伴って、記憶部１４０に格納されたチャンクの１つが削除される。図５に示す例では、最も前の時期に格納されたチャンクの１つであるチャンクＡが削除される。
【００３４】
同様に、３回目以降の増分バックアップの際には、元のチャンクＤに相当する箇所のチャンクが順次更新される。更新されたチャンクは、チャンクＦ又はＧと同様に記憶部１４０に格納される。そして、更新されたチャンクの格納に伴って、記憶部１４０に格納されていたチャンクが上述の順で削除される。図５に示す例では、フルバックアップの際に格納されたチャンクが順次削除される。６回目の増分バックアップが行われた後には、記憶部にはチャンクＦ、Ｇ、Ｈ、Ｉ、Ｊ及びＫの６つのチャンクが格納される。
【００３５】
６回の増分バックアップが行われた後に、バックアップデータのリストアが行われる場合を想定する。図６は、リストアが行われる場合のチャンクの読出し手順の一例を示す。図５及び６に示す例では、バックアップデータは、チャンクＡ、Ｂ、Ｃ、Ｋ及びＥの５つのチャンクにて構成される。したがって、記憶部に格納されるチャンクのうち、リストアに用いられるチャンクはチャンクＫの一つである。したがって、チャンクＡ、Ｂ、Ｃ及びＥがストレージ装置から読出され、チャンクＫが記憶部から読出されることで、バックアップデータが構築される。
【００３６】
図５又は６に示す例では、記憶部に格納されたチャンクの１つが用いられることで、ストレージ装置から転送されるデータの量は削減される。すなわち、データの読出し処理は効率化される。しかしながら、記憶部に格納されたチャンクのうち、チャンクＦからＪは、上述したバックアップデータのリストアには用いられないチャンクである。すなわち、記憶部から削除されるチャンクの選択を変更することで、データの読出し処理の更なる効率化が可能であると考えられる。図５又は６に示す例では、チャンクＡ、Ｂ、Ｃ，Ｅが記憶部に格納されていれば、ストレージ装置からこれらを読出すことなくバックアップデータのリストアが可能である。
【００３７】
そこで、本実施形態におけるストレージシステムでは、サーバ等に設けられる制御装置が記憶部を備え、更に、記憶部１に格納されるチャンクの各々に対して優先度を付与する。すなわち、記憶部に空き容量がない場合には、高い優先度が付与されたチャンクが記憶部に残り、低い優先度が付与されたチャンクが記憶部から削除されるように制御される。
【００３８】
図７は、図５に示す例と同様に、ストレージ装置にデータが繰り返して書き込まれる場合において、サーバに対して用意された記憶部に格納されるチャンクの例を示す。図５に示す例と同様に、繰り返し書き込まれるデータはバックアップデータであることを想定する。また、図５に示す例と同様に、初回の書込みではフルバックアップが行われ、以降の書込みでは増分バックアップが行われるとする。また、フルバックアップの際に記憶部１４０に格納されるチャンクには他と比較して高い優先度が設定され、増分バックアップの際に記憶部１４０に格納されるチャンクには他と比較して低い優先度が設定されるとする。
【００３９】
図７に示す例において、フルバックアップ及び増分バックアップの１回目においては、記憶部に格納されるチャンクは図５と同じである。この場合に、記憶部に格納されたチャンクのうち、チャンクＡ、Ｂ、Ｃ、Ｄ及びＥには他と比較して高い優先度が付与され、チャンクＦには他と比較して低い優先度が付与される。
【００４０】
増分バックアップの２回目には、チャンクＧが記憶部に格納される。しかし、記憶部に空き容量がないため、記憶部に格納されているチャンクのいずれかが削除される。この場合には、優先度に従って削除されるチャンクが決定される。
【００４１】
図７に示す例では、上述のように、１回目の増分バックアップにて格納されたチャンクＦに対して低い優先度が付与されている。したがって、２回目の増分バックアップの際には、チャンクＦが削除されてチャンクＧがサーバに用意された記憶部に格納される。
【００４２】
以降の増分バックアップに伴って書込みが行われる場合においても、同様に増分バックアップの際に格納されたチャンクには、低い優先度が付与される。したがって、記憶部へのチャンクが格納される場合際には、削除されて新たなチャンクが格納される。
【００４３】
図７に示す例においても、６回の増分バックアップが行われた後に、バックアップデータのリストアが行われる場合を想定する。図８は、図７に示す例にてリストアが行われる場合のチャンクの読出し手順の一例を示す。図７及び８に示す例では、バックアップデータは、チャンクＡ、Ｂ、Ｃ、Ｋ及びＥの５つのチャンクにて構成される。これらのチャンクは、いずれも記憶部に格納されている。したがって、記憶部に格納されるチャンクのみを用いてバックアップデータの構築が行われる。すなわち、図７及び８に示す例では、ストレージ装置から制御装置を備えたサーバへデータを転送することなくバックアップデータが構築される。
【００４４】
上述した概略のように、記憶部１４０に格納されるチャンクに優先度が付与されることで、本実施形態におけるストレージシステムは、データの読出し処理の更なる効率化を可能とする。
【００４５】
次に、本発明の第１の実施形態におけるストレージシステムの構成の概要を説明する。
【００４６】
図１に示すとおり、本発明の第１の実施形態におけるストレージシステム１０は、制御装置１１及びストレージ装置１２を有する。制御装置１１は、少なくとも、図中の一点鎖線で囲われた領域に含まれている、格納制御部１１０と、判定部１２０と、読出制御部１３０とを備える。また、制御装置１１は、記憶部１４０及びハッシュテーブル１５０を備える。本実施形態においては、制御装置１１は、この他に、重複排除機能を備えたストレージ装置へアクセスする一般的なサーバと同様に分割部１６０及び算出部１７０を備えることを想定する。
【００４７】
格納制御部１１０は、ストレージ装置１２への書込み対象データに関するチャンクに優先度を付して記憶部１４０に格納するよう制御する。また、格納制御部１１０は、ストレージ装置１２への書込み対象データに関するチャンクをストレージ装置１２に格納するよう制御する。本実施形態において、チャンクは、ストレージ装置１２への書込み対象データが任意の数に分割された場合のデータの単位を示す。判定部１２０は、ストレージ装置１２から送信されるハッシュ値等の識別情報に基づいて、読出しの対象となるデータ（以下、「読出し対象データ」と称する）に関するチャンクが記憶部１４０に格納されているかを判定する。読出制御部１３０は、判定部１２０による判定結果に基づいて、記憶部１５０及びストレージ装置１２に格納されたチャンクを用いて読出し対象データを構築する。記憶部１４０は、分割部１６０にて分割されたチャンクを格納する。記憶部１４０は、以下の説明にて「ローカルの記憶部」と称される場合がある。ハッシュテーブル１５０は、記憶部１４０に格納されたチャンクに対するハッシュ値を格納する。分割部１６０は、ストレージ装置１２への書込み対象データを任意の数のチャンクに分割する。算出部１７０は、分割部１６０にて生成されたチャンクの各々について、ハッシュ値を算出する。なお、本実施形態においては、ハッシュ値は、チャンクの各々を区別する識別情報として用いられる。
【００４８】
ストレージ装置１２は、記憶部２１０と、ハッシュテーブル２２０と、格納部２３０と、返信部２４０と、転送部２５０と、重複判定部２６０とを備える。記憶部２１０は、チャンクに分割されたデータを格納する。ハッシュテーブル２２０は、記憶部２１０に格納されたチャンクに対するハッシュ値を格納する。重複判定部２６０は、制御装置１１の算出部１７０にて算出されたハッシュ値に基づいて、当該ハッシュ値に関するチャンクが記憶部２１０に格納されているか否かを判定する。格納部２３０は、制御装置１１の格納制御部１１０から送られたチャンクを記憶部２１０に格納する。返信部２４０は、制御装置１１の要求に基づいて、読出し対象データに関するチャンクを識別するハッシュ値を制御装置１１の判定部１２０に送信する。転送部２５０は、読出し対象データに関するチャンクのうち、制御装置１１の記憶部１４０に未格納であるチャンクを記憶部２１０から取得して制御装置１１に送信するよう制御する。
【００４９】
本実施形態においては、制御装置１１は、ストレージ装置１２に対してデータの書込みや読出しを行うサーバ等に設けられる。すなわち、制御装置１００は、図１１に示す情報処理装置５００等であるサーバにおいて動作するプログラムとして実現される。この場合に、サーバは、例えば上述した図８に示す情報処理装置５００のような構成を備える。ただし、制御装置１００は、他の態様にて実現されてもよい。
【００５０】
また、本実施形態においては、ストレージシステム１０は、例えばデータのバックアップを行うストレージである。すなわち、制御装置１１が設けられたサーバは、例えばデータのバックアップを行うバックアップサーバである。また、ストレージ装置１２は、例えばバックアップストレージである。ただし、本実施形態におけるストレージシステム１０は、例えばファイルサーバ等の他の用途に用いられてもよい。
【００５１】
なお、図１に示すストレージシステム１０は、それぞれ１つの制御装置１１及びストレージ装置１２を有する。しかしながら、制御装置１１又はストレージ装置１２の数は特に限定されない。すなわち、図２に示す例のように、ストレージシステム１０は、制御装置１１−１から１１−Ｎ及びストレージ装置１２−１から１２−Ｎを有してもよい。この場合に、制御装置１１−１から１１−Ｎの各々は、ストレージ装置１２−１から１２−Ｎのいずれをデータの書込みや読出しの対象としてもよい。
【００５２】
次に、本発明の第１の実施形態におけるストレージシステム１０の各構成要素の詳細について説明する。最初に、ストレージシステム１０が有する制御装置１１の各構成要素の詳細について説明する。
【００５３】
格納制御部１１０は、チャンクをローカルの記憶部である記憶部１４０又はストレージ装置１２に格納するよう制御する。格納制御部１１０は、ストレージ装置１２の重複判定部２６０によって記憶部２１０に未格納であると判定されたチャンクを、記憶部２１０に格納するよう制御する。この制御は、一般的な重複排除機能を備えたストレージ装置へアクセスする一般的なサーバにおける制御と同様である。併せて、格納制御部１１０は、ストレージ装置１２への書込み対象データに関するチャンクを、記憶部１４０に格納する。先に概要として説明したように、記憶部１４０に格納されたチャンクは、当該チャンクに関連するデータが読出し対象データとされた場合に用いられる。
【００５４】
格納制御部１１０が記憶部１４０に格納するデータは特に限定されず、ストレージ装置１２への書込み対象データに関するチャンクであればよい。すなわち、格納制御部１１０は、ストレージ装置１２の重複判定部２６０が記憶部２１０に未格納であると判定したチャンクを記憶部１４０に格納してもよい。又は、格納制御部１１０は、チャンクが記憶部２１０に格納済であると重複判定部２６０に判定された場合であっても、当該チャンクが記憶部１４０に未格納である場合には、当該チャンクを記憶部１４０に格納してもよい。
【００５５】
チャンクが記憶部１４０へ格納される際には、記憶部１４０の構成等に応じた時間を要する。しかしながら、一般的に、その時間は、チャンクがストレージ装置１２の記憶部２１０へ格納される場合に要する時間と比較すると短い。したがって、格納制御部１１０は、記憶部２１０に未格納であるチャンクを記憶部１４０に格納することで、記憶部１４０への格納に要する時間が実質的に隠蔽される。
【００５６】
また、格納制御部１１０は、チャンクの各々に付された優先度に基づいて、記憶部１４０に格納されるチャンクの管理を行う。
【００５７】
例えば、格納制御部１１０がチャンクを格納する場合に、記憶部１４０にチャンクを格納する空き容量がない場合がある。この場合には、格納制御部１１０は、記憶部１４０に格納されたチャンクの一部を削除して、新たなチャンクを格納する領域を確保する。格納制御部１１０は、記憶部１４０に格納されたチャンクの各々に対して付与された優先度に基づいて、削除するチャンクを決定する。この場合に、格納制御部１１０は、相対的に高い優先度が付与されたチャンクを削除せずに記憶部１４０に残し、相対的に低い優先度が付与されたチャンクを記憶部１４０から削除するように記憶部１４０を管理する。
【００５８】
格納制御部１１０によってチャンクに付与される優先度の高さは、様々な方法で決定される。一例として、格納制御部１１０は、記憶部１４０に格納するチャンクの元となる書き込み対象データの種類に応じて優先度の高さを決定する。
【００５９】
上述のように、例えば書き込み対象データがバックアップデータである場合には、格納制御部１１０は、フルバックアップに関するチャンクであるか、又は増分バックアップに関するチャンクであるかに応じて優先度の高さを決定する。すなわち、格納制御部１１０は、フルバックアップに関するチャンクに対して相対的に高い優先度を、増分バックアップに関するチャンクに対して相対的に低い優先度を付与する。増分バックアップに関するデータのチャンクは、フルバックアップに関するデータのチャンクと比較して、短い期間で必要性が低下する場合が多い。したがって、格納制御部１１０がこのような優先度を付与することで、データの読出し処理の効率化が可能となる。
【００６０】
格納制御部１１０は、記憶部１４０に格納されるチャンクの元となる書き込み対象データの種類等に基づいて、読み出される可能性が高いと予想されるチャンクに他と比較して高い優先度を付与してもよい。
【００６１】
別の方法として、格納制御部１１０は、ストレージ装置１２の重複判定部２６０における判定の結果に基づいて、優先度の高さを決定してもよい。
この場合には、格納制御部１１０は、例えば、未格納であると判定されて新たに記憶部１４０に格納されるチャンクには相対的に低い優先度を付与する。そして、重複判定部２６０によってストレージ装置１２に格納済であると判定されたチャンクが記憶部１４０に格納されている場合には、当該チャンクの優先度を相対的に高くするように更新する。格納制御部１１０がこのような優先度を付与することで、例えば読出される可能性がデータに関して読出し処理の効率化が可能となる。
【００６２】
なお、この場合には、チャンクの各々に付与される優先度の高さは、上述した例と逆であってもよい。例えば、格納制御部１１０は、未格納であると判定され、新たに記憶部１４０に格納されるチャンクには相対的に低い優先度を付与してもよい。
【００６３】
格納制御部１１０は、格納からの時間等に応じて、記憶部１４０に格納されているチャンクの優先度を変化させてもよい。例えば、格納制御部１１０は、記憶部１４０への書込み時に設定した優先度を予め定めた期間毎等に減少させるように、記憶部１４０に格納されているチャンクの優先度を更新してもよい。
【００６４】
この他に、格納制御部１１０は、上述した手法を組み合わせて、チャンクに付与する優先度の高さを決定してもよい。例えば、格納制御部１１０は、チャンク毎に優先度を変えて付与し、かつ、格納からの時間に応じて、付与した優先度を更新してもよい。
【００６５】
この例では、データがバックアップデータである場合には、格納制御部１１０は、フルバックアップに関するチャンクに「８」との優先度を、増分バックアップに関するチャンクに「１」との優先度を付与して記憶部１４０に格納する。そして、格納制御部１１０は、各々のチャンクに付与された優先度を一日に１ずつ減ずるように更新する。
【００６６】
この例において、フルバックアップが週に一度実行される場合には、バックアップデータのリストアの実行の際には、直近のフルバックアップ又は増分バックアップに関するチャンクが優先して記憶部１４０に格納された状態となる。これは、直近の一つ前に実行されたフルバックアップに関するチャンクの優先度は、直近のフルバックアップに対する増分バックアップに関するチャンクの優先度と比較して小さくなるためである。
【００６７】
したがって、記憶部１４０に格納されたチャンクが用いたリストアが可能となり、結果としてデータの読出し処理が効率化される。
【００６８】
なお、格納制御部１１０は、記憶部１４０の空き容量がない場合に限らず、当該空き容量が予め定めた大きさになる等、記憶部１４０の空き容量が予め定めた条件を満たす場合に記憶部１４０に格納されたチャンクを削除してもよい。
【００６９】
また、格納制御部１１０は、記憶部１４０へチャンクを格納する際に、併せてチャンクに対応するハッシュ値をハッシュテーブル１５０へ格納する。本実施形態においては、ストレージシステム１０におけるハッシュ値の求め方や形式は特に限定されない。すなわち、ハッシュ値は、記憶部１４０又は２１０に格納されるチャンクの各々を識別可能にする情報であればよい。
【００７０】
判定部１２０は、読出し対象データに関するチャンクが記憶部１４０に格納されているかを判定する。判定部１２０は、ストレージ装置１２から送信されるハッシュ値に基づいて、チャンクが記憶部１４０に格納されているかを判定する。
【００７１】
判定部１２０は、ストレージ装置１２に対して、読出し対象データに関するハッシュ値を照会する。この場合には、ストレージ装置１２が備える返信部２４０が、読出し対象データを構成するチャンクの各々に対するハッシュ値を判定部１２０に返信する。判定部１２０は、返信部２４０から返信されたハッシュ値と、制御装置１１が備えるハッシュテーブル１５０に保存されているハッシュ値の各々とを比較することで、チャンクが記憶部１４０に格納されているかを判定する。すなわち、判定部１２０は、ハッシュテーブル１５０に保存されているハッシュ値のいずれかが返信部２４０から返信されたハッシュ値と一致する場合に、当該ハッシュ値に関連するチャンクが記憶部１４０に格納されていると判定する。
【００７２】
読出制御部１３０は、判定部１２０による判定結果に基づいて、読出し対象データを構築する。読出制御部１３０は、読出し対象データに関するチャンクが記憶部１４０に存在すると判定された判定部１２０によって場合には、チャンクを記憶部１４０から読出す。読出制御部１３０は、読出し対象データに関するチャンクが記憶部１４０に存在しないと判定された場合には、当該チャンクをストレージ装置１２の転送部２５０を介して取得する。
【００７３】
読出制御部１３０は、読出し対象データに関する全てのチャンクを取得すると、読出し対象データを構築する。構築された読出し対象データは、当該データの要求元等へ適宜送信される。
【００７４】
このように、読出制御部１３０が、読出し対象データの構築に際して記憶部１４０に格納されたチャンクを用いることで、ストレージ装置１２から制御装置１１へ転送されるデータの量が削減される。
【００７５】
記憶部１４０は、分割部１６０にて分割されたチャンクを格納する。上述のように、記憶部１４０に格納されたチャンクは、ストレージシステム１０からのデータの読出しに際して用いられる。
【００７６】
記憶部１４０は、ストレージ装置１２と比較して、制御装置１１の各構成要素から高速なアクセスが可能であることが好ましい。一例として、記憶部１４０は、制御装置１１を実現するサーバが内蔵する記憶装置を用いて実現されることが好ましい。サーバが内蔵する記憶装置として、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等が用いられる。また、記憶部１４０は制御装置１１と通信ネットワークを介して接続される態様であってもよい。例えば、記憶部１４０は、ストレージ装置１２と比較して、帯域の広い通信ネットワークを介して接続されているＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）等の記憶装置であってもよい。この場合に、記憶部１４０は制御装置１１とを接続する通信ネットワークは、制御装置１１とストレージ装置１２とを接続する通信ネットワークと比較して、例えば転送速度が速く、帯域が広いことが好ましい。
【００７７】
記憶部１４０の容量は、ストレージ装置１２の記憶部２１０と比較して小さくてよい。すなわち、記憶部１４０は、ストレージ装置１２に格納されるチャンクの一部を格納する構成であればよい。
【００７８】
ハッシュテーブル１５０は、記憶部１４０に格納されたチャンクに対するハッシュ値を格納する。本実施形態においては、例えば記憶部１４０の一部がハッシュテーブル１５０として用いられる。
【００７９】
分割部１６０及び算出部１７０は、重複排除機能を備えたストレージシステムが一般に備える要素である。すなわち、分割部１６０は、ストレージ装置１２への書込み対象データを任意の数のチャンクに分割する。上述のように、分割部１６０は、チャンクの各々が同じ大きさとなるように分割してもよいし、チャンクの大きさがそれぞれ異なるように分割してもよい。
【００８０】
また、算出部１７０は、分割部１６０にて生成されたチャンクの各々について、ハッシュ値を算出する。算出部１７０は、算出したハッシュ値をストレージ装置１２へ送信して、ハッシュ値に対応するチャンクがストレージ装置１２に格納済であるかを照会する。ストレージ装置１２においては、当該ハッシュ値に基づいて、ハッシュ値に対応するチャンクがストレージ装置１２に格納済であるかを判定する。
【００８１】
続いて、ストレージシステム１０が有するストレージ装置１２の各構成要素の詳細について説明する。
【００８２】
記憶部２１０は、ストレージ装置１２として、チャンクに分割されたデータを格納する。記憶部２１０は、ＨＤＤやＳＳＤ等の不揮発性の記憶装置を用いて実現される。また、記憶部２１０は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）の構成であってもよい。
【００８３】
ハッシュテーブル２２０は、記憶部２１０に格納されたチャンクの各々に対するハッシュ値を格納する。
【００８４】
重複判定部２６０は、チャンクが記憶部２１０に格納されているか否かを判定する。重複判定部２６０は、一般的な重複排除機能を備えるストレージシステムと同様に、制御装置１１の算出部１７０にて算出されたハッシュ値に基づいて、当該ハッシュ値に対応するチャンクが記憶部２１０に格納されているかを判定する。すなわち、重複判定部２６０は、制御装置１１の算出部１７０にて算出されたハッシュ値を取得し、当該ハッシュ値とハッシュテーブル２２０に格納されたハッシュ値の各々とを比較する。そして、重複判定部２６０は、当該ハッシュ値とハッシュテーブル２２０に格納されたハッシュ値のいずれかと一致する場合に、当該ハッシュ値に対応するチャンクが記憶部２１０に格納されていると判定する。重複判定部２６０は、当該ハッシュ値とハッシュテーブル２２０に格納されたハッシュ値のいずれとも一致する場合に、当該ハッシュ値に対応するチャンクが記憶部２１０に格納されていないと判定する。
【００８５】
格納部２３０は、制御装置１１の格納制御部１１０から送信されたチャンクを記憶部２１０に格納する。格納部２３０は、チャンクと併せて当該チャンクに対応するハッシュ値を取得してハッシュテーブル２２０へ格納する。
【００８６】
返信部２４０は、制御装置１１の判定部１２０からの照会に基づいて、読出し対象データに関するチャンクに対するハッシュ値を制御装置１１の判定部１２０に送信する。判定部１２０は、返信部２４０から取得したハッシュ値を用いて、当該ハッシュ値に対するチャンクが記憶部１４０に格納されているかを判定する。
【００８７】
転送部２５０は、読出し対象データに関するチャンクを記憶部２１０から取得して制御装置１１に送信するよう制御する。制御装置１１の読出制御部１３０は、読出し対象データに関するチャンクが記憶部１４０に存在しない場合に、ストレージ装置１２からチャンクを取得する。すなわち、転送部２５０は、制御装置１１の記憶部１４０に未格納であるチャンクを制御装置１１に送信するよう制御する。
【００８８】
次に、図９及び１０に示すフローチャートを参照して、本発明の第１の実施形態におけるストレージシステム１０又はその各構成要素の動作の詳細について説明する。
【００８９】
まず、図９に示すフローチャートを参照して、本発明の第１の実施形態におけるストレージシステム１０の主に制御装置１１の書込みの動作の詳細を説明する。
【００９０】
最初に、制御装置１１の分割部１６０は、書込み対象データをチャンクに分割する（ステップＳ１０１）。次に、算出部１７０は、ステップＳ１０１にて求められたチャンクに対して、ハッシュ値を計算する（ステップＳ１０２）。
【００９１】
次に、算出部１７０は、ステップＳ１０２にて求めたハッシュ値をストレージ装置１２へ送信して、ハッシュ値に対応するチャンクがストレージ装置１２に格納済であるかを照会する（ステップＳ１０３）。ストレージ装置１２においては、重複判定部２６０が、ハッシュ値に対応するチャンクがストレージ装置１２に格納済であるかを判定する。
【００９２】
重複判定部２６０において、チャンクがストレージ装置１２に未格納であると判定された場合（ステップＳ１０４：Ｎｏ）には、制御装置１１の格納制御部１１０は、当該チャンクをストレージ装置１２へ格納する。すなわち、格納制御部１１０は、当該チャンクをストレージ装置１２へ転送する（ステップＳ１０５）。ストレージ装置１２では、格納部２３０がチャンクを取得すると、取得したチャンクを記憶部２１０へ格納する。格納部２３０は、チャンクに対応するハッシュ値をチャンクと併せて取得し、ハッシュテーブル２２０へ格納する。
【００９３】
なお、重複判定部２６０において、チャンクがストレージ装置１２に格納済であると判定された場合（ステップＳ１０４：Ｙｅｓ）には、格納制御部１１０は、チャンクをストレージ装置１２へは転送せず、続けてステップＳ１０６の処理を行う。ステップＳ１０６以降の動作は、ステップＳ１０４にてチャンクはストレージ装置に未格納であると判定された場合に限って行われてもよい。
【００９４】
次に、格納制御部１１０は、上述したチャンクをローカルの記憶部である記憶部１４０に格納するか否かを判定する（ステップＳ１０６）。
【００９５】
格納制御部１１０は、チャンクを記憶部１４０に格納するとした場合（ステップＳ１０６：Ｙｅｓ）には、記憶部１４０に空き容量があるか否かを確認する（ステップＳ１０７）。
【００９６】
記憶部１４０に空き容量がない場合（ステップＳ１０７：Ｎｏ）には、格納制御部１１０は、記憶部１４０に格納されたチャンクの一部を削除して、記憶部１４０の空き容量を確保する（ステップＳ１０８）。ステップＳ１０８では、格納制御部１１０は、記憶部１４０に格納されるチャンクの各々に付された優先度に基づいて、削除されるチャンクを決定する。
【００９７】
ステップＳ１０８の処理にて記憶部１４０の空き容量が確保された場合、又はステップＳ１０７の処理にて記憶部１４０に空き容量があると判定された場合には、格納制御部１１０は、ステップＳ１０９の処理を行う。すなわち、格納制御部１１０は、チャンクに優先度を付与して記憶部１４０に格納する。続いて、格納制御部１１０は、ステップＳ１０９にて記憶部１４０に格納したチャンクに対応するハッシュ値をハッシュテーブルに格納する（ステップＳ１１０）。
【００９８】
なお、ステップＳ１０９の処理に応じて、格納制御部１１０は、記憶部１４０に格納されたチャンクに付与されている優先度を適宜変更してもよい。
【００９９】
またステップＳ１０６において、格納制御部１１０は、チャンクを記憶部１４０に格納しないとした場合（ステップＳ１０６：Ｎｏ）には、格納制御部１１０は、書込み処理を終了する。
【０１００】
なお、ステップＳ１０１の処理において、書き込み対象データは一般に複数のチャンクに分割される。この場合に、制御装置１１等は、複数のチャンクのそれぞれに対してステップＳ１０２以降の処理を行う。
【０１０１】
続いて、図１０に示すフローチャートを参照して、本発明の第１の実施形態におけるストレージシステム１０の主に制御装置１１の読出しの動作の詳細を説明する。
【０１０２】
最初に、判定部１２０は、ストレージ装置１２に対して、読出し対象データに関するチャンクに対応するハッシュ値を照会する（ステップＳ２０１）。この場合には、ストレージ装置１２の返信部２４０は、判定部１２０からの照会に基づいて、読出し対象データに関するチャンクに対するハッシュ値を判定部１２０に送信する。
【０１０３】
次に、判定部１２０は、ステップＳ２０１にて取得したハッシュ値を用いて、読出し対象データに関するチャンクが、ローカルの記憶部である記憶部１４０に格納されているかを判定する（ステップＳ２０２）。すなわち、判定部１２０は、返信部２４０から返信されたハッシュ値と、ハッシュテーブル１５０に保存されているハッシュ値の各々とを比較して、読出し対象データに関するチャンクが記憶部１４０に格納されているかを判定する。
【０１０４】
判定部１２０は、ステップＳ２０２にて取得したハッシュ値がハッシュテーブル１５０に格納されるハッシュ値のいずれかと一致する場合に、チャンクが記憶部１４０に存在すると判定する（ステップＳ２０２：Ｙｅｓ）。この場合には、読出制御部１３０は、記憶部１４０からチャンクを読出す（ステップＳ２０３）。
【０１０５】
また、判定部１２０は、ステップＳ２０２にて取得したハッシュ値が、ハッシュテーブル１５０に格納されるハッシュ値のいずれかとも一致しない場合に、チャンクが記憶部１４０に存在しないと判定する（ステップＳ２０２：Ｎｏ）。読出制御部１３０は、ストレージ装置１２からチャンクを読出す（ステップＳ２０４）。読出制御部１３０は、チャンクをストレージ装置１２の転送部２５０を介して取得する。
【０１０６】
読出制御部１３０は、読出し対象データに関する全てのチャンクが読出されると、チャンクを結合して読出し対象データを構築する（ステップＳ２０５）。読出制御部１３０は、構築されたデータを当該データの要求元等へ適宜送信して、データの読出し処理を終了する。
【０１０７】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本発明のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。
【符号の説明】
【０１０８】
１０    ストレージシステム
１１    制御装置
１２    ストレージ装置
１１０    格納制御部
１２０    判定部
１３０    読出制御部
１４０    記憶部
１５０    ハッシュテーブル
１６０    分割部
１７０    算出部
２１０    記憶部
２２０    ハッシュテーブル
２３０    格納部
２４０    返信部
２５０    転送部
２６０    重複判定部
５００    情報処理装置
５０１    ＣＰＵ
５０２    ＲＯＭ
５０３    ＲＡＭ
５０４    プログラム
５０５    記憶装置
５０６    記録媒体
５０７    ドライブ装置
５０８    通信インターフェース
５０９    通信ネットワーク
５１０    入出力インターフェース
５１１    バス
【図１】
0006733214.tif 000002
【図２】
0006733214.tif 000003
【図３】
0006733214.tif 000004
【図４】
0006733214.tif 000005
【図５】
0006733214.tif 000006
【図６】
0006733214.tif 000007
【図７】
0006733214.tif 000008
【図８】
0006733214.tif 000009
【図９】
0006733214.tif 000010
【図１０】
0006733214.tif 000011
【図１１】
0006733214.tif 000012