JP4519563B2 - 記憶システム及びデータ処理システム - Google Patents

記憶システム及びデータ処理システム Download PDF

Info

Publication number
JP4519563B2
JP4519563B2 JP2004228203A JP2004228203A JP4519563B2 JP 4519563 B2 JP4519563 B2 JP 4519563B2 JP 2004228203 A JP2004228203 A JP 2004228203A JP 2004228203 A JP2004228203 A JP 2004228203A JP 4519563 B2 JP4519563 B2 JP 4519563B2
Authority
JP
Japan
Prior art keywords
data
data set
storage system
journal
volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004228203A
Other languages
English (en)
Other versions
JP2006048358A (ja
Inventor
裕介 平川
義弘 安積
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2004228203A priority Critical patent/JP4519563B2/ja
Priority to US10/956,647 priority patent/US7159088B2/en
Priority to DE602005000972T priority patent/DE602005000972T2/de
Priority to DE602005007258T priority patent/DE602005007258D1/de
Priority to EP07005275A priority patent/EP1796004B1/en
Priority to EP05250541A priority patent/EP1624376B1/en
Publication of JP2006048358A publication Critical patent/JP2006048358A/ja
Priority to US11/473,827 priority patent/US7296126B2/en
Priority to US11/713,478 priority patent/US7313663B2/en
Priority to US11/973,773 priority patent/US7529901B2/en
Application granted granted Critical
Publication of JP4519563B2 publication Critical patent/JP4519563B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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/2082Data synchronisation
    • 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
    • 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/2069Management of state, configuration or failover
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
    • 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

Description

本発明は、データの記憶処理技術に関し、例えば、複数の記憶システム間でのデータの複製に関する。
近年、常に顧客に対して継続したサービスを提供するために、第一の記憶システムに障害が発生した場合でもデータ処理システムがサービスを提供できるよう、記憶システム間でのデータの複製に関する技術が重要になっている。第一の記憶システムに格納された情報を第二および第三の記憶システムに複製する技術として、以下の特許文献に開示された技術が存在する。
米国特許5170480号公報には、第一の記憶システムに接続された第一の計算機が、第一の記憶システムに格納されたデータを、第一の計算機と第二の計算機間の通信リンクを介し、第二の計算機に転送し、第二の計算機が第二の計算機に接続された第二の記憶システムに転送する技術が開示されている。
米国特許5170480号公報
米国特許5170480号公報に開示された技術は、データの複製のために、第一の計算機および第二の計算機を常に使用する。第一の計算機は、通常業務を行っており、第一の計算機にかかるデータ複製処理の負荷は無視できない。さらに、複製のためのデータは、第一の計算機と第一の記憶システム間の通信リンクを使用するため、通常業務のために必要なデータ転送と衝突し、通常業務に必要なデータ参照、データ更新時間が長くなるという課題がある。
また、第一の記憶システムから第二の記憶システムにデータを複製することの性能を向上すること(例えば、データの複製に要する時間長を短縮すること)が望まれていると考えられる。
さらに、特定のイベントが発生したときに(例えば、データの複製先に空き記憶領域がなくなったときに)、第一の記憶システムから第二の記憶システムにデータを複製することが中断される場合があるが、データの複製が中断されてからそれが再開されるまでの時間は短いことが望ましいと考えられる。
従って、本発明の目的は、記憶システムの上位の計算機に影響を与えず、複数の記憶システム間でデータ転送又はデータの複製をするものである。本発明の更なる目的は、記憶システムと計算機との間の通信にも影響を与えないものである。
本発明の別の目的は、第一の記憶システムから第二の記憶システムにデータを複製することの性能を向上することにある。
本発明のまた別の目的は、第一の記憶システムから第二の記憶システムにデータを複製することが中断されてからそれが再開されるまでの時間を短くすることにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
本発明の第一の側面に従う記憶システムは、受信したデータを記憶する他の記憶システムに接続される記憶システムであって、データと、前記データを管理するための更新データとを含んだデータセットを記憶するデータセット記憶領域と、制御部とを備える。制御部は、前記データを管理するための更新データを含んだ前記データセットを生成し、前記生成したデータセットを前記データセット記憶領域に格納し、前記データセット記憶領域内のデータセットを前記他の記憶システムに送信する。前記データセット記憶領域は、第一の記憶領域と第二の記憶領域とを含んだ複数の記憶領域に分割されている。前記データには、第一のデータと第二のデータがある。その場合、前記制御部は、前記第一のデータと前記第一のデータの更新データである第一の更新データとを含んだ第一のデータセットを生成し、前記生成された第一のデータセットのうちの少なくとも前記第一のデータを、前記第一の記憶領域に格納し、前記第二のデータと前記第二のデータの更新データである第二の更新データとを含んだ第二のデータセットを生成し、前記生成された第二のデータセットのうちの少なくとも前記第二のデータを、前記第一の記憶領域とは別の記憶領域である前記第二の記憶領域に格納する。
前記記憶システムも前記他の記憶システムも、記憶装置それ自体であっても良いし、複数の記憶装置を備えたシステムであっても良い。後者の場合、例えば、第一の記憶領域と第二の記憶領域は、それぞれが論理ボリュームであり、別々の記憶装置上に設けられる記憶領域であってもよい。
本発明の第一の実施態様では、前記複数の記憶領域の各々は、前記データセットのうちの更新データを記憶する更新データサブ領域と、前記データセットのうちの前記データを記憶するデータサブ領域とに分割されている。この場合、前記制御部は、前記第一のデータを、第一の記憶領域の前記データサブ領域に格納し、前記第二のデータを、前記第二の記憶領域の前記データサブ領域に格納する。
本発明の第二の実施態様では、第一の実施態様において、前記第二のデータセットに含まれる第二のデータは、前記第一のデータセットに含まれる第一のデータの次に記憶されたデータである。
本発明の第三の実施態様では、前記他の記憶システムは、前記データセットを読み出すためのデータセットリード命令を生成し、生成されたデータセットリード命令と、前記複数の記憶領域の各々を特定するための領域特定コードとを前記記憶システムに送信するようになっている。前記制御部は、前記他の記憶システムから前記データセットリード命令及び前記領域特定コードを受信し、前記データセットリード命令に応答して、前記複数の記憶領域から更新データを読み出し、且つ、前記複数の記憶領域のうちの、前記受信した領域特定コードに対応した記憶領域から、前記更新データに対応したデータを読み出し、前記読み出した更新データとデータとのデータセットを前記他の記憶システムに送信する。
本発明の第四の実施態様では、前記記憶システムが、前記データセットを記憶する1又は複数の論理ボリュームから構成されるボリュームセットを更に備える。前記ボリュームセットは、複数のサブボリューム領域に分割されている。前記複数の記憶領域の各々は、サブボリューム領域である。前記複数のサブボリューム領域の各々は、1又は複数の論理ボリュームにまたがって存在する。
本発明の第五の実施態様では、第四の実施態様において、前記1又は複数の論理ボリュームの各々は、前記データセットのうちの更新データを記憶する更新データ領域と、前記データセットのうちの前記データを記憶するデータ領域とに分割されている。前記更新データ領域と前記データ領域とのうち、少なくとも前記データ領域が、複数のサブデータ領域に分割されている。前記論理ボリュームが一つの場合、前記複数のサブボリューム領域の各々は、サブデータ領域であり、前記論理ボリュームが複数個の場合、前記複数のサブボリューム領域の各々は、前記複数の論理ボリュームがそれぞれ有する複数のサブデータ領域の集合によって構成されたサブデータ領域グループである。
本発明の第六の実施態様では、第五の実施態様において、前記制御部は、前記データセットに含まれるデータの格納先をサブボリューム領域毎に違える。
本発明の第七の実施態様では、第四の実施態様において、前記サブボリューム領域の数は、前記論理ボリュームの数以上である。
本発明の第八の実施態様では、前記他の記憶システムは、前記データセットを読み出すためのデータセットリード命令を生成して前記記憶システムに送信する。前記制御部は、前記他の記憶システムから前記データセットリード命令を受信し、前記データセットリード命令に応答して、複数のデータセットを前記データセット記憶領域から読み出して前記他の記憶システムに送信する。
本発明の第九の実施態様では、第八の実施態様において、前記制御部は、前記データセット記憶領域の連続した領域から複数のデータを読み出し、且つ、前記複数のデータにそれぞれ対応した複数の更新データを前記データセット記憶領域から読み出し、前記読み出された複数のデータと複数の更新データを有する前記複数のデータセットを生成して前記他の記憶システムに送信する。
本発明の第十の実施態様では、前記記憶システムは、前記他の記憶システムと前記データセット記憶領域との間でやり取りされるデータセットが一時的に記憶されるキャッシュメモリを更に備える。前記他の記憶システムは、前記データセットを読み出すためのデータセットリード命令を生成して前記記憶システムに送信する。この場合、前記制御部は、前記他の記憶システムから前記データセットリード命令を受信し、前記データセットリード命令に応答して、データセットを前記データセット記憶領域から前記キャッシュメモリに読み出し、前記キャッシュメモリに読み出されたデータセットを前記他の記憶システムに送信し、次にデータセットリード命令を受信する前に、データセットを前記データセット記憶領域から前記キャッシュメモリに読み出しておき、前記次にデータセットリード命令を受信した場合に、前記キャッシュメモリに記憶されているデータセットを前記他の記憶システムに送信する。
本発明の第十一の実施態様では、前記他の記憶システムが、副論理ボリュームを備えている。前記記憶システムが、データを記憶し、前記副論理ボリュームとペアを構成し、複数のサブ領域を備える正論理ボリュームと、前記正論理ボリュームに関する差分情報を記憶する差分情報記憶域とを更に備える。前記差分情報は、前記正論理ボリュームの前記複数のサブ領域の各々に格納されるデータについて、前記副論理ボリュームとの間で差が有るか否かを表す設定値を含んでいる。前記制御部は、前記差分情報を参照し、或るデータに対応する設定値が差分無しを表す場合、前記或るデータについては前記データセットを作成しない。
本発明の第二の側面に従うデータ処理システムは、データを記憶する第一の記憶システムと、前記第一の記憶システムに接続され、前記第一の記憶システムからデータを受信して記憶する第二の記憶システムとを有する。前記第一の記憶システムは、前記データと、前記データを管理するための更新データとを含んだデータセットを記憶するデータセット記憶領域と、前記データを管理するための更新データを含んだ前記データセットを生成し、前記生成したデータセットを前記データセット記憶領域に格納し、前記データセット記憶領域内のデータセットを前記第二の記憶システムに送信する制御部とを備える。前記データセット記憶領域は、第一の記憶領域と第二の記憶領域とを含んだ複数の記憶領域に分割されている。前記データには、第一のデータと第二のデータがある。前記制御部は、前記第一のデータと前記第一のデータの更新データである第一の更新データとを含んだ第一のデータセットを生成し、前記生成された第一のデータセットのうちの少なくとも前記第一のデータを、前記第一の記憶領域に格納し、前記第二のデータと前記第二のデータの更新データである第二の更新データとを含んだ第二のデータセットとを生成し、前記生成された第二のデータセットのうちの少なくとも前記第二のデータを、前記第一の記憶領域とは別の記憶領域である前記第二の記憶領域に格納する。
本発明の第三の側面に従うデータ処理方法は、データを記憶する第一の記憶システムと、前記第一の記憶システムに接続され、前記第一の記憶システムからデータを受信して記憶する第二の記憶システムとを有するデータ処理システムによって実行される方法であって、前記第一の記憶システムが、第一のデータと前記第一のデータの更新データである第一の更新データとを含んだ第一のデータセットを生成するステップと、前記第一の記憶システムが、前記生成された第一のデータセットのうちの少なくとも前記第一のデータを、データ記憶領域を構成する複数の記憶領域のうちの第一の記憶領域に格納するステップと、前記第一の記憶システムが、第二のデータと前記第二のデータの更新データである第二の更新データとを含んだ第二のデータセットとを生成するステップと、前記第一の記憶システムが、前記生成された第二のデータセットのうちの少なくとも前記第二のデータを、前記第一の記憶領域とは別の記憶領域であって、前記複数の記憶領域に含まれる第二の記憶領域に格納するステップと、前記第一の記憶システムが、前記第一の記憶領域内の第一のデータセットと、前記第二の記憶領域内の第二のデータセットとを第二の記憶システムに送信するステップと、前記第二の記憶システムが、前記第一の記憶システムから前記第一のデータセットと前記第二のデータセットとを受信し、前記受信した第一のデータセットと第二のデータセットとをデータセット記憶領域に格納するステップとを有する。
本発明によれば、記憶システムの上位の計算機に影響を与えず、複数の記憶システム間でデータ転送又はデータの複製をすることができる。
以下、図面を参照して、本発明の一実施形態やその実施形態に基づく幾つかの実施例を説明する。その際、まず、図1〜図22を参照して、本発明の一実施形態として、ジャーナルを用いたデータ処理の基本について説明し、その後で、図23以降を用いて、その実施形態に基づく実施例として、そのデータ処理の応用について説明する。
図1は、本発明の一実施形態に係るデータ処理システムの論理的な構成の概要を示すブロック図である。
データ処理システム1は、ホストコンピュータ180と記憶システム100Aを接続パス190により接続し、記憶システム100Aと記憶システム100Aに保存されたデータの複製を保持する記憶システム100Bを接続パス200により接続した構成である。なお、以下の説明において、複製対象のデータ(換言すれば元のデータ)を保持する記憶システム100Aと複製データを保持する記憶システム100Bとの区別を容易とするために、複製対象のデータを保持する記憶システム100Aを「正記憶システム100A」と呼び、複製データを保持する記憶システム100Bを「副記憶システム100B」とよび、100A及び100Bのうちのいずれでも良い場合には単に「記憶システム100」と呼ぶこととする。また、記憶システム100の記憶領域は、分割して管理されており、分割された記憶領域を「論理ボリューム」と呼ぶこととする。
記憶システム100には、複数の論理ボリューム230が備えられている。論理ボリューム230の容量および記憶システム100内の物理的な格納位置(物理アドレス)は、記憶システム100に接続したコンピュータ等の保守端末もしくはホストコンピュータ180を用いて指定できる。各論理ボリューム230の物理アドレスは、後述するボリューム情報400(図4参照)に保存する。物理アドレスは、例えば、記憶システム100内の記憶装置(例えばハードディスクドライブ)を識別する番号(記憶装置番号)と記憶装置内の記憶領域を一意に示す数値、例えば、記憶装置の記憶領域の先頭からの位置である。以下の説明では、物理アドレスは、記憶装置番号と記憶装置の記憶領域の先頭からの位置の組とする。また、以下の説明では、論理ボリューム230は、1つの記憶装置の記憶領域であるが、論理アドレスと物理アドレスの変換(換言すれば対応付け)により、1つの論理ボリュームを複数の記憶装置の記憶領域に対応づけることも可能である。
記憶システム100が保存しているデータの参照及び更新は、論理ボリューム230を識別する番号(論理ボリューム番号)と記憶領域を一意に示す数値、例えば、論理ボリューム230の記憶領域の先頭からの位置により一意に指定することができ、以下、論理ボリューム番号と論理ボリューム230の記憶領域の先頭からの位置(論理アドレス内位置)の組を論理アドレスとよぶ。
以下の説明において、複製対象のデータと複製データとの区別を容易とするために、複製対象データが格納される論理ボリュームを「正論理ボリューム」と呼び、複製データが格納される論理ボリュームを「副論理ボリューム」とよぶこととする。また、一対の正論理ボリュームと副論理ボリュームを「ペア」とよぶ。正論理ボリュームと副論理ボリュームの関係および状態等は、後述するパス情報500(図5参照)に含まれる。
論理ボリューム230間のデータの更新順序を守るために、グループという管理単位が設けられる。例えば、ホストコンピュータ180が、正論理ボリューム(DATA1)230内の第一データを更新し、その後、第一データを読み出し、第一データの数値を用いて、正論理ボリューム(DATA2)230内の第二データを更新する処理を行うとする。正論理ボリューム(DATA1)230から副論理ボリューム(COPY1)230へのデータ複製処理と、正論理ボリューム(DATA2)230から副論理ボリューム(COPY2)230へのデータ複製処理とが独立に行われる場合、副論理ボリューム(COPY1)230への第一データの複製処理より前に、副論理ボリューム(COPY2)230への第二データの複製処理が行われる場合がある。副論理ボリューム(COPY2)230への第二データの複製処理と副論理ボリューム(COPY1)230への第一データの複製処理との間に、故障等により副論理ボリューム(COPY1)230への第一データの複製処理が停止した場合、副論理ボリューム(COPY1)230と副論理ボリューム(COPY2)230のデータの整合性がなくなる。このような場合にも、副論理ボリューム(COPY1)230と副論理ボリューム(COPY2)230のデータの整合性を保つために、データの更新順序を守る必要のある論理ボリューム230は、同じグループに登録され、データの更新毎に、後述するグループ情報600(図6参照)の更新番号が割り当てられ、更新番号順に、副論理ボリュームへのデータ複製処理が行われる。例えば、図1では、正記憶システム100Aの論理ボリューム(DATA1)230と論理ボリューム(DATA2)230がグループ1を構成する。論理ボリューム(DATA1)230の複製である論理ボリューム(COPY1)230と論理ボリューム(DATA2)230の複製である論理ボリューム(COPY2)230は、副記憶システム100B内でグループ1を構成する。
正論理ボリュームのデータを更新する場合、副論理ボリュームのデータを更新するために、正記憶システム100Aが、後述するジャーナルを作成し、正記憶システム100A内の論理ボリューム230に保存する。本実施形態では、グループ毎にジャーナルのみを保存する論理ボリューム(以下、「ジャーナル論理ボリューム」とよぶ)230が備えられる。図1では、正記憶システム100Aのグループ1に、ジャーナル論理ボリューム(JNL1)230が割り当てられ、副記憶システム100Bのグループ1にも、ジャーナル論理ボリューム(JNL2)230が割り当てられる。
ジャーナル論理ボリューム(JNL2)230は、正記憶システム100Aから副記憶システム100Bに転送されたジャーナルを保存する。ジャーナルをジャーナル論理ボリューム(JNL2)230に保存することにより、例えば、副記憶システム100Bの負荷が高い場合、ジャーナル受信時に副論理ボリューム100Bのデータ更新を行わず、時間が経って、副記憶システム100Bの負荷が低くなった時に、副論理ボリューム100Bのデータを更新することができる。さらに、接続パス200が複数本ある場合、正記憶システム100Aから副記憶システム100Bへのジャーナルの転送を多重に行い、接続パス200の転送能力を有効に利用することができる。更新順番を守るため、副記憶システム100Bに多くのジャーナルが溜まる可能性があるが、副論理ボリュームのデータ更新に直ぐに使用できないジャーナルは、ジャーナル論理ボリューム(JNL2)230に退避することにより、後述するキャッシュメモリを開放することができる。
ジャーナルは、ジャーナル論理ボリュームとは別の論理ボリューム(例えば正論理ボリューム又は副論理ボリューム)に格納されたライトデータ(と同一のライトデータと、更新情報とを含んでいる。「ライトデータ」とは、ホストコンピュータ180からライト命令と共に送信された書込み対象データである。「更新情報」は、そのようなライトデータを管理するための情報であり、例えば、図21に示すように、ライト命令を受信した時刻、グループ番号、後述するグループ情報600の更新番号、ライト命令の論理アドレス、ライトデータのデータサイズ、ライトデータを格納したジャーナル論理ボリュームの論理アドレス等の情報要素を含んでいる。更新情報は、ライト命令を受信した時刻と更新番号のどちらか一方のみを保持してもよい。ホストコンピュータ180からのライト命令内にライト命令の作成時刻が存在する場合は、ライト命令を受信した時刻の代わりに、当該ライト命令内の作成時刻が保持されてもよい。
図3と図21を用いて、ジャーナルの更新情報の例を説明する。なお、以下、論理ボリューム230の記憶領域の先頭からの位置(換言すれば、先頭を基準とした位置)を便宜上「アドレス」と表記する。
図21に例示する更新情報310によれば、1999年3月17日の22時20分10秒にライト命令を受信したことがわかる。また、当該ライト命令は、論理ボリューム番号が「1」である論理ボリューム230のアドレス700からライトデータを書き始めることを意味する命令であり、ライトデータのデータサイズは300であることがわかる。また、ジャーナルに含まれるライトデータは、論理ボリューム番号が「4」であるジャーナル論理ボリューム230のアドレス1500から書き始められることがわかる。また、論理ボリューム番号が「1」である論理ボリューム230はグループ1に属し、グループ1のデータ複製開始から4番目のデータ更新であることがわかる。
ジャーナル論理ボリュームは、例えば、図3に示すように、更新情報を格納する記憶領域(更新情報領域)と、ライトデータを格納する記憶領域(ライトデータ領域)に分割して使用する(なお、「#4」という記載は、論理ボリューム番号が「4」であることを意味する)。更新情報領域には、更新情報領域の先頭から、更新番号の順に更新情報が格納され、更新情報領域の終端に達すると、次の更新番号が更新情報領域の先頭から格納される。ライトデータ領域には、ライトデータ領域の先頭から順にライトデータが格納され、ライトデータ領域の終端に達すると、次のライトデータがライトデータ領域の先頭から格納される。更新情報領域およびライトデータ領域の大きさの比は、固定値でもよいし、保守端末あるいはホストコンピュータ180等の特定の端末により設定変更可能としてもよい。これらの情報は、後述するポインタ情報700(図7参照)内に含めることができる。以下の説明では、ジャーナル論理ボリュームは、更新情報領域とライトデータ領域とに分割して使用されるが、論理ボリュームの先頭から、ジャーナル、つまり、更新情報とライトデータのセットを連続に格納する方式が採用されてもよい。
さて、図1を用いて、正記憶システム100Aの正論理ボリュームへのデータ更新を副記憶システム100Bの副論理ボリュームに反映する動作の一例について概説する。
(1)正記憶システム100Aは、ホストコンピュータ180から正論理ボリューム(DATA1)230内のデータに対するライト命令を受信すると、後述する命令受信処理210およびリードライト処理220によって、正論理ボリューム(DATA1)230内のデータ更新と、ジャーナル論理ボリューム(JNL1)230にジャーナルの保存を行う(図1の270)。
(2)副記憶システム100Bは、後述するジャーナルリード処理240によって、正記憶システム100Aからジャーナルをリードし、リードライト処理220によって、ジャーナル論理ボリューム(JNL2)230にジャーナルを保存する(図1の280)。
(3)正記憶システム100Aは、副記憶システム100Bからジャーナルをリードする命令を受信すると、後述する命令受信処理210およびリードライト処理220によって、ジャーナル論理ボリューム(JNL1)230からジャーナルを読み出し、副記憶システム100Bに送信する(図1の280)。
(4)副記憶システム100Bは、後述するリストア処理250およびリードライト処理220によって、ポインタ情報700を用いて、更新番号の昇順に、ジャーナル論理ボリューム(JNL2)230からジャーナルを読み出し、副論理ボリューム(COPY1)230のデータを更新する(図1の290)。
図2は、正記憶システム100Aの構成例を示すブロック図である。以下、説明の便宜上、正記憶システム100Aも副記憶システム100Bも同様の構成とし、正記憶システム100Aを代表的に例に採り、記憶システム100の構成を説明する。しかし、正記憶システム100Aと副記憶システム100Bが必ずしも同様の構成でなくても良い。
正記憶システム100Aは、例えばRAID(Redundant Array of Independent Disks)システムのようなディスクアレイシステムである。正記憶システム100Aは、例えば、正記憶システム100Aが行う処理を制御する制御サブシステム101と、RAIDグループ210と、サービスプロセッサ(SVP)281とを備える。制御サブシステム101は、例えば、複数のDKA(以下、DKA)120と、複数のチャネルアダプタ(以下、CHA)110と、キャッシュメモリ130と、共有メモリ140と、スイッチング制御部270とを備える。
RAIDグループ210は、複数の記憶装置150を含んでおり、例えば、RAID1やRAID5等のRAIDに基づく冗長記憶を提供する。各記憶装置150は、例えば、ハードディスクドライブ(或いはハードディスクそれ自体)、半導体メモリ装置、光磁気ディスクドライブ(或いは光磁気ディスクそれ自体)等の記憶デバイスから構成することができる。各記憶装置150が提供する物理的な記憶領域上には、論理的な記憶領域である論理ボリューム230を少なくとも一つ以上設定可能である。論理ボリューム230には、ホストコンピュータ180から利用される多数のデータが記憶される。また、別の論理ボリューム230には、制御情報等を格納し、システム領域として利用することもできる。なお、記憶装置150は、その全てが正記憶システム100Aの筐体内に位置する必要はない。例えば、他の記憶システム(不図示)が有する論理ボリュームを、正記憶システム100Aの論理ボリュームとして使用することもできる。以下の説明では、論理ボリュームを「ボリューム」と省略して記載する場合がある。
各DKA120は、各記憶装置150との間のデータ授受を制御するものである。各DKA120は、例えば、CPU、ROM、RAM等を含んだマイクロコンピュータシステムとして構成される。各DKA120は、正記憶システム100A内に複数設けられる。DKA120は、例えば、SCSIやiSCSI等に基づいて、記憶装置150との間でブロックレベルのデータ転送を行う。
複数のCHA110の各々は、DKA120と同様に、マイクロコンピュータシステムとして構成可能である。複数のCHA110には、ホストコンピュータ180と接続パス190を介してデータ通信を行う1以上の複数のホストCHA110Aと、他の記憶システム100と接続パス200を介してデータ通信を行う1以上のシステムCHA110Bとが含まれている。なお、接続パス190及び280の少なくとも一方は、通信ネットワークであっても良いし、専用のパスラインであっても良い。また、ホストCHA110Aは、ホストコンピュータ180の種類(例えば、サーバかメインフレームか等)に応じて、それぞれ用意されてもよい。
キャッシュメモリ130は、例えば、揮発または不揮発の半導体メモリから構成することができる。キャッシュメモリ130は、ホストコンピュータ180からのライトデータ(論理ボリュームに書き込まれるデータ)を記憶する。また、キャッシュメモリ130は、論理ボリューム230から読み出されたデータ(以下、リードデータ)を記憶する。
共有メモリ140は、例えば、不揮発または揮発の半導体メモリから構成することができる。共有メモリ140は、例えば、ホストコンピュータ180から受信した各種コマンドや、正記憶システム100Aの制御に使用する制御情報等を記憶する。コマンドや制御情報等は、複数の共有メモリ140によって、冗長記憶されてもよい。なお、キャッシュメモリ130と共有メモリ140とは、それぞれ別々のメモリとして構成することもできるし、あるいは、一つのメモリの一部をキャッシュメモリ領域として使用し、残りを共有メモリ領域として使用することもできる。
スイッチング制御部270は、各DKA120と、ホストCHA110Aと、システムCHA110Bと、キャッシュメモリ130と、共有メモリ140とを、それぞれ相互に接続するものである。スイッチング制御部270は、例えば、超高速クロスバスイッチ等から構成することができる。
SVP281は、例えば内部ネットワーク(例えばLAN)282を介して、正記憶システム100A内の各部の状態を収集し監視する。SVP280は、収集した内部状態の情報を生データのままで、あるいは、統計処理したデータとして、外部の管理端末(不図示)に出力する。SVP280が収集可能な情報としては、例えば、装置構成、電源アラーム、温度アラーム、入出力速度等が挙げられる。システム管理者は、管理端末からSVP280を介して、RAID構成の設定変更や、各種パッケージ(例えば、CHA110やDKA120)の閉塞処理等を行うことができる。
次に、正記憶システム100Aが行う処理の一例について説明する。ホストCHA110Aは、接続パス190を介して、ホストコンピュータ180からライト命令及びライトデータを受信する。受信されたライト命令は共有メモリ140に記憶され、受信されたライトデータはキャッシュメモリ130に記憶される。DKA120は、共有メモリ140を随時参照している。DKA120は、共有メモリ140に記憶されている未処理のライト命令を発見すると、このライト命令に従って、キャッシュメモリ130からライトデータを読み出し、アドレス変換等を行う。DKA120は、ライト命令によって指定された論理ボリューム230を構成する各記憶装置150に、ライトデータを記憶させる。
ホストコンピュータ180からのリード命令を処理する場合を説明する。ホストCHA110Aは、ホストコンピュータ180からリード命令を受信すると、このリード命令を共有メモリ140に記憶させる。DKA120は、共有メモリ140内で未処理のリード命令を発見すると、このリード命令によって指定された論理ボリューム230を構成する各記憶装置150からデータを読み出す。DKA120は、読み出したデータをキャッシュメモリ130に記憶させる。また、DKA120は、要求されたデータの読出しが完了した旨を、共有メモリ140を介して、ホストCHA110Aに通知する。ホストCHA110Aは、キャッシュメモリ130からデータを読み込み、ホストコンピュータ180に送信する。
正記憶システム100Aと副記憶システム100Bとの間で接続パス200(リモートコピーラインと呼んでも良い)を介して行われるデータ複製(以下、「リモートコピー」と呼ぶ場合がある)の一例について説明する。リモートコピーは、ホストコンピュータ180からのライト命令或いはリード命令ではなく、記憶システム100A、100B間で送受信されるライト命令或いはリード命令に応答して行われるものであり、ホストコンピュータ180を不要としたデータ複製処理である。
具体的には、例えば、正記憶システム100Aの制御サブシステム101Aは、副論理ボリューム(COPY1)230とペアを構成する正論理ボリューム(DATA1)230にライトデータを書き込む場合、そのライトデータとそれのライト命令とを、接続パス200を介して副記憶システム100Bに送信する。これにより、データの更新と同期して、更新後のデータが副記憶システム100Bに格納される。
また、例えば、正記憶システム100Aの制御サブシステム101Aは、正論理ボリューム(DATA1)230を更新する都度に、上述したジャーナルを生成してジャーナル論理ボリューム(JNL1)230に格納し、副記憶システム100Bからリード命令を受けた場合(或いは、自分がライト命令を副記憶システム100Bに発行した場合)には、ジャーナル論理ボリューム(JNL1)230内のジャーナルを接続パス200を介して副記憶システム200Bに送信する。これにより、正記憶システム100Aにおけるジャーナルの格納とは非同期で、そのジャーナルが副記憶システム100Bに格納される。また、そのジャーナルを用いたリストア処理が副記憶システム100Bで行われることにより、副論理ボリューム(COPY1)230が正論理ボリューム(DATA1)230の複製となる。
以上が、本実施形態における記憶システム100の構成例である。なお、言うまでも無いが、記憶システム100は、上述した構成に限定する必要は無い。例えば、制御サブシステム101は、上記の構成に限らず、例えば、制御情報やライトデータ等を記憶することができるメモリと、ホストコンピュータに対するインターフェース装置(以下、「I/F」と略記)と、他の記憶システムに対するI/Fと、記憶装置150に対するI/Fと、メモリ上の情報に基づきそれらのI/Fを介した通信等を制御する制御部(例えばCPU)とにより構成されてもよい。また、記憶システム100では、ホストコンピュータ180(もしくは、他の記憶システム)からCHA110及びスイッチング制御部270を介してキャッシュメモリ130へ行う第一データ転送や、キャッシュメモリ130からスイッチング制御部270及びCHA110を介してホストコンピュータ(もしくは、他の記憶システム)へ行う第二データ転送は、第一データ転送を制御するCHA110と第二データ転送を制御するCHA110とが異なれば、及び/又は、データの転送元と転送先となるキャッシュが異なれば(例えば、転送元のキャッシュメモリアドレスと転送先のキャッシュメモリアドレスとが異なれば)、同時に行うことができる。同様に、記憶システム100では、記憶装置150からDKA120及びスイッチング制御部270を介してキャッシュメモリ130へ行う第三データ転送や、キャッシュメモリ130からスイッチング制御部270及びDKA120を介して記憶装置150へ行う第四データ転送は、第三データ転送を制御するDKA120と第四データ転送を制御するDKA120とが異なれば、及び/又は、データの転送元と転送先となるキャッシュが異なれば(例えば、転送元のキャッシュメモリアドレスと転送先のキャッシュメモリアドレスとが異なれば)、同時に行うことができる。また、上述した第一データ転送での転送先又は第二データ転送での転送元と、第三データ転送での転送先及び/又は第四データ転送での転送元とが異なれば、第一データ転送又は第二データ転送と、第三データ転送及び/又は第四データ転送とを同時に行うことができる。また、上記のような同時転送を行うために、各転送経路(例えば、CHA110とスイッチング制御部270との間の転送経路、DKA120とスイッチング制御部270との間の転送経路、スイッチング制御部270とキャッシュメモリ130との間の転送経路)には、適切な帯域(転送速度)が必要となる。例えば、1つのスイッチング制御部270が、2つのCHA110と、2つのDKA120と、2つのキャッシュメモリ130とに接続されている場合、スイッチング制御部270とキャッシュメモリ130との間の帯域は、CHA110(又はDKA120)とスイッチング制御部270との間の帯域の1倍以上でなければ、多重伝送のメリットはなく、2倍以上の帯域があることが望ましい。また、記憶装置150の書込み速度や読出し速度、及び、キャッシュメモリ130の書込み速度や読出し速度は、記憶装置150とキャッシュメモリ130との間のパスの転送速度に比べて速い速度であり、且つ、互いにアンダーランエラーやオーバーランエラーが生じないような速度になっているのが好ましい。
ところで、CHA110及びDKA120から参照可能なメモリ、例えば、共有メモリ140には、制御情報の一種として、ボリューム情報400、パス情報500、グループ情報600及びポインタ情報700が格納される。以下、それらについて説明する。
図4は、ボリューム情報400の構成例を示す。
ボリューム情報400は、複数の論理ボリューム230を管理するための情報であり、例えば、各論理ボリューム毎に対応付けられた論理ボリューム番号、ボリューム状態、フォーマット形式、容量(例えば単位はギガバイト)、ペア番号及び物理アドレスを情報要素として含んでいる。
各論理ボリューム毎のボリューム状態は、その論理ボリュームの状態を表す情報要素であり、例えば、“正常”、“正”、“副”、“異常”、又は“未使用”などで表すことができる。ボリューム状態が“正常”もしくは“正”である論理ボリューム230は、ホストコンピュータ180から正常にアクセス可能な論理ボリューム230である。ボリューム状態が“副”である論理ボリューム230は、ホストコンピュータ180からのアクセスが許可されてもよい論理ボリューム230である。ボリューム状態が“正”である論理ボリューム230は、データの複製が行われている論理ボリューム(つまり正論理ボリューム)230である。ボリューム状態が“副”である論理ボリューム230は、複製に使用されている論理ボリューム(つまり副論理ボリューム)230である。ボリューム状態が“異常”の論理ボリューム230は、障害により正常にアクセスできない論理ボリューム230である。ここで言う「障害」とは、例えば、論理ボリューム230を保持するディスクドライブ110の故障である。ボリューム状態が“未使用”の論理ボリューム230は、使用していない論理ボリューム230であることを示す。
各論理ボリューム毎のペア番号は、正論理ボリュームと副論理ボリュームとのペアを特定するための番号である。すなわち、各論理ボリューム毎のペア番号は、その論理ボリュームに対応したボリューム状態が“正”もしくは“副”の場合に有効であり、後述するパス情報500を特定するためのペア番号である。
図4に例示するボリューム情報400によれば、例えば、論理ボリューム番号が「1」である論理ボリューム230は、フォーマット形式がOPEN3であり、記憶容量が3GBであり、記憶装置番号が「1」である記憶装置150の記憶領域の先頭からデータが格納されており、アクセス可能であり、正論理ボリューム(すなわち、データの複製対象)であることがわかる。なお、ボリューム情報400には、そのボリューム情報400を備える記憶システム100内の複数の論理ボリューム230のみならず、その記憶システム100が接続パス200を介して接続されている他の記憶システム100内の一以上の論理ボリューム230に関する情報が登録されていても良い。
図5は、パス情報500の構成例を示す。
パス情報500は、ペアを管理するための情報であり、例えば、各ペア毎に対応付けられたペア番号、ペア状態、正記憶システム番号、正論理ボリューム番号、副記憶システム番号、副論理ボリューム番号、グループ番号及びコピー済みアドレスを情報要素として含んでいる。
各ペア毎のペア状態は、そのペアの状態を示す情報要素であり、例えば、“正常”、“異常”、“未使用”,“コピー未”、又は“コピー中”などで表すことができる。ペア状態“正常”とは、正論理ボリューム230のデータ複製が正常に行われていることを示す。ペア状態“異常”とは、障害により正論理ボリューム230の複製が行えないことを示す。ここで言う「障害」とは、例えば、接続パス200の断線などである。ペア状態“未使用”とは、そのペア状態に対応するペア番号の情報は有効でないことを示す。ペア状態“コピー中”とは、後述する初期コピー処理中であることを示す。ペア状態“コピー未”とは、後述する初期コピー処理が未だ行われていないことを示す。
各ペア毎の正記憶システム番号は、そのペアを構成する正論理ボリューム230を保持する正記憶システム100Aを特定するための番号である。
各ペア毎の副記憶システム番号は、そのペアを構成する副論理ボリューム230を保持する副記憶システム100Bを特定するための番号である。
各ペア毎のグループ番号は、このパス情報500を備える記憶システム100が正記憶システム100Aの場合は、そのペアを構成する正論理ボリューム230が属するグループのグループ番号となり、このパス情報500を備える記憶システム100が副記憶システムの場合は、そのペアを構成する副論理ボリューム230が属するグループのグループ番号となる。
各ペア毎のコピー済みアドレスについては、後述する初期コピー処理にて説明する。
図5に例示したパス情報500によれば、例えば、ペア番号が「1」であるペアは、論理ボリューム番号が「1」である正論理ボリュームと、論理ボリューム番号が「1」である副論理ボリュームとによって構成されているペアであり、正常にデータ複製処理が行われていることがわかる。
図6は、グループ情報600の構成例を示す。
グループ情報600は、複数の論理ボリューム230によって構成される一以上のグループを管理するための情報であり、例えば、各グループ毎に対応付けられたグループ番号、グループ状態、ペア集合、ジャーナル論理ボリューム番号及び更新番号を情報要素として含んでいる。
各グループ毎のグループ状態は、そのグループに関する状態を表す情報要素であり、例えば、“正常”、“異常”、“未使用”などで表すことができる。グループ状態“正常”は、それに対応付けられているペア集合から特定される少なくとも一つのペアのペア状態が“正常”であることを示す。グループ状態“異常”は、それに対応付けられているペア集合から特定される全てのペアのペア状態が“異常”であることを示す。グループ状態“未使用”は、対応するグループのグループ番号の情報が有効でないことを示す。
各グループ毎のペア集合は、そのグループにおける各論理ボリュームが構成するペアのペア番号を含む。各ペア集合は、このグループ情報600を有する記憶システム100が正記憶システム100Aの場合、そのペア集合に対応したグループに属する全ての正論理ボリュームにそれぞれ対応した全てのペア番号を含む。一方、各ペア集合は、このグループ情報600を有する記憶システム100が副記憶システム100Bの場合、そのペア集合に対応したグループに属する全ての副論理ボリュームにそれぞれ対応した全てのペア番号を含む。
各グループ毎のジャーナル論理ボリューム番号は、そのグループに属するジャーナル論理ボリュームを特定するための番号を示す。
各グループ毎の更新番号は、ジャーナルの更新情報にセットされる番号であり、副記憶システム100Bにて、データの更新順を守るために使用するものである。各グループ毎の更新番号は、初期値は1であるが、例えば、その後、或るグループ内の正論理ボリュームにデータの書き込みが行われると、そのグループに対応した更新番号のみに1が加えられる。
図6に例示したグループ情報600が、例えば、正記憶システム100Aに備えられているグループ情報であるとすると、このグループ情報によれば、例えば、グループ番号が「1」であるグループには、ペア番号が「1」であるペアを構成する正論理ボリュームと、ペア番号が「2」であるペアを構成する正論理ボリュームと、論理ボリューム番号が「4」であるジャーナル論理ボリュームとが含まれていることがわかる。また、グループ番号が「1」であるグループについて、正常にデータの複製処理が行われていることもわかる。
図7は、ポインタ情報700の構成例を示す。図8は、図7に例示したポインタ情報700から特定される内容を示す。
図7に示すように、ポインタ情報700は、各グループ毎に用意される情報であって、対応するグループに含まれているジャーナル論理ボリュームを管理するための情報である。ポインタ情報700は、例えば、更新情報領域先頭アドレス、ライトデータ領域先頭アドレス、更新情報最新アドレス、更新情報最古アドレス、ライトデータ最新アドレス、ライトデータ最古アドレス、リード開始アドレス及びリトライ開始アドレスを情報要素として含む。
更新情報領域先頭アドレスは、ジャーナル論理ボリュームの更新情報を格納する記憶領域(更新情報領域)の先頭の論理アドレスである。
ライトデータ領域先頭アドレスは、ジャーナル論理ボリュームのライトデータを格納する記憶領域(ライトデータ領域)の先頭の論理アドレスである。
更新情報最新アドレスは、次にジャーナルを格納する場合に、そのジャーナル中の更新情報の保存に使用される先頭の論理アドレス(すなわち、次のジャーナル中の更新情報をどこから書き始めるかを表す情報)である。
更新情報最古アドレスは、最古の(更新番号が小さい)ジャーナルの更新情報を保存する領域における先頭の論理アドレスである。
ライトデータ最新アドレスは、次にジャーナルを格納する場合に、そのジャーナル中のライトデータの保存に使用する先頭の論理アドレス(すなわち、次のジャーナル中のライトデータをどこから書き始めるかを表す情報)である。
ライトデータ最古アドレスは、最古の(更新番号が小さい)ジャーナル中のライトデータを保存する領域における先頭の論理アドレスである。
リード開始アドレスとリトライ開始アドレスは、正記憶システム100Aのみで使用される情報要素であって、後述するジャーナルリード受信処理にて使用される。リード開始アドレスとリトライ開始アドレスについての詳細な説明は後述する。
図7および図8に例示したポインタ情報700によれば、ジャーナルの更新情報を保存する領域(更新情報領域)は、ジャーナル論理ボリューム#4のアドレス0(先頭)からアドレス699までの範囲であり、ジャーナルのライトデータを保存する領域(ライトデータ領域)は、ジャーナル論理ボリューム#4のアドレス700からアドレス2699までの範囲であることがわかる。また、或るジャーナルの更新情報は、ジャーナル論理ボリューム#4のアドレス200からアドレス499の範囲内に保存されており、その次のジャーナルの更新情報は、ジャーナル論理ボリューム#4のアドレス500から書き込まれることがわかる。また、上記或るジャーナルのライトデータは、ジャーナル論理ボリューム#4のアドレス1300からアドレス2199の範囲内に保存されており、その次のジャーナルのライトデータは、ジャーナル論理ボリューム#4のアドレス2200から書き込まれることがわかる。
以上が、ポインタ情報700の構成例である。本実施形態の説明では、1つのグループに1つのジャーナル論理ボリュームを割り当てる形態を例に採っているが、1つのグループに複数のジャーナル論理ボリュームが割り当てられてもよい。具体的には、例えば、1つのグループに2つのジャーナル論理ボリュームを割り当て、ジャーナル論理ボリューム毎にポインタ情報700を設け(又は、ポインタ情報700に複数のジャーナル論理ボリュームに関する情報要素を含め)、交互にジャーナルが格納されてもよい。これにより、ジャーナルのハードディスク150への書き込みが分散でき、性能の向上が見込める。さらに、ジャーナルのリード性能も向上する。別の具体例としては、1つのグループに2つのジャーナル論理ボリュームを割り当て、通常は、一方のジャーナル論理ボリュームのみを使用し、他方のジャーナル論理ボリュームは、使用中の一方のジャーナル論理ボリュームの性能が低下した場合に使用されるようにしてもよい。性能が低下する例としては、ジャーナル論理ボリュームが、複数の記憶装置150から構成され、RAID5の方式でデータを保持しており、それら複数の記憶装置150の一台が故障中の場合がある。
また、上述のボリューム情報400、パス情報500、グループ情報600、及びポインタ情報700等は、共有メモリ140に格納されていることができる。しかし、それに限られず、例えば、それらの情報が、キャッシュメモリ130、CHA110、DKA120、及び記憶装置150の少なくとも一つに集中してまたは分散して格納されても良い。また、各記憶システム100は、自分のための制御情報に加えて、少なくとも自分と通信可能な別の記憶システム100が備える制御情報(例えば、ボリューム情報400、パス情報500、グループ情報600、及びポインタ情報700のうちの少なくとも一種類)を備えていても良い。また、その場合、その別の記憶システム100において、制御情報が更新された場合には、更新された内容が、記憶システム100が備える制御情報であって、その別の記憶システム100に対応した制御情報に、反映されても良い。
さて、次に、正記憶システム100Aから副記憶システム100Bに対してデータ複製を開始する手順の一例を、図9を用いて説明する。
(1)グループ作成(ステップ900)について説明する。
ユーザは、保守端末あるいはホストコンピュータ180を使用して、正記憶システム100Aのグループ情報600を参照し、グループ状態が“未使用”のグループ番号Aを取得する。ユーザは、SVP281あるいはホストコンピュータ180を使用して、グループ番号Aの指定と、グループ作成指示とを正記憶システム100Aに行う。グループ作成指示を受けて、正記憶システム100Aは、指定されたグループ番号Aのグループ状態(正記憶システム100Aが有するグループ情報600におけるグループ状態)を“正常”に変更する。
同様に、ユーザは、副記憶システム100Bのグループ情報600を参照し、グループ状態が“未使用”のグループ番号Bを取得する。ユーザは、SVP281あるいはホストコンピュータ180を使用して、副記憶システム番号の指定と、グループ番号Bの指定と、グループ作成指示とを正記憶システム100Aに行う。正記憶システム100Aは、副記憶システム番号、グループ番号B及びグループ作成指示を受信し、受信したグループ番号B及びグループ作成指示を、受信した副記憶システム番号から特定される副記憶システム100Bに転送する。副記憶システム100Bは、グループ作成指示を受け、それに応答して、受信したグループ番号Bのグループ状態(副記憶システム100Bが有するグループ情報600におけるグループ状態)を“正常”に変更する。なお、一つの変形例として、ユーザは、副記憶システム100BのSVP281あるいは副記憶システム100Bに接続したホストコンピュータ180を使用して、グループ番号Bの指定と、グループ作成指示とを、副記憶システム100Bに行ってもよい。
(2)ペア登録(ステップ910)について説明する。
ユーザは、SVP281あるいはホストコンピュータ180を使用して、データ複製対象を示す情報の指定と、データ複製先を示す情報の指定と、ペア登録指示とを正記憶システム100Aに行う。「データ複製対象を示す情報」とは、例えば、データ複製対象(換言すれば、データの複製元)のグループのグループ番号Aと、正論理ボリュームの正論理ボリューム番号とを含んだ情報である。「データ複製先を示す情報」とは、例えば、複製データを保存する副記憶システム100Bの副記憶システム番号と、複製データを保存する副論理ボリュームの副論理ボリューム番号と、そのような副論理ボリュームを有するグループのグループ番号Bとを含んだ情報である。
上記ペア登録指示を受けて、正記憶システム100Aは、パス情報500からペア状態“未使用”のペア番号を取得し、取得されたペア番号に対応する各種情報要素(正記憶システム100Aにおけるパス情報500を構成する各種情報要素)について、以下の処理を行う。すなわち、正記憶システム100Aは、情報要素「ペア状態」を“未使用”から“コピー未”に変更し、情報要素「正記憶システム番号」に、正記憶システム100Aを示す正記憶システム番号を設定し、情報要素「正論理ボリューム番号」に、指定された正論理ボリューム番号を設定し、情報要素「副記憶システム番号」に、指定された副記憶システム番号を設定し、情報要素「副論理ボリューム番号」に、指示された副論理ボリューム番号を設定し、情報要素「グループ番号」に、指定されたグループ番号Aを設定する。また、正記憶システム100Aは、自分が備えるグループ情報600を参照し、指定されたグループ番号Aに対応したペア集合に、前記取得されたペア番号を含め、且つ、上記設定された正論理ボリューム番号に対応したボリューム状態(その正記憶システム100Aが備えるボリューム情報400におけるボリューム状態)を“正”に変更する。
正記憶システム100Aは、正記憶システム100Aを示す正記憶システム番号、ユーザから指定されたグループ番号B、正論理ボリューム番号、および副論理ボリューム番号を、ユーザから指定された副記憶システム番号に対応する副記憶システム100Bに送信する。副記憶システム100Bは、パス情報500から未使用のペア番号を取得し、取得されたペア番号に対応する各種情報要素(副記憶システム100Bにおけるパス情報500を構成する各種情報要素)について、以下の処理を行う。すなわち、副記憶システム100Bは、情報要素「ペア状態」を“コピー未”に設定し、情報要素「正記憶システム番号」に、記憶システム100Aを示す正記憶システム番号を設定し、情報要素「正論理ボリューム番号」に、指示された正論理ボリューム番号を設定し、情報要素「副記憶システム番号」に、副記憶システムBを示す副記憶システム番号を設定し、情報要素「副論理ボリューム番号」に、指示された副論理ボリューム番号を設定し、情報要素「グループ番号」に、指示されたグループ番号Bを設定する。また、副記憶システム100Bは、自分が備えるグループ情報600を参照し、指示されたグループ番号Bに対応したペア集合に、前記取得したペア番号を含め、且つ、上記設定された副論理ボリューム番号に対応したボリューム状態(その副記憶システム100Bが備えるボリューム情報400におけるボリューム状態)を“副”に変更する。
以上のステップ910の処理は、全てのデータ複製対象のペアに対して行われる。
前記の説明では、論理ボリュームのグループへの登録と、論理ボリュームのペアの設定を同時に行う処理を説明したが、それぞれが別々の時期に行われても良い。
(3)ジャーナル論理ボリューム登録(ステップ920)について説明する。
ユーザは、SVP281あるいはホストコンピュータ180を使用して、ジャーナルの保存に使用する論理ボリューム(ジャーナル論理ボリューム)をグループに登録する指示(ジャーナル論理ボリューム登録指示)を正記憶システム100Aに行う。ジャーナル論理ボリューム登録指示は、例えば、グループ番号と論理ボリューム番号からなる。
正記憶システム100Aは、指示されたグループ番号のグループ情報600のジャーナル論理ボリューム番号に指示された論理ボリューム番号を登録する。当該論理ボリュームのボリューム情報400のボリューム状態を“正常”に設定する。
同様に、ユーザは、SVP281あるいはホストコンピュータ180を使用して、副記憶システム100Bのボリューム情報400を参照し、副記憶システム番号と、グループ番号Bと、ジャーナル論理ボリュームとして使用する論理ボリューム番号とを正記憶システム100Aに指定し、且つ、ジャーナル論理ボリューム登録指示を正記憶システム100Aに対して行う。正記憶システム100Aは、受けたジャーナル論理ボリューム登録指示、グループ番号B及び論理ボリューム番号を、指定された副記憶システム番号から特定される副記憶システム100Bに転送する。副記憶システム100Bは、自分が備えるグループ情報600を参照し、受けたグループ番号Bに対応した情報要素「ジャーナル論理ボリューム番号」に、受けた論理ボリューム番号を登録する。また、副記憶システム100Bは、自分が備えるボリューム情報400を参照し、上記受けた論理ボリューム番号に対応する情報要素「ボリューム状態」を“正常”に設定する。
なお、ユーザは、副記憶システム100BのSVP281あるいは副記憶システム100Bに接続したホストコンピュータ180を使用して、グループ番号の指定と、ジャーナル論理ボリュームとして使用する論理ボリューム番号の指定と、ジャーナル論理ボリューム登録指示とを副記憶システム100Bに対して行ってもよい。
以上のステップ920の処理は、ジャーナル論理ボリュームとして使用する全ての論理ボリュームに対して行われる。なお、ステップ910とステップ920の順は不同でなくてもよい。
(4)データ複製処理開始(ステップ930)について説明する。
ユーザは、SVP281あるいはホストコンピュータ180を使用して、データ複製処理を開始するグループ番号の指定と、データ複製処理の開始指示とを、正記憶システム100Aに対して行う。正記憶システム100Aは、自分が備えるペア情報400を参照し、指示されたグループ番号に対応する全てのコピー済みアドレスを0に設定する。
正記憶システム100Aは、指示されたグループ番号に対応する副記憶システム番号から特定された副記憶システム100Bに、後述するジャーナルリード処理およびリストア処理の開始を指示する。
正記憶システム100Aは、後述する初期コピー処理を開始する。
(5)初期コピー終了(ステップ940)について説明する。
初期コピーが終了した場合、正記憶システム100Aは、初期コピー処理の終了を、ステップ930で特定された副記憶システム100Bに通知する。副記憶システム100Bは、自分が備えるパス情報500を参照し、指示されたグループ番号に対応する全てのペア状態(副論理ボリュームのペア状態)を“正常”に変更する。
図10は、初期コピー処理のフローチャートである。
初期コピー処理では、データ複製対象の正論理ボリュームの全記憶領域に対し、パス情報500のコピー済みアドレスを用い、記憶領域の先頭から順に、単位サイズ毎にジャーナルが作成される。コピー済みアドレスは、初期値は0であり、ジャーナルの作成毎に、作成されたデータ量が加算される。論理ボリュームの記憶領域の先頭から、コピー済みアドレスの一つ前までは、初期コピー処理にてジャーナルは作成済みである。初期コピー処理を行うことにより、正論理ボリュームの更新されていないデータを副論理ボリュームに転送することが可能となる。以下の説明では、正記憶システム100A内のホストCHA110Aが処理を行うように記載しているが、代わりに、DKA120が行ってもよい。
(1)正記憶システム100A内のホストCHA110Aは、正記憶システム100A内のグループ情報600及びパス情報500に基づいて、処理対象のグループに属するペアでペア状態が“コピー未”である正論理ボリューム(以下、これを「正論理ボリュームA」と表記する)を把握し、把握された正論理ボリュームAに関するペア状態を“コピー中”に変更し、以下の処理を繰り返す(ステップ1010、1020)。もし、正論理ボリュームAが存在しない場合は、ホストCHA110Aは、処理を終了する(ステップ1030)。
(2)ステップ1020にて、論理ボリュームAが存在した場合、ホストCHA110Aは、単位サイズ(例えば、1MB)のデータを対象にジャーナルを作成する。ジャーナル作成処理は後述する(ステップ1040)。
(3)ホストCHA110Aは、コピー済みアドレスに作成したジャーナルのデータサイズを加算する(ステップ1050)。
(4)コピー済みアドレスが、正論理ボリュームAの容量に達するまで、上記処理を繰り返す(ステップ1060)。コピー済みアドレスが、正論理ボリュームAの容量と等しくなった場合、正論理ボリュームAの全記憶領域に対してジャーナルを作成したため、ペア状態を“正常”に更新し、他の正論理ボリュームの処理を開始する(ステップ1070)。
前記のフローチャートでは、正論理ボリュームを1つずつ対象とするように説明したが、複数の正論理ボリュームにそれぞれ格納されている複数のデータについて同時にジャーナルが処理されてもよい。
図11は、命令受信処理210の処理を説明する図であり、図12は命令受信処理210のフローチャートであり、図13はジャーナル作成処理のフローチャートである。以下、これらを用いて、正記憶システム100Aが、ホストコンピュータ180からデータ複製対象の正論理ボリューム230にライト命令を受信した場合の動作について説明する。また、以下の説明では、正記憶システム100Aの或るグループに属する正論理ボリューム及びジャーナル論理ボリュームはそれぞれ一つであるとし、且つ、その正論理ボリュームを「正論理ボリューム230PA」と表記し、そのジャーナル論理ボリュームを「ジャーナル論理ボリュームJA」と表記する。
(1)正記憶システム100A内のホストCHA110Aは、ホストコンピュータ180からアクセス命令を受信する(ステップ1200)。アクセス命令は、リード、ライト、後述するジャーナルリード等の命令、命令対象の論理アドレス、データ量等を含んでいる。以下、アクセス命令内の論理アドレスを論理アドレスA、論理ボリューム番号を論理ボリューム番号A、論理ボリューム内位置を論理ボリューム内位置A、データ量をデータ量Aと言う。また、その論理ボリューム番号Aから特定される論理ボリュームが、論理ボリュームAであるとする。
(2)ホストCHA110Aは、アクセス命令を調べる(ステップ1210、1215)。ステップ1215の調べで、アクセス命令がジャーナルリード命令の場合は、後述するジャーナルリード受信処理が行われる(ステップ1220)。アクセス命令がジャーナルリード命令およびライト命令以外、例えば、リード命令の場合は、そのリード命令に応じたリード処理が行われる(ステップ1230)。
(3)ステップ1210の調べで、アクセス命令がライト命令の場合は、ホストCHA110Aは、ボリューム情報400を参照し、論理ボリュームAのボリューム状態を調べる(ステップ1240)。ステップ1240の調べで、論理ボリュームAのボリューム状態が、“正常”もしくは“正”以外の場合は、論理ボリュームAへのアクセスは不可能なため、ホストCHA110Aは、ホストコンピュータ180に異常終了を報告する(ステップ1245)。
(4)ステップ1240の調べで、論理ボリュームAのボリューム状態が、“正常”、“正”のいずれかの場合は、ホストCHA110Aは、キャッシュメモリ130(又はそのメモリ130上の一定サイズの記憶領域)を確保し、ホストコンピュータ180にデータ受信の準備ができたことを通知する。ホストコンピュータ180は、その通知を受け、ライトデータを正記憶システム100Aに送信する。ホストCHA110Aは、ライトデータを受信し、当該キャッシュメモリ130に保存する(ステップ1250、図11の1100)。
(5)ホストCHA110Aは、論理ボリュームAのボリューム状態を参照し、論理ボリュームAがデータ複製対象かどうか(つまり正論理ボリュームかどうか)を調べる(ステップ1260)。ステップ1260の調べで、ボリューム状態が、“正”である場合は、論理ボリュームAがデータ複製対象であるため、ホストCHA110Aは、後述するジャーナル作成処理を行う(ステップ1265)。
(6)ステップ1260の調べで、ボリューム状態が、“正常”である場合、もしくはステップ1265のジャーナル作成処理の終了後、ホストCHA110Aは、論理ボリュームAを有する記憶装置150にライトデータを書き込むことをDKA120に命令し(図11の1140)、ホストコンピュータ180に終了報告する(ステップ1270、1280)。その後、ライトデータの書込み命令を受けたDKA120は、リードライト処理220により、論理ボリュームAを有する記憶装置150にライトデータを保存する(図11の1110)。
次に、ジャーナル作成処理について説明する。
(1)ホストCHA110Aは、ボリューム情報400、パス情報500及びグループ情報600に基づいて、論理ボリューム番号Aに対応したグループ番号に属するジャーナル論理ボリューム230JAのボリューム状態を調べる(ステップ1310)。ステップ1310の調べで、ジャーナル論理ボリュームのボリューム状態が、“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、ホストCHA110Aは、グループ状態を“異常”に変更し、処理を終了する(ステップ1315)。この場合、ホストCHA110Aは、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等の処理を行っても良い。
(2)ステップ1310の調べで、ジャーナル論理ボリュームが正常である場合、ホストCHA110Aは、ジャーナル作成処理を継続する。ジャーナル作成処理の内容は、初期コピー処理内の処理であるか、命令受信処理内の処理であるかによって異なる(ステップ1320)。ジャーナル作成処理が命令受信処理内の処理の場合は、ホストCHA110Aは、ステップ1330からの処理を行う。ジャーナル作成処理が初期コピー処理内の場合は、ホストCHA110Aは、ステップ1370からの処理を行う。
(3)ジャーナル作成処理が命令受信処理内の処理の場合、ホストCHA110Aは、ライト対象の論理アドレスAが、初期コピー処理の処理対象となったかを調べる(ステップ1330)。論理ボリュームAのペア状態が“コピー未”の場合は、後に初期コピー処理にてジャーナル作成処理が行われるため、ホストCHA110Aは、ジャーナルを作成せずに処理を終了する(ステップ1335)。論理ボリュームAのペア状態が“コピー中”の場合は、コピー済みアドレスが論理アドレス内位置Aと等しいもしくは、小さい場合は、後に初期コピー処理にてジャーナル作成処理が行われるため、ホストCHA110Aは、ジャーナルを作成せずに処理を終了する(ステップ1335)。上記以外、つまり、論理ボリュームAのペア状態が“コピー中”かつコピー済みアドレスが論理アドレス内位置A以上の場合もしくは、論理ボリュームAのペア状態が“正常”の場合は、既に初期コピー処理が完了しているため、ホストCHA110Aは、ジャーナル作成処理を継続する。
(4)次に、ホストCHA110Aは、ジャーナルがジャーナル論理ボリュームに格納可能であるかどうかを調べる。具体的には、ホストCHA110Aは、ポインタ情報700を用いて、更新情報領域の未使用領域の有無を調べる(ステップ1340)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ホストCHA110Aは、ジャーナル作成失敗として処理を終了する(ステップ1390)。
ステップ1340の調べで、更新情報領域に未使用領域が存在する場合は、ホストCHA110Aは、ポインタ情報700を用いて、ライトデータ領域にライトデータが格納できるかどうかを調べる(ステップ1345)。ホストCHA110Aは、ライトデータ最新アドレスとデータ量Aの和が、ライトデータ最古アドレスと等しいもしくは大きい場合は、ライトデータ領域に格納できないため、ジャーナル作成失敗として処理を終了する(ステップ1390)。
(5)ジャーナルが格納可能である場合、ホストCHA110Aは、更新番号(対象グループ(ジャーナル論理ボリュームJA1が属するグループ)に対応した更新番号(グループ情報600に含まれている更新番号))と、更新情報を格納する論理アドレスと、ライトデータを格納する論理アドレスとを取得し、更新情報をキャッシュメモリ130内に作成する。また、ホストCHA110Aは、取得された更新番号に1を足した数値を、新たな更新番号としてグループ情報600に設定する。更新情報を格納する論理アドレスは、ポインタ情報700の更新情報最新アドレスであり、ホストCHA110Aは、更新情報のサイズを足した数値を新たな更新情報最新アドレスとしてポインタ情報700に設定する。ライトデータを格納する論理アドレスは、ポインタ情報700のライトデータ最新アドレスであり、ホストCHA110Aは、ライトデータ最新アドレスにデータ量Aを足した数値を新たなライトデータ最新アドレスとしてポインタ情報700に設定する。
ホストCHA110Aは、上記取得した数値とグループ番号、ライト命令を受信した時刻、ライト命令内の論理アドレスA、データ量Aを更新情報に設定する(ステップ1350、図11の1120)。例えば、図6に示すグループ情報600、図7に示すポインタ情報700の状態で、グループ1に属する正論理ボリューム#1のアドレス800の位置にデータサイズ100のライト命令を受信した場合、図22に例示する更新情報を作成する。グループ情報の更新番号は5、ポインタ情報の更新情報最新アドレスは600(更新情報のサイズは100とする)、ライトデータ最新アドレスは2300となる。
(6)ホストCHA110Aは、DKA120に、ジャーナルの更新情報とライトデータを記憶装置150に書き込むことを命令し、正常終了する(ステップ1360、図11の1130、1140、1150)。
(7)ジャーナル作成処理が、初期コピー処理内の処理の場合は、ステップ1370からの処理を行う。ホストCHA110Aは、ジャーナルが作成可能であるかどうかを調べる。具体的には、ホストCHA110Aは、ポインタ情報700を用いて、更新情報領域の未使用領域の有無を調べる(ステップ1370)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ホストCHA110Aは、ジャーナル作成失敗として処理を終了する(ステップ1390)。本実施形態で示した初期コピー処理の場合、ジャーナルのライトデータは、正論理ボリュームからリードし、ライトデータ領域は使用しないため、ライトデータ領域の未使用領域の確認は不要である。
(8)ステップ1370の調べで、ジャーナルが作成可能である場合、ホストCHA110Aは、更新情報に設定する数値を取得し、更新情報をキャッシュメモリ130内に作成する。更新番号は、対象グループのグループ情報600から取得されたものであり、ホストCHA110Aは、その更新番号に1を足した数値をグループ情報600に新たな更新番号として設定する。更新情報を格納する論理アドレスは、ポインタ情報700の更新情報最新アドレスの位置であり、ホストCHA110Aは、更新情報のサイズを足した数値をポインタ情報700に新たな更新情報最新アドレスとして設定する。
ホストCHA110Aは、上記取得した数値とグループ番号、本処理の開始時刻、初期コピー処理対象の論理アドレス、初期コピーの1回の処理量、ライトデータを格納したジャーナル論理ボリュームの論理アドレスに初期コピー処理対象の論理アドレスを、更新情報に設定する(ステップ1380、図11の1120)。
(9)ホストCHA110Aは、DKA120に、更新情報を記憶装置150に書き込むことを命令し(換言すれば、ジャーナル論理ボリューム230JAにおける上記新たな更新情報最新アドレスから書き込むことを命令し)、正常終了する(ステップ1385、図11の1140、1160)。
以上が、図11〜図13についての説明である。なお、上記説明では、更新情報は、キャッシュメモリ130内に一時的に格納されるようになっているが、共有メモリ140内等に一時的に格納されてもよい。
また、ライトデータの記憶装置150への書き込みは、非同期、つまり、ステップ1360およびステップ1385の直後でなくともよい。ただし、ホストコンピュータ180が、論理アドレスAにライト命令を再び行った場合、ジャーナルのライトデータが上書きされるため、ホストコンピュータ180からライトデータを受信する前に、ジャーナルのライトデータは、更新情報のジャーナル論理ボリュームの論理アドレスに対応する記憶装置150に書き込む必要がある。もしくは、別のキャッシュメモリに退避し、後に更新情報のジャーナル論理ボリュームの論理アドレスに対応する記憶装置150に書き込みが行われてもよい。
また、前述したジャーナル作成処理では、ジャーナルを記憶装置150(換言すればジャーナル論理ボリューム230JA)に保存するとしていたが、ジャーナル用に予め一定量のキャッシュメモリ130を用意しておき、当該キャッシュメモリを全て使用してから、記憶装置150にジャーナルが保存されてもよい。ジャーナル用のキャッシュメモリ量は、例えば、SVP281から指定することができるようにしてもよい。
また、リードライト処理220は、DKA120が、CHA110もしくは他のDKA120から命令を受け、その命令に応答して実施される処理である。具体的には、例えば、リードライト処理220は、指定されたキャッシュメモリ130のデータを、指定された論理アドレスに対応する記憶装置150内の記憶領域に書き込む処理や、指定された論理アドレスに対応する記憶装置150内の記憶領域から、指定されたキャッシュメモリ130にデータを読み込む処理等である。リードライト処理220は、例えば、特定のコンピュータプログラムをDKA120上のCPUが読み込むことにより行うことができる。
図14は、ジャーナルリード命令を受信した正記憶システム100AのホストCHA110Aの動作(ジャーナルリード受信処理)を説明する図であり、図15は、ジャーナルリード受信処理のフローチャートである。以下、これらを用いて、正記憶システム100Aが、副記憶システム100Bからジャーナルリード命令を受信した場合の動作について説明する。なお、以下の説明では、正記憶システム100A内のシステムCHA110Bを「システムCHA110BP」と表記し、副記憶システム100B内のシステムCHA110Bを「システムCHA110BS」と表記する。
(1)システムCHA110BPは、システムCHA110BSからアクセス命令を受信する。アクセス命令は、ジャーナルリード命令であることを示す識別子、命令対象のグループ番号、リトライ指示の有無を含んでいる。以下、アクセス命令内のグループ番号をグループ番号Aとする(ステップ1220、図14の1410)。
(2)システムCHA110BPは、グループ情報600を参照し、グループ番号Aのグループ状態が“正常”であるかを調べる(ステップ1510)。ステップ1510の調べで、グループ状態が“正常”以外、例えば、“障害”の場合は、システムCHA110BPは、システムCHA110BSにグループ状態を通知し、処理を終了する。システムCHA110BSは、受信したグループ状態に応じて処理を行う。例えば、グループ状態が“障害”の場合は、システムCHA110BSは、ジャーナルリード処理を終了する(ステップ1515)。
(3)ステップ1510の調べで、グループ番号Aのグループ状態が“正常”の場合、システムCHA110BPは、ジャーナル論理ボリュームの状態を調べる(ステップ1520)。ステップ1520の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”でない場合、例えば、“障害”の場合は、システムCHA110BPは、グループ状態を“障害”に変更し、変更後のグループ状態をシステムCHA110BSに通知し、処理を終了する。システムCHA110BSは、受信したグループ状態に応じて処理を行う。例えば、グループ状態が“障害”の場合は、システムCHA110BSは、ジャーナルリード処理を終了する(ステップ1525)。
(4)ステップ1520の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、システムCHA110BPは、ジャーナルリード命令がリトライ指示かを調べる(ステップ1530)。
(5)ステップ1530の調べで、ジャーナルリード命令がリトライ指示の場合、システムCHA110BPは、前回送信したジャーナルを再度、副記憶システム100Bに送信する。システムCHA110BPは、キャッシュメモリ130を確保し、DKA120に、ポインタ情報700のリトライ開始アドレスから、更新情報のサイズの情報をキャッシュメモリに読み込むことを命令する(図14の1420)。
DKA120のリードライト処理220(例えば、DKA120のCPUに読み込まれたコンピュータプログラム)は、記憶装置150(換言すればジャーナル論理ボリューム230JA)から更新情報を読み込み、キャッシュメモリ130に保存し、命令元であるシステムCHA110BPにリード終了を通知する(図14の1430)。
システムCHA110BPは、更新情報のリード終了の通知を受け、キャッシュメモリ130に保存されている更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、その後、キャッシュメモリ130を確保し、確保されたキャッシュメモリ130に上記取得された論理アドレスからライトデータを読み込むことをDKA120に命令する(ステップ1540、図14の1440)。
DKA120は、リードライト処理220により、記憶装置150(具体的には、上記命令された論理アドレス)からライトデータを読み込み、確保されたキャッシュメモリ130にそのライトデータを保存し、命令元であるシステムCHA110BPにリード終了を通知する(図14の1450)。
システムCHA110BPは、ライトデータのリード終了の通知を受け、更新情報とライトデータとを副記憶システム100Bに送信し、ジャーナルを保持しているキャッシュメモリ130を開放し、処理を終了する(ステップ1545、図14の1460)。
(6)ステップ1530の調べで、リトライ指示でない場合、システムCHA110BPは、送信していないジャーナルが存在するかを調べ、存在すれば、ジャーナルを副記憶システム100Bに送信する。システムCHA110BPは、ポインタ情報700のリード開始アドレスと更新情報最新アドレスを比較する(ステップ1550)。
リード開始アドレスが更新情報最新アドレスと等しい場合は、全てのジャーナルを副記憶システム100Bに送信済みであるため、システムCHA110BPは、副記憶システム100Bに“ジャーナル無“を送信し(ステップ1560)、前回のジャーナルリード命令の時に、副記憶システム100Bに送信したジャーナルの記憶領域を開放する(ステップ1590)。
ジャーナルの記憶領域の開放処理では、システムCHA110BPは、ポインタ情報700の更新情報最古アドレスに、リトライ開始アドレスを設定する。更新情報最古アドレスがライトデータ領域先頭アドレスとなった場合は、システムCHA110BPは、更新情報最古アドレスを0とする。システムCHA110BPは、ポインタ情報700のライトデータ最古アドレスを、前回のリードジャーナル命令に応じて送信したライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、システムCHA110BPは、ライトデータ領域先頭アドレスを減じ、補正する。
(7)ステップ1550の調べで、未送信のジャーナルが存在する場合、システムCHA110BPは、キャッシュメモリ130を確保し、ポインタ情報700のリード開始アドレスから更新情報を上記確保されたキャッシュメモリ130に読み込むこと(換言すれば、リード開始アドレスから所定サイズ分の情報を読み出すこと)を、DKA120に命令する(図14の1420)。
DKA120は、その命令に応答してリードライト処理220を実行することにより、記憶装置150(換言すればジャーナル論理ボリューム230JA)から更新情報を読み込み、キャッシュメモリ130に保存し、命令元であるシステムCHA110BPにリード終了を通知する(図14の1430)。
システムCHA110BPは、更新情報のリード終了の通知を受け、読み出された更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保し、取得された論理アドレスから取得されたサイズ分のライトデータを上記確保されたキャッシュメモリ130に読み込むことをDKA120に命令する(ステップ1570、図14の1440)。
DKA120は、リードライト処理220を行うことにより、その命令に従って、記憶装置150(換言すれば、ジャーナル論理ボリューム230JAの上記命令された論理アドレス)からライトデータを読み込み、上記確保されたキャッシュメモリ130にそのライトデータを保存し、リード終了をシステムCHA110BPに通知する(図14の1450)。
システムCHA110BPは、ライトデータのリード終了の通知を受け、更新情報とライトデータを副記憶システム100Bに送信(ステップ1580)し、ジャーナルを保持しているキャッシュメモリ130を開放する(図14の1460)。そして、システムCHA110BPは、ポインタ情報700のリトライ開始アドレスにリード開始アドレスを設定し、且つ、そのリード開始アドレスに上記送信したジャーナルの更新情報サイズを足した数値をポインタ情報700に新たなリード開始アドレスとして設定する。
(8)システムCHA110BPは、前回のジャーナルリード命令の処理時に、副記憶システム100Bに送信したジャーナルの記憶領域を開放する(ステップ1590)。
以上が、図14〜図15についての説明である。なお、前述したジャーナルリード受信処理では、正記憶システム100Aは、ジャーナルを一つずつ副記憶システム100Bに送信していたが、複数のジャーナルを同時に副記憶システム100Bに送信してもよい。1つのジャーナルリード命令で、送信するジャーナル数は、副記憶システム100Bがジャーナルリード命令内に指定してもよいし、グループ登録の際等の所定のタイミングで、ユーザが正記憶システム100Aもしくは、副記憶システム100Bに指定してもよい。さらに、正記憶システム100Aと副記憶システム100Bの接続パス200の転送能力もしくは、負荷等により、1つのジャーナルリード命令で送信するジャーナル数を、正記憶システム100A又は副記憶システム100Bが動的に変更してもよい。また、ジャーナル数でなく、ジャーナルのライトデータのサイズを考慮し、ジャーナルの転送量を指定してもよい。その転送量も、動的に変更されても良い。
また、前述したジャーナルリード受信処理では、ジャーナルを記憶装置150からキャッシュメモリ130に読み込んでいたが、キャッシュメモリ130に存在する場合は、当該処理は行わなくても良い。
また、前述したジャーナルリード受信処理内のジャーナルの記憶領域の開放処理は、次のジャーナルリード命令の処理時としたが、副記憶システム100Bにジャーナルを送信した直後に行われても良い。また、副記憶システム100Bが、ジャーナルリード命令内に開放してよい更新番号を設定し、正記憶システム100Aは、その指示に従って、ジャーナルの記憶領域を開放してもよい。
図16は、ジャーナルリード命令処理240を説明する図であり、図17は、ジャーナルリード命令処理240のフローチャートであり、図18は、ジャーナル格納処理のフローチャートである。以下、これらを用いて、副記憶システム100BのシステムCHA110BSが、正記憶システム100Aからジャーナルを読み出し、そのジャーナルに基づいて、副記憶システム100B内のジャーナル論理ボリューム(以下、それを「ジャーナル論理ボリューム230JB」と表記)にジャーナルを格納する動作について説明する。また、図16では、ジャーナルリード命令処理240を「JNLRD処理240」と表記する。
(1)システムCHA110BSは、ジャーナルを格納するキャッシュメモリ130を確保し、ジャーナルリード命令であることを示す識別子と、命令対象の正記憶システム100Aのグループ番号と、リトライ指示の有無とを含むアクセス命令を生成し、そのアクセス命令を正記憶システム100Aに送信する。以下、アクセス命令内のグループ番号をグループ番号Aとする(ステップ1700、図16の1610)。なお、グループ番号Aは、例えば、システムCHA110BSが、副記憶システム100Bに備えられるグループ情報600やパス情報500等を参照して、ジャーナル論理ボリューム230JBの番号が属するグループ番号に含まれる副論理ボリューム番号に対応した正論理ボリューム番号を特定し、特定された正論理ボリューム番号が属するグループ番号を正記憶システム100Aに問い合わせる等の方法により、取得することができる。
(2)システムCHA110BSは、正記憶システム100Aの応答およびジャーナルを受信する(図16の1620)。システムCHA110BSは、受信した応答を調べ、その応答が、“ジャーナル無”の場合は、正記憶システム100Aには、指定したグループ番号Aに対応したグループについてジャーナルが存在しないため、一定時間後、正記憶システム100Aにリードジャーナル命令を送信する(ステップ1720、1725)。
(4)正記憶システム100Aの応答が、“グループ状態は障害”もしくは“グループ状態は未使用”の場合は、システムCHA110BSは、副記憶システム100Bのグループ状態(ジャーナル論理ボリューム230JBが属するグループのグループ状態)を受信した状態に変更し、ジャーナルリード処理を終了する(ステップ1730、1735)。
(5)正記憶システム100Aの応答が、上記以外、つまり、正常終了の場合は、システムCHA110BSは、ボリューム情報400を参照し、ジャーナル論理ボリューム230JBのボリューム状態を調べる(ステップ1740)。ジャーナル論理ボリューム230JBのボリューム状態が“異常”の場合は、ジャーナル論理ボリューム230JBにジャーナルの格納が不可能なため、システムCHA110BSは、そのジャーナル論理ボリューム230JSが属するグループに対応したグループ状態を“異常”に変更し、処理を終了する(ステップ1745)。この場合、システムCHA110BSは、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等を行い、グループの状態を正常に戻してもよい。
(6)ステップ1740の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、システムCHA110BSは、後述するジャーナル格納処理1800を行う。ジャーナル格納処理1800が正常に終了した場合は、システムCHA110BSは、次のジャーナルリード命令を送信する(ステップ1760)。それに代えて、システムCHA110BSは、ジャーナル格納処理1800が正常に終了してから一定時間経過後に、次のジャーナルリード命令を生成して送信してもよい。なお、システムCHA110BSは、次のジャーナル命令を送信するタイミングを、一定の時間間隔で定期的に送信するものでも良いし、受信したジャーナルの個数、接続パス200の通信量、副記憶システム100Bが保持しているジャーナル論理ボリュームの記憶容量、又は副記憶システム100Bの負荷等によって決めてもよいし、正記憶システム100Aが保持しているジャーナルの記憶容量(もしくは、正記憶システム100Aのポインタ情報700)を取得し、取得された記憶容量に基づいて決めてもよい。上記情報の転送は、専用のコマンドで行ってもよいし、ジャーナルリード命令の応答に含んでもよい。その後の処理は、ステップ1710以降と同じである。
(7)ステップ1800のジャーナル格納処理が正常に終了しない場合は、ジャーナル論理ボリュームの未使用領域が足りないため、システムCHA110BSは、受信したジャーナルを破棄し、一定時間後にリトライ指示のジャーナルリード命令を送信する(ステップ1755)。もしくは、システムCHA110BSは、ジャーナルをキャッシュメモリ230に保持しておき、一定時間後に、再度ジャーナル格納処理を行っても良い。これは、後述するリストア処理250が行われることにより、一定時間後には、ジャーナル論理ボリュームに未使用領域が増える可能性があるためである。この方式の場合は、ジャーナルリード命令にリトライ指示の有無は含めなくてもよい。
次に、図18に示すジャーナル格納処理1800について説明する。
(1)システムCHA110BSは、ジャーナルがジャーナル論理ボリューム230JBに格納可能であるかを調べる。具体的には、システムCHA110BSは、副記憶システム100Bに備えられるポインタ情報700を用いて、更新情報領域に未使用領域が有るか無いかを調べる(ステップ1810)。ポインタ情報700の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、システムCHA110BSは、ジャーナル作成失敗として処理を終了する(ステップ1820)。
(2)ステップ1810の調べで、更新情報領域に未使用領域が存在する場合は、システムCHA110BSは、ポインタ情報700を用い、ライトデータ領域にライトデータが格納できるかを調べる(ステップ1830)。ライトデータ最新アドレスと受信したジャーナルのライトデータのデータ量の和が、ライトデータ最古アドレスと等しいもしくは大きい場合は、ライトデータ領域にライトデータを格納できないため、システムCHA110BSは、ジャーナル作成失敗として処理を終了する(ステップ1820)。
(3)ジャーナルが格納可能である場合、システムCHA110BSは、上記ジャーナルリード処理240により受信したジャーナルの更新情報に含まれているグループ番号とジャーナル論理ボリュームのライトデータの論理アドレス(以下、「ジャーナルライトデータアドレス」と略記)とを変更する。具体的には、システムCHA110BSは、更新情報中のグループ番号を、副記憶システム100Bのグループ番号(ジャーナル論理ボリューム230JBが属するグループのグループ番号)に変更し、更新情報中のジャーナルライトデータアドレスを、副記憶システム100Bが備えるポインタ情報700のライトデータ最新アドレスに変更する。システムCHA110BSは、そのポインタ情報700の更新情報最新アドレスを、現在の更新情報最新アドレスに更新情報のサイズを足した数値に変更する。システムCHA110BSは、そのポインタ情報700のライトデータ最新アドレスを、現在のライトデータ最新アドレスにライトデータのサイズを足した数値に変更する(ステップ1840)。
(4)システムCHA110BSは、キャッシュメモリ130を確保し、確保されたキャッシュメモリ130に更新情報とライトデータとを格納し、それら更新情報とライトデータとを記憶装置150(換言すればジャーナル論理ボリューム230JB)に書き込むことをDKA120に命令し、ジャーナル作成成功として処理を終了する(ステップ1850、図16の1630)。その後、DKA120は、リードライト処理220により、キャッシュメモリ130に格納されている更新情報とライトデータとを記憶装置150に書き込み、その後、上記確保されたキャッシュメモリ130を開放する(図16の1640)。
前述したジャーナル格納処理では、ジャーナルを記憶装置150に保存するとしていたが、ジャーナル用に予め一定量のキャッシュメモリ130を用意しておき、当該キャッシュメモリを全て使用してから、その全てのキャッシュメモリ130から記憶装置150にジャーナルが保存されてもよい。ジャーナル用のキャッシュメモリ量は、例えば、SVP281から指定されてもよい。
図19は、リストア処理250を説明する図であり、図20は、リストア処理250のフローチャートである。以下、これらを用いて、副記憶システム100BのホストCHA110Aが、ジャーナルを利用し、データの更新を行う動作について説明する。なお、リストア処理250は、別のCHA110(例えばシステムCHA110BS)が行っても良いし、副記憶システム100BのDKA120が行ってもよい。
(1)ホストCHA110Aは、グループ情報600を参照し、複数のグループ番号の中から選択したグループ番号のグループ状態が“正常”であるかを調べる(ステップ2010)。ステップ2010の調べで、グループ状態が“正常”以外、例えば、“障害”の場合は、ホストCHA110Aは、リストア処理250を終了する(ステップ2015)。
(2)ステップ2010の調べで、グループ状態が“正常”の場合は、ホストCHA110Aは、グループ情報600やボリューム情報400などを参照し、上記選択されたグループ番号に属するジャーナル論理ボリューム番号に対応したボリューム状態を調べる(ステップ2020)。ステップ2020の調べで、ジャーナル論理ボリューム230JBのボリューム状態が、“異常”の場合は、アクセス不可能なため、ホストCHA110Aは、上記選択されたグループ番号に対応するグループ状態を“異常”に変更し、処理を終了する(ステップ2025)。
(3)ステップ2020の調べで、ジャーナル論理ボリューム230JBのボリューム状態が、“正常”の場合は、リホストCHA110Aは、リストア対象のジャーナルが存在するかを調べる。具体的には、ホストCHA110Aは、ポインタ情報700の更新情報最古アドレスと更新情報最新アドレスを取得し、それらを比較する。ホストCHA110Aは、更新情報最古アドレスと更新情報最新アドレスが等しい場合、ジャーナルは存在しないため、リストア処理は一旦終了し、一定時間後、リストア処理を再開する(ステップ2030)。
(4)ステップ2030の調べで、リストア対象のジャーナルが存在する場合、ホストCHA110Aは、最古(最小)の更新番号を持つジャーナルに対して次の処理を行う。最古(最小)の更新番号を持つジャーナルの更新情報は、ポインタ情報700の更新情報最古アドレスから保存されている。ホストCHA110Aは、キャッシュメモリ130を確保し、更新情報最古アドレスから更新情報サイズ分の情報(つまり更新情報それ自体)をキャッシュメモリ130に読み込むことをDKA120に命令する(図19の1910)。
DKA120のリードライト処理220は、記憶装置150(換言すればジャーナル論理ボリューム230JB)から更新情報を読み込み、その更新情報を上記確保されたキャッシュメモリ130に保存し、ホストCHA110にリード終了を通知する(図19の1920)。
ホストCHA110Aは、更新情報のリード終了の通知を受け、キャッシュメモリ130内の更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ130を確保し、その論理アドレスからそのサイズ分のデータ(つまり一つのライトデータ)をキャッシュメモリ130に読み込むことをDKA120に命令する(図19の1930)。
DKA120のリードライト処理220は、記憶装置150(換言すれば指定された論理アドレス)からライトデータを読み込み、そのライトデータをキャッシュメモリ130に保存し、リード終了をホストCHA110に通知する(ステップ2040、図19の1940)。
(5)ホストCHA110Aは、更新する副論理ボリュームの論理アドレス(換言すれば、ライト命令の論理アドレス(図21参照)を更新情報から求め、その論理アドレスから特定される副論理ボリューム230SBのアドレスにライトデータを書き込むことをDKA120に命令する(ステップ2050、図19の1950)。DKA120のリードライト処理220は、副論理ボリュームの論理アドレス(ライト命令の論理アドレス)に対応する記憶装置150の記憶領域に、キャッシュメモリ130に保存されたライトデータを書き込み、キャッシュメモリ130を開放し、ライト処理終了をホストCHA110Aに通知する(図19の1960)。
(6)ホストCHA110Aは、DKA120からライト処理完了の通知を受け、ジャーナルの記憶領域を開放する。ジャーナルの記憶領域の開放処理では、ホストCHA110Aは、副記憶システム100Bに備えられるポインタ情報700の更新情報最古アドレスを、現在の更新情報最古アドレスに更新情報のサイズを足した数値に変更する。ホストCHA110Aは、更新情報最古アドレスが、ライトデータ領域先頭アドレスとなった場合は、ライトデータ領域先頭アドレスは0とする。ホストCHA110Aは、そのポインタ情報700のライトデータ最古アドレスを、現在のライトデータ最古アドレスに上記書き込んだライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、ホストCHA110Aは、ライトデータ領域先頭アドレスを減じ、補正する。その後、ホストCHA110Aは、次のリストア処理を開始する(ステップ2060)。
以上が、図19〜図20についての説明である。なお、前述したリストア処理250では、記憶装置150からキャッシュメモリ130にジャーナルを読み込んでいたが、キャッシュメモリ130に存在する場合は、当該処理は行わなくても良い。
また、前述したジャーナルリード受信処理とジャーナルリード命令処理240では、正記憶システム100Aが送信するジャーナルをポインタ情報700により決めていたが、副記憶システム100Bが送信するジャーナルを決めてもよい。例えば、システムCHA110BSが、ジャーナルリード命令に更新番号を追加する。この場合、そのジャーナルリードリード命令を受信するシステムCHA110BPが、ジャーナルリード受信処理にて、副記憶システム100Bが指定した更新番号の更新情報の論理アドレスを求めるために、正記憶システム100Aの共有メモリ140内に、更新番号から更新情報を格納した論理アドレスを求めるテーブルもしくは検索方法を設けてもよい。
また、前述したジャーナルリード受信処理とジャーナルリード命令処理240では、ジャーナルリード命令を用いていたが、通常のリード命令を用いてもよい。例えば、正記憶システム100Aのグループ情報600とポインタ情報700を予め副記憶システム100Bに転送しておき、副記憶システム100Bは、正記憶システム100Aのジャーナル論理ボリュームのデータ(つまり、ジャーナル)をリードしてもよい。
また、前述したジャーナルリード受信処理では、更新番号の順に、正記憶システム100Aから副記憶システム100Bにジャーナルを送信すると説明したが、更新番号の順に送信せずともよい。また、正記憶システム100Aから副記憶システム100Bに複数のジャーナルリード命令を送信してもよい。この場合、リストア処理にて更新番号順にジャーナルを処理するために、副記憶システム100Bに、更新番号から更新情報を格納した論理アドレスを求めるテーブルもしくは検索方法を設けることができる。
以上、上述したデータ処理システム1では、正記憶システム100Aがジャーナルを生成して副記憶システム100Bに送信し、副記憶システム100Bが、正記憶システム100Aから受信したジャーナルに基づいてデータの複製を行う。これにより、正記憶システム100Aに接続されたホストコンピュータ180に、データの複製に関する負荷を負わせなくて済むし、正記憶システム100Aとホストコンピュータ180との間の接続パス190を使用なくて済む。
以上が、ジャーナルを利用したデータ処理の基本に関する実施形態の説明である。以下、ジャーナルを利用したデータ処理の応用に関する幾つかの実施例を説明する。
図23は、本発明の一実施形態の第一実施例に係るデータ処理システムの構成例の概要を示す。以下、上記実施形態との相違点を主に説明し、上記実施形態との共通点については、説明を省略又は簡略する。また、以下の説明では、正記憶システム100Aの制御サブシステムには参照符号101Aを付し、副記憶システム100Aのそれには参照符号101Bを付す。また、正記憶システム100Aが備えるボリューム情報、パス情報、グループ情報及びポインタ情報の各々は、正記憶システム100Aに関する内容が記録されており、枝符号として「A」を付されている。ボリューム情報400A、パス情報500A、グループ情報600A及びポインタ情報700Aの少なくとも一つは、制御サブシステム101Bにも存在しても良いし、同様に、ボリューム情報400B、パス情報500B、グループ情報600B及びポインタ情報700Bの少なくとも一つは、制御サブシステム101Aに存在しても良い。また、その場合、一方の情報(例えばパス情報500A)が更新された場合には、更新内容が接続パス200を介して他方の同じ情報(例えばパス情報500A)に反映されても良い。また、副記憶システム100Bが備えるボリューム情報、パス情報、グループ情報及びポインタ情報の各々は、副記憶システム100Bに関する内容が記録されており、枝符号として「B」が付されている。また、図23において、論理ボリューム中の「#」は、論理ボリューム番号を表す。また、正論理ボリューム(「P−VOL」と図示)には、参照符号「P」を付し、副論理ボリューム(「S−VOL」と図示)には、参照符号「S」を付し、正記憶システム100A内のジャーナル論理ボリューム(「JNLVOL」と図示)には、参照符号「A」を付し、副記憶システム100B内のジャーナル論理ボリュームには、参照符号「B」を付す。以下、論理ボリュームを表す際には、説明を分かりやすくするため、「230」という参照番号の代わりに、論理ボリュームに付されている#と上記参照符号との組み合わせを使用することにする。
正記憶システム100Aに設定されている複数のグループのうちの或るグループ102Aには、複数のジャーナル論理ボリューム、例えば、3つのジャーナル論理ボリューム#1A、#2A、#3Aが含まれている。また、そのグループ102には、ジャーナルが格納されずにライトデータのみが格納される論理ボリュームとして、例えば一つの正論理ボリューム#4Pが含まれている。
同様に、副記憶システム100Bに設定されている複数のグループのうちの或るグループ102Bには、複数のジャーナル論理ボリューム、例えば、3つのジャーナル論理ボリューム#1B、#2B、#3Bが含まれている。また、そのグループ102には、ジャーナルが格納されずにライトデータのみが格納される論理ボリュームとして、例えば一つの副論理ボリューム#4Sが含まれている。なお、本実施例の内容を理解し易くするために、グループ102Aに含まれているジャーナル論理ボリュームの数と、グループ102Bに含まれているジャーナル論理ボリュームの数を同じとしたが、それらの数は異なっていても良い。また、ジャーナル論理ボリューム#1A、#2A、#3Aの記憶容量はそれぞれ異なっていても良い。これは、ジャーナル論理ボリューム#1B、#2B、#3Bについても同様である。
制御サブシステム101Aは、正論理ボリューム#4Pに対するライト命令とライトデータとをホストコンピュータ180から受信した場合、そのライト命令に従って、ライトデータを正論理ボリューム#4Pに格納する。また、制御サブシステム101Aは、グループ情報600を参照し、グループ102Aのグループ番号に対応した更新番号(以下、「SEQ#」と表記することもある)を把握し、把握された更新番号などを含んだジャーナルを生成する。そして、制御サブシステム101Aは、複数のジャーナル論理ボリューム#1A、#2A、#3Aの中から、ジャーナル中の更新情報の格納先とする第一のジャーナル論理ボリュームと、そのジャーナル中のライトデータの格納先とする第二のジャーナル論理ボリュームとを選択し、選択した第一のジャーナル論理ボリュームに、生成したジャーナル中の更新情報を格納し、選択した第二のジャーナル論理ボリュームに、生成したジャーナル中のライトデータを格納する。以下、具体的に説明する。
図24は、本発明の一実施形態の第一実施例におけるポインタ情報700Aの構成例を示す。図25は、図24に例示したポインタ情報700Aが表す構成であって、複数のジャーナル論理ボリューム#1A、#2A、#3A内の構成を表す。以下、図24及び図25を参照して、正記憶システム100Aにおけるポインタ情報700Aの構成及び複数のジャーナル論理ボリューム#1A、#2A、#3A内の構成について説明するが、その説明は、副記憶システム100Bにも適用することができる。
ポインタ情報700Aには、前述した複数の情報要素のうち、更新情報領域先頭アドレス、ライトデータ領域先頭アドレス、ライトデータ最新アドレス及びライトデータ最古アドレスが、そのポインタ情報700が対応したグループに存在する各ジャーナル論理ボリューム毎に登録されている。
そして、図24及び図25の例によれば、同一のジャーナルを構成する更新情報とライトデータとは、別々のジャーナル論理ボリュームに格納される。具体的には、例えば、更新情報とライトデータはそれぞれ以下の方法により格納することができる。
(ジャーナル中の更新情報の格納方法)
制御サブシステム101Aは、複数のジャーナル論理ボリュームの中から或るジャーナル論理ボリューム、例えば、番号が最も若いジャーナル論理ボリューム#1Aを選択し、選択したジャーナル論理ボリューム#1Aの先頭から更新情報310を格納していき、その都度、ポインタ情報700Aにおける情報要素であって、ジャーナル論理ボリューム#1に対応した情報要素を更新していく。その結果、制御サブシステム101Aは、選択されたジャーナル論理ボリューム#1Aの更新情報領域終端(ライトデータ領域先頭アドレス)まで使用したことを検出した場合には、別のジャーナル論理ボリューム、例えば、番号が次に若いジャーナル論理ボリューム#2Aを選択し、選択したジャーナル論理ボリューム#2Aの先頭から更新情報310を格納する。以降、同様に、ジャーナル論理ボリューム#2の更新情報領域終端(ライトデータ領域先頭アドレス)まで使用した場合は、制御サブシステム101Aは、また別のジャーナル論理ボリューム、例えば、ジャーナル論理ボリューム#3を選択肢、それの先頭から更新情報310を格納する。ジャーナル論理ボリューム#3の更新情報領域終端(ライトデータ領域先頭アドレス)まで使用し、他に未使用のジャーナル論理ボリュームが存在しない場合には、制御サブシステム101Aは、初めに選択したジャーナル論理ボリューム#1Aの先頭から更新情報310を格納する。なお、更新情報の格納において、複数のジャーナル論理ボリュームは、予め決められた順序(例えば共有メモリ260等に設定された順序)に従って選択されても良いし、ランダムに選択されても良い。また、後述のライトデータの格納方法と同様に、更新番号が近傍の(例えば更新番号が連続した)第一と第二の更新情報は、同一のジャーナル論理ボリュームに格納しないように別々のジャーナル論理ボリュームに振り分けられても良い。
(ジャーナル中のライトデータの格納方法)
制御サブシステム101Aは、ジャーナル毎に、ライトデータの格納先とするジャーナル論理ボリュームを変更する。具体的には、例えば、制御サブシステム101Aは、グループ102Aにジャーナル論理ボリュームがN個(例えば3個)ある場合、格納対象のライトデータと対をなす更新情報中の更新番号(例えば5)をN(例えば3)で割り、余りの数値(例えば2)に対応するジャーナル論理ボリューム(例えば#2A)に、上記格納対象のライトデータを格納する。そのジャーナル論理ボリューム(例えば#2A)におけるライトデータの格納先アドレスは、ポインタ情報700Aにおいて、そのジャーナル論理ボリュームに対応したライトデータ最新アドレスとなる。なお、更新番号が近傍の第一と第二のライトデータは、必ずしも同一のジャーナル論理ボリュームに格納されないのではなく、必要に応じて(例えば、他のジャーナル論理ボリュームのライトデータ領域が一杯である等の場合)、同一のジャーナル論理ボリュームに格納されても良い。また、上述した更新情報の格納方法と同様に、更新番号が近傍の第一と第二のライトデータは、同一のジャーナル論理ボリュームに格納され、そこが一杯になった場合に、別のジャーナル論理ボリュームに格納されるようになっていてもよい。
以上が、ジャーナル中の更新情報及びライトデータの格納方法についての説明である。この格納方法が採用される場合、例えば、上述した実施形態で説明したジャーナル作成処理(例えば、図13のステップ1345、図18のステップ1830)では、以下のような処理を行うことができる。
制御サブシステム101Aは、複数のジャーナル論理ボリュームの中から、ライトデータの格納先とするジャーナル論理ボリュームを選択し、選択されたジャーナル論理ボリュームに対応した種々の情報要素(ポインタ情報100Aに登録されている情報要素)を基に、ライトデータを格納可能か否かを判定する。具体的には、例えば、制御サブシステム101Aは、格納対象のライトデータと対をなす更新情報中の更新番号(例えば5)を、グループ102Aに存在するジャーナル論理ボリューム数N(例えば3)で割り、余りの数値(例えば2)に対応するジャーナル論理ボリューム(例えば#2A)に、ライトデータを格納可能か否かを判定する。その判定により、否定的な判定結果が得られた場合には、制御サブシステム101Aは、ジャーナル作成失敗で終了する(図13のステップ1390、図18のステップ1830)。なお、終了する代わりに、制御サブシステム101Aは、ライトデータを格納できるだけの空き領域を有したジャーナル論理ボリュームを、ライトデータのデータサイズや、ポインタ情報700A等に基づいて検索し、検索ヒットとなったジャーナル論理ボリュームの空き領域に、ライトデータを格納しても良い。
以上、上述した第一実施例によれば、一つのグループに複数のジャーナル論理ボリュームが準備されており、更新番号が近傍の(例えば更新番号が連続した)第一と第二のライトデータは、格納先となるジャーナル論理ボリュームが別々となる。これにより、ライトデータのライトと、ジャーナルのリードとを重ねて(パイプライン)実施することが可能となり、コピー性能が向上する。すなわち、ジャーナル論理ボリュームが1つの場合、ライトデータのリード(もしくはライト)性能は、そのジャーナル論理ボリュームを備える記憶装置150の性能に依存してしまう。本実施例では、複数のジャーナル論理ボリュームが用意され、且つ、更新番号が近傍のジャーナルのライトデータが異なるジャーナル論理ボリュームに格納されるので、同時期に、複数の記憶装置150を使用することができ、ジャーナルのリード(もしくはライト)性能を向上させることができる。このようなことを好適に実現するためには、複数のジャーナル論理ボリュームは、別々の記憶装置150上に設けられておくことが好ましい。また、一つのジャーナル論理ボリュームが複数の記憶装置150上に用意されている場合には、それら複数の記憶装置150の全て又は一部が、他のジャーナル論理ボリュームを備える複数の記憶装置150の全て又は一部と重複しないように、複数のジャーナル論理ボリュームを用意することが好ましい。
ところで、上述した第一実施例では、制御サブシステム101Aは、図15のステップ1580の後、副記憶システム100Bからジャーナルリード命令を受ける前に、自主的に、次の一つ以上のジャーナル(すなわち、ステップ1580で送信したジャーナルの更新番号の次の番号以降のジャーナル)のリード処理を実行しても良い。それにより、次のジャーナルリード命令を受信した時には、ステップ1570のリード処理にて、既に、キャッシュメモリ130にその命令に対応したジャーナルが存在する可能性が高まり、故に、ジャーナルリード命令を受けてからその命令に従うジャーナルを副記憶システム100Bに送信するまでの時間を短縮することができる。なお、「次の一つ以上のジャーナル」としては、例えば、直前の更新番号にジャーナル論理ボリューム数nを加えた値の更新番号のジャーナルとすることができる。この場合、副記憶システム100Bでは、同一のジャーナル論理ボリュームに連続的にジャーナル中のライトデータが格納される。
また、第一実施例では、前述したように、更新番号が近傍の(例えば連続した)第一と第二の更新情報は、ライトデータの格納方式と同様に、格納先となるジャーナル論理ボリュームが別々であっても良い。
また、第一実施例では、同一のグループに属する複数のジャーナル論理ボリュームの容量は等しくなくてもよい。
また、第一実施例では、その変形例として、以下のことを行うことができる。
(A)第一実施例の第一変形例。
副記憶システム100Bの制御サブシステム101Bが、ジャーナルリード命令をm重化し(mは二以上の整数)、m重化されたジャーナルリード命令を正記憶システム100Aに送信する。その際、制御サブシステム101Bは、m重化されたジャーナルリード命令の各々に、そのジャーナルリード命令を特定するための番号(以下、「TAG#」と言う)を含める。TAG#は、1からmまである。具体的には、例えば、制御サブシステム101Bは、ジャーナルリード命令を三重化した場合、三重化したジャーナルリード命令のうちの第一のジャーナルリード命令にTAG#1を含め、第二のジャーナルリード命令にTAG#2を含め、第三のジャーナルリード命令にTAG#3を含めて、三重化されたジャーナルリード命令を正記憶システム100Aに送信する。この場合、正記憶システム100Aでは、図26に例示するように、ポインタ情報700Aのうちの特定の情報要素(例えばリード開始アドレス及びリトライ開始アドレス)は、多重度数mと同数、すなわち、各TAG#毎に備えられる。なお、多重度数mは、例えば、グループ102Aに備えられるジャーナル論理ボリュームの数と同じ値とすることができる。また、図26に例示したポインタ情報700Aによれば、例えば、TAG#1に対応するジャーナル論理ボリューム#1Aからライトデータが読み出された場合には、TAG#1に対応するリード開始アドレス及びリトライ開始アドレスは、論理ボリューム番号「1」で先頭からの位置は「150」となる。
以下、この第一変形例についてより具体的に説明する。
副記憶システム100Bの制御サブシステム101Bは、各TAG#毎に、図17に示したジャーナルリード命令処理を実行する。
正記憶システム100Aの制御サブシステム101Aは、ジャーナルリード命令を受けた場合、図15を参照して説明したジャーナル受信処理を行う。そのジャーナル受信処理において、制御サブシステム101Aは、TAG#に対応したリトライ開始アドレス及びリード開始アドレス(ポインタ情報700Aに含まれる情報要素)が示す論理アドレスから更新情報310を読み出す(ステップ1570、1540)。ジャーナル受信処理により、更新情報を含んだジャーナルが副記憶システム100Bに送信される。なお、その際、制御サブシステム101Aは、どのジャーナルリード命令に従って取得されたジャーナルであるかを特定するために、取得されたジャーナルに、それに対応するジャーナルリード命令中のTAG#を付し、TAG#が付されたジャーナルを副記憶システム100Bに送信する。
副記憶システム100Bの制御サブシステム100Bは、ジャーナルを受信した場合、図18を参照して説明したジャーナル格納処理を行う。その際、制御サブシステム101Bは、受信したジャーナル中のTAG#及び更新番号と、ポインタ情報700Bとに基づいて、そのジャーナル中の更新情報を格納する論理アドレスを算出し、算出された論理アドレスと、更新情報のサイズとに基づき、上記TAG#から特定されるジャーナル論理ボリュームに更新情報が格納可能か否かを調べる(図18のステップ1810)。また、制御サブシステム100Bは、その更新情報中のライトデータのデータサイズとポインタ情報700Bとに基づき、特定されるジャーナル論理ボリュームにライトデータを格納可能か調べる(図18のステップ1830)。更新情報やライトデータが格納されるジャーナル論理ボリュームは、TAG#に対応するジャーナル論理ボリュームとなる。
このように、多重でジャーナルリード命令を送信することにより、コピー性能の更なる向上が図れる。
(B)第一実施例の第二変形例。
この第二変形例は、第一変形例の更なる変形例でもあり、正記憶ステム100Aが、1つのジャーナルリード命令に対して、複数のジャーナルを取得し副記憶システム100Bに送信する。以下、具体的に説明する。
正記憶システム100Aの制御サブシステム101Aは、図15を参照して説明したジャーナル受信処理において、同一のジャーナル論理ボリュームにおける連続する記憶領域に格納されているライトデータを取得して送信する。具体的には、例えば、図25では、制御サブシステム101Aは、ポインタ情報700A等から、ジャーナル論理ボリューム#1Aの連続した領域に登録されている二つのライトデータがそれぞれ更新番号1と更新番号4とに対応していることを把握し、それにより、更新番号1を含んだ更新情報と、それに対応したライトデータとを含んだジャーナル、及び、更新番号4を含んだ更新情報と、それに対応したライトデータとを含んだジャーナルを、一つのジャーナルリード命令に応答して生成し副記憶システム100Bに送信する。制御サブシステム101Aは、図15のステップ1590(もしくは1545)の処理後、次に生成すべき二以上のジャーナルにそれぞれ含まれる二以上の更新情報が格納されている論理アドレスを求める。その場合、論理アドレスは、リード開始アドレスに、更新情報サイズにTAG#数mを乗算した数値を加算した数値となる。
ジャーナルを受信した副記憶システム100Bの制御サブシステム101Bは、図18を参照して説明したジャーナル格納処理を行うが、その際、受信したジャーナルに付されているTAG#に対応するジャーナル論理ボリュームのライトデータ最新アドレスから、受信したジャーナル中のライトデータの格納を行う。図25の例では、制御サブシステム101Bは、更新番号1と更新番号4の2つのジャーナルを受信した場合は、ジャーナル論理ボリューム#1の論理アドレス700から、更新番号1のジャーナル中のライトデータを書き、そのライトデータに連続して、更新番号4のジャーナル中のライトデータを格納する。
次に、本発明の一実施形態の第二実施例について説明する。第二実施例は、上述した第一実施例の更なる応用例である。以下、第一実施例との相違点を主に説明し、第一実施例との共通点についての説明は省略或いは簡略する。
第二実施例では、ジャーナル論理ボリュームのライトデータ領域が複数のサブライト領域に分割されている。複数のサブライト領域の記憶領域サイズはそれぞれ同じであっても良いし異なっていても良いが、この第二実施例では同じである。すなわち、この第二実施例では、ジャーナル論理ボリュームのライトデータ領域が複数のサブライト領域に等分割される。以下、個々のサブライト領域を「エクステント」と呼ぶ。
図27は、複数のジャーナル論理ボリューム#1A、#2A、#3A内の構成例を表す。図28は、複数のエクステントを管理するためのエクステント情報の構成例を表す。図29は、図27及び図28に対応したポインタ情報700Aの構成例を示す。以下、図27〜図29を参照して、正記憶システム100Aにおける複数のジャーナル論理ボリューム#1A、#2A、#3A、エクステント情報701、及びポインタ情報700Aについて説明するが、その説明は、副記憶システム100Bにも適用することができる。
図27に示すように、複数のジャーナル論理ボリューム#1A、#2A、#3Aの各々におけるライトデータ領域は、複数の(例えば4つの)エクステントに等分割されている。各ジャーナル論理ボリュームの各エクステントには、そのジャーナル論理ボリュームにおけるエクステントを識別するためのエクステント番号(例えば、#0〜#3)が付与されている。
また、図27に示すように、どのジャーナル論理ボリューム#1A、#2A、#3Aのライトデータ領域も、それぞれ同じように複数のエクステントに分割されている。換言すれば、どのジャーナル論理ボリューム#1A、#2A、#3Aのライトデータ領域にも、記憶領域サイズが同じエクステントが同じ数だけ存在する。このため、複数のジャーナル論理ボリューム#1A、#2A、#3Aの少なくとも複数のライトデータ領域サイズはそれぞれ同じである(複数の更新情報領域のサイズはそれぞれ同じでも異なっていても良い)。
また、図27に示すように、個々のジャーナル論理ボリュームでは、同一のエクステント番号が使用されることは無いが、複数のジャーナル論理ボリューム#1A、#2A、#3Aでは(換言すれば、同一のグループ102Aでは)、共通のエクステント番号が使用される。具体的には、ジャーナル論理ボリューム#1Aにも、#2Aにも、#3Aにも、エクステント#0〜#4がそれぞれ付与された4つのエクステントが存在する。別の言い方をすれば、各ジャーナル論理ボリュームの各ライトデータ領域は、複数のサブライト領域に分割されており、複数のジャーナル論理ボリュームの各サブライト領域によって、一つのエクステントが構成されている。また別の言い方をすれば、一つのエクステント番号(例えば#0)を指定することにより、複数のジャーナル論理ボリューム#1A、#2A、#3Aの各々から一つのサブライト領域が特定され、特定されたサブライト領域の集合が、指定されたエクステント番号に対応する一つのエクステントである。更にまた別の言い方をすれば、各エクステントは、同一グループ102Aに属する複数の論理ボリューム#1A〜#3Aにまたがっている。
このようなエクステントを管理するためのエクステント情報701の構成例は、図28に示す通りである。
すなわち、エクステント情報701には、各エクステント#毎に、そのエクステント#に対応するエクステントが複数のジャーナル論理ボリューム#1A〜#1Cのそれぞれどこに存在するかが登録される。エクステントの場所は、開始論理アドレスと終了アドレスとのセットで表され、そのセットは、同一グループ102Aに属するジャーナル論理ボリューム#1A〜#1Cの数と同じ数だけ存在する。開始論理アドレスは、ライトデータの格納を開始する論理アドレスを表し、終了論理アドレスは、ライトデータの格納を終了する論理アドレスを表す。また、エクステント情報701において、開始論理アドレス及び終了アドレスの複数のセットにそれぞれ対応付けて登録されている番号#1〜#3は、ライトデータの格納順序を表す。
以上のようなエクステント情報701によれば、例えば以下のことが分かる。
エクステント#0であるエクステントは、初め、ジャーナル論理ボリューム#1Aのアドレス700の位置からライトデータの格納が開始され、そのボリューム#1Aのアドレス1119の位置までライトデータが格納された場合、次に、ジャーナル論理ボリューム#2Aのアドレス700の位置からライトデータの格納が開始されることがわかる。そして、ジャーナル論理ボリューム#2Aのアドレス1119の位置までライトデータが格納された場合、次に、ジャーナル論理ボリューム#3Aのアドレス700の位置からライトデータの格納が開始されることがわかる。
エクステント#2であるエクステントは、初め、ジャーナル論理ボリューム#2Aのアドレス1200の位置からライトデータの格納が開始され、そのボリューム2Aのアドレス1699の位置までライトデータが格納された場合、次に、ジャーナル論理ボリューム#23Aのアドレス1200の位置からライトデータの格納が開始されることがわかる。
このように、初めにライトデータが格納され始めるジャーナル論理ボリュームをエクステント#毎に変えることで、全てのジャーナル論理ボリューム#1A〜#3Aを並列して動作させることができる。
なお、以上のようなエクステント情報701に基づいて、各ジャーナル論理ボリューム#1A〜#3Aへのライトデータの格納が行われるようになっている場合、ポインタ情報700Aは、図29に例示するような構成になっている。すなわち、更新情報領域先頭アドレス及びライトデータ領域先頭アドレスは、各ジャーナル論理ボリューム#毎に用意され、ライトデータ最新アドレス、ライトデータ最古アドレス、リード開始アドレス及びリトライ開始アドレスは、各エクステント#毎に用意される。ライトデータ最新アドレス、ライトデータ最古アドレス、リード開始アドレス及びリトライ開始アドレスを調整することで、更新番号が近傍の(例えば連続した)複数のライトデータを別々のエクステントに書き込むことができる。
この第二実施例では、更新情報の格納方式は、第一実施例と同様であるが、ライトデータの格納方式はそれと異なる。
例えば制御サブシステム101Aは、ジャーナル毎に、ジャーナル中のライトデータを格納するエクステントを変更する。具体的には、例えば、エクステントがn個(例えばn=4)の場合、制御サブシステム101Aは、ジャーナル中の更新番号(例えば12)をエクステント数n(例えば4)で割り、余りの数値(例えば0)に対応するエクステント(#0のエクステント)に、そのジャーナル中のライトデータを格納する。当該エクステント内での格納先アドレスは、そのエクステントの番号に対応したライトデータ最新アドレス(ポインタ情報700Aに登録されているライトデータ最新アドレス)である。なお、制御サブシステム101Aは、ポインタ情報700A及びエクステント情報701に基づき、或るジャーナル論理ボリューム(例えば#1A)に設けられた或るエクステント(例えば#0)の一部の終端アドレス(例えばアドレス1200)に格納先アドレスが達したことを検出することができる。また、その場合、制御サブシステム101Aは、エクステント情報701を用いて、次にどのジャーナル論理ボリュームに設けられたそのエクステントの別の一部の先端アドレスを格納先アドレスとするかを判断し(例えば、ジャーナル論理ボリューム#2Aのアドレス700を格納先アドレスとすることを判断し)、その格納先アドレスをライトデータ最新アドレスとして、その先端アドレスからライトデータを格納することができる。
このライトデータ格納方式が採用される場合、例えば、上述した実施形態で説明したジャーナル作成処理(例えば、図13のステップ1345、図18のステップ1830)では、以下のような処理を行うことができる。
制御サブシステム101Aは、ジャーナル中の更新番号(例えば12)をエクステント数n(例えば4)で割り、余りの数値(例えば0)に対応するエクステント(#0のエクステント)に、そのジャーナル中のライトデータを格納することが可能か否かを判定する。その判定により、否定的な判定結果が得られた場合には、制御サブシステム101Aは、ジャーナル作成失敗で終了する(図13のステップ1390、図18のステップ1830)。なお、終了する代わりに、制御サブシステム101Aは、ライトデータを格納できるだけの空き領域を別のエクステントを、ライトデータのデータサイズや、ポインタ情報700A等に基づいて検索し、検索ヒットとなったエクステントの空き領域に、ライトデータを格納しても良い。
以上、上述した第二実施例によれば、ジャーナル論理ボリュームのライトデータ領域が複数のエクステントに分割されており、更新番号が近傍の(例えば連続した)ジャーナルのライトデータが、異なるエクステントに振り分けて格納される。これにより、同一グループに属するジャーナル論理ボリュームの数に関わらず(つまり、ジャーナル論理ボリュームが1つの場合でも)、コピー性能を向上させることができる。例えば、記憶装置150がリード(もしくはライト)命令を受けない時間を実質的になくすことが可能となり、記憶装置の性能を十分に引き出すことが可能となる。これを好適に実現するためには、複数のジャーナル論理ボリュームは、別々の記憶装置150上に設けられておくことが好ましい。また、一つのジャーナル論理ボリュームが複数の記憶装置150上に用意されている場合には、それら複数の記憶装置150の全て又は一部が、他のジャーナル論理ボリュームを備える複数の記憶装置150の全て又は一部と重複しないように、複数のジャーナル論理ボリュームを用意することが好ましい。更に、複数のエクステントも、別々の記憶装置150に用意されることが好ましい。
ところで、上述した第二実施例では、制御サブシステム101Aは、図15のステップ1580の後、副記憶システム100Bからジャーナルリード命令を受ける前に、自主的に、先に、次に送信すると予想できるジャーナルのリード処理を実行しても良い。それにより、次のジャーナルリード命令を受信した時には、ステップ1570のリード処理にて、既に、キャッシュメモリ130にその命令に対応したジャーナルが存在する可能性が高まり、故に、ジャーナルリード命令を受けてからその命令に従うジャーナルを副記憶システム100Bに送信するまえの時間を短縮することができる。なお、前述した「次に送信すると予想できるジャーナル」としては、例えば、直前の処理対象の更新番号にエクステント数pを加えた値の更新番号のジャーナルとすることができる。この場合、副記憶システム100Bでは、同一のジャーナル論理ボリュームの同一のサブライト領域に連続的にジャーナル中のライトデータが格納される。
また、第二実施例では、同一グループに属する複数(又は一つ)のジャーナル論理ボリュームの更新情報領域も、ライトデータ領域と同様の態様で複数のサブ領域(エクステント)に分割されていても良い。この場合、更新番号が近傍の(例えば連続した)第一と第二の更新情報は、ライトデータの格納方式と同様に、格納先となるサブ領域(エクステント)が別々であっても良い。
また、第二実施例では、エクステント数pに制約はないが、同一グループに属する全ジャーナル論理ボリュームに対してリード(もしくはライト)命令を発行するために、エクステント数pはジャーナル論理ボリューム数n以上(つまり、p≧n)であることが望ましい。
また、第二実施例では、その変形例として、以下のことを行うことができる。
(A)第二実施例の第一変形例。
副記憶システム100Bの制御サブシステム101Bが、ジャーナルリード命令を多重発行する。その際、制御サブシステム101Bは、多重化されたジャーナルリード命令の各々に、エクステント番号を含める。制御サブシステム101Bは、エクステント番号毎に、独立に、図17を参照して説明したジャーナルリード命令処理を行う。
正記憶システム100Aの制御サブシステム101Aは、ジャーナルリード命令を受けた場合、図15を参照して説明したジャーナル受信処理を行う。そのジャーナル受信処理において、制御サブシステム101Aは、ポインタ情報700Aを参照し、エクステント番号に対応した特定の情報要素(リトライ開始アドレス及びリード開始アドレス)が示す論理アドレスから更新情報を読み出す(ステップ1570、1540)。
副記憶システム100Bの制御サブシステム100Bは、ジャーナルを受信した場合、図18を参照して説明したジャーナル格納処理を行う。その際、制御サブシステム101Bは、受信したジャーナル中のエクステント番号及び更新番号と、ポインタ情報700Bとに基づいて、そのジャーナル中の更新情報を格納する論理アドレスを算出し、算出された論理アドレスと、更新情報のサイズとに基づき、特定されるジャーナル論理ボリュームに更新情報が格納可能か否かを調べる(図18のステップ1810)。また、制御サブシステム100Bは、その更新情報中のライトデータのデータサイズとポインタ情報700Bとに基づき、特定されるジャーナル論理ボリュームにライトデータを格納可能か調べる(図18のステップ1830)。更新情報やライトデータが格納されるジャーナル論理ボリュームは、エクステントに対応するジャーナル論理ボリュームとなる。なお、制御サブシステム100Bは、図18のステップ1830では、エクステント番号に対応するエクステントにライトデータを格納可能か否かを調べても良い。
(B)第二実施例の第二変形例。
この第二変形例は、第一変形例の更なる変形例でもあり、正記憶ステム100Aが、1つのジャーナルリード命令に対して、複数のジャーナルを取得し副記憶システム100Bに送信する。以下、具体的に説明する。
正記憶システム100Aの制御サブシステム101Aは、図15を参照して説明したジャーナル受信処理において、同一のエクステントにおける連続する記憶領域に格納されているライトデータを取得して送信する。具体的には、例えば、図27では、制御サブシステム101Aは、ポインタ情報700A等から、ジャーナル論理ボリューム#1Aのサブライト領域の連続した領域に登録されている二つのライトデータがそれぞれ更新番号8と更新番号12とに対応していることを把握し、それにより、更新番号8を含んだ更新情報と、それに対応したライトデータとを含んだジャーナル、及び、更新番号12を含んだ更新情報と、それに対応したライトデータとを含んだジャーナルを、一つのジャーナルリード命令に応答して生成し副記憶システム100Bに送信する。制御サブシステム101Aは、図15のステップ1590(もしくは1545)の処理後、次に生成すべき二以上のジャーナルにそれぞれ含まれる二以上の更新情報が格納されている論理アドレスを求める。その場合、論理アドレスは、リード開始アドレスに、更新情報サイズにエクステント数pを乗算した数値を加算した数値となる。
ジャーナルを受信した副記憶システム100Bの制御サブシステム101Bは、図18を参照して説明したジャーナル格納処理を行うが、その際、受信したジャーナルに付されているエクステント番号に対応するエクステントのライトデータ最新アドレスから、受信したジャーナル中のライトデータの格納を行う。図27の例では、制御サブシステム101Bは、更新番号8と更新番号12の2つのジャーナルを受信した場合は、ジャーナル論理ボリューム#1の論理アドレス700から、更新番号8のジャーナル中のライトデータを書き、そのライトデータに連続して、更新番号12のジャーナル中のライトデータを格納する。
以下、本発明の一実施形態の第三実施例について説明する。第三実施例は、正記憶システム100Aにおいて、ジャーナル中の更新情報又はライトデータが格納できない場合に行われる処理に関するものである。以下、具体的に説明する。
正記憶システム100Aの制御サブシステム101Aは、図13を参照して説明したジャーナル作成処理において、更新情報又はライトデータを格納できない場合、この処理に係る当該グループでは、コピーを継続することはできない(図13の1390)。この場合、制御サブシステム101Aは、グループ情報600Aにおけるグループ状態を“サスペンド”に変更し、以下の処理を行う。グループ状態“サスペンド”とは、ジャーナルの作成を停止しており、正論理ボリュームPと副論理ボリュームSとのデータの整合性が取れていない状態を表す。
この第三実施例では、制御サブシステム101Aは、差分情報を備える。差分情報とは、ある記憶領域毎(例えば、1KB毎、論理アドレス毎、初期コピーでの1回の処理するデータ量と同じ量毎、もしくは、その倍数或いは約数毎)に、正論理ボリュームと副論理ボリュームの差があるか否かを示す情報である。差分情報は、全ての正論理ボリュームPに対して必要である。差分情報は、所定の記憶域、例えば、CHA110とDKA120とが参照可能なメモリ(具体例として共有メモリ140)に格納される。
(A:ジャーナルが格納できない場合に行われる処理(グループ状態:サスペンド))
制御サブシステム101Aは、或るグループについてグループ状態“サスペンド”になる前に、そのグループにおける正論理ボリュームPの差分情報中の設定値を、予め、差分無に設定しておく。制御サブシステム101Aは、ポインタ情報700Aに基づいて、そのグループにおけるジャーナル論理ボリュームから最古のジャーナルを読出し、差分情報におけるその最古のジャーナルに関する設定値(例えば、最古のジャーナルの論理アドレスに対応した設定値)を差分有に設定する。そして、制御サブシステム101Aは、そのジャーナル論理ボリュームから最古のジャーナルを破棄する。制御サブシステム101Aは、このような処理を、全てのジャーナルに対して行う。
(B:ジャーナルが格納できない場合に行われる処理(グループ状態:サスペンド))
制御サブシステム101Aは、上記(A:ジャーナルが格納できない場合に行われる処理(グループ状態:サスペンド))で説明した処理中に、ホストコンピュータ180からライト命令及びライトデータを受信した場合には、そのライトデータについてはジャーナルを作成せず、差分情報における設定値を差分有に設定する。具体的には、例えば、制御サブシステム101Aは、図12のステップ1265にて、グループ状態を参照し、グループ状態“サスペンド”の場合は、ジャーナルを作成せず、該当する論理アドレス(差分情報における該当箇所)を、差分有に設定する。
(C:コピー停止(サスペンド状態)からのコピー再開)
制御サブシステム101Aは、ホストコンピュータ180又は保守端末から、グループ番号の指定と、コピー再開命令とを受け、そのコピー再開命令に応答して、指定されたグループ番号に対応したグループについて、コピー処理を再開する。それの具体的な処理手順の一例は、以下の通りである。すなわち、制御サブシステム101Aは、上記(A:ジャーナルが格納できない場合に行われる処理(グループ状態:サスペンド))で説明した処理が終わった後、コピー再開処理の対象として指定されたグループのグループ状態を“コピー未”に変更する。そして、制御サブシステム101Aは、図10を参照して説明した初期コピー処理を実行する。但し、その初期コピー処理では、図30に示すように、制御サブシステム101Aは、ステップ1020の後に、初期コピー処理対象の正論理ボリュームに対応する差分情報1021の各箇所(例えば各論理アドレスに対応した箇所)毎に、差分有か差分無かのチェックを行う(ステップ1021)。制御サブシステム101Aは、差分有が設定されている場合は、ステップ1040のジャーナル作成処理を行い、差分有が設定されていない場合は、ステップ1050の処理を行う。このような処理を行って、制御サブシステム101Aは、上記指定されたグループにおいて、全正論理ボリュームのペア状態が“正常”となった場合に、グループ状態を“正常”に戻す。これ以降は、差分情報に設定される全ての設定値が差分無に変更され、通常の動作、つまり、データ更新されれば、ジャーナルが作成される。
以上、この第三実施例によれば、ジャーナル作成対象のライトデータについて、正論理ボリュームPと副論理ボリュームSの間で差の有るライトデータであるか否かを、差分情報1021を用いて特定し、差分の無いライトデータについては、ジャーナルが作成されない。これにより、無駄なジャーナルが作成されないので、副論理ボリュームSが正論理ボリュームPと一致するまでの時間を短縮することができる。
次に、本発明の一実施形態の第四実施例について説明する。この第四実施例は、上述した実施形態及び第一実施例〜第三実施例のうちの少なくとも一つを実現するための各種情報を設定するための方法例に関する。以下、その方法例が採用された場合に使用されるGUI(グラフィカルユーザインタフェース)画面について説明する。なお、以下に説明するGUI画面は、SVP281にインストールされているソフトウェアによって提供されるGUI画面であり、SVP281に接続されている種々のコンピュータで表示可能な画面であるとする。
図31Aは、第一のGUI画面の一例である。
第一のGUI画面は、更新情報領域とライトデータ領域や、エクステント数を設定するための画面であり、例えばグループ毎に準備される。
具体的には、例えば、項目「Meta/Data Ratio」の欄には、更新情報領域と、ライドデータ領域との記憶容量の比を設定することができるようになっている。図31Aの例では、比が「16」となっているので、例えば、ジャーナル論理ボリュームの記憶容量が170GBの場合、更新情報領域が10GB、ライドデータ領域160GBとなる。ここで設定された値に基づいて、ポインタ情報700Aの特定の情報要素の設定値が決まる。
また、項目「Extent」の欄には、エクステント数を設定することができるようになっている。図31Aの例では、「32」となっているので、1又は複数のライトデータ領域に32個のエクステントが設定される。
図31Bは、第二のGUI画面の一例である。
この第二のGUI画面は、或る設定値をユーザが確認するための画面である。
具体的には、例えば、項目「JNL Group」に対応した欄には、グループ番号(例えば「70」)が表示される。
項目「Attribute」に対応した欄には、グループ状態に基づく表示がされる。具体的には、例えば、グループ状態が正常な場合は、上記グループ番号(例えば「70」)に対応するグループがコピー元(Master)かコピー先(Restore)かが表示される。グループ状態がサスペンド中の場合には、”Suspend”が表示され、初期コピー中の場合には、”Copy”が表示される。
項目「JNL Size(GB)」の欄には、ジャーナル論理ボリュームの記憶容量の合計値が表示される。
項目「JNL Volumes」の欄には、ジャーナル論理ボリュームの個数が表示される。
また、上記グループ番号に割り当てられたジャーナル論理ボリュームは、例えば、参照番号5001で表す表示領域内に例えば一覧で表示される。
図32Aは、第三のGUI画面の一例である。
第三のGUI画面は、グループに関する情報の取得や、グループに関する設定を行うための画面である。
例えば、参照番号5003で表すメニュー「JNL Volumes」は、ユーザ所望のグループに新たにジャーナル論理ボリュームを追加する場合にユーザによって選択される。グループに登録するジャーナル論理ボリュームは、図32Bに例示した第四のGUI画面の参照番号5005で表されるリストから、ユーザ所望の論理ボリュームを選択することで、その論理ボリュームがジャーナル論理ボリュームとして追加される。
また、第三のGUI画面において、参照番号5004で表すメニュー「Change Option」は、図31Aの画面を表示する場合にユーザに選択される。
また、詳しい説明は省略するが、第三のGUI画面は、使用していないグループ(Attribute
が空白)を調べる場合にも、使用される。また、第三のGUI画面は、ユーザがグループの状態を確認する場合にも使用されえる。また、第三のGUI画面は、初期コピー処理の開始等のグループ単位の操作(指示の発行)をユーザが行う場合にも使用される。
図33Aは、第五のGUI画面の一例である。
第五のGUI画面は、ペアとなる論理ボリュームの指定や、ペアの状態の確認を行うための画面である。
この第五のGUI画面において、項目「Status」は、ペアの状態を表す。この項目に対応した欄にいて、”SMPL”は、ペアでない論理ボリュームを表し、“PAIR”は、ペアである論理ボリュームであり、且つ、正常にデータ複製が行われていることを示す。論理ボリュームが正か副かは、アイコン5006の左下に、正なら“P”が記載され、副なら“S”が記載される。また、項目「Status」には、グループ状態がサスペンド中の場合には”Suspend”が表示され、初期コピー中の場合には”Copy”が表示される。
また、第五のGUI画面において、参照番号5008が指すメニュー「Paircreate」が選択された場合、ペアの作成が可能となる。具体的には、正論理ボリュームを選択し、右クリックで、POPUPの中から、メニュー「Paircreate」が選択されると、図33Bに例示するような第六の画面が表示され、副論理ボリュームや、正/副グループ番号等を選択し、ペアを作成することが可能となる。
以上、本発明の好適な実施形態及び幾つかの実施例を説明したが、本発明は、それらの実施形態及び実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、上述の説明では、各要素を特定するために「番号」が用いられているが、番号に限らず、その要素を特定可能なIDであればどのようなものでもよい。具体的には、例えば、記憶システム100を特定するためのIDとしては、番号に限らず、WWN(World Wide Name)、iSCSIネーム、IPアドレス、MACアドレスなどを採用することができる。
また、正記憶システム100Aがジャーナルとジャーナルライト命令とを副記憶システム100Bに送信することにより、副記憶システム100Bにジャーナルが保存されても良い。ジャーナルリード命令を使用する方式が採用される場合は、副記憶システム100Bが自分の負荷等の状況に応じて命令を発行できるので、副記憶システム100Bにとって都合が良い。一方、ジャーナルライト命令を使用する方式が採用される場合は、正記憶システム100Aが自分の負荷等の状況に応じて命令を発行できるので、正記憶システム100Aにとって都合が良い。
また、例えば、制御サブシステム101Aは、正記憶システム100Aのジャーナル論理ボリュームに保存されている更新情報を、例えば、その更新情報を含んだジャーナルに基づくリストア処理が副記憶システム100Bで行われたことをリストアされたことを検出した場合か、若しくは、その更新情報を含んだジャーナルを副記憶システム100Bに送信した場合に、破棄してもよい。なお、前者の検出は、例えば、副記憶システム100Bの制御サブシステム101Bが、ジャーナルに基づくリストア処理を行う都度に、そのジャーナル中の更新番号を正記憶システム100Aに送信することで、可能となる。
本発明の一実施形態の論理的な構成を示すブロック図である。 本発明の一実施形態の記憶システムのブロック図である。 本発明の一実施形態の更新情報とライトデータの関係を説明する図である。 本発明の一実施形態のボリューム情報の例を説明する図である。 本発明の一実施形態のペア情報の例を説明する図である。 本発明の一実施形態のグループ情報の例を説明する図である。 本発明の一実施形態のポインタ情報の例を説明する図である。 本発明の一実施形態のジャーナル論理ボリュームの構造を説明する図である。 本発明の一実施形態のデータの複製を開始する手順を説明するフローチャートである。 本発明の一実施形態の初期コピー処理を説明するフローチャートである。 本発明の一実施形態の命令受信処理を説明する図である。 本発明の一実施形態の命令受信処理のフローチャートである。 本発明の一実施形態のジャーナル作成処理のフローチャートである。 本発明の一実施形態のジャーナルリード受信処理を説明する図である。 本発明の一実施形態のジャーナルリード受信処理のフローチャートである。 本発明の一実施形態のジャーナルリード命令処理を説明する図である。 本発明の一実施形態のジャーナルリード命令処理のフローチャートである。 本発明の一実施形態のジャーナル格納処理のフローチャートである。 本発明の一実施形態のリストア処理を説明する図である。 本発明の一実施形態のリストア処理のフローチャートである。 本発明の一実施形態の更新情報の例を説明する図である。 本発明の一実施形態のジャーナル作成処理時の更新情報の例を説明する図である。 本発明の一実施形態の第一実施例に係るデータ処理システムの構成例の概要を示す。 本発明の一実施形態の第一実施例におけるポインタ情報700Aの構成例を示す。 図25は、図24に例示したポインタ情報700Aが表す構成であって、複数のジャーナル論理ボリューム#1A、#2A、#3A内の構成を表す。 本発明の一実施形態の第一実施例の第一変形例におけるポインタ情報700Aの構成例を示す。 本発明の一実施形態の第二実施例における複数のジャーナル論理ボリューム#1A、#2A、#3A内の構成例を表す。 本発明の一実施形態の第二実施例における複数のエクステントを管理するためのエクステント情報の構成例を表す。 図27及び図28に対応したポインタ情報700Aの構成例を示す。 本発明の一実施形態の第三実施例における初期コピー処理の一部を示す。 図31Aは、第一のGUI画面を示す。図31Bは、第二のGUI画面を示す。 図32Aは、第三のGUI画面を示す。図32Bは、第四のGUI画面を示す。 図33Aは、第五のGUI画面を示す。図33Bは、第六のGUI画面を示す。
符号の説明
100…記憶システム 100A…正記憶システム 100B…副記憶システム 101、101A、101B…制御サブシステム 102A、102B…グループ 110…チャネルアダプタ(CHA) 120…ディスクアダプタ(DKA) 130…キャッシュメモリ 140…共有メモリ 150…記憶装置 180…ホストコンピュータ 230…論理ボリューム P…正論理ボリューム S…副論理ボリューム A、B…ジャーナル論理ボリューム

Claims (8)

  1. ホストコンピュータ及び他の記憶システムに接続される記憶システムにおいて、
    ライトデータが書き込まれる論理ボリュームである正データボリュームと、データセットが書き込まれるn個の論理ボリュームであるn個のデータセットボリュームとを含んだグループと(nは2以上の整数)、
    前記ホストコンピュータからライト命令及びライトデータを受信し、受信したライトデータを前記正データボリュームに書込み、そのライトデータと更新情報とを含んだデータセットを生成する制御部と
    を備え、
    前記n個のデータセットボリュームは、別々の記憶装置に設けられており、
    各データセットボリュームは、更新情報領域と、ライトデータ領域とを有し、
    前記更新情報領域は、前記データセットにおける更新情報が格納される領域であり、
    前記ライトデータ領域は、前記データセットにおけるライトデータが格納される領域であり、
    前記更新情報は、前記グループについての更新番号と、その更新情報を含んだデータセット内のライトデータの格納先の、データセットボリュームにおけるアドレスとを含んだ情報であり、
    前記制御部が、生成した各データセットについて、下記(a)及び(b)を行うことにより、更新番号が連続したn個のデータセットについて、n個の更新情報が、同一のデータセットボリューム内の更新情報領域に存在し、n個のライトデータが、n個のデータセットボリュームのライトデータ領域に分散することになり、
    (a)そのデータセットが有する更新情報を、その更新情報内の更新番号の直前の更新番号を含んだ更新情報が格納された更新情報領域における、その直前の更新番号の次の位置に、格納する、
    (b)そのデータセットが有するライトデータを、前記直前の更新番号を有するデータセット内のライトデータが格納されたデータセットボリュームとは別のデータセットボリューム内のライトデータ領域に格納する、
    前記他の記憶システムは、前記データセットを読み出すためのデータセットリード命令を生成して前記記憶システムに送信し、
    (X)前記制御部が、前記他の記憶システムから前記データセットリード命令を受信し、前記データセットリード命令に応答して、前記データセットボリュームからデータセットを読み出し、読み出したデータセットを前記他の記憶システムに送信し、前記他の記憶システムが、前記他の記憶システムが有するデータセットボリュームに、前記制御部からのデータセットを格納し、そのデータセットボリューム内のデータセット内のライトデータを、更新番号の順に、前記正データボリュームとペアを構成する副データボリュームに格納する、
    記憶システム。
  2. 請求項1記載の記憶システムにおいて、
    n個のライトデータ領域の各々が、p個のエクステントに分割されており(pは2以上の整数)、
    p個のエクステント群があり、
    前記p個のエクステント群は、n個の異なるライトデータ領域における、同一のアドレス範囲のn個のエクステントで構成されており、
    前記制御部が、前記(b)において、直前のライトデータが格納されたデータセットボリュームとは別のデータセットボリューム内のライトデータ領域における、前記直前のライトデータが格納されたエクステント群とは別のエクステント群に、前記ライトデータを格納し、これにより、更新番号が連続したp個のデータセット内のp個のライトデータが、p個のエクステント群に分散し、
    前記直前のライトデータは、前記直前の更新番号を含んだデータセット内のライトデータであり、
    前記エクステント群の数pは、前記データセットボリュームの数n以上である、
    記憶システム。
  3. 請求項1又は2記載の記憶システムにおいて、
    前記制御部は、前記(X)において、前記他の記憶システムから多重で送信されたn個のデータセットリード命令に応答して、n個のデータセットを、前記n個のデータセットボリュームから読み出す、
    記憶システム。
  4. 請求項1又は2記載の記憶システムにおいて、
    前記制御部は、前記(X)において、前記他の記憶システムからの1つのデータセットリード命令に応答して、複数のデータセットを前記n個のデータセットボリュームのうちの複数のデータセットボリュームから読み出す、
    記憶システム。
  5. 請求項1乃至4のうちのいずれか1項に記載の記憶システムにおいて、
    前記他の記憶システムと前記データセット記憶領域との間でやり取りされるデータセットが一時的に記憶されるキャッシュメモリを更に備え、
    前記制御部は、前記他の記憶システムからのデータセットリード命令に応答して、データセットを前記データセットボリュームから前記キャッシュメモリに読み出し、前記キャッシュメモリに読み出されたデータセットを前記他の記憶システムに送信し、次にデータセットリード命令を受信する前に、データセットを前記データセットボリュームから前記キャッシュメモリに読み出しておき、前記次にデータセットリード命令を受信した場合に、前記キャッシュメモリに記憶されているデータセットを前記他の記憶システムに送信する、
    記憶システム。
  6. 請求項1乃至5のうちのいずれか1項に記載の記憶システムにおいて、
    前記正データボリュームに関する差分情報を記憶する差分情報記憶域を更に備え、
    前記差分情報は、前記正データボリュームの前記複数のサブ領域の各々に格納されるデータについて、前記副データボリュームとの間で差が有るか否かを表す設定値を含んでおり、
    前記制御部は、前記差分情報を参照し、或るライトデータに対応する設定値が差分無しを表す場合、前記或るライトデータについては前記データセットを作成しない、
    記憶システム。
  7. 第一の記憶システムと、
    前記第一の記憶システムに接続された第二の記憶システムと
    を有し、
    前記第一の記憶システムは、グループを有し、
    前記グループは、ライトデータが書き込まれる論理ボリュームである正データボリュームと、データセットが書き込まれるn個の論理ボリュームであるn個のデータセットボリュームとを含み(nは2以上の整数)、
    前記第一の記憶システムは、ホストコンピュータからライト命令及びライトデータを受信し、受信したライトデータを前記正データボリュームに書込み、そのライトデータと更新情報とを含んだデータセットを生成し、
    前記n個のデータセットボリュームは、別々の記憶装置に設けられており、
    各データセットボリュームは、更新情報領域と、ライトデータ領域とを有し、
    前記更新情報領域は、前記データセットにおける更新情報が格納される領域であり、
    前記ライトデータ領域は、前記データセットにおけるライトデータが格納される領域であり、
    前記更新情報は、前記グループについての更新番号と、その更新情報を含んだデータセット内のライトデータの格納先の、データセットボリュームにおけるアドレスとを含んだ情報であり、
    前記第一の記憶システムが、生成した各データセットについて、下記(a)及び(b)を行うことにより、更新番号が連続したn個のデータセットについて、n個の更新情報が、同一のデータセットボリューム内の更新情報領域に存在し、n個のライトデータが、n個のデータセットボリュームのライトデータ領域に分散することになり、
    (a)そのデータセットが有する更新情報を、その更新情報内の更新番号の直前の更新番号を含んだ更新情報が格納された更新情報領域における、その直前の更新番号の次の位置に、格納する、
    (b)そのデータセットが有するライトデータを、前記直前の更新番号を有するデータセット内のライトデータが格納されたデータセットボリュームとは別のデータセットボリューム内のライトデータ領域に格納する、
    前記第二の記憶システムは、前記データセットを読み出すためのデータセットリード命令を生成して前記記憶システムに送信し、
    前記第一の記憶システムが、前記第二の記憶システムから前記データセットリード命令を受信し、前記データセットリード命令に応答して、前記データセットボリュームからデータセットを読み出し、読み出したデータセットを前記第二の記憶システムに送信し、
    前記第二の記憶システムが、データセットボリュームと、前記正データボリュームに格納されたライトデータが前記副データボリュームとを有し、前記第一の記憶システムからのデータセットを、前記データセットボリュームに格納し、そのデータセットボリューム内のデータセット内のライトデータを、更新番号の順に、前記副データボリュームに格納する、
    データ処理システム。
  8. 第一の記憶システムと前記第一の記憶システムに接続された第二の記憶システムとを有するデータ処理システムによって実行される方法であって、
    前記第一の記憶システムが、ホストコンピュータからのライトデータが書き込まれる論理ボリュームである正データボリュームと、データセットが書き込まれるn個の論理ボリュームであるn個のデータセットボリュームとを含んだグループ(nは2以上の整数)を有しており、
    前記データセットは、ライトデータと更新情報とを含み、
    前記n個のデータセットボリュームは、別々の記憶装置に設けられており、
    各データセットボリュームは、更新情報領域と、ライトデータ領域とを有し、
    前記更新情報領域は、前記データセットにおける更新情報が格納される領域であり、
    前記ライトデータ領域は、前記データセットにおけるライトデータが格納される領域であり、
    前記更新情報は、前記グループについての更新番号と、その更新情報を含んだデータセット内のライトデータの格納先の、データセットボリュームにおけるアドレスとを含んだ情報であり、
    前記方法において、
    前記第一の記憶システムが、前記ホストコンピュータからライトデータを受信し、そのライトデータを前記正データボリュームに格納し、前記ライトデータと更新情報とを含んだデータセットを生成
    前記第一の記憶システムが、生成した各データセットについて、下記(a)及び(b)を行うことにより、更新番号が連続したn個のデータセットについて、n個の更新情報が、同一のデータセットボリューム内の更新情報領域に存在し、n個のライトデータが、n個のデータセットボリュームのライトデータ領域に分散することになり、
    (a)そのデータセットが有する更新情報を、その更新情報内の更新番号の直前の更新番号を含んだ更新情報が格納された更新情報領域における、その直前の更新番号の次の位置に、格納する、
    (b)そのデータセットが有するライトデータを、前記直前の更新番号を有するデータセット内のライトデータが格納されたデータセットボリュームとは別のデータセットボリューム内のライトデータ領域に格納する、
    前記第二の記憶システムは、前記データセットを読み出すためのデータセットリード命令を生成して前記記憶システムに送信し、
    前記第一の記憶システムが、前記第二の記憶システムから前記データセットリード命令を受信し、前記データセットリード命令に応答して、前記データセットボリュームからデータセットを読み出し、読み出したデータセットを前記第二の記憶システムに送信し、
    前記第二の記憶システムが、前記第一の記憶システムからのデータセットを、前記第二の記憶システムが有するデータセットボリュームに格納し、そのデータセットボリューム内のデータセット内のライトデータを、更新番号の順に、前記正データボリュームとペアを構成する副データボリュームに格納する、
    データ処理方法。
JP2004228203A 2004-08-04 2004-08-04 記憶システム及びデータ処理システム Expired - Fee Related JP4519563B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2004228203A JP4519563B2 (ja) 2004-08-04 2004-08-04 記憶システム及びデータ処理システム
US10/956,647 US7159088B2 (en) 2004-08-04 2004-09-30 Storage system and data processing system
DE602005007258T DE602005007258D1 (de) 2004-08-04 2005-02-01 Speichersystem und Datenverarbeitungssystem
EP07005275A EP1796004B1 (en) 2004-08-04 2005-02-01 Storage system and data processing system
DE602005000972T DE602005000972T2 (de) 2004-08-04 2005-02-01 Speichersystem und Datenverarbeitungssystem
EP05250541A EP1624376B1 (en) 2004-08-04 2005-02-01 Storage system and data processing system
US11/473,827 US7296126B2 (en) 2004-08-04 2006-06-23 Storage system and data processing system
US11/713,478 US7313663B2 (en) 2004-08-04 2007-03-02 Storage system and data processing system
US11/973,773 US7529901B2 (en) 2004-08-04 2007-10-09 Storage system and data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004228203A JP4519563B2 (ja) 2004-08-04 2004-08-04 記憶システム及びデータ処理システム

Publications (2)

Publication Number Publication Date
JP2006048358A JP2006048358A (ja) 2006-02-16
JP4519563B2 true JP4519563B2 (ja) 2010-08-04

Family

ID=34940417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004228203A Expired - Fee Related JP4519563B2 (ja) 2004-08-04 2004-08-04 記憶システム及びデータ処理システム

Country Status (4)

Country Link
US (4) US7159088B2 (ja)
EP (2) EP1796004B1 (ja)
JP (1) JP4519563B2 (ja)
DE (2) DE602005007258D1 (ja)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8205009B2 (en) * 2002-04-25 2012-06-19 Emc Israel Development Center, Ltd. Apparatus for continuous compression of large volumes of data
WO2005036418A1 (en) * 2003-10-13 2005-04-21 Illuminator (Israel) Ltd. Apparatus and method for information recovery quality assessment in a computer system
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
US7590780B2 (en) * 2004-11-08 2009-09-15 Broadcom Corporation Method and computer program product to migrate legacy data to a RAID array while contemporaneously providing user access to legacy data
US20060143502A1 (en) * 2004-12-10 2006-06-29 Dell Products L.P. System and method for managing failures in a redundant memory subsystem
KR100674946B1 (ko) * 2005-01-19 2007-01-26 삼성전자주식회사 디스크 드라이브의 데이터 복사 방법 및 그 장치
JP2006221510A (ja) * 2005-02-14 2006-08-24 Fujitsu Ltd ディスク装置制御プログラム、ディスク装置制御方法、ディスク装置制御システム
US8060713B1 (en) 2005-12-21 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Consolidating snapshots in a continuous data protection system using journaling
US7774565B2 (en) * 2005-12-21 2010-08-10 Emc Israel Development Center, Ltd. Methods and apparatus for point in time data access and recovery
US7849361B2 (en) * 2005-12-22 2010-12-07 Emc Corporation Methods and apparatus for multiple point in time data access
JP4938328B2 (ja) * 2006-03-28 2012-05-23 株式会社日立製作所 記憶システム及びその電源制御方法並びにストレージ装置
JP2008015768A (ja) * 2006-07-05 2008-01-24 Hitachi Ltd 記憶システム並びにこれを用いたデータの管理方法
JP2008033527A (ja) * 2006-07-27 2008-02-14 Hitachi Ltd ストレージ装置、ディスク装置及びデータ復元方法
JP4890160B2 (ja) * 2006-09-06 2012-03-07 株式会社日立製作所 ストレージシステム及びバックアップ/リカバリ方法
US7516287B2 (en) * 2006-09-28 2009-04-07 Emc Israel Development Center, Ltd. Methods and apparatus for optimal journaling for continuous data replication
US7627612B2 (en) * 2006-09-28 2009-12-01 Emc Israel Development Center, Ltd. Methods and apparatus for optimal journaling for continuous data replication
US7627687B2 (en) * 2006-09-28 2009-12-01 Emc Israel Development Center, Ltd. Methods and apparatus for managing data flow in a continuous data replication system having journaling
JP2008192058A (ja) * 2007-02-07 2008-08-21 Nec Corp ファイルのリモートコピー装置、方法およびプログラム
JP5158074B2 (ja) * 2007-03-20 2013-03-06 富士通株式会社 ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
JP2008250695A (ja) * 2007-03-30 2008-10-16 Nec Corp ディスクアレイコントローラ及びこれを備えたディスクアレイシステム
JP4981523B2 (ja) * 2007-05-28 2012-07-25 株式会社日立製作所 ストレージシステム及びストレージシステム管理方法
JP4386932B2 (ja) * 2007-08-17 2009-12-16 富士通株式会社 ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US7958372B1 (en) 2007-12-26 2011-06-07 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to convert a logical unit from a first encryption state to a second encryption state using a journal in a continuous data protection environment
US8041940B1 (en) 2007-12-26 2011-10-18 Emc Corporation Offloading encryption processing in a storage area network
US7860836B1 (en) 2007-12-26 2010-12-28 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to recover data in a continuous data protection environment using a journal
US7840536B1 (en) 2007-12-26 2010-11-23 Emc (Benelux) B.V., S.A.R.L. Methods and apparatus for dynamic journal expansion
KR101258589B1 (ko) * 2008-03-03 2013-05-02 삼성전자주식회사 저널링 파일 시스템에 따라 데이터를 기록한 정보저장매체,저널링 파일 시스템을 이용해서 데이터를 기록/복구하는방법 및 장치
US9501542B1 (en) 2008-03-11 2016-11-22 Emc Corporation Methods and apparatus for volume synchronization
US7719443B1 (en) 2008-06-27 2010-05-18 Emc Corporation Compressing data in a continuous data protection environment
US8108634B1 (en) 2008-06-27 2012-01-31 Emc B.V., S.A.R.L. Replicating a thin logical unit
US8069322B2 (en) 2008-08-15 2011-11-29 International Business Machines Corporation Active-active remote configuration of a storage system
US20100049926A1 (en) * 2008-08-21 2010-02-25 International Business Machines Corporation Enhancement of data mirroring to provide parallel processing of overlapping writes
US8060714B1 (en) 2008-09-26 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Initializing volumes in a replication system
US7882286B1 (en) * 2008-09-26 2011-02-01 EMC (Benelux)B.V., S.A.R.L. Synchronizing volumes for replication
JP5341117B2 (ja) * 2008-11-21 2013-11-13 株式会社日立製作所 ストレージ装置、及びストレージ装置における制御情報の更新方法
US8650328B1 (en) * 2008-12-15 2014-02-11 American Megatrends, Inc. Bi-directional communication between redundant storage controllers
TWI514249B (zh) * 2009-01-23 2015-12-21 Infortrend Technology Inc 遠端非同步資料卷複製的方法及執行該方法的儲存系統
JP5326918B2 (ja) * 2009-08-05 2013-10-30 株式会社リコー 電子機器,ソフトウェア更新方法,プログラム,および記録媒体
US8489844B2 (en) * 2009-12-24 2013-07-16 Hitachi, Ltd. Storage system providing heterogeneous virtual volumes and storage area re-allocation
JP5544897B2 (ja) * 2010-01-22 2014-07-09 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
JP5549243B2 (ja) * 2010-01-29 2014-07-16 富士通株式会社 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
US8392680B1 (en) 2010-03-30 2013-03-05 Emc International Company Accessing a volume in a distributed environment
US8332687B1 (en) 2010-06-23 2012-12-11 Emc Corporation Splitter used in a continuous data protection environment
US8433869B1 (en) 2010-09-27 2013-04-30 Emc International Company Virtualized consistency group using an enhanced splitter
US8478955B1 (en) 2010-09-27 2013-07-02 Emc International Company Virtualized consistency group using more than one data protection appliance
US8335771B1 (en) 2010-09-29 2012-12-18 Emc Corporation Storage array snapshots for logged access replication in a continuous data protection system
US8694700B1 (en) 2010-09-29 2014-04-08 Emc Corporation Using I/O track information for continuous push with splitter for storage device
US8335761B1 (en) 2010-12-02 2012-12-18 Emc International Company Replicating in a multi-copy environment
JP2013029911A (ja) * 2011-07-27 2013-02-07 Fujitsu Ltd 制御装置、制御方法およびストレージ装置
US9256605B1 (en) 2011-08-03 2016-02-09 Emc Corporation Reading and writing to an unexposed device
US8898112B1 (en) 2011-09-07 2014-11-25 Emc Corporation Write signature command
US9336132B1 (en) * 2012-02-06 2016-05-10 Nutanix, Inc. Method and system for implementing a distributed operations log
US9223659B1 (en) 2012-06-28 2015-12-29 Emc International Company Generating and accessing a virtual volume snapshot in a continuous data protection system
US10235145B1 (en) 2012-09-13 2019-03-19 Emc International Company Distributed scale-out replication
US9336094B1 (en) 2012-09-13 2016-05-10 Emc International Company Scaleout replication of an application
US9317423B2 (en) * 2013-01-07 2016-04-19 Hitachi, Ltd. Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof
US9696939B1 (en) 2013-03-14 2017-07-04 EMC IP Holding Company LLC Replicating data using deduplication-based arrays using network-based replication
US9383937B1 (en) 2013-03-14 2016-07-05 Emc Corporation Journal tiering in a continuous data protection system using deduplication-based storage
US9110914B1 (en) 2013-03-14 2015-08-18 Emc Corporation Continuous data protection using deduplication-based storage
US8996460B1 (en) 2013-03-14 2015-03-31 Emc Corporation Accessing an image in a continuous data protection using deduplication-based storage
US9152339B1 (en) 2013-03-15 2015-10-06 Emc Corporation Synchronization of asymmetric active-active, asynchronously-protected storage
US9244997B1 (en) 2013-03-15 2016-01-26 Emc Corporation Asymmetric active-active access of asynchronously-protected data storage
US9081842B1 (en) 2013-03-15 2015-07-14 Emc Corporation Synchronous and asymmetric asynchronous active-active-active data access
US9087112B1 (en) 2013-06-24 2015-07-21 Emc International Company Consistency across snapshot shipping and continuous replication
US9069709B1 (en) 2013-06-24 2015-06-30 Emc International Company Dynamic granularity in data replication
US9146878B1 (en) 2013-06-25 2015-09-29 Emc Corporation Storage recovery from total cache loss using journal-based replication
CN103649901A (zh) * 2013-07-26 2014-03-19 华为技术有限公司 数据发送方法、数据接收方法和存储设备
GB2517453B (en) * 2013-08-20 2017-12-20 Imagination Tech Ltd Improved use of memory resources
WO2015054897A1 (zh) * 2013-10-18 2015-04-23 华为技术有限公司 数据存储方法、数据存储装置和存储设备
US9367260B1 (en) 2013-12-13 2016-06-14 Emc Corporation Dynamic replication system
US9405765B1 (en) 2013-12-17 2016-08-02 Emc Corporation Replication of virtual machines
US9158630B1 (en) 2013-12-19 2015-10-13 Emc Corporation Testing integrity of replicated storage
US9189339B1 (en) 2014-03-28 2015-11-17 Emc Corporation Replication of a virtual distributed volume with virtual machine granualarity
US10082980B1 (en) 2014-06-20 2018-09-25 EMC IP Holding Company LLC Migration of snapshot in replication system using a log
US9274718B1 (en) 2014-06-20 2016-03-01 Emc Corporation Migration in replication system
US9619543B1 (en) 2014-06-23 2017-04-11 EMC IP Holding Company LLC Replicating in virtual desktop infrastructure
US10437783B1 (en) 2014-09-25 2019-10-08 EMC IP Holding Company LLC Recover storage array using remote deduplication device
US10101943B1 (en) 2014-09-25 2018-10-16 EMC IP Holding Company LLC Realigning data in replication system
US10324798B1 (en) 2014-09-25 2019-06-18 EMC IP Holding Company LLC Restoring active areas of a logical unit
US9910621B1 (en) 2014-09-29 2018-03-06 EMC IP Holding Company LLC Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements
US9529885B1 (en) 2014-09-29 2016-12-27 EMC IP Holding Company LLC Maintaining consistent point-in-time in asynchronous replication during virtual machine relocation
WO2016051512A1 (ja) 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
US9600377B1 (en) 2014-12-03 2017-03-21 EMC IP Holding Company LLC Providing data protection using point-in-time images from multiple types of storage devices
US10496487B1 (en) 2014-12-03 2019-12-03 EMC IP Holding Company LLC Storing snapshot changes with snapshots
US9405481B1 (en) 2014-12-17 2016-08-02 Emc Corporation Replicating using volume multiplexing with consistency group file
US9632881B1 (en) 2015-03-24 2017-04-25 EMC IP Holding Company LLC Replication of a virtual distributed volume
US9411535B1 (en) 2015-03-27 2016-08-09 Emc Corporation Accessing multiple virtual devices
US10296419B1 (en) 2015-03-27 2019-05-21 EMC IP Holding Company LLC Accessing a virtual device using a kernel
US9678680B1 (en) 2015-03-30 2017-06-13 EMC IP Holding Company LLC Forming a protection domain in a storage architecture
US10853181B1 (en) 2015-06-29 2020-12-01 EMC IP Holding Company LLC Backing up volumes using fragment files
US10346260B1 (en) * 2015-09-30 2019-07-09 EMC IP Holding Company LLC Replication based security
US10630802B2 (en) * 2015-12-07 2020-04-21 International Business Machines Corporation Read caching in PPRC environments
US9684576B1 (en) 2015-12-21 2017-06-20 EMC IP Holding Company LLC Replication using a virtual distributed volume
US10067837B1 (en) 2015-12-28 2018-09-04 EMC IP Holding Company LLC Continuous data protection with cloud resources
US10133874B1 (en) 2015-12-28 2018-11-20 EMC IP Holding Company LLC Performing snapshot replication on a storage system not configured to support snapshot replication
US10235196B1 (en) 2015-12-28 2019-03-19 EMC IP Holding Company LLC Virtual machine joining or separating
US10152267B1 (en) 2016-03-30 2018-12-11 Emc Corporation Replication data pull
US10235087B1 (en) 2016-03-30 2019-03-19 EMC IP Holding Company LLC Distributing journal data over multiple journals
US10579282B1 (en) 2016-03-30 2020-03-03 EMC IP Holding Company LLC Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume
US10235060B1 (en) 2016-04-14 2019-03-19 EMC IP Holding Company, LLC Multilevel snapshot replication for hot and cold regions of a storage system
TWI582581B (zh) * 2016-05-13 2017-05-11 群暉科技股份有限公司 用來於一冗餘儲存系統中進行資料修復之方法與裝置
JP6677605B2 (ja) * 2016-08-22 2020-04-08 株式会社東芝 プログラム、ストレージシステム、およびストレージシステムの制御方法
CN106407040B (zh) 2016-09-05 2019-05-24 华为技术有限公司 一种远程数据复制方法及系统
US10235091B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Full sweep disk synchronization in a storage system
US10019194B1 (en) 2016-09-23 2018-07-10 EMC IP Holding Company LLC Eventually consistent synchronous data replication in a storage system
US10235090B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Validating replication copy consistency using a hash function in a storage system
US10210073B1 (en) 2016-09-23 2019-02-19 EMC IP Holding Company, LLC Real time debugging of production replicated data with data obfuscation in a storage system
US10146961B1 (en) 2016-09-23 2018-12-04 EMC IP Holding Company LLC Encrypting replication journals in a storage system
US10416905B2 (en) 2017-02-09 2019-09-17 Hewlett Packard Enterprise Development Lp Modifying membership of replication groups via journal operations
KR20190123990A (ko) * 2018-04-25 2019-11-04 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11100132B2 (en) * 2018-10-11 2021-08-24 International Business Machines Corporation Intelligent space release in asynchronous mirror journal volumes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
JP2001229063A (ja) * 2000-02-17 2001-08-24 Mitsubishi Electric Corp データ管理システム

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US204106A (en) * 1878-05-21 Improvement in grand piano-fortes
US55523A (en) * 1866-06-12 Improvement in automatic heliotropes
US132155A (en) * 1872-10-15 Improvement in twisting and spooling machines
US60507A (en) * 1866-12-18 Chaelbs m
JP2544449B2 (ja) 1986-05-23 1996-10-16 株式会社日立製作所 情報処理システム及び情報処理システムの制御方法
JP2569135B2 (ja) 1988-07-27 1997-01-08 株式会社日立製作所 記憶装置のデータ整合性制御方式
JPH03164827A (ja) * 1989-11-22 1991-07-16 Hitachi Ltd 2次記憶装置への分割格納方式
US5307481A (en) 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
US5155845A (en) 1990-06-15 1992-10-13 Storage Technology Corporation Data storage system for providing redundant copies of data on different disk drives
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5459857A (en) 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
US5555371A (en) 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
JPH06242976A (ja) * 1993-02-16 1994-09-02 Nec Corp システム障害復旧処理方式
US5978565A (en) 1993-07-20 1999-11-02 Vinca Corporation Method for rapid recovery from a network file server failure including method for operating co-standby servers
JP3246146B2 (ja) 1993-12-27 2002-01-15 株式会社日立製作所 外部記憶装置のデータ移行方法
KR0128271B1 (ko) 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5504882A (en) * 1994-06-20 1996-04-02 International Business Machines Corporation Fault tolerant data storage subsystem employing hierarchically arranged controllers
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5548712A (en) * 1995-01-19 1996-08-20 Hewlett-Packard Company Data storage system and method for managing asynchronous attachment and detachment of storage disks
US5799323A (en) 1995-01-24 1998-08-25 Tandem Computers, Inc. Remote duplicate databased facility with triple contingency protection
US5682513A (en) 1995-03-31 1997-10-28 International Business Machines Corporation Cache queue entry linking for DASD record updates
US5799141A (en) 1995-06-09 1998-08-25 Qualix Group, Inc. Real-time data protection system and method
US5720029A (en) 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5819020A (en) 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5901327A (en) 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6092066A (en) 1996-05-31 2000-07-18 Emc Corporation Method and apparatus for independent operation of a remote data facility
US5933653A (en) 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US6477627B1 (en) 1996-05-31 2002-11-05 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US6101497A (en) 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US5995980A (en) 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication
US6073209A (en) 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
JP3414218B2 (ja) 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US6052758A (en) 1997-12-22 2000-04-18 International Business Machines Corporation Interface error detection and isolation in a direct access storage device DASD system
US6226651B1 (en) 1998-03-27 2001-05-01 International Business Machines Corporation Database disaster remote site recovery
US6324654B1 (en) 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6157991A (en) 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
US6178427B1 (en) 1998-05-07 2001-01-23 Platinum Technology Ip, Inc. Method of mirroring log datasets using both log file data and live log data including gaps between the two data logs
US6148383A (en) 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
JP2000099277A (ja) 1998-09-18 2000-04-07 Fujitsu Ltd ファイルユニット間のリモート転送方法
US6209002B1 (en) 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
US6397307B2 (en) 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
JP2000276304A (ja) 1999-03-26 2000-10-06 Nec Corp データ移行方法と情報処理システム
US6662197B1 (en) 1999-06-25 2003-12-09 Emc Corporation Method and apparatus for monitoring update activity in a data storage facility
US6611901B1 (en) * 1999-07-02 2003-08-26 International Business Machines Corporation Method, system, and program for maintaining electronic data as of a point-in-time
US6804676B1 (en) 1999-08-31 2004-10-12 International Business Machines Corporation System and method in a data processing system for generating compressed affinity records from data records
US6463501B1 (en) 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US6338126B1 (en) 1999-12-06 2002-01-08 Legato Systems, Inc. Crash recovery without complete remirror
US6526418B1 (en) 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6625623B1 (en) 1999-12-16 2003-09-23 Livevault Corporation Systems and methods for backing up data files
US6460055B1 (en) 1999-12-16 2002-10-01 Livevault Corporation Systems and methods for backing up data files
US6487645B1 (en) 2000-03-06 2002-11-26 International Business Machines Corporation Data storage subsystem with fairness-driven update blocking
US6446176B1 (en) 2000-03-09 2002-09-03 Storage Technology Corporation Method and system for transferring data between primary storage and secondary storage using a bridge volume and an internal snapshot copy of the data being transferred
US6499112B1 (en) * 2000-03-28 2002-12-24 Storage Technology Corporation Automatic stand alone recovery for peer to peer remote copy (PPRC) operations
JP2001356945A (ja) 2000-04-12 2001-12-26 Anetsukusu Syst Kk データバックアップ・リカバリー方式
US6622152B1 (en) 2000-05-09 2003-09-16 International Business Machines Corporation Remote log based replication solution
WO2002031696A1 (en) 2000-10-09 2002-04-18 Maximum Availability Limited Method and apparatus for data processing
US6728736B2 (en) 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
WO2002075582A1 (en) 2001-03-15 2002-09-26 The Board Of Governors For Higher Education State Of Rhode Island And Providence Plantations Remote online information back-up system
US7340505B2 (en) 2001-04-02 2008-03-04 Akamai Technologies, Inc. Content storage and replication in a managed internet content storage environment
US6496908B1 (en) 2001-05-18 2002-12-17 Emc Corporation Remote mirroring
US20030014523A1 (en) 2001-07-13 2003-01-16 John Teloh Storage network data replicator
US6883122B2 (en) 2001-07-31 2005-04-19 Hewlett-Packard Development Company, L.P. Write pass error detection
EP1451714B1 (en) 2001-11-01 2018-05-02 Verisign, Inc. Method and system for updating a remote database
JP2003202964A (ja) * 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
US6941322B2 (en) 2002-04-25 2005-09-06 International Business Machines Corporation Method for efficient recording and management of data changes to an object
US6968349B2 (en) 2002-05-16 2005-11-22 International Business Machines Corporation Apparatus and method for validating a database record before applying journal data
US20030220935A1 (en) 2002-05-21 2003-11-27 Vivian Stephen J. Method of logical database snapshot for log-based replication
JP2004013367A (ja) 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US7844577B2 (en) * 2002-07-15 2010-11-30 Symantec Corporation System and method for maintaining a backup storage system for a computer system
US7076508B2 (en) 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
US6959369B1 (en) 2003-03-06 2005-10-25 International Business Machines Corporation Method, system, and program for data backup
JP2004295465A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 計算機システム
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
US7130975B2 (en) 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
JP2005062928A (ja) 2003-08-11 2005-03-10 Hitachi Ltd 複数のサイトにリモートコピーを行うシステム
US20050050115A1 (en) 2003-08-29 2005-03-03 Kekre Anand A. Method and system of providing cascaded replication
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
JP4598387B2 (ja) 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
JP4412989B2 (ja) 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP4282464B2 (ja) * 2003-12-17 2009-06-24 株式会社日立製作所 リモートコピーシステム
WO2005086001A1 (en) 2004-02-27 2005-09-15 Incipient, Inc. Distributed asynchronous ordered replication
JP4476683B2 (ja) * 2004-04-28 2010-06-09 株式会社日立製作所 データ処理システム
JP4575059B2 (ja) * 2004-07-21 2010-11-04 株式会社日立製作所 ストレージ装置
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
JP2006099440A (ja) * 2004-09-29 2006-04-13 Hitachi Ltd リモートコピーシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
JP2001229063A (ja) * 2000-02-17 2001-08-24 Mitsubishi Electric Corp データ管理システム

Also Published As

Publication number Publication date
US7296126B2 (en) 2007-11-13
EP1624376B1 (en) 2007-04-25
US20070168630A1 (en) 2007-07-19
EP1796004B1 (en) 2008-05-28
DE602005000972D1 (de) 2007-06-06
US7159088B2 (en) 2007-01-02
US7313663B2 (en) 2007-12-25
US20060242373A1 (en) 2006-10-26
EP1796004A1 (en) 2007-06-13
US20060031647A1 (en) 2006-02-09
DE602005007258D1 (de) 2008-07-10
EP1624376A2 (en) 2006-02-08
EP1624376A3 (en) 2006-02-15
US7529901B2 (en) 2009-05-05
JP2006048358A (ja) 2006-02-16
US20080215835A1 (en) 2008-09-04
DE602005000972T2 (de) 2008-01-17

Similar Documents

Publication Publication Date Title
JP4519563B2 (ja) 記憶システム及びデータ処理システム
JP4412989B2 (ja) 複数の記憶システムを有するデータ処理システム
US7219201B2 (en) Remote storage disk control device and method for controlling the same
US8204858B2 (en) Snapshot reset method and apparatus
US7159150B2 (en) Distributed storage system capable of restoring data in case of a storage failure
US6912629B1 (en) System and method for restoring data from secondary volume to primary volume in a data storage system
US6973556B2 (en) Data element including metadata that includes data management information for managing the data element
US6708265B1 (en) Method and apparatus for moving accesses to logical entities from one storage element to another storage element in a computer storage system
US6842784B1 (en) Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system
JP5257672B2 (ja) ジャーナルの階層を管理する計算機システム及び方法
US7395265B2 (en) Data processing system and storage subsystem provided in data processing system
JP5367086B2 (ja) 計算機システムとそのデータ制御方法
US20050060507A1 (en) Remote storage disk control device with function to transfer commands to remote storage devices
US20050120189A1 (en) Method and apparatus for moving logical entities among storage elements in a computer storage system
US20070038656A1 (en) Method and apparatus for verifying storage access requests in a computer storage system with multiple storage elements
US20100036896A1 (en) Computer System and Method of Managing Backup of Data
JP2003233467A5 (ja)
US10747624B2 (en) Storage system and control method of storage system using asynchronous remote copying to backup volume at specific time points
US7243188B2 (en) Method and apparatus for maintaining inventory of logical volumes stored on storage elements
US7493443B2 (en) Storage system utilizing improved management of control information
JP2003015933A (ja) 記憶装置のファイルレベルリモートコピー方法
JP4249240B2 (ja) 記憶システム
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070626

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100518

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100519

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees