(57)【要約】【課題】コストを抑えることができる制御装置、画像形成装置及びプログラムを提供する。【解決手段】ＥＥＰＲＯＭと、ＥＥＰＲＯＭのデータ領域に記憶されている固有値の書き換え回数をカウントするカウント部２１４と、書き換え回数が第１閾値以上であるか否かを判定する判定部２１６と、書き換え回数が第１閾値以上である場合、固有値を書き換えた値と固有値の書き換え後の値とを比較し、一致しない場合、固有値の記憶先をデータ領域からＥＥＰＲＯＭのバックアップ領域に変更する変更部２１８と、を備える。【選択図】図３
2014081741.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、
前記不揮発性メモリのデータ用の記憶領域であるデータ領域に記憶されているデータの書き換え回数をカウントするカウント部と、
前記書き換え回数が第１閾値以上であるか否かを判定する判定部と、
前記書き換え回数が前記第１閾値以上である場合、前記データを書き換えた値と前記データの書き換え後の値とを比較し、一致しない場合、前記データの記憶先を前記データ領域から前記不揮発性メモリのバックアップ用の記憶領域であるバックアップ領域に変更する変更部と、
を備える制御装置。
【請求項２】
前記判定部は、前記書き換え回数が前記第１閾値よりも大きい第２閾値に達したか否かを更に判定し、
前記変更部は、前記書き換え回数が前記第２閾値に達した場合、前記データの記憶先を前記データ領域から前記バックアップ領域に変更する請求項１に記載の制御装置。
【請求項３】
前記データ領域と前記バックアップ領域とは、予め対応付けられている請求項１又は２に記載の制御装置。
【請求項４】
前記変更部は、前記不揮発性メモリの未使用の記憶領域を検索し、検索した前記未使用の記憶領域を前記バックアップ領域とする請求項１又は２に記載の制御装置。
【請求項５】
前記未使用の記憶領域が検索されなかった場合、前記バックアップ領域が存在しない旨を報知部に報知させる報知制御部を更に備える請求項４に記載の制御装置。
【請求項６】
前記データ領域は複数存在し、
前記カウント部は、前記データ領域毎にデータの書き換え回数をカウントし、
前記変更部は、前記第１閾値以上の書き換え回数が２つ以上存在する場合、前記第１閾値以上の書き換え回数のうちいずれかの書き換え回数のカウントが行われたデータ領域に記憶されている前記データを書き換えた値と当該データの書き換え後の値とを比較する請求項１〜５のいずれか１つに記載の制御装置。
【請求項７】
前記データ領域は複数存在し、
前記カウント部は、前記データ領域毎にデータの書き換え回数をカウントし、
前記変更部は、いずれかのデータ領域に記憶されている前記データを書き換えた値と当該データの書き換え後の値とが一致しなかった場合、当該データ領域での書き換え回数を前記第２閾値とする請求項１〜６のいずれか１つに記載の制御装置。
【請求項８】
前記変更部は、いずれかのデータ領域に記憶されている前記データを書き換えた値と当該データの書き換え後の値とが一致しなかった場合、当該データ領域での書き換え回数に所定定数を乗じた値を前記第１閾値とする請求項７に記載の制御装置。
【請求項９】
前記変更部は、前記書き換え回数に所定定数を乗じた値が前記第１閾値よりも大きい場合、当該値を前記第１閾値とする請求項８に記載の制御装置。
【請求項１０】
請求項１〜９のいずれか１つに記載の制御装置を備える画像形成装置。
【請求項１１】
不揮発性メモリのデータ用の記憶領域であるデータ領域に記憶されているデータの書き換え回数をカウントするカウント部と、
前記書き換え回数が第１閾値以上であるか否かを判定する判定部と、
前記書き換え回数が前記第１閾値以上である場合、前記データを書き換えた値と前記データの書き換え後の値とを比較し、一致しない場合、前記データの記憶先を前記データ領域から前記不揮発性メモリのバックアップ用の記憶領域であるバックアップ領域に変更する変更部と、
してコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、画像形成装置及びプログラムに関する。
【背景技術】
【０００２】
ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read  Only  Memory）などの不揮発性メモリには、データの書き換え回数に上限（例えば、１０万回程度）がある。このため、例えば画像形成装置において、制御基板に搭載された不揮発性メモリ上で画像調整値や印刷枚数などの固有値を管理すると、不揮発性メモリの書き換え回数の上限値を超えてしまい、正しく管理できなくなるおそれがある。
【０００３】
このような問題を解決するため、例えば特許文献１には、ＥＥＰＲＯＭのデータ領域の書き換え回数がオーバーすると、新たなデータ領域を用いる技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、不揮発性メモリのデータの書き換え回数の上限は、使用温度などの使用状況に左右されるため、上述したような従来技術では、実際の上限に対し、十分なマージンを持たせる必要がある。このため、上述したような従来技術では、実際の上限となるまで不揮発性メモリにデータ書き込みを行うことができず、不揮発性メモリの容量の増大などコストの増大を招いていた。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、コストを抑えることができる制御装置、画像形成装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる制御装置は、不揮発性メモリと、前記不揮発性メモリのデータ用の記憶領域であるデータ領域に記憶されているデータの書き換え回数をカウントするカウント部と、前記書き換え回数が第１閾値以上であるか否かを判定する判定部と、前記書き換え回数が前記第１閾値以上である場合、前記データを書き換えた値と前記データの書き換え後の値とを比較し、一致しない場合、前記データの記憶先を前記データ領域から前記不揮発性メモリのバックアップ用の記憶領域であるバックアップ領域に変更する変更部と、を備える。
【０００７】
また、本発明の別の態様にかかる画像形成装置は、上記制御装置を備える。
【０００８】
また、本発明の別の態様にかかるプログラムは、不揮発性メモリのデータ用の記憶領域であるデータ領域に記憶されているデータの書き換え回数をカウントするカウント部と、前記書き換え回数が第１閾値以上であるか否かを判定する判定部と、前記書き換え回数が前記第１閾値以上である場合、前記データを書き換えた値と前記データの書き換え後の値とを比較し、一致しない場合、前記データの記憶先を前記データ領域から前記不揮発性メモリのバックアップ用の記憶領域であるバックアップ領域に変更する変更部と、してコンピュータを機能させるためのものである。
【発明の効果】
【０００９】
本発明によれば、コストを抑えることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態の複合機のハードウェア構成の一例を示すブロック図である。
【図２】図２は、本実施形態のＥＥＰＲＯＭの記憶領域の構成及び使用方法の一例の説明図である。
【図３】図３は、本実施形態のＣＰＵの機能構成の一例を示すブロック図である。
【図４】図４は、本実施形態の複合機で実行される処理の一例を示すフローチャートである。
【図５】図５は、変形例１のＣＰＵの構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら、本発明にかかる制御装置、画像形成装置及びプログラムの実施形態を詳細に説明する。なお以下の実施形態では、画像形成装置として、複写機能、印刷機能、スキャナ機能、及びファクシミリ機能のうち少なくとも２つの機能を有する複合機（ＭＦＰ：Multifunction  Peripheral）を例にとり説明するが、これに限定されるものではない。画像形成装置は、例えば、印刷装置、複写機、スキャナ装置、又はファクシミリ装置などであってもよい。
【００１２】
まず、本実施形態の複合機の構成について説明する。
【００１３】
図１は、本実施形態の複合機１００のハードウェア構成の一例を示すブロック図である。図１に示すように、複合機１００は、コントローラ１０１とエンジン部（Engine）１６０とをＰＣＩ（Peripheral  Component  Interconnect）バスで接続した構成となる。コントローラ１０１は、複合機１００全体の制御、描画、通信、及び操作表示部１２０からの入力を制御するコントローラである。エンジン部１６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部１６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００１４】
コントローラ１０１は、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read  Only  Memory）１１０と、ＣＰＵ１１１と、ノースブリッジ（ＮＢ）１１３と、システムメモリ（ＭＥＭ−Ｐ）１１２と、サウスブリッジ（ＳＢ）１１４と、ローカルメモリ（ＭＥＭ−Ｃ）１１７と、ＡＳＩＣ（Application  Specific  Integrated  Circuit）１１６と、ハードディスクドライブ（ＨＤＤ）１１８とを有し、ノースブリッジ（ＮＢ）１１３とＡＳＩＣ１１６との間をＡＧＰ（Accelerated  Graphics  Port）バス１１５で接続した構成となる。また、ＭＥＭ−Ｐ１１２は、ＲＯＭ１１２ａと、ＲＡＭ１１２ｂとをさらに有する。
【００１５】
ＥＥＰＲＯＭ１１０（不揮発性メモリの一例）は、経時で変化する画像調整値や印刷毎にカウントされる印刷枚数などの複合機１００の固有値を記憶する。
【００１６】
ＣＰＵ１１１は、複合機１００の全体制御をおこなうものであり、ＮＢ１１３、ＭＥＭ−Ｐ１１２およびＳＢ１１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。またＣＰＵ１１１は、ＥＥＰＲＯＭ１１０に対してシリアル通信でビットアクセスし、画像調整値や印刷枚数などの固有値を書き換える。
【００１７】
ＮＢ１１３は、ＣＰＵ１１１とＭＥＭ−Ｐ１１２、ＳＢ１１４、ＡＧＰバス１１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００１８】
ＭＥＭ−Ｐ１１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１１２ａとＲＡＭ１１２ｂとからなる。ＲＯＭ１１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリである。なお、ＲＯＭ１１２ａは、ＥＥＰＲＯＭ１１０の記憶領域のアドレス情報やビット数情報なども記憶する。ＲＡＭ１１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００１９】
ＳＢ１１４は、ＮＢ１１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１１４は、ＰＣＩバスを介してＮＢ１１３と接続されており、このＰＣＩバスには、ネットワークインタフェース（Ｉ／Ｆ）部なども接続される。
【００２０】
ＡＳＩＣ１１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated  Circuit）であり、ＡＧＰバス１１５、ＰＣＩバス、ＨＤＤ１１８およびＭＥＭ−Ｃ１１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct  Memory  Access  Controller）と、エンジン部１６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１１６には、ＰＣＩバスを介してＦＣＵ（Fax  Control  Unit）１３０、ＵＳＢ（Universal  Serial  Bus）１４０、ＩＥＥＥ１３９４（the  Institute  of  Electrical  and  Electronics  Engineers  1394）インタフェース１５０が接続される。
【００２１】
操作表示部１２０（報知部の一例）は、各種画面を表示したり、ユーザからの各種操作入力を受け付けたりする。操作表示部１２０は、例えば、画像調整値の調整画面を表示したり、画像調整値を調整（変更）する操作入力を受け付けたりする。操作表示部１２０は、ＡＳＩＣ１１６に直接接続されている。
【００２２】
ＭＥＭ−Ｃ１１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ１１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００２３】
ＡＧＰバス１１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００２４】
図２は、本実施形態のＥＥＰＲＯＭ１１０の記憶領域の構成及び使用方法の一例の説明図である。図２に示すように、ＥＥＰＲＯＭ１１０は、画像調整値や印刷枚数などの複合機１００の固有値（データの一例）用の記憶領域であるデータ領域、データ領域の書き換え回数用の記憶領域であるインデックス領域、及びデータ領域のバックアップ用の記憶領域であるバックアップ領域を有する。
【００２５】
図２に示す例では、データ領域は、固有値毎に確保されており、ａｄｄｒｅｓｓ０〜ａｄｄｒｅｓｓ７それぞれが示す記憶領域がデータ領域となっている。例えば、ａｄｄｒｅｓｓ０が示すデータ領域には色ずれ調整値が記憶され、ａｄｄｒｅｓｓ７が示すデータ領域には、トナー残量値が記憶されている。
【００２６】
また、ａｄｄｒｅｓｓＮ〜ａｄｄｒｅｓｓＭが示す記憶領域がバックアップ領域となっている。本実施形態では、データ領域とバックアップ領域とが予め対応付けられている、即ち、ａｄｄｒｅｓｓ０〜ａｄｄｒｅｓｓ７がそれぞれａｄｄｒｅｓｓＮ〜ａｄｄｒｅｓｓＭと予め対応付けられているものとするが、これに限定されるものではない。なお、データ領域とバックアップ領域との対応付け情報は、例えば、インデックス領域に記憶しておけばよい。
【００２７】
また、ａｄｄｒｅｓｓＭ＋１〜ａｄｄｒｅｓｓＬが示す記憶領域がインデックス領域となっている。Ｎ、Ｍ、Ｌは、図２に示す例では、７＜Ｎ＜Ｍ＜Ｌが成立する任意の自然数である。
【００２８】
なお、ＥＥＰＲＯＭ１１０の使用方法については、図３の説明において適宜図２を参照しながら説明する。
【００２９】
図３は、本実施形態のＣＰＵ１１１の機能構成の一例を示すブロック図である。図３に示すように、ＣＰＵ１１１は、書き換え部２１２と、カウント部２１４と、判定部２１６と、変更部２１８とを、含む。
【００３０】
書き換え部２１２は、固有値の書き換えが要求される毎に、該当するデータ領域に記憶されている固有値を書き換える（更新する）。なお、固有値の書き換え要求は、ＣＰＵ１１１の外部から行われ、例えば、操作表示部１２０、ＡＳＩＣ１１６、図示せぬデバイスなどから行われる。
【００３１】
書き換え部２１２は、例えば、色ずれ調整値の書き換えが要求されれば、ａｄｄｒｅｓｓ０が示すデータ領域に記憶されている色ずれ調整値を書き換え、トナー残量値の書き換えが要求されれば、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値を書き換える。色ずれ調整値はａｄｄｒｅｓｓ０が示すデータ領域に記憶されていることや、トナー残量値はａｄｄｒｅｓｓ７が示すデータ領域に記憶されていることなどは、ＲＯＭ１１２ａで管理されている。
【００３２】
なお、後述の変更部２１８により固有値の記憶先がデータ領域からバックアップ領域に変更されると、書き換え部２１２は、データ領域に記憶されている固有値を書き換えた値を当該バックアップ領域に再度書き込み、以後、固有値の書き換えが要求される毎に、当該バックアップ領域に記憶されている固有値を書き換える。
【００３３】
カウント部２１４は、データ領域に記憶されている固有値の書き換え回数をカウントする。具体的には、カウント部２１４は、データ領域それぞれでの固有値の書き換え回数をインデックス領域で管理しており、書き換え部２１２により固有値が書き換えられると、該当するデータ領域での書き換え回数をインクリメントする。これにより、データ領域での書き換え回数を管理できる。
【００３４】
例えば、カウント部２１４は、書き換え部２１２により色ずれ調整値が書き換えられると、インデックス領域で管理されている色ずれ調整値の書き換え回数をインクリメントする。また例えば、カウント部２１４は、書き換え部２１２によりトナー残量値が書き換えられると、インデックス領域で管理されているトナー残量値の書き換え回数をインクリメントする。
【００３５】
判定部２１６は、カウント部２１４によりカウントされた固有値の書き換え回数が第１閾値以上であるか否かを判定する。また判定部２１６は、カウント部２１４によりカウントされた固有値の書き換え回数が第１閾値よりも大きい第２閾値に達したか否かを更に判定する。
【００３６】
第１閾値は、例えば、十分なマージンを持たせたＥＥＰＲＯＭ１１０の書き換え回数の上限とすることができ、第２閾値は、例えば、ＥＥＰＲＯＭ１１０の書き換え回数の実際の上限の近傍の値とすることができるが、第１閾値及び第２閾値は、これに限定されるものではない。なお、ＥＥＰＲＯＭ１１０の書き換え回数の実際の上限の近傍の値は、事前評価などを行うことで導出できる。
【００３７】
例えば、判定部２１６は、カウント部２１４によりカウントされた色ずれ調整値の書き換え回数については、第１閾値未満であると判定する（図２参照）。また例えば、判定部２１６は、カウント部２１４によりカウントされたトナー残量値の書き換え回数については、第１閾値以上であると判定する（図２参照）。
【００３８】
変更部２１８は、カウント部２１４によりカウントされた固有値の書き換え回数が第１閾値以上である場合、データ領域に記憶されている固有値を書き換えた値と当該固有値の書き換え後の値とを比較し、一致しない場合、固有値の記憶先をデータ領域からバックアップ領域に変更する。また変更部２１８は、カウント部２１４によりカウントされた固有値の書き換え回数が第２閾値に達した場合も、固有値の記憶先をデータ領域からバックアップ領域に変更する。
【００３９】
例えば、変更部２１８は、カウント部２１４によりカウントされたトナー残量値の書き換え回数が第１閾値以上である場合、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値を書き換えた値と、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値の書き換え後の値とを比較する。そして変更部２１８は、両値が一致しない場合、トナー残量値の記憶先をａｄｄｒｅｓｓ７が示すデータ領域から当該データ領域に対応付けられたａｄｄｒｅｓｓＭが示すバックアップ領域に変更する（図２参照）。
【００４０】
例えば、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値の値が１００であり、書き換え部２１２が、当該トナー残量値の値を９０に書き換えたとする。この場合、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値を書き換えた値は「９０」なので、変更部２１８は、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値の書き換え後の値が「９０」であれば両値が一致すると判定し、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値の書き換え後の値が「９０」以外あれば両値が一致しないと判定する。なお、ディスターブ不良と呼ばれる不良が発生すると、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値の値を「９０」に書き換えたとしても、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値の書き換え後の値が「９０」とならないことがある。ディスターブ不良は、書き換え回数の増加に伴い、発生率が増加する。
【００４１】
また例えば、変更部２１８は、カウント部２１４によりカウントされたトナー残量値の書き換え回数が第２閾値以上である場合も、トナー残量値の記憶先をａｄｄｒｅｓｓ７が示すデータ領域から当該データ領域に対応付けられたａｄｄｒｅｓｓＭが示すバックアップ領域に変更する。
【００４２】
なお、変更部２１８は、固有値の記憶先をデータ領域からバックアップ領域に変更すると、ＲＯＭ１１２ａで管理されている固有値とａｄｄｒｅｓｓとの対応関係を変更する。例えば、変更部２１８は、トナー残量値の記憶先をａｄｄｒｅｓｓ７が示すデータ領域からａｄｄｒｅｓｓＭが示すバックアップ領域に変更すると、ＲＯＭ１１２ａにおいて、トナー残量値はａｄｄｒｅｓｓ７が示すデータ領域に記憶されていることをトナー残量値はａｄｄｒｅｓｓＭが示すバックアップ領域に記憶されていることに変更する。これにより、書き換え部２１２は、以後、トナー残量値の書き換えをａｄｄｒｅｓｓ７が示すデータ領域ではなくａｄｄｒｅｓｓＭが示すバックアップ領域に対して行うことになる。
【００４３】
なお、複合機１００は、上述した各部の全てを必須の構成とする必要はなく、その一部を省略した構成としてもよい。
【００４４】
次に、本実施形態の複合機の動作について説明する。
【００４５】
図４は、本実施形態の複合機１００で実行される処理の一例を示すフローチャートである。
【００４６】
まず、カウント部２１４は、書き換え部２１２によりデータ領域に記憶されている固有値を書き換えられると、当該データ領域に記憶されている固有値の書き換え回数をカウントする（ステップＳ１００）。
【００４７】
続いて、判定部２１６は、カウント部２１４によりカウントされた固有値の書き換え回数が第１閾値以上であるか否かを判定する（ステップＳ１０２）。第１閾値以上でない場合（ステップＳ１０２でＮｏ）、処理は終了となる。
【００４８】
一方、第１閾値以上である場合（ステップＳ１０２でＹｅｓ）、判定部２１６は、カウント部２１４によりカウントされた固有値の書き換え回数が第２閾値に達したか否かを判定する（ステップＳ１０４）。
【００４９】
第２閾値に達してない場合（ステップＳ１０４でＮｏ）、変更部２１８は、書き換え部２１２により書き換えが行われたデータ領域に記憶されている固有値を書き換えた値と当該固有値の書き換え後の値とを比較する（ステップＳ１０６）。両値が一致する場合（ステップＳ１０６でＹｅｓ）、処理は終了となる。
【００５０】
一方、カウント部２１４によりカウントされた固有値の書き換え回数が第２閾値に達し手いる場合（ステップＳ１０４でＹｅｓ）、又は固有値を書き換えた値と当該固有値の書き換え後の値とが一致しない場合（ステップＳ１０６でＮｏ）、変更部２１８は、当該固有値の記憶先をデータ領域からバックアップ領域に変更する（ステップＳ１０８）。
【００５１】
以上のように本実施形態では、固有値の書き換え回数が第１閾値以上となると、固有値を書き換えた値と当該固有値の書き換え後の値とを比較し、両値が一致しない場合、固有値の記憶先をデータ領域からバックアップ領域に変更する。このため本実施形態によれば、ＥＥＰＲＯＭの書き換え回数の実際の上限までデータ領域に記憶されている固有値を書き換えることができるので、ＥＥＰＲＯＭの記憶容量を抑えることができ、コストを抑えることができる。また、ＥＥＰＲＯＭの寿命を延ばすことも期待できる。
【００５２】
また本実施形態では、最初から、固有値を書き換えた値と当該固有値の書き換え後の値とを比較するのではなく、固有値の書き換え回数が第１閾値以上となってから固有値を書き換えた値と当該固有値の書き換え後の値とを比較するので、ＣＰＵの処理負荷も抑えることができる。また、書き換え不良の主原因であるエンドュランス（繰り返し書き換え）不良を未然に防止できるため、信頼性や安全性を高めることもできる。
【００５３】
但し、ＣＰＵの処理能力に十分な余裕があれば、最初から、固有値を書き換えた値と当該固有値の書き換え後の値とを比較してもよいし、第１閾値をより小さな値としてもよい。
【００５４】
（変形例）
なお、本発明は、上記実施形態に限定されるものではなく、種々の変形が可能である。
【００５５】
（変形例１）
上記実施形態では、データ領域とバックアップ領域とが予め対応付けられている例について説明したが、ＥＥＰＲＯＭの未使用の記憶領域をバックアップ領域とする例について説明する。以下では、上記実施形態との相違点の説明を主に行い、上記実施形態と同様の機能を有する構成要素については、上記実施形態と同様の名称・符号を付し、その説明を省略する。
【００５６】
図５は、変形例１のＣＰＵ３１１の構成の一例を示すブロック図である。図５に示すように、変形例１のＣＰＵ３１１は、報知制御部３２０を更に備える点、及び変更部３１８の処理内容が上記実施形態と相違する。また、変形例１では、ＥＥＰＲＯＭ１１０は、予めバックアップ領域を確保していないものとする。
【００５７】
変更部３１８は、ＥＥＰＲＯＭ１１０の未使用の記憶領域を検索し、検索した未使用の記憶領域をバックアップ領域とする。なお、ＥＥＰＲＯＭ１１０の記憶領域のうちいずれの記憶領域が未使用であるかを示す未使用情報は、例えば、インデックス領域に記憶しておけばよい。
【００５８】
例えば、変更部３１８は、カウント部２１４によりカウントされたトナー残量値の書き換え回数が第１閾値以上である場合、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値を書き換えた値と、ａｄｄｒｅｓｓ７が示すデータ領域に記憶されているトナー残量値の書き換え後の値とを比較する。そして変更部３１８は、両値が一致しない場合、インデックス領域に記憶されている未使用情報を用いてＥＥＰＲＯＭ１１０の未使用の記憶領域を検索し、検索した未使用の記憶領域をバックアップ領域とし、トナー残量値の記憶先をａｄｄｒｅｓｓ７が示すデータ領域から当該バックアップ領域に変更する。
【００５９】
また例えば、変更部３１８は、カウント部２１４によりカウントされたトナー残量値の書き換え回数が第２閾値以上である場合も、インデックス領域に記憶されている未使用情報を用いてＥＥＰＲＯＭ１１０の未使用の記憶領域を検索し、検索した未使用の記憶領域をバックアップ領域とし、トナー残量値の記憶先をａｄｄｒｅｓｓ７が示すデータ領域から当該バックアップ領域に変更する。
【００６０】
報知制御部３２０は、変更部３１８により未使用の記憶領域が検索されなかった場合、バックアップ領域が存在しない旨を操作表示部１２０に報知させる。
【００６１】
変形例１によれば、ＥＥＰＲＯＭに、予めバックアップ領域を確保しておく必要がないので、ＥＥＰＲＯＭの記憶容量をより抑えることができ、コストを抑えることができる。また、ＥＥＰＲＯＭの記憶領域の最適化や柔軟な利用も期待できる。また変形例１によれば、バックアップ領域の不足を報知できるので、寿命が尽きたＥＥＰＲＯＭを使い続けてしまうことを防止でき、ＥＥＰＲＯＭを安全に使いきることができる。
【００６２】
（変形例２）
上記実施形態及び変形例１において、変更部は、第１閾値以上の書き換え回数が２つ以上存在する場合、第１閾値以上の書き換え回数のうちいずれかの書き換え回数のカウントが行われたデータ領域に記憶されている固有値を書き換えた値と当該固有値の書き換え後の値とを比較するようにしてもよい。
【００６３】
つまり、変形例２では、第１閾値以上の書き換え回数が２つ以上存在する場合に、書き換え回数が第１閾値以上である全てのデータ領域において、固有値を書き換えた値と当該固有値の書き換え後の値とを比較するのではなく、例えば、最も書き換え回数が多いデータ領域、最も書き換え頻度が高いデータ領域、又は、第２閾値に達するのが最も早いと予測されるデータ領域において、固有値を書き換えた値と当該固有値の書き換え後の値とを比較するようにする。
【００６４】
そして、比較対象となったデータ領域において、固有値を書き換えた値と当該固有値の書き換え後の値とが一致しなくなれば、変更部は、同様の手法で、書き換え回数が第１閾値以上である全てのデータ領域の中から比較対象となるデータ領域を選択すればよい。
【００６５】
変形例２によれば、ＣＰＵの処理負荷をより抑えることができる。なお、ＥＥＰＲＯＭの書き換え回数の上限は使用温度に大きく依存するため、同一ＥＥＰＲＯＭであれば、記憶領域毎に書き換え回数の上限が大きく異なることはほとんどないので、変形例２のような態様も可能である。
【００６６】
（変形例３）
上記実施形態及び変形例１、２において、変更部は、いずれかのデータ領域に記憶されている固有値を書き換えた値と当該固有値の書き換え後の値とが一致しなかった場合、当該データ領域での書き換え回数を第２閾値とするようにしてもよい。
【００６７】
このようにすれば、ＥＥＰＲＯＭ１１０の書き換え回数の実際の上限により近い値を第２閾値とすることができ、第２閾値の精度を高めることができる。これにより、信頼性や安全性をより高めることもできる。
【００６８】
また変更部は、いずれかのデータ領域に記憶されている固有値を書き換えた値と当該固有値の書き換え後の値とが一致しなかった場合、当該データ領域での書き換え回数に所定定数を乗じた値を第１閾値とするようにしてもよい。好ましくは、当該データ領域での書き換え回数に所定定数を乗じた値が第１閾値よりも大きい場合に、当該値を第１閾値とする。所定定数は、例えば、０．９などとすればよい。
【００６９】
このようにすれば、ＥＥＰＲＯＭ１１０の書き換え回数の実際の上限に対して適切なマージンを持たせた値を第１閾値とすることができ、第１閾値の精度を高めることができる。これにより、固有値を書き換えた値と当該固有値の書き換え後の値との比較回数を適切な回数に抑えることができ、ＣＰＵの処理負荷をより抑えつつ、信頼性や安全性をより高めることができる。
【００７０】
（変形例４）
上記実施形態及び変形例１〜３では、複合機に搭載された制御装置（ＣＰＵ及びＥＥＰＲＯＭ）を例に取り説明したが、これに限定されるものではない。制御装置（ＣＰＵ及びＥＥＰＲＯＭ）は、スマートフォン、携帯電話、タブレット端末、プロジェクタ、カメラ、エアコン、冷蔵庫、蛍光灯、自販機、及びハンドヘルド型端末等の各種電子機器に搭載されていてもよい。
【００７１】
本実施形態及び各変形例の複合機で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Digital  Versatile  Disk）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【００７２】
また、本実施形態及び各変形例の複合機で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、本実施形態及び各変形例の複合機で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、本実施形態及び各変形例の複合機で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【００７３】
本実施形態及び各変形例の複合機で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＨＤＤからプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【符号の説明】
【００７４】
１００  複合機
１０１  コントローラ
１１０  ＥＥＰＲＯＭ
１１１、３１１  ＣＰＵ
１１２  システムメモリ
１１２ａ  ＲＯＭ
１１２ｂ  ＲＡＭ
１１３  ノースブリッジ
１１４  サウスブリッジ
１１５  ＡＧＰバス
１１６  ＡＳＩＣ
１１７  ローカルメモリ
１１８  ハードディスクドライブ
１２０  操作表示部
１３０  ＦＣＵ
１４０  ＵＳＢ
１５０  ＩＥＥＥ１３９４インタフェース
１６０  エンジン部
２１２  書き換え部
２１４  カウント部
２１６  判定部
２１８、３１８  変更部
３２０  報知制御部
【先行技術文献】
【特許文献】
【００７５】
【特許文献１】特開２００７−３３１３５６号公報
【図１】
2014081741.tif 000003
【図２】
2014081741.tif 000004
【図３】
2014081741.tif 000005
【図４】
2014081741.tif 000006
【図５】
2014081741.tif 000007