JP2011197977A - Storage system - Google Patents

Storage system Download PDF

Info

Publication number
JP2011197977A
JP2011197977A JP2010063453A JP2010063453A JP2011197977A JP 2011197977 A JP2011197977 A JP 2011197977A JP 2010063453 A JP2010063453 A JP 2010063453A JP 2010063453 A JP2010063453 A JP 2010063453A JP 2011197977 A JP2011197977 A JP 2011197977A
Authority
JP
Japan
Prior art keywords
data
read
divided
divided data
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.)
Granted
Application number
JP2010063453A
Other languages
Japanese (ja)
Other versions
JP5569074B2 (en
Inventor
Takero Kasai
毅郎 葛西
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/en
Publication of JP2011197977A publication Critical patent/JP2011197977A/en
Application granted granted Critical
Publication of JP5569074B2 publication Critical patent/JP5569074B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To solve a problem of a delay of a read-in speed in a storage system for distributingly storing a data.SOLUTION: The storage system includes a plurality of storage means 210, a data processing means 211 for storing distributingly division data with the data divided into a plurality of parts, in the plurality of storage means, and for reading out the division data from the plurality of storage means, to restore the data before divided, and a cache memory 212 for storing temporarily the division data read out from the storage means. The data processing means 211 stores the division data into the cache memory 212, in response to a time required for reading out the division data read out from the storage means 210, and restores the data, using the division data stored in the cache memory 212.

Description

本発明は、ストレージシステムにかかり、特に、データを分割して複数の記憶装置に記憶するストレージシステムに関する。   The present invention relates to a storage system, and more particularly to a storage system that divides data and stores it in a plurality of storage devices.

近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。   In recent years, with the development and spread of computers, various types of information have been converted into digital data. As a device for storing such digital data, there are storage devices such as a magnetic tape and a magnetic disk. Since the data to be stored increases day by day and becomes enormous, a large-capacity storage system is required. In addition, reliability is required while reducing the cost of the storage device. In addition to this, it is necessary that data can be easily retrieved later. As a result, there is a demand for a storage system that can automatically increase storage capacity and performance, eliminate duplicate storage, reduce storage costs, and have high redundancy.

このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ分散して格納している。   In response to such a situation, in recent years, a content address storage system has been developed as shown in Patent Document 1. In this content address storage system, data is distributed and stored in a plurality of storage devices, and the storage location where the data is stored is specified by a unique content address specified according to the content of the data. Specifically, in the content address storage system, predetermined data is divided into a plurality of fragments, a fragment that becomes redundant data is further added, and the plurality of fragments are respectively distributed and stored in a plurality of storage devices. ing.

そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを複数の記憶装置から読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。   Later, by designating the content address, the data stored at the storage location specified by the content address, that is, the fragment is read from the plurality of storage devices, and the predetermined data before the division is restored from the plurality of fragments. can do.

また、上述したコンテンツアドレスを用いたデータ格納方法を採用することがなくても、記憶しているデータの信頼性の向上を図るべく、複数の記憶装置にデータを分散して記憶することが行われている。   Even if the data storage method using the content address described above is not adopted, the data may be distributed and stored in a plurality of storage devices in order to improve the reliability of the stored data. It has been broken.

特開2005−235171号公報JP 2005-235171 A

しかしながら、上述したようにデータを分割して複数の記憶装置に分散配置するシステムにおいては、分割されたデータの一部の取得に遅延が生じた場合、データの全体の読み込みが遅延してしまう、という問題がある。特に、複数の記憶装置が広域ネットワーク上に分散して配置されている場合には、各分割データの読み込み速度に大きなばらつきが生じることがあり、データ全体の読み込み処理の遅延がますます顕著となる。   However, as described above, in a system in which data is divided and distributed in a plurality of storage devices, if there is a delay in obtaining a part of the divided data, reading of the entire data is delayed. There is a problem. In particular, when multiple storage devices are distributed on a wide area network, the reading speed of each divided data may vary greatly, and the delay of the entire data reading process will become more prominent. .

このため、本発明の目的は、上述した課題である、データを分割して複数の記憶装置に分散して格納するストレージシステムにおいて、読み込み速度が遅延することを解決することにある。   Therefore, an object of the present invention is to solve the above-described problem that the reading speed is delayed in a storage system in which data is divided and distributed and stored in a plurality of storage devices.

かかる目的を達成するため本発明の一形態であるストレージシステムは、
複数の記憶手段と、
データを複数に分割した分割データを上記複数の記憶手段に分散して記憶すると共に、上記複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段と、
上記記憶手段から読み出した分割データを一時的に格納するキャッシュメモリと、を備える。
そして、上記データ処理手段は、上記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを上記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
という構成をとる。
In order to achieve such an object, a storage system according to one aspect of the present invention provides:
A plurality of storage means;
Data processing means for dividing and storing divided data obtained by dividing the data into a plurality of storage means, reading the divided data from the plurality of storage means, and restoring the data before division;
And a cache memory for temporarily storing the divided data read from the storage means.
The data processing means stores the divided data in the cache memory according to the time taken to read the divided data read from the storage means, and uses the divided data stored in the cache memory. Restore data,
The configuration is as follows.

また、本発明の他の形態であるストレージ装置は、
データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段と、
上記記憶手段から読み出した分割データを一時的に格納するキャッシュメモリと、を備える。
そして、上記データ処理手段は、上記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを上記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
という構成をとる。
In addition, the storage device according to another aspect of the present invention is
Data processing means for dividing and storing the divided data obtained by dividing the data into a plurality of storage means, reading the divided data from the plurality of storage means, and restoring the data before the division,
And a cache memory for temporarily storing the divided data read from the storage means.
The data processing means stores the divided data in the cache memory according to the time taken to read the divided data read from the storage means, and uses the divided data stored in the cache memory. Restore data,
The configuration is as follows.

また、本発明の他の形態であるプログラムは、
キャッシュメモリを備えた情報処理装置に、
データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段を実現させるプログラムである。
そして、上記データ処理手段は、上記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを上記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
という構成をとる。
Moreover, the program which is the other form of this invention is:
In information processing equipment equipped with cache memory,
This is a program that realizes data processing means for distributing and storing divided data obtained by dividing data into a plurality of storage means, and reading the divided data from the plurality of storage means and restoring the data before division.
The data processing means stores the divided data in the cache memory according to the time taken to read the divided data read from the storage means, and uses the divided data stored in the cache memory. Restore data,
The configuration is as follows.

また、本発明の他の形態であるデータ記憶再生方法は、
キャッシュメモリを備えた情報処理装置にて、
データ書き込み時に、データを複数に分割した分割データを複数の記憶手段に分散して記憶し、
データ読み出し時に、複数の記憶手段から分割データを読み出して分割前のデータを復元する、というデータ記憶再生方法である。
そして、上記データ読み出し時に、上記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを上記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
という構成をとる。
In addition, a data storage / reproduction method according to another aspect of the present invention includes:
In an information processing device equipped with a cache memory,
At the time of data writing, the divided data divided into a plurality of data is distributed and stored in a plurality of storage means,
This is a data storage / reproduction method in which, when data is read, divided data is read from a plurality of storage means and data before division is restored.
Then, at the time of reading the data, the divided data is stored in the cache memory according to the time taken to read the divided data read from the storage means, and the divided data stored in the cache memory is used for data Restore,
The configuration is as follows.

本発明は、以上のように構成されることにより、キャッシュメモリの容量を抑えてコストを抑制しつつ、データ読み取り時間の短縮化及び平準化を図ることができる。   According to the present invention configured as described above, the data reading time can be shortened and leveled while the cost is reduced by reducing the capacity of the cache memory.

本発明の実施形態1におけるストレージシステムの構成を示す機能ブロック図である。1 is a functional block diagram showing a configuration of a storage system in Embodiment 1 of the present invention. 図1に開示したストレージシステムに書き込まれるデータの構造を示す図である。It is a figure which shows the structure of the data written in the storage system disclosed in FIG. 図1に開示したストレージシステムにおけるデータ書き込み処理の動作を示すフローチャートである。3 is a flowchart showing an operation of data write processing in the storage system disclosed in FIG. 1. 図1に開示したストレージシステムにおけるデータ読み込み処理の動作を示すフローチャートである。2 is a flowchart showing an operation of data reading processing in the storage system disclosed in FIG. 1. 図1に開示したストレージシステムにおけるキャッシュ処理の動作を示すフローチャートである。3 is a flowchart illustrating an operation of cache processing in the storage system disclosed in FIG. 1. 本発明の実施形態2におけるストレージシステムの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the storage system in Embodiment 2 of this invention. 図6に開示したストレージシステムに書き込まれるデータの構造を示す図である。It is a figure which shows the structure of the data written in the storage system disclosed in FIG. 図6に開示したストレージシステムにおけるファイル書き込み処理の動作を示すフローチャートである。7 is a flowchart showing an operation of a file writing process in the storage system disclosed in FIG. 6. 図6に開示したストレージシステムにおけるファイル読み込み処理の動作を示すフローチャートである。7 is a flowchart showing an operation of a file reading process in the storage system disclosed in FIG. 6. 本発明の付記1におけるストレージシステムの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the storage system in attachment 1 of this invention.

<実施形態1>
本発明の第1の実施形態を、図1乃至図5を参照して説明する。図1は、ストレージシステムの構成を示す機能ブロック図である。図2は、ストレージシステムに書き込まれるデータの構造を示す図である。図3乃至図5は、ストレージシステムの動作を示すフローチャートである。
<Embodiment 1>
A first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a functional block diagram showing the configuration of a storage system. FIG. 2 is a diagram showing the structure of data written to the storage system. 3 to 5 are flowcharts showing the operation of the storage system.

ここで、本実施形態は、後述する付記に記載のストレージシステム等の具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータで構成されていてもよい。   Here, this embodiment shows a specific example of a storage system or the like described in an appendix to be described later. In the following, a case where the storage system is configured by connecting a plurality of server computers will be described. However, the storage system according to the present invention is not limited to being configured by a plurality of computers, and may be configured by a single computer.

[構成]
図1に示すように、本実施形態におけるストレージシステムは、ネットワークNを介して接続された複数のストレージ装置1,2,3を備えている。なお、以下では、各ストレージ装置を「サイト」と呼ぶこととし、n個のサイトがネットワークNを介して接続されていることとする。そして、各サイト間の距離は問わず、サイトが世界各地に点在しているシステムであってもよい。
[Constitution]
As shown in FIG. 1, the storage system according to this embodiment includes a plurality of storage devices 1, 2, and 3 connected via a network N. In the following, each storage device is referred to as a “site”, and n sites are connected via the network N. A system in which sites are scattered in various parts of the world may be used regardless of the distance between the sites.

各サイト1,2,・・・,nは、演算装置と記憶装置とを備えたコンピュータにて構成されている。そして、特に、各サイト1,2,・・・,nはディスク装置17,24,34を備えており、後述するように、データを所定容量に分割したチャンクをさらに分割したブロック(分割データ)を、分散して格納する記憶装置として機能している。なお、本実施形態では、後述するように、サイト1がデータを書き込む指示を行う役割を担っており、サイト2からサイトnは、サイト1による指示により分割されたブロックを書き込む役割を担っている。このため、サイト2からサイトnは同一の構造を有しており、サイト1は異なる構造を有しているが、いずれのサイトがサイト1の役割を担ってもよい。なお、各サイトの構成は、後述する構成であることに限定されない。以下、各サイトの構成について詳述する。   Each site 1, 2,..., N is configured by a computer having an arithmetic device and a storage device. In particular, each of the sites 1, 2,..., N includes disk devices 17, 24, and 34. As will be described later, a block obtained by further dividing a chunk obtained by dividing data into a predetermined capacity (divided data). Is functioning as a storage device that stores the data in a distributed manner. In this embodiment, as will be described later, the site 1 has a role of giving an instruction to write data, and the sites 2 to n have a role of writing blocks divided by the instruction by the site 1. . For this reason, although the site 2 to the site n have the same structure and the site 1 has a different structure, any site may play the role of the site 1. The configuration of each site is not limited to the configuration described later. Hereinafter, the configuration of each site will be described in detail.

まず、サイト1は、装備された演算装置にプログラムが組み込まれることで構築された、アプリケーション11と、分散制御部13と、統計情報解析部14と、ディスクアクセス部15と、ネットワークアクセス部16と、を備える。また、サイト1は、ディスク装置17から読み出したデータであるブロックを一時的に格納するフラッシュメモリなどで構成されたキャッシュ12(キャッシュメモリ)を備えている。また、データを分割したブロックを格納するハードディスクドライブなどのディスク装置17(記憶手段)を備えている。なお、上記キャッシュ12は、ディスク装置17よりもデータの書き込み/読み出しに要する時間が高速な記憶装置である。   First, the site 1 includes an application 11, a distributed control unit 13, a statistical information analysis unit 14, a disk access unit 15, a network access unit 16, . The site 1 also includes a cache 12 (cache memory) configured by a flash memory or the like that temporarily stores blocks that are data read from the disk device 17. Further, a disk device 17 (storage means) such as a hard disk drive for storing blocks obtained by dividing data is provided. The cache 12 is a storage device that requires a faster time to write / read data than the disk device 17.

上記アプリケーション11は、データを書き込む指令や、読み出す指令を発する。これを受けて、分散制御部13(データ処理手段)は、各サイト1,2,・・・,nのディスク装置17,24,34に、データを分散して記憶する。   The application 11 issues a command to write data or a command to read data. In response to this, the distribution control unit 13 (data processing means) distributes and stores the data in the disk devices 17, 24, 34 of each site 1, 2,..., N.

具体的に、分散制御部13は、データ書き込み時には、まず、図2に示すように、書き込み対象となるデータを、所定容量のチャンクA,B,C,・・・という部分に分割する。そして、さらに、各チャンクA,B,C,・・・を、それぞれ所定容量のn個の分割データ部分(分割されたチャンク)に分割する。このとき、各分割データ部分である分割されたチャンクには、図2に示すように、当該分割されたチャンクが属していた分割前のデータやチャンクを識別できる識別子が付加されて、ブロックを構成している。なお、識別子は、さらには、分割前のデータの更新時刻や世代など、データ更新時を特定できる情報を含んでいる。   Specifically, at the time of data writing, the distribution controller 13 first divides the data to be written into chunks A, B, C,... Having a predetermined capacity, as shown in FIG. Further, each chunk A, B, C,... Is divided into n divided data portions (divided chunks) each having a predetermined capacity. At this time, as shown in FIG. 2, the divided chunks that are the respective divided data portions are added with identifiers that can identify the data and chunks before the divided chunks belonged to form blocks. is doing. The identifier further includes information that can specify the data update time, such as the update time and generation of the data before division.

そして、分散制御部13は、各ブロックを各サイト1,2,・・・,nに分散して記憶する。例えば、サイト1の分散制御部13は、ブロックの1つを自サイト1のディスクアクセス部15を介してディスク装置17に格納し、残りのn−1個のブロックをネットワークアクセス部16を介してn−1箇所の各サイト2,・・・,nに送る。すると、各サイト2,・・・,は、それぞれ受け取ったブロックを、それぞれが装備しているディスク装置24,34に保存する。   The distribution control unit 13 stores each block in a distributed manner at each site 1, 2,..., N. For example, the distribution control unit 13 of the site 1 stores one of the blocks in the disk device 17 via the disk access unit 15 of the local site 1 and the remaining n−1 blocks via the network access unit 16. Send to each of n-1 sites 2,..., n. Then, each of the sites 2,... Stores the received blocks in the disk devices 24 and 34 equipped therein.

なお、上述したチャンクはデータの一部であり、単体で意味を持つが、ブロック(分割されたチャンク)は、上記チャンクを任意の方法で分割したものであり、一般にブロック単体は、意味を持つ情報(解釈可能な情報)ではない。   The above-mentioned chunk is a part of data and has meaning alone, but a block (divided chunk) is obtained by dividing the above chunk by an arbitrary method, and generally a single block has meaning. It is not information (interpretable information).

また、分散制御部13は、アプリケーション11の指令に応じてデータ読み込む時には、まず、読み出すデータに必要なチャンクを割り出すと共に、この必要なチャンクを構成するブロックを割り出す。例えば、データとチャンクの対応、チャンクとブロックの対応を記録するデータベースを持つ方法や、ハッシュ値を利用して割り出し方法があるが、いかなる方法で行われてもよい。そして、分散制御部13は、自サイトを含む各サイト1,2,・・・,nからブロックを取得し、当該取得した複数のブロックからチャンクを復元し、チャンクからデータを復元する。このとき、分散制御部13は、キャッシュに格納されているブロックも利用して、チャンクを復元する。換言すると、分散制御部13は、キャッシュに存在しないブロックを各サイトから取得してチャンクを復元する。   Further, when data is read in accordance with a command from the application 11, the distribution control unit 13 first determines a chunk necessary for the data to be read and also determines a block constituting the necessary chunk. For example, there is a method of having a database that records correspondence between data and chunks, correspondence between chunks and blocks, and an indexing method using hash values, but any method may be used. Then, the distribution control unit 13 acquires a block from each site 1, 2,..., N including its own site, restores a chunk from the acquired plurality of blocks, and restores data from the chunk. At this time, the distribution control unit 13 restores the chunk using the block stored in the cache. In other words, the distribution control unit 13 restores a chunk by acquiring a block that does not exist in the cache from each site.

具体的に、分散制御部13は、各サイトから取得したブロックの識別子と、キャッシュ12に格納されているブロックの識別子とから、各ブロックが同一のチャンクから分割されたブロックであるかどうかを確認する。仮に、識別子が異なり、同一のチャンク、例えば、同一世代のデータから分割されたブロックではないものがあった場合は、キャッシュ12に格納されている当該ブロックのキャッシュを無効化し(削除し)、ディスクアクセス部15やネットワークアクセス部16を介して、各サイトから他のブロックを取得する。そしれ、再度、識別子が全て一致するかどうか調べ、一致した場合には、取得したからチャンク、そして、チャンクからデータを復元し、アプリケーション11に返却する。   Specifically, the distribution control unit 13 checks whether each block is a block divided from the same chunk from the block identifier acquired from each site and the block identifier stored in the cache 12. To do. If the identifiers are different and there is the same chunk, for example, a block that is not a block divided from the same generation of data, the cache of the block stored in the cache 12 is invalidated (deleted), and the disk Other blocks are acquired from each site via the access unit 15 and the network access unit 16. Then, it is checked again whether all the identifiers match, and if they match, the chunk is acquired from the acquired data, and the data is restored from the chunk and returned to the application 11.

また、統計情報解析部14は、分散制御部13にて各サイトから取得した各ブロックの取得コスト、本実施形態では、各ブロックを各サイトのディスク装置から読み出すときにかかった時間、を計測する。そして、計測した読み出し時間に応じて、各ブロックをキャッシュ12に格納するか否かを判断する。   In addition, the statistical information analysis unit 14 measures the acquisition cost of each block acquired from each site by the distribution control unit 13, and in this embodiment, the time taken to read each block from the disk device at each site. . Then, it is determined whether to store each block in the cache 12 according to the measured read time.

このとき、特に、設定された基準時間よりもサイトからの取得時間が長いブロックのみを、キャッシュ12に格納すると判断する。つまり、基準時間以内に取得されたブロックは、キャッシュ12に格納しない。ここで、上記基準時間を、例えば、「所定の条件を満たすブロック群(母集団)に属する各ブロックの取得時間の平均の1.2倍」に設定したり、「所定の条件を満たすブロック群(母集団)に属する各ブロックの取得時間の平均と当該各ブロックの取得時間の標準偏差との和」に設定してもよい。なお、上記基準時間は、統計情報解析部14で算出されて設定されてもよいが、オペレータによって手動により設定されてもよい。   At this time, in particular, it is determined that only the block whose acquisition time from the site is longer than the set reference time is stored in the cache 12. That is, the block acquired within the reference time is not stored in the cache 12. Here, the reference time is set to, for example, “1.2 times the average acquisition time of each block belonging to a block group (population) satisfying a predetermined condition” or “a block group satisfying a predetermined condition”. You may set to "the sum of the average of the acquisition time of each block which belongs to (population), and the standard deviation of the acquisition time of each said block". The reference time may be calculated and set by the statistical information analysis unit 14, but may be manually set by an operator.

そして、取得時間の平均や標準偏差を算出する対象となるブロック群(母集団)は、例えば、(1)直近の一定期間に読み出されたブロック群、(2)キャッシュするか否か判断する対象となるブロックが読み出されたサイトから直近の一定時間に読み出されたブロック群、(3)キャッシュするか否か判断対象となるブロックが属していた分割前のデータやチャンクから分割されたブロック群、などが、統計情報解析部14にて設定される。そして、設定されたブロック群(母集団)に属する各ブロックの取得時間の平均等から、統計情報解析部14が基準時間を算出して設定する。このため、統計情報解析部14は、直近の一定期間に読み出されたブロック群における取得時間や、各サイトから読み出されたブロック群における取得時間、分割前のデータ毎のブロック群における取得時間、を常に計測して、各ブロック群の取得時間の平均や標準偏差を常に算出している。但し、上述した統計情報解析部14によるブロック群の取得時間の平均や標準偏差の算出は、オペレータによって手動で行われてもよい。   Then, the block group (population) that is the target for calculating the average and standard deviation of the acquisition time is, for example, (1) a block group that is read during the most recent fixed period, and (2) whether or not to cache. A block group that was read at the most recent time from the site from which the target block was read, and (3) divided from the data or chunk before the division to which the block to be determined whether to cache or not belongs A block group and the like are set by the statistical information analysis unit 14. Then, the statistical information analysis unit 14 calculates and sets the reference time from the average of the acquisition times of the blocks belonging to the set block group (population). For this reason, the statistical information analysis unit 14 acquires the acquisition time in the block group read in the latest fixed period, the acquisition time in the block group read from each site, and the acquisition time in the block group for each data before division Are always measured, and the average and standard deviation of the acquisition times of each block group are always calculated. However, the average of the block group acquisition time and the standard deviation calculation by the statistical information analysis unit 14 described above may be manually performed by an operator.

さらに、統計情報解析部14は、読み出されたブロックの取得時間のばらつきの度合いに応じて、取得時間の平均や標準偏差を算出する対象となるブロック群を変更するよう作動する。例えば、一定時間に読み出された各ブロックの取得時間の最小値と最大値の差や標準偏差にて表されるばらつきを計測して、当該ばらつきの値が、設定された基準値未満である場合には、ばらつきがないと判断し、上記(1)の直近の一定時間に読み出されたブロック群を母集団として用いるよう設定する。また、サイト毎に取得したブロックの取得時間のばらつきが、設定された基準値を超えている場合には、上記(2)のサイト毎のブロック群を用いるよう設定する。さらに、全体的にブロックの取得時間のばらつきが設定された基準値よりも大きい場合には、ばらつきが非常に大きいと判断し、上記(3)のデータ毎のブロック群を用いるよう設定する。但し、上述したブロック群の変更は、オペレータによって手動で行われてもよい。   Further, the statistical information analysis unit 14 operates to change the block group that is the target of calculating the average and standard deviation of the acquisition times in accordance with the degree of variation in the acquisition times of the read blocks. For example, the variation represented by the difference between the minimum value and the maximum value of each block read out in a certain time and the standard deviation is measured, and the value of the variation is less than the set reference value. In this case, it is determined that there is no variation, and the group of blocks read at the most recent fixed time of (1) is set to be used as the population. If the variation in the acquisition time of the blocks acquired for each site exceeds the set reference value, the block group for each site (2) is set to be used. Further, if the overall variation in the block acquisition time is larger than the set reference value, it is determined that the variation is very large, and the block group for each data of (3) is set to be used. However, the block group change described above may be manually performed by an operator.

以上のようにして統計情報解析部14にてキャッシュ12に格納すべきと判断されたブロックは、分散制御部13にてキャッシュ12に格納される。   Blocks that are determined to be stored in the cache 12 by the statistical information analysis unit 14 as described above are stored in the cache 12 by the distribution control unit 13.

なお、上記ディスクアクセス部15は、自サイトに装備されたディスク装置17にアクセスして、ブロックの書き込み、ブロックの読み出しを制御する。また、ネットワークアクセス部16は、ネットワークNを介して各サイトと通信を行う。   The disk access unit 15 accesses the disk device 17 installed at its own site and controls block writing and block reading. The network access unit 16 communicates with each site via the network N.

次に、ストレージ装置2、つまり、サイト2の構成について説明する。サイト2は、装備された演算装置にプログラムが組み込まれることで構築された、ネットワークアクセス部21と、分散制御部22と、ディスクアクセス部23と、を備える。また、サイト2は、データを分割したブロックを格納するハードディスクドライブなどのディスク装置24(記憶手段)を備えている。   Next, the configuration of the storage apparatus 2, that is, the site 2 will be described. The site 2 includes a network access unit 21, a distribution control unit 22, and a disk access unit 23 that are constructed by incorporating a program into the equipped arithmetic device. The site 2 also includes a disk device 24 (storage means) such as a hard disk drive for storing blocks obtained by dividing data.

そして、上記サイト2は、他のサイトからのブロック入出力要求に対して、ネットワークアクセス部21が受信した要求を、分散制御部22が解釈して、ディスクアクセス部23を介してディスク装置24への入出力を行う。つまり、本実施形態では、サイト2は、サイト1からのブロックの書き込み要求に応じて、当該ブロックをディスク装置24に記憶したり、読み込み要求に応じて、ディスク装置24に記憶されているブロックを読み込んでサイト1に渡す処理を行う。   The site 2 interprets a request received by the network access unit 21 in response to a block input / output request from another site, and the distribution control unit 22 interprets the request and sends it to the disk device 24 via the disk access unit 23. I / O is performed. In other words, in this embodiment, the site 2 stores the block in the disk device 24 in response to a block write request from the site 1 or the block stored in the disk device 24 in response to a read request. Read and pass to site 1

なお、サイトnはサイト2と同様の構成をとっており、ネットワークアクセス部31と、分散制御部32と、ディスクアクセス部33と、ディスク装置34と、を備える。そして、各部の構成は上述したサイト2と同様であるため、これらの詳細な説明は省略する。   The site n has the same configuration as that of the site 2 and includes a network access unit 31, a distribution control unit 32, a disk access unit 33, and a disk device 34. And since the structure of each part is the same as that of the site 2 mentioned above, these detailed description is abbreviate | omitted.

[動作]
次に、上述したストレージシステムの動作を、図3乃至図5を参照して説明する。まず、図3を参照してサイト1のアプリケーション11からデータを書き込む場合の動作を説明する。
[Operation]
Next, the operation of the above-described storage system will be described with reference to FIGS. First, an operation when data is written from the application 11 of the site 1 will be described with reference to FIG.

アプリケーション11がデータ書き込みを分散制御部13に要求する(ステップS1)。すると、分散制御部13は、データを複数のチャンクに分割し(ステップS2)、当該各チャンクをブロックに分割する(ステップS3)。このとき、分散制御部13は、ブロックが属しているデータやチャンクを識別できる識別子を付与する(ステップS3)。   The application 11 requests the distribution control unit 13 to write data (step S1). Then, the distribution control unit 13 divides the data into a plurality of chunks (step S2), and divides each chunk into blocks (step S3). At this time, the distribution control unit 13 assigns an identifier that can identify the data or chunk to which the block belongs (step S3).

続いて、分散制御部13は、自サイト1のディスクアクセス部15とネットワークアクセス部16に対してブロックの保存を要求する。すると、自サイト1のネットワークアクセス部16は、他サイト2,・・・,nのネットワークアクセス部21,31等と通信し、他サイト2,・・・,nにブロック保存要求を送る。他サイト2,・・・,nは、ネットワークアクセス部21,31等が受信したブロック保存要求を分散制御部22,32等が解釈し、ディスクアクセス部23,33等を介してディスク装置24,34等に保存する(ステップS4)。これにより、データを分割したチャンクをさらに分割したブロックが、複数のディスク装置に分散して記憶される。   Subsequently, the distribution control unit 13 requests the disk access unit 15 and the network access unit 16 of the local site 1 to store the block. Then, the network access unit 16 of its own site 1 communicates with the network access units 21 and 31 of the other sites 2,..., N and sends a block storage request to the other sites 2,. The other sites 2,..., N interpret the block storage request received by the network access units 21, 31, etc. by the distributed control units 22, 32, etc., and via the disk access units 23, 33, etc. 34, etc. (step S4). As a result, blocks obtained by further dividing chunks obtained by dividing data are distributed and stored in a plurality of disk devices.

次に、図4を参照して、サイト1のアプリケーション11がデータを読み込む場合の動作を説明する。アプリケーションがデータ読み込みを分散制御部13に要求する(ステップS11)。すると、分散制御部13は、読み込み要求にかかるデータの復元に必要なチャンクを割り出す(ステップS12)。例えば、データとチャンクの対応を記録するデータベースから割り出す。   Next, an operation when the application 11 of the site 1 reads data will be described with reference to FIG. The application requests the distribution control unit 13 to read data (step S11). Then, the distribution control unit 13 determines a chunk necessary for restoring the data related to the read request (step S12). For example, it is determined from a database that records the correspondence between data and chunks.

続いて、分散制御部13は、必要なチャンクを構成するブロックを割り出す(ステップS13)。例えば、チャンクとブロックの対応を記録するデータベースから割り出す。そして、分散制御部13は、キャッシュ12に格納されていないブロックを、自サイトのディスクアクセス部15を介してディスク装置17と、ネットワークアクセス部16を介して他ホスト2,・・・,nとから、それぞれ取得する(ステップS14)。   Subsequently, the distribution control unit 13 finds out the blocks constituting the necessary chunk (step S13). For example, it is determined from a database that records the correspondence between chunks and blocks. Then, the distribution control unit 13 converts the blocks not stored in the cache 12 into the disk device 17 through the disk access unit 15 at its own site and the other hosts 2,..., N through the network access unit 16. From each of them (step S14).

続いて、分散制御部13は、各サイト1,2,・・・,nから取得したブロックと、キャッシュ12に格納されているブロックの識別子から、これらブロックが同一のチャンクから分割されたブロックであるかどうかを確認する(ステップS15)。このとき、仮に、同一のチャンクではないものがあった場合は、分散制御部13は、異なる識別子のブロックのキャッシュを無効化し、ディスクアクセス部15やネットワークアクセス部16を介して、各サイトから他のブロックを取得する(ステップS16)。   Subsequently, the distribution control unit 13 is a block obtained by dividing these blocks from the same chunk based on the blocks acquired from the respective sites 1, 2,..., N and the identifiers of the blocks stored in the cache 12. It is confirmed whether or not there is (step S15). At this time, if there is something that is not the same chunk, the distributed control unit 13 invalidates the cache of the block with a different identifier, and the other from each site via the disk access unit 15 or the network access unit 16. Are obtained (step S16).

例えば、チャンクがブロック1からブロックnに分割されているとする。ブロック1がキャッシュに格納されている場合、各サイトからブロック2からブロックnを取得し、ブロック1はキャッシュされているものを使用する。ブロック1からブロックnが揃ったところで、識別子を確認し、これらが同一のチャンクから分割されたものかを確認する。当該チャンクが更新されていて、かつ、キャッシュされていたブロック1が古い場合には、識別子からブロック1が異なるチャンクから分割されたものであることが分かる。この場合、ブロック1のキャッシュを無効にし、ブロック1が存在するサイトから最新のブロック1を取得する。   For example, assume that a chunk is divided from block 1 to block n. When block 1 is stored in the cache, block n is obtained from block 2 from each site, and block 1 uses the cached one. When the block 1 to the block n are prepared, the identifiers are confirmed, and it is confirmed whether these are divided from the same chunk. When the chunk has been updated and the cached block 1 is old, it can be seen from the identifier that the block 1 is divided from different chunks. In this case, the cache of block 1 is invalidated and the latest block 1 is acquired from the site where block 1 exists.

その後、集めたブロックからチャンクを復元すると共に(ステップS17)、当該チャンクからデータを復元し、かかるデータをアプリケーション11に返却する(ステップS18)。   Thereafter, the chunk is restored from the collected blocks (step S17), the data is restored from the chunk, and the data is returned to the application 11 (step S18).

次に、図5を参照して取得したブロックをキャッシュ12に格納するか否かを決定する動作を説明する。   Next, an operation for determining whether or not to store the acquired block in the cache 12 will be described with reference to FIG.

各サイトから読み込んだブロックをキャッシュ12に格納するか否かは、該当するブロックの読み込みコスト、つまり、サイトから該当するブロックを取得する際に要した時間である取得時間によって決定する。   Whether or not the block read from each site is stored in the cache 12 is determined by the read cost of the corresponding block, that is, the acquisition time which is the time required to acquire the corresponding block from the site.

具体的に、統計情報解析部14は、後述する母集団を形成するブロック群に属する各ブロックの取得時間の平均と標準偏差を計算する(ステップS21)。そして、取得したブロックについて、当該ブロックの取得時間が、上記計算された平均の1.2倍(基準時間)未満ならば(ステップS22:No)、当該ブロックはキャッシュしない(ステップS25)。また、取得したブロックの取得時間が、上記平均の1.2倍以上であっても(ステップS22:Yes)、当該ブロックの取得時間が、上記計算された平均+標準偏差(基準時間)未満ならば(ステップS23:No)、当該ブロックはキャッシュしない(ステップS25)。これらの条件に当てはまらないブロック、言い換えると、取得したブロックの取得時間が、母集団を形成するブロック群の取得時間の平均の1.2倍以上であり(ステップS22:Yes)、平均+標準偏差以上である場合には(ステップS23:Yes)、そのブロックをキャッシュ12に格納する(ステップS24)。   Specifically, the statistical information analysis unit 14 calculates the average and standard deviation of the acquisition times of the blocks belonging to the block group forming the population described later (step S21). Then, for the acquired block, if the acquisition time of the block is less than 1.2 times the reference average (reference time) (step S22: No), the block is not cached (step S25). Moreover, even if the acquisition time of the acquired block is 1.2 times or more of the average (step S22: Yes), if the acquisition time of the block is less than the calculated average + standard deviation (reference time) If this is the case (step S23: No), the block is not cached (step S25). Blocks that do not meet these conditions, in other words, the acquisition time of the acquired blocks is 1.2 times or more the average of the acquisition times of the block group forming the population (step S22: Yes), and average + standard deviation If it is above (step S23: Yes), the block is stored in the cache 12 (step S24).

なお、上述したように、取得したブロックをキャッシュ12に格納するか否かを判断する基準となる取得時間の平均や標準偏差を算出するために用いられるブロック群が属する母集団は、随時、変更設定可能である。例えば、上述したように、ブロックの取得時間にばらつきが少ないと判断された場合には、読み込まれた全ブロックの内、直近のある一定期間に読み込まれたブロック群を母集団とする。また、サイトごとにブロックの取得時間にばらつきがあると判断された場合には、サイト毎に、当該各サイトから取得したブロック群を母集団とする。例えば、サイトnから取得したブロックをキャッシュするか否かを判断する場合には、母集団はサイトnから取得した直近のある一定期間のブロックとする。また、ブロックの取得時間のばらつきが非常に大きい場合、1つのチャンクを母集団とする。例えば、あるチャンクを構成するブロック1からブロックnを母集団として、各ブロックについてキャッシュ12に格納するか否かを判断する。   As described above, the population to which the block group used for calculating the average and standard deviation of the acquisition time, which is a reference for determining whether or not to store the acquired block in the cache 12, belongs is changed from time to time. It can be set. For example, as described above, when it is determined that there is little variation in the block acquisition time, a block group read in a certain fixed period is set as a population among all the read blocks. Further, when it is determined that there is a variation in the block acquisition time for each site, the block group acquired from each site is set as the population for each site. For example, when determining whether or not to cache a block acquired from site n, the population is a block of a certain fixed period acquired from site n. Also, if the variation in the block acquisition time is very large, one chunk is used as a population. For example, it is determined whether or not to store each block in the cache 12 with blocks 1 to n constituting a certain chunk as a population.

上述した母集団選択は、統計情報解析部14にて、ブロック取得時間のばらつきを自動で計算して自動で切り替えてもよく、手動のシステムチューニングにより選択することも可能である。   The above-described population selection may be automatically switched by automatically calculating the variation in the block acquisition time by the statistical information analysis unit 14, or may be selected by manual system tuning.

以上のように、本発明では、データを分割して複数の記憶装置に分散配置するストレージシステムにおいて、分割データであるブロックの読み込みコストつまり取得時間が長いものをキャッシュに格納している。このため、データの一部の取得に遅延が生じた場合であっても、かかる一部をキャッシュすることで、次回取得時に遅延が発生することを抑制し、データ取得を高速化することができる。従って、ブロックから復元して得られるデータの読み取り時間の高速化を図ることができると共に、全体としてデータの取得時間の平準化を図ることができる。   As described above, according to the present invention, in a storage system in which data is divided and distributed in a plurality of storage devices, blocks having a long read cost, that is, acquisition time, are stored in the cache. For this reason, even when there is a delay in acquiring a part of the data, by caching such a part, it is possible to suppress a delay from occurring at the next acquisition and to speed up the data acquisition. . Therefore, it is possible to speed up the reading time of data obtained by restoring from the block, and it is possible to equalize the data acquisition time as a whole.

また、取得時間の長いブロックのみをキャッシュに格納するため、当該キャッシュの容量がデータ全体をキャッシュする場合と比較して大幅に少ない容量で済む。このため、低コストにて、上述したようにデータ取得時間の高速化及び平準化を図ることができる。   In addition, since only the blocks having a long acquisition time are stored in the cache, the capacity of the cache is much smaller than that in the case where the entire data is cached. For this reason, at a low cost, the data acquisition time can be increased and leveled as described above.

さらに、データが更新されている場合であっても、各ブロックに付与された識別子を比較することで、容易かつ正確にデータを復元することができると共に、不要となったブロックのキャッシュを無効化することができる。従って、よりキャッシュの容量を抑制できると共に、簡易な構成で信頼性の高いストレージシステムを実現することができる。   Furthermore, even if the data is updated, comparing the identifiers assigned to each block makes it possible to restore the data easily and accurately and invalidate the cache for blocks that are no longer needed can do. Accordingly, the cache capacity can be further suppressed, and a highly reliable storage system can be realized with a simple configuration.

<実施形態2>
次に、本発明の第2の実施形態を、図6乃至図9を参照して説明する。図6は、ストレージシステムの構成を示す機能ブロック図である。図7は、ストレージシステムに書き込まれるデータの構造を示す図である。図8乃至図9は、ストレージシステムの動作を示すフローチャートである。
<Embodiment 2>
Next, a second embodiment of the present invention will be described with reference to FIGS. FIG. 6 is a functional block diagram showing the configuration of the storage system. FIG. 7 is a diagram showing the structure of data written to the storage system. 8 to 9 are flowcharts showing the operation of the storage system.

本実施形態におけるストレージシステムは、データを分割及び分散して複数の記憶装置に記憶すると共に、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。このコンテンツアドレスストレージシステムについては、後に詳述する。   The storage system according to the present embodiment divides and distributes data and stores it in a plurality of storage devices, and specifies the storage location where the data is stored by a unique content address set according to the content of the stored data. Content address storage system. This content address storage system will be described in detail later.

[構成]
図6に示すように、本実施形態におけるストレージシステムは、上述した実施形態1と同様に、ネットワークNを介して接続された複数のストレージ装置101,102,103を備えている。なお、以下では、各ストレージ装置を「サイト」と呼ぶこととし、n個のサイトがネットワークNを介して接続されていることとする。
[Constitution]
As shown in FIG. 6, the storage system according to the present embodiment includes a plurality of storage apparatuses 101, 102, and 103 connected via a network N, as in the first embodiment. In the following, each storage device is referred to as a “site”, and n sites are connected via the network N.

各サイト1,2,・・・,nは、演算装置と記憶装置とを備えたコンピュータにて構成されている。そして、特に、各サイト1,2,・・・,nは、ディスク装置117,124,134を備えており、後述するように、ファイルを所定容量に分割したチャンクをさらに分割したブロック(分割データ)を、分散して格納するストレージ装置として機能している。   Each site 1, 2,..., N is configured by a computer having an arithmetic device and a storage device. In particular, each of the sites 1, 2,..., N is provided with disk devices 117, 124, and 134. As will be described later, a block obtained by further dividing a chunk into which a file is divided into a predetermined capacity (divided data). ) Is functioning as a storage device that stores data in a distributed manner.

まず、サイト1は、装備された演算装置にプログラムが組み込まれることで構築された、アプリケーション111と、分散制御部113と、統計情報解析部114と、ディスクアクセス部115と、ネットワークアクセス部116と、を備える。また、サイト1は、ディスク装置117から読み出したデータであるブロックを一時的に格納するフラッシュメモリなどで構成されたキャッシュ112(キャッシュメモリ)を備えている。また、データを分割したブロックを格納するハードディスクドライブなどのディスク装置117(記憶手段)を備えている。   First, the site 1 includes an application 111, a distribution control unit 113, a statistical information analysis unit 114, a disk access unit 115, and a network access unit 116, which are constructed by incorporating a program into an installed arithmetic device. . The site 1 also includes a cache 112 (cache memory) configured by a flash memory or the like that temporarily stores blocks that are data read from the disk device 117. Further, a disk device 117 (storage means) such as a hard disk drive for storing blocks obtained by dividing data is provided.

そして、さらに、サイト1は、ストレージシステム自体がコンテンツアドレスストレージシステムとして作動すべく、ファイルシステム制御部118を備えている。具体的に、ファイルシステム制御部118は、アプリケーション111からファイルの書き込み指令を受けると、図7に示すように、ファイルをチャンクA,B,Cに分割し、当該チャンクをさらにn個の分割データ部分に分割したブロックを生成する。そして、ブロック単位にハッシュ値が計算され、当該ブロックの重複排除を行う。つまり、同じ内容のブロックは1つだけ保存される。このため、既に保存されているブロックを新たにディスクに保存することはなく、ファイルシステムは既に保存されているブロックの格納場所を参照するようリンクを張るだけである。なお、ブロックはチャンクを重複排除や分散配置しやすい任意の方法で分割したものであり、一般にブロック単体は意味を持つ(解釈可能な)情報ではない。   The site 1 further includes a file system control unit 118 so that the storage system itself operates as a content address storage system. Specifically, when receiving a file write command from the application 111, the file system control unit 118 divides the file into chunks A, B, and C as shown in FIG. 7, and further divides the chunk into n pieces of divided data. Generate blocks divided into parts. Then, a hash value is calculated for each block, and deduplication of the block is performed. That is, only one block having the same content is stored. For this reason, a block that has already been saved is not newly saved on the disk, and the file system simply links to the storage location of the block that has already been saved. A block is a chunk obtained by dividing a chunk by any method that facilitates deduplication and distributed arrangement. Generally, a single block is not meaningful (interpretable) information.

そして、上記分散制御部113は、上述した実施形態1とほぼ同様に作動し、各ブロックを各サイトのディスク装置に分散して記憶すると共に、読み出し時には、複数のディスク装置から読み出したブロックから、チャンクさらにはファイルを復元する。   The distribution control unit 113 operates in substantially the same manner as in the above-described first embodiment, stores each block in a distributed manner on the disk device at each site, and at the time of reading, from the blocks read from the plurality of disk devices, Restore chunks and even files.

また、上述した実施形態1と同様に、統計情報解析部114は、分散制御部113にて各サイトから取得した各ブロックの取得コスト、つまり、本実施形態では、各ブロックを各サイトのディスク装置から読み出すときにかかった時間、を計測する。そして、計測した読み出し時間に応じて、各ブロックをキャッシュ112に格納するか否かを判断する。このとき、特に、設定された基準時間よりもサイトからの取得時間が長いブロックのみを、キャッシュ12に格納すると判断する。なお、ブロックをキャッシュ112に格納するか否かを判断する基準時間の変更設定については、上述した実施形態1の場合と同様であるため、詳細な説明は省略する。   Similarly to the first embodiment described above, the statistical information analysis unit 114 acquires the acquisition cost of each block acquired from each site by the distribution control unit 113, that is, in this embodiment, each block is a disk device at each site. Measures the time taken to read from. Then, it is determined whether to store each block in the cache 112 according to the measured read time. At this time, in particular, it is determined that only the block whose acquisition time from the site is longer than the set reference time is stored in the cache 12. Note that the reference time change setting for determining whether or not to store the block in the cache 112 is the same as in the case of the first embodiment, and a detailed description thereof will be omitted.

また、サイト2,nは、実施形態1のものとほぼ同様の構成をとっており、ネットワークアクセス部121,131と、分散制御部122,132と、ディスクアクセス部123,133と、ディスク装置124,134と、を備えている。これらの構成の詳細についても説明は省略する。   The sites 2 and n have substantially the same configuration as that of the first embodiment, and the network access units 121 and 131, the distribution control units 122 and 132, the disk access units 123 and 133, and the disk device 124. , 134. The description of the details of these configurations is also omitted.

[動作]
次に、上述したストレージシステムの動作を、図8乃至図9を参照して説明する。まず、図8を参照してサイト1のアプリケーション11からデータを書き込む場合の動作を説明する。
[Operation]
Next, the operation of the above-described storage system will be described with reference to FIGS. First, the operation when data is written from the application 11 of the site 1 will be described with reference to FIG.

アプリケーション11がデータ書き込みをファイルシステム制御部118に要求する(ステップS31)。すると、ファイルシステム制御部118は、データを複数のチャンクに分割し(ステップS32)、当該各チャンクをブロックに分割する(ステップS33)。そして、ファイルシステム制御部118は、ブロックのハッシュ値を計算して、ブロックの重複排除を行う(ステップS34)。つまり、同一のハッシュ値が存在している場合には、そのブロックと同一のブロックが既に記憶されていると判断できるため、新たに記憶しようとしたブロック自体は記憶せず、既に記憶されているブロックの格納位置を参照することで、新たに記憶しようとしたブロックを格納したこととする。   The application 11 requests the file system control unit 118 to write data (step S31). Then, the file system control unit 118 divides the data into a plurality of chunks (step S32), and divides each chunk into blocks (step S33). Then, the file system control unit 118 calculates the hash value of the block and performs deduplication of the block (step S34). That is, if the same hash value exists, it can be determined that the same block as that block has already been stored, so the block to be newly stored is not stored, but is already stored. It is assumed that a block to be newly stored is stored by referring to the storage position of the block.

そして、ファイルシステム制御部118は、分散制御部113に対して、重複排除されなかったブロックの保存を要求する。すると、分散制御部113は、ディスクアクセス部115を介して自サイトのディスク装置117と、ネットワークアクセス部116を介して他サイトのディスク装置123,134等とに、ブロックを分散して保存する(ステップS35)。   Then, the file system control unit 118 requests the distribution control unit 113 to store blocks that have not been deduplicated. Then, the distribution control unit 113 distributes and stores the blocks in the disk device 117 at its own site via the disk access unit 115 and the disk devices 123 and 134 at other sites via the network access unit 116 (see FIG. Step S35).

次に、図9を参照して、サイト1のアプリケーション111がデータを読み込む場合の動作を説明する。アプリケーションがデータ読み込みをファイルシステム制御部118に要求する(ステップS41)。すると、ファイルシステム制御部118は、読み込み要求にかかるデータの復元に必要なチャンクを割り出し(ステップS42)、さらに、必要なチャンクを構成するブロックを割り出す(ステップS43)。   Next, an operation when the application 111 of the site 1 reads data will be described with reference to FIG. The application requests the file system control unit 118 to read data (step S41). Then, the file system control unit 118 calculates a chunk necessary for restoring the data related to the read request (step S42), and further determines a block constituting the required chunk (step S43).

そして、ファイルシステム制御部118が、必要なブロックを分散制御部113に要求すると、当該分散制御部113はネットワークアクセス部116を介してキャッシュされていないブロックを各サイトから取得する(ステップS44)。その後、分散制御部113は、各サイトから取得したブロックと、キャッシュ12に格納されていたブロックを合わせて、ファイルシステム制御部118に渡す。   Then, when the file system control unit 118 requests the distribution control unit 113 for a necessary block, the distribution control unit 113 obtains an uncached block from each site via the network access unit 116 (step S44). Thereafter, the distribution control unit 113 combines the block acquired from each site and the block stored in the cache 12 and passes them to the file system control unit 118.

ファイルシステム制御部118は、取得したブロックからチャンクを復元し(ステップS45)、当該チャンクからファイルを復元する(ステップS46)。そして、ファイルシステム制御部118は、アプリケーション111にファイルを返却する(ステップS47)。   The file system control unit 118 restores the chunk from the acquired block (step S45), and restores the file from the chunk (step S46). Then, the file system control unit 118 returns the file to the application 111 (step S47).

なお、ブロックをキャッシュ112に格納するか否かを決定する方法は、上述した実施形態1と同様であるため、その説明は省略する。また、コンテンツアドレスストレージシステムでは、ハッシュ値に対してデータは一意に決まる。このため、ハッシュ値をキーにしたブロックについて、内容が変わることはなく、キャッシュの更新や無効化は不要である。   Note that the method for determining whether or not to store the block in the cache 112 is the same as in the first embodiment described above, and a description thereof will be omitted. In the content address storage system, data is uniquely determined for a hash value. For this reason, the content of the block using the hash value as a key does not change, and cache update or invalidation is unnecessary.

以上のように、本発明は、データを分割して複数の記憶装置に分散して記憶するコンテンツアドレスストレージシステムなどのストレージシステムに利用することで、キャッシュメモリの容量を抑えてコストを抑制しつつ、データ読み取り時間の短縮化及び平準化を図ることができる。   As described above, the present invention is used for a storage system such as a content address storage system in which data is divided and distributed and stored in a plurality of storage devices, thereby suppressing the capacity of the cache memory and suppressing the cost. Therefore, the data reading time can be shortened and leveled.

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステム及びストレージ装置201の構成の概略について図10を参照して説明する。また、本発明における、プログラム、データ記憶再生方法の構成について説明する。但し、本発明は、以下の構成に限定されない。
<Appendix>
Part or all of the above-described embodiment can be described as in the following supplementary notes. The outline of the configuration of the storage system and storage apparatus 201 in the present invention will be described below with reference to FIG. The configuration of the program and data storage / reproduction method in the present invention will be described. However, the present invention is not limited to the following configuration.

(付記1)
複数の記憶手段210と、
データを複数に分割した分割データを前記複数の記憶手段210に分散して記憶すると共に、前記複数の記憶手段210から分割データを読み出して分割前のデータを復元するデータ処理手段211と、
前記記憶手段210から読み出した分割データを一時的に格納するキャッシュメモリと212、を備え、
前記データ処理手段211は、前記記憶手段210から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリ212に格納すると共に、当該キャッシュメモリ212に格納された分割データを用いてデータの復元を行う、
ストレージシステム。
(Appendix 1)
A plurality of storage means 210;
Data processing means 211 for distributing and storing divided data obtained by dividing data into a plurality of storage means 210, reading the divided data from the plurality of storage means 210, and restoring the data before division;
A cache memory 212 for temporarily storing the divided data read from the storage means 210;
The data processing unit 211 stores the divided data in the cache memory 212 and stores the divided data stored in the cache memory 212 according to the time taken to read the divided data read from the storage unit 210. Use to restore data,
Storage system.

(付記2)
付記1に記載のストレージシステムであって、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
ストレージシステム。
(Appendix 2)
The storage system according to attachment 1, wherein
The data processing means stores in the cache memory only the time taken to read the divided data read from the storage means is longer than a set reference time.
Storage system.

(付記3)
付記2に記載のストレージシステムであって、
前記基準時間は、読み出された分割データのうち所定の条件を満たす分割データ群の読み出し時間の平均時間に基づく値である、
ストレージシステム。
(Appendix 3)
The storage system according to appendix 2,
The reference time is a value based on the average read time of divided data groups satisfying a predetermined condition among the read divided data.
Storage system.

(付記4)
付記3に記載のストレージシステムであって、
前記基準時間は、読み出された分割データの読み出し時間のばらつきの度合いに応じて設定された条件を満たす分割データ群の読み出し時間の平均時間に基づく値である、
ストレージシステム。
(Appendix 4)
The storage system according to attachment 3, wherein
The reference time is a value based on the average read time of the divided data group that satisfies the condition set according to the degree of variation in the read time of the read divided data.
Storage system.

(付記5)
付記3又は4に記載のストレージシステムであって、
前記基準時間は、直近の一定期間に読み出された分割データ群の読み出し時間の平均時間に基づく値である、
ストレージシステム。
(Appendix 5)
The storage system according to appendix 3 or 4,
The reference time is a value based on the average time of the read times of the divided data group read during the most recent fixed period.
Storage system.

(付記6)
付記3又は4に記載のストレージシステムであって、
前記基準時間は、前記記憶手段毎に対応して設定された、当該記憶手段から読み出された分割データ群の読み出し時間の平均時間に基づく値であり、
前記データ処理手段は、特定の前記記憶手段から読み出した分割データの読み出しにかかった時間が、当該特定の記憶手段に対応して設定された前記基準時間よりも長いもののみを前記キャッシュメモリに格納する、
ストレージシステム。
(Appendix 6)
The storage system according to appendix 3 or 4,
The reference time is a value based on the average time of the read time of the divided data group read from the storage means, which is set corresponding to each storage means,
The data processing means stores in the cache memory only the time taken to read the divided data read from the specific storage means is longer than the reference time set corresponding to the specific storage means To
Storage system.

(付記7)
付記3又は4に記載のストレージシステムであって、
前記基準時間は、分割前のデータ毎に対応して設定された、当該データから分割された分割データ群の読み出し時間の平均時間に基づく値であり、
前記データ処理手段は、特定のデータから分割された分割データの読み出しにかかった時間が、当該特定のデータに対応して設定された前記基準時間よりも長いもののみを前記キャッシュメモリに格納する、
ストレージシステム。
(Appendix 7)
The storage system according to appendix 3 or 4,
The reference time is a value based on the average time of the read time of the divided data group divided from the data set corresponding to each data before the division,
The data processing means stores in the cache memory only the time taken to read the divided data divided from the specific data is longer than the reference time set corresponding to the specific data.
Storage system.

(付記8)
付記1乃至7のいずれかに記載のストレージシステムであって、
前記データ処理手段は、分割前のデータを識別する識別情報を、当該データを分割した分割データに付加して格納すると共に、当該識別情報が同一の分割データを用いてデータの復元を行う、
ストレージシステム。
(Appendix 8)
The storage system according to any one of appendices 1 to 7,
The data processing means stores the identification information for identifying the data before the division added to the divided data obtained by dividing the data, and restores the data by using the divided data having the same identification information.
Storage system.

(付記9)
付記8に記載のストレージシステムであって、
前記識別情報は、前記データの更新時を特定する情報を含み、
前記データ処理手段は、復元するデータを構成する分割データのうち前記識別情報が他と異なる分割データを前記キャッシュメモリから削除する、
ストレージシステム。
(Appendix 9)
The storage system according to attachment 8, wherein
The identification information includes information that identifies when the data is updated,
The data processing means deletes, from the cache memory, divided data having different identification information from other divided data constituting the data to be restored,
Storage system.

(付記10)
データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段と、
前記記憶手段から読み出した分割データを一時的に格納するキャッシュメモリと、を備え、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
ストレージ装置。
(Appendix 10)
Data processing means for dividing and storing the divided data obtained by dividing the data into a plurality of storage means, reading the divided data from the plurality of storage means, and restoring the data before the division,
A cache memory for temporarily storing the divided data read from the storage means,
The data processing means stores the divided data in the cache memory according to the time taken to read the divided data read from the storage means, and uses the divided data stored in the cache memory to store data. Restore,
Storage device.

(付記11)
付記10に記載のストレージ装置であって、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
ストレージ装置。
(Appendix 11)
The storage device according to appendix 10, wherein
The data processing means stores in the cache memory only the time taken to read the divided data read from the storage means is longer than a set reference time.
Storage device.

(付記12)
キャッシュメモリを備えた情報処理装置に、
データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段を実現させると共に、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
プログラム。
(Appendix 12)
In information processing equipment equipped with cache memory,
While distributing and storing divided data divided into a plurality of storage means in a plurality of storage means, realizing data processing means for reading out the divided data from the plurality of storage means and restoring the data before the division,
The data processing means stores the divided data in the cache memory according to the time taken to read the divided data read from the storage means, and uses the divided data stored in the cache memory to store data. Restore,
program.

(付記13)
付記12に記載のプログラムであって、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
プログラム。
(Appendix 13)
The program according to attachment 12, wherein
The data processing means stores in the cache memory only the time taken to read the divided data read from the storage means is longer than a set reference time.
program.

(付記14)
キャッシュメモリを備えた情報処理装置にて、
データ書き込み時に、データを複数に分割した分割データを複数の記憶手段に分散して記憶し、
データ読み出し時に、複数の記憶手段から分割データを読み出して分割前のデータを復元すると共に、
前記データ読み出し時に、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
データ記憶再生方法。
(Appendix 14)
In an information processing device equipped with a cache memory,
At the time of data writing, the divided data divided into a plurality of data is distributed and stored in a plurality of storage means,
At the time of data reading, read the divided data from a plurality of storage means to restore the data before the division,
When the data is read, the divided data is stored in the cache memory according to the time taken to read the divided data read from the storage unit, and the data is restored using the divided data stored in the cache memory. I do,
Data storage and playback method.

(付記15)
付記14に記載のデータ記憶再生方法であって、
前記データ読み出し時に、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
データ記憶再生方法。
(Appendix 15)
A data storage / reproduction method according to appendix 14,
At the time of reading the data, only the time taken to read the divided data read from the storage means is longer than a set reference time is stored in the cache memory.
Data storage and playback method.

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 ネットワーク
1, 2, 3 Storage device 11 Application 12 Cache 13, 22, 32 Distribution control unit 14 Statistical information analysis unit 15, 23, 33 Disk access unit 16, 21, 31 Network access unit 17, 24, 34 Disk device 101, 102 , 103 Storage device 111 Application 112 Cache 113, 122, 132 Distribution control unit 114 Statistical information analysis unit 115, 123, 133 Disk access unit 116, 121, 131 Network access unit 117, 124, 134 Disk device 118 File system control unit 201 Storage device 210 storage means 211 data processing means 212 cache memory N network

Claims (9)

複数の記憶手段と、
データを複数に分割した分割データを前記複数の記憶手段に分散して記憶すると共に、前記複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段と、
前記記憶手段から読み出した分割データを一時的に格納するキャッシュメモリと、を備え、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
ストレージシステム。
A plurality of storage means;
Data processing means for distributing and storing divided data obtained by dividing the data into a plurality of storage means, and reading the divided data from the plurality of storage means to restore the data before division;
A cache memory for temporarily storing the divided data read from the storage means,
The data processing means stores the divided data in the cache memory according to the time taken to read the divided data read from the storage means, and uses the divided data stored in the cache memory to store data. Restore,
Storage system.
請求項1に記載のストレージシステムであって、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間が、設定された基準時間よりも長いもののみを前記キャッシュメモリに格納する、
ストレージシステム。
The storage system according to claim 1,
The data processing means stores in the cache memory only the time taken to read the divided data read from the storage means is longer than a set reference time.
Storage system.
請求項2に記載のストレージシステムであって、
前記基準時間は、読み出された分割データのうち所定の条件を満たす分割データ群の読み出し時間の平均時間に基づく値である、
ストレージシステム。
The storage system according to claim 2,
The reference time is a value based on the average read time of divided data groups satisfying a predetermined condition among the read divided data.
Storage system.
請求項3に記載のストレージシステムであって、
前記基準時間は、読み出された分割データの読み出し時間のばらつきの度合いに応じて設定された条件を満たす分割データ群の読み出し時間の平均時間に基づく値である、
ストレージシステム。
The storage system according to claim 3,
The reference time is a value based on the average read time of the divided data group that satisfies the condition set according to the degree of variation in the read time of the read divided data.
Storage system.
請求項1乃至4のいずれかに記載のストレージシステムであって、
前記データ処理手段は、分割前のデータを識別する識別情報を、当該データを分割した分割データに付加して格納すると共に、当該識別情報が同一の分割データを用いてデータの復元を行う、
ストレージシステム。
The storage system according to any one of claims 1 to 4,
The data processing means stores the identification information for identifying the data before the division added to the divided data obtained by dividing the data, and restores the data by using the divided data having the same identification information.
Storage system.
請求項5に記載のストレージシステムであって、
前記識別情報は、前記データの更新時を特定する情報を含み、
前記データ処理手段は、復元するデータを構成する分割データのうち前記識別情報が他と異なる分割データを前記キャッシュメモリから削除する、
ストレージシステム。
The storage system according to claim 5,
The identification information includes information that identifies when the data is updated,
The data processing means deletes, from the cache memory, divided data having different identification information from other divided data constituting the data to be restored,
Storage system.
データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段と、
前記記憶手段から読み出した分割データを一時的に格納するキャッシュメモリと、を備え、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
ストレージ装置。
Data processing means for dividing and storing the divided data obtained by dividing the data into a plurality of storage means, reading the divided data from the plurality of storage means, and restoring the data before the division,
A cache memory for temporarily storing the divided data read from the storage means,
The data processing means stores the divided data in the cache memory according to the time taken to read the divided data read from the storage means, and uses the divided data stored in the cache memory to store data. Restore,
Storage device.
キャッシュメモリを備えた情報処理装置に、
データを複数に分割した分割データを複数の記憶手段に分散して記憶すると共に、複数の記憶手段から分割データを読み出して分割前のデータを復元するデータ処理手段を実現させると共に、
前記データ処理手段は、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
プログラム。
In information processing equipment equipped with cache memory,
While distributing and storing divided data divided into a plurality of storage means in a plurality of storage means, realizing data processing means for reading out the divided data from the plurality of storage means and restoring the data before the division,
The data processing means stores the divided data in the cache memory according to the time taken to read the divided data read from the storage means, and uses the divided data stored in the cache memory to store data. Restore,
program.
キャッシュメモリを備えた情報処理装置にて、
データ書き込み時に、データを複数に分割した分割データを複数の記憶手段に分散して記憶し、
データ読み出し時に、複数の記憶手段から分割データを読み出して分割前のデータを復元すると共に、
前記データ読み出し時に、前記記憶手段から読み出した分割データの読み出しにかかった時間に応じて、当該分割データを前記キャッシュメモリに格納すると共に、当該キャッシュメモリに格納された分割データを用いてデータの復元を行う、
データ記憶再生方法。
In an information processing device equipped with a cache memory,
At the time of data writing, the divided data divided into a plurality of data is distributed and stored in a plurality of storage means,
At the time of data reading, read the divided data from a plurality of storage means to restore the data before the division,
When the data is read, the divided data is stored in the cache memory according to the time taken to read the divided data read from the storage unit, and the data is restored using the divided data stored in the cache memory. I do,
Data storage and playback method.
JP2010063453A 2010-03-19 2010-03-19 Storage system Expired - Fee Related JP5569074B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010063453A JP5569074B2 (en) 2010-03-19 2010-03-19 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010063453A JP5569074B2 (en) 2010-03-19 2010-03-19 Storage system

Publications (2)

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

Family

ID=44876104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010063453A Expired - Fee Related JP5569074B2 (en) 2010-03-19 2010-03-19 Storage system

Country Status (1)

Country Link
JP (1) JP5569074B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014056407A (en) * 2012-09-12 2014-03-27 Nippon Telegraph & Telephone West Corp Management system
WO2014155553A1 (en) * 2013-03-27 2014-10-02 富士通株式会社 Information processing method for distributed processing, information processing device and program, and distributed processing system
JP2017500670A (en) * 2013-12-27 2017-01-05 グーグル インコーポレイテッド Hierarchical chunking of objects in a distributed storage system
US9721610B2 (en) 2014-07-11 2017-08-01 International Business Machines Corporation Method of managing, writing, and reading file on tape
JP2017182825A (en) * 2012-08-08 2017-10-05 アマゾン テクノロジーズ インコーポレイテッド Archival data storage system
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US10157199B2 (en) 2012-08-08 2018-12-18 Amazon Technologies, Inc. Data storage integrity validation
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
US10698880B2 (en) 2012-08-08 2020-06-30 Amazon Technologies, Inc. Data storage application programming interface
US10936729B2 (en) 2012-08-08 2021-03-02 Amazon Technologies, Inc. Redundant key management

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019402B2 (en) * 2016-05-12 2018-07-10 Quanta Computer Inc. Flexible NVME drive management solution via multiple processor and registers without multiple input/output expander chips

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225652A (en) * 1994-02-14 1995-08-22 Hitachi Ltd Control system for collective file device
JP2000172449A (en) * 1998-12-09 2000-06-23 Nec Corp Disk drive
JP2002140169A (en) * 2000-11-06 2002-05-17 Nec Corp Disc array control unit and disc array control method
JP2002351705A (en) * 2001-05-23 2002-12-06 Matsushita Electric Ind Co Ltd Device and method for recording and reproducing digital signal
JP2004126844A (en) * 2002-10-01 2004-04-22 Turf Media System:Kk Server computer device with cache memory control function

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225652A (en) * 1994-02-14 1995-08-22 Hitachi Ltd Control system for collective file device
JP2000172449A (en) * 1998-12-09 2000-06-23 Nec Corp Disk drive
JP2002140169A (en) * 2000-11-06 2002-05-17 Nec Corp Disc array control unit and disc array control method
JP2002351705A (en) * 2001-05-23 2002-12-06 Matsushita Electric Ind Co Ltd Device and method for recording and reproducing digital signal
JP2004126844A (en) * 2002-10-01 2004-04-22 Turf Media System:Kk Server computer device with cache memory control function

Cited By (13)

* 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
US10936729B2 (en) 2012-08-08 2021-03-02 Amazon Technologies, Inc. Redundant key management
US10698880B2 (en) 2012-08-08 2020-06-30 Amazon Technologies, Inc. Data storage application programming interface
JP2017182825A (en) * 2012-08-08 2017-10-05 アマゾン テクノロジーズ インコーポレイテッド Archival data storage system
US10157199B2 (en) 2012-08-08 2018-12-18 Amazon Technologies, Inc. Data storage integrity validation
JP2014056407A (en) * 2012-09-12 2014-03-27 Nippon Telegraph & Telephone West Corp Management system
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
JPWO2014155553A1 (en) * 2013-03-27 2017-02-16 富士通株式会社 Information processing method, information processing apparatus and program for distributed processing, and distributed processing system
US10049049B2 (en) 2013-03-27 2018-08-14 Fujitsu Limited Method and system for caching data managed by plural information processing apparatuses
WO2014155553A1 (en) * 2013-03-27 2014-10-02 富士通株式会社 Information processing method for distributed processing, information processing device and program, and distributed processing system
JP2017500670A (en) * 2013-12-27 2017-01-05 グーグル インコーポレイテッド Hierarchical chunking of objects in a distributed storage system
US9852756B2 (en) 2014-07-11 2017-12-26 International Business Machines Corporation Method of managing, writing, and reading file on tape
US9721610B2 (en) 2014-07-11 2017-08-01 International Business Machines Corporation Method of managing, writing, and reading file on tape

Also Published As

Publication number Publication date
JP5569074B2 (en) 2014-08-13

Similar Documents

Publication Publication Date Title
JP5569074B2 (en) Storage system
US10817212B2 (en) Method and apparatus for creating a short hash handle highly correlated with a globally-unique hash signature
US10678751B2 (en) Data protection and long term retention
US8930648B1 (en) Distributed deduplication using global chunk data structure and epochs
US9330108B2 (en) Multi-site heat map management
US10019459B1 (en) Distributed deduplication in a distributed system of hybrid storage and compute nodes
US9348842B2 (en) Virtualized data storage system optimizations
CN105027069A (en) Deduplication of volume regions
EP3695303B1 (en) Log-structured storage systems
US20130232215A1 (en) Virtualized data storage system architecture using prefetching agent
KR20140117994A (en) Method and apparatus for deduplication of replicated file
KR101709118B1 (en) Method and appratus for managing file in hybrid storage system
CN104580439B (en) Method for uniformly distributing data in cloud storage system
CN108431815B (en) Deduplication of distributed data in a processor grid
US9369527B2 (en) File server, file server control method, and storage system
US20210286734A1 (en) Persistent read cache in a scale out storage system
US20190056878A1 (en) Storage control apparatus and computer-readable recording medium storing program therefor
JP5585116B2 (en) Storage system
US9575679B2 (en) Storage system in which connected data is divided
EP3819754B1 (en) Information processing apparatus and recording medium storing information processing program
JP5446378B2 (en) Storage system
US11112973B2 (en) Computer system and data management method
JP6770244B2 (en) Storage system
JP6201340B2 (en) Replication system
KR102599116B1 (en) Data input and output method using storage node based key-value srotre

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