JP6842064B2 - Storage device, program, information processing method - Google Patents

Storage device, program, information processing method Download PDF

Info

Publication number
JP6842064B2
JP6842064B2 JP2017036040A JP2017036040A JP6842064B2 JP 6842064 B2 JP6842064 B2 JP 6842064B2 JP 2017036040 A JP2017036040 A JP 2017036040A JP 2017036040 A JP2017036040 A JP 2017036040A JP 6842064 B2 JP6842064 B2 JP 6842064B2
Authority
JP
Japan
Prior art keywords
data
read
generation
storage unit
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.)
Active
Application number
JP2017036040A
Other languages
Japanese (ja)
Other versions
JP2018142175A (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 JP2017036040A priority Critical patent/JP6842064B2/en
Publication of JP2018142175A publication Critical patent/JP2018142175A/en
Application granted granted Critical
Publication of JP6842064B2 publication Critical patent/JP6842064B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、ストレージ装置、プログラム、情報処理方法に関し、特に、同一内容のデータの重複記憶を排除するストレージ装置、プログラム、情報処理方法に関する。 The present invention relates to a storage device, a program, and an information processing method, and more particularly to a storage device, a program, and an information processing method that eliminates duplicate storage of data having the same contents.

莫大なデータを効率的に取り扱うための技術として、重複記憶を排除する機能を有するストレージ装置が知られている。 As a technique for efficiently handling a huge amount of data, a storage device having a function of eliminating duplicate storage is known.

上記のような重複排除を行うストレージシステムの場合、新規のデータは、例えば、格納する領域の最後に追加されていくことになる。そのため、後にデータを読み出す際には、記憶装置全体に拡散したデータを読み出すべく、膨大な数のディスク操作をしなければならない場合があった。 In the case of a storage system that performs deduplication as described above, new data will be added to the end of the storage area, for example. Therefore, when reading data later, it may be necessary to perform a huge number of disk operations in order to read the data spread over the entire storage device.

上記問題に対処するための技術として、例えば、特許文献1がある。特許文献1には、データ分割手段と、ブロック検出手段と、データ書き込み手段と、を有するストレージ装置が記載されている。特許文献1によると、上記ブロック検出手段は、分割したデータブロックのうち書き込み対象データ中の所定範囲を構成する連続する複数のデータブロックと、記憶装置に既に連続して記憶されている所定範囲の複数のデータブロックと、の共通部分の割合を表す共通割合を検出する。また、データ書き込み手段は、ブロック検出手段にて検出した共通割合に応じて、分割したデータブロックを、新たに記憶装置に記憶する。特許文献1によると、このような構成により、共通割合が例えば所定の閾値より小さい場合にのみ、記憶装置に新たにデータブロックを書き込むよう制御することが出来る。その結果、特許文献1によると、重複排除を行いつつ、記憶装置内の記憶領域全体に対するデータブロックの拡散を抑制することが出来る。これにより、読出し性能が低下することを抑制することが可能となる。 As a technique for dealing with the above problem, for example, there is Patent Document 1. Patent Document 1 describes a storage device including a data dividing means, a block detecting means, and a data writing means. According to Patent Document 1, the block detecting means includes a plurality of continuous data blocks constituting a predetermined range in the data to be written among the divided data blocks, and a predetermined range already continuously stored in the storage device. Detects a common ratio that represents the ratio of the common part of multiple data blocks. Further, the data writing means newly stores the divided data blocks in the storage device according to the common ratio detected by the block detecting means. According to Patent Document 1, with such a configuration, it is possible to control to write a new data block to the storage device only when the common ratio is smaller than, for example, a predetermined threshold value. As a result, according to Patent Document 1, it is possible to suppress the diffusion of the data block over the entire storage area in the storage device while performing deduplication. This makes it possible to suppress a decrease in reading performance.

特表2013−541055号公報Japanese Patent Application Laid-Open No. 2013-541555

データを高速に読み出すため、特許文献1に記載されているような重複記憶を排除する機能を有するストレージ装置などにおいては、ハードディスクなどから先読みしたデータをバッファなどの記憶装置に格納しておき、バッファに格納されたデータを利用することがある。しかしながら、バッファに格納可能なデータの容量は限られている。そのため、例えば、読み込み対象のデータが属する世代が変化するタイミングなどにおいて、バッファに格納されたデータを破棄することが行われていた。その結果、一度バッファに読み出したデータを再度必要とする際に、当該データがバッファから既に追い出されており、再度ディスクから読み出す必要が生じるおそれがある、という問題が生じていた。 In order to read data at high speed, in a storage device or the like having a function of eliminating duplicate storage as described in Patent Document 1, the data pre-read from a hard disk or the like is stored in a storage device such as a buffer and buffered. The data stored in may be used. However, the amount of data that can be stored in the buffer is limited. Therefore, for example, the data stored in the buffer is discarded at the timing when the generation to which the data to be read belongs changes. As a result, when the data once read into the buffer is needed again, there is a problem that the data has already been expelled from the buffer and it may be necessary to read the data from the disk again.

このように、重複記憶を排除する機能を有するストレージ装置においては、効率的に必要なデータを取得することが難しく、読み出し性能の低下を抑制することが難しい、という問題が生じていた。 As described above, in the storage device having a function of eliminating duplicate storage, there has been a problem that it is difficult to efficiently acquire necessary data and it is difficult to suppress a decrease in read performance.

そこで、本発明の目的は、上述した課題である、重複記憶を排除する機能を有するストレージ装置においては、効率的に必要なデータを取得することが難しく、読み出し性能の低下を抑制することが難しい、という問題を解決することの出来るストレージ装置、プログラム、情報処理方法を提供することにある。 Therefore, an object of the present invention is that in a storage device having a function of eliminating duplicate storage, which is the above-mentioned problem, it is difficult to efficiently acquire necessary data, and it is difficult to suppress a deterioration in read performance. The purpose is to provide a storage device, a program, and an information processing method that can solve the problem of.

かかる目的を達成するため本発明の一形態であるストレージ装置は、
複数世代のデータを重複排除して記憶するデータ記憶部と、
前記データ記憶部から読み出されたデータを一時的に記憶する一時データ記憶部と、
前記データ記憶部が記憶するデータを読み出して前記一時データ記憶部に記憶させるとともに、前記一時データ記憶部からデータを読み出すデータ読出制御部と、
を有し、
前記データ読出制御部は、外部装置から受信した読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記一時データ記憶部に記憶する世代ごとのデータの記憶状況を制御する
という構成を採る。
A storage device according to an embodiment of the present invention for achieving such an object
A data storage unit that deduplications and stores data of multiple generations,
A temporary data storage unit that temporarily stores the data read from the data storage unit, and
A data read control unit that reads data stored in the data storage unit and stores the data in the temporary data storage unit, and also reads data from the temporary data storage unit.
Have,
The data read control unit controls the storage status of the data for each generation stored in the temporary data storage unit based on the ratio of the data of each generation to the data read in response to the read request received from the external device. Take the configuration of doing.

また、本発明の他の形態であるプログラムは、
複数世代のデータを重複排除して記憶するデータ記憶部と、前記データ記憶部から読み出されたデータを一時的に記憶する一時データ記憶部と、を有するストレージ装置に、
前記データ記憶部が記憶するデータを読み出して前記一時データ記憶部に記憶させるとともに、前記一時データ記憶部からデータを読み出すデータ読出制御手段を実現させ、
前記データ読出制御手段は、外部装置から受信した読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記一時データ記憶部に記憶する世代ごとのデータの記憶状況を制御する
処理を実現させるためのプログラムである。
In addition, the program which is another form of the present invention
A storage device having a data storage unit that deduplications and stores data of a plurality of generations and a temporary data storage unit that temporarily stores data read from the data storage unit.
A data read control means for reading data stored in the data storage unit and storing the data in the temporary data storage unit and reading data from the temporary data storage unit is realized.
The data read control means controls the storage status of the data for each generation stored in the temporary data storage unit based on the ratio of the data of each generation to the data read in response to the read request received from the external device. It is a program to realize the processing to be performed.

また、本発明の他の形態である情報処理方法は、
複数世代のデータを重複排除して記憶するデータ記憶部と、前記データ記憶部から読み出されたデータを一時的に記憶する一時データ記憶部と、を有する情報処理装置が、
前記データ記憶部が記憶するデータを読み出して前記一時データ記憶部に記憶させるとともに、前記一時データ記憶部からデータを読み出し、外部装置から受信した読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記一時データ記憶部に記憶する世代ごとのデータの記憶状況を制御する
という構成を採る。
Further, the information processing method, which is another embodiment of the present invention, is
An information processing device having a data storage unit that deduplications and stores data of a plurality of generations and a temporary data storage unit that temporarily stores data read from the data storage unit.
The data stored in the data storage unit is read and stored in the temporary data storage unit, and the data is read from the temporary data storage unit, and the data of each generation among the data read in response to the read request received from the external device. The data storage status for each generation to be stored in the temporary data storage unit is controlled based on the ratio of the data.

本発明は、以上のように構成されることにより、重複記憶を排除する機能を有するストレージ装置において、読み出し性能の低下を抑制することが難しい、という問題を解決することの出来るストレージ装置、プログラム、情報処理方法を提供することが可能となる。 The present invention can solve the problem that it is difficult to suppress a decrease in read performance in a storage device having a function of eliminating duplicate storage by being configured as described above. It becomes possible to provide an information processing method.

システム全体の構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the whole system. 図1で示すストレージシステムの構成の概略を示すブロック図である。It is a block diagram which shows the outline of the structure of the storage system shown in FIG. 図1で示すストレージシステムの構成の一例を示す機能ブロック図である。It is a functional block diagram which shows an example of the structure of the storage system shown in FIG. 図1で示すストレージシステムにおけるデータ書き込み処理の一例を説明するための図である。It is a figure for demonstrating an example of the data writing process in the storage system shown in FIG. 図1で示すストレージシステムにおけるデータ書き込み処理の一例を説明するための図である。It is a figure for demonstrating an example of the data writing process in the storage system shown in FIG. 図3で示すデータ読み出し手段が先読みする様子の一例を示す図である。It is a figure which shows an example of how the data reading means shown in FIG. 3 pre-reads. 本発明の第1の実施形態におけるストレージシステムによるデータ読み出し処理の一例を示すフローチャートである。It is a flowchart which shows an example of the data read processing by the storage system in 1st Embodiment of this invention. 図7で示すフラグメントを読み込む処理の詳細な一例を示すフローチャートである。It is a flowchart which shows a detailed example of the process of reading the fragment shown in FIG. 7. 本発明の第2の実施形態に係るストレージ装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the storage device which concerns on 2nd Embodiment of this invention.

[第1の実施形態]
本発明の第1の実施形態を、図1乃至図8を参照して説明する。図1は、システム全体の構成の一例を示すブロック図である。図2は、ストレージシステム1の構成の概略を示すブロック図である。図3は、ストレージシステム1の構成の一例を示す機能ブロック図である。図4、図5は、ストレージシステム1におけるデータの書き込み処理の一例を説明するための図である。図6は、データ読み出し手段が先読みする様子の一例を示す図である。図7、図8は、ストレージシステム1によるデータ読み出し処理の一例を示すフローチャートである。
[First Embodiment]
The first embodiment of the present invention will be described with reference to FIGS. 1 to 8. FIG. 1 is a block diagram showing an example of the configuration of the entire system. FIG. 2 is a block diagram showing an outline of the configuration of the storage system 1. FIG. 3 is a functional block diagram showing an example of the configuration of the storage system 1. 4 and 5 are diagrams for explaining an example of data writing processing in the storage system 1. FIG. 6 is a diagram showing an example of how the data reading means pre-reads. 7 and 8 are flowcharts showing an example of data read processing by the storage system 1.

第1の実施形態では、プリフェッチバッファ16を効率的に利用することで読み出し性能が低下することを抑制する、重複排除機能を有するストレージシステム1について説明する。本実施形態におけるストレージシステム1は、読み出し要求を受信すると、一連のデータブロックを復元するとともに、復元したデータブロックを連結して対象のファイルを復元する。この際、ストレージシステム1は、ディスク装置15からデータブロックに基づいて生成された複数のフラグメントデータを取得して、取得したフラグメントデータに基づいてデータブロックを復元する。本実施形態におけるストレージシステム1は、ディスク装置15からフラグメントデータを取得する際に、予めディスク装置15から先読みしてプリフェッチバッファ16に格納されているフラグメントデータも活用して、必要なフラグメントデータを取得する。また、後述するように、ストレージシステム1は、読み出し要求に応じて読み出した(読み出し済みの)データに対する世代ごとのデータの割合に基づいて、プリフェッチバッファ16に格納する情報や格納されている情報の制御を行う。このように、読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいてプリフェッチバッファ16に格納する情報や格納されている情報の制御を行うことで、先読みしたデータを有効的に活用することが可能となる。その結果、重複記憶を排除する機能を有するストレージ装置において、読み出し性能の低下を抑制することが可能となる。 In the first embodiment, a storage system 1 having a deduplication function, which suppresses a decrease in read performance by efficiently using the prefetch buffer 16, will be described. Upon receiving the read request, the storage system 1 in the present embodiment restores a series of data blocks and concatenates the restored data blocks to restore the target file. At this time, the storage system 1 acquires a plurality of fragment data generated based on the data block from the disk device 15, and restores the data block based on the acquired fragment data. When acquiring fragment data from the disk device 15, the storage system 1 in the present embodiment acquires necessary fragment data by pre-reading from the disk device 15 and utilizing the fragment data stored in the prefetch buffer 16. To do. Further, as will be described later, the storage system 1 stores the information stored in the prefetch buffer 16 and the stored information based on the ratio of the data for each generation to the data read (read) in response to the read request. Take control. In this way, the pre-read data is effectively utilized by controlling the information stored in the prefetch buffer 16 and the stored information based on the ratio of the data for each generation to the data read in response to the read request. It becomes possible to do. As a result, it is possible to suppress a decrease in read performance in a storage device having a function of eliminating duplicate storage.

図1を参照すると、本実施形態におけるストレージシステム1は、ネットワークNを介してバックアップ処理を制御するバックアップシステム4に接続している。そして、バックアップシステム4は、ネットワークNを介して接続されたバックアップ対象装置5に格納されているバックアップ対象データ(書き込み対象となるデータ)を取得し、ストレージシステム1に対して記憶するよう要求する。これにより、ストレージシステム1は、記憶要求されたバックアップ対象データをバックアップ用に記憶する。 Referring to FIG. 1, the storage system 1 in the present embodiment is connected to the backup system 4 that controls the backup process via the network N. Then, the backup system 4 acquires the backup target data (data to be written) stored in the backup target device 5 connected via the network N, and requests the storage system 1 to store the data. As a result, the storage system 1 stores the backup target data requested to be stored for backup.

図2に示すように、本実施形態におけるストレージシステム1は、複数のサーバコンピュータが接続された構成を採っている。具体的に、ストレージシステム1は、ストレージシステム1自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード2と、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード3と、を備えている。なお、アクセラレータノード2の数とストレージノード3の数は、図2に示したものに限定されない。アクセラレータノード2やストレージノード3の数は、1つであっても構わないし、2つ以上の任意の数であっても構わない。 As shown in FIG. 2, the storage system 1 in the present embodiment has a configuration in which a plurality of server computers are connected. Specifically, the storage system 1 includes an accelerator node 2 which is a server computer that controls a storage / playback operation in the storage system 1 itself, and a storage node 3 which is a server computer provided with a storage device for storing data. There is. The number of accelerator nodes 2 and the number of storage nodes 3 are not limited to those shown in FIG. The number of accelerator nodes 2 and storage nodes 3 may be one, or may be any number of two or more.

さらに、本実施形態におけるストレージシステム1は、データを分割及び冗長化し、分散して複数の記憶装置に記憶する。ストレージシステム1がデータを記憶する際の処理については、後述する。 Further, the storage system 1 in the present embodiment divides and redundantly divides the data, distributes the data, and stores the data in a plurality of storage devices. The process when the storage system 1 stores data will be described later.

なお、以下では、ストレージシステム1が1つのシステムであるとして、当該ストレージシステム1が備えている構成及び機能を説明する。つまり、以下に説明するストレージシステム1が有する構成及び機能は、アクセラレータノード2あるいはストレージノード3のいずれに備えられていてもよい。なお、ストレージシステム1は、図2に示すように、必ずしもアクセラレータノード2とストレージノード3とを備えていることに限定されず、いかなる構成であってもよく、例えば、1台のコンピュータにて構成されていてもよい。 In the following, assuming that the storage system 1 is one system, the configuration and functions provided by the storage system 1 will be described. That is, the configuration and functions of the storage system 1 described below may be provided in either the accelerator node 2 or the storage node 3. As shown in FIG. 2, the storage system 1 is not necessarily limited to including the accelerator node 2 and the storage node 3, and may have any configuration, for example, one computer. It may have been done.

図3に、本実施形態におけるストレージシステム1の構成の一例を示す。図3を参照すると、ストレージシステム1は、データ書き込み手段11と、データ読み出し手段12(データ読出制御部の一部)と、重複率算出手段13(データ読出制御部の一部)と、データ格納領域制御手段14(データ読出制御部の一部)と、ディスク装置15(データ記憶部)と、プリフェッチバッファ16(一時データ記憶部)と、を有している。ストレージシステム1は、例えば、所定の演算処理を行う図示しない演算装置と図示しない記憶装置とを有しており、記憶装置に格納されたプログラムを演算装置が実行することで上記各手段を実現する。 FIG. 3 shows an example of the configuration of the storage system 1 in this embodiment. Referring to FIG. 3, the storage system 1 stores data, a data writing means 11, a data reading means 12 (a part of the data reading control unit), a duplication rate calculating means 13 (a part of the data reading control unit), and data. It has an area control means 14 (a part of a data read control unit), a disk device 15 (data storage unit), and a prefetch buffer 16 (temporary data storage unit). The storage system 1 has, for example, an arithmetic unit (not shown) and a storage device (not shown) that perform predetermined arithmetic processing, and the arithmetic unit executes a program stored in the storage device to realize each of the above means. ..

なお、実際には、上述したストレージシステム1が備える構成は、図2に示したアクセラレータノード2及びストレージノード3がそれぞれ備えているCPU(Central Processing Unit)などの演算装置やハードディスクなどの記憶装置にて構成されている。 Actually, the configuration provided in the storage system 1 described above is used in a computing device such as a CPU (Central Processing Unit) and a storage device such as a hard disk provided in the accelerator node 2 and the storage node 3 shown in FIG. It is composed of.

データ書き込み手段11は、ファイルの書き込み要求に応じて、重複排除したデータをディスク装置15に格納する。 The data writing means 11 stores the deduplicated data in the disk device 15 in response to a file write request.

例えば、図4を参照すると、ストレージシステム1は、書き込み要求されたファイルAの入力を受ける。すると、データ書き込み手段11は、ファイルAを所定容量(例えば、64KB)のデータブロックDに分割する。このようにファイルAをデータブロックDに分割することで、重複排除がしやすくなる。 For example, referring to FIG. 4, the storage system 1 receives the input of the write-requested file A. Then, the data writing means 11 divides the file A into a data block D having a predetermined capacity (for example, 64 KB). By dividing the file A into the data blocks D in this way, deduplication can be easily performed.

続いて、データ書き込み手段11は、分割したデータブロックDが既にストレージシステム1(ディスク装置15)に書き込まれているか否か確認する。例えば、データ書き込み手段11は、予め設定されたハッシュ関数を用いて、データブロックDのデータ内容に基づき、当該データ内容を代表する固有のハッシュ値を算出する。その後、データ書き込み手段11は、算出されたハッシュ値を用いて、当該ハッシュ値を有するデータブロックがディスク装置15に既に記憶されているか否かを調べる。例えば、このように、データ書き込み手段11は、データブロックDのデータ内容に基づくハッシュ値が既にストレージシステム1に登録されているか否かで重複の有無を確認する。 Subsequently, the data writing means 11 confirms whether or not the divided data block D has already been written to the storage system 1 (disk device 15). For example, the data writing means 11 uses a preset hash function to calculate a unique hash value representing the data content based on the data content of the data block D. After that, the data writing means 11 uses the calculated hash value to check whether or not the data block having the hash value is already stored in the disk device 15. For example, in this way, the data writing means 11 confirms the presence or absence of duplication depending on whether or not the hash value based on the data content of the data block D is already registered in the storage system 1.

ストレージシステム1が算出したハッシュ値を既に有している場合、既に同一内容のデータブロックDが格納されていると判断できる。この場合には、データ書き込み手段11は、書き込み要求されたデータブロックDの格納先として、既に格納されている同一内容のデータブロックDの領域を指定することで、当該書き込み要求されたデータブロックDを記憶したこととする。これにより、書き込み要求にかかるデータブロックDを、実際に記憶装置20内に記憶する必要がなくなる。換言すると、既に同一内容のデータブロックDが書き込まれている場合、データ書き込み手段11は後述するフラグメントデータの書き込みを行わないことになる。 When the storage system 1 already has the calculated hash value, it can be determined that the data block D having the same contents is already stored. In this case, the data writing means 11 specifies the area of the data block D having the same contents already stored as the storage destination of the data block D for which the writing is requested, so that the data block D for which the writing is requested is stored. Is memorized. This eliminates the need to actually store the data block D related to the write request in the storage device 20. In other words, when the data block D having the same contents has already been written, the data writing means 11 does not write the fragment data described later.

一方、書き込み要求にかかるデータブロックDがまだ記憶されていないと判断された場合、データ書き込み手段11は、書き込み要求にかかるデータブロックDを圧縮して、複数の所定の容量のフラグメントデータに分割する。例えば、データ書き込み手段11は、図4の符号D1〜D9に示すように、9つのフラグメントデータに分割する。さらに、データ書き込み手段11は、分割したフラグメントデータのうちいくつかが欠けた場合であっても元となるデータブロックを復元可能なよう、冗長データを生成する。そして、データ書き込み手段11は、生成した冗長データを上記分割したフラグメントデータに追加する。例えば、データ書き込み手段11は、図4の符号D10〜D12に示すように、3つのフラグメントデータ(冗長データ)を追加する。これにより、データ書き込み手段11は、9つのフラグメントデータと、3つの冗長データとにより構成される12個のフラグメントデータからなるデータセットを生成する。 On the other hand, when it is determined that the data block D related to the write request is not yet stored, the data writing means 11 compresses the data block D related to the write request and divides the data block D related to the write request into a plurality of fragment data having a predetermined capacity. .. For example, the data writing means 11 divides into nine fragment data as shown by reference numerals D1 to D9 in FIG. Further, the data writing means 11 generates redundant data so that the original data block can be restored even if some of the divided fragment data is missing. Then, the data writing means 11 adds the generated redundant data to the divided fragment data. For example, the data writing means 11 adds three fragment data (redundant data) as shown by reference numerals D10 to D12 in FIG. As a result, the data writing means 11 generates a data set consisting of 12 fragment data composed of 9 fragment data and 3 redundant data.

続いて、データ書き込み手段11は、上述したように生成されたデータセットを構成する各フラグメントデータを、記憶装置(ディスク装置15)に形成された各記憶領域に、それぞれ分散して格納する。例えば、データ書き込み手段11は、上記フラグメントデータに基づいて、フラグメントデータが所属するコンポーネントを算出し、算出したコンポーネントにフラグメントデータを格納する。なお、コンポーネントとは、各ストレージノード3(記憶装置)が有する論理概念のことをいい、フラグメントデータはコンポーネントに格納されることになる。また、本実施形態においては、フラグメントデータが所属するコンポーネントの算出方法については、特に限定しない。データ書き込み手段11は、既知の様々な手段を用いてフラグメントデータが所属するコンポーネントを算出することが出来る。 Subsequently, the data writing means 11 distributes and stores each fragment data constituting the data set generated as described above in each storage area formed in the storage device (disk device 15). For example, the data writing means 11 calculates a component to which the fragment data belongs based on the fragment data, and stores the fragment data in the calculated component. The component refers to a logical concept possessed by each storage node 3 (storage device), and fragment data is stored in the component. Further, in the present embodiment, the calculation method of the component to which the fragment data belongs is not particularly limited. The data writing means 11 can calculate the component to which the fragment data belongs by using various known means.

また、データ書き込み手段11は、上記フラグメントデータの書き込みを行うとともに、コンポーネントの構成やフラグメントデータの保存ファイル(世代)や位置を示す情報、冗長情報などの制御情報を含む管理情報を取得する。そして、データ書き込み手段11は、フラグメントデータをコンポーネントに格納する際に、コンポーネントが配置されているディスク装置15に管理情報も格納する。 In addition, the data writing means 11 writes the fragment data and acquires management information including control information such as component configuration, fragment data storage file (generation), position indicating information, and redundant information. Then, when the data writing means 11 stores the fragment data in the component, the data writing means 11 also stores the management information in the disk device 15 in which the component is arranged.

データ書き込み手段11は、例えば、上記のようにして、重複排除したデータをディスク装置15に格納する。その結果、例えば、図5で示すように、新たな世代のファイルを保存しようとする場合、当該新たな世代で追加・更新されたデータ(差分データ)のみが記憶装置であるディスク装置15に格納されることになる。 The data writing means 11 stores the deduplicated data in the disk device 15 as described above, for example. As a result, for example, as shown in FIG. 5, when a new generation file is to be saved, only the data (difference data) added / updated in the new generation is stored in the disk device 15 which is a storage device. Will be done.

データ読み出し手段12は、外部装置であるバックアップシステム4などから受信した読み出し要求に応じて、データ書き込み手段11により重複排除した状態で格納されたデータを読み出す。 The data reading means 12 reads the data stored in a state of being deduplicated by the data writing means 11 in response to a read request received from the backup system 4 or the like which is an external device.

例えば、データ読み出し手段12は、読み出し要求を受信すると、管理情報を参照して、ディスク装置15又はプリフェッチバッファ16から必要なフラグメントデータを読み出してデータブロックDを復元する。そして、データ読み出し手段12は、上記手段の繰り返しにより複数復元したデータブロックDを連結し、ファイルなどの一群のデータを復元する。 For example, when the data reading means 12 receives the reading request, the data reading means 12 reads the necessary fragment data from the disk device 15 or the prefetch buffer 16 with reference to the management information, and restores the data block D. Then, the data reading means 12 concatenates a plurality of data blocks D restored by repeating the above means, and restores a group of data such as a file.

例えば、データ読み出し手段12は、後述する先読みによりプリフェッチバッファ16に読み出す対象のフラグメントデータが格納されている場合、プリフェッチバッファ16からフラグメントデータを読み出す。一方、プリフェッチバッファ16に読み出す対象のフラグメントデータが格納されていない場合、データ読み出し手段12は、ディスク装置15からフラグメントデータを読み出す。このように、データ読み出し手段12は、ディスク装置15又はプリフェッチバッファ16から必要なフラグメントデータを読み出す。そして、データ読み出し手段12は、読み出し要求に応じて読み出した各フラグメントデータからデータブロックDを復元する。さらに、データ読み出し手段12は、上記手段の繰り返しにより複数復元したデータブロックDを連結し、ファイルなどの一群のデータを復元する。 For example, the data reading means 12 reads the fragment data from the prefetch buffer 16 when the fragment data to be read is stored in the prefetch buffer 16 by the look-ahead described later. On the other hand, when the fragment data to be read is not stored in the prefetch buffer 16, the data reading means 12 reads the fragment data from the disk device 15. In this way, the data reading means 12 reads the necessary fragment data from the disk device 15 or the prefetch buffer 16. Then, the data reading means 12 restores the data block D from each fragment data read in response to the reading request. Further, the data reading means 12 concatenates a plurality of data blocks D restored by repeating the above means, and restores a group of data such as a file.

また、本実施形態におけるデータ読み出し手段12は、ディスク装置15からフラグメントデータを読み出す際に、後述する重複率算出手段13が算出する重複率に基づいて、フラグメントデータの先読みを行うか否か判断する(図6参照)。例えば、データ読み出し手段12は、読み出す対象のフラグメントデータが属する世代の重複率が予め定められた基準値(任意の値で構わない。例えば、0.3など)(先読み基準値)よりも低い場合、先読みを行わない。一方、データ読み出し手段12は、読み出す対象のフラグメントデータが属する世代の重複率が先読み基準値以上である場合、読み出す対象のフラグメントデータにディスク装置15上で連続する所定の数(任意の数で構わない。例えば、4つなど)の後続フラグメントデータを、例えばバックグラウンドで先読みする。例えば、図6で示す場合、データ読み出し手段12は、読み出し対象のフラグメントデータAをディスク装置15から読み出すとともに、後続するフラグメントデータB、C、D、Eをバックグラウンドで先読みする。このように、データ読み出し手段12は、重複率に基づいて、ディスク装置15から読み出す対象のフラグメントデータを取得するとともに、読み出す対象に後続する所定の数(所定範囲)のフラグメントデータを先読みする。そして、データ読み出し手段12は、先読みした所定の数の後続フラグメントデータをプリフェッチバッファ16の対応する世代のデータ格納領域161に格納する。 Further, the data reading means 12 in the present embodiment determines whether or not to pre-read the fragment data based on the duplication rate calculated by the duplication rate calculating means 13 described later when reading the fragment data from the disk device 15. (See FIG. 6). For example, in the data reading means 12, when the duplication rate of the generation to which the fragment data to be read belongs is lower than a predetermined reference value (any value may be used, for example, 0.3) (look-ahead reference value). , Do not look ahead. On the other hand, when the duplication rate of the generation to which the fragment data to be read belongs is equal to or higher than the look-ahead reference value, the data reading means 12 has a predetermined number (arbitrary number may be any number) of the fragment data to be read continuous on the disk device 15. No, for example, 4) subsequent fragment data is pre-read, for example, in the background. For example, in the case shown in FIG. 6, the data reading means 12 reads the fragment data A to be read from the disk device 15 and pre-reads the subsequent fragment data B, C, D, and E in the background. In this way, the data reading means 12 acquires the fragment data to be read from the disk device 15 based on the duplication rate, and pre-reads a predetermined number (predetermined range) of fragment data following the read target. Then, the data reading means 12 stores a predetermined number of pre-read subsequent fragment data in the data storage area 161 of the corresponding generation of the prefetch buffer 16.

このように、データ読み出し手段12は、読み出し要求に応じて、データ書き込み手段11により格納されたデータを読み出す。 In this way, the data reading means 12 reads the data stored by the data writing means 11 in response to the reading request.

重複率算出手段13は、例えば、データ読み出し手段12からの指示などに応じて、読み出し要求に応じて読み出した(読み出し済の)データのうち各世代のデータが占める割合である重複率を算出する。そして、重複率算出手段13は、算出した重複率を図示しないメモリなどの記憶装置に格納する。 The duplication rate calculating means 13 calculates the duplication rate, which is the ratio of the data of each generation to the (read) data read in response to the read request, for example, in response to an instruction from the data reading means 12. .. Then, the duplication rate calculating means 13 stores the calculated duplication rate in a storage device such as a memory (not shown).

例えば、重複率算出手段13は、読み出し要求に応じて読み出した世代nのデータサイズを、読み出し要求に応じて読み出した全データサイズで除算する。これにより、重複率算出手段13は、世代nの重複率を算出する。なお、nは任意の値で構わない。 For example, the duplication rate calculating means 13 divides the data size of the generation n read in response to the read request by the total data size read in response to the read request. As a result, the duplication rate calculation means 13 calculates the duplication rate of the generation n. Note that n may be any value.

なお、重複率算出手段13は、例えば、データ読み出し手段12が読み出すフラグメントデータの世代が変わるタイミング(フラグメントデータの属する世代は、例えば、フラグメントデータの格納位置に応じて定まる)や、後述するプリフェッチバッファ16に確保されるデータ格納領域161の数が予め定められた所定数を超えたタイミングなどで、必要な世代の重複率を算出する。例えば、重複率算出手段13は、データ読み出し手段12が読み出すフラグメントデータの世代が変わるタイミングで、変わる前(変更前)の世代(世代が変わるフラグメントの一つ前のフラグメントが属する世代)の重複率を算出する。また、重複率算出手段13は、プリフェッチバッファ16に確保されるデータ格納領域161の数が所定数を超えたタイミングで、データ格納領域161が確保されている各世代の重複率を算出する。さらに、重複率算出手段13は、ディスク装置15からフラグメントデータを読み出すタイミングで、読み出す対象のフラグメントデータが属する世代の重複率を算出する。なお、重複率算出手段13は、上記タイミング以外(例えば、定期的に)で重複率を算出するよう構成しても構わない。 The duplication rate calculating means 13 is, for example, the timing at which the generation of the fragment data read by the data reading means 12 changes (the generation to which the fragment data belongs is determined, for example, according to the storage position of the fragment data), and the prefetch buffer described later. When the number of data storage areas 161 secured in 16 exceeds a predetermined number, the required duplication rate of generations is calculated. For example, the duplication rate calculating means 13 has a duplication rate of the generation before the change (before the change) (the generation to which the fragment immediately before the fragment whose generation changes) belongs at the timing when the generation of the fragment data read by the data reading means 12 changes. Is calculated. Further, the duplication rate calculation means 13 calculates the duplication rate of each generation in which the data storage area 161 is secured at the timing when the number of data storage areas 161 secured in the prefetch buffer 16 exceeds a predetermined number. Further, the duplication rate calculating means 13 calculates the duplication rate of the generation to which the fragment data to be read belongs at the timing of reading the fragment data from the disk device 15. The duplication rate calculation means 13 may be configured to calculate the duplication rate at a timing other than the above timing (for example, periodically).

データ格納領域制御手段14は、データ読み出し手段12からの指示や重複率算出手段13が算出した重複率に基づいて、プリフェッチバッファ16を制御する。 The data storage area control means 14 controls the prefetch buffer 16 based on the instruction from the data reading means 12 and the duplication rate calculated by the duplication rate calculation means 13.

例えば、データ格納領域制御手段14は、データ読み出し手段12が読み出すフラグメントデータの世代が変わる際に、データ読み出し手段12からの指示に基づいて、変わった後(変更後)の世代(世代が変わるフラグメントが属する世代)用のデータ格納領域161をプリフェッチバッファ16に確保する。なお、該当する世代用のデータ格納領域161がプリフェッチバッファ16に既に確保されている場合には、データ格納領域制御手段14は、当該世代用のデータ格納領域161を確保しなくて構わない。また、データ格納領域制御手段14は、重複率算出手段13が算出した変わる前の世代(世代が変わるフラグメントの一つ前のフラグメントが属する世代)の重複率に基づいて、変わる前の世代用のデータ格納領域161を破棄するか否か決定する。例えば、データ格納領域制御手段14は、変わる前の世代の重複率が予め定められた基準値(任意で構わない。例えば、0.3など)(破棄基準値)より低い場合、変わる前の世代用のデータ格納領域161を破棄する。データ格納領域制御手段14がデータ格納領域161を破棄することで、当該データ格納領域161に格納されたフラグメントデータ(破棄するデータ格納領域161に対応する世代のフラグメントデータ)も破棄されることになる。 For example, when the generation of the fragment data read by the data reading means 12 changes, the data storage area control means 14 changes the generation (generation changes) after the change (after the change) based on the instruction from the data reading means 12. The data storage area 161 for the generation to which the data belongs is secured in the prefetch buffer 16. If the data storage area 161 for the corresponding generation is already secured in the prefetch buffer 16, the data storage area control means 14 does not have to secure the data storage area 161 for the generation. Further, the data storage area control means 14 is for the generation before the change based on the overlap rate of the generation before the change (the generation to which the fragment immediately before the fragment whose generation changes) calculated by the duplication rate calculation means 13. It is determined whether or not to discard the data storage area 161. For example, in the data storage area control means 14, when the duplication rate of the generation before the change is lower than a predetermined reference value (optional, for example, 0.3) (discard reference value), the generation before the change. Data storage area 161 for use is discarded. When the data storage area control means 14 discards the data storage area 161, the fragment data stored in the data storage area 161 (fragment data of the generation corresponding to the data storage area 161 to be discarded) is also discarded. ..

また、データ格納領域制御手段14は、プリフェッチバッファ16に確保されているデータ格納領域161の数が予め定められた所定数(任意で構わない。例えば、4つ)を超えた場合、重複率算出手段13に対して、データ格納領域161が確保されている各世代の重複率を算出するよう指示する。そして、データ格納領域制御手段14は、算出結果に基づいて、データ格納領域161を破棄する。例えば、データ格納領域制御手段14は、プリフェッチバッファ16に確保されているデータ格納領域161のうち、読み出し要求に応じて読み出したデータに含まれる割合が最も低い世代用のデータ格納領域161を破棄する。データ格納領域制御手段14は、直近で確保した(最も新しい)データ確保領域161を上記破棄する対象から外すよう構成しても構わない。 Further, the data storage area control means 14 calculates the duplication rate when the number of data storage areas 161 reserved in the prefetch buffer 16 exceeds a predetermined number (optional, for example, four). The means 13 is instructed to calculate the duplication rate of each generation in which the data storage area 161 is secured. Then, the data storage area control means 14 discards the data storage area 161 based on the calculation result. For example, the data storage area control means 14 discards the data storage area 161 for the generation having the lowest ratio of the data read in response to the read request among the data storage areas 161 reserved in the prefetch buffer 16. .. The data storage area control means 14 may be configured to exclude the most recently secured (newest) data reservation area 161 from the target to be discarded.

なお、データ格納領域制御手段14は、事前に重複率算出手段13により算出された図示しないメモリに格納されている各世代の重複率に基づいて、破棄するデータ格納領域161を決定しても構わない。また、データ格納領域制御手段14は、例えば、プリフェッチバッファ16の容量に対する使用されている割合が予め設定された基準(例えば、予め定められている基準閾値。任意の値で構わない)を超えたタイミングなどで、データ格納領域161の破棄を行うよう構成しても構わない。 The data storage area control means 14 may determine the data storage area 161 to be discarded based on the duplication rate of each generation stored in the memory (not shown) calculated in advance by the duplication rate calculation means 13. Absent. Further, in the data storage area control means 14, for example, the ratio used to the capacity of the prefetch buffer 16 exceeds a preset standard (for example, a predetermined reference threshold value, which may be an arbitrary value). The data storage area 161 may be configured to be destroyed at a timing or the like.

このように、データ格納領域制御手段14は、データ読み出し手段12からの指示や重複率算出手段13が算出した重複率に基づいて、プリフェッチバッファ16にデータ格納領域161を新たに確保したり、確保されているデータ格納領域161を破棄したりする。 In this way, the data storage area control means 14 newly secures or secures the data storage area 161 in the prefetch buffer 16 based on the instruction from the data reading means 12 and the duplication rate calculated by the duplication rate calculation means 13. The data storage area 161 that has been created is discarded.

以上のように、データ読み出し手段12と重複率算出手段13とデータ格納領域制御手段14とは、互いに連携して、プリフェッチバッファ16にデータ格納領域161を新たに確保したり、確保されているデータ格納領域161を破棄したり、確保されたデータ格納領域161に先読みしたフラグメントデータを格納したりする。換言すると、データ読み出し手段12と重複率算出手段13とデータ格納領域制御手段14とから構成されるデータ読出制御手段(データ読出制御部)は、重複率算出手段13が算出した重複率に基づいて、プリフェッチバッファ16に記憶する世代ごとのフラグメントデータの記憶状況を制御する、ということも出来る。 As described above, the data reading means 12, the duplication rate calculating means 13, and the data storage area control means 14 cooperate with each other to newly secure or secure the data storage area 161 in the prefetch buffer 16. The storage area 161 is discarded, or the pre-read fragment data is stored in the reserved data storage area 161. In other words, the data read control means (data read control unit) including the data read means 12, the overlap rate calculation means 13, and the data storage area control means 14 is based on the overlap rate calculated by the duplicate rate calculation means 13. , It is also possible to control the storage status of fragment data for each generation stored in the prefetch buffer 16.

ディスク装置15は、ハードディスクなどの記憶装置である。ディスク装置15には、データブロック単位で重複排除した状態で、フラグメントデータが格納されている。なお、図3では1つのディスク装置15のみが記載されているが、上述したように、実際には、ディスク装置15は、ストレージノード3などがそれぞれ備えているハードディスクなどの記憶装置から構成されている。 The disk device 15 is a storage device such as a hard disk. Fragment data is stored in the disk device 15 in a state of deduplication in units of data blocks. Although only one disk device 15 is shown in FIG. 3, as described above, the disk device 15 is actually composed of a storage device such as a hard disk provided by each of the storage nodes 3 and the like. There is.

プリフェッチバッファ16は、メモリなどの記憶装置である。プリフェッチバッファ16には、世代ごとにデータ格納領域161を確保することが出来る。データ読み出し手段12により先読みされたフラグメントデータは、当該フラグメントデータが属する世代に応じたデータ格納領域161に格納されることになる。このように、プリフェッチバッファ16は、ディスク装置15から読み出されたフラグメントデータを一時的に記憶する。 The prefetch buffer 16 is a storage device such as a memory. A data storage area 161 can be secured in the prefetch buffer 16 for each generation. The fragment data read ahead by the data reading means 12 is stored in the data storage area 161 according to the generation to which the fragment data belongs. In this way, the prefetch buffer 16 temporarily stores the fragment data read from the disk device 15.

以上が、ストレージシステム1の構成の一例である。続いて、図7、図8を参照して、ストレージシステム1がディスク装置15からフラグメントデータを読み出す際の流れの一例について説明する。まず、図7を参照して、ストレージシステム1がディスク装置15からフラグメントデータを読み出す際の全体的な流れの一例について説明する。 The above is an example of the configuration of the storage system 1. Subsequently, an example of the flow when the storage system 1 reads the fragment data from the disk device 15 will be described with reference to FIGS. 7 and 8. First, with reference to FIG. 7, an example of an overall flow when the storage system 1 reads fragment data from the disk device 15 will be described.

例えば、ストレージシステム1は、読み出し要求されたバックアップイメージファイルの入力を受ける。すると、データ読み出し手段12は、上記バックアップイメージファイルの開始から順番にデータを読み出す処理を開始する。 For example, the storage system 1 receives the input of the backup image file requested to be read. Then, the data reading means 12 starts the process of reading the data in order from the start of the backup image file.

例えば、データ読み出し手段12は、ファイルの先頭からデータブロックの復元を試みる。データブロックは複数のフラグメントデータに分割して保存されているため、データ読み出し手段12は、順番にフラグメントデータを読み出すことになる。例えば、データ読み出し手段12は、ディスク装置15から管理情報を取得する。そして、データ読み出し手段12は、取得した管理情報を参照して、当該データブロックに基づいて生成されたフラグメントデータの保存ファイルと位置を特定する(ステップS101)。 For example, the data reading means 12 attempts to restore the data block from the beginning of the file. Since the data block is divided into a plurality of fragment data and stored, the data reading means 12 reads the fragment data in order. For example, the data reading means 12 acquires management information from the disk device 15. Then, the data reading means 12 refers to the acquired management information and specifies the storage file and the position of the fragment data generated based on the data block (step S101).

続いて、データ読み出し手段12は、上記フラグメントデータを読み出す。まず、データ読み出し手段12は、読み出す対象のフラグメントデータが既に先読みされてプリフェッチバッファ16に格納されているか否か確認する(ステップS102)。 Subsequently, the data reading means 12 reads the fragment data. First, the data reading means 12 confirms whether or not the fragment data to be read has already been read ahead and stored in the prefetch buffer 16 (step S102).

読み出す対象のフラグメントデータがプリフェッチバッファ16に格納されている場合(ステップS102、Yes)、データ読み出し手段12は、当該プリフェッチバッファ16から対象のフラグメントデータを取得する(ステップS103)。換言すると、読み出す対象のフラグメントデータがデータ格納領域161内に保存されている場合、データ読み出し手段12は、ディスク装置15からの読み出しを行わない。 When the fragment data to be read is stored in the prefetch buffer 16 (step S102, Yes), the data reading means 12 acquires the target fragment data from the prefetch buffer 16 (step S103). In other words, when the fragment data to be read is stored in the data storage area 161, the data reading means 12 does not read from the disk device 15.

一方、読み出す対象のフラグメントデータがプリフェッチバッファ16に格納されていない場合(ステップS102、No)、データ読み出し手段12は、読み出す対象のフラグメントデータの属する世代が、一つ前に読み出したフラグメントデータの属する世代と同一であるか否か確認する(ステップS105)。なお、データ読み出し手段12は、例えば、管理情報に含まれるフラグメントデータの保存ファイルと位置を示す情報に基づいて、フラグメントデータの世代を判断する。 On the other hand, when the fragment data to be read is not stored in the prefetch buffer 16 (step S102, No), in the data reading means 12, the generation to which the fragment data to be read belongs belongs to the previously read fragment data. It is confirmed whether or not it is the same as the generation (step S105). The data reading means 12 determines the generation of the fragment data based on, for example, the information indicating the storage file and the position of the fragment data included in the management information.

読み出す対象のフラグメントデータの属する世代が1つ前に読み出したフラグメントデータの属する世代と同一でない場合(ステップS105、No)、つまり、新たな世代のフラグメントを読み出す場合、データ読み出し手段12は、重複率算出手段13に対して変更前の世代の重複率を算出するよう指示する。また、データ読み出し手段12は、データ格納領域制御手段14に対して、変更後の世代用のデータ格納領域161を確保するよう指示する。これにより、重複率算出手段13が変更前の世代の重複率を算出するとともに、データ格納領域制御手段14が変更後の世代用のデータ格納領域を確保することになる(ステップS106)。 When the generation to which the fragment data to be read belongs is not the same as the generation to which the previously read fragment data belongs (step S105, No), that is, when reading a new generation fragment, the data reading means 12 has an overlap rate. The calculation means 13 is instructed to calculate the duplication rate of the generation before the change. Further, the data reading means 12 instructs the data storage area control means 14 to secure the data storage area 161 for the changed generation. As a result, the duplication rate calculating means 13 calculates the duplication rate of the generation before the change, and the data storage area control means 14 secures the data storage area for the generation after the change (step S106).

データ格納領域制御手段14は、重複率算出手段13が算出した変更前の世代の重複率が予め定められた破棄基準値より低いか否か確認する(ステップS107)。そして、重複率算出手段13が算出した変更前の世代の重複率が破棄基準値より低い場合(ステップS107、Yes)、データ格納領域制御手段14は、変更前の世代用のデータ格納領域161を破棄する(ステップS108)。一方、重複率算出手段13が算出した変更前の世代の重複率が破棄基準値以上である場合(ステップS107、No)、データ格納領域制御手段14は、変更前の世代用のデータ格納領域161を破棄しない。 The data storage area control means 14 confirms whether or not the duplication rate of the generation before the change calculated by the duplication rate calculation means 13 is lower than the predetermined discard reference value (step S107). When the duplication rate of the generation before the change calculated by the duplication rate calculating means 13 is lower than the discard reference value (step S107, Yes), the data storage area control means 14 sets the data storage area 161 for the generation before the change. Discard (step S108). On the other hand, when the duplication rate of the generation before the change calculated by the duplication rate calculating means 13 is equal to or greater than the discard reference value (step S107, No), the data storage area control means 14 has the data storage area 161 for the generation before the change. Do not discard.

また、データ格納領域制御手段14は、プリフェッチバッファ16に確保されているデータ格納領域161の数が予め定められた所定数を超えたか否か確認する(ステップS109)。データ格納領域161の数が所定数を超えている場合(ステップS109、Yes)、データ格納領域制御手段14は、重複率が最も低い世代のデータ格納領域161を破棄する(ステップS110)。 Further, the data storage area control means 14 confirms whether or not the number of data storage areas 161 reserved in the prefetch buffer 16 exceeds a predetermined number (step S109). When the number of data storage areas 161 exceeds a predetermined number (step S109, Yes), the data storage area control means 14 discards the data storage area 161 of the generation having the lowest duplication rate (step S110).

読み出す対象のフラグメントデータの属する世代が1つ前に読み出したフラグメントデータの属する世代と同一である場合(ステップS105、Yes)や、ステップS110の処理の後、データ格納領域の数が所定数以下である場合(ステップS109、No)、データ読み出し手段12は、ディスク装置15からフラグメントを読み込む(ステップS111)。なお、ステップS111の処理は、例えば、ステップS107の処理と並行して行われても構わない。ステップS111の処理の詳細は後述する。 When the generation to which the fragment data to be read belongs is the same as the generation to which the previously read fragment data belongs (steps S105, Yes), or after the processing of step S110, the number of data storage areas is less than or equal to a predetermined number. In some cases (step S109, No), the data reading means 12 reads the fragment from the disk device 15 (step S111). The process of step S111 may be performed in parallel with the process of step S107, for example. Details of the process in step S111 will be described later.

ステップS111の処理の後、又は、ステップS103の処理の後、データ読み出し手段12は、読み出す対象のフラグメントデータを全て読み出したか否か確認する。読み出す対象のフラグメントデータを全て読み出した場合(ステップS104、Yes)、データ読み出し手段12は、処理を終了する。一方、読み出す対象のフラグメントデータがまだ残っている場合、データ読み出し手段12は、次のフラグメントデータの読み出しに進む。 After the processing of step S111 or after the processing of step S103, the data reading means 12 confirms whether or not all the fragment data to be read has been read. When all the fragment data to be read is read (step S104, Yes), the data reading means 12 ends the process. On the other hand, when the fragment data to be read still remains, the data reading means 12 proceeds to read the next fragment data.

以上が、ストレージシステム1がディスク装置15からフラグメントデータを読み出す際の全体的な流れの一例である。続いて、図8を参照して、ステップS111の処理についてより詳細に説明する。 The above is an example of the overall flow when the storage system 1 reads fragment data from the disk device 15. Subsequently, the process of step S111 will be described in more detail with reference to FIG.

図8を参照すると、データ読み出し手段12は、ディスク装置15から読み出す対象のフラグメントデータを読み出す(ステップS201)。 Referring to FIG. 8, the data reading means 12 reads the fragment data to be read from the disk device 15 (step S201).

また、データ読み出し手段12は、上記ステップS201で読み出したフラグメントデータが属する世代の重複率が先読み基準値よりも低いか否か確認する(ステップS202)。そして、データ読み出し手段12は、上記ステップS201で読み出したフラグメントデータが属する世代の重複率が先読み基準値よりも低い場合(ステップS202、Yes)、先読みを行わない。一方、データ読み出し手段12は、上記ステップS201で読み出したフラグメントデータが属する世代の重複率が先読み基準値以上である場合(ステップS202、No)、読み出す対象のフラグメントデータにディスク装置15上で連続する所定の数の後続フラグメントデータを、例えばバックグラウンドで先読みする。そして、データ読み出し手段12は、先読みした所定の数の後続フラグメントデータをプリフェッチバッファ16の対応する世代のデータ格納領域161に格納する(ステップS203)。 Further, the data reading means 12 confirms whether or not the duplication rate of the generation to which the fragment data read in step S201 belongs is lower than the look-ahead reference value (step S202). Then, when the duplication rate of the generation to which the fragment data read in step S201 belongs is lower than the look-ahead reference value (step S202, Yes), the data reading means 12 does not perform look-ahead. On the other hand, when the duplication rate of the generation to which the fragment data read in step S201 belongs is equal to or higher than the look-ahead reference value (step S202, No), the data reading means 12 continues the fragment data to be read on the disk device 15. A predetermined number of subsequent fragment data is pre-read, for example, in the background. Then, the data reading means 12 stores a predetermined number of pre-read subsequent fragment data in the data storage area 161 of the corresponding generation of the prefetch buffer 16 (step S203).

以上が、図7のステップS111の詳細な一例である。 The above is a detailed example of step S111 in FIG.

このように、本実施形態におけるストレージシステム1は、重複率算出手段13とデータ格納領域制御手段14とを有している。このような構成により、データ格納領域制御手段14は、読み出すフラグメントデータの世代が変わる際に、重複率算出手段13が算出した変更前の世代の重複率に基づいて、変更前の世代用のデータ格納領域161を破棄するか否か決定することが出来る。その結果、読み込んだデータに基づいてデータが多く格納されている可能性が高いと判断される世代の先読みデータを保持し続けることが可能となる。これにより、重複記憶を排除する機能を有するストレージシステム1において、効率的な読み出しを行うことが可能となり、読み出し性能の低下を抑制することが可能となる。 As described above, the storage system 1 in the present embodiment has the duplication rate calculation means 13 and the data storage area control means 14. With such a configuration, when the generation of the fragment data to be read changes, the data storage area control means 14 is based on the duplication rate of the generation before the change calculated by the duplication rate calculation means 13, and the data for the generation before the change. It is possible to decide whether or not to discard the storage area 161. As a result, it becomes possible to continue to retain the look-ahead data of the generation that is determined to have a high possibility that a large amount of data is stored based on the read data. As a result, in the storage system 1 having a function of eliminating duplicate storage, efficient reading can be performed, and deterioration of reading performance can be suppressed.

また、ストレージシステム1は、重複率算出手段13が算出した重複率に基づいて、先読みするか否か判断するデータ読み出し手段12を有している。これにより、より必要性の高い世代のデータを先読みすることが可能となり、効率的な先読みを行うことが可能となる。その結果、重複記憶を排除する機能を有するストレージシステム1において、効率的な読み出しを行うことが可能となり、読み出し性能の低下を抑制することが可能となる。 Further, the storage system 1 has a data reading means 12 for determining whether or not to read ahead based on the duplication rate calculated by the duplication rate calculating means 13. As a result, it becomes possible to pre-read the data of a generation that is more necessary, and it becomes possible to perform an efficient pre-reading. As a result, in the storage system 1 having a function of eliminating duplicate storage, efficient reading can be performed, and deterioration of reading performance can be suppressed.

なお、データ読み出し手段12が先読みを行うか否か判断する際に用いる予め定められた先読み基準値と、データ格納領域制御手段14が変更前の世代用のデータ格納領域161を破棄するか否か判断する際に用いる破棄基準値と、は、同じ値であっても構わないし、異なる値であっても構わない。 It should be noted that the predetermined look-ahead reference value used when the data reading means 12 determines whether or not to perform look-ahead and whether or not the data storage area control means 14 discards the data storage area 161 for the generation before the change. The discard reference value used in the determination may be the same value or a different value.

[第2の実施形態]
次に、図9を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、ストレージ装置6の構成の概要について説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIG. In the second embodiment, the outline of the configuration of the storage device 6 will be described.

図9を参照すると、ストレージ装置6は、データ記憶部61と、一時データ記憶部62と、データ読出制御部63と、を有している。例えば、ストレージ装置6は、図示しない演算装置と図示しない記憶装置と有しており、記憶装置に格納されたプログラムを演算装置が実行することで、上記データ読出制御部63を実現する。 Referring to FIG. 9, the storage device 6 includes a data storage unit 61, a temporary data storage unit 62, and a data read control unit 63. For example, the storage device 6 has an arithmetic unit (not shown) and a storage device (not shown), and the arithmetic unit executes a program stored in the storage device to realize the data read control unit 63.

データ記憶部61は、ハードディスクなどの記憶装置である。データ記憶部61は、複数世代のデータを重複排除して記憶している。 The data storage unit 61 is a storage device such as a hard disk. The data storage unit 61 stores data of a plurality of generations by deduplication.

一時データ記憶部62は、メモリなどの記憶装置である。一時データ記憶部62は、データ記憶部61から読み出されたデータを一時的に記憶する。 The temporary data storage unit 62 is a storage device such as a memory. The temporary data storage unit 62 temporarily stores the data read from the data storage unit 61.

データ読出制御部63は、データ記憶部61が記憶するデータを読み出して一時データ記憶部62に記憶させる。また、データ読出制御部63は、一時データ記憶部62からデータを読み出す。このように、データ読出制御部63は、データ記憶部61が記憶するデータを読み出して一時データ記憶部62に記憶させるとともに、一時データ記憶部62からデータを読み出すよう構成されている。 The data read control unit 63 reads the data stored in the data storage unit 61 and stores it in the temporary data storage unit 62. Further, the data read control unit 63 reads data from the temporary data storage unit 62. As described above, the data read control unit 63 is configured to read the data stored in the data storage unit 61 and store it in the temporary data storage unit 62, and also read the data from the temporary data storage unit 62.

さらに、データ読出制御部63は、外部装置から受信した読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいて、一時データ記憶部62に記憶するデータを制御する。 Further, the data read control unit 63 controls the data stored in the temporary data storage unit 62 based on the ratio of the data for each generation to the data read in response to the read request received from the external device.

このように、本実施形態におけるストレージ装置6は、データ読出制御部63を有している。このような構成により、データ読出制御部63は、読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいて、一時データ記憶部62に記憶するデータを制御することが出来る。その結果、一時データ記憶部62を効率的に活用することが可能となる。これにより、重複記憶を排除する機能を有するストレージシステム1において、効率的な読み出しを行うことが可能となり、読み出し性能の低下を抑制することが可能となる。 As described above, the storage device 6 in the present embodiment has the data read control unit 63. With such a configuration, the data read control unit 63 can control the data stored in the temporary data storage unit 62 based on the ratio of the data for each generation to the data read in response to the read request. As a result, the temporary data storage unit 62 can be efficiently used. As a result, in the storage system 1 having a function of eliminating duplicate storage, efficient reading can be performed, and deterioration of reading performance can be suppressed.

また、上述したストレージ装置6は、当該ストレージ装置6に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、複数世代のデータを重複排除して記憶するデータ記憶部61と、データ記憶部61から読み出されたデータを一時的に記憶する一時データ記憶部62と、を有するストレージ装置6に、データ記憶部61が記憶するデータを読み出して一時データ記憶部62に記憶させるとともに、一時データ記憶部62からデータを読み出すデータ読出制御手段(データ読出制御部63)を実現させ、データ読出制御手段は、外部装置から受信した読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいて、一時データ記憶部62に記憶するデータを制御する、プログラムである。 Further, the above-mentioned storage device 6 can be realized by incorporating a predetermined program into the storage device 6. Specifically, the program according to another embodiment of the present invention has a data storage unit 61 that deduplications and stores data of a plurality of generations, and temporary data that temporarily stores data read from the data storage unit 61. A data read control means (data read control) in which the storage device 6 having the storage unit 62 reads the data stored in the data storage unit 61 and stores the data in the temporary data storage unit 62, and also reads the data from the temporary data storage unit 62. Unit 63) is realized, and the data read control means controls the data stored in the temporary data storage unit 62 based on the ratio of the data for each generation to the data read in response to the read request received from the external device. It is a program.

また、上述したストレージ装置6により実行される情報処理方法は、複数世代のデータを重複排除して記憶するデータ記憶部61と、データ記憶部61から読み出されたデータを一時的に記憶する一時データ記憶部62と、を有する情報処理装置(ストレージ装置6)が、データ記憶部61が記憶するデータを読み出して一時データ記憶部62に記憶させるとともに、一時データ記憶部62からデータを読み出し、外部装置から受信した読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいて、一時データ記憶部62に記憶するデータを制御する、という方法である。 Further, the information processing method executed by the storage device 6 described above includes a data storage unit 61 that deduplications and stores data of a plurality of generations, and a temporary storage unit 61 that temporarily stores the data read from the data storage unit 61. An information processing device (storage device 6) having the data storage unit 62 reads out the data stored in the data storage unit 61 and stores the data in the temporary data storage unit 62, and also reads the data from the temporary data storage unit 62 and externally. This is a method of controlling the data stored in the temporary data storage unit 62 based on the ratio of the data for each generation to the data read in response to the read request received from the device.

上述した構成を有する、プログラム、又は、情報処理方法、の発明であっても、上記ストレージ装置6と同様の作用を有するために、上述した本発明の目的を達成することが出来る。 Even the invention of the program or the information processing method having the above-mentioned configuration can achieve the above-mentioned object of the present invention because it has the same operation as the above-mentioned storage device 6.

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージ装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
<Additional notes>
Part or all of the above embodiments may also be described as in the appendix below. Hereinafter, the outline of the storage device and the like in the present invention will be described. However, the present invention is not limited to the following configurations.

(付記1)
複数世代のデータを重複排除して記憶するデータ記憶部と、
前記データ記憶部から読み出されたデータを一時的に記憶する一時データ記憶部と、
前記データ記憶部が記憶するデータを読み出して前記一時データ記憶部に記憶させるとともに、前記一時データ記憶部からデータを読み出すデータ読出制御部と、
を有し、
前記データ読出制御部は、外部装置から受信した読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記一時データ記憶部に記憶する世代ごとのデータの記憶状況を制御する
ストレージ装置。
(付記2)
付記1に記載のストレージ装置であって、
前記データ読出制御部は、前記一時データ記憶部に世代ごとのデータ格納領域を確保して、確保したデータ格納領域に対応する世代のデータを格納するよう構成され、前記読み出し要求に応じて読み出すデータの属する世代が変わる際に、変わった後の世代用の前記データ格納領域を確保するとともに、前記読み出し要求に応じて読み出したデータのうち変わる前の世代のデータが占める割合に基づいて、変わる前の世代用の前記データ格納領域を破棄するか否かを決定する
ストレージ装置。
(付記3)
付記2に記載のストレージ装置であって、
前記データ読出制御部は、前記変わる前の世代のデータのサイズを前記読み出し要求に応じて読み出したデータのサイズで除した値が予め定められた基準値より低い場合に、前記変わる前の世代用の前記データ格納領域を破棄する
ストレージ装置。
(付記4)
付記1乃至3のいずれかに記載のストレージ装置であって、
前記データ読出制御部は、前記一時データ記憶部に確保されている前記データ格納領域の数が予め定められた所定数を超えた場合に、前記読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記データ格納領域を破棄する
ストレージ装置。
(付記5)
付記4に記載のストレージ装置であって、
前記データ読出制御部は、前記一時データ記憶部に確保されている前記データ格納領域の数が予め定められた所定数を超えた場合、前記一時データ記憶部に確保されている前記データ格納領域のうち、読み出したデータに含まれる割合が最も低い世代の前記データ格納領域を破棄する
ストレージ装置。
(付記6)
付記1乃至5のいずれかに記載のストレージ装置であって、
前記データ読出制御部は、前記読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記データ記憶部が記憶するデータを読み出す際に、読み出す対象のデータを読み出すとともに、当該読み出す対象のデータに続く所定範囲のデータを読み出すか否か判断する
ストレージ装置。
(付記7)
付記6に記載のストレージ装置であって、
前記データ読出制御部は、前記読み出し要求に応じて読み出したデータのうち読み出す対象のデータが属する世代の割合が予め定められた基準値以上である場合、前記データ記憶部が記憶する前記データを読み出す際に、読み出す対象のデータを読み出すとともに、当該読み出す対象のデータに続く所定範囲のデータを読み出す
ストレージ装置。
(付記8)
付記6又は7に記載のストレージ装置であって、
前記データ読出制御部は、前記読み出す対象のデータに続く所定範囲のデータを読み出すと、当該読み出した所定範囲のデータを前記一時データ記憶部に記憶させる
ストレージ装置。
(付記9)
複数世代のデータを重複排除して記憶するデータ記憶部と、前記データ記憶部から読み出されたデータを一時的に記憶する一時データ記憶部と、を有するストレージ装置に、
前記データ記憶部が記憶するデータを読み出して前記一時データ記憶部に記憶させるとともに、前記一時データ記憶部からデータを読み出すデータ読出制御手段を実現させ、
前記データ読出制御手段は、外部装置から受信した読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記一時データ記憶部に記憶する世代ごとのデータの記憶状況を制御する
プログラム。
(付記9−1)
付記9に記載のプログラムであって、
前記データ読出制御手段は、前記一時データ記憶部に世代ごとのデータ格納領域を確保して、確保したデータ格納領域に対応する世代のデータを格納するよう構成され、前記読み出し要求に応じて読み出すデータの属する世代が変わる際に、変わった後の世代用の前記データ格納領域を確保するとともに、前記読み出し要求に応じて読み出したデータのうち変わる前の世代のデータが占める割合に基づいて、変わる前の世代用の前記データ格納領域を破棄するか否かを決定する
プログラム。
(付記9−2)
付記9−1に記載のプログラムであって、
前記データ読出制御手段は、前記変わる前の世代のデータのサイズを前記読み出し要求に応じて読み出したデータのサイズで除した値が予め定められた基準値より低い場合に、変わる前の世代用の前記データ格納領域を破棄する
プログラム。
(付記10)
複数世代のデータを重複排除して記憶するデータ記憶部と、前記データ記憶部から読み出されたデータを一時的に記憶する一時データ記憶部と、を有する情報処理装置が、
前記データ記憶部が記憶するデータを読み出して前記一時データ記憶部に記憶させるとともに、前記一時データ記憶部からデータを読み出し、外部装置から受信した読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記一時データ記憶部に記憶する世代ごとのデータの記憶状況を制御する
情報処理方法。
(付記10−1)
付記10に記載の情報処理方法であって、
前記一時データ記憶部に世代ごとのデータ格納領域を確保して、確保したデータ格納領域に対応する世代のデータを格納し、前記読み出し要求に応じて読み出すデータの属する世代が変わる際に、変わった後の世代用の前記データ格納領域を確保するとともに、前記読み出し要求に応じて読み出したデータのうち変わる前の世代のデータが占める割合に基づいて、変わる前の世代用の前記データ格納領域を破棄するか否かを決定する
情報処理方法。
(付記10−2)
付記10−1に記載の情報処理方法であって、
前記変わる前の世代のデータのサイズを前記読み出し要求に応じて読み出したデータのサイズで除した値が予め定められた基準値より低い場合に、変わる前の世代用の前記データ格納領域を破棄する
情報処理方法。
(Appendix 1)
A data storage unit that deduplications and stores data of multiple generations,
A temporary data storage unit that temporarily stores the data read from the data storage unit, and
A data read control unit that reads data stored in the data storage unit and stores the data in the temporary data storage unit, and also reads data from the temporary data storage unit.
Have,
The data read control unit controls the storage status of the data for each generation stored in the temporary data storage unit based on the ratio of the data of each generation to the data read in response to the read request received from the external device. Storage device.
(Appendix 2)
The storage device according to Appendix 1.
The data read control unit is configured to secure a data storage area for each generation in the temporary data storage unit and store the data of the generation corresponding to the secured data storage area, and the data to be read in response to the read request. When the generation to which the change belongs, the data storage area for the generation after the change is secured, and the data before the change is based on the ratio of the data of the generation before the change to the data read in response to the read request. A storage device that determines whether or not to discard the data storage area for the generation of.
(Appendix 3)
The storage device according to Appendix 2,
The data read control unit is used for the generation before the change when the value obtained by dividing the size of the data of the generation before the change by the size of the data read in response to the read request is lower than a predetermined reference value. A storage device that discards the data storage area of the above.
(Appendix 4)
The storage device according to any one of Supplementary note 1 to 3.
When the number of the data storage areas reserved in the temporary data storage unit exceeds a predetermined number predetermined, the data read control unit of each generation of the data read in response to the read request. A storage device that discards the data storage area based on the percentage of data occupied.
(Appendix 5)
The storage device according to Appendix 4,
When the number of the data storage areas reserved in the temporary data storage unit exceeds a predetermined number, the data read control unit of the data read control unit secures the data storage area in the temporary data storage unit. A storage device that discards the data storage area of the generation having the lowest ratio contained in the read data.
(Appendix 6)
The storage device according to any one of Appendix 1 to 5.
When the data read control unit reads the data stored in the data storage unit based on the ratio of the data of each generation to the data read in response to the read request, the data read control unit reads the data to be read and also reads the data to be read. A storage device that determines whether or not to read a predetermined range of data following the data to be read.
(Appendix 7)
The storage device according to Appendix 6.
When the ratio of the generation to which the data to be read belongs to the data read in response to the read request is equal to or more than a predetermined reference value, the data read control unit reads the data stored in the data storage unit. A storage device that reads data to be read and a predetermined range of data following the data to be read.
(Appendix 8)
The storage device according to Appendix 6 or 7.
The data read control unit is a storage device that, when reading data in a predetermined range following the data to be read, stores the read data in the predetermined range in the temporary data storage unit.
(Appendix 9)
A storage device having a data storage unit that deduplications and stores data of a plurality of generations and a temporary data storage unit that temporarily stores data read from the data storage unit.
A data read control means for reading data stored in the data storage unit and storing the data in the temporary data storage unit and reading data from the temporary data storage unit is realized.
The data read control means controls the storage status of the data for each generation stored in the temporary data storage unit based on the ratio of the data of each generation to the data read in response to the read request received from the external device. Program to do.
(Appendix 9-1)
The program described in Appendix 9
The data read control means is configured to secure a data storage area for each generation in the temporary data storage unit and store the data of the generation corresponding to the secured data storage area, and the data to be read in response to the read request. When the generation to which the change belongs, the data storage area for the generation after the change is secured, and the data before the change is based on the ratio of the data of the generation before the change to the data read in response to the read request. A program that determines whether or not to discard the data storage area for the generation of.
(Appendix 9-2)
The program described in Appendix 9-1.
The data read control means is used for the generation before the change when the value obtained by dividing the size of the data of the generation before the change by the size of the data read in response to the read request is lower than a predetermined reference value. A program that destroys the data storage area.
(Appendix 10)
An information processing device having a data storage unit that deduplications and stores data of a plurality of generations and a temporary data storage unit that temporarily stores data read from the data storage unit.
The data stored in the data storage unit is read and stored in the temporary data storage unit, the data is read from the temporary data storage unit, and the data of each generation among the data read in response to the read request received from the external device. An information processing method that controls the storage status of data for each generation stored in the temporary data storage unit based on the ratio of the data.
(Appendix 10-1)
The information processing method described in Appendix 10
A data storage area for each generation is secured in the temporary data storage unit, data of the generation corresponding to the secured data storage area is stored, and the data is changed when the generation to which the data to be read belongs changes in response to the read request. The data storage area for the later generation is secured, and the data storage area for the previous generation is discarded based on the ratio of the data of the previous generation to the data read in response to the read request. An information processing method that determines whether or not to do so.
(Appendix 10-2)
The information processing method according to Appendix 10-1.
When the value obtained by dividing the size of the data of the generation before the change by the size of the data read in response to the read request is lower than the predetermined reference value, the data storage area for the generation before the change is discarded. Information processing method.

なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。 The programs described in each of the above embodiments and appendices may be stored in a storage device or recorded in a computer-readable recording medium. For example, the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.

以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。 Although the present invention has been described above with reference to each of the above embodiments, the present invention is not limited to the above-described embodiments. Various changes that can be understood by those skilled in the art can be made to the structure and details of the present invention within the scope of the present invention.

1 ストレージシステム
11 データ書き込み手段
12 データ読み出し手段
13 重複率算出手段
14 データ格納領域制御手段
15 ディスク装置
16 プリフェッチバッファ
161 データ格納領域
2 アクセラレータノード
3 ストレージノード
4 バックアップシステム
5 バックアップ対象装置
6 ストレージ装置
61 データ記憶部
62 一時データ記憶部
63 データ読出制御部

1 Storage system 11 Data writing means 12 Data reading means 13 Duplicate rate calculation means 14 Data storage area control means 15 Disk device 16 Prefetch buffer 161 Data storage area 2 Accelerator node 3 Storage node 4 Backup system 5 Backup target device 6 Storage device 61 Data Storage unit 62 Temporary data storage unit 63 Data read control unit

Claims (10)

複数世代のデータを重複排除して記憶するデータ記憶部と、
前記データ記憶部から読み出されたデータを一時的に記憶する一時データ記憶部と、
前記データ記憶部が記憶するデータを読み出して前記一時データ記憶部に記憶させるとともに、前記一時データ記憶部からデータを読み出すデータ読出制御部と、
を有し、
前記データ読出制御部は、外部装置から受信した読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記一時データ記憶部に記憶する世代ごとのデータの記憶状況を制御する
ストレージ装置。
A data storage unit that deduplications and stores data of multiple generations,
A temporary data storage unit that temporarily stores the data read from the data storage unit, and
A data read control unit that reads data stored in the data storage unit and stores the data in the temporary data storage unit, and also reads data from the temporary data storage unit.
Have,
The data read control unit controls the storage status of the data for each generation stored in the temporary data storage unit based on the ratio of the data of each generation to the data read in response to the read request received from the external device. Storage device.
請求項1に記載のストレージ装置であって、
前記データ読出制御部は、前記一時データ記憶部に世代ごとのデータ格納領域を確保して、確保したデータ格納領域に対応する世代のデータを格納するよう構成され、前記読み出し要求に応じて読み出すデータの属する世代が変わる際に、変わった後の世代用の前記データ格納領域を確保するとともに、前記読み出し要求に応じて読み出したデータのうち変わる前の世代のデータが占める割合に基づいて、当該変わる前の世代用の前記データ格納領域を破棄するか否かを決定する
ストレージ装置。
The storage device according to claim 1.
The data read control unit is configured to secure a data storage area for each generation in the temporary data storage unit and store the data of the generation corresponding to the secured data storage area, and the data to be read in response to the read request. When the generation to which the change belongs, the data storage area for the generation after the change is secured, and the change is based on the ratio of the data of the previous generation to the data read in response to the read request. A storage device that determines whether to discard the data storage area for the previous generation.
請求項2に記載のストレージ装置であって、
前記データ読出制御部は、前記変わる前の世代のデータのサイズを前記読み出し要求に応じて読み出したデータのサイズで除した値が予め定められた基準値より低い場合に、前記変わる前の世代用の前記データ格納領域を破棄する
ストレージ装置。
The storage device according to claim 2.
The data read control unit is used for the generation before the change when the value obtained by dividing the size of the data of the generation before the change by the size of the data read in response to the read request is lower than a predetermined reference value. A storage device that discards the data storage area of the above.
請求項2または請求項3に記載のストレージ装置であって、
前記データ読出制御部は、前記一時データ記憶部に確保されている前記データ格納領域の数が予め定められた所定数を超えた場合に、前記読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記データ格納領域を破棄する
ストレージ装置。
The storage device according to claim 2 or 3.
When the number of the data storage areas reserved in the temporary data storage unit exceeds a predetermined number predetermined, the data read control unit of each generation of the data read in response to the read request. A storage device that discards the data storage area based on the percentage of data occupied.
請求項4に記載のストレージ装置であって、
前記データ読出制御部は、前記一時データ記憶部に確保されている前記データ格納領域の数が予め定められた所定数を超えた場合、前記一時データ記憶部に確保されている前記データ格納領域のうち、読み出したデータに含まれる割合が最も低い世代の前記データ格納領域を破棄する
ストレージ装置。
The storage device according to claim 4.
When the number of the data storage areas reserved in the temporary data storage unit exceeds a predetermined number, the data read control unit of the data read control unit secures the data storage area in the temporary data storage unit. A storage device that discards the data storage area of the generation having the lowest ratio contained in the read data.
請求項1乃至5のいずれかに記載のストレージ装置であって、
前記データ読出制御部は、前記読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記データ記憶部が記憶するデータを読み出す際に、読み出す対象のデータを読み出すとともに、当該読み出す対象のデータに続く所定範囲のデータを読み出すか否か判断する
ストレージ装置。
The storage device according to any one of claims 1 to 5.
When the data read control unit reads the data stored in the data storage unit based on the ratio of the data of each generation to the data read in response to the read request, the data read control unit reads the data to be read and also reads the data to be read. A storage device that determines whether or not to read a predetermined range of data following the data to be read.
請求項6に記載のストレージ装置であって、
前記データ読出制御部は、前記読み出し要求に応じて読み出したデータのうち読み出す対象のデータが属する世代の割合が予め定められた基準値以上である場合、前記データ記憶部が記憶する前記データを読み出す際に、読み出す対象のデータを読み出すとともに、当該読み出す対象のデータに続く所定範囲のデータを読み出す
ストレージ装置。
The storage device according to claim 6.
When the ratio of the generation to which the data to be read belongs to the data read in response to the read request is equal to or more than a predetermined reference value, the data read control unit reads the data stored in the data storage unit. A storage device that reads data to be read and a predetermined range of data following the data to be read.
請求項6又は7に記載のストレージ装置であって、
前記データ読出制御部は、前記読み出す対象のデータに続く所定範囲のデータを読み出すと、当該読み出した所定範囲のデータを前記一時データ記憶部に記憶させる
ストレージ装置。
The storage device according to claim 6 or 7.
The data read control unit is a storage device that, when reading data in a predetermined range following the data to be read, stores the read data in the predetermined range in the temporary data storage unit.
複数世代のデータを重複排除して記憶するデータ記憶部と、前記データ記憶部から読み出されたデータを一時的に記憶する一時データ記憶部と、を有するストレージ装置に、
前記データ記憶部が記憶するデータを読み出して前記一時データ記憶部に記憶させるとともに、前記一時データ記憶部からデータを読み出すデータ読出制御手段を実現させ、
前記データ読出制御手段は、外部装置から受信した読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記一時データ記憶部に記憶する世代ごとのデータの記憶状況を制御する
プログラム。
A storage device having a data storage unit that deduplications and stores data of a plurality of generations and a temporary data storage unit that temporarily stores data read from the data storage unit.
A data read control means for reading data stored in the data storage unit and storing the data in the temporary data storage unit and reading data from the temporary data storage unit is realized.
The data read control means controls the storage status of the data for each generation stored in the temporary data storage unit based on the ratio of the data of each generation to the data read in response to the read request received from the external device. Program to do.
複数世代のデータを重複排除して記憶するデータ記憶部と、前記データ記憶部から読み出されたデータを一時的に記憶する一時データ記憶部と、を有する情報処理装置が、
前記データ記憶部が記憶するデータを読み出して前記一時データ記憶部に記憶させるとともに、前記一時データ記憶部からデータを読み出し、外部装置から受信した読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記一時データ記憶部に記憶する世代ごとのデータの記憶状況を制御する
情報処理方法。
An information processing device having a data storage unit that deduplications and stores data of a plurality of generations and a temporary data storage unit that temporarily stores data read from the data storage unit.
The data stored in the data storage unit is read and stored in the temporary data storage unit, the data is read from the temporary data storage unit, and the data of each generation among the data read in response to the read request received from the external device. An information processing method that controls the storage status of data for each generation stored in the temporary data storage unit based on the ratio of the data.
JP2017036040A 2017-02-28 2017-02-28 Storage device, program, information processing method Active JP6842064B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017036040A JP6842064B2 (en) 2017-02-28 2017-02-28 Storage device, program, information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017036040A JP6842064B2 (en) 2017-02-28 2017-02-28 Storage device, program, information processing method

Publications (2)

Publication Number Publication Date
JP2018142175A JP2018142175A (en) 2018-09-13
JP6842064B2 true JP6842064B2 (en) 2021-03-17

Family

ID=63528107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017036040A Active JP6842064B2 (en) 2017-02-28 2017-02-28 Storage device, program, information processing method

Country Status (1)

Country Link
JP (1) JP6842064B2 (en)

Also Published As

Publication number Publication date
JP2018142175A (en) 2018-09-13

Similar Documents

Publication Publication Date Title
US9690487B2 (en) Storage apparatus and method for controlling storage apparatus
US9405684B1 (en) System and method for cache management
US8996799B2 (en) Content storage system with modified cache write policies
US9471620B2 (en) Sub-block partitioning for hash-based deduplication
JP5418719B2 (en) Storage device
US9367256B2 (en) Storage system having defragmentation processing function
US8683122B2 (en) Storage system
US11068405B2 (en) Compression of host I/O data in a storage processor of a data storage system with selection of data compression components based on a current fullness level of a persistent cache
CN112000627B (en) Data storage method, system, electronic equipment and storage medium
US20170220421A1 (en) Head start population of an image backup
KR20090117919A (en) Extending flash drive lifespan
US20120226672A1 (en) Method and Apparatus to Align and Deduplicate Objects
US10606499B2 (en) Computer system, storage apparatus, and method of managing data
US20180088819A1 (en) Selecting a virtual tape server in a storage system to provide data copy while minimizing system job load
US8683121B2 (en) Storage system
US8738858B1 (en) System and method for improving cache performance
JP6406283B2 (en) Storage apparatus and storage method
EP4170499A1 (en) Data storage method, storage system, storage device, and storage medium
JP6842064B2 (en) Storage device, program, information processing method
JP6819869B2 (en) Storage device, program, information processing method
US9575679B2 (en) Storage system in which connected data is divided
JP2007323557A (en) Disk array device and load balancing method thereof
US9336214B2 (en) File-name extension characters for file distribution
JP6281333B2 (en) Storage system
JP7456601B2 (en) Information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210202

R150 Certificate of patent or registration of utility model

Ref document number: 6842064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150