JP6842064B2 - Storage device, program, information processing method - Google Patents
Storage device, program, information processing method Download PDFInfo
- 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
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
データを高速に読み出すため、特許文献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
このように、重複記憶を排除する機能を有するストレージ装置においては、効率的に必要なデータを取得することが難しく、読み出し性能の低下を抑制することが難しい、という問題が生じていた。 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.
[第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
第1の実施形態では、プリフェッチバッファ16を効率的に利用することで読み出し性能が低下することを抑制する、重複排除機能を有するストレージシステム1について説明する。本実施形態におけるストレージシステム1は、読み出し要求を受信すると、一連のデータブロックを復元するとともに、復元したデータブロックを連結して対象のファイルを復元する。この際、ストレージシステム1は、ディスク装置15からデータブロックに基づいて生成された複数のフラグメントデータを取得して、取得したフラグメントデータに基づいてデータブロックを復元する。本実施形態におけるストレージシステム1は、ディスク装置15からフラグメントデータを取得する際に、予めディスク装置15から先読みしてプリフェッチバッファ16に格納されているフラグメントデータも活用して、必要なフラグメントデータを取得する。また、後述するように、ストレージシステム1は、読み出し要求に応じて読み出した(読み出し済みの)データに対する世代ごとのデータの割合に基づいて、プリフェッチバッファ16に格納する情報や格納されている情報の制御を行う。このように、読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいてプリフェッチバッファ16に格納する情報や格納されている情報の制御を行うことで、先読みしたデータを有効的に活用することが可能となる。その結果、重複記憶を排除する機能を有するストレージ装置において、読み出し性能の低下を抑制することが可能となる。
In the first embodiment, a
図1を参照すると、本実施形態におけるストレージシステム1は、ネットワークNを介してバックアップ処理を制御するバックアップシステム4に接続している。そして、バックアップシステム4は、ネットワークNを介して接続されたバックアップ対象装置5に格納されているバックアップ対象データ(書き込み対象となるデータ)を取得し、ストレージシステム1に対して記憶するよう要求する。これにより、ストレージシステム1は、記憶要求されたバックアップ対象データをバックアップ用に記憶する。
Referring to FIG. 1, the
図2に示すように、本実施形態におけるストレージシステム1は、複数のサーバコンピュータが接続された構成を採っている。具体的に、ストレージシステム1は、ストレージシステム1自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード2と、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード3と、を備えている。なお、アクセラレータノード2の数とストレージノード3の数は、図2に示したものに限定されない。アクセラレータノード2やストレージノード3の数は、1つであっても構わないし、2つ以上の任意の数であっても構わない。
As shown in FIG. 2, the
さらに、本実施形態におけるストレージシステム1は、データを分割及び冗長化し、分散して複数の記憶装置に記憶する。ストレージシステム1がデータを記憶する際の処理については、後述する。
Further, the
なお、以下では、ストレージシステム1が1つのシステムであるとして、当該ストレージシステム1が備えている構成及び機能を説明する。つまり、以下に説明するストレージシステム1が有する構成及び機能は、アクセラレータノード2あるいはストレージノード3のいずれに備えられていてもよい。なお、ストレージシステム1は、図2に示すように、必ずしもアクセラレータノード2とストレージノード3とを備えていることに限定されず、いかなる構成であってもよく、例えば、1台のコンピュータにて構成されていてもよい。
In the following, assuming that the
図3に、本実施形態におけるストレージシステム1の構成の一例を示す。図3を参照すると、ストレージシステム1は、データ書き込み手段11と、データ読み出し手段12(データ読出制御部の一部)と、重複率算出手段13(データ読出制御部の一部)と、データ格納領域制御手段14(データ読出制御部の一部)と、ディスク装置15(データ記憶部)と、プリフェッチバッファ16(一時データ記憶部)と、を有している。ストレージシステム1は、例えば、所定の演算処理を行う図示しない演算装置と図示しない記憶装置とを有しており、記憶装置に格納されたプログラムを演算装置が実行することで上記各手段を実現する。
FIG. 3 shows an example of the configuration of the
なお、実際には、上述したストレージシステム1が備える構成は、図2に示したアクセラレータノード2及びストレージノード3がそれぞれ備えているCPU(Central Processing Unit)などの演算装置やハードディスクなどの記憶装置にて構成されている。
Actually, the configuration provided in the
データ書き込み手段11は、ファイルの書き込み要求に応じて、重複排除したデータをディスク装置15に格納する。
The data writing means 11 stores the deduplicated data in the
例えば、図4を参照すると、ストレージシステム1は、書き込み要求されたファイルAの入力を受ける。すると、データ書き込み手段11は、ファイルAを所定容量(例えば、64KB)のデータブロックDに分割する。このようにファイルAをデータブロックDに分割することで、重複排除がしやすくなる。
For example, referring to FIG. 4, the
続いて、データ書き込み手段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
ストレージシステム1が算出したハッシュ値を既に有している場合、既に同一内容のデータブロックDが格納されていると判断できる。この場合には、データ書き込み手段11は、書き込み要求されたデータブロックDの格納先として、既に格納されている同一内容のデータブロックDの領域を指定することで、当該書き込み要求されたデータブロックDを記憶したこととする。これにより、書き込み要求にかかるデータブロックDを、実際に記憶装置20内に記憶する必要がなくなる。換言すると、既に同一内容のデータブロックDが書き込まれている場合、データ書き込み手段11は後述するフラグメントデータの書き込みを行わないことになる。
When the
一方、書き込み要求にかかるデータブロック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
データ書き込み手段11は、例えば、上記のようにして、重複排除したデータをディスク装置15に格納する。その結果、例えば、図5で示すように、新たな世代のファイルを保存しようとする場合、当該新たな世代で追加・更新されたデータ(差分データ)のみが記憶装置であるディスク装置15に格納されることになる。
The data writing means 11 stores the deduplicated data in the
データ読み出し手段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
例えば、データ読み出し手段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
例えば、データ読み出し手段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
また、本実施形態におけるデータ読み出し手段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
このように、データ読み出し手段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
データ格納領域制御手段14は、データ読み出し手段12からの指示や重複率算出手段13が算出した重複率に基づいて、プリフェッチバッファ16を制御する。
The data storage area control means 14 controls the
例えば、データ格納領域制御手段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
また、データ格納領域制御手段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
なお、データ格納領域制御手段14は、事前に重複率算出手段13により算出された図示しないメモリに格納されている各世代の重複率に基づいて、破棄するデータ格納領域161を決定しても構わない。また、データ格納領域制御手段14は、例えば、プリフェッチバッファ16の容量に対する使用されている割合が予め設定された基準(例えば、予め定められている基準閾値。任意の値で構わない)を超えたタイミングなどで、データ格納領域161の破棄を行うよう構成しても構わない。
The data storage area control means 14 may determine the
このように、データ格納領域制御手段14は、データ読み出し手段12からの指示や重複率算出手段13が算出した重複率に基づいて、プリフェッチバッファ16にデータ格納領域161を新たに確保したり、確保されているデータ格納領域161を破棄したりする。
In this way, the data storage area control means 14 newly secures or secures the
以上のように、データ読み出し手段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
ディスク装置15は、ハードディスクなどの記憶装置である。ディスク装置15には、データブロック単位で重複排除した状態で、フラグメントデータが格納されている。なお、図3では1つのディスク装置15のみが記載されているが、上述したように、実際には、ディスク装置15は、ストレージノード3などがそれぞれ備えているハードディスクなどの記憶装置から構成されている。
The
プリフェッチバッファ16は、メモリなどの記憶装置である。プリフェッチバッファ16には、世代ごとにデータ格納領域161を確保することが出来る。データ読み出し手段12により先読みされたフラグメントデータは、当該フラグメントデータが属する世代に応じたデータ格納領域161に格納されることになる。このように、プリフェッチバッファ16は、ディスク装置15から読み出されたフラグメントデータを一時的に記憶する。
The
以上が、ストレージシステム1の構成の一例である。続いて、図7、図8を参照して、ストレージシステム1がディスク装置15からフラグメントデータを読み出す際の流れの一例について説明する。まず、図7を参照して、ストレージシステム1がディスク装置15からフラグメントデータを読み出す際の全体的な流れの一例について説明する。
The above is an example of the configuration of the
例えば、ストレージシステム1は、読み出し要求されたバックアップイメージファイルの入力を受ける。すると、データ読み出し手段12は、上記バックアップイメージファイルの開始から順番にデータを読み出す処理を開始する。
For example, the
例えば、データ読み出し手段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
続いて、データ読み出し手段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
一方、読み出す対象のフラグメントデータがプリフェッチバッファ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
データ格納領域制御手段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
また、データ格納領域制御手段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
読み出す対象のフラグメントデータの属する世代が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
図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
以上が、図7のステップS111の詳細な一例である。 The above is a detailed example of step S111 in FIG.
このように、本実施形態におけるストレージシステム1は、重複率算出手段13とデータ格納領域制御手段14とを有している。このような構成により、データ格納領域制御手段14は、読み出すフラグメントデータの世代が変わる際に、重複率算出手段13が算出した変更前の世代の重複率に基づいて、変更前の世代用のデータ格納領域161を破棄するか否か決定することが出来る。その結果、読み込んだデータに基づいてデータが多く格納されている可能性が高いと判断される世代の先読みデータを保持し続けることが可能となる。これにより、重複記憶を排除する機能を有するストレージシステム1において、効率的な読み出しを行うことが可能となり、読み出し性能の低下を抑制することが可能となる。
As described above, the
また、ストレージシステム1は、重複率算出手段13が算出した重複率に基づいて、先読みするか否か判断するデータ読み出し手段12を有している。これにより、より必要性の高い世代のデータを先読みすることが可能となり、効率的な先読みを行うことが可能となる。その結果、重複記憶を排除する機能を有するストレージシステム1において、効率的な読み出しを行うことが可能となり、読み出し性能の低下を抑制することが可能となる。
Further, the
なお、データ読み出し手段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
[第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
図9を参照すると、ストレージ装置6は、データ記憶部61と、一時データ記憶部62と、データ読出制御部63と、を有している。例えば、ストレージ装置6は、図示しない演算装置と図示しない記憶装置と有しており、記憶装置に格納されたプログラムを演算装置が実行することで、上記データ読出制御部63を実現する。
Referring to FIG. 9, the
データ記憶部61は、ハードディスクなどの記憶装置である。データ記憶部61は、複数世代のデータを重複排除して記憶している。
The
一時データ記憶部62は、メモリなどの記憶装置である。一時データ記憶部62は、データ記憶部61から読み出されたデータを一時的に記憶する。
The temporary
データ読出制御部63は、データ記憶部61が記憶するデータを読み出して一時データ記憶部62に記憶させる。また、データ読出制御部63は、一時データ記憶部62からデータを読み出す。このように、データ読出制御部63は、データ記憶部61が記憶するデータを読み出して一時データ記憶部62に記憶させるとともに、一時データ記憶部62からデータを読み出すよう構成されている。
The data read
さらに、データ読出制御部63は、外部装置から受信した読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいて、一時データ記憶部62に記憶するデータを制御する。
Further, the data read
このように、本実施形態におけるストレージ装置6は、データ読出制御部63を有している。このような構成により、データ読出制御部63は、読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいて、一時データ記憶部62に記憶するデータを制御することが出来る。その結果、一時データ記憶部62を効率的に活用することが可能となる。これにより、重複記憶を排除する機能を有するストレージシステム1において、効率的な読み出しを行うことが可能となり、読み出し性能の低下を抑制することが可能となる。
As described above, the
また、上述したストレージ装置6は、当該ストレージ装置6に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、複数世代のデータを重複排除して記憶するデータ記憶部61と、データ記憶部61から読み出されたデータを一時的に記憶する一時データ記憶部62と、を有するストレージ装置6に、データ記憶部61が記憶するデータを読み出して一時データ記憶部62に記憶させるとともに、一時データ記憶部62からデータを読み出すデータ読出制御手段(データ読出制御部63)を実現させ、データ読出制御手段は、外部装置から受信した読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいて、一時データ記憶部62に記憶するデータを制御する、プログラムである。
Further, the above-mentioned
また、上述したストレージ装置6により実行される情報処理方法は、複数世代のデータを重複排除して記憶するデータ記憶部61と、データ記憶部61から読み出されたデータを一時的に記憶する一時データ記憶部62と、を有する情報処理装置(ストレージ装置6)が、データ記憶部61が記憶するデータを読み出して一時データ記憶部62に記憶させるとともに、一時データ記憶部62からデータを読み出し、外部装置から受信した読み出し要求に応じて読み出したデータに対する世代ごとのデータの割合に基づいて、一時データ記憶部62に記憶するデータを制御する、という方法である。
Further, the information processing method executed by the
上述した構成を有する、プログラム、又は、情報処理方法、の発明であっても、上記ストレージ装置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
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージ装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
<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
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
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
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
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
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
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
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
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.
前記データ読出制御部は、前記一時データ記憶部に世代ごとのデータ格納領域を確保して、確保したデータ格納領域に対応する世代のデータを格納するよう構成され、前記読み出し要求に応じて読み出すデータの属する世代が変わる際に、変わった後の世代用の前記データ格納領域を確保するとともに、前記読み出し要求に応じて読み出したデータのうち変わる前の世代のデータが占める割合に基づいて、当該変わる前の世代用の前記データ格納領域を破棄するか否かを決定する
ストレージ装置。 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.
前記データ読出制御部は、前記変わる前の世代のデータのサイズを前記読み出し要求に応じて読み出したデータのサイズで除した値が予め定められた基準値より低い場合に、前記変わる前の世代用の前記データ格納領域を破棄する
ストレージ装置。 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.
前記データ読出制御部は、前記一時データ記憶部に確保されている前記データ格納領域の数が予め定められた所定数を超えた場合に、前記読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記データ格納領域を破棄する
ストレージ装置。 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.
前記データ読出制御部は、前記一時データ記憶部に確保されている前記データ格納領域の数が予め定められた所定数を超えた場合、前記一時データ記憶部に確保されている前記データ格納領域のうち、読み出したデータに含まれる割合が最も低い世代の前記データ格納領域を破棄する
ストレージ装置。 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.
前記データ読出制御部は、前記読み出し要求に応じて読み出したデータのうち各世代のデータが占める割合に基づいて、前記データ記憶部が記憶するデータを読み出す際に、読み出す対象のデータを読み出すとともに、当該読み出す対象のデータに続く所定範囲のデータを読み出すか否か判断する
ストレージ装置。 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.
前記データ読出制御部は、前記読み出し要求に応じて読み出したデータのうち読み出す対象のデータが属する世代の割合が予め定められた基準値以上である場合、前記データ記憶部が記憶する前記データを読み出す際に、読み出す対象のデータを読み出すとともに、当該読み出す対象のデータに続く所定範囲のデータを読み出す
ストレージ装置。 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.
前記データ読出制御部は、前記読み出す対象のデータに続く所定範囲のデータを読み出すと、当該読み出した所定範囲のデータを前記一時データ記憶部に記憶させる
ストレージ装置。 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.
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) |
-
2017
- 2017-02-28 JP JP2017036040A patent/JP6842064B2/en active Active
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 |