JP7103671B2 - Information processing equipment - Google Patents
Information processing equipment Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、情報処理装置に関する。 The present invention relates to an information processing device .
特許文献1には、ファイルシステムのある時点におけるスナップショットのディスクイメージに基づいて、仮想の類似ディスクを設定することにより、システム再起動を容易に実行できる技術が開示されている。
ボリュームの更新を行う場合、当該更新によるボリュームの差分データを記録すること
により、当該ボリュームをバックアップする技術が知られている。上記ボリュームを読み
込むためには、記録された差分データと当該差分データに対応しない当該ボリュームの参
照を行う必要がある。
しかし、上記参照にはボリュームへのアクセスが生じるため、当該参照の処理時間が遅
延する可能性がある。
本発明の目的は、上述した課題を解決する情報処理装置を提供することにある。
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.
〈第1の実施形態〉
《情報処理システムの構成》
以下、図面を参照しながら第1実施形態に係る情報処理システム1について詳しく説明する。
図1は、第1の実施形態に係る情報処理システム1の構成を示す概略ブロック図である。
情報処理システム1は、ホストコンピュータ20からコマンドを受け入れてボリュームの差分データを記録してバックアップを行う。
情報処理システム1は、情報処理装置10と、ホストコンピュータ20、インタフェース30を備える。
<First Embodiment>
<< Configuration of information processing system >>
Hereinafter, the
FIG. 1 is a schematic block diagram showing a configuration of the
The
The
ホストコンピュータ20は、情報処理システム1のユーザから入力を受け入れて情報処理装置10にコマンドを送信する。
ホストコンピュータ20は、インタフェース30を介して情報処理装置10と接続する。ホストコンピュータ20は無線で情報処理装置10と接続しても良い。
The
The
《情報処理装置の構成》
以下、情報処理装置10の構成について説明する。
情報処理装置10は、転送制御部11と、スナップショット制御部12と、差分制御部13と、コピー制御部14と、更新制御部15と、記憶部16を備える。
<< Configuration of information processing equipment >>
Hereinafter, the configuration of the
The
記憶部16は、固定長の物理ブロック単位でデータ列を記憶する記憶媒体である。以下、記憶部16のブロックを物理ブロックと称する。
記憶部16の例としては、磁気記憶装置と、半導体記憶装置が挙げられる。記憶部16は、単一の物理的な記憶媒体に限定するものではなく、例えば、RAID(Redundant Array of Independent Disks)技術等による仮想的な記憶媒体でも良い。
The
Examples of the
記憶部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
第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
転送制御部11は、インタフェース30と、スナップショット制御部12と、差分制御部13と接続する。スナップショット制御部12は、差分制御部13と、コピー制御部14と、更新制御部15と、記憶部16と接続する。
The
転送制御部11はホストコンピュータ20から、スナップショット取得のコマンドと、差分取得のコマンドと、更新のコマンドと、読み込みのコマンドを含む一群のコマンドを受信する。
The
スナップショット制御部12は、転送制御部11からスナップショット取得のコマンドを受信して第1ボリュームのスナップショットを生成する。スナップショット制御部12は生成手段の一例である。
The
差分制御部13は、転送制御部11から差分取得のコマンドを受信して第1ボリュームの更新による差分データを第2ボリュームに記録する。差分制御部13は第1記録手段の一例である。
The
また、スナップショット制御部12及び差分制御部13は、更新のコマンドと読み込みのコマンドを含む一群のコマンドを受信して処理する。更新制御部15は、スナップショット制御部12及び差分制御部13から記憶部更新のコマンド及び記憶部読み込みのコマンドを含む一群のコマンドを含む一群のコマンドを受信して処理する。
Further, the
差分取得のコマンドは対象ボリュームを含み、実行結果を返却する。更新のコマンドは、対象ボリュームと対象論理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
Further, when the received command is a read command, the
更新制御部15は受信したコマンドが記憶部更新のコマンドの場合は、対象物理LBAに対応する物理ブロックにデータ列を記録して、実行結果を返却する。また、更新制御部15は、受信したコマンドが記憶部読み込みのコマンドの場合は、対象物理LBAに対応する物理ブロックからデータ列を読み込み、読み込んだデータ列を返却する。
When the received command is a storage unit update command, the
図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
スナップショット制御部12は、受信したコマンドがスナップショット取得のコマンドである場合は、ツリー管理テーブル900に新しいスナップショットの情報を追加し、親ボリュームに対象ボリューム、子ボリュームに新しいスナップショット、種別に「スナップショット」を格納する。また、スナップショット制御部12は、差分管理テーブル1000に新しいスナップショットのエントリを追加し、エントリ上の全てのビットに差分なしを表す「0」を格納し、変換テーブル1100に新しいスナップショットのエントリを追加し、エントリ上の全ての物理LBAに記憶なしを表す「null」を格納した上で、実行結果を返却する。
When the received command is a snapshot acquisition command, the
差分制御部13は、受信したコマンドが差分取得のコマンドの場合は、ツリー管理テーブル900に新しい差分データの情報を追加し、親ボリュームに対象ボリューム、子ボリュームに新しい差分、種別に「差分」を格納する。また、差分管理テーブル1000に新しい差分データのエントリを追加し、エントリ上の全てのビットに差分データなしを表す「0」を格納し、変換テーブル1100に新しい差分データのエントリを追加し、エントリ上の全ての物理LBAに記憶なしを表す「null」を格納した上で、実行結果を返却する。スナップショット制御部12および差分制御部13における、読み込みのコマンドおよび更新のコマンドの処理については後で詳細に説明する。
If the received command is a difference acquisition command, the
コピー制御部14は、複数の世代ごとのスナップショットに対応するビットマップを照らし合わせて、高頻度更新領域を特定する。コピー制御部14は特定手段の一例である。高頻度更新領域とは、第1ボリュームのうち更新の発生頻度が所定の頻度閾値より高い記憶領域である。
また、コピー制御部14は特定された高頻度更新領域に係るデータのクローンデータを第2ボリュームに記録する。コピー制御部14は第2記録手段の一例である。
The
Further, the
コピー制御部14は、ツリー管理テーブル900に登録している差分データに対する更新の頻度を計算し、更新の頻度が所定の閾値を超えている場合は、当該LBAまたは当該LBAを含むその近傍のLBAのデータ列を、マスタボリュームから第2ボリュームに記録する。この一連の処理を事前コピーと称する。コピー制御部14が行う事前コピーの処理については後で詳細に説明する。
The
例えば、コピー制御部14は所定のプログラムを定期的に動作させて、指定した時間間隔で、または指定した時刻に事前コピーを行っても良い。また、転送制御部11がホストコンピュータ20から何らかのコマンドを受信した場合、転送制御部11は、コピー制御部14に対してコマンドを発行して、コピー制御部14が当該コマンドを受信して事前コピーを行うようにしても良い。
For example, the
次に、図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
In these figures, the "data" corresponding to each logical LBA on each volume represents a data string presented to the
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
一方、スナップショット制御部12は、スナップショットボリュームからデータ列を読み込む際に、対象のスナップショットから開始して、古いスナップショットから新しいスナップショットの順に差分の有無を識別し、最初に差分が存在したスナップショットを参照する。いずれのスナップショットボリュームにも差分が存在しない場合は、マスタボリュームを参照する。なお、本発明は、スナップショットの方式をコピー・オン・ライト方式に限定するものではなく、例えば、リダイレクト・オン・ライト方式と称される、マスタボリューム上のデータ列は更新せず、マスタボリューム上のデータ列をスナップショットボリューム上に複製した上で、スナップショットボリューム上のデータ列を書き込みデータ列により更新する方式であっても構わない。
すなわち、スナップショット制御部12は、高頻度更新領域にかかるデータをクローンデータに基づいて再現し、高頻度更新領域以外の記憶領域に係るデータを第1ボリューム又はスナップショットボリュームのデータと、差分データとに基づいて再現して、読み込みのコマンド又は更新のコマンドに対して処理を行う。スナップショット制御部12は、再現手段の一例である。
On the other hand, when the
That is, the
差分制御部13は、差分データを取得した時点ではデータ列を複製せず、第2ボリュームに対するデータ列の書き込みがあった時点で、第2ボリュームに差分が存在しない場合はエンティティボリューム上の不足データ列を差分データとして第2ボリューム上に複製した上で、第2ボリューム上のデータ列を書き込みデータ列により更新する。
一方、差分制御部13は、第2ボリュームからデータ列を読み込む際に、差分データの有無を識別し、差分データが存在する場合は第2ボリュームを、差分データが存在しない場合はエンティティボリュームを、それぞれ参照する。
The
On the other hand, when reading the data string from the second volume, the
図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
Further, the
事前コピーにおいて、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
《情報処理システムの動作》
以下、情報処理システム1の動作について説明する。
図8~図14は、情報処理システム1のスナップショット制御部12および差分制御部13の動作を示すフローチャートである。
<< Operation of information processing system >>
The operation of the
8 to 14 are flowcharts showing the operations of the
図8は、スナップショット制御部12における読み込みのコマンドの動作を示すフローチャートである。
スナップショット制御部12における読み込みでは、対象ボリュームの種類を識別する。具体的には、ツリー管理テーブル900上の全てのエントリを参照し、対象ボリュームが親ボリュームまたは子ボリュームとして格納されているエントリを検索する。対象ボリュームが親ボリュームとして格納されているエントリが存在し、当該エントリの種別が「スナップショット」であれば、対象ボリュームはマスタボリュームである。対象ボリュームが親ボリュームとして格納されているエントリが存在し、当該エントリの種別が「差分」であれば、対象ボリュームはエンティティボリュームである。対象ボリュームが子ボリュームとして格納されているエントリが存在し、当該エントリの種別が「スナップショット」であれば、対象ボリュームはスナップショットボリュームである。対象ボリュームが子ボリュームとして格納されているエントリが存在し、当該エントリの種別が「差分」であれば、対象ボリュームは第2ボリュームである。このように、スナップショット制御部12は、対象ボリュームの種類を識別する。
FIG. 8 is a flowchart showing the operation of the read command in the
In reading by the
対象ボリュームがスナップショットボリュームでない場合(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
マスタボリュームが第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
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
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
エンティティボリュームが第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
エンティティボリュームがスナップショットボリュームおよび第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
スナップショット制御部12における書き込みでは、マスタボリュームを複製元ボリュームに、対象論理LBAを複製元論理LBAに、最新のスナップショットを複製先ボリュームに、対象論理LBAを複製先論理LBAに、それぞれ指定して、対象論理LBAと同一の論理LBAに対応する論理ブロックのデータ列を複製する(S1201、詳細は図13を参照)。
In writing in the
さらに、マスタボリュームを記憶ボリューム、対象論理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
差分制御部13における書き込みでは、エンティティボリュームを複製元ボリュームに、対象論理LBAを複製元論理LBAに、第2ボリュームを複製先ボリュームに、対象論理LBAを複製先論理LBAに、それぞれ指定して、対象論理LBAと同一の論理LBAに対応する論理ブロックのデータ列を複製する(S1301、詳細は図13を参照)。
In the writing in the
さらに、第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
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
複製先ボリュームに差分データがある場合は(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
複製元ボリュームが第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
複製元ボリュームがスナップショットボリュームおよび第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
図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
差分データを記録してバックアップしたデータの更新又は読み込みを行う場合、情報処理装置10は、更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行う。そのため、情報処理装置10のユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。
When updating or reading the backed up data by recording the difference data, the
また、情報処理装置10は、第1ボリュームのスナップショットを生成する生成手段を備え、特定手段は複数のスナップショットを照らし合わせて、高頻度更新領域を特定する。
Further, the
これにより、情報処理装置10は、差分データを記録し、スナップショットを生成してバックアップしたデータの更新又は読み込みを行う場合、情報処理装置10は、更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行う。そのため、情報処理装置10のユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。
As a result, when the
また、情報処理装置10の特定手段は、複数の世代ごとのスナップショットに対応するビットマップを照らし合わせて、高頻度更新領域を特定する。
これにより、情報処理装置10は、差分データを記録し、スナップショットを生成してバックアップしたデータの更新又は読み込みを行う場合、情報処理装置10は、ビットマップを用いて更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行う。そのため、情報処理装置10のユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。
Further, the identification means of the
As a result, when the
本発明に係る情報処理方法は、第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
The
図16は、第2の実施形態に係る情報処理システム1の構成を示す図である。
第2の実施形態に係る記憶部16は、情報処理装置10の外部に設けられる。記憶部16は、インタフェース30Bを介して情報処理装置10と接続する。第2の実施形態に係る記憶部16の例としては、ディスクアレイと、クラウドストレージとが挙げられる。
FIG. 16 is a diagram showing a configuration of the
The
また、第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
For example, when the
As described above, as commands for compatibility between a plurality of storage devices such as between the
《情報処理システムの動作》
以下、第2の実施形態に係る情報処理システム1の動作について説明する。
図17は、本発明の第2の実施形態の動作を示すフローチャートである。
対象第2ボリュームを指定して実行し、事前コピー論理LBAに0をセットする(S1801)。
<< Operation of information processing system >>
Hereinafter, the operation of the
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
《作用・効果》
本発明に係る情報処理装置10の特定手段は、複数の差分データを照らし合わせて、高頻度更新領域を特定する。
情報処理装置10は、スナップショットを照らし合わせなくても、第2ボリュームの差分データから更新頻度を計算することにより、マスタボリュームの更新と読み込みに伴う処理時間を短縮することができる。
《Action / Effect》
The identification means of the
The
また、情報処理装置10の第2ボリュームは、情報処理装置10の外部に設けられ、第2ボリュームと情報処理装置10とは、インタフェース30により接続する。
これにより、第2ボリュームは、情報処理装置10に内蔵するとは限らず、ディスクアレイ装置等の外部記憶装置により提供される記憶媒体を用いても良い。これにより、情報処理装置10は、外部の多様な第2ボリュームを用いて、マスタボリュームの更新と読み込みに伴う処理時間を短縮することができる。
Further, the second volume of the
As a result, the second volume is not necessarily built in the
〈基本構成〉
基本構成に係る実施形態の構成は、上記で説明した第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
基本構成に係る情報処理装置10は、第1ボリュームの更新による差分データを第2ボリュームに記録する第1記録手段と、第1ボリュームのうち更新の発生頻度が所定の頻度閾値より高い記憶領域である高頻度更新領域を特定する特定手段と、特定された高頻度更新領域に係るデータのクローンデータを第2ボリュームに記録する第2記録手段と、高頻度更新領域に係るデータをクローンデータに基づいて再現し、高頻度更新領域以外の記憶領域に係るデータを第1ボリュームのデータと差分データとに基づいて再現する再現手段を備える。
The
差分データを記録してバックアップしたデータの更新又は読み込みを行う場合、情報処理装置10は、更新頻度の高い領域に係るデータを用いて当該更新又は読み込みを行う。そのため、情報処理装置10のユーザは、当該ボリュームの更新と読み込みに伴う処理時間を短縮することができる。
When updating or reading the backed up data by recording the difference data, the
〈コンピュータ構成〉
図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
The
プログラムは、コンピュータ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
ストレージ2130の例としては、磁気ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ2130は、コンピュータ2100のバスに直接接続された内部メディアであってもよいし、インタフェース2140または通信回線を介してコンピュータに接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ2100に配信される場合、配信を受けたコンピュータ2100が当該プログラムをメインメモリ2120に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ2130は、一時的でない有形の記憶媒体である。
Examples of the
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ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
1 情報処理システム
10 情報処理装置
11 転送制御部
12 スナップショット制御部
13 差分制御部
14 コピー制御部
15 更新制御部
16 記憶部
20 ホストコンピュータ
30 インタフェース
2100 コンピュータ
2110 プロセッサ
2120 メインメモリ
2130 ストレージ
2140 インタフェース
1
Claims (3)
前記差分データに基づいて、前記第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.
請求項1に記載の情報処理装置。 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ボリュームと前記情報処理装置とは、インタフェースにより接続する
請求項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.
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)
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 |
-
2020
- 2020-03-17 JP JP2020046535A patent/JP7103671B2/en active Active
Patent Citations (4)
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 | |
KR101369813B1 (en) | Accessing, compressing, and tracking media stored in an optical disc storage system | |
US20100049754A1 (en) | Storage system and data management method | |
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 | |
US20110213915A1 (en) | Nonvolatile storage device, access device and nonvolatile storage system | |
JP6281511B2 (en) | BACKUP CONTROL DEVICE, BACKUP CONTROL METHOD, AND PROGRAM | |
CA2825891A1 (en) | Storage system for storing data in a plurality of storage devices | |
JP7103671B2 (en) | Information processing equipment | |
JP6194784B2 (en) | Storage control device, control method, and control program | |
JP4391793B2 (en) | File update device | |
KR101247388B1 (en) | Method and apparatus for processing trim command in hybrid-mapping flash translation layer | |
WO2016185573A1 (en) | Volume backup/restore method for deduplication storage | |
JP2009205590A (en) | Access module, information recording module, controller, and information recording system | |
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 | |
KR20060007238A (en) | Apparatus and method for wiriting and reading data |
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 |