説明

ミラーリング復旧装置、および、ミラーリング復旧方法

【課題】ミラーリングの復旧処理中に他のアクセス命令を停止させることなく、復旧処理専用の競合制御機能を不要とするミラーリング復旧装置を提供すること。
【解決手段】記憶装置12a、12bと、記憶装置12a、12bの二重化を制御するミラーリング制御部13と、読出し対象のデータを記憶装置12a、12bから読み出して記憶するとともに、書き戻し対象のデータをミラーリング制御部13を介して記憶装置12a、12bに書き戻すキャッシュ部14と、ミラーリング制御部13が縮退状態から正常状態に復旧する際に、記憶装置12a、12bに対して未更新ライト命令を発行することにより、縮退状態で用いた記憶装置12aから読み出されたデータをキャッシュ部14に登録し、登録したデータがキャッシュ部14により記憶装置12a、12bに書き戻されることを利用して記憶装置12a、12bの二重化を復旧させるミラーリング復旧部15とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、二重化された記憶装置のミラーリング構成を復旧するミラーリング復旧装置およびミラーリング復旧方法に関する。
【背景技術】
【0002】
記憶装置を二重化するミラーリング技術が知られている。このようなミラーリング技術を採用した情報処理装置は、データを二重化して記憶させる一対の記憶装置を有する。そして、このような情報処理装置は、2つの記憶装置が正常に動作する正常状態では、いずれかの記憶装置からデータを読み込み、両方の記憶装置にデータを書き込む。また、このような情報処理装置は、いずれかの記憶装置に障害が発生した場合、正常な記憶装置のみに対してデータの読み書きを行う縮退状態となる。そして、このような情報処理装置は、障害が発生した記憶装置の交換等により縮退状態から正常状態へと復旧する。このとき、このような情報処理装置は、正常な記憶装置のデータを、交換された記憶装置にコピーすることにより、一対の記憶装置のミラーリング構成を復旧する。このような情報処理装置において、ミラーリング復旧処理を行うミラーリング復旧処理装置の一例が、特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−244241号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述のような情報処理装置では、ミラーリングの復旧処理中、正常な記憶装置から交換された記憶装置へのデータコピーと、情報処理装置の通常運用による記憶装置へのアクセスとが競合しないようにする必要がある。そのため、このような情報処理装置は、ミラーリングの復旧処理中、記憶装置への他のアクセス命令を停止させる必要があった。このような他のアクセス命令停止は、ミラーリングの復旧処理中の情報処理装置の性能低下を招く。あるいは、復旧処理中の他のアクセス命令停止を行わない場合、このような情報処理装置は、復旧処理のデータコピー対象のデータと、通常運用によるアクセス対象のデータとが競合しないように制御する競合制御機能を設ける必要があった。
【0005】
本発明は、上述の課題を解決するためになされたもので、ミラーリングの復旧処理中に他のアクセス命令を停止させることなく、復旧処理専用の競合制御機能を不要とするミラーリング復旧装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のミラーリング復旧装置は、一対の記憶装置と、前記一対の記憶装置の両方が利用可能な場合、上位装置による書き込み要求対象のデータを前記一対の記憶装置に二重化して記憶させるとともに、前記上位装置による読み出し要求対象のデータを前記一対の記憶装置のいずれかから読み出す正常状態で動作し、前記一対の記憶装置のいずれか一方が利用不可能な場合、利用可能な他方に対して前記書き込み要求対象および前記読み出し要求対象のデータを入出力する縮退状態で動作するミラーリング制御部と、前記上位装置により前記一対の記憶装置に対して入出力されるデータを一時的に記憶するキャッシュ部であって、前記読み出し要求対象のデータを未だ記憶していなければ、前記ミラーリング制御部を介して該データを前記一対の記憶装置のいずれかから読み出して記憶するとともに、書き戻し対象のデータを、前記ミラーリング制御部を介して前記一対の記憶装置に書き戻すキャッシュ部と、前記ミラーリング制御部が前記縮退状態から前記正常状態に復旧する際に、前記一対の記憶装置に対して、読み出し後に更新せずに書き込みを行う未更新ライト命令を発行することにより、前記一対の記憶装置のうち前記縮退状態で用いられた記憶装置から読み出されたデータを前記キャッシュ部に登録し、登録したデータが前記キャッシュ部により前記一対の記憶装置に書き戻されることを利用して前記一対の記憶装置の二重化を復旧させるミラーリング復旧部と、を備える。
【0007】
また、本発明のミラーリング復旧方法は、一対の記憶装置のうちいずれか一方が利用不可能な場合に利用可能な他方に対して上位装置による書き込み要求対象および読み出し要求対象のデータを入出力する縮退状態から、前記一対の記憶装置の両方が利用可能な場合に前記書き込み要求対象のデータを前記一対の記憶装置に二重化して記憶させるとともに前記読み出し要求対象のデータを前記一対の記憶装置のいずれかから読み出す正常状態に復旧する際に、前記一対の記憶装置に対して、読み出し後に更新せずに書き込みを行う未更新ライト命令を発行し、前記上位装置により前記一対の記憶装置に対して入出力されるデータを一時的に記憶するキャッシュ部に、前記未更新ライト命令の対象データがない場合、前記一対の記憶装置のうち前記縮退状態で用いられた記憶装置から前記対象データを前記キャッシュ部に読み込んで登録し、前記キャッシュ部に登録されたデータが前記キャッシュ部から前記一対の記憶装置に書き戻されることを利用して、前記一対の記憶装置の二重化を復旧する。
【発明の効果】
【0008】
本発明は、ミラーリングの復旧処理中に他のアクセス命令を停止させることなく、復旧処理専用の競合制御機能を不要とするミラーリング復旧装置を提供することができる。
【図面の簡単な説明】
【0009】
【図1】本発明の第1の実施の形態としてのミラーリング復旧装置の構成図である。
【図2】本発明の第1の実施の形態におけるミラーリング復旧方法を説明するフローチャートである。
【図3】本発明の第2の実施の形態としてのミラーリング復旧装置の構成図である。
【図4】本発明の第2の実施の形態におけるミラーリング復旧方法を説明するフローチャートである。
【図5】本発明の第3の実施の形態としてのミラーリング復旧装置の構成図である。
【発明を実施するための形態】
【0010】
以下、本発明の各実施の形態について説明する。なお、本発明の各実施の形態では、本発明の一対の記憶装置として、主記憶装置(以下、メモリと記載する)を適用した例について説明する。
【0011】
(第1の実施の形態)
まず、本発明の第1の実施の形態について、図面を参照して詳細に説明する。
【0012】
本発明の第1の実施の形態としてのミラーリング復旧装置1の構成を図1に示す。図1において、ミラーリング復旧装置1は、メモリ12aおよび12bと、ミラーリング制御部13と、キャッシュ部14と、ミラーリング復旧部15と、を備えている。また、ミラーリング復旧装置1は、本発明における上位装置の一実施形態としてのCPU(Central Processing Unit)にバスを介して接続されている。このCPUは、ミラーリング復旧装置1を含むコンピュータ装置に含まれるものであってもよい。
【0013】
メモリ12aおよび12bは、本発明の一対の記憶装置の一実施形態を構成している。メモリ12aおよび12bは、後述のミラーリング制御部13により二重化されたデータを記憶する。また、メモリ12aおよび12bは、ミラーリング復旧装置1を含むコンピュータ装置におけるRAM(Random Access Memory)として機能する。すなわち、上位装置としてのCPUは、図示しない補助記憶装置、ROM(Read Only Memory)または周辺機器から、コンピュータ・プログラムやデータをメモリ12aおよび12bに読み込み、読み込んだコンピュータ・プログラムやデータを用いて各種処理を実行する。メモリ12aおよび12bは、例えば、DRAM(Dynamic Random Access Memory)等の半導体メモリによって構成されていてもよい。
【0014】
ミラーリング制御部13は、メモリ12aおよび12bの両方が利用可能な場合、正常状態で動作する。具体的には、ミラーリング制御部13は、正常状態では、CPUによる書き込み要求対象のデータをメモリ12aおよび12bに二重化して記憶させる。すなわち、ミラーリング制御部13は、データのライト命令を受信すると、メモリ12aおよび12bにそれぞれライト命令を発行する。
【0015】
また、ミラーリング制御部13は、正常状態では、CPUによる読み出し要求対象のデータをメモリ12aおよび12bのいずれかから読み出す。すなわち、ミラーリング制御部13は、データのリード命令を受信すると、メモリ12aおよび12bのいずれかから対象データを読み込む。
【0016】
また、ミラーリング制御部13は、メモリ12aおよび12bのいずれか一方が利用不可能な場合、縮退状態で動作する。具体的には、ミラーリング制御部13は、縮退状態では、メモリ12aおよび12bのうち利用可能な方に対して、CPUによる読み出し要求対象および書き込み要求対象のデータを入出力する。例えば、ミラーリング制御部13は、メモリ12aおよび12bのうちいずれかに障害が発生すると、縮退状態で動作する。
【0017】
キャッシュ部14は、CPUによってメモリ12aおよび12bに対して入出力されるデータを一時記憶する。
【0018】
また、キャッシュ部14は、CPUによる読み出し要求の対象データを未だ記憶していなければ、ミラーリング制御部13を介して該データをメモリ12aおよび12bのいずれかから読み出して記憶する。具体的には、キャッシュ部14は、CPUからのリード命令をミラーリング制御部13に転送する。そして、キャッシュ部14は、リード命令の対象データをミラーリング制御部13から受け取ると、受け取ったデータを一時的に記憶する。なお、キャッシュ部14は、リード命令の対象データを既に記憶している場合、リード命令をミラーリング制御部13に転送しない。
【0019】
また、キャッシュ部14は、書き戻し対象のデータを、ミラーリング制御部13を介してメモリ12aおよび12bに書き戻す。例えば、キャッシュ部14は、リード命令の対象データを記憶しておらず、かつ、新たなデータを格納する領域がない場合、既に記憶しているデータのうち書き戻し対象のデータを所定のキャッシュアルゴリズムにしたがって決定してもよい。そして、キャッシュ部14は、決定した書き戻し対象のデータが読み出し後に更新されたことを表す更新済み状態であれば、メモリ12aおよび12bに書き戻すためのライト命令を発行する。このキャッシュ部14からのライト命令は、ミラーリング制御部13によって処理される。その結果、スワップアウトされたデータは、メモリ12aおよび12bに二重化されて記憶される。
【0020】
また、キャッシュ部14は、後述の未更新ライト命令を受信すると、メモリ12aおよび12bのいずれかから、ミラーリング制御部13を介して対象データを読み込んで一時的に記憶する。このとき、キャッシュ部14は、読み込んだデータを未更新のまま更新済み状態にする。ただし、キャッシュ部14は、受信した未更新ライト命令の対象データを既に記憶している場合、メモリ12aおよび12bからの読み出しを省略するが、記憶している対象データが未更新であっても更新済み状態にする。なお、未更新ライト命令とは、読み出し後に更新せずに書き込みを行うライト命令である。
【0021】
ミラーリング復旧部15は、ミラーリング制御部13が縮退状態から正常状態に復旧する際に、メモリ12aおよび12bのミラーリング構成を復旧する処理を行う。例えば、ミラーリング復旧部15は、メモリ12aおよび12bのうち障害が発生したメモリが交換されたことを表す情報の取得に応じて、ミラーリング復旧処理を行うようにしてもよい。具体的には、ミラーリング復旧部15は、メモリ12aおよび12bに対応するメモリ空間の各データに対して前述の未更新ライト命令を発行する。この未更新ライト命令は、キャッシュ部14によって処理される。これにより、ミラーリング復旧部15は、メモリ12aおよび12bのうち縮退状態で用いられていたメモリに記憶されているデータを順次読み込んでキャッシュ部14に登録する。ただし、ミラーリング復旧部15は、既にキャッシュ部14に記憶されているデータについては、縮退状態で用いられていたメモリ12aまたは12bからの読み出しを省略する。この後、CPUによる各種処理の実行に伴い、キャッシュ部14は、記憶したデータのうち書き戻し対象のデータをメモリ12aおよび12bに書き戻していく。すなわち、縮退状態で用いられていたメモリ12aまたは12bに記憶されるデータは、キャッシュ部14に登録され更新済み状態となっている。したがって、これらのデータは、キャッシュ部14によって書き戻し対象として選択されると、ミラーリング制御部13によってメモリ12aおよびメモリ12bの双方に二重化されて書き戻される。
【0022】
以上のように構成されたミラーリング復旧装置1のミラーリング復旧動作について、図2を参照して説明する。なお、ミラーリング復旧装置1において、メモリ12aが利用可能な縮退状態から、メモリ12bが新たなメモリ12bに交換されて両方のメモリ12aおよび12bが利用可能になったものとして、以下の動作を説明する。また、下記の動作中も、ミラーリング復旧装置1は、CPUからのリード命令およびライト命令の受信に応じた処理を行うものとする。
【0023】
まず、ミラーリング復旧部15は、メモリ12aおよび12bに対応するメモリ空間の各データについて、順次以下のステップS1〜S6の処理を実行する。
【0024】
ここでは、まず、ミラーリング復旧部15は、該当するデータの未更新ライト命令をキャッシュ部14に通知する(ステップS1)。
【0025】
次に、キャッシュ部14は、該当するデータを既に格納している場合(ステップS2でYes)、ステップS3〜S5の動作をスキップし、該当するデータを更新済み状態にする(ステップS6)。
【0026】
一方、該当するデータを格納していなかった場合(ステップS2でNo)、キャッシュ部14は、該当するデータのリード命令をミラーリング制御部13に通知する(ステップS3)。
【0027】
なお、このとき、新たなデータを記憶する領域がなければ、リード命令をミラーリング制御部13に通知する前に、キャッシュ部14は、書き戻し対象のデータのライト命令をミラーリング制御部13に通知するようにする。
【0028】
次に、ミラーリング制御部13は、縮退状態で利用されていたメモリ12aにリード命令を通知する(ステップS4)。
【0029】
次に、ミラーリング制御部13は、メモリ12aから返却される対象データをキャッシュ部14に返却する(ステップS5)。
【0030】
次に、キャッシュ部14は、ステップS5で返却されたデータを更新済み状態とする(ステップS6)。
【0031】
ここで、メモリ12aおよび12bに対応するメモリ空間の全データについてステップS1〜S6の処理を終了していなければ(ステップS7でNo)、ミラーリング復旧装置1は、次のデータについてステップS1からの動作を繰り返す。
【0032】
なお、このようなミラーリング復旧動作中も、キャッシュ部14は、CPUからのリード命令およびライト命令を受信している。そして、キャッシュ部14は、CPUからの命令の処理およびミラーリング復旧部15からの未更新ライト命令の処理に伴って、書き戻し対象のデータのライト命令をミラーリング制御部13に順次通知していく。そして、ミラーリング制御部13は、既にメモリ12aおよび12bの両方が利用可能となっているため、ライト命令対象のデータをメモリ12aおよび12bの両方に順次書き戻していく。
【0033】
そして、全データについてステップS1〜S6の処理が終了し(ステップS7でYes)、かつ、ステップS1で発行した未更新ライト命令の発行によりキャッシュ部14で更新済みとされた全データが、メモリ12aおよび12bに書き戻されると(ステップS8でYes)、ミラーリング復旧装置1はミラーリング復旧動作を終了する。
【0034】
次に、本発明の第1の実施の形態の効果について述べる。
【0035】
本発明の第1の実施の形態としてのミラーリング復旧装置は、ミラーリングの復旧処理中に他のアクセス命令を停止させることなく、復旧処理専用の競合制御機能を不要とすることができる。
【0036】
その理由は、ミラーリング復旧部が、未更新ライト命令を発行することにより、縮退状態で利用されていた記憶装置から、交換等により新たに利用可能となった他方の記憶装置へのデータコピーを、キャッシュ部による書き戻しを利用して実現するからである。このとき、ミラーリング復旧部は、縮退状態で利用されていた記憶装置のデータのうち既にキャッシュ部にあるデータは新たにキャッシュ部に登録することをしない。これにより、縮退状態でキャッシュ部に存在するデータが上位装置からアクセスされて更新されていた場合でも、既に古いデータとなっている記憶装置内のデータを、交換された記憶装置にコピーすることがない。そして、この場合、キャッシュ部に存在する新しいデータが、キャッシュ部からのメモリへの書き戻し処理により、一対の記憶装置の両方にコピーされることになる。このように、本発明の第1の実施の形態としてのミラーリング復旧装置は、ミラーリング復旧部をキャッシュ部より上位に設けることにより、ミラーリングの復旧処理中に、通常運用によるアクセス対象のデータと、復旧処理によるコピー対象のデータとの競合制御機能を設ける必要がない。
【0037】
(第2の実施の形態)
以下、本発明の第2の実施の形態について、図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【0038】
本発明の第2の実施の形態としてのミラーリング復旧装置2の構成を図3に示す。図3において、ミラーリング復旧装置2は、メモリ22aおよび22bと、ミラーリング制御部23と、キャッシュ部14と、ミラーリング復旧部25と、エラー検出訂正部26aおよび26bと、パトロール命令発行部27と、を備える。
【0039】
メモリ22aおよび22bは、本発明の一対の記憶装置の一実施形態を構成している。また、メモリ22aおよび22bは、本発明の第1の実施の形態におけるメモリ12aおよび12bと同様に構成されるのに加えて、データと共に誤り訂正符号(ECC:Error Correcting Code)を格納する。なお、ECCは、図示しないエラー訂正符号化部によって生成され、メモリ22aおよび22bに書き込まれたものであってもよい。
【0040】
エラー検出訂正部26aおよび26bは、メモリ22aおよび22bから読み出されたデータに訂正可能エラーを検出した場合、そのエラーを訂正する。例えば、エラー訂正符号として、SEC−DED(Single Error Correcting - Double Error Detecting Code)が用いられている場合、エラー検出訂正部26aおよび26bは、メモリ22aおよび22bから読み出されるデータに1ビットの誤りを検出するとこれを訂正する。そして、エラー検出訂正部26aおよび26bは、訂正したデータをミラーリング制御部23に返却する。
【0041】
また、エラー検出訂正部26aおよび26bは、メモリ22aおよび22bから読み出されるデータに訂正可能エラーを検出しなかった場合は、正常なデータをミラーリング制御部23に返却する。
【0042】
また、エラー検出訂正部26aおよび26bは、メモリ22aおよび22bから読み出されるデータに訂正不可能なエラーを検出した場合、データが正常でないことをミラーリング制御部23に通知してもよい。例えば、エラー訂正符号として、SEC−DEDが用いられている場合、エラー検出訂正部26aおよび26bは、メモリ22aおよび22bから読み出されるデータに2ビットの誤りを検出すると、データが正常でないことをミラーリング制御部23に通知する。
【0043】
ミラーリング制御部23は、正常状態では、書き込み対象のデータをメモリ22aおよび22bに二重化して記憶させる。すなわち、ミラーリング制御部23は、データのライト命令を受信すると、メモリ22aおよび22bにそれぞれライト命令を発行する。そして、ミラーリング制御部23は、対象のデータを誤り訂正符号と共にメモリ22aおよび22bにそれぞれ記憶させる。
【0044】
また、ミラーリング制御部23は、読み出し対象のデータを、メモリ22aおよび22bのいずれかから読み出す。具体的には、ミラーリング制御部23は、受信したリード命令をメモリ22aおよび22bに転送する。そして、ミラーリング制御部23は、メモリ22aおよび22bから読み出された正常なデータ、エラー訂正されたデータ、または、訂正不可能なエラーであることを表す情報のいずれかをエラー検出訂正部26aおよび26bからそれぞれ受信する。
【0045】
このとき、ミラーリング制御部23は、メモリ22aおよび22bのうち少なくともいずれか1つから正常なデータまたはエラー訂正されたデータを受信すると、該データをキャッシュ部14に返却する。
【0046】
パトロール命令発行部27は、データに対するパトロールを行うためのパトロール命令を発行する。ここで、パトロールとは、メモリ22aおよび22b内の各データに定期的にアクセスすることにより、訂正不可能なエラーが検出される前に、訂正可能なエラーのうちに訂正して正常なデータに戻す機能である。具体的には、パトロール命令発行部27は、メモリ22aおよび22bに対応するメモリ空間の各データに対して、所定のパトロール間隔で、パトロール命令として未更新ライト命令を発行する。すなわち、パトロール命令発行部27は、メモリ22aおよび22bのいずれかから読み出された正常なデータ、または、読み出し後にエラー検出訂正部26aまたは26bによりエラー訂正されたデータを、キャッシュ部14に登録する。ただし、パトロール命令発行部27は、既にキャッシュ部14にあるデータについては、メモリ22aおよび22bからの読み出しを省略する。なお、未更新ライト命令の対象データは、キャッシュ部14において更新済み状態とされる。
【0047】
ミラーリング復旧部25は、ミラーリング制御部23が縮退状態から正常状態に復旧する際に、パトロール命令発行部27を用いて、メモリ22aおよび22bの二重化を復旧させる。また、パトロール命令発行部27のパトロール間隔が制御可能に構成されている場合、ミラーリング復旧部25は、このパトロール間隔を制御することにより、メモリ22aおよび22bの二重化の復旧速度を調整してもよい。
【0048】
例えば、パトロール命令発行部27の通常のパトロール間隔が、メモリ22aおよび22bに対応する全メモリ空間に対するパトロール処理を数週間から数ヶ月程度の期間で完了可能な間隔に設定されていたとする。この場合、ミラーリング復旧部25は、このパトロール間隔のままパトロール命令発行部27を用いると、ミラーリング復旧処理の完了までに多大な時間を要する。そこで、ミラーリング復旧部25は、例えば、パトロール命令を連続発行するようパトロール命令発行部27のパトロール間隔を制御する。
【0049】
以上のように構成されたミラーリング復旧装置2のミラーリング復旧動作について、図4を参照して説明する。なお、ミラーリング復旧装置2において、メモリ22aが利用可能な縮退状態から、メモリ22bが新たなメモリ22bに交換されて両方のメモリ22aおよび22bが利用可能になったものとして、以下の動作を説明する。また、下記の動作中も、ミラーリング復旧装置2は、CPUからのリード命令およびライト命令の受信に応じた処理を行うものとする。
【0050】
まず、ミラーリング復旧部25は、パトロール命令発行部27のパトロール命令発行間隔を制御する(ステップS21)。例えば、ミラーリング復旧部25は、パトロール命令発行部27がパトロール命令を連続発行するよう制御する。
【0051】
次に、パトロール命令発行部27は、該当するデータのパトロール命令として未更新ライト命令をキャッシュ部14に通知する(ステップS22)。
【0052】
次に、ミラーリング復旧装置2は、ステップS2〜S4まで本発明の第1の実施の形態と同様に動作することにより、縮退状態で利用していたメモリ22aに対して、該当するデータのリード命令を通知する。なお、ミラーリング復旧装置2は、該当するデータが既にキャッシュ部14にあれば、ステップS3〜S4、S23〜S25の動作をスキップする。
【0053】
次に、エラー検出訂正部26aは、リード命令に対応してメモリ22aから読み出されたデータに訂正可能なエラーを検出すると(ステップS23でYes)、そのエラーを訂正する(ステップS24)。そして、ミラーリング制御部23は、エラー訂正されたデータをキャッシュ部14に返却する(ステップS25)。一方、メモリ22aから読み出されたデータにエラーが検出されなければ、ミラーリング制御部23は、正常なデータをキャッシュ部14に返却する(ステップS25)。
【0054】
そして、ミラーリング復旧装置2は、メモリ22aおよび22bに対応するメモリ空間の各データについてパトロール命令の連続発行が完了するまで、ステップS21〜S22、S2〜S4、S23〜S25、およびS6の動作を繰り返す。
【0055】
そして、ミラーリング復旧装置2は、ステップS7〜S8まで本発明の第1の実施の形態と同様に動作することにより、メモリ22aに記憶されたデータを、キャッシュ部14を介してメモリ22aおよび22bへ書き戻す処理を完了する。
【0056】
以上で、ミラーリング復旧装置2のミラーリング復旧動作の説明を終了する。
【0057】
次に、本発明の第2の実施の形態の効果について述べる。
【0058】
本発明の第2の実施の形態としてのミラーリング復旧装置は、ミラーリング復旧処理専用のデータコピー機能および競合制御機能を設けることなく、二重化された記憶装置のミラーリング復旧処理を行うことができる。
【0059】
その理由は、記憶装置の各データをパトロールするパトロール命令発行部を流用することにより、ミラーリング復旧時のデータコピー機能を実現することができるからである。すなわち、このようなパトロール命令発行部は、パトロール対象の記憶装置のデータを定期的に読み出す未更新ライト命令を発行することにより、読み出したデータに訂正可能エラーがあればエラーを訂正する。そして、このようなパトロール命令発行部は、ミラーリング制御部を介して、正常なデータまたはエラー訂正されたデータを一対の記憶装置に二重化して書き戻す。このとき、パトロール命令発行部は、未更新ライト命令の対象データがキャッシュ部に既にあれば、パトロール処理を終了する。このように、パトロール命令発行部は、キャッシュ部より上位に配置されていることにより、上位装置からの一対の記憶装置のデータに対するアクセスと競合することなく、パトロールを実行することができる。そして、このようなパトロール命令発行部を流用することにより、本発明の第2の実施の形態としてのミラーリング復旧装置は、ミラーリング復旧処理専用のデータコピー機能および競合制御機能を設けることなく、一対の記憶装置のミラーリング復旧処理を行うことができる。
【0060】
さらに、ミラーリング復旧部が、パトロール命令発行部のパトロール命令発行間隔を制御することにより、本発明の第2の実施の形態としてのミラーリング復旧装置は、ミラーリング復旧の処理速度を調整することが可能となる。
【0061】
(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第2の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【0062】
本発明の第3の実施の形態としてのミラーリング復旧装置3の構成を図5に示す。図5において、ミラーリング復旧装置3は、本発明の第2の実施の形態としてのミラーリング復旧装置2に対して、ミラーリング復旧部25に替えてミラーリング復旧部35を備え、複数の主記憶部31および主記憶制御部38をさらに備える点が異なる。
【0063】
主記憶部31は、メモリ22aおよび22b、エラー検出訂正部26aおよび26b、および、ミラーリング制御部23を有する。なお、メモリ22aおよび22b、エラー検出訂正部26aおよび26b、および、ミラーリング制御部23は、本発明の第2の実施の形態における各部と同様に構成される。
【0064】
主記憶制御部38は、キャッシュ部14から通知される主記憶部31へのアクセスを処理する。例えば、主記憶制御部38は、キャッシュ部14から発行されるリード命令またはライト命令の対象となる主記憶部31を選択し、選択した主記憶部31に命令を転送する。また、主記憶制御部38は、転送したリード命令またはライト命令に応じて主記憶部31から返却されるデータを、キャッシュ部14に転送する。
【0065】
ミラーリング復旧部35は、ミラーリング復旧部25と同様に構成されるのに加えて、パトロール命令発行部27のパトロール対象を制御する。すなわち、ミラーリング復旧部35は、本発明の一対の記憶装置としての複数のメモリ22aおよび22bのうち、ミラーリング復旧対象となるメモリ22aおよび22bに対して、未更新ライト命令を発行するよう、パトロール命令発行部27を制御する。
【0066】
例えば、いずれかの主記憶部31が縮退状態で稼働しており、その主記憶部31において利用不可能だったメモリ22aまたは22bが新たなメモリ22aまたは22bに交換されたと想定する。このとき、ミラーリング復旧部35は、交換されたメモリ22aまたは22bを含む主記憶部31をパトロール対象とするよう、パトロール命令発行部27を制御する。
【0067】
以上のように構成されたミラーリング復旧装置3のミラーリング復旧動作について説明する。ミラーリング復旧装置3は、図4を用いて説明した本発明のミラーリング復旧装置2の動作に対して、ステップS21において、パトロール命令発行間隔に加えて、パトロール対象を制御する点が異なる。
【0068】
ステップS21において、ミラーリング復旧部35は、交換されたメモリ22bおよびその対となっているメモリ22aに対応するメモリ空間の各データに対して、パトロール命令を連続発行するよう通知する。その後、ミラーリング復旧装置3は、本発明のミラーリング復旧装置2と同様に動作することにより、ミラーリング復旧処理を行う。なお、本実施の形態では、ステップS3において、キャッシュ部14は、該当するデータのリード命令を主記憶制御部38を介して対象の主記憶部31に通知する。また、ステップS25において、ミラーリング制御部23は、主記憶制御部38を介して対象のデータをキャッシュ部14に返却する。
【0069】
次に、本発明の第3の実施の形態の効果について述べる。
【0070】
本発明の第3の実施の形態としてのミラーリング復旧装置は、ミラーリング復旧処理専用のデータコピー機能および競合制御機能を設けることなく、ミラーリング復旧処理をより高速に完了させることができる。
【0071】
その理由は、ミラーリング復旧部が、一対の記憶装置のうち、ミラーリング復旧対象となる一対の領域をパトロール対象とするようパトロール命令発行部を制御するからである。これにより、本発明の第3の実施の形態としてのミラーリング復旧装置は、縮退状態となっていた一対の領域に対してパトロール命令を利用してミラーリングの復旧を行うことになる。したがって、一対の記憶装置全体に対してパトロール命令を発行するのに比べて、ミラーリング復旧処理をより高速に完了させることができることになる。
【0072】
なお、本実施の形態において、メモリ22aおよび22b、エラー検出訂正部26aおよび26b、および、ミラーリング制御部23が、主記憶部31を構成する例について説明した。しかしながら、本発明の一対の記憶装置、エラー検出訂正部およびミラーリング制御部は、1つの部品に含まれていなくてもよい。例えば、エラー検出訂正部およびミラーリング制御部は、主記憶制御部に含まれていてもよい。
【0073】
また、本発明の各実施の形態において、本発明の一対の記憶装置として主記憶装置を適用した例について説明した。その他、本発明の一対の記憶装置として、補助記憶装置や、ネットワークを介して外部に分散配置された記憶装置を適用することも可能である。その場合、本発明のキャッシュ部は、主記憶装置や、その他一般的なキャッシュとして機能する記憶装置によって構成することも可能である。
【0074】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【0075】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【符号の説明】
【0076】
1、2、3 ミラーリング復旧装置
12a、12b、22a、22b メモリ
13、23 ミラーリング制御部
14 キャッシュ部
15、25 ミラーリング復旧部
25、35 ミラーリング復旧部
26a、26b エラー検出訂正部
27 パトロール命令発行部
31 主記憶部
38 主記憶制御部

【特許請求の範囲】
【請求項1】
一対の記憶装置と、
前記一対の記憶装置の両方が利用可能な場合、上位装置による書き込み要求対象のデータを前記一対の記憶装置に二重化して記憶させるとともに、前記上位装置による読み出し要求対象のデータを前記一対の記憶装置のいずれかから読み出す正常状態で動作し、前記一対の記憶装置のいずれか一方が利用不可能な場合、利用可能な他方に対して前記書き込み要求対象および前記読み出し要求対象のデータを入出力する縮退状態で動作するミラーリング制御部と、
前記上位装置により前記一対の記憶装置に対して入出力されるデータを一時的に記憶するキャッシュ部であって、前記読み出し要求対象のデータを未だ記憶していなければ、前記ミラーリング制御部を介して該データを前記一対の記憶装置のいずれかから読み出して記憶するとともに、書き戻し対象のデータを、前記ミラーリング制御部を介して前記一対の記憶装置に書き戻すキャッシュ部と、
前記ミラーリング制御部が前記縮退状態から前記正常状態に復旧する際に、前記一対の記憶装置に対して、読み出し後に更新せずに書き込みを行う未更新ライト命令を発行することにより、前記一対の記憶装置のうち前記縮退状態で用いられた記憶装置から読み出されたデータを前記キャッシュ部に登録し、登録したデータが前記キャッシュ部により前記一対の記憶装置に書き戻されることを利用して前記一対の記憶装置の二重化を復旧させるミラーリング復旧部と、
を備えたミラーリング復旧装置。
【請求項2】
前記一対の記憶装置から読み出されるデータに訂正可能エラーを検出して該データのエラーを訂正するエラー検出訂正部と、
前記一対の記憶装置に対して前記未更新ライト命令を発行することにより、前記一対の記憶装置のいずれかから読み出された正常なデータまたは読み出し後に前記エラー検出訂正部によりエラー訂正されたデータを前記キャッシュ部を介して前記一対の記憶装置に書き戻すパトロール命令を発行するパトロール命令発行部と、
をさらに備え、
前記ミラーリング復旧部は、前記パトロール命令発行部を用いて前記一対の記憶装置の二重化を復旧させることを特徴とする請求項1に記載のミラーリング復旧装置。
【請求項3】
前記ミラーリング復旧部は、前記未更新ライト命令の発行間隔を制御することにより、前記一対の記憶装置の二重化の復旧速度を調整することを特徴とする請求項1または請求項2に記載のミラーリング復旧装置。
【請求項4】
前記ミラーリング復旧部は、前記一対の記憶装置のうち、ミラーリング復旧対象の一対の領域に対して前記未更新ライト命令を発行することを特徴とする請求項1から請求項3のいずれかに記載のミラーリング復旧装置。
【請求項5】
一対の記憶装置のうちいずれか一方が利用不可能な場合に利用可能な他方に対して上位装置による書き込み要求対象および読み出し要求対象のデータを入出力する縮退状態から、前記一対の記憶装置の両方が利用可能な場合に前記書き込み要求対象のデータを前記一対の記憶装置に二重化して記憶させるとともに前記読み出し要求対象のデータを前記一対の記憶装置のいずれかから読み出す正常状態に復旧する際に、
前記一対の記憶装置に対して、読み出し後に更新せずに書き込みを行う未更新ライト命令を発行し、
前記上位装置により前記一対の記憶装置に対して入出力されるデータを一時的に記憶するキャッシュ部に、前記未更新ライト命令の対象データがない場合、前記一対の記憶装置のうち前記縮退状態で用いられた記憶装置から前記対象データを前記キャッシュ部に読み込んで登録し、
前記キャッシュ部に登録されたデータが前記キャッシュ部から前記一対の記憶装置に書き戻されることを利用して、前記一対の記憶装置の二重化を復旧する、
ミラーリング復旧方法。
【請求項6】
前記未更新ライト命令の対象データを前記キャッシュ部に読み込む際に、前記縮退状態で用いられた記憶装置から読み出された前記対象データに訂正可能エラーがあれば該エラーを訂正したデータを前記キャッシュ部に読み込むことを特徴とする請求項5に記載のミラーリング復旧方法。
【請求項7】
前記未更新ライト命令の発行間隔を制御することにより、前記一対の記憶装置の二重化の復旧速度を調整することを特徴とする請求項5または請求項6に記載のミラーリング復旧方法。
【請求項8】
前記一対の記憶装置のうち、ミラーリング復旧対象の一対の領域に対して前記未更新ライト命令を発行することを特徴とする、請求項5から請求項7のいずれかに記載のミラーリング復旧方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−168674(P2012−168674A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−28138(P2011−28138)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】