JP4466001B2 - スナップショット高速化方法 - Google Patents
スナップショット高速化方法 Download PDFInfo
- Publication number
- JP4466001B2 JP4466001B2 JP2003206170A JP2003206170A JP4466001B2 JP 4466001 B2 JP4466001 B2 JP 4466001B2 JP 2003206170 A JP2003206170 A JP 2003206170A JP 2003206170 A JP2003206170 A JP 2003206170A JP 4466001 B2 JP4466001 B2 JP 4466001B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- magnetic disk
- read
- write
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1466—Management of the backup or restore process to make the backup process non-disruptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、ある時刻のソース側磁気ディスクの内容を、その時刻以降新しいデータによって変更された領域について、スナップ側磁気ディスクにコピーするスナップショット機能の高速化の方法、及び、スナップショット高速化方法を実現する上位装置、スイッチ、ストレージ装置に関する。
【0002】
【従来の技術】
スナップショットの従来技術では、上位装置からソース側磁気ディスクへ新しいデータの書き込み要求があると、その領域のデータがスナップ側磁気ディスクへコピーされる。スナップ側へデータコピーが終わった後、新しいデータがソース側磁気ディスクに書き込まれる。再び、上位装置からソース側磁気ディスクへの新しいデータの書き込み要求があると、同様に、その領域のデータがスナップ側磁気ディスクにコピーされ、その後、新しいデータがソース側磁気ディスクに書き込まれる(例えば、特許文献1参照)。
【0003】
また、前述のようなスナップショットは、上位装置、ストレージ装置のいずれかで制御することができる。
【0004】
スナップショットを管理する方法としては、スナップショットをとっていない時は、上位装置から外部記憶装置へのデータ書き込みを異なる複数の記憶媒体上の領域に二重化して記憶しておき、スナップショットを採る際、二重化された領域のうち1つの領域を通常のアクセス用の記憶領域として提供し、もう一つの領域をスナップショット用として提供する技術がある(例えば、特許文献2参照)。
【0005】
【特許文献1】
米国特許第5649152号
【特許文献2】
特開2001−306407号公報
【0006】
【発明が解決しようとする課題】
前述の従来技術では、ソース側磁気ディスクの古いデータをスナップ側磁気ディスクへコピーするのは、上位装置からの書き込み要求が来てからであるため、実際にソース側磁気ディスクに新しいデータを書くまでに時間がかかっていた。また、上記特許文献2は、上位装置でのスナップショット管理方法であり、スイッチ、ストレージ装置ではスナップショットを管理することができなかった。
【0007】
本発明ではこのような問題を解決するため、スナップショットの高速化方法、またスナップショットを制御する上位装置、スイッチ、ストレージ装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
スナップショットを制御する上位装置やスイッチやストレージ装置に、スナップショット高速化のための先書き/先読み機能を付加する。具体的には、データ書き込み履歴を分析する手段、分析した結果から先書き/先読み領域を自動的に決定する手段、決定した先書き領域のデータを事前にスナップ側磁気ディスクにコピーする手段、及び決定した先読み領域のデータを事前にメモリに保存しておく手段を提供する。
【0009】
【発明の実施の形態】
本発明の一実施例を、図1〜図18を用いて説明する。
【0010】
データが書き込まれる可能性が高い領域(以下、先書き領域と記述)のデータを予めスナップ側磁気ディスクにコピーしておく機能を以下、先書きと記述する。また、上記先書き領域に次いで、書き込みの可能性が高い領域(以下、先読み領域と記述)のデータをメモリにコピーしておく機能を以下、先読みと記述する。
【0011】
この実施例では、スナップショットの制御はスイッチで行い、先書き/先読みは、ホストコンピュータなどの上位装置からの書き込み要求により、ソース側磁気ディスクに新しいデータが書き込まれた後に実行する場合を考える。
【0012】
先ず、図1を用いて、本発明の構成を説明する。
【0013】
上位装置110は、ソース側磁気ディスク150とスナップ側磁気ディスク160とスイッチ120で接続されている。上位装置110は、スイッチ120を介して、ソース側磁気ディスク150、スナップ側磁気ディスク160のデータにアクセスできる。スイッチ120は、本発明を実施するスナップショット制御装置であり、上位装置110からの要求により、ソース側磁気ディスク150のデータを読み出したり、データを書き込む領域の古いデータをスナップ側磁気ディスク160にコピーする。スイッチ120は、上位装置からの要求に従ってデータの読み/書きを行う磁気ディスク読み/書き実行部121、ソース側磁気ディスク150のデータを先書き/先読みする先書き/先読み実行部124、必要な情報をメモリから読み書きするメモリ制御部122、及び必要な情報を保存しておくメモリ123で構成されている。メモリ123は、磁気ディスク情報テーブル125、先書き情報テーブル126、先読み情報テーブル127、及びデータ更新情報テーブル128から構成されている。
【0014】
図2は磁気ディスク情報テーブル125を示す。このテーブルは、どの上位装置から読み/書きの要求があったのかを示す上位装置情報201、スナップショットを行う磁気ディスクのペアを示す磁気ディスクペア情報202、どの領域に何セクタ分のデータを読み/書きするのかを示す領域情報203、及びデータの読み込みを行うのか、書き込みを行うのかを示す読み込み/書き込み情報204から成る。
【0015】
図3は先書き情報テーブル126を示す。このテーブルは、どの磁気ディスクのデータを先書きするのかを示すソース側磁気ディスク番号301と、どの領域のデータを何セクタ分先書きするのかを示すデータ先書き領域情報302から成る。
【0016】
図4は先読み情報テーブル127を示す。このテーブルは、どの磁気ディスクのデータを先読みするのかを示すソース側磁気ディスク番号401、どの領域のデータを何セクタ分先読みするのかを示すデータ先読み領域情報402、及び先読みしたデータを示す先読みデータ403から成る。
【0017】
図5はデータ更新情報テーブル128を示す。このテーブルは、どの上位装置から書き込み要求があったのかを示す上位装置番号501、新しいデータを書き込んだ磁気ディスクを示すソース側磁気ディスク番号502、及び新しいデータを書き込んだ領域と何セクタ分のデータを書き込んだのかを示すデータ書き込み領域情報503から成る。このテーブルに記録されているデータ更新履歴を分析することにより、先書き/先読み領域を決定できる。
【0018】
次に、図6を用いて、本発明のスナップショット高速化方法の概略手順を説明する。
【0019】
上位装置110はスイッチ120を介してソース側磁気ディスク150とスナップ側磁気ディスク160と接続されている。スイッチ120は、上位装置110からソース側磁気ディスク150の領域Aへのデータ書き込み要求(S601)があると、ソース側磁気ディスク150の古いデータをスナップ側磁気ディスク160にコピーして(S602)、新しいデータをソース側磁気ディスク150の領域Aに書き込む(S603)。その後、スイッチ120は、スナップショット高速化のための処理を行う。スイッチ120は、今までにデータが書かれた領域についての分析を行い、先書き領域と先読み領域を決定する。この例では、先書き領域を、新しいデータを書き込んだ領域Aに連続する領域Bと決定したとする。また、先読み領域を、先書き領域Bに連続する領域Cと決定したとする。スイッチ120は、決定した先書き領域Bのデータを、あらかじめスナップ側磁気ディスクにコピーする(S604)。先読み領域Cのデータは、スイッチ120内のメモリ123に保存しておく(S605)。
【0020】
再び、上位装置110からソース側磁気ディスク150の領域Bへのデータ書き込み要求(S606)があったときには、ステップS604で既にその領域のデータはスナップ側磁気ディスク160へコピー済みのため、スイッチ120は、すぐに新しいデータをソース側磁気ディスク150の領域Bに書き込むことができる(S607)。
【0021】
さらに、再び、上位装置110からソース側磁気ディスク150の領域Cへのデータ書き込み要求(S608)があったときには、ステップS605で既にその領域のデータはスイッチ120内のメモリ123に保存されているため、スイッチ120は、ソース側磁気ディスク150の領域Cにアクセスすることなく、メモリ123内のデータをスナップ側磁気ディスク160へ高速にコピーし(S609)、新しいデータをソース側磁気ディスク150の領域Cへ書き込むことができる(S610)。
【0022】
次に、図1、図7〜図12を用いて、各処理の詳細について説明する。
【0023】
図7は、図1の磁気ディスク読み/書き実行部121における先書き/先読み状況判定とデータ書き込み処理のフローチャートを示す。
【0024】
上位装置110からデータ書き込み要求があると、スイッチ120は先書き情報テーブル126から、既にスナップ側磁気ディスク160にデータを先書きしてある領域の情報を取得する(S701)。上位装置110がデータ書き込みを要求している領域と、既に先書きしてある領域が一致するか判定を行う(S702)。判定の結果、データ書き込み領域と先書き領域が一致している場合には、新しいデータをソース側磁気ディスク150に書き込んで(S707)終了する。
【0025】
判定の結果、領域が一致していない場合には、更に先読み情報テーブル127から先読みしてデータをメモリ内に保存してある領域の情報を取得する(S703)。上位装置110がデータ書き込みを要求している領域と、既に先読みしてある領域が一致するか判定を行う(S704)。判定の結果、データ書き込み領域と先読み領域が一致している場合には、予めメモリ123内の先読み情報テーブル127に記録してある先読みデータをスナップ側磁気ディスク160にコピーして(S706)、新しいデータをソース側磁気ディスク150に書き込んで(S707)、終了する。
【0026】
判定の結果、データ書き込み領域が先書き領域にも先読み領域にも一致しなかった場合は、通常どおり、先ず、ソース側磁気ディスク150のデータをスナップ側磁気ディスク160にコピーしてから(S705)、新しいデータをソース側磁気ディスク150に書き込んで(S707)、終了する。
【0027】
図8は、図1の先書き/先読み実行部124における先書き/先読み処理のフローチャートを示す。図7に示した、新しいデータのソース側磁気ディスク150への書き込み後、先書き及び先読み領域をテーブルに登録する。
【0028】
本実施例では、上位装置110からの書き込み要求により新しいデータをソース側磁気ディスク150に書き込んだ後(S801)、先書き/先読みを実行する場合について説明する。磁気ディスク情報テーブル125から、スナップショットのペアとなっている磁気ディスクの情報を取得する(S802)。その後、先書き/先読み領域を決定する(S803)。先読み情報テーブル127からソース側磁気ディスク番号、先読み領域情報、及び先読みデータを取得する(S804)。取得した情報を用いて、ステップS803で決定した先書き領域のデータが既にメモリ123内に保存されているかどうかを判定する(S805)。
【0029】
判定の結果、ステップS803で決定した先書き領域のデータが既にメモリ123内に保存されている場合には、メモリ123内のデータをスナップ側磁気ディスク160にコピーし(S806)、コピーしたデータの領域を先書き領域として、先書き情報テーブル126に記録する(S808)。判定の結果、ステップS803で決定した先書き領域のデータがメモリ123内に保存されていない場合には、先書き領域のデータをスナップ側磁気ディスク160にコピーし(S807)、先書きした領域を先書き情報テーブル126に記録する(S808)。その後、ステップS803で決定した先読み領域情報に関する、ソース側磁気ディスク番号、先読み領域、及び先読み領域のデータ等を先読み情報テーブル127に記録する(S809)。
【0030】
図9〜図16を用いて、先書き/先読み領域の決定方法の詳細について説明する。
【0031】
図9〜図12は、図8の先書き/先読み処理における先書き/先読み領域決定(S803)のフローチャートを示す。
【0032】
先書き/先読み領域を決定するために、データ更新情報テーブル128から、ソース側磁気ディスク150へのデータ書き込み履歴情報を取得する(S901)。履歴情報とは具体的には、上位装置番号、ソース側磁気ディスク番号、及びデータ書き込み領域などの情報である。上位装置番号は、どのホストが書き込み要求をしたのかを示す。ソース側磁気ディスク番号は、データを書き込むソース側磁気ディスクの番号を示す。データ書き込み領域は、データの書き始め位置をLBA(Logical Block Addressing)、及びデータ書き込み容量をセクタ単位で示される。LBA情報を用いて、上位装置110のアプリケーション固有の磁気ディスクアクセス方法を分析する(S902)。
【0033】
分析の結果、シーケンシャルアクセスによるデータ書き込みの場合には(S903)、データを書き込んだ最新の領域に連続する次の領域を先書き領域と決定する(S907)。また、先書き領域に連続する次の領域を先読み領域と決定する(S908)。ランダムアクセスによるデータ書き込みの場合には(S904)、データを書き込んだ領域から、次にデータを書き込んだ領域までの間隔を計算する(S909)。計算した結果を用いて、「データを書き込んだ最新の領域+S909の計算結果」の領域を先書き領域と決定する(S910)。また、「先書き領域+S909の計算結果」を先読み領域と決定する(S911)。
【0034】
アクセス頻度分析によるデータ書き込み方法の分析の場合には(S905)、先ず、LBA情報を利用して、データ書き込み頻度の高い領域を検索する(S912)。さらに、書き込み頻度が予め定めた値よりも高い領域内でのデータ書き込み方法を分析し(S913)、シーケンシャルアクセスによるデータ書き込みの場合には(S914)、ステップS907〜S908の処理を行い、ランダムアクセスによるデータ書き込みの場合には(S915)、ステップS909〜S911の処理を行う。その後、取得した書き込み容量情報を用いて、何セクタ分のデータを先書き/先読みするか決定する(S906)。例えば、データ更新情報テーブル128のデータ書き込み領域情報の書き込み容量情報が、20セクタ、20セクタ、20セクタ、20セクタ、20セクタとなっていたとすると、次に書き込むデータ容量もこれらの平均値である20セクタである可能性が高いと分析し、先書き/先読みするデータ容量を20セクタとする。
【0035】
図13は、シーケンシャルアクセスによるデータ書き込み例を示す。
【0036】
1回目のデータ書き込み(S1001)は領域1001、2回目のデータ書き込み(S1002)は領域1002、3回目のデータ書き込み(S1003)は領域1003、4回目のデータ書き込み(S1004)は領域1004に対してそれぞれ実行されている。データを書き込んだ最新の領域は、領域1004であるので、先書き領域は、領域1004に連続する次の領域である、領域1005と決定する。また、先読み領域は、先書き領域に連続する次の領域である、領域1006と決定する。
【0037】
図14は、ランダムアクセスによるデータ書き込み例を示す。
【0038】
1回目のデータ書き込み(S1101)は領域1101、2回目のデータ書き込み(S1102)は領域1005、3回目のデータ書き込み(S1103)は領域1109、4回目のデータ書き込み(S1104)は領域1102に対してそれぞれ実行されている。データを書き込んだ最新の領域は、領域1102であるので、先書き領域は、領域1102から4つの領域先の領域1106であると決定する。また、先読み領域は、先書き領域から4つの領域先の領域領域1110であると決定する。
【0039】
図15は、アクセス頻度分析によるデータ書き込み例を示す。
【0040】
1回目のデータ書き込み(S1201)は領域1201、2回目のデータ書き込み(S1202)は領域1202、3回目のデータ書き込み(S1203)は領域1203、4回目のデータ書き込み(S1204)は領域1204、5回目のデータ書き込み(S1205)は領域1201、6回目のデータ書き込み(S1206)は領域1202、に対してそれぞれ実行されている。アクセス頻度の高い領域は領域1201〜領域1204であり、データを書き込んだ最新の領域は領域1202である。また、領域1201〜領域1204内でのデータアクセス方法はシーケンシャルアクセスである。よって、先書き領域は、領域1202に連続する次の領域である領域1203、先読み領域は、先書き領域に連続する次の領域である領域1204であると決定する。
【0041】
図16は、先書き/先読みの実行例を示す。上位装置110から、ソース側磁気ディスクのセクタ0番と1番に書き込み要求があると(S1301)、この領域のデータをスナップ側磁気ディスクのセクタ0番と1番にコピー(S1302)した後、新しいデータを書き込む(S1303)。その後、先書き領域であるソース側磁気ディスクのセクタ2番と3番のデータを、スナップ側磁気ディスクのセクタ2番と3番にコピーする(S1304)。そして、先読み領域であるソース側磁気ディスクのセクタ4番と5番のデータをスイッチ120内のメモリ123にコピーする(S1305)。
【0042】
先書き/先読み領域決定について、上記以外の方法も考えられる。図17〜図18を用いて説明する。
【0043】
図17では、データ更新情報テーブル128の書き込み容量は、バイト単位で保存している。例えば、書き込み容量情報が、20バイト、20バイト、20バイト、20バイト、20バイトとなっていたとすると、先書き/先読みするデータ容量はこれらの平均値である20バイトと決定する。
【0044】
図18では、先書き/先読みのデータ容量は固定で、先書き/先読み領域のみ決定する場合を示している。取得したLBA情報を用いて、図9〜12に示すように先書き/先読み領域を決定し、決められた容量のデータを先書き/先読みする。
【0045】
さて、本実施例では、スナップショットの制御はスイッチ120が行ったが、上位装置110、またはストレージ装置が行うこともできる。
【0046】
上位装置110がスナップショットの制御を行う手順を説明する。上位装置110は、先書き領域・先読み領域を決定した後、スイッチ120を介して、ソース側磁気ディスク150の先書き及び、先読み領域のデータを読む。そして、先書き領域のデータは、再びスイッチ120を介して、スナップ側磁気ディスク160にコピーされる。先読みデータについては、上位装置110のメモリ内に保存しておく。その後、スイッチ120を介してソース側磁気ディスク150に新しいデータを書き込む。
【0047】
ストレージ装置がスナップショットの制御を行う手順を説明する。上位装置110から、スイッチ120を介してデータの書き込み位置情報や、書き込むデータを受け取る。その後、先書き領域・先読み領域を決定した後、先書き領域のデータを、スナップ側磁気ディスク160にコピーし、先読みデータを、ストレージ装置のキャッシュに保存しておく。そして、上位装置110から受け取っていた新しいデータをソース側磁気ディスク150に書き込む。
【0048】
ストレージ装置でスナップショットの制御を行う場合であって、ストレージ装置にキャッシュがない場合でも、先読みデータは、スイッチ120のメモリ、又は上位装置110のメモリに保存しておくことにより、先読み処理を実行できる。
【0049】
また、本実施例では、先書き/先読み処理を、ソース側磁気ディスク150に新しいデータが書き込まれた後に実行したが、先書き/先読み処理実行のタイミングは他にも様々な場合が考えられる。例えば、上位装置110からのデータ入出力要求待ち状態のとき、上位装置110から先書き/先読み実行要求があったときなどに、先書き/先読み処理を実行できる。
【0050】
また、本実施例では、記憶装置として磁気ディスクを例に採って説明したが、その他、磁気テープや光ディスクなどにも適用できる。
【0051】
その他の実施例としては、ソース側磁気ディスクの状態をデータコピー前の状態に戻す(以下、コピー戻しと記述)場合に本発明を適用できる。
【0052】
図19は、コピー戻しの実施例を示す。
【0053】
ビットマップ1630は、スナップ側磁気ディスクの領域毎に「1」又は「2」の2種類のフラグを使用する。これらのフラグを使い分けることによって、コピー戻しを容易に行う例を説明する。
【0054】
上位装置110からのデータ書き込み要求により、ソース側磁気ディスク1610の古いデータをスナップ側磁気ディスク1620にコピーし(S1601)、ソース側磁気ディスク1610に新しいデータを書き込んだ場合には、ビットマップ1630には「1」のフラグを立てる。先書き実行(S1602)により、ソース側磁気ディスク1610の先書き領域データをスナップ側磁気ディスク1620にコピーした場合には、ビットマップ1630には「2」のフラグを立てる。
【0055】
その後、コピー戻しを実行(S1603)する必要がある場合には、フラグ「1」に対応する領域のデータのみを、ソース側磁気ディスク1640に戻す。フラグに対応する「2」領域のデータは、先書きによりスナップ側磁気ディスク1620にコピーされたデータであるため、実際にはソース側磁気ディスク1610に新しいデータは書き込まれていない。このため、フラグ「2」に対応する領域のデータを、ソース側磁気ディスク1640に戻す必要はない。
【0056】
このような方法により、ソース側磁気ディスク1610をコピー前の状態1640に戻す処理を容易に行うことができる。
【0057】
以上に述べた本発明のスナップショットの高速化方法を実行するためのプログラムを、計算機で読み取り可能な記憶媒体に格納し、あるいは、通信手段を介して他の計算機に転送し、このプログラムを計算機のメモリに読み込んで実行することもできる。
【0058】
【発明の効果】
データ更新情報を分析して、分析結果からソース側磁気ディスクへの書き込み要求がされる可能性が高い領域を決定して、事前にその領域のデータをスナップ側磁気ディスクに書き込む先書き処理を実行することにより、上位装置からの書き込み要求がきたときにはすぐにデータをソース側磁気ディスクに書くことができる。また、データ更新情報を分析して、分析結果からソース側磁気ディスクへの書き込み要求がある程度高い領域を決定して、事前にその領域のデータを読んでメモリに保存しておく先読み処理を実行することにより、上位装置からの書き込み要求がきたときにはメモリ内のデータを高速にスナップ側磁気ディスクにコピーすることができる。これらの先書き処理・先読み処理を組み合わせることで、スナップショットの高速化が図られる。また、ビットマップに2種類のフラグを使用することによって、ソース側磁気ディスクを容易にコピー前の状態に戻すことができる。
【図面の簡単な説明】
【図1】スナップショット高速化を実現するための構成図である。
【図2】磁気ディスク情報テーブルを示す。
【図3】先書き情報テーブルを示す。
【図4】先読み情報テーブルを示す。
【図5】データ更新情報テーブルを示す。
【図6】スナップショット高速化の概略手順を示す。
【図7】先書き/先読み状況の判定とデータ書き込み処理を示すフローチャートである。
【図8】先書き/先読み処理を示すフローチャートである。
【図9】先書き/先読み領域決定の処理を示すフローチャート(その1)である。
【図10】先書き/先読み領域決定の処理を示すフローチャート(その2)である。
【図11】先書き/先読み領域決定の処理を示すフローチャート(その3)である。
【図12】先書き/先読み領域決定の処理を示すフローチャート(その4)である。
【図13】シーケンシャルアクセスによるデータ書き込み例を示す。
【図14】ランダムアクセスによるデータ書き込み例を示す。
【図15】アクセス頻度分析によるデータ書き込み例を示す。
【図16】先書き/先読みの実行例を示す。
【図17】データ更新情報テーブルの一例を示す。
【図18】データ更新情報テーブルの一例を示す。
【図19】コピー戻しの実施例を示す。
【符号の説明】
110:上位装置、120:スナップショット制御スイッチ、121:磁気ディスク読み/書き実行部、122:メモリ制御部、123:メモリ、124:先書き/先読み実行部、125:磁気ディスク情報テーブル、126:先書き情報テーブル、127:先読み情報テーブル、128:データ更新テーブル、150:ソース側磁気ディスク、160:スナップ側磁気ディスク
Claims (1)
- 上位装置からソース側磁気ディスクへのデータ書き込み要求により、ある時刻のソース側磁気ディスクの内容を、前記時刻以降新しいデータによって変更された領域について、スナップ側磁気ディスクにコピーするスナップショット制御装置は、
磁気ディスク情報テーブル、先書き情報テーブル、先読み情報テーブル、及びデータ更新情報テーブルを保存するメモリ、
必要な情報を前記メモリから読み書きするメモリ制御部、
前記先書き情報テーブル及び前記先読み情報テーブルに基づいて、上位装置からの要求に従ってデータの読み/書きを行う磁気ディスク読み/書き実行部、及び
前記磁気ディスク情報テーブル、前記先書き情報テーブル、前記先読み情報テーブル及び前記データ更新情報テーブルに基づいて、ソース側磁気ディスクのデータを先書き/先読みする先書き/先読み実行部、
を有し、
前記磁気ディスク情報テーブルは、どの上位装置から読み/書きの要求があったのかを示す上位装置情報、スナップショットを行う磁気ディスクのペアを示す磁気ディスクペア情報、どの領域に何セクタ分のデータを読み/書きするのかを示す領域情報、及びデータの読み込みを行うのか、書き込みを行うのかを示す読み込み/書き込み情報を保持し、
前記先書き情報テーブルは、どの磁気ディスクのデータを先書きするのかを示すソース側磁気ディスク番号情報、及びどの領域のデータを何セクタ分先書きするのかを示すデータ先書き領域情報を保持し、
前記データ更新情報テーブルは、どの上位装置から書き込み要求があったのかを示す上位装置番号情報、新しいデータを書き込んだ磁気ディスクを示すソース側磁気ディスク番号情報、及び新しいデータを書き込んだ領域と何セクタ分のデータを書き込んだのかを示すデータ書き込み領域情報を保持し、
前記磁気ディスク読み/書き実行部は、
前記先書き情報テーブルに基づいて、スナップ側磁気ディスクにデータを先書きしてある領域の情報を取得する手段と、前記先読み情報テーブルに基づいて、上位装置がデータ書き込みを要求している領域と、既に先書き、または先読みしてある領域とが一致するかの先書き/先読み状況判定を行う手段とを有し、
前記先書き/先読み実行部は、
前記先読み情報テーブルに先読みデータが保存されているかどうかを判定する手段と、先読みデータが先読み情報テーブルに保存されている場合には、先読みデータをスナップ側磁気ディスクにコピーする手段と、コピーしたデータの領域を先書き領域として、前記先書き情報テーブルに記録する手段とを有し、さらに、
前記データ更新情報テーブルから、ソース側磁気ディスクへのデータ書き込み履歴情報を取得する手段、取得した前記履歴情報を分析して先書き領域及び先書きするデータ容量を決定し、決定した先書き領域のデータをスナップ側磁気ディスクへ先書きする手段、及び取得した情報を分析して先読み領域及び先読みするデータ容量を決定し、決定した先読み領域のデータを前記先読み情報テーブルに保存する手段を有することを特徴とするスナップショット制御装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003206170A JP4466001B2 (ja) | 2003-08-06 | 2003-08-06 | スナップショット高速化方法 |
US10/753,623 US20050033930A1 (en) | 2003-08-06 | 2004-01-07 | High-speed snapshot method |
US11/454,255 US7325112B2 (en) | 2003-08-06 | 2006-06-16 | High-speed snapshot method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003206170A JP4466001B2 (ja) | 2003-08-06 | 2003-08-06 | スナップショット高速化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005055972A JP2005055972A (ja) | 2005-03-03 |
JP4466001B2 true JP4466001B2 (ja) | 2010-05-26 |
Family
ID=34113705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003206170A Expired - Fee Related JP4466001B2 (ja) | 2003-08-06 | 2003-08-06 | スナップショット高速化方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20050033930A1 (ja) |
JP (1) | JP4466001B2 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8055745B2 (en) * | 2004-06-01 | 2011-11-08 | Inmage Systems, Inc. | Methods and apparatus for accessing data from a primary data storage system for secondary storage |
US8224786B2 (en) * | 2004-06-01 | 2012-07-17 | Inmage Systems, Inc. | Acquisition and write validation of data of a networked host node to perform secondary storage |
US8868858B2 (en) * | 2006-05-19 | 2014-10-21 | Inmage Systems, Inc. | Method and apparatus of continuous data backup and access using virtual machines |
US7676502B2 (en) * | 2006-05-22 | 2010-03-09 | Inmage Systems, Inc. | Recovery point data view shift through a direction-agnostic roll algorithm |
US7698401B2 (en) * | 2004-06-01 | 2010-04-13 | Inmage Systems, Inc | Secondary data storage and recovery system |
US9209989B2 (en) * | 2004-06-01 | 2015-12-08 | Inmage Systems, Inc. | Causation of a data read operation against a first storage system by a server associated with a second storage system according to a host generated instruction |
US7979656B2 (en) | 2004-06-01 | 2011-07-12 | Inmage Systems, Inc. | Minimizing configuration changes in a fabric-based data protection solution |
US8949395B2 (en) | 2004-06-01 | 2015-02-03 | Inmage Systems, Inc. | Systems and methods of event driven recovery management |
US8683144B2 (en) * | 2005-09-16 | 2014-03-25 | Inmage Systems, Inc. | Causation of a data read against a first storage system to optionally store a data write to preserve the version to allow viewing and recovery |
US8601225B2 (en) * | 2005-09-16 | 2013-12-03 | Inmage Systems, Inc. | Time ordered view of backup data on behalf of a host |
US8321377B2 (en) | 2006-04-17 | 2012-11-27 | Microsoft Corporation | Creating host-level application-consistent backups of virtual machines |
US8554727B2 (en) * | 2006-05-19 | 2013-10-08 | Inmage Systems, Inc. | Method and system of tiered quiescing |
US8527470B2 (en) | 2006-05-22 | 2013-09-03 | Rajeev Atluri | Recovery point data view formation with generation of a recovery view and a coalesce policy |
US8838528B2 (en) * | 2006-05-22 | 2014-09-16 | Inmage Systems, Inc. | Coalescing and capturing data between events prior to and after a temporal window |
US8527721B2 (en) * | 2008-12-26 | 2013-09-03 | Rajeev Atluri | Generating a recovery snapshot and creating a virtual view of the recovery snapshot |
US7634507B2 (en) * | 2006-08-30 | 2009-12-15 | Inmage Systems, Inc. | Ensuring data persistence and consistency in enterprise storage backup systems |
US7747814B2 (en) * | 2007-06-26 | 2010-06-29 | Microsoft Corporation | Virtual machine state snapshots |
US8028194B2 (en) * | 2008-07-25 | 2011-09-27 | Inmage Systems, Inc | Sequencing technique to account for a clock error in a backup system |
US8069227B2 (en) * | 2008-12-26 | 2011-11-29 | Inmage Systems, Inc. | Configuring hosts of a secondary data storage and recovery system |
US8825603B2 (en) * | 2010-05-19 | 2014-09-02 | International Business Machines Corporation | Ordering volumes and tracks for data transfer based on usage characteristics |
US8572339B2 (en) * | 2010-11-19 | 2013-10-29 | International Business Machines Corporation | Variable data preservation prewrite |
WO2013057222A2 (en) | 2011-10-18 | 2013-04-25 | Institut National De La Recherche Agronomique | Use of avermectin derivative for increasing bioavailability and efficacy of macrocylic lactones |
GB2509057A (en) | 2012-12-18 | 2014-06-25 | Ibm | Predictive point-in-time copy for storage systems |
WO2015066698A1 (en) * | 2013-11-04 | 2015-05-07 | Falconstor, Inc. | Snapshots using copy on predicted write |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649152A (en) * | 1994-10-13 | 1997-07-15 | Vinca Corporation | Method and system for providing a static snapshot of data stored on a mass storage system |
JP3868708B2 (ja) | 2000-04-19 | 2007-01-17 | 株式会社日立製作所 | スナップショット管理方法及び計算機システム |
US6799258B1 (en) * | 2001-01-10 | 2004-09-28 | Datacore Software Corporation | Methods and apparatus for point-in-time volumes |
US6678809B1 (en) * | 2001-04-13 | 2004-01-13 | Lsi Logic Corporation | Write-ahead log in directory management for concurrent I/O access for block storage |
US6748504B2 (en) * | 2002-02-15 | 2004-06-08 | International Business Machines Corporation | Deferred copy-on-write of a snapshot |
US6907505B2 (en) * | 2002-07-31 | 2005-06-14 | Hewlett-Packard Development Company, L.P. | Immediately available, statically allocated, full-logical-unit copy with a transient, snapshot-copy-like intermediate stage |
US6807605B2 (en) * | 2002-10-03 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Managing a data storage array, a data storage system, and a raid controller |
JP4311532B2 (ja) * | 2003-03-12 | 2009-08-12 | 株式会社日立製作所 | 記憶システム及び同システムにおけるスナップショット管理方法 |
US7454569B2 (en) * | 2003-06-25 | 2008-11-18 | Commvault Systems, Inc. | Hierarchical system and method for performing storage operations in a computer network |
JP4581518B2 (ja) * | 2003-12-19 | 2010-11-17 | 株式会社日立製作所 | スナップショット取得方法 |
JP4325524B2 (ja) * | 2004-09-29 | 2009-09-02 | 日本電気株式会社 | スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム |
-
2003
- 2003-08-06 JP JP2003206170A patent/JP4466001B2/ja not_active Expired - Fee Related
-
2004
- 2004-01-07 US US10/753,623 patent/US20050033930A1/en not_active Abandoned
-
2006
- 2006-06-16 US US11/454,255 patent/US7325112B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20060236051A1 (en) | 2006-10-19 |
US7325112B2 (en) | 2008-01-29 |
US20050033930A1 (en) | 2005-02-10 |
JP2005055972A (ja) | 2005-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4466001B2 (ja) | スナップショット高速化方法 | |
JPH04141867A (ja) | ファイル管理方法 | |
JPWO2002056179A1 (ja) | 仮想ドライブを使用したパーティションの再生成方法、データ処理装置及びデータ記憶装置 | |
JP2015005229A (ja) | テープカートリッジのファイルを複製する方法、プログラム及びテープドライブ | |
JP6052812B2 (ja) | テープ上のファイルの管理、書き込み、及び読み出し方法 | |
KR100623125B1 (ko) | 정보 기억 장치, 정보 기억 방법 및 정보 기억 처리프로그램 제품 | |
WO2005055064A1 (ja) | 情報記録媒体のデータ処理装置及びデータ記録方法 | |
JP3421898B2 (ja) | データ記録装置およびデータ管理方法 | |
US10152993B1 (en) | Save block data to tape in a reverse order | |
US20120233426A1 (en) | Data copying | |
JP2007128448A (ja) | ファイルシステム及びファイル情報処理方法 | |
JP2006323462A (ja) | ファイルコピー装置およびファイルコピー方法 | |
JP4535049B2 (ja) | 仮想ライブラリ装置、仮想ライブラリ装置の制御方法、仮想ライブラリ装置の制御プログラム | |
JP4933532B2 (ja) | 追記型記録媒体に対するデータ記録方法及びデータ記録装置 | |
JPH0322046A (ja) | 追記型記憶媒体を用いたファイルの管理方法 | |
JP7262977B2 (ja) | 記録装置及びその制御方法、並びにプログラム | |
CN114925020B (zh) | 一种基于数据增量写方式的快照版本数据迁移方法 | |
JPH0357037A (ja) | フアイル管理装置 | |
JP3936839B2 (ja) | データ保管システム | |
JP3987126B2 (ja) | 画像ファイル方法およびその装置 | |
JP3376316B2 (ja) | ディスクアレイ装置及びそれに用いる高速通信方法並びにその制御プログラムを記録した記録媒体 | |
JPH01258288A (ja) | ディレクトリ検索方法 | |
JPH08212121A (ja) | 情報記録方法 | |
KR20030075528A (ko) | 광 디스크 기록 재생기의 메모리 운용 방법 및 장치 | |
JPH03263244A (ja) | キャッシュメモリデータ書き戻し方法及びディスクキャッシュ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060421 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090616 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091125 |
|
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: 20100202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100215 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4466001 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130305 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |