(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
図1は、本発明の実施形態による画像形成システム10の構成例を示すブロック図である。画像形成システム10は、情報処理システムであり、画像形成装置1と、LAN7と、コンピュータ8とを有する。画像形成装置1は、情報処理装置であり、スキャナ装置2と、コントローラ3と、プリンタ装置4と、操作部5と、ハードディスク装置6とを有する。スキャナ装置2は、原稿から光学的に画像を読み取り、原稿をデジタル画像に変換する。プリンタ装置4は、デジタル画像を紙デバイスに印刷する。操作部5は、画像形成装置1の操作を行うための操作部である。ハードディスク装置6は、デジタル画像や制御プログラム等を記憶する不揮発性記憶装置である。コントローラ3は、スキャナ装置2、プリンタ装置4、操作部5及びハードディスク装置6を制御することにより、画像形成装置1上でジョブを実行する制御装置である。画像形成装置1は、LAN7経由の外部のコンピュータ8に対して、デジタル画像を入出力し、ジョブの発行や機器の指示等を行うことができる。
【0010】
スキャナ装置2は、原稿給紙ユニット21と、スキャナユニット22とを有する。原稿給紙ユニット21は、複数の原稿を自動的に一枚ずつスキャナユニット22に逐次給紙するDFユニットである。スキャナユニット22は、原稿を光学スキャンし、原稿をデジタル画像に変換し、変換したデジタル画像をコントローラ3に出力する。
【0011】
プリンタ装置4は、マーキングユニット41と、給紙ユニット42と、排紙ユニット43とを有する。給紙ユニット42は、複数の紙を一枚ずつマーキングユニット41に逐次給紙する。マーキングユニット41は、給紙された紙にデジタル画像を印刷する。排紙ユニット43は、印刷後の紙を排紙する。
【0012】
操作部5は、ユーザが画像形成装置1に画像複写等の動作を指示したり、画像形成装置1の各種情報をユーザに提示したりするための、操作ボタン及び液晶画面等の表示パネルを有する。
【0013】
図2は、
図1のコントローラ3の構成例を示すブロック図である。コントローラ3は、メインコントローラ310と、サブコントローラ320と、バスブリッジ330と、電源制御回路331と、電源ユニット340と、SSD(ソリッドステートドライブ)314とを有する。
【0014】
メインコントローラ310は、メインCPU311、内部バス312、メインCPUメモリ313、ROM315、ディスクコントローラ316、ネットワークインターフェース317、操作部インターフェース318及びセキュリティチップ319を有する。メインコントローラ310は、汎用的なCPUシステムである。メインCPU311は、メインコントローラ310の全体を制御する処理手段である。メインCPUメモリ313は、メインCPU311が使用する揮発性記憶手段である。ROM315は、読み取り専用メモリである。ディスクコントローラ316は、ハードディスク装置6及びSSD314を制御する。ネットワークインターフェース317は、LAN7に接続される。操作部インターフェース318は、操作部5に接続される。セキュリティチップ319は、電子署名を検査するための鍵情報を内部に保持し、画像形成装置1のファームウェアの電子署名を検査する機能を有する検査手段である。
【0015】
サブコントローラ320は、サブCPU321、内部バス322、サブCPUメモリ323、スキャナインターフェース324、プリンタインターフェース325及び画像処理プロセッサ326を有する。サブCPU321は、サブコントローラ320の全体を制御する処理手段である。サブCPUメモリ323は、サブCPU321が使用する揮発性記憶手段である。スキャナインターフェース324は、スキャナ装置2に接続される。プリンタインターフェース325は、プリンタ装置4に接続される。画像処理プロセッサ326は、リアルタイムデジタル画像処理を行う。バスブリッジ330は、メインコントローラ310の内部バス312と、サブコントローラ320の内部バス322とを接続する。
【0016】
図3は、
図2のSSD314及びROM315の記憶内容を示す図である。SSD314及びROM315は、不揮発性記憶手段である。SSD314は、メインCPUファームウェア351と、電子署名353と、サブCPUファームウェア352と、電子署名354とを記憶する。メインCPUファームウェア351は、メインコントローラ310を動作させるためのプログラムである。メインCPU311は、SSD314に記憶されているメインCPUファームウェア351をメインCPUメモリ313に展開し、メインCPUメモリ313に記憶されたメインCPUファームウェア351を実行する。サブCPUファームウェア352は、サブコントローラ320を動作させるためのプログラムであり、サブCPUメモリ323に展開される。サブCPU321は、サブCPUメモリ323に記憶されたサブCPUファームウェア352を実行する。
【0017】
電子署名353は、メインCPUファームウェア351が正常(真正)であることを検査するための情報である。電子署名354は、サブCPUファームウェア352が正常であることを検査するための情報である。セキュリティチップ319は、電子著名353を基にメインCPUファームウェア351が正常であることを検査し、電子著名354を基にサブCPUファームウェア352が正常であることを検査する。
【0018】
ROM315は、BIOS361を記憶する。BIOS361は、画像形成装置1の電源がオンされた直後に、最初にメインCPU311により実行される初期プログラムである。SSD314に記憶されているファームウェア351,352及び電子署名353,354は、ファームウェアアップデート等により書き換えることが可能である。これに対し、ROM315に記憶されているBIOS361は、書き換えることができない。
【0019】
図2のメインCPUメモリ313及びサブCPUメモリ323は、揮発性のDRAMであり、画像形成装置1の電源がオフになっている間は記憶内容を保持できない。このため、メインCPUファームウェア351とサブCPUファームウェア352は、不揮発性のSSD314に記憶されている。画像形成装置1の電源がオンになった際に、メインCPUファームウェア351は、SSD314からメインCPUメモリ313にロードされ、サブCPUファームウェア352は、SSD314からサブCPUメモリ323にロードされる。メインCPU311は、メインCPUメモリ313にロードされたメインCPUファームウェア351を実行する。サブCPU321は、サブCPUメモリ323にロードされたサブCPUファームウェア352を実行する。
【0020】
図4(a)は、メインCPUメモリ313の領域を示す図である。メインCPUメモリ313は、メインCPUファームウェア領域371と、画像メモリ領域372とを有する。メインCPUファームウェア領域371は、SSD314からロードされたメインCPUファームウェア351を記憶するための領域である。メインCPU311は、メインCPUファームウェア領域371のメインCPUファームウェア351を実行する。画像メモリ領域372は、ジョブ実行中に画像データを一時的に記憶するための領域である。
【0021】
図4(b)は、サブCPUメモリ323の領域を示す図である。サブCPUメモリ323は、サブCPUファームウェア領域373と、画像メモリ領域374とを有する。サブCPUファームウェア領域373は、SSD314からロードされたサブCPUファームウェア352を記憶するための領域である。サブCPU321は、サブCPUファームウェア領域373のサブCPUファームウェア352を実行する。画像メモリ領域374は、ジョブ実行中に画像データを一時的に記憶するための領域である。
【0022】
図2において、電源制御回路331は、画像形成装置1の電力状態を制御するための電気回路である。電源ユニット340は、AC電源電圧341を基に画像形成装置1の各部のためのスキャナ・プリンタ装置電源電圧342、省電力状態用電源電圧343及び通常状態用電源電圧344を生成する。スキャナ・プリンタ装置電源電圧342は、電源制御回路331のスイッチ制御により、スキャナ装置2及びプリンタ装置4に供給される。省電力状態用電源電圧343は、電源制御回路331のスイッチ制御により、メインCPUメモリ313、ネットワークインターフェース317及び操作部5に供給される。通常状態用電源電圧344は、電源制御回路331のスイッチ制御により、メインコントローラ310、サブコントローラ320、SSD314及びハードディスク装置6に供給される。
図2中の電源制御回路331から伸びる矢印付きのラインは、信号ラインを表し、電源ユニット340から伸びる矢印付きのラインは、電源ラインを表している。
図2において、電源ラインと信号ラインの区別は、矢印の形によって示されている。
【0023】
スキャナ・プリンタ装置電源電圧342は、スキャナ装置2及びプリンタ装置4に供給される電源電圧である。省電力状態用電源電圧343は、画像形成装置1が省電力状態にある間、通電が維持される箇所に供給される電源電圧である。通常状態用電源電圧344は、画像形成装置1が通常状態にある場合に通電される箇所に供給される電源電圧である。通常状態用電源電圧344は、画像形成装置1が省電力状態にある場合には通電されない。これらの電源電圧の通電/非通電の状態は、電源制御回路331によって個別に制御される。
【0024】
電源オン信号332は、画像形成装置1の電源がオフである時に、電源制御回路331に対して電源オンを指示するための信号である。電源オン信号332は、操作部5内の電源スイッチをユーザが操作した際に入力される。メインCPUリセット信号333は、メインCPU311のリセット状態を制御する信号である。画像形成装置1が電源オンされた際、電源制御回路331がメインCPUリセット信号333の出力を停止することによりリセット解除となり、メインCPU311が動作を開始する。メインCPU省電力解除信号334は、メインCPU311が省電力状態にある場合に、電源制御回路331がメインCPU311の省電力状態を解除するために出力する信号である。
【0025】
サブCPUリセット信号335は、サブCPU321のリセット状態を制御する信号である。電源制御回路331がサブCPUリセット信号335の出力を停止することによりリセット解除となり、サブCPU321が動作を開始する。電源制御回路331は、メインコントローラ310の内部バス312に接続されており、メインCPU311は電源制御回路331に指示してサブCPUリセット信号335の状態を制御することができる。
【0026】
省電力解除信号336は、画像形成装置1が省電力状態にある際に、省電力状態を解除するよう通知する信号である。省電力解除信号336が電源制御回路331に入力されると、コントローラ3は省電力状態から通常状態への復帰動作を開始する。省電力解除信号336は、操作部5の操作又はネットワークインターフェース317のパケット受信をきっかけとして、電源制御回路331に入力される。具体的には、ユーザが操作部5内のスイッチを操作した場合に、操作部5が省電力解除信号336を出力する。また、ネットワークインターフェース317は、LAN7からのネットワークパケット受信を検知した場合に、省電力解除信号336を出力する。
【0027】
次に、コントローラ3の動作について、紙メディアへの印刷動作を例に説明する。ネットワークインターフェース317がLAN7から印刷ジョブを受信すると、メインCPU311は、ネットワークインターフェース317を介して受信したデジタル画像データをメインCPUメモリ313内の画像メモリ領域372に格納する。メインCPU311は、デジタル画像データが画像メモリ領域372に一定量もしくは全て格納されたことが確認できると、デジタル画像データをサブCPUメモリ323内の画像メモリ領域374へ転送する。そして、メインCPU311は、サブCPU321に指示して印刷動作を開始させる。
【0028】
サブCPU321は、プリンタインターフェース325を介して、プリンタ装置4に画像出力指示を出力して制御する。サブCPU321は、画像処理プロセッサ326に画像メモリ領域374の画像データの位置を教え、プリンタ装置4からの同期信号に従って画像データを画像処理プロセッサ326とプリンタインターフェース325を介してプリンタ装置4に出力する。それにより、プリンタ装置4は、紙デバイスにデジタル画像データを印刷する。同様に、サブCPU321は、スキャナ装置2を制御する。
【0029】
図5(a)及び(b)は、画像形成装置1の起動処理の制御方法を示すフローチャートである。
図5(a)は、画像形成装置1の起動時にメインCPU311が実行する処理を示すフローチャートである。電源制御回路331は、電源オン信号332が入力された時、画像形成装置1の各部への電源電圧の供給を開始する。具体的には、電源制御回路331は、スキャナ・プリンタ装置電源電圧342、省電力状態用電源電圧343及び通常状態用電源電圧344の全ての電源電圧を通電状態とする。そして、電源制御回路331がメインCPUリセット信号333を制御してメインCPU311をリセット解除すると、メインCPU311が動作を開始し、メインCPU311は
図5(a)の処理を実行する。ただし、この時、電源制御回路331は、サブCPU321についてはリセットしたままとしており、まだ動作を開始させないよう制御している。
【0030】
ステップS501において、メインCPU311は、ROM315内に格納された初期プログラムであるBIOS361の実行を開始する。BIOS361は、書き換え不能なROM315に格納されているため、不正なプログラムに書き換えられる危険はない。
【0031】
次に、ステップS502において、メインCPU311は、BIOS361を実行することにより、ディスクコントローラ316を初期化する。そして、メインCPU311は、SSD314を制御して、メインCPUファームウェア351をSSD314からメインCPUメモリ313内のメインCPUファームウェア領域371にロードする。メインCPUメモリ313は、メインCPUファームウェア領域371にメインCPUファームウェア351を記憶する。
【0032】
ロードが完了すると、ステップS503において、メインCPU311は、メインCPUファームウェア領域371内のメインCPUファームウェア351が正常(真正)であるか否かを検査する。具体的には、メインCPU311は、セキュリティチップ319の電子署名検査機能を用いて、電子署名353を基にメインCPUファームウェア351を検査する。
【0033】
次に、ステップS504において、メインCPU311は、メインCPUファームウェア351の電子署名検査の結果に基づいて、メインCPUファームウェア351が正常であるか否かを判定する。メインCPU311は、正常であると判定した場合には、ステップS505に処理を進め、正常でないと判定した場合は、ステップS513に処理を進める。
【0034】
ステップS505において、メインCPU311は、メインCPUファームウェア領域371に記憶されているメインCPUファームウェア351の実行を開始する。次に、ステップS506において、メインCPU311は、メインCPUファームウェア351を実行することにより、メインコントローラ310の各周辺デバイスを初期化する。具体的には、メインCPU311は、ネットワークインターフェース317及び操作部インターフェース318の初期化を実行する。
【0035】
次に、ステップS507において、メインCPU311は、ディスクコントローラ316を介してSSD314を制御し、サブCPUファームウェア352をSSD314からメインCPUメモリ313内の画像メモリ領域372へロードする。画像形成装置1がジョブ実行中である場合を除いて、画像メモリ領域372は、利用されていないので、サブCPUファームウェア352の一時的な格納場所として利用される。
【0036】
ロードが完了すると、ステップS508において、メインCPU311は、画像メモリ領域372内のサブCPUファームウェア352が正常であるか否かを検査する。具体的には、メインCPU311は、セキュリティチップ319の電子署名検査機能を用いて、電子署名354を基にサブCPUファームウェア352を検査する。
【0037】
次に、ステップS509において、メインCPU311は、サブCPUファームウェア352の電子署名検査の結果に基づいて、サブCPUファームウェア352が正常であるか否かを判定する。メインCPU311は、正常であると判定した場合には、ステップS510に処理を進め、正常でないと判定した場合には、ステップS512に処理を進める。
【0038】
ステップS510において、メインCPU311は、サブCPUファームウェア352をメインCPUメモリ313内の画像メモリ領域372からサブCPUメモリ323内のサブCPUファームウェア領域373へ転送する。サブCPUメモリ323は、サブCPUファームウェア領域373にサブCPUファームウェア352を記憶する。次に、ステップS511において、メインCPU311は、電源制御回路331を介してサブCPUリセット信号335を制御し、サブCPU321をリセット解除する。これにより、サブCPU321は、
図5(b)の処理を開始する。
【0039】
ステップS513において、メインCPU311は、操作部5にメインCPUファームウェア351が正常でない旨を報知する画面を表示する。より具体的には、メインCPU311は、
図8(a)のように、メインCPUファームウェア351が異常であることを示すエラーコードなどを操作部画面に表示する。
図8(a)は、異常を報知する画面例である。そして、メインCPU311は、画像形成装置1の起動処理を中断する。
【0040】
ステップS512において、メインCPU311は、操作部5にサブCPUファームウェア352が正常でない旨を報知する画面を表示する。より具体的には、メインCPU311は、
図8(b)のように、サブCPUファームウェア352が異常であることを示すエラーコードなどを操作部画面に表示する。
図8(b)は、異常を報知する画面例である。そして、メインCPU311は、画像形成装置1の起動処理を中断する。
【0041】
図5(b)は、画像形成装置1の起動時にサブCPU321が実行する処理を示すフローチャートである。
図5(a)のステップS511によりサブCPU321のリセットが解除されると、サブCPU321は、
図5(b)の処理の実行を開始する。
【0042】
ステップS521において、サブCPU321は、サブCPUファームウェア領域373に記憶されているサブCPUファームウェア352の実行を開始する。このサブCPUファームウェア352は、上記のように、メインCPU311によって事前に正常であることが検査されている。
【0043】
次に、ステップS522において、サブCPU321は、サブコントローラ320内の各周辺デバイスを初期化する。具体的には、サブCPU321は、スキャナインターフェース324、プリンタインターフェース325及び画像処理プロセッサ326の初期化を実行する。
【0044】
次に、ステップS523において、サブCPU321は、プリンタインターフェース325を介して、プリンタ装置4とのネゴシエーションを実行する。次に、ステップS524において、サブCPU321は、スキャナインターフェース324を介して、スキャナ装置2とのネゴシエーションを実行する。
【0045】
次に、ステップS525において、サブCPU321は、プリンタ装置4がジョブ実行可能となるための準備が完了したかどうかを判定する。ステップS523でのネゴシエーションの後、プリンタ装置4は、各種の調整動作を実行しており、サブCPU321は、ジョブ実行のためにはこの調整動作の完了を待つ必要がある。サブCPU321は、プリンタ装置4の準備が完了したかどうかをプリンタインターフェース325を介して知ることができるので、プリンタ装置4の準備が完了するまでステップS525の処理を繰り返す。サブCPU321は、プリンタ装置4の準備が完了したと判定した場合には、ステップS526に処理を進める。
【0046】
ステップS526において、サブCPU321は、同様に、スキャナ装置2についてもジョブ実行可能となる準備が完了したかどうかを判定する。サブCPU321は、スキャナ装置2の準備が完了するまでステップS526の処理を繰り返す。サブCPU321がスキャナ装置2の準備が完了したと判定した場合には、画像形成装置1の起動処理は完了である。
【0047】
画像形成装置1の起動時に、メインCPU311は、メインCPUファームウェア351の電子署名353及びサブCPUファームウェア352の電子署名354を検査し、正常であると判定した場合のみ、サブCPU321が
図5(b)の起動処理を実行する。これにより、画像形成装置1の起動時に、メインCPU311及びサブCPU321が不正なファームウェアを実行しないことを保証でき、安全性を確保することができる。
【0048】
なお、本実施形態では、メインCPUファームウェア351及びサブCPUファームウェア352が不正でないことを電子署名技術により検査しているが、この構成は一例である。事前にメインCPUファームウェア351及びサブCPUファームウェア352のハッシュ値を書き換え困難な不揮発性記憶媒体に保存しておいてもよい。その場合、起動時に計算したメインCPUファームウェア351及びサブCPUファームウェア352のハッシュ値と比較する方法などによる検査でもよい。
【0049】
図6は、画像形成装置1が通常状態(第1の電力モード)から省電力状態(第2の電力モード)への移行時にメインCPU311が実行する処理を示すフローチャートである。画像形成装置1は、通常状態から省電力状態への移行条件を満たす場合に、
図6の処理を実行する。例えば、画像形成装置1は、所定の時間以上の間、ジョブを実行しなかった場合、
図6の処理を実行し、通常状態から省電力状態へ移行し、電力を節減する。
【0050】
まず、ステップS601において、メインCPU311は、ディスクコントローラ316を介してSSD314を制御し、サブCPUファームウェア352をSSD314からメインCPUメモリ313内の画像メモリ領域372へロードする。このサブCPUファームウェア352は、後で画像形成装置1を省電力状態から通常状態へ復帰させる際に利用される。メインCPU311の省電力状態への移行処理実行時、画像形成装置1はジョブを実行していないため、画像メモリ領域372は利用されておらず、サブCPUファームウェア352の一時的な格納場所として利用される。
【0051】
ロードが完了すると、ステップS602において、メインCPU311は、画像メモリ領域372内のサブCPUファームウェア352が正常(真正)であるか否かを検査する。具体的には、メインCPU311は、セキュリティチップ319の電子署名検査機能を用いて、電子署名354を基にサブCPUファームウェア352を検査する。
【0052】
次に、ステップS603において、メインCPU311は、サブCPUファームウェア352の電子署名検査の結果に基づいて、サブCPUファームウェア352が正常であるか否かを判定する。メインCPU311は、正常であると判定した場合には、ステップS604に処理を進め、正常でないと判定した場合には、ステップS605に処理を進める。
【0053】
ステップS604において、メインCPU311は、電源制御回路331を制御して画像形成装置1を省電力状態へ移行させる。電源制御回路331は、スキャナ・プリンタ装置電源電圧342及び通常状態用電源電圧344の通電を停止し、省電力状態用電源電圧343の通電を維持する。これにより、画像形成装置1は、省電力状態へ移行する。
【0054】
図9は、省電力状態における画像形成装置1の各部の通電状態を示す図である。電源制御回路331は、省電力状態用電源電圧343をメインCPUメモリ313、ネットワークインターフェース317及び操作部5に供給する。そして、電源制御回路331は、省電力状態用電源電圧343をメインCPU311、サブCPU321、サブCPUメモリ323及びSSD314等に供給しない。メインCPUメモリ313、ネットワークインターフェース317、操作部5、電源制御回路331及び電源ユニット340が通電状態である。その他は、非通電状態である。画像形成装置1が省電力状態である間、メインCPUメモリ313は、通電が維持されており、画像メモリ領域372内のサブCPUファームウェア352を保持する。
【0055】
図6のステップS605において、メインCPU311は、
図8(b)のように、操作部5にサブCPUファームウェア352が正常でない旨を報知する画面を表示する。そして、メインCPU311は、画像形成装置1の省電力状態への移行処理を中断する。
【0056】
画像形成装置1は、
図6の処理により、通常状態から省電力状態へ移行する。メインCPU311は、SSD314のサブCPUファームウェア352が正常でない場合には、省電力状態への移行をとりやめる。これにより、画像形成装置1の省電力状態から通常状態への復帰時に、不正なサブCPUファームウェア352がサブCPU321により実行されることを防止できる。
【0057】
図7(a)及び(b)は、画像形成装置1の省電力状態から通常状態への復帰時の処理を示すフローチャートである。
図7(a)は、メインCPU311の通常状態への復帰処理を示すフローチャートである。画像形成装置1は、省電力状態から通常状態への移行条件を満たす場合には、
図7(a)及び(b)の処理を実行する。例えば、ユーザが操作部5を操作した場合、又はネットワークインターフェース317がパケット(信号)を受信した場合、電源制御回路331は、省電力解除信号336を入力する。すると、電源制御回路331は、画像形成装置1の各部にスキャナ・プリンタ装置電源電圧342及び通常状態用電源電圧344を供給し、メインCPU311へメインCPU省電力解除信号334を出力し、メインCPU311の動作を再開させる。具体的には、電源制御回路331は、メインCPU311、メインCPUメモリ313、サブCPU321、サブCPUメモリ323及びSSD314等に通常状態用電源電圧344を供給する。動作を再開したCPU311は、
図7(a)の処理を実行する。
【0058】
ステップS701において、メインCPU311は、メインCPUファームウェア領域371内のメインCPUファームウェア351の実行を再開する。画像形成装置1が省電力状態である間も、メインCPUメモリ313は通電されており、記憶内容を保持している。メインCPU311が実行を再開するメインCPUファームウェア351は、画像形成装置1の起動時に
図5(a)のステップS503において検査されたものである。
【0059】
次に、ステップS702において、メインCPU311は、画像メモリ領域372内のサブCPUファームウェア352をサブCPUメモリ323内のサブCPUファームウェア領域373へ転送する。画像形成装置1が省電力状態である間、サブCPUメモリ323は、通電が切られているので、記憶内容を失っている。このため、再度、サブコントローラ320を動作状態にするため、メインCPU311は、サブCPUメモリ323にサブCPUファームウェア352を転送する必要がある。転送するサブCPUファームウェア352は、省電力状態への移行時に
図6のステップS602で検査されたものである。
【0060】
仮に、メインCPU311が、通常状態への復帰時に、SSD314からメインCPUメモリ313にサブCPUファームウェア352をロードし、メインCPUメモリ313からサブCPUメモリ323にサブCPUファームウェア352を転送することができる。しかし、その場合、画像形成装置1は、省電力状態から通常状態への復帰時間が長くなってしまう。
【0061】
本実施形態によれば、メインCPU311は、
図6の省電力状態への移行時に、サブCPUファームウェア352をSSD314からメインCPUメモリ313へロードする。そして、
図7(a)の通常状態への復帰時には、メインCPU311は、サブCPUファームウェア352をメインCPUメモリ313からサブCPUメモリ323へ転送を行う。これにより、画像処理装置1は、省電力状態から通常状態への復帰時間を短縮することができる。
【0062】
次に、ステップS703において、メインCPU311は、電源制御回路331を介してサブCPUリセット信号335を制御し、サブCPU321をリセット解除する。これにより、サブCPU321は、
図7(b)の処理を開始する。
【0063】
図7(b)は、省電力状態から通常状態への復帰時にサブCPU321が実行する処理を示すフローチャートである。
図7(a)のステップS703においてリセット解除されたサブCPU321は、
図7(b)の処理の実行を開始する。サブCPU321は、ステップS711〜S716の処理を行う。ステップS711〜S716の処理は、
図5(b)のステップS521〜S526の処理と同じであるので、その説明を省略する。
図7(a)及び(b)の処理により、画像形成装置1は、省電力状態から通常状態へ復帰する。
【0064】
以上のように、画像形成装置1の省電力状態から通常状態への復帰時に、サブCPU321が、検査により不正でないことが確認済みのサブCPUファームウェア352を実行することができる。これにより、画像形成装置1の起動時だけでなく、省電力状態から通常状態への復帰時においても、サブCPU321が不正なサブCPUファームウェア352を実行することを防止でき、画像形成装置1のセキュリティを向上させることができる。
【0065】
また、メインCPU311が、省電力状態への移行時に事前に、サブCPUファームウェア352の検査を行っておくことにより、不正なサブCPUファームウェア352の実行を防止でき、省電力状態から通常状態への復帰に要する時間を短縮することができる。これにより、画像形成装置1が省電力状態から通常状態への復帰の利便性が低下しないので、画像形成装置1のセキュリティと利便性とを両立することができる。また、電源制御回路331は、省電力状態では、サブコントローラ320への電源電圧の供給を停止し、消費電力を低減する。
【0066】
なお、本実施形態では、メインCPUファームウェア351及びサブCPUファームウェア352は、SSD314に格納する場合を例に説明したが、これに限定されず、ハードディスク装置6など他の不揮発性記憶媒体に格納してもよい。また、メインCPUファームウェア351とサブCPUファームウェア352は、別々の不揮発性記憶媒体に格納してもよい。
【0067】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0068】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。