(57)【特許請求の範囲】
【請求項１】
少なくとも通常動作モードと省電力モードとに動作モードを変更するモード変更手段と、
前記通常動作モードにおいて、画像に関する処理を実行する第１の制御部と、
前記第１の制御部が用いるデータを記憶し、前記第１の制御部がアクセス可能な不揮発性メモリと、
前記不揮発性メモリへのアクセスが可能であって、前記不揮発性メモリをリフレッシュするリフレッシュ処理と前記省電力モードにおける前記通常動作モードへの復帰要因の検知とを行う第２の制御部と、
を備える画像処理装置。
【請求項２】
前記不揮発性メモリへのデータの書き込み履歴を示す書き込み履歴情報を記憶部に書き込む書き込み手段を備え、
前記第２の制御部は、前記記憶部に記憶された前記書き込み履歴情報を用いて、前記不揮発性メモリにおける前記リフレッシュの対象領域と前記リフレッシュを行うタイミングとを決定する、請求項１に記載の画像処理装置。
【請求項３】
前記第１の制御部と前記第２の制御部とは、通信可能に接続され、
前記第１の制御部は、前記不揮発性メモリへアクセスする際に、前記第２の制御部の前記リフレッシュ処理中に、前記リフレッシュ処理の中断を要求し、
前記第２の制御部は、前記要求に応じて前記リフレッシュ処理を中断して中断完了を前記第１の制御部に通知し、
前記第１の制御部は、前記リフレッシュ処理の中断完了の通知を受けた後、前記不揮発性メモリへアクセスし、当該アクセスが完了したらアクセス完了を前記第２の制御部へ通知し、
前記第２の制御部は、前記アクセス完了の通知を受けた後に、前記リフレッシュ処理を再開する、請求項１または２に記載の画像処理装置。
【請求項４】
前記不揮発性メモリへのアクセス要求を受け付け、前記第１の制御部と前記第２の制御部との前記アクセス要求が競合した場合、前記第１の制御部による前記不揮発性メモリへのアクセスを優先して実行させる調停手段を備える請求項１または２に記載の画像処理装置。
【請求項５】
前記第１の制御部と前記第２の制御部とは、通信可能に接続され、
前記第１の制御部は、前記不揮発性メモリへのアクセスの前に、前記不揮発性メモリへのアクセス要求を前記第２の制御部へ通知し、
前記第２の制御部は、前記リフレッシュ処理中に前記第１の制御部から前記アクセス要求を受け付けた場合、前記第１の制御部による前記不揮発性メモリへのアクセスの前に前記リフレッシュ処理を中断する、請求項１または２に記載の画像処理装置。
【請求項６】
前記不揮発性メモリを複数備え、
前記第２の制御部は、ある前記不揮発性メモリに前記第１の制御部がアクセスしている場合、前記複数の不揮発性メモリのうち前記第１の制御部がアクセス中でない不揮発性メモリに対して前記リフレッシュ処理を行う請求項１ないし５のいずれか一項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
従来、ＭＦＰなど画像処理装置のコントローラでは、通常動作モードと省電力モードを有しており、通常動作時に画像データの処理や各種ハードウェアの制御を行うメインＣＰＵと、省電力モード時に通常動作への復帰イベントを監視するようなサブＣＰＵが存在することが既に知られている。復帰イベントは、電源ボタン押下やネットワークからの印刷要求などである。
【０００３】
省電力モード時には、処理能力が高い、つまり消費電力が大きいメインＣＰＵを電源ＯＦＦするために、消費電力の小さいサブＣＰＵを使用する。
【０００４】
また、そのコントローラにも備えられているフラッシュメモリやFRAMなどの不揮発性メモリは、データ保持期間が有限であり（その保持特性をデータリテンション特性などと呼ぶ）、定期的にデータを書き直すなどしてデータ消失を防ぐ（リフレッシュする）技術が知られている。昨今、ＭＦＰは、環境負荷低減のために長寿命化を狙う必要があり、そのためにはデータ保持期間もより長くしていく必要があり、それには不揮発性メモリのリフレッシュが有効である。
【０００５】
特許文献１には、不揮発性メモリのデータ保持期間を延長する目的で、ＣＰＵが不揮発性メモリに対して、経過時間や温度情報にもとづいて、リフレッシュ処理を行う構成および方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術では、不揮発性メモリのリフレッシュを行う場合、その不揮発性メモリを使用するＣＰＵがリフレッシュの制御を行うが、画像処理装置のメインＣＰＵが不揮発性メモリのリフレッシュを行うと、画像データの処理や各種ハードウェアの制御など主要な処理に対する性能（処理時間）に影響が出てしまう。
【０００７】
実際には、上記のように主要な処理の性能に影響が出てしまうため、リフレッシュ処理を行うのを諦めて、リフレッシュなしでのデータ保持期間しか得られなくなり、ある一定期間後にはデータが消失してしまうことが問題である場合が多い。
【０００８】
本発明は、上記に鑑みてなされたものであって、第１の制御部が本来行うべき処理の性能を落とすことなく、第１の制御部によって使用される不揮発性メモリのリフレッシュを行い、長期間に渡ってデータの消失を防止することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、少なくとも通常動作モードと省電力モードとに動作モードを変更するモード変更手段と、前記通常動作モードにおいて、画像に関する処理を実行する第１の制御部と、前記第１の制御部が用いるデータを記憶し、前記第１の制御部がアクセス可能な不揮発性メモリと、前記不揮発性メモリへのアクセスが可能であって、前記不揮発性メモリをリフレッシュするリフレッシュ処理と前記省電力モードにおける前記通常動作モードへの復帰要因の検知とを行う第２の制御部と、を備える。
【発明の効果】
【００１０】
本発明によれば、省電力モードにおける通常動作モードへの復帰要因の検知を行う第２の制御部が、不揮発性メモリをリフレッシュするリフレッシュ処理を行うので、第１の制御部が本来行うべき処理の性能を落とすことなく、第１の制御部によって使用される不揮発性メモリのリフレッシュを行い、長期間に渡ってデータの消失を防止することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、一実施形態の画像処理装置のシステム構成を示すブロック図である。
【図２】図２は、不揮発性メモリの書き換え回数とデータ保持期間との関係性を示すグラフである。
【図３】図３は、書き込み履歴情報のフォーマットを示す図である。
【図４】図４は、リフレッシュ制御処理の一例を示すフローチャートである。
【図５】図５は、リフレッシュ中断処理の一例を示すシーケンス図である。
【図６】図６は、複数の不揮発性メモリに対するリフレッシュ制御の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明にかかる画像処理装置の一実施形態を詳細に説明する。
【００１３】
本実施形態は、以下の特徴を有する。第１の制御部としてのメインＣＰＵが使用（Ｒｅａｄ／Ｗｒｉｔｅ）する不揮発メモリに対して、第２の制御部としてのサブＣＰＵがアクセスしてその不揮発性メモリに対するリフレッシュ処理を行えるようにしておき、メインＣＰＵがその不揮発性メモリを使用していないときに、サブＣＰＵがその不揮発性メモリに対してリフレッシュ処理を行うことで、メインＣＰＵが実行する本来の処理の性能を落とさずに不揮発性メモリのリフレッシュが行える。
【００１４】
図１は、本実施形態の画像処理装置のシステム構成を示すブロック図である。図１に示す画像処理装置は、複写機あるいは複写機能・プリンタ機能・ファクシミリ機能などの多機能を有する複合機などである。
【００１５】
画像処理装置は、画像に関する処理を行う通常動作モードと省電力モードとを少なくも有する。省電力モードは、通常動作モードに比較して電力消費量が少ない動作モードである。
【００１６】
画像処理装置は、コントローラ１００を備える。コントローラ１００は、第１の制御部としてのメインＣＰＵ１０１と、第２の制御部としてのサブＣＰＵ２０１と、不揮発性メモリであるＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５と、を備える。メインＣＰＵ１０１とサブＣＰＵ２０１とは、少なくとも通常動作モードと省電力モードとに動作モードを変更するモード変更手段として機能する。
【００１７】
メインＣＰＵ１０１は、前記通常動作モードにおいて、画像形成のための処理を実行する。
【００１８】
ＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５は、メインＣＰＵ１０１部が用いるデータを記憶し、メインＣＰＵ１０１およびサブＣＰＵ２０１がアクセス可能である。
【００１９】
サブＣＰＵ２０１は、ＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５をリフレッシュするリフレッシュ処理と省電力モードにおける通常動作モードへの復帰要因の検知とを行う。
【００２０】
ここで、コントローラ１００の中では、メインＣＰＵ１０１が画像処理やエンジンの制御など主要な処理を行う。ただ、メインＣＰＵ１０１は高い処理性能が必要なので消費電力も比較的高くなっており、画像処理装置の機能が使われていない状態では電力を無駄に消費してしまう。そこで、画像処理装置の機能が使われていないときは、省電力モードに入りメインＣＰＵ１０１より消費電力が小さなサブＣＰＵ２０１で制御を行う。
【００２１】
本実施形態では、ＡＳＩＣ１０３の中にサブＣＰＵ２０１を有し、省電力モード時にはサブＣＰＵ２０１が制御を行う。省電力モード中にサブＣＰＵ２０１が行う制御には復帰要因の検知があり、例えば、ネットワークインターフェース１０８で接続されたＨＯＳＴ５００からの印刷要求を省電力モード中にも受け付け、受け付けた場合には省電力モードから通常モードに復帰する。また、サブＣＰＵ２０１は、ＨＯＳＴ５００からの印刷要求以外のパケットにも応答する必要がある。さらに、サブＣＰＵ２０１は、スキャナ３００に設けられた圧板開閉検知センサ３０１もしくは原稿セット検知センサ３０２からの復帰信号を検知して通常モードへの復帰処理を実行する。同様に、操作部３００のスイッチ３０１からの復帰信号も受け付ける。これらの処理は、スキャナの圧板が開かれたり原稿がセットされたり、または、操作部のスイッチが押された場合に画像処理装置が通常モードに復帰することをあらわす。
【００２２】
次に、メインＣＰＵ１０１とサブＣＰＵ２０１の動作を詳しく説明する。
【００２３】
まず、メインＣＰＵ１０１で実行されるプログラムは、Ｉ／Ｏチップ１０２に接続されるＮＯＲ  ＦＬＡＳＨ  Memory１０９およびＡＳＩＣ１０３が有するＳＡＴＡインターフェース２０５に接続されるＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５に格納される。例えば、ＢＩＯＳなどの容量が小さいプログラムは、ＮＯＲ  ＦＬＡＳＨ  Memory１０９に格納され、ＯＳやアプリケーションなど容量が大きなプログラムは、ＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５に格納される構成が考えられる。そして、メインＣＰＵ１０１は、上述のプログラムをＣＰＵ内のキャッシュメモリや外付けされるＲＡＭ１０４を使用して実行する。また、プリント枚数などのカウンタ情報やその他のユーザーデータなどはＡＳＩＣ１０３のＳＰＩインターフェース２０４に接続されるＦＲＡＭ１０６に保存しても良い。
【００２４】
一方、サブＣＰＵ２０１のプログラムは、ＡＳＩＣ１０３のローカルバスインターフェース２０２に接続されるＮＯＲ  ＦＬＡＳＨ  Memory１０９に格納され、内蔵のRAM２０８を使用して動作する。
【００２５】
また、ＡＳＩＣ１０３に内蔵されるメモリやインターフェースは、メインＣＰＵ１０１からもサブＣＰＵ２０１からもアクセスできるが、そのアクセスが衝突しないように、それぞれに調整手段（調整機能）としてのアービターが設けられている。
【００２６】
そして、上述のような構成において、ＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５やＦＲＡＭ１０６のデータ保持期間を延長させるために、本実施形態では、それらのリフレッシュ処理をサブＣＰＵ２０１が行う。サブＣＰＵ２０１は、基本的に省電力モードのときのみに処理を行い、通常モードで行うべき処理は他にないので、サブＣＰＵ２０１でリフレッシュ処理を行っても犠牲になる処理がないというメリットがある。
【００２７】
また、サブＣＰＵ２０１がＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５やＦＲＡＭ１０６のリフレッシュを行っている最中に、メインＣＰＵ１０１がそれらのメモリにアクセスする必要が生じた場合、メインＣＰＵ１０１の処理の方が本来行われるべきものなので、例えばアービターによってメインＣＰＵ１０１の処理を優先的に選択して実行する構成が考えられる。このように、本実施形態では、アービターで優先度を設定してサブＣＰＵ２０１のアクセスを制限する。
【００２８】
図２は、不揮発性メモリの書き換え回数とデータ保持期間との関係性を示すグラフである。ＮＡＮＤ  ＦＬＡＳＨ  Memory  やＦＲＡＭはデータ保持期間が有限であり、その期間を延長するためにリフレッシュ処理を行うことが知られている。例えば、ＮＡＮＤ  ＦＬＡＳＨ  Memoryでは、図２のように書き込み／消去回数が増えるとデータ保持期間が短くなる。データ保持期間と書き込み／消去回数はＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙの構造やプロセスの微細化度によって異なる。一般的なＳＬＣでは書き込み／消去回数は10万回程度許されており、１万回程度であればデータ保持期間は１０年間程度となっている。保持期間が１０年というのは、一度書き込んだデータが、放置されていても１０年間保持されるということである。そして、書き込み／消去回数が増えていくと保持期間が短くなっていく。ただ、書き込み／消去回数が増えて、例えば、データ保持期間が１年になったとしても、その１年以内にデータのリフレッシュを行えば、その時点からまた１年間データ保持されることになる。つまり、適切なタイミングでリフレッシュを行うことができれば、半永久的にデータを保持することができる。そのリフレッシュ処理にも色々な方法があるが、基本的にはデータをリードして同じデータを書き込む（再書き込みする）方法がある。また、そのリードライトをホストであるＣＰＵが行っても良いが、ＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ内のコントローラＩＣがリフレッシュコマンドを受け取ったらそのリードライト動作を行うという方法でも良い。
【００２９】
また、リフレッシュ処理を行っても書き込み／消去回数が増えてしまうので、リフレッシュ処理は必要最低限の回数にするのが良い。例えば、書き込み／消去回数を記憶しておき、それに対応したデータ保持期間を判断して、適切なタイミングでリフレッシュ処理を行う方法などがある。具体的には、記憶している書き込み／消去回数が１万回以内のときにメモリのデータ保持期間が１０年だとすると１０年間隔でリフレッシュ処理を行うが、書き込み／消去回数が10万回に近づきメモリのデータ保持期間が１年になったとすると１年間隔でリフレッシュ処理を行うのが良い。
【００３０】
上述のように適切なタイミングでリフレッシュを行うためには、それぞれのデータに対して最後に書き込んだ時刻を保存しておくのが良い。ＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５やＦＲＡＭ１０６などに保存するデータのマッピングを予め決めておいて、それぞれにＤＡＴＡ０から番号をつけたとすると、ＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５もしくはＦＲＡＭ１０６に図３のような最終書き込み時刻を記録しておくのが良い。
【００３１】
次に、サブＣＰＵ２０１がプログラムに従って実行するリフレッシュ制御処理を図４を参照して説明する。ここで、図４は、リフレッシュ制御処理の一例を示すフローチャートである。リフレッシュ制御処理は、概略的には、サブＣＰＵ２０１が、その最終書き込み時刻を定期的に読んで今の時刻と比較し、予め設定しておいた時刻が経過していたら、そのデータの領域をリフレッシュする処理である。
【００３２】
図４に示すように、サブＣＰＵ２０１、値Ｘを初期値として「−１」に設定する（ステップＳ１０１）。次に、サブＣＰＵ２０１は、値Ｘに「１」を加える（ステップＳ１０２２）。
【００３３】
次に、サブＣＰＵ２０１は、ＤＡＴＡ「Ｘ」の書き込み時刻を読み込み、現在の時刻と比較する（ステップＳ１０３）。そして、現在の時刻が予め設定されている時刻が経過している場合（ステップＳ１０４のＹｅｓ）、ＤＡＴＡ「Ｘ」のデータ領域をリフレッシュする（ステップＳ１０５）。そして、ステップＳ１０６に進む。一方、現在の時刻が予め設定されている時刻が経過していない場合（ステップＳ１０４のＮｏ）、ＤＡＴＡ「Ｘ」のデータ領域をリフレッシュせずに、ステップＳ１０６に進む。
【００３４】
ステップＳ６では、サブＣＰＵ２０１は、値「Ｘ」が最終データ番号であるか否かを判定し、値「Ｘ」が最終データ番号である場合には、処理を終了する。一方、サブＣＰＵ２０１は、値「Ｘ」が最終データ番号でない場合には、ステップＳ１０２に戻って再びステップＳ１０３以降の処理を行う。
【００３５】
ここで、予め設定しておく経過時間は書き込み／消去回数から適切に決定するのが良い。例えば、書き込み／消去回数によって決まるデータ保持期間から少し余裕をもって８０％に設定することなどが考えられる。
【００３６】
図５は、リフレッシュ中断処理の一例を示すシーケンス図である。図５は、サブＣＰＵ２０１がＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５やＦＲＡＭ１０６などのメモリに対してリフレッシュを行っているときに、メインＣＰＵ１０１が本来の処理の中でそのメモリに書き込む必要が出た場合についての例である。
【００３７】
サブＣＰＵ２０１がリフレッシュ処理を行っている（ステップＳ２０１，Ｓ２０２，２０３）途中で、メインＣＰＵ１０１は、サブＣＰＵ２０１にリフレッシュ中断要求を送り（ステップＳ２０４）、それを受け取ったサブＣＰＵ２０１はリフレッシュを中断し中断完了通知をメインＣＰＵ１０１に返す（ステップＳ２０６）。
【００３８】
そして、中断完了通知を受け取ったメインＣＰＵ１０１は、メモリに書き込みを行い、メモリから書き込み完了通知が返ってきたら（ステップＳ２０８）、サブＣＰＵ２０１に対してリフレッシュ許可通知を送る（ステップＳ２０９）。
【００３９】
リフレッシュ許可通知を受け取ったサブＣＰＵ２０１は、リフレッシュ処理を再開する（ステップＳ２１０，２１１，２１２）。
【００４０】
ここで、メインＣＰＵ１０１が、いざＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５やＦＲＡＭ１０６にアクセスするタイミングで、サブＣＰＵ２０１にリフレッシュ中断要求を送ると、そこからサブＣＰＵ２０１から中断完了通知が返ってくるのを待つ必要があり無駄に時間を費やしてしまう。それを防ぐために、例えば、メインＣＰＵ１０１は、近いうちにＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ１０５やＦＲＡＭ１０６にアクセスすることがわかった時点で、予めサブＣＰＵ２０１にリフレッシュ中断要求を送ると良い。
【００４１】
ここで、リフレッシュするべきメモリが２個以上ある場合、メインＣＰＵ１０１がアクセスするためにリフレッシュ中断要求を受け取ったサブＣＰＵ２０１はそのメモリに対するリフレッシュを中断しても、別のメモリのリフレッシュ処理を行うのが良い。
【００４２】
このときの処理を図６を参照して以下にする。図６は、複数の不揮発性メモリに対するリフレッシュ制御の一例を示すシーケンス図である。
【００４３】
サブＣＰＵ２０１が第１のメモリに対してリフレッシュ処理を行っている（ステップＳ３０１，Ｓ３０２，３０３，３０５）途中で、メインＣＰＵ１０１は、サブＣＰＵ２０１にリフレッシュ中断要求を送る（ステップＳ３０４）。
【００４４】
リフレッシュ中断要求を受け取ったサブＣＰＵ２０１は、第１のメモリに対するリフレッシュ処理を中断し中断完了通知をメインＣＰＵ１０１に返す（ステップＳ３０６）。そして、サブＣＰＵ２０１は、第２のメモリに対してリフレッシュ処理を開始する（ステップＳ３０７）。
【００４５】
一方、メインＣＰＵ１０１は、サブＣＰＵ２０１から中断完了通知を受け取ったならば、第１のメモリに対してアクセス（例えばデータの書き込み）をする（ステップＳ３０８）。そして、メインＣＰＵ１０１は、メモリから書き込み完了通知が返ってきたら（ステップＳ３１０）、サブＣＰＵ２０１に対してリフレッシュ許可通知を送る（ステップＳ３１２）。
【００４６】
リフレッシュ許可通知を受け取ったサブＣＰＵ２０１は、第１のメモリへのリフレッシュ処理を再開する（ステップＳ３１３，３１４，３１５）。
【００４７】
ここで、サブＣＰＵ２０１は、省電力モードのときに処理を行うが、通常モード時にはリフレッシュ以外の処理は行わない。
【００４８】
なお、メインＣＰＵ１０１はずっとメモリを占有することは有り得ないので、基本的にメインＣＰＵ１０１のアクセス中はリフレッシュを行わないようになっている。つまり、本実施形態では、メインＣＰＵ１０１のアクセスが優先されている。そのため、リフレッシュを実施するタイミングは、データ保持期限から少し余裕を持ったところで判断することが好適である。
【００４９】
また、サブＣＰＵ２０１のリフレッシュ中にメインＣＰＵがリフレッシュを中断させても、メインＣＰＵ１０１がずっとメモリを占有することは有り得ないので、問題なくサブＣＰＵ２０１がリフレッシュ処理を再開することができる。
【００５０】
以上のとおり、本実施形態の画像処理装置は、画像処理やエンジンの制御を行うメインＣＰＵ１０１と、省電力モード時に復帰要因検知を行うサブＣＰＵ２０１と、メインＣＰＵ１０１が書き込み／読み出し（アクセス）を行う不揮発性メモリと、を備える画像処理装置であって、不揮発性メモリに対してメインＣＰＵ１０１とサブＣＰＵ２０１の両方が読み出し／書き込みを実行でき、サブＣＰＵ２０１がリフレッシュ処理を行う。したがって、メインＣＰＵ１０１の処理時間に影響を与えないで、不揮発性メモリのリフレッシュ（データ保持期間の延長）を行うことができる。
【００５１】
つまり、メインＣＰＵ１０１が使用する不揮発メモリに対して、サブＣＰＵ２０１がアクセスできる（＝リフレッシュを行える）ようにしておき、メインＣＰＵ１０１がその不揮発性メモリを使用していないときに、サブＣＰＵ２０１がそのメモリをリフレッシュするので、メインＣＰＵ１０１が実行する処理の性能を落とさずに不揮発性メモリのリフレッシュが行える。また、サブＣＰＵ２０１がリフレッシュを行っている最中に、メインＣＰＵ１０１がその不揮発性メモリにアクセスする必要が出た場合にも、サブＣＰＵ２０１は瞬時にリフレッシュ処理を中断して不揮発性メモリをメインＣＰＵ１０１に対して開放するので、メインＣＰＵ１０１が実行する処理の性能が落ちない。
【００５２】
また、本実施形態では、書き換え時間を記録しておき、その情報をもとに、適切にリフレッシュを行う領域とタイミングを決定する。このとき、メインＣＰＵ１０１とサブＣＰＵ２０１とがあるメモリを共有している。つまり、画像処理装置は、メインＣＰＵ１０１とサブＣＰＵ２０１が共有する記憶手段を備え、メインＣＰＵ１０１およびサブＣＰＵ２０１の不揮発性メモリに対する書き込み履歴情報をその記憶手段に書き込み、サブＣＰＵ２０１は履歴情報にもとづいてリフレッシュする領域とタイミングを決定する。したがって、リフレッシュを無駄に行わないで済み、結果的に、不揮発性メモリの寿命劣化を防ぐことができる。
【００５３】
また、本実施形態では、メインＣＰＵ１０１とサブＣＰＵ２０１の不揮発性メモリへのアクセスがぶつからないようにしている（ハンドシェーク）。即ち、画像処理装置は、メインＣＰＵ１０１とサブＣＰＵ２０１を接続する通信手段を備え、メインＣＰＵ１０１が、サブＣＰＵ２０１のリフレッシュ処理途中に、不揮発性メモリに読み出し／書き込みする際に、サブＣＰＵ２０１にリフレッシュ中断を要求し、サブＣＰＵ２０１はリフレッシュ処理が中断されたら中断完了をメインＣＰＵ１０１に通知し、その後にメインＣＰＵ１０１が不揮発性メモリに読み出し／書き込みし、それが完了したらサブＣＰＵ２０１に通知し、その後、サブＣＰＵ２０１がリフレッシュ処理を再開する。したがって、サブＣＰＵ２０１がリフレッシュしている最中でも、メインＣＰＵ１０１は不揮発性メモリにアクセスすることができる。このときの、待ち時間は、比較的に小さい。
【００５４】
画像処理装置は、メインＣＰＵ１０１とサブＣＰＵ２０１の不揮発性メモリへのアクセスがぶつからないようにしている（アービトレーション）。即ち、メインＣＰＵ１０１とサブＣＰＵ２０１の不揮発性メモリへの読み出し／書き込み要求に対して調停を行う調停手段（アービター）を備え、調停手段は、メインＣＰＵ１０１からの要求があった場合に、必ずサブＣＰＵ２０１の要求ではなくメインＣＰＵ１０１からの要求を選択して実行する。したがって、サブＣＰＵ２０１がリフレッシュしている最中でも、メインＣＰＵ１０１は不揮発性メモリにアクセスすることができる。このときの待ち時間は、極小である。
【００５５】
画像処理装置は、メインＣＰＵ１０１とサブＣＰＵ２０１の不揮発性メモリへのアクセスがぶつからないようにしいる（事前通知）。即ち、画像処理装置は、メインＣＰＵ１０１とサブＣＰＵ２０１とを接続する通信手段を備え、メインＣＰＵ１０１が、事前に、不揮発性メモリへの読み出し／書き込み要求をサブＣＰＵ２０１に通知し、サブＣＰＵ２０１はメインＣＰＵ１０１の読み出し／書き込み開始前にリフレッシュ処理を中断しておく。したがって、サブＣＰＵ２０１がリフレッシュしている最中でも、メインＣＰＵ１０１は不揮発性メモリにアクセスすることができる。この場合、待ち時間は無い。
【００５６】
また、画像処理装置では、リフレッシュすべき不揮発性メモリが複数ある場合、サブＣＰＵ２０１は、メインＣＰＵ１０１がアクセスしていない方の不揮発性メモリをリフレッシュする。つまり、メインＣＰＵ１０１が書き込み／読み出しを行う不揮発性メモリを複数備え、メインＣＰＵ１０１が不揮発性メモリに対して読み出し／書き込みを行っている間は、サブＣＰＵ２０１は別の不揮発性メモリのリフレッシュを行う。したがって、メインＣＰＵ１０１が不揮発性メモリにアクセスしている最中でも、サブＣＰＵ２０１はリフレッシュ処理を行うことができる。
【００５７】
なお、本実施形態の画像処理装置で実行するプログラムは、ＲＯＭ等に予め組み込まれて提供される。
【００５８】
本実施形態の画像処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記録して提供するように構成してもよい。
【００５９】
さらに、本実施形態の画像処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のプロジェクタ１０で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００６０】
本実施形態の画像処理装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。メインＣＰＵ１０１やサブＣＰＵ２０１がＲＯＭ等からプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【符号の説明】
【００６１】
１０１…メインＣＰＵ
１０５…ＮＡＮＤ  ＦＬＡＳＨ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ
２０１…サブＣＰＵ
【先行技術文献】
【特許文献】
【００６２】
【特許文献１】特開２０００−０１１６７０号公報
【図１】
0005716473.tif 000002
【図２】
0005716473.tif 000003
【図３】
0005716473.tif 000004
【図４】
0005716473.tif 000005
【図５】
0005716473.tif 000006
【図６】
0005716473.tif 000007