(57)【要約】【課題】不揮発性メモリからプログラムを読み出して電子機器を起動する場合の信頼性を向上させるプログラム起動制御方法および電子機器を提供する。【解決手段】電子機器は、表示部１２と、操作部１３と、起動するための同一の起動用プログラムを格納した複数のＮＡＮＤフラッシュメモリ１０２，１０３とを有し、メモリ１０２から読み出した第１起動用プログラムのデータ誤りを検出すると（Ｓ２０３；Ｙ）、メモリ１０３から第２起動用プログラムを読み出し（Ｓ２０４）、第１起動用プログラムを第２起動用プログラムで書き換えるか否かの選択メッセージを表示部１２に表示させ（Ｓ２０５）、操作部１３を通して書き換えが選択されると（Ｓ２０６；Ｙ，Ｓ２０７；Ｙ）、書き換えを実行する（Ｓ２０８−Ｓ２１１）。【選択図】図３
2012022541.tif 000002
【特許請求の範囲】
【請求項１】
表示部と操作部とを有する電子機器であって、
前記電子機器を起動するための同一の起動用プログラムを格納した複数の不揮発性記憶手段と、
第１不揮発性記憶手段から読み出した第１起動用プログラムのデータ誤りを検出する誤り検出手段と、
前記第１起動用プログラムのデータ誤りが検出されると、第２不揮発性記憶手段から第２起動用プログラムを読み出し、前記第１起動用プログラムを前記第２起動用プログラムで書き換えるか否かの選択メッセージを前記表示部に表示させ、前記操作部を通して書き換えが選択されると前記書き換えを実行するプログラム実行手段と、
を有することを特徴とする電子機器。
【請求項２】
前記プログラム実行手段は、前記書き換えが選択され実行されると、書き換え中であることを示すメッセージを前記表示部に表示させることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記書き換え中であることを示すメッセージには電源停止を禁止する文言が含まれることを特徴とする請求項２に記載の電子機器。
【請求項４】
前記電子機器の電源となるバッテリの残量を推定する電源監視手段をさらに有し、
前記プログラム実行手段は、前記バッテリの残量が所定閾値より少ないときには前記書き換えを実行せずに、充電を促すメッセージを前記表示部に表示させることを特徴とする請求項１−３のいずれかに記載の電子機器。
【請求項５】
表示部と、操作部と、同一の起動用プログラムを格納した複数の記憶手段と、を有する電子機器におけるプログラム起動制御方法であって、
誤り検出手段が第１不揮発性記憶手段から読み出した第１起動用プログラムのデータ誤りを検出し、
プログラム実行手段が、前記第１起動用プログラムのデータ誤りが検出されると、第２不揮発性記憶手段から第２起動用プログラムを読み出し、
前記プログラム実行手段が、前記第１起動用プログラムを前記第２起動用プログラムで書き換えるか否かの選択メッセージを前記表示部に表示させ、
前記プログラム実行手段が、前記操作部を通して書き換えが選択されると前記書き換えを実行する、
ことを特徴とするプログラム起動制御方法。
【請求項６】
前記プログラム実行手段が、前記書き換えが選択され実行されると、書き換え中であることを示すメッセージを前記表示部に表示させる、
ことを特徴とする請求項５に記載のプログラム起動制御方法。
【請求項７】
前記書き換え中であることを示すメッセージには電源停止を禁止する文言が含まれることを特徴とする請求項６に記載のプログラム起動制御方法。
【請求項８】
電源監視手段が前記電子機器の電源となるバッテリの残量を推定し、
前記プログラム実行手段が、前記バッテリの残量が所定閾値より少ないときには前記書き換えを実行せずに、充電を促すメッセージを前記表示部に表示させる、
ことを特徴とする請求項５−７のいずれかに記載のプログラム起動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラム制御プロセッサを有する電子機器に係り、特にフラッシュメモリのような不揮発性メモリからプログラムを読み出して起動するための制御方法に関する。
【背景技術】
【０００２】
ＮＡＮＤフラッシュメモリは、ＮＯＲフラッシュメモリよりも半導体構造が簡単でコスト削減が可能になることから多くの電子機器で採用されている。しかしながら構造上データエラーが発生しやすいために、エラー検出・訂正（ＥＣＣ：Error Checking and Correction）を併用するものが一般的である。特に、近年採用されている低コストのＭＬＣ(Multiple Level Cell)型ＮＡＮＤフラッシュメモリはＳＬＣ(Single Level Cell)型よりもエラーが発生しやすい。
【０００３】
さらに、フラッシュメモリでは、選択したメモリセルのデータ消去や書込み時に印加される高電圧が非選択メモリセルに影響してデータエラーの原因となるディスターブ現象が知られている（特許文献１を参照）。特に、フラッシュメモリに格納したプログラムを読み出して起動する携帯通信機器では、ディスターブ現象により訂正不能のエラーが発生すると携帯通信機器が起動しなくなるという重大な問題が生じる。そこで、フラッシュメモリの信頼性を十分に高めることが強く要請されており、そのための方法が種々提案されている。
【０００４】
たとえば、特許文献１に開示された記憶装置では、プログラムデータを複数の物理アドレス領域に多重化して格納しておき、電源投入時にエラー検出・訂正を実行し、エラーのない領域のデータを用いて訂正不能のエラーが発生している領域のデータを修復する。これによって記録データの信頼性を向上させるとともに、データ修復中に電源断となっても正常データの破壊を回避できることが認識されている。
【０００５】
特許文献２に開示された半導体装置によれば、フラッシュメモリ内の複数ブロックに同一のブートプログラムを格納しておき、あるブロックから読み出したデータの判定結果が不良であれば、次のブロックから読み出して同様の判定を行い、判定が不良でなければ当該データをＣＰＵへ出力する。
【０００６】
特許文献３に開示されたフラッシュメモリシステムによれば、データのコピーがフラッシュメモリの異なる位置に記憶され、これらコピーデータから最良の部分を選択してシステムを起動する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１２２６４０号公報
【特許文献２】特開２００５−２１５８２４号公報
【特許文献３】特表２００７−５１８１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述したように、ＮＡＮＤフラッシュメモリはＭＬＣの採用によりデータの信頼性が十分高いとはいえない状況にある。このために、複数ブロックに同一データを格納したり、複数データから良好部分を選択して使用したりする方法では十分な信頼性を確保できない可能性がある。
【０００９】
また、予備プログラムが動作するうちに、もとのプログラムが復旧できればよいが、ＮＡＮＤフラッシュメモリへのデータの書き込みには時間がかかる。したがって、この間に携帯機器のバッテリ切れが発生した場合あるいはユーザが誤って電源供給を停止した場合には、ＮＡＮＤフラッシュメモリのデータが異常となり、その後の読出しだけでは復旧できない状態となる。
【００１０】
さらに、ユーザがＮＡＮＤフラッシュメモリの特性についての知識を持たないのが一般的であるから、携帯電話機などの携帯通信機器では、通常、メモリ管理をユーザに見えない状態で実施している。しかしながら、このことは、修復に失敗するとプログラムが起動しなくなる恐れがある重大な処理をユーザが知らないうちに実行しているということである。このために、ユーザが知らずに何らかの操作をする可能性があり、その操作により電源断となってプログラムの修復が失敗する可能性もないとはいえない。
【００１１】
このように、上記特許文献に開示された起動制御方式では、フラッシュメモリの修復時に電源断の可能性を排除できないために起動に十分な信頼性を得ることができない。
【００１２】
そこで本発明の目的は、不揮発性メモリからプログラムを読み出して電子機器を起動する場合の信頼性を向上させるプログラム起動制御方法およびそれを用いた電子機器を提供することにある。
【課題を解決するための手段】
【００１３】
本発明による電子機器は、表示部と操作部とを有する電子機器であって、前記電子機器を起動するための同一の起動用プログラムを格納した複数の不揮発性記憶手段と、第１不揮発性記憶手段から読み出した第１起動用プログラムのデータ誤りを検出する誤り検出手段と、前記第１起動用プログラムのデータ誤りが検出されると、第２不揮発性記憶手段から第２起動用プログラムを読み出し、前記第１起動用プログラムを前記第２起動用プログラムで書き換えるか否かの選択メッセージを前記表示部に表示させ、前記操作部を通して書き換えが選択されると前記書き換えを実行するプログラム実行手段と、を有することを特徴とする。
【００１４】
本発明によるプログラム起動制御方法は、表示部と、操作部と、同一の起動用プログラムを格納した複数の不揮発性記憶手段と、を有する電子機器におけるプログラム起動制御方法であって、誤り検出手段が第１不揮発性記憶手段から読み出した第１起動用プログラムのデータ誤りを検出し、プログラム実行手段が、前記第１起動用プログラムのデータ誤りが検出されると、第２不揮発性記憶手段から第２起動用プログラムを読み出し、前記プログラム実行手段が、前記第１起動用プログラムを前記第２起動用プログラムで書き換えるか否かの選択メッセージを前記表示部に表示させ、前記プログラム実行手段が、前記操作部を通して書き換えが選択されると前記書き換えを実行する、ことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、不揮発性記憶手段からプログラムを読み出して電子機器を起動する場合の信頼性を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態による電子機器の機能的構成を示すブロック図である。
【図２】ＮＡＮＤフラッシュメモリの一般的なデータ構造を示す模式図である。
【図３】本発明の第１実施例によるプログラム起動制御方法を示すフローチャートである。
【図４】第１実施例による携帯通信機器の表示部に表示されるメッセージ例を示す携帯通信機器の平面図である。
【図５】本発明の第２実施例によるプログラム起動制御方法を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、電子機器の一例として携帯通信機器を取り上げ、本発明の実施形態について詳細に説明する。携帯通信機器には、携帯電話機や通信機能を有する携帯情報端末が含まれる。ただし、本発明による電子機器は、これに限定されるものではなく、フラッシュメモリのような不揮発性メモリに格納された起動用プログラムをプログラム実行手段で実行する機器であればよく、携帯電話器やＰＤＡ(Personal Digital Assistants)の他に、ポータブル音楽プレーヤ、電子手帳、ラップトップＰＣあるいは携帯トランシーバなども含まれる。
【００１８】
１．機能構成
図１に示すように、本発明の一実施形態による携帯通信機器は、制御部１０により制御される送受信部１１、表示部１２、操作部１３、電源部１４およびその他図示しない機能部（送受話器として機能するスピーカやマイクロフォンなど）を有するものとする。電源部１４はバッテリ（図示せず。）から機器全体に電力を供給するが、制御部１０によって電源電圧がモニタされている。送受信部１１は、たとえば携帯電話システムの基地局と無線通信するための無線通信回路を含む。表示部１２は種々の情報をユーザに可視表示するためのモニタであり、操作部１３はキーパッドあるいはタッチパネル等であり、ユーザの手動操作を可能にする。
【００１９】
制御部１０は、プログラム実行手段であるプログラム制御プロセッサ（ここではＣＰＵ（中央処理装置））１０１と、ＣＰＵ１０１に共通バスで接続されたＮＡＮＤフラッシュメモリ（＃１）１０２およびＮＡＮＤフラッシュメモリ（＃２）１０３と、ＣＰＵ１０１に別のバスで接続されたランダムアクセスメモリ（ＲＡＭ）１０４と、を含む。ＮＡＮＤフラッシュメモリ１０２および１０３には同じ起動用プログラムがそれぞれ格納されているが、ここでは「＃１」と記されたＮＡＮＤフラッシュメモリ１０２が初期設定されたプログラム読み出しメモリであり、「＃２」と記されたＮＡＮＤフラッシュメモリ１０３が予備のメモリであるものとする。ＣＰＵ１０１は、後述する手順に従って、プログラムをページ単位でＮＡＮＤフラッシュメモリ１０２または１０３からＲＡＭ１０４に転送し、転送されたプログラムを実行することにより携帯通信機器を起動する。
【００２０】
図２に示すように、ＮＡＮＤフラッシュメモリ１０２および１０３のデータはページ単位で構成され書き込み／読出しが行われる。ここではプログラムの大きさやメモリ配置によりｎページ分のプログラムが１ブロックとして記憶され、各ページにはプログラムデータとそのＥＣＣデータとが格納されている。たとえばページ０には、プログラムデータＰ０とそのプログラムＰ０から計算されたＥＣＣデータＥ０とが格納されている。ＣＰＵ２０１はプログラムデータを読み出すときに、そのＥＣＣデータも読み出し、プログラムにエラーがないか否かを確認する。プログラムはそれが実現する機能に従ってページ使用量が異なり、使用量が多い機能の場合には複数ブロックにわたることもある。
【００２１】
ＮＡＮＤフラッシュメモリ１０２または１０３に格納された起動用プログラムが実行されることで本実施形態のシステムが起動する。電源投入により起動用プログラムを実行する場合、まず、ＣＰＵ１０１は所定のＮＡＮＤフラッシュメモリ１０２のプログラムをＥＣＣデータとともに読み出し、ＥＣＣデータを用いてデータのエラーの有無を判定する。エラーが検出された場合、ＣＰＵ１０１は、プログラム読み出し元を所定のＮＡＮＤフラッシュメモリ１０２から予備のＮＡＮＤフラッシュメモリ１０３へ変更し、ＮＡＮＤフラッシュメモリ１０３からプログラムをＲＡＭ１０４へ転送して実行する。
【００２２】
本実施形態によれば、他方のＮＡＮＤフラッシュメモリ１０３からプログラムを起動した後、携帯通信機器にエラーが発生したことをユーザに通知し、ユーザ操作によりエラーが発生した側のＮＡＮＤフラッシュメモリ１０２に格納されているプログラムの再書込みが選択可能である。さらに、プログラム再書き込みが選択された場合には、バッテリ電源の状態を考慮して再書き込みを実行するか否かを判定することも可能である。以下、本発明の実施例を詳細に説明する。
【００２３】
２．第１実施例
図３および図４を参照しながら本発明の第１実施例を詳細に説明する。
【００２４】
図３において、ＣＰＵ１０１は起動動作を開始すると、予め定められたＮＡＮＤフラッシュメモリ（＃１）１０２に格納された起動用プログラムをそのＥＣＣデータと共にＲＡＭ１０４へ転送する（ステップＳ２０１）。ＣＰＵ１０１は、当該ＥＣＣデータを用いてプログラムデータのエラーチェックを開始する（ステップＳ２０２）。読み出されたプログラムにエラーがないと判定された場合（ステップＳ２０３；Ｎ）、制御は図３のフローを出て、ＲＡＭ１０４に転送されたプログラムで携帯通信機器を起動する。
【００２５】
読み出されたプログラムにエラーがあると判定された場合（ステップＳ２０３；Ｙ）、ＣＰＵ１０１は別のＮＡＮＤフラッシュメモリ（＃２）１０３からプログラムを読み出してＲＡＭ１０４へ転送する（ステップＳ２０４）。この時、ＥＣＣデータも同時に読み出してエラー検出・訂正を行ってもよい。ただし、通常使用されるＮＡＮＤフラッシュメモリ（＃１）１０２に比べて、ＮＡＮＤフラッシュメモリ（＃２）１０３は書込／消去回数が少ないのでエラーが生じにくく、十分な信頼性を保持しうる。ＮＡＮＤフラッシュメモリ（＃２）１０３からＲＡＭ１０４にプログラムが転送されると、ＣＰＵ１０１は、携帯通信機器の表示部１２にメンテナンスを行うか否かをユーザに問いかけるメッセージを表示する（ステップＳ２０５）。具体的には、図４（Ａ）に示すようなメッセージを表示部１２に表示し、ユーザによる操作部１３の操作入力を待つ（ステップＳ２０６）。この表示によって、ユーザにＥＣＣエラーが検出されたことを知らせると共に、ユーザにメモリ＃１の書き換えの可否を選択させることができる。
【００２６】
ユーザ操作入力があり、それがメンテナンス実行（図４（Ａ）の例では「ＳＴＡＲＴ」）を選択するものであれば（ステップＳ２０６；Ｙ、ステップＳ２０７；Ｙ）、ユーザがＮＡＮＤフラッシュメモリ（＃１）のメンテナンスを希望するものと判断し、表示部１２に図４（Ｂ）に示すような「メンテナンス中」を意味する表示を行いユーザに電源供給を停止しないように注意を喚起する（ステップＳ２０８）。この表示を出した後、ＣＰＵ１０１はメンテナンスの動作としてＮＡＮＤフラッシュメモリ（＃１）１０２のデータを消去し（ステップ２０９）、正常に動作したＮＡＮＤフラッシュメモリ（＃２）１０３のデータをＮＡＮＤフラッシュメモリ（＃１）１０２に書き込む（ステップＳ２１０）。ＮＡＮＤフラッシュメモリ（＃２）１０３からＮＡＮＤフラッシュメモリ（＃１）１０２へのデータ書き込みが終了すると（ステップＳ２１１；Ｙ）、ＣＰＵ１０１はＲＡＭ１０４に転送されたプログラムで携帯通信機器を起動する。
【００２７】
なお、ユーザ操作入力があり、それがメンテナンス不実行（図４（Ａ）の例では「ＥＮＤ」）を選択するものであれば（ステップＳ２０６；Ｙ、ステップＳ２０７；Ｎ）、ユーザがＮＡＮＤフラッシュメモリのメンテナンスを希望しないものと判断して、ＣＰＵ１０１はＮＡＮＤフラッシュメモリ（＃１）１０２のプログラムを書き換えることなしに、ＮＡＮＤフラッシュメモリ（＃２）１０３からＲＡＭ２０４に転送されたプログラムで携帯通信機器を起動する。
【００２８】
以上説明したように、本実施例においては、以下に記載するような効果がある。
【００２９】
第１の効果は、プログラムが格納されたＮＡＮＤフラッシュメモリ（＃１）１０２がディスターブ現象などでエラーが発生する状態となっても、ＥＣＣチェックなどでエラーを検出することで別のＮＡＮＤフラッシュメモリ（＃２）１０３のプログラムを用いて携帯通信機器を起動することができる。
【００３０】
第２の効果は、ＮＡＮＤフラッシュメモリ（＃２）１０３のプログラムで起動した後、ＮＡＮＤフラッシュメモリ（＃１）１０２を消去してからＮＡＮＤフラッシュメモリ（＃２）１０３のデータを書き込むことで、次回からＮＡＮＤフラッシュメモリ（＃１）１０２で起動可能となる。
【００３１】
第３の効果は、リカバーのためＮＡＮＤフラッシュメモリ（＃１）１０２の消去／書込みを開始する前に、表示部１２にメンテナンスが必要な旨を表示することにより、ＮＡＮＤフラッシュメモリの専門知識がないユーザにも注意を喚起することができ、ユーザの操作に起因するデータ修復失敗を回避できる。
【００３２】
第４の効果は、メンテナンスを行うか否かをユーザに選択させ、さらに、メンテナンス動作が行われている旨を表示することにより、携帯通信機器の状況をユーザに強く印象付けることができる。それによって、ＮＡＮＤフラッシュメモリの消去／書き込み中に電源供給を停止する操作を防止でき、ＮＡＮＤフラッシュメモリに格納されたプログラムデータが破壊されプログラムが起動しなくなる事態を確実に回避できる。
【００３３】
３．第２実施例
図５を参照しながら本発明の第２実施例を詳細に説明する。ただし、図３と同じステップには同じ参照符号を付して説明は簡略化する。
【００３４】
図５において、ＣＰＵ１０１は起動動作を開始すると、予め定められたＮＡＮＤフラッシュメモリ（＃１）１０２に格納されたプログラムをそのＥＣＣデータと共にＲＡＭ１０４へ転送する（ステップＳ２０１）。ＣＰＵ１０１は、当該ＥＣＣデータを用いてプログラムデータのエラーチェックを開始する（ステップＳ２０２）。読み出されたプログラムにエラーがないと判定された場合（ステップＳ２０３；Ｎ）、制御は図３のフローを出て、ＲＡＭ１０４に転送されたプログラムで携帯通信機器を起動する。読み出されたプログラムにエラーがあると判定された場合（ステップＳ２０３；Ｙ）、ＣＰＵ１０１は別のＮＡＮＤフラッシュメモリ（＃２）１０３からプログラムデータを読み出してＲＡＭ１０４へ転送する（ステップＳ２０４）。
【００３５】
ＮＡＮＤフラッシュメモリ（＃２）１０３からＲＡＭ１０４にプログラムが転送されたら、ＣＰＵ１０１は、携帯通信機器の表示部１２にメンテナンスを行うか否かをユーザに問いかけるメッセージを表示し、ユーザによるメンテナンス実行の可否の選択入力を待つ（ステップＳ４０１）。メンテナンス実行（図４（Ａ）の例では「ＳＴＡＲＴ」）が選択されると（ステップＳ４０１；Ｙ）、ＣＰＵ１０１は電源部１４の電源電圧を所定閾値Ｖｔｈと比較してバッテリ残量を推定する（ステップＳ４０２）。バッテリ残量がプログラム書き換えに十分であれば（ステップＳ４０２；Ｙ）、上述したステップＳ２０８−Ｓ２１１を実行することでＮＡＮＤフラッシュメモリ（＃１）１０２のプログラムを書き換える。
【００３６】
バッテリ残量がプログラム書き換えに不十分であれば（ステップＳ４０２；Ｎ）、ＣＰＵ１０１は表示部１２に充電の必要性を表示してユーザに注意を喚起し、ＮＡＮＤフラッシュメモリ（＃１）１０２のプログラムを書き換えることなしに、ＮＡＮＤフラッシュメモリ（＃２）１０３からＲＡＭ２０４に転送されたプログラムで携帯通信機器を起動する。
【００３７】
上述した第２実施例においても、上述した第１実施例と同様の効果を得ることができ、さらに、ＮＡＮＤフラッシュメモリの消去／書き込み中にバッテリ切れで電源供給が停止し、ＮＡＮＤフラッシュメモリに格納されたプログラムデータが破壊されプログラムが起動しなくなる事態を確実に回避できる。
【００３８】
４．その他の実施例
本発明は上記実施例に限定されるものではなく、以下のような変形例を含むものと解すべきである。たとえば、図１ではＮＡＮＤフラッシュメモリ１０２とＮＡＮＤフラッシュメモリ１０３とが分けて記載されているが、これらは１つのＮＡＮＤフラッシュメモリの別領域（別ブロック）で構成することも可能である。
【００３９】
またＮＡＮＤフラッシュメモリ１０３はプログラムを格納しておく用途であるから、不揮発性メモリであればよく、ＣＰＵ１０１とのインタフェースが特定のＮＡＮＤフラッシュ１０２と異なる方式でもあってもよい。また、ＮＯＲフラッシュメモリやＰＲＡＭ（Phase Change RAM）など種類の異なるメモリであっても同様の効果となる。ＮＡＮＤフラッシュメモリ１０３は脱着式のメモリカードであってもよい。
【００４０】
さらに、上記第１および第２実施例ではＣＰＵ２０１がプログラムデータのエラーチェックを行うが、ＮＡＮＤフラッシュメモリにはＥＣＣエラーチェック機能を内蔵しているものもあり、それらを使ってＣＰＵ１０１自身がＥＣＣ計算を行わず、エラー確認だけを行っても同様の効果を得ることができる。
【００４１】
なお、図４に示す表示部１２のメッセージは一例であり、同様の内容を指示するものであれば任意の形態であってもよい。また、操作部１３のボタンの配置などの割付も任意である。
【産業上の利用可能性】
【００４２】
本発明は、携帯電話器、ＰＤＡ、ポータブル音楽プレーヤ、電子手帳、ラップトップＰＣ、トランシーバなどの携帯機器に適用可能である。
【符号の説明】
【００４３】
１０  制御部
１１  送受信部
１２  表示部
１３  操作部
１４  電源部
１０１  ＣＰＵ
１０２  ＮＡＮＤフラッシュメモリ
１０３  ＮＡＮＤフラッシュメモリ
１０４  ＲＡＭ
【図１】
2012022541.tif 000003
【図２】
2012022541.tif 000004
【図３】
2012022541.tif 000005
【図４】
2012022541.tif 000006
【図５】
2012022541.tif 000007