JP5544897B2 - Control method of a storage device, controller and storage device - Google Patents

Control method of a storage device, controller and storage device Download PDF

Info

Publication number
JP5544897B2
JP5544897B2 JP2010012345A JP2010012345A JP5544897B2 JP 5544897 B2 JP5544897 B2 JP 5544897B2 JP 2010012345 A JP2010012345 A JP 2010012345A JP 2010012345 A JP2010012345 A JP 2010012345A JP 5544897 B2 JP5544897 B2 JP 5544897B2
Authority
JP
Japan
Prior art keywords
buffer
storage
data
means
step
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
JP2010012345A
Other languages
Japanese (ja)
Other versions
JP2011150602A (en
Inventor
中中 閔
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2010012345A priority Critical patent/JP5544897B2/en
Publication of JP2011150602A publication Critical patent/JP2011150602A/en
Application granted granted Critical
Publication of JP5544897B2 publication Critical patent/JP5544897B2/en
Application status is Expired - Fee Related legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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

Description

本発明は、順序性を保証した非同期のコピー機能を有する記憶装置、制御装置および記憶装置の制御方法に関する。 The present invention is a storage device having an asynchronous copy function that guarantees the ordering, a control method of the control device and a storage device.

従来、分散キャッシュメモリ型のストレージシステムを採用するRAID(Redundant Arrays of Inexpensive Disks)装置では、性能や信頼性の向上のために、ストレージに対するデータの入出力を制御する制御モジュールを複数備える冗長構成が採用されている。 Conventionally, in RAID (Redundant Arrays of Inexpensive Disks) apparatus employing the distributed cache memory type storage system, performance and because of the reliability, the redundant configuration including a plurality of control modules for controlling the input and output of data to the storage It has been adopted. そして、制御モジュール毎に、論理ボリュームに対するデータのRead/Write処理が実行される。 Then, for each control module, a Read / Write processing of data for the logical volume is performed.

このようなRAID装置は、信頼性等の向上のために、アドバンスト・コピーといわれる順序性を保証したリモートコピー機能を備える。 Such RAID device, in order to improve the reliability, etc., provided with a remote copy function that ensures the ordering is said to be advanced copy.
図38は、順序性を保証したリモートコピー機能を備えるRAID装置を説明する図である。 Figure 38 is a diagram illustrating a RAID system comprising a remote copy function that ensures the ordering. 図38に示すストレージシステムは、制御モジュール#00および#01を有するRAID装置3801と、制御モジュール#10および#11を有するRAID装置3802と、を備える。 The storage system shown in FIG. 38 includes a RAID device 3801 having the control module # 00 and # 01, the RAID device 3802 having the control module # 10 and # 11.

以下、RAID装置3801からRAID装置3802にリモートコピーを行なう場合について説明する。 The following describes the case of performing remote copying to the RAID device 3802 from the RAID device 3801. RAID装置3801を「コピー元装置」、RAID装置3802を「コピー先装置」という。 The RAID device 3801 "copy source device", a RAID device 3802 that "the copy destination device".

各RAID装置は、バッファおよびBIT(Buffer Index Table)記憶部を有する記録専用バッファと、バッファセットに関する情報を記憶するバッファセット情報記憶部と、データを記憶する記憶媒体と、を備える。 Each RAID device comprises a write-only buffer having a buffer and BIT (Buffer Index Table) storing unit, and a buffer set information storage unit that stores information about the buffer set, and a storage medium for storing data.

バッファは、一定サイズの複数の領域に分割されている。 Buffer is divided into a plurality of regions of a predetermined size. 分割されたバッファの各領域には、それぞれバッファIDが割り当てられる。 In each area of ​​the divided buffer, the buffer ID respectively assigned. そして、領域毎に、記憶媒体に記憶した、または記憶媒体に記憶するデータが一時的に記憶される。 Then, for each region, stored in the storage medium, or data to be stored in the storage medium is temporarily stored. また、BIT記憶部は、バッファに記憶したデータの記憶場所、図38ではバッファIDなどを含む情報であるBITを記憶する。 Further, BIT storage unit, the storage location of the data stored in the buffer, stores the BIT is information including buffer ID in Fig. 38.

なお、図38のバッファに記載されている(0000)は、バッファIDが0000のバッファに記憶されたバッファデータを表している。 Incidentally, it is described in the buffer of FIG. 38 (0000) represents the buffered data buffer ID is stored in the buffer 0000. また、BIT記憶部に記載されている0000は、バッファデータを記憶するバッファのバッファIDを表している。 Also, 0000 is described in BIT storage unit represents the buffer ID of the buffer for storing buffer data.

バッファセット情報記憶部は、各制御モジュールのバッファに記憶されたバッファデータの組合わせ、例えば、コピー元装置3801の横長に点線で囲われたバッファデータ(0000)と(0100)との組合わせであるバッファセットに関する情報を記憶する。 Buffer set information storage unit, the combination of the buffer data stored in the buffer of the control module, for example, in combination with the buffer data surrounded by the dotted line in landscape copy source apparatus 3801 (0000) and (0100) storing information about certain buffer set.

このバッファセットに関する情報には、コピー元装置3801が記憶する各バッファデータと、各バッファデータを記憶するコピー先装置3802のバッファとの関連付け情報が含まれる。 This information is available for the buffer set includes association information of the each buffer data copy source apparatus 3801 stores a destination buffer device 3802 for storing each buffer data. 例えば、制御モジュール#00のバッファセット情報記憶部で、バッファIDが0000のバッファに記憶されているバッファデータと、そのバッファデータを記憶するバッファIDが1000のバッファと、が関連付けられている。 For example, the buffer set information storage section of the control module # 00, the buffer data buffer ID is stored in the buffer 0000, the buffer buffer ID is 1000 for storing the buffer data, is associated.

以上の構成において、(a)制御モジュール#00および#01は、ホストコンピュータ等からWrite I/O命令を受付けると、そのWrite I/O命令にしたがってWriteデータを記憶媒体に記憶する。 In the above configuration, the (a) control module # 00 and # 01, upon receipt of the Write I / O command from the host computer or the like, stores Write data in the storage medium in accordance with the Write I / O instructions. 同時に、(b)制御モジュール#00および#01は、記憶媒体に記憶したWriteデータを制御モジュール#00および#01それぞれに備わるバッファに記憶する。 At the same time, (b) the control module # 00 and # 01 are stored in a buffer included the Write data stored in the storage medium in the control module # 00 and # 01, respectively. この時、Writeデータは、バッファセット単位で管理される。 In this case, Write data is managed by the buffer set basis.

そして、(c)バッファへのWriteデータの書込みが完了すると、制御モジュール#00および#01は、バッファに書き込んだWriteデータについて、バッファセット単位でデータ転送、すなわち、リモートコピーを開始する。 Then, when the completion of writing of Write data to the (c) buffer, the control module # 00 and # 01, the Write data written into the buffer, the data transfer buffer set basis, i.e., to start a remote copy.

(d)リモートコピーによってコピー元装置3801から送られたWriteデータは、バッファセット情報にしたがって、コピー先装置3802の制御モジュール#10および#11に備わるバッファに記憶される。 (D) Write data sent by the remote copy from the copy source apparatus 3801, according to the buffer set information is stored in a buffer included in the control module # 10 and # 11 of the copy destination device 3802. すると、制御モジュール#10および#11は、バッファに記憶されたWriteデータを記憶媒体に記憶する。 Then, the control module # 10 and # 11, stores Write data stored in the buffer in the storage medium.

以上の処理が完了すると、(e)コピー元装置3801およびコピー先装置3802の各制御モジュールは、バッファなどを解放する。 When the above process is completed, (e) the control module of the copy source apparatus 3801 and copy destination apparatus 3802 releases the like buffer.
以上のように、記録専用バッファを使用したまとめ方式によるデータ送信を行なって、バッファセットを一括制御し、コピー先装置3802においてバッファセット単位でデータを記憶媒体に展開することで、順序性が保証される。 As described above, by performing data transmission by summarizing method using a write-only buffer, collectively controls the buffer set, by loading the data in the buffer set basis in the copy destination device 3802 in a storage medium, sequentiality guarantee It is.

図38では、RAID装置3801からRAID装置3802へのリモートコピーについて説明したが、RAID装置3802からRAID装置3801へのリモートコピーでも同様の処理が行なわれる。 In Figure 38, has been described remote copy to the RAID device 3802 from the RAID device 3801, the same processing in the remote copy to the RAID device 3801 from the RAID device 3802 is performed. この場合、RAID装置3802がコピー元装置、RAID装置3801がコピー先装置となる。 In this case, RAID device 3802 a copy source device, RAID device 3801 is the destination device.

上記技術に関連して、書込みデータを一時的に記憶するバッファの使用状況を監視し、バッファの空き容量が少なくなるとバッファ内の情報を高速ディスクシステムに書き出し、使用状況が好転した場合に再びバッファに書き戻すバックアップ装置が知られている。 In conjunction with the above techniques, to monitor the usage of a buffer for temporarily storing write data, writing the free space of the buffer is less information in the buffer for high-speed disk system, again when the usage has upturn buffer the backup device written back to the known.

また、第1の系に障害が生じた場合には、第1の系から第2の系への切り替えを行うとともに、第2の系に第2のDBMが稼動する第2の計算機を加えてから、サブセットで回復または回復中の副DBを第2の計算機へ引き継ぐデータベースのリカバリ方法が知られている。 Further, when the first system failure occurs, as well as to switch from the first system to the second system, by adding a second computer a second DBM is operated in a second system from the recovery method of the database it is known to take over the sub DB during recovery or recovery subset to a second computer.

特開2006−268420号公報 JP 2006-268420 JP 特開2006−004147号公報 JP 2006-004147 JP

しかし、図39に示すように、コピー元装置3801では、転送済みのWriteデータを記憶するバッファやBITは、コピー先装置3802でWriteデータが記憶媒体に展開されるまで解放されずに記憶する情報が保持される。 However, as shown in FIG. 39, the copy source apparatus 3801, a buffer and BIT for storing the transferred the Write data, information stored without being released by the copy destination apparatus 3802 until Write data is developed in a storage medium There is retained.

このため、(f)コピー先装置3802においてWriteデータを記憶媒体に展開する処理が遅延している場合、コピー元装置3801−コピー先装置3802間の回線能力が低いまたは不均一である場合などには、Writeデータの転送処理に遅延が発生する。 Thus, (f) if the process of deploying the Write data in the copy destination apparatus 3802 in the storage medium is delayed, or when the line capacity between the copy source apparatus 3801- copy destination apparatus 3802 is low or non-uniform a delay occurs in the transfer process of Write data.

例えば、コピー元装置3801−コピー先装置3802間の回線帯域の低さや不安定などによりWriteデータの転送処理に遅延が発生すると、その分コピー元装置3801やコピー先装置3802のバッファやBITを使用する時間が長くなるので、その間バッファの解放ができなくなる。 For example, the delay in the transfer processing of the Write data due low or unstable line bandwidth between the copy source apparatus 3801- destination device 3802 generates, using the buffer and BIT in correspondingly copy source apparatus 3801 and copy destination apparatus 3802 since the time that is long, it can not be released in between buffer.

(g)このような状態でホストコンピュータ等から新たにWrite I/O命令を受けると、コピー元装置3801は、そのWrite I/O命令を受ける度に、Writeデータをバッファに記憶する。 (G) Upon receiving the new Write I / O command from the host computer or the like in this state, the copy source apparatus 3801, every time receiving the Write I / O instruction, stores Write data in the buffer. その結果、コピー元装置3801のバッファは次々と消費されていく。 As a result, the buffer of the copy source apparatus 3801 will be consumed successively.

(h)この状態が続くと、コピー元装置3801ではWriteデータを記憶可能なバッファを確保できなくなり、コピー元装置3801のバッファ枯渇が発生してしまう。 (H) If the condition persists, it will not be able to secure a storage buffer capable of copy source apparatus 3801 in Write data buffer exhaustion of the copy source device 3801 occurs. また、設定されているバッファの大きさ以上に大きいWriteデータを処理する場合も、同様にコピー元装置3801でのバッファ枯渇が発生してしまう。 Moreover, even when processing a large Write data than the size of the buffer is set, similarly buffer exhaustion in the copy source apparatus 3801 is generated.

バッファ枯渇の状態では、ホストコンピュータ等からのWrite I/O命令をコピー元装置3801が処理せずにデータ転送が止まっている状態であるため、この状態を長く継続することはできない。 In the state of buffer depletion, since a state where the Write I / O instructions copy source apparatus 3801 of the host computer or the like has stopped data transfer without processing, it is impossible to continue this state longer.

そのため、(i)一時的にWrite I/O命令の処理を停止し、かつ、一定時間経過してもバッファ枯渇状態が解消されない場合は、バッファの内容をクリアするバッファHalt処理が行なわれる。 Therefore, (i) temporarily stops processing the Write I / O instruction, and buffer exhaustion condition even after the lapse of a predetermined time may not be eliminated, the buffer Halt processing for clearing the contents of the buffer is performed. なお、記録専用バッファやバッファセット情報記憶部に記憶された一部または全部のデータをバッファHalt処理の対象にすることができる。 Incidentally, it is possible to partially stored in the write-only buffer or the buffer set information storage section or all of the data to the target buffer Halt processing. コピー元装置3801およびコピー先装置3802は、バッファHalt処理を行なって、バッファをクリアするとともにWrite I/O命令の処理を再開する。 Copy source apparatus 3801 and copy destination apparatus 3802 performs a buffer Halt processing, resumes processing of the Write I / O instruction is cleared buffer.

この時、コピー元装置3801は、バッファ内のWriteデータ等の情報を専用のビットマップに書き戻す。 In this case, the copy source apparatus 3801 writes back the information such as Write data in the buffer to a dedicated bitmap. そして、コピー元装置3801は、バッファHalt処理を実行後にそのビットマップにしたがって順序性を保証しないリモートコピー転送を行なう。 Then, the copy source apparatus 3801 performs remote copy transfer does not guarantee the ordering according to the bit map after running buffer Halt processing. この場合、順序性を保証したリモートコピーが中断されてしまう、という問題がある。 In this case, the remote copy that guarantees the ordering is interrupted, there is a problem in that.

本記憶装置は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、データの転送処理に遅延が生じる場合でも、順序性を保証したリモートコピーを行なうことができる記憶装置、制御装置および記憶装置の制御方法を提供することである。 This storage device has been made in view of the above problem, the problem to be its solution, even if a delay in the data transfer process occurs, a storage device capable of performing remote copying that ensures sequentiality is to provide a control method of a control device and a storage device.

本記憶装置の1つの観点によれば、本記憶装置は、以下の構成要素を備える。 According to one aspect of the present storage device, the storage device comprises the following components.
第1の記憶手段は、上位装置から送信されるデータを記憶する記憶領域を有する記憶手段である。 First storage means is a storage means having a storage area for storing data transmitted from a host system. また、第2の記憶手段は、データを一時的に記憶する記憶手段である。 The second storage means is a storage means for temporarily storing data.

受信処理手段は、前記上位装置から送信されるデータを受信する。 Reception processing means receives data transmitted from the host system.
第1の記憶処理手段は、前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶する。 First storage processing unit stores the data received from the host device to the first storage means, for storing data received from the host device in the order received and distributed to the second storage means.

データ群出力手段は、複数の前記第2の記憶手段それぞれに記憶された前記データを含むデータ群を一括して出力する。 Data group output means collectively outputting data group including the data stored in each of the plurality of said second storage means.
データ群記憶領域確保手段は、前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段に備わる複数の記憶領域から、更新頻度および空き容量に基づいて記憶領域を選択することによって 、前記データ群を記憶するデータ群記憶領域を確保する。 Data group storage area allocation means detects an abnormality in the output processing by the data group output means, a plurality of storage areas provided in said first storage means, selecting a storage area based on the update frequency and space by ensuring the data group storage area for storing the data group.
若しくは、データ群記憶領域確保手段は、前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段に備わる複数の記憶領域のうち、更新頻度が所定頻度よりも低い記憶領域であって、前記データ群出力手段の出力先に保持されているデータと同じデータが記憶されている記憶領域を選択することによって、前記データ群を記憶するデータ群記憶領域を確保する。 Or, the data group storage area allocation means detects an abnormality in the output processing by the data group output means, among the plurality of storage areas provided in said first storage means, the update frequency is low space than a predetermined frequency there are, by selecting a storage area which the same data as the data stored in the output destination of the data group output means is stored, to ensure data group storage area for storing the data group.

退避処理手段は、前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避する。 Save processing means, according to the usage status of the second memory means, said data groups are read from a plurality of said second storage means for saving the data group storage area.
第2の記憶処理手段は、前記データ群出力手段による出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する。 Second storage processing unit are each storage area of ​​the second storage means outputting process by the data group output means became to unused completed, distribute the data group that has been evacuated to the data group storage area to and stored.

本記憶装置によると、データの転送処理に遅延が生じる場合でも、順序性を保証したリモートコピーを行なうことができる記憶装置、制御装置および記憶装置の制御方法を提供することができる。 According to the storage device, it is possible to provide a control method for, even if a delay in the data transfer process occurs, a storage device capable of performing remote copying that guarantee the order of the control device and a storage device.

本実施例に係るストレージの構成の概要を示す図である。 Is a diagram showing an outline of a storage structure according to the present embodiment. 本実施例に係る制御モジュールが備えるメモリの具体的な構成例を示す図である。 It is a diagram showing a specific configuration example of a memory of the control module according to the present embodiment. 本実施例に係るバッファ管理テーブルの構成例を示す図である。 It is a diagram showing a configuration example of a buffer management table according to the present embodiment. 本実施例に係るバッファセット管理テーブルの構成例を示す図である。 It is a diagram illustrating a configuration example of a buffer set management table according to the present embodiment. 本実施例に係る退避用バッファ管理テーブルの構成例を示す図である。 Is a diagram illustrating a configuration example of a save buffer management table according to the present embodiment. 本実施例に係るディスク装置管理テーブルの構成例を示す図である。 It is a diagram illustrating a configuration example of a disk device management table according to the present embodiment. 本実施例に係るSnapOPC+の概要を説明する図である。 It is a diagram illustrating an outline of SnapOPC + according to the present embodiment. 本実施例に係るSnapOPC+用Pool管理テーブルの構成例を示す図である。 It is a diagram illustrating a configuration example of a SnapOPC + for Pool management table according to the present embodiment. 本実施例に係るThin Provisioningの概要を説明する図である。 Is a diagram illustrating an outline of Thin Provisioning according to the present embodiment. 本実施例に係るThin Provisioning用Pool管理テーブルの構成例を示す図である。 It is a diagram illustrating a configuration example of a Thin Provisioning for Pool management table according to the present embodiment. 本実施例に係るディスク装置ビットマップの構成例を示す図である。 It is a diagram illustrating a configuration example of a disk device bit map according to the present embodiment. 本実施例に係る退避用バッファビットマップの構成例を示す図である。 Is a diagram illustrating a configuration example of a save buffer bitmap according to the present embodiment. 本実施例に係る更新履歴情報の構成例を示す図である。 It is a diagram showing a configuration example of the update history information according to the present embodiment. 本実施例に係る退避用バッファの構成例を示す図である。 Is a diagram illustrating a configuration example of a save buffer according to the present embodiment. 本実施例に係る退避用バッファの構成例を示す図である。 Is a diagram illustrating a configuration example of a save buffer according to the present embodiment. 本実施例に係る退避用バッファの構成例を示す図である。 Is a diagram illustrating a configuration example of a save buffer according to the present embodiment. 本実施例に係るバッファ退避処理を説明する図である。 It is a diagram illustrating a buffer save processing according to the present embodiment. 本実施例に係るバッファ退避処理を説明する図である。 It is a diagram illustrating a buffer save processing according to the present embodiment. 本実施例に係るストレージシステムの処理の概要を示すフローチャートである。 Is a flowchart showing the outline of processing of the storage system according to the present embodiment. 本実施例に係る順方向のリモートコピー(ステップS1901〜S1902)の概要を示すフローチャートである。 Description of the forward of the remote copy of this embodiment (step S1901~S1902) is a flowchart showing. 本実施例に係る順方向のリモートコピー(ステップS1901〜S1902)の概要を示すフローチャートである。 Description of the forward of the remote copy of this embodiment (step S1901~S1902) is a flowchart showing. 本実施例に係る退避用バッファの領域を生成する処理を示すフローチャートである。 The process of generating a region of the save buffer according to the present embodiment is a flowchart showing. 本実施例に係る退避用バッファの制御モジュールへの割り当て(ステップS2107)の具体的な処理を示すフローチャートである。 Is a flowchart illustrating a specific process of assignment to the control module of the save buffer according to the present embodiment (step S2107). 本実施例に係る個別バッファへの格納処理(ステップS2005a)の概要を示す図である。 Is a diagram showing an outline of process of storing the individual buffer according to the present embodiment (Step S2005a). 本実施例に係る個別バッファへの格納処理(ステップS2005a)を示すフローチャートである。 Storage processing to the individual buffer according to the present embodiment (steps S2005a) is a flowchart showing. 本実施例に係るバッファセットの切替え処理を示すフローチャートである。 It is a flowchart showing a switching process of the buffer set according to the present embodiment. 本実施例に係るバッファ退避処理におけるライトバックポインタ情報・ステージポインタ情報を説明する図である。 Is a diagram for explaining a write-back pointer information and stage pointer information in the buffer save processing according to the present embodiment. 本実施例に係るライトバックポインタ情報の更新処理を示すフローチャートである。 It is a flowchart showing a process of updating the write-back pointer information according to the present embodiment. 本実施例に係るステージポインタ情報の更新処理を示すフローチャートである。 It is a flowchart showing a process of updating stage pointer information according to the present embodiment. 本実施例に係るライトバックを示すフローチャートである。 It is a flowchart illustrating a write-back according to this embodiment. 本実施例に係るライトバックの具体例を示す図である。 It is a diagram showing a specific example of the write-back according to this embodiment. 本実施例に係るライトバックの具体例を示す図である。 It is a diagram showing a specific example of the write-back according to this embodiment. 本実施例に係るステージングを示すフローチャートである。 Is a flowchart showing the staging according to the present embodiment. 本実施例に係るステージングを示すフローチャートである。 Is a flowchart showing the staging according to the present embodiment. 図20Bに示したマッチング処理(ステップS2012a)の具体的な処理を示すフローチャートである。 It is a flowchart illustrating a specific process of the matching process shown in FIG. 20B (step S2012a). 本実施例に係る逆方向のリモートコピー時にセカンダリ装置が退避用バッファを確保する処理(ステップS1908)を示すフローチャートである。 The secondary unit in the reverse of the remote copy of this embodiment is a flowchart showing the processing (step S1908) to secure the save buffer. 本実施例に係るセカンダリ装置のリード処理を示すフローチャートである。 Is a flowchart showing the read processing of the secondary unit according to the present embodiment. 本実施例に係るセカンダリ装置のライト処理の概要を示す図である。 Is a diagram showing an overview of write processing on the secondary unit according to the present embodiment. 本実施例に係るセカンダリ装置のライト処理を示すフローチャートである。 Is a flowchart showing the write processing of the secondary unit according to the present embodiment. 順序性を保証したリモートコピー機能を備えるRAID装置の従来例を示す図である。 It is a diagram showing a conventional example of a RAID apparatus having a remote copy function that ensures the ordering. 順序性を保証したリモートコピー機能を備えるRAID装置の従来例を示す図である。 It is a diagram showing a conventional example of a RAID apparatus having a remote copy function that ensures the ordering.

以下、本実施形態の一例について、図1〜図37に基づいて説明する。 Hereinafter, an example of the present embodiment will be described with reference to FIGS. 1 to 37.
図1は、本実施例に係るストレージシステム100の構成の概要を示す図である。 Figure 1 is a diagram showing an outline of a configuration of a storage system 100 according to this embodiment.
図1に示すストレージシステム100は、RAID装置110と、RAID装置110とネットワークまたは専用線160を介して通信可能に接続するRAID装置120と、を備える。 The storage system 100 shown in FIG. 1 includes a RAID device 110, the RAID device 120 communicatively connected via the RAID device 110 and a network or a dedicated line 160, a.

RAID装置110は、キャッシュメモリ等に使用されるメモリを有する制御モジュール#00〜#03と、磁気ディスク装置などの記憶装置で構成されるディスク装置117と、退避用バッファ118と、を備える分散キャッシュメモリ型のRAID装置である。 RAID device 110 includes a control module # 00 # 03 having a memory used for cache memory, a disk device 117 constituted by a storage device such as a magnetic disk apparatus, the save buffer 118, distributed cache with a it is a memory type RAID device.

制御モジュール#00〜#03は、ディスク装置117および退避用バッファ118と接続する。 The control module # 00 # 03 is connected to the disk device 117 and the save buffer 118.
例えば、制御モジュール#00は、CPU(Central Processing Unit)111aと、メモリ112aと、CA(Channel Adapter)113aと、RA(Remote Adapter)114aと、FC(Fibre Channel)115aおよび116aと、を備える。 For example, the control module # 00 includes a CPU (Central Processing Unit) 111a, a memory 112a, a CA (Channel Adapter) 113a, and RA (Remote Adapter) 114a, and FC (Fibre Channel) 115a and 116a, the.

なお、本実施例では、制御モジュール#01、#02および#03も、制御モジュール#00と同様の構成を有するものとする。 In this embodiment, the control module # 01, # 02 and # 03 are also intended to have the same configuration as the control module # 00. 制御モジュール#01は、CPU111b、メモリ112b、CA113b、RA114b、FC115bおよび116bを備える。 The control module # 01 is provided with CPU 111b, a memory 112b, CA113b, RA114b, the FC115b and 116 b. また、制御モジュール#02は、CPU111c、メモリ112c、CA113c、RA114c、FC115cおよび116cを備える。 The control module # 02 is provided with CPU 111c, the memory 112c, CA113c, RA114c, the FC115c and 116c. そして、制御モジュール#03は、CPU111d、メモリ112d、CA113d、RA114d、FC115dおよび116dを備える。 The control module # 03, comprises CPU111d, memory 112d, CA113d, RA114d, the FC115d and 116d. 以下では、代表して制御モジュール#00の構成について説明する。 Hereinafter, description will be given of a configuration of the control module # 00 representatively.

CPU111aは、所定のプログラム命令を実行して制御モジュール#00を動作させ、本実施例に係る順序性を保証したリモートコピーを実現する。 CPU111a executes a predetermined program instructions to operate the control module # 00, to realize a remote copy that guarantees the ordering according to the present embodiment.
メモリ112aは、キャッシュメモリに使用される他に、後述する記録専用バッファ201やバッファセット情報記憶部202などに使用されるメモリである。 Memory 112a is, in addition to being used in the cache memory is a memory used for such recording only buffer 201 and buffer set information storage unit 202 to be described later.

CA113aは、RAID装置110と接続するホストコンピュータであるホスト150に対するインターフェース制御部である。 CA113a is an interface controller to the host 150 is a host computer connected to the RAID device 110. また、RA114aは、ネットワークまたは専用線160を介して接続される他のRAID装置等に対するインターフェース制御部である。 Further, RA114a is an interface controller to other RAID device or the like connected via a network or a dedicated line 160.

FC115aおよび116aは、ディスク装置117や退避用バッファ118とのインターフェース制御部である。 FC115a and 116a is an interface controller of the disk device 117 or save buffer 118. 本実施例では、FC115aはディスク装置117と接続し、FC116aは退避用バッファ118と接続する。 In this embodiment, FC115a is connected to the disk device 117, FC116a is connected to the save buffer 118.

ディスク装置117および退避用バッファ118は、1または2以上の記憶装置、例えば、磁気ディスク装置などを備える記憶装置である。 Disk device 117 and the save buffer 118, one or more storage devices, for example, a memory device including magnetic disks, etc. device.
RAID装置120は、キャッシュメモリ等に使用されるメモリを有する制御モジュール#10〜#13と、磁気ディスク装置などの記憶装置で構成されるディスク装置127と、を備える分散キャッシュメモリ型のRAID装置である。 RAID device 120 includes a control module # 10 # 13 having a memory used for cache memory, a disk device 127 constituted by a storage device such as a magnetic disk device, a distributed cache memory type RAID device comprising a is there.

RAID装置120に備わる制御モジュール#10〜#13は、RAID装置110に備わる制御モジュール#00〜#03と同様の構成である。 RAID device 120 equipped control module # 10 # 13 has the same configuration as the control module # 00 # 03 provided in the RAID device 110.
ディスク装置127は、1または2以上の記憶装置、例えば、磁気ディスク装置などを備える記憶装置である。 The disk device 127, one or more storage devices, for example, a memory device including magnetic disks, etc. device. なお、必要に応じて、ディスク装置127を仮想的に実現してもよい。 If necessary, it may be realized disk device 127 virtually. この場合、仮想的に実現したディスク装置127に仮想的な記憶領域を提供するディスク装置用プールが別途必要となる。 In this case, the pool disk device that provides a virtual storage area in the disk device 127 is realized virtually is separately required. ディスク装置用プールとして、例えば、後述するThin Provisioning用PoolやSnapOPC+用Poolを使用することができる。 As a pool disk unit, for example, it can be used Thin Provisioning for Pool and SnapOPC + for Pool to be described later.

また、ディスク装置127には、必要に応じて、退避用バッファ130を含むことができる。 Further, in the disk device 127 may optionally include a save buffer 130. この場合、ディスク装置127に備わる記憶装置の一部を利用して退避用バッファ130を構築すればよい。 In this case, it may be constructed to save buffer 130 by utilizing a part of a storage device included in the disk device 127. なお、退避用バッファ130は、退避用バッファ118と同様に、ディスク装置127と独立した装置であってもよい。 Note that the save buffer 130, similar to the save buffer 118 may be an independent device and disk device 127.

以上の構成において、「データ群」として、バッファセットデータを用いることができる。 In the above configuration, as the "data group" can be used buffer set data.
また、「第1の記憶手段」は、1または2以上の磁気ディスク装置等で構成されるディスク装置117や127の一部または全部を用いて実現することができる。 Further, "first storage unit" may be realized using a part or all of the configured disk device 117 or 127 in one or more magnetic disk device or the like. 「第2の記憶手段」は、メモリ112a〜112dや122a〜122dの一部の領域を用いて実現することができる。 "Second storing means" may be realized using a part of the area of ​​the memory 112a~112d and 122a to 122d. 「データ群記憶領域」は、退避用バッファ118やディスク装置127の一部または全部を用いて実現することができる。 "Data group storage area" may be implemented using some or all of the save buffer 118 or disk device 127.

また、「受信処理手段」は、例えば、CPU111aなどがメモリ112a上などに展開されたプログラム命令を実行することにより、または、CPU121aなどがメモリ122a上などに展開されたプログラム命令を実行することにより実現することができる。 Further, "reception processing means", for example, by such CPU111a executes the program instructions that are developed in such a memory 112a, or by the like CPU121a executes the program instructions that are developed in such a memory 122a it can be realized. 「第1の記憶処理手段」、「データ群出力手段」、「データ群記憶領域確保手段」、「退避処理手段」および「第2の記憶処理手段」なども、CPU111aなどがプログラム命令を実行することにより実現することができる。 "First storage processing unit", "data group output means", "data group storage area allocation unit", also like "save processing means" and the "second storage processing unit", etc. CPU111a executes program instructions it can be realized by.

なお、図1では、RAID装置110および120が4つの制御モジュールを備える場合について示しているが、これに限定する趣旨ではない。 Although FIG. 1 shows the case where RAID device 110 and 120 comprises four control modules, it is not intended to limit thereto. RAID装置110および120は、分散キャッシュメモリ型のRAID装置であればよい。 RAID device 110 and 120 may be a distributed cache memory type RAID device. CPU、CA、RAおよびDAの数についても、図1に示す数に限定する趣旨ではない。 CPU, CA, for the number of RA and DA, it is not intended to limit the number shown in FIG.

以下の説明では、RAID装置110を「プライマリ装置110」といい、RAID装置120を「セカンダリ装置120」という。 In the following description, the RAID device 110 is referred to as a "primary unit 110", the RAID device 120 referred to as "secondary unit 120".
図2は、本実施例に係る制御モジュールが備えるメモリ200、例えば、図1に示したRAID装置110の制御モジュール#00に備わるメモリ112aの構成例を示す図である。 2, the memory 200 provided in the control module according to the present embodiment, for example, is a diagram illustrating a configuration example of a memory 112a provided in the control module # 00 of the RAID device 110 shown in FIG.

なお、RAID装置110の各制御モジュール#01〜#03に備わるメモリ112b、112cおよび112d、RAID装置120の各制御モジュール#10〜#13に備わるメモリ122a、122b、122cおよび122dも、図2と同様の構成でよい。 The memory 112b provided in the control module # 01 # 03 of the RAID device 110, 112c and 112d, a memory 122a provided in the control module # 10 # 13 of the RAID device 120, 122b, 122c and 122d also to FIG. 2 it may be the same configuration.

図2に示すメモリ200は、記録専用バッファ201と、バッファセット情報記憶部202と、を備える。 Memory 200 shown in FIG. 2 includes a recording-only buffer 201, a buffer set information storage unit 202, a. また、メモリ200は、バッファ管理テーブル記憶部203と、バッファセット管理テーブル記憶部204と、退避用バッファ管理テーブル記憶部205と、未使用バッファID記憶部206と、を備える。 Further, the memory 200 includes a buffer management table storage unit 203, a buffer set management table storage unit 204, the save buffer management table storage unit 205, an unused buffer ID storage unit 206, a. さらに、メモリ200は、ディスク装置管理テーブル記憶部207と、ディスク装置ビットマップ記憶部208と、退避用バッファビットマップ記憶部209と、更新履歴情報記憶部210と、を備える。 Further, the memory 200 includes a disk device management table storage unit 207, a disk device bit map storage unit 208, the save buffer bit map storage unit 209, and the update history information storage unit 210, a.

記録専用バッファ201は、バッファ201aとBIT記憶部201bとを備える。 Recording only buffer 201 includes a buffer 201a and BIT storage unit 201b.
バッファ201aは、ディスク装置117などに記憶するもしくは記憶したデータ、例えば後述するWriteデータなどを一時的に記憶する。 Buffer 201a temporarily stores the or storage storing such in the disk device 117 data, for example, and will be described later Write data. 本実施例に係るバッファ201aは、一定のサイズを有する8つの領域に区分されている。 Buffer 201a according to this embodiment is divided into eight regions having a constant size. この区分された領域毎に固有の識別情報が割り当てられる。 It is assigned a unique identification information for each the region segmented. なお、本実施例ではバッファ201aが8つの領域に区分される場合を例に説明するが、バッファ201aが8つの領域に区分される構成に限定する趣旨でないのは当然である。 While this embodiment describes a case where the buffer 201a is divided into eight regions as an example, not meant to be limited to the configuration buffer 201a is divided into eight regions is naturally.

以下、この区分された領域を「個別バッファ」という。 Below, the indicator area referred to as "the individual buffer". また、個別バッファに割り当てられる識別情報を「バッファID」という。 Further, the identification information assigned to the individual buffer called "buffer ID". そして、個別バッファに記憶されたデータを「バッファデータ」という。 Then, the data stored in the individual buffers of "buffer data".

例えば、図2のバッファ201a内に記載の(0000)、(0001)、(0002)、・・・に関し、括弧内の数字0000、0001、0002、・・・は、個別バッファ毎に割当てられたバッファIDを示す。 For example, (0000) according to the buffer 201a of FIG. 2, (0001), (0002), relates ..., the numbers in parentheses 0000,0001,0002, ... is assigned to each individual buffer It shows the buffer ID. 括弧付きの数字(0000)、(0001)、(0002)、・・・は、それぞれ括弧内のバッファIDが示す個別バッファに記憶されたバッファデータを意味している。 Parenthesized numbers (0000), (0001), (0002), ... it means a buffer data stored in the individual buffers each indicating a buffer ID in parentheses.

BIT記憶部201bは、バッファ201a内の個別バッファに記憶されているバッファデータが展開されているLU(Logical Unit)やLBA(Logical Block Address)、データサイズ、コピーセッションの番号などを含むBITを記憶する。 BIT storage unit 201b includes individual buffer buffers data stored is developed in the LU (Logical Unit) or LBA (Logical Block Address) in the buffer 201a, data size, stores the BIT, including number of copy session to.

BIT記憶部201bに記載の0000、0001、0002、・・・はバッファ201a内の各個別バッファに割当てられたバッファIDを示している。 0000,0001,0002 according to BIT storage unit 201b, · · · represents the buffer ID assigned to each individual buffer in the buffer 201a. 例えば、BIT記憶部201b内の0000は、バッファIDが0000の個別バッファに記憶されているバッファデータが展開されているLUやLBA、データサイズ、コピーセッションの番号などを含むBITを記憶している。 For example, 0000 in the BIT storage unit 201b stores a BIT including LU and LBA buffer data buffer ID is stored in a separate buffer 0000 is deployed, data size, the number, etc. of the copy session .

バッファセット情報記憶部202は、同一RAID装置内の各制御モジュールの個別バッファの組み合わせであるバッファセットを示す識別情報、すなわち、後述するバッファセットIDを記憶する。 Buffer set information storage unit 202, identification information indicating the buffer set is a combination of individual buffers of the control modules in the same RAID device, i.e., storing the buffer set ID to be described later.

以下、バッファセットに関する情報を「バッファセット情報」という。 Hereinafter, the information about the buffer set called "buffer set information". さらに、バッファセットに記憶されるバッファデータを総じて「バッファセットデータ」という。 Furthermore, the buffer data stored in the buffer set collectively referred to as "buffer set data".
本実施例では、各制御モジュールのバッファ201aに8個の個別バッファが備わっているので、バッファセットも8個となる。 In this embodiment, since eight individual buffers in a buffer 201a of the control module is provided, buffer set also becomes eight. 説明を簡単にするために、バッファセットIDは、後述するマスタ制御モジュールの個別バッファのバッファIDと同一であるとする。 For ease of explanation, the buffer set ID is assumed to be identical to the buffer ID of the individual buffers of the master control module, which will be described later.

バッファセット情報には、RAID装置間でリモートコピーを行なう場合の、プライマリ装置110に実装されている制御モジュールに備わる個別バッファと、セカンダリ装置120に実装されている制御モジュールに備わる個別バッファとを関連付ける情報も含まれる。 The buffer set information, associates the case of performing remote copying between RAID device, and individual buffer provided in the control module mounted on the primary unit 110, and an individual buffer provided in the control module mounted on the secondary device 120 information is also included. この関連付ける情報をバッファセット情報に含める処理を「マッチング処理」という。 The process of including the associated information in the buffer set information "matching process".

以下、プライマリ装置110からセカンダリ装置120へのリモートコピーの場合、プライマリ装置110に実装されている制御モジュールに備わる個別バッファのバッファIDを、「コピー元ID」という。 Hereinafter, if the primary unit 110 of the remote copy to the secondary device 120, the buffer ID of the individual buffer provided in the control module mounted on the primary device 110, referred to as "copy source ID". そして、セカンダリ装置120に実装されている制御モジュールに備わる個別バッファのバッファIDを、「コピー先ID」という。 Then, the buffer ID of the individual buffer provided in the control module mounted on the secondary device 120, referred to as "copy destination ID".

セカンダリ装置120からプライマリ装置110へのリモートコピーの場合、セカンダリ装置120に実装されている制御モジュールに備わる個別バッファのバッファIDが、「コピー元ID」となる。 From the secondary unit 120 of the remote copy to the primary device 110, the buffer ID of the individual buffer provided in the control module mounted on the secondary device 120, a "copy source ID". そして、プライマリ装置110に実装されている制御モジュールに備わる個別バッファのバッファIDが、「コピー先ID」となる。 The buffer ID of the individual buffer provided in the control module mounted on the primary unit 110 becomes the "copy destination ID".

例えば、RAID装置110は、分散キャッシュメモリ型のRAID装置なので、Writeデータ等のデータを、各制御モジュールの個別バッファ、図2の例ではバッファIDが0000、0100、0200および0300の個別バッファに分散して記憶する。 For example, RAID device 110, since the distributed cache memory type RAID device, distributing data, such as Write Data, the individual buffers, individual buffer buffer ID is 0000,0100,0200 and 0300 in the example of FIG. 2 of the control module to and stored.

この場合、バッファセット情報記憶部202には、バッファIDが0000、0100、0200および0300の個別バッファを含むバッファセットを表すバッファセット情報が記憶される。 In this case, the buffer set information storage unit 202, a buffer set information representing the buffer set including individual buffers of the buffer ID is 0000,0100,0200 and 0300 are stored.

そして、バッファセット情報には、例えば、コピー元IDとコピー先IDが、それぞれ0000と1000、0100と1100、0200と1200、0300と1300であるという組み合わせ情報が含まれる。 Then, the buffer set information, for example, the copy source ID and destination ID are respectively combinations information that it is 0000 and 1000,0100 and 1100,0200 and 1200,0300 and 1300.

なお、バッファセット情報記憶部202に示すバッファID0000、0100、0200および0300は、それぞれプライマリ装置110に実装されている制御モジュール#00、#01、#02および#03に備わる個別バッファの例示である。 The buffer ID0000,0100,0200 and 0300 shown in the buffer set information storage unit 202 and receives the control module is mounted on the primary unit 110 # 00, # 01 are illustrative of individual buffer included in the # 02 and # 03 . 同様に、バッファセット情報記憶部202に示すバッファID1000、1100、1200および1300は、それぞれセカンダリ装置120に実装されている制御モジュール#10、#11、#12および#13に備わる個別バッファの例示である。 Similarly, the buffer ID1000,1100,1200 and 1300 shown in the buffer set information storage unit 202, the control module # 10 that is mounted to the secondary device 120 respectively, # 11, illustration of the individual buffers included in the # 12 and # 13 is there.

本実施例に係るリモートコピーは、バッファセット単位で行なわれる。 Remote copy of this embodiment is performed in the buffer set basis. バッファセット単位のコピー対象データには、記録専用バッファ201に記憶されているBITおよびバッファデータと、バッファセット情報記憶部202に記憶されているバッファセット情報と、が含まれる。 The copy target data buffer set unit includes a BIT and buffer data stored in the write-only buffer 201, a buffer set information stored in the buffer set information storage unit 202, is.

本実施例では、バッファセット単位のコピー対象データを、1つの「世代」として管理する。 In this embodiment, the copied data in the buffer set basis, is managed as a single "generation". 世代の具体例は、図16に示される。 Specific examples of the generation is shown in Figure 16.
バッファ管理テーブル記憶部203は、記録専用バッファ201等の管理に使用するバッファ管理テーブル300(図3図示)を記憶する。 Buffer management table storage unit 203 stores the buffer management table 300 (FIG. 3 shown) to be used for management of the write-only buffer 201. バッファ管理テーブル300については後述する。 It will be described later buffer management table 300.

バッファセット管理テーブル記憶部204は、バッファセットの使用状態の管理に使用するバッファセット管理テーブル400(図4図示)を記憶する。 Buffer set management table storage unit 204 stores the buffer set management table 400 used to manage the use state of the buffer set (Fig. 4 shown). バッファセット管理テーブル400については後述する。 It will be described later buffer set management table 400.

退避用バッファ管理テーブル記憶部205は、退避用バッファ118の管理に使用する退避用バッファ管理テーブル500(図5図示)を記憶する。 Save buffer management table storage unit 205 stores the save buffer management table 500 (FIG. 5 shown) used to manage the save buffer 118. 退避用バッファ管理テーブル500については後述する。 It will be described later save buffer management table 500.

未使用バッファID記憶部206は、コピー先、例えば、プライマリ装置110からセカンダリ装置120にリモートコピーを行なう場合にはセカンダリ装置120に備わる未使用の個別バッファのバッファIDを記憶する。 Unused buffer ID storage unit 206, the destination, for example, to store the buffer ID of the unused individual buffer included in the secondary device 120 in the case of performing remote copying from the primary device 110 to the secondary device 120. 以下、未使用の個別バッファのバッファIDを「未使用バッファID」という。 Below, the buffer ID of the individual buffer of unused called "unused buffer ID". 例えば、プライマリ装置110からセカンダリ装置120にリモートコピーを行なう場合、プライマリ装置110は、セカンダリ装置120から未使用バッファIDの通知を受けると、通知された未使用バッファIDを未使用バッファID記憶部206に記憶する。 For example, when performing remote copy from the primary device 110 to the secondary device 120, the primary unit 110 is notified of the unused buffer ID from the secondary device 120, unused unused buffer ID notified buffer ID storage unit 206 and stores it in.

ディスク装置管理テーブル記憶部207は、自装置のディスク装置117または127に備わる各記憶装置の使用状況の管理に使用するディスク装置管理テーブル600(図6図示)を記憶する。 The disk device management table storage unit 207 stores the disk device management table 600 used to manage the use status of each storage device included in the disk device 117 or 127 of its own device (Fig. 6 shown). ディスク装置117または127を仮想的に実現する場合、ディスク装置管理テーブル記憶部207は、SnapOPC(One Point Copy)+用Pool管理テーブル800(図8図示)やThin Provisioning用Pool管理テーブル1000(図10図示)などを記憶する。 When realizing the disk device 117 or 127 virtually, the disk device management table storage unit 207, SnapOPC (One Point Copy) + for Pool management table 800 (Fig. 8 shown) and Thin Provisioning for Pool management table 1000 (FIG. 10 shown) is stored, and the like. ディスク装置管理テーブル600、SnapOPC+用Pool管理テーブル800およびThin Provisioning用Pool管理テーブル1000については後述する。 Will be described later disk device management table 600, SnapOPC + for Pool management table 800 and Thin Provisioning for Pool management table 1000.

ディスク装置ビットマップ記憶部208は、自装置のディスク装置117または127に備わる記憶領域の使用状況の管理に使用するディスク装置ビットマップ1100(図11図示)を記憶する。 Disk device bit map storage unit 208 stores the disk device bitmap 1100 (FIG. 11 shown) used to manage usage of the storage area included in the disk device 117 or 127 of its own device. ディスク装置ビットマップ1100については後述する。 Will be described later disk device bitmap 1100.

退避用バッファビットマップ記憶部209は、退避用バッファ118やディスク装置127に確保される退避用バッファ130に備わる記憶領域の使用状況の管理に使用する退避用バッファビットマップ1200(図12図示)を記憶する。 Save buffer bitmap storage unit 209, the save buffer bitmap 1200 to be used to manage the usage of the storage area included in the save buffer 130 secured in the save buffer 118 and the disk device 127 (FIG. 12 shown) Remember. 退避用バッファビットマップ1200については後述する。 It will be described later save buffer bitmap 1200.

更新履歴情報記憶部210は、自装置のディスク装置117または127に備わる記憶領域に記憶されるデータの更新履歴情報1300(図13図示)を記憶する。 Update history information storage unit 210 stores the disk device 117 or data stored in a storage area provided in 127 update history information 1300 of the self-device (FIG. 13 shown). 更新履歴情報1300については後述する。 It will be described later update history information 1300.

以上の構成において、プライマリ装置110からセカンダリ装置120にリモートコピーを行なう場合を考える。 In the above configuration, consider the case of performing remote copying from the primary device 110 to the secondary device 120. この場合、プライマリ装置110は、Writeデータの記録専用バッファ201への格納やWriteデータのセカンダリ装置120への転送などを、バッファセット単位で一括して行なう。 In this case, the primary unit 110, and transfers to the secondary device 120 stores a Write data to the recording only buffer 201 of the Write data, performed collectively in the buffer set basis. そして、セカンダリ装置120は、プライマリ装置110から転送されたWriteデータをディスク装置127に展開する処理などを、バッファセット単位で一括して行う。 The secondary unit 120 performs Write data transferred from the primary unit 110 and processing to expand the disk device 127, collectively in the buffer set basis. その結果、順序性を保証したリモートコピーが実現される。 As a result, the remote copy that guarantees the ordering is achieved.

なお、バッファセットを用いて順序性を保証するリモートコピーは公知の技術であり、例えば、特開2006−260292号公報などに開示されている。 Incidentally, the remote copy to guarantee the order of using the buffer set is a known technique, for example, are disclosed in, JP 2006-260292. また、SnapOPC+については、例えば、特開2009−146228号公報などに開示されている公知の技術である。 As for SnapOPC + is, for example, is a known technique that is disclosed in, JP 2009-146228. 同様に、Thin Provisioningも公知の技術である。 Similarly, Thin Provisioning is also a known technique.

図3は、本実施例に係るバッファ管理テーブル300の構成例を示す図である。 Figure 3 is a diagram showing a configuration example of a buffer management table 300 according to the present embodiment.
バッファ管理テーブル300は、対象バッファセットIDと、ライトバックポインタ情報と、ステージポインタ情報と、バッファ閾値と、を対応付けて記憶する。 Buffer management table 300, the target buffer set ID, a write-back pointer information, and the stage pointer information, in association with the buffer threshold, the.

対象バッファセットIDは、現在使用しているバッファセットのバッファセットIDを示す情報である。 Target buffer set ID is information indicating a buffer set ID buffer set currently in use. ライトバックポインタ情報は、図29に示すライトバックの対象となる世代を示す情報である。 Writeback pointer information indicates a generation to be write-back shown in FIG. 29. ステージポインタ情報は、図32Aおよび図32Bに示すステージングが行なわれた世代を示す情報である。 Stage pointer information is information indicating the generation staging shown in FIGS. 32A and 32B were made. バッファ閾値は、後述のライトバックを実行するか否かを判断する基準として使用する情報である。 Buffer threshold is information to be used as criteria for determining whether to perform a write-back will be described later.

図4は、本実施例に係るバッファセット管理テーブル400の構成例を示す図である。 Figure 4 is a diagram illustrating a configuration example of a buffer set management table 400 according to the present embodiment.
バッファセット管理テーブル400は、バッファセットIDと、使用目的と、対象世代と、格納I/O数と、を対応付けて記憶する。 Buffer set management table 400 includes a buffer set ID, the intended use, the target generation, a storage I / O count, in association with each other.

使用目的は、バッファセットIDが示すバッファセット毎にあらかじめ設定される、バッファセットの使用目的を示す情報である。 Purpose is set in advance for each buffer set indicated by the buffer set ID, which is information indicating the intended use of the buffer set. 例えば、バッファセットを、ステージングに使用する場合には「ステージング」が設定され、ライトバックに使用する場合には「ライトバック」が設定される。 For example, a buffer set, when used for staging is set to "Staging", when used in write-back "writeback" is set. また、Writeデータのコピーデータを単にバッファセットに記憶する場合には「記憶」が設定され、バッファセットに記憶されたコピーデータをセカンダリ装置120に転送する場合には「転送」が設定される。 Also, when simply stored in the buffer set copies data of Write data is set to "memory", in the case of transferring a copy data stored in the buffer set to the secondary unit 120 "transfer" is set.

対象世代は、使用目的に設定された処理を行なう対象の世代である。 Targeted generation are subject to the generation of performing processing set to the intended use. 格納I/O数は、バッファセットに記憶されているI/Oの数である。 Storing I / O number is the number of I / O stored in the buffer set. 対象世代および格納I/O数は、例えば、Writeデータをバッファセットに記憶する毎に、プライマリ装置110によって更新される。 Targeted generation and storage I / O count, for example, each for storing the Write data into the buffer set is updated by the primary device 110.

なお、図4に示す「−」は、未使用を設定する場合の例を示している。 Incidentally, FIG. 4 "-" indicates an example of a case of setting the unused.
図5は、本実施例に係る退避用バッファ管理テーブル500の構成例を示す図である。 Figure 5 is a diagram showing a configuration example of the save buffer management table 500 according to the present embodiment.
退避用バッファ管理テーブル500は、退避用バッファ118に記憶可能なコピー対象データの最大世代数と、退避用バッファ118内の記憶領域であって制御モジュール毎に割り当てられた記憶領域の先頭アドレスを定義した退避位置と、を対応付けて記憶する。 Save buffer management table 500 defines the maximum number of generations of copies the target data that can be stored in the save buffer 118, the start address of the storage area is a storage area assigned to each control module within the save buffer 118 a retracted position, in association with each other.

最大世代数は、退避用バッファ118の初期化時などに決定される。 Maximum number of generations is determined, such as during initialization of the save buffer 118.
以下、退避用バッファ118内に制御モジュール毎に割り当てられた記憶領域であって1世代分の記憶領域を「個別退避用バッファ」という。 Hereinafter, a storage area assigned to each control module within the save buffer 118 1 to generations of storage area called "individual save buffer". 例えば、図14に記載されているLU#0において、3つに分けられた記憶領域それぞれが個別退避用バッファである。 For example, the LU # 0 that is described in Figure 14, is an individual save buffer each storage area which is divided into three.

図6は、本実施例に係るディスク装置管理テーブル600の構成例を示す図である。 Figure 6 is a diagram showing an example of a structure of a disk device management table 600 according to the present embodiment.
ディスク装置管理テーブル600は、装置番号と、装置番号が示す記憶装置の状態情報と、を対応付けて記憶する。 Disk device management table 600 stores in association with device numbers, and a status information of the storage device indicated by the device ID.

装置番号は、ディスク装置117やディスク装置127に備わる記憶装置に割当てられる識別番号である。 Device number is an identification number assigned to the storage device included in the disk device 117 or disk device 127. また、状態情報は、装置番号が示す記憶装置が使用されているか否かを示す情報である。 The state information is information indicating whether the storage device is used to indicate a device number. 装置番号が示す記憶装置が使用中の場合には状態情報に「使用」と設定され、記憶装置が使用していない場合には状態情報に「未使用」と設定される。 Storage device unit number is indicated is set to "use" in the state information when in use, is set as "Unused" in the state information if the storage device is not used.

ここで、例えば、図7に示すように、ディスク装置127を仮想化してSnapOPC+を実現する場合を考える。 Here, for example, as shown in FIG. 7, consider a case of realizing the SnapOPC + a disk device 127 and virtualization.
図7には、プライマリ装置110に備わるディスク装置117、セカンダリ装置120に備わる仮想化されたディスク装置127およびSnapOPC+用Pool128のみを簡略化して記載している。 7, the disk device 117 provided in the primary unit 110, and only the disk unit 127 and SnapOPC + for Pool128 virtualized included in the secondary device 120 described simplified.

仮想化されたディスク装置127は、例えば、曜日毎に、ディスク装置127a、127b、127c、・・・および127eを備える。 Disk device 127 that is virtualized includes, for example, for each day of the week, the disk device 127a, 127b, 127c, and ..., and 127e. そして、例えば、月曜日にプライマリ装置110から送られるデータは、仮想化されたディスク装置127aに格納され、火曜日にプライマリ装置110から送られるデータは、ディスク装置127bに格納される。 Then, for example, data sent from the primary unit 110 on Monday, stored in the disk device 127a virtualized, data sent from the primary unit 110 on Tuesday is stored in the disk device 127b. 同様に、金曜日にプライマリ装置110から送られるデータは、ディスク装置127eに格納される。 Similarly, data sent from the primary unit 110 on Friday is stored in the disk device 127e.

SnapOPC+用Pool128は、1または2以上の記憶装置、例えば、磁気ディスク装置などを備える記憶装置である。 SnapOPC + for Pool128 is one or more storage devices, for example, a memory device including magnetic disks, etc. device. SnapOPC+用Pool128の記憶領域は、必要に応じて、仮想ディスク装置127に設定されたディスク装置127a、127b、127c、・・・および127eにブロック単位で割当てられる。 Storage area of ​​SnapOPC + for Pool128, if necessary, the disk device 127a which is set in the virtual disk device 127, 127b, 127c, assigned in blocks to ..., and 127e. SnapOPC+用Pool128の記憶領域は、図8に示すSnapOPC+用Pool管理テーブル800によって管理される。 Storage area of ​​SnapOPC + for Pool128 is managed by SnapOPC + for Pool management table 800 shown in FIG.

図8は、本実施例に係るSnapOPC+用Pool管理テーブル800の構成例を示す図である。 Figure 8 is a diagram showing a configuration example of SnapOPC + for Pool management table 800 according to the present embodiment.
SnapOPC+用Pool管理テーブル800は、割当て先と、Pool領域数と、論理アドレスと、物理アドレスと、を対応付けて記憶する。 SnapOPC + for Pool management table 800, and assignees, the Pool area number, in association with a logical address, a physical address, the.

割当て先は、SnapOPC+用Pool128の記憶領域の割当て先を示す情報であり、例えば、図7に示した月曜日用のディスク装置127a、火曜日用のディスク装置127b、水曜日用のディスク装置127cなどである。 Assignees is information indicating the allocation destination of the storage area of ​​SnapOPC + for Pool128, for example, a disk device 127a for Monday shown in FIG. 7, the disk device 127b for Tuesday, etc. disk unit 127c for shipping. 一部の記憶領域を退避用バッファとして使用する場合、割当て先に退避用バッファが登録される。 When using part of a storage area as a save buffer, save buffer to the allocation destination is registered.

Pool領域数は、割当てに使用したSnapOPC+用Pool128の記憶領域の数である。 Pool number of regions is the number of storage areas of SnapOPC + for Pool128 used for allocation.
論理アドレスは、割当てに使用したSnapOPC+用Pool128の記憶領域の割当て先の論理アドレスである。 Logical address is the logical address of the assignee of the storage area of ​​SnapOPC + for Pool128 used for allocation.

物理アドレスは、割当てに使用したSnapOPC+用Pool128の記憶領域のSnapOPC+用Pool128における物理アドレスである。 Physical address is a physical address in SnapOPC + for Pool128 storage area SnapOPC + for Pool128 used for allocation.
ここで、例えば、図9に示すように、ディスク装置127を仮想化してThin Provisioningを実現した場合を考える。 Here, for example, as shown in FIG. 9, a case of realizing the Thin Provisioning disk device 127 and virtualization.

図9には、プライマリ装置110に備わるディスク装置117、セカンダリ装置120に備わる仮想化されたディスク装置127およびThin Provisioning用Pool129のみを簡略化して記載している。 9 shows, the disk device 117 provided in the primary unit 110, and only the disk unit 127 and the Thin Provisioning for Pool129 virtualized included in the secondary device 120 described simplified.

仮想化されたディスク装置127は、各記憶領域に、必要に応じて、Thin Provisioning用Pool129の記憶領域が割当てられている。 Disk device 127 is virtualized, in each storage area, if necessary, the storage area of ​​the Thin Provisioning for Pool129 is assigned.
Thin Provisioning用Pool129は、1または2以上の記憶装置、例えば、磁気ディスク装置などを備える記憶装置である。 Thin Provisioning for Pool129 is one or more storage devices, for example, a memory device including magnetic disks, etc. device. Thin Provisioning用Pool129の記憶領域は、必要に応じて、仮想化されたディスク装置127にブロック単位で割当てられる。 Storage area of ​​the Thin Provisioning for Pool129 is optionally assigned in blocks in the disk device 127 is virtualized. Thin Provisioning用Pool129の記憶領域は、図10に示すThin Provisioning用Pool管理テーブル1000によって管理される。 Storage area of ​​the Thin Provisioning for Pool129 is managed by the Thin Provisioning for Pool management table 1000 shown in FIG. 10.

図10は、本実施例に係るThin Provisioning用Pool管理テーブル1000の構成例を示す図である。 Figure 10 is a diagram showing a configuration example of a Thin Provisioning for Pool management table 1000 according to the present embodiment.
Thin Provisioning用Pool管理テーブル1000は、割当て先と、Pool番号と、Pool領域数と、論理アドレスと、物理アドレスと、を対応付けて記憶する。 Thin Provisioning for Pool management table 1000, and assigned destination, the Pool ID, and Pool area number, in association with a logical address, a physical address, the.

割当て先は、Thin Provisioning用Pool129の記憶領域の割当て先のボリュームである。 Assignees are assigned destination volume of the storage area of ​​the Thin Provisioning for Pool129. Thin Provisioning用Pool129の一部の記憶領域を退避用バッファとして使用する場合、割当て先に退避用バッファが登録される。 When using part of the storage area of ​​the Thin Provisioning for Pool129 as save buffer, save buffer to the allocation destination is registered.

Pool番号は、Thin Provisioning用Pool129に備わる複数のボリュームのうち、割当てに使用するボリュームの番号である。 Pool numbers, among the plurality of volume provided for Thin Provisioning for Pool129, a number of the volume to be used for allocation.
Pool領域数は、割当てに使用したThin Provisioning用Pool129の記憶領域の数である。 Pool number of regions is the number of storage areas of the Thin Provisioning for Pool129 used for allocation.

論理アドレスは、割当てに使用したThin Provisioning用Pool129の記憶領域の割当て先の論理アドレスである。 Logical address is the logical address of the assignee of the storage area of ​​the Thin Provisioning for Pool129 used for allocation.
物理アドレスは、割当てに使用したThin Provisioning用Pool129における物理アドレスである。 Physical address is a physical address in Thin Provisioning for Pool129 used for allocation.

図11は、本実施例に係るディスク装置ビットマップ1100の構成例を示す図である。 Figure 11 is a diagram showing an example of a structure of a disk device bitmap 1100 according to this embodiment.
ディスク装置ビットマップ1100は、ディスク装置117やディスク装置127に含まれるRAID毎に、論理アドレスと、論理アドレスが示す1ブロックの記憶領域の状態情報と、を対応付けて記憶する。 Disk device bit map 1100, for each RAID included in the disk device 117 or disk device 127, the logical address, in association with, and state information of the storage area for one block indicated by the logical address.

状態情報とは、論理アドレスが示す記憶領域の使用状態を示す情報である。 The state information is information indicating the use state of the storage area indicated by the logical address. 論理アドレスが示す記憶領域が使用中の場合には状態情報に「使用」と設定され、未使用の場合には状態情報に「未使用」と設定される。 It is set to "use" in the state information when the storage area indicated by the logical address is in use, is set as "Unused" into the state information when unused.

図12は、本実施例に係る退避用バッファビットマップ1200の構成例を示す図である。 Figure 12 is a diagram showing a configuration example of the save buffer bitmap 1200 according to this embodiment.
退避用バッファビットマップ1200は、退避用バッファ118に含まれるRAID毎に、論理アドレスと、論理アドレスが示す1ブロックの記憶領域の状態情報と、を対応付けて記憶する。 Save buffer bitmap 1200, each RAID included in the save buffer 118, the logical address, in association with, and state information of the storage area for one block indicated by the logical address.

状態情報とは、論理アドレスが示す記憶領域の使用状態を示す情報である。 The state information is information indicating the use state of the storage area indicated by the logical address. 論理アドレスが示す記憶領域が使用中の場合には状態情報に「使用」と設定され、未使用の場合には状態情報に「未使用」と設定される。 It is set to "use" in the state information when the storage area indicated by the logical address is in use, is set as "Unused" into the state information when unused.

SnapOPC+用Pool128やThin Provisioning用Pool129の一部の記憶領域を退避用バッファとして使用する場合も、退避用バッファビットマップ1200を使用することができる。 A part of the storage area of ​​the SnapOPC + for Pool128 and Thin Provisioning for Pool129 even when used as the save buffer can be used save buffer bitmap 1200.

図13は、本実施例に係る更新履歴情報1300の構成例を示す図である。 Figure 13 is a diagram showing a configuration example of the update history information 1300 according to the present embodiment.
更新履歴情報1300は、コピー範囲と、時刻と、バックアップ状況と、を備える。 Update history information 1300 is provided with a copy range, and time, and the backup situation, the.
コピー範囲は、実行されたリモートコピーの範囲である。 Copy range is a range of the remote copy executed. また、時刻は、リモートコピーが実行された時刻である。 The time is the time at which the remote copy is executed.

バックアップ状況は、リモートコピーにより、プライマリ装置110のディスク装置117とセカンダリ装置120のディスク装置127とに同じデータが展開されているか否かを示す情報である。 Backup situation, the remote copy, the same data in the disk device 127 of the disk device 117 and the secondary device 120 in the primary unit 110 is information indicating whether it is deployed.

例えば、リモートコピーにより、プライマリ装置110のディスク装置117とセカンダリ装置120のディスク装置127とに同じデータが展開されている場合、バックアップ状況に「済」が設定される。 For example, the remote copy, when the same data in the disk device 127 of the disk device 117 and the secondary device 120 of the primary device 110 is deployed, "done" is set to the backup status. また、リモートコピーを未実行、または、リモートコピーにより、プライマリ装置110のディスク装置117とセカンダリ装置120のディスク装置127とに同じデータが展開されていない場合などは、バックアップ状況に「未」が設定される。 Further, unexecuted remote copy, or set by a remote copy, such as when the same data in the disk device 127 of the disk device 117 and the secondary device 120 of the primary unit 110 is not expanded, is "not" to the backup status It is.

図14および図15は、本実施例に係る退避用バッファ118の構成例を示す図である。 14 and 15 are diagrams showing a configuration example of the save buffer 118 according to the present embodiment.
なお、図14および図15には、退避用バッファ118の構成例を示すが、退避用バッファ130の場合も同様の構成とすることができる。 Incidentally, in FIGS. 14 and 15 shows a configuration example of a save buffer 118, in the case of the save buffer 130 may have the same configuration. この場合、退避用バッファ130は、退避用バッファ127の一部または全部の記憶装置を用いて実現できる。 In this case, the save buffer 130 may be implemented using a storage device of some or all of the save buffer 127. また、図14および図15には、制御モジュール#00〜#03を、記録専用バッファ201のバッファ201aのみを示す簡略化した模式図で示しているが、図14および図15に示す構成に限定する趣旨ではない。 Further, in FIGS. 14 and 15, the control module # 00 # 03, is shown in schematic view only simplified showing the buffer 201a of the write-only buffer 201, limited to the configuration shown in FIGS. 14 and 15 it is not intended to.

図14および図15では、制御モジュール#00〜#03をまたぐ点線は、1世代分のバッファセットを示している。 14 and 15, the dotted line across the control module # 00 # 03 shows a buffer set of one generation.
図14は、退避用バッファ118を1つのRAIDで構成する場合の構成例を示す図である。 Figure 14 is a diagram showing a configuration example of a case constituting the save buffer 118 in one RAID.

図14に示す退避用バッファ118として用いられるRAIDグループ1400は、論理ユニットLU#0〜LU#Fを有する。 RAID group 1400 to be used as the save buffer 118 shown in FIG. 14 has a logic unit LU # 0~LU # F. また、横長に点線で囲まれたLU#0−LU#3と、LU#4−LU#7と、LU#8−LU#Bと、LU#C−LU#Fと、がそれぞれ1つのボリュームグループを構成する。 Further, the LU # 0-LU # 3 surrounded by a dotted line to landscape, the LU # 4-LU # 7, and LU # 8-LU # B, the LU # C-LU # F, but one each volume make up the group.

RAIDグループ1400は、ボリュームグループ単位で使用される。 RAID group 1400 is used in the volume group. また、制御モジュール毎に、記録専用バッファに対するボリュームグループが割り当てられている。 Further, each control module, the volume group is assigned for the write-only buffer.
例えば、図14に示すRAIDグループ1400では、制御モジュール#00の記録専用バッファに、論理ユニットLU#0、#4、#8および#Cが割り当てられている。 For example, the RAID group 1400 illustrated in FIG. 14, the write-only buffer control module # 00, the logical unit LU # 0, # 4, # 8 and #C are allocated. また、制御モジュール#01の記録専用バッファに、論理ユニットLU#1、#5、#9および#Dが割り当てられている。 Furthermore, the write-only buffer control module # 01, the logical unit LU # 1, # 5, # 9 and #D are assigned.

同様に、制御モジュール#02の記録専用バッファに、論理ユニットLU#2、#6、#Aおよび#Eが割り当てられている。 Similarly, the write-only buffer control module # 02, the logical unit LU # 2, # 6, # A and #E are assigned. そして、制御モジュール#03の記録専用バッファに、論理ユニットLU#3、#7、#Bおよび#Fが割り当てられている。 Then, the write-only buffer control module # 03, the logical unit LU # 3, # 7, # B and #F are assigned.

ボリュームグループを構成する論理ユニットの数が実装制御モジュールの数を上回る場合は、1つの制御モジュールに対して複数の論理ユニットを割り当ててもよい。 If the number of logical units that constitute the volume group exceeds the number of mounting the control module may be assigned a plurality of logical units to one control module. また、各ボリュームグループを構成する論理ユニットは、図16で示すように、バッファデータを記憶する個別バッファ単位で、BITおよびバッファセット情報が含まれるサイズで分割されている。 The logic unit constituting each volume group, as shown in Figure 16, with individual buffer unit for storing buffer data, is divided by the size include BIT and buffer set information. この分割された領域が前述の「個別退避用バッファ」である。 The divided region is "individual save buffer" above.

各制御モジュールの個別バッファに記憶されているバッファデータは、例えば、図14に示される矢印が示すように、各制御モジュールに割り当てられたボリュームグループの個別退避用バッファに世代順に記憶される。 Buffer data that is stored in a separate buffer for each control module, for example, as indicated by the arrows shown in FIG. 14, is stored in the generation order of the individual save buffer of the allocated volume group to the control module.

図15は、本実施例に係る退避用バッファ118を2つのRAIDグループで構成する場合の構成例を示す図である。 Figure 15 is a diagram showing a configuration example of a case constituting the save buffer 118 according to this embodiment in two RAID groups.
図15に示す退避用バッファ118として用いられるRAIDグループ1500は、論理ユニットLU#0〜LU#Fを備えるRAIDグループ1501と、論理ユニットLU#10〜LU#1Fを備えるRAIDグループ1502と、で構成される。 RAID group 1500 to be used as the save buffer 118 shown in FIG. 15, the RAID group 1501 with a logical unit LU # 0~LU # F, a RAID group 1502 includes a logical unit LU # 10~LU # 1F, in configuration It is.

例えば、論理ユニットLU#0、LU#2、LU#10およびLU#12がボリュームグループを構成する。 For example, the logical unit LU # 0, LU # 2, LU # 10 and LU # 12 constitute the volume group. また、論理ユニットLU#1、LU#3、LU#11およびLU#13がボリュームグループを構成する。 The logical unit LU # 1, LU # 3, LU # 11 and LU # 13 constitute the volume group.

同様に、論理ユニットLU#4、LU#6、LU#14およびLU#16がボリュームグループを構成し、論理ユニットLU#5、LU#7、LU#15およびLU#17がボリュームグループを構成する。 Similarly, the logical unit LU # 4, LU # 6, LU # 14 and LU # 16 constitute the volume group, logical units LU # 5, LU # 7, LU # 15 and LU # 17 constitute the volume group . また、論理ユニットLU#8、LU#A、LU#18およびLU#1Aがボリュームグループを構成し、論理ユニットLU#9、LUB#B、LU#19およびLU#1Bがボリュームグループを構成する。 The logical unit LU # 8, LU # A, LU # 18 and LU # 1A constitute the volume group, logical units LU # 9, LUB # B, LU # 19 and LU # 1B constitute a volume group. さらに、論理ユニットLU#C、LU#E、LU#1CおよびLU#1Eがボリュームグループを構成し、論理ユニットLU#D、LU#F、LU#1DおよびLU#1Fがボリュームグループを構成する。 Furthermore, the logical unit LU # C, LU # E, LU # 1C and LU # 1E constitute the volume group, logical units LU # D, LU # F, LU # 1D and LU # 1F constitute the volume group.

そして、RAIDグループ1500は、制御モジュール毎に、記録専用バッファに対してボリュームグループ内の論理ユニットが割り当てられている。 Then, RAID group 1500, for each control module, the logical unit in the volume group is allocated to the write-only buffer.
例えば、図15に示すRAIDグループ1500では、制御モジュール#00の記録専用バッファに、論理ユニットLU#0、LU#1、LU#4、LU#5、LU#8、LU#9、LU#CおよびLU#Dが割り当てられている。 For example, the RAID group 1500 illustrated in FIG. 15, the write-only buffer control module # 00, the logical unit LU # 0, LU # 1, LU # 4, LU # 5, LU # 8, LU # 9, LU # C and LU # D is allocated. また、制御モジュール#01の記録専用バッファに、論理ユニットLU#2、LU#3、LU#6、LU#7、LU#A、LU#B、LU#EおよびLU#Fが割り当てられている。 Furthermore, the write-only buffer control module # 01 is assigned logical unit LU # 2, LU # 3, LU # 6, LU # 7, LU # A, LU # B, LU # E and LU # F is .

同様に、制御モジュール#02の記録専用バッファに、論理ユニットLU#10、LU#11、LU#14、LU#15、LU#18、LU#19、LU#1CおよびLU#1Dが割り当てられている。 Similarly, control the recording only buffer module # 02, assigned logical unit LU # 10, LU # 11, LU # 14, LU # 15, LU # 18, LU # 19, LU # 1C and LU # 1D is there. また、制御モジュール#03の記録専用バッファには、論理ユニットLU#12、LU#13、LU#16、LU#17、LU#1A、LU#1B、LU#1EおよびLU#1Fが割り当てられている。 In addition, the write-only buffer control module # 03, the logical unit LU # 12, LU # 13, LU # 16, LU # 17, LU # 1A, LU # 1B, and LU # 1E and LU # 1F is assigned there.

各ボリュームグループを構成する論理ユニットは、個別バッファと同じサイズで分割されている。 Logical unit constituting each volume group is divided by the same size as the individual buffer. そして、各制御モジュールの個別バッファに記憶されているバッファデータは、例えば、図15に示される矢印が示すように、各制御モジュールに割り当てられたボリュームグループの個別退避用バッファ世代順に記憶される。 The buffer data stored in the individual buffers of the control module, for example, as indicated by the arrows shown in FIG. 15, are stored in the individual save buffer generation order of the volume group assigned to each control module.

図15に示したように、制御モジュールに備わる記録専用バッファを2以上のRAIDグループに割り当てると、各RAIDグループの負荷を分散する効果が得られる。 As shown in FIG. 15, when assigning the write-only buffer included in the control module into two or more RAID groups, the effect of dispersing the load of each RAID group is obtained. なお、図15には、2つのRAIDグループを使用した場合を示したが、2以上のRAIDグループを使用しても同様の効果を得ることができるのは当然である。 Incidentally, in FIG. 15, the case using the two RAID groups, can be also used two or more RAID groups obtain the same effect is of course.

上述のように、本実施例に係る退避用バッファ118、例えば図14に示したLU#0〜LU#Fや図15に示したLU#0〜LU#FおよびLU#10〜LU#1Fは、個別バッファ、BITおよびバッファセット情報を含むサイズの個別退避用バッファに分割して使用される。 As described above, the save buffer 118 according to the present embodiment, for example, LU # 0~LU # F and LU # 10~LU # 1F shown in LU # 0~LU # F and 15 shown in FIG. 14 It is used by dividing into individual save buffer size, including individual buffers, BIT and buffer set information. 図16にその概要を示す。 Figure 16 shows the outline. 退避用バッファ118の各個別退避用バッファには、1世代分のコピー対象データ、すなわちバッファセット情報、BITおよびバッファデータが世代順で記憶される。 Each individual save buffer of the save buffer 118, one generation of copy target data, i.e. buffer set information, BIT and buffer data are stored in the generation order.

図17および図18は、本実施例に係るバッファ退避処理を説明する図である。 17 and 18 are diagrams for explaining the buffer save processing according to the present embodiment.
なお、図17および図18では、プライマリ装置110からセカンダリ装置120にリモートコピーを実施する場合のプライマリ装置110の動作を示している。 In FIG. 17 and FIG. 18 shows the operation of the primary unit 110 in the case of carrying out the remote copy from the primary device 110 to the secondary device 120. セカンダリ装置120からプライマリ装置110にリモートコピーを実施する場合のセカンダリ装置120も、図17および図18に示した動作と同様の動作を行なうことができる。 Secondary unit 120 when performing the remote copy from the secondary device 120 to the primary device 110 can also perform the same operations as those shown in FIGS. 17 and 18.

また、図17および図18は、理解を容易にするために、プライマリ装置110の構成を簡略化して記載してある。 Further, FIGS. 17 and 18, for ease of understanding, been described in a simplified structure of the primary unit 110. 例えば、制御モジュールは、#00と#01のみを記載しているが、プライマリ装置110を図17および図18に示す構成に限定する趣旨ではない。 For example, the control module has been described in only # 00 and # 01, it is not intended to limit the primary unit 110 to the configuration shown in FIGS. 17 and 18. また、制御モジュール毎にディスク装置117を記載しているが、説明のし易さのためであって、プライマリ装置110を図17および図18に示す構成に限定する趣旨ではない。 Although describes a disk device 117 for each control module, and for the purpose of description ease, they are not intended to limit the primary unit 110 to the configuration shown in FIGS. 17 and 18.

図17は、バッファセット1−4が、転送中またはセカンダリ装置120における展開処理待ちのため使用中となっている状態で、Write I/O命令を受付けた場合のバッファ退避処理を説明する図である。 17, the buffer set 1-4, in a state in which a busy for deployment pending in the transfer or in the secondary device 120, a view for explaining a buffer evacuation process when accepting a Write I / O instructions is there. 以下、バッファセット1−4に記憶されているバッファセットデータがそれぞれ世代1、世代2、世代3および世代4であるものとする。 Hereinafter, the buffer set data stored in the buffer set 1-4 each generation 1, generation 2, it is assumed that generation 3 and generation 4. また、プライマリ装置110に備わる全制御モジュールを総じて「制御モジュール」という。 Also, the overall "control module" total control module included in the primary unit 110.

(a)Write I/O命令を受付けると、制御モジュールは、自身のディスク装置117にWriteデータを記憶するとともに、(b)Writeデータのコピーデータをバッファセット5に記憶する。 (A) When receiving the Write I / O instruction, the control module stores the Write data to its own disk device 117, and stores the copy data of (b) Write data to the buffer set 5. バッファセット5に記憶されたバッファセットデータは世代5となる。 Buffer set data stored in the buffer set 5 becomes generations 5.

ここで、例えば、使用中のバッファセット数がバッファ閾値を超えると、(c)制御モジュールは、次にセカンダリ装置120に転送予定のバッファデータ、例えばバッファセット5に記憶されている世代5のバッファセットデータを退避用バッファ118に退避する。 Here, for example, the buffer number of sets in use exceeds the buffer threshold, (c) control module, then the buffer data to be transferred to the secondary device 120, for example, buffer generation 5 stored in the buffer set 5 saving the set data in the save buffer 118.

また、バッファセットデータを退避用バッファ118に退避すると、制御モジュールは、新たなWriteデータ等の記憶先をバッファセット5からバッファセット6に切り替える。 Also, when saving the buffer set data in the save buffer 118, the control module switches the storage destination of such new Write data from buffer set 5 in a buffer set 6.

(d)新たなWrite I/O命令を受付けると、制御モジュールは、Writeデータをディスク装置に記憶するとともに、Writeデータのコピーデータをバッファセット6に記憶する。 (D) When receiving a new Write I / O instruction, the control module stores the Write data to the disk device, and stores the copy data of Write data to the buffer set 6. バッファセット6に記憶されたバッファセットデータは世代6となる。 Buffer set data stored in the buffer set 6 becomes generations 6.

この時、バッファセット6の世代6よりも古い世代、例えば図17では世代5が退避用バッファ118に退避されているので、(e)制御モジュールは、バッファセット6のバッファセットデータを退避用バッファ118に退避する。 At this time, older than the generation 6 buffer set 6 generations, since for example the generation 5 in FIG. 17 is saved in the save buffer 118, (e) control module, the save buffer the buffer set data buffer set 6 retracted to 118.

使用中の状態にあったバッファセット1が解放されると、(f)制御モジュールは、退避用バッファ118に記憶されている世代5のバッファセットデータを読み出して、バッファセット1に記憶する。 When the buffer set 1 that has been in busy state is released, the (f) control module reads the buffer set data generation 5 stored in the save buffer 118 and stored in buffer set 1. なお、本実施例で「解放」とは、バッファセットを未使用の状態に置くことをいう。 Note that the "release" in the present embodiment, refers to putting on the state of the unused buffer set.

図19は、本実施例に係るストレージシステム100の処理の概要を示すフローチャートである。 Figure 19 is a flowchart showing the outline of processing of the storage system 100 according to this embodiment.
ステップS1901において、ホスト150からWrite I/O命令を受けると、プライマリ装置110は、Writeデータをディスク装置117に書き込む。 In step S1901, upon receiving the Write I / O command from the host 150, the primary unit 110 writes the Write data to the disk device 117. 同時に、プライマリ装置110は、Writeデータをセカンダリ装置120に送信し、リモートコピーを行なう。 At the same time, the primary unit 110 sends the Write data to the secondary device 120, performs the remote copy. このとき、セカンダリ装置120は、プライマリ装置110に異常がないかを監視している。 At this time, the secondary unit 120 monitors whether there is abnormality in the primary unit 110.

以下、プライマリ装置110からセカンダリ装置120へのリモートコピーを、「順方向」のリモートコピーという。 Hereinafter, a remote copy from the primary unit 110 to the secondary device 120, that the remote copy of the "forward".
プライマリ装置110に異常がなければ(ステップS1902 NO)、プライマリ装置110からセカンダリ装置120への順方向のリモートコピーが継続する。 If there is no abnormality in the primary unit 110 (step S1902 NO), the forward remote copy from the primary unit 110 to the secondary device 120 continues. プライマリ装置110に異常を検出すると(ステップS1902 YES)、セカンダリ装置120では、リモートコピーを停止する(ステップS1903)。 When detecting an abnormality in the primary unit 110 (step S1902 YES), the secondary unit 120, and stops the remote copy (step S1903). この場合、プライマリ装置110は、復旧のため保守作業が行なわれる。 In this case, the primary unit 110, maintenance work is carried out for recovery.

ステップS1904において、セカンダリ装置120は、セカンダリ装置120のみで運用を開始する。 In step S1904, the secondary device 120 starts to operate only in the secondary device 120. 例えば、ホスト150からからWrite I/O命令を受けると、セカンダリ装置120は、Writeデータをディスク装置127に書き込む。 For example, upon receiving a Karakara Write I / O instruction host 150, the secondary unit 120 writes the Write data to the disk device 127.

プライマリ装置110の復旧を検出するまで、セカンダリ装置120は単独での運用を継続する(ステップS1905 NO)。 Until it detects the restoration of the primary device 110, the secondary unit 120 continues the operation by itself (step S1905 NO). プライマリ装置110が復旧したことを検出すると(ステップS1905 YES)、セカンダリ装置120は、セカンダリ装置120からプライマリ装置110へのリモートコピーを開始する(ステップS1906)。 When the primary unit 110 detects that it has recovered (step S1905 YES), the secondary unit 120 starts the remote copy from the secondary device 120 to the primary device 110 (step S1906).

以下、セカンダリ装置120からプライマリ装置110へのリモートコピーを、「逆方向」のリモートコピーという。 Hereinafter, a remote copy from the secondary device 120 to the primary device 110, that the remote copy of the "reverse".
プライマリ装置110との通信に遅延等の通信異常を検出すると(ステップS1907 YES)、セカンダリ装置120は、ディスク装置127に退避用バッファ130を確保する(ステップS1908)。 Upon detecting the communication abnormality such as delay in communication with the primary unit 110 (step S1907 YES), the secondary unit 120 reserves a save buffer 130 to the disk device 127 (step S1908). その後、セカンダリ装置120は、処理をステップS1906に移行し、プライマリ装置110へのリモートコピーを継続する。 Thereafter, the secondary unit 120 moves the process to step S1906, and continues the remote copy to the primary device 110. ただし、既に退避用バッファ130が確保されている場合、ステップS1908の処理はスキップすることができる。 However, already when the save buffer 130 is reserved, the processing in step S1908 may be skipped.

セカンダリ装置120は、プライマリ装置110との通信に異常を検出しなければ(ステップS1907 NO)、ユーザからの終了指示の有無を確認する(ステップS1909)。 The secondary device 120, to be detected an abnormality in the communication with the primary unit 110 (step S1907 NO), to check for an end instruction from the user (step S1909). ユーザかの終了指示がない場合(ステップS1909 NO)、セカンダリ装置120は、プライマリ装置110へのリモートコピーを継続する(ステップS1906)。 If there is no user or end command (step S1909 NO), the secondary unit 120 continues the remote copy to the primary device 110 (step S1906). ユーザから終了指示がある場合(ステップS1909 YES)、プライマリ装置110およびセカンダリ装置120は、リモートコピーを終了する(ステップS1910)。 If there is a termination instruction from the user (step S1909 YES), the primary unit 110 and a secondary unit 120 ends the remote copy (step S1910).

図20Aおよび図20Bは、本実施例に係る順方向のリモートコピー(ステップS1901〜S1902)の概要を示すフローチャートである。 20A and 20B are flowcharts showing an outline of the forward remote copy according to the present embodiment (step S1901~S1902). 以下、図20Aおよび図20Bに基づいて、本実施例に係る順方向のリモートコピーの概要を説明する。 Hereinafter, with reference to FIGS. 20A and FIG. 20B, an outline of the forward of the remote copy of this embodiment.

プライマリ装置110は、起動すると、バッファ初期構成処理を行なう。 The primary device 110, when activated, performs a buffer initial configuration process. 例えば、プライマリ装置110は、あらかじめ設定された構成情報にしたがって、各制御モジュールに備わるメモリ200に、図2に示した構成の領域を確保し、各領域について初期化を行なう。 For example, the primary unit 110 according to the configuration information set in advance, in the memory 200 included in the control module, reserves an area of ​​the structure shown in FIG. 2, is initialized for each region.

また、プライマリ装置110は、制御モジュール毎に、記録専用バッファに対するボリュームグループを割り当てる。 Further, the primary unit 110, for each control module, allocate a volume group for recording only buffers. 具体的な処理は、図21および図22で説明する。 Specific processing will be described with reference to FIG. 21 and FIG. 22.
また、プライマリ装置110は、バッファセットを生成し、生成したバッファセットについて初期作成処理を行う。 Further, the primary unit 110 generates a buffer set, generated buffer set has performed the initial creation process for. 例えば、プライマリ装置110は、各制御モジュールの個別バッファを組み合わせてバッファセットを生成する。 For example, the primary unit 110 generates a buffer set by combining individual buffer of the control modules. そして、プライマリ装置110は、生成したバッファセットをバッファセット情報としてバッファセット情報記憶部202に記憶する。 The primary unit 110 stores the generated buffer sets in the buffer set information storage unit 202 as the buffer set information.

以上の処理をセカンダリ装置120も行なう。 The above processing secondary unit 120 also performs.
プライマリ装置110は、さらに、バッファ管理テーブル300やバッファセット管理テーブル400、退避用バッファ管理テーブル500などについて初期化を行なう。 The primary device 110 is further buffer management table 300 and the buffer set management table 400, to initialize the like save buffer management table 500.

以上の処理により、プライマリ装置110−セカンダリ装置120間でリモートコピーを行なう準備が完了する。 By the above processing, ready to perform a remote copy between the primary unit 110 - the secondary unit 120 is completed. そして、ホスト150からWrite I/O命令を受け付ける準備が完了すると、リモートコピーが開始する(ステップS2000a、S2000b)。 When ready to accept the Write I / O command from the host 150 is completed, the remote copy is started (step S2000a, S2000b).

ステップS2001bにおいて、セカンダリ装置120は、プライマリ装置110に対して筐体接続状態の確認を行なう。 In step S2001b, the secondary unit 120 performs confirmation of the housing connected state to the primary device 110. 例えば、セカンダリ装置120は、プライマリ装置110に対して、筐体接続状態確認のための応答要求を行なう。 For example, the secondary unit 120, to the primary unit 110, performs a response request for housing the connection state confirmation.

一方、ステップS2001aにおいて、セカンダリ装置120から応答要求を受けると、プライマリ装置110は、セカンダリ装置120に対して筐体接続状態が正常である旨の応答を行なう。 On the other hand, in step S2001a, upon receiving a response request from the secondary device 120, the primary unit 110, housing connection state makes a response indicating the normal operating to the secondary device 120.

ステップS2002bにおいて、セカンダリ装置120は、決まった時間内にプライマリ装置110から正常応答が返ってきているかを監視する。 In step S2002b, the secondary unit 120 monitors whether the returned normal response from the primary unit 110 in fixed time. そして、決まった時間内にプライマリ装置110から正常応答が返ってきたことを確認すると(ステップS2002b YES)、セカンダリ装置120は、処理をステップS2003bに移行する。 When it is confirmed that has been returned normal response from the primary device 110 within fixed time (step S2002b YES), the secondary unit 120 proceeds to step S2003b. また、決まった時間内にプライマリ装置110から正常応答が返ってきていない場合(ステップS2002b NO)、セカンダリ装置120は、処理をステップS2015bに移行する。 Also, if you are not returned the normal response from the primary device 110 within fixed time (step S2002b NO), the secondary unit 120 proceeds to step S2015b.

なお、ステップS2001a、S2001b〜S2002bおよびS2015b〜S2016bに示した処理は、理解を容易にするために、図20Aのフローチャートの中に記載したが、フローチャートに示した処理と独立に処理を行なってもよい。 Note that step S2001a, the process shown in S2001b~S2002b and S2015b~S2016b, for ease of understanding, been described in the flowchart of FIG. 20A, be subjected to processing independently of the process shown in the flowchart good. 以下に記載するステップS2013a、S2005b〜S2006bおよびS2015b〜S2016bに示した処理についても、フローチャートに示した処理と独立に処理を行なってもよい。 Step S2013a described below, for the process shown in S2005b~S2006b and S2015b~S2016b, may be performed independently processed and the processing shown in the flowchart.

ステップS2002aにおいて、プライマリ装置110は、セカンダリ装置120に対して、未使用の個別バッファの通知を要求するために、未使用バッファ通知要求コマンドを発行する。 In step S2002a, the primary unit 110, to the secondary unit 120, to request notification of individual buffers of unused, it issues an unused buffer notification request command.

一方、セカンダリ装置120は、ステップS2003bに処理を移行し、プライマリ装置110からの未使用バッファ通知要求コマンドを受けるまで、未使用バッファ通知要求コマンドを監視する(S2003b NO)。 On the other hand, the secondary unit 120, the process proceeds to step S2003b, until it receives an unused buffer notification request command from the primary unit 110 monitors the unused buffer notification request command (S2003b NO).

ステップS2003bにおいて、セカンダリ装置120は、プライマリ装置110からの未使用バッファ通知要求コマンドを検出すると(S2003b YES)、処理をステップS2004bに移行する。 In step S2003b, the secondary device 120 detects an unused buffer notification request command from the primary unit 110 (S2003b YES), the flow goes to step S2004b.

ステップS2004bにおいて、セカンダリ装置120は、既に領域が解放された未使用となっている個別バッファを検索する。 In step S2004b, the secondary unit 120 searches the individual buffers are already unused area is released. 既に領域が解放されて未使用となっている個別バッファを検出すると、セカンダリ装置120は、検出した個別バッファのバッファIDを未使用バッファIDとしてプライマリ装置110に通知する。 If already detect individual buffer that is the unused space is released, the secondary unit 120 notifies the primary unit 110 the buffer ID of the detected individual buffer as unused buffer ID.

一方、プライマリ装置110は、セカンダリ装置120から未使用バッファIDの通知を受けると、通知された未使用バッファIDを、未使用バッファID記憶部206に記憶する。 On the other hand, the primary unit 110 is notified of the unused buffer ID from the secondary device 120, the unused buffer ID notified is stored in the unused buffer ID storage unit 206.

ステップS2003aにおいて、プライマリ装置110は、Writeデータを格納する対象のバッファセットを取得する。 In step S2003a, the primary unit 110 acquires a buffer set of objects that stores Write data. このWriteデータを格納する対象のバッファセットを「格納対象バッファセット」という。 A buffer set for which you want to store the Write data referred to as a "store target buffer set".

例えば、プライマリ装置110は、バッファセット管理テーブル400を参照し、未使用に設定されているバッファセットIDを取得する。 For example, the primary unit 110 refers to the buffer set management table 400, it acquires a buffer set ID set to unused. そして、プライマリ装置110は、その取得したバッファセットIDを、バッファ管理テーブル300の対象バッファセットIDに設定する。 The primary unit 110, the acquired buffer set ID, sets the target buffer set ID of the buffer management table 300.

プライマリ装置110は、バッファ管理テーブル300の対象バッファセットIDに設定したバッファセットIDが示すバッファセットを、「格納対象バッファセット」として以下の処理を行なう。 The primary unit 110, a buffer set indicated by the buffer set ID set to the target buffer set ID of the buffer management table 300, the following process is performed as "storage target buffer set".

なお、プライマリ装置110は、ステップS2003aでは、マッチング処理を行なわない。 Incidentally, the primary unit 110, in step S2003a, does not perform the matching process. プライマリ装置110は、マッチング処理を、後述するステップS2012a、すなわち、バッファセットデータの送信処理前に行なう。 The primary unit 110, the matching process, described later step S2012a, i.e., performed before transmission processing buffer set data.

ステップS2004aにおいて、プライマリ装置110は、バッファ管理テーブル300のライトバックポインタ情報に設定されている世代を1だけインクリメントした値に更新する。 In step S2004a, the primary unit 110 updates the generation is set to the write-back pointer information in the buffer management table 300 to increment the value by one.

ステップS2005aにおいて、プライマリ装置110は、格納対象バッファセットの個別バッファへのWriteデータの格納処理を行なう。 In step S2005a, the primary unit 110 performs storage processing of the Write data into individual buffers storing object buffer set.
例えば、プライマリ装置110が、ホスト150からWrite I/O命令を受付けたとする。 For example, the primary unit 110, to the host 150 and received the Write I / O instructions. すると、プライマリ装置110は、そのWrite I/O命令とともに受信したWriteデータを、バッファ管理テーブル300の現在使用している対象バッファセットIDが示す格納対象バッファセット、すなわち、各制御モジュールの個別バッファに分散して記憶する。 Then, the primary unit 110, the Write data received together with the Write I / O instruction, currently stored target buffer set indicated by the target buffer set ID using the buffer management table 300, i.e., the individual buffers of the control module distributed and stored.

ステップS2006aにおいて、プライマリ装置110は、格納対象バッファセットにデータを格納する格納領域が残っているか否かを判別する。 In step S2006a, the primary unit 110 determines whether or not there remains a storage area for storing data in the storage target buffer set. 格納対象バッファセットに格納領域が残っていないと判断した場合(ステップS2006a NO)、プライマリ装置110は、処理をステップS2008aに移行する。 If it is determined that there is no remaining storage space to store the target buffer set (Step S2006a NO), the primary unit 110 goes to step S2008a.

また、ステップS2006aにおいて、格納対象バッファセットに格納領域が残っていると判断した場合(ステップS2006a YES)、プライマリ装置110は、処理をステップS2007aに移行する。 Further, in step S2006a, when it is determined that there remains a storage area storing object buffer set (Step S2006a YES), the primary unit 110 goes to step S2007a. この場合、プライマリ装置110は、格納対象バッファセット取得から一定時間経過したか否かを判別する(ステップS2007a)。 In this case, the primary unit 110 determines whether or not the elapsed from storing object buffer set acquired predetermined time (step S2007a).

そして、格納対象バッファセット取得から一定時間経過していないと判断した場合(ステップS2007a NO)、プライマリ装置110は、処理をステップS2005aに移行する。 Then, if it is determined from the stored target buffer set and retrieve certain time has not elapsed (Step S2007a NO), the primary unit 110 goes to step S2005a. また、格納対象バッファセット取得から一定時間経過したと判断した場合(ステップS2007a YES)、プライマリ装置110は、処理をステップS2008aに移行する。 When it is determined that has elapsed since storing object buffer set acquired predetermined time (step S2007a YES), the primary unit 110 goes to step S2008a.

ステップS2008aにおいて、プライマリ装置110は、ステップS2003aと同様の処理により、格納対象バッファセットを新たに取得する。 In step S2008a, the primary device 110, the same processing as step S2003a, newly acquires the storing object buffer set. そして、ステップS2009aにおいて、プライマリ装置110は、格納対象バッファセットを、ステップS2008aで取得した新たな格納対象バッファセットに切り替える。 Then, in step S2009a, the primary unit 110 switches the storage target buffer set, a new storing object buffer set obtained in step S2008a.

以下では、切り替え前の格納対象バッファセットを、ステップS2011aの処理では「ライトバック対象バッファセット」といい、ステップS2014a以降の処理では「転送対象バッファセット」という。 In the following, the storage target buffer set before switching, referred to as a "write-back subject buffer set" in the process of step S2011a, in the processing in and after step S2014a referred to as "transfer target buffer set".

ステップS2010aにおいて、プライマリ装置110は、ステップS2004aと同様の処理により、ライトバックポインタ情報を更新する。 In step S2010a, the primary device 110, the same processing as step S2004a, updates the write-back pointer information. そして、ステップS2011aにおいて、プライマリ装置110は、ライトバックを行なう。 Then, in step S2011a, the primary unit 110 performs write-back. すると、プライマリ装置110は、処理をステップS2012aに移行する。 Then, the primary unit 110 goes to step S2012a.

ステップS2012aにおいて、プライマリ装置110は、マッチング処理を行なう。 In step S2012a, the primary unit 110 performs a matching process. 例えば、プライマリ装置110は、未使用バッファID記憶部206から未使用バッファIDを取得する。 For example, the primary unit 110 obtains an unused buffer ID from the unused buffer ID storage unit 206. そして、プライマリ装置110は、取得した未使用バッファIDを転送対象バッファセットのコピー先IDに割り当てることにより、転送対象バッファセットのコピー元IDとコピー先IDとの関連付けを行なう。 The primary unit 110, by assigning the unused buffer ID acquired in the destination ID to be transferred buffer set, performs the association with the copy source ID and destination ID of the transferred buffer set.

一方、ステップS2005bにおいて、セカンダリ装置120は、プライマリ装置110との筐体接続状態の確認を行なうために、プライマリ装置110に対して、筐体接続状態確認のための応答要求を行なう。 On the other hand, in step S2005b, the secondary device 120, in order to perform the confirmation of the housing connection state between the primary unit 110, to the primary device 110, it performs a response request for housing the connection state confirmation.

ステップS2013aにおいて、セカンダリ装置120から応答要求を受けると、プライマリ装置110は、セカンダリ装置120に対して筐体接続状態が正常である旨の応答を行なう。 In step S2013a, upon receiving a response request from the secondary device 120, the primary unit 110, housing connection state makes a response indicating the normal operating to the secondary device 120.

ステップS2006bにおいて、セカンダリ装置120は、決まった時間内にプライマリ装置110から正常応答が返ってきているかを監視する。 In step S2006b, the secondary unit 120 monitors whether the returned normal response from the primary unit 110 in fixed time. そして、決まった時間内にプライマリ装置110から正常応答が返ってきたことを確認すると(ステップS2006b YES)、セカンダリ装置120は、処理をステップS2007bに移行する。 When it is confirmed that has been returned normal response from the primary device 110 within fixed time (step S2006b YES), the secondary unit 120 proceeds to step S2007b. また、決まった時間内にプライマリ装置110から正常応答が返ってきていない場合(ステップS2006b NO)、セカンダリ装置120は、処理をステップS2015bに移行する。 Also, if you are not returned the normal response from the primary device 110 within fixed time (step S2006b NO), the secondary unit 120 proceeds to step S2015b.

ステップS2014aにおいて、プライマリ装置110は、転送対象バッファセットに記憶されたバッファセットデータをセカンダリ装置120に送信する。 In step S2014a, the primary unit 110 transmits the buffer set data stored in the transfer target buffer set in the secondary device 120. このバッファセットデータには、各制御モジュールの、バッファ201aに記憶されているバッファデータと、BIT記憶部201bに記憶されているBITと、バッファセット情報記憶部202に記憶されているバッファセット情報と、が含まれる。 The buffer set data, of the control module, the buffer data stored in the buffer 201a, and BIT stored in the BIT storage unit 201b, and the buffer set information stored in the buffer set information storage unit 202 , it is included.

一方、ステップS2007bにおいて、セカンダリ装置120は、バッファセットデータの受信処理を行なう。 On the other hand, in step S2007b, the secondary unit 120 performs reception processing for the buffer set data. 例えば、セカンダリ装置120は、受信したバッファセットデータのうち、バッファデータをバッファ201aに、BITをBIT記憶部201bに、バッファセット情報をバッファセット情報記憶部202に、それぞれ記憶する。 For example, the secondary unit 120, among the buffer set data received, the buffer data in the buffer 201a, the BIT in the BIT storage unit 201b, a buffer set information in the buffer set information storage unit 202, and stores, respectively.

ステップS2008bにおいて、セカンダリ装置120は、全てのバッファセットデータを受信したか否かを判別する。 In step S2008b, the secondary unit 120 determines whether it has received all the buffer set data. そして、まだ、全てのバッファセットデータを受信していないと判断すると(S2008b NO)、セカンダリ装置120は、処理をステップS2007bに移行し、ステップS2007b〜S2008bの処理を繰返す。 And yet, it is determined that it has not received all the buffer set data (S2008b NO), the secondary unit 120 moves the process to step S2007b, it repeats the process of step S2007b~S2008b.

ステップS2008bにおいて、全てのバッファセットデータを受信したと判断すると(S2008b YES)、セカンダリ装置120は、処理をステップS2009bに移行する。 In step S2008b, it is determined that it has received all the buffer set data (S2008b YES), the secondary unit 120 proceeds to step S2009b.

ステップS2009bにおいて、セカンダリ装置120は、ステップS2007bで取得したバッファセットデータが、自身に備わる記憶装置のディスク装置127に展開可能か否かを判断する。 In step S2009b, the secondary device 120, buffer set data acquired in step S2007b is, determines whether it is possible to expand the disk device 127 of the storage device included in itself. 取得したバッファセットデータを展開可能と判断すると(S2009b YES)、セカンダリ装置120は、処理をステップS2010bに移行する。 It acquired buffer set when data is judged to be deployed (S2009b YES), the secondary unit 120 proceeds to step S2010b.

ステップS2010bにおいて、セカンダリ装置120は、ステップS2007bで取得したバッファセットデータを、自身に備わるディスク装置127に展開する。 In step S2010b, the secondary device 120, a buffer set data acquired in step S2007b, deployed in the disk device 127 included in itself. この展開が終了すると、セカンダリ装置120は、処理をステップS2011bに移行し、バッファセットデータの展開が完了した旨をプライマリ装置110に通知する。 When this expansion is completed, the secondary unit 120 moves the process to step S2011b, notifies the expansion buffer set data has been completed the primary unit 110. 以下、この通知を「バッファセットデータ展開完了通知」という。 Below, this notification referred to as a "buffer set data expansion completion notification".

バッファセットデータのディスク装置127への展開が終了すると、ステップS2012bにおいて、セカンダリ装置120は、バッファセットの解放処理を行なう。 When expanded to the disk device 127 of the buffer set data is completed, in step S2012b, the secondary device 120 performs releasing processing of the buffer set. 例えば、セカンダリ装置120は、バッファセットデータのディスク装置127への展開が完了したバッファセットを未使用に設定する。 For example, the secondary unit 120 sets the unused buffer set the deployment is complete to the disk device 127 of the buffer set data.

ステップS2013bにおいて、セカンダリ装置120は、解放した領域に新たにバッファセット情報記憶部202および記録専用バッファ201の領域を確保して、例えば、図2に示した構成を構築する。 In step S2013b, the secondary device 120, to ensure a new area of ​​the buffer set information storage unit 202 and the write-only buffer 201 to the released area, for example, to construct the structure shown in FIG.

以上の処理が終了すると、セカンダリ装置120は、処理をステップS2014bに移行し、ステップS2012b〜S2013bの処理によって新たに使用可能となったバッファの未使用バッファIDをプライマリ装置110に通知する(ステップS2014b)。 When the above process ends, the secondary unit 120 moves the process to step S2014b, and notifies the unused buffer ID of the buffer that has newly enabled by the processing of step S2012b~S2013b primary unit 110 (step S2014b ). プライマリ装置110は、未使用バッファIDを通知されると、通知された未使用バッファIDを未使用バッファID記憶部206に記憶する。 The primary unit 110 is notified of the unused buffer ID, it stores the unused buffer ID notified in the unused buffer ID storage unit 206.

一方、ステップS2015aにおいて、プライマリ装置110は、セカンダリ装置120からバッファセットデータ展開完了通知を受信したか否かを判断する。 On the other hand, in step S2015a, the primary unit 110 from the secondary device 120 determines whether it has received a completion notice buffer set data expansion. そして、バッファセットデータ展開完了通知を受信しない場合(S2015a NO)、ステップS2015aの処理を繰り返す。 Then, if it does not receive a completion notification buffer set data expansion (S2015a NO), repeats the processing of steps S2015a. また、セカンダリ装置120からバッファセットデータ完了通知を受信すると(S2015a YES)、プライマリ装置110は、処理をステップS2016aに移行する。 Further, upon receiving the buffer set data completion notification from the secondary unit 120 (S2015a YES), the primary unit 110 goes to step S2016a.

ステップS2016aにおいて、プライマリ装置110は、ステップS2014aによってバッファセットデータ送信処理が行なわれた転送対象バッファセットについて、ステップS2012bと同様に、バッファセットの解放処理を行なう。 In step S2016a, the primary device 110, the transfer target buffer set buffer set data transmission processing is performed in step S2014a, as with step S2012b, performing release processing buffer set. すなわち、プライマリ装置110は、バッファセット管理テーブル400を参照し、データの転送が完了した転送対象バッファセットを未使用に設定する。 That is, the primary unit 110 refers to the buffer set management table 400, and sets the unused transfer target buffer set of data transfer is complete.

ステップS2017aにおいて、プライマリ装置110は、バッファ管理テーブル300を参照し、ステージポインタ情報に設定されている世代を1だけインクリメントした値に更新する。 In step S2017a, the primary unit 110 refers to the buffer management table 300, and updates the generation that is set on the stage pointer information to the increment value by one. そして、ステップS2018aにおいて、プライマリ装置110は、未使用となったバッファセットの領域について初期化を行なうなどしてバッファの再構築処理を行なう。 Then, in step S2018a, the primary unit 110 performs a rebuild process for the buffer to such initializes the area of ​​the buffer set was unused.

ステップS2019aにおいて、プライマリ装置110は、ステージングが必要か否かを判別する。 In step S2019a, the primary unit 110 determines whether the staging is required. 例えば、プライマリ装置110は、退避用バッファ118に退避した世代があるか否かによりステージングが必要か否かを判別する。 For example, the primary unit 110 determines whether the staging is necessary according to whether there is a generation which is saved in the save buffer 118.

プライマリ装置110は、以下に示す(a)〜(d)の処理により、退避用バッファ118に退避した世代の有無を知ることができる。 The primary device 110 by the processing of the following (a) ~ (d), it is possible to know the presence or absence of generation saved in the save buffer 118.
(a)プライマリ装置110は、バッファ管理テーブル300を参照し、ライトバックポインタ情報とステージポインタ情報を取得する。 (A) primary unit 110 refers to the buffer management table 300, obtains the write-back pointer information and stage pointer information.

(b)プライマリ装置110は、バッファセット管理テーブル400を参照し、ステージポインタ情報に1を加えた世代から昇順に世代をたどり、バッファセット管理テーブル400に欠落している世代を検索する。 (B) the primary unit 110 refers to the buffer set management table 400, follows the generation in ascending order from generation obtained by adding 1 to the stage pointer information, searching for generation missing in the buffer set management table 400.

例えば、図3に示したバッファ管理テーブル300には、ステージポインタ情報として世代2が設定されている。 For example, the buffer management table 300 shown in FIG. 3, generation 2 is set as a stage pointer information. そこで、プライマリ装置110は、図4に示したバッファセット管理テーブル400を参照し、世代2に1を加えた世代3から世代4、5、・・・と昇順に世代をたどる。 Therefore, the primary unit 110 refers to the buffer set management table 400 shown in FIG. 4, generations 4,5 from generation 3 obtained by adding 1 to the generation 2, it follows the generations ... and ascending. すると、プライマリ装置110は、バッファセット管理テーブル400に欠落している世代7を検出する。 Then, the primary unit 110 detects the generation 7 missing in the buffer set management table 400.

(c)プライマリ装置110は、バッファセット管理テーブル400を参照し、ライトバックポインタ情報の世代から降順に世代をたどり、バッファセット管理テーブル400に欠落している世代を検索する。 (C) the primary unit 110 refers to the buffer set management table 400, it follows the generations descending from generation writeback pointer information, searching for generation missing in the buffer set management table 400.

例えば、図3に示したバッファ管理テーブル300には、ライトバックポインタ情報として世代15が設定されている。 For example, the buffer management table 300 shown in FIG. 3, generation 15 is set as the write-back pointer information. そこで、プライマリ装置110は、図4に示したバッファセット管理テーブル400を参照し、世代15から世代14、13、・・・と降順に世代をたどる。 Therefore, the primary unit 110 refers to the buffer set management table 400 shown in FIG. 4, follows the from one generation 15 generations 14 and 13, in ... and descending. すると、プライマリ装置110は、バッファセット管理テーブル400に欠落している世代12を検出する。 Then, the primary unit 110 detects the generation 12 missing in the buffer set management table 400.

(d)以上の処理によって検出した世代7から世代12が、退避用バッファ118に退避されている世代であることがわかる。 Generation 12 from generation 7 detected by (d) above process, it is found that generation saved in the save buffer 118.
ステップS2019aにおいて、退避用バッファ118に退避した世代が存在すると判断した場合(ステップS2019a YES)、プライマリ装置110は、処理をステップS2020aに移行する。 In Step S2019a, if the generation saved in the save buffer 118 is determined to exist (step S2019a YES), the primary unit 110 goes to step S2020a. また、退避用バッファ118に退避した世代が存在しないと判断した場合(ステップS2019a NO)、プライマリ装置110は、処理をステップS2022aに移行する。 Also, if the generation saved in the save buffer 118 is determined not to exist (step S2019a NO), the primary unit 110 goes to step S2022a.

ステップS2020aにおいて、プライマリ装置110は、ステージングに使用するバッファセット、すなわちステージング用バッファセットを取得する。 In step S2020a, the primary unit 110, buffer set used to stage, i.e. to obtain the staging buffer set.
例えば、プライマリ装置110は、バッファセット管理テーブル400を参照し、未使用に設定されているバッファセットIDを「ステージング対象バッファセットID」として取得する。 For example, the primary unit 110 refers to the buffer set management table 400, acquires a buffer set ID set to the unused as "staging subject buffer set ID."

また、プライマリ装置110は、バッファセット管理テーブル400を参照し、ステージング対象バッファセットIDと一致するバッファセットIDの対象世代に、後述するステージング対象世代を設定する。 Further, the primary unit 110 refers to the buffer set management table 400, the target generation buffer set ID that matches the staging subject buffer set ID, sets the staging subject generation to be described later.

また、プライマリ装置110は、バッファセット管理テーブル400を参照し、ステージング対象バッファセットIDと一致するバッファセットIDの使用目的を「ステージング」に設定する。 Further, the primary unit 110 refers to the buffer set management table 400, sets the intended use of the buffer set ID that matches the staging subject buffer set ID to "staging".

ステップS2021aにおいて、プライマリ装置110は、ステージングを実行する。 In step S2021a, the primary unit 110 executes staging. そして、ステージングが完了すると、プライマリ装置110は、処理をステップS2012aに移行する。 When the staging is completed, the primary unit 110 goes to step S2012a.

以上の処理が終了すると、プライマリ装置110は、リモートコピーを終了、または、ステップS2005aに処理を移行してリモートコピーを継続する。 When the above process is completed, the primary unit 110 ends the remote copy, or to continue the remote copy, the processing moves to step S2005a. また、ホスト150から新たにWrite I/O命令を受付けると、プライマリ装置110は、S2005a等に処理を移行して、リモートコピーを継続する。 Further, when receiving a new Write I / O command from the host 150, the primary unit 110, and proceeds to S2005a or the like, to continue the remote copy.

また、セカンダリ装置120は、上述の処理が終了すると、リモートコピーを終了する、または、ステップS2007bに処理を移行してリモートコピーを継続する。 Further, the secondary unit 120, the process described above is completed, and ends the remote copy, or to continue the remote copy, the processing moves to step S2007b.
以上に、本実施例に係る順方向のリモートコピー(ステップS1901〜S1902)について説明した。 Above it has been described remote copy forward according to the present embodiment (step S1901~S1902). 本実施例に係る逆方向のリモートコピーでは、図20Aおよび図20Bに示したプライマリ装置110の処理をセカンダリ装置120に実行させ、図20Aおよび図20Bに示したセカンダリ装置120の処理をプライマリ装置110に実行させればよい。 In the reverse direction of the remote copy of this embodiment, to execute the processing of the primary unit 110 shown in FIGS. 20A and 20B to the secondary unit 120, the primary unit processing the secondary unit 120 shown in FIGS. 20A and 20B 110 it is sufficient to run.

以下、本実施例に係るリモートコピーについて具体的に説明する。 It will be specifically described below remote copy according to this embodiment.
図21は、本実施例に係る退避用バッファ118の領域を生成する処理を示すフローチャートである。 Figure 21 is a flow chart illustrating a process for generating a region of the save buffer 118 according to the present embodiment. 図21に示す処理は、例えば、プライマリ装置110の保守作業時に実行できる。 The process shown in FIG. 21, for example, be performed during maintenance work on the primary unit 110.

ステップS2101において、プライマリ装置110は、ユーザからの入力に応じて退避用バッファ118を設定すべき領域を記録専用バッファ201のバッファ201aから選択する。 In step S2101, the primary unit 110 selects the area to be set the save buffer 118 in response to an input from the user from the buffer 201a of the write-only buffer 201. そして、プライマリ装置110は、処理をステップS2102に移行し、ユーザからの入力に応じてRAIDを構成するためのディスク装置を選択する。 The primary unit 110 moves the process to step S2102, selects the disk apparatus for configuring a RAID in response to an input from the user.

ステップS2103において、プライマリ装置110は、ステップS2102で選択したディスク装置はRAIDを構成する条件を満たすか否かをチェックする。 In step S2103, the primary device 110, disk device selected in step S2102 checks whether or not the condition that constitute the RAID. 条件を満たさない場合(S2103 NO)、プライマリ装置110は、例えば、他のディスク装置を指定すべき旨を表示装置等に表示して、処理をステップS2102に移行する。 If the condition is not satisfied (S2103 NO), the primary device 110, for example, to display that should specify another disk device for the display device or the like, the flow goes to step S2102.

ステップS2103において、RAIDを構成する条件を満たす場合(S2103 YES)、プライマリ装置110は、処理をステップS2104に移行する。 In step S2103, when conditions are satisfied for configuring a RAID (S2103 YES), the primary unit 110 shifts the processing to step S2104.
ステップS2104において、プライマリ装置110は、ステップS2102で選択されたディスク装置で構成されるRAIDグループを生成し、プライマリ装置110の装置構成などを保持する構成情報にその情報を反映する。 In step S2104, the primary unit 110 generates a RAID group composed of the disk device selected in step S2102, to reflect the information to the configuration information held and device configuration of the primary device 110.

ステップS2105において、プライマリ装置110は、ステップS2104で作成したRAIDグループ内に複数のボリュームを作成する。 In step S2105, the primary unit 110 creates a plurality of volumes in the RAID group created in step S2104. プライマリ装置110は、処理をステップS2106に移行し、ステップS2105で作成した論理ユニットの構成を構成情報に反映する。 The primary unit 110 moves the process to step S2106, it is reflected in the configuration information the configuration of the logical unit created in step S2105.

ステップS2107において、プライマリ装置110は、図22で示す処理によって、各制御モジュールで使用するボリュームを決定する。 In step S2107, the primary device 110 by the processing shown in FIG. 22, to determine the volume to be used for each control module. 以下、各制御モジュールで使用するボリュームを、必要に応じて「担当ボリューム」という。 Hereinafter, the volume to be used for each control module, optionally referred to as "charge volume". 各制御モジュールは、この決定したボリュームを退避用バッファ118の領域として使用する。 Each control module uses this determined volume as the area save buffer 118.

以上の処理が終了すると、プライマリ装置110は、ステップS2108に移行して退避用バッファ118の領域を生成する処理を終了する。 When the above process is completed, the primary unit 110 ends the process of generating a region of the save buffer 118 and proceeds to step S2108.
図22は、本実施例に係る退避用バッファ118の制御モジュールへの割り当て(ステップS2107)の具体的な処理を示すフローチャートである。 Figure 22 is a flowchart illustrating a specific process of allocation (step S2107) to the control module of the save buffer 118 according to the present embodiment. 図22に示す処理は、プライマリ装置110の起動時の他に、保守作業時にも実行できる。 The process shown in FIG. 22, in addition to the startup of the primary device 110 can run even during maintenance work.

ステップS2201において、プライマリ装置110は、構成情報を参照し、退避用バッファ118として割り当てるRAIDグループの数(A)を取得する。 In step S2201, the primary unit 110 refers to the configuration information to obtain the number of the RAID group assigned as the save buffer 118 (A).
さらに、プライマリ装置110は、処理をステップS2202に移行し、構成情報からプライマリ装置に実装されている制御モジュールの数(B)を取得する。 Furthermore, the primary unit 110 moves the process to step S2202, and acquires the number (B) of the control module mounted on the primary unit from the configuration information.

ステップS2203において、プライマリ装置110は、RAIDグループあたりの制御モジュールの数(C)=(B)/(A)を算出する。 In step S2203, the primary unit 110 calculates the number of control modules per RAID group (C) = (B) / (A). そして、処理をステップS2204に移行し、各RAIDグループに対して(C)個の制御モジュールを割り当てる。 Then, the flow goes to step S2204, assign (C) number of the control module for each RAID group.

ステップS2205において、プライマリ装置110は、各RAIDグループのボリュームの数を(C)で除算し、担当ボリュームの数(D)を算出する。 In step S2205, the primary unit 110 divides the number of volumes of the RAID group (C), calculates the number of charge volumes (D). そして、プライマリ装置110は、処理をステップS2206に移行し、ステップS2205の算出結果から、RAIDグループ毎に割り当てた制御モジュールに対して担当ボリュームを(D)個を割り当てる。 The primary unit 110 moves the process to step S2206, the calculation result in step S2205, assign (D) number of charge volume to control module assigned for each RAID group.

ステップS2207において、プライマリ装置110は、以上の処理によって決定した構成を構成情報に反映するとともに、各制御モジュールが備える設定情報にも反映し、処理を終了する(ステップS2208)。 In step S2207, the primary unit 110 is configured to reflect the above configuration information structure determined by the processing, and reflected in the setting information each control module comprises, the process ends (step S2208).

図23は、本実施例に係る個別バッファへの格納処理(ステップS2005a)の概要を示す図である。 Figure 23 is a diagram showing an outline of process of storing the individual buffer (step S2005a) according to the present embodiment.
なお、図23は、理解を容易にするために、順方向のリモートコピーの場合のプライマリ装置110におけるディスク装置117と個別バッファとの関係のみに簡略化した図となっている。 Incidentally, FIG. 23, for ease of understanding, a disk device 117 in the primary unit 110 in the case of the forward direction of the remote copy with the simplified diagram only on the relation between the individual buffer. しかし、ディスク装置117や個別バッファなど本実施例に係るストレージシステム100の構成を限定する趣旨ではない。 However, it is not intended to limit the configuration of the storage system 100 according to the present embodiment as disk units 117 and individual buffer. また、逆方向のリモートコピーの場合のセカンダリ装置120においても、図23に示す個別バッファへの格納処理を行なうことができるのは当然である。 Also in the secondary device 120 in the case of the reverse direction of the remote copy, is a matter of course it is possible to perform the storage process to the individual buffer shown in FIG. 23.

例えば、プライマリ装置110が、ホスト150からWrite I/O命令を受付けたとする。 For example, the primary unit 110, to the host 150 and received the Write I / O instructions. すると、プライマリ装置110は、受け付けたWrite I/O命令とともに受信したWriteデータを、バッファ管理テーブル300に記録された現在使用している対象バッファセットIDが示す格納対象バッファセット、すなわち、各制御モジュールの個別バッファに分散して記憶する。 Then, the primary unit 110, the Write data received with Write I / O command received, storing object buffer set indicated by the target buffer set ID that is used currently recorded in the buffer management table 300, i.e., each control module distributed and stored in a separate buffer.

ここで、ホスト150から連続してWrite I/O命令を受けて、ディスク装置117に、WriteデータA、B、a、C、bの順にWriteデータが書き込まれる場合を考える。 Here, upon receiving a Write I / O instruction continuously from the host 150, the disk device 117, a case where Write data A, B, a, C, Write data in the order of b is written. ただし、WriteデータAとaは同じWriteアドレスを指定されたデータであるとする。 However, Write data A and a are assumed to be data specified the same Write address. また、WriteデータBとbは同じWriteアドレスを指定されたデータであるとする。 Further, Write data B and b is assumed to be data specified the same Write address. なお、Write I/O命令の要求にしたがってWriteデータを格納する記憶領域の先頭アドレスを「Writeアドレス」という。 Incidentally, the start address of a storage area for storing the Write data according Write I / O instruction request of "Write Address".

(1)プライマリ装置110は、ホスト150からWrite I/O命令を受付けると、受け付けたWrite I/O命令とともに受信したWriteデータと同じWriteアドレスのデータが個別バッファに既に格納されているかをBITなどを参照して確認する。 (1) the primary unit 110, upon receipt of the Write I / O command from the host 150, whether the data of the same Write address Write data received with Write I / O command received is already stored in a separate buffer BIT etc. with reference to confirm.

そして、Writeデータと同じWriteアドレスのデータが個別バッファに格納されていなければ、バッファ管理テーブル300の現在使用している対象バッファセットIDが示す格納対象バッファセットの個別バッファにWriteデータを記憶する。 Then, if the data of the same Write address Write data is not stored in a separate buffer, stores Write data into individual buffers storing object buffer set indicated by the target buffer set ID that is currently used in the buffer management table 300. 図23の例では、WriteデータAとBが、それぞれバッファID「0000」、「0001」の個別バッファに順番に格納される例を示している。 In the example of FIG. 23, the Write data A and B, respectively buffer ID "0000" shows an example that is stored sequentially in a separate buffer "0001". なお、図23では、理解を容易にするために、1つの個別バッファには1つのデータだけが記憶される場合について示しているが、これに限定する趣旨ではない。 In FIG. 23, for ease of understanding, only one data in one individual buffer shows a case where stored, it is not intended to limit thereto.

(2)ホスト150からWriteデータaについてのWrite I/O命令を受けると、Writeデータaと同じWriteアドレスのデータAが個別バッファに格納されているので、プライマリ装置110は、WriteデータAをWriteデータaに更新する。 (2) from the host 150 receives a Write I / O instructions for Write data a, the data A of the same Write address Write data a is stored in a separate buffer, the primary unit 110, the Write data A Write to update the data a. なお、WriteデータaのデータサイズがWriteデータAのデータサイズよりも大きいため、WriteデータAが格納された個別バッファにWriteデータaを格納できない場合が考えられる。 Since the data size of Write data a is larger than the data size of Write data A, when it is not possible to store the Write data a in a separate buffer Write data A is stored is considered. この場合、プライマリ装置110は、WriteデータAをWriteデータaに更新することなく、他の個別バッファにWriteデータaを格納することができる。 In this case, the primary unit 110 without updating the Write data A Write data a, it is possible to store the Write data a to another individual buffers.

(3)ホスト150からWriteデータCについてのWrite I/O命令を受けると、WriteデータCと同じWriteアドレスのデータが個別バッファに格納されていないので、プライマリ装置110は、バッファID「0002」にWriteデータCを格納する。 (3) from the host 150 receives a Write I / O instructions for Write data C, since data of the same Write address Write data C is not stored in a separate buffer, the primary unit 110, a buffer ID "0002" to store the Write data C.

ホスト150からWriteデータbについてのWrite I/O命令を受けると、Writeデータbと同じWriteアドレスのデータBが個別バッファに格納されているので、プライマリ装置110は、WriteデータBをWriteデータbに更新する。 From the host 150 receives a Write I / O instructions for Write Data b, since the data B of the same Write address Write data b is stored in a separate buffer, the primary unit 110, the Write data B to the Write data b Update.

図24は、本実施例に係る個別バッファへの格納処理(ステップS2005a)を示すフローチャートである。 Figure 24 is a flowchart showing the storage process to the individual buffer (step S2005a) according to the present embodiment.
ステップS2401において、プライマリ装置110は、ディスク装置117に格納されたWriteデータのうち、セカンダリ装置120に転送するデータをディスク装置117から読み出す。 In step S2401, the primary unit 110, among the Write data stored in the disk device 117 reads data to be transferred to the secondary device 120 from the disk unit 117.

ステップS2402において、プライマリ装置110は、記録専用バッファ201を参照し、Writeデータと同じWriteアドレスのデータを検索する。 In step S2402, the primary unit 110 refers to the write-only buffer 201, it searches the data of the same Write address Write data.
Writeデータと同じWriteアドレスのデータを検出すると(ステップS2403 YES)、プライマリ装置110は、検出したデータが格納されている個別バッファにWriteデータを上書きする(ステップS2404)。 Upon detection of the same Write address data and Write data (step S2403 YES), the primary unit 110 overwrites the Write data into individual buffers the detected data is stored (step S2404).

また、Writeデータと同じWriteアドレスのデータを検出しない場合(ステップS2403 NO)、プライマリ装置110は、Writeデータを格納対象バッファセットの個別バッファへ格納する(ステップS2405)。 Also, does not detect the data of the same Write address Write data (step S2403 NO), the primary unit 110 stores the Write data into individual buffers storing object buffer set (step S2405).
以上の処理が終了すると、プライマリ装置110は、個別バッファへの格納処理を終了する(ステップS2406)。 When the above process is completed, the primary unit 110 ends the storage process to the individual buffer (step S2406).

図25は、本実施例に係るバッファセットの切替え処理を示すフローチャートである。 Figure 25 is a flowchart showing a switching process of the buffer set according to the present embodiment. 図25の処理は、図20Aに示したステップS2009aの具体的な処理を示している。 Processing of FIG. 25 shows a specific processing in step S2009a as shown in FIG. 20A.
例えば、Write I/O延長で行なわれる格納処理でバッファセット内の個別バッファに空きがなくなる、または、バッファセットの切替え処理が行なわれてから一定時間経過すると、プライマリ装置110は、バッファセットの切替え処理を開始する(ステップS2500)。 For example, there is no space in a separate buffer in the buffer set at storage process performed by the Write I / O extension, or, after a certain length of time has elapsed since the switching process of the buffer set is performed, the primary unit 110 switches the buffer set to start the process (step S2500).

ステップS2501において、プライマリ装置110は、空きバッファセット、すなわち、バッファセット管理テーブル400に未使用と設定されているバッファセットがあるか否かを判別する。 In step S2501, the primary unit 110 is empty buffer set, i.e., determines whether there is a buffer set that is set as unused in the buffer set management table 400.

ステップS2501において、空きバッファセットがない場合(ステップS2501 NO)、プライマリ装置110は、処理をステップS2502に移行し、バッファHalt処理待ちの状態となる(ステップS2502)。 In step S2501, if there are no free buffer set (step S2501 NO), the primary unit 110 moves the process to step S2502, the state of the buffer Halt pending (step S2502). その後、バッファHalt処理が実行されてバッファ枯渇状態が解消すると、プライマリ装置110は、Write I/O命令の処理を再開する。 Thereafter, the buffer Halt processing is performed to eliminate the buffer exhaustion condition, the primary unit 110 restarts the processing of the Write I / O instructions. バッファHalt処理では、記録専用バッファやバッファセット情報記憶部など、図2に示した記憶部に記憶されたデータの一部または全部をクリアすることができる。 The buffer Halt processing, such as a recording-only buffer or the buffer set information storage unit, it is possible to clear some or all of the data stored in the storage unit shown in FIG.

この場合、プライマリ装置110は、バッファセットに記憶されているWriteデータ等の情報、例えばWriteデータやそのBITなどを専用のビットマップに書き戻し、バッファHalt処理の実行後にそのビットマップにしたがって順序性を保証しないリモートコピー転送を行なう。 In this case, the primary unit 110, Write data information such as stored in the buffer set, e.g., such as Write data and the BIT back in a dedicated bitmap, ordering in accordance with the bit map after execution of the buffer Halt processing perform remote copy transfer that does not guarantee.

ステップS2501において、空きバッファセットがある場合(ステップS2501 YES)、プライマリ装置110は、処理をステップS2503に移行する。 In step S2501, if there is an empty buffer set (step S2501 YES), the primary unit 110 shifts the processing to step S2503. すると、プライマリ装置110は、空きバッファセットを1つ選択し、選択したバッファセットを使用中、すなわち、必要に応じてバッファセット管理テーブル400の使用目的欄に、ステージング、ライトバックまたは記憶を設定する(ステップS2503)。 Then, the primary unit 110 selects one vacant buffer set, in use a buffer selected set, i.e., the intended field use of the buffer set management table 400 as required, staging, sets the write-back or stored (step S2503).

ステップS2504において、プライマリ装置110は、使用するバッファセットを、ステップS2503で選択したバッファセットに切り替える。 In step S2504, the primary unit 110, a buffer set to be used is switched to the buffer set selected in step S2503. すると、プライマリ装置110は、Write I/O命令を管理する待ち行列等を参照し、待ち状態のWrite I/Oについて処理を再開する(ステップS2505)。 Then, the primary unit 110 refers to the queue or the like for managing the Write I / O instruction, and restarts the processing for the Write I / O wait state (step S2505).
以上の処理が終了すると、プライマリ装置110は、バッファセットを切り替える処理を終了する(ステップS2506)。 When the above process is completed, the primary unit 110 ends the process of switching the buffer set (step S2506).

本実施例に係るバッファ退避処理では、ライトバックポインタ情報とステージポインタ情報の2つの情報により、退避用バッファ118や130に記憶するデータの書き込み位置(世代)と退避用バッファ118や130から読み出すデータの読み出し位置(世代)とを管理する。 The buffer save processing according to the present embodiment reads the two pieces of information writeback pointer information and stage pointer information, write position of data to be stored in the save buffer 118 and 130 and (generation) from the save buffer 118 and 130 data to manage the position of the read-out (generation).

図26は、本実施例に係るバッファ退避処理におけるライトバックポインタ情報・ステージポインタ情報を説明する図である。 Figure 26 is a diagram for explaining a write-back pointer information and stage pointer information in the buffer save processing according to the present embodiment. なお、図26に示す2601は、退避用バッファ118を簡略化して示したものである。 Incidentally, 2601 shown in FIG. 26 is one in which the save buffer 118 shown in simplified form. 同様に、図26に示す2602および2603は、バッファセットを簡略化して示したものである。 Similarly, 2602 and 2603 shown in FIG. 26 is a view showing a simplified buffer set.

例えば、制御モジュールにおいてx回目のバッファセット切り替えが行なわれた場合を考える。 For example, consider the case where the buffer set switching of the x-th is performed in the control module. この場合、ステージポインタ情報は、最後にステージングが行なわれたバッファセットの世代を保持する。 In this case, the stage pointer information is finally staging holds the generation buffer set made. ライトバックポインタ情報は、退避用バッファ2601の世代xを情報として保持する。 Writeback pointer information holds generation x of the save buffer 2601 as information.

また、制御モジュールにおいてx+1回目のバッファセット切り替え時に、世代xのバッファセットデータがすぐにセカンダリ装置120に転送された場合を考える。 Further, when the buffer set switching of the x + 1-th in the control module, consider the case where the buffer set data generation x is immediately transferred to the secondary device 120. この場合、世代xに記憶されているバッファセットデータが退避用バッファ118からプライマリ装置110のバッファセットにステージングされる。 In this case, the buffer set data stored in the generation x is staged into the buffer set of primary device 110 from the save buffer 118. そして、プライマリ装置110からセカンダリ装置120へのバッファセットデータの転送処理が完了すると、ステージポインタ情報は、世代xから世代x+1に更新される。 When the transfer processing of the buffer set data from the primary device 110 to the secondary device 120 is completed, the stage pointer information is updated from generation x generations x + 1. ライトバックポインタ情報は、退避用バッファ2601の世代x+1を情報として保持する。 Writeback pointer information retains generation x + 1 of the save buffer 2601 as information.

また、制御モジュールにおいてx+2回目のバッファセット切り替え時に、世代x+1が退避用バッファ2601にライトバックされた場合を考える。 Further, x + 2 th when buffer set switches to the control module, consider the case where the generation x + 1 is written back to the save buffer 2601. この場合、ステージポインタ情報が保持する退避用バッファ2601の世代が世代xであれば、次のステージング対象は世代x+1となる。 In this case, if the generation generation x of the save buffer 2601 the stage pointer information is held next staging subject becomes generation x + 1. ライトバックポインタ情報は、ボリュームグループの世代x+2を保持する。 Writeback pointer information retains generation x + 2 volume group.

以上のように、ライトバックポインタ情報は、バッファセットが生成される毎に生成されたバッファセットの次の世代を情報として保持する。 As described above, the write-back pointer information holds the next-generation buffer set generated for each buffer set is generated as information. また、切り替えられた旧世代のバッファセットの処理が完了する毎に、例えば、プライマリ装置110でバッファセットデータの転送が完了しかつセカンダリ装置120でデータの展開が完了する毎に、ステージポインタ情報が更新される。 Further, each processing of the old-generation buffer set has been switched is completed, for example, each buffer set data transfer is complete and deployment of the data on the secondary device 120 is completed in the primary device 110, the stage pointer information It is updated.

なお、退避用バッファ2601として割当てたボリュームグループが複数ある場合、ボリュームグループは、ボリュームグループに割り当てられた番号の小さい順に使用される。 Incidentally, the volume group assigned as the save buffer 2601 when a plurality of volume groups are used in ascending order of numbers assigned to the volume group. そして、ボリュームグループを最後まで使用した場合、最初にもどりサイクリックにボリュームグループを使用する。 And, if you use the volume group to the end, to use the volume group in a cyclic return to the first.

以下、図27および図28にライトバックポインタ情報およびステージポインタ情報の具体的な更新処理を説明する。 Hereinafter, specific update processing of the write-back pointer information and stage pointer information in FIGS. 27 and 28.
図27は、本実施例に係るライトバックポインタ情報の更新処理を示すフローチャートである。 Figure 27 is a flowchart showing a process of updating the write-back pointer information according to the present embodiment.

ステップS2700aにおいて、プライマリ装置110に備わる制御モジュールを代表するマスタ制御モジュールは、バッファセットの切替え処理が行なわれると、処理をステップS2701aに移行する。 In step S2700a, the master control module representing a control module included in the primary unit 110, the switching processing buffer set is made, the flow goes to step S2701a.

ステップS2701aにおいて、マスタ制御モジュールは、現在保持しているライトバックポインタ情報を1つ進める。 In step S2701a, the master control module advances one writeback pointer information currently held. 例えば、マスタ制御モジュールは、バッファ管理テーブル300のライトバックポインタ情報に保持されている世代を1だけインクリメントする。 For example, the master control module increments the generation held in the write-back pointer information in the buffer management table 300 by one.

ステップS2702aにおいて、マスタ制御モジュールは、ステップS2701aで求めたライトバックポインタ情報に、自身が保持するバッファ管理テーブル300中のライトバックポインタ情報を更新する。 In step S2702a, the master control module, the write-back pointer information obtained in step S2701a, itself updates the write-back pointer information in the buffer management table 300 for holding. さらに、マスタ制御モジュールは、プライマリ装置110に備わる他の制御モジュールに対して、ステップS2702aと同様の処理を依頼する。 Furthermore, the master control module to other control modules included in the primary device 110, it requests the same processing as step S2702a.

一方、ステップS2701bにおいて、各制御モジュールは、ステップS2701aで求められたライトバックポインタ情報に、各自が保持するバッファ管理テーブル300中のライトバックポインタ情報を更新する。 On the other hand, in step S2701b, each control module, the write-back pointer information obtained in step S2701a, and updates the write-back pointer information in the buffer management table 300 each holds. そして、各制御モジュールは、バッファ管理テーブル300の更新が完了すると、その旨をマスタ制御モジュールに通知する。 Each control module, the update of the buffer management table 300 is completed, notifies the master control module.

ステップS2703aにおいて、マスタ制御モジュールは、依頼した全ての制御モジュールから応答を受信したか否かをチェックし、応答を受信していない制御モジュールがある場合には(S2703a NO)、ステップS2703aの処理を繰り返す。 In step S2703a, the master control module checks whether it has received a response from all the control modules requesting, if there is control module does not receive the response (S2703a NO), the processing of steps S2703a repeat.

ステップS2703aにおいて、依頼した全ての制御モジュールから応答を受信したと判断すると(S2703a YES)、マスタ制御モジュールは、処理をステップS2704aに移行する。 In step S2703a, when it is determined that a response has been received from all of the control modules requesting (S2703a YES), the master control module, the flow goes to step S2704a. 一方、セカンダリ装置120は、ステップS2701bの処理の後、処理をステップS2702bに移行する。 On the other hand, the secondary unit 120, after the processing in step S2701b, the flow goes to step S2702b. そして、ライトバックポインタ情報の更新処理が終了する。 Then, the update processing of the write-back pointer information is completed.

図28は、本実施例に係るステージポインタ情報の更新処理を示すフローチャートである。 Figure 28 is a flowchart showing a process of updating stage pointer information according to the present embodiment.
ステップS2800aにおいて、プライマリ装置110のマスタ制御モジュールは、バッファセットの解放処理を開始すると、処理をステップS2801aに移行する。 In step S2800a, the master control module of the primary unit 110 starts the process of freeing the buffer set, the flow goes to step S2801a.

ステップS2801aにおいて、マスタ制御モジュールは、解放対象のバッファセットがあるか否かを判別する。 In step S2801a, the master control module determines whether there is a buffer set of freed. 解放対象となるバッファセットがない場合(S2801a NO)、マスタ制御モジュールは、ステップS2804aに移行し、処理を終了する。 If there is no buffer set to be freed (S2801a NO), the master control module, the process proceeds to step S2804a, the process ends.

なお、本実施例では、セカンダリ装置120へのバッファセットデータの転送が完了し、かつ、セカンダリ装置120から転送したバッファセットデータのディスク装置への展開が完了した旨の通知を受けたバッファセットを、領域解放の対象と判断する。 In this embodiment, the buffer set data transfer is complete to the secondary device 120, and a buffer set a notification that deployment is complete to the disk device buffer set data transferred from the secondary device 120 , it is determined that the target area release. この通知は、例えば、セカンダリ装置のマスタ制御モジュールからプライマリ装置110のマスタ制御モジュールに送られる。 This notification may be, for example, sent from the master control module of the secondary unit to the master control module of the primary device 110.

ステップS2801aにおいて、解放対象となるバッファセットがある場合(S2801a YES)、マスタ制御モジュールは、処理をステップS2802aに移行する。 In Step S2801a, if there is a buffer set to be freed (S2801a YES), the master control module, the flow goes to step S2802a.
ステップS2802aにおいて、マスタ制御モジュールは、解放対象となるバッファセットの個別バッファ、BITおよびバッファセット情報を解放するとともに、ステージポインタ情報を更新する。 In step S2802a, the master control module, individual buffer of the buffer set to be freed, thereby releasing the BIT and buffer set information, updates the stage pointer information. 例えば、マスタ制御モジュールは、バッファ管理テーブルのステージポインタ情報に保持されている世代を次の世代に更新する。 For example, the master control module updates the generation which is held on the stage pointer information in the buffer management table to the next generation.

また、マスタ制御モジュールは、プライマリ装置110に備わる他の制御モジュールに対して、ステップS2802aと同様の更新を依頼する。 The master control module to other control modules included in the primary device 110, requests the same updates and step S2802a.
ステップS2801bにおいて、各制御モジュールは、マスタ制御モジュールから更新依頼を受けると、解放対象のバッファセットの個別バッファ、BITおよびバッファセット情報を解放するとともに、ステージポインタ情報を更新する。 In step S2801b, each control module receives the update request from the master control module, the individual buffer of the buffer set freed, with releasing the BIT and buffer set information, updates the stage pointer information. 処理が完了すると、各制御モジュールは、マスタ制御モジュールに対して完了通知を行なう。 When processing is complete, the control module performs a completion notification to the master control module.

ステップS2803aにおいて、マスタ制御モジュールは、依頼した制御モジュールからの応答、すなわち完了通知を確認し、全ての制御モジュールから応答を受信したか否かを判別する。 In step S2803a, the master control module, the response from the control module that requested, i.e. confirming the completion notification, and determines whether it has received a response from all the control modules. そして、応答を受信していない制御モジュールがある場合(S2803a NO)、ステップS1903の処理を繰返す。 Then, if there is a control module that does not receive the response (S2803a NO), it repeats the processing in step S1903.

また、ステップS2803aにおいて、全ての制御モジュールから応答を受信したと判断した場合(S2803a YES)、マスタ制御モジュールは、処理をステップS2804aに移行する。 Further, in step S2803a, when it is determined that a response has been received from all of the control modules (S2803a YES), the master control module, the flow goes to step S2804a. また、他の制御モジュールは、ステップS2801bの処理の後、処理をステップS2802bに移行する。 Further, other control module, after the processing in step S2801b, the flow goes to step S2802b. そして、ステージポインタ情報の更新処理が終了する。 Then, the update processing of the stage pointer information is completed.

図29は、本実施例に係るライトバックを示すフローチャートである。 Figure 29 is a flowchart illustrating a write-back according to this embodiment.
ステップS2900aにおいて、例えば、Writeデータのバッファセットへの記憶処理が完了すると、プライマリ装置110におけるマスタ制御モジュールは、処理をステップS2901aに移行する。 In step S2900a, for example, if the storage process to the buffer set of Write data is completed, the master control module in the primary unit 110 goes to step S2901a.

ステップS2901aにおいて、マスタ制御モジュールは、ステージング・転送で使用中のバッファセット数を取得する。 In step S2901a, the master control module acquires the buffer set number being used by the staging transfer. そして、マスタ制御モジュールは、ステージング・転送で使用中のバッファセット数とバッファ閾値とを比較し、使用中のバッファセット数がバッファ閾値以上ではない場合(S2901a NO)、処理をステップS2905aに移行する。 Then, the master control module compares the buffer set number and the buffer threshold is in use in the staging transfer, if the buffer number of sets in use is not more than the buffer threshold (S2901a NO), the flow goes to step S2905a . また、マスタ制御モジュールは、ステージング・転送で使用中のバッファセット数がバッファ閾値以上であった場合(S2901a YES)、処理をステップS2902aに移行する。 The master control module, if the buffer number of sets in use is equal to or larger than the buffer threshold staging transfer (S2901a YES), the flow goes to step S2902a.

ステップS2902aにおいて、マスタ制御モジュールは、以下のようにライトバックを行なう。 In step S2902a, the master control module to perform a write-back as follows. なお、ライトバックの対象となるバッファセットを「ライトバック対象世代」という。 In addition, a buffer set as a target of the write-back of "write-back target generation".

まず、マスタ制御モジュールは、退避用バッファ管理テーブル500から、ライトバック対象世代を記憶すべき個別退避用バッファのアドレスを算出する。 First, the master control module, the save buffer management table 500, calculates the address of an individual save buffer should store the write-back target generation. そして、マスタ制御モジュールは、算出したアドレスに、図20AのステップS2009aで説明したライトバック対象バッファセットのうちマスタ制御モジュールに備わる個別バッファに記憶されているバッファデータ、そのBITおよびバッファセット情報を記憶する。 Then, the master control module stores the calculated address, the buffer data stored in the individual buffer included in the master control module of the write-back target buffer set described in step S2009a in FIG. 20A, the BIT and the buffer set information to.

なお、個別退避用バッファの先頭アドレスは、制御モジュールに割り当てられた退避用バッファが連続したアドレス空間である場合、退避用バッファ管理テーブル500に設定されている「退避データの記憶先頭アドレス」に、「(ライトバック対象世代−1)×個別退避用バッファサイズ」を加えることにより求めることができる。 Incidentally, the individual head address of the save buffer, if the save buffer assigned to the control module are contiguous address space "stores the head address of the save data" set in the save buffer management table 500, can be obtained by adding "(written back generation -1) × individual save buffer size".

ライトバックが完了すると、マスタ制御モジュールは、プライマリ装置110に備わる他の制御モジュールに対して、ステップS2902aと同様の処理を依頼する。 When the write-back is completed, the master control module to other control modules included in the primary device 110, it requests the same processing as step S2902a.
ステップS2901bにおいて、各制御モジュールは、マスタ制御モジュールから依頼のあったバッファセットのうち各制御モジュールに備わる個別バッファに記憶されているバッファデータ、そのBITおよびバッファセット情報を、自身のBIT記憶部201b等から取得する。 In step S2901b, each control module, the buffer data stored in the individual buffer provided in the control modules of the buffer set that was the master control module of the request, the BIT and buffer set information, its own BIT storage unit 201b to get from the like. そして、各制御モジュールは、取得したBITおよびバッファセット情報を、各制御モジュールに割当てられた個別退避用バッファに退避する。 Each control module, the acquired BIT and buffer set information is saved in the individual save buffer assigned to each control module.

なお、各制御モジュールに割り当てられた個別退避用バッファも、制御モジュールに割り当てられた退避用バッファが連続したアドレス空間とした場合、退避用バッファ管理テーブル500に設定されている「退避データの記憶先頭アドレス」に、「(ライトバック対象世代−1)×個別退避用バッファサイズ」を加えることにより求めることができる。 Even individual save buffer assigned to each control module, if the save buffer assigned to the control module has a continuous address space, the memory head of the "saved data set in the save buffer management table 500 the address "can be obtained by adding" (written back generation -1) × individual save buffer size ".

ステップS2902bにおいて、各制御モジュールは、マスタ制御モジュールから依頼のあったバッファセットのうち各制御モジュールに備わる個別バッファに、Writeデータ等のバッファデータが記憶されているか否かをチェックする。 In step S2902b, each control module, the individual buffer provided in the control modules of the buffer set that was the master control module of the request, the buffer data, such as Write data is checked whether it is stored.

そして、Writeデータ等のバッファデータが個別バッファにない場合(S2902b NO)、各制御モジュールは、ステップS2903bをスキップする。 When buffer data such as Write data is not in the individual buffer (S2902b NO), the control module skips step S2903b. また、Writeデータ等のバッファデータが個別バッファにある場合(S2902b YES)、各制御モジュールは、処理をステップS2903bに移行する。 Also, if the buffer data, such as Write data is in a separate buffer (S2902b YES), the control module moves the process to step S2903b.

ステップS2903bにおいて、各制御モジュールは、個別バッファに記憶されているWriteデータ等のバッファデータを、各制御モジュールに割当てられた退避用バッファ118の個別退避用バッファに退避する。 In step S2903b, each control module saves the buffer data, such as Write data stored in the individual buffers, the individual save buffer of the save buffer 118 assigned to each control module. そして、マスタ制御モジュールに依頼された処理の完了を通知する。 Then notifies the completion of processing requested to the master control module.

一方、ステップS2903aにおいて、マスタ制御モジュールは、依頼した全ての制御モジュールから応答を受信したか否かをチェックし、応答を受信していない制御モジュールがある場合には(S2903a NO)、ステップS2903aの処理を繰返す。 On the other hand, in step S2903a, the master control module checks whether it has received a response from all the control modules requesting, if there is control module does not receive the response (S2903a NO), in step S2903a It repeats the process.

全ての制御モジュールから応答を受信した場合(S2903a YES)、マスタ制御モジュールは、ライトバック対象バッファセットのバッファセット情報等を解放する(ステップS2904a)。 If a response is received from all the control modules (S2903a YES), the master control module releases the buffer set information of the write-back target buffer set (Step S2904a). また、制御モジュールは、バッファセット管理テーブル400を参照しライトバック対象バッファセットのバッファセットIDと一致するバッファセットIDを未使用に設定する。 The control module is set to unused buffer set ID that matches the buffer set ID of the write-back target buffer set refers to the buffer set management table 400.

以上の処理を終了すると、マスタ制御モジュールは、処理をステップS2905aに移行してバッファ退避処理を終了する。 Upon completion of the above processing, the master control module moves the processing to step S2905a ends the buffer save processing. 他の制御モジュールは、S2902bあるいはS2903bの処理の後、処理をステップS2904bに移行してバッファ退避処理を終了する。 Other control module, after the processing in S2902b or S2903b, processing proceeds to step S2904b ends the buffer save processing.

図30および図31は、本実施例に係るライトバックの具体例を示す図である。 30 and FIG. 31 is a diagram showing a specific example of the write-back according to this embodiment. なお、図30および図31に示す3001は、退避用バッファ118を簡略化して示したものである。 Incidentally, 3001 shown in FIGS. 30 and 31 are those of the save buffer 118 shown in simplified form. 同様に、図30および図31に示す3002〜3004は、バッファセットを簡略化して示したものである。 Similarly, from 3002 to 3004 shown in FIG. 30 and FIG. 31 illustrates a simplified buffer set.

図30および図31は、プライマリ装置110が制御モジュール#00〜#03を備え、各制御モジュールに8つの個別バッファを備えるプライマリ装置110において、バッファ閾値が4の場合のライトバックを説明する図である。 30 and 31, the primary unit 110 comprises a control module # 00 # 03, the primary unit 110 which comprises eight separate buffers for each control module, a drawing buffer threshold is described write-back in the case of 4 is there.

(a)バッファセット1〜4が、転送中、転送完了待ち、解放待ちのいずれかの状態、かつ、(b)バッファセット5がライトバック中の場合を考える。 (A) buffer set 1-4, during the transfer, the transfer completion waiting, any state of the release wait and consider the case is in a write-back (b) buffer set 5. この場合、(c)Writeデータを記憶するのはバッファセット6となる。 In this case, the buffer set 6 to store the (c) Write data.

図31に示すように、(d)バッファセット1が使用していた領域の解放時に、マスタ制御モジュールは、ステージポインタ情報を更新する。 As shown in FIG. 31, upon release of the area used is (d) buffer set 1, the master control module updates the stage pointer information.
バッファセット5のライトバックが処理中の場合、(e)記録専用バッファ201等上にデータがあるので、バッファセット5のライトバックを中断し、バッファセット5のバッファセットデータをセカンダリ装置120に転送する処理を開始する。 If in the write-back process of the buffer set 5, since there is data on the (e) recording only buffer 201 or the like, interrupting the write-back buffer set 5, transfers the buffer set data buffer set 5 to the secondary device 120 a process to start.

また、バッファセット5のライトバックが完了している場合、退避用バッファ118からからバッファセット5のバッファセットデータを読み出してバッファセット1に記憶するステージングを行なう。 Further, if the write-back buffer set 5 has been completed, it performs staging to be stored in the buffer set 1 reads the buffer set data save buffer 118 Karakara buffer set 5.

図32Aおよび図32Bは、本実施例に係るステージングを示すフローチャートである。 FIGS 32A and 32B are flowcharts showing the staging according to the present embodiment. 図32Aおよび図32Bに示す処理は、図20Bに示したステップS2019a〜S2021aの処理を具体的に示している。 The process shown in FIGS. 32A and 32B specifically illustrates the process of step S2019a~S2021a shown in FIG. 20B.

ステップS3200aにおいて、旧世代の解放処理が完了すると、プライマリ装置110におけるマスタ制御モジュールは、処理をステップS3201aに移行する。 In step S3200a, the release processing of old generation is complete, the master control module in the primary unit 110 goes to step S3201a.
ステップS3201aにおいて、マスタ制御モジュールは、ステージング対象となる世代を決定する。 In step S3201a, the master control module determines generation to be staged target. 例えば、マスタ制御モジュールは、ステージポインタ情報を参照し、ステージポインタ情報に記憶されている世代を1だけインクリメントし、インクリメントした世代を新たにステージング対象の世代に決定する。 For example, the master control module refers to the stage pointer information, is incremented by 1 generation stored in the stage pointer information to determine the new staging targeted generation increment generations. このステージング対象の世代を「ステージング対象世代」という。 This staging subject of generation of "staging subject generation". また、図32Aおよび図32Bの処理では、必要に応じて、図20BのステップS2015aの処理で取得しステージングに使用するバッファセットを「ステージング先」と略す。 Further, in the processing of FIGS. 32A and 32B are, if necessary, the buffer set used for obtaining staged in the processing in step S2015a in FIG. 20B referred to as "staged details".

ステップS3202aにおいて、マスタ制御モジュールは、ステージング対象世代のステージング先の領域は解放処理待ちか否かをチェックする。 In step S3202a, the master control module, the staging destination area of ​​the staging subject generation to check whether the release pending. ステージング先の領域が解放待ちの場合(S3202a YES)、マスタ制御モジュールは、処理をステップS3203aに移行する。 If the staging destination area is WAITING (S3202a YES), the master control module, the flow goes to step S3203a.

ステップS3203aにおいて、マスタ制御モジュールは、ステージング対象世代に1を加算した世代を新たなステージング対象世代に設定する。 In step S3203a, the master control module sets the generation obtained by adding 1 to the staging targeted generation to a new staging subject generation. そして、マスタ制御モジュールは、処理をステップS3202aに移行する。 Then, the master control module, the flow goes to step S3202a.

一方、ステップS3202aにおいて、ステージング先の領域が解放待ちでない場合(S3202a NO)、マスタ制御モジュールは、処理をステップS3204aに移行する。 On the other hand, in step S3202a, if the staging destination area is not WAITING (S3202a NO), the master control module, the flow goes to step S3204a.

ステップS3204aにおいて、マスタ制御モジュールは、ステージング先が転送中か否かをチェックする。 In step S3204a, the master control module, the staging destination checks whether during the transfer. ステージング先が転送中の場合(S3204a YES)、マスタ制御モジュールは、処理をステップS3203aに移行する。 If the staging destination is being transferred (S3204a YES), the master control module, the flow goes to step S3203a.

一方、ステップS3204aにおいて、ステージング先が転送中でない場合(S3204a NO)、マスタ制御モジュールは、処理をステップS3205aに移行する。 On the other hand, in step S3204a, if the staging destination is not being transferred (S3204a NO), the master control module, the flow goes to step S3205a.
ステップS3205aにおいて、マスタ制御モジュールは、ステージング対象世代がステージング中か否かをチェックする。 In step S3205a, the master control module, the staging subject generation to check whether or not the staging. ステージング対象世代がステージング中の場合(S3205a YES)、マスタ制御モジュールは、処理をステップS3203aに移行する。 If the staging subject generation in staging (S3205a YES), the master control module, the flow goes to step S3203a.

一方、ステップS3205aにおいて、ステージング対象世代がステージング中でない場合(S3205a NO)、マスタ制御モジュールは、処理をステップS3206aに移行する。 On the other hand, in step S3205a, if the staging subject generation is not being staged (S3205a NO), the master control module, the flow goes to step S3206a.

ステップS3206aにおいて、マスタ制御モジュールは、ステージング対象世代がライトバック中か否かをチェックする。 In step S3206a, the master control module, the staging subject generation to check whether or not the write-back. ステージング対象世代がライトバック中の場合(S3206a YES)、マスタ制御モジュールは、処理をステップS3207aに移行する。 If the staging subject generation in write-back (S3206a YES), the master control module, the flow goes to step S3207a.

ステップS3207aにおいて、マスタ制御モジュールは、自身のライトバックを中断するとともに、プライマリ装置110に備わる他の制御モジュールに対して、ライトバックの中断を依頼する。 In step S3207a, the master control module is configured to suspend its write-back, with respect to the other control modules included in the primary unit 110, a request for interruption of the write-back.

ステップS3201bにおいて、各制御モジュールは、マスタ制御モジュールからのライトバックの中断を依頼を受けると、処理中のライトバックを中断する。 In step S3201b, each control module receives the request to suspend the write-back from the master control module, interrupts the write-back in progress. そして、マスタ制御モジュールに対して、ライトバックを中断した旨を通知する。 Then, the master control module, a notification of interrupted writeback.

ステップS3208aにおいて、マスタ制御モジュールは、ライトバックの中断を依頼した全ての制御モジュールから応答を受信したか否かをチェックし、応答を受信していない制御モジュールがある場合には(S3208a NO)、ステップS3208aの処理を繰り返す。 In step S3208a, the master control module, if all of the control module that requested the interruption of the write-back checks whether it has received a response, there is a control module does not receive the response (S3208a NO), processing of step S3208a repeated.

ステップS3208aにおいて、ライトバックの中断を依頼した全ての制御モジュールから応答を受信したと判断すると(S3208a YES)、マスタ制御モジュールは、処理をステップS3209aに移行し、ステージングを終了する。 In step S3208a, when it is determined that a response has been received from all of the control module that requested the interruption of the write-back (S3208a YES), the master control module moves the process to step S3209a, and ends the staging.

一方、ステップS3206aにおいて、ステージング対象世代がライトバック中でないと判断した場合(S3206a NO)、マスタ制御モジュールは、処理をステップS3210aに移行する。 On the other hand, in step S3206a, when it is determined that the staging subject generation is not in a write-back (S3206a NO), the master control module, the flow goes to step S3210a.

ステップS3210aにおいて、マスタ制御モジュールは、ステージング先が、Writeデータ等の記憶処理中か否かをチェックする。 In step S3210a, the master control module, the staging destination, to check whether or not the storing process, such as Write Data. ステージング先が記憶処理中と判断した場合(S3210a YES)、マスタ制御モジュールは、処理をステップS3211aに移行し、ステージングを終了する。 If the staging destination is determined that in the storage process (S3210a YES), the master control module moves the process to step S3211a, and ends the staging.

ステップS3210aにおいて、ステージング先がWriteデータ等の記憶処理中でないと判断した場合(S3210a NO)、マスタ制御モジュールは、処理をステップS3212aに移行する。 In Step S3210a, if the staging destination is determined not to be in the storage processing such as Write Data (S3210a NO), the master control module, the flow goes to step S3212a.

ステップS3212aにおいて、マスタ制御モジュールは、図20BのステップS2015aの処理で取得したステージング先に既にステージング対象世代が記憶されているか否かをチェックする。 In step S3212a, the master control module, already staging subject generation staging destination acquired by the process at step S2015a in FIG. 20B, it is checked whether it is stored.

ステージング先にステージング対象世代が記憶されている場合(S3212a YES)、マスタ制御モジュールは、ステップS3217aに移行してステージングを終了する。 If the staging subject generation is stored in the staging destination (S3212a YES), the master control module completes the staging proceeds to step S3217a. また、ステージング先にステージング対象世代が記憶されていない場合(S3212a NO)、マスタ制御モジュールは、処理をステップS3213aに移行する。 Also, if the staging subject generation staging destination is not stored (S3212a NO), the master control module, the flow goes to step S3213a.

ステップS3213aにおいて、マスタ制御モジュールは、ステージング・転送で使用中のバッファセット数を取得する。 In step S3213a, the master control module acquires the buffer set number being used by the staging transfer. そして、マスタ制御モジュールは、ステージング・転送で使用中のバッファセット数とバッファ閾値とを比較し、使用中のバッファセット数がバッファ閾値以上であった場合(S3213a YES)、処理をステップS3217aに移行してステージングを終了する。 Then, the master control module compares the buffer set number and the buffer threshold is in use in the staging transfer, if (S3213a YES) buffer set number is equal to or larger than the buffer threshold in use, flow goes to step S3217a to end the staging was. また、マスタ制御モジュールは、ステージング・転送で使用中のバッファセット数がバッファ閾値以上でなかった場合(S3213a NO)、処理をステップS3214aに移行する。 The master control module, when the number of buffer sets in use at the staging transfer is not equal to or greater than the buffer threshold (S3213a NO), the flow goes to step S3214a.

ステップS3214aにおいて、マスタ制御モジュールは、以下のようにステージング対象の世代に対してステージングを行なう。 In step S3214a, the master control module performs staging against staging subject generation as follows.
マスタ制御モジュールは、退避用バッファ管理テーブル500から、ステージング対象世代が記憶されている個別退避用バッファのアドレスを算出する。 The master control module, the save buffer management table 500, the staging subject generation calculates the address of an individual save buffer stored. そして、マスタ制御モジュールは、算出したアドレスからバッファデータ、BITおよびバッファセット情報を取得する。 Then, the master control module, the buffer data from the calculated address, to obtain the BIT and the buffer set information.

そして、マスタ制御モジュールは、取得したバッファデータ、BITおよびバッファセット情報を、ステージング対象バッファセットIDが示すバッファセットのバッファ201a、BIT記憶部201bおよびバッファセット情報記憶部202に記憶する。 Then, the master control module stores the acquired buffer data, BIT and buffer set information, the buffer 201a of the buffer set indicated by the staging subject buffer set ID, the BIT storage unit 201b and the buffer set information storage unit 202. 同様の処理が、プライマリ装置110内の制御モジュール毎に行なわれる。 Similar processing is performed for each control module within the primary device 110.

なお、個別退避用バッファのアドレスは、制御モジュールに割り当てられた退避用バッファが連続したアドレス空間とした場合、退避用バッファ管理テーブル500に設定されている「退避データの記憶先頭アドレス」に、「(ステージング対象世代−1)×個別退避用バッファサイズ」を加えることにより求めることができる。 Note that the individual address of the save buffer, when the save buffer assigned to the control module has a continuous address space, "storage start address of the evacuation data" set in the save buffer management table 500, " (staging targeted generation -1) × can be obtained by adding the individual save buffer size ".

ステップS3215aにおいて、マスタ制御モジュールは、各制御モジュールに対して、ステップS3214aと同様に、退避用バッファ118からステージング対象世代を取得してステージングを行うように依頼する。 In step S3215a, the master control module for each control module, similarly to the step S3214a, requests to perform staged from the save buffer 118 acquires the staging subject generation.

ステップS3202bにおいて、各制御モジュールは、以下のようにバッファセット情報およびBITに対してステージングを行なう。 In step S3202b, each control module performs staging the buffer set information and BIT as follows.
ステージング依頼を受けた各制御モジュールは、自身に割り当てられた退避用バッファ118の個別退避用バッファから、マスタ制御モジュールから依頼のあったステージング対象世代のBITおよびバッファセット情報を取得する。 Each control module has received the staging request from the individual save buffer of the save buffer 118 allocated thereto, to obtain the BIT and the buffer set information of the staging subject generation was the master control module of the request.

そして、各制御モジュールは、退避用バッファ118の個別退避用バッファから取得したBITおよびバッファセット情報を、各制御モジュールに備わるBIT記憶部201bおよびバッファセット情報記憶部202に記憶する。 Each control module stores the acquired BIT and buffer set information from the individual save buffer of the save buffer 118, the BIT storage unit 201b and the buffer set information storage unit 202 provided in the control module.

ステップS3203bにおいて、各制御モジュールは、自身に割り当てられた退避用バッファ118の個別退避用バッファを参照し、ステージング対象世代のバッファデータがあるか否かを判別する。 In step S3203b, each control module refer to an individual save buffer of the save buffer 118 allocated thereto, to determine whether there is a staging subject generation buffer data. そして、ステージング対象世代のバッファデータが退避用バッファ118の個別退避用バッファにある場合(S3203b YES)、各制御モジュールは、そのバッファデータに対してステージングを行なう(S3204b)。 When the buffer data of the staging subject generation in individual save buffer of the save buffer 118 (S3203b YES), the control module performs the staging for the buffer data (S3204b). ステージングが完了すると、各制御モジュールは、マスタ制御モジュールに対して完了通知を行なう。 When the staging is completed, the control module performs a completion notification to the master control module.

また、ステップS3203bにおいて、ステージング対象世代のバッファデータが退避用バッファ118の個別退避用バッファにない場合(S3203b NO)、各制御モジュールは、マスタ制御モジュールに対して完了通知を行う。 Further, in step S3203b, if the buffer data of the staging subject generation is not the individual save buffer of the save buffer 118 (S3203b NO), the control module performs a completion notification to the master control module.

ステップS3216aにおいて、マスタ制御モジュールは、依頼した全ての制御モジュールから応答を受信するまで完了通知を監視する。 In step S3216a, the master control module monitors the completion notification until it receives a response from all the control modules that requested. そして、依頼した全ての制御モジュールから応答を受信すると(S3216a YES)、マスタ制御モジュールは、処理をステップS3217aに移行してステージングを終了する。 When receiving a response from all the control modules requesting (S3216a YES), the master control module moves the processing to step S3217a exit the staging.

図33は、図20Bに示したマッチング処理(ステップS2012a)の具体的な処理を示すフローチャートである。 Figure 33 is a flowchart illustrating a specific process of the matching process shown in FIG. 20B (step S2012a). なお、図33では、プライマリ装置110に備わるマスタ制御モジュールと、その他の制御モジュールと、についての具体的な処理を示す。 Incidentally, shown in Figure 33, the master control module included in the primary unit 110, and other control modules, the specific process for.

ステップS3301aにおいて、マスタ制御モジュールは、未使用バッファID記憶部206を参照する。 In step S3301a, the master control module refers to the unused buffer ID storage unit 206. そして、未使用バッファID記憶部206に記憶されている未使用バッファIDの数が、バッファセット情報記憶部202に記憶されているバッファセット情報に含まれるコピー元IDとのマッチングに必要な数だけあるか否かを確認する。 Then, the number of unused buffer ID stored in the unused buffer ID storage unit 206, the necessary number for matching with the copy source ID included in the buffer set information stored in the buffer set information storage unit 202 to confirm whether or not there.

そして、ステップS3301aにおいて、必要な数の未使用バッファIDがあることを確認できない場合(S3301a NO)、マスタ制御モジュールは、処理をステップS3302aに移行する。 Then, in step S3301a, when it is not possible to ensure that there are a number of unused buffer ID required (S3301a NO), the master control module, the flow goes to step S3302a. そして、マスタ制御モジュールは、S3302aにてセカンダリ装置120からの未使用バッファ通知を待ち、未使用バッファ通知を受付けると、処理をステップS3301aに移行する。 Then, the master control module waits unused buffer notification from the secondary device 120 in S3302a, upon receipt of the unused buffer notification, the flow goes to step S3301a.

また、ステップS3301aにおいて、必要な数の未使用バッファIDがあることを確認すると(S3301a YES)、マスタ制御モジュールは、処理をステップS3303aに移行する。 Further, in step S3301a, when confirming that there are a number of unused buffer ID required (S3301a YES), the master control module, the flow goes to step S3303a.

ステップS3303aにおいて、マスタ制御モジュールは、未使用バッファID記憶部206から必要な数の未使用バッファIDを取得する。 In step S3303a, the master control module obtains the number of unused buffer ID required from the unused buffer ID storage unit 206. そして、マスタ制御モジュールは、既にバッファセット情報記憶部202に記憶されているバッファセット情報に含まれるコピー先IDと、取得した未使用バッファIDとを関連付け、すなわち、コピー元バッファとコピー先バッファとのマッチングを行なう。 Then, the master control module, a destination ID which is already included in the buffer set information stored in the buffer set information storage section 202, associates the unused buffer ID obtained, i.e., a copy source buffer and destination buffer perform matching.

このマッチング処理が終了すると、マスタ制御モジュールは、他の制御モジュールに対して、バッファセット情報の多重化依頼を通知する(ステップS3304a)。 When the matching process is completed, the master control module to other control modules, notifies the multiplexing request buffer set information (Step S3304a).

一方、ステップS3301bにおいて、マスタ制御モジュールからバッファセット情報の多重化依頼の通知を受けると、各制御モジュールは、バッファセット情報の多重化処理を行なう。 On the other hand, in step S3301b, the from the master control module receives a notification of multiplexing request buffer set information, each control module performs a multiplexing process in the buffer set information. ここで、バッファセット情報の多重化処理とは、プライマリ装置110またはセカンダリ装置120に備わる全ての制御モジュールに同一のバッファセット情報を保持させる処理である。 Here, the multiplexing process of the buffer set information, a process of holding the same buffer set information to all control modules included in the primary unit 110 or secondary 120.

例えば、マスタ制御モジュールから、ステップS3303aのマッチング処理が行なわれたバッファセット情報を取得する。 For example, the master control module, the matching process in step S3303a acquires the buffer set information performed. そして、自身に備わるバッファセット情報記憶部202に取得したバッファセット情報を反映する。 Then, to reflect the acquired buffer set information to the buffer set information storage unit 202 provided in itself.

そして、S3301bにおけるバッファセット情報の多重化処理が終了すると、各制御モジュールは、バッファセット情報の多重化処理の完了をマスタ制御モジュールに通知する。 When the multiplexing process of the buffer set information in S3301b is completed, the control module notifies the completion of the multiplexing process of the buffer set information to the master control module.

ステップS3305aにおいて、マスタ制御モジュールは、バッファセット情報の多重化処理の依頼をした制御モジュールの全てから応答を受信したか否かを確認する。 In step S3305a, the master control module checks whether a response has been received from all of the control module in which the request for the multiplex processing of the buffer set information. そして、当該応答を全ての制御モジュールから受信したと判断すると(S3305a YES)、コピー先バッファ割り当て処理を終了し(ステップS3306a)、図20Bに示したステップS2013aの処理に移行する。 When it is determined that it has received the response from all the control modules (S3305a YES), ends the destination buffer assignment process (step S3306a), the process proceeds to step S2013a as shown in FIG. 20B.

図34は、本実施例に係る逆方向のリモートコピー時にセカンダリ装置120が退避用バッファを確保する処理(ステップS1908)を示すフローチャートである。 Figure 34 is a flowchart illustrating processing (step S1908) of the secondary device 120 in the reverse of the remote copy of this embodiment is to ensure a save buffer. なお、図34に示す処理は、セカンダリ装置120のようにあらかじめ退避用バッファ118を備えていない場合に退避用バッファを確保するための処理である。 The process shown in FIG. 34 is a process for securing the save buffer if not provided in advance save buffer 118 as the secondary device 120. したがって、退避用バッファ確保の処理を実行するのは、逆方向のリモートコピー時に限られない。 Therefore, to execute the processing of the save buffer securing is not limited to the reverse of the remote copy. また、例えば、プライマリ装置110に退避用バッファ118が備わっていない場合、プライマリ装置110においても適用可能な処理であることは当然である。 Further, for example, if not the save buffer 118 is provided to the primary device 110, it should be understood it is also applicable to processing in the primary unit 110.

例えば、セカンダリ装置120−プライマリ装置110間の通信で遅延等が発生すると、セカンダリ装置120は、退避用バッファ130を確保する処理を開始する(ステップS3400)。 For example, the delay or the like occurs in the communication between the secondary device 120- primary unit 110, the secondary unit 120 starts the process of securing the save buffer 130 (step S3400).

ステップS3401において、セカンダリ装置120は、SnapOPC+を使用しているか否かを確認する。 In step S3401, the secondary unit 120 checks whether using SnapOPC +. SnapOPC+の使用の有無は、例えば、セカンダリ装置120の構成を定義する構成定義情報や、SnapOPC+用Pool管理テーブル800の有無などから判別することができる。 Whether to use the SnapOPC +, for example, and the configuration definition information that defines the configuration of the secondary device 120 can determine the presence or absence of SnapOPC + for Pool management table 800.

SnapOPC+を使用している場合(ステップS3401 YES)、セカンダリ装置120は、退避用バッファの確保先にSnapOPC+用Pool128を選択する(ステップS3402)。 If you are using SnapOPC + (step S3401 YES), the secondary unit 120 selects the SnapOPC + for Pool128 to secure destination save buffer (step S3402). このとき、セカンダリ装置120は、退避用バッファとして使用する記憶領域をSnapOPC+用Pool管理テーブル800に登録する。 At this time, the secondary device 120 registers the storage area to be used as the save buffer to SnapOPC + for Pool management table 800.

また、SnapOPC+を使用していない場合(ステップS3401 NO)、セカンダリ装置120は、Thin Provisioningを使用しているか否かを確認する(ステップS3403)。 Also, if you are not using SnapOPC + (step S3401 NO), the secondary unit 120 checks whether or not using the Thin Provisioning (step S3403). Thin Provisioningの使用の有無は、例えば、セカンダリ装置120の構成を定義する構成定義情報や、Thin Provisioning用管理テーブル1000の有無などから判別することができる。 Whether to use the Thin Provisioning, for example, and the configuration definition information that defines the configuration of the secondary device 120 can determine the presence or absence of Thin Provisioning management table 1000.

Thin Provisioningを使用している場合(ステップS3403 YES)、セカンダリ装置120は、退避用バッファの確保先にThin Provisioning用Pool129を選択する(ステップS3404)。 If you are using the Thin Provisioning (step S3403 YES), the secondary unit 120 selects a Thin Provisioning for Pool129 to secure destination save buffer (step S3404). このとき、セカンダリ装置120は、退避用バッファとして使用する記憶領域をThin Provisioning用管理テーブル1000に登録する。 At this time, the secondary device 120 registers the storage area to be used as the save buffer to Thin Provisioning management table 1000.

また、Thin Provisioningを使用していない場合(ステップS3403 NO)、セカンダリ装置120は、ディスク装置127に空き記憶装置があるか否かを確認する(ステップS3405)。 Also, if you are not using Thin Provisioning (step S3403 NO), the secondary unit 120 checks whether or not the disk device 127 has a free storage (step S3405). 例えば、セカンダリ装置120は、ディスク装置管理テーブル600を参照し、未使用に設定されている記憶装置の有無を確認する。 For example, the secondary unit 120 refers to the disk device management table 600, to confirm the presence or absence of a storage device that is set to the unused.

ここで、空き記憶装置とは、ディスク装置127に備わる磁気ディスク装置などの記憶装置のうち使用可能な状態にない記憶装置、例えば、セカンダリ装置120のシステムに組み込まれていない状態の記憶装置である。 Here, the free storage device, the storage device is not in a usable state of the storage device such as a magnetic disk device included in the disk device 127, for example, a storage device in a state that is not built into the system of the secondary unit 120 . なお、空き記憶装置には、セカンダリ装置120に組み込まれていても読み書きの準備ができていない状態の記憶装置も含むことができる。 Note that the free storage device can be incorporated in the secondary unit 120 also includes a storage device in the state not ready to read and write. また、空き記憶装置には、セカンダリ装置120にあらかじめ予備として備えられた磁気ディスク装置などの記憶装置を含むことができる。 Further, the free storage device may include a storage device such as a magnetic disk apparatus provided as a pre-preliminary to the secondary device 120.

空き記憶装置がある場合(ステップS3405 YES)、セカンダリ装置120は、退避用バッファの確保先に空き記憶装置を選択する(ステップS3406)。 If there is a vacant storage device (step S3405 YES), the secondary unit 120 selects an available storage device to secure destination save buffer (step S3406). なお、空き記憶装置が複数ある場合、必要に応じて、任意の1つを選択してもよいし、容量の大きいものやあらかじめ決められた優先順位が高いものを選択してもよい。 Incidentally, when the free storage device is more, if necessary, may select any one, it may be selected having a high large ones Ya predefined precedence capacity.

ステップS3407において、セカンダリ装置120は、ステップS3402、S3404またはS3406の処理で選択した記憶装置に退避用バッファ130を構築する。 In step S3407, the secondary device 120 constructs a save buffer 130 to the selected storage device in the process of step S3402, S3404 or S3406. なお、ステップS3407および後述するS3411における処理は、図21および図22に示したとおりである。 Note that the processing in steps S3407 and later to S3411 are as shown in FIGS. 21 and 22.

一方、空き記憶装置がない場合(ステップS3405 NO)、セカンダリ装置120は、ディスク装置127に含まれる使用中のRAIDグループうち更新頻度が低くかつ所定の空き容量を確保可能なRAIDグループがあるか否かを確認する(ステップS3408)。 On the other hand, if there are no free memory (step S3405 NO), the secondary device 120 or RAID group out update frequency in use contained in the disk device 127 is a RAID group can be secured a low and predetermined space not check the (step S3408).

なお、「使用中のRAIDグループ」とは、ディスク装置127に含まれるRAIDグループのうち、ユーザが読み書き可能な状態または実際に読み書きが行なわれている状態のRAIDグループをいう。 Note that the "RAID group in use", among the RAID groups included in the disk device 127 refers to the RAID group state in which the user has read-write state or actually write being performed. この状態のRAIDグループの記憶領域を「ユーザ領域」という。 A storage area of ​​the RAID group in this state is referred to as "user area".

ステップS3408において、セカンダリ装置120は、「ディスク装置127に含まれる使用中のRAIDグループうち更新頻度が低くかつ所定の空き容量を確保可能なRAIDグループ」があるか否かを確認する。 In step S3408, the secondary unit 120 checks whether there is a "RAID group can be secured a RAID group of which the update frequency is low and a predetermined space in use contained in the disk device 127". 以下、「ディスク装置127に含まれる使用中のRAIDグループうち更新頻度が低くかつ所定の空き容量を確保可能なRAIDグループ」という条件を「第1の条件」という。 Hereinafter, a condition that "RAID group can be secured a RAID group of which the update frequency is low and a predetermined space in use contained in the disk device 127" of "first condition".

例えば、セカンダリ装置120は、第1の条件を満たすRAIDグループを以下のようにして抽出することができる。 For example, the secondary unit 120, the first condition is satisfied RAID group can be extracted as follows.
セカンダリ装置120は、更新履歴情報1300を参照し、所定の更新時刻より古い更新時刻のコピー範囲を確認する。 Secondary unit 120 refers to the update history information 1300, confirms the copy range of the old update time than the predetermined update time. そして、セカンダリ装置120は、所定の更新時刻より古い更新時刻のコピー範囲を一定割合以上含むRAIDグループを、更新頻度が低いRAIDグループとして抽出する。 The secondary unit 120, the RAID group including more than a certain percentage of the copy range of the old update time than the predetermined update time, the update frequency is extracted as a low RAID group. この場合、より古い更新時刻のコピー範囲を一定割合以上含むRAIDグループを抽出することが望ましい。 In this case, it is desirable to extract RAID group including the copy range of the older update time constant proportion or more.

セカンダリ装置120は、抽出したRAIDグループに所定の空き容量があれば、その抽出したRAIDグループを退避用バッファの確保先に選択する。 The secondary device 120, if the extracted predetermined space in the RAID Group selects a RAID group the extracted to secure destination save buffer. 上述のように、第1の条件を満たすRAIDグループがある場合(ステップS3408 YES)、セカンダリ装置120は、第1の条件を満たすRAIDグループを退避用バッファに選択する(ステップS3409)。 As described above, when there is a first condition is satisfied RAID group (step S3408 YES), the secondary unit 120 selects the first condition is satisfied RAID group in the save buffer (step S3409). また、第1の条件を満たすRAIDグループがない場合(ステップS3408 NO)、セカンダリ装置120は、処理をステップS3410に移行する。 If there is no first condition is satisfied RAID group (step S3408 NO), the secondary unit 120 proceeds to step S3410.

ステップS3410において、セカンダリ装置120は、ディスク装置127に含まれる使用中のRAIDグループのうち、プライマリ装置110と同じデータを格納し更新時刻が最も古い記憶領域を含むRAIDグループを退避用バッファの確保先に選択する。 In step S3410, the secondary device 120, among the RAID groups in use contained in the disk device 127, assuring address of the save buffer the RAID group including the oldest storage area update time contain the same data as the primary device 110 choose to. 以下、「ディスク装置127に含まれる使用中のRAIDグループのうち、プライマリ装置110と同じデータを格納し更新時刻が最も古い記憶領域を含むRAIDグループ」を「第2の条件」という。 Hereinafter, "among the RAID groups in use contained in the disk device 127, the RAID group including the oldest storage area storing update time the same data as the primary unit 110" is referred to as "second condition". なお、「使用中のRAIDグループ」とは、実際にデータの読み書きが行なわれている状態、または読み書きを行なうことが可能な状態にあるRAIDグループのことをいう。 Note that the "RAID group in use" refers to the actual state of reading and writing of data is being performed or RAID group it is in the ready to read and write.

例えば、セカンダリ装置120は、更新履歴情報1300を参照し、バックアップ状況を確認する。 For example, the secondary unit 120 refers to the update history information 1300 to check the backup status. そして、セカンダリ装置120は、更新履歴情報1300にバックアップ済みと設定されているコピー範囲の中から、所定の更新時刻より古い更新時刻のコピー範囲を抽出する。 The secondary unit 120, from the copy range set as backed up in the update history information 1300, and extracts the copy range of the old update time than the predetermined update time. そして、セカンダリ装置120は、抽出したコピー範囲を一定割合以上含むRAIDグループを退避用バッファの確保先に選択する。 The secondary unit 120 selects the RAID group including the extracted copy range predetermined proportion or more in securing destination save buffer.

ステップS3411において、セカンダリ装置120は、ステップS3409またはS3410の処理で選択した記憶装置に退避用バッファ130を構築する。 In step S3411, the secondary device 120 constructs a save buffer 130 to the selected memory device in the processing in step S3409 or S3410. この退避用バッファ130の構築処理については、図21および図22に示したとおりである。 The construction process of the save buffer 130 is as shown in FIGS. 21 and 22.

ステップS3412において、セカンダリ装置120は、退避用バッファビットマップ1200を参照し、退避用バッファ130として使用する記憶領域の状態を「使用」に設定する。 In step S3412, the secondary unit 120 refers to the save buffer bitmap 1200, sets the state of the storage area to be used as the save buffer 130 to "ON". 同時に、セカンダリ装置120は、ディスク装置ビットマップ1100を参照し、退避用バッファ130として使用することになった記憶領域の状態を「未使用」に設定する。 At the same time, the secondary unit 120 sets reference disk device bit map 1100, the state of the storage area has become to be used as the save buffer 130 to "unused". 退避用バッファ130として使用することになった記憶領域は、ユーザ領域として使用しなくなるからである。 Storage area supposed to be used as the save buffer 130 is because no longer used as a user area.

以上の処理が終了すると、セカンダリ装置120は、図19に示した逆方向のリモートコピー時にセカンダリ装置120が退避用バッファを確保する処理を終了する(ステップS3413)。 When the above process ends, the secondary unit 120, the secondary unit 120 has finished processing to ensure the save buffer in the reverse of the remote copy shown in FIG. 19 (Step S3413).

図35は、本実施例に係るセカンダリ装置120のリード処理を示すフローチャートである。 Figure 35 is a flowchart showing the read processing of the secondary device 120 according to this embodiment.
ホスト150からRead I/O命令を受けると、セカンダリ装置120は、処理をステップS3501に移行してリード処理を開始する。 Upon receiving the a Read I / O command from the host 150, the secondary unit 120 moves the processing to step S3501 to start the read process. なお、以下の説明では、Read I/O命令で要求されたデータを「Readデータ」という。 In the following description, the data requested by the Read I / O command "Read data". また、Readデータが格納されている記憶領域の先頭アドレスを「Readアドレス」という。 Also, the top address of the storage area Read data is stored as "Read address".

ステップS3501において、セカンダリ装置120は、Readアドレスの記憶領域が、ユーザ領域に退避用バッファ130として確保された記憶領域であるか否かを確認する。 In step S3501, the secondary device 120, the storage area of ​​Read address, checks whether a storage area allocated as the save buffer 130 in the user area. ユーザ領域に退避用バッファ130が確保された記憶領域に記憶されていたReadデータは退避されたデータで上書きされている可能性があるからである。 Read data save buffer 130 is stored in the storage area secured in the user area is because there may have been overwritten with the saved data.

ステップS3501において、例えば、セカンダリ装置120は、退避用バッファビットマップ1200を参照し、Readアドレスの記憶領域が「使用」となっていれば、ユーザ領域に退避用バッファ130として確保された記憶領域であると判別できる。 In step S3501, for example, the secondary unit 120 refers to the save buffer bitmap 1200, if the storage area of ​​the Read address becomes "used" in the storage area secured as the save buffer 130 in the user area there is to be able to determine.

Readアドレスの記憶領域が、ユーザ領域に退避用バッファ130として確保された記憶領域の場合(ステップS3502 YES)、セカンダリ装置120は、処理をステップS3503に移行する。 Storage area of ​​Read address, if the storage area secured as the save buffer 130 in the user area (step S3502 YES), the secondary unit 120 proceeds to step S3503. そして、セカンダリ装置120は、プライマリ装置110に対して、Readデータを要求する(ステップS3503)。 The secondary unit 120, to the primary unit 110, and requests the Read data (step S3503). セカンダリ装置120にリモートコピーされたユーザ領域のデータは、プライマリ装置110にも保持されているからである。 Data in the user area, which is remote copied to the secondary device 120 is because being held in the primary device 110.

プライマリ装置110からReadデータが送信されると、セカンダリ装置120は、Readデータを受信し(ステップS3504)、受信したReadデータをホスト150に送信する(ステップS3506)。 When Read data is transmitted from the primary unit 110, the secondary device 120 receives the Read data (step S3504), and transmits the received Read data to the host 150 (step S3506).

一方、Readアドレスの記憶領域が、ユーザ領域に退避用バッファ130として確保された記憶領域でない場合(ステップS3502 NO)、セカンダリ装置120は、ディスク装置127からReadデータを取得する(ステップS3505)。 On the other hand, the storage area of ​​Read address, if not a storage area allocated as the save buffer 130 in the user area (step S3502 NO), the secondary unit 120 obtains the Read data from the disk device 127 (step S3505). そして、セカンダリ装置120は、取得したReadデータをホスト150に送信する(ステップS3506)。 The secondary unit 120 transmits the acquired Read data to the host 150 (step S3506).

以上の処理を終了すると、セカンダリ装置120は、リード処理を終了する(ステップS3507)。 Upon completion of the above processing, the secondary unit 120 ends the read process (step S3507).

図36は、本実施例に係るセカンダリ装置120のライト処理の概要を示す図である。 Figure 36 is a diagram showing an outline of the write processing of the secondary device 120 according to this embodiment.
なお、図36では、ディスク装置127が2つのRAIDグループR1およびR2を備える場合を例にしてライト処理の概要を説明する。 In FIG. 36, an overview of write processing to an example in which the disk device 127 is provided with two RAID groups R1 and R2. 図36に示すセカンダリ装置120は、説明の理解を容易にするために簡略化した構成を示しているが、図36に示す構成にセカンダリ装置120を限定する趣旨ではない。 The secondary unit 120 shown in FIG. 36, there is shown a simplified structure for ease of understanding of the description, not intended to limit the secondary device 120 to the configuration shown in FIG. 36. 同様に、説明の理解を容易にするためにRAIDグループ毎に退避用バッファビットマップ1201および1202を示しているが、退避用バッファビットマップは、図12に示したようにセカンダリ装置120全体で1つだけでもよいのは当然である。 Similarly, while indicating the save buffer bitmap 1201 and 1202 for each RAID group in order to facilitate understanding of the description, the save buffer bitmap is 1 in the whole secondary unit 120 as shown in FIG. 12 One may be the only one is a matter of course.

以下に示す(1)〜(8)は、図36に記載の(1)〜(8)に対応する。 It is shown below (1) to (8) correspond to (1) to (8) described in Figure 36.
(1)RAIDグループR1はユーザ領域のみを含み、RAIDグループR2は、ユーザ領域と、図34に示した処理によってユーザ領域に確保された退避用バッファ130とを含んでいるものとする。 (1) RAID group R1 contains only the user area, RAID group R2 is assumed to include a user area and a save buffer 130 secured in the user area by the processing shown in FIG. 34. このとき、退避用バッファビットマップ1202には、退避用バッファ130として使用している記憶領域が使用中であることを示す「1」が設定されている。 At this time, the save buffer bitmap 1202 is set with "1" indicating that the storage area used as the save buffer 130 is in use.
(2)セカンダリ装置120は、ホスト150からI/O命令を受信する。 (2) the secondary unit 120 receives I / O commands from the host 150. 場合により、セカンダリ装置120は、RAIDグループR2に格納されている退避用バッファ130へのWrite I/O命令を受信する。 Optionally, the secondary device 120 receives the Write I / O instructions to save buffer 130 stored in the RAID group R2.
(3)Write I/O命令を受信すると、セカンダリ装置120は、バッファ退避処理を停止する。 (3) Upon receipt of the Write I / O instruction, the secondary unit 120 stops the buffer save processing.
(4)そして、セカンダリ装置120は、RAIDグループR2のユーザ領域に確保された退避用バッファ130を、RAIDグループR1のユーザ領域にコピーする。 (4) Then, the secondary unit 120, the save buffer 130 secured in the user area of ​​the RAID group R2, copied to the user area of ​​the RAID group R1.
(5)退避用バッファ130のコピーが完了すると、セカンダリ装置120は、退避用バッファビットマップ1202の、退避用バッファ130として使用していた記憶領域が未使用であることを示す「0」を設定する。 (5) a copy of the save buffer 130 is completed, the secondary unit 120 sets "0" indicating that the save buffer bitmap 1202, a storage area used as the save buffer 130 is not used to. そして、セカンダリ装置120は、WriteデータをRAIDグループR1に書き込む。 The secondary unit 120 writes the Write data to the RAID group R1.
(6)また、セカンダリ装置120は、退避用バッファビットマップ1201の、RAIDグループR1にコピーされた退避用バッファ130の記憶領域が使用中であることを示す「1」を設定する。 (6) In addition, the secondary unit 120, the save buffer bitmap 1201 is set to "1" indicating that the storage area of ​​the save buffer 130 is copied to the RAID group R1 is in use.
(7)以上のようにして、退避用バッファ130のRAIDグループR2からRAIDグループR1への移動が完了すると、セカンダリ装置120は、バッファ退避処理を再開する。 (7) In the above manner, the transfer from the RAID group R2 of the save buffer 130 to the RAID group R1 is completed, the secondary unit 120 restarts the buffer save processing.
(8)そして、セカンダリ装置120は、退避用バッファ130の移動があった旨のメールを、退避用バッファ130の移動先の記憶領域などの情報とともにホスト150に送信する。 (8) Then, the secondary unit 120, the mail indicating that a movement of the save buffer 130, and transmits to the host 150 together with information such as the destination storage area of ​​the save buffer 130.

図37は、本実施例に係るセカンダリ装置120のライト処理を示すフローチャートである。 Figure 37 is a flowchart showing the write processing of the secondary device 120 according to this embodiment.
ホスト150からWrite I/O命令を受けると、セカンダリ装置120は、処理をステップS3701に移行してライト処理を開始する。 When the host 150 receives the Write I / O instruction, the secondary unit 120 starts the migration to the write processing process to step S3701.

ステップS3701において、セカンダリ装置120は、Writeアドレスの記憶領域が、ユーザ領域に退避用バッファ130として確保された記憶領域であるか否かを確認する。 In step S3701, the secondary device 120, the storage area of ​​the Write address, checks whether a storage area allocated as the save buffer 130 in the user area. 例えば、セカンダリ装置120は、退避用バッファビットマップ1200を参照し、Writeアドレスの記憶領域が使用中に設定されていれば、ユーザ領域に退避用バッファ130として確保された記憶領域であると判別できる。 For example, the secondary unit 120 refers to the save buffer bitmap 1200, the storage area of ​​the Write address if set during use, can be identified as the user area is a storage area reserved as the save buffer 130 .

Writeアドレスの記憶領域が、ユーザ領域に退避用バッファ130として確保された記憶領域の場合(ステップS3702 YES)、セカンダリ装置120は、バッファ退避処理を停止する(ステップS3703)。 The storage area of ​​the Write address, if the storage area secured as the save buffer 130 in the user area (step S3702 YES), the secondary unit 120 stops the buffer save processing (Step S3703).

ステップS3704において、セカンダリ装置120は、ユーザ領域の一部に確保された、退避用バッファ130の代替領域を検索する。 In step S 3704, the secondary device 120, is secured to a portion of the user area, to search for alternate area of ​​the save buffer 130. 本実施例では、現在退避用バッファ130として使用中のRAIDグループ以外のRAIDグループのうち図34に示した第2の条件を満たす領域を検索して代替領域として使用する。 In this embodiment, used as a replacement area search and the second condition is satisfied areas shown in out view 34 of the RAID group other than RAID group in use as the current save buffer 130.

ただし、現在退避用バッファ130として使用中のRAIDグループ以外のRAIDグループのうち、図34に示した第1の条件を満たす領域を代替領域として使用してもよい。 However, among the RAID groups other than the RAID group that is in use as the current save buffer 130 may be used first condition is satisfied regions shown in FIG. 34 as an alternative area.

ステップS3705において、セカンダリ装置120は、退避用バッファ130の内容を検索された代替領域にコピーする。 In step S3705, the secondary device 120 copies the retrieved contents of the save buffer 130 replacement area. このとき、セカンダリ装置120は、退避用バッファビットマップ1200について、退避用バッファ130として使用中であった記憶領域のアドレスを未使用に設定する。 At this time, the secondary device 120, the save buffer bitmap 1200 is set to unused addresses of the storage area was in use as a save buffer 130. また、セカンダリ装置120は、退避用バッファビットマップ1200について、代替領域で使用中の記憶領域のアドレスを使用中に設定する。 Further, the secondary unit 120, the save buffer bitmap 1200, sets the address of the storage area in use in an alternate area during use.

ステップS3706において、代替領域へのコピーが完了すると、セカンダリ装置120は、WriteデータをWriteアドレスが示す退避用バッファの領域に記憶する。 In step S3706, the copy to the alternate area is completed, the secondary unit 120 stores Write data in the area of ​​the save buffer indicated by the Write Address. このとき、セカンダリ装置120は、ディスク装置ビットマップ1100のWriteアドレスを使用中に設定する。 At this time, the secondary unit 120 sets in use the Write address of the disk device bitmap 1100.

ステップS3707において、セカンダリ装置120は、バッファ退避処理を再開する。 In step S3707, the secondary unit 120 restarts the buffer save processing. そして、セカンダリ装置120は、電子メール等を利用して、退避用バッファ130の代替処理が行なわれたことを管理者に通知する。 The secondary unit 120 may utilize e-mail and the like, and notifies the administrator that the alternative processing of the save buffer 130 has been performed.

一方、Writeアドレスの記憶領域が、ユーザ領域に退避用バッファ130として確保された記憶領域でない場合(ステップS3702 NO)、セカンダリ装置120は、WriteデータをWriteアドレスが示す記憶領域に記憶する。 On the other hand, the storage area of ​​the Write address, if not a storage area allocated as the save buffer 130 in the user area (step S3702 NO), the secondary unit 120 stores Write data in the storage area indicated by the Write Address. このとき、セカンダリ装置120は、ディスク装置ビットマップ1100のWriteアドレスを使用中に設定する。 At this time, the secondary unit 120 sets in use the Write address of the disk device bitmap 1100.
以上の処理が終了すると、セカンダリ装置120は、ライト処理を終了する。 When the above process ends, the secondary unit 120 terminates the write processing.

上述のように、本実施例に係るプライマリ装置110は、退避用バッファ118を備える。 As described above, the primary unit 110 according to this embodiment includes a save buffer 118. そして、順方向のリモートコピーにおいて、転送・ステージングで使用中のバッファセット数がバッファ閾値を超えると、プライマリ装置110は、バッファセットデータを、退避用バッファ118に退避するライトバックを行なう。 Then, in the forward direction of the remote copy, when the number of buffer sets in use at the transfer staging exceeds the buffer threshold, the primary unit 110 performs write-back of saving buffer set data, the save buffer 118.

例えば、プライマリ装置110−セカンダリ装置120間の回線能力が低い場合にホスト150から次々にWrite I/O命令を受けても、プライマリ装置110は、使用中のバッファセット数がバッファ閾値を超えると、バッファセットデータを退避用バッファ118に退避する。 For example, even when subjected to Write I / O commands one after another when the line capacity between the primary unit 110 - the secondary unit 120 is low from the host 150, the primary unit 110, the buffer number of sets in use exceeds the buffer threshold, It saves the buffer set data in the save buffer 118.

一方、プライマリ装置110は、バッファセットデータのセカンダリ装置120への転送と展開処理が完了すると、そのバッファセットデータが記憶されていた領域を解放し、解放した領域に、退避用バッファ118に退避していたバッファセットデータをステージングする。 On the other hand, the primary unit 110, the transfer and deployment process to the secondary device 120 of the buffer set data is completed, it releases the area in which the buffer set data is stored, in the released area, and saved in the save buffer 118 to stage the buffer set data had. そして、プライマリ装置110は、そのバッファデータをセカンダリ装置120に転送する。 The primary unit 110 transfers the buffered data to the secondary device 120.

このように、本実施例に係るプライマリ装置110によると、プライマリ装置110−セカンダリ装置120間の回線能力が低い場合など、データの転送処理に遅延が生じる場合であっても、バッファセットの枯渇を抑止することができる。 Thus, according to the primary unit 110 according to this embodiment, such as when the line capacity between the primary unit 110 - the secondary unit 120 is low, even if a delay in the data transfer process occurs, a depletion of the buffer set it can be prevented. したがって、プライマリ装置110は、バッファセットの枯渇時に行なうバッファHalt処理を抑止することができる。 Thus, the primary unit 110, it is possible to prevent the buffer Halt processing performed at the time of exhaustion of the buffer set. すなわち、プライマリ装置110は、バッファHalt処理によりバッファセットの内容がクリアされ、順序性を保証したリモートコピーが中断されることを抑止することができる。 That is, the primary unit 110, the contents of the buffer set is cleared by the buffer Halt processing, remote copy that guarantees the ordering can be suppressed to be interrupted. その結果、プライマリ装置110は、データの転送処理に遅延が生じる場合でも、順序性を保証したリモートコピーを行なうことが可能となる。 As a result, the primary device 110, even if a delay in the data transfer process occurs, it is possible to perform a remote copy that guarantees the ordering.

さらに、回線能力が均一でなく不安定である場合やWrite I/O等によるデータ更新量がプライマリ装置110に備わる記録専用バッファ201の容量を超える場合などによってデータの転送処理に遅延が生じる場合も同様の効果を奏する。 Furthermore, even when a delay or the like if it exceeds the capacity of the write-only buffer 201 in which data updating amount by the case of the unstable non-uniform the line capacity and Write I / O or the like is provided to the primary device 110 to the data transfer process occurs the same effects.

本実施例に係るセカンダリ装置120は、逆方向のリモートコピーを実行中にセカンダリ装置120−プライマリ装置110間の通信で遅延等が発生すると、退避用バッファ130を生成する。 Secondary device 120 according to this embodiment, the delay or the like in communication between the secondary device 120- primary unit 110 during remote copying in the reverse direction is generated, and generates a save buffer 130. そして、逆方向のリモートコピーにおいて、転送・ステージングで使用中のバッファセット数がバッファ閾値を超えると、セカンダリ装置120は、バッファセットデータを、退避用バッファ130に退避するライトバックを行なう。 Then, the reverse of the remote copy, when the number of buffer sets in use at the transfer staging exceeds the buffer threshold, the secondary unit 120 performs write-back of saving buffer set data, the save buffer 130.

一方、セカンダリ装置120は、バッファセットデータのプライマリ装置110への転送と展開処理が完了すると、そのバッファセットデータが記憶されていた領域を解放し、解放した領域に、退避用バッファ130に退避していたバッファセットデータをステージングする。 On the other hand, the secondary unit 120, the transfer and deployment process to the primary device 110 of the buffer set data is completed, it releases the area in which the buffer set data is stored, in the released area, saved in the save buffer 130 to stage the buffer set data had. そして、セカンダリ装置120は、そのバッファデータをプライマリ装置110に転送する。 The secondary unit 120 transfers the buffered data to the primary device 110.

したがって、セカンダリ装置120も、プライマリ装置110と同様に、データの転送処理に遅延が生じる場合でも、順序性を保証したリモートコピーを行なうことが可能となる。 Therefore, the secondary unit 120, similar to the primary device 110, even if a delay in the data transfer process occurs, it is possible to perform a remote copy that guarantees the ordering. さらに、回線能力が均一でなく不安定である場合やWrite I/O等によるデータ更新量がセカンダリ装置120に備わる記録専用バッファ201の容量を超える場合などによってデータの転送処理に遅延が生じる場合も同様の効果を奏する。 Furthermore, even when a delay or the like if it exceeds the capacity of the write-only buffer 201 in which data updating amount by the case of the unstable non-uniform the line capacity and Write I / O or the like is provided to the secondary device 120 to the data transfer process occurs the same effects.

さらに、セカンダリ装置120は、プライマリ装置110のように専用の退避用バッファを備えていないので、セカンダリ装置120に備わる使用可能な記憶装置の記憶領域を退避用バッファ130として使用する。 Furthermore, the secondary unit 120 is not provided with a dedicated save buffer of like primary device 110, using the storage area of ​​the available storage devices included in the secondary device 120 as the save buffer 130.

セカンダリ装置120は、SnapOPC+やThin Provisioningなどを利用する場合、SnapOPC+用Pool128やThin Provisioning用管理テーブル1000の一部を退避用バッファ130に使用する。 The secondary unit 120, when using, for example SnapOPC + and Thin Provisioning, using some SnapOPC + for Pool128 and Thin Provisioning management table 1000 in the save buffer 130.

また、空き記憶装置がある場合、セカンダリ装置120は、空き記憶装置の一部または全部を退避用バッファ130に使用する。 Also, if there is a vacant storage device, the secondary device 120 uses a part or all of the free storage device to save buffer 130.
さらに、SnapOPC+用Pool128やThin Provisioning用管理テーブル1000、空き記憶装置などがなければ、セカンダリ装置120は、第1の条件を満たすRAIDグループの一部または全部を退避用バッファ130に使用する。 Furthermore, SnapOPC + for Pool128 and Thin Provisioning management table 1000, if there is no such vacant storage device, the secondary device 120 uses a part or all of the first condition is satisfied RAID group in the save buffer 130.

そして、第1の条件を満たすRAIDグループもなければ、第2の条件を満たすRAIDグループの一部または全部を退避用バッファ130に使用する。 Then, if also the first condition is satisfied RAID group, using some or all of the second condition is satisfied RAID group in the save buffer 130.
このように、あらかじめ専用の退避用バッファを備えなくても、必要に応じて退避用バッファ130を確保することで、データの転送処理に遅延が生じる場合でも、より確実に順序性を保証したリモートコピーを行なうことが可能となる。 Thus, even without providing a save buffer dedicated advance, by securing the save buffer 130 as necessary, even if a delay in the data transfer process occurs, remote with guaranteed ordering more reliably it is possible to perform the copy. さらに、回線能力が均一でなく不安定である場合やWrite I/O等によるデータ更新量がセカンダリ装置120に備わる記録専用バッファ201の容量を超える場合などによってデータの転送処理に遅延が生じる場合も同様の効果を奏する。 Furthermore, even when a delay or the like if it exceeds the capacity of the write-only buffer 201 in which data updating amount by the case of the unstable non-uniform the line capacity and Write I / O or the like is provided to the secondary device 120 to the data transfer process occurs the same effects.

記憶専用バッファ201などに使用するメモリの記憶容量を増やすよりも、退避用バッファ130の記憶容量を増やすことで、より低コストでリモートコピーの順序性を保証することができる。 From increasing the storage capacity of a memory to be used, for example in the storage only buffer 201, by increasing the storage capacity of the save buffer 130, it is possible to guarantee the order of the remote copy at a lower cost.

また、図23にも示したとおり、リモートコピーを行なうに際して、個別バッファにWriteデータを格納するとき、同じWriteアドレスのデータが既に転送待ちのいずれかの個別バッファに存在する場合には、Writeデータを上書きする。 Further, as shown in FIG. 23, when performing remote copying, when storing the Write data into individual buffers, when the data of the same Write address already exists in any of the individual buffer transfer waiting, Write Data to override the. これにより、順序性を崩すことなく個別バッファへの格納処理を効率的に行なうことができる。 This makes it possible to efficiently perform the storage process to the individual buffer without disturbing the ordering. その結果、プライマリ装置110−セカンダリ装置120間を転送させるデータ量を抑えることができるので、リモートコピー時のデータの転送性能が向上する効果を奏する。 As a result, it is possible to suppress the amount of data to be transferred between the primary unit 110 - the secondary unit 120, an effect of improving transfer performance data at the time of remote copy.

また、従来の順方向のリモートコピーでは、バッファセット情報の作成時に、コピー元IDとコピー先IDとのマッチング処理を行なっていた。 Further, in the remote copying of the conventional forward, when creating the buffer set information, it was performed a matching process between the copy source ID and destination ID. しかし、本実施例に係るリモートコピー処理では、ステップS2003aのタイミングでは行わず、バッファへの格納処理が完了して転送処理を行う直前(ステップS2012a)で行う。 However, the remote copy process according to this embodiment is not performed at the timing of step S2003a, it performed immediately before (Step S2012a) for performing a transfer process and storage process to the buffer is completed.

そのため、転送処理に関するバッファ以外に対して、転送処理と並行してデータの記憶処理を行うことができるので、プライマリ装置110に備わる記録専用バッファ201およびバッファセット情報記憶部202を含むバッファ全てを効率的に使用することが可能となる。 Therefore, for non buffer for the transfer process, it is possible to perform the process of storing data in parallel with the transfer process, the efficiency of all buffers containing recording dedicated buffer 201 and the buffer setting information storage unit 202 provided in the primary unit 110 it is possible to use. 例えば、ホスト150からのWrite I/Oに係るデータを、プライマリ装置110に備わるバッファの容量がなくなるまで格納することが可能となる。 For example, the data relating to the Write I / O from the host 150, it is possible to store up to the capacity of the buffer included in the primary unit 110 is eliminated.

その結果、順序性を保証した順方向のリモートコピーに使用するバッファに関し、セカンダリ装置120に備わるバッファが、プライマリ装置110に備わるバッファより少ない場合でも、プライマリ装置が有するバッファを有効に使用できる。 As a result, it relates buffer used in the forward direction remote copy that guarantees the order of the buffer included in the secondary device 120, even if less than the buffer included in the primary unit 110, can be effectively used a buffer having a primary device.

同様の理由から、順序性を保証した逆方向のリモートコピーに使用するバッファに関し、プライマリ装置110に備わるバッファが、セカンダリ装置120に備わるバッファより少ない場合でも、セカンダリ装置120が有するバッファを有効に使用できる。 For the same reason, it relates buffer used in the reverse direction remote copy that guarantees the order of the buffer included in the primary device 110, even if less than the buffer included in the secondary device 120, effectively use the buffer secondary device 120 has it can.

また、プライマリ装置110−セカンダリ装置120間のネットワークに何らかのトラブルが生じる等して経路閉塞状態となった場合でも、退避用バッファに容量が許す限りWriteデータを退避することができる。 Further, it is possible to save the Write data as, even in the case of a like to the route closed state some trouble occurs to the network between the primary unit 110 - the secondary unit 120, the capacity in the save buffer permits. そのため、バッファが枯渇するまでに経路閉塞状態を解消すれば、順序性を保証したリモートコピー処理を中断する必要がなくなるという効果を奏する。 Therefore, an effect that buffers be overcome path closed state until exhausted, it is not necessary to suspend the remote copy process that guarantees the ordering. その結果、リモートコピー処理の信頼性・安定性を向上するという効果を奏する。 As a result, an effect of improving the reliability and stability of the remote copy process.

以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。 Relates embodiment including the above examples, the following additional statements are further disclosed.
(付記1) (Note 1)
上位装置から送信されるデータを記憶する記憶領域を有する第1の記憶手段と、 First storage means having a storage area for storing data transmitted from a host system,
データを一時的に記憶する複数の第2の記憶手段と、 A plurality of second storage means for temporarily storing data,
前記上位装置から送信されるデータを受信する受信処理手段と、 A reception processing means for receiving the data transmitted from the host device,
前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶する第1の記憶処理手段と、 Stores the data received from the host device to the first storage unit, a first storage processing unit for storing the received order data received from said host system dispersed in said second storage means,
複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力するデータ群出力手段と、 A data group output means for collectively outputting data group including the data stored in each of the plurality of said second storage means,
前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段または第3の記憶手段に、前記データ群を記憶するデータ群記憶領域を確保するデータ群記憶領域確保手段と、 When detecting an abnormality in the output processing by the data group output means, in the first storage means or the third storage means, and a data group storage area securing section to secure the data group storage area for storing the data group,
前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避する退避処理手段と、 Depending on the usage of the second storage means, and save processing means for saving the data group storage area is read the data group from a plurality of said second storage means,
前記データ群出力手段による出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する第2の記憶処理手段と、 Each storage area of ​​the second storage means outputting process by the data group output means became to unused completed, a second memory for dispersing and storing the data group that has been evacuated to the data group storage area and processing means,
を備える記憶装置。 Storage device comprising a. (請求項1;ステップS1906〜S1908) (Claim 1; step S1906~S1908)
(付記2) (Note 2)
前記データ群記憶領域確保手段は、前記第1の記憶手段に仮想的な記憶領域を提供する第4の記憶手段の記憶領域のうち、前記第1の記憶手段として使用していない記憶領域を選択して前記データ群記憶領域を確保する、 The group of data storage area allocation means selects said one of the storage area of ​​the fourth storage means for providing a virtual storage area in the first storage means, the storage area is not used as the first storage unit to ensure the data group storage area and,
ことを特徴とする付記1に記載の記憶装置。 Memory device according to Note 1, wherein the. (請求項2;ステップS3402、S3404) (Claim 2; step S3402, S3404)
(付記3) (Note 3)
前記データ群記憶領域確保手段は、前記第3の記憶手段を選択して前記データ群記憶領域を確保する、 The group of data storage area securing section secures the data group storage area by selecting the third memory means,
ことを特徴とする付記1に記載の記憶装置。 Memory device according to Note 1, wherein the. (請求項3ステップS3406) (Claim 3 Step S3406)
(付記4) (Note 4)
前記データ群記憶領域確保手段は、前記第1の記憶手段に備わる1または2以上の記憶領域から、更新頻度および空き容量に基づいて前記記憶領域を選択して前記データ群記憶領域を確保する、 The group of data storage area allocation means, from said one or more storage areas provided in the first storage means, to ensure the data group storage area by selecting the storage area based on the update frequency and space,
ことを特徴とする付記1に記載の記憶装置。 Memory device according to Note 1, wherein the. (ステップS3409) (Step S3409)
(付記5) (Note 5)
前記データ群記憶領域確保手段は、前記第1の記憶手段に備わる1または2以上の記憶領域のうち、更新頻度の低い記憶領域であって、前記データ群出力手段の出力先に保持されているデータと同じデータが記憶されている記憶領域を選択して前記データ群記憶領域を確保する、 The group of data storage area allocation unit, among the one or more storage areas provided in said first storage means, a low update frequency storage region, and is held in the output destination of the data group output means select the storage area where the data the same data as is stored to ensure the data group storage area,
ことを特徴とする付記1に記載の記憶装置。 Memory device according to Note 1, wherein the. (ステップS3410) (Step S3410)
(付記6) (Note 6)
第1のデータ群記憶領域に対する書き込み処理が発生すると、前記第1のデータ群記憶領域以外の第2のデータ群記憶領域を前記第1の記憶手段に確保し、前記第2のデータ群記憶領域にデータ群記憶領域を移動するデータ群記憶領域移動手段、 When the write processing for the first data group storage area is generated, the first of the second data group storage area other than the data group storage area reserved in the first storage means, the second data group storage area data group storage area moving means for moving the data group storage area,
をさらに備える付記4または5に記載の記憶装置。 Memory device according to note 4, or 5 further comprising a. (ステップS3705) (Step S3705)
(付記7) (Note 7)
前記第1の記憶処理手段は、前記第2の記憶手段に分散して記憶されたデータのうち、出力先において第1のデータと同じ記憶位置に記憶させる第2のデータを検索し、前記第2のデータを検出すると、前記第2のデータを前記第1のデータに更新する、 The first storage processing unit, among the data stored the second dispersion to the storage means, and searching for a second data to be stored in the same memory location as the first data at the destination, the first Upon detection of the second data, updating the second data in the first data,
ことを特徴とする付記1に記載の記憶装置。 Memory device according to Note 1, wherein the. (ステップS2404) (Step S2404)
(付記8) (Note 8)
上位装置から送信されるデータを記憶する記憶手段として一部または全部の記憶領域を使用する第1の記憶手段と前記データを一時的に記憶する複数の第2の記憶手段とを有し前記データを前記第2の記憶手段に分散して記憶する記憶装置において、前記第2の記憶手段毎に有する制御装置であって、 The data and a plurality of second storage means for temporarily storing said data and first storage means for using some or all of the storage areas as a storage means for storing data transmitted from a host system the storage device for distributing and storing in the second storage means, a controller having for each of the second storage means,
前記上位装置から送信されるデータを受信する受信処理手段と、 A reception processing means for receiving the data transmitted from the host device,
前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶する第1の記憶処理手段と、 Stores the data received from the host device to the first storage unit, a first storage processing unit for storing the received order data received from said host system dispersed in said second storage means,
複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力するデータ群出力手段と、 A data group output means for collectively outputting data group including the data stored in each of the plurality of said second storage means,
前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段または第3の記憶手段に、前記データ群を記憶するデータ群記憶領域を確保するデータ群記憶領域確保手段と、 When detecting an abnormality in the output processing by the data group output means, in the first storage means or the third storage means, and a data group storage area securing section to secure the data group storage area for storing the data group,
前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避する退避処理手段と、 Depending on the usage of the second storage means, and save processing means for saving the data group storage area is read the data group from a plurality of said second storage means,
前記データ群出力手段による出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する第2の記憶処理手段と、 Each storage area of ​​the second storage means outputting process by the data group output means became to unused completed, a second memory for dispersing and storing the data group that has been evacuated to the data group storage area and processing means,
を備える制御装置。 Control device comprising a. (請求項4) (Claim 4)
(付記9) (Note 9)
上位装置から送信されるデータを記憶する記憶手段として一部または全部の記憶領域を使用する第1の記憶手段と前記データを一時的に記憶する複数の第2の記憶手段とを有する記憶装置を制御する制御方法において、 A storage device having a plurality of second storage means for temporarily storing said data and first storage means for using some or all of the storage areas as a storage means for storing data transmitted from a host system A control method for controlling,
前記上位装置から送信されるデータを受信し、 It receives data transmitted from the host device,
前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶し、 Stores the data received from the host device to the first storage unit, and stores the received order data received from said host system dispersed in said second storage means,
複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力し、 And collectively it outputs the data group including data stored in the plurality of said second storage means,
前記出力時に異常を検出すると、前記第1の記憶手段または第3の記憶手段に、前記データ群を記憶するデータ群記憶領域を確保し、 When detecting an abnormality when said output, in the first storage means or the third storage means, to ensure data group storage area for storing the data group,
前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避し、 Depending on the usage of the second storage unit, the data group is read from the plurality of second memory means to save the data group storage area,
前記出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する、 Each storage area of ​​the second storage means the output processing becomes to unused completed, distributed and stored the data group that has been evacuated to the data group storage area,
ことを特徴とする制御方法。 Control wherein the. (請求項5) (Claim 5)
(付記10) (Note 10)
上位装置から送信されるデータを記憶する他の記憶装置から送信される前記データを記憶する記憶手段として一部または全部の記憶領域を使用する第1の記憶手段と、 First storage means for using some or all of the storage areas as a storage means for storing the data transmitted from the other storage devices for storing data transmitted from a host device,
前記上位装置から送信されるデータを受信する受信処理手段と、 A reception processing means for receiving the data transmitted from the host device,
前記他の記憶装置から受信したデータを前記第1の記憶手段に記憶する第1の記憶処理手段と、 A first storage processing unit for storing the data received from the other storage devices in the first storage means,
前記他の記憶装置に異常を検出すると、前記上位装置から送信されるデータを受信し、該受信したデータを前記第1の記憶手段に記憶する第2の記憶処理手段と、 When detecting an abnormality in the other storage device, it receives data transmitted from the host device, a second storage processing unit for storing the data thus received in the first storage means,
データを一時的に記憶する複数の第2の記憶手段と、 A plurality of second storage means for temporarily storing data,
前記他の記憶装置の復旧を検出すると、前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶する第3の記憶処理手段と、 Upon detection of the restoration of the other storage device, stores the data received from the host device to the first storage unit, the data received from the host device in the order received and distributed to the second storage means a third storage processing means for storing,
複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力するデータ群出力手段と、 A data group output means for collectively outputting data group including the data stored in each of the plurality of said second storage means,
前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段または第3の記憶手段に、前記データ群を記憶するデータ群記憶領域を確保するデータ群記憶領域確保手段と、 When detecting an abnormality in the output processing by the data group output means, in the first storage means or the third storage means, and a data group storage area securing section to secure the data group storage area for storing the data group,
前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避する退避処理手段と、 Depending on the usage of the second storage means, and save processing means for saving the data group storage area is read the data group from a plurality of said second storage means,
前記データ群出力手段による出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する第4の記憶処理手段と、 Each storage area of ​​the second storage means outputting process by the data group output means became to unused completed, a fourth memory for dispersing and storing the data group that has been evacuated to the data group storage area and processing means,
を備える記憶装置。 Storage device comprising a.
(付記11) (Note 11)
上位装置または前記上位装置から送信されるデータを記憶する他の記憶装置から送信される前記データを記憶する記憶手段として一部または全部の記憶領域を使用する第1の記憶手段と前記データを一時的に記憶する複数の第2の記憶手段とを有し前記データを前記第2の記憶手段に分散して記憶する記憶装置において、前記第2の記憶手段毎に有する制御装置であって、 First storage means and the data temporarily to use some or all of the storage areas as a storage means for storing the data transmitted from the other storage devices for storing data transmitted from a host device or the host system in the storage device for storage of the data and a plurality of second storage means for storing dispersed in the second storage unit, a controller having for each of the second storage means,
前記上位装置から送信されるデータを受信する受信処理手段と、 A reception processing means for receiving the data transmitted from the host device,
前記他の記憶装置から受信したデータを前記第1の記憶手段に記憶する第1の記憶処理手段と、 A first storage processing unit for storing the data received from the other storage devices in the first storage means,
前記他の記憶装置に異常を検出すると、前記上位装置から送信されるデータを受信し、該受信したデータを前記第1の記憶手段に記憶する第2の記憶処理手段と、 When detecting an abnormality in the other storage device, it receives data transmitted from the host device, a second storage processing unit for storing the data thus received in the first storage means,
前記他の記憶装置の復旧を検出すると、前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶する第3の記憶処理手段と、 Upon detection of the restoration of the other storage device, stores the data received from the host device to the first storage unit, the data received from the host device in the order received and distributed to the second storage means a third storage processing means for storing,
複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力するデータ群出力手段と、 A data group output means for collectively outputting data group including the data stored in each of the plurality of said second storage means,
前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段または第3の記憶手段に、前記データ群を記憶するデータ群記憶領域を確保するデータ群記憶領域確保手段と、 When detecting an abnormality in the output processing by the data group output means, in the first storage means or the third storage means, and a data group storage area securing section to secure the data group storage area for storing the data group,
前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避する退避処理手段と、 Depending on the usage of the second storage means, and save processing means for saving the data group storage area is read the data group from a plurality of said second storage means,
前記データ群出力手段による出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する第4の記憶処理手段と、 Each storage area of ​​the second storage means outputting process by the data group output means became to unused completed, a fourth memory for dispersing and storing the data group that has been evacuated to the data group storage area and processing means,
を備える制御装置。 Control device comprising a.
(付記12) (Note 12)
上位装置または前記上位装置から送信されるデータを記憶する他の記憶装置から送信される前記データを記憶する記憶手段として一部または全部の記憶領域を使用する第1の記憶手段と前記データを一時的に記憶する複数の第2の記憶手段とを有し前記データを前記第2の記憶手段に分散して記憶する記憶装置を制御する制御方法において、 First storage means and the data temporarily to use some or all of the storage areas as a storage means for storing the data transmitted from the other storage devices for storing data transmitted from a host device or the host system a control method for controlling a storage device for distributed and stored in the second storage means said data and a plurality of second storage means for specifically stored,
前記上位装置から送信されるデータを受信し、 It receives data transmitted from the host device,
前記他の記憶装置から受信したデータを前記第1の記憶手段に記憶し、 Storing data received from the other storage devices in the first storage means,
前記他の記憶装置に異常を検出すると、前記上位装置から送信されるデータを受信し、該受信したデータを前記第1の記憶手段に記憶し、 When detecting an abnormality in the other storage device, it receives data transmitted from the host device, stores the data thus received in the first storage means,
前記他の記憶装置の復旧を検出すると、前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶し、 Upon detection of the restoration of the other storage device, stores the data received from the host device to the first storage unit, the data received from the host device in the order received and distributed to the second storage means stored,
複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力し、 And collectively it outputs the data group including data stored in the plurality of said second storage means,
前記出力処理に異常を検出すると、前記第1の記憶手段または第3の記憶手段に、前記データ群を記憶するデータ群記憶領域を確保し、 Upon detection of the abnormality in the output process, in the first storage means or the third storage means, to ensure data group storage area for storing the data group,
前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避し、 Depending on the usage of the second storage unit, the data group is read from the plurality of second memory means to save the data group storage area,
前記出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する、 Each storage area of ​​the second storage means the output processing becomes to unused completed, distributed and stored the data group that has been evacuated to the data group storage area,
ことを特徴とする制御方法。 Control wherein the.

100 ストレージシステム 110 プライマリ装置 117 ディスク装置 118 退避用バッファ 120 セカンダリ装置 127 ディスク装置 130 退避用バッファ 201 記録専用バッファ 201a バッファ 201b BIT記憶部 202 バッファセット情報記憶部 300 バッファ管理テーブル 100 storage system 110 the primary unit 117 the disk device 118 save buffer 120 secondary unit 127 disc device 130 save buffer 201 write-only buffer 201a buffers 201b BIT storage unit 202 buffer set information storage unit 300 buffer management table

Claims (6)

  1. 上位装置から送信されるデータを記憶する記憶領域を有する第1の記憶手段と、 First storage means having a storage area for storing data transmitted from a host system,
    データを一時的に記憶する複数の第2の記憶手段と、 A plurality of second storage means for temporarily storing data,
    前記上位装置から送信されるデータを受信する受信処理手段と、 A reception processing means for receiving the data transmitted from the host device,
    前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶する第1の記憶処理手段と、 Stores the data received from the host device to the first storage unit, a first storage processing unit for storing the received order data received from said host system dispersed in said second storage means,
    複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力するデータ群出力手段と、 A data group output means for collectively outputting data group including the data stored in each of the plurality of said second storage means,
    前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段に備わる複数の記憶領域から、更新頻度および空き容量に基づいて記憶領域を選択することによって 、前記データ群を記憶するデータ群記憶領域を確保するデータ群記憶領域確保手段と、 When detecting an abnormality in the output processing by the data group output means, from said plurality of storage areas provided in the first storage means, by selecting a storage area based on the update frequency and free space to store the data group a data group storage area securing section to secure the data group storage area,
    前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避する退避処理手段と、 Depending on the usage of the second storage means, and save processing means for saving the data group storage area is read the data group from a plurality of said second storage means,
    前記データ群出力手段による出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する第2の記憶処理手段と、 Each storage area of ​​the second storage means outputting process by the data group output means became to unused completed, a second memory for dispersing and storing the data group that has been evacuated to the data group storage area and processing means,
    を備える記憶装置。 Storage device comprising a.
  2. 上位装置から送信されるデータを記憶する記憶領域を有する第1の記憶手段と、 First storage means having a storage area for storing data transmitted from a host system,
    データを一時的に記憶する複数の第2の記憶手段と、 A plurality of second storage means for temporarily storing data,
    前記上位装置から送信されるデータを受信する受信処理手段と、 A reception processing means for receiving the data transmitted from the host device,
    前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶する第1の記憶処理手段と、 Stores the data received from the host device to the first storage unit, a first storage processing unit for storing the received order data received from said host system dispersed in said second storage means,
    複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力するデータ群出力手段と、 A data group output means for collectively outputting data group including the data stored in each of the plurality of said second storage means,
    前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段に備わる複数の記憶領域のうち、更新頻度が所定頻度よりも低い記憶領域であって、前記データ群出力手段の出力先に保持されているデータと同じデータが記憶されている記憶領域を選択することによって 、前記データ群を記憶するデータ群記憶領域を確保するデータ群記憶領域確保手段と、 When detecting an abnormality in the output processing by the data group output means, among the plurality of storage areas provided in said first storage means, the update frequency is a lower space than the predetermined frequency, the output of the group of data output means by selecting a storage area which the same data as the data stored previously are stored, and a data group storage area securing section to secure the data group storage area for storing the data group,
    前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避する退避処理手段と、 Depending on the usage of the second storage means, and save processing means for saving the data group storage area is read the data group from a plurality of said second storage means,
    前記データ群出力手段による出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する第2の記憶処理手段と、 Each storage area of ​​the second storage means outputting process by the data group output means became to unused completed, a second memory for dispersing and storing the data group that has been evacuated to the data group storage area and processing means,
    を備える記憶装置。 Storage device comprising a.
  3. 上位装置から送信されるデータを記憶する記憶手段として一部または全部の記憶領域を使用する第1の記憶手段と前記データを一時的に記憶する複数の第2の記憶手段とを有し前記データを前記第2の記憶手段に分散して記憶する記憶装置において、前記第2の記憶手段毎に有する制御装置であって、 The data and a plurality of second storage means for temporarily storing said data and first storage means for using some or all of the storage areas as a storage means for storing data transmitted from a host system the storage device for distributing and storing in the second storage means, a controller having for each of the second storage means,
    前記上位装置から送信されるデータを受信する受信処理手段と、 A reception processing means for receiving the data transmitted from the host device,
    前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶する第1の記憶処理手段と、 Stores the data received from the host device to the first storage unit, a first storage processing unit for storing the received order data received from said host system dispersed in said second storage means,
    複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力するデータ群出力手段と、 A data group output means for collectively outputting data group including the data stored in each of the plurality of said second storage means,
    前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段に備わる複数の記憶領域から、更新頻度および空き容量に基づいて記憶領域を選択することによって 、前記データ群を記憶するデータ群記憶領域を確保するデータ群記憶領域確保手段と、 When detecting an abnormality in the output processing by the data group output means, from said plurality of storage areas provided in the first storage means, by selecting a storage area based on the update frequency and free space to store the data group a data group storage area securing section to secure the data group storage area,
    前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避する退避処理手段と、 Depending on the usage of the second storage means, and save processing means for saving the data group storage area is read the data group from a plurality of said second storage means,
    前記データ群出力手段による出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する第2の記憶処理手段と、 Each storage area of ​​the second storage means outputting process by the data group output means became to unused completed, a second memory for dispersing and storing the data group that has been evacuated to the data group storage area and processing means,
    を備える制御装置。 Control device comprising a.
  4. 上位装置から送信されるデータを記憶する記憶手段として一部または全部の記憶領域を使用する第1の記憶手段と前記データを一時的に記憶する複数の第2の記憶手段とを有し前記データを前記第2の記憶手段に分散して記憶する記憶装置において、前記第2の記憶手段毎に有する制御装置であって、 The data and a plurality of second storage means for temporarily storing said data and first storage means for using some or all of the storage areas as a storage means for storing data transmitted from a host system the storage device for distributing and storing in the second storage means, a controller having for each of the second storage means,
    前記上位装置から送信されるデータを受信する受信処理手段と、 A reception processing means for receiving the data transmitted from the host device,
    前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶する第1の記憶処理手段と、 Stores the data received from the host device to the first storage unit, a first storage processing unit for storing the received order data received from said host system dispersed in said second storage means,
    複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力するデータ群出力手段と、 A data group output means for collectively outputting data group including the data stored in each of the plurality of said second storage means,
    前記データ群出力手段による出力処理に異常を検出すると、前記第1の記憶手段に備わる複数の記憶領域のうち、更新頻度が所定頻度よりも低い記憶領域であって、前記データ群出力手段の出力先に保持されているデータと同じデータが記憶されている記憶領域を選択することによって 、前記データ群を記憶するデータ群記憶領域を確保するデータ群記憶領域確保手段と、 When detecting an abnormality in the output processing by the data group output means, among the plurality of storage areas provided in said first storage means, the update frequency is a lower space than the predetermined frequency, the output of the group of data output means by selecting a storage area which the same data as the data stored previously are stored, and a data group storage area securing section to secure the data group storage area for storing the data group,
    前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避する退避処理手段と、 Depending on the usage of the second storage means, and save processing means for saving the data group storage area is read the data group from a plurality of said second storage means,
    前記データ群出力手段による出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する第2の記憶処理手段と、 Each storage area of ​​the second storage means outputting process by the data group output means became to unused completed, a second memory for dispersing and storing the data group that has been evacuated to the data group storage area and processing means,
    を備える制御装置。 Control device comprising a.
  5. 上位装置から送信されるデータを記憶する記憶手段として一部または全部の記憶領域を使用する第1の記憶手段と前記データを一時的に記憶する複数の第2の記憶手段とを有する記憶装置を制御する制御方法において、 A storage device having a plurality of second storage means for temporarily storing said data and first storage means for using some or all of the storage areas as a storage means for storing data transmitted from a host system A control method for controlling,
    前記上位装置から送信されるデータを受信し、 It receives data transmitted from the host device,
    前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶し、 Stores the data received from the host device to the first storage unit, and stores the received order data received from said host system dispersed in said second storage means,
    複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力し、 And collectively it outputs the data group including data stored in the plurality of said second storage means,
    前記出力時に異常を検出すると、前記第1の記憶手段に備わる複数の記憶領域から、更新頻度および空き容量に基づいて記憶領域を選択することによって 、前記データ群を記憶するデータ群記憶領域を確保し、 Securing detects an abnormality when the output from a plurality of storage areas provided in said first storage means, by selecting a storage area based on the update frequency and free space, the data group storage area for storing the data group and,
    前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避し、 Depending on the usage of the second storage unit, the data group is read from the plurality of second memory means to save the data group storage area,
    前記出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する、 Each storage area of ​​the second storage means the output processing becomes to unused completed, distributed and stored the data group that has been evacuated to the data group storage area,
    ことを特徴とする制御方法。 Control wherein the.
  6. 上位装置から送信されるデータを記憶する記憶手段として一部または全部の記憶領域を使用する第1の記憶手段と前記データを一時的に記憶する複数の第2の記憶手段とを有する記憶装置を制御する制御方法において、 A storage device having a plurality of second storage means for temporarily storing said data and first storage means for using some or all of the storage areas as a storage means for storing data transmitted from a host system A control method for controlling,
    前記上位装置から送信されるデータを受信し、 It receives data transmitted from the host device,
    前記上位装置から受信したデータを前記第1の記憶手段に記憶するとともに、前記上位装置から受信したデータを前記第2の記憶手段に分散して受信順に記憶し、 Stores the data received from the host device to the first storage unit, and stores the received order data received from said host system dispersed in said second storage means,
    複数の前記第2の記憶手段それぞれに記憶されたデータを含むデータ群を一括して出力し、 And collectively it outputs the data group including data stored in the plurality of said second storage means,
    前記出力時に異常を検出すると、前記第1の記憶手段に備わる複数の記憶領域のうち、更新頻度が所定頻度よりも低い記憶領域であって、前記データ群の出力先に保持されているデータと同じデータが記憶されている記憶領域を選択することによって 、前記データ群を記憶するデータ群記憶領域を確保し、 When detecting an abnormality when the output of the plurality of storage areas provided in said first storage means, the update frequency is a lower storage area than a predetermined frequency, and data held in the output destination of the data group by selecting a storage area which the same data is stored, to ensure data group storage area for storing the data group,
    前記第2の記憶手段の使用状況に応じて、前記データ群を複数の前記第2の記憶手段から読み出して前記データ群記憶領域に退避し、 Depending on the usage of the second storage unit, the data group is read from the plurality of second memory means to save the data group storage area,
    前記出力処理が完了して未使用となった前記第2の記憶手段の記憶領域それぞれに、前記データ群記憶領域に退避した前記データ群を分散して記憶する、 Each storage area of ​​the second storage means the output processing becomes to unused completed, distributed and stored the data group that has been evacuated to the data group storage area,
    ことを特徴とする制御方法。 Control wherein the.
JP2010012345A 2010-01-22 2010-01-22 Control method of a storage device, controller and storage device Expired - Fee Related JP5544897B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010012345A JP5544897B2 (en) 2010-01-22 2010-01-22 Control method of a storage device, controller and storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010012345A JP5544897B2 (en) 2010-01-22 2010-01-22 Control method of a storage device, controller and storage device
US13/006,700 US20110185222A1 (en) 2010-01-22 2011-01-14 Storage device, control device, and control method for storage device

Publications (2)

Publication Number Publication Date
JP2011150602A JP2011150602A (en) 2011-08-04
JP5544897B2 true JP5544897B2 (en) 2014-07-09

Family

ID=44309889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010012345A Expired - Fee Related JP5544897B2 (en) 2010-01-22 2010-01-22 Control method of a storage device, controller and storage device

Country Status (2)

Country Link
US (1) US20110185222A1 (en)
JP (1) JP5544897B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013029911A (en) * 2011-07-27 2013-02-07 Fujitsu Ltd Control device, control method, and storage device
WO2014019133A1 (en) * 2012-07-31 2014-02-06 Empire Technology Development Llc Parting data to improve system performance
JP6350090B2 (en) 2014-08-06 2018-07-04 富士通株式会社 Storage control device, the copy control program, and the copy control method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6904498B2 (en) * 2002-10-08 2005-06-07 Netcell Corp. Raid controller disk write mask
US7913148B2 (en) * 2004-03-12 2011-03-22 Nvidia Corporation Disk controller methods and apparatus with improved striping, redundancy operations and interfaces
JP4519563B2 (en) * 2004-08-04 2010-08-04 株式会社日立製作所 Storage systems and data processing systems
JP4355674B2 (en) * 2005-03-17 2009-11-04 富士通株式会社 Remote copying method and a storage system
JP2006268420A (en) * 2005-03-24 2006-10-05 Nec Corp Disk array device, storage system and control method
JP4839133B2 (en) * 2006-05-22 2011-12-21 株式会社日立製作所 Data management method and computer system of the storage device
US7664915B2 (en) * 2006-12-19 2010-02-16 Intel Corporation High performance raid-6 system architecture with pattern matching
JP4935901B2 (en) * 2007-05-01 2012-05-23 富士通株式会社 Storage system, a storage device, the remote copy method
WO2008152691A1 (en) * 2007-06-12 2008-12-18 Fujitsu Limited Remote copy method and storage system
US7788541B2 (en) * 2008-04-15 2010-08-31 Dot Hill Systems Corporation Apparatus and method for identifying disk drives with unreported data corruption
JP4774085B2 (en) * 2008-07-31 2011-09-14 富士通株式会社 Storage system
JP5387315B2 (en) * 2009-10-13 2014-01-15 富士通株式会社 Control method of a storage device, controller and storage device
JP5397148B2 (en) * 2009-10-16 2014-01-22 富士通株式会社 Control method of a storage device, controller and storage device

Also Published As

Publication number Publication date
US20110185222A1 (en) 2011-07-28
JP2011150602A (en) 2011-08-04

Similar Documents

Publication Publication Date Title
CA2498174C (en) Dynamic storage device pooling in a computer system
US8028191B2 (en) Methods and systems for implementing shared disk array management functions
US6199146B1 (en) Storage management system and method for increasing capacity utilization of nonvolatile storage devices using partially filled substitute storage devices for continuing write operations
JP4634812B2 (en) Storage system having the ability to assign a virtual storage segments among a plurality of controllers
US7266718B2 (en) Computer system for recovering data based on priority of the data
JP4267420B2 (en) Storage devices and backup acquisition method
US6647514B1 (en) Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
US7620698B2 (en) File distribution system in which partial files are arranged according to various allocation rules associated with a plurality of file types
US6957433B2 (en) System and method for adaptive performance optimization of data processing systems
US7814351B2 (en) Power management in a storage array
US7398367B2 (en) Storage subsystem that connects fibre channel and supports online backup
US8612716B2 (en) Storage system having partition size set in accordance with drive type
EP1624376A2 (en) Storage system and data processing system
KR101905645B1 (en) Scheduling of i/o in an ssd environment
EP1625502B1 (en) Redundant data assigment in a data storage system
EP2109035A2 (en) Storage control apparatus, data management system and data management method
US8224782B2 (en) System and method for chunk based tiered storage volume migration
US8352954B2 (en) Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US9612916B2 (en) Data storage resource allocation using blacklisting of data storage requests classified in the same category as a data storage request that is determined to fail if attempted
US20070245114A1 (en) Storage system and control method for the same
US9122535B2 (en) Optimizing distributed data analytics for shared storage
US20060236048A1 (en) Method for remote copy pair migration
JP4582297B2 (en) Replication system, apparatus, method, and program
EP1796001A2 (en) Method for implementing shared disk array management functions.
US20100332780A1 (en) Storage system, control apparatus and method of controlling control apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140428

R150 Certificate of patent or registration of utility model

Ref document number: 5544897

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees