(57)【要約】【課題】書き換え可能な記憶素子に格納されるプログラムやデータの更新時において、更新するデータの誤り検出の誤判定を回避するデータ更新方法を提供する。【解決手段】記憶素子が保持する第１のデータを第２のデータへ書き換える際に更新データを用いて書き換えを行うデータの更新方法であって、更新データは、前記第１のデータの計算領域情報と計算値とを有し、前記更新データが有する前記計算領域情報に基づいて前記第１のデータから算出した値と、前記更新データが有する計算値とを比較し、比較結果に応じて、前記更新データを用いて前記第２のデータへ書き換えることを特徴とするデータ更新方法。【選択図】図４
2007299222.tif 000002
【特許請求の範囲】
【請求項１】
記憶素子が保持する第１のデータを第２のデータへ書き換える際に更新データを用いて書き換えを行うデータの更新方法であって、
更新データは、前記第１のデータの計算領域情報と計算値とを有し、
前記更新データが有する前記計算領域情報に基づいて前記第１のデータから算出した値と、
前記更新データが有する計算値とを比較し、比較結果に応じて、
前記更新データを用いて前記第２のデータへ書き換えることを特徴とするデータ更新方法。
【請求項２】
前記更新データに含まれる第１のデータの計算領域は、前記第１のデータの書き換え領域の一部又は全部であり、該更新データ毎に指定することを特徴とする請求項１に記載のデータ更新方法。
【請求項３】
前記記憶素子が保持する第１のデータから前記更新データに含まれる第１のデータの計算領域の情報に従って算出した計算値が、チェックサム或いはＣＲＣ方式によって算出されることを特徴とする請求項１又は２に記載のデータ更新方法。
【請求項４】
前記更新データに含まれる第１のデータの計算領域の情報が、該計算領域の開始アドレスと該計算領域のサイズ、或いは該計算領域の開始アドレスと計算領域の終了アドレスであることを特徴とする請求項１乃至３のいずれかに記載のデータ更新方法。
【請求項５】
前記第１のデータの書き換えに使用する該第１のデータの計算値及び該第１のデータの計算領域の情報によって構成されるエントリが、前記更新データに複数格納されることを特徴とする請求項１乃至４のいずれかに記載のデータ更新方法。
【請求項６】
前記記憶素子が不揮発性記憶素子であることを特徴とする請求項１乃至５のいずれかに記載のデータ更新方法。
【請求項７】
請求項１乃至６のいずれかに記載のデータ更新方法によってデータ更新される情報端末装置であって、
前記更新データを入力する入力手段と、
前記第１のデータを格納する記憶手段と、
前記更新データが有する前記計算領域情報に基づいて前記第１のデータから算出した値と、前記更新データが有する計算値とを比較し、比較結果に応じて、前記更新データを用いて第２のデータへ書き換えることを制御する制御手段を備えた情報端末装置。
【請求項８】
記憶素子が保持する第１のデータを第２のデータへ書き換える際に更新データを用いて書き換えを行うデータの更新プログラムであって、
更新データは、前記第１のデータの計算領域情報と計算値とを有し、
前記更新データが有する前記計算領域情報に基づいて前記第１のデータから算出した値と、
前記更新データが有する計算値とを比較し、比較結果に応じて、
前記更新データを用いて前記第２のデータへ書き換えることを特徴とするデータ更新プログラム。
【請求項９】
前記更新データに含まれる第１のデータの計算領域は、前記第１のデータの書き換え領域の一部又は全部であり、該更新データ毎に指定することを特徴とする請求項８に記載のデータ更新プログラム。
【請求項１０】
前記記憶素子が保持する第１のデータから前記更新データに含まれる第１のデータの計算領域の情報に従って算出した計算値が、チェックサム或いはＣＲＣ方式によって算出されることを特徴とする請求項８又は９に記載のデータ更新プログラム。
【請求項１１】
前記更新データに含まれる第１のデータの計算領域の情報が、該計算領域の開始アドレスと該計算領域のサイズ、或いは該計算領域の開始アドレスと計算領域の終了アドレスであることを特徴とする請求項８乃至１０のいずれかに記載のデータ更新プログラム。
【請求項１２】
前記第１のデータの書き換えに使用する該第１のデータの計算値及び該第１のデータの計算領域の情報によって構成されるエントリが、前記更新データに複数格納されることを特徴とする請求項８乃至１１のいずれかに記載のデータ更新プログラム。
【請求項１３】
前記記憶素子が不揮発性記憶素子であることを特徴とする請求項８乃至１２のいずれかに記載のデータ更新方法。
【請求項１４】
請求項８乃至１２のいずれかに記載のデータ更新プログラムによってデータ更新される情報端末装置であって、
前記更新データを入力する入力手段と、
前記第１のデータを格納する記憶手段と、
前記更新データが有する前記計算領域情報に基づいて前記第１のデータから算出した値と、前記更新データが有する計算値とを比較し、比較結果に応じて、前記更新データを用いて第２のデータへ書き換えることを制御する制御手段を備えた情報端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書き換え可能な記憶素子に格納されるプログラムやデータを更新する方法、更新プログラム、及びそれらを用いた情報端末装置に関する。
【背景技術】
【０００２】
従来、電子機器等に使用されるほとんどの組み込みシステムには、動作用のプログラムや各種データ（以後、データと示す）が記憶素子に格納されている。最近は、そのデータをフラッシュメモリ等書き換え可能なデバイス上に格納している。そのデータを更新することで、不具合の修正や機能追加及び機能変更をすることが日常的に行われている。
【０００３】
組み込みシステム内のフラッシュメモリに格納されているデータを更新する場合、外部から更新データを組み込みシステム内に読み込み、フラッシュメモリに格納されているデータを更新する。その時、更新されるデータと更新データの適応可否判定や更新データの書き込み成否判定に、チェックサムが利用されている。
【０００４】
チェックサムとは、データの誤り検出方法の一つである。チェックサムは、更新するデータを分割し、各ブロックのデータを数値化して合計したものである。予め計算されたチェックサムを含む更新データが送信され、更新されるデータから算出されたチェックサムの計算結果と比較される。その結果に応じて更新データの整合性が検査される。チェックサムの演算は、先頭から順番にデータの値を加算するだけでよいというシンプルなものであるため、その演算専用にハードウェアを用意する必要がない。従って、データの照合やエラー検出方法として広く使用されている。
【０００５】
チェックサムと同様の誤り検出方法として、ＣＲＣ（Cyclic Redundancy Check）という方法がある。ＣＲＣは、ハードウェア演算に適した方法である。チェックサムでは、２以上のデータが同時に変化すると、それらによって相殺されて正常状態と見なされる場合がある。しかし、ＣＲＣでは、チェックサムのような単純な合計でなく、ＣＲＣ生成多項式と呼ばれるシフトや加算等を組み合わせた方式で計算する。従って、ＣＲＣは、チェックサムに比べて誤検出の確率が少なくなる。ＣＲＣは、単純な加算のみではないため、ソフトウェアで行うと負荷がチェックサムより大きくなる。しかし、ハードウェアで実装すると比較的簡単なため、ディスクコントローラや通信用ＬＳＩ等のハードウェアではＣＲＣ方式がよく使用されている。
【０００６】
従来のデータ更新に関する技術が、特許文献１及び特許文献２に開示されている。特許文献１及び特許文献２では、フラッシュメモリに格納されているデータを更新する方法等について記載されている。特許文献１では、更新データをフラッシュメモリへ書き込む前に、チェックサムによってエラー検出を実行する。その結果、エラーのない場合のみフラッシュメモリに書き込むという技術である。また、特許文献２では、更新される領域のサイズ情報を更新データと共に送信し、更新された領域ではサイズ情報に対応するデータ領域についてチェックサム計算を実行する。その結果、不要な領域や空き領域のデータまで加算してチェックサムエラーとなることを防ぐ技術である。
【特許文献１】特開２０００−１２２８８４号公報
【特許文献２】特開２００５−０８５１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、発明者は従来技術には以下の課題があることを見出した。チェックサムの演算は、更新データに保持される情報に従い、更新される領域の各ブロックの先頭からデータを単に加算する。その後、更新データに予め格納されたチェックサムと、新たに計算されたチェックサムとを比較する。従来技術では、チェックサムは常にデータが更新される一定領域について単純に計算される。即ち、チェックサムを計算する領域が記憶素子の格納領域全体、又は更新データを格納する領域に固定されている。その結果、本来更新する予定のデータと異なるデータが送信された場合でも、各々のチェックサム計算領域が同じであるため、チェックサムのビット数に比例する確率でチェックサムが一致する。従って、本来更新すべきでないデータを更新してしまう等の誤判定が発生する可能性がある。
【０００８】
例えば、１６ビットのチェックサムの場合、データを２バイト（１６ビット）単位に加算する。加算した結果、下位ビットの数値が演算結果となる。つまり、下位２バイトの演算値は、０から６５５３５までの値となる。統計学的に１／６５５３６の確率で不正なデータでも正常であると誤判定する可能性を回避できないという問題が生じる。この問題は、ＣＲＣに関しても同様に存在する。
【課題を解決するための手段】
【０００９】
本発明は、記憶素子が保持する第１のデータを第２のデータへ書き換える際に更新データを用いて書き換えを行うデータの更新方法であって、更新データは、前記第１のデータの計算領域情報と計算値とを有し、前記更新データが有する前記計算領域情報に基づいて前記第１のデータから算出した値と、前記更新データが有する計算値とを比較し、比較結果に応じて、前記更新データを用いて前記第２のデータへ書き換えることを特徴とするデータ更新方法である。
【００１０】
また、記憶素子が保持する第１のデータを第２のデータへ書き換える際に更新データを用いて書き換えを行うデータの更新プログラムであって、更新データは、前記第１のデータの計算領域情報と計算値とを有し、前記更新データが有する前記計算領域情報に基づいて前記第１のデータから算出した値と、前記更新データが有する計算値とを比較し、比較結果に応じて、前記更新データを用いて前記第２のデータへ書き換えることを特徴とするデータ更新プログラムである。
【００１１】
このように、更新データの格納領域とは異なる計算領域を設けることにより、更新データの適合性をチェックする領域がデータ毎に指定できるようになる。従って、本来更新する予定のデータと異なるデータが送信された場合でも、チェックサムのビット数に比例する確率でチェックサムが一致して誤判定することなく、データを更新することができる。
【発明の効果】
【００１２】
以上のような構成により、書き換え可能な記憶素子に格納されるプログラムやデータの更新時において、更新するデータの誤り検出の誤判定を回避するデータ更新方法を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明の好ましい実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、説明の明確化のため、必要に応じて重複説明は省略されている。
【００１４】
発明の実施の形態１．
図面を参照し、本実施形態について説明する。図１は、本実施形態に係るブロック図であり、ここでは携帯電話を例として以下に説明する。なお、携帯電話１００は、本実施形態を説明するための一例であり、本発明は、ノートパソコン、電子手帳等その他の情報端末装置等に用いることも勿論可能である。携帯電話１００は、アンテナ１１０、ＲＦ／ＩＦベースバンド部１２０、通信用ＣＰＵ１３０、通信用メモリ１４０、マイク／スピーカ１５０、アプリ用ＣＰＵ１６０、アプリ用メモリ１７０、表示素子１６１、電源１６２、映像素子１６３、及び図示しないこれら主要部品の接続部材やケース等の保護部材等を有している。通信用メモリ１４０には、通信用汎用メモリ１４１及び通信用フラッシュメモリ１４２を有している。アプリ用メモリ１７０には、アプリ用汎用メモリ１７１及びアプリ用フラッシュメモリ１７２を有している。
【００１５】
アンテナ１１０から送受信される信号は、ＲＦ／ＩＦベースバンド部１２０によってデジタル信号の変調／復調が行われる。ＲＦ／ＩＦベースバンド部１２０は、送受信回路を備えた送受信モジュールと、データ変調／復調部を備えたベースバンド部を有している。使用者は、ＲＦ／ＩＦベースバンド部１２０で変調／復調された音声情報を、マイク／スピーカ１５０によって通信する。通信用ＣＰＵ１３０は、携帯電話１００の通信動作に係る制御を行う。通信用メモリ１４０は、通信に係る情報を格納する記憶素子であり、通信用汎用メモリ１４１及び通信用フラッシュメモリ１４２を有す。以上の構成は、本実施形態に係るデータの入出力手段であり、携帯電話１００と外部機器との間でデータの送受信が実行される。但し、上記構成は、データ入出力手段としての一例を示すものである。例えば、ＲＦ／ＩＦベースバンド部１２０は送受信モジュールとベースバンド部を有しているが、分割が可能である。即ち、携帯電話１００と外部機器との間でデータ送受信が可能であれば、別の構成も可能である。
【００１６】
アプリ用ＣＰＵ１６０では、携帯電話で実行するアプリケーション動作に係る制御を行う。また、各種アプリケーションのプログラムやデータの入出力に係る動作等を制御する。本実施形態に係るデータ書き換え処理の動作は、アプリ用ＣＰＵ１６０にて制御される。データ書き換え処理の動作については後に詳述する。アプリ用メモリ１７０は、アプリケーションに係る情報を格納する記憶素子である。従って、アプリ用メモリ１７０には、各種アプリケーションのプログラムやデータ等が記憶される。アプリ用メモリ１７０は、アプリ用汎用メモリ１７１及びアプリ用フラッシュメモリ１７２を有している。各種アプリケーションのプログラムやデータ等は、不揮発性メモリであるアプリ用フラッシュメモリ１７２に格納されている。なお、各種アプリケーションのプログラムやデータを格納する記憶素子は、不揮発性の記憶素子であればフラッシュメモリに限らず、ＥＰＲＯＭやＥＥＰＲＯＭ等その他の記憶素子を使用することが可能である。
【００１７】
表示素子１６１は、携帯電話１００の機能や通信情報等を表示するディスプレイである。映像素子１６３は、携帯電話１００のアプリケーションの一つである撮像機能を使用するため、画像を撮像するカメラモジュール等である。
【００１８】
本実施形態は、フラッシュメモリ等の書き換え可能な記憶素子に格納されたデータを更新する前に、更新データが記憶素子に格納されているデータに適合したものか否かを判断する。本実施形態では、その判断にチェックサムを用いた例を示すが、ＣＲＣ方式やその他の計算方法を用いることも可能である。以下において、更新データとは、記憶素子に格納されているデータを更新するために、送信されるデータのことを示す。
【００１９】
図２を用いて、本実施形態に係るデータ更新の流れについて説明する。図２は、チェックサムを用いてアプリ用フラッシュメモリ１７２に格納されているデータを更新する手順を示している。図２において、携帯電話１００のアプリ用フラッシュメモリ１７２には、データ更新の段階によって、更新前データ２０１、修正データ２０２、及び再修正データ２０３が示される。また、携帯電話１００に送信される更新データとして更新データ２０４及び再更新データ２０５が示される。
【００２０】
工場出荷時において、アプリ用フラッシュメモリ１７２には、更新前データ２０１が格納される。即ち、更新前データ２０１は更新前の初期データである。例えば、更新前データ２０１の状態で運用中に不具合が見つかった場合、更新データ２０４を携帯電話１００に送信し、アプリ用フラッシュメモリ１７２の内容を修正データ２０２に更新する。なお、更新データ２０４には、修正データ２０２と更新前データ２０１の差分を含んだデータが書き込まれている。
【００２１】
ここで、運用中とは、工場における出荷検査の段階、及び工場出荷後の使用段階の両方を示している。工場からの出荷検査時に不具合が見つかった場合、制御用電波やメンテナンスケーブルによって更新データ２０４を携帯電話１００に送信する。工場出荷後の使用段階において不具合が見つかった場合、一般の電波を介して更新データ２０４を携帯電話１００に送信する。
【００２２】
更に、修正データ２０２の状態で運用中に不具合が見つかった場合、再更新データ２０５を携帯電話１００に送信し、アプリ用フラッシュメモリ１７２の内容を再修正データ２０３に再更新する。なお、再更新データ２０５には、再修正データ２０３と修正データ２０２の差分を含んだデータが書き込まれている。
【００２３】
携帯電話１００に送信された更新データ２０４は、始めにアプリ用汎用メモリ１７１に格納される。ここで、チェックサムを用いて、格納された更新データ２０４がアプリ用フラッシュメモリ１７２に格納されている更新前データ２０１に適合したものかどうか確認する。適合したものであることを確認した場合、アプリ用フラッシュメモリ１７２に格納されている更新前データ２０１を修正データ２０２へ更新する。
【００２４】
図３を用いて、本実施形態に係る更新データのフォーマットについて説明する。更新用データフォーマット３００は、図２の更新データ２０４及び再更新データ２０５に示された本実施形態に係る更新データのフォーマットを示すものである。更新用データフォーマット３００は、計算開始アドレス３０１、計算サイズ３０２、計算値３０３、格納開始アドレス３０４、データサイズ３０５、及び更新データ本体３０６を有している。
【００２５】
更新用データフォーマット３００は、更新に必要な情報と、更新データ本体３０６から成り立っている。更新に必要な情報は、計算開始アドレス３０１、計算サイズ３０２、計算値３０３、格納開始アドレス３０４、及びデータサイズ３０５である。計算開始アドレス３０１、計算サイズ３０２、及び計算値３０３は、更新データが記憶素子（アプリ用フラッシュメモリ）に格納されているデータに適合したものか否かをチェックサムによって判断するために使用する情報である。
【００２６】
計算開始アドレス３０１は、チェックサムの計算が開始される領域の開始アドレスが格納されている。計算サイズ３０２には、チェックサムを計算する領域のサイズが格納されている。即ち、計算開始アドレス３０１と計算サイズ３０２は、記憶素子に格納されているデータの書き換えに関して、チェックサム等によって計算される計算領域の情報を有している。計算値３０３には、携帯電話１００に送信される前に算出した、記憶素子に格納されているデータの計算領域に関するチェックサムの計算値が格納されている。格納開始アドレス３０４には、更新データ本体３０６が格納される開始アドレス情報が格納されている。データサイズ３０５には、更新データ本体３０６のデータのサイズが格納されている。
【００２７】
なお、更新用データフォーマット３００には、計算サイズ３０２の換わりに、計算終了アドレスを格納することも可能である。同様に、データサイズ３０５の換わりに、更新データの格納終了アドレスを格納することも可能である。
【００２８】
図４を用いて、本実施形態に係るデータ更新方法の動作について説明する。図４では、データ更新処理の開始から、データ更新処理の終了までを示すものである。以下の説明では、アプリ用フラッシュメモリ１７２に格納されている更新前データ２０１を修正データ２０２へ更新する手順を例に説明する。説明には、図２及び図３も併用する。ここでは、請求項１に述べられる第１のデータは更新前データ２０１、第２のデータは修正データ２０２、更新データは更新データ２０４として例示する。また、記憶素子はアプリ用フラッシュメモリ１７２として例示する。
【００２９】
データ更新処理が開始されると、アンテナ１１０を介して更新データ２０４が携帯電話１００に送信される。送信された更新データ２０４は、アプリ用汎用メモリ１７１に格納される。アプリ用ＣＰＵ１６０は、アプリ用汎用メモリ１７１に格納された更新データ２０４から、計算開始アドレス３０１、計算サイズ３０２、及び計算値３０３を取得する（Ｓ１１）。更新データ２０４には、更新前データ２０１に関するチェックサムの計算開始アドレス３０１及び計算サイズ３０２が格納されている。また、更新データ２０４には、送信前に予め算出された更新前データ２０１に関するチェックサムの計算値３０３が格納されている。
【００３０】
一方、アプリ用フラッシュメモリ１７２には、更新前データ２０１が格納されている。即ち、アプリ用フラッシュメモリ１７２は、更新前データ２０１（第１のデータ）を格納する記憶手段である。Ｓ１２にて、アプリ用フラッシュメモリ１７２に格納されている更新前データ２０１の計算開始アドレス３０１から計算サイズ３０２分の領域のチェックサムを計算する。そして、Ｓ１２にて計算したチェックサムの値と、更新データ２０４に格納されている計算値３０３の値を比較する（Ｓ１３）。
【００３１】
Ｓ１３にて比較した結果、値が一致した場合、アプリ用フラッシュメモリ１７２に格納されている更新前データ２０１と更新データ２０４に格納されている更新データ本体３０６が適合したと判断される。従って、格納開始アドレス３０４、データサイズ３０５、及び更新データ本体３０６をアプリ用汎用メモリ１７１の更新データ２０４から取得する。そして、更新データ本体３０６をアプリ用フラッシュメモリ１７２に格納されている更新前データ２０１の格納開始アドレス３０４からデータサイズ３０５分の領域に格納する。その結果、アプリ用フラッシュメモリ１７２のデータは、修正データ２０２の状態へ更新される（Ｓ１４）。
【００３２】
Ｓ１３にて比較した結果、値が一致しなかった場合、アプリ用フラッシュメモリ１７２に格納されている更新前データ２０１と更新データ２０４に格納されている更新データ本体３０６が適合していないと判断される。従って、アプリ用フラッシュメモリ１７２のデータは、修正データ２０２に更新されず、更新処理は中止される（Ｓ１５）。
【００３３】
なお、図４に示す処理動作は、アプリ用ＣＰＵ１６０にて制御される。即ち、アプリ用ＣＰＵ１６０は、更新データ２０４が有する計算開始アドレス３０１及び計算サイズ３０２（計算領域情報）に基づいて更新前データ２０１（第１のデータ）から算出した値と、更新データ２０４が有する計算値３０３とを比較し、比較結果に応じて更新前データ２０１（第１のデータ）を修正データ２０２（第２のデータ）へ書き換えることを制御する制御手段である。
【００３４】
本実施形態の効果について、以下に説明する。例えば、図２において更新前データ２０１が格納されている携帯電話１００に、再更新データ２０５を送信してしまった場合、再更新データ２０５の更新処理を中止する必要がある。しかし、従来技術では、更新するデータが異なっていても、各々のチェックサム計算領域が固定されているため、チェックサムのビット数に比例する確率でチェックサムが一致してしまい、誤判定する可能性があった。即ち、従来技術では、チェックサムを計算する領域がアプリ用フラッシュメモリ１７２全体、或いは更新データを格納する領域に固定されているからである。
【００３５】
本実施形態は、更新データの格納領域とは異なる計算領域を設け、更新データの適合性をチェックする領域がデータ毎に指定できることに特徴を有している。図５を用いて、本実施形態に係るアプリ用フラッシュメモリ１７２の状態を示す。アプリ用フラッシュメモリ１７２には、データが新しく更新される領域（以下、書き換え領域４０１と示す）とチェックサム計算用の領域（以下、計算領域４０２と示す）が設定されている。計算領域４０２は、Ｓ１２における計算サイズ３０２分の領域に相当する。計算領域４０２は、データ更新前のアプリ用フラッシュメモリ１７２における書き換え領域４０１の一部又は全部である。
【００３６】
本実施形態では、再更新データ２０５に格納されている計算開始アドレス３０１及び計算サイズ３０２によって、アプリ用フラッシュメモリ１７２の計算領域４０２のチェックサムを計算する。再更新データ２０５に格納されている計算開始アドレス３０１及び計算サイズ３０２は、データ毎に指定することが可能である。従って、更新するデータ毎にチェックサムの計算領域４０２を設定することが可能である。従って、更新前データ２０１の状態では不一致となり、修正データ２０２の状態では一致する領域を再更新データ２０５に設定できるため、誤判定を回避することができる。
【００３７】
なお、チェックサムの計算領域４０２は、以下のように設定することも可能である。例えば、初期値として計算領域４０２を書き換え領域４０１と同じ領域となるように設定する。そして、図２における全てのアプリ用フラッシュメモリ１７２の状態（即ち、更新前データ２０１、修正データ２０２、再修正データ２０３）について、計算領域４０２のチェックサムを計算する。同じ値があった場合、計算領域４０２を書き換え領域４０１に対して減らし、全てのアプリ用フラッシュメモリ１７２の状態についてチェックサムが異なるまで繰り返すという方法も可能である。
【００３８】
発明の実施の形態２．
次に、本発明の実施の形態２について説明する。本実施形態においても、携帯電話を例として説明することは実施の形態１と同様である。本実施形態では、図３に示した更新用データフォーマット３００において、計算開始アドレス３０１、計算サイズ３０２、及び計算値３０３によって構成されるエントリを複数格納されている（不図示）。その他の構成要素及び処理動作については実施の形態１と同様である。
【００３９】
本実施形態では、上述したエントリにおける全ての計算値が一致した場合、データ更新が可能と判断する。また、全ての計算値が一致した場合だけでなく、いずれかの計算値が一致した場合にデータ更新可能と判断する方法も可能である。その場合、全ての計算値、或いはいずれかの計算値が一致したかのどちらで判定するかを示す情報を更新用データフォーマット３００に追加することが可能である。
【００４０】
このように、複数個所のデータを照合することにより、更に判定精度の高いデータ更新方法を提供することが可能である。また、複数個所のデータに対する照合が可能となることで、一つの更新データをデータの状態の異なる複数の組み込みシステムに適用させることができる。その結果、更新データを一つに統合することが可能となる。
【００４１】
以上のように、本実施形態によれば、チェックサムの計算領域と更新データを格納する領域とを別々に指定できる。従って、演算負荷の軽いチェックサムのみの照合によって、誤認識せずに適合可否の判定が可能となり、実用上の価値が向上する。
【００４２】
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。本実施形態では、携帯電話を例に説明したが、各種データが記憶素子に格納され、更新データの送受信によってデータ書き換えを行う携帯情報端末であれば、適用が可能であることはもちろんである。
【００４３】
また、本実施形態では、計算値３０３と比較するためにチェックサムを利用して計算したが、ＣＲＣ等他の計算方法を適用することも可能である。また、本実施形態におけるデータは、数値の羅列のみでなく、プログラムを含むことも可能である。
【図面の簡単な説明】
【００４４】
【図１】本実施形態に係る携帯電話のブロック図を示す。
【図２】本実施形態に係るデータ更新方法の流れを示した模式図である。
【図３】本実施形態に係る更新データのフォーマットを示した模式図である。
【図４】本実施形態に係るデータ更新方法の動作を示すフローチャートである。
【図５】本実施形態に係るアプリ用フラッシュメモリの状態を示した模式図である。
【符号の説明】
【００４５】
１００  携帯電話、
１１０  アンテナ、１２０  ＲＦ／ＩＦベースバンド部、
１３０  通信用ＣＰＵ、  １４０  通信用メモリ、
１４１  通信用汎用メモリ、  １４２  通信用フラッシュメモリ、
１５０  マイク／スピーカ部、
１６０  アプリ用ＣＰＵ、
１６１  表示素子、  １６２  電源、  １６３  映像素子、
１７０  アプリ用メモリ、
１７１  アプリ用汎用メモリ、  １７２  アプリ用フラッシュメモリ、
２０１  更新前データ、  ２０２  修正データ、  ２０３  再修正データ、
２０４  更新データ、  ２０５  再更新データ、
３００  更新用データフォーマット、
３０１  計算開始アドレス、  ３０２  計算サイズ、
３０３  計算値、  ３０４  格納開始アドレス、
３０５  データサイズ、  ３０６  更新データ本体、
４０１  書き換え領域、  ４０２  計算領域
【図１】
2007299222.tif 000003
【図２】
2007299222.tif 000004
【図３】
2007299222.tif 000005
【図４】
2007299222.tif 000006
【図５】
2007299222.tif 000007