(57)【要約】【課題】  途中でダウンロードに失敗した場合でも、システムを立ち上げることができるようにプログラムを書き換えることができる情報処理装置を提供する。【解決手段】  情報処理装置１は、ブートプログラムをブート領域２２に記憶する不揮発性記憶部１２と、ブートプログラム２６に代えてブート領域２２に新たに書き込むブートプログラム３６を記憶する揮発性記憶部１３と、ブート領域２２に新たに書き込むブートプログラムを不揮発性記憶部１２の未使用領域２４に書き込み後、新たに書き込むブートプログラム３６を不揮発性記憶部１２のブート領域２２に書き込む処理部１１とを有する。アップデート中に電源がオフするなどして不揮発性記憶部のブート領域へのブートプログラムのアップデータに失敗した場合でも、不揮発性記憶部のブート領域以外の格納されたブートプログラムによりシステムの立ち上げを行うことができる。【選択図】          図３
2005250882.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを所定の領域に記憶する不揮発性記憶部と、
前記プログラムに代えて前記領域に新たに書き込むプログラムを記憶する記憶部と、
前記新たに書き込むプログラムを前記不揮発性記憶部の前記領域以外の領域に書き込み後、前記新たに書き込むプログラムを前記不揮発性記憶部の前記領域に書き込む処理部とを有することを特徴とする情報処理装置。
【請求項２】
ブートプログラムをブート領域に記憶する不揮発性記憶部と、
前記ブートプログラムに代えて前記ブート領域に新たに書き込むブートプログラムを記憶する記憶部と、
前記ブート領域に新たに書き込むブートプログラムを前記不揮発性記憶部のブート領域以外の領域に書き込み後、前記新たに書き込むブートプログラムを前記不揮発性記憶部のブート領域に書き込む処理部とを有することを特徴とする情報処理装置。
【請求項３】
前記処理部は、前記不揮発性記憶部のブート領域以外の領域に書き込んだブートプログラムを消去することを特徴とする請求項２記載の情報処理装置。
【請求項４】
不揮発性記憶部のブート領域に記憶するブートプログラムに代えて該ブート領域に新たに書き込むブートプログラムを所定の記憶部に記憶させるステップと、
前記ブート領域に新たに書き込むブートプログラムを前記不揮発性記憶部のブート領域以外の領域に書き込みステップと、
前記新たに書き込むブートプログラムを前記不揮発性記憶部のブート領域に書き込むステップとを有することを特徴とするプログラムの書き換え方法。
【請求項５】
前記プログラムの書き換え方法は更に、前記不揮発性記憶部のブート領域以外の領域に書き込んだブートプログラムを消去するステップを有することを特徴とする請求項４記載のプログラムの書き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムの書き換え方法に関する。
【背景技術】
【０００２】
従来、ソフトウェアプログラムおよびブートプログラムは通常書き換えのできないＲＯＭ（Read Only Memory）に配置されており、電源オン時にはブートプログラムを起動し、ソフトウェアプログラムに実行権を移すことで、プログラムが動作する仕組みになっている。このソフトウェアプログラムは、ＢＵＧＦＩＸや新機能の追加という理由で度々更新され、ソフトウェアプログラムがＲＡＭ（Random Access Memory）上で実行される場合、ソフトウェアプログラム内のダウンローダを起動することにより、ＲＯＭ内のソフトウェアプログラムをアップデートしていた。
【０００３】
しかしながら、ブートプログラムにおいては、ＣＰＵ（Central Processing Unit）の仕様として、電源オン時に起動するアドレスが一意に決まっているため、ＲＯＭの固定領域に配置しておかなくてはならない。ブートプログラムをアップデートできるようにしたものとして特許文献１記載の装置が提案されている。
【０００４】
特許文献１記載の装置は、ダウンロード時、受信したダウンロードデータがブートプログラムの場合、ＦｌａｓｈＲＯＭの現在のブートプログラムのダウンロード処理部をＤＲＡＭにコピーして制御をＤＲＡＭに移した後、ＦｌａｓｈＲＯＭ１４の内容を消去し、ＦｌａｓｈＲＯＭへブートプログラムのダウンロード処理を行う。これにより、新たなブートプログラムのダウンロードを容易に行うことができるというものである。
【０００５】
【特許文献１】特開２００２−７１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１記載の装置では、ブートプログラムをダウンロードすることができるものの、ブートプログラムを書き換えている最中に電源がオフされたり、通信エラー等が発生してダウンロードに失敗したりすると、プログラム書き換え処理で失敗し、次に電源を再投入しても、二度と立ち上がることができないという問題がある。
【０００７】
そこで、本発明は、上記問題点に鑑みてなされたもので、途中でダウンロードに失敗した場合でも、システムを立ち上げることができるようにプログラムを書き換えることができる情報処理装置およびプログラム書き換え方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の情報処理装置は、請求項１に記載のように、プログラムを所定の領域に記憶する不揮発性記憶部と、前記プログラムに代えて前記領域に新たに書き込むプログラムを記憶する記憶部と、前記新たに書き込むプログラムを前記不揮発性記憶部の前記領域以外の領域に書き込み後、前記新たに書き込むプログラムを前記不揮発性記憶部の前記領域に書き込む処理部とを有することを特徴とする。
【０００９】
請求項１記載の発明によれば、新たに書き込むプログラムを不揮発性記憶部の所定領域以外の領域に一旦書き込み後、新たに書き込むプログラムを不揮発性記憶部の所定領域に書き込むので、アップデート中に電源がオフするなどして不揮発性記憶部の所定領域へのプログラムのアップデータに失敗した場合でも、不揮発性記憶部の所定領域以外の格納されたプログラムによりシステムを実行できる。したがって、途中でダウンロードに失敗した場合でも、システムを実行することができるようにプログラムを書き換えることができる。
【００１０】
また、本発明の情報処理装置は、請求項２に記載のように、ブートプログラムをブート領域に記憶する不揮発性記憶部と、前記ブートプログラムに代えて前記ブート領域に新たに書き込むブートプログラムを記憶する記憶部と、前記ブート領域に新たに書き込むブートプログラムを前記不揮発性記憶部のブート領域以外の領域に書き込み後、前記新たに書き込むブートプログラムを前記不揮発性記憶部のブート領域に書き込む処理部とを有することを特徴とする。
【００１１】
請求項２記載の発明によれば、ブート領域に新たに書き込むブートプログラムを不揮発性記憶部のブート領域以外の領域に一旦書き込み後、新たに書き込むブートプログラムを不揮発性記憶部のブート領域に書き込むので、アップデート中に電源がオフするなどして不揮発性記憶部のブート領域へのブートプログラムのアップデータに失敗した場合でも、不揮発性記憶部のブート領域以外の格納されたブートプログラムによりシステムの立ち上げを行うことができる。したがって、途中でダウンロードに失敗した場合でも、システムを立ち上げることができるようにプログラムを書き換えることができる。
【００１２】
また、本発明は、請求項３に記載のように、請求項２記載の情報処理装置において、前記処理部は、前記不揮発性記憶部のブート領域以外の領域に書き込んだブートプログラムを消去することを特徴とする。請求項３記載の発明によれば、不揮発性記憶部のブート領域以外の領域に書き込んだブートプログラムを消去するので、不揮発性記憶部の容量を有効に使用できる。
【００１３】
また、本発明のプログラムの書き換え方法は、請求項４に記載のように、不揮発性記憶部のブート領域に記憶するブートプログラムに代えて該ブート領域に新たに書き込むブートプログラムを所定の記憶部に記憶させるステップと、前記ブート領域に新たに書き込むブートプログラムを前記不揮発性記憶部のブート領域以外の領域に書き込みステップと、前記新たに書き込むブートプログラムを前記不揮発性記憶部のブート領域に書き込むステップとを有することを特徴とする。
【００１４】
請求項４記載の発明によれば、ブート領域に新たに書き込むブートプログラムを不揮発性記憶部のブート領域以外の領域に一旦書き込み後、新たに書き込むブートプログラムを不揮発性記憶部のブート領域に書き込むので、アップデート中に電源がオフするなどして不揮発性記憶部のブート領域へのブートプログラムのアップデータに失敗した場合でも、不揮発性記憶部のブート領域以外の格納されたブートプログラムによりシステムの立ち上げを行うことができる。したがって、途中でダウンロードに失敗した場合でも、システムを立ち上げることができるようにプログラムを書き換えることができる。
【００１５】
また、本発明は、請求項５に記載のように、請求項４記載のプログラムの書き換え方法において、更に、前記不揮発性記憶部のブート領域以外の領域に書き込んだブートプログラムを消去するステップを有することを特徴とする。請求項５記載の発明によれば、不揮発性記憶部のブート領域以外の領域に書き込んだブートプログラムを消去するので、不揮発性記憶部の容量を有効に使用できる。
【発明の効果】
【００１６】
本発明によれば、途中でダウンロードに失敗した場合でも、システムを立ち上げることができるようにプログラムを書き換えることができる情報処理装置およびプログラム書き換え方法を提供できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための最良の形態について実施例を用いて説明する。
【実施例】
【００１８】
図１は、本実施例に係るシステムの構成図である。図１に示すように、システム１００は、情報処理装置１、外部装置２を備える。情報処理装置１は、例えばコピー機やプリンタ等の画像形成装置内に組み込まれている。この情報処理装置１は、処置部１１、不揮発性記憶部１２、揮発性記憶部１３、外部インターフェース１４を備える。外部装置２は、例えばパーソナルコンピュータで構成されている。情報処理装置１は、所定のインターフェースを介して外部装置２と通信できる。この外部装置２は、ダウンロードデータファイルを提供するホスト装置として機能する。
【００１９】
不揮発性記憶部１２は、記憶内容の保持に、外部からの電源供給を必要としないメモリである。この不揮発性記憶部１２は、例えばプログラム情報が記憶されるフラッシュメモリと、プログラムの書き換え時のステータス情報が記憶されるEEPROMなどの少量単位で記憶できるデバイスを含んでいる。この不揮発性記憶部１２は、ブートプログラムをブート領域に記憶している。
【００２０】
揮発性記憶部１３は、電源の供給が止まると、記憶した内容が消えてしまうタイプのメモリである。この揮発性記憶部１３は、例えばＲＡＭにより構成されている。この揮発性記憶部１３、ブート領域に新たに書き込むブートプログラムを記憶する。この新たに書き込むブートプログラムは外部装置２からダウンロードされたものである。外部インターフェース１４は、ネットワーク、パラレルといった外部装置２と接続される汎用インターフェースである。
【００２１】
処理部１１は、例えばＣＰＵにより構成される。この処理部１１は、不揮発性記憶部１２のブート領域に新たに書き込むブートプログラムを不揮発性記憶部１２のブート領域以外の領域に書き込み後、新たに書き込むブートプログラムを不揮発性記憶部１２のブート領域に書き込む。詳細は後述する。
【００２２】
次に、不揮発性記憶部１２の内部構成について説明する。図２は、不揮発性記憶部１２の内部構成図である。図２に示すように、不揮発性記憶部１２は、ソフトウェア領域２１とブート領域２２を有する。不揮発性記憶部１２は、セクタ単位でデータの消去ができるように構成されている。ソフトウェア領域２１には所定の容量（バイト数）が割り当てられている。ソフトウェア領域２１には、ソフトウェア２３が格納されている。このソフトウェア領域２１は、所定バイト数の未使用領域２４が存在する。ブート領域２２には、Ｊｕｍｐコード２５とブートプログラム２６が格納されている。
【００２３】
情報処理装置１の電源がオンになると、ブート領域２２のＪｕｍｐコード２５がブートプログラム２６に処理を移し、ブートプログラム２６がソフトウェア領域２１内のソフトウェア２３を揮発性記憶部１３に展開する。この時、ソフトウェア２３が圧縮されている場合、伸張されて揮発性記憶部１３に展開される。揮発性記憶部１３へのソフトウェア２３の展開が終わると、ブートプログラム２６は、揮発性記憶部１３に展開したソフトウェア２３に制御を移す。ブートプログラム２６は、制御を移したところで、動作を完了する。
【００２４】
次に、ダウンロード処理を説明する。図３は、ダウンロード処理を説明するための図である。図３（ａ）は、不揮発性記憶部１２の内容を示す図、（ｂ）は揮発性記憶部１３の内容を示す図である。同図（ａ）に示すように、不揮発性記憶部１２は、ソフトウェア領域２１、ブート領域２２を有し、ソフトウェア領域２１には、ソフトウェア２３が格納され、ブート領域２２には、Ｊｕｍｐコード２５と、ブートプログラム２６が格納されている。ソフトウェア領域２１には、未使用領域２４が存在する。図３（ｂ）に示すように、揮発性記憶部１３のダウンロードデータファイル内には、ソフトウェア３３、ダウンローダ３４、ブートプログラム３６が含まれる。
【００２５】
次に、システムの動作について説明する。図４は、本発明によるプログラムの書き換え方法のフローチャートである。ダウンロード時には、外部装置２から外部Ｉ／Ｆ１４を介して情報処理装置１１へダウンロードデータファイルが転送される。ステップＳ１で、処理部１１は、ダウンロードデータファイルを受信すると、このダウンロードデータファイルを揮発性記憶部１３に一旦格納する。以下、処理部１１は、揮発性記憶部１３内のダウンローダ３４により処理を実行する。
【００２６】
ステップＳ２で、処理部１１は、ダウンロードデータファイルの揮発性記憶部１３への転送が終了したら、ダウンロードデータファイル内にブートプログラムを含むかどうかを判断する。ステップＳ３で、処理部１１は、ダウンロードデータファイル内にブートプログラムを含むと判断した場合、揮発性記憶部１３のブートプログラム３６をブート領域２２に書き込む前に、不揮発性記憶部１２内の未使用領域２４にブートプログラム３６を一旦書き込む（１）。次に、処理部１１は、不揮発性記憶部１２内にあるEEPROM等のデバイスに書き込み情報を管理するためにSTATUS値をセットする。
【００２７】
ステップＳ４で、処理部１１は、揮発性記憶部１３のブートプログラム３６を不揮発性記憶部１２のブート領域２２に書き込み、ブートプログラムをアップデートする（２）。次に、処理部１１は、不揮発性記憶部１２内にあるEEPROM等のデバイスにステップ３でセットしたSTATUS値を元に戻す。ステップＳ５で、処理部１１は、ダウンロードデータファイル内にソフトウェアを含むかどうかを判断する。
【００２８】
ステップＳ６で、処理部１１は、上記でダウンロードデータファイル内にソフトウェアを含むと判断した場合、揮発性記憶部１３のソフトウェア３３を不揮発性記憶部１２のソフトウェア領域２１に書き込み、ソフトウェアをアップデートする（３）。ステップＳ７で、処理部１１は、不揮発性記憶部１２の未使用領域２４に書き込んだブートプログラム３６を消去する。以上でブートプログラムとソフトウェアのアップデートが完了する。
【００２９】
上記（１）のアップデート中に電源がオフするなどしてブートプログラムのダウンロードに失敗した場合、不揮発性記憶部１２のＪｕｍｐコード２５が不揮発性記憶部１２内のブートプログラム２６に処理を移すことでシステムの再立ち上げを行うことができる。また、上記（２）のアップデート中に電源がオフするなどしてブートプログラムのダウンロードに失敗した場合、不揮発性記憶部１２のＪｕｍｐコード２５が不揮発性記憶部１２内にあるEEPROM等にセットしたSTATUS値からブートプログラム２６が無いことを判断できるので、未使用領域２４に書き込んだブートプログラム３６に処理を移すことでシステムの再立ち上げを行うことができる。
【００３０】
また、上記（３）のアップデート中に電源をオフするなどしてソフトウェア３３のダウンロードに失敗した場合、通常通り、不揮発性記憶部１２のＪｕｍｐコード２５がブート領域２２に書き込んだブートプログラム３６に処理を移すことでシステムの立ち上げを行うことができる。
【００３１】
本実施例によれば、ブート領域に新たに書き込むブートプログラムを不揮発性記憶部のブート領域以外の領域に一旦書き込み後、新たに書き込むブートプログラムを不揮発性記憶部のブート領域に書き込むので、アップデート中に電源がオフするなどして不揮発性記憶部のブート領域へのブートプログラムのアップデータに失敗した場合でも、不揮発性記憶部のブート領域以外の格納されたブートプログラムによりシステムの立ち上げを行うことができる。したがって、途中でダウンロードに失敗した場合でも、システムを立ち上げることができるようにプログラムを書き換えることができる。また、導入するために新たなデバイスも必要とせず、コストがかからない。さらに、ＲＯＭ交換の必要がなくなるため、大幅な人件費の削減になる。
【００３２】
また、不揮発性記憶部のブート領域以外の領域に書き込んだブートプログラムを消去するので、不揮発性記憶部の容量を有効に使用できる。
【００３３】
なお、上記実施例ではプログラムにブートプログラムを用いて説明したが、本発明では、ブートプログラムに限定されることなく種々のプログラムを用いることができる。この場合、情報処理装置は以下のように構成される。
【００３４】
情報処理装置は、プログラムを所定の領域に記憶する不揮発性記憶部と、前記プログラムに代えて前記領域に新たに書き込むプログラムを記憶する記憶部と、前記新たに書き込むプログラムを前記不揮発性記憶部の前記領域以外の領域に書き込み後、前記新たに書き込むプログラムを前記不揮発性記憶部の前記領域に書き込む処理部とを有する。この情報処理装置によれば、アップデート中に電源がオフするなどして不揮発性記憶部の所定領域へのプログラムのアップデータに失敗した場合でも、不揮発性記憶部の所定領域以外の格納されたプログラムによりシステムを実行できる。したがって、途中でダウンロードに失敗した場合でも、システムを実行することができるようにプログラムを書き換えることができる。
【００３５】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。例えば図１に示した情報処理装置１の構成は一例であり、本発明ではこの構成には限定されない。
【図面の簡単な説明】
【００３６】
【図１】本実施例に係るシステムの構成図である。
【図２】不揮発性記憶部の内部構成図である。
【図３】（ａ）は、不揮発性記憶部の内容を示す図、（ｂ）は揮発性記憶部の内容を示す図である。
【図４】本発明によるプログラムの書き換え方法のフローチャートである。
【符号の説明】
【００３７】
１  情報処理装置
２  外部装置
１１  処理部
１２  不揮発性記憶部
１３  外部Ｉ／Ｆ
１００  システム
【図１】
2005250882.tif 000003
【図２】
2005250882.tif 000004
【図３】
2005250882.tif 000005
【図４】
2005250882.tif 000006