JP4143952B2 - メモリバックアップ方法および装置 - Google Patents
メモリバックアップ方法および装置 Download PDFInfo
- Publication number
- JP4143952B2 JP4143952B2 JP2001069197A JP2001069197A JP4143952B2 JP 4143952 B2 JP4143952 B2 JP 4143952B2 JP 2001069197 A JP2001069197 A JP 2001069197A JP 2001069197 A JP2001069197 A JP 2001069197A JP 4143952 B2 JP4143952 B2 JP 4143952B2
- Authority
- JP
- Japan
- Prior art keywords
- user data
- memory
- area
- backup
- changed
- 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 - Lifetime
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
この発明は、メモリバックアップ方法および装置に関し、特に、プログラマブルコントローラの実行用メモリに格納されたユーザデータの変更に際して、該ユーザデータをフラッシュメモリ等の不揮発性のバックアップ用メモリに自動的に書き込むことで上記ユーザデータのバックアップ処理を行ってプログラマブルコントローラのバッテリレス運転を可能にしたメモリバックアップ方法および装置に関する。
【0002】
【従来の技術】
従来、プログラマブルコントローラのユーザプログラムや設定データ(以下、単にユーザデータという)は、プログラマブルコントローラに設けられたRAM(Random Access Memory)から構成される実行用メモリに記憶される。
【0003】
そして、プログラマブルコントローラは、この実行用メモリに記憶されたユーザデータに基づき所望の制御を行う。
【0004】
ここで、このプログラマブルコントローラの上記実行用メモリに記憶されたユーザデータは、プログラマブルコントローラの電源がOFFにされても、その内容が消去されないようにバックアップする必要がある。
【0005】
そこで、上記実行用メモリをバッテリにより保持する構成が考えられるが、この場合、バッテリにより保持可能なメモリには、高速に読み書き可能なものが存在しないため、この実行用メモリとして高速に読み書き可能なメモリを使用することができず、これがプログラマブルコントローラの性能向上を阻害する一因となっていた。
【0006】
バッテリによりバックアップできない高速なメモリを実行用メモリとして使用する場合には、電源OFF時の対策として、実行用メモリに格納されたユーザデータをバッテリバックアップ可能なメモリにバックアップすることが考えられる。しかし、この方法では、ユーザデータの増大に伴うバッテリの大型化問題やバッテリ寿命によるバッテリ交換問題等が発生する。
【0007】
そこで、上記プログラマブルコントローラの実行用メモリをバックアップするためにフラッシュメモリ等の書き込みおよび消去可能な不揮発性メモリを使用することが考えられる。
【0008】
【発明が解決しようとする課題】
ところが、フラッシュメモリ等は、RAMに比べると書き込み処理に時間がかかるため、データ書き込み中に電断が生じると、書き込み中のデータが不定になる危険性がRAMに比べて高いという問題があった。
【0009】
また、フラッシュメモリ等は、データを一旦消去し、その後に新たなデータを書き込むという手順を踏まなければならないため、データをフラッシュメモリ等に書き終えるまでに多くの時間を要した。
【0010】
そこで、この発明は、フラッシュメモリ等へのデータの書き込み中に電断が生じてもバックアップされたデータを保持することができるメモリバックアップ方法および装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
この発明のメモリバックアップ方法は、プログラマブルコントローラの実行用メモリに格納されたユーザデータの変更に際して該ユーザデータを不揮発性のバックアップ用メモリに書き込むことで上記ユーザデータのバックアップを行うメモリバックアップ方法において、上記バックアップ用メモリの記憶領域は、保存用の領域と書き込み用の領域とを有し、上記実行用メモリに格納されたユーザデータが変更された場合は、上記実行用メモリに格納されたユーザデータを上記書き込み用の領域に書き込むとともに、当該書き込みをタイムスライスすることによりバックグランドで実行するバックアップ処理を行い、上記書き込み用の領域に対するユーザデータのバックアップ処理が完了すると、該書き込み用の領域を保存用の領域に切替えるとともに、切替え前に保存用の領域として使用していた領域を、書き込み可能状態にして、書き込み用の領域に切替えることを特徴とする。
【0012】
また、この発明のメモリバックアップ方法は、プログラマブルコントローラの実行用メモリに格納されたユーザデータの変更に際して該ユーザデータを不揮発性のバックアップ用メモリに書き込むことで上記ユーザデータのバックアップを行うメモリバックアップ方法において、上記バックアップ用メモリの記憶領域を複数の領域に分け、実行用メモリに格納されているユーザデータが書き込まれている保存用の領域と、書き込み用の領域とを持たせ、上記実行用メモリに格納されたユーザデータが変更された場合は、上記実行用メモリの変更したユーザデータをバックアップ用メモリの書き込み用の領域に書き込むとともに、当該書き込みをタイムスライスすることによりバックグランドで実行するバックアップ処理を行い、このバックアップ処理が完了すると、書き込み用だった領域を保存用の領域に切替えるとともに、保存用だった領域を書き込み用の領域に切替えて、次のユーザデータ変更時に変更するユーザデータを書き込み可能状態にしたことを特徴とする。
【0013】
ここで、ユーザデータとは、プログラマブルコントローラのユーザプログラムや設定データを含む。
【0014】
上記構成によると、実行用メモリのユーザデータが変更された場合は、バックアップ用メモリの記憶領域を複数に分けて保存用と書き込み用とで交互に使用するので、バックアップ用メモリへのユーザデータの書き込み中に電源が断になっても、ユーザデータの作成(復旧)が可能になる。
【0015】
また、この発明のメモリバックアップ方法は、上記メモリバックアップ方法において、上記実行用メモリのユーザデータが変更された場合は、変更前のユーザデータと変更後のユーザデータとの差分データを算出して、差分メモリに格納し、上記書き込み用の領域へのユーザデータの書き込みに失敗した場合は、上記差分データおよび上記保存用の領域に格納されている変更前のユーザデータに基づき上記変更後のユーザデータを作成することを特徴とする。
【0016】
このような構成によると、連続してユーザがユーザデータの変更を行った場合にも確実にユーザデータのバックアップが可能になる。
【0017】
また、この発明のメモリバックアップ装置は、プログラマブルコントローラの実行用メモリに格納されたユーザデータをバックアップするメモリバックアップ装置において、記憶領域が保存用の領域と書き込み用の領域とを有する不揮発性のバックアップ用メモリと、上記実行用メモリに格納されたユーザデータが変更された場合は、上記実行用メモリに格納されたユーザデータを上記書き込み用の領域に書き込むとともに、当該書き込みをタイムスライスすることによりバックグランドで実行するバックアップ処理を行い、上記書き込み用の領域に対するユーザデータのバックアップが完了すると、該書き込み用の領域を保存用の領域に切替えるとともに、切替え前に保存用の領域として使用していた領域を、書き込み可能状態にして、書き込み用の領域に切替える制御手段とを具備することを特徴とする。
【0018】
また、この発明のメモリバックアップ装置は、上記メモリバックアップ装置において、上記実行用メモリのユーザデータが変更された場合に、該変更前のユーザデータと変更後のユーザデータとの差分データを算出する差分算出手段と、上記差分算出手段で算出された差分データを格納する差分メモリと、上記書き込み用の領域へのユーザデータの書き込みに失敗した場合は、上記差分データおよび上記保存用の領域に格納されている変更前のユーザデータに基づき上記変更後のユーザデータを作成するユーザデータ作成手段と、を更に具備することを特徴とする。
また、この発明のメモリバックアップ装置は、上記メモリバックアップ装置において、上記実行用メモリは、高速に読み書き可能な高速メモリからなり、上記差分メモリは、バッテリによるデータ保持が可能な中速メモリからなり、上記バックアップ用メモリは、フラッシュメモリからなることを特徴とする。
【0019】
【発明の実施の形態】
以下、この発明に係わるメモリバックアップ方法および装置の実施の形態を図面を参照して詳細に説明する。
【0020】
図1(a)は、この発明に係わるメモリバックアップ方法および装置が適用されるプログラマブルコントローラ100の内部のメモリ構成を示す図、図1(b)は、プログラマブルコントローラ100の回路構成を示す図である。
【0021】
図1(a)において、このプログラマブルコントローラ100の内部には、ユーザデータを格納するバッテリによるデータ保持ができないが高速に読み書き可能なメモリからなる実行用メモリ110、この実行用メモリ110に格納されたユーザデータをバックアップするために設けられたフラッシュメモリからなるバックアップ用メモリ120、バックアップ用メモリ120へのユーザデータの書き込み中に電断等により該書き込み中のユーザデータが不定となった場合のユーザデータ作成(復旧)のための差分データを格納するバッテリによるデータ保持が可能なメモリからなる差分メモリ130が設けられている。
【0022】
上記実行用メモリ110、バックアップ用メモリ120および差分メモリ130は、図1(b)に示すように、プログラマブルコントローラ100のMPU、システムROM(SROM)、ASIC等とともにバスで相互に接続され、MPUにより制御されるようになっている。
【0023】
ここで、実行用メモリ110は、このプログラマブルコントローラ100による制御を実行するためのユーザプログラム、設定データ等のユーザデータが格納されるものである。このプログラマブルコントローラ100は、この実行用メモリ110に格納されたユーザデータに基づき各種制御を実行する。
【0024】
また、バックアップ用メモリ120は、実行用メモリ110にユーザデータが格納された際、若しくは、実行用メモリ110に格納されたユーザデータが変更された際に、このユーザデータを書き込むことで、実行用メモリ110に格納されたユーザデータのバックアップを行う。
【0025】
ここで、バックアップ用メモリ120は、実行用メモリ110に格納されるユーザデータの最大容量の2倍の記憶容量を有し、この記憶容量をエリアAとエリアBの2つのエリアに分割して、それぞれバックアップしたユーザデータの保存用、書き込み用として用いる。なお、この発明に使用するバックアップ用メモリは、ユーザデータの最大容量の2倍に限らず、3以上の整数倍として領域をこの整数で分割し、保存用の領域、書き込み用の領域として順次用いるようにすることもできる。また、保存用の領域、書き込み用の領域を複数持つようにすれば、ひとつづつの保存用の領域、書き込み用の領域を用いる場合のように、バックアップ処理完了直後に領域の切替えを行わず、若干の時間を置いて切替えることもできるようになり、ユーザデータの非常に頻繁な変更に対しても余裕を持って対処することができる。
【0026】
すなわち、上記バックアップ用メモリ120のエリアAおよびエリアBが空の場合に、実行用メモリ110に格納されたユーザデータのバックアップの必要が生じた場合は、まず、実行用メモリ110に格納されたユーザデータをバックアップ用メモリ120のエリアAに書き込むことによって、実行用メモリ110に格納されたユーザデータのバックアップを行う。
【0027】
そして、実行用メモリ110に格納されたユーザデータのバックアップ用メモリ120のエリアAへの書き込みが完了すると、ユーザデータのバックアップ用メモリ120のエリアAはバックアップしたユーザデータの保存用のエリア(領域)となり、また、空のエリアBは、次に、実行用メモリ110のユーザをバックアップするための書き込み用のエリア(領域)とする。
【0028】
この状態で、実行用メモリ110に格納されたユーザデータに変更が生じると、この変更されたユーザデータは、バックアップ用メモリ120のエリアBに書き込まれてバックアップされるとともに、この変更されたユーザデータのバックアップ用メモリ120のエリアBへの書き込みが完了すると、エリアAのデータを消去し、今度は、バックアップ用メモリ120のエリアAが書き込みエリアとなり、エリアBを保存エリアとなる。
【0029】
このように、バックアップ用メモリ120は、エリアAとエリアBを保存用と書き込み用とで交互に用いることにより、バックアップ中にも変更前のバックアップデータを常に確保している。また、次のバックアップのためのエリアAまたはBのデータを予め消去しておくから、バックアップに要する時間は書き込み時間だけとなり、バックアップ所要時間を短縮している。
【0030】
また、実行用メモリ110のユーザデータをバックアップ用メモリ120に書き込むバックアップ処理は、バックアップ処理をタイムスライスすることによりバックグラウンドで実行するように構成される。
【0031】
フラッシュメモリ等へのデータの書き込み中はシステムのリソースが全てその処理に集中されるため、ユーザが他の処理を行うことができないという問題があったが、上記の構成により、このプログラマブルコントローラ100は、上記バックアップ処理中においても他の処理を行うことが可能になる。変更されたユーザデータのバックアップ処理は、ユーザの特別の操作を必要とせず、ユーザが意識することなく自動的に行われる。
【0032】
差分メモリ130は、バックアップ用メモリ120へのユーザデータの書き込み中に電断等により書き込みに失敗した場合に、変更後のユーザデータを作成(復旧)するための差分データを格納する。この差分メモリ130は、バッテリ等により電源バックアップされたRAM等から構成することができる。
【0033】
また、差分メモリ130に格納される差分データは、実行用メモリ110に格納されたユーザデータに変更があった場合の、該変更前のユーザデータと変更後のユーザデータとの差分データである。
【0034】
さて、実行用メモリ110に格納されたユーザデータの変更の態様としては、該ユーザデータの全体の変更と部分的な変更とがある。この実行用メモリ110に格納されたユーザデータの全体の変更をプログラマブルコントローラにおいては「ダウンロード」といい、この実行用メモリ110に格納されたユーザデータの部分的変更をプログラマブルコントローラにおいては「オンラインエディット」という。なお、「ダウンロード」は、通常、新規のユーザプログラムに切替えたり、大幅な変更を要する場合に行われ、「オンラインエディット」は、プログラマブルコントローラの処理中に、部分的修正を加えるような場合に行われる。
【0035】
以下、「ダウンロード」時における実行用メモリ110に格納されたユーザデータのバックアップ処理および「オンラインエディット」時における実行用メモリ110に格納されたユーザデータのバックアップ処理の具体例を詳述する。
【0036】
図2は、図1に示したプログラマブルコントローラ100の「ダウンロード」時における実行用メモリ110に格納されたユーザデータのバックアップ処理の流れを示す図である。
【0037】
今、バックアップ用メモリ120のエリアAには、実行用メモリ110に格納されたユーザデータXがバックアックされて保存されており、バックアップ用メモリ120のエリアBは空き(書き込み可能状態)になっているとする。
【0038】
この状態で、実行用メモリ110に格納されたユーザデータXがユーザデータYに変更されると、この変更されたユーザデータYがバックアップ用メモリ120の空きのエリアBに書き込まれて、バックアップ処理が開始される。
【0039】
このバックアップ処理中には、プログラマブルコントローラ100の電源のOFFは禁止され、この電源のOFFの禁止は、例えば、プログラマブルコントローラ100において、バックアップ処理中であることを示すLED(Light Emitting Diode)の点灯若しくはこのプログラマブルコントローラ100に接続され、この実行用メモリ110に格納されたユーザデータの変更を行うサポートツールの画面上の表示等によりユーザに警告される。
【0040】
なお、この状態で、誤ってプログラマブルコントローラ100の電源がOFFにされても、バックアップ用メモリ120のエリアBのユーザデータYは不定となるけれどもエリアAのユーザデータXは保持されるため、プログラマブルコントローラ100の電源のON時にこのエリアAのユーザデータXを実行用メモリ110に戻すことにより、ユーザデータの変更前の状態に復旧させることができる。
【0041】
実行用メモリ110の変更されたユーザデータYのバックアップ用メモリ120のエリアBへの書き込みが完了すると、直ちにバックアップ用メモリ120のエリアAに格納されていた変更前のユーザデータXは削除され、書き込み可能状態にされる。これは、次回の実行用メモリ110のユーザデータの変更に際して、すぐにエリアAに変更されたユーザデータを書き込むことができるようにするためである。
【0042】
なお、上記処理においては、差分メモリ130は使用されないので、空きのままである。
【0043】
図3は、図2に示したバックアップ処理をフローチャートで示したものである。
【0044】
なお、この処理は、図1に示したプログラマブルコントローラ100の図示しない制御部で行われる。
【0045】
図3において、まず、実行用メモリ110のユーザデータが変更されたかを調べる(ステップ301)。ここで、実行用メモリ110のユーザデータが変更されていないと判断されると(ステップ301でNO)、ステップ301へ戻る。
【0046】
ステップ301で、実行用メモリ110のユーザデータXがユーザデータYに変更されたと判断されると(ステップ301でYES)、この変更された実行用メモリ110のユーザデータYをフラッシュメモリ120のエリアBに書き込む(ステップ302)。
【0047】
次に、バックアップ完了か、すなわち、変更された実行用メモリ110のユーザデータYのフラッシュメモリ120のエリアBへの書き込みが完了したかを調べる(ステップ303)。
【0048】
ここで、バックアップ完了でないと判断されると(ステップ303でNO)、ステップ303に戻るが、バックアップ完了と判断されると(ステップ303でYES)、フラッシュメモリ120の保存用の領域として使用していたエリアAのユーザデータXを消去して(ステップ304)、書き込み用の領域に切替え、次のユーザデータ変更時に変更するユーザデータを書き込み可能状態にして、この処理を終了する。
【0049】
図4は、図1に示したプログラマブルコントローラ100の「オンラインエディット」時における実行用メモリ110に格納されたユーザデータのバックアップ処理の流れを示す図である。
【0050】
この場合も、バックアップ用メモリ120のエリアAには、実行用メモリ110に格納されたユーザデータXがバックアックされたユーザデータXとして保存されており、バックアップ用メモリ120のエリアBは空きになっているとする。
【0051】
この状態で、実行用メモリ110に格納されたユーザデータXがユーザデータYに変更されると、差分メモリ130には、変更後のユーザデータYと変更前のユーザデータXとの差分データが格納され、続いて、この変更されたユーザデータYのバックアップ用メモリ120の空きのエリアBへの書き込みが開始される。
【0052】
そして、上記変更されたユーザデータYのバックアップ用メモリ120の空きのエリアBへの書き込み途中、すなわち、バックアップ用メモリ120のエリアBにバックアップ途中のユーザデータYが格納されている状態で再度実行用メモリ110に格納されたユーザデータYがユーザデータY’に変更されると、差分メモリ130には、この変更後のユーザデータY’と変更前のユーザデータYとの差分データが追加格納され、、また、バックアップ用メモリ120のエリアBでは、上記バックアップ途中のユーザデータYは一旦削除された後、再び、変更されたユーザデータY’の書き込みが開始される。
【0053】
ここで、プログラマブルコントローラ100に電源の断が生じたとすると、バックアップ用メモリ120のエリアBのバックアップ途中のユーザデータY’は不定となる。
【0054】
しかし、差分メモリ130には、ユーザデータYとユーザデータXとの差分データおよびユーザデータY’とユーザデータYとの差分データが格納されているので、プログラマブルコントローラ100の電源をONにしたときに、上記バックアップ用メモリ120のエリアAに格納されているユーザデータXと上記差分メモリ130に格納されているユーザデータYとユーザデータXとの差分データおよびユーザデータY’とユーザデータYとの差分データに基づきユーザデータY’を実行用メモリ110に作成(復旧)することができる。
【0055】
図5は、図4に示すバックアップ処理をフローチャートで示したものである。
【0056】
なお、この処理は、図1に示したプログラマブルコントローラ100の図示しない制御部で行われる。
【0057】
図5において、まず、実行用メモリ110のユーザデータが変更されたかを調べる(ステップ501)。ここで、実行用メモリ110のユーザデータが変更されていないと判断されると(ステップ501でNO)、ステップ501へ戻る。
【0058】
ステップ501で、実行用メモリ110のユーザデータXがユーザデータYに変更されたと判断されると(ステップ501でYES)、変更後のユーザデータYと変更前のユーザデータXとの差分データを算出し、この差分データを差分メモリ130に格納する(ステップ502)。
【0059】
続いて、この変更されたユーザデータYのバックアップ用メモリ120の空きのエリアBへの書き込みを開始する(ステップ503)。
【0060】
次に、バックアップ完了か、すなわち、変更された実行用メモリ110のユーザデータYのフラッシュメモリ120のエリアBへの書き込みが完了したかを調べる(ステップ504)。
【0061】
ここで、バックアップ完了でないと判断されると、実行用メモリ110のユーザデータが更に変更されたかを調べる(ステップ505)。ここで、実行用メモリ110のユーザデータが変更されていないと判断されると(ステップ505でNO)、ステップ504へ戻る。
【0062】
ステップ505で、実行用メモリ110のユーザデータYが更にユーザデータY’に変更されたと判断されると(ステップ505でYES)、この変更後のユーザデータY’と変更前のユーザデータYとの差分データを算出し、この差分データを差分メモリ130に追加格納する(ステップ506)。
【0063】
続いて、バックアップ途中のエリアBのユーザデータYを一旦削除し、再度変更されたユーザデータY’のバックアップを開始し(ステップ507)、ステップ504へ戻る。
【0064】
ステップ504で、バックアップ完了と判断されると(ステップ504でYES)、フラッシュメモリ120のエリアAのユーザデータXを消去して(ステップ508)、この処理を終了する。
【0065】
図6は、フラッシュメモリ120のエリアBにバックアップ途中のユーザデータY’が格納されている状態で、プログラマブルコントローラ100に電源の断が生じた場合の、電源ON時処理の中で実行されるユーザデータの作成(復旧)の手順を示すフローチャートである。
【0066】
図6において、まず、バックアップ用メモリ120のエリアAからユーザデータXを実行用メモリ110へ転送する(ステップ601)。
【0067】
そして、差分メモリ130に格納されているユーザデータYとユーザデータXとの差分データを用いて実行用メモリ110のユーザデータXをユーザデータYに変更する(ステップ602)。
【0068】
次に、差分メモリ130に格納されているユーザデータY’とユーザデータYとの差分データを用いて実行用メモリ110のユーザデータYをユーザデータY’に変更する(ステップ603)。
【0069】
その後、実行用メモリ110のユーザデータY’のバックアップを開始してフラッシュメモリのエリアBに書き込む(ステップ604)。そして、このユーザデータY’のバックアップ完了かを調べ(ステップ605)、バックアップ完了であると判断されると(ステップ605でYES)、差分メモリ130の差分データを消去し、また、フラッシュメモリのエリアAのデータを消去し(ステップ606)、この処理を終了する。
【0070】
【発明の効果】
以上説明したようにこの発明によれば、バックアップ用メモリの記憶領域内に保存用の領域と書き込み用の領域とを設け、実行用メモリに格納されたユーザデータが変更された場合は、この実行用メモリに格納されたユーザデータをバックアップ用メモリの書き込み用の領域に書き込むバックアップ処理を行い、この書き込み用の領域に対するユーザデータのバックアップ処理が完了すると、該書き込み用の領域を保存用の領域に切替えるとともに、保存用の領域のユーザデータを削除して、該保存用の領域を書き込み用の領域に切替えるように構成したので、実行用メモリのユーザデータが変更された場合に、バックアップ用メモリへのユーザデータの書き込み中に電源が断になっても、ユーザデータの作成(復旧)が可能になる。
【0071】
また、実行用メモリのユーザデータが変更された場合に、該変更前のユーザデータと変更後のユーザデータとの差分データを算出して、差分メモリに格納し、バックアップ用メモリの書き込み用の領域にバックアップ中のユーザデータが不定となった場合、この差分データおよびバックアップ用メモリの保存用の領域に格納されている変更前のユーザデータに基づき変更後のユーザデータを復旧するように構成したので、ユーザがユーザデータの一部変更を行った場合にも確実にユーザデータのバックアップが可能になるという効果を奏する。
【図面の簡単な説明】
【図1】(a)は、この発明に係わるメモリバックアップ方法および装置が適用されるプログラマブルコントローラの内部のメモリ構成を示すブロック図、(b)は、回路構成を示す説明図である。
【図2】図1に示したプログラマブルコントローラの「ダウンロード」時における実行用メモリに格納されたユーザデータのバックアップ処理の流れを示す図である。
【図3】図2に示したバックアップ処理を示すフローチャートである。
【図4】図1に示したプログラマブルコントローラの「オンラインエディット」時における実行用メモリに格納されたユーザデータのバックアップ処理の流れを示す図である。
【図5】図4に示すバックアップ処理を示すフローチャートである。
【図6】図4に示したフラッシュメモリのエリアBにバックアップ途中のユーザデータが格納されている状態で、プログラマブルコントローラに電源の断が生じた場合の復旧の手順を示すフローチャートである。
【符号の説明】
100 プログラマブルコントローラ
110 実行用メモリ
120 バックアップ用メモリ
130 差分メモリ
Claims (6)
- プログラマブルコントローラの実行用メモリに格納されたユーザデータの変更に際して該ユーザデータを不揮発性のバックアップ用メモリに書き込むことで上記ユーザデータのバックアップを行うメモリバックアップ方法において、
上記バックアップ用メモリの記憶領域は、保存用の領域と書き込み用の領域とを有し、
上記実行用メモリに格納されたユーザデータが変更された場合は、上記実行用メモリに格納されたユーザデータを上記書き込み用の領域に書き込むとともに、当該書き込みをタイムスライスすることによりバックグランドで実行するバックアップ処理を行い、
上記書き込み用の領域に対するユーザデータのバックアップ処理が完了すると、該書き込み用の領域を保存用の領域に切替えるとともに、切替え前に保存用の領域として使用していた領域を、書き込み可能状態にして、書き込み用の領域に切替える
ことを特徴とするメモリバックアップ方法。 - プログラマブルコントローラの実行用メモリに格納されたユーザデータの変更に際して該ユーザデータを不揮発性のバックアップ用メモリに書き込むことで上記ユーザデータのバックアップを行うメモリバックアップ方法において、
上記バックアップ用メモリの記憶領域を複数の領域に分け、実行用メモリに格納されているユーザデータが書き込まれている保存用の領域と、書き込み用の領域とを持たせ、
上記実行用メモリに格納されたユーザデータが変更された場合は、上記実行用メモリの変更したユーザデータをバックアップ用メモリの書き込み用の領域に書き込むとともに、当該書き込みをタイムスライスすることによりバックグランドで実行するバックアップ処理を行い、このバックアップ処理が完了すると、書き込み用だった領域を保存用の領域に切替えるとともに、保存用だった領域を書き込み用の領域に切替えて、次のユーザデータ変更時に変更するユーザデータを書き込み可能状態にした
ことを特徴とするメモリバックアップ方法。 - 上記実行用メモリのユーザデータが変更された場合は、変更前のユーザデータと変更後のユーザデータとの差分データを算出して、差分メモリに格納し、
上記書き込み用の領域へのユーザデータの書き込みに失敗した場合は、上記差分データおよび上記保存用の領域に格納されている変更前のユーザデータに基づき上記変更後のユーザデータを作成する
ことを特徴とする請求項1または2記載のメモリバックアップ方法。 - プログラマブルコントローラの実行用メモリに格納されたユーザデータをバックアップするメモリバックアップ装置において、
記憶領域が保存用の領域と書き込み用の領域とを有する不揮発性のバックアップ用メモリと、
上記実行用メモリに格納されたユーザデータが変更された場合は、上記実行用メモリに格納されたユーザデータを上記書き込み用の領域に書き込むとともに、当該書き込みをタイムスライスすることによりバックグランドで実行するバックアップ処理を行い、上記書き込み用の領域に対するユーザデータのバックアップが完了すると、該書き込み用の領域を保存用の領域に切替えるとともに、切替え前に保存用の領域として使用していた領域を、書き込み可能状態にして、書き込み用の領域に切替える制御手段と
を具備することを特徴とするメモリバックアップ装置。 - 上記実行用メモリのユーザデータが変更された場合に、該変更前のユーザデータと変更後のユーザデータとの差分データを算出する差分算出手段と、
上記差分算出手段で算出された差分データを格納する差分メモリと、上記書き込み用の領域へのユーザデータの書き込みに失敗した場合は、上記差分データおよび上記保存用の領域に格納されている変更前のユーザデータに基づき上記変更後のユーザデータを作成するユーザデータ作成手段と、
を更に具備することを特徴とする請求項4記載のメモリバックアップ装置。 - 上記実行用メモリは、高速に読み書き可能な高速メモリからなり、上記差分メモリは、バッテリによるデータ保持が可能な中速メモリからなり、上記バックア ップ用メモリは、フラッシュメモリからなることを特徴とする請求項5に記載のメモリバックアップ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001069197A JP4143952B2 (ja) | 2001-03-12 | 2001-03-12 | メモリバックアップ方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001069197A JP4143952B2 (ja) | 2001-03-12 | 2001-03-12 | メモリバックアップ方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002268955A JP2002268955A (ja) | 2002-09-20 |
JP4143952B2 true JP4143952B2 (ja) | 2008-09-03 |
Family
ID=18927263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001069197A Expired - Lifetime JP4143952B2 (ja) | 2001-03-12 | 2001-03-12 | メモリバックアップ方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4143952B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100610354B1 (ko) * | 2002-03-19 | 2006-08-09 | 삼성전자주식회사 | 플래시메모리를 이용한 휴대용단말기의 정보처리시스템제어장치 및 제어방법 |
KR100873825B1 (ko) * | 2007-05-02 | 2008-12-15 | 삼성전자주식회사 | 비휘발성 메모리의 멀티 비트 프로그래밍 장치 및 방법 |
EP2352094B1 (en) * | 2008-11-26 | 2014-06-18 | Panasonic Corporation | Information updating device and integrated circuit thereof, information updating method, and recording device and integrated circuit thereof |
EP2374054A1 (en) | 2008-12-04 | 2011-10-12 | Hitachi, Ltd. | Storage system having volatile memory and non-volatile memory |
JP6898186B2 (ja) * | 2017-09-13 | 2021-07-07 | 日立Astemo株式会社 | 自動車用制御装置及び不揮発性メモリの書き込み方法 |
-
2001
- 2001-03-12 JP JP2001069197A patent/JP4143952B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002268955A (ja) | 2002-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3797649B2 (ja) | 不揮発性半導体記憶装置 | |
JP3709338B2 (ja) | 携帯電話のユーザー設定情報管理方法とユーザー設定情報管理システム | |
KR101139076B1 (ko) | 메모리 장치 및 파일 시스템 | |
JP2009521044A (ja) | ブロック消去可能なメモリ位置およびポインタ情報を有するブロックを見つけ出すポインタのリンク付けしたチェーンを備えるメモリ | |
JP4833273B2 (ja) | ストレージ装置、リストア方法およびリストアプログラム | |
JP2009521045A (ja) | ブロック消去可能なメモリ場所を有する不揮発性メモリ | |
CN101344868A (zh) | 数据备份和获取的方法和装置 | |
CN111045870B (zh) | 一种保存与恢复元数据的方法、装置和介质 | |
JP5581577B2 (ja) | データ処理装置 | |
JPH10283167A (ja) | 装置内部設定情報バックアップ装置及び方法並びに装置内部設定情報バックアップ制御プログラムを記憶した記憶媒体 | |
JP4143952B2 (ja) | メモリバックアップ方法および装置 | |
JP2010015316A (ja) | 数値制御装置 | |
CN113360312A (zh) | 一种硬盘故障处理方法、装置、设备及存储介质 | |
JP2002318733A (ja) | ブロック消去型記憶媒体の管理装置 | |
JP4883282B2 (ja) | 車載用電子機器制御装置 | |
JP2003256295A (ja) | 記憶装置、及び記憶装置のバックアップ方法 | |
CN115562593A (zh) | 一种异常raid成员盘处理方法、装置及介质 | |
JP2007328438A (ja) | 情報処理装置、そのデータバックアップ及び復旧方法 | |
JP6401071B2 (ja) | プログラマブルコントローラ | |
JPH05225159A (ja) | 制御情報のバックアップ方式 | |
JPH1145105A (ja) | Cnc装置のデータのバックアップ方式 | |
JP6311525B2 (ja) | 記憶媒体の管理装置 | |
JPH11149419A (ja) | データバックアップ方法および装置 | |
CN115509825A (zh) | 数据处理方法、装置、nfc芯片及计算机可读存储介质 | |
JP4170133B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050303 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080111 |
|
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: 20080523 |
|
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: 20080605 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4143952 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130627 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |