JP2010204970A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2010204970A
JP2010204970A JP2009050062A JP2009050062A JP2010204970A JP 2010204970 A JP2010204970 A JP 2010204970A JP 2009050062 A JP2009050062 A JP 2009050062A JP 2009050062 A JP2009050062 A JP 2009050062A JP 2010204970 A JP2010204970 A JP 2010204970A
Authority
JP
Japan
Prior art keywords
metadata
data
address
storage
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009050062A
Other languages
English (en)
Other versions
JP5407430B2 (ja
Inventor
Kenji Mori
研司 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009050062A priority Critical patent/JP5407430B2/ja
Priority to CN201080006260.XA priority patent/CN102301347B/zh
Priority to PCT/JP2010/000153 priority patent/WO2010100813A1/ja
Priority to EP10748418.0A priority patent/EP2405359A4/en
Priority to US13/146,687 priority patent/US8843445B2/en
Publication of JP2010204970A publication Critical patent/JP2010204970A/ja
Application granted granted Critical
Publication of JP5407430B2 publication Critical patent/JP5407430B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】重複記憶を排除してデータ容量を削減すること。
【解決手段】ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納するデータ処理手段と、を備えている。そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する。
【選択図】図13

Description

本発明は、ストレージシステムにかかり、特に、データを分散して複数の記憶装置に記憶するストレージシステムに関する。
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。
具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納している。そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
特開2005−235171号公報
ここで、コンテンツアドレスストレージシステムでは、格納するデータの格納位置を特定するコンテンツアドレスを、メタデータとして記憶しており、特に、データ数が増えると、メタデータを階層化して記憶している。例えば、図1に、コンテンツアドレスストレージシステムのメタデータの一例を示す。この図に示すように、メタデータ181,182,171は、分割したデータの元のファイルにおける位置を表す情報を格納するキー部181a,182a,171aと、データあるいは他のメタデータの格納位置を表す情報を格納するアドレス部181b,182b,171bと、により構成されている。そして、アドレス部181b,182b,171bに同じコンテンツアドレスが格納されている場合には、同じ格納位置のデータを参照していることとなる。
しかしながら、上述したコンテンツアドレスストレージシステムでは、例えば、図1の符号181b,182bに示すように、メタデータ内のアドレス部に同じ内容のデータが格納される場合が生じる。つまり、コンテンツアドレスデータが重複して記録される場合が多々あり、データ容量が増加してしまう、という問題が生じる。
このため、本発明の目的は、上述した課題である、重複記憶を排除してデータ容量を削減し、記憶コストの低減を図ることができるストレージシステムを提供する、ことにある。
かかる目的を達成するため本発明の一形態であるストレージシステムは、
ファイルを構成する分割データを格納するデータ格納部と、
上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段と、を備えている。
そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
また、本発明の他の形態であるプログラムは、
ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置に、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段を実現させる、というプログラムである。
そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
また、本発明の他の形態であるデータのデータ構造は、
ファイルを構成する分割データを格納するデータ格納部と、
上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段と、を備えたストレージシステムにて、上記メタデータ格納部に格納するデータのデータ構造である。
そして、上記データのデータ構造は、
上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成されたメタデータを有する、という構成を採る。
また、本発明の他の形態であるデータ処理方法は、
ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置にて、
上記データ格納部に対して上記分割データを記憶して、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納し、
上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生する。
そして、さらに、上記分割データ格納時、あるいは、任意のタイミングで、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
本発明は、以上のように構成されることにより、メタデータの記憶容量を削減して、ストレージシステム全体における記憶容量の削減を図り、記憶コストの低減を図ることができる。
本発明に関連するストレージシステムに格納されるデータの構造を示すデータ構造図である。 本発明の実施形態1におけるストレージシステムを含むシステム全体の構成を示すブロック図である。 本発明の実施形態1におけるストレージシステムの構成の概略を示すブロック図である。 図3に開示したストレージシステムの構成及び記憶されるデータの構造を示す図である。 図3に開示したストレージシステムに記憶されるコンテンツアドレステーブルの一例を示す図である。 図3に開示したストレージシステムのルートノード及びインデックスノードに記憶されるメタデータの一例を示す図である。 図3に開示したストレージシステムのリーフノードに記憶されるメタデータの一例を示す図である。 図3に開示したストレージシステムにおけるデータ処理の様子を示す図である。 図3に開示したストレージシステムにおけるデータ処理の様子を示す図である。 図3に開示したストレージシステムにおけるデータ処理の様子を示す図である。 本発明の実施形態2におけるストレージシステムにて記憶されるデータの構造を示す図である。 本発明の実施形態3におけるストレージシステムによるデータ処理の様子を説明する図である。 実施形態4におけるストレージシステムの構成を示す機能ブロック図である。 図13に開示したストレージシステムに格納されるデータの構造の一例を示すデータ構造図である。
<実施形態1>
本発明の第1の実施形態を、図2乃至図10を参照して説明する。図2は、システム全体の構成を示すブロック図である。図3は、ストレージシステムの概略を示すブロック図であり、図4は、構成及び記憶されるデータの構造を示す図である。図5は、コンテンツアドレステーブルの一例を示す図である。図6乃至図7は、記憶されるメタデータの一例を示す図である。図8乃至図10は、データ処理の一例を示す図である。
ここで、本実施形態は、後述する実施形態4にて開示するストレージシステムの具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータで構成されていてもよい。
[構成]
図2に示すように、本発明におけるストレージシステム10は、ネットワークNを介してバックアップ処理を制御するバックアップシステム11に接続している。そして、バックアップシステム11は、ネットワークNを介して接続されたバックアップ対象装置12に格納されているバックアップ対象ファイル(ファイル)を取得し、ストレージシステム10に対して記憶するよう要求する。これにより、ストレージシステム10は、記憶要求されたバックアップ対象ファイルをバックアップ用に記憶する。
そして、図3に示すように、本実施形態におけるストレージシステム10は、複数のサーバコンピュータが接続されて構成を採っている。具体的に、ストレージシステム10は、ストレージシステム10自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード10Aと、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード10Bと、を備えている。なお、アクセラレータノード10Aの数とストレージノード10Bの数は、図3に示したものに限定されず、さらに多くの各ノード10A,10Bが接続されて構成されていてもよい。
そして、上記アクセラレータノード10Aは、図4に示すように、アクセラレータノード用プログラムが組み込まれることによって構築された、ファイルシステム部20を備えている。このファイルシステム部20は、バックアップシステム11から取得したバックアップ対象ファイルと、実際に格納されているデータの格納位置などを管理し、後に読み出し可能とする機能を有する。なお、アクセラレータノード10Aのさらなる詳細な構成についての説明は省略する。
また、上記ストレージノード10Bは、図4に示すように、ストレージノード制御部30(データ処理手段)と、コンテンツアドレス部40と、を備えている。そして、ストレージノード制御部30は、コンテンツアドレス制御部31を備えている。ここで、上記ストレージノード制御部30は、ストレージノード10Bが備えているCPU(Central Processing Unit)に、ストレージノード用プログラムが組み込まれることにより実現されている。
また、コンテンツアドレス部40は、記憶装置に構成されており、後述するように、メタデータを格納するメタデータ部50(メタデータ格納部)と、ファイルを構成する分割データを格納するデータ部90(データ格納部)と、を備えている。そして、具体的に、メタデータ部50は、データ部90に格納するデータの格納位置を表すメタデータを格納する、ルートノード60と、インデックスノード70と、リーフノード80と、を有している。これらルートノード60、インデックスノード70、リーフノード80に格納される各メタデータは、上記ストレージノード制御部30により、データ格納時、あるいは、任意のタイミングで、新規に生成あるいは更新され、格納される。なお、上記ルートノード60、インデックスノード70、リーフノード80にストレージノード制御部30によって格納されるメタデータのデータ構造については後述する。また、上記ストレージノード制御部30が有するコンテンツアドレス制御部31は、コンテンツアドレステーブルを記憶装置に記憶して管理しているが、これについても後述する。
次に、さらに図4を参照して、上述したストレージノード制御部30にて記憶処理される、データ部90に格納する格納データと、ルートノード90と、インデックスノード70と、リーフノード80に格納される上記格納データの格納位置を表す各メタデータと、について詳述する。
まず、データ部90に格納する格納データ91,92,93は、ストレージシステムに記憶する記憶対象となるファイルを分割した分割データである。
そして、リーフノード80に格納されるメタデータ81,82は、上記格納データ91,92等の格納位置を表すデータである。特に、このリーフノード80に格納されるメタデータ81は、図示するように、上記格納データ91等の格納位置を表すアドレス情報であるコンテンツアドレス(CA)を格納するアドレス部81bと、格納データ91等の分割前におけるファイル内での相対位置を表すファイル内位置情報(file offset)を記憶するキー部81aと、を有している。そして、上記キー部81aとアドレス部81bとは、相互に分離したファイル(データ)にて構成されている。
ここで、リーフノード80に格納されているメタデータの実際の格納状態の一例を、図7に示す。図9(A)は、キー部81aを構成するファイルを示し、図9(B)は、アドレス部81bを構成するファイルを示している。そして、キー部81aとアドレス部81bとは、上述したように相互に異なるファイルではあるが、それぞれに格納されているデータ、つまり、file offset(ファイル内位置情報)とCA(コンテンツアドレス)とが、格納順に相互に対応している。例えば、file offset1とCA1とが対応しており、file offset2とCA2とが対応して、構成されている。なお、上記キー部81a、アドレス部81b共に、それぞれ最大で320個のデータを格納している。
そして、アドレス部81bに格納される上記CA(コンテンツアドレス)は、データ部90に格納された格納データ91等を参照しており、当該格納データ91の格納位置に一意のデータである。例えば、CAは、参照する格納データのデータ内容に基づいて生成されたハッシュ値の一部と物理的な位置情報を表す情報とを含んで生成されたデータである。また、キー部81aに格納される上記file offsetは、対応するCAが参照する格納データ91等の分割前のファイルにおけるファイル内相対位置を表すデータである。例えば、図9(A)、(B)に示すように、キー部81aには、file offset1,2の順に格納されている場合には、当該file offset1,2にそれぞれ対応するCA1,CA2にそれぞれ対応するデータ部90に格納された格納データ91,92が、分割前のファイルではこの順番に位置することを表している。
次に、インデックスノード70に格納されているメタデータ71,72について説明する。インデックスノード70に格納されるメタデータ71(上位メタデータ)は、上述したリーフノード80に格納されたメタデータ81の格納位置を表すデータである。特に、このインデックスノード70に格納されるメタデータ71は、図4に示すように、まず、下段に、リーフノード80に格納されたメタデータ81を構成するキー部81aとアドレス部81bとをそれぞれ参照するアドレス情報であるコンテンツアドレス(CA)を格納するアドレス部(上位メタアドレス部)を有する。また、その上段には、上記アドレス部にて参照する格納データの分割前におけるファイル内での相対位置を表すファイル内位置情報(file offset)を記憶するキー部(上位メタキー部)を有している。
特に、本実施形態では、インデックスノード70に格納されたメタデータ71は、上述した上段(上位メタキー部)に位置する1つのfile offset(ファイル内位置情報)に対応して、下位階層に位置するリーフノード80内のメタデータ81を構成するキー部81aとアドレス部81bとをそれぞれ参照する各コンテンツアドレス(CA)を記憶している。つまり、図4において、メタデータ71の右端のfile offsetに対応する2つのCAは、符号81aのキー部と符号81bのアドレス部とから成るメタデータ81を参照している。
また、上記インデックスノード70に格納されたメタデータ71の下段に位置するアドレス部に格納される上記各CA(コンテンツアドレス)は、参照するリーフノード80内のキー部81aやアドレス部81bの格納位置に一意のデータである。例えば、CAは、参照するキー部81aやアドレス部81bのデータ内容に基づいて生成されたハッシュ値の一部と物理的な位置情報を表す情報とを含んで生成されたデータである。
また、上記インデックスノード70に格納されたメタデータ71の上段に位置するキー部に格納される上記file offsetは、対応するCAの参照先にある格納データの分割前におけるファイルのファイル内相対位置を表すデータである。つまり、CAにて参照されるリーフノード80内のメタデータ81,82等にてさらに参照され、最終的に特定される格納データ91等の分割前のファイルにおける順番を表している。
ここで、インデックスノード70に格納されているメタデータ71の実際の格納状態の一例を、図6(B)に示す。この図では、「file offset(数字)」は、各file offsetである。また、「CA k(数字)」は、参照するリーフノード内のメタデータのキー部を示すコンテンツアドレスであり、「CA a(数字)」は、参照するリーフノード内のメタデータのアドレス部を示すコンテンツアドレスである。この図に示すように、「file offset(数字)」、これに対応する「CA k(数字)」及び「CA a(数字)」の順番に、ファイルが構成されている。なお、インデックスノード70に格納されているメタデータ71は、最大で、320組のデータを格納している。
次に、ルートノード60に格納されているメタデータ61,62,63について説明する。ルートノード60に格納されるメタデータ61は、上述した各メタデータの最上位に位置しており、インデックスノード70に格納されたメタデータ71の格納位置を表すデータである。特に、このルートノード60に格納されるメタデータ61は、図4に示すように、上記インデックスノード70に格納されたメタデータ71の格納位置を表すアドレス情報であるコンテンツアドレス(CA)を格納するアドレス部と、このCAの参照先に位置する格納データの分割前におけるファイル内での相対位置を表すファイル内位置情報(file offset)を記憶するキー部と、を有している。そして、上記キー部とアドレス部とは、相互に対応して記憶されている。
そして、アドレス部に格納される上記CA(コンテンツアドレス)は、参照するインデックスノード70内のメタデータ71の格納位置に一意のデータである。例えば、CAは、参照するメタデータ71のデータ内容に基づいて生成されたハッシュ値の一部と物理的な位置情報を表す情報とを含んで生成されたデータである。また、上記キー部に格納される上記file offsetは、対応するCAの参照先にある格納データのファイル内相対位置を表すデータである。つまり、CAにて参照されるインデックスノード71内のメタデータ、さらには、当該インデックスノード71にて参照されるリーフノード80内のメタデータ81,82等にて参照され、最終的に特定される格納データ91等の分割前のファイルにおける順番を表している。
なお、符号61に示すメタデータは、ファイルAに相当するメタデータである。つまり、このメタデータ61にて参照する全てのメタデータ(インデックスノード70内及びリーフノード80内のメタデータ71,81等)を辿って参照される格納データを用いることで、分割前のファイルAを構成することができる。
ここで、ルートノード60に格納されているメタデータの実際の格納状態の一例を、図6(A)に示す。この図において、「file offset(数字)」は、各file offsetである。また、「CA(i+数字)(例えば、CAi1,CAi2)」は、参照するインデックスノード内のメタデータを示すコンテンツアドレスである。この図に示すように、「file offset(数字)」、これに対応する「CA(i+数字)」の順番に、ファイルが構成されている。なお、ルートノード60に格納されているメタデータ61は、最大で、320組のデータを格納している。
以上のように、ストレージノード制御部30は、ファイルを格納する際には、当該ファイルを分割し、その分割データをデータ部90に格納する。そして、この格納データを参照する各メタデータを、図4に示すように、階層化して生成あるいは更新する。このとき、ストレージ制御部30は、下位階層に位置する既存の他のメタデータや格納データを参照するようメタデータのコンテンツアドレス(CA)を生成することで、重複してメタデータや格納データを記憶することを抑制することができる。
また、ストレージ制御部30は、ファイルを読み出す際には、各メタデータの参照先を辿って行き、参照された格納データ91等を読み出して、ファイルを生成して読み出す。例えば、図4に示すようにデータが格納されており、ファイルAを読み出す際には、ファイルAを参照するルートノード60内のメタデータ61から、当該メタデータ61が参照するインデックスノード70内のメタデータ、さらには、リーフノード80内のメタデータを辿って行き、最終的に参照された複数の格納データを読み出す。そして、各メタデータ内のfile offsetにて表わされた順番に、ファイルを再生する。
次に、上記ストレージノード制御部30が有するコンテンツアドレス制御部31にて管理されるコンテンツアドレステーブル(アドレステーブル)について説明する。なお、コンテンツアドレステーブルの一例を、図5に示す。
この図に示すように、コンテンツアドレステーブルは、「コンテンツアドレス欄」に、上述した全てのメタデータのアドレス部に格納されているコンテンツアドレス(CA)の種類を記憶している。また、「カウンタ欄」に、各コンテンツアドレス(CA)が他のデータ(格納データ、メタデータ(メタデータを構成するキー部ファイルやアドレス部ファイルも含む))を参照している数を記憶している。
そして、コンテンツアドレス制御部31は、格納データが新たに格納されたり、あるいは、格納データが削除されることにより、各メタデータを生成あるいは更新したときに、上記コンテンツアドレステーブルの更新を行う。具体的には、各メタデータに格納されているコンテンツアドレス(CA)の種類ごとに、各コンテンツアドレス(CA)が他のデータを参照している数を、コンテンツアドレステーブルに記憶して更新する。
また、ストレージノード制御部30は、上述したようにコンテンツアドレステーブルが更新された結果、カウンタが「0」、つまり、参照しているデータの数が「0」となったコンテンツアドレス(CA)が参照している他のデータを削除する。
[動作]
次に、上述したストレージシステムの動作の一例を、図8乃至図10を参照して説明する。まず、図8を参照して、ストレージシステムにファイルAが記憶されているときの様子を説明する。なお、ファイルAは、図8に示すように、[a,a,b,b,b,c,c,d]というデータ構造となっている。また、図中の点線で囲った符号は、各データの格納位置を表すコンテンツアドレスを示しており、当該データに一意である。
まず、上記ファイルAが記憶されると、当該ファイルAを構成する分割データの各要素であるデータa(DATAa)、データb(DATAb)、データc(DATAc)、データd(DATA)が、データ部90に格納される。なお、同一内容のデータは、1つのみ格納される。
そして、上記格納したデータa,b,c,dを参照したメタデータが格納される。なお、図中の矢印にて、各コンテンツアドレス(CA)が参照するデータを示している。例えば、「DATAa」は、リーフノード80に格納されたメタデータ81を構成するアドレス部81bに格納されたコンテンツアドレス「CAa,CAa」にて参照された状態となっている。つまり、「DATAa」の格納位置を表すコンテンツアドレスは、「CAa」である。そして、上記アドレス部81bのコンテンツアドレス「CAa,CAa」は、対となってメタデータ81を構成しているが分離しているキー部81aに格納されたファイル内位置情報「off1,off2」にそれぞれ対応している。
また、上記リーフノード80に格納されたメタデータ81は、それぞれインデックスノード70に格納されたメタデータ71に参照されている。具体的には、リーフノード80内のメタデータ81を構成するキー部81aとアドレス部81bとは、それぞれインデックスノード70内のメタデータ71のアドレス部に格納されたコンテンツアドレス「CA3,CA4」にそれぞれ参照された状態となっている。つまり、メタデータ81を構成するキー部81aの格納位置を表すコンテンツアドレスは「CA3」であり、アドレス部81bの格納位置を表すコンテンツドレスは「CA4」である。また、これらコンテンツアドレス「CA3,CA4」は、メタデータ71に格納された1つのファイル内位置情報「off1」に対応している。なお、このメタデータ71は、ファイルAを構成するDATAaに後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。
また、上記インデックスノード70に格納されたメタデータ71は、ルートノード60に格納されたメタデータ61に参照されている。具体的には、インデックスノード70内のメタデータ71は、ルートノード60内のメタデータ61のアドレス部に格納されたコンテンツアドレス「CA1」に参照された状態となっている。つまり、メタデータ71の格納位置を表すコンテンツアドレスは「CA1」である。また、これらコンテンツアドレス「CA1」は、メタデータ61に格納されたファイル内位置情報「off1」に対応している。なお、このメタデータ61は、ファイルAを構成するために、上記CA1で参照するデータに後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。つまり、ルートノード60に格納されているコンテンツアドレスの参照先に位置する全ての格納データを用いることで、ファイルAを生成することができる。
そして、コンテンツアドレステーブルは、図8に示すように、上述した各メタデータに基づいて更新される。ここでは、各コンテンツアドレスのカウンタ数は、当該コンテンツアドレスが参照しているデータの数であるため、図8を参照して換言すると、各コンテンツアドレスから矢印が出ている数となる。
次に、図9を参照して、ファイルBが記憶されたきの様子を説明する。なお、ファイルBは、図9に示すように、[a,a,e,b,b,b,c,c]というデータ構造となっている。
まず、上記ファイルBが記憶されると、当該ファイルAを構成する分割データの各要素であるデータa(DATAa)、データe(DATAe)、データb(DATAb)、データc(DATAc)が、データ部90に格納される。なお、同一内容のデータは、1つのみ格納されるため、ここでは、DATAeのみが追加されて記憶される。
そして、上述したファイルBのデータ構造に応じて、格納されているデータa,e,b,cを参照したメタデータが生成あるいは更新されて格納される。このとき、ファイルBの先頭側の「a,a」というデータ構成は、すでにファイルAを格納したときに格納しているため、上記「DATAa」を参照するリーフノード80に格納されたメタデータ81(キー部81a、アドレス部81b)を用いる。つまり、リーフノード80よりもさらに上位階層に位置するインデックスノード70内のメタデータ73にて、リーフノード80内のメタデータ81を参照する。具体的には、リーフノード80内の既存のメタデータ81を構成するキー部81aとアドレス部81bとが、それぞれインデックスノード70内のメタデータ73のアドレス部に格納されたコンテンツアドレス「CA3,CA4」にそれぞれ参照された状態となる。換言すると、リーフノード80内の既存のメタデータ81を構成するキー部81aとアドレス部81bとのコンテンツアドレス「CA3,CA4」を、メタデータ73にて参照する。また、これらコンテンツアドレス「CA3,CA4」は、メタデータ73に格納された1つのファイル内位置情報「off1」に対応している。なお、このメタデータ71は、ファイルBを構成するために、後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。
また、上記インデックスノード70に格納されたメタデータ73は、ルートノード60に格納されたメタデータ62に参照されている。具体的には、インデックスノード70内のメタデータ73は、ルートノード60内のメタデータ62のアドレス部に格納されたコンテンツアドレス「CA11」に参照された状態となっている。また、このコンテンツアドレス「CA11」は、メタデータ62に格納されたファイル内位置情報「off1」に対応している。なお、このメタデータ62は、ファイルBを構成するために、上記CA11で参照するデータに後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。つまり、ルートノード60に格納されているコンテンツアドレスの参照先に位置する全ての格納データを用いることで、ファイルBを生成することができる。
ここで、上記ルートノード60のメタデータ62のコンテンツアドレスCA12が参照するインデックスノード70内のメタデータ74について説明する。このメタデータ74は、1つのファイル内位置情報「off1」に対応しているコンテンツアドレス「CA15,CA6」を記憶している。つまり、コンテンツアドレスCA15では、リーフノード80内に新たに生成されたメタデータの一部を構成するキー部(コンテンツアドレスCA15で示す)を参照しているが、コンテンツアドレスCA6では、ファイルAのデータを参照すべく生成された既存のメタデータの一部を構成するアドレス部(コンテンツアドレスCA6で示すデータ)を参照している。なお、インデックスノード70に格納される1つのファイル内位置情報に対応している対となるコンテンツアドレスは、上記とは逆に、一方が他の既存のキー部を参照し、他方が他の新たに生成したアドレス部を参照してもよい。
そして、コンテンツアドレステーブルは、図9に示すように、上述した各メタデータに基づいて更新される。具体的には、新たな種類のコンテンツアドレスが生成されていれば、そのコンテンツアドレスを追加し、また、既存のコンテンツアドレスの参照数が増えれば、カウンタを更新する。
次に、図9乃至図10を参照して、ファイルAを削除したときの様子を説明する。上記ファイルAを削除すると、当該ファイルAを参照するメタデータを削除する。例えば、図9に示すルートノード60に格納されたファイルAに対応するメタデータ61を削除する。すると、このメタデータ61に格納されているコンテンツアドレスCA1,CA2が削除されるため、当該コンテンツアドレスCA1,CA2による他のデータの参照数であるコンテンツアドレステーブル内のカウンタを「1」だけ減算する。すると、コンテンツアドレスCA1、CA2の参照数が「0」になるため、当該コンテンツアドレスCA1,CA2で参照されるインデックスノード70内のメタデータ71,72を削除する。
そして、上記同様に、この削除したメタデータ71,72に格納されたコンテンツアドレスCA3等が削除されるため、併せてコンテンツアドレステーブルを更新する。すると、コンテンツアドレスCA3のカウンタは、「2」から「1」となり、「0」ではないため、当該コンテンツアドレスCA3で参照されるメタデータは削除しない。
以上のようにして、参照数が「0」となったメタデータ及び格納データを削除し、一方で、「0」ではないメタデータ及び格納データはそのまま残す。これにより、図10に示すように、いずれのメタデータにも参照されていない不要となった他のメタデータや格納データを削除することができ、データの重複排除を効率よく行うことができる。また、上述したように、メタデータの重複排除を行っているため、コンテンツアドレスの種類が少なくなり、上記コンテンツアドレステーブルの管理が容易となる。
<実施形態2>
次に、本発明における第2の実施形態を、図11を参照して説明する。図11は、本実施形態におけるストレージノードに格納されているデータの様子を示す図である。
本実施形態におけるストレージシステムのストレージノード制御部30は、上述した実施形態2とほぼ同様の構成を採っているが、特に、格納するメタデータの構成が異なる。具体的には、上述したインデックスノード70に格納されるメタデータ71が、図11に示すように、キー部71aとアドレス部71bとで、それぞれ分離した別ファイルにて構成されている。
これに伴い、上述したルートノード60に格納されるメタデータ61は、本実施形態では、図11に示すように、上述した上段に位置する1つのfile offset(ファイル内位置情報)に対応して、下位階層に位置するインデックスノード70内のメタデータ71を構成するキー部71aファイルとアドレス部71bファイルとをそれぞれ参照する各コンテンツアドレス(CA)を記憶している。つまり、本実施形態におけるルートノード60のメタデータ61は、実施形態1におけるインデックスノードに格納されたメタデータと同様の構成を採っている。
このように、さらに上位階層に位置するメタデータのキー部とアドレス部とを分離して構成することで、下位階層に位置する既存の他のメタデータ、特に、メタデータを構成する分離された他のキー部ファイルやアドレス部ファイルをそれぞれ参照することでき、重複するデータを排除することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。
<実施形態3>
次に、本発明における第3の実施形態を、図12を参照して説明する。図12は、本実施形態におけるストレージノードに格納されているデータの様子を示す図である。
本実施形態におけるストレージシステムのストレージノード制御部30は、上述した実施形態1及び2とほぼ同様の構成を採っているが、特に、メタデータを任意の箇所で分割する機能を有する。例えば、メタデータを構成する分離されたキー部、アドレス部を、当該キー部、アドレス部に格納された情報と、他のメタデータのキー部、アドレス部に格納された情報とが、同一となるよう分割する。
ここで、分割の一例を、図12(C)に示す。まず、図12(A)に示す構成のファイルAとファイルBが、ストレージシステムに記憶されていたとする。そして、各ファイルの分割データがデータ部に格納されるが、このとき、各分割データを参照するメタデータのアドレス部に格納されるコンテンツアドレス、特に、リーフノードに格納されるコンテンツアドレスを、一定のデータ量で分割すると、図12(B)のようになる。
これに対して、本実施形態では、ストレージ制御部30が、図12(C)に示すように、ファイルAのメタデータを構成するアドレス部内のコンテンツアドレスと、ファイルBのメタデータを構成するアドレス部内のコンテンツアドレスとが、同一となるよう分割する。例えば、図12(C)の点線領域に示すように、同一のコンテンツアドレスが同一個数だけまとまった箇所が存在するため、かかる箇所で、それぞれのメタデータのアドレス部を分割する。
これにより、例えば、ファイルAのアドレス部を、ファイルBの上位階層のメタデータにて参照することができる。つまり、点線領域に示した部分のデータが重複して記録されることを抑制することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。なお、上記では、アドレス部を分割した場合を説明したが、キー部を分割してもよい。
<実施形態4>
本発明の第4の実施形態を、図13乃至図14を参照して説明する。図13は、ストレージシステムの構成を示す機能ブロック図である。図14は、ストレージシステムに格納されるデータの構造を示すデータ構造図である。なお、本実施形態では、ストレージシステムの概略を説明する。
図13に示すように、本実施形態におけるストレージシステム1は、
ファイルを構成する分割データを格納するデータ格納部4と、
上記分割データの格納位置を表すメタデータを格納するメタデータ格納部3と、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段2と、を備えている。
そして、上記データ処理手段2は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
上記ストレージシステムでは、図14に示すように、まず、ファイルを記憶する際には、当該ファイルの分割データ5を複数の記憶装置の各データ格納部4に格納する。そして、各分割データ5のファイル内における位置とデータ格納部4における格納位置とを表すメタデータ6を、メタデータ格納部3に格納する。その後、ファイルを読み出す際には、メタデータ6を参照して、ファイルを構成する各分割データ5のファイル内における位置及びデータ格納部における格納位置を特定し、記憶装置のデータ格納部4から分割データ5を読み出して、複数の分割データ5から成るファイルを再生する。
そして、上記構成のストレージシステム1では、新たに記憶する分割データと同一内容の他の分割データ5が既にデータ格納部に格納されている場合には、既存の他の分割データ5の格納位置を、新たに記憶する分割データの格納位置とするメタデータを設定して格納する。これにより、同一内容の分割データを重複して記憶する必要がなく、記憶容量の削減を図ることができる。
さらに、上記ストレージシステム1では、図14に示すように、メタデータ6が、分割データの分割前におけるファイル内での位置を表す情報を記憶するキー部61と、当該分割データのデータ格納部における格納位置を表す情報を記憶するアドレス部62と、を有しており、それぞれが分離して異なるファイルにて構成されている。従って、上述したように分割データが重複排除されている場合には、図1の符号182bのメタデータに示すように、メタデータのうちのアドレス部が他のアドレス部と重複することがあるが、この他のアドレス部を参照することで、重複するアドレス部のデータも重複排除することができる。つまり、図14の例では、符号7bに示すアドレス部として、符号6に示すメタデータのアドレス部6bを参照することができる。なお、アドレス部だけでなく、同様にしてキー部も重複排除することができる。従って、メタデータの記憶容量を削減することができ、ストレージシステム全体における記憶容量の削減を図ることができる。
また、上記ストレージシステムでは、
上記データ処理手段は、上記メタデータの格納位置を表す上位メタデータを、上記メタデータ格納部に格納し、
上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
という構成を採る。
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位メタデータの上記上位メタアドレス部に、他の上記上位メタデータにて参照されている既存の上記メタデータを構成する上記アドレス部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位メタデータの上記上位メタアドレス部に、他の上記上位メタデータにて参照されている既存の上記メタデータを構成する上記キー部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
このように、キー部とアドレス部とが分離された既存のメタデータを、上位メタデータにて参照することで、キー部やアドレス部のデータを効率的に重複排除することができる。
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位メタキー部と上記上位メタアドレス部とを相互に分離したデータにて構成した上記上位メタデータを、上記メタデータ格納部に格納する、
という構成を採る。
また、上記ストレージシステムでは、
上記データ処理部は、上記上位メタキー部及び上記上位メタアドレス部を有しており、他の上記上位メタデータの格納位置を表し、当該他の上位メタデータよりも上位階層に位置する上記上位メタデータを、上記メタデータ格納部に格納し、
上記上位階層に位置する上位メタデータの上記上位メタアドレス部は、上記上位メタキー部に記憶された1つの上記ファイル内位置情報に対応して、下位階層に位置する上記他の上位メタデータの上記上位メタキー部と上記上位メタアドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する、
という構成を採る。
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位階層に位置する上位メタデータの上記上位メタアドレス部に、別の上位メタデータにて参照されている既存の上記上位メタデータを構成する上記上位メタアドレス部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
また、上記ストレージシステムでは、
上記データ処理手段は、上記上位階層に位置する上位メタデータの上記上位メタアドレス部に、別の上位メタデータにて参照されている既存の上記上位メタデータを構成する上記メタキー部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
このように、上位メタデータを構成する上位メタキー部と上位メタアドレス部とを分離して構成することで、さらに上位階層に位置する上位メタデータにて、それぞれ既存の上位メタキー部や上位メタアドレス部を参照し、重複するデータを排除することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。
また、上記ストレージシステムでは、
上記データ処理手段は、上記メタデータ格納部に格納された上記メタデータの上記キー部及び/又は上記アドレス部を、当該キー部及び/又はアドレス部に格納された情報と、他の上記メタデータの上記キー部及び/又は上記アドレス部に格納された情報と、に基づいて分割する、
という構成を採る。
また、上記ストレージシステムでは、
上記データ処理手段は、上記メタデータの上記キー部及び/又は上記アドレス部を、当該キー部及び/又はアドレス部に格納された情報と、他の上記メタデータの上記キー部及び/又は上記アドレス部に格納された情報と、が同一となるよう分割する、
という構成を採る。
このように、他のメタデータのキー部やアドレス部に格納されている情報が同一となるよう、メタデータのキー部やアドレス部を分割することで、重複する情報を生成することができ、かかるキー部やアドレス部のデータを重複排除することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。
また、上記ストレージシステムでは、
上記アドレス部に格納されている上記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
上記データ処理手段は、上記アドレステーブルに記憶された上記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
という構成を採る。
また、上記ストレージシステムでは、
上記アドレス部及び上記上位メタアドレス部に格納された上記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
上記データ処理手段は、上記アドレステーブルに記憶された上記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
という構成を採る。
また、上記ストレージシステムでは、
上記データ処理手段は、上記アドレステーブルに記憶されている参照数が0である上記アドレス情報が参照するデータを削除する、
という構成を採る。
このように、アドレス情報毎の参照数を記憶しておくことで、参照されていない不要となったデータを削除する処理が容易となる。このとき、特に、上述したようにアドレス情報の重複排除を行うことで、アドレス情報毎の参照数が減少し、アドレステーブルの算出が容易となり、迅速なデータ処理を実現できる。
また、上述したストレージシステムは、情報処理装置にプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、
ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置に、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段を実現させる、という構成を採る。
そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する。
また、上記プログラムでは、
上記データ処理手段は、上記メタデータの格納位置を表す上位メタデータを、上記メタデータ格納部に格納し、
上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
という構成を採る。
また、本発明の他の形態である、上述したストレージシステムに格納されるデータのデータ構造は、
ファイルを構成する分割データを格納するデータ格納部と、
上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段と、を備えたストレージシステムにて、上記メタデータ格納部に格納するデータのデータ構造である。
そして、上記データのデータ構造は、
上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成されたメタデータを有する。
また、上記データ構造は、
上記データ処理手段にて上記メタデータ格納部に格納される、上記メタデータの格納位置を表す上位メタデータを有し、
上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する。
また、上述したストレージシステムが作動することにより実行される、本発明の他の形態であるデータ処理方法は、
ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置にて、
上記データ格納部に対して上記分割データを記憶して、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納し、
上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生する。
そして、さらに、上記分割データ格納時、あるいは、任意のタイミングで、
上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、
という構成を採る。
また、上記データ処理方法では、
上記メタデータの格納位置を表す上位メタデータを、上記メタデータ格納部に格納し、
上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
という構成を採る。
上述した構成を有する、プログラム、データ構造、又は、データ処理方法、の発明であっても、上記ストレージシステムと同様の作用を有するために、上述した本発明の目的を達成することができる。
本発明は、複数のコンピュータを接続して構成されるストレージシステムに利用することができ、産業上の利用可能性を有する。
1 ストレージシステム
2 データ処理手段
3 メタデータ格納部
4 データ格納部
10 ストレージシステム
10A アクセラレータノード
10B ストレージノード
11 バックアップシステム
12 バックアップ装置
20 ファイルシステム部
30 ストレージノード制御部
31 コンテンツアドレス制御部
40 コンテンツアドレス部
50 メタデータ部
60 ルートノード
61,71,81 メタデータ
70 インデックスノード
80 リーフノード
81a キー部
81b アドレス部
90 データ部
91 格納データ

Claims (19)

  1. ファイルを構成する分割データを格納するデータ格納部と、
    前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
    前記データ格納部に対して前記分割データを記憶し、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納すると共に、前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生するデータ処理手段と、を備え、
    前記データ処理手段は、前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成した前記メタデータを、前記メタデータ格納部に格納する、
    ストレージシステム。
  2. 請求項1記載のストレージシステムであって、
    前記データ処理手段は、前記メタデータの格納位置を表す上位メタデータを、前記メタデータ格納部に格納し、
    前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
    ストレージシステム。
  3. 請求項2記載のストレージシステムであって、
    前記データ処理手段は、前記上位メタデータの前記上位メタアドレス部に、他の前記上位メタデータにて参照されている既存の前記メタデータを構成する前記アドレス部の格納位置を表す前記アドレス情報を記憶する、
    ストレージシステム。
  4. 請求項2又は3記載のストレージシステムであって、
    前記データ処理手段は、前記上位メタデータの前記上位メタアドレス部に、他の前記上位メタデータにて参照されている既存の前記メタデータを構成する前記キー部の格納位置を表す前記アドレス情報を記憶する、
    ストレージシステム。
  5. 請求項2乃至4のいずれか一項に記載のストレージシステムであって、
    前記データ処理手段は、前記上位メタキー部と前記上位メタアドレス部とを相互に分離したデータにて構成した前記上位メタデータを、前記メタデータ格納部に格納する、
    ストレージシステム。
  6. 請求項5記載のストレージシステムであって、
    前記データ処理部は、前記上位メタキー部及び前記上位メタアドレス部を有しており、他の前記上位メタデータの格納位置を表し、当該他の上位メタデータよりも上位階層に位置する前記上位メタデータを、前記メタデータ格納部に格納し、
    前記上位階層に位置する上位メタデータの前記上位メタアドレス部は、前記上位メタキー部に記憶された1つの前記ファイル内位置情報に対応して、下位階層に位置する前記他の上位メタデータの前記上位メタキー部と前記上位メタアドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する、
    ストレージシステム。
  7. 請求項6記載のストレージシステムであって、
    前記データ処理手段は、前記上位階層に位置する上位メタデータの前記上位メタアドレス部に、別の上位メタデータにて参照されている既存の前記上位メタデータを構成する前記上位メタアドレス部の格納位置を表す前記アドレス情報を記憶する、
    ストレージシステム。
  8. 請求項6又は7記載のストレージシステムであって、
    前記データ処理手段は、前記上位階層に位置する上位メタデータの前記上位メタアドレス部に、別の上位メタデータにて参照されている既存の前記上位メタデータを構成する前記上記メタキー部の格納位置を表す前記アドレス情報を記憶する、
    ストレージシステム。
  9. 請求項1乃至8のいずれか一項に記載のストレージシステムであって、
    前記データ処理手段は、前記メタデータ格納部に格納された前記メタデータの前記キー部及び/又は前記アドレス部を、当該キー部及び/又はアドレス部に格納された情報と、他の前記メタデータの前記キー部及び/又は前記アドレス部に格納された情報と、に基づいて分割する、
    ストレージシステム。
  10. 請求項9記載のストレージシステムであって、
    前記データ処理手段は、前記メタデータの前記キー部及び/又は前記アドレス部を、当該キー部及び/又はアドレス部に格納された情報と、他の前記メタデータの前記キー部及び/又は前記アドレス部に格納された情報と、が同一となるよう分割する、
    ストレージシステム。
  11. 請求項1乃至10のいずれか一項に記載のストレージシステムであって、
    前記アドレス部に格納されている前記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
    前記データ処理手段は、前記アドレステーブルに記憶された前記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
    ストレージシステム。
  12. 請求項2乃至10のいずれか一項に記載のストレージシステムであって、
    前記アドレス部及び前記上位メタアドレス部に格納された前記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
    前記データ処理手段は、前記アドレステーブルに記憶された前記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
    ストレージシステム。
  13. 請求項11又は12記載のストレージシステムであって、
    前記データ処理手段は、前記アドレステーブルに記憶されている参照数が0である前記アドレス情報が参照するデータを削除する、
    ストレージシステム。
  14. ファイルを構成する分割データを格納するデータ格納部と、前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置に、
    前記データ格納部に対して前記分割データを記憶し、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納すると共に、前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生するデータ処理手段を実現させると共に、
    前記データ処理手段は、前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成した前記メタデータを、前記メタデータ格納部に格納する、
    プログラム。
  15. 請求項14記載のプログラムであって、
    前記データ処理手段は、前記メタデータの格納位置を表す上位メタデータを、前記メタデータ格納部に格納し、
    前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
    プログラム。
  16. ファイルを構成する分割データを格納するデータ格納部と、
    前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
    前記データ格納部に対して前記分割データを記憶し、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納すると共に、前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生するデータ処理手段と、を備えたストレージシステムにて、前記メタデータ格納部に格納するデータのデータ構造であって、
    前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成されたメタデータを有するデータのデータ構造。
  17. 請求項16記載のデータ構造であって、
    前記データ処理手段にて前記メタデータ格納部に格納される、前記メタデータの格納位置を表す上位メタデータを有し、
    前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有するデータのデータ構造。
  18. ファイルを構成する分割データを格納するデータ格納部と、前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置にて、
    前記データ格納部に対して前記分割データを記憶して、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納し、
    前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生すると共に、
    前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成した前記メタデータを、前記メタデータ格納部に格納する、
    データ処理方法。
  19. 請求項18記載のデータ処理方法であって、
    前記メタデータの格納位置を表す上位メタデータを、前記メタデータ格納部に格納し、
    前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
    データ処理方法。
JP2009050062A 2009-03-04 2009-03-04 ストレージシステム Expired - Fee Related JP5407430B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009050062A JP5407430B2 (ja) 2009-03-04 2009-03-04 ストレージシステム
CN201080006260.XA CN102301347B (zh) 2009-03-04 2010-01-14 存储系统
PCT/JP2010/000153 WO2010100813A1 (ja) 2009-03-04 2010-01-14 ストレージシステム
EP10748418.0A EP2405359A4 (en) 2009-03-04 2010-01-14 STORING SYSTEM
US13/146,687 US8843445B2 (en) 2009-03-04 2010-01-14 Storage system for storing data in a plurality of storage devices and method for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009050062A JP5407430B2 (ja) 2009-03-04 2009-03-04 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2010204970A true JP2010204970A (ja) 2010-09-16
JP5407430B2 JP5407430B2 (ja) 2014-02-05

Family

ID=42709386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009050062A Expired - Fee Related JP5407430B2 (ja) 2009-03-04 2009-03-04 ストレージシステム

Country Status (5)

Country Link
US (1) US8843445B2 (ja)
EP (1) EP2405359A4 (ja)
JP (1) JP5407430B2 (ja)
CN (1) CN102301347B (ja)
WO (1) WO2010100813A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190099A (ja) * 2011-03-09 2012-10-04 Nec Corp ストレージシステム
JP2012198786A (ja) * 2011-03-22 2012-10-18 Fujitsu Ltd ファイル処理プログラム及び装置
JP2013003883A (ja) * 2011-06-17 2013-01-07 Nec Corp ストレージ装置、ストレージ方法およびプログラム
JP2013514560A (ja) * 2010-09-30 2013-04-25 日本電気株式会社 ストレージシステム
JP2014225297A (ja) * 2014-08-22 2014-12-04 株式会社日立製作所 フラッシュメモリモジュール及びストレージ装置
JP2023520564A (ja) * 2020-05-06 2023-05-17 華為技術有限公司 メタデータ記憶方法およびデバイス

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732401B2 (en) 2011-07-07 2014-05-20 Atlantis Computing, Inc. Method and apparatus for cache replacement using a catalog
US9069472B2 (en) 2012-12-21 2015-06-30 Atlantis Computing, Inc. Method for dispersing and collating I/O's from virtual machines for parallelization of I/O access and redundancy of storing virtual machine data
US9277010B2 (en) 2012-12-21 2016-03-01 Atlantis Computing, Inc. Systems and apparatuses for aggregating nodes to form an aggregated virtual storage for a virtualized desktop environment
US9372865B2 (en) 2013-02-12 2016-06-21 Atlantis Computing, Inc. Deduplication metadata access in deduplication file system
US9471590B2 (en) 2013-02-12 2016-10-18 Atlantis Computing, Inc. Method and apparatus for replicating virtual machine images using deduplication metadata
US9250946B2 (en) 2013-02-12 2016-02-02 Atlantis Computing, Inc. Efficient provisioning of cloned virtual machine images using deduplication metadata
US10467197B2 (en) 2013-04-22 2019-11-05 Bacula Systems Sa Creating a universally deduplicatable archive volume
CN104239575A (zh) * 2014-10-08 2014-12-24 清华大学 一种虚拟机镜像文件存储、分发方法及装置
CN104539733B (zh) * 2015-01-20 2017-12-22 电子科技大学 一种隐私碎片文件的云同步方法
US9967093B2 (en) * 2015-03-25 2018-05-08 Intel Corporation Techniques for securing and controlling access to data
CN106021217A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的大文件数据的编辑方法与系统
CN106021538A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的文件分割方法与系统
CN106021537A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的数据剔除方法与系统
CN106021536A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的数据插入方法与系统
CN106095794A (zh) * 2016-05-27 2016-11-09 成都索贝数码科技股份有限公司 一种基于fics对象存储的文件合并方法与系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198587A (ja) * 1996-12-30 1998-07-31 Sun Microsyst Inc ファイル・システムの間接アドレシング方法及び装置
US7143251B1 (en) * 2003-06-30 2006-11-28 Data Domain, Inc. Data storage using identifiers
WO2008005211A2 (en) * 2006-06-29 2008-01-10 Network Appliance, Inc. System and method for retrieving and using block fingerprints for data deduplication
WO2008109321A1 (en) * 2007-03-08 2008-09-12 Nec Laboratories America, Inc. Method and system for a self managing and scalable grid storage
US20090049260A1 (en) * 2007-08-13 2009-02-19 Upadhyayula Shivarama Narasimh High performance data deduplication in a virtual tape system
JP2010198276A (ja) * 2009-02-25 2010-09-09 Nec Corp ストレージシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125873A (en) * 1977-06-29 1978-11-14 International Business Machines Corporation Display compressed image refresh system
US6101506A (en) * 1997-05-01 2000-08-08 Hitachi, Ltd. Method and system for managing files by version and programs therefor
KR20020090206A (ko) 1999-12-07 2002-11-30 데이타 파운데이션 인코퍼레이션 확장 가능한 저장구조
AU770753B2 (en) * 1999-12-20 2004-03-04 Dainippon Printing Co. Ltd. Distributed data archive device and system
JP4284896B2 (ja) * 2001-08-02 2009-06-24 コニカミノルタビジネステクノロジーズ株式会社 ファイル管理プログラム、ファイル管理プログラムを記録したコンピュータ読取可能な記録媒体、およびファイル管理方法
GB2395809B (en) 2002-11-28 2005-12-21 Ibm Metadata lock management in advanced function n-way shared storage controller systems
US7444389B2 (en) 2003-12-09 2008-10-28 Emc Corporation Methods and apparatus for generating a content address to indicate data units written to a storage system proximate in time
WO2006050455A2 (en) * 2004-11-05 2006-05-11 Trusted Data Corporation Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
JP2009050062A (ja) 2007-08-16 2009-03-05 Delta Electronics Inc 自己冷却後面接続駆動原動機組立品
US7788220B1 (en) * 2007-12-31 2010-08-31 Emc Corporation Storage of data with composite hashes in backup systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198587A (ja) * 1996-12-30 1998-07-31 Sun Microsyst Inc ファイル・システムの間接アドレシング方法及び装置
US7143251B1 (en) * 2003-06-30 2006-11-28 Data Domain, Inc. Data storage using identifiers
WO2008005211A2 (en) * 2006-06-29 2008-01-10 Network Appliance, Inc. System and method for retrieving and using block fingerprints for data deduplication
WO2008109321A1 (en) * 2007-03-08 2008-09-12 Nec Laboratories America, Inc. Method and system for a self managing and scalable grid storage
US20090049260A1 (en) * 2007-08-13 2009-02-19 Upadhyayula Shivarama Narasimh High performance data deduplication in a virtual tape system
JP2010198276A (ja) * 2009-02-25 2010-09-09 Nec Corp ストレージシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200300851018; Mark Russinovich: 'NTFS5.0の内部構造-前編' 日経Windows2000 2001年7月 第52号, 20010628, pp.216-223, 日経BP社 *
JPN6013036588; Mark Russinovich: 'NTFS5.0の内部構造-前編' 日経Windows2000 2001年7月 第52号, 20010628, pp.216-223, 日経BP社 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013514560A (ja) * 2010-09-30 2013-04-25 日本電気株式会社 ストレージシステム
US9256368B2 (en) 2010-09-30 2016-02-09 Nec Corporation System and method for deduplication of distributed data
JP2012190099A (ja) * 2011-03-09 2012-10-04 Nec Corp ストレージシステム
JP2012198786A (ja) * 2011-03-22 2012-10-18 Fujitsu Ltd ファイル処理プログラム及び装置
JP2013003883A (ja) * 2011-06-17 2013-01-07 Nec Corp ストレージ装置、ストレージ方法およびプログラム
JP2014225297A (ja) * 2014-08-22 2014-12-04 株式会社日立製作所 フラッシュメモリモジュール及びストレージ装置
JP2023520564A (ja) * 2020-05-06 2023-05-17 華為技術有限公司 メタデータ記憶方法およびデバイス
JP7462790B2 (ja) 2020-05-06 2024-04-05 華為技術有限公司 メタデータ記憶方法およびデバイス
US12067279B2 (en) 2020-05-06 2024-08-20 Huawei Technologies Co., Ltd. Metadata storage method and device

Also Published As

Publication number Publication date
US20110295914A1 (en) 2011-12-01
EP2405359A4 (en) 2013-07-24
CN102301347B (zh) 2014-10-29
US8843445B2 (en) 2014-09-23
EP2405359A1 (en) 2012-01-11
JP5407430B2 (ja) 2014-02-05
WO2010100813A1 (ja) 2010-09-10
CN102301347A (zh) 2011-12-28

Similar Documents

Publication Publication Date Title
JP5407430B2 (ja) ストレージシステム
JP5339432B2 (ja) ストレージシステム
US9043540B2 (en) Systems and methods for tracking block ownership
US8725969B2 (en) Distributed content storage system supporting different redundancy degrees
JP6094267B2 (ja) ストレージシステム
JP2006331076A (ja) データ記憶システム及び記憶方法
WO2012101983A1 (ja) ストレージシステム
JP5517224B2 (ja) ストレージ装置
JP6406283B2 (ja) ストレージ装置およびストレージ方法
JP5660617B2 (ja) ストレージ装置
JP5585116B2 (ja) ストレージシステム
JP5929326B2 (ja) ストレージシステム
JP2013058134A (ja) データ書き込み装置
JP5459388B2 (ja) ストレージ装置
JP6269120B2 (ja) ストレージシステム
JP6281333B2 (ja) ストレージシステム
JP5526824B2 (ja) ストレージシステム
JP5891842B2 (ja) ストレージシステム
JP2013058133A (ja) データ書き込み装置
JP2004030305A (ja) ファイルシステム
JP6670995B2 (ja) 情報記録装置及び情報記録方法
JP6337507B2 (ja) ストレージシステム
CN117873966A (zh) 一种文件处理的方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111018

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131021

R150 Certificate of patent or registration of utility model

Ref document number: 5407430

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees