説明

データ2重化システム

【課題】電池駆動型の携帯端末等において突然の異常電源断が発生した場合にも、正常に復旧処理を行うことができるようにする。
【解決手段】マスタ記憶装置およびスレーブ記憶装置へデータを2重化する際には、まず、マスタ記憶装置への書き込みを行い、マスタ記憶装置への書き込みが完了してから、スレーブ記憶装置への書き込みを行う。このように、データを順次書き込むことで2重化を行うことにより、データの書き込み中のある瞬間に異常電源断が発生したとしても、その瞬間には一方の記憶装置に対して書き込みを行っているだけであり、他方の記憶装置に対しては書き込み中ではない。よって、書き込み中ではない他方の記憶装置には、信頼性の高いデータが保持されていることが保証されるため、次回の電源ON時には、他方の記憶装置に保持されているデータを用いて正常に復旧処理を行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの書き込みを行う場合に、データを2重化することによりデータの消失を防ぎかつ信頼性を高めるデータ2重化システムに関する。
【背景技術】
【0002】
従来、ハードディスクなどの記憶装置にデータを書き込む場合、記憶装置自体の故障を想定し、2つの記憶装置へデータを書き込むことによりデータを2重化するデータ2重化システムがある(例えば、特許文献1参照)。2つの記憶装置へのデータの書き込みは、同時に行うことが一般的である。
【0003】
このようなデータ2重化システムによれば、一方の記憶装置が故障した場合にも、他方の故障していない記憶装置から正常にデータを読み出すことができるため、そのデータを用いて次回の電源ON時に復旧処理を行うことができるという利点があった。
【特許文献1】特開昭56−129964号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、上述した従来のデータ2重化システムは、無停電電源装置などにより絶えず電源供給が行われるサーバ等の据え置き装置に適用されることを前提にしたものであると考えられる。そのため、電池駆動型の携帯端末等に適用された場合に、携帯端末内の2つの記憶装置へのデータの同時書き込み中に、電池の消耗や脱落、オペレータの誤操作等により異常電源断が発生することは何ら想定されていない。
【0005】
しかしながら、2つの記憶装置へのデータの同時書き込み中に異常電源断が発生した場合には、2つの記憶装置が異常終了することになる。この場合、いずれの記憶装置においても、書き込み中のデータはもとより、それ以前に書き込みが完了している他のデータまでもが破壊される可能性がある。このように、いずれの記憶装置においてもデータ破壊等の異常が発生している場合には、次回の電源ON時に、いずれの記憶装置からも正常にデータを読み出すことができないため、正常に復旧処理を行うことができない。
【0006】
本発明の目的は、電池駆動型の携帯端末等において突然の異常電源断が発生した場合にも、正常に復旧処理を行うことができるデータ2重化システムを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するために本発明のデータ2重化システムは、第1および第2の記憶手段と、第1および第2の記憶手段にデータを書き込むことにより当該データを2重化するに際し、第1の記憶手段へのデータの書き込みが完了してから、第2の記憶手段へのデータの書き込みを順次行う制御手段とを有することを特徴としている。
【0008】
この構成によれば、データ書き込み中のある瞬間に電源断が発生したとしても、その瞬間には第1および第2の記憶手段のいずれか一方の記憶装置に対して書き込みを行っているだけであり、必ず他方の記憶手段は書き込み中ではない。このため、書き込み中でない他方の記憶手段には、信頼性の高いデータが保持されていることが保証される。
【0009】
また、第1および第2の記憶手段ごとのデータの書き込み状態が記述される状態テーブルをさらに有し、制御手段は、前記第1および第2の記憶手段ごとに、データを書き込み中であるか否かを表す書込中フラグを作成し、作成した書込中フラグを状態テーブルに記述しても良い。
【0010】
また、制御手段は、データ2重化システムに電源断が発生した後の次回の電源起動時に、状態テーブルに記述された書込中フラグの内容に基づいて、第1および第2の記憶手段へのデータの書き込み中に電源断が発生したか否かを判断することとしても良い。
【0011】
この構成によれば、データ2重化システムに電源断が発生した後の次回の電源起動時に、第1および第2の記憶手段のどちらの記憶手段への書き込み中に電源断が発生したかを容易に判断することが可能となる。
【発明の効果】
【0012】
以上説明したように本発明によれば、データを第1の記憶手段、第2の記憶手段へ順次書き込むことで2重化を行う構成であるため、電源断が発生した時にも、必ず一方の記憶手段は正常で信頼性の高いデータが保持されているため、次回の電源起動時には、正常な記憶装置に保持されているデータを用いて正常に復旧処理を行うことができる。
【0013】
それにより、電池駆動型の携帯端末のように、電池の消耗や脱落、オペレータの誤操作等によりデータ書き込み中に異常電源断が発生するような装置においても、データを保護し、信頼性を確保することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下に、本発明を実施するための最良の形態について図面を参照して説明する。
【0015】
(第1の実施形態)
本発明の第1の実施形態のデータ2重化システムの構成について、図1を参照して説明する。
【0016】
図1を参照すると、本実施形態のデータ2重化システムは、マスタ記憶装置104およびスレーブ記憶装置105を含む2重化記憶装置103と、書き込みデータ101をマスタ記憶装置104およびスレーブ記憶装置105に書き込むことにより、書き込みデータ101を2重化する制御部102−1を含む制御装置102とを有している。
【0017】
マスタ記憶装置104およびスレーブ記憶装置105は、ハードディスク、磁気メディア媒体、半導体素子を用いたPC(Personal Computer)カード、CF(Compact Flash)カード、SD(Secure Digital)カード等で実現される。
【0018】
制御部102−1は、書き込みデータ101を2重化する際に、マスタ記憶装置104への書き込みデータ101の書き込みが完了してから、スレーブ記憶装置105への書き込みデータ101の書き込みを順次行う。
【0019】
このように、書き込みデータ101をマスタ記憶装置104およびスレーブ記憶装置105に順次書き込むことで書き込みデータ101を2重化しているため、データ書き込み中のある瞬間に異常電源断が発生したとしても、その瞬間にはマスタ記憶装置104およびスレーブ記憶装置105のいずれか一方の記憶装置に対して書き込みを行っているだけであり、他方の記憶装置に対しては書き込み中ではない。
【0020】
従って、異常電源断発生時に書き込み中ではなかった記憶装置は、データ破壊等の異常が発生しておらず、正常な状態であるため、保持しているデータも信頼性が高く、利用可能なデータである。そのため、次回の電源ON時には、正常な状態にある記憶装置内のデータを用いて、正常に復旧処理を行うことができる。
【0021】
さらに、制御装置102は、マスタ記憶装置104およびスレーブ記憶装置105ごとの書き込み状態を表す状態テーブル102−2を含んでいる。制御部102−1は、マスタ記憶装置104およびスレーブ記憶装置105ごとに、書き込みデータ101を書き込み中であるかを表す書込中フラグを作成し、状態テーブル102−2に記述する。
【0022】
このように、マスタ記憶装置104およびスレーブ記憶装置105ごとに、書き込みデータ101を書き込み中であるかを表す書込中フラグを状態テーブル102−2に記述しているため、異常電源断が発生した後の次回の電源ON時に、マスタ記憶装置104およびスレーブ記憶装置105のどちらの記憶装置への書き込み中に異常電源断が発生したかを容易に判断することができる。
【0023】
以下、図1に示したデータ2重化システムの動作について詳細に説明する。
(1つのデータを書き込む時の動作)
まず、制御部102−1において、1つの書き込みデータ101をマスタ記憶装置104およびスレーブ記憶装置105に書き込む動作と、書込中フラグを状態テーブル102−2に記述する動作について、図2を参照して説明する。図2は、書き込みデータ101を書き込む時のタイミングチャートであり、そのタイミングチャートの各時点での状態テーブル102−2の内容も併せて図示している。
【0024】
制御部102−1は、マスタ記憶装置104およびスレーブ記憶装置105ごとに、書込中フラグを作成し、状態テーブル102−2に記述する。以下では、制御部102−1は、書き込みデータ101を書き込み中である場合は書込中フラグを「1」とし、書き込み中でない場合は書込中フラグを「0」とするものとして説明する。
【0025】
図2において、時刻t1以前の期間は、書き込みデータ101の書き込みが開始される前である。そのため、制御部102−1は、マスタ記憶装置104およびスレーブ記憶装置105共に、書込中フラグを「0」とする。
【0026】
制御部102−1は、時刻t1の時点では、まず、マスタ記憶装置104への書き込みデータ101の書き込みを開始し、マスタ記憶装置104への書き込みを時刻t2の時点で完了する。このように時刻t1〜時刻t2の期間では、マスタ記憶装置104への書き込みデータ101の書き込み中であるため、制御部102−1は、マスタ記憶装置104の書込中フラグだけを「1」とする。なお、制御部102−1は、書き込みデータ101の書き込み中は、書き込み(ライト)動作の終了後に、リード/ベリファイ動作を行うことにより、書き込みが正しく行なわれているか否かをチェックする。
【0027】
制御部102−1は、時刻t2の時点でマスタ記憶装置104への書き込みデータ101の書き込みが完了すると、続いて、スレーブ記憶装置105への書き込みデータ101の書き込みを開始し、スレーブ記憶装置105への書き込みを時刻t3の時点で完了する。このように時刻t2〜時刻t3の期間では、スレーブ記憶装置105への書き込みデータ101の書き込み中であるため、制御部102−1は、スレーブ記憶装置105の書込中フラグだけを「1」とする。
【0028】
制御部102−1は、時刻t3の時点でスレーブ記憶装置105への書き込みデータ101の書き込みが完了すると、書き込みが完了した時刻t3以降の期間では、マスタ記憶装置104およびスレーブ記憶装置105共に、書込中フラグを「0」に戻す。
(1つのデータを書き込む前後またはその書き込み中に異常電源断が発生した後の動作)
次に、制御部102−1において、1つの書き込みデータ101を書き込む前後またはその書き込み中に異常電源断が発生した場合に、その後に行う動作について、図2を参照して説明する。異常電源断は、上述したように、本データ2重化システムが電池駆動型の携帯端末に適用される場合に、携帯端末の電池の消耗や脱落、オペレータの誤操作等により発生するものである。
【0029】
制御部102−1は、異常電源断が発生した後の次回の電源ON時に、状態テーブル102−2に記述されている書込中フラグの内容をチェックし、マスタ記憶装置104およびスレーブ記憶装置105のいずれかの書込中フラグが「1」であれば、書込中フラグが「1」である記憶装置への書き込み中に異常電源断が発生し、その記憶装置への書き込みは正常終了していないと判断して、以降の動作を行う。すなわち、制御部102−1における異常電源断発生後の動作は、図2のどの時点で異常電源断が発生したかに応じて異なるため、以下、それぞれの場合に分けて説明する。
・図2の時刻t3以降の期間に異常電源断が発生した場合
時刻t3以降の期間では、マスタ記憶装置104およびスレーブ記憶装置105のいずれにおいても書き込みデータ101の書き込みが正常に完了している。従って、この期間に異常電源断が発生したとしても、マスタ記憶装置104およびスレーブ記憶装置105内のデータはいずれも信頼して利用可能なデータである。この場合は、制御部102−1は、マスタ記憶装置104内のデータを優先して用いるルールを採用し、次回の電源ON時に、マスタ記憶装置104内のデータを用いて起動を行う。
・図2の時刻t2〜t3の期間に異常電源断が発生した場合
時刻t2〜t3の期間では、スレーブ記憶装置105への書き込みデータ101の書き込み中である。そのため、この期間に異常電源断が発生すると、スレーブ記憶装置105では書き込み中の書き込みデータ101はもとより、既に書き込まれていた別のデータの破壊等の異常が発生した可能性がある。一方、マスタ記憶装置104では、その直前に行われていた書き込みデータ101の書き込みが正常に完了しており、異常は発生していない。従って、この期間に異常電源断が発生したとしても、マスタ記憶装置104内のデータは信頼して利用可能なデータである。よって、この場合は、制御部102−1は、次回の電源ON時に、マスタ記憶装置104内のデータを用いて次のような処理を行う。
【0030】
例えば、制御部102−1は、次回の電源ON時に、まず、マスタ記憶装置104内のデータを用いて起動を行う。次に、スレーブ記憶装置105内のデータを廃棄し、マスタ記憶装置104内のデータをスレーブ記憶装置105にコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。
・図2の時刻t1〜t2の期間に異常電源断が発生した場合
時刻t1〜t2の期間では、マスタ記憶装置104への書き込みデータ101の書き込み中である。そのため、この期間に異常電源断が発生すると、マスタ記憶装置104では書き込み中の書き込みデータ101はもとより、既に書き込まれていた別のデータの破壊等の異常が発生した可能性がある。一方、スレーブ記憶装置105への書き込みデータ101の書き込みは、マスタ記憶装置104への書き込みの後に行われることから、スレーブ記憶装置105では、書き込みがまだ行われておらず、異常は発生していない。従って、この期間に異常電源断が発生したとしても、スレーブ記憶装置105内のデータは信頼して利用可能なデータである。よって、この場合は、制御部102−1は、次回の電源ON時に、スレーブ記憶装置105内のデータを用いて次のような処理を行う。
【0031】
例えば、制御部102−1は、次回の電源ON時に、スレーブ記憶装置105内のデータを用いて起動を行う。次に、マスタ記憶装置104内のデータを廃棄し、スレーブ記憶装置105内のデータをマスタ記憶装置104にコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。次に、マスタ記憶装置104、スレーブ記憶装置105の順に、書き込みデータ101を書き込む。
・図2の時刻t1以前の期間に異常電源断が発生した場合
時刻t1以前の期間では、マスタ記憶装置104およびスレーブ記憶装置105のいずれにおいても書き込みデータ101が書き込まれる前である。従って、この期間に異常電源断が発生したとしても、マスタ記憶装置104およびスレーブ記憶装置105内のデータはいずれも信頼して利用可能なデータである。この場合は、制御部102−1は、マスタ記憶装置104内のデータを優先して用いるルールを採用し、次回の電源ON時に、マスタ記憶装置104内のデータを用いて次のような処理を行う。
【0032】
例えば、制御部102−1は、次回の電源ON時に、マスタ記憶装置104内のデータを用いて起動を行う。次に、マスタ記憶装置104、スレーブ記憶装置105の順に、書き込みデータ101を書き込む。
(2つのデータを書き込む時の動作)
次に、制御部102−1において、書き込みデータ101に含まれる2つのデータA,Bをマスタ記憶装置104およびスレーブ記憶装置105に書き込む動作について、図3を参照して説明する。2つのデータA,Bの書き込みは、データA、データBの順番で行われるものとする。なお、3つ以上のデータを書き込む場合も、異常電源断は必ずそのうちの1つのデータを書き込んでいる瞬間にしか発生しない。すなわち、3つ以上のデータを書き込む場合の動作は、2つのデータの書き込み動作の説明によって説明し得るものであるため、説明を省略する。
【0033】
図3を参照すると、制御部102−1は、マスタ記憶装置104へのデータAの書き込みが完了してから、スレーブ記憶装置105へのデータAの書き込みを順次行う。続いて、制御部102−1は、マスタ記憶装置104へのデータBの書き込みが完了してから、スレーブ記憶装置105へのデータBの書き込みを順次行う。
【0034】
次に、図3の動作について、図4を参照してさらに詳細に説明する。図4は、2つのデータA,Bをマスタ記憶装置104およびスレーブ記憶装置105に書き込む時のタイミングチャートであり、そのタイミングチャートの各時点でのマスタ記憶装置104およびスレーブ記憶装置105のデータの状態も併せて図示している。
【0035】
図4において、時刻t1以前の期間では、データA,Bの書き込みが開始される前である。そのため、時刻t1以前の期間では、マスタ記憶装置104およびスレーブ記憶装置105のいずれにも、何らのデータも書き込まれていない。
【0036】
制御部102−1は、時刻t1の時点で、まず、マスタ記憶装置104へのデータAの書き込みを開始し、マスタ記憶装置104への書き込みを時刻t2の時点で完了する。そのため、時刻t2の時点では、マスタ記憶装置104は、データAが書き込まれた状態となる。
【0037】
制御部102−1は、時刻t2の時点でマスタ記憶装置104へのデータAの書き込みが完了すると、続いて、スレーブ記憶装置105へのデータAの書き込みを開始し、スレーブ記憶装置105への書き込みを時刻t3の時点で完了する。そのため、時刻t3の時点では、スレーブ記憶装置105は、データAが書き込まれた状態となる。
【0038】
以上で、データAの書き込み処理が完了し、続いて、データBの書き込み処理に移行する。
【0039】
制御部102−1は、時刻t3の時点で、まず、マスタ記憶装置104へのデータBの書き込みを開始し、マスタ記憶装置104への書き込みを時刻t4の時点で完了する。そのため、時刻t4の時点では、マスタ記憶装置104は、データAに続いてデータBが書き込まれた状態となる。
【0040】
制御部102−1は、時刻t4の時点でマスタ記憶装置104へのデータBの書き込みが完了すると、続いて、スレーブ記憶装置105へのデータBの書き込みを開始し、スレーブ記憶装置105への書き込みを時刻t5の時点で完了する。そのため、時刻t5の時点では、スレーブ記憶装置105は、データAに続いてデータBが書き込まれた状態となる。
(2つのデータを書き込む前後またはその書き込み中に異常電源断が発生した後の動作)
次に、制御部102−1において、2つのデータA,Bを書き込む前後またはその書き込み中に異常電源断が発生した場合に、その後に行う動作について、図4を参照して説明する。なお、制御部102−1における異常電源断発生後の動作は、図4のどの時点で異常電源断が発生したかに応じて異なるため、以下、それぞれの場合に分けて説明する。
・図4の時刻t5以降の期間に異常電源断が発生した場合
時刻t5以降の期間では、マスタ記憶装置104およびスレーブ記憶装置105のいずれにおいてもデータA,Bの双方の書き込みが正常に完了している。従って、この期間に異常電源断が発生したとしても、マスタ記憶装置104およびスレーブ記憶装置105内のデータはいずれも信頼して利用可能なデータである。この場合は、制御部102−1は、マスタ記憶装置104内のデータを優先して用いるルールを採用し、次回の電源ON時に、マスタ記憶装置104内のデータを用いて起動を行う。
・図4の時刻t4〜t5の期間に異常電源断が発生した場合
時刻t4〜t5の期間では、スレーブ記憶装置105へのデータBの書き込み中である。そのため、この期間に異常電源断が発生すると、スレーブ記憶装置105では書き込み中のデータBはもとより、既に書き込まれていたデータAの破壊等の異常が発生した可能性がある。一方、マスタ記憶装置104では、その直前に行われていたデータBの書き込みが正常に完了しており、異常は発生していない。従って、この期間に異常電源断が発生したとしても、マスタ記憶装置104内のデータは信頼して利用可能なデータである。よって、この場合は、制御部102−1は、マスタ記憶装置104のデータを用いて次のような処理を行う。
【0041】
例えば、制御部102−1は、次回の電源ON時に、まず、マスタ記憶装置104内のデータを用いて起動を行う。次に、スレーブ記憶装置105内のデータを破棄し、マスタ記憶装置104内のデータをスレーブ記憶装置105へコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。この段階で、マスタ記憶装置104とスレーブ記憶装置105へのデータBの書き込みも完了する。
【0042】
または、制御部102−1は、次回の電源ON時に、まず、マスタ記憶装置104内のデータを用いて起動を行う。次に、スレーブ記憶装置105を切り離す。以降、スレーブ記憶装置105のメンテナンスが終了した後などの適当な時期に、マスタ記憶装置104内のデータをスレーブ記憶装置105へコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。
・図4の時刻t3〜t4の期間に異常電源断が発生した場合
時刻t3〜t4の期間では、マスタ記憶装置104へのデータBの書き込み中である。そのため、この期間に異常電源断が発生すると、マスタ記憶装置104では書き込み中のデータBはもとより、既に書き込まれていたデータAの破壊等の異常が発生した可能性がある。一方、スレーブ記憶装置105へのデータBの書き込みは、マスタ記憶装置104への書き込みの後に行われることからまだ行われていないが、スレーブ記憶装置105では、その直前のデータAの書き込みまでは正常に完了しており、異常は発生していない。従って、この期間に異常電源断が発生したとしても、スレーブ記憶装置105内のデータは信頼して利用可能なデータである。よって、この場合は、制御部102−1は、スレーブ記憶装置105内のデータを用いて次のような処理を行う。
【0043】
例えば、制御部102−1は、次回の電源ON時に、まず、スレーブ記憶装置105内のデータを用いて起動を行う。次に、マスタ記憶装置104内のデータを破棄し、スレーブ記憶装置105内のデータをマスタ記憶装置104へコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。次に、あらためて、マスタ記憶装置104にデータAを書き込み、続けてスレーブ記憶装置105にデータAを書き込む。次に、マスタ記憶装置104、スレーブ記憶装置105の順にデータBを書き込む。
【0044】
または、制御部102−1は、次回の電源ON時に、まず、スレーブ記憶装置105内のデータを用いて起動を行う。次に、マスタ記憶装置104を切り離す。次に、スレーブ記憶装置104にデータA,Bを順に書き込む。以降、マスタ記憶装置104のメンテナンスが終了した後などの適当な時期に、スレーブ記憶装置105内のデータをマスタ記憶装置104へコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。
・図4の時刻t2〜t3の期間に異常電源断が発生した場合
時刻t2〜t3の期間では、スレーブ記憶装置105へのデータAの書き込み中である。そのため、この期間に異常電源断が発生すると、スレーブ記憶装置105では書き込み中のデータAはもとより、既に書き込まれていた別のデータの破壊等の異常が発生した可能性がある。一方、マスタ記憶装置104では、その直前に行われていたデータAの書き込みが正常に完了しており、異常は発生していない。従って、この期間に異常電源断が発生したとしても、マスタ記憶装置104内のデータは信頼して利用可能なデータである。よって、この場合は、制御部102−1は、マスタ記憶装置104のデータを用いて次のような処理を行う。
【0045】
例えば、制御部102−1は、次回の電源ON時に、まず、マスタ記憶装置104内のデータを用いて起動を行う。次に、スレーブ記憶装置105内のデータを破棄し、マスタ記憶装置104内のデータをスレーブ記憶装置105へコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。この段階で、マスタ記憶装置104とスレーブ記憶装置105へのデータAの書き込みも完了する。次に、マスタ記憶装置104、スレーブ記憶装置105の順にデータBを書き込む。
【0046】
または、制御部102−1は、次回の電源ON時に、まず、マスタ記憶装置104内のデータを用いて起動を行う。次に、スレーブ記憶装置105を切り離す。次に、マスタ記憶装置105にデータBを書き込む。以降、スレーブ記憶装置105のメンテナンスが終了した後などの適当な時期に、マスタ記憶装置104内のデータをスレーブ記憶装置105へコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。
・図4の時刻t1〜t2の期間に異常電源断が発生した場合
時刻t1〜t2の期間では、マスタ記憶装置104へのデータAの書き込み中である。そのため、この期間に異常電源断が発生すると、マスタ記憶装置104では書き込み中のデータAはもとより、既に書き込まれていた別のデータの破壊等の異常が発生した可能性がある。一方、スレーブ記憶装置105へのデータAの書き込みは、マスタ記憶装置104への書き込みの後に行われることからまだ行われていないが、スレーブ記憶装置105では、その直前の別のデータの書き込みまでは正常に完了しており、異常は発生していない。従って、この期間に異常電源断が発生したとしても、スレーブ記憶装置105内のデータは信頼して利用可能なデータである。よって、この場合は、制御部102−1は、スレーブ記憶装置105内のデータを用いて次のような処理を行う。
【0047】
例えば、制御部102−1は、次回の電源ON時に、まず、スレーブ記憶装置105内のデータを用いて起動を行う。次に、マスタ記憶装置104内のデータを破棄し、スレーブ記憶装置105内のデータをマスタ記憶装置104へコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。次に、あらためて、マスタ記憶装置104にデータAを書き込み、続けてスレーブ記憶装置105にデータAを書き込む。次に、マスタ記憶装置104、スレーブ記憶装置105の順にデータBを書き込む。
【0048】
または、制御部102−1は、次回の電源ON時に、まず、スレーブ記憶装置105内のデータを用いて起動を行う。次に、マスタ記憶装置104を切り離す。次に、スレーブ記憶装置105にデータA,Bを順に書き込む。以降、マスタ記憶装置104のメンテナンスが終了した後などの適当な時期に、スレーブ記憶装置105内のデータをマスタ記憶装置104へコピーし、マスタ記憶装置104のデータとスレーブ記憶装置105のデータとを同一状態にしてデータの同期を取る(復旧処理)。
・図4の時刻t1以前の期間に異常電源断が発生した場合
時刻t1以前の期間では、マスタ記憶装置104およびスレーブ記憶装置105のいずれにおいてもデータA,Bが書き込まれる前である。従って、この期間に異常電源断が発生したとしても、マスタ記憶装置104およびスレーブ記憶装置105内のデータはいずれも信頼して利用可能なデータである。この場合は、制御部102−1は、マスタ記憶装置104内のデータを優先して用いるルールを採用し、次回の電源ON時に、マスタ記憶装置104内のデータを用いて次のような処理を行う。
【0049】
例えば、制御部102−1は、次回の電源ON時に、まず、マスタ記憶装置104内のデータを用いて起動を行う。次に、マスタ記憶装置104およびスレーブ記憶装置105に順次データAを書き込んだ後、さらに、マスタ記憶装置104およびスレーブ記憶装置105に順次データBを書き込む。
(2重化記憶装置内のいずれかの記憶装置を単独で利用する動作)
次に、制御部102−1において、マスタ記憶装置104およびスレーブ記憶装置105のいずれかにおいてデータ書き込み中に異常電源断が発生し、データ破壊等の異常が発生した場合に、異常が発生した記憶装置を論理的に切り離して、異常が発生していない記憶装置を単独で利用する動作について、図5を参照して説明する。
【0050】
図5(a)は、マスタ記憶装置104に異常が発生した場合の動作を示し、図5(b)は、スレーブ記憶装置105に異常が発生した場合の動作を示している。
【0051】
図5(a)および(b)のいずれの場合においても、制御部102−1は、マスタ記憶装置104およびスレーブ記憶装置105の2つの記憶装置を制御部102−1と物理的には接続しているが、データ書き込み中に異常電源断が発生し、データ破壊等の異常が発生した記憶装置については論理的に切り離して制御しないようにする。
(第2の実施形態)
本発明の第2の実施形態のデータ2重化システムの構成について、図6を参照して説明する。
【0052】
図6を参照すると、本実施形態のデータ2重化システムは、ハードディスク等で実現されるマスタ記憶装置104およびスレーブ記憶装置105の代わりに、フラッシュROMで実現されるマスタ記憶装置604およびスレーブ記憶装置605を設けた点が、図1、図3に示した第1の実施形態とは異なる。ただし、基本構成は図1、図3に示した第1の実施形態と同じであり、図6における、書き込みデータ601、制御装置602、制御部602−1、状態テーブル602−2、2重化記憶装置603、マスタ記憶装置604、スレーブ記憶装置605は、それぞれ図1、図3における、書き込みデータ101、制御装置102、制御部102−1、状態テーブル102−2、2重化記憶装置103、マスタ記憶装置104、スレーブ記憶装置105に対応している。また、データ2重化方法や、異常電源断後の復旧方法も第1の実施形態と同じである。
(第3の実施形態)
本発明の第3の実施形態のデータ2重化システムの構成について、図7を参照して説明する。
【0053】
図7を参照すると、本実施形態のデータ2重化システムは、マスタ記憶装置604およびスレーブ記憶装置605の代わりに、フラッシュROMで実現される記憶装置701を設け、記憶装置701の記憶領域をマスタ記憶領域702とスレーブ記憶領域702とに分けることにより、書き込みデータ601を2重化する点が、図6に示した第2の実施形態とは異なる。
【0054】
データそのものの書き込みを行うと共にそのデータの記憶場所の書き込みを行うFAT(File Allocation Table)システムに代表されるファイルシステムがある。このようなファイルシステムでは、ハードディスク、磁気メディア媒体、半導体素子を用いたPCカード、CFカード、SDカード、およびフラッシュROMであっても、FATの書き換え中に異常電源断が発生すると、書き込み中のデータだけでなく記憶装置全体のデータが読み出せなくなる。このため、上述の第1および第2の実施形態のように、2つの記憶装置を用いてデータを2重化することが必要である。
【0055】
しかしながら、FATをもたず、固定のメモリアドレスでアクセスされるような記憶装置では、図7のように、1つの記憶装置701の記憶領域を2つの記憶領域(マスタ記憶領域702、スレーブ記憶領域702)に分けることによりデータXを2重化することができる。なぜなら、この種の記憶装置では、固定のメモリアドレスにデータXが書き込まれるため、異常電源断が発生しても、FATが破壊されるような記憶装置全体のデータの破壊が起こらないためである。すなわち、この種の記憶装置では、破壊されるデータは書き込み中のデータXに限られる。
【0056】
なお、制御部602−1によるデータ2重化方法や異常電源断後の復旧方法は、上述の図1、図2、図3、図4、図5の場合と同じである。
【0057】
すなわち、制御部602−1は、データXの書き込みに際しては、まず、マスタ記憶領域701への書き込みを行い、マスタ記憶領域701への書き込みが完了してからスレーブ記憶領域702への書き込みを行う。
【0058】
また、スレーブ記憶領域702へのデータXの書き込み中に異常電源断が発生した場合は、既にマスタ記憶領域701への書き込みは完了しているため、マスタ記憶領域701内のデータは信頼して利用可能なデータである。よって、この場合は、制御部602−1は、次回の電源ON時に、マスタ記憶領域701内のデータを用いて起動処理を行い、スレーブ記憶領域702内のデータを廃棄してからマスタ記憶領域701内のデータをスレーブ記憶領域702にコピーする。
【0059】
また、マスタ記憶領域701へのデータXの書き込み中に異常電源断が発生した場合は、スレーブ記憶領域702への書き込みが行われる前であり、スレーブ記憶領域702は正常な状態であるため、スレーブ記憶領域702内のデータは信頼して利用可能なデータである。よって、この場合は、制御部602−1は、次回の電源ON時に、スレーブ記憶領域702内のデータを用いて起動処理を行い、スレーブ記憶領域702にデータXを書き込み直し、マスタ記憶領域701内のデータを廃棄してからスレーブ記憶領域702内のデータをマスタ記憶領域701にコピーする。
【産業上の利用可能性】
【0060】
本発明は、電池駆動型の携帯端末など、利用中に電池が脱落したり、利用中に電池残量がなくなったり、利用中にオペレータによる誤操作でOFFされたりする等の要因で、記憶装置へのデータ書き込み中に異常電源断が発生する頻度の高い装置に特に好適に適用されるものである。
【0061】
また、本発明に係る記憶装置としては、ハードディスク、磁気メディア媒体、半導体素子を用いたPCカード、CFカード、SDカードなどを利用することができる。また、記憶装置に内蔵されるフラッシュROM上の記憶領域を利用することもできる。さらに、メモリバックアップを行うことを前提にすれば、揮発性メモリデバイスであるDRAMやSRAM上の記憶領域を利用することもできる。
【図面の簡単な説明】
【0062】
【図1】本発明の第1の実施形態のデータ2重化システムの構成を示す図である。
【図2】図1に示した制御部において、1つのデータを書き込む動作と書込中フラグを状態テーブルに記述する動作とを説明するタイミングチャートである。
【図3】図1に示した制御部において、2つのデータを書き込む動作を説明する図である。
【図4】図1に示した制御部において、2つのデータを書き込む動作を詳細に説明するタイミングチャートである。
【図5】図1に示した制御部において、データ書き込み中の異常電源断により異常が発生した記憶装置を論理的に切り離して、異常が発生していない記憶装置を単独で利用する動作を説明する図であり、(a)はマスタ記憶装置に異常が発生した場合の動作を示す図、(b)はスレーブ記憶装置に異常が発生した場合の動作を示す図である。
【図6】本発明の第2の実施形態のデータ2重化システムの構成を示す図である。
【図7】本発明の第3の実施形態のデータ2重化システムの構成を示す図である。
【符号の説明】
【0063】
101 書き込みデータ
102 制御装置
102−1 制御部
102−2 状態テーブル
103 2重化記憶装置
104 マスタ記憶装置
105 スレーブ記憶装置
601 書き込みデータ
602 制御装置
602−1 制御部
602−2 状態テーブル
603 2重化記憶装置
604 マスタ記憶装置
605 スレーブ記憶装置
701 記憶装置
702 マスタ記憶領域
703 スレーブ記憶領域

【特許請求の範囲】
【請求項1】
第1および第2の記憶手段と、
前記第1および第2の記憶手段にデータを書き込むことにより当該データを2重化するに際し、前記第1の記憶手段へのデータの書き込みが完了してから、前記第2の記憶手段へのデータの書き込みを順次行う制御手段とを有するデータ2重化システム。
【請求項2】
前記第1および第2の記憶手段ごとのデータの書き込み状態が記述される状態テーブルをさらに有し、
前記制御手段は、前記第1および第2の記憶手段ごとに、データを書き込み中であるか否かを表す書込中フラグを作成し、作成した書込中フラグを前記状態テーブルに記述する請求項1に記載のデータ2重化システム。
【請求項3】
前記制御手段は、前記データ2重化システムに電源断が発生した後の次回の電源起動時に、前記状態テーブルに記述された前記書込中フラグの内容に基づいて、前記第1および第2の記憶手段へのデータの書き込み中に電源断が発生したか否かを判断する、請求項2に記載のデータ2重化システム。
【請求項4】
前記制御手段は、前記データ2重化システムに電源断が発生した後の次回の電源起動時に、前記第1および第2の記憶手段のうち一方の記憶手段へのデータの書き込み中に電源断が発生したと判断した場合、電源断発生時にデータの書き込み中ではなかった他方の記憶手段内のデータを用いて起動を行う、請求項3に記載のデータ2重化システム。
【請求項5】
前記制御手段は、前記データ2重化システムに電源断が発生した後の次回の電源起動時に、前記他方の記憶手段内のデータを用いて起動を行った後、前記一方の記憶手段内のデータを廃棄し、前記他方の記憶手段内のデータを前記一方の記憶手段にコピーする、請求項4に記載のデータ2重化システム。
【請求項6】
前記制御手段は、前記データ2重化システムに電源断が発生した後の次回の電源起動時に、前記一方の記憶手段については論理的に切り離して制御を行わず、以降の所定の時期に、前記他方の記憶手段内のデータを前記一方の記憶手段にコピーする、請求項4に記載のデータ2重化システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−79522(P2006−79522A)
【公開日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願番号】特願2004−265388(P2004−265388)
【出願日】平成16年9月13日(2004.9.13)
【出願人】(000227205)NECインフロンティア株式会社 (1,047)
【Fターム(参考)】