JP2006508459A - nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理 - Google Patents

nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理 Download PDF

Info

Publication number
JP2006508459A
JP2006508459A JP2004556460A JP2004556460A JP2006508459A JP 2006508459 A JP2006508459 A JP 2006508459A JP 2004556460 A JP2004556460 A JP 2004556460A JP 2004556460 A JP2004556460 A JP 2004556460A JP 2006508459 A JP2006508459 A JP 2006508459A
Authority
JP
Japan
Prior art keywords
lock
storage controller
data
data area
operable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004556460A
Other languages
English (en)
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 JP2006508459A publication Critical patent/JP2006508459A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general

Abstract

【課題】 入出力活動中にあるデータ領域のロックを制御するように動作可能な所有者ノードと、ロックを要求し、ロックを許可し、ロックの解除を要求し、ロック解除を通知するように動作可能なメッセージング・コンポーネントとを有する複数のストレージ・コントローラ・ノードからなるネットワークで動作可能なストレージ制御装置を提供すること。
【解決手段】 この装置は、任意の所有者ノードによって所有されるデータに対して、所有者ノードによって制御されるロック・プロトコルに従うことを条件として、入出力を実行するように動作可能な入出力実行コンポーネントを有する。データ領域のいかなるフラッシュ・コピー・イメージもデータ領域と整合関係に維持され、入出力実行コンポーネントは、データ領域がいかなるフラッシュ・コピー・イメージとも整合関係のままになっているという事前の肯定的確認をキャッシュし、この事前の肯定的確認に基づいて入出力活動を実行するように動作可能である。

Description

本発明は、コンピュータ・ストレージ・コントローラの分野に関し、特に、フラッシュ・コピー機能を提供するnウェイ共用ストレージ・システム内の拡張機能ストレージ・コントローラに関する。
コンピュータ・ストレージ・システムの分野では、「拡張機能」と記載されるようになったものに対する需要が高まっている。このような機能は、従来のストレージ・コントローラ・システムの単純な入出力機能を超えている。拡張機能は、当技術分野で周知のものであり、システム内に保管された実データまたは「ユーザ」データに関する状態データを保存するために使用されるメタデータの制御に依存する。拡張機能を使用して使用可能な操作により、実データをユーザ・アプリケーションで使用可能なままにしておきながら、様々なアクションをデータの仮想イメージに素早く適用することができる。このような周知の拡張機能の1つは「フラッシュ・コピー」である。
最も広い意味において、フラッシュ・コピーは、「あるデータ」の第2のイメージが使用可能になる機能である。この機能は時にはポイント・イン・タイム・コピーまたはT0コピーとして知られている。第2のイメージの内容は最初は第1のイメージの内容と同一である。第2のイメージは「即座に」使用可能になる。実際面では、これは、真の個別の物理コピーを作成するために必要と思われる時間より短い時間で第2のイメージが使用可能になることを意味し、これは、使用アプリケーションのオペレーションにとって容認できない混乱なしに、それを確立できることを意味する。
確立されると、第2のコピーは、バックアップ、システム試行、およびデータ・マイニングの実行を含む、いくつかの目的に使用することができる。第1のコピーは引き続き、元の使用アプリケーションにより元の目的に使用される。これと対照的なのが、アプリケーションをシャットダウンし、その再始動前にバックアップを取らなければならない、フラッシュ・コピーなしのバックアップである。アプリケーションがシャットダウンするのに十分にアイドル状態になっている時間ウィンドウを見つけることは、ますます困難になっている。バックアップを取るコストは増加している。業務を停止せずにバックアップを取ることができるフラッシュ・コピーの能力には、重大かつ高いビジネス上の価値がある。
フラッシュ・コピーの実装は、当該領域が書き込みの対象になっていなければ、第2のイメージ(以下、ターゲット)にアドレスされた入出力読み取りを元のイメージ(以下、ソース)にリダイレクトすることにより、第2のイメージが存在するという錯覚を引き起こす。ある領域が(ソースまたはターゲットのいずれかに対する)書き込みの対象であった場合、ソースとターゲットの両方がそのデータについてそれぞれ専用のコピーを所有しているという錯覚を維持するために、書き込みコマンドの動作をサスペンドし、それを実行させずに、ソースからの該当領域の読み取りを発行し、書き込みにより読み取りデータをターゲットに適用し、次に(すべてのステップが正常であった場合のみ)サスペンドされた書き込みを解除するプロセスが呼び出される。ターゲットはそのデータについてそれ専用のコピーをすでに有することになるので、同じ領域への後続の書き込みはサスペンドする必要がない。このコピー・オン・ライト技法は、周知のものであり、多くの環境で使用される。
フラッシュ・コピーのすべての実装例は、前述の判断、すなわち、ターゲットで受信した読み取りがソースに対して発行されたものであるかまたはターゲットに対して発行されたものであるかに関する判断と、コピー・オン・ライトを実行できるようにするために書き込みをサスペンドしなければならないかどうかに関する判断を左右するデータ構造に依存している。このデータ構造は本質的に、ソースからターゲットにコピーされたデータの領域またはグレーンを、コピーされていないものとは別個のものとして追跡する。
このデータ構造(以下、メタデータと呼ぶ)の維持は、フラッシュ・コピーの背後にあるアルゴリズムの実現にとって重要なものである。
フラッシュ・コピーは、最新のストレージ・コントローラ内でしばしば使用されるように、(おそらくSMPプロセッサを伴う)単一CPU複合システム内で比較的簡単に実装できる。さらにもう少し努力することにより、(少なくとも)2つのCPU複合システムがメタデータのコピーにアクセスできるようなフォールト・トレラント・フラッシュ・コピーを実装することが可能である。第1のCPU複合システムの障害の場合には、ターゲット・イメージへのアクセスを喪失せずに、第2のCPU複合システムを使用して操作を続行することができる。
しかし、単一CPU複合システムの入出力機能は制限されている。1秒当たりの入出力数または帯域幅(MB/s)のいずれかで測定された単一CPU複合システムの機能の改善には限界があり、結局、使用アプリケーションのパフォーマンスに制約を課すことになる。この制限は、フラッシュ・コピーの多くの実装例で発生するが、良い例はストレージ・コントローラである。典型的なストレージ・コントローラは単一(またはおそらく冗長対)のCPU複合システムを有し、これがそのコントローラのパフォーマンス能力の制限に影響する。
より多くのストレージ・コントローラを設置することができる。しかし、個別のストレージ・コントローラはメタデータへのアクセスを共有せず、したがって、フラッシュ・コピー・イメージを管理する際に協働しない。ストレージ・スペースはフラグメント化された状態になり、フラッシュ・コピーは単一コントローラ・システムの範囲に制限される。ソース・ディスクとターゲット・ディスクはどちらも同じストレージ・コントローラ内で管理しなければならない。他のストレージ・コントローラに何らかのスペア・スペースがある間に、単一ストレージ・コントローラのディスク・スペースが一杯になる可能性があるが、ソース・ディスクとターゲット・ディスクを分離して、ターゲット・ディスクを新しいコントローラの制御下に置くことは不可能である。(ターゲットが関連する物理データを持っていないので、ターゲットの移動が手間のかからない動作である新しいフラッシュ・コピーの場合、これは特に不利である。)
ソース/ターゲット対にとって可能な総パフォーマンスの制約と同様に、単一コントローラ・ストレージ機能の制約は、ストレージ環境の管理に複雑さを加えるものである。
概して、今日のストレージ制御システムはこの問題を解決しようとしていない。このようなシステムは、単一コントローラに制限され、従ってそのコントローラの機能により制約を受けるフラッシュ・コピー技法を実装するものである。
複数のコントローラが共用フラッシュ・コピー関係に関与できるようにする単純な方法は、1つのコントローラをメタデータの所有者として割り当て、他のコントローラにすべての読み取りおよび書き込み要求をそのコントローラに転送させることである。所有コントローラは、上述のアルゴリズムを使用して、それ自体の接続ホスト・サーバから直接届いた場合と同様に入出力要求を処理し、各入出力要求を完了して要求元コントローラに戻す。
このようなシステムの主な欠点と、それが広く使用されない理由は、各入出力要求を転送する負担が大きすぎることであり、おそらくシステム全体に及ぶ総コストを倍増し、このため、システム・パフォーマンスを半減させることである。
たとえば、分散並列データベース・システムの分野では、データのコピーを整合関係に維持するために、データに対するロックを保持するための2フェーズ・ロック・プロトコルを使用する分散ロック管理構造を備えることは知られている。しかし、2フェーズ・ロックは、概して、時間のかかるものであり、相当なメッセージングの負担を処理に加える。このため、従来技術による未修正2フェーズ・ロック・プロトコルは、分散ストレージ・コントローラを有するストレージ・エリア・ネットワークなど、ソフトウェアおよびハードウェア・スタックの下位レベルにあるシステムでは不利であり、その場合、ロック制御メッセージの引渡しによるパフォーマンス上の影響は、それがデータベース制御レベルにあるときより、かなり重大なものになる。
したがって、ロック・メッセージング・オーバヘッドを最小限に抑えながら、フラッシュ・コピー環境で分散ロック管理の利点を得ることは望ましいことになるであろう。
したがって、本発明は、第1の態様において、入出力活動中にあるデータ領域のロックを制御するように動作可能な所有者ストレージ・コントローラ・ノードと、ロックを要求し、ロックを許可し、ロックの解除を要求し、ロックが解除されたことを通知するために少なくとも1つのメッセージを渡すように動作可能なメッセージング・コンポーネントとを有する複数のストレージ・コントローラ・ノードからなるネットワークで動作可能なストレージ制御装置であって、任意の所有者ストレージ・コントローラ・ノードによって所有されるデータに対して、所有者ストレージ・コントローラ・ノードによって制御されるロック・プロトコルに従うことを条件として、入出力を実行するように動作可能な入出力実行コンポーネントを有し、前記データ領域のいかなるフラッシュ・コピー・イメージも前記データ領域と整合関係に維持され、前記入出力実行コンポーネントが、前記データ領域がいかなるフラッシュ・コピー・イメージとも整合関係のままになっているという事前の肯定的確認をキャッシュし、前記事前の肯定的確認に基づいて入出力活動を実行するように動作可能である、ストレージ制御装置を提供する。
好ましくは、前記入出力実行コンポーネントは、キャッシュした肯定的確認を廃棄し、その後、新たにロックを要求するように動作可能である。
好ましくは、キャッシュした肯定的確認を選択的に廃棄することによって縮小キャッシュ・ストレージ・エリアが管理される。
好ましくは、前記データ領域に関する肯定的確認は、前記データ領域に隣接する他のデータ領域に関する任意の肯定的確認をさらに有する。
本発明は、第2の態様において、入出力活動中にあるデータ領域のロックを制御するように動作可能な所有者ストレージ・コントローラ・ノードと、ロックを要求し、ロックを許可し、ロックの解除を要求し、ロックが解除されたことを通知するために少なくとも1つのメッセージを渡すように動作可能なメッセージング・コンポーネントとを有する複数のストレージ・コントローラ・ノードからなるネットワーク内のストレージ制御の方法であって、任意の所有者ストレージ・コントローラ・ノードによって所有されるデータに対して、所有者ストレージ・コントローラ・ノードによって制御されるロック・プロトコルに従うことを条件として、入出力を実行するステップと、前記データ領域のフラッシュ・コピーを前記データ領域との整合関係に維持するステップと、前記データ領域がいかなるフラッシュ・コピー・イメージとも整合関係のままになっているという事前の肯定的確認をキャッシュし、前記事前の肯定的確認に基づいて入出力活動を実行するステップとを有する、ストレージ制御の方法を提供する。
好ましくは、第2の態様の方法は、キャッシュした肯定的確認を廃棄し、その後、新たにロックを要求するステップをさらに有する。
好ましくは、第2の態様の方法は、キャッシュした肯定的確認を選択的に廃棄することにより、縮小キャッシュ・ストレージ・エリアを管理するステップをさらに有する。
好ましくは、前記データ領域に関する肯定的確認は、前記データ領域に隣接する他のデータ領域に関する任意の肯定的確認をさらに有する。
本発明は、第3の態様において、コンピュータ可読ストレージ・メディアに具体化されるコンピュータ・プログラムであって、コンピュータ・システムにロードされ、そこで実行されたときに、入出力活動中にあるデータ領域のロックを制御するように動作可能な所有者ストレージ・コントローラ・ノードと、ロックを要求し、ロックを許可し、ロックの解除を要求し、ロックが解除されたことを通知するために少なくとも1つのメッセージを渡すように動作可能なメッセージング・コンポーネントとを有する複数のストレージ・コントローラ・ノードからなるネットワーク内のストレージ制御装置に、任意の所有者ストレージ・コントローラ・ノードによって所有されるデータに対して、所有者ストレージ・コントローラ・ノードによって制御されるロック・プロトコルに従うことを条件として、入出力を実行するステップと、前記データ領域のフラッシュ・コピーを前記データ領域との整合関係に維持するステップと、前記データ領域がいかなるフラッシュ・コピー・イメージとも整合関係のままになっているという事前の肯定的確認をキャッシュし、前記事前の肯定的確認に基づいて入出力活動を実行するステップとを実行させるための、コンピュータ・プログラムを提供する。
本発明の現在好ましい実施形態は、nウェイ・システム内の複数のストレージ・コントローラ(またはノード)間の活動を調整するために修正2フェーズ・ロック・メッセージング方式を使用する。このメッセージングはシステム内のノード間の活動を調整するが、各ノードは依然としてそれ自体の入出力の実行を担当する。それぞれのノードには、その事前のロック要求の結果をキャッシュするためのキャッシング機構が設けられ、したがって、そのノードは、データ領域の状況がキャッシュした事前の結果によってすでに肯定的に示されている場合にその状況を照会する必要を回避するために結果の一部を再使用することができる。
次に、添付図面を参照しながら、例としてのみ、本発明の好ましい一実施形態について説明する。
本発明の現在好ましい実施形態をより適切に理解するために、nウェイ・ストレージ・システム内の複数のストレージ・コントローラ(またはノード)間の活動を調整するための2フェーズ・ロック・メッセージングの使用について説明することが必要である。
一例として、フラッシュ・コピーを実装するnウェイ・システムを考える。すべてのノードはn個のノードからなる協働セットによって管理されるストレージにアクセスできると想定する。そのノードの1つは、あるストレージ領域のすべての入出力関係に関するメタデータの所有者として指定される(102)。他のノードはクライアントとして指定される。現在最も好ましい実施形態では、クライアント・ノードの1つは、バックアップ所有者としてさらに指定され、所有者ノードの障害の場合に連続可用性を提供するためにメタデータのコピーを維持する。
特定のクライアント・ノード(「C」)に到着するホスト入出力要求(104)を考える。ホスト入出力要求は、ターゲット・ディスクの読み取りもしくは書き込みであるか、またはおそらくソース・ディスクの書き込みであるとする。クライアントCは、入出力をサスペンドする(106)ことにより処理を開始する。次にCは、所有者ノードOにメッセージREQを送信し(108)、グレーンがコピーされたかどうかを尋ねる。
メッセージREQを受信すると、Oはそれ自体のメタデータ構造を検査する。その領域がすでにコピーされていることをOが発見した場合、OはNACKメッセージで応答する(110)。その領域がまだコピーされていないことをOが発見した場合、Oはその領域に関する適切なメタデータに対するロック・レコードをそれ自体のメタデータ構造内に入れ、GNTメッセージで応答する(112)。ロック・レコードは、受信し許可したばかりの要求と、Cでの処理が継続している間に到着して同じメタデータに影響する可能性のある他の要求との互換性を保証するために必要である。ロック・レコードを維持する方法と、何が互換性の制約であるかに関する詳細は、入出力がOによってローカルに受信された場合と同じであり、当業者にとって周知のものである。
NACKメッセージを受信すると、Cは元の入出力要求を保留解除する(114)。
GNTメッセージを受信すると、Cは、フラッシュ・コピー・アルゴリズムによって要求される1回または複数回のデータ転送を実行することにより続行する(116)。ターゲット読み取りの場合、これは、ソース・ディスクへの読み取りを実行することを意味する。その後、Cは、読み取り要求の完了を処理し(118)、それを発行したホスト・システムに対する元の入出力要求を完了すると同時に、Oに対してUNLメッセージを発行する(120)。
Oは、UNLメッセージを受信すると、そのメタデータ・テーブルからロック・レコードを除去し(122)、その結果、おそらく、そのロックのためにサスペンドされた他の入出力要求を解除する。現在最も好ましい実施形態では、Oは次に、UNLDメッセージをCに送信し(124)、Cが元の要求に関連するリソースを再使用できるようにする。しかし、これは、フラッシュ・コピー・アルゴリズム自体によって要求されるものではない。
(ターゲットまたはソースに対する)書き込みの場合、Cはコピー・オン・ライト(127)を実行しなければならない。コピー・オン・ライトのすべてのステップを完了した後、元の書き込み入出力要求が依然としてサスペンドされている状態で、CがUNLC要求をOに発行する(126)。
Oは、UNLCメッセージを受信すると、コピーされたものとしてメタデータ内の該当領域にマークを付け(128)、ロック・レコードを除去し(130)、そのエリアがコピーされたことを待機中のすべての要求に通知し(132)、次にUNLDメッセージをCに発行する(134)。
Cは、UNLDメッセージを受信すると、サスペンドされた書き込み動作を解除し(136)、この書き込み動作はその後完了し、次にCはホストに対する書き込み動作を完了する(138)。
ディスク入出力が失敗した、メッセージング・システムが故障した、またはノードが故障したという状況に対応するためにリカバリ・パスが必要であるが、その要件および実装例は当技術分野で十分理解されているものである。
上記の説明は、単一入出力および単一クライアントCの観点からのものであった。しかし、Oが同じアルゴリズムによってすべての要求を処理し続けている状態で、複数クライアント・ノードからの複数入出力の存在下でこの方式がどのように機能し続けるかは明らかである。
次に図2を参照すると、本発明の現在好ましい実施形態による装置が示されており、この装置は、所有者(202)と、クライアント(204)入出力実行コンポーネントと、ストレージ・ネットワークの制御下で保持されたデータ(208)に関するメタデータの一部分(206)と、データ(208)のコピー(209)と、通信手段とを有し、ストレージ・コントローラ・ネットワークで実施されている。この装置は、所有者(202)にメタデータの所有権を割り当てるための所有権割当てコンポーネント(210)と、任意のコピー(209)との整合を保証するために入出力活動中にメタデータ(206)レベルでロックを制御するように動作可能なロック管理コンポーネント(212)とを含む。また、所有者(202)側のメッセージング・コンポーネント(214)も含まれ、このメッセージング・コンポーネント(214)は、メタデータ状態に関する応答を要求し、ロックを許可し、ロックの解除を要求し、ロックが解除されたことを通知するために、クライアント(204)と所有者(202)との間で1つまたは複数のメッセージを渡すように動作可能である。クライアント(204)は、そのメタデータが任意の所有者(202)によって所有されるデータに対して、所有者(202)によって制御されるメタデータ・レベルのロック・プロトコルに従うことを条件として、入出力を実行するように動作可能である。
説明したシステムおよび方法は、nウェイ共用ストレージ・コントローラ・ネットワークにおいて分散ロック管理を処理することができるが、システム内に相当なメッセージング・オーバヘッドが存在するという欠点を有する。これは、比較的少ないコントローラを含むシステムや、比較的活動が少ないシステムでは厄介なものではないが、非常に大規模なストレージ・エリア・ネットワークなどの最新のストレージ・システムでは、多くのコントローラおよび非常に高レベルのストレージ活動が存在する可能性がある。このような状況では、不必要なメッセージング・オーバヘッドの回避は有利になるであろう。
したがって、システムの処理性能を改善するために、本発明の最も好ましい実施形態では、各クライアント・ノードは、所有者から最後に受信した応答を記録する情報を維持する機能を有する。具体的には(図3により図1への追加という観点から説明する)、クライアント・ノードCは、図1のステップ114後にNACKを受信したという情報、または図1のステップ126でおよびステップ134後にUNLC/UNLD対をそれ自体が発行し、確認したという情報をキャッシュする(308)ことができる。
図1のステップ104のようにホスト入出力要求を受信する(302)と、クライアントCは、以下のように修正ロック制御アルゴリズムを適用する。
Cは、まず、そのキャッシュ・データを検査して(303)、該当領域がすでにコピーされたという肯定的表示を有するかどうかを確認する。有する場合、いかなるプロトコル・メッセージもOに送信せずに入出力を続行する(304)。
キャッシュがこのような肯定的表示をまったく含んでいない場合、上述の未修正プロトコルが使用される。クライアントCは、図1のステップ106以降を続行する。NACKまたはUNLC/UNLD対を受信すると(306)、情報のキャッシュが更新され(308)、その領域に影響する後続の入出力は、(303)でキャッシュ内のこの情報を見つけ、いかなるプロトコル・メッセージも発行せずに続行することができる(304)。
「悲観的キャッシュ」という用語は、時に、本発明の現在最も好ましい実施形態で必要とされる手法を記述するために使用される。これは、クライアントが所有者のメタデータで完全に最新のものである必要はないことを意味し、クライアントは、あるエリアをコピーする必要があり、その必要がないことを表すために所有者(NACK)によって訂正する必要があると確信することができる。しかし、クライアントは、あるエリアがコピーされていないことを所有者が知っているときに、そのエリアがコピーされたと確信してはならない。
現在好ましい実施形態のロック・キャッシュでは、正しい動作のためにクライアントに対して何らかの変更を行う必要がある。第一に、キャッシュは、フラッシュ・コピー関係が開始される(300a)たびに、(すべての領域をコピーしなければならないことを示すために)初期設定しなければならない(301)。これは、いくつかの方法で実施できるが、所有者からクライアントへのメッセージが最も簡単な方法である。第二に、(おそらくネットワーク妨害のために)キャッシュが再初期設定されたことを示すメッセージをクライアント・ノードが逸した可能性がある場合(300b)、クライアントは、最悪のケースを想定して、そのキャッシュを再初期設定する(301)かまたは再検証しなければならない。
当業者にとって明らかなように、他の拡張例および変形例が可能である。たとえば、キャッシュした情報は、唯一の真に最新のコピーを有する所有者ノードからいつでも回復できるので、廃棄可能である。したがって、クライアントには、情報をキャッシュするために、すべてのノード上に保持されたすべてのメタデータを保管するために必要であると思われるものより少ないメタデータ・スペースを割り振ることができよう。その場合、クライアントは、ロック・メッセージ情報のキャッシングから恩恵を受け続けることを保証するために、クライアントが処理する入出力のためのアクセスの局所性を当てにできるであろう。
他の拡張実施形態では、NACKメッセージは(GNTまたはUNLDメッセージも)REQ/GNT/UNLC/UNLDメッセージによって直接処理されている領域に関する情報より多くの情報を返すことができる。同じくクリーンにされた隣接領域に関する情報を、所有者からクライアントに送信することができる。
上述の方法は概して1つまたは複数のプロセッサ(図示せず)上で実行されるソフトウェアで実行され、そのソフトウェアは磁気ディスクまたは光ディスクなどの任意の適切なデータ・キャリア(同じく図示せず)上に担持されたコンピュータ・プログラム・エレメントとして提供可能であることが分かるであろう。同様に、データを伝送するためのチャネルとしては、すべての記述のストレージ・メディアならびに有線または無線信号媒体などの信号伝送媒体を含むことができる。
本発明は、コンピュータ・システムで使用するためのコンピュータ・プログラムとして適切に実施することができる。このような実施例は、コンピュータ可読媒体、たとえば、ディスケット、CD−ROM、ROM、もしくはハードディスクなどの有形媒体上に固定された一連のコンピュータ可読命令、またはモデムもしくはその他のインターフェース・デバイスを介して、光もしくはアナログ通信回線を含むがこれに限定されない有形媒体により、もしくはマイクロ波、赤外線、その他の伝送技法を含むがこれに限定されない無形の無線技法を使用して、コンピュータ・システムに伝送可能な一連のコンピュータ可読命令を有することができる。この一連のコンピュータ可読命令は、本明細書で前述した機能のすべてまたは一部を実施する。
当業者であれば、このようなコンピュータ可読命令が多くのコンピュータ・アーキテクチャまたはオペレーティング・システムで使用するためにいくつかのプログラミング言語で作成できることを理解するであろう。さらに、このような命令は、半導体、磁気、もしくは光を含むがこれに限定されない現在もしくは今後の任意のメモリ技術を使用して保管するか、または光、赤外線、もしくはマイクロ波を含むがこれに限定されない現在もしくは今後の任意の通信技術を使用して伝送することができる。このようなコンピュータ・プログラムは、添付の印刷文書もしくは電子文書を備えたリムーバブル・メディア、たとえば、ソフトウェア・パッケージとして配布するか、コンピュータ・システムに、たとえば、システムROMもしくはハードディスク上にプリロードするか、またはネットワーク、たとえば、インターネットもしくはワールド・ワイド・ウェブによりサーバもしくは電子掲示板から配布できる。
上述の実施形態に対する様々な変更は当業者にとっては明らかであろう。
データ領域とそのデータのフラッシュ・コピー・イメージとの整合を制御するためにロック・メッセージを使用する2フェーズ・ロック方式の一実施形態を示す流れ図である。 本発明の好ましい実施形態によるシステムのシステム・コンポーネントを示す図である。 本発明の好ましい実施形態の追加ステップを示す図である。

Claims (9)

  1. 入出力活動中にあるデータ領域のロックを制御するように動作可能な所有者ストレージ・コントローラ・ノードと、ロックを要求し、ロックを許可し、ロックの解除を要求し、ロックが解除されたことを通知するために少なくとも1つのメッセージを渡すように動作可能なメッセージング・コンポーネントとを有する複数のストレージ・コントローラ・ノードからなるネットワークで動作可能なストレージ制御装置であって、
    任意の所有者ストレージ・コントローラ・ノードによって所有されるデータに対して、所有者ストレージ・コントローラ・ノードによって制御されるロック・プロトコルに従うことを条件として、入出力を実行するように動作可能な入出力実行コンポーネントを有し、
    前記データ領域のいかなるフラッシュ・コピー・イメージも前記データ領域と整合関係に維持され、
    前記入出力実行コンポーネントが、前記データ領域がいかなるフラッシュ・コピー・イメージとも整合関係のままになっているという事前の肯定的確認をキャッシュし、前記事前の肯定的確認に基づいて入出力活動を実行するように動作可能である、ストレージ制御装置。
  2. 前記入出力実行コンポーネントが、キャッシュした肯定的確認を廃棄し、その後、新たにロックを要求するように動作可能である、請求項1に記載の装置。
  3. 縮小したキャッシュ・ストレージ・エリアが、キャッシュした肯定的確認を選択的に廃棄することによって管理される、請求項2に記載の装置。
  4. 前記データ領域に関する肯定的確認が、前記データ領域に隣接する他のデータ領域に関する任意の肯定的確認をさらに有する、請求項1に記載の装置。
  5. 入出力活動中にあるデータ領域のロックを制御するように動作可能な所有者ストレージ・コントローラ・ノードと、ロックを要求し、ロックを許可し、ロックの解除を要求し、ロックが解除されたことを通知するために少なくとも1つのメッセージを渡すように動作可能なメッセージング・コンポーネントとを有する複数のストレージ・コントローラ・ノードからなるネットワーク内のストレージ制御の方法において、前記方法が、
    任意の所有者ストレージ・コントローラ・ノードによって所有されるデータに対して、所有者ストレージ・コントローラ・ノードによって制御されるロック・プロトコルに従うことを条件として、入出力を実行するステップと、
    前記データ領域のフラッシュ・コピーを前記データ領域との整合関係に維持するステップと、
    前記データ領域がいかなるフラッシュ・コピー・イメージとも整合関係のままになっているという事前の肯定的確認をキャッシュし、前記事前の肯定的確認に基づいて入出力活動を実行するステップと、
    を有する、ストレージ制御の方法。
  6. キャッシュした肯定的確認を廃棄し、その後、新たにロックを要求するステップをさらに有する、請求項5に記載の方法。
  7. キャッシュした肯定的確認を選択的に廃棄することにより、縮小したキャッシュ・ストレージ・エリアを管理するステップをさらに有する、請求項6に記載の方法。
  8. 前記データ領域に関する肯定的確認が、前記データ領域に隣接する他のデータ領域に関する任意の肯定的確認をさらに有する、請求項5に記載の方法。
  9. コンピュータ可読ストレージ・メディアに具体的に実施されたコンピュータ・プログラムであって、コンピュータ・システムにロードされ、そこで実行されたときに、入出力活動中にあるデータ領域のロックを制御するように動作可能な所有者ストレージ・コントローラ・ノードと、ロックを要求し、ロックを許可し、ロックの解除を要求し、ロックが解除されたことを通知するために少なくとも1つのメッセージを渡すように動作可能なメッセージング・コンポーネントとを有する複数のストレージ・コントローラ・ノードからなるネットワーク内のストレージ制御装置に、
    任意の所有者ストレージ・コントローラ・ノードによって所有されるデータに対して、所有者ストレージ・コントローラ・ノードによって制御されるロック・プロトコルに従うことを条件として、入出力を実行するステップと、
    前記データ領域のフラッシュ・コピーを前記データ領域との整合関係に維持するステップと、
    前記データ領域がいかなるフラッシュ・コピー・イメージとも整合関係のままになっているという事前の肯定的確認をキャッシュし、前記事前の肯定的確認に基づいて入出力活動を実行するステップと、
    を実行させるためのコンピュータ・プログラム。
JP2004556460A 2002-11-29 2003-08-14 nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理 Pending JP2006508459A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0227825.7A GB0227825D0 (en) 2002-11-29 2002-11-29 High-performance lock management for flash copy in n-way shared storage systems
PCT/GB2003/003567 WO2004051473A2 (en) 2002-11-29 2003-08-14 High-performance lock management for flash copy in n-way shared storage systems

Publications (1)

Publication Number Publication Date
JP2006508459A true JP2006508459A (ja) 2006-03-09

Family

ID=9948734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004556460A Pending JP2006508459A (ja) 2002-11-29 2003-08-14 nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理

Country Status (13)

Country Link
US (1) US20060095682A1 (ja)
EP (1) EP1566041B1 (ja)
JP (1) JP2006508459A (ja)
KR (1) KR100745878B1 (ja)
CN (1) CN100550894C (ja)
AT (1) ATE425623T1 (ja)
AU (1) AU2003253003A1 (ja)
DE (1) DE60326632D1 (ja)
GB (1) GB0227825D0 (ja)
PL (1) PL376860A1 (ja)
RU (1) RU2297662C2 (ja)
TW (1) TWI226549B (ja)
WO (1) WO2004051473A2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461209B2 (en) * 2005-12-06 2008-12-02 International Business Machines Corporation Transient cache storage with discard function for disposable data
CN100432940C (zh) * 2006-10-19 2008-11-12 华为技术有限公司 计算机集群系统中共享资源锁分配方法与计算机及集群系统
CN100456255C (zh) * 2007-04-29 2009-01-28 华为技术有限公司 一种取快照数据的装置及方法
US8069341B2 (en) * 2007-06-29 2011-11-29 Microsoft Corporation Unified provisioning of physical and virtual images
US8001548B2 (en) * 2008-10-20 2011-08-16 Microsoft Corporation Transaction processing for side-effecting actions in transactional memory
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
CN103136080B (zh) * 2013-03-12 2016-07-13 青岛中星微电子有限公司 一种缓存锁定功能的测试方法和装置
US10514859B2 (en) 2017-05-08 2019-12-24 International Business Machines Corporation Reduction of processing overhead for point in time copy to allow access to time locked data
US10514721B2 (en) 2017-05-08 2019-12-24 International Business Machines Corporation Validation of clock to provide security for time locked data
US10489080B2 (en) 2017-05-08 2019-11-26 International Business Machines Corporation Point in time copy of time locked data in a storage controller
US10528435B2 (en) 2017-05-08 2020-01-07 International Business Machines Corporation Performance efficient time locks on data in a storage controller
CN108897628B (zh) * 2018-05-25 2020-06-26 北京奇艺世纪科技有限公司 一种分布式锁的实现方法、装置及电子设备
CN109376014B (zh) * 2018-10-19 2021-07-02 郑州云海信息技术有限公司 一种分布式锁管理器实现方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0444140A (ja) * 1990-06-11 1992-02-13 Hitachi Ltd 仮想メモリ制御方法
JPH04123234A (ja) * 1990-09-14 1992-04-23 Hitachi Ltd マルチプロセッサのプロセススケジューリング方式及びメモリ管理方式
JPH0683677A (ja) * 1992-04-20 1994-03-25 Internatl Business Mach Corp <Ibm> データの増分タイム・ゼロ・バックアップ・コピーの方法及びシステム
JP2000242510A (ja) * 1999-02-25 2000-09-08 Fujitsu Ltd 共有記憶媒体の書き込み同期制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5892955A (en) * 1996-09-20 1999-04-06 Emc Corporation Control of a multi-user disk storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0444140A (ja) * 1990-06-11 1992-02-13 Hitachi Ltd 仮想メモリ制御方法
JPH04123234A (ja) * 1990-09-14 1992-04-23 Hitachi Ltd マルチプロセッサのプロセススケジューリング方式及びメモリ管理方式
JPH0683677A (ja) * 1992-04-20 1994-03-25 Internatl Business Mach Corp <Ibm> データの増分タイム・ゼロ・バックアップ・コピーの方法及びシステム
JP2000242510A (ja) * 1999-02-25 2000-09-08 Fujitsu Ltd 共有記憶媒体の書き込み同期制御方法

Also Published As

Publication number Publication date
WO2004051473A3 (en) 2005-04-21
CN100550894C (zh) 2009-10-14
PL376860A1 (pl) 2006-01-09
WO2004051473A2 (en) 2004-06-17
US20060095682A1 (en) 2006-05-04
GB0227825D0 (en) 2003-01-08
TW200413930A (en) 2004-08-01
AU2003253003A1 (en) 2004-06-23
DE60326632D1 (de) 2009-04-23
KR100745878B1 (ko) 2007-08-02
CN1703891A (zh) 2005-11-30
EP1566041B1 (en) 2009-03-11
RU2005120632A (ru) 2006-01-27
RU2297662C2 (ru) 2007-04-20
AU2003253003A8 (en) 2004-06-23
TWI226549B (en) 2005-01-11
ATE425623T1 (de) 2009-03-15
EP1566041A2 (en) 2005-08-24
KR20050083858A (ko) 2005-08-26

Similar Documents

Publication Publication Date Title
JP3815967B2 (ja) あるノードのキャッシュから別のノードのキャッシュへデータを転送するための方法および装置
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
US6587921B2 (en) Method and apparatus for cache synchronization in a clustered environment
US8464101B1 (en) CAS command network replication
US7516287B2 (en) Methods and apparatus for optimal journaling for continuous data replication
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
US7873613B2 (en) Providing storage control in a network of storage controllers
US10223007B1 (en) Predicting IO
JP4746838B2 (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
US20080082592A1 (en) Methods and apparatus for optimal journaling for continuous data replication
US6332197B1 (en) System for updating data in a multi-adaptor environment
JP2006508459A (ja) nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理
EP1131715A1 (en) Distributed transactional processing system and method
JP2002163140A (ja) ストレージシステム
JP2014038564A (ja) データベースに対する処理を行うシステム及び方法
JP4028833B2 (ja) 記憶域コントローラ・ノードのネットワーク内で記憶域のi/o動作を制御する装置、方法及びコンピュータ・プログラム
US10656867B2 (en) Computer system, data management method, and data management program
JP2007188518A (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
EP1162538B1 (en) Transferring a resource from a first cache to a second cache
JP3754393B2 (ja) 分散ファイル装置及びそのプロセスマイグレーション方法並びにコンピュータ装置
EP1408408B1 (en) Managing a resource used by a plurality of nodes
JPH047651A (ja) 記憶装置共有システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060711

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090716

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100224

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100324

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100420