(57)【要約】  ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定する重複判定単位決定手段と、重複単位決定手段が決定した重複判定単位に基づいて、ストレージ装置が格納するデータの重複排除処理を行う重複排除手段とを含むことを特徴とする。
2012053152.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定する重複判定単位決定手段と、
前記重複単位決定手段が決定した重複判定単位に基づいて、前記ストレージ装置が格納するデータの重複排除処理を行う重複排除手段とを
含むことを特徴とするストレージシステム。
【請求項２】
重複判定単位決定手段は、算出した重複発生率間の差分に基づいて重複判定単位を決定する
請求項１記載のストレージシステム
【請求項３】
１台以上のファイルストレージ装置と、
重複排除型ストレージ装置とを備え、
前記ファイルストレージ装置のデータの重複発生傾向を複数のデータ分割単位で判定する際、データ分割単位ごとの重複発生率を算出して、比較することにより、データ分割単位を決定するデータ分割単位決定手段と、
前記データ分割単位決定手段が決定したデータ分割単位で、前記ファイルストレージ装置から前記重複排除型ストレージ装置にデータを再配置するデータ再配置手段とを備えた
ことを特徴とするストレージシステム。
【請求項４】
重複排除型ストレージ装置は、複数のデータ分割単位でデータを分割し、重複排除判定を行う重複排除判定手段を備えた
請求項３記載のストレージシステム。
【請求項５】
データ分割単位決定手段は、データの分割を行わないファイル単位、予め決められたデータサイズごとにファイルデータの先頭からデータを分割するブロック単位、又はファイルデータに含まれる他のファイル内に重複しうる要素単位でデータを分割するオブジェクト単位のうちのいずれかをデータ分割単位と決定する
請求項３又は請求項４記載のストレージシステム。
【請求項６】
ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定する重複判定単位決定手段と、
前記重複単位決定手段が決定した重複判定単位に基づいて、前記ストレージ装置が格納するデータの重複排除処理を行う重複排除手段とを
備えたことを特徴とするデータ管理装置。
【請求項７】
ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定し、
決定した重複判定単位に基づいて、前記ストレージ装置が格納するデータの重複排除処理を行う
ことを特徴とするデータ管理方法。
【請求項８】
コンピュータに、
ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定する重複判定単位決定処理と、
決定した重複判定単位に基づいて、前記ストレージ装置が格納するデータの重複排除を行う重複排除処理とを
実行させるためのデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、ストレージシステムにおけるデータ管理装置、データ管理方法及びデータ管理プログラムに関する。
【背景技術】
【０００２】
複数のコンピューティング端末で生成されたデータを集中的に格納するストレージ装置において、物理的な記録容量を削減するＤｅｄｕｐｌｉｃａｔｉｏｎと呼ばれる手法が用いられることある。これは、ハードディスクドライブなどの物理的な記憶媒体にデータを格納する段階で、既に格納されているデータとの重複を判定し、重複しているデータについては記憶媒体にデータを格納せず、既に格納済みの重複データへのポインタ情報のみを記録することによって、物理的な記録容量を削減する手法である。【０００３】
Ｄｅｄｕｐｌｉｃａｔｉｏｎでは、通常、ファイル単位やファイルシステム上で記憶媒体にデータを格納する際に固定的に割り振られる物理データブロック単位で、既に格納済みのデータとの重複の判定を行なう。この重複判定では、ディジタル認証等で用いられているＳＨＡ１やＭＤ５といったハッシュ関数により生成された数十〜数百ビットのサイズの小さいダイジェストデータ同士を比較判定することにより、同一のバイト列で構成されているファイルまたはデータブロックであるか否かを判定している。【０００４】
このような、ダイジェストデータを用いた重複判定手法を採用することにより、ストレージ装置上で実行される重複判定にかかる処理コストを低減することが可能となる。特に高速なＩ／Ｏ処理の実行が見込まれるストレージ処理においても、Ｉ／Ｏ処理と同時に重複判定を行うことで、Ｉ／Ｏ処理性能の劣化を抑えるといった効果も得られる。【０００５】
この様なダイジェストデータを重複判定手段として持つ、重複排除型ストレージシステムは、データ格納コストを下げる手段の一つとして広く適用が進んでいる。特に同一のバイト列により構成されるファイルやデータブロックが多数見込まれるコンピューティング環境における、バックアップデータの格納を目的としたストレージ装置や、複数の仮想ＯＳのシステム部分のイメージデータの格納を目的としたストレージ装置に適用されている。【０００６】
また、関連する技術として、例えば、特許文献１には、ＸＭＬフォーマットのデータを扱う際に、ＸＭＬフォーマットのデータの重複排除を可能とする方法が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−３２３４２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
一般的な重複排除ストレージ装置では、格納するデータを重複判定する際のデータの重複判定単位が単一である。つまり、ファイル単位や固定ブロック単位といった、予め固定的に定められた単一のデータ単位ごとに重複判定を実施することしかできない。【０００９】
また、前述のようなファイル単位や固定ブロック単位等の固定された単位で重複判定を行うのではなく、特定のファイルやデータフォーマットの種別に応じて重複判定に用いるデータの分割方法を変更することで、潜在的に重複しているデータをより多く抽出するなどの工夫がなされている技術がある。【００１０】
このように重複排除ストレージ装置で様々な重複判定単位を採用することで、潜在的に重複している可能性の高いデータを漏れなく検出することが可能となる。しかし、より小さなサイズのデータ単位での重複判定、またはより複雑なデータの分割方法を採用する場合には、その重複判定処理によるデータ格納時やデータ読み出し時の処理性能の劣化を招く要因となってしまう。【００１１】
すなわち、いずれの重複判定単位を採用したとしても、実際に格納されるデータの利用環境と、採用した重複判定単位とが整合していなければ、重複排除によるデータ格納コストの低減が実現できない。【００１２】
このように、単一の重複判定単位での重複判定処理や、ファイルやデータフォーマットの種別に応じた重複判定単位での重複判定処理においては、データの利用環境に基づく重複発生傾向と、その重複判定単位とが一致しなければ、重複していないデータに対する不要な処理を繰り返すこととなる。そのため、データの格納コストの低減のメリットが得られず、単にデータの書き込みや読み出し処理性能が劣化した非効率なストレージ装置となってしまうという課題がある。【００１３】
特許文献１に記載された方法を用いれば、重複排除率という点においては、効率良くデータの重複排除をすることができる。しかし、上記の課題については考慮されていない。【００１４】
例えば、一般的に、ファイル＜ブロック＜オブジェクトという順番で重複排除率が大きくなることが前提となっている中では、単なる重複排除率の大小だけの判断に基づいていては、全てのケースでオブジェクトが選択されてしまう。また、一方で分割処理の負荷という点では、ファイル＜ブロック＜オブジェクトの順番になることが明らかであり、分割方式間での重複排除率の差異が大きくなければ、処理負荷に見合った効果が得られない。【００１５】
そこで、本発明は、重複排除の管理コストに見合ったデータ格納容量の削減を行うことができるストレージシステム、データ管理装置、データ管理方法及びデータ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明によるストレージシステムは、ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定する重複判定単位決定手段と、重複単位決定手段が決定した重複判定単位に基づいて、ストレージ装置が格納するデータの重複排除処理を行う重複排除手段とを含むことを特徴とする。【００１７】
本発明によるストレージシステムは、１台以上のファイルストレージ装置と、重複排除型ストレージ装置とを備え、ファイルストレージ装置のデータの重複発生傾向を複数のデータ分割単位で判定する際、データ分割単位ごとの重複発生率を算出して、比較することにより、データ分割単位を決定するデータ分割単位決定手段と、データ分割単位決定手段が決定したデータ分割単位で、ファイルストレージ装置から重複排除型ストレージ装置にデータを再配置するデータ再配置手段とを含むことを特徴とする。【００１８】
本発明によるデータ管理装置は、ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定する重複判定単位決定手段と、重複単位決定手段が決定した重複判定単位に基づいて、ストレージ装置が格納するデータの重複排除処理を行う重複排除手段とを備えたことを特徴とする。【００１９】
本発明によるデータ管理方法は、ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定し、決定した重複判定単位に基づいて、ストレージ装置が格納するデータの重複排除処理を行うことを特徴とする。【００２０】
本発明によるデータ管理プログラムは、コンピュータに、ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定する重複判定単位決定処理と、決定した重複判定単位に基づいて、ストレージ装置が格納するデータの重複排除を行う重複排除処理とを実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、重複排除の管理コストに見合ったデータ格納容量の削減を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明によるストレージシステムの構成の一例を示すブロック図である。
【図２】データ管理装置３の機能構成の一例を示すブロック図である。
【図３】重複排除型ストレージ装置４の機能構成の一例を示すブロック図である。
【図４】データ再配置処理の一例を示す流れ図である。
【図５】重複排除型ストレージ装置４におけるデータ格納処理の一例を示す流れ図である。
【図６】重複排除型ストレージ装置４が格納するファイルデータの読み出し処理の一例を示す流れ図である。
【図７】ストレージシステムの最小の構成例を示すブロック図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照しながら本発明の実施形態について説明する。図１は、本発明によるストレージシステムの構成の一例を示すブロック図である。
【００２４】
本発明によるストレージシステムは、１つ以上のファイルストレージ装置１と、データ管理装置３と、重複排除型ストレージ装置４とを含む。また、ファイルストレージ装置１と、データ管理装置３と、重複排除型ストレージ装置４とは、インターネットやＬＡＮ等によって実現されるネットワーク２を介して相互に接続されているものとする。
【００２５】
なお、本実施形態のストレージシステムでは、ファイルストレージ装置１と、データ管理装置３と、重複排除型ストレージ装置４とは、それぞれ異なる装置であるが、これに限らず、例えば、データ管理装置３と、重複排除型ストレージ装置４とが単一の装置によって実現されていてもよいし、ファイルストレージ装置１と重複排除型ストレージ装置４とが単一の装置によって実現されていてもよい。また、例えば、ファイルストレージ装置１と、データ管理装置３と、重複排除型ストレージ装置４とが単一の装置によって実現されていてもよい。
【００２６】
ファイルストレージ装置１は、ファイルデータ（以下、単にファイルともいう）を格納する。ファイルストレージ装置１は、装置外部からネットワーク２を介して受信したファイルの新規作成、削除、読み出し、書き込み等のファイルアクセス処理要求に基づいて、格納しているファイルデータに対してファイルアクセス処理を実行する機能を備えている。また、ファイルストレージ装置１は、実行したファイルアクセス処理の結果を処理要求元に返信する機能を備えている。ファイルストレージ装置１は、具体的には、光ディスク装置や磁気ディスク装置等の記憶装置によって実現される。また、ファイルストレージ装置１は、例えば、データベースサーバによって実現されていてもよい。
【００２７】
次に、データ管理装置３について説明する。図２は、データ管理装置３の機能構成の一例を示すブロック図である。
【００２８】
図２に示すように、データ管理装置３は、ファイルデータ送受信部３０と、メタデータ管理部３１と、データ配置先決定部３２と、データ重複判定単位決定部３３と、データ再配置処理部３４とを含む。データ管理装置３は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。
【００２９】
ファイルデータ送受信部３０は、データ管理装置３と外部の装置との間でのファイルデータの入出力インターフェースであり、ＮＦＳ（Ｎｅｔｗｏｒｄ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）やＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）といった業界標準プロトコルに適応可能なクライアント機能を備えている。ファイルデータ送受信部３０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵ及びネットワークインタフェース部によって実現される。
【００３０】
メタデータ管理部３１は、ファイルストレージ装置１が格納しているファイル群に付与されたメタデータの中から、ファイル名と、最終更新時刻、最終アクセス時刻または最終メタデータ更新時刻のいずれかの時刻情報とを所定期間ごとに取得して記憶部（図示せず）に記憶させる機能を備えている。これらの情報の取得方法については、例えば、メタデータ管理部３１が所定期間ごとにファイルストレージ装置１にアクセスして抽出するようにしてもよいし、ファイルストレージ装置１が所定期間ごとにメタデータ管理部３１に送信するようにしてもよい。
【００３１】
また、メタデータ管理部３１は、ファイルストレージ装置１から重複排除型ストレージ装置４にファイルデータの再配置処理が行われているか否かを示すデータをメタデータと対応付けて記憶部に記憶させる機能を備えている。以下、メタデータ管理部３１が記憶部に記憶させたデータを、メタデータ管理部３１が保存しているデータ（メタデータ）とも表現する。メタデータ管理部３１は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。
【００３２】
データ配置先決定部３２は、メタデータ管理部３１が保存している最新のメタデータ群を参照し、所定のルールに基づいて、ファイルストレージ装置１から重複排除型ストレージ装置４に再配置するファイルデータ（以下、再配置対象ファイルともいう）を決定する機能を備えている。なお、所定のルールは、例えば、管理者等によって作成され、データ管理装置３の記憶部に格納されている。データ配置先決定部３２は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。
【００３３】
データ重複判定単位決定部３３は、メタデータ管理部３１が保存している最新のメタデータ群を参照し、ファイルストレージ装置１からファイルデータを取得する機能を備えている。また、データ重複判定単位決定部３３は、複数のデータ分割単位でデータを分割し、それらのデータ分割単位のうちの最も効率的に重複排除可能な単位を重複判定単位として決定し、さらに重複判定単位に基づくデータ分割方法を決定する機能を備えている。データ重複判定単位決定部３３は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。
【００３４】
データ再配置処理部３４は、データ配置先決定部３２が決定した再配置対象ファイルを、データ重複判定単位決定部３３が決定したデータ分割方法に基づいて、ファイルストレージ装置１から重複排除型ストレージ装置４に再配置する処理を行う機能を備えている。再配置とは、具体的には、ファイルストレージ装置１内の記憶領域から移動して重複排除型ストレージ装置内の記憶領域に格納することをいう。データ再配置処理部３４は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。
【００３５】
次に、重複排除型ストレージ装置４について説明する。図３は、重複排除型ストレージ装置４の機能構成の一例を示すブロック図である。
【００３６】
図３に示すように、重複排除型ストレージ装置４は、ファイルデータ送受信部４０と、名前空間管理部４１と、データ分割・合成部４２と、データ重複判定部４３と、データ管理部４４と、データ記憶部４５とを含む。
【００３７】
ファイルデータ送受信部４０は、重複排除型ストレージ装置４と外部の装置との間でのファイルデータの入出力インターフェースであり、ＮＦＳやＣＩＦＳといった業界標準プロトコルに適用可能なサーバ機能を備えている。
【００３８】
名前空間管理部４１は、ディレクトリ構造と、ディレクトリやファイル名とを管理するとともに、複数の独立したディレクトリツリーを外部に公開する機能を備えている。公開とは、具体的には、外部端末からの要求に応じて、ディレクトリツリーの情報をネットワーク２を介して外部端末に送信することをいう。
【００３９】
データ分割・合成部４２は、名前空間管理部４１の管理のもとにデータ記憶部４５に格納されるファイルデータをブロック単位またはオブジェクト単位で分割する機能を備えている。また、データ分割・合成部４２は、データ記憶部４５に格納されている分割後のデータを分割前の元のファイルデータに合成する機能を備えている。
【００４０】
データ重複判定部４３は、データ分割・合成部４２が分割した格納対象のデータが、既に格納済みのデータと重複しているか否かを判定する機能を備えている。
【００４１】
データ管理部４４は、データ分割・合成部４２が分割したデータと元（分割前）のファイルデータとの関連を示す情報を管理する機能を備えている。また、データ管理部４４は、データ記憶部４５が格納するデータの格納先アドレス情報を管理する機能を備えている。ここでの管理とは、具体的には、格納先アドレス情報を他の情報と対応付けて格納したり、随時更新したりすること等をいう。
【００４２】
データ記憶部４５は、データ管理部４４が指定したデータを格納する。データ記憶部４５は、具体的には、１つ又は複数の以上のＨＤＤ（ハードディスクドライブ）等で構成された記憶装置によって実現される。
【００４３】
本実施形態のストレージシステムでは、データ管理装置３は、ファイルストレージ装置１が格納しているファイルデータのうちの利用頻度の低いデータを判定するとともに、最も効率よく重複検出可能なデータの分割単位を判定し、利用頻度の低いデータを、最適な重複判定単位（データ分割単位）で重複排除型ストレージ装置４に格納させる。本実施形態のストレージシステムは、これらの処理を実行することによって、ストレージシステム全体のデータ格納容量を増加させることを目的としている。
【００４４】
次に、ストレージシステムの動作について説明する。本実施形態のストレージシステムの動作として、ファイルストレージ装置１から重複排除型ストレージ装置４へのデータの再配置処理と、重複排除型ストレージ装置４におけるデータ格納処理と、重複排除型ストレージ装置４に格納されたファイルデータの読み出し処理との３つの処理について説明する。なお、本実施形態では、ファイルストレージ装置１から重複排除型ストレージ装置４へのデータの再配置処理と、重複排除型ストレージ装置４におけるデータ格納処理とを実行することを、ファイルストレージ装置１が格納するデータの重複排除処理ともいう。
【００４５】
＜データ再配置処理＞
まず、ファイルストレージ装置１から重複排除型ストレージ装置４にファイルデータを再配置する処理について図４を参照して説明する。図４は、データ再配置処理の一例を示す流れ図である。
【００４６】
ここで、複数のファイルストレージ装置１のファイルシステムは、ネットワークファイルシステムにより公開されているものとする。データ管理装置３のメタデータ管理部３１は、ファイルデータ送受信部３０を介して、公開されている全てのファイルシステムごとに、ファイルシステムに格納されている全てのファイルのメタデータをファイルストレージ装置１から取得する（ステップＳ１０１）。
【００４７】
なお、メタデータは、ファイルの最終アクセス時刻、最終更新時刻または最終メタデータ更新時刻のうちのいずれかの時刻情報と、パス名情報とを含む。また、メタデータには、既に重複排除型ストレージ装置４に再配置されているファイルデータであるか否かを示すフラグが付与されているものとする。
【００４８】
次いで、メタデータ管理部３１は、ファイルストレージ装置１から取得したメタデータを、公開されているファイルシステムごとに記憶部に記憶させて保存する（ステップＳ１０２）。ここでは、メタデータ管理部３１は、既に重複排除型ストレージ装置４に再配置されているファイルデータであるか否かを示すフラグをメタデータに対応付けて保存するものとする。なお、本メタデータ取得動作は、例えば、ストレージシステム管理者によって予め定められた期間ごとに実行されるものとする。
【００４９】
メタデータ取得動作の完了後、データ配置先決定部３２は、メタデータ管理部３１が保存しているメタデータに基づいて、重複排除型ストレージ装置４に再配置する再配置対象ファイルを決定する（ステップＳ１０３）。
【００５０】
具体的には、データ配置先決定部３２は、メタデータ管理部３１が保存しているメタデータを参照し、付与されたフラグに基づいて、重複排除型ストレージ装置４に再配置されていないファイルを特定する。そして、データ配置先決定部３２は、特定したファイルのうち、最終アクセス時刻、最終更新時刻または最終メタデータ更新時刻のうちのいずれかの時刻情報に基づいて、所定期間以上のアクセス、更新またはメタデータ更新がないファイルを特定し、これを再配置対象ファイルと決定する。
【００５１】
なお、メタデータ管理部３１は、例えば、２回目以降のファイルストレージ装置１からのメタデータ取得動作においては、データ配置先決定部３２が再配置対象と決定していないファイルおよび前回のメタデータ取得動作以降に作成されたファイルのみをメタデータ取得の対象とする。
【００５２】
また、メタデータ管理部３１は、メタデータ取得後、最終アクセス時刻、最終更新時刻または最終メタデータ更新時刻のうちのいずれかの時刻情報が前回から更新されているかどうか判定し、判定結果に基づいて新規作成ファイルまたは時刻情報の更新されたファイルであることを示すフラグをメタデータと対応付けて保存するものとする。
【００５３】
また、メタデータ管理部３１によるメタデータ取得動作の完了後、データ重複判定単位決定部３３は、メタデータ管理部３１が保存している最新のメタデータに基づいて、管理対象となっているファイルシステム単位で、ファイルデータ送受信部３０を介してファイルストレージ装置１からファイルデータを取得する。
【００５４】
そして、データ重複判定単位決定部３３は、ファイル単位、ブロック単位およびオブジェクト単位の３つの単位でデータを分割し、ファイルストレージ装置１のファイルシステムごとに、３つの単位のデータ分割方法による、データの重複発生率を算出する（ステップＳ１０４）。なお、重複発生率については、例えば、次の式を用いて算出することができる。
【００５５】
（データの重複発生率）＝（実際に重複したデータの総数）／（重複評価データの総数）
【００５６】
次いで、データ重複判定単位決定部３３は、算出した重複発生率に基づいて、重複判定単位を決定する（ステップＳ１０５）。
【００５７】
具体的には、データ重複判定単位決定部３３は、（ファイル単位での重複発生率）＜（ブロック単位での重複発生率）であり、かつ（ファイル単位での重複発生率）／（ブロック単位での重複発生率）で求めた値であるＮが、予め定められた所定の閾値以上であるという条件に合致するか否かを判定する。
【００５８】
そして、条件に合致すると判定した場合には、データ重複判定単位決定部３３は、ファイルをブロック単位に分割して重複排除格納することが最も効率が良いものとして決定する。すなわち、データ重複判定単位決定部３３は、ブロック単位を重複判定単位と決定する。
【００５９】
一方、条件に合致しないと判定した場合には、データ重複判定単位決定部３３は、ファイル単位で重複排除格納することが最も効率が良いものとして決定する。すなわち、データ重複判定単位決定部３３は、ファイル単位を重複判定単位と決定する。
【００６０】
また同様にして、データ重複判定単位決定部３３は、（ブロック単位での重複発生率）＜（オブジェクト単位での重複発生率）であり、かつ（ブロック単位での重複発生率）／（ブロック単位での重複発生率）で求めた値であるＮが、予め定められた所定の閾値以上であるという条件に合致するか否かを判定する。
【００６１】
そして、条件に合致すると判定した場合には、データ重複判定単位決定部３３は、ファイルをオブジェクト単位に分割して重複排除格納することが最も効率が良いものとして決定する。すなわち、データ重複判定単位決定部３３は、オブジェクト単位を重複判定単位と決定する。
【００６２】
一方、条件に合致しないと判定した場合には、データ重複判定単位決定部３３は、ファイルをブロック単位で重複排除格納することが最も効率が良いものとして決定する。すなわち、データ重複判定単位決定部３３は、ブロック単位を重複判定単位と決定する。
【００６３】
なお、データが重複しているか否かについては、次のような方法で判定することができる。例えば、データ重複判定単位決定部３３は、データからハッシュ関数を用いてダイジェストデータを算出し、算出したダイジェストデータをパス名とともにハッシュテーブル上で管理しておく。そして、データ重複判定単位決定部３３は、新たに算出したダイジェスト値が既に算出したダイジェスト値と合致するか否かに基づいて、データが重複しているか否かを判定する。
【００６４】
以上のように、データ重複判定単位決定部３３は、すべてのファイルシステムにおいて最も重複排除効率が良い単位である重複判定単位を決定する。ここでの重複排除効率には、重複排除率に加え、処理の負荷と効果とを考慮した重複排除の管理コストが反映されているといえる。
【００６５】
そして、データ重複判定単位決定部３３は、重複判定単位に基づくデータの分割方法を決定し、メタデータ管理部３１が管理しているファイルシステムでの最適なデータ分割方法として設定する（ステップＳ１０６）。
【００６６】
このように、本実施形態では、異なる分割方法間における重複排除率の差分の大小に基づいてデータの分割手法を決定している。したがって、複数の分割方法の重複排除率に基づいてデータの分割方法を決定している先行技術に対し、処理負荷に見合った効果を得ることができるデータの分割方法を選択することができる。
【００６７】
なお、データ重複判定単位決定部３３による最も重複排除効率が良いデータ分割方法（重複判定単位）の決定動作（すなわち、ステップＳ１０４からステップＳ１０６）については、データ配置先決定部３２による初回の再配置対象のファイルの決定動作（すなわち、ステップＳ１０３）に併せて動作し、初回の再配置対象のファイルの決定動作時のみ動作することとする。
【００６８】
また、例えば、データ重複判定単位判定手段３３は、所定期間ごとにデータ分割方法の決定動作を実行し、新たに決定したデータ分割方法が、設定したデータ分割方法と異なる場合には、新たに決定したデータ分割方法を最適なデータ分割方法として再設定するようにしてもよい。また、例えば、ストレージシステムは、再設定された最適な重複判定単位（データ分割方法）で、既に格納済みのデータを格納し直すデータ再格納手段（図示せず）を備えていてもよい。
【００６９】
データ配置先決定部３２が再配置対象ファイルを決定し、データ重複判定単位決定部３３が最適な重複判定単位（すなわち、データ分割方法）を決定すると、データ再配置処理部３４は、再配置対象ファイルをファイルストレージ装置１から読み出し、データ分割方法に基づいて重複排除型ストレージ装置４に書き込む（ステップＳ１０７）。
【００７０】
ここで、重複排除型ストレージ装置４は、ファイル単位、ブロック単位、オブジェクト単位の分割方法ごとに、データの格納先となる専用のファイルシステムを備えている。そして、データ再配置処理部３４は、データ重複判定単位決定部３３が決定した最適なデータ分割方法に対応したファイルシステムを、重複排除型ストレージ装置４における格納先として選択する。
【００７１】
なお、具体的には、データ配置先決定部３２が再配置対象ファイルとともに書き込み要求を重複排除型ストレージ装置４に送信し、重複排除型ストレージ装置４が書き込み要求に従って書き込み処理を行うが、この処理の詳細については後述する。
【００７２】
次いで、重複排除型ストレージ装置４へのファイルデータの書き込みを行うと、データ再配置処理部３４は、ファイルストレージ装置１の読み出し元のファイルを、重複排除型ストレージ装置４に格納したファイルへのリンクファイルに書き換える（ステップＳ１０８）。具体的には、データ配置先決定部３２が書き換え要求をファイルストレージ装置１に送信し、ファイルストレージ装置１が書き換え要求に従って書き換え処理を行う。その後、データ再配置処理部３４は、ファイルの再配置処理を終了する。
【００７３】
なお、ファイルストレージ装置１は、例えば、シンボリックリンクファイル等のリンクファイルを作成するものとする。また、作成されたリンクファイルは、再配置先となる重複排除型ストレージ装置４の格納先アドレス情報を含むものとする。
【００７４】
以上のようにデータ再配置処理部３４が全ての再配置対象ファイルの再配置処理を完了すると、データ管理装置３は、データ再配置処理を終了する。
【００７５】
＜重複排除型ストレージ装置４におけるデータ格納処理＞
次に、重複排除型ストレージ装置４におけるデータ格納処理について図５を参照して説明する。図５は、重複排除型ストレージ装置４におけるデータ格納処理の一例を示す流れ図である。
【００７６】
本実施形態の重複排除型ストレージ装置４は、データ管理装置３が決定可能な各重複判定単位（データ分割方法）に対応した専用の名前空間を複数備えている。また、これらの名前空間は、ファイルデータ送受信部４０を介して外部に公開されていることとする。したがって、少なくとも、ファイル単位、ブロック単位およびオブジェクト単位に対応した３つ以上の名前空間が外部に公開されていることとする。なお、オブジェクト単位でのデータ分割方法に対応する名前空間については、ファイルのフォーマットの種別ごとに複数存在していてもよいこととする。
【００７７】
これらの名前空間は、名前空間管理部４１によって管理されている。また、各名前空間は、データ分割・合成部４２が実行可能なデータ分割方式に対応付けられていることとする。
【００７８】
重複排除型ストレージ装置４におけるデータ格納処理の前段階として、データ管理装置３のデータ再配置処理部３４は、ファイルストレージ装置１が格納する再配置対象のファイルデータを抽出する。そして、データ再配置処理部３４は、重複排除型ストレージ装置４が備えている名前空間のうち、対応付けられたデータ分割方法が、データ重複判定単位決定部３３が決定したデータ分割方法と合致する名前空間をファイルデータの格納先として選択する。
【００７９】
次いで、データ管理装置３のデータ再配置処理部３４は、重複排除型ストレージ装置４に、抽出したファイルデータとともに、選択した格納先を示す情報を含む書き込み要求を送信する。
【００８０】
データ管理装置３が上記の処理を実行すると、重複排除型ストレージ装置４のファイルデータ送受信部４０は、ファイルデータとともに、書き込み要求を受信する（ステップＳ２０１）。そして、ファイルデータ送受信部４０は、受信したファイルデータと書き込み要求とに基づいて、データの格納先となる名前空間を管理する名前空間管理部４１にファイルデータを出力する。
【００８１】
次いで、名前空間管理部４１は、ファイル名を含む名前空間上でのパス名を示すパス名情報を記憶部に記憶させて保存する（ステップＳ２０２）。その後、名前空間管理部４１は、データ分割・合成部４２にファイルデータを出力する。
【００８２】
次いで、データ分割・合成部４２は、格納先の名前空間に対応付けられたデータ分割方法でファイルデータを分割し、分割後の各データに重複排除型ストレージ装置４内で一意に識別するための識別子を付与する（ステップＳ２０３）。その後、データ分割・合成部４２は、分割したデータをデータ重複判定部４３に出力する。
【００８３】
次いで、データ重複判定部４３は、データからハッシュ関数を用いてダイジェスト値を算出し、算出したダイジェスト値が、既に格納済みとなっているデータのダイジェスト値と合致するか否かを判定する（ステップＳ２０４）。なお、格納済みデータのダイジェスト値の一覧はデータ管理部４４にテーブル化して登録されているものとする（以下、このテーブルをアドレス管理テーブルともいう）。データ重複判定部４３は、算出したダイジェスト値とアドレス管理テーブルに登録されているダイジェスト値との照合を行うこととする。
【００８４】
格納済みデータのダイジェスト値と合致しないと判定した場合、データ重複判定部４３は、ダイジェスト値と、ダイジェスト値に対応するデータとを、データ分割・合成部４２が付与した識別子とともにデータ管理部４４に出力する。
【００８５】
次いで、データ管理部４４は、ダイジェスト値をアドレス管理テーブルに登録するとともに、データをデータ記憶部４５に格納させ、データ記憶部４５における格納先アドレス情報を取得する（ステップＳ２０５）。
【００８６】
その後、データ管理部４４は、識別子とともに格納先アドレス情報をデータ重複判定部４３に出力する。さらに、データ管理部４４は、格納先アドレス情報をステップＳ２０５において登録したダイジェスト値に対応付けてアドレス管理テーブルに登録する。
【００８７】
識別子と格納先アドレス情報とは、データ重複判定部４３から、データ分割・合成部４２を経由して、名前空間管理部４１に出力される。すなわち、データ重複判定部４３は、識別子と格納先アドレス情報とを、名前空間管理部４１に対して出力する。
【００８８】
また、ステップＳ２０４において格納済みデータのダイジェスト値と合致すると判定した場合、データ重複判定４３は、データ管理部４４が管理するアドレス管理テーブルに登録されている合致したダイジェスト値に対応付けられている格納先アドレス情報を取得する（ステップＳ２０６）。
【００８９】
識別子と格納先アドレス情報とは、同様に、データ重複判定部４３から、データ分割・合成部４２を経由して、名前空間管理部４１に出力される。すなわち、データ重複判定部４３は、識別子と格納先アドレス情報とを、名前空間管理部４１に対して出力する。
【００９０】
名前空間管理部４１は、ステップＳ２０５またはＳ２０６において出力された識別子と格納先アドレス情報とを、ファイル名を含む名前空間上のパス名情報と対応付けて管理する（ステップＳ２０７）。すなわち、名前空間管理部４１は、識別子および格納先アドレス情報を、ステップＳ２０２で保存したパス名情報と対応付けて記憶部に記憶させる。なお、名前空間管理部４１は、これらの情報を、名前空間管理テーブルとしてテーブル化して管理しているものとする。
【００９１】
データ分割・合成部４２が分割した全てのデータについて、データ重複判定部４３での処理（具体的には、ステップＳ２０４からＳ２０７）が終了すると、名前空間管理部４１は、ファイルデータの格納処理が終了したと判断する。そして、名前空間管理部４１は、ファイルデータ送受信部４０を介して、データ管理装置３に、ファイルデータの格納処理が終了したことを通知する。以上の処理により、重複排除型ストレージ装置４でのファイルデータの格納処理が終了する。
【００９２】
＜重複排除型ストレージ装置４が格納するファイルデータの読み出し処理＞
次に、重複排除型ストレージ装置４が格納するファイルデータの読み出し処理について図６を参照して説明する。図６は、重複排除型ストレージ装置４が格納するファイルデータの読み出し処理の一例を示す流れ図である。
【００９３】
ある端末装置がファイルデータを指定した情報（例えば、パス名情報など）を含む読み出し要求を重複排除型ストレージ装置４に送信すると、ファイルデータ送受信部４０は、読み出し要求を受信し、名前空間管理部４１に出力する（ステップＳ３０１）。
【００９４】
次いで、名前空間管理部４１は、読み出し要求で指定される読み出し対象のファイルデータに対応するエントリを、例えば、パス名情報に基づいて、名前空間管理テーブルから特定する。そして、名前空間管理部４１は、特定したエントリに対応付けて管理している、分割後のデータのデータ記憶部４５における格納先アドレス情報をすべて抽出する。そして、名前空間管理部４１は、抽出した格納先アドレス情報とともに読み出し要求をデータ管理部４４に出力する（ステップＳ３０２）。
【００９５】
次いで、データ管理部４４は、格納先アドレス情報に基づいてデータ記憶部４５から対応するデータを読み出し、読み出したデータを名前空間管理部４１に出力する（ステップＳ３０３）。
【００９６】
名前空間管理テーブルに登録されているファイルデータ読み出し対象のエントリに対応付けられたすべてのデータの読み出し処理が終了すると、名前空間管理部４１は、ファイルデータがブロック単位またはオブジェクト単位で分割されているか否かを判定する（ステップＳ３０４）。そして、分割されていると判定した場合には、名前空間管理部４１は、データ管理部４４が出力したすべてのデータ（分割後のデータ）をデータ分割・合成部４２に出力する。
【００９７】
次いで、データ分割・合成部４２は、分割後のデータを元の１つのファイルデータに合成する（ステップＳ３０５）。その後、データ分割・合成部４２は、合成したファイルデータを名前空間管理部４１に出力する。
【００９８】
次いで、名前空間管理部４１は、ファイルデータ送受信部４０を介して、ファイルデータ読み出し要求の送信元の端末装置に、合成した（またはブロック単位もしくはオブジェクト単位で分割されていなかった）ファイルデータを送信する（ステップＳ３０６）。以上の処理によって、ファイルデータの読み出し処理が終了する。
【００９９】
以上、図面を参照してこの発明の一実施形態について説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【０１００】
上述の重複排除型ストレージ装置４は、内部にコンピュータシステムを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスクや光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータがプログラムを実行するようにしても良い。
【０１０１】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１０２】
以上のように、本実施形態では、複数のデータ単位でデータの重複を判定する手段を備えた重複排除型ストレージ装置と、ファイルストレージ装置群に格納されているファイルデータ群の最適なデータ単位での重複排除方法を判定する手段とを備えている。そして、これらの手段が実行する処理により、ファイルストレージ装置群を利用するユーザやアプリケーションが生成する重複データの傾向およびファイルデータの種別にあわせた、ストレージシステムへのデータの重複排除格納を実現することが可能となる。すなわち、重複排除型ストレージ装置へのデータの格納容量を削減すると共に、予め固定的に定められたデータ単位を用いるのではなく、データ単位を動的に決定することで、重複発生傾向に合わない重複排除を実行することにより発生してしまう、余分な重複排除用の管理データを増やすことがないため、重複排除管理コストに見合ったデータ格納容量の削減を行うことが可能となる。
【０１０３】
以上に説明したように、本発明はデータの利用環境に基づく重複発生傾向と重複判定単位とが一致しないことによるデータの重複排除型ストレージ装置の非効率性を解決するためのストレージシステムであって、例えば、あるファイルストレージ装置群に格納されたファイルデータ群の中から、長期保存対象となるファイルデータをアーカイブする目的で利用されるストレージシステムを前提とする。
【０１０４】
本発明によるストレージシステムは、ファイルストレージ装置群に格納されたファイルデータのメタデータの中から、最終アクセス時刻または最終更新時刻に関わるデータを取得し、所定期間以上、アクセスや更新がないファイル群を抽出し、ファイルストレージ装置に格納されたデータを、重複排除型ストレージ装置へ配置するか否かを決定するデータ配置先決定手段と、データ配置先決定手段の決定に基づいてデータの再配置処理を実行するデータ再配置処理手段と、ファイルストレージ装置群に格納されているファイルデータを取得し、ファイル単位、ブロック単位、またはオブジェクト単位のそれぞれの単位で必要に応じてデータを分割し、分割したデータ間にデータの重複があるか否かを判定し、各単位でデータの重複がどの程度検出可能かを算出し、どのデータ単位にデータを分割し重複判定を行うのが最適かを決定するデータ重複判定単位決定手段と、データ重複判定単決定位手段が最適な重複判定単位を変更した場合、最適な重複判定単位で、既に格納済みのデータを格納し直すデータ再格納手段とを備えていることを特徴とする。
【０１０５】
また、重複排除型ストレージ装置は、ファイル単位、ブロック単位またはオブジェクト単位のそれぞれのデータ分割方法で格納対象となるファイルデータを分割し、それぞれのデータ分割単位で、既に格納済みのデータとのデータの重複があるか否かを判定する重複判定手段と、重複判定手段がデータの重複が存在すると判定した場合、重複したデータ自体を保存せずに、既に格納済みのデータへのポインタデータのみを格納するデータ格納管理手段とを備えていることを特徴とする。
【０１０６】
なお、ブロック単位でのデータの分割とは、予め決められたデータサイズごとに、ファイルデータの先頭からデータを分割することを表している。
【０１０７】
また、オブジェクト単位でのデータ分割とは、ファイルデータに含まれるテキストデータや画像データといった他のファイル内に重複しうる要素単位でデータを分割することを表している。
【０１０８】
次に、本発明によるストレージシステムの最小構成について説明する。図７は、ストレージシステムの最小の構成例を示すブロック図である。図７に示すように、ストレージシステムは、最小の構成要素として、重複判定単位決定手段１００と、重複排除手段２００とを含む。
【０１０９】
図７に示す最小構成のストレージシステムでは、重複判定単位決定手段１００は、ストレージ装置が格納するデータを複数の単位で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定する。次いで、重複排除手段２００は、重複単位決定手段１００が決定した重複判定単位に基づいて、ストレージ装置が格納するデータの重複排除処理を行う。
【０１１０】
従って、最小構成のストレージシステムによれば、重複発生傾向に合わせて重複排除を実行するため、余分な重複排除用の管理データを増やすことがなく、重複排除管理コストに見合ったデータ格納容量の削減を行うことが可能となる。
【０１１１】
なお、本実施形態では、以下の（１）〜（５）に示すようなストレージシステムの特徴的構成が示されている。
【０１１２】
（１）ストレージシステムは、ストレージ装置（例えば、ファイルストレージ装置１）が格納するデータを複数の単位（例えば、ファイル単位やブロック単位、オブジェクト単位など）で分割して単位ごとに算出した重複発生率に基づいて、データの重複判定を行う単位である重複判定単位を決定する重複判定単位決定手段（例えば、データ重複判定単位決定部３３によって実現される）と、重複単位決定手段が決定した重複判定単位に基づいて、ストレージ装置が格納するデータの重複排除処理を行う重複排除手段（例えば、データ再配置処理部３４、データ分割・合成部４２、データ重複判定部４３およびデータ管理部４４によって実現される）とを含むことを特徴とする。
【０１１３】
（２）ストレージシステムにおいて、重複判定単位決定手段は、算出した重複発生率間の差分に基づいて重複判定単位を決定するように構成されていてもよい。
【０１１４】
（３）ストレージシステムは、１台以上のファイルストレージ装置（例えば、ファイルストレージ装置１）と、重複排除型ストレージ装置（例えば、重複排除型ストレージ装置２）とを備え、ファイルストレージ装置のデータの重複発生傾向を複数のデータ分割単位で判定する際、データ分割単位ごとの重複発生率を算出して、比較することにより、データ分割単位を決定するデータ分割単位決定手段（例えば、データ重複判定単位決定部３３によって実現される）と、データ分割単位決定手段が決定したデータ分割単位で、ファイルストレージ装置から重複排除型ストレージ装置にデータを再配置するデータ再配置手段（例えば、データ再配置処理部３４、データ分割・合成部４２、データ重複判定部４３およびデータ管理部４４によって実現される）とを含むことを特徴とする。
【０１１５】
（４）ストレージシステムにおいて、重複排除型ストレージ装置は、複数のデータ分割単位でデータを分割し、重複排除判定を行う重複排除判定手段（例えば、データ分割・合成部４２およびデータ重複判定部４３によって実現される）を備えるように構成されていてもよい。
【０１１６】
（５）ストレージシステムにおいて、データ分割単位決定手段は、データの分割を行わないファイル単位、予め決められたデータサイズごとにファイルデータの先頭からデータを分割するブロック単位、又はファイルデータに含まれる他のファイル内に重複しうる要素単位でデータを分割するオブジェクト単位のうちのいずれかをデータ分割単位と決定するように構成されていてもよい。
【０１１７】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１８】
この出願は、２０１０年１０月１９日に出願された日本特許出願２０１０−２３４８０７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１１９】
本発明は、データを集中的に格納するストレージ装置において、物理的な記録容量を削減する用途に適用可能である。
【符号の説明】
【０１２０】
１  ファイルストレージ装置
２  ネットワーク
３  データ管理装置
４  重複排除型ストレージ装置
３０  ファイルデータ送受信部
３１  メタデータ管理部
３２  データ配置先決定部
３３  データ重複判定単位決定部
３４  データ再配置処理部
４０  ファイルデータ送受信部
４１  名前空間管理部
４２  データ分割・合成部
４３  データ重複判定部
４４  データ管理部
４５  データ記憶部
１００  重複判定単位決定手段
２００  重複排除手段
【図１】
2012053152.tif 000003
【図２】
2012053152.tif 000004
【図３】
2012053152.tif 000005
【図４】
2012053152.tif 000006
【図５】
2012053152.tif 000007
【図６】
2012053152.tif 000008
【図７】
2012053152.tif 000009
【国際調査報告】
2012053152.tif 000010
2012053152.tif 000011
2012053152.tif 000012
2012053152.tif 000013