(57)【要約】【課題】フラッシュメモリの書き換えに成功したか否かを容易に判定する。【解決手段】電子時計１は、ＧＰＳ部５が備えるＣＰＵ５２と、ＣＰＵ５２が読み込んで参照するための参照データテーブルと地図データを記憶する記憶領域を有するフラッシュメモリ６と、記憶領域０，１の先頭のアドレスに対応した空間に参照データテーブルと地図データを書き込み、参照データテーブルと地図データを特定するバージョン情報を、この記憶領域の先頭アドレス以降に処理されるアドレスに対応した空間に書き込むＣＰＵ２１とを備える。【選択図】図１
2019046206.tif 000002
【特許請求の範囲】
【請求項１】
プログラムまたはデータを記憶する記憶領域を有するメモリと、
前記記憶領域の特定アドレス空間に前記プログラムまたは前記データと当該プログラムまたは当該データを特定する特定情報とを書き込み、当該記憶領域の前記特定アドレス空間とは異なるアドレス空間に当該特定情報を書き込むプロセッサと、
を備えることを特徴とするデータ管理装置。
【請求項２】
前記メモリは、前記プログラムまたは前記データを記憶する記憶領域を複数含んでおり、
前記プロセッサは、各前記記憶領域の特定アドレス空間の前記プログラムまたは前記データに含まれる特定情報と各前記記憶領域の前記異なるアドレス空間に含まれる特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定すると共に、正しく書き込まれていない記憶領域を消去する、
ことを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記メモリは、前記プログラムまたは前記データを記憶する記憶領域を複数含んでおり、
前記プロセッサは、各前記記憶領域の前記特定アドレス空間の前記プログラムまたは前記データに含まれる特定情報と各前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定すると共に、正しく書き込まれている記憶領域に記憶されたプログラムまたはデータを使用する、
ことを特徴とする請求項１又は２に記載のデータ管理装置。
【請求項４】
プログラムまたはデータを記憶する記憶領域を有するメモリと、
前記記憶領域の特定アドレス空間に新たなプログラムまたはデータを書き込み、当該プログラムまたは当該データの容量を示す容量情報を当該記憶領域の前記特定アドレス空間とは異なるアドレス空間に書き込むプロセッサと、
を備えることを特徴とするデータ管理装置。
【請求項５】
前記プロセッサは、前記記憶領域の前記異なるアドレス空間に記憶された前記容量情報に基づき、当該記憶領域を消去する、
ことを特徴とする請求項４に記載のデータ管理装置。
【請求項６】
第１のプロセッサと、
前記第１のプロセッサが読み込んで実行するためのプログラムまたは前記第１のプロセッサが読み込んで参照するためのデータを記憶する記憶領域を有するメモリと、
前記記憶領域の特定アドレス空間に前記プログラムまたは前記データを書き込み、当該プログラムまたは当該データを特定する特定情報を当該記憶領域の前記特定アドレス空間とは異なるアドレス空間に書き込む第２のプロセッサと、
を備えることを特徴とするデータ管理装置。
【請求項７】
前記メモリは、前記プログラムまたは前記データを記憶する記憶領域を複数含んでおり、
前記第２のプロセッサは、各前記記憶領域の前記特定アドレス空間の前記プログラムまたは前記データに含まれる特定情報と各前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定すると共に、正しく書き込まれている記憶領域に記憶されたプログラムまたはデータを前記第１のプロセッサに使用させる、
ことを特徴とする請求項６に記載のデータ管理装置。
【請求項８】
前記メモリは、前記プログラムまたは前記データを記憶する記憶領域を複数含んでおり、
前記第１のプロセッサは、各前記記憶領域の前記特定アドレス空間の前記プログラムまたは前記データに含まれる特定情報と各前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定すると共に、正しく書き込まれている記憶領域に記憶されたプログラムまたはデータを読み込む、
ことを特徴とする請求項６に記載のデータ管理装置。
【請求項９】
電源を供給する電池と、
前記電源の電圧を検知する電圧センサと、を備え、
前記第２のプロセッサは、前記プログラムまたは前記データを特定する特定情報と共に、前記電圧センサで検知した電源電圧情報を前記記憶領域の前記異なるアドレス空間に書き込む、
ことを特徴とする請求項６ないし８のうちいずれか１項に記載のデータ管理装置。
【請求項１０】
第１のプロセッサと、
前記第１のプロセッサが読み込んで実行するためのプログラムまたは前記第１のプロセッサが読み込んで参照するためのデータを記憶する記憶領域を有するメモリと、
前記記憶領域の特定アドレス空間に新たなプログラムまたはデータを書き込み、当該プログラムまたは当該データの容量を示す容量情報を当該記憶領域の前記特定アドレス空間とは異なるアドレス空間に書き込む第２のプロセッサと、
を備えることを特徴とするデータ管理装置。
【請求項１１】
前記第２のプロセッサは、前記記憶領域の前記異なるアドレス空間に記憶された前記容量情報に基づき、当該記憶領域を消去する、
ことを特徴とする請求項１０に記載のデータ管理装置。
【請求項１２】
請求項１ないし１１のうちいずれか１項に記載のデータ管理装置と、
時刻を計数する計時部と、
前記計時部が計数する前記時刻を表示する表示部と、
を備えることを特徴とする電子時計。
【請求項１３】
記憶領域の特定アドレス空間にデータまたはプログラムを特定する特定情報が記憶されると共に、前記記憶領域の前記特定アドレス空間とは異なるアドレス空間に前記特定情報と同一の特定情報が記憶されており、
前記記憶領域の前記特定アドレス空間の特定情報と前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定する、
ことを特徴とするデータ管理方法。
【請求項１４】
記憶領域の特定アドレス空間にデータまたはプログラムが記憶されると共に、前記記憶領域の前記特定アドレス空間とは異なるアドレス空間に前記データまたは前記プログラムの容量を示す容量情報が記憶されており、
前記記憶領域の前記異なるアドレス空間に記憶された前記容量情報に基づき、当該記憶領域を消去する、
ことを特徴とするデータ管理方法。
【請求項１５】
記憶領域の特定アドレス空間にデータまたはプログラムを書き込む第１書込手段、
前記記憶領域の前記特定アドレス空間とは異なるアドレス空間に、前記データまたは前記プログラムを特定する特定情報と同一の特定情報を書き込む第２書込手段、
前記記憶領域の前記特定アドレス空間の特定情報と前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定する判定手段、
としてコンピュータを機能させるためのデータ管理プログラム。
【請求項１６】
記憶領域の特定アドレス空間にデータまたはプログラムを書き込む第１書込手段、
前記記憶領域の前記特定アドレス空間とは異なるアドレス空間に前記データまたは前記プログラムの容量を示す容量情報を書き込む第２書込手段、
前記記憶領域の前記異なるアドレス空間に記憶された前記容量情報に基づき、当該記憶領域を消去する消去手段、
としてコンピュータを機能させるためのデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理装置、電子時計、データ管理方法、およびデータ管理プログラムに関する。
【背景技術】
【０００２】
近年、電子機器の発売後に不具合を修正させるため、または機能や性能を向上させるために、ユーザが電子機器のプログラムをアップデート可能なものが各種実用化されている。このような電子機器は、例えばインターネットに接続可能であり、ネットワーク経由でプログラムをアップデート（更新）する場合がある。
【０００３】
特許文献１には、制御ソフトウェアを更新する方法が開示されている。特許文献１の要約書には、「無線端末装置は自装置の運用に係る現用の制御ソフトウェアのバージョン情報を網側に接続するソフトウェア供給装置に通知し、ソフトウェア供給装置は通知されたバージョン情報を自己が蓄積管理する最新のバージョン情報と比較して更新の必要性有無を判定すると共に、更新が必要な場合は通知されたバージョンの改訂用に適合する新しい制御ソフトウェアを無線端末装置にダウンロードする。」と記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−０７８２５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電子時計では、ファームウェアの記憶領域を２つ持つことで、一方の記憶領域のファームウェアの書き換えを中断しても、他方の記憶領域のファームウェアから正常に起動可能となる。但し、このような機能を実現するためには、電子時計のプロセッサは、どちらの記憶領域が使用領域であるかを把握する必要がある。例えば、ファームウェアのヘッダ部分が書き換えられたのちに、電圧降下などにより時計ＬＳＩ（Large-Scale Integration）がリセットされたならば、ヘッダ部分のバージョン情報を読み出すだけは、書き換えが成功したかどうかが判別できず、どちらの記憶領域が使用領域であるか把握できない。
【０００６】
そこで、本発明は、データ管理装置、電子時計、データ管理方法、およびデータ管理プログラムについて、フラッシュメモリの書き換えに成功したか否かを容易に判定することを課題とする。
【課題を解決するための手段】
【０００７】
本発明は、上記目的を達成するため、
プログラムまたはデータを記憶する記憶領域を有するメモリと、
前記記憶領域の特定アドレス空間に前記プログラムまたは前記データと当該プログラムまたは当該データを特定する特定情報とを書き込み、当該記憶領域の前記特定アドレス空間とは異なるアドレス空間に当該特定情報を書き込むプロセッサと、
を備えることを特徴とするデータ管理装置である。
【図面の簡単な説明】
【０００８】
【図１】本実施形態における電子時計の概略を示す構成図である。
【図２】オールクリア後のＧＰＳ処理を示すフローチャートである。
【図３】秒針の運針とＧＰＳフラッシュ未使用領域決定処理とを示すタイミングチャートである。
【図４】第１の実施形態における記憶領域０，１の構成を示す図である。
【図５】領域の使用と未使用の決定処理を示すフローチャート（その１）である。
【図６】領域の使用と未使用の決定処理を示すフローチャート（その２）である。
【図７】未使用領域の消去処理を示すフローチャートである。
【図８】消去済みの領域の書き換え処理を示すフローチャートである。
【図９】第２の実施形態における記憶領域０，１の構成を示す図である。
【図１０】領域の使用と未使用の決定処理を示すフローチャート（その１）である。
【図１１】領域の使用と未使用の決定処理を示すフローチャート（その２）である。
【図１２】未使用領域の消去処理を示すフローチャートである。
【図１３】消去済みの領域の書き換え処理を示すフローチャートである。
【図１４】第３の実施形態における記憶領域０，１の構成を示す図である。
【図１５】消去済みの領域の書き換え処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以降、本発明を実施するための形態を、各図を参照して詳細に説明する。
本実施形態の電子時計は、ファームウェアやデータを特定するバージョン情報を、ファームウェアやデータを書き込む記憶領域のフッタ部にコピーする。ファームウェアやデータのバージョン情報をフッタ部にコピーした場合、書き換えに失敗した場合を検知できる。
【００１０】
更にファームウェアやデータのブロックサイズ情報をフッタ部に書き込んだ場合、消去すべきブロックサイズが明確になるので、消去時間と消去に伴う消費電力を削減することができる。
【００１１】
図１は、本実施形態における電子時計１の概略を示す構成図である。
電子時計１は、特には限られないが、例えば腕に装着するためのバンドを備えた腕時計型の電子時計である。この電子時計１は、時計ＬＳＩであるマイクロコンピュータ２、操作部３１、表示部３２、電源部３３、電池３４を含んで構成される。電子時計１は更に、通信部４とアンテナ４１、ＧＰＳ（Global Positioning System）部５とアンテナ５１、フラッシュメモリ６、振動子７を含んで構成される。なお、図ではアンテナ４１，５１を“ＡＮＴ”と記載している。
【００１２】
操作部３１は、例えばリュウズやボタンであり、ユーザの操作情報をマイクロコンピュータ２に伝達する。表示部３２は、例えば文字盤と指針などであり、マイクロコンピュータ２の指示により現在時刻を含む各種情報を表示する。電池３４と電源部３３は、この電子時計１に電力を供給する。
【００１３】
電源部３３は、例えば、電圧変換回路である。電源部３３は、電子時計１内の各部の動作電圧で電力を供給する。電池３４としては、例えば、ボタン型乾電池などの一次電池が用いられる。または電池３４として、ソーラパネルと二次電池の組合せが用いられてもよい。
【００１４】
通信部４は、例えばBluetooth（登録商標） Low Energyに準拠した無線通信により、アンテナ４１、を介して外部と通信する。これにより電子時計１は、新たなファームウェアを外部から受信する。
【００１５】
ＧＰＳ部５は、ＧＰＳ受信ＩＣで構成されており、ＧＰＳ衛星から送信される極超短波の衛星信号をアンテナ５１によって受信し、現在位置や現在時刻を計測するものである。このＧＰＳ受信ＩＣは、ＣＰＵ（Central Processing Unit）５２とＲＡＭ（Random Access Memory）５３とを備える。ＣＰＵ５２は、後記するフラッシュメモリ６の記憶領域０（６１）および記憶領域１（６２）をＲＡＭ５３に読み込んで実行する第１のプロセッサである。
【００１６】
フラッシュメモリ６は、情報を読み出しおよび書き込み可能に記憶する不揮発性の半導体メモリである。このフラッシュメモリ６には、記憶領域０（６１）および記憶領域１（６２）を含んでいる。記憶領域０（６１）および記憶領域１（６２）は、ＣＰＵ５２がＲＡＭ５３が読み込んで参照するためのデータが記憶される。
【００１７】
フラッシュメモリ６の１回の消去単位は4Kbytesであり、これをブロックと呼ぶ。それ以上のサイズ消去するときには、4Kbytesのブロックの消去を繰り返す。フラッシュメモリ６の指定されたブロックを消去すると、そのブロックのデータは全て0xFFとなる。
【００１８】
フラッシュメモリ６の消去済みのアドレス空間には、データを書き込むことができる。フラッシュメモリ６の１回の書き込み単位は256Bytesなので、それ以上のサイズのデータを書き込むときには、256Bytes単位の書き込みと読み込みと確認（ベリファイ）を繰り返すとよい。
【００１９】
ＣＰＵ２１は、電子時計１を統括制御する第２のプロセッサである。ＣＰＵ２１の処理能力は、ＣＰＵ５２の処理能力よりも低い。またＣＰＵ２１の動作保証電圧の下限は、ＣＰＵ５２の動作保証電圧の下限よりも低い。電源電圧の低下によりＣＰＵ５２が動作しなくなった後でも、ＣＰＵ２１は動作することができる。
【００２０】
振動子７は、例えば、水晶振動子であり、後記する発振回路２５と組み合わされて固有の周波数信号を生成する。
マイクロコンピュータ２は、ＣＰＵ２１、ＲＡＭ２２を含んで構成される。マイクロコンピュータ２は更に、発振回路２５、分周回路２６、計時回路２７を含んで構成され、外付けのＲＯＭ（Read Only Memory）２３に接続されている。
【００２１】
ＣＰＵ２１は、ＲＡＭ２２をワーク領域としてＲＯＭ２３やフラッシュメモリ６に記憶されたプログラムによる各種演算処理を行い、電子時計１の全体動作を統括制御するものである。ＲＡＭ２２は電源バックアップされているため、次回の起動時に参照する情報を好適に記憶できる。次回の起動時にＣＰＵ２１が参照する情報は、ＲＡＭ２２に記憶される。このＣＰＵ２１は、記憶領域０，１の特定アドレス空間にプログラムまたはデータとこのプログラムまたはこのデータを特定する特定情報とを書き込み、この記憶領域の特定アドレス空間とは異なるアドレス空間に特定情報を書き込む。
【００２２】
発振回路２５は、振動子７と組み合わされて固有の周波数信号を生成して分周回路２６に出力する。発振回路２５としては、例えば、水晶発振回路が用いられる。
分周回路２６は、発振回路２５から入力された信号をＣＰＵ２１や計時回路２７が利用する各種周波数の信号に分周して出力する。
【００２３】
計時回路２７は、分周回路２６から入力された所定の周波数信号の回数を計数し、初期時刻に加算してゆくことで現在時刻を計数するカウンタ回路である。計時回路２７により計数される現在時刻は、ＣＰＵ２１により読み出されて時刻表示に用いられる。この時刻の計数は、ソフトウェア的に制御されてもよい。また、振動子７、発振回路２５、分周回路２６、及び計時回路２７により時刻を計数する計時部が構成されてもよい。
【００２４】
図２は、オールクリア後のＧＰＳ処理を示すフローチャートである。
ユーザが電子時計１をオールクリア（ＡＣ）したならば、この電子時計１のＣＰＵ２１は、ＧＰＳフラッシュ未使用領域決定処理（図５・図６参照）を実行する（ステップＳ１０）。オールクリアは、電池３４が切れた場合や、プログラムが暴走した場合に行われる。
【００２５】
ＣＰＵ２１は、この未使用領域決定処理が成功したか否かを判定する（ステップＳ１１）。処理に成功したと判定したならば（Ｙｅｓ）、ＣＰＵ２１は、ステップＳ１４の処理に進む。処理に失敗したと判定したならば（Ｎｏ）、ＣＰＵ２１は、ステップＳ１２の処理に進む。
【００２６】
ステップＳ１２において、ＣＰＵ２１は、現在のモードが通常モードであるか否かを判定する（ステップＳ１２）。ここで通常モードとは、電子時計１が時刻を計時するモードのことをいう。ＣＰＵ２１は、現在のモードが通常モードではないと判定したならば（Ｎｏ）、この判定処理を繰り返す。ＣＰＵ２１は、現在のモードが通常モードであると判定したならば（Ｙｅｓ）、ステップＳ１３の処理に進む。
【００２７】
ステップＳ１３において、ＣＰＵ２１は、ホームタイム（ＨＴ）の秒が５５秒であるか否かを判定する。ＣＰＵ２１は、ホームタイムの秒が５５秒ではなかったならば（Ｎｏ）、ステップＳ１２の処理に戻り、ホームタイムの秒が５５秒であったならば（Ｙｅｓ）、ステップＳ１０の処理に戻る。
【００２８】
つまりＣＰＵ２１は、現在のモードが通常モードではないか、またはホームタイムの秒が５５秒でなかったならば（Ｎｏ）、ステップＳ１２の処理に戻り、ステップＳ１２，Ｓ１３の判定を繰り返す。ＣＰＵ２１は、現在のモードが通常モードであり、かつホームタイムの秒が５５秒であったならば（Ｙｅｓ）、ステップＳ１０の処理に戻り、未使用領域決定処理を再び実行する。
【００２９】
本実施形態では、ステップＳ１２，Ｓ１３の判定処理により、未使用領域決定処理が再び実行されるタイミングは、秒針が５５秒を示していたときに限定される。つまり、未使用領域決定処理のタイミングと秒針の運針タイミングとをずらし、秒針の運針が止まっていると考えられる場合を狙って、未使用領域の消去を行っている。これにより、電子時計１は、ユーザに正確な時刻を表示できる。
【００３０】
ステップＳ１４において、ＣＰＵ２１は、現在のモードが通常モードであるか否かを判定する。ＣＰＵ２１は、現在のモードが通常モードではないと判定したならば（Ｎｏ）、ステップＳ１７の処理に進む。ＣＰＵ２１は、現在のモードが通常モードであると判定したならば（Ｙｅｓ）、ステップＳ１５の処理に進む。
【００３１】
ステップＳ１５において、ＣＰＵ２１は、ホームタイム（ＨＴ）の時刻が午前２時〜５時であるか否かを判定する。この時刻を判別する理由は、この時間帯はユーザが時刻を確認していない可能性が高いからである。ＣＰＵ２１は、ホームタイム（ＨＴ）の時刻が午前２時〜５時ならば（Ｙｅｓ）、更に分秒が３０分５０秒であるか否かを判定する（ステップＳ１６）。ＣＰＵ２１は、ホームタイム（ＨＴ）の分秒が３０分５０秒ならば、ステップＳ１９に進み、ＧＰＳフラッシュの未使用領域消去処理を実行する。ステップＳ１６を判定する理由は、同時間帯に自動的に行われる標準電波受信等の処理と重なるのを避けるためである。ステップＳ１６において、ＣＰＵ２１は、ホームタイム（ＨＴ）の分秒が３０分５０秒ではないならば、ステップＳ１４の処理に戻る。
【００３２】
つまりＣＰＵ２１は、ホームタイム（ＨＴ）の時刻が午前２時〜５時ではないか、または分秒が３０分５０秒ではないならば、ステップＳ１４の処理に戻る。ＣＰＵ２１は、ホームタイム（ＨＴ）の時刻が午前２時〜５時であり、かつ分秒が３０分５０秒であったならば、ＧＰＳフラッシュの未使用領域消去処理を実行する（ステップＳ１９）。
【００３３】
またＣＰＵ２１は、ステップＳ１７において、現在のモードがストップウオッチモードであるか否かを判定する。ＣＰＵ２１は、現在のモードがストップウオッチモードではないと判定したならば（Ｎｏ）、ステップＳ１４の処理に戻る。
【００３４】
更にＣＰＵ２１は、現在のモードがストップウオッチモードであると判定したならば（Ｙｅｓ）、秒針停止から１分経過したか否かを判定する（ステップＳ１８）。ＣＰＵ２１は、この判定条件が成立したならば、ステップＳ１９に進み、ＧＰＳフラッシュの未使用領域消去処理（図７参照）を実行する。ステップＳ１８を判定する理由は、秒針停止中の処理なら消去中の運針停止が目立たないためと、１分経過していれば、ユーザの操作がないものと想定されるためである。
【００３５】
その後、ステップＳ２０において、ＣＰＵ２１は、記憶領域の消去が成功したか否かを判定する。ＣＰＵ２１は、記憶領域の消去が成功したならば（Ｙｅｓ）、図２の処理を終了し、記憶領域の消去が失敗したならば（Ｎｏ）、ステップＳ１４の処理に戻る。
【００３６】
電子時計１では、消去と書き換えとを連続して行うことは消費電流の関係から極めて困難である。消去中は、時計ＬＳＩ（マイクロコンピュータ２）とＧＰＳマイコン（ＣＰＵ５２）の通信中に運針タイミングが来てしまう可能性があるため、消去が完了まで運針を停止しており、ユーザに時刻を表示できなかった。
【００３７】
図２のＧＰＳ処理により、電子時計１は、深夜の時間帯や、秒針が止まって一定時間が経過した場合等の、秒針の運針が止まっていると考えられる場合を狙って未使用領域の消去を行う。そのため、電子時計１は、運針タイミングを避けて未使用領域を消去し、ユーザに正確な時刻を表示できる。
【００３８】
図３は、秒針の運針とＧＰＳフラッシュ未使用領域決定処理とを示すタイミングチャートである。
【００３９】
図３の上側は、秒針の運針タイミングを示しており、秒の値が１２の倍数のときに運針する。ＧＰＳフラッシュの未使用領域決定処理の開始タイミングは、５５秒であり、平均の処理時間は３秒である。よって、未使用領域決定処理の実行と秒針の運針とが重複することはない。
【００４０】
《第１の実施形態》
図４は、第１の実施形態における記憶領域０，１の構成を示す図である。
記憶領域０には、参照データテーブルと地図データとが記憶されている。
【００４１】
参照データテーブルは、アドレス空間0x100000〜0x10FFFFのうち上位のアドレス空間0x100000〜(0x100002+X1)に記憶されている。参照データテーブルは、ヘッダ部分の２バイトのバージョン情報と、それ以降のX1 Bytesの本体とで構成される。ここで、バージョン情報は、0x01,0x00である。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。ＣＰＵ２１は、このバージョン情報の値により参照データテーブルのバージョンを特定する。
【００４２】
参照データテーブルの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x100003+X1)〜0x10FFFFに記憶されている。リザーブ領域は全て0xFFである。このリザーブ領域により、バージョン間のサイズの相違を吸収可能である。
【００４３】
地図データは、アドレス空間0x110000〜0x1FFFFBのうち上位のアドレス空間0x110000〜(0x110002+Y1)に記憶されている。地図データは、ヘッダ部分の２バイトのバージョン情報と、それ以降のY1 Bytesの本体とで構成される。ここで、バージョン情報は、0x03,0x00である。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。ＣＰＵ２１は、このバージョン情報の値により地図データのバージョンを特定する。
【００４４】
地図データの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x110003+Y1)〜0x1FFFFBに記憶されている。リザーブ領域は全て0xFFである。リザーブ領域により、バージョン間のサイズの相違を吸収可能である。
つまり参照データテーブルと地図データとが記憶される特定アドレス空間は、アドレス空間0x100000〜0x1FFFFBである。
【００４５】
記憶領域０のアドレス空間0x1FFFFC〜0x1FFFFDには、参照データテーブルのバージョン情報が記憶される。記憶領域０のアドレス空間0x1FFFFE〜0x1FFFFFには、地図データのバージョン情報が記憶される。これらアドレス空間0x1FFFFC〜0x1FFFFFは、記憶領域０のフッタであり、参照データテーブルや地図データを記憶する特定アドレス空間とは異なるアドレス空間である。
【００４６】
記憶領域１には、記憶領域０と同様に参照データテーブルと地図データとが記憶されており、フッタに参照データテーブルのバージョン情報と地図データのバージョン情報とがコピーされている。
参照データテーブルは、アドレス空間0x200000〜0x20FFFFのうち上位のアドレス空間0x200000〜(0x200002+X2)に記憶されている。参照データテーブルは、ヘッダ部分の２バイトのバージョン情報と、それ以降のX2 Bytesの本体とで構成される。ここで、バージョン情報は、0x02,0x00である。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。ＣＰＵ２１は、このバージョン情報の値により参照データテーブルのバージョンを特定する。
【００４７】
参照データテーブルの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x200003+X1)〜0x20FFFFに記憶されている。リザーブ領域は全て0xFFである。このリザーブ領域により、バージョン間のサイズの相違を吸収可能である。
【００４８】
地図データは、アドレス空間0x210000〜0x2FFFFBのうち上位のアドレス空間0x210000〜(0x210002+Y2)に記憶されている。地図データは、ヘッダ部分の２バイトのバージョン情報と、それ以降のY2 Bytesの本体とで構成される。ここで、バージョン情報は、0x04,0x00である。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。ＣＰＵ２１は、このバージョン情報の値により地図データのバージョンを特定する。
【００４９】
地図データの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x210003+Y2)〜0x2FFFFBに記憶されている。リザーブ領域は全て0xFFである。リザーブ領域により、バージョン間のサイズの相違を吸収可能である。
つまり参照データテーブルと地図データとが記憶される特定アドレス空間は、アドレス空間0x200000〜0x2FFFFBである。
【００５０】
記憶領域０のアドレス空間0x2FFFFC〜0x2FFFFDには、参照データテーブルのバージョン情報が記憶される。記憶領域０のアドレス空間0x2FFFFE〜0x2FFFFFには、地図データのバージョン情報が記憶される。これらアドレス空間0x2FFFFC〜0x2FFFFFは、記憶領域０のフッタであり、参照データテーブルや地図データを記憶する特定アドレス空間とは異なるアドレス空間である。
【００５１】
第１の実施形態の電子時計１は、記憶領域０，１のうち最初に書き換えるヘッダ部分と最後に書き換えるフッタ部分に共通したバージョン情報を持っている。これらヘッダ部分とフッタ部分とは、256Bytes以上離れており書き込みブロックが異なるため、書き込みのタイミングが異なる。
【００５２】
書き換え途中で失敗してマイクロコンピュータ２にリセットが掛かった場合、ヘッダ部分とフッタ部分のバージョン情報が異なるため、書き換えの失敗を判断できる。消去途中で失敗してマイクロコンピュータ２にリセットが掛かった場合も同様にヘッダ部分とフッタ部分のバージョン情報が異なるため、消去の失敗を判断できる。
【００５３】
図５と図６は、記憶領域の使用と未使用の決定処理を示すフローチャートである。
ＣＰＵ２１は、記憶領域０の参照データテーブルのバージョン情報を読み出し（ステップＳ３０）、バージョン情報が0xFF,0xFFであるか否かを判定する（ステップＳ３１）。ＣＰＵ２１は、バージョン情報が0xFF,0xFFでないならば（Ｎｏ）、ステップＳ３２の処理に進み、バージョン情報が0xFF,0xFFならば（Ｙｅｓ）、ステップＳ３６の処理に進む。
【００５４】
ステップＳ３２において、ＣＰＵ２１は、記憶領域０の地図データのバージョン情報を読み出し、読み出したバージョン情報が0xFF,0xFFであるか否かを判定する（ステップＳ３３）。ＣＰＵ２１は、バージョン情報が0xFF,0xFFでないならば（Ｎｏ）、ステップＳ３４の処理に進み、バージョン情報が0xFF,0xFFならば（Ｙｅｓ）、ステップＳ３６の処理に進む。ここで、ステップＳ３６の処理に進む理由は、記憶領域０は書き換えに失敗していると判断できるためである。記憶領域１が有効であるか否かを判定しないことにより、消費電力を抑えることができる。
【００５５】
つまりＣＰＵ２１は、参照データテーブルのバージョン情報または地図データのバージョン情報のうちいずれかが0xFF,0xFFならば（Ｙｅｓ）、記憶領域０が未使用であると判定してステップＳ３６の処理に進む。またＣＰＵ２１は、両バージョン情報がいずれも0xFF,0xFFではなかったならば（Ｎｏ）、ステップＳ３４の処理に進む。
【００５６】
ステップＳ３４において、ＣＰＵ２１は、記憶領域０のフッタ部分に記憶されていた両バージョン情報を読み出す。ＣＰＵ２１は、読み出した両バージョン情報と、参照データテーブルおよび地図データのヘッダ部分に記憶されていた両バージョン情報とを比較する（ステップＳ３５）。ＣＰＵ２１は、両バージョン情報が一致しなかったならば（Ｎｏ）、ステップＳ３６の処理に進む。またＣＰＵ２１は、両バージョン情報が一致したならば（Ｙｅｓ）、図６のステップＳ４０の処理に進む。
【００５７】
なお、記憶領域０のどこかで書き換えが失敗した場合、ヘッダのバージョン情報と、フッタのバージョン情報とが一致しなくなる。そのため、ヘッダのバージョン情報と、フッタのバージョン情報を比較することにより、書き換えが失敗したか否かを判断できる。
【００５８】
ステップＳ３６において、ＣＰＵ２１は、記憶領域１のフッタのバージョン情報を読み出して、使用すべき地図データのバージョンを確定すると共に、記憶領域１の地図データを使用することを確定する（ステップＳ３７）。これによりＣＰＵ２１は、記憶領域１に地図データが正しく書き込まれていることを判定する。
例えばＲＡＭ２２上の使用先を示す変数に記憶領域１の識別子を代入し、ＲＡＭ２２上のバージョン変数に、使用すべき地図データのバージョンを代入するとよい。これによりＣＰＵ５２は、使用先を示す変数の識別子に基づき、記憶領域０，１のいずれかに書き込まれた地図データを読み出す。
【００５９】
更にＣＰＵ２１は、記憶領域０の消去フラグをセットし（ステップＳ３８）、ＧＰＳ電源をオフすると（ステップＳ３９）、この処理から図２の処理に戻る。消去フラグは、例えばＲＡＭ２２に配置される。これにより、ＣＰＵ２１は、正しく書き込まれていない記憶領域を消去する。
【００６０】
図６のステップＳ４０において、ＣＰＵ２１は、記憶領域１の参照データテーブルのバージョン情報を読み出し、バージョン情報が0xFF,0xFFであるか否かを判定する（ステップＳ４１）。ＣＰＵ２１は、バージョン情報が0xFF,0xFFでないならば（Ｎｏ）、ステップＳ４２の処理に進み、バージョン情報が0xFF,0xFFならば（Ｙｅｓ）、ステップＳ４７の処理に進む。
【００６１】
ステップＳ４２において、ＣＰＵ２１は、記憶領域１の地図データのバージョン情報を読み出し、読み出したバージョン情報が0xFF,0xFFであるか否かを判定する（ステップＳ４３）。ＣＰＵ２１は、バージョン情報が0xFF,0xFFでないならば、ステップＳ４４の処理に進み、バージョン情報が0xFF,0xFFならば（Ｙｅｓ）、ステップＳ４７の処理に進む。
【００６２】
つまりＣＰＵ２１は、参照データテーブルのバージョン情報または地図データのバージョン情報のうちいずれかが0xFF,0xFFならば（Ｙｅｓ）、記憶領域１が未使用であると判定してステップＳ４７の処理に進む。またＣＰＵ２１は、両バージョン情報がいずれも0xFF,0xFFではなかったならば（Ｎｏ）、ステップＳ４４の処理に進む。
【００６３】
ステップＳ４４において、ＣＰＵ２１は、記憶領域１のフッタ部分に記憶されていた両バージョン情報を読み出す。ＣＰＵ２１は、読み出した両バージョン情報と、参照データテーブルおよび地図データのヘッダ部分に記憶されていた両バージョン情報とを比較する（ステップＳ４５）。ＣＰＵ２１は、両バージョン情報が一致しなかったならば（Ｎｏ）、ステップＳ４７の処理に進む。またＣＰＵ２１は、両バージョン情報が一致したならば（Ｙｅｓ）、ステップＳ４６の処理に進む。このとき、記憶領域０と記憶領域１の両方に正しくデータが記憶されている。そのため、２つの記憶領域のバージョンを比較して、新しいバージョンが記憶されている方を使用する。
【００６４】
ステップＳ４６において、ＣＰＵ２１は、記憶領域０のバージョン情報と記憶領域１のバージョン情報とを比較して、記憶領域１のバージョン情報が最新であるか否かを判定する。ＣＰＵ２１は、記憶領域１のバージョン情報が最新ならば（Ｙｅｓ）、図５のステップＳ３６の処理に進み、記憶領域１のバージョン情報が最新でないならば（Ｎｏ）、ステップＳ４７の処理に進む。
【００６５】
ステップＳ４７において、ＣＰＵ２１は、使用すべき地図データのバージョンを確定すると共に、記憶領域０の地図データを使用することを確定する。これによりＣＰＵ２１は、記憶領域０に地図データが正しく書き込まれていることを判定する。
ＣＰＵ２１は、例えばＲＡＭ２２上の使用先を示す変数に記憶領域０の識別子を代入し、ＲＡＭ２２上のバージョン変数に、使用すべき地図データのバージョンを代入するとよい。
【００６６】
更にＣＰＵ２１は、記憶領域１の消去フラグをセットし（ステップＳ４８）、ＧＰＳ電源をオフすると（ステップＳ４９）、この処理から図２の処理に戻る。
【００６７】
図７は、未使用領域の消去処理を示すフローチャートである。
ＧＰＳフラッシュの未使用領域消去処理は、図２のステップＳ１９で呼び出される。
【００６８】
ＣＰＵ２１は、記憶領域０の消去フラグがセットされていれば（ステップＳ５０→Ｙｅｓ）、記憶領域０を消去して（ステップＳ５１）、この消去フラグをクリアする（ステップＳ５２）。ＣＰＵ２１は、記憶領域０の消去フラグがセットされていなければ（ステップＳ５０→Ｎｏ）、ステップＳ５３の処理に進む。
【００６９】
ＣＰＵ２１は、記憶領域１の消去フラグがセットされていれば（ステップＳ５３→Ｙｅｓ）、記憶領域１を消去して（ステップＳ５４）、この消去フラグをクリアする（ステップＳ５５）。これによりＣＰＵ２１は、図７の処理を終了する。
【００７０】
ＣＰＵ２１は、記憶領域１の消去フラグがセットされていなければ（ステップＳ５３→Ｎｏ）、図７の処理を終了する。
ＣＰＵ２１がＧＰＳフラッシュの未使用領域消去処理を実行することで、記憶領域０，１のうちいずれかが消去され、新たなデータやファームウェアで書き換え可能な状態となる。
【００７１】
図８は、消去済みの領域の書き換え処理を示すフローチャートである。
この書き換え処理は、例えばユーザによる書き換え指示の操作によって実行される。
【００７２】
ＣＰＵ２１は、記憶領域１を使用しているか否かを判定し（ステップＳ６０）、更に記憶領域０の消去フラグがクリアされているか否かを判定する（ステップＳ６１）。
ＣＰＵ２１は、記憶領域１が使用されており（ステップＳ６０→Ｙｅｓ）、かつ記憶領域０の消去フラグがクリアされていたならば（ステップＳ６１→Ｙｅｓ）、記憶領域０に参照データテーブルと地図データを書き込む（ステップＳ６２）。ここでＣＰＵ２１は、ステップＳ６２を実行することにより、記憶領域０の特定アドレス空間にデータを書き込む第１書込手段として機能する。
ＣＰＵ２１は更に、記憶領域０のフッタにバージョン情報を書き込み（ステップＳ６３）、ステップＳ６４の処理に進む。ここでＣＰＵ２１は、ステップＳ６３を実行することにより、記憶領域０の特定アドレス空間とは異なるアドレス空間に、データを特定する特定情報と同一の特定情報を書き込む第２書込手段として機能する。
【００７３】
ＣＰＵ２１は、記憶領域１が使用されていないか（ステップＳ６０→Ｎｏ）、または記憶領域０の消去フラグがクリアされていなかったならば（ステップＳ６１→Ｎｏ）、ステップＳ６４の処理に進む。
【００７４】
ＣＰＵ２１は、記憶領域０を使用しているか否かを判定し（ステップＳ６４）、更に記憶領域１の消去フラグがクリアされているか否かを判定する（ステップＳ６５）。
ＣＰＵ２１は、記憶領域０が使用されており（ステップＳ６４→Ｙｅｓ）、かつ記憶領域１の消去フラグがクリアされていたならば（ステップＳ６５→Ｙｅｓ）、記憶領域１に参照データテーブルと地図データを書き込む（ステップＳ６６）。ここでＣＰＵ２１は、ステップＳ６６を実行することにより、記憶領域１の特定アドレス空間にデータを書き込む第１書込手段として機能する。
ＣＰＵ２１は更に、記憶領域１のフッタにバージョン情報を書き込み（ステップＳ６７）、図８の処理を終了する。ここでＣＰＵ２１は、ステップＳ６７を実行することにより、記憶領域０の特定アドレス空間とは異なるアドレス空間に、データを特定する特定情報と同一の特定情報を書き込む第２書込手段として機能する。
【００７５】
ＣＰＵ２１は、記憶領域０が使用されていないか（ステップＳ６４→Ｎｏ）、または記憶領域１の消去フラグがクリアされていなかったならば（ステップＳ６５→Ｎｏ）、図８の処理を終了する。
【００７６】
第１の実施形態の電子時計１のＣＰＵ２１は、最初に書き換えるヘッダ部分と最後に書き換えるフッタ部分に共通したバージョン情報を書き込んでいる。書き換え途中に電圧降下などが発生してマイクロコンピュータ２がリセットされ、この書き換えが失敗した場合、ヘッダ部分のバージョン情報は、フッタ部分のバージョン情報と相違する。そのため、ＣＰＵ２１は、書き換えに失敗したことを判断可能である。
【００７７】
《変形例１》
本実施形態では図４に示したように、記憶領域０には、アドレス空間0x100000〜0x100001とアドレス空間0x110000〜0x110001に、それぞれバージョン情報を記憶している。更に両バージョン情報をアドレス空間0x1FFFFC〜0x1FFFFDとアドレス空間0x1FFFFE〜0x1FFFFFとにコピーしてある。
【００７８】
しかし、アドレス空間0x100000〜0x100001に記憶されたバージョン情報のみを、対応するアドレス空間0x1FFFFE〜0x1FFFFFにコピーしてもよい。このように、２面の記憶領域が複数のデータで構成される場合、代表データのバージョン情報をフッタにコピーしてもよい。
なお、記憶領域１も同様である。
【００７９】
《変形例２》
記憶領域０のアドレス空間0x100000〜0x100001に参照データテーブルのバージョン情報が記憶されているとき、参照データテーブルの領域のフッタに相当するアドレス空間0x10FFFE〜0x10FFFFにこのバージョン情報をコピーしてもよい。
【００８０】
同様に記憶領域０のアドレス空間0x110000〜0x110001に地図データのバージョン情報が記憶されているとき、地図データの領域のフッタに相当するアドレス空間0x1FFFFE〜0x1FFFFFにこのバージョン情報をコピーしてもよい。
【００８１】
このように、各データを記憶する各領域のフッタに、バージョン情報をコピーしてもよい。
なお、記憶領域１も同様である。
【００８２】
《第１の実施形態の効果》
記憶領域のフッタにバージョン情報のコピーを記憶し、ヘッダ部分とフッタ部分のバージョン情報を比較することにより、書き換えが成功したか否かを判断できる。
【００８３】
《第２の実施形態》
第１の実施形態の電子時計１は、各記憶領域のヘッダ部分にデータのバージョン情報と本体を書き込んだのち、各記憶領域のフッタ部分にバージョン情報をコピーしている。
【００８４】
これに対して第２の実施形態の電子時計１は、各記憶領域のフッタ部分に、データの容量情報を保存している。これにより、データが書き込まれている範囲をＣＰＵ２１が判断でき、データが書き込まれている範囲のみを消去することで消去時間を短縮し消費電力を低減させることが可能である。これにより、時計に搭載されるボタン電池の寿命を延ばすことができる。
【００８５】
図９は、第２の実施形態における記憶領域０，１の構成を示す図である。
記憶領域０には、参照データテーブルと地図データとが記憶されている。
【００８６】
参照データテーブルは、アドレス空間0x100000〜0x10FFFFのうち上位のアドレス空間0x100000〜(0x100002+X1)に記憶される。参照データテーブルは、ヘッダ部分の２バイトのバージョン情報と、それ以降のX1 Bytesの本体とで構成される。ここで、バージョン情報には、0x01,0x00の値が付与されている。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。
【００８７】
参照データテーブルの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x100003+X1)〜0x10FFFFに記憶されている。リザーブ領域は全て0xFFである。このリザーブ領域により、バージョン間のサイズの相違を吸収可能である。
【００８８】
地図データは、アドレス空間0x110000〜0x1FFFFBのうち上位のアドレス空間0x110000〜(0x110002+Y1)に記憶されている。地図データは、ヘッダ部分の２バイトのバージョン情報と、それ以降のY1 Bytesの本体とで構成される。ここで、バージョン情報には、0x03,0x00の値が付与されている。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。
【００８９】
地図データの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x110003+Y1)〜0x1FFFFBに記憶されている。リザーブ領域は全て0xFFである。リザーブ領域により、バージョン間のサイズの相違を吸収可能である。
つまり参照データテーブルと地図データとが記憶される特定アドレス空間は、アドレス空間0x100000〜0x1FFFFBである。
記憶領域０のフッタであるアドレス空間0x1FFFFC〜0x1FFFFFには、地図データの容量情報である(0x010002+Y1)が記憶される。アドレス空間0x1FFFFC〜0x1FFFFFは、記憶領域０のフッタであり、参照データテーブルや地図データを記憶する特定アドレス空間とは異なるアドレス空間である。
【００９０】
記憶領域１には、記憶領域０と同様に参照データテーブルと地図データとが記憶されており、フッタに地図データの容量情報が記憶される。
参照データテーブルは、アドレス空間0x200000〜0x20FFFFのうち上位のアドレス空間0x200000〜(0x200002+X2)に記憶されている。参照データテーブルは、ヘッダ部分の２バイトのバージョン情報と、それ以降のX2 Bytesの本体とで構成される。ここで、バージョン情報は、0x02,0x00である。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。ＣＰＵ２１は、このバージョン情報の値により参照データテーブルのバージョンを特定する。
【００９１】
参照データテーブルの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x200003+X1)〜0x20FFFFに記憶されている。リザーブ領域は全て0xFFである。このリザーブ領域により、バージョン間のサイズの相違を吸収可能である。
【００９２】
地図データは、アドレス空間0x210000〜0x2FFFFBのうち上位のアドレス空間0x210000〜(0x210002+Y2)に記憶されている。地図データは、ヘッダ部分の２バイトのバージョン情報と、それ以降のY2 Bytesの本体とで構成される。ここで、バージョン情報は、0x04,0x00である。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。ＣＰＵ２１は、このバージョン情報の値により地図データのバージョンを特定する。
【００９３】
地図データの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x210003+Y2)〜0x2FFFFBに記憶されている。リザーブ領域は全て0xFFである。リザーブ領域により、バージョン間のサイズの相違を吸収可能である。
つまり参照データテーブルと地図データとが記憶される特定アドレス空間は、アドレス空間0x200000〜0x2FFFFBである。
【００９４】
記憶領域１のフッタであるアドレス空間0x2FFFFC〜0x2FFFFFには、地図データの容量情報である(0x010002+Y2)が記憶される。アドレス空間0x1FFFFC〜0x1FFFFFは、記憶領域１のフッタであり、参照データテーブルや地図データを記憶する特定アドレス空間とは異なるアドレス空間である。
【００９５】
記憶領域０，１においてフッタが最後に書き込まれるため、書き換え途中で失敗してマイクロコンピュータ２にリセットが掛かった場合、フッタ部分の容量情報が0xFF,0xFF,0xFF,0xFFとなるため、書き換えの失敗を判断できる。消去途中で失敗してマイクロコンピュータ２にリセットが掛かった場合、ヘッダ部分のパージョン情報が0xFF,0xFFになるため、消去の失敗を判断できる。
【００９６】
図１０と図１１は、記憶領域の利用と未使用の決定処理を示すフローチャートである。
ＣＰＵ２１は、記憶領域０の参照データテーブルのバージョン情報を読み出し（ステップＳ７０）、バージョン情報が0xFF,0xFFであるか否かを判定する（ステップＳ７１）。ＣＰＵ２１は、バージョン情報が0xFF,0xFFでないならば（Ｎｏ）、ステップＳ７２の処理に進み、バージョン情報が0xFF,0xFFならば（Ｙｅｓ）、ステップＳ７６の処理に進む。
【００９７】
ステップＳ７２において、ＣＰＵ２１は、記憶領域０の地図データのバージョン情報を読み出し、読み出したバージョン情報が0xFF,0xFFであるか否かを判定する（ステップＳ７３）。ＣＰＵ２１は、バージョン情報が0xFF,0xFFでないならば、ステップＳ７４の処理に進み、バージョン情報が0xFF,0xFFならば（Ｙｅｓ）、ステップＳ７６の処理に進む。ここで、ステップＳ７６の処理に進む理由は、記憶領域０は書き換えに失敗していると判断できるためである。記憶領域１が有効であるか否かを判定しないことにより、消費電力を抑えることができる。
【００９８】
つまりＣＰＵ２１は、参照データテーブルのバージョン情報または地図データのバージョン情報のうちいずれかが0xFF,0xFFならば（Ｙｅｓ）、記憶領域０が未使用であると判定してステップＳ７６の処理に進む。またＣＰＵ２１は、両バージョン情報がいずれも0xFF,0xFFではなかったならば（Ｎｏ）、ステップＳ７４の処理に進む。
【００９９】
ステップＳ７６において、ＣＰＵ２１は、記憶領域０のフッタの地図容量情報を読み出し、ステップＳ７７の処理に進む。
【０１００】
ステップＳ７４において、ＣＰＵ２１は、記憶領域０のフッタ部分に記憶されていた地図容量情報を読み出し、0xFF,0xFF,0xFF,0xFFと比較する（ステップＳ７５）。ＣＰＵ２１は、地図容量情報が0xFF,0xFF,0xFF,0xFFと一致しなかったならば（Ｎｏ）、ステップＳ７７の処理に進む。またＣＰＵ２１は、地図容量情報が0xFF,0xFF,0xFF,0xFFと一致したならば（Ｙｅｓ）、図１１のステップＳ８２の処理に進む。
【０１０１】
なお、記憶領域０のどこかで書き換えが失敗した場合、地図容量情報は書き込まれなくなり、消去直後の状態0xFF,0xFF,0xFF,0xFFとなる。そのため、地図容量情報と0xFF,0xFF,0xFF,0xFFとを比較することにより、書き換えが失敗したか否かを判断できる。
【０１０２】
ステップＳ７７において、ＣＰＵ２１は、記憶領域１の参照データテーブルおよび地図データのバージョン情報を読み出す。ＣＰＵ２１は、記憶領域１のフッタの地図容量情報を読み出す（ステップＳ７８）。ＣＰＵ２１は、記憶領域１の地図データを使用することを確定すると共に、使用すべき地図データのバージョンを確定する（ステップＳ７９）。これによりＣＰＵ２１は、記憶領域１に地図データが正しく書き込まれていることを判定する。
ＣＰＵ２１は、例えばＲＡＭ２２上の使用先を示す変数に記憶領域１の識別子を代入し、ＲＡＭ２２上のバージョン変数に、使用すべき地図データのバージョンを代入するとよい。
【０１０３】
更にＣＰＵ２１は、記憶領域０の消去フラグをセットし（ステップＳ８０）、ＧＰＳ電源をオフすると（ステップＳ８１）、図２の処理に戻る。消去フラグは、例えばＲＡＭ２２に配置される。
【０１０４】
図１１のステップＳ８２において、ＣＰＵ２１は、記憶領域１の参照データテーブルのバージョン情報を読み出し、バージョン情報が0xFF,0xFFであるか否かを判定する（ステップＳ８３）。ＣＰＵ２１は、バージョン情報が0xFF,0xFFでないならば（Ｎｏ）、ステップＳ８４の処理に進み、バージョン情報が0xFF,0xFFならば（Ｙｅｓ）、ステップＳ８９の処理に進む。
【０１０５】
ステップＳ８４において、ＣＰＵ２１は、記憶領域１の地図データのバージョン情報を読み出し、読み出したバージョン情報が0xFF,0xFFであるか否かを判定する（ステップＳ８５）。ＣＰＵ２１は、バージョン情報が0xFF,0xFFでないならば、ステップＳ８６の処理に進み、バージョン情報が0xFF,0xFFならば（Ｙｅｓ）、ステップＳ８９の処理に進む。
【０１０６】
つまりＣＰＵ２１は、参照データテーブルのバージョン情報または地図データのバージョン情報のうちいずれかが0xFF,0xFFならば（Ｙｅｓ）、記憶領域１が未使用であると判定してステップＳ８９の処理に進む。またＣＰＵ２１は、両バージョン情報がいずれも0xFF,0xFFではなかったならば（Ｎｏ）、ステップＳ８６の処理に進む。
【０１０７】
ステップＳ８９において、ＣＰＵ２１は、記憶領域１のフッタ部分に記憶されていた地図容量情報を読み出し、ステップＳ９０の処理に進む。
【０１０８】
ステップＳ８６において、ＣＰＵ２１は、記憶領域１のフッタ部分に記憶されていた地図容量情報を読み出し、0xFF,0xFF,0xFF,0xFFと比較する（ステップＳ８７）。ＣＰＵ２１は、地図容量情報が0xFF,0xFF,0xFF,0xFFと一致しなかったならば（Ｎｏ）、ステップＳ９０の処理に進む。またＣＰＵ２１は、地図容量情報が0xFF,0xFF,0xFF,0xFFと一致したならば（Ｙｅｓ）、ステップＳ８８の処理に進む。このとき、記憶領域０と記憶領域１の両方に正しくデータが記憶されている。そのため、２つの記憶領域のバージョンを比較して、新しいバージョンが記憶されている方を使用する。
【０１０９】
ステップＳ８８において、ＣＰＵ２１は、記憶領域０のバージョン情報と記憶領域１のバージョン情報とを比較し、記憶領域１のバージョン情報が最新であるか否かを判定する。ＣＰＵ２１は、記憶領域１のバージョン情報が最新ならば（Ｙｅｓ）、図１０のステップＳ７７の処理に進み、記憶領域１のバージョン情報が最新でないならば（Ｎｏ）、ステップＳ９０の処理に進む。
【０１１０】
ステップＳ９０において、ＣＰＵ２１は、記憶領域０の地図データを使用することを確定し、かつ使用すべき地図データのバージョンを確定する。これによりＣＰＵ２１は、記憶領域０に地図データが正しく書き込まれていることを判定する。
ＣＰＵ２１は、例えばＲＡＭ２２上の使用先を示す変数に記憶領域０の識別子を代入し、ＲＡＭ２２上のバージョン変数に、使用すべき地図データのバージョンを代入するとよい。
【０１１１】
更にＣＰＵ２１は、記憶領域１の消去フラグをセットし（ステップＳ９１）、ＧＰＳ電源をオフすると（ステップＳ９２）、この処理から図２の処理に戻る。
【０１１２】
図１２は、未使用領域の消去処理を示すフローチャートである。
ＧＰＳフラッシュの未使用領域消去処理は、図２のステップＳ１９で呼び出される。
【０１１３】
ＣＰＵ２１は、記憶領域０の消去フラグがセットされていれば（ステップＳ１００→Ｙｅｓ）、記憶領域０のフッタに記憶された地図容量を読み取り（ステップＳ１０１）、消去すべきブロックサイズを算出する。ここで消去すべきブロックサイズは、参照データテーブルのブロックサイズと、地図容量を１ブロックの容量で除算した値との和である。ＣＰＵ２１は、記憶領域０の先頭から所定ブロックを消去し（ステップＳ１０２）、記憶領域０のフッタのブロックを消去し（ステップＳ１０３）、この消去フラグをクリアする（ステップＳ１０４）。ＣＰＵ２１は、記憶領域０の消去フラグがセットされていなければ（ステップＳ１００→Ｎｏ）、ステップＳ１０５の処理に進む。
【０１１４】
ＣＰＵ２１は、記憶領域１の消去フラグがセットされていれば（ステップＳ１０５→Ｙｅｓ）、記憶領域１のフッタに記憶された地図容量を読み取り（ステップＳ１０６）、消去すべきブロックサイズを算出する。ここで消去すべきブロックサイズは、参照データテーブルのブロックサイズと、地図容量を１ブロックの容量（4Kbytes）で除算した値との和である。ＣＰＵ２１は、記憶領域１の先頭から所定ブロックを消去し（ステップＳ１０７）、記憶領域１のフッタのブロックを消去し（ステップＳ１０８）、この消去フラグをクリアする（ステップＳ１０９）。これによりＣＰＵ２１は、図１２の処理を終了する。
【０１１５】
ＣＰＵ２１は、記憶領域１の消去フラグがセットされていなければ（ステップＳ１０５→Ｎｏ）、図１２の処理を終了する。
ＣＰＵ２１がＧＰＳフラッシュの未使用領域消去処理を実行することで、記憶領域０，１のうちいずれかが消去され、新たなデータやファームウェアで書き換え可能な状態となる。
【０１１６】
図１３は、消去済みの領域の書き換え処理を示すフローチャートである。
この書き換え処理は、例えばユーザによる書き換え指示の操作によって実行される。
【０１１７】
ＣＰＵ２１は、記憶領域１を使用しているか否かを判定し（ステップＳ１２０）、更に記憶領域０の消去フラグがクリアされているか否かを判定する（ステップＳ１２１）。
ＣＰＵ２１は、記憶領域１が使用されており（ステップＳ１２０→Ｙｅｓ）、かつ記憶領域０の消去フラグがクリアされていたならば（ステップＳ１２１→Ｙｅｓ）、記憶領域０に参照データテーブルと地図データを書き込む（ステップＳ１２２）。ここでＣＰＵ２１は、ステップＳ１２２を実行することにより、記憶領域０の特定アドレス空間にデータを書き込む第１書込手段として機能する。
ＣＰＵ２１は更に、記憶領域０のフッタに地図容量情報を書き込み（ステップＳ１２３）、ステップＳ１２４の処理に進む。ここでＣＰＵ２１は、ステップＳ１２３を実行することにより、記憶領域０の特定アドレス空間とは異なるアドレス空間にデータの容量を示す容量情報を書き込む第２書込手段として機能する。
【０１１８】
ＣＰＵ２１は、記憶領域１が使用されていないか（ステップＳ１２０→Ｎｏ）、または記憶領域０の消去フラグがクリアされていなかったならば（ステップＳ１２１→Ｎｏ）、ステップＳ１２４の処理に進む。
【０１１９】
ステップＳ１２４においてＣＰＵ２１は、記憶領域０を使用しているか否かを判定し、更に記憶領域１の消去フラグがクリアされているか否かを判定する（ステップＳ１２５）。
ＣＰＵ２１は、記憶領域０が使用されており（ステップＳ１２４→Ｙｅｓ）、かつ記憶領域１の消去フラグがクリアされていたならば（ステップＳ１２５→Ｙｅｓ）、記憶領域１に参照データテーブルと地図データを書き込む（ステップＳ１２６）。ここでＣＰＵ２１は、ステップＳ１２６を実行することにより、記憶領域１の特定アドレス空間にデータを書き込む第１書込手段として機能する。
ＣＰＵ２１は更に、記憶領域１のフッタに地図容量情報を書き込み（ステップＳ１２７）、図１３の処理を終了する。ここでＣＰＵ２１は、ステップＳ１２７を実行することにより、記憶領域１の特定アドレス空間とは異なるアドレス空間にデータの容量を示す容量情報を書き込む第２書込手段として機能する。
【０１２０】
ＣＰＵ２１は、記憶領域０が使用されていないか（ステップＳ１２４→Ｎｏ）、または記憶領域１の消去フラグがクリアされていなかったならば（ステップＳ１２５→Ｎｏ）、図１３の処理を終了する。
【０１２１】
《第２の実施形態の効果》
記憶領域のフッタに0xFF,0xFF,…以外のデータを記憶し、フッタ部分に0xFF,0xFF,…以外のデータが記憶されているか確認することにより、書き換えが成功したか否かを判断できる。
【０１２２】
《第３の実施形態》
第３の実施形態の電子時計１は、各記憶領域のフッタ部分に電源電圧情報を保存している。
ＣＰＵ２１がフラッシュメモリの書き換えに失敗する主たる理由は、電池３４の容量低下に伴い、電源電圧が降下して、ＣＰＵ２１が動作できなくなることである。よって、フラッシュメモリを書き換える際の電源電圧情報を記憶しておくことで、フラッシュメモリの書き換え失敗の要因を解析することができる。
【０１２３】
図１４は、第３の実施形態における記憶領域０，１の構成を示す図である。
記憶領域０には、参照データテーブルと地図データとが記憶されている。
【０１２４】
参照データテーブルは、アドレス空間0x100000〜0x10FFFFのうち上位のアドレス空間0x100000〜(0x100002+X1)に記憶されている。参照データテーブルは、ヘッダ部分の２バイトのバージョン情報と、それ以降のX1 Bytesの本体とで構成される。ここで、バージョン情報には、0x01,0x00の値が付与されている。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。
【０１２５】
参照データテーブルの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x100003+X1)〜0x10FFFFに記憶されている。リザーブ領域は全て0xFFである。このリザーブ領域により、バージョン間のサイズの相違を吸収可能である。
【０１２６】
地図データは、アドレス空間0x110000〜0x1FFFF9のうち上位のアドレス空間0x110000〜(0x110002+Y1)に記憶されている。地図データは、ヘッダ部分の２バイトのバージョン情報と、それ以降のY1 Bytesの本体とで構成される。ここで、バージョン情報には、0x03,0x00の値が付与されている。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。
【０１２７】
地図データの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x110003+Y1)〜0x1FFFF9に記憶されている。リザーブ領域は全て0xFFである。リザーブ領域により、バージョン間のサイズの相違を吸収可能である。
つまり参照データテーブルと地図データとが記憶される特定アドレス空間は、アドレス空間0x100000〜0x1FFFF9である。
記憶領域０のアドレス空間0x1FFFFA〜0x1FFFFBには、書込前の電源電圧情報が記憶される。アドレス空間0x1FFFFC〜0x1FFFFDには、参照データテーブルのバージョン情報が記憶される。記憶領域０のアドレス空間0x1FFFFE〜0x1FFFFFには、地図データのバージョン情報が記憶される。これらアドレス空間0x1FFFFA〜0x1FFFFFは、記憶領域０のフッタであり、参照データテーブルや地図データを記憶する特定アドレス空間とは異なるアドレス空間である。
【０１２８】
記憶領域１には、記憶領域０と同様に参照データテーブルと地図データとが記憶されている。
参照データテーブルは、アドレス空間0x200000〜0x20FFFFのうち上位のアドレス空間0x200000〜(0x200002+X2)に記憶されている。参照データテーブルは、ヘッダ部分の２バイトのバージョン情報と、それ以降のX2 Bytesの本体とで構成される。ここで、バージョン情報は、0x02,0x00である。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。ＣＰＵ２１は、このバージョン情報の値により参照データテーブルのバージョンを特定する。
【０１２９】
参照データテーブルの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x200003+X1)〜0x20FFFFに記憶されている。リザーブ領域は全て0xFFである。このリザーブ領域により、バージョン間のサイズの相違を吸収可能である。
【０１３０】
地図データは、アドレス空間0x210000〜0x2FFFF9のうち上位のアドレス空間0x210000〜(0x210002+Y2)に記憶されている。地図データは、ヘッダ部分の２バイトのバージョン情報と、それ以降のY2 Bytesの本体とで構成される。ここで、バージョン情報は、0x04,0x00である。バージョン情報は、消去済みであるか否かを判定するため、0xFF,0xFF以外の値が付与されている。ＣＰＵ２１は、このバージョン情報の値により地図データのバージョンを特定する。
【０１３１】
地図データの本体以降は、リザーブ領域（Reserved）であり、アドレス空間 (0x210003+Y2)〜0x2FFFF9に記憶されている。リザーブ領域は全て0xFFである。リザーブ領域により、バージョン間のサイズの相違を吸収可能である。
つまり参照データテーブルと地図データとが記憶される特定アドレス空間は、アドレス空間0x200000〜0x2FFFF9である。
【０１３２】
記憶領域１のアドレス空間0x2FFFFA〜0x2FFFFBには、書込前の電源電圧情報が記憶される。アドレス空間0x2FFFFC〜0x2FFFFDには、参照データテーブルのバージョン情報が記憶される。記憶領域１のアドレス空間0x2FFFFE〜0x2FFFFFには、地図データのバージョン情報が記憶される。これらアドレス空間0x2FFFFA〜0x2FFFFFは、記憶領域１のフッタであり、参照データテーブルや地図データを記憶する特定アドレス空間とは異なるアドレス空間である。
【０１３３】
図１５は、消去済みの領域の書き換え処理を示すフローチャートである。
この書き換え処理は、例えばユーザによる書き換え指示の操作によって実行される。
【０１３４】
ＣＰＵ２１は、記憶領域１を使用しているか否かを判定し（ステップＳ１３０）、更に記憶領域０の消去フラグがクリアされているか否かを判定する（ステップＳ１３１）。
ＣＰＵ２１は、記憶領域１が使用されており（ステップＳ１３０→Ｙｅｓ）、かつ記憶領域０の消去フラグがクリアされていたならば（ステップＳ１３１→Ｙｅｓ）、記憶領域０のフッタに電圧センサ２１１で検知した電源電圧情報を書き込む（ステップＳ１３２）。ＣＰＵ２１は更に、記憶領域０に参照データテーブルと地図データを書き込み（ステップＳ１３３）、フッタにバージョン情報を追記し（ステップＳ１３４）、ステップＳ１３５の処理に進む。
【０１３５】
ＣＰＵ２１は、記憶領域１が使用されていないか（ステップＳ１３０→Ｎｏ）、または記憶領域０の消去フラグがクリアされていなかったならば（ステップＳ１３１→Ｎｏ）、ステップＳ１３５の処理に進む。
【０１３６】
ステップＳ１３５において、ＣＰＵ２１は、記憶領域０を使用しているか否かを判定し、更に記憶領域１の消去フラグがクリアされているか否かを判定する（ステップＳ１３６）。
ＣＰＵ２１は、記憶領域０が使用されており（ステップＳ１３５→Ｙｅｓ）、かつ記憶領域１の消去フラグがクリアされていたならば（ステップＳ１３６→Ｙｅｓ）、記憶領域１のフッタに電圧センサ２１１で検知した電源電圧情報を書き込む（ステップＳ１３７）。ＣＰＵ２１は更に、記憶領域１に参照データテーブルと地図データを書き込み（ステップＳ１３８）、フッタにバージョン情報を追記し（ステップＳ１３９）、図１５の処理を終了する。
【０１３７】
ＣＰＵ２１は、記憶領域０が使用されていないか（ステップＳ１３５→Ｎｏ）、または記憶領域１の消去フラグがクリアされていなかったならば（ステップＳ１３６→Ｎｏ）、図１５の処理を終了する。
【０１３８】
（変形例）
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能であり、例えば、次の（ａ）〜（ｈ）のようなものがある。
【０１３９】
（ａ）  記憶領域に書き込まれる情報は、参照データテーブルや地図データに限定されず、ＧＰＳ部５のＣＰＵ５２が読み込んで参照するためのデータや、ＧＰＳ部５のＣＰＵ５２が読み込んで実行するためのファームウェア（プログラム）であってもよい。
【０１４０】
（ｂ）  記憶領域のフッタに記憶される情報は、バージョン情報のコピーに限定されない。例えばデータ本体のチェックサム値やＣＲＣ（Cyclic Redundancy Check）値など、データ本体を識別可能な他の情報が記憶されてもよい。
（ｃ）  バージョン情報は、必ずしも記憶領域の先頭に記憶されていなくてもよく、最初の書き込み動作で書き込まれるメモリ空間に記憶されていればよい。例えば、記憶領域のうち所定のオフセット（0x000080など）で示されるアドレス空間に記憶されていてもよい。
【０１４１】
（ｄ）  記憶領域にデータやソフトウェアプログラムを書き込んだのち、記憶領域のフッタに書き込み日時や、データやソフトウェアプログラムの入手先などのアップデートに係る情報を書き込んでもよい。これにより、不具合が発生した場合に、アップデートに係る情報を特定可能である。
（ｅ）  記憶領域のフッタのサイズは、フラッシュメモリの消去単位以下であればよく、限定されない。
（ｆ）  フラッシュメモリに書き込まれる情報は、ＣＰＵ５２が参照するデータやＣＰＵ５２が実行するファームウェア（プログラム）に限定されない。ＣＰＵ２１が参照するデータやＣＰＵ２１が実行するファームウェア（プログラム）であってもよい。
（ｇ）  記憶領域の使用と未使用の決定処理を実行する主体は、ＣＰＵ２１に限られず、ＣＰＵ５２が実行してもよい。
（ｈ）  ＣＰＵ２１が読み込んで実行するためのプログラムまたはＣＰＵ２１が読み込んで参照するためのデータを、ＣＰＵ２１自身がフラッシュメモリに書き込んでもよい。
【０１４２】
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
【０１４３】
《請求項１》
プログラムまたはデータを記憶する記憶領域を有するメモリと、
前記記憶領域の特定アドレス空間に前記プログラムまたは前記データと当該プログラムまたは当該データを特定する特定情報とを書き込み、当該記憶領域の前記特定アドレス空間とは異なるアドレス空間に当該特定情報を書き込むプロセッサと、
を備えることを特徴とするデータ管理装置。
《請求項２》
前記メモリは、前記プログラムまたは前記データを記憶する記憶領域を複数含んでおり、
前記プロセッサは、各前記記憶領域の特定アドレス空間の前記プログラムまたは前記データに含まれる特定情報と各前記記憶領域の前記異なるアドレス空間に含まれる特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定すると共に、正しく書き込まれていない記憶領域を消去する、
ことを特徴とする請求項１に記載のデータ管理装置。
《請求項３》
前記メモリは、前記プログラムまたは前記データを記憶する記憶領域を複数含んでおり、
前記プロセッサは、各前記記憶領域の前記特定アドレス空間の前記プログラムまたは前記データに含まれる特定情報と各前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定すると共に、正しく書き込まれている記憶領域に記憶されたプログラムまたはデータを使用する、
ことを特徴とする請求項１又は２に記載のデータ管理装置。
《請求項４》
プログラムまたはデータを記憶する記憶領域を有するメモリと、
前記記憶領域の特定アドレス空間に新たなプログラムまたはデータを書き込み、当該プログラムまたは当該データの容量を示す容量情報を当該記憶領域の前記特定アドレス空間とは異なるアドレス空間に書き込むプロセッサと、
を備えることを特徴とするデータ管理装置。
《請求項５》
前記プロセッサは、前記記憶領域の前記異なるアドレス空間に記憶された前記容量情報に基づき、当該記憶領域を消去する、
ことを特徴とする請求項４に記載のデータ管理装置。
《請求項６》
第１のプロセッサと、
前記第１のプロセッサが読み込んで実行するためのプログラムまたは前記第１のプロセッサが読み込んで参照するためのデータを記憶する記憶領域を有するメモリと、
前記記憶領域の特定アドレス空間に前記プログラムまたは前記データを書き込み、当該プログラムまたは当該データを特定する特定情報を当該記憶領域の前記特定アドレス空間とは異なるアドレス空間に書き込む第２のプロセッサと、
を備えることを特徴とするデータ管理装置。
《請求項７》
前記メモリは、前記プログラムまたは前記データを記憶する記憶領域を複数含んでおり、
前記第２のプロセッサは、各前記記憶領域の前記特定アドレス空間の前記プログラムまたは前記データに含まれる特定情報と各前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定すると共に、正しく書き込まれている記憶領域に記憶されたプログラムまたはデータを前記第１のプロセッサに使用させる、
ことを特徴とする請求項６に記載のデータ管理装置。
《請求項８》
前記メモリは、前記プログラムまたは前記データを記憶する記憶領域を複数含んでおり、
前記第１のプロセッサは、各前記記憶領域の前記特定アドレス空間の前記プログラムまたは前記データに含まれる特定情報と各前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定すると共に、正しく書き込まれている記憶領域に記憶されたプログラムまたはデータを読み込む、
ことを特徴とする請求項６に記載のデータ管理装置。
《請求項９》
電源を供給する電池と、
前記電源の電圧を検知する電圧センサと、を備え、
前記第２のプロセッサは、前記プログラムまたは前記データを特定する特定情報と共に、前記電圧センサで検知した電源電圧情報を前記記憶領域の前記異なるアドレス空間に書き込む、
ことを特徴とする請求項６ないし８のうちいずれか１項に記載のデータ管理装置。
《請求項１０》
第１のプロセッサと、
前記第１のプロセッサが読み込んで実行するためのプログラムまたは前記第１のプロセッサが読み込んで参照するためのデータを記憶する記憶領域を有するメモリと、
前記記憶領域の特定アドレス空間に新たなプログラムまたはデータを書き込み、当該プログラムまたは当該データの容量を示す容量情報を当該記憶領域の前記特定アドレス空間とは異なるアドレス空間に書き込む第２のプロセッサと、
を備えることを特徴とするデータ管理装置。
《請求項１１》
前記第２のプロセッサは、前記記憶領域の前記異なるアドレス空間に記憶された前記容量情報に基づき、当該記憶領域を消去する、
ことを特徴とする請求項１０に記載のデータ管理装置。
《請求項１２》
請求項１ないし１１のうちいずれか１項に記載のデータ管理装置と、
時刻を計数する計時部と、
前記計時部が計数する前記時刻を表示する表示部と、
を備えることを特徴とする電子時計。
《請求項１３》
記憶領域の特定アドレス空間にデータまたはプログラムを特定する特定情報が記憶されると共に、前記記憶領域の前記特定アドレス空間とは異なるアドレス空間に前記特定情報と同一の特定情報が記憶されており、
前記記憶領域の前記特定アドレス空間の特定情報と前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定する、
ことを特徴とするデータ管理方法。
《請求項１４》
記憶領域の特定アドレス空間にデータまたはプログラムが記憶されると共に、前記記憶領域の前記特定アドレス空間とは異なるアドレス空間に前記データまたは前記プログラムの容量を示す容量情報が記憶されており、
前記記憶領域の前記異なるアドレス空間に記憶された前記容量情報に基づき、当該記憶領域を消去する、
ことを特徴とするデータ管理方法。
《請求項１５》
記憶領域の特定アドレス空間にデータまたはプログラムを書き込む第１書込手段、
前記記憶領域の前記特定アドレス空間とは異なるアドレス空間に、前記データまたは前記プログラムを特定する特定情報と同一の特定情報を書き込む第２書込手段、
前記記憶領域の前記特定アドレス空間の特定情報と前記記憶領域の前記異なるアドレス空間の特定情報とを照合して、前記データまたは前記プログラムが正しく書き込まれているか否かを判定する判定手段、
としてコンピュータを機能させるためのデータ管理プログラム。
《請求項１６》
記憶領域の特定アドレス空間にデータまたはプログラムを書き込む第１書込手段、
前記記憶領域の前記特定アドレス空間とは異なるアドレス空間に前記データまたは前記プログラムの容量を示す容量情報を書き込む第２書込手段、
前記記憶領域の前記異なるアドレス空間に記憶された前記容量情報に基づき、当該記憶領域を消去する消去手段、
としてコンピュータを機能させるためのデータ管理プログラム。
【符号の説明】
【０１４４】
１  電子時計  （データ管理装置）
２  マイクロコンピュータ
２１  ＣＰＵ  （第２のプロセッサ）
２２  ＲＡＭ
２３  ＲＯＭ
２５  発振回路
２６  分周回路
２７  計時回路
３１  操作部
３２  表示部
３３  電源部
３４  電池
４  通信部
４１  アンテナ
５  ＧＰＳ部
５１  アンテナ
５２  ＣＰＵ  （第１のプロセッサ）
５３  ＲＡＭ
６  フラッシュメモリ
６１  領域０
６２  領域１
７  振動子
【図１】
2019046206.tif 000003
【図２】
2019046206.tif 000004
【図３】
2019046206.tif 000005
【図４】
2019046206.tif 000006
【図５】
2019046206.tif 000007
【図６】
2019046206.tif 000008
【図７】
2019046206.tif 000009
【図８】
2019046206.tif 000010
【図９】
2019046206.tif 000011
【図１０】
2019046206.tif 000012
【図１１】
2019046206.tif 000013
【図１２】
2019046206.tif 000014
【図１３】
2019046206.tif 000015
【図１４】
2019046206.tif 000016
【図１５】
2019046206.tif 000017