(57)【要約】【課題】更新済みのソフトウェアが使用可能となるまでの時間を短縮することのできる電子機器を提供すること。【解決手段】携帯電話機１は、ソフトウェアのプログラムをブロック単位で格納する不揮発性のＮＡＮＤ３５と、第１のＮＡＮＤに格納されたプログラムを更新するための更新情報データを受信する第２のＮＡＮＤと、実行対象のプログラムを作業用に格納する揮発性のＳＤＲＡＭ３４と、ＮＡＮＤ３５に格納されたプログラムを読み込み、第２のＮＡＮＤに記憶された更新情報データに基づいて、更新済みのプログラムを生成してＳＤＲＡＭ３４へ格納し、ＳＤＲＡＭ３４に格納されたプログラムを実行するＭＰＵ３０と、を備える。【選択図】図２
2010198387.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのプログラムを格納する不揮発性の第１記憶部と、
実行対象のプログラムを作業用に格納する揮発性の第２記憶部と、
更新情報データを記憶する第３記憶部と、
前記第１記憶部に格納されたプログラムと、前記第３記憶部に記憶された更新情報データとに基づいて、更新済みのプログラムを生成して前記第２記憶部へ格納し、当該第２記憶部に格納されたプログラムを実行する制御部と、
を備える電子機器。
【請求項２】
前記制御部は、前記更新済みのプログラムを生成した場合において、
更新を行うプログラムに関しては、前記更新済みのプログラムを前記第２記憶部へ格納し、
更新を行わないプログラムに関しては、前記第１記憶部に記憶されたプログラムを前記第２記憶部へコピーする、
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記制御部は、前記第２記憶部に格納された更新済みのプログラムを実行しているときに、当該更新済みのプログラムを、前記第１記憶部へコピーすることを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記第１記憶部は、前記プログラムをブロック単位で格納し、
前記制御部は、前記更新済みのプログラムのうち、前記更新情報データにより更新されたブロックのみを、前記第１記憶部へコピーすることを特徴とする請求項３に記載の電子機器。
【請求項５】
前記制御部は、前記第２記憶部に格納されたプログラムを実行する処理負荷が低下したときに、前記更新済みのプログラムを、前記第１記憶部へコピーすることを特徴とする請求項３または４に記載の電子機器。
【請求項６】
前記第３記憶部が前記更新情報データを記憶しているときに、前記第１記憶部と前記第２記憶部のいずれを先に更新するかの選択入力を受け付ける受付部を更に備え、
前記制御部は、前記受付部により前記第１記憶部を先に更新する選択入力を受け付けた場合、前記更新情報データに基づいて前記第１記憶部に格納されたプログラムを更新し、前記受付部により前記第２記憶部を先に更新する選択入力を受け付けた場合、前記更新情報データに基づいて、更新済みのプログラムを生成して前記第２記憶部へ格納することを特徴とする請求項１から請求項５のいずれか１項に記載の電子機器。
【請求項７】
前記受付部は、前記更新情報データに付加された緊急度を受け付け、当該緊急度に応じて、前記第１記憶部と前記第２記憶部のいずれを先に更新するかを決定することを特徴とする請求項６に記載の電子機器。
【請求項８】
前記第３記憶部に記憶される前記更新情報データを受信する通信部を更に備える請求項１から請求項７のいずれか１項に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの更新機能を有する電子機器に関する。
【背景技術】
【０００２】
従来、様々な電子機器において、メモリに予め記憶されたソフトウェアを実行することにより各種機能を実現している。このような電子機器の中には、ソフトウェアの不具合修正や機能拡張等の理由により、更新用データを取得して新しいソフトウェアに更新する機能を有するものがある。
【０００３】
このようなソフトウェア更新の機能を有する電子機器は、例えば、ソフトウェアの新旧バージョンの差分データをダウンロードし、所定の更新エンジンを実行して、この差分データにより単位領域（ブロック）毎にソフトウェアを更新する（例えば、特許文献１参照）。
【０００４】
ところで、電子機器は、不揮発性のメモリ（例えば、ＮＡＮＤフラッシュメモリ）にソフトウェアを格納し、実際にソフトウェアを実行する際には、読み書きが高速な揮発性メモリ（例えば、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））にコピーして実行する場合が多い。
【０００５】
この場合、電子機器は、揮発性メモリ上のソフトウェアによって通常動作中に、不揮発性メモリのソフトウェアを更新する、いわゆるバックグラウンド更新を行うことができる。その後、電子機器は、不揮発性メモリ上にある更新済みソフトウェアの機能を、電子機器の実際の動作に反映させるため、再起動処理の後に更新済みソフトウェアの全ブロックを揮発性メモリへコピーしていた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２１９８８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ＮＡＮＤフラッシュメモリ等の不揮発性メモリの書き換えには時間が掛かるため、再起動により更新処理を実行した場合にも、更新が完了するまで、ユーザは使用中であったソフトウェアの再実行を長時間待たなければならなかった。
【０００８】
本発明は、更新済みのソフトウェアが使用可能となるまでの時間を短縮することのできる電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る電子機器は、ソフトウェアのプログラムを格納する不揮発性の第１記憶部と、実行対象のプログラムを作業用に格納する揮発性の第２記憶部と、更新情報データを記憶する第３記憶部と、前記第１記憶部に格納されたプログラムと、前記第３記憶部に記憶された更新情報データとに基づいて、更新済みのプログラムを生成して前記第２記憶部へ格納し、当該第２記憶部に格納されたプログラムを実行する制御部と、を備える。
【００１０】
また、前記制御部は、前記更新済みのプログラムを生成した場合において、更新を行うプログラムに関しては、前記更新済みのプログラムを前記第２記憶部へ格納し、更新を行わないプログラムに関しては、前記第１記憶部に記憶されたプログラムを前記第２記憶部へコピーすることが好ましい。
【００１１】
また、前記制御部は、前記第２記憶部に格納された更新済みのプログラムを実行しているときに、当該更新済みのプログラムを、前記第１記憶部へコピーすることが好ましい。
【００１２】
また、前記第１記憶部は、前記プログラムをブロック単位で格納し、前記制御部は、前記更新済みのプログラムのうち、前記更新情報データにより更新されたブロックのみを、前記第１記憶部へコピーすることが好ましい。
【００１３】
また、前記制御部は、前記第２記憶部に格納されたプログラムを実行する処理負荷が低下したときに、前記更新済みのプログラムを、前記第１記憶部へコピーすることが好ましい。
【００１４】
また、本発明に係る電子機器は、前記第３記憶部が前記更新情報データを記憶しているときに、前記第１記憶部と前記第２記憶部のいずれを先に更新するかの選択入力を受け付ける受付部を更に備え、前記制御部は、前記受付部により前記第１記憶部を先に更新する選択入力を受け付けた場合、前記更新情報データに基づいて前記第１記憶部に格納されたプログラムを更新し、前記受付部により前記第２記憶部を先に更新する選択入力を受け付けた場合、前記更新情報データに基づいて、更新済みのプログラムを生成して前記第２記憶部へ格納することが好ましい。
【００１５】
また、前記受付部は、前記更新情報データに付加された緊急度を受け付け、当該緊急度に応じて、前記第１記憶部と前記第２記憶部のいずれを先に更新するかを決定することが好ましい。
【００１６】
また、本発明に係る電子機器は、前記第３記憶部に記憶される前記更新情報データを受信する通信部を更に備えることが好ましい。
【発明の効果】
【００１７】
本発明によれば、更新済みのソフトウェアが使用可能となるまでの時間を短縮することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る携帯電話機の外観斜視図である。
【図２】本発明の実施形態に係る携帯電話機の機能を示すブロック図である。
【図３】本発明の実施形態に係るソフトウェアの更新システムを示す概略図である。
【図４】本発明の実施形態に係るＮＡＮＤからＳＤＲＡＭへのプログラムのコピー処理を示す図である。
【図５】本発明の実施形態に係るＳＤＲＡＭにおける更新処理を示す図である。
【図６】本発明の実施形態に係る更新済みのプログラムをＮＡＮＤへコピーする処理を示す図である。
【図７】本発明の実施形態に係るＮＡＮＤにおけるバックグラウンド更新処理を示す図である。
【図８】本発明の実施形態に係るＮＡＮＤのプログラムが更新された後のＳＤＲＡＭへのコピー処理を示す図である。
【図９】本発明の実施形態に係るＭＰＵの処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態の一例について説明する。なお、本実施形態では、電子機器の一例として、携帯電話機１を説明する。なお、本発明の電子機器はこれには限られず、例えば、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ  ｐｈｏｎｅ  Ｓｙｓｔｅｍ）やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）の他、ナビゲーション装置やパーソナルコンピュータ等、様々な電子機器に適用可能である。
【００２０】
図１は、本実施形態に係る携帯電話機１（電子機器）の外観斜視図である。なお、図１は、いわゆる折り畳み型の携帯電話機の形態を示しているが、本発明に係る携帯電話機の形態はこれに限られない。例えば、両筐体を重ね合わせた状態から一方の筐体を一方向にスライドさせるようにしたスライド式や、重ね合せ方向に沿う軸線を中心に一方の筐体を回転させるようにした回転式（ターンタイプ）や、操作部と表示部とが１つの筐体に配置され、連結部を有さない形式（ストレートタイプ）でもよい。
【００２１】
携帯電話機１は、操作部側筐体２と、表示部側筐体３と、を備えて構成される。操作部側筐体２は、表面部１０に、操作部１１と、携帯電話機１の使用者が通話時に発した音声が入力されるマイク１２と、を備えて構成される。操作部１１は、各種設定機能や電話帳機能やメール機能等の各種機能を作動させるための機能設定操作ボタン１３と、電話番号の数字やメールの文字等を入力するための入力操作ボタン１４と、各種操作における決定やスクロール等を行う決定操作ボタン１５と、から構成されている。
【００２２】
また、表示部側筐体３は、表面部２０に、各種情報を表示するための表示部２１と、通話の相手側の音声を出力するレシーバ２２と、を備えて構成されている。
【００２３】
また、操作部側筐体２の上端部と表示部側筐体３の下端部とは、ヒンジ機構４を介して連結されている。また、携帯電話機１は、ヒンジ機構４を介して連結された操作部側筐体２と表示部側筐体３とを相対的に回転することにより、操作部側筐体２と表示部側筐体３とが互いに開いた状態（開放状態）にしたり、操作部側筐体２と表示部側筐体３とを折り畳んだ状態（折畳み状態）にしたりできる。
【００２４】
図２は、本実施形態に係る携帯電話機１の機能を示すブロック図である。携帯電話機１は、ＭＰＵ３０（制御部）と、電源部３１と、無線部３２（通信部）と、アンテナ３３と、ＳＤＲＡＭ３４（第２記憶部）と、ＮＡＮＤ３５（第１記憶部、第３記憶部）と、操作部１１（受付部）と、表示部２１と、音声制御部３６と、を備える。
【００２５】
ＭＰＵ３０は、携帯電話機１の全体を制御しており、例えば、表示部２１、無線部３２、音声制御部３６等に対して所定の制御を行う。また、ＭＰＵ３０は、操作部１１等から入力を受け付けて、各種処理を実行する。そして、ＭＰＵ３０は、処理実行の際には、ＳＤＲＡＭ３４およびＮＡＮＤ３５を制御し、各種プログラムおよびデータの読み出し、およびデータの書き込みを行う。
【００２６】
電源部３１は、携帯電話機１の各部へ電源を供給している。また、電源ＯＮ／ＯＦＦを切り替える所定の操作入力に応じて、電源部３１は、電源の供給先を変更する。すなわち、電源ＯＦＦの場合には、例えばＳＤＲＡＭ３４等の限られた部位のみに電源を供給する。
【００２７】
無線部３２は、所定の使用周波数帯（例えば、２ＧＨｚ帯や８００ＭＨｚ帯等）で外部装置（基地局）と通信を行う。そして、無線部３２は、アンテナ３３より受信した信号を復調処理し、処理後の信号をＭＰＵ３０に供給し、また、ＭＰＵ３０から供給された信号を変調処理し、アンテナ３３から外部装置に送信する。
【００２８】
ＳＤＲＡＭ３４は、ＭＰＵ３０により作業用に使用される記憶装置であり、電流の供給を受け続けることによりデータを保持する揮発性の記憶装置である。なお、携帯電話機１は、電源をＯＦＦにした場合にも、電源部３１によりＳＤＲＡＭ３４へ電流を供給し続ける。これにより、例えば再起動時に一旦電源がＯＦＦとなった場合にも、ＳＤＲＡＭ３４は、記憶されたデータを保持することが可能となる（セルフリフレッシュ）。
【００２９】
ＮＡＮＤ３５は、ソフトウェアのプログラム等を静的に記憶する不揮発性の記憶装置である。ＳＤＲＡＭ３４のデータの読み書きは、ＮＡＮＤ３５の読み書きよりも速いため、ＮＡＮＤ３５に記憶されたプログラムの一部または全部は、ＳＤＲＡＭ３４にコピーされることにより、ＭＰＵ３０によって実行される。また、無線部３２により受信（ダウンロード）したソフトウェア、あるいはソフトウェアの更新情報データは、このＮＡＮＤ３５に記憶される。
【００３０】
表示部２１は、ＭＰＵ３０の制御に従って、所定の画像処理を行う。そして、処理後の画像データをフレームメモリに蓄え、所定のタイミングで画面出力する。
【００３１】
音声制御部３６は、ＭＰＵ３０の制御に従って、無線部３２から供給された信号に対して所定の音声処理を行い、処理後の信号をレシーバ２２に出力する。レシーバ２２は、音声制御部３６から供給された信号を外部に出力する。なお、この信号は、レシーバ２２に代えて、または、レシーバ２２と共に、スピーカ（図示せず）から出力されるとしてもよい。
【００３２】
また、音声制御部３６は、ＭＰＵ３０の制御に従って、マイク１２から入力された信号を処理し、処理後の信号を無線部３２に出力する。無線部３２は、音声制御部３６から供給された信号に所定の処理を行い、処理後の信号をアンテナ３３より出力する。
【００３３】
図３は、本実施形態に係るソフトウェアの更新システムを示す概略図である。携帯電話機１で利用されるソフトウェアは、管理サーバにて新旧のバージョン管理がされている。管理サーバは、データベースにてソフトウェアのプログラムと、旧バージョンから新バージョンへ更新するための更新情報データとを保持する。そして、管理サーバは、携帯電話機１からの要求に応じて、最新のプログラムまたは更新情報データを、基地局を介して送信する。
【００３４】
以下、携帯電話機１で実行されるソフトウェアを新バージョンへ更新するための、ＭＰＵ３０の処理内容を説明する。
【００３５】
図４は、本実施形態に係るＮＡＮＤ３５からＳＤＲＡＭ３４へのプログラムのコピー処理を示す図である。この処理において、ＭＰＵ３０は、携帯電話機１の電源がＯＮとなったときに、実行対象のソフトウェアのプログラムを、作業用の記憶装置であるＳＤＲＡＭ３４へコピーする。
【００３６】
ＮＡＮＤ３５において、プログラムはブロック単位に格納されており、ＳＤＲＡＭ３４へも、このブロック単位で順次コピーされる。そして、全ブロックのコピーが完了すると、ＭＰＵ３０は、ＳＤＲＡＭ３４上でソフトウェアを実行し、ユーザの利用が開始される。
【００３７】
なお、前述のセルフリフレッシュ機能が動作しているときは、ＳＤＲＡＭ３４のデータが保持されているので、本処理は省略され、ＭＰＵ３０は、即座にＳＤＲＡＭ３４上でソフトウェアを実行することができる。
【００３８】
図５は、本実施形態に係る更新情報データを受信した後の、ＳＤＲＡＭ３４における更新処理を示す図である。この処理は、携帯電話機１が一旦リセットされた後、再起動時に実行される。
【００３９】
ＭＰＵ３０は、旧バージョンのソフトウェアを新バージョンへ更新するための差分データ（更新情報データ）をサーバより受信すると、ＮＡＮＤ３５に当該差分データを記憶させる。続いて、携帯電話機１が再起動する際、ＳＤＲＡＭ３４上のソフトウェアを実行する前に、この差分データおよび、ＮＡＮＤ３５の該当ブロック（例えば、ブロック１〜ブロック３）にある更新前のイメージに基づいて更新後のイメージを生成すると（比喩的に換言すれば、差分データと更新前のイメージとを足し合わせることにより更新後のイメージを生成する）、ＭＰＵ３０は、ＳＤＲＡＭ３４の対応するブロックを更新後のイメージで更新する。ここで、差分データによる更新対象となっていないブロック（例えば、ブロック４〜ブロックｎ）については、ＭＰＵ３０は、当該更新対象となっていないブロックをＮＡＮＤ３５からＳＤＲＡＭ３４へコピーする。
【００４０】
ところで、ＮＡＮＤ３５に対するデータの書き換え処理は、ＮＡＮＤ３５からの読み出し処理や、ＳＤＲＡＭ３４の書き換え処理に比べて非常に遅い。したがって、ＮＡＮＤ３５の更新を行う前にＳＤＲＡＭ３４を更新することにより、更新後のソフトウェアをＳＤＲＡＭ３４上で実行するまでに要する時間が大幅に短縮されることが期待できる。つまり、本実施形態によれば、更新済みのソフトウェアが使用可能となるまでの時間を短縮し、携帯電話機１の起動を高速にできる。
【００４１】
なお、ＳＤＲＡＭ３４において前述のセルフリフレッシュ機能が動作している場合、差分データによる更新対象となっていないブロックについてＳＤＲＡＭ３４へのコピーは不要となる。その結果、更新後のソフトウェアがＳＤＲＡＭ３４に展開される時間を更に短縮することができる。
【００４２】
図６は、本実施形態に係るＳＤＲＡＭ３４に展開された更新済みのプログラムをＮＡＮＤ３５へコピーする処理を示す図である。この処理は、ＳＤＲＡＭ３４上で更新済みのソフトウェアが実行され、ユーザの利用が可能となった後に実行される。
【００４３】
このコピー処理は、ユーザが携帯電話機１を利用中に実行されるので、ＮＡＮＤ３５に格納されているソフトウェアが更新されるのを待つことなく、ユーザは、新バージョンのソフトウェアの利用を継続することができる。
【００４４】
また、ＭＰＵ３０は、このコピー処理において、差分データに基づいて更新されたブロック（例えば、ブロック１〜ブロック３）のみをＮＡＮＤ３５へコピーする。したがって、全ブロックをコピーするのに比べて、処理に掛かる時間が短縮され、ＭＰＵ３０の処理負荷が低減される。
【００４５】
また、ＭＰＵ３０は、ＳＤＲＡＭ３４に格納されたプログラムを実行する処理負荷が低下したとき、例えば、スリープ状態等のときにコピー処理を実行することが望ましい。このことにより、ＭＰＵ３０の処理負荷が高くなりすぎるのを抑制することができる。
【００４６】
図５および図６において、ＮＡＮＤ３５の更新より前にＳＤＲＡＭ３４を更新する処理について示した。また、ＭＰＵ３０は、更に、ＳＤＲＡＭ３４とＮＡＮＤ３５のいずれを先に更新するかの順序を選択する入力を受け付けてもよい。例えば、ソフトウェアの致命的なバグ等、緊急度の高い更新内容である場合には、ＳＤＲＡＭ３４を先に更新し、旧バージョンのソフトウェアを使用することに問題がなければ、バックグラウンドでＮＡＮＤ３５を先に更新する。
【００４７】
図７は、本実施形態に係るＮＡＮＤ３５におけるバックグラウンド更新処理を示す図である。この処理は、携帯電話機１が利用され、ＳＤＲＡＭ３４上で旧バージョンのソフトウェアが実行されている間に実行される。
【００４８】
ＭＰＵ３０は、旧バージョンのソフトウェアを新バージョンへ更新するための差分データをサーバより受信すると、ＮＡＮＤ３５に記憶する。続いて、この差分データおよび、ＮＡＮＤ３５の該当ブロック（例えば、ブロック１〜ブロック３）にある更新前のイメージに基づいて、更新後のイメージを生成すると、ＭＰＵ３０は、同ブロックを更新後のイメージで更新する。
【００４９】
図８は、本実施形態に係るＮＡＮＤ３５のプログラムがバックグラウンド処理によって更新された後のＳＤＲＡＭ３４へのコピー処理を示す図である。このコピー処理は、ＮＡＮＤ３５の更新が完了した後、携帯電話機１の再起動時に実行される。
【００５０】
なお、図８では、更新の有無によらず、ＭＰＵ３０は、全てのブロックを更新しているものの、実施形態はこれには限られない。例えば、前述のセルフリフレッシュ機能が動作している場合には、差分データに基づいて更新されたブロックのみをコピーすることとしてよい。
【００５１】
図９は、本実施形態に係るＭＰＵ３０の処理を示すフローチャートである。
ステップＳ１では、ＭＰＵ３０は、無線部３２を介して、管理サーバからソフトウェア更新用の更新情報データとして差分データをダウンロードする。
【００５２】
ステップＳ２では、ＭＰＵ３０は、ステップＳ１でダウンロードした差分データに係る更新が、緊急度の高いものであるか否かを判定する。具体的には、例えば操作部１１を介してユーザから当該判定の入力を受け付けてもよい。この判定がＹＥＳの場合は、ＳＤＲＡＭ３４の更新を優先するため、ＭＰＵ３０の処理はステップＳ３に移る。一方、判定がＮＯの場合は、ＮＡＮＤ３５の更新を優先するため、ＭＰＵ３０の処理はステップＳ１１に移る。
【００５３】
ステップＳ３では、ＭＰＵ３０は、アクセス中のＳＤＲＡＭ３４に格納されているソフトウェアのプログラムを更新するため、携帯電話機１のリセット（再起動）を行う。
【００５４】
次に、ＭＰＵ３０は、ステップＳ４からステップＳ６において、ＳＤＲＡＭ３４と対応付けられているＮＡＮＤ３５の全ブロックをループして判定することにより、ＳＤＲＡＭ３４に格納されているプログラムを更新する。
【００５５】
ステップＳ４では、ＭＰＵ３０は、現在ループによって判定を行っているＮＡＮＤ３５のブロックが、更新対象で且つ未更新であるか否かを判定する。この判定がＹＥＳの場合はステップＳ５に移り、判定がＮＯの場合はステップＳ６に移る。
【００５６】
ステップＳ５では、ＭＰＵ３０は、ステップＳ４で未更新であると判定されたＮＡＮＤ３５のブロックに対して、ステップＳ１でダウンロードした差分データを適用し、更新後のメモリイメージ（プログラム）を生成する。
【００５７】
ステップＳ６では、ＭＰＵ３０は、ステップＳ５で生成した更新後のメモリイメージ、または更新不要であったブロック（更新対象外または更新済みのブロック）のメモリイメージを、ＳＤＲＡＭ３４へ書き込む。
【００５８】
ステップＳ７では、ＳＤＲＡＭ３４のソフトウェアが更新されたので、ＭＰＵ３０は、更新後のソフトウェアを実行し、携帯電話機１の各種機能を起動させる。これにより、携帯電話機１は、ユーザによる利用が可能な状態となる。
【００５９】
次に、ＭＰＵ３０は、ステップＳ８からステップＳ１０において、ＳＤＲＡＭ３４と対応付けられているＮＡＮＤ３５の全ブロックを対象としてループして判定することにより、ＮＡＮＤ３５に格納されているプログラムを更新する。
【００６０】
ステップＳ８では、ＭＰＵ３０は、現在ループによって判定を行っているＮＡＮＤ３５のブロックが更新対象であり、且つ未更新であるか否かを判定する。この判定がＹＥＳの場合はステップＳ９に移り、判定がＮＯの場合は次のブロックの処理に移る。
【００６１】
ステップＳ９では、ＭＰＵ３０は、ステップＳ８で未更新であると判定されたＮＡＮＤ３５のブロックに対して、対応するＳＤＲＡＭ３４のブロックからメモリイメージをコピーする。
【００６２】
ステップＳ１０では、ＭＰＵ３０は、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ、巡回冗長検査）等のエラー検出機能を使用し、ＳＤＲＡＭ３４とＮＡＮＤ３５との整合性を確認する。これにより、ＭＰＵ３０は、誤ったプログラムをＮＡＮＤ３５へ書き込むことを回避できる。
【００６３】
また、ステップＳ２の判定により、更新の緊急度が低く、ＮＡＮＤ３５を先に更新すると決定した場合、ＭＰＵ３０は、ステップＳ１１からステップＳ１４において、ＳＤＲＡＭ３４と対応付けられているＮＡＮＤ３５の全ブロックを対象としてループして判定することにより、ＮＡＮＤ３５に格納されているプログラムを更新する。
【００６４】
ステップＳ１１では、ＭＰＵ３０は、現在ループによって判定を行っているＮＡＮＤ３５のブロックが更新対象であるか否かを判定する。この判定がＹＥＳの場合は、ＭＰＵ３０の処理はステップＳ１２に移り、判定がＮＯの場合は、ＭＰＵ３０の処理は次のブロックの処理に移る。
【００６５】
ステップＳ１２では、ＭＰＵ３０は、ステップＳ１１で更新対象であると判定されたＮＡＮＤ３５のブロックに対して、ステップＳ１でダウンロードした差分データを適用し、更新後のメモリイメージ（プログラム）を生成する。
【００６６】
ステップＳ１３では、ＭＰＵ３０は、ステップＳ１２で生成した更新後のメモリイメージをＮＡＮＤ３５へ書き込む。
【００６７】
ステップＳ１４では、ＭＰＵ３０は、エラー検出機能を使用してＮＡＮＤ３５のデータの確認を行う。これにより、ＭＰＵ３０は、誤ったプログラムをＮＡＮＤ３５へ書き込むことを回避できる。
【００６８】
ステップＳ１５では、ＭＰＵ３０は、アクセス中のＳＤＲＡＭ３４に格納されているソフトウェアのプログラムを更新するため、携帯電話機１のリセット（再起動）を行う。このとき、ＭＰＵ３０は、ＮＡＮＤ３５からＳＤＲＡＭ３４へのコピー処理を実行することにより、ＳＤＲＡＭ３４のソフトウェアを更新する。そして、ＭＰＵ３０は、更新後のソフトウェアを実行し、携帯電話機１の各種機能を起動させる。これにより、ユーザによる利用が可能となる。
【００６９】
なお、ＮＡＮＤ３５の更新中（ステップＳ８〜ステップＳ１０、またはステップＳ１１〜ステップＳ１４）に、携帯電話機１の電源がＯＦＦとなる等の理由により更新が中断した場合、ＮＡＮＤ３５に格納されているプログラムは不完全な状態であるため、ＭＰＵ３０は、このままＳＤＲＡＭ３４へコピーしても実行することができない。
【００７０】
そこで、ＭＰＵ３０は、更新の中断後に携帯電話機１が再起動する場合、ステップＳ３から処理を再開する。ＭＰＵ３０は、ステップＳ４において未更新のブロックを判定するので、不完全に更新されているＮＡＮＤ３５から更新後のメモリイメージを生成し、ＳＤＲＡＭ３４に更新後のプログラムを書き込むことができる。また、ＭＰＵ３０は、ステップＳ８においても未更新のブロックを判定するので、更新済みのブロックに対する不要なコピー処理を回避し、効率的にＮＡＮＤ３５の更新を完了させることができる。
【００７１】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【００７２】
前述の実施形態では、ＳＤＲＡＭ３４とＮＡＮＤ３５のいずれを先に更新するかを、ユーザの選択入力に応じて決定したものの、実施形態はこれには限られない。例えば、受信した差分データの属性として付加された重要度に応じて、自動的に決定してもよい。
【００７３】
また、前述の実施形態では、ＳＤＲＡＭ３４を先に更新する場合に、ＳＤＲＡＭ３４に展開された更新後のメモリイメージをＮＡＮＤ３５にコピーしたものの、実施形態はこれに限らない。例えば、ステップＳ１２、１３のように、ステップＳ８で更新対象であり且つ未更新であると判定されたＮＡＮＤ３５のブロックに対し、ＭＰＵ３０は、ステップＳ１でダウンロードした差分データを適用し、更新後のメモリイメージ（プログラム）を生成して書き込んでもよい。
【符号の説明】
【００７４】
１  携帯電話機（電子機器）
１１  操作部（受付部）
２１  表示部
３１  電源部
３２  無線部（通信部）
３３  アンテナ
３４  ＳＤＲＡＭ（第２記憶部）
３５  ＮＡＮＤ（第１記憶部、第３記憶部）
３６  音声制御部
【図１】
2010198387.tif 000003
【図２】
2010198387.tif 000004
【図３】
2010198387.tif 000005
【図４】
2010198387.tif 000006
【図５】
2010198387.tif 000007
【図６】
2010198387.tif 000008
【図７】
2010198387.tif 000009
【図８】
2010198387.tif 000010
【図９】
2010198387.tif 000011