説明

メンテナンスカウンタ機能を備えた情報処理機器

【課題】 確実にメンテナンスカウンタ値を保持し続けることが可能なメンテナンスカウンタを備えた情報処理機器を提供する。
【解決手段】 プリンタ10は、メンテナンスカウンタ値を記憶するRAM32と、不揮発性メンテナンスカウンタ領域61及び一時的メンテナンスカウンタ値保持領域62を備えたEEPROM33と、プリンタ内部の状態変化の検出に応じてRAM32中のメンテナンスカウンタ値を更新するCPU31と、を備える。CPU31は、所定のタイミングでRAM32のメンテナンスカウンタ値を一時的メンテナンスカウンタ値保持領域62に書き込むとともに、所定のタイミングで一時的メンテナンスカウンタ値保持領域62に記憶されたメンテナンスカウンタ値を不揮発性メンテナンスカウンタ領域61に書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メンテナンスカウンタ機能を備えたプリンタ、スキャナ等の情報処理機器に関する。
【背景技術】
【0002】
一般に、プリンタやスキャナ等の情報処理機器においては、印刷ヘッドや紙送りローラ等、経年変化により消耗する部材の使用頻度をモニターして各部材の寿命を判断するためのメンテナンスカウンタが設けられている。メンテナンスカウンタは、例えばサーマル印刷機構であれば、サーマルヘッドに対し用紙を紙送りした紙送り量や、サーマルヘッドへの通電パルス数等の使用量をカウントする。カウントされた使用量は、不揮発性メモリに記憶されて、値が累積されていき、所定値を超えれば警告を発し、消耗品の交換やメンテナンスを行えるように構成されている。
【0003】
例えば、特許文献1に記載のプリンタでは、消耗品の交換により値がクリアされる第1のメンテナンスカウンタと、消耗品の交換によっても値がクリアされず累積値をカウントし続ける第2のメンテナンスカウンタと、を備えている。このように構成することにより、第1のメンテナンスカウンタを消耗品の寿命を予測して交換を行うためのトリガーとして用いるとともに、第2のメンテナンスカウンタによりプリンタ出荷時からの累積的な使用度合いを測定し、トータル的な使用状況管理を行わせることができる。
【0004】
また、この種のメンテナンスカウンタを備えたものとしては、停電時にもデータが失われないように構成されたものもある。
【0005】
例えば、特許文献2に記載のサーマルプリンタは、電源電圧をモニターし、電源電圧の電圧降下を検出すると停電発生信号を出力する停電検出回路を備えている。停電が発生し、停電発生信号が出力されると、印刷動作を停止し、完全に電源OFFされる前に、RAM中のカウンタ値を不揮発性のEEPROMに書き込むことによって、停電時でも記憶保持するように構成されている。
【0006】
【特許文献1】特開平6−155867号公報
【特許文献2】特開平6−312559号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
メンテナンスカウンタは、各部材の寿命を判断するという観点から考えて、特許文献2に記載されているように、停電等の突然の電源断が発生した場合であってもメンテナンスカウンタのカウンタ値を保持し続けることが重要である。しかしながら、特許文献2に記載したように、停電が発生した後に、完全に電源OFFされる前にRAM中のカウンタ値を不揮発性のEEPROMに常に書き込みが行われるためには、電源OFFとなるまでに制御部が機能するための十分な電圧を保証する必要がある。これが満たされない限り、いくらRAMからEEPROMにバックアップが取られるようにプログラミングされていても、プログラム自体が機能せず、カウンタ値が失われしまう可能性がある。
【0008】
実際には、停電時のEEPROMへの書き込みを高い信頼性で保証するためには、何らかの手段を設けてやる必要がある。このような場合には、例えば、停電発生後にRAMからEEPROMへの書き込みを行うために十分な電圧を確保するための構成(例えば、停電時用補助電源、停電時用給電回路等)を用意してやらねばならないと考えられる。したがって、このように信頼性を高めようとすると、回路構成が複雑化し、機器の大型化やコストアップにつながってしまうという問題がある。
【0009】
また、その他の理由によりEEPROMへの書き込みが失敗してしまう場合も想定される。EEPROMへの書き込みが失敗し、EEPROMの情報が失われてしまうと、長年にわたりカウントし続けたメンテナンスカウンタの情報が失われ、部品の交換時期がわからなくなるといった不具合が発生する虞もある。
【0010】
本発明は、上記課題を考慮し、どのような状況であっても、確実にメンテナンスカウンタ値を保持し続けることが可能なメンテナンスカウンタを備えた情報処理機器を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、以下の構成により達成される。
(1) メンテナンスカウンタ値を記憶する揮発性メモリと、
不揮発性メンテナンスカウンタ領域及び一時的メンテナンスカウンタ値保持領域を備えたEEPROMと、
装置内部の状態変化の検出に応じて前記揮発性メモリ中の前記メンテナンスカウンタ値を更新するCPUと、を備え、
前記CPUは、所定のタイミングで前記揮発性メモリのメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むとともに、所定のタイミングで前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むことを特徴とする情報処理装置。
(2) 前記揮発性メモリには、前記メンテナンスカウンタ値を記憶する第1揮発性メンテナンスカウンタ領域と、前記メンテナンスカウンタ値を記憶する第2揮発性メンテナンスカウンタ領域が構成され、
前記第2揮発性メンテナンスカウンタ領域に記憶された前記メンテナンスカウンタ値は、電源オン時において、前記第1揮発性メンテナンスカウンタ領域のそれと同一であり、
前記第1揮発性メンテナンスカウンタの前記メンテナンスカウンタ値は、装置内部の状態変化の検出に応じて更新され、
前記CPUは、所定時間毎に前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むことを特徴とする(1)に記載の情報処理装置。
(3) 前記CPUは、前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込んだ後、前記第1揮発性メンテナンスカウンタ領域のメンテナンスカウンタ値を前記第2揮発性メンテナンスカウンタ領域にコピーすることを特徴とする(2)に記載の情報処理装置。
(4) 前記CPUは、前記一時的メンテナンスカウンタ値保持領域にメンテナンスカウンタ値を書き込むとともに、メンテナンスカウンタ値が正しく書き込まれたことを保証するデータ有効情報を書き込むことを特徴とする(2)に記載の情報処理装置。
(5) 前記データ有効情報は、前記メンテナンスカウンタ値の対象を示すメンテナンスカウンタ番号を2度書き込むことにより構成されることを特徴とする(4)に記載の情報処理装置。
(6) 前記CPUは、前記一時的メンテナンスカウンタ値保持領域の記憶領域がフルとなると前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むことを特徴とする(1)〜(5)の何れか1項に記載の情報処理装置。
(7) 前記CPUは、前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値が前記不揮発性メンテナンスカウンタ領域に書き込まれた後に、前記一時的メンテナンスカウンタ値保持領域を初期化することを特徴とする(1)〜(6)の何れか1項に記載の情報処理装置。
(8) メンテナンスカウンタ値を記憶する揮発性メモリと、不揮発性メンテナンスカウンタ領域及び一時的メンテナンスカウンタ値保持領域を備えたEEPROMと、装置内部の状態変化の検出に応じて前記揮発性メモリ中の前記メンテナンスカウンタ値を更新するCPUと、を備えた情報処理装置の制御方法であって、
所定のタイミングで前記揮発性メモリのメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むステップと、
所定のタイミングで前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むステップと、を備えたことを特徴とする情報処理装置の制御方法。
(9) 前記揮発性メモリには、前記メンテナンスカウンタ値を記憶する第1揮発性メンテナンスカウンタ領域と、前記メンテナンスカウンタ値を記憶する第2揮発性メンテナンスカウンタ領域が構成され、
前記第2揮発性メンテナンスカウンタ領域に記憶された前記メンテナンスカウンタ値は、電源オン時において、前記第1揮発性メンテナンスカウンタ領域のそれと同一であり、
前記第1揮発性メンテナンスカウンタの前記メンテナンスカウンタ値は、装置内部の状態変化の検出に応じて更新され、
所定時間毎に前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むことを特徴とする(8)に記載の情報処理装置の制御方法。
(10) 前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込んだ後、前記第1揮発性メンテナンスカウンタ領域のメンテナンスカウンタ値を前記第2揮発性メンテナンスカウンタ領域にコピーすることを特徴とする(9)に記載の情報処理装置の制御方法。
(11) 前記一時的メンテナンスカウンタ値保持領域にメンテナンスカウンタ値を書き込むとともに、メンテナンスカウンタ値が正しく書き込まれたことを保証するデータ有効情報を書き込むことを特徴とする(9)に記載の情報処理装置の制御方法。
(12) 前記データ有効情報は、前記メンテナンスカウンタ値の対象を示すメンテナンスカウンタ番号を2度書き込むことにより構成されることを特徴とする(11)に記載の情報処理装置の制御方法。
(13) 前記一時的メンテナンスカウンタ値保持領域の記憶領域がフルとなると前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むことを特徴とする(8)〜(12)の何れか1項に記載の情報処理装置の制御方法。
(14) 前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値が前記不揮発性メンテナンスカウンタ領域に書き込まれた後に、前記一時的メンテナンスカウンタ値保持領域を初期化することを特徴とする(8)〜(13)の何れか1項に記載の情報処理装置の制御方法。
【発明の効果】
【0012】
本発明によれば、情報処理装置は、メンテナンスカウンタ値を記憶する揮発性メモリと、
不揮発性メンテナンスカウンタ領域及び一時的メンテナンスカウンタ値保持領域を備えたEEPROMと、装置内部の状態変化の検出に応じて前記揮発性メモリ中の前記メンテナンスカウンタ値を更新するCPUと、を備えている。そして、前記CPUは、所定のタイミングで前記揮発性メモリのメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むとともに、所定のタイミングで前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むように構成されている。
【0013】
このように、本発明によれば、EEPROMが不揮発性メンテナンスカウンタ領域及び一時的メンテナンスカウンタ値保持領域の二つを有しており、前記揮発性メモリのメンテナンスカウンタ値がEEPROMの一時的メンテナンスカウンタ値保持領域に正しく書き込まれてしまえば、それ以後は、二つのEEPROMの領域の何れか一方は少なくとも正常な値を取ることができる。したがって、EEPROM中の何れか一方の領域への書き込みが失敗したとしても、他方の領域のデータが正しく存在しているため、データが失われてしまうことが無い。したがって、長年にわたりカウントし続けたメンテナンスカウンタの情報が失われ、部品の交換時期がわからなくなるといった不具合が発生すること無い、信頼性の高いメンテナンスカウンタを構成することができる。
【0014】
また、本発明によれば、前記揮発性メモリは、前記メンテナンスカウンタ値を記憶する第1揮発性メンテナンスカウンタ領域と、前記メンテナンスカウンタ値を記憶する第2揮発性メンテナンスカウンタ領域が構成されており、前記第1揮発性メンテナンスカウンタの前記メンテナンスカウンタ値を装置内部の状態変化の検出に応じて更新し、所定時間毎に前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むように構成されている。このように構成することにより、書き込み速度の遅いEEPROMへの書き込み回数を減少させることが可能となり、メンテナンスカウンタによる処理負荷の少ない情報処理装置を構成することが可能となる。
【0015】
また、本発明によれば、前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込んだ後、前記第1揮発性メンテナンスカウンタ領域のメンテナンスカウンタ値を前記第2揮発性メンテナンスカウンタ領域にコピーする。このように、構成することにより、所定時間が経過する毎に前記第2揮発性メンテナンスカウンタ領域のメンテナンスカウンタ値を最新のものとすることが可能となり、所定時間毎の第1揮発性メンテナンスカウンタ領域の情報の更新の有無を確実に把握することが可能となる。
【0016】
また、本発明によれば、前記一時的メンテナンスカウンタ値保持領域にメンテナンスカウンタ値を書き込むとともに、メンテナンスカウンタ値が正しく書き込まれたことを保証するデータ有効情報が書き込まれているので、EEPROM中の前記一時的メンテナンスカウンタ値保持領域に書き込まれたデータが有効であるか、無効であるかをすぐに判断することができる。そして、無効なデータについては、不揮発性メンテナンスカウンタへの書き込みを行わせないようにすることにより、不揮発性メンテナンスカウンタのデータが壊れて失われるといった不具合が生じることがない。
【0017】
また、本発明によれば、前記データ有効情報は、前記メンテナンスカウンタ値の対象を示すメンテナンスカウンタ番号を2度書き込むことにより構成することができる。このメンテナンスカウンタ番号の少なくとも一方は、少なくとも前記メンテナンスカウンタ値の書き込みを終えた後に行うようにすることにより、双方が一致していれば少なくとも前記メンテナンスカウンタ値を書き込んだ時点では、情報処理装置が確実に動作していることを保証でき、信頼性を高めることができる。
【0018】
また、本発明によれば、前記一時的メンテナンスカウンタ値保持領域の記憶領域がフルとなると前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むように構成されている。したがって、書き込みに時間がかかるEEPROMへの書き込み回数を減らすことができ、メンテナンスカウンタによる処理負荷の少ない情報処理装置を構成することが可能となる。
【0019】
また、本発明によれば、前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値が前記不揮発性メンテナンスカウンタ領域に書き込まれた後に、前記一時的メンテナンスカウンタ値保持領域を初期化するように構成されている。すなわち、前記不揮発性メンテナンスカウンタ領域が更新されたことが確認された後に、初めて前記一時的メンテナンスカウンタ値保持領域を初期化するので、EEPROMに設けられた二つの記憶領域のうちすくなくとも一方に正しいメンテナンスカウンタ値を保持し続けることが可能となり、メンテナンスカウンタの信頼性を高めることができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明に係る情報処理機器及び情報処理機器の制御方法の一実施形態についてプリンタを例に挙げて説明する。
【0021】
(プリンタの構成について)
図1は、本実施形態のプリンタを示す斜視図である。
本実施形態のプリンタ10は、小切手等のスリップ紙の表面および裏面への印刷と、レシート発行用のロール紙へのロール紙印字が可能な複合型のプリンタである。プリンタ10は、本体部11と、本体部11の上面に開閉可能に設けられた正面側カバー12及び背面側カバー13とを備えている。
【0022】
プリンタ10の本体部11内部には、図示せぬロール紙が装填されている。ロール紙は、本体部11内部に設けられたロール紙搬送路(不図示)を搬送されて、印刷が行われる。そして印刷されたロール紙は、本体部12の上面に開口したロール紙排出口19より排出される。
【0023】
また、プリンタ10の正面側には、スリップ紙を挿入可能なスリップ紙挿入口16が設けられている。スリップ紙挿入口16から挿入されたスリップ紙は、本体部11に設けられたスリップ紙搬送路17を搬送されて、正面側カバー12と背面側カバー13との間に設けられたスリップ紙排出口18から排出される。本実施形態のプリンタ10は、このスリップ紙搬送路17に沿ってスリップ紙を搬送しながらスリップ紙への印刷、スリップ紙の画像読み取り、スリップ紙(特に小切手)上に印字されたMICRの読み取り等を行う。
【0024】
また、背面側カバー13内部には、クレジットカードやIDカード(身分証明書)等のカードの画像読み取り等を行う画像読み取りセンサ(画像読取スキャナ)が設けられている。カードは、背面側カバー13の正面側に設けられたカード挿入口20から挿入されて、画像読み取りセンサに読みとられ、同じくカード挿入口20から排出される。
【0025】
図2は、本実施形態のプリンタの制御構造を示すブロック図である。
本実施形態のプリンタ10は、外部のホストコンピュータと通信可能に接続され、ホストコンピュータから送信される各種コマンドに応じて動作し、印刷や画像読み取りを実行する。プリンタ10は、主として、CPU31、RAM32、EEPROM33、フラッシュROM34、通信インタフェース35、スリップ紙裏面印刷機構41、スリップ紙表面印刷機構42、ロール紙印刷機構43、MICR読み取り機構51、オートカッタ機構52、スリップ紙読み取り機構53、及びカード読み取り機構54を備え、それぞれは内部バス60により電気的に接続されている。なお、図2では、模式的に一つの内部バス60で各部が接続されているとして説明しているが、各部が機能する限りにおいて、他の構成で接続されていてもよい。
【0026】
CPU31は、プリンタ10の制御中枢であって、フラッシュROM34に書き込まれたファームウェアを実行することにより、各種印刷機構41〜43、各種読み取り機構51,53,54及びオートカッタ機構52等の動作を制御する。
【0027】
RAM32は、プリンタ10における揮発性の記憶領域である。図2では、模式的に一つのRAM32が描かれているが用途に応じて複数のRAMチップが設けられていてもよい。このRAM32には、ホストコンピュータから受信したデータを一時的に保存する受信バッファ、展開された印刷データを一時的に保存する印刷バッファ、画像データを保存する画像バッファ等が設けられている。また、揮発性メンテナンスカウンタの一部を構成するカウンタ値記憶領域が設けられている。これについては、後ほど詳述する。
【0028】
EEPROM33は、1byte毎にデータを電気的に書き換え可能な不揮発性メモリであり、内部に電源断時にもカウンタ値を保持するための不揮発性メンテナンスカウンタが記憶されている。これについても、後ほど詳述する。
【0029】
フラッシュROM34は、所定のセクタ単位でデータを電気的に書き換え可能な不揮発性メモリであり、内部にプリンタ制御用のファームウェアが書き込まれている。
【0030】
通信インタフェース35は、外部のホストコンピュータとの通信を行うインタフェースである。ホストコンピュータから受信するデータ及びホストコンピュータへ送信されるデータは、すべてこの通信インタフェースを介して送受信される。
【0031】
スリップ紙裏面印刷機構41は、スリップ紙搬送路17に沿って配置され、スリップ紙の裏面に対して印刷を行う印刷機構である。スリップ紙裏面印刷機構41は、シャトルインパクトドットマトリクス方式の印刷ヘッドを備えており、CPU31からの指示に応じて印刷ヘッドを駆動することにより印刷を行う。
【0032】
スリップ紙表面印刷機構42は、スリップ紙搬送路17に沿って配置され、スリップ紙の表面に対して印刷を行う印刷機構である。スリップ紙表面印刷機構42は、シリアルインパクトドットマトリクス方式の印刷ヘッドを備えており、CPU31からの指示に応じて印刷ヘッドを駆動することにより印刷を行う。
【0033】
ロール紙印刷機構43は、ロール紙搬送路に沿って配置され、ロール紙に対して印刷を行う印刷機構である。ロール紙印刷機構43は、サーマル方式の印刷ヘッドを備えており、CPU31からの指示に応じて印刷ヘッドを駆動することにより印刷を行う。
【0034】
MICR読み取り機構51は、スリップ紙搬送路17のスリップ紙挿入口16近傍に設けられ、スリップ紙搬送路17を搬送されるスリップ紙に形成された磁気文字(MICR文字)を読みとる磁気読み取りセンサである。
【0035】
オートカッタ機構52は、ロール紙搬送路に沿ってロール紙排出口19近傍に設けられており、CPU31から出力されるオートカッタ駆動信号に応じて稼働し、搬送されているロール紙を切断する。
【0036】
スリップ紙読み取り機構53は、スリップ紙搬送路17に沿って設けられており、スリップ紙紙をスキャンして画像を取得する画像読み取りセンサを備えている。
同様に、カード読み取り機構53は、カード搬送路に沿って設けられており、カード挿入口20から挿入されたカードをスキャンしてカード画像を取得するカード画像読み取りセンサを備えている。
【0037】
このように、本実施形態のプリンタ10は、スリップ紙に対して表面及び裏面の印刷、スリップ紙に形成された磁気文字の読み取り及びスリップ紙のスキャンを行って画像を取得するとともに、ロール紙に対して印刷を行い、そしてカードのスキャンを行って画像を取得することが可能な多機能プリンタである。
【0038】
(メンテナンスカウンタについて)
次に、図3を参照して、本実施形態のプリンタ10におけるメンテナンスカウンタの構成について説明する。
【0039】
図3は、EEPROM及びRAMの内部状態を示す模式図である。
本実施形態のプリンタ10では、EEPROM33とRAM32内によってメンテナンスカウンタが構成されている。
【0040】
EEPROM33には、不揮発性メンテナンスカウンタ領域61と、一時的メンテナンスカウンタ値保持領域62とを備えている。また、RAM32は、第1揮発性メンテナンスカウンタ領域71と、第2揮発性メンテナンスカウンタ領域72と、一時的データバッファ領域73と、を備えている。
【0041】
まず、EEPROM33に設けられた不揮発性メンテナンスカウンタ領域61について説明する。
図4は、不揮発性メンテナンスカウンタ領域61に記憶されるメンテナンスカウンタの種類及び状態を示す表である。
不揮発性メンテナンスカウンタ領域61は、メンテナンスカウンタとしてのメイン記憶領域であり、電源OFF時にもカウンタ値が記憶される領域である。この不揮発性メンテナンスカウンタ領域61には、図4に示すように1〜13及び17〜29の項目についてメンテナンスカウンタが用意されている。これらのメンテナンスカウンタの値は、プリンタ10自身、並びにスリップ紙裏面印刷機構41、スリップ紙表面印刷機構42、ロール紙印刷機構43、MICR読み取り機構51、オートカッタ機構52、スリップ紙読み取り機構53、及びカード読み取り機構54をどれだけ使用したか示すカウンタ値となっている。各カウンタ値は4byteのデータ量を有しており、プリンタ内部では、メンテナンスカウンタの名称は、ここには示さない内部カウンタ番号で参照されるように構成されている。
【0042】
なお、不揮発性メンテナンスカウンタ領域61においては、初回電源オン時には、初期の不定値状態を解消するため全メンテナンスカウンタが0に初期化される。
【0043】
次に、RAM32に設けられた第1揮発性メンテナンスカウンタ領域71及び第2揮発性メンテナンスカウンタ領域72について説明する。
第1揮発性メンテナンスカウンタ領域71及び第2揮発性メンテナンスカウンタ領域72は、それぞれ不揮発性メンテナンスカウンタ領域61と同様のデータ構造を有している。第1揮発性メンテナンスカウンタ領域71及び第2揮発性メンテナンスカウンタ領域72は、プリンタ起動時に不揮発性メンテナンスカウンタ領域61からそれぞれデータがコピーされることにより形成される。
【0044】
第1揮発性メンテナンスカウンタ領域71は、プリンタ10が使用されていき、各部が駆動されたことを検出するとCPU31により逐次カウンタ値が書き換えられて、カウンタ値が更新されていく領域である。言い換えると、第1揮発性メンテナンスカウンタ領域71は、プリンタ10の状態に応じてリアルタイムに最新のメンテナンスカウンタ値が最初に書き込まれる逐次書換領域である。
【0045】
第2揮発性メンテナンスカウンタ領域72は、第1揮発性メンテナンスカウンタ領域71が更新される以前は、全く同一のデータ構造を有しており、CPU31が所定タイミング毎に第1揮発性メンテナンスカウンタ領域61のカウンタ値と比較参照することにより、どのメンテナンスカウンタ値が更新されたかを把握するための参照領域として用いられる。
ここで、CPU31による比較は、CPU31の負荷が高まりプリンタ10のパフォーマンスが低下しない程度に短い時間間隔で行われることが好ましく、メンテナンスカウンタ値の書き換え頻度を考慮すると、典型的には例えば5分間隔で一回比較参照される。
【0046】
ここで、リアルタイムで書き換えられるメンテナンスカウンタとして、第1揮発性メンテナンスカウンタ領域71を用いる理由としては、EEPROM33への書き込み速度がRAM32への書き込み速度よりも遅い。したがって、処理負荷等を考慮すると、メンテナンスカウンタを構成するためには、RAM32にある程度更新情報を集めておき、一度にEEPROM33にRAM32からメンテナンスカウンタ値をコピーした方が効率的であることが挙げられる。
【0047】
次に、EEPROM33に設けられた一時的メンテナンスカウンタ値保持領域62について説明する。
図5は、一時的メンテナンスカウンタ値保持領域62に記憶される情報を示す表である。
一時的メンテナンスカウンタ値保持領域62は、不揮発性メンテナンスカウンタ領域61に書き込まれる更新データが一時的に保持される領域である。この一時的メンテナンスカウンタ値保持領域62には、CPU31が所定タイミング毎に第1揮発性メンテナンスカウンタ領域61のカウンタ値と第2揮発性メンテナンスカウンタ領域62のカウンタ値を比較参照した結果、更新されているものがあれば、更新されていたメンテナンスカウンタ番号と、更新後のカウンタ値がCPU31により書き込まれる。
【0048】
一時的メンテナンスカウンタ値保持領域62には、所定数(図では21個)の更新データが書き込み可能に構成されている。各更新データには、メンテナンスカウンタ番号を書き込む値A及び値Bからなるデータ有効情報と、メンテナンスカウンタ番号に対応するメンテナンスカウンタ値が書き込み可能に構成されている。
【0049】
本実施形態では、一時的メンテナンスカウンタ値保持領域62には、メンテナンスカウンタ値が書き込まれた後に、1byteのメンテナンスカウンタ番号を2度書き込まれるように構成されている(即ち値A及び値Bの2つ)。本実施形態では、メンテナンスカウンタ値が書き込まれた後にメンテナンスカウンタ番号が2度書き込まれ、値Aと値Bが同一の値であることをもって、正しく一時的メンテナンスカウンタ値保持領域62にデータが書き込まれたことを保証するように構成されている。両者が同一の値でなければ、そのメンテナンスカウンタ番号に対応するメンテナンスカウンタ値は、後の参照において無効と判断される。
【0050】
なお、一時的メンテナンスカウンタ値保持領域62への書き込みは、値Aを書き込んだ後にメンテナンスカウンタ値を書き込み、その後値Bを書き込むように構成してもよい。
【0051】
その後、一時的メンテナンスカウンタ値保持領域62にメンテナンスカウンタ値がすべて書き込まれると(図5の場合には、21個書き込まれた状態となると)、CPU31は、図5に書き込まれた情報が一時的データバッファ領域73に書き込まれ、その後一時的データバッファ領域73に書き込まれたデータが不揮発性メンテナンスカウンタ領域61に書き込まれることにより、不揮発性メンテナンスカウンタ領域61が更新される。そして、不揮発性メンテナンスカウンタ領域61が更新されると、一時的メンテナンスカウンタ値保持領域62のデータは、すべて初期化される。
【0052】
本実施形態では、このように一時的メンテナンスカウンタ値保持領域62から直接不揮発性メンテナンスカウンタ領域61に書き込むのではなく一時的データバッファ領域73を介して書き込むように構成している。この理由としては、一時的メンテナンスカウンタ値保持領域62に保存されているメンテナンスカウンタ番号が重複している場合を考える(最高で21個すべてが同じメンテナンスカウンタ番号となる場合も想定される)。このような場合には、そのまま一時的メンテナンスカウンタ値保持領域62から直接不揮発性メンテナンスカウンタ領域61に書き込みを行うと、同番号について何度も書き換えを行ってしまうことになり非効率であり、またEEPROM33の寿命を考えても書き換え回数が少ないことが好ましい。
【0053】
したがって、本実施形態では、少しでもEEPROM33への書き込み回数を減らすため、一時的データバッファ領域73に一時的メンテナンスカウンタ値保持領域62のデータを書き込むとき、データバッファ領域73にて同一の項目については複数回更新して、最後に書き込まれたメンテナンスカウンタ値(最新値)をEEPROM33に書き込むように構成されている。一時的データバッファ領域73は、EEPROM33よりも高速に書き換えができるため、この方法により処理スピードを向上させることが可能である。
【0054】
本実施形態では、上述のようにメンテナンスカウンタを構成することによって電源断がどのタイミングで発生した場合であっても、メンテナンスカウンタ値が失われることなく、確実に正しく保持されるように構成している。
【0055】
この理解を深めるために、図6及び図7に示すフローチャートを参照して、電源ON時からプリンタを使用し、不揮発性メンテナンスカウンタ領域61が書き換えられるまでの流れを時系列的に説明する。
【0056】
図6及び図7は、メンテナンスカウンタに関連したプリンタ10の処理フローを示すフローチャートである。
まず、プリンタ10の電源が投入され、初期化作業が行われ、CPU31が有効となると、CPU31は、RAM32に第1揮発性メンテナンスカウンタ領域71及び第2揮発性メンテナンスカウンタ領域72を形成する(ステップS1)。
【0057】
第1揮発性メンテナンスカウンタ領域71及び第2揮発性メンテナンスカウンタ領域72の形成にあたっては、図7に示すように、まず、第1揮発性メンテナンスカウンタ領域71に不揮発性メンテナンスカウンタ領域61の情報をコピーする(ステップS11)。
これにより、不揮発性メンテナンスカウンタ領域61の情報が最新の情報であれば、第1揮発性メンテナンスカウンタ領域71の情報も最新の情報となる。しかしながら、不揮発性メンテナンスカウンタ領域61に書き込まれていない情報が一時的メンテナンスカウンタ値保持領域62に記憶されていれば、第1揮発性メンテナンスカウンタ領域71の情報は最新とはならない。
【0058】
以上を考慮し、次に第1揮発性メンテナンスカウンタ領域71に一時的メンテナンスカウンタ値保持領域62の情報を上書きコピーする。このときには、データ有効情報を参照し、値Aと値Bが一致しているもののみを選択して対応するメンテナンスカウンタ番号のカウンタ値を上書きコピーするようにする(ステップS12)。
このように構成することにより、不揮発性メンテナンスカウンタ領域61に書き込まれていない情報が一時的メンテナンスカウンタ値保持領域62に記憶されていても、第1揮発性メンテナンスカウンタ領域71の情報は最新の情報となる。
【0059】
そして、第1揮発性メンテナンスカウンタ領域71の情報を第2揮発性メンテナンスカウンタ領域72にコピーする(ステップS13)。これにより、2つの同一情報を有する揮発性メンテナンスカウンタがRAM32に生成される。
【0060】
つぎに、図6に戻り、CPU31は、所定時間(例えば2分間)経過したかどうかを監視する(ステップS2)。この間、CPU31は、プリンタの各部の状態が変化すれば変化に対応する第1揮発性メンテナンスカウンタ領域のカウンタ値を書き換えて更新する。
【0061】
所定時間が経過すると(ステップS2:Yes)、CPU31は、第1揮発性メンテナンスカウンタ領域71と第2揮発性メンテナンスカウンタ領域72の情報を比較し、更新されたカウンタ値があるかどうか確認する(ステップS3)。
【0062】
ここで、更新されたカウンタ値があれば、CPU31は、第1揮発性メンテナンスカウンタ領域71の更新されたメンテナンスカウンタ番号に対応するカウンタ値を一時的メンテナンスカウンタ値保持領域62にコピーする(ステップS4)。
【0063】
また、CPU31は、第1揮発性メンテナンスカウンタ領域71を第2揮発性メンテナンスカウンタ領域72にコピーし、二つのメンテナンスカウンタ領域のデータを一致させる(ステップS5)。これにより、これ以降第1揮発性メンテナンスカウンタ領域71が変化した場合であっても、更新された第2揮発性メンテナンスカウンタ領域72を参照することにより、変化したメンテナンスカウンタ値をすぐに特定することができる。
【0064】
一方、ステップS3において、更新されたカウンタ値がなければ、ステップS2に戻り、再度所定時間の経過を待つ。
【0065】
ステップS5の後、CPU31は、一時的メンテナンスカウンタ値保持領域62のデータがフルになっているかどうか(図5では、21個すべて埋まっているかどうか)を確認し(ステップS6)、フルでなければステップS2に戻り、再度所定時間の経過を待つ。
【0066】
一方、ステップS6において、一時的メンテナンスカウンタ値保持領域62のデータがフルであれば、CPU31は、一時的メンテナンスカウンタ値保持領域62のデータを一時的データバッファ領域73を介して不揮発性メンテナンスカウンタ領域61にコピーする(ステップS7)。これにより、主たるメンテナンスカウンタである不揮発性メンテナンスカウンタ領域61が更新される。
【0067】
また、CPU31は、不揮発性メンテナンスカウンタ領域61が書き換えられると、一時的メンテナンスカウンタ値保持領域62のデータをクリアして初期化し、新たに一時的メンテナンスカウンタ値保持領域62にデータが書き込めるように構成する。なお、一時的メンテナンスカウンタ値保持領域62は、書き込まれたメンテナンスカウンタ値はそのままで、データ有効情報としての値A及び値Bを初期値にすることでデータが書き込み可能な状態となる。(ステップS8)。その後は、再度ステップS2に戻り、所定時間の経過を待つ。
【0068】
このように構成されたプリンタ10において、主要ステップ間で電源断が発生する場合を考える。
【0069】
まず、ステップS2で所定時間が経過する前に電源断が発生するような場合には、まだ不揮発性メモリであるEEPROM33の一時的メンテナンスカウンタ値保持領域62にデータが書き込まれていないので、この間に更新された第1揮発性メンテナンスカウンタ領域71のデータは失われてしまう。しかしながら、ステップS2の所定時間がメンテナンスカウンタの更新頻度に比べて十分に小さければ(例えば2分)、この間に失われる情報を軽微なものであり、長期間に渡る使用における各部品の寿命を測る目的と照らし合わせると、ほとんど問題がない。
【0070】
次に、ステップS4の一時的メンテナンスカウンタ値保持領域62への書き込み途中に電源断が発生するような場合、正しく書き込まれない場合には、
1)メンテナンスカウンタ値が書き込まれているが2つのメンテナンスカウンタ番号が まったく書き込まれておらず、初期値のままである
2)メンテナンスカウンタ値が書き込まれているが2つのメンテナンスカウンタ番号が 一致していない
3)メンテナンスカウンタ値が異常値であり、2つのメンテナンスカウンタ番号がまっ たく書き込まれておらず、初期値のままである
といった、状態になることが想定される。このように、一時的メンテナンスカウンタ値保持領域62に書き込みが失敗した場合には、必ず2つのメンテナンスカウンタ番号がただしく書き込まれた状態とならないため、一時的メンテナンスカウンタ値保持領域62への書き込みを必ず保証することができる。
【0071】
また、ステップS7の一時的メンテナンスカウンタ値保持領域62のデータを不揮発性メンテナンスカウンタ領域61にコピーする途中に電源断が発生するような場合には、不揮発性メンテナンスカウンタ領域61のデータが異常データとなってしまうような場合が想定される。しかしながら、書き込み元となる一時的メンテナンスカウンタ値保持領域62のデータは、この段階では初期化されていないため、次回電源オン時に第1揮発性メンテナンスカウンタ領域71を作成する際に、不揮発性メンテナンスカウンタ領域61の異常データが取り込まれるが、次に一時的メンテナンスカウンタ値保持領域62の正常値が第1揮発性メンテナンスカウンタ領域71に上書きされるため、第1揮発性メンテナンスカウンタ領域71を正常な状態とすることができる。
【0072】
その後、一時的メンテナンスカウンタ値保持領域62がフルとなった後に、不揮発性メンテナンスカウンタ領域61に正常値が書き込まれるので、不揮発性メンテナンスカウンタ領域61のデータ異常を解消することができる。したがって、このような場合であってもデータが失われることなく正しく不揮発性メンテナンスカウンタ領域61を更新することができる。
なお、メンテナンスカウンタ値の参照が必要な場合にも、第1揮発性メンテナンスカウンタ領域71のメンテナンスカウンタ値が参照されるため、不揮発性メンテナンスカウンタ領域61が常に正しい状態でなくても問題は発生しない。
【0073】
なお、上記説明では、プリンタを例に挙げて説明を行ったが、プリンタに限られることなく、スキャナ等メンテナンスカウンタが設けられた各種情報処理機器に上記手法を適用することも可能である。
【図面の簡単な説明】
【0074】
【図1】本実施形態のプリンタを示す斜視図である。
【図2】本実施形態のプリンタの制御構造を示すブロック図である。
【図3】EEPROM及びRAMの内部状態を示す模式図である。
【図4】不揮発性メンテナンスカウンタ領域に記憶されるメンテナンスカウンタの種類及び状態を示す表である。
【図5】一時的メンテナンスカウンタ値保持領域に記憶される情報を示す表である。
【図6】メンテナンスカウンタに関連したプリンタの処理フローを示すフローチャートである。
【図7】メンテナンスカウンタに関連したプリンタの処理フローを示すフローチャートである。
【符号の説明】
【0075】
10 プリンタ 31 CPU
32 RAM 33 EEPROM
61 不揮発性メンテナンスカウンタ領域
62 一時的メンテナンスカウンタ値保持領域
71 第1揮発性メンテナンスカウンタ領域
72 第2揮発性メンテナンスカウンタ領域


【特許請求の範囲】
【請求項1】
メンテナンスカウンタ値を記憶する揮発性メモリと、
不揮発性メンテナンスカウンタ領域及び一時的メンテナンスカウンタ値保持領域を備えたEEPROMと、
装置内部の状態変化の検出に応じて前記揮発性メモリ中の前記メンテナンスカウンタ値を更新するCPUと、を備え、
前記CPUは、所定のタイミングで前記揮発性メモリのメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むとともに、所定のタイミングで前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むことを特徴とする情報処理装置。
【請求項2】
前記揮発性メモリには、前記メンテナンスカウンタ値を記憶する第1揮発性メンテナンスカウンタ領域と、前記メンテナンスカウンタ値を記憶する第2揮発性メンテナンスカウンタ領域が構成され、
前記第2揮発性メンテナンスカウンタ領域に記憶された前記メンテナンスカウンタ値は、電源オン時において、前記第1揮発性メンテナンスカウンタ領域のそれと同一であり、
前記第1揮発性メンテナンスカウンタの前記メンテナンスカウンタ値は、装置内部の状態変化の検出に応じて更新され、
前記CPUは、所定時間毎に前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記CPUは、前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込んだ後、前記第1揮発性メンテナンスカウンタ領域のメンテナンスカウンタ値を前記第2揮発性メンテナンスカウンタ領域にコピーすることを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記CPUは、前記一時的メンテナンスカウンタ値保持領域にメンテナンスカウンタ値を書き込むとともに、メンテナンスカウンタ値が正しく書き込まれたことを保証するデータ有効情報を書き込むことを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記データ有効情報は、前記メンテナンスカウンタ値の対象を示すメンテナンスカウンタ番号を2度書き込むことにより構成されることを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記CPUは、前記一時的メンテナンスカウンタ値保持領域の記憶領域がフルとなると前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むことを特徴とする請求項1〜5の何れか1項に記載の情報処理装置。
【請求項7】
前記CPUは、前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値が前記不揮発性メンテナンスカウンタ領域に書き込まれた後に、前記一時的メンテナンスカウンタ値保持領域を初期化することを特徴とする請求項1〜6の何れか1項に記載の情報処理装置。
【請求項8】
メンテナンスカウンタ値を記憶する揮発性メモリと、不揮発性メンテナンスカウンタ領域及び一時的メンテナンスカウンタ値保持領域を備えたEEPROMと、装置内部の状態変化の検出に応じて前記揮発性メモリ中の前記メンテナンスカウンタ値を更新するCPUと、を備えた情報処理装置の制御方法であって、
所定のタイミングで前記揮発性メモリのメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むステップと、
所定のタイミングで前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むステップと、を備えたことを特徴とする情報処理装置の制御方法。
【請求項9】
前記揮発性メモリには、前記メンテナンスカウンタ値を記憶する第1揮発性メンテナンスカウンタ領域と、前記メンテナンスカウンタ値を記憶する第2揮発性メンテナンスカウンタ領域が構成され、
前記第2揮発性メンテナンスカウンタ領域に記憶された前記メンテナンスカウンタ値は、電源オン時において、前記第1揮発性メンテナンスカウンタ領域のそれと同一であり、
前記第1揮発性メンテナンスカウンタの前記メンテナンスカウンタ値は、装置内部の状態変化の検出に応じて更新され、
所定時間毎に前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込むことを特徴とする請求項8に記載の情報処理装置の制御方法。
【請求項10】
前記第1揮発性メンテナンスカウンタ領域と前記第2揮発性メンテナンスカウンタ領域とを比較し、更新されているメンテナンスカウンタ値を前記一時的メンテナンスカウンタ値保持領域に書き込んだ後、前記第1揮発性メンテナンスカウンタ領域のメンテナンスカウンタ値を前記第2揮発性メンテナンスカウンタ領域にコピーすることを特徴とする請求項9に記載の情報処理装置の制御方法。
【請求項11】
前記一時的メンテナンスカウンタ値保持領域にメンテナンスカウンタ値を書き込むとともに、メンテナンスカウンタ値が正しく書き込まれたことを保証するデータ有効情報を書き込むことを特徴とする請求項9に記載の情報処理装置の制御方法。
【請求項12】
前記データ有効情報は、前記メンテナンスカウンタ値の対象を示すメンテナンスカウンタ番号を2度書き込むことにより構成されることを特徴とする請求項11に記載の情報処理装置の制御方法。
【請求項13】
前記一時的メンテナンスカウンタ値保持領域の記憶領域がフルとなると前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値を前記不揮発性メンテナンスカウンタ領域に書き込むことを特徴とする請求項8〜12の何れか1項に記載の情報処理装置の制御方法。
【請求項14】
前記一時的メンテナンスカウンタ値保持領域に記憶されたメンテナンスカウンタ値が前記不揮発性メンテナンスカウンタ領域に書き込まれた後に、前記一時的メンテナンスカウンタ値保持領域を初期化することを特徴とする請求項8〜13の何れか1項に記載の情報処理装置の制御方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2007−21787(P2007−21787A)
【公開日】平成19年2月1日(2007.2.1)
【国際特許分類】
【出願番号】特願2005−203687(P2005−203687)
【出願日】平成17年7月12日(2005.7.12)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】