(57)【要約】【課題】重複記憶を排除してデータ容量を削減すること。【解決手段】ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納するデータ処理手段と、を備えている。そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する。【選択図】図１３
2010204970.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを構成する分割データを格納するデータ格納部と、
前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
前記データ格納部に対して前記分割データを記憶し、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納すると共に、前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生するデータ処理手段と、を備え、
前記データ処理手段は、前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成した前記メタデータを、前記メタデータ格納部に格納する、
ストレージシステム。
【請求項２】
請求項１記載のストレージシステムであって、
前記データ処理手段は、前記メタデータの格納位置を表す上位メタデータを、前記メタデータ格納部に格納し、
前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された１つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
ストレージシステム。
【請求項３】
請求項２記載のストレージシステムであって、
前記データ処理手段は、前記上位メタデータの前記上位メタアドレス部に、他の前記上位メタデータにて参照されている既存の前記メタデータを構成する前記アドレス部の格納位置を表す前記アドレス情報を記憶する、
ストレージシステム。
【請求項４】
請求項２又は３記載のストレージシステムであって、
前記データ処理手段は、前記上位メタデータの前記上位メタアドレス部に、他の前記上位メタデータにて参照されている既存の前記メタデータを構成する前記キー部の格納位置を表す前記アドレス情報を記憶する、
ストレージシステム。
【請求項５】
請求項２乃至４のいずれか一項に記載のストレージシステムであって、
前記データ処理手段は、前記上位メタキー部と前記上位メタアドレス部とを相互に分離したデータにて構成した前記上位メタデータを、前記メタデータ格納部に格納する、
ストレージシステム。
【請求項６】
請求項５記載のストレージシステムであって、
前記データ処理部は、前記上位メタキー部及び前記上位メタアドレス部を有しており、他の前記上位メタデータの格納位置を表し、当該他の上位メタデータよりも上位階層に位置する前記上位メタデータを、前記メタデータ格納部に格納し、
前記上位階層に位置する上位メタデータの前記上位メタアドレス部は、前記上位メタキー部に記憶された１つの前記ファイル内位置情報に対応して、下位階層に位置する前記他の上位メタデータの前記上位メタキー部と前記上位メタアドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する、
ストレージシステム。
【請求項７】
請求項６記載のストレージシステムであって、
前記データ処理手段は、前記上位階層に位置する上位メタデータの前記上位メタアドレス部に、別の上位メタデータにて参照されている既存の前記上位メタデータを構成する前記上位メタアドレス部の格納位置を表す前記アドレス情報を記憶する、
ストレージシステム。
【請求項８】
請求項６又は７記載のストレージシステムであって、
前記データ処理手段は、前記上位階層に位置する上位メタデータの前記上位メタアドレス部に、別の上位メタデータにて参照されている既存の前記上位メタデータを構成する前記上記メタキー部の格納位置を表す前記アドレス情報を記憶する、
ストレージシステム。
【請求項９】
請求項１乃至８のいずれか一項に記載のストレージシステムであって、
前記データ処理手段は、前記メタデータ格納部に格納された前記メタデータの前記キー部及び／又は前記アドレス部を、当該キー部及び／又はアドレス部に格納された情報と、他の前記メタデータの前記キー部及び／又は前記アドレス部に格納された情報と、に基づいて分割する、
ストレージシステム。
【請求項１０】
請求項９記載のストレージシステムであって、
前記データ処理手段は、前記メタデータの前記キー部及び／又は前記アドレス部を、当該キー部及び／又はアドレス部に格納された情報と、他の前記メタデータの前記キー部及び／又は前記アドレス部に格納された情報と、が同一となるよう分割する、
ストレージシステム。
【請求項１１】
請求項１乃至１０のいずれか一項に記載のストレージシステムであって、
前記アドレス部に格納されている前記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
前記データ処理手段は、前記アドレステーブルに記憶された前記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
ストレージシステム。
【請求項１２】
請求項２乃至１０のいずれか一項に記載のストレージシステムであって、
前記アドレス部及び前記上位メタアドレス部に格納された前記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
前記データ処理手段は、前記アドレステーブルに記憶された前記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
ストレージシステム。
【請求項１３】
請求項１１又は１２記載のストレージシステムであって、
前記データ処理手段は、前記アドレステーブルに記憶されている参照数が０である前記アドレス情報が参照するデータを削除する、
ストレージシステム。
【請求項１４】
ファイルを構成する分割データを格納するデータ格納部と、前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置に、
前記データ格納部に対して前記分割データを記憶し、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納すると共に、前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生するデータ処理手段を実現させると共に、
前記データ処理手段は、前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成した前記メタデータを、前記メタデータ格納部に格納する、
プログラム。
【請求項１５】
請求項１４記載のプログラムであって、
前記データ処理手段は、前記メタデータの格納位置を表す上位メタデータを、前記メタデータ格納部に格納し、
前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された１つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
プログラム。
【請求項１６】
ファイルを構成する分割データを格納するデータ格納部と、
前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
前記データ格納部に対して前記分割データを記憶し、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納すると共に、前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生するデータ処理手段と、を備えたストレージシステムにて、前記メタデータ格納部に格納するデータのデータ構造であって、
前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成されたメタデータを有するデータのデータ構造。
【請求項１７】
請求項１６記載のデータ構造であって、
前記データ処理手段にて前記メタデータ格納部に格納される、前記メタデータの格納位置を表す上位メタデータを有し、
前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された１つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有するデータのデータ構造。
【請求項１８】
ファイルを構成する分割データを格納するデータ格納部と、前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置にて、
前記データ格納部に対して前記分割データを記憶して、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納し、
前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生すると共に、
前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成した前記メタデータを、前記メタデータ格納部に格納する、
データ処理方法。
【請求項１９】
請求項１８記載のデータ処理方法であって、
前記メタデータの格納位置を表す上位メタデータを、前記メタデータ格納部に格納し、
前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された１つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムにかかり、特に、データを分散して複数の記憶装置に記憶するストレージシステムに関する。
【背景技術】
【０００２】
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
【０００３】
このような状況に応じて、近年では、特許文献１に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。
【０００４】
具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納している。そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
【０００５】
また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２３５１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、コンテンツアドレスストレージシステムでは、格納するデータの格納位置を特定するコンテンツアドレスを、メタデータとして記憶しており、特に、データ数が増えると、メタデータを階層化して記憶している。例えば、図１に、コンテンツアドレスストレージシステムのメタデータの一例を示す。この図に示すように、メタデータ１８１，１８２，１７１は、分割したデータの元のファイルにおける位置を表す情報を格納するキー部１８１ａ，１８２ａ，１７１ａと、データあるいは他のメタデータの格納位置を表す情報を格納するアドレス部１８１ｂ，１８２ｂ，１７１ｂと、により構成されている。そして、アドレス部１８１ｂ，１８２ｂ，１７１ｂに同じコンテンツアドレスが格納されている場合には、同じ格納位置のデータを参照していることとなる。
【０００８】
しかしながら、上述したコンテンツアドレスストレージシステムでは、例えば、図１の符号１８１ｂ，１８２ｂに示すように、メタデータ内のアドレス部に同じ内容のデータが格納される場合が生じる。つまり、コンテンツアドレスデータが重複して記録される場合が多々あり、データ容量が増加してしまう、という問題が生じる。
【０００９】
このため、本発明の目的は、上述した課題である、重複記憶を排除してデータ容量を削減し、記憶コストの低減を図ることができるストレージシステムを提供する、ことにある。
【課題を解決するための手段】
【００１０】
かかる目的を達成するため本発明の一形態であるストレージシステムは、
ファイルを構成する分割データを格納するデータ格納部と、
上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段と、を備えている。
【００１１】
そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
【００１２】
また、本発明の他の形態であるプログラムは、
ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置に、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段を実現させる、というプログラムである。
【００１３】
そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
【００１４】
また、本発明の他の形態であるデータのデータ構造は、
ファイルを構成する分割データを格納するデータ格納部と、
上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段と、を備えたストレージシステムにて、上記メタデータ格納部に格納するデータのデータ構造である。
【００１５】
そして、上記データのデータ構造は、
上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成されたメタデータを有する、という構成を採る。
【００１６】
また、本発明の他の形態であるデータ処理方法は、
ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置にて、
上記データ格納部に対して上記分割データを記憶して、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納し、
上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生する。
【００１７】
そして、さらに、上記分割データ格納時、あるいは、任意のタイミングで、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
【発明の効果】
【００１８】
本発明は、以上のように構成されることにより、メタデータの記憶容量を削減して、ストレージシステム全体における記憶容量の削減を図り、記憶コストの低減を図ることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明に関連するストレージシステムに格納されるデータの構造を示すデータ構造図である。
【図２】本発明の実施形態１におけるストレージシステムを含むシステム全体の構成を示すブロック図である。
【図３】本発明の実施形態１におけるストレージシステムの構成の概略を示すブロック図である。
【図４】図３に開示したストレージシステムの構成及び記憶されるデータの構造を示す図である。
【図５】図３に開示したストレージシステムに記憶されるコンテンツアドレステーブルの一例を示す図である。
【図６】図３に開示したストレージシステムのルートノード及びインデックスノードに記憶されるメタデータの一例を示す図である。
【図７】図３に開示したストレージシステムのリーフノードに記憶されるメタデータの一例を示す図である。
【図８】図３に開示したストレージシステムにおけるデータ処理の様子を示す図である。
【図９】図３に開示したストレージシステムにおけるデータ処理の様子を示す図である。
【図１０】図３に開示したストレージシステムにおけるデータ処理の様子を示す図である。
【図１１】本発明の実施形態２におけるストレージシステムにて記憶されるデータの構造を示す図である。
【図１２】本発明の実施形態３におけるストレージシステムによるデータ処理の様子を説明する図である。
【図１３】実施形態４におけるストレージシステムの構成を示す機能ブロック図である。
【図１４】図１３に開示したストレージシステムに格納されるデータの構造の一例を示すデータ構造図である。
【発明を実施するための形態】
【００２０】
＜実施形態１＞
本発明の第１の実施形態を、図２乃至図１０を参照して説明する。図２は、システム全体の構成を示すブロック図である。図３は、ストレージシステムの概略を示すブロック図であり、図４は、構成及び記憶されるデータの構造を示す図である。図５は、コンテンツアドレステーブルの一例を示す図である。図６乃至図７は、記憶されるメタデータの一例を示す図である。図８乃至図１０は、データ処理の一例を示す図である。
【００２１】
ここで、本実施形態は、後述する実施形態４にて開示するストレージシステムの具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、１台のコンピュータで構成されていてもよい。
【００２２】
［構成］
図２に示すように、本発明におけるストレージシステム１０は、ネットワークＮを介してバックアップ処理を制御するバックアップシステム１１に接続している。そして、バックアップシステム１１は、ネットワークＮを介して接続されたバックアップ対象装置１２に格納されているバックアップ対象ファイル（ファイル）を取得し、ストレージシステム１０に対して記憶するよう要求する。これにより、ストレージシステム１０は、記憶要求されたバックアップ対象ファイルをバックアップ用に記憶する。
【００２３】
そして、図３に示すように、本実施形態におけるストレージシステム１０は、複数のサーバコンピュータが接続されて構成を採っている。具体的に、ストレージシステム１０は、ストレージシステム１０自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード１０Ａと、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード１０Ｂと、を備えている。なお、アクセラレータノード１０Ａの数とストレージノード１０Ｂの数は、図３に示したものに限定されず、さらに多くの各ノード１０Ａ，１０Ｂが接続されて構成されていてもよい。
【００２４】
そして、上記アクセラレータノード１０Ａは、図４に示すように、アクセラレータノード用プログラムが組み込まれることによって構築された、ファイルシステム部２０を備えている。このファイルシステム部２０は、バックアップシステム１１から取得したバックアップ対象ファイルと、実際に格納されているデータの格納位置などを管理し、後に読み出し可能とする機能を有する。なお、アクセラレータノード１０Ａのさらなる詳細な構成についての説明は省略する。
【００２５】
また、上記ストレージノード１０Ｂは、図４に示すように、ストレージノード制御部３０（データ処理手段）と、コンテンツアドレス部４０と、を備えている。そして、ストレージノード制御部３０は、コンテンツアドレス制御部３１を備えている。ここで、上記ストレージノード制御部３０は、ストレージノード１０Ｂが備えているＣＰＵ（Central Processing Unit）に、ストレージノード用プログラムが組み込まれることにより実現されている。
【００２６】
また、コンテンツアドレス部４０は、記憶装置に構成されており、後述するように、メタデータを格納するメタデータ部５０（メタデータ格納部）と、ファイルを構成する分割データを格納するデータ部９０（データ格納部）と、を備えている。そして、具体的に、メタデータ部５０は、データ部９０に格納するデータの格納位置を表すメタデータを格納する、ルートノード６０と、インデックスノード７０と、リーフノード８０と、を有している。これらルートノード６０、インデックスノード７０、リーフノード８０に格納される各メタデータは、上記ストレージノード制御部３０により、データ格納時、あるいは、任意のタイミングで、新規に生成あるいは更新され、格納される。なお、上記ルートノード６０、インデックスノード７０、リーフノード８０にストレージノード制御部３０によって格納されるメタデータのデータ構造については後述する。また、上記ストレージノード制御部３０が有するコンテンツアドレス制御部３１は、コンテンツアドレステーブルを記憶装置に記憶して管理しているが、これについても後述する。
【００２７】
次に、さらに図４を参照して、上述したストレージノード制御部３０にて記憶処理される、データ部９０に格納する格納データと、ルートノード９０と、インデックスノード７０と、リーフノード８０に格納される上記格納データの格納位置を表す各メタデータと、について詳述する。
【００２８】
まず、データ部９０に格納する格納データ９１，９２，９３は、ストレージシステムに記憶する記憶対象となるファイルを分割した分割データである。
【００２９】
そして、リーフノード８０に格納されるメタデータ８１，８２は、上記格納データ９１，９２等の格納位置を表すデータである。特に、このリーフノード８０に格納されるメタデータ８１は、図示するように、上記格納データ９１等の格納位置を表すアドレス情報であるコンテンツアドレス（ＣＡ）を格納するアドレス部８１ｂと、格納データ９１等の分割前におけるファイル内での相対位置を表すファイル内位置情報（ｆｉｌｅ  ｏｆｆｓｅｔ）を記憶するキー部８１ａと、を有している。そして、上記キー部８１ａとアドレス部８１ｂとは、相互に分離したファイル（データ）にて構成されている。
【００３０】
ここで、リーフノード８０に格納されているメタデータの実際の格納状態の一例を、図７に示す。図９（Ａ）は、キー部８１ａを構成するファイルを示し、図９（Ｂ）は、アドレス部８１ｂを構成するファイルを示している。そして、キー部８１ａとアドレス部８１ｂとは、上述したように相互に異なるファイルではあるが、それぞれに格納されているデータ、つまり、ｆｉｌｅ  ｏｆｆｓｅｔ（ファイル内位置情報）とＣＡ（コンテンツアドレス）とが、格納順に相互に対応している。例えば、ｆｉｌｅ  ｏｆｆｓｅｔ１とＣＡ１とが対応しており、ｆｉｌｅ  ｏｆｆｓｅｔ２とＣＡ２とが対応して、構成されている。なお、上記キー部８１ａ、アドレス部８１ｂ共に、それぞれ最大で３２０個のデータを格納している。
【００３１】
そして、アドレス部８１ｂに格納される上記ＣＡ（コンテンツアドレス）は、データ部９０に格納された格納データ９１等を参照しており、当該格納データ９１の格納位置に一意のデータである。例えば、ＣＡは、参照する格納データのデータ内容に基づいて生成されたハッシュ値の一部と物理的な位置情報を表す情報とを含んで生成されたデータである。また、キー部８１ａに格納される上記ｆｉｌｅ  ｏｆｆｓｅｔは、対応するＣＡが参照する格納データ９１等の分割前のファイルにおけるファイル内相対位置を表すデータである。例えば、図９（Ａ）、（Ｂ）に示すように、キー部８１ａには、ｆｉｌｅ  ｏｆｆｓｅｔ１，２の順に格納されている場合には、当該ｆｉｌｅ  ｏｆｆｓｅｔ１，２にそれぞれ対応するＣＡ１，ＣＡ２にそれぞれ対応するデータ部９０に格納された格納データ９１，９２が、分割前のファイルではこの順番に位置することを表している。
【００３２】
次に、インデックスノード７０に格納されているメタデータ７１，７２について説明する。インデックスノード７０に格納されるメタデータ７１（上位メタデータ）は、上述したリーフノード８０に格納されたメタデータ８１の格納位置を表すデータである。特に、このインデックスノード７０に格納されるメタデータ７１は、図４に示すように、まず、下段に、リーフノード８０に格納されたメタデータ８１を構成するキー部８１ａとアドレス部８１ｂとをそれぞれ参照するアドレス情報であるコンテンツアドレス（ＣＡ）を格納するアドレス部（上位メタアドレス部）を有する。また、その上段には、上記アドレス部にて参照する格納データの分割前におけるファイル内での相対位置を表すファイル内位置情報（ｆｉｌｅ  ｏｆｆｓｅｔ）を記憶するキー部（上位メタキー部）を有している。
【００３３】
特に、本実施形態では、インデックスノード７０に格納されたメタデータ７１は、上述した上段（上位メタキー部）に位置する１つのｆｉｌｅ  ｏｆｆｓｅｔ（ファイル内位置情報）に対応して、下位階層に位置するリーフノード８０内のメタデータ８１を構成するキー部８１ａとアドレス部８１ｂとをそれぞれ参照する各コンテンツアドレス（ＣＡ）を記憶している。つまり、図４において、メタデータ７１の右端のｆｉｌｅ  ｏｆｆｓｅｔに対応する２つのＣＡは、符号８１ａのキー部と符号８１ｂのアドレス部とから成るメタデータ８１を参照している。
【００３４】
また、上記インデックスノード７０に格納されたメタデータ７１の下段に位置するアドレス部に格納される上記各ＣＡ（コンテンツアドレス）は、参照するリーフノード８０内のキー部８１ａやアドレス部８１ｂの格納位置に一意のデータである。例えば、ＣＡは、参照するキー部８１ａやアドレス部８１ｂのデータ内容に基づいて生成されたハッシュ値の一部と物理的な位置情報を表す情報とを含んで生成されたデータである。
【００３５】
また、上記インデックスノード７０に格納されたメタデータ７１の上段に位置するキー部に格納される上記ｆｉｌｅ  ｏｆｆｓｅｔは、対応するＣＡの参照先にある格納データの分割前におけるファイルのファイル内相対位置を表すデータである。つまり、ＣＡにて参照されるリーフノード８０内のメタデータ８１，８２等にてさらに参照され、最終的に特定される格納データ９１等の分割前のファイルにおける順番を表している。
【００３６】
ここで、インデックスノード７０に格納されているメタデータ７１の実際の格納状態の一例を、図６（Ｂ）に示す。この図では、「ｆｉｌｅ  ｏｆｆｓｅｔ（数字）」は、各ｆｉｌｅ  ｏｆｆｓｅｔである。また、「ＣＡ  ｋ（数字）」は、参照するリーフノード内のメタデータのキー部を示すコンテンツアドレスであり、「ＣＡ  ａ（数字）」は、参照するリーフノード内のメタデータのアドレス部を示すコンテンツアドレスである。この図に示すように、「ｆｉｌｅ  ｏｆｆｓｅｔ（数字）」、これに対応する「ＣＡ  ｋ（数字）」及び「ＣＡ  ａ（数字）」の順番に、ファイルが構成されている。なお、インデックスノード７０に格納されているメタデータ７１は、最大で、３２０組のデータを格納している。
【００３７】
次に、ルートノード６０に格納されているメタデータ６１，６２，６３について説明する。ルートノード６０に格納されるメタデータ６１は、上述した各メタデータの最上位に位置しており、インデックスノード７０に格納されたメタデータ７１の格納位置を表すデータである。特に、このルートノード６０に格納されるメタデータ６１は、図４に示すように、上記インデックスノード７０に格納されたメタデータ７１の格納位置を表すアドレス情報であるコンテンツアドレス（ＣＡ）を格納するアドレス部と、このＣＡの参照先に位置する格納データの分割前におけるファイル内での相対位置を表すファイル内位置情報（ｆｉｌｅ  ｏｆｆｓｅｔ）を記憶するキー部と、を有している。そして、上記キー部とアドレス部とは、相互に対応して記憶されている。
【００３８】
そして、アドレス部に格納される上記ＣＡ（コンテンツアドレス）は、参照するインデックスノード７０内のメタデータ７１の格納位置に一意のデータである。例えば、ＣＡは、参照するメタデータ７１のデータ内容に基づいて生成されたハッシュ値の一部と物理的な位置情報を表す情報とを含んで生成されたデータである。また、上記キー部に格納される上記ｆｉｌｅ  ｏｆｆｓｅｔは、対応するＣＡの参照先にある格納データのファイル内相対位置を表すデータである。つまり、ＣＡにて参照されるインデックスノード７１内のメタデータ、さらには、当該インデックスノード７１にて参照されるリーフノード８０内のメタデータ８１，８２等にて参照され、最終的に特定される格納データ９１等の分割前のファイルにおける順番を表している。
【００３９】
なお、符号６１に示すメタデータは、ファイルＡに相当するメタデータである。つまり、このメタデータ６１にて参照する全てのメタデータ（インデックスノード７０内及びリーフノード８０内のメタデータ７１，８１等）を辿って参照される格納データを用いることで、分割前のファイルＡを構成することができる。
【００４０】
ここで、ルートノード６０に格納されているメタデータの実際の格納状態の一例を、図６（Ａ）に示す。この図において、「ｆｉｌｅ  ｏｆｆｓｅｔ（数字）」は、各ｆｉｌｅ  ｏｆｆｓｅｔである。また、「ＣＡ（ｉ＋数字）（例えば、ＣＡｉ１，ＣＡｉ２）」は、参照するインデックスノード内のメタデータを示すコンテンツアドレスである。この図に示すように、「ｆｉｌｅ  ｏｆｆｓｅｔ（数字）」、これに対応する「ＣＡ（ｉ＋数字）」の順番に、ファイルが構成されている。なお、ルートノード６０に格納されているメタデータ６１は、最大で、３２０組のデータを格納している。
【００４１】
以上のように、ストレージノード制御部３０は、ファイルを格納する際には、当該ファイルを分割し、その分割データをデータ部９０に格納する。そして、この格納データを参照する各メタデータを、図４に示すように、階層化して生成あるいは更新する。このとき、ストレージ制御部３０は、下位階層に位置する既存の他のメタデータや格納データを参照するようメタデータのコンテンツアドレス（ＣＡ）を生成することで、重複してメタデータや格納データを記憶することを抑制することができる。
【００４２】
また、ストレージ制御部３０は、ファイルを読み出す際には、各メタデータの参照先を辿って行き、参照された格納データ９１等を読み出して、ファイルを生成して読み出す。例えば、図４に示すようにデータが格納されており、ファイルＡを読み出す際には、ファイルＡを参照するルートノード６０内のメタデータ６１から、当該メタデータ６１が参照するインデックスノード７０内のメタデータ、さらには、リーフノード８０内のメタデータを辿って行き、最終的に参照された複数の格納データを読み出す。そして、各メタデータ内のｆｉｌｅ  ｏｆｆｓｅｔにて表わされた順番に、ファイルを再生する。
【００４３】
次に、上記ストレージノード制御部３０が有するコンテンツアドレス制御部３１にて管理されるコンテンツアドレステーブル（アドレステーブル）について説明する。なお、コンテンツアドレステーブルの一例を、図５に示す。
【００４４】
この図に示すように、コンテンツアドレステーブルは、「コンテンツアドレス欄」に、上述した全てのメタデータのアドレス部に格納されているコンテンツアドレス（ＣＡ）の種類を記憶している。また、「カウンタ欄」に、各コンテンツアドレス（ＣＡ）が他のデータ（格納データ、メタデータ（メタデータを構成するキー部ファイルやアドレス部ファイルも含む））を参照している数を記憶している。
【００４５】
そして、コンテンツアドレス制御部３１は、格納データが新たに格納されたり、あるいは、格納データが削除されることにより、各メタデータを生成あるいは更新したときに、上記コンテンツアドレステーブルの更新を行う。具体的には、各メタデータに格納されているコンテンツアドレス（ＣＡ）の種類ごとに、各コンテンツアドレス（ＣＡ）が他のデータを参照している数を、コンテンツアドレステーブルに記憶して更新する。
【００４６】
また、ストレージノード制御部３０は、上述したようにコンテンツアドレステーブルが更新された結果、カウンタが「０」、つまり、参照しているデータの数が「０」となったコンテンツアドレス（ＣＡ）が参照している他のデータを削除する。
【００４７】
［動作］
次に、上述したストレージシステムの動作の一例を、図８乃至図１０を参照して説明する。まず、図８を参照して、ストレージシステムにファイルＡが記憶されているときの様子を説明する。なお、ファイルＡは、図８に示すように、［ａ，ａ，ｂ，ｂ，ｂ，ｃ，ｃ，ｄ］というデータ構造となっている。また、図中の点線で囲った符号は、各データの格納位置を表すコンテンツアドレスを示しており、当該データに一意である。
【００４８】
まず、上記ファイルＡが記憶されると、当該ファイルＡを構成する分割データの各要素であるデータａ（ＤＡＴＡａ）、データｂ（ＤＡＴＡｂ）、データｃ（ＤＡＴＡｃ）、データｄ（ＤＡＴＡ）が、データ部９０に格納される。なお、同一内容のデータは、１つのみ格納される。
【００４９】
そして、上記格納したデータａ，ｂ，ｃ，ｄを参照したメタデータが格納される。なお、図中の矢印にて、各コンテンツアドレス（ＣＡ）が参照するデータを示している。例えば、「ＤＡＴＡａ」は、リーフノード８０に格納されたメタデータ８１を構成するアドレス部８１ｂに格納されたコンテンツアドレス「ＣＡａ，ＣＡａ」にて参照された状態となっている。つまり、「ＤＡＴＡａ」の格納位置を表すコンテンツアドレスは、「ＣＡａ」である。そして、上記アドレス部８１ｂのコンテンツアドレス「ＣＡａ，ＣＡａ」は、対となってメタデータ８１を構成しているが分離しているキー部８１ａに格納されたファイル内位置情報「ｏｆｆ１，ｏｆｆ２」にそれぞれ対応している。
【００５０】
また、上記リーフノード８０に格納されたメタデータ８１は、それぞれインデックスノード７０に格納されたメタデータ７１に参照されている。具体的には、リーフノード８０内のメタデータ８１を構成するキー部８１ａとアドレス部８１ｂとは、それぞれインデックスノード７０内のメタデータ７１のアドレス部に格納されたコンテンツアドレス「ＣＡ３，ＣＡ４」にそれぞれ参照された状態となっている。つまり、メタデータ８１を構成するキー部８１ａの格納位置を表すコンテンツアドレスは「ＣＡ３」であり、アドレス部８１ｂの格納位置を表すコンテンツドレスは「ＣＡ４」である。また、これらコンテンツアドレス「ＣＡ３，ＣＡ４」は、メタデータ７１に格納された１つのファイル内位置情報「ｏｆｆ１」に対応している。なお、このメタデータ７１は、ファイルＡを構成するＤＡＴＡａに後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。
【００５１】
また、上記インデックスノード７０に格納されたメタデータ７１は、ルートノード６０に格納されたメタデータ６１に参照されている。具体的には、インデックスノード７０内のメタデータ７１は、ルートノード６０内のメタデータ６１のアドレス部に格納されたコンテンツアドレス「ＣＡ１」に参照された状態となっている。つまり、メタデータ７１の格納位置を表すコンテンツアドレスは「ＣＡ１」である。また、これらコンテンツアドレス「ＣＡ１」は、メタデータ６１に格納されたファイル内位置情報「ｏｆｆ１」に対応している。なお、このメタデータ６１は、ファイルＡを構成するために、上記ＣＡ１で参照するデータに後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。つまり、ルートノード６０に格納されているコンテンツアドレスの参照先に位置する全ての格納データを用いることで、ファイルＡを生成することができる。
【００５２】
そして、コンテンツアドレステーブルは、図８に示すように、上述した各メタデータに基づいて更新される。ここでは、各コンテンツアドレスのカウンタ数は、当該コンテンツアドレスが参照しているデータの数であるため、図８を参照して換言すると、各コンテンツアドレスから矢印が出ている数となる。
【００５３】
次に、図９を参照して、ファイルＢが記憶されたきの様子を説明する。なお、ファイルＢは、図９に示すように、［ａ，ａ，ｅ，ｂ，ｂ，ｂ，ｃ，ｃ］というデータ構造となっている。
【００５４】
まず、上記ファイルＢが記憶されると、当該ファイルＡを構成する分割データの各要素であるデータａ（ＤＡＴＡａ）、データｅ（ＤＡＴＡｅ）、データｂ（ＤＡＴＡｂ）、データｃ（ＤＡＴＡｃ）が、データ部９０に格納される。なお、同一内容のデータは、１つのみ格納されるため、ここでは、ＤＡＴＡｅのみが追加されて記憶される。
【００５５】
そして、上述したファイルＢのデータ構造に応じて、格納されているデータａ，ｅ，ｂ，ｃを参照したメタデータが生成あるいは更新されて格納される。このとき、ファイルＢの先頭側の「ａ，ａ」というデータ構成は、すでにファイルＡを格納したときに格納しているため、上記「ＤＡＴＡａ」を参照するリーフノード８０に格納されたメタデータ８１（キー部８１ａ、アドレス部８１ｂ）を用いる。つまり、リーフノード８０よりもさらに上位階層に位置するインデックスノード７０内のメタデータ７３にて、リーフノード８０内のメタデータ８１を参照する。具体的には、リーフノード８０内の既存のメタデータ８１を構成するキー部８１ａとアドレス部８１ｂとが、それぞれインデックスノード７０内のメタデータ７３のアドレス部に格納されたコンテンツアドレス「ＣＡ３，ＣＡ４」にそれぞれ参照された状態となる。換言すると、リーフノード８０内の既存のメタデータ８１を構成するキー部８１ａとアドレス部８１ｂとのコンテンツアドレス「ＣＡ３，ＣＡ４」を、メタデータ７３にて参照する。また、これらコンテンツアドレス「ＣＡ３，ＣＡ４」は、メタデータ７３に格納された１つのファイル内位置情報「ｏｆｆ１」に対応している。なお、このメタデータ７１は、ファイルＢを構成するために、後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。
【００５６】
また、上記インデックスノード７０に格納されたメタデータ７３は、ルートノード６０に格納されたメタデータ６２に参照されている。具体的には、インデックスノード７０内のメタデータ７３は、ルートノード６０内のメタデータ６２のアドレス部に格納されたコンテンツアドレス「ＣＡ１１」に参照された状態となっている。また、このコンテンツアドレス「ＣＡ１１」は、メタデータ６２に格納されたファイル内位置情報「ｏｆｆ１」に対応している。なお、このメタデータ６２は、ファイルＢを構成するために、上記ＣＡ１１で参照するデータに後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。つまり、ルートノード６０に格納されているコンテンツアドレスの参照先に位置する全ての格納データを用いることで、ファイルＢを生成することができる。
【００５７】
ここで、上記ルートノード６０のメタデータ６２のコンテンツアドレスＣＡ１２が参照するインデックスノード７０内のメタデータ７４について説明する。このメタデータ７４は、１つのファイル内位置情報「ｏｆｆ１」に対応しているコンテンツアドレス「ＣＡ１５，ＣＡ６」を記憶している。つまり、コンテンツアドレスＣＡ１５では、リーフノード８０内に新たに生成されたメタデータの一部を構成するキー部（コンテンツアドレスＣＡ１５で示す）を参照しているが、コンテンツアドレスＣＡ６では、ファイルＡのデータを参照すべく生成された既存のメタデータの一部を構成するアドレス部（コンテンツアドレスＣＡ６で示すデータ）を参照している。なお、インデックスノード７０に格納される１つのファイル内位置情報に対応している対となるコンテンツアドレスは、上記とは逆に、一方が他の既存のキー部を参照し、他方が他の新たに生成したアドレス部を参照してもよい。
【００５８】
そして、コンテンツアドレステーブルは、図９に示すように、上述した各メタデータに基づいて更新される。具体的には、新たな種類のコンテンツアドレスが生成されていれば、そのコンテンツアドレスを追加し、また、既存のコンテンツアドレスの参照数が増えれば、カウンタを更新する。
【００５９】
次に、図９乃至図１０を参照して、ファイルＡを削除したときの様子を説明する。上記ファイルＡを削除すると、当該ファイルＡを参照するメタデータを削除する。例えば、図９に示すルートノード６０に格納されたファイルＡに対応するメタデータ６１を削除する。すると、このメタデータ６１に格納されているコンテンツアドレスＣＡ１，ＣＡ２が削除されるため、当該コンテンツアドレスＣＡ１，ＣＡ２による他のデータの参照数であるコンテンツアドレステーブル内のカウンタを「１」だけ減算する。すると、コンテンツアドレスＣＡ１、ＣＡ２の参照数が「０」になるため、当該コンテンツアドレスＣＡ１，ＣＡ２で参照されるインデックスノード７０内のメタデータ７１，７２を削除する。
【００６０】
そして、上記同様に、この削除したメタデータ７１，７２に格納されたコンテンツアドレスＣＡ３等が削除されるため、併せてコンテンツアドレステーブルを更新する。すると、コンテンツアドレスＣＡ３のカウンタは、「２」から「１」となり、「０」ではないため、当該コンテンツアドレスＣＡ３で参照されるメタデータは削除しない。
【００６１】
以上のようにして、参照数が「０」となったメタデータ及び格納データを削除し、一方で、「０」ではないメタデータ及び格納データはそのまま残す。これにより、図１０に示すように、いずれのメタデータにも参照されていない不要となった他のメタデータや格納データを削除することができ、データの重複排除を効率よく行うことができる。また、上述したように、メタデータの重複排除を行っているため、コンテンツアドレスの種類が少なくなり、上記コンテンツアドレステーブルの管理が容易となる。
【００６２】
＜実施形態２＞
次に、本発明における第２の実施形態を、図１１を参照して説明する。図１１は、本実施形態におけるストレージノードに格納されているデータの様子を示す図である。
【００６３】
本実施形態におけるストレージシステムのストレージノード制御部３０は、上述した実施形態２とほぼ同様の構成を採っているが、特に、格納するメタデータの構成が異なる。具体的には、上述したインデックスノード７０に格納されるメタデータ７１が、図１１に示すように、キー部７１ａとアドレス部７１ｂとで、それぞれ分離した別ファイルにて構成されている。
【００６４】
これに伴い、上述したルートノード６０に格納されるメタデータ６１は、本実施形態では、図１１に示すように、上述した上段に位置する１つのｆｉｌｅ  ｏｆｆｓｅｔ（ファイル内位置情報）に対応して、下位階層に位置するインデックスノード７０内のメタデータ７１を構成するキー部７１ａファイルとアドレス部７１ｂファイルとをそれぞれ参照する各コンテンツアドレス（ＣＡ）を記憶している。つまり、本実施形態におけるルートノード６０のメタデータ６１は、実施形態１におけるインデックスノードに格納されたメタデータと同様の構成を採っている。
【００６５】
このように、さらに上位階層に位置するメタデータのキー部とアドレス部とを分離して構成することで、下位階層に位置する既存の他のメタデータ、特に、メタデータを構成する分離された他のキー部ファイルやアドレス部ファイルをそれぞれ参照することでき、重複するデータを排除することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。
【００６６】
＜実施形態３＞
次に、本発明における第３の実施形態を、図１２を参照して説明する。図１２は、本実施形態におけるストレージノードに格納されているデータの様子を示す図である。
【００６７】
本実施形態におけるストレージシステムのストレージノード制御部３０は、上述した実施形態１及び２とほぼ同様の構成を採っているが、特に、メタデータを任意の箇所で分割する機能を有する。例えば、メタデータを構成する分離されたキー部、アドレス部を、当該キー部、アドレス部に格納された情報と、他のメタデータのキー部、アドレス部に格納された情報とが、同一となるよう分割する。
【００６８】
ここで、分割の一例を、図１２（Ｃ）に示す。まず、図１２（Ａ）に示す構成のファイルＡとファイルＢが、ストレージシステムに記憶されていたとする。そして、各ファイルの分割データがデータ部に格納されるが、このとき、各分割データを参照するメタデータのアドレス部に格納されるコンテンツアドレス、特に、リーフノードに格納されるコンテンツアドレスを、一定のデータ量で分割すると、図１２（Ｂ）のようになる。
【００６９】
これに対して、本実施形態では、ストレージ制御部３０が、図１２（Ｃ）に示すように、ファイルＡのメタデータを構成するアドレス部内のコンテンツアドレスと、ファイルＢのメタデータを構成するアドレス部内のコンテンツアドレスとが、同一となるよう分割する。例えば、図１２（Ｃ）の点線領域に示すように、同一のコンテンツアドレスが同一個数だけまとまった箇所が存在するため、かかる箇所で、それぞれのメタデータのアドレス部を分割する。
【００７０】
これにより、例えば、ファイルＡのアドレス部を、ファイルＢの上位階層のメタデータにて参照することができる。つまり、点線領域に示した部分のデータが重複して記録されることを抑制することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。なお、上記では、アドレス部を分割した場合を説明したが、キー部を分割してもよい。
【００７１】
＜実施形態４＞
本発明の第４の実施形態を、図１３乃至図１４を参照して説明する。図１３は、ストレージシステムの構成を示す機能ブロック図である。図１４は、ストレージシステムに格納されるデータの構造を示すデータ構造図である。なお、本実施形態では、ストレージシステムの概略を説明する。
【００７２】
図１３に示すように、本実施形態におけるストレージシステム１は、
ファイルを構成する分割データを格納するデータ格納部４と、
上記分割データの格納位置を表すメタデータを格納するメタデータ格納部３と、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段２と、を備えている。
【００７３】
そして、上記データ処理手段２は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
【００７４】
上記ストレージシステムでは、図１４に示すように、まず、ファイルを記憶する際には、当該ファイルの分割データ５を複数の記憶装置の各データ格納部４に格納する。そして、各分割データ５のファイル内における位置とデータ格納部４における格納位置とを表すメタデータ６を、メタデータ格納部３に格納する。その後、ファイルを読み出す際には、メタデータ６を参照して、ファイルを構成する各分割データ５のファイル内における位置及びデータ格納部における格納位置を特定し、記憶装置のデータ格納部４から分割データ５を読み出して、複数の分割データ５から成るファイルを再生する。
【００７５】
そして、上記構成のストレージシステム１では、新たに記憶する分割データと同一内容の他の分割データ５が既にデータ格納部に格納されている場合には、既存の他の分割データ５の格納位置を、新たに記憶する分割データの格納位置とするメタデータを設定して格納する。これにより、同一内容の分割データを重複して記憶する必要がなく、記憶容量の削減を図ることができる。
【００７６】
さらに、上記ストレージシステム１では、図１４に示すように、メタデータ６が、分割データの分割前におけるファイル内での位置を表す情報を記憶するキー部６１と、当該分割データのデータ格納部における格納位置を表す情報を記憶するアドレス部６２と、を有しており、それぞれが分離して異なるファイルにて構成されている。従って、上述したように分割データが重複排除されている場合には、図１の符号１８２ｂのメタデータに示すように、メタデータのうちのアドレス部が他のアドレス部と重複することがあるが、この他のアドレス部を参照することで、重複するアドレス部のデータも重複排除することができる。つまり、図１４の例では、符号７ｂに示すアドレス部として、符号６に示すメタデータのアドレス部６ｂを参照することができる。なお、アドレス部だけでなく、同様にしてキー部も重複排除することができる。従って、メタデータの記憶容量を削減することができ、ストレージシステム全体における記憶容量の削減を図ることができる。
【００７７】
また、上記ストレージシステムでは、
上記データ処理手段は、上記メタデータの格納位置を表す上位メタデータを、上記メタデータ格納部に格納し、
上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された１つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
という構成を採る。
【００７８】
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位メタデータの上記上位メタアドレス部に、他の上記上位メタデータにて参照されている既存の上記メタデータを構成する上記アドレス部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
【００７９】
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位メタデータの上記上位メタアドレス部に、他の上記上位メタデータにて参照されている既存の上記メタデータを構成する上記キー部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
【００８０】
このように、キー部とアドレス部とが分離された既存のメタデータを、上位メタデータにて参照することで、キー部やアドレス部のデータを効率的に重複排除することができる。
【００８１】
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位メタキー部と上記上位メタアドレス部とを相互に分離したデータにて構成した上記上位メタデータを、上記メタデータ格納部に格納する、
という構成を採る。
【００８２】
また、上記ストレージシステムでは、
上記データ処理部は、上記上位メタキー部及び上記上位メタアドレス部を有しており、他の上記上位メタデータの格納位置を表し、当該他の上位メタデータよりも上位階層に位置する上記上位メタデータを、上記メタデータ格納部に格納し、
上記上位階層に位置する上位メタデータの上記上位メタアドレス部は、上記上位メタキー部に記憶された１つの上記ファイル内位置情報に対応して、下位階層に位置する上記他の上位メタデータの上記上位メタキー部と上記上位メタアドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する、
という構成を採る。
【００８３】
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位階層に位置する上位メタデータの上記上位メタアドレス部に、別の上位メタデータにて参照されている既存の上記上位メタデータを構成する上記上位メタアドレス部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
【００８４】
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位階層に位置する上位メタデータの上記上位メタアドレス部に、別の上位メタデータにて参照されている既存の上記上位メタデータを構成する上記メタキー部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
【００８５】
このように、上位メタデータを構成する上位メタキー部と上位メタアドレス部とを分離して構成することで、さらに上位階層に位置する上位メタデータにて、それぞれ既存の上位メタキー部や上位メタアドレス部を参照し、重複するデータを排除することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。
【００８６】
また、上記ストレージシステムでは、
上記データ処理手段は、上記メタデータ格納部に格納された上記メタデータの上記キー部及び／又は上記アドレス部を、当該キー部及び／又はアドレス部に格納された情報と、他の上記メタデータの上記キー部及び／又は上記アドレス部に格納された情報と、に基づいて分割する、
という構成を採る。
【００８７】
また、上記ストレージシステムでは、
上記データ処理手段は、上記メタデータの上記キー部及び／又は上記アドレス部を、当該キー部及び／又はアドレス部に格納された情報と、他の上記メタデータの上記キー部及び／又は上記アドレス部に格納された情報と、が同一となるよう分割する、
という構成を採る。
【００８８】
このように、他のメタデータのキー部やアドレス部に格納されている情報が同一となるよう、メタデータのキー部やアドレス部を分割することで、重複する情報を生成することができ、かかるキー部やアドレス部のデータを重複排除することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。
【００８９】
また、上記ストレージシステムでは、
上記アドレス部に格納されている上記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
上記データ処理手段は、上記アドレステーブルに記憶された上記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
という構成を採る。
【００９０】
また、上記ストレージシステムでは、
上記アドレス部及び上記上位メタアドレス部に格納された上記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
上記データ処理手段は、上記アドレステーブルに記憶された上記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
という構成を採る。
【００９１】
また、上記ストレージシステムでは、
上記データ処理手段は、上記アドレステーブルに記憶されている参照数が０である上記アドレス情報が参照するデータを削除する、
という構成を採る。
【００９２】
このように、アドレス情報毎の参照数を記憶しておくことで、参照されていない不要となったデータを削除する処理が容易となる。このとき、特に、上述したようにアドレス情報の重複排除を行うことで、アドレス情報毎の参照数が減少し、アドレステーブルの算出が容易となり、迅速なデータ処理を実現できる。
【００９３】
また、上述したストレージシステムは、情報処理装置にプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、
ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置に、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段を実現させる、という構成を採る。
【００９４】
そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する。
【００９５】
また、上記プログラムでは、
上記データ処理手段は、上記メタデータの格納位置を表す上位メタデータを、上記メタデータ格納部に格納し、
上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された１つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
という構成を採る。
【００９６】
また、本発明の他の形態である、上述したストレージシステムに格納されるデータのデータ構造は、
ファイルを構成する分割データを格納するデータ格納部と、
上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段と、を備えたストレージシステムにて、上記メタデータ格納部に格納するデータのデータ構造である。
【００９７】
そして、上記データのデータ構造は、
上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成されたメタデータを有する。
【００９８】
また、上記データ構造は、
上記データ処理手段にて上記メタデータ格納部に格納される、上記メタデータの格納位置を表す上位メタデータを有し、
上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された１つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する。
【００９９】
また、上述したストレージシステムが作動することにより実行される、本発明の他の形態であるデータ処理方法は、
ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置にて、
上記データ格納部に対して上記分割データを記憶して、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納し、
上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生する。
そして、さらに、上記分割データ格納時、あるいは、任意のタイミングで、
上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、
という構成を採る。
【０１００】
また、上記データ処理方法では、
上記メタデータの格納位置を表す上位メタデータを、上記メタデータ格納部に格納し、
上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された１つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
という構成を採る。
【０１０１】
上述した構成を有する、プログラム、データ構造、又は、データ処理方法、の発明であっても、上記ストレージシステムと同様の作用を有するために、上述した本発明の目的を達成することができる。
【産業上の利用可能性】
【０１０２】
本発明は、複数のコンピュータを接続して構成されるストレージシステムに利用することができ、産業上の利用可能性を有する。
【符号の説明】
【０１０３】
１  ストレージシステム
２  データ処理手段
３  メタデータ格納部
４  データ格納部
１０  ストレージシステム
１０Ａ  アクセラレータノード
１０Ｂ  ストレージノード
１１  バックアップシステム
１２  バックアップ装置
２０  ファイルシステム部
３０  ストレージノード制御部
３１  コンテンツアドレス制御部
４０  コンテンツアドレス部
５０  メタデータ部
６０  ルートノード
６１，７１，８１  メタデータ
７０  インデックスノード
８０  リーフノード
８１ａ  キー部
８１ｂ  アドレス部
９０  データ部
９１  格納データ
【図１】
2010204970.tif 000003
【図２】
2010204970.tif 000004
【図３】
2010204970.tif 000005
【図４】
2010204970.tif 000006
【図５】
2010204970.tif 000007
【図６】
2010204970.tif 000008
【図７】
2010204970.tif 000009
【図８】
2010204970.tif 000010
【図９】
2010204970.tif 000011
【図１０】
2010204970.tif 000012
【図１１】
2010204970.tif 000013
【図１２】
2010204970.tif 000014
【図１３】
2010204970.tif 000015
【図１４】
2010204970.tif 000016