(57)【要約】  【課題】  電子機器が常に起動することが可能となる書き換え可能な不揮発性メモリ、電子機器、書き換え可能な不揮発性メモリの書き換え方法、及び書き換えプログラムを提供する。  【解決手段】  電子機器に備えられるフラッシュメモリ（書き換え可能な不揮発性メモリ）２は、電子機器が処理を行うためのメインプログラム（処理プログラム）を記憶する第１領域と、ブートプログラム及び書き換えプログラムを記憶する第２領域とを有する。メインプログラムの書き換え時には、第１領域の最後尾から先頭へ向かって記憶内容を消去し、第１領域の先頭から最後尾へ向かって新たなメインプログラムを含む記憶内容を書き込む。先頭の第１特定部分は、ブート時に電子機器が最初にアクセスする部分であり、ブートプログラムが記憶されている部分へ電子機器にアクセスさせるための情報が記憶されている。【選択図】        図２
2006113823.tif 000002
【特許請求の範囲】
【請求項１】
電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラム及び電子機器に前記処理プログラムを書き換えさせるための書き換えプログラムを記憶する第２領域とを備える書き換え可能な不揮発性メモリにおいて、
前記第１領域は、電子機器によってブート時に最初にアクセスされる第１特定部分を含んでおり、
該第１特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてあり、
前記書き換えプログラムは、
電子機器に、前記第１特定部分の記憶内容が最後に消去されるように前記第１領域内の記憶内容を消去させる手順と、
該手順により前記第１領域内の記憶内容が消去された後、電子機器に、前記第１特定部分に記憶内容が最初に書き込まれるように前記第１領域に新たな処理プログラムを含む記憶内容を書き込ませる手順と
を含むことを特徴とする書き換え可能な不揮発性メモリ。
【請求項２】
前記第１領域は、前記書き換えプログラムに従った電子機器により、前記第１領域内の記憶内容の消去時に最初に記憶内容が消去され、前記第１領域への新たな処理プログラムを含む記憶内容の書き込み時に最後に記憶内容が書き込まれる第２特定部分を含んでおり、
該第２特定部分には、前記第１領域内に記憶内容が完全に書き込まれているか否かを示す情報が記憶されることを特徴とする請求項１に記載の書き換え可能な不揮発性メモリ。
【請求項３】
電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラム及び電子機器に前記処理プログラムを書き換えさせるための書き換えプログラムを記憶する第２領域とを備える書き換え可能な不揮発性メモリにおいて、
前記第１領域内の先頭アドレスの部分を含む第１特定部分が電子機器によってブート時に最初にアクセスされるように構成してあり、
前記第１特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてあり、
前記書き換えプログラムは、
電子機器に、前記第１領域内の最後尾アドレスの部分から先頭アドレスの部分へ向けて順に前記第１領域内の記憶内容を消去させる手順と、
該手順により前記第１領域内の記憶内容が消去された後に、電子機器に、前記第１領域内の先頭アドレスの部分から最後尾アドレスの部分へ向けて順に新たな処理プログラムを含む記憶内容を書き込ませる手順と
を含むことを特徴とする書き換え可能な不揮発性メモリ。
【請求項４】
前記第１領域内の最後尾アドレスの部分を含む第２特定部分には、前記第１領域内に記憶内容が完全に書き込まれているか否かを示す情報が記憶されることを特徴とする請求項３に記載の書き換え可能な不揮発性メモリ。
【請求項５】
前記ブートプログラムは、
電子機器に、前記第２特定部分に記憶されている前記第１領域内に記憶内容が完全に書き込まれているか否かを示す情報の内容を確認させる手順と、
電子機器に、確認した前記情報の内容に応じて、以後に行うべき処理を決定させる手順と
を含むことを特徴とする請求項２又は４に記載の書き換え可能な不揮発性メモリ。
【請求項６】
前記ブートプログラムは、
電子機器に、前記第１領域内に記憶されている処理プログラムを起動させる手順を含んでおり、
電子機器に、前記処理プログラムを起動させる前に、前記第２特定部分に記憶されている前記第１領域内に記憶内容が完全に書き込まれているか否かを示す情報の内容を確認させる手順と、
電子機器に、確認した前記情報の内容に応じて、以後に行うべき処理を決定させる手順と
を更に含むことを特徴とする請求項２又は４に記載の書き換え可能な不揮発性メモリ。
【請求項７】
前記書き換えプログラムは、
電子機器に、前記第２領域に記憶されている前記ブートプログラムを書き換えさせる手順を更に含むことを特徴とする請求項１乃至６のいずれか一つに記載の書き換え可能な不揮発性メモリ。
【請求項８】
前記書き換えプログラムは、
電子機器に、プログラムの書き換えを行う前に、所定の識別情報の受付を要求させる手順と、
電子機器に、所定の識別情報を受け付けた場合に、プログラムの書き換えを開始させる手順と
を更に含むことを特徴とする請求項１乃至７のいずれか一つに記載の書き換え可能な不揮発性メモリ。
【請求項９】
請求項１乃至８のいずれか一つに記載の書き換え可能な不揮発性メモリと、
該書き換え可能な不揮発性メモリが記憶するプログラムに従って処理を実行する手段と
を備えることを特徴とする電子機器。
【請求項１０】
電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラムを記憶する第２領域とを備え、前記第１領域は、電子機器によってブート時に最初にアクセスされる特定部分を含んでおり、該特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてある書き換え可能な不揮発性メモリの書き換え方法であって、
前記特定部分の記憶内容が最後に消去されるように前記第１領域内の記憶内容を消去し、
前記第１領域内の記憶内容が消去された後に、前記特定部分に記憶内容が最初に書き込まれるように前記第１領域に新たな処理プログラムを含む記憶内容を書き込むこと
を特徴とする書き換え可能な不揮発性メモリの書き換え方法。
【請求項１１】
電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラムを記憶する第２領域とを備え、前記第１領域内の先頭アドレスの部分を含む特定部分が電子機器によってブート時に最初にアクセスされるように構成してあり、前記特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてある書き換え可能な不揮発性メモリの書き換え方法であって、
前記第１領域内の最後尾アドレスの部分から先頭アドレスの部分へ向けて順に前記第１領域内の記憶内容を消去し、
前記第１領域内の記憶内容が消去された後に、前記第１領域内の先頭アドレスの部分から最後尾アドレスの部分へ向けて順に新たな処理プログラムを含む記憶内容を書き込むこと
を特徴とする書き換え可能な不揮発性メモリの書き換え方法。
【請求項１２】
電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラムを記憶する第２領域とを備え、前記第１領域は、電子機器によってブート時に最初にアクセスされる特定部分を含んでおり、該特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてある書き換え可能な不揮発性メモリが記憶している前記処理プログラムを、電子機器に書き換えさせる書き換えプログラムであって、
電子機器に、前記特定部分の記憶内容が最後に消去されるように前記第１領域内の記憶内容を消去させる手順と、
該手順により前記第１領域内の記憶内容が消去された後、電子機器に、前記特定部分に記憶内容が最初に書き込まれるように前記第１領域に新たな処理プログラムを含む記憶内容を書き込ませる手順と
を含むことを特徴とする書き換えプログラム。
【請求項１３】
電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラムを記憶する第２領域とを備え、前記第１領域内の先頭アドレスの部分を含む特定部分が電子機器によってブート時に最初にアクセスされるように構成してあり、前記特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてある書き換え可能な不揮発性メモリが記憶している前記処理プログラムを、電子機器に書き換えさせる書き換えプログラムであって、  電子機器に、前記第１領域内の最後尾アドレスの部分から先頭アドレスの部分へ向けて順に前記第１領域内の記憶内容を消去させる手順と、
該手順により前記第１領域内の記憶内容が消去された後、電子機器に、前記第１領域内の先頭アドレスの部分から最後尾アドレスの部分へ向けて順に新たな処理プログラムを含む記憶内容を書き込ませる手順と
を含むことを特徴とする書き換えプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器が実行するための実行プログラムを記憶し、実行プログラムを書き換えるための書き換えプログラムを記憶するフラッシュメモリ等の書き換え可能な不揮発性メモリ、電子機器、書き換え可能な不揮発性メモリの書き換え方法、及び書き換えプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）、デジタル式の画像データに基づいて画像を形成する画像形成装置、又はその他の家電等の電子機器は、プログラムを実行する演算部と、演算部が実行すべきプログラムを記憶しているＲＯＭとを備えている。電子機器が備えているＲＯＭとしては、書き換え可能な不揮発性メモリであるフラッシュメモリが広く利用されている。これらの電子機器は、フラッシュメモリに記憶されているプログラムを読み出し、演算部でプログラムを実行することで処理を行う。
【０００３】
ところで、フラッシュメモリを備えた電子機器は、不具合の修正、又は機能の向上等のためにフラッシュメモリの記憶内容を書き換える必要性が生じることがある。フラッシュメモリの書き換えを可能とする電子機器の構成として、フラッシュメモリ以外の部分にフラッシュメモリの記憶内容を書き換える手段を備える構成と、フラッシュメモリの書き換えプログラムをフラッシュメモリ自身が記憶している構成とがある。特許文献１には、フラッシュメモリ内の第１の領域にプログラムが記憶され、第１の領域とは別の第２の領域にフラッシュメモリが記憶するプログラムを書き換えるためのプログラムが記憶されたフラッシュメモリが開示されている。
【特許文献１】特開平１１−３３８６９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、電子機器の構成をフラッシュメモリの記憶内容を書き換える手段をフラッシュメモリ以外の部分に備える構成とした場合は、電子機器の構成が複雑となり、コストアップの要因となるという問題がある。また電子機器の構成をフラッシュメモリの書き換えプログラムをフラッシュメモリ自身が記憶している構成とした場合は、フラッシュメモリの記憶内容を書き換えている最中に電子機器が停止する異常が発生したときに、フラッシュメモリが記憶するプログラムが不完全であることを原因として電子機器が起動しなくなる可能性がある。
【０００５】
特許文献１に開示されたフラッシュメモリは、第２の領域は電子機器がブート時に最初にアクセスする領域であって、第２の領域に電子機器がブートを行うためのブートプログラムを記憶しているので、常に電子機器の起動は可能となる。しかし、電子機器がブート時に最初にアクセスする部分を含む領域内に記憶されているプログラムを書き換えるフラッシュメモリでは、やはり書き換え後に電子機器が起動しなくなる可能性がある。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、電子機器がブート時に最初にアクセスする部分を含む領域内に記憶されているプログラムを書き換える構成であっても、電子機器が常に起動することが可能となる書き換え可能な不揮発性メモリ、該書き換え可能な不揮発性メモリを備えた電子機器、書き換え可能な不揮発性メモリの書き換え方法、及び書き換えプログラムを提供することにある。
【０００７】
また本発明の他の目的とするところは、プログラムの書き換えが正常に行われたか否かを容易に判定することができる書き換え可能な不揮発性メモリ、電子機器、書き換え可能な不揮発性メモリの書き換え方法、及び書き換えプログラムを提供することにある。
【０００８】
また本発明の他の目的とするところは、書き換えの失敗等のプログラムの状態に応じて電子機器が対応することができるようになる書き換え可能な不揮発性メモリ、電子機器、書き換え可能な不揮発性メモリの書き換え方法、及び書き換えプログラムを提供することにある。
【０００９】
更に本発明の他の目的とするところは、プログラムの不正な書き換えを防止することができる書き換え可能な不揮発性メモリ、電子機器、書き換え可能な不揮発性メモリの書き換え方法、及び書き換えプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係る書き換え可能な不揮発性メモリは、電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラム及び電子機器に前記処理プログラムを書き換えさせるための書き換えプログラムを記憶する第２領域とを備える書き換え可能な不揮発性メモリにおいて、前記第１領域は、電子機器によってブート時に最初にアクセスされる第１特定部分を含んでおり、該第１特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてあり、前記書き換えプログラムは、電子機器に、前記第１特定部分の記憶内容が最後に消去されるように前記第１領域内の記憶内容を消去させる手順と、該手順により前記第１領域内の記憶内容が消去された後、電子機器に、前記第１特定部分に記憶内容が最初に書き込まれるように前記第１領域に新たな処理プログラムを含む記憶内容を書き込ませる手順とを含むことを特徴とする。
【００１１】
本発明に係る書き換え可能な不揮発性メモリは、前記第１領域は、前記書き換えプログラムに従った電子機器により、前記第１領域内の記憶内容の消去時に最初に記憶内容が消去され、前記第１領域への新たな処理プログラムを含む記憶内容の書き込み時に最後に記憶内容が書き込まれる第２特定部分を含んでおり、該第２特定部分には、前記第１領域内に記憶内容が完全に書き込まれているか否かを示す情報が記憶されることを特徴とする。
【００１２】
本発明に係る書き換え可能な不揮発性メモリは、電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラム及び電子機器に前記処理プログラムを書き換えさせるための書き換えプログラムを記憶する第２領域とを備える書き換え可能な不揮発性メモリにおいて、前記第１領域内の先頭アドレスの部分を含む第１特定部分が電子機器によってブート時に最初にアクセスされるように構成してあり、前記第１特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてあり、前記書き換えプログラムは、電子機器に、前記第１領域内の最後尾アドレスの部分から先頭アドレスの部分へ向けて順に前記第１領域内の記憶内容を消去させる手順と、該手順により前記第１領域内の記憶内容が消去された後に、電子機器に、前記第１領域内の先頭アドレスの部分から最後尾アドレスの部分へ向けて順に新たな処理プログラムを含む記憶内容を書き込ませる手順とを含むことを特徴とする。
【００１３】
本発明に係る書き換え可能な不揮発性メモリは、前記第１領域内の最後尾アドレスの部分を含む第２特定部分には、前記第１領域内に記憶内容が完全に書き込まれているか否かを示す情報が記憶されることを特徴とする。
【００１４】
本発明に係る書き換え可能な不揮発性メモリは、前記ブートプログラムは、電子機器に、前記第２特定部分に記憶されている前記第１領域内に記憶内容が完全に書き込まれているか否かを示す情報の内容を確認させる手順と、電子機器に、確認した前記情報の内容に応じて、以後に行うべき処理を決定させる手順とを含むことを特徴とする。
【００１５】
本発明に係る書き換え可能な不揮発性メモリは、前記ブートプログラムは、電子機器に、前記第１領域内に記憶されている処理プログラムを起動させる手順を含んでおり、電子機器に、前記処理プログラムを起動させる前に、前記第２特定部分に記憶されている前記第１領域内に記憶内容が完全に書き込まれているか否かを示す情報の内容を確認させる手順と、電子機器に、確認した前記情報の内容に応じて、以後に行うべき処理を決定させる手順を更に含むことを特徴とする。
【００１６】
本発明に係る書き換え可能な不揮発性メモリは、前記書き換えプログラムは、電子機器に、前記第２領域に記憶されている前記ブートプログラムを書き換えさせる手順を更に含むことを特徴とする。
【００１７】
本発明に係る書き換え可能な不揮発性メモリは、前記書き換えプログラムは、電子機器に、プログラムの書き換えを行う前に、所定の識別情報の受付を要求させる手順と、電子機器に、所定の識別情報を受け付けた場合に、プログラムの書き換えを開始させる手順とを更に含むことを特徴とする。
【００１８】
本発明に係る電子機器は、本発明に係る書き換え可能な不揮発性メモリと、該書き換え可能な不揮発性メモリが記憶するプログラムに従って処理を実行する手段とを備えることを特徴とする。
【００１９】
本発明に係る書き換え可能な不揮発性メモリの書き換え方法は、電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラムを記憶する第２領域とを備え、前記第１領域は、電子機器によってブート時に最初にアクセスされる特定部分を含んでおり、該特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてある書き換え可能な不揮発性メモリの書き換え方法であって、前記特定部分の記憶内容が最後に消去されるように前記第１領域内の記憶内容を消去し、前記第１領域内の記憶内容が消去された後に、前記特定部分に記憶内容が最初に書き込まれるように前記第１領域に新たな処理プログラムを含む記憶内容を書き込むことを特徴とする。
【００２０】
本発明に係る書き換え可能な不揮発性メモリの書き換え方法は、電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラムを記憶する第２領域とを備え、前記第１領域内の先頭アドレスの部分を含む特定部分が電子機器によってブート時に最初にアクセスされるように構成してあり、前記特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてある書き換え可能な不揮発性メモリの書き換え方法であって、前記第１領域内の最後尾アドレスの部分から先頭アドレスの部分へ向けて順に前記第１領域内の記憶内容を消去し、前記第１領域内の記憶内容が消去された後に、前記第１領域内の先頭アドレスの部分から最後尾アドレスの部分へ向けて順に新たな処理プログラムを含む記憶内容を書き込むことを特徴とする。
【００２１】
本発明に係る書き換えプログラムは、電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラムを記憶する第２領域とを備え、前記第１領域は、電子機器によってブート時に最初にアクセスされる特定部分を含んでおり、該特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてある書き換え可能な不揮発性メモリが記憶している前記処理プログラムを、電子機器に書き換えさせる書き換えプログラムであって、電子機器に、前記特定部分の記憶内容が最後に消去されるように前記第１領域内の記憶内容を消去させる手順と、該手順により前記第１領域内の記憶内容が消去された後、電子機器に、前記特定部分に記憶内容が最初に書き込まれるように前記第１領域に新たな処理プログラムを含む記憶内容を書き込ませる手順とを含むことを特徴とする。
【００２２】
本発明に係る書き換えプログラムは、電子機器に処理を実行させるための処理プログラムを記憶する第１領域と、電子機器にブートを行わせるためのブートプログラムを記憶する第２領域とを備え、前記第１領域内の先頭アドレスの部分を含む特定部分が電子機器によってブート時に最初にアクセスされるように構成してあり、前記特定部分には、電子機器に前記第２領域内の前記ブートプログラムが記憶されている部分へアクセスさせるための情報が記憶されてある書き換え可能な不揮発性メモリが記憶している前記処理プログラムを、電子機器に書き換えさせる書き換えプログラムであって、  電子機器に、前記第１領域内の最後尾アドレスの部分から先頭アドレスの部分へ向けて順に前記第１領域内の記憶内容を消去させる手順と、該手順により前記第１領域内の記憶内容が消去された後、電子機器に、前記第１領域内の先頭アドレスの部分から最後尾アドレスの部分へ向けて順に新たな処理プログラムを含む記憶内容を書き込ませる手順とを含むことを特徴とする。
【００２３】
本発明においては、電子機器に備えられるフラッシュメモリ（書き換え可能な不揮発性メモリ）は、電子機器が処理を行うための処理プログラムを記憶し、ブート時に電子機器が最初にアクセスする第１特定部分を有する第１領域と、ブートプログラム及び書き換えプログラムを記憶する第２領域とを有する。第１特定部分にはフラッシュメモリのブートプログラムが記憶されている部分へ電子機器にアクセスさせるための情報が記憶されており、電子機器は、ブート時に最初に第１特定部分にアクセスし、第１特定部分に記憶されている情報に従ってブートプログラムが記憶されている部分にアクセスし、ブートプログラムに従った処理を行う。第１領域内の書き換え時には、書き換えプログラムにより、第１特定部分の記憶内容が最後に消去されるように第１領域の記憶内容を消去し、第１特定部分の記憶内容が最初に書き込まれるように第１領域に新たな記憶内容を書き込む。
【００２４】
また本発明においては、フラッシュメモリの第１領域には、書き換え時に記憶内容が最初に消去されて最後に書き込まれる第２特定部分が含まれている。第２特定部分には第１領域の記憶内容が完全に書き込まれているか否かを示す情報が記憶されている。
【００２５】
また本発明においては、ブート時に電子機器が最初にアクセスする第１特定部分はフラッシュメモリの先頭部分であり、第１領域の書き換え時には、書き換えプログラムにより、記憶内容を第１領域の最後尾から先頭へ向かって消去し、第１領域の先頭から最後尾へ向かって新たな記憶内容を書き込むようにする。
【００２６】
また本発明においては、ブートプログラムは、第１領域が完全に書き込まれているか否かを示す第２特定部分の情報を確認し、確認した内容に応じて電子機器の停止等の以後の処理を決定するようにする。
【００２７】
また本発明においては、ブートプログラムは、電子機器のブート時のプログラムが起動される前に、第１領域が完全に書き込まれているか否かを示す第２特定部分の情報を確認し、確認した内容に応じて、電子機器の停止等の以後の処理を決定するようにする。
【００２８】
また本発明においては、書き換えプログラムによりブートプログラムをも書き換え可能である。
【００２９】
更に本発明においては、フラッシュメモリの書き換えを行う際には、所定の識別情報を受け付けて使用者の認証を行う。
【発明の効果】
【００３０】
本発明にあっては、電子機器がブート時に最初にアクセスする第１特定部分の記憶内容が最後に消去されて最初に書き込まれるようにフラッシュメモリ（書き換え可能な不揮発性メモリ）の第１領域内の記憶内容を書き換えることにより、フラッシュメモリの書き換え中に電子機器が停止する異常が発生した後でも、第１特定部分の記憶内容は残存しており、第１特定部分にはフラッシュメモリの第２領域内のブートプログラムが記憶されている部分へアクセスするための情報が記憶されているので、フラッシュメモリの書き換えに失敗した場合でも電子機器は常に起動が可能となる。
【００３１】
また本発明にあっては、プログラムを記憶しているフラッシュメモリの第１領域の書き換え時に記憶内容が最初に消去されて最後に書き込まれる第２特定部分に、第１領域内に記憶内容が完全に書き込まれているか否かを示す情報を記憶することにより、フラッシュメモリの書き換え中に電子機器が停止する異常が発生した場合は第２特定部分には情報が記憶されていないので、第２特定部分の記憶内容を確認することによってプログラムの書き換えが正常に行われたか否かを容易に判定することができる。
【００３２】
また本発明にあっては、電子機器が行うブートの処理の中でプログラムを記憶しているフラッシュメモリの第１領域に記憶内容が完全に書き込まれているか否かを示す情報を確認するので、プログラムの書き換えが正常に行われたか否かを判定し、プログラムの状態に対応することができる。
【００３３】
また本発明にあっては、フラッシュメモリの第１領域に記憶されているプログラムを起動させる前に、第１領域内に記憶内容が完全に書き込まれているか否かを示す情報を確認することにより、プログラムに異常があっても電子機器を異常停止させることなく、プログラムの再書き換え等のプログラムの状態に応じた処理を行うことが可能となる。
【００３４】
また本発明においては、フラッシュメモリの第１領域に記憶されているプログラムの書き換えのみならず、ブートプログラムの書き換えが可能であるので、ブートプログラムの更新が容易となる。
【００３５】
更に本発明においては、フラッシュメモリの書き換えを行う前に所定の識別情報の入力を必要とすることにより、メインプログラムを書き換える権限を有しない使用者による不正な書き換えを防止することができる等、本発明は優れた効果を奏する。
【発明を実施するための最良の形態】
【００３６】
以下本発明をその実施の形態を示す図面に基づき具体的に説明する。
図１は、本発明の電子機器の内部構成例を示す機能ブロック図である。図１には本発明の電子機器が画像形成装置１である場合の例を示している。画像形成装置１は、演算を行うＣＰＵ１１と、演算に伴って発生する一時的な情報を記憶するＲＡＭ１２と、本発明の書き換え可能な不揮発性メモリであるフラッシュメモリ２とを備えている。フラッシュメモリ２は、画像形成装置１が行うべき処理をＣＰＵ１１に実行させるためのプログラムを記憶している。ＣＰＵ１１は、必要に応じてフラッシュメモリ２が記憶しているプログラムをＲＡＭ１２へロードし、ロードしたプログラムに基づいて画像形成装置１に必要な処理を実行する。
【００３７】
またＣＰＵ１１には、原稿に記録された原稿画像を読み取って画像データを生成する画像読み取り部１３と画像データに基づいて画像を形成して記録用紙に記録する画像形成部１４とが接続されている。ＣＰＵ１１は、画像読み取り部１３に画像データを生成させ、生成された画像データに基づいて画像形成部１４に画像を形成させる処理を行う。
【００３８】
またＣＰＵ１１には、使用者からの操作を受け付ける操作部１５が接続されている。操作部１５は、操作のために必要な情報を表示する液晶パネル等の表示手段と、使用者の操作により制御命令などの情報が入力されるタッチパネル又はテンキー等の入力手段とからなっている。操作部１５は、入力手段にて、フラッシュメモリ２の書き換え指示を受け付けることが可能な構成となっている。
【００３９】
更にＣＰＵ１１には、外部の機器又は通信ネットワークが接続可能なインタフェース部１６が接続されている。インタフェース部１６は、フラッシュメモリ２の書き換え時に、接続された外部の機器又は通信ネットワークから、新たなプログラムを含むフラッシュメモリ２の新たな記憶内容のデータを受け付ける構成となっている。ＣＰＵ１１は、インタフェース部１６が受け付けた新たな記憶内容のデータを、フラッシュメモリ２に書き込む処理を行う。
【００４０】
図２は、フラッシュメモリ２の内部構成及び記憶内容を概念的に示す模式図である。フラッシュメモリ２は、画像形成装置１の主な機能としての処理をＣＰＵ１１に実行させるためのメインプログラム（処理プログラム）を記憶する第１領域と、画像形成装置１にブートを行わせるためのブートプログラム及びＣＰＵ１１にフラッシュメモリ２の書き換えを行わせるための書き換えプログラムを記憶する第２領域とを備えている。第１領域は、フラッシュメモリ２の先頭アドレスの部分を含む連続的な領域であり、記憶内容が書き換え可能な構成となっている。通常の状態では、ＣＰＵ１１は、フラッシュメモリ２の第１領域に記憶されているメインプログラムに従って処理を行う。
【００４１】
第２領域は、フラッシュメモリ２内の第１領域とは別の領域である。第２領域内の先頭アドレスの部分を含む第２領域内の前半部分にブートプログラムが記憶されており、第２領域内の後半部分に書き換えプログラムが記憶されている。第２領域内の少なくとも書き換えプログラムが記憶されている領域は、書き換えが不可能なように構成されている。
【００４２】
ＣＰＵ１１は、画像形成装置１のブート時に、フラッシュメモリ２の先頭アドレスの部分を含む第１特定部分に最初にアクセスする構成となっている。第１特定部分には、第２領域内のブートプログラムが記憶されている部分を示す情報が記憶されている。通常、ブートプログラムは第２領域内の先頭アドレスの部分から記憶されているので、第１特定部分には、第２領域の先頭アドレスを示す情報が記憶されている。ブート時には、ＣＰＵ１１は、まずフラッシュメモリ２の第１領域の第１特定部分にアクセスし、次に、第１特定部分に記憶されている情報が示す第２領域内の先頭アドレスの部分にアクセスし、アクセスした第２領域に記憶されているブートプログラムに従って画像形成装置１のブートを行う。
【００４３】
またフラッシュメモリ２の第２領域に記憶されている書き換えプログラムは、フラッシュメモリ２の書き換え時に、ＣＰＵ１１に、第１領域内の最後尾のアドレスの部分から先頭のアドレスの部分へ向けて第１領域内の記憶内容を消去させるプログラムを含んでいる。また書き換えプログラムは、第１領域内の記憶内容の消去後に、ＣＰＵ１１に、第１領域内の先頭のアドレスの部分から最後尾のアドレスの部分へ向けて新たな記憶内容を書き込ませるプログラムを含んでいる。従って、第１特定部分に記憶されている情報は、フラッシュメモリ２の書き換え時に、最後に消去されて最初に書き込まれる。
【００４４】
また第１領域内の最後尾のアドレスの部分を含む第２特定部分は、フラッシュメモリ２の書き換え時に、記憶内容が最初に消去されて最後に書き込まれる。第２特定部分には、第１領域内に記憶内容が完全に書き込まれているか否かを示す情報が記憶される。通常、第２特定部分には、第１領域内に記憶内容が完全に書き込まれていることを示す情報が記憶されており、ＣＰＵ１１は、第２特定部分の記憶内容がブランクである場合には、第１領域内に記憶内容が完全に書き込まれていないと判定する。
【００４５】
また書き込みプログラムは、ＣＰＵ１１に、第１領域内の記憶内容のみならず、第２領域に記憶されているブートプログラムを書き換えさせることが可能なプログラムを含んでいある。ブートプログラムの書き換え時には、ＣＰＵ１１は、フラッシュメモリ２の第２領域に記憶されている書き換えプログラムに従って、第２領域内に記憶されているブートプログラムを消去し、新たなブートプログラムを第２領域に書き込む処理を行う。更に書き換えプログラムは、フラッシュメモリ２の書き換え時に、所定のパスワード等の識別情報を要求して使用者を認証するプログラムを含んでいる。
【００４６】
次に、フラッシュメモリ２の書き換え時に画像形成装置１が行う処理を説明する。図３及び図４は、画像形成装置１がフラッシュメモリ２の記憶内容を書き換える処理の手順を示すフローチャートである。フラッシュメモリ２の書き換えを行う際には、使用者が操作部１５の入力手段を操作することによって、メインプログラムの書き換え又はブートプログラムの書き換えを指示する書き換え指示を入力する。ＣＰＵ１１は、使用者が操作部１５でのフラッシュメモリ２の書き換え指示の受付を監視している（Ｓ１０１）。フラッシュメモリ２の書き換え指示の受付がない場合は（Ｓ１０１：ＮＯ）、ＣＰＵ１１は、操作部１５でのフラッシュメモリ２の書き換え指示の受付の監視を続行する。
【００４７】
ステップＳ１０１で操作部１５がフラッシュメモリ２の書き換え指示を受け付けた場合は（Ｓ１０１：ＹＥＳ）、ＣＰＵ１１は、フラッシュメモリ２の第２領域に記憶されている書き換えプログラムに従って以下の処理を行う。ＣＰＵ１１は、操作部１５の表示部にパスワード等の識別情報の要求を表示させ（Ｓ１０２）、操作部１５の入力手段を使用者が操作することによる識別情報の受付を監視する（Ｓ１０３）。操作部１５での識別情報の受付がない場合は（Ｓ１０３：ＮＯ）、ＣＰＵ１１は、処理をステップＳ１０２へ戻す。操作部１５で識別情報を受け付けた場合は（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、受け付けた識別情報が所定の正当な識別情報であるか否かを判定する（Ｓ１０４）。受け付けた識別情報が所定の正当な識別情報ではなかった場合は（Ｓ１０４：ＮＯ）、ＣＰＵ１１は、操作部１５の表示手段にフラッシュメモリ２の書き換えができないことを示すエラーを表示させ（Ｓ１０５）、処理を終了する。受け付けた識別情報が所定の正当な識別情報であった場合は（Ｓ１０４：ＹＥＳ）、ＣＰＵ１１は、ステップＳ１０１で受け付けたフラッシュメモリ２の書き換え指示がメインプログラムの書き換え指示であるか否かを判定する（Ｓ１０６）。
【００４８】
ステップＳ１０６でフラッシュメモリ２の書き換え指示がメインプログラムの書き換え指示であった場合は（Ｓ１０６：ＹＥＳ）、ＣＰＵ１１は、フラッシュメモリ２の第１領域内の記憶内容の消去を開始する（Ｓ１０７）。図５は、フラッシュメモリ２の第１領域内の記憶内容を書き換える方法を模式的に示す模式図である。図５（ａ）は第１領域内の記憶内容を消去する方法を示し、図５（ｂ）は第１領域に新たな記憶内容を書き込む方法を示す。ＣＰＵ１１は、図５（ａ）に示す如く、第１領域内の最後尾のアドレスの部分から先頭のアドレスの部分に向かって順番に記憶内容を消去する処理を行う。従って、第２特定部分に記憶されている第１領域内に記憶内容が完全に書き込まれていることを示す情報は最初に消去され、第１特定部分に記憶されている第２領域の先頭アドレスを示す情報は最後に消去される。このため、消去途中に画像形成装置１が停止する異常が発生した場合は、第２特定部分はブランクの状態となり、第１特定部分には第２領域の先頭アドレスを示す情報が消去されずに記憶されたままの状態となる。
【００４９】
ＣＰＵ１１は、次に、第１領域内の記憶内容の消去が完了したか否かを判定する（Ｓ１０８）。消去が完了していない場合は（Ｓ１０８：ＮＯ）、ＣＰＵ１１は、第１領域内の記憶内容が消去中であることを示す情報を操作部１５の表示手段に表示させ（Ｓ１０９）、処理をステップＳ１０８へ戻す。第１領域内の記憶内容の消去が完了している場合は（Ｓ１０８：ＹＥＳ）、ＣＰＵ１１は、第１領域に対して、新たなメインプログラムを含む新たな記憶内容の書き込みを開始する（Ｓ１１０）。このときＣＰＵ１１は、インタフェース部１６に接続された外部の機器又は通信ネットワークから新たな記憶内容のデータを受け付け、受け付けたデータを書き込む処理を行う。なお、ＣＰＵ１１は、インタフェース部１６に接続された外部の機器又は通信ネットワークから新たな記憶内容のデータを予め受け付けて図示しない他の記憶手段に記憶しておき、ステップＳ１１０の段階で、予め記憶しておいたデータを書き込む処理を行ってもよい。
【００５０】
新たな記憶内容の書き込みの際には、ＣＰＵ１１は、図５（ｂ）に示す如く、第１領域内の先頭のアドレスの部分から最後尾のアドレスの部分に向かって順番に新たな記憶内容を書き込む処理を行う。従って、第１特定部分に記憶されている第２領域の先頭アドレスを示す情報は最初に書き込まれ、第２特定部分に記憶されている第１領域内に記憶内容が完全に書き込まれていることを示す情報は最後に書き込まれる。このため、書き込み途中に画像形成装置１が停止する異常が発生した場合でも、第２特定部分はブランクの状態となり、第１特定部分には第２領域の先頭アドレスを示す情報が記憶された状態となる。
【００５１】
ＣＰＵ１１は、次に、第１領域に対する新たなメインプログラムを含む新たな記憶内容の書き込みが完了したか否かを判定する（Ｓ１１１）。書き込みが完了していない場合は（Ｓ１１１：ＮＯ）、ＣＰＵ１１は、第１領域に新たな記憶内容を書き込み中であることを示す情報を操作部１５の表示手段に表示させ（Ｓ１１２）、処理をステップＳ１１１へ戻す。第１領域に対する新たな記憶内容の書き込みが完了している場合は（Ｓ１１１：ＹＥＳ）、ＣＰＵ１１は、フラッシュメモリ２のメインプログラムの書き換えが完了したことを示す情報を操作部１５の表示部に表示させ（Ｓ１１３）、処理を終了する。
【００５２】
ステップＳ１０６でフラッシュメモリ２の書き換え指示がブートプログラムの書き換え指示であった場合は（Ｓ１０６：ＮＯ）、ＣＰＵ１１は、フラッシュメモリ２の第２領域の記憶内容を書き換え不可能にしている書き込みプロテクトの設定を解除し（Ｓ１１４）、第２領域に記憶されているブートプログラムの消去を開始する（Ｓ１１５）。ＣＰＵ１１は、次に、ブートプログラムの消去が完了したか否かを判定する（Ｓ１１６）。ブートプログラムの消去が完了していない場合は（Ｓ１１６：ＮＯ）、ＣＰＵ１１は、ブートプログラムが消去中であることを示す情報を操作部１５の表示手段に表示させ（Ｓ１１７）、処理をステップＳ１１６へ戻す。ブートプログラムの消去が完了している場合は（Ｓ１１６：ＹＥＳ）、ＣＰＵ１１は、第２領域のブートプログラムが記憶されるべき部分に対して、インタフェース部１６に接続された外部の機器又は通信ネットワークから受け付けた新たなブートプログラムの書き込みを開始する（Ｓ１１８）。
【００５３】
ＣＰＵ１１は、次に、新たなブートプログラムの書き込みが完了したか否かを判定する（Ｓ１１９）。書き込みが完了していない場合は（Ｓ１１９：ＮＯ）、ＣＰＵ１１は、ブートプログラムを書き込み中であることを示す情報を操作部１５の表示手段に表示させ（Ｓ１２０）、処理をステップＳ１１９へ戻す。新たなブートプログラムの書き込みが完了している場合は（Ｓ１１９：ＹＥＳ）、ＣＰＵ１１は、フラッシュメモリ２の第２領域の記憶内容が書き換え不可能になるように書き込むプロテクトを設定する（Ｓ１２１）。ＣＰＵ１１は、次に、ブートプログラムの書き換えが完了したことを示す情報を操作部１５の表示部に表示させ（Ｓ１２２）、処理を終了する。
【００５４】
なお、以上の処理では、メインプログラムとブートプログラムとを個別に書き換える処理を行っているが、必要に応じて、メインプログラム及びブートプログラムをまとめて書き換える処理を行ってもよい。
【００５５】
次に、画像形成装置１のブート時に画像形成装置１が行う処理を説明する。図６は、画像形成装置１がブートを行う手順を示すフローチャートである。画像形成装置１の電源が投入されると（Ｓ２１）、ＣＰＵ１１は、まず、フラッシュメモリ２の先頭のアドレスの部分を含む第１特定部分にアクセスする（Ｓ２２）。第１特定部分には、第２領域内の先頭アドレスを示す情報が記憶されており、ＣＰＵ１１は、次に、第１特定部分に記憶されている情報が示す第２領域内の先頭アドレスの部分にアクセスする（Ｓ２３）。ＣＰＵ１１は、次に、アクセスした第２領域に記憶されているブートプログラムをＲＡＭ１２にロードし（Ｓ２４）、ロードしたブートプログラムに従って、画像形成装置１のブート処理を行う（Ｓ２５）。
【００５６】
ＣＰＵ１１は、次に、ＲＡＭ１２にロードしたブートプログラムに従って、フラッシュメモリ２の第１領域の最後尾のアドレスの部分を含む第２特定部分に、第１領域内に記憶内容が完全に書き込まれていることを示す情報が記憶されているか否かを判定する（Ｓ２６）。第１領域内に記憶内容が完全に書き込まれていることを示す情報が第２特定部分に記憶されている場合は（Ｓ２６：ＹＥＳ）、ＣＰＵ１１は、フラッシュメモリ２の第１領域に記憶されているメインプログラムをＲＡＭ１２にロードする（Ｓ２７）。ＣＰＵ１１は、次に、ＲＡＭ１２にロードしたメインプログラムに従って、画像形成装置１の機能としての処理を開始し（Ｓ２８）、ブート処理を終了する。
【００５７】
第２特定部分の記憶内容がブランクであって第１領域内に記憶内容が完全に書き込まれていることを示す情報が記憶されていない場合は、第１領域の記憶内容の消去途中又は書き込み途中で画像形成装置１が停止した後であって第１領域に記憶されているプログラムが不完全である可能性がある。そこで、ステップＳ２６で第２特定部分の記憶内容がブランクであった場合は（Ｓ２６：ＮＯ）、ＣＰＵ１１は、操作部１５の表示手段に、メインプログラムがフラッシュメモリ２に正しく書き込まれていないことを示す情報を表示させ（Ｓ２９）、処理をこれ以上進ませずにブート処理を終了する。使用者は、フラッシュメモリ２の書き換え処理を新たに行わせる等の操作を行って、画像形成装置１が正常に動作しないことに対して対処する。
【００５８】
なお、画像形成装置１は、電源が投入された場合のみならず、リセットが行われた場合でも同様のブート処理を行う。また画像形成装置１は、ステップＳ２９の後に、自動でフラッシュメモリ２の書き換えを開始する処理を行ってもよい。
【００５９】
以上詳述した如く、本発明においては、フラッシュメモリ２の第１領域に記憶されているメインプログラムを書き換える際には、ブート時にＣＰＵ１１が最初にアクセスする第１特定部分の記憶内容が最後に消去されるように第１領域内の記憶内容を消去し、第１特定部分の記憶内容が最初に書き込まれるように第１領域に新たな記憶内容を書き込む。従って、フラッシュメモリ２の第１領域の記憶内容の消去中又は新たな記憶内容の書き込み中に画像形成装置１が停止する異常が発生した後でも、第１特定部分の記憶内容は残存しているので、ブート時にＣＰＵ１１は正常にフラッシュメモリ２にアクセスすることができる。また第１特定部分には、フラッシュメモリ２の第２領域内のブートプログラムが記憶されている部分にアクセスするための情報が記憶されているので、ＣＰＵ１１が第１特定部分に記憶された情報に従ってブートプログラムを実行することにより、フラッシュメモリ２の書き換えに失敗した場合でも画像形成装置１は常に起動が可能となる。
【００６０】
また本発明においては、フラッシュメモリ２は、フラッシュメモリ２の第１領域に記憶されているメインプログラムを書き換える際に記憶内容が最初に消去されて最後に書き込まれる第２特定部分を第１領域内に備え、第２特定部分には、第１領域内に記憶内容が完全に書き込まれているか否かを示す情報が記憶されている。フラッシュメモリ２の第１領域の記憶内容の消去中又は新たな記憶内容の書き込み中に画像形成装置１が停止する異常が発生した場合は、第２特定部分には情報が記憶されていないので、第２特定部分の記憶内容を確認することによって、メインプログラムの書き換えが正常に行われたか否かを容易に判定することができる。
【００６１】
また本発明においては、ブートの処理の中で第１領域内に記憶内容が完全に書き込まれているか否かを示す情報を確認するので、メインプログラムの書き換えが正常に行われたか否かを判定し、メインプログラムの状態に対応することができる。特に、メインプログラムを起動させる前に、第２特定部分に記憶されている第１領域内に記憶内容が完全に書き込まれているか否かを示す情報を確認することにより、メインプログラムに異常があっても電子機器を異常停止させることなく、メインプログラムの再書き換え等のメインプログラムの状態に応じた処理を行うことが可能となる。
【００６２】
また本発明においては、メインプログラムの書き換えのみならず、ブートプログラムの書き換えが可能であるので、ブートプログラムの更新が容易となる。更に本発明においては、メインプログラムの書き換えを行う前に所定の識別情報の入力を必要とすることにより、メインプログラムを書き換える権限を有しない使用者による不正な書き換えを防止することができる。
【００６３】
なお、本実施の形態においては、ブート時にＣＰＵ１１がフラッシュメモリ２に最初にアクセスする第１特定部分を第１領域の先頭のアドレスを含む部分とし、また第２特定部分を第１領域の最後尾のアドレスの部分を含む部分とした例を示したが、これに限るものではない。第１特定部分は、ブート時にＣＰＵ１１がフラッシュメモリ２に最初にアクセスする部分であり、第１領域の書き換え時に記憶内容が最後に消去されて最初に書き込まれる部分であれば、第１領域の先頭以外の他のアドレスの部分を含む部分であってもよい。また同様に第２特定部分も、第１領域の書き換え時に記憶内容が最初に消去されて最後に書き込まれる部分であれば、第１領域の最後尾以外の他のアドレスの部分を含む部分であってもよい。
【００６４】
また本実施の形態においては、本発明の電子機器が画像形成装置である形態を示したが、これに限るものではなく、本発明の電子機器はＰＣ又は家電等のその他の形態であってもよい。また本実施の形態においては、本発明の書き換え可能な不揮発性メモリはフラッシュメモリである形態を示したが、書き換え可能な不揮発性メモリであればその他の形態であってもよい。
【図面の簡単な説明】
【００６５】
【図１】本発明の電子機器の内部構成例を示す機能ブロック図である。
【図２】フラッシュメモリの内部構成及び記憶内容を概念的に示す模式図である。
【図３】画像形成装置がフラッシュメモリの記憶内容を書き換える処理の手順を示すフローチャートである。
【図４】画像形成装置がフラッシュメモリの記憶内容を書き換える処理の手順を示すフローチャートである。
【図５】フラッシュメモリの第１領域内の記憶内容を書き換える方法を模式的に示す模式図である。
【図６】画像形成装置がブートを行う手順を示すフローチャートである。
【符号の説明】
【００６６】
１  画像形成装置（電子機器）
１１  ＣＰＵ
１２  ＲＡＭ
２  フラッシュメモリ（書き換え可能な不揮発性メモリ）
【図１】
2006113823.tif 000003
【図２】
2006113823.tif 000004
【図３】
2006113823.tif 000005
【図４】
2006113823.tif 000006
【図５】
2006113823.tif 000007
【図６】
2006113823.tif 000008