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

ストレージシステム Download PDF

Info

Publication number
JP5569074B2
JP5569074B2 JP2010063453A JP2010063453A JP5569074B2 JP 5569074 B2 JP5569074 B2 JP 5569074B2 JP 2010063453 A JP2010063453 A JP 2010063453A JP 2010063453 A JP2010063453 A JP 2010063453A JP 5569074 B2 JP5569074 B2 JP 5569074B2
Authority
JP
Japan
Prior art keywords
data
read
divided data
divided
storage
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
JP2010063453A
Other languages
English (en)
Other versions
JP2011197977A (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 JP2010063453A priority Critical patent/JP5569074B2/ja
Publication of JP2011197977A publication Critical patent/JP2011197977A/ja
Application granted granted Critical
Publication of JP5569074B2 publication Critical patent/JP5569074B2/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に開示したストレージシステムにおけるデータ書き込み処理の動作を示すフローチャートである。 図1に開示したストレージシステムにおけるデータ読み込み処理の動作を示すフローチャートである。 図1に開示したストレージシステムにおけるキャッシュ処理の動作を示すフローチャートである。 本発明の実施形態2におけるストレージシステムの構成を示す機能ブロック図である。 図6に開示したストレージシステムに書き込まれるデータの構造を示す図である。 図6に開示したストレージシステムにおけるファイル書き込み処理の動作を示すフローチャートである。 図6に開示したストレージシステムにおけるファイル読み込み処理の動作を示すフローチャートである。 本発明の付記1におけるストレージシステムの構成を示す機能ブロック図である。
<実施形態1>
本発明の第1の実施形態を、図1乃至図5を参照して説明する。図1は、ストレージシステムの構成を示す機能ブロック図である。図2は、ストレージシステムに書き込まれるデータの構造を示す図である。図3乃至図5は、ストレージシステムの動作を示すフローチャートである。
ここで、本実施形態は、後述する付記に記載のストレージシステム等の具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータで構成されていてもよい。
[構成]
図1に示すように、本実施形態におけるストレージシステムは、ネットワークNを介して接続された複数のストレージ装置1,2,3を備えている。なお、以下では、各ストレージ装置を「サイト」と呼ぶこととし、n個のサイトがネットワークNを介して接続されていることとする。そして、各サイト間の距離は問わず、サイトが世界各地に点在しているシステムであってもよい。
各サイト1,2,・・・,nは、演算装置と記憶装置とを備えたコンピュータにて構成されている。そして、特に、各サイト1,2,・・・,nはディスク装置17,24,34を備えており、後述するように、データを所定容量に分割したチャンクをさらに分割したブロック(分割データ)を、分散して格納する記憶装置として機能している。なお、本実施形態では、後述するように、サイト1がデータを書き込む指示を行う役割を担っており、サイト2からサイトnは、サイト1による指示により分割されたブロックを書き込む役割を担っている。このため、サイト2からサイトnは同一の構造を有しており、サイト1は異なる構造を有しているが、いずれのサイトがサイト1の役割を担ってもよい。なお、各サイトの構成は、後述する構成であることに限定されない。以下、各サイトの構成について詳述する。
まず、サイト1は、装備された演算装置にプログラムが組み込まれることで構築された、アプリケーション11と、分散制御部13と、統計情報解析部14と、ディスクアクセス部15と、ネットワークアクセス部16と、を備える。また、サイト1は、ディスク装置17から読み出したデータであるブロックを一時的に格納するフラッシュメモリなどで構成されたキャッシュ12(キャッシュメモリ)を備えている。また、データを分割したブロックを格納するハードディスクドライブなどのディスク装置17(記憶手段)を備えている。なお、上記キャッシュ12は、ディスク装置17よりもデータの書き込み/読み出しに要する時間が高速な記憶装置である。
上記アプリケーション11は、データを書き込む指令や、読み出す指令を発する。これを受けて、分散制御部13(データ処理手段)は、各サイト1,2,・・・,nのディスク装置17,24,34に、データを分散して記憶する。
具体的に、分散制御部13は、データ書き込み時には、まず、図2に示すように、書き込み対象となるデータを、所定容量のチャンクA,B,C,・・・という部分に分割する。そして、さらに、各チャンクA,B,C,・・・を、それぞれ所定容量のn個の分割データ部分(分割されたチャンク)に分割する。このとき、各分割データ部分である分割されたチャンクには、図2に示すように、当該分割されたチャンクが属していた分割前のデータやチャンクを識別できる識別子が付加されて、ブロックを構成している。なお、識別子は、さらには、分割前のデータの更新時刻や世代など、データ更新時を特定できる情報を含んでいる。
そして、分散制御部13は、各ブロックを各サイト1,2,・・・,nに分散して記憶する。例えば、サイト1の分散制御部13は、ブロックの1つを自サイト1のディスクアクセス部15を介してディスク装置17に格納し、残りのn−1個のブロックをネットワークアクセス部16を介してn−1箇所の各サイト2,・・・,nに送る。すると、各サイト2,・・・,は、それぞれ受け取ったブロックを、それぞれが装備しているディスク装置24,34に保存する。
なお、上述したチャンクはデータの一部であり、単体で意味を持つが、ブロック(分割されたチャンク)は、上記チャンクを任意の方法で分割したものであり、一般にブロック単体は、意味を持つ情報(解釈可能な情報)ではない。
また、分散制御部13は、アプリケーション11の指令に応じてデータ読み込む時には、まず、読み出すデータに必要なチャンクを割り出すと共に、この必要なチャンクを構成するブロックを割り出す。例えば、データとチャンクの対応、チャンクとブロックの対応を記録するデータベースを持つ方法や、ハッシュ値を利用して割り出し方法があるが、いかなる方法で行われてもよい。そして、分散制御部13は、自サイトを含む各サイト1,2,・・・,nからブロックを取得し、当該取得した複数のブロックからチャンクを復元し、チャンクからデータを復元する。このとき、分散制御部13は、キャッシュに格納されているブロックも利用して、チャンクを復元する。換言すると、分散制御部13は、キャッシュに存在しないブロックを各サイトから取得してチャンクを復元する。
具体的に、分散制御部13は、各サイトから取得したブロックの識別子と、キャッシュ12に格納されているブロックの識別子とから、各ブロックが同一のチャンクから分割されたブロックであるかどうかを確認する。仮に、識別子が異なり、同一のチャンク、例えば、同一世代のデータから分割されたブロックではないものがあった場合は、キャッシュ12に格納されている当該ブロックのキャッシュを無効化し(削除し)、ディスクアクセス部15やネットワークアクセス部16を介して、各サイトから他のブロックを取得する。そしれ、再度、識別子が全て一致するかどうか調べ、一致した場合には、取得したからチャンク、そして、チャンクからデータを復元し、アプリケーション11に返却する。
また、統計情報解析部14は、分散制御部13にて各サイトから取得した各ブロックの取得コスト、本実施形態では、各ブロックを各サイトのディスク装置から読み出すときにかかった時間、を計測する。そして、計測した読み出し時間に応じて、各ブロックをキャッシュ12に格納するか否かを判断する。
このとき、特に、設定された基準時間よりもサイトからの取得時間が長いブロックのみを、キャッシュ12に格納すると判断する。つまり、基準時間以内に取得されたブロックは、キャッシュ12に格納しない。ここで、上記基準時間を、例えば、「所定の条件を満たすブロック群(母集団)に属する各ブロックの取得時間の平均の1.2倍」に設定したり、「所定の条件を満たすブロック群(母集団)に属する各ブロックの取得時間の平均と当該各ブロックの取得時間の標準偏差との和」に設定してもよい。なお、上記基準時間は、統計情報解析部14で算出されて設定されてもよいが、オペレータによって手動により設定されてもよい。
そして、取得時間の平均や標準偏差を算出する対象となるブロック群(母集団)は、例えば、(1)直近の一定期間に読み出されたブロック群、(2)キャッシュするか否か判断する対象となるブロックが読み出されたサイトから直近の一定時間に読み出されたブロック群、(3)キャッシュするか否か判断対象となるブロックが属していた分割前のデータやチャンクから分割されたブロック群、などが、統計情報解析部14にて設定される。そして、設定されたブロック群(母集団)に属する各ブロックの取得時間の平均等から、統計情報解析部14が基準時間を算出して設定する。このため、統計情報解析部14は、直近の一定期間に読み出されたブロック群における取得時間や、各サイトから読み出されたブロック群における取得時間、分割前のデータ毎のブロック群における取得時間、を常に計測して、各ブロック群の取得時間の平均や標準偏差を常に算出している。但し、上述した統計情報解析部14によるブロック群の取得時間の平均や標準偏差の算出は、オペレータによって手動で行われてもよい。
さらに、統計情報解析部14は、読み出されたブロックの取得時間のばらつきの度合いに応じて、取得時間の平均や標準偏差を算出する対象となるブロック群を変更するよう作動する。例えば、一定時間に読み出された各ブロックの取得時間の最小値と最大値の差や標準偏差にて表されるばらつきを計測して、当該ばらつきの値が、設定された基準値未満である場合には、ばらつきがないと判断し、上記(1)の直近の一定時間に読み出されたブロック群を母集団として用いるよう設定する。また、サイト毎に取得したブロックの取得時間のばらつきが、設定された基準値を超えている場合には、上記(2)のサイト毎のブロック群を用いるよう設定する。さらに、全体的にブロックの取得時間のばらつきが設定された基準値よりも大きい場合には、ばらつきが非常に大きいと判断し、上記(3)のデータ毎のブロック群を用いるよう設定する。但し、上述したブロック群の変更は、オペレータによって手動で行われてもよい。
以上のようにして統計情報解析部14にてキャッシュ12に格納すべきと判断されたブロックは、分散制御部13にてキャッシュ12に格納される。
なお、上記ディスクアクセス部15は、自サイトに装備されたディスク装置17にアクセスして、ブロックの書き込み、ブロックの読み出しを制御する。また、ネットワークアクセス部16は、ネットワークNを介して各サイトと通信を行う。
次に、ストレージ装置2、つまり、サイト2の構成について説明する。サイト2は、装備された演算装置にプログラムが組み込まれることで構築された、ネットワークアクセス部21と、分散制御部22と、ディスクアクセス部23と、を備える。また、サイト2は、データを分割したブロックを格納するハードディスクドライブなどのディスク装置24(記憶手段)を備えている。
そして、上記サイト2は、他のサイトからのブロック入出力要求に対して、ネットワークアクセス部21が受信した要求を、分散制御部22が解釈して、ディスクアクセス部23を介してディスク装置24への入出力を行う。つまり、本実施形態では、サイト2は、サイト1からのブロックの書き込み要求に応じて、当該ブロックをディスク装置24に記憶したり、読み込み要求に応じて、ディスク装置24に記憶されているブロックを読み込んでサイト1に渡す処理を行う。
なお、サイトnはサイト2と同様の構成をとっており、ネットワークアクセス部31と、分散制御部32と、ディスクアクセス部33と、ディスク装置34と、を備える。そして、各部の構成は上述したサイト2と同様であるため、これらの詳細な説明は省略する。
[動作]
次に、上述したストレージシステムの動作を、図3乃至図5を参照して説明する。まず、図3を参照してサイト1のアプリケーション11からデータを書き込む場合の動作を説明する。
アプリケーション11がデータ書き込みを分散制御部13に要求する(ステップS1)。すると、分散制御部13は、データを複数のチャンクに分割し(ステップS2)、当該各チャンクをブロックに分割する(ステップS3)。このとき、分散制御部13は、ブロックが属しているデータやチャンクを識別できる識別子を付与する(ステップS3)。
続いて、分散制御部13は、自サイト1のディスクアクセス部15とネットワークアクセス部16に対してブロックの保存を要求する。すると、自サイト1のネットワークアクセス部16は、他サイト2,・・・,nのネットワークアクセス部21,31等と通信し、他サイト2,・・・,nにブロック保存要求を送る。他サイト2,・・・,nは、ネットワークアクセス部21,31等が受信したブロック保存要求を分散制御部22,32等が解釈し、ディスクアクセス部23,33等を介してディスク装置24,34等に保存する(ステップS4)。これにより、データを分割したチャンクをさらに分割したブロックが、複数のディスク装置に分散して記憶される。
次に、図4を参照して、サイト1のアプリケーション11がデータを読み込む場合の動作を説明する。アプリケーションがデータ読み込みを分散制御部13に要求する(ステップS11)。すると、分散制御部13は、読み込み要求にかかるデータの復元に必要なチャンクを割り出す(ステップS12)。例えば、データとチャンクの対応を記録するデータベースから割り出す。
続いて、分散制御部13は、必要なチャンクを構成するブロックを割り出す(ステップS13)。例えば、チャンクとブロックの対応を記録するデータベースから割り出す。そして、分散制御部13は、キャッシュ12に格納されていないブロックを、自サイトのディスクアクセス部15を介してディスク装置17と、ネットワークアクセス部16を介して他ホスト2,・・・,nとから、それぞれ取得する(ステップS14)。
続いて、分散制御部13は、各サイト1,2,・・・,nから取得したブロックと、キャッシュ12に格納されているブロックの識別子から、これらブロックが同一のチャンクから分割されたブロックであるかどうかを確認する(ステップS15)。このとき、仮に、同一のチャンクではないものがあった場合は、分散制御部13は、異なる識別子のブロックのキャッシュを無効化し、ディスクアクセス部15やネットワークアクセス部16を介して、各サイトから他のブロックを取得する(ステップS16)。
例えば、チャンクがブロック1からブロックnに分割されているとする。ブロック1がキャッシュに格納されている場合、各サイトからブロック2からブロックnを取得し、ブロック1はキャッシュされているものを使用する。ブロック1からブロックnが揃ったところで、識別子を確認し、これらが同一のチャンクから分割されたものかを確認する。当該チャンクが更新されていて、かつ、キャッシュされていたブロック1が古い場合には、識別子からブロック1が異なるチャンクから分割されたものであることが分かる。この場合、ブロック1のキャッシュを無効にし、ブロック1が存在するサイトから最新のブロック1を取得する。
その後、集めたブロックからチャンクを復元すると共に(ステップS17)、当該チャンクからデータを復元し、かかるデータをアプリケーション11に返却する(ステップS18)。
次に、図5を参照して取得したブロックをキャッシュ12に格納するか否かを決定する動作を説明する。
各サイトから読み込んだブロックをキャッシュ12に格納するか否かは、該当するブロックの読み込みコスト、つまり、サイトから該当するブロックを取得する際に要した時間である取得時間によって決定する。
具体的に、統計情報解析部14は、後述する母集団を形成するブロック群に属する各ブロックの取得時間の平均と標準偏差を計算する(ステップS21)。そして、取得したブロックについて、当該ブロックの取得時間が、上記計算された平均の1.2倍(基準時間)未満ならば(ステップS22:No)、当該ブロックはキャッシュしない(ステップS25)。また、取得したブロックの取得時間が、上記平均の1.2倍以上であっても(ステップS22:Yes)、当該ブロックの取得時間が、上記計算された平均+標準偏差(基準時間)未満ならば(ステップS23:No)、当該ブロックはキャッシュしない(ステップS25)。これらの条件に当てはまらないブロック、言い換えると、取得したブロックの取得時間が、母集団を形成するブロック群の取得時間の平均の1.2倍以上であり(ステップS22:Yes)、平均+標準偏差以上である場合には(ステップS23:Yes)、そのブロックをキャッシュ12に格納する(ステップS24)。
なお、上述したように、取得したブロックをキャッシュ12に格納するか否かを判断する基準となる取得時間の平均や標準偏差を算出するために用いられるブロック群が属する母集団は、随時、変更設定可能である。例えば、上述したように、ブロックの取得時間にばらつきが少ないと判断された場合には、読み込まれた全ブロックの内、直近のある一定期間に読み込まれたブロック群を母集団とする。また、サイトごとにブロックの取得時間にばらつきがあると判断された場合には、サイト毎に、当該各サイトから取得したブロック群を母集団とする。例えば、サイトnから取得したブロックをキャッシュするか否かを判断する場合には、母集団はサイトnから取得した直近のある一定期間のブロックとする。また、ブロックの取得時間のばらつきが非常に大きい場合、1つのチャンクを母集団とする。例えば、あるチャンクを構成するブロック1からブロックnを母集団として、各ブロックについてキャッシュ12に格納するか否かを判断する。
上述した母集団選択は、統計情報解析部14にて、ブロック取得時間のばらつきを自動で計算して自動で切り替えてもよく、手動のシステムチューニングにより選択することも可能である。
以上のように、本発明では、データを分割して複数の記憶装置に分散配置するストレージシステムにおいて、分割データであるブロックの読み込みコストつまり取得時間が長いものをキャッシュに格納している。このため、データの一部の取得に遅延が生じた場合であっても、かかる一部をキャッシュすることで、次回取得時に遅延が発生することを抑制し、データ取得を高速化することができる。従って、ブロックから復元して得られるデータの読み取り時間の高速化を図ることができると共に、全体としてデータの取得時間の平準化を図ることができる。
また、取得時間の長いブロックのみをキャッシュに格納するため、当該キャッシュの容量がデータ全体をキャッシュする場合と比較して大幅に少ない容量で済む。このため、低コストにて、上述したようにデータ取得時間の高速化及び平準化を図ることができる。
さらに、データが更新されている場合であっても、各ブロックに付与された識別子を比較することで、容易かつ正確にデータを復元することができると共に、不要となったブロックのキャッシュを無効化することができる。従って、よりキャッシュの容量を抑制できると共に、簡易な構成で信頼性の高いストレージシステムを実現することができる。
<実施形態2>
次に、本発明の第2の実施形態を、図6乃至図9を参照して説明する。図6は、ストレージシステムの構成を示す機能ブロック図である。図7は、ストレージシステムに書き込まれるデータの構造を示す図である。図8乃至図9は、ストレージシステムの動作を示すフローチャートである。
本実施形態におけるストレージシステムは、データを分割及び分散して複数の記憶装置に記憶すると共に、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。このコンテンツアドレスストレージシステムについては、後に詳述する。
[構成]
図6に示すように、本実施形態におけるストレージシステムは、上述した実施形態1と同様に、ネットワークNを介して接続された複数のストレージ装置101,102,103を備えている。なお、以下では、各ストレージ装置を「サイト」と呼ぶこととし、n個のサイトがネットワークNを介して接続されていることとする。
各サイト1,2,・・・,nは、演算装置と記憶装置とを備えたコンピュータにて構成されている。そして、特に、各サイト1,2,・・・,nは、ディスク装置117,124,134を備えており、後述するように、ファイルを所定容量に分割したチャンクをさらに分割したブロック(分割データ)を、分散して格納するストレージ装置として機能している。
まず、サイト1は、装備された演算装置にプログラムが組み込まれることで構築された、アプリケーション111と、分散制御部113と、統計情報解析部114と、ディスクアクセス部115と、ネットワークアクセス部116と、を備える。また、サイト1は、ディスク装置117から読み出したデータであるブロックを一時的に格納するフラッシュメモリなどで構成されたキャッシュ112(キャッシュメモリ)を備えている。また、データを分割したブロックを格納するハードディスクドライブなどのディスク装置117(記憶手段)を備えている。
そして、さらに、サイト1は、ストレージシステム自体がコンテンツアドレスストレージシステムとして作動すべく、ファイルシステム制御部118を備えている。具体的に、ファイルシステム制御部118は、アプリケーション111からファイルの書き込み指令を受けると、図7に示すように、ファイルをチャンクA,B,Cに分割し、当該チャンクをさらにn個の分割データ部分に分割したブロックを生成する。そして、ブロック単位にハッシュ値が計算され、当該ブロックの重複排除を行う。つまり、同じ内容のブロックは1つだけ保存される。このため、既に保存されているブロックを新たにディスクに保存することはなく、ファイルシステムは既に保存されているブロックの格納場所を参照するようリンクを張るだけである。なお、ブロックはチャンクを重複排除や分散配置しやすい任意の方法で分割したものであり、一般にブロック単体は意味を持つ(解釈可能な)情報ではない。
そして、上記分散制御部113は、上述した実施形態1とほぼ同様に作動し、各ブロックを各サイトのディスク装置に分散して記憶すると共に、読み出し時には、複数のディスク装置から読み出したブロックから、チャンクさらにはファイルを復元する。
また、上述した実施形態1と同様に、統計情報解析部114は、分散制御部113にて各サイトから取得した各ブロックの取得コスト、つまり、本実施形態では、各ブロックを各サイトのディスク装置から読み出すときにかかった時間、を計測する。そして、計測した読み出し時間に応じて、各ブロックをキャッシュ112に格納するか否かを判断する。このとき、特に、設定された基準時間よりもサイトからの取得時間が長いブロックのみを、キャッシュ12に格納すると判断する。なお、ブロックをキャッシュ112に格納するか否かを判断する基準時間の変更設定については、上述した実施形態1の場合と同様であるため、詳細な説明は省略する。
また、サイト2,nは、実施形態1のものとほぼ同様の構成をとっており、ネットワークアクセス部121,131と、分散制御部122,132と、ディスクアクセス部123,133と、ディスク装置124,134と、を備えている。これらの構成の詳細についても説明は省略する。
[動作]
次に、上述したストレージシステムの動作を、図8乃至図9を参照して説明する。まず、図8を参照してサイト1のアプリケーション11からデータを書き込む場合の動作を説明する。
アプリケーション11がデータ書き込みをファイルシステム制御部118に要求する(ステップS31)。すると、ファイルシステム制御部118は、データを複数のチャンクに分割し(ステップS32)、当該各チャンクをブロックに分割する(ステップS33)。そして、ファイルシステム制御部118は、ブロックのハッシュ値を計算して、ブロックの重複排除を行う(ステップS34)。つまり、同一のハッシュ値が存在している場合には、そのブロックと同一のブロックが既に記憶されていると判断できるため、新たに記憶しようとしたブロック自体は記憶せず、既に記憶されているブロックの格納位置を参照することで、新たに記憶しようとしたブロックを格納したこととする。
そして、ファイルシステム制御部118は、分散制御部113に対して、重複排除されなかったブロックの保存を要求する。すると、分散制御部113は、ディスクアクセス部115を介して自サイトのディスク装置117と、ネットワークアクセス部116を介して他サイトのディスク装置123,134等とに、ブロックを分散して保存する(ステップS35)。
次に、図9を参照して、サイト1のアプリケーション111がデータを読み込む場合の動作を説明する。アプリケーションがデータ読み込みをファイルシステム制御部118に要求する(ステップS41)。すると、ファイルシステム制御部118は、読み込み要求にかかるデータの復元に必要なチャンクを割り出し(ステップS42)、さらに、必要なチャンクを構成するブロックを割り出す(ステップS43)。
そして、ファイルシステム制御部118が、必要なブロックを分散制御部113に要求すると、当該分散制御部113はネットワークアクセス部116を介してキャッシュされていないブロックを各サイトから取得する(ステップS44)。その後、分散制御部113は、各サイトから取得したブロックと、キャッシュ12に格納されていたブロックを合わせて、ファイルシステム制御部118に渡す。
ファイルシステム制御部118は、取得したブロックからチャンクを復元し(ステップS45)、当該チャンクからファイルを復元する(ステップS46)。そして、ファイルシステム制御部118は、アプリケーション111にファイルを返却する(ステップS47)。
なお、ブロックをキャッシュ112に格納するか否かを決定する方法は、上述した実施形態1と同様であるため、その説明は省略する。また、コンテンツアドレスストレージシステムでは、ハッシュ値に対してデータは一意に決まる。このため、ハッシュ値をキーにしたブロックについて、内容が変わることはなく、キャッシュの更新や無効化は不要である。
以上のように、本発明は、データを分割して複数の記憶装置に分散して記憶するコンテンツアドレスストレージシステムなどのストレージシステムに利用することで、キャッシュメモリの容量を抑えてコストを抑制しつつ、データ読み取り時間の短縮化及び平準化を図ることができる。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステム及びストレージ装置201の構成の概略について図10を参照して説明する。また、本発明における、プログラム、データ記憶再生方法の構成について説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
複数の記憶手段210と、
データを複数に分割した分割データを前記複数の記憶手段210に分散して記憶すると共に、前記複数の記憶手段210から分割データを読み出して分割前のデータを復元するデータ処理手段211と、
前記記憶手段210から読み出した分割データを一時的に格納するキャッシュメモリと212、を備え、
前記データ処理手段211は、前記記憶手段210から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリ212に格納すると共に、当該キャッシュメモリ212に格納された分割データを用いてデータの復元を行う、
ストレージシステム。
(付記2)
付記1に記載のストレージシステムであって、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
ストレージシステム。
(付記3)
付記2に記載のストレージシステムであって、
前記基準時間は、読み出された分割データのうち所定の条件を満たす分割データ群の読み出し時間の平均時間に基づく値である、
ストレージシステム。
(付記4)
付記3に記載のストレージシステムであって、
前記基準時間は、読み出された分割データの読み出し時間のばらつきの度合いに応じて設定された条件を満たす分割データ群の読み出し時間の平均時間に基づく値である、
ストレージシステム。
(付記5)
付記3又は4に記載のストレージシステムであって、
前記基準時間は、直近の一定期間に読み出された分割データ群の読み出し時間の平均時間に基づく値である、
ストレージシステム。
(付記6)
付記3又は4に記載のストレージシステムであって、
前記基準時間は、前記記憶手段毎に対応して設定された、当該記憶手段から読み出された分割データ群の読み出し時間の平均時間に基づく値であり、
前記データ処理手段は、特定の前記記憶手段から読み出した分割データの読み出しにかかった時間が、当該特定の記憶手段に対応して設定された前記基準時間よりも長いもののみを前記キャッシュメモリに格納する、
ストレージシステム。
(付記7)
付記3又は4に記載のストレージシステムであって、
前記基準時間は、分割前のデータ毎に対応して設定された、当該データから分割された分割データ群の読み出し時間の平均時間に基づく値であり、
前記データ処理手段は、特定のデータから分割された分割データの読み出しにかかった時間が、当該特定のデータに対応して設定された前記基準時間よりも長いもののみを前記キャッシュメモリに格納する、
ストレージシステム。
(付記8)
付記1乃至7のいずれかに記載のストレージシステムであって、
前記データ処理手段は、分割前のデータを識別する識別情報を、当該データを分割した分割データに付加して格納すると共に、当該識別情報が同一の分割データを用いてデータの復元を行う、
ストレージシステム。
(付記9)
付記8に記載のストレージシステムであって、
前記識別情報は、前記データの更新時を特定する情報を含み、
前記データ処理手段は、復元するデータを構成する分割データのうち前記識別情報が他と異なる分割データを前記キャッシュメモリから削除する、
ストレージシステム。
(付記10)
データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段と、
前記記憶手段から読み出した分割データを一時的に格納するキャッシュメモリと、を備え、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
ストレージ装置。
(付記11)
付記10に記載のストレージ装置であって、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
ストレージ装置。
(付記12)
キャッシュメモリを備えた情報処理装置に、
データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段を実現させると共に、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
プログラム。
(付記13)
付記12に記載のプログラムであって、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
プログラム。
(付記14)
キャッシュメモリを備えた情報処理装置にて、
データ書き込み時に、データを複数に分割した分割データを複数の記憶手段に分散して記憶し、
データ読み出し時に、複数の記憶手段から分割データを読み出して分割前のデータを復元すると共に、
前記データ読み出し時に、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
データ記憶再生方法。
(付記15)
付記14に記載のデータ記憶再生方法であって、
前記データ読み出し時に、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
データ記憶再生方法。
1,2,3 ストレージ装置
11 アプリケーション
12 キャッシュ
13,22,32 分散制御部
14 統計情報解析部
15,23,33 ディスクアクセス部
16,21,31 ネットワークアクセス部
17,24,34 ディスク装置
101,102,103 ストレージ装置
111 アプリケーション
112 キャッシュ
113,122,132 分散制御部
114 統計情報解析部
115,123,133 ディスクアクセス部
116,121,131 ネットワークアクセス部
117,124,134 ディスク装置
118 ファイルシステム制御部
201 ストレージ装置
210 記憶手段
211 データ処理手段
212 キャッシュメモリ
N ネットワーク

Claims (9)

  1. 複数の記憶手段と、
    データを複数に分割した分割データを前記複数の記憶手段に分散して記憶すると共に、前記複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段と、
    前記記憶手段から読み出した分割データを一時的に格納するキャッシュメモリと、を備え、
    前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該読み出した分割データのみを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いて、当該分割データの分割前のデータの復元を行う、
    ストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
    ストレージシステム。
  3. 請求項2に記載のストレージシステムであって、
    前記基準時間は、読み出された分割データのうち所定の条件を満たす分割データ群の読み出し時間の平均時間に基づく値である、
    ストレージシステム。
  4. 請求項3に記載のストレージシステムであって、
    前記基準時間は、読み出された分割データの読み出し時間のばらつきの度合いに応じて設定された条件を満たす分割データ群の読み出し時間の平均時間に基づく値である、
    ストレージシステム。
  5. 請求項1乃至4のいずれかに記載のストレージシステムであって、
    前記データ処理手段は、分割前のデータを識別する識別情報を、当該データを分割した分割データに付加して格納すると共に、当該識別情報が同一の分割データを用いてデータの復元を行う、
    ストレージシステム。
  6. 請求項5に記載のストレージシステムであって、
    前記識別情報は、前記データの更新時を特定する情報を含み、
    前記データ処理手段は、復元するデータを構成する分割データのうち前記識別情報が他と異なる分割データを前記キャッシュメモリから削除する、
    ストレージシステム。
  7. データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段と、
    前記記憶手段から読み出した分割データを一時的に格納するキャッシュメモリと、を備え、
    前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該読み出した分割データのみを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いて、当該分割データの分割前のデータの復元を行う、
    ストレージ装置。
  8. キャッシュメモリを備えた情報処理装置に、
    データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段を実現させると共に、
    前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該読み出した分割データのみを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いて、当該分割データの分割前のデータの復元を行う、
    プログラム。
  9. キャッシュメモリを備えた情報処理装置にて、
    データ書き込み時に、データを複数に分割した分割データを複数の記憶手段に分散して記憶し、
    データ読み出し時に、複数の記憶手段から分割データを読み出して分割前のデータを復元すると共に、
    前記データ読み出し時に、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該読み出した分割データのみを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いて、当該分割データの分割前のデータの復元を行う、
    データ記憶再生方法。
JP2010063453A 2010-03-19 2010-03-19 ストレージシステム Expired - Fee Related JP5569074B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010063453A JP5569074B2 (ja) 2010-03-19 2010-03-19 ストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010063453A JP5569074B2 (ja) 2010-03-19 2010-03-19 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2011197977A JP2011197977A (ja) 2011-10-06
JP5569074B2 true JP5569074B2 (ja) 2014-08-13

Family

ID=44876104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010063453A Expired - Fee Related JP5569074B2 (ja) 2010-03-19 2010-03-19 ストレージシステム

Country Status (1)

Country Link
JP (1) JP5569074B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368401A (zh) * 2016-05-12 2017-11-21 广达电脑股份有限公司 管理系统与管理方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
CN104603776B (zh) * 2012-08-08 2020-05-12 亚马逊技术股份有限公司 归档数据存储系统
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
JP5966184B2 (ja) * 2012-09-12 2016-08-10 西日本電信電話株式会社 管理システム
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
JP6090431B2 (ja) 2013-03-27 2017-03-08 富士通株式会社 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム
US9158472B2 (en) * 2013-06-25 2015-10-13 Google Inc. Hierarchical chunking of objects in a distributed storage system
JP6052812B2 (ja) 2014-07-11 2016-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ上のファイルの管理、書き込み、及び読み出し方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225652A (ja) * 1994-02-14 1995-08-22 Hitachi Ltd 集合型ファイル装置の制御方式
JP2000172449A (ja) * 1998-12-09 2000-06-23 Nec Corp ディスク装置
JP2002140169A (ja) * 2000-11-06 2002-05-17 Nec Corp ディスクアレイ制御装置及びディスクアレイ制御方法
JP2002351705A (ja) * 2001-05-23 2002-12-06 Matsushita Electric Ind Co Ltd デジタル信号記録再生装置、及びデジタル信号記録再生方法
JP2004126844A (ja) * 2002-10-01 2004-04-22 Turf Media System:Kk キャッシュメモリー制御機能付きサーバコンピュータ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368401A (zh) * 2016-05-12 2017-11-21 广达电脑股份有限公司 管理系统与管理方法
CN107368401B (zh) * 2016-05-12 2020-12-25 广达电脑股份有限公司 管理系统与管理方法

Also Published As

Publication number Publication date
JP2011197977A (ja) 2011-10-06

Similar Documents

Publication Publication Date Title
JP5569074B2 (ja) ストレージシステム
US8930648B1 (en) Distributed deduplication using global chunk data structure and epochs
US10019459B1 (en) Distributed deduplication in a distributed system of hybrid storage and compute nodes
US9330108B2 (en) Multi-site heat map management
US9977746B2 (en) Processing of incoming blocks in deduplicating storage system
US9286003B1 (en) Method and apparatus for creating a short hash handle highly correlated with a globally-unique hash signature
US8712963B1 (en) Method and apparatus for content-aware resizing of data chunks for replication
US8639669B1 (en) Method and apparatus for determining optimal chunk sizes of a deduplicated storage system
US20200117372A1 (en) Available storage space in a system with varying data redundancy schemes
CN105027069A (zh) 卷区域的重复数据删除
US20130232215A1 (en) Virtualized data storage system architecture using prefetching agent
US20100241654A1 (en) Virtualized data storage system optimizations
KR20140117994A (ko) 복제 파일 중복 제거 방법 및 장치
KR101709118B1 (ko) 하이브리드 스토리지 시스템의 파일 관리 방법 및 장치
CN104580439B (zh) 一种云存储系统中使数据均匀分布的方法
KR20150131359A (ko) 데이터의 융통성있는 배치를 위한 다층형 저장 관리
CN108431815B (zh) 在处理器网格中的分布式数据的去重复数据
CN110147203B (zh) 一种文件管理方法、装置、电子设备及存储介质
US9369527B2 (en) File server, file server control method, and storage system
US20150012709A1 (en) Progressive virtual lun
US8775775B1 (en) Dynamic prefetch throttling for multi-controller systems
US20210286734A1 (en) Persistent read cache in a scale out storage system
US20190056878A1 (en) Storage control apparatus and computer-readable recording medium storing program therefor
US9575679B2 (en) Storage system in which connected data is divided
JP5585116B2 (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: 20130206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140609

R150 Certificate of patent or registration of utility model

Ref document number: 5569074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees