JP3797328B2 - 記憶制御装置 - Google Patents
記憶制御装置 Download PDFInfo
- Publication number
- JP3797328B2 JP3797328B2 JP2003006508A JP2003006508A JP3797328B2 JP 3797328 B2 JP3797328 B2 JP 3797328B2 JP 2003006508 A JP2003006508 A JP 2003006508A JP 2003006508 A JP2003006508 A JP 2003006508A JP 3797328 B2 JP3797328 B2 JP 3797328B2
- Authority
- JP
- Japan
- Prior art keywords
- primary
- write
- time
- write data
- control device
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、異なった制御装置の間で、デ−タを2重書きする機能に関する。特に、制御装置間の距離が長く、制御装置間のデ−タ転送に遅延が発生するような場合、本発明は、有効である。
【0002】
【従来の技術】
本発明に関する公知例として、以下の技術が開示されている。
【0003】
特許文献1には、遠隔地にある制御装置間のディスクの2重書きを行う技術が、開示されている。本発明では、一方の制御装置が、地震などの天災等により破壊されても、もう一方の制御装置のディスクでデ−タ保証が可能というものである。特許文献1では、ホスト計算機から、直接、ライトデ−タを受領する正側の制御装置は、遠隔地にある副側の制御装置へ、受領したライトデ−タを転送した後、ライトデ−タの受領完了を、ホスト計算機に報告する。この方法であると、正側と副側で完全にデ−タが一致するため、デ−タ保証の点からは、非常に良い方法であった。しかし、制御装置間の距離拡大により、制御装置の間のデ−タ転送時間は、非常に大きくなるため、遠距離時に、性能上の課題があった。
【0004】
特許文献2でも、遠隔地にある制御装置間のディスクの2重書きを行う技術が、開示されている。特許文献2では、正側のホスト計算機から、直接、ライトデ−タを受領する正側の制御装置は、ライトデ−タ受領後直ちに、ライトデ−タの受領完了を、正側のホスト計算機に報告する。特許文献2では、さらに、正側の制御装置が受領したライトデ−タのコピ−が、一度正側のホスト計算機に読みだされる。本発明では、当初正側のホスト計算機から受領するライトデ−タには、時刻が付与されている。時刻は、このライトデ−タを書き込むライト要求が発行された時刻を意味する。ライトデ−タのコピ−が、正側のホスト計算機に読みだされる時、ライト時刻も正側のホスト計算機に渡される。この後、正側のホスト計算機はライトデ−タのコピ−とライト時刻を、副側のホスト計算機に送る。
【0005】
ライトデ−タとライト時刻を受け取ったを副側のホスト計算機は、ライト時刻等の情報を、制御用のディスクに書き込む。さらに、各ライトデ−タに付与された時刻を参照し、ライト時刻順に、ライトデ−タを副側のディスクに書き込みを行う。
【0006】
特許文献2で副側のホスト計算機が、上記のような処理を行う目的は、オンラインシステム等で標準的に使用されるトランザ
クションの途中結果を残さないようにするためである。例えば、口座Aから口座Bに預金を移すトランザクションを実行する場合、口座Aから預金を引き落としたにもかかわらず、口座Bに預金を積み立てない状態を残さないようにすることが、トランザクションの途中結果を残さないということを意味する。通常、オンラインシステムでは、回復の単位は、トランザクションであるため、トランザクションの途中結果を残すことは、極めて重要な障害である。
【0007】
次に、上記のような処理を実行すると、トランザクションの途中結果を残さないようにすることができることを簡単に説明する。2重書きを行っているディスクの中には、口座情報等のデ−タベ−スを格納したディスクと、トランザクションの更新履歴を残したジャ−ナルを格納したディスクがある。ホスト計算機がダウンすると、回復処理プログラムにより、ジャ-ナルが解析され、終了していないトランザクションの更新結果は、実行開始前の状態に戻される等の処理が、実行され、トランザクションの途中結果を残さないようにすることができる。副側の制御装置のディスクに書き込んだライトデ−タが、有効となるのは、最新のライトデ−タを格納した正側の制御装置が破壊されてしまったような場合である。副側の制御装置には、最新のライトデ−タは格納されてはいないが、ある時刻までのライトデ−タは保証されていることになる。したがって、見かけ上、ホスト計算機が、ライトデ−タを保証している時刻に、ダウンしたのと等価な状態を作り出していることになる。したがって、副制御装置側のジャ−ナルを格納したディスクと、デ−タベ−スを格納したディスクを用いて、ホスト計算機がダウンした時に実行される回復処理と同様の処理を実行することにより、トランザクションの途中結果を残さないようにすることができる。
【0008】
特許文献3は、ディスク制御装置が不揮発性のキャッシュメモリ
を持ち、ライトアフタを行う、すなわち、ホスト計算機から受領したライトデ−タを不揮発性のキャッシュメモリに書き込み、完了報告を行う技術が開示されている。不揮発性のキャッシュメモリは、信頼性が高いため、ここにライトデ−タを格納すれば、十分デ−タ保証が可能となると判断できるためである。
【特許文献1】
欧州特許出願公開第0671686号明細書
【特許文献2】
欧州特許出願公開第0672985号明細書
【特許文献3】
特開平04−245342号公報
【0009】
【発明が解決しようとする課題】
特許文献2では、制御装置間の距離が拡大しても、若干のデ−タは、失われるものの、性能の劣化は、少ない。しかも、トランザクションの途中結果を残さない。
【0010】
しかし、正側のホスト計算機がデ−タを読みだし、副側のホスト計算機にデ−タを転送するため、特許文献1のように、直接制御装置間で、ライトデ−タを受け渡す場合に比較し、デ−タ転送が一度余分に実行される。さらに、MTなどの記憶媒体への入出力処理の実行も必要となる。
【0011】
本発明の目的は、特許文献2のように、直接制御装置間で、ライトデ−タを受け渡し、しかも、制御装置間の距離が拡大しても、性能の劣化を微小に押さえ、しかも、トランザクションの途中結果を残さないような機能を提供することである。さらに、制御情報などのディスクへの入出力処理の実行も不必要とし、高性能化を図る。
【0012】
【課題を解決するための手段】
以下、本発明が、以上述べてきた目的をいかに実現するかについて述べる。
【0013】
本発明では、ホスト計算機は、正制御装置に、ライト要求を発行する際に、ライトデ−タにライト時刻を付与する。正制御装置は、ライトデ−タをホスト計算機から受け取ると、完了を報告する。この後、正制御装置は、副制御装置に、ライトデ−タとライト時刻を送る。この時、正の制御装置は、ライト時刻順に、ライトデ−タを、副の制御装置に送る。以上により、制御装置間の距離が拡大しても、性能の劣化を微小に押さえることができる。
【0014】
副側の制御装置では、正側の制御装置から受け取ったライトデ−タとを、不揮発のキャッシュメモリに格納する。これにより、制御情報などのディスクへの入出力処理なしに、ライトデ−タのデ−タ保証が可能となる。
【0015】
副側の制御装置では、受け取ったライト時刻を参照して、ある時刻までのライトデ−タを保証するようにする。これにより、トランザクションの途中結果を残さないようにすることが可能である。
【0016】
【発明の実施の形態】
以下、本発明の実施例を説明する。まず、第1の実施例について説明する。
【0017】
図1は、第1の実施例の概要を表す。第1の実施例における構成は、1台以上の処理装置100、1台の正制御装置104、正制御装置104に接続された1台以上のディスク装置105、1台の副制御装置109、副制御装置109に接続された1台以上のディスク装置105より構成する。処理装置100は、CPU101、主記憶102、チャネル103から構成される場合もある。正制御装置104は、制御用メモリ107、キャッシュメモリ108を含む。制御用メモリ107、キャッシュメモリ108は、不揮発化されているものとする。また、さらなる高信頼化のために、それぞれが2重化されていてもよい。キャッシュメモリ108、制御用メモリ107は、半導体メモリで構成されており、ディスク装置105に比べ、1桁から2桁高速なアクセスが可能である。正制御装置104は、処理装置100とディスク装置105の間のデ−タ転送を行う。さらに、本発明においては、正制御装置104は、副制御装置109の間のデ−タ転送を行う機能をもつ。あるいは、正制御装置104が1つ以上のデイレクタ106を含み、各ディレクタ106が、処理装置200とディスク装置205との転送、副制御装置109との間のデ−タ転送を行ってもよい。また、副制御装置109の内部構成は、正制御装置104と同様である。
【0018】
制御用メモリ107には、ライトデ−タ112に対応したライトデ−タ管理情報113が、作成される。
【0019】
処理装置100は、正制御装置104にライト要求110を発行する時、ライトデ−タ112に、ライト時刻111に付与する。ライト時刻111は、本ライト要求110が発行された時刻を表しており、ライト時刻111により、処理装置100が発行したライト要求110順序を認識することができる。処理装置100が複数存在する場合、ライト時刻111は、処理装置100間で、共通のクロックなどを用い、異なった処理装置100で発行されたライト要求110の順序も、認識できるようになっているものとする。
【0020】
図2は、ライトデ−タ管理情報113の構成である。ここでは、特に、本発明に直接関係する情報について説明する。なお、本発明では、処理装置100がライト要求110を発行する際、指定するディスクを論理ディスクとよぶ。論理ディスクID120は、対応するライトデ−タを書き込むよう、処理装置100から指示された論理ディスクの番号であり、ライト要求110に含まれる情報である。本発明では、処理装置100が認識している論理ディスクとディスク装置105(物理ディスク)は、1対1に対応している必要はない。図3にしめすように、論理ディスクが、複数のディスク装置105上に定義されてもよい。また、論理ディスクに、冗長デ−タを含ませ、RAID(Redundant Array of Inexpesive Disks)構成にしてもよい。ライトアドレス121は、対応するライトデ−タを書き込む論理ディスク内のアドレスを示す情報(例えば、論理ディスクの先頭から1MByteの領域というような情報)で、ライト要求110に含まれる情報である。ライトデ−タ長122は、対応するライトデ−タの長さを表す情報であり、ライト要求110に含まれる情報である。以上の情報は、いずれも、通常のライト要求110に含まれる情報である。ライトデ−タポインタ123は、対応するライトデ−タ112へのポインタである。ライト時刻111については、すでに、説明したとおりである。ライト要求110に、ライト時刻111を付与することが本発明の特徴の1つである。副制御装置転送必要ビット124は、副制御装置109に対応するライトデ−タ112の転送が必要であることを表す情報である。
【0021】
制御用メモリ108に含まれるもう1つの情報は、副論理ディスク番号114である。本情報は、正制御装置104の論理ディスク対応に存在する情報で、対応する論理ディスクの2重書きペアになっている副論理ディスクの番号、すなわち、副論理ディスクを格納している副制御装置109の番号と、副論理ディスクの副制御装置109内の論理ディスク番号を含む。もちろん、2重書きペアをもたない論理ディスクには、ヌル値が入るものとする。
【0022】
副制御装置109の制御用メモリ109にも、ライトデ−タ管理情報113が含まれる。
【0023】
フォ−マットは、正制御装置104内のライトデ−タ管理情報113と同じでよい。ただし、副制御装置転送必要ビット124は、常にオフとなっているものとする。さらに、正論理ディスク番号131である。本情報は、副制御装置104の論理ディスク対応に存在する情報で、対応する論理ディスクの2重書きペアになっている正論理ディスクの番号、すなわち、正論理ディスクを格納している正制御装置104の番号と、正論理ディスクの正制御装置104内の論理ディスクア番号を含む。もちろん、2重書きペアをもたない論理ディスクには、ヌル値が入るものとする。
【0024】
正制御装置104の正ライトデ−タ受領部130は、処理装置100から、ライト要求110を受け取ったとき、動作を開始する。まず、受け取ったライトデ−タ112を、キャッシュメモリ108に格納する。(ステッップ131)次に、正ライトデ−タ受領部140は、制御用メモリ108内のライトデ−タ管理情報113を、当該ライト要求対応に確保する。(ステッップ132)さらに、ライト要求に含まれるライト時刻111等の情報を確保したライトデ−タ管理情報113に格納し、ライトデ−タポインタ123、副制御装置転送必要ビット124の設定を行う。(ステッップ133)最後に、処理装置100に、ライト要求110の完了報告を行う。(ステップ134)以上の処理には、ディスク装置105へのアクセスがないため、高速な応答が可能となる。ライトデ−タ112をディスク装置105に書き込む処理は、正制御装置104が後から実行する。この動作は、通常の制御装置の動作であるため、特に、詳細に記述しない。
【0025】
正制御装置104の正ライトデ−タ送信部140は、ライトデ−タ112を副制御装置109に送る機能をもつ。まず、副制御装置転送必要ビット124が設定されているライトデ−タ管理情報113の中で、ライト時刻が最も以前であるライトデ−タ113を、対応する副論理ディスク番号130を参照して、2重書きペアが存在する副制御装置109へ送る。ライトデ−タ112の長さ、書き込みを行う副論理ディスク内のアドレスは、ライトデ−タ管理情報113内の情報を参照して指定する。(ステップ141)次に、副制御装置109からの完了報告をまつ。(ステップ142)完了報告が返ってくると、副制御装置転送必要ビット124をオフする。(ステップ143)この後、ステップ140ヘ戻り、次に送信すべきライトデ−タを見つける。
【0026】
副制御装置109の副ライトデ−タ受領部160は、正制御装置104から、ライトデ−タ112を受け取った時動作する。副ライトデ−タ受領部160の処理内容は、ライトデ−タ管理情報113の設定において、副制御装置転送必要ビット124の設定を行わない(ステップ161)こと以外は、正ライトデ−タ受領部140の処理内容と同様である。
【0027】
副制御装置109の副ライトデ−タデステ−ジ部140は、ライトデ−タ112をディスク装置105に書き込む機能をもつ。まず、ライトデ−タ管理情報113の中で、ライト時刻が最も以前である順にいくつかのライトデ−タ113を、ディスク装置105に書き込むことを決定し、しかるべき計算を行い、書き込みを行うディスク装置105と書き込みアドレスを決める。この計算方法は、通常のRAID等で用いられる方法であるため、詳細には記述しない。(ステップ171)次に、ライトデ−タ112をディス装置105に書き込むよう要求を複数並行して、ディスク装置105に発行する。(ステップ172)さらに、次に、ディスク装置105からの完了報告をまつ。(ステップ173)すべての要求の完了報告を受け取った後、ステップ170ヘ戻り、次にディスク装置105にデステ−ジすべきライトデ−タ113を見つける。
【0028】
正制御装置104から副制御装置109へのライトデ−タ113の送信順序が、ライト時刻111の順番であるため、副制御装置109では、ある時刻を基準に、それ以前のライトデ−タ113はすべて保持でき、それ以降のライトデ−タ113はまったく保持しないという状態を作り出すことができる。これにより、正制御装置104が破壊されても、副制御装置109側で、トランザクションの等中結果を残さない回復処理が可能となる。また、副制御装置109側で、ライトデ−タ113、ライト時刻112等の制御情報は、キャッシュメモリ107、制御用メモリ113などの不揮発性の半導体メモリに保持されるため、性能上のオ−バヘッドは小さい。
【0029】
以上説明してきた内容は、正制御装置104から副制御装置109へのライトデ−タ112の転送がシリアライズされているため、十分な性能が得られない可能性がある。図4は、正制御装置104から副制御装置109へのライトデ−タ112の転送を並列に実行した場合の動作を表している。各処理部で、転送がシリアライズされている場合と変更があるのは、正ライトデ−タ送信部a300、正基準時刻送信部170、副基準時刻受信部180、副ライトデ−タデステ−ジ部a310と正障害時デ−タ破棄部190である。以下、正ライトデ−タ送信部a300の処理フロ−について説明する。まず、副制御装置転送必要ビット124が設定されているライトデ−タ管理情報113の中で、ライト時刻が最も以前である順にいくつかのライトデ−タ113を、対応する副論理ディスク番号130を参照して、2重書きペアが存在する副制御装置109へそれぞれ並列に転送する。(ステップ301)次に、副制御装置109から、それぞれの完了報告が送られてくるのをまつ。(ステップ302)すべての完了報告が返ってくると、対応するライトデ−タ管理情報113の中の副制御装置転送必要ビット124をオフする。(ステップ303)この後、ステップ150ヘ戻り、次に送信すべきライトデ−タ112を見つける。
【0030】
ライトデ−タ112の転送を並列に実行すると、副制御装置109側で保持されるライトデ−タ112のライト時刻111の順序がくるう可能性がある。したがって、副制御装置109がデステ−ジしてよいライトデ−タ112を決めるための判断基準となるライト時刻111を認識する必要がある。この場合、デステージシしてよいライトデ−タ112は、正制御装置104の中で、副制御装置転送必要ビット124がオンになっているライトデ−タ管理情報113の中で、最も以前のライト時刻111を基準時刻として、この基準時刻より以前のライト時刻111をもつライトデ−タ112ということになる。というのは、この基準時刻より以前のライト時刻111をもつライトデ−タ112はすべて、副制御装置109側に保持されているいることになるためである。一方、この基準時刻より後のライト時刻111をもつライトデ−タ112は、まだデステ−ジしてはまずいライトデ−タ112であり、正制御装置104が破壊された場合、これらのライトデ−タ112はデステ−ジせず、破棄する必要がある。
【0031】
正基準時刻送信部170は、副制御装置109に上述したデステ−ジしてよい基準時刻を送信する機能をもつ。基準時刻は、上述したように、副制御装置転送必要ビット124がオンになっているライトデ−タ管理情報113の中で、最も以前のライト時刻111である。
【0032】
副基準時刻受信部180は、正制御装置104から受信した基準時刻を、デステ−ジ許可時刻185として、制御用メモリ108に格納する。
【0033】
図4は、正制御装置104から副制御装置109へのライトデ−タ112の転送を並列に実行した場合の副ライトデ−タデステ−ジ部a310の処理フロ−である。図1に示した処理フロ−とは異なるのは、デステ−ジするライトデ−タ113を選択する条件に、デステ−ジ許可時刻185より以前のライト時刻111であるかどうかという条件が入ることだけである(ステップ311)。
【0034】
正障害時デ−タ破棄部197は、正制御装置104が破壊された時、デステ−ジ許可時刻185から後のライト時刻111をもつライトデ−タ112を破棄する機能をもつ(ステップ191)。
【0035】
次に、第2の実施例について説明する。
【0036】
図5は、第2の実施例の概要を表す。第2の実施例と第1の実施例の相違は、正制御装置104と副制御装置109の数である。第1の実施例では、正制御装置104の数が1台で、副制御装置109の数が1台であった。一方、第2の実施例では、正制御装置104の数が2台以上で、副制御装置209の数が1台である。
【0037】
正制御装置104が複数存在すると、副制御装置109側で、それぞれの正制御装置104から受け取っているライトデ−タ112のライト時刻111にずれが生ずる。一方の正制御装置104(例えば、正制御装置a)から受け取った最も最近のライト時刻111、この時刻を時刻a、もう一方の正制御装置104(例えば、正制御装置b)から受け取った最も最近のライト時刻111、この時刻を時刻bとする。この場合、時刻aより、時刻bの方が、以前の時刻であるとすると、正制御装置a側に、時刻aより最近で、時刻bより以前のライトデ−タ113を保持している可能性がある。すでにのべたように、トランザクションの途中結果を残さないようにするには、ある基準時刻以前のライト時刻112をもつライトデ−タ113はすべて保証し、基準時刻以降のライト時刻112をもつライトデ−タ113はすべて破棄する必要がある。したがって、時刻a以前のライト時刻111をもったライトデ−タ112が、副制御装置109でデステ−ジしてよいライトデ−タ112ということになる。
【0038】
以上に対応して、副制御装置109の制御用メモリ108には、正制御装置ライト許可時刻500がある。正制御装置ライト許可時刻500は正制御装置104ごとに存在する情報で、対応する正制御装置104から受け取った最も最近のライト時刻111が格納されている。したがって、上述したように、これらの正制御装置ライト許可時刻500の中で、もっとも以前の時刻を基準時刻として、この基準時刻以前のライト時刻111をもったライトデ−タ112が、副制御装置109でデステ−ジしてよいライトデ−タ112ということになる。
【0039】
以下、本実施例でも、1台の正制御装置104から副制御装置109へのライトデ−タ112の転送を並列に実行した場合の各処理部の内容について述べる。もちろん、1台の正制御装置104から副制御装置109へのライトデ−タ112の転送をシリアライズして実行した場合についても、本実施例は有効である。
【0040】
正制御装置104の各処理部の処理フロ−は第1の実施例で、ライトデ−タ112の転送を並列に実行した場合(図3の処理)の処理フロ−と同様である。
【0041】
次に、副制御装置109の各処理部の処理フロ−の説明を行う。
【0042】
第2の実施例における副ライトデ−タデステ−ジ部b510の処理フロ−について説明する。ここでは、第2の実施例における副ライトデ−タデステ−ジ部520の処理フロ−が、第1の実施例における副ライトデ−タデステ−ジ部170の処理フロ−と異なる点について説明する。第2の実施例における副ライトデ−タ受領部510の処理内容は、デステ−ジするライトデ−タ112を選択する際、対応するライト時刻111が、すべての正制御装置ライト許可時刻500より以前であるかをチェックして、条件を満たすライトデ−タ112を選択する点である。(ステップ511)これ以外は、第2の実施例における副ライトデ−タデステ−ジ部b510の処理フロ−は、第1の実施例における副ライトデ−タデステ−ジ部170の処理フロ−と同様である。
【0043】
副基準時刻受信部b520は、正制御装置104から受信した基準時刻を、基準時刻を送信してきた正制御装置104に対応する正制御装置ライト許可時刻500に設定する。
【0044】
本実施例においては、正障害時デ−タ破棄部b530が、破棄するライトデ−タ112は、対応するライト時刻111が、すべての正制御装置ライト許可時刻500より以前であるという条件を満足しないライトデ−タ112である。(ステップ531)
次に、第3の実施例について説明する。
【0045】
図6は、第の実施例の概要を表す。第3の実施例と第2の実施例の相違も、正制御装置104と副制御装置109の数である。第3の実施例では、正制御装置104の数が2台以上で、副制御装置109の数は1台以上である。この場合、すべての正制御装置104と副制御装置109のペアがお互いに、接続されている必要はない。
【0046】
副制御装置109が複数存在すると、トランザクションの途中結果を残さないようにするには、各副制御装置109間で、デステ−ジするライトデ−タ112を選択する際に用いる基準時刻を共通にする必要がある。これは、デ−タベ−スやジャ−ナルが複数の副制御装置109間に分散している可能性があるためである。
【0047】
本実施例では、デステ−ジするライトデ−タ112を選択する際に用いる基準時刻を決定する機能を、マスタ副制御装置700に持たせる。したがって、マスタ制御装置700とそれ以外の副制御装置109の間は、データ転送路で接続されている。デ−タ転送路が故障すると、各副制御装置109間で、デステ−ジするライトデ−タ112を選択する際に用いる基準時刻を共通化することができなくなるため、デ−タ転送路は多重化しておくことが望ましい。本実施例では、デステ−ジするライトデ−タ112を選択する際に用いる基準時刻を決定する機能を、マスタ副制御装置700に持たせたが、基準時刻を決定する機能を、特定の副制御装置109に持たせず、各副制御装置109に分散させる方法(例えば、交代で、各副制御装置109が基準時刻を決定するような方法)をとっても、本発明は有効である。
【0048】
以上に対応して、マスタ副制御装置700の制御用メモリ108には、副制御装置ライト時刻701がある。副制御装置ライト時刻701は、マスタ副制御装置700も含めた副制御装置109対応の情報である。各副制御装置ライト時刻701は、各副制御装置109から、マスタ副制御装置700が、適当な周期で、その副制御装置109内のすべての正制御装置ライト許可時刻500の中で、もっとも以前の時刻(実施例2で、副制御装置109がライトデ−タの選択の際、基準とした時刻)受け取る情報である。
【0049】
マスタライト時刻702は、第3の実施例において、各副制御装置109がライトデ−タの選択の際、基準とする時刻である。マスタライト時刻702は、マスタ副制御装置700が、適当な周期で、すべての副制御装置ライト時刻701を参照して、もっとも以前の時刻を選択して、この時刻を設定する。選択した時刻以前のライト時刻111をもったすべてのライトデ−タ112は副制御装置109に保持されていることになる。このため、この条件を満足するライトデ−タ112を保証して、満足しないライトデ−タ112はすべて破棄することにより、トランザクションの途中結果を残さないようにすることができる。
【0050】
以下、本実施例でも、1台の正制御装置104から副制御装置109へのライトデ−タ112の転送を並列に実行した場合の各処理部の内容について述べる。もちろん、1台の正制御装置104から副制御装置109へのライトデ−タ112の転送をシリアライズして実行した場合についても、本実施例は有効である。
【0051】
正制御装置104の各処理部の処理フロ−は第2の実施例とほとんど同様である。もちろん、正基準時刻送信部170はライトデ−タ112を送信する各副制御装置109に基準時刻を送る機能をもつ。ただし、送信する基準時刻は、送信を行う副制御装置109に対応するすべてのライトデ−タ112の副制御装置転送必要ビット124がオンになっているライトデ−タ管理情報113の中で、最も以前のライト時刻111である。
【0052】
正制御装置104の各処理部の処理フロ−の中で、第2の実施例と異なるのは、副制御装置109に、副ライト時刻送信部710、副ライトデ−タデステ−ジ部c720、正障害時デ−タ破棄部cを含む点である。また、マスタ副制御装置700は、マスタ副ライト時刻受信部711、マスタライト時刻計算部712、マスタ副ライト時刻送信部713730を含む点である。
【0053】
副ライト時刻送信部710は、適当な周期で、その副制御装置109内のすべての正制御装置ライト許可時刻500の中で、もっとも以前の時刻180を、マスタ副制御装置700のマスタ副ライト時刻受信部711に送る。マスタ副制御装置700以外の副制御装置109の副ライト時刻送信部710は、副制御装置109間のデ−タ転送路を利用する。マスタ副制御装置700の副ライト時刻送信部710は、マスタ副制御装置700の通信手段を利用する。
【0054】
マスタ副ライト時刻受信部711は、副ライト時刻送信部710から受信した時刻を、当該時刻を送ってきた副制御装置109に対応する副制御装置ライト時刻701に、設定する。
【0055】
マスタライト時刻計算部712は、適当な周期で、すべての副制御装置ライト時刻701を参照して、もっとも以前の時刻を選択して、この時刻を、マスタライト時刻702に設定する。
【0056】
マスタ副ライト時刻送信部713は、各副制御装置109の副ライトデ−タデステ−ジ部720、正障害時デ−タ破棄部730からの要求にしたがって、適当な周期で、マスタライト時刻702に設定された時刻を送る。マスタ副制御装置700以外の副制御装置109には、副制御装置109間のデ−タ転送路を利用する。マスタ副制御装置700からの要求には、マスタ副ライト時刻送信部713は、マスタ副制御装置700の通信手段を利用する。
【0057】
副ライトデ−タデステ−ジ部720が、第2の実施例と異なる点は、デステ−ジを行うライトデ−タ112を選択する際、マスタ副ライト時刻送信部713から基準となる時刻を受信し、この時刻より以前のライト時刻111をもつライトデ−タ112をデステ−ジの対象として選択する点である(ステップ721)。
【0058】
正障害時デ−タ破棄部c730が、第2の実施例と異なる点は、キャッシュメモリ107から破棄するライトデ−タ112を選択する際、マスタ副ライト時刻送信部713から基準となる時刻を受信し、この時刻より以前のライト時刻111をもつライトデ−タ112以外のライトデ−タ112を破棄の対象として選択する点である。(ステップ731)
本実施例では、マスタ制御装置700が、副制御装置109から基準となる時刻を計算するのに必要な情報を受け取ったが、図7に示すように、正制御装置104から受け取るようにしてもよい。この場合、マスタ副制御装置700の制御用メモリ108には、マスタ正制御装置ライト時刻800がある。マスタ正制御装置ライト時刻800は、正制御装置104対応の情報である。マスタ正制御装置ライト時刻800は、各正制御装置104から、マスタ副制御装置700が、適当な周期で、その正制御装置109内で、オン状態の副制御装置転送必要ビット124を含むすべてのライトデ−タ管理情報113の中で、最も以前のライト時刻111を受け取リ、設定を行う情報である。マスタライト時刻702には、マスタ副制御装置700が、適当な周期で、すべての正制御装置ライト時刻701を参照して、もっとも以前の時刻を選択して、この時刻を設定する。デステ−ジ、デ−タ破棄の際、基準となる時刻として用いる時刻が、マスタライト時刻702である点は、同様である。
【0059】
【発明の効果】
本発明の目的は、遠隔地の制御装置間で2重書きを行う際、直接制御装置間で、ライトデ−タを受け渡すことにより、デ−タ転送数を必要最小限に留め、しかも、制御装置間の距離が拡大しても、性能の劣化を微小に押さえ、さらに、トランザクションの途中結果を残さないような機能を提供することである。加えて、制御情報のディスク入出力処理の実行も不必要とし、高性能化を図る。
【図面の簡単な説明】
【図1】第1の実施例の概要図。
【図2】ライトデ−タ管理情報のフォ−マット。
【図3】正制御装置から副制御装置へのライトデ−タの転送を並列に実行した場合の正ライトデ−タ送信部の処理フロ−図。
【図4】正制御装置から副制御装置へのライトデ−タの転送を並列に実行した場合の副ライトデ−タデステ−ジ部の処理フロ−図。
【図5】第2の実施例の概要図。
【図6】第3の実施例の概要図。
【図7】第3の実施例において、マスタ副制御装置が、正制御装置からライト時刻に関する情報を収集した場合の処理概要図。
【符号の説明】
104…正制御装置、107…制御用メモリ、108…キャッシュメモリ、109…副制御装置、111…ライト時刻、112…ライトデ−タ、113…ライトデ−タ管理情報、124…副制御装置転送必要ビット、130…正ライトデ−タ受領部、140…正ライトデ−タ送信部、150…副ライトデ−タ受領部、160…副ライトデ−タデステ−ジ部、170…正基準時刻送信部、180…副基準時刻受信部、185…デステ−ジ許可時刻、190…正障害時デ−タ破棄部、300…正ライトデ−タ送信部a、310…副ライトデ−タデステ−ジ部a、500…正制御装置ライト許可時刻、510…副ライトデ−タデステ−ジ部b、520…副基準時刻受信部b、530…正障害時デ−タ破棄部b、700…マスタ副制御装置、701…副制御装置ライト時刻、702…マスタライト基準時刻、710…副ライト時刻送信部、711…マスタ副ライト時刻受信部、712…マスタ副ライト時刻ケ計算部、713…マスタ副ライト時刻送信部、710…副ライトデ−タデステ−ジ部c、720…正障害時デ−タ破棄部c、800…正制御装置ライト時刻。
Claims (18)
- 処理装置に接続される正側記憶装置システムと、前記正側記憶装置システムに接続される副側記憶装置システムとを有する計算機システムであって、
前記正側記憶装置システムは、複数の正側制御装置と、複数の正側キャッシュメモリと、複数の正側ディスク装置とを有し、
前記副側記憶装置システムは、副側制御装置と、副側キャッシュメモリと、複数の副側ディスク装置とを有し、
前記複数の正側制御装置は、各々、ライトデータとライト時刻を有するライト要求を処理装置から受信し、前記ライト要求に含まれるライトデータを前記複数の正側キャッシュメモリのいずれかに格納し、前記ライト要求に対する応答を前記処理装置に送信し、前記複数の正側キャッシュメモリのいずれかに格納された前記ライトデータを、前記複数の正側ディスク装置のいずれかに格納し、複数のライトデータとライト時刻の組を、前記副側制御装置に送信し、
前記副側制御装置は、複数の正側制御装置各々から受信した複数のライトデータを前記副側キャッシュメモリに格納し、
ライト要求を受信した前記正側制御装置は、各々、更に、前記副側制御装置に送信した複数のライトデータ各々と組になっているライト時刻に基づいて決定した基準時刻を、前記副側制御装置に送信し、
前記副側制御装置は、複数の正側制御装置各々から受信した複数の基準時刻に基づいて決定した第一の時刻を基準に、該第一の時刻より以前のライト時刻と対になっているライトデータを、前記キャッシュメモリに格納されているライトデータから選択し、選択したライトデータを前記副側キャッシュメモリから前記複数の副側ディスク装置のいずれかへ書き込むことを特徴とする計算機システム。 - 請求項1記載の計算機システムであって、
前記複数の正側キャッシュメモリ及び前記副側キャッシュメモリは不揮発性のキャッシュメモリであることを特徴とする計算機システム。 - 請求項1記載の計算機システムであって、
前記正側記憶装置システムは更に第2の処理装置にも接続され、前記処理装置と前記第2の処理装置とは、共通のクロックを使用していることを特徴とする計算機システム。 - 請求項1記載の計算機システムであって、
前記第一の時刻は、前記副側制御装置が受信した複数の基準時刻のうち、最も以前の時刻であることを特徴とする計算機システム。 - 請求項1記載の計算機システムであって、
前記正側記憶装置システムに障害が発生した際、前記副側制御装置は、前記副側キャッシュメモリに格納されているライトデータのうち、前記第一の時刻より後のライト時刻と対になっているライトデータを破棄することを特徴とする計算機システム。 - 請求項5記載の計算機システムであって、
前記複数の正側キャッシュメモリ及び前記副側キャッシュメモリは不揮発性のキャッシュメモリであることを特徴とする計算機システム。 - 請求項5記載の計算機システムであって、
前記正側記憶装置システムは更に第2の処理装置にも接続され、前記処理装置と前記第2の処理装置とは、共通のクロックを使用していることを特徴とする計算機システム。 - 複数の正側制御装置と複数の正側ディスク装置とを有し、処理装置に接続される正側記憶装置システムと接続される、副側記憶装置システムであって、
副側制御装置と、キャッシュメモリと、複数の副側ディスク装置とを有し、
前記副側制御装置は、
前記処理装置から前記複数の正側制御装置各々に向けて送信された複数のライトデータとライト時刻の組を、前記複数の正側制御装置各々から受信し、受信した複数のライトデータを前記キャッシュメモリに格納し、
前記複数の正側制御装置各々から、前記処理装置から該複数の正側制御装置各々へ向けて送信され該副側制御装置へ送信された複数のライト時刻に基づいて決定された基準時刻を受信し、
受信した複数の基準時刻に基づいて決定した第一の時刻を基準に、該第一の時刻より以前のライト時刻と対になっているライトデータを、前記キャッシュメモリに格納されているライトデータから選択し、
選択したライトデータを前記キャッシュメモリから前記複数の副側ディスク装置のいずれかに書き込むことを特徴とする副側記憶装置システム。 - 請求項8記載の副側記憶装置システムであって、
前記第一の時刻は、前記副側制御装置が受信した複数の基準時刻のうち、最も以前の時刻であることを特徴とする副側記憶装置システム。 - 請求項8記載の副側記憶装置システムであって、
正側記憶装置システムに障害が発生した際、前記副側制御装置は、前記キャッシュメモリに格納されるライトデータのうち、前記第一の時刻より後のライト時刻と対になっているライトデータを破棄することを特徴とする副側記憶装置システム。 - 処理装置と接続される正側記憶装置システムと、前記正側記憶装置システムに接続される副側記憶装置システムとを有する計算機システムであって、
前記正側記憶装置システムは、各々、正側キャッシュメモリを有する複数の正側制御装置と、複数の正側ディスク装置とを有し、
前記副側記憶装置システムは、各々、副側キャッシュメモリを有する複数の副側制御装置と、複数の副側ディスク装置とを有し、
前記複数の正側制御装置は、各々、前記処理装置から受信したライトデータとライト時刻を含むライト要求のうち、ライトデータを正側キャッシュメモリに格納し、前記ライト要求に対する応答を前記処理装置に送信し、正側キャッシュメモリから前記ライトデータを前記複数の正側ディスク装置のいずれかに書き込み、複数のライトデータとライト時刻の組を前記副側記憶装置システムに送信し、
前記複数の副側制御装置は、各々、前記複数の正側制御装置各々から受信した複数のライトデータを副側キャッシュメモリに格納し、
前記複数の正側制御装置は、各々、前記副側制御装置に送信した複数のライトデータ各々と組になっているライト時刻に基づいて決定される第1の基準時刻を、前記複数のライトデータとライト時刻の組を送信した前記副側制御装置に送信し、
前記複数の副側制御装置は、各々、受信した複数の第1の基準時刻に基づいて第2の基準時刻を決定し、前記複数の副側制御装置のいずれかが、前記複数の副側制御装置間の通信手段を介して受信した複数の第2の基準時刻に基づいて決定した第3の基準時刻を基準に、該第3の基準時刻より以前のライト時刻と対になっているライトデータを前記副側キャッシュメモリから前記複数の副側ディスク装置のいずれかに書き込むことを特徴とする計算機システム。 - 請求項11記載の計算機システムであって、
前記第2の基準時刻は、前記複数の副側制御装置各々が、前記複数の正側制御装置各々から受信した複数の第1の基準時刻のうち、最も以前の時刻であることを特徴とする計算機システム。 - 請求項11記載の計算機システムであって、
前記第3の基準時刻は、前記複数の副側制御装置各々が決定した第2の基準時刻のうち最も以前の時刻であることを特徴とする計算機システム。 - 請求項11記載の計算機システムであって、
前記正側記憶装置システムに障害が発生した際、前記複数の副側制御装置は、各々、前記第3の基準時刻より後のライト時刻と対になっているライトデータを破棄することを特徴とする計算機システム。 - 処理装置と接続される正側記憶装置システムと接続される副側記憶装置システムであって、
前記正側記憶装置システムは前記処理装置からライトデータとライト時刻を有するライト要求を受信する複数の正側制御装置と、複数の正側ディスク装置を有しており、
前記副側記憶装置システムは、複数の副側制御装置と、複数の副側キャッシュメモリと、複数の副側ディスク装置とを有し、
前記複数の副側制御装置は、各々、前記複数の正側制御装置各々から、複数のライトデータとライト時刻の組を受信し、ライトデータを前記複数の副側キャッシュメモリのいずれかに格納し、
前記複数の副側制御装置は、各々、当該副側制御装置へ前記複数のライトデータとライト時刻の組を送信した前記正側制御装置が前記副側制御装置に送信した複数のライトデータ各々と組になっているライト時刻に基づいて決定した第1の基準時刻を、当該正側制御装置から受信し、
前記複数の副側制御装置は、各々、受信した複数の第1の基準時刻に基づいて第2の基準時刻を決定し、
前記複数の副側制御装置のいずれか1つが、前記複数の副側制御装置間の通信手段を介して受信した複数の第2の基準時刻に基づいて決定した第3の基準時刻を基準に、該第3の基準時刻より以前のライト時刻と対になっているライトデータを、副側キャッシュメモリから前記副側ディスク装置のいずれかに書き込むことを特徴とする副側記憶装置システム。 - 請求項15記載の副側記憶装置システムであって、
前記第2の基準時刻は、副側制御装置が複数の正側制御装置各々から受信した複数の第1の基準時刻のうち最も以前の時刻であることを特徴とする副側記憶装置システム。 - 請求項15記載の副側記憶装置システムであって、
前記第3の基準時刻は複数の副側制御装置各々が決定した第2の基準時刻のうち、最も以前の時刻であることを特徴とする副側記憶装置システム。 - 請求項15記載の副側記憶装置システムであって、
前記正側記憶装置システムに障害が発生した際、前記複数の副側制御装置は、各々、前記第3の基準時刻より後のライト時刻と対になっているライトデータを破棄することを特徴とする副側記憶装置システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003006508A JP3797328B2 (ja) | 2003-01-15 | 2003-01-15 | 記憶制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003006508A JP3797328B2 (ja) | 2003-01-15 | 2003-01-15 | 記憶制御装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24817797A Division JP3414218B2 (ja) | 1997-09-12 | 1997-09-12 | 記憶制御装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004004923A Division JP3894196B2 (ja) | 2004-01-13 | 2004-01-13 | 記憶制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003202962A JP2003202962A (ja) | 2003-07-18 |
JP3797328B2 true JP3797328B2 (ja) | 2006-07-19 |
Family
ID=27656075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003006508A Expired - Fee Related JP3797328B2 (ja) | 2003-01-15 | 2003-01-15 | 記憶制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3797328B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7724599B2 (en) | 2003-12-03 | 2010-05-25 | Hitachi, Ltd. | Remote copy system |
JP4547170B2 (ja) * | 2004-03-08 | 2010-09-22 | 株式会社日立製作所 | ディスクアレイ装置およびその制御方法 |
JP4549709B2 (ja) | 2004-03-23 | 2010-09-22 | 株式会社日立製作所 | ストレージ装置 |
JP2008041739A (ja) * | 2006-08-02 | 2008-02-21 | Tokai Kogaku Kk | 蛍光発光装置 |
JP5331050B2 (ja) * | 2009-08-27 | 2013-10-30 | 日本電信電話株式会社 | データ同期システム、データ同期方法、情報処理装置、情報処理方法、およびプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05204739A (ja) * | 1992-01-29 | 1993-08-13 | Nec Corp | 重複型分散データベースの同期方式 |
KR0128271B1 (ko) * | 1994-02-22 | 1998-04-15 | 윌리암 티. 엘리스 | 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템 |
JP3769775B2 (ja) * | 1995-06-14 | 2006-04-26 | 富士通株式会社 | 分散リンク情報維持方法 |
JP2000501532A (ja) * | 1995-12-01 | 2000-02-08 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | データベースアクセス |
-
2003
- 2003-01-15 JP JP2003006508A patent/JP3797328B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003202962A (ja) | 2003-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3414218B2 (ja) | 記憶制御装置 | |
US6523087B2 (en) | Utilizing parity caching and parity logging while closing the RAID5 write hole | |
US7975168B2 (en) | Storage system executing parallel correction write | |
JP4074072B2 (ja) | データの完全性を備えるリモートコピーシステム | |
US7373470B2 (en) | Remote copy control in a storage system | |
US8751716B2 (en) | Adaptive data throttling for storage controllers | |
US20070168754A1 (en) | Method and apparatus for ensuring writing integrity in mass storage systems | |
JP2005258918A (ja) | ストレージシステムおよびストレージシステムのキャッシュメモリ制御方法 | |
JPH10198607A (ja) | データ多重化システム | |
US20060248301A1 (en) | Storage control apparatus and storage control method | |
JP2007122117A (ja) | ストレージシステム及び記憶制御方法 | |
US20130007368A1 (en) | Methods and systems for improved miorroring of data between storage controllers using bidirectional communications | |
JP3797328B2 (ja) | 記憶制御装置 | |
JP3894196B2 (ja) | 記憶制御装置 | |
JP4531643B2 (ja) | 記憶制御方法、システム及びプログラム | |
US8510506B2 (en) | Disk array device, disk array system and cache control method | |
JP3894220B2 (ja) | 記憶制御装置 | |
JP2006236387A (ja) | 記憶制御装置 | |
JP2003050675A (ja) | データ多重化システム | |
JP2006155202A (ja) | 遠隔バックアップシステム及び方法 | |
JP2006146966A (ja) | 記憶制御装置 | |
JP2007115287A (ja) | 記憶制御装置 | |
KR100423812B1 (ko) | 디스크 캐쉬메모리 제어기 및 패리티 연산장치를 구비한알에이아이디 제어기 및 패리티 연산방법 | |
JP4030951B2 (ja) | データ二重化装置及び方法 | |
JP4698145B2 (ja) | ディスクアレイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050531 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060220 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060410 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |