(57)【特許請求の範囲】
【請求項１】
揮発性メモリに記憶されたデータを不揮発性メモリに書込んでバックアップするバックアップ記憶制御装置において、
前記揮発性メモリに格納されるべきバックアップ対象データを更新頻度により複数のグループに分け、更新頻度の高いクループの順にグループ単位でバックアップ処理を行う制御手段を備えたことを特徴とするバックアップ記憶制御装置。
【請求項２】
前記制御手段は、前記グループ別の更新頻度情報と、該グループに属するデータの前記揮発性メモリ上でのアドレスとを対応付けて記録したアドレステーブルを用いて前記バックアップ処理を行うことを特徴とする請求項１記載のバックアップ記憶制御装置。
【請求項３】
前記アドレステーブル上でグループ編成替えを行う編成替え手段を有することを特徴とする請求項２記載のバックアップ記憶制御装置。
【請求項４】
前記制御手段は、更新頻度の異なるグループに対して同時にバックアップ要求が発生した場合は、更新頻度の高いグループを優先してバックアップすることを特徴とする請求項１〜３のいずれかに記載のバックアップ記憶制御装置。
【請求項５】
揮発性メモリに記憶されたデータを不揮発性メモリに書込んでバックアップするバックアップ記憶制御装置において、
前記揮発性メモリに格納されるべきバックアップ対象データを当該データの種類により複数のグループに分け、更新頻度の高いグループの順にグループ単位でバックアップ処理を行う制御手段を備えたことを特徴とするバックアップ記憶制御装置。
【請求項６】
前記制御手段は、前記グループ別のグループ識別情報と、該グループに属するデータの前記揮発性メモリ上でのアドレスとを対応付けて記録したアドレステーブルを用いて前記バックアップ処理を行うことを特徴とする請求項５記載のバックアップ記憶制御装置。
【請求項７】
前記制御手段は、前記グループ識別情報をバックアップ処理の順序で配列した配列情報を用いて前記バックアップ処理を行うことを特徴とする請求項６記載のバックアップ記憶制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データのバックアップ技術に関し、特に不揮発性メモリを用いたデータバックアップ技術に関する。
【０００２】
【従来の技術】
従来、コンピュータ制御技術を用いた複写装置等の電子機器では、メインメモリとして、データの読み書きが可能な半導体メモリが広く採用されている。これら読み書き可能な半導体メモリとしては、ダイナミックＲＡＭ（ＤｙｎａｍｉｃＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：以下、ＤＲＡＭという）やスタティックＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：以下、ＳＲＡＭという）などの揮発性メモリが用いられている。
【０００３】
これら揮発性メモリは、データの読み書きを高速に行えるという利点を有しているが、電源の供給が無ければ内部に蓄積されたデータ内容を保持することはできないという欠点がある。このため、揮発性メモリを用いた場合は、外部からの電源供給が遮断されてもデータを保持するためには、何らかの形でデータをバックアップする必要がある。
【０００４】
このバックアップの手法としては、一般に、電池やコンデンサなどにより構成されたバックアップ電源が用いられていた。しかし、バックアップ電源を用いた場合には、コストの面で不利であり、バックアップし得る時間も短かった。
【０００５】
そこで、データの書換えが可能な不揮発性メモリをバックアップ用のメモリとして採用することが考えられる。すなわち、従来、不揮発性の半導体メモリとしては、半導体の製造過程でデータを書込んでしまい、データの消去が不可能なマスクＲＯＭ（Ｍａｓｋｅｄ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）が一般的であったが、近年、数万回もデータを電気的に消去／書込みすることができるＥＥＰＲＯＭ（Ｅ１ｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などが市場に登場している。
【０００６】
この種の不揮発性メモリは、電源を供給することなくデータを保持することができ、バックアップ電源が不要となる利点がある。また、不揮発性メモリ内のデータは電気的に消去／書込みが可能であり、システムに実装したまま記憶内容を変更することができる。しかし、ＥＥＰＲＯＭなどの不揮発性メモリに蓄えられたデータの内容を書換えるためには  ＤＲＡＭやＳＲＡＭに比べて長時間を要するという欠点があり、特に、高速なデータ更新が要求される機器の場合は、メインメモリとしてのＤＲＡＭやＳＲＡＭの代わりに不揮発性メモリを用いるのは不利である。
【０００７】
そこで、揮発性メモリと不揮発性メモリの両方を実装し、互いの欠点を補完し合ったバックアップ記憶装置が提案されている。このバックアップ記憶装置では、ＤＲＡＭなどの揮発性メモリをメインメモリとして利用し、ＥＥＰＲＯＭなどの不揮発性メモリをバックアップメモリとして利用している。
【０００８】
すなわち、例えば複写装置におけるシェーディング補正用の補正値、光濃度変換のための対数補正用の補正値の補正値、操作部により設定入力されたコピー枚数、記録紙のサイズや向き、カラーコピーモード／白黒コピーモード、片面原稿−両面印刷モード等の設定データ、コピー枚数やプリント枚数のカウント値等の動作状況データを、揮発性メモリに書込むと共に不揮発性メモリにも所定のタイミングでバックアップデータとして書込んでおき、停電等で電源が遮断された後に再度電源が投入された際に、不揮発性メモリに蓄えられたバックアップデータを揮発性メモリ上に展開し、一連の複写処理を実行する際には揮発性メモリをアクセスして必要なデータを得るようにしている。
【０００９】
【発明が解決しようとする課題】
しかしながら、ＥＥＰＲＯＭなどの不揮発性メモリは、ＤＲＡＭ，ＳＲＡＭに比べて書込所要時間が長いという欠点があるので、停電、電源スイッチの誤操作、商用電源のコンセントからのプラグの脱落等により、ユーザの意に反して電源供給が停止した場合、バックアップ対象の全てのデータを不揮発性メモリに書込む前に書込処理が停止してしまう可能性がある。
【００１０】
また、バックアップ対象の設定値はユーザにより任意に更新され、またコピー枚数やプリント枚数等のカウント値は一連の複写処理の過程で頻繁に更新されており、少なくとも更新に係るデータをその更新の都度、不揮発性メモリに書込まなければ、上記のようにユーザの意に反して電源供給が停止した場合に、バックアップすべき全てのデータを確実にバックアップすることはできなくなる。しかし、ＥＥＰＲＯＭなどの不揮発性メモリは、ＤＲＡＭ，ＳＲＡＭに比べて書込所要時間が長い、書込み回数が有限である等の欠点があるので、データ更新の都度、不揮発性メモリに書込むことは難しいという問題がある。
【００１１】
本発明は、このような背景の下になされたもので、その課題は、安価な構成で可能な限り最新のデータをバックアップできるようにすることにある。
【００１６】
【課題を解決するための手段】
上記課題を解決するため、本発明は、揮発性メモリに記憶されたデータを不揮発性メモリに書込んでバックアップするバックアップ記憶制御装置において、前記揮発性メモリに格納されるべきバックアップ対象データを更新頻度により複数のグループに分け、更新頻度の高いクループの順にグループ単位でバックアップ処理を行う制御手段を備えている。
【００１７】
また、前記制御手段は、前記グループ別の更新頻度情報と、該グループに属するデータの前記揮発性メモリ上でのアドレスとを対応づけて記録したアドレステーブルを用いて前記バックアップ処理を行っている。
【００１８】
また、本発明は、前記アドレステーブル上でグループ編成替えを行う編成替え手段を有している。
【００１９】
また、前記制御手段は、更新頻度の異なるグループに対して同時にバックアップ要求が発生した場合は、更新頻度の高いグループを優先してバックアップしている。
【００２０】
また、本発明は、揮発性メモリに記憶されたデータを不揮発性メモリに書込んでバックアップするバックアップ記憶制御装置において、前記揮発性メモリに格納されるべきバックアップ対象データを当該データの種類により複数のグループに分け、更新頻度の高いグループの順にグループ単位でバックアップ処理を行う制御手段を備えている。
【００２１】
また、前記制御手段は、前記グループ別のグループ識別情報と、該グループに属するデータの前記揮発性メモリ上でのアドレスとを対応づけて記録したアドレステーブルを用いて前記バックアップ処理を行っている。
【００２２】
また、前記制御手段は、前記グループ識別情報をバックアップ処理の順序で配列した配列情報を用いて前記バックアップ処理を行っている。
【００３１】
【発明の実施の形態】
以下、本発明の発明の実施を図面に基づいて説明する。
【００３２】
図１は、本発明を適用した画像形成装置の概略構成を示す断面図である。この画像形成装置１０００は、デジタルカラー画像形成装置であり、複写対象の原稿を自動的に給紙する自動給紙装置１２、自動給紙装置１２により給紙された原稿上の画像を読取る画像読取部１１、画像読取部１１により読取られた画像データに基づいて電子写真方式で記録紙上に画像を形成する画像形成部１０、画像形成部１０により画像が形成された記録紙を複数のビンに仕分けして排出するソータ１３を備えている。
【００３３】
自動給紙装置１２は、給紙トレイ１２ａに積載された原稿を１枚ずつ原稿台１４の所定の画像読取位置に給紙し、画像読取が行われた原稿を排紙トレイ１２ｂに排紙する。
【００３４】
画像読取部１１は、原稿台１４の画像読取位置に給紙された原稿に光を照射するための光源２１を備えており、この光源２１を図１の左右方向に往復駆動しながら原稿上の画像を光学的に走査する。光源２１から発光された光は原稿により反射される。その反射光は、原稿画像を反映した光学像として、ミラー２２，２３，２４及びレンズ２５を介してＣＣＤ（Ｃｈａｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）２６に入射される。なお、ミラー２２，２３，２４は光源２１と一体的に駆動される。ＣＣＤ２６は、入射された光学像を光電変換して、電気的なアナログの画像データとして出力する。ＣＣＤ２６から出力されたアナログの画像データは、デジタルデータに変換されて画像処理部１１ａに出力される。
【００３５】
このような画像読取処理に必要な各種の調整値（動作状況データ）は、後述するＤＲＡＭ５２に記憶されると共に、ＥＥＰＲＯＭ５３にバックアップデータとして保存される。
【００３６】
画像処理部１１ａは、入力されたデジタルの画像データに対して各種の画像処理を施して画像メモリに出力する。すなわち、画像処理部１１ａは、シェーディング補正、各色や各画素間のずれ補正、光濃度変換のための対数補正、カラーセンサ（ＣＣＤ２６）のフィルタ特性及びトナー濃度特性に関する補正、ユーザの指示に応じた濃度変換等を行う。これら画像処理に必要なデータ（各種の補正用データ、設定値）も、後述するＤＲＡＭ５２に記憶されると共に、ＥＥＰＲＯＭ５３にバックアップデータとして保存される。なお、上記の画像メモリは、本実施形態では、上記のＤＲＡＭ５２の一部のエリアにより構成されているが、画像メモリ専用のＤＲＡＭ等を設けてもよい。
【００３７】
そして、画像形成部１０では、画像メモリから画像データを読出し、アナログデータに変換してレーザビーム発光部２７に出力する。レーザビーム発光部２７は、入力されたアナログの画像データに基づいて変調されたレーザビームを発生する。そのレーザビームは、ポリゴンミラー２８により進行方向が更新制御されながらミラー３０を介して感光ドラム３１上に照射され、感光ドラム３１上のレーザビーム照射位置には、静電潜像が形成される。この静電潜像は、トナー画像として現像され、記録紙上に転写される。そして、記録紙上のトナー画像は、定着ローラ３２により記録紙上に定着され、この定着処理が施された記録紙は、ソータ１３に搬送される。
【００３８】
このような画像形成処理の際に使用される各種の調整値（コピー枚数のカウント値、プリント枚数のカウント値を含む動作状況データ）も、後述するＤＲＡＭ５２に記憶されると共に、ＥＥＰＲＯＭ５３にバックアップデータとして保存される。
【００３９】
ソータ１３は、画像形成部１０から搬送されてきた記録紙を排紙トレイ３３に仕分けして排紙する処理を行う。給紙トレイ３４，３５は本体の下部に設けられ、ある程記の枚数の記録紙を積載することができる。給紙デッキ３６には、記録紙を大量に積載することができ。画像形成処理を行う際は、給紙トレイ３４，３５、或いは給紙デッキ３６から記録紙が１枚ずつピックアップされて、転写位置、定着位置、ソータ１３に順次搬送される。これら給紙トレイ３４，３５、給紙デッキ３６にユーザが記録紙をセットする際には、その記録紙のサイズや向きを設定するが、その設定データや、上記ソータ１３による記録紙の仕分データも、後述するＤＲＡＭ５２に記憶されると共に、ＥＥＰＲＯＭ５３にバックアップデータとして保存される。
【００４０】
給紙デッキ３６の上方には、手差しトレイ３７が設置されており、この手差しトレイ３７は、例えばＯＨＰ（ＯｖｅｒＨｅａｄ  Ｐｒｏｊｅｃｔｅｒ）シート、厚紙、はがきサイズ紙など特殊な記録用紙を使用する場合等に利用される。なお、一連の複写処理の過程における記録紙の搬送は、搬送ローラ３８，３９，４０，４１，４２等により行われる。
【００４１】
次に、本発明に特有なデータバックアップ制御について説明する。
【００４２】
［第１の実施形態］
図２に示したように、本画像形成装置１０００は、メイン制御部５０と、バックアップ制御部５１とを有している（第２，第３の実施形態も同様）。また、本画像形成装置１０００は、図３に示したように、揮発性のＤＲＡＭ５２、不揮発性のＥＥＰＲＯＭ５３を有している（第２，第３の実施形態も同様）。
【００４３】
メイン制御部５０はＣＰＵ５０ａ、ＲＯＭ５０ｂを有し、バックアップ制御部５１はＣＰＵ５１ａ、ＲＯＭ５１ｂ，ＲＡＭ５１ｃを有している。また、バックアップ制御部５１は、バックアップ要求部５４、アクセス制御部５５、第１バックアップモード設定部５６、第２バックアップモード設定部５７、モード選択部５８を有している。
【００４４】
ただし、バックアップ要求部５４、アクセス制御部５５、モード選択部５８は、バックアップ制御部５１のＣＰＵ５１ａがＲＯＭ５１ｂ内のプログラムを実行することにより実現される機能を示すものであり、これら各部に対応する物理的なデバイスが個別に存在しているわけではない。また、第１バックアップモード設定部５６、第２バックアップモード設定部５７は、実際にはバックアップ制御部５１のＲＡＭ５１ｃ上に形成された１つのモードフラグにより構成され、このモードフラグに“１”がセットされた場合は第１バックアップモードを示し、“２”がセットされた場合は第２バックアップモードを示している。
【００４５】
なお、第１バックアップモードは、メイン制御部５０によりＤＲＡＭ５２のバックアップ記憶領域５９がアクセスされるごとに、バックアップ記憶領域５９のデータをバックアップ処理するモードである。第２バックアップモードは、メイン制御部５０によりＤＲＡＭ５２のバックアップ記憶領域５９がアクセスされるごとにバックアップ記憶領域５９のデータをバックアップすることなく、所定のタイミングで、バックアップ処理するモードである。
【００４６】
揮発性メモリであるＤＲＡＭ５２は、本実施形態では、メイン制御部５０のＣＰＵ５０ａが一連の複写処理を行う際に直接アクセスするメインメモリとして機能する。すなわち、ＤＲＡＭ５２は、低電力で大量のデータを記憶することができるので、本実施形態では、各種の設定データや補正値等の調整値、及びコピー枚数やプリント枚数のカウント値等を含む各種の動作状況データを記憶すると共に、画像データを記憶する画像メモリとしても機能し、さらに一連の複写処理を行う際のワークエリアとしても利用されている。なお、メインメモリとしては、ＤＲＡＭ５２の替わりにＳＲＡＭを用いることも可能である。ただし、この場合は、ＳＲＡＭはＤＲＡＭに比べて記憶容量が小さく、消費電力も大きいので、画像データ用の専用の画像メモリを設け、ＳＲＡＭには画像データを格納しないようにすることが望ましい。
【００４７】
不揮発性メモリであるＥＥＰＲＯＭ５３は、フローティングゲートに蓄えられる電荷の有無により１ビット分のデータを記憶するメモリであり、データを電気的に消去／書込み可能なメモリである。そこで、本実施形態では、ＤＲＡＭ５２に記憶された各種の設定データや補正値等の調整値、コピー枚数のカウント値等の動作状況データ、すなわち図３のＤＲＡＭ５２内のバックアップ記憶領域５９のデータをバックアップデータとして記憶するバックアップメモリとして、ＥＥＰＲＯＭ５３を利用している。
【００４８】
すなわち、停電や電源スイッチの誤操作等によりメインメモリ内の各種の設定データや補正値等の調整値が消失した場合は、これら調整値を再度設定する必要があり、この再設定操作が面倒なので、停電や電源スイッチの誤操作等によりユーザの意に反して電源供給が停止してもメインメモリ内の動作状況データを何らかの形で保護することが望まれる。
【００４９】
このためには、メインメモリとして不揮発性の消去／書込み可能なＥＥＰＲＯＭを用いることが考えられるが、ＥＥＰＲＯＭは、アクセスするのに長時間を要するため、処理速度の低下を招き、メインメモリとしては不向きである。また、メインメモリとして揮発性のＤＲＡＭ、またはＳＲＡＭを用い、このＤＲＡＭ、ＳＲＡＭに対する電源供給を電池やコンデンサでバックアップすることも考えられるが、この場合は、電源供給可能な時間が限られてしまう。
【００５０】
そこで、本実施形態では、メインメモリとしてはＤＲＡＭ５２を用い、このＤＲＡＭ５２内の調整値をバックアップデータとして不揮発性メモリに記憶するようにしている。
【００５１】
ただし、任意に変更可能な上記の調整値や刻々変化するコピー枚数のカウント値等を適切にバックアップするためには、バックアップメモリとしての不揮発性メモリは、装置に実装したままでデータを容易に書換えられることが重要な条件となる。従って、不揮発性メモリであっても、データの消去が不可能なマスクＲＯＭ、ＲＯＭライタにより初めて任意にデータを書込めるＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、紫外線を照射することにより消去して再度書込みを行えるＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）等は、バックアップメモリには適さず、本実施形態では、電気的に容易に消去して再書込みを行えるＥＥＰＲＯＭ５３をバックアップメモリとして用いている。
【００５２】
メイン制御部５０のＣＰＵ５０ａは、ＲＯＭ５０ｂにプリセットされたプログラムに従って、本画像形成装置１０００における原稿給紙処理、原稿画像の読取処理、原稿画像の複写処理、記録紙の搬送処理、記録済みの記録紙のソート処理等の一連の複写処理を統御する。
【００５３】
また、バックアップ制御部５１のモード選択部５８は、メイン制御部５０によるＤＲＡＭ５２のバックアップ記憶領域５９に対するアクセス頻度を監視し、アクセス頻度が少ない場合は第１バックアップモードを選択し、アクセス頻度が多い場合は第２バックアップモードをする。バックアップ要求部５４は、モード選択部５８により第１バックアップモードが選択された場合は、メイン制御部５０によりＤＲＡＭ５２のバックアップ記憶領域５９がアクセスされるごとに、そのアクセスに係るデータをＥＥＰＲＯＭ１３によりバックアップすべく、バックアップ要求を発する。また、バックアップ要求部５４は、第２バックアップモードが選択された場合は、メイン制御部５０によりＤＲＡＭ５２のバックアップ記憶領域５９がアクセスされるごとにバックアップ要求を発することなく、ＤＲＡＭ５２のバックアップ記憶領域５９に対するアクセス頻度が少なくなった時点で、アクセスに係るデータを一括してバックアップする。
【００５４】
また、メイン制御部５０のＣＰＵ５０ａは、停電等により電源供給が停止してＤＲＡＭ５２内の上記の動作状況データが消失した後に電源供給が回復された場合には、ＥＥＰＲＯＭ５３内の動作状況データをＤＲＡＭ５２に書込むように、バックアップ制御部５１に指示する。このようにしてＤＲＡＭ５２に動作状況データが書込まれた後は、メイン制御部５０のＣＰＵ５０ａは、ＤＲＡＭ５２内の動作状況データをアクセスしながら一連の複写処理を統御する。
【００５５】
なお、図示省略したが、本画像形成装置１０００には、メイン制御部５０、バックアップ制御部５１の他に、原稿給紙処理、原稿画像の読取処理、読取画像に基づく画像形成処理、ソート処理等を個別に制御する複数の制御部（それぞれＣＰＵ、ＲＯＭ、ＲＡＭ等により構成されている）が設けられ、メイン制御部５０は、これら制御部を統御している。
【００５６】
次に、第１の実施形態におけるデータバックアップ処理を図４のフローチャートに従って説明する。
【００５７】
バックアップ制御部５１のＣＰＵ５１ａは、ＲＯＭ５１ｂ内のプログラムに従って、まず、メイン制御部５０により、ＤＲＡＭ５２のバックアップ記憶領域５９へのデータ書込みが行われると（ステップＳ１１）、現在、バックアップ記憶領域１９へのアクセス頻度（厳密に言えば、データ更新（書込）頻度）が多い状態であるか否かを判別する（ステップＳ１２）。
【００５８】
その結果、アクセス頻度が少ない状態であれば、すなわち、ＤＲＡＭ５２への書込頻度が少ないために、ＥＥＰＲＯＭ５３へ書込むべきデータ量が少なく、データ書換所要時間（バックアップ所要時間）が短い場合は、モードフラグに第１バックアップモードを示す“１”をセットして（ステップＳ１３）、ステップＳ１６にてバックアップ処理を行った後に、ステップＳ１１に戻る。
【００５９】
この場合、ステップＳ１６では、ステップＳ１１にてＤＲＡＭ５２のバックアップ記憶領域５９へ書込まれたデータを、ＥＥＰＲＯＭ５３に書込む。すなわち、第１バックアップモード時には、ＤＲＡＭ５２のバックアップ記憶領域５９のデータが書込まれるごとに、その書込データがＥＥＰＲＯＭ５３にバックアップされることとなる。
【００６０】
このように、データ書込頻度が少ない状態の場合には、データが書込まれるごとに、その都度バックアップ処理を行うようにした第１の理由は、バックアップ対象データを可及的確実、かつ迅速にバックアップできるようにするためであり、第２の理由は、書込データ書込頻度が少ない状態では、バックアップすべきデータが少なく、バックアップ所要時間も短くなるので、データが書込まれるごとにバックアップ処理を行っても、そのバックアップ処理中にその書込データが書換えられる可能性は少なく、前に行ったバックアップ処理が無駄にならないからである。
【００６１】
ステップＳ１２にて、バックアップ記憶領域１９のデータの書込頻度が多い状態であると判別された場合は、ＥＥＰＲＯＭ５３へ書込むべきデータ量が多く、データ書換所要時間（バックアップ所要時間）が長いことを意味するので、モードフラグに第２バックアップモードを示す“２”をセットする（ステップＳ１４）。そして、バックアップ記憶領域１９への書込頻度が少ない状態になくなるのを待つ（ステップＳ１５）。
【００６２】
そして、その結果、バックアップ記憶領域１９への書込頻度が少ない状態になったときは、ステップＳ１６に進み、ステップＳ１１にてＤＲＡＭ５２のバックアップ記憶領域５９へ書込まれたデータ、及びステップＳ１５にて待っている間に書込まれたデータを一括してＥＥＰＲＯＭ５３に書込む。そして、ステップＳ１１に戻る。
【００６３】
すなわち、第２バックアップモード時には、ＤＲＡＭ５２のバックアップ記憶領域５９へデータが書込まれるごとにバックアップ処理を行うことなく、バックアップ記憶領域５９へのデータ書込頻度が少なくなるまで待って、それまでに書込まれたデータを一括してバックアップ処理している。
【００６４】
このように、データ書込頻度が多い状態の場合には、データが書込まれるごとにその都度バックアップ処理を行うことなく、データ書込頻度が少ない状態になった後に、バックアップ処理を一括して行うようにした第１の理由は、バックアップ対象データを可及的確実にバックアップできるようにするためであり、第２の理由は、データ書込頻度が多い状態では、バックアップすべきデータが多く、バックアップ所要時間が長くなるので、データが書込まれるごとにバックアップ処理を行うと、そのバックアップ処理中にそのデータが書換えられされる可能性が高くなり、バックアップ処理中に書換えられたデータについては、その後のループ処理で、再度バックアップしなければならなくなり、前に行ったバックアップ処理が無駄になってしまうからである。
【００６５】
このように、第１の実施形態では、データ書込頻度が少ない状態の場合には、データが書込まれるごとにその都度バックアップ処理を行い、データ書込頻度が多い状態の場合には、データが書込まれるごとにその都度バックアップ処理を行うことなく、データ書込頻度が少ない状態になった後に、バックアップ処理を一括して行うようにすることにより、バックアップ対象データを可及的確実に、かつ効率的にバックアップするようにしている。
【００６６】
［第２の実施形態］
第２の実施形態では、メインメモリとしてのＳＲＡＭ（揮発性メモリ）に格納される動作状況データを、更新頻度により分類することにより、更新頻度の高い動作状況データを頻繁にバックアップ処理するようにしている。
【００６７】
図５に示したように、第２の実施形態では、揮発性のメインメモリとしては、ＳＲＡＭ６０を使用している。ただし、ＳＲＡＭを用いたことに特に意味はなく、ＳＲＡＭの替わりにＤＲＡＭを用いてもよい。また、バックアップ制御部５１は、ＳＲＡＭ６０から読出した動作状況データ（図５中のｄａｔａＡ，Ｂ，Ｃ，Ｄ，…）を、その読出アドレスに対応するＥＥＰＲＯＭ５３のアドレスに書込む。
【００６８】
第２の実施形態におけるバックアップ制御部５１は、図６のように構成されている。すなわち、第２の実施形態におけるバックアップ制御部５１は、アドレステーブル６１、バックアップフラグ６２、アクセス制御部５５を有している。
【００６９】
アドレステーブル６１は、バックアップ対象のデータのＳＲＡＭ６０上のアドレスと、そのデータの属するグループを示す後述のタグ値を対応づけて記憶したテーブルであり、通常は、不揮発性のＥＥＰＲＯＭ５３に格納されており、電源スイッチがオンされて一連の複写処理を開始する際に、バックアップ制御部５１内のＲＡＭ５１ｃに展開される。
【００７０】
バックアップフラグ６２は、ＳＲＡＭ６０に格納されるバックアップ対象のデータとしての動作状況データを、更新頻度によりグループ化した場合のグループ識別情報をタグ値としてセットするフラグであり、このタグ値は、バックアップ処理の優先順位をも示している。すなわち、更新頻度の最も高いデータに対しては“０”、第２位の更新頻度のデータに対しては“１”、第３位の更新頻度のデータに対しては“２”、…といったように、タグ値が割当てられ、それらタグ値が付されたアドレスのデータのバックアップ処理の優先順位は、“０”＞“１”＞“２”…のように規定されている。換言すれば、更新頻度の高いデータほど、バックアップ処理の優先順位も高くなっている。
【００７１】
バックアップフラグ６２は、バックアップ制御部５１のＲＡＭ５１ｃの所定領域に形成されている。また、バックアップフラグ６２にセットされるタグ値は、メイン制御部５０からバックアップ処理要求コマンド６３が出力されるごとに、バックアップ制御部５１のＣＰＵ５１ａにより更新される。このタグ値の更新は、“０”→“１”→“２”→…→“０”→…のように、優先順位の高いグループの方から先にバックアップさせるような形でサイクリックに行われる。
【００７２】
アクセス制御部５５は、メイン制御部５０からバックアップ処理要求コマンド６３が与えられると、上記バックアップフラグ６２にセットされたタグ値に対応するアドレスをアドレステーブルＴから抽出し、そのアドレス位置のデータをＳＲＡＭ６０から読出す。そして、読出したデータをＥＥＰＲＯＭ５３の対応するアドレスに書込む。アクセス制御部５５は、このようなアクセス制御を、アドレステーブルＴに記録された上記タグ値に対応する全てのアドレスについて行う。なお、アクセス制御部５５の上記に機能は、実際には、バックアップ制御部５１のＣＰＵ５１ａがＲＯＭ５１ｂ内のプログラムを実行することによって実現されている。
【００７３】
次に、第２の実施形態におけるバックアップ処理を図７のフローチャートに基づいて説明する。
【００７４】
メイン制御部５０からバックアップ処理要求コマンド６３が与えられると、バックアップ制御部５１のＣＰＵ５１ａは、ＲＯＭ５１ｂ内のプログラムに従って、まず、バックアップフラグ６２からタグ値を読出して変数ｔａｇにセットする（ステップＳ２１）。次に、変数ｉに初期値として“０”をセットする（ステップＳ２２）。この変数ｉの値は、アドレステーブル６１上の変数ｔａｇで示されるタグ値に対応するアドレス群の中の１つのアドレスを指定するものであり、アドレス群の中の先頭のアドレスは“０”、２番目のアドレスは“１”、…といったように指定する。
【００７５】
次に、変数ｔａｇ、及び変数ｉで示されたアドレスをアドレステーブル６１から読出して、変数ａｄｒにセットする（ステップＳ２３）。そして、変数ａｄｒで示されるＳＲＡＭ６０上のアドレスのデータが、バックアップ処理中に更新されてしまうのを防止すべく、当該アドレスへの書込禁止信号をメイン制御部５０に出力する（ステップＳ２４）。
【００７６】
次に、変数ａｄｒで示されるＳＲＡＭ６０上のアドレスのデータを読出して、ＥＥＰＲＯＭ５３に書込むことにより、当該データをバックアップする（ステップＳ２５）。そして、変数ａｄｒで示されるＳＲＡＭ６０上のアドレスへの書込許可信号をメイン制御部５０に出力する（ステップＳ２６）。そして、現在変数ｉで示されているアドレスが、変数ｔａｇで示されるタグ値に対応するアドレス群の中の最後のアドレスであるか否かを判別する（ステップＳ２７）。
【００７７】
その結果、最後のアドレスでなければ、変数ｉの値を“１”だけインクリメントして（ステップＳ２８）、ステップＳ２３に戻ることにより、変数ｔａｇで示されるタグ値に対応するアドレス群の次のアドレスのデータをバックアップする。一方、最後のアドレスであれば、バックアップ処理が正常に終了した旨をメイン制御部５０に通知して（ステップＳ２９）、終了する。
【００７８】
なお、第２の実施形態において、バックアップ処理要求をメイン制御部５０から発することなく、タイマ等に基づいてバックアップ処理部から発することも可能である。
【００７９】
以上説明したように、第２の実施形態では、１回のバックアップ処理要求につき１つのグループのデータをバックアップすることにより、１回のバックアップ処理に要する時間を短縮し、装置全体の処理効率を向上させている。また、更新頻度の高いデータほど、バックアップ処理を優先して行うことにより、停電等によりＤＲＡＭ５２上のデータが消失してしまい、そのデータ消失が発生する直前のＤＲＡＭ５２上のデータと、ＥＥＰＲＯＭ５３に基づいてデータ回復されたＤＲＡＭ５２上のデータとが異なるといったような弊害を未然に防止し得る可能性が高くなる。換言すれば、ＤＲＡＭ５２上のデータを可及的確実にＥＥＰＲＯＭ５３によりバックアップすることができる。
【００８０】
さらに、バックアップ処理中は、そのバックアップ処理に係るデータのＤＲＡＭ５２上の格納領域でのデータ更新を禁止しているので、ＤＲＡＭ５２上のデータを確実にＥＥＰＲＯＭ５３によりバックアップすることが可能となる。
【００８１】
［第２の実施形態の第１の変形例］
第１の変形例では、バックアップ対象のデータを更新頻度によりグループ化することなく、データの種類（画像処理用の補正値、操作部により設定された設定値、コピー枚数のカウント値等）によりグループ化されている。すなわち、第１の変形例におけるアドレステーブル６１上のタグ値は、データ更新頻度を示すデータではなく、データの種類を示すデータとなっている。また、第１の変形例では、図８に示したように、グループ毎のバックアップ順序をタグ値により配列６４に記録しておくと共に、バックアップ制御部５１内にタイマ６５を設けている。
【００８２】
なお、配列６４は、通常は、不揮発性のＥＥＰＲＯＭ５３の所定エリアに格納されており、電源スイッチがオンされて一連の複写処理を開始する際に、バックアップ制御部５１内のＲＡＭ５１ｃに展開される。
【００８３】
そして、タイマ６５が所定時間をカウントアップする毎にバックアップ制御部５１の内部からバックアップ処理要求コマンド６３を発生し、配列６４に記録されたタグ値の配列順に、当該タグ値に対応するアドレス群のデータをバックアップ処理するようにしている。ただし、１つのバックアップ処理要求に対して、１つのタグ値に対応するアドレス群のデータがバックアップ処理される。
【００８４】
なお、配列６４には、更新頻度の高いグループのバックアップ頻度が高くなるように、タグ値が配列されている。例えば、図８に例示した配列６４では、タグ値“１”の更新頻度が飛び抜けて高いので、６個の配列要素のうちタグ値“１”の要素が４個も配列されている。
【００８５】
次に、第２の実施形態の第１の変形例に係るバックアップ処理を、図９のフローチャートに基づいて説明する。
【００８６】
タイマ６５に基づいてバックアップ制御部５１の内部からバックアップ処理要求が発せられると、バックアップ制御部５１のＣＰＵ５１ａは、ＲＯＭ５１ｂ内のプログラムに従って、まず、変数ｐｔｒで示される配列６４の配列位置、すなわち、ｂａｃｋｕｐ［ｐｔｒ］で示される配列位置のタグ値をバックアップフラグ６２にセットする（ステップＳ３１）。次のステップＳ３２では、図８のフローチャートで示したバックアップ処理を実行する。
【００８７】
そして、変数ｐｔｒが配列６４のタグ値の配列個数である定数Ｍａｘと一致したか否かを判別する（ステップＳ３３）。その結果、一致しておれば、次のバックアップ処理要求時には、再度、配列６４に配列された先頭のタグ値に対応するアドレス群をバックアップすべく、変数ｐｔｒに“０”をセットして（ステップＳ３４）、終了する。一方、変数ｐｔｒが定数Ｍａｘと一致していなければ、次のバックアップ処理要求時には、配列６４内の次の配列位置のタグ値に対応するアドレス群をバックアップすべく、変数ｐｔｒの値を“１”だけインクリメント（ステップＳ３５）、終了する。
【００８８】
このように、第２の実施形態の第１の変形例では、バックアップ対象のデータをその種類によりグループ化し、データの種類別の更新頻度に応じてバックアップ頻度も高くなるようにタグ値を配列し、その配列されたタグ値に従ってバックアップ処理をグループ単位で行うようにして、第２の実施形態と同様の効果が得られるようにしている。
【００８９】
［第２の実施形態の第２の変形例］
第２の変形例では、バックアップ対象の個々のデータ毎に更新頻度が変化する系も考えられるので、アドレステーブル６１上でのタグ値とアドレスとの対応関係を変更するようにしている。換言すれば、グループの編成替えを行っている。
なお、この第２の変形例は、第２の実施形態に適用されるものである。
【００９０】
このグループの編成替え処理を図１０のフローチャートに基づいて説明する。
【００９１】
メイン制御部５０からグループ替え要求が発せられると、そのグループ替え要求に係るアドレス（変数ａｄｒにセットされている）をアドレステーブル６１上で検索し（ステップＳ４１）、グループ替え要求に係るアドレスがアドレステーブル６１上に存在するか否かを判別する（ステップＳ４２）。その結果、アドレステーブル６１に存在しなければ、その旨を操作部の表示パネルに表示して（ステップＳ４５）、終了する。
【００９２】
一方、グループ替え要求に係るアドレスがアドレステーブル６１に存在していれば、アドレステーブル６１上で当該アドレスの現在のタグ値を、新しいタグ値（変数ｎｅｗ−ｔａｇにセットされている）に置換する（ステップＳ４３）。そして、アドレステーブル６１上のアドレスをタグ値をキーとしてソートし（ステップＳ４４）、終了する。
【００９３】
なお、グループ単位で更新頻度が変化する場合は、グループの編成替えを行うことなく、第２の実施形態ではアドレステーブル６１上のタグ値を変更し、第２の実施形態の第１の変形例では配列６４上でタグ値の配列状態を変更すればよい。
【００９４】
［第３の実施形態］
第３の実施形態では、ＤＲＡＭ５２上の動作状況データの格納領域をバックアップの優先度に応じて予め区分しておき、いずれの領域に対してデータ書込みが行われたかにより、当該領域のデータのバックアップ周期を変化させている。
【００９５】
すなわち、図１１に示したように、第３の実施形態では、ＤＲＡＭ５２の動作状況データの格納領域（バックアップ記憶領域）は、バックアップの優先度が１番高い動作状況データを格納する第１記憶領域６６、バックアップの優先度が２番目に高い動作状況データを格納する第２記憶領域６７、…のように複数のブロックに区分されている。また、ＥＥＰＲＯＭ５３は、ＤＲＡＭ５２上の第１記憶領域６６、第２記憶領域６７、…のデータ、すなわち第１プライオリティ、第２プライオリティ、…のデータをバックアップするための領域として、第１プライオリティ領域６８、第２プライオリティ領域６９、…を有している。
【００９６】
また、バックアップ制御部５１は、バックアップ要求部５４、アクセス制御部５５、第１タイマ７０、第２タイマ７１、…バックアップ周期選択部７２を有している。ただし、バックアップ要求部５４、アクセス制御部５５、バックアップ周期選択部７２は、バックアップ制御部５１のＣＰＵ５１ａがＲＯＭ５１ｂ内のプログラムを実行することにより実現される機能を示すものであり、これら各部に対応する物理的なデバイスが個別に存在しているわけではない。
【００９７】
第１タイマ７０、第２タイマ７１、…は、それぞれＤＲＡＭ５２上の第１記憶領域６６、第２記憶領域６７、…のデータを、それぞれＥＥＰＲＯＭ５３の第１プライオリティ領域６８、第２プライオリティ領域６９、…に書込む際の書込み周期（すなわち、バックアップ周期）を計時するためのタイマである。
【００９８】
なお、第１タイマ７０、第２タイマ７１、…は、これらタイマにより計時されるバックアップ周期をそれぞれｔ１，ｔ２，ｔ３とすると、ｔ１＜ｔ２＜ｔ３となるように構成されている。すなわち、優先度の高い領域のデータほど、バックアップ周期が短くなるようにしている。この場合、第１記憶領域６６のデータのバックアップ周期は、他の領域のバックアップ領域に比べて極端に短くなるようにして、第１記憶領域６６への書込データについては、その書込みがなされる毎に、直ちにバックアップするようにしてもよい。
【００９９】
バックアップ周期選択部７２は、メイン制御部５０によるＤＲＡＭ５２に対するアクセス状況を監視し、第１記憶領域６６、第２記憶領域６７、…に対して書込みがあった場合は、それぞれ第１タイマ７０、第２タイマ７１、…を起動する。そして、バックアップ要求部５４は、第１タイマ７０、第２タイマ７１、…によりバックアップ周期ｔ１，ｔ２，…が計時された時点でバックアップ要求を発する。そして、アクセス制御部５５は、バックアップ要求部５４により発せられたバックアップ要求に応答して、ＤＲＡＭ５２への書込データ、或いはＤＲＡＭ５２上のデータ書込みがなされた領域の一部、又は全部のデータをバックアップすべく、ＥＥＰＲＯＭ５３に書込む。
【０１００】
次に、第３の実施形態におけるデータバックアップ処理を図１２のフローチャートに従って説明する。なお、本フローチャートは、ＤＲＡＭ５２上のバックアップデータを記憶するＤＲＡＭ５２上の領域としては、第１記憶領域６６と第２記憶領域６７の２つのブロックが形成され、また、これら領域への書込データのみをＥＥＲＲＯＭ５３にバックアップすることを前提としている。
【０１０１】
バックアップ制御部５１のＣＰＵ５１ａは、ＲＯＭ５１ｂ内のプログラムに従って、まず、メイン制御部５０により、ＤＲＡＭ５２のバックアップ記憶領域（第１記憶領域６６、第２記憶領域６７）に対して書込みがなされたか否かを判別する（ステップＳ５１）。その結果、バックアップ記憶領域への書込みであれば、その書込みが第１記憶領域６６に対してなされたものであるか否かを判別する（ステップＳ５２）。
【０１０２】
その結果、第１記憶領域６６に対する書込みであれば、バックアップ処理の優先度が１番高いと認定して、１番短いバックアップ周期ｔ１を計時する第１タイマ７０を起動する（ステップＳ５３）。そして、バックアップ周期ｔ１が到来したか否かを判別する（ステップＳ５４）。その結果、バックアップ周期ｔ１が到来したときは、第１タイマ７０を停止する（ステップＳ５５）。そして、第１記憶領域６６への書込データをバックアップすべくＥＥＰＲＯＭ５３に書込んで（ステップＳ５６）、ステップＳ５１に戻る。
【０１０３】
一方、バックアップ周期ｔ１が到来していなければ、第２カウンタ７１が起動中であるか否かを判別し（ステップＳ５７）、第２カウンタ７１が起動中であれば、ステップＳ５９に進んでバックアップ周期ｔ２が到来したか否かを判別する。第２カウンタ７１が起動中でなければ、ステップＳ５４に戻り、バックアップ周期ｔ１が到来するのを待つ。
【０１０４】
ステップＳ５２にて、第１記憶領域への書込みではないと判別されたときは、ここでは、バックアップ記憶領域は、第１記憶領域６６と第２記憶領域６７の２つの領域であると仮定しているので、第２記憶領域６７への書込みであることを意味する。この場合は、２番目に短いバックアップ周期ｔ２を計時する第２タイマ７１を起動する（ステップＳ５８）。そして、バックアップ周期ｔ２が到来したか否かを判別する（ステップＳ５９）。その結果、バックアップ周期ｔ２が到来したときは、第２タイマ７１を停止する（ステップＳ６０）。そして、第２記憶領域６７への書込データをバックアップすべくＥＥＰＲＯＭ５３に書込んで（ステップＳ５６）、ステップＳ５１に戻る。
【０１０５】
一方、バックアップ周期ｔ２が到来していなければ、第１カウンタ７０が起動中であるか否かを判別し（ステップＳ６１）、第１カウンタ７０が起動中であれば、ステップＳ５４に進んでバックアップ周期ｔ１が到来したか否かを判別する。第１カウンタ７０が起動中でなければ、ステップＳ５９に戻り、バックアップ周期ｔ２が到来するのを待つ。
【０１０６】
このように、第３の実施形態では、ＤＲＡＭ５２の動作状況データの格納領域をバックアップの優先度に応じて予めブロック分けしておき、バックアップの優先度の高いブロックへ書込まれたデータほど、そのバックアップ周期を短くしているので、停電等によりバックアップ処理の途中でバックアップ処理が中断してしまうの可及的に防止することが可能となる。
【０１０７】
なお、本発明は、上記実施形態に限定されることなく、例えば、バックアップ処理中は、そのバックアップ処理に係るデータのＤＲＡＭ５２上の格納領域でのデータ更新を禁止する処理を、第１，第３の実施形態に適用することも可能である。
【０１０８】
また、複写装置以外のコンピュータ制御による電子機器に適用することも可能である。また、バックアップ制御部が揮発性メモリからバックアップ対象のデータを読出すことなく、メイン制御部が揮発性メモリ内のバックアップ対象のデータを更新する際に、同時にバックアップ制御部に供給するようにしてもよい。さらに、メイン制御部とは別にバックアップ制御部を設けることなく、バックアップ制御部によるバックアップ処理をメイン制御部により行うことも可能である。
【０１０９】
【発明の効果】
以上説明したように、本発明によれば、揮発性メモリに記憶されたデータを不揮発性メモリに書込んでバックアップするバックアップ記憶制御装置において、前記揮発性メモリに格納されるべきバックアップ対象データを更新頻度、或いはデータの種類により複数のグループに分け、更新頻度の高いクループの順にグループ単位でバックアップ処理を行うようにしたので、バックアップ電源を別途装備することなく、安価な構成で可能な限り最新のデータをバックアップできるようになる。
【図面の簡単な説明】
【図１】本発明を適用した画像形成装置の概略構成を示す断面図である。
【図２】図１の画像形成装置のメイン制御部とバックアップ制御部を示すブロック図である。
【図３】本発明の第１の実施形態に係るバックアップ制御部の詳細な機能とアクセス対象のメモリを示すブロック図である。
【図４】本発明の第１の実施形態に係るデータバックアップ処理を示すフローチャートである。
【図５】本発明の第２の実施形態に係るメイン制御部とバックアップ制御部を示すブロック図である。
【図６】本発明の第２の実施形態に係るバックアップ制御部の詳細な構成を示すブロック図である。
【図７】本発明の第２の実施形態に係るデータバックアップ処理を示すフローチャートである。
【図８】本発明の第２の実施形態の第１の変形例に係るバックアップ制御部の詳細な構成を示すブロック図である。
【図９】本発明の第２の実施形態の第１の変形例に係るデータバックアップ処理を示すフローチャートである。
【図１０】本発明の第２の実施形態の第２の変形例に係るアドレステーブル上のタグ値とアドレスとの対応関係の変更処理を示すフローチャートである。
【図１１】本発明の第３の実施形態に係るバックアップ制御部の詳細な機能とアクセス対象のメモリを示すブロック図である。
【図１２】本発明の第３の実施形態に係るデータバックアップ処理を示すフローチャートである。
【符号の説明】
５０：メイン制御部、
５０ａ，５１ａ：ＣＰＵ、
５０ｂ，５１ｂ：ＲＯＭ、
５１：バックアップ制御部、
５１ｃ：ＲＡＭ
５２：ＤＲＡＭ（揮発性メモリ）
５３：ＥＥＰＲＯＭ（不揮発性メモリ）、
５４：バックアップ要求部、
５５：アクセス制御部、
５６：第１バックアップモード設定部、
５７：第２バックアップモード設定部、
５８：モード選択部、
６０：ＳＲＡＭ、
６１：アドレステーブル、
６２：バックアップフラグ、
６４：配列、
６６：第１記憶領域、
６７：第２記憶領域、
７０：第１タイマ、
７１：第２タイマ、
７２：バックアップ周期選択部、
１０００：画像形成装置。
【図１】
0004557341.tif 000002
【図２】
0004557341.tif 000003
【図３】
0004557341.tif 000004
【図４】
0004557341.tif 000005
【図５】
0004557341.tif 000006
【図６】
0004557341.tif 000007
【図７】
0004557341.tif 000008
【図８】
0004557341.tif 000009
【図９】
0004557341.tif 000010
【図１０】
0004557341.tif 000011
【図１１】
0004557341.tif 000012
【図１２】
0004557341.tif 000013