(57)【要約】【課題】プログラムの誤動作の発生を抑制する。【解決手段】動作制御部は、プログラムを実行するＣＰＵと、プログラムを格納するとともにプログラムの実行に伴って発生するデータを格納するメインメモリ５１２とを有している。メインメモリ５１２は、読み書き可能であって、電源を供給しなくても、記憶している情報を保持することが可能なＭＲＡＭ６１と、電源を供給しないと、記憶している情報を保持することができないＤＲＡＭ６２とを備えており、ＭＲＡＭ６１の一部領域にはプログラム等が格納されるＲＯＭ領域Ａ１が設けられ、ＭＲＡＭ６１の残りの領域およびＤＲＡＭ６２のすべての領域にはデータ等が格納されるＲＡＭ領域Ａ２が設けられる。ＣＰＵがリセットされると、ＲＯＭ領域Ａ１の記憶内容をそのままとする一方でＲＡＭ領域Ａ２の記憶内容を消去し、ＲＯＭ領域Ａ１から読み出したプログラムを実行する。【選択図】図４
2013045285.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行する実行手段と、
読み書き可能であって、電源を供給しなくても、記憶している情報を保持することが可能な不揮発性メモリを備え、当該不揮発性メモリには、前記実行手段が実行する前記プログラムを記憶する第１記憶領域と、当該実行手段が当該プログラムを実行することに伴って生じるデータを記憶する第２記憶領域とが設けられる記憶手段と、
前記実行手段が初期状態に設定されることに伴って、前記記憶手段における前記第２記憶領域の記憶内容を消去する消去手段と
を含む情報処理装置。
【請求項２】
前記記憶手段における前記第１記憶領域は、前記プログラムの基本となる基本プログラムを格納する第１格納領域と、当該基本プログラムに基づいて得られた当該プログラムを格納する第２格納領域とを備え、
前記第２格納領域に格納される前記プログラムにエラーが発生した場合に、前記第１格納領域から読み出した前記基本プログラムに基づいて作成した当該プログラムを当該第２格納領域に書き込む書込手段をさらに含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶手段の前記不揮発性メモリにおける前記第１記憶領域および前記第２記憶領域の割り当てを変更する変更手段をさらに含むことを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記記憶手段は、電源を供給しないと、記憶している情報を保持することができない揮発性メモリをさらに含み、当該揮発性メモリには、前記実行手段が前記プログラムを実行することに伴って生じるデータを、前記第２記憶領域とともに記憶する第３記憶領域が設けられることを特徴とする請求項１乃至３のいずれか１項記載の情報処理装置。
【請求項５】
前記記憶手段における前記不揮発性メモリが、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭのいずれかであることを特徴とする請求項１乃至４のいずれか１項記載の情報処理装置。
【請求項６】
記録材に画像を形成する画像形成部と、
前記画像形成部の動作を制御する制御部とを備え、
前記制御部は、
前記画像形成部の制御に用いるためのプログラムを実行する実行手段と、
読み書き可能であって、電源を供給しなくても、記憶している情報を保持することが可能な不揮発性メモリを備え、当該不揮発性メモリには、前記実行手段が実行する前記プログラムを記憶する第１記憶領域と、当該実行手段が当該プログラムを実行することに伴って生じるデータを記憶する第２記憶領域とが設けられる記憶手段と、
前記実行手段が初期状態に設定されたときに、前記記憶手段における前記第２記憶領域の記憶内容を消去する消去手段と
を含むことを特徴とする画像形成装置。
【請求項７】
コンピュータに、
プログラムを実行する機能と、
読み書き可能であって、電源を供給しなくても、記憶している情報を保持することが可能な不揮発性メモリを備え、当該不揮発性メモリには、実行する前記プログラムを記憶する第１記憶領域と、当該プログラムを実行することに伴って生じるデータを記憶する第２記憶領域とが設けられる記憶手段に対し、当該プログラムを実行する機能が初期状態に設定されたときに、当該第２記憶領域の記憶内容を消去する機能と
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像形成装置およびプログラムに関する。
【背景技術】
【０００２】
公報記載の従来技術として、中央処理装置と、この中央処理装置とデータバスを介して接続される強誘電体メモリとを有し、強誘電体メモリに書き込まれるデータに、所定のデータ列毎にそのデータ列を書き換え可能とするか否かを決定するための判別ビットを付加することにより、強誘電体メモリにおいてデータ書き換えを禁止する領域を設定する半導体集積回路装置が存在する（特許文献１参照）。
【０００３】
また、他の公報記載の従来技術として、プログラムに従って所定のデータ処理動作又はシステム制御を行うプロセッサと、読み出し動作と書き込み動作とがプロセッサのサイクルタイムに対応して高速に行われる不揮発性記憶回路（強誘電体キャパシタを用いたＲＡＭ）とを、１チップのマイクロコンピュータに搭載するとともに、不揮発性記憶回路のうち、データの処理プログラムが格納される部分を読み出し専用とし、他の残り部分をデータの書き込みと読み出しとに使用する半導体集積回路装置が存在する（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３３１３７１号公報
【特許文献２】特開平７−１１４４９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、プログラムの誤動作の発生を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１記載の発明は、プログラムを実行する実行手段と、読み書き可能であって、電源を供給しなくても、記憶している情報を保持することが可能な不揮発性メモリを備え、当該不揮発性メモリには、前記実行手段が実行する前記プログラムを記憶する第１記憶領域と、当該実行手段が当該プログラムを実行することに伴って生じるデータを記憶する第２記憶領域とが設けられる記憶手段と、前記実行手段が初期状態に設定されることに伴って、前記記憶手段における前記第２記憶領域の記憶内容を消去する消去手段とを含む情報処理装置である。
請求項２記載の発明は、前記記憶手段における前記第１記憶領域は、前記プログラムの基本となる基本プログラムを格納する第１格納領域と、当該基本プログラムに基づいて得られた当該プログラムを格納する第２格納領域とを備え、前記第２格納領域に格納される前記プログラムにエラーが発生した場合に、前記第１格納領域から読み出した前記基本プログラムに基づいて作成した当該プログラムを当該第２格納領域に書き込む書込手段をさらに含むことを特徴とする請求項１記載の情報処理装置である。
請求項３記載の発明は、前記記憶手段の前記不揮発性メモリにおける前記第１記憶領域および前記第２記憶領域の割り当てを変更する変更手段をさらに含むことを特徴とする請求項１または２記載の情報処理装置である。
請求項４記載の発明は、前記記憶手段は、電源を供給しないと、記憶している情報を保持することができない揮発性メモリをさらに含み、当該揮発性メモリには、前記実行手段が前記プログラムを実行することに伴って生じるデータを、前記第２記憶領域とともに記憶する第３記憶領域が設けられることを特徴とする請求項１乃至３のいずれか１項記載の情報処理装置である。
請求項５記載の発明は、前記記憶手段における前記不揮発性メモリが、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭのいずれかであることを特徴とする請求項１乃至４のいずれか１項記載の情報処理装置である。
【０００７】
請求項６記載の発明は、記録材に画像を形成する画像形成部と、前記画像形成部の動作を制御する制御部とを備え、前記制御部は、前記画像形成部の制御に用いるためのプログラムを実行する実行手段と、読み書き可能であって、電源を供給しなくても、記憶している情報を保持することが可能な不揮発性メモリを備え、当該不揮発性メモリには、前記実行手段が実行する前記プログラムを記憶する第１記憶領域と、当該実行手段が当該プログラムを実行することに伴って生じるデータを記憶する第２記憶領域とが設けられる記憶手段と、前記実行手段が初期状態に設定されたときに、前記記憶手段における前記第２記憶領域の記憶内容を消去する消去手段とを含むことを特徴とする画像形成装置である。
【０００８】
請求項７記載の発明は、コンピュータに、プログラムを実行する機能と、読み書き可能であって、電源を供給しなくても、記憶している情報を保持することが可能な不揮発性メモリを備え、当該不揮発性メモリには、実行する前記プログラムを記憶する第１記憶領域と、当該プログラムを実行することに伴って生じるデータを記憶する第２記憶領域とが設けられる記憶手段に対し、当該プログラムを実行する機能が初期状態に設定されたときに、当該第２記憶領域の記憶内容を消去する機能とを実現させるプログラムである。
【発明の効果】
【０００９】
請求項１記載の発明によれば、本構成を有していない場合と比較して、プログラムの誤動作の発生を抑制することができる。
請求項２記載の発明によれば、本構成を有していない場合と比較して、エラーが発生したプログラムを、エラーの発生していないプログラムに書き換えることができる。
請求項３記載の発明によれば、本構成を有していない場合と比較して、不揮発性メモリの記憶容量を、より有効に活用することができる。
請求項４記載の発明によれば、かかるコストの上昇を抑制しつつ、記憶容量を増加させることが可能になる。
請求項５記載の発明によれば、例えば不揮発性メモリとしてＥＥＰＲＯＭあるいはフラッシュメモリを用いた場合と比較して、不揮発性メモリからのプログラムの読み取りをより高速に行うことができる。
請求項６記載の発明によれば、本構成を有していない場合と比較して、プログラムの誤動作の発生を抑制することができる。
請求項７記載の発明によれば、本構成を有していない場合と比較して、プログラムの誤動作の発生を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態が適用される画像形成システムの構成の一例を示す図である。
【図２】画像形成装置に設けられた制御部の内部構成の一例を示すハードウェアブロック図である。
【図３】動作制御部に設けられたＭＲＡＭ（Magnetoresistive RAM）モジュールの内部構成の一例を示すハードウェアブロック図である。
【図４】動作制御部のメインメモリにおけるメモリマップの構成の一例をテーブルとして示す図である。
【図５】区分設定情報の構成の一例を示す図である。
【図６】画像形成装置の起動処理を説明するためのフローチャートである。
【図７】ＩＰＬ（イニシャル・プログラム・ローダ）の実行に伴う処理の手順を説明するためのフローチャートである。
【図８】画像形成装置の１回目の起動処理（初回起動）の前後における、メモリマップの変遷を説明するための図である。
【図９】画像形成装置の２回目以降の起動処理の前後における、メモリマップの変遷（展開プログラムファイルにエラーがなかった場合）を説明するための図である。
【図１０】画像形成装置の２回目以降の起動処理の前後における、メモリマップの変遷（展開プログラムファイルにエラーがあった場合）を説明するための図である。
【図１１】ＭＲＡＭモジュールを用いてＲＯＭ領域を構成した場合（本実施の形態）と、ＲＯＭモジュールを用いてＲＯＭ領域を構成した場合（比較の形態）とを比較するための図である。
【図１２】仕向地設定情報の構成の一例を示す図である。
【図１３】不要なフォントファイルを削除する場合における、処理の手順を説明するためのフローチャートである。
【図１４】不要なフォントファイルを削除する前後における、メモリマップの変遷を説明するための図である。
【図１５】プログラムファイルを更新する場合における、処理の手順を説明するためのフローチャートである。
【図１６】プログラムファイルを更新する前後における、メモリマップの変遷を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
＜実施の形態１＞
図１は、本実施の形態が適用される画像形成システムの構成の一例を示す図である。
この画像形成システムは、スキャン機能、プリント機能、コピー機能およびファクシミリ機能を備えた所謂複合機として動作する画像形成装置１と、画像形成装置１に接続されるネットワーク２と、ネットワーク２に接続される端末装置３と、ネットワーク２に接続されるファクシミリ装置４と、ネットワーク２に接続されるサーバ装置５とを有している。
【００１２】
ここで、ネットワーク２は、インターネット回線や電話回線等によって構成されている。また、端末装置３は、ネットワーク２を介して、画像形成装置１に画像の形成等を指示するものであり、例えばＰＣ（Personal Computer）で構成される。さらに、ファクシミリ装置４は、ネットワーク２を介して、画像形成装置１との間でファクシミリを送受信する。さらにまた、サーバ装置５は、ネットワーク２を介して、画像形成装置１との間でデータ（プログラムを含む）を送受信する。
【００１３】
また、画像形成装置１は、紙等の記録媒体に記録された画像を読み取る画像読取部１０と、紙等の記録媒体に画像を形成する画像形成部２０と、ユーザから電源のオン／オフ、スキャン機能、プリント機能、コピー機能およびファクシミリ機能を用いた動作に関連する指示を受け付けるとともに、ユーザに対してメッセージを表示するユーザインタフェース（ＵＩ）３０と、ネットワーク２を介して端末装置３、ファクシミリ装置４およびサーバ装置５との間でデータの送受信を行う送受信部４０と、これら画像読取部１０、画像形成部２０、ＵＩ３０および送受信部４０の動作を制御する制御部５０とを備えている。そして、この画像形成装置１では、画像読取部１０によってスキャン機能が実現され、画像形成部２０によってプリント機能が実現され、画像読取部１０および画像形成部２０によってコピー機能が実現され、画像読取部１０、画像形成部２０および送受信部４０によってファクシミリ機能が実現される。なお、送受信部４０は、例えばインターネット回線用のものと電話回線用のものとを、別々に設けるようにしてもかまわない。
【００１４】
図２は、図１に示す画像形成装置１に設けられた制御部５０の内部構成の一例を示すハードウェアブック図である。
本実施の形態の制御部５０は、画像形成装置１の各部の動作を制御する動作制御部５１と、画像読取部１０および画像形成部２０に関連する画像処理を実行する画像処理部５２と、動作制御部５１および画像処理部５２を接続する接続バス５３とを備えている。
【００１５】
これらのうち、動作制御部５１は、種々の演算を実行することによって画像形成装置１の各部を制御する実行手段、消去手段および変更手段の一例としてのＣＰＵ（Central Processing Unit：中央処理装置）５１１と、メモリバス５１４を介してＣＰＵ５１１に接続されるメインメモリ５１２と、ＣＰＵ５１１とＵＩ３０および送受信部４０とを接続するインタフェース回路（Ｉ／Ｆ）５１３とを有している。なお、ＣＰＵ５１１は、メインメモリ５１２に対し、直接にデータを読み書きするように構成されている。
【００１６】
また、記憶手段の一例としてのメインメモリ５１２は、メモリデバイスとしてＭＲＡＭ（Magnetoresistive RAM）を備えるＭＲＡＭモジュール６１と、メモリデバイスとしてＤＲＡＭ（Dynamic RAM）を備えるＤＲＡＭモジュール６２とを有しており、それぞれがメモリバス５１４に接続されている。ここで、ＭＲＡＭモジュール６１は、電源を供給しなくても、記憶している情報を保持することが可能な不揮発性メモリである。一方、ＤＲＡＭモジュール６２は、電源を供給しないと、記憶している情報を保持することができない揮発性メモリである。そして、本実施の形態では、ＭＲＡＭモジュール６１およびＤＲＡＭモジュール６２が、メモリバス５１４に設定された共通のクロック周波数（メモリクロック）にてデータの読み書きを行う。したがって、ＭＲＡＭモジュール６１は、ＤＲＡＭモジュール６２と同等の読み書き性能を有していることになる。それゆえ、ＭＲＡＭモジュール６１は、ＵＶ−ＥＰＲＯＭ（Ultra-Violet Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）、あるいはフラッシュメモリなどの不揮発性メモリに比べて、より高速にデータの読み書きを行う。
【００１７】
一方、画像処理部５２は、種々の演算を実行することによって、画像読取部１０から入力される画像データおよび画像形成部２０に出力する画像データに処理を施すＡＳＩＣ（Application Specific Integrated Circuit）５２１と、他のメモリバス５２４を介してＡＳＩＣ５２１に接続される他のＤＲＡＭモジュール５２２と、ＡＳＩＣ５２１と画像読取部１０および画像形成部２０とを接続する他のインタフェース回路（Ｉ／Ｆ）５２３とを有している。
そして、上述した接続バス５３は、制御部５０において、動作制御部５１に設けられたＣＰＵ５１１と、画像処理部５２に設けられたＡＳＩＣ５２１とを接続しており、ＡＳＩＣ５２１は、ＣＰＵ５１１から受けた指示に基づいて、各種画像処理を実行するようになっている。
【００１８】
図３は、図２に示す動作制御部５１に設けられたＭＲＡＭモジュール６１の内部構成の一例を示すハードウェアブロック図である。
本実施の形態のＭＲＡＭモジュール６１は、予め決められた数のセル（図示せず）を有する第１ＭＲＡＭチップ６１ａと、第１ＭＲＡＭチップ６１ａと同じ数のセル（図示せず）を有する第２ＭＲＡＭチップ６１ｂと、メモリバス５１４を介してＣＰＵ５１１（図２参照）との間でデータの授受を行うとともに、第１ＭＲＡＭチップ６１ａおよび第２ＭＲＡＭチップ６１ｂに対するデータの読み書きを制御するＭＲＡＭ制御部６１ｃとを備えている。ここで、第１ＭＲＡＭチップ６１ａおよび第２ＭＲＡＭチップ６１ｂのそれぞれの容量は、通常、２のべき乗数に設定されており、この例では、それぞれの容量が１２８ＭＢ（ＭＲＡＭモジュール６１全体としては１２８ＭＢ×２＝２５６ＭＢ）となっている。なお、ここでは、ＭＲＡＭモジュール６１が２個のＭＲＡＭチップで構成される場合を例としているが、これに限られるものではなく、例えば１個のＭＲＡＭチップで構成してもかまわないし、３個以上のＭＲＡＭチップで構成してもかまわない。ただし、一般的なＭＲＡＭモジュール６１は、２の整数倍の個数のＭＲＡＭチップによって構成される。
【００１９】
一方、本実施の形態のＤＲＡＭモジュール６２も、それぞれが同じ数のセルを有する複数のＤＲＡＭチップ（図示せず）と、メモリバス５１４を介してＣＰＵ５１１（図２参照）との間でデータの授受を行うとともに、複数のＤＲＡＭチップに対するデータの読み書きを制御するＤＲＡＭ制御部（図示せず）とを有している。そして、この例では、ＭＲＡＭモジュール６１全体の容量（この例では２５６ＭＢ）に比べて、ＤＲＡＭモジュール６２全体の容量がより大きくなる（この例では１ＧＢ）ように、ＭＲＡＭモジュール６１およびＤＲＡＭモジュール６２の各容量が選択されている。
【００２０】
図４は、動作制御部５１のメインメモリ５１２（ＭＲＡＭモジュール６１およびＤＲＡＭモジュール６２）におけるメモリマップの構成の一例を示す図である。なお、ＣＰＵ５１１は、このメモリマップに基づいて、メインメモリ５１２に対するデータの読み書きを行う。
【００２１】
図４に示すメモリマップにおいて、メインメモリ５１２全体としての記憶領域Ａ０は、基本的にＲＯＭ（Read Only Memory）として使用されるＲＯＭ領域Ａ１と、基本的にＲＡＭ（Random Access Memory）として使用されるＲＡＭ領域Ａ２とを含んでいる。本実施の形態では、ＭＲＡＭモジュール６１にＲＯＭ領域Ａ１が配置され、ＭＲＡＭモジュール６１とＤＲＡＭモジュール６２とに跨ってＲＡＭ領域Ａ２が配置されている。これらのうち、ＲＯＭ領域Ａ１は、データの書き換えが基本的に許容されない第１ＲＯＭ領域Ａ１１と、データの書き換えが基本的に許容される第２ＲＯＭ領域Ａ１２とを有している。一方、ＲＡＭ領域Ａ２は、ＭＲＡＭモジュール６１側に配置される第１ＲＡＭ領域Ａ２１と、ＤＲＡＭモジュール６２側に配置される第２ＲＡＭ領域Ａ２２とを有している。
【００２２】
なお、本実施の形態では、記憶領域Ａ０における、ＲＯＭ領域Ａ１が第１記憶領域に、ＲＡＭ領域Ａ２における第１ＲＡＭ領域Ａ２１が第２記憶領域に、ＲＡＭ領域Ａ２における第２ＲＡＭ領域Ａ２２が第３記憶領域に、それぞれ対応している。また、本実施の形態では、ＲＯＭ領域Ａ１における、第１ＲＯＭ領域Ａ１１が第１格納領域に、第２ＲＯＭ領域Ａ１２が第２格納領域に、それぞれ対応している。
【００２３】
ＲＯＭ領域Ａ１を構成する第１ＲＯＭ領域Ａ１１は、リセットベクタ格納領域Ａ１１１、仕向地情報格納領域Ａ１１２、区分設定情報格納領域Ａ１１３、圧縮プログラム格納領域Ａ１１４、および圧縮フォント格納領域Ａ１１５を有している。これらのうち、リセットベクタ格納領域Ａ１１１は、画像形成装置１を起動するにあたり、動作制御部５１においてＣＰＵ５１１が実行するプログラムである、イニシャル・プログラム・ローダ（Initial Program Loader：ＩＰＬ）を格納している。また、仕向地情報格納領域Ａ１１２は、出荷後の画像形成装置１が使用され得る複数の国（地域）と、各国（各地域）に対応した設定（例えばＵＩ３０に表示させる言語など）とを対応付けた、仕向地情報を格納している。さらに、区分設定情報格納領域Ａ１１３は、図４に示すメモリマップにおける各領域と、メモリマップ上での各領域のメモリエリア（開始番地および終了番地）とを対応付けた、区分設定情報を格納している。さらにまた、圧縮プログラム格納領域Ａ１１４は、画像形成装置１の動作において用いられるプログラムをデータ圧縮した、基本プログラムの一例としての圧縮プログラムファイルを格納している。そして、圧縮フォント格納領域Ａ１１５は、画像形成装置１の画像形成動作において用いられるフォントをデータ圧縮した、圧縮フォントファイルを格納している。ここで、本実施の形態の圧縮フォント格納領域Ａ１１５は、第１フォントをデータ圧縮した第１圧縮フォントファイルを格納する第１圧縮フォント格納領域Ａ１１５１と、第１フォントとは異なる第２フォントをデータ圧縮した第２圧縮フォントファイルを格納する第２圧縮フォント格納領域Ａ１１５２と、第１フォントおよび第２フォントとは異なる第３フォントをデータ圧縮した第３圧縮フォントファイルを格納する第３圧縮フォント格納領域Ａ１１５３とを含んでいる。
【００２４】
一方、第１ＲＯＭ領域Ａ１１とともにＲＯＭ領域Ａ１を構成する第２ＲＯＭ領域Ａ１２は、展開プログラム格納領域Ａ１２１と、展開フォント格納領域Ａ１２２とを有している。これらのうち、展開プログラム格納領域Ａ１２１は、第１ＲＯＭ領域Ａ１１の圧縮プログラム格納領域Ａ１１４から読み出した圧縮プログラムファイルを、ＣＰＵ５１１（図２参照）が展開することによって得た、プログラムの一例としての展開プログラムファイルを格納する。また、展開フォント格納領域Ａ１２２は、第１ＲＯＭ領域Ａ１１の圧縮フォント格納領域Ａ１１５から読み出した圧縮フォントファイルを、ＣＰＵ５１１（図２参照）が展開することによって得た展開フォントファイルを格納する。ここで、本実施の形態の展開フォント格納領域Ａ１２２は、第１圧縮フォント格納領域Ａ１１５１から読み出した第１圧縮フォントファイルを展開して得た、第１展開フォントファイルを格納する第１展開フォント格納領域Ａ１２２１と、第２圧縮フォント格納領域Ａ１１５２から読み出した第２圧縮フォントファイルを展開して得た、第２展開フォントファイルを格納する第２展開フォント格納領域Ａ１２２２と、第３圧縮フォント格納領域Ａ１１５３から読み出した第３圧縮フォントファイルを展開して得た、第３展開フォントファイルを格納する第３展開フォント格納領域Ａ１２２３とを含んでいる。
【００２５】
なお、この例において、展開プログラム格納領域Ａ１２１に用意されるメモリ容量は圧縮プログラム格納領域Ａ１１４に用意されるメモリ容量よりも大きく、且つ、展開フォント格納領域Ａ１２２に用意されるメモリ容量は、圧縮フォント格納領域Ａ１１５に用意されるメモリ容量よりも大きい。これは、圧縮されたファイルを展開することに伴って、そのファイルサイズが大きくなることによるものである。
【００２６】
他方、この例において、ＲＡＭ領域Ａ２を構成する第１ＲＡＭ領域Ａ２１および第２ＲＡＭ領域Ａ２２は、ＣＰＵ５１１（図２参照）によるプログラムの実行に伴って発生するデータや、ＣＰＵ５１１による処理に伴って、画像形成装置１の各構成要素に対して出力される指示に関するデータなどを、一時的に格納する作業領域Ａ２００として用いられる。このように、本実施の形態では、記憶方式が異なる２つのメモリ（ＭＲＡＭモジュール６１の一部の領域およびＤＲＡＭモジュール６２のすべての領域）によってＲＡＭ領域Ａ２（作業領域Ａ２００）が構成されている。そして、ＣＰＵ５１１は、ＭＲＡＭモジュール６１側に配置される第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２側に配置される第２ＲＡＭ領域Ａ２２を、一まとまりのＲＡＭ領域Ａ２として扱う。
【００２７】
また、この例においては、ＭＲＡＭモジュール６１における第１ＭＲＡＭチップ６１ａのすべての領域および第２ＭＲＡＭチップ６１ｂの一部の領域が、ＲＯＭ領域Ａ１として使用される。一方、この例においては、ＭＲＡＭモジュール６１における第２ＭＲＡＭチップ６１ｂの残りの一部の領域およびＤＲＡＭモジュール６２のすべての領域が、ＲＡＭ領域Ａ２として使用される。このように、本実施の形態では、ＭＲＡＭモジュール６１内に、ＲＯＭ領域Ａ１とＲＡＭ領域Ａ２とが共存している。
【００２８】
図５は、図４に示す第１ＲＯＭ領域Ａ１１の区分設定情報格納領域Ａ１１３に格納される区分設定情報の一例をテーブルとして示す図である。
本実施の形態において、区分設定情報は、上述したメモリマップにおける各領域と、メモリマップ上での各領域のメモリエリア（開始番地および終了番地）とを対応付けて構成されている。なお、図５においては、各領域の開始番地および終了番地をすべて「ＸＸＸＸ」として表示しているが、実際は、複数の領域において同じ番地のかぶりが生じないように、各領域の開始番地および終了番地が設定されている。
【００２９】
図６は、図１に示す画像形成装置１の起動処理を説明するためのフローチャートである。なお、この起動処理は、例えばＵＩ３０を介して画像形成装置１の電源が投入されることに伴って制御部５０（より具体的には、動作制御部５１におけるＣＰＵ５１１）にリセット指示が入力されたとき、また、画像形成装置１の電源が投入された後に何らかの理由により制御部５０にリセット指示が入力されたとき、などに実行される。
【００３０】
制御部５０の動作制御部５１に設けられたＣＰＵ５１１がリセット指示を受け付けると（ステップ１）、ＣＰＵ５１１は、自身のリセット（ＣＰＵリセット）を実行する（ステップ２）。このとき、ＣＰＵリセットに伴って、ＣＰＵ５１１に設けられたレジスタ群およびキャッシュメモリ（ともに図示せず）の記憶内容がクリアされる。ただし、ＣＰＵリセットが実行されても、動作制御部５１に設けられたメインメモリ５１２（ＭＲＡＭモジュール６１およびＤＲＡＭモジュール６２）の記憶内容はクリアされず、特にＭＲＡＭモジュール６１においては、ＣＰＵリセット前の記憶内容がそのまま保持される。なお、本実施の形態では、このＣＰＵリセットが、実行手段が初期状態に設定されることに対応している。
【００３１】
続いて、ＣＰＵ５１１は、メモリバス５１４を介して、メインメモリ５１２のうち、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１におけるリセットベクタ格納領域Ａ１１１に格納されるイニシャル・プログラム・ローダ（ＩＰＬ）を読み出すとともに、読み出したＩＰＬを実行し（ステップ３）、画像形成装置１の各構成（画像読取部１０、画像形成部２０、送受信部４０等）が使用可能となるように動作準備を行う。そして、画像形成装置１の動作準備が完了する（ステップ４）ことで、一連の起動処理を終了する。
【００３２】
続いて、上述したステップ３におけるＩＰＬの実行について、より詳細に説明する。
図７は、ＩＰＬの実行に伴う処理の手順を説明するためのフローチャートである。
ＩＰＬの実行に伴い、ＣＰＵ５１１は、最初に、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における区分設定情報格納領域Ａ１１３に格納される区分設定情報（図５参照）を読み出す（ステップ１１）。そして、ＣＰＵ５１１は、読み出した区分設定情報に基づき、記憶領域Ａ０のうち、ＲＡＭ領域Ａ２に設定された領域のデータを消去する（ステップ１２）。これにより、作業領域Ａ２００すなわちＭＲＡＭモジュール６１側に配置される第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２側に配置される第２ＲＡＭ領域Ａ２２の記憶内容が、ともにクリアされる。
【００３３】
次に、ＣＰＵ５１１は、今回の起動処理が初回起動であるか否かを判断する（ステップ１３）。ここで、「初回起動」とは、例えば画像形成装置１の電源が初めて投入された場合などである。なお、初回起動であるか否かの判断は、例えば、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１に、既に起動を行ったか否かを示すフラグをさらに格納しておき、これを読み出すことによって行ってもよいし、例えばＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２に展開プログラムファイルが格納されているか否かに基づいて行ってもよい。
【００３４】
ステップ１３において肯定の判断（Ｙｅｓ）を行った場合、すなわち、今回の起動処理が初回起動であった場合、ＣＰＵ５１１は、続いて、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における圧縮プログラム格納領域Ａ１１４に格納される圧縮プログラムファイルを読み出し、読み出した圧縮プログラムファイルを展開し、圧縮プログラムファイルを展開して得られた展開プログラムファイルを、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１に格納する（ステップ１４）。
【００３５】
ＣＰＵ５１１は、さらに続いて、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における圧縮フォント格納領域Ａ１１５に格納される圧縮フォントファイルを読み出し、読み出した圧縮フォントファイルを展開し、圧縮フォントファイルを展開して得られた展開フォントファイルを、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２に格納する（ステップ１５）。より具体的に説明すると、ステップ１５では、ＣＰＵ５１１が、まず、第１圧縮フォント格納領域Ａ１１５１から読み出した第１圧縮フォントファイルを展開し、得られた第１展開フォントファイルを第１展開フォント格納領域Ａ１２２１に格納し、次に、第２圧縮フォント格納領域Ａ１１５２から読み出した第２圧縮フォントファイルを展開し、得られた第２展開フォントファイルを第２展開フォント格納領域Ａ１２２２に格納し、最後に、第３圧縮フォント格納領域Ａ１１５３から読み出した第３圧縮フォントファイルを展開し、得られた第３展開フォントファイルを第３展開フォント格納領域Ａ１２２３に格納する。そして、後述するステップ１９に進む。
【００３６】
一方、ステップ１３において否定の判断（Ｎｏ）を行った場合、すなわち、今回の起動処理が２回目以降の起動であった場合、ＣＰＵ５１１は、続いて、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１に格納される展開プログラムファイルに対し、エラーチェックを実行する（ステップ１６）。なお、上述したように、初回起動において、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１には、展開プログラムファイルが格納されるようになっており、また、ＲＯＭ領域Ａ１は、画像形成装置１の電源が切断されてもその記憶内容が保持されるようになっており、しかも、電源が再投入されることによってＣＰＵ５１１がリセットされた場合にも、ＲＯＭ領域Ａ１の記憶内容は消去されないようになっている。したがって、展開プログラム格納領域Ａ１２１には、前回の起動処理で使用した展開プログラムファイルが、そのままの状態で記憶されていることになる。
【００３７】
次に、ＣＰＵ５１１は、ステップ１６におけるエラーチェックの結果に基づき、展開プログラムファイルにエラーが発生したか否かを判断する（ステップ１７）。なお、ステップ１６で実行されるエラーチェックの手法としては、例えばＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）が挙げられる。
【００３８】
ステップ１７において肯定の判断（Ｙｅｓ）を行った場合、すなわち、展開プログラムファイルにエラーが発生した場合、ＣＰＵ５１１は、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における圧縮プログラム格納領域Ａ１１４に格納される圧縮プログラムファイルを再度読み出し、読み出した圧縮プログラムファイルを再度展開し、圧縮プログラムファイルを展開して得られた展開プログラムファイルを、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１に再度格納する（ステップ１８）。このとき、展開プログラム格納領域Ａ１２１では、エラーが発生した展開プログラムファイルに対し、圧縮プログラムファイルを再度展開して得た新たな展開プログラムファイルが上書きされる。そして、後述するステップ１９に進む。
【００３９】
これに対し、ステップ１７において否定の判断（Ｎｏ）を行った場合、すなわち、展開プログラムファイルにエラーが発生しなかった場合、ＣＰＵ５１１は、そのまま後述するステップ１９に進む。
【００４０】
そして、ＣＰＵ５１１は、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１に格納された展開プログラムファイルを読み出して処理を行うことにより、画像形成装置１の初期設定を行い（ステップ１９）、ＩＰＬの実行を完了する。また、ステップ１９の初期設定では、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２に格納された各展開フォントファイル（第１展開フォントファイル〜第３展開フォントファイル）を読み出して、各展開フォントファイルに対応するフォントを、使用可能な状態にする。
【００４１】
ここで、ステップ１３において肯定の判断（Ｙｅｓ）を行っていた場合、ＣＰＵ５１１は、ステップ１９において、今回の起動で新規に格納された展開プログラムファイルを用いて、初期設定に関する処理を行うことになる。また、ステップ１３において否定の判断（Ｎｏ）を行った後にステップ１７において肯定（Ｙｅｓ）の判断を行っていた場合、ＣＰＵ５１１は、ステップ１９において、今回の起動において再び格納された展開プログラムファイルを用いて、初期設定に関する処理を行うことになる。さらに、ステップ１３において否定の判断（Ｎｏ）を行った後にステップ１７において否定の判断（Ｎｏ）を行っていた場合、ＣＰＵ５１１は、ステップ１９において、前回までの起動において既に格納されていた展開プログラムファイルを用いて、初期設定に関する処理を行うことになる。
【００４２】
では、図７に示すＩＰＬの実行に伴う処理の手順について、具体的に例を挙げながら説明を行う。
【００４３】
［１回目の起動］
図８は、画像形成装置１の１回目の起動処理（初回起動）の前後における、メモリマップの変遷を説明するための図である。ここで、図８（ａ）は起動処理開始前のメモリマップを示しており、図８（ｂ）は起動処理完了後のメモリマップを示している。なお、図８は、図７に示すＩＰＬの実行に伴う処理のうち、ステップ１３において肯定の判断（Ｙｅｓ）を行う場合に対応している。
【００４４】
図８（ａ）に示すように、初回の起動処理が開始される前において、ＭＲＡＭモジュール６１におけるＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１となる領域のうち、リセットベクタ格納領域Ａ１１１にはＩＰＬが、仕向地情報格納領域Ａ１１２には仕向地情報が、区分設定情報格納領域Ａ１１３には区分設定情報が、圧縮プログラム格納領域Ａ１１４には圧縮プログラムファイルが、それぞれ格納されている。また、圧縮フォント格納領域Ａ１１５において、第１圧縮フォント格納領域Ａ１１５１には第１圧縮フォントが、第２圧縮フォント格納領域Ａ１１５２には第２圧縮フォントが、第３圧縮フォント格納領域Ａ１１５３には第３圧縮フォントが、それぞれ格納されている。なお、これらの各データは、画像形成装置１を出荷する際には、第１ＲＯＭ領域Ａ１１を構成する各領域に格納済となっている。
【００４５】
また、図８（ａ）に示すように、初回の起動処理が開始される前において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２および第１ＲＡＭ領域Ａ２１、そして、ＤＲＡＭモジュール６２における第２ＲＡＭ領域Ａ２２となる領域には、データの格納は行われておらず、それぞれが空の状態となっている。
【００４６】
そして、初回の起動処理が実行されるのに伴い、図８（ｂ）に示すように、ＭＲＡＭモジュール６１における第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２における第２ＲＡＭ領域Ａ２２の記憶内容が消去される（ステップ１２）。そして、これら第１ＲＡＭ領域Ａ２１および第２ＲＡＭ領域Ａ２２は、以後の処理において作業領域Ａ２００として使用される。
【００４７】
また、ステップ１３で肯定の判断（Ｙｅｓ）がなされることに伴い、図８（ｂ）に示すように、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開プログラム格納領域Ａ１２１に、圧縮プログラム格納領域Ａ１１４に格納される圧縮プログラムファイルを展開して得られた展開プログラムファイルが格納され（ステップ１４）、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開フォント格納領域Ａ１２２に、圧縮フォント格納領域Ａ１１５に格納される圧縮フォントファイルを展開して得られた展開フォントファイルが格納される（ステップ１５）。このとき、展開フォント格納領域Ａ１２２では、第１展開フォント格納領域Ａ１２２１に第１展開フォントファイルが格納され、第２展開フォント格納領域Ａ１２２２に第２展開フォントファイルが格納され、第３展開フォント格納領域Ａ１２２３に第３展開フォントファイルが格納される。
【００４８】
そして、初回の起動処理の前後において、ＭＲＡＭモジュール６１における第１ＲＯＭ領域Ａ１１に格納される各データは、そのまま保持され続ける。すなわち、リセットベクタ格納領域Ａ１１１におけるＩＰＬ、仕向地情報格納領域Ａ１１２における仕向地情報、区分設定情報格納領域Ａ１１３における区分設定情報、圧縮プログラム格納領域Ａ１１４における圧縮プログラムファイル、圧縮フォント格納領域Ａ１１５における圧縮フォントファイル（第１圧縮フォント格納領域Ａ１１５１における第１圧縮フォントファイル、第２圧縮フォント格納領域Ａ１１５２における第２圧縮フォントファイル、第３圧縮フォント格納領域Ａ１１５３における第３圧縮フォントファイル）は、変更されることなくそのままの状態を維持する。
【００４９】
［２回目以降の起動：その１］
図９は、画像形成装置１の２回目以降の起動処理の前後における、メモリマップの変遷を説明するための図である。ここで、図９（ａ）は起動処理開始前のメモリマップを示しており、図９（ｂ）は起動処理完了後のメモリマップを示している。なお、図９は、図７に示すＩＰＬの実行に伴う処理のうち、ステップ１３において否定の判断（Ｎｏ）を行うとともに、ステップ１７において否定の判断（Ｎｏ）を行う場合に対応している。
【００５０】
図９（ａ）に示すように、２回目以降の起動処理が開始される前において、ＭＲＡＭモジュール６１におけるＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１には、リセットベクタ格納領域Ａ１１１、仕向地情報格納領域Ａ１１２、区分設定情報格納領域Ａ１１３、圧縮プログラム格納領域Ａ１１４および圧縮フォント格納領域Ａ１１５が設定されている。そして、リセットベクタ格納領域Ａ１１１にはＩＰＬが、仕向地情報格納領域Ａ１１２には仕向地情報が、区分設定情報格納領域Ａ１１３には区分設定情報が、圧縮プログラム格納領域Ａ１１４には圧縮プログラムファイルが、それぞれ格納されている。また、圧縮フォント格納領域Ａ１１５において、第１圧縮フォント格納領域Ａ１１５１には第１圧縮フォントファイルが、第２圧縮フォント格納領域Ａ１１５２には第２圧縮フォントファイルが、第３圧縮フォント格納領域Ａ１１５３には第３圧縮フォントファイルが、それぞれ格納されている。
【００５１】
また、図９（ａ）に示すように、２回目以降の起動処理が開始される前において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開プログラム格納領域Ａ１２１には、前回までの起動処理において既に格納された展開プログラムファイルが存在している。さらに、図９（ａ）に示すように、２回目以降の起動処理が開始される前において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開フォント格納領域Ａ１２２には、前回までの起動処理において既に格納された展開フォントファイルが存在している。この展開フォント格納領域Ａ１２２のうち、第１展開フォント格納領域Ａ１２２１には第１展開フォントファイルが、第２展開フォント格納領域Ａ１２２２には第２展開フォントファイルが、第３展開フォント格納領域Ａ１２２３には第３展開フォントファイルが、それぞれ格納されている。そして、２回目以降の起動処理が開始される前において、ＲＡＭ領域Ａ２のうちＭＲＡＭモジュール６１によって構成される第１ＲＡＭ領域Ａ２１には、前回の起動処理後の動作において使用されたデータが消えずに残っている。なお、２回目以降の起動処理が開始される前において、ＲＡＭ領域Ａ２のうちＤＲＡＭモジュール６２によって構成される第２ＲＡＭ領域Ａ２２では、電源の切断に伴ってデータが消去されている。
【００５２】
そして、２回目以降の起動処理が実行されることに伴い、図９（ｂ）に示すように、作業領域Ａ２００すなわちＭＲＡＭモジュール６１における第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２における第２ＲＡＭ領域Ａ２２の記憶内容が消去される（ステップ１２）。
【００５３】
また、この例では、ステップ１３で否定の判断（Ｎｏ）がなされた後、ステップ１７で否定の判断（Ｎｏ）がなされる。
したがって、この例では、２回目以降の起動処理の前後において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２に格納される各データは、そのまま保持され続ける。すなわち、展開プログラム格納領域Ａ１２１における展開プログラムファイル、展開フォント格納領域Ａ１２２における展開フォントファイル（第１展開フォント格納領域Ａ１２２１における第１展開フォントファイル、第２展開フォント格納領域Ａ１２２２における第２展開フォントファイル、第３展開フォント格納領域Ａ１２２３における第３展開フォントファイル）は、変更されることなくそのままの状態を維持する。
【００５４】
そして、この例でも、２回目以降の起動処理の前後において、ＭＲＡＭモジュール６１における第１ＲＯＭ領域Ａ１１に格納される各データは、そのまま保持され続ける。すなわち、リセットベクタ格納領域Ａ１１１におけるＩＰＬ、仕向地情報格納領域Ａ１１２における仕向地情報、区分設定情報格納領域Ａ１１３における区分設定情報、圧縮プログラム格納領域Ａ１１４における圧縮プログラムファイル、圧縮フォント格納領域Ａ１１５における圧縮フォントファイル（第１圧縮フォント格納領域Ａ１１５１における第１圧縮フォントファイル、第２圧縮フォント格納領域Ａ１１５２における第２圧縮フォントファイル、第３圧縮フォント格納領域Ａ１１５３における第３圧縮フォントファイル）は、変更されることなくそのままの状態を維持する。
【００５５】
［２回目以降の起動：その２］
図１０は、画像形成装置１の２回目以降の起動処理の前後における、メモリマップの変遷を説明するための図である。ここで、図１０（ａ）は起動処理開始前のメモリマップを示しており、図１０（ｂ）は起動処理完了後のメモリマップを示している。なお、図１０は、図７に示すＩＰＬの実行に伴う処理のうち、ステップ１３において否定の判断（Ｎｏ）を行うとともに、ステップ１７において肯定の判断（Ｙｅｓ）を行う場合に対応している。
【００５６】
図１０（ａ）に示すように、２回目以降の起動処理が開始される前において、ＭＲＡＭモジュール６１におけるＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１には、リセットベクタ格納領域Ａ１１１、仕向地情報格納領域Ａ１１２、区分設定情報格納領域Ａ１１３、圧縮プログラム格納領域Ａ１１４および圧縮フォント格納領域Ａ１１５が設定されている。そして、リセットベクタ格納領域Ａ１１１にはＩＰＬが、仕向地情報格納領域Ａ１１２には仕向地情報が、区分設定情報格納領域Ａ１１３には区分設定情報が、圧縮プログラム格納領域Ａ１１４には圧縮プログラムファイルが、それぞれ格納されている。また、圧縮フォント格納領域Ａ１１５において、第１圧縮フォント格納領域Ａ１１５１には第１圧縮フォントが、第２圧縮フォント格納領域Ａ１１５２には第２圧縮フォントが、第３圧縮フォント格納領域Ａ１１５３には第３圧縮フォントが、それぞれ格納されている。
【００５７】
また、図１０（ａ）に示すように、２回目以降の起動処理が開始される前において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開プログラム格納領域Ａ１２１には、前回までの起動処理において既に格納された展開プログラムファイルが存在している。さらに、図１０（ａ）に示すように、２回目以降の起動処理が開始される前において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開フォント格納領域Ａ１２２には、前回までの起動処理において既に格納された展開フォントファイルが存在している。この展開フォント格納領域Ａ１２２のうち、第１展開フォント格納領域Ａ１２２１には第１展開フォントが、第２展開フォント格納領域Ａ１２２２には第２展開フォントが、第３展開フォント格納領域Ａ１２２３には第３展開フォントが、それぞれ格納されている。なお、２回目以降の起動処理が開始される前において、ＲＡＭ領域Ａ２のうちＭＲＡＭモジュール６１によって構成される第１ＲＡＭ領域Ａ２１には、前回の起動処理後の動作において使用されたデータが存在している。なお、２回目以降の起動処理が開始される前において、ＲＡＭ領域Ａ２のうちＤＲＡＭモジュール６２によって構成される第２ＲＡＭ領域Ａ２２には、このようなデータは存在しない。
【００５８】
そして、２回目以降の起動処理が実行されることに伴い、図１０（ｂ）に示すように、作業領域Ａ２００すなわちＭＲＡＭモジュール６１における第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２における第２ＲＡＭ領域Ａ２２の記憶内容が消去される（ステップ１２）。
【００５９】
また、ステップ１３で否定の判断（Ｎｏ）がなされた後、ステップ１７で肯定の判断（Ｙｅｓ）がなされることに伴い、図１０（ｂ）に示すように、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開プログラム格納領域Ａ１２１に、圧縮プログラム格納領域Ａ１１４に格納される圧縮プログラムファイルを再度展開して得られた展開プログラムファイルが再度格納（上書き）される（ステップ１８）。
一方、この例では、２回目以降の起動処理の前後において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開フォント格納領域Ａ１２２に格納される各データは、そのまま保持され続ける。すなわち、展開フォント格納領域Ａ１２２における展開フォントファイル（第１展開フォント格納領域Ａ１２２１における第１展開フォントファイル、第２展開フォント格納領域Ａ１２２２における第２展開フォントファイル、第３展開フォント格納領域Ａ１２２３における第３展開フォントファイル）は、変更されることなくそのままの状態を維持する。
【００６０】
そして、この例でも、２回目以降の起動処理の前後において、ＭＲＡＭモジュール６１における第１ＲＯＭ領域Ａ１１に格納される各データは、そのまま保持され続ける。すなわち、リセットベクタ格納領域Ａ１１１におけるＩＰＬ、仕向地情報格納領域Ａ１１２における仕向地情報、区分設定情報格納領域Ａ１１３における区分設定情報、圧縮プログラム格納領域Ａ１１４における圧縮プログラムファイル、圧縮フォント格納領域Ａ１１５における圧縮フォントファイル（第１圧縮フォント格納領域Ａ１１５１における第１圧縮フォントファイル、第２圧縮フォント格納領域Ａ１１５２における第２圧縮フォントファイル、第３圧縮フォント格納領域Ａ１１５３における第３圧縮フォントファイル）は、変更されることなくそのままの状態を維持する。
【００６１】
このように、本実施の形態では、画像形成装置１の起動処理において、作業領域Ａ２００となるＲＡＭ領域Ａ２すなわちＭＲＡＭモジュール６１における第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２における第２ＲＡＭ領域Ａ２２の記憶内容を消去するようにした。このため、電源を切っても記憶内容が消去されないＭＲＡＭモジュール６１の一部をＲＡＭ領域Ａ２（第１ＲＡＭ領域Ａ２１）として使用する場合であっても、第１ＲＡＭ領域Ａ２１に前回起動時のデータが残存することに伴って生じる不具合（プログラムの暴走など）の発生を抑制することが可能になる。
【００６２】
図１１は、読み書き可能なＭＲＡＭモジュール６１を用いてＲＯＭ領域Ａ１を構成した場合と、読み込みは可能であって書き込みは不可能なＲＯＭモジュール６３を用いてＲＯＭ領域Ａ１を構成した場合とを比較するための図である。ここで、図１１（ａ）が前者に対応する本実施の形態の場合を、図１１（ｂ）が後者に対応する比較の形態の場合を、それぞれ例示している。
なお、この例において、ＭＲＡＭモジュール６１は、それぞれが１２８ＭＢの容量を有する第１ＭＲＡＭチップ６１ａおよび第２ＭＲＡＭチップ６１ｂを含んで構成されているものとし、ＲＯＭモジュール６３も、それぞれが１２８ＭＢの容量を有する第１ＲＯＭチップ６３ａおよび第２ＲＯＭチップ６３ｂを含んで構成されているものとする。
【００６３】
まず、図１１（ａ）を参照しつつ、本実施の形態の場合について説明する。
ＲＯＭ領域Ａ１に格納すべきソフトウェアとしてのプログラムの容量が例えば１２９ＭＢである場合、ハードウェアであるＭＲＡＭモジュール６１では、第１ＭＲＡＭチップ６１ａおよび第２ＭＲＡＭチップ６１ｂの容量がそれぞれ１２８ＭＢであるため、１２９ＭＢのプログラムを、第１ＭＲＡＭチップ６１ａおよび第２ＭＲＡＭチップ６１ｂに分けて配置する必要がある。なお、この例では、第１ＭＲＡＭチップ６１ａにプログラムのうちの１２８ＭＢ分を配置し、第２ＭＲＡＭチップ６１ｂにプログラムのうちの１ＭＢ分を配置している。ここで、ＭＲＡＭモジュール６１を用いた場合、第２ＭＲＡＭチップ６１ｂに存在する１２７ＭＢ分の容量は、ＭＲＡＭモジュール６１が読み書き可能なメモリデバイスであることから、ＲＡＭ領域Ａ２（本実施の形態では第１ＲＡＭ領域Ａ２１）として使用することが可能である。
【００６４】
次に、図１１（ｂ）を参照しつつ、比較の形態の場合について説明する。ＲＯＭ領域Ａ１に格納すべきソフトウェアとしてのプログラムの容量が例えば１２９ＭＢである場合、ハードウェアであるＲＯＭモジュール６３では、第１ＲＯＭチップ６３ａおよび第２ＲＯＭチップ６３ｂの容量がそれぞれ１２８ＭＢであるため、１２９ＭＢのプログラムを、第１ＲＯＭチップ６３ａおよび第２ＲＯＭチップ６３ｂに分けて配置する必要がある。なお、この例では、第１ＲＯＭチップ６３ａにプログラムのうちの１２８ＭＢ分を配置し、第２ＲＯＭチップ６３ｂにプログラムのうちの１ＭＢ分を配置している。ここで、ＲＯＭモジュール６３を用いた場合、第２ＲＯＭチップ６３ｂに存在する１２７ＭＢ分の容量は、ＲＯＭモジュール６３が読み込みは可能であって書き込みは不可能なメモリデバイスであることから、使えない領域すなわち使用不能領域Ａ３となってしまう。
【００６５】
このように、本実施の形態では、ＭＲＡＭモジュール６１を用いてＲＯＭ領域Ａ１を構成することにより、各ＭＲＡＭチップの容量に関係なく、プログラム等の格納に使用しない領域を、ＲＡＭ領域Ａ２（第１ＲＡＭ領域Ａ２１）として利用すること可能になる。このため、使用不能領域Ａ３等の発生に伴う無駄な容量を低減することができる。
【００６６】
＜実施の形態２＞
本実施の形態は、実施の形態１とほぼ同じであるが、さらに、例えばユーザからの要求等に応じて不要なフォントファイルを削除することにより、メインメモリ５１２におけるメモリマップを修正して、ＭＲＡＭモジュール６１においてＲＯＭ領域Ａ１として利用する容量を低減させるとともにＲＡＭ領域Ａ２として利用できる容量を増加させるようにしたものである。なお、本実施の形態において、実施の形態１と同様のものについては、同じ符号を付してその詳細な説明を省略する。
【００６７】
図１２は、図４に示すＲＯＭ領域Ａ１１の仕向地情報格納領域Ａ１１２に格納される仕向地設定情報の構成の一例を示す図である。
実施の形態１でも説明したように、仕向地情報は、出荷後の画像形成装置１が使用され得る複数の国（地域）と、各国（各地域）に対応した設定とを対応付けて構成されている。ここで、図１２は、仕向地情報のうち、出荷後の画像形成装置１が使用され得る国（Ａ国、Ｂ国、Ｃ国）と、各国において使用され得るフォント（第１フォント、第２フォント、第３フォント）との関係を示している。なお、図１２に示す例では、「Ａ国」において、第１フォントおよび第２フォントが「要」、第３フォントが「不要」とされている。また、「Ｂ国」において、第１フォントおよび第２フォントが「不要」、第３フォントが「要」とされている。さらに、「Ｃ国」において、第１フォントが「要」、第２フォントおよび第３フォントが「不要」とされている。
【００６８】
図１３は、本実施の形態の画像形成装置１において、不要なフォントファイルを削除する場合における、処理の手順を説明するためのフローチャートである。なお、この処理は、例えばＩＰＬの実行に伴って画像形成装置１が使用可能な状態となった後であって、画像形成動作および画像読み取り動作が行われていないときに実行される。したがって、動作制御部５１に設けられたメインメモリ５１２において、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における圧縮フォント格納領域Ａ１１５には、第１圧縮フォントファイル（第１圧縮フォント格納領域Ａ１１５１）、第２圧縮フォントファイル（第２圧縮フォント格納領域Ａ１１５２）、そして第３圧縮フォントファイル（第３圧縮フォント格納領域Ａ１１５３）が格納されている。また、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２には、第１展開フォントファイル（第１展開フォント格納領域Ａ１２２１）、第２展開フォントファイル（第２展開フォント格納領域Ａ１２２２）、第３展開フォントファイル（第３展開フォント格納領域Ａ１２２３）が格納されている。
【００６９】
まず、ＣＰＵ５１１は、ＵＩ３０等を介して、不要フォントを削除する旨の指示を受け付けたか否かを判断する（ステップ３１）。
なお、ステップ３１において否定の判断（Ｎｏ）を行った場合、ＣＰＵ５１１は、そのままこの処理を終了する。
【００７０】
一方、ステップ３１において肯定の判断（Ｙｅｓ）を行った場合、ＣＰＵ５１１は、次に、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における仕向地情報格納領域Ａ１１２に格納される仕向地情報（図１２参照）を読み出す（ステップ３２）。そして、ＣＰＵ５１１は、ＵＩ３０等によって入力された画像形成装置１の仕向地と、ステップ３２で取得した仕向地情報とに基づき、仕向地において不要なフォントに対応する圧縮フォントファイルを、第１ＲＯＭ領域Ａ１１の圧縮フォント格納領域Ａ１１５から消去する（ステップ３３）。それから、ＣＰＵ５１１は、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における区分設定情報格納領域Ａ１１３から区分設定情報（図５参照）を読み出し、ステップ３３において消去を行った圧縮フォントファイルの容量と、消去を行った圧縮フォントファイルを展開して得られる展開フォントファイルの容量とを反映させつつ、区分設定情報を再構成し、再構成した区分設定情報を区分設定情報格納領域Ａ１１３に格納する（ステップ３４）。
【００７１】
その後、ＣＰＵ５１１は、画像形成装置１（動作制御部５１）の再起動を実行させる（ステップ３５）。
再起動の実行に伴い、リセットがなされたＣＰＵ５１１は、最初に、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における区分設定情報格納領域Ａ１１３に格納される区分設定情報を読み出す（ステップ３６）。このとき、ステップ３６で読み出される区分設定情報は、上述したステップ３４において更新されている。そして、ＣＰＵ５１１は、読み出した区分設定情報に基づき、記憶領域Ａ０のうち、ＲＡＭ領域Ａ２に設定された領域のデータを消去する（ステップ３７）。これにより、作業領域Ａ２００すなわちＭＲＡＭモジュール６１側に配置される第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２側に配置される第２ＲＡＭ領域Ａ２２の記憶内容が、ともにクリアされる。
【００７２】
次に、ＣＰＵ５１１は、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における圧縮フォント格納領域Ａ１１５に格納される圧縮フォントファイルを読み出し、読み出した圧縮フォントファイルを展開し、圧縮フォントファイルを展開して得られた展開フォントファイルを、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２に格納する（ステップ３８）。なお、このとき、ＣＰＵ５１１は、上記ステップ３３において消去されなかった圧縮フォントファイルのみについて、読み出し、展開、および格納を行うことになる。
【００７３】
そして、ＣＰＵ５１１は、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１に格納された展開プログラムファイルを読み出して処理を行うことにより、画像形成装置１の初期設定を行い（ステップ３９）、一連の処理を完了する。また、ステップ３９の初期設定では、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２に格納された１または複数の展開フォントファイルを読み出して、各展開フォントファイルに対応するフォントを、使用可能な状態にする。
【００７４】
では、図１３に示す不要なフォントを削除する処理の手順について、具体的に例を挙げながら説明を行う。
図１４は、不要なフォントファイルを削除する前後における、メモリマップの変遷を説明するための図である。ここで、図１４（ａ）は不要なフォントファイルを削除する前のメモリマップを示しており、図１４（ｂ）は不要なフォントファイルを削除した後のメモリマップを示している。なお、図１４は、図１３に示す処理のうち、ステップ３１において肯定の判断（Ｙｅｓ）を行う場合であって、画像形成装置１の仕向地がＣ国（図１２参照）であった場合に対応している。
【００７５】
図１４（ａ）に示すように、不要なフォントファイルを削除する前において、ＭＲＡＭモジュール６１におけるＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１には、リセットベクタ格納領域Ａ１１１、仕向地情報格納領域Ａ１１２、区分設定情報格納領域Ａ１１３、圧縮プログラム格納領域Ａ１１４および圧縮フォント格納領域Ａ１１５が設定されている。さらに、リセットベクタ格納領域Ａ１１１にはＩＰＬが、仕向地情報格納領域Ａ１１２には仕向地情報が、区分設定情報格納領域Ａ１１３には区分設定情報が、圧縮プログラム格納領域Ａ１１４には圧縮プログラムファイルが、それぞれ格納されている。そして、圧縮フォント格納領域Ａ１１５において、第１圧縮フォント格納領域Ａ１１５１には第１圧縮フォントファイルが、第２圧縮フォント格納領域Ａ１１５２には第２圧縮フォントファイルが、第３圧縮フォント格納領域Ａ１１５３には第３圧縮フォントファイルが、それぞれ格納されている。
【００７６】
また、図１４（ａ）に示すように、不要なフォントファイルを削除する前において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開プログラム格納領域Ａ１２１には、前回までの起動処理において既に格納された展開プログラムファイルが存在している。さらに、図１４（ａ）に示すように、不要なフォントファイルを削除する前において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開フォント格納領域Ａ１２２には、前回までの起動処理において既に格納された展開フォントファイルが存在している。そして、展開フォント格納領域Ａ１２２のうち、第１展開フォント格納領域Ａ１２２１には第１展開フォントファイルが、第２展開フォント格納領域Ａ１２２２には第２展開フォントファイルが、第３展開フォント格納領域Ａ１２２３には第３展開フォントファイルが、それぞれ格納されている。なお、不要なフォントファイルの削除が開始される前において、ＲＡＭ領域Ａ２を構成する第１ＲＡＭ領域Ａ２１および第２ＲＡＭ領域Ａ２２は、既に作業領域Ａ２００として使用されている。
【００７７】
この例では、画像形成装置１の仕向地がＣ国であることから、図１２から明らかなように、第１フォントは「要」である一方、第２フォントおよび第３フォントは「不要」である。このため、図１４（ａ）に示すように、第１ＲＯＭ領域Ａ１における圧縮フォント格納領域Ａ１１５において、第２圧縮フォント格納領域Ａ１１５２に格納される第２圧縮フォントファイルおよび第３圧縮フォント格納領域Ａ１１５３に格納される第３圧縮フォントファイルの両者が消去（削除）される（ステップ３３）。一方、第１圧縮フォント格納領域Ａ１１５１に格納される第１圧縮フォントファイルは、消去されることなくそのまま残される。
【００７８】
そして、第１ＲＯＭ領域Ａ１における圧縮フォント格納領域Ａ１１５が第１圧縮フォント格納領域１１５１（第１圧縮フォントファイルを格納）のみとなること、第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２が第１展開フォント格納領域Ａ１２２１（第１展開フォントファイルを格納）のみとなること、第１ＲＯＭ領域Ａ１１における圧縮フォント格納領域Ａ１１５および第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２の容量が低減される分だけ第１ＲＡＭ領域Ａ２１の容量を増加させること、を反映させた区分設定情報（図５参照）を、区分設定情報格納領域Ａ１１３に格納させ（ステップ３４）、再起動を実行する。このとき、新たな区分設定情報では、第１ＲＯＭ領域Ａ１における圧縮フォント格納領域Ａ１１５のメモリエリアおよび第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２のメモリエリアがそれぞれ縮小されるとともに、その分、ＲＡＭ領域Ａ２（より具体的には第１ＲＡＭ領域Ａ２１）のメモリエリアが拡張される。
【００７９】
そして、再起動処理が実行されることに伴い、図１４（ｂ）に示すように、メモリマップが更新される。なお、メモリマップの更新において、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１におけるリセットベクタ格納領域Ａ１１１、仕向地情報格納領域Ａ１１２、区分設定情報格納領域Ａ１１３、圧縮プログラム格納領域Ａ１１４、圧縮フォント格納領域Ａ１１５を構成する第１圧縮フォント格納領域Ａ１１５１、および、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１については、再起動処理の実行前と同じメモリエリアが指定される。一方、メモリマップの更新前に、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１において圧縮フォント格納領域Ａ１１５を構成する第２圧縮フォント格納領域Ａ１１５２および第３圧縮フォント格納領域Ａ１１５３であったメモリエリア、および、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２において展開フォント格納領域Ａ１２２を構成する第２展開フォント格納領域Ａ１２２２および第３展開フォント格納領域Ａ１２２３であったメモリエリアは、アドレス変換が行われることにより、ＲＡＭ領域Ａ２の第１ＲＡＭ領域Ａ２１に振り分けられる。その結果、ＲＯＭ領域Ａ１の容量は再起動前よりも低減されることになり、その分、ＲＡＭ領域Ａ２の容量は、再起動前よりも増加することになる。
【００８０】
そして、図１４（ｂ）に示すように、ＭＲＡＭモジュール６１における第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２における第２ＲＡＭ領域Ａ２２の記憶内容が消去される（ステップ３７）。これに伴い、これら第１ＲＡＭ領域Ａ２１および第２ＲＡＭ領域Ａ２２は、以後の処理において作業領域Ａ２００として使用される。このとき、作業領域Ａ２００（第１ＲＡＭ領域Ａ２１）は、上述した理由により、再起動前よりもメモリエリアが拡張されている。また、上述したアドレス変換により、第１ＲＡＭ領域Ａ２１では、再起動前から第１ＲＡＭ領域Ａ２１であった領域と、再起動後に新たに第１ＲＡＭ領域Ａ２１に振り分けられた領域とが、アドレス空間において連続するようになる。
【００８１】
また、この例では、再起動処理が実行されることに伴い、図１４（ｂ）に示すように、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開フォント格納領域Ａ１２２に、圧縮フォント格納領域Ａ１１５に格納される圧縮フォントファイルを展開して得られた展開フォントファイルが格納される（ステップ３８）。このとき、展開フォント格納領域Ａ１２２では、第１展開フォント格納領域Ａ１２２１に第１展開フォントファイルが格納される。
【００８２】
そして、再起動処理の前後において、ＭＲＡＭモジュール６１における第１ＲＯＭ領域Ａ１１に格納される各データは、ステップ３３において消去された第２圧縮フォントファイルおよび第３圧縮フォントファイルを除いて、そのまま保持され続ける。すなわち、リセットベクタ格納領域Ａ１１１におけるＩＰＬ、仕向地情報格納領域Ａ１１２における仕向地情報、区分設定情報格納領域Ａ１１３における区分設定情報、圧縮プログラム格納領域Ａ１１４における圧縮プログラムファイル、圧縮フォント格納領域Ａ１１５における圧縮フォントファイル（第１圧縮フォント格納領域Ａ１１５１における第１圧縮フォントファイル）は、変更されることなくそのままの状態を維持する。
【００８３】
また、再起動処理の前後において、ＭＲＡＭモジュール６１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１に格納される展開プログラムファイルも、そのまま保持され続ける。すなわち、展開プログラム格納領域Ａ１２１における展開プログラムファイルは、変更されることなくそのままの状態を維持する。
【００８４】
このように、本実施の形態では、ＭＲＡＭモジュール６１の第１ＲＯＭ領域Ａ１１に格納される複数の圧縮フォントファイルのうち、仕向地において不要な圧縮フォントファイルを消去することにより、不要な圧縮フォントファイルおよびこの不要な圧縮フォントファイルを展開して得られた不要な展開フォントファイルを格納しておくための容量を低減し、その分、第１ＲＡＭ領域Ａ２１に振り分けることができる。このため、例えばＤＲＡＭモジュール６２を交換しなくても、メインメモリ５１２におけるＲＡＭ領域Ａ２（作業領域Ａ２００）の容量を増加させることが可能となる。
【００８５】
＜実施の形態３＞
本実施の形態は、実施の形態１とほぼ同じであるが、さらに、ＣＰＵ５１１によって実行されるプログラムファイルが更新される際に、メインメモリ５１２におけるメモリマップを修正するようにしたものである。なお、本実施の形態において、実施の形態１と同様のものについては、同じ符号を付してその詳細な説明を省略する。
【００８６】
図１５は、本実施の形態の画像形成装置１において、プログラムファイルを更新する場合における、処理の手順を説明するためのフローチャートである。なお、この処理は、例えばＩＰＬの実行に伴って画像形成装置１が使用可能な状態となった後であって、画像形成動作および画像読み取り動作が行われていないときに実行される。したがって、動作制御部５１に設けられたメインメモリ５１２において、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における圧縮プログラム格納領域Ａ１１４には、既に圧縮プログラムファイル（現行の圧縮プログラムファイル）が格納されている。また、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１には、現状の圧縮プログラムファイルを展開することによって得られた展開プログラムファイル（現行の展開プログラムファイルと呼ぶ）が格納されている。
【００８７】
まず、ＣＰＵ５１１は、ＵＩ３０等を介して、プログラムファイルの更新を要求する旨の指示を受け付けたか否かを判断する（ステップ５１）。
なお、ステップ５１において否定の判断（Ｎｏ）を行った場合、ＣＰＵ５１１は、そのままこの処理を終了する。
【００８８】
一方、ステップ５１において肯定の判断（Ｙｅｓ）を行った場合、ＣＰＵ５１１は、次に、送受信部４０およびネットワーク２を介して、サーバ装置５から更新用圧縮プログラムファイルを取得（ダウンロード）し、ＲＡＭ領域Ａ２（作業領域Ａ２００）のうちＭＲＡＭモジュール６１によって構成される第１ＲＡＭ領域Ａ２１に格納する（ステップ５２）。続いて、ＣＰＵ５１は、ステップ５２で取得した更新用圧縮プログラムファイルの容量（ファイルサイズ）を確認する（ステップ５３）。それから、ＣＰＵ５１１は、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における区分設定情報格納領域Ａ１１３から区分設定情報（図５参照）を読み出し、ステップ５３において確認した更新用圧縮プログラムファイルの容量および第１ＲＡＭ領域Ａ２１において更新用圧縮プログラムファイルを格納したメモリアドレス（開始番地、終了番地）を反映させつつ、区分設定情報を再構成し、再構成した区分設定情報を区分設定情報格納領域Ａ１１３に格納する（ステップ５４）。
【００８９】
その後、ＣＰＵ５１１は、画像形成装置１（動作制御部５１）の再起動を実行させる（ステップ５５）。
再起動の実行に伴い、リセットがなされたＣＰＵ５１１は、最初に、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における区分設定情報格納領域Ａ１１３に格納される区分設定情報を読み出す（ステップ５６）。このとき、ステップ５６で読み出される区分設定情報は、上述したステップ５４において更新されている。そして、ＣＰＵ５１１は、読み出した区分設定情報に基づき、記憶領域Ａ０のうち、ＲＡＭ領域Ａ２に設定された領域のデータを消去する（ステップ５７）。これにより、作業領域Ａ２００すなわちＭＲＡＭモジュール６１側に配置される第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２側に配置される第２ＲＡＭ領域Ａ２２の記憶内容が、ともにクリアされる。なお、再起動前に、第２ＲＡＭ領域Ａ２１のうちステップ５２において更新用圧縮プログラムファイルが格納されたメモリアドレスの範囲は、ステップ５４において区分設定情報を再構成する際に、第１ＲＯＭ領域Ａ１１における圧縮プログラム格納領域Ａ１１４となるように変更されている。
【００９０】
次に、ＣＰＵ５１１は、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における圧縮プログラム格納領域Ａ１１４に格納される圧縮プログラムファイル（更新用圧縮プログラムファイル）を読み出し、読み出した圧縮プログラムファイルを展開し、圧縮プログラムファイルを展開して得られた展開プログラムファイル（新たな展開プログラムファイル）を、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１に格納する（ステップ５８）。
【００９１】
そして、ＣＰＵ５１１は、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１に格納された新たな展開プログラムファイルを読み出して処理を行うことにより、画像形成装置１の初期設定を行い（ステップ５９）、一連の処理を完了する。また、ステップ５９の初期設定では、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２に格納された各展開フォントファイル（第１展開フォントファイル〜第３展開フォントファイル）を読み出して、各展開フォントファイルに対応するフォントを、使用可能な状態にする。
【００９２】
では、図１５に示すプログラムファイルを更新する処理の手順について、具体的に例を挙げながら説明を行う。
図１６は、プログラムファイルを更新する前後における、メモリマップの変遷を説明するための図である。ここで、図１６（ａ）はプログラムファイルを更新する前のメモリマップを示しており、図１６（ｂ）はプログラムファイルを更新した後のメモリマップを示している。なお、図１６は、図１５に示す処理のうち、ステップ５１において肯定の判断（Ｙｅｓ）を行う場合であって、現行の圧縮プログラムファイルに比べて更新用プログラムファイルの容量が大きかった場合に対応している。
【００９３】
図１６（ａ）に示すように、プログラムファイルを更新する前において、ＭＲＡＭモジュール６１におけるＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１には、リセットベクタ格納領域Ａ１１１、仕向地情報格納領域Ａ１１２、区分設定情報格納領域Ａ１１３、圧縮プログラム格納領域Ａ１１４および圧縮フォント格納領域Ａ１１５が設定されている。さらに、リセットベクタ格納領域Ａ１１１にはＩＰＬが、仕向地情報格納領域Ａ１１２には仕向地情報が、区分設定情報格納領域Ａ１１３には区分設定情報が、圧縮プログラム格納領域Ａ１１４には現行の圧縮プログラムファイルが、それぞれ格納されている。そして、圧縮フォント格納領域Ａ１１５において、第１圧縮フォント格納領域Ａ１１５１には第１圧縮フォントファイルが、第２圧縮フォント格納領域Ａ１１５２には第２圧縮フォントファイルが、第３圧縮フォント格納領域Ａ１１５３には第３圧縮フォントファイルが、それぞれ格納されている。
【００９４】
また、図１６（ａ）に示すように、プログラムファイルを更新する前において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開プログラム格納領域Ａ１２１には、前回までの起動処理において既に格納された現行の展開プログラムファイルが存在している。さらに、図１６（ａ）に示すように、プログラムファイルを更新する前において、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開フォント格納領域Ａ１２２には、前回までの起動処理において既に格納された展開フォントファイルが存在している。そして、展開フォント格納領域Ａ１２２のうち、第１展開フォント格納領域Ａ１２２１には第１展開フォントファイルが、第２展開フォント格納領域Ａ１２２２には第２展開フォントファイルが、第３展開フォント格納領域Ａ１２２３には第３展開フォントファイルが、それぞれ格納されている。なお、不要なフォントファイルの削除が開始される前において、ＲＡＭ領域Ａ２を構成する第１ＲＡＭ領域Ａ２１および第２ＲＡＭ領域Ａ２２は、既に作業領域Ａ２００として使用されている。
【００９５】
この例では、ダウンロードされた新たな圧縮プログラムファイルが、ＲＡＭ領域Ａ２のうち、ＭＲＡＭモジュール６１で構成された第１ＲＡＭ領域Ａ２１に格納される（ステップ５２）。なお、ダウンロードした更新用圧縮プロフラムファイルを第１ＲＯＭ領域Ａ１１の圧縮プログラム格納領域Ａ１１４にそのまま格納（上書）しないのは、更新用圧縮プログラムファイルの容量が現行の圧縮プログラムファイルの容量よりも大きい場合に、更新用圧縮プログラムファイルの格納に必要な領域が不足してしまうためである。
【００９６】
そして、第１ＲＯＭ領域Ａ１における圧縮プログラム格納領域Ａ１１４のメモリエリアが、ＲＡＭ領域Ａ２１において更新用圧縮プログラムを格納しているメモリアドレスの範囲に変更されること、第１ＲＯＭ領域Ａ１１において圧縮プログラム格納領域Ａ１１４の容量が増加すること、第２ＲＯＭ領域Ａ１２において展開プログラム格納領域Ａ１２１の容量が増加すること、第１ＲＯＭ領域Ａ１１における圧縮プログラム格納領域Ａ１１４および第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２の容量が増加される分だけ第１ＲＡＭ領域Ａ２１の容量を低減させること、を反映させた区分設定情報（図５参照）を、区分設定情報格納領域Ａ１１３に格納させ（ステップ５４）、再起動を実行する。このとき、新たな区分設定情報では、第１ＲＯＭ領域Ａ１１における圧縮プログラム格納領域Ａ１１４のメモリエリアおよび第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１のメモリエリアがそれぞれ拡張されるとともに、その分、ＲＡＭ領域Ａ２（より具体的には第１ＲＡＭ領域Ａ２１）のメモリエリアが縮小される。
【００９７】
そして、再起動処理が実行されることに伴い、図１６（ｂ）に示すように、メモリマップが更新される。なお、メモリマップの更新において、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１におけるリセットベクタ格納領域Ａ１１１、仕向地情報格納領域Ａ１１２、区分設定情報格納領域Ａ１１３、圧縮フォント格納領域Ａ１１５については、再起動処理の実行前と同じメモリエリアが指定される。一方、メモリマップの更新において、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１で圧縮プログラム格納領域Ａ１１４であったメモリエリアは、アドレス変換が行われることにより、ＲＡＭ領域Ａ２の第１ＲＡＭ領域Ａ２１に振り分けられる。また、メモリマップの更新において、ＲＡＭ領域Ａ２の第１ＲＡＭ領域Ａ２１のうち更新用プログラムファイルが格納されていたメモリエリアは、アドレス変換が行われることにより、ＲＯＭ領域Ａ１の第１ＲＯＭ領域Ａ１１における圧縮プログラム格納領域Ａ１１４に振り分けられる。そして、メモリマップの更新において、ＲＡＭ領域Ａ２の第１ＲＡＭ領域Ａ２１の一部領域は、アドレス変換が行われることにより、ＲＯＭ領域Ａ１の第２ＲＯＭ領域Ａ１２における展開プログラム格納領域Ａ１２１に振り分けられる。その結果、ＲＯＭ領域Ａ１の容量は再起動前よりも増加することになり、ＲＡＭ領域Ａ２の容量は再起動前よりも低減されることになる。
【００９８】
そして、図１６（ｂ）に示すように、ＭＲＡＭモジュール６１における第１ＲＡＭ領域Ａ２１およびＤＲＡＭモジュール６２における第２ＲＡＭ領域Ａ２２の記憶内容が消去される（ステップ５７）。これに伴い、これら第１ＲＡＭ領域Ａ２１および第２ＲＡＭ領域Ａ２２は、以後の処理において作業領域Ａ２００として使用される。このとき、作業領域Ａ２００（第１ＲＡＭ領域Ａ２１）は、上述した理由により、再起動前よりもメモリエリアが縮小されている。
【００９９】
また、この例では、再起動処理が実行されることに伴い、図１６（ｂ）に示すように、ＭＲＡＭモジュール６１における第２ＲＯＭ領域Ａ１２の展開プログラム格納領域Ａ１２１に、圧縮プログラム格納領域Ａ１１４に格納される更新用圧縮プログラムファイルを展開して得られた新たな展開プログラムファイルが格納される（ステップ５８）。
【０１００】
そして、再起動処理の前後において、ＭＲＡＭモジュール６１における第１ＲＯＭ領域Ａ１１に格納される各データは、ステップ５８において新たに格納（更新）された圧縮プログラムファイルを除いて、そのまま保持され続ける。すなわち、リセットベクタ格納領域Ａ１１１におけるＩＰＬ、仕向地情報格納領域Ａ１１２における仕向地情報、区分設定情報格納領域Ａ１１３における区分設定情報、圧縮フォント格納領域Ａ１１５における圧縮フォントファイル（第１圧縮フォント格納領域Ａ１１５１における第１圧縮フォントファイル、第２圧縮フォント格納領域Ａ１１５２における第２圧縮フォントファイル、第３圧縮フォント格納領域Ａ１１５３における第３圧縮フォントファイル）は、変更されることなくそのままの状態を維持する。
【０１０１】
また、再起動処理の前後において、ＭＲＡＭモジュール６１の第２ＲＯＭ領域Ａ１２における展開フォント格納領域Ａ１２２に格納される展開フォントファイルも、そのまま保持され続ける。すなわち、展開フォント格納領域Ａ１２２における展開フォントファイル（第１展開フォント格納領域Ａ１２２１における第１展開フォントファイル、第２展開フォント格納領域Ａ１２２２における第２展開フォントファイル、第３展開フォント格納領域Ａ１２２３における第３展開フォントファイル）は、変更されることなくそのままの状態を維持する。
【０１０２】
なお、ここでは、現行の圧縮プログラムファイルよりも更新用圧縮プログラムファイルの容量が大きくなる場合について説明を行ったが、原稿の圧縮プログラムファイルよりも更新用圧縮プログラムファイルの容量が小さくなる場合も存在し得る。そして、このような場合には、ＲＯＭ領域Ａ１における圧縮プログラム格納領域Ａ１１４および展開プログラム格納領域のメモリエリアを縮小させるようにメモリマップを修正することで、実施の形態２と同様に、ＲＡＭ領域Ａ２（第１ＲＡＭ領域Ａ２１）の容量を増加させることができる。
【０１０３】
このように、本実施の形態では、ＭＲＡＭモジュール６１の第１ＲＯＭ領域Ａ１１に格納される圧縮プログラムファイルを更新する際に、更新用圧縮プログラムファイルおよび更新用圧縮プログラムファイルを展開して得られる新たな展開プログラムファイルの容量に応じて、ＭＲＡＭモジュール６１におけるＲＯＭ領域Ａ１とＲＡＭ領域Ａ２として使用される第１ＲＡＭ領域Ａ２１との比率を調整するようにした。このため、第２ＲＡＭ領域Ａ２２の容量を低減させるとともにＲＯＭ領域Ａ１（第１ＲＯＭ領域Ａ１１および第２ＲＯＭ領域Ａ１２）の容量を増加させることで、更新に伴うプログラムの容量の増大に対応することができる。また、第２ＲＡＭ領域Ａ２２の容量を増加させるとともにＲＯＭ領域Ａ１（第１ＲＯＭ領域Ａ１１および第２ＲＯＭ領域Ａ１２）の容量を低減させることで、更新に伴うプログラムの容量の減少に対応することができる。
【０１０４】
なお、実施の形態１〜３では、ＭＲＡＭモジュール６１およびＤＲＡＭモジュール６２を用いてメインメモリ５１２を構成していたが、これに限られるものではない。例えば、ＭＲＡＭモジュール６１のみを用いてメインメモリ５１２を構成してもかまわない。
また、実施の形態１〜３では、メインメモリ５１２を構成する不揮発性メモリとして、ＭＲＡＭモジュール６１を用いていたが、これに限られるものではない。例えば、メインメモリ５１２で使用する不揮発性メモリとして、ＦｅＲＡＭ（Ferroelectric RAM）、ＰＲＡＭ（Phase change RAM）、ＲｅＲＡＭ（Resistance RAM）などを用いてもかまわない。
【０１０５】
また、実施の形態１〜３では、第１ＲＯＭ領域Ａ１１に圧縮プログラムファイルおよび圧縮フォントファイルを格納しておき、これらを展開して得られた展開プログラムファイルおよび展開プログラムファイルを第２ＲＯＭ領域Ａ１２に格納するようにしていたが、これに限られるものではない。すなわち、例えば第１ＲＯＭ領域Ａ１１に展開プログラムファイルおよび展開フォントファイルを格納しておき、これらを複写して得られた展開プログラムファイルおよび展開プログラムファイルを第２ＲＯＭ領域Ａ１２に格納するようにしてもよい。
【０１０６】
さらに、実施の形態１〜３において、コンピュータ（ＣＰＵ５１１）に実行させるプログラムは、このコンピュータが読み取り可能に記憶した記憶媒体に格納される形態がある。この記憶媒体としては、例えばＣＤ−ＲＯＭ媒体等が該当し、コンピュータにおけるＣＤ−ＲＯＭ読取装置によってプログラムが読み取られ、例えば、コンピュータにおけるハードディスク等の各種メモリにこのプログラムが格納され、実行される形態が考えられる。また、これらのプログラムは、例えば、プログラム伝送装置によってネットワークを介してノートＰＣや携帯端末に提供される形態が考えられる。このようなプログラム伝送装置としては、プログラムを格納するメモリと、ネットワークを介してプログラムを提供するプログラム伝送手段とを備えていれば足りる。
【符号の説明】
【０１０７】
１…画像形成装置、２…ネットワーク、３…端末装置、４…ファクシミリ装置、５…サーバ装置、１０…画像読取部、２０…画像形成部、３０…ＵＩ、４０…送受信部、５０…制御部、５１…動作制御部、５２…画像処理部、５３…接続バス、６１…ＭＲＡＭモジュール、６１ａ…第１ＭＲＡＭチップ、６１ｂ…第２ＭＲＡＭチップ、６１ｃ…ＭＲＡＭ制御部、６２…ＤＲＡＭモジュール、５１１…ＣＰＵ、５１２…メインメモリ、５１３…インタフェース回路、５１４…メモリバス
【図１】
2013045285.tif 000003
【図２】
2013045285.tif 000004
【図３】
2013045285.tif 000005
【図４】
2013045285.tif 000006
【図５】
2013045285.tif 000007
【図６】
2013045285.tif 000008
【図７】
2013045285.tif 000009
【図８】
2013045285.tif 000010
【図９】
2013045285.tif 000011
【図１０】
2013045285.tif 000012
【図１１】
2013045285.tif 000013
【図１２】
2013045285.tif 000014
【図１３】
2013045285.tif 000015
【図１４】
2013045285.tif 000016
【図１５】
2013045285.tif 000017
【図１６】
2013045285.tif 000018