JP2004272854A - 記憶システム及び同システムにおけるスナップショット管理方法 - Google Patents

記憶システム及び同システムにおけるスナップショット管理方法 Download PDF

Info

Publication number
JP2004272854A
JP2004272854A JP2003066500A JP2003066500A JP2004272854A JP 2004272854 A JP2004272854 A JP 2004272854A JP 2003066500 A JP2003066500 A JP 2003066500A JP 2003066500 A JP2003066500 A JP 2003066500A JP 2004272854 A JP2004272854 A JP 2004272854A
Authority
JP
Japan
Prior art keywords
storage area
volume
data
desired time
snapshot
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.)
Granted
Application number
JP2003066500A
Other languages
English (en)
Other versions
JP4311532B2 (ja
Inventor
Haruaki Watanabe
治明 渡辺
Shigeo Honma
繁雄 本間
Takao Sato
孝夫 佐藤
Koji Umemoto
幸司 梅本
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003066500A priority Critical patent/JP4311532B2/ja
Priority to US10/770,008 priority patent/US7133987B2/en
Publication of JP2004272854A publication Critical patent/JP2004272854A/ja
Application granted granted Critical
Publication of JP4311532B2 publication Critical patent/JP4311532B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】処理負担軽減及びレスポンス向上のために二重化(ミラーリング)を用いずにスナップショットを管理する。
【解決手段】例えばRAID記憶システムにおいて、正ボリューム(40)の所望時刻でのスナップショットを取得する場合、所望時刻以降に正ボリューム(40)内のいずれかの記憶領域に対するWR要求を受ける都度、もし、その記憶領域のデータが所望時刻以降未だ副ボリューム(42)にコピーされていなければ、そのデータを副ボリューム(42)にコピーし(S1、64)、その後に、その記憶領域にWR処理を行なう(S2、60)。さらに、シーケンシャルWRの場合(S3)、その記憶領域に続くシーケンシャルWRが行なわれると予測される記憶領域のデータについても、もし、所望時刻以降未だ副ボリューム(42)にコピーされていなければ、同様に副ボリューム(42)にコピーする。
【選択図】 図1

Description

【0001】
【発明が属する技術分野】
本発明は、計算機システムで用いられる記憶システムにおけるスナップショットの取得やリストアなどのスナップショット管理に関する。
【0002】
【従来の技術】
この種の記憶システムの典型例として、例えば、RAID(Redundant Arrays of Inexpensive Disk)の技術に従うディスクシステムがある。この種の記憶システムにおいて、例えば、障害に対する防護手段に利用するため、記憶内容を他の用途に転用するため、或いは、デバックとの関連において、或る記憶領域のスナップショット(特定の時点の記憶内容)を記録することが行なわれる。
【0003】
従来のスナップショット作成方法の一つの典型は、特許文献1及び2に記載されているような二重化(ミラーリング)を用いた方法である。この方法では、オンライン操作が連続的に行なわれる通常の稼動中、全ての更新データが必ず2つのボリュームに重複して書き込まれている。そして、所望の時点で一方のボリュームがオンライン操作から切り離され、その切り離されたボリュームの内容が、他方のボリュームの上記所望時点でのスナップショットとして取得される。
【0004】
【特許文献1】特開2001−306407号公報
【特許文献2】特開2001−331378号公報
【発明が解決しようとする課題】
従来の二重化によるスナップショット作成方法によると、更新データを常に二重化する処理負担により、記憶システムの上位装置へのレスポンスが低下し、結果として、計算機システム全体のスループットが下がってしまうという問題がある。
【0005】
従って、本発明の目的は、二重化を用いない新規なスナップショット管理手法を提供することにある。
【0006】
本発明の別の目的は、記憶システムのレスポンスを向上させ得る新規なスナップショット管理手法を提供することにある。
【0007】
【課題を解決するための手段】
本発明の一つの観点に従う記憶システムは、第1ボリュームと第2ボリュームを備え、前記第1ボリュームの所望時刻でのスナップショットを取得することを要求するスナップショット取得要求を受けた場合において、
前記所望時刻以降に前記第1ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第1ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第2ボリュームにコピーされていない場合、前記ターゲットとされた記憶領域に記録されているデータを前記第2ボリュームにコピーする同期コピー手段と、
前記所望時刻以降に前記第1ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第2ボリュームにコピーされていない場合、前記予測された記憶領域に記録されているデータを前記第2ボリュームにコピーする先行コピー手段とを備える。
【0008】
本発明の別の観点に従う記憶システムは、第1ボリュームと第2ボリュームを備え、前記第1ボリュームの所望時刻でのスナップショットを取得することを要求するスナップショット取得要求を受けた場合において、
前記所望時刻以降に前記第2ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第2ボリューム内の前記ターゲットとされた記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットとされた記憶領域にコピーされていない場合、前記ターゲットとされた記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータを前記第2ボリューム内の前記ターゲットとされた記憶領域にコピーする同期コピー手段と、
前記所望時刻以降に前記第2ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測される記憶領域にコピーされていない場合、前記予測された記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする先行コピー手段とを備える。
【0009】
好適な実施形態においては、本発明に従う記憶システムは、前記所望時刻より後に、前記第1ボリュームの前記所望時刻でのスナップショットを前記第1ボリュームにリストアすることを要求するリストア要求を受けた場合において、
前記リストア要求を受けた時点以降に前記第1ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第1ボリューム内の前記ターゲットとされた記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットにされた記憶領域にコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータを前記ターゲットとされた記憶領域にコピーする第2の同期コピー手段と、
前記リストア要求を受けた時点以降に前記第1ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測された記憶領域にコピーされていないと見なされる場合、前記予測された記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする第2の先行コピー手段とをさらに備えることができる。
【0010】
また、別の好適な実施形態においては、本発明に従う記憶システムは、前記所望時刻より後に、前記第1ボリュームの前記所望時刻でのスナップショットを前記第1ボリュームにリストアすることを要求するリストア要求を受けた場合において、
前記リストア要求を受けた時点以降に前記第2ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第2ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第1ボリュームにコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に記録されているデータを前記第1ボリュームにコピーする第2の同期コピー手段と、
前記リストア要求を受けた時点以降に前記第2ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第1ボリュームにコピーされていないと見なされる場合、前記予測された記憶領域に記録されているデータを前記第1ボリュームにコピーする第2の先行コピー手段とを更に備えることができる。
【0011】
また別の好適な実施形態においては、本発明に従う記憶システムは、前記所望時刻以降にスナップショット取得のための先行コピー要求を受けた場合、前記第1ボリュームの全範囲又は指定された範囲の記憶領域について、前記先行コピー手段と同様のコピー動作を行なう第2の先行コピー手段を更に備えることができる。
【0012】
また更に別の好適な実施形態においては、本発明に従う記憶システムは、前記リストア要求を受けた時点以降にスナップショットリストアのための先行コピー要求を受けた場合、前記第2ボリュームの全範囲又は指定された範囲の記憶領域について、前記第2の先行コピー手段と同様のコピー動作を行なう第3の先行コピー手段を更に備えることができるた
更にまた別の好適な実施形態においては、本発明に従う記憶システムは、前記所望時刻より後に、前記第1ボリュームの前記所望時刻でのスナップショットを読み出す場合において、
前記第1ボリューム内の記憶領域に記録されているデータのうち、前記所望時刻以降に前記第2ボリュームにコピーされていないデータを選択的に読み出す手段と、
前記第2ボリューム内の記憶領域に記録されているデータのうち、前記所望時刻以降に前記第1ボリュームからコピーされて来たデータを選択的に読み出す手段とを更に備えることができる。
【0013】
本発明のまた別の観点に従う記憶システムは、コンピュータからの命令に応答してデータ書き込みや読み出しを行なう記憶領域を有する記憶システムであって、
前記コンピュータからの命令に応答して前記データの書き込みや読み出しを制御する記憶制御部と、
前記記憶領域内に定義された第1記憶領域と、
前記記憶領域内に定義され、前記第1記憶領域に対応付けられて前記第1記憶領域のある時点のデータイメージを仮想的に保持する第2記憶領域とを含み、
前記記憶制御部は、前記ある時点以降に前記第1記憶領域内のターゲット領域へのデータの書き込み命令を受領した場合に、この書き込み命令を実行する前の前記ターゲット領域上のデータを前記第2記憶領域にコピーする第1コピー手段を有し、
前記記憶制御部が、前記第2記憶領域に対する読み出し要求を受領した場合に、この読み出し要求を受けた領域が前記第1コピー手段によってデータのコピーがされた領域である場合には前記第1コピー手段によりコピーされたデータを読み出して出力し、この読み出し要求を受けた領域が、前記第1コピー手段よってデータのコピーがされていない領域である場合には、この領域に対応する前記第1の記憶領域からデータを読み出して出力する。
【0014】
この記憶システムの好適な実施形態では、前記記憶制御部は、前記コンピュータから前記第1記憶領域内のターゲット領域への書き込みがシーケンシャル書き込みであるかどうかを判定する判定手段と、
前記判定手段の判定が、シーケンシャル書き込みであるという判定の場合には、前記ターゲット領域に連続する領域のデータを前記コンピュータからの書き込み要求の発生よりも先行して前記第2記憶領域にコピーする第2コピー手段とを有することができる。
【0015】
本発明の更なる又はより具体的な目的及び特徴は、以下の実施形態の説明において述べられる。
【0016】
【発明の実施の形態】
図1は、本発明の一実施形態に係る記憶システムの全体構成を示す。
【0017】
図1に示すように、計算機システム1において、ホストコンピュータ又はクライアントコンピュータなどと呼ばれる上位装置2に対して、本発明の原理に従う記憶システム3が通信可能に接続されている。記憶システム3は、例えば、RAID技術が適用されたディスクシステムであって、例えば複数個のディスク装置22,22,22,22を備えて、そこにデータを記録する。
【0018】
このディスクシステム3は、ディスク装置22,22,22,22を制御するために、サービスプロセッサ(以下、SPという)12、1個又はそれ以上の数のチャンネルアダプタ(以下、CHAという)14,14、及び、1個又はそれ以上の数のディスクアダプタ(以下、DKAという)16,16などの複数のプロセッサを備え、これらのプロセッサ12,14,14,16,16は内部LAN10を介して相互に通信可能になっている。また、CHA14,14とCKA16,16には、それらプロセッサ間のデータの授受に使用されるキャッシュメモリ18、及び、それらプロセッサ間のコマンド、応答、及びその他の制御情報の授受並びにワーク領域などの用途に使用される共有メモリ20が接続されている。さらに、SP12には、このディスクシステム3のマンマシンインタフェースであるコンソール24が接続されている。
【0019】
このディスクシステム3において、CHA14,14の各々は、予め搭載されているコマンド処理用のプログラム30に従って、主に、上位装置2からのコマンドの処理及び上位装置2とのデータ授受などのオペレーションを行なう。また、DKA16,16の各々は、予め搭載されているディスク処理用のプログラム32に従って、主に、ディスク装置22,22,22,22内のボリュームへ/からのデータの書き込み及び読み出し並びにボリューム間のデータの受け渡しなどのオペレーションを行なう。CHA14,14とDKA16,16の相互間及びボリューム相互間などのデータの受け渡しは、キャッシュメモリ18を介して行なわれる。
【0020】
このディスクシステム3は、RAID技術に従い、ディスク装置22,22,22,22の記録領域上に、複数又は多数の論理的なボリューム40,42を構築する。この明細書では、説明の便宜上、それら複数の論理ボリューム40,42の内の一つ40を「正ボリューム」と呼び、別の一つ42を「副ボリューム」と呼ぶ。正ボリューム40は、典型的には、例えば、計算機システム1の業務に実際に使用されているオリジナルデータが記録されるボリュームである。一方、副ボリューム42は、連続的なオンライン操作が行なわれる通常の状態において、正ボリューム40のスナップショットを作成する目的で、正ボリューム40内の一部又は全部のデータのコピーを記録するために用いられる。その意味で、正ボリューム40と副ボリューム42は互いに関係付けられており、正ボリューム40内の記憶場所と副ボリューム42内の記憶場所の間には1対1の対応関係がある。なお、図2に示した例では、1つの正ボリューム40と副ボリューム42のペアが存在するにすぎないが、通常は、用途や目的などの異なる複数又は多数の正ボリュームと副ボリュームのペアが存在する。しかし、以下の説明では、説明を簡単にするために、1つの正ボリューム40と1つの副ボリューム42のペアにのみ着目して説明する。
【0021】
正ボリューム40と副ボリューム42の1ペアについて、2つのビットマップ34、36が共有メモリ20上に設けられる。この明細書では、これらのビットマップの一方をAビットマッ34、他方をBビットマップ36と呼ぶ。Aビットマップ34及びBビットマップ36は、正ボリューム40と副ボリューム22の対応する記憶場所の全ペアにそれぞれ割り当てられた多数のビットから構成され、それらのビットの値により正ボリューム40と副ボリューム22に記録されている全てのデータの状態を表している。ただし、ビットマップ34,36の1ビットに対応するボリューム40,42内の1単位の記憶場所のサイズは、ボリューム40、42内のデータアクセスの対象としての1単位の記憶場所のサイズとは必ずしも一致しない。後に具体的に説明するように、Aビットマップ34及びBビットマップ36は、正ボリューム40のスナップショットを取得したり、そのスナップショットの一部又は全部のデータを正ボリューム42にリストアしたりするオペレーションを制御するために、CHA14,14及び/又はDKA16,16によって参照され又は書き換えられる。
【0022】
SP12は、コンソール24に入力されるユーザの指示などに従って、このディスクシステム3の環境設定や全体的制御などのオペレーションを行なったり、このディスクシステム3のステータスやその他の情報をコンソール24の表示スクリーン(図示せず)に表示したりするものである。コンソール24に入力されるユーザの指示に基づいてSP12が行なえる各種のオペレーションのうち、スナップショット管理に関するものとしては、例えば、後述する「先行コピー」の対象となる記憶領域の範囲の設定などのスナップショット管理に関する各種パラメータの設定、及び、スナップショット取得要求やスナップショットリストア要求などのスナップショット管理に関する各種要求の入力などがある。なお、上記のパラメータ設定や要求入力などのオペレーションは、上位装置2からも行なうことができる。
【0023】
図2は、ディスクシステム3が行なうスナップショット管理の基本動作を示す。この基本動作は、ディスクシステム3の連続的なオンライン操作が続けられている通常の状態において、上位装置2からディスクシステム3へデータアクセス要求が発行される都度に実行される。この基本動作は、正ボリュームのスナップショットを取得するケースにも、スナップショットの一部又は全部のデータを正ボリュームにリストアするケースにも適用される。スナップショットの取得及びリストアの具体的なケースにおいて、この基本動作がどのように具体的に適用されるかは、後にケース毎に説明することとして、ここでは、図2に基づいてこの基本動作を総括的に説明する。
【0024】
図2に示すように、上位装置2はディスクシステム3に対して、所望のボリューム内の所望の記憶領域(1又は複数の記憶場所)をターゲットにしたアクセス(読み出し(RD)又は書き込み(WR))の要求を出す。データアクセス要求のターゲットにされる記憶領域は、正ボリューム40内のものである場合もあれば、副ボリューム42内のものである場合もある。いずれの場合であっても、ディスクシステム3は、上位装置2からのデータアクセス要求に応答して、まず、ターゲットにされた記憶領域に関して「同期コピー」と呼ばれるコピー処理を行なう(ステップS1)。同期コピー処理(S1)は、スナップショットの取得又はリストアの目的で、データアクセス要求のターゲットにされた記憶領域についてのデータを、正ボリューム40と副ボリューム42の間で一方から他方へとコピーするオペレーションである。より具体的に述べると、正ボリューム40のスナップショットを取得しているケースでは、矢印64に示すように正ボリューム40から副ボリューム42へとコピーを行ない、他方、スナップショットの一部又は全部のデータをリストアしているケースでは、矢印66に示すように副ボリューム42から正ボリューム40へとコピーを行なう。
【0025】
同期コピー処理(S1)が終わった後、ディスクシステム3は、データアクセス要求のターゲットにされた記憶領域に対してアクセス処理(つまり、データのRD又はWR)を行なう(ステップS2)。言うまでも無いが、ターゲットにされた記憶領域が正ボリューム40内にのものである場合には、矢印60で示すように、正ボリューム40内のその記憶領域に対してアクセス処理(S2)が行なわれるし、一方、ターゲットにされた記憶領域が副ボリューム42内のものである場合には、矢印62で示すように、副ボリューム42内のその記憶領域に対してアクセス処理(S2)が行なわれる。アクセスの種類がランダムアクセスであるかシーケンシャルアクセスであるかに関わらず、同期コピー処理(S1)とアクセス処理(S4)は行なわれる。
【0026】
さらに、現在行なわれているアクセスの種類がシーケンシャルアクセスである場合(そのようにディスクシステム3が予測した場合を含む)には(S3)、ディスクシステム3は、上述した一連の同期コピー処理(S1)とアクセス処理(S4)のオペレーションと並行的に又は逐次的に、「先行コピー」と呼ばれるコピー処理を実行する(S4)。この先行コピー処理(S4)は、スナップショットの取得又はリストアの目的で、データアクセス要求のターゲットにされた記憶領域に続いてこれからシーケンシャルにアクセスされると予測される記録領域の範囲(以下、シーケンシャルアクセス予測範囲という)についてのデータを、正ボリューム40と副ボリューム42の間で一方から他方へとコピーするオペレーションである。要するに、この先行コピー処理(S4)は、これからアクセスされることが相当の可能性をもって判っている記憶領域に対して、その記憶領域をターゲットにしたデータアクセス要求が実際に出されるより前に「先行して」、スナップショットの取得又はリストアのためのコピー処理を実行するものである。従って、或る記憶領域について一旦先行コピー処理(S4)が行なわれれば、将来その記憶領域をターゲットにしたデータアクセス要求が出された時には最早、その領域について同期コピー処理(S1)を行なう必要は無いのである。この先行コピー処理(S4)でも、上述した同期コピー処理(S1)と同様に、正ボリューム40のスナップショットを取得しているケースでは、矢印64に示すように正ボリューム40から副ボリューム42へとコピーが行なわれ、他方、スナップショットの一部又は全部のデータをリストアしているケースでは、矢印66に示すように副ボリューム42から正ボリューム40へとコピーが行なわれる。
【0027】
さて、上述した同期コピー処理(S1)又は先行コピー処理(S4)(すなわち、スナップショットの取得又はリストアを目的にしたコピー処理)がいずれかの記憶領域について一旦行なわれたならば、以後は、その同じ記憶領域についてその種のコピー処理を再度行なうべきではない。そこで、ディスクシステム3は、同期コピー処理(S1)をいずれかの記憶領域に関して行なおうとする際、及び、先行コピー処理(S4)をいずれかの記憶領域に関して行なおうとする際には、その記憶領域に関してその種のコピー処理が既に行なわれていたかどうかをチェックする。このチェックは、図1に示したビットマップ34、36を用いて行なうことができる(具体的方法は後述する)。このチェックの結果、その記憶領域に関して既にその種のコピー処理が行なわれていたならば、ディスクシステム3は、その記憶領域に関して同期コピー処理(S1)又は先行コピー処理(S4)をキャンセルする(実行しない)。従って、同期コピー処理(S1)及び先行コピー処理(S4)は、その種のコピー処理が未だ行なわれていない記憶領域に対してのみ実行されることになり、その種のコピー処理が既に行なわれている記憶領域に対して再度に実行されることはない。
【0028】
このことを、簡単な例を用いて説明する。図2において、今、上位装置2から正ボリューム40内の或る記憶領域をターゲットにしたシーケンシャルなアクセスの要求が出されたとする。そして、正ボリューム40内に図示した範囲44が、そのデータアクセス要求のターゲットにされた記憶領域と、その記憶領域に続くシーケンシャルアクセス予測範囲とを合わせた範囲(以下、シーケンシャルアクセス範囲という)であったとする。さらに、このシーケンシャルアクセス範囲44の中には、既に同期コピー処理又は先行コピー処理が実行済みの領域(以下、既コピー領域という)46と、未だその種のコピー処理が行なわれていない領域(以下、未コピー領域という)48とがあるとする(なお、図示の例では、シーケンシャルアクセス範囲44内には、単純に1つの既コピー領域46と1つの未コピー領域48しかないが、実際には、より複雑に複数の既コピー領域と複数の未コピー領域が入り混じっていることがある。)。
【0029】
この場合、ディスクシステム3は、シーケンシャルアクセス範囲44の内、データアクセス要求のターゲットになった記憶領域については同期コピー処理(S1)を行なおうとし、また、シーケンシャルアクセス予測範囲については先行コピー処理(S4)を行おうとするのであるが、その際、既コピー領域46については同期コピー処理(S1)も先行コピー処理(S4)をキャンセルして、結局、未コピー領域48についてのみこの種のコピー処理を実際に実行する。従って、例えば、データアクセス要求のターゲットになった記憶領域の全てが既コピー領域46に入っていた場合には、同期コピー処理(S1)は全く行なわれないし、或いは、シーケンシャルアクセス予測範囲の全てが既コピー領域46に入っていた場合には、先行コピー処理(S4)は全く行なわれない。
【0030】
上記の例は、正ボリューム40に対するシーケンシャルアクセスが上位装置2から要求されたケースの例であったが、副ボリューム42に対してシーケンシャルアクセスが要求されるケースもある。そのケースにおいても、同期コピー処理(S1)及び先行コピー処理(S4)は、副ボリューム42内のシーケンシャルケンシャルアクセス範囲50のうちの未コピー領域54についてのみ実行され、既コピー領域52については実行されない。
【0031】
このようにして、スナップショット取得又はリストアのためのコピー処理を未コピー処理48についてのみ選択的に行なうことで、従来のデータを常時二重化しているミラーリングの方法に比較して、ディスクシステム3の処理負担が軽減する。
【0032】
図3は、上述した同期コピー処理、アクセス処理及び先行コピー処理が実行されるタイミングの一例を示している。
【0033】
図3に示すように、に、上位装置2からのデータアクセス要求を受けた時刻t1から、直ちに、同期コピー処理(S11)とアクセス処理(S12)が逐次に行なわれる。アクセス処理(S12)が終わった時点t2(具体的には、WRの場合には、CHA14が上位装置2から受け取ったWRデータをキャッシュメモリ18に書き終わった時点、或るいは、RDの場合には、CHA14がキャッシュメモリ18からRDデータを読み込んだ時点)で、完了報告が上位装置2へ返される。その後、次のデータアクセス要求が上位装置から来ることになる。先行コピー処理(S13)は、最初のデータアクセス要求を受けた時点t1から次のデータアクセス要求を受ける時点t3までの間の期間T1の中の可能なときに実行される。もし、データアクセス要求のターゲットとなった記憶領域と、先行コピー処理(S13)の対象の記憶領域(シーケンシャルアクセス予測範囲)とが、同時にアクセス可能な物理的に異なる記憶メディアに存在するならば、先行コピー処理(S13)は、同期コピー処理(S11)又はアクセス処理(S12)が行なわれている間にこれと並行して行なうことができる。また、データアクセス要求のターゲットとなった記憶領域と、シーケンシャルアクセス予測範囲とが、同時アクセスが不可能な物理的に同じ記憶メディアに存在するならば、先行コピー処理(S13)は、アクセス処理(S12)が終わった時点t2と次のデータアクセス要求が来る時点t3との間のインターバルに行なうことができる。いずれにせよ、先行コピー処理(S13)を行なうことで、次のデータアクセス要求が来たときには、同期コピー処理をスキップして直ちにアクセス処理(S14)に入ることができるので、より早くに上位装置へ完了報告を返すことができる。
【0034】
このようにして、将来データアクセス要求が来る前に、そのデータアクセス要求のターゲットとされる記憶領域について先行コピー処理を行なうことで、ディスクシステム3の上位装置2に対するレスポンスが早くなる。
【0035】
ところで、ディスクシステム3におけるアクセスの種類がシーケンシャルであるか否かの判断は、例えば次のような幾つかの方法で行なうことができる。1番目の方法は、上位装置2からのシーケンシャルアクセスを示すコマンドを受ける方法である。例えば、CKD(Count−Key−Data)方式の場合、Define_Extentコマンドのパラメータを参照することで、シーケンシャルアクセスかどうかが判断できる。また、例えば、上位装置2がディスクシステム3に対してシーケンシャルアクセスか否かを明示する手段が現状では無いようなインタフェースを用いている場合でも、そのようなインタフェース(コマンド、信号など)を追加することもできる。
【0036】
2番目の方法は、過去最近の複数回のアクセスがシーケンシャルアクセスである場合、今後もシーケンシャルアクセスがなわれるであろうと予測する方法である。例えば、SCSIコマンド形式のデータアクセス要求の場合、先頭LBA(論理ブロックアドレス)と転送データ長を用いてターゲットの記憶領域が指定されるから、連続して受けた複数のデータアクセス要求の先頭LBAと転送データ長が連続した記憶領域を指定していれば、今後もシーケンシャルアクセスが行なわれると予測できる。或いは、例えば、NAS(Network Attached Storage)の場合、データアクセス要求はファイル識別子とそのファイルの先頭LBAからのと転送データ長とを用いてターゲットの記憶領域を指定しているから、連続して受けた複数のデータアクセス要求の先頭LBAとオフセットと転送データ長が連続した記憶領域を指定していれば、今後もシーケンシャルアクセスが行なわれると予測できる。
【0037】
また、先行コピー処理の対象となるシーケンシャルアクセス予測範囲の決定は、例えば次のような方法で行なうことができる。1番目の方法は、ユーザ又は上位装置2がこの範囲の大きさ(又は、大きさを決めるためのパラメータなど)を予め設定しておく方法である。例えば、図1に示したコンソール24からユーザが又は上位装置2が、任意のLBA数をシーケンシャルアクセス予測範囲として設定しておくことで、データアクセス要求がきたとき、データアクセス要求のターゲットとなった記憶領域から続く、設定されたLBA数分の範囲を、先行コピー処理の対象として決定することができる。或いは、例えばNASの場合のように、データアクセス要求のターゲットのファイルが指定される場合、図1に示したコンソール24からユーザ又は上位装置2が、シーケンシャルアクセス予測範囲の大きさとして例えば「ファイル全体」と設定しておくことで、データアクセス要求がきたとき、ターゲットのファイルが格納された記憶領域の全てを先行コピー処理の対象とすることができる。
【0038】
2番目の方法は、ユーザ又は上位装置2が、シーケンシャルアクセスの範囲又はその範囲の大きさ(又は、大きさを決めるためのパラメータなど)を、ボリュームアクセス要求時などのコピー処理を行なうべき機会の都度に、ディスクシステム3に指定する方法である。例えば、上位装置2がシリンダ番号とヘッド番号、LBA、又はファイル識別子などを用いてシーケンシャルアクセス範囲を指定すると、ディスクシステム3が指定されたその範囲について先行コピーを行なうようにすることができる。
【0039】
3番目の方法は、過去にシーケンシャルにアクセスされた範囲の大きさに基づいて、期待可能性の高いシーケンシャルアクセス範囲の大きさを学習する方法である。例えば、そのようにして期待可能性の高いLBA数を学習しておき、データアクセス要求がきたとき、データアクセス要求のターゲットとなった記憶領域から続く、学習したLBA数分の範囲を、先行コピー処理の対象として決定することができる。
【0040】
以上、スナップショット管理の基本動作を説明したので、以下では、幾つかの具体的なケースについて、より具体的な動作を説明する。
【0041】
まず、正ボリューム40のスナップショットを取得するケースの一典型例について説明する。図4は、このケースにおけるディスクシステム31の概略的な動作の流れを示す。
【0042】
上位装置2は、正ボリューム40の所望時点でのスナップショットを取得する要求(以下、スナップショット取得要求という)を、ディスクシステム3に与えることができる。また、ユーザもコンソール24を操作することで、所望時点でのスナップショットの取得要求をディスクシステム3に与えることができる。ディスクシステム3は、受信したスナップショット取得要求に応答して、上記所望時点(スナップショット取得要求で指定された将来の特定時点でもよいし、或いは、スナップショット取得要求を受信した時点でもよく、以下、所望スナップショット時点という)以降、正ボリューム40に対するデータ書き込み要求(以下、WR要求という)を上位装置2から受ける都度、図4に示す動作を実行する。
【0043】
図4に示すように、ディスクシステム3は、受け取った正ボリューム40に対するWR要求に応答して、まず、正ボリューム40内のWR要求のターゲットになった記憶領域について同期コピー処理(S1)を行なう。但し、上記所望スナップショット時点から現時点までの間に、そのターゲットになった記憶領域についてスナップショット取得のためのコピー処理が未だ実行されていなかった場合にのみ、同期コピー処理(S1)が実行される。この同期コピー処理(S1)では、正ボリューム40内の上記ターゲットになった記憶領域に現在記録されているデータ(つまり、上記所望スナップショット時点で記録されていたデータ)が、矢印64で示すように、副ボリューム42の対応する記憶領域にコピーされる。
【0044】
この同期コピー処理(S1)の後、ディスクシステム3は、そのターゲットになった記憶領域に、上位装置2から受領した新しいデータを書き込む(S2)。
【0045】
さらに、今回のアクセスがシーケンシャルアクセスであると判断された場合(S3)、ディスクシステム3は、正ボリューム40のシーケンシャルアクセス予測範囲について先行コピー処理を行なう(S4)。但し、シーケンシャルアクセス予測範囲の中で、上記所望スナップショット時点から現時点までの間に未だスナップショット取得のためのコピー処理が実行されていない記憶領域についてのみ、先行コピー処理(S4)が実行される。この先行コピー処理(S4)では、正ボリューム40内の対象の記憶領域に現在記録されているデータ(つまり、上記所望スナップショット時点で記録されていたデータ)が、矢印64で示すように、副ボリューム42の対応する記憶領域にコピーされる。
【0046】
結局、正ボリューム40内の上記ターゲットとなった記憶領域とこれに続くシーケンシャルアクセス領域とを合わせた範囲を図示の範囲44とすると、この範囲44の内の未コピー領域48に記録されていたデータだけが、上記同期コピー処理(S4)及び先行コピー処理(S4)によって、副ボリューム42内の対応する記憶領域54にコピーされることになる。
【0047】
以後、後続のWR要求が来る都度に、上記の一連のオペレーション(S1〜S4)が繰り返し実行される。
【0048】
図5は、上述の図4に示した動作の結果取得されるスナップショットの構成を示す。
【0049】
図5に示すように、正ボリューム40内の全ての記憶領域80及び82の内、所望スナップショット時点以後に新データが書き込まれた記憶領域(以下、既WR領域という)80については、そこの上記所望スナップショット時点での旧データは、上述した同期又は先行コピー処理(矢印84)によって、副ボリューム42の対応する記憶領域86に退避されて保持されている。他方、正ボリューム40中で未だ新データが書き込まれていない記憶領域(以下、既WR領域という)82には、上記所望スナップショット時点での旧データが依然として保持されたままである。従って、副ボリューム42内の上記対応する記憶領域86に記録されているデータと、正ボリューム40内の未WR領域82に記憶されているデータとを合わせたものが、正ボリューム40の上記所望スナップショット時点でのスナップショット90である。このように、スナップショット90は、正ボリューム40と副ボリューム42に分かれて保持されている。
【0050】
このスナップショット90を利用する必要が生じたとき(例えば、バックアップコピーを作成するとき)には、副ボリューム42内の上記対応する記憶領域86と正ボリューム40内の未WR領域82とからデータが読み出され(矢印92,94)て、スナップショット利用処理96へ送られる。
【0051】
図6は、図4に概略的に示したオペレーションにおけるビットマップ34,36の使い方をより具体的に表したものである。
【0052】
図6に示すように、ディスクシステム3は、スナップショット取得要求を受けると(S21)、その所望スナップショット時点において、ビットマップ初期化処理(S22)を行なう。このビットマップ初期化処理(S22)では、Aビットマップ34の全てのビットを値「0」にセットし、Bビットマップ36の全てのビットを値「1」にセットする。
【0053】
ここで、Aビットマップ34内の全てのビットは、既に説明したように、正ボリューム40内の全ての記憶場所に対応する(当然、副ボリューム42内の全ての記憶場所にも対応している)。同様に、Bビットマップ36内の全てのビットも、正ボリューム40内の全ての記憶場所に対応している(当然、副ボリューム42内の全ての記憶場所にも対応している)。そして、Aビットマップ34内の各ビットは、正ボリューム40内の対応する記憶場所に記録されているべきデータが、その記憶場所に記録されているのか(ビット値「0」)、副ボリューム42内の対応する記憶場所に記録されているのか(ビット値「1」)という状態を表している。また、Bビットマップ36内の各ビットは、副ボリューム42内の対応する記憶場所に記録されているべきデータが、その記憶場所に記録されているのか(ビット値「0」)、正ボリューム40内の対応する記憶場所に記録されているのか(ビット値「1」)という状態を表している。
【0054】
従って、上述のビットマップ初期化処理(S22)で全てのビット値が「0」がセットされたAビットマップ34は、正ボリューム40内の全ての記憶場所に記録されているべきデータは正しくその記憶場所に記録されている、という状態を表している。また、上述のビットマップ初期化処理(S22)で全てのビット値が「1」にセットされたBビットマップ36は、副ボリューム42内の全ての記憶場所に記録されているべきデータは正ボリューム40内の方に記録されている、という状態を表している。
【0055】
この状態から出発して、以後、ディスクシステム3は、WR要求を受ける都度に、ステップS23〜S25のオペレーション(図4に示した同期コピー処理とWR処理に相当する)と、ステップS26〜S28のオペレーション(図4に示したシーケンシャル判断と先行コピー処理に相当する)を行なう。ステップS26〜S28のオペレーションは、ステップS23〜S25のオペレーションとは並行的に又は逐次的に行なわれる。
【0056】
ステップS23では、ディスクシステム3は、正ボリューム40内のデータを書き込むべき記憶場所70について、同期コピー処理の要否を、Bビットマップ36の対応するビット値(図中、アンダーラインを付したビット値)に基づいて判断する。そのビット値が「1」であれば(図4の未コピー領域48に属することを意味する)、コピー必要と判断され、ビット値が「0」であれば(図4の既コピー領域46に属することを意味する)、コピー不要と判断される。上記ビットマップ初期化処理(S22)の直後は、Bビットマップ36の全てのビット値が「1」であるから、どの記憶領域についてもコピー必要と判断されるが、以後、いずれかの記憶場所についてコピー処理が一旦行なわれると、後述するように、その記憶場所に対応するビット値が「0」に更新されるので、コピー不要と判断されることになる。
【0057】
ステップS24では、ディスクシステム3は、上記ステップS23でコピー必要と判断された場合に限り、正ボリューム40内のデータを書き込むべき記憶場所70の現在のデータを、副ボリューム42内の対応する記憶場所72にコピーするとともに、Bビットマップ36の対応するビット値(図中、アンダーラインを付したビット値)を「1」から「0」に書き換える。
【0058】
ステップS25では、ディスクシステム3は、正ボリューム40内のデータを書き込むべき記憶場所70に、上位装置2から受け取った新しいデータを書き込む。
【0059】
ステップS26では、ディスクシステム3は、現在のWRがシーケンシャルWRであるか否かを判断する。
【0060】
ステップS27では、ディスクシステム3は、上記ステップS26でシーケンシャルWR であると判断された場合に限り、正ボリューム40のシーケンシャルWR予測範囲74を決定し、そのシーケンシャルWR予測範囲74の各記憶場所について、先行コピーの要否を、Bビットマップ36の対応するビット値(図中、アンダーラインを付したビット値)に基づいて判断する。そのビット値が「1」であれば(図4の未コピー領域48に属することを意味する)、コピー必要と判断され、ビット値が「0」であれば(図4の既コピー領域46に属することを意味する)、コピー不要と判断される。
【0061】
ステップS28では、ディスクシステム3は、シーケンシャルWR予測範囲74の内の上記ステップS23でコピー必要と判断された記憶場所の現在のデータを、副ボリューム42内の対応する記憶場所76にコピーするとともに、Bビットマップ36の対応するビット値(図中、アンダーラインを付したビット値)を「1」から「0」に書き換える。
【0062】
図7は、図4に概略的に示したオペレーションにおけるディスクシステム3内のCHA14とDKA16の役割分担をより具体的に表したものである。
【0063】
図7に示すように、ディスクシステム3内のCHA14は、上位装置2よりWR要求を受信すると(S40)、正ボリューム40のWR要求のターゲットとなった記憶場所について同期コピー処理の要否を、Bビットマップ36の対応するビット値を参照して判定し(S42)、コピー必要と判断した場合には、DKA16に対して同期コピー処理を要求する。これに応答して、DKA16は、要求された同期コピー処理を実行し(S60)、Bビットマップ36の対応するビット値を更新する。
【0064】
また、CHA14は、今回のWRがシーケンシャルWRであるか否かを判定し(S44)、シーケンシャルWRである場合には、シーケンシャルWR予測範囲を決定し、そのシーケンシャルWR予測範囲内の各記憶場所について先行コピーの要否を、Bビットマップ36の対応するビット値を参照して判定し(S46)、コピー必要と判定された記憶場所についてのみ、DKA16に対して先行コピー処理を要求する。これに応答して、DKA16は、要求された先行コピー処理を実行し(S62)、Bビットマップ36の対応するビット値を更新する。
【0065】
また、CHA14は、上述したステップS42でDKA16に対して同期コピー処理を要求しなかった場合には、上述したステップS42の後直ちに、或るいは、上述したステップS42でDKA16に同期コピー処理を要求した場合には、その同期コピー処理が終わった後直ちに、上位装置2に対して書き込むべきデータ(WRデータ)を要求する(S50)。そして、上位装置2からWRデータを受領すると(S52)、CHA14は、受信したWRデータをキャッシュメモリ18に書き込んで、DKA16に対してWR処理を依頼する。その後、DKA16は、キャッシュメモリ18からWRデータを読み出して、正ボリューム40内のターゲットとな記憶場所に書き込む(S64)。
【0066】
上述したステップS52でDKA16に対してWR処理を依頼すると、CHA14は、完了報告を上位装置2へ送る(S54)。上位装置2は、完了報告を受けて、今回のWR処理が完了したことを認識する(S34)。
【0067】
以上、正ボリューム40のスナップショットを取得するケースの一典型例について説明した。
【0068】
次に、上記のようにして取得されたスナップショットを正ボリューム40にリストア(戻しコピー)するケースの一典型例について説明する。図8は、このケースにおけるディスクシステム31の概略的な動作の流れを示す。
【0069】
所望スナップショット時点以後の所望の時点で、上位装置2は、スナップショットのリストアの要求(以下、リストア要求という)をディスクシステム3に与えることができ、ユーザもコンソール24を操作することで、リストア要求をディスクシステム3に与えることができる。例えば、正ボリューム40内の或る記憶領域に間違ったデータを書き込んでしまったような時、リストア要求をディスクシステム3に与えることができる。ディスクシステム3は、リストア要求を受信すた時点(以下、所望リストア時点という)で、上述したスナップショット取得のためのオペレーションを終了し、以後は、上位装置2から正ボリューム40に対するRD又はWRの要求(以下、RD/WR要求という)を受ける都度、図8に示すスナップショットのリストアのためのオペレーションを実行する。
【0070】
図8に示すように、ディスクシステム3は、上位装置2からの正ボリューム40に対するRD/WR要求に応答して、まず、正ボリューム40内のRD/WR要求のターゲットになった記憶領域について同期コピー処理(S1)を行なう。但し、上記所望スナップショット時点から現時点までの間に、そのターゲットになった記憶領域についてリストアのためのコピー処理が未だ実行されていなかったと「見なされる」場合にのみ(後述するように、上記所望リストア時点で未だスナップショット取得のためのコピー処理が実行されていなかった記憶領域については、以後にリストアのためのコピー処理が実行されていなくても、リストアのためのコピー処理が既に実行されていたと「見なされる」)、同期コピー処理(S1)が実行される。この同期コピー処理(S1)では、正ボリューム40内の上記ターゲットになった記憶領域に対応する副ボリューム42内の記憶領域に現在記録されているデータ(これは、上記ターゲットになった記憶領域のスナップショットである)が、矢印66で示すように、正ボリューム40の上記ターゲットになった記憶領域にコピーされる。
【0071】
この同期コピー処理(S1)の後、ディスクシステム3は、そのターゲットになった記憶領域に対して上位装置2から要求されたRD処理又はWD処理を行なう(S2)。
【0072】
さらに、今回のアクセスがシーケンシャルアクセスであると判断された場合(S3)、ディスクシステム3は、正ボリューム40のシーケンシャルアクセス予測範囲について先行コピー処理を行なう(S4)。但し、シーケンシャルアクセス予測範囲の中で、上記所望スナップショット時点から現時点までの間に未だリストアのためのコピー処理が実行されていないと「見なされる」記憶領域についてのみ(後述するように、上記所望リストア時点で未だスナップショット取得のためのコピー処理が実行されていなかった記憶領域については、以後にリストアのためのコピー処理が実行されていなくても、スナップショットリストアのためのコピー処理が既に実行されていたと「見なされる」)、先行コピー処理(S4)が実行される。この先行コピー処理(S4)では、正ボリューム40内の対象の記憶領域に対応する副ボリューム42内の記憶領域に現在記録されているデータ(これは、上記対象の記憶領域のスナップショットである)が、矢印64で示すように、正ボリューム40の上記対象の記憶領域にコピーされる。
【0073】
結局、正ボリューム40内の上記ターゲットとなった記憶領域とこれに続くシーケンシャルアクセス領域とを合わせた範囲を図示の範囲44とすると、この範囲44の内の未コピー領域(すなわち、リストアのためのコピー処理が未実行と「見なされた」領域)48に対してだけ、上記同期コピー処理(S4)及び先行コピー処理(S4)によって、副ボリューム42内の対応する記憶領域54から、スナップショットのデータがコピーされることになる。
【0074】
以後、後続のRD/WR要求が来る都度に、上記の一連のオペレーション(S1〜S4)が繰り返し実行される。
【0075】
図9は、図8に概略的に示したオペレーションにおけるビットマップ34,36の使い方をより具体的に表したものである。
【0076】
図9に示すように、ディスクシステム3は、リストア要求を受けると(S71)、まず、ビットマップ初期化処理(S72)を行なう。このビットマップ初期化処理(S72)では、Bビットマップ36の全てのビット値の反転値を、Aビッマップ34の全てのビット値にそれぞれセットする。Bビットマップ36では、所望リストア時点において、正ボリューム40内の対応する記憶場所のスナップショットが副ボリュームの対応する記憶場所に記録されているビット値は「0」になっており、そのスナップショットが副ボリューム40に未だコピーされていない(つまり、正ボリューム40内の対応する記憶場所に依然として記録されている)のビット値は「1」になっている。よって、Bビットマップ36の反転をAビットマップ34にセットすることによって、Aビッマップ34では、所望リストア時点において、正ボリューム40内の対応する記憶場所のスナップショットが副ボリュームの対応する記憶場所に記録されているビット値は「1」になり、正ボリューム40内の対応する記憶場所のスナップショットがその記憶場所に依然として記録されているビット値は「0」になる。
【0077】
この状態から出発して、以後、ディスクシステム3は、RD/WR要求を受ける都度に、ステップS73〜S75のオペレーション(図8に示した同期コピー処理とRD/WR処理に相当する)と、ステップS76〜S78のオペレーション(図8に示したシーケンシャル判断と先行コピー処理に相当する)を行なう。ステップS76〜S78のオペレーションは、ステップS73〜S75のオペレーションとは並行的に又は逐次的に行なわれる。
【0078】
ステップS73では、ディスクシステム3は、正ボリューム40内のRD/WRのターゲットとなった記憶場所100について、同期コピー処理の要否を、Aビットマップ34の対応するビット値(図中、アンダーラインを付したビット値)に基づいて判断する。そのビット値が「1」であれば、そのターゲットとなった記憶場所100のスナップショットが副ボリューム42に記録されていることを意味する(換言すれば、リストアのためのコピー処理が未実行であると見なされる)から、コピー必要と判断さる。他方、そのビット値が「0」であれば、そのターゲットとなった記憶場所100のスナップショットが既にその記憶場所に記録されていることを意味する(換言すれば、リストアのためのコピー処理が既に実行されたと見なされる)から、コピー不要と判断される。
【0079】
ステップS74では、ディスクシステム3は、上記ステップS73でコピー必要と判断された場合に限り、正ボリューム40内の上記ターゲットとなった記憶場所100に、副ボリューム42内の対応する記憶場所102に記録されているスナップショットのデータをコピーする(リストアする)とともに、Aビットマップ34の対応するビット値(図中、アンダーラインを付したビット値)を「1」から「0」に書き換える。
【0080】
ステップS75では、ディスクシステム3は、正ボリューム40内の上記ターゲットとなった記憶場所100に対して、上位装置2から要求されたRD/WR処理を行なう。
【0081】
ステップS76では、ディスクシステム3は、現在のアクセスがシーケンシャルであるか否かを判断する。
【0082】
ステップS77では、ディスクシステム3は、上記ステップS76でシーケンシャルアクセスであると判断された場合に限り、正ボリューム40のシーケンシャルアクセス予測範囲104を決定し、そのシーケンシャルアクセス予測範囲104の各記憶場所について、先行コピーの要否を、Aビットマップ34の対応するビット値(図中、アンダーラインを付したビット値)に基づいて判断する。そのビット値が「1」であれば、リストアのためのコピー処理が未実行であると見なされるから、コピー必要と判断される。一方、ビット値が「0」であれば、リストアのためのコピー処理が既に実行されたと見なされるから、コピー不要と判断される。
【0083】
ステップS78では、ディスクシステム3は、シーケンシャルアクセス予測範囲104の内の上記ステップS73でコピー必要と判断された記憶場所に対してのみ、副ボリューム42内の対応する記憶場所に記録されていたスナップショットのデータをコピーするとともに、Aビットマップ34の対応するビット値(図中、アンダーラインを付したビット値)を「1」から「0」に書き換える。
【0084】
図10は、図8に概略的に示したオペレーションにおけるディスクシステム3内のCHA14とDKA16の役割分担をより具体的に表したものである。
【0085】
図10に示すように、ディスクシステム3内のCHA14は、上位装置2よりRD/WR要求を受信すると(S90)、正ボリューム40のRD/WR要求のターゲットとなった記憶場所について同期コピー処理の要否を、Aビットマップ34の対応するビット値を参照して判定し(S92)、コピー必要と判断した場合には、DKA16に対して同期コピー処理を要求する。これに応答して、DKA16は、要求された同期コピー処理を実行し(S110)、Aビットマップ34の対応するビット値を更新する。
【0086】
また、CHA14は、今回のRD/WRがシーケンシャルアクセスであるか否かを判定し(S94)、シーケンシャルアクセスである場合には、シーケンシャルアクセス予測範囲を決定し、そのシーケンシャルアクセス予測範囲内の各記憶場所について先行コピーの要否を、Aビットマップ34の対応するビット値を参照して判定し(S96)、コピー必要と判定された記憶場所についてのみ、DKA16に対して先行コピー処理を要求する。これに応答して、DKA16は、要求された先行コピー処理を実行し(S112)、Bビットマップ36の対応するビット値を更新する。
【0087】
また、CHA14は、上述したステップS92でDKA16に対して同期コピー処理を要求しなかった場合には、上述したステップS92の後直ちに、或るいは、上述したステップS92でDKA16に同期コピー処理を要求した場合には、その同期コピー処理が終わった後直ちに、要求されたRD又はWRのオペレーションを行なう。WRのオペレーションは、上述した図7に示したステップS50以下と同様なので、ここでは、RDのオペレーションを説明する。まず、CHA14は、DKA16に対してデータRDを要求する(S98)。これに応答してDKA16は、正ボリューム40の上記ターゲットとなった記憶領域からRDデータを読み出してキャッシュメモリ18に書き込む(S114)。CHA18はキャッシュメモリ18からデータを読み込み、上位装置2へ送る(S100)。上位装置2は、RDデータを受けて、今回のWR処理が完了したことを認識する(S82)。
【0088】
以上が、スナップショットをリストアするケースにおける典型的なオペレーションである。
【0089】
上述した2つの典型的ケースはいずれも、正ボリューム40へのアクセスの際にスナップショットの取得又はリストアのためのコピー処理を行なうものであった。これに対し、副ボリューム42へのアクセスの際にその種のコピー処理を行なうケースもあり得る。そのようなケースのオペレーション例を2つ、図11及び図12に示す。
【0090】
図11は、副ボリューム42へのデータWRの際にスナップショットをリストアするケースのオペレーション例を示す。
【0091】
図11に示すように、ディスムシステム3が、リストア要求を受けた後、副ボリューム42に対するWR要求が来る都度に、副ボリューム42内のWR要求のターゲットとなった記憶領域及びそれに続くシーケンシャルWR予測領域から、正ボリューム40内の対応する記憶領域へと、スナップショットのリストアのためのコピー処理(S1、S4、矢印66)を行なう。この場合も、コピー処理(S1、S4)は、図9で説明した同様の方法でビットマップ34、36を使うことにより、副ボリューム42内のシーケンシャルWR範囲50のうちの未コピー領域(リストアのためのコピーが未だ実行されていないと見なされる領域)54についてのみ行なわれる。
【0092】
図11に示したオペレーションを行なう用途としては、例えば開発用のテストデータを副ボリューム42に書き込む場合などがある。
【0093】
図12は、副ボリューム42へのデータRD/WRの際にスナップショットを取得するケースにおけるオペレーション例を示す。
【0094】
図12に示すように、ディスムシステム3が、スナップショット取得要求を受けた後、副ボリューム42に対するRD/WR要求が来る都度に、副ボリューム42内のRD/WR要求のターゲットとなった記憶領域及びそれに続くシーケンシャルWR予測領域へ、正ボリューム40内の対応する記憶領域に記録されているデータをコピーする(S1、S4)。この場合も、コピー処理(S1、S4)は、図6で説明した同様の方法でビットマップ34、36を使うことにより、副ボリューム42内のシーケンシャルRD/WR範囲50のうちの未コピー領域(スナップショット取得のためのコピーが未だ実行されていないと領域)54についてのみ行なわれる。
【0095】
図12に示したデータRDの際にスナップショット取得を行なうオペレーションの用途としては、例えばバックアップコピーを作成する場合などがある。また、データWRの際にスナップショット取得を行なうオペレーションの用途としては、例えば開発用のテストの場合などがある。
【0096】
以上、幾つかの具体的なケースを説明したが、これらのケースはいずれも、ボリュームアクセスの際にスナップショット取得又はリストアのためのコピー処理を行なうものであった。しかし、その種のコピー処理は、ボリュームアクセスの際に実行せずに済むのであれば、ディスクシステム3のボリュームアクセス時のレスポンスは一層向上する。そこで、上述したボリュームアクセスの際のコピー処理に加えて又は代えて、ボリュームアクセスとは異なる契機で、その種のコピー処理を大量に先行的に実行しておくという方法も採用することができる。そのような別契機の先行コピー処理は、例えばボリュームアクセスの無い時間帯、或るいはボリュームアクセスの頻度が低いときのインターバルなどに纏めて実行すれば、効果的である。
【0097】
図13は、上述したボリュームアクセスとは別の契機で先行コピー処理を行なうケースにおけるディスクシステムのディスクシステム3の概略的なオペレーションの流れを示す。
【0098】
図13に示すように、ディスクシステム3は、任意の時点で上位装置2(又はコンソール24)から正ボリューム40のスナップショット取得のためのコピー要求を受けると、正ボリューム40の全体範囲100について、スナップショット取得のための先行コピー処理を実行する(S120)。但し、正ボリューム40の全体範囲100の中で、所望スナップショット時点から現在までにスナップショット取得のためのコピー処理が既に実行されている既コピー領域102については先行コピー処理(S120)は省略され、未だそのコピー処理が実行されていない未コピー領域104についてのみ先行コピー処理(S120)が実行される。この先行コピー処理(S120)では、矢印120に示すように正ボリューム40から副ボリューム42へとデータがコピーされる。なお、既にスナップショット取得のためのコピー処理が実行されているか否かの判断は、既に図6を参照して説明したように、Bビットマップ36の対応するビット値に基づいて行なうことができる。
【0099】
また、ディスクシステム3は、任意の時点で上位装置2(又はコンソール24)から正ボリューム40のスナップショットのリストアのためのコピー要求を受けると、(もし、リストア要求を未だ受けていないならば、図9のステップS72と同様にしてAビットマップ34を初期化した上で)正ボリューム40の全体範囲100について、リストアのための先行コピー処理を実行する(S120)。但し、正ボリューム40の全体範囲100の中で、所望スナップショット時点から現在までにリストアのためのコピー処理が既に実行されていると「見なされる」既コピー領域102については先行コピー処理(S120)は省略され、未だそのコピー処理が実行されていないと「見なされる」未コピー領域104についてのみ先行コピー処理(S120)が実行される。この先行コピー処理(S120)では、矢印122に示すように副ボリューム42から正ボリューム40へとデータがコピーされる。なお、既にリストアのためのコピー処理が実行されていると見なされるか否かの判断は、既に図9を参照して説明したように、Aビットマップ34の対応するビット値に基づいて行なうことができる。
【0100】
上述した図13のオペレーションでは、正ボリューム40の全体を別契機先行コピー処理の対象としたが、別法として、別契機先行コピー処理の対象を、ボリューム内の指定された範囲に限定することもできる。図14は、そのようなケースにおけるディスクシステムのディスクシステム3の概略的なオペレーションの流れを示す。
【0101】
図14に示すように、ディスクシステム3は、任意の時点で上位装置2(又はコンソール24)から、正ボリューム40内の特定範囲を指定した範囲指定付きのスナップショット取得のためのコピー要求を受けると、正ボリューム40内の指定された範囲130について、スナップショット取得のための先行コピー処理を実行する(S122)。但し、その指定範囲130の中で、所望スナップショット時点から現在までにスナップショット取得のためのコピー処理が既に実行されている既コピー領域132については先行コピー処理(S122)は省略され、未だそのコピー処理が実行されていない未コピー領域134についてのみ先行コピー処理(S122)が実行される。この先行コピー処理(S122)では、矢印150に示すように正ボリューム40から副ボリューム42へとデータがコピーされる。なお、既にスナップショット取得のためのコピー処理が実行されているか否かの判断は、既に図6を参照して説明したように、Bビットマップ36の対応するビット値に基づいて行なうことができる。また、上記範囲指定は、シリンダ番号とヘッド番号、LBA、又はファイル識別子などを用いて行なうことができる。
【0102】
また、ディスクシステム3は、任意の時点で上位装置2(又はコンソール24)から、正ボリューム40内の特定の範囲を指定した範囲指定付きのスナップショットリストアのためのコピー要求を受けると、(もし、リストア要求を未だ受けていないならば、図9のステップS72と同様にしてAビットマップ34を初期化した上で)正ボリューム40の指定された範囲130についてリストアのための先行コピー処理を実行する(S122)。但し、その指定範囲130の中で、所望スナップショット時点から現在までにリストアのためのコピー処理が既に実行されていると「見なされる」既コピー領域132については先行コピー処理(S122)は省略され、未だそのコピー処理が実行されていないと「見なされる」未コピー領域134についてのみ先行コピー処理(S122)を実行される。この先行コピー処理(S122)では、矢印152に示すように副ボリューム42から正ボリューム40へとデータがコピーされる。なお、既にリストアのためのコピー処理が実行されていると見なされるか否かの判断は、既に図9を参照して説明したように、Aビットマップ34の対応するビット値に基づいて行なうことができる。
【0103】
最後に、バックアップを作成するためにスナップショットを読み出すときのオペレーションについて説明する。
【0104】
バックアップを作成するときには、上位装置2からディスクシステム3に対して副ボリューム42のRD要求が連続的に入ることになる。この場合、ディスクシステム3は、副ボリューム42のRD要求が入る都度に、図12に示したオペレーションを行なうことにより、正ボリューム40のスナップショットを副ボリューム42にコピーしつつ、そのスナップショットを副ボリューム42から読み出して、ディスクシステム3の外部又は内部に存在するバックアップ記録装置へ送ることができる。
【0105】
さて、バックアップを作成する場合、上記の図12に示したオペレーションに代えて、図15に示すようなオペレーションを行なうこともできる。
【0106】
図15に示すように、バックアップを作成するときには、ディスクシステム3は、副ボリューム42のRD要求が入る都度に、そのRD要求のターゲットとなった副ボリューム42内の記憶領域について、この明細書で「ボリューム分散RD処理」と呼ぶRD処理を行なう(S130)。このボリューム分散RD処理(S130)では、まず、そのターゲットとなった記憶領域について、所望スナップショット時点から現在までにスナップショット取得のためのコピー処理が既に実行されているか否かがチェックされ、次いで、そのチェックの結果、そのコピー処理が既に実行されていれば、副ボリューム42内のそのターゲットとなった記憶領域からデータが読み出され、他方、そのコピー処理が未だ実行されていなければ、そのターゲットとなった記憶領域に対応する正ボリューム40内の記憶場所からデータが読み出される。このように、ボリューム分散RD処理(S130)では、今までのコピー処理の実行の有無に基づいて、正ボリューム40と副ボリューム42のいずれのボリュームにスナップショットのデータが記録されているかが判断されて、記録されている方のボリュームからデータが読み出されるのである。なお、今までのコピー処理の実行の有無は、既に説明した図6のステップS23と同様に、Bビットマップ36の対応するビット値で判断することができる。
【0107】
また上位装置2が要求するRDがシーケンシャルRDであると判断される場合(S132)(バックアップのためのRDは通常はシーケンシャルである)には、ディスクシステム3は、上記ターゲットとなった記憶領域についてのボリューム分散RD処理(S130)と並行的に又は逐次的に、上記ターゲットとなった記憶領域に続くシーケンシャルアクセス予想範囲ついて、この明細書で「ボリューム分散先行RD処理」と呼ぶRD処理を行なうことができる(S134)。このボリューム分散RD処理(S130)では、まず、シーケンシャルアクセス予想範囲内の記憶場所の各々について、所望スナップショット時点から現在までにスナップショット取得のためのコピー処理が既に実行されているか否かがチェックされ、次いで、そのチェックの結果、そのコピー処理が既に実行されていれば、副ボリューム42内のその記憶場所からデータが読み出され、他方、そのコピー処理が未だ実行されていなければ、その記憶場所に対応する正ボリューム40内の記憶場所からデータが読み出される。このように、ボリューム分散先行RD処理(S134)においても、今までのコピー処理の実行の有無に基づいて、正ボリューム40と副ボリューム42のいずれのボリュームにスナップショットのデータが記録されているかが判断されて、記録されている方のボリュームからデータが読み出されるのである。なお、今までのコピー処理の実行の有無は、既に説明した図6のステップS27と同様に、Bビットマップ36の対応するビット値で判断することができる。
【0108】
図13に示したオペレーションは、図12に示したものと比較すると、データ操作の回数が少ないので処理負担が軽い。すなわち、図12のオペレーションでは、バックアック作成が要求された時点で正ボリューム40に依然として記録されているスナップショットのデータは、正ボリューム40から副ボリューム42とコピーされた後(すなわち、正ボリューム40から読み出されて、副ボリューム42書き込まれた後に)、副ボリューム40から読み出される。これに対し、図13に示したオペレーションでは、そのようなデータは正ボリューム40から読み出されるだけであるから、図12のオペレーションにおける副ボリューム42への書き込みが省略されており、故に、処理負担が軽くなる。
【0109】
以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であり、この実施形態のみに本発明の範囲を限定する趣旨ではない。従って、本発明は、その要旨を逸脱することなく、他の様々な形態で実施することが可能である。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る記憶システムの全体構成を示すブロック図。
【図2】ディスクシステム3が行なうスナップショット管理の基本動作を示す流れ図。
【図3】図2に示した同期コピー処理(S1)、アクセス処理(S2)及び先行コピー処理(S4)が実行されるタイミングの一例を示す図。
【図4】正ボリューム40へのデータWRの際にスナップショットを取得するケースにおけるディスクシステム3の概略的なオペレーションの流れを示す図。
【図5】図4に示したオペレーションによって取得されるスナップショットの構成を示すブロック図。
【図6】図4に概略的に示したオペレーションにおけるビットマップ34,36の使い方をより具体的に表した流れ図。
【図7】図4に概略的に示したオペレーションにおけるディスクシステム3内のCHA14とDKA16の役割分担をより具体的に表した流れ図。
【図8】正ボリューム40へのデータRD/WRの際にスナップショットを正ボリューム40にリストア(戻しコピー)するケースにおけるディスクシステム31の概略的なオペレーションの流れを示す図。
【図9】図8に概略的に示したオペレーションにおけるビットマップ34,36の使い方をより具体的に表した流れ図。
【図10】図8に概略的に示したオペレーションにおけるディスクシステム3内のCHA14とDKA16の役割分担をより具体的に表した流れ図。
【図11】副ボリューム42へのデータWRの際にスナップショットをリストアするケースにおけるディスクシステム31の概略的なオペレーションの流れを示す図。
【図12】副ボリューム42へのデータRD/WRの際にスナップショットを取得するケースにおけるディスクシステム31の概略的なオペレーションの流れを示す図。
【図13】ボリュームアクセスとは別の契機で先行コピー処理を行なうケースにおけるディスクシステム31のの概略的なオペレーションの流れを示す図。
【図14】ボリュームアクセスとは別の契機で先行コピー処理を行なう別のケースにおけるディスクシステム31のの概略的なオペレーションの流れを示す図。
【図15】バックアップ作成のためにデータRDを行なうケースにおけるディスクシステム31のの概略的なオペレーションの流れを示す図。
【符号の説明】
1 計算機システム
2 上位装置
3 ディスクシステム(記憶システム)
10 内部LAN
12 サービスプロセッサ(SP)
14 チャンネルアダプタ(CHA)
16 ディスクアダプタ(DKA)
18 キャッシュメモリ
20 共有メモリ
22 ディスク装置
24 コンソール
34 Aビットマップ
36 Bビットマップ
40 正ボリューム
42 副ボリューム
44 正ボリュームのシーケンシャルアクセス範囲
46 正ボリュームのシーケンシャルアクセス範囲内の既コピー領域
48 正ボリュームのシーケンシャルアクセス範囲内の未コピー領域
50 副ボリュームのシーケンシャルアクセス範囲
52 副ボリュームのシーケンシャルアクセス範囲内の既コピー領域
54 副ボリュームのシーケンシャルアクセス範囲内の未コピー領域
100 正ボリュームの全範囲
102 正ボリューム内の既コピー領域
104 正ボリューム内の未コピー領域
110 副ボリュームの全範囲
112 副ボリューム内の既コピー領域
114 副ボリューム内の未コピー領域
130 正ボリュームの指定範囲
132 正ボリュームの指定範囲内の既コピー領域
134 正ボリュームの指定範囲内の未コピー領域
140 副ボリュームの指定範囲
142 副ボリュームの指定範囲内の既コピー領域
144 副ボリュームの指定範囲内の未コピー領域

Claims (13)

  1. 第1ボリュームと第2ボリュームを備える記憶システムにおいて、
    前記第1ボリュームの所望時刻でのスナップショットを取得することを要求するスナップショット取得要求を受けた場合において、
    前記所望時刻以降に前記第1ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第1ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第2ボリュームにコピーされていない場合、前記ターゲットとされた記憶領域に記録されているデータを前記第2ボリュームにコピーする同期コピー手段と、
    前記所望時刻以降に前記第1ボリューム内の将来のアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第2ボリュームにコピーされていない場合、前記予測された記憶領域に記録されているデータを前記第2ボリュームにコピーする先行コピー手段とを備えた記憶システム。
  2. 第1ボリュームと第2ボリュームを備える記憶システムにおいて、
    前記第1ボリュームの所望時刻でのスナップショットを取得することを要求するスナップショット取得要求を受けた場合において、
    前記所望時刻以降に前記第2ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第2ボリューム内の前記ターゲットとされた記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットとされた記憶領域にコピーされていない場合、前記ターゲットとされた記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータを前記第2ボリューム内の前記ターゲットとされた記憶領域にコピーする同期コピー手段と、
    前記所望時刻以降に前記第2ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測される記憶領域にコピーされていない場合、前記予測された記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする先行コピー手段とを備えた記憶システム。
  3. 請求項1又は2に記載の記憶システムにおいて、
    前記所望時刻より後に、前記第1ボリュームの前記所望時刻でのスナップショットを前記第1ボリュームにリストアすることを要求するリストア要求を受けた場合において、
    前記リストア要求を受けた時点以降に前記第1ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第1ボリューム内の前記ターゲットとされた記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットにされた記憶領域にコピーされていないと見なされる場合前記ターゲットとされた記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータを前記ターゲットとされた記憶領域にコピーする第2の同期コピー手段と、
    前記リストア要求を受けた時点以降に前記第1ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測された記憶領域にコピーされていないと見なされる場合、前記予測された記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする第2の先行コピー手段とを更に備えた記憶システム。
  4. 請求項1又は2に記載の記憶システムにおいて、
    前記所望時刻より後に、前記第1ボリュームの前記所望時刻でのスナップショットを前記第1ボリュームにリストアすることを要求するリストア要求を受けた場合において、
    前記リストア要求を受けた時点以降に前記第2ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第2ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第1ボリュームにコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に記録されているデータを前記第1ボリュームにコピーする第2の同期コピー手段と、
    前記リストア要求を受けた時点以降に前記第2ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第1ボリュームにコピーされていないと見なされる場合、前記予測された記憶領域に記録されているデータを前記第1ボリュームにコピーする第2の先行コピー手段とを更に備えた記憶システム。
  5. 請求項1又は2記載の記憶システムにおいて、
    前記所望時刻以降にスナップショット取得のための先行コピー要求を受けた場合、前記第1ボリュームの全範囲又は指定された範囲の記憶領域について、前記先行コピー手段と同様のコピー動作を行なう第2の先行コピー手段を更に備えた記憶システム。
  6. 請求項3又は4記載の記憶システムにおいて、
    前記リストア要求を受けた時点以降にスナップショットリストアのための先行コピー要求を受けた場合、前記第2ボリュームの全範囲又は指定された範囲の記憶領域について、前記第2の先行コピー手段と同様のコピー動作を行なう第3の先行コピー手段を更に備えた記憶システム。
  7. 請求項1又は2記載の記憶システムにおいて、
    前記所望時刻より後に、前記第1ボリュームの前記所望時刻でのスナップショットを読み出す場合において、
    前記第1ボリューム内の記憶領域に記録されているデータのうち、前記所望時刻以降に前記第2ボリュームにコピーされていないデータを選択的に読み出す手段と、
    前記第2ボリューム内の記憶領域に記録されているデータのうち、前記所望時刻以降に前記第1ボリュームからコピーされて来たデータを選択的に読み出す手段とを更に備えた記憶システム。
  8. 第1ボリュームと第2ボリュームを備える記憶システムにおいて、前記第1ボリュームの所望時刻でのスナップショットを取得するための方法において、
    前記所望時刻以降に前記第1ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第1ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第2ボリュームにコピーされていない場合、前記ターゲットとされた記憶領域に記録されているデータを前記第2ボリュームにコピーする同期コピーステップと、
    前記所望時刻以降に前記第1ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第2ボリュームにコピーされていない場合、前記予測された記憶領域に記録されているデータを前記第2ボリュームにコピーする先行コピーステップとを備えた記憶システムにおけるスナップショット管理方法。
  9. 第1ボリュームと第2ボリュームを備える記憶システムにおける、前記第1ボリュームの所望時刻でのスナップショットを取得するための方法において、
    前記所望時刻以降に前記第2ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第2ボリューム内の前記ターゲットとされた記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットとされた記憶領域にコピーされていない場合、前記ターゲットとされた記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータを前記第2ボリューム内の前記ターゲットとされた記憶領域にコピーする同期コピーステップと、
    前記所望時刻以降に前記第2ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測された記憶領域にコピーされていない場合、前記予測された記憶領域に対応する前記第1ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする先行コピーステップとを備えた記憶システムにおけるスナップショット管理方法。
  10. 請求項8又は9に記載の方法において、
    前記所望時刻より後に、前記第1ボリュームの前記所望時刻でのスナップショットを前記第1ボリュームにリストアすることを要求するリストア要求を受けるステップと、
    前記リストア要求を受けた時点以降に前記第1ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第1ボリューム内の前記ターゲットとされた記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットにされた記憶領域にコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータを前記ターゲットとされた記憶領域にコピーする第2の同期コピーステップと、
    前記リストア要求を受けた時点以降に前記第1ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測された記憶領域にコピーされていないと見なされる場合、前記予測された記憶領域に対応する前記第2ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする第2の先行コピーステップとを備えた記憶システムにおけるスナップショット管理方法。
  11. 請求項8又は9に記載の記憶システムにおいて、
    前記所望時刻より後に、前記第1ボリュームの前記所望時刻でのスナップショットを前記第1ボリュームにリストアすることを要求するリストア要求を受けるステップと、
    前記リストア要求を受けた時点以降に前記第2ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第2ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第1ボリュームにコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に記録されているデータを前記第1ボリュームにコピーする第2の同期コピー手段と、
    前記リストア要求を受けた時点以降に前記第2ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第1ボリュームにコピーされていないと見なされる場合、前記予測された記憶領域に記録されているデータを前記第1ボリュームにコピーする第2の先行コピーステップとを更に備えた記憶システムにおけるスナップショット管理方法。
  12. コンピュータからの命令に応答してデータ書き込みや読み出しを行なう記憶領域を有する記憶システムであって、
    前記記憶システムは、
    前記コンピュータからの命令に応答して前記データの書き込みや読み出しを制御する記憶制御部と、
    前記記憶領域内に定義された第1記憶領域と、
    前記記憶領域内に定義され、前記第1記憶領域に対応付けられて前記第1記憶領域のある時点のデータイメージを仮想的に保持する第2記憶領域とを含み、
    前記記憶制御部は、前記ある時点以降に前記第1記憶領域内のターゲット領域へのデータの書き込み命令を受領した場合に、この書き込み命令を実行する前の前記ターゲット領域上のデータを前記第2記憶領域にコピーする第1コピー手段を有し、
    前記記憶制御部が、前記第2記憶領域に対する読み出し要求を受領した場合に、この読み出し要求を受けた領域が前記第1コピー手段によってデータのコピーがされた領域である場合には前記第1コピー手段によりコピーされたデータを読み出して出力し、この読み出し要求を受けた領域が、前記第1コピー手段よってデータのコピーがされていない領域である場合には、この領域に対応する前記第1の記憶領域からデータを読み出して出力することを特徴とする記憶システム。
  13. 請求項12記載の記憶システムにおいて、
    前記記憶制御部は、前記コンピュータから前記第1記憶領域内のターゲット領域への書き込みがシーケンシャル書き込みであるかどうかを判定する判定手段と、
    前記判定手段の判定が、シーケンシャル書き込みであるという判定の場合には、前記ターゲット領域に連続する領域のデータを前記コンピュータからの書き込み要求の発生よりも先行して前記第2記憶領域にコピーする第2コピー手段とを有することを特徴とする記憶システム。
JP2003066500A 2003-03-12 2003-03-12 記憶システム及び同システムにおけるスナップショット管理方法 Expired - Fee Related JP4311532B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003066500A JP4311532B2 (ja) 2003-03-12 2003-03-12 記憶システム及び同システムにおけるスナップショット管理方法
US10/770,008 US7133987B2 (en) 2003-03-12 2004-02-03 Storage system and snapshot management method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003066500A JP4311532B2 (ja) 2003-03-12 2003-03-12 記憶システム及び同システムにおけるスナップショット管理方法

Publications (2)

Publication Number Publication Date
JP2004272854A true JP2004272854A (ja) 2004-09-30
JP4311532B2 JP4311532B2 (ja) 2009-08-12

Family

ID=32959247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003066500A Expired - Fee Related JP4311532B2 (ja) 2003-03-12 2003-03-12 記憶システム及び同システムにおけるスナップショット管理方法

Country Status (2)

Country Link
US (1) US7133987B2 (ja)
JP (1) JP4311532B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610460B2 (en) 2006-05-22 2009-10-27 Hitachi, Ltd. Buffer updates and data evacuation in a storage system using differential snapshots
JP2012079199A (ja) * 2010-10-05 2012-04-19 Fujitsu Ltd 情報処理装置、テープ装置、およびプログラム
JP2016513845A (ja) * 2013-03-14 2016-05-16 マイクロソフト テクノロジー ライセンシング,エルエルシー スナップショットからのアプリケーションの回復

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4433372B2 (ja) 2003-06-18 2010-03-17 株式会社日立製作所 データアクセスシステム及び方法
JP4466001B2 (ja) * 2003-08-06 2010-05-26 株式会社日立製作所 スナップショット高速化方法
US7487186B2 (en) * 2004-10-19 2009-02-03 Microsoft Corporation Protocol agnostic database change tracking
US20060123210A1 (en) * 2004-12-06 2006-06-08 St. Bernard Software, Inc. Method for logically consistent backup of open computer files
US7548939B2 (en) 2005-04-15 2009-06-16 Microsoft Corporation Generating storage reports using volume snapshots
JP4856955B2 (ja) 2006-01-17 2012-01-18 株式会社日立製作所 Nasシステム及びリモートコピー方法
JP4927408B2 (ja) * 2006-01-25 2012-05-09 株式会社日立製作所 記憶システム及びそのデータ復元方法
US8250031B2 (en) * 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
JP4819113B2 (ja) * 2008-12-03 2011-11-24 富士通株式会社 バックアップ装置、バックアップ方法およびバックアッププログラム
US8972351B1 (en) * 2011-11-08 2015-03-03 Symantec Corporation Systems and methods for creating selective snapshots
GB2509057A (en) 2012-12-18 2014-06-25 Ibm Predictive point-in-time copy for storage systems
US10223007B1 (en) * 2014-12-30 2019-03-05 EMC IP Holding Company LLC Predicting IO
US11916938B2 (en) * 2020-08-28 2024-02-27 EMC IP Holding Company LLC Anomaly detection and remediation utilizing analysis of storage area network access patterns

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827754B2 (ja) * 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US6427184B1 (en) * 1997-06-03 2002-07-30 Nec Corporation Disk drive with prefetch and writeback algorithm for sequential and nearly sequential input/output streams
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
JP4128641B2 (ja) * 1997-10-13 2008-07-30 株式会社東芝 データ退避方法
JP2001131378A (ja) 1999-11-04 2001-05-15 Kansai Paint Co Ltd 活性エネルギー線硬化組成物およびその被膜形成方法
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
JP3868708B2 (ja) 2000-04-19 2007-01-17 株式会社日立製作所 スナップショット管理方法及び計算機システム
US6912630B1 (en) * 2001-03-30 2005-06-28 Emc Corporation Method and apparatus for computing file storage elements for backup and restore
US6820099B1 (en) * 2001-04-13 2004-11-16 Lsi Logic Corporation Instantaneous data updating using snapshot volumes
GB2378278B (en) * 2001-07-31 2003-09-10 Sun Microsystems Inc Live memory snapshot
US20030220929A1 (en) * 2002-01-22 2003-11-27 Columbia Data Products, Inc. Managing finite data storage utilizing preservation weights
US7072915B2 (en) * 2002-01-22 2006-07-04 International Business Machines Corporation Copy method supplementing outboard data copy with previously instituted copy-on-write logical snapshot to create duplicate consistent with source data as of designated time
US6748504B2 (en) * 2002-02-15 2004-06-08 International Business Machines Corporation Deferred copy-on-write of a snapshot
US7475098B2 (en) * 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
JP2003280964A (ja) * 2002-03-22 2003-10-03 Hitachi Ltd スナップショット取得方法、ストレージシステム及びディスク装置
US6715048B1 (en) * 2002-03-28 2004-03-30 Emc Corporation System and method for efficiently performing a restore operation in a data storage environment
US6944732B2 (en) * 2002-05-08 2005-09-13 Hewlett-Packard Development Company, L.P. Method and apparatus for supporting snapshots with direct I/O in a storage area network
US6957362B2 (en) * 2002-08-06 2005-10-18 Emc Corporation Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US7356574B2 (en) * 2003-02-25 2008-04-08 Hewlett-Packard Development Company, L.P. Apparatus and method for providing dynamic and automated assignment of data logical unit numbers
JP2004258944A (ja) * 2003-02-26 2004-09-16 Hitachi Ltd ストレージ装置およびその管理方法
JP4292882B2 (ja) * 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610460B2 (en) 2006-05-22 2009-10-27 Hitachi, Ltd. Buffer updates and data evacuation in a storage system using differential snapshots
JP2012079199A (ja) * 2010-10-05 2012-04-19 Fujitsu Ltd 情報処理装置、テープ装置、およびプログラム
US8819364B2 (en) 2010-10-05 2014-08-26 Fujitsu Limited Information processing apparatus, tape device, and computer-readable medium storing program
JP2016513845A (ja) * 2013-03-14 2016-05-16 マイクロソフト テクノロジー ライセンシング,エルエルシー スナップショットからのアプリケーションの回復

Also Published As

Publication number Publication date
US20040181642A1 (en) 2004-09-16
US7133987B2 (en) 2006-11-07
JP4311532B2 (ja) 2009-08-12

Similar Documents

Publication Publication Date Title
US6457109B1 (en) Method and apparatus for copying data from one storage system to another storage system
JP4990066B2 (ja) 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
US6611901B1 (en) Method, system, and program for maintaining electronic data as of a point-in-time
US7565501B2 (en) Storage controller and data management method
JP6344798B2 (ja) データ送信方法、データ受信方法、及びストレージデバイス
JP4800056B2 (ja) ストレージシステム及びその制御方法
JP5124183B2 (ja) 非同期リモートコピーシステムの制御方法及び非同期リモートコピーシステム
US7587562B2 (en) Data duplication system, data duplication method and program
JP4311532B2 (ja) 記憶システム及び同システムにおけるスナップショット管理方法
US20070294495A1 (en) Storage control apparatus, storage control program, and storage control method
US7908446B2 (en) Copy system and method using differential bitmap
US7509467B2 (en) Storage controller and data management method
JP4681247B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
WO2009009979A1 (fr) Procédé et appareil de protection d'instantané
JP2006164162A (ja) コピー制御装置および方法
US7152147B2 (en) Storage control system and storage control method
JP4915365B2 (ja) データ格納方法及びその装置、複製データ格納方法及びその装置並びにそれらの制御プログラム
US7130931B2 (en) Method, system, and article of manufacture for selecting replication volumes
JP7050707B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム
JP5459589B2 (ja) データ複製システム及びデータ処理方法
JP5290938B2 (ja) コピー制御装置および方法
JP2010015253A (ja) 記録再生装置および記録再生方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051215

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090130

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees