JP4225206B2 - 記憶装置の複製データ格納システムと複製データ格納プログラム - Google Patents

記憶装置の複製データ格納システムと複製データ格納プログラム Download PDF

Info

Publication number
JP4225206B2
JP4225206B2 JP2004015016A JP2004015016A JP4225206B2 JP 4225206 B2 JP4225206 B2 JP 4225206B2 JP 2004015016 A JP2004015016 A JP 2004015016A JP 2004015016 A JP2004015016 A JP 2004015016A JP 4225206 B2 JP4225206 B2 JP 4225206B2
Authority
JP
Japan
Prior art keywords
data storage
storage area
data
volume
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.)
Expired - Fee Related
Application number
JP2004015016A
Other languages
English (en)
Other versions
JP2005208950A (ja
Inventor
修材 添田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004015016A priority Critical patent/JP4225206B2/ja
Priority to US11/038,258 priority patent/US7694087B2/en
Publication of JP2005208950A publication Critical patent/JP2005208950A/ja
Application granted granted Critical
Publication of JP4225206B2 publication Critical patent/JP4225206B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/0045Recording
    • G11B7/00456Recording strategies, e.g. pulse sequences
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/28Re-recording, i.e. transcribing information from one optical record carrier on to one or more similar or dissimilar record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

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

Description

本発明は、ディスクアレイ・サブシステム等の記憶装置におけるデータの格納に関し、特に、スナップショット技術を使用したときの複製データ記憶領域において、記憶容量の有効利用率を向上させ、且つディスク・アクセス性能を維持する複製データ格納システムと複製データ格納プログラムに関する。
ディスクアレイ・サブシステム等の記憶装置において複製データ記憶領域を構成するボリュームのバックアップを取る場合、ディスクアレイ・サブシステムの内部にバックアップ対象ボリュームを複製し、バックアップ・サーバは複製ボリュームとなる複製データ記憶領域から読み出したデータをテープ・ドライブなどのバックアップ・メディアへ保存する。
ボリュームの複製方法として、古くからバックアップ対象ボリュームの完全な複製を作製する方法が使われているが、この場合ボリュームを複製し終えるまでに、当然、バックアップ対象ボリュームの記憶容量に比例した時間を要することになる。
バックアップ対象ボリュームの利用効率を高める技術としては、複数のボリュームを使い回すことによってバックアップ対象ボリュームの容量に適した複製ボリュームを選択するようにしたものが特許文献1として開示されているが、このものは、ボリュームの複製時間自体を短縮できるものではなく、また、予め複製データ記憶領域として機能する複数の複製ボリュームをバックアップ用として予約しておく必要があり、必要とされる記憶容量が冗長となる欠点があった。
近年、バックアップ・ウィンドウ(バックアップ処理のためのシステム停止時間)の減少傾向がますます顕著になるにつれて、ボリュームの複製にスナップショットあるいはシャドウ・コピーと呼ばれる技術が使われるようになってきた。
ここでいうスナップショットとは、指定された時点におけるスナップショット対象ボリュームの状態を保持するための技術のことであり、例えば、図28(a)に示されるようなデータを記憶したスナップショット対象ボリュームのスナップショットを取ったとすれば、まず、このスナップショット対象ボリュームと同等の記憶容量を有するスナップショット複製ボリュームが図28(a)に示されるようにして記憶装置内に生成される。
そして、スナップショット対象ボリュームにおけるデータ“BB”の記憶領域にデータ“EE”を書き込むうとした段階で、更新前のデータ“BB”が図28(b)に示されるようにしてスナップショット複製ボリュームの同一アドレスに格納され、このスナップショット複製ボリュームが第1世代のスナップショットとして機能することになる。
ここで、改めてスナップショット対象ボリュームのスナップショットを取ったとすれば、このスナップショット対象ボリュームと同等の記憶容量を有するスナップショット複製ボリュームが図28(b)に示されるようにして新たに記憶装置内に生成され、このスナップショット複製ボリュームが第2世代のスナップショットとなる。
ここで更にスナップショット対象ボリュームにおけるデータ“CC”の記憶領域にデータ“FF”を書き込むうとすれば、第1世代のスナップショットとして機能するスナップショット複製ボリュームの内容を図28(b)あるいは図28(c)に示されるようにして保持したまま、更新前のデータ“CC”が図28(c)に示されるようにして、第2世代のスナップショットとして機能するスナップショット複製ボリュームの同一アドレスに格納されることになる。
ここでは図28(a)〜図28(c)を参照して直列方式のスナップショットについて簡単に説明したが、並列方式のスナップショットを適用した場合では、図28(c)のようにしてスナップショット対象ボリュームにおけるデータ“CC”の記憶領域にデータ“FF”を書き込むうとした際に、第2世代のスナップショットに加え第1世代のスナップショットにもデータ“CC”が格納される。
スナップショット技術を利用したボリューム複製方法では、ディスクアレイ・サブシステムがスナップショット・コマンドを受信した直後に、バックアップ対象ボリュームに対する更新データだけを保持するボリュームを定義するだけでよいので、見かけ上バックアップ対象ボリュームを瞬時に複製することができる。以下、スナップショット技術を使用したボリュームのバックアップにおいて、バックアップ対象となる元データを記憶するボリュームをスナップショット対象ボリューム、バックアップ対象ボリュームの更新データを保持する複製データ記憶領域となるボリュームをスナップショット複製ボリュームと呼ぶことにする。
なお、バックアップ処理におけるスナップショット技術の利用はほんの一例であり、このスナップショット技術は、ディスクアレイ・サブシステムの運用において、その他にも様々な場面で利用されている。
ここで、スナップショット技術を使用した従来のスナップショット複製ボリュームのデータ格納システムについて、その一例を図29〜図36を参照して具体的に説明する。
従来のディスクアレイ・サブシステム100は、ロジカル・ボリューム毎にそのロジカル・ボリュームがスナップショット対象ボリュームなのか、スナップショット複製ボリュームなのか、或いはそれ以外の何らかの属性なのかを判断する手段(ロジカル・ボリューム属性管理テーブル,図30の201)と、ホストがロジカル・ボリュームを指定して発行するリード・コマンドやライト・コマンドを内部的に別のロジカル・ボリュームにアドレス変換する手段(ロジカル・ボリューム変換テーブル,図30の202)と、スナップショット複製ボリュームが前記リード・コマンド或いはライト・コマンドで要求されたデータを保持しているかどうかを判断する手段(保持データ管理テーブル,図30の203)とを有する。
スナップショット複製ボリュームが保持するデータは、ディスクアレイ・サブシステム100に固有のサイズで管理されているので、ホストからのリード・コマンド或いはライト・コマンドは、IO監視手段(図34の400)によって前述した固有の管理単位に分割され、管理単位毎に処理されることになる。
このようなデータ格納システムを採用するディスクアレイ・サブシステム100において、ボリュームの複製を作り、そのボリュームに対してリード或いはライトするときの手順を図31,図32,図33に示す。
ボリュームを複製する手順として、先ず最初に、図31に示されるように、ステップ3a00でディスクアレイ・サブシステム内に、スナップショット対象ボリュームと、このスナップショット対象ボリュームと少なくとも同じ記憶容量のスナップショット複製ボリュームとを作製する。
このときの様子を図29に示す。この例では、ディスクアレイ・サブシステム100内に、ロジカル・ボリュームLV0とロジカル・ボリュームLV1の二つのロジカル・ボリュームを作製している。
次のステップ3a01で、ロジカル・ボリュームLV0をスナップショット対象ボリュームとし、ロジカル・ボリュームLV1をスナップショット複製ボリュームとするパラメータを持ったスナップショット・コマンドをディスクアレイ・サブシステムが受信すると、ステップ3a02でロジカル・ボリューム属性管理テーブル201と、ロジカル・ボリューム変換テーブル202と、保持データ管理テーブル203とが初期化される。
すなわち、ロジカル・ボリューム属性管理テーブル201においてロジカル・ボリュームLV0にスナップショット対象属性を、ロジカル・ボリュームLV1にスナップショット複製属性を設定し、ロジカル・ボリューム変換テーブル202においてロジカル・ボリュームLV0に対応する変換後のロジカル・ボリューム番号としてLV1を設定し、ロジカル・ボリュームLV1に対応する変換後のロジカル・ボリューム番号としてLV0を設定し、保持データ管理テーブル203のスナップショット複製ボリューム、つまりこの場合はロジカル・ボリュームLV1に、該スナップショット複製ボリュームがデータを保持していないことを示す値0を設定する。このときの各テーブルの状態を図30に示す。
次に、前述のボリューム複製手順で説明したスナップショット対象ボリュームLV0とスナップショット複製ボリュームLV1とを有するディスクアレイ・サブシステム100が、ライト・コマンドとリード・コマンドを受信したときの処理手順について説明する。
先ず、ライト・コマンド(図35の505)を受信したときの処理手順について説明する。
ディスクアレイ・サブシステム100のマイクロプロセッサ(以下、単にCPUと称する)は、図32に示されるステップ3b00でロジカル・ボリューム属性管理テーブル201を参照し、受信したコマンドがスナップショット対象ボリュームへのコマンドであるのか、それともスナップショット複製ボリュームへのコマンドであるのかを判断する。
ステップ3b01でスナップショット複製ボリュームへのライト・コマンドと判断した場合にはデータを書き込まずに処理を終了しているが、これはスナップショット複製ボリュームがスナップショット・コマンドを受信した時点でのスナップショット対象ボリュームの複製を維持するという運用に従った場合の処理、例えば、バックアップ等の場合の処理であり、その他の運用形態においては、ライト・コマンドの要求通りにスナップショット複製ボリュームへデータを書き込んでも良い。
一方、ステップ3b01でスナップショット対象ボリュームへのライト・コマンドと判断した場合は、CPUは、ステップ3b02でロジカル・ボリューム変換テーブル202を参照し、このスナップショット対象ボリュームと対になるスナップショット複製ボリュームを特定する。そして、特定したスナップショット複製ボリュームの書き込み要求アドレスにデータがあるかどうかをステップ3b03で保持データ管理テーブル203から判断し、スナップショット複製ボリュームLV1にデータがあると判断されたときは、ステップ3b07でスナップショット対象ボリュームLV0へデータを書き込み、処理を終了する。スナップショット対象ボリュームLV1にデータが無いと判断されたときは、ステップ3b05でスナップショット対象ボリュームLV0の書き込み要求アドレスにある既存データを、スナップショット複製ボリュームLV1の同一アドレスにコピーしてから、ステップ3b06で保持データ管理テーブル203の当該箇所にデータがあることを示す値1を設定し、ステップ3b07でスナップショット対象ボリュームLV0へデータを書き込み、処理を終了する。
次にリード・コマンド(図35の506)を受信したときの処理手順について説明する。CPUは、図33に示されるステップ3c00でロジカル・ボリューム属性管理テーブル201を参照し、受信したコマンドがスナップショット対象ボリュームLV0へのコマンドであるのか、それともスナップショット複製ボリュームLV1へのコマンドであるのかを判断する。
ステップ3c01でスナップショット対象ボリュームLV0へのコマンドと判断した場合、スナップショット対象ボリュームLV0からデータを読み出し、処理を終了する。
一方、ステップ3c01でスナップショット複製ボリュームLV1へのコマンドと判断した場合、ステップ3c02で保持データ管理テーブル203を参照し、スナップショット複製ボリュームLV1の読み出し要求アドレスにデータがあるかどうかをステップ3c03で判断する。
スナップショット複製ボリュームLV1にデータがあると判断されたときは、スナップショット複製ボリュームLV1からデータを読み出し、処理を終了する。スナップショット複製ボリュームLV1にデータが無いと判断されたときは、ステップ3c04でロジカル・ボリューム変換テーブル202を参照し、スナップショット複製ボリュームLV1と対となるのがスナップショット対象ボリュームLV0であることを認識する。そして特定したスナップショット対象ボリュームLV0からデータを読み出し、処理を終了する。
特開2001−318833号公報(段落番号0013〜0018)
上述した従来技術における第一の問題点は、記憶容量の利用効率が悪いということである。
その理由は、従来のディスクアレイ・サブシステムにおけるスナップショット複製ボリュームのデータ格納システムは、スナップショット・コマンドを受信した後に発生するスナップショット対象ボリュームに対する更新データのみがスナップショット複製ボリュームにコピーされるにも関わらず、スナップショット対象ボリュームと少なくとも同じ記憶容量のスナップショット複製ボリュームを作製しなければならないためである。
つまり、上述した従来技術では、スナップショット対象ボリュームからスナップショット複製ボリュームへのデータ・コピーは同一アドレスで行われなければならず、従って、スナップショット複製ボリュームは論理的にスナップショット対象ボリュームと同一の構成でなければならないという制限がある。
第二の問題点は、スナップショット複製ボリュームからのデータの読み出し効率が悪いということである。
その理由は、従来のディスクアレイ・サブシステムにおけるスナップショット複製ボリュームのデータ格納システムでは、スナップショット対象ボリュームからスナップショット複製ボリュームへのデータ・コピーが、論理的に同一の構成を有するボリューム間で同一のアドレスをパラメータとして対称的に行われるからである。
従って、スナップショット対象ボリュームからスナップショット複製ボリュームへのデータ・コピーが離散的なアドレスで発生した場合、当然、スナップショット複製ボリュームが保持するデータも離散したものとなり、物理ディスクからのプリフェッチの効果が全く期待できない。
そこで、本発明の目的は、ディスクアレイ・サブシステム等の記憶装置において、スナップショット・コマンドを受信した後のスナップショット対象ボリュームに対する更新データ量に比例した記憶容量を消費する複製ボリュームを作製することができる複製データ格納システム,複製データ格納プログラムを提供することにある。
本発明による記憶装置の複製データ格納システムは、記憶装置内に仮想的に構築された複製データ記憶領域に書き込むべきデータを格納する実データ格納領域と、前記実データ格納領域において次に使用する記憶領域を連続的な配列で決定するデータ格納先決定手段と、前記複製データ記憶領域のデータが前記実データ格納領域のどこに格納されているかを管理するデータ格納先管理手段と、前記実データ格納領域の使用状況を管理する保持データ管理手段と、前記実データ格納領域に連続する記憶領域を当該実データ格納領域の記憶領域として再定義することにより前記実データ格納領域を拡張して該実データ格納領域の記憶容量を増大させる実データ格納領域増長手段とを備えたことを特徴とする構成により前記目的を達成した。
以上の構成によれば、元データの更新に際して記憶装置内の複製データ記憶領域に書き込まれるべきデータは、全て、実データ格納領域に格納される。この実データ格納領域に必要とされる記憶容量は、実際に更新されるデータ量に相当する分量であり、元データを記憶するボリュームの記憶容量と同等の記憶容量を必要としていた従来の複製ボリュームに比べ、実質的な複製ボリュームとして機能する実データ格納領域の記憶容量を大幅に軽減することができる。
つまり、本発明における複製データ記憶領域は、記憶装置内に仮想的に構築されるに過ぎず、その実態は、複製データ記憶領域に書き込まれるべきデータが実データ格納領域のどこに格納されているかを管理するデータ格納先管理手段によって構成されており、このデータ格納先管理手段は一種のインデックステーブルであるから、データ格納先管理手段の構築に必要とされる記憶容量は極めて僅かである。
更に、実データ格納領域にデータが書き込まれる際には、次に使用する記憶領域をデータ格納先決定手段が連続的な配列で決定してデータを順次格納していくので、実データ格納領域に不用意な空き領域ができることはなく、実データ格納領域の記憶容量が節約され、プリフェッチによる複製ボリュームからのデータの読み出し効率も改善される。
また、保持データ管理手段によって実データ格納領域の使用状況を管理し、必要に応じて実データ格納領域増長手段で前記実データ格納領域に連続する記憶領域を当該実データ格納領域の記憶領域として再定義することにより実データ格納領域の記憶容量を拡張して増大させることができるので、実データ格納領域の初期容量を小さめに設定しても、データを確実に実データ格納領域に格納することができるようになる。
前記データ格納先管理手段は、複製データ記憶領域に、該複製データ記憶領域に書き込むべきデータの格納先となる実データ格納領域のアドレスをマッピングするためのテーブルを備え、該テーブルのエントリから、実データ格納領域へのアドレス変換情報を取得する構成とすることが望ましい
実データ格納領域と複製データ記憶領域との関係に物理的な制限はないが、実データ格納領域へのデータの格納に際しては、まず、複製データ記憶領域に対してホスト側からのアクセスが行われることになるので、この際に参照されるテーブルを複製データ記憶領域に備えることで、処理速度の向上を図れる可能性が高い。
このテーブルは実データを記憶するものではなく、アドレス変換情報のみを記憶するものであるから、前述の保持データ管理手段と同様、記憶容量の浪費等の問題が生じる心配がない。
本発明による複製データ格納プログラムは、記憶装置内に仮想的に構築された複製データ記憶領域のデータを記憶装置内の実データ格納領域に記憶させる複製データ格納プログラムであり、記憶装置内に配備されたマイクロプロセッサを、実データ格納領域において次に使用する記憶領域を連続的な配列で決定して前記データを実データ格納領域に記憶させるデータ格納先決定手段、前記複製データ記憶領域のデータが実データ格納領域のどこに格納されているかを管理するためのデータ格納先管理手段、前記実データ格納領域の使用状況を管理する保持データ管理手段、および、前記実データ格納領域に連続する記憶領域を当該実データ格納領域の記憶領域として再定義することにより前記実データ格納領域を拡張することによって該実データ格納領域の記憶容量を増大させる実データ格納領域増長手段として機能させることを特徴とする構成により前記と同様の目的を達成した。
記憶装置内に配備されたマイクロプロセッサがデータ格納先決定手段として機能し、記憶装置内に仮想的に構築された複製データ記憶領域のデータを記憶装置内の実データ格納領域に記憶させる際に、次に使用すべき記憶領域を連続的な配列で決定してデータを順次格納していく。
このため、実データ格納領域に不用意な空き領域ができることはなく、実データ格納領域の記憶容量が節約され、プリフェッチによる複製ボリュームからのデータの読み出し効率が改善される。実データ格納領域に必要とされる記憶容量は、実際に更新されるデータ量に相当する分量であり、元データを記憶するボリュームの記憶容量と同等の記憶容量を必要としていた従来の複製ボリュームに比べ、実質的な複製ボリュームとして機能する実データ格納領域の記憶容量を大幅に軽減することができる。
また、記憶装置内に配備されたマイクロプロセッサは、データ格納先管理手段としても機能し、複製データ記憶領域に書き込まれるべきデータが実データ格納領域のどこに格納されているかを管理する。管理の必要上、データ格納先管理手段の主要部を構成する一種のインデックステーブルが記憶装置内に生成されるが、このテーブルの構築に必要とされる記憶容量は極めて僅かであり、記憶容量の有効利用を阻害する要因とはならない。
実データ格納領域の使用状況を監視し、使用記憶容量が閾値を越えた段階で前記実データ格納領域に連続する記憶領域を当該実データ格納領域の記憶領域として再定義することにより実データ格納領域の記憶容量を拡張して増大させることができるので、実データ格納領域の初期容量を小さめに設定しても、データを確実に実データ格納領域に格納することができるようになる。
本発明は、元データを記憶するボリュームで更新されるデータのみをスナップショット複製ボリュームに代わる実データ格納領域に格納するようにしているので、元データを記憶するボリュームの記憶容量と同等の記憶容量を有する複製ボリュームを利用してデータを格納するようにしていた従来の複製データ格納システムや複製データ格納方法に比べ、実質的な複製ボリュームとして機能する実データ格納領域の記憶容量を大幅に軽減することができる。
更に、実データ格納領域にデータが書き込まれる際には、データ格納先決定手段が、次に使用する記憶領域を連続的な配列で決定してデータを順次格納していくので、実データ格納領域に不用意な空き領域ができることはなく、実データ格納領域の記憶容量が節約され、プリフェッチによる複製ボリュームからのデータの読み出し効率も改善される。
また、複製データ記憶領域に書き込まれるべきデータが実データ格納領域のどこに格納されているかは、データ格納先管理手段によって対応関係を明確に特定されるので、記憶装置内に複数の複製データ記憶領域や実データ格納領域が共存した場合であっても、データの格納や格納領域の特定に問題が生じることがなく、様々なボリューム構成を有するシステムに的確に対処することができる。
次に、本発明の複製データ格納システム,複製データ格納方法,複製データ格納プログラムを記憶装置としてのディスクアレイ・サブシステムに適用した場合の実施の形態について図面を参照して詳細に説明する。
図1はディスクアレイ・サブシステム700のハードウェア上の構成の概略について示した機能ブロック図である。
このディスクアレイ・サブシステム700は、上位装置としての管理端末1200やホストコンピュータ1300等に対して複数の磁気ディスク装置1100を割り当ててデータのバックアップ等を始めとする処理を行うためのもので、上位装置との間の接続に用いられるインターフェイス制御部1001と各磁気ディスク装置1100を接続するためのRAID制御部1002を備え、インターフェイス制御部1001とRAID制御部1002は、制御用メモリ1003に格納された制御プログラムに基いて作動するマイクロプロセッサ1004(以下、単にCPUと称する)によってデータの入出力を制御されるようになっている。
制御用メモリ1003に書き込む制御用プログラムを書き換えることでCPU1004を様々な機能実現手段として利用することが可能であり、ここでは、このCPU1004を、磁気ディスク装置1100に生成された実データ格納領域にデータを書き込む際に次に使用する記憶領域を決定するデータ格納先決定手段,実データ格納領域の記憶容量を拡張もしくは追加によって増大させる実データ格納領域増長手段,実データ格納領域の使用記憶容量がアラーム生成閾値を越えたときにアラームを生成するアラーム生成手段,実データ格納領域の使用可能な記憶単位を検出する未使用領域探索手段,実データ格納領域毎にデータを整列し直すデータ整列手段等として利用するよにしている。
また、インターフェイス制御部1001は、管理端末1200やホストコンピュータ1300から磁気ディスク装置1100に宛てられたリード・コマンドやライト・コマンドのIOサイズを取得するIO監視手段を備える。
図1では6台の磁気ディスク装置1100が接続されている例について示しているが、実際には其の各々が論理的に独立したボリューム、例えば、スナップショット対象ボリュームやスナップショット複製ボリュームあるいは実データ格納領域としての共有ロジカル・ボリューム等といったものを構成するわけではなく、複数の磁気ディスク装置1100に跨って見かけ上単一のボリュームを設けることも、また、1つの磁気ディスク装置1100にパーティションを設定して見かけ上複数のボリュームを1つの磁気ディスク装置1100内に設けることもできる。
ここでは、この種の見かけ上のボリュームのことをロジカル・ボリュームと呼ぶことにする。
図2は一実施例のディスクアレイ・サブシステム700を機能的な側面から簡略化して示した機能ブロック図である。
ディスクアレイ・サブシステム700は、図2に示されるように、概略において、元データを記憶したスナップショット対象ボリューム701,703と、複製データ記憶領域として機能するスナップショット複製ボリューム702,704と、スナップショット対象ボリューム701,703およびスナップショット複製ボリューム702,704の状態を管理する対応格納領域管理テーブル708と、複製データの実際の格納先である実データ格納領域として機能する共有ロジカル・ボリューム705と、ディスクアレイ・サブシステム700に対する入出力データを監視して各部を制御するIO監視手段707と、スナップショット複製ボリューム702,704から共有ロジカル・ボリューム705へのデータのマッピングを管理するアドレス変換手段706とから構成されている。
ただし、スナップショット対象ボリュームやスナップショット複製ボリュームおよび共有ロジカル・ボリュームの個数に関しては格別な制限はなく、ここでスナップショット対象ボリュームおよびスナップショット複製ボリュームの数を各2、共有ロジカル・ボリュームの数を1としているのは一例に過ぎない。
このうち、対応格納領域管理テーブル708の構造については実質的には図30に示される対応格納領域管理テーブル200と同様であり、ロジカル・ボリューム属性管理テーブル201と、ロジカル・ボリューム変換テーブル202と、保持データ管理テーブル203とを備える。この対応格納領域管理テーブル708は制御用メモリ1003に収められている。
また、インタフェース制御部1001のIO監視手段707は、図34に示される従来のIO監視手段400と同様、ホスト・コマンド採取手段401およびホスト・コマンド分割手段402と、対応格納領域管理テーブル708を初期化するための初期化手段403とを含む。
アドレス変換手段706は本実施例に固有のもので、図3に示されるように、複数のスナップショット複製ボリュームのデータ、例えば、スナップショット複製ボリューム702,704のデータがどの共有ロジカル・ボリュームのどのブロックに存在するかを示すテーブル801(以下、ディレクトリと称する)と、共有ロジカル・ボリューム保持データ管理テーブル802と、データ格納先決定手段803とを備える。
アドレス変換手段706とデータ格納先決定手段803はCPU1004によって実現される機能であり、ディレクトリ801と共有ロジカル・ボリューム保持データ管理テーブル802は制御用メモリ1003に収められている。
データ格納先決定手段803は、図4に示されるように、未使用領域探索手段901と、探索する未使用領域の大きさを記憶する記憶部902と、アラーム生成閾値を記憶する記憶部903と、アラーム生成手段904とを含む。
未使用領域探索手段901とアラーム生成手段904はCPU1004を機能実現手段として達成されるもので、記憶部902,903は制御用メモリ1003の一部の記憶領域を利用して構成されている。
次に、本実施例のディスクアレイ・サブシステム700に配備されたCPU1004が実施する処理の概略を示した図5〜図8のフローチャートを参照して、本実施例の全体の動作について詳細に説明する。
スナップショット動作を開始するにあたり、ディスクアレイ・サブシステム700のCPU1004は、事前準備として、スナップショット複製ボリュームが保持するデータの実際の格納先となる共有ロジカル・ボリュームを図5の処理に従って作製する。
具体的には、CPU1004は、先ず、ステップ10a00で共有ロジカル・ボリューム705を作製する。
共有ロジカル・ボリューム705の記憶容量は任意に決めて良いが、複製されるデータ量を予測して、当面必要となる記憶容量とすることが望ましい。
また、複製されたデータ量の増加により共有ロジカル・ボリューム705の未使用の領域が規定値を下回ったときには、実データ格納領域増長手段905として機能するCPU1004の自動処理によって共有ロジカル・ボリュームを拡張もしくは新たに生成することになるが、共有ロジカル・ボリュームの記憶容量の管理を容易にするために、追加する共有ロジカル・ボリュームの記憶容量をディスクアレイ・サブシステム700内で統一しておくことが望ましい。
ステップ10a00での処理で作製したばかりの共有ロジカル・ボリューム705の各ページにはデータが無いので、IO監視手段707の初期化手段403により、保持データ管理手段として機能する共有ロジカル・ボリューム保持データ管理テーブル802における当該共有ロジカル・ボリュームのボリューム番号の欄を有効データが無いことを示すように初期化する(ステップ10a01)。
次に、ディスクアレイ・サブシステム700のCPU1004は、図6の処理に従ってスナップショット動作の開始処理を行う。
CPU1004は、先ず、図6におけるステップ10b00でスナップショット対象ボリュームと少なくとも同じ記憶容量を持つスナップショット複製ボリュームを作製する。
スナップショット対象ボリュームは、この段階で作製しても良いし、既に存在するロジカル・ボリューム、例えば、ロジカル・ボリューム701,703等をスナップショット対象ボリュームとして指定しても良い。
ここで特徴的なことは、複製データ記憶領域として機能するスナップショット複製ボリュームは見かけ上スナップショット対象ボリュームと同じ記憶容量以上を持っているが、スナップショットのデータの格納先は全て共有ロジカル・ボリューム705となるので、実際にはスナップショット複製ボリュームが記憶容量を消費することはない。
つまり、スナップショット複製ボリュームはディスクアレイ・サブシステム700内に仮想的に構築されたボリュームに過ぎず、実質的な記憶容量を持たない。
次に、ステップ10b01でディスクアレイ・サブシステム700がホストからのコマンドを受信する。ここで、このコマンドがスナップショット・コマンドであるとIO監視手段707が判断した場合には、対応格納領域管理テーブル708と、データ格納先管理手段の一部であるディレクトリ801とが、IO監視手段707の初期化手段403によって初期化される。
そして、ステップ10b02で、ロジカル・ボリューム属性管理テーブル201の当該ロジカル・ボリュームのボリューム番号の欄に、スナップショット対象ボリューム或いはスナップショット複製ボリュームの属性を設定し、ロジカル・ボリューム変換テーブル202の当該ボリューム番号の欄に、それぞれペアとなる相手のロジカル・ボリュームのボリューム番号を設定し、保持データ管理テーブル203のスナップショット複製ボリュームの欄を、有効データが無いことを示すように初期化し、ディレクトリ801の当該スナップショット複製ボリュームの欄を、共有ロジカル・ボリュームのデータが割り当てられていないことを示すように初期化する。
保持データ管理テーブル203とディレクトリ801とは、データ形式は異なるものの、どちらもスナップショット複製ボリュームの有効データの位置を示しているという点では共通しているので、一つに統合することも可能である。
これ以降、スナップショット複製ボリュームは、スナップショット・コマンドを受信した時点におけるスナップショット対象ボリュームのボリューム・イメージ(いわゆるスナップショットあるいはシャドウ・コピー)を保持する。
次に、ライト・コマンド処理について説明する。ディスクアレイ・サブシステム700がライト・コマンドを受信し、ここで、IO監視手段707が、スナップショット設定されたボリュームに対するライト・コマンドであると判断すると、図7の処理に従ってライト処理が実行される。
具体的には、先ず、ディスクアレイ・サブシステム700のCPU1004が、ステップ10c00でロジカル・ボリューム属性管理テーブル201を参照し、スナップショット対象ボリュームへのコマンドであるか否かを判断する(ステップ10c01)。ここで、スナップショット対象ボリュームへのコマンドであると判断されると、ステップ10c02でロジカル・ボリューム変換テーブル202を参照し、当該スナップショット対象ボリュームとペアをなすスナップショット複製ボリュームが特定される。
スナップショット複製ボリュームへのコマンドであると判断したときの処理は、バックアップ用途等の通常の運用を考えたときにはスナップショット複製ボリュームへの書き込みは禁止されるので、ボリュームへの書き込みをせずに終了するが、スナップショット複製ボリュームへの書き込みが許可されている場合は、ステップ10c06以降の処理へ進む。
スナップショット複製ボリュームが保持するデータは、ディスクアレイ・サブシステム700に固有の記憶単位で管理されているので、この固有の管理単位毎に受信データを処理できるように、ステップ10c03でホスト・コマンド分割手段402により、前述のライト・コマンドを分割し、以後の処理を分割した数だけ繰り返し実行することになる。
ここではディスクアレイ・サブシステム700毎に固有の管理単位をページと呼ぶこととする。
対応格納領域管理テーブル708における保持データ管理テーブル203やアドレス変換手段706におけるディレクトリ801および共有ロジカル・ボリューム保持データ管理テーブル802は、このページ毎にデータの有無や共有ロジカル・ボリュームへの割り当て状態を管理している。
つまり、保持データ管理手段として機能する共有ロジカル・ボリューム保持データ管理テーブル802は、記憶単位となるページ毎にデータの有無を表現するテーブルである。
次いで、CPU1004は、ステップ10c04で保持データ管理テーブル203を参照し、スナップショット対象ボリューム上の今書き込もうとしているページ位置に対応するスナップショット複製ボリュームの位置にデータの保持を示す値が設定されているかどうかを判断する(ステップ10c05)。
スナップショット複製ボリュームにデータが保持されていると判断した場合、つまり、このページのバックアップが既に行われている場合には、スナップショット対象ボリュームにデータを書き込んで処理を終了する。
一方、スナップショット複製ボリュームがデータを保持していないと判断した場合には、未使用領域探索手段901が、共有ロジカル・ボリューム保持データ管理テーブル802を探索し、記憶部902に設定されている探索対象未使用領域の大きさと照らし合わせた上で、現時点でスナップショット対象ボリュームの書き込み対応位置に記憶されているデータの格納先を検索し、共有ロジカル・ボリューム705において次に使用する記憶領域を先頭アドレスの側から連続的な配列となるように選択し、この記憶領域に当該データを格納する(ステップ10c06)。
ここで、共有ロジカル・ボリューム保持データ管理テーブル802を階層構造とすることにより、探索効率をあげ、探索時間を短縮することも可能である。例えば、記憶単位となるページ毎のデータの有無の表現に加え、複数の記憶単位をまとめた記憶単位グループ毎にデータの有無の表現したり、更には、複数の記憶単位グループをまとめてデータの有無を表現したりするテーブルを設けることが可能である。
その後、CPU1004は、ステップ10c06で決定した共有ロジカル・ボリューム705上のデータ格納位置へ前述したスナップショット対象ボリュームの書き込み対応位置のページをコピーし、保持データ管理手段として機能する共有ロジカル・ボリューム保持データ管理テーブル802に当該ページが使用中であることを示す値を設定し、データ格納先管理手段の一部として機能するディレクトリ801の当該スナップショット複製ボリュームの当該ページに、データを格納した共有ロジカル・ボリュームのボリューム番号とページ番号を設定し、更に、保持データ管理テーブル203における当該スナップショット複製ボリュームの当該ページに、保持データがあることを示す値を設定する(ステップ10c07,ステップ10c08,ステップ10c09)。
本実施例においては、スナップショット複製ボリュームのある側の記憶領域に共有ロジカル・ボリューム番号とページ・アドレスとをマッピングする構成によってディレクトリ801を構築しているが、これとは逆に、共有ロジカル・ボリュームのある側の記憶領域にスナップショット複製ボリューム番号とページ・アドレスとをマッピングしてディレクトリ801を形成する構造であってもよい。
次いで、CPU1004は、今回の共有ロジカル・ボリュームの使用によって該共有ロジカル・ボリュームの未使用領域が記憶部903に設定されているアラーム生成閾値を下回ったかどうかを判定する。
そして、下回った場合には、アラーム生成手段904として機能するCPU1004が、共有ロジカル・ボリュームの拡張または生成を促すアラームを生成する(ステップ10c10,ステップ10c11)。
共有ロジカル・ボリュームの拡張または生成に関わる処理は、ホスト・コマンドからの指令により起動しても良いし、或いは、アラームの生成を検出した時点で、ディスクアレイ・サブシステム700の内部処理として自動的に起動しても良い。
この実施例では拡張または生成の何れか一方を選択して共有ロジカル・ボリュームの全体的な記憶領域を増大ざせることができるようになっており、拡張が選択された場合には、実データ格納領域増長手段905として機能するCPU1004が、対象となる共有ロジカル・ボリュームに連続する記憶領域を当該共有ロジカル・ボリュームの記憶領域として再定義し、また、生成が選択された場合には、実データ格納領域増長手段905として機能するCPU1004が、設定値以上の大きさを有するディスクの空き領域を検出し、この空き領域に新たに共有ロジカル・ボリュームとして機能する記憶領域を設定することになる。
このように、共有ロジカル・ボリューム保持データ管理テーブル802によって実データ格納領域となる共有ロジカル・ボリュームの使用状況を管理し、必要に応じて実データ格納領域増長手段905で共有ロジカル・ボリュームの実質的な記憶容量を増大させることができるので、共有ロジカル・ボリュームの初期容量を小さめに設定しても、データを確実に共有ロジカル・ボリュームに格納することができる。
そして、最後に、CPU1004は、スナップショット対象ボリュームへホストからの入力データを書き込んで処理を終了する(ステップ10c12)。
前述した通り、コマンドが分割されている場合では、上述の処理が繰り返し実行され、分割された最後のデータの書き込みが終了した時点で処理が終了することになる。
次に、リード・コマンド処理について説明する。
このリード・コマンド処理は、ディスクアレイ・サブシステム700がリード・コマンドを受信し、IO監視手段707が、スナップショット設定されたボリュームに対するリード・コマンドであると判断した場合に図8の処理に従って実行される。
CPU1004は、先ず、ステップ10d00で、ロジカル・ボリューム属性管理テーブル201を参照し、このリード・コマンドがスナップショット対象ボリュームへのコマンドであるかを判断する(ステップ10d01)。ここで、スナップショット対象ボリュームへのコマンドである場合には、スナップショット対象ボリュームからデータを読み出して処理を終了する(ステップ10d07)。
一方、スナップショット複製ボリュームへのコマンドであると判断した場合には(ステップ10d01)、ライト・コマンドのときと同様にコマンドをページ単位に分割し(ステップ10d02)、以後の処理を分割したコマンドの分だけ繰り返し実行する。
この場合、CPU1004は、先ず、ステップ10d03で保持データ管理テーブル203を参照し、スナップショット複製ボリューム上の今読み出そうとしているページ位置にデータを保持していることを示す値が設定されているかどうか判断する(ステップ10d04)。スナップショット複製ボリュームがデータを保持していると判断した場合は、ディレクトリ801の当該スナップショット複製ボリュームの当該ページに設定してある共有ロジカル・ボリュームのボリューム番号とページ番号からデータを読み出す(ステップ10d06,ステップ10d07)。
また、スナップショット複製ボリュームがデータを保持していないと判断した場合は、ロジカル・ボリューム変換テーブル202を参照し、当該スナップショット複製ボリュームに対応するスナップショット対象ボリュームを特定する(ステップ10d05)。そして、スナップショット対象ボリューム上の対応ページからデータを読み出す(ステップ10d07)。
以上に述べた通り、複製データ記憶領域として機能するスナップショット複製ボリュームは実体を持たず、実際には実データ格納領域となる共有ロジカル・ボリュームにすべてのスナップショット複製ボリュームのデータが格納されるように構成されているため、多数のボリュームを複製する場合においても、消費する記憶容量は、スナップショット対象ボリュームとスナップショット複製ボリュームとの差分、つまり、スナップショット・コマンドを受信した後のスナップショット対象ボリュームに対する更新データ量に相当する記憶容量だけで済む。
次に、具体例を用いて、実施例の動作を説明する。
ここでは、一例として、第一のスナップショット対象ボリューム701と、スナップショット対象ボリューム701と同じ記憶容量を持った第一のスナップショット複製ボリューム702と、第二のスナップショット対象ボリューム703と、スナップショット対象ボリューム703と同じ記憶容量を持った第二のスナップショット複製ボリューム704と、スナップショット複製ボリューム702,704のデータを実際に格納する共有ロジカル・ボリューム705とを有するディスクアレイ・サブシステム700において、スナップショット・コマンドを受信した直後の状態を、図9,図10,図11に示す。
先ず、CPU1004は、スナップショット動作を開始するにあたり、実データ格納領域となる共有ロジカル・ボリューム705を作製し、共有ロジカル・ボリューム保持データ管理テーブル(図11の802)において、共有ロジカル・ボリューム705に対応して割り当てられたボリューム番号LV0の欄をデータなしを示す値0にクリアする。
ただし、実施例の特徴を際だたせるために、ページ1はすでに使用中であるものと仮定し、1を設定しておく。
次いで、CPU1004はスナップショット動作を開始して、第一のスナップショット対象ボリューム701と同じ容量を持つ第一のスナップショット複製ボリューム702、第二のスナップショット対象ボリューム703と同じ容量を持つ第二のスナップショット複製ボリューム704を作製し、これらのロジカル・ボリュームの番号を各々LV0,LV1,LV2,LV3と規定する。
ここで、スナップショット複製ボリュームLV1をスナップショット対象ボリュームLV0のスナップショットとし、且つ、スナップショット複製ボリュームLV3をスナップショット対象ボリュームLV2のスナップショットとするスナップショット実行コマンドを受信すると、CPU1004は、ロジカル・ボリューム属性管理テーブル(図10の201)の各ボリューム番号の欄にそれぞれの属性を設定し、ロジカル・ボリューム変換テーブル(図10の202)の各ボリューム番号の欄にスナップショット動作のペアとなる相手側のボリューム番号を設定し、保持データ管理テーブル(図10の203)のボリューム番号LV1とボリューム番号LV3の欄を未使用を示す値0でクリアし、ディレクトリ(図11の801)のボリューム番号LV1とボリューム番号LV3の欄に、共有ロジカル・ボリュームが割り当てられていないことを意味するnullを設定する。以上がスナップショットの事前準備である。
次にスナップショット複製ボリュームへのデータの格納手順について説明する。
スナップショット複製ボリュームに対するライト・コマンドおよびリード・コマンドは、従来と同様にホスト・コマンド分割手段(図34の402)によってページと呼ぶ記憶単位に分割される。ページ・サイズは、数十から数百KB程度が望ましく、ここでは仮に32KBとする。
今、スナップショット対象ボリュームLV0に対するライト・コマンド(図12の1409)を受信したとすると、CPU1004は、ロジカル・ボリューム属性管理テーブル(図10の201)のボリューム番号LV0を参照することによって、第一のスナップショット対象ボリュームLV0へのライト・コマンドであることを認識する。
次に、アドレス変換手段706は、ロジカル・ボリューム変換テーブル(図10の202)を参照し、スナップショット対象ボリュームLV0のスナップショット複製ボリュームがスナップショット複製ボリュームLV1であることを認識し、該コマンドの宛先をスナップショット複製ボリュームLV1に変換する。
CPU1004は、次に、保持データ管理テーブル(図10の203)を参照し、スナップショット複製ボリュームLV1の当該ページに以前に書き込みが発生しているかどうかを判定し、既にデータが書き込まれている場合は、スナップショット対象ボリュームLV0のページ0に、ライト・コマンド(図12の1409)のデータのうち最初の32KBに相当する“AF”を書き込み、次のページ1に残りの32KBに相当する“BG”を書き込んで、2つに分割されたコマンドに対応する処理を終了する。
一方、スナップショット複製ボリュームLV1の当該ページにデータが書き込まれていない場合には、データ格納先決定手段(図11の803)によって決定されたデータ格納先に該コマンドの宛先を変換する。この場合、未使用領域探索手段(図4の901)は、探索する未使用領域の大きさ(図4の902)が示す連続する空き領域を共有ロジカル・ボリュームLV0から探すことになるが、最初に見つけた探索する未使用領域の大きさ(図4の902)以上の空き領域であっても良いし、その他のアルゴリズムによって決定される空き領域であっても良い。
この例では、スナップショット複製ボリュームLV1のページ0が共有ロジカル・ボリュームLV0の最初の空きページであるページ0に変換され、スナップショット複製ボリュームLV1のページ1が共有ロジカル・ボリュームLV0の次の空きページであるページ2に変換され、それぞれのページにスナップショット対象ボリュームLV0のページ0の値“AA”とスナップショット対象ボリュームLV0のページ1の値“BB”がコピーされる。
そして、ディレクトリ(図11の801)のボリューム番号LV1の欄におけるページ0に“共有ロジカル・ボリュームのボリューム番号LV0とページ0”が設定され、また、同ページ1には“共有ロジカル・ボリュームのボリューム番号LV0とページ2”が設定されると共に、共有ロジカル・ボリューム保持データ管理テーブル(図11の802)における共有ロジカル・ボリュームのボリューム番号LV0の欄において、ページ0とページ2の位置に、使用されていることを示す値として1が設定されることになる。
次に保持データ管理テーブル(図10の203)におけるボリューム番号LV1の欄において、同様にページ0とページ1に、データを保持していることを示す値1が設定される。
次いで、CPU1004は、未使用領域探索手段(図4の901)が共有ロジカル・ボリュームLV0のページ0とページ2にデータを書き込んだことによって、共有ロジカル・ボリュームLV0の空き領域がアラーム生成閾値を越えたかどうかを判断し、越えていると判断した場合には、アラーム生成手段(図4の904)が共有ロジカル・ボリュームの増設を促すアラームを生成する。
最後にスナップショット対象ボリュームLV0のページ0にデータ“AF”を書き込み、ページ1にデータ“BG”を書き込んで、2つに分割されたコマンドに対応する処理を終了する。
次に、スナップショット対象ボリュームLV2に対するライト・コマンド(図12の1410)を受信したとすると、前述したスナップショット対象ボリュームLV0へのライト・コマンドと同様の処理を経て、スナップショット対象ボリュームLV2のページ1のデータを共有ロジカル・ボリュームLV0の最初の空きページであるページ3にコピーした後、スナップショット対象ボリュームLV2のページ1にデータ“bk”を書き込む。
前記二つのライト・コマンド(図12の1409と図12の1410)を実行した後の状態を図12,図13,図14に示す。
このように、複数のスナップショット複製ボリュームLV1,LV3,・・・に格納すべきデータの全てを共有ロジカル・ボリュームLV0にて統一的に管理する。
次に、共有ロジカル・ボリュームに設定した記憶単位を管理するための記憶単位管理手段をアドレス変換手段706に併設した実施例について説明する。
この実施例のアドレス変換手段706は、図15に示されるように、ディレクトリ801と、共有ロジカル・ボリューム保持データ管理テーブル802と、データ格納先決定手段803と、記憶単位管理手段として機能する共有ロジカル・ボリューム・チャンク管理テーブル1703とを備える。共有ロジカル・ボリューム・チャンク管理テーブル1703は制御用メモリ1003に収められている。
また、IO監視手段707は、図16に示されるように、ホスト・コマンド採取手段401と、IOサイズ通知手段1802と、対応格納領域管理テーブルの初期化手段403と、ホスト・コマンド分割手段403とを含む。
そして、データ格納先決定手段803は、図17に示されるように、未使用領域探索手段901と、探索する未使用領域の大きさ決定手段1902と、アラーム生成手段904と、アラーム生成閾値を記憶する記憶部903と、IO監視手段707との通信手段1905と、対応格納領域管理テーブル708との通信手段1906とを含む。
共有ロジカル・ボリューム・チャンク管理テーブル1703やIOサイズ通知手段1802および通信手段1905,1906を備える点を除き、実質的な構成に関しては、前述した実施例1のディスクアレイ・サブシステム700の場合と同等である。
本実施例では、スナップショット複製ボリュームへの書き込みをディスクアレイ・サブシステム700に固有の記憶単位では行わず、ライト・コマンドで指定されるIOサイズに従って動的に決定される大きさで行うようになっており、この点が、前述の実施例1と相違する。ここでは、動的に決定される書き込みサイズをチャンクと呼ぶこととする。
また、共有ロジカル・ボリュームはセグメントと呼ぶ管理単位に分割し、セグメント毎に、該セグメントに格納できるチャンク・サイズを設定することによって、ひとつのセグメントに異なるチャンク・サイズの書き込みが行われないようにしている。
この場合、ホストからのライト・コマンドを受信すると、IO監視手段707が該コマンドのIOサイズをIOサイズ通知手段(図16の1802)を介してデータ格納先決定手段803に通知し、未使用領域の大きさ決定手段(図17の1902)が、通知されたIOサイズとディスクアレイ・サブシステム700に固有の記憶単位(ページサイズ)とからチャンク・サイズを決定し、更に、未使用領域探索手段(図17の901)が、該チャンク・サイズを元に共有ロジカル・ボリュームチャンク管理テーブル(図15の1703)を参照し、適合するセグメントを決定して共有ロジカル・ボリュームの空き領域を検索してデータを格納することになる。
また、適合するセグメントが見つからない場合は、チャンク・サイズが未設定となっているセグメントに対して、データ格納先管理手段として機能するCPU1004が、改めて前述のチャンク・サイズ(決定されたチャンク・サイズ)を設定し、このセグメントにデータを格納する。以後の処理は、前述した実施例1の場合と同様である。
この実施例では、共有ロジカル・ボリュームをセグメントという単位に分割し、セグメント毎にチャンク・サイズを設定し、ライト・コマンドのIOサイズと一致するセグメントにデータを書き込むように構成しているため、ひとつのコマンドで指定されたライト・データが複数のセグメントを跨ぐようにして共有ロジカル・ボリューム上に分散することはなく、不用意なデータの削除さえ行われなければ、アクセス性能の低下を確実に防止することができる。
次に、具体例を用いて、この実施例の動作を説明する。
スナップショットの事前準備に関しては前述した実施例1の場合と同様であるので、ここでは、スナップショット複製ボリュームへのデータの格納手順についてのみ説明する。
本実施例では、スナップショット複製ボリュームへの書き込みサイズを、ライト・コマンドのIOサイズに従って動的に決定することになるが、チャンク・サイズ管理を容易にするために、チャンク・サイズは、ディスクアレイ・サブシステム700に固有の管理単位(ページ)の整数倍とすることが望ましい。
今、第一のスナップショット対象ボリュームLV0に対するライト・コマンド(図18の2009)を受信したとすると、IO監視手段(図16の707)からデータ格納先決定手段(図17の803)にIOサイズが通知され、未使用領域の大きさ決定手段(図17の1902)により、データ“AF”,“BG”のチャンク・サイズは2ページ(64KB)であると決定される。
ただし、ロジカル・ボリューム属性管理テーブル(図10の201)のボリューム番号LV0を参照することによってスナップショット対象ボリュームLV0へのライト・コマンドであることが認識され、ロジカル・ボリューム変換テーブル(図10の202)を参照することによって該コマンドの宛先を第一のスナップショット複製ボリュームLV1に変換し、保持データ管理テーブル(図10の203)を参照することによってスナップショット複製ボリュームLV1の当該ページに以前に書き込みが発生していたかどうかを判定した際に、スナップショット複製ボリュームLV1のページ0に既にデータが書き込まれていた場合においては、チャンク・サイズを1ページ(32KB)に調整する。
次に、未使用領域探索手段(図17の901)が共有ロジカル・ボリュームチャンク管理テーブル(図19の1703)を参照することにより、該チャンク・サイズに適合するセグメントを決定あるいは選択する。セグメント・サイズは、管理テーブルの大きさや検索効率を考慮すると、数MBから数GB程度の大きさとすることが望ましい。
初期状態においては全てのセグメントにおいてチャンク・サイズが未設定であるので、データ格納先管理手段として機能するCPU1004が、共有ロジカル・ボリュームLV0の最初のセグメントであるセグメント0をチャンク・サイズが64KBのデータを書き込むセグメントとして設定する。以後の動作は、前述した実施例1の場合と同様である。
次に、第二のスナップショット対象ボリュームLV2に対するライト・コマンド(図18の2010)を受信したとすると、前述した第一のスナップショット対象ボリュームLV0へのライト・コマンドと同様の処理を経て、“bk”のチャンク・サイズが1ページと決定され、共有ロジカル・ボリュームチャンク管理テーブル(図19の1703)の未使用セグメント1を32KBに設定する。そして、第二のスナップショット対象ボリュームLV2のページ1のデータを共有ロジカル・ボリュームLV0のセグメント1にコピーした後、第二のスナップショット対象ボリュームLV2のページ1に前述のライト・コマンドで受け取ったデータを書き込む。前記二つのライト・コマンド(図18の2009と図18の2010)を実行した後の状態を図18,図19に示す。
このように、データ格納先管理手段として機能するCPU1004が、ホストが要求するIOサイズに応じて共有ロジカル・ボリュームをセグメントという単位に分割し、セグメント毎にチャンク・サイズを設定するので、ホストが要求するIOサイズを分割することなく、適合するセグメントにデータを格納することができる。
この場合、共有ロジカル・ボリューム保持データ管理テーブル802において、記憶単位となるページ毎のデータの有無の表現に加え、複数の記憶単位をまとめた記憶単位グループ毎、つまり、セグメント毎にデータの有無を表現することで、検索効率やアクセス速度等の一層の改善が図られる。例えば、セグメントの先頭に位置するページのアドレスをセグメントを代表するアドレスとして利用することが可能である。
次に、実データ格納領域毎にデータを整列し直すデータ整列手段を併設した実施例について説明する。
この実施例のアドレス変換手段706は、図20に示されるように、ディレクトリ801と、共有ロジカル・ボリューム保持データ管理テーブル802と、データ格納先決定手段803と、データ整列手段2204とを備える。
本実施例においては、スナップショット複製ボリュームへの書き込みをディスクアレイ・サブシステム700に固有の記憶単位では行わず、ライト・コマンドで指定されるIOサイズに従って動的に決定されるチャンク単位で行う。
ホストからのライト・コマンドを受信すると、IO監視手段707が該コマンドのIOサイズを、IOサイズ通知手段(図16の1802)を介してデータ格納先決定手段803に通知する。未使用領域の大きさ決定手段(図21の1902)は、通知されたIOサイズとディスクアレイ・サブシステム700に固有の記憶単位とからチャンク・サイズを決定し、未使用領域探索手段(図21の901)が、該チャンク・サイズを元に共有ロジカル・ボリューム保持データ管理テーブル(図20の802)を参照し、データを格納する共有ロジカル・ボリュームとページを決定する。
そして、スナップショット複製ボリュームに対するデータの書き込みと、スナップショット複製ボリュームの削除とを繰り返した結果、共有ロジカル・ボリュームの未使用領域が散在することになった場合には、データ整列手段(図20の2204)が、未使用領域が連続するページ・アドレスに配置されるように、共有ロジカル・ボリューム内でデータを整列し直す。以後の処理は、実施例1の場合と同様である。
この実施例では、コマンド毎に動的に決定されるチャンク単位で共有ロジカル・ボリュームにデータを格納するように構成されているため、ひとつのコマンドで指定されたライト・データが共有ロジカル・ボリューム上に分散することがなく、アクセス性能の低下を防止することができる。
さらに、スナップショット複製ボリュームの削除等によって共有ロジカル・ボリューム上に未使用領域が散在する状態となった場合には、未使用領域が連続ページ・アドレスに配置されるようにデータを整列し直すように構成されているため、チャンク・サイズ毎にセグメントを用意する必要が無く、共有ロジカル・ボリューム・チャンク管理テーブルを削減することが可能であり、また、記憶容量の利用効率を向上させることができる。
次に、具体例を用いて、実施例の動作を説明する。
スナップショットの事前準備に関しては前述した実施例1の場合と同様であるので、ここでは、スナップショット複製ボリュームへのデータの格納手順についてのみ説明する。
本実施例では、スナップショット複製ボリュームへの書き込みサイズを、ライト・コマンドのIOサイズに従って動的に決定することになるが、チャンク・サイズ管理を容易にするために、チャンク・サイズは、ディスクアレイ・サブシステム700に固有の管理単位の整数倍とすることが望ましい。
今、第一のスナップショット対象ボリュームLV0に対するライト・コマンド(図22の2409)を受信したとすると、IO監視手段(図21の707)からデータ格納先決定手段(図21の803)にIOサイズが通知され、未使用領域の大きさ決定手段(図21の1902)により、データ“AF”,“BG”のチャンク・サイズは2ページ(64KB)と決定される。
ただし、ロジカル・ボリューム属性管理テーブル(図10の201)のボリューム番号LV0を参照することによってスナップショット対象ボリュームLV0へのライト・コマンドであることが認識され、ロジカル・ボリューム変換テーブル(図10の202)を参照することによって該コマンドの宛先を第一のスナップショット複製ボリュームLV1に変換し、保持データ管理テーブル(図10の203)を参照することによってスナップショット複製ボリュームLV1の当該ページに以前に書き込みが発生していたかどうかを判定した際に、スナップショット複製ボリュームLV1のページ0に既にデータが書き込まれていた場合には、チャンク・サイズを1ページ(32KB)に調整する。
次に、未使用領域探索手段(図21の901)は、共有ロジカル・ボリュームを先頭から検索して最初に見つけたチャンク・サイズ以上の未使用ページ、或いは、チャンク・サイズにもっとも適合する未使用ページ、或いは、その他のアルゴリズムによって決定される未使用ページを、次に使用する共有ロジカル・ボリュームのページ・アドレスとして決定する。
以後の動作は、前述した実施例1の場合と同様であり、スナップショット対象ボリュームLV0のページ0とページ1のデータを共有ロジカル・ボリュームLV0において連続する64KB以上の空き領域を有するページ2とページ3にコピーした後、スナップショット対象ボリュームLV0のページ0にデータ“AF”を、ページ1にデータ“BG”を書き込む。
次に、第二のスナップショット対象ボリュームLV2に対するライト・コマンド(図22の2410)を受信したとすると、前述した第一のスナップショット対象ボリュームLV0へのライト・コマンドと同様の処理を経て、“bk”のチャンク・サイズが1ページ(32KB)と決定され、未使用領域探索手段(図21の901)によって共有ロジカル・ボリュームLV0から最初に検索された32KBの空き領域、つまり、共有ロジカル・ボリュームLV0のページ0へスナップショット対象ボリュームLV2のページ1のデータをコピーした後、スナップショット対象ボリュームLV2のページ1にデータ“bk”を書き込む。
次に、データ整列手順2204について説明する。スナップショット複製ボリュームの作製と、スナップショット複製ボリュームへの書き込みと、スナップショット複製ボリュームの削除とを繰り返し実行すると、スナップショット複製ボリュームへの書き込みサイズをライト・コマンドのIOサイズに従って動的に決定している関係上、共有ロジカル・ボリュームLV0の中に様々な大きさの未使用ページが散在することになり、場合によっては、未使用ページが大量にあるにも関わらず、それらすべてがチャンク・サイズに満たないために、スナップショット複製ボリュームに対する書き込みができないという事態が発生する可能性がある。
データ整列手段(図23の2204)は、共有ロジカル・ボリューム保持データ管理テーブル(図23の802)を定期的にサーチし、これらの未使用ページが共有ロジカル・ボリューム中に散在しないように、ページの再配置を行う。そして、ページを再配置した場合には、共有ロジカル・ボリューム保持データ管理テーブル(図23の802)の再配置前のページに0を設定し、再配置後のページに1を設定し、ディレクトリ(図23の801)の当該箇所を再配置後の共有ロジカル・ボリューム上のデータを示すページ・アドレスに書き換える。
ここで、データ整列手段2204の具体的な処理動作の一例を図24〜図27を参照して具体的に説明する。
図24はスナップショット対象ボリューム703のスナップショットであるスナップショット複製ボリューム704を削除する前後のディスクアレイ・サブシステムの状態を示した概念図である。
この実施例では、既に述べた通り、複製データ記憶領域として機能するスナップショット複製ボリューム704に格納すべきデータは最終的に実データ格納領域である共有ロジカル・ボリューム705に格納されるようになっているので、スナップショット複製ボリューム704を削除するということは、このボリューム704のデータを実際に格納している共有ロジカル・ボリューム705の対応データが削除されることを意味する。
この例では、図25のディレクトリ801に示されるように、ボリューム番号LV3を有するスナップショット複製ボリューム704のページ1に格納すべきデータは、ボリューム番号LV0を有する共有ロジカル・ボリューム705のページ1に格納されているので、スナップショット複製ボリューム704に対する削除指令が出された場合、CPU1004は、図25のディレクトリ801を参照し、共有ロジカル・ボリューム705のページ1のデータ“bb”を削除すると共に、図25の共有ロジカル・ボリューム保持データ管理テーブル802において、共有ロジカル・ボリューム705に相当するボリューム番号LV0のページ1の欄に未使用を示す値0を設定することになる。
このようして共有ロジカル・ボリューム705のページ1のデータ“bb”か削除されることにより、共有ロジカル・ボリューム705のページ1が未使用ページとなる。
ここでデータ整列手段2204を起動すると、スナップショット複製ボリューム704のページ2以降のデータが1ページ分ずつ先頭側のページにシフトして再配置され、例えば、図24において共有ロジカル・ボリューム705のページ2のデータである“BB”が図26に示されるようにして共有ロジカル・ボリューム705のページ1に再配置される。
また、この再配置処理の実行にあわせて、図27に示される共有ロジカル・ボリューム保持データ管理テーブル802において、共有ロジカル・ボリューム705に相当するボリューム番号LV0のページ1の欄に使用中を示す値1が改めて設定され、共有ロジカル・ボリューム705内で再配置されたデータに対応する格納先の設定も、図27のディレクトリ801に示されるようにして更新して書き換えられる。
この例では、図24に示される共有ロジカル・ボリューム705のページ2のデータ、つまり、図25に示されるディレクトリ801においてボリューム番号LV1に相当するスナップショット複製ボリューム702のページ1のデータが、共有ロジカル・ボリューム705内で1ページ分だけ先頭よりに移動しているので、図27のディレクトリ801において、スナップショット複製ボリューム702に相当するボリューム番号LV1のページ1のデータの格納先が図25の“ボリューム番号LV0,ページ2”から図27の“ボリューム番号LV0,ページ1”に書き換えられることになる。
なお、図27の共有ロジカル・ボリューム保持データ管理テーブル802において共有ロジカル・ボリューム705に相当するボリューム番号LV0のページ2の欄に未使用を示す値0が設定されるのは、図24に示されるように共有ロジカル・ボリューム705のページ3が初めから未使用であってボリューム番号LV0のページ2に配置すべきデータが存在しないからであり、共有ロジカル・ボリューム705のページ3以降に予めデータが格納されている場合では、当然、図27の共有ロジカル・ボリューム保持データ管理テーブル802におけるボリューム番号LV0のページ2の欄には使用中を示す値1が其のまま保持されることになる。
以上、データ整列手段2204によるデータの再配置処理について、最も簡単な例として、実データ格納領域である共有ロジカル・ボリューム705内の1ページ分のデータが削除された場合の動作について説明したが、共有ロジカル・ボリューム705から複数ページのデータが削除された場合であっても、共有ロジカル・ボリューム705のページを先頭からサーチし、空きページが検出される度に上記と全く同様の処理を繰り返し実行して空きページ以降のページをデータの有無に関わりなく全て1ページずつシフトする再配置処理を繰り返せば、共有ロジカル・ボリューム705内の全てのデータを再配置して先頭ページ側にデータを纏め、後方側のページを解放して連続する記憶領域を生成することが可能である。
また、実際には、データの再配置に必要とされる処理時間を考慮し、共有ロジカル・ボリューム705のページを先頭からサーチして未使用となっているページを一括して検出し、使用中の各ページ毎に当該ページよりも先頭側に位置する空きページの数を求め、先頭側のデータから順に対応する空きページ数の分だけデータをシフトすることができる。
この場合、例えば、ページ0,ページ1,ページ2,ページ3,ページ4,ページ5,・・・の各々が未使用,未使用,使用中,未使用,使用中,使用中,・・・となっていたとすると、使用中のページ2に対応する空きページ数が2,使用中のページ4に対応する空きページ数が3,使用中のページ5に対応する空きページ数が3,・・・となるから、まず、使用中のページ2のデータが2ページ分上位にシフトしてページ0に書き込まれ、その後、使用中のページ4のデータが3ページ分上位にシフトしてページ1に書き込まれ、更に、使用中のページ5のデータが3ページ分上位にシフトしてページ2に書き込まれるといった処理が行われることになる。
データ整列手段2204による整列処理は、ホストからのIO処理を妨げないように、バックグラウンドで実行するようにしてもよい。
バックグラウンドで整列処理を行う場合においては、未使用ページの散在を検出する処理を任意の設定スケジュールで実行し、未使用ページの散在(断片化)が設定限度を超えた段階で、自動的に整列処理を開始させるようにすることもできる。
本発明は、ディスクアレイ・サブシステムにおけるボリューム・レベルのバックアップ等の用途に利用できる。
ディスクアレイ・サブシステムの構成の概略について示した機能ブロック図である。(実施例1) 本発明を適用した一実施例のディスクアレイ・サブシステムの具体例を示す機能ブロック図である。(実施例1) 同実施例のアドレス変換手段を示す機能ブロック図である。(実施例1) 同実施例のデータ格納手段を示す機能ブロック図である。(実施例1) 同実施例の共有ロジカル・ボリューム作製処理を示すフローチャートである。(実施例1) 同実施例の事前準備動作を示すフローチャートである。(実施例1) 同実施例のライト・コマンド処理を示すフローチャートである。(実施例1) 同実施例のリード・コマンド処理を示すフローチャートである。(実施例1) 同実施例のスナップショット・コマンド受信直後のディスクアレイ・サブシステムの状態を示す概念図である。(実施例1) 同実施例のスナップショット・コマンド受信直後の対応格納領域管理テーブルを示す概念図である。(実施例1) 同実施例のスナップショット・コマンド受信直後のアドレス変換手段を示す概念図である。(実施例1) 同実施例のスナップショット複製ボリュームへの書き込み後のディスクアレイ・サブシステムの状態を示す概念図である。(実施例1) 同実施例のスナップショット複製ボリュームへの書き込み後の対応格納領域管理テーブルを示す概念図である。(実施例1) 同実施例のスナップショット複製ボリュームへの書き込み後のアドレス変換手段を示す概念図である。(実施例1) 本発明を適用した他の一実施例のアドレス変換手段を示す概念図である。(実施例2) 同実施例のIO監視手段を示す機能ブロック図である。(実施例2) 同実施例のデータ格納先決定手段を示す機能ブロック図である。(実施例2) 同実施例のスナップショット複製ボリュームへの書き込み後のディスクアレイ・サブシステムの状態を示す概念図である。(実施例2) 同実施例のスナップショット複製ボリュームへの書き込み後のアドレス変換手段の状態を示す概念図である。(実施例2) 本発明を適用した更に別の一実施例のアドレス変換手段を示す機能ブロック図である。(実施例3) 同実施例のデータ格納先決定手段を示す機能ブロック図である。(実施例3) 同実施例のスナップショット複製ボリュームへの書き込み後のディスクアレイ・サブシステムの状態を示す概念図である。(実施例3) 同実施例のスナップショット複製ボリュームへの書き込み後のアドレス変換手段の状態を示す概念図である。(実施例3) 共有ロジカル・ボリュームに未使用記憶領域が発生した際のディスクアレイ・サブシステムの状態を示す概念図である。(実施例3) 共有ロジカル・ボリュームに未使用記憶領域が発生した際のディレクトリの状態を示す概念図である。(実施例3) 共有ロジカル・ボリューム発生した未使用記憶領域を埋めるように共有ロジカル・ボリュームのデータを再配置した際のディスクアレイ・サブシステムの状態を示す概念図である。(実施例3) 共有ロジカル・ボリューム発生した未使用記憶領域を埋めるように共有ロジカル・ボリュームのデータを再配置した際のディレクトリの状態を示す概念図である。(実施例3) スナップショットの作用原理について示した概念図である。 従来のスナップショット動作の具体例を示す図である(スナップショット複製ボリュームへの書き込み発生前の状態)。 従来例におけるスナップショット・コマンド受信直後の対応格納領域管理テーブルの状態を示す概念図である。 従来のスナップショット動作の事前準備動作を示すフローチャートである。 従来のスナップショット動作のライト・コマンド処理を示すフローチャートである。 従来のスナップショット動作のリード・コマンド処理を示すフローチャートである。 IO監視手段の構成の概略を示した機能ブロック図である。 従来のスナップショット動作の具体例を示す概念図である(スナップショット複製ボリュームへの書き込み発生後の状態)。 従来例におけるスナップショット複製ボリュームへの書き込み発生後の対応格納領域管理テーブルを示す概念図である。
符号の説明
100 ディスクアレイ・サブシステム(従来例)
200 対応格納領域管理テーブル
201 ロジカル・ボリューム属性管理テーブル
202 ロジカル・ボリューム変換テーブル
203 保持データ管理テーブル
400 IO監視手段
401 ホスト・コマンド採取手段
402 ホスト・コマンド分割手段
403 対応格納領域管理テーブルを初期化するための初期化手段
700 ディスクアレイ・サブシステム
701 スナップショット対象ボリューム
702 スナップショット複製ボリューム
703 スナップショット対象ボリューム
704 スナップショット複製ボリューム
705 共有ロジカル・ボリューム(実データ格納領域)
706 アドレス変換手段
707 IO監視手段
708 対応格納領域管理テーブル
801 ディレクトリ(データ格納先管理手段の一部)
802 共有ロジカル・ボリューム保持データ管理テーブル(保持データ管理手段)
803 データ格納先決定手段
901 未使用領域探索手段
902 未使用領域の大きさを記憶する記憶部
903 アラーム生成閾値を記憶する記憶部
904 アラーム生成手段
905 実データ格納領域増長手段
1001 インターフェイス制御部
1002 RAID制御部
1003 制御用メモリ
1004 マイクロプロセッサ
1100 磁気ディスク装置
1200 管理端末
1300 ホストコンピュータ
1703 共有ロジカル・ボリューム・チャンク管理テーブル(記憶単位管理手段)
1802 IOサイズ通知手段
1902 未使用領域の大きさ決定手段
1905 IO監視手段との通信手段
1906 対応格納領域管理テーブルとの通信手段
2204 データ整列手段

Claims (4)

  1. 元データの更新に伴って前記元データを複製データ記憶領域に格納する記憶装置の複製データ格納システムであって、
    記憶装置内に仮想的に構築された複製データ記憶領域に書き込むべきデータを格納する実データ格納領域と、前記実データ格納領域において次に使用する記憶領域を連続的な配列で決定するデータ格納先決定手段と、前記複製データ記憶領域のデータが前記実データ格納領域のどこに格納されているかを管理するデータ格納先管理手段と、前記実データ格納領域の使用状況を管理する保持データ管理手段と、前記実データ格納領域に連続する記憶領域を当該実データ格納領域の記憶領域として再定義することにより前記実データ格納領域を拡張して該実データ格納領域の記憶容量を増大させる実データ格納領域増長手段とを備えたことを特徴とする記憶装置の複製データ格納システム。
  2. 前記データ格納先管理手段は、複製データ記憶領域に、該複製データ記憶領域に書き込むべきデータの格納先となる実データ格納領域のアドレスをマッピングするためのテーブルを備え、該テーブルのエントリから、実データ格納領域へのアドレス変換情報を取得することを特徴とする請求項1記載の記憶装置における複製データ記憶領域のデータ格納システム。
  3. 記憶装置内に仮想的に構築された複製データ記憶領域のデータを記憶装置内の実データ格納領域に記憶させる複製データ格納プログラムであって、前記記憶装置内に配備されたマイクロプロセッサを、前記実データ格納領域において次に使用する記憶領域を連続的な配列で決定して前記データを前記実データ格納領域に記憶させるデータ格納先決定手段、前記複製データ記憶領域のデータが前記実データ格納領域のどこに格納されているかを管理するためのデータ格納先管理手段、前記実データ格納領域の使用状況を管理する保持データ管理手段、および、前記実データ格納領域に連続する記憶領域を当該実データ格納領域の記憶領域として再定義することにより前記実データ格納領域を拡張することによって該実データ格納領域の記憶容量を増大させる実データ格納領域増長手段として機能させるための複製データ格納プログラム。
  4. 記憶装置内に仮想的に構築された複製データ記憶領域のデータを記憶装置内の実データ格納領域に記憶させる複製データ格納プログラムであって、前記記憶装置内に配備されたマイクロプロセッサを、前記実データ格納領域において次に使用する記憶領域を連続的な配列で決定して前記データを前記実データ格納領域に記憶させるデータ格納先決定手段、前記複製データ記憶領域に書き込むべきデータの格納先となる実データ格納領域のアドレスを複製データ記憶領域のテーブルにマッピングすることによって前記複製データ記憶領域のデータが前記実データ格納領域のどこに格納されているのかを管理するデータ格納先管理手段、前記実データ格納領域の使用状況を管理する保持データ管理手段、および、前記実データ格納領域に連続する記憶領域を当該実データ格納領域の記憶領域として再定義することにより前記実データ格納領域を拡張することによって該実データ格納領域の記憶容量を増大させる実データ格納領域増長手段として機能させるための複製データ格納プログラム。
JP2004015016A 2004-01-23 2004-01-23 記憶装置の複製データ格納システムと複製データ格納プログラム Expired - Fee Related JP4225206B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004015016A JP4225206B2 (ja) 2004-01-23 2004-01-23 記憶装置の複製データ格納システムと複製データ格納プログラム
US11/038,258 US7694087B2 (en) 2004-01-23 2005-01-21 Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004015016A JP4225206B2 (ja) 2004-01-23 2004-01-23 記憶装置の複製データ格納システムと複製データ格納プログラム

Publications (2)

Publication Number Publication Date
JP2005208950A JP2005208950A (ja) 2005-08-04
JP4225206B2 true JP4225206B2 (ja) 2009-02-18

Family

ID=34792420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004015016A Expired - Fee Related JP4225206B2 (ja) 2004-01-23 2004-01-23 記憶装置の複製データ格納システムと複製データ格納プログラム

Country Status (2)

Country Link
US (1) US7694087B2 (ja)
JP (1) JP4225206B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110136639A (ko) * 2010-06-15 2011-12-21 삼성전자주식회사 스냅샷 이미지의 동기화 장치 및 방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172365A (ja) * 2005-12-22 2007-07-05 Nec Corp データ複製システム、複製データ処理プログラムおよび複製データ処理方法
JP4903461B2 (ja) * 2006-03-15 2012-03-28 株式会社日立製作所 記憶システム及びデータ移行方法並びにサーバ装置
US7461223B2 (en) * 2006-05-29 2008-12-02 Microsoft Corporation Retaining shadow copy data during replication
JP4849960B2 (ja) * 2006-05-31 2012-01-11 株式会社日立製作所 レプリケーションボリュームの容量拡張方法
JP2008009485A (ja) 2006-06-27 2008-01-17 Fujitsu Ltd 仮想ストレージ制御装置及び仮想ストレージ制御プログラム
JP5141402B2 (ja) * 2008-06-26 2013-02-13 富士通株式会社 ストレージシステム,コピー制御方法およびコピー制御装置
JP4819113B2 (ja) * 2008-12-03 2011-11-24 富士通株式会社 バックアップ装置、バックアップ方法およびバックアッププログラム
JP5445504B2 (ja) * 2011-03-31 2014-03-19 日本電気株式会社 データ複製装置、データ複製制御方法、及びデータ複製制御プログラム
US8762671B2 (en) 2011-06-28 2014-06-24 Hitachi, Ltd. Storage apparatus and its control method
US8712963B1 (en) * 2011-12-22 2014-04-29 Emc Corporation Method and apparatus for content-aware resizing of data chunks for replication
US8639669B1 (en) * 2011-12-22 2014-01-28 Emc Corporation Method and apparatus for determining optimal chunk sizes of a deduplicated storage system
JP5561303B2 (ja) 2012-03-30 2014-07-30 日本電気株式会社 データ複製システム、データ複製方法、及びそのプログラム
US9152338B2 (en) 2013-02-21 2015-10-06 International Business Machines Corporation Snapshot management in hierarchical storage infrastructure
CN104077405B (zh) * 2014-07-08 2018-06-08 国家电网公司 时序类型数据存取方法
KR101826176B1 (ko) * 2017-06-20 2018-02-14 주식회사 비츠코리아 스냅샷 방식의 이미지 테이블을 이용한 백업데이터 제어방법
US10331374B2 (en) * 2017-06-30 2019-06-25 Oracle International Corporation High-performance writable snapshots in data storage systems
US10921986B2 (en) 2019-05-14 2021-02-16 Oracle International Corporation Efficient space management for high performance writable snapshots
US11803568B1 (en) * 2020-03-25 2023-10-31 Amazon Technologies, Inc. Replicating changes from a database to a destination and modifying replication capacity
JP2021157462A (ja) 2020-03-26 2021-10-07 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
US12066981B1 (en) * 2023-04-20 2024-08-20 Honeywell International Inc. Apparatus, method, and computer program product for automatic record de-duplication using zero-byte file

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0370047A (ja) 1989-08-08 1991-03-26 Nec Corp 電子計算機システムのカタログ情報を用いたフアイル管理方式
US5930828A (en) * 1997-03-26 1999-07-27 Executive Software International Real-time apparatus and method for minimizing disk fragmentation in a computer system
JP2000020367A (ja) 1998-06-30 2000-01-21 Toshiba Corp 情報記憶方法および情報記憶装置および記録媒体
JP2001051882A (ja) 1999-08-04 2001-02-23 Fujitsu Ltd スナップショット参照方法、及び記憶装置
JP2001265626A (ja) 2000-03-15 2001-09-28 Sony Corp ファイル管理方法、データ処理装置並びに記憶媒体
JP2001318833A (ja) 2000-05-09 2001-11-16 Hitachi Ltd ボリューム複製機能を有する記憶装置サブシステム、および、それを用いたコンピュータシステム
JP2002108673A (ja) 2000-09-29 2002-04-12 Toshiba Corp 共有ファイルシステム及び同システムに適用されるメタデータサーバコンピュータ
US6584551B1 (en) * 2000-11-27 2003-06-24 Lsi Logic Corporation System and method for automatic dynamic expansion of a snapshot repository
JP3967080B2 (ja) 2001-01-30 2007-08-29 富士通株式会社 仮想ディスク制御システムおよび仮想ディスク制御プログラム
JP2003202964A (ja) * 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
US7085785B2 (en) * 2002-02-15 2006-08-01 International Business Machines Corporation Writable file system snapshot with ditto address feature

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110136639A (ko) * 2010-06-15 2011-12-21 삼성전자주식회사 스냅샷 이미지의 동기화 장치 및 방법
US8589647B2 (en) 2010-06-15 2013-11-19 Samsung Electronics Co., Ltd. Apparatus and method for synchronizing a snapshot image

Also Published As

Publication number Publication date
US7694087B2 (en) 2010-04-06
JP2005208950A (ja) 2005-08-04
US20050163014A1 (en) 2005-07-28

Similar Documents

Publication Publication Date Title
JP4225206B2 (ja) 記憶装置の複製データ格納システムと複製データ格納プログラム
KR100439675B1 (ko) 대용량 공유 저장장치를 위한 효율적인 스냅샷 수행방법
US7716183B2 (en) Snapshot preserved data cloning
US7975115B2 (en) Method and apparatus for separating snapshot preserved and write data
US7120767B2 (en) Snapshot creating method and apparatus
US8271444B2 (en) Storage control device to backup data stored in virtual volume
JP4550541B2 (ja) ストレージシステム
US7054960B1 (en) System and method for identifying block-level write operations to be transferred to a secondary site during replication
US8204858B2 (en) Snapshot reset method and apparatus
US20060047926A1 (en) Managing multiple snapshot copies of data
US7933938B2 (en) File storage system, file storing method and file searching method therein
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
US8533420B2 (en) Thin provisioned space allocation
JP4419884B2 (ja) データ複製装置、方法及びプログラム並びに記憶システム
KR100317691B1 (ko) 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
JP2007133471A (ja) ストレージ装置及びスナップショットのリストア方法
CN103761053A (zh) 一种数据处理方法和装置
US6629203B1 (en) Alternating shadow directories in pairs of storage spaces for data storage
CN106528338B (zh) 一种远程数据复制方法、存储设备及存储系统
WO2012035576A1 (en) Storage system storing electronic modules applied to electronic objects common to several computers, and storage control method for the same
US20070113041A1 (en) Data processing system, storage apparatus and management console
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP2007172365A (ja) データ複製システム、複製データ処理プログラムおよび複製データ処理方法
JP2004185644A (ja) 記憶装置システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080929

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

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

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4225206

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131205

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees