JP2012053255A - 画像形成装置 - Google Patents
画像形成装置 Download PDFInfo
- Publication number
- JP2012053255A JP2012053255A JP2010195406A JP2010195406A JP2012053255A JP 2012053255 A JP2012053255 A JP 2012053255A JP 2010195406 A JP2010195406 A JP 2010195406A JP 2010195406 A JP2010195406 A JP 2010195406A JP 2012053255 A JP2012053255 A JP 2012053255A
- Authority
- JP
- Japan
- Prior art keywords
- data
- image forming
- forming apparatus
- group
- update
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Control Or Security For Electrophotography (AREA)
- Memory System (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】不揮発性メモリの高寿命化を図ることが可能な画像形成装置を提供する。
【解決手段】画像形成装置1は、複数のデータを記憶する揮発性メモリ(RAM等)と、当該複数のデータのバックアップ用の不揮発性メモリ(フラッシュメモリ等)と、揮発性メモリに記憶された複数のデータを不揮発性メモリへと書き込むタイミングを制御する制御手段とを備える。当該複数のデータは、そのデータ特性(未更新時のデータ利用可能性に関する特性等)に基づいて複数のグループGP1,GP2に分類される。グループGP1に帰属する第1のデータは、揮発性メモリ上での第1のデータの更新頻度よりも低い頻度で、不揮発性メモリに書き込まれる。一方、グループGP2に帰属する第2のデータは、当該第2のデータの揮発性メモリ上での更新時において直ちに不揮発性メモリに書き込まれる。
【選択図】図3
【解決手段】画像形成装置1は、複数のデータを記憶する揮発性メモリ(RAM等)と、当該複数のデータのバックアップ用の不揮発性メモリ(フラッシュメモリ等)と、揮発性メモリに記憶された複数のデータを不揮発性メモリへと書き込むタイミングを制御する制御手段とを備える。当該複数のデータは、そのデータ特性(未更新時のデータ利用可能性に関する特性等)に基づいて複数のグループGP1,GP2に分類される。グループGP1に帰属する第1のデータは、揮発性メモリ上での第1のデータの更新頻度よりも低い頻度で、不揮発性メモリに書き込まれる。一方、グループGP2に帰属する第2のデータは、当該第2のデータの揮発性メモリ上での更新時において直ちに不揮発性メモリに書き込まれる。
【選択図】図3
Description
本発明は、MFP(Multi Function Peripheral)などの画像形成装置に関し、特に画像形成装置に内蔵されるバックアップ用の不揮発性メモリの利用技術に関する。
従来、画像形成装置においては、画像形成ユニット等に関する情報のバックアップメモリとしてEEPROM(Electrically Erasable Programmable ROM)が主に利用されている。
EEPROMに関しては、1アドレス当たりの書換許容回数は比較的大きく(例えば約100万回)、その寿命は比較的長い。そのため、データの書き換えタイミングに関する制約は比較的少ない。
一方、近年、コスト削減のため、比較的安価なフラッシュメモリをバックアップメモリとして採用することが望まれている。
しかしながら、フラッシュメモリに関しては、1アドレス当たりの書換許容回数は比較的小さく(例えば約3万回)、その寿命は比較的短い。そのため、現状と同様のタイミングでバックアップを行う場合には、フラッシュメモリの寿命が比較的早期に到来してしまうという問題がある。特に、バックアップ対象のデータの数が増大すると、このような問題は顕著になる。
このような問題を解決するべく、フラッシュメモリの高寿命化を図ることが好ましい。
なお、特許文献1に記載の技術においては、フラッシュメモリにおける各データの書込ブロック(書込対象ブロック)を各データの変更頻度に応じて区別する技術が記載されている。具体的には、頻繁に変更するデータとそれ以外のデータとを互いに異なるブロックに割り当てて、各データを書き込むことが行われる。これによれば、無駄なマージ過程を削減し、メモリの速度を向上させることが可能である。しかしながら、特許文献1に記載の当該技術は、メモリの速度向上を図る技術であり、高寿命化を図る技術ではない。そして、当該技術を用いたとしても、非常に高頻度に更新されるデータを全ての更新タイミングでフラッシュメモリに書き込むと、上記のように比較的早期にフラッシュメモリの寿命が到来する。
そこで、この発明の課題は、不揮発性メモリの高寿命化を図ることが可能な画像形成装置を提供することにある。
上記課題を解決すべく、請求項1の発明は、画像形成装置であって、複数のデータを記憶する揮発性メモリと、前記複数のデータのバックアップ用の不揮発性メモリと、前記揮発性メモリに記憶された前記複数のデータであってそのデータ特性に基づいて複数のグループに分類された前記複数のデータを前記不揮発性メモリへと書き込むタイミングを制御する制御手段と、を備え、前記複数のグループは、第1のグループと第2のグループとを有し、前記制御手段は、前記複数のデータのうち、前記第1のグループに帰属する第1のデータを、前記揮発性メモリ上での前記第1のデータの更新頻度よりも低い頻度で、前記不揮発性メモリに書き込み、前記複数のデータのうち、前記第2のグループに帰属する第2のデータを、前記揮発性メモリ上での前記第2のデータの更新時において直ちに前記不揮発性メモリに書き込むことを特徴とする。
請求項2の発明は、請求項1の発明に係る画像形成装置において、前記制御手段は、前記第1のグループに帰属する複数の第1のデータを前記不揮発性メモリに一のタイミングで纏めて書き込むことを特徴とする。
請求項3の発明は、請求項2の発明に係る画像形成装置において、前記制御手段は、前記複数の第1のデータを、前記不揮発性メモリにおける同一書込単位内に纏めて書き込むことを特徴とする。
請求項4の発明は、請求項1の発明に係る画像形成装置において、前記データ特性は、未更新時のデータ利用可能性に関する特性を含むことを特徴とする。
請求項5の発明は、請求項4の発明に係る画像形成装置において、前記データ特性は、データ更新頻度に関する特性をも含むことを特徴とする。
請求項6の発明は、請求項5の発明に係る画像形成装置において、前記制御手段は、データ更新頻度が所定程度よりも小さく且つ未更新時のデータ利用可能性が所定程度よりも小さいデータを、前記第2のグループに帰属させ、データ更新頻度が所定程度よりも大きく且つ未更新時のデータ利用可能性が所定程度よりも大きいデータを、前記第1のグループに帰属させることを特徴とする。
請求項7の発明は、請求項6の発明に係る画像形成装置において、前記制御手段は、データ更新頻度が所定程度よりも大きく且つ未更新時のデータ利用可能性が所定程度よりも小さいデータをも、前記第2のグループに帰属させることを特徴とする。
請求項8の発明は、請求項1の発明に係る画像形成装置において、前記制御手段は、前記揮発性メモリ上での前記第1のデータに関する最小更新周期よりも大きな所定周期を有する周期的タイミングで、前記第1のグループに帰属する複数の第1のデータの更新の有無を検出し、前記複数の第1のデータのうち更新が検出されたデータを前記不揮発性メモリに書き込むことを特徴とする。
請求項9の発明は、請求項8の発明に係る画像形成装置において、前記制御手段は、特定イベントの発生タイミングにおいても前記第1のデータを前記不揮発性メモリに書き込むことを特徴とする。
請求項10の発明は、請求項8の発明に係る画像形成装置において、前記所定周期は、前記画像形成装置の印字速度に応じて変更されることを特徴とする。
請求項11の発明は、請求項8の発明に係る画像形成装置において、前記所定周期は、前記画像形成装置の稼働状態に応じて変更されることを特徴とする。
請求項12の発明は、請求項8の発明に係る画像形成装置において、前記所定周期は、前記不揮発性メモリの寿命余裕に応じて変更されることを特徴とする。
請求項13の発明は、請求項8の発明に係る画像形成装置において、前記所定周期は、前記不揮発性メモリにおける書込頻度に応じて変更されることを特徴とする。
請求項14の発明は、請求項8の発明に係る画像形成装置において、前記所定周期は、前記不揮発性メモリの書込中ブロックにおけるデータ充填率に応じて変更されることを特徴とする。
請求項1ないし請求項14に記載の発明によれば、第2のデータは揮発性メモリ上でのデータ更新時において直ちに不揮発性メモリ上でも更新される一方で、第1のデータは揮発性メモリ上での第1のデータの更新頻度よりも低い頻度で不揮発性メモリに書き込まれるので、不揮発性メモリへの書込回数を抑制して、不揮発性メモリの高寿命化を図ることが可能である。
特に、請求項2に記載の発明によれば、第1のグループに帰属する複数の第1のデータが、一のタイミングで纏めて更新されるので、複数の第1のデータがそれぞれの更新タイミングで個別に更新される場合に比べて、効率的に更新される。そのため、不揮発性メモリへの書込回数をさらに抑制して、不揮発性メモリの更なる高寿命化を図ることが可能である。
また特に、請求項3に記載の発明によれば、複数の第1のデータは同一書込単位内に纏めて書き込まれるため、非常に効率的である。
また特に、請求項9に記載の発明によれば、周期的タイミングのみならず、特定イベントの発生タイミングにおいても第1のデータが不揮発性メモリに書き込まれ得るので、不揮発性メモリへの第1のデータの書き込みタイミングをより柔軟に制御することができる。
以下、本発明の実施形態を図面に基づいて説明する。
<1.構成>
図1は、画像形成装置1(1Aとも称する)の概略構成を示すブロック図である。画像形成装置1は、ここではMFP(マルチ・ファンクション・ペリフェラル(Multi Function Peripheral)として構成されている。
図1は、画像形成装置1(1Aとも称する)の概略構成を示すブロック図である。画像形成装置1は、ここではMFP(マルチ・ファンクション・ペリフェラル(Multi Function Peripheral)として構成されている。
図1のブロック図に示すように、MFP1は、画像読取部2、印刷出力部3、通信部4、格納部5、入出力部6およびコントローラ9等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
画像読取部2は、MFP1の所定の位置に載置された原稿を光学的に読み取って、当該原稿の画像データ(原稿画像とも称する)を生成する処理部である。
印刷出力部3は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
通信部4は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部4は、通信ネットワークNWを介したネットワーク通信が可能である。このネットワーク通信では、TCP/IP(Transmission Control Protocol / Internet Protocol)およびFTP(File Transfer Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、MFP1は、所望の相手先との間で各種のデータを授受することが可能である。
格納部5は、ハードディスクドライブ(HDD)等の格納装置で構成される。この格納部5には、画像読取部2等で生成された原稿画像(画像データ)が格納される。
入出力部6は、MFP1に対する入力を受け付ける操作入力部6aと、各種情報の表示出力を行う表示部6bとを備えている。
コントローラ9は、MFP1に内蔵され、MFP1を統括的に制御する制御装置である。コントローラ9は、CPUおよび各種の半導体メモリ(RAMおよびROM等)等を備えるコンピュータシステムとして構成される。コントローラ9は、ROM13(図2参照)(例えば、EEPROM等)内に格納されている所定のソフトウエアプログラム(以下、単にプログラムとも称する)を、CPU11において実行することによって、各種の処理部を実現する。
具体的には、コントローラ9は、メモリ制御部31等を備える。
メモリ制御部31は、RAM12、ROM13およびフラッシュメモリ15(図2参照)等のメモリに対するアクセス動作等を制御する処理部である。たとえば、メモリ制御部31は、RAM12に記憶されたデータをバックアップ用のフラッシュメモリ15へと書き込むタイミング、すなわちバックアップタイミング(記録タイミング)等を制御する。
図2は、コントローラ9の詳細なハードウエア構成を示す図である。図2に示すように、コントローラ9は、CPU11とRAM(揮発性メモリ)12とROM(不揮発性メモリ)13と入出力用LSI14とフラッシュメモリ(不揮発性メモリ)15とを備える。入出力用LSI14は、各種の入力デバイス16からの入力信号と各種の出力デバイス17への出力信号とを制御する。
この画像形成装置1は、画像形成動作に関するデータ(以下、エンジン情報とも称する)をRAM12に格納して管理するとともに、当該データのバックアップデータをフラッシュメモリ15に格納して管理する。ここでは、データのバックアップ先の不揮発性メモリとして、電気的に書換が可能な不揮発性メモリであるフラッシュメモリ15を用いるものとする。当該フラッシュメモリは、EEPROM(Electrically Erasable Programmable ROM)に比べて安価であるため、画像形成装置1のコストダウンを図ることが可能である。
<2.バックアップ対象のデータ>
画像形成装置1は、そのエンジン情報に関するデータとして、たとえば、次の4種類のデータ、具体的には、「高頻度カウントデータ」(DT1)と「低頻度カウントデータ」(DT2)と「機械状態参照データ」(DT3)と「調整値データ」(DT4)とを有する(図3参照)。換言すれば、画像形成装置1のエンジン情報に関するデータは、これら4種類のデータ(「サブグループ」とも称される)DT1〜DT4に分類される。
画像形成装置1は、そのエンジン情報に関するデータとして、たとえば、次の4種類のデータ、具体的には、「高頻度カウントデータ」(DT1)と「低頻度カウントデータ」(DT2)と「機械状態参照データ」(DT3)と「調整値データ」(DT4)とを有する(図3参照)。換言すれば、画像形成装置1のエンジン情報に関するデータは、これら4種類のデータ(「サブグループ」とも称される)DT1〜DT4に分類される。
高頻度カウントデータDT1は、比較的高頻度で更新されるカウントデータである。高頻度カウントデータは、カウントアップされるものでもよく、カウントダウンされるものであってもよい。高頻度カウントデータDT1としては、たとえば、消耗品の寿命管理等に使用するデータ(ドラムカートリッジの回転時間カウンタ、および現像ユニットの現像印字枚数カウンタ等)が例示される。
低頻度カウントデータDT2は、比較的低頻度で更新されるカウントデータである。この低頻度カウントデータも、カウントアップされるものでもよく、カウントダウンされるものであってもよい。低頻度カウントデータDT2としては、たとえば、サービスマン等により行われた部品交換実績データ(各色ドラムカートリッジの交換回数データ等)、および、ソフトウエアの管理データ(EEPROM内のファームウエア書き換え回数等)が例示される。
機械状態参照データDT3は、機械の状態を示すデータ(フラグデータ等)である。機械状態参照データDT3としては、たとえば、電源再投入時において直前の電源オン状態での機械状態を参照するためのデータ(安定化完了情報およびトナー補給残量情報等)が例示される。なお、「安定化完了情報」は、安定化完了に関するフラグ値を示すデータ(安定化処理の実行中か否かに関するフラグデータ「安定化処理フラグ」)である。また、「トナー補給残量情報」は、トナー補給に関する端数を積算していくデータである。
調整値データDT4は、装置各部の調整値に関するデータである。調整値データDT4としては、たとえば、機械の特性等に応じてサービスマン等によって変更されるデータ(ループ量調整値および上端余白補正調整値等)が例示される。なお、ループ量調整値は、レジストローラに用紙先端を突き当てる際のタイミング調整用データであり、上端余白補正調整値は、印刷用紙内での印字データの位置調整用データ(用紙の上端側の余白の大きさを規定する調整値等)である。
機械状態参照データDT3は、比較的高頻度で更新されるデータであり、調整値データDT4は、比較的低頻度で更新されるデータである。
さらに、機械状態参照データDT3に属する各データは、当該各データが未更新である場合において更新直前のデータの利用可能性が比較的低いデータである。同様に、調整値データDT4に属する各データも、当該各データが未更新である場合において更新直前のデータの利用可能性が比較的低いデータである。
たとえば、「ループ量調整値」に関しては、サービスマン等によって調整される前の値は、機械の動作に比較的大きな悪影響を与えるため、その利用価値(換言すれば、利用可能性)は非常に小さい。これに対して、「高頻度(ないし低頻度)カウントデータ」(DT1,DT2)に関しては、更新直前の値を利用しても動作可能であり、当該更新直前データの利用可能性が比較的高い。
機械状態参照データDT3および調整値データDT4は、高頻度カウントデータDT1および低頻度カウントデータDT2に比べて、未更新時のデータ利用可能性が低いデータである。逆に言えば、高頻度カウントデータDT1および低頻度カウントデータDT2は、機械状態参照データDT3および調整値データDT4に比べて、未更新時のデータ利用可能性が高いデータである。
ここにおいて、各データDT1〜DT4は、次のようにも表現される。
高頻度カウントデータDT1は、データ更新頻度が所定程度よりも高く(大きく)且つ未更新時のデータ利用可能性が所定程度よりも高い(大きい)データである。端的に言えば、高頻度カウントデータDT1は、データ更新頻度「高」且つデータ利用可能性「高」のデータである。
低頻度カウントデータDT2は、データ更新頻度が所定程度よりも低く(小さく)且つ未更新時のデータ利用可能性が所定程度よりも高いデータである。端的に言えば、データ更新頻度「低」且つデータ利用可能性「高」のデータである。
機械状態参照データDT3は、データ更新頻度が所定程度よりも高く且つ未更新時のデータ利用可能性が所定程度よりも低いデータである。端的に言えば、機械状態参照データDT3は、データ更新頻度「高」且つデータ利用可能性「低」のデータである。
調整値データDT4は、データ更新頻度が所定程度よりも低く且つ未更新時のデータ利用可能性が所定程度よりも低いデータである。端的に言えば、データ更新頻度「低」且つデータ利用可能性「低」のデータである。
そして、これらの4種類のデータDT1〜DT4は、各データの特性に基づいて、大きく2つのグループGP1,GP2に類別(分類)される。なお、図3においては、第1のグループGP1に対応するデータ欄にはハッチングが付されている。
具体的には、高頻度カウントデータDT1と低頻度カウントデータDT2と機械状態参照データDT3とが第1のグループGP1に帰属し且つ調整値データDT4が第2のデータグループGP2に帰属するように、各データが分類される。換言すれば、第1のグループGP1は、高頻度カウントデータDT1と低頻度カウントデータDT2と機械状態参照データDT3とを含むように構成され、第2のグループGP2は調整値データDT4を含むように構成される。
ここでは、上記4種類のデータDT1〜DT4は、データ更新頻度に関する特性と未更新時のデータ利用可能性に関する特性とに基づいて、2つのグループGP1,GP2に類別される。より具体的には、データ更新頻度が所定程度よりも低く(小さく)且つ未更新時のデータ利用可能性が所定程度よりも低い(小さく)データである「調整値データDT4」が第2のグループGP2に帰属し、その他のデータDT1〜DT3が第1のグループGP1に帰属するように、各データが分類される。特に、データ更新頻度が所定程度よりも高く(大きく)且つ未更新時のデータ利用可能性が所定程度よりも高い(大きい)データである「高頻度カウントデータDT1」は、第1のグループGP1に分類される。
なお、2つのグループGP1,GP2への類別は、図3の手法に限定されず、図4〜図6などに示す他の手法によるものであってもよい。図3〜図6の各手法については後に詳述する。
図7は、分類例の詳細を示す図である。たとえば、図7に示すように、画像形成装置1のエンジン情報に関する各データは、第1のグループGP1と第2のグループGP2とに分類される。
また、図7に示すように、各データには当該各データを互いに識別するための識別番号が付される。そして、画像形成装置1は、各データの識別番号によって各データの内容を互いに識別することができる。
たとえば、識別番号「15」のデータは、ドラムカートリッジの回転時間カウンタの値(ドラムカートリッジの回転時間を表す値)を示すデータであり、識別番号「16」のデータは、現像印字枚数カウンタの値を示すデータ(現像ユニットによる印字枚数を表すデータ)である。同様に、識別番号「17」のデータは、安定化完了に関するフラグ値を示すデータ(安定化処理の実行中か否かに関するフラグデータ「安定化完了情報(フラグ)」)である。また、識別番号「18」のデータは、「トナー補給残り(端数)量」に関する値を示すデータ(トナー補給量の小数点以下の端数の蓄積値を示すデータ)である。
識別番号「15」のデータおよび識別番号「16」のデータは、それぞれ、高頻度カウントデータDT1であり、識別番号「17」のデータおよび識別番号「18」のデータは、それぞれ、機械状態参照データDT3である。たとえば、これらのデータは、第1のグループGP1に分類される。
また、識別番号「0」のデータは、グループGP1の先頭を示すデータ(先頭識別番号)であり、識別番号「202」のデータは、グループGP1の最後尾(終端)を示すデータ(終端識別番号)である。
さらに、識別番号「278」のデータは、ループ量調整値(用紙の先端をタイミングローラに突き当てて形成されるループ量の調整値)を示すデータであり、識別番号「279」のデータは、上端余白調整値を示すデータである。識別番号「278」のデータおよび識別番号「279」のデータは、それぞれ、調整値データDT4である。これらのデータは、グループGP2に分類される。
また、識別番号「203」のデータは、グループGP2の先頭を示すデータ(先頭識別番号)であり、識別番号「503」のデータは、グループGP2の最後尾(終端)を示すデータ(終端識別番号)である。
メモリ制御部31は、第1のグループGP1に帰属するデータを、当該データのRAM12上での更新タイミングとは非同期のタイミングでフラッシュメモリ15に書き込む(バックアップする)。詳細には、メモリ制御部31は、RAM12上でのデータ更新頻度よりも低い頻度で、第1のグループGP1に帰属するデータをフラッシュメモリ15へ書き込む。一方、メモリ制御部31は、第2のグループに帰属するデータを、当該データのRAM12上での更新時において直ちにフラッシュメモリ15に書き込む(バックアップする)。
このように、メモリ制御部31は、第1のグループGP1のデータと第2のグループGP2のデータとに関して、互いに異なる書込タイミングで書込動作(バックアップ動作)を行う。端的に言えば、第2のグループGP2に帰属するデータは、「逐次書込」でフラッシュメモリ15にバックアップされ、第1のグループGP1に帰属するデータは、「低頻度書込」でフラッシュメモリ15にバックアップされる。このような動作については、後に詳述する。
<3.フラッシュメモリにおけるデータ更新動作>
つぎに、フラッシュメモリ15における各データの更新動作について説明する。
つぎに、フラッシュメモリ15における各データの更新動作について説明する。
図8は、フラッシュメモリ15におけるブロック(データ保存領域)を示す概念図である。図8に示すように、このフラッシュメモリ15は、第1のグループGP1用の複数のブロック(ここでは2つのブロックBa,Bb)と、第2のグループGP2用の複数のブロック(ここでは2つのブロックBc,Bd)とを有する。ここでは、簡単化のため、各グループ用にそれぞれ2つのブロックが設けられる場合を例示するが、各グループ用に対して更に多数(3つ以上)のブロックが設けられるようにしてもよい。
フラッシュメモリ15の書込動作はEEPROMの書込動作とは異なる。
たとえば、EEPROMにおいては1アドレス単位で書き換えを行うことが可能である。しかしながら、フラッシュメモリ15において或るアドレスに保存されたデータを書き換える際には、まずブロック単位でまず消去動作(イレース動作)を行い、その後に当該アドレスに新たなデータを書き込むことが求められる。なお、1ブロックの大きさは、たとえば8キロバイト(KB)である。
また、フラッシュメモリ15の最小書込単位(「ユニット」とも称する)は、例えば8バイトであり、EEPROMの最小書込単位(例えば1〜2バイト)よりも大きい。
各ブロックBa,Bb,Bc,Bdは、それぞれ、データの最小書込単位(ユニット)で区分される。たとえば、図9に示すように、第1のグループGP1用のブロックBaは、複数(たとえば1024個)のユニットUAiに区分される。ブロックBbも、同様に、複数(たとえば1024個)のユニットUBiに区分される。また、図10に示すように、第2のグループGP2用のブロックBcは、複数(たとえば1024個)のユニットUCiに区分される。ブロックBdも、同様に、複数(たとえば1024個)のユニットUDiに区分される。
図11に示すように、たとえば、第1のグループGP1用のユニットUA1には、後述するように或るタイミングで第1のグループGP1用のデータがRAM12からコピーされてバックアップされる。同様に、他のユニットUAiにも、第1のグループGP1用のデータがRAM12からコピーされてバックアップされる。
ただし、後述するように、第1のグループGP1の各データに関しては、原則として、RAM12上での当該各データの更新タイミングとは非同期に且つ低頻度でバックアップされる。具体的には、各データの変更時点とは必ずしも同期していない比較的長い周期(例えば数十秒〜数分)間隔のチェック時点で各データの変更の有無がチェックされ、当該チェック時点で更新されていると判定されたデータが、RAM12からフラッシュメモリ15へとバックアップされる。また、第1のグループGP1に帰属する複数のデータは、フラッシュメモリ15内の同一書込単位内(ユニット内)に出来るだけ纏めて書き込まれる。
また、図12に示すように、たとえば、第2のグループGP2用のユニットUC1には、後述するように或るタイミングで第2のグループGP2用のデータがRAM12からコピーされてバックアップされる。同様に、他のユニットUCiにも、第2のグループGP2用のデータがRAM12からコピーされてバックアップされる。ただし、第2のグループGP2のデータに関しては、各データの変更時点でそれぞれ直ちにバックアップされる。
この実施形態においては、たとえば、第1のグループGP1用の複数のブロックBa,Bbを用いて、第1のグループGP1のデータD1(DT1,DT2,DT3)が格納される。この格納動作について図13〜図20を用いて説明する。
たとえば、ブロックBa内のユニットUA3までの書込動作が完了(図13)した後に、さらにユニットUA4の書込動作(図14)が行われる。その後、同様に、各ユニットUAiに対する書込処理が順次に実行される。そして、ブロックBa内の最後のユニットUAnまでの書込動作が完了し、ブロックBaがフル書込状態に到達する(図15)。
このとき、メモリ制御部31は、ブロックBa内のデータを再構成する。たとえば、同一種類(同一識別番号)の複数のデータのうち最新のデータのみを残すことによって、ブロックBa内のデータを整理し、最新のデータで構成されるデータを再構成後のデータとして生成する。そして、当該再構成後のデータを、次のブロックBbの先頭アドレスのユニットUB1以降に順次に書き込む。図16では、再構成後のデータがユニットUB1,UB2,UB3に書き込まれている。さらに、図17に示すように、メモリ制御部31は、ブロックBaの全ユニットUAiの内容を一括的に消去する。すなわち、ブロックBaをブロック単位で一斉に消去する。これにより、ブロックBaに対する新たなデータの書込処理が可能になる。なお、後述するように、ブロックBbがフル書込状態(図19)になると、ブロックBaに対する書込処理(図20)が再び開始され得る。
この時点では、ブロックBaに対する書込処理は未だ行われず、ブロックBaに対する書込処理が引き続き行われる。具体的には、ブロックBbのユニットUB4に対する書込動作(図18)、およびユニットUB5以降に対する書込動作が順次に行われる。
そして、ブロックBb内の最後のユニットUBnまでの書込動作が完了すると、ブロックBbがフル書込状態に到達する(図19)。
メモリ制御部31は、今度は、ブロックBb内のデータを再構成する。そして、再構成後のデータを、もう1つのブロックBaの先頭アドレスのユニットUA1以降に順次に書き込む。図20では、再構成後のデータがユニットUA1,UA2,UA3に書き込まれている。さらに、メモリ制御部31は、ブロックBbの全ユニットUBiの内容を一括的に消去する(図13参照)。すなわち、ブロックBbがブロック単位で一斉に消去される。
以降、同様の動作が繰り返されることによって、グループGP1のデータD1は2つのブロックBa,Bbを交互に用いてバックアップされる。
また、同様にして、第2のグループGP2向けのデータD2(DT4)は、第2のグループGP2用の複数のブロックBc,Bdを用いてバックアップされる。具体的には、グループGP2のデータD2は、2つのブロックBc,Bdを交互に用いてバックアップされる。
なお、各グループに対してそれぞれ3つ以上のブロックが設けられる場合には、当該3つ以上のブロックが上記と同様にして順次に用いられることが好ましい。
<4.詳細動作>
上述したように、この実施形態においては、メモリ制御部31は、第2のグループに帰属するデータを、当該データのRAM12上での更新時において直ちにフラッシュメモリ15に書き込む。また、メモリ制御部31は、第1のグループGP1に帰属するデータを、当該データのRAM12上での更新頻度よりも低い頻度でフラッシュメモリ15へ書き込む。より詳細には、メモリ制御部31は、RAM12上でのデータの最小更新周期(例えば25秒)よりも大きな所定周期(例えば30秒)を有する周期的タイミングで当該データの更新の有無を検出し、更新が検出される場合に当該データをフラッシュメモリ15に書き込む。以下では、このような動作(バックアップ動作)について、さらに詳細に説明する。
上述したように、この実施形態においては、メモリ制御部31は、第2のグループに帰属するデータを、当該データのRAM12上での更新時において直ちにフラッシュメモリ15に書き込む。また、メモリ制御部31は、第1のグループGP1に帰属するデータを、当該データのRAM12上での更新頻度よりも低い頻度でフラッシュメモリ15へ書き込む。より詳細には、メモリ制御部31は、RAM12上でのデータの最小更新周期(例えば25秒)よりも大きな所定周期(例えば30秒)を有する周期的タイミングで当該データの更新の有無を検出し、更新が検出される場合に当該データをフラッシュメモリ15に書き込む。以下では、このような動作(バックアップ動作)について、さらに詳細に説明する。
図21〜図25は、画像形成装置1におけるバックアップ動作(バックアップルーチン)を示すフローチャートである。図21は、当該動作に係る全体的なフローチャートであり、図22〜図25は、図21の一部の動作をそれぞれ示すフローチャートである。図21のルーチンは、所定の微小時間間隔(例えば、数十ミリ秒〜数百ミリ秒)ΔTで繰り返し実行される。
図21に示すように、まず、ステップS1において、メモリ制御部31は、第2のグループGP2のデータのうち、更新すべきデータを検索する。図22は、ステップS1の詳細動作を示すフローチャートである。
図22に示すように、ステップS21において、注目データに関する識別番号kが第2のグループGP2の先頭識別番号「203」(図7参照)の次の番号「204」に設定(初期設定)される。そして、注目データ(識別番号kのデータ)が更新されているか否かがチェックされる(ステップS22)。
注目データが更新されていると判定される場合にはステップS23からステップS24に進み、更新データが有ると判定される。また、このときの識別番号kが更新データの識別番号として特定される。
一方、注目データが更新されていないと判定される場合にはステップS23からステップS25に進む。
ステップS25では識別番号kがインクリメントされ、次のステップS26では識別番号kが第2のグループGP2の終端識別番号(「503」)に到達したか否かが判定される。識別番号kが当該終端識別番号に到達していない場合には、再びステップS22に戻り、同様の動作が繰り返される。一方、識別番号kが当該終端識別番号に到達している場合には、ステップS27に進み、更新データが無いと判定される。
その後、ステップS2(図21)において、ステップS1での判定結果に応じた分岐処理が行われる。更新データが有ると判定される場合にはステップS3に進み、更新データが無いと判定される場合にはステップS4に進む。
ステップS3では、第2のグループGP2の更新データの書込処理が実行される。これにより、上記ステップS1で検索された更新データ(識別番号kで特定された更新データ)がフラッシュメモリ15(詳細にはブロックBc,Bdのいずれか)に書き込まれる。たとえば、識別番号「278」のデータ(「ループ量調整値」)が、ブロックBcのユニットUC1に書き込まれる(図12参照)。
その後、同様の動作が繰り返し実行されることによって、第2のグループGP2の更新データが順次検出され、検出されたデータがRAM12からフラッシュメモリ15へとコピーされバックアップされる。
図27は、データ識別番号「278」のデータ(「ループ量調整値」)が時系列で変化する様子を示す図である。図27の最上段には、各時刻におけるRAM12内の当該データ値が左から右へと時間経過に従って示されており、図27の中段には、各時刻におけるRAM12内のコピー用のデータ値が左から右へと時間経過に従って示されている。また、図27の最下段には、各時刻におけるフラッシュメモリ15(ブロックBc,Bd)内の当該データの各値が左から右へと時間経過に従って示されている。
ここでは、或る時点T20において、RAM12上の「ループ量調整値」が「3」から「8」に変更された様子が示されている。時刻T20において「ループ量調整値」がRAM12上で更新されると、直後に実行される上記ルーチン(図21参照)によって、識別番号「278」のデータである「ループ量調整値」が更新データとして検出される。そして、更新データ(「ループ量調整値」)の更新後の値が、直ちにフラッシュメモリ15に書き込まれる。このように、第2のグループGP2に帰属するデータ「ループ量調整値」は、RAM12上での当該データの更新時T20において直ちにフラッシュメモリ15に書き込まれる。
そのため、第2のグループGP2に帰属する各データは、フラッシュメモリ15において非常に確実に更新される。
一方、第1のグループGP1に帰属する各データは、RAM12上での当該データの更新タイミングとは非同期のタイミングでフラッシュメモリ15に書き込まれる。具体的には、当該各データは、データのRAM12上での更新頻度よりも低い頻度でフラッシュメモリ15へ書き込まれる。より詳細には、RAM12上でのデータの最小更新周期(例えば25秒)よりも大きな所定周期(例えば30秒)TMを有する周期的なチェックタイミング(比較的長周期のチェックタイミング)で当該各データの更新の有無が検出され、更新されたデータがRAM12からフラッシュメモリ15へとコピーされ、バックアップされる。また、第1のグループGP1に帰属する複数のデータは、フラッシュメモリ15内の同一書込単位内(ユニット内)に出来るだけ纏めて書き込まれる。さらに、この実施形態においては、比較的長周期の周期的なチェックタイミングのみならず、特定イベントの発生タイミングにおいても、第1のグループGP1に帰属するデータがフラッシュメモリ15に書き込まれる(バックアップされる)場合を例示する。
以下、このような動作について図21〜図25等を参照しながら説明する。
上述のステップS2の分岐処理でステップS4に進むと、図23に示すような書込タイミング判定動作が実行される。図23は、ステップS4の詳細動作を示すフローチャートである。
まず、現在時刻が取得され(ステップS41)、上述の所定周期(周期間隔とも称する)TMが確認(取得)される(ステップS42)。周期間隔TMとしては、RAM12上でのデータの最小更新周期(例えば25秒)よりも大きな値、例えば数十秒から数分程度の比較的大きな値が設定されればよい。ここでは周期間隔TMとして30秒が設定されるものとする。
そして、周期間隔TMが経過していると判定されると、ステップS43からステップS44に進み、書込タイミングフラグがオンに設定されるとともに、さらにステップS45に進み、現在時刻が、次の周期間隔TM経過に関する期間計測用の基準時刻に設定される。
一方、周期間隔TMが未だ経過していないと判定されると、ステップS43からステップS46に進み、特定イベントの発生の有無が判定される。ここにおいて、特定イベントは、当該イベントの発生時点でフラッシュメモリ15へのバックアップ動作を行うことが望ましいイベント等である。当該特定イベントとしては、画像形成装置1の電源オフ、安定化処理の実行開始、および安定化処理の実行終了等などが例示される。
特定イベントが発生している場合には、ステップS44に進む。そして、えステップS44で書込タイミングフラグがオンに設定された後に、さらにステップS45に進み、現在時刻が次の周期間隔TMの期間計測用の基準時点に設定される。
特定イベントが発生していない場合には、ステップS47に進む。ステップS47では、書込タイミングフラグがオフに設定される。
その後、ステップS5(図21)では、書込タイミングフラグがオンであるかオフであるかに基づく分岐処理が実行される。
書込タイミングフラグがオフである場合には、書込動作の実行タイミングが未だ到来していないと判定され、グループGP1内のデータの変更の有無にかかわらず、更新処理は行われず、本ルーチンは一旦終了する。
一方、書込タイミングフラグがオンである場合には、ステップS6に進み、更新データの検索処理が実行される。
図24は、ステップS6の詳細動作を示すフローチャートである。図24に示されるようにして、グループGP1に複数のデータの中から、更新データが検索される。
図24に示すように、ステップS61において、注目データに関する識別番号kが第1のグループGP1の先頭識別番号「0」(図7参照)の次の番号「1」に設定(初期設定)される。そして、注目データ(識別番号kのデータ)が更新されているか否かがチェックされる(ステップS62)。
注目データが更新されていると判定される場合にはステップS63からステップS64に進み、更新データが有ると判定される。また、このときの識別番号kが最初の更新データの識別番号Kとして特定される。
一方、注目データが更新されていないと判定される場合にはステップS63からステップS65に進む。
ステップS65では識別番号kがインクリメントされ、次のステップS66では識別番号kが第1のグループGP1の終端識別番号(「202」)に到達したか否かが判定される。識別番号kが当該終端識別番号に到達していない場合には、再びステップS62に戻り、同様の動作が繰り返される。一方、識別番号kが当該終端識別番号に到達している場合には、ステップS67に進み、更新データが無いと判定される。
さらに、ステップS7(図21)において、ステップS6での判定結果に応じた分岐処理が行われる。更新データが有ると判定される場合にはステップS8に進み、更新データが無いと判定される場合には本ルーチンを終了する。
ステップS8では、第1のグループGP1の書込用データ(更新用データとも書する)DUの作成処理が実行される。ここでは、1つの書込単位(ユニット)(たとえばUAi)の容量(たとえば8バイト)に収まるように、出来るだけ多数の更新データ(周期間隔TMにおける複数の更新データ)が纏められて書込用データDUが作成される。
図25は、ステップS8の詳細動作を示すフローチャートである。図25に示されるようにして、第1のグループGP1に関する書込用データDUが作成される。
まず、ステップS81においては、初期設定処理が実行される。具体的には、ステップS6(ステップS62,S63)で特定された更新データが注目データに設定される。詳細には、ステップS6(ステップS62,S63)で特定された更新データの識別番号Kが、注目データに関する識別番号kとして初期設定される。また、書込用データDUもクリアされる。
次のステップS82においては、識別番号kの更新データを書き込むためのデータサイズが算出され、さらにステップS83においては識別番号kが、書込用データDUに収まるか否かが判定される。ここで、書込用データDUは、1つの書込単位のデータサイズ(例えば8バイト)を有する。
ここでは、識別番号k(=K)の更新データは、1つ目の更新データであるため、書込用データDUに収まると判定される。次回以降のステップS83においては、それまでに書込用データDUに追加されている更新データの合計データサイズと新たな識別番号kの更新データのデータサイズとの合計値SZが、1つの書込単位のデータサイズ(例えば8バイト)以下であるとの条件が充足される場合には、当該新たな識別番号kの更新データも書込用データDUに収まると判定される。一方、当該条件が充足されない場合には、当該新たな識別番号kの更新データは書込用データDUに収まらないと判定される。
新たな識別番号kの更新データが書込用データDUに収まらないとステップS83で判定される場合には、ステップS8の処理を終了し、ステップS9(図21)に進む。なお、この場合には、それまでに収容(追加)された1又は複数の更新データを有する書込用データDUを用いて、更新データの書込処理が実行される(ステップS9)。
新たな識別番号kの更新データが書込用データDUに収まると判定される場合には、ステップS83からステップS84に進み、新たな識別番号kの更新データが書込用データDUに追加される。また、ステップS85において、当該書込用データDUに他の更新データを収容する余地が未だ残っているか否かが判定される。
書込用データDUの残り容量が僅かであり、書込用データDUに他の更新データを収容する余地が残っていない場合には、ステップS8の処理を終了し、ステップS9に進む。
一方、書込用データDUに他の更新データを収容する余地がまだ残っている場合には、ステップS86以降に進み、他の更新データを検索する。具体的には、ステップS86で識別番号kがインクリメントされ、注目データ(識別番号kのデータ)が更新されているか否かがさらに判定される(ステップS87)。
識別番号kに係る注目データが更新されていると判定される場合には、ステップS87からステップS82以降に進み、上記の同様の動作が繰り返される。なお、その場合、特にステップS83では、上述したように、上記合計値SZが、書込単位のデータサイズ(例えば8バイト)以下であるとの条件が充足されるか否かに基づいて、新たな識別番号kの更新データも書込用データDUに収まるか否かが判定される。
識別番号kに係る注目データが更新されていないと判定される場合には、ステップS87からステップS88に進む。ステップS88では識別番号kが第1のグループGP1の終端識別番号(「202」)に到達したか否かが判定される。識別番号kが当該終端識別番号に到達していない場合には、再びステップS86に戻り、同様の動作が繰り返される。一方、識別番号kが当該終端識別番号に到達している場合には、ステップS8の処理を終了しステップS9に進む。
ステップS8では、このようにして、単一の書込単位(ユニット)のデータサイズを有する書込用データDU内に、出来るだけ多数の第1のデータD1が格納される。
そして、ステップS9においては、第1のグループGP1の書込用データDUを用いて、第1のグループGP1の1つ又は複数の更新データの書込処理(バックアップ処理)が実行される。特に、書込用データDUが複数の更新データを含む場合には、更新データの書込処理が纏めて実行される。
その後、同様の動作が繰り返し実行されることによって、第1のグループGP1の書込用データDUが順次作成され、当該書込用データDUに含まれる更新データがRAM12からフラッシュメモリ15へとコピーされバックアップされる。
たとえば、図11に示すように、データ識別番号「15」のデータ(「ドラムカートリッジの回転時間カウンタ」)と、データ識別番号「16」のデータ(「現像印字枚数カウンタ」)とが、纏めて、フラッシュメモリ15のブロックBaのユニットUA1等に書き込まれる。
このような動作について、図26を参照しながら説明する。図26は、データ識別番号「15」のデータとデータ識別番号「16」のデータとが、それぞれ、時系列で変化する様子を示す図である。図26において、データ識別番号「15」のデータは、比較的上側に三段に亘って表示されており、その最上段には、各時刻におけるRAM12の内部サブカウンタのデータ値が左から右へと時間経過に従って示されており、中段には、各時刻におけるRAM12内のコピー用のデータ値が左から右へと時間経過に従って示されている。また、最下段には、各時刻におけるフラッシュメモリ15(ブロックBa,Bb)内の当該データの各値が左から右へと時間経過に従って示されている。同様にして、データ識別番号「16」のデータは、比較的下側に三段に亘って表示されている。
ここでは、RAM12の内部サブカウンタは、実際の1回転に応じて1つカウントアップし、RAM12内のコピー用のデータ(フラッシュメモリ15へのバックアップ用の「ドラムカートリッジの回転時間カウンタ」)(図26の中段参照)は、実際の10回のカウントごとに1つインクリメントされるものとする。また、「ドラムカートリッジの回転時間カウンタ」のフラッシュメモリ15へのバックアップタイミングは、時刻T32,T42等であり、比較的長期(例えば30秒)の周期的タイミングである。ドラムカートリッジの実際の回転周期(すなわち最小更新周期)が2.5秒であるとすると、10回転に要する最小時間(すなわちRAM12上でのデータの最小更新周期)は25秒である。そして、「ドラムカートリッジの回転時間カウンタ」に関する比較的長期の周期的タイミングは、RAM12上でのデータの最小更新周期(例えば25秒)よりも大きな所定周期TM(例えば30秒)を有している。たとえば、30秒の周期は、連続12回転の計数に要する時間に相当する。
図26の左から5マス目においては、上側3段のうち、最上段には「9」と記載され且つ中段には「15」と記述されている。これは、159回目のカウントが実際に行われたことに応じて、RAM12の内部サブカウンタには「9」が記憶され、RAM12のコピー用のカウンタには「15」が記憶されていることを示している。また、図26の左から5マス目においては、上側3段のうちの最下段にも「15」が記述され、フラッシュメモリ15には「ドラムカートリッジの回転時間カウンタ」の値として「15」が記憶されていることが示されている。
その後、160回目のカウントが行われると、時刻T30においてRAM12の内部サブカウンタには「0」が記憶され、RAM12のコピー用カウンタには「16」が記憶される(図26の左から6マス目参照)。
ここにおいて、フラッシュメモリ15の「ドラムカートリッジの回転時間カウンタ」の値をも直ちに「16」に更新することも考えられるが、この実施形態においては、この時点ではフラッシュメモリ15内の当該カウンタ値を未だ更新しない。カウンタ値の更新は、原則として所定周期TMのタイミングで行われる。
具体的には、図21のルーチンにおいて、そのステップS4で書込タイミングの到来が判定されない場合には、バックアップ動作は行われない。たとえば、時刻T30の直後から時刻T32(後述)の直前までの期間に微小時間間隔ΔTで複数回実行される上記ルーチン(図21参照)においては、そのステップS4で書込タイミングの到来が判定されず、データ書込処理(データ更新処理)は実行されない。
一方、書込タイミングの到来がステップS4で判定され且つ更新データがステップS6で検出されると、ステップS8,S9における動作が実行され、バックアップ動作が実現される。たとえば、時刻T32において、フラッシュメモリ15の「ドラムカートリッジの回転時間カウンタ」の値が「16」に更新される。なお、時刻T32は、その前のバックアップ時刻T22(不図示)から所定周期TM(たとえば30秒)が経過した時刻である。
同様に、170回目のカウントが行われると、時刻T40においてRAM12の内部サブカウンタには「0」が記憶され、RAM12のコピー用カウンタには「17」が記憶される(図26の右から8マス目参照)。また、この時点では、フラッシュメモリ15内のカウンタ値は「16」のままである。
そして、次の書込タイミングの到来がステップS4で判定され且つ更新データがステップS6で検出されると、ステップS8,S9における動作が実行され、バックアップ動作が実現される。たとえば、時刻T42において、フラッシュメモリ15の「ドラムカートリッジの回転時間カウンタ」の値が「17」に更新される。なお、時刻T42は、その前のバックアップ時刻T32から所定周期TM(たとえば30秒)が経過した時刻である。
以上のように、この実施形態では、第2のデータD2はRAM12上でのデータ更新時において直ちにフラッシュメモリ15でも更新される一方で、第1のデータD1は、RAM12上でのデータ更新頻度よりも低い頻度で、フラッシュメモリ15に書き込まれる。
具体的には、図26においては、第1のデータD1のフラッシュメモリ15への書込タイミングは、時刻T32,T42等であり、比較的長期(例えば30秒)の周期的タイミングである。当該比較的長期の周期的タイミングは、RAM12上での第1のデータD1の最小更新周期(例えば25秒)よりも大きな所定周期(例えば30秒)を有している。したがって、第1のデータD1(より詳細には、第1のグループGP1に属する複数のデータのうち更新が検出されたデータ)は、RAM12上での当該第1のデータD1の更新頻度よりも低い頻度で不揮発性メモリに書き込まれるので、不揮発性メモリへの書込回数を抑制して、不揮発性メモリの高寿命化を図ることが可能である。
特に、図26においては、時刻T32において、フラッシュメモリ15における「現像印字枚数カウンタ」の値が「19」に更新され、次の更新時刻T42において、フラッシュメモリ15における「現像印字枚数カウンタ」の値が「21」に更新される。すなわち、RAM12上の「現像印字枚数カウンタ」が「20」であるときにはバックアップ動作が行われない。そのため、比較的頻繁に更新されるカウンタ値のバックアップ動作に関して、バックアップ用の書込回数を抑制することが可能である。
したがって、第1のデータD1に関しては、RAM12上でのデータの更新頻度が高い場合であっても、フラッシュメモリ15への書込回数を抑制してフラッシュメモリ15の高寿命化を図ることが可能である。換言すれば、フラッシュメモリ15への書込動作は、データ更新時に直ちに行われるのではなく、比較的長周期の書き込みタイミングで行われるため、データの書込回数を抑制することができる。
一方、第2のデータD2は、RAM12上でのデータ更新時において直ちにフラッシュメモリ15上でも更新されるので、より確実に更新される。
このように、各データの特性に応じて複数のデータを2つのグループGP1,GP2に分類し、第2のグループGP2に帰属するデータD2に関しては確実な更新を優先し、第1のグループGP1に帰属するデータD1に関しては書込回数(バックアップ回数)を抑制することが可能である。すなわち、データの特性を考慮して、更新の確実化とバックアップ回数の抑制との両立を図ることが可能である。
また、上記実施形態においては、第1のグループGP1に帰属する複数の第1のデータD1(複数の個別データ)であって更新すべきもの(前回の値と異なる値を有するもの)が、一のタイミングで纏めて更新される。端的に言えば、書込タイミングにおいて、出来るだけ多数のデータが纏めて書き込まれる。たとえば、時刻T32においてはデータ識別番号「16」のデータ(「現像印字枚数カウンタ」)もが更新データとして検出され(ステップS8,S87)、データ識別番号「15」のデータ(「ドラムカートリッジの回転時間カウンタ」)とともにフラッシュメモリ15に書き込まれる。時刻T42においても同様に、データ識別番号「15」のデータとデータ識別番号「16」のデータとが同時に更新される。
そのため、複数の第1のデータD1がそれぞれの更新タイミングで個別に更新される場合に比べて、書込回数が抑制され効率的な更新動作が実現される。したがって、第1のデータD1のRAM12上での更新頻度が高い場合であっても、フラッシュメモリ15への書込回数をさらに抑制して、フラッシュメモリ15の更なる高寿命化を図ることが可能である。
また特に、複数の第1のデータD1は、同一書込単位(ユニット)内に纏めて書き込まれるため、その書込動作は非常に効率的である。
また、上記実施形態においては、比較的長周期の周期的タイミングのみならず、特定イベントの発生タイミングにおいても第1のデータD1がフラッシュメモリ15に書き込まれ得る。したがって、周期的タイミング以外においてもフラッシュメモリ15への書込動作が可能であり、フラッシュメモリ15への第1のデータD1の書き込みタイミングをより柔軟に制御することができる。
たとえば、「電源オフ(詳細には電源オフボタンの押下)」を特定イベントとして採用することによれば、周期的タイミング以外にも、電源がオフされる直前のタイミングで、各種のデータをフラッシュメモリ15にバックアップすることが可能である。
また特に、上記実施形態においては、データ利用可能性「低」のデータであるデータDT3が第1のデータD1に含まれており、データDT3が、特定イベント発生時においてもフラッシュメモリ15に書き込まれ得る。
たとえば、「安定化処理の開始」および「安定化処理の終了」を特定イベントとして採用することによれば、周期的タイミング以外にも、安定化処理の開始時点と安定化処理の終了時点とにおいて、各種のデータ(例えば、「安定化完了情報(フラグ)」と安定化処理に関連する他のデータとを含む、データDT3の一部)をフラッシュメモリ15にバックアップすることが可能である。
これによれば、データ利用可能性「低」のデータでありデータ更新の確実性(換言すれば、バックアップデータにおける正確性)を要するデータDT3が、特定イベント発生時においてもバックアップされ得る。したがって、バックアップデータにおける正確性を向上させることができる。
さらに、上記実施形態においては、4種類のデータDT1〜DT4のうちデータDT1〜DT3が第1のグループGP1に帰属し、「低頻度書込」でフラッシュメモリ15にバックアップされる。一方、4種類のデータDT1〜DT4のうち調整値データDT4のみが、第2のグループGP2に帰属し、「逐次書込」でフラッシュメモリ15にバックアップされる。したがって、比較的少数のデータのみが「逐次書込」でバックアップされるので、フラッシュメモリ15への書き込み回数を抑制することが可能である。
なお、ここでは、RAM12のコピー用のカウンタ(中段)が実際の10回のカウントごとに1つインクリメントされる場合を例示しているが、これに限定されず、RAM12のコピー用のカウンタ(中段)が実際の1回のカウントごとに1つインクリメントされるようにしてもよい。この場合には、RAM12上でのデータの最小更新周期は1/10に低減され非常に小さな値(例えば「2.5秒」)になるため、周期期間TMは、比較的小さな値に設定されるようにしてもよい。ただし、周期期間TMは、RAM12上でのデータの最小更新周期(例えば2.5秒)よりも大きな値(たとえば、10秒)であることが好ましい。
<5.周期変更例>
また、上記では、周期間隔TMが固定値である場合を例示したが、本発明はこれに限定されず、周期間隔(所定周期)TMが各特性量に応じて変更されるようにしてもよい。
また、上記では、周期間隔TMが固定値である場合を例示したが、本発明はこれに限定されず、周期間隔(所定周期)TMが各特性量に応じて変更されるようにしてもよい。
たとえば、周期間隔TMは、画像形成装置1の稼働状態に応じて変更されるようにしてもよい。具体的には、画像形成装置1がプリント中である場合には周期間隔TMは比較的大きな値(例えば2分)に設定され、画像形成装置1が待機中である場合には周期間隔TMは比較的小さな値(例えば30秒)に設定されるようにしてもよい。プリント中においては、待機中に比べて電源ボタンをオフされる可能性が小さいため、周期間隔TMを比較的大きくしても影響が比較的小さい。なお、このような改変例は、上述の特定イベントとして「電源オフ」が採用されない場合に特に有用である。
また、周期間隔TMは、フラッシュメモリ15の寿命余裕に応じて変更されるようにしてもよい。具体的には、画像形成装置1の残りの機械寿命期間に対して、フラッシュメモリ15の残りの寿命期間(イレース回数から算出される残りの寿命期間)が相対的に余裕を有している場合には、周期間隔TMは比較的小さな値に変更されるようにしてもよい。これによれば、第1のデータD1を比較的高頻度にバックアップすることが可能であり、更新データをバックアップし損ねることを抑制することができる。
詳細には、フラッシュメモリ15の残りの寿命期間と画像形成装置1の残りの機械寿命期間との比を「メモリ寿命余裕度」として算出し、当該余裕度の値に応じて(詳細には当該値の大小に応じて)周期間隔TMを設定するようにしてもよい。より詳細には、図28に示すように、当該余裕度が大きくなる(M1→M5)につれて、周期間隔TMが段階的に小さくなる(TM5→TM1)ように設定されるようにしてもよい。
また、周期間隔TMは、画像形成装置1におけるフラッシュメモリ15への実際の書込頻度(たとえば、1日あたりの実際の書込回数(平均値等))に応じて(詳細には、当該書込頻度の大小)変更されるようにしてもよい。具体的には、1日あたりの実際の書込回数が所定値よりも多い場合には、周期間隔TMは比較的大きな値に設定されればよい。これによれば、バックアップに関する周期間隔を広げることによって、フラッシュメモリ15の寿命を延ばすことができる。また、図29に示すように、1日あたりの実際の書込回数が大きくなる(N1→N5)につれて、周期間隔TMが段階的に大きくなる(TM1→TM5)ように設定されるようにしてもよい。
また、周期間隔TMは、フラッシュメモリ15の書込中ブロックに対するデータ充填率に応じて(詳細には、当該データ充填率の大小に応じて)変更されるようにしてもよい。たとえば、第1のグループGP1用のブロックBa,Bbのうちの書込中ブロック(たとえばBa)のデータ充填率が大きくなるにつれて、周期間隔TMが比較的大きな値に設定されるようにしてもよい。周期間隔TMを大きくすることによって、フラッシュメモリ15の寿命を延ばすことが可能である。また、書込中ブロックのデータ充填率が比較的大きい場合には、前回バックアップされた同種のデータが残留している可能性が高い。すなわち、利用可能なデータが書込中ブロックに残留している可能性が高い。そのため、不意の事態(停電等)によりデータのバックアップ動作が失敗したときでも、書込中ブロック内に残留しているデータを用いて適切な処理を行うことが可能である。
また、周期間隔TMは、画像形成装置1の印字速度に応じて(詳細には、当該印字速度大小に応じて)変更されるようにしてもよい。より詳細には、画像形成装置1の印字速度が比較的大きい(速い)場合には、周期間隔TMは比較的小さな値に設定されるようにしてもよい。逆に言えば、画像形成装置1の印字速度が比較的小さい(遅い)場合には、周期間隔TMは比較的大きな値に設定されるようにしてもよい。これによれば、フラッシュメモリ15の寿命を延ばすことが可能である。
<6.他の分類例>
また、上記においては、4種類のデータDT1〜DT4のうち、調整値データDT4が第2のグループGP2に分類され、その他のデータDT1〜DT3が第1のグループGP1に分類される場合を例示した(図3参照)。しかしながら、本発明はこれに限定されない。
また、上記においては、4種類のデータDT1〜DT4のうち、調整値データDT4が第2のグループGP2に分類され、その他のデータDT1〜DT3が第1のグループGP1に分類される場合を例示した(図3参照)。しかしながら、本発明はこれに限定されない。
たとえば、図4に示すように、4種類のデータDT1〜DT4のうち、調整値データDT4に加えて機械状態参照データDT3もが第2のグループGP2に分類され、その他のデータDT1,DT2が第1のグループGP1に分類されるようにしてもよい。換言すれば、「未更新時のデータ利用可能性が所定程度よりも低い(小さい)データ」の全て(データDT3,DT4)が第2のグループGP2に分類されるようにしてもよい。
これによれば、データ更新の確実性(換言すれば、バックアップデータにおける正確性)を要するデータDT3,DT4(すなわち、データ利用可能性「低」のデータ)が、グループGP2に分類され、当該データDT3,DT4がRAM12上でのデータ更新時において直ちに不揮発性メモリ上でも更新される。そのため、バックアップデータにおける正確性を確保することができる。
特に、図4においては、データ利用可能性「低」の全データDT3,DT4が第2のグループGP2に帰属し、「逐次書込」でフラッシュメモリ15にバックアップされる。そのため、特定イベントの発生タイミングでの書込動作を要さずとも、データ利用可能性「低」のデータDT3,DT4が確実にバックアップされる。
なお、データ利用可能性「低」のデータ(未更新時のデータ利用可能性が所定程度よりも低いデータ)の全てが第2のグループGP2に分類されることを必ずしも要さず、上記第1実施形態のように、データ利用可能性「低」の一部(データDT3)が第1のグループGP1に分類されるようにしてもよい。ただし、この場合には、上述のように、特定イベントの発生タイミングでの書込動作をも実行し、データ利用可能性「低」のデータDT3が,より確実にバックアップされるようにすることが好ましい。
また、図6に示すように、4種類のデータDT1〜DT4のうち、調整値データDT4と機械状態参照データDT3と低頻度カウントデータDT2とが第2のグループGP2に分類され、高頻度カウントデータDT1のみが第1のグループGP1に分類されるようにしてもよい。換言すれば、データ利用可能性「低」のデータ(未更新時のデータ利用可能性が所定程度よりも低いデータ)に加えて、データ更新頻度「低」のデータ(データ更新頻度が所定程度よりも低いデータ)もが第2のグループGP2に分類されるようにしてもよい。そして、データ更新頻度「高」且つデータ利用可能性「高」のデータである「高頻度カウントデータDT1」のみが、第1のグループGP1に分類されるようにしてもよい。
これによれば、図4の場合と同様に、データ利用可能性「低」の全データDT3,DT4が第2のグループGP2に帰属し、「逐次書込」でフラッシュメモリ15にバックアップされる。そのため、特定イベントの発生タイミングでの書込動作を要さずとも、データ利用可能性「低」のデータDT3,DT4が確実にバックアップされる。
あるいは、図5に示すように、4種類のデータDT1〜DT4のうち、調整値データDT4と低頻度カウントデータDT2とが第2のグループGP2に分類され、その他のデータDT1,DT3が第1のグループGP1に分類されるようにしてもよい。換言すれば、データ更新頻度「低」のデータDT2,DT4が第2のグループGP2に分類され、且つ、データ利用可能性「高」のデータD1,DT3が第1のグループGP1に分類されるようにしてもよい。特に、データ利用可能性「低」の全データDT3,DT4のうち一部のデータDT4が第2のグループGP2に含まれるため、少なくともデータDT4に関しては、より確実にバックアップすることができる。
<7.その他>
以上、この発明の実施の形態等について説明したが、この発明は上記説明した内容のものに限定されるものではない。
以上、この発明の実施の形態等について説明したが、この発明は上記説明した内容のものに限定されるものではない。
たとえば、上記実施形態においては、図21のルーチンが1回実行される毎に、第2のグループGP2における更新データが1つずつフラッシュメモリ15にバックアップされる場合を例示している。しかしながら、本発明は、これに限定されず、図21のルーチンが1回実行される毎に、第2のグループGP2における複数の更新データが纏めて更新されるようにしてもよい。詳細には、図21のルーチンが1回実行される期間内において、全ての更新データがフラッシュメモリ15にバックアップされるまでステップS1〜S3の処理が繰り返されるようにしてもよい。
また、上記実施形態においては、図21のルーチンが1回実行される毎に、第1のグループGP1の1つ又は複数のデータが単一の書込単位(ユニット)内に纏められ(ステップS8)、ステップS9において単一の書込単位(ユニット)に係る書込用データDUがフラッシュメモリ15に書き込まれる場合を例示している。しかしながら、本発明は、これに限定されない。たとえば、図21のルーチンが1回実行される毎に、第1のグループGP1のデータが1つの書込単位(ユニット)(たとえばUAi)ごとに纏められた複数のユニットに亘る書込用データDUが作成され(ステップS8)、ステップS9において当該複数のユニットに亘る書込用データDUが纏めて書き込まれるようにしてもよい。
1 MFP(画像形成装置)
9 コントローラ
11 CPU
12 RAM
13 ROM
15 フラッシュメモリ
Ba,Bb,Bc,Bd ブロック
DT1 高頻度カウントデータ
DT2 低頻度カウントデータ
DT3 機械状態参照データ
DT4 調整値データ
GP1,GP2 グループ
UAi ユニット
TM 周期間隔(周期)
9 コントローラ
11 CPU
12 RAM
13 ROM
15 フラッシュメモリ
Ba,Bb,Bc,Bd ブロック
DT1 高頻度カウントデータ
DT2 低頻度カウントデータ
DT3 機械状態参照データ
DT4 調整値データ
GP1,GP2 グループ
UAi ユニット
TM 周期間隔(周期)
Claims (14)
- 画像形成装置であって、
複数のデータを記憶する揮発性メモリと、
前記複数のデータのバックアップ用の不揮発性メモリと、
前記揮発性メモリに記憶された前記複数のデータであってそのデータ特性に基づいて複数のグループに分類された前記複数のデータを前記不揮発性メモリへと書き込むタイミングを制御する制御手段と、
を備え、
前記複数のグループは、第1のグループと第2のグループとを有し、
前記制御手段は、
前記複数のデータのうち、前記第1のグループに帰属する第1のデータを、前記揮発性メモリ上での前記第1のデータの更新頻度よりも低い頻度で、前記不揮発性メモリに書き込み、
前記複数のデータのうち、前記第2のグループに帰属する第2のデータを、前記揮発性メモリ上での前記第2のデータの更新時において直ちに前記不揮発性メモリに書き込むことを特徴とする画像形成装置。 - 請求項1に記載の画像形成装置において、
前記制御手段は、前記第1のグループに帰属する複数の第1のデータを前記不揮発性メモリに一のタイミングで纏めて書き込むことを特徴とする画像形成装置。 - 請求項2に記載の画像形成装置において、
前記制御手段は、前記複数の第1のデータを、前記不揮発性メモリにおける同一書込単位内に纏めて書き込むことを特徴とする画像形成装置。 - 請求項1に記載の画像形成装置において、
前記データ特性は、未更新時のデータ利用可能性に関する特性を含むことを特徴とする画像形成装置。 - 請求項4に記載の画像形成装置において、
前記データ特性は、データ更新頻度に関する特性をも含むことを特徴とする画像形成装置。 - 請求項5に記載の画像形成装置において、
前記制御手段は、
データ更新頻度が所定程度よりも小さく且つ未更新時のデータ利用可能性が所定程度よりも小さいデータを、前記第2のグループに帰属させ、
データ更新頻度が所定程度よりも大きく且つ未更新時のデータ利用可能性が所定程度よりも大きいデータを、前記第1のグループに帰属させることを特徴とする画像形成装置。 - 請求項6に記載の画像形成装置において、
前記制御手段は、
データ更新頻度が所定程度よりも大きく且つ未更新時のデータ利用可能性が所定程度よりも小さいデータをも、前記第2のグループに帰属させることを特徴とする画像形成装置。 - 請求項1に記載の画像形成装置において、
前記制御手段は、前記揮発性メモリ上での前記第1のデータに関する最小更新周期よりも大きな所定周期を有する周期的タイミングで、前記第1のグループに帰属する複数の第1のデータの更新の有無を検出し、前記複数の第1のデータのうち更新が検出されたデータを前記不揮発性メモリに書き込むことを特徴とする画像形成装置。 - 請求項8に記載の画像形成装置において、
前記制御手段は、特定イベントの発生タイミングにおいても前記第1のデータを前記不揮発性メモリに書き込むことを特徴とする画像形成装置。 - 請求項8に記載の画像形成装置において、
前記所定周期は、前記画像形成装置の印字速度に応じて変更されることを特徴とする画像形成装置。 - 請求項8に記載の画像形成装置において、
前記所定周期は、前記画像形成装置の稼働状態に応じて変更されることを特徴とする画像形成装置。 - 請求項8に記載の画像形成装置において、
前記所定周期は、前記不揮発性メモリの寿命余裕に応じて変更されることを特徴とする画像形成装置。 - 請求項8に記載の画像形成装置において、
前記所定周期は、前記不揮発性メモリにおける書込頻度に応じて変更されることを特徴とする画像形成装置。 - 請求項8に記載の画像形成装置において、
前記所定周期は、前記不揮発性メモリの書込中ブロックにおけるデータ充填率に応じて変更されることを特徴とする画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010195406A JP2012053255A (ja) | 2010-09-01 | 2010-09-01 | 画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010195406A JP2012053255A (ja) | 2010-09-01 | 2010-09-01 | 画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012053255A true JP2012053255A (ja) | 2012-03-15 |
Family
ID=45906630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010195406A Withdrawn JP2012053255A (ja) | 2010-09-01 | 2010-09-01 | 画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012053255A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015003438A (ja) * | 2013-06-20 | 2015-01-08 | キヤノン株式会社 | 画像形成装置 |
JP2017135562A (ja) * | 2016-01-27 | 2017-08-03 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置およびデータ処理プログラム |
JP2018022379A (ja) * | 2016-08-04 | 2018-02-08 | 株式会社リコー | 電子機器、電子機器の制御方法およびプログラム |
JP2019144816A (ja) * | 2018-02-20 | 2019-08-29 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置及び情報処理方法 |
JP2020154674A (ja) * | 2019-03-20 | 2020-09-24 | 株式会社リコー | 情報処理装置、情報処理方法、及びプログラム |
-
2010
- 2010-09-01 JP JP2010195406A patent/JP2012053255A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015003438A (ja) * | 2013-06-20 | 2015-01-08 | キヤノン株式会社 | 画像形成装置 |
JP2017135562A (ja) * | 2016-01-27 | 2017-08-03 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置およびデータ処理プログラム |
JP2018022379A (ja) * | 2016-08-04 | 2018-02-08 | 株式会社リコー | 電子機器、電子機器の制御方法およびプログラム |
JP2019144816A (ja) * | 2018-02-20 | 2019-08-29 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置及び情報処理方法 |
JP2020154674A (ja) * | 2019-03-20 | 2020-09-24 | 株式会社リコー | 情報処理装置、情報処理方法、及びプログラム |
JP7225981B2 (ja) | 2019-03-20 | 2023-02-21 | 株式会社リコー | 情報処理装置、情報処理方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5629391B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
US20110153917A1 (en) | Storage apparatus and its control method | |
US8452913B2 (en) | Semiconductor memory device and method of processing data for erase operation of semiconductor memory device | |
JP6711579B2 (ja) | 画像形成装置及びその制御方法、コンピュータプログラム | |
EP1120709A2 (en) | Method of rewriting a boot program in a flash micro-computer | |
JP2012053255A (ja) | 画像形成装置 | |
EP3588259A1 (en) | Garbage collection method for storage media, storage medium, and program product | |
US8402204B2 (en) | Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same | |
JP2010020586A (ja) | データ処理装置 | |
WO2005045599A2 (en) | Internal maintenance schedule request for non-volatile memory system | |
BR102012022504B1 (pt) | chip de monitoramento de unidade substituível de cliente (crum) e dispositivo formador de imagem para comunicação mútua, e método do mesmo | |
JP2003532222A (ja) | 記憶媒体上のデータ管理のための方法、システム、及びコンピュータプログラム | |
JP5982025B1 (ja) | 情報処理装置およびメモリー管理プログラム | |
US20120331208A1 (en) | Adaptive internal table backup for non-volatile memory system | |
JP2017142776A (ja) | 寿命管理装置および寿命管理方法 | |
JP2008123314A (ja) | 半導体記憶装置への情報記録方法及び情報記録システム | |
US20100223510A1 (en) | Nonvolatile memory device, nonvolatile memory system, and defect management method for nonvolatile memory device | |
JP2007331356A (ja) | 画像形成装置 | |
JP5853596B2 (ja) | 半導体ディスク寿命監視装置 | |
JP2020154674A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP4645538B2 (ja) | 記録装置および寿命情報算出方法 | |
CN114420183A (zh) | 数据存储控制方法、电子设备及存储介质 | |
JP6636930B2 (ja) | フラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラム | |
JP2007101904A (ja) | 画像形成装置及びユニットの再生システム | |
EP1942380A2 (en) | Apparatus and method for storing information on toner usage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20130418 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20131105 |