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

ストレージシステム Download PDF

Info

Publication number
JP5585116B2
JP5585116B2 JP2010034565A JP2010034565A JP5585116B2 JP 5585116 B2 JP5585116 B2 JP 5585116B2 JP 2010034565 A JP2010034565 A JP 2010034565A JP 2010034565 A JP2010034565 A JP 2010034565A JP 5585116 B2 JP5585116 B2 JP 5585116B2
Authority
JP
Japan
Prior art keywords
storage
target data
data
storage device
storage target
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.)
Expired - Fee Related
Application number
JP2010034565A
Other languages
English (en)
Other versions
JP2011170665A (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 JP2010034565A priority Critical patent/JP5585116B2/ja
Publication of JP2011170665A publication Critical patent/JP2011170665A/ja
Application granted granted Critical
Publication of JP5585116B2 publication Critical patent/JP5585116B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステムにかかり、特に、データを分散して複数の記憶装置に記憶するストレージシステムに関する。
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。
具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納している。そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。このようにすることで、データへのアクセス性能を高めつつ、フラグメントのいくつかを消失した場合であってもデータを復元でき、耐障害性を高めている。
また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
特開2005−235171号公報
ここで、上述したようなデータを複数の記憶装置に分散して格納するコンテンツアドレスストレージシステムでは、ハードウェア保守の期限切れやスペック不足等の理由によって、古い記憶装置を新しい記憶装置に交換する必要が生じる。ところが、記憶装置の交換中は、交換対象の記憶装置に格納されているフラグメントを構成要素とするブロックデータの読み出しは、上述したように冗長データが付加されているため可能ではあるが、通常時と比較して、当該ブロックデータの読み出し性能が低下する。
具体的には、上述した複数の記憶装置へのデータの分散格納は、全てのブロックデータに対して同様に行われている。つまり、記憶装置の交換中に読み出される可能性が高いデータブロックと読み出される可能性が低いブロックデータを意識することなく、記憶装置群に分散して格納している。従って、記憶装置の交換中に、特に、アクセスされる頻度が高いデータブロックの読み出し性能が低下する、という問題が生じる。
このため、本発明の目的は、上述した課題である、記憶装置の交換時において読み出し性能が低下する、ということを解決することにある。
上記目的を達成するために、本発明の一形態であるストレージ装置は、
記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている上記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている上記記憶対象データを他の記憶対象データとして参照させるデータ格納制御部と、
記憶装置に記憶されている上記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶する参照数管理部と、
上記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている上記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更するデータ再配置部と、
を備えた、という構成をとる。
また、本発明の他の形態であるプログラムは、
情報処理装置に、
記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御部と、
記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶する参照数管理部と、
前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更するデータ再配置部と、
を実現させるためのプログラムである。
さらに、本発明の他の形態であるデータ格納方法は、
記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御を行い、
記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶し、
前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更する、
という構成をとる。
本発明は、以上のように構成されることにより、記憶装置の交換時において読み出し性能の向上を図ることができる。
本発明の実施形態1におけるストレージシステムを含むシステム全体の構成を示すブロック図である。 本発明の実施形態1におけるストレージシステムの構成の概略を示すブロック図である。 本発明の実施形態1におけるストレージシステムの構成を示す機能ブロック図である。 図3に開示したストレージシステムにおけるデータ記憶処理の様子を説明するための説明図である。 図3に開示したストレージシステムにおけるデータ記憶処理の様子を説明するための説明図である。 図3に開示したストレージシステムに記憶されるコンテンツアドレス管理テーブルの一例を示す図である。 図3に開示したストレージシステムに記憶されるストレージノード管理テーブルの一例を示す図である。 図3に開示したストレージシステムの動作を示すフローチャートである。 図3に開示したストレージシステムの動作を示すフローチャートである。 図3に開示したストレージシステムの動作を示すフローチャートである。 本発明の付記におけるストレージシステムの構成を示す機能ブロック図である。
<実施形態1>
本発明の第1の実施形態を、図1乃至図10を参照して説明する。図1乃至図7は、ストレージシステムの構成を説明するための図であり、図8乃至図10は、ストレージシステムの動作を説明するための図である。
ここで、本実施形態は、後述する付記に記載のストレージシステムの具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータで構成されていてもよい。
[構成]
図1に示すように、本発明におけるストレージシステム100は、ネットワークNを介してバックアップ処理を制御するバックアップシステム101に接続している。そして、バックアップシステム101は、ネットワークNを介して接続されたバックアップ対象装置102に格納されている記憶対象データ(バックアップ対象データ)を取得し、ストレージシステム100に対して記憶するよう要求する。これにより、ストレージシステム100は、記憶要求された記憶対象データをバックアップ用に記憶する。
そして、図2に示すように、本実施形態におけるストレージシステム100は、複数のサーバコンピュータが接続された構成を採っている。具体的に、ストレージシステム100は、ストレージシステム100自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード10と、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード20と、を備えている。なお、図2や図3では、1台のアクセラレータノード10と複数台のストレージノード20とを図示しているが、アクセラレータノード10の数とストレージノード20の数は、図2,3に示したものに限定されず、さらに多くの各ノード10,20が接続されて構成されていてもよい。
さらに、本実施形態におけるストレージシステム100は、データを分割及び冗長化し、分散して複数の記憶装置に記憶すると共に、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。
なお、以下では、上述したようにストレージシステム100をアクセラレータノード10とストレージノード20とに分けて説明するが、以下に説明する構成及び機能は、アクセラレータノード10あるいはストレージノード20のいずれに備えられていてもよい。なお、ストレージシステム100は、図2,3に示すように、必ずしもアクセラレータノード10とストレージノード20とを備えていることに限定されず、いかなる構成であってもよく、例えば、1台のコンピュータにて構成されていてもよい。
図3に、ストレージシステム100を構成するアクセラレータノード10及びストレージノード20の構成を示す。まず、ストレージノード20は、演算装置と記憶装置とを備えた一般的な情報処理装置であり、図3に示すように、アクセラレータノード10から記憶要求されたデータを格納する記憶装置21を1台又は複数台備えている。
また、アクセラレータノード10も、演算装置と記憶装置とを備えた一般的な情報処理装置であり、図3に示すように、CPU(Central Processing Unit)などの演算装置にプログラムが組み込まれることで構築された、データ格納処理部11と、参照数管理部12と、データ再配置部13と、記憶装置管理部14と、を備えている。また、アクセラレータノード10は、記憶装置に形成されたコンテンツアドレス管理テーブル15と、ストレージノード管理テーブル16と、を備えている。以下、各構成について詳述する。
まず、上記記憶装置管理部14について説明する。記憶装置管理部14は、上述した各ストレージノード20に装備された各記憶装置21の交換順序を、ストレージノード管理テーブル16にて管理する。具体的に、記憶装置管理部14は、ストレージノード20が管理者などによって交換されると、ストレージノード管理テーブル16内において、交換されたストレージノード20の識別情報(ストレージノードID)に関連付けた「ノード交換順序」を「1」に設定する。そして、交換されていない他のストレージノード20の「ノード交換順序」は、交換前の値に1加算する。このため、「ノード交換順序」の値は、他のストレージノード20が交換される度に増加するため、交換から時間が経過しているものほど大きくなる。なお、ストレージノード管理テーブルの一例を、図7に示す。
また、記憶装置管理部14は、ストレージノード管理テーブル16にて、各ストレージノード20が「新規データ書き込み対象か否か」ということを管理している。具体的には、上述した「ノード交換順序」の値が大きい方から、同時に交換するストレージノードの数分だけ選択して、当該選択したストレージノード20を次に交換するストレージノードとして設定する。この場合には、選択されたストレージノード20のIDに関連付けられた「新規データ書き込み対象か否か」の項目に、「No」という情報を設定する。一方、それ以外のストレージノード20は、次の交換対象ではないとして、そのIDに関連付けられた「新規データ書き込み対象か否か」の項目に、「Yes」という情報を設定する。つまり、交換されてから多くの時間が経過したストレージノード20が、古い順に、次の交換対象として設定されて、その他のもの、つまり、交換されてから新しいものは、新しい順に、次の交換対象ではなく、新規データの格納対象となるストレージノードとして設定される。
次に、データ格納処理部11(データ格納制御部)について説明する。データ格納処理部11によるコンテンツアドレスを用いた記憶対象データの格納処理について説明する。データ格納処理部11は、まず、記憶対象データAの入力を受けると、図4及び図5の矢印Y2に示すように、当該記憶対象データAを、所定容量(例えば、64KB)のブロックデータDに分割する。そして、このブロックデータDのデータ内容に基づいて、当該データ内容を代表する固有のハッシュ値Hを算出する(矢印Y3)。例えば、ハッシュ値Hは、予め設定されたハッシュ関数を用いて、ブロックデータDのデータ内容から算出する。
そして、上記データ格納処理部11は、ブロックデータDのハッシュ値Hを用いて、当該ブロックデータDが既に記憶装置21に格納されているか否かを調べる。具体的には、まず、既に格納されているブロックデータDは、後述するように、そのハッシュ値Hが含まれた格納位置を表すコンテンツアドレスCAが、コンテンツアドレス管理テーブル15に登録されている。従って、格納前に算出したブロックデータDのハッシュ値Hがコンテンツアドレス管理テーブル15内に存在していない場合には、まだ同一内容のブロックデータDが記憶されていないと判断でき、ハッシュ値Hがコンテンツアドレス管理テーブル15内に存在している場合には、既に同一内容のブロックデータDが記憶されていると判断できる(図5の矢印Y4)。
そして、上記データ格納処理部11は、まだ同一のブロックデータDが記憶されていないと判断されたブロックデータDを圧縮して、図5の矢印Y5に示すように、複数の所定の容量のフラグメントデータに分割する。例えば、図4の符号D1〜D9に示すように、9つのフラグメントデータ(分割データ31)に分割する。さらに、データ格納処理部11は、分割したフラグメントデータのうちいくつかが欠けた場合であっても、元となるブロックデータを復元可能なよう冗長データを生成し、上記分割したフラグメントデータ31に追加する。例えば、図4の符号D10〜D12に示すように、3つのフラグメントデータ(冗長データ32)を追加する。これにより、9つの分割データ31と、3つの冗長データ32とにより構成される12個のフラグメントデータからなるデータセット30を生成する。
続いて、データ格納処理部11は、生成されたデータセットを構成する各フラグメントデータを、記憶装置に形成された各記憶領域に、それぞれ分散して格納する。例えば、図4に示すように、12個のフラグメントデータD1〜D12を生成した場合には、12個の記憶装置内にそれぞれ形成したデータ格納ファイルに、各フラグメントデータD1〜D12を1つずつそれぞれ格納する(図5の矢印Y6参照)。このとき、データ格納処理部11は、図7に示すようなストレージノード管理テーブル16を参照して、「新規データ書き込み対象か否か」の項目が「Yes」となっているストレージノード20に書き込む。つまり、交換されてから他と比較してまだ新しく次の交換対象とされていないストレージノード20に、新規データを格納する。
また、データ格納処理部11は、上述したように記憶装置に格納したフラグメントデータD1〜D12の格納位置、つまり、当該フラグメントデータD1〜D12にて復元されるブロックデータDの格納位置を表す、コンテンツアドレスCAを生成して管理する。具体的には、格納したブロックデータDの内容に基づいて算出したハッシュ値Hの一部(ショートハッシュ)(例えば、ハッシュ値Hの先頭8B(バイト))と、論理格納位置を表す情報と、を組み合わせて、コンテンツアドレスCAを生成する(図5の矢印Y7)。そして、アクセラレータノード10は、記憶対象データのファイル名などの識別情報と、コンテンツアドレスCAとを関連付けてファイルシステムで管理すると共に、図6に示すようなコンテンツアドレス管理テーブル15に、生成したコンテンツアドレスCAの新規エントリを追加する。
ここで、上記コンテンツアドレス管理テーブル15について説明する。コンテンツアドレス管理テーブル15は、データ格納処理部11にて各ストレージノード20に格納したブロックデータDの格納位置を、当該ブロックデータDの内容に応じて特定されるコンテンツアドレスを用いて管理したものである。具体的には、上述したように新規にブロックデータDが格納されると、図6に示すように、コンテンツアドレス管理テーブル15に新規エントリを追加し、当該ブロックデータDに対応するコンテンツアドレスCAに関連付けて、実際にブロックデータDのフラグメントを格納した格納位置を表す情報を、「フラグメント格納先アドレス」の項目に記憶する。これにより、コンテンツアドレスCAに関連付けられた格納先アドレスを参照することで、ブロックデータDを読み出すことができる。
また、上述したコンテンツアドレス管理テーブル15は、図6に示すように、コンテンツアドレスに関連付けて、「参照数」、「直近1ヶ月間の参照数変化」、「再配置済みか否か」、を表す情報を記憶している。このとき、「参照数」とは、コンテンツアドレスが参照されている数、つまり、コンテンツアドレスが参照する格納先アドレスに格納されているブロックデータDが他のブロックデータの格納先を示すべく参照されている数、を表している。そして、この「参照数」は、参照数管理部12にて管理されており、例えば、新規にブロックデータが格納された際には、参照数が「1」となる。また、後述するように、コンテンツアドレスが他のブロックデータの格納先として当該他のブロックデータから参照された場合には、上記参照数が1ずつ加算される。なお、他の情報については後述する。
また、上述したデータ格納処理部11は、記憶対象データのブロックデータDのハッシュ値Hが既にコンテンツアドレス管理テーブル15に存在している場合、つまり、既に同一内容のブロックデータDが格納されている場合には、格納前のブロックデータDのハッシュ値Hと一致したハッシュ値が含まれるコンテンツアドレスCAを、コンテンツアドレス管理テーブル15から取得する。そして、このコンテンツアドレスCAを、記憶要求にかかるブロックデータDの格納先を表すコンテンツアドレスCAとする。これにより、このコンテンツアドレスCAにて参照される既に格納されているデータが、記憶要求されたブロックデータDとして使用されることとなり、当該記憶要求にかかるブロックデータDは記憶する必要がなくなる。そして、参照数管理部12が、コンテンツアドレス管理テーブル15内の対応するコンテンツアドレスCAの「参照数」を、「1」加算する。
また、参照数管理部12は、定期的に、例えば、毎月1回、コンテンツアドレス管理テーブル15内の各コンテンツアドレスの参照数をチェックし、前回チェック時からの変化数を算出する。つまり、各コンテンツアドレスの参照数が先月に比べていくつ変化したかを表す直近1カ月間の参照数の変化数を算出して、コンテンツアドレス管理テーブル15内の「直近1ヶ月間の参照数変化」の項目の値を更新する。ここで、毎月1回というのは、一例であり、任意の期間毎における参照数の変化を算出してもよい。
また、データ再配置部13は、一定期間毎に動作して、ストレージノード管理テーブル16内の「直近1カ月間の参照数変化」の項目の値を調べる。そして、「直近1ヶ月間の参照数変化」の値が最も小さいブロックデータを特定して、当該ブロックデータを読み出す。なお、このとき、「直近1ヶ月間の参照数変化」の値が最も小さいブロックデータだけでなく、小さい方から予め設定された順番までのブロックデータを特定して読み出してもよい。
続いて、データ再配置部13は、読み込んだブロックデータを、ストレージノード管理テーブル16を参照して、新規書き込み対象ではないストレージノード20、つまり、次の交換対象となっているストレージノード20に書き込んで再配置する。その後、再配置する前のブロックデータのフラグメントデータを削除して、コンテンツアドレス管理テーブル15の当該フラグメント格納先アドレスを変更して、さらに「再配置済みか否か」の項目を「Yes」に変更する。これにより、ブロックデータの実データの格納位置は変更されるが、ブロックデータの再配置を行った後であっても当該ブロックデータのコンテンツアドレスは変わっていないので、外部からは引き続き同一のコンテンツアドレスで当該ブロックデータにアクセスすることができる。
なお、上記データ再配置部13は、例えば、新規データ書き込み対象となっているストレージノードと、対象となっていないストレージノードと、の容量使用率の差が一定値以上であったときに作動する。ここで、容量使用率とは、各ストレージノードに装備された記憶装置の記憶容量に対する実際に使用されている容量の割合である。従って、ストレージノード20間で、容量使用率が偏っている場合には、上述したように、参照数の変化が他と比較して少ないブロックデータを、次の交換対象となっているストレージノード20に再配置する処理を実行する。但し、ブロックデータの再配置の実施するタイミングは、上述したタイミングに限定されず、いかなるタイミングであってもよい。
[動作]
次に、上述したアクセラレータノード10の動作を、図8乃至図10のフローチャートを参照して説明する。特に、以下では、上述したデータ格納処理部11と、参照数管理部12と、データ再配置部13との動作を説明する。
まず、データ格納処理部11は、ファイルの書込み要求があると(ステップS1)、当該ファイルを複数のブロックデータに分割して、このブロックデータを記憶対象とする。そして、ブロックデータ毎にハッシュ値を計算し(ステップS2)、このハッシュ値と同じデータが既に記憶されているか判定する。例えば、コンテンツアドレス管理テーブル15に記憶されているハッシュ値を含むコンテンツアドレスを調べて、その一部であるハッシュ値に相当する部分に、同一のデータが記憶されているかを調べる。なお、同一データが既に記憶されているか否かの処理は、例えば、既に格納したブロックデータのハッシュ値を他の方法で記憶保持しており、この記憶保持しているハッシュ値と、新たに記憶するブロックデータから算出したハッシュ値とを比較して行ってもよい。
そして、新たに記憶するブロックデータと同一データが記憶されていないと判定された場合には(ステップS3:No)、図4に示すように、新たに記憶するブロックデータDを圧縮して分割し(符号31)、さらに冗長データ(符号32)を付加した複数のフラグメントデータからなるデータセット30を生成する(ステップS4)。そして、ストレージノード管理テーブル16を参照して、新規書き込み対象の項目がYesであるストレージノード20に、ブロックデータを構成する複数のフラグメントデータを、分散して記憶する(ステップS5)。その後、コンテンツアドレス管理テーブル15に新規エントリを追加する。
続いて、新たに記憶するブロックデータと同一データが記憶されていると判定された場合(ステップS3:Yes)の動作について説明する。この場合には、新たな記憶対象となっているブロックデータを記憶せず、既に記憶されているブロックデータを参照する。つまり、新たな記憶対象のブロックデータの格納位置として、既に記憶されているブロックデータのコンテンツアドレスを参照する。そして、そのコンテンツアドレスが参照されている数、つまり、コンテンツアドレス管理テーブル15内に記憶されているデータブロックの参照数を加算して、更新する(ステップS7)。
次に、参照数管理部12の動作を、図9を参照して説明する。参照数管理部12は、毎月1回、コンテンツアドレス管理テーブル15内の各コンテンツアドレスの参照数をチェックする(ステップS11)。そして、前回チェック時との変化数を、コンテンツアドレス管理テーブル15の直近1ヶ月間の参照数変位の値として更新する(ステップS9)。ここで、毎月1回というのは、一例であり、任意の期間毎のチェックでもよい。
ここで、記憶装置管理部14によるストレージノード管理テーブル16の更新、つまり、ノード交換順序の更新について説明する。記憶装置管理部14は、ストレージノード20が交換される度に実行され、ストレージノード管理テーブル16の更新を行う。具体的には、交換されたストレージノード20の「ノード交換順序」を「1」に初期化し、交換されていない他のストレージノード20の「ノード交換順序」を「1」加算する。これにより、「ノード交換順序」の値は、他のストレージノード20が交換される度に増加し、交換から時間が経過しているストレージノードの「ノード交換順序」ほど大きくなる。そして、「ノード交換順序」の値が大きい方から、同時に交換するストレージノードの数分だけ選択して、当該選択したストレージノード20を次に交換するストレージノードとして設定し、ストレージノード管理テーブル16内の「新規データ書き込み対象か否か」の項目を「No」に設定する。その他の「新規データ書き込み対象か否か」の項目は「Yes」に設定する。
次に、データ再配置部13の動作を、図10を参照して説明する。データ再配置部13は、一定期間毎に動作して、ストレージノード管理テーブル16を参照して、新規データ書き込み対象となっているストレージノードと、対象となっていないストレージノードと、の容量使用率を比較する(ステップS21)。ここで、容量使用率の差が一定値以上ではなかった場合には(ステップS22:No)、処理を終了する。
一方、容量使用率の差が一定値以上であった場合には(ステップS22:Yes)、コンテンツアドレス管理テーブル15を参照して、直近1ヶ月間の参照数変位が最も小さいブロックデータを再配置対象のブロックデータとして特定して(ステップS23)、当該ブロックデータを読み出す(ステップS24)。続いて、読み込んだブロックデータを新規書き込み対象ではないストレージノード、つまり、次の交換対象となっているストレージノードに書き込み、当該ブロックデータを再配置する(ステップS25)。
その後、再配置する前のブロックデータのフラグメントデータを削除して(ステップS26)、コンテンツアドレス管理テーブル15の当該フラグメント格納先アドレスを変更し、さらに再配置済みをYesに変更する(ステップS17)。なお、ブロックデータの再配置を行った後も、当該ブロックデータのコンテンツアドレスは変わっていないので、外部からは引き続き同一のコンテンツアドレスで当該ブロックデータにアクセスすることができる。
以上のように、本発明によると、コンテンツアドレスストレージシステムにおいて、記憶装置(ストレージノード)の交換時であっても、利用者の影響を抑制することができる。その理由は、格納済みのブロックデータの参照数の所定期間内における変化が少ないものは直近でアクセスされる可能性の低いブロックデータであると判断できるため、かかるブロックデータを次回交換対象の記憶装置に格納するからである。逆に言うと、アクセスされる可能性の高いブロックデータは、全て次回の交換対象外の記憶装置に格納することで、記憶装置交換時の影響を受けないようにしている。なお、ブロックデータの再配置を行った後も、当該ブロックデータのコンテンツアドレスは変わっていないので、引き続き同一のコンテンツアドレスで当該ブロックデータにアクセスすることが可能である。
従って、本発明のストレージシステムでは、記憶装置交換時の性能低下の影響を抑制しつつ、古くなった記憶装置を交換することができるため、運用が容易となり、信頼性の向上を図ることができる。
ここで、上記では、ブロックデータの参照数の所定期間内の変化が少ないものを、次の交換対象とされているストレージノードに再配置する場合を例示したが、逆に、参照数の所定期間内の変化が多いものを、次の交換対象とされていないストレージノードに再配置してもよい。これにより、結果として、次の交換対象とされているストレージノードには、ブロックデータの参照数の所定期間内の変化が少ないもの、つまり、直近でアクセスされる可能性の低いブロックデータが集まることとなり、上述同様に、記憶装置交換時における性能低下を抑制することができる。
また、上記では、ストレージノードが次の交換対象であるか、あるいは、新規データ書き込み対象であるか、ということを、交換されてからの時間を反映した情報(ノード交換順序)にて決定していたが、かかる方法に限定されない。例えば、管理者などにより予めノード交換の順番が設定されており、その設定された順番に応じて、次の交換対象や新規データ書き込み対象のストレージノードが決定されてもよい。
さらに、上記では、ブロックデータの参照数の変化の値に応じて、当該ブロックデータの再配置を行う場合を説明したが、ブロックデータの参照数の値に応じて、当該ブロックデータの再配置を行ってもよい。例えば、記憶されてから所定時間内における参照数の値が他と比較して小さいブロックデータを、次の交換対象となるストレージノードに再配置してもよい。あるいは、記憶されてから所定時間内における参照数の値が他と比較して大きいブロックデータを、次の交換対象ではないストレージノードに再配置してもよい。このようにすることで、参照数が少なくアクセスされる可能性の低いブロックデータが、次の交換対象となるストレージノードに集まることとなり、上述同様に、記憶装置交換時における性能低下を抑制することができる。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージ装置210の構成の概略について図11を参照して説明する。また、本発明における、プログラム、データ格納方法の構成について説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
記憶対象データを記憶装置220に格納すると共に、当該記憶装置220に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置220に格納する場合に、当該記憶装置220に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御部211と、
記憶装置220に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶する参照数管理部212と、
前記記憶対象データの参照数に応じて、所定の記憶装置220に記憶されている前記記憶対象データを他の記憶装置220に格納して当該記憶対象データの格納先を変更するデータ再配置部213と、
を備えたストレージ装置210。
(付記2)
付記1に記載のストレージ装置であって、
前記参照数管理部は、前記記憶対象データ毎の所定期間内における前記参照数の変化を計測し、
前記データ再配置部は、前記参照数の変化に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納する、
ストレージ装置。
(付記3)
付記2に記載のストレージ装置であって、
前記データ再配置部は、前記参照数の変化が他と比較して少ない前記記憶対象データを、次の交換対象とされている他の記憶装置に格納する、
ストレージ装置。
(付記4)
付記2に記載のストレージ装置であって、
前記データ再配置部は、前記参照数の変化が他と比較して多い前記記憶対象データを、次の交換対象とされていない他の記憶装置に格納する、
ストレージ装置。
(付記5)
付記3に記載のストレージ装置であって、
前記記憶装置毎に、当該記憶装置の交換順序を管理する記憶装置管理部を備え、
前記データ再配置部は、前記参照数の変化が他と比較して少ない前記記憶対象データを、前記交換順序に基づいて次の交換対象とされている他の記憶装置に格納する、
ストレージ装置。
(付記6)
付記5に記載のストレージ装置であって、
前記データ格納制御部は、前記交換順序に基づいて次の交換対象とされていない前記記憶装置に、新たに記憶する前記記憶対象データを格納する、
ストレージ装置。
(付記7)
付記1乃至6のいずれいかに記載のストレージ装置であって、
前記データ再配置部は、前記記憶装置毎の容量使用率の差が一定値以上である場合に作動する、
ストレージ装置。
(付記8)
情報処理装置に、
記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御部と、
記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶する参照数管理部と、
前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更するデータ再配置部と、
を実現させるためのプログラム。
(付記9)
付記8に記載のプログラムであって、
前記参照数管理部は、前記記憶対象データ毎の所定期間内における前記参照数の変化を計測し、
前記データ再配置部は、前記参照数の変化に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納する、
プログラム。
(付記10)
記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御を行い、
記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶し、
前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更する、
データ格納方法。
(付記11)
付記10に記載のデータ格納方法であって、
前記記憶対象データ毎の所定期間内における前記参照数の変化を計測し、
前記参照数の変化に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納する、
データ格納方法。
10 アクセラレータノード
11 データ格納処理部
12 参照数管理部
13 データ再配置部
14 記憶装置管理部
15 コンテンツアドレス管理テーブル
16 ストレージノード管理テーブル
20 ストレージノード
21 記憶装置
100 ストレージシステム
101 バックアップシステム
102 バックアップ対象装置
210 ストレージ装置
211 データ格納制御部
212 参照数管理部
213 データ再配置部
220 記憶装置

Claims (9)

  1. 記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御部と、
    記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶する参照数管理部と、
    前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更するデータ再配置部と、
    を備え、
    前記参照数管理部は、前記記憶対象データ毎の所定期間内における前記参照数の変化を計測し、
    前記データ再配置部は、前記参照数の変化が他と比較して少ない前記記憶対象データを、次の交換対象とされている他の記憶装置に格納する、
    ストレージ装置。
  2. 記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御部と、
    記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶する参照数管理部と、
    前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更するデータ再配置部と、
    を備え、
    前記参照数管理部は、前記記憶対象データ毎の所定期間内における前記参照数の変化を計測し、
    前記データ再配置部は、前記参照数の変化が他と比較して多い前記記憶対象データを、次の交換対象とされていない他の記憶装置に格納する、
    ストレージ装置。
  3. 請求項1に記載のストレージ装置であって、
    前記記憶装置毎に、当該記憶装置の交換順序を管理する記憶装置管理部を備え、
    前記データ再配置部は、前記参照数の変化が他と比較して少ない前記記憶対象データを、前記交換順序に基づいて次の交換対象とされている他の記憶装置に格納する、
    ストレージ装置。
  4. 請求項3に記載のストレージ装置であって、
    前記データ格納制御部は、前記交換順序に基づいて次の交換対象とされていない前記記憶装置に、新たに記憶する前記記憶対象データを格納する、
    ストレージ装置。
  5. 請求項1乃至4のいずれいか一項に記載のストレージ装置であって、
    前記データ再配置部は、前記記憶装置毎の容量使用率の差が一定値以上である場合に作動する、
    ストレージ装置。
  6. 情報処理装置に、
    記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御部と、
    記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶する参照数管理部と、
    前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更するデータ再配置部と、
    を実現させると共に、
    前記参照数管理部は、前記記憶対象データ毎の所定期間内における前記参照数の変化を計測し、
    前記データ再配置部は、前記参照数の変化が他と比較して少ない前記記憶対象データを、次の交換対象とされている他の記憶装置に格納する、
    ことを実現させるためのプログラム。
  7. 情報処理装置に、
    記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御部と、
    記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶する参照数管理部と、
    前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更するデータ再配置部と、
    を実現させると共に、
    前記参照数管理部は、前記記憶対象データ毎の所定期間内における前記参照数の変化を計測し、
    前記データ再配置部は、前記参照数の変化が他と比較して多い前記記憶対象データを、次の交換対象とされていない他の記憶装置に格納する、
    ことを実現させるためのプログラム。
  8. 記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御を行い、
    記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶し、
    前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更する、データ格納方法であり、
    前記記憶対象データ毎の所定期間内における前記参照数の変化を計測し、
    前記参照数の変化が他と比較して少ない前記記憶対象データを、次の交換対象とされている他の記憶装置に格納する、
    データ格納方法。
  9. 記憶対象データを記憶装置に格納すると共に、当該記憶装置に既に記憶されている前記記憶対象データと同一のデータ内容の他の記憶対象データを記憶装置に格納する場合に、当該記憶装置に既に記憶されている前記記憶対象データを他の記憶対象データとして参照させるデータ格納制御を行い、
    記憶装置に記憶されている前記記憶対象データ毎に、当該記憶対象データが他の記憶対象データとして参照されている数を表す参照数を記憶し、
    前記記憶対象データの参照数に応じて、所定の記憶装置に記憶されている前記記憶対象データを他の記憶装置に格納して当該記憶対象データの格納先を変更する、データ格納方法であり、
    前記記憶対象データ毎の所定期間内における前記参照数の変化を計測し、
    前記参照数の変化が他と比較して多い前記記憶対象データを、次の交換対象とされていない他の記憶装置に格納する、
    データ格納方法。
JP2010034565A 2010-02-19 2010-02-19 ストレージシステム Expired - Fee Related JP5585116B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010034565A JP5585116B2 (ja) 2010-02-19 2010-02-19 ストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010034565A JP5585116B2 (ja) 2010-02-19 2010-02-19 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2011170665A JP2011170665A (ja) 2011-09-01
JP5585116B2 true JP5585116B2 (ja) 2014-09-10

Family

ID=44684716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010034565A Expired - Fee Related JP5585116B2 (ja) 2010-02-19 2010-02-19 ストレージシステム

Country Status (1)

Country Link
JP (1) JP5585116B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6094267B2 (ja) * 2013-03-01 2017-03-15 日本電気株式会社 ストレージシステム
JP6171413B2 (ja) * 2013-03-06 2017-08-02 日本電気株式会社 ストレージシステム
JP6135226B2 (ja) 2013-03-21 2017-05-31 日本電気株式会社 情報処理装置、情報処理方法、ストレージシステム及びコンピュータプログラム
CN105446653B (zh) * 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
JP6881847B2 (ja) * 2018-12-26 2021-06-02 Necプラットフォームズ株式会社 ストレージ装置、ファイル特定方法及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3181446B2 (ja) * 1993-09-24 2001-07-03 株式会社東芝 情報記憶装置
JP3497090B2 (ja) * 1999-01-21 2004-02-16 松下電器産業株式会社 マルチメディア情報提供システム
US7340482B2 (en) * 2002-06-12 2008-03-04 Eastman Kodak Company Preview function in a digital data preservation system
JP4418286B2 (ja) * 2003-07-14 2010-02-17 富士通株式会社 分散型ストレージシステム
US7734603B1 (en) * 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
US7831793B2 (en) * 2006-03-01 2010-11-09 Quantum Corporation Data storage system including unique block pool manager and applications in tiered storage
JP5200424B2 (ja) * 2007-06-05 2013-06-05 コニカミノルタホールディングス株式会社 情報の管理方法及び情報処理装置
US7870105B2 (en) * 2007-11-20 2011-01-11 Hitachi, Ltd. Methods and apparatus for deduplication in storage system

Also Published As

Publication number Publication date
JP2011170665A (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
US10977124B2 (en) Distributed storage system, data storage method, and software program
JP5407430B2 (ja) ストレージシステム
JP5369807B2 (ja) ストレージ装置
JP5637552B2 (ja) ストレージシステム
JP5339432B2 (ja) ストレージシステム
JP5569074B2 (ja) ストレージシステム
JP6094267B2 (ja) ストレージシステム
JP5585116B2 (ja) ストレージシステム
CN110147203B (zh) 一种文件管理方法、装置、电子设备及存储介质
CN110413694A (zh) 元数据管理方法及相关装置
JP5517224B2 (ja) ストレージ装置
JP5660617B2 (ja) ストレージ装置
JP5459388B2 (ja) ストレージ装置
JP5365236B2 (ja) ストレージシステム
JP6269120B2 (ja) ストレージシステム
JP2012243039A (ja) スナップショットデータ保管方法
JP5891842B2 (ja) ストレージシステム
JP5526824B2 (ja) ストレージシステム
JP6201340B2 (ja) レプリケーションシステム
JP7491545B2 (ja) 情報処理方法
JP2018025839A (ja) バックアップ/リストアプログラム、版数管理装置およびバックアップ/リストア方法
JP6343952B2 (ja) ストレージシステム

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140707

R150 Certificate of patent or registration of utility model

Ref document number: 5585116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees