(57)【要約】【課題】データを失うことなく、実際に揮発性メモリに対するバックアップ時間を長くすることができる画像データ記憶装置を提供すること。【解決手段】複数のメモリブロック１，２，３，４を有する揮発性メモリ１０を備え、個々のメモリブロック１，２，３，４に対してバックアップ用電源６１０を用いてバックアップを行うようになっている。個々のメモリブロックに対して電源供給を制御し得る電源供給制御手段６００，６４１，６５１，６６１，６７１を備える。揮発性メモリ１０から得られる参照情報に基づいて、少なくとも１つのメモリブロックが空きメモリブロックとなるように、メモリブロック１，２，３，４間でデータを転送する。【選択図】  図２
2004171466.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリブロックを有する揮発性メモリを備え、上記揮発性メモリの個々のメモリブロックに対してバックアップ用電源を用いてバックアップを行うようになっている画像データ記憶装置であって、
上記揮発性メモリの個々のメモリブロックに対して電源供給を制御し得る電源供給制御手段と、
上記複数のメモリブロック間でデータを転送するためのデータ転送手段と、
上記揮発性メモリから得られる参照情報に基づいて、少なくとも１つのメモリブロックが空きメモリブロックとなるように上記データ転送手段を制御するバックアップ制御手段とを備えたことを特徴とする画像データ記憶装置。
【請求項２】
請求項１に記載の画像データ記憶装置において、
上記バックアップ制御手段は、上記データ転送手段によるデータ転送によって少なくとも１つの空きメモリブロックが生じるか否かを判断して、少なくとも１つの空きメモリブロックが生じる場合にのみ上記データ転送手段にデータ転送を実行させることを特徴とする画像データ記憶装置。
【請求項３】
請求項１に記載の画像データ記憶装置において、
上記参照情報は上記揮発性メモリが記憶しているデータの量と格納位置を表す情報であることを特徴とする画像データ記憶装置。
【請求項４】
請求項１に記載の画像データ記憶装置において、
上記参照情報は上記揮発性メモリが記憶しているデータの種類を表す情報であり、
上記バックアップ制御手段は、上記揮発性メモリが記憶しているデータの種類がバックアップ対象に該当するときのみ、そのデータを上記データ転送手段による転送の対象とすることを特徴とする画像データ記憶装置。
【請求項５】
請求項１に記載の画像データ記憶装置において、
上記バックアップ制御手段は、上記データ転送手段によるデータ転送の実行時には上記複数のメモリブロックに対する外部からのデータの書き込みを少なくとも禁止することを特徴とする画像データ記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は画像データ記憶装置に関する。より詳しくは、複数のメモリブロックを有する揮発性メモリを備え、上記揮発性メモリの個々のメモリブロックに対して電源供給を行うようになっている画像データ記憶装置に関する。
【０００２】
【従来の技術】
ＭＦＰ（マルチ・ファンクション・ペリフェラルズ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌｓ）の略で、効率的なオフィス業務を提供するために、コピー、ファクシミリ、プリンタ、スキャナなどの機能を１台に集約した機器を指す。）などに代表される画像処理装置では、画像データを記憶するためにＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）を備えることが多い。ＤＲＡＭは、揮発性メモリであり、定期的にリフレッシュを行わないと記憶内容が消去されてしまう。そこで、画像処理装置の本体の主電源（メインスイッチ）がオフになったりコンセントが抜かれたときでも、定期的にリフレッシュ動作を行ってデータの消失を防止するように、ＤＲＡＭに対してバックアップ用電源による電源供給がなされる（これを「バックアップ」という。）。このバックアップ用電源としては、ニッケルカドミウム等の２次電池やリチウム電池等の１次電池が用いられている。
【０００３】
従来は、例えばファクシミリ装置において、ＤＲＡＭを複数のブロックに分けておき、データを格納していないブロックについてバックアップを停止する方式（これを「第１の方式」と呼ぶ。）や、バックアップ用電源の電圧が低下した場合には、その程度に応じて、より重要度の低いブロックからバックアップを停止する方式（これを「第２の方式」と呼ぶ。）が知られている（例えば、特許文献１参照。）。これにより、同一容量の電源であっても、ＤＲＡＭに対するバックアップの時間をより長くしたり、また、重要なデータについてはバックアップの時間を長くすることを図っている。
【０００４】
【特許文献１】
特開平５−９１２２５号公報（第１頁、要約書）
【０００５】
【発明が解決しようとする課題】
しかしながら、通常のメモリ管理によれば、ジョブの受け付け順に応じてデータを格納すべきメモリ領域が確保され、ジョブの実行完了とともにそのメモリ領域が解放される。このジョブの受け付け順とジョブの実行完了順とは異なる場合があるため、通常動作時にはＤＲＡＭの複数のブロック全部にわたって画像データが断片化して格納される。このため、上述の第１の方式では、実際にはバックアップを停止できるブロックが発生せず、ＤＲＡＭに対するバックアップ時間を長くする効果が得られないという問題がある。また、第２の方式では、ＤＲＡＭに対するバックアップ時間を長くするために一部のデータが失われるという問題がある。
【０００６】
そこで、この発明の課題は、データを失うことなく、実際に揮発性メモリに対するバックアップ時間を長くすることができる画像データ記憶装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記課題を解決するため、請求項１に記載の画像データ記憶装置は、
複数のメモリブロックを有する揮発性メモリを備え、上記揮発性メモリの個々のメモリブロックに対してバックアップ用電源を用いてバックアップを行うようになっている画像データ記憶装置であって、
上記揮発性メモリの個々のメモリブロックに対して電源供給を制御し得る電源供給制御手段と、
上記複数のメモリブロック間でデータを転送するためのデータ転送手段と、
上記揮発性メモリから得られる参照情報に基づいて、少なくとも１つのメモリブロックが空きメモリブロックとなるように上記データ転送手段を制御するバックアップ制御手段とを備えたことを特徴とする。
【０００８】
なお、「バックアップ」とは、揮発性メモリに対してバックアップ用電源からの電源供給を行って、上記揮発性メモリの記憶内容を保持することを意味する。例えば装置の主電源（メインスイッチ）がオフになったりコンセントが抜かれたりした時や、停電時には、バックアップを行って揮発性メモリの記憶内容を保持するものとする。
【０００９】
また、上記揮発性メモリの「メモリブロック」は、個々に電源供給が行われる限り、任意の単位を取り得る。例えば、１枚の基板に複数個のＤＲＡＭチップが搭載され、それらのＤＲＡＭチップに対して個々に電源供給が行われる場合は、各ＤＲＡＭチップが単位となる。また、１枚の基板に複数個のメモリチップを搭載してなるメモリユニットを複数備え、各メモリユニットに対して個々に電源供給が行われる場合は、各メモリユニットが単位となる。
【００１０】
「空きメモリブロック」とは、上記揮発性メモリのメモリブロックであって、記憶しているデータが無いもの（または、後述するバックアップ対象に該当するデータが無いもの）を意味する。
【００１１】
この請求項１の画像データ記憶装置では、バックアップ制御手段が、揮発性メモリから得られる参照情報に基づいて、少なくとも１つのメモリブロックが空きメモリブロックとなるようにデータ転送手段を制御する。このバックアップ制御手段による制御に応じて、データ転送手段は、上記揮発性メモリの複数のメモリブロック間でデータを転送する。ここで、電源供給制御手段は、揮発性メモリの個々のメモリブロックに対して電源供給を制御し得るようになっている。したがって、上記データ転送手段によるデータ転送によって少なくとも１つの空きメモリブロックが生じれば、電源供給制御手段は、その空きメモリブロックに対して電源供給を停止することができる。
【００１２】
また、上記揮発性メモリの複数のメモリブロック間で転送されたデータは、転送先のメモリブロックで保持される。したがって、データが失われることはない。
【００１３】
このように、この発明のデータ記憶装置は、揮発性メモリから得られる参照情報に基づいて、少なくとも１つのメモリブロックが空きメモリブロックとなるように上記揮発性メモリの複数のメモリブロック間でデータを転送する。したがって、通常動作時に複数のメモリブロック全部にわたって画像データが断片化して格納されている場合であっても、実際に空きメモリブロックを発生させることができ、その空きメモリブロックに対して電源供給を停止することができる。したがって、バックアップを開始したとき、限られた容量のバックアップ用電源を用いていても、実際に上記揮発性メモリに対するバックアップ時間を長くすることができる。
【００１４】
上記バックアップ制御手段による制御や上記データ転送手段によるデータ転送は、バックアップ開始前に実行するのが望ましい。バックアップ用電源を極力消費しないようにするためである。
【００１５】
例えば、上記バックアップ制御手段による制御や上記データ転送手段によるデータ転送は、この画像データ記憶装置がＭＦＰなどの画像処理装置に適用された場合は、印字不可（トナーエンプティ、ペーパエンプティ）などの所定のイベントが発生した時点で実行しても良い。
【００１６】
請求項２に記載の画像データ記憶装置は、請求項１に記載の画像データ記憶装置において、上記バックアップ制御手段は、上記データ転送手段によるデータ転送によって少なくとも１つの空きメモリブロックが生じるか否かを判断して、少なくとも１つの空きメモリブロックが生じる場合にのみ上記データ転送手段にデータ転送を実行させることを特徴とする。
【００１７】
この請求項２の画像データ記憶装置では、上記バックアップ制御手段は、上記データ転送手段によるデータ転送によって少なくとも１つの空きメモリブロックが生じるか否かを判断して、少なくとも１つの空きメモリブロックが生じる場合にのみ上記データ転送手段にデータ転送を実行させる。すなわち、上記データ転送手段によるデータ転送を実行しても空きメモリブロックが生じない場合は、複数のメモリブロック間でのデータ転送は行われない。したがって、バックアップ時間を長くするのに寄与しないような無駄なデータ転送は行われず、無駄な電力が消費されない。
【００１８】
請求項３に記載の画像データ記憶装置は、請求項１に記載の画像データ記憶装置において、上記参照情報は上記揮発性メモリが記憶しているデータの量と格納位置を表す情報であることを特徴とする。
【００１９】
この請求項３の画像データ記憶装置では、上記揮発性メモリが記憶しているデータの量と格納位置を表す情報に基づいて、少なくとも１つのメモリブロックが空きメモリブロックとなるように上記揮発性メモリの複数のメモリブロック間でデータを転送することができる。したがって、通常動作時に複数のメモリブロック全部にわたって画像データが断片化して格納されている場合であっても、空きメモリブロックを的確に発生させることができる。
【００２０】
請求項４に記載の画像データ記憶装置は、請求項１に記載の画像データ記憶装置において、上記参照情報は上記揮発性メモリが記憶しているデータの種類を表す情報であり、上記バックアップ制御手段は、上記揮発性メモリが記憶しているデータの種類がバックアップ対象に該当するときのみ、そのデータを上記データ転送手段による転送の対象とすることを特徴とする。
【００２１】
なお、「バックアップ対象」に該当するデータを「バックアップ対象データ」と呼ぶ。例えば、ファクシミリ（ＦＡＸ）によって受信したジョブに関する画像データは、「バックアップ対象データ」とされる場合が多い。一方、コピージョブやプリントジョブに関する画像データは、ユーザ自身が同じジョブを再び容易に指示できるので、「バックアップ対象データ」ではないとされる場合が多い。
【００２２】
この請求項４の画像データ記憶装置では、上記揮発性メモリが記憶しているデータのうちバックアップ対象データのみを上記データ転送手段による転送の対象とする。したがって、バックアップ対象データは、転送されたときは転送先のメモリブロックで保持され、転送されないときは元のメモリブロックで保持される。一方、バックアップ対象データに該当しないデータ、つまり不要なデータは、転送の対象とならず、元のメモリブロックに残される。この元のメモリブロックに残されているのが「バックアップ対象データに該当しないデータ」のみとなったときは、この元のメモリブロックは空きメモリブロックになったものとして扱われて、この元のメモリブロックに対する電源供給が停止される。
【００２３】
このように、この画像データ記憶装置は、上記揮発性メモリが記憶しているデータのうちバックアップ対象データのみを上記データ転送手段による転送の対象とするので、無駄なデータ転送は行われず、無駄な電力が消費されない。
【００２４】
請求項５に記載の画像データ記憶装置は、請求項１に記載の画像データ記憶装置において、上記バックアップ制御手段は、上記データ転送手段によるデータ転送の実行時には上記複数のメモリブロックに対する外部からのデータの書き込みを少なくとも禁止することを特徴とする。
【００２５】
なお、「外部」とは、上記複数のメモリブロック以外の要素を指す。
【００２６】
この請求項５の画像データ記憶装置では、上記バックアップ制御手段は、上記データ転送手段によるデータ転送の実行時には上記複数のメモリブロックに対する外部からのデータの書き込みを少なくとも禁止する。したがって、例えば上記複数のメモリブロック間で転送されるデータと外部からのデータとが混在することが無く、メモリ管理が容易に行われる。
【００２７】
例えば、上記データ転送手段によるデータ転送の実行時には、新たなジョブを受け付けないものとする。これにより、上記複数のメモリブロックに対して外部からデータが書き込まれるのを有効に防止できる。
【００２８】
なお、上記複数のメモリブロックに対する外部からのデータの書き込みに併せて、外部からのデータの読み出しおよび消去を禁止しても良い。そのようにした場合、メモリ管理がさらに容易に行われる。
【００２９】
【発明の実施の形態】
以下、この発明を図示の実施の形態により詳細に説明する。
【００３０】
図１は、本発明を適用したＭＦＰ（マルチ・ファンクション・ペリフェラルズ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌｓ））の概略ブロック構成を示している。
【００３１】
このＭＦＰ１０００は、コピー、ファクシミリ、プリンタ、ネットワークスキャナなどの機能を１台に集約した機器であり、各機能はそれぞれアプリケーションプログラム（以下、単に「アプリケーション」という。）を利用して実現されている。大別すると、このＭＦＰ１０００は、ユーザがこの機器を操作するための操作パネル７００と、この機器全体の制御を司るＣＰＵ（中央演算処理装置）６００と、原稿画像を光学的に読み取ってデジタル画像データに変換して出力するスキャナ１００と、ネットワークに接続するためのＮＩＣ（ネットワーク・インターフェイス・カード）３００と、デジタル画像データを用紙上に印字出力（画像形成）するプリンタ２００と、ＦＡＸ送受信を行うためのＦＡＸボード４００と、データを記憶するための揮発性メモリとしてのＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）１０と、このＤＲＡＭ１０に対するメモリ管理を行うメモリ制御部５００と、このＤＲＡＭ１０に対する電源供給を制御する電源供給制御手段としての電源供給制御部６５０とを備えている。
【００３２】
このＭＦＰ１０００は、ＮＩＣ３００を介してネットワーク上のＰＣ（パーソナル・コンピュータ）群８００との間でデータの送受信が可能となっている。送受信される主なデータとしては、このＭＦＰ１０００がネットワークスキャナとして機能したときのＰＣ８００へのスキャンデータ転送や、このＭＦＰ１０００がプリンタとして機能するときのＰＣ８００からのプリントアウト指示などがある。
【００３３】
また、このＭＦＰ１０００は、ＦＡＸボード４００を介して電話回線に接続可能となっており、電話回線網９００を通して他の機器との間でＦＡＸデータなどの送受信が可能となっている。
【００３４】
メモリ制御部５００は、スキャナ１００が出力した画像データを一旦保存するスキャナ入力バッファ５３０と、ＮＩＣ３００を介して入力された画像データを一旦保存する外部Ｉ／Ｆ入力バッファ５４０と、これらの入力バッファ５３０，５４０に保存されたデータを圧縮する圧縮器５１０を備えている。
【００３５】
圧縮器５１０により圧縮されたデータは、ＤＲＡＭ１０内のコピージョブ、スキャンジョブ、プリントジョブデータ領域５７０に格納される。この例では、コピージョブ、スキャンジョブ、プリントジョブデータは、停電時にデータ保証をする必要がないため、バックアップ対象データには該当しないものとして取り扱われる。
【００３６】
このコピージョブ、スキャンジョブ、プリントジョブデータは、必要なタイミングに応して伸張器５２０によって伸張される。伸張器５２０により伸張されたデータは、用途に応じて、例えばプリンタ出力バッファ５６０に一旦保存され後、プリンタ２００による印字出力に用いられる。または、ＰＣ８００へ転送される場合には、外部Ｉ／Ｆ出力バッファ５５０に一旦保存された後、ＮＩＣ３００を介してＰＣ８００へ転送される。
【００３７】
一方、電話回線９００とＦＡＸボード４００を通して受信されたＦＡＸ受信データは、ＤＲＡＭ１０内の、上記データ領域５７０とは異なるＦＡＸジョブ受信データ領域５８０に格納される。また、スキャナ１００で読み取られた画像データは、ＦＡＸ送信されるべき場合はＦＡＸ送信データとして、圧縮器５１０で圧縮された後、ＤＲＡＭ１０内のＦＡＸジョブ送信データ領域５９０に格納される。この例では、これらのＦＡＸ受信データおよびＦＡＸ送信データは、停電時にデータ保証をする必要があるため、バックアップ対象データに該当するものとして取り扱われる。
【００３８】
なお、ＦＡＸ送信データについては、ユーザ自身が同じものを再び容易に作成できるから、バックアップ対象データには該当しないものとして取り扱っても良い。その場合、ユーザは、操作パネル７００を通して指示を入力し、バックアップ対象データをＦＡＸ受信データのみに限定するものとする。このように、バックアップ対象データを最小限に限定することによって、バックアップを開始したとき、バックアップ用電源の電力消費を抑制できる。したがって、限られた容量のバックアップ用電源を用いていても、ＤＲＡＭ１０に対するバックアップ時間を長くすることができる。
【００３９】
具体的には、メモリ制御部５００の動作は、ＣＰＵ６００が図示しないＤＭＡ（ダイレクト・メモリ・アクセス）へのレジスタ設定を行ってデータの転送を制御することにより行われる。
【００４０】
スキャナ入力バッファ５３０、外部Ｉ／Ｆ入力バッファ５４０、外部Ｉ／Ｆ出力バッファ５５０、プリンタ出力バッファ５６０、コピージョブ、スキャンジョブ、プリントジョブデータ領域５７０、ＦＡＸジョブ受信データ領域５８０、ＦＡＸジョブ送信データ領域５９０は、全てＤＲＡＭ１０上にマッピングされている。
【００４１】
上述のコピー、ファクシミリ、プリンタ、ネットワークスキャナの機能を実現するためのアプリケーションは、ユーザの操作等に基づく要求が生じる毎に、メモリ制御部５００の制御によって圧縮データをＤＲＡＭ１０上に保存していく。メモリ制御部５００は各アプリケーションから要求があった順に画像データを格納していくため、ＤＲＡＭ１０には各アプリケーションのための画像データが断片化して混在した状態で格納される。なお、各アプリケーンョン毎にそれぞれ連続した一定のメモリ領域を確保する考え方もあるが、或るアプリケーションに瞬間的に偏りが生じたときに処理できる最大ジョブ数の制限を受けるため、メモリ管理上好ましくない。
【００４２】
一方、ＤＲＡＭ１０に格納された画像データ（圧縮データ）は、
コピーの場合はコピー出力完了時、
ネットワークスキャナの場合はスキャンデータ転送完了時、
プリンタの場合はプリント出力完了時、
ファクシミリ送信の場合はＦＡＸデータ送信完了時、
ファクシミリ受信の場合はＦＡＸ受信データプリント完了時
に、それぞれ保持しておく必要がなくなるため、消去される。
【００４３】
通常は、コピージョブとプリントジョブに関するデータは、プンリタエンジンが印字可能状態であれば、長時間メモリ上に留まることなく消去されていく。同様に、スキャンジョブに関するデータも、送信相手さえあれば、長時間メモリ上に留まることなく消去されていく。一方、ＦＡＸ送受信に関するデータは、送信相手との通信が確立できなかったり、メモリ一括送信や親展プリント機能が指示されたりする場合があるため、長時間にわたってメモリ上に保持されることが多い。この結果、メモリ上に書き込まれる順番と消去される順番とが異なることになる。したがって、ＭＦＰ１０００がしばらくの期間動作すると、ＤＲＡＭ１０には、各アプリケーションのための画像データが断片化して格納された領域の間に、データが格納されていない空き領域（例えば図５（Ｂ−１）（Ｃ−１）中にブランクで示す領域）が生ずる。そして、これが定常的な状態となる。
【００４４】
図２は電源供給制御手段としての電源供給制御部６５０の構成を示している。
【００４５】
ＤＲＡＭ１０は、複数（この例では４個）のメモリブロック１，２，３，４に分けられ、各メモリブロック毎に独立して動作可能になっている。各メモリブロック１，２，３，４には、それぞれＣＰＵ６００によって制御されるスイッチ６４１，６５１，６６１，６７１が直列に接続されている。
【００４６】
直列接続のメモリブロック１とスイッチ６４１、メモリブロック２とスイッチ６５１、メモリブロック３とスイッチ６６１、メモリブロック４とスイッチ６７１に対して、商用電源６２０が共通に接続されるとともに、直列接続のバックアップ用電源としてのバックアップ電池（例えばニッケルカドミウム電池）６１０とノーマルオン型のリレースイッチ６３０とが共通に接続されている。
【００４７】
通常動作時は、ＣＰＵ６００の制御によって、リレースイッチ６３０はオフされるとともに、スイッチ６４１，６５１，６６１，６７１がオンされている。これにより、商用電源６２０から個々のメモリブロック１，２，３，４に対して電源供給が行われる。
【００４８】
一方、商用電源６２０がオフになったりコンセントが抜かれたりした時や、停電時によって商用電源６２０からの電源供給が受けられなくなった場合は、リレースイッチ６３０がオンする。ＣＰＵ６００の制御によって、スイッチ６４１，６５１，６６１，６７１が個々にオン、オフされるようになっている。これにより、個々のメモリブロック１，２，３，４に対してバックアップ電池６１０からの電源供給が可能になっている。なお、停電状態であることは、図示しない停電検出センサによってＣＰＵ６００へ通知される構成となっている。
【００４９】
また、ＣＰＵ６００は、アドレスバスとデータバスとを介して個々のメモリブロック１，２，３，４に対してアクセスが可能になっている。そして、ＣＰＵ６００はデータ転送手段として働いて、メモリブロック間１，２，３，４でデータを自由に転送することができる（具体的には、データ転送はＤＭＡを介在して行うが、ここでの説明は割愛する。）。
【００５０】
また、ＣＰＵ６００はバックアップ制御手段として働いて、ＤＲＡＭ１０から得られる参照情報に基づいて、少なくとも１つのメモリブロック１，２，３，４が空きメモリブロックとなるようにデータ転送を制御する。
【００５１】
図３はＣＰＵ６００による具体的な制御のフロー（メインルーチン）を示している。
【００５２】
ｉ）  まず、停電、印字不可などのバックアップ開始原因となるイベントが発生したか否かをチェックする（Ｓ１）。「印字不可」とは、エンジンステータス変更（例えばペーパーエンプティ、トナーエンプティ、トラブル、ウォームアップ中、スリープ中など）などの何らかの要因によってプリンタエンジンが印字不可状態になったことを意味する。なお、どのようなイベントをバックアップ開始原因とするかは、ユーザニーズに応じて、操作パネル７００からの指示により設定変更可能になっている。
【００５３】
イベントが発生していない場合には（Ｓ２でＮＯ）、イベント待ちの状態を維持する。
【００５４】
ｉｉ）  一方、イベントが発生して処理要求があった場合には（Ｓ２でＹＥＳ）、ＤＲＡＭ１０の状態を参照し、得られた参照情報に基づいてデータ転送判定処理を行う（Ｓ３）。
【００５５】
この例では、ＤＲＡＭ１０から得られる「参照情報」は、ＤＲＡＭ１０、つまり各メモリブロック１，２，３，４が記憶しているデータの量と格納位置と種類を表すものとする。
【００５６】
データの「種類」に応じて、そのデータが「バックアップ対象データ」であるか否かが定められる。この例では、ファクシミリ（ＦＡＸ）ジョブに関するＦＡＸ受信データ、ＦＡＸ送信データは、既述のようにバックアップ対象データに該当するものとされている。一方、コピージョブ、スキャンジョブ、プリントジョブデータは、バックアップ対象データには該当しないものとされている。
【００５７】
詳しくは後述するが、この「データ転送判定処理」では、メモリブロック１，２，３，４間でのデータ転送によって少なくとも１つの空きメモリブロックが生じるか否か等を判断する。上述の参照情報に基づいて判断を行うことにより、空きメモリブロックを的確に発生させることができる。
【００５８】
ｉｉｉ）  そして、このデータ転送判定処理によって、バックアップ時間延長の効果があり（Ｓ４でＹＥＳ）、かつデータ転送が必要であると判定された場合（Ｓ５でＹＥＳ）にのみ、メモリブロック１，２，３，４間でのデータ転送を開始する（Ｓ６）。バックアップ時間延長の効果がある場合であるから、データ転送が終了したら（Ｓ７でＹＥＳ）、メモリブロック１，２，３，４のうち少なくとも１つが空きメモリブロックになっている。そこで、ＣＰＵ６００の制御によって、その空きメモリブロックに対応するスイッチ（スイッチ６４１，６５１，６６１，６７１のいずれか）をオフして、その空きメモリブロックに対する電源供給を停止する（Ｓ８）。したがって、バックアップを開始したとき、限られた容量のバックアップ電池６１０を用いていても、実際にＤＲＡＭ１０に対するバックアップ時間を長くすることができる。
【００５９】
ｉｖ）  一方、上記データ転送判定処理（図３のＳ３）によって、バックアップ時間延長の効果がない（Ｓ４でＮＯ）と判断されたときは、ステップＳ１へ戻ってイベントの発生を待つ。
【００６０】
ｖ）  また、上記データ転送判定処理（図３のＳ３）によって、バックアップ時間延長の効果があるが（Ｓ４でＹＥＳ）、データ転送が必要ではない（Ｓ５でＮＯ）と判断されたときは、データ転送を行わなくても、既にメモリブロック１，２，３，４のうち少なくとも１つが空きメモリブロックになっている。そこで、ＣＰＵ６００の制御によって、その空きメモリブロックに対応するスイッチ（スイッチ６４１，６５１，６６１，６７１のうち少なくとも１つ）をオフして、その空きメモリブロックに対する電源供給を停止する（Ｓ８）。したがって、バックアップを開始したとき、限られた容量のバックアップ電池６１０を用いていても、実際にＤＲＡＭ１０に対するバックアップ時間を長くすることができる。
【００６１】
なお、この図３の処理は、実際のバックアップ開始前に実行するのが望ましい。バックアップ電池６１０を極力消費しないようにするためである。
【００６２】
図４は上述のデータ転送判定処理（図３のＳ３）のフローを詳細に示している。図５のメモリマップを参照しながら、この処理を次に説明する。
【００６３】
ｉ）  まず最初に、バックアップ対象データに関する容量計算を行う（Ｓ１１）。つまり、メモリブロック１，２，３，４に格納されているデータのうちバックアップ対象データに該当するものの合計容量（これを「バックアップ対象データ容量」と呼ぶ）を計算する。
【００６４】
ｉｉ）  次に、そのバックアップ対象データ容量に基づいて、バックアップされるべきメモリブロックの数を削減できるか否かを判断する（Ｓ１２）。例えば、各メモリブロック１，２，３，４が１ＭＢの容量であり、４個のメモリブロックで最大４ＭＢのデータを保存できるものと仮定する。その場合、バックアップ対象データ容量が３ＭＢ以下であれば、少なくとも１つのメモリブロックを空きメモリブロックにすることができ、バックアップされるべきメモリブロックの数を削減できることが分かる。
【００６５】
ｉｉｉ）  このステップＳ１２で、例えば図５（Ｄ−１）に示すように、バックアップ対象データ容量が３ＭＢを超えていれば、バックアップされるべきメモリブロックの数を削減不可能であるため、削減の「効果なし」と判定する（Ｓ１９）。そして、メインルーチンへ戻る。この場合、図５（Ｄ−２）に示すように、データ転送は行われず、全てのメモリブロック１，２，３，４に対して電源供給が維持される。削減の「効果なし」と判定された場合は、複数のメモリブロック間でのデータ転送は行われない。したがって、バックアップ時間を長くするのに寄与しないような無駄なデータ転送は行われず、無駄な電力が消費されない。
【００６６】
ｉｖ）  一方、ステップＳ１２で、バックアップ対象データ容量が３ＭＢ以下であれば、バックアップされるべきメモリブロックの数を削減可能であるから、削減の「効果あり」と判定する（Ｓ１３）。
【００６７】
ｖ）  続いて、メモリブロック１，２，３，４におけるデータの配置（格納位置）をチェックして（Ｓ１４）、空きメモリブロックを発生させるためにデータ転送が必要であるか否かを判断する（Ｓ１５）。
【００６８】
ｖｉ）  このステップＳ１５で、例えば図５（Ａ−１）に示すように、バックアップ対象データがメモリブロック１，２，３のみに存在し、メモリブロック４がこの時点で空きメモリブロックになっている場合は、データ転送不要と判定する（Ｓ１７）。そして、メインルーチンへ戻る。この場合、データ転送を行わなくても、図５（Ａ−２）に示すようにメモリブロック４に対して電源供給を停止することができる（電源供給が停止されたメモリブロックを破線で示す。以下同様。）。したがって、バックアップを開始したとき、限られた容量のバックアップ電池６１０を用いていても、実際にＤＲＡＭ１０に対するバックアップ時間を長くすることができる。しかも、メモリブロック１，２，３に対する電源供給を維持すれば、バックアップ対象データを失うことはない。
【００６９】
ｖｉｉ）  一方、ステップＳ１５で、例えば図５（Ｂ−１），図５（Ｃ−１）に示すように、バックアップ対象データ容量が３ＭＢ以下（実際には２ＭＢ以下）であり、かつバックアップされるべきメモリブロックの数を削減できる場合は、データ転送必要と判定する（Ｓ１６）。
【００７０】
例えば、図５（Ｂ−１）の例では、図５（Ｂ−２）に示すようにバックアップ対象データをメモリブロック番号の若い方へ集める方針で、メモリブロック３に格納されているデータｅ、データｆの転送元アドレスと転送先アドレスを求める処理を行っている。このように単純な方針を採用した場合、アドレスを求める処理を簡素化できる。
【００７１】
一方、図５（Ｃ−１）の例では、データ転送に必要な電力消費をできるだけ抑えるためにデータ転送を最小にする方針で、転送元アドレスと転送先アドレスを求める処理を行っている。データ転送量を最小にするためには、各メモリブロック毎にバックアップ対象データ容量を計算して、図５（Ｃ−２）に示すようにバックアップ対象データ容量の少ないメモリブロックからバックアップ対象データ容量の多いメモリブロック（つまり空き領域が少ないメモリブロック）へ転送すれば良い。この例ではメモリブロック１からメモリブロック２へデータａ，ｂを転送している。この場合、アドレスを求める処理は、狙いの空き容量が確保できるまで繰り返し行う。
【００７２】
ｖｉｉｉ）  そして最後に、データ転送元アドレスとデータ転送先アドレスを計算して、データ転送を実行するための情報を準備する（Ｓ１８）。この後、図３のメインルーチンへ戻る。
【００７３】
データ転送の結果、例えば図５（Ｂ−１）から図５（Ｂ−２）のようになった場合、また、図５（Ｃ−１）から図５（Ｃ−２）のようになった場合は、それぞれバックアップされるべきメモリブロックの数を２個に削減できる。したがって、バックアップを開始したとき、限られた容量のバックアップ電池６１０を用いていても、実際にＤＲＡＭ１０に対するバックアップ時間を長くすることができる。しかも、メモリブロック間で転送されたバックアップ対象データは、転送先のメモリブロックで保持される。したがって、バックアップ対象データが失われることはない。
【００７４】
なお、メモリブロック１，２，３，４間でのデータ転送の実行時にはメモリブロック１，２，３，４に対する外部からのデータの書き込み、読み出しおよび消去を禁止するのが望ましい。例えば、メモリブロック１，２，３，４間でのデータ転送の実行時には、新たなジョブを受け付けないものとする。これにより、メモリブロック１，２，３，４に対して外部からデータが書き込まれるのを有効に防止できる。そのようにした場合、メモリブロック１，２，３，４間で転送されるデータと外部からのデータとが混在することが無く、メモリ管理が容易に行われる。
【００７５】
この実施形態では、揮発性メモリとしてＤＲＡＭをバックアップする例について述べたが、当然ながらこれに限られるものではない。本発明は例えばＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）をバックアップする場合にも同様に適用することができる。
【００７６】
【発明の効果】
以上より明らかなように、この発明の画像データ記憶装置によれば、データを失うことなく、実際に揮発性メモリに対するバックアップ時間を長くすることができる。
【図面の簡単な説明】
【図１】この発明の一実施形態の画像データ記憶装置を適用したＭＦＰの概略構成を示す図である。
【図２】上記ＭＦＰの電源供給制御部の構成を示す図である。
【図３】上記ＭＦＰのＣＰＵによる制御のフロー（メインルーチン）を示す図である。
【図４】上記メインルーチンにおけるデータ転送判定処理のフロー（サブルーチン）を示す図である。
【図５】メモリブロックでのデータの取り扱いを模式的に説明する図である。
【符号の説明】
１，２，３，４  メモリブロック
１０  ＤＲＡＭ
５００  メモリ制御部
６００  ＣＰＵ
６１０  バックアップ電池
６４１，６５１，６６１，６７１  スイッチ
６５０  電源供給制御部
【図１】
2004171466.tif 000003
【図２】
2004171466.tif 000004
【図３】
2004171466.tif 000005
【図４】
2004171466.tif 000006
【図５】
2004171466.tif 000007