JP2006011589A - 移動体通信装置およびその装置を制御するためのプログラム - Google Patents
移動体通信装置およびその装置を制御するためのプログラム Download PDFInfo
- Publication number
- JP2006011589A JP2006011589A JP2004184613A JP2004184613A JP2006011589A JP 2006011589 A JP2006011589 A JP 2006011589A JP 2004184613 A JP2004184613 A JP 2004184613A JP 2004184613 A JP2004184613 A JP 2004184613A JP 2006011589 A JP2006011589 A JP 2006011589A
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- stored
- backup
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 データの更新に要する時間が短縮可能な移動体通信装置を提供する。
【解決手段】 移動体通信装置の一態様である携帯電話の制御部が実行する処理は、データの書込指令を検出するステップ(S600)と、指令により特定されるアドレスに対応するブロックがバックアップ済みであるか否かを判断するステップ(S610)と、そのブロックがバックアップ済みである場合に(S610にてYES)、そのアドレスのみにデータを書き込むステップ(S620)と、バックアップ済みでない場合に(ステップS610にてNO)、フラッシュメモリのバックアップ領域に、そのブロックのデータを格納するステップ(S630)と、アプリケーションデータ領域に更新データを格納するステップ(S640)とを含む。
【選択図】 図6
【解決手段】 移動体通信装置の一態様である携帯電話の制御部が実行する処理は、データの書込指令を検出するステップ(S600)と、指令により特定されるアドレスに対応するブロックがバックアップ済みであるか否かを判断するステップ(S610)と、そのブロックがバックアップ済みである場合に(S610にてYES)、そのアドレスのみにデータを書き込むステップ(S620)と、バックアップ済みでない場合に(ステップS610にてNO)、フラッシュメモリのバックアップ領域に、そのブロックのデータを格納するステップ(S630)と、アプリケーションデータ領域に更新データを格納するステップ(S640)とを含む。
【選択図】 図6
Description
本発明は、移動体通信装置の制御に関し、特に、複数の領域からなるブロックごとにデータを更新可能な移動体通信装置およびブロックごとにデータを更新するように移動体通信装置を制御するためのプログラムに関する。
プログラムの実行機能を有する情報処理装置は、メモリに、その実行により生成されるデータを格納する。メモリがたとえば不揮発性のメモリである場合には、その装置の電源がオフになった後も、そのデータは保持される。この場合、そのデータは、プログラムが次回実行される場合に再度使用される。
情報処理装置の一態様として携帯電話その他の移動体通信装置がある。これらの装置は、通常充電可能なバッテリを備えており、そのバッテリから電力が供給される限り、アプリケーションプログラムの実行その他の所定の動作を実行することができる。このとき、たとえばデータの更新が、バッテリの消耗により、最後まで実行されない場合がある。この場合、バッテリの充電後に、移動体通信装置を再度起動して、そのアプリケーションプログラムを実行すると、メモリのデータが適切に格納されていないため、そのプログラムによる所定の処理が実行されない場合がある。
そこで、たとえば特開平9−179787号公報(特許文献1)は、データの書き換え時に不測の事態が発生した場合であってもデータの欠損を防止することができる記録媒体を開示する。この記録媒体は、システム領域と、バックアップ領域と、業務情報領域とを有する記憶部と、記憶部に対して情報の書き込み又は読み出しを行なう制御部と、制御部が業務情報領域に格納されている情報の書き換えを行なう場合に、書き換え前の情報をバックアップ領域に複写し、書き換え前の情報に関する管理情報をシステム領域に記録する複写部と、業務情報領域の書き換えが正常に終了した場合に、管理情報を無効にする複写無効部と、リセット後であって、コマンドの実行前に、管理情報に基づいて書き換えの正常/異常を判断し、異常である場合にバックアップ領域の情報を業務情報領域に復帰させる情報復帰部とを含む。
特許文献1に開示された記録媒体によると、制御部が業務情報領域に格納されている情報の書き換えを行う場合に、複写部は、書き換え前の情報をバックアップ領域に複写するとともに、書き換え前の情報に関する管理情報をシステム領域に記録する。複写無効部は、業務情報領域の書き換えが正常に終了した場合に、管理情報を無効にする。情報復帰部は、リセット後のコマンド実行前に、管理情報に基づいて書き換えの正常/異常を判断する。書き換えが異常である場合には、バックアップ領域の情報が業務情報領域に復帰される。これにより、業務情報領域に格納されている情報が書き換え時に消失・欠損することが防止される。
また、特開2002−41314号公報(特許文献2)は、フラッシュメモリの書き換え時にそのデータを一時的に退避させる不揮発性のテンポラリメモリを内蔵したプログラム書き換え装置を開示している。
また、特開2001−356925号公報(特許文献3)は、ソフトウェアのバグが検出された場合に、ユーザによるソフトウェアの更新が可能な携帯電話機を開示している。
さらに、特開2000−330779号公報(特許文献4)は、ダウンロード時間の短縮、ダウンロード時の信頼性の向上、メモリ容量の削減化、ダウンロードの失敗によるセットアップが失敗しても自立で復旧することができるファームウエアプログラム遠隔更新システムを開示している。
特開平9−179787号公報
特開2002−41314号公報
特開2001−356925号公報
特開2000−330779号公報
移動体通信装置は、通常、データの更新を何度も実行することが多い。すなわち、アプリケーションプログラムの実行毎に、生成されるデータが書き込まれる場合がある。この場合、データの書き込みが、メモリ上の特定のアドレスにおいて、何度も繰り返されることが多い。同一のアドレスのデータが何度も更新される場合、データが書き込まれる領域に既に格納されていたデータを別のデータ領域に保存すると、そのデータ領域に保存されているデータが上書きされる。そのため、最初のデータが保存されなくなり、たとえば、更新前のデータが必要になった場合に、そのデータを回復することができない。
また、書き込みごとにバックアップデータを保存する場合、書き込み回数が多くなると、それに応じて、書き込み時間が長くなる。特に、不揮発性メモリへの書き込みは、一度の書き込みに時間を要するため、書き込み回数が多いと、それだけ移動体通信装置の演算機能のパフォーマンスが低下する。さらに、たとえば、不揮発領域にフラッシュメモリを使用している場合には、書き込み回数が多いとフラッシュメモリの使用寿命が短くなる可能性がある。
しかしながら、特許文献1に開示された記録媒体では、データの更新は複数回行なわれる可能性があり、その際、同じアドレスに対する更新が複数回行なわれる場合もあり得る。このような場合において、データの更新ごとに、更新前のデータを他の領域に退避させると、同じアドレスが何度も更新された場合には、最初のデータが上書きにより保存されなくなり、更新前のデータに復旧することができなくなる。また、更新ごとにバックアップ用のデータを保存するため、更新回数が多いと、更新のための時間、たとえば書き込み時間も、長くなる。
さらに、たとえばフラッシュメモリその他の不揮発性のメモリに対するデータの書込時間は、その他のメモリにおいて書込に要する時間よりも長くなる場合が多い。携帯電話その他の携帯通信端末が不揮発性メモリを使用している場合には、その端末のパフォーマンスが低下したり、そのメモリの使用寿命を短くする場合もある。
本発明は、上述の問題点を解決するためになされたものであって、その目的は、データの更新時にバックアップが行なわれる場合であっても、その更新に要する書込時間を短くすることができる移動体通信装置を提供することである。
本発明の他の目的は、データの書込によるその他の性能の低下を防止することができる移動体通信装置を提供することである。
本発明の他の目的は、メモリの寿命の低下を防止することができる移動体通信装置を提供することである。
本発明の他の目的は、動作の停止が正常に行なわれなかった場合においても、動作を正常に再開することができる移動体通信装置を提供することである。
本発明のさらに他の目的は、データの更新時にバックアップが行なわれる場合であっても、その更新に要する書込時間が短くなるように移動体通信装置を制御するためのプログラムを提供することである。
上記の課題を解決するために、この発明のある局面に従うと、移動体通信装置は、予め定められた処理を実行するプログラムを格納するためのプログラム記憶手段と、プログラムを実行するためのプログラム実行手段と、複数の領域の各々に、実行により生成された生成データを格納する記憶手段と、実行に応答して、予め定められた数の領域からなるブロックごとに、生成データが書き込まれる保存領域に格納されている保存データと、保存領域と異なるバックアップ領域に格納されているデータとに基づいて、保存データがバックアップ領域に格納されているか否かを判断するための判断手段と、判断の結果に基づいて、ブロックごとに、保存領域に対するデータの格納を制御するための制御手段とを備える。
上記の構成を有する移動体通信装置によると、データのバックアップが必要か否かは、予め定められた数の領域からなるブロックごとに行なわれるため、バックアップが不要と判断されたブロックのデータは、バックアップが行なわれなくなる。その結果、データのバックアップに要する時間が必要最小限に抑制される。また、フラッシュメモリその他の記憶手段の寿命の短縮化が防止される。
好ましくは、プログラム実行手段は、プログラムの実行時に、生成データを書込む指示を出力する。判断手段は、指示に応答して、保存データがバックアップ領域に格納されているか否かを判断する。
好ましくは、プログラム実行手段は、プログラムの実行時に、生成データと、保存領域を特定するためのアドレスとを出力する。判断手段は、アドレスに基づいて、保存データがバックアップ領域に格納されているか否かを判断する。
好ましくは、制御手段は、保存データがバックアップ領域に格納されている場合に、保存領域に、生成データを格納する格納手段と、保存データがバックアップ領域に格納されていない場合に、バックアップ領域に、保存データを格納するバックアップ手段と、バックアップ領域に保存データを格納した後に、保存領域に生成データを格納する手段とを含む。
好ましくは、バックアップ手段は、バックアップ領域に、保存データと、保存領域を特定するためのアドレスとを格納する。移動体通信装置は、アドレスに基づいて、保存領域に、バックアップ領域に格納されている保存データを書き込むための復帰手段をさらに備える。
好ましくは、移動体通信装置は、保存領域に、バックアップ領域に格納されている保存データを格納するレストア指示を検出するための検出手段をさらに備える。復帰手段は、レストア指示の検出に応答して、アドレスにより特定される保存領域に、バックアップ領域に格納されている保存データを書き込む。
好ましくは、移動体通信装置は、電力を供給するバッテリをさらに備える。検出手段は、電力がプログラム実行手段に供給された場合に、レストア指示を検知する。
好ましくは、記憶手段はさらに、ブロックごとに関連付けられる予め定められた数の領域をそれぞれ特定するための各々の領域情報と、ブロックとを対応付けて記憶する。プログラム実行手段は、プログラムの実行時に、領域情報を有するデータの書込指示を出力する。移動体通信装置は、領域情報に基づいて、生成データが格納される領域に対応するブロックを特定するための特定手段をさらに備える。
好ましくは、移動体通信装置は、ブロックごとに、ブロックに対応する各領域のデータが更新されているか否かを表わすための更新情報を格納する手段と、ブロックに対応する各領域のデータが更新されている場合に、保存領域からバックアップ領域へのデータの格納を禁止するためのバックアップ禁止手段とをさらに備える。
好ましくは、移動体通信装置は、生成データの書込指示を検知するための検知手段をさらに備える。バックアップ禁止手段は、書込指示が検知されたときに、ブロックに対応する各領域のデータが更新されている場合には、保存領域からバックアップ領域へのデータの格納を禁止する。
好ましくは、移動体通信装置は、保存領域に格納されているデータを保存領域に格納するための参照情報が、バックアップ領域に格納されているか否かを確認するための確認手段と、確認の結果に基づいて、プログラムの実行を制御するための実行制御手段とをさらに備える。
好ましくは、確認手段は、プログラムの実行時に、参照情報がバックアップ領域に格納されているか否かを確認する。実行制御手段は、参照情報がバックアップ領域に格納されていない場合に、プログラム実行手段にプログラムを実行させる手段と、参照情報がバックアップ領域に格納されている場合に、バックアップ領域のデータを保存領域に格納する手段と、保存領域への格納後に、プログラム実行手段にプログラムを実行させる手段とを含む。
好ましくは、移動体通信装置は、保存領域への格納後に、バックアップ領域のデータを削除するための消去手段をさらに備える。
この発明の他の局面に従うと、プログラムは、移動体通信装置を制御するためのプログラムである。このプログラムは移動体通信装置に、複数の領域を有し、予め定められた処理を実行するプログラムとデータとを格納する記憶手段から、プログラムを読み出すステップと、プログラムを実行して生成データを出力するステップと、実行に応答して、予め定められた数の領域からなるブロックごとに、生成データが書き込まれる保存領域に格納されている保存データと、保存領域と異なるバックアップ領域に格納されているデータとに基づいて、保存データがバックアップ領域に格納されているか否かを判断するステップと、判断の結果に基づいて、ブロックごとに、保存領域に対するデータの格納を制御するステップとを実行させる。
本発明に係る移動体通信装置によると、データのバックアップが予め定められたブロックごとに行なわれ、バックアップの不要なブロックのデータはバックアップ処理が実行されない。これにより、バックアップに要する時間が最小限に短縮される。その結果、移動体通信装置の処理性能の低下が防止される。また、バックアップの不要な領域に格納されているデータのバックアップ領域への書込が行なわれなくなるため、記憶手段(たとえば、フラッシュメモリ)の寿命の短縮化が防止される。
本発明に係るプログラムによると、移動体通信装置は、ブロックごとにデータをバックアップし、バックアップの不要なブロックのバックアップは実行しない。そのため、バックアップに要する時間が最小限に短縮される。その結果、移動体通信装置は、他の処理を速やかに実行することができる。これにより、移動体通信装置のパフォーマンスの低下が防止される。また、バックアップの不要な領域に格納されているデータのバックアップ領域への書込が行なわれなくなるため、記憶手段(たとえば、フラッシュメモリ)の寿命の短縮化が防止される。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<第1の実施の形態>
図1を参照して、本発明の第1の実施の形態に係る移動体通信装置について説明する。図1は、移動体通信装置の一態様である携帯電話100の構成を表わすブロック図である。なお、移動体通信装置の態様は、携帯電話に限られない。
図1を参照して、本発明の第1の実施の形態に係る移動体通信装置について説明する。図1は、移動体通信装置の一態様である携帯電話100の構成を表わすブロック図である。なお、移動体通信装置の態様は、携帯電話に限られない。
携帯電話100は、アンテナ108と、アンテナ108を介してデータを通信するための通信部102と、外部から指示の入力を受付けるための操作部120と、データを格納するためのフラッシュメモリ144と、データを一時的に格納するためのRAM(Random Access Memory)146と、予め作成されたプログラムあるいはデータを格納するためのROM(Read Only Memory)148と、受信データ、各メモリに格納されているデータあるいはROM148に格納されているプログラムに基づいて予め定められた処理を実行してプログラムに応じたデータを出力するとともに、各部の動作を制御するための制御部110と、マイク172と、スピーカ174と、音声信号と電気信号との間で予め定められた変換処理を実行するための音声信号処理部170と、画像を表示するためのディスプレイ150と、制御部110から出力される信号に基づいて発光するLED(Light Emitting Diode)176と、外部とデータ通信するためのデータ通信IF(Interface)178と、制御部110により出力される信号に基づいて所定の発振動作をするバイブレータ184とを含む。
制御部110は、フラッシュメモリ144において予め定められた領域ごとにデータを格納するための更新制御部と、更新の対象となるデータを所定のアプリケーションデータ領域に格納するか否かを判断するための判断部と、フラッシュメモリ144において更新の対象となるデータを特定するための特定部と、フラッシュメモリ144に格納されている管理データに基づいて更新の対象となるアドレスに格納されているデータのバックアップがとられているか否かを判断するためのバックアップ判断部と、そのデータのバックアップがとられている場合にアプリケーションデータ領域にそのデータを格納するための更新部と、そのデータのバックアップがとられていない場合にそのデータをバックアップ領域に格納するためのバックアップ部として機能する。これらの機能は、フラッシュメモリ144あるいはROM148に格納されているプログラムが実行されることにより、実現される。操作部120は、たとえば数字ボタン、その他の操作キーである。
ここで、メモリのデータ記憶領域に対するデータの書込の一特性について説明する。アプリケーションのデータの書込は、当該データ記憶領域の全域に分散して行なわれる場合もあれば、特定の領域に集中して行なわれる場合もある。このような書込の態様の相違は、たとえば、データの書込機能の特性等に基づいて生じる場合もあれば、その他の要因によって生じる場合もある。したがって、予め定められた数のデータ記憶領域をブロックとしてデータの書込の制御の対象として管理することにより、データの書込が必要な領域以外の領域に対して、更新されていないデータの書込を防止することができる。
図2〜図4を参照して、本実施の形態に係る携帯電話100におけるデータ構造について説明する。図2〜図4はそれぞれ、フラッシュメモリ144におけるデータの格納の一態様を概念的に表わす図である。
図2に示されるように、フラッシュメモリ144には、予め定められたアドレス(たとえばa000、a255など)が割当てられている。各アドレスは、フラッシュメモリ144の単位、たとえばセクタに応じて割当てられる。各アドレスにより特定される記憶領域は、後述するように複数の単位でまとめられてそれぞれデータブロックを形成する。
ここで各ブロックとそのブロックに対応付けられるアドレスとを管理するための管理データは、たとえば管理データ記憶領域D200に格納されている。この領域の詳細は、後述する。
第1のブロックは、たとえばアドレスa000からa255までの記憶領域に割り当てられている。第2のブロックは、アドレスa256からa511までの記憶領域に割り当てられている。同様に、第nのブロックは、アドレスb000からb255までの記憶領域に割り当てられている。これらの領域は、各プログラムに割り当てられており、そのプログラムの実行に使用されるデータが格納される。以下、この領域をアプリケーションデータ領域と称する。
フラッシュメモリ144はさらに、後述するように、バックアップデータを格納するためのバックアップ領域D210を含む。この領域は、アドレスe000からf511までの記憶領域を有する。なお、バックアップデータとは、上記のアプリケーションデータ領域に格納されていたデータのうち、更新の対象となるデータを、一時的に、領域D210に退避されたものに相当する。
次に、図3を参照して、フラッシュメモリ144の各記憶領域のアドレスとその記憶領域が対応付けられるブロックとを関連付けるためのデータは、管理データ記憶領域D200に格納されている。制御部110は、この領域に格納されている情報を参照することにより、アドレスにより特定される各記憶領域がいずれのブロックに属するものかを知ることができる。
次に図4を参照して、フラッシュメモリ144のバックアップ領域D210には、アプリケーションデータ領域に格納されているデータのバックアップ用のデータが格納されている。たとえば、領域D410は、第1のバックアップデータ用アドレスを格納している。このアドレスは、領域D430に格納されている第1のバックアップデータのアプリケーションデータ領域におけるアドレスを特定するためのデータである。同様に、領域D420は、第2のバックアップデータ用アドレスを格納している。このアドレスは、たとえば領域D440に格納されている第2のバックアップデータが本来アプリケーションデータ領域に格納されているアドレスを特定するためのデータである。
このように、各バックアップデータとそのデータのアプリケーションデータ領域におけるアドレスとが関連付けてフラッシュメモリ144に格納されているため、制御部110は、データの復旧処理(いわゆるレストア処理)が必要になった場合に、復旧が必要なアドレスに、バックアップデータを格納することができる。
図5を参照して、本実施の形態に係る携帯電話100のデータ構造についてさらに説明する。図5は、RAM146におけるデータの格納の一態様を概念的に表わす図である。
これらのデータは、携帯電話100が後述するデータの格納処理を実行する場合に一時的に生成されRAM146の所定の領域に格納される。すなわち、領域D510は、更新の対象となるデータのバックアップがとられているか否かを表わすためのバックアップフラグを格納している。領域D520,530は、データの更新時においてバックアップの対象となる各ブロックがバックアップされているか否かを表わすデータを格納している。第1のブロックについてバックアップが完了している場合には、図5に示すように「1」のデータが格納される。バックアップが完了していないブロックについては、たとえば領域D530に示すように「0」の値が格納される。
次に、図6〜図8を参照して、携帯電話100の制御構造について説明する。図6は、制御部110が実行する書込処理の手順を表わすフローチャートである。この処理は、たとえば制御部110がユーザにより指定されたアプリケーションプログラムを実行している場合に、そのプログラムにより生成されるデータを更新する指示が出力された場合に実行される。
ステップS600にて、制御部110は、入力信号に基づいてデータを書き込む指令を検出する。この指令には、プログラムの実行により生成された更新用のデータと、そのデータが書き込まれるアドレスが含まれる。
ステップS610にて、制御部110は、その指令により特定されるアドレスに対応するブロックがバックアップ済みであるか否かを判断する。この判断は、たとえば図3または図5に示されるデータに基づいて行なわれる。すなわち、そのアドレスに格納されているデータが、バックアップ領域に格納されているか否かが判断される。そのブロックがバックアップ済みである場合には(ステップS610にてYES)、処理はステップS620に移される。そうでない場合には(ステップS610にてNO)、処理はステップS630に移される。
ステップS620にて、制御部110は、そのアドレスに、更新の対象となるデータを書き込む。ステップS630にて、制御部110は、フラッシュメモリ144のバックアップ領域D210に、そのブロックのデータを格納する。その結果、たとえば図4に示されるように、更新の対象となるデータは、領域D430,440などの領域に格納される。また、それらのデータが格納されていたアドレス、すなわち、アプリケーションデータ領域におけるアドレスを特定するためのデータは、領域D410,420などに格納される。
ステップS640にて、制御部110は、データのバックアップが完了していることを通知するためのデータを、RAM146の所定の領域、たとえば領域D520において更新する。更新後、処理は、ステップS620に移される。
図7は、アプリケーションの通常終了時に制御部110が実行する処理の手順を表わすフローチャートである。この処理は、アプリケーションによる所定の処理が正常に終了した場合に、実行される。
ステップS710にて、制御部110は、指令を検知する。ステップS720にて、制御部110は、その指令がアプリケーションの終了指令であるか否かを判断する。この判断は、たとえば検知した指令に含まれるコードが終了を指示するものであるか否かに基づいて行なわれる。アプリケーションの終了指令が検知された場合には(ステップS720にてYES)、処理はステップS730に移される。そうでない場合には(ステップS720にてNO)、処理は終了する。この場合、バックアップ領域に格納されているデータは、消去されない。ステップS730にて、制御部110は、フラッシュメモリ144のバックアップ領域D210のデータを削除する。
図8は、制御部110がアプリケーションの起動時に実行する処理の手順を表わすフローチャートである。
ステップS810にて、制御部110は、操作部120のボタン(図示しない)の押下に基づいてアプリケーションの起動指令を検知する。ステップS820にて、制御部110は、フラッシュメモリ144からバックアップ領域D210に格納されている管理データを読み出す。ステップS830にて、制御部110は、バックアップ領域D210が開放されているか否かを判断する。この判断は、たとえばその領域D210にデータが格納されているか否かを検知することにより行なわれる。ここで、バックアップ領域の開放とは、アプリケーションデータ領域に格納されるべきデータが格納されていないことをいう。領域D210が開放されている場合には(ステップS830にてYES)、処理はステップS880に移される。そうでない場合には(ステップS830にてNO)、処理はステップS840に移される。
ステップS840にて、制御部110は、フラッシュメモリ144のアプリケーションデータ領域にバックアップ領域D210に格納されているデータを書き込む。この書き込みは、領域D410,420などに格納されているバックアップデータ用アドレスに基づいて行なわれる。
ステップS850にて、制御部110は、データの書き込みが完了したか否かを判断する。この判断は、たとえば以下の手順で行なわれる。まず、領域D210に格納されているバックアップ用データを特定するためのデータ(たとえばアドレス)ごとに、バックアップ済みであるか否かを表わすデータがRAM146に格納される(図5、領域D520,530)。次に、アプリケーションデータ領域への書込に応じて、そのデータは、バックアップ待ちであることを表わすデータ(たとえば「0」)から、バックアップ済みであることを表わすデータ(たとえば「1」)に変更される。したがって、このような場合、制御部110は、そのデータが「0」か「1」かを確認することにより、データの書き込みが完了したか否かを判断することができる。データの書き込みが完了した場合には(ステップS850にてYES)、処理はステップS860に移される。そうでない場合には(ステップS850にてNO)、処理はステップS840に戻される。
ステップS860にて、制御部110は、バックアップ領域D210に格納されているデータを削除する。ステップS870にて、制御部110は、RAM146に格納されていた管理データを初期化する。
ステップS880にて、制御部110は、起動指令に含まれているアプリケーションを特定するためのデータ(たとえば、アプリケーションのインストール時に自動的に付与されるプログラムID)に基づいて、そのアプリケーションを起動する。これにより、携帯電話100は、そのアプリケーションに基づく処理(たとえば、ブラウザを介した情報の閲覧、ダウンロード等)を開始する。
以上のような構造およびフローチャートに基づく、本実施の形態に係る携帯電話100の動作について説明する。
[アプリケーション実行時の処理]
ユーザが携帯電話100の操作部120を操作して、所定のアプリケーションの実行を開始する。アプリケーションが起動され、所定の操作により、更新の対象となる更新データが生成される。アプリケーションがそのデータの格納を指示すると(ステップS600)、そのデータが格納されるアドレスに対応するブロックのバックアップがとられていない場合には(ステップS610にてNO)、そのブロックのデータがフラッシュメモリ144のバックアップ領域に格納される(ステップS630)。この場合、更新が必要とされるブロックに対応するデータのみがバックアップ領域に格納されるため、データの更新処理に要する時間は、必要最小限の時間に抑制される。バックアップの完了後、制御部110は、フラッシュメモリ144のアプリケーションデータ領域に更新データを格納する(ステップS620)。
ユーザが携帯電話100の操作部120を操作して、所定のアプリケーションの実行を開始する。アプリケーションが起動され、所定の操作により、更新の対象となる更新データが生成される。アプリケーションがそのデータの格納を指示すると(ステップS600)、そのデータが格納されるアドレスに対応するブロックのバックアップがとられていない場合には(ステップS610にてNO)、そのブロックのデータがフラッシュメモリ144のバックアップ領域に格納される(ステップS630)。この場合、更新が必要とされるブロックに対応するデータのみがバックアップ領域に格納されるため、データの更新処理に要する時間は、必要最小限の時間に抑制される。バックアップの完了後、制御部110は、フラッシュメモリ144のアプリケーションデータ領域に更新データを格納する(ステップS620)。
[アプリケーションの終了時の処理]
ユーザが携帯電話100の操作部120を再び操作して、アプリケーションの終了を指示すると(ステップS720にてYES)、バックアップ領域に格納されていたデータは、削除される(ステップS730)。もし、電池の消耗などで本処理が完了されない場合、バックアップ領域に格納されているデータがそのまま保持される。
ユーザが携帯電話100の操作部120を再び操作して、アプリケーションの終了を指示すると(ステップS720にてYES)、バックアップ領域に格納されていたデータは、削除される(ステップS730)。もし、電池の消耗などで本処理が完了されない場合、バックアップ領域に格納されているデータがそのまま保持される。
[バックアップ処理]
携帯電話100のアプリケーションの起動が再び指示されると(ステップS810)、バックアップ領域の管理データが読み出される(ステップS820)。バックアップ領域にデータが保存されている場合、バックアップ領域が開放されてないと判断され(ステップS830にてNO)、バックアップ領域に格納されているデータは、ブロックごとに、アプリケーションデータ領域に書き込まれる(ステップS840)。この書込、すなわちデータのレストアが完了すると(ステップS850にてYES)、制御部110は、バックアップ領域のデータを削除する(ステップS860)。その後、アプリケーションの処理が開始される(ステップS880)。
携帯電話100のアプリケーションの起動が再び指示されると(ステップS810)、バックアップ領域の管理データが読み出される(ステップS820)。バックアップ領域にデータが保存されている場合、バックアップ領域が開放されてないと判断され(ステップS830にてNO)、バックアップ領域に格納されているデータは、ブロックごとに、アプリケーションデータ領域に書き込まれる(ステップS840)。この書込、すなわちデータのレストアが完了すると(ステップS850にてYES)、制御部110は、バックアップ領域のデータを削除する(ステップS860)。その後、アプリケーションの処理が開始される(ステップS880)。
以上のようにして、本実施の形態に係る携帯電話100は、アプリケーションの実行中に生成されたデータを更新する際、必要最小限の記憶領域、すなわち、予め所定の領域ごとに管理されたブロックごとに、データを格納する。これにより、データの更新が不要な領域に対するデータの書込が行なわれなくなるため、データの更新に要する時間を最小限にすることができる。その結果、携帯電話100のパフォーマンスが向上する。
また、データの書込が必要最小限の領域に限定されるため、フラッシュメモリ144その他の記憶手段の使用寿命の短縮化が防止される。
さらに、当該携帯電話100によると、たとえば、電池の消耗などで本処理が完了されない場合、バックアップ領域に格納されているデータは、消去されることなく、そのまま保持される。この場合、当該アプリケーションが再び実行される前に、携帯電話100は、バックアップ領域に格納されているデータをアプリケーションデータ領域に復帰させることができる。したがって、携帯電話100は、復帰されたデータに基づいて、当該アプリケーションを正常に実行することができる。
<第2の実施の形態>
以下、本発明の第2の実施の形態について説明する。本実施の形態に係る携帯電話は、バックアップが既に行われているか否かを表わすデータ(たとえば、フラグ)を生成し、そのデータに基づいて、バックアップの判断を行なう機能を有する点で、第1の実施の形態に係る携帯電話と異なる。なお、この機能は、制御部110が、RAM146その他のメモリに格納されているデータに基づいてプログラムを実行することにより、実現される。また、本実施の形態に係る携帯電話は、前述の第1の実施の形態に係る携帯電話100と同一のハードウェア構成を有する。それらの機能も同じである。したがって、ここではそれらについての説明は繰り返さない。
以下、本発明の第2の実施の形態について説明する。本実施の形態に係る携帯電話は、バックアップが既に行われているか否かを表わすデータ(たとえば、フラグ)を生成し、そのデータに基づいて、バックアップの判断を行なう機能を有する点で、第1の実施の形態に係る携帯電話と異なる。なお、この機能は、制御部110が、RAM146その他のメモリに格納されているデータに基づいてプログラムを実行することにより、実現される。また、本実施の形態に係る携帯電話は、前述の第1の実施の形態に係る携帯電話100と同一のハードウェア構成を有する。それらの機能も同じである。したがって、ここではそれらについての説明は繰り返さない。
図9〜図11を参照して、本実施の形態に係る携帯電話100の制御構造について説明する。なお、第1の実施の形態における処理と同一の処理には同一のステップ番号を付し、ここではそれらについての説明は繰り返さない。
図9は、アプリケーションの実行時に制御部110が実行するデータの書込処理の手順を表わすフローチャートである。
ステップS630にて、制御部110は、フラッシュメモリ144のバックアップ領域D210に、そのブロックのデータを格納する。
ステップS910にて、制御部110は、バックアップフラグをONに設定し、そのことを表わすデータをフラッシュメモリの管理データ記憶領域D200の所定の領域に書き込む。この書込により、携帯電話100のバッテリの容量がいつなくなっても、更新されたフラグが維持される。その後、前述したバックアップ処理が実行される。
ステップS640にて、制御部110は、指定ブロックについてのデータのバックアップが完了していることを通知するためのデータを更新する。
図10は、アプリケーションの通常終了時に制御部110が実行する処理の手順を表わすフローチャートである。この処理は、アプリケーションによる所定の処理が正常に終了した場合に、実行される。
ステップS1000にて、制御部110は、バックアップフラグをOFFに設定する。このフラグの値は、フラッシュメモリ144の所定の領域に格納される。
図11は、制御部110がアプリケーションの起動時に実行する処理の手順を表わすフローチャートである。
ステップS1110にて、制御部110は、管理データ記憶領域D200の所定の領域から、起動が指令されたアプリケーションに対応するバックアップフラグを読み出す。ステップS1120にて、制御部110は、そのフラグがONに設定されているか否かを判断する。バックアップフラグがONに設定されている場合には(ステップS1120にてYES)、処理はステップS840に移される。そうでない場合には(ステップS1120にてNO)、処理はステップS830に移される。
以上のような構造およびフローチャートに基づく、本実施の形態に係る携帯電話の動作について説明する。なお、第1の実施の形態における動作と同じ動作の説明は、繰り返さない。
[アプリケーション実行時の処理]
アプリケーションの実行時に、データが格納されるアドレスに対応するブロックのバックアップがとられていない場合には(ステップS610にてNO)、前述した所定のバックアップ処理が実行される(S630)。その後、データのバックアップが完了していることを通知するためのデータが更新される(ステップS640)。
アプリケーションの実行時に、データが格納されるアドレスに対応するブロックのバックアップがとられていない場合には(ステップS610にてNO)、前述した所定のバックアップ処理が実行される(S630)。その後、データのバックアップが完了していることを通知するためのデータが更新される(ステップS640)。
[バックアップ処理]
携帯電話100のアプリケーションの起動が再び指示されると(ステップS810)、制御部110は、フラッシュメモリ144からバックアップフラグを読み出す(ステップS1110)。このフラグがONである場合には(ステップS1120にてYES)、バックアップ領域に格納されているデータは、ブロックごとに、アプリケーションデータ領域に書き込まれる(ステップS840)。この書き込みが完了した後(ステップS850にてYES)、データがバックアップ領域に残っているため(ステップS830にてNO)、バックアップ領域のデータが削除される(ステップS860)。その後、アプリケーションの処理が開始される(ステップS880)。
携帯電話100のアプリケーションの起動が再び指示されると(ステップS810)、制御部110は、フラッシュメモリ144からバックアップフラグを読み出す(ステップS1110)。このフラグがONである場合には(ステップS1120にてYES)、バックアップ領域に格納されているデータは、ブロックごとに、アプリケーションデータ領域に書き込まれる(ステップS840)。この書き込みが完了した後(ステップS850にてYES)、データがバックアップ領域に残っているため(ステップS830にてNO)、バックアップ領域のデータが削除される(ステップS860)。その後、アプリケーションの処理が開始される(ステップS880)。
以上のようにして、本実施の形態に係る携帯電話は、アプリケーションの実行によるデータの更新時に、バックアップ済みであるか否かを表わすためのデータ(たとえばバックアップフラグ)を生成し、フラッシュメモリ144に、そのデータをアプリケーションに関連付けて格納する。
このようにすると、携帯電話は、そのフラグの値に応じて、再度バックアップをすることが可能になるため、これまでに行なわれたバックアップ処理が中断されている場合に、アプリケーションデータ領域のデータを正常なデータに復帰させることができる。
なお、本発明の実施の形態に係る携帯電話において、データのフラッシュメモリへの書込を実行するプログラムは、特に限られない。アプリケーションプログラムが実行する場合もあれば、フラッシュドライバ、ファイルシステムその他のミドルウェアが実行する場合もある。フラッシュドライバがデータの書込を実行する場合には、同一の領域のみが使用されないように、データが格納される場所が調整される。ファイルシステムがデータの書込を実行する場合には、その書込の単位が「ファイル」として取り扱われる。このようなミドルウェアがデータを格納する場合であっても、バックアップの書込の回数を従来のバックアップの方法による場合に比べて少なくすることができる。これにより、バックアップに要する時間が最小限に短縮される。移動体通信装置の処理性能の低下が防止される。その結果、バックアップの不要な領域に格納されているデータのバックアップ領域への書込が行なわれなくなるため、記憶手段(たとえば、フラッシュメモリ)の寿命の短縮化が防止される。
また、本実施の形態においては、データの保存領域への格納は、書込が指示されたアドレスに基づいて行なわれたが、その他の態様により格納が行なわれてもよい。たとえば、特定のブロックに格納するデータが多い場合には、制御部110が、RAM146においてそのブロックに書き込むためのデータを生成し、生成されたデータをそのブロックに格納してもよい。すなわち、データの格納を可能にするためにフラッシュメモリ144のアプリケーションデータ領域がオープンされた後に、前記したようにRAM146において予め生成されたデータを、格納してもよい。この場合、格納は、実質的には、アドレスごとに行なわれるのではなくブロックごとに行なわれることになる。この書込が完了した後に、オープンの状態にあるアプリケーション領域は、クローズされる。このようにすると、フラッシュメモリ144へのアクセスの頻度は、アドレスごとに行なわれる場合に比べて、少なくなるため、書込処理を効率よく実行することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明は、携帯電話、携帯情報端末などの移動体通信装置に適用可能である。
100 携帯電話、102 通信部、110 制御部、120 操作部、144 フラッシュメモリ、146 RAM、148 ROM、170 音声信号処理部、172 マイク、174 スピーカ、150 ディスプレイ、176 LED、178 データ通信IF、184 バイブレータ。
Claims (14)
- 予め定められた処理を実行するプログラムを格納するためのプログラム記憶手段と、
前記プログラムを実行するためのプログラム実行手段と、
複数の領域の各々に、前記実行により生成された生成データを格納する記憶手段と、
前記実行に応答して、予め定められた数の前記領域からなるブロックごとに、前記生成データが書き込まれる保存領域に格納されている保存データと、前記保存領域と異なるバックアップ領域に格納されているデータとに基づいて、前記保存データが前記バックアップ領域に格納されているか否かを判断するための判断手段と、
前記判断の結果に基づいて、前記ブロックごとに、前記保存領域に対するデータの格納を制御するための制御手段とを備える、移動体通信装置。 - 前記プログラム実行手段は、前記プログラムの実行時に、前記生成データを書込む指示を出力し、
前記判断手段は、前記指示に応答して、前記保存データが前記バックアップ領域に格納されているか否かを判断する、請求項1に記載の移動体通信装置。 - 前記プログラム実行手段は、前記プログラムの実行時に、前記生成データと、前記保存領域を特定するためのアドレスとを出力し、
前記判断手段は、前記アドレスに基づいて、前記保存データが前記バックアップ領域に格納されているか否かを判断する、請求項1に記載の移動体通信装置。 - 前記制御手段は、
前記保存データが前記バックアップ領域に格納されている場合に、前記保存領域に、前記生成データを格納する格納手段と、
前記保存データが前記バックアップ領域に格納されていない場合に、前記バックアップ領域に、前記保存データを格納するバックアップ手段と、
前記バックアップ領域に前記保存データを格納した後に、前記保存領域に前記生成データを格納する手段とを含む、請求項1に記載の移動体通信装置。 - 前記バックアップ手段は、前記バックアップ領域に、前記保存データと、前記保存領域を特定するためのアドレスとを格納し、
前記移動体通信装置は、前記アドレスに基づいて、前記保存領域に、前記バックアップ領域に格納されている前記保存データを書き込むための復帰手段をさらに備える、請求項4に記載の移動体通信装置。 - 前記移動体通信装置は、前記保存領域に、前記バックアップ領域に格納されている前記保存データを格納するレストア指示を検出するための検出手段をさらに備え、
前記復帰手段は、前記レストア指示の検出に応答して、前記アドレスにより特定される前記保存領域に、前記バックアップ領域に格納されている前記保存データを書き込む、請求項5に記載の移動体通信装置。 - 前記移動体通信装置は、電力を供給するバッテリをさらに備え、
前記検出手段は、前記電力が前記プログラム実行手段に供給された場合に、前記レストア指示を検知する、請求項6に記載の移動体通信装置。 - 前記記憶手段はさらに、前記ブロックごとに関連付けられる前記予め定められた数の領域をそれぞれ特定するための各々の領域情報と、前記ブロックとを対応付けて記憶し、
前記プログラム実行手段は、前記プログラムの実行時に、前記領域情報を有するデータの書込指示を出力し、
前記移動体通信装置は、前記領域情報に基づいて、前記生成データが格納される領域に対応するブロックを特定するための特定手段をさらに備える、請求項1に記載の移動体通信装置。 - 前記移動体通信装置は、
前記ブロックごとに、前記ブロックに対応する各前記領域のデータが更新されているか否かを表わすための更新情報を格納する手段と、
前記ブロックに対応する各前記領域のデータが更新されている場合に、前記保存領域から前記バックアップ領域へのデータの格納を禁止するためのバックアップ禁止手段とをさらに備える、請求項1に記載の移動体通信装置。 - 前記移動体通信装置は、前記生成データの書込指示を検知するための検知手段をさらに備え、
前記バックアップ禁止手段は、前記書込指示が検知されたときに、前記ブロックに対応する各前記領域のデータが更新されている場合には、前記保存領域から前記バックアップ領域へのデータの格納を禁止する、請求項9に記載の移動体通信装置。 - 前記移動体通信装置は、
前記保存領域に格納されているデータを前記保存領域に格納するための参照情報が、前記バックアップ領域に格納されているか否かを確認するための確認手段と、
前記確認の結果に基づいて、前記プログラムの実行を制御するための実行制御手段とをさらに備える、請求項1に記載の移動体通信装置。 - 前記確認手段は、前記プログラムの実行時に、前記参照情報が前記バックアップ領域に格納されているか否かを確認し、
前記実行制御手段は、
前記参照情報が前記バックアップ領域に格納されていない場合に、前記プログラム実行手段に前記プログラムを実行させる手段と、
前記参照情報が前記バックアップ領域に格納されている場合に、前記バックアップ領域のデータを前記保存領域に格納する手段と、
前記保存領域への格納後に、前記プログラム実行手段に前記プログラムを実行させる手段とを含む、請求項11に記載の移動体通信装置。 - 前記移動体通信装置は、前記保存領域への格納後に、前記バックアップ領域のデータを削除するための消去手段をさらに備える、請求項12に記載の移動体通信装置。
- 移動体通信装置を制御するためのプログラムであって、前記プログラムは前記移動体通信装置に、
複数の領域を有し、予め定められた処理を実行するプログラムとデータとを格納する記憶手段から、前記プログラムを読み出すステップと、
前記プログラムを実行して生成データを出力するステップと、
前記実行に応答して、予め定められた数の前記領域からなるブロックごとに、前記生成データが書き込まれる保存領域に格納されている保存データと、前記保存領域と異なるバックアップ領域に格納されているデータとに基づいて、前記保存データが前記バックアップ領域に格納されているか否かを判断するステップと、
前記判断の結果に基づいて、前記ブロックごとに、前記保存領域に対するデータの格納を制御するステップとを実行させる、移動体通信装置を制御するためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004184613A JP2006011589A (ja) | 2004-06-23 | 2004-06-23 | 移動体通信装置およびその装置を制御するためのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004184613A JP2006011589A (ja) | 2004-06-23 | 2004-06-23 | 移動体通信装置およびその装置を制御するためのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006011589A true JP2006011589A (ja) | 2006-01-12 |
Family
ID=35778814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004184613A Pending JP2006011589A (ja) | 2004-06-23 | 2004-06-23 | 移動体通信装置およびその装置を制御するためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006011589A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008022567A1 (fr) * | 2006-08-18 | 2008-02-28 | Fortune Spring Technology (Shenzhen) Corporation | Mécanisme de stockage à corps à mémoire flash présentant une fonction de restauration de données |
JP2009169747A (ja) * | 2008-01-17 | 2009-07-30 | Toshiba Corp | 情報処理装置およびデータ復旧方法 |
-
2004
- 2004-06-23 JP JP2004184613A patent/JP2006011589A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008022567A1 (fr) * | 2006-08-18 | 2008-02-28 | Fortune Spring Technology (Shenzhen) Corporation | Mécanisme de stockage à corps à mémoire flash présentant une fonction de restauration de données |
JP2009169747A (ja) * | 2008-01-17 | 2009-07-30 | Toshiba Corp | 情報処理装置およびデータ復旧方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8539471B2 (en) | Updating firmware of an electronic device | |
JP4944686B2 (ja) | ソフトウェア更新方法および携帯端末装置 | |
JP2007219883A (ja) | 移動端末装置およびソフトウェア更新方法 | |
US20070055969A1 (en) | System and method for updating firmware | |
US20110004871A1 (en) | Embedded electronic device and firmware updating method thereof | |
US20190287626A1 (en) | Data overwriting device and data overwriting method | |
US20050132351A1 (en) | Updating electronic device software employing rollback | |
KR20130138635A (ko) | 단일 백업 블록 기록을 이용하는 결함 내성 포타 업데이트를 위한 방법 및 장치 | |
US7644260B2 (en) | File update system and boot management system of mobile communication terminal, method of updating file in mobile communication terminal, and method of booting mobile communication terminal | |
JP5019567B2 (ja) | メモリ管理方法および携帯端末装置 | |
JP4859465B2 (ja) | ソフトウェア更新方法および移動端末装置 | |
JP2008504628A (ja) | 安全なフラッシング | |
RU2375769C2 (ru) | Автоматическое резервное сохранение при модификациях встроенного программного обеспечения | |
JP2009009391A (ja) | 更新処理ソフトウェア自己更新方法および携帯端末装置 | |
KR101085681B1 (ko) | 이동통신 단말기의 데이터 복구 시스템 및 방법 | |
JP5349104B2 (ja) | 電子機器およびプログラム更新方法 | |
JP2006011589A (ja) | 移動体通信装置およびその装置を制御するためのプログラム | |
JP2005215841A (ja) | ソフトウエア修正機能付き携帯電話端末装置 | |
JP2016103261A (ja) | ファームウェアのダウンロード方法及びファームウェア組込機器 | |
JP3376331B2 (ja) | フラッシュメモリを用いる記憶方法及び記憶制御プログラムを記録した記録媒体 | |
KR100319254B1 (ko) | 플레쉬 메모리를 이용한 비휘발성 데이터 영역 복구 방법 | |
JP3583639B2 (ja) | メモリ装置のデータ更新方法 | |
JP2009134672A (ja) | メモリ管理方法および携帯端末装置 | |
JPH11282690A (ja) | 制御プログラムの書込方法及び情報処理装置並びに情報処理システム | |
US20220204008A1 (en) | Arithmetic processing device, vehicle control device, and update method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090609 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090716 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091020 |