JP2012022645A - Data storage system and asynchronous replication method - Google Patents

Data storage system and asynchronous replication method Download PDF

Info

Publication number
JP2012022645A
JP2012022645A JP2010162203A JP2010162203A JP2012022645A JP 2012022645 A JP2012022645 A JP 2012022645A JP 2010162203 A JP2010162203 A JP 2010162203A JP 2010162203 A JP2010162203 A JP 2010162203A JP 2012022645 A JP2012022645 A JP 2012022645A
Authority
JP
Japan
Prior art keywords
data
write
storage device
data storage
cache memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010162203A
Other languages
Japanese (ja)
Inventor
Masaki Kobayashi
正樹 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2010162203A priority Critical patent/JP2012022645A/en
Publication of JP2012022645A publication Critical patent/JP2012022645A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To surely provide order assurance of data update by judgment of a primary data storage device.SOLUTION: When writing data to a first storage medium is instructed by a host device 13-1, a cache memory managing unit of a primary data storage device 10-1 secures a cache area for storing designated data as write back data and a buffer area for transmitting the designated data to an auxiliary data storage device 10-2 in a first cache memory, and writes the data into each of them. A replication managing unit of the primary data storage device 10-1 requests unestablished write to the auxiliary data storage device 10-2 to write data stored in the buffer area to a second cache memory as unestablished write data, and requests establishing of the unestablished write data to the auxiliary data storage device 10-2 for establishing the unestablished write data already written in the second cache memory into write back data when the unestablished write data exceeds a predetermined volume.

Description

本発明の実施形態はデータ記憶装置および非同期レプリケーション方法に関する。   Embodiments described herein relate generally to a data storage device and an asynchronous replication method.

従来、正サイト(プライマリサイト)に配置された正データ記憶装置(一次データ記憶装置)と、正サイトから遠隔の地に存在する副サイト(セカンダリサイト)に配置された副データ記憶装置(二次データ記憶装置)とから構成されるデータ記憶システムがある。この種のデータ記憶システムには、高信頼性化のために、災害などによる正サイトの破壊時に、副サイトにて事業を継続する要求がある。   Conventionally, a primary data storage device (primary data storage device) placed at the primary site (primary site) and a secondary data storage device (secondary site) placed at a secondary site (secondary site) that is remote from the primary site Data storage system). In this type of data storage system, there is a demand to continue the business at the secondary site when the primary site is destroyed due to a disaster or the like for high reliability.

このため、副データ記憶装置には、正データ記憶装置に記憶されているデータの複製が保存される。この複製の作成では、副データ記憶装置でのデータ更新を、正データ記憶装置でのデータ更新と同様の順序で行う必要がある。つまり、データ記憶システムには、正データ記憶装置及び副データ記憶装置間で、データ更新の順序を保証するための順序保証機能が要求される。またデータ記憶装置には、正サイトと副サイトとの距離に依存しないディスク性能を保証する機能も要求される。   For this reason, a copy of the data stored in the primary data storage device is stored in the secondary data storage device. In creating this replica, the data update in the secondary data storage device must be performed in the same order as the data update in the primary data storage device. That is, the data storage system is required to have an order guarantee function for guaranteeing the data update order between the primary data storage device and the secondary data storage device. The data storage device is also required to have a function for guaranteeing disk performance that does not depend on the distance between the primary site and the secondary site.

そこで、データ記憶装置においては、高信頼性化に必要な上述の機能要件を満たすために、例えば、正サイトにてデータ処理を完了しつつ副サイトへデータの転送を行う非同期レプリケーション機能を備えているのが一般的である。   Therefore, in order to satisfy the above-mentioned functional requirements necessary for high reliability, the data storage device has an asynchronous replication function for transferring data to the secondary site while completing data processing at the primary site, for example. It is common.

しかしながら、この非同期レプリケーション機能を実現するためには、正データ記憶装置及び副データ記憶装置に、キャッシュメモリとは別に専用のバッファを設けることや、正サイト及び副サイト間に専用の中継転送装置を設けることが必要である。また、シーケンス番号を振り、バックアップ装置でそのシーケンス番号を解釈する等のプロトコルオーバヘッドがあった。   However, in order to realize this asynchronous replication function, a dedicated buffer is provided in the primary data storage device and the secondary data storage device separately from the cache memory, or a dedicated relay transfer device is provided between the primary site and the secondary site. It is necessary to provide it. Further, there is a protocol overhead such as assigning a sequence number and interpreting the sequence number by the backup device.

特開2003-167684号公報JP 2003-167684 A

正サイトのデータ記憶装置の判断によりデータ更新の順序保証を行うことが可能であり、中継装置や専用大容量バッファを必要とせず、プロトコルによるオーバヘッドを低減し、同一領域に対する連続ライト時もホスト装置へのレスポンス低下が発生しないデータ記憶システムおよび非同期レプリケーション方法を提供することが課題である。   It is possible to guarantee the order of data update by determining the data storage device at the primary site, eliminating the need for relay devices and dedicated large-capacity buffers, reducing the overhead due to the protocol, and the host device even during continuous writes to the same area It is an object to provide a data storage system and an asynchronous replication method that do not cause a decrease in response to the problem.

本実施形態のデータ記憶システムは、データを記憶するための第1の記憶媒体と、前記第1の記憶媒体へのアクセスを制御する第1の制御装置とを有する第1のデータ記憶装置と、データを記憶するための第2の記憶媒体と、前記第2の記憶媒体へのアクセスを制御する第2の制御装置とを有し、前記第1のデータ記憶装置とデータ通信路を介して接続される第2のデータ記憶装置とを具備し、前記第1の制御装置は、前記第1の記憶媒体に対して読み出しまたは書き込みされるデータを記憶する第1のキャッシュメモリと、前記第1のキャッシュメモリに対するアクセスを管理する第1のキャッシュメモリ管理手段と、前記第1及び第2の記憶媒体を、前記第1の記憶媒体に記憶されているデータの複製が前記第2の記憶媒体に保存されるミラーとして運用するための特定のレプリケーション状態を備えるレプリケーション管理を行うためのレプリケーション管理手段とを備え、前記第2の制御装置は、前記第2の記憶媒体に対して読み出しまたは書き込みされるデータを記憶する第2のキャッシュメモリを備え、前記第1のキャッシュメモリ管理手段は、前記特定のレプリケーション状態において、外部の装置から前記第1の記憶媒体へのデータの書き込みが指定された場合、前記第1のキャッシュメモリに、前記指定されたデータを前記第1の記憶媒体に書き出されるべきライトバックデータとして記憶するためのキャッシュ領域と、前記指定されたデータを前記第2のデータ記憶装置に送信されるべき前記第2の記憶媒体に書き出すことが禁止される未確定ライトデータとして記憶するためのバッファ領域とを確保し、それぞれの領域に前記指定されたデータを書き込み、前記レプリケーション管理手段は、全ての前記バッファ領域に書き込まれた前記未確定ライトデータを、前記第2のキャッシュメモリに書き込むための未確定ライトを前記第2のデータ記憶装置に要求し、前記未確定ライトを要求することにより前記未確定ライトデータが設定された量を超える場合、もしくは予め定められたタイミングが到来した場合に、前記バッファ領域から前記第2のキャッシュメモリに前記未確定ライトデータとして既に書き込まれているデータを前記第2の記憶媒体に書き出されるべきライトバックデータに確定するための未確定ライト確定を前記第2のデータ記憶装置に要求することを特徴とする。   The data storage system according to the present embodiment includes a first data storage device including a first storage medium for storing data, and a first control device that controls access to the first storage medium; A second storage medium for storing data and a second control device for controlling access to the second storage medium, and connected to the first data storage device via a data communication path A second data storage device, wherein the first control device stores a first cache memory for storing data to be read from or written to the first storage medium, and the first data storage device A first cache memory management means for managing access to the cache memory and the first and second storage media, and a copy of the data stored in the first storage medium is stored in the second storage medium Be done Replication management means for performing replication management with a specific replication state for operating as a local error, and the second control device stores data read or written to the second storage medium The first cache memory management means, when the data write from the external device to the first storage medium is designated in the specific replication state, the first cache memory management means A cache area for storing the designated data as write-back data to be written to the first storage medium, and the designated data is transmitted to the second data storage device. Undetermined write data prohibited from being written to the second storage medium And the designated data is written in the respective areas, and the replication management means stores the unconfirmed write data written in all the buffer areas in the second area. When an unconfirmed write for writing to the cache memory is requested to the second data storage device and the unconfirmed write data exceeds a set amount by requesting the unconfirmed write, or a predetermined timing When data has arrived, data that has already been written from the buffer area to the second cache memory as the data that has not yet been written is data that has been written to the second storage medium. The write data request is requested to the second data storage device.

本実施形態に係るデータ記憶システムの構成を示すブロック図。The block diagram which shows the structure of the data storage system which concerns on this embodiment. 本実施形態に係るデータ記憶装置の概略構成を示すブロック図。1 is a block diagram showing a schematic configuration of a data storage device according to an embodiment. 図1に示される制御装置のモジュール構成を主として示すブロック図。The block diagram which mainly shows the module structure of the control apparatus shown by FIG. 本実施形態で適用されるキャッシュディレクトリエントリのデータ構造例を 示す図ブロック図。The block diagram which shows the example of a data structure of the cache directory entry applied in this embodiment. 本実施形態で適用されるレプリケーション管理テーブル及びI/O管理リストのデータ構造例を示す図。The figure which shows the data structure example of the replication management table and I / O management list which are applied by this embodiment. 本実施形態において外部の装置からライト処理が要求された場合のデータ記憶装置における処理の手順を示すフローチャート。6 is a flowchart showing a processing procedure in the data storage device when a write process is requested from an external device in the present embodiment. 本実施形態における正データ記憶装置側で実行される未確定ライトコマンドの処理の手順を示すフローチャート。6 is a flowchart showing a procedure of an unconfirmed write command process executed on the primary data storage device side in the present embodiment. 本実施形態における正データ記憶装置側で実行される未確定ライトコマンドの処理の手順を示すフローチャート。6 is a flowchart showing a procedure of an unconfirmed write command process executed on the primary data storage device side in the present embodiment. 本実施形態における正データ記憶装置側で実行される未確定ライト確定コマンド処理の手順を示すフローチャート。6 is a flowchart showing the procedure of an indefinite write confirmation command process executed on the primary data storage device side in the present embodiment. 本実施形態における副データ記憶装置側で実行される未確定ライト確定コマンド処理の手順を示すフローチャート。9 is a flowchart showing the procedure of an indeterminate write confirmation command process executed on the secondary data storage device side in the present embodiment. 本実施形態におけるキャッシュブロック確保時の処理の詳細な手順を示すフローチャート。6 is a flowchart showing a detailed procedure of processing when a cache block is secured in the present embodiment.

以下、本実施形態について図面を参照して説明する。   Hereinafter, the present embodiment will be described with reference to the drawings.

図1は、本実施形態に係るデータ記憶システム100の構成を示す。データ記憶システム100は、正サイト100-1に配置された正データ記憶装置(第1のデータ記憶装置)10-1、及び副サイト100-2に配置された副データ記憶装置(第2のデータ記憶装置)10-2を備える。正サイト100-1及び副サイト100-2は、例えば互いに距離的に離れた位置に存在する。つまり副サイト100-2は、正サイト100-1に対して遠隔地に存在する。   FIG. 1 shows a configuration of a data storage system 100 according to the present embodiment. The data storage system 100 includes a primary data storage device (first data storage device) 10-1 disposed at the primary site 100-1 and a secondary data storage device (second data) disposed at the secondary site 100-2. Storage device) 10-2. The primary site 100-1 and the secondary site 100-2 exist, for example, at positions separated from each other. That is, the secondary site 100-2 exists at a remote location from the primary site 100-1.

正サイト100-1において、正データ記憶装置10-1は、接続機器12-1を含むデータ通信路11-1を介して上位装置であるホスト装置13-1と接続されている。副サイト100-2において、副データ記憶装置10-2は、接続機器12-2を含むデータ通信路11-2を介してホスト装置13-2と接続されている。データ通信路11-1、データ通信路11-2は、例えばFibre ChannelやiSCSI、SCSIである。なお、正データ記憶装置10-1が、ホスト装置13-1を含む複数のホスト装置とデータ通信路11-1を介して接続されていても構わない。同様に、副データ記憶装置10-2が、ホスト装置13-2を含む複数のホスト装置とデータ通信路11-2を介して接続されていても構わない。ホスト装置13-1は正データ記憶装置10-1を利用するコンピュータであり、ホスト装置13-2は副データ記憶装置10-2を利用するコンピュータである。   In the primary site 100-1, the primary data storage device 10-1 is connected to a host device 13-1 that is a host device via a data communication path 11-1 including a connection device 12-1. In the secondary site 100-2, the secondary data storage device 10-2 is connected to the host device 13-2 via the data communication path 11-2 including the connection device 12-2. The data communication path 11-1 and the data communication path 11-2 are, for example, Fiber Channel, iSCSI, or SCSI. The primary data storage device 10-1 may be connected to a plurality of host devices including the host device 13-1 via the data communication path 11-1. Similarly, the secondary data storage device 10-2 may be connected to a plurality of host devices including the host device 13-2 via the data communication path 11-2. The host device 13-1 is a computer that uses the primary data storage device 10-1, and the host device 13-2 is a computer that uses the secondary data storage device 10-2.

正サイト100-1の接続機器12-1と副サイト100-2の接続機器12-2とは、ネットワーク14を介して接続されている。接続機器12-1及び12-2は、例えばファブリックスイッチである。ネットワーク14は、例えば広域ネットワークである。接続機器12-1及び12-2は、ネットワーク14と、例えば図示せぬファイバチャネル-インターネットプロトコル(FCP)変換器を中継して接続される。   The connection device 12-1 at the primary site 100-1 and the connection device 12-2 at the secondary site 100-2 are connected via the network 14. The connection devices 12-1 and 12-2 are, for example, fabric switches. The network 14 is, for example, a wide area network. The connection devices 12-1 and 12-2 are connected to the network 14 via a Fiber Channel-Internet Protocol (FCP) converter (not shown), for example.

図2は図1に示されるデータ記憶装置10-i(i=1、2)の概略構成を示すブロック図である。   FIG. 2 is a block diagram showing a schematic configuration of the data storage device 10-i (i = 1, 2) shown in FIG.

データ記憶装置10-iは、制御部20-iと記憶媒体80-iとから構成される。制御部20-iは、データ通信路11-iを介して接続されるホスト装置13-iと記憶媒体80-iとの間に介在して設けられる。記憶媒体80-iは、例えば論理ディスクであり、ハードディスクドライブ(HDD)やSSD(Solid State Drive)などで構成される。以下、記憶媒体80-iを論理ディスク(LDISK)80−iと呼ぶ。本実施形態では、説明を簡略化するために、データ記憶装置10-iが1つのLDISK80-iを有するものとする。しかしデータ記憶装置10-iが、複数のLDISKを有していても構わない。   The data storage device 10-i includes a control unit 20-i and a storage medium 80-i. The control unit 20-i is provided between the host device 13-i and the storage medium 80-i connected via the data communication path 11-i. The storage medium 80-i is, for example, a logical disk, and includes a hard disk drive (HDD), an SSD (Solid State Drive), or the like. Hereinafter, the storage medium 80-i is referred to as a logical disk (LDISK) 80-i. In the present embodiment, in order to simplify the description, it is assumed that the data storage device 10-i has one LDISK 80-i. However, the data storage device 10-i may have a plurality of LDISKs.

制御部20-iは、ホスト I/F部(HOST I/F)61-i、CPU21-i、プログラムメモリ31-i、フラッシュメモリ41-i、キャッシュメモリ51-i、及びHDD I/F部(HDD I/F)71-iを有している。   The control unit 20-i includes a host I / F unit (HOST I / F) 61-i, a CPU 21-i, a program memory 31-i, a flash memory 41-i, a cache memory 51-i, and an HDD I / F unit. (HDD I / F) 71-i.

ホスト I/F部61-iは、外部接続される装置との間の通信を制御する。すなわち、ホスト I/F部61-iはデータ通信路11-i側の通信を司る。また、HDD I/F部71-iはLDISK80-i側の通信を司る。   The host I / F unit 61-i controls communication with an externally connected device. That is, the host I / F unit 61-i manages communication on the data communication path 11-i side. The HDD I / F unit 71-i manages communication on the LDISK 80-i side.

CPU21-iは、制御部20-iにおける必要処理を実行するものであり、フラッシュメモリ41-iは、そのための各種プログラムが格納されている不揮発メモリである。プログラムメモリ31-iには、不揮発メモリであるフラッシュメモリ41-iからロードされたプログラムとCPU21-iが利用するデータ等を格納するためのデータ領域が格納されている。本実施形態で適用される非同期レプリケーションの手法は、このプログラムメモリ31-iにロードされ、格納されているプログラムをCPU21-iが読み取って実行することによって実現されるものとする。プログラムメモリ31-iには、上述のプログラムを格納するための領域に加えて、CPU21-iが利用するデータ等を格納するための領域も確保されている。   The CPU 21-i executes necessary processing in the control unit 20-i, and the flash memory 41-i is a nonvolatile memory in which various programs are stored. The program memory 31-i stores a data area for storing a program loaded from the flash memory 41-i which is a nonvolatile memory, data used by the CPU 21-i, and the like. Assume that the asynchronous replication technique applied in the present embodiment is realized by the CPU 21-i reading and executing a program loaded in the program memory 31-i and stored therein. In the program memory 31-i, in addition to an area for storing the above-described program, an area for storing data used by the CPU 21-i is also secured.

キャッシュメモリ51-iは、データ通信路11-iを介して接続されるホスト装置13-iまたは他のデータ記憶装置からデータ記憶装置10-i内のLDISK80-iに対して発行される入出力要求(I/O要求)において、読み出しまたは書き込みされるデータを一時的に格納する。   The cache memory 51-i is an input / output issued to the LDISK 80-i in the data storage device 10-i from the host device 13-i or another data storage device connected via the data communication path 11-i. In a request (I / O request), data to be read or written is temporarily stored.

キャッシュメモリ51-iは、ある論理的な単位に分割されて管理されている。この分割された単位で自由にLDISK80-i内の記憶位置に対応させて、その記憶位置のデータをキャッシュメモリ51-iに格納することができる。この分割された1つの単位をキャッシュブロックと呼ぶ。各キャッシュブロックは、例えばセットアソシアティブ方式によるメモリマッピングで管理されるものとする。   The cache memory 51-i is managed by being divided into certain logical units. The data at the storage location can be stored in the cache memory 51-i by freely corresponding to the storage location in the LDISK 80-i in this divided unit. This divided unit is called a cache block. Each cache block is managed, for example, by memory mapping using a set associative method.

データ記憶装置10-iにおいて、外部の装置、例えばホスト装置13-iからの入力要求に対する書き込み処理は、次のように行われる。まず、入力要求で指定された入力データ(書き込みデータ)がキャッシュメモリ51-iにエントリされた時点で、要求元のホスト装置13-iに対して書き込み処理完了が通知される。その後に、キャッシュメモリ51-iからLDISK80-iに対する実際のデータ書き込みが実行される。   In the data storage device 10-i, a write process in response to an input request from an external device such as the host device 13-i is performed as follows. First, when the input data (write data) specified by the input request is entered into the cache memory 51-i, the requesting host device 13-i is notified of the completion of the write process. Thereafter, actual data writing from the cache memory 51-i to the LDISK 80-i is executed.

一方、ホスト装置13-iからの出力要求に対する読み出し処理は、次のように行われる。まず、該当するデータがキャッシュメモリ51-iにエントリ(キャッシュ)されているか否かが判定され、エントリされていれば、そのデータがキャッシュメモリ51-iからデータ通信路11-iを介してホスト装置13-iに返される。これに対し、該当するデータがキャッシュメモリ51-iにエントリされていないならば、そのデータがLDISK80-iからキャッシュメモリ51-iに読み出される。そして、読み出されたデータが、要求元のホスト装置13-iに対してデータ通信路11-iを介して返される。   On the other hand, a read process for an output request from the host device 13-i is performed as follows. First, it is determined whether or not the corresponding data is entered (cached) in the cache memory 51-i. If the entry is entered, the data is transferred from the cache memory 51-i to the host via the data communication path 11-i. Returned to device 13-i. On the other hand, if the corresponding data is not entered in the cache memory 51-i, the data is read from the LDISK 80-i to the cache memory 51-i. Then, the read data is returned to the requesting host apparatus 13-i via the data communication path 11-i.

図3は、例えば図2に示される制御部20-iのプログラムメモリ31-iに格納されるプログラムをCPU21-iが読み取って実行することによって実現されるモジュール構成を主として示すブロック図である。   FIG. 3 is a block diagram mainly showing a module configuration realized, for example, by the CPU 21-i reading and executing a program stored in the program memory 31-i of the control unit 20-i shown in FIG.

ホストI/F制御部(ホスト I/F制御部)210-iは、データ記憶装置10-iとホスト装置13-iとの間のインタフェース処理を担当する。特に、正データ記憶装置10-1のホスト I/F制御部210-1は、他のデータ記憶装置(副データ記憶装置10-2)との間のインタフェース処理も担当する。このインタフェース処理は入出力処理を含む。つまりホスト I/F制御部210-iは、後述するコミュニケーションポート管理部270-iから例えばCDB(Command Descriptor Block: コマンド記述ブロック)を用いて送られるコマンドを受信して、そのコマンドを他のデータ記憶装置に送信することにより、他のデータ記憶装置との間の入出力処理を行う。本実施形態において、ホスト装置13-1から正データ記憶装置10-1に対してCDBを用いて送られるコマンドに通常ライトコマンドがある。また、正データ記憶装置10-1から副データ記憶装置10-2に対してCDBを用いて送られるコマンドに、未確定ライトコマンドと未確定ライト確定コマンドとがある。これらのコマンドについては後述する。   The host I / F control unit (host I / F control unit) 210-i is in charge of interface processing between the data storage device 10-i and the host device 13-i. In particular, the host I / F control unit 210-1 of the primary data storage device 10-1 is also responsible for interface processing with other data storage devices (sub data storage device 10-2). This interface processing includes input / output processing. That is, the host I / F control unit 210-i receives a command sent from the communication port management unit 270-i, which will be described later, using, for example, a CDB (Command Descriptor Block: command description block), and sends the command to other data. By transmitting to the storage device, input / output processing with another data storage device is performed. In the present embodiment, there is a normal write command as a command sent from the host device 13-1 to the primary data storage device 10-1 using the CDB. Commands sent from the primary data storage device 10-1 to the secondary data storage device 10-2 using the CDB include an unconfirmed write command and an unconfirmed write confirmation command. These commands will be described later.

I/O管理部(入出力管理部)220-iは、ホスト I/F制御部210-iで受信したCDBのデコードを行う。特に、副データ記憶装置10-2のI/O管理部220-2は、未確定ライトコマンドまたは未確定ライト確定コマンドに応じて、キャッシュメモリ管理部230-2に対して未確定ライトコマンドまたは未確定ライト確定コマンドを要求することによりI/Oアクセス管理(入出力アクセス管理)を行う。   The I / O management unit (input / output management unit) 220-i decodes the CDB received by the host I / F control unit 210-i. In particular, the I / O management unit 220-2 of the secondary data storage device 10-2 makes an unconfirmed write command or an unconfirmed command to the cache memory management unit 230-2 in response to the unconfirmed write command or the unconfirmed write confirmation command. I / O access management (input / output access management) is performed by requesting a confirmed write confirmation command.

キャッシュメモリ管理部230-iはI/O管理部220-iからの要求を受けて、キャッシュディレクトリ記憶部231-iに格納されているキャッシュディレクトリ232-iに基づいてキャッシュメモリ51-i(図2参照)におけるI/Oアクセス管理を行う。キャッシュディレクトリ232-iのデータ構造については後述する。   The cache memory management unit 230-i receives a request from the I / O management unit 220-i and based on the cache directory 232-i stored in the cache directory storage unit 231-i (see FIG. I / O access management in 2). The data structure of the cache directory 232-i will be described later.

本実施形態において、LDISK80-iは、複数のディスクアレイ、例えば図3に示されるようなRAID(Redundant Arrays of Independent Disks、Redundant Arrays of Inexpensive Disks)構成の2つのディスクアレイ800-iから構成されるものとする。つまり、本実施形態においてデータ記憶装置10-iはディスクアレイ装置である。   In this embodiment, the LDISK 80-i includes a plurality of disk arrays, for example, two disk arrays 800-i having a RAID (Redundant Arrays of Independent Disks, Redundant Arrays of Inexpensive Disks) configuration as shown in FIG. Shall. That is, in the present embodiment, the data storage device 10-i is a disk array device.

なお、ディスクアレイ800-iがLDISK80-iと1対1で対応するとは限らない。例えば、ディスクアレイ800-iの一部がLDISK80-iの一部に割り当てられ、ディスクアレイ800-iの他の一部が別のLDISKの一部に割り当てられても構わない。   The disk array 800-i does not always correspond to the LDISK 80-i on a one-to-one basis. For example, a part of the disk array 800-i may be assigned to a part of the LDISK 80-i, and another part of the disk array 800-i may be assigned to a part of another LDISK.

RAID制御部240-iは、各ディスクアレイ800-iを物理ディスクの集合として管理する。RAID制御部240-iは、キャッシュメモリ管理部230-iからの要求に応じて、LDISK80-i内のディスク転送の対象となるディスクアレイ800-iとの間のディスクデータの転送を制御する。HDD I/F制御部(HDD I/F制御部)250-iは、RAID制御部240-iからの要求に応じて、ディスクアレイ800-i内のディスク転送の対象となる、1つ以上の物理ディスクとの間のディスクデータの転送を制御する。   The RAID controller 240-i manages each disk array 800-i as a set of physical disks. The RAID control unit 240-i controls the transfer of disk data to and from the disk array 800-i that is the target of disk transfer in the LDISK 80-i in response to a request from the cache memory management unit 230-i. The HDD I / F control unit (HDD I / F control unit) 250-i responds to a request from the RAID control unit 240-i and includes one or more target disks to be transferred in the disk array 800-i. Controls the transfer of disk data to and from the physical disk.

なお、LDISK80-iは必ずしもディスクアレイから構成されている必要はなく、したがって、データ記憶装置10-iがディスクアレイ装置でなくともよい。更に、LDISK80-iに代えて物理ディスクのような他の記憶媒体を用いることも可能である。   Note that the LDISK 80-i does not necessarily have to be composed of a disk array, and therefore the data storage device 10-i may not be a disk array device. Furthermore, it is possible to use another storage medium such as a physical disk in place of LDISK80-i.

レプリケーション管理部260-iは、レプリケーション管理データ記憶部261-iに格納されているレプリケーション管理テーブル262-i及びI/O管理リスト記憶部263-iに格納されているI/O管理リスト264-iに基づいてレプリケーションの管理及び制御を行う。レプリケーション管理テーブル262-i及びI/O管理リスト264-iのデータ構造については後述する。   The replication management unit 260-i includes a replication management table 262-i stored in the replication management data storage unit 261-i and an I / O management list 264- stored in the I / O management list storage unit 263-i. Manage and control replication based on i. The data structure of the replication management table 262-i and the I / O management list 264-i will be described later.

コミュニケーションポート管理部270-iは他のデータ記憶装置との間の通信のためにアクセスポートを管理する。   The communication port management unit 270-i manages an access port for communication with other data storage devices.

前述したように、キャッシュメモリ51-iを管理するための論理的な単位はキャッシュブロックと呼ばれる。このキャッシュブロックと1対1に対応し、キャッシュブロックを管理するための管理データ構造は、キャッシュディレクトリエントリと呼ばれる。キャッシュディレクトリ232-iは、キャッシュディレクトリエントリの集合である。   As described above, a logical unit for managing the cache memory 51-i is called a cache block. A management data structure for managing the cache block in a one-to-one correspondence with the cache block is called a cache directory entry. The cache directory 232-i is a set of cache directory entries.

図4は、キャッシュディレクトリのデータ構造例を示す。本実施形態において、キャッシュディレクトリエントリのデータ(キャッシュディレクトリデータ)は、論理ディスク番号、論理アドレス、状態フラグ、リードキャッシュビットマップ、ライトバックビットマップ(第1の変数)、及び未確定ライトビットマップ(第2の変数)から構成される。   FIG. 4 shows an example of the data structure of the cache directory. In this embodiment, the cache directory entry data (cache directory data) includes a logical disk number, a logical address, a status flag, a read cache bitmap, a write-back bitmap (first variable), and an indeterminate write bitmap ( Second variable).

論理ディスク番号は、該当するキャッシュブロックが割り当てられている論理ディスクを示し、論理アドレスは、該当するキャッシュブロックが割り当てられている論理ディスク内の領域(論理ブロック領域)の開始アドレスを示す。状態フラグは、該当するキャッシュブロックの状態、例えばキャッシュブロックを使用中であるか否かを示す。   The logical disk number indicates the logical disk to which the corresponding cache block is allocated, and the logical address indicates the start address of the area (logical block area) in the logical disk to which the corresponding cache block is allocated. The status flag indicates the status of the corresponding cache block, for example, whether or not the cache block is in use.

リードキャッシュビットマップ、ライトバックビットマップ及び未確定ライトビットマップは、該当するキャッシュブロック内の有効データの位置を、ブロックよりも小サイズの単位、例えばセクタ単位で、ビットにより示す。有効データとは、リードキャッシュビットマップでは、該当キャッシュブロック内のリードキャッシュデータを指し、ライトバックビットマップでは、該当キャッシュブロック内において論理ディスク番号で示される論理ディスクに書き出されるべきライトバックデータ(いわゆるダーティデータ)を指す。また、未確定ライトビットマップでは、該当キャッシュブロック内の未確定ライトデータを指す。未確定ライトデータは、ライトバックデータと異なり、論理ディスクに書き出されるべきでないデータ、つまり論理ディスクに書き出すことが禁止されるデータである。未確定データが確定されるとライトバックデータとして扱われる。   The read cache bitmap, the write back bitmap, and the indeterminate write bitmap indicate the position of valid data in the corresponding cache block in bits in units smaller than the block, for example, in sectors. Valid data refers to read cache data in the corresponding cache block in the read cache bitmap, and write back data (so-called so-called write-back data to be written to the logical disk indicated by the logical disk number in the corresponding cache block in the write-back bitmap. Dirty data). Further, the unconfirmed write bitmap indicates unconfirmed write data in the corresponding cache block. Unlike the write-back data, the indeterminate write data is data that should not be written to the logical disk, that is, data that is prohibited from being written to the logical disk. When unconfirmed data is confirmed, it is treated as write-back data.

本実施形態において、レプリケーションの状態は、同期(SYNC)状態、コピー(COPY)状態及びスプリット(SPLIT)状態の3つである。レプリケーション作成直後の初期状態はSPLITである。SPLIT状態とは、正データ記憶装置10-1のLDISK80-1(正論理ディスク)と副データ記憶装置10-2のLDISK80-2(副論理ディスク)とが論理的に切り離された状態を指す。つまりSPLIT状態では、正データ記憶装置10-1及び副データ記憶装置10-2は、それぞれ独立のデータ記憶装置として機能する。   In this embodiment, there are three replication states: a synchronization (SYNC) state, a copy (COPY) state, and a split (SPLIT) state. The initial state immediately after creation of replication is SPLIT. The SPLIT state refers to a state in which the LDISK 80-1 (primary logical disk) of the primary data storage device 10-1 and the LDISK 80-2 (secondary logical disk) of the secondary data storage device 10-2 are logically disconnected. That is, in the SPLIT state, the primary data storage device 10-1 and the secondary data storage device 10-2 function as independent data storage devices.

SPLIT状態において、例えばホスト装置13-1から正データ記憶装置10-1に同期要求が与えられると、SPLIT状態からCOPY状態に遷移する。このCOPY状態では、LDISK80-1からデータを読み出し、この読み出されたデータをLDISK80-2に書き込むCOPY処理が行われる。このCOPY処理では、正データ記憶装置10-1から副データ記憶装置10-2に、通常ライトが要求される。この際の副データ記憶装置10-2での処理は後述の図6に示す外部の装置からライト処理が要求された場合のデータ記憶装置における処理の手順において、未確定ライト要求でない場合の処理と同様である。すなわち、通常のライトと同じく副データ記憶装置10-2のタイミングで実行されるデステージング処理により副論理ディスクにCOPY処理が行われる。COPY処理が完了すると、SYNC状態に遷移する。これらの状態は、レプリケーション管理部260-iによって制御される。   In the SPLIT state, for example, when a synchronization request is given from the host device 13-1 to the primary data storage device 10-1, the state changes from the SPLIT state to the COPY state. In this COPY state, a COPY process is performed in which data is read from the LDISK 80-1 and the read data is written to the LDISK 80-2. In this COPY process, a normal write is requested from the primary data storage device 10-1 to the secondary data storage device 10-2. The processing in the secondary data storage device 10-2 at this time is the same as the processing in the case where the write request is not requested in the data storage device when the write processing is requested from an external device shown in FIG. It is the same. That is, the COPY process is performed on the secondary logical disk by the destaging process executed at the timing of the secondary data storage device 10-2 as in the normal write. When the COPY process is completed, the state transits to the SYNC state. These states are controlled by the replication management unit 260-i.

図5は、レプリケーション管理部260-iによるレプリケーションの管理および制御に用いられるレプリケーション管理テーブル262-i及びI/O管理リスト264-iのデータ構造例を示す。レプリケーション管理テーブル262-iは、正論理ディスク番号、副論理ディスク番号、レプリケーションステート情報、レプリケーション周期情報、確定周期情報、送信可能データ量情報、送信済みデータ量情報及び確定フラグを保持する。   FIG. 5 shows an example of the data structure of the replication management table 262-i and the I / O management list 264-i used for replication management and control by the replication management unit 260-i. The replication management table 262-i holds a primary logical disk number, a secondary logical disk number, replication state information, replication cycle information, fixed cycle information, transmittable data amount information, transmitted data amount information, and a fixed flag.

正論理ディスク番号は、正データ記憶装置10-1内のレプリケーション元(レプリケーションマスタ)となる正論理ディスクの番号を示す。副論理ディスク番号は、副データ記憶装置10-2内のレプリケーション先(レプリケーションサブ)となる副論理ディスクの番号を示す。レプリケーションステート情報は前述の3つのレプリケーションの状態のいずれかを示す。本実施形態では、LDISK80-1(第1の記憶媒体)とLDISK80-2(第2の記憶媒体)とは対をなし、レプリケーションペアを構成する。   The primary logical disk number indicates the number of the primary logical disk that is the replication source (replication master) in the primary data storage device 10-1. The secondary logical disk number indicates the number of the secondary logical disk that is the replication destination (replication sub) in the secondary data storage device 10-2. The replication state information indicates one of the three replication states described above. In the present embodiment, the LDISK 80-1 (first storage medium) and the LDISK 80-2 (second storage medium) make a pair to form a replication pair.

レプリケーション周期情報は、正データ記憶装置10-1から後述するバッファリングI/Oリストに記載されたI/O要求に対応するライトデータを副データ記憶装置10-2へと転送する転送処理を行う周期を示す。確定周期情報は未確定ライトデータを確定する周期を示す。送信可能データ量情報は、確定周期情報の示す1周期内で正データ記憶装置10-1から副データ記憶装置10-2に未確定データとして送信可能なデータ量を示す。送信可能データ量は、例えば、1周期内に副データ記憶装置10-2に送られる未確定データのために、キャッシュメモリ51-2内の領域を割り当てることが許される量に設定される。送信済みデータ量情報は、正データ記憶装置10-1から副データ記憶装置10-2に未確定データとして既に送信されている送信済みデータ量を示す。確定フラグは、未確定ライト確定コマンドが実行中であるか否かを示す。   The replication cycle information performs a transfer process for transferring write data corresponding to an I / O request described in a buffering I / O list described later from the primary data storage device 10-1 to the secondary data storage device 10-2. Indicates the period. The fixed cycle information indicates a cycle for determining the undefined write data. The transmittable data amount information indicates the amount of data that can be transmitted as unconfirmed data from the primary data storage device 10-1 to the secondary data storage device 10-2 within one cycle indicated by the fixed cycle information. The transmittable data amount is set, for example, to an amount that allows an area in the cache memory 51-2 to be allocated for unconfirmed data to be sent to the secondary data storage device 10-2 within one cycle. The transmitted data amount information indicates the transmitted data amount already transmitted as unconfirmed data from the primary data storage device 10-1 to the secondary data storage device 10-2. The confirmation flag indicates whether or not an unconfirmed write confirmation command is being executed.

I/O管理リスト264-iは、実行I/Oリスト264a-i、ペンディングI/Oリスト264b-i、およびバッファリングI/Oリスト264c-iから構成される。実行I/Oリスト264a-iは、実行I/O要求を要求順に保持するキュー形式のリスト構造を有する。ペンディングI/Oリスト264b-iは、ペンディングI/O要求を要求順に保持するキュー形式のリスト構造を有する。実行I/O要求とは、現時点において実
行が可能なI/O要求を指す。ペンディングI/O要求とは、現時点において実行が不可のI/O要求を指す。バッファリングI/Oリスト264c-iは、バッファリングI/O要求を要求順に保持するキュー形式のリスト構造を有する。バッファリングI/O要求とは未確定ライトデータとして副データ記憶装置に送信するI/O要求を指す。
The I / O management list 264-i includes an execution I / O list 264a-i, a pending I / O list 264b-i, and a buffering I / O list 264c-i. The execution I / O list 264a-i has a queue-type list structure that holds execution I / O requests in order of request. The pending I / O list 264b-i has a queue-type list structure that holds pending I / O requests in order of request. An execution I / O request refers to an I / O request that can be executed at the present time. A pending I / O request refers to an I / O request that cannot be executed at this time. The buffering I / O list 264c-i has a queue-type list structure that holds buffering I / O requests in order of request. The buffering I / O request refers to an I / O request to be transmitted to the secondary data storage device as unconfirmed write data.

次に、本実施形態の動作について、レプリケーションの状態がSYNC状態のときに、ホスト装置13-1から正データ記憶装置10-1に通常ライトコマンドを含むCDBが送信された場合の正データ記憶装置10-1及び副データ記憶装置10-2の動作を例に、図6のフローチャートを参照して説明する。   Next, with respect to the operation of the present embodiment, when the replication state is the SYNC state, the primary data storage device when a CDB including a normal write command is transmitted from the host device 13-1 to the primary data storage device 10-1. The operation of 10-1 and the sub data storage device 10-2 will be described as an example with reference to the flowchart of FIG.

今、ホスト装置13-1から正データ記憶装置10-1に、通常ライトコマンドを含むCDBがデータ通信路11-1を介して送信されたものとする。通常ライトコマンドは、論理ディスク番号、開始アドレス及びサイズから構成されるアクセス情報を含む。このアクセス情報中の正論理ディスク番号は、正データ記憶装置10-1内の書き込み先のLDISK80-1を示す。アクセス情報中の開始アドレスは、データが書き込まれるべきLDISK80-1内の記憶領域(ライトアクセス範囲)の先頭位置のアドレスを示し、アクセス情報中のサイズは、この記憶領域のサイズ(転送サイズ)を示す。   Now, it is assumed that a CDB including a normal write command is transmitted from the host device 13-1 to the primary data storage device 10-1 via the data communication path 11-1. The normal write command includes access information including a logical disk number, a start address, and a size. The primary logical disk number in this access information indicates the write destination LDISK 80-1 in the primary data storage device 10-1. The start address in the access information indicates the address of the start position of the storage area (write access range) in the LDISK 80-1 to which data is to be written, and the size in the access information indicates the size (transfer size) of this storage area. Show.

ホスト装置13-1から送信されたCDBは、ホストI/F制御部210-1で受信され、I/O管理部220-1に渡される。I/O管理部220-1は、渡されたCDBをデコードする(ステップS1)。ステップS1においてI/O管理部220-1は、CDBが本実施形態のように通常ライトコマンドを含む場合、キャッシュメモリ管理部230-1に対して、ライト処理のためのI/O要求として通常ライト要求を送出する。通常ライト要求は、通常ライト処理のためのI/O要求であり、通常ライトコマンドに含まれているアクセス情報を継承する。   The CDB transmitted from the host device 13-1 is received by the host I / F control unit 210-1, and passed to the I / O management unit 220-1. The I / O management unit 220-1 decodes the delivered CDB (step S1). In step S1, when the CDB includes a normal write command as in this embodiment, the I / O management unit 220-1 normally sends an I / O request for write processing to the cache memory management unit 230-1. Send a write request. The normal write request is an I / O request for normal write processing, and inherits the access information included in the normal write command.

次に、キャッシュメモリ管理部230-1は、I/O要求に含まれているアクセス情報中の論理ディスク番号の示すLDISK80-1がレプリケーションマスタであるかを判定する(ステップS2)。   Next, the cache memory management unit 230-1 determines whether the LDISK 80-1 indicated by the logical disk number in the access information included in the I / O request is a replication master (step S2).

本実施形態のようにレプリケーションマスタである場合(ステップS2がYes)、キャッシュメモリ管理部230-1は、I/O管理部220-1から送信されたCDBライト処理のためのI/O要求(ここでは通常ライト要求)を受信すると、このI/O要求に基づいて、キャッシュメモリ51-1(第1のキャッシュメモリ)内で必要なキャッシュブロックと、このキャッシュブロックと同じ容量のバッファとを確保し(ステップS3)、I/O要求で指定されるライト処理に必要なライトデータを受信し、ステップS3で確保したキャッシュブロックとバッファとそれぞれに記憶する(ステップS5)。そして、キャッシュブロックが使用中であることを示すフラグと、バッファが確保されていること示すフラグとをキャッシュディレクトリ232-1のキャッシュディレクトリエントリに含まれている状態フラグにセットする。なお、確保されたバッファはライトデータを副データ記憶装置10-2に転送するために用いられる。   When it is a replication master as in the present embodiment (Yes in step S2), the cache memory management unit 230-1 receives an I / O request for CDB write processing transmitted from the I / O management unit 220-1 ( When a normal write request is received, a necessary cache block in the cache memory 51-1 (first cache memory) and a buffer having the same capacity as the cache block are secured based on this I / O request. Then, the write data necessary for the write process specified by the I / O request is received and stored in the cache block and the buffer secured in step S3 (step S5). Then, a flag indicating that the cache block is in use and a flag indicating that the buffer is reserved are set in the status flag included in the cache directory entry of the cache directory 232-1. The secured buffer is used to transfer write data to the sub data storage device 10-2.

次に、キャッシュメモリ管理部230-1は、I/O管理部220-1から受信したI/O要求が未確定ライト要求であるかを判定する(ステップS7)。本実施形態のように未確定ライト要求でないならば(ステップS7がNo)、受信したライトデータをキャッシュメモリ51-1内の確保されたキャッシュブロックにエントリする(ステップS8)。このステップS8においてキャッシュメモリ管理部230-1は、I/O管理部220-1から受信した通常ライト要求に含まれているアクセス情報の示すライトアクセス範囲を、確保されたキャッシュブロックに対応する、キャッシュディレクトリ232-1のキャッシュディレクトリエントリに含まれているライトバックビットマップに反映する。即ちキャッシュメモリ管理部230-1は、確保されたキャッシュブロックに対応するライトバックビットマップのうち、通常ライト要求で指定されたライトアクセス範囲に対応するビットを例えば"1"にセットする。   Next, the cache memory management unit 230-1 determines whether the I / O request received from the I / O management unit 220-1 is an unconfirmed write request (step S7). If it is not an indefinite write request as in the present embodiment (No in step S7), the received write data is entered in a secured cache block in the cache memory 51-1 (step S8). In this step S8, the cache memory management unit 230-1 corresponds to the secured cache block with the write access range indicated by the access information included in the normal write request received from the I / O management unit 220-1. This is reflected in the write-back bitmap included in the cache directory entry of the cache directory 232-1. That is, the cache memory management unit 230-1 sets the bit corresponding to the write access range designated by the normal write request in the write-back bitmap corresponding to the secured cache block, for example, “1”.

図6に示されるフローチャートは、正データ記憶装置10-1及び副データ記憶装置10-2で共通に実行される。しかし本実施形態において、ホスト装置13-1から正データ記憶装置10-1に送信されるCDBに含まれるライトコマンドは、通常ライトコマンドに限られる。したがって、正データ記憶装置10-1では、ステップS7は必ずしも必要でなく、ステップS5、もしくはステップ6の次にステップS8が実行されても構わない。   The flowchart shown in FIG. 6 is executed in common by the primary data storage device 10-1 and the secondary data storage device 10-2. However, in this embodiment, the write command included in the CDB transmitted from the host device 13-1 to the primary data storage device 10-1 is limited to the normal write command. Therefore, in the primary data storage device 10-1, step S7 is not necessarily required, and step S8 may be executed after step S5 or step 6.

次にキャッシュメモリ管理部230-1は、I/O要求に含まれているアクセス情報中の論理ディスク番号の示すLDISK80-1がレプリケーションマスタであるかを判定する(ステップS10)。本実施形態のようにレプリケーションマスタである場合(ステップS10がYes)、キャッシュメモリ管理部230-1はレプリケーション管理部260-1にレプリケーション管理のためのI/O要求を送出する。このI/O要求は、通常ライト要求と同様に、論理ディスク番号、開始アドレス及びサイズから構成されるアクセス情報を含む。   Next, the cache memory management unit 230-1 determines whether the LDISK 80-1 indicated by the logical disk number in the access information included in the I / O request is a replication master (step S10). When it is a replication master as in the present embodiment (Yes in step S10), the cache memory management unit 230-1 sends an I / O request for replication management to the replication management unit 260-1. This I / O request includes access information composed of a logical disk number, a start address, and a size, like the normal write request.

レプリケーション管理部260-1は、キャッシュメモリ管理部230-1からI/O要求を受信すると、I/O管理リスト264-1のペンディングI/Oリスト264b-1を参照する。そしてレプリケーション管理部260-1は、ペンディングI/Oリスト264b-1にI/O要求があるかを判定する(ステップS13)。   When receiving an I / O request from the cache memory management unit 230-1, the replication management unit 260-1 refers to the pending I / O list 264b-1 of the I / O management list 264-1. Then, the replication management unit 260-1 determines whether there is an I / O request in the pending I / O list 264b-1 (step S13).

ペンディングI/Oリスト264b-1にI/O要求がある場合(ステップS13がYes)は、正データ記憶装置10-1及び副データ記憶装置10-2の間でデータ更新の順序を保証するためには、今回キャッシュメモリ管理部230-1から受信したI/O要求(に対応する未確定ライト要求)を正データ記憶装置10-1から副データ記憶装置10-2に直ちに送信できないことを意味する。   If there is an I / O request in the pending I / O list 264b-1 (Yes in step S13), the data update order is guaranteed between the primary data storage device 10-1 and the secondary data storage device 10-2. This means that the I / O request received from the cache memory management unit 230-1 this time (the corresponding unconfirmed write request) cannot be immediately transmitted from the primary data storage device 10-1 to the secondary data storage device 10-2. To do.

そこで、ステップS13の判定がYesの場合、レプリケーション管理部260-1は、キャッシュメモリ管理部230-1から受信したI/O要求をペンディングI/Oリスト264b-1の最後尾に追加する(ステップS14)。このステップS14においてレプリケーション管理部260-1が、未確定ライト確定コマンドの処理を開始するのは後述するステップS18から分岐された場合のみである。これは、ペンディングI/Oリスト264b-1に最初に繋がれているI/O実行時に既に前記処理を開始しているからである。   Therefore, when the determination in step S13 is Yes, the replication management unit 260-1 adds the I / O request received from the cache memory management unit 230-1 to the tail of the pending I / O list 264b-1 (step S13). S14). In step S14, the replication management unit 260-1 starts processing the unconfirmed write confirmation command only when the process branches from step S18 described later. This is because the processing has already been started at the time of execution of the first I / O connected to the pending I / O list 264b-1.

次にレプリケーション管理部260-1は、ホスト装置13-1からの通常ライト要求に対する応答として、ライト完了を示すステータス情報をホスト装置13-1に通知し(ステップS15)、確保したキャッシュブロックの開放を行う(ステップS16)。具体的には、キャッシュブロック確保時にキャッシュディレクトリ232-1のキャッシュディレクトリエントリに含まれている状態フラグにセットしたキャッシュブロックが使用中であることを示すフラグをクリアする。そしてレプリケーション管理部260-1は、未確定ライト確定コマンドの実行完了が副データ記憶装置10-2から通知されるのを待つ状態に入る(ステップS17)。なお、未確定ライト確定コマンドの実行が成功した場合は、後述するステップS18から処理を再開する。未確定ライト確定コマンドの実行が失敗した場合は、エラーとして完了する。この未確定ライト確定コマンドの処理については後述する。   Next, as a response to the normal write request from the host device 13-1, the replication management unit 260-1 notifies the host device 13-1 of status information indicating write completion (step S15), and releases the secured cache block. Is performed (step S16). Specifically, the flag indicating that the cache block set in the status flag included in the cache directory entry of the cache directory 232-1 when the cache block is secured is cleared. Then, the replication management unit 260-1 enters a state of waiting for the completion of execution of the unconfirmed write confirmation command to be notified from the secondary data storage device 10-2 (step S17). If the execution of the unconfirmed write confirmation command is successful, the process is resumed from step S18 described later. If execution of the unconfirmed write confirmation command fails, it is completed as an error. The processing of this unconfirmed write confirmation command will be described later.

一方、ステップS13の判定がNoの場合、レプリケーション管理部260-1は、レプリケーション管理テーブル262-1に保持されている送信済みデータ量情報と送信可能データ量情報とに基づき、現在の送信済みデータ量と送信可能データ量とを確認する。そしてレプリケーション管理部260-1は、送信済みデータ量に今回受信したデータ量(つまり副データ記憶装置10-2に送信されるべきデータ量)を加えた値"送信済みデータ量+受信データ量"が送信可能データ量を超えているかを判定する(ステップS18)。   On the other hand, when the determination in step S13 is No, the replication management unit 260-1 determines the current transmitted data based on the transmitted data amount information and the transmittable data amount information held in the replication management table 262-1. Check the amount and the amount of data that can be sent. Then, the replication management unit 260-1 adds “the amount of transmitted data + the amount of received data” obtained by adding the amount of data received this time (that is, the amount of data to be transmitted to the secondary data storage device 10-2) to the amount of transmitted data. Is determined to exceed the transmittable data amount (step S18).

"送信済みデータ量+受信データ量"が送信可能データ量を超えていると(ステップS18がYes)、今回受信されたデータを副データ記憶装置10-2に送信できないことを意味する。そこで、ステップS18の判定がYesの場合、レプリケーション管理部260-1は、ステップS14を実行し、未確定ライト確定コマンドの処理を開始する。   If “transmitted data amount + received data amount” exceeds the transmittable data amount (Yes in step S18), it means that the data received this time cannot be transmitted to the secondary data storage device 10-2. Therefore, when the determination in step S18 is Yes, the replication management unit 260-1 executes step S14 and starts processing the unconfirmed write confirmation command.

これに対し、ステップS18の判定がNoの場合、レプリケーション管理部260-1は、キャッシュメモリ管理部230-1から受信したI/O要求をバッファリングI/Oリスト264c-1の最後尾に追加する(ステップS19)。そしてレプリケーション管理部260-1は、ホスト装置13-1からの通常ライト要求に対する応答として、ライト完了を示すステータス情報をホスト装置13-1に通知し(ステップS20)、確保したキャッシュブロックを開放する(ステップS21)。その後、レプリケーション管理部260-1は、正データ記憶装置10-1から副データ記憶装置10-2へのライトデータ転送処理を待つ状態となる。   On the other hand, when the determination in step S18 is No, the replication management unit 260-1 adds the I / O request received from the cache memory management unit 230-1 to the end of the buffering I / O list 264c-1. (Step S19). As a response to the normal write request from the host device 13-1, the replication management unit 260-1 notifies the host device 13-1 of status information indicating write completion (step S20), and releases the secured cache block. (Step S21). Thereafter, the replication management unit 260-1 waits for a write data transfer process from the primary data storage device 10-1 to the secondary data storage device 10-2.

上述のライトデータ転送処理は、レプリケーション管理テーブル262-1に保持されているレプリケーション周期情報の示すレプリケーション周期(タイミング)が到来した場合に実行される。このレプリケーション周期について説明する。   The above-described write data transfer processing is executed when the replication cycle (timing) indicated by the replication cycle information held in the replication management table 262-1 has arrived. This replication cycle will be described.

レプリケーション管理部260-1は、最初の通常ライト要求の実行時、つまり、送信済みデータ量が"0"の状態で通常ライトが完了した際、タイマをレプリケーション管理テーブル262-1に保持されているレプリケーション周期情報の示すレプリケーション周期を表す時間にセットする。そしてレプリケーション管理部260-1は、このタイマがタイムアウトした場合に、ライトデータ転送処理を実行する。また、タイマはライトデータ転送処理が完了した際にはリセットされる。   The replication management unit 260-1 holds a timer in the replication management table 262-1 when the first normal write request is executed, that is, when normal write is completed when the amount of transmitted data is “0”. Set to the time that represents the replication cycle indicated by the replication cycle information. Then, the replication management unit 260-1 executes a write data transfer process when this timer times out. The timer is reset when the write data transfer process is completed.

レプリケーション管理部260-1は、上記タイマセットの条件を満たした場合には、このタイマをレプリケーション周期情報に基づいてセットし直す。これにより本実施形態では、レプリケーション周期情報の示すレプリケーション周期で未確定ライトコマンドによるライトデータ転送処理が実行される。なお、上述の未確定ライトコマンドの処理は、レプリケーション周期(タイミング)が到来した場合だけでなく、バッファリングI/OリストのI/O要求の量があらかじめ設定した閾値を超えた場合や、送信可能データ量に対して、確保されたバッファのデータ量があらかじめ設定した比率を超えた場合に行うようにすることも可能である。また、実行I/Oリストの要素が空になったことをトリガにして実行することも可能である。   When the timer setting condition is satisfied, the replication management unit 260-1 resets this timer based on the replication cycle information. As a result, in the present embodiment, the write data transfer process by the unconfirmed write command is executed in the replication cycle indicated by the replication cycle information. The above-mentioned indeterminate write command processing is performed not only when the replication cycle (timing) has arrived, but also when the amount of I / O requests in the buffering I / O list exceeds a preset threshold value, It is also possible to perform the processing when the secured buffer data amount exceeds a preset ratio with respect to the possible data amount. It is also possible to execute by using the execution I / O list element as a trigger.

図7、図8を用いて、レプリケーション周期が到来した際の正データ記憶装置10-1の動作である周期処理について説明する。   A periodic process that is an operation of the primary data storage device 10-1 when the replication period comes will be described with reference to FIGS.

まず、未確定ライト確定コマンドが実行中であるか否かを、図5に示すレプリケーション管理テーブル262-1のもつ確定フラグによって判定する(ステップS31)。未確定ライト確定コマンドが実行中であれば(ステップS31がNo)、処理を行わず、次のレプリケーション周期が到来するまで待つ。未確定ライト確定コマンドが実行中で無い場合(ステップS31がYes)、実行I/Oリスト264a-1にI/O要求があるか否かの判定を行う(ステップS32)。   First, it is determined whether or not the unconfirmed write confirmation command is being executed based on the confirmation flag of the replication management table 262-1 shown in FIG. 5 (step S31). If the unconfirmed write confirmation command is being executed (No in step S31), the process is not performed and the process waits until the next replication cycle comes. If the unconfirmed write confirmation command is not being executed (Yes in step S31), it is determined whether or not there is an I / O request in the execution I / O list 264a-1.

実行I/Oリスト264a-iにI/O要求がある場合(ステップS32がNo)、ステップS31がNoの場合と同様の処理を行う。実行I/Oリスト264a-1にI/O要求が無い場合(ステップS32がYes)、バッファリングI/Oリスト264c-1にI/O要求があるか否かの判定を行う(ステップS33)。   When there is an I / O request in the execution I / O list 264a-i (No in step S32), the same processing as in the case where No in step S31 is performed is performed. When there is no I / O request in the execution I / O list 264a-1 (Yes in Step S32), it is determined whether or not there is an I / O request in the buffering I / O list 264c-1 (Step S33). .

バッファリングI/Oリスト264c-1にI/O要求が無い場合(ステップS33がNo)、ステップS31、ステップS32がNoの場合と同様の処理を行う。バッファリングI/Oリスト264c-1にI/O要求がある場合(ステップS33がYes)、副データ記憶装置10-2に対して同時に転送することが可能なライトデータの判定を行う。   When there is no I / O request in the buffering I / O list 264c-1 (No in Step S33), the same processing as that in the case where Step S31 and Step S32 are No is performed. If there is an I / O request in the buffering I / O list 264c-1 (Yes in step S33), the write data that can be simultaneously transferred to the secondary data storage device 10-2 is determined.

まず、バッファリングI/Oリスト264c-1に、同じ領域に対する複数のI/O要求が積まれているか否かの判定を行う(ステップS34)。   First, it is determined whether or not a plurality of I / O requests for the same area are stacked in the buffering I / O list 264c-1 (step S34).

バッファリングI/Oリスト264c-1に同じ領域に対する複数のI/O要求が積まれている場合(ステップS34がNo)、バッファリングI/Oリスト264c-1において最後にあるI/O要求のみを残し、他のバッファを開放してI/O要求を完了させる(ステップS35)。バッファリングI/Oリストはキュー形式であり、先頭から順に繋いでいくため、順序が入れ替わることはない。   When a plurality of I / O requests for the same area are stacked in the buffering I / O list 264c-1 (No in step S34), only the last I / O request in the buffering I / O list 264c-1 is stored. And the other buffers are released to complete the I / O request (step S35). Since the buffering I / O list is in a queue format and is connected in order from the top, the order does not change.

バッファリングI/Oリスト264c-1に同じ領域に対する複数のI/O要求が積まれていない場合(ステップS34がYes)、バッファリングI/Oリスト264c-1に領域が重複する複数のライト要求が存在するか否かの判定を行う(ステップS36)。   When a plurality of I / O requests for the same area are not stacked in the buffering I / O list 264c-1 (Yes in step S34), a plurality of write requests whose areas overlap in the buffering I / O list 264c-1 It is determined whether or not there exists (step S36).

バッファリングI/Oリスト264c-1に領域が重複する複数のI/O要求がない場合(ステップS36がYes)、バッファリングI/Oリスト264c-1のI/O要求の全てを実行I/Oリスト264a-1に移動する(ステップS37)。バッファリングI/Oリスト264c-1内に領域が重複するI/O要求が存在する場合(ステップS36がNo)、バッファリングI/Oリスト264c-1の先頭から、最初に領域が重複するI/O要求の1つ前まで、つまり、領域の重複が発生するより前のI/O要求を、実行I/Oリスト264a-1に移動する(ステップS38)。   If there are no multiple I / O requests whose areas overlap in the buffering I / O list 264c-1 (Yes in step S36), all the I / O requests in the buffering I / O list 264c-1 are executed. Move to the O list 264a-1 (step S37). If there is an I / O request with overlapping areas in the buffering I / O list 264c-1 (No in step S36), the first overlapping area from the beginning of the buffering I / O list 264c-1 The I / O request up to one before the / O request, that is, the I / O request before the occurrence of the overlap of the areas is moved to the execution I / O list 264a-1 (step S38).

その後、実行I/Oリスト264a-1のI/O要求をコミュニケーションポート管理部270-1が副データ記憶装置10-2に未確定ライト要求する(ステップS39)。ステップS39において、副データ記憶装置10-2に送信される未確定ライト要求は、副データ記憶装置10-2のI/O管理部220-2がデコードし実行する。   Thereafter, the communication port management unit 270-1 issues an unconfirmed write request to the secondary data storage device 10-2 for the I / O request of the execution I / O list 264a-1 (step S39). In step S39, the unconfirmed write request transmitted to the secondary data storage device 10-2 is decoded and executed by the I / O management unit 220-2 of the secondary data storage device 10-2.

すなわち、バッファリングI/Oリスト264c-1内が有するI/O要求であるバッファリングI/O要求とは、外部の装置から要求されたI/O要求のうち、実行が可能なI/O要求を指す。実行I/O要求とは、バッファリングI/O要求のうち、領域が重複するI/O要求を除いたものを指す。   That is, the buffering I / O request that is an I / O request included in the buffering I / O list 264c-1 is an I / O that can be executed among I / O requests requested from an external device. Refers to the request. The execution I / O request refers to a buffering I / O request excluding I / O requests having overlapping areas.

続いて、図6を用いて、正データ記憶装置10-1から未確定ライトコマンドを受信した副データ記憶装置10-2の処理について説明する。   Next, the processing of the secondary data storage device 10-2 that has received the unconfirmed write command from the primary data storage device 10-1 will be described with reference to FIG.

図7のステップS39において、レプリケーション管理部260-1により、バッファリングI/Oリスト264c-1に追加されたI/O要求に対応する未確定ライトコマンドの発行がコミュニケーションポート管理部270-1に要求される。するとコミュニケーションポート管理部270-1は、未確定ライトコマンドを含むCDBを副データ記憶装置10-2に送信する。そして、レプリケーション管理部260-1は、未確定ライトコマンドに対する副データ記憶装置10-2からの応答を待つ。   In step S39 in FIG. 7, the replication manager 260-1 issues an indeterminate write command corresponding to the I / O request added to the buffering I / O list 264c-1 to the communication port manager 270-1. Required. Then, the communication port management unit 270-1 transmits the CDB including the unconfirmed write command to the secondary data storage device 10-2. Then, the replication management unit 260-1 waits for a response from the secondary data storage device 10-2 to the unconfirmed write command.

そして、ステップS39で副データ記憶装置10-2に送信されたCDBは、未確定ライトコマンドを含む。この未確定ライトコマンドは、論理ディスク番号、開始アドレス及びサイズから構成されるアクセス情報を含む。論理ディスク番号は、正論理ディスク番号と対応付けてレプリケーション管理テーブル262-1に格納されている副論理ディスク番号で、副データ記憶装置10-2の書き込み先のLDISK80-2を示す。   Then, the CDB transmitted to the secondary data storage device 10-2 in step S39 includes an unconfirmed write command. This unconfirmed write command includes access information composed of a logical disk number, a start address, and a size. The logical disk number is a secondary logical disk number stored in the replication management table 262-1 in association with the primary logical disk number, and indicates the write destination LDISK 80-2 of the secondary data storage device 10-2.

副データ記憶装置10-2に送信されたCDBは、制御装置20-2(第2の制御装置)のホストI/F制御部210-2で受信され、I/O管理部220-2に渡される。I/O管理部220-2は、渡されたCDBをデコードする(ステップS1)。ステップS1においてI/O管理部220-2は、CDBが未確定ライトコマンドを含む場合、キャッシュメモリ管理部230-2に対してライト処理のためのI/O要求として、未確定ライト要求を送出する。未確定ライト要求は、未確定ライト処理のためのI/O要求であり、未確定ライトコマンドに含まれているアクセス情報を継承する。   The CDB transmitted to the secondary data storage device 10-2 is received by the host I / F control unit 210-2 of the control device 20-2 (second control device) and transferred to the I / O management unit 220-2. It is. The I / O management unit 220-2 decodes the delivered CDB (step S1). In step S1, when the CDB includes an unconfirmed write command, the I / O management unit 220-2 sends an unconfirmed write request as an I / O request for write processing to the cache memory management unit 230-2. To do. The indeterminate write request is an I / O request for indeterminate write processing, and inherits the access information included in the indeterminate write command.

キャッシュメモリ管理部230-2は、I/O管理部220-2からライト処理のためのI/O要求(ここでは未確定ライト要求)を受信すると、このI/O要求に基づいて、キャッシュメモリ51-2(第2のキャッシュメモリ)内で必要なキャッシュブロックを確保し(ステップS4)、I/O要求で指定されるライト処理に必要なライトデータをステップS4で確保したキャッシュブロックに受信する(ステップS6)。そして、キャッシュブロックが使用中であることを示すフラグをキャッシュディレクトリ232-1のキャッシュディレクトリエントリに含まれている状態フラグにセットする。なお、ここでは、CDBは副データ記憶装置10-2に送信されているため、ステップS1の次にステップS4を実行する。   When the cache memory management unit 230-2 receives an I / O request for write processing (here, an indefinite write request) from the I / O management unit 220-2, the cache memory management unit 230-2 performs cache memory processing based on the I / O request. A necessary cache block is secured in 51-2 (second cache memory) (step S4), and the write data necessary for the write process specified by the I / O request is received in the cache block secured in step S4. (Step S6). Then, a flag indicating that the cache block is in use is set in the status flag included in the cache directory entry of the cache directory 232-1. Here, since the CDB is transmitted to the secondary data storage device 10-2, step S4 is executed after step S1.

次にキャッシュメモリ管理部230-2は、受信したI/O要求が未確定ライト要求であるかを判定する(ステップS7)。本実施形態のように未確定ライト要求の場合(ステップS7がYes)、受信したライトデータを、キャッシュメモリ51-2内の確保されたキャッシュブロックにエントリする(ステップS9)。このステップS9においてキャッシュメモリ管理部230-2は、未確定ライト要求に含まれているアクセス情報の示すライトアクセス範囲を、確保されたキャッシュブロックに対応するキャッシュディレクトリ232-2のキャッシュディレクトリエントリに含まれている未確定ライトビットマップに反映する。即ちキャッシュメモリ管理部230-2は、確保されたキャッシュブロックに対応する未確定ライトビットマップのうち、未確定ライト要求で指定されたライトアクセス範囲に対応するビットを例えば"1"にセットする。   Next, the cache memory management unit 230-2 determines whether the received I / O request is an unconfirmed write request (step S7). In the case of an unconfirmed write request as in the present embodiment (Yes in step S7), the received write data is entered in a secured cache block in the cache memory 51-2 (step S9). In step S9, the cache memory management unit 230-2 includes the write access range indicated by the access information included in the unconfirmed write request in the cache directory entry of the cache directory 232-2 corresponding to the secured cache block. This is reflected in the undefined write bitmap. That is, the cache memory management unit 230-2 sets the bit corresponding to the write access range designated by the unconfirmed write request in the unconfirmed write bitmap corresponding to the secured cache block, for example, “1”.

次にキャッシュメモリ管理部230-2は、I/O要求に含まれているアクセス情報中の論理ディスク番号の示すLDISK80-2がレプリケーションマスタであるかを判定する(ステップS10)。ここではレプリケーションマスタでないため(ステップS10がNo)、キャッシュメモリ管理部230-2は、正データ記憶装置10-1からの未確定ライト要求に対する応答として、未確定ライト完了を示すステータス情報を正データ記憶装置10-1に通知し(ステップS11)、確保したキャッシュブロックを開放する(ステップS12)。   Next, the cache memory management unit 230-2 determines whether the LDISK 80-2 indicated by the logical disk number in the access information included in the I / O request is a replication master (step S10). Here, since it is not a replication master (No in step S10), the cache memory management unit 230-2 displays status information indicating completion of unconfirmed write as primary data as a response to the unconfirmed write request from the primary data storage device 10-1. The storage device 10-1 is notified (step S11), and the secured cache block is released (step S12).

ここで、図8を用いて、未確定ライト完了を示すステータス情報を受信した際の正データ記憶装置10-1の処理を説明する。   Here, the processing of the primary data storage device 10-1 when receiving status information indicating completion of indefinite write will be described with reference to FIG.

正データ記憶装置10-1からの未確定ライト要求に対する応答として、ライト完了を示すステータス情報が、副データ記憶装置10-2から正データ記憶装置10-1に通知される(ステップS23)。すると、レプリケーション管理部260-1は、未確定ライトに成功したか否かを、このステータス情報に基づいて判定する(ステップS24)。   As a response to the unconfirmed write request from the primary data storage device 10-1, status information indicating write completion is notified from the secondary data storage device 10-2 to the primary data storage device 10-1 (step S23). Then, the replication management unit 260-1 determines whether or not the indeterminate write has succeeded based on the status information (step S24).

もし、未確定ライトに成功したならば(ステップS24がYes)、レプリケーション管理部260-1は、レプリケーション管理テーブル262-1に保持されている送信済みデータ量情報を、現在の送信済みデータ量に今回受信されたデータ量(副データ記憶装置10-2に送信されたデータ量)を加えた値を示すように更新する(ステップS26)。次にレプリケーション管理部260-1は、実行I/Oリスト264a-1から、成功した未確定ライトに対応するI/O要求を削除し(ステップS27)、確保したバッファの開放を行う(ステップS28)。具体的には、バッファ確保時にキャッシュディレクトリ232-1のキャッシュディレクトリエントリに含まれている状態フラグにセットしたバッファ確保中であることを示すフラグをクリアする。これにより、正データ記憶装置10-1におけるI/O要求の処理は完了する(ステップS29)。   If the indefinite write has succeeded (Yes in step S24), the replication management unit 260-1 changes the transmitted data amount information held in the replication management table 262-1 to the current transmitted data amount. Update is performed to indicate a value obtained by adding the amount of data received this time (the amount of data transmitted to the sub data storage device 10-2) (step S26). Next, the replication management unit 260-1 deletes the I / O request corresponding to the successful unconfirmed write from the execution I / O list 264a-1 (Step S27), and releases the secured buffer (Step S28). ). Specifically, the flag indicating that the buffer is being secured, which is set in the status flag included in the cache directory entry of the cache directory 232-1 when the buffer is secured, is cleared. Thereby, the processing of the I / O request in the primary data storage device 10-1 is completed (step S29).

これに対し、未確定ライトに失敗したならば(ステップS24がNo)、レプリケーション管理部260-1は、レプリケーションの状態をSYNC状態からSPLIT状態に遷移する(ステップS25)。即ちレプリケーション管理部260-1は、レプリケーション管理テーブル262-1に保持されているレプリケーションステート情報を、SPLIT状態を示すように更新する。そしてレプリケーション管理部260-1はステップS36に進む。このステップS36においてレプリケーション管理部260-1は、実行I/Oリスト264a-1から、失敗した未確定ライトに対応するI/O要求を削除し(ステップS27)、確保したバッファの開放を行う(ステップS28)。これにより、正データ記憶装置10-1におけるI/O要求の処理は完了する(ステップS29)。   On the other hand, if the indefinite write has failed (No in step S24), the replication management unit 260-1 changes the replication state from the SYNC state to the SPLIT state (step S25). That is, the replication management unit 260-1 updates the replication state information held in the replication management table 262-1 so as to indicate the SPLIT state. Then, the replication management unit 260-1 proceeds to step S36. In step S36, the replication management unit 260-1 deletes the I / O request corresponding to the failed indefinite write from the execution I / O list 264a-1 (step S27), and releases the secured buffer (step S27). Step S28). Thereby, the processing of the I / O request in the primary data storage device 10-1 is completed (step S29).

次に、ステップS14に続いて実行される正データ記憶装置10-1における未確定ライト確定コマンドの処理について、図9のフローチャートを参照して説明する。   Next, processing of the unconfirmed write confirmation command in the primary data storage device 10-1 executed following step S14 will be described with reference to the flowchart of FIG.

まず正データ記憶装置10-1のレプリケーション管理部260-1は、実行I/Oリスト264a-1を参照し、この実行I/Oリスト264a-1にI/O要求があるかを判定する(ステップS61)。もし、実行I/Oリスト264a-1にI/O要求があるならば(ステップS61がYes)、レプリケーション管理部260-1は、そのI/O要求の実行完了を待つ(ステップ62)。   First, the replication management unit 260-1 of the primary data storage device 10-1 refers to the execution I / O list 264a-1 and determines whether there is an I / O request in the execution I / O list 264a-1 ( Step S61). If there is an I / O request in the execution I / O list 264a-1 (Yes in step S61), the replication management unit 260-1 waits for completion of the execution of the I / O request (step 62).

これに対し、実行I/Oリスト264a-1にI/O要求がないか、或いは実行I/Oリスト264a-1にI/O要求がなくなったならば(ステップS61がNo)、レプリケーション管理部260-1は、未確定ライト確定コマンドの発行をコミュニケーションポート管理部270-1に要求する(ステップS63)。するとコミュニケーションポート管理部270-1は、未確定ライト確定コマンドを含むCDBを副データ記憶装置10-2に送信し、未確定ライト確定コマンドを含むCDBを副データ記憶装置10-2に送信したことを示すフラグをレプリケーション管理テーブル262-1の確定フラグにセットする。未確定ライト確定コマンドは、正データ記憶装置10-1からの未確定ライト要求に応じてキャッシュメモリ51-2にライトされた未確定データをライトバックデータとして確定させることを指定する。未確定ライト確定コマンドは、確定されたデータが書き出されるべきLDISK80-2を示す論理ディスク番号を含む。このように本実施形態では、実行I/Oリスト264a-1にI/O要求がある場合、全てのI/O要求の実行完了を待った後に、未確定ライト確定コマンドを含むCDBが正データ記憶装置10-1から副データ記憶装置10-2に送信される。   On the other hand, if there is no I / O request in the execution I / O list 264a-1, or if there is no I / O request in the execution I / O list 264a-1 (No in step S61), the replication management unit 260-1 requests the communication port management unit 270-1 to issue an unconfirmed write confirmation command (step S63). Then, the communication port management unit 270-1 transmits the CDB including the unconfirmed write confirmation command to the secondary data storage device 10-2, and transmits the CDB including the unconfirmed write confirmation command to the secondary data storage device 10-2. Is set in the confirmation flag of the replication management table 262-1. The unconfirmed write confirmation command specifies that unconfirmed data written to the cache memory 51-2 is confirmed as write-back data in response to an unconfirmed write request from the primary data storage device 10-1. The unconfirmed write confirmation command includes a logical disk number indicating LDISK 80-2 to which the confirmed data is to be written. As described above, in this embodiment, when there is an I / O request in the execution I / O list 264a-1, the CDB including the unconfirmed write confirmation command is stored in the positive data after waiting for completion of execution of all the I / O requests. The data is transmitted from the device 10-1 to the sub data storage device 10-2.

未確定ライト確定コマンドを含むCDBが副データ記憶装置10-2に送信されると、レプリケーション管理部260-1は、この未確定ライト確定コマンドに対する副データ記憶装置10-2からの応答を待つ(図6ステップS17)。レプリケーション管理部260-1は、未確定ライト確定コマンドに対する副データ記憶装置10-2からのステータス情報を受信すると、その情報に基づき、未確定ライト確定に成功したかを判定する(ステップS64)。   When the CDB including the unconfirmed write confirmation command is transmitted to the secondary data storage device 10-2, the replication management unit 260-1 waits for a response from the secondary data storage device 10-2 to the unconfirmed write confirmation command ( FIG. 6 step S17). When the replication management unit 260-1 receives the status information from the secondary data storage device 10-2 in response to the unconfirmed write confirmation command, the replication management unit 260-1 determines whether the unconfirmed write confirmation has succeeded based on the information (step S64).

もし、未確定ライト確定に成功したならば(ステップS64がYes)、レプリケーション管理部260-1は、レプリケーション管理テーブル262-1に保持されている送信済みデータ量情報を"0"に初期化する。そしてレプリケーション管理部260-1は、ペンディングI/Oリスト264b-1に繋がれているI/O要求を先頭から順に外して、図6のフローチャートにおけるステップS18から処理を再開する(ステップS65)。但し、ペンディングI/Oリスト264b-1から外されたI/O要求に関する、ホスト装置13-1へのステータス情報の転送(図6ステップS11またはS20)は、このI/O要求をペンディングI/Oリスト264b-1に追加した際に既に行われているため、今回は実行されない。   If the unconfirmed write confirmation is successful (Yes in step S64), the replication management unit 260-1 initializes the transmitted data amount information held in the replication management table 262-1 to “0”. . Then, the replication management unit 260-1 removes the I / O requests connected to the pending I / O list 264b-1 in order from the top, and restarts the process from step S18 in the flowchart of FIG. 6 (step S65). However, transfer of status information to the host device 13-1 regarding the I / O request removed from the pending I / O list 264b-1 (step S11 or S20 in FIG. 6), the I / O request is transferred to the pending I / O list. Since it has already been performed when it is added to the O list 264b-1, it is not executed this time.

これに対し、未確定ライト確定に失敗したならば(ステップS64がNo)、レプリケーション管理部260-1は、レプリケーション管理テーブル262-1に保持されているレプリケーションステート情報を、SPLIT状態を示すように更新する(ステップS66)。つまりレプリケーション管理部260-1は、レプリケーションの状態を、SYNC状態からSPLIT状態に遷移させる。そしてレプリケーション管理部260-1は、ペンディングI/Oリスト264b-1の待ち状態にあるI/O要求をエラーとして完了させる(ステップS67)。この際、副データ記憶装置10-2へのデータ転送は行われない。   On the other hand, if the unconfirmed write confirmation has failed (No in step S64), the replication management unit 260-1 indicates the replication state information held in the replication management table 262-1 to indicate the SPLIT state. Update (step S66). That is, the replication manager 260-1 changes the replication state from the SYNC state to the SPLIT state. Then, the replication management unit 260-1 completes the I / O request waiting in the pending I / O list 264b-1 as an error (step S67). At this time, data transfer to the secondary data storage device 10-2 is not performed.

上述の未確定ライト確定コマンドの処理は、図6のフローチャートのステップS13の判定条件が成立した場合だけでなく、レプリケーション管理テーブル262-1に保持されている確定周期情報の示す確定周期(タイミング)が到来した場合にも実行される。この確定周期について説明する。   The above-described processing of the unconfirmed write confirmation command is performed not only when the determination condition of step S13 in the flowchart of FIG. 6 is satisfied, but also the confirmation period (timing) indicated by the confirmation period information held in the replication management table 262-1. It is also executed when. This fixed cycle will be described.

レプリケーション管理部260-1は、最初の未確定ライト要求の実行時、つまり、送信済みデータ量が"0"の状態で未確定ライトが完了した際に、タイマをレプリケーション管理テーブル262-1に保持されている確定周期情報の示す確定周期を表す時間にセットする。そしてレプリケーション管理部260-1は、このタイマがタイムアウトした場合にも、図6のフローチャートのステップS13の判定条件が成立した場合と同様に、未確定ライト確定コマンドの処理を実行する。また、タイマはステップS14によって開始された未確定ライト確定コマンドが完了した際にはリセットされる。   The replication management unit 260-1 holds a timer in the replication management table 262-1 when the first unconfirmed write request is executed, that is, when the unconfirmed write is completed with the transmitted data amount being "0". It is set to a time representing the fixed cycle indicated by the fixed cycle information. Even when this timer times out, the replication management unit 260-1 executes the unconfirmed write confirmation command processing in the same manner as when the determination condition in step S13 in the flowchart of FIG. 6 is satisfied. The timer is reset when the unconfirmed write confirmation command started in step S14 is completed.

レプリケーション管理部260-1は、上記タイマセットの条件を満たした場合には、このタイマを確定周期情報に基づいてセットし直す。これにより本実施形態では、ステップS13の判定条件が成立した場合だけでなく、確定周期情報の示す確定周期でも未確定ライト確定コマンドの処理が実行される。   When the timer setting condition is satisfied, the replication management unit 260-1 resets the timer based on the fixed cycle information. As a result, in this embodiment, the unconfirmed write confirmation command process is executed not only when the determination condition of step S13 is satisfied but also in the confirmation period indicated by the confirmation period information.

次に、副データ記憶装置10-2側での未確定ライト確定コマンドの処理について図10を用いて説明する。   Next, the processing of the unconfirmed write confirmation command on the secondary data storage device 10-2 side will be described with reference to FIG.

今、正データ記憶装置10-1から副データ記憶装置10-2に送信された未確定ライト
確定コマンドを含むCDBが、ホストI/F制御部210-2で受信され、I/O管理部220-2に渡されたものとする。I/O管理部220-2は、CDBが未確定ライト確定コマンドを含む場合、キャッシュメモリ管理部230-2に対してライト処理のためのI/O要求として、未確定ライト確定要求を送出する(ステップS50)。未確定ライト確定要求は、対応する副論理ディスク番号を含む。
Now, the CDB including the unconfirmed write confirmation command transmitted from the primary data storage device 10-1 to the secondary data storage device 10-2 is received by the host I / F control unit 210-2 and received by the I / O management unit 220. Suppose it was passed to -2. When the CDB includes an unconfirmed write confirmation command, the I / O management unit 220-2 sends an unconfirmed write confirmation request as an I / O request for write processing to the cache memory management unit 230-2. (Step S50). The unconfirmed write confirmation request includes the corresponding secondary logical disk number.

キャッシュメモリ管理部230-2は、未確定ライト確定要求に含まれている副論理ディスク番号の示すLDISK80-2に対応するキャッシュブロックのエントリを全てサーチする(ステップS51)。次にキャッシュメモリ管理部230-2は、該当するキャッシュブロックに対応するキャッシュディレクトリ232-2内の該当するキャッシュディレクトリエントリに含まれている未確定ビットマップを、ライトバックマップにコピーする(ステップS52)。すなわち、キャッシュメモリ管理部230-2は、未確定ビットマップ内で"1"にセットされているビットの状態、つまり未確定ライトデータの範囲を示すビットの状態をライトバックマップにコピー(反映)する。しかる後、キャッシュメモリ管理部230-2は未確定ビットマップを初期化する(ステップS53)。即ちキャッシュメモリ管理部230-2は、ライトバックマップにコピーされた未確定ビットマップ内のビット(ここでは未確定ビットマップの全ビット)を"0"にリセットする。   The cache memory management unit 230-2 searches all the entries of the cache block corresponding to the LDISK 80-2 indicated by the secondary logical disk number included in the unconfirmed write confirmation request (step S51). Next, the cache memory management unit 230-2 copies the undetermined bitmap included in the corresponding cache directory entry in the cache directory 232-2 corresponding to the corresponding cache block to the write-back map (step S52). ). That is, the cache memory management unit 230-2 copies (reflects) the state of the bit set to “1” in the undetermined bitmap, that is, the state of the bit indicating the range of the undetermined write data to the write back map. To do. Thereafter, the cache memory management unit 230-2 initializes the undetermined bitmap (step S53). That is, the cache memory management unit 230-2 resets the bits in the undetermined bitmap copied to the write-back map (here, all bits of the undetermined bitmap) to “0”.

キャッシュメモリ管理部230-2、LDISK80-2に対応する全てのキャッシュブはロックのエントリについて、上述のコピー処理を実行する。そしてキャッシュメモリ管理部230-2は、正データ記憶装置10-1からの未確定ライト確定コマンドに対する応答として、完了を示すステータス情報を正データ記憶装置10-1に通知する(ステップS54)。   All caches corresponding to the cache memory management unit 230-2 and LDISK 80-2 execute the above-described copy process for the lock entry. Then, the cache memory management unit 230-2 notifies the primary data storage device 10-1 of status information indicating completion as a response to the unconfirmed write confirmation command from the primary data storage device 10-1 (step S54).

このような未確定ライト確定コマンドの処理による完了時点では、キャッシュメモリ51-2には、未確定ライトデータが存在しないことになる。   At the time of completion by processing of such an unconfirmed write confirmation command, there is no unconfirmed write data in the cache memory 51-2.

次に、本実施形態において、ステップS3もしくはS4における、キャッシュブロックやバッファの確保からI/O要求の処理の完了までは、該当するライトデータをエントリするのに用いられているキャッシュブロックおよびバッファが、キャッシュディレクトリエントリ内の状態フラグに基づいて排他される。つまり使用中のキャッシュブロックおよびバッファは他のI/O要求によって使用されない状態となる。 以下、キャッシュメモリ管理部230-iによって実行されるキャッシュブロック確保時の処理(ステップS3もしくは4)の詳細について、図11のフローチャートを参照して説明する。   Next, in this embodiment, from the securing of the cache block or buffer in step S3 or S4 to the completion of the processing of the I / O request, the cache block and buffer used for entry of the corresponding write data are determined. Exclusively based on the status flag in the cache directory entry. That is, the cache block and the buffer in use are not used by other I / O requests. Hereinafter, the details of the process (step S3 or 4) at the time of securing the cache block executed by the cache memory management unit 230-i will be described with reference to the flowchart of FIG.

まず、キャッシュメモリ管理部230-iは、I/O管理部220-iからライト処理のためのI/O要求(通常ライト要求または未確定ライト要求)を受信すると、キャッシュブロック確保のために、キャッシュディレクトリ232-iを参照し、このI/O要求に含まれているアクセス情報によって示されるLDISK80-i内のライトアクセス範囲に対応するキャッシュブロックのエントリをサーチする(ステップS41)。そしてキャッシュメモリ管理部230-iは、キャッシュブロックエントリのサーチの結果、該当するキャッシュブロックのエントリが見つけられたかを判定する(ステップS42)。つまりキャッシュメモリ管理部230-iは、該当するキャッシュブロックが既に確保されているかを判定する。   First, when the cache memory management unit 230-i receives an I / O request (normal write request or unconfirmed write request) for write processing from the I / O management unit 220-i, Referring to the cache directory 232-i, the cache block entry corresponding to the write access range in the LDISK 80-i indicated by the access information included in the I / O request is searched (step S41). Then, the cache memory management unit 230-i determines whether an entry of the corresponding cache block is found as a result of the search for the cache block entry (step S42). That is, the cache memory management unit 230-i determines whether the corresponding cache block has already been secured.

もし、該当するキャッシュブロックのエントリが見つけられたならば(ステップS42がYes)、キャッシュメモリ管理部230-iは、このキャッシュブロックのエントリが他のI/O要求のための処理で現在使用されているかを判定する(ステップS44)。このステップS44の判定は、該当するキャッシュブロックに対応するキャッシュディレクトリ232-i内のキャッシュディレクトリエントリ(以下、該当するキャッシュディレクトリエントリと称する)に含まれている状態フラグに基づいて行われる。もし、該当するキャッシュブロックが使用中でないならば(ステップS44がNo)、キャッシュメモリ管理部230-iは、I/O要求が通常ライト要求であるかを判定する(ステップS45)。   If an entry for the corresponding cache block is found (Yes in step S42), the cache memory management unit 230-i uses the cache block entry for processing for other I / O requests. (Step S44). The determination in step S44 is performed based on a status flag included in a cache directory entry (hereinafter referred to as a corresponding cache directory entry) in the cache directory 232-i corresponding to the corresponding cache block. If the corresponding cache block is not in use (No in step S44), the cache memory management unit 230-i determines whether the I / O request is a normal write request (step S45).

キャッシュメモリ管理部230-iが制御装置20-2に含まれているキャッシュメモリ管理部230-2であり、I/O要求が正データ記憶装置10-1から送られた未確定ライト要求である場合、ステップS45の判定はNoとなる。この場合、キャッシュメモリ管理部230-2は、該当するキャッシュディレクトリエントリに含まれているライトバックビットマップの少なくとも一部のビットがセットされているかを判定する(ステップS46)。この判定により、該当するキャッシュブロックにライトバックデータが含まれているかが判定される。   The cache memory management unit 230-i is the cache memory management unit 230-2 included in the control device 20-2, and the I / O request is an unconfirmed write request sent from the primary data storage device 10-1. In this case, the determination in step S45 is No. In this case, the cache memory management unit 230-2 determines whether at least some bits of the write-back bitmap included in the corresponding cache directory entry are set (step S46). Based on this determination, it is determined whether the write-back data is included in the corresponding cache block.

ステップS46の判定がYesのとき、キャッシュメモリ管理部230-2は、他のI/O要求で使用されていない該当するキャッシュブロック中のライトバックデータを、該当するキャッシュディレクトリエントリに含まれている論理ディスク番号及び論理アドレスで指定されるLDISK80-2内のブロック領域に書き出すためのI/O要求を、RAID制御部240-2に送出する(ステップS47)。キャッシュメモリ管理部230-2は、このI/O要求に対するRAID制御部240-2から書き出しの完了が通知されるのを待つ(ステップS48)。この段階では、該当するキャッシュブロックに新たに書き込まれるべきライトデータは受信されていない。   When the determination in step S46 is Yes, the cache memory management unit 230-2 includes the write-back data in the corresponding cache block that is not used in another I / O request in the corresponding cache directory entry. An I / O request for writing to the block area in the LDISK 80-2 designated by the logical disk number and logical address is sent to the RAID control unit 240-2 (step S47). The cache memory management unit 230-2 waits for notification of completion of writing from the RAID control unit 240-2 in response to this I / O request (step S48). At this stage, write data to be newly written to the corresponding cache block has not been received.

このように、未確定ライト要求の処理時(ステップS45がNo)、キャッシュブロックサーチ(ステップS41)の結果、該当するキャッシュブロックのエントリがあり(ステップS42がYes)、且つ、該当するキャッシュディレクトリエントリ内のライトバックビットマップの少なくとも一部のビットがセットされている場合(ステップS46がYes)、キャッシュメモリ管理部230-2は該当するキャッシュブロック中のライトバックデータの書き出しをRAID制御部240-2に要求し、その書き出しの完了を待つ。これにより、該当するキャッシュディレクトリエントリに含まれているライトバックビットマップ及び未確定ライトビットマップのビットがいずれもセットされている状態が発生するのを防止できる。つまり、同一キャッシュブロック内のデータが、ライトバックデータであって且つ未確定ライトデータであると、ライトバックビットマップ及び未確定ライトビットマップによって示されるのを防止できる。   As described above, when an unconfirmed write request is processed (No in step S45), as a result of the cache block search (step S41), there is an entry for the corresponding cache block (step S42 is Yes), and the corresponding cache directory entry. When at least a part of the bits of the write back bitmap is set (Yes in step S46), the cache memory management unit 230-2 writes the write back data in the corresponding cache block to the RAID control unit 240-. Requests 2 and waits for completion of writing. As a result, it is possible to prevent a situation in which the bits of the write-back bitmap and the indeterminate write bitmap included in the corresponding cache directory entry are set. In other words, if the data in the same cache block is write-back data and unconfirmed write data, it can be prevented from being indicated by the write-back bitmap and the unconfirmed write bitmap.

このような、キャッシュメモリ管理部230-2の制御により、キャッシュメモリ51-2上のライトバックデータ、つまり正データ記憶装置10-1からの未確定ライト確定コマンドの処理により確定されているキャッシュメモリ51-2上のデータは、未確定データで上書きされることなく、必ずLDISK80-2に書き出される。   Under such control of the cache memory management unit 230-2, the write-back data on the cache memory 51-2, that is, the cache memory determined by the processing of the unconfirmed write determination command from the primary data storage device 10-1. The data on 51-2 is always written to LDISK 80-2 without being overwritten with unconfirmed data.

さて、キャッシュメモリ管理部230-iは書き出しの完了の待ち状態で、RAID制御部240-iから書き出しの完了が通知されると(ステップS49)、今回I/O管理部220-iから受信したI/O要求で指定されるライト処理に必要なライトデータの受信をI/O管理部220-iに要求する(ステップS50)。これによりキャッシュメモリ管理部230-iは、ライトデータを受信して、キャッシュブロック確保時の処理を終了する。   The cache memory management unit 230-i is waiting for the completion of writing, and when the completion of writing is notified from the RAID control unit 240-i (step S49), it is received from the current I / O management unit 220-i. The I / O management unit 220-i is requested to receive write data necessary for the write process specified by the I / O request (step S50). As a result, the cache memory management unit 230-i receives the write data, and ends the process when the cache block is secured.

一方、該当するキャッシュブロックのエントリが見つけられなかった場合(ステップS42がNo)、キャッシュメモリ管理部230-iは新規にキャッシュブロックを確保し(ステップS43)、しかる後にステップS50を実行する。また、該当するキャッシュブロックのエントリが他のI/O要求のための処理で使用中であるならば(ステップS44がYes)、キャッシュメモリ管理部230-iはステップS48に進んで、そのI/O要求の完了を待つ。以降の動作は、ステップS47からステップS48に進んだ場合と同様である。   On the other hand, if the entry of the corresponding cache block is not found (No in step S42), the cache memory management unit 230-i newly secures a cache block (step S43), and then executes step S50. If the entry of the corresponding cache block is being used in processing for another I / O request (Yes in step S44), the cache memory management unit 230-i proceeds to step S48, and the I / O Wait for O request to complete. Subsequent operations are the same as when the process proceeds from step S47 to step S48.

また、該当するキャッシュディレクトリエントリに含まれているライトバックビットマップの全ビットがセットされていないならば(ステップS46がNo)、キャッシュメモリ管理部230-iはステップS50に進んで、今回I/O管理部220-iから受信したI/O要求で指定されるライト処理に必要なライトデータの受信をI/O管理部220-iに要求する。   If all the bits of the write-back bitmap included in the corresponding cache directory entry have not been set (No in step S46), the cache memory management unit 230-i proceeds to step S50, and this I / The I / O management unit 220-i is requested to receive write data necessary for the write process specified by the I / O request received from the O management unit 220-i.

一方、キャッシュメモリ管理部230-iが制御装置20-1(第1の制御装置)に含まれているキャッシュメモリ管理部230-1であり、今回I/O管理部220-1から受信したI/O要求がホスト装置13-1から送られた通常ライト要求である場合(ステップS45がYes)、キャッシュメモリ管理部230-1はステップS50に進んで、このI/O要求で指定されるライト処理に必要なライトデータの受信をI/O管理部220-1に要求する。   On the other hand, the cache memory management unit 230-i is the cache memory management unit 230-1 included in the control device 20-1 (first control device), and the I / O management unit 220-1 received this time If the / O request is a normal write request sent from the host device 13-1 (Yes in step S45), the cache memory management unit 230-1 proceeds to step S50, and the write specified by this I / O request The I / O management unit 220-1 is requested to receive write data necessary for processing.

なお、同一キャッシュブロック内でもライトバックビットマップ内でセットされているビットの範囲と、未確定ライト要求の示すライトアクセス範囲とが重複していない場合、必ずしも、ステップS47の実行によって該当するキャッシュブロック中のライトバックデータの書き出しを要求する必要はない。そこで、ステップ46に代えて、ライトバックビットマップ内でセットされているビットの範囲と、未確定ライト要求の示すライトアクセス範囲とが重複するかを判定する新たなステップを適用しても構わない。そして、この新たなステップの判定がYesの場合に、キャッシュメモリ管理部230-iが該当するキャッシュブロックに含まれている重複部分のライトバックデータの書き出しをRAID制御部240-iに要求し(ステップS47)、その書き出しの完了を待つ(ステップS48)ようにしてもよい。これにより、キャッシュブロックのデータの書き出しが無用に要求されるのを防止しつつ、キャッシュブロック内でライトバックビットマップのビットと未確定ライトビットマップのビットとがいずれもセットされている領域が存在するのを防止できる。   If the bit range set in the write-back bitmap and the write access range indicated by the unconfirmed write request do not overlap even in the same cache block, the corresponding cache block is not necessarily obtained by executing step S47. There is no need to write the write-back data inside. Therefore, instead of step 46, a new step of determining whether the bit range set in the write-back bitmap and the write access range indicated by the unconfirmed write request may be applied. . Then, when the determination of this new step is Yes, the cache memory management unit 230-i requests the RAID control unit 240-i to write the write-back data of the overlapping portion included in the corresponding cache block ( Step S47) may wait for the completion of the writing (step S48). As a result, there is an area in the cache block in which both the bit of the write-back bitmap and the bit of the indeterminate write bitmap are set while preventing unnecessary writing of the cache block data. Can be prevented.

次に、レプリケーションの状態がSPLIT状態のときに、ホスト装置13-1から正データ記憶装置10-1に通常ライトコマンドを含むCDBが送信された場合の正データ記憶装置10-1の動作について簡単に説明する。この場合、正データ記憶装置10-1はレプリケーションマスタではない単なるデータ記憶装置として機能する。このため正データ記憶装置10-1では、図6及び8のフローチャートにおいて、自身がレプリケーションマスタでない場合の通常ライト要求処理(ステップS1、S4、6、S7、S8、S10〜S12、S29)が実行される。   Next, when the replication state is the SPLIT state, the operation of the primary data storage device 10-1 when a CDB including a normal write command is transmitted from the host device 13-1 to the primary data storage device 10-1 is simple. Explained. In this case, the primary data storage device 10-1 functions as a simple data storage device that is not a replication master. Therefore, in the primary data storage device 10-1, the normal write request processing (steps S1, S4, 6, S7, S8, S10 to S12, and S29) is executed in the flowcharts of FIGS. Is done.

次に、レプリケーションの状態がCOPY状態のときの正データ記憶装置10-1の動作について簡単に説明する。この場合、レプリケーション管理部260-1は、図6及び8のフローチャートにおけるレプリケーション管理部260-iの処理(ステップS13〜S20)に代えて、単に、ライト完了を示すステータス情報をホスト装置13-1に通知する処理(ステップS20に相当する処理)を行う。ここでは、SYNC状態と異なり、I/O管理リスト264-1中のバッファリングI/Oリスト264c-1及びペンディングI/Oリスト264b-1の処理が行われない。そして、レプリケーション管理部260-1はコミュニケーションポート管理部270-1に要求することにより、コミュニケーションポート管理部270-1の制御の下で、通常ライトコマンドに対応する確定ライトコマンドを副データ記憶装置10-2に送信する。   Next, the operation of the primary data storage device 10-1 when the replication state is the COPY state will be briefly described. In this case, the replication management unit 260-1 simply sends status information indicating write completion to the host device 13-1 instead of the processing (steps S13 to S20) of the replication management unit 260-i in the flowcharts of FIGS. A process of notifying (a process corresponding to step S20) is performed. Here, unlike the SYNC state, the processing of the buffering I / O list 264c-1 and the pending I / O list 264b-1 in the I / O management list 264-1 is not performed. Then, the replication management unit 260-1 makes a request to the communication port management unit 270-1 to send a confirmed write command corresponding to the normal write command to the secondary data storage device 10 under the control of the communication port management unit 270-1. Send to -2.

ここで、データ記憶システム100において、大規模災害等により正サイト100-1がダウンし、正データ記憶装置10-1がアクセス不能になったものとする。この場合、副データ記憶装置10-2は、ホスト装置13-2からの指示により、SPLIT状態に遷移する。但し、正データ記憶装置10-1はアクセス不能のため、副データ記憶装置10-2は、通常のSPLIT状態ではなく、エラーSPLIT状態に遷移する。本実施形態において、エラーSPLIT状態に遷移する処理の対象となる副論理ディスクは、LDISK80-1に対応する、LDISK80-2である。   Here, in the data storage system 100, it is assumed that the primary site 100-1 goes down due to a large-scale disaster or the like, and the primary data storage device 10-1 becomes inaccessible. In this case, the secondary data storage device 10-2 transitions to the SPLIT state according to an instruction from the host device 13-2. However, since the primary data storage device 10-1 is inaccessible, the secondary data storage device 10-2 transitions to the error SPLIT state instead of the normal SPLIT state. In the present embodiment, the secondary logical disk that is the target of the process of transitioning to the error SPLIT state is LDISK 80-2 that corresponds to LDISK 80-1.

エラーSPLIT状態に遷移する処理において、キャッシュメモリ管理部230-2は、その時点でキャッシュメモリ51-2に格納されている未確定ライトデータを破棄する。これにより、副データ記憶装置10-2の状態を、最後に未確定データが確定された時点までロールバックすることができる。つまり、LDISK80-2を、最後に正データ記憶装置10-1からの未確定ライト確定コマンドを処理した時点の内容に戻すことができる。   In the process of transitioning to the error SPLIT state, the cache memory management unit 230-2 discards the unconfirmed write data stored in the cache memory 51-2 at that time. As a result, the state of the secondary data storage device 10-2 can be rolled back to the time when the unconfirmed data is finally confirmed. That is, the LDISK 80-2 can be restored to the content at the time when the unconfirmed write confirmation command from the primary data storage device 10-1 was last processed.

未確定ライトデータは次のようにして破棄される。まずキャッシュメモリ管理部230-2は、エラーSPLIT状態に遷移する処理の対象となる、LDISK80-2に対応するキャッシュブロックのエントリを全てサーチする。次にキャッシュメモリ管理部230-2は、該当するキャッシュブロックに対応するキャッシュディレクトリ232-2内の該当するキャッシュディレクトリエントリに含まれている未確定ビットマップ内のビットを全てリセットする。これにより、エラーSPLIT状態に遷移する処理の開始時点でキャッシュメモリ51-2に格納されている未確定ライトデータが破棄される。   Undetermined write data is discarded as follows. First, the cache memory management unit 230-2 searches all the entries of the cache block corresponding to the LDISK 80-2 that are targets of the process of transitioning to the error SPLIT state. Next, the cache memory management unit 230-2 resets all the bits in the undetermined bitmap included in the corresponding cache directory entry in the cache directory 232-2 corresponding to the corresponding cache block. As a result, the undetermined write data stored in the cache memory 51-2 is discarded at the start of the process of transitioning to the error SPLIT state.

なお、LDISK80-1とLDISK80-2の差分、即ちレプリケーションペアの差分を差分テーブル等により管理する場合、未確定ライトデータが破棄された領域に相当する差分をセットするとよい。   When the difference between LDISK 80-1 and LDISK 80-2, that is, the difference between replication pairs is managed using a difference table or the like, a difference corresponding to an area in which undetermined write data is discarded may be set.

上述の本実施形態におけるデータ記憶システムは、レプリケーションペアが1つである場合を説明しているが、データ記憶システムが複数のレプリケーションペアを有していても構わない。このようなデータ記憶システムにおいて、データの整合性が要求される複数のレプリケーションペア毎にグループ化して、そのグループ(コンシステンシグループ)毎に、未確定ライト処理、未確定ライト確定処理が行われる構成とすることも可能である。この場合、正データ記憶装置10-1から副データ記憶装置10-2に送信される未確定ライト確定コマンドに、副論理ディスク番号に代えてコンシステンシグループ番号を持たせればよい。   In the above-described data storage system according to the present embodiment, the case where there is one replication pair has been described, but the data storage system may have a plurality of replication pairs. In such a data storage system, a configuration in which a plurality of replication pairs that require data consistency is grouped, and an indeterminate write process and an indeterminate write commit process are performed for each group (consistency group) It is also possible. In this case, the indoubt write confirmation command transmitted from the primary data storage device 10-1 to the secondary data storage device 10-2 may have a consistency group number instead of the secondary logical disk number.

本実施形態では、ライト要求の順序を保証するために、この要求が要求順に繋がれるI/O管理リスト264-iのデータが用いられる。   In this embodiment, in order to guarantee the order of write requests, data of the I / O management list 264-i in which these requests are connected in the order of requests is used.

本実施形態では非同期レプリケーションが適用される。即ち本実施形態では、ホスト装置13-1から正データ記憶装置10-1への通常ライト要求に対する正データ記憶装置10-1からホスト装置13-1へのステータス情報の転送は、正データ記憶装置10-1から副データ記憶装置10-2に対するデータ転送の時間に影響されない。   In this embodiment, asynchronous replication is applied. That is, in the present embodiment, the transfer of status information from the primary data storage device 10-1 to the host device 13-1 in response to the normal write request from the host device 13-1 to the primary data storage device 10-1 is the primary data storage device. It is not affected by the data transfer time from 10-1 to the secondary data storage device 10-2.

そこで本実施形態では、正データ記憶装置10-1から副データ記憶装置10-2に対する未確定データ確定コマンドの発行の前後で、正データ記憶装置10-1がホスト装置13-1から受信したライトデータの順序を保証している。このことは、先に述べたような、既に確定しているキャッシュメモリ51-2上のライトデータが未確定データで上書きされるのを防止する仕組みから明らかである。また、ある未確定データ確定コマンドから次の未確定データ確定コマンドまでの期間内で、LDISK80-1の同一領域に対する更新が行われた場合の順序は、前記したように正データ記憶装置10-1のキャッシュブロックを副データ記憶装置10-2に対する未確定ライト完了後まで排他することで保証している(時間的に後から書き込まれたデータがそれ以前に書き込まれたデータで上書きされることがない)。   Therefore, in the present embodiment, the write received by the primary data storage device 10-1 from the host device 13-1 before and after the unconfirmed data confirmation command is issued from the primary data storage device 10-1 to the secondary data storage device 10-2. Guarantees the order of the data. This is clear from the mechanism for preventing the write data in the cache memory 51-2 that has already been confirmed from being overwritten with unconfirmed data as described above. Further, the order when the same area of LDISK 80-1 is updated within the period from one unconfirmed data confirmation command to the next unconfirmed data confirmation command is as described above. The cache block is excluded until after the indefinite write to the secondary data storage device 10-2 is completed (data written later is overwritten with data written earlier). Absent).

また本実施形態では、確定コマンド実行中に同一領域に連続でライト要求が行われた場合での非同期性も実現可能である。なお、同一領域に連続でライト要求が行われた場合、副サイトにライトデータを転送する際に、最後に要求されたライトデータのみを転送することによって、ホスト装置へのレスポンスを低減することが可能である。   In the present embodiment, it is also possible to realize asynchrony in the case where write requests are continuously made in the same area during execution of the confirmation command. Note that when write requests are continuously made to the same area, the response to the host device can be reduced by transferring only the last requested write data when transferring write data to the secondary site. Is possible.

また本実施形態では、最大ロールバック時間を、確定周期情報の示す確定周期によって保証することができる。この最大ロールバック時間とは、正サイト100-1のダウン時に、LDISK80-2の内容を、その時点からどれくらい前のLDISK80-1の内容に巻き戻すことができるかを指す。   In the present embodiment, the maximum rollback time can be guaranteed by the fixed cycle indicated by the fixed cycle information. This maximum rollback time indicates how much the content of LDISK 80-2 can be rewound to the content of LDISK 80-1 before that time when primary site 100-1 is down.

また本実施形態によれば、正サイト100-1及び副サイト100-2の間に専用の中継転送装置を必要とせず、また正サイト100-1及び副サイト100-2にキャッシュメモリ51-1、51-2とは別に専用のバッファを必要としない、比較的安価な非同期レプリケーションを実現できる。また、シーケンス番号を振る等のプロトコルオーバヘッドを減らすこともできる。   Further, according to the present embodiment, a dedicated relay transfer device is not required between the primary site 100-1 and the secondary site 100-2, and the cache memory 51-1 is provided in the primary site 100-1 and the secondary site 100-2. In addition to 51-2, a relatively inexpensive asynchronous replication that does not require a dedicated buffer can be realized. Further, protocol overhead such as assigning sequence numbers can be reduced.

なお、上記本実施形態はそのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、本実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。また、上記本実施形態では、データ転送用バッファをキャッシュメモリ51-iに確保しているが、LDISK、HDD、SSDなどのキャッシュメモリに限らない記憶媒体に確保しても良い。その場合は、バッファを確保しているかを示すための状態フラグをキャッシュメモリ管理部ではなく、バッファを確保した先の記憶媒体の管理部が有することとする。   The present embodiment is not limited as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the present embodiment. In the present embodiment, the data transfer buffer is secured in the cache memory 51-i. However, the data transfer buffer may be secured in a storage medium such as LDISK, HDD, or SSD. In this case, it is assumed that the management unit of the storage medium to which the buffer is secured has a status flag for indicating whether the buffer is secured, instead of the cache memory management unit.

100-1…正サイト、100-2…副サイト、10-1…正データ記憶装置(第1のデータ記憶装置)、10-2…副データ記憶装置(第2のデータ記憶装置)、13-1、13-2…ホスト装置、20-i…制御装置、80-i…論理ディスク(LDISK、記憶媒体)、11-1、11-2…データ通信路、21-i…CPU、31-i…プログラムメモリ、51-i…キャッシュメモリ、230-i…キャッシュメモリ管理部、231-i…キャッシュディレクトリ記憶部、232-i…キャッシュディレクトリ、260-i…レプリケーション管理部、261-i…レプリケーション管理データ記憶部、262-i…レプリケーション管理テーブル、263-i…I/O管理リスト記憶部、264-i、…I/O管理リスト、264a-i…実行I/Oリスト、264b-i…ペンディングI/Oリスト、264c-i…バッファリングI/Oリスト 100-1 ... primary site, 100-2 ... secondary site, 10-1 ... primary data storage device (first data storage device), 10-2 ... secondary data storage device (second data storage device), 13- DESCRIPTION OF SYMBOLS 1, 13-2 ... Host device, 20-i ... Control device, 80-i ... Logical disk (LDISK, storage medium), 11-1, 11-2 ... Data communication path, 21-i ... CPU, 31-i ... Program memory, 51-i ... Cache memory, 230-i ... Cache memory management unit, 231-i ... Cache directory storage unit, 232-i ... Cache directory, 260-i ... Replication management unit, 261-i ... Replication management Data storage unit, 262-i ... replication management table, 263-i ... I / O management list storage unit, 264-i, ... I / O management list, 264a-i ... execution I / O list, 264b-i ... pending I / O re Strike, 264c-i ... Buffering I / O list

Claims (5)

データを記憶するための第1の記憶媒体と、前記第1の記憶媒体へのアクセスを制御する第1の制御装置とを有する第1のデータ記憶装置と、
データを記憶するための第2の記憶媒体と、前記第2の記憶媒体へのアクセスを制御する第2の制御装置とを有し、前記第1のデータ記憶装置とデータ通信路を介して接続される第2のデータ記憶装置とを具備し、
前記第1の制御装置は、 前記第1の記憶媒体に対して読み出しまたは書き込みされるデータを記憶する第1のキャッシュメモリと、 前記第2のデータ記憶装置に送信されるべきライトデータを記憶するためのバッファ領域と、 前記第1のキャッシュメモリに対するアクセスを管理する第1のキャッシュメモリ管理手段と、 前記第1及び第2の記憶媒体を、前記第1の記憶媒体に記憶されているデータの複製が前記第2の記憶媒体に保存されるミラーとして運用するための特定のレプリケーション状態を備えるレプリケーション管理を行うためのレプリケーション管理手段とを備え、
前記第2の制御装置は、 前記第2の記憶媒体に対して読み出しまたは書き込みされるデータを記憶する第2のキャッシュメモリを備え、
前記第1のキャッシュメモリ管理手段は、 前記特定のレプリケーション状態において、外部の装置から前記第1の記憶媒体へのデータの書き込みが指定された場合、前記第1のキャッシュメモリ、および前記バッファ領域のそれぞれに前記指定されたデータを書き込み、
前記レプリケーション管理手段は、前記バッファ領域に書き込まれた前記ライトデータを、前記第2のキャッシュメモリに未確定ライトデータとして書き込むための未確定ライトを前記第2のデータ記憶装置に要求し、
前記未確定ライトを要求することにより前記ライトデータが設定された量を超える場合、もしくは予め定められたタイミングが到来した場合に、前記バッファ領域から前記第2のキャッシュメモリに前記未確定ライトデータとして既に書き込まれているデータを前記第2の記憶媒体に書き出されるべきライトバックデータに確定するための未確定ライト確定を前記第2のデータ記憶装置に要求することを特徴とするデータ記憶システム。
A first data storage device having a first storage medium for storing data and a first control device for controlling access to the first storage medium;
A second storage medium for storing data and a second control device for controlling access to the second storage medium, and connected to the first data storage device via a data communication path A second data storage device,
The first control device stores a first cache memory for storing data to be read from or written to the first storage medium, and write data to be transmitted to the second data storage device A buffer area for managing the first cache memory, a first cache memory managing means for managing access to the first cache memory, and the first and second storage media for the data stored in the first storage medium. Replication management means for performing replication management with a specific replication state for operating as a mirror in which a replica is stored in the second storage medium,
The second control device includes a second cache memory that stores data to be read from or written to the second storage medium,
In the specific replication state, the first cache memory management means, when data write to the first storage medium is designated from an external device, the first cache memory and the buffer area Write the specified data to each,
The replication management means requests the second data storage device for an unconfirmed write for writing the write data written in the buffer area as unconfirmed write data to the second cache memory;
When the write data exceeds a set amount by requesting the indeterminate write, or when a predetermined timing arrives, the undetermined write data is transferred from the buffer area to the second cache memory. A data storage system that requests unconfirmed write confirmation from the second data storage device to confirm data that has already been written as write-back data to be written to the second storage medium.
前記レプリケーション管理手段は、前記第2のキャッシュメモリの同一の領域に対する複数の前記未確定ライトの要求を行う場合に、前記複数の未確定ライトの要求の内、最後に要求された未確定ライトデータのみを送信することを特徴とする請求項1に記載のデータ記憶システム。   The replication management means, when performing a plurality of unconfirmed write requests to the same area of the second cache memory, among the plurality of unconfirmed write requests, The data storage system according to claim 1, wherein only data is transmitted. 前記レプリケーション管理手段は、予め定められたレプリケーション周期が到来した場合に前記未確定ライトを前記第2のデータ記憶装置に要求することを特徴とする請求項1および請求項2に記載のデータ記憶システム。   3. The data storage system according to claim 1, wherein the replication management unit requests the unconfirmed write to the second data storage device when a predetermined replication cycle arrives. . 前記レプリケーション管理手段は、前記バッファ領域のデータ量が予め定められたデータ量を超える場合に、前記未確定ライトを前記第2のデータ記憶装置に要求することを特徴とする請求項1および請求項2に記載のデータ記憶システム。   The replication management means requests the second data storage device for the unconfirmed write when the amount of data in the buffer area exceeds a predetermined amount of data. 2. The data storage system according to 2. データを記憶するための第1の記憶媒体と、前記第1の記憶媒体へのアクセスを制御する第1の制御装置とを有する第1のデータ記憶装置と、データを記憶するための第2の記憶媒体と、前記第2の記憶媒体へのアクセスを制御する第2の制御装置とを有し、前記第1のデータ記憶装置とデータ通信路を介して接続される第2のデータ記憶装置とを具備し、前記第1の制御装置は、前記第1の記憶媒体に対して読み出しまたは書き込みされるデータを記憶する第1のキャッシュメモリと、前記第2のデータ記憶装置に送信されるべきライトデータを記憶するためのバッファ領域とを備え、前記第2の制御装置は、前記第2の記憶媒体に対して読み出しまたは書き込みされるデータを記憶する第2のキャッシュメモリを備えるデータ記憶システムに適用される非同期レプリケーション方法であって、
前記第1及び第2の記憶媒体を前記第1の記憶媒体に記憶されているデータの複製が前記第2の記憶媒体に保存される際のミラーとして運用するための特定のレプリケーション状態において、外部の装置から前記第1の記憶媒体へのデータの書き込みが指定された場合に、
前記第1の制御装置が前記指定されたデータを前記第1の記憶媒体に書き出されるべきライトバックデータとして前記第1のキャッシュメモリに書き込むステップと、
前記指定されたデータを前記第2のデータ記憶装置に送信されるべきライトデータとして前記バッファ領域に書き込むステップと、
あらかじめ定めたレプリケーション周期が到来した場合に、前記第1の制御装置が、前記バッファ領域に書き込まれた前記ライトデータを前記第2のキャッシュメモリに転送するための未確定ライトを前記第2のデータ記憶装置に要求するステップと、
前記未確定ライトを要求することによりを前記第2のキャッシュメモリに転送される前記ライトデータが前記予め定められた量を超えると判定された場合、もしくは予め定められた確定周期が到来した場合に、前記第2のキャッシュメモリに転送された前記ライトデータを前記第2の記憶媒体に書き出されるべきライトバックデータに確定するための未確定ライト確定を、前記第1の制御装置が前記第2のデータ記憶装置に要求するステップとを具備することを特徴とする非同期レプリケーション方法。
A first data storage device having a first storage medium for storing data and a first control device for controlling access to the first storage medium; and a second data storage device for storing data A second data storage device having a storage medium and a second control device for controlling access to the second storage medium and connected to the first data storage device via a data communication path; The first control device includes a first cache memory for storing data read or written to the first storage medium, and a write to be transmitted to the second data storage device. A data storage system comprising a second cache memory for storing data to be read from or written to the second storage medium. A asynchronous replication method applied to,
In a specific replication state for operating the first and second storage media as a mirror when a copy of the data stored in the first storage medium is stored in the second storage medium, external When writing data to the first storage medium from the device is designated,
The first controller writing the designated data to the first cache memory as write-back data to be written to the first storage medium;
Writing the designated data into the buffer area as write data to be transmitted to the second data storage device;
When the predetermined replication cycle arrives, the first control device performs an unconfirmed write for transferring the write data written in the buffer area to the second cache memory. Requesting the storage device;
When it is determined that the write data transferred to the second cache memory exceeds the predetermined amount by requesting the indeterminate write, or when a predetermined fixed period has arrived The first controller determines the unconfirmed write determination for determining the write data transferred to the second cache memory as write-back data to be written to the second storage medium. And a step of requesting the data storage device.
JP2010162203A 2010-07-16 2010-07-16 Data storage system and asynchronous replication method Pending JP2012022645A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010162203A JP2012022645A (en) 2010-07-16 2010-07-16 Data storage system and asynchronous replication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010162203A JP2012022645A (en) 2010-07-16 2010-07-16 Data storage system and asynchronous replication method

Publications (1)

Publication Number Publication Date
JP2012022645A true JP2012022645A (en) 2012-02-02

Family

ID=45776857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010162203A Pending JP2012022645A (en) 2010-07-16 2010-07-16 Data storage system and asynchronous replication method

Country Status (1)

Country Link
JP (1) JP2012022645A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015232837A (en) * 2014-06-10 2015-12-24 東芝テック株式会社 Server device and program
WO2019107232A1 (en) * 2017-11-28 2019-06-06 Necプラットフォームズ株式会社 Data backup system, relay site storage, data backup method, and control program for relay site storage
DE102014000955B4 (en) 2013-02-05 2023-07-06 Sumitomo Wiring Systems, Ltd. Connector with an electronic component, holding device and method of manufacture

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347917A (en) * 1999-06-03 2000-12-15 Hitachi Ltd Method for controlling data duplex operation and duplicated storage subsystem
JP2003167684A (en) * 2001-12-04 2003-06-13 Nec Corp System for remote data copy between disk array devices
JP2006146580A (en) * 2004-11-19 2006-06-08 Nec Corp Storage system, its replication method, and program
JP2009058997A (en) * 2007-08-29 2009-03-19 Fujitsu Ltd Storage controller and firmware update method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347917A (en) * 1999-06-03 2000-12-15 Hitachi Ltd Method for controlling data duplex operation and duplicated storage subsystem
JP2003167684A (en) * 2001-12-04 2003-06-13 Nec Corp System for remote data copy between disk array devices
JP2006146580A (en) * 2004-11-19 2006-06-08 Nec Corp Storage system, its replication method, and program
JP2009058997A (en) * 2007-08-29 2009-03-19 Fujitsu Ltd Storage controller and firmware update method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014000955B4 (en) 2013-02-05 2023-07-06 Sumitomo Wiring Systems, Ltd. Connector with an electronic component, holding device and method of manufacture
JP2015232837A (en) * 2014-06-10 2015-12-24 東芝テック株式会社 Server device and program
WO2019107232A1 (en) * 2017-11-28 2019-06-06 Necプラットフォームズ株式会社 Data backup system, relay site storage, data backup method, and control program for relay site storage
US11321005B2 (en) 2017-11-28 2022-05-03 Nec Platforms, Ltd. Data backup system, relay site storage, data backup method, and control program for relay site storage

Similar Documents

Publication Publication Date Title
US9678686B2 (en) Managing sequentiality of tracks for asynchronous PPRC tracks on secondary
JP4774085B2 (en) Storage system
JP4021823B2 (en) Remote copy system and remote copy method
WO2017216887A1 (en) Information processing system
US20060212668A1 (en) Remote copy method and storage system
JP2005182222A (en) Remote copy system
JP2002259063A (en) Storage system capable of backup processing
US9785349B2 (en) Efficient free-space management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap in bind segments
US20120011326A1 (en) Storage system and method for changing configuration of cache memory for storage system
US9792061B2 (en) Efficient cache management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap
JP2007265403A (en) Remote mirroring method between tiered storage systems
US20170017433A1 (en) Storage system, storage device, and data transfer method
JPH10198607A (en) Data multiplexing system
JP4911198B2 (en) Storage control device, storage system, and storage control method
US8832396B2 (en) Storage apparatus and its control method
JP2008250458A (en) Storage system, and method for managing storage system
JP4719801B2 (en) Device management apparatus, device initialization method, device initialization program, and device system
JP6069962B2 (en) Information processing apparatus, area release control program, and area release control method
JP2012022645A (en) Data storage system and asynchronous replication method
JP4806037B2 (en) Data storage system and asynchronous replication method
US9785553B2 (en) Asynchronous cleanup after a peer-to-peer remote copy (PPRC) terminate relationship operation
JP2006155202A (en) Remote backup system and method
US9535610B2 (en) Optimizing peer-to-peer remote copy (PPRC) transfers for partial write operations using a modified sectors bitmap
JP5263237B2 (en) Storage system
JP2003050675A (en) Data multiplexing system

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130312

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130614