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

ストレージシステム Download PDF

Info

Publication number
JP5556025B2
JP5556025B2 JP2009045232A JP2009045232A JP5556025B2 JP 5556025 B2 JP5556025 B2 JP 5556025B2 JP 2009045232 A JP2009045232 A JP 2009045232A JP 2009045232 A JP2009045232 A JP 2009045232A JP 5556025 B2 JP5556025 B2 JP 5556025B2
Authority
JP
Japan
Prior art keywords
data
storage
address
operation log
tree structure
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.)
Active
Application number
JP2009045232A
Other languages
English (en)
Other versions
JP2010198528A (ja
Inventor
善昭 野口
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 JP2009045232A priority Critical patent/JP5556025B2/ja
Priority to CN200980157264.5A priority patent/CN102326151B/zh
Priority to PCT/JP2009/003965 priority patent/WO2010097848A1/ja
Priority to EP09840702A priority patent/EP2402861A4/en
Priority to US13/202,290 priority patent/US8612717B2/en
Publication of JP2010198528A publication Critical patent/JP2010198528A/ja
Application granted granted Critical
Publication of JP5556025B2 publication Critical patent/JP5556025B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステムにかかり、特に、格納したデータの内容に応じて特定される固有のアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレス型のストレージシステムに関する。
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納している。
そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される例えば、データのハッシュ値を用いる。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
また、コンテンツアドレスストレージシステムでは、ツリー型ファイルシステムが用いられている。これは、格納したデータを参照するコンテンツアドレス自体を、さらに上位階層に位置するコンテンツアドレスにて参照し、コンテンツアドレスをツリー構造に形成して格納している、というものである。これにより、上位階層から下位階層に向かって、コンテンツアドレスの参照先を辿っていくことで、目的の格納データにアクセスすることができる。
ここで、図1を参照して、コンテンツアドレスストレージシステムにおける、データ格納時の様子について説明する。ここでは、特に、データを格納してから、その格納したデータを参照するコンテンツアドレスのツリー構造(階層構造)の変化について説明する。
図1は、コンテンツアドレスストレージシステムのデータ格納手段に格納されたデータを示している。「ca00」や「ca01」に示される箱は、データブロックを示しており、「ca00」や「ca01」は、自身のデータ内容に応じて特定された格納位置を表すコンテンツアドレスを示している。
ここで、あるデータブロックから別のデータブロックを参照するときは、「ca」で示す直接アドレスを用いる方法と、「#1」で示す間接アドレスを用いる方法があり、アドレス対応表「ca100」には、間接アドレスの参照先となるコンテンツアドレスを格納している。例えば、「file1」の格納先は、「#3」となっており、直接コンテンツアドレス「ca30」を記録するのではなく、間接アドレスを用いている。これは、直接アドレスを用いるとき、ツリー構造のリーフにおける変更はルートまで伝搬されるためである。つまり、例えば、「ca30」の変更は、「ca11」の変更となり、さらに上位の「ca10」を変更しなければならない。ところが、間接アドレスを用いることで、当該間接アドレスに対応するコンテンツアドレスをアドレス対応表にて変更すればよく、上述したようなアドレス変更の伝搬を抑えることができる。なお、ツリー構造をたどる源は、ルート情報として格納されており、格納データは、このルート情報からツリー構造で下位階層にたどることができる。
次に、コンテンツアドレスストレージシステムにツリー構造を格納するときの動作を示すと共に、その問題を説明する。初期状態では、ルートディレクトリ「/」の配下に、「/dir1」と「/dir2」がある。そして、「/dir1」の配下に「/dir1/file1」と「/dir1/file2」があるときに、「/dir2/file3」を作成するときの動作を説明する。
はじめに、「/dir2/file3」を作成するためにファイルを「open」し、「dir2」に「file3」のエントリが作られる。すると、この「file3」のエントリである「file3=#5」がデータ格納手段に格納され、アドレスが「ca21-1」と求まる(1−1)。そして、このアドレス「ca21-1」を「dir2」が参照するアドレスとして格納し(1−2)、この「dir2,ca21-1」のデータブロックを参照するアドレスが「ca20-1」と求まる。その後、「dir2」の間接参照アドレスである「#2」に対応付けて、アドレス対応表に登録する(1−3)。これにより、アドレスデータのツリー構造が確定される。
次に、データブロック「data31」が、データ格納手段に格納されたとする(2−1)。すると、そのコンテンツアドレスが「ca51」と求まり、それを「file3」のデータブロックリスト「ca50(ca50-n)」に記録する(2−2)。これにより、データブロックリストのアドレスが「ca50-1」と求まり、これを「file3」の間接参照アドレスである「#5」に対応付けて、「#5=ca50-1」をアドレス対応表に登録する(2−3)。これにより、「file3」の状態が定まる。
その後、さらに、データブロック「data32」が、データ格納手段に格納された場合を考える(3−1)。すると、そのコンテンツアドレスが「ca52」と求まり、それを「file3」のデータブロックリスト「ca50(ca50-n)」に記録する(3−2)。これにより、データブロックリストのアドレスが「ca50-2」に変わり、これを「file3」の間接参照アドレスである「#5」に対応付けて、「#5=ca50-2」をアドレス対応表に登録する(3−3)。
特開2005−235171号公報
しかしながら、上述したコンテンツアドレスストレージシステムでは、ツリー構造の変化が、ディレクトリやファイルの作成のときだけでなく、ファイルの書き込みのときにも発生し、その量はファイルサイズに比例しうる。すると、本来格納不要であるコンテンツアドレスの中間状態が、データ格納手段に格納されることとなる。このため、将来同一データの格納に供えデータの消去をしないコンテンツアドレスストレージシステムの格納領域を無駄に使用することとなる。さらに、データからハッシュ値を求めるために一般的なファイルシステムより長い時間のかかるコンテンツアドレスストレージシステムにおいて、書き込み時間の遅延が生じる、という問題がある。
このため、本発明の目的は、上述した課題である、記憶容量の削減及び記憶処理時間の短縮化を図り、高性能なストレージシステムを提供することにある。
かかる目的を達成するため本発明の一形態であるストレージシステムは、
記憶対象データを格納すると共に、参照先のデータ内容及び格納位置に基づくアドレスデータであり上記記憶対象データ又は他のアドレスデータを参照する上記アドレスデータをツリー構造にて格納するデータ格納手段と、
上記記憶対象データを上記データ格納手段に格納する操作内容、及び、上記記憶対象データを参照するツリー構造の上記アドレスデータを上記データ格納手段に格納する操作内容、を表す操作ログを生成する操作ログ生成手段と、
上記操作ログに基づいて、上記データ格納手段に上記記憶対象データ及び上記ツリー構造のアドレスデータを格納するファイルシステム確定手段と、
を備える。
また、本発明の他の形態であるプログラムは、
記憶対象データを格納すると共に、参照先のデータ内容及び格納位置に基づくアドレスデータであり上記記憶対象データ又は他のアドレスデータを参照する上記アドレスデータをツリー構造にて格納するデータ格納手段を備えた情報処理装置に、
上記記憶対象データを上記データ格納手段に格納する操作内容、及び、上記記憶対象データを参照するツリー構造の上記アドレスデータを上記データ格納手段に格納する操作内容、を表す操作ログを生成する操作ログ生成手段と、
上記操作ログに基づいて、上記データ格納手段に上記記憶対象データ及び上記ツリー構造のアドレスデータを格納するファイルシステム確定手段と、
を実現させるためのプログラムである。
また、本発明の他の形態であるデータ格納方法は、
記憶対象データを格納すると共に、参照先のデータ内容及び格納位置に基づくアドレスデータであり上記記憶対象データ又は他のアドレスデータを参照する上記アドレスデータをツリー構造にて格納するデータ格納手段を備えた情報処理装置にて、
上記記憶対象データを上記データ格納手段に格納する操作内容、及び、上記記憶対象データを参照するツリー構造の上記アドレスデータを上記データ格納手段に格納する操作内容、を表す操作ログを生成し、
上記操作ログに基づいて、上記データ格納手段に上記記憶対象データ及び上記ツリー構造のアドレスデータを格納する、
という構成を採る。
本発明は、以上のように構成されることにより、記憶容量の削減及び記憶処理時間の短縮化を図ることができ、高性能なストレージシステムを提供することができる。
本発明に関連するストレージシステムにおけるデータ格納の様子を示す図である。 本発明におけるストレージシステムの構成の概略を示すブロック図である。 本発明の実施形態1におけるストレージシステムの構成を示す機能ブロック図である。 図3に開示したストレージシステムの動作を示すフローチャートである。 図3に開示したストレージシステムにおけるデータ格納の様子を示す図である。 図3に開示したストレージシステムにおけるデータ格納の様子を示す図である。 図3に開示したストレージシステムにおけるデータ格納の様子を示す図である。 図3に開示したストレージシステムにおけるデータ格納の様子を示す図である。 本発明の実施形態2におけるストレージシステムの構成を示す機能ブロック図である。
<実施形態1>
本発明の第1の実施形態を、図2乃至図8を参照して説明する。図2は、ストレージシステムの概略を示すブロック図であり、図3は、その構成を示す機能ブロック図である。図4は、ストレージシステムの動作を示すフローチャートである。図5乃至図8は、ストレージシステムにおけるデータ格納の様子を示す図である。
ここで、本実施形態は、後述する実施形態2で説明するストレージシステムの具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータで構成されていてもよい。
[構成]
本発明におけるストレージシステム10は、例えば、図示しないネットワークを介してバックアップ処理を制御するバックアップシステムに接続している。そして、バックアップシステムは、ネットワークを介して接続されたバックアップ対象装置に格納されているバックアップ対象データ(記憶対象データ)を取得し、ストレージシステム10に対して記憶するよう要求する。これにより、ストレージシステム10は、記憶要求されたバックアップ対象データをバックアップ用に記憶する。なお、図3では、ストレージシステム10に対してデータを記憶要求するバックアップシステムとして、ユーザアプリケーション30を例示する。
そして、図2に示すように、本実施形態におけるストレージシステム10は、複数のサーバコンピュータが接続されて構成を採っている。具体的に、ストレージシステム10は、ストレージシステム10自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード10Aと、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード10Bと、を備えている。なお、アクセラレータノード10Aの数とストレージノード10Bの数は、図2に示したものに限定されず、さらに多くの各ノード10A,10Bが接続されて構成されていてもよい。
さらに、本実施形態におけるストレージシステム10は、データを分割及び冗長化し、分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。
なお、以下では、ストレージシステム10が1つのシステムであるとして、当該ストレージシステム10が備えている構成及び機能を説明する。つまり、以下に説明するストレージシステム10が有する構成及び機能は、アクセラレータノード10Aあるいはストレージノード10Bのいずれに備えられていてもよい。なお、ストレージシステム10は、図2に示すように、必ずしもアクセラレータノード10Aとストレージノード10Bとを備えていることに限定されず、いかなる構成であってもよい。
図3に、ストレージシステム10の構成を示す。この図に示すように、ストレージシステム10は、ファイルシステムアクセス部11と、ツリー構造再現部12と、データ再現部13と、操作ログ14と、ファイルシステム確定部15と、データ格納部20と、を備えている。そして、上記構成は、ストレージシステム10に装備された演算装置にプログラムが組み込まれることで実現されたり、記憶装置にデータ格納領域として形成されていることによって実現されている。以下、各構成について詳述する。
上記データ格納部20(データ格納手段)は、データを格納する記憶領域であると共に、データ格納処理を行う機能を有する。具体的に、データ格納部20は、後述するように、ファイルシステム確定部15等から格納する記憶対象データを与えられると、当該記憶対象データを格納する。同時に、格納した記憶対象データのデータ内容に基づいてハッシュ値を計算し、当該記憶対象データを参照するアドレスデータであるコンテンツアドレスを返却する。また、データ格納部20は、上記記憶対象データ及び他のコンテンツアドレスを参照するツリー構造のコンテンツアドレスを格納する。このとき、他のコンテンツアドレスを参照するコンテンツアドレスは、参照先となる他のコンテンツアドレスのデータ内容に基づき当該他のコンテンツアドレスの格納位置を特定する値となる。このように、コンテンツアドレスは、参照先となるデータ内容及び格納位置に基づくアドレスデータであり、上位階層のコンテンツドレスが下位階層のコンテンツアドレスを参照し、また、最終的には格納された記憶対象データを参照するようツリー構造にて構成されている。なお、データ格納部20におけるデータの格納状態の一例については後述する。
また、上記ファイルシステムアクセス部11は、データの記憶要求等を行うユーザアプリケーション30に対するアクセス手段を提供する。例えば、本実施形態におけるファイルシステムアクセス部11は、「open」,「read」,「write」,「close」などオペレーティングシステムの一種であるUNIX(登録商標)にて使用されるシステムコールに準ずるものに対応していることとする。但し、ファイルシステムアクセス部11が提供するアクセス手段は、上述したシステムコールに限定されず、任意のインタフェースでもよい。また、上記ユーザアプリケーション30は、NFS(Network File System)やCIFS(Common Internet File System)などのネットワークファイルシステムインタフェースを用いてもよく、同一マシン内のローカルファイルシステムとしてもかまわない。いずれにしても、ユーザアプリケーション30の要求は、「open」,「close」,「mkdir」,「unlink」などのツリー構造に関する操作と、「read」,「write」などのデータに関する操作の2種に分類でき、ファイルシステムアクセス部10は、ツリー構造に関する操作をツリー構造再現部12に、データに関する操作をデータ再現部13に振り分ける。
また、上記ツリー構造再現部12は、ファイルシステムアクセス部11からのツリー構造操作要求を受け、ツリー構造の操作に必要なデータをデータ格納部20から読み出し、ツリー構造を一時的に生成して保持する。そして、この生成したツリー構造は最終的にファイルシステムとしてデータ格納部20に格納する必要があるため、そのツリー構造を生成した操作内容を、「commitログ」として操作ログ14に格納する。
また、上記データ再現部13は、ファイルシステムアクセス部11からのデータ転送要求を受け、「read」、「write」を処理する。例えば、データの書き込み要求時には、データ再現部13は、まず、書き込み要求にかかる記憶対象データを一時的に保持し、その後、保持しているデータをデータ格納部20に格納する。そして、データ格納部20からコンテンツアドレスが返却されると、書き込みが完了した旨をファイルシステムアクセス部11に応答する。特に、データの書き込みの際は、障害に対する処置が行われれば非同期におこなうこともできるため、データを一時的に保持した時点でファイルシステムアクセス部11を経由してユーザアプリケーション30に書き込み完了が通知され、次の書き込み要求を順次処理できる。このときは、「flushログ」として、後刻、一時的に保持している記憶対象データをデータ格納部20に書き込む必要がある旨を操作ログ14に格納する。なお、データの読み込みにおいては、データ格納部20からコンテンツアドレスを指定し読み出すのが基本であるが、保持されたデータからの読み出しによるキャッシュ効果も期待できる。
また、上記操作ログ14(キャッシュメモリ)は、ツリー操作およびデータ書き込みの記録が順次記録される。ツリー構造の確定には、それまでのデータ書き込み完了が必要なため、ツリー構造とデータ書き込みの両方の情報が必要となる。そして、操作ログ14は、メモリ上にツリー構造再現部12と、データ再現部13の両方からアクセスできる共有メモリとして実現しても良いし、共有ファイルとして実現してもよい。また、耐障害性を確保するためにデータベースに対するトランザクションとして実現しても良い。
なお、上記操作ログ14は、データ格納部20が形成されているハードディスクなどの記憶装置とは異なる記憶領域であり、例えば、それよりもデータの記録再生速度が高速なフラッシュメモリに形成されている。
このように、上記ツリー構造再現部12、データ再現部13、操作ログ14は、データ格納部20に対して格納する際における記憶対象データやアドレスデータの操作内容を表す操作ログを生成して一時的に格納する操作ログ生成手段として機能する。このとき、特に、データ再現部13は、データ格納部20に対する記憶対象データを一時的に格納し、また、ツリー構造再現部12は、記憶対象データを参照するアドレスデータのツリー構造を生成して一時的に格納するよう機能する。
また、上記ファイルシステム確定部15(ファイルシステム確定手段)は、操作ログ14に格納された「commitログ」と「flushログ」を順次読み取り、ツリー構造再現部12とデータ再現部13により一時的に更新された状態のツリー構造および記憶対象データを、データ格納部20に格納する。なお、図3では、すべてのデータがファイルシステム確定部15を経由しデータ格納部20に入るように図示してあるが、ファイルシステム確定部15が、ツリー構造再現部12とデータ再現部13にデータ格納部20へデータの格納を促し、実際のデータ転送はファイルシステム確定部15を経由しないようにしてもよい。
例えば、「close」のようなファイル操作の最後を示す要求を契機に、ツリー構造再現部12は、ファイルシステム確定部15に確定の要求を出すことができる。ファイルシステム確定部15が、操作ログ14に格納されたデータに基づき、ツリー操作とデータ転送を正しい順序でデータ格納部20に確定させることにより、中間状態を排除したファイルシステムの確定が可能となる。なお、ファイルシステムの確定は、上述した「close」のような契機とは無関係に、所定の時間間隔(例えば、2分間隔)で実施することもできる。この場合、中間状態の排除は完全ではないが、そのインターバル間で発生したツリー構造の変化を記録することを抑制することができる。
[動作]
次に、上述したストレージシステム10の動作を、図4乃至図8を参照して説明する。まず、図5は、ファイル作成から記憶対象データの書き込みまでについて、データ格納部20の格納データ、ツリー構造再現部12がキャッシュしているデータ、および、データ再現部13がキャッシュしているデータを図示したものである。
図5のデータ格納部20に示すように、初期状態では、ルートディレクトリ「/」の配下に、「/dir1」と「/dir2」があり、「/dir1」の配下に「/dir1/file1」と、「/dir1/file2」がある。ここに、「/dir2/file3」を作成するときの動作を示す。
まず、ユーザアプリケーション30から「/dir2/file3」を「open」する要求があると、その要求はツリー構造再現部12に渡される。ツリー構造再現部12は、事前準備として、ツリー構造のアクセスのために「/dir2」をキャッシュ領域「&20」で参照可能とし、それをツリー構造再現部12上のアドレス対応表に反映する。そして、「file3」に関する情報を格納する領域「&21」と「&50」とを割り当てて(1−1)、それらを「#5」としてアクセスできるよう、キャッシュ領域「&20」にアドレス「&21」を格納して、fileに関する情報を更新する(1−2)。このとき、「&20」、「&21」、「&50」に未確定のツリー構造が残るため、後刻「commit」してツリー構造を確定するために操作ログ14を記録する。具体的には、「commit &21」(&20を確定する)、「commit &22 at close &50」(&50がcloseのときに&20を確定する)、という操作ログ14を記録する。
続いて、データの書き込みがおこなわれると、データ再現部13は、記憶対象データ「data31」を仮の領域「&51」に格納する(2−1)。そして、データ再現部13は、格納したアドレス「&51」をツリー構造再現部12に通知し、「&50」の最初の領域に「&51」が格納される(2−2)。同様に、データ再現部13は、記憶対象データ「data32」を仮の領域「&52」に格納し(3−1)、格納したアドレス「&52」をツリー構造再現部12に通知し、「&50」の領域に「&52」が格納される(3−2)。すると、「&51」、「&52」には未確定のデータが残るため、後刻「flush」して記憶対象データを確定するための操作ログ14を記録する。具体的には、「flush &51 at close &50」(&50がcloseのときに&51を書き込む)、「flush &52 at close &50」(&50がcloseのときに&52を書き込む)、という操作ログ14を記録する。このとき、操作ログ14には、「&51」、「&52」と「&50」が関連づけられていることが記録される。これは、「flush」が完了する前に「commit」の処理が行われたときに、事前に「commit」をしておくものを検索するために使われる。
このように、データ再現部13に記録対象データを格納し、また、ツリー構造再現部12に記憶対象データを参照するアドレスデータのツリー構造を生成して格納し(図4のステップS1)、そのときの操作ログを記憶する(図4のステップS2)。
なお、中間状態を排除するという観点に鑑みると、ツリー構造は、できるだけ長くツリー構造再現部12で保持し、構造の確定を待ったほうがよい。一方で、データについては、データ格納部20に格納可能なサイズを超えた時点でデータブロックとして格納しはじめてかまわない。
次に、図6は、データが確定される動作を説明している。データ再現部13は、「File3」を「close」するときには、操作ログ14に記録されている「flush &51」、「flush &52」を行う。具体的には、データ再現部13に保持されているデータ「data31」をデータ格納部13に格納し(図4のステップS3)、当該格納した記憶対象データのコンテンツアドレス「ca51」を得る(4−1)。そして、コンテンツアドレスを得ると、それをツリー構造再現部12のツリー構造に反映する(図4のステップS4)(4−2)。つまり、ツリー構造再現部12内の「&50」に、アドレス「ca51」を格納する。同様に、データ再現部13は、保持されているデータ「data32」を随時データ格納部13に格納し、当該格納した記憶対象データのコンテンツアドレス「ca52」を得る(5−1)。そして、コンテンツアドレスを得ると、それをツリー構造再現部12のツリー構造に反映する(5−2)。具体的には、ツリー構造再現部12内の「&50」に、アドレス「ca52」を格納する。
そして、図7は、ファイルの書き込みが完了し、ツリー構造が確定するときの動作を示している。「File3」が「close」されると、上述したように「&50」のデータが確定し、コンテンツアドレス「ca51」、「ca52」がデータ格納部20に格納される(6−1)。そして、ファイルシステム確定部15は、これをデータ格納部20のアドレス対応表に、「#5=ca50」を反映する(6−2)。
そして、操作ログ14より、その後に残ったcommitを実施する。つまり、「commit &21」を行い、上述したように確定した「ca50」を参照する間接アドレス「#5」を含むデータである「&21」をデータ格納部20に記録し、そのコンテンツアドレスが「ca21」と確定する(7−1)。従って、ツリー構造再現部12の「&20」内に、コンテンツアドレス「ca21」を格納する(7−2)。そして、さらに、「commit &20」を行い、ツリー構造再現部12内の「&20」をデータ格納部20に格納し、そのコンテンツアドレスが「ca20-1」と確定する(8−1)。そして、これに対応して、データ格納部20のアドレス対応表に、「#2=ca20-1」を反映する(8−2)。
以上のようにして、図8に示すよう、記憶対象データが格納され、当該データを参照するコンテンツアドレスのツリー構造が格納される(図4のステップS5)。従って、ツリー構造ファイルシステムを格納するときのツリー構造の変化における不要な中間状態が、データ格納部20に格納されることがない。その結果、記憶容量の削減及び記憶処理時間の短縮化を図ることができ、高性能なストレージシステムを提供することができる。
このとき、特に、上述したように、同一ファイルである「File3」を構成する複数の記憶対象データ(data31,data32)をデータ格納部20に格納してから、これによって特定されるコンテンツアドレスを用いて、ツリー構造を下位階層から上位階層に向かって順に確定している。従って、データ格納部20上においてアドレスデータのツリー構造の変更を抑制することができ、当該アドレスデータの格納回数を抑制できる。その結果、より効果的に、ツリー構造の変化に伴うコンテンツアドレスの中間状態を表すデータを格納することを抑制できる。このとき、データ格納部20に対して、同一ファイルを構成する全ての記憶対象データを格納してからツリー構造を格納することで、さらに効率的にアドレスデータのツリー構造の格納を実現できる。但し、同一ファイルを構成する記憶対象データのうち、一部の記憶対象データを格納した後に、当該記憶対象データを参照するアドレスデータのツリー構造を格納してもよい。
なお、上記では、記憶対象データやコンテンツアドレスのツリー構造が、ツリー構造再現部12やデータ再現部13に一時的に保持されているため、かかるデータを再利用することができ、キャッシュ効率の向上を図ることができる。従って、さらなる記憶再生処理の向上を図ることもできる。
<実施形態2>
次に、本発明の第2の実施形態を、図9を参照して説明する。図9は、本実施形態におけるストレージシステムの構成を示す機能ブロック図である。なお、本実施形態では、上述したストレージシステムの概略を説明する。
図9に示すように、本実施形態におけるストレージシステム1は、
記憶対象データを格納すると共に、参照先のデータ内容及び格納位置に基づくアドレスデータであり上記記憶対象データ又は他のアドレスデータを参照する上記アドレスデータをツリー構造にて格納するデータ格納手段2と、
上記記憶対象データを上記データ格納手段に格納する操作内容、及び、上記記憶対象データを参照するツリー構造の上記アドレスデータを上記データ格納手段に格納する操作内容、を表す操作ログを生成する操作ログ生成手段3と、
上記操作ログに基づいて、上記データ格納手段に上記記憶対象データ及び上記ツリー構造のアドレスデータを格納するファイルシステム確定手段4と、
を備える。
そして、上記ストレージシステムでは、
上記操作ログ生成手段は、上記記憶対象データ及び上記ツリー構造のアドレスデータを、上記データ格納手段とは異なる記憶領域であるキャッシュメモリに格納すると共に、この格納操作に基づいて上記操作ログを生成して当該操作ログを上記キャッシュメモリに記憶する、
という構成を採る。
また、上記ストレージシステムでは、
上記ファイルシステム確定手段は、上記操作ログに基づいて上記記憶対象データを上記データ格納手段に格納すると共に、上記記憶対象データを上記データ格納手段に格納することによって特定された上記アドレスデータを用いた上記ツリー構造のアドレスデータを、上記操作ログに基づいて上記データ格納手段に格納する、
という構成を採る。
また、上記ストレージシステムでは、
上記ファイルシステム確定手段は、上記操作ログに基づいて、上記アドレスデータを、上記ツリー構造のアドレスデータのうち下位階層から上位階層に向かって順に上記データ格納手段に格納する、
という構成を採る。
上記発明によると、まず、ストレージシステムは、記憶対象データと、この記憶対象データを参照するツリー構造のアドレスデータと、をデータ格納手段に格納する際に、これら各データを格納する操作内容を表す操作ログを生成する。具体的には、記憶対象データと、これを参照するツリー構造のアドレスデータと、をキャッシュメモリに格納し、この格納処理に基づいて操作ログを生成してキャッシュメモリに格納する。この時点では、まだ、データ格納手段には、記憶対象データ及びツリー構造のアドレスデータを格納しない。そして、その後、上記操作ログに基づいて、記憶対象データとツリー構造のアドレスデータを、データ格納手段に記憶する。特に、まず記憶対象データをデータ格納手段に格納し、その後、これによって特定されるアドレスデータを、ツリー構造の下位階層から上位階層に向かって順に、データ格納手段に格納する。
これにより、ツリー構造のアドレスデータの書き込み回数を削減でき、当該ツリー構造の変化を抑制することができる。従って、ツリー構造の変化に伴う中間状態を表すデータをデータ格納手段に格納することを抑制できる。その結果、記憶容量の削減及び記憶処理時間の短縮化を図ることができ、高性能なストレージシステムを提供することができる。
また、上記ストレージシステムでは、
上記ファイルシステム確定手段は、上記操作ログに基づいて、複数の上記記憶対象データを上記データ格納手段に格納した後に上記アドレスデータを上記データ格納手段に格納する、
という構成を採る。
また、上記ストレージシステムでは、
上記ファイルシステム確定手段は、同一のファイルを構成する上記複数の記憶対象データを上記データ格納手段に格納する、
という構成を採る。
また、上記ストレージシステムでは、
上記ファイルシステム確定手段は、同一のファイルを構成する上記複数の記憶対象データの全て、及び、当該複数の記憶対象データを参照する上記ツリー構造のアドレスデータを、上記キャッシュメモリに格納した後に、上記複数の記憶対象データ及び上記ツリー構造のアドレスデータを、上記データ格納手段に格納する、
という構成を採る。
このように、複数の記憶対象データをデータ格納手段に書き込んだ後に、これにより特定されるアドレスデータを格納することで、データ格納手段上においてアドレスデータのツリー構造の変更を抑制することができ、当該アドレスデータの格納回数を抑制できる。その結果、より効率的に、記憶容量の削減及び記憶処理時間の短縮化を図ることができる。
また、上述したストレージシステムは、情報処理装置に、プログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、
記憶対象データを格納すると共に、参照先のデータ内容及び格納位置に基づくアドレスデータであり上記記憶対象データ又は他のアドレスデータを参照する上記アドレスデータをツリー構造にて格納するデータ格納手段を備えた情報処理装置に、
上記記憶対象データを上記データ格納手段に格納する操作内容、及び、上記記憶対象データを参照するツリー構造の上記アドレスデータを上記データ格納手段に格納する操作内容、を表す操作ログを生成する操作ログ生成手段と、
上記操作ログに基づいて、上記データ格納手段に上記記憶対象データ及び上記ツリー構造のアドレスデータを格納するファイルシステム確定手段と、
を実現させるためのプログラムである。
そして、上記プログラムでは、
上記操作ログ生成手段は、上記記憶対象データ及び上記ツリー構造のアドレスデータを、上記データ格納手段とは異なる記憶領域であるキャッシュメモリに格納すると共に、この格納操作に基づいて上記操作ログを生成して当該操作ログを上記キャッシュメモリに記憶する、
という構成を採る。
また、上述したストレージシステムが作動することにより実行される、本発明の他の形態であるデータ格納方法は、
記憶対象データを格納すると共に、参照先のデータ内容及び格納位置に基づくアドレスデータであり上記記憶対象データ又は他のアドレスデータを参照する上記アドレスデータをツリー構造にて格納するデータ格納手段を備えた情報処理装置にて、
上記記憶対象データを上記データ格納手段に格納する操作内容、及び、上記記憶対象データを参照するツリー構造の上記アドレスデータを上記データ格納手段に格納する操作内容、を表す操作ログを生成し、
上記操作ログに基づいて、上記データ格納手段に上記記憶対象データ及び上記ツリー構造のアドレスデータを格納する、
という構成を採る。
そして、上記データ格納方法では、
上記操作ログ生成時に、上記記憶対象データ及び上記ツリー構造のアドレスデータを、上記データ格納手段とは異なる記憶領域であるキャッシュメモリに格納すると共に、この格納操作に基づいて上記操作ログを生成して当該操作ログを上記キャッシュメモリに記憶する、
という構成を採る。
上述した構成を有する、プログラム、又は、データ格納方法、の発明であっても、上記ストレージシステムと同様の作用を有するために、上述した本発明の目的を達成することができる。
本発明は、格納したデータの内容に応じて特定される固有のアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレス型のストレージシステムに利用することができ、産業上の利用可能性を有する。
1 ストレージシステム
2 データ格納手段
3 操作ログ生成手段
4 ファイルシステム確定手段
10 ストレージシステム
10A アクセラレータノード
10B ストレージノード
11 ファイルシステムアクセス部
12 ツリー構造再現部
13 データ再現部
14 操作ログ
15 ファイルシステム確定部
20 データ格納部

Claims (6)

  1. 記憶対象データを格納すると共に、参照先のデータ内容及び格納位置に基づくアドレスデータであり前記記憶対象データ又は他のアドレスデータを参照する前記アドレスデータをツリー構造にて格納するデータ格納手段と、
    前記記憶対象データを前記データ格納手段に格納する操作内容、及び、前記記憶対象データを参照するツリー構造の前記アドレスデータを前記データ格納手段に格納する操作内容、を表す操作ログを生成する操作ログ生成手段と、
    前記操作ログに基づいて、前記データ格納手段に前記記憶対象データ及び前記ツリー構造のアドレスデータを格納するファイルシステム確定手段と、
    を備え、
    前記操作ログ生成手段は、前記記憶対象データ及び前記ツリー構造のアドレスデータを、前記データ格納手段とは異なる記憶領域であるキャッシュメモリに格納すると共に、この格納操作に基づいて前記操作ログを生成して当該操作ログを前記キャッシュメモリに記憶し、
    前記ファイルシステム確定手段は、前記操作ログに基づいて前記記憶対象データを前記データ格納手段に格納し、その後、前記記憶対象データを前記データ格納手段に格納することによって当該記憶対象データのデータ内容及び前記データ格納手段内における格納位置に基づいて特定された前記アドレスデータを前記キャッシュメモリに記憶されている前記ツリー構造のアドレスデータに反映して当該キャッシュメモリに格納し、前記操作ログに基づいて、前記ツリー構造のアドレスデータを下位階層から上位階層に向かって順に前記データ格納手段に格納する、
    ストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記ファイルシステム確定手段は、前記操作ログに基づいて、複数の前記記憶対象データを前記データ格納手段に格納した後に前記アドレスデータを前記データ格納手段に格納する、
    ストレージシステム。
  3. 請求項2に記載のストレージシステムであって、
    前記ファイルシステム確定手段は、同一のファイルを構成する前記複数の記憶対象データを前記データ格納手段に格納する、
    ストレージシステム。
  4. 請求項3に記載のストレージシステムであって、
    前記ファイルシステム確定手段は、同一のファイルを構成する前記複数の記憶対象データの全て、及び、当該複数の記憶対象データを参照する前記ツリー構造のアドレスデータを、前記キャッシュメモリに格納した後に、前記複数の記憶対象データ及び前記ツリー構造のアドレスデータを、前記データ格納手段に格納する、
    ストレージシステム。
  5. 記憶対象データを格納すると共に、参照先のデータ内容及び格納位置に基づくアドレスデータであり前記記憶対象データ又は他のアドレスデータを参照する前記アドレスデータをツリー構造にて格納するデータ格納手段を備えた情報処理装置に、
    前記記憶対象データを前記データ格納手段に格納する操作内容、及び、前記記憶対象データを参照するツリー構造の前記アドレスデータを前記データ格納手段に格納する操作内容、を表す操作ログを生成する操作ログ生成手段と、
    前記操作ログに基づいて、前記データ格納手段に前記記憶対象データ及び前記ツリー構造のアドレスデータを格納するファイルシステム確定手段と、
    を実現させると共に、
    前記操作ログ生成手段は、前記記憶対象データ及び前記ツリー構造のアドレスデータを、前記データ格納手段とは異なる記憶領域であるキャッシュメモリに格納すると共に、この格納操作に基づいて前記操作ログを生成して当該操作ログを前記キャッシュメモリに記憶し、
    前記ファイルシステム確定手段は、前記操作ログに基づいて前記記憶対象データを前記データ格納手段に格納し、その後、前記記憶対象データを前記データ格納手段に格納することによって当該記憶対象データのデータ内容及び前記データ格納手段内における格納位置に基づいて特定された前記アドレスデータを前記キャッシュメモリに記憶されている前記ツリー構造のアドレスデータに反映して当該キャッシュメモリに格納し、前記操作ログに基づいて、前記ツリー構造のアドレスデータを下位階層から上位階層に向かって順に前記データ格納手段に格納する、
    ことを実現させるためのプログラム。
  6. 記憶対象データを格納すると共に、参照先のデータ内容及び格納位置に基づくアドレスデータであり前記記憶対象データ又は他のアドレスデータを参照する前記アドレスデータをツリー構造にて格納するデータ格納手段を備えた情報処理装置にて、
    前記記憶対象データを前記データ格納手段に格納する操作内容、及び、前記記憶対象データを参照するツリー構造の前記アドレスデータを前記データ格納手段に格納する操作内容、を表す操作ログを生成し、
    前記操作ログに基づいて、前記データ格納手段に前記記憶対象データ及び前記ツリー構造のアドレスデータを格納するデータ格納方法であり、
    前記操作ログ生成時に、前記記憶対象データ及び前記ツリー構造のアドレスデータを、前記データ格納手段とは異なる記憶領域であるキャッシュメモリに格納すると共に、この格納操作に基づいて前記操作ログを生成して当該操作ログを前記キャッシュメモリに記憶し、
    前記操作ログに基づいて前記記憶対象データを前記データ格納手段に格納し、その後、前記記憶対象データを前記データ格納手段に格納することによって当該記憶対象データのデータ内容及び前記データ格納手段内における格納位置に基づいて特定された前記アドレスデータを前記キャッシュメモリに記憶されている前記ツリー構造のアドレスデータに反映して当該キャッシュメモリに格納し、前記操作ログに基づいて、前記ツリー構造のアドレスデータを下位階層から上位階層に向かって順に前記データ格納手段に格納する、
    データ格納方法。
JP2009045232A 2009-02-27 2009-02-27 ストレージシステム Active JP5556025B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009045232A JP5556025B2 (ja) 2009-02-27 2009-02-27 ストレージシステム
CN200980157264.5A CN102326151B (zh) 2009-02-27 2009-08-20 存储***
PCT/JP2009/003965 WO2010097848A1 (ja) 2009-02-27 2009-08-20 ストレージシステム
EP09840702A EP2402861A4 (en) 2009-02-27 2009-08-20 STORING SYSTEM
US13/202,290 US8612717B2 (en) 2009-02-27 2009-08-20 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009045232A JP5556025B2 (ja) 2009-02-27 2009-02-27 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2010198528A JP2010198528A (ja) 2010-09-09
JP5556025B2 true JP5556025B2 (ja) 2014-07-23

Family

ID=42665076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009045232A Active JP5556025B2 (ja) 2009-02-27 2009-02-27 ストレージシステム

Country Status (5)

Country Link
US (1) US8612717B2 (ja)
EP (1) EP2402861A4 (ja)
JP (1) JP5556025B2 (ja)
CN (1) CN102326151B (ja)
WO (1) WO2010097848A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306168B (zh) * 2011-08-23 2014-07-09 华为数字技术(成都)有限公司 日志操作方法、装置及文件***
US9946976B2 (en) * 2015-06-04 2018-04-17 Corey Francis Stedman System for enabling channel designation differentiation for hierarchically organizing and accessing address registers with address signifiers and elements
JP6648596B2 (ja) * 2016-03-28 2020-02-14 日本電気株式会社 ファイルシステム制御装置、ストレージシステム、ファイルシステム制御方法、及び、プログラム
CN106844491B (zh) * 2016-12-26 2020-07-10 中国石油天然气集团公司 一种临时数据的写入、读取方法及写入、读取装置
KR20220049396A (ko) * 2020-10-14 2022-04-21 삼성전자주식회사 간접 어드레싱을 위한 시스템, 장치 및 방법
US11501027B2 (en) * 2021-02-08 2022-11-15 Micron Technology, Inc. Mechanism to support writing files into a file system mounted in a secure memory device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997178A (ja) 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd 飽和演算処理装置および方法
JP2000056960A (ja) 1998-08-13 2000-02-25 Ricoh Co Ltd ユーザインターフェイス装置
US20060031460A1 (en) 2002-11-19 2006-02-09 Shouichi Araki Operation log cooperation utilizing device
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
US7444464B2 (en) * 2004-11-08 2008-10-28 Emc Corporation Content addressed storage device configured to maintain content address mapping
JP4248510B2 (ja) * 2005-03-24 2009-04-02 株式会社東芝 計算機システム、ディスク装置およびデータ更新制御方法
JP5070437B2 (ja) 2007-08-20 2012-11-14 株式会社大一商会 遊技機

Also Published As

Publication number Publication date
JP2010198528A (ja) 2010-09-09
EP2402861A1 (en) 2012-01-04
US8612717B2 (en) 2013-12-17
WO2010097848A1 (ja) 2010-09-02
EP2402861A4 (en) 2013-01-30
CN102326151B (zh) 2015-06-24
CN102326151A (zh) 2012-01-18
US20110302213A1 (en) 2011-12-08

Similar Documents

Publication Publication Date Title
US10936547B2 (en) Filesystem replication using a minimal filesystem metadata changelog
EP2422282B1 (en) Asynchronous distributed object uploading for replicated content addressable storage clusters
JP4168626B2 (ja) 記憶装置間のファイル移行方法
JP4620457B2 (ja) 複数の同時にアクティブなファイルシステム
JP5007350B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
JP5556025B2 (ja) ストレージシステム
US8977662B1 (en) Storing data objects from a flat namespace in a hierarchical directory structured file system
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
US11132141B2 (en) System and method for synchronization of data containers
US20150302021A1 (en) Storage system
JP6033420B2 (ja) ストレージシステムおよびストレージシステムの制御方法
CN113204520B (zh) 一种基于分布式文件***的遥感数据快速并发读写方法
US10628391B1 (en) Method and system for reducing metadata overhead in a two-tier storage architecture
JP2004252957A (ja) 分散ファイルシステムのファイルレプリケーション方法及び装置
JP2005316624A (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
JP6648596B2 (ja) ファイルシステム制御装置、ストレージシステム、ファイルシステム制御方法、及び、プログラム
US8180793B2 (en) Access to data stored in a file system
TWI769796B (zh) 利用索引物件來進行簡易儲存服務無縫遷移的方法、主裝置以及儲存伺服器
CN118444856A (zh) 一种提高渲染场景数据读取性能的方法
CN111858516A (zh) 数据处理方法及装置
JP2008097087A (ja) 階層構造オブジェクトのコピー方法

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: 20130827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140401

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140408

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: 20140507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140520

R150 Certificate of patent or registration of utility model

Ref document number: 5556025

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150