(57)【要約】【課題】メモリの使用量を削減してソフトウェアを更新できる電子機器を提供すること。【解決手段】携帯電話機１は、プログラムを更新するための更新データを受信する無線部３２と、複数のプログラムを個別に記憶すると共に、未使用領域を含む複数のプログラム記憶領域を有するＮＡＮＤ３５と、更新データを未使用領域のいずれかに記憶し、更新データに基づいて複数のプログラムのいずれかを更新する更新し、更新に用いられた更新データを消去するＭＰＵ３０と、を備える。【選択図】図２
2011155526.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを更新するための更新データを受信する受信部と、
複数のプログラムを個別に記憶すると共に、未使用領域を含む複数のプログラム記憶領域を有する記憶部と、
前記受信部により受信された前記更新データを、前記未使用領域のいずれかに記憶するよう制御する制御部と、
前記更新データに基づいて前記複数のプログラムのいずれかを更新する更新部と、
前記更新部による更新に用いられた更新データを消去する消去部と、を備える電子機器。
【請求項２】
前記記憶部は、前記受信部により受信された前記更新データを記憶する更新データ記憶領域を有し、
前記制御部は、前記更新データのサイズが前記更新データ記憶領域の容量よりも大きい場合、当該更新データ記憶領域に収まらない余剰データを、前記未使用領域のいずれかに記憶するよう制御する請求項１に記載の電子機器。
【請求項３】
前記制御部は、複数の前記未使用領域のうち、記憶容量が大きい領域ほど優先して、前記更新データの少なくとも一部を記憶するよう制御する請求項１又は請求項２に記載の電子機器。
【請求項４】
前記制御部は、前記更新データによって更新されないプログラムが記憶されている前記プログラム記憶領域内の前記未使用領域を優先して、前記更新データの少なくとも一部を記憶するよう制御する請求項１から請求項３のいずれか１項に記載の電子機器。
【請求項５】
前記制御部は、前記更新データの少なくとも一部を、当該更新データに基づいて更新される第１のプログラム記憶領域の次に記憶容量が大きい第２のプログラム記憶領域内の前記未使用領域に記憶するよう制御し、
前記更新部は、前記プログラム記憶領域の容量が大きい順に更新する請求項１又は請求項２に記載の電子機器。
【請求項６】
前記受信部は、前記更新データを、前記複数のプログラム毎に順次受信し、
前記更新部は、前記更新データのそれぞれが受信される毎に、当該受信された更新データに対応するプログラムを更新する請求項１から請求項４のいずれか１項に記載の電子機器。
【請求項７】
前記受信部は、複数の前記更新データを、当該更新データに基づいて更新されるプログラムのデータサイズが大きい順番に受信し、
前記制御部は、
第１の更新データの少なくとも一部を、当該第１の更新データに基づいて更新されるプログラムが記憶されている第１のプログラム記憶領域よりも記憶容量が小さい、第２のプログラム記憶領域の未使用領域に記憶し、
前記更新部によって前記第１のプログラム記憶領域に記憶されているプログラムの更新が終了した後に、前記受信部によって受信された前記第２のプログラム記憶領域に記憶されているプログラムのための第２の更新データの少なくとも一部を、当該第２のプログラム記憶領域よりも記憶容量が小さい第３のプログラム記憶領域の未使用領域へ記憶する場合に、当該第３のプログラム記憶領域の未使用領域の記憶容量が不足しているとき、
前記第３のプログラム記憶領域の未使用領域に記憶しきれなかった前記第２の更新データの一部を、前記第１のプログラム記憶領域の未使用領域に記憶する請求項６に記載の電子機器。
【請求項８】
前記複数のプログラムは、それぞれが独立したアプリケーションプログラムである請求項１から請求項７のいずれか１項に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの更新機能を有する電子機器に関する。
【背景技術】
【０００２】
従来、携帯電話機等、ソフトウェアが組み込まれた電子機器が市場に流通している。このような電子機器は、ソフトウェアの不具合修正や機能拡張等の理由により、外部から更新データを取得し、この更新データに基づいてメモリ内に記憶されているソフトウェアを更新できる場合が多い。例えば、特許文献１には、配信サーバから更新用ファームウェアモジュールを受信する携帯電話端末が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２０９５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、更新データを外部から受信してソフトウェアを更新する場合、この受信した更新データを一時的に保存するための記憶領域が必要である。通常、この記憶領域は、更新データ専用の領域として実装される。
【０００５】
しかしながら、電子機器が高機能化し、ソフトウェアのサイズが大きくなるほど、更新データのサイズも大きくなる場合があるため、十分に大きな記憶領域を予め設けておく必要がある。その結果、メモリの記憶容量が圧迫されていた。
【０００６】
本発明は、メモリの使用量を削減してソフトウェアを更新できる電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る電子機器は、プログラムを更新するための更新データを受信する受信部と、複数のプログラムを個別に記憶すると共に、未使用領域を含む複数のプログラム記憶領域を有する記憶部と、前記受信部により受信された前記更新データを、前記未使用領域のいずれかに記憶するよう制御する制御部と、前記更新データに基づいて前記複数のプログラムのいずれかを更新する更新部と、前記更新部による更新に用いられた更新データを消去する消去部と、を備える。
【０００８】
また、前記記憶部は、前記受信部により受信された前記更新データを記憶する更新データ記憶領域を有し、前記制御部は、前記更新データのサイズが前記更新データ記憶領域の容量よりも大きい場合、当該更新データ記憶領域に収まらない余剰データを、前記未使用領域のいずれかに記憶するよう制御することが好ましい。
【０００９】
また、前記制御部は、複数の前記未使用領域のうち、記憶容量が大きい領域ほど優先して、前記更新データの少なくとも一部を記憶するよう制御することが好ましい。
【００１０】
また、前記制御部は、前記更新データによって更新されないプログラムが記憶されている前記プログラム記憶領域内の前記未使用領域を優先して、前記更新データの少なくとも一部を記憶するよう制御することが好ましい。
【００１１】
また、前記制御部は、前記更新データの少なくとも一部を、当該更新データに基づいて更新される第１のプログラム記憶領域の次に記憶容量が大きい第２のプログラム記憶領域内の前記未使用領域に記憶するよう制御し、前記更新部は、前記プログラム記憶領域の容量が大きい順に更新することが好ましい。
【００１２】
また、前記受信部は、前記更新データを、前記複数のプログラム毎に順次受信し、前記更新部は、前記更新データのそれぞれが受信される毎に、当該受信された更新データに対応するプログラムを更新することが好ましい。
【００１３】
また、前記受信部は、複数の前記更新データを、当該更新データに基づいて更新されるプログラムのデータサイズが大きい順番に受信し、前記制御部は、第１の更新データの少なくとも一部を、当該第１の更新データに基づいて更新されるプログラムが記憶されている第１のプログラム記憶領域よりも記憶容量が小さい、第２のプログラム記憶領域の未使用領域に記憶し、前記更新部によって前記第１のプログラム記憶領域に記憶されているプログラムの更新が終了した後に、前記受信部によって受信された前記第２のプログラム記憶領域に記憶されているプログラムのための第２の更新データの少なくとも一部を、当該第２のプログラム記憶領域よりも記憶容量が小さい第３のプログラム記憶領域の未使用領域へ記憶する場合に、当該第３のプログラム記憶領域の未使用領域の記憶容量が不足しているとき、前記第３のプログラム記憶領域の未使用領域に記憶しきれなかった前記第２の更新データの一部を、前記第１のプログラム記憶領域の未使用領域に記憶することが好ましい。
【００１４】
また、前記複数のプログラムは、それぞれが独立したアプリケーションプログラムであることが好ましい。
【発明の効果】
【００１５】
本発明によれば、メモリの使用量を削減してソフトウェアを更新できる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態に係る携帯電話機の外観斜視図である。
【図２】第１実施形態に係る携帯電話機の機能を示すブロック図である。
【図３】第１実施形態に係るソフトウェアの更新システムを示す概略図である。
【図４】第１実施形態に係るＮＡＮＤにおけるプログラムの更新処理を示す図である。
【図５】第１実施形態に係る更新データに余剰データが発生した場合の、ＮＡＮＤにおけるプログラムの更新処理を示す図である。
【図６】第１実施形態に係るソフトウェア更新処理を示すフローチャートである。
【図７】第１実施形態に係る更新データダウンロード処理を示すフローチャートである。
【図８】第１実施形態に係る更新データ読み込み処理を示すフローチャートである。
【図９】第２実施形態に係るソフトウェア更新処理の流れを例示する図である。
【図１０】変形例１に係るソフトウェア更新処理の流れを例示する図である。
【図１１】変形例２に係るＮＡＮＤの様子を示す図である。
【図１２】ＳＤＲＡＭ内のデータが揮発した場合の処理を示す図である。
【発明を実施するための形態】
【００１７】
＜第１実施形態＞
以下、本発明の第１実施形態について説明する。なお、本実施形態では、電子機器の一例として、携帯電話機１を説明する。なお、本発明の電子機器はこれには限られず、例えば、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ  ｐｈｏｎｅ  Ｓｙｓｔｅｍ）やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）の他、ナビゲーション装置やパーソナルコンピュータ等、様々な電子機器に適用可能である。
【００１８】
図１は、本実施形態に係る携帯電話機１（電子機器）の外観斜視図である。なお、図１は、いわゆる折り畳み型の携帯電話機の形態を示しているが、本発明に係る携帯電話機の形態はこれに限られない。例えば、両筐体を重ね合わせた状態から一方の筐体を一方向にスライドさせるようにしたスライド式や、重ね合せ方向に沿う軸線を中心に一方の筐体を回転させるようにした回転式（ターンタイプ）や、操作部と表示部とが１つの筐体に配置され、連結部を有さない形式（ストレートタイプ）でもよい。
【００１９】
携帯電話機１は、操作部側筐体２と、表示部側筐体３と、を備えて構成される。操作部側筐体２は、表面部１０に、操作部１１と、携帯電話機１の使用者が通話時に発した音声が入力されるマイク１２と、を備えて構成される。操作部１１は、各種設定機能や電話帳機能やメール機能等の各種機能を作動させるための機能設定操作ボタン１３と、電話番号の数字やメールの文字等を入力するための入力操作ボタン１４と、各種操作における決定やスクロール等を行う決定操作ボタン１５と、から構成されている。
【００２０】
また、表示部側筐体３は、表面部２０に、各種情報を表示するための表示部２１と、通話の相手側の音声を出力するレシーバ２２と、を備えて構成されている。
【００２１】
また、操作部側筐体２の上端部と表示部側筐体３の下端部とは、ヒンジ機構４を介して連結されている。また、携帯電話機１は、ヒンジ機構４を介して連結された操作部側筐体２と表示部側筐体３とを相対的に回転することにより、操作部側筐体２と表示部側筐体３とが互いに開いた状態（開放状態）にしたり、操作部側筐体２と表示部側筐体３とを折り畳んだ状態（折畳み状態）にしたりできる。
【００２２】
図２は、本実施形態に係る携帯電話機１の機能を示すブロック図である。携帯電話機１は、ＭＰＵ３０（制御部、更新部、消去部）と、電源部３１と、無線部３２（受信部）と、アンテナ３３と、ＳＤＲＡＭ３４と、ＮＡＮＤ３５（記憶部）と、操作部１１と、表示部２１と、音声制御部３６と、を備える。
【００２３】
ＭＰＵ３０は、携帯電話機１の全体を制御しており、例えば、表示部２１、無線部３２、音声制御部３６等に対して所定の制御を行う。また、ＭＰＵ３０は、操作部１１等から入力を受け付けて、各種処理を実行する。そして、ＭＰＵ３０は、処理実行の際には、ＳＤＲＡＭ３４及びＮＡＮＤ３５を制御し、各種プログラム及びデータの読み出し、並びにデータの書き込みを行う。
【００２４】
電源部３１は、携帯電話機１の各部へ電源を供給している。また、電源ＯＮ／ＯＦＦを切り替える所定の操作入力に応じて、電源部３１は、電源の供給先を変更する。すなわち、電源ＯＦＦの場合には、例えばＳＤＲＡＭ３４等の限られた部位のみに電源を供給する。
【００２５】
無線部３２は、所定の使用周波数帯（例えば、２ＧＨｚ帯や８００ＭＨｚ帯等）で外部装置（基地局）と通信を行う。そして、無線部３２は、アンテナ３３より受信した信号を復調処理し、処理後の信号をＭＰＵ３０に供給し、また、ＭＰＵ３０から供給された信号を変調処理し、アンテナ３３から外部装置に送信する。
【００２６】
ＳＤＲＡＭ３４は、ＭＰＵ３０により作業用に使用される記憶装置であり、電流の供給を受け続けることによりデータを保持する揮発性の記憶装置である。なお、携帯電話機１は、電源をＯＦＦにした場合にも、電源部３１によりＳＤＲＡＭ３４へ電流を供給し続けてもよい。これにより、例えば再起動時に一旦電源がＯＦＦとなった場合にも、ＳＤＲＡＭ３４は、記憶されたデータを保持することが可能となる（セルフリフレッシュ）。
【００２７】
ＮＡＮＤ３５は、ソフトウェアを構成するプログラム等を静的に記憶する不揮発性の記憶装置である。ＳＤＲＡＭ３４のデータの読み書きは、ＮＡＮＤ３５の読み書きよりも速いため、ＮＡＮＤ３５に記憶されたプログラムの一部又は全部は、ＳＤＲＡＭ３４にコピーされることにより、ＭＰＵ３０によって実行される。また、無線部３２により受信（ダウンロード）されたプログラム、あるいはプログラムの更新データは、このＮＡＮＤ３５に記憶される。
【００２８】
表示部２１は、ＭＰＵ３０の制御に従って、所定の画像処理を行う。そして、処理後の画像データをフレームメモリに蓄え、所定のタイミングで画面出力する。
【００２９】
音声制御部３６は、ＭＰＵ３０の制御に従って、無線部３２から供給された信号に対して所定の音声処理を行い、処理後の信号をレシーバ２２に出力する。レシーバ２２は、音声制御部３６から供給された信号を外部に出力する。なお、この信号は、レシーバ２２に代えて、又はレシーバ２２と共に、スピーカ（図示せず）から出力されるとしてもよい。
【００３０】
また、音声制御部３６は、ＭＰＵ３０の制御に従って、マイク１２から入力された信号を処理し、処理後の信号を無線部３２に出力する。無線部３２は、音声制御部３６から供給された信号に所定の処理を行い、処理後の信号をアンテナ３３より出力する。
【００３１】
図３は、本実施形態に係るソフトウェアの更新システムを示す概略図である。携帯電話機１で利用されるプログラムは、管理サーバにて新旧のバージョン管理がされている。管理サーバは、データベースにてプログラムと、このプログラムを旧バージョンから新バージョンへ更新するための更新データと、さらには、更新済みの端末情報とを保持する。そして、管理サーバは、携帯電話機１からの要求に応じて、最新のプログラム又は更新データを、基地局を介して送信する。なお、プログラム又は更新データの送受信は、基地局を介した無線通信には限られず、所定のネットワークを介した有線通信であってもよい。
【００３２】
以下、携帯電話機１で実行されるプログラムを新バージョンへ更新するための、ＭＰＵ３０の処理内容を説明する。
【００３３】
図４は、本実施形態に係るＮＡＮＤ３５におけるプログラムの更新処理を示す図である。なお、複数のプログラムＡ、Ｂ、Ｃ及びＤは、それぞれ個別に、ＮＡＮＤ３５のプログラム記憶領域（ブロックＡ、Ｂ、Ｃ及びＤ）に、未使用領域を含んで記憶されている。ここで、複数のプログラムは、それぞれが独立したアプリケーションプログラムであってよい。なお、未使用領域は、プログラムが更新されることによりプログラムのサイズが増大する場合を想定し、予め設けられている領域のことをいう。
【００３４】
ＭＰＵ３０は、旧バージョンのプログラムを新バージョンへ更新するための更新データ（例えば、新旧の差分を示すデータ）が無線部３２により受信されると、ＮＡＮＤ３５に予め設けられた既定の領域である更新データ記憶領域５０に、この更新データを記憶させる。ここで、更新データは、複数のプログラムのそれぞれに対応して各々生成されているものとする。
【００３５】
続いて、ＭＰＵ３０は、携帯電話機１が再起動する際、この更新データと更新前のプログラムとを用いて、更新後のプログラムイメージをＳＤＲＡＭ３４上で生成し、ＮＡＮＤ３５のプログラムを更新後のイメージで書き換える。例えば、ブロックＡの更新処理は、更新前のプログラムＡと、当該プログラムＡ用の更新データである更新データＡとをＳＤＲＡＭ３４にコピーし、更新後のプログラムＡのメモリイメージを生成すると、ブロックＡに書き戻す。なお、ＮＡＮＤ３５へのデータの書き戻しは、既にＮＡＮＤ３５に記憶されている更新前のプログラムＡをＭＰＵ３０が消去した後に行われる（消去後に書き込み）。また、ＳＤＲＡＭ３４へのコピー処理は、全ブロックを対象として一度に行われることとしてよい。
【００３６】
次に、更新データ記憶領域５０がない又は容量が小さいために、受信された更新データが更新データ記憶領域５０に収まりきらない場合の処理内容を説明する。
【００３７】
図５は、本実施形態に係る更新データに、更新データ記憶領域５０に収まりきらない余剰データが発生した場合の、ＮＡＮＤ３５におけるプログラムの更新処理を示す図である。ここで、各ブロックのサイズは、大きい順にＡ、Ｂ、Ｃ、Ｄとなっており、プログラムＡ及びＢを更新するための更新データを受信した場合について説明する。
【００３８】
ＭＰＵ３０は、プログラムＡ及びＢを更新するための更新データが更新データ記憶領域５０に収まりきらない場合、余剰データを、プログラム記憶領域（ブロックＡ、Ｂ、Ｃ又はＤ）の未使用領域に記憶させる。
【００３９】
このとき、ＭＰＵ３０は、更新データによる更新対象外の領域（ブロックＣ及びＤ）を優先し、さらに、この中でサイズが大きい領域から優先して余剰データを記憶させる。すなわち、ＭＰＵ３０は、プログラムＡ及びＢの余剰データを、ブロックＣの未使用領域に記憶させる。
【００４０】
そして、ＭＰＵ３０は、プログラムを更新した後、更新に用いられた更新データを、余剰データも含めて消去する。
【００４１】
図６は、本実施形態に係るソフトウェア更新処理を示すフローチャートである。本処理は、例えば、基地局からのプログラム更新通知や、ユーザの操作入力等、所定のイベントに応じて開始される。
【００４２】
ステップＳ１では、ＭＰＵ３０は、後述の更新データダウンロード処理（図７）を実行し、プログラムの更新に用いられる更新データを受信してＮＡＮＤ３５に記憶させる。
【００４３】
ステップＳ２では、ＭＰＵ３０は、ソフトウェアリセットを実施して、携帯電話機１を再起動させる。
【００４４】
ステップＳ３では、ＭＰＵ３０は、ＮＡＮＤ３５の全ブロックを対象にして、各ブロックを順に選択し、ステップＳ４からステップＳ７をループさせる。
【００４５】
ステップＳ４では、ＭＰＵ３０は、後述の更新データ読み込み処理（図８）を実行し、選択されたブロック（プログラム）に対応する更新データを、ＳＤＲＡＭ３４へ読み込む。ただし、選択されたブロックが更新対象でない場合は、更新データは存在しないため読み込まれない。
【００４６】
ステップＳ５では、ＭＰＵ３０は、選択されたブロックが更新対象のブロックで、かつ、未更新のブロックであるか否かを判定する。ＭＰＵ３０は、この判定がＹＥＳの場合、処理をステップＳ６に移し、判定がＮＯの場合、処理をステップＳ８に移す。
【００４７】
ステップＳ６では、ＭＰＵ３０は、選択されたブロックのプログラム（メモリイメージ）と、更新データとに基づいて、所定の演算により、更新後のプログラム（メモリイメージ）をＳＤＲＡＭ３４上に生成する。
【００４８】
ステップＳ７では、ＭＰＵ３０は、ステップＳ６で生成された更新後のプログラム（メモリイメージ）を、ＮＡＮＤ３５の元のブロック（選択されたブロック）へ書き込む。
【００４９】
ステップＳ８では、ＭＰＵ３０は、全ブロックが選択されたか否かを判定し、選択された場合にはループを終了し、処理を終了する。一方、選択されていないブロックが残っている場合には、ＭＰＵ３０は、処理をステップＳ３に戻し、次のブロックを選択してループを継続させる。
【００５０】
図７は、本実施形態に係る更新データダウンロード処理を示すフローチャートである。なお、本処理は、ソフトウェア更新処理（図６）のステップＳ１に相当する。
【００５１】
ステップＳ１１では、ＭＰＵ３０は、無線部３２により受信される更新データのサイズが更新データ記憶領域５０の容量を超えているか否かを判定する。ここで、更新データのサイズは、管理サーバから通知されることとしてよい。ＭＰＵ３０は、この判定がＹＥＳの場合、処理をステップＳ１２に移し、判定がＮＯの場合、処理をステップＳ１３に移す。
【００５２】
ステップＳ１２では、ＭＰＵ３０は、更新データ記憶領域５０の容量が不足しているため、プログラム記憶領域である各ブロックの未使用領域を、更新データの保存場所として確保する。
【００５３】
ステップＳ１３では、ＭＰＵ３０は、無線部３２により更新データをダウンロードし、更新データ記憶領域５０又はいずれかのブロックの未使用領域に記憶する。
【００５４】
図８は、本実施形態に係る更新データ読み込み処理を示すフローチャートである。なお、本処理は、ソフトウェア更新処理（図６）のステップＳ４に相当する。
【００５５】
ステップＳ２１では、ＭＰＵ３０は、更新データ記憶領域５０に記憶されている更新データを、ＳＤＲＡＭ３４へ読み込む。
【００５６】
ステップＳ２２では、ＭＰＵ３０は、未使用領域に記憶された更新データ（余剰データ）があるか否かを判定する。ＭＰＵ３０は、この判定がＹＥＳの場合、処理をステップＳ２３に移し、判定がＮＯの場合、処理を終了する。
【００５７】
以上のように、本実施形態によれば、携帯電話機１は、更新データを記憶するための更新データ記憶領域５０を必要としない、又は縮小できるので、ＮＡＮＤ３５の記憶容量を節約できる。また、携帯電話機１は、小容量の更新データ記憶領域５０によっても、大容量の更新データに対応できる。
【００５８】
また、携帯電話機１は、容量の大きい未使用領域を優先するため、記憶される更新データが分散されるのを抑制し、記憶時の分割処理、及び更新処理時の結合処理の負荷を低減できる。
【００５９】
さらに、携帯電話機１は、更新データによる更新対象外のブロックの未使用領域を利用するので、この領域に記憶された更新データは、ソフトウェア更新処理によって消去や上書きされることがない。
【００６０】
＜第２実施形態＞
以下、本発明の第２実施形態について説明する。なお、本実施形態では、第１実施形態に比べて、ＭＰＵ３０（制御部、更新部）の処理内容が異なる。本実施形態は、更新データ記憶領域５０がなく（又は微小であり）、かつ、更新対象外のブロックが少ないため、第１実施形態における余剰データの記憶領域が足りない場合に特に好適である。
【００６１】
図９は、本実施形態に係るソフトウェア更新処理の流れを例示する図である。この例では、第１実施形態の例（図５）と同様に、各ブロックのサイズは、大きい順にＡ、Ｂ、Ｃ、Ｄとなっている。
【００６２】
プログラムＡ、Ｂ及びＣに対応した更新データＡ、Ｂ及びＣを受信すると、ＭＰＵ３０は、更新データＡ（又はその余剰データ）をブロックＢの未使用領域へ、更新データＢ（又はその余剰データ）をブロックＣの未使用領域へ、更新データＣ（又はその余剰データ）をブロックＤの未使用領域へ記憶する。
【００６３】
すなわち、ＭＰＵ３０は、更新対象となるブロック（第１のプログラム記憶領域、例えばブロックＡ）の次に記憶容量が大きいブロック（第２のプログラム記憶領域、例えばブロックＢ）内の未使用領域に、更新データ（又はその余剰データ）を記憶する。
【００６４】
ＭＰＵ３０は、ソフトウェア更新処理において、ブロックのサイズが大きい順、すなわちブロックＡ、Ｂ、Ｃの順に更新する。このことにより、ブロックＡを更新する際には、ブロックＡの未使用領域内に今後使用する更新データは存在しない。同様に、ブロックＢを更新する際には、ブロックＢの未使用領域内に今後使用する更新データは存在せず、さらに、ブロックＣを更新する際には、ブロックＣの未使用領域内に今後使用する更新データは存在しない。
【００６５】
このように、ＭＰＵ３０は、更新順序に沿って次のブロックに記憶するので、更新時に対象ブロック内に更新データが存在せず、後に使用するデータを消去又は上書きするおそれがない。
【００６６】
また、ブロックのサイズが大きいほど、未使用領域の容量は大きい傾向があり、ブロックのサイズが大きいほど、このブロックのプログラム更新用の更新データのサイズは大きい傾向がある。したがって、ＭＰＵ３０は、更新対象のブロックの次に大きいブロックに更新データを記憶することにより、記憶しようとする更新データが未使用領域から溢れるのを抑制できる。
【００６７】
＜変形例１＞
上述の第１実施形態及び第２実施形態では、無線部３２は、複数の更新データを一度に受信することとしたが、本発明はこれには限られず、複数のプログラム毎に順次受信してもよい。この場合、ＭＰＵ３０は、更新データのそれぞれが受信されたことに応じて、対応するプログラムを更新する。
【００６８】
図１０は、本変形例に係るソフトウェア更新処理の流れを例示する図である。この例では、プログラムＡ及びＢに対応する更新データＡ及びＢを順に受信する。
【００６９】
まず、更新データＡの余剰データは、ブロックＡを除いて未使用領域が最も大きいブロックＢ内の未使用領域に記憶される（ａ）。そして、プログラムＡの更新が終了すると、更新データＢが受信され、更新データＢの余剰データは、ブロックＢを除いて未使用領域が最も大きいブロックＡ内の未使用領域に記憶され（ｂ）、プログラムＢが更新される（ｃ）。
【００７０】
このような構成によれば、更新データを記憶するために必要な記憶容量が低減されるので、携帯電話機１は、大量の更新データによるソフトウェア更新にも対応できる。
【００７１】
なお、無線部３２は、各更新データに基づく更新処理が終了した後に次の更新データを受信してもよいが、これには限られない。ＭＰＵ３０は、更新処理の少なくとも一部を、更新データの受信及び記憶の処理と並列に実行してもよい。これにより、ソフトウェア更新の処理時間が低減される。
【００７２】
＜変形例２＞
図１１は、更新データをダウンロードする度に、当該ダウンロードした更新データに対応したプログラムを更新する場合における、ＮＡＮＤ３５の様子を示す図である。なお、この例では、ＮＡＮＤ３５は、更新データ記憶領域５０を有しておらず、更新データの全てをプログラム記憶領域（ブロック）内の未使用領域に記憶することとする。
【００７３】
図１１に示したＮＡＮＤ３５には、最初、更新前の第１プログラム、更新前の第２プログラム及び更新前の第３プログラムがそれぞれ、ＮＡＮＤ３５の第１プログラム領域、第２プログラム領域及び第３プログラム領域に記憶されているとする。なお、プログラム領域の大きさは、第１プログラム領域、第２プログラム領域、第３プログラム領域の順番で大きいものとする。また、後に詳述するが、第２プログラム用の更新データである第２更新データの容量は、第３プログラム領域内の未使用領域の容量よりも大きいとする。
【００７４】
（図１１（ａ））
最初、制御部は、受信部が受信した第１プログラム用の更新データである第１更新データを、第１プログラム領域の次に記憶容量が大きい第２プログラム領域の未使用領域に記憶する。
【００７５】
（図１１（ｂ））
第２プログラム領域の未使用領域に第１更新データを記憶し終わったとき、制御部は、当該第１更新データと第１プログラムとに基づいて第１プログラムを更新する。第１プログラムの更新が終わった後、受信部は、第２プログラムの更新用のデータである第２更新データを受信する。そして、制御部は、受信部が受信した第２更新データをＮＡＮＤ３５へ記憶しようとする。この場合において、制御部は、第２プログラム領域の次に記憶容量が大きい第３プログラム領域の未使用領域へ第２更新データを記憶させようと試みる。しかしながら、前述したように第３プログラム領域の未使用領域の容量は、第２更新データの容量よりも小さい。従って、第２更新データの全てを第３プログラム領域の未使用領域へ記憶することはできない。
この場合、制御部は、既に更新が終わった第１プログラム領域の未使用領域と第３プログラム領域の未使用領域とに分けて第２更新データを記憶することにより、第２更新データをＮＡＮＤ３５へ記憶させる。
【００７６】
（図１１（ｃ））
このように、プログラムの更新データをダウンロードする度にプログラムを更新する場合において、更新データを記憶する未使用領域が不足したとき、制御部は、既に更新済みのプログラム領域の未使用領域に更新データの一部を記憶させてもよい。このようにすることによって、プログラム領域を、より節約することが可能となる。
【００７７】
なお、図１１（ｂ）において、第１プログラム領域の未使用領域が第３プログラム領域の未使用領域よりも容量が大きい場合、第２更新データをＮＡＮＤ３５へ記憶する際、第１プログラム領域の未使用領域を優先してもよい。
【００７８】
上述の各実施形態によれば、更新データ又はその余剰データは、更新対象のブロックとは異なるブロックの未使用領域に記憶される。したがって、更新処理が失敗した場合でも、使用した更新データは、ＮＡＮＤ３５に保存されている。そのため、更新処理を再実行する際の処理手順が簡略化される。
【００７９】
図１２は、更新処理の最中にＳＤＲＡＭ３４への通電が瞬断し、ＳＤＲＡＭ３４内のデータが揮発した場合の処理を示す図である。
【００８０】
ＭＰＵ３０は、プログラムＡの更新データＡをブロックＢの未使用領域に記憶し（１）、プログラムＡの更新処理を開始すると、まず、ＮＡＮＤ３５のプログラム及び更新データをＳＤＲＡＭ３４にコピーし（２）、ＳＤＲＡＭ３４上で、更新済みのプログラムＡを生成する（３）。
【００８１】
次に、ＭＰＵ３０は、この更新済みのプログラムＡをＮＡＮＤ３５のブロックＡに書き戻す際には、ブロックＡのデータを消去した後に（４）、更新済みのプログラムＡを書き込む。ところが、この更新済みのプログラムＡが書き込まれる前に電源の瞬断が発生すると、ＳＤＲＡＭ３４内のデータが空になる（５）。
【００８２】
この場合、ＭＰＵ３０は、ＮＡＮＤ３５に残っている更新データＡに基づいて、対応する更新済みのプログラムＡを無線部３２によりダウンロードすることができる（６）。
【００８３】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００８４】
１  携帯電話機（電子機器）
１１  操作部
２１  表示部
３０  ＭＰＵ（制御部、更新部、消去部）
３１  電源部
３２  無線部（受信部）
３３  アンテナ
３４  ＳＤＲＡＭ
３５  ＮＡＮＤ（記憶部）
３６  音声制御部
【図１】
2011155526.tif 000003
【図２】
2011155526.tif 000004
【図３】
2011155526.tif 000005
【図４】
2011155526.tif 000006
【図５】
2011155526.tif 000007
【図６】
2011155526.tif 000008
【図７】
2011155526.tif 000009
【図８】
2011155526.tif 000010
【図９】
2011155526.tif 000011
【図１０】
2011155526.tif 000012
【図１１】
2011155526.tif 000013
【図１２】
2011155526.tif 000014