JP6733214B2 - Control device, storage system, control method, and program - Google Patents

Control device, storage system, control method, and program Download PDF

Info

Publication number
JP6733214B2
JP6733214B2 JP2016030140A JP2016030140A JP6733214B2 JP 6733214 B2 JP6733214 B2 JP 6733214B2 JP 2016030140 A JP2016030140 A JP 2016030140A JP 2016030140 A JP2016030140 A JP 2016030140A JP 6733214 B2 JP6733214 B2 JP 6733214B2
Authority
JP
Japan
Prior art keywords
chunk
storage
stored
data
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016030140A
Other languages
Japanese (ja)
Other versions
JP2017146919A (en
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 JP2016030140A priority Critical patent/JP6733214B2/en
Publication of JP2017146919A publication Critical patent/JP2017146919A/en
Application granted granted Critical
Publication of JP6733214B2 publication Critical patent/JP6733214B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、制御装置、ストレージシステム、制御方法及びプログラムに関する。 The present invention relates to a control device, a storage system, a control method and a program.

ストレージシステムにおいて、重複排除機能が用いられつつある。重複排除機能が用いられることで、ストレージシステムにおいて必要とされるストレージ領域やストレージシステムへの書込みに際して必要とされる通信ネットワーク帯域の効率化が可能となる。 Deduplication functions are being used in storage systems. By using the deduplication function, it is possible to improve the efficiency of the storage area required in the storage system and the communication network band required when writing to the storage system.

特許文献1には、ストレージシステムの実際の運用において実施可能な重複排除機能を提供し、重複排除処理後のデータから元のデータ復元に要する時間を短縮することができる格納データの重複排除方法等が記載されている。 Patent Document 1 provides a deduplication function that can be implemented in the actual operation of a storage system, and can reduce the time required to restore the original data from the data after deduplication processing. Is listed.

また、特許文献2には、同一データの重複度が適度に制御され、過度の重複の排除と並列アクセスの両立を実現することができる自律分散重複排除ファイルシステム等が記載されている。 Further, Patent Document 2 describes an autonomous distributed deduplication file system and the like, in which the degree of duplication of the same data is appropriately controlled, and it is possible to achieve both elimination of excessive duplication and parallel access.

また、特許文献3には、格納するデータの重複排除を実現しつつ、性能の向上を図ることができるストレージシステムが記載されている。特許文献3に記載のストレージシステムは、重要度スコアの値に応じて、重複排除処理を主に実行するノードを切替えている。そのため、特許文献3に記載のストレージシステムは、アクセラレータノードの処理負荷を抑制しつつ、アクセラレータノードとストレージノードとの間における通信量を削減することができる。 Further, Patent Document 3 describes a storage system capable of improving performance while realizing deduplication of stored data. The storage system described in Patent Document 3 switches the node that mainly executes the deduplication processing according to the value of the importance score. Therefore, the storage system described in Patent Document 3 can reduce the communication load between the accelerator node and the storage node while suppressing the processing load on the accelerator node.

また、特許文献4には、ストレージシステム等が記載されている。特許文献4に記載の技術では、ページの割当てに十分活用されていない特定管理単位を仮想ボリュームへの割当てから解放する。そして、特許文献4に記載の技術では、この特定管理単位に属する割当て済みページを、他の管理単位に移動させることにより、特定管理単位の記憶領域を他の仮想ボリュームへのホスト計算機からのライトアクセスに供するようにする。 Further, Patent Document 4 describes a storage system and the like. In the technique described in Patent Document 4, a specific management unit that is not sufficiently used for page allocation is released from allocation to a virtual volume. In the technique disclosed in Patent Document 4, the allocated page belonging to the specific management unit is moved to another management unit to write the storage area of the specific management unit to another virtual volume from the host computer. Make it available for access.

また、特許文献5には、キャッシュ保存プログラム等が記載されている。特許文献5に記載の技術では、通信装置は、データの重複の特性を考慮して、キャッシュ保存領域にデータを保存するので、キャッシュ保存領域を効率的にヒットさせることが可能となる。 Further, Patent Document 5 describes a cache storage program and the like. In the technique described in Patent Document 5, the communication device stores the data in the cache storage area in consideration of the characteristic of data duplication, so that the cache storage area can be efficiently hit.

国際公開第2013/051129号International Publication No. 2013/051129 特開2014−160311号公報JP, 2014-160311, A 特開2011−175421号公報JP, 2011-175421, A 特表2012−533099号公報Special table 2012-533099 gazette 特開2015−201050号公報JP, 2005-201050, A

重複排除機能が用いられているストレージシステムからのデータの読み出しに際しては、全てのデータがストレージから読み出される。したがって、重複排除機能が用いられているストレージシステムにおいても、格納されたデータが読み出される場合には、大きなネットワーク帯域が必要とされる。すなわち、上述した各特許文献に記載の技術では、データが読出される場合における処理の効率化に関しては、特段の考慮がなされていない。 When reading data from a storage system that uses the deduplication function, all data is read from the storage. Therefore, even in a storage system that uses the deduplication function, a large network band is required when the stored data is read. That is, in the techniques described in the above-mentioned patent documents, no particular consideration is given to the efficiency of processing when data is read.

本発明は、上記課題を解決するためになされたものであって、データの読出し処理を効率化するストレージシステム等を提供することを主たる目的とする。 The present invention has been made in order to solve the above problems, and a main object of the present invention is to provide a storage system or the like that makes data read processing efficient.

本発明の一態様における制御装置は、ストレージ装置への書込み対象データが分割されたチャンクを、ストレージ装置又は優先度を付して記憶手段に格納するよう制御する格納制御手段と、ストレージ装置から送信される識別情報に基づいて、読出し対象データに関するチャンクが記憶手段に格納されているかを判定する判定手段と、判定結果に基づいて、記憶手段及びストレージ装置に格納されたチャンクを用いて読出し対象データを構築する読出制御手段とを備える。 A control device according to one aspect of the present invention includes storage control means for controlling a storage device or a storage control device that stores a chunk into which data to be written into a storage device is divided and which is assigned a priority, and is transmitted from the storage device. Determination means for determining whether or not a chunk related to the read target data is stored in the storage means based on the identified information, and the read target data using the chunk stored in the storage means and the storage device based on the determination result. And a read control means for constructing.

本発明の一態様におけるストレージシステムは、制御装置と、制御装置の要求に基づいて、読出し対象データに関するチャンクを識別する識別情報を制御装置に送信する返信手段と、読出し対象データに関するチャンクのうち、制御装置の記憶手段に未格納であるチャンクを制御装置に送信するよう制御する読出制御手段とを備えるストレージ装置とを備える。
A storage system according to an aspect of the present invention includes a control device, a reply unit that transmits identification information identifying a chunk related to read target data to the control device based on a request from the control device, and a chunk related to read target data. And a storage device having read control means for controlling to transmit to the control device a chunk that is not stored in the storage means of the control device.

本発明の一態様における制御方法は、ストレージ装置への書込み対象データが分割されたチャンクを、ストレージ装置又は優先度を付して記憶手段に格納するよう制御し、ストレージ装置から送信される識別情報に基づいて、読出し対象データに関するチャンクが記憶手段に格納されているかを判定し、判定結果に基づいて、記憶手段及びストレージ装置に格納されたチャンクを用いて読出し対象データを構築する。 A control method according to one aspect of the present invention controls a chunk into which data to be written to a storage device is divided to be stored in a storage device or a storage unit with a priority, and identification information transmitted from the storage device. It is determined whether the chunk relating to the read target data is stored in the storage means based on the above, and the read target data is constructed using the chunk stored in the storage means and the storage device based on the determination result.

本発明の一態様におけるプログラムは、コンピュータに、ストレージ装置への書込み対象データが分割されたチャンクを、ストレージ装置又は優先度を付して記憶手段に格納するよう制御する処理と、ストレージ装置から送信される識別情報に基づいて、読出し対象データに関するチャンクが記憶手段に格納されているかを判定する処理と、判定結果に基づいて、記憶手段及びストレージ装置に格納されたチャンクを用いて読出し対象データを構築する処理とを実行させる。 A program according to an aspect of the present invention includes a process of controlling a computer to store a chunk, into which data to be written to a storage device is divided, into a storage device or a storage device with a priority, and transmission from the storage device. Processing for determining whether a chunk relating to the read target data is stored in the storage means based on the identification information that is stored, and the read target data is stored using the chunk stored in the storage means and the storage device based on the determination result. Execute the process to build.

本発明によると、データの読出し処理を効率化するストレージシステム等を提供することができる。 According to the present invention, it is possible to provide a storage system or the like that improves the efficiency of data read processing.

本発明の第1の実施形態における制御装置、ストレージ装置及びストレージシステムの構成を示す図である。It is a figure which shows the structure of the control apparatus, the storage apparatus, and the storage system in the 1st Embodiment of this invention. 発明の第1の実施形態におけるストレージシステムが複数の制御装置又はストレージ装置を有する場合の構成を示す例である。1 is an example showing a configuration when a storage system according to a first exemplary embodiment of the present invention has a plurality of control devices or storage devices. 本発明の第1の実施形態におけるストレージシステムにおけるデータの書込みの基本的な動作の一例を示す図である。It is a figure which shows an example of the basic operation|movement of the data write in the storage system in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるストレージシステムにおけるデータの読出しの基本的な動作の一例を示す図である。It is a figure which shows an example of the basic operation|movement of the data read in the storage system in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるストレージシステムにバックアップデータが格納される場合の基本的な動作の一例を示す図である。It is a figure which shows an example of a basic operation|movement when backup data is stored in the storage system in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるストレージシステムにおけるデータの書込みの動作例を示す図である。It is a figure which shows the operation example of the data write in the storage system in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるストレージシステムにおけるデータの読出しの動作例を示す図である。It is a figure which shows the operation example of the data read in the storage system in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるストレージシステムにバックアップデータが格納される場合の動作例を示す図である。It is a figure which shows the operation example when backup data is stored in the storage system in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるストレージシステム等の書込みに関する動作の一例を示すフローチャートである。6 is a flowchart showing an example of an operation related to writing in the storage system or the like according to the first exemplary embodiment of the present invention. 本発明の第1の実施形態におけるストレージシステム等の読出しに関する動作の一例を示すフローチャートである。3 is a flowchart showing an example of an operation related to reading of the storage system and the like according to the first exemplary embodiment of the present invention. 本発明の実施形態における制御装置等を実現する情報処理装置の一例を示す図である。It is a figure showing an example of an information processor which realizes a control unit etc. in an embodiment of the present invention.

本発明の各実施形態について、添付の図面を参照して説明する。本発明の実施形態において、例えば後述する制御装置等の各装置の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部又は全部は、例えば図11に示すような情報処理装置500とプログラムとの任意の組み合わせにより実現される。情報処理装置500は、一例として、以下のような構成を含む。 Embodiments of the present invention will be described with reference to the accompanying drawings. In the embodiment of the present invention, each component of each device such as a control device described later represents a block of a functional unit. Some or all of the components of each device are realized by an arbitrary combination of an information processing device 500 and a program as shown in FIG. 11, for example. The information processing device 500 includes, for example, the following configuration.

・CPU(Central Processing Unit)501
・ROM(Read Only Memory)502
・RAM(Random Access Memory)503
・RAM503にロードされるプログラム504
・プログラム504を格納する記憶装置505
・記録媒体506の読み書きを行うドライブ装置507
・通信ネットワーク509と接続する通信インターフェース508
・データの入出力を行う入出力インターフェース510
・各構成要素を接続するバス511
各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム504をCPU501が取得して実行することで実現される。各装置の各構成要素の機能を実現するプログラム504は、例えば、予め記憶装置505やRAM503に格納されており、必要に応じてCPU501が読み出す。なお、プログラム504は、通信ネットワーク509を介してCPU501に供給されてもよいし、予め記録媒体506に格納されており、ドライブ装置507が当該プログラムを読み出してCPU501に供給してもよい。
-CPU (Central Processing Unit) 501
-ROM (Read Only Memory) 502
RAM (Random Access Memory) 503
-Program 504 loaded in RAM 503
-Storage device 505 that stores the program 504
-Drive device 507 for reading and writing the recording medium 506
-Communication interface 508 connected to the communication network 509
-Input/output interface 510 for inputting/outputting data
.Bus 511 for connecting each component
Each component of each device in each embodiment is realized by the CPU 501 acquiring and executing the program 504 that realizes these functions. The program 504 that realizes the function of each component of each device is stored in the storage device 505 or the RAM 503 in advance, for example, and is read by the CPU 501 as necessary. The program 504 may be supplied to the CPU 501 via the communication network 509, or may be stored in the recording medium 506 in advance and the drive device 507 may read the program and supply it to the CPU 501.

各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個の情報処理装置500とプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つの情報処理装置500とプログラムとの任意の組み合わせにより実現されてもよい。 There are various modifications to the method of realizing each device. For example, each device may be realized by an arbitrary combination of an information processing device 500 and a program that are different for each component. Further, a plurality of constituent elements included in each device may be realized by an arbitrary combination of one information processing device 500 and a program.

また、各装置の各構成要素の一部又は全部は、プロセッサ等を含む汎用または専用の回路(circuitry)やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。 Further, some or all of the constituent elements of each device are realized by a general-purpose or dedicated circuit including a processor or the like, or a combination thereof. These may be configured by a single chip, or may be configured by a plurality of chips connected via a bus. Some or all of the constituent elements of each device may be realized by a combination of the above-described circuits and the like and a program.

(第1の実施形態)
続いて、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態における制御装置、ストレージ装置及びストレージシステムの構成を示す図である。図2は、発明の第1の実施形態におけるストレージシステムが複数の制御装置又はストレージ装置を有する場合の構成を示す例である。図3は、本発明の第1の実施形態におけるストレージシステムにおけるデータの書込みの基本的な動作の一例を示す図である。図4は、本発明の第1の実施形態におけるストレージシステムにおけるデータの読出しの基本的な動作の一例を示す図である。図5は、本発明の第1の実施形態におけるストレージシステムにバックアップデータが格納される場合の基本的な動作の一例を示す図である。図6は、本発明の第1の実施形態におけるストレージシステムにおけるデータの書込みの動作例を示す図である。図7は、本発明の第1の実施形態におけるストレージシステムにおけるデータの読出しの動作例を示す図である。図8は、本発明の第1の実施形態におけるストレージシステムにバックアップデータが格納される場合の動作例を示す図である。図9は、本発明の第1の実施形態におけるストレージシステム等の書込みに関する動作の一例を示すフローチャートである。図10は、本発明の第1の実施形態におけるストレージシステム等の読出しに関する動作の一例を示すフローチャートである。図11は、本発明の実施形態における制御装置等を実現する情報処理装置の一例を示す図である。
(First embodiment)
Subsequently, the first embodiment of the present invention will be described. FIG. 1 is a diagram showing configurations of a control device, a storage device, and a storage system according to the first embodiment of the present invention. FIG. 2 is an example showing a configuration when the storage system according to the first embodiment of the invention has a plurality of control devices or storage devices. FIG. 3 is a diagram showing an example of a basic operation of writing data in the storage system according to the first embodiment of the present invention. FIG. 4 is a diagram showing an example of a basic operation of reading data in the storage system according to the first embodiment of the present invention. FIG. 5 is a diagram showing an example of a basic operation when backup data is stored in the storage system according to the first embodiment of the present invention. FIG. 6 is a diagram showing an operation example of data writing in the storage system according to the first embodiment of the present invention. FIG. 7 is a diagram showing an operation example of reading data in the storage system according to the first embodiment of the present invention. FIG. 8 is a diagram showing an operation example when backup data is stored in the storage system according to the first embodiment of the present invention. FIG. 9 is a flowchart showing an example of a write operation of the storage system etc. according to the first embodiment of this invention. FIG. 10 is a flowchart showing an example of an operation related to reading of the storage system etc. according to the first embodiment of this invention. FIG. 11 is a diagram illustrating an example of an information processing device that realizes the control device and the like according to the embodiment of the present invention.

なお、本実施形態におけるストレージシステムは、一般的な重複排除機能を備えることを想定する。すなわち、ストレージに対してデータが格納される際には、書込みの対象となるデータ(以下「書込み対象データ」と称する)がチャンクと呼ばれる単位に分割される。また、チャンクに対してハッシュ値等のチャンクを識別する情報が求められる。各々のチャンクは、予め定められた大きさ(すなわち、固定長)であってもよいし、それぞれ異なる大きさ(すなわち、可変長)であってもよい。そして、ハッシュ値に基づいて、チャンクが既にストレージ装置に格納されているか否かが判定される。判定の結果として、ストレージ装置に未格納であるデータがストレージに格納される。 It is assumed that the storage system in this embodiment has a general deduplication function. That is, when data is stored in the storage, data to be written (hereinafter referred to as “write target data”) is divided into units called chunks. In addition, information for identifying a chunk such as a hash value is required for the chunk. Each chunk may have a predetermined size (that is, a fixed length) or a different size (that is, a variable length). Then, it is determined whether the chunk is already stored in the storage device based on the hash value. As a result of the determination, the data that has not been stored in the storage device is stored in the storage.

まず、本発明の第1の実施形態におけるストレージステムの概要について説明する。 First, an outline of the storage system according to the first embodiment of this invention will be described.

本実施形態におけるストレージシステムは、一般的な重複排除機能を備える。また、ストレージシステムは、制御装置を備えたサーバと、ストレージ装置とを有する。制御装置には、ローカルの記憶部として、ストレージ装置と比較して高速にアクセスが可能な記憶部が用意されている。 The storage system in this embodiment has a general deduplication function. The storage system also includes a server having a control device and a storage device. The control device is provided with a storage unit that can be accessed at a higher speed than a storage device as a local storage unit.

図3及び4は、一般的な重複排除機能を備えたストレージシステムの制御装置に、記憶部が設けられた場合におけるデータの書込み又は読出しの処理をそれぞれ示す図である。図3に示す例では、ストレージシステムは、本実施形態におけるストレージシステムと同様に、制御装置を備えたサーバと、ストレージ装置とを有することを想定する。 3 and 4 are diagrams respectively showing a data writing or reading process when a storage unit is provided in a control device of a storage system having a general deduplication function. In the example shown in FIG. 3, it is assumed that the storage system includes a server including a control device and a storage device, as in the storage system according to this embodiment.

上述したように、一般的な重複排除機能を備えたストレージシステムに対してデータが書込まれる際には、書込み対象データがチャンクと呼ばれる単位に分割される。図3又は4に示す例では、書込み対象データは、チャンクAからチャンクEまでの5つのチャンクに分割される。図3に示す例では、チャンクA、C及びDの3つのチャンクが予めストレージ装置に格納済であると想定されている。また、チャンクA及びCが予めローカルの記憶部に格納されていると想定されている。この場合には、動作の一例として、ストレージ装置に未格納であるチャンクB及びEの2つのチャンクが、サーバからストレージ装置への転送と併せてローカルの記憶部に格納される。 As described above, when data is written to a storage system having a general deduplication function, write target data is divided into units called chunks. In the example shown in FIG. 3 or 4, the write target data is divided into five chunks from chunk A to chunk E. In the example shown in FIG. 3, it is assumed that three chunks A, C, and D have been stored in the storage device in advance. Also, it is assumed that chunks A and C are stored in advance in a local storage unit. In this case, as an example of the operation, two chunks B and E that have not been stored in the storage device are stored in the local storage unit together with the transfer from the server to the storage device.

本実施形態におけるストレージシステムからデータが読出される際には、ローカルの記憶部に格納されたチャンクが用いられる。すなわち、制御装置においては、読出しの対象となるチャンクのハッシュ値がストレージ装置に照会される。続いて、ハッシュ値を用いて、当該チャンクがローカルの記憶部に存在するかが確認される。その結果、読出しの対象となるチャンクがローカルの記憶部に格納されていると確認された場合には、当該チャンクはローカルの記憶部から読出される。 When data is read from the storage system in this embodiment, chunks stored in the local storage unit are used. That is, in the control device, the storage device is queried for the hash value of the chunk to be read. Subsequently, the hash value is used to confirm whether the chunk exists in the local storage unit. As a result, when it is confirmed that the chunk to be read is stored in the local storage unit, the chunk is read from the local storage unit.

図4に示す例では、チャンクA、B,C及びEの4つのチャンクがサーバに設けられたローカルの記憶部に格納済であると想定されている。そして、読出し対象データは、チャンクAからEまでの5つのチャンクにて構成される。この場合には、読出し対象データの構築に際して、チャンクA、B,C及びEは、ローカルの記憶部から読出される。ストレージ装置からは、チャンクDが転送される。すなわち、本実施形態におけるストレージシステムでは、一般的な重複排除機能を備えたストレージシステムと比較して、データの読出しに際してストレージ装置から転送されるデータの量が削減される。 In the example shown in FIG. 4, it is assumed that the four chunks A, B, C, and E have already been stored in the local storage unit provided in the server. Then, the read target data is composed of five chunks A to E. In this case, the chunks A, B, C and E are read from the local storage unit when the read target data is constructed. The chunk D is transferred from the storage device. That is, in the storage system according to this embodiment, the amount of data transferred from the storage device at the time of reading data is reduced as compared with a storage system having a general deduplication function.

すなわち、制御装置が記憶部を備えることで、本実施形態におけるストレージシステムは、データの読出し処理が効率化される。 That is, since the control device includes the storage unit, the storage system according to the present embodiment makes the data reading process efficient.

しかしながら、制御装置を実現するサーバに対して用意されている記憶部の容量は、ストレージ装置の記憶容量と比較して小さい場合がある。記憶部に空き容量がない場合には、新たなチャンクの格納に際して、記憶部に予め格納されたチャンクが削除される場合がある。そして、記憶部に予め格納されたチャンクの削除に際しては、削除されるチャンクの決定方法に更なる改善の余地があると考えられる。 However, the capacity of the storage unit prepared for the server that realizes the control device may be smaller than the storage capacity of the storage device. If there is no free space in the storage unit, the chunk previously stored in the storage unit may be deleted when a new chunk is stored. Then, when deleting the chunks stored in advance in the storage unit, it is considered that there is room for further improvement in the method of determining the chunks to be deleted.

図5は、ストレージ装置にデータが繰り返して書き込まれる場合に、サーバに対して用意された記憶部に格納されるチャンクの例を示す。図5に示す例では、繰り返し書き込まれるデータは、バックアップデータとなる。この例では、初回の書込みでは、いわゆるフルバックアップが行われる。すなわち、バックアップ対象となるデータの全てが書込まれる。その後の書込みでは、いわゆる増分バックアップが行われる。すなわち、バックアップ対象となるデータのうち、内容が追加又は変更されたデータのみがバックアップデータとして書込まれる。また、記憶部は、6つのチャンクを格納することが可能であり、空き容量がない場合には、最も前の時期に格納された(言い換えると、最も古い)チャンクから順に削除されることが想定される
図5に示す例では、初回のフルアップバックにおいては、書込み対象データは、例えばチャンクAからEの5つに分割される。5つのチャンクは、ストレージ装置及び制御装置に用意された記憶部に格納される。
FIG. 5 shows an example of chunks stored in the storage unit prepared for the server when data is repeatedly written to the storage device. In the example shown in FIG. 5, the repeatedly written data becomes backup data. In this example, a so-called full backup is performed at the first writing. That is, all the data to be backed up are written. In the subsequent writing, so-called incremental backup is performed. That is, of the data to be backed up, only the data whose contents have been added or changed is written as backup data. In addition, the storage unit can store six chunks, and if there is no free space, it is assumed that the chunks stored in the earliest period (in other words, the oldest) are deleted in order. In the example shown in FIG. 5, in the first full-up backup, the write target data is divided into, for example, five chunks A to E. The five chunks are stored in the storage unit prepared in the storage device and the control device.

続いて、増分バックアップの際には、内容の追加又は変更に応じて、例えばフルバックアップにおけるデータのチャンクDに相当する箇所が更新される。
1回目の増分バックアップの際には、チャンクDに相当する箇所のチャンクがチャンクFに更新される。チャンクFはサーバに用意された記憶部に格納される。この場合に、記憶部には空きがあるため、チャンクFは他のチャンクの削除を伴わずに記憶部に格納される。
Subsequently, during the incremental backup, for example, a portion corresponding to the chunk D of data in the full backup is updated according to the addition or change of the contents.
At the time of the first incremental backup, the chunk at the location corresponding to chunk D is updated to chunk F. The chunk F is stored in the storage unit prepared in the server. In this case, since there is a vacancy in the storage unit, the chunk F is stored in the storage unit without deleting other chunks.

2回目の増分バックアップの際には、チャンクFに相当する箇所のチャンクがチャンクGに更新される。チャンクGはサーバに用意された記憶部140に格納される。しかし、記憶部140には空き容量がないため、チャンクGの記憶部140への格納に伴って、記憶部140に格納されたチャンクの1つが削除される。図5に示す例では、最も前の時期に格納されたチャンクの1つであるチャンクAが削除される。 At the time of the second incremental backup, the chunk at the location corresponding to chunk F is updated to chunk G. The chunk G is stored in the storage unit 140 prepared in the server. However, since there is no free space in the storage unit 140, one of the chunks stored in the storage unit 140 is deleted when the chunk G is stored in the storage unit 140. In the example shown in FIG. 5, chunk A, which is one of the chunks stored in the earliest period, is deleted.

同様に、3回目以降の増分バックアップの際には、元のチャンクDに相当する箇所のチャンクが順次更新される。更新されたチャンクは、チャンクF又はGと同様に記憶部140に格納される。そして、更新されたチャンクの格納に伴って、記憶部140に格納されていたチャンクが上述の順で削除される。図5に示す例では、フルバックアップの際に格納されたチャンクが順次削除される。6回目の増分バックアップが行われた後には、記憶部にはチャンクF、G、H、I、J及びKの6つのチャンクが格納される。 Similarly, in the third and subsequent incremental backups, the chunks at the locations corresponding to the original chunk D are sequentially updated. The updated chunk is stored in the storage unit 140 similarly to the chunk F or G. Then, as the updated chunk is stored, the chunks stored in the storage unit 140 are deleted in the order described above. In the example shown in FIG. 5, the chunks stored in the full backup are sequentially deleted. After the sixth incremental backup is performed, the storage unit stores six chunks F, G, H, I, J, and K.

6回の増分バックアップが行われた後に、バックアップデータのリストアが行われる場合を想定する。図6は、リストアが行われる場合のチャンクの読出し手順の一例を示す。図5及び6に示す例では、バックアップデータは、チャンクA、B、C、K及びEの5つのチャンクにて構成される。したがって、記憶部に格納されるチャンクのうち、リストアに用いられるチャンクはチャンクKの一つである。したがって、チャンクA、B、C及びEがストレージ装置から読出され、チャンクKが記憶部から読出されることで、バックアップデータが構築される。 It is assumed that the backup data is restored after six incremental backups have been performed. FIG. 6 shows an example of a chunk reading procedure when restoration is performed. In the example shown in FIGS. 5 and 6, the backup data is composed of five chunks A, B, C, K and E. Therefore, among the chunks stored in the storage unit, the chunk used for restoration is one of the chunks K. Therefore, the chunks A, B, C, and E are read from the storage device, and the chunk K is read from the storage unit, whereby backup data is constructed.

図5又は6に示す例では、記憶部に格納されたチャンクの1つが用いられることで、ストレージ装置から転送されるデータの量は削減される。すなわち、データの読出し処理は効率化される。しかしながら、記憶部に格納されたチャンクのうち、チャンクFからJは、上述したバックアップデータのリストアには用いられないチャンクである。すなわち、記憶部から削除されるチャンクの選択を変更することで、データの読出し処理の更なる効率化が可能であると考えられる。図5又は6に示す例では、チャンクA、B、C,Eが記憶部に格納されていれば、ストレージ装置からこれらを読出すことなくバックアップデータのリストアが可能である。 In the example shown in FIG. 5 or 6, the amount of data transferred from the storage device is reduced by using one of the chunks stored in the storage unit. That is, the data reading process is made efficient. However, among the chunks stored in the storage unit, the chunks F to J are chunks that are not used for restoring the backup data described above. That is, it is considered that the efficiency of the data reading process can be further improved by changing the selection of the chunk deleted from the storage unit. In the example shown in FIG. 5 or 6, if the chunks A, B, C, and E are stored in the storage unit, the backup data can be restored without reading them from the storage device.

そこで、本実施形態におけるストレージシステムでは、サーバ等に設けられる制御装置が記憶部を備え、更に、記憶部1に格納されるチャンクの各々に対して優先度を付与する。すなわち、記憶部に空き容量がない場合には、高い優先度が付与されたチャンクが記憶部に残り、低い優先度が付与されたチャンクが記憶部から削除されるように制御される。 Therefore, in the storage system according to the present embodiment, the control device provided in the server or the like includes a storage unit, and further gives priority to each of the chunks stored in the storage unit 1. That is, when there is no free space in the storage unit, chunks with high priority remain in the storage unit, and chunks with low priority are deleted from the storage unit.

図7は、図5に示す例と同様に、ストレージ装置にデータが繰り返して書き込まれる場合において、サーバに対して用意された記憶部に格納されるチャンクの例を示す。図5に示す例と同様に、繰り返し書き込まれるデータはバックアップデータであることを想定する。また、図5に示す例と同様に、初回の書込みではフルバックアップが行われ、以降の書込みでは増分バックアップが行われるとする。また、フルバックアップの際に記憶部140に格納されるチャンクには他と比較して高い優先度が設定され、増分バックアップの際に記憶部140に格納されるチャンクには他と比較して低い優先度が設定されるとする。 Similar to the example shown in FIG. 5, FIG. 7 shows an example of chunks stored in the storage unit prepared for the server when data is repeatedly written to the storage device. Similar to the example shown in FIG. 5, it is assumed that the repeatedly written data is backup data. Further, similarly to the example shown in FIG. 5, it is assumed that full backup is performed in the first writing and incremental backup is performed in the subsequent writing. In addition, the chunk stored in the storage unit 140 at the time of full backup is set with a higher priority than other chunks, and the chunk stored in the storage unit 140 at the time of incremental backup is lower than other chunks. Suppose a priority is set.

図7に示す例において、フルバックアップ及び増分バックアップの1回目においては、記憶部に格納されるチャンクは図5と同じである。この場合に、記憶部に格納されたチャンクのうち、チャンクA、B、C、D及びEには他と比較して高い優先度が付与され、チャンクFには他と比較して低い優先度が付与される。 In the example shown in FIG. 7, the chunks stored in the storage unit are the same as those in FIG. 5 at the first time of the full backup and the incremental backup. In this case, among the chunks stored in the storage unit, the chunks A, B, C, D, and E are given a higher priority than others, and the chunk F is given a lower priority than others. Is given.

増分バックアップの2回目には、チャンクGが記憶部に格納される。しかし、記憶部に空き容量がないため、記憶部に格納されているチャンクのいずれかが削除される。この場合には、優先度に従って削除されるチャンクが決定される。 At the second time of the incremental backup, the chunk G is stored in the storage unit. However, since there is no free space in the storage unit, one of the chunks stored in the storage unit is deleted. In this case, the chunk to be deleted is determined according to the priority.

図7に示す例では、上述のように、1回目の増分バックアップにて格納されたチャンクFに対して低い優先度が付与されている。したがって、2回目の増分バックアップの際には、チャンクFが削除されてチャンクGがサーバに用意された記憶部に格納される。 In the example shown in FIG. 7, a low priority is given to the chunk F stored in the first incremental backup, as described above. Therefore, at the time of the second incremental backup, the chunk F is deleted and the chunk G is stored in the storage unit prepared in the server.

以降の増分バックアップに伴って書込みが行われる場合においても、同様に増分バックアップの際に格納されたチャンクには、低い優先度が付与される。したがって、記憶部へのチャンクが格納される場合際には、削除されて新たなチャンクが格納される。 Even when writing is performed with the subsequent incremental backup, a low priority is similarly given to the chunk stored during the incremental backup. Therefore, when a chunk is stored in the storage unit, it is deleted and a new chunk is stored.

図7に示す例においても、6回の増分バックアップが行われた後に、バックアップデータのリストアが行われる場合を想定する。図8は、図7に示す例にてリストアが行われる場合のチャンクの読出し手順の一例を示す。図7及び8に示す例では、バックアップデータは、チャンクA、B、C、K及びEの5つのチャンクにて構成される。これらのチャンクは、いずれも記憶部に格納されている。したがって、記憶部に格納されるチャンクのみを用いてバックアップデータの構築が行われる。すなわち、図7及び8に示す例では、ストレージ装置から制御装置を備えたサーバへデータを転送することなくバックアップデータが構築される。 Also in the example shown in FIG. 7, it is assumed that backup data is restored after six incremental backups have been performed. FIG. 8 shows an example of a chunk reading procedure when the restoration is performed in the example shown in FIG. In the example shown in FIGS. 7 and 8, the backup data is composed of five chunks A, B, C, K and E. All of these chunks are stored in the storage unit. Therefore, the backup data is constructed using only the chunks stored in the storage unit. That is, in the examples shown in FIGS. 7 and 8, the backup data is constructed without transferring the data from the storage device to the server equipped with the control device.

上述した概略のように、記憶部140に格納されるチャンクに優先度が付与されることで、本実施形態におけるストレージシステムは、データの読出し処理の更なる効率化を可能とする。 As described above, by giving priority to the chunks stored in the storage unit 140, the storage system according to this embodiment can further improve the efficiency of data read processing.

次に、本発明の第1の実施形態におけるストレージシステムの構成の概要を説明する。 Next, an outline of the configuration of the storage system according to the first embodiment of this invention will be described.

図1に示すとおり、本発明の第1の実施形態におけるストレージシステム10は、制御装置11及びストレージ装置12を有する。制御装置11は、少なくとも、図中の一点鎖線で囲われた領域に含まれている、格納制御部110と、判定部120と、読出制御部130とを備える。また、制御装置11は、記憶部140及びハッシュテーブル150を備える。本実施形態においては、制御装置11は、この他に、重複排除機能を備えたストレージ装置へアクセスする一般的なサーバと同様に分割部160及び算出部170を備えることを想定する。 As shown in FIG. 1, the storage system 10 according to the first exemplary embodiment of the present invention includes a control device 11 and a storage device 12. The control device 11 includes at least a storage control unit 110, a determination unit 120, and a read control unit 130, which are included in a region surrounded by a dashed line in the drawing. The control device 11 also includes a storage unit 140 and a hash table 150. In the present embodiment, it is assumed that the control device 11 further includes a dividing unit 160 and a calculating unit 170, similar to a general server that accesses a storage device having a deduplication function.

格納制御部110は、ストレージ装置12への書込み対象データに関するチャンクに優先度を付して記憶部140に格納するよう制御する。また、格納制御部110は、ストレージ装置12への書込み対象データに関するチャンクをストレージ装置12に格納するよう制御する。本実施形態において、チャンクは、ストレージ装置12への書込み対象データが任意の数に分割された場合のデータの単位を示す。判定部120は、ストレージ装置12から送信されるハッシュ値等の識別情報に基づいて、読出しの対象となるデータ(以下、「読出し対象データ」と称する)に関するチャンクが記憶部140に格納されているかを判定する。読出制御部130は、判定部120による判定結果に基づいて、記憶部150及びストレージ装置12に格納されたチャンクを用いて読出し対象データを構築する。記憶部140は、分割部160にて分割されたチャンクを格納する。記憶部140は、以下の説明にて「ローカルの記憶部」と称される場合がある。ハッシュテーブル150は、記憶部140に格納されたチャンクに対するハッシュ値を格納する。分割部160は、ストレージ装置12への書込み対象データを任意の数のチャンクに分割する。算出部170は、分割部160にて生成されたチャンクの各々について、ハッシュ値を算出する。なお、本実施形態においては、ハッシュ値は、チャンクの各々を区別する識別情報として用いられる。 The storage control unit 110 controls the chunks relating to the data to be written to the storage device 12 to be given priority and stored in the storage unit 140. The storage control unit 110 also controls the storage device 12 to store a chunk related to data to be written to the storage device 12. In the present embodiment, the chunk indicates a unit of data when the write target data to the storage device 12 is divided into an arbitrary number. Based on the identification information such as the hash value transmitted from the storage device 12, the determination unit 120 stores in the storage unit 140 a chunk related to the data to be read (hereinafter referred to as “read target data”). To judge. The read control unit 130 builds the read target data using the chunks stored in the storage unit 150 and the storage device 12, based on the determination result by the determination unit 120. The storage unit 140 stores the chunks divided by the dividing unit 160. The storage unit 140 may be referred to as a “local storage unit” in the following description. The hash table 150 stores hash values for the chunks stored in the storage unit 140. The dividing unit 160 divides the data to be written in the storage device 12 into an arbitrary number of chunks. The calculator 170 calculates a hash value for each of the chunks generated by the divider 160. In the present embodiment, the hash value is used as identification information that distinguishes each chunk.

ストレージ装置12は、記憶部210と、ハッシュテーブル220と、格納部230と、返信部240と、転送部250と、重複判定部260とを備える。記憶部210は、チャンクに分割されたデータを格納する。ハッシュテーブル220は、記憶部210に格納されたチャンクに対するハッシュ値を格納する。重複判定部260は、制御装置11の算出部170にて算出されたハッシュ値に基づいて、当該ハッシュ値に関するチャンクが記憶部210に格納されているか否かを判定する。格納部230は、制御装置11の格納制御部110から送られたチャンクを記憶部210に格納する。返信部240は、制御装置11の要求に基づいて、読出し対象データに関するチャンクを識別するハッシュ値を制御装置11の判定部120に送信する。転送部250は、読出し対象データに関するチャンクのうち、制御装置11の記憶部140に未格納であるチャンクを記憶部210から取得して制御装置11に送信するよう制御する。 The storage device 12 includes a storage unit 210, a hash table 220, a storage unit 230, a reply unit 240, a transfer unit 250, and a duplication determination unit 260. The storage unit 210 stores data divided into chunks. The hash table 220 stores hash values for the chunks stored in the storage unit 210. The duplication determination unit 260 determines, based on the hash value calculated by the calculation unit 170 of the control device 11, whether or not a chunk related to the hash value is stored in the storage unit 210. The storage unit 230 stores the chunk sent from the storage control unit 110 of the control device 11 in the storage unit 210. Based on the request from the control device 11, the reply unit 240 sends the hash value that identifies the chunk related to the read target data to the determination unit 120 of the control device 11. The transfer unit 250 performs control to acquire, from the storage unit 210, a chunk that is not stored in the storage unit 140 of the control device 11 among the chunks related to the read target data, and transmits the chunk to the control device 11.

本実施形態においては、制御装置11は、ストレージ装置12に対してデータの書込みや読出しを行うサーバ等に設けられる。すなわち、制御装置100は、図11に示す情報処理装置500等であるサーバにおいて動作するプログラムとして実現される。この場合に、サーバは、例えば上述した図8に示す情報処理装置500のような構成を備える。ただし、制御装置100は、他の態様にて実現されてもよい。 In this embodiment, the control device 11 is provided in a server or the like that writes and reads data to and from the storage device 12. That is, the control device 100 is realized as a program that operates in a server such as the information processing device 500 shown in FIG. 11. In this case, the server has a configuration such as the information processing apparatus 500 shown in FIG. 8 described above, for example. However, the control device 100 may be realized in other modes.

また、本実施形態においては、ストレージシステム10は、例えばデータのバックアップを行うストレージである。すなわち、制御装置11が設けられたサーバは、例えばデータのバックアップを行うバックアップサーバである。また、ストレージ装置12は、例えばバックアップストレージである。ただし、本実施形態におけるストレージシステム10は、例えばファイルサーバ等の他の用途に用いられてもよい。 Further, in this embodiment, the storage system 10 is a storage that backs up data, for example. That is, the server provided with the control device 11 is, for example, a backup server that backs up data. The storage device 12 is, for example, a backup storage. However, the storage system 10 in this embodiment may be used for other purposes such as a file server, for example.

なお、図1に示すストレージシステム10は、それぞれ1つの制御装置11及びストレージ装置12を有する。しかしながら、制御装置11又はストレージ装置12の数は特に限定されない。すなわち、図2に示す例のように、ストレージシステム10は、制御装置11−1から11−N及びストレージ装置12−1から12−Nを有してもよい。この場合に、制御装置11−1から11−Nの各々は、ストレージ装置12−1から12−Nのいずれをデータの書込みや読出しの対象としてもよい。 The storage system 10 shown in FIG. 1 has one control device 11 and one storage device 12, respectively. However, the number of control devices 11 or storage devices 12 is not particularly limited. That is, as in the example shown in FIG. 2, the storage system 10 may include the control devices 11-1 to 11-N and the storage devices 12-1 to 12-N. In this case, each of the control devices 11-1 to 11-N may target any of the storage devices 12-1 to 12-N to write or read data.

次に、本発明の第1の実施形態におけるストレージシステム10の各構成要素の詳細について説明する。最初に、ストレージシステム10が有する制御装置11の各構成要素の詳細について説明する。 Next, details of each component of the storage system 10 according to the first embodiment of the present invention will be described. First, details of each component of the control device 11 included in the storage system 10 will be described.

格納制御部110は、チャンクをローカルの記憶部である記憶部140又はストレージ装置12に格納するよう制御する。格納制御部110は、ストレージ装置12の重複判定部260によって記憶部210に未格納であると判定されたチャンクを、記憶部210に格納するよう制御する。この制御は、一般的な重複排除機能を備えたストレージ装置へアクセスする一般的なサーバにおける制御と同様である。併せて、格納制御部110は、ストレージ装置12への書込み対象データに関するチャンクを、記憶部140に格納する。先に概要として説明したように、記憶部140に格納されたチャンクは、当該チャンクに関連するデータが読出し対象データとされた場合に用いられる。 The storage control unit 110 controls to store the chunk in the storage unit 140 or the storage device 12 which is a local storage unit. The storage control unit 110 controls to store, in the storage unit 210, chunks that are determined by the duplication determination unit 260 of the storage device 12 to be unstored in the storage unit 210. This control is similar to the control in a general server that accesses a storage device having a general deduplication function. At the same time, the storage control unit 110 stores the chunk related to the data to be written in the storage device 12 in the storage unit 140. As described above as an outline, the chunk stored in the storage unit 140 is used when the data related to the chunk is set as the read target data.

格納制御部110が記憶部140に格納するデータは特に限定されず、ストレージ装置12への書込み対象データに関するチャンクであればよい。すなわち、格納制御部110は、ストレージ装置12の重複判定部260が記憶部210に未格納であると判定したチャンクを記憶部140に格納してもよい。又は、格納制御部110は、チャンクが記憶部210に格納済であると重複判定部260に判定された場合であっても、当該チャンクが記憶部140に未格納である場合には、当該チャンクを記憶部140に格納してもよい。 The data stored in the storage unit 140 by the storage control unit 110 is not particularly limited, and may be any chunk related to the data to be written in the storage device 12. That is, the storage control unit 110 may store, in the storage unit 140, chunks that the duplication determination unit 260 of the storage device 12 has determined to be unstored in the storage unit 210. Alternatively, even if the duplication determination unit 260 determines that the chunk is already stored in the storage unit 210, the storage control unit 110 does not store the chunk if the chunk is not stored in the storage unit 140. May be stored in the storage unit 140.

チャンクが記憶部140へ格納される際には、記憶部140の構成等に応じた時間を要する。しかしながら、一般的に、その時間は、チャンクがストレージ装置12の記憶部210へ格納される場合に要する時間と比較すると短い。したがって、格納制御部110は、記憶部210に未格納であるチャンクを記憶部140に格納することで、記憶部140への格納に要する時間が実質的に隠蔽される。 When the chunk is stored in the storage unit 140, it takes time according to the configuration of the storage unit 140 and the like. However, generally, the time is shorter than the time required when the chunk is stored in the storage unit 210 of the storage device 12. Therefore, the storage control unit 110 stores the chunks that have not been stored in the storage unit 210 in the storage unit 140, so that the time required for storage in the storage unit 140 is substantially hidden.

また、格納制御部110は、チャンクの各々に付された優先度に基づいて、記憶部140に格納されるチャンクの管理を行う。 The storage control unit 110 also manages the chunks stored in the storage unit 140 based on the priority assigned to each chunk.

例えば、格納制御部110がチャンクを格納する場合に、記憶部140にチャンクを格納する空き容量がない場合がある。この場合には、格納制御部110は、記憶部140に格納されたチャンクの一部を削除して、新たなチャンクを格納する領域を確保する。格納制御部110は、記憶部140に格納されたチャンクの各々に対して付与された優先度に基づいて、削除するチャンクを決定する。この場合に、格納制御部110は、相対的に高い優先度が付与されたチャンクを削除せずに記憶部140に残し、相対的に低い優先度が付与されたチャンクを記憶部140から削除するように記憶部140を管理する。 For example, when the storage control unit 110 stores a chunk, the storage unit 140 may have no free space to store the chunk. In this case, the storage control unit 110 deletes a part of the chunk stored in the storage unit 140 and secures an area for storing a new chunk. The storage control unit 110 determines a chunk to be deleted based on the priority given to each of the chunks stored in the storage unit 140. In this case, the storage control unit 110 does not delete the chunk to which the relatively high priority is given, and leaves it in the storage unit 140, and deletes the chunk to which the relatively low priority is given from the storage unit 140. The storage unit 140 is managed as described above.

格納制御部110によってチャンクに付与される優先度の高さは、様々な方法で決定される。一例として、格納制御部110は、記憶部140に格納するチャンクの元となる書き込み対象データの種類に応じて優先度の高さを決定する。 The degree of priority given to the chunk by the storage control unit 110 is determined by various methods. As an example, the storage control unit 110 determines the priority level according to the type of write target data that is the source of the chunk stored in the storage unit 140.

上述のように、例えば書き込み対象データがバックアップデータである場合には、格納制御部110は、フルバックアップに関するチャンクであるか、又は増分バックアップに関するチャンクであるかに応じて優先度の高さを決定する。すなわち、格納制御部110は、フルバックアップに関するチャンクに対して相対的に高い優先度を、増分バックアップに関するチャンクに対して相対的に低い優先度を付与する。増分バックアップに関するデータのチャンクは、フルバックアップに関するデータのチャンクと比較して、短い期間で必要性が低下する場合が多い。したがって、格納制御部110がこのような優先度を付与することで、データの読出し処理の効率化が可能となる。 As described above, for example, when the write target data is backup data, the storage control unit 110 determines the priority level according to whether it is a chunk for full backup or a chunk for incremental backup. To do. That is, the storage control unit 110 gives a relatively high priority to a chunk related to a full backup and a relatively low priority to a chunk related to an incremental backup. Chunks of data for incremental backups are often less needed in a shorter period of time than chunks of data for full backups. Therefore, when the storage control unit 110 gives such a priority, the efficiency of data read processing can be improved.

格納制御部110は、記憶部140に格納されるチャンクの元となる書き込み対象データの種類等に基づいて、読み出される可能性が高いと予想されるチャンクに他と比較して高い優先度を付与してもよい。 The storage control unit 110 assigns a higher priority to a chunk that is expected to be read out than other chunks, based on the type of write target data that is the source of the chunk stored in the storage unit 140. You may.

別の方法として、格納制御部110は、ストレージ装置12の重複判定部260における判定の結果に基づいて、優先度の高さを決定してもよい。
この場合には、格納制御部110は、例えば、未格納であると判定されて新たに記憶部140に格納されるチャンクには相対的に低い優先度を付与する。そして、重複判定部260によってストレージ装置12に格納済であると判定されたチャンクが記憶部140に格納されている場合には、当該チャンクの優先度を相対的に高くするように更新する。格納制御部110がこのような優先度を付与することで、例えば読出される可能性がデータに関して読出し処理の効率化が可能となる。
As another method, the storage control unit 110 may determine the priority level based on the result of the determination by the duplication determination unit 260 of the storage device 12.
In this case, the storage control unit 110 gives a relatively low priority to, for example, a chunk that is determined to be unstored and is newly stored in the storage unit 140. Then, when the chunk determined to be already stored in the storage device 12 by the duplication determination unit 260 is stored in the storage unit 140, the priority of the chunk is updated to be relatively high. When the storage control unit 110 assigns such a priority, it is possible to improve the efficiency of the read process regarding data that may be read.

なお、この場合には、チャンクの各々に付与される優先度の高さは、上述した例と逆であってもよい。例えば、格納制御部110は、未格納であると判定され、新たに記憶部140に格納されるチャンクには相対的に低い優先度を付与してもよい。 In this case, the high priority given to each chunk may be opposite to that in the above-described example. For example, the storage control unit 110 may give a relatively low priority to a chunk that is determined to be unstored and is newly stored in the storage unit 140.

格納制御部110は、格納からの時間等に応じて、記憶部140に格納されているチャンクの優先度を変化させてもよい。例えば、格納制御部110は、記憶部140への書込み時に設定した優先度を予め定めた期間毎等に減少させるように、記憶部140に格納されているチャンクの優先度を更新してもよい。 The storage control unit 110 may change the priority of the chunk stored in the storage unit 140 according to the time from storage and the like. For example, the storage control unit 110 may update the priority of the chunks stored in the storage unit 140 so that the priority set when writing to the storage unit 140 is decreased every predetermined period or the like. ..

この他に、格納制御部110は、上述した手法を組み合わせて、チャンクに付与する優先度の高さを決定してもよい。例えば、格納制御部110は、チャンク毎に優先度を変えて付与し、かつ、格納からの時間に応じて、付与した優先度を更新してもよい。 In addition to this, the storage control unit 110 may determine the high priority given to the chunk by combining the methods described above. For example, the storage control unit 110 may change the priority for each chunk and give it, and update the given priority according to the time from storage.

この例では、データがバックアップデータである場合には、格納制御部110は、フルバックアップに関するチャンクに「8」との優先度を、増分バックアップに関するチャンクに「1」との優先度を付与して記憶部140に格納する。そして、格納制御部110は、各々のチャンクに付与された優先度を一日に1ずつ減ずるように更新する。 In this example, when the data is backup data, the storage control unit 110 assigns a priority of “8” to a chunk related to full backup and a priority of “1” to a chunk related to incremental backup. It is stored in the storage unit 140. Then, the storage control unit 110 updates the priority given to each chunk so as to be decreased by one per day.

この例において、フルバックアップが週に一度実行される場合には、バックアップデータのリストアの実行の際には、直近のフルバックアップ又は増分バックアップに関するチャンクが優先して記憶部140に格納された状態となる。これは、直近の一つ前に実行されたフルバックアップに関するチャンクの優先度は、直近のフルバックアップに対する増分バックアップに関するチャンクの優先度と比較して小さくなるためである。 In this example, when the full backup is executed once a week, when the backup data is restored, the chunk related to the latest full backup or the incremental backup is stored in the storage unit 140 with priority. Become. This is because the priority of the chunk for the latest full backup executed immediately before is smaller than the priority of the chunk for the incremental backup for the latest full backup.

したがって、記憶部140に格納されたチャンクが用いたリストアが可能となり、結果としてデータの読出し処理が効率化される。 Therefore, it becomes possible to restore using the chunk stored in the storage unit 140, and as a result, the data reading process becomes efficient.

なお、格納制御部110は、記憶部140の空き容量がない場合に限らず、当該空き容量が予め定めた大きさになる等、記憶部140の空き容量が予め定めた条件を満たす場合に記憶部140に格納されたチャンクを削除してもよい。 It should be noted that the storage control unit 110 is not limited to the case where there is no free space in the storage unit 140, and is stored when the free space in the storage unit 140 satisfies a predetermined condition, such as the free space having a predetermined size. The chunk stored in the unit 140 may be deleted.

また、格納制御部110は、記憶部140へチャンクを格納する際に、併せてチャンクに対応するハッシュ値をハッシュテーブル150へ格納する。本実施形態においては、ストレージシステム10におけるハッシュ値の求め方や形式は特に限定されない。すなわち、ハッシュ値は、記憶部140又は210に格納されるチャンクの各々を識別可能にする情報であればよい。 Further, when storing the chunk in the storage unit 140, the storage control unit 110 also stores the hash value corresponding to the chunk in the hash table 150. In the present embodiment, the method of calculating the hash value and the format in the storage system 10 are not particularly limited. That is, the hash value may be any information that allows each chunk stored in the storage unit 140 or 210 to be identified.

判定部120は、読出し対象データに関するチャンクが記憶部140に格納されているかを判定する。判定部120は、ストレージ装置12から送信されるハッシュ値に基づいて、チャンクが記憶部140に格納されているかを判定する。 The determination unit 120 determines whether the chunk related to the read target data is stored in the storage unit 140. The determination unit 120 determines whether the chunk is stored in the storage unit 140 based on the hash value transmitted from the storage device 12.

判定部120は、ストレージ装置12に対して、読出し対象データに関するハッシュ値を照会する。この場合には、ストレージ装置12が備える返信部240が、読出し対象データを構成するチャンクの各々に対するハッシュ値を判定部120に返信する。判定部120は、返信部240から返信されたハッシュ値と、制御装置11が備えるハッシュテーブル150に保存されているハッシュ値の各々とを比較することで、チャンクが記憶部140に格納されているかを判定する。すなわち、判定部120は、ハッシュテーブル150に保存されているハッシュ値のいずれかが返信部240から返信されたハッシュ値と一致する場合に、当該ハッシュ値に関連するチャンクが記憶部140に格納されていると判定する。 The determination unit 120 inquires of the storage device 12 about the hash value regarding the read target data. In this case, the reply unit 240 included in the storage device 12 returns the hash value for each of the chunks forming the read target data to the determination unit 120. Whether the chunk is stored in the storage unit 140 by comparing the hash value returned from the reply unit 240 with each of the hash values stored in the hash table 150 included in the control device 11 by the determination unit 120. To judge. That is, the determination unit 120 stores the chunk associated with the hash value in the storage unit 140 when any of the hash values stored in the hash table 150 matches the hash value returned from the reply unit 240. It is determined that

読出制御部130は、判定部120による判定結果に基づいて、読出し対象データを構築する。読出制御部130は、読出し対象データに関するチャンクが記憶部140に存在すると判定された判定部120によって場合には、チャンクを記憶部140から読出す。読出制御部130は、読出し対象データに関するチャンクが記憶部140に存在しないと判定された場合には、当該チャンクをストレージ装置12の転送部250を介して取得する。 The read control unit 130 builds the read target data based on the determination result by the determination unit 120. The read control unit 130 reads the chunk from the storage unit 140 when the determination unit 120 determines that the chunk related to the read target data exists in the storage unit 140. When it is determined that the chunk related to the data to be read does not exist in the storage unit 140, the read control unit 130 acquires the chunk via the transfer unit 250 of the storage device 12.

読出制御部130は、読出し対象データに関する全てのチャンクを取得すると、読出し対象データを構築する。構築された読出し対象データは、当該データの要求元等へ適宜送信される。 The read control unit 130 constructs the read target data when all the chunks related to the read target data are acquired. The constructed read target data is appropriately transmitted to the request source of the data or the like.

このように、読出制御部130が、読出し対象データの構築に際して記憶部140に格納されたチャンクを用いることで、ストレージ装置12から制御装置11へ転送されるデータの量が削減される。 In this way, the read control unit 130 uses the chunks stored in the storage unit 140 when constructing the read target data, so that the amount of data transferred from the storage device 12 to the control device 11 is reduced.

記憶部140は、分割部160にて分割されたチャンクを格納する。上述のように、記憶部140に格納されたチャンクは、ストレージシステム10からのデータの読出しに際して用いられる。 The storage unit 140 stores the chunks divided by the dividing unit 160. As described above, the chunk stored in the storage unit 140 is used when reading data from the storage system 10.

記憶部140は、ストレージ装置12と比較して、制御装置11の各構成要素から高速なアクセスが可能であることが好ましい。一例として、記憶部140は、制御装置11を実現するサーバが内蔵する記憶装置を用いて実現されることが好ましい。サーバが内蔵する記憶装置として、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等が用いられる。また、記憶部140は制御装置11と通信ネットワークを介して接続される態様であってもよい。例えば、記憶部140は、ストレージ装置12と比較して、帯域の広い通信ネットワークを介して接続されているNAS(Network Attached Storage)等の記憶装置であってもよい。この場合に、記憶部140は制御装置11とを接続する通信ネットワークは、制御装置11とストレージ装置12とを接続する通信ネットワークと比較して、例えば転送速度が速く、帯域が広いことが好ましい。 It is preferable that the storage unit 140 can be accessed at high speed by each component of the control device 11 as compared with the storage device 12. As an example, it is preferable that the storage unit 140 be realized by using a storage device built in a server that realizes the control device 11. As a storage device incorporated in the server, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like is used. The storage unit 140 may be connected to the control device 11 via a communication network. For example, the storage unit 140 may be a storage device such as a NAS (Network Attached Storage) connected via a communication network having a wider band than the storage device 12. In this case, it is preferable that the storage unit 140 has a higher transfer rate and a wider band in the communication network that connects the control device 11 to each other, as compared with the communication network that connects the control device 11 and the storage device 12.

記憶部140の容量は、ストレージ装置12の記憶部210と比較して小さくてよい。すなわち、記憶部140は、ストレージ装置12に格納されるチャンクの一部を格納する構成であればよい。 The capacity of the storage unit 140 may be smaller than that of the storage unit 210 of the storage device 12. That is, the storage unit 140 may be configured to store a part of the chunk stored in the storage device 12.

ハッシュテーブル150は、記憶部140に格納されたチャンクに対するハッシュ値を格納する。本実施形態においては、例えば記憶部140の一部がハッシュテーブル150として用いられる。 The hash table 150 stores hash values for the chunks stored in the storage unit 140. In the present embodiment, for example, a part of the storage unit 140 is used as the hash table 150.

分割部160及び算出部170は、重複排除機能を備えたストレージシステムが一般に備える要素である。すなわち、分割部160は、ストレージ装置12への書込み対象データを任意の数のチャンクに分割する。上述のように、分割部160は、チャンクの各々が同じ大きさとなるように分割してもよいし、チャンクの大きさがそれぞれ異なるように分割してもよい。 The division unit 160 and the calculation unit 170 are elements generally included in a storage system having a deduplication function. That is, the dividing unit 160 divides the write target data to the storage device 12 into an arbitrary number of chunks. As described above, the dividing unit 160 may divide the chunks into the same size, or may divide the chunks into different sizes.

また、算出部170は、分割部160にて生成されたチャンクの各々について、ハッシュ値を算出する。算出部170は、算出したハッシュ値をストレージ装置12へ送信して、ハッシュ値に対応するチャンクがストレージ装置12に格納済であるかを照会する。ストレージ装置12においては、当該ハッシュ値に基づいて、ハッシュ値に対応するチャンクがストレージ装置12に格納済であるかを判定する。 Further, the calculation unit 170 calculates a hash value for each of the chunks generated by the division unit 160. The calculation unit 170 transmits the calculated hash value to the storage device 12, and inquires whether the chunk corresponding to the hash value has been stored in the storage device 12. In the storage device 12, it is determined whether the chunk corresponding to the hash value has been stored in the storage device 12 based on the hash value.

続いて、ストレージシステム10が有するストレージ装置12の各構成要素の詳細について説明する。 Next, details of each component of the storage device 12 included in the storage system 10 will be described.

記憶部210は、ストレージ装置12として、チャンクに分割されたデータを格納する。記憶部210は、HDDやSSD等の不揮発性の記憶装置を用いて実現される。また、記憶部210は、RAID(Redundant Arrays of Inexpensive Disks)の構成であってもよい。 The storage unit 210, as the storage device 12, stores the data divided into chunks. The storage unit 210 is realized using a non-volatile storage device such as an HDD or SSD. Further, the storage unit 210 may have a configuration of RAID (Redundant Arrays of Inexpensive Disks).

ハッシュテーブル220は、記憶部210に格納されたチャンクの各々に対するハッシュ値を格納する。 The hash table 220 stores hash values for each of the chunks stored in the storage unit 210.

重複判定部260は、チャンクが記憶部210に格納されているか否かを判定する。重複判定部260は、一般的な重複排除機能を備えるストレージシステムと同様に、制御装置11の算出部170にて算出されたハッシュ値に基づいて、当該ハッシュ値に対応するチャンクが記憶部210に格納されているかを判定する。すなわち、重複判定部260は、制御装置11の算出部170にて算出されたハッシュ値を取得し、当該ハッシュ値とハッシュテーブル220に格納されたハッシュ値の各々とを比較する。そして、重複判定部260は、当該ハッシュ値とハッシュテーブル220に格納されたハッシュ値のいずれかと一致する場合に、当該ハッシュ値に対応するチャンクが記憶部210に格納されていると判定する。重複判定部260は、当該ハッシュ値とハッシュテーブル220に格納されたハッシュ値のいずれとも一致する場合に、当該ハッシュ値に対応するチャンクが記憶部210に格納されていないと判定する。 The duplication determination unit 260 determines whether a chunk is stored in the storage unit 210. The duplication determination unit 260, similar to a storage system having a general deduplication function, stores a chunk corresponding to the hash value in the storage unit 210 based on the hash value calculated by the calculation unit 170 of the control device 11. Determine whether it is stored. That is, the duplication determination unit 260 acquires the hash value calculated by the calculation unit 170 of the control device 11 and compares the hash value with each of the hash values stored in the hash table 220. Then, if the hash value matches any of the hash values stored in the hash table 220, the duplication determination unit 260 determines that the chunk corresponding to the hash value is stored in the storage unit 210. When the hash value matches the hash value stored in the hash table 220, the duplication determination unit 260 determines that the chunk corresponding to the hash value is not stored in the storage unit 210.

格納部230は、制御装置11の格納制御部110から送信されたチャンクを記憶部210に格納する。格納部230は、チャンクと併せて当該チャンクに対応するハッシュ値を取得してハッシュテーブル220へ格納する。 The storage unit 230 stores the chunk transmitted from the storage control unit 110 of the control device 11 in the storage unit 210. The storage unit 230 acquires the hash value corresponding to the chunk together with the chunk, and stores the hash value in the hash table 220.

返信部240は、制御装置11の判定部120からの照会に基づいて、読出し対象データに関するチャンクに対するハッシュ値を制御装置11の判定部120に送信する。判定部120は、返信部240から取得したハッシュ値を用いて、当該ハッシュ値に対するチャンクが記憶部140に格納されているかを判定する。 The reply unit 240 transmits the hash value for the chunk regarding the read target data to the determination unit 120 of the control device 11 based on the inquiry from the determination unit 120 of the control device 11. The determination unit 120 uses the hash value acquired from the reply unit 240 to determine whether a chunk for the hash value is stored in the storage unit 140.

転送部250は、読出し対象データに関するチャンクを記憶部210から取得して制御装置11に送信するよう制御する。制御装置11の読出制御部130は、読出し対象データに関するチャンクが記憶部140に存在しない場合に、ストレージ装置12からチャンクを取得する。すなわち、転送部250は、制御装置11の記憶部140に未格納であるチャンクを制御装置11に送信するよう制御する。 The transfer unit 250 controls to acquire the chunk related to the read target data from the storage unit 210 and transmit the chunk to the control device 11. The read control unit 130 of the control device 11 acquires the chunk from the storage device 12 when the chunk related to the read target data does not exist in the storage unit 140. That is, the transfer unit 250 controls the chunks that are not stored in the storage unit 140 of the control device 11 to be transmitted to the control device 11.

次に、図9及び10に示すフローチャートを参照して、本発明の第1の実施形態におけるストレージシステム10又はその各構成要素の動作の詳細について説明する。 Next, with reference to the flowcharts shown in FIGS. 9 and 10, details of the operation of the storage system 10 or each component thereof in the first embodiment of the present invention will be described.

まず、図9に示すフローチャートを参照して、本発明の第1の実施形態におけるストレージシステム10の主に制御装置11の書込みの動作の詳細を説明する。 First, with reference to the flowchart shown in FIG. 9, details of the write operation of the control device 11 mainly of the storage system 10 according to the first embodiment of the present invention will be described.

最初に、制御装置11の分割部160は、書込み対象データをチャンクに分割する(ステップS101)。次に、算出部170は、ステップS101にて求められたチャンクに対して、ハッシュ値を計算する(ステップS102)。 First, the division unit 160 of the control device 11 divides the write target data into chunks (step S101). Next, the calculation unit 170 calculates a hash value for the chunk obtained in step S101 (step S102).

次に、算出部170は、ステップS102にて求めたハッシュ値をストレージ装置12へ送信して、ハッシュ値に対応するチャンクがストレージ装置12に格納済であるかを照会する(ステップS103)。ストレージ装置12においては、重複判定部260が、ハッシュ値に対応するチャンクがストレージ装置12に格納済であるかを判定する。 Next, the calculation unit 170 transmits the hash value obtained in step S102 to the storage device 12, and inquires whether the chunk corresponding to the hash value has been stored in the storage device 12 (step S103). In the storage device 12, the duplication determination unit 260 determines whether the chunk corresponding to the hash value has already been stored in the storage device 12.

重複判定部260において、チャンクがストレージ装置12に未格納であると判定された場合(ステップS104:No)には、制御装置11の格納制御部110は、当該チャンクをストレージ装置12へ格納する。すなわち、格納制御部110は、当該チャンクをストレージ装置12へ転送する(ステップS105)。ストレージ装置12では、格納部230がチャンクを取得すると、取得したチャンクを記憶部210へ格納する。格納部230は、チャンクに対応するハッシュ値をチャンクと併せて取得し、ハッシュテーブル220へ格納する。 When the duplication determination unit 260 determines that the chunk is not stored in the storage device 12 (step S104: No), the storage control unit 110 of the control device 11 stores the chunk in the storage device 12. That is, the storage control unit 110 transfers the chunk to the storage device 12 (step S105). In the storage device 12, when the storage unit 230 acquires a chunk, the acquired chunk is stored in the storage unit 210. The storage unit 230 acquires the hash value corresponding to the chunk together with the chunk, and stores the hash value in the hash table 220.

なお、重複判定部260において、チャンクがストレージ装置12に格納済であると判定された場合(ステップS104:Yes)には、格納制御部110は、チャンクをストレージ装置12へは転送せず、続けてステップS106の処理を行う。ステップS106以降の動作は、ステップS104にてチャンクはストレージ装置に未格納であると判定された場合に限って行われてもよい。 When the duplication determination unit 260 determines that the chunk has already been stored in the storage device 12 (step S104: Yes), the storage control unit 110 does not transfer the chunk to the storage device 12 and continues. Then, the process of step S106 is performed. The operation after step S106 may be performed only when it is determined in step S104 that the chunk is not stored in the storage device.

次に、格納制御部110は、上述したチャンクをローカルの記憶部である記憶部140に格納するか否かを判定する(ステップS106)。 Next, the storage control unit 110 determines whether to store the above-mentioned chunk in the storage unit 140 that is a local storage unit (step S106).

格納制御部110は、チャンクを記憶部140に格納するとした場合(ステップS106:Yes)には、記憶部140に空き容量があるか否かを確認する(ステップS107)。 If the storage control unit 110 stores the chunk in the storage unit 140 (step S106: Yes), the storage control unit 110 confirms whether or not there is free space in the storage unit 140 (step S107).

記憶部140に空き容量がない場合(ステップS107:No)には、格納制御部110は、記憶部140に格納されたチャンクの一部を削除して、記憶部140の空き容量を確保する(ステップS108)。ステップS108では、格納制御部110は、記憶部140に格納されるチャンクの各々に付された優先度に基づいて、削除されるチャンクを決定する。 When there is no free space in the storage unit 140 (step S107: No), the storage control unit 110 deletes a part of the chunk stored in the storage unit 140 to secure the free space in the storage unit 140 ( Step S108). In step S108, the storage control unit 110 determines a chunk to be deleted based on the priority assigned to each chunk stored in the storage unit 140.

ステップS108の処理にて記憶部140の空き容量が確保された場合、又はステップS107の処理にて記憶部140に空き容量があると判定された場合には、格納制御部110は、ステップS109の処理を行う。すなわち、格納制御部110は、チャンクに優先度を付与して記憶部140に格納する。続いて、格納制御部110は、ステップS109にて記憶部140に格納したチャンクに対応するハッシュ値をハッシュテーブルに格納する(ステップS110)。 When the free space of the storage unit 140 is secured in the process of step S108, or when it is determined that the free space of the storage unit 140 is available in the process of step S107, the storage control unit 110 performs the process of step S109. Perform processing. That is, the storage control unit 110 gives a priority to the chunk and stores it in the storage unit 140. Subsequently, the storage control unit 110 stores the hash value corresponding to the chunk stored in the storage unit 140 in step S109 in the hash table (step S110).

なお、ステップS109の処理に応じて、格納制御部110は、記憶部140に格納されたチャンクに付与されている優先度を適宜変更してもよい。 Note that the storage control unit 110 may appropriately change the priority given to the chunk stored in the storage unit 140 according to the process of step S109.

またステップS106において、格納制御部110は、チャンクを記憶部140に格納しないとした場合(ステップS106:No)には、格納制御部110は、書込み処理を終了する。 Further, in step S106, when the storage control unit 110 does not store the chunk in the storage unit 140 (step S106: No), the storage control unit 110 ends the writing process.

なお、ステップS101の処理において、書き込み対象データは一般に複数のチャンクに分割される。この場合に、制御装置11等は、複数のチャンクのそれぞれに対してステップS102以降の処理を行う。 In the process of step S101, the write target data is generally divided into a plurality of chunks. In this case, the control device 11 and the like perform the processing from step S102 onward for each of the plurality of chunks.

続いて、図10に示すフローチャートを参照して、本発明の第1の実施形態におけるストレージシステム10の主に制御装置11の読出しの動作の詳細を説明する。 Next, the details of the read operation mainly by the control device 11 of the storage system 10 according to the first embodiment of the present invention will be described with reference to the flow chart shown in FIG.

最初に、判定部120は、ストレージ装置12に対して、読出し対象データに関するチャンクに対応するハッシュ値を照会する(ステップS201)。この場合には、ストレージ装置12の返信部240は、判定部120からの照会に基づいて、読出し対象データに関するチャンクに対するハッシュ値を判定部120に送信する。 First, the determination unit 120 queries the storage device 12 for the hash value corresponding to the chunk related to the read target data (step S201). In this case, the reply unit 240 of the storage device 12 transmits the hash value for the chunk regarding the read target data to the determination unit 120 based on the inquiry from the determination unit 120.

次に、判定部120は、ステップS201にて取得したハッシュ値を用いて、読出し対象データに関するチャンクが、ローカルの記憶部である記憶部140に格納されているかを判定する(ステップS202)。すなわち、判定部120は、返信部240から返信されたハッシュ値と、ハッシュテーブル150に保存されているハッシュ値の各々とを比較して、読出し対象データに関するチャンクが記憶部140に格納されているかを判定する。 Next, the determination unit 120 determines whether the chunk related to the read target data is stored in the storage unit 140, which is a local storage unit, using the hash value acquired in step S201 (step S202). That is, the determination unit 120 compares the hash value returned from the reply unit 240 with each of the hash values stored in the hash table 150, and whether the chunk related to the read target data is stored in the storage unit 140. To judge.

判定部120は、ステップS202にて取得したハッシュ値がハッシュテーブル150に格納されるハッシュ値のいずれかと一致する場合に、チャンクが記憶部140に存在すると判定する(ステップS202:Yes)。この場合には、読出制御部130は、記憶部140からチャンクを読出す(ステップS203)。 The determination unit 120 determines that the chunk exists in the storage unit 140 when the hash value acquired in step S202 matches any of the hash values stored in the hash table 150 (step S202: Yes). In this case, the read control unit 130 reads the chunk from the storage unit 140 (step S203).

また、判定部120は、ステップS202にて取得したハッシュ値が、ハッシュテーブル150に格納されるハッシュ値のいずれかとも一致しない場合に、チャンクが記憶部140に存在しないと判定する(ステップS202:No)。読出制御部130は、ストレージ装置12からチャンクを読出す(ステップS204)。読出制御部130は、チャンクをストレージ装置12の転送部250を介して取得する。 Further, the determination unit 120 determines that the chunk does not exist in the storage unit 140 when the hash value acquired in step S202 does not match any of the hash values stored in the hash table 150 (step S202: No). The read control unit 130 reads a chunk from the storage device 12 (step S204). The read control unit 130 acquires the chunk via the transfer unit 250 of the storage device 12.

読出制御部130は、読出し対象データに関する全てのチャンクが読出されると、チャンクを結合して読出し対象データを構築する(ステップS205)。読出制御部130は、構築されたデータを当該データの要求元等へ適宜送信して、データの読出し処理を終了する。 When all the chunks related to the read target data have been read, the read control unit 130 combines the chunks and constructs the read target data (step S205). The read control unit 130 appropriately transmits the constructed data to the request source of the data, and ends the data read processing.

以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本発明のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。 Although the present invention has been described with reference to the exemplary embodiments, the present invention is not limited to the above exemplary embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. The configurations in the respective embodiments can be combined with each other without departing from the scope of the present invention.

10 ストレージシステム
11 制御装置
12 ストレージ装置
110 格納制御部
120 判定部
130 読出制御部
140 記憶部
150 ハッシュテーブル
160 分割部
170 算出部
210 記憶部
220 ハッシュテーブル
230 格納部
240 返信部
250 転送部
260 重複判定部
500 情報処理装置
501 CPU
502 ROM
503 RAM
504 プログラム
505 記憶装置
506 記録媒体
507 ドライブ装置
508 通信インターフェース
509 通信ネットワーク
510 入出力インターフェース
511 バス
10 storage system 11 control device 12 storage device 110 storage control unit 120 determination unit 130 read control unit 140 storage unit 150 hash table 160 division unit 170 calculation unit 210 storage unit 220 hash table 230 storage unit 240 reply unit 250 transfer unit 260 duplication determination Part 500 Information processing device 501 CPU
502 ROM
503 RAM
504 program 505 storage device 506 recording medium 507 drive device 508 communication interface 509 communication network 510 input/output interface 511 bus

Claims (7)

ストレージ装置への書込み対象データが分割されたチャンクを、当該チャンクが前記ストレージ装置に格納されていない場合に当該ストレージ装置に格納するとともに、優先度を付して記憶手段に格納するよう制御する格納制御手段と、
前記ストレージ装置から送信される識別情報に基づいて、読出し対象データに関する前記チャンクが前記記憶手段に格納されているかを判定する判定手段と、
前記判定手段による判定結果に基づいて、前記記憶手段及び前記ストレージ装置に格納された前記チャンクを用いて前記読出し対象データを構築する読出制御手段とを備え
前記格納制御手段は、
前記書込み対象データの種類に基づいて前記記憶手段に格納される前記チャンクの前記優先度を決定し、
前記書込み対象データがバックアップデータである場合に、フルバックアップデータに関する前記チャンクに他のチャンクと比較して高い優先度を付与し、増分バックアップデータに関する前記チャンクに他のチャンクと比較して低い優先度を付与し、
さらに前記チャンクが前記記憶手段に格納されてからの時間に基づいて前記チャンクに対する優先度を決定し、
前記記憶手段の空き容量が所定の条件を満たす場合に、前記優先度が低い前記チャンクを前記記憶手段から削除する
制御装置。
Storage for storing a chunk into which data to be written to the storage device is divided and storing the chunk in the storage device when the chunk is not stored in the storage device, and assigning a priority to the storage means Control means,
Determination means for determining whether the chunk relating to the read target data is stored in the storage means based on the identification information transmitted from the storage device;
The determination means based on the determine the constant result of, and a read control means for constructing said read-target data by using the chunk stored in the storage means and said storage device,
The storage control means,
Determining the priority of the chunk stored in the storage means based on the type of the write target data,
When the write target data is backup data, the chunk related to the full backup data is given a higher priority compared to other chunks, and the chunk related to the incremental backup data is given a lower priority compared to other chunks. Is given
Furthermore, the priority for the chunk is determined based on the time since the chunk was stored in the storage means,
A control device for deleting, from the storage means, the chunk having the low priority when the free space of the storage means satisfies a predetermined condition .
前記格納制御手段は、前記ストレージ装置における、前記チャンクが前記ストレージ装置に格納されているか否かの判定結果に基づいて前記記憶手段に格納される前記チャンクの前記優先度を決定する、請求項1に記載の制御装置。 Said storage control means, in the storage device to determine the priority of the chunks said chunk is stored in the storage means based on whether the determination result stored in the storage device, according to claim 1 control device according to. 前記読出制御手段は、記憶手段に格納されている場合には記憶手段から読出して前記読出し対象データを構築する、請求項1または2に記載の制御装置。 The control device according to claim 1 or 2 , wherein the read control unit reads out from the storage unit and constructs the read target data when the read control unit stores the read target data when the read control unit stores the read target data. 前記記憶手段を備える、請求項1からのいずれか一項に記載の制御装置。 Comprising said storage means, the control device according to any one of claims 1 to 3. 請求項1からのいずれか一項に記載の制御装置と、
前記制御装置の要求に基づいて、読出し対象データに関するチャンクを識別する識別情報を前記制御装置に送信する返信手段と、
読出し対象データに関する前記チャンクのうち、前記制御装置の記憶手段に未格納である前記チャンクを前記制御装置に送信するよう制御する読出制御手段と、
を備えるストレージ装置とを備えるストレージシステム。
The control device according to any one of claims 1 to 3 ,
Reply means for transmitting, to the control device, identification information for identifying a chunk relating to the data to be read, based on a request from the control device,
Of the chunks relating to the data to be read, read control means for controlling to transmit the chunks that are not stored in the storage means of the control device to the control device,
A storage system comprising: a storage device comprising:
コンピュータが備える格納制御手段が、ストレージ装置への書込み対象データが分割されたチャンクを、当該チャンクが前記ストレージ装置に格納されていない場合に当該ストレージ装置に格納するとともに、優先度を付して記憶手段に格納するよう制御し、
前記コンピュータが備える判定手段が、前記ストレージ装置から送信される識別情報に基づいて、読出し対象データに関する前記チャンクが前記記憶手段に格納されているかを判定し
前記コンピュータが備える読出制御手段が、前記判定手段による判定結果に基づいて、前記記憶手段及び前記ストレージ装置に格納された前記チャンクを用いて前記読出し対象データを構築する制御方法であって
前記格納制御手段は、
前記書込み対象データの種類に基づいて前記記憶手段に格納される前記チャンクの前記優先度を決定し、
前記書込み対象データがバックアップデータである場合に、フルバックアップデータに関する前記チャンクに他のチャンクと比較して高い優先度を付与し、増分バックアップデータに関する前記チャンクに他のチャンクと比較して低い優先度を付与し、
さらに前記チャンクが前記記憶手段に格納されてからの時間に基づいて前記チャンクに対する優先度を決定し、
前記記憶手段の空き容量が所定の条件を満たす場合に、前記優先度が低い前記チャンクを前記記憶手段から削除する
制御方法
The storage control means included in the computer stores a chunk into which the data to be written to the storage device is divided, in the storage device when the chunk is not stored in the storage device, and stores the chunk with priority. Control to store in the means,
The determination unit included in the computer determines whether the chunk related to the read target data is stored in the storage unit based on the identification information transmitted from the storage device.
Read control means included in the computer, said determining means based on the determine the constant result of a control method of constructing the read-target data by using the chunk stored in the storage means and said storage device,
The storage control means,
Determining the priority of the chunk stored in the storage means based on the type of the write target data,
When the write target data is backup data, the chunk related to the full backup data is given a higher priority compared to other chunks, and the chunk related to the incremental backup data is given a lower priority compared to other chunks. Is given
Furthermore, the priority for the chunk is determined based on the time since the chunk was stored in the storage means,
When the free space of the storage means satisfies a predetermined condition, the chunk with the low priority is deleted from the storage means.
Control method .
コンピュータに、
ストレージ装置への書込み対象データが分割されたチャンクを、当該チャンクが前記ストレージ装置に格納されていない場合に当該ストレージ装置に格納するとともに、優先度を付して記憶手段に格納するよう制御する処理と、
前記ストレージ装置から送信される識別情報に基づいて、読出し対象データに関する前記チャンクが前記記憶手段に格納されているかを判定する処理と、
定結果に基づいて、前記記憶手段及び前記ストレージ装置に格納された前記チャンクを用いて前記読出し対象データを構築する処理とを実行させるプログラムであって、
前記制御する処理では、
前記書込み対象データの種類に基づいて前記記憶手段に格納される前記チャンクの前記優先度を決定し、
前記書込み対象データがバックアップデータである場合に、フルバックアップデータに関する前記チャンクに他のチャンクと比較して高い優先度を付与し、増分バックアップデータに関する前記チャンクに他のチャンクと比較して低い優先度を付与し、
さらに前記チャンクが前記記憶手段に格納されてからの時間に基づいて前記チャンクに対する優先度を決定し、
前記記憶手段の空き容量が所定の条件を満たす場合に、前記優先度が低い前記チャンクを前記記憶手段から削除する
プログラム
On the computer,
A process for controlling a chunk into which the data to be written to the storage device is divided to be stored in the storage device when the chunk is not stored in the storage device, and to be stored in the storage unit with priority. When,
A process of determining whether the chunk relating to the read target data is stored in the storage unit based on the identification information transmitted from the storage device;
Based on the determine the constant results, a program for executing a process of constructing the read-target data by using the chunk stored in the storage means and said storage device,
In the control process,
Determining the priority of the chunk stored in the storage means based on the type of the write target data,
When the write target data is backup data, the chunk related to the full backup data is given a higher priority compared to other chunks, and the chunk related to the incremental backup data is given a lower priority compared to other chunks. Is given
Furthermore, the priority for the chunk is determined based on the time since the chunk was stored in the storage means,
When the free space of the storage means satisfies a predetermined condition, the chunk with the low priority is deleted from the storage means.
Program .
JP2016030140A 2016-02-19 2016-02-19 Control device, storage system, control method, and program Active JP6733214B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016030140A JP6733214B2 (en) 2016-02-19 2016-02-19 Control device, storage system, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016030140A JP6733214B2 (en) 2016-02-19 2016-02-19 Control device, storage system, control method, and program

Publications (2)

Publication Number Publication Date
JP2017146919A JP2017146919A (en) 2017-08-24
JP6733214B2 true JP6733214B2 (en) 2020-07-29

Family

ID=59683132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016030140A Active JP6733214B2 (en) 2016-02-19 2016-02-19 Control device, storage system, control method, and program

Country Status (1)

Country Link
JP (1) JP6733214B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7387679B2 (en) * 2021-07-12 2023-11-28 株式会社日立製作所 Backup system and method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149492A (en) * 2000-11-08 2002-05-24 Hitachi Ltd Method for controlling cache memory and storage sub- system
US20150363134A1 (en) * 2013-03-04 2015-12-17 Hitachi, Ltd. Storage apparatus and data management
WO2014201696A1 (en) * 2013-06-21 2014-12-24 华为技术有限公司 File reading method, storage device and reading system
JP6027504B2 (en) * 2013-08-02 2016-11-16 日本電信電話株式会社 Application server and cache control method
JP6269120B2 (en) * 2014-02-06 2018-01-31 日本電気株式会社 Storage system
US20170010941A1 (en) * 2014-05-30 2017-01-12 Hitachi, Ltd. Method for adjusting backup schedule for virtual computer
WO2015198591A1 (en) * 2014-06-27 2015-12-30 Nec Corporation Storage device, program, and information processing method

Also Published As

Publication number Publication date
JP2017146919A (en) 2017-08-24

Similar Documents

Publication Publication Date Title
US11461015B2 (en) Available storage space in a system with varying data redundancy schemes
US9996286B2 (en) Data storage system, process and computer program for such data storage system for reducing read and write amplifications
US20180349030A1 (en) Storage control device, storage control program, and storage system
US11886704B2 (en) System and method for granular deduplication
US20180203637A1 (en) Storage control apparatus and storage control program medium
US9367256B2 (en) Storage system having defragmentation processing function
US20120226672A1 (en) Method and Apparatus to Align and Deduplicate Objects
JP2020101949A (en) Storage system and method for controlling storage system
WO2016041127A1 (en) Data duplication method and storage array
WO2017042978A1 (en) Computer system, storage device, and data management method
US20180307426A1 (en) Storage apparatus and storage control method
US20170269847A1 (en) Method and Device for Differential Data Backup
US10394484B2 (en) Storage system
JP6406283B2 (en) Storage apparatus and storage method
CN111552677B (en) Quota management method, device, management node and storage medium
US11188258B2 (en) Distributed storage system
JP6733213B2 (en) Control device, storage device, storage system, control method, and program
JP6733214B2 (en) Control device, storage system, control method, and program
US9575679B2 (en) Storage system in which connected data is divided
JP2020086477A (en) Large scale storage system and data arrangement method in large scale storage system
WO2018055686A1 (en) Information processing system
JP7456601B2 (en) Information processing method
WO2017061022A1 (en) Data deduplicating system
JP7491545B2 (en) Information Processing Method
US20210255790A1 (en) Storage system and duplicate data management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200514

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200622

R150 Certificate of patent or registration of utility model

Ref document number: 6733214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150