(57)【要約】【課題】システムメモリに設けた分割領域の容量が不均一な場合にも、システムメモリから不揮発メモリへ退避すべき未退避のデータ量を、電源オフ時に退避可能なデータ量以下に常に抑制可能なデータ退避装置を提供する。【解決手段】更新フラグＦ１〜Ｆ６と退避可否フラグＫ１〜Ｋ６とを分割領域Ｅ１〜Ｅ６毎に設け、情報テーブル３３は各分割領域の容量情報を格納する。プロセッサ１２はデータ更新したら対応する更新フラグをセットし、更新中は退避可否フラグをリセットする。退避指示部３２は更新フラグがセットされた分割領域の合計容量を求め、所定値以上になったら更新フラグおよび退避可否フラグがセットされた分割領域を、大容量順もしくは小容量順に選択し、ＤＭＡコントローラ３４で該分割領域を不揮発メモリ１８へＤＭＡ転送して退避する。該動作は転送完了後の前記合計容量が所定値以下になったら終了する。【選択図】図３
2008097169.tif 000002
【特許請求の範囲】
【請求項１】
容量の不均一な複数の分割領域が設けられたシステムメモリと、
前記システムメモリに記憶されたデータが退避される不揮発メモリと、
前記システムメモリから前記不揮発メモリへ前記分割領域単位にデータを退避する制御部と、
を備え、
前記制御部は、前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断し、データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、前記データ退避を要するデータを、容量の大きい分割領域分から順に前記不揮発メモリへＤＭＡ転送する、
ことを特徴とするデータ退避装置。
【請求項２】
容量の不均一な複数の分割領域が設けられたシステムメモリと、
前記システムメモリに記憶されたデータが退避される不揮発メモリと、
前記システムメモリから前記不揮発メモリへ前記分割領域単位にデータを退避する制御部と、
を備え、
前記制御部は、前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断し、データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、前記データ退避を要するデータを、容量の小さい分割領域分から順に前記不揮発メモリへＤＭＡ転送する、
ことを特徴とするデータ退避装置。
【請求項３】
前記分割領域毎に、データ更新されたか否かを示す更新フラグとデータ退避可能か否かを示す退避可否フラグとを設け、
前記制御部は、前記更新フラグと前記退避可否フラグの状態により、前記各分割領域の前記不揮発メモリへのデータ退避の要否を検出する、
ことを特徴とする請求項１または２に記載のデータ退避装置。
【請求項４】
前記制御部は、前記合計容量が前記所定値未満になったとき、残りの分割領域に関する前記ＤＭＡ転送を中止する、
ことを特徴とする請求項１乃至３のいずれかに記載のデータ退避装置。
【請求項５】
前記制御部は、電源オフ時には、データ退避を要するすべての分割領域内のデータを前記不揮発メモリへＤＭＡ転送する、
ことを特徴とする請求項１乃至４のいずれかに記載のデータ退避装置。
【請求項６】
容量の不均一な複数の分割領域が設けられたシステムメモリから不揮発メモリへ前記分割領域単位にデータを退避するデータ退避方法において、
前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断するステップと、
データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、データ退避を要するデータを、容量の大きい分割領域分から順に前記不揮発メモリへＤＭＡ転送するステップと、
を有する
ことを特徴とするデータ退避方法。
【請求項７】
容量の不均一な複数の分割領域が設けられたシステムメモリから不揮発メモリへ前記分割領域単位にデータを退避するデータ退避方法において、
前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断するステップと、
データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、データ退避を要するデータを、容量の小さい分割領域分から順に前記不揮発メモリへＤＭＡ転送するステップと
を有する
ことを特徴とするデータ退避方法。
【請求項８】
前記分割領域毎に、データ更新されたか否かを示す更新フラグとデータ退避可能か否かを示す退避可否フラグとを設け、
前記更新フラグと前記退避可否フラグの状態により、前記各分割領域の前記不揮発メモリへのデータ退避の要否を検出する
ことを特徴とする請求項６または７に記載のデータ退避方法。
【請求項９】
前記合計容量が前記所定値未満になったとき、残りの分割領域に関する前記ＤＭＡ転送を中止する
ことを特徴とする請求項６乃至８のいずれかに記載のデータ退避方法。
【請求項１０】
電源オフ時には、データ退避を要するすべての分割領域内のデータを前記不揮発メモリへＤＭＡ転送する
ことを特徴とする請求項６乃至９のいずれかに記載のデータ退避方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムメモリから不揮発メモリにデータを退避するデータ退避装置およびデータ退避方法に関する。
【背景技術】
【０００２】
電源オフ時に、システムメモリなどの揮発メモリから不揮発メモリへデータ退避を行なう情報処理装置では、停電を検知した後、ＤＣ電源の出力電圧が一定以下に低下するまでの短時間のうちにデータを退避する必要があり、退避すべきデータ量が多い場合には、退避処理が間に合わなくなる虞がある。
【０００３】
そこで、揮発メモリを同一容量の複数のブロックに分割して管理すると共に、プロセッサによるデータ更新がなされかつ不揮発メモリへ未退避であることを示す更新フラグをブロック毎に設け、更新フラグがセットされたブロックである更新ブロックの数が規定数ｎを超えた場合に、該合計数が規定数ｎ以下になるように、更新ブロックのデータを不揮発メモリへ自動的に退避する技術が提案されている（たとえば、特許文献１参照。）。この技術では、電源オフ時に退避すべきデータ量を常にｎブロック以下に抑えることができる。
【０００４】
【特許文献１】特開平６−２５９３３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術では，各ブロックは同一容量であることを前提にしているが、実情は退避させたい各情報のサイズは相違することが多く、各ブロックの容量は退避する情報のサイズに応じて個々に設定することが望ましい。このように、各ブロックの容量が不均一になる場合には、単に更新ブロック数と規定数ｎとの対比でデータ退避のタイミングを判定すると次のような問題が生じる。
【０００６】
たとえば、容量が大きいブロックばかりが更新され、かつ更新ブロック数がｎ以下であれば、退避処理は開始されない。しかし、容量が大きいブロックばかりが更新されたことで、更新ブロックの合計容量が電源オフ時に退避不可能な容量を超えてしまい、退避を完了できない虞がある。
【０００７】
また、特許文献１に開示された技術では、プロセッサ系処理と退避系処理との並列処理を禁止し、プロセッサ系処理を優先させることで退避データの不整合を防ぐようになされているので、プロセッサがアクセス中でないブロックについても退避系処理を実行することができず、データの退避を効率的に行なうことができなかった。
【０００８】
本発明は、上記の問題を解決しようとするものであり、システムメモリに設けたられた分割領域の容量が不均一な場合にも、システムメモリから不揮発メモリへ退避すべきデータ量を、電源オフ時に退避可能なデータ量以下に抑えることのできるデータ退避装置およびデータ退避方法を提供することを目的としている。
【課題を解決するための手段】
【０００９】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１０】
［１］容量の不均一な複数の分割領域が設けられたシステムメモリと、
前記システムメモリに記憶されたデータが退避される不揮発メモリと、
前記システムメモリから前記不揮発メモリへ前記分割領域単位にデータを退避する制御部と、
を備え、
前記制御部は、前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断し、データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、前記データ退避を要するデータを、容量の大きい分割領域分から順に前記不揮発メモリへＤＭＡ転送する、
ことを特徴とするデータ退避装置。
【００１１】
上記発明では、データ退避を必要とする分割領域の合計容量が所定値に達した場合に、データ退避を要するデータを容量の大きい分割領域分から順に不揮発メモリへＤＭＡ（Direct Memory Access）転送する。合計容量を基準に判断することで、分割領域の容量が不均一であっても、未退避のデータ容量が所定値を超えないように維持することができる。また、容量の大きい分割領域分のデータから順に不揮発メモリへＤＭＡ転送することで、たとえば、分割領域単位の転送を合計容量が所定値を下回った時点で終了させるように構成すると、再び合計容量が所定値に達するまでの余裕度が大きくなり、その後、小さい分割領域がデータ更新されても合計容量が所定値を超えなくなり、結果的に不揮発メモリの書き換え回数が減って、不揮発メモリの寿命に貢献する。
【００１２】
［２］容量の不均一な複数の分割領域が設けられたシステムメモリと、
前記システムメモリに記憶されたデータが退避される不揮発メモリと、
前記システムメモリから前記不揮発メモリへ前記分割領域単位にデータを退避する制御部と、
を備え、
前記制御部は、前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断し、データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、前記データ退避を要するデータを、容量の小さい分割領域分から順に前記不揮発メモリへＤＭＡ転送する、
ことを特徴とするデータ退避装置。
【００１３】
上記発明では、データ退避を必要とする分割領域の合計容量が所定値に達した場合に、データ退避を要するデータを容量の小さい分割領域分から順に不揮発メモリへＤＭＡ転送する。合計容量を基準に判断することで、分割領域の容量が不均一であっても、未退避のデータ容量が所定値を超えないように維持することができる。また、容量の小さいものから順に不揮発メモリへＤＭＡ転送することで、電源オフ時に不揮発メモリへ退避するべき分割領域は容量の大きなものとなる。その結果、小さい容量の分割領域が残る場合に比べて電源オフ時に退避すべき分割領域の数が少なくなり、電源オフ時の退避処理においてＤＭＡ転送の設定および起動回数が減り、該設定・起動などのための時間的ロスが低減され、限られた時間内で効率良く不揮発メモリへデータ退避することができる。
【００１４】
［３］前記分割領域毎に、データ更新されたか否かを示す更新フラグとデータ退避可能か否かを示す退避可否フラグとを設け、
前記制御部は、前記更新フラグと前記退避可否フラグの状態により、前記各分割領域の前記不揮発メモリへのデータ退避の要否を検出する、
ことを特徴とする［１］または［２］に記載のデータ退避装置。
【００１５】
上記発明では、データ更新されたか否かとデータ退避可能か否かの２条件を勘案して、各分割領域のデータ退避の要否を検出する。ＣＰＵ（Central Processing Unit）が書き込み中の分割領域に対応する退避可否フラグの値はデータ退避不可を示す値に設定される。たとえば、データ退避「要」と判断する条件を、データ更新され、かつデータ退避可能な場合にすれば、ＤＭＡ転送の対象はＣＰＵがアクセス中でない分割領域に制限されるので、制限されない他の分割領域についてはＣＰＵのライト処理とＤＭＡ転送によるデータ退避処理とを並列に実行することが可能になる。
【００１６】
［４］前記制御部は、前記合計容量が前記所定値未満になったとき、残りの分割領域に関する前記ＤＭＡ転送を中止する、
ことを特徴とする［１］乃至［３］のいずれかに記載のデータ退避装置。
【００１７】
上記発明では、１つの分割領域の転送が完了する毎に、合計容量を再検出し、合計容量が所定値未満になった段階で、残りの分割領域に関する不揮発メモリへのＤＭＡ転送を中止する。必要以上の不揮発メモリの書き換えが防止される。
【００１８】
［５］前記制御部は、電源オフ時には、データ退避を要するすべての分割領域内のデータを前記不揮発メモリへＤＭＡ転送する、
ことを特徴とする［１］乃至［４］のいずれかに記載のデータ退避装置。
【００１９】
上記発明では、常時、不揮発メモリへのデータ退避を要する分割領域の合計容量が所定値を超えないように制御されているので、電源オフ時にデータ退避を完了させることができる。
【００２０】
［６］容量の不均一な複数の分割領域が設けられたシステムメモリから不揮発メモリへ前記分割領域単位にデータを退避するデータ退避方法において、
前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断するステップと、
データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、データ退避を要するデータを、容量の大きい分割領域分から順に前記不揮発メモリへＤＭＡ転送するステップと、
を有する
ことを特徴とするデータ退避方法。
【００２１】
［７］容量の不均一な複数の分割領域が設けられたシステムメモリから不揮発メモリへ前記分割領域単位にデータを退避するデータ退避方法において、
前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断するステップと、
データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、データ退避を要するデータを、容量の小さい分割領域分から順に前記不揮発メモリへＤＭＡ転送するステップと
を有する
ことを特徴とするデータ退避方法。
【００２２】
［８］前記分割領域毎に、データ更新されたか否かを示す更新フラグとデータ退避可能か否かを示す退避可否フラグとを設け、
前記更新フラグと前記退避可否フラグの状態により、前記各分割領域の前記不揮発メモリへのデータ退避の要否を検出する
ことを特徴とする［６］または［７］に記載のデータ退避方法。
【００２３】
［９］前記合計容量が前記所定値未満になったとき、残りの分割領域に関する前記ＤＭＡ転送を中止する
ことを特徴とする［６］乃至［８］のいずれかに記載のデータ退避方法。
【００２４】
［１０］電源オフ時には、データ退避を要するすべての分割領域内のデータを前記不揮発メモリへＤＭＡ転送する
ことを特徴とする［６］乃至［９］のいずれかに記載のデータ退避方法。
【発明の効果】
【００２５】
本発明に係るデータ退避装置およびデータ退避方法によれば、データ退避を要する分割領域の合計容量が所定値に達した場合にシステムメモリから不揮発メモリへデータ退避を行なうので、分割領域の容量が不均一であっても、未退避のデータ容量が所定値を超えないように維持することができ、該所定値を電源オフ時の限られた時間内にデータ退避可能なデータ量以下に設定しておけば、電源オフ時のデータ退避が間に合わずに不完全となることを防止することができる。
【００２６】
また、容量の大きい分割領域分から順にデータを不揮発メモリへＤＭＡ転送するものでは、不揮発メモリの書き換え回数が減って、不揮発メモリの寿命に貢献する。一方、容量の小さい分割領域分から順にデータを不揮発メモリへＤＭＡ転送するものでは、電源オフ時の退避処理におけるＤＭＡ転送の設定および起動回数が減り、電源オフ時の限られた時間内で効率良く不揮発メモリへデータ退避することができる。
【発明を実施するための最良の形態】
【００２７】
以下、図面に基づき本発明の実施の形態を説明する。
【００２８】
図１は、本発明の実施の形態に係るデータ退避装置を含む画像形成装置１０の構成を示している。画像形成装置１０は、原稿画像を読み取ってその複製画像を記録紙上に作成して出力するコピー機能などを備えたデジタル複写機であり、システム全体の動作を制御するシステム制御部１１と、演算処理機能を果たすプロセッサ１２とを接続して備えている。
【００２９】
システム制御部１１にはさらに、システムメモリ１３と、データ退避装置としての不揮発制御部３０と、電源監視部１４と、スキャナ部１５と、プリンタ部１６と、操作表示部１７とが接続されている。システムメモリ１３は、プロセッサ１２が実行するプログラムの格納やプロセッサ１２がプログラムを実行する際のワークメモリ、画像データの格納などに共用される揮発性のメモリである。
【００３０】
電源監視部１４は、画像形成装置１０に供給された電源の状態を監視し、電源がオフし始めたことを検知したとき、停電検知信号ＴＳを出力する機能を果たす。ここでは、電源監視部１４は、外部から電源として供給される交流電圧を不図示の平滑回路で直流に変換し、変換後の直流電圧が予め定めた閾値電圧以下に低下したとき、停電検知信号ＴＳを出力するように構成されている。停電検知信号ＴＳの出力状況はシステム制御部１１を通じてプロセッサ１２に伝達される。
【００３１】
不揮発制御部３０の配下には不揮発メモリ１８が接続されている。不揮発メモリ１８は、電源がオフしても記憶内容が保持されるメモリである。不揮発メモリ１８には、装置固有の各種パラメータやコピー枚数のカウント値など、電源オフ後も保存すべき所定のデータが記憶される。不揮発制御部３０は、不揮発メモリ１８へのデータのリード／ライトを制御する回路であり、詳細は後述する。
【００３２】
スキャナ部１５は、原稿を照射する光源、原稿を幅方向に１ライン分読み取るラインイメージセンサ、ライン単位の読取位置を原稿の長さ方向に移動させる移動機構、原稿からの反射光をラインイメージセンサに導いて結像させるレンズやミラーからなる光学部品などを備えている。ラインイメージセンサはＣＣＤ（Charge Coupled Device）イメージセンサで構成される。また、ラインイメージセンサが出力するアナログ画像信号をデジタルの画像データに変換するＡ／Ｄ変換器を備えている。さらにスキャナ部１５は、複数枚の原稿を順次連続的に読み取るための図示しない自動原稿送り装置を備えている。
【００３３】
プリンタ部１６は、入力された画像データに対応する画像を電子写真プロセスによって記録紙上に形成して出力する装置であり、図示しない、記録紙の搬送装置と、感光体ドラムと、帯電装置と、レーザーユニットと、現像装置と、転写分離装置と、クリーニング装置と、定着装置と、これらを制御する制御部とを備えた、所謂、レーザープリンタとして構成されている。
【００３４】
操作表示部１７は、ユーザからの各種操作の受け付けと、各種操作画面や案内画面の表示を行なう。操作表示部１７は、液晶ディスプレイ、タッチパネル、操作スイッチ、制御用のＣＰＵなどで構成される。
【００３５】
画像形成装置１０は、図２（ａ）に示すように、電源オン時に、プロセッサ１２が不揮発メモリ１８内のデータを読み出してシステムメモリ１３に展開し、その後は、不揮発メモリ１８内のデータをアクセスする代わりに、システムメモリ１３上に展開したデータをアクセスして動作するようになっている。
【００３６】
不揮発メモリ１８内の領域、およびシステムメモリ１３の中で不揮発メモリ１８からのデータが展開される領域はそれぞれ、容量が不均一な複数の分割領域Ｅ１〜Ｅ６に分けて管理される。分割領域Ｅ１〜Ｅ６の全体容量を１００％としたとき、分割領域Ｅ１は４０％、分割領域Ｅ２は５％、分割領域Ｅ３は１５％、分割領域Ｅ４は２５％、分割領域Ｅ５は１０％、分割領域Ｅ６は５％の容量に設定されている。尚、各分割領域の全体容量に対する設定割合は一例であり、他の割合であっても良いことは言及するまでもない。
【００３７】
電源オン時には、不揮発メモリ１８内のすべての分割領域Ｅ１〜Ｅ６がシステムメモリ１３上に展開される。不揮発メモリ１８からシステムメモリ１３上に展開されたデータは、画像形成装置１０の動作に応じて、プロセッサ１２により参照や書き換えが行なわれる。
【００３８】
電源オフ時には、システムメモリ１３から不揮発メモリ１８へのデータ退避が行なわれる。実際には、電源監視部１４が停電検知信号ＴＳを出力してから図示省略のＤＣ電源の出力電圧が閾値電圧以下に低下してリセット信号が出力されるまでの限られた時間（猶予時間とする）内にデータ退避を行なう必要がある。ここでは、図２（ｂ）に示すように、猶予時間内に退避可能なデータ量Ａは、ある程度の余裕を見て、分割領域Ｅ１〜Ｅ６の全体容量の５０％となっている。
【００３９】
コピー動作などを行なう過程でプロセッサ１２がシステムメモリ１３上のデータを書き換えた結果、システムメモリ１３上の分割領域Ｅ１〜Ｅ６の中でデータ更新された分割領域の合計容量が所定値（たとえば、分割領域全体の容量の５０％）を超えたとき、不揮発制御部３０は、システムメモリ１３上の分割領域Ｅ１〜Ｅ６の中でデータ更新された分割領域の記憶内容を不揮発メモリ１８へ転送して退避させる。該退避を逐次行なうことで、不揮発メモリ１８へ未退避となっているシステムメモリ１３内の分割領域の合計容量は常に、電源オフ時の猶予時間内に退避可能なデータ量Ａ以下となるように制御される。
【００４０】
図３は、不揮発制御部３０の内部構成を示している。不揮発制御部３０は、ＡＳＩＣ (Application Specific Integrated Circuit)として構成されている。不揮発制御部３０は、各分割領域Ｅ１〜Ｅ６に１対１に対応（アルファベットに付加された数字部分が同じもの同士が対応）して設けられた更新フラグＦ１〜Ｆ６と、各分割領域Ｅ１〜Ｅ６に１対１に対応（アルファベットに付加された数字部分が同じもの同士が対応）して設けられた退避可否フラグＫ１〜Ｋ６と、容量判定部３１と、退避指示部３２と、情報テーブル３３と、ＤＭＡコントローラ３４とを備えている。
【００４１】
更新フラグＦ１〜Ｆ６は、対応する分割領域Ｅ１〜Ｅ６がデータ更新されたか否かを示すフラグである。「１」で更新ありを、「０」で更新なしを示す。退避可否フラグＫ１〜Ｋ６は、対応する分割領域Ｅ１〜Ｅ６がデータ退避可能な状態にあるか否かを示すフラグである。「１」で退避可能を、「０」で退避不可を示す。たとえば、ある分割領域Ｅｎ（ｎは１〜６内の任意整数）をプロセッサ１２がデータ更新中のとき、対応する退避可否フラグＫｎは「０」にリセットされる。
【００４２】
情報テーブル３３には、各分割領域Ｅ１〜Ｅ６の識別番号と容量情報とが対応つけて登録されている。本実施の形態では、容量情報は、各分割領域Ｅ１〜Ｅ６の容量を、これらの全体容量に対する比率で表わす。
【００４３】
また、情報テーブル３３には、システムメモリ１３内での分割領域Ｅ１〜Ｅ６の位置を示すアドレス情報なども登録される。これらの情報は不図示のＲＯＭ（Read Only Memory）に記憶されており、電源オン時にプロセッサ１２がこれらの情報をＲＯＭから読み出して不揮発制御部３０の情報テーブル３３へ登録するようになっている。なお、分割領域Ｅ１〜Ｅ６の容量を変更可能に構成する場合には、情報テーブル３３に登録する情報の内容が変化するが、このような場合には、情報テーブル３３に登録する情報を、たとえば、不揮発メモリ１８内の分割領域Ｅ１の先頭部分に保存するように取り決めておけば、プロセッサ１２は電源オン時に不揮発メモリ１８の該当領域から必要な情報を読み出して情報テーブル３３にセットすることができる。
【００４４】
容量判定部３１は、更新フラグＦ１〜Ｆ６のセット状況と情報テーブル３３に登録されている各分割領域Ｅ１〜Ｅ６の容量情報とから、更新フラグがセットされている分割領域の合計容量を演算し、該演算結果の合計容量が予め定めた所定値に達しているか否かを判定する。合計容量が所定値に達している場合は、起動信号３１ａを退避指示部３２に対して出力する。ここでは、容量判定部３１は、合計容量＝分割領域Ｅ１の容量情報×更新フラグＦ１の値＋分割領域Ｅ２の容量情報×更新フラグＦ２の値＋分割領域Ｅ３の容量情報×更新フラグＦ３の値＋分割領域Ｅ４の容量情報×更新フラグＦ４の値＋分割領域Ｅ５の容量情報×更新フラグＦ５の値＋分割領域Ｅ６の容量情報×更新フラグＦ６の値…（１）式、による演算で合計容量を求める。
【００４５】
退避指示部３２は、更新フラグＦ１〜Ｆ６と退避可否フラグＫ１〜Ｋ６とから各分割領域Ｅ１〜Ｅ６の不揮発メモリ１８へのデータ退避の要否を検出、判断する。また退避指示部３２は、情報テーブル３３を参照して各分割領域Ｅ１〜Ｅ６の容量を認識し、データ退避の順序を判断し、次に不揮発メモリ１８へ退避すべき分割領域Ｅｎを選択し、該選択した分割領域Ｅｎの転送指示をＤＭＡコントローラ３４に出す機能を果たす。
【００４６】
ＤＭＡコントローラ３４は、退避指示部３２からの転送指示に従って１つの分割領域Ｅｎをシステムメモリ１３から不揮発メモリ１８へ転送し、転送が完了すると、当該転送の完了した分割領域Ｅｎに対応する更新フラグＦｎをリセットする。また、不揮発制御部３０は、各分割領域Ｅ１〜Ｅ６に１対１に対応して設けられた図示省略の中止ビットを備えている。中止ビットは、ＤＭＡ転送途中での転送中止を管理するために使用される。
【００４７】
図４は、プロセッサ１２がいずれかの分割領域Ｅｎのデータを書き換えて更新するデータ更新処理の流れを示している。プロセッサ１２は、データ更新する分割領域Ｅｎに対応する退避可否フラグＫｎをリセットし（ステップＳ１０１、図３：Ｐ１）、次に、その分割領域Ｅｎに対するデータ更新を行なう（ステップＳ１０２）。データ更新の完了後、データ更新した分割領域Ｅｎに対応する退避可否フラグＫｎと更新フラグＦｎとをセットする（ステップＳ１０３、図３：Ｐ２）。
【００４８】
次に、不揮発制御部３０の動作を図５および図３に基づいて説明する。
【００４９】
図５は、不揮発制御部３０が行なうデータ退避処理の流れを示している。図５に示す処理は、プロセッサ１２によっていずれかの分割領域Ｅｎのデータが更新されて（図３；Ｐ１、Ｐ２）対応する更新フラグＦｎがセットされた場合に動作する。なお、ＡＳＩＣとして構成された不揮発制御部３０は、内蔵のマイクロプログラムに基づいて図５に示す処理を行なう。
【００５０】
容量判定部３１は、更新フラグＦのセットされている分割領域の合計容量を前述の（１）式によって演算し（ステップＳ２０１）、合計容量が所定値に達したか否かを判断する（ステップＳ２０２）。合計容量が所定値に達していない場合は（ステップＳ２０２；Ｎｏ）、中止ビットを初期化して（ステップＳ２１１）処理を終了する（エンド）。一方、合計容量が所定値に達した場合（ステップＳ２０２；Ｙｅｓ）、容量判定部３１は退避指示部３２に対して起動信号３１ａを出力する。
【００５１】
退避指示部３２は容量判定部３１から起動信号３１ａを受けると、中止ビットがセットされてなくかつ更新フラグがセットされている分割領域の中から次に不揮発メモリ１８へ退避すべき分割領域Ｅｎを、分割領域の容量に基づいて選択する（ステップＳ２０３）。容量を基準にした選択には、容量の大きいものを優先的に選択する大容量優先と、容量の小さいものを優先的に選択する小容量優先とがあり、いずれの方式で選択するかは予め設定されており、退避指示部３２はその設定に従って選択する。
【００５２】
退避指示部３２は、選択した分割領域Ｅｎに対応する退避可否フラグＫｎを参照し、退避可否フラグＫｎがセットされている場合は（ステップＳ２０４；Ｙｅｓ）、該選択した分割領域Ｅｎをシステムメモリ１３から不揮発メモリ１８へＤＭＡ転送して退避するようにＤＭＡコントローラ３４に指示して転送を起動する（ステップＳ２０５、図３；Ｐ３）。
【００５３】
ＤＭＡコントローラ３４がＤＭＡ転送（図３；Ｐ４）によりデータの退避を行なっている間も、該退避中の分割領域Ｅｎに対応する退避可否フラグＫｎがセット状態にあるか否かを監視し、該当の退避可否フラグＫｎがリセットされることなく当該分割領域Ｅｎの退避が完了すると（ステップＳ２０７；Ｙｅｓ）、ＤＭＡコントローラ３４は、該退避の完了した分割領域Ｅｎに対応する更新フラグＦｎをリセットする（ステップＳ２０８、図３；Ｐ５）と共に退避完了を退避指示部３２へ通知する（図３；Ｐ６）。その後、退避指示部３２は、退避すべきすべての分割領域の退避が完了しているか否かを調べ、退避すべきすべての分割領域の退避が完了している場合は（ステップＳ２１０；Ｙｅｓ）、中止ビットを初期化（リセット）して処理を終了する（エンド）。
【００５４】
未完了の場合は（ステップＳ２１０；Ｎｏ）、ステップＳ２０１に戻って処理を継続するが、今回の転送完了により、退避すべき分割領域の合計容量が所定値以下になった場合は（ステップＳ２０２；Ｎｏ）、その時点で中止ビットを初期化し（ステップＳ２１１）、本処理を終了する（エンド）。
【００５５】
なお、退避が完了しているか否かは更新フラグＦ１〜Ｆ６の状態により判定し、すべての更新フラグＦ１〜Ｆ６がリセットされている場合、退避すべきすべての分割領域の退避が完了していると判断する。
【００５６】
ＤＭＡコントローラ３４がＤＭＡ転送（図３；Ｐ４）によりデータの退避を行なっている間に、該退避中の分割領域Ｅｎに対応する退避可否フラグＫｎがリセットされた場合は（ステップＳ２０６；Ｎｏ、図３；Ｐ１）、その分割領域Ｅｎに関するデータ退避を中止しかつその分割領域Ｅｎに対応する不図示の中止ビットをセットする（ステップＳ２０９）。すなわち、一旦、更新フラグのセットされた分割領域Ｅｎに対してプロセッサ１２が再びデータ更新処理を開始したので（図３；Ｐ４ｂ）、その分割領域Ｅｎに関する転送を即座に中止することで、該分割領域Ｅｎに対するプロセッサ１２のアクセスとＤＭＡコントローラ３４のアクセスとの競合を回避する。また、プロセッサ１２がデータ更新を行なっている分割領域Ｅｎに関する無駄な退避が防止される。図３の例では、分割領域Ｅ４に対してデータ更新が行なわれ、退避可否フラグＫ４がリセットされている。
【００５７】
退避中止後は、退避すべきすべての分割領域の退避が完了しているか否かを調べ、未完了の場合は（ステップＳ２１０；Ｎｏ）、ステップＳ２０１に戻って処理を継続する。退避すべきすべての分割領域の退避が完了している場合は（ステップＳ２１０；Ｙｅｓ）、中止ビットを初期化（リセット）して処理を終了する（エンド）。
【００５８】
上記処理の具体例を説明する。たとえば、合計容量を判定するための所定値を全容量の５０％とし、分割領域の選択を大容量優先で行なうように設定されている場合に、分割領域Ｅ４（容量２５％）、分割領域Ｅ３（容量１５％）、分割領域Ｅ２（容量５％）、分割領域Ｅ５（容量１０％）の順でデータ更新が行なわれ、図３に示すような状態になったものとする。この場合、分割領域Ｅ５を更新した時点で合計容量が５５％になり、所定値５０％を超えるため容量判定部３１から起動信号３１ａが出力される（図５、ステップＳ２０２；Ｙｅｓ）。
【００５９】
退避指示部３２は、大容量優先に従って容量が最大の分割領域Ｅ４（容量２５％）を選択する（図５、ステップＳ２０３）。しかし、分割領域Ｅ４は、プロセッサ１２がデータ更新中であって分割領域Ｅ４に対応する退避可否フラグＫ４がリセットされているので、退避指示部３２は、分割領域Ｅ４に対応する中止ビットをセットし、ＤＭＡ転送は行なわない（ステップＳ２０９）。
【００６０】
その後ステップＳ２０１に戻って合計容量を演算した結果は５５％であり、退避指示部３２は次に容量が大きい分割領域Ｅ３（容量１５％）を選択する（ステップＳ２０３）。退避指示部３２は、分割領域Ｅ３に対応する退避可否フラグＫ３の状態を調べ、退避可否フラグＫ３が、図３に示すようにセットされていることから（ステップＳ２０４；Ｙｅｓ）退避可能と判断し、分割領域Ｅ３の内容をシステムメモリ１３から不揮発メモリ１８へ転送して退避するようにＤＭＡコントローラ３４に指示する（ステップＳ２０５）。
【００６１】
ＤＭＡコントローラ３４は分割領域Ｅ３の転送を実行し、該転送が完了したとき、分割領域Ｅ３に対応する更新フラグＦ３をリセットする（ステップＳ２０８）。これにより、更新フラグＦ２、Ｆ４、Ｆ５のみがセットされた状態となり、これらに対応する分割領域Ｅ２、Ｅ４、Ｅ５の合計容量をステップＳ２０１に戻って再演算する。この演算結果は４０％になり、合計容量（４０％）が所定値（５０％）を超えないため（ステップＳ２０２；Ｎｏ）、中止ビットを初期化して、退避処理を終了する（エンド）。
【００６２】
このように、容量の大きい分割領域を優先的に転送することで、退避処理を終了した時点での合計容量が所定値に達するまでの余裕度が大きくなり、小さい容量の分割領域がデータ更新されても更新フラグのセットされている分割領域の合計容量が所定値を超え難くなる。たとえば、上記の例で、仮に、退避可否フラグＫ４がセットされおり、最初に選択された分割領域Ｅ４（容量２５％）が転送されたとする。この場合、分割領域Ｅ４の転送完了後の合計容量は３０％になり、所定値までの余裕度は２０％になるので、容量の小さい分割領域Ｅ６（容量５％）がデータ更新されても更新フラグのセットされた分割領域の合計容量は所定値を超えず、不揮発メモリ１８への退避処理は行なわれない。これにより不揮発メモリ１８の書き換え回数が低減し、不揮発メモリ１８の寿命に貢献する。
【００６３】
また、退避可否フラグＫｎが退避不可を示している場合に、システムメモリ１３から不揮発メモリ１８へのＤＭＡ転送を中止するので、その分割領域Ｅｎに対するプロセッサ１２のアクセスとＤＭＡコントローラ３４のアクセスとの競合が回避され、プロセッサ１２は円滑に処理を進めることができる。また、ある分割領域に対してプロセッサ１２がデータ更新中であっても、他の分割領域についてはＤＭＡコントローラ３４によるＤＭＡ転送が行なわれるので、プロセッサ１２によるデータ更新処理とＤＭＡコントローラ３４による退避処理とを並列動作させることができ、処理効率が向上する。
【００６４】
図６は、電源オフ時の不揮発制御部３０の動作を示している。電源監視部１４から停電検知信号ＴＳが出力されると、プロセッサ１２は停電することを不揮発制御部３０に通知する。該通知により不揮発制御部３０は図６に示す電源オフ時退避処理を実行する。なお、図５と同一内容の処理には同一のステップ番号を付してあり、それらの説明は適宜省略する。
【００６５】
電源オフ時は、更新フラグがセットされている分割領域の合計容量が所定値に達しているか否かに係わらずデータ退避を実行する。すなわち、更新フラグがセットされており、かつ退避可否フラグがセットされている退避可能な分割領域について、不揮発メモリ１８への退避処理が行なわれる。ただし、容量に応じた退避の優先順位付けは行なわれず、任意の順序で分割領域が選択され（ステップＳ２０３Ａ）、ＤＭＡ転送が行なわれる。また、このあと、電源が完全にオフになるので、中止ビットの初期化処理は行なわない。なお、容量を基準に退避の順序を決定してもかまわない。
【００６６】
通常状態で、図５の退避処理が行なわれることにより、電源オフ時に退避すべきデータ量は所定値以下になるように抑制されるので、停電検知信号ＴＳが出力されてからリセット信号が出力されるまでの限られた猶予時間内にデータ退避を完了させることができる。
【００６７】
図５の退避処理において分割領域の選択を小容量優先に設定した場合には、容量の大きい分割領域が未退避の状態で残るので、電源オフ時に退避すべき分割領域の数が、容量の小さい分割領域が残る場合に比べて少なくなる。そのため、電源オフ時の退避処理においてＤＭＡ転送の設定および起動回数が減り、該設定・起動などのための時間的ロスが低減され、限られた時間内で効率良く不揮発メモリへデータ退避することができる。場合によっては、大容量優先に設定する場合よりも、合計容量を判断する際の所定値を高めることも可能になる。
【００６８】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００６９】
実施の形態では、容量判定部３１は更新フラグがセットされている分割領域の合計容量と所定値とを比較して退避の要否を判断するようにしたが、更新フラグがセットされかつ退避可否フラグがセットされている分割領域の合計容量を求め、該合計容量が所定値に達している場合にシステムメモリ１３から不揮発メモリ１８へのデータ退避を実行するように構成されてもよい。
【００７０】
また、分割領域の数や容量は実施の形態で例示したものに限定されず、任意でよい。
【００７１】
実施の形態では、画像形成装置１０を例に説明したが、電源オフ時に揮発メモリ上のデータを不揮発メモリに退避させるようになされた装置であれば、本発明のデータ退避装置（不揮発制御部３０）を適用することができる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態に係わるデータ退避装置（不揮発制御部）を適用した画像形成装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係わる画像形成装置の電源オン時のデータ展開および電源オフ時のデータ退避および分割領域の構成を例示した説明図である。
【図３】本発明の実施の形態に係わる不揮発制御部の内部構成を示すブロック図である。
【図４】本発明の実施の形態に係わる画像形成装置のプロセッサが行なうデータ更新処理を示す流れ図である。
【図５】本発明の実施の形態に係わる不揮発制御部が行なうデータ退避処理を示す流れ図である。
【図６】本発明の実施の形態に係わる不揮発制御部が行なう電源オフ時退避処理を示す流れ図である。
【符号の説明】
【００７３】
Ａ…電源オフ時の猶予時間内に退避可能なデータ量
Ｅ１〜Ｅ６…分割領域
Ｆ１〜Ｆ６…更新フラグ
Ｋ１〜Ｋ６…退避可否フラグ
ＴＳ…停電検知信号
１０…画像形成装置
１１…システム制御部
１２…プロセッサ
１３…システムメモリ
１４…電源監視部
１５…スキャナ部
１６…プリンタ部
１７…操作表示部
１８…不揮発メモリ
３０…不揮発制御部
３１…容量判定部
３１ａ…起動信号
３２…退避指示部
３３…情報テーブル
３４…ＤＭＡコントローラ
【図１】
2008097169.tif 000003
【図２】
2008097169.tif 000004
【図３】
2008097169.tif 000005
【図４】
2008097169.tif 000006
【図５】
2008097169.tif 000007
【図６】
2008097169.tif 000008