(57)【要約】【課題】更新頻度の高いデータが属しているセクタの更新処理を効率良く実行することが可能な不揮発性データ更新システム、不揮発性データ更新方法及びプログラムを提供する。【解決手段】不揮発性データ更新システム１０に、セクタ切り替え判定部２２、新有効セクタ判定部２４、有効セクタ更新部２６、及び有効セクタ指定部２８を備えることにより、データの更新頻度の高いシステム制御データ等が属しているセクタを対象とした、有効セクタの更新処理では、セクタの消去処理、及びセクタへの全データの書き処理が１回ずつ実行されるようになり、有効セクタの更新の処理時間を削減することが可能である。従って、セクタの更新処理効率の良い不揮発性データ更新システム１０を構築することが可能である。【選択図】図４
2007122419.tif 000002
【特許請求の範囲】
【請求項１】
セクタ単位に消去可能な不揮発性メモリのデータを更新する不揮発性データ更新システムであって、
同じ前記データを保存可能な第１のセクタと第２のセクタを有し、
更新対象である前記データを対象データとし、
２個の前記セクタのうちの、前記データの最新値を保存している一方の前記セクタを有効セクタとし、
前記対象データを更新する前の前記有効セクタを旧有効セクタとし、
前記対象データを更新した後の前記有効セクタを新有効セクタとしたとき、
前記対象データを更新するときが、前記有効セクタを前記第１のセクタから前記第２のセクタへ、又は第２のセクタから第１のセクタへ切り替えるタイミングであるか否かを判定するセクタ切り替え判定手段と、
前記新有効セクタが、前記第１のセクタであるか、又は前記第２のセクタであるかを判定する新有効セクタ判定手段と、
前記新有効セクタを消去し、前記対象データが属する前記セクタに属している全ての前記データの最新値を、前記新有効セクタに書き込む有効セクタ更新手段と、
前記新有効セクタが、前記第１のセクタであるか、又は前記第２のセクタであるかを指定する有効セクタ指定手段と、
を備えていることを特徴とする不揮発性データ更新システム。
【請求項２】
前記第１のセクタ及び前記第２のセクタは、同じ大きさの領域であることを特徴とする請求項１に記載の不揮発性データ更新システム。
【請求項３】
セクタ単位に消去可能な不揮発性メモリのデータを更新する不揮発性データ更新システムであって、
前記データを保存可能な２個以上の（ｎ＋１）個の前記セクタを有し、
（ｎ＋１）個の前記セクタのうち、前記異なる前記データの最新値を保存しているｎ個の前記セクタを有効セクタとし、
残りの１個の前記セクタを空きセクタとし、
更新対象である前記データを対象データとし、
前記対象データが属する前記有効セクタを対象セクタとし、
前記対象データを更新する前の前記対象セクタを旧対象セクタとし、
前記対象データを更新した後の前記対象セクタを新対象セクタとし、
前記対象データを更新する前の前記空きセクタを旧空きセクタとし、
前記対象データを更新した後の前記空きセクタを新空きセクタとしたとき、
前記対象データを更新するときが、前記対象セクタを更新するタイミングであるか否かを判定するセクタ更新判定手段と、
前記旧空きセクタを検索する空きセクタ検索手段と、
前記旧空きセクタを消去し、前記対象セクタに属している全ての前記データの最新値を、前記旧空きセクタに書き込む対象セクタ更新手段と、
前記旧空きセクタを前記新対象セクタとして設定し、前記旧対象セクタを前記新空きセクタとして設定する有効セクタ設定手段と、
を備えていることを特徴とする不揮発性データ更新システム。
【請求項４】
（ｎ＋１）個の前記セクタは、全て同じ大きさの領域であることを特徴とする請求項３に記載の不揮発性データ更新システム。
【請求項５】
前記不揮発性メモリは、フラッシュメモリであることを特徴とする請求項１から４のいずれか１項に記載の不揮発性データ更新システム。
【請求項６】
セクタ単位に消去可能な不揮発性メモリのデータを更新する不揮発性データ更新方法であって、
同じ前記データを保存可能な第１のセクタと第２のセクタを有し、
更新対象である前記データを対象データとし、
２個の前記セクタのうちの、前記データの最新値を保存している一方の前記セクタを有効セクタとし、
前記対象データを更新する前の前記有効セクタを旧有効セクタとし、
前記対象データを更新した後の前記有効セクタを新有効セクタとしたとき、
前記対象データを更新するときが、前記有効セクタを前記第１のセクタから前記第２のセクタへ、又は第２のセクタから第１のセクタへ切り替えるタイミングであるか否かを判定するセクタ切り替え判定工程と、
前記セクタ切り替え判定工程によって、前記有効セクタを前記第１のセクタから前記第２のセクタへ、又は第２のセクタから第１のセクタへ切り替えるタイミングであると判定されたときに、前記新有効セクタが、前記第１のセクタであるか、又は前記第２のセクタであるかを判定する新有効セクタ判定工程と、
前記新有効セクタ判定工程によって判定された前記新有効セクタを消去し、前記対象データが属する前記セクタに属している全ての前記データの最新値を、前記新有効セクタに書き込む有効セクタ更新工程と、
前記有効セクタ更新工程によって前記有効データが更新されたときに、前記新有効セクタが、前記第１のセクタであるか、又は前記第２のセクタであるかを指定する有効セクタ指定工程と、
を備えていることを特徴とする不揮発性データ更新方法。
【請求項７】
セクタ単位に消去可能な不揮発性メモリのデータを更新する不揮発性データ更新方法であって、
前記データを保存可能な２個以上の（ｎ＋１）個の前記セクタを有し、
（ｎ＋１）個の前記セクタのうち、前記異なる前記データの最新値を保存しているｎ個の前記セクタを有効セクタとし、
残りの１個の前記セクタを空きセクタとし、
更新対象である前記データを対象データとし、
前記対象データが属する前記有効セクタを対象セクタとし、
前記対象データを更新する前の前記対象セクタを旧対象セクタとし、
前記対象データを更新した後の前記対象セクタを新対象セクタとし、
前記対象データを更新する前の前記空きセクタを旧空きセクタとし、
前記対象データを更新した後の前記空きセクタを新空きセクタとしたとき、
前記対象データを更新するときが、前記対象セクタを更新するタイミングであるか否かを判定するセクタ更新判定工程と、
前記セクタ更新判定工程によって、前記対象セクタを更新するタイミングであると判定されたときに、前記旧空きセクタを検索する空きセクタ検索工程と、
前記空きセクタ検索工程によって検索した前記旧空きセクタを消去し、前記対象セクタに属している全ての前記データの最新値を、前記旧空きセクタに書き込む対象セクタ更新工程と、
前記対象セクタ更新工程によって前記対象セクタが更新されたときに、前記旧空きセクタを前記新対象セクタとして設定し、前記旧対象セクタを前記新空きセクタとして設定する有効セクタ設定工程と、
を備えていることを特徴とする不揮発性データ更新方法。
【請求項８】
セクタ単位に消去可能な不揮発性メモリのデータを更新する処理を、コンピュータに実行させるプログラムであって、
請求項１から５のいずれか１項に記載の不揮発性データ更新システムの各手段を実現させる処理を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セクタ単位に消去可能な不揮発性メモリのデータを更新する不揮発性データ更新システム、不揮発性データ更新方法及びプログラムに関する。特に、更新頻度の高いデータが属しているセクタの更新処理を効率良く実行することが可能な不揮発性データ更新システム、不揮発性データ更新方法及びプログラムに関する。
【背景技術】
【０００２】
フラッシュメモリのデータの書き換えは、セクタの一部のデータを消去することができないため、セクタ単位で行われる。セクタ単位にデータを書き換える作業手順は、先ず対象のセクタを消去し、次にそのセクタに属する全てのデータを１ワードずつ書き込む。この作業には数秒間を要し、もし途中で不慮の電源断が起きれば、セクタの一部は消去されたままとなる。つまり、フラッシュメモリのデータの書き換えには、既存の格納データを消失してしまう危険性を伴っていると言える。
【０００３】
以下、最新のデータをフラッシュメモリに書き込むことをデータの更新と呼び、少なくとも１つのデータを更新するために、セクタに属する全てのデータを書き換えることをセクタの更新と呼ぶ。また、最新の値であるデータを有効データとし、有効データが保存されているセクタを有効セクタとする。また、更新対象であるデータを対象データとし、セクタに属する対象データ以外のデータを対象外データとする。
【０００４】
そこで、セクタの更新処理を、安全に、効率よく実行するための様々な方法が提案されている。特許文献１では、バックアップ用のセクタを利用して、セクタの更新を実行する方法が提案されている。図８は、バックアップ用のセクタを利用したセクタの更新手順を説明するための図である。ここで、セクタ１は更新対象となるセクタであり、セクタ２は、バックアップ用のセクタである。
【０００５】
図８に示すように、セクタ１の更新手順は、まず、セクタ２を消去する（図中（消去１））。次に、セクタ１に属する全てのデータの最新の値をセクタ２へ書き込む（図中（書き込み１））。ここでは、セクタ１には、更新前の有効データが保存されており、セクタ２には、更新後の有効データが保存されている。即ち、セクタ１には、対象データの更新前の値が保存されており、セクタ２には、対象データの更新後の値が保存されている。また、セクタ１とセクタ２には、対象外データの同じ最新の値が保存されている。
【０００６】
次に、セクタ１を消去する（図中（消去２））。最後に、セクタ２に保存されている全てのデータをセクタ１へ書き込み（図中（書き込み２））、セクタ１の更新処理は終了する。
【０００７】
【特許文献１】特開２００２−３５１６８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述したように、バックアップ用のセクタを利用したセクタの更新処理では、セクタの消去処理とセクタへの全データの書き処理が２回ずつ実行される為に、セクタの更新処理に時間がかかってしまうという問題点があった。特に、データの更新頻度の高いシステム制御データ等が属しているセクタの更新は、更新処理に時間がかかってしまうことは問題であった。
【０００９】
本発明は、以上のような問題点を解決するためになされたもので、更新頻度の高いデータが属しているセクタの更新処理を効率良く実行することが可能な不揮発性データ更新システム、不揮発性データ更新方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した従来の問題点を解決すべく下記の発明を提供する。
本発明の第１の態様にかかる不揮発性データ更新システムは、セクタ単位に消去可能な不揮発性メモリのデータを更新する不揮発性データ更新システムであって、同じ前記データを保存可能な第１のセクタと第２のセクタを有し、更新対象である前記データを対象データとし、２個の前記セクタのうちの、前記データの最新値を保存している一方の前記セクタを有効セクタとし、前記対象データを更新する前の前記有効セクタを旧有効セクタとし、前記対象データを更新した後の前記有効セクタを新有効セクタとしたとき、前記対象データを更新するときが、前記有効セクタを前記第１のセクタから前記第２のセクタへ、又は第２のセクタから第１のセクタへ切り替えるタイミングであるか否かを判定するセクタ切り替え判定手段と、前記新有効セクタが、前記第１のセクタであるか、又は前記第２のセクタであるかを判定する新有効セクタ判定手段と、前記新有効セクタを消去し、前記対象データが属する前記セクタに属している全ての前記データの最新値を、前記新有効セクタに書き込む有効セクタ更新手段と、前記新有効セクタが、前記第１のセクタであるか、又は前記第２のセクタであるかを指定する有効セクタ指定手段と、を備えていることを特徴とする。
【００１１】
このような構成であれば、不揮発性データ更新システムは、セクタ切り替え判定手段によって、対象データを更新するときが、有効セクタを第１のセクタから第２のセクタへ、又は第２のセクタから第１のセクタへ切り替えるタイミングであるか否かが判定される。また、新有効セクタ判定手段によって、新有効セクタが、第１のセクタであるか、又は第２のセクタであるかが判定される。また、有効セクタ更新手段によって、新有効セクタが消去されて、対象データが属するセクタに属している全てのデータの最新値が、新有効セクタに書き込まれる。また、有効セクタ指定手段によって、新有効セクタが、第１のセクタであるか、又は第２のセクタであるかが指定される。
【００１２】
これにより、データの更新頻度の高いシステム制御データ等が属しているセクタを対象とした、有効セクタの更新処理では、セクタの消去処理、及びセクタへの全データの書き処理が１回ずつ実行されるようになり、有効セクタの更新の処理時間を削減することが可能である。従って、セクタの更新処理効率の良いシステムを構築することが可能である。また、１つのセクタの更新回数を減らすことが可能である。従って、デバイスの寿命を延ばしたメンテナンス効率の良いシステムを構築することが可能である。
【００１３】
本発明の他の態様にかかる不揮発性データ更新システムは、上述した本発明の態様にかかる不揮発性データ更新システムの前記第１のセクタ及び前記第２のセクタが、同じ大きさの領域であることを特徴とする。
【００１４】
本発明の他の態様にかかる不揮発性データ更新システムは、セクタ単位に消去可能な不揮発性メモリのデータを更新する不揮発性データ更新システムであって、前記データを保存可能な２個以上の（ｎ＋１）個の前記セクタを有し、（ｎ＋１）個の前記セクタのうち、前記異なる前記データの最新値を保存しているｎ個の前記セクタを有効セクタとし、残りの１個の前記セクタを空きセクタとし、更新対象である前記データを対象データとし、前記対象データが属する前記有効セクタを対象セクタとし、前記対象データを更新する前の前記対象セクタを旧対象セクタとし、前記対象データを更新した後の前記対象セクタを新対象セクタとし、前記対象データを更新する前の前記空きセクタを旧空きセクタとし、前記対象データを更新した後の前記空きセクタを新空きセクタとしたとき、前記対象データを更新するときが、前記対象セクタを更新するタイミングであるか否かを判定するセクタ更新判定手段と、前記旧空きセクタを検索する空きセクタ検索手段と、前記旧空きセクタを消去し、前記対象セクタに属している全ての前記データの最新値を、前記旧空きセクタに書き込む対象セクタ更新手段と、前記旧空きセクタを前記新対象セクタとして設定し、前記旧対象セクタを前記新空きセクタとして設定する有効セクタ設定手段と、を備えていることを特徴とする。
【００１５】
このような構成であれば、不揮発性データ更新システムは、セクタ更新判定手段によって、対象データを更新するときが、対象セクタを更新するタイミングであるか否かが判定される。また、空きセクタ検索手段によって、旧空きセクタが検索される。また、対象セクタ更新手段によって、旧空きセクタが消去され、対象セクタに属している全てのデータの最新値が、旧空きセクタに書き込まれる。また、有効セクタ設定手段によって、旧空きセクタが新対象セクタとして設定され、旧対象セクタが新空きセクタとして設定される。
【００１６】
これにより、データの更新頻度の高いシステム制御データ等が属しているセクタを対象とした、有効セクタの更新処理では、セクタの消去処理、及びセクタへの全データの書き処理が１回ずつ実行されるようになり、有効セクタの更新の処理時間を削減することが可能である。従って、セクタの更新処理効率の良いシステムを構築することが可能である。また、１つのセクタの更新回数を減らすことが可能である。従って、デバイスの寿命を延ばしたメンテナンス効率の良いシステムを構築することが可能である。
【００１７】
本発明の他の態様にかかる不揮発性データ更新システムは、上述した本発明の態様にかかる不揮発性データ更新システムの（ｎ＋１）個の前記セクタが、全て同じ大きさの領域であることを特徴とする。
【００１８】
本発明の他の態様にかかる不揮発性データ更新システムは、上述した本発明の態様にかかる不揮発性データ更新システムの前記不揮発性メモリが、フラッシュメモリであることを特徴とする。
【００１９】
本発明の第１の態様にかかる不揮発性データ更新方法は、セクタ単位に消去可能な不揮発性メモリのデータを更新する不揮発性データ更新方法であって、同じ前記データを保存可能な第１のセクタと第２のセクタを有し、更新対象である前記データを対象データとし、２個の前記セクタのうちの、前記データの最新値を保存している一方の前記セクタを有効セクタとし、前記対象データを更新する前の前記有効セクタを旧有効セクタとし、前記対象データを更新した後の前記有効セクタを新有効セクタとしたとき、前記対象データを更新するときが、前記有効セクタを前記第１のセクタから前記第２のセクタへ、又は第２のセクタから第１のセクタへ切り替えるタイミングであるか否かを判定するセクタ切り替え判定工程と、前記セクタ切り替え判定工程によって、前記有効セクタを前記第１のセクタから前記第２のセクタへ、又は第２のセクタから第１のセクタへ切り替えるタイミングであると判定されたときに、前記新有効セクタが、前記第１のセクタであるか、又は前記第２のセクタであるかを判定する新有効セクタ判定工程と、前記新有効セクタ判定工程によって判定された前記新有効セクタを消去し、前記対象データが属する前記セクタに属している全ての前記データの最新値を、前記新有効セクタに書き込む有効セクタ更新工程と、前記有効セクタ更新工程によって前記有効データが更新されたときに、前記新有効セクタが、前記第１のセクタであるか、又は前記第２のセクタであるかを指定する有効セクタ指定工程と、を備えていることを特徴とする。これにより、上述した本発明の態様にかかる不揮発性データ更新システムと同等の効果が得られる。
【００２０】
本発明の他の態様にかかる不揮発性データ更新システムは、セクタ単位に消去可能な不揮発性メモリのデータを更新する不揮発性データ更新方法であって、前記データを保存可能な２個以上の（ｎ＋１）個の前記セクタを有し、（ｎ＋１）個の前記セクタのうち、前記異なる前記データの最新値を保存しているｎ個の前記セクタを有効セクタとし、残りの１個の前記セクタを空きセクタとし、更新対象である前記データを対象データとし、前記対象データが属する前記有効セクタを対象セクタとし、前記対象データを更新する前の前記対象セクタを旧対象セクタとし、前記対象データを更新した後の前記対象セクタを新対象セクタとし、前記対象データを更新する前の前記空きセクタを旧空きセクタとし、前記対象データを更新した後の前記空きセクタを新空きセクタとしたとき、前記対象データを更新するときが、前記対象セクタを更新するタイミングであるか否かを判定するセクタ更新判定工程と、前記セクタ更新判定工程によって、前記対象セクタを更新するタイミングであると判定されたときに、前記旧空きセクタを検索する空きセクタ検索工程と、前記空きセクタ検索工程によって検索した前記旧空きセクタを消去し、前記対象セクタに属している全ての前記データの最新値を、前記旧空きセクタに書き込む対象セクタ更新工程と、前記対象セクタ更新工程によって前記対象セクタが更新されたときに、前記旧空きセクタを前記新対象セクタとして設定し、前記旧対象セクタを前記新空きセクタとして設定する有効セクタ設定工程と、を備えていることを特徴とする。これにより、上述した本発明の態様にかかる不揮発性データ更新システムと同等の効果が得られる。
【００２１】
本発明の第１の態様にかかるプログラムは、セクタ単位に消去可能な不揮発性メモリのデータを更新する処理を、コンピュータに実行させるプログラムであって、上述した本発明の態様にかかる不揮発性データ更新システムの各手段を実現させる処理を前記コンピュータに実行させることを特徴とする。このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムによって、コンピュータが処理を実行すると、上述した本発明の態様にかかる不揮発性データ更新システムと同等の作用及び効果が得られる。
【発明の効果】
【００２２】
本発明によれば、データの更新頻度の高いシステム制御データ等が属しているセクタを対象とした、有効セクタの更新処理では、セクタの消去処理、及びセクタへの全データの書き処理が１回ずつ実行されるようになり、有効セクタの更新の処理時間を削減することが可能である。従って、セクタの更新処理効率の良いシステムを構築することが可能である。また、１つのセクタの更新回数を減らすことが可能である。従って、デバイスの寿命を延ばしたメンテナンス効率の良いシステムを構築することが可能である。
【発明を実施するための最良の形態】
【００２３】
この発明の一実施態様を、図面を参照しながら説明する。なお、以下に説明する実施態様は説明のためのものであり、本発明の範囲を制限するものではない。従って、当業者であればこれらの各要素もしくは全要素をこれと均等なものによって置換した実施態様を採用することが可能であるが、これらの実施態様も本発明の範囲に含まれる。
【００２４】
図１から図４を参照して、本発明の第１の実施の形態を説明する。
図１は、本発明の第１の実施の形態の不揮発性データ更新システムのハードウェアの構成を示す図である。不揮発性データ更新システム１０は、一括して消去可能な領域であるセクタに分割された書き換えが可能であるフラッシュメモリ１２、読み書きが可能であるＲＡＭ１４、および、不揮発性データ更新システム１０を有する制御装置の制御を実行するＣＰＵ１６を備えている。
【００２５】
フラッシュメモリ１２は、制御装置の制御を実行するプログラム、システム制御データ、フォントデータ等を記憶している。例えば、システム制御データとは、印刷装置の紙送り量、印字のショット数等であり、数分毎に更新されるデータである。
【００２６】
図２は、第１の実施の形態の不揮発性データ更新システムの機能ブロック図の一例である。ここで、フラッシュメモリ１２の同じデータを保存可能な２つのセクタを、セクタ１とセクタ２とする。また、更新対象であるデータを対象データとし、セクタに属する対象データ以外のデータを対象外データとし、最新の値であるデータを有効データとし、有効データが保存されているセクタを有効セクタとする。また、対象データを変更する前の有効セクタを旧有効セクタとし、対象データを変更した後の有効セクタを新有効セクタとする。
【００２７】
図２に示すように、不揮発性データ更新システム１０は、セクタ切り替え判定部２２、新有効セクタ判定部２４、有効セクタ更新部２６、及び有効セクタ指定部２８を備えている。セクタ切り替え判定部２２は、対象データを更新するときが、有効セクタをセクタ１からセクタ２へ、又は、セクタ２からセクタ１へ切り替えるタイミングであるか否かを判定する。例えば、旧有効セクタがセクタ１であるとき、有効セクタをセクタ１からセクタ２へ切り替えるタイミングは、対象データを更新するエリアがセクタ１になくなったときである。
【００２８】
新有効セクタ判定部２４は、対象データの更新した値を保存するセクタがセクタ１であるか、又はセクタ２であるかを判定する。セクタ切り替え判定部２２によって、有効セクタの切り替えタイミングであると判定されたときに、新有効セクタ判定部２４は実行を行う。例えば、有効セクタの切り替えタイミングであると判定されたときの有効セクタを取得することによって、即ち、旧有効セクタを取得することによって、新有効セクタがわかる。
【００２９】
有効セクタ更新部２６は、新有効セクタを消去して、対象データが属するセクタに属している全てのデータの最新値を新有効セクタに書き込む。セクタ切り替え判定部２２によって、有効セクタの切り替えタイミングであると判定されたときに、有効セクタ更新部２６は実行を行う。ここで、有効セクタ更新部２６は、対象データが属するセクタに属している全てのデータの最新値を新有効セクタに書き込んだ後に、旧有効セクタを消去しても良い。また、新有効セクタへのデータの書き込みは、旧有効セクタから対象外データをＲＡＭ１４に保存し、対象データの更新値をＲＡＭ１４に保存し、ＲＡＭ１４に保存した対象データと対象外データを新有効セクタへ保存することである。
【００３０】
有効セクタ指定部２８は、新有効セクタがセクタ１であるか、又はセクタ２であるかを指定する。セクタ切り替え判定部２２によって、有効セクタの切り替えタイミングであると判定されたときに、有効セクタ指定部２８は実行を行う。例えば、セクタの所定のエリアに所定の値をセットすることにより指定する。
【００３１】
次に、セクタの更新処理を説明する。図３は、第１の実施の形態の不揮発性データ更新システム１０のフラッシュメモリ１２に予め格納されている制御プログラムにより実行されるセクタの更新処理の一例を示すフローチャート図である。図３に示すように、まず、対象データを更新するときが、有効セクタをセクタ１からセクタ２へ、又は、セクタ２からセクタ１へ切り替えるタイミングであるか否かを判定する（Ｓ１０２）。有効セクタを切り替えるタイミングであると判定されたとき（Ｓ１０２；Ｙｅｓ）に、対象データの更新した値を保存するセクタが、即ち、新有効セクタが、セクタ１であるか、又はセクタ２であるかを判定する（Ｓ１０４）。次に、新有効セクタを消去して、対象データが属するセクタに属している全てのデータの最新値を新有効セクタに書き込む（Ｓ１０６）。最後に、新有効セクタがセクタ１であるか、又はセクタ２であるかを指定して（Ｓ１０８）、処理を終了する。
【００３２】
図４は、図３のフローチャートの有効セクタの更新処理（Ｓ１０６）を説明するための図である。図４（ａ）は、旧有効セクタがセクタ１であるときの有効セクタの更新処理であり、図４（ｂ）は、旧有効セクタがセクタ２であるときの有効セクタの更新処理である。図４（ａ）に示すように、旧有効セクタがセクタ１であるときの有効セクタの更新手順は、まず、セクタ２を消去する（図中（消去１））。次に、セクタ１に属する全てのデータの最新値をセクタ２へ書き込む（図中（書き込み１））。ここでは、セクタ１には、更新前の有効データが保存されており、セクタ２には、更新後の有効データが保存されている。即ち、セクタ１には、対象データの更新前の値が保存されており、セクタ２には、対象データの更新後の値が保存されている。
【００３３】
また、図４（ｂ）に示すように、旧有効セクタがセクタ２であるときの有効セクタの更新手順は、まず、セクタ１を消去する（図中（消去１））。次に、セクタ２に属する全てのデータの最新値をセクタ１へ書き込む（図中（書き込み１））。
【００３４】
上述したように、不揮発性データ更新システム１０に、セクタ切り替え判定部２２、新有効セクタ判定部２４、有効セクタ更新部２６、及び有効セクタ指定部２８を備えることにより、データの更新頻度の高いシステム制御データ等が属しているセクタを対象とした、有効セクタの更新処理では、セクタの消去処理、及びセクタへの全データの書き込み処理が１回ずつ実行されるようになり、有効セクタの更新の処理時間を削減することが可能である。従って、セクタの更新処理効率の良い不揮発性データ更新システム１０を構築することが可能である。また、１つのセクタの更新回数を減らすことが可能である。従って、デバイスの寿命を延ばしたメンテナンス効率の良い不揮発性データ更新システム１０を構築することが可能である。
【００３５】
また、上述した実施の形態の不揮発性データ更新システム１０は、セクタ切り替え判定部２２は本発明のセクタ切り替え判定手段及びセクタ切り替え判定工程に対応し、新有効セクタ判定部２４は本発明の新有効セクタ判定手段及び新有効セクタ判定工程に対応し、有効セクタ更新部２６は本発明の有効セクタ更新手段及び有効セクタ更新工程に対応し、有効セクタ指定部２８は本発明の有効セクタ指定手段及び有効セクタ指定工程に対応する。
【００３６】
また、上述した図３のフローチャートに示す処理を実行する場合に、不揮発性データ更新システム１０のフラッシュメモリ１２に予め格納されている制御プログラムを実行する場合について説明したが、これらの各工程を実行させるプログラムを記録した情報記録媒体から、そのプログラムをＲＡＭに読み込んで実行するようにしても良い。
【００３７】
ここで、情報記録媒体とは、ＲＡＭ、ＲＯＭ等の半導体記録媒体、ＦＤ、ＨＤ等の磁気記憶型記録媒体、ＣＤ、ＣＤＶ、ＬＤ、ＤＶＤ等の光学的読取方式記録媒体、ＭＯ等の磁気記憶型／光学的読取方式記録媒体であって、電子的、磁気的、光学等の読み取り方法のいかんにかかわらず、コンピュータによって読み取り可能な情報記録媒体であれば、あらゆる情報記録媒体を含むものである。また、プログラムを、ネットワークを経由してダウンロードして実行するようにしても良い。
【００３８】
次に、図１、図５、図６及び図７を参照して、本発明の第２の実施の形態を説明する。
上述の第１の実施の形態と異なる点は、第１の実施の形態が、同じデータを保存可能なセクタが２つであり、一方が有効セクタであるのに対して、第２の実施の形態が、同じデータを保存可能なセクタが（ｎ＋１）個あり、ｎ個の有効セクタと１個の空きセクタであるという点である。ここで、ｎは正整数である。
【００３９】
本発明の第２の実施の形態の不揮発性データ更新システムのハードウェアの構成は、図１に示した、本発明の第１の実施の形態の不揮発性データ更新システムと同じであるので、説明を省略する。
【００４０】
図５は、第２の実施の形態の不揮発性データ更新システムの機能ブロック図の一例である。ここで、フラッシュメモリ１２の同じデータを保存可能な（ｎ＋１）個のセクタを、セクタ１、セクタ２及びセクタ３の３個のセクタを例に挙げて説明する。また、更新対象であるデータを対象データとし、セクタに属する対象データ以外のデータを対象外データとし、最新の値であるデータを有効データとする。
【００４１】
また、３つのセクタのうち、異なるデータの最新値を保存している２つのセクタを有効セクタとし、残りの１つのセクタを空きセクタとする。また、対象データが属する有効セクタを対象セクタとし、対象データを変更する前の対象セクタを旧対象セクタとし、対象データを変更した後の対象セクタを新対象セクタとする。また、対象データを変更する前の空きセクタを旧空きセクタとし、対象データを変更した後の空きセクタを新空きセクタとする。
【００４２】
図５に示すように、不揮発性データ更新システム１０は、セクタ更新判定部３２、空きセクタ検索部３４、対象セクタ更新部３６、及び有効セクタ設定部３８を備えている。セクタ更新判定部３２は、対象データを更新するときが、対象セクタを更新するタイミングであるか否かを判定する。例えば、旧対象セクタがセクタ１であるとき、対象データを更新するエリアがセクタ１にないときである。
【００４３】
空きセクタ検索部３４は、旧空きセクタを検索する。セクタ更新判定部３２によって、対象セクタを更新するタイミングであると判定されたときに、空きセクタ検索部３４は実行を行う。対象セクタ更新部３６は、旧空きセクタを消去して、対象セクタに属している全てのデータの最新値を旧空きセクタに書き込む。セクタ更新判定部３２によって、対象セクタを更新するタイミングであると判定されたときに、対象セクタ更新部３６は実行を行う。ここで、対象セクタ更新部３６は、対象セクタに属している全てのデータの最新値を旧空きセクタに書き込んだ後に、旧対象セクタを消去しても良い。
【００４４】
有効セクタ設定部３８は、旧空きセクタを新対象セクタとして設定し、旧対象セクタを新空きセクタとして設定する。セクタ更新判定部３２によって、対象セクタを更新するタイミングであると判定されたときに、有効セクタ設定部３８は実行を行う。例えば、セクタとセクタに属するデータの集合とを対応付けるテーブル等を持ち、そのテーブルを更新する。
【００４５】
次に、セクタの更新処理を説明する。図６は、第２の実施の形態の不揮発性データ更新システム１０のフラッシュメモリ１２に予め格納されている制御プログラムにより実行されるセクタの更新処理の一例を示すフローチャート図である。図６に示すように、まず、対象データを更新するときが、対象セクタを更新するタイミングであるか否かを判定する（Ｓ２０２）。対象セクタを更新するタイミングであると判定されたとき（Ｓ２０２；Ｙｅｓ）に、旧空きセクタを検索する（Ｓ２０４）。次に、旧空きセクタを消去して、対象セクタに属している全てのデータの最新値を旧空きセクタに書き込む（Ｓ２０６）。最後に、旧空きセクタを新対象セクタとして設定し、旧対象セクタを新空きセクタとして設定して（Ｓ２０８）、処理を終了する。
【００４６】
図７は、図６のフローチャートの対象セクタの更新処理（Ｓ２０６）を説明するための図である。図７（ａ）は、旧空きエリアがセクタ３で、旧対象セクタがセクタ１であるときの対象セクタの更新処理であり、図７（ｂ）は、旧空きエリアがセクタ１で、旧対象セクタがセクタ２であるときの対象セクタの更新処理であり、図７（ｃ）は、旧空きエリアがセクタ２で、旧対象セクタがセクタ３であるときの対象セクタの更新処理である。図７（ａ）に示すように、旧空きエリアがセクタ３で、旧対象セクタがセクタ１であるときの対象セクタの更新手順は、まず、セクタ３を消去する（図中（消去１））。次に、セクタ１に属する全てのデータの最新の値をセクタ３へ書き込む（図中（書き込み１））。ここでは、セクタ１には、更新前の有効データが保存されており、セクタ３には、更新後の有効データが保存されている。即ち、セクタ１には、対象データの更新前の値が保存されており、セクタ２には、対象データの更新後の値が保存されている。
【００４７】
また、図７（ｂ）に示すように、旧空きエリアがセクタ１で、旧対象セクタがセクタ２であるときの対象セクタの更新手順は、まず、セクタ１を消去する（図中（消去１））。次に、セクタ２に属する全てのデータの最新の値をセクタ１へ書き込む（図中（書き込み１））。図７（ｃ）に示すように、旧空きエリアがセクタ２で、旧対象セクタがセクタ３であるときの対象セクタの更新手順は、まず、セクタ２を消去する（図中（消去１））。次に、セクタ３に属する全てのデータの最新の値をセクタ２へ書き込む（図中（書き込み１））。
【００４８】
上述したように、不揮発性データ更新システム１０に、セクタ更新判定部３２、空きセクタ検索部３４、対象セクタ更新部３６、及び有効セクタ設定部３８を備えることにより、データの更新頻度の高いシステム制御データ等が属しているセクタを対象とした、有効セクタの更新処理では、セクタの消去処理、及びセクタへの全データの書き処理が１回ずつ実行されるようになり、有効セクタの更新の処理時間を削減することが可能である。従って、セクタの更新処理効率の良い不揮発性データ更新システム１０を構築することが可能である。また、１つのセクタの更新回数を減らすことが可能である。従って、デバイスの寿命を延ばしたメンテナンス効率の良い不揮発性データ更新システム１０を構築することが可能である。
【００４９】
また、上述した実施の形態の不揮発性データ更新システム１０は、セクタ更新判定部３２は本発明のセクタ更新判定手段及びセクタ更新判定工程に対応し、空きセクタ検索部３４は本発明の空きセクタ検索手段及び空きセクタ検索工程に対応し、対象セクタ更新部３６は本発明の対象セクタ更新手段及び対象セクタ更新工程に対応し、有効セクタ設定部３８は本発明の有効セクタ設定手段及び有効セクタ設定工程に対応する。
【００５０】
また、上述した図６のフローチャートに示す処理を実行する場合に、不揮発性データ更新システム１０のフラッシュメモリ１２に予め格納されている制御プログラムを実行する場合について説明したが、これらの各工程を実行させるプログラムを記録した情報記録媒体から、そのプログラムをＲＡＭに読み込んで実行するようにしても良い。
【図面の簡単な説明】
【００５１】
【図１】発明の第１の実施の形態の不揮発性データ更新システムのハードウェアの構成を示す図である。
【図２】第１の実施の形態の不揮発性データ更新システムの機能ブロック図の一例である。
【図３】第１の実施の形態の不揮発性データ更新システム１０のフラッシュメモリ１２に予め格納されている制御プログラムにより実行されるセクタの更新処理の一例を示すフローチャート図である。
【図４】図３のフローチャートの有効セクタの更新処理（Ｓ１０６）を説明するための図である。
【図５】第２の実施の形態の不揮発性データ更新システムの機能ブロック図の一例である。
【図６】第２の実施の形態の不揮発性データ更新システム１０のフラッシュメモリ１２に予め格納されている制御プログラムにより実行されるセクタの更新処理の一例を示すフローチャート図である。
【図７】図６のフローチャートの対象セクタの更新処理（Ｓ２０６）を説明するための図である。
【図８】バックアップ用のセクタを利用したセクタの更新手順を説明するための図である。
【符号の説明】
【００５２】
１０    不揮発性データ更新システム
１２    フラッシュメモリ
１４    ＲＡＭ
１６    ＣＰＵ
２２    セクタ切り替え判定部
２４    新有効セクタ判定部
２６    有効セクタ更新部
２８    有効セクタ指定部
３２    セクタ更新判定部
３４    空きセクタ検索部
３６    対象セクタ更新部
３８    有効セクタ設定部
【図１】
2007122419.tif 000003
【図２】
2007122419.tif 000004
【図３】
2007122419.tif 000005
【図４】
2007122419.tif 000006
【図５】
2007122419.tif 000007
【図６】
2007122419.tif 000008
【図７】
2007122419.tif 000009
【図８】
2007122419.tif 000010