(57)【要約】【課題】メモリに書き込まれる書込データ内の所定データに基づいて、書込データ内の上位データと下位データとを入れ替えてから書き込むようにして、記憶エリアを追加することなく、書込回数に制限のあるメモリの寿命を延ばすことができることができるようにする。【解決手段】書込回数に制限のあるメモリにデータを書き込むメモリ書込装置であって、書込データ内の所定データに基づき、前記書込データ内の上位データと下位データとを入れ替えた後、前記メモリに前記書込データを書き込む。【選択図】図１
2006236210.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）書込回数に制限のあるメモリにデータを書き込むメモリ書込装置であって、
（ｂ）書込データ内の所定データに基づき、前記書込データ内の上位データと下位データとを入れ替えた後、前記メモリに前記書込データを書き込むことを特徴とするメモリ書込装置。
【請求項２】
前記所定データは、ビットデータである請求項１に記載のメモリ書込装置。
【請求項３】
第１のビットデータと第２のビットデータとの比較結果に基づき、前記書込データ内の上位データと下位データとを入れ替える請求項２に記載のメモリ書込装置。
【請求項４】
（ａ）書込回数に制限のあるメモリにデータを書き込むメモリ書込装置であって、
（ｂ）複数種類の書込データを複数のメモリアドレスに書き込む場合、各書込データ内の下位データが所定のメモリアドレスになるように、前記メモリに前記書込データを書き込むことを特徴とするメモリ書込装置。
【請求項５】
（ａ）書込回数に制限のあるメモリにデータを書き込むメモリ書込装置であって、
（ｂ）書込データを変換する変換データを有し、
（ｃ）該変換データによって変換された書込データを前記メモリに書き込むことを特徴とするメモリ書込装置。
【請求項６】
前記変換データは、前記書込データがカウントアップされても該書込データ内の下位データの書換が発生し難いように設定される請求項５に記載のメモリ書込装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ書込装置に関するものである。
【背景技術】
【０００２】
従来、記憶装置の一つとしてＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ−Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性メモリがある。該不揮発性メモリの許容書込回数、すなわち、寿命は、他の種類の記憶装置に比較して短くなっている。そのため、不揮発性メモリの利用範囲は、寿命の短さに起因して、狭いものになってしまう。そこで、不揮発性メモリの許容書込回数を増加させ、寿命を長くするメモリ書込装置が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平５−２６５８７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、前記従来のメモリ書込装置においては、ＥＥＰＲＯＭの許容書込回数が１００万回程度であり、他の記憶装置と比較して少なく、十分ではない。そのため、データの書込回数を十分に多くすることができず、ＥＥＰＲＯＭの利用価値が下がってしまう。一般に、ＥＥＰＲＯＭの場合、該ＥＥＰＲＯＭ内の特定のブロックにおける書込頻度が他のブロックにおける書込頻度と比較して高く、前記特定のブロックにおける書込回数が許容書込回数を超えると、他のブロックにおける書込回数が許容書込回数に達していなくても、記憶装置としての寿命が尽きてしまうようになっている。そのため、データの書込が特定ブロックに集中した場合、ＥＥＰＲＯＭは、短時間で寿命が尽き、機能不全に陥ってしまうという問題がある。例えば、３２ｂｉｔのカウンタを例に説明すると、下位のｂｉｔに対して頻繁に書き込みが発生してしまう。
【０００４】
もっとも、この問題を解決するメモリ書込装置も提案されているが、何れも本来記憶すべきデータとは別個に書込回数を記憶させたり、複数の記憶エリアを用意したりするものであり、追加の記憶エリアが必要になってしまう。
【０００５】
本発明は、前記従来のメモリ書込装置の問題点を解決して、メモリに書き込まれる書込データ内の所定データに基づいて、書込データ内の上位データと下位データとを入れ替えてから書き込むようにして、記憶エリアを追加することなく、書込回数に制限のあるメモリの寿命を延ばすことができるメモリ書込装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そのために、本発明のメモリ書込装置においては、書込回数に制限のあるメモリにデータを書き込むメモリ書込装置であって、書込データ内の所定データに基づき、前記書込データ内の上位データと下位データとを入れ替えた後、前記メモリに前記書込データを書き込む。
【発明の効果】
【０００７】
本発明によれば、メモリ書込装置は、メモリに書き込まれる書込データ内の所定データに基づいて、書込データ内の上位データと下位データとを入れ替えてから書き込むようになっている。そのため、記憶エリアを追加することなく、また、特定のブロックにおける書込頻度の上昇を抑え、書込回数に制限のあるメモリの寿命を延ばすことができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【０００９】
図１は本発明の第１の実施の形態におけるメモリ書込装置の概略図である。
【００１０】
図に示されるように、本実施の形態におけるメモリ書込装置は、制御部１０、ＲＡＭ２０、ＥＥＰＲＯＭ３０、Ｉ／Ｏ４０及びセンサ４１を有する。そして、前記制御部１０は、ＣＰＵ１１、計数部１２、計数値変換部１３、ビット判定部１４、計数値書込部１５及び計数値読出部１６を有する。ここで、前記ＣＰＵ１１は、演算手段を備え、メモリ書込装置全体の動作を制御する。また、前記計数部１２は計数事象（例えば、印刷枚数、受信ジョブ数等）を計数する。さらに、前記計数値変換部１３は、ビット判定部１４を用いて、計数部１２が計数した結果としての計数値の変換を行う。さらに、前記計数値書込部１５は、ＥＥＰＲＯＭ３０に計数値の書込を行う。さらに、前記計数値読出部１６は、ＥＥＰＲＯＭ３０から計数値の読出を行う。
【００１１】
また、前記ＲＡＭ２０は、ランダムアクセスメモリであり、書込データとしての計数されたデータを一時保管する。そして、ＲＡＭ２０は、計数を行うための計数エリア２１、計数値を変換するための計数変換エリア２２、及び、ＥＥＰＲＯＭ３０から計数値を読み出す動作を省略するための計数格納シャドーエリア２３を備える。計数格納シャドーエリア２３には、ＥＥＰＲＯＭ３０に書き込んだ値がコピーされる。なお、前記計数エリア２１、計数変換エリア２２及び計数格納シャドーエリア２３は、各々、４バイトで構成されている。
【００１２】
さらに、メモリとしての前記ＥＥＰＲＯＭ３０は、計数されたデータを保管する電気的に書換可能なリードオンリーメモリである。そして、前記ＥＥＰＲＯＭ３０は、計数格納シャドーエリア２３に対応する計数格納エリア３１を備える。なお、前記ＥＥＰＲＯＭ３０は、構造上２バイト単位で書込を行う必要がある。
【００１３】
また、Ｉ／Ｏ４０は、センサ４１と接続され、所望の計数事象を取り込む。
【００１４】
次に、前記構成のメモリ書込装置の動作について説明する。まず、計数値をＥＥＰＲＯＭ３０に記録する動作について説明する。
【００１５】
図２は本発明の第１の実施の形態における計数値と変換した値との対応を示す図、図３は本発明の第１の実施の形態における計数処理の動作を示すフローチャートである。
【００１６】
まず、制御部１０のＣＰＵ１１が、Ｉ／Ｏ４０を経由して、センサ４１から計数事象を取り込んで計数を行う場合（例えば、印刷ページカウンタ）、計数部１２はＲＡＭ２０上の計数エリア２１をカウントアップする。続いて、計数値変換部１３は、計数エリア２１から計数変換エリア２２に計数値を変換しながらコピーする。このとき、ビット判定部１４は、所定データとしての計数値のビット３１とビット１５とを比較する。そして、計数値のビット３１とビット１５とが等しいか否かを判断し、等しい場合、計数値をそのまま計数変換エリア２２にコピーする。この場合、アドレス００〜０１は０４〜０５となり、アドレス０２〜０３は０６〜０７となる。また、計数値のビット３１とビット１５とが等しくない場合は、上位データとしての計数値の上位２バイトの値と、下位データとしての計数値の下位２バイトの値とを交換して計数変換エリア２２にコピーする。この場合、アドレス００〜０１は０６〜０７となり、アドレス０２〜０３は０４〜０５となる。
【００１７】
続いて、計数値書込部１５は、ＲＡＭ２０上の計数変換エリア２２からＥＥＰＲＯＭ３０上の計数格納エリア３１に記録する。このとき、２バイト毎に記録するが、計数格納シャドーエリア２３と計数格納エリア３１とは同じ計数値が記録されているとみなし、計数変換エリア２２と計数格納シャドーエリア２３とを２バイト毎に比較する。そして、計数変換エリア２２と計数格納シャドーエリア２３とが等しい場合、計数格納エリア３１には記録する必要がない。また、計数変換エリア２２と計数格納シャドーエリア２３とが異なる場合、計数変換エリア２２から計数格納シャドーエリア２３と計数格納エリア３１の双方に計数値を記録する。
【００１８】
すなわち、アドレス０４〜０５と０８〜０９とが等しいか否かを判断し、等しい場合にはそのままにし、書き込みは行わない。また、等しくない場合、計数値を計数格納シャドーエリア２３及び計数格納エリア３１に記録する。この場合、アドレス０４〜０５は、０８〜０９及び００〜０１（ＥＥＰＲＯＭ３０）となる。続いて、アドレス０６〜０７と０Ａ〜０Ｂとが等しいか否かを判断し、等しい場合には書き込みは行わず、そのまま処理を終了する。また、等しくない場合、計数値を計数格納シャドーエリア２３及び計数格納エリア３１に記録して処理を終了する。この場合、アドレス０６〜０７は、０Ａ〜０Ｂ及び０２〜０３（ＥＥＰＲＯＭ３０）となる。
【００１９】
次に、フローチャートについて説明する。
ステップＳ１  計数エリア２１をカウントアップする。
ステップＳ２  計数値のビット３１とビット１５とを比較する。
ステップＳ３  ビット３１とビット１５とが等しいか否かを判断する。ビット３１とビット１５とが等しい場合はステップＳ４に進み、ビット３１とビット１５とが等しくない場合はステップＳ５に進む。
ステップＳ４  計数値をそのまま計数変換エリア２２にコピーする。
ステップＳ５  計数値の上位２バイトの値と下位２バイトの値とを交換して計数変換エリア２２にコピーする。
ステップＳ６  計数変換エリア２２と計数格納シャドーエリア２３とを比較する。
ステップＳ７  アドレス０４〜０５とアドレス０８〜０９とが等しいか否かを判断する。アドレス０４〜０５とアドレス０８〜０９とが等しい場合はステップＳ９に進み、アドレス０４〜０５とアドレス０８〜０９とが等しくない場合はステップＳ８に進む。
ステップＳ８  計数値を計数格納シャドーエリア２３及び計数格納エリア３１に記録する。
ステップＳ９  アドレス０６〜０７とアドレス０Ａ〜０Ｂとが等しいか否かを判断する。アドレス０６〜０７とアドレス０Ａ〜０Ｂとが等しい場合は処理を終了し、アドレス０６〜０７とアドレス０Ａ〜０Ｂとが等しくない場合はステップＳ１０に進む。
ステップＳ１０  計数値を計数格納シャドーエリア２３及び計数格納エリア３１に記録し、処理を終了する。
【００２０】
次に、電源投入時等のような初期化時に、ＥＥＰＲＯＭ３０から計数値を読み出して復元する動作について説明する。
【００２１】
図４は本発明の第１の実施の形態における計数値読出処理の動作を示すフローチャートである。
【００２２】
まず、電源投入時等に制御部１０のＣＰＵ１１がＥＥＰＲＯＭ３０上の計数格納エリア３１から計数値を読み出す場合、計数値読出部１６は計数格納エリア３１から読み出した計数値をＲＡＭ２０上の計数格納シャドーエリア２３及び計数変換エリア２２にコピーする。この場合、アドレス００〜０１（ＥＥＰＲＯＭ３０）は０８〜０９となり、アドレス０８〜０９は０４〜０５となり、アドレス０２〜０３（ＥＥＰＲＯＭ３０）は０Ａ〜０Ｂとなり、アドレス０Ａ〜０Ｂは０６〜０７となる。
【００２３】
次に、計数値変換部１３は、計数変換エリア２２から計数エリア２１に計数値を復元してコピーする。このとき、ビット判定部１４が計数値のビット３１とビット１５とを比較する。そして、ビット３１とビット１５とが等しいか否かを判断し、等しい場合、計数値をそのまま計数エリア２１にコピーして処理を終了する。この場合、アドレス０４〜０５は００〜０１となり、アドレス０６〜０７は０２〜０３となる。また、計数値のビット３１とビット１５とが等しくない場合は、計数値の上位２バイトの値と下位２バイトの値とを交換して計数エリア２１にコピーして処理を終了する。この場合、アドレス０６〜０７は００〜０１となり、アドレス０４〜０５は０２〜０３となる。
【００２４】
次に、フローチャートについて説明する。
ステップＳ１１  計数値をＥＥＰＲＯＭ３０から読み出す。
ステップＳ１２  計数値のビット３１とビット１５とを比較する。
ステップＳ１３  ビット３１とビット１５とが等しいか否かを判断する。ビット３１とビット１５とが等しい場合はステップＳ１４に進み、ビット３１とビット１５とが等しくない場合はステップＳ１５に進む。
ステップＳ１４  計数値をそのまま計数エリア２１にコピーし、処理を終了する。
ステップＳ１５  計数値の上位２バイトの値と下位２バイトの値とを交換して計数エリア２１にコピーし、処理を終了する。
【００２５】
次に、処理を簡単に説明するために、上位、すなわち、Ｈｉｇｈ側が２ビット、下位、すなわち、Ｌｏｗ側が２ビットのエリアで説明する。
【００２６】
図５は本発明の第１の実施の形態における簡単化した処理を示す図である。
【００２７】
この場合、ｂ３とｂ１とを比較することになる。また、逆転して書き込む場合、初回はＨｉｇｈ側及びＬｏｗ側において書込が発生するが、カウントビット数が多いとき、例えば、前述のように、３２ビットを有するときには、問題にならない回数となる。
【００２８】
このように、本実施の形態においては、概（おおむ）ね６５５３６回計数する度に、計数値の書込頻度の高い下位２バイト及び書込頻度の低い上位２バイトの値のＥＥＰＲＯＭ３０上における格納位置が入れ替わるようになっている。そのため、記憶エリアを追加することなく、ＥＥＰＲＯＭ３０の見掛け上の書込寿命を約２倍に延ばすことができる。
【００２９】
次に、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同じ構成を有するものについては、同じ符号を付与することによって、その説明を省略する。また、前記第１の実施の形態と同じ動作及び同じ効果についても、その説明を省略する。
【００３０】
図６は本発明の第２の実施の形態におけるタンデム式カラー画像形成装置の概略図、図７は本発明の第２の実施の形態におけるメモリ書込装置の概略図である。
【００３１】
本実施の形態においては、メモリ書込装置を図６に示されるような画像形成装置５０に適用した例について説明する。該画像形成装置５０は、画像データを媒体としての記録紙等に印刷して画像を形成することができるものであれば、インクジェット式、電子写真式、熱転写式等いかなる種類の画像形成装置であってもよく、カラープリンタであってもよいし、モノクロプリンタであってよいし、プリンタ、ファクシミリ機及び複写機の機能を併せ持つ複合機であってもよい。ここでは、画像形成装置５０が電子写真式のカラープリンタであり、図６に示されるように、イエロー、マゼンタ、シアン及びブラックの４本の感光体ドラム５１Ｙ、５１Ｍ、５１Ｃ及び５１ＢＫを搭載するタンデム式カラープリンタであるものとする。そして、前記画像形成装置５０はＥＥＰＲＯＭ３０を備える。
【００３２】
本実施の形態におけるメモリ書込装置は、図７に示されるように、制御部１０、ＲＡＭ２０及びＥＥＰＲＯＭ３０を有する。そして、前記制御部１０は、ＣＰＵ１１、計数部１２、計数値変換部１３、ビット判定部１４、計数値書込部１５及び計数値読出部１６を有する。ここで、前記ＣＰＵ１１は、演算手段を備え、メモリ書込装置全体の動作を制御する。また、前記計数部１２は、４本の感光体ドラム５１Ｙ、５１Ｍ、５１Ｃ及び５１ＢＫの寿命を監視するために、４本の感光体ドラム５１Ｙ、５１Ｍ、５１Ｃ及び５１ＢＫの回転数の計数を行う。さらに、前記計数値変換部１３は、ビット判定部１４を用いて、計数部１２が計数した結果としての計数値の変換を行う。さらに、前記計数値書込部１５は、ＥＥＰＲＯＭ３０に計数値の書込を行う。さらに、前記計数値読出部１６は、ＥＥＰＲＯＭ３０から計数値の読出を行う。
【００３３】
また、前記ＲＡＭ２０は、ランダムアクセスメモリであり、計数されたデータを一時保管する。そして、ＲＡＭ２０は、計数を行うための計数エリア２４、計数値を変換するための計数変換第１エリア２５及び計数変換第２エリア２６、並びに、ＥＥＰＲＯＭ３０から計数値を読み出す動作を省略するための計数格納シャドーエリア２７を備える。なお、前記計数エリア２４、計数変換第１エリア２５、計数変換第２エリア２６及び計数格納シャドーエリア２７は、各々、感光体ドラム５１Ｙ、５１Ｍ、５１Ｃ及び５１ＢＫの各１本に対して４バイト、すなわち、４本分の感光体ドラム５１Ｙ、５１Ｍ、５１Ｃ及び５１ＢＫに対して１６バイトで構成されている。
【００３４】
さらに、前記ＥＥＰＲＯＭ３０は、計数されたデータを保管する電気的に書換可能なリードオンリーメモリである。そして、前記ＥＥＰＲＯＭ３０は、計数格納シャドーエリア２７に対応する計数格納エリア３２を備える。なお、前記ＥＥＰＲＯＭ３０は、構造上２バイト単位で書込を行う必要がある。
【００３５】
次に、本実施の形態におけるメモリ書込装置の動作について説明する。まず、計数値をＥＥＰＲＯＭ３０に記録する動作について説明する。最初に、制御部１０のＣＰＵ１１がブラックの感光体ドラム５１ＢＫの回転数の計数を行う場合について説明する。
【００３６】
図８は本発明の第２の実施の形態におけるブラックの感光体ドラムの計数処理の動作を示すフローチャートである。
【００３７】
まず、計数部１２は、ＲＡＭ２０上の計数エリア２４におけるブラックの感光体ドラム５１ＢＫのエリアをカウントアップする。この場合、図７に示されるように、計数エリア２４におけるアドレス００〜０３の値（１）、（２）、（３）及び（４）をカウントアップする。続いて、計数エリア２４から計数変換第１エリア２５のブラックの感光体ドラム５１ＢＫのエリアに計数値をコピーし、処理を終了する。ここで、計数変換第１エリア２５におけるブラックの感光体ドラム５１ＢＫのエリアは、連続したアドレスにはなく、図７に示されるように、計数変換第１エリア２５における（１）、（２）、（３）及び（４）で示される配置となる。すなわち、アドレス００〜０３は、１０、１４、１８及び１Ｃとなる。これは、４本の感光体ドラム５１Ｙ、５１Ｍ、５１Ｃ及び５１ＢＫの各々における書込頻度の高い最下位バイトの値を計数変換第１エリア２５のｂｉｔ７〜０のエリアの４バイトに集約するためである。
【００３８】
次に、フローチャートについて説明する。
ステップＳ２１  計数エリア２４のブラックの感光体ドラム５１ＢＫのエリアをカウントアップする。
ステップＳ２２  計数値を計数変換第１エリア２５のブラックの感光体ドラム５１ＢＫのエリアにコピーし、処理を終了する。
【００３９】
続いて、イエローの感光体ドラム５１Ｙ、マゼンタの感光体ドラム５１Ｍ及びシアンの感光体ドラム５１Ｃの回転数の計数を行う場合について説明する。なお、動作については前記ブラックの感光体ドラム５１ＢＫの回転数の計数を行う場合と同様であるので、説明を省略する。
【００４０】
図９は本発明の第２の実施の形態におけるイエローの感光体ドラムの計数処理の動作を示すフローチャート、図１０は本発明の第２の実施の形態におけるマゼンタの感光体ドラムの計数処理の動作を示すフローチャート、図１１は本発明の第２の実施の形態におけるシアンの感光体ドラムの計数処理の動作を示すフローチャートである。
【００４１】
まず、図９のフローチャートについて説明する。
ステップＳ３１  計数エリア２４のイエローの感光体ドラム５１Ｙのエリアをカウントアップする。
ステップＳ３２  計数値を計数変換第１エリア２５のイエローの感光体ドラム５１Ｙのエリアにコピーし、処理を終了する。
【００４２】
次に、図１０のフローチャートについて説明する。
ステップＳ４１  計数エリア２４のマゼンタの感光体ドラム５１Ｍのエリアをカウントアップする。
ステップＳ４２  計数値を計数変換第１エリア２５のマゼンタの感光体ドラム５１Ｍのエリアにコピーし、処理を終了する。
【００４３】
次に、図１１のフローチャートについて説明する。
ステップＳ５１  計数エリア２４のシアンの感光体ドラム５１Ｃのエリアをカウントアップする。
ステップＳ５２  計数値を計数変換第１エリア２５のシアンの感光体ドラム５１Ｃのエリアにコピーし、処理を終了する。
【００４４】
次に、計数値をＥＥＰＲＯＭ３０の計数格納エリア３２に記録する動作について説明する。
【００４５】
図１２は本発明の第２の実施の形態におけるＥＥＰＲＯＭの格納処理の動作を示すフローチャートである。
【００４６】
ここで、画像形成装置５０が印刷を行うときに、４本の感光体ドラム５１Ｙ、５１Ｍ、５１Ｃ及び５１ＢＫの中でブラックの感光体ドラム５１ＢＫは常に使用される。そのため、ブラックの感光体ドラム５１ＢＫの回転数の計数を行う場合、ＥＥＰＲＯＭ３０の計数格納エリア３２に記録を行う。
【００４７】
まず、計数値変換部１３は、計数値を計数変換第１エリア２５から計数変換第２エリア２６にコピーする。この場合、アドレス１０〜１Ｆは２０〜２Ｆとなる。続いて、計数変換第２エリア２６の計数値をＥＥＰＲＯＭ３０の計数格納エリア３２に記録するための値に変換する。このとき、ビット判定部１４は、ブラックの感光体ドラム５１ＢＫの計数値におけるビット１５とビット７とを比較する。これは、計数変換第２エリア２６のアドレス２８と２Ｃとの最上位ビットを比較することになる。そして、計数値のビット１５とビット７とが等しいか否か判断し、等しい場合にはそのままにする。また、等しくない場合、計数変換第２エリア２６のアドレス２８〜２Ｂにおけるビット１５〜８のエリアとアドレス２Ｃ〜２Ｆにおけるビット７〜０のエリアとの４バイトの値を交換する。この場合、アドレス２８〜２Ｂは２Ｃ〜２Ｆとなり、アドレス２Ｃ〜２Ｆは２８〜２Ｂとなる。
【００４８】
続いて、ブラックの感光体ドラム５１ＢＫの計数値におけるビット３１とビット１５との比較を行う。これは、計数変換第２エリア２６のアドレス２０と２８との最下位ビットを比較することになる。そして、計数値のビット３１とビット１５とが等しいか否か判断し、等しい場合にはそのままにする。また、等しくない場合、計数変換第２エリア２６の上位８バイトと下位８バイトとの値を交換する。すなわち、アドレス２０〜２７のビット３１〜２４及びビット２３〜１６のエリアとアドレス２８〜２Ｆのビット１５〜８及びビット７〜０のエリアとの値を入れ替える。この場合、アドレス２０〜２７は２８〜２Ｆとなり、アドレス２８〜２Ｆは２０〜２７となる。
【００４９】
続いて、計数値書込部１５は、計数変換第２エリア２６からＥＥＰＲＯＭ３０上の計数格納エリア３２に記録する。このとき、２バイト毎に記録を行うが、計数格納シャドーエリア２７と計数格納エリア３２には同じ計数値が記録されているとみなし、計数変換第２エリア２６と計数格納シャドーエリア２７とを２バイト毎に比較する。そして、計数変換第２エリア２６と計数格納シャドーエリア２７とが等しいときは、ＥＥＰＲＯＭ３０上の計数格納エリア３２には記録する必要がない。また、計数変換第２エリア２６と計数格納シャドーエリア２７とが異なる場合、計数変換第２エリア２６から計数格納シャドーエリア２７とＥＥＰＲＯＭ３０上の計数格納エリア３２との双方に計数値を記録する。すなわち、計数変換第２エリア２６と計数格納シャドーエリア２７とを比較し、異なる部分のみをＥＥＰＲＯＭ３０に記録する。この場合、アドレス２０〜２Ｆは、００〜０Ｆ（ＥＥＰＲＯＭ３０）となる。そして、計数値を計数変換第２エリア２６から計数格納シャドーエリア２７にコピーし、処理を終了する。この場合、アドレス２０〜２Ｆは、３０〜３Ｆとなる。
【００５０】
次に、フローチャートについて説明する。
ステップＳ６１  計数値を計数変換第１エリア２５から計数変換第２エリア２６にコピーする。
ステップＳ６２  ブラックの感光体ドラム５１ＢＫの計数値のビット１５とビット７との比較を行う。
ステップＳ６３  ビット１５とビット７とが等しいか否かを判断する。ビット１５とビット７とが等しい場合はステップＳ６５に進み、ビット１５とビット７とが等しくない場合はステップＳ６４に進む。
ステップＳ６４  計数変換第２エリア２６のアドレス２８〜２Ｂの値とアドレス２Ｃ〜２Ｆの値とを交換する。
ステップＳ６５  ブラックの感光体ドラム５１ＢＫの計数値のビット３１とビット１５との比較を行う。
ステップＳ６６  ビット３１とビット１５とが等しいか否かを判断する。ビット３１とビット１５とが等しい場合はステップＳ６８に進み、ビット３１とビット１５とが等しくない場合はステップＳ６７に進む。
ステップＳ６７  計数変換第２エリア２６の上位８バイトの値と下位８バイトの値とを交換する。
ステップＳ６８  計数変換第２エリア２６と計数格納シャドーエリア２７とを比較し、異なる部分だけＥＥＰＲＯＭ３０に記録する。
ステップＳ６９  計数値を計数変換第２エリア２６から計数格納シャドーエリア２７にコピーし、処理を終了する。
【００５１】
次に、電源投入時等の初期化時にＥＥＰＲＯＭ３０から計数値を読み出して復元する動作について説明する。
【００５２】
図１３は本発明の第２の実施の形態における計数値読出処理の動作を示すフローチャートである。
【００５３】
まず、制御部１０のＣＰＵ１１は、電源投入時等に計数値をＥＥＰＲＯＭ３０上の計数格納エリア３２から読み出す。この場合、計数値読出部１６が計数格納エリア３２から読み出した計数値をＲＡＭ２０上の計数格納シャドーエリア２７及び計数変換第２エリア２６にコピーする。そして、アドレス００〜０Ｆ（ＥＥＰＲＯＭ３０）は３０〜３Ｆとなり、アドレス３０〜３Ｆは２０〜２Ｆとなる。
【００５４】
続いて、計数値変換部１３が計数変換第２エリア２６の計数値を元の値に変換する。まず、ブラックの感光体ドラム５１ＢＫの計数値におけるビット３１とビット１５とを比較する。これは、計数変換第２エリア２６のアドレス２０と２８の最下位ビットを比較することになる。そして、計数値のビット３１とビット１５とが等しいか否か判断し、等しい場合にはそのままにする。また、等しくない場合、計数変換第２エリア２６の上位８バイトと下位８バイトとの値を交換する。すなわち、計数変換第２エリア２６のアドレス２０〜２７におけるビット３１〜２４及びビット２３〜１６のエリアとアドレス２８〜２Ｆにおけるビット１５〜８及びビット７〜０のエリアとの４バイトの値を交換する。この場合、アドレス２０〜２７は２８〜２Ｆとなり、アドレス２８〜２Ｆは２０〜２７となる。
【００５５】
続いて、ブラックの感光体ドラム５１ＢＫの計数値におけるビット１５とビット７との比較を行う。これは、計数変換第２エリア２６のアドレス２８と２Ｃの最上位ビットを比較することになる。そして、計数値のビット１５とビット７とが等しいか否か判断し、等しい場合にはそのままにする。また、等しくない場合、計数変換第２エリア２６のアドレス２８〜２Ｂにおけるビット１５〜８のエリアとアドレス２Ｃ〜２Ｆにおけるビット７〜０のエリアとの４バイトの値を交換する。この場合、アドレス２８〜２Ｂは２Ｃ〜２Ｆとなり、アドレス２Ｃ〜２Ｆは２８〜２Ｂとなる。
【００５６】
続いて、計数値を計数変換第２エリア２６から計数変換第１エリア２５にコピーする。この場合、アドレス２０〜２Ｆは１０〜１Ｆとなる。続いて、ブラックの感光体ドラム５１ＢＫの計数値を計数変換第１エリア２５から計数エリア２４にコピーする。このとき、計数変換第１エリア２５のブラックの感光体ドラム５１ＢＫのエリアは連続したアドレスにはなく、図７に示されるように、計数変換第１エリア２５における（１）、（２）、（３）及び（４）で示される配置となっているので、１バイト毎にコピーする。すると、アドレス１０、１４、１８及び１Ｃは、００〜０３となる。
【００５７】
続いて、同様に、イエローの感光体ドラム５１Ｙの計数値を計数変換第１エリア２５から計数エリア２４にコピーする。すると、アドレス１１、１５、１９及び１Ｄは、０４〜０７となる。続いて、同様に、マゼンタの感光体ドラム５１Ｍの計数値を計数変換第１エリア２５から計数エリア２４にコピーする。すると、アドレス１２、１６、１Ａ及び１Ｅは、０８〜０Ｂとなる。続いて、同様に、シアンの感光体ドラム５１Ｃの計数値を計数変換第１エリア２５から計数エリア２４にコピーして処理を終了する。すると、アドレス１３、１７、１Ｂ及び１Ｆは、０Ｃ〜０Ｆとなる。
【００５８】
次に、フローチャートについて説明する。
ステップＳ７１  計数値をＥＥＰＲＯＭ３０の計数格納エリア３２から読み出す。
ステップＳ７２  ブラックの感光体ドラム５１ＢＫの計数値のビット３１とビット１５とを比較する。
ステップＳ７３  ビット３１とビット１５とが等しいか否かを判断する。ビット３１とビット１５とが等しい場合はステップＳ７５に進み、ビット３１とビット１５とが等しくない場合はステップＳ７４に進む。
ステップＳ７４  計数変換第２エリア２６の上位８バイトの値と下位８バイトの値とを交換する。
ステップＳ７５  ブラックの感光体ドラム５１ＢＫの計数値のビット１５とビット７とを比較する。
ステップＳ７６  ビット１５とビット７とが等しいか否かを判断する。ビット１５とビット７とが等しい場合はステップＳ７８に進み、ビット１５とビット７とが等しくない場合はステップＳ７７に進む。
ステップＳ７７  計数変換第２エリア２６のアドレス２８〜２Ｂの値とアドレス２Ｃ〜２Ｆの値とを交換する。
ステップＳ７８  計数値を計数変換第２エリア２６から計数変換第１エリア２５にコピーする。
ステップＳ７９  ブラックの感光体ドラム５１ＢＫの計数値を計数変換第１エリア２５から計数エリア２４にコピーする。
ステップＳ８０  イエローの感光体ドラム５１Ｙの計数値を計数変換第１エリア２５から計数エリア２４にコピーする。
ステップＳ８１  マゼンタの感光体ドラム５１Ｍの計数値を計数変換第１エリア２５から計数エリア２４にコピーする。
ステップＳ８２  シアンの感光体ドラム５１Ｃの計数値を計数変換第１エリア２５から計数エリア２４にコピーし、処理を終了する。
【００５９】
このように、本実施の形態においては、概ね２５６回計数する度に、計数値の書込頻度の高い下位１バイト、及び、書込頻度の低い上位３バイトのうちのいずれか１バイトのＥＥＰＲＯＭ３０上の格納位置が入れ替わるようになっている。そのため、記憶エリアを追加することなく、ＥＥＰＲＯＭ３０の見掛け上の書込寿命を約４倍に延ばすことができる。
【００６０】
次に、本発明の第３の実施の形態について説明する。なお、第１及び第２の実施の形態と同じ構成を有するものについては、同じ符号を付与することによって、その説明を省略する。また、前記第１及び第２の実施の形態と同じ動作及び同じ効果についても、その説明を省略する。
【００６１】
図１４は本発明の第３の実施の形態におけるメモリ書込装置の概略図、図１５は本発明の第３の実施の形態における計数値変換テーブルの例を示す図である。
【００６２】
本実施の形態におけるメモリ書込装置は、図１４に示されるように、制御部１０、ＲＡＭ２０、ＥＥＰＲＯＭ３０、Ｉ／Ｏ４０及びセンサ４１を有する。そして、前記制御部１０は、ＣＰＵ１１、計数部１２、計数値変換部１３、計数値書込部１５、計数値読出部１６及び変換データとしての計数値変換テーブル１７を有する。ここで、前記ＣＰＵ１１は、演算手段を備え、メモリ書込装置全体の動作を制御する。また、前記計数部１２は計数事象を計数し、ＥＥＰＲＯＭ３０に記録する。このとき、計数値変換部１３は、前記計数値変換テーブル１７を用いて計数値の変換を行う。なお、計数値変換テーブル１７は、具体的には、図１５に示されるような構成を備えるテーブルである。また、前記計数値読出部１６は、ＥＥＰＲＯＭ３０から計数値の読出を行う。
【００６３】
また、前記ＲＡＭ２０は、ランダムアクセスメモリであり、計数されたデータを一時保管する。そして、前記ＲＡＭ２０は計数を行うための計数エリア２１を備え、該計数エリア２１は４バイトで構成されている。
【００６４】
さらに、前記ＥＥＰＲＯＭ３０は、計数されたデータを保管する電気的に書換可能なリードオンリーメモリである。そして、前記ＥＥＰＲＯＭ３０は計数格納エリア３１を備え、該計数格納エリア３１は４バイトで構成されている。
【００６５】
また、Ｉ／Ｏ４０は、センサ４１と接続され、所望の計数事象を取り込む。
【００６６】
次に、前記計数値変換テーブル１７の作成方法について説明する。
【００６７】
図１６は本発明の第３の実施の形態における２ビット４カウントの変換テーブルの例を示す図、図１７は本発明の第３の実施の形態における４ビット１６カウントの変換テーブルの例を示す図、図１８は本発明の第３の実施の形態における８ビット２５６カウントの変換テーブルの例を示す図である。
【００６８】
まず、図１６に示されるような２ビット４カウントの変換テーブルを用意する。変換前の計数値を２進で表すと、最下位ビットが常に０→１又は１→０に書き換えられていることが分かる。すなわち、４カウントを行う間に最下位ビットでは４回の書換が発生していることになる。これに比べて、変換後の計数値を２進で表すと、４カウントを行う間に最下位ビットでも２回の書換しか発生しないことが分かる。
【００６９】
次に、図１７に示されるような４ビット１６カウントの変換テーブルを作成する。これは、カウント値を上位２ビットと下位２ビットとに分けて考え、計算方法を
「下位２ビットをカウントアップ」、
「上位２ビットをカウントアップ」、
「下位２ビットをカウントアップ」、
「上位２ビットをカウントアップ」
と４カウントを１サイクルとし、４サイクルで１６カウントを計数すると、図１６に示されるように、変換前の計数値Ａが計数後に計数値Ｂになる。これを上位と下位とを別々に図１６に示されるような２ビット４カウントの変換テーブルを用いて変換すると、計数値Ｃになる。これから、「上位×４＋下位」で変換後の計数値を算出すると計数値Ｄになり、最も書換頻度の高い最下位ビットでも１６カウントを行う間に６回の書換しか発生しないことが分かる。
【００７０】
次に、図１８に示されるような８ビット２５６カウントの変換テーブルを作成する。これは、カウント値を上位４ビットと下位４ビットとに分けて考え、計数方法を
「下位４ビットをカウントアップ」、
「上位４ビットをカウントアップ」、
「下位４ビットをカウントアップ」、
「上位４ビットをカウントアップ」、
「下位４ビットをカウントアップ」、
「上位４ビットをカウントアップ」、
「下位４ビットをカウントアップ」、
「上位４ビットをカウントアップ」、
「下位４ビットをカウントアップ」、
「上位４ビットをカウントアップ」、
「下位４ビットをカウントアップ」、
「上位４ビットをカウントアップ」、
「下位４ビットをカウントアップ」、
「上位４ビットをカウントアップ」、
「下位４ビットをカウントアップ」、
「上位４ビットをカウントアップ」
と１６カウントを１サイクルとして、１６サイクルで２５６カウントを計数すると、図１８に示されるように、変換前の計数値Ｅが変換後に計数値Ｆになる。これを、上位と下位とを別々に図１７に示されるような４ビット１６カウントの変換テーブルを用いて変換すると、計数値Ｇになる。これから、「上位×１６＋下位」で変換後の計数値を算出すると計数値Ｈになり、図１８に示される計数値Ｅ及び計数値Ｈを取り出したものが、前述された図１５に示されるような計数値変換テーブルである。これを見ると、最も書換頻度の高い最下位ビットでも、２５６カウントを行う間に５４回の書換しか発生しないことが分かる。
【００７１】
次に、本実施の形態におけるメモリ書込装置の動作について説明する。まず、計数値をＥＥＰＲＯＭ３０に記録する動作について説明する。
【００７２】
図１９は本発明の第３の実施の形態における計数処理の動作を示すフローチャートである。
【００７３】
まず、制御部１０のＣＰＵ１１が、Ｉ／Ｏ４０を経由して、センサ４１から計数事象を取り込んで計数を行う場合、計数部１２がＲＡＭ２０上の計数エリア２１をカウントアップする。続いて、計数値書込部１５は、計数エリア２１からＥＥＰＲＯＭ３０上の計数格納エリア３１に記録するが、このとき、計数値変換部１３は、計数値の下位１バイトを図１５に示されるような計数値変換テーブル１７によって変換を行う。
【００７４】
次に、フローチャートについて説明する。
ステップＳ９１  計数エリア２１をカウントアップする。
ステップＳ９２  計数値の下位１バイトを計数値変換テーブル１７によって変換する。
ステップＳ９３  変換した計数値を計数格納エリア３１に記録し、処理を終了する。
【００７５】
次に、電源投入時等の初期化時に、ＥＥＰＲＯＭ３０から計数値を読み出して復元する動作について説明する。
【００７６】
図２０は本発明の第３の実施の形態における計数値読出処理の動作を示すフローチャートである。
【００７７】
まず、電源投入時等に制御部１０のＣＰＵ１１がＥＥＰＲＯＭ３０上の計数格納エリア３１から計数値を読み出す場合、計数値読出部１６は計数格納エリア３１から読み出した計数値をＲＡＭ２０上の計数エリア２１に計数値を復元してコピーする。このとき、図１５に示されるように、計数値変換テーブル１７の変換後の計数値である変換値は昇順に並んでいるわけではないので、変換値の欄から値を検索して逆変換する必要がある。ただし、この操作が必要になるのは、電源投入時等の初期化時にＥＥＰＲＯＭ３０から計数値を読み出して復元する場合だけである。
【００７８】
次に、フローチャートについて説明する。
ステップＳ１０１  計数値をＥＥＰＲＯＭ３０の計数格納エリア３１から読み出す。
ステップＳ１０２  読み出した計数値の下位１バイトを計数値変換テーブル１７の変換値の欄から検索する。
ステップＳ１０３  読み出した計数値の下位１バイトを計数値変換テーブル１７によって逆変換する。
ステップＳ１０４  変換した計数値を計数エリア２１にコピーし、処理を終了する。
【００７９】
このように、本実施の形態においては、計数する度に最下位の１ビットが毎回書き換えられていたものが、計数値の下位１バイトをＥＥＰＲＯＭ３０に格納するための値に変換することによって、計数値の書換頻度の最も高い最下位の１ビットでも２５６回計数する度に５４回の書換しか発生しないようになる。そのため、記憶エリアを追加することなく、ＥＥＰＲＯＭ３０の見掛け上の書込寿命を約４．７倍に延ばすことができる。
【００８０】
なお、プリンタ、ファクシミリ等の印刷装置、コピー機、スキャナ等の画像入力装置、その他のＥＥＰＲＯＭが利用されている装置であって、感光体ドラムのカウンタ等の計数値をＥＥＰＲＯＭに格納する装置に、前記第１〜第３の実施の形態において説明したメモリ書込装置を適用することによって、本来記憶すべき情報とは別に書込回数を記憶させたり、複数の記憶エリアを用いる等のように記憶エリアを追加することなく、ＥＥＰＲＯＭの書込回数制限、すなわち、寿命を延ばすことができる。
【００８１】
また、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【図面の簡単な説明】
【００８２】
【図１】本発明の第１の実施の形態におけるメモリ書込装置の概略図である。
【図２】本発明の第１の実施の形態における計数値と変換した値との対応を示す図である。
【図３】本発明の第１の実施の形態における計数処理の動作を示すフローチャートである。
【図４】本発明の第１の実施の形態における計数値読出処理の動作を示すフローチャートである。
【図５】本発明の第１の実施の形態における簡単化した処理を示す図である。
【図６】本発明の第２の実施の形態におけるタンデム式カラー画像形成装置の概略図である。
【図７】本発明の第２の実施の形態におけるメモリ書込装置の概略図である。
【図８】本発明の第２の実施の形態におけるブラックの感光体ドラムの計数処理の動作を示すフローチャートである。
【図９】本発明の第２の実施の形態におけるイエローの感光体ドラムの計数処理の動作を示すフローチャートである。
【図１０】本発明の第２の実施の形態におけるマゼンタの感光体ドラムの計数処理の動作を示すフローチャートである。
【図１１】本発明の第２の実施の形態におけるシアンの感光体ドラムの計数処理の動作を示すフローチャートである。
【図１２】本発明の第２の実施の形態におけるＥＥＰＲＯＭの格納処理の動作を示すフローチャートである。
【図１３】本発明の第２の実施の形態における計数値読出処理の動作を示すフローチャートである。
【図１４】本発明の第３の実施の形態におけるメモリ書込装置の概略図である。
【図１５】本発明の第３の実施の形態における計数値変換テーブルの例を示す図である。
【図１６】本発明の第３の実施の形態における２ビット４カウントの変換テーブルの例を示す図である。
【図１７】本発明の第３の実施の形態における４ビット１６カウントの変換テーブルの例を示す図である。
【図１８】本発明の第３の実施の形態における８ビット２５６カウントの変換テーブルの例を示す図である。
【図１９】本発明の第３の実施の形態における計数処理の動作を示すフローチャートである。
【図２０】本発明の第３の実施の形態における計数値読出処理の動作を示すフローチャートである。
【符号の説明】
【００８３】
１７    係数変換テーブル
２０    ＲＡＭ
３０    ＥＥＰＲＯＭ
【図１】
2006236210.tif 000003
【図２】
2006236210.tif 000004
【図３】
2006236210.tif 000005
【図４】
2006236210.tif 000006
【図５】
2006236210.tif 000007
【図６】
2006236210.tif 000008
【図７】
2006236210.tif 000009
【図８】
2006236210.tif 000010
【図９】
2006236210.tif 000011
【図１０】
2006236210.tif 000012
【図１１】
2006236210.tif 000013
【図１２】
2006236210.tif 000014
【図１３】
2006236210.tif 000015
【図１４】
2006236210.tif 000016
【図１５】
2006236210.tif 000017
【図１６】
2006236210.tif 000018
【図１７】
2006236210.tif 000019
【図１８】
2006236210.tif 000020
【図１９】
2006236210.tif 000021
【図２０】
2006236210.tif 000022