(57)【要約】【課題】  データの更新に要する時間が短縮可能な移動体通信装置を提供する。【解決手段】  移動体通信装置の一態様である携帯電話の制御部が実行する処理は、データの書込指令を検出するステップ（Ｓ６００）と、指令により特定されるアドレスに対応するブロックがバックアップ済みであるか否かを判断するステップ（Ｓ６１０）と、そのブロックがバックアップ済みである場合に（Ｓ６１０にてＹＥＳ）、そのアドレスのみにデータを書き込むステップ（Ｓ６２０）と、バックアップ済みでない場合に（ステップＳ６１０にてＮＯ）、フラッシュメモリのバックアップ領域に、そのブロックのデータを格納するステップ（Ｓ６３０）と、アプリケーションデータ領域に更新データを格納するステップ（Ｓ６４０）とを含む。【選択図】        図６
2006011589.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた処理を実行するプログラムを格納するためのプログラム記憶手段と、
前記プログラムを実行するためのプログラム実行手段と、
複数の領域の各々に、前記実行により生成された生成データを格納する記憶手段と、
前記実行に応答して、予め定められた数の前記領域からなるブロックごとに、前記生成データが書き込まれる保存領域に格納されている保存データと、前記保存領域と異なるバックアップ領域に格納されているデータとに基づいて、前記保存データが前記バックアップ領域に格納されているか否かを判断するための判断手段と、
前記判断の結果に基づいて、前記ブロックごとに、前記保存領域に対するデータの格納を制御するための制御手段とを備える、移動体通信装置。
【請求項２】
前記プログラム実行手段は、前記プログラムの実行時に、前記生成データを書込む指示を出力し、
前記判断手段は、前記指示に応答して、前記保存データが前記バックアップ領域に格納されているか否かを判断する、請求項１に記載の移動体通信装置。
【請求項３】
前記プログラム実行手段は、前記プログラムの実行時に、前記生成データと、前記保存領域を特定するためのアドレスとを出力し、
前記判断手段は、前記アドレスに基づいて、前記保存データが前記バックアップ領域に格納されているか否かを判断する、請求項１に記載の移動体通信装置。
【請求項４】
前記制御手段は、
前記保存データが前記バックアップ領域に格納されている場合に、前記保存領域に、前記生成データを格納する格納手段と、
前記保存データが前記バックアップ領域に格納されていない場合に、前記バックアップ領域に、前記保存データを格納するバックアップ手段と、
前記バックアップ領域に前記保存データを格納した後に、前記保存領域に前記生成データを格納する手段とを含む、請求項１に記載の移動体通信装置。
【請求項５】
前記バックアップ手段は、前記バックアップ領域に、前記保存データと、前記保存領域を特定するためのアドレスとを格納し、
前記移動体通信装置は、前記アドレスに基づいて、前記保存領域に、前記バックアップ領域に格納されている前記保存データを書き込むための復帰手段をさらに備える、請求項４に記載の移動体通信装置。
【請求項６】
前記移動体通信装置は、前記保存領域に、前記バックアップ領域に格納されている前記保存データを格納するレストア指示を検出するための検出手段をさらに備え、
前記復帰手段は、前記レストア指示の検出に応答して、前記アドレスにより特定される前記保存領域に、前記バックアップ領域に格納されている前記保存データを書き込む、請求項５に記載の移動体通信装置。
【請求項７】
前記移動体通信装置は、電力を供給するバッテリをさらに備え、
前記検出手段は、前記電力が前記プログラム実行手段に供給された場合に、前記レストア指示を検知する、請求項６に記載の移動体通信装置。
【請求項８】
前記記憶手段はさらに、前記ブロックごとに関連付けられる前記予め定められた数の領域をそれぞれ特定するための各々の領域情報と、前記ブロックとを対応付けて記憶し、
前記プログラム実行手段は、前記プログラムの実行時に、前記領域情報を有するデータの書込指示を出力し、
前記移動体通信装置は、前記領域情報に基づいて、前記生成データが格納される領域に対応するブロックを特定するための特定手段をさらに備える、請求項１に記載の移動体通信装置。
【請求項９】
前記移動体通信装置は、
前記ブロックごとに、前記ブロックに対応する各前記領域のデータが更新されているか否かを表わすための更新情報を格納する手段と、
前記ブロックに対応する各前記領域のデータが更新されている場合に、前記保存領域から前記バックアップ領域へのデータの格納を禁止するためのバックアップ禁止手段とをさらに備える、請求項１に記載の移動体通信装置。
【請求項１０】
前記移動体通信装置は、前記生成データの書込指示を検知するための検知手段をさらに備え、
前記バックアップ禁止手段は、前記書込指示が検知されたときに、前記ブロックに対応する各前記領域のデータが更新されている場合には、前記保存領域から前記バックアップ領域へのデータの格納を禁止する、請求項９に記載の移動体通信装置。
【請求項１１】
前記移動体通信装置は、
前記保存領域に格納されているデータを前記保存領域に格納するための参照情報が、前記バックアップ領域に格納されているか否かを確認するための確認手段と、
前記確認の結果に基づいて、前記プログラムの実行を制御するための実行制御手段とをさらに備える、請求項１に記載の移動体通信装置。
【請求項１２】
前記確認手段は、前記プログラムの実行時に、前記参照情報が前記バックアップ領域に格納されているか否かを確認し、
前記実行制御手段は、
前記参照情報が前記バックアップ領域に格納されていない場合に、前記プログラム実行手段に前記プログラムを実行させる手段と、
前記参照情報が前記バックアップ領域に格納されている場合に、前記バックアップ領域のデータを前記保存領域に格納する手段と、
前記保存領域への格納後に、前記プログラム実行手段に前記プログラムを実行させる手段とを含む、請求項１１に記載の移動体通信装置。
【請求項１３】
前記移動体通信装置は、前記保存領域への格納後に、前記バックアップ領域のデータを削除するための消去手段をさらに備える、請求項１２に記載の移動体通信装置。
【請求項１４】
移動体通信装置を制御するためのプログラムであって、前記プログラムは前記移動体通信装置に、
複数の領域を有し、予め定められた処理を実行するプログラムとデータとを格納する記憶手段から、前記プログラムを読み出すステップと、
前記プログラムを実行して生成データを出力するステップと、
前記実行に応答して、予め定められた数の前記領域からなるブロックごとに、前記生成データが書き込まれる保存領域に格納されている保存データと、前記保存領域と異なるバックアップ領域に格納されているデータとに基づいて、前記保存データが前記バックアップ領域に格納されているか否かを判断するステップと、
前記判断の結果に基づいて、前記ブロックごとに、前記保存領域に対するデータの格納を制御するステップとを実行させる、移動体通信装置を制御するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体通信装置の制御に関し、特に、複数の領域からなるブロックごとにデータを更新可能な移動体通信装置およびブロックごとにデータを更新するように移動体通信装置を制御するためのプログラムに関する。
【背景技術】
【０００２】
プログラムの実行機能を有する情報処理装置は、メモリに、その実行により生成されるデータを格納する。メモリがたとえば不揮発性のメモリである場合には、その装置の電源がオフになった後も、そのデータは保持される。この場合、そのデータは、プログラムが次回実行される場合に再度使用される。
【０００３】
情報処理装置の一態様として携帯電話その他の移動体通信装置がある。これらの装置は、通常充電可能なバッテリを備えており、そのバッテリから電力が供給される限り、アプリケーションプログラムの実行その他の所定の動作を実行することができる。このとき、たとえばデータの更新が、バッテリの消耗により、最後まで実行されない場合がある。この場合、バッテリの充電後に、移動体通信装置を再度起動して、そのアプリケーションプログラムを実行すると、メモリのデータが適切に格納されていないため、そのプログラムによる所定の処理が実行されない場合がある。
【０００４】
そこで、たとえば特開平９−１７９７８７号公報（特許文献１）は、データの書き換え時に不測の事態が発生した場合であってもデータの欠損を防止することができる記録媒体を開示する。この記録媒体は、システム領域と、バックアップ領域と、業務情報領域とを有する記憶部と、記憶部に対して情報の書き込み又は読み出しを行なう制御部と、制御部が業務情報領域に格納されている情報の書き換えを行なう場合に、書き換え前の情報をバックアップ領域に複写し、書き換え前の情報に関する管理情報をシステム領域に記録する複写部と、業務情報領域の書き換えが正常に終了した場合に、管理情報を無効にする複写無効部と、リセット後であって、コマンドの実行前に、管理情報に基づいて書き換えの正常／異常を判断し、異常である場合にバックアップ領域の情報を業務情報領域に復帰させる情報復帰部とを含む。
【０００５】
特許文献１に開示された記録媒体によると、制御部が業務情報領域に格納されている情報の書き換えを行う場合に、複写部は、書き換え前の情報をバックアップ領域に複写するとともに、書き換え前の情報に関する管理情報をシステム領域に記録する。複写無効部は、業務情報領域の書き換えが正常に終了した場合に、管理情報を無効にする。情報復帰部は、リセット後のコマンド実行前に、管理情報に基づいて書き換えの正常／異常を判断する。書き換えが異常である場合には、バックアップ領域の情報が業務情報領域に復帰される。これにより、業務情報領域に格納されている情報が書き換え時に消失・欠損することが防止される。
【０００６】
また、特開２００２−４１３１４号公報（特許文献２）は、フラッシュメモリの書き換え時にそのデータを一時的に退避させる不揮発性のテンポラリメモリを内蔵したプログラム書き換え装置を開示している。
【０００７】
また、特開２００１−３５６９２５号公報（特許文献３）は、ソフトウェアのバグが検出された場合に、ユーザによるソフトウェアの更新が可能な携帯電話機を開示している。
【０００８】
さらに、特開２０００−３３０７７９号公報（特許文献４）は、ダウンロード時間の短縮、ダウンロード時の信頼性の向上、メモリ容量の削減化、ダウンロードの失敗によるセットアップが失敗しても自立で復旧することができるファームウエアプログラム遠隔更新システムを開示している。
【特許文献１】特開平９−１７９７８７号公報
【特許文献２】特開２００２−４１３１４号公報
【特許文献３】特開２００１−３５６９２５号公報
【特許文献４】特開２０００−３３０７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
移動体通信装置は、通常、データの更新を何度も実行することが多い。すなわち、アプリケーションプログラムの実行毎に、生成されるデータが書き込まれる場合がある。この場合、データの書き込みが、メモリ上の特定のアドレスにおいて、何度も繰り返されることが多い。同一のアドレスのデータが何度も更新される場合、データが書き込まれる領域に既に格納されていたデータを別のデータ領域に保存すると、そのデータ領域に保存されているデータが上書きされる。そのため、最初のデータが保存されなくなり、たとえば、更新前のデータが必要になった場合に、そのデータを回復することができない。
【００１０】
また、書き込みごとにバックアップデータを保存する場合、書き込み回数が多くなると、それに応じて、書き込み時間が長くなる。特に、不揮発性メモリへの書き込みは、一度の書き込みに時間を要するため、書き込み回数が多いと、それだけ移動体通信装置の演算機能のパフォーマンスが低下する。さらに、たとえば、不揮発領域にフラッシュメモリを使用している場合には、書き込み回数が多いとフラッシュメモリの使用寿命が短くなる可能性がある。
【００１１】
しかしながら、特許文献１に開示された記録媒体では、データの更新は複数回行なわれる可能性があり、その際、同じアドレスに対する更新が複数回行なわれる場合もあり得る。このような場合において、データの更新ごとに、更新前のデータを他の領域に退避させると、同じアドレスが何度も更新された場合には、最初のデータが上書きにより保存されなくなり、更新前のデータに復旧することができなくなる。また、更新ごとにバックアップ用のデータを保存するため、更新回数が多いと、更新のための時間、たとえば書き込み時間も、長くなる。
【００１２】
さらに、たとえばフラッシュメモリその他の不揮発性のメモリに対するデータの書込時間は、その他のメモリにおいて書込に要する時間よりも長くなる場合が多い。携帯電話その他の携帯通信端末が不揮発性メモリを使用している場合には、その端末のパフォーマンスが低下したり、そのメモリの使用寿命を短くする場合もある。
【００１３】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、データの更新時にバックアップが行なわれる場合であっても、その更新に要する書込時間を短くすることができる移動体通信装置を提供することである。
【００１４】
本発明の他の目的は、データの書込によるその他の性能の低下を防止することができる移動体通信装置を提供することである。
【００１５】
本発明の他の目的は、メモリの寿命の低下を防止することができる移動体通信装置を提供することである。
【００１６】
本発明の他の目的は、動作の停止が正常に行なわれなかった場合においても、動作を正常に再開することができる移動体通信装置を提供することである。
【００１７】
本発明のさらに他の目的は、データの更新時にバックアップが行なわれる場合であっても、その更新に要する書込時間が短くなるように移動体通信装置を制御するためのプログラムを提供することである。
【課題を解決するための手段】
【００１８】
上記の課題を解決するために、この発明のある局面に従うと、移動体通信装置は、予め定められた処理を実行するプログラムを格納するためのプログラム記憶手段と、プログラムを実行するためのプログラム実行手段と、複数の領域の各々に、実行により生成された生成データを格納する記憶手段と、実行に応答して、予め定められた数の領域からなるブロックごとに、生成データが書き込まれる保存領域に格納されている保存データと、保存領域と異なるバックアップ領域に格納されているデータとに基づいて、保存データがバックアップ領域に格納されているか否かを判断するための判断手段と、判断の結果に基づいて、ブロックごとに、保存領域に対するデータの格納を制御するための制御手段とを備える。
【００１９】
上記の構成を有する移動体通信装置によると、データのバックアップが必要か否かは、予め定められた数の領域からなるブロックごとに行なわれるため、バックアップが不要と判断されたブロックのデータは、バックアップが行なわれなくなる。その結果、データのバックアップに要する時間が必要最小限に抑制される。また、フラッシュメモリその他の記憶手段の寿命の短縮化が防止される。
【００２０】
好ましくは、プログラム実行手段は、プログラムの実行時に、生成データを書込む指示を出力する。判断手段は、指示に応答して、保存データがバックアップ領域に格納されているか否かを判断する。
【００２１】
好ましくは、プログラム実行手段は、プログラムの実行時に、生成データと、保存領域を特定するためのアドレスとを出力する。判断手段は、アドレスに基づいて、保存データがバックアップ領域に格納されているか否かを判断する。
【００２２】
好ましくは、制御手段は、保存データがバックアップ領域に格納されている場合に、保存領域に、生成データを格納する格納手段と、保存データがバックアップ領域に格納されていない場合に、バックアップ領域に、保存データを格納するバックアップ手段と、バックアップ領域に保存データを格納した後に、保存領域に生成データを格納する手段とを含む。
【００２３】
好ましくは、バックアップ手段は、バックアップ領域に、保存データと、保存領域を特定するためのアドレスとを格納する。移動体通信装置は、アドレスに基づいて、保存領域に、バックアップ領域に格納されている保存データを書き込むための復帰手段をさらに備える。
【００２４】
好ましくは、移動体通信装置は、保存領域に、バックアップ領域に格納されている保存データを格納するレストア指示を検出するための検出手段をさらに備える。復帰手段は、レストア指示の検出に応答して、アドレスにより特定される保存領域に、バックアップ領域に格納されている保存データを書き込む。
【００２５】
好ましくは、移動体通信装置は、電力を供給するバッテリをさらに備える。検出手段は、電力がプログラム実行手段に供給された場合に、レストア指示を検知する。
【００２６】
好ましくは、記憶手段はさらに、ブロックごとに関連付けられる予め定められた数の領域をそれぞれ特定するための各々の領域情報と、ブロックとを対応付けて記憶する。プログラム実行手段は、プログラムの実行時に、領域情報を有するデータの書込指示を出力する。移動体通信装置は、領域情報に基づいて、生成データが格納される領域に対応するブロックを特定するための特定手段をさらに備える。
【００２７】
好ましくは、移動体通信装置は、ブロックごとに、ブロックに対応する各領域のデータが更新されているか否かを表わすための更新情報を格納する手段と、ブロックに対応する各領域のデータが更新されている場合に、保存領域からバックアップ領域へのデータの格納を禁止するためのバックアップ禁止手段とをさらに備える。
【００２８】
好ましくは、移動体通信装置は、生成データの書込指示を検知するための検知手段をさらに備える。バックアップ禁止手段は、書込指示が検知されたときに、ブロックに対応する各領域のデータが更新されている場合には、保存領域からバックアップ領域へのデータの格納を禁止する。
【００２９】
好ましくは、移動体通信装置は、保存領域に格納されているデータを保存領域に格納するための参照情報が、バックアップ領域に格納されているか否かを確認するための確認手段と、確認の結果に基づいて、プログラムの実行を制御するための実行制御手段とをさらに備える。
【００３０】
好ましくは、確認手段は、プログラムの実行時に、参照情報がバックアップ領域に格納されているか否かを確認する。実行制御手段は、参照情報がバックアップ領域に格納されていない場合に、プログラム実行手段にプログラムを実行させる手段と、参照情報がバックアップ領域に格納されている場合に、バックアップ領域のデータを保存領域に格納する手段と、保存領域への格納後に、プログラム実行手段にプログラムを実行させる手段とを含む。
【００３１】
好ましくは、移動体通信装置は、保存領域への格納後に、バックアップ領域のデータを削除するための消去手段をさらに備える。
【００３２】
この発明の他の局面に従うと、プログラムは、移動体通信装置を制御するためのプログラムである。このプログラムは移動体通信装置に、複数の領域を有し、予め定められた処理を実行するプログラムとデータとを格納する記憶手段から、プログラムを読み出すステップと、プログラムを実行して生成データを出力するステップと、実行に応答して、予め定められた数の領域からなるブロックごとに、生成データが書き込まれる保存領域に格納されている保存データと、保存領域と異なるバックアップ領域に格納されているデータとに基づいて、保存データがバックアップ領域に格納されているか否かを判断するステップと、判断の結果に基づいて、ブロックごとに、保存領域に対するデータの格納を制御するステップとを実行させる。
【発明の効果】
【００３３】
本発明に係る移動体通信装置によると、データのバックアップが予め定められたブロックごとに行なわれ、バックアップの不要なブロックのデータはバックアップ処理が実行されない。これにより、バックアップに要する時間が最小限に短縮される。その結果、移動体通信装置の処理性能の低下が防止される。また、バックアップの不要な領域に格納されているデータのバックアップ領域への書込が行なわれなくなるため、記憶手段（たとえば、フラッシュメモリ）の寿命の短縮化が防止される。
【００３４】
本発明に係るプログラムによると、移動体通信装置は、ブロックごとにデータをバックアップし、バックアップの不要なブロックのバックアップは実行しない。そのため、バックアップに要する時間が最小限に短縮される。その結果、移動体通信装置は、他の処理を速やかに実行することができる。これにより、移動体通信装置のパフォーマンスの低下が防止される。また、バックアップの不要な領域に格納されているデータのバックアップ領域への書込が行なわれなくなるため、記憶手段（たとえば、フラッシュメモリ）の寿命の短縮化が防止される。
【発明を実施するための最良の形態】
【００３５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３６】
＜第１の実施の形態＞
図１を参照して、本発明の第１の実施の形態に係る移動体通信装置について説明する。図１は、移動体通信装置の一態様である携帯電話１００の構成を表わすブロック図である。なお、移動体通信装置の態様は、携帯電話に限られない。
【００３７】
携帯電話１００は、アンテナ１０８と、アンテナ１０８を介してデータを通信するための通信部１０２と、外部から指示の入力を受付けるための操作部１２０と、データを格納するためのフラッシュメモリ１４４と、データを一時的に格納するためのＲＡＭ（Random Access Memory）１４６と、予め作成されたプログラムあるいはデータを格納するためのＲＯＭ（Read Only Memory）１４８と、受信データ、各メモリに格納されているデータあるいはＲＯＭ１４８に格納されているプログラムに基づいて予め定められた処理を実行してプログラムに応じたデータを出力するとともに、各部の動作を制御するための制御部１１０と、マイク１７２と、スピーカ１７４と、音声信号と電気信号との間で予め定められた変換処理を実行するための音声信号処理部１７０と、画像を表示するためのディスプレイ１５０と、制御部１１０から出力される信号に基づいて発光するＬＥＤ（Light Emitting Diode）１７６と、外部とデータ通信するためのデータ通信ＩＦ（Interface）１７８と、制御部１１０により出力される信号に基づいて所定の発振動作をするバイブレータ１８４とを含む。
【００３８】
制御部１１０は、フラッシュメモリ１４４において予め定められた領域ごとにデータを格納するための更新制御部と、更新の対象となるデータを所定のアプリケーションデータ領域に格納するか否かを判断するための判断部と、フラッシュメモリ１４４において更新の対象となるデータを特定するための特定部と、フラッシュメモリ１４４に格納されている管理データに基づいて更新の対象となるアドレスに格納されているデータのバックアップがとられているか否かを判断するためのバックアップ判断部と、そのデータのバックアップがとられている場合にアプリケーションデータ領域にそのデータを格納するための更新部と、そのデータのバックアップがとられていない場合にそのデータをバックアップ領域に格納するためのバックアップ部として機能する。これらの機能は、フラッシュメモリ１４４あるいはＲＯＭ１４８に格納されているプログラムが実行されることにより、実現される。操作部１２０は、たとえば数字ボタン、その他の操作キーである。
【００３９】
ここで、メモリのデータ記憶領域に対するデータの書込の一特性について説明する。アプリケーションのデータの書込は、当該データ記憶領域の全域に分散して行なわれる場合もあれば、特定の領域に集中して行なわれる場合もある。このような書込の態様の相違は、たとえば、データの書込機能の特性等に基づいて生じる場合もあれば、その他の要因によって生じる場合もある。したがって、予め定められた数のデータ記憶領域をブロックとしてデータの書込の制御の対象として管理することにより、データの書込が必要な領域以外の領域に対して、更新されていないデータの書込を防止することができる。
【００４０】
図２〜図４を参照して、本実施の形態に係る携帯電話１００におけるデータ構造について説明する。図２〜図４はそれぞれ、フラッシュメモリ１４４におけるデータの格納の一態様を概念的に表わす図である。
【００４１】
図２に示されるように、フラッシュメモリ１４４には、予め定められたアドレス（たとえばａ０００、ａ２５５など）が割当てられている。各アドレスは、フラッシュメモリ１４４の単位、たとえばセクタに応じて割当てられる。各アドレスにより特定される記憶領域は、後述するように複数の単位でまとめられてそれぞれデータブロックを形成する。
【００４２】
ここで各ブロックとそのブロックに対応付けられるアドレスとを管理するための管理データは、たとえば管理データ記憶領域Ｄ２００に格納されている。この領域の詳細は、後述する。
【００４３】
第１のブロックは、たとえばアドレスａ０００からａ２５５までの記憶領域に割り当てられている。第２のブロックは、アドレスａ２５６からａ５１１までの記憶領域に割り当てられている。同様に、第ｎのブロックは、アドレスｂ０００からｂ２５５までの記憶領域に割り当てられている。これらの領域は、各プログラムに割り当てられており、そのプログラムの実行に使用されるデータが格納される。以下、この領域をアプリケーションデータ領域と称する。
【００４４】
フラッシュメモリ１４４はさらに、後述するように、バックアップデータを格納するためのバックアップ領域Ｄ２１０を含む。この領域は、アドレスｅ０００からｆ５１１までの記憶領域を有する。なお、バックアップデータとは、上記のアプリケーションデータ領域に格納されていたデータのうち、更新の対象となるデータを、一時的に、領域Ｄ２１０に退避されたものに相当する。
【００４５】
次に、図３を参照して、フラッシュメモリ１４４の各記憶領域のアドレスとその記憶領域が対応付けられるブロックとを関連付けるためのデータは、管理データ記憶領域Ｄ２００に格納されている。制御部１１０は、この領域に格納されている情報を参照することにより、アドレスにより特定される各記憶領域がいずれのブロックに属するものかを知ることができる。
【００４６】
次に図４を参照して、フラッシュメモリ１４４のバックアップ領域Ｄ２１０には、アプリケーションデータ領域に格納されているデータのバックアップ用のデータが格納されている。たとえば、領域Ｄ４１０は、第１のバックアップデータ用アドレスを格納している。このアドレスは、領域Ｄ４３０に格納されている第１のバックアップデータのアプリケーションデータ領域におけるアドレスを特定するためのデータである。同様に、領域Ｄ４２０は、第２のバックアップデータ用アドレスを格納している。このアドレスは、たとえば領域Ｄ４４０に格納されている第２のバックアップデータが本来アプリケーションデータ領域に格納されているアドレスを特定するためのデータである。
【００４７】
このように、各バックアップデータとそのデータのアプリケーションデータ領域におけるアドレスとが関連付けてフラッシュメモリ１４４に格納されているため、制御部１１０は、データの復旧処理（いわゆるレストア処理）が必要になった場合に、復旧が必要なアドレスに、バックアップデータを格納することができる。
【００４８】
図５を参照して、本実施の形態に係る携帯電話１００のデータ構造についてさらに説明する。図５は、ＲＡＭ１４６におけるデータの格納の一態様を概念的に表わす図である。
【００４９】
これらのデータは、携帯電話１００が後述するデータの格納処理を実行する場合に一時的に生成されＲＡＭ１４６の所定の領域に格納される。すなわち、領域Ｄ５１０は、更新の対象となるデータのバックアップがとられているか否かを表わすためのバックアップフラグを格納している。領域Ｄ５２０，５３０は、データの更新時においてバックアップの対象となる各ブロックがバックアップされているか否かを表わすデータを格納している。第１のブロックについてバックアップが完了している場合には、図５に示すように「１」のデータが格納される。バックアップが完了していないブロックについては、たとえば領域Ｄ５３０に示すように「０」の値が格納される。
【００５０】
次に、図６〜図８を参照して、携帯電話１００の制御構造について説明する。図６は、制御部１１０が実行する書込処理の手順を表わすフローチャートである。この処理は、たとえば制御部１１０がユーザにより指定されたアプリケーションプログラムを実行している場合に、そのプログラムにより生成されるデータを更新する指示が出力された場合に実行される。
【００５１】
ステップＳ６００にて、制御部１１０は、入力信号に基づいてデータを書き込む指令を検出する。この指令には、プログラムの実行により生成された更新用のデータと、そのデータが書き込まれるアドレスが含まれる。
【００５２】
ステップＳ６１０にて、制御部１１０は、その指令により特定されるアドレスに対応するブロックがバックアップ済みであるか否かを判断する。この判断は、たとえば図３または図５に示されるデータに基づいて行なわれる。すなわち、そのアドレスに格納されているデータが、バックアップ領域に格納されているか否かが判断される。そのブロックがバックアップ済みである場合には（ステップＳ６１０にてＹＥＳ）、処理はステップＳ６２０に移される。そうでない場合には（ステップＳ６１０にてＮＯ）、処理はステップＳ６３０に移される。
【００５３】
ステップＳ６２０にて、制御部１１０は、そのアドレスに、更新の対象となるデータを書き込む。ステップＳ６３０にて、制御部１１０は、フラッシュメモリ１４４のバックアップ領域Ｄ２１０に、そのブロックのデータを格納する。その結果、たとえば図４に示されるように、更新の対象となるデータは、領域Ｄ４３０，４４０などの領域に格納される。また、それらのデータが格納されていたアドレス、すなわち、アプリケーションデータ領域におけるアドレスを特定するためのデータは、領域Ｄ４１０，４２０などに格納される。
【００５４】
ステップＳ６４０にて、制御部１１０は、データのバックアップが完了していることを通知するためのデータを、ＲＡＭ１４６の所定の領域、たとえば領域Ｄ５２０において更新する。更新後、処理は、ステップＳ６２０に移される。
【００５５】
図７は、アプリケーションの通常終了時に制御部１１０が実行する処理の手順を表わすフローチャートである。この処理は、アプリケーションによる所定の処理が正常に終了した場合に、実行される。
【００５６】
ステップＳ７１０にて、制御部１１０は、指令を検知する。ステップＳ７２０にて、制御部１１０は、その指令がアプリケーションの終了指令であるか否かを判断する。この判断は、たとえば検知した指令に含まれるコードが終了を指示するものであるか否かに基づいて行なわれる。アプリケーションの終了指令が検知された場合には（ステップＳ７２０にてＹＥＳ）、処理はステップＳ７３０に移される。そうでない場合には（ステップＳ７２０にてＮＯ）、処理は終了する。この場合、バックアップ領域に格納されているデータは、消去されない。ステップＳ７３０にて、制御部１１０は、フラッシュメモリ１４４のバックアップ領域Ｄ２１０のデータを削除する。
【００５７】
図８は、制御部１１０がアプリケーションの起動時に実行する処理の手順を表わすフローチャートである。
【００５８】
ステップＳ８１０にて、制御部１１０は、操作部１２０のボタン（図示しない）の押下に基づいてアプリケーションの起動指令を検知する。ステップＳ８２０にて、制御部１１０は、フラッシュメモリ１４４からバックアップ領域Ｄ２１０に格納されている管理データを読み出す。ステップＳ８３０にて、制御部１１０は、バックアップ領域Ｄ２１０が開放されているか否かを判断する。この判断は、たとえばその領域Ｄ２１０にデータが格納されているか否かを検知することにより行なわれる。ここで、バックアップ領域の開放とは、アプリケーションデータ領域に格納されるべきデータが格納されていないことをいう。領域Ｄ２１０が開放されている場合には（ステップＳ８３０にてＹＥＳ）、処理はステップＳ８８０に移される。そうでない場合には（ステップＳ８３０にてＮＯ）、処理はステップＳ８４０に移される。
【００５９】
ステップＳ８４０にて、制御部１１０は、フラッシュメモリ１４４のアプリケーションデータ領域にバックアップ領域Ｄ２１０に格納されているデータを書き込む。この書き込みは、領域Ｄ４１０，４２０などに格納されているバックアップデータ用アドレスに基づいて行なわれる。
【００６０】
ステップＳ８５０にて、制御部１１０は、データの書き込みが完了したか否かを判断する。この判断は、たとえば以下の手順で行なわれる。まず、領域Ｄ２１０に格納されているバックアップ用データを特定するためのデータ（たとえばアドレス）ごとに、バックアップ済みであるか否かを表わすデータがＲＡＭ１４６に格納される（図５、領域Ｄ５２０,５３０）。次に、アプリケーションデータ領域への書込に応じて、そのデータは、バックアップ待ちであることを表わすデータ（たとえば「０」）から、バックアップ済みであることを表わすデータ（たとえば「１」）に変更される。したがって、このような場合、制御部１１０は、そのデータが「０」か「１」かを確認することにより、データの書き込みが完了したか否かを判断することができる。データの書き込みが完了した場合には（ステップＳ８５０にてＹＥＳ）、処理はステップＳ８６０に移される。そうでない場合には（ステップＳ８５０にてＮＯ）、処理はステップＳ８４０に戻される。
【００６１】
ステップＳ８６０にて、制御部１１０は、バックアップ領域Ｄ２１０に格納されているデータを削除する。ステップＳ８７０にて、制御部１１０は、ＲＡＭ１４６に格納されていた管理データを初期化する。
【００６２】
ステップＳ８８０にて、制御部１１０は、起動指令に含まれているアプリケーションを特定するためのデータ（たとえば、アプリケーションのインストール時に自動的に付与されるプログラムＩＤ）に基づいて、そのアプリケーションを起動する。これにより、携帯電話１００は、そのアプリケーションに基づく処理（たとえば、ブラウザを介した情報の閲覧、ダウンロード等）を開始する。
【００６３】
以上のような構造およびフローチャートに基づく、本実施の形態に係る携帯電話１００の動作について説明する。
【００６４】
［アプリケーション実行時の処理］
ユーザが携帯電話１００の操作部１２０を操作して、所定のアプリケーションの実行を開始する。アプリケーションが起動され、所定の操作により、更新の対象となる更新データが生成される。アプリケーションがそのデータの格納を指示すると（ステップＳ６００）、そのデータが格納されるアドレスに対応するブロックのバックアップがとられていない場合には（ステップＳ６１０にてＮＯ）、そのブロックのデータがフラッシュメモリ１４４のバックアップ領域に格納される（ステップＳ６３０）。この場合、更新が必要とされるブロックに対応するデータのみがバックアップ領域に格納されるため、データの更新処理に要する時間は、必要最小限の時間に抑制される。バックアップの完了後、制御部１１０は、フラッシュメモリ１４４のアプリケーションデータ領域に更新データを格納する（ステップＳ６２０）。
【００６５】
［アプリケーションの終了時の処理］
ユーザが携帯電話１００の操作部１２０を再び操作して、アプリケーションの終了を指示すると（ステップＳ７２０にてＹＥＳ）、バックアップ領域に格納されていたデータは、削除される（ステップＳ７３０）。もし、電池の消耗などで本処理が完了されない場合、バックアップ領域に格納されているデータがそのまま保持される。
【００６６】
［バックアップ処理］
携帯電話１００のアプリケーションの起動が再び指示されると（ステップＳ８１０）、バックアップ領域の管理データが読み出される（ステップＳ８２０）。バックアップ領域にデータが保存されている場合、バックアップ領域が開放されてないと判断され（ステップＳ８３０にてＮＯ）、バックアップ領域に格納されているデータは、ブロックごとに、アプリケーションデータ領域に書き込まれる（ステップＳ８４０）。この書込、すなわちデータのレストアが完了すると（ステップＳ８５０にてＹＥＳ）、制御部１１０は、バックアップ領域のデータを削除する（ステップＳ８６０）。その後、アプリケーションの処理が開始される（ステップＳ８８０）。
【００６７】
以上のようにして、本実施の形態に係る携帯電話１００は、アプリケーションの実行中に生成されたデータを更新する際、必要最小限の記憶領域、すなわち、予め所定の領域ごとに管理されたブロックごとに、データを格納する。これにより、データの更新が不要な領域に対するデータの書込が行なわれなくなるため、データの更新に要する時間を最小限にすることができる。その結果、携帯電話１００のパフォーマンスが向上する。
【００６８】
また、データの書込が必要最小限の領域に限定されるため、フラッシュメモリ１４４その他の記憶手段の使用寿命の短縮化が防止される。
【００６９】
さらに、当該携帯電話１００によると、たとえば、電池の消耗などで本処理が完了されない場合、バックアップ領域に格納されているデータは、消去されることなく、そのまま保持される。この場合、当該アプリケーションが再び実行される前に、携帯電話１００は、バックアップ領域に格納されているデータをアプリケーションデータ領域に復帰させることができる。したがって、携帯電話１００は、復帰されたデータに基づいて、当該アプリケーションを正常に実行することができる。
【００７０】
＜第２の実施の形態＞
以下、本発明の第２の実施の形態について説明する。本実施の形態に係る携帯電話は、バックアップが既に行われているか否かを表わすデータ（たとえば、フラグ）を生成し、そのデータに基づいて、バックアップの判断を行なう機能を有する点で、第１の実施の形態に係る携帯電話と異なる。なお、この機能は、制御部１１０が、ＲＡＭ１４６その他のメモリに格納されているデータに基づいてプログラムを実行することにより、実現される。また、本実施の形態に係る携帯電話は、前述の第１の実施の形態に係る携帯電話１００と同一のハードウェア構成を有する。それらの機能も同じである。したがって、ここではそれらについての説明は繰り返さない。
【００７１】
図９〜図１１を参照して、本実施の形態に係る携帯電話１００の制御構造について説明する。なお、第１の実施の形態における処理と同一の処理には同一のステップ番号を付し、ここではそれらについての説明は繰り返さない。
【００７２】
図９は、アプリケーションの実行時に制御部１１０が実行するデータの書込処理の手順を表わすフローチャートである。
【００７３】
ステップＳ６３０にて、制御部１１０は、フラッシュメモリ１４４のバックアップ領域Ｄ２１０に、そのブロックのデータを格納する。
【００７４】
ステップＳ９１０にて、制御部１１０は、バックアップフラグをＯＮに設定し、そのことを表わすデータをフラッシュメモリの管理データ記憶領域Ｄ２００の所定の領域に書き込む。この書込により、携帯電話１００のバッテリの容量がいつなくなっても、更新されたフラグが維持される。その後、前述したバックアップ処理が実行される。
【００７５】
ステップＳ６４０にて、制御部１１０は、指定ブロックについてのデータのバックアップが完了していることを通知するためのデータを更新する。
【００７６】
図１０は、アプリケーションの通常終了時に制御部１１０が実行する処理の手順を表わすフローチャートである。この処理は、アプリケーションによる所定の処理が正常に終了した場合に、実行される。
【００７７】
ステップＳ１０００にて、制御部１１０は、バックアップフラグをＯＦＦに設定する。このフラグの値は、フラッシュメモリ１４４の所定の領域に格納される。
【００７８】
図１１は、制御部１１０がアプリケーションの起動時に実行する処理の手順を表わすフローチャートである。
【００７９】
ステップＳ１１１０にて、制御部１１０は、管理データ記憶領域Ｄ２００の所定の領域から、起動が指令されたアプリケーションに対応するバックアップフラグを読み出す。ステップＳ１１２０にて、制御部１１０は、そのフラグがＯＮに設定されているか否かを判断する。バックアップフラグがＯＮに設定されている場合には（ステップＳ１１２０にてＹＥＳ）、処理はステップＳ８４０に移される。そうでない場合には（ステップＳ１１２０にてＮＯ）、処理はステップＳ８３０に移される。
【００８０】
以上のような構造およびフローチャートに基づく、本実施の形態に係る携帯電話の動作について説明する。なお、第１の実施の形態における動作と同じ動作の説明は、繰り返さない。
【００８１】
［アプリケーション実行時の処理］
アプリケーションの実行時に、データが格納されるアドレスに対応するブロックのバックアップがとられていない場合には（ステップＳ６１０にてＮＯ）、前述した所定のバックアップ処理が実行される（Ｓ６３０）。その後、データのバックアップが完了していることを通知するためのデータが更新される（ステップＳ６４０）。
【００８２】
［バックアップ処理］
携帯電話１００のアプリケーションの起動が再び指示されると（ステップＳ８１０）、制御部１１０は、フラッシュメモリ１４４からバックアップフラグを読み出す（ステップＳ１１１０）。このフラグがＯＮである場合には（ステップＳ１１２０にてＹＥＳ）、バックアップ領域に格納されているデータは、ブロックごとに、アプリケーションデータ領域に書き込まれる（ステップＳ８４０）。この書き込みが完了した後（ステップＳ８５０にてＹＥＳ）、データがバックアップ領域に残っているため（ステップＳ８３０にてＮＯ）、バックアップ領域のデータが削除される（ステップＳ８６０）。その後、アプリケーションの処理が開始される（ステップＳ８８０）。
【００８３】
以上のようにして、本実施の形態に係る携帯電話は、アプリケーションの実行によるデータの更新時に、バックアップ済みであるか否かを表わすためのデータ（たとえばバックアップフラグ）を生成し、フラッシュメモリ１４４に、そのデータをアプリケーションに関連付けて格納する。
【００８４】
このようにすると、携帯電話は、そのフラグの値に応じて、再度バックアップをすることが可能になるため、これまでに行なわれたバックアップ処理が中断されている場合に、アプリケーションデータ領域のデータを正常なデータに復帰させることができる。
【００８５】
なお、本発明の実施の形態に係る携帯電話において、データのフラッシュメモリへの書込を実行するプログラムは、特に限られない。アプリケーションプログラムが実行する場合もあれば、フラッシュドライバ、ファイルシステムその他のミドルウェアが実行する場合もある。フラッシュドライバがデータの書込を実行する場合には、同一の領域のみが使用されないように、データが格納される場所が調整される。ファイルシステムがデータの書込を実行する場合には、その書込の単位が「ファイル」として取り扱われる。このようなミドルウェアがデータを格納する場合であっても、バックアップの書込の回数を従来のバックアップの方法による場合に比べて少なくすることができる。これにより、バックアップに要する時間が最小限に短縮される。移動体通信装置の処理性能の低下が防止される。その結果、バックアップの不要な領域に格納されているデータのバックアップ領域への書込が行なわれなくなるため、記憶手段（たとえば、フラッシュメモリ）の寿命の短縮化が防止される。
【００８６】
また、本実施の形態においては、データの保存領域への格納は、書込が指示されたアドレスに基づいて行なわれたが、その他の態様により格納が行なわれてもよい。たとえば、特定のブロックに格納するデータが多い場合には、制御部１１０が、ＲＡＭ１４６においてそのブロックに書き込むためのデータを生成し、生成されたデータをそのブロックに格納してもよい。すなわち、データの格納を可能にするためにフラッシュメモリ１４４のアプリケーションデータ領域がオープンされた後に、前記したようにＲＡＭ１４６において予め生成されたデータを、格納してもよい。この場合、格納は、実質的には、アドレスごとに行なわれるのではなくブロックごとに行なわれることになる。この書込が完了した後に、オープンの状態にあるアプリケーション領域は、クローズされる。このようにすると、フラッシュメモリ１４４へのアクセスの頻度は、アドレスごとに行なわれる場合に比べて、少なくなるため、書込処理を効率よく実行することができる。
【００８７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【００８８】
本発明は、携帯電話、携帯情報端末などの移動体通信装置に適用可能である。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１の実施の形態に係る携帯電話の構造を表わすブロック図である。
【図２】本発明の第１の実施の形態に係る携帯電話のデータ構造を説明するための図（その１）である。
【図３】本発明の第１の実施の形態に係る携帯電話のデータ構造を説明するための図（その２）である。
【図４】本発明の第１の実施の形態に係る携帯電話のデータ構造を説明するための図（その３）である。
【図５】本発明の第１の実施の形態に係る携帯電話のデータ構造を説明するための図（その４）である。
【図６】本発明の第１の実施の形態に係る携帯電話が実行する処理の手順を表わすフローチャート（その１）である。
【図７】本発明の第１の実施の形態に係る携帯電話が実行する処理の手順を表わすフローチャート（その２）である。
【図８】本発明の第１の実施の形態に係る携帯電話が実行する処理の手順を表わすフローチャート（その３）である。
【図９】本発明の第２の実施の形態に係る携帯電話が実行する処理の手順を表わすフローチャート（その１）である。
【図１０】本発明の第２の実施の形態に係る携帯電話が実行する処理の手順を表わすフローチャート（その２）である。
【図１１】本発明の第２の実施の形態に係る携帯電話が実行する処理の手順を表わすフローチャート（その３）である。
【符号の説明】
【００９０】
１００  携帯電話、１０２  通信部、１１０  制御部、１２０  操作部、１４４  フラッシュメモリ、１４６  ＲＡＭ、１４８  ＲＯＭ、１７０  音声信号処理部、１７２  マイク、１７４  スピーカ、１５０  ディスプレイ、１７６  ＬＥＤ、１７８  データ通信ＩＦ、１８４  バイブレータ。
【図１】
2006011589.tif 000003
【図２】
2006011589.tif 000004
【図３】
2006011589.tif 000005
【図４】
2006011589.tif 000006
【図５】
2006011589.tif 000007
【図６】
2006011589.tif 000008
【図７】
2006011589.tif 000009
【図８】
2006011589.tif 000010
【図９】
2006011589.tif 000011
【図１０】
2006011589.tif 000012
【図１１】
2006011589.tif 000013