"少なくとも通常動作モードと省電力モードとに動作モードを変更するモード変更手段と、前記通常動作モードにおいて、画像に関する処理を実行する第1の制御部と、前記第1の制御部が用いるデータを記憶し、前記第1の制御部がアクセス可能な不揮発性メモリと、前記不揮発性メモリへのアクセスが可能であって、前記不揮発性メモリをリフレッシュするリフレッシュ処理と前記省電力モードにおける前記通常動作モードへの復帰要因の検知とを行う第2の制御部と、を備える画像処理装置。前記不揮発性メモリへのデータの書き込み履歴を示す書き込み履歴情報を記憶部に書き込む書き込み手段を備え、前記第2の制御部は、前記第2の記憶部に記憶された前記書き込み履歴情報を用いて、前記不揮発性メモリにおける前記リフレッシュの対象領域と前記リフレッシュを行うタイミングとを決定する、請求項1に記載の画像処理装置。前記第1の制御部と前記第2の制御部とは、通信可能に接続され、前記第1の制御部は、前記不揮発性メモリへアクセスする際に、前記第2の制御部の前記リフレッシュ処理中に、前記リフレッシュ処理の中断を要求し、前記第2の制御部は、前記要求に応じて前記リフレッシュ処理を中断して中断完了を前記第1の制御部に通知し、前記第1の制御部は、前記リフレッシュ処理の中断完了の通知を受けた後、前記不揮発性メモリへアクセスし、当該アクセスが完了したらアクセス完了を前記第2の制御部へ通知し、前記第2の制御部は、前記アクセス完了の通知を受けた後に、前記リフレッシュ処理を再開する、請求項1または2に記載の画像処理装置。前記不揮発性メモリへのアクセス要求を受け付け、前記第1の制御部と前記第2の制御部との前記アクセス要求が競合した場合、前記第1の制御部による前記不揮発性メモリへのアクセスを優先して実行させる調停手段を備える請求項1または2に記載の画像処理装置。前記第1の制御部と前記第2の制御部とは、通信可能に接続され、前記第1の制御部は、前記不揮発性メモリへのアクセスの前に、前記不揮発性メモリへのアクセス要求を前記第2の制御部へ通知し、前記第2の制御部は、前記リフレッシュ処理中に前記第1の制御部から前記アクセス要求を受け付けた場合、前記第1の制御部による前記不揮発性メモリへのアクセスの前に前記リフレッシュ処理を中断する、請求項1または2に記載の画像処理装置。前記不揮発性メモリを複数備え、前記第2の制御部は、ある前記不揮発性メモリに前記第1の制御部がアクセスしている場合、前記複数の不揮発性メモリのうち前記第1の制御部がアクセス中でない不揮発性メモリに対して前記リフレッシュ処理中を行う請求項1ないし5のいずれか一項に記載の画像処理装置。しかしながら、上記従来の技術では、不揮発性メモリのリフレッシュを行う場合、その不揮発性メモリを使用するCPUがリフレッシュの制御を行うが、画像処理装置のメインCPUが不揮発性メモリのリフレッシュを行うと、画像データの処理や各種ハードウェアの制御など主要な処理に対する性能処理時間に影響が出てしまう。実際には、上記のように主要な処理の性能に影響が出てしまうため、リフレッシュ処理を行うのを諦めて、リフレッシュなしでのデータ保持期間しか得られなくなり、ある一定期間後にはデータが消失してしまうことが問題である場合が多い。本発明は、上記に鑑みてなされたものであって、第1の制御部が本来行うべき処理の性能を落とすことなく、第1の制御部によって使用される不揮発性メモリのリフレッシュを行い、長期間に渡ってデータの消失を防止することを目的とする。上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、少なくとも通常動作モードと省電力モードとに動作モードを変更するモード変更手段と、前記通常動作モードにおいて、画像に関する処理を実行する第1の制御部と、前記第1の制御部が用いるデータを記憶し、前記第1の制御部がアクセス可能な不揮発性メモリと、前記不揮発性メモリへのアクセスが可能であって、前記不揮発性メモリをリフレッシュするリフレッシュ処理と前記省電力モードにおける前記通常動作モードへの復帰要因の検知とを行う第2の制御部と、を備える。本発明によれば、省電力モードにおける通常動作モードへの復帰要因の検知を行う第2の制御部が、不揮発性メモリをリフレッシュするリフレッシュ処理を行うので、第1の制御部が本来行うべき処理の性能を落とすことなく、第1の制御部によって使用される不揮発性メモリのリフレッシュを行い、長期間に渡ってデータの消失を防止することができる。以下に添付図面を参照して、この発明にかかる画像処理装置の一実施形態を詳細に説明する。本実施形態は、以下の特徴を有する。第1の制御部としてのメインCPUが使用Read/Writeする不揮発メモリに対して、第2の制御部としてのサブCPUがアクセスしてその不揮発性メモリに対するリフレッシュ処理を行えるようにしておき、メインCPUがその不揮発性メモリを使用していないときに、サブCPUがその不揮発性メモリに対してリフレッシュ処理を行うことで、メインCPUが実行する本来の処理の性能を落とさずに不揮発性メモリのリフレッシュが行える。図1は、本実施形態の画像処理装置のシステム構成を示すブロック図である。図1に示す画像処理装置は、複写機あるいは複写機能プリンタ機能ファクシミリ機能などの多機能を有する複合機などである。画像処理装置は、画像に関する処理を行う通常動作モードと省電力モードとを少なくも有する。省電力モードは、通常動作モードに比較して電力消費量が少ない動作モードである。画像処理装置は、コントローラ100を備える。コントローラ100は、第1の制御部としてのメインCPU101と、第2の制御部としてのサブCPU201と、不揮発性メモリであるNANDFLASHMemoryModule105と、を備える。メインCPU101とサブCPU201とは、少なくとも通常動作モードと省電力モードとに動作モードを変更するモード変更手段として機能する。メインCPU101は、前記通常動作モードにおいて、画像形成のための処理を実行する。NANDFLASHMemoryModule105は、メインCPU101部が用いるデータを記憶し、メインCPU101およびサブCPU201がアクセス可能である。サブCPU201は、NANDFLASHMemoryModule105をリフレッシュするリフレッシュ処理と省電力モードにおける通常動作モードへの復帰要因の検知とを行う。ここで、コントローラ100の中では、メインCPU101が画像処理やエンジンの制御など主要な処理を行う。ただ、メインCPU101は高い処理性能が必要なので消費電力も比較的高くなっており、画像処理装置の機能が使われていない状態では電力を無駄に消費してしまう。そこで、画像処理装置の機能が使われていないときは、省電力モードに入りメインCPU101より消費電力が小さなサブCPU201で制御を行う。本実施形態では、ASIC103の中にサブCPU201を有し、省電力モード時にはサブCPU201が制御を行う。省電力モード中にサブCPU201が行う制御には復帰要因の検知があり、例えば、ネットワークインターフェース108で接続されたHOST500からの印刷要求を省電力モード中にも受け付け、受け付けた場合には省電力モードから通常モードに復帰する。また、サブCPU201は、HOST500からの印刷要求以外のパケットにも応答する必要がある。さらに、サブCPU201は、スキャナ300に設けられた圧板開閉検知センサ301もしくは原稿セット検知センサ302からの復帰信号を検知して通常モードへの復帰処理を実行する。同様に、操作部300のスイッチ301からの復帰信号も受け付ける。これらの処理は、スキャナの圧板が開かれたり原稿がセットされたり、または、操作部のスイッチが押された場合に画像処理装置が通常モードに復帰することをあらわす。次に、メインCPU101とサブCPU201の動作を詳しく説明する。まず、メインCPU101で実行されるプログラムは、I/Oチップ102に接続されるNORFLASHMemory109およびASIC103が有するSATAインターフェース205に接続されるNANDFLASHMemoryModule105に格納される。例えば、BIOSなどの容量が小さいプログラムは、NORFLASHMemory109に格納され、OSやアプリケーションなど容量が大きなプログラムは、NANDFLASHMemoryModule105に格納される構成が考えられる。そして、メインCPU101は、上述のプログラムをCPU内のキャッシュメモリや外付けされるRAM104を使用して実行する。また、プリント枚数などのカウンタ情報やその他のユーザーデータなどはASIC103のSPIインターフェース204に接続されるFRAM106に保存しても良い。一方、サブCPU201のプログラムは、ASIC103のローカルバスインターフェース202に接続されるNORFLASHMemory109に格納され、内蔵のRAM208を使用して動作する。また、ASIC103に内蔵されるメモリやインターフェースは、メインCPU101からもサブCPU201からもアクセスできるが、そのアクセスが衝突しないように、それぞれに調整手段調整機能としてのアービターが設けられている。そして、上述のような構成において、NANDFLASHMemoryModule105やFRAM106のデータ保持期間を延長させるために、本実施形態では、それらのリフレッシュ処理をサブCPU201が行う。サブCPU201は、基本的に省電力モードのときのみに処理を行い、通常モードで行うべき処理は他にないので、サブCPU201でリフレッシュ処理を行っても犠牲になる処理がないというメリットがある。また、サブCPU201がNANDFLASHMemoryModule105やFRAM106のリフレッシュを行っている最中に、メインCPU101がそれらのメモリにアクセスする必要が生じた場合、メインCPU101の処理の方が本来行われるべきものなので、例えばアービターによってメインCPU101の処理を優先的に選択して実行する構成が考えられる。このように、本実施形態では、アービターで優先度を設定してサブCPU201のアクセスを制限する。図2は、不揮発性メモリの書き換え回数とデータ保持期間との関係性を示すグラフである。NANDFLASHMemoryやFRAMはデータ保持期間が有限であり、その期間を延長するためにリフレッシュ処理を行うことが知られている。例えば、NANDFLASHMemoryでは、図2のように書き込み/消去回数が増えるとデータ保持期間が短くなる。データ保持期間と書き込み/消去回数はNANDFLASHMemoryの構造やプロセスの微細化度によって異なる。一般的なSLCでは書き込み/消去回数は10万回程度許されており、1万回程度であればデータ保持期間は10年間程度となっている。保持期間が10年というのは、一度書き込んだデータが、放置されていても10年間保持されるということである。そして、書き込み/消去回数が増えていくと保持期間が短くなっていく。ただ、書き込み/消去回数が増えて、例えば、データ保持期間が1年になったとしても、その1年以内にデータのリフレッシュを行えば、その時点からまた1年間データ保持されることになる。つまり、適切なタイミングでリフレッシュを行うことができれば、半永久的にデータを保持することができる。そのリフレッシュ処理にも色々な方法があるが、基本的にはデータをリードして同じデータを書き込む再書き込みする方法がある。また、そのリードライトをホストであるCPUが行っても良いが、NANDFLASHMemoryModule内のコントローラICがリフレッシュコマンドを受け取ったらそのリードライト動作を行うという方法でも良い。また、リフレッシュ処理を行っても書き込み/消去回数が増えてしまうので、リフレッシュ処理は必要最低限の回数にするのが良い。例えば、書き込み/消去回数を記憶しておき、それに対応したデータ保持期間を判断して、適切なタイミングでリフレッシュ処理を行う方法などがある。具体的には、記憶している書き込み/消去回数が1万回以内のときにメモリのデータ保持期間が10年だとすると10年間隔でリフレッシュ処理を行うが、書き込み/消去回数が10万回に近づきメモリのデータ保持期間が1年になったとすると1年間隔でリフレッシュ処理を行うのが良い。上述のように適切なタイミングでリフレッシュを行うためには、それぞれのデータに対して最後に書き込んだ時刻を保存しておくのが良い。NANDFLASHMemoryModule105やFRAM106などに保存するデータのマッピングを予め決めておいて、それぞれにDATA0から番号をつけたとすると、NANDFLASHMemoryModule105もしくはFRAM106に図3のような最終書き込み時刻を記録しておくのが良い。次に、サブCPU201がプログラムに従って実行するリフレッシュ制御処理を図4を参照して説明する。ここで、図4は、リフレッシュ制御処理の一例を示すフローチャートである。リフレッシュ制御処理は、概略的には、サブCPU201が、その最終書き込み時刻を定期的に読んで今の時刻と比較し、予め設定しておいた時刻が経過していたら、そのデータの領域をリフレッシュする処理である。図4に示すように、サブCPU201、値Xを初期値として-1に設定するステップS101。次に、サブCPU201は、値Xに1を加えるステップS1022。次に、サブCPU201は、DATAXの書き込み時刻を読み込み、現在の時刻と比較するステップS103。そして、現在の時刻が予め設定されている時刻が経過している場合ステップS104のYes、DATAXのデータ領域をリフレッシュするステップS105。そして、ステップS106に進む。一方、現在の時刻が予め設定されている時刻が経過していない場合ステップS104のNo、DATAXのデータ領域をリフレッシュせずに、ステップS106に進む。ステップS6では、サブCPU201は、値Xが最終データ番号であるか否かを判定し、値Xが最終データ番号である場合には、処理を終了する。一方、サブCPU201は、値Xが最終データ番号でない場合には、ステップS102に戻って再びステップS103以降の処理を行う。ここで、予め設定しておく経過時間は書き込み/消去回数から適切に決定するのが良い。例えば、書き込み/消去回数によって決まるデータ保持期間から少し余裕をもって80に設定することなどが考えられる。図5は、リフレッシュ中断処理の一例を示すシーケンス図である。図5は、サブCPU201がNANDFLASHMemoryModule105やFRAM106などのメモリに対してリフレッシュを行っているときに、メインCPU101が本来の処理の中でそのメモリに書き込む必要が出た場合についての例である。サブCPU201がリフレッシュ処理を行っているステップS201,S202,203途中で、メインCPU101は、サブCPU201にリフレッシュ中断要求を送りステップS204、それを受け取ったサブCPU201はリフレッシュを中断し中断完了通知をメインCPU101に返すステップS206。そして、中断完了通知を受け取ったメインCPU101は、メモリに書き込みを行い、メモリから書き込み完了通知が返ってきたらステップS208、サブCPU201に対してリフレッシュ許可通知を送るステップS209。リフレッシュ許可通知を受け取ったサブCPU201は、リフレッシュ処理を再開するステップS210,211,212。ここで、メインCPU101が、いざNANDFLASHMemoryModule105やFRAM106にアクセスするタイミングで、サブCPU201にリフレッシュ中断要求を送ると、そこからサブCPU201から中断完了通知が返ってくるのを待つ必要があり無駄に時間を費やしてしまう。それを防ぐために、例えば、メインCPU101は、近いうちにNANDFLASHMemoryModule105やFRAM106にアクセスすることがわかった時点で、予めサブCPU201にリフレッシュ中断要求を送ると良い。ここで、リフレッシュするべきメモリが2個以上ある場合、メインCPU101がアクセスするためにリフレッシュ中断要求を受け取ったサブCPU201はそのメモリに対するリフレッシュを中断しても、別のメモリのリフレッシュ処理を行うのが良い。このときの処理を図6を参照して以下にする。図6は、複数の不揮発性メモリに対するリフレッシュ制御の一例を示すシーケンス図である。サブCPU201が第1のメモリに対してリフレッシュ処理を行っているステップS301,S302,303,305途中で、メインCPU101は、サブCPU201にリフレッシュ中断要求を送るステップS304。リフレッシュ中断要求を受け取ったサブCPU201は、第1のメモリに対するリフレッシュ処理を中断し中断完了通知をメインCPU101に返すステップS306。そして、サブCPU201は、第2のメモリに対してリフレッシュ処理を開始するステップS307。一方、メインCPU101は、サブCPU201から中断完了通知を受け取ったならば、第1のメモリに対してアクセス例えばデータの書き込みをするステップS308。そして、メインCPU101は、メモリから書き込み完了通知が返ってきたらステップS310、サブCPU201に対してリフレッシュ許可通知を送るステップS312。リフレッシュ許可通知を受け取ったサブCPU201は、第1のメモリへのリフレッシュ処理を再開するステップS313,314,315。ここで、サブCPU201は、省電力モードのときに処理を行うが、通常モード時にはリフレッシュ以外の処理は行わない。なお、メインCPU101はずっとメモリを占有することは有り得ないので、基本的にメインCPU101のアクセス中はリフレッシュを行わないようになっている。つまり、本実施形態では、メインCPU101のアクセスが優先されている。そのため、リフレッシュを実施するタイミングは、データ保持期限から少し余裕を持ったところで判断することが好適である。また、サブCPU201のリフレッシュ中にメインCPUがリフレッシュを中断させても、メインCPU101がずっとメモリを占有することは有り得ないので、問題なくサブCPU201がリフレッシュ処理を再開することができる。以上のとおり、本実施形態の画像処理装置は、画像処理やエンジンの制御を行うメインCPU101と、省電力モード時に復帰要因検知を行うサブCPU201と、メインCPU101が書き込み/読み出しアクセスを行う不揮発性メモリと、を備える画像処理装置であって、不揮発性メモリに対してメインCPU101とサブCPU201の両方が読み出し/書き込みを実行でき、サブCPU201がリフレッシュ処理を行う。したがって、メインCPU101の処理時間に影響を与えないで、不揮発性メモリのリフレッシュデータ保持期間の延長を行うことができる。つまり、メインCPU101が使用する不揮発メモリに対して、サブCPU201がアクセスできる=リフレッシュを行えるようにしておき、メインCPU101がその不揮発性メモリを使用していないときに、サブCPU201がそのメモリをリフレッシュするので、メインCPU101が実行する処理の性能を落とさずに不揮発性メモリのリフレッシュが行える。また、サブCPU201がリフレッシュを行っている最中に、メインCPU101がその不揮発性メモリにアクセスする必要が出た場合にも、サブCPU201は瞬時にリフレッシュ処理を中断して不揮発性メモリをメインCPU101に対して開放するので、メインCPU101が実行する処理の性能が落ちない。また、本実施形態では、書き換え時間を記録しておき、その情報をもとに、適切にリフレッシュを行う領域とタイミングを決定する。このとき、メインCPU101とサブCPU201とがあるメモリを共有している。つまり、画像処理装置は、メインCPU101とサブCPU201が共有する記憶手段を備え、メインCPU101およびサブCPU201の不揮発性メモリに対する書き込み履歴情報をその記憶手段に書き込み、サブCPU201は履歴情報にもとづいてリフレッシュする領域とタイミングを決定する。したがって、リフレッシュを無駄に行わないで済み、結果的に、不揮発性メモリの寿命劣化を防ぐことができる。また、本実施形態では、メインCPU101とサブCPU201の不揮発性メモリへのアクセスがぶつからないようにしているハンドシェーク。即ち、画像処理装置は、メインCPU101とサブCPU201を接続する通信手段を備え、メインCPU101が、サブCPU201のリフレッシュ処理途中に、不揮発性メモリに読み出し/書き込みする際に、サブCPU201にリフレッシュ中断を要求し、サブCPU201はリフレッシュ処理が中断されたら中断完了をメインCPU101に通知し、その後にメインCPU101が不揮発性メモリに読み出し/書き込みし、それが完了したらサブCPU201に通知し、その後、サブCPU201がリフレッシュ処理を再開する。したがって、サブCPU201がリフレッシュしている最中でも、メインCPU101は不揮発性メモリにアクセスすることができる。このときの、待ち時間は、比較的に小さい。画像処理装置は、メインCPU101とサブCPU201の不揮発性メモリへのアクセスがぶつからないようにしているアービトレーション。即ち、メインCPU101とサブCPU201の不揮発性メモリへの読み出し/書き込み要求に対して調停を行う調停手段アービターを備え、調停手段は、メインCPU101からの要求があった場合に、必ずサブCPU201の要求ではなくメインCPU101からの要求を選択して実行する。したがって、サブCPU201がリフレッシュしている最中でも、メインCPU101は不揮発性メモリにアクセスすることができる。このときの待ち時間は、極小である。画像処理装置は、メインCPU101とサブCPU201の不揮発性メモリへのアクセスがぶつからないようにしいる事前通知。即ち、画像処理装置は、メインCPU101とサブCPU201とを接続する通信手段を備え、メインCPU101が、事前に、不揮発性メモリへの読み出し/書き込み要求をサブCPU201に通知し、サブCPU201はメインCPU101の読み出し/書き込み開始前にリフレッシュ処理を中断しておく。したがって、サブCPU201がリフレッシュしている最中でも、メインCPU101は不揮発性メモリにアクセスすることができる。この場合、待ち時間は無い。また、画像処理装置では、リフレッシュすべき不揮発性メモリが複数ある場合、サブCPU201は、メインCPU101がアクセスしていない方の不揮発性メモリをリフレッシュする。つまり、メインCPU101が書き込み/読み出しを行う不揮発性メモリを複数備え、メインCPU101が不揮発性メモリに対して読み出し/書き込みを行っている間は、サブCPU201は別の不揮発性メモリのリフレッシュを行う。したがって、メインCPU101が不揮発性メモリにアクセスしている最中でも、サブCPU201はリフレッシュ処理を行うことができる。なお、本実施形態の画像処理装置で実行するプログラムは、ROM等に予め組み込まれて提供される。本実施形態の画像処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスクFD、CD-R、DVDDigitalVersatileDisk等のコンピュータで読み取り可能な記憶媒体に記録して提供するように構成してもよい。さらに、本実施形態の画像処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のプロジェクタ10で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。本実施形態の画像処理装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。メインCPU101やサブCPU201がROM等からプログラムをRAM上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。"