(57)【要約】【課題】不揮発性メモリの使用効率を向上させ、最小限のデータ保存領域で安定したデータ保存処理を行うことができる、データ保存装置を提供すること。【解決手段】新データを不揮発性メモリの新データ保存領域に書き込む前に、対応する旧データおよびアドレス値を旧データ退避領域および旧データアドレス退避領域に書き込む手段と、新データを新データ保存領域に書き込む手段と、それぞれ正常に終了した処理についての状態を、不揮発性メモリの書き込み状態保存領域に書き込む手段と、書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ旧データ退避領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、旧データ退避領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とから構成される。【選択図】        図１
2004362093.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、
新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データ保存領域の対応する旧データを読み出し、旧データおよびアドレス値を不揮発性メモリに設けられた旧データ退避領域および旧データアドレス退避領域に書き込む手段と、
新データを新データ保存領域に書き込む手段と、
旧データ退避領域および旧データアドレス退避領域への書き込み、新データ保存領域への書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、
不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ旧データ退避領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、旧データ退避領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とするデータ保存装置。
【請求項２】
不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、
新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データおよび対応する新データ保存領域のアドレス値を不揮発性メモリに設けられた新データバッファ領域および新データアドレスバッファ領域に書き込む手段と、
新データバッファ領域に書き込んだ新データを新データ保存領域に書き込む手段と、
新データバッファ領域書き込み、新データ保存領域書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、
不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ新データバッファ領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、新データバッファ領域のデータと新データ保存領域のデータを比較し、異なる場合新データバッファ領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とするデータ保存装置。
【請求項３】
請求項１および２記載のデータ保存装置において、他装置との間でデータを送受信するデータ通信手段と、
不揮発性メモリへのデータ書き込み処理が正常に行えるかどうかを判断する手段と、
自装置にてデータ書き込みが正常に行えない場合、通信接続されている他装置へデータを送信し保存させる他装置データ保存手段と、
他装置の不揮発性メモリ内の新データ保存領域のデータを指示してデータを受信する、受信データ指示手段を有することを特徴とするデータ保存装置。
【請求項４】
請求項１から３記載のデータ保存装置において、不揮発性メモリとしてＥＥＰＲＯＭ、もしくはバックアップ電源を具備するＲＡＭ、もしくはバックアップ電源を具備しない不揮発性のＲＡＭ、もしくはディスク装置を用いることを特徴とするデータ保存装置。
【請求項５】
請求項１から４記載のデータ保存装置において、不揮発性メモリへのデータ書き込み、読み出し処理を行うためのプログラムをコンピュータが読み取り可能に保存した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、装置内に組み込まれている不揮発性メモリに装置情報を書き込む、もしくは読み出し、装置電源の投入前後の情報を保存可能な装置に関するものである。また、不揮発性メモリを有する装置および不揮発性メモリへのアクセス方法に関するものである。また、データの演算機能を有するコンピュータおよび、演算処理装置を有する組み込み機器に関するものである。また、この不揮発性メモリへのアクセス処理を制御するソフトウェアに関するものである。
【０００２】
【従来の技術】
従来の一般的な技術としては、不揮発性メモリへのデータ書き込み処理中に電源が切断される場合を想定して、書き込み中の領域に対応付けてフラグを立てるようにすることで、電源切断の発生時に書き込み中であった領域を検出し、無効とするものがあった（例えば、特許文献１を参照）。また、データを確実に保存するために、不揮発性メモリ内に保存する全データサイズのデータ領域をあらかじめ複数領域分確保し、データを書き込む際に同じデータを複数領域へ書き込み、電源切断前に正常に書き込みが終了している領域のデータを各種処理に用いる方法があった。
【０００３】
【特許文献１】
特開平８−２４１１７４号公報
【０００４】
【発明が解決しようとする課題】
ところが、従来の方法では不揮発性メモリ内に保存する全データサイズの領域を複数領域確保するため、保存データの種類が多い場合、大きなメモリ領域を確保する必要があった。
【０００５】
また、大容量の不揮発性メモリを必要としコスト大となった。
【０００６】
本発明の課題は、不揮発性メモリの使用効率を向上させ、最小限のデータ保存領域で安定したデータ保存処理を行うことができる、データ保存装置およびデータ保存方法を提供することである。
【０００７】
また、不揮発性メモリを有する複数の装置間を通信接続したシステムを構成する場合に、安定したデータの保存方法を提供することである。
【０００８】
【課題を解決するための手段】
（手段１）
上記課題を達成するため本出願に係る第１の発明の手段は、不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データ保存領域の対応する旧データを読み出し、旧データおよびアドレス値を不揮発性メモリに設けられた旧データ退避領域および旧データアドレス退避領域に書き込む手段と、新データを新データ保存領域に書き込む手段と、旧データ退避領域および旧データアドレス退避領域への書き込み、新データ保存領域への書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ旧データ退避領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、旧データ退避領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とする。
【０００９】
（手段２）
本出願に係る第２の発明の手段は、不揮発性メモリにデータを書き込むもしくは読み出す機能を有する装置において、新データを不揮発性メモリに設けられた新データ保存領域に書き込む前に、新データおよび対応する新データ保存領域のアドレス値を不揮発性メモリに設けられた新データバッファ領域および新データアドレスバッファ領域に書き込む手段と、新データバッファ領域に書き込んだ新データを新データ保存領域に書き込む手段と、新データバッファ領域書き込み、新データ保存領域書き込みの順に処理を行い、それぞれ正常に終了した処理についての状態を、不揮発性メモリに設けられた書き込み状態保存領域に書き込む手段と、不揮発性メモリの書き込み状態保存領域から読み出した書き込み状態より、新データが不揮発性メモリの新データ保存領域へ正常に書き込まれていなければ新データバッファ領域のデータを新データ保存領域へ書き込む処理を行い、また書き込み状態が不定の場合、新データバッファ領域のデータと新データ保存領域のデータを比較し、異なる場合新データバッファ領域のデータを新データ保存領域へ書き込む処理を行う、新データ保存領域初期化手段とからなることを特徴とする。
【００１０】
（手段３）
本出願に係る第３の発明の手段は、前記手段１および２記載のデータ保存装置において、請求項１および２記載のデータ保存装置において、他装置との間でデータを送受信するデータ通信手段と、不揮発性メモリへのデータ書き込み処理が正常に行えるかどうかを判断する手段と、自装置にてデータ書き込みが正常に行えない場合、通信接続されている他装置へデータを送信し保存させる他装置データ保存手段と、他装置の不揮発性メモリ内のデータ保存領域のデータを指示してデータを受信する、受信データ指示手段を有することを特徴とする。
【００１１】
【発明の実施の形態】
（実施例１）
図１は本発明のデータ保存装置の構成を表すブロック図である。
【００１２】
１００はデータ保存装置、１０１はデータ保存装置を制御するワンチップマイコンであるＭＰＵである。１０１ａはＭＰＵ内に設置された中央演算処理装置ＣＰＵであり、１０１ｂはデータ保存装置を制御するプログラムが書き込まれている読み出し専用メモリＲＯＭであり、１０１ｃは前記プログラムの処理を行う際に一時的にデータを保存しておく揮発性メモリであるＲＡＭ、１０１ｄは前記装置にて処理を行う際に、各種タイミングを設定する際に用いるタイマーである。本実施例では、ワンチップマイコンの例を示して説明するが、ＣＰＵ１０１ａ、ＲＯＭ１０１ｂ、ＲＡＭ１０１ｃ、タイマー１０１ｄのそれぞれの部品が個別に設置されているものでも構わない。
【００１３】
１０２は不揮発性メモリであり、数ｂｉｔ長のデータを１語として、複数語のデータをアドレス値に従って電気的に書き込み、また読み出すことができるものである。
【００１４】
１０３はデータ保存装置の電源でデータ保存装置１００内の各部品に電源の供給を行うものである。
【００１５】
ＭＰＵ１０１と不揮発性メモリ部１０２は電気的に接続されており、その接続形態については特に限定するものではない。
【００１６】
図２は本発明のデータ保存装置１００の不揮発性メモリ部１０２内に設定される各種データの保存領域、アドレスを示したものである。
【００１７】
データ保存装置１００内で新たにデータを保存する際に、データを最終的に格納する新データ保存領域と、データを書き込む処理において新データ保存領域内のデータおよびそのアドレス値を一時的に退避させるための旧データ退避領域および旧データアドレス退避領域、およびデータの書き込み状態を保存するための書き込み状態保存領域が設定されている。
【００１８】
図３はデータ保存装置１００において、装置電源１０３が投入された直後に、不揮発性メモリ部１０２内で保存してあるデータのチェックを行い、退避領域データから新データ保存領域へのデータ書き込みおよび書き込み状態の初期設定を行う処理について、フローチャートで図示したものである。
【００１９】
Ｓ１００では書き込み状態を読み出す。
【００２０】
書き込み状態は、３種類あり、新データ保存領域のデータを旧データ退避領域へ保存終了している状態、新データを新データ保存領域へ保存終了している状態、状態保存処理が中断した不定の状態である。
【００２１】
Ｓ１０１にて旧データ退避処理が終了したか、もしくは保存状態が不定であるかどうかの判断を行う。いずれでもない場合、新データ保存領域の書き込みが正常に終了したことになるため、処理を終了する。
【００２２】
Ｓ１０１にて旧データ退避処理が終了したか、もしくは保存状態が不定であった場合、Ｓ１０２へ進み、書き込み処理のためのタイマーを設定する。
【００２３】
次にＳ１０３にて旧データ退避領域のデータを、アドレス値に対応した新データ保存領域に書き込む。
【００２４】
Ｓ１０４ではタイムアウトをチェックし、Ｓ１０６では新データ保存領域へのデータ書き込みが終了したかどうかの判断を行う。終了していればＳ１０７に進み、保存状態の書き込み処理のためのタイマーを設定する。タイムアウトした場合Ｓ１０５に進み、異常終了設定を行う。
【００２５】
次にＳ１０８に進み、新データ保存領域へのデータ書き込み処理が終了した状態をに書き込み、Ｓ１０９にてタイムアウトをチェックする。タイムアウトした場合Ｓ１０５に進み、異常終了設定を行う。
【００２６】
Ｓ１１０では、書き込み状態保存領域への書き込み処理が終了したかどうかの判断を行い、終了していれば新データ保存領域初期化処理を終了する。
【００２７】
上記Ｓ１００からＳ１１０の処理によって、データ書き込み装置１００の電源が投入された後に旧データ退避領域および新データ保存領域へのデータの書き込み状態に応じて、新データ保存領域のデータ初期設定を行うことができる。
【００２８】
図４はデータ保存装置１００において、装置内で保存する新データの保存処理についてフローチャートで図示したものである。
【００２９】
Ｓ２００で不揮発性メモリ部１０２の書き込み状態保存領域より書き込み状態を読み出す。
【００３０】
Ｓ２０１ではデータを書き込む際の異常状態を検知するための書き込みタイマーを設定する。タイマー１０１ｄでカウントされる時刻が基準となり、ＲＡＭ１０１ｃ内にあらかじめ設定された領域の値を書き換えて、不揮発性メモリ部１０２へのデータ書き込み処理の異常状態検知を行う。
【００３１】
Ｓ２０２ではＳ２００で読み出した書き込み状態について、新データ保存領域の旧データおよびアドレス値を退避領域に書き込んだ状態であるかどうかの判断を行い、異なる値であればＳ２０３にて旧データおよび対応するアドレス値を旧データ退避領域に書き込む。Ｓ２０４ではＳ２０３での処理がタイムアウトとなり異常終了を設定すべきかどうかの判断を行い、タイムアウトであればＳ１０５にて異常終了設定を行う。
【００３２】
Ｓ２０６では旧データおよびアドレス値を旧データ退避および旧データアドレス退避領域に書き込む処理が終了したかどうかの判断を行う。
【００３３】
Ｓ２０７では、書き込み状態を書き込み状態保存領域に書き込むためのタイマーを設定し、Ｓ２０８にて書き込み状態を書き込み状態保存領域に書き込む。
【００３４】
Ｓ２０９にてＳ２０８の処理のタイムアウトを判断する。タイムアウトと判断した場合、Ｓ２０５に進む。
【００３５】
Ｓ２１０では、書き込み状態の書き込み処理が終了したかどうかの判断を行い、終了していれば、Ｓ２０１に戻る。
【００３６】
Ｓ２０２で新データ保存領域の旧データおよびアドレス値を旧データ退避領域および旧データ退避領域に書き込んだ状態であると判断した場合、Ｓ２１１にて新データを新データ保存領域に書き込む処理を行う。
【００３７】
Ｓ２１２では、データ書き込み処理がタイムアウトしたかどうかの判断を行い、タイムアウトと判断されてばＳ２０５に進む。
【００３８】
Ｓ２１３では、新データを新データ保存領域に書き込む処理が終了したかどうかの判断を行い、終了していればＳ２１４にすすむ。
【００３９】
Ｓ２１４では、書き込み状態を書き込み状態保存領域に書き込むためのタイマーを設定し、Ｓ２１５にて書き込み状態を書き込み状態保存領域に書き込む処理を行う。
【００４０】
Ｓ２１６では、Ｓ２１５の処理がタイムアウトとなったかどうかの判断を行い、タイムアウトとなればＳ２０５に進む。
【００４１】
次にＳ２１７で書き込み状態の書き込み処理が終了したかどうかの判断を行い、終了していれば新データ保存処理を終了する。
【００４２】
上記Ｓ２００からＳ２１７の処理によって、新データを新データ保存領域に書き込む前に対応する新データ保存領域のデータおよびアドレス値を旧データ退避領域および旧データアドレス退避領域に書き込み、その後に新データ保存領域へ新データを書き込む。また、書き込み状態の変化に応じて書き込み状態保存領域のデータを書き換える。
【００４３】
以上述べたように、電源投入直後に書き込み状態から新データ保存領域のデータ初期設定および、書き込み状態保存領域の書き込み状態初期設定を行う。その後、不揮発性メモリへのデータ書き込み処理において、新データを保存する前に新データ保存領域のデータおよびアドレス値を旧データ退避領域および旧データ退避領域に書き込む処理を行い、次に新データを新データ保存領域に書き込む処理を行う。また、旧データ／アドレス値の旧データ／アドレス退避領域への書き込みおよび、新データの書き込み処理毎に書き込み状態保存領域に書き込み状態を書き込む処理を行う。
【００４４】
（実施例２）
図５は本発明での第２の実施例における、本発明のデータ保存装置１００の不揮発性メモリ部１０２内に設定される各種データの保存領域、アドレスを示したものである。
【００４５】
データ保存装置１００内で新たにデータを保存する際に、データを最終的に格納する新データ保存領域と、新データ保存領域に新データを書き込む前に新データをバッファに書き込む領域および、データの書き込み状態を保存するための領域が設定されている。
【００４６】
図６はデータ保存装置１００において、装置電源１０３が投入された直後に、不揮発性メモリ部１０２内で保存してあるデータのチェックを行い、新データバッファ領域から新データ保存領域への書き込みおよび書き込み状態保存領域の書き込み状態初期設定を行う処理について、フローチャートで図示したものである。
【００４７】
Ｓ３００では、書き込み状態保存領域より書き込み状態を読み出す。
【００４８】
書き込み状態は、３種類あり、新データ保存領域のデータを新データバッファ領域へ保存終了している状態、新データを新データ保存領域へ保存終了している状態、状態保存処理が中断した不定の状態である。
【００４９】
Ｓ３０１では書き込み状態が新データバッファ書き込み終了であるかどうかの判断を行う。終了していればＳ３０２にてデータの書き込みタイマーをセットする。
【００５０】
次にＳ３０３では新データバッファ領域のデータを新データ保存領域へ書き込み、Ｓ３０４にてタイムアウトをチェックする。タイムアウトであると判断した場合、Ｓ３０５にて異常終了を設定し、処理を終了する。
【００５１】
Ｓ３０６では新データ保存領域への書き込み処理が終了したかどうかを判断し、終了していればＳ３０７に進む。
【００５２】
Ｓ３０７では書き込み状態を書き込み状態保存領域に書き込むためのタイマーをセットし、Ｓ３０８にて書き込み状態を書き込み状態保存領域に書き込む。
次にＳ３０９にてタイムアウトのチェックを行い、タイムアウトであると判断した場合、Ｓ３０５に進む。
【００５３】
Ｓ３１０では、状態書き込み処理が終了したかどうかの判断を行い、終了していれば新データ保存領域の初期化処理を終了する。
【００５４】
Ｓ３０１にて書き込み状態が新データバッファ書き込み終了でなければＳ３１１に進み、書き込み状態が不定であるかどうかの判断を行う。不定であればＳ３１２に進み、新データバッファ領域のデータを読み出す。不定ではない場合、新データ保存領域への書き込み終了状態であるため、処理を終了する。
【００５５】
次にＳ３１３にて新データ保存領域のデータを読み出し、Ｓ３１４にて新データバッファ領域のデータが新データ保存領域の値と同じかどうかの判断を行い、異なっていればＳ３０２に進む。同じであれば、Ｓ３１５に進み新データ書き込み処理が終了したことを書き込み状態保存領域に書き込むためのタイマーをセットする。
【００５６】
Ｓ３１６では、新データ保存領域への書き込み終了状態を書き込み状態保存領域に書き込み、Ｓ３１７でタイムアウトのチェックを行う。タイムアウトしていればＳ３０５に進む。
【００５７】
Ｓ３１８では書き込み状態の書き込みが終了したかどうかの判断を行い、終了していれば新データの初期化処理を終了する。
【００５８】
上記Ｓ３００からＳ３１８の処理によって、データ保存装置１００の電源が投入された後にデータの書き込み状態に応じて、新データ保存領域および書き込み状態保存領域のデータ初期設定を行うことができる。
【００５９】
図７はデータ保存装置１００において、不揮発性メモリ部１０４に保存する新データの書き込み処理についてフローチャートで図示したものである。
【００６０】
Ｓ４００で不揮発性メモリ部１０２より書き込み状態を読み出す。
【００６１】
Ｓ４０１ではデータを書き込む処理の異常終了を検知するための書き込みタイマーを設定する。
【００６２】
Ｓ４０２ではＳ４００で読み出した、書き込み状態について新データおよびアドレス値を新データバッファ領域に書き込んだ状態であるかどうかの判断を行い、異なっていればＳ４０３にて新データおよび対応するアドレス値を新データバッファ領域に書き込む。Ｓ４０４ではＳ４０３での処理がタイムアウトとなり異常終了を設定すべきかどうかの判断を行い、タイムアウトであればＳ４０５にて異常終了設定を行う。
【００６３】
Ｓ４０６では新データおよびアドレス値を新データバッファ領域に書き込む処理が終了したかどうかの判断を行う。
【００６４】
Ｓ４０７では、新データおよびアドレス値のバッファへの書き込み処理が終了した状態を書き込む処理のタイマーを設定する。Ｓ４０８では新データバッファ領域へのデータ書き込みが終了した状態を書き込み状態保存領域に書き込む処理を行う。
【００６５】
Ｓ４０９にてタイムアウトを判断する。タイムアウトと判断した場合、Ｓ４０５に進む。
【００６６】
Ｓ４１０では、書き込み処理が終了したかどうかの判断を行い、終了していればＳ４０１に戻る。
【００６７】
Ｓ４０２で新データおよびアドレス値を新データバッファ領域に書き込んだ状態であると判断した場合、Ｓ４１１にて新データを新データ保存領域に書き込む処理を行う。
【００６８】
Ｓ４１１からＳ４１７の処理は、図４のフローチャートで示したＳ２１１からＳ２１７の処理と同じであり、異常終了を設定する場合はＳ４０５に進む。
【００６９】
上記Ｓ４００からＳ４１７の処理によって、新データを新データ保存領域に書き込む前に新データおよびアドレス値を新データバッファ領域に書き込み、その後に新データ保存領域へ新データを書き込む。また、書き込み状態の変化に応じて書き込み状態保存領域のデータを書き換える。
【００７０】
以上述べたように、電源投入直後に書き込み状態保存領域に保存されている書き込み状態から新データ保存領域のデータ初期設定および、書き込み状態保存領域の書き込み状態初期設定を行う。その後、不揮発性メモリへのデータ書き込み処理において、新データを保存する前に新データを新データバッファ領域に書き込む処理を行い、次に新データを新データ保存領域に書き込む処理を行う。また、新データの新データバッファ領域への書き込みおよび新データの新データ保存領域への書き込み処理毎に、終了した状態を書き込み状態保存領域に書き込む処理を行う。
【００７１】
（実施例３）
図８は本発明のデータ保存装置を他のデータ保存装置と接続した構成を表すブロック図であり、データ保存装置はそれぞれ、上記実施例１もしくは実施例２のデータ保存方法を用いるものである。
【００７２】
データ保存装置１００と１０５は相互に通信が可能となるように通信部１０４および１０８と通信線１１０にて接続されている。この装置間の接続形態は特に通信用ケーブルなどで接続されていることに限定するものではなく、また通信方法についてもシリアル通信等に限定するものではない。
【００７３】
データ保存装置１００の構成は実施例１で示したものに通信部１０４が追加された構成であり、ＭＰＵ１０１に電気的に接続されている。また、データ保存装置１０５はＭＰＵ１０６および不揮発性メモリ１０７、通信部１０８、装置電源１０９にて構成されている。
【００７４】
図９はデータ保存装置１００および１０５において、不揮発性メモリ部１０４および１０７に保存されているデータの送受信処理についてフローチャートで図示したものである。
【００７５】
Ｓ５００はデータ保存装置１００が、データ保存装置１０５内に保存されているデータを読み出す際に、データ読み出し要求を表すコマンドをデータ保存装置１０５に送信する処理である。このコマンドには、読み出したいデータがデータ保存装置１０５内の不揮発性メモリ部１０７のどのアドレスに設定されているかを示すアドレス値と、データ長を示すデータが付加される。
【００７６】
Ｓ５０１では、データ保存装置１０５からデータを読み出すことが可能かどうかのステータスを受信したかの判断を行い、可能であることを示すステータスを受信した場合、次のＳ５０２に進む。
【００７７】
Ｓ５０２ではデータ保存装置１０５からの読み出しデータを受信したかどうか判断を行い、受信していればＳ５０３にて読み出し処理が終了したかどうかのステータス受信判断を行う。終了ステータスには読み出し処理が正常に終了したかどうかを表すデータが付加されている。終了ステータスを受信した場合他装置からのデータを受信処理を終了する。
【００７８】
Ｓ５０４では、データ保存装置１００からのデータ読み出し要求コマンドを受信したかどうかの判断を行い、受信していればＳ５０５にて読み出しが可能かどうかを示すステータスを、読み出し要求を行ったデータ保存装置１００へ送信する。
【００７９】
Ｓ５０６では読み出し要求のあったデータについて、受信したアドレス値をもとにデータを読み出す処理を行う。
【００８０】
Ｓ５０７では読み出したデータをデータ保存装置１００に送信し、読み出し処理が終了した後Ｓ５０８にて読み出し終了ステータスをデータ保存装置１００に送信する。
【００８１】
図１０は本発明のデータ保存装置を他のデータ保存装置と接続した構成において、データ保存装置内でデータの保存ができないと判断した場合、他のデータ保存装置にてデータの保存を行う処理を表すフローチャートである。
【００８２】
Ｓ６００にて新データの保存処理を行う。その後Ｓ６０１にて書き込み処理が異常終了したかどうかの判断を行い、異常終了が設定されていればＳ６０２にて通信接続されている他装置へのデータ書き込み処理を行う。
【００８３】
図１１は図１０で示したＳ６０２の他装置へのデータ書き込み処理の詳細をフローチャートで示したものである。
【００８４】
Ｓ７００ではデータ保存装置１００にてデータの保存が行えない場合に、通信接続されているデータ保存装置１０５へデータ書き込み要求を行うコマンドを送信する。このコマンドには、書き込むデータがデータ保存装置１０５内の不揮発性メモリ部１０７のどのアドレスに書き込むかを示すアドレス値と、データ長を示すデータが付加される。
【００８５】
Ｓ７０１ではデータ保存装置１０５よりデータ書き込み可能ステータスを受信したかどうかの判断を行い、可能であればＳ７０２にて書き込みデータをデータ保存装置１０５に送信する。
【００８６】
Ｓ７０３ではデータ保存装置より書き込み終了ステータスを受信したかどうかの判断を行い、受信した場合他装置へのデータ書き込み処理を終了する。終了ステータスには他装置へのデータ書き込み処理が正常に終了したかどうかのデータが付加される。
【００８７】
Ｓ７０４ではデータ保存装置１０５が、データ保存装置１００からデータ書き込みコマンドを受信したかどうかの判断を行い、受信していればＳ７０５に進む。
【００８８】
Ｓ７０５ではデータ保存装置１０５にてデータの書き込みが可能かどうかを表す書き込みステータスをデータ保存装置１００に送信する。
【００８９】
Ｓ７０６ではデータ保存装置１００より書き込みデータを受信したかどうかの判断を行い、受信した場合、Ｓ７０７にて新データ保存処理を行う。
【００９０】
Ｓ７０８ではＳ７０７での新データ保存処理が終了したことをデータ保存装置１００にステータスとして送信する。データ書き込み終了ステータスには書き込み処理が正常に終了したかどうかを示すデータが付加されている。
【００９１】
上記Ｓ５００からＳ５０８の処理を行えば、データ保存装置と通信接続されている他のデータ保存装置の不揮発性メモリ内のデータを読み出すことができ、また上記Ｓ６００からＳ６０２の処理およびＳ７００からＳ７０８の処理を行えば、データ保存装置にて、新データの書き込みが行えない場合、通信接続されている他のデータ保存装置にデータを送信することで、代わりにデータを書き込ませることが可能となる。
【００９２】
このデータ保存装置間でのデータの書き込みおよび書き込み処理は相互に行えるものでもある。
【００９３】
【発明の効果】
以上述べたように、データ保存装置においてデータ保存処理が中断した場合でも、データの復帰および、適切なデータの読み出し処理が可能となる。
【００９４】
また、データ保存装置から他のデータ保存装置内に保存されているデータを読み出すことができ、データ保存装置にて新データの保存が行えない場合、通信接続されている他装置にデータを送信することで、代わりにデータを保存させることが可能となる。
【００９５】
つまり、不揮発性メモリの使用効率を向上させ、最小限の新データ保存領域で安定したデータ保存処理を行うことができ、複数の装置内にそれぞれデータ保存装置を有しかつ装置間を通信接続したシステムを構成した場合、安定したデータの保存処理を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例に係るデータ保存装置のブロック図。
【図２】本発明の第１の実施例に係るデータ保存装置の不揮発性メモリ内のメモリブロック図。
【図３】本発明の第１の実施例に係るデータ保存装置の不揮発性メモリ内への電源投入直後の新データ保存領域初期化処理を表したフローチャート。
【図４】本発明の第１の実施例に係るデータ保存装置の不揮発性メモリ内への新データ保存処理を表したフローチャート。
【図５】本発明の第２の実施例に係るデータ保存装置の不揮発性メモリ内のメモリブロック図。
【図６】本発明の第２の実施例に係るデータ保存装置の不揮発性メモリ内への電源投入直後の新データ保存領域初期化処理を表したフローチャート。
【図７】本発明の第２の実施例に係るデータ保存装置の不揮発性メモリ内への新データ保存処理を表したフローチャート。
【図８】本発明の第３の実施例に係るデータ保存装置のブロック図。
【図９】本発明の第３の実施例に係るデータ保存装置間のデータ読み出し処理を表したフローチャート。
【図１０】本発明の第３の実施例に係るデータ保存装置の他装置へのデータ書き込み処理を表したフローチャート。
【図１１】本発明の第３の実施例に係るデータ保存装置間のデータ書き込み処理を表したフローチャート。
【符号の説明】
１００  データ保存装置
１０１  データ保存装置１００内のＭＰＵ
１０２  データ保存装置１００内の不揮発性メモリ部
１０３  データ保存装置１００内の装置電源
１０４  データ保存装置１００内の通信部
【図１】
2004362093.tif 000003
【図２】
2004362093.tif 000004
【図３】
2004362093.tif 000005
【図４】
2004362093.tif 000006
【図５】
2004362093.tif 000007
【図６】
2004362093.tif 000008
【図７】
2004362093.tif 000009
【図８】
2004362093.tif 000010
【図９】
2004362093.tif 000011
【図１０】
2004362093.tif 000012
【図１１】
2004362093.tif 000013