(57)【特許請求の範囲】
【請求項１】
分割されたデータを比較することにより重複排除を実行するストレージ装置であって、
他の装置による重複排除でデータが分割された分割単位を示す付加情報を有する情報を記憶する情報記憶部と、
データを取得するデータ取得部と、
データ記憶部と、
前記情報を取得し前記情報記憶部に記憶させる情報取得部と、
前記情報記憶部に記憶されている前記情報が有する付加情報に示された分割単位よりも小さい分割単位で前記データ取得部により取得されたデータを分割して重複排除を実行し、重複排除を実行して得られたデータを前記データ記憶部に記憶させる重複排除部と、
を有することを特徴とするストレージ装置。
【請求項２】
前記重複排除部により実行された重複排除において前記データが分割された分割単位を示す付加情報を有する情報を生成する情報生成部と、
前記情報生成部により生成された情報を通信回線を介して送信する情報出力部と、
前記重複排除部による重複排除により得られたデータを前記通信回線を介して出力するデータ出力部と、
を有することを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記情報は、前記重複排除部による重複排除が実行される前のデータの分割された各部分と前記重複排除部による重複排除の実行により得られたデータとの対応関係を示す対応情報を有し、
前記情報生成部は、前記対応情報を有する情報を生成する、
ことを特徴とする請求項２記載のストレージ装置。
【請求項４】
前記情報は、前記重複排除部による重複排除により得られたデータについて、前記他の装置による重複排除が実行される前のデータの分割された各部分と前記他の装置による重複排除により得られたデータとの対応関係を示す対応情報を有し、
前記重複排除部は、前記情報記憶部に記憶されている情報が有する対応情報に示された対応関係に基づいて、重複排除により得られたデータについて前記他の装置による重複排除で排除された部分を前記データ記憶部から削除する、
ことを特徴とする請求項２記載のストレージ装置。
【請求項５】
前記付加情報は、前記データ取得部により取得されたデータについて前記他の装置による重複排除が実行されているか否かを示し、
前記重複排除部は、前記情報記憶部に記憶されている情報が有する付加情報が前記データについて前記他の装置による重複排除が実行されていることを示す場合、前記重複排除を実行しない、
ことを特徴とする請求項１記載のストレージ装置。
【請求項６】
分割されたデータを比較することにより重複排除を実行するストレージ装置を制御するストレージ装置制御プログラムであって、
コンピュータを、
データを取得するデータ取得部、
他の装置による重複排除でデータが分割された分割単位を示す付加情報を有する情報を取得し情報記憶部に記憶させる情報取得部、
前記情報記憶部に記憶されている前記情報が有する付加情報に示された分割単位よりも小さい分割単位で前記データ取得部により取得されたデータを分割して重複排除を実行し、重複排除を実行して得られたデータをデータ記憶部に記憶させる重複排除部、
として機能させることを特徴とするストレージ装置制御プログラム。
【請求項７】
分割されたデータを比較することにより重複排除を実行するストレージ装置を制御するストレージ装置制御方法であって、
データ取得部が、データを取得し、
情報取得部が、他の装置による重複排除の実行によりデータが分割された分割単位を示す付加情報を有する情報を取得し情報記憶部に記憶させ、
重複排除部が、前記情報記憶部に記憶されている前記情報が有する付加情報に示された分割単位よりも小さい分割単位で前記データ取得部により取得されたデータを分割して重複排除を実行し、重複排除を実行して得られたデータをデータ記憶部に記憶させる、
ことを特徴とするストレージ装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法に関する。
【背景技術】
【０００２】
従来、ストレージ装置等の記憶装置において急増する、記憶されているデータ量を削減するためにデータについて重複排除（デデュープ：De-duplication）するものがある。この重複排除は、あるデータ（またはレコード）を固定長または可変長による任意の分割単位（例えば８ＫＢのブロック単位）で分割し、その分割単位でハッシュ値を求める等により得られたフィンガープリント（finger print：ＦＰ）を生成する。そして、生成したＦＰで重複するデータを判断し、同一のＦＰのデータは記憶装置に１つしか記憶しない。これにより、重複データを除外することで記憶装置に記憶されているデータ量を削減することができる。
【０００３】
ストレージ装置にバックアップデータを記憶する際に、バックアップデータについて重複排除する場合には、大きく分けて以下に示す３つの方法がある。
（１）ポストプロセス方式
データを一旦ストレージ装置内に記憶してからストレージ装置の制御部でデータ同士を比較して重複排除する。
【０００４】
（２）クライアント方式
バックアップ管理サーバやクライアント等のストレージ装置の外部の装置によりデータ同士を比較して重複排除した後、ストレージ装置内に記憶する。
【０００５】
（３）インライン方式
データをストレージ装置の制御部で比較しながらストレージ装置内に記憶する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−８０６９６号公報
【特許文献２】特開２００９−２０８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
これに対して、ストレージ装置の運用時におけるデータ量の膨大化対策およびコスト削減等の観点から、ストレージ装置に記憶されているデータの記憶量の削減が求められている。これに基づいて、データの重複排除を用いたデータの削減量の増加が期待されている。
【０００８】
本件はこのような点に鑑みてなされたものであり、重複排除により削減されるデータ量を増加可能なストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために以下のようなストレージ装置が提供される。このストレージ装置は、分割されたデータを比較することにより重複排除を実行する。このストレージ装置では、情報記憶部は、他の装置による重複排除の実行によりデータが分割された分割単位を示す付加情報を有する情報を記憶する。データ取得部は、データを取得する。情報取得部は、情報を取得し情報記憶部に記憶させる。重複排除部は、情報記憶部に記憶されている情報が有する付加情報に示された分割単位よりも小さい分割単位でデータ取得部により取得されたデータを分割して重複排除を実行し、重複排除を実行して得られたデータをデータ記憶部に記憶させる。
【発明の効果】
【００１０】
開示のストレージ装置によれば、重複排除により削減されるデータ量を増加させることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態のストレージ装置を示す図である。
【図２】第２の実施の形態のシステム構成を示す図である。
【図３】第２の実施の形態のストレージ装置のハードウェア構成を示す図である。
【図４】第２の実施の形態のストレージ装置の機能を示すブロック図である。
【図５】第２の実施の形態の付加テーブルを示す図である。
【図６】第２の実施の形態のブロックテーブルを示す図である。
【図７】第２の実施の形態のアドレステーブルを示す図である。
【図８】第２の実施の形態の重複排除処理の様子を示す図である。
【図９】第２の実施の形態の重複排除処理の手順を示すフローチャートである。
【図１０】第２の実施の形態の重複排除処理の手順を示すフローチャートである。
【図１１】第３の実施の形態のシステム構成を示す図である。
【図１２】第３の実施の形態のストレージ装置の機能を示すブロック図である。
【図１３】第３の実施の形態のブロックテーブルを示す図である。
【図１４】第３の実施の形態の制御テーブルを示す図である。
【図１５】第３の実施の形態の対応テーブルを示す図である。
【図１６】第３の実施の形態の重複排除処理の様子を示す図である。
【図１７】第３の実施の形態の重複排除処理の様子を示す図である。
【図１８】第３の実施の形態のデータの重複するブロックの削除の様子を示す図である。
【図１９】第３の実施の形態のブロック情報の更新の様子を示す図である。
【図２０】第３の実施の形態のアドレス情報の更新の様子を示す図である。
【図２１】第３の実施の形態のストレージ装置で実行される処理の手順を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のストレージ装置を示す図である。本実施の形態のストレージ装置１は、データを分割して、分割したデータ同士を比較することにより重複排除を実行するために、情報取得部１ａ、データ取得部１ｂ、重複排除部１ｃ、情報記憶部１ｄ、データ記憶部１ｅを有する。
【００１３】
情報取得部１ａは、他の装置から通信回線を介して、重複排除の実行時のデータのブロック単位（例えば、“○○ＫＢ”）を示す重複排除単位等、他装置での重複排除の実行状況を示す付加情報を含む情報を取得し、取得した情報を情報記憶部１ｄに記憶させる。他の装置は、重複排除を実行可能な装置であり、例えば、クライアント方式によりデータの重複排除を実行する。他の装置は、例えば、通信回線でストレージ装置１と接続されているバックアップ管理サーバや他のストレージ装置である。
【００１４】
データ取得部１ｂは、他の装置による重複排除が実行されたデータ２ａ１，２ａ２を、他の装置から通信回線を介して取得する。ここで、データ２ａ２は、四角で示した各部分のうち斜線が付された“Ｅ”について、データ２ａ１の当該部分の内容である“Ｄ”と異なっている。また、データ２ａ１，２ａ２は、いずれも所定の分割単位（“○○ＫＢ”で重複排除が実行されているものとする。また、このときの分割単位は、上記のように他の装置から送信される情報で示されているものとする。
【００１５】
重複排除部１ｃは、データ取得部１ｂが取得したデータ２ａ１，２ａ２について、情報記憶部１ｄに記憶されている情報が有する付加情報の重複排除単位で示された分割単位（○○ＫＢ）よりも小さい分割単位（△△ＫＢ）で、データ２ａ１をデータ１ｅ１１，１ｅ１２に分割すると共に、データ２ａ２をデータ１ｅ２１，１ｅ２２に分割して重複排除を実行する。これにより、データ１ｅ２１，１ｅ２２がデータ１ｅ１１と同一であるため削除され、データ１ｅ１１，１ｅ１２が得られる。次に、重複排除部１ｃは、重複排除の実行により得られたデータ１ｅ１１，１ｅ１２をデータ記憶部１ｅに記憶させると共に、図１において“×”が付されたデータ１ｅ２１，１ｅ２２については、データ１ｅ１１と同一であるため記憶させずに削除する。これにより、他の装置で既に行われた重複排除後のデータ２ａ１，２ａ２を、付加情報に基づいて他の装置で分割された分割単位よりも小さい分割単位で分割して重複排除することができる。
【００１６】
なお、重複排除部１ｃは、本実施の形態ではインライン方式で重複排除を実行するが、これに限らず、データ取得部１ｂにより取得されたデータ２ａ１，２ａ２を一旦データ記憶部１ｅに記憶してから重複排除を実行するポストプロセス方式で実行してもよい。
【００１７】
情報記憶部１ｄは、他の装置による重複排除の実行時にデータ２ａ１，２ａ２が分割された分割単位を示す付加情報を有する情報を記憶する。
データ記憶部１ｅは、データを記憶可能な記憶領域を有する。データ記憶部１ｅが有する記憶領域には、重複排除部１ｃにより重複排除されたデータ１ｅ１１，１ｅ１２が記憶される。
【００１８】
なお、本実施の形態のストレージ装置１は、通信回線を介して他の装置からデータおよび情報を取得するが、これに限らず、テープストレージやハードディスクドライブ等の記憶媒体を介して取得してもよい。
【００１９】
このように、ストレージ装置１では、重複排除部１ｃは、付加情報に示された分割単位よりも小さい分割単位でデータを分割して重複排除を実行する。これにより、重複排除により削減されるデータ量を増加させることが可能となる。
【００２０】
［第２の実施の形態］
次に、図１に示したストレージ装置１の、他の装置で既に重複排除されたデータに対してさらに重複排除してデータの削減量を増加させる機能を、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成するストレージ群を有するストレージ装置１００に適用した実施の形態を、第２の実施の形態として説明する。
【００２１】
図２は、第２の実施の形態のシステム構成を示す図である。図２に示すストレージシステムは、ストレージ装置１００、ホストコンピュータ３００、バックアップ管理サーバ４００、ネットワーク５００を有する。ストレージ装置１００、ホストコンピュータ３００およびバックアップ管理サーバ４００は、それぞれ互いにネットワーク５００を介して通信可能に接続されている。
【００２２】
ストレージ装置１００は、後述するハードディスクドライブ（ＨＤＤ：Hard disk drive）等の複数の記憶デバイスに対するデータの入出力を行う。ストレージ装置１００は、ＲＡＩＤ０〜６の機能を有し、複数の記憶デバイスをまとめて１台の記憶デバイスとして管理する。
【００２３】
また、本実施の形態のストレージ装置１００は、バックアップ管理サーバ４００から送信されたデータ６００ｂおよび付加情報を受信すると、付加情報に基づいてインライン方式により受信したデータ６００ｂの重複排除を実行するか否かを判断する。そして、ストレージ装置１００は、重複排除を実行する場合には、付加情報に基づいてデータを分割する単位である分割単位を決定し、決定した分割単位でデータ６００ｂを分割して重複排除を実行し、データ６００ｃを生成する。ここで、付加情報は、バックアップ管理サーバ４００等のデータの重複排除を行った装置から、重複されたデータと共に送信される情報である。付加情報は、例えば、重複排除されたデータ６００ｂの重複排除されたデータが分割された分割単位である重複排除単位、重複排除の実施の有無等、中腹排除されたデータを受信したストレージ装置１００等の装置で重複排除の際に使用する情報を示す。
【００２４】
ホストコンピュータ３００は、データ６００を記憶している。また、ホストコンピュータ３００は、記憶しているデータ６００を使用して業務処理を実行する。
バックアップ管理サーバ４００は、ＬＡＮ（Local Area Network）等のネットワーク５００を介して、ホストコンピュータ３００に記憶されているデータ６００のストレージ装置１００によるバックアップ、リストア、ミラーリング（mirroring）等のスケジュール管理や実行制御を行う。
【００２５】
また、本実施の形態のバックアップ管理サーバ４００は、ホストコンピュータ３００からバックアップの指示を受けたデータ６００ａについて、クライアント方式により重複排除を実行して、データ６００ｂおよびデータ６００ｂの重複排除における付加情報を生成し、生成したデータ６００ｂおよび付加情報をストレージ装置１００に送信する。
【００２６】
本実施の形態では、バックアップ管理サーバ４００が、ホストコンピュータ３００から送信されたデータ６００ａについての重複排除をクライアント方式により実行して、重複排除の実行結果のデータ６００ｂをストレージ装置１００に送信すると共に、重複排除単位等の重複排除の実行状況を示す付加情報をストレージ装置１００に送信する。これにより、ストレージ装置１００は、バックアップ管理サーバ４００からの付加情報に基づいてインライン方式によりデータ６００ｂの重複排除を実行する際に、バックアップ管理サーバ４００で実行された重複排除の分割単位（例えば、８ＫＢごと）よりも小さい分割単位（例えば、４ＫＢごと）でデータ６００ｂを分割して重複排除を実行することができる。なお、ストレージ装置１００は、バックアップ管理サーバ４００からの付加情報の送信がない場合や、バックアップ管理サーバ４００でデータの重複排除が実行されていない場合には、所定のサイズ（例えば、８ＫＢ）を分割単位として、受信したデータの重複排除の処理を実行する。この重複排除の実行時の分割時の所定のサイズは、図３において後述する制御部１１１ａ，１１１ｂが有する図示しないメモリに記憶されている。
【００２７】
なお、本実施の形態では、ストレージ装置１００で行う重複排除における分割単位は、上記のように予め設定されているが、これに限らず、重複排除を実行したバックアップ管理サーバ４００から送信された付加情報で示された重複排除単位に基づいて決定してもよい。例えば、バックアップ管理サーバ４００で重複排除したデータ６００ｂの付加情報に示された重複排除単位の１／２のサイズを、ストレージ装置１００で実行する重複排除の分割単位に設定してもよい。
【００２８】
バックアップ管理サーバ４００において実行中の処理の負荷が高い場合等に、バックアップ管理サーバ４００で重複排除を実行すると、さらにバックアップ管理サーバ４００の負荷が増加して処理遅延が発生するような場合がある。このような場合には、バックアップ管理サーバ４００では重複排除を実行せず、ストレージ装置１００でのみ重複排除を実行した方が、負荷が分散されてシステム全体での処理の遅延を抑制することができる。
【００２９】
また、バックアップ管理サーバ４００は、データ６００ｂについて既に重複排除が実行されているか、データ６００ｂの重複排除が実行可能であるか等、重複排除の必要性を示すデータ６００ａの付加情報をストレージ装置１００に送信する。ストレージ装置１００は、バックアップ管理サーバ４００からの付加情報により、受信したデータに対する重複排除が必要であるか否かを確認して、受信データに対する重複排除を実行するか否かを判断する。これにより、既にバックアップ管理サーバ４００で重複排除が実行されているデータ６００ｂについて、ストレージ装置１００でさらに同一の分割単位で重複排除を実行するという無駄を排除でき、ストレージ装置１００の処理を効率化できる。
【００３０】
また、ストレージ装置１００において、データが記憶されている領域を削減するために重複排除に加えてデータの圧縮を実行する。これにより、ストレージ装置１００内にデータを記憶する際に使用される容量を削減することができる。また、重複排除は、一般にブロックやレコード単位のようにファイルを分割した小さい分割単位で比較して実行した方が、データのファイル単位で重複排除を実行した場合と比較して、データ量の削減の効果が大きい。
【００３１】
ここで、データ６００ａが既に圧縮された形式のデータ（圧縮形式ファイルや圧縮技術を利用する画像ファイル等）である場合や、バックアップ管理サーバ４００で圧縮形式のファイル形式に変換される場合には、ストレージ装置１００においてさらにデータ圧縮を実行しても効果がない。
【００３２】
これに対して本実施の形態では、ストレージ装置１００において付加情報等により、受信したデータが圧縮データであるか否かを確認して、圧縮処理を実行するか否かを判断するので、ストレージ装置１００の処理を効率化できる。
【００３３】
図３は、第２の実施の形態のストレージ装置のハードウェア構成を示す図である。ストレージ装置１００は、装置全体の制御を行う制御部１１０ａ，１１０ｂ、制御部１１０ａ，１１０ｂとホストコンピュータ３００との接続制御を行うチャネルアダプタ１３０ｃ〜１３０ｆを有する。
【００３４】
制御部１１０ａは、ＣＰＵ（Central Processing Unit）１１１ａ、キャッシュメモリ１１２ａ、およびディスクアダプタ１１３ｃ，１１３ｄを有する。
ＣＰＵ１１１ａは、ＯＳ（オペレーティングシステム）等に従って処理を実行し、各種制御を行う。また、制御部１１０ａは、キャッシュメモリ１１２ａ、記憶デバイス１２０ｃ，１２０ｄ、チャネルアダプタ１３０ｃ，１３０ｄ等の資源管理を行う。
【００３５】
キャッシュメモリ１１２ａは、ＣＰＵ１１１ａがストレージ装置１００を制御するために必要な制御データを記憶する。また、キャッシュメモリ１１２ａは、記憶デバイス１２０ｃ，１２０ｄに読み書きされる入出力データを一時的に記憶する。
【００３６】
ディスクアダプタ１１３ｃ，１１３ｄは、それぞれ、記憶デバイス１２０ｃ，１２０ｄとの接続制御を行う。
また、制御部１１０ａおよび制御部１１０ｂは、バス１４０によって接続されている。このバス１４０を介して、制御部１１０ａおよび制御部１１０ｂの間で、制御情報やデータが通信される。ここで、制御部１１０ｂは、ＣＰＵ１１１ｂ、キャッシュメモリ１１２ｂ、ディスクアダプタ１１３ｅ，１１３ｆを有するが、制御部１１０ａと同一の構成であるため、説明を省略する。
【００３７】
記憶デバイス１２０ｃ〜１２０ｆは、ハードディスクドライブであり、ホストコンピュータ３００から送信されたシステムの利用者のデータまたはバックアップデータを記憶する。なお、システムの利用者のデータおよびバックアップデータは１つのハードディスクに記憶されている必要はなく、複数のハードディスクに渡って記憶されていてもよい。また、１つのハードディスクに複数の利用者のデータおよびバックアップデータが記憶されていてもよい。また、記憶デバイス１２０ｃ〜１２０ｆは、例えば、Ｆｌａｓｈ  ＳＳＤ（Solid State Drive）等の不揮発性半導体メモリやその他のデータの記憶が可能な記憶装置を用いてもよい。
【００３８】
チャネルアダプタ１３０ｃ〜１３０ｆは、ホストコンピュータ３００と制御部１１０ａ，１１０ｂとの接続制御を行う。例えば、チャネルアダプタ１３０ｃは、ホストコンピュータ３００からの要求を受け付けて、制御部１１０ａとの接続制御を行う。制御部１１０ａ，１１０ｂは、それぞれ複数個（図３ではそれぞれ２個）のチャネルアダプタ１３０ｃ〜１３０ｆに接続可能になっている。すなわち、例えば制御部１１０ａは、冗長構成が実現されるように、２つの異なるチャネルアダプタ１３０ｃ，１３０ｄにそれぞれ接続されている。
【００３９】
なお、チャネルアダプタ１３０ｃ〜１３０ｆとホストコンピュータ３００との間の通信は、ファイバチャネルで構成されたＬＡＮによって接続されているが、ファイバチャネル以外の接続方式によって接続されていてもよい。また、チャネルアダプタ１３０ｃ〜１３０ｆとホストコンピュータ３００との間の通信は、専用線やＶＰＮ（Virtual Private Network）を用いて、ストレージ装置１００をホストコンピュータ３００から遠隔地に設置するように構成してもよい。
【００４０】
なお、図３において、制御部１１０ａ，１１０ｂは、それぞれ２個図示し、ディスクアダプタ１１３ｃ〜１１３ｆおよびチャネルアダプタ１３０ｃ〜１３０ｆは、制御部１１０ａ，１１０ｂそれぞれに対してそれぞれ２個ずつ図示しているが、これらの数はそれぞれ任意である。
【００４１】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図４は、第２の実施の形態のストレージ装置の機能を示すブロック図である。本実施の形態のストレージ装置１００は、バックアップ管理サーバ４００とネットワーク５００で接続されている。ストレージ装置１００は、バックアップ管理サーバ４００から送信されたバックアップの対象であり、バックアップ管理サーバ４００で重複排除されたデータを、ネットワーク５００を介して取得し、さらに受信したデータに対する重複排除を実行してデータ量を削減して記憶することにより、バックアップに要する記憶容量を削減する。ストレージ装置１００は、情報取得部１０１、データ取得部１０２、重複排除部１０３、情報生成部１０４、記憶デバイス１２０、情報記憶部１５０を有する。情報記憶部１５０は、付加情報記憶部１５１、ブロック情報記憶部１５２、アドレス情報記憶部１５３を有する。
【００４２】
情報取得部１０１は、バックアップ管理サーバ４００からネットワーク５００を介して重複排除の実行状況を示す情報を取得し、取得した情報を付加情報記憶部１５１に記憶させる。バックアップ管理サーバ４００は、重複排除を実行可能な装置であり、クライアント方式により、ホストコンピュータ３００で使用されるバックアップの対象のデータについて重複排除を実行する。
【００４３】
データ取得部１０２は、バックアップ管理サーバ４００からネットワーク５００を介してバックアップ管理サーバ４００による重複排除が実行されたデータを取得する。
重複排除部１０３は、付加情報記憶部１５１に記憶されている情報が有する付加情報に示された分割単位よりも小さい分割単位でデータ取得部１０２により取得されたデータを分割し、分割したデータ（ブロック）について重複排除を実行する。このとき重複排除部１０３は、各ブロックを識別して特定するＦＰを生成し、ＦＰが一致するブロックは１個を残して削除することにより重複排除を実行する。ＦＰは、識別情報として機能する。次に、重複排除部１０３は、重複排除の実行により得られたデータを圧縮して記憶デバイス１２０に記憶させる。これにより、バックアップ管理サーバ４００で既に行われた重複排除後のデータを、付加情報に基づいてバックアップ管理サーバ４００で分割された分割単位よりも小さい分割単位で分割して重複排除することができる。
【００４４】
重複排除部１０３は、情報記憶部１５０が有する付加情報記憶部１５１に記憶されている情報が有する付加情報がバックアップ管理サーバ４００によるデータの重複排除が実行されていることを示す場合、または付加情報が受信データに対する重複排除が実行不可能であることを示す場合、受信したデータに対する重複排除を実行せずに、記憶デバイス１２０に記憶させる。
【００４５】
重複排除部１０３は、情報記憶部１５０が有する付加情報記憶部１５１に記憶されている情報が有する付加情報が、受信データが圧縮不可能であることを示す場合、重複排除を実行して得られたデータを圧縮せずに記憶デバイス１２０に記憶させる。
【００４６】
なお、重複排除部１０３は、受信データが、圧縮不可能なデータ形式であることを付加情報が示す場合には、重複排除を実行して得られたデータを圧縮せずに記憶デバイス１２０に記憶させてもよい。また、重複排除部１０３は、インライン方式で重複排除を実行するが、これに限らず、データ取得部１０２により取得されたデータを一旦記憶デバイス１２０に記憶してから重複排除を実行するポストプロセス方式で実行してもよい。
【００４７】
情報生成部１０４は、ブロック情報およびアドレス情報を生成し、それぞれブロック情報記憶部１５２、アドレス情報記憶部１５３に記憶させる。ここで、ブロック情報は、ストレージ装置１００が有する重複排除機能によりデータが分割されたブロックから生成されたＦＰを、ストレージ装置１００において一意に識別する情報である。また、アドレス情報は、重複排除機能により分割されたブロックのＦＰと、ＦＰが示すブロックが記憶されている記憶デバイス１２０ｃ〜１２０ｆの記憶領域のアドレスとの対応関係を示す情報である。
【００４８】
記憶デバイス１２０は、記憶デバイス１２０ｃ〜１２０ｆを用いたＲＡＩＤで構成されており、データを記憶可能な記憶領域を有する。この記憶領域に、重複排除部１０３により重複排除されたデータが記憶される。
【００４９】
付加情報記憶部１５１は、バックアップ管理サーバ４００による重複排除の実行時に、分割されたデータの分割単位である重複排除単位を含む付加情報を記憶する。また、付加情報は、データ取得部により取得されたデータについてバックアップ管理サーバ４００による重複排除が実行されているか否か、取得したデータについて重複排除の実行が可能であるか否か、取得したデータが圧縮可能であるか否か等を示す。また、付加情報は、取得データのデータ形式を示す。
【００５０】
ブロック情報記憶部１５２は、重複排除によりデータ６００ｂが分割されたブロックと、データ６００ｂが分割されたブロックのＦＰとを関連付けるブロック情報を記憶する。アドレス情報記憶部１５３は、分割されたブロックのＦＰと、ＦＰで示されるブロックが記憶されている記憶デバイス１２０における記憶領域のアドレスとを関連付けるアドレス情報を記憶する。
【００５１】
なお、本実施の形態のストレージ装置１００は、ネットワーク５００を介してバックアップ管理サーバ４００からデータおよび情報を取得するが、これに限らず、テープストレージやハードディスクドライブ等の記憶媒体を介してデータや情報を取得してもよい。
【００５２】
図５は、第２の実施の形態の付加テーブルを示す図である。図５に示す付加テーブル１５１ａは、ストレージ装置１００が有する付加情報記憶部１５１に記憶されており、ストレージ装置１００の情報生成部１０４によって作成および管理される。付加テーブル１５１ａは、ストレージ装置１００が有する重複排除機能に用いられる重複排除の実行状況等、ストレージ装置１００において重複排除を実行する際に使用する情報を示す付加情報を記憶するテーブルである。
【００５３】
付加テーブル１５１ａには、項目として“データ番号”、“重複排除単位”、“重複排除実施”、“重複排除可否”、“圧縮可否”、“データ形式”が設けられている。付加テーブル１５１ａにおいて、各項目の横方向に並べられた情報同士が付加情報として互いに関連付けられている。
【００５４】
データ番号は、ストレージ装置１００でバックアップするデータを特定するためにデータに付された番号である。
重複排除単位は、バックアップ管理サーバ４００等で重複排除が実行された際にデータが分割された分割単位を示す。なお、バックアップ管理サーバ４００等で重複排除が実行されていなければ、重複排除単位に“０”が設定される。
【００５５】
重複排除実施は、バックアップ管理サーバ４００等でデータの重複排除が実行されたか否かを示す。バックアップ管理サーバ４００等で重複排除が実行されていれば、重複排除実施に“ｙｅｓ”が設定される。バックアップ管理サーバ４００等で重複排除が実行されていなければ、重複排除実施に“ｎｏ”が設定される。
【００５６】
重複排除可否は、受信したデータの重複排除がストレージ装置１００において実行可能であるか否か、また、ストレージ装置１００において重複排除を実行することが有効であるか無駄であるかについて示す。ストレージ装置１００で重複排除が実行可能、またはストレージ装置１００において重複排除を実行することが有効であれば、重複排除可否に“ｙｅｓ”が設定される。ストレージ装置１００での重複排除が実行不可能、またはストレージ装置１００において重複排除を実行することが無駄であれば、重複排除可否に“ｎｏ”が設定される。
【００５７】
圧縮可否は、ストレージ装置１００においてデータの圧縮が実行可能であるか否か、またはストレージ装置１００においてデータの圧縮を実行することが有効であるか無駄であるかを示す。データの圧縮がストレージ装置１００で実行可能、またはストレージ装置１００において圧縮を実行することが有効であれば、圧縮可否に“ｙｅｓ”が設定される。データの圧縮が既に行われておりストレージ装置１００でのデータ圧縮が実行不可能、またはストレージ装置１００において圧縮を実行することが無駄であれば、圧縮可否に“ｎｏ”が設定される。
【００５８】
データ形式は、データのバックアップ管理サーバ４００等における重複排除の実行前のデータ形式を示す。例えば、“ｌｚｈ”、“ｚｉｐ”等の圧縮形式のデータである場合や、“ｊｐｇ”等の圧縮画像形式である場合等、受信したデータが圧縮不可能であるデータ形式であるには、データ形式により、データの圧縮が実行可能であるか否かを判断することもできる。
【００５９】
図６は、第２の実施の形態のブロックテーブルを示す図である。図６に示すブロックテーブル１５２ａは、ストレージ装置１００が有するブロック情報記憶部１５２に記憶されており、ストレージ装置１００の情報生成部１０４によって作成および管理される。ブロックテーブル１５２ａは、ストレージ装置１００が有する重複排除機能によりデータが分割されたブロックから生成されたＦＰを示すブロック情報を記憶するテーブルである。
【００６０】
ブロックテーブル１５２ａには、項目として“ブロック番号”、“ＦＰ”が設けられている。ブロックテーブル１５２ａにおいて、各項目の横方向に並べられた情報同士がブロック情報として互いに関連付けられている。
【００６１】
ブロック番号は、ストレージ装置１００で重複排除するデータを分割したブロックを特定するために、各ブロックに付された番号である。
ＦＰは、データを分割して得られたブロックをハッシュ関数で変換して得たハッシュ値等、ブロックの内容に応じて変化することにより、ブロックの内容が同一であるか否かの判定に使用する符号である。なお、ＦＰは、内容が異なるブロック同士が同一のＦＰとなることを防止するために十分な桁数を有するものとする。また、本実施の形態では、ＦＰが同一のブロック同士は内容が同一であるものとして扱うこととする。
【００６２】
本実施の形態の重複排除では、ブロックテーブル１５２ａにおいてＦＰを比較し、ＦＰが同一のブロックについては、１個のブロックを記憶デバイス１２０に記憶させると共に他のブロックは記憶デバイス１２０に記憶させない。図６の例を用いて具体的に説明すると、ブロック番号１，４，８は、ＦＰが共に１００であるため、１個（例えば、ブロック番号１）を記憶デバイスに記憶させ、他のブロック（例えば、ブロック番号４，８）は記憶デバイス１２０に記憶させない。同様に、ブロック番号２，７は、ＦＰが共に１２０であるため、例えば、ブロック番号２を記憶デバイス１２０に記憶させ、ブロック番号７は記憶デバイスに記憶させない。同様に、ブロック番号３，５は、ＦＰが共に１１０であるため、例えば、ブロック番号３を記憶デバイス１２０に記憶させ、ブロック番号５は記憶デバイス１２０に記憶させない。これにより、重複するブロックを記憶デバイス１２０に記憶させないので記憶デバイス１２０の記憶領域が削減される。
【００６３】
図７は、第２の実施の形態のアドレステーブルを示す図である。図７に示すアドレステーブル１５３ａは、ストレージ装置１００が有するアドレス情報記憶部１５３に記憶されており、ストレージ装置１００の情報生成部１０４によって作成および管理されている。アドレステーブル１５３ａは、ストレージ装置１００が有する重複排除機能により生成されたブロックのＦＰと、ＦＰが示すブロックが記憶されている記憶デバイス１２０ｃ〜１２０ｆの記憶領域のアドレスとの対応関係を示すアドレス情報を記憶するテーブルである。
【００６４】
アドレステーブル１５３ａには、項目として“ＦＰ”、“アドレス”が設けられている。アドレステーブル１５３ａにおいて、各項目の横方向に並べられた情報同士がアドレス情報として互いに関連付けられている。
【００６５】
アドレスは、ＦＰと対応するブロックが記憶されている記憶デバイス１２０ｃ〜１２０ｆの領域のアドレスを示す。
図８は、第２の実施の形態の重複排除処理の様子を示す図である。図８に従って、本実施の形態のストレージ装置１００における重複排除処理を説明する。ストレージ装置１００は、図８に示すように、バックアップ管理サーバ４００から送信されるデータ６００ｂ１，６００ｂ２を取得すると、付加情報に基づいてデータ６００ｂ１，６００ｂ２をそれぞれ所定の分割単位（例えば、４ＫＢ）のブロックに分割する（図８では、データ６００ｂ１，６００ｂ２の１つの四角は１ＫＢを示すものとする）。次に、ストレージ装置１００は、分割した各ブロックに対応するＦＰを生成する。次に、ストレージ装置１００は、ＦＰが同一であるブロックは１個のみ記憶デバイス１２０に記憶することにより、データ６００ｂ１，６００ｂ２について重複排除を実行する。
【００６６】
具体的には、まず、ストレージ装置１００は、データ６００ｂ１を付加情報に基づいて所定の分割単位毎にブロック番号１〜６の６個のブロックに分割する。同様に、ストレージ装置１００は、データ６００ｂ２を所定の分割単位毎にブロック番号７，８の２個のブロックに分割する。
【００６７】
次に、ストレージ装置１００は、ブロック番号１〜８のブロックのそれぞれについて、図８に示すようにＦＰを生成し、各ブロックおよび対応するＦＰを示すブロック情報を生成し、図６に示したブロックテーブル１５２ａに記憶する。例えば、データ６００ｂ１の先頭に位置する、ブロック番号１のブロックは、ＦＰが１００である。
【００６８】
次にストレージ装置１００は、ブロックテーブル１５２ａを参照して各ブロックのＦＰを比較することにより、ＦＰが他のブロックと異なるブロック、およびＦＰが同一の複数のブロックのうち１個のブロックを記憶デバイス１２０にデータ６００ｃとして記憶する。このとき、ストレージ装置１００は、各ブロックが記憶されている記憶デバイス１２０ｃのアドレスを取得し、図７に示したアドレステーブル１５３ａに記憶する。
【００６９】
例えば、データ６００ｂ１のブロック番号１（内容：Ａ，Ｂ，Ｃ，Ｄ、ＦＰ：１００）と、データ６００ｂ１のブロック番号４（内容：Ａ，Ｂ，Ｃ，Ｄ、ＦＰ：１００）とは同一の内容であることから、それぞれのブロックから生成されるＦＰは一致する。従って、ストレージ装置１００は、ブロックテーブル１５２ａを参照してブロック番号１のブロックとブロック番号４のブロックのＦＰを比較して一致することから、ブロック番号１のブロックのみをデータ６００ｃの一部として記憶デバイス１２０に記憶させる。そして、ストレージ装置１００は、ブロック番号１のブロックが記憶されているアドレス０ｘ０００を取得し、取得したアドレスをブロック番号１のＦＰ１２０と関連付けてアドレステーブル１５３ａに記憶させる。
【００７０】
また、ストレージ装置１００は、ＦＰが一致するデータ６００ｂ１のブロック番号３，５についても、ブロックテーブル１５２ａを参照して比較することにより、同様にいずれか一方のみを記憶デバイス１２０に記憶させ、記憶させたアドレスをＦＰと関連付けてアドレステーブル１５３ａに記憶させる。また、ブロック番号２のブロックについては、ブロックテーブル１５２ａを参照して、データ６００ｂ１には同一のＦＰのものが存在しないので、ストレージ装置１００は、記憶デバイス１２０に記憶させ、記憶させたアドレス０ｘ００８とＦＰ１２０とを関連付けてアドレステーブル１５３ａに記憶させる。また、ブロック番号６のブロックについても同様に、ストレージ装置１００は、記憶デバイス１２０に記憶させ、記憶させたアドレス０ｘ００ｃとＦＰ１０１とを関連付けてアドレステーブル１５３ａに記憶させる。
【００７１】
また、データ６００ｂ２のブロック番号７のブロックのＦＰは１２０であり、ＦＰが同一のブロックが記憶デバイス１２０に記憶されている。このため、ストレージ装置１００は、ブロックテーブル１５２ａを参照して記憶デバイス１２０に同一のＦＰ１２０を持つブロック番号２のブロックが存在するので、ブロック番号７番のブロックを記憶デバイスに記憶させない。また、同様に、ストレージ装置１００は、データ６００ｂ２のブロック番号８のブロックのＦＰは１００であり、ブロックテーブル１５２ａを参照して記憶デバイス１２０に同一のＦＰ１００を持つブロック番号１のブロックが存在するので、ブロック番号８番のブロックを記憶デバイス１２０に記憶させない。
【００７２】
図９および図１０は、第２の実施の形態の重複排除処理の手順を示すフローチャートである。本実施の形態のストレージ装置１００は、バックアップ管理サーバ４００により重複排除が行われたバックアップ対象のデータをデータ取得部１０２により取得すると、取得したデータについてさらに重複排除を実行する。本実施の形態のストレージ装置１００は、バックアップ管理サーバ４００から送信されたデータを受信すると重複排除処理を実行する。以下では、図９および図１０に示す重複排除処理をフローチャートのステップ番号に沿って説明する。
【００７３】
［ステップＳ１１］重複排除部１０３は、付加情報記憶部１５１に記憶されている、データ取得部１０２で取得したデータに対応する付加情報を取得する。
［ステップＳ１２］重複排除部１０３は、ステップＳ１１で、データに対応する付加情報を取得したか否かを判断する。付加情報を取得していれば、処理はステップＳ１３に進められる。一方、付加情報を取得していなければ、処理はステップＳ１５に進められる。
【００７４】
［ステップＳ１３］重複排除部１０３は、取得したデータに対応する付加情報を参照し、取得したデータに対する重複排除の実行が可能であるか否かを判断する。重複排除が可能であれば、処理はステップＳ１４に進められる。一方、重複排除が不可能であれば、処理はステップＳ２１（図１０）に進められる。
【００７５】
［ステップＳ１４］重複排除部１０３は、取得したデータに対応する付加情報を参照し、取得したデータに対する重複排除がバックアップ管理サーバ４００等で実行されているか否かを判断する。重複排除が実行されていれば、処理はステップＳ１６に進められる。一方、重複排除が実行されていなければ、処理はステップＳ１５に進められる。
【００７６】
［ステップＳ１５］重複排除部１０３は、重複排除部１０３での重複排除の分割単位を初期値（例えば、８ＫＢ）に設定する。
［ステップＳ１６］重複排除部１０３は、重複排除部１０３での重複排除の分割単位を、バックアップ管理サーバ４００等で実行された重複排除の分割単位よりもさらに小さい分割単位（例えば、バックアップ管理サーバ４００等で８ＫＢ単位で重複単位が実行されていれば、４ＫＢ）に設定する。
【００７７】
［ステップＳ１７］重複排除部１０３は、データの重複排除を実行する。
［ステップＳ２１］重複排除部１０３は、データに対応する付加情報を参照し、データの圧縮が可能であるか否かを判断する。圧縮が可能であれば、処理はステップＳ２２に進められる。一方、圧縮が不可能であれば、処理はステップＳ２３に進められる。
【００７８】
［ステップＳ２２］重複排除部１０３は、データの圧縮を実行する。
［ステップＳ２３］重複排除部１０３は、重複していないデータを記憶デバイス１２０に記憶させる。
【００７９】
［ステップＳ２４］情報生成部１０４は、ステップＳ２３によりデータが記憶された記憶デバイス１２０の領域を示すアドレス情報をアドレス情報記憶部１５３に記憶させる。
このように、第２の実施の形態のストレージ装置１００では、データの重複排除の削減の効果をより高めるために、「クライアント方式」および「インライン方式」の両方を併用してストレージ装置に記憶されているデータ量の削減を行う。すなわち、まず、バックアップ管理サーバやクライアントで重複排除を実行し、次に、ストレージ装置においてさらに重複排除を実行する。これにより、重複排除の効果を高めることができる。
【００８０】
また、クライアント方式によって重複排除されたデータを記憶するストレージ装置で、インライン方式により、クライアント方式で重複排除された分割単位よりも大きい分割単位でＦＰを作成して重複排除を実行した場合には、既に重複排除された分割単位と同一以上の分割単位で重複排除を実行しているため、データ量の削減の効果が十分に得られない場合が生じ得る。これに対して、本実施の形態の重複排除部１０３は、付加情報に示された分割単位よりも小さい分割単位でデータを分割して重複排除を実行する。これにより、重複排除により削減されるデータ量を増加させることが可能となる。
【００８１】
また、重複排除部１０３は、データについて重複排除が実行不可能である場合には重複排除を実行しないので、重複排除を効果的に実行することができ、ストレージ装置１００の負担の増加を抑制させることができる。
【００８２】
また、重複排除部１０３は、重複排除を実行した後にデータを圧縮してから記憶デバイス１２０に記憶させるので、ストレージ装置１００のデータ量をさらに削減させることができる。
【００８３】
また、重複排除部１０３は、データの圧縮が不可能である場合にはデータを圧縮しないので、ストレージ装置１００の負担の増加を抑制させることができる。
また、重複排除は、一般に、より小さい分割単位に分割して実行した方がデータ量の削減の効果が大きい。しかし、小さい分割単位に分割して重複排除を実行すると、重複排除を実行する装置における処理負担が増加することになる。これに対して、第２の実施の形態では、ストレージ装置１００とバックアップ管理サーバ４００とで分散して重複排除を実行することで、重複排除を効果的に実行することができ、ストレージ装置１００およびバックアップ管理サーバ４００の負担の集中を抑制しつつ重複排除により削減されるデータ量を増加させることができる。
【００８４】
［第３の実施の形態］
次に第３の実施の形態について説明する。第２の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いると共に説明を省略する。第３の実施の形態は、２個のストレージ装置でバックアップデータを二重化する際、複製元のストレージ装置で重複排除を実行したデータについて、複製先のストレージ装置でさらに重複排除を行う。
【００８５】
図１１は、第３の実施の形態のシステム構成を示す図である。第３の実施の形態では、バックアップデータを二重化する際、重複排除を実行した複製元のストレージ装置２００ａは、重複排除の分割単位等を示す付加情報を複製先のストレージ装置２００ｂに送信する。複製先のストレージ装置２００ｂは、複製元のストレージ装置２００ａから送信された分割単位よりも小さい分割単位にデータを分割して重複排除を実行する。
【００８６】
図１１に示すストレージシステムは、ストレージ装置２００ａ，２００ｂ、ホストコンピュータ３００、バックアップ管理サーバ７００、ネットワーク５００を有する。ストレージ装置２００ａ，２００ｂ、ホストコンピュータ３００およびバックアップ管理サーバ７００は、それぞれ互いにネットワーク５００を介して通信可能に接続されている。
【００８７】
ストレージ装置２００ａ，２００ｂは、記憶デバイスに対するデータの入出力を行う。ストレージ装置２００ａ，２００ｂは、ＲＡＩＤ０〜６の機能を有し、複数の記憶デバイスをまとめて１台の記憶デバイスとして管理する。
【００８８】
ストレージ装置２００ａは、ホストコンピュータ３００からバックアップの指示を受けたデータ６００ｄについてインライン方式により重複排除を実行してデータ６００ｅならびに付加情報および制御情報を生成し、データ６００ｅならびに付加情報および制御情報をストレージ装置２００ｂに送信する。付加情報は、データ６００ｅの重複排除の実行状況を示す情報である。付加情報は、ストレージ装置２００ａ，２００ｂのそれぞれにおいて、図１２において後述する付加情報記憶部２５１ａ，２５１ｂに記憶される。制御情報は、データ６００ｅが分割されたブロックと分割された各ブロックのＦＰとの対応関係を示す情報である。制御情報は、ストレージ装置２００ａ，２００ｂのそれぞれにおいて、図１２において後述する制御情報記憶部２５４ａ，２５４ｂに記憶される。
【００８９】
また、ストレージ装置２００ａは、ストレージ装置２００ｂから送信された対応情報を受信すると、対応情報に基づいてデータ６００ｅの重複するブロックの削除を実行する。対応情報は、ストレージ装置２００ａにおいて重複排除された複製元のデータ６００ｅのブロックのＦＰと、ストレージ装置２００ｂにおいて分割されたデータ６００ｅのブロックのＦＰとを用いて、複製元であるストレージ装置２００ａに記憶されているデータ６００ｅと、ストレージ装置２００ｂにおいて分割されたデータ６００ｅのブロックとの対応関係を示す情報である。対応情報は、ストレージ装置２００ａ，２００ｂのそれぞれにおいて、図１２において後述する対応情報記憶部２５５ａ，２５５ｂに記憶される。
【００９０】
なお、本実施の形態の対応情報は、データが分割された各ブロックのＦＰを用いてブロック同士の対応関係を示すが、これに限らず、重複排除における分割の際にブロックに対して符号を一意に割り当て、割り当てた符号を用いる等、ブロックを一意に特定可能な情報を用いることができる。また、この場合、制御情報についても、ＦＰに代えて、対応情報に用いたのと同様の、ブロックを一意に特定可能な情報を用いることができる。
【００９１】
ストレージ装置２００ｂは、ストレージ装置２００ａから重複排除されたデータ６００ｅならびに付加情報および制御情報を受信すると、付加情報に基づいてインライン方式によりさらにデータ６００ｅの重複排除を実行し、重複排除の実行の結果得られたデータ６００ｅの分割された各ブロックのＦＰと制御情報とに基づいてデータ６００ｅとデータ６００ｅの分割された各ブロックとの対応情報を生成し、対応情報をストレージ装置２００ａに送信する。
【００９２】
ホストコンピュータ３００は、データ６００を記憶している。また、ホストコンピュータ３００は、記憶しているデータ６００を使用して業務処理を実行する。
バックアップ管理サーバ７００は、ＬＡＮ等のネットワーク５００を介して、ストレージ装置２００ａ，２００ｂによるホストコンピュータ３００に記憶されているデータ６００のバックアップ、リストア、ミラーリング等のスケジュール管理や実行制御を行う。
【００９３】
本実施の形態では、ストレージ装置２００ａがインライン方式によりホストコンピュータ３００から送信されたデータ６００ｄの重複排除を実行すると共に、重複排除の実行状況を示す付加情報およびデータ６００ｄの重複排除により生成されたデータ６００ｅの各ブロックとブロックのＦＰとの対応関係を示す制御情報をストレージ装置２００ｂに送信する。このときストレージ装置２００ａから送信される付加情報は、データ６００ｅについて重複排除が実行されているか、データ６００ｅについて重複排除が実行されている場合の重複排除が実行された分割単位、データ６００ｅのストレージ装置２００ｂにおける重複排除が実行可能であるか等、データ６００ｅの重複排除の必要性を示す。
【００９４】
付加情報により、ストレージ装置２００ｂは、ストレージ装置２００ａからの付加情報により、受信したデータに対する重複排除が必要であるか否かを確認して、重複排除を実行するか否かを判断する。また、ストレージ装置２００ｂは、付加情報に基づいてインライン方式によりデータ６００ｅの重複排除を実行する際に、ストレージ装置２００ａで実行された重複排除の分割単位（例えば、８ＫＢごと）よりも小さい分割単位（例えば、４ＫＢごと）でデータ６００ｅを分割して重複排除を実行する。これにより、既にストレージ装置２００ａで重複排除が実行されているデータ６００ｅについて、ストレージ装置２００ｂでさらに同一の分割単位で重複排除を実行するという無駄を排除することができる。
【００９５】
なお、ストレージ装置２００ｂは、ストレージ装置２００ａからの付加情報の送信がない場合や、ストレージ装置２００ａで重複排除が実行されていない場合には、所定のサイズ（例えば、８ＫＢ）でストレージ装置２００ａから受信したデータを分割して重複排除の処理を実行する。
【００９６】
また、ストレージ装置２００ａ，２００ｂにおいて、データが記憶されている領域を削減するために、重複排除に加えてデータの圧縮を実行する。これにより、ストレージ装置２００ａ，２００ｂ内にデータを記憶する際に使用される容量を削減することができる。また、重複排除は、一般に、データのファイル単位で重複排除を実行した場合と比較して、ブロックやレコード単位のようにファイルを分割した小さい分割単位で比較して実行した方がデータ量の削減の効果が大きい。
【００９７】
ここで、データ６００ｄが既に圧縮された形式のデータである場合や、データがストレージ装置２００ａで圧縮形式のファイル形式に変換される場合には、ストレージ装置２００ｂにおいてさらにデータ圧縮を実行しても効果がない。
【００９８】
これに対して本実施の形態では、ストレージ装置２００ｂにおいて付加情報等により、受信したデータが圧縮データであるか否かを確認して圧縮処理を実行するか否かを判断するので、ストレージ装置２００ｂの処理を効率化できる。
【００９９】
また、ストレージ装置２００ｂは、ストレージ装置２００ａで重複排除されたデータについて、ブロックの分割単位をさらに小さくして重複排除する。これにより、重複排除によるデータの削減量を増加させ、複製先のストレージ装置２００ｂに記憶されているデータ量を削減させることが可能となる。
【０１００】
なお、ストレージ装置２００ａで重複排除が行われていない場合、ストレージ装置２００ａから付加情報が送信されない場合、またはストレージ装置２００ａでのデータの分割単位が不明である場合、ストレージ装置２００ｂは、あらかじめ設定されている分割単位で受信したデータを分割して重複排除を実行する。
【０１０１】
また、ストレージ装置２００ｂがストレージ装置２００ａより小さい分割単位で重複排除した場合には、ストレージ装置２００ａに対して、ストレージ装置２００ａから送信された制御情報に基づいて生成した対応情報を送信する。ストレージ装置２００ａは、対応情報を受信すると、対応情報に基づいてデータ６００ｅにおける重複するブロックを削除し、データ６００ｇを生成する。対応情報は、データ６００ｅのブロックをストレージ装置２００ｂが重複排除してデータ６００ｆを生成した際に、データ６００ｅのブロックとデータ６００ｆのブロックとの間のブロックの対応関係を示す。
【０１０２】
これにより、ストレージ装置２００ａが記憶しているデータについても、ストレージ装置２００ａで行われた重複排除と同等のデータ量の削除を行うことができる。
また、上記のように、ストレージ装置２００ｂにおける重複排除は、ストレージ装置２００ａにおける重複排除よりも小さい分割単位で実行される。さらに、本実施の形態では、ストレージ装置２００ｂにおいて、ある分割単位で重複排除が実行されている場合には、ストレージ装置２００ａはストレージ装置２００ｂと同一の分割単位での重複排除の処理を実行しない。
【０１０３】
これにより、ストレージ装置２００ａで別個に重複排除の実行を行うことなく、対応情報を利用してストレージ装置２００ｂと同一の小さい分割単位で重複するブロックが削除されるので、ストレージ装置２００ａでの負荷や時間を節約して、ストレージ装置２００ａのデータ量を削減することができる。
【０１０４】
また、ストレージ装置２００ａは、ストレージ装置２００ｂから対応情報の送信がない場合には、データ６００ｅの重複するブロックの削除は実行しない。
図１２は、第３の実施の形態のストレージ装置の機能を示すブロック図である。本実施の形態のストレージ装置２００ａ，２００ｂは、ネットワーク５００により互いに接続されていると共に、ホストコンピュータ３００と接続されている。
【０１０５】
ストレージ装置２００ａは、ホストコンピュータ３００から送信されたバックアップの対象であるデータを、ネットワーク５００を介して取得し、インライン方式により重複排除を実行してデータ量を削減して記憶することにより、バックアップに使用する記憶容量を削減する。
【０１０６】
ストレージ装置２００ｂは、ストレージ装置２００ａで重複排除されたデータを、ネットワーク５００を介して取得し、インライン方式によりさらに重複排除を実行してデータ量を削減して記憶することにより、バックアップに使用する記憶容量をさらに削減する。
【０１０７】
また、ストレージ装置２００ａは、ストレージ装置２００ｂから送信される対応情報を取得すると、取得した対応情報を利用して記憶デバイス２２０ａに記憶しているデータのブロックうち重複するブロックを削除することにより、バックアップに使用する記憶容量をストレージ装置２００ｂにおける重複排除による削減結果と同程度に削減する。
【０１０８】
ストレージ装置２００ａは、情報取得部２０１ａ、データ取得部２０２ａ、重複排除部２０３ａ、情報生成部２０４ａ、情報出力部２０５ａ、データ出力部２０６ａ、記憶デバイス２２０ａ、情報記憶部２５０ａを有する。情報記憶部２５０ａは、付加情報記憶部２５１ａ、ブロック情報記憶部２５２ａ、アドレス情報記憶部２５３ａ、制御情報記憶部２５４ａ、対応情報記憶部２５５ａを有する。
【０１０９】
情報取得部２０１ａは、ストレージ装置２００ｂ等の他の重複排除を実行可能な装置からネットワーク５００を介して重複排除の実行状況を示す情報（例えば、付加情報や対応情報）を取得し、取得した情報を付加情報記憶部２５１ａに記憶させる。
【０１１０】
データ取得部２０２ａは、ホストコンピュータ３００等からネットワーク５００を介してストレージシステムでバックアップするデータを取得することができる。また、データ取得部２０２ａは、ストレージ装置２００ｂ等からネットワーク５００を介してストレージ装置２００ｂによる重複排除が実行されたデータを取得することができる。
【０１１１】
重複排除部２０３ａは、付加情報記憶部２５１ａに記憶されている他の装置から受信した情報が有する付加情報に示された分割単位よりも小さい分割単位でデータ取得部２０２ａが取得したデータを分割し、分割したデータ（ブロック）について重複排除を実行してデータを得る。このとき重複排除部２０３ａは、各ブロックを識別・特定するＦＰを生成し、ＦＰが一致するブロックについては１個を残して削除することにより重複排除を実行する。ＦＰは、識別情報として機能する。次に、重複排除部２０３ａは、重複排除の実行により得られたデータを圧縮して記憶デバイス２２０ａに記憶させることができる。これにより、ストレージ装置２００ｂ等で既に行われた重複排除後のデータを、付加情報に基づいてストレージ装置２００ｂ等で分割された分割単位よりも小さい分割単位で分割して重複排除することができる。
【０１１２】
重複排除部２０３ａは、情報記憶部２５０ａが有する付加情報記憶部２５１ａに記憶されている情報が有する付加情報がストレージ装置２００ｂ等によるデータの重複排除が実行されていることを示す場合、またはデータの重複排除が実行不可能であることを付加情報が示す場合、重複排除を実行せずにデータを記憶デバイス２２０ａに記憶させる。
【０１１３】
重複排除部２０３ａは、情報記憶部２５０ａが有する付加情報記憶部２５１ａに記憶されている情報が有する付加情報が、受信データが圧縮不可能であることを示す場合、重複排除を実行して得られたデータを圧縮せずに記憶デバイス２２０ａに記憶させる。
【０１１４】
なお、重複排除部２０３ａは、受信データが、圧縮不可能なデータ形式であることを付加情報が示す場合に、重複排除を実行して得られたデータを圧縮せずに記憶デバイス２２０ａに記憶させてもよい。また、重複排除部２０３ａは、インライン方式で重複排除を実行するが、これに限らず、データ取得部２０２ａにより取得されたデータを一旦記憶デバイス２２０ａに記憶してから重複排除を実行するポストプロセス方式で実行してもよい。
【０１１５】
重複排除部２０３ａは、ストレージ装置２００ｂからの対応情報に基づき情報生成部２０４ａによりブロック情報記憶部２５２ａのブロック情報が更新された場合、更新されたブロック情報の対応関係に基づき、記憶デバイス２２０ａのデータについて、ストレージ装置２００ｂにより重複排除されたブロックを記憶デバイス２２０ａから削除する。
【０１１６】
情報生成部２０４ａは、付加情報、ブロック情報、アドレス情報、制御情報、対応情報を生成し、それぞれ付加情報記憶部２５１ａ、ブロック情報記憶部２５２ａ、アドレス情報記憶部２５３ａ、制御情報記憶部２５４ａ、対応情報記憶部２５５ａに記憶させる。
【０１１７】
情報生成部２０４ａは、ブロック情報に基づき、ＦＰが同一のブロックの情報について、１個を残して削除することにより、制御情報を生成する。情報生成部２０４ａが生成する制御情報は、詳しくは図１４において後述するが、重複排除の対象であるデータが分割されたブロックと分割された各ブロックのＦＰとの対応関係を示す。
【０１１８】
また、情報生成部２０４ａは、ストレージ装置２００ｂから送信された付加情報、制御情報、対応情報を受信した場合、それぞれ対応する付加情報記憶部２５１ａ、制御情報記憶部２５４ａ、対応情報記憶部２５５ａに記憶させる。
【０１１９】
また、情報生成部２０４ａは、詳しくは図１９において後述するが、ストレージ装置２００ｂから送信された対応情報を受信した場合、受信した対応情報に基づいて、ブロック情報記憶部２５２ａに記憶されているブロック情報を更新する。また、このブロック情報の更新および重複排除部２０３ａによるブロックの削除に伴い、アドレス情報記憶部２５３ａに記憶されているアドレス情報を更新する。
【０１２０】
情報出力部２０５ａは、情報生成部２０４ａにより生成された情報をネットワーク５００を介してストレージ装置２００ｂに送信する。
データ出力部２０６ａは、重複排除部２０３ａによる重複排除により得られたデータを、ネットワーク５００を介してストレージ装置２００ｂに送信する。
【０１２１】
記憶デバイス２２０ａは、図示しない複数の記憶デバイスを用いたＲＡＩＤで構成されており、データを記憶可能な記憶領域を有する。この記憶領域に、重複排除部２０３ａにより重複排除されたデータが記憶される。
【０１２２】
付加情報記憶部２５１ａは、重複排除部２０３ａまたはストレージ装置２００ｂ等による重複排除の実行時にデータが分割された分割単位を示す付加情報を記憶する。また、付加情報は、データ取得部２０２ａにより取得されたデータがストレージ装置２００ｂ等により重複排除されているか否か、受信したデータの重複排除の実行が可能であるか否か、受信したデータが圧縮可能であるか否かを示す。また、付加情報は、受信したデータのデータ形式を示す。
【０１２３】
ブロック情報記憶部２５２ａは、ブロックとＦＰとを関連付けるブロック情報を記憶する。アドレス情報記憶部２５３ａは、ＦＰとＦＰで示されるブロックが記憶デバイス２２０ａにおいて記憶されている記憶領域とを関連付けるアドレス情報を記憶する。
【０１２４】
ここで、ブロック情報記憶部２５２ａに記憶されているブロック情報は、重複排除部２０３ａで重複排除が実行されているがストレージ装置２００ｂによる重複排除が実行される前のデータの分割された各ブロックと、そのブロックのＦＰとの対応関係を示す情報であり、付加情報と共にストレージ装置２００ｂに送信される。
【０１２５】
ストレージ装置２００ｂは、ストレージ装置２００ａと同様の機能を有し、情報取得部２０１ｂ、データ取得部２０２ｂ、重複排除部２０３ｂ、情報生成部２０４ｂ、情報出力部２０５ｂ、データ出力部２０６ｂ、記憶デバイス２２０ｂ、情報記憶部２５０ｂを有する。情報記憶部２５０ｂは、付加情報記憶部２５１ｂ、ブロック情報記憶部２５２ｂ、アドレス情報記憶部２５３ｂ、制御情報記憶部２５４ｂを有する。
【０１２６】
また、ブロック情報記憶部２５２ｂに記憶されているブロック情報は、ストレージ装置２００ｂによって重複排除が実行されているが重複排除部２０３ｂによる重複排除が実行される前のデータの分割された各ブロックと、重複排除部２０３ｂによる重複排除が実行された後のデータの分割された各ブロックとの対応関係を示す対応情報として機能する。
【０１２７】
また、情報生成部２０４ｂは、詳しくは図１５において後述するが、複製元のストレージ装置２００ａに記憶されているデータと、複製先のストレージ装置２００ｂにおいて分割されたブロックとの対応関係を示す対応情報を生成する。
【０１２８】
図１３は、第３の実施の形態のブロックテーブルを示す図である。図１３に示すブロックテーブル２５２ａａは、ストレージ装置２００ａが有するブロック情報記憶部２５２ａに記憶されており、ストレージ装置２００ａの情報生成部２０４ａによって作成および管理される。ブロックテーブル２５２ａａは、ストレージ装置２００ａが有する重複排除機能によりデータが分割されたブロックから生成されたＦＰを示すブロック情報を記憶するテーブルである。
【０１２９】
図１３に示すブロックテーブル２５２ａａには、項目として“ブロック番号”、“ＦＰ”が設けられている。ブロックテーブル２５２ａａにおいて、各項目の横方向に並べられた情報同士がストレージ装置２００ａにおけるブロック情報として互いに関連付けられている。ストレージ装置２００ａのブロック情報は、ストレージ装置２００ａにおける重複排除の実行と共に作成された後、付加情報と共にストレージ装置２００ｂに送信される。
【０１３０】
ブロック番号は、ストレージ装置２００ａで分割したブロックを特定するために、各ブロックに付された番号である。
ＦＰは、ストレージ装置２００ａで生成した、ブロック番号が示すブロックに対応するＦＰである。
【０１３１】
本実施の形態のストレージ装置２００ａにおける重複排除では、第２の実施の形態と同様、ブロックテーブル２５２ａａにおいてＦＰを比較し、ＦＰが同一のブロックについては、１個のブロックを記憶デバイス２２０ａに記憶させると共に他のブロックは記憶デバイス２２０ａに記憶させない。ストレージ装置２００ｂにおける重複排除でも同様であるため、説明を省略する。
【０１３２】
また、本実施の形態では、ストレージ装置２００ａにおける重複排除の実行に伴い、ブロックテーブル２５２ａａのブロック情報に基づき、ブロック情報のＦＰが同一のブロックを削除することにより、図１４において後述する制御情報が生成される。
【０１３３】
図１４は、第３の実施の形態の制御テーブルを示す図である。図１４に示す制御テーブル２５４ａａは、ストレージ装置２００ａが有する制御情報記憶部２５４ａに記憶されており、ストレージ装置２００ａの情報生成部２０４ａによって作成および管理される。制御テーブル２５４ａａは、ストレージ装置２００ａが有する重複排除機能によりデータが重複排除されたブロックと重複排除されたブロックのＦＰとの対応関係を示す制御情報を記憶するテーブルである。
【０１３４】
図１４に示す制御テーブル２５４ａａには、図１３において前述したブロックテーブル２５２ａａと同様、項目として“ブロック番号”、“ＦＰ”が設けられている。制御テーブル２５４ａａにおいて、各項目の横方向に並べられた情報同士がストレージ装置２００ａにおける制御情報として互いに関連付けられている。ストレージ装置２００ａの制御情報は、ストレージ装置２００ａにおける重複排除の実行に伴い作成された後、付加情報と共にストレージ装置２００ｂに送信される。
【０１３５】
ブロック番号は、ストレージ装置２００ａで分割したブロックを特定するために、各ブロックに付された番号である。
ＦＰは、ストレージ装置２００ａで生成した、ブロック番号が示すブロックに対応するＦＰである。
【０１３６】
ここで、本実施の形態における制御情報とブロック情報との違いについて説明する。本実施の形態のストレージ装置２００ａ，２００ｂでは、第２の実施の形態と同様、重複排除の実行時において、図１３において前述したブロック情報を作成し、ブロック情報においてＦＰが同一のブロックを記憶しないことで重複排除を実行する。本実施の形態の制御情報に示されているブロックは、重複排除によりＦＰが重複するブロックが１個を残して削除されている点で、ブロック情報と異なる。制御情報は、情報生成部２０４ａにより、図１３において前述したストレージ装置２００ａのブロック情報からＦＰが同一のブロックを削除して生成される。
【０１３７】
この制御情報が、ストレージ装置２００ａで重複排除されたデータと共にストレージ装置２００ｂに送信されることで、ストレージ装置２００ａで重複排除したデータの各ブロックと、そのブロックのＦＰとの対応関係をストレージ装置２００ｂに対して通知することができる。
【０１３８】
本実施の形態では、ストレージ装置２００ａにおける重複排除の実行が完了した後、ストレージ装置２００ｂに対して重複排除により分割されたデータ６００ｅと共に、付加情報および制御情報が送信される。
【０１３９】
図１５は、第３の実施の形態の対応テーブルを示す図である。図１５に示す対応テーブル２５５ａａは、ストレージ装置２００ａが有する対応情報記憶部２５５ａに記憶されており、ストレージ装置２００ａの情報生成部２０４ａによって作成および管理される。対応テーブル２５５ａａは、複製元であるストレージ装置２００ａに記憶されているデータと、ストレージ装置２００ｂにおいて分割されたデータの各ブロックとの対応関係を示す対応情報を記憶するテーブルである。
【０１４０】
図１５に示す対応テーブル２５５ｂａには、項目として“ブロック番号”、“ＦＰ”、“複製元ＦＰ”が設けられている。対応テーブル２５５ｂａにおいて、各項目の横方向に並べられた情報同士がストレージ装置２００ｂにおける対応情報として互いに関連付けられている。
【０１４１】
ブロック番号は、ストレージ装置２００ｂで分割したブロックを特定するために、各ブロックに付された番号である。
ＦＰは、ストレージ装置２００ｂで生成した、ブロック番号が示すブロックに対応するＦＰである。
【０１４２】
複製元ＦＰは、複製元であるストレージ装置２００ａにおいて重複排除により分割されたデータ６００ｅのブロックに付されたＦＰである。
ストレージ装置２００ｂの対応情報では、複製元ＦＰおよびＦＰが関連付けられている。これにより、複製元であるストレージ装置２００ａにおいて分割されたデータ６００ｅのブロックに付されたＦＰと、複製先であるストレージ装置２００ｂにおいて重複排除により分割されたデータ６００ｆのブロックに付されたＦＰとの対応関係が示される。
【０１４３】
本実施の形態では、ストレージ装置２００ａで分割して得られたブロックをストレージ装置２００ｂでさらに分割したブロックの重複排除が実行される。図１５の例では、複製元ＦＰには、ストレージ装置２００ｂが分割するブロックの元となる、複製元のストレージ装置２００ａが分割したブロックに対して生成したＦＰと、ストレージ装置２００ｂが分割したブロックのうち何番目のブロックなのかを示す情報とを含む。例えば、ブロック番号“１”のブロックの複製元ＦＰが“１００（０１）”である場合、そのブロックは、ストレージ装置２００ａが生成したＦＰが“１００”のブロックをストレージ装置２００ｂでさらに分割して得られたブロックの１番目のブロックであることを示す。
【０１４４】
本実施の形態では、ストレージ装置２００ｂでストレージ装置２００ａから送信されたデータについての重複排除が実行された後、ＦＰおよび複製元ＦＰに示された情報が、対応情報としてストレージ装置２００ｂからストレージ装置２００ａに送信される。ストレージ装置２００ａでは、詳しくは図１９で後述するが、受信した対応情報およびブロックテーブル２５２ａａに基づいて、記憶しているデータの重複するブロックを削除する。
【０１４５】
図１６および図１７は、第３の実施の形態の重複排除処理の様子を示す図である。図１６および図１７に従って、本実施の形態のストレージ装置２００ａ，２００ｂにおける重複排除処理を説明する。
【０１４６】
本実施の形態では、図１６に示すようにストレージ装置２００ａは、ホストコンピュータ３００からネットワーク５００を介してデータ６００ｄを取得する。ここで、データ６００ｄは、分割されていない連続する１個のデータであるが、データ６００ｄ１，６００ｄ２，６００ｄ３のように所定の分割単位（例えば、８ＫＢ）で３個に分割した場合に、データ６００ｄ１，６００ｄ２は内容が同一である。しかし、データ６００ｄ３は、四角で示した各部分のうち斜線が付された“Ｅ”について、データ６００ｄ１，６００ｄ２における対応する部分の内容である“Ｄ”と異なっているものとする。
【０１４７】
次に、ストレージ装置２００ａは、取得したデータ６００ｄ１を、それぞれ所定の分割単位のブロックに分割し、各ブロックに対応するＦＰを生成し、各ブロックおよび対応するＦＰを示すブロック情報を生成し、ブロック情報記憶部２５２ａに記憶する。次に、ストレージ装置２００ａは、ブロック情報を参照して、他のブロックとＦＰが一致するブロックについては、１個を記憶デバイス２２０ａに記憶させ、他のブロックは記憶させない。そして、ストレージ装置２００ａは、記憶デバイス２２０ａに記憶させたブロックおよび対応するＦＰを示す制御情報を生成し、制御情報記憶部２５４ａに記憶する。また、ストレージ装置２００ａは、重複排除の実行に伴い付加情報を生成し、記憶したデータならびに生成した付加情報および制御情報をストレージ装置２００ｂに送信する。
【０１４８】
具体的には、ストレージ装置２００ａは、データ６００ｄを所定の分割単位のブロックに分割し、データ６００ｄ１〜６００ｄ３についてＦＰ（図示省略）を生成する。そして、ストレージ装置２００ａは、データ６００ｄ１〜６００ｄ３と対応するＦＰとを示すブロック情報を生成する。このとき、データ６００ｄ２については、データ６００ｄ１と内容が同一であるので、データ６００ｄ２のＦＰは、データ６００ｄ１のＦＰと同一になる。このため、ストレージ装置２００ａは、データ６００ｄ２を記憶デバイス２２０ａに記憶させない。また、ストレージ装置２００ａは、ＦＰがデータ６００ｄ２と同一であったが記憶させることとして１個選択したデータ６００ｄ１およびＦＰが同一のものがなかったデータ６００ｄ３を、それぞれデータ６００ｅ１，６００ｅ３として記憶デバイス２２０ａに記憶する。また、ストレージ装置２００ａは、データ６００ｅ１とデータ６００ｅ１に対応するＦＰ６０１ｅ１とを関連付けると共に、データ６００ｅ３とデータ６００ｅ３に対応するＦＰ６０１ｅ３とを関連付けて制御情報を生成し、制御情報記憶部２５４ａに記憶する。また、ストレージ装置２００ａは、ＦＰ６０１ｅ１とＦＰ６０１ｅ１のデータ６００ｅ１が記憶されている記憶領域のアドレスとを関連付けると共に、ＦＰ６０１ｅ３とＦＰ６０１ｅ３のデータ６００ｅ３が記憶されている記憶領域のアドレスとを関連付けてアドレス情報を生成し、アドレス情報記憶部２５３ａに記憶する。次に、ストレージ装置２００ａは、ネットワーク５００を介してストレージ装置２００ｂにデータ６００ｅ１，６００ｅ３ならびに各データに対応する付加情報および制御情報を送信する。
【０１４９】
ストレージ装置２００ｂは、ストレージ装置２００ａから送信されるデータ６００ｅ１，６００ｅ３ならびに各データの付加情報および制御情報を取得すると、取得したデータ６００ｅ１，６００ｅ３を、それぞれ付加情報が示すストレージ装置２００ａにおける重複排除の分割単位よりも小さい分割単位（例えば、４ＫＢ）のブロックに分割する。
【０１５０】
次に、ストレージ装置２００ｂは、分割した各ブロックに対応するＦＰを生成し、各ブロックおよび対応するＦＰを示すブロック情報を生成し、ブロック情報記憶部２５２ｂに記憶する。次に、ストレージ装置２００ｂは、ＦＰが一致するブロックについては、１個を記憶デバイス２２０ｂに記憶させ、他のブロックは記憶させない。
【０１５１】
次に、図１７に示すように、ストレージ装置２００ｂは、重複排除を実行すると共に、重複排除の実行に伴い対応情報を生成し、生成した対応情報をストレージ装置２００ａに送信する。対応情報は、複製元であるストレージ装置２００ａから複製先であるストレージ装置２００ｂに送信されたデータ（データ６００ｅ１，６００ｅ３）に対応するＦＰ（ＦＰ６０１ｅ１，６０１ｅ３）と、ストレージ装置２００ｂにおいて重複排除により生成されたデータ（データ６００ｅ１１，６００ｅ３２）にそれぞれ対応するＦＰ（ＦＰ６０１ｅｆ１１，６０１ｅ３２）との対応関係を示す情報である。
【０１５２】
対応情報の生成について具体的に説明すると、ストレージ装置２００ｂは、データ６００ｅ１，６００ｅ３ならびに付加情報および制御情報を受信すると、データ６００ｅ１を所定の分割単位で分割してデータ６００ｅ１１，６００ｅ１２とし、データ６００ｅ３を所定の分割単位で分割してデータ６００ｅ３１，６００ｅ３２とする。そして、ストレージ装置２００ｂは、データ６００ｅ１１，６００ｅ１２，６００ｅ３１，６００ｅ３２についてＦＰを生成する。これにより、データ６００ｅ１１に対応するＦＰ６０１ｅ１１、データ６００ｅ１２に対応するＦＰ６０１ｅ１２、データ６００ｅ３１に対応するＦＰ６０１ｅ３１、データ６００ｅ３２に対応するＦＰ６０１ｅ３２が生成される。また、ストレージ装置２００ｂは、データ６００ｅ１のＦＰ６０１ｅ１とデータ６００ｅ１１，６００ｅ１１のそれぞれのＦＰ６０１ｅ１，６０１ｅ１２との対応関係を示すと共に、データ６００ｅ３のＦＰ６０１ｅ３とデータ６００ｅ３１，６００ｅ３２のＦＰ６０１ｅ３１，６０１ｅ３２との対応情報を示す対応情報を生成する。また、対応情報には、ストレージ装置２００ｂにおける重複排除により分割した分割単位を示す情報も含まれる。
【０１５３】
また、ストレージ装置２００ｂは、重複排除の実行において、取得したデータ６００ｅ１，６００ｅ２を、それぞれ所定の分割単位のブロックに分割し、各ブロックに対応するＦＰを生成し、各ブロックおよび対応するＦＰを示すブロック情報を生成し、ブロック情報記憶部２５２ｂに記憶する。次に、ストレージ装置２００ｂは、ブロック情報を参照して、他のブロックとＦＰが一致するブロックについては、１個を記憶デバイス２２０ｂに記憶させ、他のブロックは記憶させない。また、ストレージ装置２００ｂは、生成した対応情報をストレージ装置２００ｂに送信する。
【０１５４】
具体的には、ストレージ装置２００ｂは、データ６００ｅ１，６００ｅ２を所定の分割単位のブロックに分割する。そしてストレージ装置２００ｂは、分割したブロックであるデータ６００ｅ１１に対応するＦＰ６０１ｅ１１、データ６００ｅ１２に対応するＦＰ６０１ｅ１２、データ６００ｅ３１に対応するＦＰ６０１ｅ３１、データ６００ｅ３２に対応するＦＰ６０１ｅ３２を生成する。そして、ストレージ装置２００ａは、データ６００ｅ１１，６００ｅ１２，６００ｅ３１，６００ｅ３２と対応するＦＰ６０１ｅ１１，６０１ｅ１２，６０１ｅ３１，６０１ｅ３２とを示すブロック情報を生成する。
【０１５５】
このとき、データ６００ｅ１２，６００ｅ３１については、データ６００ｅ１１と内容が同一であるので、データ６００ｅ１２に対応するＦＰ６０１ｅ１２およびデータ６００ｅ３１に対応するＦＰ６０１ｅ３１は、データ６００ｅ１１に対応するＦＰ６０１ｅ１１と同一になる。このため、ストレージ装置２００ｂは、ブロック情報を参照して、ＦＰがデータ６００ｅ１１と同一であるデータ６００ｅ１２，６００ｅ３１を記憶デバイス２２０ｂに記憶させない。また、ストレージ装置２００ｂは、ＦＰがデータ６００ｅ１２，６００ｅ３１と同一であったが記憶させることとして１個選択したデータ６００ｅ１１およびＦＰが同一のものがなかったデータ６００ｅ３２を、それぞれデータ６００ｆ１１，６００ｆ３２として記憶デバイス２２０ｂに記憶する。そして、ストレージ装置２００ｂは、記憶デバイス２２０ｂに記憶されたデータと同一であるデータ６００ｅ１１とデータ６００ｅ１１に対応するＦＰ６０１ｅ１１とを関連付けると共に、データ６００ｅ３２とデータ６００ｅ３２に対応するＦＰ６０１ｅ３２とを関連付けて対応情報記憶部２５５ｂに記憶する。また、ストレージ装置２００ｂは、記憶デバイス２２０ｂに記憶されたデータのＦＰであるＦＰ６０１ｆ１１とＦＰ６０１ｆ１１のデータ６００ｆ１１が記憶されている記憶領域のアドレスとを関連付けると共に、ＦＰ６０１ｆ３２とＦＰ６０１ｆ３２のデータ６００ｆ３２が記憶されている記憶領域のアドレスとを関連付けてアドレス情報記憶部２５３ｂに記憶する。次に、ストレージ装置２００ｂは、ネットワーク５００を介して対応情報をストレージ装置２００ａに送信する。
【０１５６】
図１７に示す例では、対応情報は、データ６００ｅ１のＦＰ６０１ｅ１とデータ６００ｅ１１，６００ｅ１２のＦＰ６０１ｅ１１，６０１ｅ１２が対応関係を有することを示すと共に、データ６００ｅ３のＦＰ６０１ｅ３とデータ６００ｅ３１，６００ｅ３２のＦＰ６０１ｅ３１，６０１ｅ３２が対応関係を有することを示す。また、対応情報には、ストレージ装置２００ｂにおける重複排除の分割単位を示す情報（例えば、“４ＫＢ”）が含まれる。これにより、ストレージ装置２００ａは、ストレージ装置２００ｂの重複排除における分割単位を認識することができる。
【０１５７】
ストレージ装置２００ａは、ストレージ装置２００ｂから送信される対応情報を取得すると、取得した対応情報に基づいて記憶しているデータの重複するブロックを削除する。
具体的には、ストレージ装置２００ａは、対応情報を取得すると、記憶デバイス２２０ａに記憶しているデータ６００ｅについてのブロック情報を、ブロック情報記憶部２５２ａから取得する。そして、ストレージ装置２００ａは、詳しくは図１９において後述するが、取得した対応情報およびブロック情報記憶部２５２ａに記憶しているブロック情報に基づいて、ブロック情報のＦＰと対応情報のＦＰとを紐付けることによりデータ６００ｅ１，６００ｅ３のＦＰ６０１ｅ１，６０１ｅ３と、ＦＰ６００ｅ１１，６００ｅ１２，６００ｅ３１，６００ｅ３２とを対応付けて、ストレージ装置２００ａのブロック情報を更新する。これにより、ストレージ装置２００ａは、データ６００ｅ１，６００ｅ３の各ブロックについて、重複排除を実行することなく、ストレージ装置２００ｂにおける重複排除後のＦＰを取得できる。
【０１５８】
次に、ストレージ装置２００ａは、更新されたブロック情報に基づいて、ＦＰ６０１ｅ１１，６０１ｅ１２，６０１ｅ３１，６０１ｅ３２を比較し、同一のＦＰを抽出する。ここでは、ＦＰ６０１ｅ１１，６０１ｅ１２，６０１ｅ３１が同一であったものとする。そして、更新されたブロック情報に基づいて、ＦＰが同一であったブロックを特定し、ＦＰが同一であると特定されたデータ６００ｅ１１，６００ｅ１２，６００ｅ３１については１個（例えば、データ６００ｅ１１）を残して削除する。これにより、データ６００ｆ１１，６００ｆ１２，６００ｆ３１，６００ｆ３２のうちの重複するブロックが削除される。ここで、データ６００ｅ１，６００ｅ３について重複するブロックが削除された後のブロックであるデータ６００ｅ１１をデータ６００ｇ１１とする。同様に、データ６００ｅ３２をデータ６００ｇ３２とする。また、データ６００ｇ１１に対応するＦＰは、ＦＰ６０１ｇ１１とし、データ６００ｇ３２に対応するＦＰは、ＦＰ６０１ｇ３２とする。
【０１５９】
次に、ストレージ装置２００ａは、ＦＰ６０１ｇ１１とＦＰ６０１ｇ１１のデータ６００ｇ１１が記憶されている記憶領域のアドレスとを関連付けると共に、ＦＰ６０１ｇ３２とＦＰ６０１ｇ３２のデータ６００ｇ３２が記憶されている記憶領域のアドレスとを関連付け、アドレス情報記憶部２５３ａに記憶されているアドレス情報を更新する。
【０１６０】
図１８は、第３の実施の形態のデータの重複するブロックの削除の様子を示す図である。図１８に示すように、本実施の形態では、ストレージ装置２００ａにおいて重複排除されたデータについて、ストレージ装置２００ｂにおいてさらに重複排除が実行され、データ６００ｆが生成される際、ストレージ装置２００ｂは、対応情報を作成し、作成した対応情報をストレージ装置２００ａに送信する。
【０１６１】
図１８において、ストレージ装置２００ａ内の複数の四角は、ストレージ装置２００ａが有する記憶デバイス２２０ａの記憶領域（以下、ストレージ装置２００ａの記憶領域とする）を示す。同様に、ストレージ装置２００ｂ内の複数の四角は、ストレージ装置２００ｂが有する記憶デバイス２２０ｂの記憶領域（以下、ストレージ装置２００ｂの記憶領域とする）を示す。また、ストレージ装置２００ａ，２００ｂの四角内の文字は、その記憶領域の記憶内容を示す。同一の文字の記憶領域は、同一の記憶内容であるものとする。また、データ６００ｆ１１の右端の四角内の文字が“Ｄ”であり、一方、データ６００ｆ３２の右端の四角内の文字が斜線を掛けた“Ｅ”である。これはデータ６００ｆ１１とデータ６００ｆ３２の内容が異なることを示している。これに対して、例えば、データ６００ｅ１１とデータ６００ｅ１２等、四角内の文字がすべて同じブロック同士は、同じ内容のデータであるものとする。
【０１６２】
図１８の右側に、ストレージ装置２００ｂにおける重複排除が実行された後の時点の、データ６００ｆが記憶されているストレージ装置２００ｂの記憶領域を示す。ストレージ装置２００ｂの記憶領域には、アドレス０ｘ０００からアドレス０ｘ００３までにデータ６００ｆ１１が記憶されている。また、アドレス０ｘ００４からアドレス０ｘ００７までにデータ６００ｆ３２が記憶されている。
【０１６３】
図１８の中央に、対応情報による重複するデータの削除の以前の時点のストレージ装置２００ａの記憶領域を示す。対応情報による重複するデータの削除の以前の時点では、ストレージ装置２００ｂの記憶領域には、アドレス０ｘ０００からアドレス０ｘ００３までにデータ６００ｅ１１が記憶されている。また、アドレス０ｘ００４からアドレス０ｘ００７までにデータ６００ｅ１２が記憶されている。また、アドレス０ｘ００８からアドレス０ｘ００ｂまでにデータ６００ｅ３１が記憶されている。また、アドレス０ｘ００ｃからアドレス０ｘ００ｆまでにデータ６００ｅ３２が記憶されている。
【０１６４】
対応情報は、ストレージ装置２００ａでデータ６００ｄについて重複排除を実行して得られたデータ６００ｅの各ブロックであるデータ６００ｅ１，６００ｅ３と、データ６００ｅをストレージ装置２００ｂでさらに重複排除を実行して得られたデータ６００ｅの各ブロックであるデータ６００ｅ１１，６００ｅ１２，６００ｅ３１，６００ｅ３２との対応関係を示す。図１８の例では、データ６００ｅ１のＦＰ６０１ｅ１とデータ６００ｅ１１のＦＰ６０１ｅ１１、データ６００ｅ１２のＦＰ６０１ｅ１２が対応関係を有することを示していると共に、データ６００ｅ３のＦＰ６０１ｅ３とデータ６００ｅ３１のＦＰ６０１ｅ３１、データ６００ｅ３２のＦＰ６０１ｅ３２が対応関係を有することを示している。
【０１６５】
ストレージ装置２００ａは、対応情報を受信すると、対応情報に基づいてブロック情報記憶部２５２ａに記憶しているブロック情報を、データ６００ｅ１とＦＰ６０１ｅ１１，６０１ｅ１２を対応付けると共に、データ６００ｅ３とＦＰ６０１ｅ３１，６０１ｅ３２を対応付けるように更新する。次に、ストレージ装置２００ａは、更新したブロック情報に基づいて、記憶しているデータ６００ｅの重複するブロックである（図１８における中央のストレージ装置２００ａの網掛けで示した領域）データ６００ｅ１２，６００ｅ３１を削除する。
【０１６６】
ここで、図１８の左側に、ストレージ装置２００ａにおけるデータ６００ｅについて対応情報に基づく削除の実行後の時点の記憶領域を示す。データ６００ｅについて対応情報に基づく削除の実行後の時点（図１８の左側）のデータを、データ６００ｇとする。ストレージ装置２００ｂは、対応情報に基づく削除により、データ６００ｅにおいて重複していたデータ６００ｅ１２，６００ｅ３１が記憶されていた記憶領域であるアドレス０ｘ００４からアドレス０ｘ００ｂまで（図１８における左側のストレージ装置２００ａの空白の領域）は、空き領域となる。また、ストレージ装置２００ａは、重複するブロックの削除に伴い、アドレス情報記憶部２５３ｂに記憶されているアドレス情報を、データ６００ｇ１１，６００ｇ１１のそれぞれに対応するＦＰ６０１ｇ１１，６００ｇ３２と、記憶デバイス２２０ａにおいてデータ６００ｇ１１，６００ｇ１１がそれぞれ記憶されている記憶領域のアドレスとを対応付けて更新する。
【０１６７】
これにより、ストレージ装置２００ａは、ストレージ装置２００ｂから送信される対応情報を取得することにより、ストレージ装置２００ｂと同一の小さい分割単位による重複排除と同等のデータ量の削減の効果を得ることができる。
【０１６８】
図１９は、第３の実施の形態のブロック情報の更新の様子を示す図である。図２０は、第３の実施の形態のアドレス情報の更新の様子を示す図である。本実施の形態では、ストレージ装置２００ｂにおける重複排除の実行の後、ストレージ装置２００ａが記憶している制御情報およびストレージ装置２００ｂから送信された対応情報に基づいて、記憶しているデータが削除され、ストレージ装置２００ａのブロック情報およびアドレス情報が更新される。以下に、図１９および図２０に従って、対応情報に基づくストレージ装置２００ａにおけるブロック情報およびアドレス情報の更新について説明する。
【０１６９】
図１９に示す制御テーブル２５４ａａ１は、ストレージ装置２００ａにおける重複排除が実行された後の時点の、ストレージ装置２００ａの制御情報のテーブルである。対応テーブル２５５ｂａ１は、ストレージ装置２００ｂにおける重複排除が実行された後の時点の、ストレージ装置２００ｂの対応情報のテーブルである。ブロックテーブル２５２ａａ１は、ストレージ装置２００ｂにおける重複排除が実行された後の時点において、記憶している制御情報およびストレージ装置２００ｂから送信された対応情報に基づいて更新されたストレージ装置２００ａのブロック情報のテーブルである。
【０１７０】
制御テーブル２５４ａａ１は、図１６および図１８において前述したように、ストレージ装置２００ａにおけるデータ６００ｄに対する重複排除で生成されたブロック（データ６００ｅ１，６００ｅ３）のブロック番号と、データ６００ｄに対する重複排除の実行に伴い生成されたブロックのＦＰとを関連付けて示す。
【０１７１】
対応テーブル２５５ｂａ１は、図１６および図１８において前述したように、ストレージ装置２００ｂにおけるデータ６００ｅに対する重複排除で生成されたブロック（データ６００ｅ１１，６００ｅ３２）のブロック番号と、データ６００ｅに対する重複排除の実行により生成されたブロックのＦＰと、さらに“複製元ＦＰ”として重複排除を実行する前のデータ６００ｅのブロック（データ６００ｅ１，６００ｅ３）のＦＰとの対応関係を示す情報を関連付けて示す。
【０１７２】
ここで、複製元ＦＰにおける括弧の外の左側の数字は、複製元であるストレージ装置２００ｂにおいて重複排除を実行する前のデータ６００ｅのブロックであるデータ６００ｅ１，６００ｅ３のＦＰである。また、複製元ＦＰにおける括弧内の数字は、複製先であるストレージ装置２００ａにおいてデータ６００ｅが重複排除されて生成されたデータ６００ｅのブロックであるデータ６００ｅ１１，６００ｅ３２が、分割前のデータ６００ｅ１，６００ｅ３を分割して生成した場合にいずれの部分に対応するかを示す情報である。例えば、括弧内の数字が“０１”であれば、そのブロックが、分割前のデータ６００ｅ１を分割した場合の先頭のブロックに対応することを示す。また、括弧内の数字が“０２”であれば、そのブロックが分割前のデータ６００ｅ１を分割した場合に先頭から２番目のブロックに対応することを示す。
【０１７３】
本実施の形態では、ストレージ装置２００ｂにおける重複排除が実行された後、ストレージ装置２００ｂからストレージ装置２００ａに対応情報が送信される。この対応情報には、ストレージ装置２００ａから送信され、ストレージ装置２００ｂの制御情報記憶部２５４ｂに記憶されている制御情報と、ストレージ装置２００ｂにおける重複排除に伴い分割されたブロックのＦＰとに基づいて生成される。
【０１７４】
次に、ストレージ装置２００ａは、ストレージ装置２００ｂから送信された対応情報を受信すると、受信した対応情報を対応情報記憶部２５５ａに記憶する。そして、ストレージ装置２００ａは、対応情報を用いて、図１３に示したブロックテーブル２５２ａａが、ブロックテーブル２５２ａａ１のように、ストレージ装置２００ａのブロック情報を更新する。
【０１７５】
以下に、本実施の形態のストレージ装置２００ａにおけるブロックテーブル２５２ａａ１の更新について、ブロックテーブル２５２ａａ１のブロック番号１に基づいて説明する。ストレージ装置２００ａの情報生成部２０４ａは、制御テーブル２５４ａａ１を参照して、制御テーブル２５４ａａ１のブロック番号１のブロックに対応するＦＰは１００であると判断する。情報生成部２０４ａは、これに基づいてストレージ装置２００ｂから送信された対応情報から複製元ＦＰが１００であるブロックを探索し、ブロック番号１，２の２個のブロックを対応情報から発見する。ここで、複製元ＦＰの括弧内の値は、ストレージ装置２００ｂにおけるデータ分割の際に、分割されたデータの内の何番目のデータであったかを示す。
【０１７６】
次に、情報生成部２０４ａは、ブロックテーブル２５２ａａに、ブロック番号１００１を新たに設定する。そして、情報生成部２０４ａは、ストレージ装置２００ｂから送信された対応情報上で発見された、複製元ＦＰ“１００”に対応するブロック番号１（ＦＰ：６００）、ブロック番号２（ＦＰ：６０１）のそれぞれに対応するＦＰを、ブロック番号１００１に対してブロックテーブル２５２ａａ１のように設定する。ここで、新たに設定するブロック番号として、例えば、桁数を異ならせる等により、重複するブロックが削除される以前のブロックのブロック番号との重複を回避可能な番号を設定するとよい。情報生成部２０４ａが、以上の処理をブロックテーブル２５２ａａ１の更新前に設定されていたすべてのブロックについて繰り返すことにより、ストレージ装置２００ａにおける重複排除の実行直後の状態であるブロックテーブル２５２ａａが更新されてブロックテーブル２５２ａａ１のようになる。
【０１７７】
ストレージ装置２００ａは、この更新後のブロックテーブル２５２ａａ１を用いて、ＦＰが同一のブロックを抽出することにより、記憶デバイス２２０ａに記憶されている重複するブロックを削除する。
【０１７８】
図２０に示すアドレステーブル２５３ａａ１は、ストレージ装置２００ａにおける重複排除が実行された後の時点の、ストレージ装置２００ａのアドレス情報のテーブルである。アドレステーブル２５３ａａ２は、ストレージ装置２００ｂにおける重複排除が実行された後の時点において、ストレージ装置２００ｂから送信された対応情報に基づくデータの重複するブロックの削除により更新されたストレージ装置２００ａのアドレス情報のテーブルである。
【０１７９】
本実施の形態では、ストレージ装置２００ｂにおける重複排除が実行された後、ストレージ装置２００ｂからストレージ装置２００ａに対応情報が送信される。
次に、ストレージ装置２００ａは、ストレージ装置２００ｂから送信された対応情報を受信すると、対応情報に基づいて記憶デバイス２２０ａに記憶されている重複するブロックを削除し、削除による記憶領域のブロックおよびＦＰの変化に応じて、アドレステーブル２５３ａａ１からアドレステーブル２５３ａａ２のように、アドレス情報を更新する。
【０１８０】
以下に、アドレステーブル２５３ａａ１の更新について説明する。ストレージ装置２００ａの情報生成部２０４ａは、重複排除部２０３ａによって対応情報に基づくデータ６００ｅの重複するブロックの削除が実行された後、アドレステーブル２５３ａａ１に対して、重複するブロックが削除されたデータ６００ｅにおける削除前の各ブロックのＦＰおよびデータ６００の各ブロックが記憶されている記憶領域のアドレスを削除する。また、ストレージ装置２００ａは、重複排除の実行により生成されたブロックが記憶されているストレージ装置２００ａの記憶領域および生成されたブロックに対応するＦＰを設定する。情報生成部２０４ａが、以上の処理をアドレステーブル２５３ａａ２の更新前に設定されていたすべてのブロックについて繰り返すことにより、ストレージ装置２００ａのアドレステーブル２５３ａａ１が更新されてアドレステーブル２５３ａａ２のようになる。
【０１８１】
図２１は、第３の実施の形態のストレージ装置で実行される処理の手順を示すシーケンス図である。以下では、図２１に示す本実施の形態のバックアップデータの複製元であるストレージ装置２００ａおよび複製先であるストレージ装置２００ｂで重複排除が実行される際の処理手順について、シーケンス図のステップ番号に沿って説明する。
【０１８２】
［ステップＳ３１］ストレージ装置２００ａは、バックアップデータについて重複排除処理（図９および図１０）を実行する。
［ステップＳ３２］ストレージ装置２００ａは、ステップＳ３１における重複排除処理に基づき、付加情報および制御情報を生成する。
【０１８３】
［ステップＳ３３］ストレージ装置２００ａは、ステップＳ３１で重複排除されたデータならびにステップＳ３２で生成された付加情報および制御情報をストレージ装置２００ｂに送信する。
【０１８４】
［ステップＳ４１］ストレージ装置２００ｂは、ステップＳ３３でストレージ装置２００ａから送信されたデータならびに付加情報および制御情報を受信する。
［ステップＳ４２］ストレージ装置２００ｂは、ステップＳ４１で受信した付加情報に基づき、ステップＳ４１で受信したデータについて重複排除処理を実行する。
【０１８５】
［ステップＳ４３］ストレージ装置２００ｂは、ステップＳ４２における重複排除処理に基づき、対応情報を生成する。対応情報は、ストレージ装置２００ｂにおいて重複排除されたデータの制御情報を有する。
【０１８６】
［ステップＳ４４］ストレージ装置２００ｂは、ステップＳ４３で生成された対応情報をストレージ装置２００ａに送信する。
［ステップＳ３４］ストレージ装置２００ａは、ステップＳ４４でストレージ装置２００ｂから送信された対応情報を受信する。
【０１８７】
［ステップＳ３５］ストレージ装置２００ａは、ステップＳ３４で受信した対応情報に基づき、ブロック情報を更新する。
［ステップＳ３６］ストレージ装置２００ａは、ステップＳ３５で更新したブロック情報に基づき、ステップＳ３１で重複排除したデータについてデータの重複するブロックを削除する。
【０１８８】
［ステップＳ３７］ストレージ装置２００ａは、ステップＳ３６における削除に基づき、アドレス情報を更新する。その後、ストレージ装置２００ａ，２００ｂは、処理を終了する。
【０１８９】
このように、第３の実施の形態のストレージ装置２００ａ，２００ｂでは、第２の実施の形態に加えて、ストレージ装置２００ａで重複排除が実行されたバックアップデータをストレージ装置２００ｂにレプリケーション（replication）やミラーリングして保存する等のバックアップデータを二重化する場合に、重複排除の効果を高めることができる。
【０１９０】
すなわち、バックアップデータを二重化する際、重複排除を実行した複製元のストレージ装置２００ａの重複排除部２０３ａは、重複排除の分割単位等の付加情報を複製先のストレージ装置２００ｂに送信する。複製先のストレージ装置２００ｂの重複排除部２０３ｂは、送信された付加情報が示す分割単位よりも小さい分割単位にデータを分割して重複排除を実行する。これにより、ストレージ装置２００ａ，２００ｂで分散して重複排除を効果的に実行することができ、ストレージ装置２００ａ，２００ｂの負担の集中を抑制しつつ重複排除により削減されるデータ量を増加させることができる。
【０１９１】
また、重複排除部２０３ａは、対応情報に基づいてストレージ装置２００ｂの重複排除の結果を反映させるので、重複排除を実行することなく記憶デバイス２２０ａに記憶されているデータ量を削減することができる。
【０１９２】
なお、各実施の形態で示した以上の処理は、コンピュータに所定のプログラムを実行させることで実現できる。その場合、実現すべき処理内容を記述したプログラムが提供される。処理内容を記述したプログラムは、コンピュータ読み取り可能な記録媒体に記録しておくことができる。コンピュータ読み取り可能な記録媒体には、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリがある。磁気記録装置には、ハードディスク装置、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）等がある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc − Read Only Memory）、ＣＤ−Ｒ（Recordable）、ＣＤ−ＲＷ（ReWritable）等がある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等がある。
【０１９３】
プログラムを流通させる場合、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにプログラムを転送することもできる。
【０１９４】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム又はサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１９５】
以上説明した第１の実施の形態、第２の実施の形態および第３の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  分割されたデータを比較することにより重複排除を実行するストレージ装置であって、
他の装置による重複排除でデータが分割された分割単位を示す付加情報を有する情報を記憶する情報記憶部と、
データを取得するデータ取得部と、
データ記憶部と、
前記情報を取得し前記情報記憶部に記憶させる情報取得部と、
前記情報記憶部に記憶されている前記情報が有する付加情報に示された分割単位よりも小さい分割単位で前記データ取得部により取得されたデータを分割して重複排除を実行し、重複排除を実行して得られたデータを前記データ記憶部に記憶させる重複排除部と、
を有することを特徴とするストレージ装置。
【０１９６】
（付記２）  前記重複排除部により実行された重複排除において前記データが分割された分割単位を示す付加情報を有する情報を生成する情報生成部と、
前記情報生成部により生成された情報を通信回線を介して送信する情報出力部と、
前記重複排除部による重複排除により得られたデータを前記通信回線を介して出力するデータ出力部と、
を有することを特徴とする付記１記載のストレージ装置。
【０１９７】
（付記３）  前記情報は、前記重複排除部による重複排除が実行される前のデータの分割された各部分と前記重複排除部による重複排除の実行により得られたデータとの対応関係を示す対応情報を有し、
前記情報生成部は、前記対応情報を有する情報を生成する、
ことを特徴とする付記２記載のストレージ装置。
【０１９８】
（付記４）  前記情報は、前記重複排除部による重複排除により得られたデータについて、前記他の装置による重複排除が実行される前のデータの分割された各部分と前記他の装置による重複排除により得られたデータとの対応関係を示す対応情報を有し、
前記重複排除部は、前記情報記憶部に記憶されている情報が有する対応情報に示された対応関係に基づいて、重複排除により得られたデータについて前記他の装置による重複排除で排除された部分を前記データ記憶部から削除する、
ことを特徴とする付記２記載のストレージ装置。
【０１９９】
（付記５）  前記付加情報は、前記データ取得部により取得されたデータについて前記他の装置による重複排除が実行されているか否かを示し、
前記重複排除部は、前記情報記憶部に記憶されている情報が有する付加情報が前記データについて前記他の装置による重複排除が実行されていることを示す場合、前記重複排除を実行しない、
ことを特徴とする付記１記載のストレージ装置。
【０２００】
（付記６）  前記付加情報は、前記データ取得部により取得されたデータについて重複排除の実行が可能であるか否かを示し、
前記重複排除部は、前記情報記憶部に記憶されている情報が有する付加情報が前記データについて前記重複排除が実行不可能であることを示す場合、前記重複排除を実行しない、
ことを特徴とする付記１記載のストレージ装置。
【０２０１】
（付記７）  前記重複排除部は、重複排除を実行して得られたデータを圧縮し、圧縮して得られたデータを前記データ記憶部に記憶させることを特徴とする付記１記載のストレージ装置。
【０２０２】
（付記８）  前記付加情報は、前記データ取得部により取得されたデータが圧縮可能であるか否かを示し、
前記重複排除部は、前記情報記憶部に記憶されている情報が有する付加情報が前記データが圧縮不可能であることを示す場合、重複排除を実行して得られた前記データを圧縮しない、
ことを特徴とする付記７記載のストレージ装置。
【０２０３】
（付記９）  前記付加情報は、前記データ取得部により取得されたデータのデータ形式を示し、
前記重複排除部は、前記情報記憶部に記憶されている情報が有する付加情報が前記データのデータ形式が圧縮不可能なデータ形式であることを示す場合、重複排除を実行して得られたデータを圧縮しない、
ことを特徴とする付記７記載のストレージ装置。
【０２０４】
（付記１０）  前記重複排除部は、データを分割し、分割した前記データを識別する識別情報を生成し、前記識別情報が一致する分割した前記データについて１個を残して削除することにより重複排除を実行することを特徴とする付記１記載のストレージ装置。
【０２０５】
（付記１１）  前記他の装置は、重複排除を実行可能なバックアップ管理サーバであり、
前記情報は、前記バックアップ管理サーバによる重複排除の実行により前記データが分割された分割単位を示す前記付加情報を有する、
ことを特徴とする付記１記載のストレージ装置。
【０２０６】
（付記１２）  前記他の装置は、他のストレージ装置であり、
前記情報は、前記他のストレージ装置による重複排除の実行により前記データが分割された分割単位を示す前記付加情報を有する、
ことを特徴とする付記１記載のストレージ装置。
【０２０７】
（付記１３）  分割されたデータを比較することにより重複排除を実行するストレージ装置を制御するストレージ装置制御プログラムであって、
コンピュータを、
前記データを取得するデータ取得部、
他の装置による重複排除の実行でデータが分割された分割単位を示す付加情報を有する情報を取得し情報記憶部に記憶させる情報取得部、
前記情報記憶部に記憶されている前記情報が有する付加情報に示された分割単位よりも小さい分割単位で前記データ取得部により取得されたデータを分割して重複排除を実行し、重複排除を実行して得られたデータをデータ記憶部に記憶させる重複排除部、
として機能させることを特徴とするストレージ装置制御プログラム。
【０２０８】
（付記１４）  分割されたデータを比較することにより重複排除を実行するストレージ装置を制御するストレージ装置制御方法であって、
データ取得部が、データを取得し、
情報取得部が、他の装置による重複排除の実行によりデータが分割された分割単位を示す付加情報を有する情報を取得し情報記憶部に記憶させ、
重複排除部が、前記情報記憶部に記憶されている前記情報が有する付加情報に示された分割単位よりも小さい分割単位で前記データ取得部により取得されたデータを分割して重複排除を実行し、重複排除を実行して得られたデータをデータ記憶部に記憶させる、
ことを特徴とするストレージ装置制御方法。
【符号の説明】
【０２０９】
１  ストレージ装置
１ａ  情報取得部
１ｂ  データ取得部
１ｃ  重複排除部
１ｄ  情報記憶部
１ｅ  データ記憶部
１ｅ１１，１ｅ１２，１ｅ２１，１ｅ２２，２ａ１，２ａ２  データ
【図１】
0005434705.tif 000002
【図２】
0005434705.tif 000003
【図３】
0005434705.tif 000004
【図４】
0005434705.tif 000005
【図５】
0005434705.tif 000006
【図６】
0005434705.tif 000007
【図７】
0005434705.tif 000008
【図８】
0005434705.tif 000009
【図９】
0005434705.tif 000010
【図１０】
0005434705.tif 000011
【図１１】
0005434705.tif 000012
【図１２】
0005434705.tif 000013
【図１３】
0005434705.tif 000014
【図１４】
0005434705.tif 000015
【図１５】
0005434705.tif 000016
【図１６】
0005434705.tif 000017
【図１７】
0005434705.tif 000018
【図１８】
0005434705.tif 000019
【図１９】
0005434705.tif 000020
【図２０】
0005434705.tif 000021
【図２１】
0005434705.tif 000022