JP7103671B2 - Information processing equipment - Google Patents

Information processing equipment Download PDF

Info

Publication number
JP7103671B2
JP7103671B2 JP2020046535A JP2020046535A JP7103671B2 JP 7103671 B2 JP7103671 B2 JP 7103671B2 JP 2020046535 A JP2020046535 A JP 2020046535A JP 2020046535 A JP2020046535 A JP 2020046535A JP 7103671 B2 JP7103671 B2 JP 7103671B2
Authority
JP
Japan
Prior art keywords
volume
snapshot
data
difference
lba
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
JP2020046535A
Other languages
Japanese (ja)
Other versions
JP2021149292A (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 Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2020046535A priority Critical patent/JP7103671B2/en
Publication of JP2021149292A publication Critical patent/JP2021149292A/en
Application granted granted Critical
Publication of JP7103671B2 publication Critical patent/JP7103671B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置に関する。 The present invention relates to an information processing device .

特許文献1には、ファイルシステムのある時点におけるスナップショットのディスクイメージに基づいて、仮想の類似ディスクを設定することにより、システム再起動を容易に実行できる技術が開示されている。 Patent Document 1 discloses a technique in which a system restart can be easily executed by setting a virtual similar disk based on a disk image of a snapshot of a file system at a certain point in time.

特開平11-134117号公報Japanese Unexamined Patent Publication No. 11-134117

ボリュームの更新を行う場合、当該更新によるボリュームの差分データを記録すること
により、当該ボリュームをバックアップする技術が知られている。上記ボリュームを読み
込むためには、記録された差分データと当該差分データに対応しない当該ボリュームの参
照を行う必要がある。
しかし、上記参照にはボリュームへのアクセスが生じるため、当該参照の処理時間が遅
延する可能性がある。
本発明の目的は、上述した課題を解決する情報処理装置を提供することにある。
When updating a volume, there is known a technique for backing up the volume by recording the difference data of the volume due to the update. In order to read the volume, it is necessary to refer to the recorded difference data and the volume that does not correspond to the difference data.
However, since access to the volume occurs in the above reference, the processing time of the reference may be delayed.
An object of the present invention is to provide an information processing apparatus that solves the above-mentioned problems.

本発明に係る情報処理装置は、第1ボリュームのデータの更新前と更新後との差分データを第2ボリュームに記録する記録手段と、差分データに基づいて、第1ボリュームのうち更新の発生頻度が所定の頻度閾値より高い記憶領域である高頻度更新領域を特定する特定手段と、特定された前記高頻度更新領域に係るデータのクローンデータを前記第2ボリュームに記録する第2記録手段と、前記第1ボリュームのデータ、または、前記クローンデータの何れかを用いて、前記第1ボリュームのスナップショットを生成する生成手段と、を備え、前記特定手段は複数の前記スナップショットを照らし合わせて、前記高頻度更新領域を特定する。 The information processing apparatus according to the present invention has a recording means for recording the difference data between before and after updating the data of the first volume in the second volume, and the frequency of occurrence of the update in the first volume based on the difference data. A specific means for specifying a high-frequency update area, which is a storage area higher than a predetermined frequency threshold, and a second recording means for recording clone data of data related to the specified high-frequency update area in the second volume. A generation means for generating a snapshot of the first volume using either the data of the first volume or the clone data is provided , and the specific means compares a plurality of the snapshots with each other. Identify the high frequency update area.

上記態様のうち少なくとも1つの態様によれば、ボリュームの差分データを記録してバックアップする場合、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。 According to at least one of the above aspects, when the difference data of the volume is recorded and backed up, the processing time associated with updating and reading the volume can be shortened.

一実施形態に係る情報処理システムの構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the information processing system which concerns on one Embodiment. 一実施形態に係るツリー管理テーブルの一例を示す図である。It is a figure which shows an example of the tree management table which concerns on one Embodiment. 一実施形態に係る差分管理テーブルの一例を示す図である。It is a figure which shows an example of the difference management table which concerns on one Embodiment. 一実施形態に係る変換テーブルの一例を示す図である。It is a figure which shows an example of the conversion table which concerns on one Embodiment. 一実施形態に係るスナップショットと差分の概念を示す図である。It is a figure which shows the concept of the snapshot and the difference which concerns on one Embodiment. 一実施形態に係るスナップショットと差分の概念を示す図である。It is a figure which shows the concept of the snapshot and the difference which concerns on one Embodiment. 一実施形態に係る事前コピーの概念を示す図である。It is a figure which shows the concept of the advance copy which concerns on one Embodiment. 一実施形態に係るスナップショット制御部における読み込みのコマンドの動作を示すフローチャートである。It is a flowchart which shows the operation of the read command in the snapshot control part which concerns on one Embodiment. 一実施形態に係る差分制御部における読み込みのコマンドの動作を示すフローチャートである。It is a flowchart which shows the operation of the read command in the difference control part which concerns on one Embodiment. 一実施形態に係る更新のコマンドの対象ボリュームがマスタボリュームの場合の、スナップショット制御部における更新の動作を示すフローチャートである。It is a flowchart which shows the update operation in the snapshot control part when the target volume of the update command which concerns on one Embodiment is a master volume. 一実施形態に係る更新のコマンドの対象ボリュームが第2ボリュームの場合の、差分制御部における更新の動作を示すフローチャートである。It is a flowchart which shows the update operation in the difference control part when the target volume of the update command which concerns on one Embodiment is a 2nd volume. 一実施形態に係る第1ボリューム、スナップショットボリュームおよび第2ボリュームに記憶しているデータ列の参照の動作を示すフローチャートである。It is a flowchart which shows the operation of the reference of the data string stored in the 1st volume, the snapshot volume and the 2nd volume which concerns on one Embodiment. 一実施形態に係るマスタボリュームおよび第2ボリュームが記憶しているデータ列の更新の動作を示すフローチャートである。It is a flowchart which shows the operation of the update of the data string stored in the master volume and the 2nd volume which concerns on one Embodiment. 一実施形態に係る第1ボリューム、スナップショットボリュームおよび第2ボリュームに対するデータ列の記憶の動作を示すフローチャートである。It is a flowchart which shows the operation of storing the data string with respect to the 1st volume, the snapshot volume and the 2nd volume which concerns on one Embodiment. 一実施形態に係る事前コピーの動作を示すフローチャートである。It is a flowchart which shows the operation of the advance copy which concerns on one Embodiment. 一実施形態に係る情報処理システムの構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the information processing system which concerns on one Embodiment. 一実施形態に係る情報処理システムの動作を示すフローチャートである。It is a flowchart which shows the operation of the information processing system which concerns on one Embodiment. 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the computer which concerns on at least one Embodiment.

〈第1の実施形態〉
《情報処理システムの構成》
以下、図面を参照しながら第1実施形態に係る情報処理システム1について詳しく説明する。
図1は、第1の実施形態に係る情報処理システム1の構成を示す概略ブロック図である。
情報処理システム1は、ホストコンピュータ20からコマンドを受け入れてボリュームの差分データを記録してバックアップを行う。
情報処理システム1は、情報処理装置10と、ホストコンピュータ20、インタフェース30を備える。
<First Embodiment>
<< Configuration of information processing system >>
Hereinafter, the information processing system 1 according to the first embodiment will be described in detail with reference to the drawings.
FIG. 1 is a schematic block diagram showing a configuration of the information processing system 1 according to the first embodiment.
The information processing system 1 receives a command from the host computer 20, records the difference data of the volume, and performs backup.
The information processing system 1 includes an information processing device 10, a host computer 20, and an interface 30.

ホストコンピュータ20は、情報処理システム1のユーザから入力を受け入れて情報処理装置10にコマンドを送信する。
ホストコンピュータ20は、インタフェース30を介して情報処理装置10と接続する。ホストコンピュータ20は無線で情報処理装置10と接続しても良い。
The host computer 20 receives an input from the user of the information processing system 1 and transmits a command to the information processing device 10.
The host computer 20 connects to the information processing device 10 via the interface 30. The host computer 20 may be wirelessly connected to the information processing device 10.

《情報処理装置の構成》
以下、情報処理装置10の構成について説明する。
情報処理装置10は、転送制御部11と、スナップショット制御部12と、差分制御部13と、コピー制御部14と、更新制御部15と、記憶部16を備える。
<< Configuration of information processing equipment >>
Hereinafter, the configuration of the information processing device 10 will be described.
The information processing device 10 includes a transfer control unit 11, a snapshot control unit 12, a difference control unit 13, a copy control unit 14, an update control unit 15, and a storage unit 16.

記憶部16は、固定長の物理ブロック単位でデータ列を記憶する記憶媒体である。以下、記憶部16のブロックを物理ブロックと称する。
記憶部16の例としては、磁気記憶装置と、半導体記憶装置が挙げられる。記憶部16は、単一の物理的な記憶媒体に限定するものではなく、例えば、RAID(Redundant Array of Independent Disks)技術等による仮想的な記憶媒体でも良い。
The storage unit 16 is a storage medium that stores a data string in units of fixed-length physical blocks. Hereinafter, the block of the storage unit 16 is referred to as a physical block.
Examples of the storage unit 16 include a magnetic storage device and a semiconductor storage device. The storage unit 16 is not limited to a single physical storage medium, and may be, for example, a virtual storage medium using RAID (Redundant Array of Independent Disks) technology or the like.

記憶部16の領域には、仮想的な記憶媒体である第1ボリューム(図示しない)と、スナップショットボリューム(図示しない)と、第2ボリューム(図示しない)が設けられている。スナップショットボリュームには、スナップショット301、スナップショット302などの仮想的な記憶媒体がさらに設けられる。第2ボリュームには、差分データと、クローンデータなどを記憶する仮想的な記憶媒体がさらに設けられる。 A first volume (not shown), a snapshot volume (not shown), and a second volume (not shown), which are virtual storage media, are provided in the area of the storage unit 16. The snapshot volume is further provided with virtual storage media such as snapshot 301 and snapshot 302. The second volume is further provided with a virtual storage medium for storing difference data, clone data, and the like.

第1ボリュームと、スナップショットボリュームと、第2ボリュームは、固定長の論理ブロック単位でデータ列を記憶する。第1ボリュームと、スナップショットボリュームと、第2ボリュームのブロックを論理ブロックと称する。 The first volume, the snapshot volume, and the second volume store data strings in units of fixed-length logical blocks. The blocks of the first volume, the snapshot volume, and the second volume are referred to as logical blocks.

論理ブロックは、物理ブロックとブロック長が異なっても良い。
ブロックの格納先を示すアドレスをLBA(Logical Block Address)と称する。また、論理ブロックの格納先は論理LBAと称する。また、物理ブロックの格納先は物理LBAと称する。
論理ブロックに対する読み込みおよび更新の際には、論理LBAを用いて対象となる論理ブロックを指定する。また、物理ブロックに対する読み込みおよび更新の際には物理LBAを用いて対象となる物理ブロックを指定する。
更新の例としては、書き込みと、削除と、が挙げられる。
The logical block may have a different block length from the physical block.
The address indicating the storage destination of the block is referred to as LBA (Logical Block Address). The storage destination of the logical block is referred to as a logical LBA. The storage destination of the physical block is referred to as a physical LBA.
When reading and updating a logical block, the logical LBA is used to specify the target logical block. Further, when reading or updating a physical block, the physical LBA is used to specify the target physical block.
Examples of updates include writing and deleting.

情報処理装置10はメモリ(図示しない)を備える。メモリは、ツリー管理テーブル900と、差分管理テーブル1000と、変換テーブル1100を記憶する。 The information processing device 10 includes a memory (not shown). The memory stores the tree management table 900, the difference management table 1000, and the conversion table 1100.

転送制御部11は、インタフェース30と、スナップショット制御部12と、差分制御部13と接続する。スナップショット制御部12は、差分制御部13と、コピー制御部14と、更新制御部15と、記憶部16と接続する。 The transfer control unit 11 connects the interface 30, the snapshot control unit 12, and the difference control unit 13. The snapshot control unit 12 connects the difference control unit 13, the copy control unit 14, the update control unit 15, and the storage unit 16.

転送制御部11はホストコンピュータ20から、スナップショット取得のコマンドと、差分取得のコマンドと、更新のコマンドと、読み込みのコマンドを含む一群のコマンドを受信する。 The transfer control unit 11 receives from the host computer 20 a group of commands including a snapshot acquisition command, a difference acquisition command, an update command, and a read command.

スナップショット制御部12は、転送制御部11からスナップショット取得のコマンドを受信して第1ボリュームのスナップショットを生成する。スナップショット制御部12は生成手段の一例である。 The snapshot control unit 12 receives a snapshot acquisition command from the transfer control unit 11 and generates a snapshot of the first volume. The snapshot control unit 12 is an example of the generation means.

差分制御部13は、転送制御部11から差分取得のコマンドを受信して第1ボリュームの更新による差分データを第2ボリュームに記録する。差分制御部13は第1記録手段の一例である。 The difference control unit 13 receives a command for acquiring the difference from the transfer control unit 11 and records the difference data due to the update of the first volume in the second volume. The difference control unit 13 is an example of the first recording means.

また、スナップショット制御部12及び差分制御部13は、更新のコマンドと読み込みのコマンドを含む一群のコマンドを受信して処理する。更新制御部15は、スナップショット制御部12及び差分制御部13から記憶部更新のコマンド及び記憶部読み込みのコマンドを含む一群のコマンドを含む一群のコマンドを受信して処理する。 Further, the snapshot control unit 12 and the difference control unit 13 receive and process a group of commands including an update command and a read command. The update control unit 15 receives and processes a group of commands including a group of commands including a storage unit update command and a storage unit read command from the snapshot control unit 12 and the difference control unit 13.

差分取得のコマンドは対象ボリュームを含み、実行結果を返却する。更新のコマンドは、対象ボリュームと対象論理LBAとデータ列を含み、実行結果を返却する。読み込みのコマンドは対象ボリュームと対象論理LBAを含み、データ列を返却する。記憶部更新のコマンドは、対象物理LBAと、データ列を含み、実行結果を返却する。記憶部読み込みのコマンドは、対象物理LBAを含み、データ列を返却する。 The difference acquisition command includes the target volume and returns the execution result. The update command includes the target volume, the target logic LBA, and the data string, and returns the execution result. The read command includes the target volume and the target logical LBA and returns the data string. The command for updating the storage unit includes the target physical LBA and the data string, and returns the execution result. The command to read the storage unit includes the target physical LBA and returns the data string.

転送制御部11は、受信したコマンドがスナップショット取得のコマンドである場合は、スナップショット制御部12に送信し、返却された実行結果を返却する。また、転送制御部11は、受信したコマンドが差分取得のコマンドである場合は、差分制御部13に送信し、返却された実行結果を返却する。また、転送制御部11は、受信したコマンドが更新のコマンドである場合は、対象ボリュームがマスタボリュームであればスナップショット制御部12に送信して、返却された実行結果を返却する。また、転送制御部11は、受信したコマンドが更新のコマンドである場合は、対象ボリュームが第2ボリュームであれば差分制御部13に送信して、返却された実行結果を返却する。また、転送制御部11は受信したコマンドが読み込みのコマンドである場合は、対象ボリュームがマスタボリュームであればスナップショット制御部12に送信して、返却されたデータ列を返却する。
また、転送制御部11は受信したコマンドが読み込みのコマンドである場合は、対象ボリュームがエンティティボリューム又は第2ボリュームであれば差分制御部13に送信して返却されたデータ列を返却する。
If the received command is a snapshot acquisition command, the transfer control unit 11 transmits the received command to the snapshot control unit 12 and returns the returned execution result. If the received command is a difference acquisition command, the transfer control unit 11 transmits the received command to the difference control unit 13 and returns the returned execution result. Further, when the received command is an update command, the transfer control unit 11 transmits to the snapshot control unit 12 if the target volume is the master volume, and returns the returned execution result. Further, when the received command is an update command, the transfer control unit 11 transmits to the difference control unit 13 if the target volume is the second volume, and returns the returned execution result. Further, when the received command is a read command, the transfer control unit 11 transmits to the snapshot control unit 12 if the target volume is the master volume, and returns the returned data string.
Further, when the received command is a read command, the transfer control unit 11 transmits to the difference control unit 13 if the target volume is an entity volume or a second volume, and returns the returned data string.

更新制御部15は受信したコマンドが記憶部更新のコマンドの場合は、対象物理LBAに対応する物理ブロックにデータ列を記録して、実行結果を返却する。また、更新制御部15は、受信したコマンドが記憶部読み込みのコマンドの場合は、対象物理LBAに対応する物理ブロックからデータ列を読み込み、読み込んだデータ列を返却する。 When the received command is a storage unit update command, the update control unit 15 records the data string in the physical block corresponding to the target physical LBA and returns the execution result. If the received command is a command to read the storage unit, the update control unit 15 reads the data string from the physical block corresponding to the target physical LBA and returns the read data string.

図2は、ツリー管理テーブル900の一例を示す図である。また、図3は、差分管理テーブル1000の一例を示す図である。また、図4は、変換テーブル1100の一例を示す図である。図2と、図3と、図4については後で詳しく説明する。
スナップショット制御部12は、受信したコマンドがスナップショット取得のコマンドの場合は、以下の動作を行う。
FIG. 2 is a diagram showing an example of the tree management table 900. Further, FIG. 3 is a diagram showing an example of the difference management table 1000. Further, FIG. 4 is a diagram showing an example of the conversion table 1100. 2, FIG. 3, and FIG. 4 will be described in detail later.
When the received command is a snapshot acquisition command, the snapshot control unit 12 performs the following operations.

スナップショット制御部12は、受信したコマンドがスナップショット取得のコマンドである場合は、ツリー管理テーブル900に新しいスナップショットの情報を追加し、親ボリュームに対象ボリューム、子ボリュームに新しいスナップショット、種別に「スナップショット」を格納する。また、スナップショット制御部12は、差分管理テーブル1000に新しいスナップショットのエントリを追加し、エントリ上の全てのビットに差分なしを表す「0」を格納し、変換テーブル1100に新しいスナップショットのエントリを追加し、エントリ上の全ての物理LBAに記憶なしを表す「null」を格納した上で、実行結果を返却する。 When the received command is a snapshot acquisition command, the snapshot control unit 12 adds new snapshot information to the tree management table 900, sets the target volume as the parent volume, the new snapshot as the child volume, and the type. Store a "snapshot". Further, the snapshot control unit 12 adds a new snapshot entry to the difference management table 1000, stores "0" indicating no difference in all the bits on the entry, and enters the new snapshot in the conversion table 1100. Is added, and "null" indicating no memory is stored in all physical LBAs on the entry, and then the execution result is returned.

差分制御部13は、受信したコマンドが差分取得のコマンドの場合は、ツリー管理テーブル900に新しい差分データの情報を追加し、親ボリュームに対象ボリューム、子ボリュームに新しい差分、種別に「差分」を格納する。また、差分管理テーブル1000に新しい差分データのエントリを追加し、エントリ上の全てのビットに差分データなしを表す「0」を格納し、変換テーブル1100に新しい差分データのエントリを追加し、エントリ上の全ての物理LBAに記憶なしを表す「null」を格納した上で、実行結果を返却する。スナップショット制御部12および差分制御部13における、読み込みのコマンドおよび更新のコマンドの処理については後で詳細に説明する。 If the received command is a difference acquisition command, the difference control unit 13 adds new difference data information to the tree management table 900, sets the target volume in the parent volume, the new difference in the child volume, and "difference" in the type. Store. In addition, a new difference data entry is added to the difference management table 1000, "0" indicating no difference data is stored in all the bits on the entry, a new difference data entry is added to the conversion table 1100, and the entry is on. After storing "null" indicating no memory in all physical LBAs of, the execution result is returned. The processing of the read command and the update command in the snapshot control unit 12 and the difference control unit 13 will be described in detail later.

コピー制御部14は、複数の世代ごとのスナップショットに対応するビットマップを照らし合わせて、高頻度更新領域を特定する。コピー制御部14は特定手段の一例である。高頻度更新領域とは、第1ボリュームのうち更新の発生頻度が所定の頻度閾値より高い記憶領域である。
また、コピー制御部14は特定された高頻度更新領域に係るデータのクローンデータを第2ボリュームに記録する。コピー制御部14は第2記録手段の一例である。
The copy control unit 14 identifies the high-frequency update area by comparing the bitmaps corresponding to the snapshots for each of a plurality of generations. The copy control unit 14 is an example of the specific means. The high-frequency update area is a storage area in the first volume in which the update occurrence frequency is higher than a predetermined frequency threshold value.
Further, the copy control unit 14 records the clone data of the data related to the specified high-frequency update area in the second volume. The copy control unit 14 is an example of the second recording means.

コピー制御部14は、ツリー管理テーブル900に登録している差分データに対する更新の頻度を計算し、更新の頻度が所定の閾値を超えている場合は、当該LBAまたは当該LBAを含むその近傍のLBAのデータ列を、マスタボリュームから第2ボリュームに記録する。この一連の処理を事前コピーと称する。コピー制御部14が行う事前コピーの処理については後で詳細に説明する。 The copy control unit 14 calculates the update frequency for the difference data registered in the tree management table 900, and if the update frequency exceeds a predetermined threshold value, the LBA or an LBA in the vicinity including the LBA is included. The data string of is recorded from the master volume to the second volume. This series of processing is called pre-copying. The pre-copy process performed by the copy control unit 14 will be described in detail later.

例えば、コピー制御部14は所定のプログラムを定期的に動作させて、指定した時間間隔で、または指定した時刻に事前コピーを行っても良い。また、転送制御部11がホストコンピュータ20から何らかのコマンドを受信した場合、転送制御部11は、コピー制御部14に対してコマンドを発行して、コピー制御部14が当該コマンドを受信して事前コピーを行うようにしても良い。 For example, the copy control unit 14 may periodically operate a predetermined program to perform pre-copying at a specified time interval or at a specified time. When the transfer control unit 11 receives some command from the host computer 20, the transfer control unit 11 issues a command to the copy control unit 14, and the copy control unit 14 receives the command and makes a pre-copy. You may try to do.

次に、図2に示すツリー管理テーブル900と、図3に示す差分管理テーブル1000と、図4に示す変換テーブル1100の詳細な構成を説明する。 Next, a detailed configuration of the tree management table 900 shown in FIG. 2, the difference management table 1000 shown in FIG. 3, and the conversion table 1100 shown in FIG. 4 will be described.

ツリー管理テーブル900は、全ての親子関係となる組に関して、親ボリュームと、子ボリュームと、種別に関する情報を管理する。なお、親子関係とは、スナップショットにおいてはマスタボリュームが親、スナップショットボリュームが子となる関係を示し、差分データにおいてはエンティティボリュームが親、第2ボリュームが子となる関係を示す。各々の組に関して、親ボリュームには親子関係の親となるボリュームを、子ボリュームには親子関係の子となるボリュームを、種別には、例えば、親子関係がスナップショットであれば「スナップショット」を、差分データであれば「差分」を、それぞれ格納する。
また、同一のマスタボリュームから取得したスナップショットの間、または同一のエンティティボリュームから取得した差分データの間では、ツリー管理テーブル900への登録順により新旧関係を識別する。例えば、若番に登録したスナップショットと、老番に登録したスナップショットでは、老番側を新しいものとする。
The tree management table 900 manages information on a parent volume, a child volume, and a type for all pairs having a parent-child relationship. The parent-child relationship indicates a relationship in which the master volume is the parent and the snapshot volume is the child in the snapshot, and the entity volume is the parent and the second volume is the child in the difference data. For each set, the parent volume is the volume that is the parent of the parent-child relationship, the child volume is the volume that is the child of the parent-child relationship, and the type is, for example, "snapshot" if the parent-child relationship is a snapshot. , If it is difference data, "difference" is stored respectively.
In addition, the old and new relationships are identified according to the order of registration in the tree management table 900 between snapshots acquired from the same master volume or between difference data acquired from the same entity volume. For example, in the snapshot registered in the young number and the snapshot registered in the old number, the old number side is new.

差分管理テーブル1000は、スナップショットおよび差分ごとにエントリ(図3の破線で囲まれた部分)を持ち、ある論理LBAに対応する論理ブロックに関して差分が存在するか否かを管理する。各々のエントリは、対応するボリュームの全ての論理LBAに関して、差分が存在するか否かを1ビットで表し、例えば、ある論理LBAに対応する論理ブロックのデータ列に差分が存在する場合は「1」を、差分が存在しない場合は「0」を格納する。 The difference management table 1000 has an entry (a portion surrounded by a broken line in FIG. 3) for each snapshot and difference, and manages whether or not there is a difference with respect to a logical block corresponding to a certain logical LBA. Each entry indicates whether or not there is a difference for all logical LBAs of the corresponding volume with 1 bit. For example, if there is a difference in the data string of the logical block corresponding to a certain logical LBA, "1". , And if there is no difference, store "0".

変換テーブル1100は、マスタボリューム、スナップショットボリュームおよび第2ボリュームごとにエントリ(図4の破線で囲まれた部分)を持ち、ある論理LBAに対応する論理ブロックのデータ列をいずれの物理LBAに対応する物理ブロックが記憶しているかを管理する。各々のエントリは、対応するボリュームの全ての論理LBAに関して、データ列の記憶先となる物理LBAを格納する。例えば、ある論理LBAに対応する論理ブロックのデータ列をいずれの物理LBAに対応する物理ブロックも記憶していない場合は「null」を、物理LBA 0x0000の物理ブロックがデータ列を記憶している場合は「0x0000」を格納する。 The conversion table 1100 has an entry (the part surrounded by the broken line in FIG. 4) for each master volume, snapshot volume, and second volume, and corresponds to any physical LBA of the data string of the logical block corresponding to a certain logical LBA. Manage whether the physical block to be stored is stored. Each entry stores the physical LBA that stores the data string for all logical LBAs of the corresponding volume. For example, if the data string of the logical block corresponding to a certain logical LBA does not store the physical block corresponding to any physical LBA, "null" is stored, and if the physical block of the physical LBA 0x0000 stores the data string. Stores "0x0000".

図5および図6は、スナップショットと差分の概念を示す図である。
具体的には、4個の論理ブロックを備える第1ボリュームをマスタボリュームとしてスナップショット301~303を取得し、さらにスナップショット302をエンティティボリュームとして差分401および差分402を取得することにより、複製ツリーを構成している。
これらの図において、各々のボリューム上の各々の論理LBAに対応する「データ」は、当該ボリューム上の各々の論理LBAに対応する論理ブロックがホストコンピュータ20に対して呈するデータ列を表す。
また、括弧で括っているデータ列は、スナップショットボリュームまたは第2ボリュームに差分が存在しないため、より新しいスナップショットボリュームまたはマスタボリュームまで遡って遡及参照した結果として呈するデータ列であることを表す。
各々のボリューム上の各々の論理LBAに対応する「差分」は、差分管理テーブル1000の当該ボリュームに対応するエントリにおいて、各々の論理LBAに対応するビットを表している。
5 and 6 are diagrams showing the concept of snapshots and differences.
Specifically, the duplicate tree is created by acquiring snapshots 301 to 303 with the first volume having four logical blocks as the master volume and further acquiring the difference 401 and the difference 402 with the snapshot 302 as the entity volume. It is configured.
In these figures, the "data" corresponding to each logical LBA on each volume represents a data string presented to the host computer 20 by the logical block corresponding to each logical LBA on the volume.
Further, the data string enclosed in parentheses indicates that the data string is presented as a result of retroactive reference to the newer snapshot volume or master volume because there is no difference in the snapshot volume or the second volume.
The "difference" corresponding to each logical LBA on each volume represents a bit corresponding to each logical LBA in the entry corresponding to the volume in the difference management table 1000.

第1の実施形態では、スナップショットの方式としてコピー・オン・ライト方式を採用する場合について説明する。すなわち、スナップショット制御部12は、スナップショットを取得した時点ではデータ列を複製せず、マスタボリュームに対するデータ列の更新があった時点で、最新のスナップショットボリュームに差分が存在しない場合はマスタボリューム上の旧データ列を差分としてスナップショットボリューム上に複製した上で、マスタボリューム上のデータ列を書き込みデータ列により更新する。 In the first embodiment, a case where a copy-on-write method is adopted as the snapshot method will be described. That is, the snapshot control unit 12 does not duplicate the data string at the time of taking the snapshot, and when the data string is updated for the master volume, if there is no difference in the latest snapshot volume, the master volume After duplicating the above old data string as a difference on the snapshot volume, the data string on the master volume is updated by the write data string.

一方、スナップショット制御部12は、スナップショットボリュームからデータ列を読み込む際に、対象のスナップショットから開始して、古いスナップショットから新しいスナップショットの順に差分の有無を識別し、最初に差分が存在したスナップショットを参照する。いずれのスナップショットボリュームにも差分が存在しない場合は、マスタボリュームを参照する。なお、本発明は、スナップショットの方式をコピー・オン・ライト方式に限定するものではなく、例えば、リダイレクト・オン・ライト方式と称される、マスタボリューム上のデータ列は更新せず、マスタボリューム上のデータ列をスナップショットボリューム上に複製した上で、スナップショットボリューム上のデータ列を書き込みデータ列により更新する方式であっても構わない。
すなわち、スナップショット制御部12は、高頻度更新領域にかかるデータをクローンデータに基づいて再現し、高頻度更新領域以外の記憶領域に係るデータを第1ボリューム又はスナップショットボリュームのデータと、差分データとに基づいて再現して、読み込みのコマンド又は更新のコマンドに対して処理を行う。スナップショット制御部12は、再現手段の一例である。
On the other hand, when the snapshot control unit 12 reads the data string from the snapshot volume, it starts from the target snapshot, identifies the presence or absence of the difference in the order of the oldest snapshot to the newest snapshot, and the difference exists first. Refer to the snapshot you made. If there is no difference in any of the snapshot volumes, refer to the master volume. The present invention does not limit the snapshot method to the copy-on-write method. For example, the data string on the master volume, which is called the redirect-on-write method, is not updated and the master volume is not updated. A method may be used in which the above data string is duplicated on the snapshot volume and then the data string on the snapshot volume is updated by the write data string.
That is, the snapshot control unit 12 reproduces the data related to the high-frequency update area based on the clone data, and the data related to the storage area other than the high-frequency update area is the data of the first volume or the snapshot volume and the difference data. It is reproduced based on the above, and processing is performed for the read command or the update command. The snapshot control unit 12 is an example of the reproduction means.

差分制御部13は、差分データを取得した時点ではデータ列を複製せず、第2ボリュームに対するデータ列の書き込みがあった時点で、第2ボリュームに差分が存在しない場合はエンティティボリューム上の不足データ列を差分データとして第2ボリューム上に複製した上で、第2ボリューム上のデータ列を書き込みデータ列により更新する。
一方、差分制御部13は、第2ボリュームからデータ列を読み込む際に、差分データの有無を識別し、差分データが存在する場合は第2ボリュームを、差分データが存在しない場合はエンティティボリュームを、それぞれ参照する。
The difference control unit 13 does not duplicate the data string when the difference data is acquired, and when the data string is written to the second volume, if there is no difference in the second volume, the missing data on the entity volume After duplicating the column as difference data on the second volume, the data string on the second volume is updated by the write data string.
On the other hand, when reading the data string from the second volume, the difference control unit 13 identifies the presence / absence of the difference data, and if the difference data exists, the second volume is used, and if the difference data does not exist, the entity volume is used. Refer to each.

図7は、事前コピーの概念を示す図である。
コピー制御部14は、何らかの契機により事前コピーを実行してクローンデータを記録する。ある差分データの作成元となるスナップショットSを特定し、当該スナップショットSよりm世代古いスナップショット(S-m)から、スナップショットSよりn世代新しいスナップショット(S+n)まで、(S-m)、(S-m+1)、・・・、(S-1)、S、(S+1)、・・・、(S+n-1)、(S+n)に関して、当該第2ボリューム上の全ての論理LBAに対して以下の処理を実行する(m、nは自然数)。
また、コピー制御部14は、ある論理LBAに関して、スナップショット(S-m)~S~(S+n)上の当該論理LBAに対応する差分管理テーブル1000上のエントリのビットが「1」である数Fを計算する。Fが所定の閾値Tを超えている場合は、当該論理LBAに対応する論理ブロックのデータ列をクローンデータとして、遡及参照先となるマスタボリュームまたはスナップショットボリュームから、当該第2ボリュームに記録する(Tは0以上の実数)。
FIG. 7 is a diagram showing the concept of pre-copying.
The copy control unit 14 executes pre-copy for some reason and records the clone data. A snapshot S from which a certain difference data is created is specified, and from a snapshot (Sm) m generation older than the snapshot S to a snapshot (S + n) n generations newer than the snapshot S (Sm). ), (Sm + 1), ..., (S-1), S, (S + 1), ..., (S + n-1), (S + n) to all logical LBAs on the second volume. On the other hand, the following processing is executed (m and n are natural numbers).
Further, the copy control unit 14 is a number in which the bit of the entry on the difference management table 1000 corresponding to the logical LBA on the snapshots (Sm) to S to (S + n) is "1" for a certain logical LBA. Calculate F. When F exceeds a predetermined threshold value T, the data string of the logical block corresponding to the logical LBA is recorded as clone data in the second volume from the master volume or snapshot volume as the retroactive reference destination ( T is a real number greater than or equal to 0).

事前コピーにおいて、m、n、Tは、任意の値をとることができる。例えば、m、n、Tをコピー制御部14において何らかのプログラムの一部として固定的に指定しても良い。または、転送制御部11がホストコンピュータ20からm、n、Tの少なくともいずれか一つを含む何らかのコマンドを受信した場合に、コピー制御部14に対してコマンドを発行し、コピー制御部14が当該コマンドを受信した場合に、当該コマンドが含むm、n、Tを何らかの領域に記憶し、記憶したm、n、Tを事前コピーにおいて参照して用いる構成も可能である。m、n、Tは上記の説明に係る構成に限られるものでなく、異なる構成であっても良い。 In the pre-copy, m, n, and T can take arbitrary values. For example, m, n, and T may be fixedly specified as part of some program in the copy control unit 14. Alternatively, when the transfer control unit 11 receives a command from the host computer 20 including at least one of m, n, and T, the transfer control unit 11 issues a command to the copy control unit 14, and the copy control unit 14 corresponds to the command. When a command is received, m, n, and T included in the command are stored in some area, and the stored m, n, and T can be referred to and used in the pre-copy. m, n, and T are not limited to the configurations according to the above description, and may have different configurations.

《情報処理システムの動作》
以下、情報処理システム1の動作について説明する。
図8~図14は、情報処理システム1のスナップショット制御部12および差分制御部13の動作を示すフローチャートである。
<< Operation of information processing system >>
The operation of the information processing system 1 will be described below.
8 to 14 are flowcharts showing the operations of the snapshot control unit 12 and the difference control unit 13 of the information processing system 1.

図8は、スナップショット制御部12における読み込みのコマンドの動作を示すフローチャートである。
スナップショット制御部12における読み込みでは、対象ボリュームの種類を識別する。具体的には、ツリー管理テーブル900上の全てのエントリを参照し、対象ボリュームが親ボリュームまたは子ボリュームとして格納されているエントリを検索する。対象ボリュームが親ボリュームとして格納されているエントリが存在し、当該エントリの種別が「スナップショット」であれば、対象ボリュームはマスタボリュームである。対象ボリュームが親ボリュームとして格納されているエントリが存在し、当該エントリの種別が「差分」であれば、対象ボリュームはエンティティボリュームである。対象ボリュームが子ボリュームとして格納されているエントリが存在し、当該エントリの種別が「スナップショット」であれば、対象ボリュームはスナップショットボリュームである。対象ボリュームが子ボリュームとして格納されているエントリが存在し、当該エントリの種別が「差分」であれば、対象ボリュームは第2ボリュームである。このように、スナップショット制御部12は、対象ボリュームの種類を識別する。
FIG. 8 is a flowchart showing the operation of the read command in the snapshot control unit 12.
In reading by the snapshot control unit 12, the type of the target volume is identified. Specifically, all the entries on the tree management table 900 are referred to, and the entry in which the target volume is stored as a parent volume or a child volume is searched. If there is an entry in which the target volume is stored as the parent volume and the type of the entry is "snapshot", the target volume is the master volume. If there is an entry in which the target volume is stored as the parent volume and the type of the entry is "difference", the target volume is an entity volume. If there is an entry in which the target volume is stored as a child volume and the type of the entry is "snapshot", the target volume is a snapshot volume. If there is an entry in which the target volume is stored as a child volume and the type of the entry is "difference", the target volume is the second volume. In this way, the snapshot control unit 12 identifies the type of the target volume.

対象ボリュームがスナップショットボリュームでない場合(S1001:NO)、S1005に進む。
一方、対象ボリュームがスナップショットボリュームである場合(S1001:YES)、検索世代に対象ボリュームを設定し、古いスナップショットから新しいスナップショットの順に最新世代まで検索し、対象論理LBAと同一の論理LBAに対応する論理ブロックにおける、スナップショットボリュームにおける差分データの有無を識別する(S1003、S1004、S1009)。
If the target volume is not a snapshot volume (S1001: NO), the process proceeds to S1005.
On the other hand, when the target volume is a snapshot volume (S1001: YES), the target volume is set in the search generation, the oldest snapshot is searched to the latest generation in order from the new snapshot, and the logical LBA is the same as the target logical LBA. The presence or absence of difference data in the snapshot volume in the corresponding logical block is identified (S1003, S1004, S1009).

具体的には、ツリー管理テーブル900上の全てのエントリを参照し、対象ボリュームが子ボリュームとして格納されているエントリを検索し、当該エントリの親ボリュームを識別する。続いて、当該エントリを含み、当該エントリよりも老番に存在する全てのエントリを参照し、当該親ボリュームが親ボリュームとして格納されているエントリを若番から老番まで順次検索し、検索したエントリの子ボリュームを順次対象世代のスナップショットと識別していくことにより、最新世代まで検索できる。また、対象世代のスナップショットボリューム上の参照論理LBAに対応する差分管理テーブル1000上のエントリを参照し、ビットが「1」の場合は差分が存在する、ビットが「0」の場合は差分が存在しない、と識別する(以下、ボリュームの差分の有無を識別する、という場合には同様)。 Specifically, all the entries on the tree management table 900 are referred to, the entry in which the target volume is stored as a child volume is searched, and the parent volume of the entry is identified. Subsequently, all the entries including the entry and existing in the older number than the entry are referred to, and the entries in which the parent volume is stored as the parent volume are sequentially searched from the youngest number to the oldest number, and the searched entries are searched. By sequentially identifying the child volumes of the target generation as snapshots of the target generation, it is possible to search up to the latest generation. Also, referring to the entry on the difference management table 1000 corresponding to the reference logic LBA on the snapshot volume of the target generation, if the bit is "1", the difference exists, and if the bit is "0", the difference is. It is identified as non-existent (hereinafter, the same applies when identifying the presence or absence of a volume difference).

差分が存在した時点で検索を終了し(S1003:NO)、最初に差分が存在したスナップショットにおける対象論理LBAを参照論理LBAに指定して、データ列を参照し読み込みデータ列とする(S1008、詳細は図12を参照)。 The search ends when a difference exists (S1003: NO), the target logic LBA in the snapshot in which the difference first exists is specified as the reference logic LBA, and the data string is referred to and used as the read data string (S1008, See FIG. 12 for details).

一方、いずれのスナップショットボリュームにも差分データが存在しない場合は(S1004:YES)、第1ボリュームの種別を識別する(S1005、S1010)。
マスタボリュームがスナップショットボリュームの場合(S1005:YES)、読み込みのコマンドに含まれる対象ボリュームをマスタボリュームに変更した読み込みのコマンドをスナップショット制御部12に送信し、返却されたデータ列を読み込みデータ列とする(S1006)。
On the other hand, when there is no difference data in any of the snapshot volumes (S1004: YES), the type of the first volume is identified (S1005, S1010).
When the master volume is a snapshot volume (S1005: YES), a read command in which the target volume included in the read command is changed to the master volume is sent to the snapshot control unit 12, and the returned data string is read. (S1006).

マスタボリュームが第2ボリュームである場合は(S1005:NO、S1010:YES)、読み込みのコマンドに含まれる対象ボリュームを第2ボリュームに変更した読み込みのコマンドを差分制御部13に送信し、返却されたデータ列を読み込みデータ列とする(S1011)。
マスタボリュームがスナップショットボリュームおよび第2ボリュームのいずれでもない場合は(S1010:NO)、マスタボリュームにおける対象論理LBAを参照論理LBAに指定して、データ列を参照し読み込みデータ列とする(S1012、詳細は図12を参照)。
最後に、読み込みデータ列を返却する(S1007)。
When the master volume is the second volume (S1005: NO, S1010: YES), the read command in which the target volume included in the read command is changed to the second volume is transmitted to the difference control unit 13 and returned. The data string is read and used as the data string (S1011).
When the master volume is neither the snapshot volume nor the second volume (S1010: NO), the target logical LBA in the master volume is specified as the reference logical LBA, and the data string is referred to as the read data string (S1012, See FIG. 12 for details).
Finally, the read data string is returned (S1007).

図9は、差分制御部13における読み込みのコマンドの動作を示すフローチャートである。
対象ボリュームが第2ボリュームでない場合は(S1101:NO)、S1103に進む。
一方、対象ボリュームが第2ボリュームである場合は、対象論理LBAと同一の論理LBAに対応する論理ブロックにおける、第2ボリュームの差分データの有無を識別する(S1102)。
FIG. 9 is a flowchart showing the operation of the read command in the difference control unit 13.
If the target volume is not the second volume (S1101: NO), the process proceeds to S1103.
On the other hand, when the target volume is the second volume, the presence / absence of the difference data of the second volume in the logical block corresponding to the same logical LBA as the target logical LBA is identified (S1102).

差分データが存在する場合は(S1102:NO)、第2ボリュームにおける対象論理LBAを参照論理LBAに指定して、データ列を参照し読み込みデータ列とする(S1106、詳細は図12を参照)。
一方、差分データが存在しない場合は、エンティティボリュームの種別を識別する(S1103、S1107)。
When the difference data exists (S1102: NO), the target logic LBA in the second volume is designated as the reference logic LBA, and the data string is referred to as the read data string (S1106, see FIG. 12 for details).
On the other hand, when the difference data does not exist, the type of the entity volume is identified (S1103, S1107).

エンティティボリュームがスナップショットボリュームの場合は(S1103:YES)、読み込みのコマンドに含まれる対象ボリュームをマスタボリュームに変更した読み込みのコマンドをスナップショット制御部12に送信し、返却されたデータ列を読み込みデータ列とする(S1104)。 When the entity volume is a snapshot volume (S1103: YES), a read command in which the target volume included in the read command is changed to the master volume is sent to the snapshot control unit 12, and the returned data string is read data. It is a row (S1104).

エンティティボリュームが第2ボリュームである場合は(S1103:NO、S1107:YES)、読み込みのコマンドに含まれる対象ボリュームを第2ボリュームに変更した読み込みのコマンドを差分制御部13に送信し、返却されたデータ列を読み込みデータ列とする(S1108)。 When the entity volume is the second volume (S1103: NO, S1107: YES), the read command in which the target volume included in the read command is changed to the second volume is transmitted to the difference control unit 13 and returned. The data string is read and used as the data string (S1108).

エンティティボリュームがスナップショットボリュームおよび第2ボリュームのいずれでもない場合(S1107:NO)、エンティティボリュームにおける対象論理LBAを参照論理LBAに指定して、データ列を参照し読み込みデータ列とする(S1109、詳細は図12を参照)。
最後に、読み込みデータ列を返却する(S1105)。
When the entity volume is neither the snapshot volume nor the second volume (S1107: NO), the target logical LBA in the entity volume is specified as the reference logical LBA, and the data string is referred to as the read data string (S1109, details). See FIG. 12).
Finally, the read data string is returned (S1105).

図10は、更新のコマンドの対象ボリュームがマスタボリュームの場合の、スナップショット制御部12における更新の動作を示すフローチャートである。ここで行われる更新は、書き込みである。 FIG. 10 is a flowchart showing the update operation in the snapshot control unit 12 when the target volume of the update command is the master volume. The update made here is a write.

スナップショット制御部12における書き込みでは、マスタボリュームを複製元ボリュームに、対象論理LBAを複製元論理LBAに、最新のスナップショットを複製先ボリュームに、対象論理LBAを複製先論理LBAに、それぞれ指定して、対象論理LBAと同一の論理LBAに対応する論理ブロックのデータ列を複製する(S1201、詳細は図13を参照)。 In writing in the snapshot control unit 12, the master volume is specified as the copy source volume, the target logical LBA is specified as the copy source logical LBA, the latest snapshot is specified as the copy destination volume, and the target logical LBA is specified as the copy destination logical LBA. Then, the data string of the logical block corresponding to the same logical LBA as the target logical LBA is duplicated (S1201, see FIG. 13 for details).

さらに、マスタボリュームを記憶ボリューム、対象論理LBAを記憶論理LBA、書き込みデータ列を記憶データ列として、データ列を記憶する(S1202、詳細は図14を参照)。最後に、実行結果を返却する(S1203)。 Further, the data string is stored with the master volume as the storage volume, the target logic LBA as the storage logic LBA, and the write data string as the storage data string (S1202, see FIG. 14 for details). Finally, the execution result is returned (S1203).

図11は、更新のコマンドの対象ボリュームが第2ボリュームの場合の、差分制御部13における更新の動作を示すフローチャートである。ここで行われる更新は、書き込みである。 FIG. 11 is a flowchart showing the update operation in the difference control unit 13 when the target volume of the update command is the second volume. The update made here is a write.

差分制御部13における書き込みでは、エンティティボリュームを複製元ボリュームに、対象論理LBAを複製元論理LBAに、第2ボリュームを複製先ボリュームに、対象論理LBAを複製先論理LBAに、それぞれ指定して、対象論理LBAと同一の論理LBAに対応する論理ブロックのデータ列を複製する(S1301、詳細は図13を参照)。 In the writing in the difference control unit 13, the entity volume is designated as the replication source volume, the target logic LBA is designated as the replication source logic LBA, the second volume is designated as the replication destination volume, and the target logic LBA is designated as the replication destination logic LBA. The data string of the logical block corresponding to the same logical LBA as the target logical LBA is duplicated (S1301, see FIG. 13 for details).

さらに、第2ボリュームを記憶ボリューム、対象論理LBAを記憶論理LBA、書き込みデータ列を記憶データ列として、データ列を記憶する(S1302、詳細は図14を参照)。最後に、実行結果を返却する(S1303)。 Further, the data string is stored with the second volume as the storage volume, the target logic LBA as the storage logic LBA, and the write data string as the storage data string (S1302, see FIG. 14 for details). Finally, the execution result is returned (S1303).

図12は、第1ボリューム、スナップショットボリュームおよび第2ボリュームに記憶しているデータ列の参照の動作を示すフローチャートである。
データ列の参照では、参照ボリューム上の参照論理LBAに対応する変換テーブル1100上のエントリを参照し、参照論理LBAに対応する論理ブロックのデータ列を記憶している物理LBAを識別する(S1401)。
FIG. 12 is a flowchart showing the operation of referencing the data strings stored in the first volume, the snapshot volume, and the second volume.
In the data column reference, the entry on the conversion table 1100 corresponding to the reference logical LBA on the reference volume is referred to, and the physical LBA storing the data string of the logical block corresponding to the reference logical LBA is identified (S1401). ..

識別した物理LBAを対象物理LBAに指定して、記憶部読み込みのコマンドを更新制御部15に送信し、返却されたデータ列を読み込みデータ列とする(S1402)。
最後に、読み込みデータ列を返却する(S1403)。
The identified physical LBA is designated as the target physical LBA, a command for reading the storage unit is transmitted to the update control unit 15, and the returned data string is used as the read data string (S1402).
Finally, the read data string is returned (S1403).

図13は、マスタボリュームおよび第2ボリュームが記憶しているデータ列の更新の動作を示すフローチャートである。
この場合、情報処理装置10は、複製先論理LBAにおける、スナップショットまたは第2ボリュームの差分データの有無を識別する。
FIG. 13 is a flowchart showing the operation of updating the data strings stored in the master volume and the second volume.
In this case, the information processing apparatus 10 identifies the presence / absence of the snapshot or the difference data of the second volume in the replication destination logic LBA.

複製先ボリュームに差分データがある場合は(S1501:YES)、S1502に進む。
一方、複製先ボリュームに差分データがない場合は(S1501:NO)、複製元ボリュームの種別を識別する(S1503、S1108)。
複製元ボリュームがスナップショットボリュームの場合は(S1503:YES)、複製元ボリュームを対象ボリュームに、複製元論理LBAを対象論理LBAに、それぞれ指定した読み込みのコマンドをスナップショット制御部12に送信し、返却されたデータ列を複製元データ列とする(S1504)。
If there is difference data in the copy destination volume (S1501: YES), the process proceeds to S1502.
On the other hand, when there is no difference data in the copy destination volume (S1501: NO), the type of the copy source volume is identified (S1503, S1108).
When the copy source volume is a snapshot volume (S1503: YES), the copy source volume is sent to the target volume, the copy source logic LBA is sent to the target logic LBA, and the specified read command is sent to the snapshot control unit 12. The returned data string is used as the replication source data string (S1504).

複製元ボリュームが第2ボリュームである場合は(S1503:NO、S1508:YES)、複製元ボリュームを対象ボリュームに、複製元論理LBAを対象論理LBAに、それぞれ指定した読み込みのコマンドを差分制御部13に送信し、返却されたデータ列を複製元データ列とする(S1509)。 When the copy source volume is the second volume (S1503: NO, S1508: YES), the copy source volume is set as the target volume, the copy source logic LBA is set as the target logic LBA, and the specified read command is assigned to the difference control unit 13. The data string sent to and returned to the data string is used as the replication source data string (S1509).

複製元ボリュームがスナップショットボリュームおよび第2ボリュームのいずれでもない場合は(S1508:NO)、複製元ボリュームを参照ボリュームに、複製元論理LBAを参照論理LBAに、それぞれ指定して、データ列を参照し複製元データ列とする(S1510、詳細は図12を参照)。
変換テーブル1100上の全てのエントリを参照し、いずれの論理LBAに対応する論理ブロックのデータ列も記憶していない物理LBAを特定し、特定した物理LBAを複製先論理LBAに対応するエントリに格納する。
すなわち、複製先論理ブロックに対応する物理ブロックを取得する(S1505)。さらに、複製先ボリュームを記憶ボリューム、複製先論理LBAを記憶論理LBA、複製元データ列を記憶データ列として、データ列を記憶する(S1506、詳細は図14を参照)。
If the replication source volume is neither the snapshot volume nor the second volume (S1508: NO), specify the replication source volume as the reference volume and the replication source logical LBA as the reference logical LBA, and refer to the data column. It is used as the copy source data string (S1510, see FIG. 12 for details).
Refer to all the entries in the conversion table 1100, identify the physical LBA that does not store the data string of the logical block corresponding to any logical LBA, and store the specified physical LBA in the entry corresponding to the replication destination logical LBA. do.
That is, the physical block corresponding to the replication destination logical block is acquired (S1505). Further, the data string is stored with the copy destination volume as the storage volume, the copy destination logic LBA as the storage logic LBA, and the copy source data string as the storage data string (S1506, see FIG. 14 for details).

その上で、複製先ボリューム上の複製先論理LBAに対応する差分管理テーブル1000上のエントリを参照し、ビットに「1」を格納する。すなわち、複製先論理ブロックにおいて、差分ありとする(S1507)。最後に、実行結果を返却する(S1502)。 Then, the entry on the difference management table 1000 corresponding to the copy destination logic LBA on the copy destination volume is referred to, and "1" is stored in the bit. That is, it is assumed that there is a difference in the copy destination logic block (S1507). Finally, the execution result is returned (S1502).

図14は、第1ボリューム、スナップショットボリュームおよび第2ボリュームに対するデータ列の記憶の動作を示すフローチャートである。
記憶ボリューム上の記憶論理LBAに対応する変換テーブル1100上のエントリを参照し、物理LBAを識別する(S1601)。
識別した物理LBAを対象物理LBAに、記憶データ列をデータ列にそれぞれ指定して、記憶部更新のコマンドを更新制御部15に送信し、実行結果を受信する(S1602)。最後に、実行結果を返却する(S1603)。
FIG. 14 is a flowchart showing the operation of storing the data string for the first volume, the snapshot volume, and the second volume.
The physical LBA is identified by referring to the entry on the conversion table 1100 corresponding to the storage logic LBA on the storage volume (S1601).
The identified physical LBA is designated as the target physical LBA, the stored data string is designated as the data string, the storage unit update command is transmitted to the update control unit 15, and the execution result is received (S1602). Finally, the execution result is returned (S1603).

図15は、事前コピーの動作を示すフローチャートである。
事前コピーにかかる処理は、対象第2ボリュームを指定して実行し、当該対象第2ボリュームを事前コピー先第2ボリュームとし、事前コピー先第2ボリュームの作成元となるエンティティボリュームとなっている作成元スナップショットボリュームを対象世代として、事前コピー論理LBAに0をセットする(S1701)。
FIG. 15 is a flowchart showing the operation of pre-copying.
The process related to the pre-copy is executed by designating the target second volume, the target second volume is set as the pre-copy destination second volume, and the entity volume is the creation source of the pre-copy destination second volume. With the original snapshot volume as the target generation, 0 is set in the pre-copy logic LBA (S1701).

事前コピー論理LBAが、対象第2ボリューム上で最大の論理LBAの場合は(S1702:YES)、実行結果を返却する(S1717)。
一方、事前コピー論理LBAが最大の論理LBAでない場合は、更新頻度Fに0をセットし(S1703)、対象世代から開始して(S1704)、同一のマスタボリュームから作成した中で新しいスナップショットから古いスナップショットの順に、最古の世代またはm世代古いスナップショットまで検索し、事前コピー論理LBAと同一の論理LBAに対応する論理ブロックにおける、スナップショットの差分ビットの数を更新頻度Fに加算する(S1705、S1706、S1707、S1708)。
If the pre-copy logic LBA is the largest logic LBA on the target second volume (S1702: YES), the execution result is returned (S1717).
On the other hand, if the pre-copy logical LBA is not the maximum logical LBA, set the update frequency F to 0 (S1703), start from the target generation (S1704), and start from a new snapshot created from the same master volume. The oldest snapshot or m generation oldest snapshot is searched in this order, and the number of difference bits of the snapshot in the logical block corresponding to the same logical LBA as the precopy logical LBA is added to the update frequency F. (S1705, S1706, S1707, S1708).

続いて、対象世代を検索世代として(S1709)、同一のマスタボリュームから作成した中で古いスナップショットから新しいスナップショットの順に、最新世代またはn世代新しいスナップショットまで検索し、事前コピー論理LBAと同一の論理LBAに対応する論理ブロックにおける、スナップショットの差分ビットの数を更新頻度Fに加算する(S1710、S1711、S1712、S1713)。 Then, with the target generation as the search generation (S1709), the latest generation or n generation new snapshots are searched in order from the oldest snapshot to the newest snapshot created from the same master volume, and the same as the pre-copy logic LBA. The number of difference bits of the snapshot in the logical block corresponding to the logical LBA of is added to the update frequency F (S1710, S1711, S1712, S1713).

更新頻度Fを計算した後、Fから1を引いた値が閾値Tを超えていれば(S1714:YES)、対象第2ボリュームの作成元となるエンティティボリュームを複製元ボリュームに、当該エンティティボリュームにおける対象論理LBAと同一の論理LBAに対応する論理ブロックを複製元論理LBAに、事前コピー先第2ボリュームを複製先ボリュームに、事前コピー先第2ボリュームにおける対象論理LBAと同一の論理LBAに対応する論理ブロックを複製先論理LBAに、それぞれ指定して、対象論理LBAと同一の論理LBAに対応する論理ブロックのデータ列を複製する(S1715、詳細は図13を参照)。
最後に、事前コピー論理LBAに1を加算し、S1702に進む(S1716)。
After calculating the update frequency F, if the value obtained by subtracting 1 from F exceeds the threshold value T (S1714: YES), the entity volume that is the creation source of the target second volume is set as the replication source volume, and the entity volume is used. The logical block corresponding to the same logical LBA as the target logical LBA corresponds to the copy source logical LBA, the pre-copy destination second volume corresponds to the copy destination volume, and the pre-copy destination second volume corresponds to the same logical LBA as the target logical LBA. The logical block is designated as the replication destination logical LBA, and the data string of the logical block corresponding to the same logical LBA as the target logical LBA is duplicated (S1715, see FIG. 13 for details).
Finally, 1 is added to the pre-copy logic LBA, and the process proceeds to S1702 (S1716).

《作用・効果》
本発明に係る情報処理装置10は、第1ボリュームの更新による差分データを第2ボリュームに記録する第1記録手段と、第1ボリュームのうち更新の発生頻度が所定の頻度閾値より高い記憶領域である高頻度更新領域を特定する特定手段と、特定された高頻度更新領域に係るデータのクローンデータを第2ボリュームに記録する第2記録手段と、高頻度更新領域に係るデータをクローンデータに基づいて再現し、高頻度更新領域以外の記憶領域に係るデータを第1ボリュームのデータと差分データとに基づいて再現する再現手段を備える。
《Action / Effect》
The information processing apparatus 10 according to the present invention is a first recording means for recording difference data due to an update of the first volume in the second volume, and a storage area of the first volume in which the update occurrence frequency is higher than a predetermined frequency threshold. A specific means for identifying a certain high-frequency update area, a second recording means for recording the cloned data of the data related to the specified high-frequency update area on the second volume, and the data related to the high-frequency update area based on the clone data. It is provided with a reproduction means for reproducing the data related to the storage area other than the high frequency update area based on the data of the first volume and the difference data.

差分データを記録してバックアップしたデータの更新又は読み込みを行う場合、情報処理装置10は、更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行う。そのため、情報処理装置10のユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。 When updating or reading the backed up data by recording the difference data, the information processing apparatus 10 performs the update or reading using the data related to the area having a high update frequency. Therefore, the user of the information processing apparatus 10 can shorten the processing time associated with updating and reading the volume.

また、情報処理装置10は、第1ボリュームのスナップショットを生成する生成手段を備え、特定手段は複数のスナップショットを照らし合わせて、高頻度更新領域を特定する。 Further, the information processing apparatus 10 includes a generation means for generating a snapshot of the first volume, and the specific means compares a plurality of snapshots to identify a high-frequency update area.

これにより、情報処理装置10は、差分データを記録し、スナップショットを生成してバックアップしたデータの更新又は読み込みを行う場合、情報処理装置10は、更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行う。そのため、情報処理装置10のユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。 As a result, when the information processing device 10 records the difference data, generates a snapshot, and updates or reads the backed up data, the information processing device 10 uses the data related to the frequently updated area. Update or read. Therefore, the user of the information processing apparatus 10 can shorten the processing time associated with updating and reading the volume.

また、情報処理装置10の特定手段は、複数の世代ごとのスナップショットに対応するビットマップを照らし合わせて、高頻度更新領域を特定する。
これにより、情報処理装置10は、差分データを記録し、スナップショットを生成してバックアップしたデータの更新又は読み込みを行う場合、情報処理装置10は、ビットマップを用いて更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行う。そのため、情報処理装置10のユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。
Further, the identification means of the information processing apparatus 10 identifies the high-frequency update area by comparing the bitmaps corresponding to the snapshots for each of a plurality of generations.
As a result, when the information processing device 10 records the difference data, generates a snapshot, and updates or reads the backed up data, the information processing device 10 relates to an area having a high update frequency by using a bit map. The update or reading is performed using the data. Therefore, the user of the information processing apparatus 10 can shorten the processing time associated with updating and reading the volume.

本発明に係る情報処理方法は、第1ボリュームの更新による差分データを第2ボリュームに記録するステップと、第1ボリュームのうち更新の発生頻度が所定の頻度閾値より高い記憶領域である高頻度更新領域を特定するステップと、特定された高頻度更新領域に係るデータのクローンデータを第2ボリュームに記録するステップと、高頻度更新領域に係るデータをクローンデータに基づいて再現し、高頻度更新領域以外の記憶領域に係るデータを第1ボリュームのデータと差分データとに基づいて再現するステップを有する。 The information processing method according to the present invention includes a step of recording the difference data due to the update of the first volume in the second volume, and a high frequency update in which the update occurrence frequency of the first volume is higher than a predetermined frequency threshold. The step of specifying the area, the step of recording the clone data of the data related to the specified high-frequency update area in the second volume, and the step of reproducing the data related to the high-frequency update area based on the clone data, and the high-frequency update area. It has a step of reproducing the data related to the storage areas other than the above based on the data of the first volume and the difference data.

差分データを記録してバックアップしたデータの更新又は読み込みを行う場合、情報処理方法を用いると、更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行うことができる。そのため、情報処理方法を用いるユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。 When updating or reading the backed up data by recording the difference data, if the information processing method is used, the update or reading can be performed using the data related to the area having a high update frequency. Therefore, the user who uses the information processing method can shorten the processing time associated with updating and reading the volume.

本発明に係るプログラムは、第1ボリュームの更新による差分データを第2ボリュームに記録するステップと、第1ボリュームのうち更新の発生頻度が所定の頻度閾値より高い記憶領域である高頻度更新領域を特定するステップと、特定された高頻度更新領域に係るデータのクローンデータを第2ボリュームに記録するステップと、高頻度更新領域に係るデータをクローンデータに基づいて再現し、高頻度更新領域以外の記憶領域に係るデータを第1ボリュームのデータと差分データとに基づいて再現するステップとして実行させる。 The program according to the present invention includes a step of recording the difference data due to the update of the first volume in the second volume, and a high-frequency update area in the first volume, which is a storage area in which the update occurrence frequency is higher than a predetermined frequency threshold. The step of specifying, the step of recording the clone data of the data related to the specified high-frequency update area in the second volume, and the step of reproducing the data related to the high-frequency update area based on the clone data, other than the high-frequency update area. The data related to the storage area is executed as a step of reproducing based on the data of the first volume and the difference data.

差分データを記録してバックアップしたデータの更新又は読み込みを行う場合、プログラムを実行させると、更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行うことができる。そのため、プログラムを実行させるユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。 When updating or reading the backed up data by recording the difference data, when the program is executed, the update or reading can be performed using the data related to the area having a high update frequency. Therefore, the user who executes the program can shorten the processing time associated with updating and reading the volume.

〈第2の実施形態〉
《情報処理システムの構成》
以下、第2の実施形態に係る情報処理システム1の構成について説明する。
第1の実施形態に係る情報処理システム1のコピー制御部14は、複数の世代ごとのスナップショットに対応するビットマップを照らし合わせて高頻度更新領域を特定する。これに対し、第2の実施形態に係る情報処理システム1のコピー制御部14は、複数の差分データを照らし合わせて、高頻度更新領域を特定する。
<Second embodiment>
<< Configuration of information processing system >>
Hereinafter, the configuration of the information processing system 1 according to the second embodiment will be described.
The copy control unit 14 of the information processing system 1 according to the first embodiment identifies a high-frequency update area by comparing bitmaps corresponding to snapshots for each of a plurality of generations. On the other hand, the copy control unit 14 of the information processing system 1 according to the second embodiment identifies a high-frequency update area by comparing a plurality of difference data.

図16は、第2の実施形態に係る情報処理システム1の構成を示す図である。
第2の実施形態に係る記憶部16は、情報処理装置10の外部に設けられる。記憶部16は、インタフェース30Bを介して情報処理装置10と接続する。第2の実施形態に係る記憶部16の例としては、ディスクアレイと、クラウドストレージとが挙げられる。
FIG. 16 is a diagram showing a configuration of the information processing system 1 according to the second embodiment.
The storage unit 16 according to the second embodiment is provided outside the information processing device 10. The storage unit 16 is connected to the information processing device 10 via the interface 30B. Examples of the storage unit 16 according to the second embodiment include a disk array and cloud storage.

また、第2の実施形態における記憶部更新のコマンドと、記憶部読み込みのコマンドは、転送制御部11を介して記憶部16に送信されるため、外部の記憶部16との互換性を必要とする。
例えば、記憶部16が複数のボリュームを提供する場合は、対象ボリュームも指定する必要がある。
このように、情報処理装置10と記憶部16との間などの複数のストレージ装置間の互換性を目的としたコマンドとして、例えば、ATA(Advanced Technology Attachment)仕様、SCSI(Small Computer System Interface)仕様、NVM Express仕様に基づくコマンドを用いることができる。コマンドは、情報処理装置10および記憶部16が相互に認識できるものであれば、これに限定するものではない。
Further, since the command for updating the storage unit and the command for reading the storage unit in the second embodiment are transmitted to the storage unit 16 via the transfer control unit 11, compatibility with the external storage unit 16 is required. do.
For example, when the storage unit 16 provides a plurality of volumes, it is necessary to specify the target volume as well.
As described above, as commands for compatibility between a plurality of storage devices such as between the information processing device 10 and the storage unit 16, for example, ATA (Advanced Technology Attainment) specifications and SCSI (Small Computer System Interface) specifications are used. , Commands based on the NVM Express specification can be used. The command is not limited to this as long as the information processing device 10 and the storage unit 16 can recognize each other.

《情報処理システムの動作》
以下、第2の実施形態に係る情報処理システム1の動作について説明する。
図17は、本発明の第2の実施形態の動作を示すフローチャートである。
対象第2ボリュームを指定して実行し、事前コピー論理LBAに0をセットする(S1801)。
<< Operation of information processing system >>
Hereinafter, the operation of the information processing system 1 according to the second embodiment will be described.
FIG. 17 is a flowchart showing the operation of the second embodiment of the present invention.
The target second volume is specified and executed, and 0 is set in the pre-copy logic LBA (S1801).

事前コピー論理LBAが、対象第2ボリューム上で最大の論理LBAの場合は(S1802:YES)、実行結果を返却する(S1818)。
一方、事前コピー論理LBAが最大の論理LBAでない場合は、事前コピー論理LBAに対応する論理ブロックにおける、対象第2ボリュームの差分の有無を識別する(S1803)。
If the pre-copy logic LBA is the largest logic LBA on the target second volume (S1802: YES), the execution result is returned (S1818).
On the other hand, when the pre-copy logic LBA is not the maximum logic LBA, the presence or absence of a difference in the target second volume in the logic block corresponding to the pre-copy logic LBA is identified (S1803).

差分が存在する場合は(S1803:NO)、S1817に進む。
一方、差分が存在しない場合は、更新頻度Fに0をセットし(S1804)、対象第2ボリュームから開始して(S1805)、同一のエンティティボリュームから作成した中で新しい第2ボリュームから古い第2ボリュームの順に、最初の第2ボリュームまたはm回前に作成した第2ボリュームまで検索し、事前コピー論理LBAと同一の論理LBAに対応する論理ブロックにおける、第2ボリュームの差分ビットの数を更新頻度Fに加算する(S1806、S1807、S1808、S1809)。
If there is a difference (S1803: NO), the process proceeds to S1817.
On the other hand, if there is no difference, the update frequency F is set to 0 (S1804), the target second volume is started (S1805), and the new second volume is the oldest second volume created from the same entity volume. The number of difference bits of the second volume in the logical block corresponding to the same logical LBA as the pre-copy logical LBA is updated by searching up to the first second volume or the second volume created m times before in the order of volumes. Add to F (S1806, S1807, S1808, S1809).

続いて、対象第2ボリュームから開始して(S1810)、同一のエンティティボリュームから作成した中で古い第2ボリュームから新しい第2ボリュームの順に、最後の第2ボリュームまたはn回後に作成した第2ボリュームまで検索し、事前コピー論理LBAと同一の論理LBAに対応する論理ブロックにおける、第2ボリュームの差分ビットの数を更新頻度Fに加算する(S1811、S1812、S1813、S1814)。 Subsequently, starting from the target second volume (S1810), the second volume created from the old second volume to the new second volume created from the same entity volume is the last second volume or the second volume created n times later. Is searched up to, and the number of difference bits of the second volume in the logical block corresponding to the same logical LBA as the pre-copy logical LBA is added to the update frequency F (S1811, S1812, S1813, S1814).

更新頻度Fを計算した後、Fから1を引いた値が閾値Tを超えていれば(S1815:YES)、対象第2ボリュームの作成元となるエンティティボリュームを複製元ボリュームに、当該エンティティボリュームにおける対象論理LBAと同一の論理LBAに対応する論理ブロックを複製元論理LBAに、事前コピー先第2ボリュームを複製先ボリュームに、事前コピー先第2ボリュームにおける対象論理LBAと同一の論理LBAに対応する論理ブロックを複製先論理LBAに、それぞれ指定して、対象論理LBAと同一の論理LBAに対応する論理ブロックのデータ列を複製する(S1816、詳細は図13を参照)。
最後に、事前コピー論理LBAに1を加算し、S1802に進む(S1817)。
After calculating the update frequency F, if the value obtained by subtracting 1 from F exceeds the threshold value T (S1815: YES), the entity volume that is the creation source of the target second volume is set as the replication source volume, and the entity volume is used. The logical block corresponding to the same logical LBA as the target logical LBA corresponds to the copy source logical LBA, the pre-copy destination second volume corresponds to the copy destination volume, and the pre-copy destination second volume corresponds to the same logical LBA as the target logical LBA. The logical block is designated as the replication destination logical LBA, and the data string of the logical block corresponding to the same logical LBA as the target logical LBA is duplicated (S1816, see FIG. 13 for details).
Finally, 1 is added to the pre-copy logic LBA, and the process proceeds to S1802 (S1817).

第1の実施形態に係る情報処理装置10は、事前コピー先第2ボリュームの作成元となるエンティティボリュームがスナップショットである必要があったが、第2の実施形態に係る情報処理装置10は、エンティティボリュームがスナップショットボリュームではない場合であっても、同一のエンティティボリュームから作成した複数の第2ボリュームから更新頻度を計算することにより、事前コピーを実現できる。 In the information processing device 10 according to the first embodiment, the entity volume that is the creation source of the pre-copy destination second volume needs to be a snapshot, but the information processing device 10 according to the second embodiment has. Even when the entity volume is not a snapshot volume, pre-copying can be realized by calculating the update frequency from a plurality of second volumes created from the same entity volume.

《作用・効果》
本発明に係る情報処理装置10の特定手段は、複数の差分データを照らし合わせて、高頻度更新領域を特定する。
情報処理装置10は、スナップショットを照らし合わせなくても、第2ボリュームの差分データから更新頻度を計算することにより、マスタボリュームの更新と読み込みに伴う処理時間を短縮することができる。
《Action / Effect》
The identification means of the information processing apparatus 10 according to the present invention identifies a high-frequency update region by comparing a plurality of difference data.
The information processing apparatus 10 can shorten the processing time associated with updating and reading the master volume by calculating the update frequency from the difference data of the second volume without comparing the snapshots.

また、情報処理装置10の第2ボリュームは、情報処理装置10の外部に設けられ、第2ボリュームと情報処理装置10とは、インタフェース30により接続する。
これにより、第2ボリュームは、情報処理装置10に内蔵するとは限らず、ディスクアレイ装置等の外部記憶装置により提供される記憶媒体を用いても良い。これにより、情報処理装置10は、外部の多様な第2ボリュームを用いて、マスタボリュームの更新と読み込みに伴う処理時間を短縮することができる。
Further, the second volume of the information processing device 10 is provided outside the information processing device 10, and the second volume and the information processing device 10 are connected by an interface 30.
As a result, the second volume is not necessarily built in the information processing device 10, and a storage medium provided by an external storage device such as a disk array device may be used. As a result, the information processing apparatus 10 can shorten the processing time associated with updating and reading the master volume by using various external second volumes.

〈基本構成〉
基本構成に係る実施形態の構成は、上記で説明した第1の実施形態の構成と同様の構成である。すなわち、基本構成に係る情報処理装置10は、転送制御部11と、スナップショット制御部12と、差分制御部13と、コピー制御部14と、更新制御部15と、記憶部16を備える。
<Basic configuration>
The configuration of the embodiment according to the basic configuration is the same as the configuration of the first embodiment described above. That is, the information processing device 10 according to the basic configuration includes a transfer control unit 11, a snapshot control unit 12, a difference control unit 13, a copy control unit 14, an update control unit 15, and a storage unit 16.

基本構成に係る情報処理装置10は、第1ボリュームの更新による差分データを第2ボリュームに記録する第1記録手段と、第1ボリュームのうち更新の発生頻度が所定の頻度閾値より高い記憶領域である高頻度更新領域を特定する特定手段と、特定された高頻度更新領域に係るデータのクローンデータを第2ボリュームに記録する第2記録手段と、高頻度更新領域に係るデータをクローンデータに基づいて再現し、高頻度更新領域以外の記憶領域に係るデータを第1ボリュームのデータと差分データとに基づいて再現する再現手段を備える。 The information processing device 10 according to the basic configuration is a first recording means for recording the difference data due to the update of the first volume in the second volume, and a storage area in the first volume in which the update occurrence frequency is higher than a predetermined frequency threshold. A specific means for identifying a certain high-frequency update area, a second recording means for recording the cloned data of the data related to the specified high-frequency update area on the second volume, and the data related to the high-frequency update area based on the clone data. It is provided with a reproduction means for reproducing the data related to the storage area other than the high frequency update area based on the data of the first volume and the difference data.

差分データを記録してバックアップしたデータの更新又は読み込みを行う場合、情報処理装置10は、更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行う。そのため、情報処理装置10のユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。 When updating or reading the backed up data by recording the difference data, the information processing apparatus 10 performs the update or reading using the data related to the area having a high update frequency. Therefore, the user of the information processing apparatus 10 can shorten the processing time associated with updating and reading the volume.

〈コンピュータ構成〉
図18は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ2100は、プロセッサ2110、メインメモリ2120、ストレージ2130、インタフェース2140を備える。
上述の情報処理装置10は、コンピュータ2100に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ2130に記憶されている。プロセッサ2110は、プログラムをストレージ2130から読み出してメインメモリ2120に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ2110は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ2120に確保する。
<Computer configuration>
FIG. 18 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
The computer 2100 includes a processor 2110, a main memory 2120, a storage 2130, and an interface 2140.
The information processing device 10 described above is mounted on the computer 2100. The operation of each processing unit described above is stored in the storage 2130 in the form of a program. The processor 2110 reads a program from the storage 2130, expands it into the main memory 2120, and executes the above processing according to the program. Further, the processor 2110 secures a storage area corresponding to each of the above-mentioned storage units in the main memory 2120 according to the program.

プログラムは、コンピュータ2100に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ2130に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ2100は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ2110によって実現される機能の一部または全部が当該集積回路によって実現されてよい。 The program may be intended to realize some of the functions exerted by the computer 2100. For example, the program may exert its function in combination with another program already stored in the storage 2130, or in combination with another program mounted on another device. In another embodiment, the computer 2100 may include a custom LSI (Large Scale Integrated Circuit) such as a PLD (Programmable Logic Device) in addition to or in place of the above configuration. Examples of PLDs include PAL (Programmable Array Logic), GAL (Generic Array Logic), CPLD (Complex Programmable Logic Device), and FPGA (Field Programmable Gate Array). In this case, some or all of the functions realized by the processor 2110 may be realized by the integrated circuit.

ストレージ2130の例としては、磁気ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ2130は、コンピュータ2100のバスに直接接続された内部メディアであってもよいし、インタフェース2140または通信回線を介してコンピュータに接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ2100に配信される場合、配信を受けたコンピュータ2100が当該プログラムをメインメモリ2120に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ2130は、一時的でない有形の記憶媒体である。 Examples of the storage 2130 include magnetic disks, magneto-optical disks, semiconductor memories, and the like. The storage 2130 may be internal media directly connected to the bus of the computer 2100, or external media connected to the computer via interface 2140 or a communication line. When this program is distributed to the computer 2100 via a communication line, the distributed computer 2100 may expand the program in the main memory 2120 and execute the above processing. In at least one embodiment, the storage 2130 is a non-temporary tangible storage medium.

また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ2130に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。 Further, the program may be for realizing a part of the above-mentioned functions. Further, the program may be a so-called difference file (difference program) that realizes the above-mentioned function in combination with another program already stored in the storage 2130.

1 情報処理システム
10 情報処理装置
11 転送制御部
12 スナップショット制御部
13 差分制御部
14 コピー制御部
15 更新制御部
16 記憶部
20 ホストコンピュータ
30 インタフェース
2100 コンピュータ
2110 プロセッサ
2120 メインメモリ
2130 ストレージ
2140 インタフェース
1 Information processing system 10 Information processing device 11 Transfer control unit 12 Snapshot control unit 13 Difference control unit 14 Copy control unit 15 Update control unit 16 Storage unit 20 Host computer 30 Interface 2100 Computer 2110 Processor 2120 Main memory 2130 Storage 2140 Interface

Claims (3)

第1ボリュームのデータの更新前と更新後との差分データを第2ボリュームに記録する記録手段と、
前記差分データに基づいて、前記第1ボリュームのうち前記更新の発生頻度が所定の頻度閾値より高い記憶領域である高頻度更新領域を特定する特定手段と、
特定された前記高頻度更新領域に係るデータのクローンデータを前記第2ボリュームに記録する第2記録手段と、
前記第1ボリュームのデータ、または、前記クローンデータの何れかを用いて、前記第1ボリュームのスナップショットを生成する生成手段と、
を備え
前記特定手段は複数の前記スナップショットを照らし合わせて、前記高頻度更新領域を特定する
情報処理装置。
A recording means for recording the difference data between before and after updating the data of the first volume in the second volume, and
Based on the difference data, a specific means for identifying a high-frequency update area in the first volume, which is a storage area in which the update occurrence frequency is higher than a predetermined frequency threshold value, and
A second recording means for recording cloned data of the identified data related to the high-frequency update area in the second volume, and
A generation means for generating a snapshot of the first volume using either the data of the first volume or the clone data, and
With
The identifying means identifies the frequently updated region by comparing a plurality of the snapshots.
Information processing device.
前記特定手段は、複数の世代ごとの前記スナップショットに対応するビットマップを照らし合わせて、前記高頻度更新領域を特定する
請求項に記載の情報処理装置。
The information processing apparatus according to claim 1 , wherein the specific means identifies the high-frequency update area by comparing bitmaps corresponding to the snapshots for each of a plurality of generations.
前記第2ボリュームは、前記情報処理装置の外部に設けられ、
前記第2ボリュームと前記情報処理装置とは、インタフェースにより接続する
請求項1または請求項2に記載の情報処理装置。
The second volume is provided outside the information processing apparatus.
The information processing device according to claim 1 or 2 , wherein the second volume and the information processing device are connected by an interface.
JP2020046535A 2020-03-17 2020-03-17 Information processing equipment Active JP7103671B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020046535A JP7103671B2 (en) 2020-03-17 2020-03-17 Information processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020046535A JP7103671B2 (en) 2020-03-17 2020-03-17 Information processing equipment

Publications (2)

Publication Number Publication Date
JP2021149292A JP2021149292A (en) 2021-09-27
JP7103671B2 true JP7103671B2 (en) 2022-07-20

Family

ID=77848853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020046535A Active JP7103671B2 (en) 2020-03-17 2020-03-17 Information processing equipment

Country Status (1)

Country Link
JP (1) JP7103671B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107162A (en) 2004-10-06 2006-04-20 Hitachi Ltd Storage system
JP2012014286A (en) 2010-06-29 2012-01-19 Toshiba Corp Storage system, data backup method in the same and data backup program
JP2016181142A (en) 2015-03-24 2016-10-13 日本電気株式会社 Backup control apparatus, backup control method, and program
JP2017138720A (en) 2016-02-02 2017-08-10 日本電気株式会社 Volume management device, volume management method and volume management program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107162A (en) 2004-10-06 2006-04-20 Hitachi Ltd Storage system
JP2012014286A (en) 2010-06-29 2012-01-19 Toshiba Corp Storage system, data backup method in the same and data backup program
JP2016181142A (en) 2015-03-24 2016-10-13 日本電気株式会社 Backup control apparatus, backup control method, and program
JP2017138720A (en) 2016-02-02 2017-08-10 日本電気株式会社 Volume management device, volume management method and volume management program

Also Published As

Publication number Publication date
JP2021149292A (en) 2021-09-27

Similar Documents

Publication Publication Date Title
US10430286B2 (en) Storage control device and storage system
JP4550541B2 (en) Storage system
JP5221756B2 (en) Storage system and storage control method for compressing and storing data elements
JP5543026B2 (en) Storage system and data control method thereof
JP6309103B2 (en) Snapshot and clone replication
JP5555780B2 (en) Information processing service failure recovery method and virtual machine image generation apparatus
US8280858B2 (en) Storage pool scrubbing with concurrent snapshots
US20170075765A1 (en) Hybrid backup and recovery management system for database versioning and virtualization with data transformation
US20100049754A1 (en) Storage system and data management method
KR101369813B1 (en) Accessing, compressing, and tracking media stored in an optical disc storage system
JP4722704B2 (en) INFORMATION RECORDING MEDIUM, ACCESS DEVICE AND ACCESS METHOD FOR INFORMATION RECORDING MEDIUM
JP2005332067A (en) Backup acquisition method and disk array device
US20160314153A1 (en) Write information storage device, method, and recording medium
WO2018076633A1 (en) Remote data replication method, storage device and storage system
JP6281511B2 (en) BACKUP CONTROL DEVICE, BACKUP CONTROL METHOD, AND PROGRAM
EP2669806B1 (en) Storage system
JP7103671B2 (en) Information processing equipment
JP6194784B2 (en) Storage control device, control method, and control program
JP4391793B2 (en) File update device
WO2016185573A1 (en) Volume backup/restore method for deduplication storage
KR100678888B1 (en) Apparatus and method for wiriting and reading data
US20060143423A1 (en) Storage device, data processing method thereof, data processing program thereof, and data processing system
JP2009205591A (en) Access module, information recording module, and information recording system
JP2009205590A (en) Access module, information recording module, controller, and information recording system
US11307774B2 (en) Storage control device, non-transitory computer-readable storage medium, and storage control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210726

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220228

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220310

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220630

R150 Certificate of patent or registration of utility model

Ref document number: 7103671

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150