JP4193152B2 - データ退避装置及びデータ退避方法 - Google Patents

データ退避装置及びデータ退避方法 Download PDF

Info

Publication number
JP4193152B2
JP4193152B2 JP2006275991A JP2006275991A JP4193152B2 JP 4193152 B2 JP4193152 B2 JP 4193152B2 JP 2006275991 A JP2006275991 A JP 2006275991A JP 2006275991 A JP2006275991 A JP 2006275991A JP 4193152 B2 JP4193152 B2 JP 4193152B2
Authority
JP
Japan
Prior art keywords
data
divided areas
saving
capacity
save
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.)
Expired - Fee Related
Application number
JP2006275991A
Other languages
English (en)
Other versions
JP2008097169A (ja
Inventor
宗利 江口
友弘 鈴木
史景 内田
健二 奥山
哲也 石川
泰保 西村
祐二 田村
智哉 小川
尚 諸見里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2006275991A priority Critical patent/JP4193152B2/ja
Priority to US11/868,199 priority patent/US20080086587A1/en
Publication of JP2008097169A publication Critical patent/JP2008097169A/ja
Application granted granted Critical
Publication of JP4193152B2 publication Critical patent/JP4193152B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、システムメモリから不揮発メモリにデータを退避するデータ退避装置およびデータ退避方法に関する。
電源オフ時に、システムメモリなどの揮発メモリから不揮発メモリへデータ退避を行なう情報処理装置では、停電を検知した後、DC電源の出力電圧が一定以下に低下するまでの短時間のうちにデータを退避する必要があり、退避すべきデータ量が多い場合には、退避処理が間に合わなくなる虞がある。
そこで、揮発メモリを同一容量の複数のブロックに分割して管理すると共に、プロセッサによるデータ更新がなされかつ不揮発メモリへ未退避であることを示す更新フラグをブロック毎に設け、更新フラグがセットされたブロックである更新ブロックの数が規定数nを超えた場合に、該合計数が規定数n以下になるように、更新ブロックのデータを不揮発メモリへ自動的に退避する技術が提案されている(たとえば、特許文献1参照。)。この技術では、電源オフ時に退避すべきデータ量を常にnブロック以下に抑えることができる。
特開平6−259339号公報
特許文献1に開示された技術では,各ブロックは同一容量であることを前提にしているが、実情は退避させたい各情報のサイズは相違することが多く、各ブロックの容量は退避する情報のサイズに応じて個々に設定することが望ましい。このように、各ブロックの容量が不均一になる場合には、単に更新ブロック数と規定数nとの対比でデータ退避のタイミングを判定すると次のような問題が生じる。
たとえば、容量が大きいブロックばかりが更新され、かつ更新ブロック数がn以下であれば、退避処理は開始されない。しかし、容量が大きいブロックばかりが更新されたことで、更新ブロックの合計容量が電源オフ時に退避不可能な容量を超えてしまい、退避を完了できない虞がある。
また、特許文献1に開示された技術では、プロセッサ系処理と退避系処理との並列処理を禁止し、プロセッサ系処理を優先させることで退避データの不整合を防ぐようになされているので、プロセッサがアクセス中でないブロックについても退避系処理を実行することができず、データの退避を効率的に行なうことができなかった。
本発明は、上記の問題を解決しようとするものであり、システムメモリに設けたられた分割領域の容量が不均一な場合にも、システムメモリから不揮発メモリへ退避すべきデータ量を、電源オフ時に退避可能なデータ量以下に抑えることのできるデータ退避装置およびデータ退避方法を提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
[1]容量の不均一な複数の分割領域が設けられたシステムメモリと、
前記システムメモリに記憶されたデータが退避される不揮発メモリと、
前記システムメモリから前記不揮発メモリへ前記分割領域単位にデータを退避する制御部と、
を備え、
前記制御部は、前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断し、データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、前記データ退避を要するデータを、容量の大きい分割領域分から順に前記不揮発メモリへDMA転送する、
ことを特徴とするデータ退避装置。
上記発明では、データ退避を必要とする分割領域の合計容量が所定値に達した場合に、データ退避を要するデータを容量の大きい分割領域分から順に不揮発メモリへDMA(Direct Memory Access)転送する。合計容量を基準に判断することで、分割領域の容量が不均一であっても、未退避のデータ容量が所定値を超えないように維持することができる。また、容量の大きい分割領域分のデータから順に不揮発メモリへDMA転送することで、たとえば、分割領域単位の転送を合計容量が所定値を下回った時点で終了させるように構成すると、再び合計容量が所定値に達するまでの余裕度が大きくなり、その後、小さい分割領域がデータ更新されても合計容量が所定値を超えなくなり、結果的に不揮発メモリの書き換え回数が減って、不揮発メモリの寿命に貢献する。
[2]容量の不均一な複数の分割領域が設けられたシステムメモリと、
前記システムメモリに記憶されたデータが退避される不揮発メモリと、
前記システムメモリから前記不揮発メモリへ前記分割領域単位にデータを退避する制御部と、
を備え、
前記制御部は、前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断し、データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、前記データ退避を要するデータを、容量の小さい分割領域分から順に前記不揮発メモリへDMA転送する、
ことを特徴とするデータ退避装置。
上記発明では、データ退避を必要とする分割領域の合計容量が所定値に達した場合に、データ退避を要するデータを容量の小さい分割領域分から順に不揮発メモリへDMA転送する。合計容量を基準に判断することで、分割領域の容量が不均一であっても、未退避のデータ容量が所定値を超えないように維持することができる。また、容量の小さいものから順に不揮発メモリへDMA転送することで、電源オフ時に不揮発メモリへ退避するべき分割領域は容量の大きなものとなる。その結果、小さい容量の分割領域が残る場合に比べて電源オフ時に退避すべき分割領域の数が少なくなり、電源オフ時の退避処理においてDMA転送の設定および起動回数が減り、該設定・起動などのための時間的ロスが低減され、限られた時間内で効率良く不揮発メモリへデータ退避することができる。
[3]前記分割領域毎に、データ更新されたか否かを示す更新フラグとデータ退避可能か否かを示す退避可否フラグとを設け、
前記制御部は、前記更新フラグと前記退避可否フラグの状態により、前記各分割領域の前記不揮発メモリへのデータ退避の要否を検出する、
ことを特徴とする[1]または[2]に記載のデータ退避装置。
上記発明では、データ更新されたか否かとデータ退避可能か否かの2条件を勘案して、各分割領域のデータ退避の要否を検出する。CPU(Central Processing Unit)が書き込み中の分割領域に対応する退避可否フラグの値はデータ退避不可を示す値に設定される。たとえば、データ退避「要」と判断する条件を、データ更新され、かつデータ退避可能な場合にすれば、DMA転送の対象はCPUがアクセス中でない分割領域に制限されるので、制限されない他の分割領域についてはCPUのライト処理とDMA転送によるデータ退避処理とを並列に実行することが可能になる。
[4]前記制御部は、前記合計容量が前記所定値未満になったとき、残りの分割領域に関する前記DMA転送を中止する、
ことを特徴とする[1]乃至[3]のいずれかに記載のデータ退避装置。
上記発明では、1つの分割領域の転送が完了する毎に、合計容量を再検出し、合計容量が所定値未満になった段階で、残りの分割領域に関する不揮発メモリへのDMA転送を中止する。必要以上の不揮発メモリの書き換えが防止される。
[5]前記制御部は、電源オフ時には、データ退避を要するすべての分割領域内のデータを前記不揮発メモリへDMA転送する、
ことを特徴とする[1]乃至[4]のいずれかに記載のデータ退避装置。
上記発明では、常時、不揮発メモリへのデータ退避を要する分割領域の合計容量が所定値を超えないように制御されているので、電源オフ時にデータ退避を完了させることができる。
[6]容量の不均一な複数の分割領域が設けられたシステムメモリから不揮発メモリへ前記分割領域単位にデータを退避するデータ退避方法において、
前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断するステップと、
データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、データ退避を要するデータを、容量の大きい分割領域分から順に前記不揮発メモリへDMA転送するステップと、
を有する
ことを特徴とするデータ退避方法。
[7]容量の不均一な複数の分割領域が設けられたシステムメモリから不揮発メモリへ前記分割領域単位にデータを退避するデータ退避方法において、
前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断するステップと、
データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、データ退避を要するデータを、容量の小さい分割領域分から順に前記不揮発メモリへDMA転送するステップと
を有する
ことを特徴とするデータ退避方法。
[8]前記分割領域毎に、データ更新されたか否かを示す更新フラグとデータ退避可能か否かを示す退避可否フラグとを設け、
前記更新フラグと前記退避可否フラグの状態により、前記各分割領域の前記不揮発メモリへのデータ退避の要否を検出する
ことを特徴とする[6]または[7]に記載のデータ退避方法。
[9]前記合計容量が前記所定値未満になったとき、残りの分割領域に関する前記DMA転送を中止する
ことを特徴とする[6]乃至[8]のいずれかに記載のデータ退避方法。
[10]電源オフ時には、データ退避を要するすべての分割領域内のデータを前記不揮発メモリへDMA転送する
ことを特徴とする[6]乃至[9]のいずれかに記載のデータ退避方法。
本発明に係るデータ退避装置およびデータ退避方法によれば、データ退避を要する分割領域の合計容量が所定値に達した場合にシステムメモリから不揮発メモリへデータ退避を行なうので、分割領域の容量が不均一であっても、未退避のデータ容量が所定値を超えないように維持することができ、該所定値を電源オフ時の限られた時間内にデータ退避可能なデータ量以下に設定しておけば、電源オフ時のデータ退避が間に合わずに不完全となることを防止することができる。
また、容量の大きい分割領域分から順にデータを不揮発メモリへDMA転送するものでは、不揮発メモリの書き換え回数が減って、不揮発メモリの寿命に貢献する。一方、容量の小さい分割領域分から順にデータを不揮発メモリへDMA転送するものでは、電源オフ時の退避処理におけるDMA転送の設定および起動回数が減り、電源オフ時の限られた時間内で効率良く不揮発メモリへデータ退避することができる。
以下、図面に基づき本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係るデータ退避装置を含む画像形成装置10の構成を示している。画像形成装置10は、原稿画像を読み取ってその複製画像を記録紙上に作成して出力するコピー機能などを備えたデジタル複写機であり、システム全体の動作を制御するシステム制御部11と、演算処理機能を果たすプロセッサ12とを接続して備えている。
システム制御部11にはさらに、システムメモリ13と、データ退避装置としての不揮発制御部30と、電源監視部14と、スキャナ部15と、プリンタ部16と、操作表示部17とが接続されている。システムメモリ13は、プロセッサ12が実行するプログラムの格納やプロセッサ12がプログラムを実行する際のワークメモリ、画像データの格納などに共用される揮発性のメモリである。
電源監視部14は、画像形成装置10に供給された電源の状態を監視し、電源がオフし始めたことを検知したとき、停電検知信号TSを出力する機能を果たす。ここでは、電源監視部14は、外部から電源として供給される交流電圧を不図示の平滑回路で直流に変換し、変換後の直流電圧が予め定めた閾値電圧以下に低下したとき、停電検知信号TSを出力するように構成されている。停電検知信号TSの出力状況はシステム制御部11を通じてプロセッサ12に伝達される。
不揮発制御部30の配下には不揮発メモリ18が接続されている。不揮発メモリ18は、電源がオフしても記憶内容が保持されるメモリである。不揮発メモリ18には、装置固有の各種パラメータやコピー枚数のカウント値など、電源オフ後も保存すべき所定のデータが記憶される。不揮発制御部30は、不揮発メモリ18へのデータのリード/ライトを制御する回路であり、詳細は後述する。
スキャナ部15は、原稿を照射する光源、原稿を幅方向に1ライン分読み取るラインイメージセンサ、ライン単位の読取位置を原稿の長さ方向に移動させる移動機構、原稿からの反射光をラインイメージセンサに導いて結像させるレンズやミラーからなる光学部品などを備えている。ラインイメージセンサはCCD(Charge Coupled Device)イメージセンサで構成される。また、ラインイメージセンサが出力するアナログ画像信号をデジタルの画像データに変換するA/D変換器を備えている。さらにスキャナ部15は、複数枚の原稿を順次連続的に読み取るための図示しない自動原稿送り装置を備えている。
プリンタ部16は、入力された画像データに対応する画像を電子写真プロセスによって記録紙上に形成して出力する装置であり、図示しない、記録紙の搬送装置と、感光体ドラムと、帯電装置と、レーザーユニットと、現像装置と、転写分離装置と、クリーニング装置と、定着装置と、これらを制御する制御部とを備えた、所謂、レーザープリンタとして構成されている。
操作表示部17は、ユーザからの各種操作の受け付けと、各種操作画面や案内画面の表示を行なう。操作表示部17は、液晶ディスプレイ、タッチパネル、操作スイッチ、制御用のCPUなどで構成される。
画像形成装置10は、図2(a)に示すように、電源オン時に、プロセッサ12が不揮発メモリ18内のデータを読み出してシステムメモリ13に展開し、その後は、不揮発メモリ18内のデータをアクセスする代わりに、システムメモリ13上に展開したデータをアクセスして動作するようになっている。
不揮発メモリ18内の領域、およびシステムメモリ13の中で不揮発メモリ18からのデータが展開される領域はそれぞれ、容量が不均一な複数の分割領域E1〜E6に分けて管理される。分割領域E1〜E6の全体容量を100%としたとき、分割領域E1は40%、分割領域E2は5%、分割領域E3は15%、分割領域E4は25%、分割領域E5は10%、分割領域E6は5%の容量に設定されている。尚、各分割領域の全体容量に対する設定割合は一例であり、他の割合であっても良いことは言及するまでもない。
電源オン時には、不揮発メモリ18内のすべての分割領域E1〜E6がシステムメモリ13上に展開される。不揮発メモリ18からシステムメモリ13上に展開されたデータは、画像形成装置10の動作に応じて、プロセッサ12により参照や書き換えが行なわれる。
電源オフ時には、システムメモリ13から不揮発メモリ18へのデータ退避が行なわれる。実際には、電源監視部14が停電検知信号TSを出力してから図示省略のDC電源の出力電圧が閾値電圧以下に低下してリセット信号が出力されるまでの限られた時間(猶予時間とする)内にデータ退避を行なう必要がある。ここでは、図2(b)に示すように、猶予時間内に退避可能なデータ量Aは、ある程度の余裕を見て、分割領域E1〜E6の全体容量の50%となっている。
コピー動作などを行なう過程でプロセッサ12がシステムメモリ13上のデータを書き換えた結果、システムメモリ13上の分割領域E1〜E6の中でデータ更新された分割領域の合計容量が所定値(たとえば、分割領域全体の容量の50%)を超えたとき、不揮発制御部30は、システムメモリ13上の分割領域E1〜E6の中でデータ更新された分割領域の記憶内容を不揮発メモリ18へ転送して退避させる。該退避を逐次行なうことで、不揮発メモリ18へ未退避となっているシステムメモリ13内の分割領域の合計容量は常に、電源オフ時の猶予時間内に退避可能なデータ量A以下となるように制御される。
図3は、不揮発制御部30の内部構成を示している。不揮発制御部30は、ASIC (Application Specific Integrated Circuit)として構成されている。不揮発制御部30は、各分割領域E1〜E6に1対1に対応(アルファベットに付加された数字部分が同じもの同士が対応)して設けられた更新フラグF1〜F6と、各分割領域E1〜E6に1対1に対応(アルファベットに付加された数字部分が同じもの同士が対応)して設けられた退避可否フラグK1〜K6と、容量判定部31と、退避指示部32と、情報テーブル33と、DMAコントローラ34とを備えている。
更新フラグF1〜F6は、対応する分割領域E1〜E6がデータ更新されたか否かを示すフラグである。「1」で更新ありを、「0」で更新なしを示す。退避可否フラグK1〜K6は、対応する分割領域E1〜E6がデータ退避可能な状態にあるか否かを示すフラグである。「1」で退避可能を、「0」で退避不可を示す。たとえば、ある分割領域En(nは1〜6内の任意整数)をプロセッサ12がデータ更新中のとき、対応する退避可否フラグKnは「0」にリセットされる。
情報テーブル33には、各分割領域E1〜E6の識別番号と容量情報とが対応つけて登録されている。本実施の形態では、容量情報は、各分割領域E1〜E6の容量を、これらの全体容量に対する比率で表わす。
また、情報テーブル33には、システムメモリ13内での分割領域E1〜E6の位置を示すアドレス情報なども登録される。これらの情報は不図示のROM(Read Only Memory)に記憶されており、電源オン時にプロセッサ12がこれらの情報をROMから読み出して不揮発制御部30の情報テーブル33へ登録するようになっている。なお、分割領域E1〜E6の容量を変更可能に構成する場合には、情報テーブル33に登録する情報の内容が変化するが、このような場合には、情報テーブル33に登録する情報を、たとえば、不揮発メモリ18内の分割領域E1の先頭部分に保存するように取り決めておけば、プロセッサ12は電源オン時に不揮発メモリ18の該当領域から必要な情報を読み出して情報テーブル33にセットすることができる。
容量判定部31は、更新フラグF1〜F6のセット状況と情報テーブル33に登録されている各分割領域E1〜E6の容量情報とから、更新フラグがセットされている分割領域の合計容量を演算し、該演算結果の合計容量が予め定めた所定値に達しているか否かを判定する。合計容量が所定値に達している場合は、起動信号31aを退避指示部32に対して出力する。ここでは、容量判定部31は、合計容量=分割領域E1の容量情報×更新フラグF1の値+分割領域E2の容量情報×更新フラグF2の値+分割領域E3の容量情報×更新フラグF3の値+分割領域E4の容量情報×更新フラグF4の値+分割領域E5の容量情報×更新フラグF5の値+分割領域E6の容量情報×更新フラグF6の値…(1)式、による演算で合計容量を求める。
退避指示部32は、更新フラグF1〜F6と退避可否フラグK1〜K6とから各分割領域E1〜E6の不揮発メモリ18へのデータ退避の要否を検出、判断する。また退避指示部32は、情報テーブル33を参照して各分割領域E1〜E6の容量を認識し、データ退避の順序を判断し、次に不揮発メモリ18へ退避すべき分割領域Enを選択し、該選択した分割領域Enの転送指示をDMAコントローラ34に出す機能を果たす。
DMAコントローラ34は、退避指示部32からの転送指示に従って1つの分割領域Enをシステムメモリ13から不揮発メモリ18へ転送し、転送が完了すると、当該転送の完了した分割領域Enに対応する更新フラグFnをリセットする。また、不揮発制御部30は、各分割領域E1〜E6に1対1に対応して設けられた図示省略の中止ビットを備えている。中止ビットは、DMA転送途中での転送中止を管理するために使用される。
図4は、プロセッサ12がいずれかの分割領域Enのデータを書き換えて更新するデータ更新処理の流れを示している。プロセッサ12は、データ更新する分割領域Enに対応する退避可否フラグKnをリセットし(ステップS101、図3:P1)、次に、その分割領域Enに対するデータ更新を行なう(ステップS102)。データ更新の完了後、データ更新した分割領域Enに対応する退避可否フラグKnと更新フラグFnとをセットする(ステップS103、図3:P2)。
次に、不揮発制御部30の動作を図5および図3に基づいて説明する。
図5は、不揮発制御部30が行なうデータ退避処理の流れを示している。図5に示す処理は、プロセッサ12によっていずれかの分割領域Enのデータが更新されて(図3;P1、P2)対応する更新フラグFnがセットされた場合に動作する。なお、ASICとして構成された不揮発制御部30は、内蔵のマイクロプログラムに基づいて図5に示す処理を行なう。
容量判定部31は、更新フラグFのセットされている分割領域の合計容量を前述の(1)式によって演算し(ステップS201)、合計容量が所定値に達したか否かを判断する(ステップS202)。合計容量が所定値に達していない場合は(ステップS202;No)、中止ビットを初期化して(ステップS211)処理を終了する(エンド)。一方、合計容量が所定値に達した場合(ステップS202;Yes)、容量判定部31は退避指示部32に対して起動信号31aを出力する。
退避指示部32は容量判定部31から起動信号31aを受けると、中止ビットがセットされてなくかつ更新フラグがセットされている分割領域の中から次に不揮発メモリ18へ退避すべき分割領域Enを、分割領域の容量に基づいて選択する(ステップS203)。容量を基準にした選択には、容量の大きいものを優先的に選択する大容量優先と、容量の小さいものを優先的に選択する小容量優先とがあり、いずれの方式で選択するかは予め設定されており、退避指示部32はその設定に従って選択する。
退避指示部32は、選択した分割領域Enに対応する退避可否フラグKnを参照し、退避可否フラグKnがセットされている場合は(ステップS204;Yes)、該選択した分割領域Enをシステムメモリ13から不揮発メモリ18へDMA転送して退避するようにDMAコントローラ34に指示して転送を起動する(ステップS205、図3;P3)。
DMAコントローラ34がDMA転送(図3;P4)によりデータの退避を行なっている間も、該退避中の分割領域Enに対応する退避可否フラグKnがセット状態にあるか否かを監視し、該当の退避可否フラグKnがリセットされることなく当該分割領域Enの退避が完了すると(ステップS207;Yes)、DMAコントローラ34は、該退避の完了した分割領域Enに対応する更新フラグFnをリセットする(ステップS208、図3;P5)と共に退避完了を退避指示部32へ通知する(図3;P6)。その後、退避指示部32は、退避すべきすべての分割領域の退避が完了しているか否かを調べ、退避すべきすべての分割領域の退避が完了している場合は(ステップS210;Yes)、中止ビットを初期化(リセット)して処理を終了する(エンド)。
未完了の場合は(ステップS210;No)、ステップS201に戻って処理を継続するが、今回の転送完了により、退避すべき分割領域の合計容量が所定値以下になった場合は(ステップS202;No)、その時点で中止ビットを初期化し(ステップS211)、本処理を終了する(エンド)。
なお、退避が完了しているか否かは更新フラグF1〜F6の状態により判定し、すべての更新フラグF1〜F6がリセットされている場合、退避すべきすべての分割領域の退避が完了していると判断する。
DMAコントローラ34がDMA転送(図3;P4)によりデータの退避を行なっている間に、該退避中の分割領域Enに対応する退避可否フラグKnがリセットされた場合は(ステップS206;No、図3;P1)、その分割領域Enに関するデータ退避を中止しかつその分割領域Enに対応する不図示の中止ビットをセットする(ステップS209)。すなわち、一旦、更新フラグのセットされた分割領域Enに対してプロセッサ12が再びデータ更新処理を開始したので(図3;P4b)、その分割領域Enに関する転送を即座に中止することで、該分割領域Enに対するプロセッサ12のアクセスとDMAコントローラ34のアクセスとの競合を回避する。また、プロセッサ12がデータ更新を行なっている分割領域Enに関する無駄な退避が防止される。図3の例では、分割領域E4に対してデータ更新が行なわれ、退避可否フラグK4がリセットされている。
退避中止後は、退避すべきすべての分割領域の退避が完了しているか否かを調べ、未完了の場合は(ステップS210;No)、ステップS201に戻って処理を継続する。退避すべきすべての分割領域の退避が完了している場合は(ステップS210;Yes)、中止ビットを初期化(リセット)して処理を終了する(エンド)。
上記処理の具体例を説明する。たとえば、合計容量を判定するための所定値を全容量の50%とし、分割領域の選択を大容量優先で行なうように設定されている場合に、分割領域E4(容量25%)、分割領域E3(容量15%)、分割領域E2(容量5%)、分割領域E5(容量10%)の順でデータ更新が行なわれ、図3に示すような状態になったものとする。この場合、分割領域E5を更新した時点で合計容量が55%になり、所定値50%を超えるため容量判定部31から起動信号31aが出力される(図5、ステップS202;Yes)。
退避指示部32は、大容量優先に従って容量が最大の分割領域E4(容量25%)を選択する(図5、ステップS203)。しかし、分割領域E4は、プロセッサ12がデータ更新中であって分割領域E4に対応する退避可否フラグK4がリセットされているので、退避指示部32は、分割領域E4に対応する中止ビットをセットし、DMA転送は行なわない(ステップS209)。
その後ステップS201に戻って合計容量を演算した結果は55%であり、退避指示部32は次に容量が大きい分割領域E3(容量15%)を選択する(ステップS203)。退避指示部32は、分割領域E3に対応する退避可否フラグK3の状態を調べ、退避可否フラグK3が、図3に示すようにセットされていることから(ステップS204;Yes)退避可能と判断し、分割領域E3の内容をシステムメモリ13から不揮発メモリ18へ転送して退避するようにDMAコントローラ34に指示する(ステップS205)。
DMAコントローラ34は分割領域E3の転送を実行し、該転送が完了したとき、分割領域E3に対応する更新フラグF3をリセットする(ステップS208)。これにより、更新フラグF2、F4、F5のみがセットされた状態となり、これらに対応する分割領域E2、E4、E5の合計容量をステップS201に戻って再演算する。この演算結果は40%になり、合計容量(40%)が所定値(50%)を超えないため(ステップS202;No)、中止ビットを初期化して、退避処理を終了する(エンド)。
このように、容量の大きい分割領域を優先的に転送することで、退避処理を終了した時点での合計容量が所定値に達するまでの余裕度が大きくなり、小さい容量の分割領域がデータ更新されても更新フラグのセットされている分割領域の合計容量が所定値を超え難くなる。たとえば、上記の例で、仮に、退避可否フラグK4がセットされおり、最初に選択された分割領域E4(容量25%)が転送されたとする。この場合、分割領域E4の転送完了後の合計容量は30%になり、所定値までの余裕度は20%になるので、容量の小さい分割領域E6(容量5%)がデータ更新されても更新フラグのセットされた分割領域の合計容量は所定値を超えず、不揮発メモリ18への退避処理は行なわれない。これにより不揮発メモリ18の書き換え回数が低減し、不揮発メモリ18の寿命に貢献する。
また、退避可否フラグKnが退避不可を示している場合に、システムメモリ13から不揮発メモリ18へのDMA転送を中止するので、その分割領域Enに対するプロセッサ12のアクセスとDMAコントローラ34のアクセスとの競合が回避され、プロセッサ12は円滑に処理を進めることができる。また、ある分割領域に対してプロセッサ12がデータ更新中であっても、他の分割領域についてはDMAコントローラ34によるDMA転送が行なわれるので、プロセッサ12によるデータ更新処理とDMAコントローラ34による退避処理とを並列動作させることができ、処理効率が向上する。
図6は、電源オフ時の不揮発制御部30の動作を示している。電源監視部14から停電検知信号TSが出力されると、プロセッサ12は停電することを不揮発制御部30に通知する。該通知により不揮発制御部30は図6に示す電源オフ時退避処理を実行する。なお、図5と同一内容の処理には同一のステップ番号を付してあり、それらの説明は適宜省略する。
電源オフ時は、更新フラグがセットされている分割領域の合計容量が所定値に達しているか否かに係わらずデータ退避を実行する。すなわち、更新フラグがセットされており、かつ退避可否フラグがセットされている退避可能な分割領域について、不揮発メモリ18への退避処理が行なわれる。ただし、容量に応じた退避の優先順位付けは行なわれず、任意の順序で分割領域が選択され(ステップS203A)、DMA転送が行なわれる。また、このあと、電源が完全にオフになるので、中止ビットの初期化処理は行なわない。なお、容量を基準に退避の順序を決定してもかまわない。
通常状態で、図5の退避処理が行なわれることにより、電源オフ時に退避すべきデータ量は所定値以下になるように抑制されるので、停電検知信号TSが出力されてからリセット信号が出力されるまでの限られた猶予時間内にデータ退避を完了させることができる。
図5の退避処理において分割領域の選択を小容量優先に設定した場合には、容量の大きい分割領域が未退避の状態で残るので、電源オフ時に退避すべき分割領域の数が、容量の小さい分割領域が残る場合に比べて少なくなる。そのため、電源オフ時の退避処理においてDMA転送の設定および起動回数が減り、該設定・起動などのための時間的ロスが低減され、限られた時間内で効率良く不揮発メモリへデータ退避することができる。場合によっては、大容量優先に設定する場合よりも、合計容量を判断する際の所定値を高めることも可能になる。
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
実施の形態では、容量判定部31は更新フラグがセットされている分割領域の合計容量と所定値とを比較して退避の要否を判断するようにしたが、更新フラグがセットされかつ退避可否フラグがセットされている分割領域の合計容量を求め、該合計容量が所定値に達している場合にシステムメモリ13から不揮発メモリ18へのデータ退避を実行するように構成されてもよい。
また、分割領域の数や容量は実施の形態で例示したものに限定されず、任意でよい。
実施の形態では、画像形成装置10を例に説明したが、電源オフ時に揮発メモリ上のデータを不揮発メモリに退避させるようになされた装置であれば、本発明のデータ退避装置(不揮発制御部30)を適用することができる。
本発明の実施の形態に係わるデータ退避装置(不揮発制御部)を適用した画像形成装置の構成を示すブロック図である。 本発明の実施の形態に係わる画像形成装置の電源オン時のデータ展開および電源オフ時のデータ退避および分割領域の構成を例示した説明図である。 本発明の実施の形態に係わる不揮発制御部の内部構成を示すブロック図である。 本発明の実施の形態に係わる画像形成装置のプロセッサが行なうデータ更新処理を示す流れ図である。 本発明の実施の形態に係わる不揮発制御部が行なうデータ退避処理を示す流れ図である。 本発明の実施の形態に係わる不揮発制御部が行なう電源オフ時退避処理を示す流れ図である。
符号の説明
A…電源オフ時の猶予時間内に退避可能なデータ量
E1〜E6…分割領域
F1〜F6…更新フラグ
K1〜K6…退避可否フラグ
TS…停電検知信号
10…画像形成装置
11…システム制御部
12…プロセッサ
13…システムメモリ
14…電源監視部
15…スキャナ部
16…プリンタ部
17…操作表示部
18…不揮発メモリ
30…不揮発制御部
31…容量判定部
31a…起動信号
32…退避指示部
33…情報テーブル
34…DMAコントローラ

Claims (10)

  1. 容量の不均一な複数の分割領域が設けられたシステムメモリと、
    前記システムメモリに記憶されたデータが退避される不揮発メモリと、
    前記システムメモリから前記不揮発メモリへ前記分割領域単位にデータを退避する制御部と、
    を備え、
    前記制御部は、前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断し、データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、前記データ退避を要するデータを、容量の大きい分割領域分から順に前記不揮発メモリへDMA転送する、
    ことを特徴とするデータ退避装置。
  2. 容量の不均一な複数の分割領域が設けられたシステムメモリと、
    前記システムメモリに記憶されたデータが退避される不揮発メモリと、
    前記システムメモリから前記不揮発メモリへ前記分割領域単位にデータを退避する制御部と、
    を備え、
    前記制御部は、前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断し、データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、前記データ退避を要するデータを、容量の小さい分割領域分から順に前記不揮発メモリへDMA転送する、
    ことを特徴とするデータ退避装置。
  3. 前記分割領域毎に、データ更新されたか否かを示す更新フラグとデータ退避可能か否かを示す退避可否フラグとを設け、
    前記制御部は、前記更新フラグと前記退避可否フラグの状態により、前記各分割領域の前記不揮発メモリへのデータ退避の要否を検出する、
    ことを特徴とする請求項1または2に記載のデータ退避装置。
  4. 前記制御部は、前記合計容量が前記所定値未満になったとき、残りの分割領域に関する前記DMA転送を中止する、
    ことを特徴とする請求項1乃至3のいずれかに記載のデータ退避装置。
  5. 前記制御部は、電源オフ時には、データ退避を要するすべての分割領域内のデータを前記不揮発メモリへDMA転送する、
    ことを特徴とする請求項1乃至4のいずれかに記載のデータ退避装置。
  6. 容量の不均一な複数の分割領域が設けられたシステムメモリから不揮発メモリへ前記分割領域単位にデータを退避するデータ退避方法において、
    前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断するステップと、
    データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、データ退避を要するデータを、容量の大きい分割領域分から順に前記不揮発メモリへDMA転送するステップと、
    を有する
    ことを特徴とするデータ退避方法。
  7. 容量の不均一な複数の分割領域が設けられたシステムメモリから不揮発メモリへ前記分割領域単位にデータを退避するデータ退避方法において、
    前記各分割領域の前記不揮発メモリへのデータ退避の要否を判断するステップと、
    データ退避を要すると判断された分割領域の合計容量が所定値に達した場合、データ退避を要するデータを、容量の小さい分割領域分から順に前記不揮発メモリへDMA転送するステップと
    を有する
    ことを特徴とするデータ退避方法。
  8. 前記分割領域毎に、データ更新されたか否かを示す更新フラグとデータ退避可能か否かを示す退避可否フラグとを設け、
    前記更新フラグと前記退避可否フラグの状態により、前記各分割領域の前記不揮発メモリへのデータ退避の要否を検出する
    ことを特徴とする請求項6または7に記載のデータ退避方法。
  9. 前記合計容量が前記所定値未満になったとき、残りの分割領域に関する前記DMA転送を中止する
    ことを特徴とする請求項6乃至8のいずれかに記載のデータ退避方法。
  10. 電源オフ時には、データ退避を要するすべての分割領域内のデータを前記不揮発メモリへDMA転送する
    ことを特徴とする請求項6乃至9のいずれかに記載のデータ退避方法。
JP2006275991A 2006-10-10 2006-10-10 データ退避装置及びデータ退避方法 Expired - Fee Related JP4193152B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006275991A JP4193152B2 (ja) 2006-10-10 2006-10-10 データ退避装置及びデータ退避方法
US11/868,199 US20080086587A1 (en) 2006-10-10 2007-10-05 Data save apparatus and data save method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006275991A JP4193152B2 (ja) 2006-10-10 2006-10-10 データ退避装置及びデータ退避方法

Publications (2)

Publication Number Publication Date
JP2008097169A JP2008097169A (ja) 2008-04-24
JP4193152B2 true JP4193152B2 (ja) 2008-12-10

Family

ID=39275844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006275991A Expired - Fee Related JP4193152B2 (ja) 2006-10-10 2006-10-10 データ退避装置及びデータ退避方法

Country Status (2)

Country Link
US (1) US20080086587A1 (ja)
JP (1) JP4193152B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5277113B2 (ja) * 2009-08-26 2013-08-28 株式会社エヌ・ティ・ティ・ドコモ データ退避システム及びデータ退避方法
JP5473623B2 (ja) 2010-01-15 2014-04-16 キヤノン株式会社 データ記録装置及びその制御方法
JP5523128B2 (ja) 2010-02-03 2014-06-18 キヤノン株式会社 記録装置及びその制御方法
JP5406750B2 (ja) 2010-02-03 2014-02-05 キヤノン株式会社 記録装置及びその制御方法
JP5455689B2 (ja) * 2010-02-03 2014-03-26 キヤノン株式会社 記録装置及び方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120841A1 (en) * 2001-12-21 2003-06-26 Chang Matthew C.T. System and method of data logging
US6990603B2 (en) * 2002-01-02 2006-01-24 Exanet Inc. Method and apparatus for securing volatile data in power failure in systems having redundancy
US20030126247A1 (en) * 2002-01-02 2003-07-03 Exanet Ltd. Apparatus and method for file backup using multiple backup devices
US20030212865A1 (en) * 2002-05-08 2003-11-13 Hicken Michael S. Method and apparatus for flushing write cache data
GB0320141D0 (en) * 2003-08-28 2003-10-01 Ibm Data storage systems
US20050182801A1 (en) * 2004-02-13 2005-08-18 International Business Machines Corporation Synchronization reconciling in data storage library systems
US7600073B2 (en) * 2006-09-26 2009-10-06 International Business Machines Corporation Cache disk storage upgrade

Also Published As

Publication number Publication date
US20080086587A1 (en) 2008-04-10
JP2008097169A (ja) 2008-04-24

Similar Documents

Publication Publication Date Title
JP5780769B2 (ja) データ処理装置、その制御方法およびプログラム、並びに記憶媒体
JP4193152B2 (ja) データ退避装置及びデータ退避方法
US10248432B2 (en) Information processing apparatus including main system and subsystem
US10859958B1 (en) Image forming apparatus that transfers data from volatile cache memory to non-volatile storage based on power supply state and control method thereof
KR20130090834A (ko) 화상 형성 장치, 화상 형성 장치의 제어 방법 및 저장 매체
KR20190009260A (ko) 정보 처리장치 및 정보 처리장치의 제어방법
JP2007034431A (ja) メモリ制御装置
JP2014138342A (ja) 画像形成装置
KR101596095B1 (ko) 인쇄 장치 및 기록 매체
JP2009169871A (ja) 情報処理装置
KR20120094855A (ko) 정보 처리장치 및 정보 처리장치를 제어하는 제어방법
JP6226243B2 (ja) 画像形成装置及び動作制御方法並びに動作制御プログラム
KR20110001877A (ko) 정보 처리장치 및 정보 처리장치의 제어방법
US9348295B2 (en) Printing apparatus, method for controlling printing apparatus, and storage medium
JP5251407B2 (ja) 情報処理装置
JP5990901B2 (ja) 制御装置および電子機器
JP5011780B2 (ja) 情報処理装置、及びその起動方法
JP2019125115A (ja) 電子機器、電子機器に用いるデータ更新方法、データ配信サーバー、電子機器の更新用データのデータ構造
US10701231B2 (en) Information processing apparatus capable of stopping power feed to nonvolatile storage portion, power feed control method
JP4821261B2 (ja) 画像形成装置
US20200264807A1 (en) Information processing apparatus and method for controlling the same
JP4678226B2 (ja) 画像形成装置、および画像形成装置の制御プログラム
JP2006011498A (ja) 電気機器
JP6459543B2 (ja) 画像形成装置及びジョブ処理制御方法並びにジョブ処理制御プログラム
JP6234885B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080828

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080910

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees