(57)【要約】【課題】  メモリ容量の増加、コストアップすることなく、デバイス負担を低減し、カウンタ値の信頼性を高める。【解決手段】  下位カウンタ２ａは、予め全ビットに「１」を書き込んでおき、ビットＯＦＦ（１→０）によりカウントを行う。ビットをＯＮからＯＦＦにすることで、セクタ消去なしで、３２バイトで「２５６」をカウントする。そして、全ビットが「０」になると、再び、全ビットを「１」にリセットし、上記カウント動作を繰り返す。上記カウント動作において、下位カウンタ２ａの全ビットが「０」から「１」にリセットされるとき、桁上がり用の上位カウンタ２ｂを下位ビットから１つずつインクリメントとする。【選択図】    図２
2006164355.tif 000002
【特許請求の範囲】
【請求項１】
各ビットにおいてローのデータをハイのデータへ変更するのに先立って、一旦、セクタ内のデータを全てハイのデータにするセクタ消去を必要とする不揮発性メモリからなる書換え可能なカウンタと、前記カウンタのデータ書き込みおよびデータ読み出しを制御する制御部とを備えるカウンタ装置において、
前記カウンタは、第１のビット数からなり、第１のカウント値をカウントする下位カウンタと、第２のビット数からなり、第２のカウント値をカウントする上位カウンタとからなり、
前記制御部は、１ビット単位でビットをハイからローにすることで前記下位カウンタの第１のカウント値を更新するとともに、前記下位カウンタによる前記第１のカウント値が一巡する度に前記上位カウンタの第２のカウント値を更新することを特徴とするカウンタ装置。
【請求項２】
前記制御部は、前記下位カウンタの全ビットがオフとなると、前記下位カウンタの全ビットをハイにリセットすることを特徴とする請求項１記載のカウンタ装置。
【請求項３】
各ビットにおいてローのデータをハイのデータへ変更するのに先立って、一旦、セクタ内のデータを全てハイのデータにするセクタ消去を必要とする不揮発性メモリからなる書換え可能なカウンタのデータ書き込みおよびデータ読み出しを制御するカウント方法において、
前記カウンタを、第１のビット数からなり、第１のカウント値をカウントする下位カウンタと、第２のビット数からなり、第２のカウント値をカウントする上位カウンタとから構成し、１ビット単位でビットをハイからローにすることで前記下位カウンタの第１のカウント値を更新するとともに、前記下位カウンタによる前記第１のカウント値が一巡する度に前記上位カウンタの第２のカウント値を更新することを特徴とするカウント方法。
【請求項４】
前記下位カウンタの全ビットがオフとなると、前記下位カウンタの全ビットをハイにリセットすることを特徴とする請求項３記載のカウント方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを使用したカウンタ装置およびカウント方法に関する。
【背景技術】
【０００２】
プリンタや複写機は、多くのカウンタを不揮発性メモリ（フラッシュメモリ：登録商標）で管理している。カウンタは、印刷枚数をカウントするもので、課金目的などでも使用されるため、高い信頼性が要求される。ところで、不揮発性メモリは、使用頻度が高いビットほど信頼性が低くなっていく。そこで、メーカは、書き込み保証回数を設定しており、それを超えた場合には不揮発性メモリの信頼性が著しく低下する（メーカ保証されない）。
【０００３】
不揮発性メモリは、そのデバイス特性により、カウンタが更新される度に、カウンタ値を不揮発性メモリ上の同じ箇所に上書きすることはできない。つまり、不揮発性メモリでは、セクタと呼ばれる単位で記憶領域が分けられており、データ更新時に、ＯＦＦとなっているビットをＯＮにするためには、一旦、セクタ内のデータを全てビットＯＮ（０ｘｆｆ）にするセクタ消去を行った後、新たなデータを書き込む必要がある。
【０００４】
一般に、カウンタとしては、図４に示すように、予め全ビットに「０」を書き込んでおき、カウントする際には、下位ビットから１ビットづつカウントアップしていく。上述したように、不揮発性メモリでは、ＯＦＦとなっているビットをＯＮにするためには、一旦、セクタ内のデータを全てビットＯＮ（０ｘｆｆ）にするセクタ消去を行う必要がある。したがって、この場合、図５に示すように、カウンタ値を更新する度に、セクタ消去を行うことになり、カウンタのビット数分の書き込みが発生する。このため、上述したように、不揮発性メモリの信頼性低下が早まることなる。カウンタ値の信頼性を高めるためには、書き換え回数は少ないほうが望ましい。
【０００５】
そこで、カウンタ値の更新時におけるセクタ消去回数を少なくするための技術がいくつか提案されている（例えば特許文献１、特許文献２参照）。この従来技術では、図６に示すように、予め、カウンタの全ビットに「１」を書き込んでおき、ビットＯＦＦ（１→０）によりカウントを行う。ビットをＯＮからＯＦＦにすることで、カウンタのバイト数分はセクタ消去なしでカウントできるようになっている。
【特許文献１】特開２００１−１１８３９１号公報
【特許文献２】特開平１１−１１０９８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、ビット数＝最大カウンタ値となってしまうため、最大カウント値分のビット数が必要となる。例えば、数十万単位のカウントを行う場合には、数十万ビットが必要となり、メモリ容量、コストを考えると、現実的には搭載が難しくなるという問題があった。
【０００７】
本発明は、このような事情を考慮してなされたものであり、その目的は、メモリ容量の増加、コストアップすることなく、デバイス負担を低減し、カウンタ値の信頼性を高めることができるカウンタ装置およびカウント方法を提供することにある。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明は、各ビットにおいてローのデータをハイのデータへ変更するのに先立って、一旦、セクタ内のデータを全てハイのデータにするセクタ消去を必要とする不揮発性メモリからなる書換え可能なカウンタと、前記カウンタのデータ書き込みおよびデータ読み出しを制御する制御部とを備えるカウンタ装置において、前記カウンタは、第１のビット数からなり、第１のカウント値をカウントする下位カウンタと、第２のビット数からなり、第２のカウント値をカウントする上位カウンタとからなり、前記制御部は、１ビット単位でビットをハイからローにすることで前記下位カウンタの第１のカウント値を更新するとともに、前記下位カウンタによる前記第１のカウント値が一巡する度に前記上位カウンタの第２のカウント値を更新することを特徴とする。
【０００９】
また、本発明は、上記の発明において、前記制御部は、前記下位カウンタの全ビットがオフとなると、前記下位カウンタの全ビットをハイにリセットすることを特徴とする。
【００１０】
また、上述した課題を解決するために、本発明は、各ビットにおいてローのデータをハイのデータへ変更するのに先立って、一旦、セクタ内のデータを全てハイのデータにするセクタ消去を必要とする不揮発性メモリからなる書換え可能なカウンタのデータ書き込みおよびデータ読み出しを制御するカウント方法において、前記カウンタを、第１のビット数からなり、第１のカウント値をカウントする下位カウンタと、第２のビット数からなり、第２のカウント値をカウントする上位カウンタとから構成し、１ビット単位でビットをハイからローにすることで前記下位カウンタの第１のカウント値を更新するとともに、前記下位カウンタによる前記第１のカウント値が一巡する度に前記上位カウンタの第２のカウント値を更新することを特徴とする。
【００１１】
また、本発明は、上記の発明において、前記下位カウンタの全ビットがオフとなると、前記下位カウンタの全ビットをハイにリセットすることを特徴とする。
【発明の効果】
【００１２】
この発明によれば、制御部により、１ビット単位でビットをハイからローにすることで下位カウンタの第１のカウント値を更新するとともに、下位カウンタによる前記第１のカウント値が一巡する度に上位カウンタの第２のカウント値を更新する。したがって、メモリ容量の増加、コストアップすることなく、デバイス負担を低減し、カウンタ値の信頼性を高めることができるという利点が得られる。
【００１３】
また、この発明によれば、前記制御部により、前記下位カウンタの全ビットがオフとなると、前記下位カウンタの全ビットをハイにリセットする。したがって、少ないメモリ容量でフラッシュメモリにおける書き込み保証回数一杯のカウントを行うことができ、コストアップすることなく、デバイス負担を低減し、カウンタ値の信頼性を高めることができるという利点が得られる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態を、図面を参照して説明する。
図１は、本発明の実施形態によるカウンタ装置を示すブロック図である。フラッシュメモリ１は、不揮発性メモリであり、カウンタ２を有する。カウンタ２は、所定のビット数で構成されており、書換えの累積回数をカウントする。制御部３は、カウンタ２のデータ書き込みおよびデータ読み出しを制御する。カウンタ２は、従来のカウンタと同様に、１ビット単位でビットをオン（１）からオフ（０）にすることで１カウントする下位カウンタ２ａと、該下位カウンタ２ａがリセットされる度にリセット回数を一般的なカウント方法（図４参照）でカウントする上位カウンタ２ｂとからなる。なお、以下では、説明を簡単にするために、下位カウンタ２ａを、３２バイト（１バイト＝８ビット、全２５６ビット）とし、上位カウンタ２ｂを、１バイト（８ビット）とする。但し、ビット数は、これに限定されるものでなく、最大カウント値に応じて適宜必要なビット数を確保すればよい。
【００１５】
次に、図２は、上記カウンタ装置の動作を説明するための概念図である。本実施形態では、下位カウンタ２ａで、特許文献１、２で示される従来のカウンタと同様に、予め全ビットに「１」を書き込んでおき、ビットＯＦＦ（１→０）によりカウントを行う。ビットをＯＮからＯＦＦにすることで、セクタ消去なしで、３２バイトで「２５６」をカウントすることが可能である。そして、全ビットが「０」になると、再び、全ビットを「１」にリセットし、上記カウント動作を繰り返す。上記カウント動作において、下位カウンタ２ａの全ビットが「０」から「１」にリセットされるとき、上位カウンタ２ｂを下位ビットから１つずつインクリメントとし、リセット回数をカウントする。したがって、カウンタ２では、２＾８×２５６＝６５５３６カウントすることが可能となる。
【００１６】
ここで、図３は、本実施形態によるカウンタ装置でのセクタ消去の発生頻度を示す概念図である。前述したように、フラッシュメモリ１では、ビットがＯＦＦからＯＮ（０→１）とする場合に、セクタ消去が発生する。すなわち、本実施形態では、図３に示すように、下位カウンタ２ａがリセットされる度、すなわち２５６回に１回、セクタ消去が発生することになる（太枠部分）。また、本実施形態では、ビット単位でカウントしているわけではないので、下位カウンタ２ａのビット数をｎ、上位カウンタ２ｂのビット数をｍとすると、２＾ｍ×ｎだけカウントすることができ、少ないメモリ容量でフラッシュメモリにおける書き込み保証回数一杯のカウントを行うことが可能となる。
【００１７】
本実施形態によれば、メモリ容量の増加、コストアップすることなく、デバイス負担を低減し、カウンタ値の信頼性を高めることができる。つまり、簡単なソフトの変更により、デバイス負担を半分に抑え、カウンタ値の信頼性を高めることができる。
【００１８】
なお、上述した実施形態においては、制御部３は、コンピュータシステム内で実行される。そして、上述した制御部３による一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。すなわち、制御部３における、各処理手段、処理部は、ＣＰＵ等の中央演算処理装置がＲＯＭやＲＡＭ等の主記憶装置に上記プログラムを読み出して、情報の加工・演算処理を実行することにより、実現されるものである。
【００１９】
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態によるカウンタ装置を示すブロック図である。
【図２】本実施形態によるカウンタ装置の動作を説明するための概念図である。
【図３】本実施形態によるカウンタ装置でのセクタ消去の発生頻度を示す概念図である。
【図４】従来の一般的なカウンタの動作を説明するための概念図である。
【図５】従来の一般的なカウンタでのセクタ消去の発生頻度を示す概念図である。
【図６】従来のセクタ消去発生頻度を低減したカウンタの動作を説明するための概念図である。
【符号の説明】
【００２１】
１  フラッシュメモリ（不揮発性メモリ）
２  カウンタ
２ａ  下位カウンタ
２ｂ  上位カウンタ
３  制御部
【図１】
2006164355.tif 000003
【図２】
2006164355.tif 000004
【図３】
2006164355.tif 000005
【図４】
2006164355.tif 000006
【図５】
2006164355.tif 000007
【図６】
2006164355.tif 000008