JP2004362093A - データ保存装置 - Google Patents
データ保存装置 Download PDFInfo
- Publication number
- JP2004362093A JP2004362093A JP2003157538A JP2003157538A JP2004362093A JP 2004362093 A JP2004362093 A JP 2004362093A JP 2003157538 A JP2003157538 A JP 2003157538A JP 2003157538 A JP2003157538 A JP 2003157538A JP 2004362093 A JP2004362093 A JP 2004362093A
- Authority
- JP
- Japan
- Prior art keywords
- data
- new data
- writing
- data storage
- storage area
- 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.)
- Withdrawn
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】不揮発性メモリの使用効率を向上させ、最小限のデータ保存領域で安定したデータ保存処理を行うことができる、データ保存装置を提供すること。
【解決手段】新データを不揮発性メモリの新データ保存領域に書き込む前に、対応する旧データおよびアドレス値を旧データ退避領域および旧データアドレス退避領域に書き込む手段と、新データを新データ保存領域に書き込む手段と、それぞれ正常に終了した処理についての状態を、不揮発性メモリの書き込み状態保存領域に書き込む手段と、書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ旧データ退避領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、旧データ退避領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とから構成される。
【選択図】 図1
【解決手段】新データを不揮発性メモリの新データ保存領域に書き込む前に、対応する旧データおよびアドレス値を旧データ退避領域および旧データアドレス退避領域に書き込む手段と、新データを新データ保存領域に書き込む手段と、それぞれ正常に終了した処理についての状態を、不揮発性メモリの書き込み状態保存領域に書き込む手段と、書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ旧データ退避領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、旧データ退避領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とから構成される。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、装置内に組み込まれている不揮発性メモリに装置情報を書き込む、もしくは読み出し、装置電源の投入前後の情報を保存可能な装置に関するものである。また、不揮発性メモリを有する装置および不揮発性メモリへのアクセス方法に関するものである。また、データの演算機能を有するコンピュータおよび、演算処理装置を有する組み込み機器に関するものである。また、この不揮発性メモリへのアクセス処理を制御するソフトウェアに関するものである。
【0002】
【従来の技術】
従来の一般的な技術としては、不揮発性メモリへのデータ書き込み処理中に電源が切断される場合を想定して、書き込み中の領域に対応付けてフラグを立てるようにすることで、電源切断の発生時に書き込み中であった領域を検出し、無効とするものがあった(例えば、特許文献1を参照)。また、データを確実に保存するために、不揮発性メモリ内に保存する全データサイズのデータ領域をあらかじめ複数領域分確保し、データを書き込む際に同じデータを複数領域へ書き込み、電源切断前に正常に書き込みが終了している領域のデータを各種処理に用いる方法があった。
【0003】
【特許文献1】
特開平8−241174号公報
【0004】
【発明が解決しようとする課題】
ところが、従来の方法では不揮発性メモリ内に保存する全データサイズの領域を複数領域確保するため、保存データの種類が多い場合、大きなメモリ領域を確保する必要があった。
【0005】
また、大容量の不揮発性メモリを必要としコスト大となった。
【0006】
本発明の課題は、不揮発性メモリの使用効率を向上させ、最小限のデータ保存領域で安定したデータ保存処理を行うことができる、データ保存装置およびデータ保存方法を提供することである。
【0007】
また、不揮発性メモリを有する複数の装置間を通信接続したシステムを構成する場合に、安定したデータの保存方法を提供することである。
【0008】
【課題を解決するための手段】
(手段1)
上記課題を達成するため本出願に係る第1の発明の手段は、不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データ保存領域の対応する旧データを読み出し、旧データおよびアドレス値を不揮発性メモリに設けられた旧データ退避領域および旧データアドレス退避領域に書き込む手段と、新データを新データ保存領域に書き込む手段と、旧データ退避領域および旧データアドレス退避領域への書き込み、新データ保存領域への書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ旧データ退避領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、旧データ退避領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とする。
【0009】
(手段2)
本出願に係る第2の発明の手段は、不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データおよび対応する新データ保存領域のアドレス値を不揮発性メモリに設けられた新データバッファ領域および新データアドレスバッファ領域に書き込む手段と、新データバッファ領域に書き込んだ新データを新データ保存領域に書き込む手段と、新データバッファ領域書き込み、新データ保存領域書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ新データバッファ領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、新データバッファ領域のデータと新データ保存領域のデータを比較し、異なる場合新データバッファ領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とする。
【0010】
(手段3)
本出願に係る第3の発明の手段は、前記手段1および2記載のデータ保存装置において、請求項1および2記載のデータ保存装置において、他装置との間でデータを送受信するデータ通信手段と、不揮発性メモリへのデータ書き込み処理が正常に行えるかどうかを判断する手段と、自装置にてデータ書き込みが正常に行えない場合、通信接続されている他装置へデータを送信し保存させる他装置データ保存手段と、他装置の不揮発性メモリ内のデータ保存領域のデータを指示してデータを受信する、受信データ指示手段を有することを特徴とする。
【0011】
【発明の実施の形態】
(実施例1)
図1は本発明のデータ保存装置の構成を表すブロック図である。
【0012】
100はデータ保存装置、101はデータ保存装置を制御するワンチップマイコンであるMPUである。101aはMPU内に設置された中央演算処理装置CPUであり、101bはデータ保存装置を制御するプログラムが書き込まれている読み出し専用メモリROMであり、101cは前記プログラムの処理を行う際に一時的にデータを保存しておく揮発性メモリであるRAM、101dは前記装置にて処理を行う際に、各種タイミングを設定する際に用いるタイマーである。本実施例では、ワンチップマイコンの例を示して説明するが、CPU101a、ROM101b、RAM101c、タイマー101dのそれぞれの部品が個別に設置されているものでも構わない。
【0013】
102は不揮発性メモリであり、数bit長のデータを1語として、複数語のデータをアドレス値に従って電気的に書き込み、また読み出すことができるものである。
【0014】
103はデータ保存装置の電源でデータ保存装置100内の各部品に電源の供給を行うものである。
【0015】
MPU101と不揮発性メモリ部102は電気的に接続されており、その接続形態については特に限定するものではない。
【0016】
図2は本発明のデータ保存装置100の不揮発性メモリ部102内に設定される各種データの保存領域、アドレスを示したものである。
【0017】
データ保存装置100内で新たにデータを保存する際に、データを最終的に格納する新データ保存領域と、データを書き込む処理において新データ保存領域内のデータおよびそのアドレス値を一時的に退避させるための旧データ退避領域および旧データアドレス退避領域、およびデータの書き込み状態を保存するための書き込み状態保存領域が設定されている。
【0018】
図3はデータ保存装置100において、装置電源103が投入された直後に、不揮発性メモリ部102内で保存してあるデータのチェックを行い、退避領域データから新データ保存領域へのデータ書き込みおよび書き込み状態の初期設定を行う処理について、フローチャートで図示したものである。
【0019】
S100では書き込み状態を読み出す。
【0020】
書き込み状態は、3種類あり、新データ保存領域のデータを旧データ退避領域へ保存終了している状態、新データを新データ保存領域へ保存終了している状態、状態保存処理が中断した不定の状態である。
【0021】
S101にて旧データ退避処理が終了したか、もしくは保存状態が不定であるかどうかの判断を行う。いずれでもない場合、新データ保存領域の書き込みが正常に終了したことになるため、処理を終了する。
【0022】
S101にて旧データ退避処理が終了したか、もしくは保存状態が不定であった場合、S102へ進み、書き込み処理のためのタイマーを設定する。
【0023】
次にS103にて旧データ退避領域のデータを、アドレス値に対応した新データ保存領域に書き込む。
【0024】
S104ではタイムアウトをチェックし、S106では新データ保存領域へのデータ書き込みが終了したかどうかの判断を行う。終了していればS107に進み、保存状態の書き込み処理のためのタイマーを設定する。タイムアウトした場合S105に進み、異常終了設定を行う。
【0025】
次にS108に進み、新データ保存領域へのデータ書き込み処理が終了した状態をに書き込み、S109にてタイムアウトをチェックする。タイムアウトした場合S105に進み、異常終了設定を行う。
【0026】
S110では、書き込み状態保存領域への書き込み処理が終了したかどうかの判断を行い、終了していれば新データ保存領域初期化処理を終了する。
【0027】
上記S100からS110の処理によって、データ書き込み装置100の電源が投入された後に旧データ退避領域および新データ保存領域へのデータの書き込み状態に応じて、新データ保存領域のデータ初期設定を行うことができる。
【0028】
図4はデータ保存装置100において、装置内で保存する新データの保存処理についてフローチャートで図示したものである。
【0029】
S200で不揮発性メモリ部102の書き込み状態保存領域より書き込み状態を読み出す。
【0030】
S201ではデータを書き込む際の異常状態を検知するための書き込みタイマーを設定する。タイマー101dでカウントされる時刻が基準となり、RAM101c内にあらかじめ設定された領域の値を書き換えて、不揮発性メモリ部102へのデータ書き込み処理の異常状態検知を行う。
【0031】
S202ではS200で読み出した書き込み状態について、新データ保存領域の旧データおよびアドレス値を退避領域に書き込んだ状態であるかどうかの判断を行い、異なる値であればS203にて旧データおよび対応するアドレス値を旧データ退避領域に書き込む。S204ではS203での処理がタイムアウトとなり異常終了を設定すべきかどうかの判断を行い、タイムアウトであればS105にて異常終了設定を行う。
【0032】
S206では旧データおよびアドレス値を旧データ退避および旧データアドレス退避領域に書き込む処理が終了したかどうかの判断を行う。
【0033】
S207では、書き込み状態を書き込み状態保存領域に書き込むためのタイマーを設定し、S208にて書き込み状態を書き込み状態保存領域に書き込む。
【0034】
S209にてS208の処理のタイムアウトを判断する。タイムアウトと判断した場合、S205に進む。
【0035】
S210では、書き込み状態の書き込み処理が終了したかどうかの判断を行い、終了していれば、S201に戻る。
【0036】
S202で新データ保存領域の旧データおよびアドレス値を旧データ退避領域および旧データ退避領域に書き込んだ状態であると判断した場合、S211にて新データを新データ保存領域に書き込む処理を行う。
【0037】
S212では、データ書き込み処理がタイムアウトしたかどうかの判断を行い、タイムアウトと判断されてばS205に進む。
【0038】
S213では、新データを新データ保存領域に書き込む処理が終了したかどうかの判断を行い、終了していればS214にすすむ。
【0039】
S214では、書き込み状態を書き込み状態保存領域に書き込むためのタイマーを設定し、S215にて書き込み状態を書き込み状態保存領域に書き込む処理を行う。
【0040】
S216では、S215の処理がタイムアウトとなったかどうかの判断を行い、タイムアウトとなればS205に進む。
【0041】
次にS217で書き込み状態の書き込み処理が終了したかどうかの判断を行い、終了していれば新データ保存処理を終了する。
【0042】
上記S200からS217の処理によって、新データを新データ保存領域に書き込む前に対応する新データ保存領域のデータおよびアドレス値を旧データ退避領域および旧データアドレス退避領域に書き込み、その後に新データ保存領域へ新データを書き込む。また、書き込み状態の変化に応じて書き込み状態保存領域のデータを書き換える。
【0043】
以上述べたように、電源投入直後に書き込み状態から新データ保存領域のデータ初期設定および、書き込み状態保存領域の書き込み状態初期設定を行う。その後、不揮発性メモリへのデータ書き込み処理において、新データを保存する前に新データ保存領域のデータおよびアドレス値を旧データ退避領域および旧データ退避領域に書き込む処理を行い、次に新データを新データ保存領域に書き込む処理を行う。また、旧データ/アドレス値の旧データ/アドレス退避領域への書き込みおよび、新データの書き込み処理毎に書き込み状態保存領域に書き込み状態を書き込む処理を行う。
【0044】
(実施例2)
図5は本発明での第2の実施例における、本発明のデータ保存装置100の不揮発性メモリ部102内に設定される各種データの保存領域、アドレスを示したものである。
【0045】
データ保存装置100内で新たにデータを保存する際に、データを最終的に格納する新データ保存領域と、新データ保存領域に新データを書き込む前に新データをバッファに書き込む領域および、データの書き込み状態を保存するための領域が設定されている。
【0046】
図6はデータ保存装置100において、装置電源103が投入された直後に、不揮発性メモリ部102内で保存してあるデータのチェックを行い、新データバッファ領域から新データ保存領域への書き込みおよび書き込み状態保存領域の書き込み状態初期設定を行う処理について、フローチャートで図示したものである。
【0047】
S300では、書き込み状態保存領域より書き込み状態を読み出す。
【0048】
書き込み状態は、3種類あり、新データ保存領域のデータを新データバッファ領域へ保存終了している状態、新データを新データ保存領域へ保存終了している状態、状態保存処理が中断した不定の状態である。
【0049】
S301では書き込み状態が新データバッファ書き込み終了であるかどうかの判断を行う。終了していればS302にてデータの書き込みタイマーをセットする。
【0050】
次にS303では新データバッファ領域のデータを新データ保存領域へ書き込み、S304にてタイムアウトをチェックする。タイムアウトであると判断した場合、S305にて異常終了を設定し、処理を終了する。
【0051】
S306では新データ保存領域への書き込み処理が終了したかどうかを判断し、終了していればS307に進む。
【0052】
S307では書き込み状態を書き込み状態保存領域に書き込むためのタイマーをセットし、S308にて書き込み状態を書き込み状態保存領域に書き込む。
次にS309にてタイムアウトのチェックを行い、タイムアウトであると判断した場合、S305に進む。
【0053】
S310では、状態書き込み処理が終了したかどうかの判断を行い、終了していれば新データ保存領域の初期化処理を終了する。
【0054】
S301にて書き込み状態が新データバッファ書き込み終了でなければS311に進み、書き込み状態が不定であるかどうかの判断を行う。不定であればS312に進み、新データバッファ領域のデータを読み出す。不定ではない場合、新データ保存領域への書き込み終了状態であるため、処理を終了する。
【0055】
次にS313にて新データ保存領域のデータを読み出し、S314にて新データバッファ領域のデータが新データ保存領域の値と同じかどうかの判断を行い、異なっていればS302に進む。同じであれば、S315に進み新データ書き込み処理が終了したことを書き込み状態保存領域に書き込むためのタイマーをセットする。
【0056】
S316では、新データ保存領域への書き込み終了状態を書き込み状態保存領域に書き込み、S317でタイムアウトのチェックを行う。タイムアウトしていればS305に進む。
【0057】
S318では書き込み状態の書き込みが終了したかどうかの判断を行い、終了していれば新データの初期化処理を終了する。
【0058】
上記S300からS318の処理によって、データ保存装置100の電源が投入された後にデータの書き込み状態に応じて、新データ保存領域および書き込み状態保存領域のデータ初期設定を行うことができる。
【0059】
図7はデータ保存装置100において、不揮発性メモリ部104に保存する新データの書き込み処理についてフローチャートで図示したものである。
【0060】
S400で不揮発性メモリ部102より書き込み状態を読み出す。
【0061】
S401ではデータを書き込む処理の異常終了を検知するための書き込みタイマーを設定する。
【0062】
S402ではS400で読み出した、書き込み状態について新データおよびアドレス値を新データバッファ領域に書き込んだ状態であるかどうかの判断を行い、異なっていればS403にて新データおよび対応するアドレス値を新データバッファ領域に書き込む。S404ではS403での処理がタイムアウトとなり異常終了を設定すべきかどうかの判断を行い、タイムアウトであればS405にて異常終了設定を行う。
【0063】
S406では新データおよびアドレス値を新データバッファ領域に書き込む処理が終了したかどうかの判断を行う。
【0064】
S407では、新データおよびアドレス値のバッファへの書き込み処理が終了した状態を書き込む処理のタイマーを設定する。S408では新データバッファ領域へのデータ書き込みが終了した状態を書き込み状態保存領域に書き込む処理を行う。
【0065】
S409にてタイムアウトを判断する。タイムアウトと判断した場合、S405に進む。
【0066】
S410では、書き込み処理が終了したかどうかの判断を行い、終了していればS401に戻る。
【0067】
S402で新データおよびアドレス値を新データバッファ領域に書き込んだ状態であると判断した場合、S411にて新データを新データ保存領域に書き込む処理を行う。
【0068】
S411からS417の処理は、図4のフローチャートで示したS211からS217の処理と同じであり、異常終了を設定する場合はS405に進む。
【0069】
上記S400からS417の処理によって、新データを新データ保存領域に書き込む前に新データおよびアドレス値を新データバッファ領域に書き込み、その後に新データ保存領域へ新データを書き込む。また、書き込み状態の変化に応じて書き込み状態保存領域のデータを書き換える。
【0070】
以上述べたように、電源投入直後に書き込み状態保存領域に保存されている書き込み状態から新データ保存領域のデータ初期設定および、書き込み状態保存領域の書き込み状態初期設定を行う。その後、不揮発性メモリへのデータ書き込み処理において、新データを保存する前に新データを新データバッファ領域に書き込む処理を行い、次に新データを新データ保存領域に書き込む処理を行う。また、新データの新データバッファ領域への書き込みおよび新データの新データ保存領域への書き込み処理毎に、終了した状態を書き込み状態保存領域に書き込む処理を行う。
【0071】
(実施例3)
図8は本発明のデータ保存装置を他のデータ保存装置と接続した構成を表すブロック図であり、データ保存装置はそれぞれ、上記実施例1もしくは実施例2のデータ保存方法を用いるものである。
【0072】
データ保存装置100と105は相互に通信が可能となるように通信部104および108と通信線110にて接続されている。この装置間の接続形態は特に通信用ケーブルなどで接続されていることに限定するものではなく、また通信方法についてもシリアル通信等に限定するものではない。
【0073】
データ保存装置100の構成は実施例1で示したものに通信部104が追加された構成であり、MPU101に電気的に接続されている。また、データ保存装置105はMPU106および不揮発性メモリ107、通信部108、装置電源109にて構成されている。
【0074】
図9はデータ保存装置100および105において、不揮発性メモリ部104および107に保存されているデータの送受信処理についてフローチャートで図示したものである。
【0075】
S500はデータ保存装置100が、データ保存装置105内に保存されているデータを読み出す際に、データ読み出し要求を表すコマンドをデータ保存装置105に送信する処理である。このコマンドには、読み出したいデータがデータ保存装置105内の不揮発性メモリ部107のどのアドレスに設定されているかを示すアドレス値と、データ長を示すデータが付加される。
【0076】
S501では、データ保存装置105からデータを読み出すことが可能かどうかのステータスを受信したかの判断を行い、可能であることを示すステータスを受信した場合、次のS502に進む。
【0077】
S502ではデータ保存装置105からの読み出しデータを受信したかどうか判断を行い、受信していればS503にて読み出し処理が終了したかどうかのステータス受信判断を行う。終了ステータスには読み出し処理が正常に終了したかどうかを表すデータが付加されている。終了ステータスを受信した場合他装置からのデータを受信処理を終了する。
【0078】
S504では、データ保存装置100からのデータ読み出し要求コマンドを受信したかどうかの判断を行い、受信していればS505にて読み出しが可能かどうかを示すステータスを、読み出し要求を行ったデータ保存装置100へ送信する。
【0079】
S506では読み出し要求のあったデータについて、受信したアドレス値をもとにデータを読み出す処理を行う。
【0080】
S507では読み出したデータをデータ保存装置100に送信し、読み出し処理が終了した後S508にて読み出し終了ステータスをデータ保存装置100に送信する。
【0081】
図10は本発明のデータ保存装置を他のデータ保存装置と接続した構成において、データ保存装置内でデータの保存ができないと判断した場合、他のデータ保存装置にてデータの保存を行う処理を表すフローチャートである。
【0082】
S600にて新データの保存処理を行う。その後S601にて書き込み処理が異常終了したかどうかの判断を行い、異常終了が設定されていればS602にて通信接続されている他装置へのデータ書き込み処理を行う。
【0083】
図11は図10で示したS602の他装置へのデータ書き込み処理の詳細をフローチャートで示したものである。
【0084】
S700ではデータ保存装置100にてデータの保存が行えない場合に、通信接続されているデータ保存装置105へデータ書き込み要求を行うコマンドを送信する。このコマンドには、書き込むデータがデータ保存装置105内の不揮発性メモリ部107のどのアドレスに書き込むかを示すアドレス値と、データ長を示すデータが付加される。
【0085】
S701ではデータ保存装置105よりデータ書き込み可能ステータスを受信したかどうかの判断を行い、可能であればS702にて書き込みデータをデータ保存装置105に送信する。
【0086】
S703ではデータ保存装置より書き込み終了ステータスを受信したかどうかの判断を行い、受信した場合他装置へのデータ書き込み処理を終了する。終了ステータスには他装置へのデータ書き込み処理が正常に終了したかどうかのデータが付加される。
【0087】
S704ではデータ保存装置105が、データ保存装置100からデータ書き込みコマンドを受信したかどうかの判断を行い、受信していればS705に進む。
【0088】
S705ではデータ保存装置105にてデータの書き込みが可能かどうかを表す書き込みステータスをデータ保存装置100に送信する。
【0089】
S706ではデータ保存装置100より書き込みデータを受信したかどうかの判断を行い、受信した場合、S707にて新データ保存処理を行う。
【0090】
S708ではS707での新データ保存処理が終了したことをデータ保存装置100にステータスとして送信する。データ書き込み終了ステータスには書き込み処理が正常に終了したかどうかを示すデータが付加されている。
【0091】
上記S500からS508の処理を行えば、データ保存装置と通信接続されている他のデータ保存装置の不揮発性メモリ内のデータを読み出すことができ、また上記S600からS602の処理およびS700からS708の処理を行えば、データ保存装置にて、新データの書き込みが行えない場合、通信接続されている他のデータ保存装置にデータを送信することで、代わりにデータを書き込ませることが可能となる。
【0092】
このデータ保存装置間でのデータの書き込みおよび書き込み処理は相互に行えるものでもある。
【0093】
【発明の効果】
以上述べたように、データ保存装置においてデータ保存処理が中断した場合でも、データの復帰および、適切なデータの読み出し処理が可能となる。
【0094】
また、データ保存装置から他のデータ保存装置内に保存されているデータを読み出すことができ、データ保存装置にて新データの保存が行えない場合、通信接続されている他装置にデータを送信することで、代わりにデータを保存させることが可能となる。
【0095】
つまり、不揮発性メモリの使用効率を向上させ、最小限の新データ保存領域で安定したデータ保存処理を行うことができ、複数の装置内にそれぞれデータ保存装置を有しかつ装置間を通信接続したシステムを構成した場合、安定したデータの保存処理を行うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係るデータ保存装置のブロック図。
【図2】本発明の第1の実施例に係るデータ保存装置の不揮発性メモリ内のメモリブロック図。
【図3】本発明の第1の実施例に係るデータ保存装置の不揮発性メモリ内への電源投入直後の新データ保存領域初期化処理を表したフローチャート。
【図4】本発明の第1の実施例に係るデータ保存装置の不揮発性メモリ内への新データ保存処理を表したフローチャート。
【図5】本発明の第2の実施例に係るデータ保存装置の不揮発性メモリ内のメモリブロック図。
【図6】本発明の第2の実施例に係るデータ保存装置の不揮発性メモリ内への電源投入直後の新データ保存領域初期化処理を表したフローチャート。
【図7】本発明の第2の実施例に係るデータ保存装置の不揮発性メモリ内への新データ保存処理を表したフローチャート。
【図8】本発明の第3の実施例に係るデータ保存装置のブロック図。
【図9】本発明の第3の実施例に係るデータ保存装置間のデータ読み出し処理を表したフローチャート。
【図10】本発明の第3の実施例に係るデータ保存装置の他装置へのデータ書き込み処理を表したフローチャート。
【図11】本発明の第3の実施例に係るデータ保存装置間のデータ書き込み処理を表したフローチャート。
【符号の説明】
100 データ保存装置
101 データ保存装置100内のMPU
102 データ保存装置100内の不揮発性メモリ部
103 データ保存装置100内の装置電源
104 データ保存装置100内の通信部
【発明の属する技術分野】
本発明は、装置内に組み込まれている不揮発性メモリに装置情報を書き込む、もしくは読み出し、装置電源の投入前後の情報を保存可能な装置に関するものである。また、不揮発性メモリを有する装置および不揮発性メモリへのアクセス方法に関するものである。また、データの演算機能を有するコンピュータおよび、演算処理装置を有する組み込み機器に関するものである。また、この不揮発性メモリへのアクセス処理を制御するソフトウェアに関するものである。
【0002】
【従来の技術】
従来の一般的な技術としては、不揮発性メモリへのデータ書き込み処理中に電源が切断される場合を想定して、書き込み中の領域に対応付けてフラグを立てるようにすることで、電源切断の発生時に書き込み中であった領域を検出し、無効とするものがあった(例えば、特許文献1を参照)。また、データを確実に保存するために、不揮発性メモリ内に保存する全データサイズのデータ領域をあらかじめ複数領域分確保し、データを書き込む際に同じデータを複数領域へ書き込み、電源切断前に正常に書き込みが終了している領域のデータを各種処理に用いる方法があった。
【0003】
【特許文献1】
特開平8−241174号公報
【0004】
【発明が解決しようとする課題】
ところが、従来の方法では不揮発性メモリ内に保存する全データサイズの領域を複数領域確保するため、保存データの種類が多い場合、大きなメモリ領域を確保する必要があった。
【0005】
また、大容量の不揮発性メモリを必要としコスト大となった。
【0006】
本発明の課題は、不揮発性メモリの使用効率を向上させ、最小限のデータ保存領域で安定したデータ保存処理を行うことができる、データ保存装置およびデータ保存方法を提供することである。
【0007】
また、不揮発性メモリを有する複数の装置間を通信接続したシステムを構成する場合に、安定したデータの保存方法を提供することである。
【0008】
【課題を解決するための手段】
(手段1)
上記課題を達成するため本出願に係る第1の発明の手段は、不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データ保存領域の対応する旧データを読み出し、旧データおよびアドレス値を不揮発性メモリに設けられた旧データ退避領域および旧データアドレス退避領域に書き込む手段と、新データを新データ保存領域に書き込む手段と、旧データ退避領域および旧データアドレス退避領域への書き込み、新データ保存領域への書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ旧データ退避領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、旧データ退避領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とする。
【0009】
(手段2)
本出願に係る第2の発明の手段は、不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データおよび対応する新データ保存領域のアドレス値を不揮発性メモリに設けられた新データバッファ領域および新データアドレスバッファ領域に書き込む手段と、新データバッファ領域に書き込んだ新データを新データ保存領域に書き込む手段と、新データバッファ領域書き込み、新データ保存領域書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ新データバッファ領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、新データバッファ領域のデータと新データ保存領域のデータを比較し、異なる場合新データバッファ領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とする。
【0010】
(手段3)
本出願に係る第3の発明の手段は、前記手段1および2記載のデータ保存装置において、請求項1および2記載のデータ保存装置において、他装置との間でデータを送受信するデータ通信手段と、不揮発性メモリへのデータ書き込み処理が正常に行えるかどうかを判断する手段と、自装置にてデータ書き込みが正常に行えない場合、通信接続されている他装置へデータを送信し保存させる他装置データ保存手段と、他装置の不揮発性メモリ内のデータ保存領域のデータを指示してデータを受信する、受信データ指示手段を有することを特徴とする。
【0011】
【発明の実施の形態】
(実施例1)
図1は本発明のデータ保存装置の構成を表すブロック図である。
【0012】
100はデータ保存装置、101はデータ保存装置を制御するワンチップマイコンであるMPUである。101aはMPU内に設置された中央演算処理装置CPUであり、101bはデータ保存装置を制御するプログラムが書き込まれている読み出し専用メモリROMであり、101cは前記プログラムの処理を行う際に一時的にデータを保存しておく揮発性メモリであるRAM、101dは前記装置にて処理を行う際に、各種タイミングを設定する際に用いるタイマーである。本実施例では、ワンチップマイコンの例を示して説明するが、CPU101a、ROM101b、RAM101c、タイマー101dのそれぞれの部品が個別に設置されているものでも構わない。
【0013】
102は不揮発性メモリであり、数bit長のデータを1語として、複数語のデータをアドレス値に従って電気的に書き込み、また読み出すことができるものである。
【0014】
103はデータ保存装置の電源でデータ保存装置100内の各部品に電源の供給を行うものである。
【0015】
MPU101と不揮発性メモリ部102は電気的に接続されており、その接続形態については特に限定するものではない。
【0016】
図2は本発明のデータ保存装置100の不揮発性メモリ部102内に設定される各種データの保存領域、アドレスを示したものである。
【0017】
データ保存装置100内で新たにデータを保存する際に、データを最終的に格納する新データ保存領域と、データを書き込む処理において新データ保存領域内のデータおよびそのアドレス値を一時的に退避させるための旧データ退避領域および旧データアドレス退避領域、およびデータの書き込み状態を保存するための書き込み状態保存領域が設定されている。
【0018】
図3はデータ保存装置100において、装置電源103が投入された直後に、不揮発性メモリ部102内で保存してあるデータのチェックを行い、退避領域データから新データ保存領域へのデータ書き込みおよび書き込み状態の初期設定を行う処理について、フローチャートで図示したものである。
【0019】
S100では書き込み状態を読み出す。
【0020】
書き込み状態は、3種類あり、新データ保存領域のデータを旧データ退避領域へ保存終了している状態、新データを新データ保存領域へ保存終了している状態、状態保存処理が中断した不定の状態である。
【0021】
S101にて旧データ退避処理が終了したか、もしくは保存状態が不定であるかどうかの判断を行う。いずれでもない場合、新データ保存領域の書き込みが正常に終了したことになるため、処理を終了する。
【0022】
S101にて旧データ退避処理が終了したか、もしくは保存状態が不定であった場合、S102へ進み、書き込み処理のためのタイマーを設定する。
【0023】
次にS103にて旧データ退避領域のデータを、アドレス値に対応した新データ保存領域に書き込む。
【0024】
S104ではタイムアウトをチェックし、S106では新データ保存領域へのデータ書き込みが終了したかどうかの判断を行う。終了していればS107に進み、保存状態の書き込み処理のためのタイマーを設定する。タイムアウトした場合S105に進み、異常終了設定を行う。
【0025】
次にS108に進み、新データ保存領域へのデータ書き込み処理が終了した状態をに書き込み、S109にてタイムアウトをチェックする。タイムアウトした場合S105に進み、異常終了設定を行う。
【0026】
S110では、書き込み状態保存領域への書き込み処理が終了したかどうかの判断を行い、終了していれば新データ保存領域初期化処理を終了する。
【0027】
上記S100からS110の処理によって、データ書き込み装置100の電源が投入された後に旧データ退避領域および新データ保存領域へのデータの書き込み状態に応じて、新データ保存領域のデータ初期設定を行うことができる。
【0028】
図4はデータ保存装置100において、装置内で保存する新データの保存処理についてフローチャートで図示したものである。
【0029】
S200で不揮発性メモリ部102の書き込み状態保存領域より書き込み状態を読み出す。
【0030】
S201ではデータを書き込む際の異常状態を検知するための書き込みタイマーを設定する。タイマー101dでカウントされる時刻が基準となり、RAM101c内にあらかじめ設定された領域の値を書き換えて、不揮発性メモリ部102へのデータ書き込み処理の異常状態検知を行う。
【0031】
S202ではS200で読み出した書き込み状態について、新データ保存領域の旧データおよびアドレス値を退避領域に書き込んだ状態であるかどうかの判断を行い、異なる値であればS203にて旧データおよび対応するアドレス値を旧データ退避領域に書き込む。S204ではS203での処理がタイムアウトとなり異常終了を設定すべきかどうかの判断を行い、タイムアウトであればS105にて異常終了設定を行う。
【0032】
S206では旧データおよびアドレス値を旧データ退避および旧データアドレス退避領域に書き込む処理が終了したかどうかの判断を行う。
【0033】
S207では、書き込み状態を書き込み状態保存領域に書き込むためのタイマーを設定し、S208にて書き込み状態を書き込み状態保存領域に書き込む。
【0034】
S209にてS208の処理のタイムアウトを判断する。タイムアウトと判断した場合、S205に進む。
【0035】
S210では、書き込み状態の書き込み処理が終了したかどうかの判断を行い、終了していれば、S201に戻る。
【0036】
S202で新データ保存領域の旧データおよびアドレス値を旧データ退避領域および旧データ退避領域に書き込んだ状態であると判断した場合、S211にて新データを新データ保存領域に書き込む処理を行う。
【0037】
S212では、データ書き込み処理がタイムアウトしたかどうかの判断を行い、タイムアウトと判断されてばS205に進む。
【0038】
S213では、新データを新データ保存領域に書き込む処理が終了したかどうかの判断を行い、終了していればS214にすすむ。
【0039】
S214では、書き込み状態を書き込み状態保存領域に書き込むためのタイマーを設定し、S215にて書き込み状態を書き込み状態保存領域に書き込む処理を行う。
【0040】
S216では、S215の処理がタイムアウトとなったかどうかの判断を行い、タイムアウトとなればS205に進む。
【0041】
次にS217で書き込み状態の書き込み処理が終了したかどうかの判断を行い、終了していれば新データ保存処理を終了する。
【0042】
上記S200からS217の処理によって、新データを新データ保存領域に書き込む前に対応する新データ保存領域のデータおよびアドレス値を旧データ退避領域および旧データアドレス退避領域に書き込み、その後に新データ保存領域へ新データを書き込む。また、書き込み状態の変化に応じて書き込み状態保存領域のデータを書き換える。
【0043】
以上述べたように、電源投入直後に書き込み状態から新データ保存領域のデータ初期設定および、書き込み状態保存領域の書き込み状態初期設定を行う。その後、不揮発性メモリへのデータ書き込み処理において、新データを保存する前に新データ保存領域のデータおよびアドレス値を旧データ退避領域および旧データ退避領域に書き込む処理を行い、次に新データを新データ保存領域に書き込む処理を行う。また、旧データ/アドレス値の旧データ/アドレス退避領域への書き込みおよび、新データの書き込み処理毎に書き込み状態保存領域に書き込み状態を書き込む処理を行う。
【0044】
(実施例2)
図5は本発明での第2の実施例における、本発明のデータ保存装置100の不揮発性メモリ部102内に設定される各種データの保存領域、アドレスを示したものである。
【0045】
データ保存装置100内で新たにデータを保存する際に、データを最終的に格納する新データ保存領域と、新データ保存領域に新データを書き込む前に新データをバッファに書き込む領域および、データの書き込み状態を保存するための領域が設定されている。
【0046】
図6はデータ保存装置100において、装置電源103が投入された直後に、不揮発性メモリ部102内で保存してあるデータのチェックを行い、新データバッファ領域から新データ保存領域への書き込みおよび書き込み状態保存領域の書き込み状態初期設定を行う処理について、フローチャートで図示したものである。
【0047】
S300では、書き込み状態保存領域より書き込み状態を読み出す。
【0048】
書き込み状態は、3種類あり、新データ保存領域のデータを新データバッファ領域へ保存終了している状態、新データを新データ保存領域へ保存終了している状態、状態保存処理が中断した不定の状態である。
【0049】
S301では書き込み状態が新データバッファ書き込み終了であるかどうかの判断を行う。終了していればS302にてデータの書き込みタイマーをセットする。
【0050】
次にS303では新データバッファ領域のデータを新データ保存領域へ書き込み、S304にてタイムアウトをチェックする。タイムアウトであると判断した場合、S305にて異常終了を設定し、処理を終了する。
【0051】
S306では新データ保存領域への書き込み処理が終了したかどうかを判断し、終了していればS307に進む。
【0052】
S307では書き込み状態を書き込み状態保存領域に書き込むためのタイマーをセットし、S308にて書き込み状態を書き込み状態保存領域に書き込む。
次にS309にてタイムアウトのチェックを行い、タイムアウトであると判断した場合、S305に進む。
【0053】
S310では、状態書き込み処理が終了したかどうかの判断を行い、終了していれば新データ保存領域の初期化処理を終了する。
【0054】
S301にて書き込み状態が新データバッファ書き込み終了でなければS311に進み、書き込み状態が不定であるかどうかの判断を行う。不定であればS312に進み、新データバッファ領域のデータを読み出す。不定ではない場合、新データ保存領域への書き込み終了状態であるため、処理を終了する。
【0055】
次にS313にて新データ保存領域のデータを読み出し、S314にて新データバッファ領域のデータが新データ保存領域の値と同じかどうかの判断を行い、異なっていればS302に進む。同じであれば、S315に進み新データ書き込み処理が終了したことを書き込み状態保存領域に書き込むためのタイマーをセットする。
【0056】
S316では、新データ保存領域への書き込み終了状態を書き込み状態保存領域に書き込み、S317でタイムアウトのチェックを行う。タイムアウトしていればS305に進む。
【0057】
S318では書き込み状態の書き込みが終了したかどうかの判断を行い、終了していれば新データの初期化処理を終了する。
【0058】
上記S300からS318の処理によって、データ保存装置100の電源が投入された後にデータの書き込み状態に応じて、新データ保存領域および書き込み状態保存領域のデータ初期設定を行うことができる。
【0059】
図7はデータ保存装置100において、不揮発性メモリ部104に保存する新データの書き込み処理についてフローチャートで図示したものである。
【0060】
S400で不揮発性メモリ部102より書き込み状態を読み出す。
【0061】
S401ではデータを書き込む処理の異常終了を検知するための書き込みタイマーを設定する。
【0062】
S402ではS400で読み出した、書き込み状態について新データおよびアドレス値を新データバッファ領域に書き込んだ状態であるかどうかの判断を行い、異なっていればS403にて新データおよび対応するアドレス値を新データバッファ領域に書き込む。S404ではS403での処理がタイムアウトとなり異常終了を設定すべきかどうかの判断を行い、タイムアウトであればS405にて異常終了設定を行う。
【0063】
S406では新データおよびアドレス値を新データバッファ領域に書き込む処理が終了したかどうかの判断を行う。
【0064】
S407では、新データおよびアドレス値のバッファへの書き込み処理が終了した状態を書き込む処理のタイマーを設定する。S408では新データバッファ領域へのデータ書き込みが終了した状態を書き込み状態保存領域に書き込む処理を行う。
【0065】
S409にてタイムアウトを判断する。タイムアウトと判断した場合、S405に進む。
【0066】
S410では、書き込み処理が終了したかどうかの判断を行い、終了していればS401に戻る。
【0067】
S402で新データおよびアドレス値を新データバッファ領域に書き込んだ状態であると判断した場合、S411にて新データを新データ保存領域に書き込む処理を行う。
【0068】
S411からS417の処理は、図4のフローチャートで示したS211からS217の処理と同じであり、異常終了を設定する場合はS405に進む。
【0069】
上記S400からS417の処理によって、新データを新データ保存領域に書き込む前に新データおよびアドレス値を新データバッファ領域に書き込み、その後に新データ保存領域へ新データを書き込む。また、書き込み状態の変化に応じて書き込み状態保存領域のデータを書き換える。
【0070】
以上述べたように、電源投入直後に書き込み状態保存領域に保存されている書き込み状態から新データ保存領域のデータ初期設定および、書き込み状態保存領域の書き込み状態初期設定を行う。その後、不揮発性メモリへのデータ書き込み処理において、新データを保存する前に新データを新データバッファ領域に書き込む処理を行い、次に新データを新データ保存領域に書き込む処理を行う。また、新データの新データバッファ領域への書き込みおよび新データの新データ保存領域への書き込み処理毎に、終了した状態を書き込み状態保存領域に書き込む処理を行う。
【0071】
(実施例3)
図8は本発明のデータ保存装置を他のデータ保存装置と接続した構成を表すブロック図であり、データ保存装置はそれぞれ、上記実施例1もしくは実施例2のデータ保存方法を用いるものである。
【0072】
データ保存装置100と105は相互に通信が可能となるように通信部104および108と通信線110にて接続されている。この装置間の接続形態は特に通信用ケーブルなどで接続されていることに限定するものではなく、また通信方法についてもシリアル通信等に限定するものではない。
【0073】
データ保存装置100の構成は実施例1で示したものに通信部104が追加された構成であり、MPU101に電気的に接続されている。また、データ保存装置105はMPU106および不揮発性メモリ107、通信部108、装置電源109にて構成されている。
【0074】
図9はデータ保存装置100および105において、不揮発性メモリ部104および107に保存されているデータの送受信処理についてフローチャートで図示したものである。
【0075】
S500はデータ保存装置100が、データ保存装置105内に保存されているデータを読み出す際に、データ読み出し要求を表すコマンドをデータ保存装置105に送信する処理である。このコマンドには、読み出したいデータがデータ保存装置105内の不揮発性メモリ部107のどのアドレスに設定されているかを示すアドレス値と、データ長を示すデータが付加される。
【0076】
S501では、データ保存装置105からデータを読み出すことが可能かどうかのステータスを受信したかの判断を行い、可能であることを示すステータスを受信した場合、次のS502に進む。
【0077】
S502ではデータ保存装置105からの読み出しデータを受信したかどうか判断を行い、受信していればS503にて読み出し処理が終了したかどうかのステータス受信判断を行う。終了ステータスには読み出し処理が正常に終了したかどうかを表すデータが付加されている。終了ステータスを受信した場合他装置からのデータを受信処理を終了する。
【0078】
S504では、データ保存装置100からのデータ読み出し要求コマンドを受信したかどうかの判断を行い、受信していればS505にて読み出しが可能かどうかを示すステータスを、読み出し要求を行ったデータ保存装置100へ送信する。
【0079】
S506では読み出し要求のあったデータについて、受信したアドレス値をもとにデータを読み出す処理を行う。
【0080】
S507では読み出したデータをデータ保存装置100に送信し、読み出し処理が終了した後S508にて読み出し終了ステータスをデータ保存装置100に送信する。
【0081】
図10は本発明のデータ保存装置を他のデータ保存装置と接続した構成において、データ保存装置内でデータの保存ができないと判断した場合、他のデータ保存装置にてデータの保存を行う処理を表すフローチャートである。
【0082】
S600にて新データの保存処理を行う。その後S601にて書き込み処理が異常終了したかどうかの判断を行い、異常終了が設定されていればS602にて通信接続されている他装置へのデータ書き込み処理を行う。
【0083】
図11は図10で示したS602の他装置へのデータ書き込み処理の詳細をフローチャートで示したものである。
【0084】
S700ではデータ保存装置100にてデータの保存が行えない場合に、通信接続されているデータ保存装置105へデータ書き込み要求を行うコマンドを送信する。このコマンドには、書き込むデータがデータ保存装置105内の不揮発性メモリ部107のどのアドレスに書き込むかを示すアドレス値と、データ長を示すデータが付加される。
【0085】
S701ではデータ保存装置105よりデータ書き込み可能ステータスを受信したかどうかの判断を行い、可能であればS702にて書き込みデータをデータ保存装置105に送信する。
【0086】
S703ではデータ保存装置より書き込み終了ステータスを受信したかどうかの判断を行い、受信した場合他装置へのデータ書き込み処理を終了する。終了ステータスには他装置へのデータ書き込み処理が正常に終了したかどうかのデータが付加される。
【0087】
S704ではデータ保存装置105が、データ保存装置100からデータ書き込みコマンドを受信したかどうかの判断を行い、受信していればS705に進む。
【0088】
S705ではデータ保存装置105にてデータの書き込みが可能かどうかを表す書き込みステータスをデータ保存装置100に送信する。
【0089】
S706ではデータ保存装置100より書き込みデータを受信したかどうかの判断を行い、受信した場合、S707にて新データ保存処理を行う。
【0090】
S708ではS707での新データ保存処理が終了したことをデータ保存装置100にステータスとして送信する。データ書き込み終了ステータスには書き込み処理が正常に終了したかどうかを示すデータが付加されている。
【0091】
上記S500からS508の処理を行えば、データ保存装置と通信接続されている他のデータ保存装置の不揮発性メモリ内のデータを読み出すことができ、また上記S600からS602の処理およびS700からS708の処理を行えば、データ保存装置にて、新データの書き込みが行えない場合、通信接続されている他のデータ保存装置にデータを送信することで、代わりにデータを書き込ませることが可能となる。
【0092】
このデータ保存装置間でのデータの書き込みおよび書き込み処理は相互に行えるものでもある。
【0093】
【発明の効果】
以上述べたように、データ保存装置においてデータ保存処理が中断した場合でも、データの復帰および、適切なデータの読み出し処理が可能となる。
【0094】
また、データ保存装置から他のデータ保存装置内に保存されているデータを読み出すことができ、データ保存装置にて新データの保存が行えない場合、通信接続されている他装置にデータを送信することで、代わりにデータを保存させることが可能となる。
【0095】
つまり、不揮発性メモリの使用効率を向上させ、最小限の新データ保存領域で安定したデータ保存処理を行うことができ、複数の装置内にそれぞれデータ保存装置を有しかつ装置間を通信接続したシステムを構成した場合、安定したデータの保存処理を行うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係るデータ保存装置のブロック図。
【図2】本発明の第1の実施例に係るデータ保存装置の不揮発性メモリ内のメモリブロック図。
【図3】本発明の第1の実施例に係るデータ保存装置の不揮発性メモリ内への電源投入直後の新データ保存領域初期化処理を表したフローチャート。
【図4】本発明の第1の実施例に係るデータ保存装置の不揮発性メモリ内への新データ保存処理を表したフローチャート。
【図5】本発明の第2の実施例に係るデータ保存装置の不揮発性メモリ内のメモリブロック図。
【図6】本発明の第2の実施例に係るデータ保存装置の不揮発性メモリ内への電源投入直後の新データ保存領域初期化処理を表したフローチャート。
【図7】本発明の第2の実施例に係るデータ保存装置の不揮発性メモリ内への新データ保存処理を表したフローチャート。
【図8】本発明の第3の実施例に係るデータ保存装置のブロック図。
【図9】本発明の第3の実施例に係るデータ保存装置間のデータ読み出し処理を表したフローチャート。
【図10】本発明の第3の実施例に係るデータ保存装置の他装置へのデータ書き込み処理を表したフローチャート。
【図11】本発明の第3の実施例に係るデータ保存装置間のデータ書き込み処理を表したフローチャート。
【符号の説明】
100 データ保存装置
101 データ保存装置100内のMPU
102 データ保存装置100内の不揮発性メモリ部
103 データ保存装置100内の装置電源
104 データ保存装置100内の通信部
Claims (5)
- 不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、
新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データ保存領域の対応する旧データを読み出し、旧データおよびアドレス値を不揮発性メモリに設けられた旧データ退避領域および旧データアドレス退避領域に書き込む手段と、
新データを新データ保存領域に書き込む手段と、
旧データ退避領域および旧データアドレス退避領域への書き込み、新データ保存領域への書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、
不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ旧データ退避領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、旧データ退避領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とするデータ保存装置。 - 不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、
新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データおよび対応する新データ保存領域のアドレス値を不揮発性メモリに設けられた新データバッファ領域および新データアドレスバッファ領域に書き込む手段と、
新データバッファ領域に書き込んだ新データを新データ保存領域に書き込む手段と、
新データバッファ領域書き込み、新データ保存領域書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、
不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ新データバッファ領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、新データバッファ領域のデータと新データ保存領域のデータを比較し、異なる場合新データバッファ領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とするデータ保存装置。 - 請求項1および2記載のデータ保存装置において、他装置との間でデータを送受信するデータ通信手段と、
不揮発性メモリへのデータ書き込み処理が正常に行えるかどうかを判断する手段と、
自装置にてデータ書き込みが正常に行えない場合、通信接続されている他装置へデータを送信し保存させる他装置データ保存手段と、
他装置の不揮発性メモリ内の新データ保存領域のデータを指示してデータを受信する、受信データ指示手段を有することを特徴とするデータ保存装置。 - 請求項1から3記載のデータ保存装置において、不揮発性メモリとしてEEPROM、もしくはバックアップ電源を具備するRAM、もしくはバックアップ電源を具備しない不揮発性のRAM、もしくはディスク装置を用いることを特徴とするデータ保存装置。
- 請求項1から4記載のデータ保存装置において、不揮発性メモリへのデータ書き込み、読み出し処理を行うためのプログラムをコンピュータが読み取り可能に保存した記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003157538A JP2004362093A (ja) | 2003-06-03 | 2003-06-03 | データ保存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003157538A JP2004362093A (ja) | 2003-06-03 | 2003-06-03 | データ保存装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004362093A true JP2004362093A (ja) | 2004-12-24 |
Family
ID=34051208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003157538A Withdrawn JP2004362093A (ja) | 2003-06-03 | 2003-06-03 | データ保存装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004362093A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009123186A (ja) * | 2007-11-15 | 2009-06-04 | Genesys Logic Inc | フラッシュメモリのデータ即時更新方法 |
-
2003
- 2003-06-03 JP JP2003157538A patent/JP2004362093A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009123186A (ja) * | 2007-11-15 | 2009-06-04 | Genesys Logic Inc | フラッシュメモリのデータ即時更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4767323B2 (ja) | 2つの形式のストレージメディアを使用するデータストレージデバイス | |
US6279114B1 (en) | Voltage negotiation in a single host multiple cards system | |
JP4110000B2 (ja) | 記憶装置 | |
WO2004001605A1 (en) | Memory device, memory managing method and program | |
JP2003233534A (ja) | メモリシステム | |
JP2000181773A5 (ja) | ||
EP1607834A3 (en) | A mobile communication terminal including NAND flash memory and method for booting the same | |
JP3681323B2 (ja) | メモリカード | |
KR20030073824A (ko) | 범용 직렬 버스를 이용한 시스템의 펌웨어 업그레이드방법 및 장치 | |
JP2007052717A (ja) | データ転送装置およびデータ転送方法 | |
JP2004362093A (ja) | データ保存装置 | |
JP2002373144A (ja) | デバイスドライバの組込み方式および方法 | |
EP1220149A1 (en) | Entertainment device, data processing device and portable storage device | |
JP3539752B2 (ja) | 半導体記憶装置とメモリ制御方法 | |
JP4759048B2 (ja) | 制御システム | |
JP3376331B2 (ja) | フラッシュメモリを用いる記憶方法及び記憶制御プログラムを記録した記録媒体 | |
CN112269585B (zh) | 一种关节驱动器固件在线更新方法、装置及关节驱动器 | |
EP1079340A2 (en) | Integrated circuit card protected from unauthorized access | |
KR100617755B1 (ko) | Nand 플래시 메모리를 구비한 이동 통신 단말의 부팅방법 및 장치 | |
JP5010065B2 (ja) | マイクロコンピュータ | |
TWI410794B (zh) | Memory device | |
CN114115755B (zh) | 用于数据写入的方法及装置、存储介质 | |
US20040260969A1 (en) | Method for storing data in a memory, a system, an electronic device and a memory card | |
JPH10240633A (ja) | メモリシステム及びメモリカード | |
JP2005135223A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060905 |