JP2007066154A - データをコピーして複数の記憶装置に格納するストレージシステム - Google Patents

データをコピーして複数の記憶装置に格納するストレージシステム Download PDF

Info

Publication number
JP2007066154A
JP2007066154A JP2005253352A JP2005253352A JP2007066154A JP 2007066154 A JP2007066154 A JP 2007066154A JP 2005253352 A JP2005253352 A JP 2005253352A JP 2005253352 A JP2005253352 A JP 2005253352A JP 2007066154 A JP2007066154 A JP 2007066154A
Authority
JP
Japan
Prior art keywords
copy
generation
storage device
request
primary
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.)
Pending
Application number
JP2005253352A
Other languages
English (en)
Inventor
Takashi Arakawa
敬史 荒川
Kenta Futase
健太 二瀬
Akira Deguchi
彰 出口
Hisao Honma
久雄 本間
Katsuhiro Okumoto
勝博 奥元
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 JP2005253352A priority Critical patent/JP2007066154A/ja
Priority to US11/251,212 priority patent/US7594086B2/en
Publication of JP2007066154A publication Critical patent/JP2007066154A/ja
Pending legal-status Critical Current

Links

Images

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator

Landscapes

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

Abstract

【課題】 コピー先の記憶領域の設定に要するユーザの労力を軽減することが可能な技術を提供する。
【解決手段】 正記憶領域を有する正記憶装置と、第1副記憶領域を有する第1副記憶装置と、第2副記憶領域を有する第2副記憶装置と、を備えるストレージシステムを用いる。ここで、正記憶装置は、ホストコンピュータからのホスト要求に応じて、要求されたデータを正記憶領域に書き込む。また、正記憶装置は、ホストデータのコピーであるコピーデータをそれぞれ含む第1及び第2コピー要求を第1及び第2副記憶装置にそれぞれ送信して第1及び第2副記憶領域にコピーデータを格納させる。ここで、第2副記憶領域は、第2副記憶領域を正記憶装置内の仮想的な記憶領域として特定するために使用される仮想識別子を用いて特定される。
【選択図】 図5

Description

本発明は、データをコピーして複数の記憶装置に格納するストレージシステムに関するものである。
複数の記憶装置を有するストレージシステムと、ホストコンピュータと、を備えるデータ処理システムにおいて、リモートコピーを行う技術が知られている(例えば、特許文献1参照)。リモートコピー技術とは、ストレージシステム内の1つの記憶装置に含まれる記憶領域に格納されたデータを、他の記憶装置に含まれる記憶領域にコピーする技術である。このリモートコピー技術を用いれば、1つの記憶装置に不具合が発生した場合にも、他の記憶装置に格納されたデータを使用することにより、データ処理システムにおける業務の続行が可能である。
特開2005−78453号公報 特開2004−5370号公報 特開2000−242437号公報
ところで、コピー先の記憶領域の設定は、その記憶領域を有する記憶装置と、その記憶領域と、のそれぞれを設定することによって行われる。ところが、これらの設定を行うためには、ユーザの多大な労力を要する場合が多かった。また、コピーデータを格納する複数の記憶装置を利用する場合の利便性の向上については十分に検討されていなかった。
本発明の第1の目的は、コピー先の記憶領域の設定に要するユーザの労力を軽減することが可能な技術を提供することである。また、第2の目的は、コピーデータを格納する複数の記憶装置を利用する場合の利便性を向上させることが可能な技術を提供することである。
上記課題の少なくとも一部を解決するために、本発明のストレージシステムは、ホストコンピュータにデータの記憶領域を提供するストレージシステムであって、前記ホストコンピュータに接続されるとともに、前記ホストコンピュータに提供するための正記憶領域を有する正記憶装置と、前記正記憶装置に接続されるとともに、第1副記憶領域を有する第1副記憶装置と、前記正記憶装置に接続されるとともに、第2副記憶領域を有する第2副記憶装置と、を備え、前記正記憶装置は、前記第2副記憶領域と、前記第2副記憶領域を前記正記憶装置内の仮想的な記憶領域として特定するために使用する仮想識別子と、の対応関係を設定する仮想化部と、前記ホストコンピュータから、データ書き込み要求であるホスト要求を受信して、要求されたデータであるホストデータを前記正記憶領域に書き込む正書き込み処理を実行する正書き込み部と、前記ホストデータのコピーであるコピーデータをそれぞれ含む第1及び第2コピー要求を前記第1及び第2副記憶装置にそれぞれ送信して前記第1及び第2副記憶領域に前記コピーデータを格納させるためのコピー制御部と、を備え、前記コピー制御部は、前記第2コピー要求の完了通知を前記第2副記憶装置から受信するか否かに拘わらず、前記第1コピー要求の完了通知を前記第1副記憶装置から受信したことに応じて前記ホスト要求の完了通知を前記ホストコンピュータに送信し、前記コピー制御部は、前記仮想識別子を用いて前記第2副記憶領域を特定する。
このストレージシステムによれば、第1副記憶装置にコピーデータが格納されるとともに、正記憶装置は、第1コピー要求の完了通知を第1副記憶装置から受信したことに応じてホスト要求の完了通知をホストコンピュータに送信するので、データの冗長性を高めることができる。また、第2副記憶装置にコピーデータが格納されるとともに、正記憶装置は、第2コピー要求の完了通知を第2副記憶装置から受信するか否かに拘わらず、ホスト要求の完了通知をホストコンピュータに送信するので、正記憶装置から第2副記憶装置までの距離に拘わらずに、ホストコンピュータに対する応答時間が過剰に長くなることを抑制できる。さらに、コピー制御部は、第2副記憶領域を正記憶装置内の仮想的な記憶領域として特定するために使用する仮想識別子を用いて第2副記憶領域を特定する。従って、一旦、第2副記憶領域に仮想識別子が割り当てられれば、その後は、仮想識別子を用いることによって第2副記憶領域を内部の領域として特定できるので、コピー先の記憶領域の設定に要するユーザの労力を軽減することが可能となる。
上記ストレージシステムにおいて、前記コピー制御部は、前記第1及び第2コピー要求を作成し、この際、前記仮想識別子を用いて前記第2副記憶領域を特定して前記第2コピー要求を作成するコピー指示部と、前記第1及び第2コピー要求を前記第1及び第2副記憶装置にそれぞれ送信するアクセス制御部と、を含み、前記コピー指示部は、前記仮想化部で設定された対応関係を参照することによって前記第2コピー要求内の前記仮想識別子を前記第2副記憶領域の現実の識別子に置換するとともに、前記置換後の前記第2コピー要求を前記第2副記憶装置に送信することが好ましい。
この構成によれば、コピー指示部は、仮想識別子を用いることによって第2副記憶領域を内部の領域として特定できるので、コピー先の記憶領域の設定に要するユーザの労力を適切に軽減することが可能となる。
上記各ストレージシステムにおいて、前記第1副記憶装置と前記第2副記憶装置とは互いに接続され、前記正記憶装置は、さらに、前記ホスト要求に、前記正書き込み処理が実行される時期を表す世代を割り当てるとともに、所定の条件に応じて前記世代を更新する世代設定部と、前記第1コピー要求の元となる前記ホスト要求の世代を表す第1世代情報を前記第1副記憶装置に送信する世代情報送信部と、を備え、前記第1副記憶装置は、さらに、前記第1世代情報を用いて、前記第1コピー要求に応じた書き込みの履歴を表す第1履歴情報を、前記第1コピー要求の元となる前記ホスト要求の世代毎に作成する第1履歴作成部と、前記第1副記憶装置内の記憶領域と前記第2副記憶装置内の記憶領域との間でデータをコピーすることによって、前記コピーの対象である各記憶領域に格納されているデータを一致させる副コピー処理を実行する副コピー部を備え、前記コピー制御部は、前記世代設定部が前記世代を更新したことに応じて、新たな世代に属する前記ホスト要求に対応する前記第2コピー要求の送信を保留するとともに、前記新たな世代の1つ前の世代である旧世代に属する全ての前記ホスト要求に対応する前記第2コピー要求を前記第2副記憶装置へ送信し、前記副コピー部は、前記副コピー処理の動作モードとして、前記新たな世代の履歴を表す最新第1履歴情報のみを用いることによって前記第1副記憶領域と前記第2副記憶領域との間でデータが異なる部分を特定し、前記異なる部分のデータである差分データのみをコピーすることによって、前記第1副記憶領域と前記第2副記憶領域とのそれぞれに格納されているデータを一致させる第1副コピーモードを有することとしてもよい。
この構成によれば、第1副コピーモードでは、最新第1履歴情報のみを用いることによって特定される差分データのみをコピーすることによって、前記第1副記憶装置と前記第2副記憶装置とのそれぞれの記憶領域に格納されているデータが一致するので、コピーデータを格納する複数の記憶装置を利用する場合の利便性を向上させることが可能となる。
上記ストレージシステムにおいて、前記第2副記憶装置は、さらに、
バックアップ記憶領域と、前記第2副記憶領域に格納されたデータを前記バックアップ記憶領域にコピーすることによって、前記第2副記憶領域を前記バックアップ記憶領域にバックアップするバックアップコピー部と、を備え、前記バックアップコピー部は、前記旧世代に対応する全ての前記第2コピー要求の完了通知の発行後に前記バックアップを実行するとともに、前記バックアップの完了通知を外部に送信し、前記コピー制御部は、前記バックアップの完了通知の発行後に、前記新たな世代に対応する前記第2コピー要求の送信を開始し、前記副コピー部は、前記副コピー処理の動作モードとして、前記最新第1履歴情報と、前記最新第1履歴情報よりも1つだけ古い世代の履歴を表す旧第1履歴情報と、の内の少なくとも前記最新第1履歴情報を含む履歴情報を用いることによって、前記第1副記憶領域と前記バックアップ記憶領域との間でデータが異なる部分を特定し、前記異なる部分のデータである差分データのみをコピーすることによって、前記第1副記憶領域と前記バックアップ記憶領域とのそれぞれに格納されているデータを一致させる第2副コピーモードを有することとしてもよい。
この構成によれば、第2副記憶領域の利用に不具合がある場合にも、第2副コピーモードでは、バックアップ記憶領域を用いることによって、前記第1副記憶装置と前記第2副記憶装置とのそれぞれの記憶領域に格納されているデータが一致するので、コピーデータを格納する複数の記憶装置を利用する場合の利便性を向上させることが可能となる。
上記ストレージシステムにおいて、前記バックアップコピー部は、要求に応じて前記バックアップ記憶領域に反映済の前記第2コピー要求に対応する世代に関連するバックアップ世代情報を前記第1副記憶装置に送信可能であり、前記副コピー部は、前記第2副コピーモードにおいて、前記バックアップコピー部からバックアップ世代情報を受信し、前記2つの第1履歴情報の内の、前記バックアップ記憶領域に反映済の前記第2コピー要求に対応する世代よりも新しい世代の履歴情報のみを選択して用いることによって、前記異なる部分を特定することとしてもよい。
この構成によれば、前記バックアップ記憶領域に反映済の前記第2コピー要求に対応する世代よりも新しい世代の履歴情報のみを選択して用いることによって、前記異なる部分を特定されるので、異なる部分の特定に過剰な時間を要することを抑制できる。
上記各ストレージシステムにおいて、前記副コピー部は、前記副コピー処理を実行する時点が前記旧世代に対応する全ての前記第2コピー要求の完了通知の発行後から前記新たな世代に属する前記第2コピー要求の送信開始までの間であることを表す第1タイミング条件を含む所定の第1モード条件が満たされる場合に、前記第1副コピーモードでの処理を実行し、前記副コピー処理を実行する時点が前記バックアップの完了通知の発行後から新たな前記バックアップ処理の開始までの間であることを表す第2タイミング条件を含む所定の第2モード条件が満たされる場合に、前記第2副コピーモードでの処理を実行することとしてもよい。
この構成によれば、第1タイミング条件と第2タイミング条件とに基づいて、第1副コピーモードと第2副コピーモードとを適切に切り替えることができる。
上記ストレージシステムにおいて、前記第2副記憶装置は、さらに、
前記第2コピー要求に応じた書き込みの履歴を表す第2履歴情報を作成する第2履歴作成部を備え、前記副コピー部は、前記第1モード条件と前記第2モード条件とのいずれもが満たされない場合の前記副コピー処理の動作モードとして、前記第1タイミング条件が成立している場合には前記第2副記憶領域を選択し、前記第2タイミング条件が成立している場合には前記バックアップ記憶領域を選択し、少なくとも前記第2履歴情報を用いることによって前記選択された記憶領域と前記第1副記憶領域との間でデータが異なる部分を特定し、前記異なる部分のデータである差分データのみをコピーすることによって、前記選択された記憶領域と前記第1副記憶領域とのそれぞれに格納されているデータを一致させる第3副コピーモードを有することとしてもよい。
この構成によれば、第1コピー要求に不具合が生じた場合であっても、第2履歴情報を用いることによって、第1副記憶装置と第2副記憶装置とのそれぞれの記憶領域に格納されているデータを、差分データのコピーによって一致させることができる。
上記各ストレージシステムにおいて、前記第2副記憶装置は、さらに、前記第2副記憶領域の状態を表す領域状態情報を格納するための状態記憶領域を有し、前記コピー制御部は、前記旧世代に対応する全ての前記第2コピー要求の完了通知が発行されたことに応じて、前記第1タイミング条件が成立していることを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第2副記憶装置に送信し、前記格納要求の送信後であって、前記新たな世代に属する前記第2コピー要求の送信開始前に、前記第1タイミング条件が成立していないことを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第2副記憶装置に送信し、前記副コピー部は、前記副コピー処理を実行する時に、前記領域状態情報を参照することによって、前記第1タイミング条件と前記第2タイミング条件とのいずれが満たされているかの判断を行うこととしてもよい。
この構成によれば、正記憶装置のコピー制御部が、第2副記憶領域の状態を表す領域状態情報を含む書き込み要求を、第2副記憶装置に送信するので、第2副記憶装置の機能の簡素化を図ることができる。
上記各ストレージシステムにおいて、前記コピー制御部は、前記旧世代に対応する全ての前記第2コピー要求の完了通知の発行後に、前記第1タイミング条件が成立している旨の第1通知を前記第2副記憶装置に送信し、前記新たな世代に属する前記第2コピー要求の送信開始の前に、前記第1タイミング条件が成立していない旨の第2通知を前記第2副記憶装置に送信し、前記副コピー部は、前記副コピー処理を実行する時に、前記第1タイミング条件と前記第2タイミング条件とのいずれが満たされているかに関する情報であるタイミング条件情報を前記第2副記憶装置に要求し、前記バックアップコピー部は、前記第1通知と前記第2通知との内の最後に受信した通知と、前記バックアップ処理の実行状況とに基づいて、前記タイミング条件情報を前記正記憶装置に送信することとしてもよい。
この構成によれば、副コピー部は、バックアップコピー部から受信したタイミング条件情報に基づいて、適切に、第1タイミング条件と第2タイミング条件とのいずれが満たされているかの判断を行うことができる。
上記各ストレージシステムにおいて、前記正記憶装置は、互いに異なる識別子で特定される複数の正記憶領域を有し、前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、前記世代設定部は、前記コンシステンシグループに含まれる前記複数の正記憶領域のそれぞれに関する前記世代を同じタイミングで更新することとしてもよい。
この構成によれば、コンシステンシグループに含まれる複数の記憶領域の世代が同じタイミングで更新されるので、複数の記憶領域の全体におけるデータ書き込み順序が、世代を超えて入れ替わることを防止できる。
上記各ストレージシステムにおいて、さらに、複数の前記正記憶装置と、前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、前記管理装置は、前記ホストコンピュータに、新たな前記ホスト要求の送信を保留する指示を送信し、前記保留指示の完了通知を前記ホストコンピュータから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信し、前記世代更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記ホストコンピュータに新たな前記ホスト要求の送信を再開する指示を送信することとしてもよい。
この構成によれば、ホストコンピュータがデータ更新を保留している間に、コンシステンシグループに含まれる複数の記憶領域の世代がそれぞれ更新されるので、複数の記憶領域の全体におけるデータ書き込み順序が、世代を超えて入れ替わることを防止できる。
上記各ストレージシステムにおいて、さらに、複数の前記正記憶装置と、前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、前記管理装置は、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記正書き込み処理と前記第1及び第2コピー要求の送信処理との実行を保留する指示を、前記複数の正記憶装置にそれぞれ送信し、前記保留指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信し、前記更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記各処理の実行を再開する指示を、前記複数の正記憶装置にそれぞれ送信することとしてもよい。
この構成によれば、各正記憶装置がデータ更新を保留している間に、コンシステンシグループに含まれる複数の記憶領域の世代がそれぞれ更新されるので、複数の記憶領域の全体におけるデータ書き込み順序が、世代を超えて入れ替わることを防止できる。
なお、本発明は、種々の形態で実現することが可能であり、例えば、記憶領域の提供方法および装置、ストレージシステムの制御方法及び制御装置、データ処理システムの制御方法及び制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
B.第2実施例:
C.第3実施例:
D.第4実施例:
E.第5実施例:
F.第6実施例:
G.第7実施例:
H.第8実施例:
I.変形例:
A.第1実施例:
A1.装置構成:
図1は、本発明の一実施例としてのデータ処理システムのハードウェア構成を示す説明図である。このデータ処理システム10は、2台のホストコンピュータ100(100P、100L)と、3台の記憶装置200(200P、200L、200R)と、管理サーバ110Pと、を備えている。なお、3台の記憶装置200(200P、200L、200R)と、管理サーバ110Pとの全体は、「ストレージシステム」に相当する。
正ホストコンピュータ100Pと正記憶装置200Pと管理サーバ110Pとは、データの処理活動を行うプロダクションサイトに設置されている。副ホストコンピュータ100Lと副記憶装置200Lとは、プロダクションサイトの近隣にあるローカルサイトに設置されている。副記憶装置200Rは、プロダクションサイトから遠隔にあるリモートサイトに設置されている。以下、プロダクションサイトのことを「正サイト」とも呼ぶ。
本明細書では、ホストコンピュータおよび記憶装置の本体と、各構成要素と、各種の情報およびプログラムとを表す符号の末尾に、それが存するサイトを識別する符号を付加している。すなわち、それぞれを表す符号の末尾に、プロダクションサイトに存するものには「P」の符号を、ローカルサイトに存するものには「L」の符号を、リモートサイトに存するものには「R」の符号を、それぞれ付加している。また、本明細書中の説明において、個別のホストコンピュータや個別の記憶装置等を区別する必要のないときは、符号の末尾に付加したサイトを識別する符号を省略している。
記憶装置200は、制御装置210と、制御装置210に接続されたディスクアレイ270と、を有している。制御装置210は、ディスクアレイ270と他の装置(例えば、ホストコンピュータ100や他の記憶装置200)との間のデータ転送を制御する。制御装置210は、CPU220と、メモリ230と、キャッシュメモリ260と、を有している。キャッシュメモリ260は、制御装置210とディスクアレイ270との間で転送されるデータを一時的に記憶するための半導体メモリであり、CPU220専用のキャッシュメモリ(図示せず)とは別のものである。
ディスクアレイ270は、ディスク装置を複数用いた装置であり、少なくとも1つのボリューム272を有している。ボリューム272は、ホストコンピュータ100のデータ処理に用いられるデータ等を格納する論理的な記憶領域である。例えば、1つのボリューム272は、複数のディスク装置により形成される1つの論理的な記憶領域を、論理的に分割して形成される。
正サイトの正ホストコンピュータ100Pは、正サイトの正記憶装置200P(制御装置210P)に接続されている。この正ホストコンピュータ100Pは、通常時において、正記憶装置200Pが提供する記憶領域を利用しつつ、所定のデータ処理を実行する。データ処理としては、例えば、データファイルをクライアント装置(図示せず)に提供するファイルサーバとしての処理や、種々のデータを管理するデータベースサーバとしての処理がある。
ローカルサイトの副ホストコンピュータ100Lは、ローカルサイトの副記憶装置200L(制御装置210L)に接続されている。この副ホストコンピュータ100Lは、正ホストコンピュータ100Pの代わりに所定のデータ処理を実行可能である。例えば、副ホストコンピュータ100Lは、通常時には何も実行しないが、正ホストコンピュータ100Pに不具合が生じた場合には所定のデータ処理を実行する。
各サイトの記憶装置200(制御装置210)は、ストレージネットワークSNを介して互いに接続されている。ストレージネットワークSNとしては、例えば、ファイバーチャンネルやIPネットワークが用いられる。正ホストコンピュータ100Pが正記憶装置200Pに格納したデータは、このストレージネットワークSNを介して各副記憶装置200L、200Rにコピーされる。このようなコピーによって、地理的に離れた3つの記憶装置200が同じデータを格納することが可能となる。
また、各サイトの記憶装置200(制御装置210)は、管理ネットワークMN1を介して管理サーバ110Pに接続されている。管理サーバ110Pは、この管理ネットワークMN1を介して各記憶装置200の動作を制御する。また、管理サーバ110Pは、CPU112Pと、メモリ114Pと、を有している。データ処理システム10のユーザは、この管理サーバ110Pを操作することによって、各記憶装置200の動作の設定を行うことができる。
管理サーバ110Pと正ホストコンピュータ100Pとは、別の管理ネットワークMN2を介して互いに接続されている。正ホストコンピュータ100Pは、この管理ネットワークMN2を介して、管理サーバ110Pから記憶領域に関する情報(例えば、ボリューム272を識別する識別子)を取得可能である。なお、各管理ネットワークMN1、MN2としては、例えば、IPネットワークが用いられる。
図2は、データ処理システム10の構成を示す概略図である。各サイトの記憶装置200のメモリ230は、読み書きモジュール235を格納している。読み書きモジュール235は、外部からの要求に応じて、自己の記憶装置内のボリューム(以下「内部ボリューム」とも呼ぶ)に対する書き込み処理と読み出し処理とを実行する。図2の例では、正記憶装置200Pは内部ボリュームVOL1−Pを有しており、副記憶装置200Lは内部ボリュームVOL1−Lを有しており、副記憶装置200Rは内部ボリュームVOL1−Rを有している。正記憶装置200PのボリュームVOL3−Pについては、後述する。
正サイトとローカルサイトとの記憶装置200P、200Lのメモリ230P、230Lは、さらに、仮想化モジュール231とコピーモジュール232とを格納している。仮想化モジュール231は、他の記憶装置のボリューム272(図1)に、自身の仮想的な内部ボリュームとして特定するために使用する仮想識別子を割り当てる。コピーモジュール232は、2つのボリューム間でのデータコピー処理を実行する。なお、コピーモジュール232は、指示モジュール233とアクセスモジュール234とを有している(コピーモジュール232Lでは図示が省略されている)。さらに、正サイトの正記憶装置200Pのメモリ230Pは、ボリューム情報246Pとペア情報248Pとを格納している。これらの詳細については、後述する。
管理サーバ110Pのメモリ114Pは、管理モジュール116Pを格納している。管理モジュール116Pは、各記憶装置200を制御する処理を実行する。
なお、各モジュールの機能は、CPU112、220(図1)がプログラム(モジュール)を実行することによって実現されている。
図3は、ペア情報248Pの一例を示す説明図である。ペア情報248Pはコピーペアを定義する情報を含む。コピーペアとは、データのコピーが行われる2つのボリュームの組み合わせを意味している。コピーペアを構成する一方のボリューム(「コピー元ボリューム」あるいは単に「元ボリューム」と呼ぶ)に格納されたデータは、他方のボリューム(「コピー先ボリューム」あるいは単に「先ボリューム」と呼ぶ)にコピーされる。
元ボリュームと先ボリュームとは、図3に示すように、記憶装置200を識別する識別子(装置識別子)とボリュームを識別する識別子(ボリューム識別子)とによって特定される。装置識別子は、記憶装置200(より正確には、ストレージネットワークSNとの接続のためのインターフェース(図示せず))毎に固有である。ボリューム識別子は、記憶装置200毎に独立に設定され得る識別子であり、1つの記憶装置200内においては、ボリューム毎に固有である。ストレージネットワークSN(図1)では、このような装置識別子とボリューム識別子との組み合わせによって、1つのボリュームが識別される。
図3において、記憶装置識別子「P」は正記憶装置200Pを表し、記憶装置識別子「L」は副記憶装置200Lを表し、記憶装置識別子「R」は副記憶装置200Rを表している。また、以下の説明では、例えば、記憶装置識別子が「P」である正記憶装置200Pの有するボリューム識別子が「VOL1」であるボリュームを、「ボリュームVOL1−P」と呼ぶ。他のボリュームについても、同様である。
図3の第1コピーペアCP1では、元ボリュームが正記憶装置200PのボリュームVOL1−P(図2)であり、先ボリュームが副記憶装置200LのボリュームVOL1−Lである。また、第2コピーペアCP2では、記憶装置識別子が省略されている。これは、両方のボリュームが正記憶装置200Pの内部ボリュームであることを意味している。すなわち、第2コピーペアCP2では、元ボリュームがボリュームVOL1−Pであり、先ボリュームがボリュームVOL3−Pである。なお、後述するように、ボリュームVOL3−Pは、実体が副記憶装置200RのボリュームVOL1−Rである仮想的な内部ボリュームである。
また、ペア情報248P(図3)は、各コピーペアのコピー種類とペア状態とを含んでいる。コピー種類は、「同期」と「非同期」とのいずれかに設定される。同期コピーと非同期コピーとの詳細については後述する。ペア状態は、コピーペアの状態を示している。ペア状態は、「ペア」「スプリット」「リシンク」のいずれかに設定される。「ペア」は、元ボリュームに対する更新が先ボリュームにも反映される状態を表す。「スプリット」は、元ボリュームに対する更新が先ボリュームに反映されない状態を表す。スプリット状態は、例えば、先ボリュームのデータを別のボリュームにバックアップする場合に用いられる。「リシンク」は、スプリット状態からペア状態へ移行中の状態を表す。このリシンク状態では、スプリット中に行われた元ボリュームに対する更新が、先ボリュームに反映される。この反映の完了後に、ペア状態は「ペア」となる。
ペア情報248Pは、指示モジュール233Pによって設定される。指示モジュール233Pは、例えば、管理サーバ110Pからの指示に従って、ペア情報248Pを設定する。また、指示モジュール233Pが、ペア情報248Pの各設定値を定めることをユーザに許容してもよい。例えば、ユーザが、管理サーバ110Pや正記憶装置200Pの操作パネル(図示せず)を操作し、指示モジュール233Pが、管理サーバ110Pや操作パネル(図示せず)からユーザの指示を受け取ることとしてもよい。これは、後述する他のモジュールが利用する情報についても同様であり、また、後述する他の実施例についても同様である。
図4は、ボリューム情報246Pの一例を示す説明図である。このボリューム情報246Pは、内部ボリューム識別子と、外部装置識別子と、外部ボリューム識別子との対応関係を格納している。外部装置識別子と外部ボリューム識別子とは、他の記憶装置200のボリューム(「外部ボリューム」とも呼ぶ)を特定するための識別子である。内部ボリューム識別子は、この外部ボリュームを仮想的な内部ボリュームとして特定するための仮想的な識別子である。外部ボリュームは、内部ボリューム識別子で特定される内部ボリュームとして扱われる。図4の例では、副記憶装置200RのボリュームVOL1−Rが、仮想的な内部ボリュームVOL3−Pとして扱われる(詳細は後述)。このボリューム情報246Pは、仮想化モジュール231Pによって設定される。仮想化モジュール231Pは、例えば、管理サーバ110Pからの指示に従って、ボリューム情報246Pを設定する。また、仮想化モジュール231Pが、ボリューム情報246Pの各設定値を定めることをユーザに許容してもよい。
A2.データ書き込み処理:
図5は、データ処理システム10によるデータ書き込み処理の概要を示すブロック図である。なお、以下の説明では、正ホストコンピュータ100Pのことを単に「正ホスト100P」とも呼ぶ。また、正記憶装置200Pのことを単に「正装置200P」とも呼ぶ。また、副記憶装置200Lのことを「同期副記憶装置200L」あるいは単に「同期副装置200L」とも呼ぶ。また、副記憶装置200Rのことを「非同期副記憶装置200R」あるいは単に「非同期副装置200R」とも呼ぶ。
まず、正ホスト100Pが、ボリュームVOL1−Pを対象とする書き込み要求WR10を正装置200Pに送信する。この要求WR10を受信した読み書きモジュール235Pは、要求されたデータをボリュームVOL1−Pに書き込み、完了通知C10aを指示モジュール233Pに供給する。以下、正ホスト100Pからの書き込み要求を「ホスト要求」とも呼ぶ。また、ホスト要求によって書き込み要求されたデータを「ホストデータ」とも呼ぶ。なお、指示モジュール233Pは、読み書きモジュール235Pが要求WR10に基づいてデータを書き込んでいる最中に起動されても良い。この場合、読み書きモジュール235Pは、完了通知C10aの代わりに指示モジュール233Pの起動を、要求WR10の受信時に指示モジュール233Pに通知する。これにより、この場合には、リモートコピーの実行が正記憶装置200Pでのデータ格納と並行して行われる。
指示モジュール233Pは、読み書きモジュール235Pが受信したホスト要求WR10を参照し、ペア情報248Pの中から、元ボリュームがこのホスト要求WR10の対象ボリュームVOL1−Pであるコピーペアを検索する。図3の例では、2つのコピーペアCP1、CP2が検出される。以下、これらのペアCP1、CP2が検出されたこととして、説明を行う。
次に、指示モジュール233Pは、検出した同期コピーペアCP1に従ってコピー(書き込み)要求WR10bを作成し、作成した要求WR10bをアクセスモジュール234Pに供給する。この要求WR10bは、ホスト要求WR10と同じホストデータと、同期コピーペアCP1の先ボリュームであるVOL1−Lの識別子(装置とボリュームとの識別子)と、を含む。アクセスモジュール234Pは、要求WR10bと同じ情報を含む要求WR10cを、要求WR10bで指定された装置識別子「L」によって特定される同期副装置200Lに送信する。同期副装置200Lの読み書きモジュール235L(図2)は、受信したホストデータを指定されたボリュームVOL1−Lに書き込むと、要求WR10cの完了通知C10cを正装置200Pに送信する。アクセスモジュール234Pは、完了通知C10cを受信したことに応じて、要求WR10bの完了通知C10bを指示モジュール233Pに供給する。
さらに、指示モジュール233Pは、検出した非同期コピーペアCP2に従ってコピー(書き込み)要求WR10dを作成し、作成した要求WR10dをアクセスモジュール234Pに供給する。この要求WR10dは、ホスト要求WR10と同じホストデータと、非同期コピーペアCP2の先ボリュームであるVOL3−Pの識別子(仮想的な内部ボリューム識別子)とを含む。アクセスモジュール234Pは、ボリューム情報246P(図4)を参照することによって、要求WR10d内のボリュームVOL3−Pの仮想的な識別子を、ボリュームVOL1−Rの識別子(装置とボリュームとの識別子)に置換する。そして、アクセスモジュール234Pは、置換後の要求WR10eを、置換後の装置識別子「R」によって特定される非同期副装置200Rに送信する。非同期副装置200Rの読み書きモジュール235R(図2)は、受信したホストデータを指定されたボリュームVOL1−Rに書き込むと、要求WR10eの完了通知C10eを正装置200Pに送信する。アクセスモジュール234Pは、完了通知C10eを受信したことに応じて、要求WR10dの完了通知C10dを指示モジュール233Pに供給する。
また、指示モジュール233Pは、正ホスト100Pにホスト要求WR10の完了通知C10を、元のボリュームVOL1−Pへの書き込みの完了通知C10aの受領と、同期コピーペアCP1の要求WR10cの完了通知C10c(C10b)の受領とに応じて、送信する。また、この完了通知C10の送信に際しては、指示モジュール233Pが、非同期コピーペアCP2の要求WR10eの完了通知C10e(C10d)を受信するか否かについては、考慮されない。
このように、同期コピーでは、正ホスト100Pが完了通知C10を受け取った時点で、ホストデータは、正装置200P(元ボリュームVOL1−P)と同期副装置200L(先ボリュームVOL1−L)との両方に格納されている。従って、同期コピーを用いることによって、データの冗長性を高めることができる。ただし、正ホスト100Pに対する応答時間が過剰に長くなることを防止するためには、先ボリュームの記憶装置200Lを、元ボリュームの記憶装置200Pに近接した地域内(例えば、距離が100km程度までの地域内)に設置することが好ましい。
一方、非同期コピーでは、正ホスト100Pが完了通知C10を受け取った時点で、ホストデータが非同期副装置200R(先ボリュームVOL3−P(VOL1−R))に格納されていることが保証されていない。ただし、コピー要求の完了通知を待たずに、正ホスト100Pへ完了通知が送信されるので、正ホスト100Pに対する応答時間を短縮できる。従って、先ボリュームの記憶装置200Rを、元ボリュームの記憶装置200Pからの距離に制限されることなく、設置することができる。
なお、指示モジュール233Pは、非同期コピーの要求送信を、任意のタイミングで実行可能である。例えば、指示モジュール233Pは、定期的に非同期コピーの要求を送信可能である。この場合には、指示モジュール233Pは、元ボリュームVOL1−Pに対する更新履歴(図示せず)をメモリ(例えば、メモリ230Pやキャッシュメモリ260P)に格納しておき、この更新履歴に従ってアクセスモジュール234Pに要求を供給すればよい。
図6は、正装置200Pに不具合が発生した場合のデータ処理システム10を示す概略図である。この場合には、ボリュームVOL1−Pに格納されたデータのコピーが、ボリュームVOL1−Lに格納されている。副ホスト100Lは、このボリュームVOL1−Lを利用することによって、迅速にデータ処理を再開することができる。
また、同期副装置200Lは、正装置200Pと同様の仮想化モジュール231Lとコピーモジュール232Lとを有している。従って、正装置200Pと同様に、仮想化モジュール231Lは、ボリュームVOL1−Rを仮想化するボリューム情報246Lを設定し、コピーモジュール232Lは、この仮想的な内部ボリューム(図6の例では、ボリュームVOL4−L)を用いたペア情報248Lを設定可能である。その結果、同期副装置200Lは、正装置200Pと同様に、ボリュームVOL1−Lに格納されるデータのコピーを、ボリュームVOL1−Rに格納することができる。ただし、これらのモジュール231L、232Lを省略することとしてもよい。
さらに、同期副装置200Lにも不具合が発生した場合には、非同期副装置200Rにホストコンピュータ(図示せず)を接続すればよい。このホストコンピュータは、ボリュームVOL1−Rに格納されているデータを用いて、データ処理を再開することができる。
以上のように、第1実施例のデータ処理システム10では、正装置200Pに格納されるデータのコピーが、2つの副記憶装置200L、200Rにも格納されるので、データの冗長性を高めることが可能となる。さらに、比較的正装置200Pに近い同期副装置200Lに対しては同期コピーが実行され、比較的正装置200Pから遠い非同期副装置200Rに対しては非同期コピーが実行される。従って、正ホスト100Pに対する応答時間が過剰に長くなることを防止できる。
さらに、第1実施例のデータ処理システム10では、アクセスモジュール234P(図2、図5)は、仮想的な内部ボリュームに対するコピー要求(例えば、要求WR10d)を受けて、実体のボリュームに対するコピー要求(例えば、要求WR10e)を送信可能である。従って、指示モジュール233Pは、非同期副装置200Rを特定せずに、コピーペア(図3)を定めることができる。例えば、一旦、ボリューム情報246Pが設定されていれば、その後は、副記憶装置200Rを特定する識別子を知らないユーザであっても、ペア情報248Pを設定することができる。従って、遠隔地に設置された非同期副装置200Rを用いたストレージシステムを構築するためのユーザの労力を軽減することができる。この際、指示モジュール233Pは、利用可能な内部ボリュームの一覧(仮想的な内部ボリュームを含む)を、操作パネル(図示せず)や管理サーバ110Pを介してユーザに提示することが好ましい。こうすれば、ユーザは、容易にコピーペアを定めることができる。
なお、記憶装置200(読み書きモジュール235)の中には、書き込み要求されたデータをキャッシュメモリ260に格納した段階で要求の完了通知を発行し、その後、データをボリュームに書き込むものがある。このような記憶装置200を用いる場合には、各完了通知C10a、C10c、C10e(図5)として、このような完了通知を用いることが可能である。このように、コピー要求(書き込み要求)の完了通知とは、ボリュームへの実際の書き込みが完了したことの通知に限らず、キャッシュメモリ260等の一時的に利用されるメモリへの書き込みが完了したことの通知を含む広い意味を有している。
また、正ホスト100Pへの完了通知C10の送信は、指示モジュール233Pに限らず、アクセスモジュール234Pや、コピーモジュール232Pが有する他のモジュール(図示せず)が実行してもよい。
B.第2実施例:
図7は、第2実施例におけるデータ処理システム10aの構成を示す説明図である。データ処理システム10aのハードウェアの構成は、図1に示すデータ処理システム10と同じである。ただし、各記憶装置200の機能的な構成が図2に示すデータ処理システム10と異なっている。各記憶装置200における差違は、以下の通りである。
(1)正記憶装置200Pにおける差違:
メモリ230Pが、さらに、世代設定モジュール236Pと、世代情報送信モジュール237Pと、を格納している。
(2)同期副記憶装置200Lにおける差違:
メモリ230Lが、さらに、履歴作成モジュール238Lと、副コピーモジュール240Lと、第1ビットマップBMAと、第2ビットマップBMBと、を格納している。
(3)非同期副記憶装置200Rにおける差違:
メモリ230Rが、さらに、履歴作成モジュール238Rと、バックアップモジュール242Rと、ペア情報248Rと、第3ビットマップBMCと、を格納している。また、副記憶装置200Rのディスクアレイ270R(図1)は、ボリュームVOL1−Rに加えて、ボリュームVOL2−Rを有している。
同期副装置200Lの2つのビットマップBMA、BMBには、ボリュームVOL1−Lに対する更新の履歴が格納される。一方、非同期副装置200Rの第3ビットマップBMCには、ボリュームVOL1−Rに対する更新の履歴が格納される。また、これら3つのビットマップBMA〜BMCは、正記憶装置200Pに不具合が生じた場合に利用される(詳細は後述)。
図7には、ペア情報248Rの一例が示されている。このペア情報248Rでは、バックアップコピーペアBCPが定義されている。このバックアップコピーペアBCPでは、元ボリュームがVOL1−Rであり、先ボリュームがVOL2−Rである(双方のボリュームは内部ボリュームである)。バックアップモジュール242Rは、このバックアップコピーペアBCPに従って、元ボリュームVOL1−Rのデータを、先ボリュームVOL2−Rにコピーする。以下、先ボリュームVOL2−Rのことを「バックアップボリュームVOL2−R」とも呼ぶ。また、ペア情報248Rは、非同期コピーペアCP2の先ボリュームとペア状態とを含んでいる(元ボリュームについては省略されている)。なお、バックアップモジュール242Rは、指示モジュール233Pがペア情報248Pを設定するのと同様に、このペア情報248Rを設定する。ただし、非同期コピーペアCP2に関する情報は、コピーモジュール232Pの指示に従って設定される。
B1.ホスト整合性:
第2実施例では、ボリュームVOL1−PからボリュームVOL3−P(VOL1−R)への非同期コピー処理と、非同期コピーを中断した状態でのボリュームVOL1−RからボリュームVOL2−Rへのバックアップコピー処理とが、交互に繰り返される。非同期副装置200Rが、ボリュームVOL1−Rのデータを別のボリュームVOL2−Rにバックアップコピーする理由は、非同期副装置200Rが、ホスト100にとっての整合性を有するボリュームを少なくとも1つ確保するためである。図8、図9は、データ処理システム10aによるデータ書き込み処理の手順を示すシーケンス図である。これらのシーケンス図は、「ホスト100にとっての整合性」を説明するためのものであり、バックアップ処理が省略されたものである。
図8は、正ホスト100Pが3つのホスト要求WR1、WR2、WR3を送信する場合の処理の流れを示している。正ホスト100Pは、3つのホスト要求をWR1、WR2、WR3を、この順番に正装置200Pに送信する。図8の例では、これら3つの要求WR1、WR2、WR3のデータ書き込み順序が入れ替わることが許容されないこととしている。このような書き込み順序の入れ替わりが許容されない場合としては、例えば、複数のホスト要求が、同じデータファイルを繰り返し更新する場合や、複数のホスト要求が、金融データベースにおける「入金処理」のためのホスト要求と「その入金処理の後の出金処理」のためのホスト要求とを含む場合がある。
以下の説明では、「記憶装置200が処理を実行する」と省略して記載されているが、ボリュームへのデータ書き込み処理や、コピー要求の送信処理、コピー要求の完了通知の送信処理等は、図5に示した例と同様に、記憶装置200の各モジュールによって実行されている。さらに、以下の説明では、正装置200Pが、ホスト要求に応じて各副記憶装置200に送信するコピー要求(書き込み要求)を表す符号の末尾に、副記憶装置のサイトを識別する符号を付加する。例えば、正装置200Pが同期副装置200Lに送信する要求WR1Lは、ホスト要求WR1に応じたコピー要求である。同様に、各副記憶装置200が正装置200Pに送信する完了通知を表す符号の末尾にも、副記憶装置200のサイトを識別する符号を付加する。これらは、後述する他の実施例についても同様である。
図8の例では、最初に、正ホスト100Pは、ホスト要求WR1を正装置200Pに送信する(ステップH700)。すると、正装置200Pと同期副装置200Lとは、図5の例と同様に、同期コピーに基づく処理を実行する。具体的には、正装置200Pは、この要求WR1に応じた書き込み処理を実行し(P702)、コピー要求WR1Lを同期副装置200Lに送信する(P704)。非同期副装置200Rは、この要求WR1Lに応じた書き込み処理を実行し(L706)、完了通知C1Lを正記憶装置200Pに送信する(L708)。完了通知C1Lを受けた正記憶装置200Pは、完了通知C1を正ホスト100Pに送信する(P709)。
正ホスト100Pは、要求WR1の完了通知C1を受信したことに応じて、次のホスト要求WR2を、正装置200Pに送信する(ステップH710)。この要求WR2に応じた一連の処理SWR2(H710〜P719)は、要求WR1に応じた一連の処理SWR1(H700〜P709)と同じである。同様に、正ホスト100Pは、要求WR2の完了通知C2を受信したことに応じて、次のホスト要求WR3を、正装置200Pに送信する(ステップH720)。要求WR3に応じた一連の処理SWR3(H720〜P729)も、各要求WR1、WR2に応じた一連の処理SWR1、SWR2と同じである。
以上のように、正ホスト100Pは、正装置200Pからの先のホスト要求の完了通知を受信したことに応じて、次のホスト要求を正装置200Pに送信する。その結果、正装置200Pと同期副装置200Lとのそれぞれにおいては、各要求WR1、WR2、WR3の書き込み順序が入れ替わることがない。その結果、仮に、これらの要求WR1、WR2、WR3に応じた処理の途中で正装置200Pに不具合が生じた場合であっても、副ホスト100L(図1))は、同期副装置200Lを用いて、データ処理を再開することができる。例えば、ステップL708とステップP709との間のタイミングT1(図8)で不具合が生じた場合には、副ホスト100Lは、同期副装置200L(ボリュームVOL1−L)を用いることによって、タイミングT1における状態からデータ処理を再開できる。このように、ボリュームの状態が、ホスト100がそのボリュームをそのまま用いることによってデータ処理を開始できる状態であることを、「そのボリュームは、ホスト100にとっての整合性を有する」という。以下、「ホストにとっての整合性」のことを「ホスト整合性」とも呼ぶ。
一方、正装置200Pと非同期副装置200Rとは、非同期コピーに基づく処理を実行する。正装置200Pは、ボリュームVOL1−Pに格納されているデータの中の、正ホスト100Pからの要求に応じて更新された部分についてのコピー(書き込み)要求を、記憶装置200Rに送信する(ステップP730)。その結果、各要求WR1R、WR2R、WR3Rが、非同期副装置200Rに送信される。ここで、非同期副装置200Rが各要求WR1R、WR2R、WR3Rを受信する順番は、正装置200Pが各要求を送信した順番と異なる場合がある。これは、正装置200Pと非同期副装置200Rとの間の通信経路が複数存在し、さらに、各通信経路毎に通信遅延量が異なる場合があるからである(このような複数の経路を用いたデータ転送を「多重転送」とも呼ぶ)。また、第2実施例では、非同期副装置200Rは、要求を受信した順番に、各要求のデータをボリュームVOL1−Rに書き込みこととしている。従って、非同期副装置200Rが、これら全ての要求WR1R、WR2R、WR3Rの完了通知を発行する前には、ボリュームVOL1−Rがホスト整合性を有していない可能性がある。
例えば、図8の例では、正装置200Pは、各要求WR1R、WR2R、WR3Rをこの順番に送信しているが、非同期副装置200Rは、WR2R、WR3R、WR1Rの順番に受信している(ステップR740、R742、R744)。仮に、ステップR742とステップR744との間のタイミングT2で、正装置200Pと非同期副装置200Rとの間の通信経路に不具合が生じたとする。すると、ボリュームVOL1−Rは、要求WR1のデータを格納せずに、要求WR2と要求WR3とのデータを格納した状態となる。ここで、副ホスト100Lは、過去に遡って要求WR1を送信することができないので、非同期副装置200R(ボリュームVOL1−R)をそのまま用いることによってデータ処理を再開することができない。すなわち、ボリュームVOL1−Rはホスト整合性を有していない。一方、全ての要求WR1、WR2、WR3の完了通知の発行後のタイミングT3では、ボリュームVOL1−Rはホスト整合性を有している。
なお、コピーモジュール232P(図7)は、非同期コピーのために、ボリュームVOL1−Pを複数のブロックに分割することによって、ボリュームVOL1−Pの更新状態の管理を行っている。コピーモジュール232Pは、更新されたブロックを識別する情報をメモリ(例えば、メモリ230Pやキャッシュメモリ260P)に格納する。そして、コピーモジュール232Pは、この更新されたブロックのデータのみを対象とする書き込み要求を、非同期副装置200Rに送信する。各要求WR1、WR2、WR3が同じブロックを対象とする場合には、共通するブロックについては、最新のデータを用いた1つの書き込み要求のみが送信される。また、コピーモジュール232Pは、同じブロックを対象とする複数の書き込み要求を非同期副装置200Rに送信する場合には、先の要求の完了通知を受信してから、後の要求を送信する。従って、要求の到着順が不規則である場合であっても、非同期コピーの先ボリュームVOL1−Rにおいて、比較的新しい更新済のデータが、比較的古い更新データによって上書きされることが防止される。なお、このような更新状態管理は、指示モジュール233によって行われる。
図9は、データ書き込み処理の別の例を示すシーケンス図である。図9の例では、正ホスト100Pは、4つのホスト要求WRa1、WRa2、WRb1、WRb2を正装置200Pに送信する。第1要求グループRGaの2つの要求WRa1、WRa2の書き込み順序の入れ替わりは許容されていないこととする。同様に、第2要求グループRGbの2つの要求WRb1、WRb2の書き込み順序の入れ替わりも許容されていないこととする。ただし、2つのグループRGa、RGb間での書き込み順序の入れ替わりは許容されていることとする。書き込み順序の入れ替わりが許容される場合としては、例えば、複数の要求が互いに異なるデータファイルを更新する場合や、複数の要求が互いに異なるデータベースに対する更新の要求である場合がある。
まず、正ホスト100Pは、要求WRa1を正装置200Pに送信する(ステップH800)。正装置200Pは、この要求WRa1に応じた書き込み処理を実行し(P802)、要求WRa1Lを同期副装置200Lに送信する(P804)。ここで、正ホスト100Pは、データ書き込み順序の入れ替わりが許容される場合には、先のホスト要求の完了通知を受信する前に、次のホスト要求を送信する。そこで、正ホスト100Pは、先の要求WRa1の完了通知の受信を待たずに、次の要求WRb1を正装置200Pに送信する(H806)。正装置200Pは、この要求WRb1に応じた書き込み処理を実行し(P808)、要求WRb1Lを同期副装置200Lに送信する(P810)。
ここで、同期副装置200Lが、これらの要求WRa1L、WRb1Lを受信する順番は、各要求WRa1L、WRb1Lが送信された順番と異なる場合がある。これは、正装置200Pと同期副装置200Lとの間のデータ転送が、多重転送によって行われる場合があるからである。図9の例では、同期副装置200Lは、後に送信された要求WRb1Lを、先に送信された要求WRa1Lよりも先に受信している。また、第2実施例では、同期副装置200Lは、要求を受信した順番に、要求されたデータをボリュームVOL1−Lに書き込みこととしている。そこで、同期副装置200Lは、先に、要求WRb1Lに応じた書き込み処理を実行し(L812)、要求WRb1Lの完了通知Cb1Lを正装置200Pに送信する(L814)。完了通知Cb1Lを受信した正装置200Pは、要求WRb1の完了通知Cb1を正ホスト100Pに送信する(P816)。正ホスト100Pは、この完了通知Cb1を受信したことに応じて、次の要求WRb2を正装置200Pに送信する(H818)。この要求WRb2は、要求WRa1の完了通知Ca1を待たずに送信される。正装置200Pは、この要求WRb2に応じた書き込み処理を実行し(P820)、コピー要求WRb2Lを同期副装置200Lに送信する(P832)。同期副装置200Lは、受信した要求WRb2Lに応じた書き込み処理を実行する(L834)。
また、同期副装置200Lは、要求WRa1Lに応じた書き込み処理を実行し(L822)、要求WRa1Lの完了通知Ca1Lを正装置200Pに送信する(L824)。完了通知Ca1Lを受信した正装置200Pは、要求WRa1の完了通知Ca1を正ホスト100Pに送信する(P826)。正ホスト100Pは、この完了通知Ca1を受信した後に、次の要求WRa2を正装置200Pに送信する(H828)。正装置200Pは、この要求WRa2に応じた書き込み処理を実行し(P830)、コピー要求WRa2Lを同期副装置200Lに送信する(P836)。同期副装置200Lは、受信した要求WRa2Lに応じた書き込み処理を実行する(L838)。
以上のように、正ホスト100Pは、データ書き込み順序の入れ替わりが許容される複数のホスト要求については、先のホスト要求の完了通知を受信する前に、次のホスト要求を送信する。その結果、同期副装置200Lにおいて、各要求の書き込み順序が入れ替わる場合がある。ただし、正ホスト100Pは、データ書き込み順序の入れ替わりが許容されない複数のホスト要求(例えば、要求WRa1、WRa2の組み合わせや、要求WRb1、WRb2の組み合わせ)については、先のホスト要求の完了通知を受信した後で、次のホスト要求を送信する。従って、記憶装置200LのボリュームVOL1−Lは、常にホスト整合性を有することとなる。例えば、仮に、図9のステップL812とステップL822との間のタイミングT10で、正装置200Pと同期副装置200Lとの間の通信経路に不具合が生じたとする。すると、ボリュームVOL1−Lは、先の要求WRa1のデータを格納せずに、後の要求WRb1のデータを格納した状態となる。ただし、これらの要求WRa1、WRb1の書き込み順序は入れ替わることが許容されている。従って、副ホスト100L(図1)は、同期副装置200L(ボリュームVOL1−L)をそのまま用いることによって、データ処理を再開することができる。
なお、正装置200Pと非同期副装置200Rとは、非同期コピーに基づく処理(ステップP840、R842〜R850)を実行する。これらの処理は、図8で説明した処理
(P730、R740〜R744)と同様に行われる。
以上、図8、図9を用いて説明したように、同期コピーの先ボリュームVOL1−Lは、常にホスト整合性を有している。一方、非同期コピーの先ボリュームVOL1−Rは、非同期コピーが完了した時点ではホスト整合性を有しているが、非同期コピーの最中にはホスト整合性を有していない可能性がある。そこで、第2実施例では、非同期副装置200Rが少なくとも1つのホスト整合性を有するボリュームを確保するために、ボリュームVOL2−Rを用いたボリュームVOL1−Rのバックアップが行われる。
B2.データ書き込み処理:
図10、図11は、データ処理システム10aによるデータ書き込み処理の手順を示すシーケンス図である。図11は、図10の手順に続く後半部分を示している。このシーケンス図は、ボリュームVOL1−Rのバックアップ処理を含んでいる。また、この例では、正ホスト100Pは、5つのホスト要求WR31〜WR35を正装置200Pに送信することとしている。ここで、これらの要求WR31〜WR35の書き込み順序の入れ替わりは許容されていることとしている。また、各記憶装置200は、図5の例と同様に、コピー(書き込み)要求の完了通知を送信するが、以下の説明では図示と説明とを省略している。
正ホスト100Pは、各要求WR31〜WR35を、この順番に正装置200Pに送信する。正装置200Pは、各要求に応じて、書き込み処理と、同期副装置200Lへのコピー要求の送信処理とを、各要求を受信した順番(送信された順番と同じ)に実行する(ステップP100〜P106、P116、P118)。
図12は、正装置200Pが同期副装置200Lに送信するコピー要求を示す説明図である。各コピー要求WR31L〜WR35Lのそれぞれは、世代番号GNoと、シーケンス番号SNoと、ホストデータHDとを含む。シーケンス番号SNoは、元となるホスト要求が、読み書きモジュール235P(図7)に受信された順序を示す番号であり、指示モジュール233Pによって各要求WR31L〜WR35Lに割り当てられる。なお、2つの要求WR33L、WR34Lの間には、マーカMKが送信されている(図10:ステップP114)。このマーカMKについては後述する。
世代番号GNoは、読み書きモジュール235P(図5、図7)が、元のホスト要求を受信してホストデータの書き込み処理を実行する時期を表す番号である。世代設定モジュール236Pは、読み書きモジュール235Pがホスト要求を受信する毎に、その受信時を基準として、そのホスト要求に世代番号GNoを割り当てる。また、世代設定モジュール236Pは、管理サーバ110Pからスプリット指示(詳細は後述)を受ける毎に、この世代番号を新しい番号に切り替える。世代情報送信モジュール237Pは、世代番号GNoを同期副装置200Lに送信するために、アクセスモジュール234Pが準備した各要求WR31L〜WR35Lに、この世代番号GNoを付加する。図12の例では、最初の3つの要求WR31L〜WR33Lの世代番号は「100」に設定されている。続く2つの要求WR34L、WR35Lの世代番号は、1つ新しい「101」に設定されている。これは、正装置200Pが、2つの要求WR33、WR34の間にスプリット指示を受信したからである(図10:ステップP110。詳細は後述)。なお、読み書きモジュール235Pは、ホストデータの書き込み処理を、ホスト要求を受信した順番に実行する。従って、世代設定モジュール236Pは、世代番号の割り当ての基準時として、書き込み処理の開始時や、書き込み処理の完了通知が発行された時を採用可能である。
図13は、ビットマップBMA、BMBを示す説明図である。同期副装置200Lの履歴作成モジュール238L(図7)は、ボリュームVOL1−Lを複数のブロックに分割することによって、更新履歴を管理している。各ビットマップBMA、BMBは、各ブロック毎の更新の有無を表すビットを含んでいる。図13の例では、履歴作成モジュール238Lは、最初に全てのビットを「0」に設定し、その後、更新されたブロックのビットを「1」に設定する。更新ブロックのビット設定は、読み書きモジュール235Lが同期コピーの書き込み処理を実行する毎に行われる。なお、1つの要求によって更新されるブロック数は、ホストデータに応じた可変値である。
また、各ビットマップBMA、BMBは、世代情報GIと履歴状態情報HSIとを含む。世代情報GIは、ビットマップの世代番号GNo(図12)を示している。履歴作成モジュール238Lは、世代番号GNo毎に、ビットマップを作成する。また、履歴作成モジュール238Lは、最新の2つの世代のビットマップのみを、ビットマップBMA、BMBに確保する。図13の例では、第1ビットマップBMAの世代番号は「100」であり、第2ビットマップBMBの世代番号は「101」である。なお、同期副装置200Lが世代番号101の要求を受信する前には、第2ビットマップBMBには、世代番号99の更新履歴が格納されている(詳細は後述)。
履歴状態情報HSIは、将来の更新の可能性の有無を示す情報である。履歴作成モジュール238Lは、最初に履歴状態情報HSIを「未確定」に設定する。その後、履歴作成モジュール238Lは、対応する世代番号GNoの全てのコピー要求の完了通知が発行されたことに応じて、履歴状態情報HSIを「未確定」から「確定」に切り替える(詳細は後述)。
以上、同期副装置200LのビットマップBMA、BMBについて説明したが、非同期副装置200Rの第3ビットマップBMC(図7)の構成も、これらのビットマップBMA、BMBと同じである。履歴作成モジュール238Rは、読み書きモジュール235Rが非同期コピーの書き込み処理を実行する毎に、第3ビットマップBMCを更新する。
なお、第3ビットマップBMCの世代情報については、後述するように、正装置200Pのコピーモジュール232Pの指示に従って1つずつ更新される。第3ビットマップBMCの世代の初期値は、予め、種々の方法で設定され得る。例えば、世代情報送信モジュール237Pが、予め、非同期副装置200R(履歴作成モジュール238R)に、世代の初期値を送信しておくこととしてもよい。また、管理サーバ110Pの指示や、ユーザの指示に従って、初期値が設定されることとしてもよい。
次に、図10、図11の例を用いて、データ処理システム10a(図7)の状態の変化について説明する。管理サーバ110P(管理モジュール116P)がスプリット指示を正装置200Pに送信すると(ステップM108)、正装置200Pは、指示に応じてスプリット処理を開始する(P110)。このスプリット指示によって、世代番号が1つだけ新しい番号に切り替えられる。さらに、非同期コピーペア(VOL1−P、VOL3−P)における新世代のホスト要求に応じたデータコピーは保留される。図10の例では、このスプリット指示は、2つの要求WR33、WR34の間に正装置200Pに受信されている。コピーモジュール232Pは、このスプリット指示の後に受信した新世代のホスト要求(WR34、35)を、後で非同期副装置200Rに送信するときのために、キャッシュメモリ260Pに保持する。
スプリット指示は、非同期コピーの先ボリュームVOL3−P(VOL1−R)をバックアップするために送信される。管理サーバ110Pは、この指示を任意のタイミングで送信することができる。例えば、スプリット指示は、定期的に送信される。また、ユーザの指示に従ったタイミングで、スプリット指示が送信されることとしてもよい。
世代設定モジュール236P(図7)は、スプリット指示を受信したことに応じて、世代番号(100)を1つだけ新しい番号(101)に切り替える(ステップP112)。次に、世代情報送信モジュール237Pは、世代の切り替わりを表すマーカMKを同期副装置200Lに送信する(P114)。
図12には、マーカMKの例が示されている。マーカMKは、他の要求WR31L〜WR35Lと同じ構成を有している。世代番号GNoは、新しい世代番号(101)に設定されている。ホストデータHDに相当する部分は、マーカであることを示す所定の値に設定されている。シーケンス番号SNoは、書き込み要求WR31L〜WR35Lと同様に、正装置200Pによるスプリット指示の受信順序を示す番号に設定される。マーカMKのシーケンス番号SNoは、スプリット指示受信前の最後の要求(WR33L)よりも1つ新しい番号(1004)に設定される。また、スプリット指示受信後の最初の要求(WR34L)のシーケンス番号SNoは、マーカMKよりも1つ新しい番号(1005)に設定される。シーケンス番号SNoの設定は、指示モジュール233Pによって行われる。
マーカMKに付与されたシーケンス番号SNoは、マーカMKの世代よりも1つ前の世代の全ての要求の完了通知が発行されか否かの判断に利用される。例えば、図12の例では、マーカMKのシーケンス番号SNoが「1004」である。従って、同期副装置200Lが1つ前の「1003」までの全ての要求の完了通知を発行すれば、1つ前の世代の全ての要求の完了通知が発行されたと判断できる。この判断は、履歴作成モジュール238L(図7)によって行われる(後述)。
図14は、図10の例における、同期副装置200Lが、各要求WR31L〜WR35LとマーカMKとを受信する順番を示す説明図である。図10の例では、同期副装置200Lは、WR32L、マーカMK、WR35L、WR31L、WR33L、WR34Lの順にデータを受信する(L104〜L126)。図14(A)〜図14(F)は、その順番に、データが受信される様子を示している。この受信順番が、送信された順番と異なるのは、データ転送が多重転送によって行われるからである。同期副装置200L(図7:読み書きモジュール235L)は、各要求を受信した順番に、各要求のホストデータをボリュームVOL1−Lに書き込む(ステップL104〜L126)。履歴作成モジュール238Lも、同じ順番に、ビットマップBMA、BMBを更新する。
図15は、同期副装置200Lが要求WR32の書き込み処理(L104)を実行した段階におけるデータ処理システム10aの状態1を示す説明図である。図15には、4つのボリュームVOL1−P、VOL1−L、VOL1−R、VOL2−Rと、3つのビットマップBMA、BMB、BMCと、が示されている。各ボリュームに付された括弧内の数字は、そのボリュームに反映された要求の世代番号GNoを示している。例えば、バックアップボリュームVOL2−Rには、世代番号99の要求が反映されているが、世代番号100の要求は反映されていない。
また、各ビットマップに付された括弧内の数字は、そのビットマップの世代番号を示している。また、図中には、各ビットマップの世代番号と履歴状態とを示すテーブルが示されている。なお、図中においては、各ビットマップBMA、BMB、BMCのそれぞれが、符号「BM」が省略された符号を用いて示されている。例えば、符号「A」は、第1ビットマップBMAを示している。後述する他の図についても同様である。
なお、図中の2重線の矢印は、正装置200Pに不具合が生じた場合に実行される副コピー処理を示している(詳細は後述)。
この状態1では、同期コピーペアCP1「VOL1−P、VOL1−L」のペア状態は「ペア」である。また、非同期コピーペアCP2「VOL1−P、VOL1−R」のペア状態も「ペア」である。バックアップコピーペアBCP「VOL1−R、VOL2−R」のペア状態は「スプリット」である。また、第2ビットマップBMBについては、世代番号が「99」であり、履歴状態が「確定」である。一方、第1ビットマップBMAと第3ビットマップBMCとについては、世代番号が「100」であり、履歴状態が「未確定」である。
図16は、状態2を示す説明図である。正装置200Pがスプリット指示を受け(図10:P110)、さらに、同期副装置200Lが、新たな世代101の要求WR35Lの書き込み処理を実行すると(図10:L120)、システム10aの状態は、状態2に変わる。履歴作成モジュール238Lは、読み書きモジュール235Lが受けるコピー要求の世代番号を参照する。参照された世代番号が、2つのビットマップBMA、BMBの両方の世代番号よりも新しい場合には、履歴作成モジュール238Lは、古い方のビットマップをクリアして、この新しい世代の履歴をクリアされたビットマップに格納する。また、クリアされたビットマップの履歴状態は「未確定」に設定される。図15の例では、第2ビットマップBMBに新たな世代番号101の更新が格納される。
図17は、状態3を示す説明図である。同期副装置200Lが要求WR31L、WR33Lの書き込み処理を実行すると(図10:L122、L124)、システム10aの状態は、状態3に変わる。履歴作成モジュール238Lは、同期副装置200Lが受信したマーカMKを参照することによって、世代番号100のコピー要求のシーケンス番号SNoが1003までであることを知る。また、同期副装置200Lは、ステップL124で、シーケンス番号SNo1003までの全ての要求の完了通知を発行する。そこで、履歴作成モジュール238Lは、このステップL124で、世代番号100の全てのコピー要求の完了通知が発行されたと判断し、世代番号100のビットマップMBAの履歴状態を「確定」に設定する。
その後、正装置200Pのコピーモジュール232P(図7)は、非同期コピーに基づくコピー要求を非同期副装置200Rに送信する(図10:P128)。ここで送信される要求は、スプリット指示前の世代番号100の全ての要求WR31、WR32、WR33に基づくもののみである。非同期副装置200Rは、これらの要求に応じた書き込み処理を実行し(R130)、完了通知を正装置200Pに送信する(R131)。なお、以下では、スプリット指示時に全ての非同期リモートコピーのデータ(ここでは、WR31、32、33)を非同期副記憶装置200Rに送信することとして説明しているが、データ転送のタイミングはこれに限られない。例えば、随時非同期リモートコピーが実行され、スプリット指示の受信時に、正記憶装置200Pが、スプリット指示前の世代番号が割り振られた要求WRの有無を確認し、該当する要求WRを非同期副装置200Rに送信することとしてもよい。
非同期コピーに基づく全てのコピー要求の完了通知の発行後、システム10aの状態は、状態4に変わる。図18は、状態4を示す説明図である。コピーモジュール232Pは、非同期コピーに基づく全てのコピー要求の完了通知を非同期副装置200Rから受信したことに応じて、ペア情報248Pにおける非同期コピーペアCP2のペア状態を「スプリット」に設定する(P132)。そして、コピーモジュール232Pは、スプリットの完了通知を非同期副装置200Rに送信する。次のステップR143では、非同期副装置200Rにおいて、スプリット完了通知を受けた履歴作成モジュール238Rが、第3ビットマップBMCの履歴状態を「確定」に設定する。また、スプリット完了通知を受けたバックアップモジュール242Rは、ペア情報248R(図7)における非同期コピーペアCP2のペア状態を「スプリット」に設定する。その結果、システム10aの状態は、スプリットが完了した状態4となる。この状態4では、非同期コピーの先ボリュームVOL1−Rは、ホスト整合性を有している。
スプリットの完了後、システム10aの状態は、状態5に変わる。図19は、状態5を示す説明図である。図11のステップM136で、管理サーバ110P(管理モジュール116P)は、非同期副装置200Rにリシンク指示を送信する。リシンク指示を受信したバックアップモジュール242Rは、元ボリュームVOL1−Pのデータを先ボリュームVOL2−Rにコピー(バックアップコピー)し、先ボリュームVOL2−Rのデータを元ボリュームVOL1−Pのデータに一致させる(図11:R138)。この際、バックアップモジュール242Rは、第3ビットマップBMCで特定される更新ブロックのデータのみをコピーする。また、バックアップモジュール242Rは、ペア情報248RのバックアップコピーペアBCPのペア状態を「リシンク」に設定する。コピー完了の後、バックアップモジュール242Rは、このペア状態を「ペア」に設定し、さらに、リシンク完了通知を管理サーバ110Pに送信する(状態5)。
ところで、このバックアップコピーの開始から完了の間には、バックアップボリュームVOL2−Rはホスト整合性を有していない可能性がある。ただし、コピー元のボリュームVOL1−Rは、ホスト整合性を有している。
また、リシンク指示の受信時に、ペア情報248R(図7)における第2コピーペアCP2のペア状態が「スプリット」ではない場合がある。この場合には、バックアップモジュール242Rは、リシンク指示(図11:M136)に対して、実行不可である通知を管理サーバ110Pに送信する(図示せず)。管理サーバ110P(管理モジュール116P)は、リシンク可能となるまで、繰り返し、リシンク指示を非同期副装置200Rに送信する。
リシンクの完了後、システム10aの状態は、状態6に変わる。図20は、状態6を示す説明図である。管理サーバ110P(管理モジュール116P)は、リシンク完了通知を受信したら、スプリット指示を非同期副装置200Rに送信する(図11:M140)。非同期副装置200Rのバックアップモジュール242Rは、指示に応じて、ペア情報248R(図7)におけるバックアップコピーペアBCPのペア状態を「スプリット」に設定する(状態6)。
スプリットの完了後、バックアップモジュール242Rは、スプリット完了通知を管理サーバ110Pに送信する(図11:R142)。すると、システム10aの状態は、状態7に変わる。図21は、状態7を示す説明図である。
また、スプリットの完了の後、システム10aの状態は、状態8に変わる。図22は、状態8を示す説明図である。管理サーバ110P(管理モジュール116P)は、スプリット完了通知を受信したら、正装置200Pにリシンク指示を送信する(図11:M144)。リシンク指示を受信したコピーモジュール232Pは、第3ビットマップBMCをクリアする指示と、第3ビットマップBMCの履歴状態を「未確定」に設定する指示とを、非同期副装置200Rに送信する(図11:P146)。これらの指示を受信した履歴作成モジュール238Rは、第3ビットマップBMCをクリアし、その履歴状態を「未確定」に設定する(図11:R148)。
さらに、コピーモジュール232Pは、リシンクの開始を非同期副装置200Rに通知する(図11:P150)。次のステップR152では、通知を受信した履歴作成モジュール238Rが、第3ビットマップBMCの世代番号を1つ新しい番号(101)に設定する。さらに、通知を受信したバックアップモジュール242Rが、ペア情報248R(図7)における非同期コピーペアCP2のペア状態を「ペア」に設定する。
次に、コピーモジュール232Pは、リシンク処理を実行する(P154)。コピーモジュール232Pは、ペア情報248Pにおける非同期コピーペアCP2のペア状態を「リシンク」に設定する。そして、コピーモジュール232Pは、キャッシュメモリ260Pに保存された新世代(101)の要求(WR34、35)に応じて、非同期副装置200Rにコピー要求WR34R、WR35Rを送信する(P156)。非同期副装置200Rは、要求に応じた書き込み処理を実行する。また、履歴作成モジュール238Rは、この書き込み処理に応じて、第3ビットマップBMCを更新する。その結果、システム10aの状態は、図22に示す状態8となる。
この状態8は、2つのビットマップBMA、BMBの立場が入れ替わっている点と世代番号が更新されている点とを除けば、図15に示す状態1と同等である。以後、データ処理システム10aは、図10、図11の手順と同様に、スプリットとリシンクとの処理を繰り返し実行する。
なお、図10、図11の例では、書き込み順序の入れ替わりが許容される5つのホスト要求WR31〜WR35が正ホスト100Pによって送信される場合について説明したが、異なるタイミングで異なる数の要求が送信される場合も、システム10aの状態変化は同様である。さらに、入れ替わりが許容されない複数の要求が送信される場合も、後のホスト要求が送信されるタイミングが変わるだけで、システム10aの状態変化は同様である。
以上のように、第2実施例では、バックアップボリュームVOL2−Rは、正装置200Pが最後にスプリット指示を受信した時点(図10:P110)での正装置200PのボリュームVOL1−Pのバックアップを格納することとなる。また、第3ビットマップBMCは、新たな世代のコピー要求の書き込みが実行される前にクリアされる(図11:R148)。従って、第3ビットマップBMCには、新たな世代の要求に応じた更新履歴が格納されることとなる。一方、同期副装置200Lは、新たな世代のビットマップと、新たな世代の1つ前の世代のビットマップとを格納する。
B3.副コピー処理:
図23は、正装置200Pに不具合が発生した場合のデータ処理システム10aを示す説明図である。この場合も、図6に示す第1実施例と同様に、副ホスト100Lは、同期副装置200Lを用いることによってデータ処理を再開する。ただし、データ処理の再開の前に、副コピーモジュール240Lが、同期副装置200Lのボリュームのデータと非同期副装置200Rのボリュームのデータとを一致させる副コピー処理を実行する。この副コピー処理が実行される理由は、副ホスト100Lによるデータ処理の再開後に、通常時と同様に、ボリュームVOL1−Lに格納されるデータを、非同期副装置200Rにコピーするためである。ここで、副コピーモジュール240Lは、一方のボリュームの全体を他方のボリュームへコピーする代わりに、ビットマップBMA、BMB、BMCを用いて、2つのボリュームの間でデータが異なる部分を特定し、この異なる部分のデータ(以下「差分データ」とも呼ぶ)のみをコピーする。
図24は、副コピー処理の手順を示すフローチャートである。最初のステップS200では、副コピーモジュール240Lは、非同期副装置200Rの2つのボリュームVOL1−R、VOL2−Rの中から、ホスト整合性を有するボリュームを選択する(以下、選択されたボリュームを「整合ボリューム」とも呼ぶ)。図25(A)は、整合ボリュームを選択するための条件を示している。この条件は、ペア情報248Rのペア状態に基づいて定められている。副コピーモジュール240Lは、バックアップモジュール242Rに取得要求を送信することによって、ペア情報248Rを取得可能である。
非同期コピーペアCP2のペア状態が「スプリット」である場合には(条件V1)、副コピーモジュール240Lは、ボリュームVOL1−Rを選択する。一方、非同期コピーペアCP2のペア状態が「スプリット」でなく、かつ、バックアップコピーペアBCPのペア状態が「スプリット」である場合には(条件V2)、副コピーモジュール240Lは、バックアップボリュームVOL2−Rを選択する。なお、通常は、非同期コピーペアCP2のペア状態が「スプリット」でなければ、バックアップコピーペアBCPのペア状態は「スプリット」である。
次のステップS210(図24)では、副コピーモジュール240Lは、差分を特定するためのビットマップ(「差分ビットマップ」とも呼ぶ)を選択する。ここで、差分ビットマップとは、ボリュームVOL1−Lと整合ボリュームとの間でデータが異なる部分を特定可能な1以上のビットマップである。図25(B)は、差分ビットマップを選択するための条件を示している。差分ビットマップに付された括弧内の数字は、選択されるビットマップの数を示している。この条件は、各ビットマップBMA、BMB、BMCの世代番号と履歴状態とに基づいて定められている。なお、副コピーモジュール240Lは、バックアップモジュール242Rに取得要求を送信することによって、第3ビットマップBMCに関する情報を取得可能である。差分ビットマップ選択処理の詳細については後述する。
また、以下、同期副装置200Lの2つのビットマップBMA、BMBのことを「同期ビットマップBMA、BMB」とも呼ぶ。また、非同期副装置200Rの第3ビットマップBMCのことを「非同期ビットマップBMC」とも呼ぶ。
次のステップS220(図24)では、副コピーモジュール240Lは、コピー方向を選択する。通常は、副コピーモジュール240Lは、比較的新しいデータを格納するボリュームから、他方のボリュームへデータをコピーする。これは、比較的新しいホストデータを用いることによってデータ処理を再開するためである。
ここで、ボリュームに反映されたコピー要求の世代番号のうち最新の番号を「ボリュームの世代番号」と呼ぶ。副コピーモジュール240Lは、世代番号が比較的新しいボリュームから世代番号が比較的古いボリュームへ向かう方向を、コピー方向として選択する。同期コピーの先ボリュームVOL1−Lの世代番号は、同期ビットマップBMA、BMBの内の新しい方の世代番号と同じである。非同期コピーの先ボリュームVOL1−Rの世代番号は、非同期ビットマップBMCの世代番号と同じである。また、整合ボリュームとしてバックアップボリュームVOL2−Rが選択される場合には、第2コピーペアCP2のペア状態が「非スプリット」である。この場合には、バックアップボリュームVOL2−Rの世代番号は、非同期ビットマップBMCの世代番号よりも1つだけ古くなる。
なお、副コピーモジュール240Lは、ユーザの指示に従って、コピー方向を選択することとしてもよい。副コピーモジュール240Lは、このような指示を、例えば、同期副装置200Lの操作パネル(図示せず)や、同期副装置200Lと通信可能な管理サーバから、受け取ることができる。
次のステップS230(図24)では、副コピーモジュール240Lは、ボリュームVOL1−Lと整合ボリュームとの間で差分データのコピーを行い、これらのボリュームのデータを一致させる。このステップS230では、副コピーモジュール240Lは、整合ボリュームに対する読み書きの要求を非同期副装置200Rに送信する。この要求に応じた読み書きは、読み書きモジュール235Rによって実行される。
差分データのコピーが完了したら、副コピー処理が終了する。その後、副ホスト100Lは、副記憶装置200L(VOL1−L)を用いて、データ処理を再開する。
次に、差分ビットマップの選択条件の詳細について説明する。以下、同期ビットマップBMA、BMBの内の非同期ビットマップBMCと同世代のビットマップのことを、単に「同世代ビットマップ」とも呼ぶ。同様に、同期ビットマップBMA、BMBの内の非同期ビットマップBMCと異世代のビットマップのことを、単に「異世代ビットマップ」とも呼ぶ。
(1)条件B1:
非同期ビットマップBMCの状態が「未確定」であり、かつ、異世代ビットマップの状態が「確定」である場合には、同世代ビットマップのみが選択される。この条件B1が満たされる状態としては、例えば、図15の状態1がある。この状態1で正装置200Pに不具合が生じた場合には、第1ビットマップBMAで特定される更新ブロックのデータが、ボリュームVOL1−LからバックアップボリュームVOL2−Rにコピーされる。
非同期ビットマップBMCの状態が未確定である場合には、通常は、整合ボリュームとして、バックアップボリュームVOL2−Rが選択される。また、このバックアップボリュームVOL2−Rの世代は非同期ビットマップBMCよりも1つ古い世代となる。さらに、異世代ビットマップが確定している場合には、通常は、この異世代ビットマップの世代は、非同期ビットマップBMCよりも1つ古い世代である。状態1では、非同期ビットマップBMCの世代番号は100であり、異世代ビットマップ(BMB)の世代番号は99である。このように、条件B1が成立する場合には、同世代ビットマップの世代は、整合ボリューム(バックアップボリュームVOL2−R)の世代よりも1つだけ新しい。従って、この同世代ビットマップを用いることによって、ボリュームVOL1−Lと整合ボリューム(VOL2−R)との間でデータが異なる部分を特定することができる。なお、図22に示す状態8についても同様である。
(2)条件B2:
非同期ビットマップBMCの状態が「未確定」であり、かつ、異世代ビットマップの状態が「未確定」である場合には、両方の同期ビットマップBMA、BMBが選択される。この条件B2が満たされる状態としては、例えば、図16に示す状態2がある。この状態2で正装置200Pに不具合が生じた場合には、2つのビットマップBMA、BMBの「OR」演算によって得られるビットマップが示す更新ブロックのデータが、ボリュームVOL1−LからバックアップボリュームVOL2−Rにコピーされる。
非同期ビットマップBMCが未確定であり、かつ、異世代ビットマップが未確定である場合には、通常は、この異世代ビットマップの世代は、非同期ビットマップBMCよりも1つ新しい世代である。状態2では、非同期ビットマップBMCの世代番号が100であり、異世代ビットマップ(BMB)の世代番号が101である。このように、条件B2が成立する場合には、両方の同期ビットマップBMA、BMBの世代(100、101)は、整合ボリューム(バックアップボリュームVOL2−R)の世代(99)よりも新しい。さらに、同期ビットマップBMA、BMBの世代番号(100、101)は、整合ボリュームの世代番号(99)と連続している。従って、両方の同期ビットマップBMA、BMBの「OR」演算によって得られるビットマップを用いることによって、ボリュームVOL1−Lと整合ボリューム(VOL2−R)との間でデータが異なる部分を特定することができる。なお、図17の状態3についても同様である。
(3)条件B3:
非同期ビットマップBMCの状態が「確定」であり、かつ、同世代ビットマップの状態が「確定」である場合には、同期ビットマップBMA、BMBの内の非同期ビットマップBMCよりも世代が新しく、かつ、未確定のビットマップが選択される。この条件B3が満たされる状態としては、例えば、図18の状態4がある。この状態4で正装置200Pに不具合が生じた場合には、第2ビットマップBMBで特定される更新ブロックのデータが、ボリュームVOL1−LからボリュームVOL1−Rにコピーされる。
非同期ビットマップBMCの状態が確定である場合には、通常は、整合ボリュームとして、非同期コピーの先ボリュームVOL1−Rが選択される。さらに、同世代ビットマップが確定している場合には、通常は、異世代ビットマップの状態は未確定である。この場合には、異世代ビットマップの世代は、非同期ビットマップBMCの世代(すなわち、整合ボリュームVOL1−Rの世代)よりも1つだけ新しい。状態4では、異世代ビットマップ(BMB)の世代番号(101)は、非同期ビットマップBMCの世代(100)よりも1つだけ新しい。このように、条件B3が成立する場合には、同期ビットマップBMA、BMBの内の、非同期ビットマップBMCよりも新しく、かつ、状態が未確定であるビットマップの世代は、整合ボリューム(VOL1−R)の世代よりも1つだけ新しい。従って、このビットマップを用いることによって、ボリュームVOL1−Lと整合ボリューム(VOL1−R)との間でデータが異なる部分を特定することができる。また、ここで選択されるビットマップは、2つの同期ビットマップBMA、BMBの中の比較的新しい世代の履歴を表すビットマップである。なお、図19に示す状態5と、図20に示す状態6と、図21に示す状態7についても同様である。
なお、データ処理システム10aの状態によっては、いずれの条件B1〜B3も成立しない場合がある。このような場合には、副コピーモジュール240Lは、差分データのみをコピーする代わりに、一方のボリュームの全体を他方のボリュームへコピーすればよい。
以上のように、第2実施例では、副コピーモジュール240Lは、図25(B)に示す条件に従って、2つの同期ビットマップBMA、BMBを選択的に利用する。その結果、2つの同期ビットマップBMA、BMBの「OR」演算結果を常に用いる場合と比べて、
ビットマップの演算に要する時間とコピーすべき差分データの量とを低減させることが可能となる。その結果、正記憶装置200Pに不具合が発生した場合でも、迅速に、副記憶装置200LのボリュームVOL1−Lのデータと、副記憶装置200Rのボリューム(整合ボリューム)のデータと、を一致させることができる。その結果、2つの記憶装置200L、200Rを用いることによってデータの冗長性を高めつつ、データ処理を迅速に再開することができる。
また、第2実施例では、非同期コピーと、非同期コピーを中断した状態でのバックアップと、が交互に繰り返し実行される。従って、非同期副装置200Rは、ホスト整合性を有するボリュームを少なくとも1つ確保できる。その結果、正装置200Pに不具合が生じた場合であっても、迅速に、非同期副装置200Rを用いることによってデータ処理を再開できる。
C.第3実施例:
図26は、第3実施例における、コピーモジュール232Pが非同期コピーペアCP2のリシンク開始時に実行する処理を示す説明図である。上述の第2実施例との差違は2つある。1つ目の差違は、このリシンク開始時における処理が、同期コピーの不具合の有無に応じて切り替えられる点である。書き込み処理の他の手順は、図10、図11に示す例と同様である。2つ目の差違は、差分ビットマップを選択するための条件に、新しい条件が追加されている点である。データ処理システムの構成は、図7に示すデータ処理システム10aと同じである。
コピーモジュール232P(図7)は、ステップS300で管理サーバ110Pからリシンク指示を受信すると(図11:ステップM144)、同期コピーに不具合が有るか否かを判断する(S305)。コピーモジュール232Pは、不具合の有無を種々の方法で検知可能である。例えば、コピーモジュール232Pは、コピー要求を同期副装置200Lに送信してからの経過時間が所定時間を越えても完了通知を受信できない場合に、不具合が有ると判断する。また、コピーモジュール232Pは、同期コピー用の通信経路に接続されたインターフェース(図示せず)からエラー通知を受けた場合に、不具合が有ると判断する。コピーモジュール232Pは、このような種々の条件を総合的に用いることによって、不具合の有無を判断することもできる。
同期コピーに不具合が無いと判断された場合の処理(ステップS310)は、図10、図11で説明した処理と同じである。図11のステップP146に示すように、コピーモジュール232Pは、第3ビットマップBMCをクリアする指示(単に「クリア指示」とも呼ぶ)と、第3ビットマップBMCの履歴状態を「未確定」に設定する指示(単に「未確定設定指示」とも呼ぶ)とを、非同期副装置200Rに送信する。さらに、ステップP150に示すように、コピーモジュール232Pは、第3ビットマップBMCの世代を1つ新しくする指示を、非同期副装置200Rに送信する(リシンク開始通知がこの世代更新指示に相当する)。以後、データ処理システム10aは、図10、図11と同様の手順に従って、データ書き込み処理を実行する。
一方、同期コピーに不具合があると判断された場合には、コピーモジュール232Pは、ステップS320に移行する。この場合には、コピーモジュール232Pは、クリア指示と未確定設定指示とを、送信せずに、第3ビットマップBMCの世代を1つ新しくする指示のみを、非同期副装置200Rに送信する。
C1.データ書き込み処理の詳細:
図27、図28は、データ処理システム10aによるデータ書き込み処理の手順を示すシーケンス図である。図28は、図27の手順に続く後半部分を示している。図10、図11に示す手順との差違は、同期コピーの通信経路の不具合によって、非同期コピーペアCP2のリシンク開始時における処理が切り替えられている点だけである。
この例では、同期コピーに不具合が生じた場合であっても、正装置200Pと非同期副装置200Rとを用いたデータ処理が継続される。また、この場合には、同期副装置200Lへのコピー要求は送信されなくなる。さらに、正ホスト100Pへのホスト要求の完了通知は、元のボリュームVOL1−Pへの書き込みの完了通知(例えば、図5の完了通知C10a)の受領に応じて送信される。この際、正装置200Pが、非同期コピーペアCP2のコピー要求の完了通知(例えば、図5の要求C10e(C10d))を受信するか否かについては、考慮されない。
また、この例では、正ホスト100Pは、6つのホスト要求WRs〜WRxを正装置200Pに送信している。ここで、これらの要求WRs〜WRxの書き込み順序の入れ替わりは許容されていることとしている。また、最初のステップP500が実行される時点での世代番号が「100」であることとしている。
なお、各記憶装置200は、図5の例と同様に、コピー(書き込み)要求の完了通知を発行するが、以下の説明や後述する他の実施例では、図示と説明とを省略している。また、正装置200Pは、ホスト要求に応じた書き込み処理を実行するが、以下の説明や後述する他の実施例では、図示と説明とを省略している。
まず、正ホスト100Pは、各要求WRs〜WRwを、この順番に正装置200Pに送信する(図示せず)。正装置200Pは、各要求に応じて、書き込み処理と、同期副装置200Lへのコピー要求WRsL〜WRwLの送信と、を実行する(ステップP500、P504、P506、P516、P520)。ただし、図27の例では、同期コピーの通信経路に不具合が生じており、要求WRtLと、要求WRwLとは、同期副装置200Lに届いていない。同期副装置200Lは、受信した要求WRsL、WRuL、WRvLに応じた書き込み処理を実行する(L502、L508、L518)。以下、正装置200Pと同期副装置200Lとの間の通信が途絶えたこととする。
一方、管理サーバ110P(管理モジュール116P)は、スプリット指示を正装置200Pに送信する(ステップM510)。図27の例では、正装置200Pは、このスプリット指示を、要求WRuと要求WRvとの間に受信している。スプリット指示を受信した正装置200Pは、現行の世代番号を新しい番号(101)に切り替え(P512)、マーカを送信し(P514)、非同期コピーに基づく書き込み要求を非同期副装置200Rに送信する(P522)。これらのステップP512、P514、P522は、図10のステップP112、P114、P128と、それぞれ、同様である。すると、非同期副装置200Rは、世代番号が100である要求WRsR、WRtR、WRuRを受信し、これらの要求に応じた書き込み処理を実行する(R524)。すると、データ処理システム10aの状態は、状態21となる。
図29は、状態21を示す説明図である。図中においては、ボリュームに格納されたホストデータのそれぞれは、ホスト要求の符号から「WR」を省略した符号を用いて示されている。例えば、符号「s」は、ホスト要求WRsのホストデータを示す。後述する他の図についても同様である。
この状態21では、同期コピーの先ボリュームVOL1−Lは、3つのホストデータs、u、vを格納している。また、第1ビットマップBMAについては、世代番号が「100」であり、履歴状態が「未確定」である。この第1ビットマップBMAは、ホストデータs、uの履歴を格納している。一方、第2ビットマップBMBについては、世代番号が「101」であり、履歴状態が「未確定」である。この第2ビットマップBMBは、ホストデータvの履歴を格納している。
一方、非同期コピーペアCP2「VOL1−P、VOL1−R」のペア状態は「ペア」である。また、非同期コピーの先ボリュームVOL1−Rは、世代番号が100である3つのホストデータs、t、uを格納している。第3ビットマップBMCについては、世代番号が「100」であり、履歴状態が「未確定」である。この第3ビットマップBMCは、ホストデータs、t、uの履歴を格納している。
次に、非同期副装置200Rは、非同期コピーによるコピー要求に応じた完了通知を正装置200Pに送信する(図27:ステップR525)。正装置200Pが非同期コピーの全ての完了通知を受信すると、正装置200Pと非同期副装置200Rとは、非同期コピーペアCP2を「スプリット」する処理を実行する(P526、R528)。これらのステップP526、R528は、図10のステップP132、R134と、それぞれ同様である。
次に、管理サーバ110P(管理モジュール116P)は、非同期副装置200Rに対するリシンク指示とスプリット指示とを送信する(M530、M534)。非同期副装置200Rは、これらの指示に従って、非同期コピーの先ボリュームVOL1−Rをバックアップする(R532、R536)。これらのステップM530、R532、M534、R536は、図11のステップM136、R138、M140、R142と、それぞれ同様である。
図30は、非同期副装置200Rが、バックアップコピー(リシンク)処理を実行している状態22を示す説明図である。この状態22では、非同期コピーペアCP2「VOL1−P、VOL1−R」のペア状態は「スプリット」である。また、第3ビットマップBMCの履歴状態は「確定」である。
次に、管理サーバ110P(管理モジュール116P)は、正装置200Pにリシンク指示を送信する(M538)。図27の例では、同期コピーに不具合が生じている。従って、コピーモジュール232Pは、図26のステップS320に従った処理を実行する。具体的には、コピーモジュール232Pは、クリア指示と未確定設定指示とを送信せずに、リシンク開始通知を非同期副装置200Rに送信する(P540)。続くステップR542、P544(図28)は、図11のR152、P154と、それぞれ同様である。
次に、管理サーバ110P(管理モジュール116P)は、新たなサイクルのスプリット指示を正装置200Pに送信する(図28:M550)。この指示に従って、データ処理システム10aは、新たなスプリット処理(P551〜R560)を実行する。これらのステップP551〜R560は、前回のサイクルにおけるステップP511〜R528(図27)と、それぞれ同様である。また、このサイクルでは、正装置200Pは、新たな世代(101)の要求WRvR、WRwRを非同期副装置200Rに送信する(P554)。非同期副装置200Rは、受信した要求に応じた書き込み処理を実行する(R556)。すると、データ処理システム10aの状態は、状態23となる。
図31は、状態23を示す説明図である。バックアップボリュームVOL2−Rは、世代番号100のデータs、t、uを格納している。非同期コピーの元ボリュームVOL1−Rは、世代番号100のデータs、t、uに加えて、世代番号101のデータv、wを格納している。第3ビットマップBMCは、クリアされていないので、世代番号101の履歴(v、w)に加えて、世代番号100の履歴(s、t、u)を格納している。なお、図31の例では、ボリュームVOL1−Pは、新たなデータxを格納している。このデータxは、さらに新たな世代(102)のデータである。
非同期コピーペアCP2のスプリットが完了したら、次に、管理サーバ110P(管理モジュール116P)は、非同期副装置200Rに対するリシンク指示とスプリット指示とを送信する(M562、M566)。非同期副装置200Rは、これらの指示に従って、非同期コピーの先ボリュームVOL1−Rをバックアップする(R564、R568)。これらのステップM562、R564、M566、R568は、図27のステップM530、R532、M534、R536と、それぞれ同様である。
図32は、非同期副装置200Rが、バックアップコピー(リシンク)処理を実行している状態24を示す説明図である。この状態24では、非同期コピーペアCP2「VOL1−P、VOL1−R」のペア状態は「スプリット」である。
次に、管理サーバ110P(管理モジュール116P)は、新たなサイクルのリシンク指示を正装置200Pに送信する(M570)。正装置200Pと非同期副装置200Rとは、前回にリシンク指示を受信したときの処理(P540、R542、P544)と同様の処理を実行する(P572、R574、P578)。
次に、正装置200Pは、非同期コピーに基づく書き込み要求を非同期副装置200Rに送信する(P580)。このステップP580では、世代番号が102である要求WRxRが送信される。非同期副装置200Rは、この要求WRxRに応じた書き込み処理を実行する(R582)。すると、データ処理システム10aの状態は、状態25となる。
図33は、状態25を示す説明図である。この状態25では、第3ビットマップBMCの世代番号は、同期ビットマップBMA、BMBのいずれよりも新しい102番である。また、第3ビットマップBMCは、世代番号100、101の履歴(s,t,u,v,w)に加えて、世代番号102の履歴(x)を格納している。
以上説明したように、第3実施例では、同期コピーに不具合が生じた後は、第3ビットマップBMCはクリアされないので、第3ビットマップBMCは、不具合の生じた時点での世代以降の全ての履歴を格納することとなる。
C2.副コピー処理:
図34は、差分ビットマップを選択するための条件を示す説明図である。図25(B)に示す実施例との差違は、条件B4、B5が追加されている点だけである。正装置200P(図7)に不具合が発生した場合には、副コピーモジュール240Lは、図24に示す第2実施例と同様に、副コピー処理を実行する。ただし、差分ビットマップを選択は(S210)、図25(B)の条件の代わりに、図34の条件に従って行われる。
第3実施例では、同期コピーに不具合が生じた場合であっても、正装置200Pと非同期副装置200Rとを用いたデータ処理が継続される。その結果、非同期ビットマップBMCの世代番号が、同期ビットマップBMA、BMBのいずれの世代番号よりも新しくなる可能性がある。従って、上述した条件B1〜B3のそれぞれには、「同期ビットマップBMA、BMBのいずれか一方の世代番号が、非同期ビットマップBMCの世代番号と同じである」との条件が追加されている。ただし、各条件が満たされるデータ処理システム10aの状態は、上述の第2実施例と同じである。また、新しい条件B4、B5は、同期コピーの不具合が先に生じた場合に起こり得る状態を示している。
(4)条件B4:
非同期ビットマップBMCの状態が「確定」であり、かつ、同世代ビットマップの状態が「未確定」である場合には、非同期ビットマップBMCに加えて、同期ビットマップBMA、BMBの内の未確定のビットマップが選択される。この条件B4が満たされる状態としては、例えば、図30の状態22がある。この状態22で正装置200Pに不具合が生じた場合には、3つのビットマップBMA、BMB、BMCが選択される。そして、3つのビットマップBMA、BMB、BMCの「OR」演算によって得られるビットマップが示す更新ブロックのデータが、ボリュームVOL1−LとバックアップボリュームVOL2−Rとの間でコピーされる。なお、この場合には、2つのボリュームのそれぞれは、互いに共有しないデータ(データtとデータv)を格納している。そのために、副コピーモジュール240Lは、比較的新しいデータを優先する場合であっても、好ましいコピー方向を一意には決定できない。このような場合には、副コピーモジュール240Lは、ユーザの指示に従ってコピー方向を選択することが好ましい。
通常は、未確定な同期ビットマップBMA、BMBは、非同期副装置200Rの整合ボリュームには格納されていない更新の履歴を含む場合が多い。一方、非同期ビットマップBMCは、同期コピーに不具合が生じた場合には、クリアされずに履歴を格納し続ける。従って、非同期ビットマップBMCは、同期コピーの先ボリュームVOL1−Lには格納されていない更新の履歴を含む可能性がある。従って、条件B4が成立する場合(上述の3つの条件B1、B2、B3のいずれも成立しない場合)には、同期ビットマップBMA、BMBの内の未確定のビットマップと、非同期ビットマップBMCと、が選択されることが好ましい。ここで、副コピーモジュール240Lは、選択されたビットマップの「OR」演算によって得られるビットマップを用いて差分データを特定すれば、漏れのない差分データのコピーを実行することができる。なお、図31に示す状態23と、図32に示す状態24についても同様である。
(5)条件B5:
非同期ビットマップBMCの世代番号が、同期ビットマップBMA、BMBのいずれの世代番号よりも新しい場合には、非同期ビットマップBMCのみが選択される。この条件B5が満たされる状態としては、例えば、図33の状態25がある。この状態で正装置200Pに不具合が生じた場合には、非同期ビットマップBMCが示す更新ブロックのデータが、バックアップボリュームVOL2−RからボリュームVOL1−Lにコピーされる。
条件B5が成立する場合は、同期コピーに不具合が生じた後も、非同期コピーを用いたデータ処理が継続された場合である。このような場合には、非同期副装置200Rの整合ボリュームに最新のデータが格納されている。また、非同期ビットマップBMCは、同期コピーに不具合が生じた時点での世代以降の全ての履歴を格納している。従って、非同期ビットマップBMCを用いることによって、ボリュームVOL1−Lと整合ボリューム(VOL2−R)との間でデータが異なる部分を特定することができる。
なお、非同期ビットマップBMCは、バックアップボリュームVOL2−Rの代わりに、非同期コピーの先ボリュームVOL1−Rの履歴を格納する。ただし、非同期ビットマップBMCは、バックアップボリュームVOL2−Rに反映済みの更新の履歴を含む。従って、整合ボリュームとして、バックアップボリュームVOL2−Rが選択された場合であっても、非同期ビットマップBMCを用いることによって、漏れのない差分データの特定が可能である。
以上のように、第3実施例では、副コピーモジュール240Lは、非同期コピーによる更新履歴を格納する非同期ビットマップBMCを用いることによって、差分データを特定することができる(図34:条件B4、B5)。従って、先に同期コピーに不具合が生じ、その後で正装置200Pに不具合が生じた場合であっても、差分データのみをコピーすることによって、迅速に、副記憶装置200LのボリュームVOL1−Lのデータと、副記憶装置200Rのボリューム(整合ボリューム)のデータと、を一致させることができる。
D.第4実施例:
図35は、第4実施例における正装置200Pが実行する同期コピーの不具合対応処理の手順を示すフローチャートである。上述の第3実施例とは異なり、正装置200Pは、同期コピーに不具合が生じた場合には、管理サーバ110Pからのスプリットの指示が無くても、自発的に非同期コピーペアCP2のスプリット処理を実行する。書き込み処理の他の手順は、図26、図27、図28に示す例と同じである。また、データ処理システムの構成は、図7に示すデータ処理システム10aと同じである。
コピーモジュール232Pは、同期コピーに不具合が有るか否かを判断する処理を繰り返し実行する(S500)。不具合が有る場合には、次のステップS510で、非同期コピーペアCP2の状況を確認する。既にペア状態が「スプリット」である場合や、既に「スプリット指示」を受信してスプリットを開始している場合には、コピーモジュール232Pは、自発的なスプリット処理を実行せずに、通常の処理に戻る。
次に、コピーモジュール232Pは、ステップS520に移行し、自発的にスプリット処理を開始する。この自発的なスプリット処理は、管理サーバ110Pからの指示に従って実行されるスプリット処理と同じである。世代設定モジュール236Pは、コピーモジュール232Pから指示を受け、世代番号を更新する(ステップS525)。以後、図26、図27、図28と同様の処理が継続して実行される。
また、コピーモジュール232Pは、同期コピーが完了できなかったホスト要求をステップS500において検出し、ステップS520の自発的なスプリットを実行する場合には、このホスト要求を、自発的なスプリットの後の新世代の要求として扱う。
なお、コピーモジュール232Pは、自発的なスプリット処理を、不具合によって同期コピーの完了通知を受信できなかったホスト要求に応じたコピー要求を非同期副装置200Rに送信する処理の前に、実行する。これは、非同期副装置200Rが、不具合発生時におけるボリュームのバックアップを確保するためである。その結果、第4実施例では、不具合発生時点からのデータ処理の再開が容易となる。
E.第5実施例:
図36は、第5実施例におけるデータ処理システム10bの構成を示す概略図である。図7に示すデータ処理システム10aとの差違は、3点ある。1つ目の差違は、非同期副装置200Rにおいて、履歴作成モジュール238Rと第3ビットマップBMCとが省略され、この代わりに、状態情報280Rを格納するボリュームVOL3−Rが設けられている点である。2つ目の差違は、ペア情報248Rにおける第2コピーペアCP2に関する情報が省略されている点である。3つ目の差違は、副コピー処理で用いられる条件が、図25(A)(B)に示す例と異なっている点である。他の構成は、図7のデータ処理システム10aと同じである。また、データ処理システム10bによるデータ書き込み処理の手順は、以下の点を除いて、図10、図11に示す手順と同様である。すなわち、第5実施例では、非同期ビットマップBMCの設定に関する処理と、ペア情報248Rの非同期コピーペアCP2の設定に関する処理とが省略されている。この代わりに、状態情報280Rの書き込み処理が追加されている。
E1.データ書き込み処理:
図37は、状態情報280Rの書き込み処理の手順を示すシーケンス図である。このシーケンス図は、データ処理システム10bによるデータ書き込み処理の一部分を示しており、非同期コピーが完了した後に続く処理を示している。コピーモジュール232Pは、非同期コピーの全てのコピー要求の完了通知を受信した後に、ペア情報248Pにおける非同期コピーペアCP2のペア状態を「スプリット」に設定する(P600)。このステップP600は、図10のステップP132と同じである(ただし、完了通知は送信されない)。次に、コピーモジュール232Pは、ボリュームVOL3−Rに対する書き込み要求を非同期副装置200Rに送信する(P602)。書き込みデータは、「確定」を示すデータである。「確定」の意味については後述する。非同期副装置200Rの読み書きモジュール235Rは、受信した要求に応じて、要求されたデータをVOL3−Rに書き込む(R604)。ここで書き込まれたデータが、状態情報280Rに相当する。以後、データ処理システム10bは、管理サーバ110Pが正装置200Pに非同期コピーペアCP2のリシンク指示を送信するまで(例えば、図11:M144)、図10、図11と同様の処理を実行する。
図38は、状態情報280Rの書き込み処理の手順を示すシーケンス図である。このシーケンス図は、データ処理システム10bによるデータ書き込み処理の一部分を示しており、非同期コピーペアCP2のリシンク処理の実行に先立って実行される処理を示している。まず、コピーモジュール232Pは、管理サーバ110Pからリシンク指示を受信する(P610)。次に、コピーモジュール232Pは、リシンク処理を実行する前に、ボリュームVOL3−Rに対する書き込み要求を非同期副装置200Rに送信する(P612)。要求される書き込みデータは、「未確定」を示すデータである。「未確定」の意味については後述する。状態情報280Rは、このデータによって更新される。次に、コピーモジュール232Pは、状態情報280Rの書き込み要求の完了通知(図示せず)を読み書きモジュール235Rから受信したことに応じて、リシンク処理を実行する(P616)。このステップP616は、図11のステップP154と同じである。以後、データ処理システム10bは、管理サーバ110Pが正装置200Pにスプリット指示を送信するまで(例えば、図10:M108)、図10、図11と同様の処理を実行する。
以上のように、第5実施例では、非同期コピーペアCP2のペア状態に応じて、状態情報280Rは「確定」と「未確定」とを交互に示すこととなる。ここで、1つの世代に関する非同期コピーが完了し、次の世代の非同期コピーが開始されるまでの間は、状態情報280Rは「確定」となる。すなわち、状態情報280Rが「確定」であることは、非同期コピーの先ボリュームVOL1−Rがホスト整合性を有していることを意味している。一方、状態情報280Rが「未確定」であることは、先ボリュームVOL1−Rがホスト整合性を有していない可能性があることを意味する。なお、この場合には、通常は、バックアップボリュームVOL2−Rがホスト整合性を有している。
図39は、状態情報280Rの書き込み処理の手順を示すシーケンス図である。このシーケンス図は、データ処理システム10bによるデータ書き込み処理の一部分を示しており、同期コピーに不具合が生じた場合に実行される処理を示している。同期コピーに不具合が生じると、コピーモジュール232Pは、同期コピーの完了通知を受信できなかったホスト要求に応じたコピー要求を非同期副装置200Rに送信することとなる。コピーモジュール232Pは、このようなコピー要求を非同期副装置200Rに送信する前に、「全コピー」を示すデータの書き込み要求を非同期副装置200Rに送信する(P620)。「全コピー」の意味については後述する。読み書きモジュール235Rは、受信した要求に応じて、要求されたデータをVOL3−Rに書き込む(R622)。なお、状態情報280Rは、「確定/未確定」を示すデータに加えて、「全コピー」を示すデータを含むこととなる。
次に、コピーモジュール232Pは、状態情報280Rの書き込み要求の完了通知(図示せず)を読み書きモジュール235Rから受信したことに応じて、非同期コピーに応じたコピー(書き込み)要求を非同期副装置200Rに送信する(P624)。このコピー要求には、同期コピーがされなかったホストデータのコピー要求が含まれている。なお、このステップP624は、図10のステップP128や図11のステップP156と同様に行われる。以後、データ処理システム10bは、図10、図11の例と同様に、データの書き込み処理を継続する。
E2.副コピー処理:
第5実施例では、正装置200Pに不具合が生じた場合には、副コピーモジュール240Lは、図24に示す手順に従って副コピー処理を実行する。図40(A)は、整合ボリュームを選択するための条件を示している。図25(A)に示す条件との差違は、第2コピーペアCP2のペア状態の代わりに、状態情報280Rが用いられている点である。上述したように、状態情報280Rが「確定」を示す場合(条件V11)には、ボリュームVOL1−Rがホスト整合性を有しているので、ボリュームVOL1−Rが選択される。一方、状態情報280Rが「未確定」を示し、かつ、バックアップコピーペアBCPのペア状態が「スプリット」である場合には(条件V12)、バックアップボリュームVOL2−Rが選択される。なお、通常は、状態情報280Rが「未確定」を示す場合には、バックアップコピーペアBCPのペア状態は「スプリット」である。また、副コピーモジュール240Lは、読み書きモジュール235Rとの通信によって、状態情報280Rを取得可能である。
図40(B)は、差分ビットマップを選択するための条件を示している。図25(B)に示す条件との差違は、この条件が状態情報280Rを用いて定められている点である。
(1)条件B11:
状態情報280Rが「全コピー」を示している場合には、副コピーモジュール240Lは、差分コピーの代わりに、一方のボリュームの全体を他方のボリュームへコピーする。この場合には、非同期コピーの先ボリュームVOL1−Rが、同期コピーの先ボリュームVOL1−Lに格納されていないデータを格納している。ただし、第5実施例では、非同期ビットマップBMCが省略されているので、この差分データの特定ができない。そこで、副コピーモジュール240Lは、ボリュームの全体のコピーを実行する。
(2)条件B12:
状態情報280Rが「全コピー」を示さず、かつ「確定」を示す場合には、BMBのうちの一方の未確定ビットマップのみが選択される。この条件B12が満たされる場合には、通常は、2つの同期ビットマップBMA、BMBのうち、整合ボリュームVOL1−Rと同世代のビットマップは確定している。一方、他方の同期ビットマップは、未確定であり、さらに、整合ボリュームVOL1−Rよりも1つだけ新しい世代の履歴を格納している。従って、副コピーモジュール240Lは、この未確定の同期ビットマップを用いることによって、差分データを特定することが可能である。
(3)条件B13:
状態情報280Rが「全コピー」を示さず、かつ「未確定」を示す場合には、両方の同期ビットマップBMA、BMBが選択される。この条件B13が満たされる場合には、通常は、図25(B)に示す条件B2と同様に、両方の同期ビットマップBMA、BMBの世代は、整合ボリューム(バックアップボリュームVOL2−R)の世代よりも新しい。従って、副コピーモジュール240Lは、2つのビットマップBMA、BMBの「OR」演算によって得られるビットマップを用いて、差分データを特定することができる。
以上のように、第5実施例では、図7に示す例とは異なり、第3ビットマップBMCが省略されている。さらに、非同期コピーの先ボリュームVOL1−Rの状態に関する情報を非同期副装置200Rに格納するために、コピーモジュール232Pは、種々の指示(例えば、図11のステップP150のペア状態を設定する旨の通知)の代わりに、単純なデータ(状態情報280R)を含む書き込み要求を、非同期副装置200Rに送信する。従って、非同期副装置200Rの機能の簡素化を図りつつ、ホスト整合性を有するボリュームを用いた副コピー処理が可能となる。
F.第6実施例:
図41は、第6実施例におけるデータ処理システム10cの構成を示す説明図である。上述の各実施例との差違は、コンシステンシグループCG1、CG2が設定されている点である。ここで、コンシステンシグループとは、共通の世代に基づいてデータ書き込み処理の制御が行われる複数のコピーペアのグループである。本実施例では、1つのコンシステンシグループに含まれる複数のコピーペアに関しては、スプリット状態への移行が同時に行われる。換言すれば、これら複数のコピーペアに関しては、世代の切り替えが同時に行われる。また、1つのコンシステンシグループの複数のコピーペアに対しては、共通の世代番号が用いられる。
管理サーバ110Pのメモリ114Pは、管理モジュール116aPとコンシステンシグループ情報118とを格納している。コンシステンシグループ情報118は、非同期コピーの元ボリュームの識別子と、グループ番号と、の対応関係を定めている。図41の例では、2つのボリュームVOL10−P、VOL11−P(2つの非同期コピーペアACP10、ACP11)が、第1グループCG1を構成し、3つのボリュームVOL12−P、VOL13−P、VOL14−P(3つの非同期コピーペアACP12、ACP13、ACP14)が、第2グループCG2を構成している。なお、各コピーペアACP10〜ACP11を構成する複数の元ボリュームVOL10−P〜VOL14−Pは、互いに異なる識別子によって特定されている。複数の先ボリュームVOL20−R〜VOL24−Rについても同様である。また、データ処理システム10cの他の構成は、上述の各実施例(例えば、図7のデータ処理システム10aや図36のデータ処理システム10b)と同じである(図示省略)。
図42は、データ書き込み処理の比較例を示すシーケンス図である。このシーケンス図は、データ処理システム10cによるデータ書き込み処理の一部分を示しており、2つの非同期コピーペアACP10、ACP11のスプリットが実行される部分を示している。この比較例では、2つの非同期コピーペアACP10、ACP11のスプリットが、異なるタイミングで実行されることとしている。なお、スプリット以外の処理は、上述の各実施例(例えば、図10、図11、や、図26、図27、図28の例)と同じである。また、ボリュームの世代が、このスプリットによって「100」から「101」に切り替えられることとしている。
図42の例では、正装置200Pは、4つのホスト要求WRh〜WRkを、この順番に受信し、各要求に応じた非同期コピー要求WRhR〜WRkRを非同期副装置200Rに送信する(P200、P202、P204、P206)。非同期副装置200Rは、要求に応じた書き込み処理を実行する(R201、R203、R205、R207)。
ここで、先の2つのコピー要求WRhR、WRiRの対象はボリュームVOL20−R(非同期コピーペアACP10)であり、後の2つのコピー要求WRjR、WRkRの対象は、ボリュームVOL21−R(非同期コピーペアACP11)である。対象ボリュームが異なる理由は、先の2つのホスト要求WRh、WRiの対象が、ボリュームVOL10−P(図41)であり、後の2つのホスト要求WRj、WRkの対象が、ボリュームVOL11−Pであるからである。また、これらのホスト要求WRh〜WRkの書き込み順序の入れ替わりは許容されていないこととしている。このように、異なるボリュームを対象とする複数のホスト要求の書き込み順序の入れ替わりが許容されない場合としては、例えば、1つのデータベースが複数のボリュームに分割して格納されている場合や、1つのデータファイルが複数のボリュームに分割して格納されている場合がある。
管理モジュール116aP(図41)は、コンシステンシグループ情報118を参照し、第1コンシステンシグループCG1に含まれる全ての非同期コピーペア(ACP10、ACP11)のスプリット指示を正装置200Pに送信する。ただし、この比較例では、各コピーペアのスプリット指示が互いに異なるタイミングで送信されている(M210、M212)。正装置200Pは、非同期コピーペアACP10のスプリットを、ステップP200、P202の間に実行している(P210)。さらに、正装置200Pは、非同期コピーペアACP11のスプリットを、ステップP204、P206の間に実行している(P212)。これらのスプリットによって、世代が「100」から「101」に切り替えられる。図42の書き込み処理(R201、R203、R205、R207)に付された括弧内の数字は世代番号を示す。
ここで、正装置200Pに不具合が生じ、非同期副装置200Rを用いることによってデータ処理が再開されるとする。ところが、世代番号「100」の全ての要求が反映された2つのボリュームVOL20−R、VOL21−R(あるいは、これらのバックアップボリューム)には、先のホストデータiが格納されずに後のホストデータjが格納されている。すなわち、これらのボリュームVOL20−R、VOL21−R(あるいは、バックアップボリューム)の全体は、ホスト整合性を有さないこととなる。その結果、非同期副装置200Rを用いたデータ処理の再開に不具合が生じる。
図43は、第6実施例におけるデータ書き込み処理を示すシーケンス図である。図42の比較例との差違は、2つの非同期コピーペアACP10、ACP11のスプリットが、同じタイミングで実行される点だけである。各コピーペアACP10、ACP11に対して実行されるデータ書き込み処理は、スプリットのタイミング以外の部分については、上述の各実施例(例えば、図10、図11、や、図26、図27、図28の例)と同じである。管理モジュール116aP(図41)は、第1コンシステンシグループCG1(2つの非同期コピーペアACP10、ACP11)のスプリットを同時に実行する旨の指示を正装置200Pに送信する(M220)。正装置200Pは、指示に従って、同時にスプリットを実行する(P220)。図43の例では、正装置200Pは、スプリットを、ステップP204、P206の間に実行している。その結果、世代番号「100」の全ての要求が反映された2つのボリュームVOL20−R、VOL21−R(あるいは、これらのバックアップボリューム)は、ホストデータh、i、jを格納する。これらのボリュームVOL20−R、VOL21−R(あるいは、これらのバックアップボリューム)の全体は、ホスト整合性を有している。これは、他のタイミングでスプリットが行われた場合も同様である。また、各ホスト要求の対象ボリュームが、図43の例とは異なる場合も同様である。
以上のように、第5実施例では、管理モジュール116aPは、1つのコンシステンシグループに含まれる複数のコピーペアに対して、同時にスプリットをする旨の指示を正装置200Pに送信する。正装置200Pは、この指示に従って、これらの複数のコピーペアのスプリット(世代の更新)を同じタイミングで実行する。その結果、書き込み順序の入れ替わりが許容されない複数のホストデータが、複数のボリュームに分けて格納される場合であっても、スプリット後のボリュームの全体や、バックアップボリュームの全体において、ホストデータの書き込み順序が世代を超えて入れ替わることを防止できる。これは、1つのコンシステンシグループに含まれるコピーペアの数が3以上である場合も同様である。
G.第7実施例:
図44は、第7実施例におけるデータ処理システム10dの構成を示す説明図である。図41に示すデータ処理システム10cとの差違は、1つのコンシステンシグループの複数の非同期コピーペアが、複数の正装置200Pと非同期副装置200Rに分けて設けられている点である。このデータ処理システム10dは、複数の正装置200aP〜200cPと複数の非同期副装置200aR〜200cRとを有している。第1コンシステンシグループCG1に関しては、第1非同期コピーペアACP10が第1正装置200aPと第1非同期副装置200aRとを用いて形成され、第2非同期コピーペアACP11が第2正装置200bPと第2非同期副装置200bRとを用いて形成されている。第2コンシステンシグループCG2についても、同様に、非同期コピーペアACP12が第2正装置200bPと第2非同期副装置200bRとを用いて形成され、非同期コピーペアACP13、ACP14が第3正装置200cPと第3非同期副装置200cRとを用いて形成されている。なお、各正装置200aP〜200cPの構成は、図7に示す正装置200Pの構成と同じであり、各非同期副装置200aR〜200cRの構成は、図7に示す非同期副装置200Rの構成と同じである。データ処理システム10dの他の構成は、図7のデータ処理システム10aと同じである(図示省略)。
図45は、データ書き込み処理の比較例を示すシーケンス図である。このシーケンス図は、データ処理システム10dによるデータの書き込み処理の一部分を示しており、2つの非同期コピーペアACP10、ACP11のスプリットが実行される部分を示している。なお、各コピーペアACP10、ACP11に対して実行されるデータ書き込み処理は、図10、図11の例と同じである。また、ボリュームの世代が、このスプリットによって「100」から「101」に切り替えられることとしている。
正ホスト100Pは、図42の例と同じ4つのホスト要求WRh〜WRkを、この順番に送信する(H300、H310、H320、H330)。ただし、先の2つの要求WRh、WRiの送信先は第1正装置200aPであり、後の2つの要求WRj、WRkの送信先は第2正装置200bPである。各正装置200aP、200bPは、受信した要求に応じて、書き込み処理を実行し(Pa302、Pa312、Pb322、Pb332)、完了通知を正ホスト100Pに送信する(Pa304、Pa314、Pb324、Pb334)。
管理モジュール116bP(図44)は2つの正装置200aP、200bP(制御装置210aP、210bP)に同時にスプリット指示を送信している(M340)。ただし、各正装置200aP、200bPは、互いに異なるタイミングでスプリット指示を受信している。これは、管理サーバ110Pとの通信経路が、各正装置200aP、200bP毎に異なっているからである。その結果、各非同期コピーペアACP10、ACP11のスプリットが、互いに異なるタイミングで実行される。図45の例では、第1正装置200aPは、ステップPa304、Pa312の間にスプリットを実行する。一方、第2正装置200bPは、ステップPb324、Pb332の間にスプリットを実行する。図45の書き込み処理(Pa302、Pa312、Pb322、Pb332)に付された括弧内の数字は世代番号を示す。
ここで、非同期副装置200Rを用いることによってデータ処理が再開されるとする。ところが、図42の比較例と同様に、2つのボリュームVOL20−R、VOL21−R(あるいは、バックアップボリューム)の全体は、ホスト整合性を有さないので、非同期副装置200Rを用いたデータ処理の再開に不具合が生じる。
図46は、第7実施例におけるデータ書き込み処理を示すシーケンス図である。図45の比較例との差違は、管理モジュール116bP(図44)が、正ホスト100Pによるデータ更新が保留されている間に、2つの正装置200aP、200bPにスプリット指示を送信している点である。4つのホスト要求WRh〜WRkは、図45の例と同じである。具体的には、まず、管理サーバ110P(管理モジュール116bP)は、スプリット指示の送信前に、新規のデータ更新を保留する指示を正ホスト100Pに送信する(M350)。すると、正ホスト100Pは、全ての送信済みのホスト要求の完了通知を正装置200Pから受信した後に、保留完了通知を管理サーバ110Pに送信する(H352)。図46の例では、正ホスト100Pは、ホスト要求WRhの送信(H300)の後に保留指示を受信している。従って、正ホスト100Pは、この要求WRhの完了通知Chを受信した後に、保留完了通知を管理サーバ110Pに送信する(H352)。以後、正ホスト100Pは、新規のホスト要求の送信を保留する。
次に、管理サーバ110P(管理モジュール116bP)は、正ホスト100Pから保留完了通知を受信したことに応じて、2つの正装置200aP、200bPにスプリット指示を送信する(M354)。すると、各正装置200aP、200bPは、それぞれ、指示に従ってスプリットを実行し、スプリットの完了通知を管理サーバ110Pに送信する(Pa356、Pb358)。各正装置200aP、200bPのコピーモジュール232Pは、これらの完了通知を、世代の更新と、更新前の世代の非同期コピーの全てのコピー要求の完了通知の受領と、に応じて、それぞれ送信する。
管理サーバ110Pは、2つの正装置200aP、200bPからのスプリット完了通知を受信したことに応じて、新規のデータ更新を再開する指示を正ホスト100Pに送信する(M360)。正ホスト100Pは、この指示を受信したことに応じて、次のホスト要求WRiを送信する(H310)。以後、データ処理システム10dは、各ホスト要求WRi、WRj、WRkに応じた処理を実行する(要求WRj、WRkについては、図示省略)。
以上のように、第7実施例では、管理モジュール116bPは、正ホスト100Pに新規のデータ更新を保留する指示を送信する。そして、管理モジュール116bPは、正ホスト100Pがデータ更新を保留している間に、1つのコンシステンシグループに含まれる全てのコピーペアに対するスプリット指示を、各コピーペアのペア状態を制御する全ての正記憶装置(200aP、200bP。具体的には、全ての制御装置(210aP、210bP))に送信する。その結果、書き込み順序の入れ替わりが許容されない複数のホストデータが、互いに異なる制御装置にペア状態が管理される複数のボリュームに分けて格納される場合であっても、スプリット後のボリュームの全体や、バックアップボリュームの全体において、ホストデータの書き込み順序が世代を超えて入れ替わることを防止できる。これは、1つのコンシステンシグループに含まれる複数のコピーペアの各ペア状態を制御する正記憶装置(制御装置)の数が3以上である場合も同様である。また、この実施例の態様は、図26、図27、図28の例や、図35の例や、図36の例にも適用可能である。
H.第8実施例:
図47は、第8実施例におけるデータ処理システム10eの構成を示す説明図である。図44に示すデータ処理システム10dとの差違は、管理モジュール116cPが、更新保留指示を、正ホスト100Pの代わりに、各正装置200Pに送信する点だけである。他の構成は、図44に示すデータ処理システム10dと同じである。
図48は、第8実施例におけるデータ書き込み処理を示すシーケンス図である。図46に示す例との差違は、管理サーバ110P(図47:管理モジュール116cP)が、各正装置200aP、200bPによるデータ更新が保留されている間に、各正装置200aP、200bPにスプリット指示を送信している点である。4つのホスト要求WRh〜WRk(H300〜H330)と、これらの要求に応じた各正装置200aP、200bPの処理(Pa302〜Pa314、Pb322〜Pb334)とは、図45、図46の例と同じである。
まず、管理サーバ110P(管理モジュール116cP)は、新規のデータ更新を保留する指示を2つの正装置200aP、200bPに送信する(M370)。各正装置200aP、200bPは、全ての受信済みのホスト要求の完了通知の発行後に、保留完了通知を管理サーバ110Pに送信する(Pa372、Pb374)。図48の例では、第1正装置200aPは、ホスト要求WRhの受信(Pa302)の後に保留指示を受信している。従って、第1正装置200aPは、この要求WRhの完了通知Chの送信(Pa304)の後に、保留完了通知を管理サーバ110Pに送信する(Pa372)。以後、各正装置200aP、200bPは、新規のホスト要求を受信しても、書き込み処理を実行せずに保留する。例えば、図48の例では、第1正装置200aPは、保留完了通知送信(Pa372)の後に、ホスト要求WRiを受信している。しかし、第1正装置200aPは、この要求に応じた処理を後で実行する(後述)。
次に、管理サーバ110P(管理モジュール116cP)は、各正装置200aP、200bPから保留完了通知を受信したことに応じて、各正装置200aP、200bPにスプリット指示を送信する(M380)。すると、各正装置200aP、200bPは、図46の例と同様に、それぞれ、指示に従ってスプリットを実行し、スプリットの完了通知を管理サーバ110Pに送信する(Pa382、Pb384)。管理サーバ110Pは、2つの正装置200aP、200bPからのスプリット完了通知を受信したことに応じて、新規のデータ更新を再開する指示を各正装置200aP、200bPに送信する(M390)。各正装置200aP、200bPは、この指示を受信したことに応じて、新規ホスト要求に応じた処理の実行を開始する。例えば、図48の例では、第1正装置200aPは、保留された要求WRiに応じた書き込み処理を、再開指示を受信したことに応じて、実行する(Pa312)。以後、データ処理システム10eは、要求WRj、WRkに応じた処理を実行する。
以上のように、第8実施例では、管理モジュール116cPは、1つのコンシステンシグループに含まれる複数のコピーペアのそれぞれのペア状態を制御する全ての正記憶装置(200aP、200bP。具体的には、全ての制御装置(210aP、210bP))に、新規のデータ更新を保留する指示を送信する。そして、管理モジュール116cPは、これら全ての正装置200Pがデータ更新を保留している間に、1つのコンシステンシグループに含まれる全てのコピーペアに対するスプリット指示を、これら全ての正記憶装置に送信する。その結果、書き込み順序の入れ替わりが許容されない複数のホストデータが、互いに異なる制御装置にペア状態が管理される複数のボリュームに分けて格納される場合であっても、スプリット後のボリュームの全体や、バックアップボリュームの全体において、ホストデータの書き込み順序が世代を超えて入れ替わることを防止できる。これは、1つのコンシステンシグループに含まれる複数のコピーペアの各ペア状態を制御する正記憶装置(制御装置)の数が3以上である場合も同様である。また、この実施例の態様は、図26、図27、図28の例や、図35の例や、図36の例にも適用可能である。
I.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
変形例1:
上記各実施例において、副コピー処理で用いられるビットマップの選択条件としては、種々の条件を採用可能である。例えば、図25(B)に示す条件の代わりに、2つの同期ビットマップBMA、BMBの内の整合ボリュームの世代よりも新しい世代のビットマップを差分ビットマップとして選択する任意の条件を採用可能である。なお、図25(B)の例では、このような差分ビットマップが、非同期ビットマップBMCの世代に基づいて選択される。従って、非同期ビットマップBMCの世代が、本発明における「バックアップ世代情報」に相当する。
ここで、副コピーモジュール240L(図7)が、バックアップモジュール242RからバックアップボリュームVOL2−Rの世代を取得することとしてもよい。バックアップモジュール242RがバックアップボリュームVOL2−Rの世代を特定する方法としては、種々の方法を採用可能である。例えば、非同期ビットマップBMCの世代とバックアップ処理の進行状況とに基づいて特定する方法を採用可能である。具体的には、非同期ビットマップBMCに記録された更新が、バックアップ処理によってバックアップボリュームVOL2−Rに反映される前は、バックアップボリュームVOL2−Rの世代は、非同期ビットマップBMCの世代よりも1つ前の世代である。一方、反映後には、バックアップボリュームVOL2−Rの世代は、非同期ビットマップBMCの世代と同じとなる。また、正装置200Pが、図12に示すコピー(書き込み)要求と同様に、世代番号GNoが付加されたコピー要求を非同期副装置200Rに送信することとしてもよい。こうすれば、バックアップモジュール242Rは、コピー要求に含まれる世代番号GNoとバックアップ処理の進行状況とに基づく特定を実行可能である。
変形例2:
図25(A)に示す条件において、非同期コピーペアCP2(VOL1−R)のペア状態が「スプリット」であることは、副コピー処理の実行時点が、旧世代の全ての非同期コピー要求の完了通知の発行後から新たな世代の非同期コピー要求の送信開始までの間であることを表す第1タイミング条件が成立していることを意味している。また、バックアップコピーペアBCP(VOL2−R)のペア状態が「スプリット」であることは、副コピー処理の実行時点が、バックアップの完了通知の発行後から新たなバックアップ処理の開始までの間であることを表す第2タイミング条件が成立していることを意味している。このように、非同期コピーペアCP2のペア状態とバックアップコピーペアBCPのペア状態とは「タイミング条件情報」に相当する。ただし、上記各実施例では、通常は、非同期コピーペアCP2(VOL1−R)のペア状態が「非スプリット」である場合には、バックアップコピーペアBCP(VOL2−R)のペア状態が「スプリット」である。従って、副コピーモジュール240Lは、バックアップコピーペアBCPのペア状態を用いずに、非同期コピーペアCP2のペア状態が「非スプリット」であることに応じて、第2タイミング条件が成立していると判断可能である。
また、図40(A)に示す条件において、状態情報280Rが「確定」を示すことは、副コピー処理の実行時点が、旧世代の全ての非同期コピー要求の完了通知の発行後から新たな世代の非同期コピー要求の送信開始までの間であることを表す第1タイミング条件が成立していることを意味している。また、上記各実施例では、通常は、状態情報280Rが「確定」を示していない場合、すなわち、状態情報280Rが「未確定」を示す場合には、バックアップコピーペアBCPのペア状態は「スプリット」である。従って、副コピーモジュール240Lは、バックアップコピーペアBCP(VOL2−R)のペア状態を用いずに、状態情報280Rが「未確定」であることに応じて、第2タイミング条件が成立していると判断可能である。
変形例3:
図41、図44、図47に示す実施例において、同期コピーの先ボリュームの構成としては、種々の構成を採用可能である。例えば、各元ボリュームVOL10−P〜VOL14−Pのそれぞれに対応付けられた複数の同期コピーの先ボリューム(図示せず)が、1台の同期副装置200Lに設けられていてもよい。この代わりに、複数の先ボリュームが、複数の記憶装置に分けて設けられていてもよい。いずれの場合も、複数の先ボリュームのそれぞれは、互いに異なる識別子(装置識別子とボリューム識別子)によって特定されることが好ましい。非同期コピーの先ボリュームの構成についても、同様である。
変形例4:
上記各実施例において、いずれかの記憶装置200の動作状況に応じて他の記憶装置200に指示を送信する装置としては、管理サーバ110Pに限らず、種々の装置を採用可能である。例えば、各記憶装置200が、互いに、自己の動作状況に応じて他の記憶装置200に指示を送信することとしてもよい。具体的には、正装置200Pが、非同期コピーに基づく全ての旧世代のコピー要求の完了通知を非同期副装置200Rから受信したことに応じて(例えば、図10:R131)、非同期副装置200Rにリシンク(バックアップ)の指示(図11:M136)を送信することとしてもよい。また、非同期副装置200Rが、バックアップ処理(図11:R138)の完了に応じて、正装置200Pにリシンク指示(図11:M144)を送信することとしてもよい。また、いずれかの記憶装置200の制御装置210が、管理サーバ110Pの機能を有することとしてもよい。
変形例5:
上記各実施例において、同期副装置200L(例えば、履歴作成モジュール238L。図7)が、ある世代の全ての同期コピー要求の完了通知が発行されたか否かを判断する方法としては、種々の方法を採用可能である。例えば、コピーモジュール232Pが、ある世代のホスト要求の総数を同期副装置200Lに送信することとしてもよい。履歴作成モジュール238Lは、その世代のコピー要求の完了通知の総数が、同じ世代のホスト要求の総数と同じになった場合に、その世代の全ての完了通知が発行されたと判断できる。
同様に、非同期副装置200R(例えば、バックアップモジュール242R。図7)が、ある世代の全ての非同期コピー要求の完了通知が発行されたか否かを判断する方法としては、種々の方法を採用可能である。例えば、非同期副装置200Rも、同期副装置200Lと同様に、正装置200Pから、世代番号GNo(図12)が付加されたコピー要求を受けることとしてもよい。こうすれば、非同期副装置200Rは、同期副装置200Lと同様に判断可能である。また、この場合には、履歴作成モジュール238Rは、コピー要求に付加された世代番号GNoを参照することによって、第3ビットマップBMCの世代を設定できる。
変形例6:
上記各実施例において、非同期副装置200Rも、同期副装置200Lと同様に、正装置200Pから、シーケンス番号SNo(図12)が付加されたコピー要求を受けることとしてもよい。さらに、非同期副装置200Rが、シーケンス番号SNoの順番に、要求に応じた書き込み処理を実行することとしてもよい。こうすれば、非同期コピーの先ボリュームVOL1−Rも常にホスト整合性を有することとなる。従って、バックアップボリュームVOL2−Rとバックアップモジュール242Rとを省略することが可能となる。ただし、上記各実施例のように、非同期副装置200Rが、コピー要求を受信した順番に、各要求のデータをボリュームVOL1−Rに書き込みこととしてもよい。こうすれば、非同期副装置200Rの構成を簡単なものとすることができる。これらは、同期副装置200Lについても同様である。
変形例7:
上記各実施例において、副コピーモジュール240Lも、コピーモジュール232と同様に、データのコピーを実行するための、指示モジュールとアクセスモジュールとを有することが好ましい。こうすれば、副コピー処理のコピー先の記憶領域の設定に要するユーザの労力を軽減することができる。
変形例8:
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。例えば、読み書きモジュール235(図2)の機能を、論理回路を有するハードウェア回路によって実現することとしてもよい。
本発明の一実施例としてのデータ処理システムのハードウェア構成を示す説明図である。 データ処理システム10の構成を示す概略図である。 ペア情報248Pの一例を示す説明図である。 ボリューム情報246Pの一例を示す説明図である。 データ処理システム10によるデータ書き込み処理の概要を示すブロック図である。 正装置200Pに不具合が発生した場合のデータ処理システム10を示す概略図である。 第2実施例におけるデータ処理システム10aの構成を示す説明図である。 正ホスト100Pが3つのホスト要求WR1、WR2、WR3を送信する場合の処理の流れを示している。 データ処理システム10aによるデータ書き込み処理の手順を示すシーケンス図である。 データ処理システム10aによるデータ書き込み処理の手順を示すシーケンス図である。 データ処理システム10aによるデータ書き込み処理の手順を示すシーケンス図である。 正装置200Pが同期副装置200Lに送信するコピー要求を示す説明図である。 ビットマップBMABMBを示す説明図である。 同期副装置200Lが各要求WR31L〜WR35LとマーカMKとを受信する順番を示す説明図である。 データ処理システム10aの状態1を示す説明図である。 状態2を示す説明図である。 状態3を示す説明図である。 状態4を示す説明図である。 状態5を示す説明図である。 状態6を示す説明図である。 状態7を示す説明図である。 状態8を示す説明図である。 正装置200Pに不具合が発生した場合のデータ処理システム10aを示す説明図である。 副コピー処理の手順を示すフローチャートである。 副コピー処理に用いられる条件を示す説明図。 第3実施例におけるコピーモジュール232Pが非同期コピーペアCP2のリシンク開始時に実行する処理を示す説明図である。 データ処理システム10aによるデータ書き込み処理の手順を示すシーケンス図である。 データ処理システム10aによるデータ書き込み処理の手順を示すシーケンス図である。 状態21を示す説明図である。 状態22を示す説明図である。 状態23を示す説明図である。 状態24を示す説明図である。 状態25を示す説明図である。 差分ビットマップを選択するための条件を示す説明図である。 第4実施例における正装置200Pが実行する同期コピーの不具合対応処理の手順を示すフローチャートである。 第5実施例におけるデータ処理システム10bの構成を示す概略図である。 状態情報280Rの書き込み処理の手順を示すシーケンス図である。 状態情報280Rの書き込み処理の手順を示すシーケンス図である。 状態情報280Rの書き込み処理の手順を示すシーケンス図である。 整合ボリュームを選択するための条件および差分ビットマップを選択するための条件を示す説明図である。 第6実施例におけるデータ処理システム10cの構成を示す説明図である。 データ書き込み処理の比較例を示すシーケンス図である。 第6実施例におけるデータ書き込み処理を示すシーケンス図である。 第7実施例におけるデータ処理システム10dの構成を示す説明図である。 データ書き込み処理の比較例を示すシーケンス図である。 第7実施例におけるデータ書き込み処理を示すシーケンス図である。 第8実施例におけるデータ処理システム10eの構成を示す説明図である。 第8実施例におけるデータ書き込み処理を示すシーケンス図である。
符号の説明
10...データ処理システム
10a...データ処理システム
10b...データ処理システム
10c...データ処理システム
10d...データ処理システム
10e...データ処理システム
100...ホストコンピュータ
110...管理サーバ
112...CPU
114...メモリ
116...管理モジュール
116aP...管理モジュール
116bP...管理モジュール
116cP...管理モジュール
118...コンシステンシグループ情報
200...記憶装置
200L...同期副記憶装置
200P...正記憶装置
200R...非同期副記憶装置
200aP...第1正装置
200bP...第2正装置
200cP...第3正装置
200aR...第1非同期副装置
200bR...第2非同期副装置
200cR...第3非同期副装置
210...制御装置
210aP、210bP...制御装置
220...CPU
230...メモリ
231...仮想化モジュール
232...コピーモジュール
233...指示モジュール
234...アクセスモジュール
235...読み書きモジュール
236P...世代設定モジュール
237P...世代情報送信モジュール
238L...履歴作成モジュール
238R...履歴作成モジュール
240L...副コピーモジュール
242R...バックアップモジュール
246L...ボリューム情報
246P...ボリューム情報
248L...ペア情報
248P...ペア情報
260...キャッシュメモリ
270...ディスクアレイ
272...ボリューム
280R...状態情報
HD...ホストデータ
GI...世代情報
MK...マーカ
SN...ストレージネットワーク
MN1...管理ネットワーク
MN2...管理ネットワーク
BMA...第1ビットマップ
BMB...第2ビットマップ
BMC...第3ビットマップ
HSI...履歴状態情報
GNo...世代番号
SNo...シーケンス番号

Claims (24)

  1. ホストコンピュータにデータの記憶領域を提供するストレージシステムであって、
    前記ホストコンピュータに接続されるとともに、前記ホストコンピュータに提供するための正記憶領域を有する正記憶装置と、
    前記正記憶装置に接続されるとともに、第1副記憶領域を有する第1副記憶装置と、
    前記正記憶装置に接続されるとともに、第2副記憶領域を有する第2副記憶装置と、
    を備え、
    前記正記憶装置は、
    前記第2副記憶領域と、前記第2副記憶領域を前記正記憶装置内の仮想的な記憶領域として特定するために使用する仮想識別子と、の対応関係を設定する仮想化部と、
    前記ホストコンピュータから、データ書き込み要求であるホスト要求を受信して、要求されたデータであるホストデータを前記正記憶領域に書き込む正書き込み処理を実行する正書き込み部と、
    前記ホストデータのコピーであるコピーデータをそれぞれ含む第1及び第2コピー要求を前記第1及び第2副記憶装置にそれぞれ送信して前記第1及び第2副記憶領域に前記コピーデータを格納させるためのコピー制御部と、
    を備え、
    前記コピー制御部は、前記第2コピー要求の完了通知を前記第2副記憶装置から受信するか否かに拘わらず、前記第1コピー要求の完了通知を前記第1副記憶装置から受信したことに応じて前記ホスト要求の完了通知を前記ホストコンピュータに送信し、
    前記コピー制御部は、前記仮想識別子を用いて前記第2副記憶領域を特定する、
    ストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記コピー制御部は、
    前記第1及び第2コピー要求を作成し、この際、前記仮想識別子を用いて前記第2副記憶領域を特定して前記第2コピー要求を作成するコピー指示部と、
    前記第1及び第2コピー要求を前記第1及び第2副記憶装置にそれぞれ送信するアクセス制御部と、
    を含み、
    前記コピー指示部は、前記仮想化部で設定された対応関係を参照することによって前記第2コピー要求内の前記仮想識別子を前記第2副記憶領域の現実の識別子に置換するとともに、前記置換後の前記第2コピー要求を前記第2副記憶装置に送信する、
    ストレージシステム。
  3. 請求項1または請求項2に記載のストレージシステムであって、
    前記第1副記憶装置と前記第2副記憶装置とは互いに接続され、
    前記正記憶装置は、さらに、
    前記ホスト要求に、前記正書き込み処理が実行される時期を表す世代を割り当てるとともに、所定の条件に応じて前記世代を更新する世代設定部と、
    前記第1コピー要求の元となる前記ホスト要求の世代を表す第1世代情報を前記第1副記憶装置に送信する世代情報送信部と、
    を備え、
    前記第1副記憶装置は、さらに、
    前記第1世代情報を用いて、前記第1コピー要求に応じた書き込みの履歴を表す第1履歴情報を、前記第1コピー要求の元となる前記ホスト要求の世代毎に作成する第1履歴作成部と、
    前記第1副記憶装置内の記憶領域と前記第2副記憶装置内の記憶領域との間でデータをコピーすることによって、前記コピーの対象である各記憶領域に格納されているデータを一致させる副コピー処理を実行する副コピー部を備え、
    前記コピー制御部は、前記世代設定部が前記世代を更新したことに応じて、新たな世代に属する前記ホスト要求に対応する前記第2コピー要求の送信を保留するとともに、前記新たな世代の1つ前の世代である旧世代に属する全ての前記ホスト要求に対応する前記第2コピー要求を前記第2副記憶装置へ送信し、
    前記副コピー部は、前記副コピー処理の動作モードとして、
    前記新たな世代の履歴を表す最新第1履歴情報のみを用いることによって前記第1副記憶領域と前記第2副記憶領域との間でデータが異なる部分を特定し、
    前記異なる部分のデータである差分データのみをコピーすることによって、前記第1副記憶領域と前記第2副記憶領域とのそれぞれに格納されているデータを一致させる第1副コピーモードを有する、
    ストレージシステム。
  4. 請求項3に記載のストレージシステムであって、
    前記第2副記憶装置は、さらに、
    バックアップ記憶領域と、
    前記第2副記憶領域に格納されたデータを前記バックアップ記憶領域にコピーすることによって、前記第2副記憶領域を前記バックアップ記憶領域にバックアップするバックアップコピー部と、
    を備え、
    前記バックアップコピー部は、前記旧世代に対応する全ての前記第2コピー要求の完了通知の発行後に前記バックアップを実行するとともに、前記バックアップの完了通知を外部に送信し、
    前記コピー制御部は、前記バックアップの完了通知の発行後に、前記新たな世代に対応する前記第2コピー要求の送信を開始し、
    前記副コピー部は、前記副コピー処理の動作モードとして、
    前記最新第1履歴情報と、前記最新第1履歴情報よりも1つだけ古い世代の履歴を表す旧第1履歴情報と、の内の少なくとも前記最新第1履歴情報を含む履歴情報を用いることによって、前記第1副記憶領域と前記バックアップ記憶領域との間でデータが異なる部分を特定し、
    前記異なる部分のデータである差分データのみをコピーすることによって、前記第1副記憶領域と前記バックアップ記憶領域とのそれぞれに格納されているデータを一致させる第2副コピーモードを有する、
    ストレージシステム。
  5. 請求項4に記載のストレージシステムであって、
    前記バックアップコピー部は、要求に応じて前記バックアップ記憶領域に反映済の前記第2コピー要求に対応する世代に関連するバックアップ世代情報を前記第1副記憶装置に送信可能であり、
    前記副コピー部は、前記第2副コピーモードにおいて、
    前記バックアップコピー部からバックアップ世代情報を受信し、
    前記2つの第1履歴情報の内の、前記バックアップ記憶領域に反映済の前記第2コピー要求に対応する世代よりも新しい世代の履歴情報のみを選択して用いることによって、前記異なる部分を特定する、
    ストレージシステム。
  6. 請求項4または請求項5に記載のストレージシステムであって、
    前記副コピー部は、
    前記副コピー処理を実行する時点が前記旧世代に対応する全ての前記第2コピー要求の完了通知の発行後から前記新たな世代に属する前記第2コピー要求の送信開始までの間であることを表す第1タイミング条件を含む所定の第1モード条件が満たされる場合に、前記第1副コピーモードでの処理を実行し、
    前記副コピー処理を実行する時点が前記バックアップの完了通知の発行後から新たな前記バックアップ処理の開始までの間であることを表す第2タイミング条件を含む所定の第2モード条件が満たされる場合に、前記第2副コピーモードでの処理を実行する、
    ストレージシステム。
  7. 請求項6に記載のストレージシステムであって、
    前記第2副記憶装置は、さらに、
    前記第2コピー要求に応じた書き込みの履歴を表す第2履歴情報を作成する第2履歴作成部を備え、
    前記副コピー部は、前記第1モード条件と前記第2モード条件とのいずれもが満たされない場合の前記副コピー処理の動作モードとして、
    前記第1タイミング条件が成立している場合には前記第2副記憶領域を選択し、
    前記第2タイミング条件が成立している場合には前記バックアップ記憶領域を選択し、
    少なくとも前記第2履歴情報を用いることによって前記選択された記憶領域と前記第1副記憶領域との間でデータが異なる部分を特定し、
    前記異なる部分のデータである差分データのみをコピーすることによって、前記選択された記憶領域と前記第1副記憶領域とのそれぞれに格納されているデータを一致させる第3副コピーモードを有する、
    ストレージシステム。
  8. 請求項6または請求項7に記載のストレージシステムであって、
    前記第2副記憶装置は、さらに、前記第2副記憶領域の状態を表す領域状態情報を格納するための状態記憶領域を有し、
    前記コピー制御部は、
    前記旧世代に対応する全ての前記第2コピー要求の完了通知が発行されたことに応じて、前記第1タイミング条件が成立していることを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第2副記憶装置に送信し、
    前記格納要求の送信後であって、前記新たな世代に属する前記第2コピー要求の送信開始前に、前記第1タイミング条件が成立していないことを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第2副記憶装置に送信し、
    前記副コピー部は、前記副コピー処理を実行する時に、前記領域状態情報を参照することによって、前記第1タイミング条件と前記第2タイミング条件とのいずれが満たされているかの判断を行う、
    ストレージシステム。
  9. 請求項6または請求項7に記載のストレージシステムであって、
    前記コピー制御部は、
    前記旧世代に対応する全ての前記第2コピー要求の完了通知の発行後に、前記第1タイミング条件が成立している旨の第1通知を前記第2副記憶装置に送信し、
    前記新たな世代に属する前記第2コピー要求の送信開始の前に、前記第1タイミング条件が成立していない旨の第2通知を前記第2副記憶装置に送信し、
    前記副コピー部は、前記副コピー処理を実行する時に、前記第1タイミング条件と前記第2タイミング条件とのいずれが満たされているかに関する情報であるタイミング条件情報を前記第2副記憶装置に要求し、
    前記バックアップコピー部は、前記第1通知と前記第2通知との内の最後に受信した通知と、前記バックアップ処理の実行状況とに基づいて、前記タイミング条件情報を前記正記憶装置に送信する、
    ストレージシステム。
  10. 請求項3ないし請求項9のいずれかに記載のストレージシステムであって、
    前記正記憶装置は、互いに異なる識別子で特定される複数の正記憶領域を有し、
    前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
    前記世代設定部は、前記コンシステンシグループに含まれる前記複数の正記憶領域のそれぞれに関する前記世代を同じタイミングで更新する、
    ストレージシステム。
  11. 請求項3ないし請求項9のいずれかに記載のストレージシステムであって、さらに、
    複数の前記正記憶装置と、
    前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、
    互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、
    前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
    前記管理装置は、
    前記ホストコンピュータに、新たな前記ホスト要求の送信を保留する指示を送信し、
    前記保留指示の完了通知を前記ホストコンピュータから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信し、
    前記世代更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記ホストコンピュータに新たな前記ホスト要求の送信を再開する指示を送信する、
    ストレージシステム。
  12. 請求項3ないし請求項9のいずれかに記載のストレージシステムであって、さらに、
    複数の前記正記憶装置と、
    前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、
    互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、
    前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
    前記管理装置は、
    前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記正書き込み処理と前記第1及び第2コピー要求の送信処理との実行を保留する指示を、前記複数の正記憶装置にそれぞれ送信し、
    前記保留指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信し、
    前記更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記各処理の実行を再開する指示を、前記複数の正記憶装置にそれぞれ送信する、
    ストレージシステム。
  13. ホストコンピュータに接続されるとともに、前記ホストコンピュータに提供するための正記憶領域を有する正記憶装置と、前記正記憶装置に接続されるとともに、第1副記憶領域を有する第1副記憶装置と、前記正記憶装置に接続されるとともに、第2副記憶領域を有する第2副記憶装置と、を備えるストレージシステムの制御方法であって、
    (A)前記正記憶装置が、前記第2副記憶領域と、前記第2副記憶領域を前記正記憶装置内の仮想的な記憶領域として特定するために使用する仮想識別子と、の対応関係を設定する工程と、
    (B)前記正記憶装置が、前記ホストコンピュータから、データ書き込み要求であるホスト要求を受信して、要求されたデータであるホストデータを前記正記憶領域に書き込む正書き込み処理を実行する工程と、
    (C)前記正記憶装置が、前記ホストデータのコピーであるコピーデータをそれぞれ含む第1及び第2コピー要求を前記第1及び第2副記憶装置にそれぞれ送信して前記第1及び第2副記憶領域に前記コピーデータを格納させる工程と、
    (D)前記正記憶装置が、前記第2コピー要求の完了通知を前記第2副記憶装置から受信するか否かに拘わらず、前記第1コピー要求の完了通知を前記第1副記憶装置から受信したことに応じて前記ホスト要求の完了通知を前記ホストコンピュータに送信する工程と、
    を備え、
    前記工程(C)は、前記正記憶装置が、前記仮想識別子を用いて前記第2副記憶領域を特定する工程を含む、
    制御方法。
  14. 請求項13に記載の制御方法であって、
    前記工程(C)は、
    (C1)前記正記憶装置が、前記第1及び第2コピー要求を作成し、この際、前記仮想識別子を用いて前記第2副記憶領域を特定して前記第2コピー要求を作成する工程と、
    (C2)前記正記憶装置が、前記第1及び第2コピー要求を前記第1及び第2副記憶装置にそれぞれ送信する工程と、
    を含み、
    前記工程(C2)は、
    (C2−1)前記正記憶装置が、前記仮想化部で設定された対応関係を参照することによって前記第2コピー要求内の前記仮想識別子を前記第2副記憶領域の現実の識別子に置換するとともに、前記置換後の前記第2コピー要求を前記第2副記憶装置に送信する工程を含む、制御方法。
  15. 請求項13または請求項14に記載の制御方法であって、
    前記第1副記憶装置と前記第2副記憶装置とは互いに接続され、
    前記制御方法は、さらに、
    (E)前記正記憶装置が、前記ホスト要求に、前記正書き込み処理が実行される時期を表す世代を割り当てるとともに、所定の条件に応じて前記世代を更新する工程と、
    (F)前記正記憶装置が、前記第1コピー要求の元となる前記ホスト要求の世代を表す第1世代情報を前記第1副記憶装置に送信する工程と、
    (G)前記第1副記憶装置が、前記第1世代情報を用いて、前記第1コピー要求に応じた書き込みの履歴を表す第1履歴情報を、前記第1コピー要求の元となる前記ホスト要求の世代毎に作成する工程と、
    (H)前記第1副記憶装置が、前記第1副記憶装置内の記憶領域と前記第2副記憶装置内の記憶領域との間でデータをコピーすることによって、前記コピーの対象である各記憶領域に格納されているデータを一致させる副コピー処理を実行する工程と、
    (I)前記正記憶装置が、前記工程(E)によって前記世代が更新されたことに応じて、新たな世代に属する前記ホスト要求に対応する前記第2コピー要求の送信を保留するとともに、前記新たな世代の1つ前の世代である旧世代に属する全ての前記ホスト要求に対応する前記第2コピー要求を前記第2副記憶装置へ送信する工程と、を含み、
    前記工程(H)は、
    (H1−1)前記第1副記憶装置が、前記新たな世代の履歴を表す最新第1履歴情報のみを用いることによって前記第1副記憶領域と前記第2副記憶領域との間でデータが異なる部分を特定する工程と、
    (H1−2)前記第1副記憶装置が、前記異なる部分のデータである差分データのみをコピーすることによって、前記第1副記憶領域と前記第2副記憶領域とのそれぞれに格納されているデータを一致させる工程と、
    を含む第1副コピーモードによる副コピー処理を実行する工程を含む、制御方法。
  16. 請求項15に記載の制御方法であって、
    前記第2副記憶装置は、さらに、バックアップ記憶領域を備え、
    前記制御方法は、
    (J)前記第2副記憶装置が、前記旧世代に対応する全ての前記第2コピー要求の完了通知の発行後に、前記第2副記憶領域に格納されたデータを前記バックアップ記憶領域にコピーすることによって、前記第2副記憶領域を前記バックアップ記憶領域にバックアップする処理を実行するとともに、前記バックアップの完了通知を外部に送信する工程と、
    (K)前記正記憶装置が、前記バックアップの完了通知の発行後に、前記新たな世代に対応する前記第2コピー要求の送信を開始する工程と、
    を含み、
    前記工程(H)は、
    (H2−1)前記第1副記憶装置が、前記最新第1履歴情報と、前記最新第1履歴情報よりも1つだけ古い世代の履歴を表す旧第1履歴情報と、の内の少なくとも前記最新第1履歴情報を含む履歴情報を用いることによって、前記第1副記憶領域と前記バックアップ記憶領域との間でデータが異なる部分を特定する工程と、
    (H2−2)前記第1副記憶装置が、前記異なる部分のデータである差分データのみをコピーすることによって、前記第1副記憶領域と前記バックアップ記憶領域とのそれぞれに格納されているデータを一致させる工程と、
    を含む第2副コピーモードによる副コピー処理を実行する工程を含む、
    制御方法。
  17. 請求項16に記載の制御方法であって、
    前記工程(H2−1)は、
    前記第1副記憶装置が、前記第2副記憶装置から、前記バックアップ記憶領域に反映済の前記第2コピー要求に対応する世代に関連するバックアップ世代情報を受信する工程と、
    前記第1副記憶装置が、前記2つの第1履歴情報の内の、前記バックアップ記憶領域に反映済の前記第2コピー要求に対応する世代よりも新しい世代の履歴情報のみを選択して用いることによって、前記異なる部分を特定する工程と、
    を含む、制御方法。
  18. 請求項16または請求項17に記載の制御方法であって、
    前記工程(H)は、
    前記第1副記憶装置が、前記副コピー処理を実行する時点が前記旧世代に対応する全ての前記第2コピー要求の完了通知の発行後から前記新たな世代に属する前記第2コピー要求の送信開始までの間であることを表す第1タイミング条件を含む所定の第1モード条件が満たされる場合に、前記第1副コピーモードでの処理を実行する工程と、
    前記第1副記憶装置が、前記副コピー処理を実行する時点が前記バックアップの完了通知の発行後から新たな前記バックアップ処理の開始までの間であることを表す第2タイミング条件を含む所定の第2モード条件が満たされる場合に、前記第2副コピーモードでの処理を実行する工程と、
    を含む、制御方法。
  19. 請求項18に記載の制御方法であって、さらに、
    (L)第2副記憶装置が、前記第2コピー要求に応じた書き込みの履歴を表す第2履歴情報を作成する工程を、含み、
    前記工程(H)は、
    前記第1モード条件と前記第2モード条件とのいずれもが満たされない場合には、
    (H3−1)前記第1副記憶装置が、前記第1タイミング条件が成立している場合には前記第2副記憶領域を選択する工程と、
    (H3−2)前記第1副記憶装置が、前記第2タイミング条件が成立している場合には前記バックアップ記憶領域を選択する工程と、
    (H3−3)前記第1副記憶装置が、少なくとも前記第2履歴情報を用いることによって前記選択された記憶領域と前記第1副記憶領域との間でデータが異なる部分を特定する工程と、
    (H3−4)前記第1副記憶装置が、前記異なる部分のデータである差分データのみをコピーすることによって、前記選択された記憶領域と前記第1副記憶領域とのそれぞれに格納されているデータを一致させる工程と、
    を含む第3副コピーモードによる副コピー処理を実行する工程を含む、
    制御方法。
  20. 請求項18または請求項19に記載の制御方法であって、
    前記第2副記憶装置は、さらに、前記第2副記憶領域の状態を表す領域状態情報を格納するための状態記憶領域を有し、
    前記制御方法は、さらに、
    (M)前記正記憶装置が、前記旧世代に対応する全ての前記第2コピー要求の完了通知が発行されたことに応じて、前記第1タイミング条件が成立していることを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第2副記憶装置に送信する工程と、
    (N)前記正記憶装置が、前記格納要求の送信後であって、前記新たな世代に属する前記第2コピー要求の送信開始前に、前記第1タイミング条件が成立していないことを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第2副記憶装置に送信する工程と、
    (O)前記第1副記憶装置が、前記副コピー処理を実行する時に、前記領域状態情報を参照することによって、前記第1タイミング条件と前記第2タイミング条件とのいずれが満たされているかの判断を行う工程と、
    を含む、制御方法。
  21. 請求項18または請求項19に記載の制御方法であって、さらに、
    (M)前記正記憶装置が、前記旧世代に対応する全ての前記第2コピー要求の完了通知の発行後に、前記第1タイミング条件が成立している旨の第1通知を前記第2副記憶装置に送信する工程と、
    (N)前記正記憶装置が、前記新たな世代に属する前記第2コピー要求の送信開始の前に、前記第1タイミング条件が成立していない旨の第2通知を前記第2副記憶装置に送信する工程と、
    (O)前記第1副記憶装置が、前記副コピー処理を実行する時に、前記第1タイミング条件と前記第2タイミング条件とのいずれが満たされているかに関する情報であるタイミング条件情報を前記第2副記憶装置に要求する工程と、
    (P)前記第2副記憶装置が、前記第1通知と前記第2通知との内の最後に受信した通知と、前記バックアップ処理の実行状況とに基づいて、前記タイミング条件情報を前記正記憶装置に送信する工程と、
    を含む、制御方法。
  22. 請求項15ないし請求項21のいずれかに記載の制御方法であって、
    前記正記憶装置は、互いに異なる識別子で特定される複数の正記憶領域を有し、
    前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
    前記制御方法は、さらに、
    (Q)前記正記憶装置が、前記コンシステンシグループに含まれる前記複数の正記憶領域のそれぞれに関する前記世代を同じタイミングで更新する工程を含む、制御方法。
  23. 請求項15ないし請求項21のいずれかに記載の制御方法であって、
    前記ストレージシステムは、さらに、
    複数の前記正記憶装置と、
    前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、
    互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、
    前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
    前記制御方法は、さらに、
    (Q)前記管理装置が、前記ホストコンピュータに、新たな前記ホスト要求の送信を保留する指示を送信する工程と、
    (R)前記管理装置が、前記保留指示の完了通知を前記ホストコンピュータから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信する工程と、
    (S)前記管理装置が、前記世代更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記ホストコンピュータに新たな前記ホスト要求の送信を再開する指示を送信する工程と、
    を含む、制御方法。
  24. 請求項15ないし請求項21のいずれかに記載の制御方法であって、
    前記ストレージシステムは、さらに、
    複数の前記正記憶装置と、
    前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、
    互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、
    前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
    前記制御方法は、さらに、
    (Q)前記管理装置が、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記正書き込み処理と前記第1及び第2コピー要求の送信処理との実行を保留する指示を、前記複数の正記憶装置にそれぞれ送信する工程と、
    (R)前記管理装置が、前記保留指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信する工程と、
    (S)前記管理装置が、前記更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記各処理の実行を再開する指示を、前記複数の正記憶装置にそれぞれ送信する工程と、
    を含む、制御方法。
JP2005253352A 2005-09-01 2005-09-01 データをコピーして複数の記憶装置に格納するストレージシステム Pending JP2007066154A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005253352A JP2007066154A (ja) 2005-09-01 2005-09-01 データをコピーして複数の記憶装置に格納するストレージシステム
US11/251,212 US7594086B2 (en) 2005-09-01 2005-10-17 Storage system for copying data and storing in a plurality of storage devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005253352A JP2007066154A (ja) 2005-09-01 2005-09-01 データをコピーして複数の記憶装置に格納するストレージシステム

Publications (1)

Publication Number Publication Date
JP2007066154A true JP2007066154A (ja) 2007-03-15

Family

ID=37805717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005253352A Pending JP2007066154A (ja) 2005-09-01 2005-09-01 データをコピーして複数の記憶装置に格納するストレージシステム

Country Status (2)

Country Link
US (1) US7594086B2 (ja)
JP (1) JP2007066154A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009282902A (ja) * 2008-05-26 2009-12-03 Fujitsu Ltd データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法
JP2011505033A (ja) * 2007-11-27 2011-02-17 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・コピー・サービス・システムを管理する装置および方法
JP2013243802A (ja) * 2012-05-18 2013-12-05 Mitsubishi Electric Corp 電力系統監視制御システム
JP5620614B1 (ja) * 2014-04-21 2014-11-05 株式会社日立製作所 ストレージシステム
JP5718533B1 (ja) * 2014-04-22 2015-05-13 株式会社日立製作所 ストレージシステムのデータ移行方法
JP2015527670A (ja) * 2013-07-26 2015-09-17 ▲ホア▼▲ウェイ▼技術有限公司 データ送信方法、データ受信方法、及びストレージデバイス
JP2017167602A (ja) * 2016-03-14 2017-09-21 富士通株式会社 ストレージシステム
JP2019191801A (ja) * 2018-04-23 2019-10-31 富士通株式会社 ストレージシステムおよび制御装置
JP2020511708A (ja) * 2017-02-23 2020-04-16 セールスフォース ドット コム インコーポレイティッド 自動自己修復データベースシステム及び自動自己修復データベースシステムを実現する方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234030A (ja) * 2007-03-16 2008-10-02 Hitachi Ltd コピーシステム及びコピー方法
US7991972B2 (en) * 2007-12-06 2011-08-02 International Business Machines Corporation Determining whether to use a full volume or repository for a logical copy backup space
JP5288875B2 (ja) * 2008-05-02 2013-09-11 株式会社日立製作所 ストレージシステム
JP4764472B2 (ja) * 2008-12-02 2011-09-07 株式会社日立製作所 データベース管理方法、データベース管理プログラム、および、データベース管理装置
US8055943B2 (en) * 2009-04-24 2011-11-08 International Business Machines Corporation Synchronous and asynchronous continuous data protection
US8386731B2 (en) * 2009-09-14 2013-02-26 Vmware, Inc. Method and system for optimizing live migration of persistent data of virtual machine using disk I/O heuristics
US8706960B1 (en) * 2009-09-29 2014-04-22 Emc Corporation Techniques for performing data migration
JP5286212B2 (ja) * 2009-09-29 2013-09-11 株式会社日立製作所 ストレージクラスタ環境でのリモートコピー制御方法及びシステム
CN102714789B (zh) * 2011-04-19 2014-04-02 华为终端有限公司 一种移动终端的数据备份、恢复方法及移动终端
US8788877B2 (en) * 2011-08-03 2014-07-22 International Business Machines Corporation Acquiring a storage system into copy services management software
US9213753B2 (en) * 2013-11-18 2015-12-15 Hitachi, Ltd. Computer system
US20160132251A1 (en) * 2014-11-11 2016-05-12 Wisconsin Alumni Research Foundation Operating method of storage device and data writing method for writing data into storage device
US10303360B2 (en) * 2015-09-30 2019-05-28 International Business Machines Corporation Replicating data in a data storage system
US10613771B2 (en) 2017-02-27 2020-04-07 International Business Machines Corporation Processing a write of records to maintain atomicity for writing a defined group of records to multiple tracks
US10606719B2 (en) * 2017-02-27 2020-03-31 International Business Machines Corporation Mirroring writes of records to maintain atomicity for writing a defined group of records to multiple tracks
US10180802B2 (en) 2017-05-18 2019-01-15 International Business Machines Corporation Collision detection at multi-node storage sites
US10452502B2 (en) 2018-01-23 2019-10-22 International Business Machines Corporation Handling node failure in multi-node data storage systems
US11029875B2 (en) * 2018-09-28 2021-06-08 Dell Products L.P. System and method for data storage in distributed system across multiple fault domains
US10769033B2 (en) * 2019-01-11 2020-09-08 Cohesity, Inc. Packet-based differential backup of network-attached storage device content
JP6972052B2 (ja) * 2019-02-28 2021-11-24 株式会社安川電機 通信システム、通信方法、及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JP2000242437A (ja) 1998-12-24 2000-09-08 Hitachi Ltd データのコピーを作成する記憶装置システム
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
JP4021823B2 (ja) 2003-09-01 2007-12-12 株式会社日立製作所 リモートコピーシステム及びリモートコピーの方法
US7096338B2 (en) * 2004-08-30 2006-08-22 Hitachi, Ltd. Storage system and data relocation control device
JP4377790B2 (ja) * 2004-09-30 2009-12-02 株式会社日立製作所 リモートコピーシステムおよびリモートコピー方法
JP2006260141A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd 記憶システムの制御方法、記憶システム、記憶制御装置、記憶システムの制御プログラム、情報処理システム
JP4688542B2 (ja) * 2005-03-31 2011-05-25 株式会社日立製作所 計算機システム、ホストコンピュータ及びコピーペア処理方法
JP2006293850A (ja) * 2005-04-13 2006-10-26 Hitachi Ltd リモートコピーシステムおよびリモートコピー方法
JP4728031B2 (ja) * 2005-04-15 2011-07-20 株式会社日立製作所 リモートコピーペアの移行を行うシステム
US7404051B2 (en) * 2005-04-18 2008-07-22 Hitachi, Ltd. Method for replicating snapshot volumes between storage systems
JP2006318077A (ja) * 2005-05-11 2006-11-24 Hitachi Ltd リモートコピーシステム
JP5111754B2 (ja) * 2005-11-14 2013-01-09 株式会社日立製作所 記憶制御システム

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10896199B2 (en) 2007-11-27 2021-01-19 International Business Machines Corporation Apparatus and method for managing storage copy services systems
JP2011505033A (ja) * 2007-11-27 2011-02-17 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・コピー・サービス・システムを管理する装置および方法
US9152515B2 (en) 2007-11-27 2015-10-06 International Business Machines Corporation Apparatus and method for managing storage copy services systems
US9591073B2 (en) 2007-11-27 2017-03-07 International Business Machines Corporation Apparatus and method for managing storage copy services systems
US8229995B2 (en) 2008-05-26 2012-07-24 Fujitsu Limited Data transfer processing apparatus, data transfer processing method, and computer product
JP2009282902A (ja) * 2008-05-26 2009-12-03 Fujitsu Ltd データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法
JP2013243802A (ja) * 2012-05-18 2013-12-05 Mitsubishi Electric Corp 電力系統監視制御システム
JP2018041506A (ja) * 2013-07-26 2018-03-15 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. データ送信方法、データ受信方法、及びストレージデバイス
US10108367B2 (en) 2013-07-26 2018-10-23 Huawei Technologies Co., Ltd. Method for a source storage device sending data to a backup storage device for storage, and storage device
JP2015527670A (ja) * 2013-07-26 2015-09-17 ▲ホア▼▲ウェイ▼技術有限公司 データ送信方法、データ受信方法、及びストレージデバイス
JP5620614B1 (ja) * 2014-04-21 2014-11-05 株式会社日立製作所 ストレージシステム
GB2539829B (en) * 2014-04-21 2021-05-05 Hitachi Ltd Storage system
GB2539829A (en) * 2014-04-21 2016-12-28 Hitachi Ltd Storage system
WO2015162663A1 (ja) * 2014-04-21 2015-10-29 株式会社日立製作所 ストレージシステム
US9632701B2 (en) 2014-04-21 2017-04-25 Hitachi, Ltd. Storage system
US8943286B1 (en) 2014-04-21 2015-01-27 Hitachi, Ltd. Storage system
JP5718533B1 (ja) * 2014-04-22 2015-05-13 株式会社日立製作所 ストレージシステムのデータ移行方法
GB2539340A (en) * 2014-04-22 2016-12-14 Hitachi Ltd Data migration method of storage system
GB2539340B (en) * 2014-04-22 2021-03-24 Hitachi Ltd Data migration method of storage system
WO2015162684A1 (ja) * 2014-04-22 2015-10-29 株式会社日立製作所 ストレージシステムのデータ移行方法
JP2017167602A (ja) * 2016-03-14 2017-09-21 富士通株式会社 ストレージシステム
JP2020511708A (ja) * 2017-02-23 2020-04-16 セールスフォース ドット コム インコーポレイティッド 自動自己修復データベースシステム及び自動自己修復データベースシステムを実現する方法
JP2022141579A (ja) * 2017-02-23 2022-09-29 セールスフォース ドット コム インコーポレイティッド 自動自己修復データベースシステム及び自動自己修復データベースシステムを実現する方法
JP7208906B2 (ja) 2017-02-23 2023-01-19 セールスフォース ドット コム インコーポレイティッド 自動自己修復データベースシステム及び自動自己修復データベースシステムを実現する方法
JP7208906B6 (ja) 2017-02-23 2023-02-28 セールスフォース インコーポレイテッド 自動自己修復データベースシステム及び自動自己修復データベースシステムを実現する方法
JP7305813B2 (ja) 2017-02-23 2023-07-10 セールスフォース インコーポレイテッド 自動自己修復データベースシステム及び自動自己修復データベースシステムを実現する方法
JP2019191801A (ja) * 2018-04-23 2019-10-31 富士通株式会社 ストレージシステムおよび制御装置

Also Published As

Publication number Publication date
US20070050573A1 (en) 2007-03-01
US7594086B2 (en) 2009-09-22

Similar Documents

Publication Publication Date Title
JP2007066154A (ja) データをコピーして複数の記憶装置に格納するストレージシステム
JP4382602B2 (ja) リモートコピーシステム
US7937546B2 (en) Data duplication control method
US7809887B2 (en) Computer system and control method for the computer system
US8589642B2 (en) Computer system duplicating writes by synchronous remote copy with multiple host computers using heterogeneous operating systems
JP2002259063A (ja) バックアップ処理可能な記憶システム
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
US7373470B2 (en) Remote copy control in a storage system
US7111004B2 (en) Method, system, and program for mirroring data between sites
JP2005018510A (ja) データセンタシステム及びその制御方法
US7596658B2 (en) Method for expanding capacity of replication volume
JP2005301976A (ja) 多重リモートストレージでのデータ同期
JP2009157785A (ja) 待機系計算機の追加方法、計算機及び計算機システム
US20090313428A1 (en) Optimising Remote Mirroring Resynchronisation
JP2005174196A (ja) 複数の記憶システムを有するデータ処理システム
JP2006293947A (ja) リモートコピーペアの移行を行うシステム
JP2001282628A (ja) 記憶サブシステムのデータ二重化方法及びデータ二重化システム
GB2484086A (en) Reliability and performance modes in a distributed storage system
US20060168397A1 (en) Achieving data consistency with point-in-time copy operations in a parallel I/O environment
JPH10333838A (ja) データ多重化記憶サブシステム
US8250240B2 (en) Message conversion method and message conversion system
JP2007193839A (ja) ストレージシステム、ストレージシステムにおけるデータ送受信方法及びシステム
JP2007004690A (ja) 記憶制御方法、システム及びプログラム
JPH08202627A (ja) 二重化された共用メモリの等価性回復処理方法および装置
JP5702651B2 (ja) 仮想マシン同期方法及びシステム及び運用系の仮想マシン及びプログラム