JP4398463B2 - Method, system, and program for incremental virtual copy - Google Patents
Method, system, and program for incremental virtual copy Download PDFInfo
- Publication number
- JP4398463B2 JP4398463B2 JP2006516135A JP2006516135A JP4398463B2 JP 4398463 B2 JP4398463 B2 JP 4398463B2 JP 2006516135 A JP2006516135 A JP 2006516135A JP 2006516135 A JP2006516135 A JP 2006516135A JP 4398463 B2 JP4398463 B2 JP 4398463B2
- Authority
- JP
- Japan
- Prior art keywords
- target
- source
- data block
- storage
- indicator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2082—Data synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
Description
本発明は、インクリメンタル仮想コピーに向けられる。 The present invention is directed to incremental virtual copying.
コンピューティング・システムは、多くの場合、データ処理を行い、アプリケーション・プログラムを稼動させるための1つ又はそれ以上のホスト・コンピュータ(「ホスト」)、データを格納する直接アクセス型格納デバイス(DASD)、及び、該ホストと該DASDとの間のデータ転送を制御するための格納コントローラを含む。コントロール・ユニット又は格納ディレクタとも呼ばれる格納コントローラは、ループ・アーキテクチャにおいて接続される幾多のハードディスク・ドライブで構成された格納スペースに対するアクセスを管理し、他の場合においては直接アクセス型格納デバイス(DASD)と呼ばれる。ホストは、格納コントローラを通して、格納スペースに対する入力/出力(I/O)要求を通信することができる。 Computing systems often process one or more host computers (“hosts”) for processing data and running application programs, direct access storage devices (DASD) for storing data, And a storage controller for controlling data transfer between the host and the DASD. A storage controller, also called a control unit or storage director, manages access to storage space consisting of a number of hard disk drives connected in a loop architecture, and in other cases is called a direct access storage device (DASD) . The host can communicate input / output (I / O) requests for the storage space through the storage controller.
多くのシステムにおいて、DASDのような1つの格納デバイス上のデータを同じ又は別の格納デバイスにコピーして、データ・ボリュームに対するアクセスを2つの異なるデバイスから与えるようにすることができる。ポイント・イン・タイム・コピーは、全てのデータをソース・ボリュームからターゲット・ボリュームに物理的にコピーして、該ターゲット・ボリュームがポイント・イン・タイム時点のデータのコピーを有するようにすることを含む。ポイント・イン・タイム・コピーは、さらに、論理的にデータのコピーを作成し、次いで、必要な時にデータをさらにコピー・オバーするだけで、事実上、物理的なコピー動作を遅らせることができる。この論理的コピー動作が行われると、ターゲット・ボリューム及びソース・ボリュームがアクセス不能になる時間を最小にすることができる。 In many systems, data on one storage device, such as DASD, can be copied to the same or another storage device so that access to the data volume is provided from two different devices. Point-in-time copying is a physical copy of all data from a source volume to a target volume, so that the target volume has a copy of the data at the point-in-time. Including. Point-in-time copying can effectively delay the physical copying operation by simply making a logical copy of the data and then only copying over the data when needed. When this logical copy operation is performed, the time during which the target volume and the source volume are inaccessible can be minimized.
多数の直接アクセス格納デバイス(DASD)サブシステムが、「高速複製機能」とも呼ばれる「即時仮想コピー」動作を行うことができる。即時仮想コピー動作は、関連性テーブルのようなメタデータ又はポインタを修正し、ソース・データ・オブジェクトをオリジナル及びコピーの両方として扱うことによって行われる。ホストのコピー要求に応答して、格納サブシステムは、如何なるデータの物理的コピーも作成することなく、直ちにコピーの作成を報告する。「仮想」コピーだけが作成され、付加的な物理的コピーの不存在は、ホストには全く知られない。 Many direct access storage device (DASD) subsystems can perform “instant virtual copy” operations, also called “fast replication features”. An immediate virtual copy operation is performed by modifying metadata or pointers, such as an association table, and treating the source data object as both an original and a copy. In response to a host copy request, the storage subsystem immediately reports the creation of a copy without creating a physical copy of any data. Only a “virtual” copy is created and the absence of an additional physical copy is completely unknown to the host.
後に格納システムがオリジナル又はコピーの更新を受信すると、更新が別個に格納され、更新されたデータ・オブジェクトに対して相互参照が行われるだけである。この時点で、オリジナルのデータ・オブジェクトとコピーのデータ・オブジェクトの分化が始まる。最初の利点は、即時仮想コピーが殆ど瞬間的に行われ、通常の物理コピー動作よりもずっと速く完了するという点である。このことにより、ホスト及び格納サブシステムが解放され、他のタスクを実行することが可能になる。ホスト又は格納サブシステムは、バックグラウンド処理において又は別の機会に、オリジナルのデータ・オブジェクトの実際の物理的コピーを作成することさえ可能である。 If the storage system later receives an original or copy update, the update is stored separately and only cross-referenced to the updated data object. At this point, the differentiation of the original data object and the copy data object begins. The first advantage is that immediate virtual copy occurs almost instantaneously and completes much faster than normal physical copy operations. This frees the host and storage subsystem and allows other tasks to be performed. The host or storage subsystem can even make an actual physical copy of the original data object, either in background processing or on another occasion.
1つのこのような即時仮想コピー動作は、FlashCopy(商標)動作として知られている。FlashCopy(商標)動作は、同じ又は異なるデバイス上のソース・ボリュームとターゲット・ボリュームとの間の論理的ポイント・イン・タイム関連性を確立することを含む。FlashCopy(商標)動作は、ターゲット・ディスク上におけるFlashCopy(商標)関連性内のトラックの位置が固められるまで、該トラックがソース・ディスク上に常駐することを保証する。関連性テーブルを用いて、サブシステムにおける全ての既存のFlashCopy(商標)関連性についての情報を維持する。FlashCopy(商標)関連性の確立段階においては、1つのエントリが、確立されているFlashCopy(商標)に参加するソース及びターゲットについて、ソース及びターゲットの関連性テーブルに記録される。各々の付加されたエントリは、FlashCopy(商標)関連性に関する、全ての要求される情報を維持する。関連性についての両方のエントリは、ソース領域からの全てのFlashCopy(商標)トラックがターゲット領域に物理的にコピーされるか、又は、取下げコマンドが受信された場合に、関連性テーブルから除去される。場合によっては、全てのトラックがソース領域からターゲット領域にコピーされても、関連性は持続する。 One such immediate virtual copy operation is known as a FlashCopy ™ operation. The FlashCopy ™ operation involves establishing a logical point-in-time relationship between a source volume and a target volume on the same or different devices. The FlashCopy ™ operation ensures that the track resides on the source disk until the position of the track in the FlashCopy ™ association on the target disk is fixed. A relationship table is used to maintain information about all existing FlashCopy ™ relationships in the subsystem. In the FlashCopy ™ relationship establishment phase, an entry is recorded in the source and target relationship table for the sources and targets that participate in the established FlashCopy ™. Each appended entry maintains all the required information regarding the FlashCopy ™ relevance. Both entries for relevance are removed from the relevancy table when all FlashCopy ™ tracks from the source area are physically copied to the target area or a withdrawal command is received. . In some cases, the relationship persists even if all tracks are copied from the source area to the target area.
ターゲットの関連性テーブルは、さらに、FlashCopy(商標)関連性に含まれるどのトラックが、まだコピーされておらず、したがって、保護トラックであるかを識別するビットマップを含む。ターゲット・デバイスにおける各々のトラックは、ビットマップにおいて1ビットで表される。ターゲット・ビットは、対応するトラックがFlashCopy(商標)関連性のターゲット・トラックとして確立された場合に設定される。ソース又はターゲット・デバイス上への書き込み又はバックグラウンドのコピー・タスクのために、対応するトラックがソース位置からコピーされ、ターゲット・デバイスにデステージされた場合に、ターゲット・ビットが再設定される。 The target association table further includes a bitmap that identifies which tracks included in the FlashCopy ™ association have not yet been copied and are therefore protected tracks. Each track in the target device is represented by one bit in the bitmap. The target bit is set when the corresponding track is established as a FlashCopy (TM) related target track. The target bit is reset when the corresponding track is copied from the source location and destaged to the target device for a write or background copy task on the source or target device.
従来技術においては、FlashCopy(商標)動作中の論理的なポイント・イン・タイム関連性の確立の一部として、FlashCopy(商標)関連性に含まれるソース・キャッシュ内の全てのトラックは、物理的なソース・ボリューム、例えば、ソースDASDにデステージしなければならず、FlashCopy(商標)に含まれるターゲット・キャッシュ内の全てのトラックは廃棄されなければならない。 In the prior art, as part of establishing a logical point-in-time relationship during FlashCopy ™ operation, all tracks in the source cache included in the FlashCopy ™ relationship are physically A new source volume, eg source DASD, must be destaged and all tracks in the target cache contained in FlashCopy ™ must be discarded.
論理的関連性が確立されると、ホストは、次いで、ソース・ボリューム及びターゲット・ボリューム上のデータに即時アクセスすることができ、該データは、バックグラウンド動作の一部としてコピーされ得る。トラックがFlashCopy(商標)関連性におけるターゲットであり、キャッシュにはない場合における該トラックに対する読み取りは、ステージ・インターセプトをトリガし、ソース・トラックがまだコピーされておらず、ターゲット・キャッシュからトラックにアクセスが与えられる前である場合に、要求されたターゲット・トラックに対応するソース・トラックが、ターゲット・キャッシュにステージされるようにする。このことは、ターゲットが、FlashCopy(商標)動作のポイント・イン・タイムにおいて存在したソースからのコピーを有することを確実にする。さらに、コピー・オバーされていないソース・デバイス上のトラックに対するどのような書き込みも、デステージ・インターセプトをトリガし、ソース・デバイス上のトラックが、ターゲット・デバイスにコピーされるようにする。 Once the logical association is established, the host can then immediately access the data on the source and target volumes, which can be copied as part of the background operation. A read on a track when the track is a target in FlashCopy ™ relevance and not in the cache triggers a stage intercept, the source track has not yet been copied and the track is accessed from the target cache The source track corresponding to the requested target track is staged in the target cache. This ensures that the target has a copy from the source that existed at the point of time of the FlashCopy ™ operation. In addition, any write to a track on the source device that has not been copied over triggers a destage intercept, causing the track on the source device to be copied to the target device.
即時仮想コピー技術は、フォアグラウンド処理を中断又は減速することなく、データの複製コピーを迅速に(少なくとも部分的に)作成するために開発されたものである。FlashCopy(商標)動作のような即時仮想コピー技術は、ポイント・イン・タイムのコピー・ツールを提供する。即時仮想コピー技術は、例えば、データ・バックアップ、データ・マイグレーション、データ・マイニング、試験等を含む種々の用途に用いることができる。例えば、ソース・データの物理的「バックアップ」コピーの作成に即時仮想コピー技術を用い、障害回復を助けることができる。 Instant virtual copy technology has been developed to quickly (at least partially) create duplicate copies of data without interrupting or slowing down foreground processing. Immediate virtual copy technology such as FlashCopy ™ operation provides a point-in-time copy tool. The immediate virtual copy technology can be used for various applications including, for example, data backup, data migration, data mining, testing, and the like. For example, immediate virtual copy technology can be used to create a physical “backup” copy of the source data to aid in disaster recovery.
即時仮想コピー技術は大量のデータのコピーに対して有用であるが、従来型の即時仮想コピー技術を改善することもできる。特に、当該技術分野において、大量のデータを物理的にコピーすることを回避する、改善された即時仮想コピー技術に対する必要性が存在する。 Although the immediate virtual copy technology is useful for copying a large amount of data, the conventional immediate virtual copy technology can also be improved. In particular, there is a need in the art for improved instant virtual copy technology that avoids physically copying large amounts of data.
第1の側面において、本発明は、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータを維持するステップと、ターゲット・データ・ブロックが対応するソース・データ・ブロックによって上書きされたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されたかどうかを示す、ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータを維持するステップと、ソース格納部からターゲット格納部にデータを転送する時に、ソース・データ・ブロックが更新されたことを示すように第1のインジケータが設定された、各ソース・データ・ブロックを転送し、かつ、ターゲット・データ・ブロックが更新されたことを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックを転送するステップとを含む、転送されるデータ量を減少させる方法を提供する。 In a first aspect, the invention provides for each source data block to indicate whether the source data block has been updated in the source store since the last time the source data block was transferred to the target store. Maintaining a first indicator for the block and indicating whether the target data block has been updated in the target store since the target data block was overwritten by the corresponding source data block; Maintaining a second indicator for each target data block in the target store and indicating that the source data block has been updated when transferring data from the source store to the target store Each saw with the first indicator set Transfer each source data block corresponding to the target data block with the second indicator set to transfer the data block and to indicate that the target data block has been updated A method for reducing the amount of data transferred.
本方法は、ステージ動作のために、対応するソース・データ・ブロック又はターゲット・データ・ブロックが取り出されるべきかどうかを示す、各ターゲット・データ・ブロックについての第3のインジケータを維持するステップをさらに含むことが好ましい。 The method further comprises maintaining a third indicator for each target data block indicating whether the corresponding source data block or target data block should be retrieved for stage operation. It is preferable to include.
本方法は、ソース・データ・ブロックがターゲット格納部にコピーされた時に、ターゲット・データ・ブロックについての第3のインジケータを更新するステップをさらに含むことが好ましい。 The method preferably further comprises the step of updating a third indicator for the target data block when the source data block is copied to the target store.
本方法は、インクリメンタル仮想コピー動作を受信するステップと、ソース・データ・ブロックについての第1のインジケータ及び該ソース・データ・ブロックに対応するターゲット・データ・ブロックについての第2のインジケータに基づいて、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含み、ここで、ソース格納部からターゲット格納部にデータを転送することは、ソース・データ・ブロックがターゲット格納部に転送されるべきであることを第3のインジケータが示している、各ソース・データ・ブロックを転送することを含むことが好ましい。 The method is based on receiving an incremental virtual copy operation, a first indicator for a source data block and a second indicator for a target data block corresponding to the source data block, Updating a third indicator for each target data block, wherein transferring data from the source store to the target store is transferred from the source data block to the target store. Preferably, it includes transferring each source data block, where the third indicator indicates that it should be done.
本方法は、インクリメンタル仮想コピー関連性を確立した後、ステージ動作のために、ターゲット・データ・ブロックに対応するソース・データ・ブロックがソース格納部から取り出されるべきであることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップをさらに含むことが好ましい。 After establishing the incremental virtual copy relevance, the method sets each source data block corresponding to the target data block to be retrieved from the source store for stage operation. Preferably, the method further comprises updating a third indicator for the target data block.
本方法は、ソース格納部からターゲット格納部にデータを転送した後、該ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されなかったことを示すように、各ソース・ブロックについての第1のインジケータを更新するステップさらに含むことが好ましい。 In this method, after data is transferred from the source storage to the target storage, the source data block is not updated in the source storage since the last time the source data block was transferred to the target storage. Preferably, the method further includes updating the first indicator for each source block.
本方法は、ソース格納部からターゲット格納部にデータを転送した後、該ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するステップとをさらに含むことが好ましい。 The method does not update the target data block in the target store after the last transfer of the source data block to the target store after transferring data from the source store to the target store. Preferably, the method further includes updating a second indicator for each target data block.
各ソース・データ・ブロック及び各ターゲット・データ・ブロックは、あるボリュームのトラックを含むことが好ましい。 Each source data block and each target data block preferably includes a volume of tracks.
各ソース・データ・ブロック及び各ターゲット・データ・ブロックは、あるボリュームのセクタを含むことが好ましい。 Each source data block and each target data block preferably includes a sector of a volume.
本方法は、データのソース部分とデータのターゲット部分との間でインクリメンタル仮想コピー動作を行うことによって、データのソース部分とデータのターゲット部分との間にインクリメンタル仮想コピー関連性を形成するステップをさらに含み、ここで、インクリメンタル仮想コピー関連性において、データのソース部分内の各ソース・データ・ブロックについての第1のインジケータ及びデータのターゲット部分内の各ターゲット・データ・ブロックについての第2のインジケータが維持される。 The method further comprises the step of forming an incremental virtual copy relationship between the source portion of the data and the target portion of the data by performing an incremental virtual copy operation between the source portion of the data and the target portion of the data. Where, in an incremental virtual copy relationship, a first indicator for each source data block in the source portion of data and a second indicator for each target data block in the target portion of data are Maintained.
本方法は、ソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての第1のインジケータを更新するステップと、ターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するステップと、ソース・データ・ブロックをターゲット格納部に転送する必要があることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含むことが好ましい。 The method updates the first indicator for each source data block to indicate that the source data block has not been updated, and indicates that the target data block has not been updated. As shown, for each target data block, updating the second indicator for each target data block and indicating that the source data block needs to be transferred to the target store Preferably updating the third indicator of.
本方法は、ソース・データ・ブロックが更新された時に、ソース・データ・ブロックが更新されたことを示すように、ソース・データ・ブロックについての第1のインジケータを更新するステップをさらに含むことが好ましい。 The method may further include updating a first indicator for the source data block to indicate that the source data block has been updated when the source data block is updated. preferable.
本方法は、ターゲット・データ・ブロックが更新された時に、ターゲット・データ・ブロックが更新されたことを示すように、ターゲット・データ・ブロックについての第2のインジケータを更新するステップをさらに含むことが好ましい。 The method may further include updating a second indicator for the target data block to indicate that the target data block has been updated when the target data block is updated. preferable.
同様に、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータを維持するステップと、対応するソース・データ・ブロックによってターゲット・データ・ブロックが上書きされたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されたかどうかを示す、ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータを維持するステップと、ソース格納部からターゲット格納部にデータを転送する時に、ソース・データ・ブロックが更新されたかどうかを示すように第1のインジケータが設定された、各ソース・データ・ブロックを転送するステップと、ターゲット・データ・ブロックが更新されたかどうかを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックを転送するステップとを含む動作が行われる、転送されるデータ量を減少させるための製品を提供することもできる。 Similarly, a first indicator for each source data block that indicates whether the source data block has been updated in the source store since the last time the source data block was transferred to the target store And each target in the target store that indicates whether the target data block has been updated in the target store since the target data block was overwritten by the corresponding source data block. Maintaining a second indicator for the data block, and when transferring data from the source store to the target store, the first indicator is set to indicate whether the source data block has been updated. Each source data block And transferring each source data block corresponding to the target data block with a second indicator set to indicate whether the target data block has been updated. It is also possible to provide a product for reducing the amount of data transferred on which the operation takes place.
本製品は、ステージ動作のために、対応するソース・データ・ブロック又はターゲット・データ・ブロックが取り出されるべきかどうかを示す、各ターゲット・データ・ブロックについての第3のインジケータを維持するステップをさらに含む動作を行うことが好ましい。 The product further comprises maintaining a third indicator for each target data block indicating whether the corresponding source data block or target data block should be retrieved for stage operation. It is preferable to perform the operation including.
本製品は、ソース・データ・ブロックがターゲット格納部にコピーされた時に、ターゲット・データ・ブロックについての第3のインジケータを更新するステップを含むことが好ましい。 The product preferably includes updating a third indicator for the target data block when the source data block is copied to the target store.
本製品は、インクリメンタル仮想コピー動作を受信するステップと、ソース・データ・ブロックについての第1のインジケータ及びソース・データ・ブロックに対応するターゲット・データ・ブロックについての第2のインジケータに基づいて、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含むことが好ましく、ここで、ソース格納部からターゲット格納部にデータを転送することは、ソース・データ・ブロックがターゲット格納部に転送されるべきであることを第3のインジケータが示している、各ソース・データ・ブロックを転送することを含む。 The product includes a step of receiving an incremental virtual copy operation and a first indicator for a source data block and a second indicator for a target data block corresponding to the source data block, Updating a third indicator for the target data block, wherein transferring the data from the source store to the target store is such that the source data block is the target store. Transferring each source data block, the third indicator indicating that it should be transferred to
本製品は、インクリメンタル仮想コピー関連性を確立した後、ステージ動作のために、ターゲット・データ・ブロックに対応するソース・データ・ブロックがソース格納部から取り出されるべきであることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップを含むことが好ましい。 After establishing the incremental virtual copy relevance, the product will indicate that the source data block corresponding to the target data block should be retrieved from the source store for stage operation. Preferably, the method includes updating a third indicator for the target data block.
本製品は、ソース格納部からターゲット格納部にデータを転送した後、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されなかったことを示すように、各ソース・ブロックについての第1のインジケータを更新するステップを含むことが好ましい。 In this product, after transferring data from the source storage to the target storage, the source data block was not updated in the source storage since the last time the source data block was transferred to the target storage As indicated, it preferably includes the step of updating a first indicator for each source block.
本製品は、ソース格納部からターゲット格納部にデータを転送した後、ターゲット・データ・ブロックが最後にターゲット格納部に転送されたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するステップを含むことが好ましい。 In this product, after transferring data from the source storage to the target storage, the target data block was not updated in the target storage since the last time the target data block was transferred to the target storage As indicated, it preferably includes the step of updating a second indicator for each target data block.
各ソース・データ・ブロック及び各ターゲット・データ・ブロックが、あるボリュームのトラックを含むことが好ましい。 Each source data block and each target data block preferably includes a volume of tracks.
各ソース・データ・ブロック及び各ターゲット・データ・ブロックが、あるボリュームのセクタを含むことが好ましい。 Each source data block and each target data block preferably includes a sector of a volume.
本製品は、データのソース部分とデータのターゲット部分との間でインクリメンタル仮想コピー動作を行うことによって、データのソース部分とデータのターゲット部分との間にインクリメンタル仮想コピー関連性を形成するステップを含むことが好ましく、ここで、インクリメンタル仮想コピー関連性において、データのソース部分内の各ソース・データ・ブロックについての第1のインジケータ及びデータのターゲット部分内の各ターゲット・データ・ブロックについての第2のインジケータが維持される。 The product includes the step of forming an incremental virtual copy relationship between the source portion of the data and the target portion of the data by performing an incremental virtual copy operation between the source portion of the data and the target portion of the data. Preferably, in an incremental virtual copy relationship, a first indicator for each source data block in the source portion of data and a second for each target data block in the target portion of data An indicator is maintained.
本製品は、ソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての第1のインジケータを更新するステップと、ターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するステップと、ソース・データ・ブロックをターゲット格納部に転送する必要があることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含むことが好ましい。 The product updates the first indicator for each source data block to indicate that the source data block has not been updated and indicates that the target data block has not been updated. As shown, for each target data block, updating the second indicator for each target data block and indicating that the source data block needs to be transferred to the target store Preferably updating the third indicator of.
本製品は、ソース・データ・ブロックが更新された時に、ソース・データ・ブロックが更新されたことを示すように、ソース・データ・ブロックについての第1のインジケータを更新するステップをさらに含むことが好ましい。 The product may further include updating a first indicator for the source data block to indicate that the source data block has been updated when the source data block is updated. preferable.
本製品は、ターゲット・データ・ブロックが更新された時に、ターゲット・データ・ブロックが更新されたことを示すように、ターゲット・データ・ブロックについての第2のインジケータを更新するステップをさらに含むことが好ましい。 The product may further include updating a second indicator for the target data block to indicate that the target data block has been updated when the target data block is updated. preferable.
第2の側面において、本発明は、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータを維持するための手段と、対応するソース・データ・ブロックによってターゲット・データ・ブロックが上書きされたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されたかどうかを示す、ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータを維持するための手段と、ソース格納部からターゲット格納部にデータを転送する時に、ソース・データ・ブロックが更新されたかどうかを示すように第1のインジケータが設定された、各ソース・データ・ブロックを転送するための手段と、ターゲット・データ・ブロックが更新されたかどうかを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックを転送するための手段とを含む、転送されるデータ量を減少させるためのシステムを提供する。 In a second aspect, the present invention provides each source data block indicating whether the source data block has been updated in the source store since the last time the source data block was transferred to the target store. Means for maintaining a first indicator for the block and whether the target data block has been updated in the target store since the target data block was overwritten by the corresponding source data block; Means for maintaining a second indicator for each target data block in the target store, and whether the source data block was updated when transferring data from the source store to the target store The first indicator was set to indicate Means for transferring each source data block and each source data block corresponding to the target data block with a second indicator set to indicate whether the target data block has been updated And a system for reducing the amount of data transferred, including means for transferring blocks.
本システムは、ステージ動作のために、対応するソース・データ・ブロック又はターゲット・データ・ブロックが取り出されるべきかどうかを示す、各ターゲット・データ・ブロックについての第3のインジケータを維持するための手段を含むことが好ましい。 The system includes means for maintaining a third indicator for each target data block that indicates whether the corresponding source data block or target data block should be retrieved for stage operation. It is preferable to contain.
本システムは、ソース・データ・ブロックがターゲット格納部にコピーされた時に、ターゲット・データ・ブロックについての第3のインジケータを更新するための手段を含むことが好ましい。 The system preferably includes means for updating a third indicator for the target data block when the source data block is copied to the target store.
本システムは、インクリメンタル仮想コピー動作を受信するステップと、ソース・データ・ブロックについての第1のインジケータ及びソース・データ・ブロックに対応するターゲット・データ・ブロックについての第2のインジケータに基づいて、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含むことが好ましく、ここで、ソース格納部からターゲット格納部にデータを転送することは、ソース・データ・ブロックがターゲット格納部に転送されるべきであることを第3のインジケータが示している、各ソース・データ・ブロックを転送するための手段を含むことが好ましい。 The system is configured to receive each incremental virtual copy operation, and based on a first indicator for the source data block and a second indicator for the target data block corresponding to the source data block, Updating a third indicator for the target data block, wherein transferring the data from the source store to the target store is such that the source data block is the target store. Preferably, it includes means for transferring each source data block, wherein the third indicator indicates that it should be transferred to.
本システムは、インクリメンタル仮想コピー関連性を確立した後、ステージ動作のために、ターゲット・データ・ブロックに対応するソース・データ・ブロックがソース格納部から取り出されるべきであることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するための手段を含むことが好ましい。 After establishing the incremental virtual copy relevance, the system will indicate that the source data block corresponding to the target data block should be retrieved from the source store for stage operation. Preferably, means are included for updating a third indicator for the target data block.
本システムは、ソース格納部からターゲット格納部にデータを転送した後、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての第1のインジケータを更新するための手段を含むことが好ましい。 In this system, after transferring data from the source storage to the target storage, the source data block was not updated in the source storage since the last time the source data block was transferred to the target storage As indicated, it preferably includes means for updating the first indicator for each source data block.
本システムは、ソース格納部からターゲット格納部にデータを転送した後、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するための手段を含むことが好ましい。 The system did not update the target data block in the target store after the last time the source data block was transferred to the target store after transferring data from the source store to the target store As indicated, it preferably includes means for updating the second indicator for each target data block.
各ソース・データ・ブロック及び各ターゲット・データ・ブロックが、あるボリュームのトラックを含むことが好ましい。 Each source data block and each target data block preferably includes a volume of tracks.
各ソース・データ・ブロック及び各ターゲット・データ・ブロックが、あるボリュームのセクタを含むことが好ましい。 Each source data block and each target data block preferably includes a sector of a volume.
本製品は、データのソース部分とデータのターゲット部分との間でインクリメンタル仮想コピー動作を行うことによって、データのソース部分とデータのターゲット部分との間にインクリメンタル仮想コピー関連性を形成するための手段を含み、ここで、インクリメンタル仮想コピー関連性において、データのソース部分内の各ソース・データ・ブロックについての第1のインジケータ及びデータのターゲット部分内の各ターゲット・データ・ブロックについての第2のインジケータが維持されることが好ましい。 The product provides a means for creating an incremental virtual copy relationship between a data source portion and a data target portion by performing an incremental virtual copy operation between the data source portion and the data target portion. Where, in an incremental virtual copy relationship, a first indicator for each source data block in the source portion of data and a second indicator for each target data block in the target portion of data Is preferably maintained.
本システムは、ソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての第1のインジケータを更新するための手段と、ターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するための手段と、ソース・データ・ブロックをターゲット格納部に転送する必要があることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するための手段とを含むことが好ましい。 The system has means for updating the first indicator for each source data block and the target data block has not been updated to indicate that the source data block has not been updated. Means for updating the second indicator for each target data block and each target data block to indicate that the source data block needs to be transferred to the target store. And means for updating a third indicator for the data block.
本システムは、ソース・データ・ブロックを更新した時に、ソース・データ・ブロックが更新されたことを示すように、ソース・データ・ブロックについての第1のインジケータを更新するための手段を含むことが好ましい。 The system may include means for updating a first indicator for the source data block to indicate that the source data block has been updated when the source data block is updated. preferable.
本システムは、ターゲット・データ・ブロックを更新した時に、ターゲット・データ・ブロックが更新されたことを示すように、ターゲット・データ・ブロックについての第2のインジケータを更新する手段を含むことが好ましい。 The system preferably includes means for updating a second indicator for the target data block to indicate that the target data block has been updated when the target data block is updated.
第3の側面において、本発明は、コンピュータ・システムに読み込まれ、コンピュータ・システム上で実行されるときに、第1の側面による方法のステップを実行させるためのコンピュータ・プログラム・コードを含む、コンピュータ・プログラムを提供する。コンピュータ・プログラムの好ましい特徴は、第1の側面の好ましい方法のステップに対応するコンピュータ・プログラム・コードを含む。 In a third aspect, the present invention includes a computer program code for causing a method step according to the first aspect to be executed when read into a computer system and executed on the computer system.・ Provide programs. Preferred features of the computer program include computer program code corresponding to the preferred method steps of the first aspect.
したがって、転送されるデータ量を減少させる方法、システム、及びプログラムが提供されることが好ましい。ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータが維持される。対応するソース・データ・ブロックによってターゲット・データ・ブロックが上書きされたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されたかどうかを示す、ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータが維持される。ソース格納部からターゲット格納部にデータを転送する時に、ソース・データ・ブロックが更新されたことを示すように第1のインジケータが設定された、各ソース・データ・ブロックが転送され、ターゲット・データ・ブロックを更新したことを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックが転送される。 Therefore, it is preferable to provide a method, system and program for reducing the amount of data transferred. A first indicator for each source data block is maintained that indicates whether the source data block has been updated in the source store since the last time the source data block was transferred to the target store. The A first for each target data block in the target store that indicates whether the target data block has been updated in the target store since the target data block was overwritten by the corresponding source data block. Two indicators are maintained. When transferring data from the source store to the target store, each source data block with a first indicator set to indicate that the source data block has been updated is transferred and the target data Each source data block corresponding to the target data block is transferred with the second indicator set to indicate that the block has been updated.
説明された本発明の実施は、インクリメンタル仮想コピーを作成するための方法、システム、及びプログラムを提供する。 The described implementation of the invention provides a method, system, and program for creating incremental virtual copies.
ここで、添付の図面を参照して、単なる例示として、本発明の好ましい実施形態を説明する。 Preferred embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings.
以下の説明において、本発明の一部を形成し、本発明の幾つかの実施を示す添付図面について説明する。本発明の範囲を逸脱することなく、他の実施を用いることができ、構造上及び動作上の変更をなし得ることが理解される。 In the following description, reference is made to the accompanying drawings that form a part hereof and in which are shown several embodiments of the invention. It is understood that other implementations can be used and structural and operational changes can be made without departing from the scope of the invention.
本発明の実施は、即時仮想コピー動作の機能を強化するインクリメンタル仮想コピー動作を提供するものである。インクリメンタル仮想コピー動作を用いる場合、ソース・ボリュームからターゲット・ボリュームへの最後の即時仮想コピー動作以降、ソース・ボリューム及びターゲット・ボリュームにおいて更新されたデータ・ブロックだけがコピーされる。インクリメンタル仮想コピー動作は、ソース・ボリュームの物理コピーを作成する時間を減少させ、他のアプリケーションへの影響を最小にする(例えば、データをデステージするための物理的格納部に対する帯域幅の使用を最小にし、これにより物理的格納部からの読み取りのために、多くの帯域幅が可能になる)。 The implementation of the present invention provides an incremental virtual copy operation that enhances the functionality of an immediate virtual copy operation. When using an incremental virtual copy operation, only the data blocks that have been updated in the source and target volumes since the last immediate virtual copy operation from the source volume to the target volume are copied. Incremental virtual copy operations reduce the time to create a physical copy of the source volume and minimize the impact on other applications (for example, using bandwidth for physical storage to destage data). Minimize, which allows a lot of bandwidth for reading from the physical store).
図1及び図2は、本発明の特定の実施によるコンピューティング環境をブロック図で示す。格納コントローラ100は、ネットワーク190上で、入力/出力(I/O)要求をホスト140a、b、...l(ここで、a、b及びlは、任意の整数値とすることができる)から受け取り、ボリューム(例えば、論理ユニット番号、論理装置など)122a、b...n及び132a、b...mのそれぞれを有するように構成された格納デバイス120、130の方向に向けられ、ここで、m及びnは、異なる整数値であってもよいし、又は、同じ整数値であってもよい。特定の実施においては、ターゲット格納部130のサイズは、ソース格納部120より大きいか又はこれと等しくすることができる。
1 and 2 illustrate in a block diagram a computing environment in accordance with a particular implementation of the present invention. The storage controller 100 sends input / output (I / O) requests to the
ソース格納部120は、データ・ブロックを含む格納ブロック150に分割することができる1つ又はそれ以上のボリューム122a、b...nを含み、この格納ブロック150は、データのサブブロックを含む格納サブブロック(150a−150p、ここで、a及びpは任意の整数値とすることができる)にさらに分割される。ボリュームは、格納部の任意の論理エレメント又は物理エレメントとすることができる。特定の実施においては、データ・ブロックはトラックのコンテンツであり、データ・サブブロックはトラックのセクタのコンテンツである。
The
ターゲット格納部130は、ソース格納部120のボリューム122a、b...nの全て又はサブセットのコピーを維持する。さらに、例えばホスト140によって、ターゲット格納部130を修正することができる。ターゲット格納部130は、データ・ブロックを含む格納ブロック150に分割することができる1つ又はそれ以上のボリューム132a、b...mを含み、格納ブロック150は、データのサブブロックを含む格納サブブロック(150a−150p、ここで、a及びpは任意の整数値とすることができる)にさらに分割される。ボリュームは、格納部の任意の論理エレメント又は物理エレメントとすることができる。特定の実施においては、データ・ブロックはトラックであり、データ・サブブロックはトラックのセクタである。
The
参照を簡略にするために、本明細書において、トラック及びセクタという用語は、データ・ブロック及びデータ・サブブロックの例として用いられるが、これらの用語の使用は、本発明の実施をトラック及びセクタに制限することを意図するものではない。本発明の実施は、あらゆるタイプの格納部、又はいずれかの方法で分割された格納ブロック又はデータ・ブロックにも適用可能である。さらに、本発明の実施はデータ・ブロックに言及しているが、本発明の代替的な実施は、データ・サブブロックにも適用可能である。 For simplicity of reference, the terms track and sector are used herein as examples of data blocks and data sub-blocks, but the use of these terms makes track and sector implementation of the present invention. It is not intended to be limited to. The implementation of the present invention is also applicable to any type of storage, or storage block or data block divided in any way. Furthermore, although the implementation of the present invention refers to data blocks, alternative implementations of the present invention are also applicable to data sub-blocks.
格納コントローラ100は、ソース・キャッシュ124を含み、そこでは、ソース格納部120に書き込まれる(すなわち、トラックが物理的格納部にデステージされる)まで、ソース格納部120内のトラックへの更新が維持される。格納コントローラ100は、ターゲット・キャッシュ134を含み、そこでは、ターゲット格納部130に書き込まれる(すなわち、トラックが物理的格納部にデステージされる)まで、ターゲット格納部130内のトラックへの更新が維持される。ソース・キャッシュ124及びターゲット・キャッシュ134は、別個の又は同じ格納デバイスの異なるセクションを含むことができる。ソース・キャッシュ124及びターゲット・キャッシュ134は、ホスト140a、b、...l、ソース格納部120、及びターゲット格納部130の間で伝送される読み取りデータ及び書き込みデータをバッファに入れるために用いられる。さらに、キャッシュ124及び134は、ソース・キャッシュ及びターゲット・キャッシュと呼ばれ、ポイント・イン・タイム・コピー関連性にあるソース・データ・ブロック又はターゲット・データ・ブロックを保持するが、これらのキャッシュ124及び134は、異なるポイント・イン・タイム・コピー関連性にあるソース・データ・ブロック及びターゲット・データ・ブロックを同時に格納することができる。
The storage controller 100 includes a
付加的に、格納コントローラ100は、不揮発性キャッシュ118を含む。不揮発性キャッシュ118を、例えばバッテリ・バックアップ式揮発性メモリとし、データ更新の不揮発性コピーを維持することができる。
In addition, the storage controller 100 includes a
格納コントローラ100は、揮発性デバイス及び/又は不揮発性デバイス内に実装することができるシステム・メモリ110をさらに含む。システム・メモリ110は、データを読み取るための読み取り処理112と、データを書き込むための書き込み処理114と、インクリメンタル仮想コピー処理116とを含む。読み取り処理112は、システム・メモリ110において実行され、格納部120からキャッシュ124及び格納部130からキャッシュ134にデータを読み取る。書き込み処理114は、システム・メモリ110において実行され、キャッシュ124から格納部120及びキャッシュ134から格納部130にデータを書き込む。インクリメンタル仮想コピー処理116は、システム・メモリ110において実行され、ソース格納部120からターゲット格納部130にデータを転送するインクリメンタル仮想コピー動作を実行する。本発明の特定の実施においては、多数のインクリメンタル仮想コピー処理がある。本発明の特定の実施においては、格納コントローラ100において実行する代わりに又はそれに加えて、格納コントローラ100に接続された別の格納コントローラにおいて、インクリメンタル仮想コピー処理を実行することもできる。システム・メモリ110は、キャッシュ124及び134とは別個の格納デバイス内にあってもよく、或いはキャッシュ124及び134の一方又は両方と格納デバイスを共有してもよい。
The storage controller 100 further includes a system memory 110 that can be implemented in volatile and / or non-volatile devices. The system memory 110 includes a
参照を簡単にするために、本発明の実施は、本明細書ではソース格納部及びターゲット格納部と呼ばれる、いずれか2つの格納媒体間のデータ転送にも適用可能である。例えば、図1に示されるように、本発明の特定の実施は、単一の格納コントローラに配置された2つの格納媒体と共に用いることができる。さらに、本発明の代替的な特定の実施は、異なる格納コントローラ、異なる物理的サイト等に配置された2つの格納媒体と共に用いることができる。また、参照を簡単にするために、ソース格納部内のデータ・ブロックを「ソース・データ・ブロック」と呼び、ターゲット格納部内のデータ・ブロックを「ターゲット・データ・ブロック」と呼ぶ。 For ease of reference, the implementation of the present invention is also applicable to data transfer between any two storage media, referred to herein as source storage and target storage. For example, as shown in FIG. 1, a particular implementation of the present invention can be used with two storage media located in a single storage controller. Further, alternative specific implementations of the present invention can be used with two storage media located at different storage controllers, different physical sites, and the like. In order to simplify the reference, a data block in the source storage unit is called a “source data block”, and a data block in the target storage unit is called a “target data block”.
特定の実施において、(ターゲット格納部130の代わりに又はこれに加えて)取り外し可能な格納部を用いて、ソース格納部120の全て又はサブセットのコピーを維持することができ、本発明の実施は、データを、ターゲット格納部ではなく取り外し可能な格納部に転送する。取り外し可能な格納部は、格納コントローラ100に常駐することができる。
In certain implementations, removable storage can be used (instead of or in addition to target storage 130) to maintain a copy of all or a subset of
格納コントローラ100は、さらに、プロセッサ複合体(図示せず)を含み、Enterprise Storage Server7(ESS,商標)、39907 Storage Controllerなどの、当該技術分野に知られる、あらゆる格納コントローラ又はサーバを含むことができる。ホスト140a、b...lは、サーバ、メインフレーム、ワークステーション、パーソナル・コンピュータ、手持ち式コンピュータ、ラップトップ型テレフォニー・デバイス、ネットワーク・アプライアンスなどの当該技術分野に知られる、あらゆるコンピューティング・デバイスを含むことができる。格納コントローラ100及びホスト・システム140a、b...1は、格納エリア・ネットワーク(SAN)、ローカル・エリア・ネットワーク(LAN)、広域エリア・ネットワーク(WAN)、インターネット、イントラネットなどを含むことができるネットワーク190を介して通信する。ソース格納部120及びターゲット格納部130は各々、直接アクセス格納デバイス(DASD)、単純ディスク束(JBOD)、新磁気ディスク制御機構アレイ(RAID)、仮想化デバイスなどの格納デバイスのアレイを含むことができる。
The storage controller 100 further includes a processor complex (not shown) and can include any storage controller or server known in the art, such as Enterprise Storage Server 7 (ESS ™), 39907 Storage Controller, etc. .
さらに、図1は単一の格納コントローラを示しているが、当業者であれば、ネットワーク(例えば、ローカル・エリア・ネットワーク(LAN)、広域エリア・ネットワーク(WAN)、インターネット等)を介して多数の格納コントローラを接続することができ、その多数の格納コントローラの1つ又はそれ以上が本発明を実施できることを理解するであろう。 In addition, although FIG. 1 shows a single storage controller, those skilled in the art will recognize many via a network (eg, a local area network (LAN), a wide area network (WAN), the Internet, etc.). It will be appreciated that multiple storage controllers can be connected and that one or more of the multiple storage controllers can implement the present invention.
ホスト140がソース格納部120内のデータ・ブロックを更新することを望むとき、ホスト140は、ソース・キャッシュ124内の格納ブロックにデータを
書き込む。書き込み動作は、ソース・キャッシュ124内の格納ブロックを同期修正し(すなわち、書き込みホスト140は、動作の完了を待つ)、次いで、バックグラウンド処理において、ソース・キャッシュ124のコンテンツが、ソース格納部120に書き込まれる。書き込み動作は、データを更新し、新しいデータを書き込み、又は同じデータを再度書き込むことができる。ソース・キャッシュ124内のデータをソース格納部120に書き込むことは、デステージ動作と呼ばれる。ソース格納部120からソース・キャッシュ124にデータ・ブロックの全て又は一部をコピーするのは、ステージ動作である。同様に、ターゲット格納部130とターゲット・キャッシュ134との間でデータをステージ及びデステージすることができる。さらに、ソース格納部120からターゲット・キャッシュ134にデータをステージすることもできる。
When the host 140 wishes to update a data block in the
図3は、本発明の特定の実施による種々の構造体200、210、及び220を示す。不揮発性キャッシュ118は、ターゲット・コピー構造体200を含む。ターゲット・コピー構造体200を用いて、データを、ソース格納部120からキャッシュ124又はターゲット格納部130からキャッシュ134に取り出すかどうかを判断することができる(すなわち、ステージ動作のために)。さらに、ターゲット・コピー構造体200を用いて、ソース格納部120内のどのデータ・ブロックがターゲット格納部130にコピーされるかを判断することができる。ターゲット・コピー構造体200は、例えば、ボリューム内の各データ・ブロックについてのインジケータ(例えば、1ビット)を含む。インジケータが第1の値(例えば、1)に設定されたとき、その設定は、ステージ動作のために、データ・ブロックがソース格納部120から取り出されるべきであることを示すか、或いはインクリメンタル仮想コピー動作のために、データ・ブロックがターゲット格納部130にコピーされるべきであることを示す。インジケータが第2の値(例えば、ゼロ)に設定された場合、その設定は、ステージ動作のために、データ・ブロックがターゲット格納部130から取り出されるべきであることを示すか、或いはインクリメンタル仮想コピー動作のために、データ・ブロックがソース格納部120からターゲット格納部130にコピーされるべきであることを示す。
FIG. 3 illustrates
インクリメンタル仮想コピー関連性が確立されたソース格納部120のデータの一部内にあるデータ・ブロックの更新を監視するために、ソース変更記録構造体210が使用される。このソース変更記録構造体210は、インクリメンタル仮想コピー関連性の一部である、ソース格納部120内の各データ・ブロックについてのインジケータ(例えば、1ビット)を含む。インジケータが第1の値(例えば、1)に設定された場合、その設定は、最後のインクリメンタル仮想コピー動作以降にデータ・ブロックが更新されたことを示す。インジケータが第2の値(例えば、ゼロ)に設定された場合、その設定は、最後のインクリメンタル仮想コピー動作以降にデータ・ブロックが更新されなかったことを示す。
A source
インクリメンタル仮想コピー関連性が確立された後、ターゲット格納部130内のデータ・ブロックの更新を監視するために、ターゲット変更記録構造体220が使用される。このターゲット変更記録構造体220は、インクリメンタル仮想コピー関連性の一部である、ターゲット格納部130内の各データ・ブロックについてのインジケータ(例えば、ビット)を含む。インジケータが第1の値(例えば、1)に設定された場合、その設定は、最後のインクリメンタル仮想コピー動作以降にデータ・ブロックが更新されたことを示す。インジケータが第2の値(例えばゼロ)に設定された場合、その設定は、最後のインクリメンタル仮想コピー動作以降にデータ・ブロックが更新されなかったことを示す。
After the incremental virtual copy relevance is established, the target
本発明の特定の実施において、各々の構造体200、210、及び220はビットマップを含み、各々のインジケータは、ビットを含む。各々の構造体200、210、及び220においては、第n番目のインジケータは、第n番目のデータ・ブロックに対応する(例えば、各々の構造体200、210、及び220における第1のインジケータは、第1のデータ・ブロックに対応する)。構造体200、210、及び220が、3つの別個の構造体として示されたが、本発明の範囲を逸脱することなく、これらの構造体をいずれの形態で組み合わせてもよい。本発明の特定の実施においては、各ボリュームについて各構造体のコピーが存在する。本発明の特定の代替的な実施においては、全てのボリュームについて各構造体の単一のコピーが存在する。
In a particular implementation of the invention, each
図4は、本発明の特定の実施に従って構造体を更新するための、インクリメンタル仮想コピー処理116において実施される論理を示す。ブロック300において、制御は、インクリメンタル仮想コピー関連性の最初の確立で開始する。インクリメンタル仮想コピー動作がデータの対応する部分の間で行われるとき、ソース格納部120内のデータの1つ又はそれ以上の部分(例えば、ソース・ボリューム)とターゲット格納部130内のデータの対応する部分(例えば、ターゲット・ボリューム)との間で、インクリメンタル仮想コピー関連性が形成される。第1のインクリメンタル仮想コピー動作は、例えば、1つ又はそれ以上のソース・ボリュームを対応するターゲット・ボリュームにコピーすることができる。しかしながら、次のコピーは、インクリメンタル・コピーを作成し、最後の即時仮想コピー動作以降に変更されなかったソース・ボリュームのいずれの部分の再コピーも回避することができる。
FIG. 4 illustrates the logic implemented in the incremental
ブロック310において、インクリメンタル仮想コピー処理116は、ターゲット・コピー構造体200内のインジケータを更新し、ステージ動作のために、インジケータに対応する全てのデータ・ブロックがソース格納部から取り出されるべきであること、及び、インクリメンタル仮想コピー動作又は物理コピー動作のために、全てのデータ・ブロックがソース格納部からターゲット格納部にコピーされるべきであることを示す。本発明の特定の実施においては、ターゲット・コピー構造体200内のインジケータは、1に設定される。
At
ブロック320において、インクリメンタル仮想コピー処理116は、ソース変更記録構造体210内のインジケータを更新し、最後のインクリメンタル仮想コピー動作以降にインジケータに対応するソース・データ・ブロックが更新されなかったことを示す。本発明の特定の実施において、ソース変更記録構造体210内の全てのインジケータがゼロに設定される。ブロック330において、インクリメンタル仮想コピー処理116は、ターゲット変更記録構造体220内のインジケータを更新し、最後のインクリメンタル仮想コピー動作以降にインジケータに対応するターゲット・データ・ブロックが更新されなかったことを示す。本発明の特定の実施において、ターゲット変更記録構造体220内の全てのインジケータが、ゼロに設定される。
In
図5は、本発明の特定の実施に従ってインクリメンタル仮想コピー動作を実行するための、インクリメンタル仮想コピー処理116において実施される論理を示す。ブロック400において、制御は、インクリメンタル仮想コピー動作を受信するインクリメンタル仮想コピー処理116で開始する。ホスト140によってインクリメンタル仮想コピー動作を実行することもできる。図5のフローに図示されていないが、インクリメンタル仮想コピー動作を受信する前に、例えば、ホスト140におけるユーザによって、ソース格納部120及び/又はターゲット格納部130において1つ又はそれ以上のデータ・ブロックを更新することができる。
FIG. 5 illustrates the logic implemented in the incremental
ブロック410において、インクリメンタル仮想コピー処理116は、ソース変更記録構造体210及びターゲット変更記録構造体220内のインジケータを用いて、ターゲット・コピー構造体200内のインジケータを更新する。本発明の特定の実施において、ソース変更記録構造体210は、「OR」演算を用いてターゲット変更記録構造体220と合体され、「OR」演算の結果は、ターゲット・コピー構造体200に「論理和演算」される。
At
ブロック420において、ターゲット・コピー構造体200が更新された後、インクリメンタル仮想コピー処理116は、ソース変更記録構造体210内のインジケータを更新し、最後のインクリメンタル仮想コピー動作以降にソース・データ・ブロックが更新されなかったことを示す。本発明の特定の実施においては、ソース変更記録構造体210内の全てのインジケータがゼロに設定される。ブロック430において、インクリメンタル仮想コピー処理116は、ターゲット変更記録構造体220内のインジケータを更新し、最後のインクリメンタル仮想コピー動作以降にターゲット・データ・ブロックが更新されなかったことを示す。本発明の特定の実施においては、ターゲット変更記録構造体220内の全てのインジケータがゼロに設定される。
After the
図6は、本発明の特定の実施に従って書き込み動作を処理するための、書き込み処理114において実施される論理を示す。ブロック500において、制御は、データ・ブロック書き込み要求を受信する書き込み処理114で開始する。ブロック520において、書き込み処理114が、データ・ブロックがインクリメンタル仮想コピー関連性にあるかどうかを判断する。データ・ブロックがインクリメンタル仮想コピー関連性にある場合には、処理はブロック530に続き、他の場合には、処理はブロック560に続く。ブロック530において、書き込み処理114は、データ・ブロックがターゲット格納部130内にあるかどうかを判断する。データ・ブロックがターゲット格納部130内にある場合には、処理はブロック540に続き、他の場合には、処理はブロック550に続く。
FIG. 6 illustrates the logic performed in the
ブロック540において、ターゲット変更記録構造体220内のデータ・ブロックについてのインジケータが更新され、最後のインクリメンタル仮想コピー動作以降にターゲット・データ・ブロックが変更されたことを示す。本発明の特定の実施においては、ターゲット変更記録構造体220内のインジケータが1に設定される。ブロック550において、ソース変更記録構造体210内のデータ・ブロックについてのインジケータが更新され、最後のインクリメンタル仮想コピー動作以降にソース・データ・ブロックが変更されたことを示す。本発明の特定の実施においては、ソース変更記録構造体210内のインジケータが1に設定される。ブロック560においては、書き込み動作は、書き込み処理114によって実行される。
At
図7は、本発明の特定の実施に従って読み取り動作を処理するための、読み取り処理112において実施される論理を示す。ブロック600において、制御は、データ・ブロック読み取り要求の受信で開始する。ブロック620において、読み取り処理112が、データ・ブロックがインクリメンタル仮想コピー関連性にあるターゲットであるかどうかを判断する。データ・ブロックがインクリメンタル仮想コピー関連性にあるターゲットである場合には、処理はブロック630に続き、他の場合には、処理はブロック660に続く。ブロック630において、読み取り処理は、データ・ブロックについてのインジケータがターゲット・コピー構造体において設定されるかどうかを判断し、そのデータがソース格納部120から読み取られることを示す。データ・ブロックについてのインジケータがターゲット・コピー構造体において設定される場合には、処理はブロック640に続き、他の場合には、処理はブロック650に続く。
FIG. 7 illustrates the logic implemented in the
ブロック640において、読み取り処理112は、ソース格納部120からデータ・ブロックを読み取る(すなわち、ステージする)。ブロック650において、読み取り処理112は、ターゲット格納部130からデータ・ブロックを読み取る(すなわち、ステージする)。ブロック660において、読み取り処理112は、データ・ブロックの通常の読み取りを実行する。
At
図8は、本発明の特定の実施に従ったバックグラウンド・コピー処理を示す。ブロック700において、制御は、データ・ブロックをコピーすべき時であるかどうかの判断で開始する。ブロック710において、データ・ブロックについてのターゲット・コピー構造体内のインジケータが、データ・ブロックがコピーされなかったことを示しているかどうかを判断する。データ・ブロックがコピーされなかったことを示している場合には、処理はブロック730に続き、他の場合には、処理はブロック720に続く。ブロック720において、次のデータ・ブロックを処理することができ、或いは処理される他のデータ・ブロックがない場合には、この論理を終了する。
FIG. 8 illustrates a background copy process according to a particular implementation of the present invention. In
ブロック730において、図7の論理に従ってデータ・ブロックが読み取られる。ブロック740において、データ・ブロックは、ターゲット格納部130にデステージされる。ブロック750において、データ・ブロックのためのターゲット・コピー構造体200内のインジケータが更新され、データ・ブロックがコピーされたことを示す。本発明の特定の実施において、ターゲット・コピー構造体200内のインジケータはゼロに設定される。
At
このように、本発明の特定の実施において、インクリメンタル仮想コピー動作は、書き込み(すなわち、更新)を監視し、即時仮想コピー関係に参加するボリュームのトラックへの変更を記録することによって達成される。最初の即時仮想コピー動作の後、ソース・ボリューム全体をコピーすることなく、ソース・ボリューム又はターゲット・ボリュームのいずれかにおいて更新されたトラックを、ソース・ボリュームからターゲット・ボリュームにコピーすることができる。 Thus, in a specific implementation of the present invention, incremental virtual copy operations are accomplished by monitoring writes (ie, updates) and recording changes to the tracks of the volumes that participate in the immediate virtual copy relationship. After the initial immediate virtual copy operation, tracks updated in either the source volume or the target volume can be copied from the source volume to the target volume without copying the entire source volume.
Enterprise Storage Server、FlashCopy及び3990は、米国及び/又は他の国におけるInternational Business Machines Corporation社の商標又はコモンロー上の商標である。 Enterprise Storage Server, FlashCopy, and 3990 are trademarks of International Business Machines Corporation or common law trademarks in the United States and / or other countries.
付加的な実施の詳細
インクリメンタル仮想コピーのための述べられた技術は、方法、装置、又は製品としてし、ソフトウェア、ファームウェア、ハードウェア、又はこれらのあらゆる組み合わせを生産するための標準的なプログラミング、及び/又は、工学技術を用いて実施することができる。ここで用いる「製品」という用語は、ハードウェア論理(例えば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)において実施されるコード又は論理、又は、磁気格納媒体(例えば、ハードディスク・ドライブ、フロッピィ・ディスク、テープなど)のようなコンピュータ可読媒体、光学格納(CDROM、光ディスクなど)、揮発性及び不揮発性メモリ・デバイス(例えば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラマブル論理など)を指す。コンピュータ可読媒体におけるコードは、さらに、伝送媒体を通して、又は、ネットワーク上のファイル・サーバからアクセス可能とすることができる。このような場合においては、コードが実施される製品は、ネットワーク伝送ライン、ワイヤレス伝送媒体、空気を通って伝搬する信号、無線波、赤外線信号等などの伝送媒体を含むことができる。したがって、「製品」は、コードが具現される媒体を含むことができる。さらに、「製品」は、コードが具現され、処理され、実行されるハードウェア・コンポーネントとソフトウェア・コンポーネントの組み合わせを含むことができる。もちろん、当業者であれば、本発明の範囲から逸脱することなく、多くの修正をこの構成に行うことができ、製品は、当該技術分野に知られる媒体を支持するあらゆる情報を含むことができることを認識するであろう。
Additional Implementation Details The described technique for incremental virtual copying is a standard programming to produce software, firmware, hardware, or any combination thereof, as a method, apparatus, or product, and It can be implemented using engineering techniques. As used herein, the term “product” refers to code or logic implemented in hardware logic (eg, an integrated circuit chip, programmable gate array (PGA), application specific integrated circuit (ASIC), etc.), or magnetic Computer readable media such as storage media (eg, hard disk drive, floppy disk, tape, etc.), optical storage (CDROM, optical disk, etc.), volatile and non-volatile memory devices (eg, EEPROM, ROM, PROM, RAM) , DRAM, SRAM, firmware, programmable logic, etc.). The code on the computer-readable medium may further be accessible through a transmission medium or from a file server on the network. In such a case, the product on which the code is implemented may include transmission media such as network transmission lines, wireless transmission media, signals propagating through the air, radio waves, infrared signals, and the like. Accordingly, the “product” may include a medium in which the code is embodied. Further, a “product” can include a combination of hardware and software components in which code is embodied, processed, and executed. Of course, one of ordinary skill in the art can make many modifications to this configuration without departing from the scope of the present invention, and the product can include any information supporting media known in the art. Will recognize.
図4から図8までの論理は、特定の順番で生じる特定の動作を説明する。代替的な実施においては、特定の論理動作は、異なる順番で実行してもよいし、又は修正或いは除去してもよい。さらに、上述の論理に動作を付加することができ、依然として述べられた実施に適合することができる。さらに、ここに述べられる動作は、順次に生じてもよいし、又は、特定の動作が平行して処理されてもよく、或いは単一の処理によって実行されるものとして説明された動作を分散処理によって実行してもよい。 The logic of FIGS. 4-8 describes specific operations that occur in a specific order. In alternative implementations, certain logic operations may be performed in a different order, or modified or removed. Furthermore, operations can be added to the logic described above and still be compatible with the described implementation. Further, the operations described herein may occur sequentially, or certain operations may be processed in parallel, or operations described as being performed by a single process may be distributed. It may be executed by.
図4から図8までの図示された論理は、ソフトウェア、ハードウェア、プログラマブル及び非プログラマブル・ゲート・アレイ論理、或いはハードウェア、ソフトウェア、又はゲート・アレイ論理のあらゆる組み合わせにおいて実施することができる。 The illustrated logic of FIGS. 4-8 can be implemented in software, hardware, programmable and non-programmable gate array logic, or any combination of hardware, software, or gate array logic.
図9は、本発明の特定の実施に従って用いることができるコンピュータ・システムのアーキテクチャを示す。格納コントローラ100及び/又はホスト140は、コンピュータ・アーキテクチャ800を実装することができる。コンピュータ・アーキテクチャ800は、プロセッサ802(例えば、マイクロプロセッサ)、メモリ804(例えば、揮発性メモリ・デバイス)、及び格納部810(例えば、磁気ディスク・ドライブ、光ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどの不揮発性格納部)を実装することができる。メモリ804において、オペレーティング・システム805を実行することができる。格納部810は、内蔵式格納デバイス、或いは取付け式格納部又はネットワーク・アクセス可能な格納部を含むこともできる。当該技術分野に知られている方法で、格納部810内のコンピュータ・プログラム806をメモリ804に読み込み、プロセッサ802によって実行することができる。アーキテクチャは、ネットワークとの通信を可能にするネットワーク・カード808をさらに含む。プロセッサ802にユーザ入力を提供するために、入力デバイス812が用いられ、この入力デバイス812は、キーボード、マウス、ペン・スタイラス、マイクロフォン、タッチ・センシティブ表示スクリーン、又はあらゆる他の当該技術分野に知られる作動又は入力機構を含むことができる。出力デバイス814は、プロセッサ802又は表示モニタ、プリンタ、格納部などの他のコンポーネントから伝送される情報をレンダリングすることができる。コンピュータ・システムのコンピュータ・アーキテクチャ800は、図示されたものより少ないコンポーネントを含んでもよく、ここに図示されない付加的なコンポーネントを含んでもよく、或いは図示されたコンポーネントと付加的なコンポーネントの何らかの組み合わせを含んでもよい。
FIG. 9 illustrates the architecture of a computer system that can be used in accordance with a particular implementation of the present invention. Storage controller 100 and / or host 140 may implement
コンピュータ・アーキテクチャ800は、メインフレーム、サーバ、パーソナル・コンピュータ、ワークステーション、ラップトップ、手持ち式コンピュータ、テレフォニー・デバイス、ネットワーク・アプライアンス、仮想化デバイス、格納コントローラ等といった当該技術分野に知られている、あらゆるコンピューティング・デバイスを含むことができる。当該技術分野に知られている、あらゆるプロセッサ802及びオペレーティング・システム805を用いることができる。
本発明の実施の上記の説明は、例証及び説明のために与えられたものである。本発明の実施の上記の説明は、網羅的なものであること、本発明を開示された正確な形態に制限することも意図していない。上記の教示に照らして多くの修正及び変形が可能である。本発明の範囲は、この詳細な説明ではなく、ここに添付された特許請求の範囲によって制限されることが意図されている。上記の仕様、例、及びデータは、本発明の構成の製造及び使用を十分に説明するものである。本発明の精神及び範囲から逸脱することなく、本発明の多くの実施を行うことができるので、本発明は、上記の添付の特許請求の範囲内にある。 The above description of implementation of the invention has been given for the purposes of illustration and description. The above description of implementation of the invention is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specifications, examples, and data are sufficient to describe the manufacture and use of the composition of the invention. Since many implementations of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Claims (9)
前記システムは、
1つ又はそれ以上のホスト・コンピュータと、
前記ホスト・コンピュータにネットワークを介して接続される1つ又はそれ以上の格納コントローラと、
前記格納コントローラに接続されうるソース格納部であって、1つ又はそれ以上のソース・データ・ブロックをソース・ボリュームとして含む、前記ソース格納部と、
前記格納コントローラに接続されうるターゲット格納部であって、1つ又はそれ以上のターゲット・データ・ブロックをターゲット・ボリュームとして含み、前記ターゲット・データ・ブロックは、前記ソース・ボリュームの全て又は一部のコピーを維持する、前記ターゲット格納部と
を含み、
前記格納コントローラは、前記ソース格納部又は前記ターゲット格納部への入力又は出力要求を前記ホスト・コンピュータから受け取り、該要求を前記ソース格納部又は前記ターゲット格納部へ向け、さらに前記ソース格納部と前記ターゲット格納部との間のデータ転送を制御し、
前記格納コントローラは、
システム・メモリと、
前記ソース格納部に接続されうるソース・キャッシュであって、前記ソース格納部にデータが書き込まれるまで前記ソース格納部内へのデータ更新が維持される、前記ソース・キャッシュと、
前記ターゲット格納部に接続されうるターゲット・キャッシュであって、前記ターゲット格納部にデータが書き込まれるまで前記ターゲット格納部内へのデータ更新が維持される、前記ターゲット・キャッシュと、
不揮発性キャッシュと
を含み、
前記格納コントローラは、
前記ソース格納部から前記ソース・キャッシュへ及び前記ターゲット格納部から前記ターゲット・キャッシュへデータを読み取るための読み取り処理と、
前記ソース・キャッシュから前記ソース格納部へ及び前記ターゲット・キャッシュから前記ターゲット格納部へデータを書き込むための書き込み処理と、
ソース格納部からターゲット格納部にデータを転送し、仮想コピー動作を実行する仮想コピー処理と
を前記システム・メモリ内に読み込み、そして実行することができ、
前記不揮発性キャッシュは、
ソース変更記録構造体と、
ターゲット変更記録構造体と、
ターゲット・コピー構造体と
を記憶し、
前記ソース変更記録構造体は、前記各ソース・データ・ブロックについての第1のインジケータを含み、前記第1のインジケータは、ソース・データ・ブロックが仮想コピー動作として最後にターゲット格納部に転送されたとき以降に、該ソース・データ・ブロックが更新されたかどうかを示し、
前記ターゲット変更記録構造体は、前記各ターゲット・データ・ブロックについての第2のインジケータを含み、前記第2のインジケータは、ターゲット・データ・ブロックが仮想コピー動作として該ターゲット・データ・ブロックに対応するソース・データ・ブロックによって更新されたとき以降に、該ターゲット・データ・ブロックが更新されたかどうかを示し、
前記ターゲット・コピー構造体は、前記各ターゲット・データ・ブロックについての第3のインジケータを含み、前記第3のインジケータは、仮想コピー動作としてソース・データ・ブロックがターゲット・データ・ブロックに転送されるべきであるかどうかを示し、
前記方法は、前記システムに、仮想コピー動作を可能にするために、
前記ソース格納部の1つ又はそれ以上のソース・ボリュームと前記ターゲット格納部の前記1つ又はそれ以上のソース・ボリュームに対応する1つ又はそれ以上のターゲット格納部のターゲット・ボリュームとの間で仮想コピー関連性を確立するステップと、
前記ソース格納部からソース・データ・ブロックを取り出されるべきこと、及び前記ソース格納部から前記ターゲット格納部に前記ソース・データ・ブロックがコピーされるべきであることを示すように前記第3のインジケータを更新するステップと、
ソース・データ・ブロックが仮想コピー動作として最後にターゲット格納部に転送されたとき以降に、前記ソース・データ・ブロックが更新されなかったことを示すように前記第1のインジケータを更新するステップと、
前記仮想コピー動作として最後にターゲット格納部に転送された以降に、前記ターゲット・データ・ブロックが更新されなかったことを示すように前記第2のインジケータを更新するステップと
を実行させることを含む、前記方法。 In a system for transferring data between a source storage and a target storage, a method for reducing the amount of data transferred,
The system
One or more host computers;
One or more storage controllers connected to the host computer via a network;
A source storage that may be connected to the storage controller, the source storage including one or more source data blocks as a source volume;
A target storage that can be connected to the storage controller, comprising one or more target data blocks as a target volume, the target data blocks being all or part of the source volume Maintaining a copy of the target storage and
Including
The storage controller receives an input or output request to the source storage unit or the target storage unit from the host computer, directs the request to the source storage unit or the target storage unit, and further, the source storage unit and the target storage unit Control data transfer to and from the target store,
The storage controller
System memory,
A source cache that can be connected to the source storage, wherein the data update is maintained in the source storage until data is written to the source storage;
A target cache that can be connected to the target storage, wherein the target cache maintains data updates until data is written to the target storage; and
With non-volatile cache
Including
The storage controller
A read process for reading data from the source store to the source cache and from the target store to the target cache;
A write process for writing data from the source cache to the source storage and from the target cache to the target storage;
A virtual copy process that transfers data from the source storage to the target storage and performs a virtual copy operation;
Can be loaded into the system memory and executed,
The non-volatile cache is
A source change record structure; and
A target change recording structure;
With the target copy structure
Remember
The source change recording structure includes a first indicator for each source data block, the first indicator being last transferred to the target store as a virtual copy operation . since when, indicates whether the source data block has been updated,
The target change recording structure includes a second indicator for each target data block, the second indicator corresponding to the target data block as a virtual copy operation by the target data block . since when it is updated by the source data block, it indicates whether or not the target data block has been updated,
The target copy structure includes a third indicator for each target data block, the third indicator transferring a source data block to the target data block as a virtual copy operation. Whether it should be
The method provides the system with a virtual copy operation.
Between one or more source volumes of the source store and a target volume of one or more target stores corresponding to the one or more source volumes of the target store Establishing a virtual copy relevance;
The third indicator to indicate that a source data block is to be retrieved from the source store and that the source data block is to be copied from the source store to the target store A step of updating
Updating the first indicator to indicate that the source data block has not been updated since the last time the source data block was transferred to the target store as a virtual copy operation;
Since the last transferred to target storage unit as the virtual copy operation, comprising and a step of updating the second indicator to indicate that the target data block has not been updated, Said method.
データ・ブロックへの書き込み要求を受信するステップと、Receiving a write request to a data block;
前記書き込み対象のデータ・ブロックが前記仮想コピー関連性内にあるかどうかを判断するステップと、Determining whether the data block to be written is within the virtual copy association;
前記仮想コピー関連性にある場合に、前記書き込み対象のデータ・ブロックが前記ターゲット格納部内にあるかどうかを判断するステップと、Determining if the data block to be written is in the target storage if it is in the virtual copy relevance;
前記書き込み対象のデータ・ブロックが前記ターゲット格納部内にある場合に、前記第2のインジケータを更新するステップと、Updating the second indicator when the data block to be written is in the target store;
前記前記書き込み対象のデータ・ブロックが前記ターゲット格納部内にない場合に、前記第1のインジケータを更新するステップと、Updating the first indicator if the data block to be written is not in the target store;
前記データ・ブロックへの書き込みを実行するステップとPerforming a write to the data block;
を実行させることを含む、請求項1に記載の方法。The method according to claim 1, further comprising:
データ・ブロックへの読み取り要求を受信するステップと、Receiving a read request for a data block;
前記読み取り対象のデータ・ブロックが前記仮想コピー関連性内にあるかどうかを判断するステップと、Determining whether the data block to be read is within the virtual copy association;
前記仮想コピー関連性にある場合に、前記第3のインジケータが読み取り対象が前記ソース格納部であるべきであることを示すかどうかを判断するステップと、Determining if the third indicator indicates that the read target should be the source store when in the virtual copy relevance;
前記第3のインジケータが読み取り対象が前記ソース格納部であるべきであることを示す場合に、前記ソース格納部からデータ・ブロックを読み取るステップとReading a block of data from the source store if the third indicator indicates that the read target should be the source store;
前記第3のインジケータが読み取り対象が前記ソース格納部であるべきであることを示さない場合に、前記ターゲット格納部からデータ・ブロックを読み取るステップとReading a data block from the target store if the third indicator does not indicate that the read target should be the source store;
を実行させることを含む、請求項1に記載の方法。The method according to claim 1, further comprising:
データ・ブロックをバックグラウンドでコピーすると判断する場合に、If you decide to copy the data block in the background,
前記第3のインジケータがデータ・ブロックがコピーされなかったことを示す場合に、該データ・ブロックを読み取り、前記ターゲット格納部にコピーし、そして前記データ・ブロックがコピーされたことを示すように前記第3のインジケータを更新するステップと、If the third indicator indicates that the data block has not been copied, the data block is read, copied to the target store, and the data block is copied to indicate that the data block has been copied. Updating the third indicator;
前記第3のインジケータがデータ・ブロックがコピーされたことを示す場合に、処理されるべき次のデータ・ブロックがある場合、該次のデータ・ブロックを処理するステップとProcessing the next data block if there is a next data block to be processed if the third indicator indicates that the data block has been copied;
を実行させることを含む、請求項1に記載の方法。The method according to claim 1, further comprising:
1つ又はそれ以上のホスト・コンピュータと、
前記ホスト・コンピュータにネットワークを介して接続される1つ又はそれ以上の格納コントローラと、
前記格納コントローラに接続されうるソース格納部であって、1つ又はそれ以上のソース・データ・ブロックをソース・ボリュームとして含む、前記ソース格納部と、
前記格納コントローラに接続されうるターゲット格納部であって、1つ又はそれ以上のターゲット・データ・ブロックをターゲット・ボリュームとして含み、前記ターゲット・データ・ブロックは、前記ソース・ボリュームの全て又は一部のコピーを維持する、前記ターゲット格納部と
を含み、
前記格納コントローラは、前記ソース格納部又は前記ターゲット格納部への入力又は出力要求を前記ホスト・コンピュータから受け取り、該要求を前記ソース格納部又は前記ターゲット格納部へ向け、さらに前記ソース格納部と前記ターゲット格納部との間のデータ転送を制御し、
前記格納コントローラは、
システム・メモリと、
前記ソース格納部に接続されうるソース・キャッシュであって、前記ソース格納部にデータが書き込まれるまで前記ソース格納部内へのデータ更新が維持される、前記ソース・キャッシュと、
前記ターゲット格納部に接続されうるターゲット・キャッシュであって、前記ターゲット格納部にデータが書き込まれるまで前記ターゲット格納部内へのデータ更新が維持される、前記ターゲット・キャッシュと、
不揮発性キャッシュと
を含み、
前記格納コントローラは、
前記ソース格納部から前記ソース・キャッシュへ及び前記ターゲット格納部から前記ターゲット・キャッシュへデータを読み取るための読み取り処理と、
前記ソース・キャッシュから前記ソース格納部へ及び前記ターゲット・キャッシュから前記ターゲット格納部へデータを書き込むための書き込み処理と、
ソース格納部からターゲット格納部にデータを転送し、仮想コピー動作を実行する仮想コピー処理と
を前記システム・メモリ内に読み込み、そして実行することができ、
前記不揮発性キャッシュは、
ソース変更記録構造体と、
ターゲット変更記録構造体と、
ターゲット・コピー構造体と
を記憶し、
前記ソース変更記録構造体は、前記各ソース・データ・ブロックについての第1のインジケータを含み、前記第1のインジケータは、ソース・データ・ブロックが仮想コピー動作として最後にターゲット格納部に転送されたとき以降に、該ソース・データ・ブロックが更新されたかどうかを示し、
前記ターゲット変更記録構造体は、前記各ターゲット・データ・ブロックについての第2のインジケータを含み、前記第2のインジケータは、ターゲット・データ・ブロックが仮想コピー動作として該ターゲット・データ・ブロックに対応するソース・データ・ブロックによって更新されたとき以降に、該ターゲット・データ・ブロックが更新されたかどうかを示し、
前記ターゲット・コピー構造体は、前記各ターゲット・データ・ブロックについての第3のインジケータを含み、前記第3のインジケータは、仮想コピー動作としてソース・データ・ブロックがターゲット・データ・ブロックに転送されるべきであるかどうかを示し、
前記システムは、仮想コピー動作を可能にするために、
前記ソース格納部の1つ又はそれ以上のソース・ボリュームと前記ターゲット格納部の前記1つ又はそれ以上のソース・ボリュームに対応する1つ又はそれ以上のターゲット格納部のターゲット・ボリューム間で仮想コピー関連性を確立し、
前記ソース格納部からソース・データ・ブロックを取り出されるべきこと、及び前記ソース格納部から前記ターゲット格納部に前記ソース・データ・ブロックがコピーされるべきであることを示すように前記第3のインジケータを更新し、
ソース・データ・ブロックが仮想コピー動作として最後にターゲット格納部に転送されたとき以降に、前記ソース・データ・ブロックが更新されなかったことを示すように前記第1のインジケータを更新し、
前記仮想コピー動作として最後にターゲット格納部に転送された以降に、前記ターゲット・データ・ブロックが更新されなかったことを示すように前記第2のインジケータを更新する、
前記システム。 A system for transferring data between a source store and a target store,
One or more host computers;
One or more storage controllers connected to the host computer via a network;
A source storage that may be connected to the storage controller, the source storage including one or more source data blocks as a source volume;
A target storage that can be connected to the storage controller, comprising one or more target data blocks as a target volume, the target data blocks being all or part of the source volume Maintaining a copy of the target storage and
Including
The storage controller receives an input or output request to the source storage unit or the target storage unit from the host computer, directs the request to the source storage unit or the target storage unit, and further, the source storage unit and the target storage unit Control data transfer to and from the target store,
The storage controller
System memory,
A source cache that can be connected to the source storage, wherein the data update is maintained in the source storage until data is written to the source storage;
A target cache that can be connected to the target storage, wherein the target cache maintains data updates until data is written to the target storage; and
With non-volatile cache
Including
The storage controller
A read process for reading data from the source store to the source cache and from the target store to the target cache;
A write process for writing data from the source cache to the source storage and from the target cache to the target storage;
A virtual copy process that transfers data from the source storage to the target storage and performs a virtual copy operation;
Can be loaded into the system memory and executed,
The non-volatile cache is
A source change record structure; and
A target change recording structure;
With the target copy structure
Remember
The source change recording structure includes a first indicator for each source data block, the first indicator being last transferred to the target store as a virtual copy operation . since when, indicates whether the source data block has been updated,
The target change recording structure includes a second indicator for each target data block, the second indicator corresponding to the target data block as a virtual copy operation by the target data block . since when it is updated by the source data block, it indicates whether or not the target data block has been updated,
The target copy structure includes a third indicator for each target data block, the third indicator transferring a source data block to the target data block as a virtual copy operation. Whether it should be
In order to enable the virtual copy operation, the system
Virtual copy between one or more source volumes of the source storage and target volumes of one or more target storages corresponding to the one or more source volumes of the target storage Establish relevance,
The third indicator to indicate that a source data block is to be retrieved from the source store and that the source data block is to be copied from the source store to the target store Update
Updating the first indicator to indicate that the source data block has not been updated since the last time the source data block was transferred to the target store as a virtual copy operation;
Updating the second indicator to indicate that the target data block has not been updated since it was last transferred to the target store as the virtual copy operation;
Said system.
前記書き込み対象のデータ・ブロックが前記仮想コピー関連性内にあるかどうかを判断し、Determining whether the data block to be written is within the virtual copy association;
前記仮想コピー関連性にある場合に、前記書き込み対象のデータ・ブロックが前記ターゲット格納部内にあるかどうかを判断し、If it is in the virtual copy relationship, determine whether the data block to be written is in the target storage;
前記書き込み対象のデータ・ブロックが前記ターゲット格納部内にある場合に、前記第2のインジケータを更新し、Updating the second indicator when the data block to be written is in the target store;
前記前記書き込み対象のデータ・ブロックが前記ターゲット格納部内にない場合に、前記第1のインジケータを更新し、Updating the first indicator if the data block to be written is not in the target store;
前記データ・ブロックへの書き込みを実行する、Performing a write to the data block;
請求項5に記載のシステム。The system according to claim 5.
前記読み取り対象のデータ・ブロックが前記仮想コピー関連性内にあるかどうかを判断し、Determining whether the data block to be read is within the virtual copy association;
前記仮想コピー関連性にある場合に、前記第3のインジケータが読み取り対象が前記ソース格納部であるべきであることを示すかどうかを判断し、If in the virtual copy relevance, determine whether the third indicator indicates that the read target should be the source store;
前記第3のインジケータが読み取り対象が前記ソース格納部であるべきであることを示す場合に、前記ソース格納部からデータ・ブロックを読み取りRead a data block from the source store when the third indicator indicates that the read target should be the source store
前記第3のインジケータが読み取り対象が前記ソース格納部であるべきであることを示さない場合に、前記ターゲット格納部からデータ・ブロックを読み取る、Reads a block of data from the target store if the third indicator does not indicate that the read target should be the source store;
請求項5に記載のシステム。The system according to claim 5.
前記第3のインジケータがデータ・ブロックがコピーされなかったことを示す場合に、該データ・ブロックを読み取り、前記ターゲット格納部にコピーし、そして前記データ・ブロックがコピーされたことを示すように前記第3のインジケータを更新し、If the third indicator indicates that the data block has not been copied, the data block is read, copied to the target store, and the data block is copied to indicate that the data block has been copied. Update the third indicator,
前記第3のインジケータがデータ・ブロックがコピーされたことを示す場合に、処理されるべき次のデータ・ブロックがある場合、該次のデータ・ブロックを処理する、If there is a next data block to be processed when the third indicator indicates that the data block has been copied, process the next data block;
請求項5に記載のシステム。The system according to claim 5.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/465,118 US6996586B2 (en) | 2003-06-18 | 2003-06-18 | Method, system, and article for incremental virtual copy of a data block |
PCT/EP2004/051044 WO2004114136A2 (en) | 2003-06-18 | 2004-06-11 | Method, system, and program for incremental virtual copy |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006527873A JP2006527873A (en) | 2006-12-07 |
JP2006527873A5 JP2006527873A5 (en) | 2009-06-18 |
JP4398463B2 true JP4398463B2 (en) | 2010-01-13 |
Family
ID=33517438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006516135A Expired - Fee Related JP4398463B2 (en) | 2003-06-18 | 2004-06-11 | Method, system, and program for incremental virtual copy |
Country Status (8)
Country | Link |
---|---|
US (1) | US6996586B2 (en) |
EP (1) | EP1634173B1 (en) |
JP (1) | JP4398463B2 (en) |
CN (1) | CN100356336C (en) |
AT (1) | ATE338303T1 (en) |
DE (1) | DE602004002216T2 (en) |
TW (1) | TWI289749B (en) |
WO (1) | WO2004114136A2 (en) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7000145B2 (en) * | 2003-06-18 | 2006-02-14 | International Business Machines Corporation | Method, system, and program for reverse restore of an incremental virtual copy |
US7467266B2 (en) * | 2003-08-05 | 2008-12-16 | International Business Machines Corporation | Snapshot management method apparatus and system |
US7277997B2 (en) * | 2004-03-16 | 2007-10-02 | International Business Machines Corporation | Data consistency for mirroring updatable source data storage |
US7409510B2 (en) * | 2004-05-27 | 2008-08-05 | International Business Machines Corporation | Instant virtual copy to a primary mirroring portion of data |
US7461100B2 (en) * | 2004-05-27 | 2008-12-02 | International Business Machines Corporation | Method for fast reverse restore |
US7346733B2 (en) | 2004-09-09 | 2008-03-18 | Hitachi, Ltd. | Storage apparatus, system and method using a plurality of object-based storage devices |
JP2006164162A (en) | 2004-12-10 | 2006-06-22 | Fujitsu Ltd | Copy control device and method |
US7415488B1 (en) * | 2004-12-31 | 2008-08-19 | Symantec Operating Corporation | System and method for redundant storage consistency recovery |
US7617259B1 (en) * | 2004-12-31 | 2009-11-10 | Symantec Operating Corporation | System and method for managing redundant storage consistency at a file system level |
US7617260B2 (en) * | 2005-11-10 | 2009-11-10 | International Business Machines Corporation | Data set version counting in a mixed local storage and remote storage environment |
US20090313428A1 (en) * | 2006-09-25 | 2009-12-17 | Intellimagic | Optimising Remote Mirroring Resynchronisation |
US7587564B2 (en) * | 2006-09-26 | 2009-09-08 | International Business Machines Corporation | System, method and computer program product for managing data versions |
CN101589386B (en) * | 2006-12-04 | 2013-03-27 | 桑迪士克Il有限公司 | Incremental transparent file updating |
US8589341B2 (en) * | 2006-12-04 | 2013-11-19 | Sandisk Il Ltd. | Incremental transparent file updating |
US7865473B2 (en) * | 2007-04-02 | 2011-01-04 | International Business Machines Corporation | Generating and indicating incremental backup copies from virtual copies of a data set |
US8250323B2 (en) * | 2007-12-06 | 2012-08-21 | International Business Machines Corporation | Determining whether to use a repository to store data updated during a resynchronization |
JP5425922B2 (en) | 2008-10-30 | 2014-02-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system, and computer program for performing data writing on a storage device |
WO2011007459A1 (en) * | 2009-07-17 | 2011-01-20 | 株式会社日立製作所 | Storage device and method of controlling same |
JP5290938B2 (en) * | 2009-11-18 | 2013-09-18 | 富士通株式会社 | Copy control apparatus and method |
US8694745B2 (en) * | 2010-09-15 | 2014-04-08 | Symantec Corporation | Physical to virtual disks creation (P2V) method, by harvesting data from critical sectors |
US8433870B2 (en) | 2010-10-12 | 2013-04-30 | International Business Machines Corporation | Multiple incremental virtual copies |
US9218255B2 (en) * | 2012-08-27 | 2015-12-22 | International Business Machines Corporation | Multi-volume instant virtual copy freeze |
US9116852B2 (en) | 2012-10-16 | 2015-08-25 | International Business Machines Corporation | Processing a copy command directed to a first storage architecture for data that is stored in a second storage architecture |
US9135121B2 (en) | 2012-10-16 | 2015-09-15 | International Business Machines Corporation | Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses |
US9405704B2 (en) * | 2012-10-16 | 2016-08-02 | International Business Machines Corporation | Establishing a point-in-time copy relationship between source logical addresses and target logical addresses |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
US9589008B2 (en) | 2013-01-10 | 2017-03-07 | Pure Storage, Inc. | Deduplication of volume regions |
US9389799B2 (en) | 2013-05-22 | 2016-07-12 | International Business Machines Corporation | Parallel processes for performing multiple incremental copies |
CN103870544A (en) * | 2014-02-25 | 2014-06-18 | 小米科技有限责任公司 | Method and device for virtually operating file, and electronic equipment |
US9600203B2 (en) | 2014-03-11 | 2017-03-21 | Amazon Technologies, Inc. | Reducing data volume durability state for block-based storage |
US9720620B1 (en) | 2014-03-11 | 2017-08-01 | Amazon Technologies, Inc. | Efficient data volume replication for block-based storage |
US10007602B2 (en) | 2014-05-06 | 2018-06-26 | International Business Machines Corporation | Flash copy relationship management |
DK2996025T3 (en) * | 2014-09-11 | 2018-06-18 | Datadobi Cvba | Data migration tool with intermediate incremental copies |
US10108352B2 (en) * | 2015-03-03 | 2018-10-23 | International Business Machines Corporation | Incremental replication of a source data set |
US9607062B1 (en) * | 2015-11-19 | 2017-03-28 | International Business Machines Corporation | Data locality in data integration applications |
CN106406763A (en) * | 2016-09-21 | 2017-02-15 | 郑州云海信息技术有限公司 | A background copy method and device |
US11223528B2 (en) * | 2017-01-27 | 2022-01-11 | Box. Inc. | Management of cloud-based shared content using predictive cost modeling |
CN109522152B (en) * | 2018-09-06 | 2021-05-14 | 清华大学 | Disaster recovery method, storage medium and device for electron microscope data |
CN111143115A (en) * | 2018-11-05 | 2020-05-12 | 中国移动通信集团云南有限公司 | Remote disaster recovery method and device based on backup data |
TWI768478B (en) * | 2020-09-25 | 2022-06-21 | 宏碁股份有限公司 | Electronic device and method and for adaptively arranging external hardware resources |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH076530B2 (en) * | 1986-09-27 | 1995-01-30 | 日立建機株式会社 | Hydraulic circuit of hydraulic excavator |
JP2778786B2 (en) * | 1990-03-02 | 1998-07-23 | 富士通株式会社 | Data update / restoration processing method |
US5463765A (en) * | 1993-03-18 | 1995-10-31 | Hitachi, Ltd. | Disk array system, data writing method thereof, and fault recovering method |
JP3583829B2 (en) * | 1995-04-13 | 2004-11-04 | 株式会社日立製作所 | Control method and control device for external storage subsystem |
US6092066A (en) | 1996-05-31 | 2000-07-18 | Emc Corporation | Method and apparatus for independent operation of a remote data facility |
US20020156966A1 (en) * | 2001-04-20 | 2002-10-24 | Ward Alan R. | Dual port RAM with automatic write indicators |
GB0227786D0 (en) | 2002-11-29 | 2003-01-08 | Ibm | Improved remote copy synchronization in disaster recovery computer systems |
-
2003
- 2003-06-18 US US10/465,118 patent/US6996586B2/en not_active Expired - Fee Related
-
2004
- 2004-06-10 TW TW093116708A patent/TWI289749B/en not_active IP Right Cessation
- 2004-06-11 DE DE602004002216T patent/DE602004002216T2/en not_active Expired - Lifetime
- 2004-06-11 AT AT04766037T patent/ATE338303T1/en not_active IP Right Cessation
- 2004-06-11 CN CNB2004800127416A patent/CN100356336C/en not_active Expired - Fee Related
- 2004-06-11 JP JP2006516135A patent/JP4398463B2/en not_active Expired - Fee Related
- 2004-06-11 EP EP04766037A patent/EP1634173B1/en not_active Expired - Lifetime
- 2004-06-11 WO PCT/EP2004/051044 patent/WO2004114136A2/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20040260898A1 (en) | 2004-12-23 |
DE602004002216T2 (en) | 2007-07-26 |
TWI289749B (en) | 2007-11-11 |
JP2006527873A (en) | 2006-12-07 |
ATE338303T1 (en) | 2006-09-15 |
CN1788256A (en) | 2006-06-14 |
EP1634173A2 (en) | 2006-03-15 |
WO2004114136A3 (en) | 2005-05-26 |
US6996586B2 (en) | 2006-02-07 |
CN100356336C (en) | 2007-12-19 |
TW200513845A (en) | 2005-04-16 |
DE602004002216D1 (en) | 2006-10-12 |
EP1634173B1 (en) | 2006-08-30 |
WO2004114136A2 (en) | 2004-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4398463B2 (en) | Method, system, and program for incremental virtual copy | |
US7000145B2 (en) | Method, system, and program for reverse restore of an incremental virtual copy | |
US8429363B2 (en) | Multiple incremental virtual copies | |
US7409510B2 (en) | Instant virtual copy to a primary mirroring portion of data | |
US6611901B1 (en) | Method, system, and program for maintaining electronic data as of a point-in-time | |
JP4701007B2 (en) | Fast reverse restore | |
US7587564B2 (en) | System, method and computer program product for managing data versions | |
US7055009B2 (en) | Method, system, and program for establishing and maintaining a point-in-time copy | |
US8825975B2 (en) | Caching source blocks of data for target blocks of data | |
US7024530B2 (en) | Method, system, and program for establishing and using a point-in-time copy relationship | |
US7133983B2 (en) | Method, system, and program for asynchronous copy | |
JP4681247B2 (en) | Disk array device and disk array device control method | |
JP2004127294A (en) | Virtual storage system and its operation method | |
US7124323B2 (en) | Method, system, and program for recovery of a reverse restore operation | |
JP4398464B2 (en) | System, method, and program for managing point-in-time copy relationships between one target volume and one source volume | |
US7650476B2 (en) | System, method and computer program product for generating a consistent point in time copy of data | |
US20060015696A1 (en) | Integrated storage device | |
US8095755B2 (en) | System, method and computer program product for generating a consistent point in time copy of data | |
US7047378B2 (en) | Method, system, and program for managing information on relationships between target volumes and source volumes when performing adding, withdrawing, and disaster recovery operations for the relationships | |
JP2005352821A (en) | Method, system and program for managing information related to relationship between target volume and source volume when executing additional operation, withdrawal operation and disaster recovery operation with respect to relationship |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20060214 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070605 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070605 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090421 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20090421 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20090521 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090724 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090724 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20090724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090727 |
|
TRDD | Decision of grant or rejection written | ||
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20091016 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20091016 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091016 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091022 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131030 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |