(57)【要約】【課題】  ジョブ処理に伴う管理情報のデータ量に適応するメモリを使用してキャッシュすべき管理情報を確実にバックアップする。【解決手段】    ジョブ処理の要求に伴うプロセスをスケジュールして実行する画像処理装置であって、  前記ジョブ処理で管理すべき管理情報のバックアップを要求するプロセスを検出する検出手段と、データバックアップを要求するプロセスを検出した場合、バックアップが要求された管理情報のデータ量に基づいて、当該データバックアップが要求された管理情報をキャッシュすべきキャッシュ先を揮発性のメモリまたは不揮発性のメモリに設定する設定手段と、設定されたキャッシュ先に管理情報をキャッシュするキャッシュ手段と、を備えることを特徴とする。【選択図】  図４
2014044622.tif 000002
【特許請求の範囲】
【請求項１】
ジョブ処理の要求に伴うプロセスをスケジュールして実行する画像処理装置であって、
前記ジョブ処理で管理すべき管理情報のバックアップを要求するプロセスを検出する検出手段と、
データバックアップを要求するプロセスを検出した場合、バックアップが要求された管理情報のデータ量に基づいて、当該データバックアップが要求された管理情報をキャッシュすべきキャッシュ先を揮発性のメモリまたは不揮発性のメモリに設定する設定手段と、
設定されたキャッシュ先に管理情報をキャッシュするキャッシュ手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記データバックアップを要求するプロセスのＩＤが優先アクセスすべき所定のＩＤであるかどうかを判断する判断手段と、
前記データバックアップを要求するプロセスのＩＤが優先アクセスすべき所定のＩＤであると判断した場合、前記不揮発性のメモリに対する前記管理情報の書き込みプロセスを他のプロセスよりも優先実行するようにスケジュールする制御手段と、
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項３】
ジョブ処理の状態が正常でない状態に遷移していることを検知する検知手段と、
ジョブ処理の状態が正常でない状態に遷移していること検知した場合、管理すべき管理情報を前記不揮発性のメモリにキャッシュする要求を発行する発行手段と、を備え、
前記キャッシュ手段は、発行されたキャッシュの要求に応じて前記揮発性のメモリにキャッシュすべき管理情報を前記不揮発性のメモリにキャッシュすることを特徴とする請求項１記載の画像処理装置。
【請求項４】
ジョブ処理の状態が正常でない状態に遷移していることを検知する検知手段と、
ジョブ処理の状態が正常でない状態に遷移していること検知した場合、管理すべき管理情報を前記不揮発性のメモリにキャッシュする要求を発行する発行手段と、を備え、
前記キャッシュ手段は、発行されたキャッシュの要求に応じて前記揮発性のメモリにキャッシュすべき管理情報を含むすべての管理情報を前記不揮発性のメモリにキャッシュすることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記ジョブ処理の状態が正常でない状態は、所定のジャムが発生している状態と、所定のジョブの転送エラーが発生している状態とを含むことを特徴とする請求項３または４記載の画像処理装置。
【請求項６】
前記不揮発性のメモリは、フラッシュメモリであることを特徴とする請求項１記載の画像処理装置。
【請求項７】
ジョブ処理の要求に伴うプロセスをスケジュールして実行する画像処理装置の制御方法であって、
前記ジョブ処理で管理すべき管理情報のバックアップを要求するプロセスを検出する検出工程と、
データバックアップを要求するプロセスを検出した場合、バックアップが要求された管理情報のデータ量に基づいて、当該データバックアップが要求された管理情報をキャッシュすべきキャッシュ先を揮発性のメモリまたは不揮発性のメモリに設定する設定工程と、
設定されたキャッシュ先に管理情報をキャッシュするキャッシュ工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項８】
請求項７に記載の画像処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ処理に伴う管理情報をキャッシュするメモリを備える画像処理装置、画像処理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）などの画像処理システムには、課金情報やデータ送信のための宛先情報などのバックアップが必要なデータに関して、バックアップ用メモリデバイスとしてＳＲＡＭとバッテリーを使用したバックアップ回路が用意されている。
一方、最近のＭＦＰでは制御用プログラムや画像データの記憶手段として大容量のＦＬＡＳＨメモリが使われるようになってきている。
また、特許文献１によれば、ＦＬＡＳＨメモリにシステム制御用のプログラムを記憶させ、ＳＲＡＭに操作パネルの設定を記憶させることにより、ＭＦＰの機能を実現している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１-０９６０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、先行技術によれば複数のメモリデバイスで様々なデータを記憶することになり、システムが煩雑・かつコストアップ要因となっている。
【０００５】
従来、電源オフ時にも不揮発な状態で記憶したい情報をＳＲＡＭに保持していたが、同じ不揮発デバイスであるＦＬＡＳＨメモリに移してデバイスを統合した新しいコントローラ構成が考えられている。
【０００６】
一方で、ＳＡＴＡ−ＦＬＡＳＨとＳＲＡＭでは、アクセスサイズが違うため、従来のＳＲＡＭデバイスＩ／Ｆを用いたソフトによるデータアクセスではパフォーマンスダウンすることが考えられる。
具体的には、ＳＲＡＭへのアクセスはデバイスの特性上、１Ｂｙｔｅ単位でアクセスすることが可能である。一方、ＦＬＡＳＨメモリに関しては、数ｋＢｙｔｅ単位でしかアクセスすることができない。
【０００７】
従って、ＦＬＡＳＨメモリへ記憶させたいデータサイズが小さなものであった場合、ダミーデータのアクセスを大量に行うことになり、データ処理のパフォーマンスが低下する。それを回避する方法としては、ＦＬＡＳＨメモリへ直接データアクセスを行わず、ＤＤＲ２など、揮発性の高速なメモリにキャッシュして、更新データが所定量に達した時点でＦＬＡＳＨメモリへ一括でアクセスする制御方法を考えられている。
しかしながら、キャッシュ先に揮発性のデバイスを用いた場合、予期せぬ電源断発生時にキャッシュしていたデータが消失してしまうという課題がある。
【０００８】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、ジョブ処理に伴う管理情報のデータ量に適応するメモリを使用してキャッシュすべき管理情報を確実にバックアップできる仕組みを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明の画像処理装置は以下に示す構成を備える。
ジョブ処理の要求に伴うプロセスをスケジュールして実行する画像処理装置であって、前記ジョブ処理で管理すべき管理情報のバックアップを要求するプロセスを検出する検出手段と、データバックアップを要求するプロセスを検出した場合、バックアップが要求された管理情報のデータ量に基づいて、当該データバックアップが要求された管理情報をキャッシュすべきキャッシュ先を揮発性のメモリまたは不揮発性のメモリに設定する設定手段と、設定されたキャッシュ先に管理情報をキャッシュするキャッシュ手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ジジョブ処理に伴う管理情報のデータ量に適応するメモリを使用してキャッシュすべき管理情報を確実にバックアップできる。
【図面の簡単な説明】
【００１１】
【図１】画像処理装置の構成を説明するブロック図である。
【図２】図１に示したシステムコントローラのソフトウェアの構成概略を示す図である。
【図３】ＦＬＡＳＨメモリに格納されるバックアップデータの構成を示す図である。
【図４】画像処理装置の制御方法を説明するフローチャートである。
【図５】画像処理装置の制御方法を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示す画像処理装置の構成を説明するブロック図である。本例では、スキャン機能処理、プリント機能処理、データ通信機能処理、コピー機能処理、ボックス機能処理等の複合機能処理を行うＭＦＰを例とする。もちろん、シングル機能処理の印刷装置等に本発明を適用することは可能である。なお、本実施形態に示す画像処理装置は、ジョブ処理の要求に伴うプロセスをスケジュールして実行する構成を備える。詳細は、図２において説明する。
【００１３】
図１において、２００はシステム全体の制御を行うシステム制御部である。２０１は画像データを読み取るスキャナ部である。２０２はシステム制御部によって画像処理され、出力されてきた画像データを記録媒体に記録するプリンタ部である。以下、それぞれの内部構成について説明する。
最初にシステム制御部２００の内部構成について説明する。
２０３は画像データを処理するシステムコントローラであり、以下に示す各構成要素と汎用Ｉ／Ｆもしくは独自のＩ／Ｆで接続される。２１２は電源供給部であり、システム制御部２００内に常夜系電源と非常夜系電源を供給する。メインＳＷ２１１は電源供給部を起動するＳＷである。２０４はサブコントローラであり、ＭＦＰで処理する画像処理等を制御するコントローラである。
２０５は不揮発性のメモリで構成されるＦＬＡＳＨメモリ（フラッシュメモリ）であり、ユーザープログラムやカウンタ情報など電源供給部２１２がオフ状態になってもシステム制御部２００で必要となる情報を保持しておくためのものである。２０６は操作部であり、ユーザーからの操作を受け付けたり、ユーザに対してシステムの状態や情報などの表示を行う。２０７は揮発性のメモリで構成されるワークメモリであり、システムコントローラの作業領域や画像データを一時的に保持するためのものである。
２０８は外部Ｉ／Ｆ部であり、汎用Ｉ／ＦであるＬＡＮなどのネットワーク環境に接続された際に本システムとネットワーク環境間でのデータの送受信を行うものである。
次にスキャナ部の内部構成は以下の通りである。
【００１４】
スキャナエンジン部２１４は、原稿を読み取り、電気信号に変換された画像データを生成する。スキャナコントローラ２１５は、システム制御部２００内のシステムコントローラ２０３と独自Ｉ／ＦであるコマンドＢｕｓ及びＶｉｄｅｏＢｕｓを介して接続され、画像データの送信や、システムコントローラ２０３とのコマンド通信を行う。なお、２０９はＳＲＡＭで、従来、システム管理情報を記憶するメモリとして設けられていたが、当該システム管理情報をＦＬＡＳＨメモリ２０５に記憶して管理するため、本システムの構成から外れたメモリを仮想的に示す。したがって、本実施形態では、ＦＬＡＳＨメモリ２０５で後述する制御手順に従いシステム管理情報が管理される。
最後にプリンタ部２０２の内部構成について説明する。
【００１５】
プリンタコントローラ２１６は、システム制御部２００内のシステムコントローラ２０３と独自Ｉ／ＦであるコマンドＢｕｓ及びＶｉｄｅｏＢｕｓを介して接続され、画像データの受信や、システムコントローラ２０３とコマンド通信を行う。２１７はプリンタエンジン部であり、システム制御部２００からプリンタコントローラ２１６に送信されてきた画像データを記録媒体へ記録する。
本実施形態に示すＭＦＰを用いて様々な画像処理を実現することが可能であるが、その処理例にとしてコピー機能処理、プリント機能処理、スキャン転送機能処理（以下ＳＥＮＤ機能処理と称する）について簡単に説明する。
【００１６】
まず、コピー機能動作について説明する。
最初にスキャナ部２０１は、スキャナエンジン部２１４に設けられた不図示の原稿台に置かれた原稿を電気的に読み取る。スキャナコントローラ２１５でＡ／Ｄ変換及び補正処理を実施してＶｉｄｅｏＢｕｓ経由でシステム制御部のシステムコントローラ２０３に転送する。ここで、転送された画像データは、一旦ワークメモリ２０７に記憶され、サブコントローラ２０４にて所定の画像処理・画像圧縮を施した後、ＦＬＡＳＨメモリ２０５の画像領域に記憶される。
【００１７】
次にプリンタ部２０２とシステム制御部２００がコマンドＢｕｓを介して通信を行い、プリンタ部２０２の動きに同期してシステム制御部２００はＦＬＡＳＨメモリ２０５から圧縮された画像データをワークメモリ２０７へと読み出す。読み出した画像データは、サブコントローラ２０４にて伸張処理を行った後、ワークメモリ２０７へ書き戻して画像データをプリンタ部２０２へ転送する。プリンタ部２０２は、プリンタコントローラ２１６で転送された画像データを記録信号へと変換し記録媒体へ記録を行う。
【００１８】
次にプリント機能処理の動作について説明する。
ＭＦＰ１００はＰＣ等の外部機器から送られてくるプリントデータを外部Ｉ／Ｆ部２０８を介して受信し、ワークメモリ２０７に記憶する。システムコントローラ２０３は前述のプリントデータを解析し、画像データに展開した後、ワークメモリ２０７に記憶する。その後、サブコントローラ２０４にて所定の画像処理・圧縮を施した後、ＦＬＡＳＨメモリ２０５に記憶する。記憶された画像データをプリントさせる動作はコピー動作と同様な手順で行う。
【００１９】
最後にＳＥＮＤ機能処理の動作について説明する。
画像の読み取りについてはコピー動作と同様な手順で読み取り・画像処理・圧縮動作を行い、ＦＬＡＳＨメモリ２０５に記憶する。次に、システムコントローラは操作部２０６にて登録された宛先の外部機器に対して、外部Ｉ／Ｆ部２０８を介して、通信を行いつつ、ＦＬＡＳＨメモリからワークメモリ２０７へ画像データを読み出し、ネゴシエーションが確立できたら、画像データを外部機器に対して送信する。
【００２０】
前述のハードウェアの制御のうちシステム制御部２００の動作についてはＦＬＡＳＨメモリ２０５上に記憶されているソフトウェアによって一連の制御が実行されている。
【００２１】
図２は、図１に示したシステムコントローラ２０３のソフトウェアの構成概略を示す図である。本実施形態では、プロセススケジューラ３０４がジョブ処理で管理すべき管理情報のバックアップを要求するプロセスを検出する。そして、データバックアップを要求するプロセスを検出した場合、バックアップが要求された管理情報のデータ量に基づいて、当該データバックアップが要求された管理情報をキャッシュすべきキャッシュ先を揮発性のメモリ（ワークメモリ２０７）または不揮発性のメモリ（ＦＬＡＳＨメモリ２０５）に設定する（図４、図５参照）。
図２において、３０１はオペレーティングシステム（以下ＯＳと称す）層であり、ＵＩやハードウェアの入出力機能、ディスクやメモリの管理といった、コピー、プリント、ＳＥＮＤなどのＭＦＰの機能を提供する複数のアプリケーションソフト群３０２から共通して利用される基本的な機能を提供し、システム全体を管理するソフトウェアである。ＯＳ層はカーネル３０３、プロセススケジューラ３０４、デバイスドライバ３０５などから構成される。
【００２２】
カーネル３０３は、ＯＳの基本機能を実装したソフトウェアである。ＯＳの中核部分として、ＭＦＰを制御する各種アプリケーションソフトや周辺機器の監視、ディスクやメモリなどの資源の管理、割りこみ処理、プロセス間通信などの機能を提供する。
プロセススケジューラ３０４は、あらかじめ決められたスケジュールに従って前記処理を自動実行する機能である。
【００２３】
デバイスドライバ３０５は、システム内部に装着された装置や、外部に接続した機器を制御・操作するためのソフトウェアである。ＯＳ３０１はこうした機器を制御するための橋渡しを行なうもので、アプリケーションソフト群３０２が直接操作することは基本的にはない。
【００２４】
次に、プロセススケジューラ３０４の動作について説明する。プロセススケジューラ３０４は、多くの実行可能プロセスから応答性能とスループットを考慮しながら動作させるプロセスを選ぶ。その際に、多くのプロセスが同時に動作する環境でも、必ずすべてのプロセスに実行権が割り当てられるように公平性を保つことも配慮する。
【００２５】
通常は、すべてのプロセスが時分割で動作し、一部のプロセスだけが長時間実行権を握ってしまい、スケジューリング対象から漏れてしまうプロセスが発生しないように、すべてのプロセスへ公平に実行権を与えるようにする。 
【００２６】
具体的には、実行可能状態になったプロセスに実行割り当て時間（タイムスライス）を与える。実行権を与えられたプロセスは、そのプロセスの実行割り当て時間が残っている間は、実行権を持ち続ける。実行割り当て時間を使い切ったプロセスは、ほかのプロセスに実行権を明け渡し、再度実行割り当て時間を割り当てられるまでスケジューリングの対象から外れる。新たに実行割り当て時間が与えられるのは、カーネル上に実行割り当て時間が残っている実行待ちプロセスがいなくなったときである。この仕組みによって、どんなに実行優先度の低いプロセスであっても、必ずＣＰＵ上での実行権が回ってくることが保証される。
【００２７】
ＭＦＰではコピー、スキャン、プリントなどの各動作（以下ジョブと称する）に基づき、各種データのバックアップを行う。データバックアップの処理もＭＦＰの１アプリケーションソフトとして提供されており、プロセススケジューラ３０４によってＣＰＵ上での実行が管理されている。
【００２８】
図３は、図１に示したＦＬＡＳＨメモリ２０５に格納されるバックアップデータの構成を説明する図である。本実施形態では、バックアップデータをシステム管理情報とする場合を示す。
図３において、４０１はカウンタ情報領域であり、ＭＦＰ１００の動作に応じて、課金を行うための種々のカウンタ情報やメンテナンスに必要なカウンタ情報などをバックアップするための領域である。ソフトウェアが領域を識別するためのＩＤ番号として０〜９９が割り当てられている。
【００２９】
４０２は送信ジョブ管理情報（ＳＥＮＤジョブ管理情報）であり、ＳＥＮＤジョブで使用する外部機器の宛先や名前などのアドレス情報・画像情報をバックアップする領域である。ソフトウェアが領域を識別するためのＩＤ番号として１００〜１９９が割り当てられている。
【００３０】
４０３は受信ジョブ管理情報であり、外部機器からのデータ受信で使用するアドレス情報をバックアップする領域である。ソフトウェアが領域を識別するためのＩＤ番号として２００〜２９９が割り当てられている。
【００３１】
４０４はＦＡＸジョブ管理領域であり、電源の瞬断など予期せぬ電源断時が発生したときにＦＡＸジョブのリカバリを可能にするためのバックアップ領域である。ソフトウェアが領域を識別するためのＩＤ番号として３００〜３９９が割り当てられている。
４０５は画像補正情報であり、画像データのキャリブレーション情報をバックアップする領域である。ソフトウェアが領域を識別するためのＩＤ番号として４００〜４９９が割り当てられている。
【００３２】
４０６はＬｏｇ情報であり、ＭＦＰの動作履歴を各アプリケーションソフト毎にバックアップするための領域である。ソフトウェアが領域を識別するためのＩＤ番号として５００〜５９９が割り当てられている。
【００３３】
前述のようにデータバックアップをする情報としては、コピー・プリントに比べ、送信ジョブ管理情報をバックアップするため、ＳＥＮＤジョブの方が多くなる。従って、プロセススケジューラ３０４に対して、ＳＥＮＤジョブに関するデータバックアップがプロセススケジューラの与える実行割り当て時間内に終了しないケースや、次回の実行権割り当てを待たされることにより、コピーやプリントジョブに対して極端にパフォーマンスが落ちないように制御する必要がある。
ＭＦＰの各ジョブが発生すると、所定のタイミングでデータバックアップ処理が実行される。
図４は、本実施形態を示す画像処理装置の制御方法を説明するフローチャートである。本例は、画像処理装置におけるデータバックアップ処理例である。なお、各ステップは、図１に示したシステムコントローラ２０３がＲＯＭ等の不揮発性メモリに記憶された制御プログラムを実行することにより実現される。以下の説明では、システムコントローラ２０３が実行するプログラムを主体として説明する。以下、データバックアップ処理に伴い実行されるイベントが発行された際に、キャッシュするメモリ先を当該要求されるデータサイズの情報に従いワークメモリ２０７とＦＬＡＳＨメモリ２０５とのいずれかに切り替える制御について詳述する。
【００３４】
まず、Ｓ５００で、ジョブ実行中のアプリケーションソフト群３０２のいずれかがデータバックアップ処理の呼び出しを行う。呼び出されたデータバックアップ処理は、Ｓ５０１でシステムコールし、ＯＳ３０１にデータバックアップ処理を依頼する。システムコールする際に、アプリケーションソフト群３０２は、バックアップしたいデータの種類としてＩＤ番号とデータサイズをＯＳ３０１へ情報として渡す。
Ｓ５０２で、ＯＳ３０１は、渡されたデータサイズの情報に基づき、バックアップデータをＦＬＡＳＨメモリ２０５に直接書き込むか、それともワークメモリに一時的にキャッシュするかを決定する。ここで、所定のサイズより大きいとＯＳ３０１が判断した場合は、Ｓ５０３に進み、そうでないと判断した場合は、Ｓ５０４に進む。
Ｓ５０３で、ＯＳ３０１は、デバイスドライバ３０５のＦＬＡＳＨメモリ用書き込み処理プロセスをプロセススケジューラにキューイングするように設定する。そして、Ｓ５０４では、ＯＳ３０１はデバイスドライバ３０５のワークメモリ用書き込み処理プロセスをプロセススケジューラにキューイングするように設定して、Ｓ５０７へ進む。
【００３５】
Ｓ５０５では、ＯＳ３０１がデータバックアップ処理の依頼を受けたら、渡されたＩＤ番号を見て何の情報のバックアップかを判断する。ここで、ＩＤ番号が４０２のＳＥＮＤジョブ管理情報であるとＯＳ３０１が判断した場合には、Ｓ５０６に進む。そして、Ｓ５０６で、プロセススケジューラ３０４は依頼された処理を最優先プロセスとして予め登録されているプロセスよりも優先して処理されるようにキューイングを行う。
一方、Ｓ５０５で、ＩＤ番号がそれ以外のデータであるとＯＳ３０１が判断した場合には、Ｓ５０７に進み、通常プロセスとしてキューイングを行う。また、通常プロセスでキューイングされる場合は、予めプロセススケジューラ３０４に登録されている順番にキューイングを行う。
【００３６】
プロセススケジューラ３０４によってデータバックアップの実行権が付与されると、Ｓ５０８で、デバイスドライバ３０５はＦＬＡＳＨメモリ２０５またはワークメモリのキャッシュ領域にデータ書き込みを行う。つまり、プロセススケジューラ３０４は、設定されたキャッシュ先に管理情報をキャッシュする。
【００３７】
ＯＳ３０１は、データ書き込み終了後、Ｓ５０９でワークメモリのキャッシュ領域に書き込まれているデータの容量がＦＬＡＳＨメモリ２０５のアクセス単位分に達している（以降キャッシュＦＵＬＬと称す）か、を確認する。ここで、キャッシュＦＵＬＬである場合は、その情報をデータ処理プログラムに返す。データバックアップ処理はキャッシュＦＵＬＬ情報を受け取ると、キャッシュフラッシュ処理を行うアプリケーションプログラムに対してのイベントを発行して終了する。
【００３８】
また、イベントを発行されたキャッシュフラッシュ処理はデータバックアップ処理同様にプロセススケジューラ３０４にキャッシュフラッシュの処理をキューイングしてワークメモリからＦＬＡＳＨメモリ２０５へデータを移動する。キャッシュフラッシュ処理は予期せぬ電源断によるデータ消失を防ぐため、やはり優先アクセスとしてキューイングされ、優先的に実行される。
以上のような制御を行うことによって、データバックアップ処理について最適な処理時間でできるようになり、かつ電源断時のデータ消失のリスクを低減することが可能となる。
〔第２実施形態〕
【００３９】
上述したＭＦＰ１００においては、コピー・ＳＥＮＤなどのジョブ実行中にジャムやエラーが発生することもある。その状況では、ＭＦＰ１００の通常動作は行われないため、データバックアップ処理もパフォーマンスは要求されない。むしろその場合、ユーザがジャムやエラーのリカバリ処理を行うので、いきなり電源を切られたり、ソフトウェアのシャットダウン処理がうまく動作せず、ハードタイマによるタイムアウトの結果、予期せぬ電源断が発生する可能性が通常より高くなる。
従って、データバックアップ処理もＭＦＰがジャムまたはエラー状態か通常状態なのかを判断できる情報を追加して、エラー時に電源断消失のリスクをより低減させるように制御するように構成してもよい。以下、その実施形態について説明する。
【００４０】
図５は、本実施形態を示す画像処理装置の制御方法を説明するフローチャートである。本例は、画像処理装置におけるデータバックアップ処理例である。なお、各ステップは、図１に示したシステムコントローラ２０３がＲＯＭ等の不揮発性メモリに記憶された制御プログラムを実行することにより実現される。以下の説明では、システムコントローラ２０３が実行するプログラムを主体として説明する。また、本実施形態では、プロセススケジューラ３０４がデータバックアップを要求するプロセスのＩＤが優先アクセスすべき所定のＩＤであるかどうかを判断する。ここで、データバックアップを要求するプロセスのＩＤが優先アクセスすべき所定のＩＤであると判断した場合、不揮発性のメモリ（ＦＬＡＳＨメモリ２０５）に対する管理情報の書き込みプロセスを他のプロセスよりも優先実行するようにスケジュールする制御例を説明する。なお、ここで、ＩＤとは、図３に示したＩＤに対応する情報である。
また、本実施形態では、ジョブ処理の状態が正常でない状態に遷移していることを検知した場合、管理すべき管理情報をＦＬＡＳＨメモリ２０５にキャッシュする要求を発行する。そして、発行されたキャッシュの要求に応じて揮発性のメモリにキャッシュすべき管理情報をＦＬＡＳＨメモリ２０５にキャッシュする例を説明する。さらに、発行されたキャッシュの要求に応じて揮発性のメモリにキャッシュすべき管理情報を含むすべての管理情報をＦＬＡＳＨメモリ２０５にキャッシュする例を説明する。
まず、Ｓ６００で、ジョブ実行中のアプリケーションソフト群３０２のいずれかがデータバックアップ処理の呼び出しを行う。呼び出されたデータバックアップ処理は、Ｓ６０１でシステムコールし、ＯＳ３０１にデータバックアップ処理を依頼する。システムコールする際に、アプリケーションソフト群３０２は、バックアップしたいデータの種類としてＩＤ番号とデータサイズ、ＭＦＰがジャムｏｒエラーなのか通常状態なのかを示すステータス情報をＯＳ３０１への情報として渡す。
【００４１】
Ｓ６０２で、ＯＳ３０１はステータス情報に基づき、ワークメモリにキャッシュされているバックアップデータをフラッシュするかどうかを判定する。ここで、ＯＳ３０１がジャムｏｒエラー状態であると判断した場合には、Ｓ６０３に進み、通常状態ではＳ６０４に進む。なお、本実施形態では、ジョブ処理の状態が正常でない状態は、所定のジャムが発生している状態と、所定のジョブの転送エラーが発生している状態とを想定している例を示すが、これに限定されるものではない。
【００４２】
Ｓ６０３では、ＭＦＰ１００のステータスがジャムｏｒエラーとなっているため、ＯＳ３０１はキャッシュフラッシュするために、キャッシュフラッシュ処理を行うアプリケーションプログラムに対してのイベントを発行する。
また、アプリケーションプログラムから要求されたデータバックアップ処理も電源断してデータ消失しないように、キャッシュせず無条件にＦＬＡＳＨに書きこむ必要があるため、Ｓ６０５に進む。
【００４３】
イベントが発行されたキャッシュフラッシュ処理は、データバックアップ処理同様にプロセススケジューラ３０４にキャッシュフラッシュの処理をキューイングしてワークメモリからＦＬＡＳＨメモリ２０５へデータを移動する。キャッシュフラッシュ処理は、予期せぬ電源断によるデータ消失を防ぐため、やはり優先アクセスとしてキューイングされ、優先的に実行される。
【００４４】
Ｓ６０４では、ＯＳ３０１はＳ６０２で渡されたデータサイズの情報に基づき、バックアップデータをＦＬＡＳＨメモリに直接書き込むかワークメモリに一時的にキャッシュするかを判断する。ここで、渡されたデータサイズが所定のサイズより大きいためにキャッシュしないと判断した場合は、Ｓ６０５に進み、渡されたデータサイズが所定のサイズより小さいためにキャッシュすると判断した場合は、Ｓ６０６に進む。
Ｓ６０５で、ＯＳ３０１はデバイスドライバ３０５のＦＬＡＳＨメモリ用書き込み処理プロセスをプロセススケジューラにキューイングするように設定する。Ｓ６０６ではＯＳ３０１はデバイスドライバ３０５のワークメモリ用書き込み処理プロセスをプロセススケジューラにキューイングするように設定する。
【００４５】
Ｓ６０７で、ＯＳ３０１はデータバックアップ処理の依頼を受けたら、渡されたＩＤ番号を見て何の情報のバックアップかを判断する。ここで、ＩＤ番号が４０２のＳＥＮＤジョブ管理情報であるとＯＳ３０１が判断した場合には、Ｓ６０８に進む。
そして、Ｓ６０８は、プロセススケジューラ３０４は依頼された処理を最優先プロセスとして予め登録されているプロセスよりも優先して処理されるようにキューイングを行う。
【００４６】
一方、Ｓ６０７で、ＩＤ番号がそれ以外のデータであるとＯＳ３０１が判断した場合には、Ｓ６０９に進み、通常プロセスとしてキューイングを行う。通常プロセスでキューイングされる場合は、予めプロセススケジューラ３０４に登録されている順番にキューイングを行う。
【００４７】
プロセススケジューラ３０４によってデータバックアップの実行権が付与されると、Ｓ６１０で、デバイスドライバ３０５はＦＬＡＳＨメモリまたはワークメモリのキャッシュ領域にデータ書き込みを行う。なお、本実施形態では、Ｓ６１０において、ジョブ処理の状態が正常でない状態に遷移していることを検知した場合、管理すべき管理情報をＦＬＡＳＨメモリ２０５にキャッシュする要求を発行する。そして、発行されたキャッシュの要求に応じて揮発性のメモリにキャッシュすべき管理情報をＦＬＡＳＨメモリ２０５にキャッシュする場合と、発行されたキャッシュの要求に応じて揮発性のメモリにキャッシュすべき管理情報を含むすべての管理情報をＦＬＡＳＨメモリ２０５にキャッシュする場合とが含まれる。
【００４８】
ＯＳ３０１は、データ書き込み終了後、Ｓ６１１で、ワークメモリのキャッシュ領域に書きこまれているデータの容量がＦＬＡＳＨメモリのアクセス単位分に達している（以降キャッシュＦＵＬＬと称す）か、を確認する。キャッシュＦＵＬＬである場合は、その情報をデータ処理プログラムに返す。データバックアップ処理はキャッシュＦＵＬＬ情報を受け取ると、キャッシュフラッシュ処理を行うアプリケーションプログラムに対してのイベントを発行して終了する。
【００４９】
また、イベントを発行されたキャッシュフラッシュ処理はデータバックアップ処理同様にプロセススケジューラ３０４にキャッシュフラッシュの処理をキューイングしてワークメモリからＦＬＡＳＨメモリへデータを移動する。キャッシュフラッシュ処理は予期せぬ電源断によるデータ消失を防ぐため、やはり優先アクセスとしてキューイングされ、優先的に実行される。
【００５０】
ＭＦＰ１００のステータスはエラー・ジャム発生した場合は、その状態が改善され通常状態にもどるまでは、ステータスが変わることはない。従って、エラー・ジャム時に再度データバックアップ処理が要求されたとしても、データサイズによらず必ずデータのキャッシュは行わず、ＦＬＡＳＨへ直接アクセスする。
以上のような制御を行うことによって、データバックアップ処理についてエラー・ジャム時の電源断時のデータ消失のリスクをさらに低減することが可能となる。
【００５１】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００５２】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００５３】
１０１  画像処理装置
２０３  システムコントローラ
２０５  ＦＬＡＳＨメモリ
２０７  ワークメモリ
【図１】
2014044622.tif 000003
【図２】
2014044622.tif 000004
【図３】
2014044622.tif 000005
【図４】
2014044622.tif 000006
【図５】
2014044622.tif 000007