JP2006527873A - インクリメンタル仮想コピーのための方法、システム、及びプログラム - Google Patents

インクリメンタル仮想コピーのための方法、システム、及びプログラム Download PDF

Info

Publication number
JP2006527873A
JP2006527873A JP2006516135A JP2006516135A JP2006527873A JP 2006527873 A JP2006527873 A JP 2006527873A JP 2006516135 A JP2006516135 A JP 2006516135A JP 2006516135 A JP2006516135 A JP 2006516135A JP 2006527873 A JP2006527873 A JP 2006527873A
Authority
JP
Japan
Prior art keywords
data block
target
source
indicator
store
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.)
Granted
Application number
JP2006516135A
Other languages
English (en)
Other versions
JP2006527873A5 (ja
JP4398463B2 (ja
Inventor
スタンリー、ウォーレン
ミッカ、ウィリアム、フランク
ワーナー、サム、クラーク
タル、シベン
スピア、ゲイル、アンドレア
ブラウン、テレサ、メアリー
サンチェス、マシュー
ラハブ、シェリ
ジャービス、トーマス、チャールズ
ハヤルデニ、アミラン
ツァフリル、ダリット
フィエンブリット、シャカール
モトセビク、リブカ、メイラズ
シュケビク、スベトラナ
ヌリエル、イファット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006527873A publication Critical patent/JP2006527873A/ja
Publication of JP2006527873A5 publication Critical patent/JP2006527873A5/ja
Application granted granted Critical
Publication of JP4398463B2 publication Critical patent/JP4398463B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version 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

【課題】 インクリメンタル仮想コピーのための方法、システム、及びプログラムを提供すること。
【解決手段】 転送されるデータの量を減少させるための技術が開示される。ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータを維持する。ターゲット・データ・ブロックが対応するソース・データ・ブロックによって上書きされたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されたかどうかを示す、各ターゲット・データ・ブロックについての第2のインジケータを維持する。ソース格納部からターゲット格納部にデータを転送する時に、ソース・データ・ブロックが更新されたことを示すように第1のインジケータが設定された、各ソース・データ・ブロックが転送され、ターゲット・データ・ブロックが更新されたことを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックが転送される。

Description

本発明は、インクリメンタル仮想コピーに向けられる。
コンピューティング・システムは、多くの場合、データ処理を行い、アプリケーション・プログラムを稼動させるための1つ又はそれ以上のホスト・コンピュータ(「ホスト」)、データを格納する直接アクセス型格納デバイス(DASD)、及び、該ホストと該DASDとの間のデータ転送を制御するための格納コントローラを含む。コントロール・ユニット又は格納ディレクタとも呼ばれる格納コントローラは、ループ・アーキテクチャにおいて接続される幾多のハードディスク・ドライブで構成された格納スペースに対するアクセスを管理し、他の場合においては直接アクセス型格納デバイス(DASD)と呼ばれる。ホストは、格納コントローラを通して、格納スペースに対する入力/出力(I/O)要求を通信することができる。
多くのシステムにおいて、DASDのような1つの格納デバイス上のデータを同じ又は別の格納デバイスにコピーして、データ・ボリュームに対するアクセスを2つの異なるデバイスから与えるようにすることができる。ポイント・イン・タイム・コピーは、全てのデータをソース・ボリュームからターゲット・ボリュームに物理的にコピーして、該ターゲット・ボリュームがポイント・イン・タイム時点のデータのコピーを有するようにすることを含む。ポイント・イン・タイム・コピーは、さらに、論理的にデータのコピーを作成し、次いで、必要な時にデータをさらにコピー・オバーするだけで、事実上、物理的なコピー動作を遅らせることができる。この論理的コピー動作が行われると、ターゲット・ボリューム及びソース・ボリュームがアクセス不能になる時間を最小にすることができる。
多数の直接アクセス格納デバイス(DASD)サブシステムが、「高速複製機能」とも呼ばれる「即時仮想コピー」動作を行うことができる。即時仮想コピー動作は、関連性テーブルのようなメタデータ又はポインタを修正し、ソース・データ・オブジェクトをオリジナル及びコピーの両方として扱うことによって行われる。ホストのコピー要求に応答して、格納サブシステムは、如何なるデータの物理的コピーも作成することなく、直ちにコピーの作成を報告する。「仮想」コピーだけが作成され、付加的な物理的コピーの不存在は、ホストには全く知られない。
後に格納システムがオリジナル又はコピーの更新を受信すると、更新が別個に格納され、更新されたデータ・オブジェクトに対して相互参照が行われるだけである。この時点で、オリジナルのデータ・オブジェクトとコピーのデータ・オブジェクトの分化が始まる。最初の利点は、即時仮想コピーが殆ど瞬間的に行われ、通常の物理コピー動作よりもずっと速く完了するという点である。このことにより、ホスト及び格納サブシステムが解放され、他のタスクを実行することが可能になる。ホスト又は格納サブシステムは、バックグラウンド処理において又は別の機会に、オリジナルのデータ・オブジェクトの実際の物理的コピーを作成することさえ可能である。
1つのこのような即時仮想コピー動作は、FlashCopy(商標)動作として知られている。FlashCopy(商標)動作は、同じ又は異なるデバイス上のソース・ボリュームとターゲット・ボリュームとの間の論理的ポイント・イン・タイム関連性を確立することを含む。FlashCopy(商標)動作は、ターゲット・ディスク上におけるFlashCopy(商標)関連性内のトラックの位置が固められるまで、該トラックがソース・ディスク上に常駐することを保証する。関連性テーブルを用いて、サブシステムにおける全ての既存のFlashCopy(商標)関連性についての情報を維持する。FlashCopy(商標)関連性の確立段階においては、1つのエントリが、確立されているFlashCopy(商標)に参加するソース及びターゲットについて、ソース及びターゲットの関連性テーブルに記録される。各々の付加されたエントリは、FlashCopy(商標)関連性に関する、全ての要求される情報を維持する。関連性についての両方のエントリは、ソース領域からの全てのFlashCopy(商標)トラックがターゲット領域に物理的にコピーされるか、又は、取下げコマンドが受信された場合に、関連性テーブルから除去される。場合によっては、全てのトラックがソース領域からターゲット領域にコピーされても、関連性は持続する。
ターゲットの関連性テーブルは、さらに、FlashCopy(商標)関連性に含まれるどのトラックが、まだコピーされておらず、したがって、保護トラックであるかを識別するビットマップを含む。ターゲット・デバイスにおける各々のトラックは、ビットマップにおいて1ビットで表される。ターゲット・ビットは、対応するトラックがFlashCopy(商標)関連性のターゲット・トラックとして確立された場合に設定される。ソース又はターゲット・デバイス上への書き込み又はバックグラウンドのコピー・タスクのために、対応するトラックがソース位置からコピーされ、ターゲット・デバイスにデステージされた場合に、ターゲット・ビットが再設定される。
従来技術においては、FlashCopy(商標)動作中の論理的なポイント・イン・タイム関連性の確立の一部として、FlashCopy(商標)関連性に含まれるソース・キャッシュ内の全てのトラックは、物理的なソース・ボリューム、例えば、ソースDASDにデステージしなければならず、FlashCopy(商標)に含まれるターゲット・キャッシュ内の全てのトラックは廃棄されなければならない。
論理的関連性が確立されると、ホストは、次いで、ソース・ボリューム及びターゲット・ボリューム上のデータに即時アクセスすることができ、該データは、バックグラウンド動作の一部としてコピーされ得る。トラックがFlashCopy(商標)関連性におけるターゲットであり、キャッシュにはない場合における該トラックに対する読み取りは、ステージ・インターセプトをトリガし、ソース・トラックがまだコピーされておらず、ターゲット・キャッシュからトラックにアクセスが与えられる前である場合に、要求されたターゲット・トラックに対応するソース・トラックが、ターゲット・キャッシュにステージされるようにする。このことは、ターゲットが、FlashCopy(商標)動作のポイント・イン・タイムにおいて存在したソースからのコピーを有することを確実にする。さらに、コピー・オバーされていないソース・デバイス上のトラックに対するどのような書き込みも、デステージ・インターセプトをトリガし、ソース・デバイス上のトラックが、ターゲット・デバイスにコピーされるようにする。
即時仮想コピー技術は、フォアグラウンド処理を中断又は減速することなく、データの複製コピーを迅速に(少なくとも部分的に)作成するために開発されたものである。FlashCopy(商標)動作のような即時仮想コピー技術は、ポイント・イン・タイムのコピー・ツールを提供する。即時仮想コピー技術は、例えば、データ・バックアップ、データ・マイグレーション、データ・マイニング、試験等を含む種々の用途に用いることができる。例えば、ソース・データの物理的「バックアップ」コピーの作成に即時仮想コピー技術を用い、障害回復を助けることができる。
即時仮想コピー技術は大量のデータのコピーに対して有用であるが、従来型の即時仮想コピー技術を改善することもできる。特に、当該技術分野において、大量のデータを物理的にコピーすることを回避する、改善された即時仮想コピー技術に対する必要性が存在する。
第1の側面において、本発明は、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータを維持するステップと、ターゲット・データ・ブロックが対応するソース・データ・ブロックによって上書きされたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されたかどうかを示す、ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータを維持するステップと、ソース格納部からターゲット格納部にデータを転送する時に、ソース・データ・ブロックが更新されたことを示すように第1のインジケータが設定された、各ソース・データ・ブロックを転送し、かつ、ターゲット・データ・ブロックが更新されたことを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックを転送するステップとを含む、転送されるデータ量を減少させる方法を提供する。
本方法は、ステージ動作のために、対応するソース・データ・ブロック又はターゲット・データ・ブロックが取り出されるべきかどうかを示す、各ターゲット・データ・ブロックについての第3のインジケータを維持するステップをさらに含むことが好ましい。
本方法は、ソース・データ・ブロックがターゲット格納部にコピーされた時に、ターゲット・データ・ブロックについての第3のインジケータを更新するステップをさらに含むことが好ましい。
本方法は、インクリメンタル仮想コピー動作を受信するステップと、ソース・データ・ブロックについての第1のインジケータ及び該ソース・データ・ブロックに対応するターゲット・データ・ブロックについての第2のインジケータに基づいて、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含み、ここで、ソース格納部からターゲット格納部にデータを転送することは、ソース・データ・ブロックがターゲット格納部に転送されるべきであることを第3のインジケータが示している、各ソース・データ・ブロックを転送することを含むことが好ましい。
本方法は、インクリメンタル仮想コピー関連性を確立した後、ステージ動作のために、ターゲット・データ・ブロックに対応するソース・データ・ブロックがソース格納部から取り出されるべきであることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップをさらに含むことが好ましい。
本方法は、ソース格納部からターゲット格納部にデータを転送した後、該ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されなかったことを示すように、各ソース・ブロックについての第1のインジケータを更新するステップさらに含むことが好ましい。
本方法は、ソース格納部からターゲット格納部にデータを転送した後、該ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するステップとをさらに含むことが好ましい。
各ソース・データ・ブロック及び各ターゲット・データ・ブロックは、あるボリュームのトラックを含むことが好ましい。
各ソース・データ・ブロック及び各ターゲット・データ・ブロックは、あるボリュームのセクタを含むことが好ましい。
本方法は、データのソース部分とデータのターゲット部分との間でインクリメンタル仮想コピー動作を行うことによって、データのソース部分とデータのターゲット部分との間にインクリメンタル仮想コピー関連性を形成するステップをさらに含み、ここで、インクリメンタル仮想コピー関連性において、データのソース部分内の各ソース・データ・ブロックについての第1のインジケータ及びデータのターゲット部分内の各ターゲット・データ・ブロックについての第2のインジケータが維持される。
本方法は、ソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての第1のインジケータを更新するステップと、ターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するステップと、ソース・データ・ブロックをターゲット格納部に転送する必要があることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含むことが好ましい。
本方法は、ソース・データ・ブロックが更新された時に、ソース・データ・ブロックが更新されたことを示すように、ソース・データ・ブロックについての第1のインジケータを更新するステップをさらに含むことが好ましい。
本方法は、ターゲット・データ・ブロックが更新された時に、ターゲット・データ・ブロックが更新されたことを示すように、ターゲット・データ・ブロックについての第2のインジケータを更新するステップをさらに含むことが好ましい。
同様に、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータを維持するステップと、対応するソース・データ・ブロックによってターゲット・データ・ブロックが上書きされたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されたかどうかを示す、ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータを維持するステップと、ソース格納部からターゲット格納部にデータを転送する時に、ソース・データ・ブロックが更新されたかどうかを示すように第1のインジケータが設定された、各ソース・データ・ブロックを転送するステップと、ターゲット・データ・ブロックが更新されたかどうかを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックを転送するステップとを含む動作が行われる、転送されるデータ量を減少させるための製品を提供することもできる。
本製品は、ステージ動作のために、対応するソース・データ・ブロック又はターゲット・データ・ブロックが取り出されるべきかどうかを示す、各ターゲット・データ・ブロックについての第3のインジケータを維持するステップをさらに含む動作を行うことが好ましい。
本製品は、ソース・データ・ブロックがターゲット格納部にコピーされた時に、ターゲット・データ・ブロックについての第3のインジケータを更新するステップを含むことが好ましい。
本製品は、インクリメンタル仮想コピー動作を受信するステップと、ソース・データ・ブロックについての第1のインジケータ及びソース・データ・ブロックに対応するターゲット・データ・ブロックについての第2のインジケータに基づいて、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含むことが好ましく、ここで、ソース格納部からターゲット格納部にデータを転送することは、ソース・データ・ブロックがターゲット格納部に転送されるべきであることを第3のインジケータが示している、各ソース・データ・ブロックを転送することを含む。
本製品は、インクリメンタル仮想コピー関連性を確立した後、ステージ動作のために、ターゲット・データ・ブロックに対応するソース・データ・ブロックがソース格納部から取り出されるべきであることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップを含むことが好ましい。
本製品は、ソース格納部からターゲット格納部にデータを転送した後、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されなかったことを示すように、各ソース・ブロックについての第1のインジケータを更新するステップを含むことが好ましい。
本製品は、ソース格納部からターゲット格納部にデータを転送した後、ターゲット・データ・ブロックが最後にターゲット格納部に転送されたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するステップを含むことが好ましい。
各ソース・データ・ブロック及び各ターゲット・データ・ブロックが、あるボリュームのトラックを含むことが好ましい。
各ソース・データ・ブロック及び各ターゲット・データ・ブロックが、あるボリュームのセクタを含むことが好ましい。
本製品は、データのソース部分とデータのターゲット部分との間でインクリメンタル仮想コピー動作を行うことによって、データのソース部分とデータのターゲット部分との間にインクリメンタル仮想コピー関連性を形成するステップを含むことが好ましく、ここで、インクリメンタル仮想コピー関連性において、データのソース部分内の各ソース・データ・ブロックについての第1のインジケータ及びデータのターゲット部分内の各ターゲット・データ・ブロックについての第2のインジケータが維持される。
本製品は、ソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての第1のインジケータを更新するステップと、ターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するステップと、ソース・データ・ブロックをターゲット格納部に転送する必要があることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含むことが好ましい。
本製品は、ソース・データ・ブロックが更新された時に、ソース・データ・ブロックが更新されたことを示すように、ソース・データ・ブロックについての第1のインジケータを更新するステップをさらに含むことが好ましい。
本製品は、ターゲット・データ・ブロックが更新された時に、ターゲット・データ・ブロックが更新されたことを示すように、ターゲット・データ・ブロックについての第2のインジケータを更新するステップをさらに含むことが好ましい。
第2の側面において、本発明は、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータを維持するための手段と、対応するソース・データ・ブロックによってターゲット・データ・ブロックが上書きされたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されたかどうかを示す、ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータを維持するための手段と、ソース格納部からターゲット格納部にデータを転送する時に、ソース・データ・ブロックが更新されたかどうかを示すように第1のインジケータが設定された、各ソース・データ・ブロックを転送するための手段と、ターゲット・データ・ブロックが更新されたかどうかを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックを転送するための手段とを含む、転送されるデータ量を減少させるためのシステムを提供する。
本システムは、ステージ動作のために、対応するソース・データ・ブロック又はターゲット・データ・ブロックが取り出されるべきかどうかを示す、各ターゲット・データ・ブロックについての第3のインジケータを維持するための手段を含むことが好ましい。
本システムは、ソース・データ・ブロックがターゲット格納部にコピーされた時に、ターゲット・データ・ブロックについての第3のインジケータを更新するための手段を含むことが好ましい。
本システムは、インクリメンタル仮想コピー動作を受信するステップと、ソース・データ・ブロックについての第1のインジケータ及びソース・データ・ブロックに対応するターゲット・データ・ブロックについての第2のインジケータに基づいて、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含むことが好ましく、ここで、ソース格納部からターゲット格納部にデータを転送することは、ソース・データ・ブロックがターゲット格納部に転送されるべきであることを第3のインジケータが示している、各ソース・データ・ブロックを転送するための手段を含むことが好ましい。
本システムは、インクリメンタル仮想コピー関連性を確立した後、ステージ動作のために、ターゲット・データ・ブロックに対応するソース・データ・ブロックがソース格納部から取り出されるべきであることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するための手段を含むことが好ましい。
本システムは、ソース格納部からターゲット格納部にデータを転送した後、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての第1のインジケータを更新するための手段を含むことが好ましい。
本システムは、ソース格納部からターゲット格納部にデータを転送した後、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するための手段を含むことが好ましい。
各ソース・データ・ブロック及び各ターゲット・データ・ブロックが、あるボリュームのトラックを含むことが好ましい。
各ソース・データ・ブロック及び各ターゲット・データ・ブロックが、あるボリュームのセクタを含むことが好ましい。
本製品は、データのソース部分とデータのターゲット部分との間でインクリメンタル仮想コピー動作を行うことによって、データのソース部分とデータのターゲット部分との間にインクリメンタル仮想コピー関連性を形成するための手段を含み、ここで、インクリメンタル仮想コピー関連性において、データのソース部分内の各ソース・データ・ブロックについての第1のインジケータ及びデータのターゲット部分内の各ターゲット・データ・ブロックについての第2のインジケータが維持されることが好ましい。
本システムは、ソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての第1のインジケータを更新するための手段と、ターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するための手段と、ソース・データ・ブロックをターゲット格納部に転送する必要があることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するための手段とを含むことが好ましい。
本システムは、ソース・データ・ブロックを更新した時に、ソース・データ・ブロックが更新されたことを示すように、ソース・データ・ブロックについての第1のインジケータを更新するための手段を含むことが好ましい。
本システムは、ターゲット・データ・ブロックを更新した時に、ターゲット・データ・ブロックが更新されたことを示すように、ターゲット・データ・ブロックについての第2のインジケータを更新する手段を含むことが好ましい。
第3の側面において、本発明は、コンピュータ・システムに読み込まれ、コンピュータ・システム上で実行されるときに、第1の側面による方法のステップを実行させるためのコンピュータ・プログラム・コードを含む、コンピュータ・プログラムを提供する。コンピュータ・プログラムの好ましい特徴は、第1の側面の好ましい方法のステップに対応するコンピュータ・プログラム・コードを含む。
したがって、転送されるデータ量を減少させる方法、システム、及びプログラムが提供されることが好ましい。ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部においてソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータが維持される。対応するソース・データ・ブロックによってターゲット・データ・ブロックが上書きされたとき以降にターゲット格納部においてターゲット・データ・ブロックが更新されたかどうかを示す、ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータが維持される。ソース格納部からターゲット格納部にデータを転送する時に、ソース・データ・ブロックが更新されたことを示すように第1のインジケータが設定された、各ソース・データ・ブロックが転送され、ターゲット・データ・ブロックを更新したことを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックが転送される。
説明された本発明の実施は、インクリメンタル仮想コピーを作成するための方法、システム、及びプログラムを提供する。
ここで、添付の図面を参照して、単なる例示として、本発明の好ましい実施形態を説明する。
以下の説明において、本発明の一部を形成し、本発明の幾つかの実施を示す添付図面について説明する。本発明の範囲を逸脱することなく、他の実施を用いることができ、構造上及び動作上の変更をなし得ることが理解される。
本発明の実施は、即時仮想コピー動作の機能を強化するインクリメンタル仮想コピー動作を提供するものである。インクリメンタル仮想コピー動作を用いる場合、ソース・ボリュームからターゲット・ボリュームへの最後の即時仮想コピー動作以降、ソース・ボリューム及びターゲット・ボリュームにおいて更新されたデータ・ブロックだけがコピーされる。インクリメンタル仮想コピー動作は、ソース・ボリュームの物理コピーを作成する時間を減少させ、他のアプリケーションへの影響を最小にする(例えば、データをデステージするための物理的格納部に対する帯域幅の使用を最小にし、これにより物理的格納部からの読み取りのために、多くの帯域幅が可能になる)。
図1及び図2は、本発明の特定の実施によるコンピューティング環境をブロック図で示す。格納コントローラ100は、ネットワーク190上で、入力/出力(I/O)要求をホスト140a、b、...l(ここで、a、b及びlは、任意の整数値とすることができる)から受け取り、ボリューム(例えば、論理ユニット番号、論理装置など)122a、b...n及び132a、b...mのそれぞれを有するように構成された格納デバイス120、130の方向に向けられ、ここで、m及びnは、異なる整数値であってもよいし、又は、同じ整数値であってもよい。特定の実施においては、ターゲット格納部130のサイズは、ソース格納部120より大きいか又はこれと等しくすることができる。
ソース格納部120は、データ・ブロックを含む格納ブロック150に分割することができる1つ又はそれ以上のボリューム122a、b...nを含み、この格納ブロック150は、データのサブブロックを含む格納サブブロック(150a−150p、ここで、a及びpは任意の整数値とすることができる)にさらに分割される。ボリュームは、格納部の任意の論理エレメント又は物理エレメントとすることができる。特定の実施においては、データ・ブロックはトラックのコンテンツであり、データ・サブブロックはトラックのセクタのコンテンツである。
ターゲット格納部130は、ソース格納部120のボリューム122a、b...nの全て又はサブセットのコピーを維持する。さらに、例えばホスト140によって、ターゲット格納部130を修正することができる。ターゲット格納部130は、データ・ブロックを含む格納ブロック150に分割することができる1つ又はそれ以上のボリューム132a、b...mを含み、格納ブロック150は、データのサブブロックを含む格納サブブロック(150a−150p、ここで、a及びpは任意の整数値とすることができる)にさらに分割される。ボリュームは、格納部の任意の論理エレメント又は物理エレメントとすることができる。特定の実施においては、データ・ブロックはトラックであり、データ・サブブロックはトラックのセクタである。
参照を簡略にするために、本明細書において、トラック及びセクタという用語は、データ・ブロック及びデータ・サブブロックの例として用いられるが、これらの用語の使用は、本発明の実施をトラック及びセクタに制限することを意図するものではない。本発明の実施は、あらゆるタイプの格納部、又はいずれかの方法で分割された格納ブロック又はデータ・ブロックにも適用可能である。さらに、本発明の実施はデータ・ブロックに言及しているが、本発明の代替的な実施は、データ・サブブロックにも適用可能である。
格納コントローラ100は、ソース・キャッシュ124を含み、そこでは、ソース格納部120に書き込まれる(すなわち、トラックが物理的格納部にデステージされる)まで、ソース格納部120内のトラックへの更新が維持される。格納コントローラ100は、ターゲット・キャッシュ134を含み、そこでは、ターゲット格納部130に書き込まれる(すなわち、トラックが物理的格納部にデステージされる)まで、ターゲット格納部130内のトラックへの更新が維持される。ソース・キャッシュ124及びターゲット・キャッシュ134は、別個の又は同じ格納デバイスの異なるセクションを含むことができる。ソース・キャッシュ124及びターゲット・キャッシュ134は、ホスト140a、b、...l、ソース格納部120、及びターゲット格納部130の間で伝送される読み取りデータ及び書き込みデータをバッファに入れるために用いられる。さらに、キャッシュ124及び134は、ソース・キャッシュ及びターゲット・キャッシュと呼ばれ、ポイント・イン・タイム・コピー関連性にあるソース・データ・ブロック又はターゲット・データ・ブロックを保持するが、これらのキャッシュ124及び134は、異なるポイント・イン・タイム・コピー関連性にあるソース・データ・ブロック及びターゲット・データ・ブロックを同時に格納することができる。
付加的に、格納コントローラ100は、不揮発性キャッシュ118を含む。不揮発性キャッシュ118を、例えばバッテリ・バックアップ式揮発性メモリとし、データ更新の不揮発性コピーを維持することができる。
格納コントローラ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の一方又は両方と格納デバイスを共有してもよい。
参照を簡単にするために、本発明の実施は、本明細書ではソース格納部及びターゲット格納部と呼ばれる、いずれか2つの格納媒体間のデータ転送にも適用可能である。例えば、図1に示されるように、本発明の特定の実施は、単一の格納コントローラに配置された2つの格納媒体と共に用いることができる。さらに、本発明の代替的な特定の実施は、異なる格納コントローラ、異なる物理的サイト等に配置された2つの格納媒体と共に用いることができる。また、参照を簡単にするために、ソース格納部内のデータ・ブロックを「ソース・データ・ブロック」と呼び、ターゲット格納部内のデータ・ブロックを「ターゲット・データ・ブロック」と呼ぶ。
特定の実施において、(ターゲット格納部130の代わりに又はこれに加えて)取り外し可能な格納部を用いて、ソース格納部120の全て又はサブセットのコピーを維持することができ、本発明の実施は、データを、ターゲット格納部ではなく取り外し可能な格納部に転送する。取り外し可能な格納部は、格納コントローラ100に常駐することができる。
格納コントローラ100は、さらに、プロセッサ複合体(図示せず)を含み、Enterprise Storage Server7(ESS,商標)、39907 Storage Controllerなどの、当該技術分野に知られる、あらゆる格納コントローラ又はサーバを含むことができる。ホスト140a、b...lは、サーバ、メインフレーム、ワークステーション、パーソナル・コンピュータ、手持ち式コンピュータ、ラップトップ型テレフォニー・デバイス、ネットワーク・アプライアンスなどの当該技術分野に知られる、あらゆるコンピューティング・デバイスを含むことができる。格納コントローラ100及びホスト・システム140a、b...1は、格納エリア・ネットワーク(SAN)、ローカル・エリア・ネットワーク(LAN)、広域エリア・ネットワーク(WAN)、インターネット、イントラネットなどを含むことができるネットワーク190を介して通信する。ソース格納部120及びターゲット格納部130は各々、直接アクセス格納デバイス(DASD)、単純ディスク束(JBOD)、新磁気ディスク制御機構アレイ(RAID)、仮想化デバイスなどの格納デバイスのアレイを含むことができる。
さらに、図1は単一の格納コントローラを示しているが、当業者であれば、ネットワーク(例えば、ローカル・エリア・ネットワーク(LAN)、広域エリア・ネットワーク(WAN)、インターネット等)を介して多数の格納コントローラを接続することができ、その多数の格納コントローラの1つ又はそれ以上が本発明を実施できることを理解するであろう。
ホスト140がソース格納部120内のデータ・ブロックを更新することを望むとき、ホスト140は、ソース・キャッシュ124内の格納ブロックにデータを
書き込む。書き込み動作は、ソース・キャッシュ124内の格納ブロックを同期修正し(すなわち、書き込みホスト140は、動作の完了を待つ)、次いで、バックグラウンド処理において、ソース・キャッシュ124のコンテンツが、ソース格納部120に書き込まれる。書き込み動作は、データを更新し、新しいデータを書き込み、又は同じデータを再度書き込むことができる。ソース・キャッシュ124内のデータをソース格納部120に書き込むことは、デステージ動作と呼ばれる。ソース格納部120からソース・キャッシュ124にデータ・ブロックの全て又は一部をコピーするのは、ステージ動作である。同様に、ターゲット格納部130とターゲット・キャッシュ134との間でデータをステージ及びデステージすることができる。さらに、ソース格納部120からターゲット・キャッシュ134にデータをステージすることもできる。
図3は、本発明の特定の実施による種々の構造体200、210、及び220を示す。不揮発性キャッシュ118は、ターゲット・コピー構造体200を含む。ターゲット・コピー構造体200を用いて、データを、ソース格納部120からキャッシュ124又はターゲット格納部130からキャッシュ134に取り出すかどうかを判断することができる(すなわち、ステージ動作のために)。さらに、ターゲット・コピー構造体200を用いて、ソース格納部120内のどのデータ・ブロックがターゲット格納部130にコピーされるかを判断することができる。ターゲット・コピー構造体200は、例えば、ボリューム内の各データ・ブロックについてのインジケータ(例えば、1ビット)を含む。インジケータが第1の値(例えば、1)に設定されたとき、その設定は、ステージ動作のために、データ・ブロックがソース格納部120から取り出されるべきであることを示すか、或いはインクリメンタル仮想コピー動作のために、データ・ブロックがターゲット格納部130にコピーされるべきであることを示す。インジケータが第2の値(例えば、ゼロ)に設定された場合、その設定は、ステージ動作のために、データ・ブロックがターゲット格納部130から取り出されるべきであることを示すか、或いはインクリメンタル仮想コピー動作のために、データ・ブロックがソース格納部120からターゲット格納部130にコピーされるべきであることを示す。
インクリメンタル仮想コピー関連性が確立されたソース格納部120のデータの一部内にあるデータ・ブロックの更新を監視するために、ソース変更記録構造体210が使用される。このソース変更記録構造体210は、インクリメンタル仮想コピー関連性の一部である、ソース格納部120内の各データ・ブロックについてのインジケータ(例えば、1ビット)を含む。インジケータが第1の値(例えば、1)に設定された場合、その設定は、最後のインクリメンタル仮想コピー動作以降にデータ・ブロックが更新されたことを示す。インジケータが第2の値(例えば、ゼロ)に設定された場合、その設定は、最後のインクリメンタル仮想コピー動作以降にデータ・ブロックが更新されなかったことを示す。
インクリメンタル仮想コピー関連性が確立された後、ターゲット格納部130内のデータ・ブロックの更新を監視するために、ターゲット変更記録構造体220が使用される。このターゲット変更記録構造体220は、インクリメンタル仮想コピー関連性の一部である、ターゲット格納部130内の各データ・ブロックについてのインジケータ(例えば、ビット)を含む。インジケータが第1の値(例えば、1)に設定された場合、その設定は、最後のインクリメンタル仮想コピー動作以降にデータ・ブロックが更新されたことを示す。インジケータが第2の値(例えばゼロ)に設定された場合、その設定は、最後のインクリメンタル仮想コピー動作以降にデータ・ブロックが更新されなかったことを示す。
本発明の特定の実施において、各々の構造体200、210、及び220はビットマップを含み、各々のインジケータは、ビットを含む。各々の構造体200、210、及び220においては、第n番目のインジケータは、第n番目のデータ・ブロックに対応する(例えば、各々の構造体200、210、及び220における第1のインジケータは、第1のデータ・ブロックに対応する)。構造体200、210、及び220が、3つの別個の構造体として示されたが、本発明の範囲を逸脱することなく、これらの構造体をいずれの形態で組み合わせてもよい。本発明の特定の実施においては、各ボリュームについて各構造体のコピーが存在する。本発明の特定の代替的な実施においては、全てのボリュームについて各構造体の単一のコピーが存在する。
図4は、本発明の特定の実施に従って構造体を更新するための、インクリメンタル仮想コピー処理116において実施される論理を示す。ブロック300において、制御は、インクリメンタル仮想コピー関連性の最初の確立で開始する。インクリメンタル仮想コピー動作がデータの対応する部分の間で行われるとき、ソース格納部120内のデータの1つ又はそれ以上の部分(例えば、ソース・ボリューム)とターゲット格納部130内のデータの対応する部分(例えば、ターゲット・ボリューム)との間で、インクリメンタル仮想コピー関連性が形成される。第1のインクリメンタル仮想コピー動作は、例えば、1つ又はそれ以上のソース・ボリュームを対応するターゲット・ボリュームにコピーすることができる。しかしながら、次のコピーは、インクリメンタル・コピーを作成し、最後の即時仮想コピー動作以降に変更されなかったソース・ボリュームのいずれの部分の再コピーも回避することができる。
ブロック310において、インクリメンタル仮想コピー処理116は、ターゲット・コピー構造体200内のインジケータを更新し、ステージ動作のために、インジケータに対応する全てのデータ・ブロックがソース格納部から取り出されるべきであること、及び、インクリメンタル仮想コピー動作又は物理コピー動作のために、全てのデータ・ブロックがソース格納部からターゲット格納部にコピーされるべきであることを示す。本発明の特定の実施においては、ターゲット・コピー構造体200内のインジケータは、1に設定される。
ブロック320において、インクリメンタル仮想コピー処理116は、ソース変更記録構造体210内のインジケータを更新し、最後のインクリメンタル仮想コピー動作以降にインジケータに対応するソース・データ・ブロックが更新されなかったことを示す。本発明の特定の実施において、ソース変更記録構造体210内の全てのインジケータがゼロに設定される。ブロック330において、インクリメンタル仮想コピー処理116は、ターゲット変更記録構造体220内のインジケータを更新し、最後のインクリメンタル仮想コピー動作以降にインジケータに対応するターゲット・データ・ブロックが更新されなかったことを示す。本発明の特定の実施において、ターゲット変更記録構造体220内の全てのインジケータが、ゼロに設定される。
図5は、本発明の特定の実施に従ってインクリメンタル仮想コピー動作を実行するための、インクリメンタル仮想コピー処理116において実施される論理を示す。ブロック400において、制御は、インクリメンタル仮想コピー動作を受信するインクリメンタル仮想コピー処理116で開始する。ホスト140によってインクリメンタル仮想コピー動作を実行することもできる。図5のフローに図示されていないが、インクリメンタル仮想コピー動作を受信する前に、例えば、ホスト140におけるユーザによって、ソース格納部120及び/又はターゲット格納部130において1つ又はそれ以上のデータ・ブロックを更新することができる。
ブロック410において、インクリメンタル仮想コピー処理116は、ソース変更記録構造体210及びターゲット変更記録構造体220内のインジケータを用いて、ターゲット・コピー構造体200内のインジケータを更新する。本発明の特定の実施において、ソース変更記録構造体210は、「OR」演算を用いてターゲット変更記録構造体220と合体され、「OR」演算の結果は、ターゲット・コピー構造体200に「論理和演算」される。
ブロック420において、ターゲット・コピー構造体200が更新された後、インクリメンタル仮想コピー処理116は、ソース変更記録構造体210内のインジケータを更新し、最後のインクリメンタル仮想コピー動作以降にソース・データ・ブロックが更新されなかったことを示す。本発明の特定の実施においては、ソース変更記録構造体210内の全てのインジケータがゼロに設定される。ブロック430において、インクリメンタル仮想コピー処理116は、ターゲット変更記録構造体220内のインジケータを更新し、最後のインクリメンタル仮想コピー動作以降にターゲット・データ・ブロックが更新されなかったことを示す。本発明の特定の実施においては、ターゲット変更記録構造体220内の全てのインジケータがゼロに設定される。
図6は、本発明の特定の実施に従って書き込み動作を処理するための、書き込み処理114において実施される論理を示す。ブロック500において、制御は、データ・ブロック書き込み要求を受信する書き込み処理114で開始する。ブロック520において、書き込み処理114が、データ・ブロックがインクリメンタル仮想コピー関連性にあるかどうかを判断する。データ・ブロックがインクリメンタル仮想コピー関連性にある場合には、処理はブロック530に続き、他の場合には、処理はブロック560に続く。ブロック530において、書き込み処理114は、データ・ブロックがターゲット格納部130内にあるかどうかを判断する。データ・ブロックがターゲット格納部130内にある場合には、処理はブロック540に続き、他の場合には、処理はブロック550に続く。
ブロック540において、ターゲット変更記録構造体220内のデータ・ブロックについてのインジケータが更新され、最後のインクリメンタル仮想コピー動作以降にターゲット・データ・ブロックが変更されたことを示す。本発明の特定の実施においては、ターゲット変更記録構造体220内のインジケータが1に設定される。ブロック550において、ソース変更記録構造体210内のデータ・ブロックについてのインジケータが更新され、最後のインクリメンタル仮想コピー動作以降にソース・データ・ブロックが変更されたことを示す。本発明の特定の実施においては、ソース変更記録構造体210内のインジケータが1に設定される。ブロック560においては、書き込み動作は、書き込み処理114によって実行される。
図7は、本発明の特定の実施に従って読み取り動作を処理するための、読み取り処理112において実施される論理を示す。ブロック600において、制御は、データ・ブロック読み取り要求の受信で開始する。ブロック620において、読み取り処理112が、データ・ブロックがインクリメンタル仮想コピー関連性にあるターゲットであるかどうかを判断する。データ・ブロックがインクリメンタル仮想コピー関連性にあるターゲットである場合には、処理はブロック630に続き、他の場合には、処理はブロック660に続く。ブロック630において、読み取り処理は、データ・ブロックについてのインジケータがターゲット・コピー構造体において設定されるかどうかを判断し、そのデータがソース格納部120から読み取られることを示す。データ・ブロックについてのインジケータがターゲット・コピー構造体において設定される場合には、処理はブロック640に続き、他の場合には、処理はブロック650に続く。
ブロック640において、読み取り処理112は、ソース格納部120からデータ・ブロックを読み取る(すなわち、ステージする)。ブロック650において、読み取り処理112は、ターゲット格納部130からデータ・ブロックを読み取る(すなわち、ステージする)。ブロック660において、読み取り処理112は、データ・ブロックの通常の読み取りを実行する。
図8は、本発明の特定の実施に従ったバックグラウンド・コピー処理を示す。ブロック700において、制御は、データ・ブロックをコピーすべき時であるかどうかの判断で開始する。ブロック710において、データ・ブロックについてのターゲット・コピー構造体内のインジケータが、データ・ブロックがコピーされなかったことを示しているかどうかを判断する。データ・ブロックがコピーされなかったことを示している場合には、処理はブロック730に続き、他の場合には、処理はブロック720に続く。ブロック720において、次のデータ・ブロックを処理することができ、或いは処理される他のデータ・ブロックがない場合には、この論理を終了する。
ブロック730において、図7の論理に従ってデータ・ブロックが読み取られる。ブロック740において、データ・ブロックは、ターゲット格納部130にデステージされる。ブロック750において、データ・ブロックのためのターゲット・コピー構造体200内のインジケータが更新され、データ・ブロックがコピーされたことを示す。本発明の特定の実施において、ターゲット・コピー構造体200内のインジケータはゼロに設定される。
このように、本発明の特定の実施において、インクリメンタル仮想コピー動作は、書き込み(すなわち、更新)を監視し、即時仮想コピー関係に参加するボリュームのトラックへの変更を記録することによって達成される。最初の即時仮想コピー動作の後、ソース・ボリューム全体をコピーすることなく、ソース・ボリューム又はターゲット・ボリュームのいずれかにおいて更新されたトラックを、ソース・ボリュームからターゲット・ボリュームにコピーすることができる。
Enterprise Storage Server、FlashCopy及び3990は、米国及び/又は他の国におけるInternational Business Machines Corporation社の商標又はコモンロー上の商標である。
付加的な実施の詳細
インクリメンタル仮想コピーのための述べられた技術は、方法、装置、又は製品としてし、ソフトウェア、ファームウェア、ハードウェア、又はこれらのあらゆる組み合わせを生産するための標準的なプログラミング、及び/又は、工学技術を用いて実施することができる。ここで用いる「製品」という用語は、ハードウェア論理(例えば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)において実施されるコード又は論理、又は、磁気格納媒体(例えば、ハードディスク・ドライブ、フロッピィ・ディスク、テープなど)のようなコンピュータ可読媒体、光学格納(CDROM、光ディスクなど)、揮発性及び不揮発性メモリ・デバイス(例えば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラマブル論理など)を指す。コンピュータ可読媒体におけるコードは、さらに、伝送媒体を通して、又は、ネットワーク上のファイル・サーバからアクセス可能とすることができる。このような場合においては、コードが実施される製品は、ネットワーク伝送ライン、ワイヤレス伝送媒体、空気を通って伝搬する信号、無線波、赤外線信号等などの伝送媒体を含むことができる。したがって、「製品」は、コードが具現される媒体を含むことができる。さらに、「製品」は、コードが具現され、処理され、実行されるハードウェア・コンポーネントとソフトウェア・コンポーネントの組み合わせを含むことができる。もちろん、当業者であれば、本発明の範囲から逸脱することなく、多くの修正をこの構成に行うことができ、製品は、当該技術分野に知られる媒体を支持するあらゆる情報を含むことができることを認識するであろう。
図4から図8までの論理は、特定の順番で生じる特定の動作を説明する。代替的な実施においては、特定の論理動作は、異なる順番で実行してもよいし、又は修正或いは除去してもよい。さらに、上述の論理に動作を付加することができ、依然として述べられた実施に適合することができる。さらに、ここに述べられる動作は、順次に生じてもよいし、又は、特定の動作が平行して処理されてもよく、或いは単一の処理によって実行されるものとして説明された動作を分散処理によって実行してもよい。
図4から図8までの図示された論理は、ソフトウェア、ハードウェア、プログラマブル及び非プログラマブル・ゲート・アレイ論理、或いはハードウェア、ソフトウェア、又はゲート・アレイ論理のあらゆる組み合わせにおいて実施することができる。
図9は、本発明の特定の実施に従って用いることができるコンピュータ・システムのアーキテクチャを示す。格納コントローラ100及び/又はホスト140は、コンピュータ・アーキテクチャ800を実装することができる。コンピュータ・アーキテクチャ800は、プロセッサ802(例えば、マイクロプロセッサ)、メモリ804(例えば、揮発性メモリ・デバイス)、及び格納部810(例えば、磁気ディスク・ドライブ、光ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどの不揮発性格納部)を実装することができる。メモリ804において、オペレーティング・システム805を実行することができる。格納部810は、内蔵式格納デバイス、或いは取付け式格納部又はネットワーク・アクセス可能な格納部を含むこともできる。当該技術分野に知られている方法で、格納部810内のコンピュータ・プログラム806をメモリ804に読み込み、プロセッサ802によって実行することができる。アーキテクチャは、ネットワークとの通信を可能にするネットワーク・カード808をさらに含む。プロセッサ802にユーザ入力を提供するために、入力デバイス812が用いられ、この入力デバイス812は、キーボード、マウス、ペン・スタイラス、マイクロフォン、タッチ・センシティブ表示スクリーン、又はあらゆる他の当該技術分野に知られる作動又は入力機構を含むことができる。出力デバイス814は、プロセッサ802又は表示モニタ、プリンタ、格納部などの他のコンポーネントから伝送される情報をレンダリングすることができる。コンピュータ・システムのコンピュータ・アーキテクチャ800は、図示されたものより少ないコンポーネントを含んでもよく、ここに図示されない付加的なコンポーネントを含んでもよく、或いは図示されたコンポーネントと付加的なコンポーネントの何らかの組み合わせを含んでもよい。
コンピュータ・アーキテクチャ800は、メインフレーム、サーバ、パーソナル・コンピュータ、ワークステーション、ラップトップ、手持ち式コンピュータ、テレフォニー・デバイス、ネットワーク・アプライアンス、仮想化デバイス、格納コントローラ等といった当該技術分野に知られている、あらゆるコンピューティング・デバイスを含むことができる。当該技術分野に知られている、あらゆるプロセッサ802及びオペレーティング・システム805を用いることができる。
本発明の実施の上記の説明は、例証及び説明のために与えられたものである。本発明の実施の上記の説明は、網羅的なものであること、本発明を開示された正確な形態に制限することも意図していない。上記の教示に照らして多くの修正及び変形が可能である。本発明の範囲は、この詳細な説明ではなく、ここに添付された特許請求の範囲によって制限されることが意図されている。上記の仕様、例、及びデータは、本発明の構成の製造及び使用を十分に説明するものである。本発明の精神及び範囲から逸脱することなく、本発明の多くの実施を行うことができるので、本発明は、上記の添付の特許請求の範囲内にある。
本発明の特定の実施に従ったコンピューティング環境をブロック図で示す。 本発明の特定の実施に従ったコンピューティング環境をブロック図で示す。 本発明の特定の実施に従った種々の構造体を示す。 本発明の特定の実施に従って構造体を更新するための論理を示す。 本発明の特定の実施に従ってインクリメンタル仮想コピー動作を実行するための論理を示す。 本発明の特定の実施に従って書き込み動作を処理するための、書き込み処理において実施される論理を示す。 本発明の特定の実施に従って読み取り動作を処理するための、読み取り処理において実施される論理を示す。 本発明の特定の実施に従ったバックグラウンド・コピー処理を示す。 本発明の特定の実施に従って用い得るコンピュータ・システムのアーキテクチャを示す。

Claims (10)

  1. 転送されるデータ量を減少させる方法であって、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部において前記ソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータを維持するステップと、ターゲット・データ・ブロックが対応するソース・データ・ブロックによって上書きされたとき以降にターゲット格納部において前記ターゲット・データ・ブロックが更新されたかどうかを示す、前記ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータを維持するステップと、前記ソース格納部から前記ターゲット格納部にデータを転送する時に、前記ソース・データ・ブロックが更新されたことを示すように第1のインジケータが設定された、各ソース・データ・ブロックを転送し、かつ、前記ターゲット・データ・ブロックが更新されたことを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックを転送するステップとを含む方法。
  2. ステージ動作のために、対応するソース・データ・ブロック又は前記ターゲット・データ・ブロックが取り出されるべきかどうかを示す、各ターゲット・データ・ブロックについての第3のインジケータを維持するステップをさらに含む、請求項1に記載の方法。
  3. ソース・データ・ブロックが前記ターゲット格納部にコピーされた時に、前記ターゲット・データ・ブロックについての前記第3のインジケータを更新するステップをさらに含む、請求項2に記載の方法。
  4. インクリメンタル仮想コピー動作を受信するステップと、前記ソース・データ・ブロックについての第1のインジケータ及び該ソース・データ・ブロックに対応する前記ターゲット・データ・ブロックについての第2のインジケータに基づいて、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップとをさらに含み、前記ソース格納部から前記ターゲット格納部にデータを転送することは、前記ソース・データ・ブロックが該ターゲット格納部に転送されるべきであることを第3のインジケータが示している、各ソース・データ・ブロックを転送することを含む、請求項2又は請求項3に記載の方法。
  5. インクリメンタル仮想コピー関連性を確立した後、ステージ動作のために、前記ターゲット・データ・ブロックに対応する前記ソース・データ・ブロックが前記ソース格納部から取り出されるべきであることを示すように、各ターゲット・データ・ブロックについての第3のインジケータを更新するステップと、前記ソース格納部から前記ターゲット格納部にデータを転送した後、前記ソース・データ・ブロックが最後に前記ターゲット格納部に転送されたとき以降に前記ソース格納部において該ソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての前記第1のインジケータを更新するステップと、前記ソース格納部から前記ターゲット格納部にデータを転送した後、前記ソース・データ・ブロックが最後に前記ターゲット格納部に転送されたとき以降に前記ターゲット格納部において前記ターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するステップとをさらに含む、請求項2から請求項4までのいずれか1項に記載の方法。
  6. 転送されるデータ量を減少させるためのシステムであって、ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降にソース格納部において前記ソース・データ・ブロックが更新されたかどうかを示す、各ソース・データ・ブロックについての第1のインジケータを維持するための手段と、ターゲット・データ・ブロックが対応するソース・データ・ブロックによって上書きされたとき以降にターゲット格納部において前記ターゲット・データ・ブロックが更新されたかどうかを示す、前記ターゲット格納部内の各ターゲット・データ・ブロックについての第2のインジケータを維持するための手段と、前記ソース格納部から前記ターゲット格納部にデータを転送する時に、前記ソース・データ・ブロックが更新されたことを示すように第1のインジケータが設定された、各ソース・データ・ブロックを転送するための手段と、前記ターゲット・データ・ブロックが更新されたことを示すように第2のインジケータが設定された、ターゲット・データ・ブロックに対応する各ソース・データ・ブロックを転送するための手段とを備えるシステム。
  7. ステージ動作のために、対応するソース・データ・ブロック又は前記ターゲット・データ・ブロックが取り出されるべきであるかどうかを示す、各ターゲット・データ・ブロックについての第3のインジケータを維持するための手段をさらに備える、請求項6に記載のシステム。
  8. ソース・データ・ブロックが前記ターゲット格納部にコピーされた時に、前記ターゲット・データ・ブロックについての第3のインジケータを更新するための手段をさらに備える、請求項6又は請求項7に記載のシステム。
  9. インクリメンタル仮想コピー動作を受信するための手段と、前記ソース・データ・ブロックについての第1のインジケータ及び該ソース・データ・ブロックに対応する前記ターゲット・データ・ブロックについての第2のインジケータに基づいて、各ターゲット・データ・ブロックについての第3のインジケータを更新するための手段とをさらに含み、前記ソース格納部から前記ターゲット格納部にデータを転送することは、前記ソース・データ・ブロックが該ターゲット格納部に転送されるべきであることを第3のインジケータが示している、各ソース・データ・ブロックを転送することを含み、インクリメンタル仮想コピー関連性を確立した後、ステージ動作のために、前記ターゲット・データ・ブロックに対応する前記ソース・データ・ブロックが前記ソース格納部から取り出されるべきであることを示すように、各ターゲット・データについての第3のインジケータを更新するための手段と、前記ソース格納部から前記ターゲット格納部にデータを転送した後、前記ソース・データ・ブロックが最後に前記ターゲット格納部に転送されたとき以降に前記ソース格納部において該ソース・データ・ブロックが更新されなかったことを示すように、各ソース・データ・ブロックについての前記第1のインジケータを更新するための手段と、前記ソース格納部から前記ターゲット格納部にデータを転送した後、データの前記ソース部分と前記ターゲット部分との間のインクリメンタル仮想コピー動作を実行することによって、前記ソース・データ・ブロックが最後にターゲット格納部に転送されたとき以降に前記ターゲット格納部において前記ターゲット・データ・ブロックが更新されなかったことを示すように、各ターゲット・データ・ブロックについての第2のインジケータを更新するための手段とが設けられ、前記インクリメンタル仮想コピー関連性において、データのソース部分内の各ソース・データ・ブロックについての第1のインジケータ及びデータのターゲット部分内の各ターゲット・データ・ブロックについての第2のインジケータが維持される、請求項6、請求項7、又は請求項8のいずれかに記載のシステム。
  10. コンピュータ・システムに読み込まれ、前記コンピュータ・システム上で実行されるときに、請求項1から請求項5までのいずれか1項に記載の方法のステップを実行させるためのコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
JP2006516135A 2003-06-18 2004-06-11 インクリメンタル仮想コピーのための方法、システム、及びプログラム Expired - Fee Related JP4398463B2 (ja)

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 true JP2006527873A (ja) 2006-12-07
JP2006527873A5 JP2006527873A5 (ja) 2009-06-18
JP4398463B2 JP4398463B2 (ja) 2010-01-13

Family

ID=33517438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006516135A Expired - Fee Related JP4398463B2 (ja) 2003-06-18 2004-06-11 インクリメンタル仮想コピーのための方法、システム、及びプログラム

Country Status (8)

Country Link
US (1) US6996586B2 (ja)
EP (1) EP1634173B1 (ja)
JP (1) JP4398463B2 (ja)
CN (1) CN100356336C (ja)
AT (1) ATE338303T1 (ja)
DE (1) DE602004002216T2 (ja)
TW (1) TWI289749B (ja)
WO (1) WO2004114136A2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515267A (ja) * 2005-11-10 2009-04-09 インターナショナル・ビジネス・マシーンズ・コーポレーション ローカル・ストレージおよびリモート・ストレージの混合環境におけるデータ・セット・バージョンのカウントのための方法、プログラム、およびシステム
JP2010033619A (ja) * 2009-11-18 2010-02-12 Fujitsu Ltd コピー制御装置および方法
US7684073B2 (en) 2004-12-10 2010-03-23 Fujitsu Limited Copy controller and method thereof
WO2011007459A1 (ja) * 2009-07-17 2011-01-20 株式会社日立製作所 ストレージ装置及びその制御方法
JP2011507062A (ja) * 2007-12-06 2011-03-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 再同期化中に更新されるデータを格納するのにリポジトリを用いるかどうかの判定法
JP2012507097A (ja) * 2008-10-30 2012-03-22 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・デバイス上のデータ書き込みを実行する方法、システム、及びコンピュータ・プログラム
WO2014033595A1 (en) * 2012-08-27 2014-03-06 International Business Machines Corporation Multi-volume instant virtual copy freeze

Families Citing this family (33)

* Cited by examiner, † Cited by third party
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
US7461100B2 (en) * 2004-05-27 2008-12-02 International Business Machines Corporation Method for fast reverse restore
US7409510B2 (en) * 2004-05-27 2008-08-05 International Business Machines Corporation Instant virtual copy to a primary mirroring portion of data
US7346733B2 (en) 2004-09-09 2008-03-18 Hitachi, Ltd. Storage apparatus, system and method using a plurality of object-based storage devices
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
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 (zh) * 2006-12-04 2013-03-27 桑迪士克Il有限公司 增加透明的文件更新
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
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
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
US9646039B2 (en) 2013-01-10 2017-05-09 Pure Storage, Inc. Snapshots in a storage system
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US9389799B2 (en) 2013-05-22 2016-07-12 International Business Machines Corporation Parallel processes for performing multiple incremental copies
CN103870544A (zh) * 2014-02-25 2014-06-18 小米科技有限责任公司 虚拟操作文件的方法、装置及电子设备
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 (zh) * 2016-09-21 2017-02-15 郑州云海信息技术有限公司 一种后台拷贝方法及装置
US11223528B2 (en) * 2017-01-27 2022-01-11 Box. Inc. Management of cloud-based shared content using predictive cost modeling
CN109522152B (zh) * 2018-09-06 2021-05-14 清华大学 电镜数据灾备方法、存储介质和装置
CN111143115A (zh) * 2018-11-05 2020-05-12 中国移动通信集团云南有限公司 基于备份数据的远程容灾方法及装置
TWI768478B (zh) * 2020-09-25 2022-06-21 宏碁股份有限公司 適應性調用外部硬體資源的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076530B2 (ja) * 1986-09-27 1995-01-30 日立建機株式会社 油圧ショベルの油圧回路
JP2778786B2 (ja) * 1990-03-02 1998-07-23 富士通株式会社 データ更新・復元処理方式
US5463765A (en) * 1993-03-18 1995-10-31 Hitachi, Ltd. Disk array system, data writing method thereof, and fault recovering method
JP3583829B2 (ja) * 1995-04-13 2004-11-04 株式会社日立製作所 外部記憶サブシステムの制御方法および制御装置
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

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7684073B2 (en) 2004-12-10 2010-03-23 Fujitsu Limited Copy controller and method thereof
JP2009515267A (ja) * 2005-11-10 2009-04-09 インターナショナル・ビジネス・マシーンズ・コーポレーション ローカル・ストレージおよびリモート・ストレージの混合環境におけるデータ・セット・バージョンのカウントのための方法、プログラム、およびシステム
JP2011507062A (ja) * 2007-12-06 2011-03-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 再同期化中に更新されるデータを格納するのにリポジトリを用いるかどうかの判定法
US8904130B2 (en) 2008-10-30 2014-12-02 International Business Machines Corporation Performing a data write on a storage device
JP2012507097A (ja) * 2008-10-30 2012-03-22 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・デバイス上のデータ書き込みを実行する方法、システム、及びコンピュータ・プログラム
JP2013242921A (ja) * 2008-10-30 2013-12-05 Internatl Business Mach Corp <Ibm> ストレージ・デバイス上のデータ書き込みを実行する方法、システム、及びコンピュータ・プログラム
US8904127B2 (en) 2008-10-30 2014-12-02 International Business Machines Corporation Performing a data write on a storage device
US9448891B2 (en) 2008-10-30 2016-09-20 International Business Machines Corporation Performing a data write on a storage device
US9940067B2 (en) 2008-10-30 2018-04-10 International Business Machines Corporation Performing a data write on a storage device
WO2011007459A1 (ja) * 2009-07-17 2011-01-20 株式会社日立製作所 ストレージ装置及びその制御方法
JP2010033619A (ja) * 2009-11-18 2010-02-12 Fujitsu Ltd コピー制御装置および方法
WO2014033595A1 (en) * 2012-08-27 2014-03-06 International Business Machines Corporation Multi-volume instant virtual copy freeze
US9218255B2 (en) 2012-08-27 2015-12-22 International Business Machines Corporation Multi-volume instant virtual copy freeze

Also Published As

Publication number Publication date
TWI289749B (en) 2007-11-11
CN1788256A (zh) 2006-06-14
CN100356336C (zh) 2007-12-19
US6996586B2 (en) 2006-02-07
ATE338303T1 (de) 2006-09-15
DE602004002216T2 (de) 2007-07-26
EP1634173B1 (en) 2006-08-30
WO2004114136A3 (en) 2005-05-26
EP1634173A2 (en) 2006-03-15
DE602004002216D1 (de) 2006-10-12
WO2004114136A2 (en) 2004-12-29
US20040260898A1 (en) 2004-12-23
TW200513845A (en) 2005-04-16
JP4398463B2 (ja) 2010-01-13

Similar Documents

Publication Publication Date Title
JP4398463B2 (ja) インクリメンタル仮想コピーのための方法、システム、及びプログラム
US7000145B2 (en) Method, system, and program for reverse restore of an incremental virtual copy
US8429363B2 (en) Multiple incremental virtual copies
JP4701007B2 (ja) 高速逆リストア
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
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
US20050015415A1 (en) Method, system, and program for performing an input/output operation with respect to a logical storage device
JP4681247B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
EP1344135A1 (en) Write logging in mirrored disk subsystems
US7124323B2 (en) Method, system, and program for recovery of a reverse restore operation
JP4398464B2 (ja) 1つのターゲット・ボリュームと1つのソース・ボリュームとの間のポイント・イン・タイム・コピー関連性を管理するためのシステム、方法、及びプログラム
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

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