(57)【要約】【課題】意図しない電源遮断時に、一の制御手段がデータを不揮発性メモリーに書き込む際に、他の制御手段が不揮発性メモリーに対する処理中であっても、保証データを不揮発性メモリーに保存することができる情報処理装置及情報処理装置におけるデータ管理方法を提供する。【解決手段】意図しない電源遮断が検出されると、第１システムは第２システムを停止させる（Ｓ１）。フラッシュメモリーがビジー状態であれば（Ｓ４で肯定判定）、サスペンドコマンドを発行して、第２システムの処理を中断させる（Ｓ６）。フラッシュメモリーが動作中でなくなり処理の中断が確認されると（Ｓ７で否定判定）、第１システムは保証データを書き込む（Ｓ８）。【選択図】図３
2012173909.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリーと、
前記不揮発性メモリーに対するデータの書込みと消去の処理を行う複数の制御手段と、を備え、前記複数の制御手段のうち一の制御手段が電源遮断検出時に当該電源遮断後の次の電源投入時に使用するための保証データを不揮発性メモリーに書き込む処理を行うとともに、電源遮断検出時に他の制御手段による保証データの不揮発性メモリーへの書き込み処理が行われない情報処理装置におけるデータ記憶制御方法であって、
情報処理装置の電源が遮断されたことを検出する電源遮断検出ステップと、
前記電源遮断検出時に、前記不揮発性メモリーに対する前記他の制御手段の処理を停止させる停止ステップと、
前記他の制御手段の処理により指示された前記不揮発性メモリーの動作を中断させる中断ステップと、
前記中断ステップの後に前記一の制御手段が前記保証データを前記不揮発性メモリーに書き込む書込みステップと、
を備えたことを特徴とする情報処理装置におけるデータ記憶処理方法。
【請求項２】
前記停止ステップと前記中断ステップとの間に、前記不揮発性メモリーが動作中であるか否かを判定する動作判定ステップを更に備え、
前記動作判定ステップで動作中と判定された場合に、前記待機ステップを開始し、一方、動作中でないと判定された場合は前記中断ステップを行うことなく、前記書込みステップを行うことを特徴とする請求項１に記載の情報処理装置におけるデータ記憶処理方法。
【請求項３】
前記動作判定ステップと前記中断ステップとの間に、前記他の制御手段による前記不揮発性メモリーに対する書込み処理を終えるまで待機する待機ステップを、更に備え、前記待機ステップの後に前記中断ステップを開始することを特徴とする請求項２に記載の情報処理装置におけるデータ記憶処理方法。
【請求項４】
前記停止ステップと前記中断ステップとの間に、前記他の制御手段による前記不揮発性メモリーに対する書込み処理を終えるまで待機する待機ステップを、更に備え、前記待機ステップの後に前記中断ステップを開始することを特徴とする請求項１に記載の情報処理装置におけるデータ記憶処理方法。
【請求項５】
前記停止ステップと前記書込みステップとの間に、前記不揮発性メモリーのチップセレクトを解除する解除ステップを、更に備えたことを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置におけるデータ記憶処理方法。
【請求項６】
前記中断ステップの後に、前記不揮発性メモリーの動作が中断されたか否かを判断する中断確認ステップを更に備え、
前記中断確認ステップで中断されたと判断されると、前記書込みステップを開始することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置におけるデータ記憶処理方法。
【請求項７】
前記電源遮断検出ステップは、前記一の制御手段が電源遮断を検出することにより行われ、前記停止ステップは、前記一の制御手段が前記他の制御手段に処理の停止を指示することにより行われることを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置におけるデータ記憶処理方法。
【請求項８】
前記書込みステップの後に、前記中断ステップで中断した処理の続きを開始する再開ステップを、更に備えたことを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置におけるデータ記憶処理方法。
【請求項９】
不揮発性メモリーと、
前記不揮発性メモリーに対するデータの書込みと消去の処理を行う複数の制御手段と、を備え、前記複数の制御手段のうち一の制御手段が電源遮断検出時に当該電源遮断後の次の電源投入時に使用するための保証データを不揮発性メモリーに書き込む処理を行うとともに、電源遮断検出時に他の制御手段による保証データの不揮発性メモリーへの書き込み処理が行われない情報処理装置であって、
情報処理装置の電源が遮断されたことを検出する電源遮断検出手段と、
前記電源遮断検出時に、前記不揮発性メモリーに対する前記他の制御手段の処理を停止させる停止手段と、
前記他の制御手段の処理により指示された前記不揮発性メモリーの動作を中断させる中断手段と、
前記中断手段による前記動作の中断の後、前記一の制御手段が前記保証データを前記不揮発性メモリーに書き込む書込手段と、
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御手段が同一の不揮発性メモリーにデータを書き込む構成であり、特に電源遮断時に一の制御手段が次回起動したときに使用するためのデータ（保証データ）を、不揮発性メモリーに書き込む処理を行う情報処理装置におけるデータ記憶処理方法及び情報処理装置に関する。
【背景技術】
【０００２】
例えばフラッシュメモリー等の不揮発性メモリーを備えた情報処理装置では、前回の電源オフ（電源遮断）時に不揮発性メモリーに書き込んだデータを、次の電源オン（電源投入）時に不揮発性メモリーから読み出して使用する。そして、情報処理装置の稼動中に更新などされたデータを、電源オフ時に不揮発性メモリーに書き込む。例えば特許文献１、２には、電源オフ時に不揮発性メモリーにこの種の更新データの１つとしてインクカートリッジの消耗情報（インク残量データ）を書き込む印刷装置（プリンター）などの情報処理装置が開示されている。
【０００３】
ところで、フラッシュメモリーなどの不揮発性メモリーの記憶領域は、所定記憶容量を有する複数のブロックに分割されており、ブロック１つ分がデータ消去の最小単位となっている。また、フラッシュメモリーを構成する記憶素子の構成上、ブロックをデータ消去により初期状態にした後でないと、任意データを書き込むことができない。このため、更新データを同じブロックに書き込むときには、旧いデータを消去する必要がある。しかし、消去処理は、書込処理や読出処理に比べ長時間を要する（例えば特許文献３）。
【０００４】
また、複合機などの情報処理装置では、複数（例えば２個）のＣＰＵを備えるものが知られている（例えば特許文献４）。さらに特許文献５には、複数のＣＰＵが不揮発性メモリーを共有する構成が開示されている。例えば情報処理装置において、複数のＣＰＵ（制御手段）が、消去処理が必要なフラッシュメモリー等の不揮発性メモリーにアクセスする情報処理装置において、電源遮断時に、一つ（メイン）のＣＰＵが更新データを不揮発性メモリーに書き込む構成が考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−９８６１８号公報
【特許文献２】特開２００１−３１５３２３号公報
【特許文献３】特開２０００−２２２２９２号公報
【特許文献４】特開２０１１−３０６０号公報
【特許文献５】国際公開２００６／１０９５３０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、複数のＣＰＵがフラッシュメモリー等の不揮発性メモリーにアクセスして書込処理や消去処理を行う情報処理装置では、電源遮断時に一のＣＰＵが次回電源オン時に保証されるべきデータ（保証データ）を不揮発性メモリーに書き込もうとした際に、他のＣＰＵが不揮発性メモリーに対して処理中の場合がある。この場合、一のＣＰＵはデータを書き込む処理を行うことができず、他のＣＰＵが処理を終えるまで待たなければならない。しかし、停電やコンセント抜け等の意図しない電源遮断が発生した場合、二次電池の電力が極短時間（例えば１００ミリ秒〜１秒未満の範囲内の値）しか保持されないので、一のＣＰＵがデータを保存できずに情報処理装置の電源が遮断されてしまうという問題があった。この場合、次の電源オン時に情報処理装置は、最新のデータを使用することができず、旧いデータを使用することになる。例えばプリンターの場合、次の電源オン以降のインク残量のデータが間違ったものとなり、インク残量がデータ上はあると認識しているため、印刷が開始されるが、その印刷途中でインク切れが発生するなどの問題が発生する。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、その目的の一つは、意図しない電源遮断時に、一の制御手段が保証データを不揮発性メモリーに書き込む際に、他の制御手段が不揮発性メモリーに対する処理中であっても、保証データを不揮発性メモリーに保存することができる情報処理装置におけるデータ記憶処理方法及び情報処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的の一つを達成するために、本発明の態様の一つは、不揮発性メモリーと、前記不揮発性メモリーに対するデータの書込みと消去の処理を行う複数の制御手段と、を備え、前記複数の制御手段のうち一の制御手段が電源遮断検出時に当該電源遮断後の次の電源投入時に使用するための保証データを不揮発性メモリーに書き込む処理を行うとともに、電源遮断検出時に他の制御手段による保証データの不揮発性メモリーへの書き込み処理が行われない情報処理装置におけるデータ記憶制御方法であって、情報処理装置の電源が遮断されたことを検出する電源遮断検出ステップと、前記電源遮断検出時に、前記不揮発性メモリーに対する前記他の制御手段の処理を停止させる停止ステップと、前記他の制御手段の処理により指示された前記不揮発性メモリーの動作を中断させる中断ステップと、前記中断ステップの後に前記一の制御手段が前記保証データを前記不揮発性メモリーに書き込む書込みステップと、を備えたことを要旨とする。
【０００９】
本発明の一実施態様によれば、電源遮断検出ステップで情報処理装置の電源の遮断が検出されると、この電源遮断検出時には停止ステップが開始され、不揮発性メモリーに対する他の制御手段の処理中の処理が停止される。さらに中断ステップにおいて、他の制御手段の処理により指示された不揮発性メモリーの動作が中断される。書込みステップでは、一の制御手段が、他の制御手段による処理の停止及び不揮発性メモリーの動作の中断後、保証データを不揮発性メモリーに書き込む。よって、情報処理装置の電源遮断時に、他の制御手段が不揮発性メモリーに対する処理中であっても、その処理を停止させるとともにその処理により指示された不揮発性メモリーの動作を中断させて、一の制御手段が保証データを不揮発性メモリーに書き込むことができる。従って、情報処理装置の停電やコンセント抜け等の意図しない電源遮断時に、保証データが不揮発性メモリーに保存されない保存ミスの頻度を低減することができる。
【００１０】
本発明の態様の一つである情報処理装置におけるデータ記憶処理方法では、前記停止ステップと前記中断ステップとの間に、前記不揮発性メモリーが動作中であるか否かを判定する動作判定ステップを更に備え、前記動作判定ステップで動作中と判定された場合に、前記待機ステップを開始し、一方、動作中でないと判定された場合は前記中断ステップを行うことなく、前記書込みステップを行うことが好ましい。
【００１１】
本発明の一実施態様によれば、動作判定ステップで、不揮発性メモリーが動作中であるか否かが判定される。動作中と判定された場合、中断ステップが行われ、その後、書込みステップが行われる。一方、動作中でないと判定された場合は、中断ステップが行われることなく、書込みステップが行われる。よって、不揮発性メモリーが動作中であって必要な場合に限り、中断ステップを行えばよく、無駄な中断ステップの実施を回避できる。
【００１２】
本発明の態様の一つである情報処理装置におけるデータ記憶処理方法では、前記動作判定ステップと前記中断ステップとの間に、前記他の制御手段による前記不揮発性メモリーに対する書込み処理を終えるまで待機する待機ステップを、更に備え、前記待機ステップの後に前記中断ステップを開始することが好ましい。
【００１３】
本発明の一実施態様によれば、電源遮断検出（電源遮断検出ステップ）により、停止ステップが行われた後、動作判定ステップで、不揮発性メモリーが動作中であると判定された場合、待機ステップにおいて、他の制御手段による不揮発性メモリーに対する書込み処理を終えるまで待機する。この待機の後、中断ステップが行われる。このため、不揮発性メモリーによるデータの書き込みを終えてから、保証データの書込みを開始することができる。よって、他の制御手段の処理で指示されたデータの書込みができ、かつ保証データも保存できる。あるいは、処理中の書込み処理を中断させると、その後、書込みが禁止される構成の不揮発性メモリーであっても、書込み処理が中断されないので、その後、保証データを不揮発性メモリーに書き込むことができる。さらに、不揮発性メモリーが動作中であって必要な場合に限り、待機ステップ及び中断ステップを行えばよいので、無駄に待機ステップ及び中断ステップを行うことを回避できる。
【００１４】
本発明の態様の一つである情報処理装置におけるデータ記憶処理方法では、前記停止ステップと前記中断ステップとの間に、前記他の制御手段による前記不揮発性メモリーに対する書込み処理を終えるまで待機する待機ステップを、更に備え、前記待機ステップの後に前記中断ステップを開始することが好ましい。
【００１５】
本発明の一実施態様によれば、電源遮断検出（電源遮断検出ステップ）により、停止ステップが行われた後、待機ステップにおいて、他の制御手段による不揮発性メモリーに対する書込み処理を終えるまで待機する。この待機の後、中断ステップが行われる。このため、不揮発性メモリーによるデータの書き込みを終えてから、保証データの書込みを開始することができる。よって、他の制御手段の処理で指示されたデータの書込みができ、かつ保証データも保存できる。あるいは、処理中の書込み処理を中断させると、その後、書込みが禁止される構成の不揮発性メモリーであっても、書込み処理が中断されないので、その後、保証データを不揮発性メモリーに書き込むことができる。
【００１６】
本発明の態様の一つである情報処理装置におけるデータ記憶処理方法では、前記停止ステップと前記書込みステップとの間に、前記不揮発性メモリーのチップセレクトを解除する解除ステップを、更に備えていることが好ましい。
【００１７】
本発明の一実施態様によれば、停止ステップの後、解除ステップにおいて、不揮発性メモリーのチップセレクトが解除される。よって、他の制御手段の処理が書込み処理であってこの書込み処理が停止された場合でも、書込みステップにおいて、一の制御手段が保証データの書込み処理を行ったときのコマンドが、データとして不揮発性メモリーに書き込まれる事態を回避できる。
【００１８】
本発明の態様の一つである情報処理装置におけるデータ記憶処理方法では、前記中断ステップの後に、前記不揮発性メモリーの動作が中断されたか否かを判断する中断確認ステップを更に備え、前記中断確認ステップで中断されたと判断されると、前記書込みステップを開始することが好ましい。
【００１９】
本発明の一実施態様によれば、中断ステップの後、中断確認ステップで、不揮発性メモリーの動作が中断されたか否かが判断される。中断されたと判断されると、書込みステップが開始される。よって、不揮発性メモリーの動作が中断処理途中の段階で書込みステップで出した書込みの指示が中断される不都合を回避できる。従って、書込みステップにおける保証データの書込みミスを低減できる。
【００２０】
本発明の態様の一つである情報処理装置におけるデータ記憶処理方法では、前記電源遮断検出ステップは、前記一の制御手段が電源遮断を検出することにより行われ、前記停止ステップは、前記一の制御手段が前記他の制御手段に処理の停止を指示することにより行われることが好ましい。
【００２１】
本発明の一実施態様によれば、電源遮断検出ステップにおいて、電源遮断を検出した一の制御手段は、停止ステップにおいて、他の制御手段に処理の停止を指示する。よって、一の制御手段は、他の制御手段に処理の停止を指示した後に、中断ステップで不揮発性メモリーに動作の中断を指示できる。例えば、他の制御手段が電源遮断を検出して自身の処理を停止させる構成の場合、その停止タイミングと、一の制御手段による不揮発性メモリーの動作の中断タイミングとが逆転するなど双方のタイミングが不適切になる心配がある。しかし、この一実施態様では、一の制御手段が、停止ステップと中断ステップとを行うので、両ステップを適切なタイミングで行って、他の制御手段の処理の停止及び不揮発性メモリーの動作の中断を適切に行うことができる。
【００２２】
本発明の態様の一つである情報処理装置におけるデータ記憶処理方法では、前記書込みステップの後に、前記中断ステップで中断した処理の続きを開始する再開ステップを、更に備えていることが好ましい。
【００２３】
本発明の一実施態様によれば、書込みステップの後に行われる再開ステップでは、中断ステップで中断した処理の続きが開始される。よって、保証データの書込みを優先しつつ、中断した処理も行うことができる。
【００２４】
本発明の態様の一つは、不揮発性メモリーと、前記不揮発性メモリーに対するデータの書込みと消去の処理を行う複数の制御手段と、を備え、前記複数の制御手段のうち一の制御手段が電源遮断検出時に当該電源遮断後の次の電源投入時に使用するための保証データを不揮発性メモリーに書き込む処理を行うとともに、電源遮断検出時に他の制御手段による保証データの不揮発性メモリーへの書き込み処理が行われない情報処理装置であって、情報処理装置の電源が遮断されたことを検出する電源遮断検出手段と、前記電源遮断検出時に、前記不揮発性メモリーに対する前記他の制御手段の処理を停止させる停止手段と、前記他の制御手段の処理により指示された前記不揮発性メモリーの動作を中断させる中断手段と、前記中断手段による前記動作の中断の後、前記一の制御手段が前記保証データを前記不揮発性メモリーに書き込む書込手段と、を備えたことを要旨とする。本発明の一実施態様によれば、上記情報処理装置におけるデータ記憶処理方法に係る発明と同様の作用効果を得ることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明を具体化した第１実施形態における複合機の概略構成を示すブロック図。
【図２】二つのシステム（ＣＰＵ）とフラッシュメモリー装置との機能構成を示すブロック図。
【図３】電源遮断検出処理ルーチンを示すフローチャート。
【図４】（ａ）フラッシュメモリーの構造、（ｂ）データ構造を示す模式図。
【図５】第２実施形態の電源遮断検出処理ルーチンを示すフローチャート。
【発明を実施するための形態】
【００２６】
（第１実施形態）
以下、本発明を情報処理装置の一例である複合機に具体化した第１実施形態を、図１〜図４に基づいて説明する。図１に示すように、複合機１１は、装置全体の制御を司るコントローラー１２、装置内の各部に電力を供給する電源回路１３、操作部１４、表示部１５、スキャンエンジン１６、印刷エンジン１７、ファクシミリ通信部（以下、「ＦＡＸ通信部１８」という）及びネットワーク通信部１９などを備える。
【００２７】
複合機１１は、インクジェット式複合型プリンターであって、一台で、スキャン、プリント、コピーの３つの機能を備える。
スキャンエンジン１６は、複合機本体に設けられた原稿台（図示省略）にセットされた原稿の画像を読み取る光学式（ＣＣＤ方式又はＣＭＯＳ方式）のラインセンサー、ライセンサーを有する読取ヘッドを走査させる動力源のスキャンモーター及びその駆動回路等により構成される。スキャンエンジン１６は、コントローラー１２からのコマンドに従って駆動し、読取ヘッドの走査中にラインセンサーが読み取った画像信号をコントローラー１２へ出力する。コントローラー１２はスキャンエンジン１６から入力した画像信号を基に画像データを生成する。
【００２８】
印刷エンジン１７は、図示しない用紙（記録媒体）を搬送する搬送機構、搬送機構を駆動する動力源のモーター、搬送される用紙にインク滴を噴射して用紙に文書や画像等の印刷を施すインクジェット式の記録ヘッドなどにより構成される。プリンター部が例えばシリアルプリンターであれば、記録ヘッドを走査させる動力源のモーターも印刷エンジン１７に備えられる。印刷エンジン１７は、コントローラー１２から入力する画像データ及び印刷コマンドに基づいて駆動される。このとき記録ヘッドは画像データのドット（画素）に応じてインク滴を噴射する。なお、記録ヘッドは、インクジェット記録方式以外に、ドットインパクト記録方式や、トナーを用紙に定着させて印刷するレーザー記録方式でもよい。
【００２９】
複合機１１には、印刷エンジン１７を構成する記録ヘッドへインク（トナーを含む）（流体）を供給するインク供給源であるインクカートリッジ２０が装着される。インクカートリッジ２０の本体には、インク種やインク残量などの情報を記憶する記憶素子２１（メモリー付き集積回路）が実装されている。コントローラー１２は、記憶素子２１に対してデータの読み出し及び書き込みが可能になっており、例えば電源オフ時に記憶素子２１に更新されたインク残量等を含むデータを書き込む。
【００３０】
コピーの場合、コントローラー１２は、スキャンエンジン１６からの画像信号を基に生成した原稿の画像データを印刷コマンドと共に印刷エンジン１７に送る。そして、印刷エンジン１７を構成する記録ヘッドが原稿の画像データを基にインク滴を噴射し、用紙に原稿の画像を印刷（コピー印刷）する。つまり、複合機１１は、コントローラー１２がスキャンエンジン１６及び印刷エンジン１７を駆動制御し、スキャンエンジン１６で読み取った原稿の画像データを基に印刷エンジン１７に原稿の画像を印刷させることにより、原稿の「コピー」を行う。
【００３１】
スキャンの場合、複合機１１は、コントローラー１２がスキャンエンジン１６を駆動して取得した原稿のスキャンデータを、ホスト装置へ転送する。また、複合機１１は、不図示のホスト装置から受信した印刷データ、あるいはメモリーカード等の外部記憶媒体から読み込んだ画像データを基に、コントローラー１２が印刷エンジン１７を駆動制御することにより、用紙に文書や画像を印刷する。
【００３２】
また、ＦＡＸ通信部１８は不図示の電話回線に接続され、電話回線を介した着信を検出可能なリング検出部を備える。コントローラー１２は、リング検出部からのリング検出信号の入力により電話回線を介したファックスの着信があることを認知すると、ＦＡＸ通信部１８を接続状態とし、電話回線を介して送られてきたファックスデータを、ＦＡＸ通信部１８を介して受信する。このＦＡＸ通信部１８は、複合機１１からファックスデータを送信する際にも使用される。
【００３３】
ネットワーク通信部１９は、家庭内ＬＡＮや社内ＬＡＮを構築するため、あるいはインターネットに接続するためのものであり、所定の通信プロトコルに従って通信制御を行う公知の通信インターフェイスである。複合機１１は、ネットワーク通信部１９を介してネットワーク上の他の通信機器、端末やサーバーとの通信が可能になる。
【００３４】
また、図１に示すように、複合機１１には、操作部１４の１つとして電源スイッチ１４Ａが設けられている。ユーザーは電源スイッチ１４Ａを操作することにより、複合機１１の電源をオン／オフする。電源スイッチ１４Ａは電源回路１３に接続されており、電源スイッチ１４Ａがオン操作された際の電源オン信号と、オフ操作された際の電源オフ信号とが電源回路１３に入力される。電源回路１３は、電源オフ状態で電源スイッチ１４Ａが操作された際の電源オン信号を入力すると、複合機１１の電源をオンして装置内の各部に所定電圧の電力を供給し、この電源オン状態で電源スイッチ１４Ａが操作された際の電源オフ信号を入力すると、複合機１１の電源をオフして装置内の各部への電力の供給を停止する。
【００３５】
また、図１に示すように、コントローラー１２は、コンピューター２５及びリセットＩＣ２６を備えている。コンピューター２５は、コントローラー１２が行う各種制御等を司る。リセットＩＣ２６は、電源回路１３に接続されている。リセットＩＣ２６は、電源回路１３を監視し、停電やコンセント抜け（電源プラグのコンセントからの抜け）等が原因で、電源回路１３に意図しない電源遮断が発生したことを検出する。リセットＩＣ２６は、意図しない電源遮断を検出したときには、コンピューター２５にリセット信号を出力する。また、コントローラー１２には電源回路１３と共に二次電池１３Ａが接続されており、意図しない電源遮断が発生したときには、二次電池１３Ａの電力により所定時間（例えば１０ミリ秒〜１秒未満の所定値）の間だけコンピューター２５は動作状態を維持でき、必要なデータを保存する処理などを行うことが可能である。
【００３６】
コンピューター２５は、第１ＣＰＵ３１（中央処理装置）、第２ＣＰＵ３２、ＡＳＩＣ３３（Application Specific IC（特定用途向けＩＣ））、ＲＡＭ３４及び不揮発性メモリーの一例であるフラッシュメモリー装置３５を備えている。各部３１〜３５はバス３６を介して互いに接続されている。第１ＣＰＵ３１は、フラッシュメモリー装置３５に記憶されたプログラムを実行することにより、スキャンエンジン１６及び印刷エンジン１７の駆動制御、ユーザーが操作部１４を操作した際の操作信号の受付け、表示部１５に複合機１１の動作状態や操作信号などに応じた所定の表示内容を表示させる表示制御などを司る。第２ＣＰＵ３２は、フラッシュメモリー装置３５に記憶されたプログラムを実行することにより、ＦＡＸ通信部１８及びネットワーク通信部１９の制御などを司る。すなわち、本実施形態の複合機１１では、スキャン、印刷、コピーなどのメイン動作の制御は第１ＣＰＵ３１が司り、ＦＡＸ通信及びネットワーク通信などの通信系の制御は第２ＣＰＵ３２が司る。もちろん、各ＣＰＵ３１，３２が担当する制御内容等は適宜変更することができる。
【００３７】
ＡＳＩＣ３３は、複合機１１が入力した画像データ（スキャンデータを含む）を基に、記録ヘッド内のヘッド駆動回路（図示省略）が使用可能なデータ形式であるヘッド制御データを生成する画像処理を行う。ＡＳＩＣ３３が生成したヘッド制御データは１回の印刷動作分ずつ記録ヘッドへ転送される。なお、ＡＳＩＣ３３を廃止し、第１ＣＰＵ３１が画像処理を行う構成としてもよい。
【００３８】
フラッシュメモリー装置３５には、各ＣＰＵ３１，３２が実行するためのプログラム（例えばファームウェア）や各種の設定データなどが記憶されている。また、フラッシュメモリー装置３５には、電源オフ時に保存されない非保証データＮＤと、電源オフ時に次回の電源オン時に使用するために保存される保証データＡＤとが記憶される。
【００３９】
ここで、保証データＡＤには、複合機１１が印刷を行うことにより更新されるインク残量などの更新情報が含まれる。この更新情報には、インク残量の他、記録ヘッドのクリーニング回数（メンテナンス回数）、リアルタイムクロックの時刻情報などが含まれる。また、本実施形態の保証データＡＤには、更新情報以外に、メカ設定情報も含まれる。このメカ設定情報には、走査型の記録ヘッドの場合にその記録ヘッドを搭載するキャリッジの走査上の基準位置や走査速度に関する情報、搬送機構が用紙を搬送する際の基準位置や搬送速度に関する情報などが含まれる。さらに保証データＡＤには、複合機１１が印刷したテストパターンの中から最適な印刷結果であるとユーザーが判断して入力した１つのテストパターンに対応する番号を基に設定された噴射タイミング調整値なども含まれる。なお、保証データＡＤには、搬送系、ヘッド走査系、クリーニング系の各種モーター等の駆動時間や駆動回転数などの稼働履歴情報が含まれてもよい。
【００４０】
本実施形態では、フラッシュメモリー装置３５への保証データＡＤの書込みは、第１ＣＰＵ３１が行う。フラッシュメモリー装置３５に記憶されたプログラムには、図３にフローチャートで示す電源遮断検出処理ルーチンのプログラムが含まれており、第１ＣＰＵ３１は、停電やコンセント抜け等の意図しない電源遮断検出時にこのプログラムを実行することにより、保証データＡＤのフラッシュメモリー装置３５への書込みを行う。
【００４１】
一方、非保証データＮＤは、複合機１１の電源オンから電源オフまでの１回の稼動中においてのみ使用されるデータである。非保証データＮＤには、各ＣＰＵ３１，３２が、制御あるいは処理を行ううえで一時的に取得した各種情報や演算結果等のデータが含まれる。このため、非保証データＮＤは、次回の電源オン時に使用されることがないので、意図しない電源遮断検出時を除き電源オフの度、あるいは電源オンの度に消去される。
【００４２】
各ＣＰＵ３１，３２はフラッシュメモリー装置３５にアクセスしてプログラム及び各種設定データを読み出す。例えば所定のプログラムには、各ＣＰＵ３１，３２が共通に使用する共通プログラムと、第１ＣＰＵ３１専用の第１専用プログラムと、第２ＣＰＵ３２専用の第２専用プログラムとがある。すなわち、プログラムＰＲは、第１ＣＰＵ３１が実行すべき共通プログラムと第１専用プログラムとを併せた第１プログラムＰＲ１と、第２ＣＰＵ３２が実行すべき共通プログラムと第２専用のプログラムとを併せた第２プログラムＰＲ２とを含む。なお、プログラムＰＲ１には、第１ＣＰＵ３１を起動させるためのブートプログラム、ＯＳ（オペレイティング・システム）用のプログラム、第１ＣＰＵ３１が制御を担当するスキャン、印刷、コピー等の所定動作を行わせるためのファームウェアプログラムなどが含まれる。また、プログラムＰＲ２には、第２ＣＰＵ３２を起動させるためのブートプログラム、ＯＳ（オペレイティング・システム）用のプログラム、第２ＣＰＵ３２が制御を担当するＦＡＸ、ネットワーク通信等の所定動作を行わせるためのファームウェアプログラムが含まれる。
【００４３】
各ＣＰＵ３１，３２は、複合機１１の電源オン時にフラッシュメモリー装置３５からプログラムＰＲ及びデータを読み出してＲＡＭ３４に展開する。各ＣＰＵ３１，３２は複合機１１の稼動中に逐次更新されるデータ（非保証データＮＤに属するデータ）をＲＡＭ３４に書き込む。また、第１ＣＰＵ３１は、複合機１１の電源オフ時にＲＡＭ３４の最新の保証データＡＤを読み出してその保証データＡＤをフラッシュメモリー装置３５に書き込むことにより、最新の保証データＡＤを電源オフ中においても保存する。
【００４４】
次に、各ＣＰＵ３１，３２の機能構成及びフラッシュメモリー装置３５の構成を、図２を用いて説明する。
図２では、各ＣＰＵ３１，３２が例えばフラッシュメモリー装置３５から読み出した所定のプログラムを実行することにより、その内部に構築される機能部分を示している。すなわち、図２に示すように、第１プログラムＰＲ１を実行する第１ＣＰＵ３１により第１システム４０が構築され、第２プログラムＰＲ２を実行する第２ＣＰＵ３２により第２システム５０が構築される。
【００４５】
第１プログラムＰＲ１は、スキャン系、印刷系、コピー系、表示系（ユーザーインターフェイスを含む）のプログラムを含む。さらに第１プログラムＰＲ１は、電源遮断検出処理用のプログラム（図３参照）を含む。共通プログラムには、フラッシュメモリー装置３５に対して読出し、書込み、消去などの基本的なメモリー制御を指示するためのメモリー制御プログラムが含まれている。よって、上記の第１プログラムＰＲ１を第１ＣＰＵ３１が実行することにより構築される第１システム４０は、第１制御部４１、スキャン制御部４２、印刷制御部４３、表示制御部４４、電源遮断検出部４５、停止指令部４６、第１判定部４７、第２判定部４８及びメモリー制御部４９を備えている。
【００４６】
一方の第２プログラムＰＲ２は、ＦＡＸ系、通信系のプログラムを含む。よって、上記の第２プログラムＰＲ２を第２ＣＰＵ３２が実行することにより構築される第２システム５０は、第２制御部５１、ＦＡＸ処理部５２、通信処理部５３、第１システム４０のものと同様の電源遮断検出部４５及びメモリー制御部５４を備えている。メモリー制御部５４は第１システム４０のメモリー制御部４９と基本構成は同じであるが、第１システム４０には、図３にフローチャートに示す電源遮断検出時に実行される部分の機能が追加されている。
【００４７】
メモリー制御部４９は、読出部６１、書込部６２、消去部６３、チップセレクト処理部６４（図２では「ＣＳ処理部６４」と記す）、状態確認部６５、中断指令部６６及び再開指令部６７を備えている。第１システム４０と第２システム５０は、これらの各部６１〜６７をそれぞれの基本的な機能構成として備えるが、第１システム４０のメモリー制御部４９は、各部６２、６４〜６６を用いて、図３のフローチャートで示される所定の処理を行う。
【００４８】
まず第１システム４０の構成を説明する。図２に示す第１制御部４１は、第１システム４０の制御を司る。スキャン制御部４２は、スキャン時及びコピー時にスキャンエンジン１６（図１参照）を制御する。印刷制御部４３は、コピー時及び印刷時に印刷エンジン１７（図１参照）を制御する。表示制御部４４は、各種画面等を表示するために表示部１５（図１参照）の表示制御を行う。
【００４９】
電源遮断検出部４５は、リセットＩＣ２６（図１参照）からリセット信号を入力したことをもって、停電やコンセント抜け等の意図しない電源遮断を検出する。詳しくは、電源遮断時にリセットＩＣ２６からのリセット信号に基づく割込要求（ＮＭＩ（Non-Maskable Interrupt）（マスク不可割込））を受け付けることをもって、電源遮断を検出する。
【００５０】
停止指令部４６は、電源遮断検出部４５が意図しない電源遮断を検出すると、第２システム５０がフラッシュメモリー装置３５に対して現在行っている処理を停止させるべく第２システム５０に停止指令を出力する。詳しくは、割込要求（ＮＭＩ）を受け付けると、第１判定部４７は、フラッシュメモリー３５がビジー状態であるか否かを判定する。この判定は、フラッシュメモリー３５の状態レジスター７４からその値を読み出し、その読み出した値がビジーの旨の値であれば、ビジー状態であると判定する。なお、状態レジスター７４は、メモリー制御回路７１が読出処理中及び書込処理中等の処理中にある場合のビジー状態の値と、これらの処理を行っていないときのレディ状態の値とをとる。
【００５１】
第２判定部４８は、メモリー制御部４９がフラッシュメモリー３５の動作を中断させるためのサスペンドコマンドを発行した後、フラッシュメモリー３５が動作中であるか否かを判定する。この判定は、フラッシュメモリー３５の現在のステイタスを示すフラグ値が格納される状態レジスター７４の値に基づき判定する。
【００５２】
メモリー制御部４９は、フラッシュメモリー装置３５に対して、データの読出処理、データの書込処理、データの消去処理、及びこれらの処理以外の所定のコマンドを出力するコマンド出力処理を行う。メモリー制御部４９の書込部６２は、非保証データＮＤの書込みの他、保証データＡＤの書込みも担当する。
【００５３】
次に第２システム５０の構成を説明する。第２制御部５１は、第２システム５０の制御を司る。ＦＡＸ処理部５２は、ＦＡＸの受信及び送信時にＦＡＸ通信部１８（図１参照）を制御する。通信処理部５３は、ネットワークを介した通信時にネットワーク通信部１９（図１参照）を制御する。
【００５４】
電源遮断検出部４５は、第１システム４０のものと同様の構成であり、リセットＩＣ２６（図１参照）からリセット信号に基づく割込要求（ＮＭＩ）を入力したことをもって、停電やコンセント抜け等の意図しない電源遮断を検出する。
【００５５】
メモリー制御部５４は、第１システム４０側のメモリー制御部４９と同様の機能構成を有しており、フラッシュメモリー装置３５に対して、データの読出処理、データの書込処理、データの消去処理、及びこれらの処理以外の所定のコマンドを出力するコマンド出力処理を行う。但し、メモリー制御部５４の書込部６２は、非保証データＮＤの書込みは行うが、保証データＡＤの書込みは担当しない。
【００５６】
本例の第２制御部５１は、第１システム４０の停止指令部４６から停止指令を受け付けると、メモリー制御部５４に対して現在処理中の処理の停止を指示する。メモリー制御部５４は、第２制御部５１から停止の指示を受け付けると、そのとき処理中の処理を停止（中断）する。例えばデータの書込み処理中であれば、データの書込み処理を中断する。このとき、データの転送開始前であって、かつ書込コマンドが既に出力された後であれば、その書込コマンドはフラッシュメモリー装置３５に入力される。そのときチップセレクトされているので、メモリー制御回路７１は、データの入力を待つ。このとき、第２システム５０が処理を停止（中断）し、その停止（中断）後に第１システム４０が書込コマンドを出力した場合、メモリー制御回路７１は、第１システム４０からの書込コマンドをデータとみなしてフラッシュメモリーセル７７に書き込んでしまう。これを防ぐために、ＣＳ処理部６４は、ＣＳ信号をハイレベルにし、チップセレクトを解除する。
【００５７】
次にメモリー制御部を構成する各部の詳細な構成を説明する。
読出部６１は、フラッシュメモリー装置３５から各種のデータを読み出す読出処理を行う。特に複合機１１の電源オン時には、読出部６１は、前回の電源オフ時に書き込まれた保証データＡＤをＲＡＭ３４上に読み出す読出処理を行う。また、読出部６１は、複合機１１の稼動中に必要な非保証データＮＤを読み出す読出処理も行う。
【００５８】
書込部６２は、フラッシュメモリー装置３５に各種データを書き込む書込処理を行う。特に複合機１１の電源オフ時に、複合機１１の稼動中に更新されたＲＡＭ３４上の保証データＡＤを、フラッシュメモリー３５に書き込む書込処理を行う。なお、本実施形態では、書込部６２により書込手段の一例が構成される。また、書込部６２は、非保証データＮＤのフラッシュメモリー３５への書込処理を行う。なお、本実施形態では、書込部６２により書込手段の一例が構成される。
【００５９】
消去部６３は、フラッシュメモリー装置３５のデータを消去する消去処理を行う。本例のフラッシュメモリー装置３５では、ブロックＢＬが消去の最小単位なので、消去部６３はブロック単位でデータの消去を行う。なお、本実施形態では、消去部６３により消去手段の一例が構成される。
【００６０】
ＣＳ処理部６４は、フラッシュメモリー装置３５に対してチップセレクトの指示と、チップセレクトの解除とを行う。ここで、読出部６１及び書込部６２はそれぞれのコマンド（読出コマンド又は書込コマンド）を出力するときにチップセレクトし、コマンドの出力を終えてデータの転送を開始する前にチップセレクトを解除する。本例では、チップセレクトは、各部６１，６２がチップセレクト信号（ＣＳ信号）をローレベルにすることにより行われ、チップセレクトの解除は、各部６１，６２がチップセレクト信号（ＣＳ信号）をハイレベルにすることにより行われる。ＣＳ処理部６４は、各部６１，６２が読出コマンド又は書込コマンドの出力のときに行ったチップセレクトを強制的に解除する処理を行う。
【００６１】
状態確認部６５は、フラッシュメモリー装置３５の状態レジスター７４の値を取得し、その取得した値に基づいてフラッシュメモリー装置３５（詳しくはメモリー制御回路７１）の処理状態（ステイタス）を確認する。状態確認部６５は、状態レジスター７４の値に基づいて、メモリー制御回路７１が、レディ状態、ビジー状態（読出中又は書込中等）のうちいずれの状態であるかを確認する。
【００６２】
中断指令部６６は、フラッシュメモリー装置３５のメモリー制御回路７１に現在処理中の処理を中断させるためのサスペンドコマンドを、フラッシュメモリー装置３５に対して発行する。
【００６３】
再開指令部６７は、フラッシュメモリー装置３５のメモリー制御回路７１にサスペンドコマンドの発行により中断させていた処理を再開させるためのレジュームコマンドを、フラッシュメモリー装置３５に対して発行する。
【００６４】
一方、第２システム５０内のメモリー制御部５４は、第１システム４０内のメモリー制御部４９と基本的に同様の機能構成を有している。すなわち、メモリー制御部５４は、読出部６１、書込部６２、消去部６３、チップセレクト処理部６４）、状態確認部６５、中断指令部６６及び再開指令部６７を同様に有している。
【００６５】
但し、第１制御部４１がメモリー制御部４９に出す指示と、第２制御部５１がメモリー制御部５４に出す指示が、それぞれ第１プログラムＰＲ１と第２プログラムＰＲ２の各内容に応じて異なっているので、各メモリー制御部４９，５４が行う制御処理内容は異なる。例えば第１システム４０内のメモリー制御部４９は、第１制御部４１の指示により、図３のフローチャートに基づき意図しない電源遮断検出時に保証データＡＤをフラッシュメモリー装置３５に書き込む電源遮断検出処理を行うが、第２システム５０内のメモリー制御部５４は、このような電源遮断検出処理は行わない。
【００６６】
なお、本実施形態では、第１システム４０及び第２システム５０は、ＣＰＵ３１，３２がプログラムを実行して構築されるソフトウェアにより構成されるが、各システム４０，５０を、集積回路等のハードウェアにより構築したり、ソフトウェアとハードウェアの協働により構築したりしてもよい。
【００６７】
次に、フラッシュメモリー装置３５の構成を詳細に説明する。図２に示すように、フラッシュメモリー装置３５（以下、単に「フラッシュメモリー３５」ともいう）は、メモリー制御回路７１及びフラッシュメモリー部７２を備えている。メモリー制御回路７１は、バス３６（図１参照）を介して第１ＣＰＵ３１及び第２ＣＰＵ３２と通信可能に接続されている。メモリー制御回路７１は、各ＣＰＵ３１，３２から、読出し、書込み、消去などの処理を命令する各種のコマンドと、そのコマンドに従って処理する際のデータの読出し元、書込み先、消去先のアドレスとを入力する。
【００６８】
メモリー制御回路７１は、ＣＰＵ３１，３２から入力したコマンドに応じて、データの読出し、データの書込み、ブロックＢＬ単位でのデータの消去などをフラッシュメモリー部７２に指示する。これにより、読出し元のアドレスからのデータの読出し、書込み先のアドレスへのデータの書込み、消去先のアドレスにあるデータの消去が行われる。
【００６９】
メモリー制御回路７１は、書込コマンドを入力したときには、このコマンド入力に続いてＣＰＵ３１，３２から転送されてきたデータを、フラッシュメモリーセル７７内の指定されたアドレスに書き込む。また、メモリー制御回路７１は、読出コマンドを入力すると、フラッシュメモリーセル７７内の指定されたアドレスからデータを読出し、そのデータをＣＰＵ３１，３２のうちコマンド出力元の一方へ転送する。さらに、メモリー制御回路７１は、消去コマンドを入力すると、フラッシュメモリーセル７７内の指定されたアドレスのデータをブロックＢＬ単位で消去する。
【００７０】
メモリー制御回路７１は、ＣＰＵ３１，３２からの読出し、書込み、消去などのコマンドに応じた制御信号、アドレスを指定するアドレス信号をフラッシュメモリー部７２へ出力する。また、メモリー制御回路７１とフラッシュメモリー部７２はデータ線で接続され、メモリー制御回路７１からフラッシュメモリー部７２への書込みデータの転送と、フラッシュメモリー部７２からメモリー制御回路７１への読出しデータの転送は、データ線を介して行われる。
【００７１】
ここで、保証データは、インクやトナー等の印刷用材料の残量など、所定動作の実施と共に変化する可変情報と、モーターの駆動開始位置（原点）などの工場出荷時に設定された不変情報（固定情報）とから構成される。印刷媒体の残量を検出するセンサーを備えたプリンター部を有する複合機１１であれば、可変情報の一情報として印刷媒体の残量を含めてもよい。また、複合機１１の使用料金をユーザーから徴収する構成の場合、所定動作の回数（例えば印刷枚数）などと共に変化する課金情報を、データの一情報として含めてもよい。なお、可変情報には時間情報（経過時間計測情報や時刻情報）も含めてよい。
【００７２】
図２に示すように、メモリー制御回路７１はレジスター群７３を内蔵する。レジスター群７３のうちの状態レジスター７４（ステイタスレジスター）は、フラッシュメモリー３５がＣＰＵ３１，３２から受け付けたコマンドに基づいて、メモリー制御回路７１が行うデータの読出し、データの書込み、データの消去などの処理の処理中であるかどうかその状態（ステイタス）を管理する。状態レジスター７４には、メモリー制御回路７１が指示されたコマンドに基づく処理中はビジー状態の値が格納され、コマンドに基づく処理を終えるとレディー状態の値が格納される。このため、各ＣＰＵ３１，３２は状態レジスター７４に格納されたフラグ値に基づいて、指示したコマンドに基づく処理を終えたか否かを判定できるようになっている。
【００７３】
ＣＰＵ３１，３２は、メモリー制御回路７１へ消去コマンドを送った後、状態レジスター７４のフラグ値が、ビジー状態の値であるうちはデータの消去処理中であると判断する。そして、ＣＰＵ３１，３２は、状態レジスター７４のフラグ値が、ビジー状態の値からレディー状態の値に切り換わったことをもって、消去処理が終了したと判断する。もちろん、状態レジスター７４に替えてもしくは追加して、消去処理専用の消去レジスターを設け、ＣＰＵ３１，３２が消去レジスターの値に基づき消去処理の終了を把握する構成を採用してもよい。
【００７４】
フラッシュメモリー部７２には、フラッシュメモリーセル７７、ロウデコーダー７８、カラムデコーダー７９などを備えている。なお、フラッシュメモリー部７２は、その他に、公知のコマンドデコーダー、制御論理回路、ロウアドレスバッファー、カラムアドレスバッファー、データ制御回路、及び入出力バッファー（いずれも図示せず）を備えている。
【００７５】
フラッシュメモリーセル７７は、複数のメモリーセル（メモリー素子）（図示省略）がマトリクス配列されて構成されている。各メモリーセルは互いに交差する複数本のワード線と複数本のビット線の交差部に配置されている。ロウデコーダー７８はワード線の選択駆動等を行い、一方のカラムデコーダー７９はビット線の選択駆動等を行う。
【００７６】
メモリー制御回路７１から転送されるアドレス信号のうちロウアドレスがロウデコーダー７８に転送され、カラムアドレスがカラムデコーダー７９に転送される。これにより、指定のロウアドレスとカラムアドレスとで特定されるメモリーセルが選択される。
【００７７】
第１ＣＰＵ３１は電源オン時にフラッシュメモリー装置３５に読出コマンドを送ることにより、保証データＡＤを読み出す読出処理を行い、メモリー制御回路７１から送られてきた保証データＡＤをＲＡＭ３４に書き込む。そして、複合機１１の稼働中（電源オン状態）は、ＲＡＭ３４にアクセスすることによりデータの読出し及び書込みを行い、書込みを行う度にデータは更新される。また、第１ＣＰＵ３１は電源オフ時にフラッシュメモリー３５に書込コマンドを送ることにより、ＲＡＭ３４のデータをフラッシュメモリー装置３５へ書き込む書込処理を行う。
【００７８】
図４（ａ）に示すように、フラッシュメモリーセル７７は、ブロック０，１，…，Ｎの合計（Ｎ＋１）個のブロックＢＬに分割されている。本例では、ブロックＢＬは全て同じ記憶容量を有し、データを消去する際の最小単位（消去単位）となる。１つのブロックＢＬの記憶容量は、例えば０．５〜２０キロバイトの範囲内の所定値（一例として４キロバイト）である。
【００７９】
図４（ｂ）は、フラッシュメモリーセル７７に記憶された各種データを、図４（ａ）における各ブロックと対応させて示したものである。図４（ａ），（ｂ）に示すように、（Ｎ＋１）個のブロック０〜Ｎのうち、保証データＡＤを保存するための格納領域として、１つのブロックＢＬ（図４（ａ）例ではＮ番目のブロックＮ）を使用する。例えばプログラムＰＲ（第１プログラムＰＲ１及び第２プログラムＰＲ２）は、ブロック０〜ブロック（Ｊ−１）に記憶されている。非保証データＮＤは、ブロックＪ〜ブロックＮのうち１つ又は複数のブロックＢＬを使用して記憶される。図４の例では、非保証データＮＤは、ブロックＪ〜ブロック（Ｎ−１）を使用して書き込まれる。
【００８０】
フラッシュメモリー装置３５では、ブロックのデータが消去されると、ブロック中の各１バイトは「ＦＦ」（16進数）の値（「11111111」）をとる。そして、ビットは「1」→「0」への変更は可能であるが、その逆は不可能である。このため、データを書き込むと、その書き込んだ記憶領域を再び使用するためには、その記憶領域の属するブロックＢＬのデータを消去する消去処理が必要になる。
【００８１】
次に、複合機１１の作用を、図３に示すフローチャートに基づいて説明する。複合機１１の稼動中において、停電やコンセント抜け等の意図しない電源遮断が発生したときには、この意図しない電源遮断がリセットＩＣ２６により検出され、リセットＩＣ２６からリセット信号ＲＳが出力される。第１システム４０内の電源遮断検出部４５は、リセットＩＣ２６からリセット信号ＲＳに基づく割込要求（ＮＭＩ）の入力があったことをもって、意図しない電源遮断の発生を検出する。この電源遮断検出部４５が意図しない電源遮断を検出すると、第１ＣＰＵ３１は、図３にフローチャートで示す電源遮断検出処理ルーチンを実行する。
【００８２】
まずステップＳ１では、第２システムの停止処理を行う。
ステップＳ２では、フラッシュメモリー３５のチップセレクトを解除する。例えば第２システム５０の処理中の処理を停止させたものの、第２システム５０が既に書込コマンドを出力していた場合、第１システム４０がその後の処理で書込コマンドを出力しても、その書込コマンドがフラッシュメモリー３５にデータとして書き込まれてしまう。これを回避するためにチップセレクトを解除する。
【００８３】
ステップＳ３では、フラッシュメモリー３５のステイタスを確認する。すなわち、状態確認部６５がフラッシュメモリー３５にアクセスして状態レジスター７４の値を取得し、その取得した値からステイタスを把握する。例えばフラッシュメモリー３５が第２システム５０から入力したコマンド（例えば書込コマンド、読出コマンド、消去コマンド）の処理中である場合、状態レジスター７４はビジー状態（処理中）の値になっている。一方、フラッシュメモリー３５が処理中でないときには、状態レジスター７４はレディー状態の値になっている。
【００８４】
ステップＳ４では、フラッシュメモリー３５がビジー状態であるか否かを判断する。ここで、ビジー状態には、書込処理中の場合と、読出処理中の場合と、消去処理中の場合とがあるが、状態レジスター７４の値からはどの処理中であるかは判別できない。このため、第１判定部４７は、フラッシュメモリー３５がビジー状態であるか否かを判断することにより、フラッシュメモリー３５が書込処理中であるか否かを判断する。判定の結果、ビジー状態であればステップＳ５に進み、ビジー状態でなければ（例えばレディー状態であれば）ステップＳ８に進む。
【００８５】
ステップＳ５では、フラッシュメモリー３５が書込処理を終了するまでの書込み時間を待つ。例えば複合機１１で扱うデータの容量から、書込み時間の最大値は想定でき、その想定される最大値に僅かのマージンを加えて書込み時間を設定する。書込み時間は、消去処理に要する消去時間に比べ相当短いので、この書込み時間を待っても、二次電池１３Ａの電力によりＣＰＵを動作状態に保持できる保持時間からみて、保証データＡＤの書込み時間は十分足りる。但し、消去時間は相当長いので、保持時間内で消去処理が終わらず、その後の保証データＡＤの書込みができなくなる。また、本例では、第１システム４０がフラッシュメモリー３５に対して書込処理を強制停止（強制終了）させることも可能であるが、書込処理を一旦停止させる処理を行うと、その後の書込コマンドが受け付けられなくなる。そのため、第１システム４０からこれから出力する書込コマンドが受け付けられるように、書込処理中の場合でもその書込処理が強制停止されないように、書込み時間が経過するまでは待機する。そして、この書込み時間を待つことによって、処理中の書込処理は強制停止されることなく終了する。但し、処理中の処理が消去処理であった場合、書込み時間を待った後も、消去処理中である場合が多い。
【００８６】
ステップＳ６では、サスペンドコマンドを発行する。すなわち、中断指令部６６がフラッシュメモリー３５に対してサスペンドコマンドを発行する。フラッシュメモリー３５内のメモリー制御回路７１はサスペンドコマンドを受け付けると、中断処理部７５に中断処理を指示する。中断処理部７５は、処理中の処理を中断させるとともに、フラッシュメモリー３５が動作中でなくなり処理の中断を終えると、状態レジスター７４をレディー状態の値に変更する。例えば処理中の処理が消去処理であった場合、その消去処理は中断され、その中断が完了すると、状態レジスター７４がレディー状態の値になる。
【００８７】
ステップＳ７では、フラッシュメモリー３５が動作中であるか否かを判断する。すなわち、第２判定部４８が、状態レジスター７４の値を取得し、その取得した値に基づくステイタスがビジー状態であれば、フラッシュメモリー３５が動作中であると判断する。フラッシュメモリー３５が動作中であるうちはそのまま待機し、動作中でなければステップＳ８に進む。つまり、サスペンドコマンドの発行から、そのサスペンドコマンドによって実際にフラッシュメモリー３５が動作を終了させるまで待機する。
【００８８】
ステップＳ８では、保証データＡＤを書き込む。すなわち、第１システム４０の書込部６２は、ＲＡＭ３４から保証データＡＤを読み出し、その読み出した保証データＡＤを、フラッシュメモリーセル７７内のブロックＮの先頭アドレスを指定してフラッシュメモリー３５に書き込む。こうして、二次電池１３Ａの電力でＣＰＵ３１を動作状態に保持しうる保持時間内に、保証データＡＤのフラッシュメモリー３５への書込処理を終了できる。
【００８９】
以上詳述したように、本実施形態では、以下に示す効果を得ることができる。
（１）第１システム４０と第２システム５０とが同一のフラッシュメモリー３５にアクセスできる構成において、意図しない電源遮断が検出されると、第２システム５０の処理中の処理を中断させるので、保証データＡＤをフラッシュメモリー３５に書き込むことができる。
【００９０】
（２）第２システム５０の停止処理後、チップセレクトを解除する（Ｓ２）ので、第１システム４０が保証データＡＤを書き込むために発行した書込コマンドが、データとしてフラッシュメモリーセル７７に書き込まれてしまう事態を回避できる。
【００９１】
（３）フラッシュメモリー３５がビジー状態であるか否かを判定し（Ｓ４）、ビジー状態であれば、フラッシュメモリー３５の書込処理が終わるまでの書込み時間を待つ。このため、フラッシュメモリー３５が書込処理を中断すると、その後の書込コマンドを受け付けない構成であっても、第１システム４０による保証データＡＤの書込みを行うことができる。
【００９２】
（４）書込み時間を待った後に、サスペンドコマンドを発行するので、書込処理を中断させることなく、消去処理を中断させることができる。よって、第１システム４０による保証データＡＤの書込みを行うことができる。
【００９３】
（５）サスペンドコマンド発行後にフラッシュメモリー３５が動作中であるか否かを判定し、フラッシュメモリー３５が動作中でなくなったことを確認した後、保証データＡＤをフラッシュメモリー３５に書き込む。よって、保証データＡＤの書込処理をより確実に行うことができる。例えばフラッシュメモリー３５の動作中（つまり消去処理中又は消去処理の中断処理中）に保証データＡＤの書込コマンドを出力した場合、保証データが消去されてしまう虞がある。しかし、フラッシュメモリー３５の動作中でないことを確認した後、保証データＡＤの書込みを行うので、保証データＡＤをその一部も消去されることなくフラッシュメモリー３５に書き込むことができる。
【００９４】
（６）意図しない電源遮断が発生しても、保証データＡＤをフラッシュメモリー３５に書き込むことができるので、複合機１１の次回電源オン時に最新の保証データＡＤを読み出して使用することができる。この結果、正しいインク残量の情報を取得できる。例えば、データ上はインク残量がインクエンドよりも多く残っているため、印刷を開始したものの、その印刷の途中でインク切れとなって印刷画像が途中までしか形成されない事態を極力防止することができる。
【００９５】
（第２実施形態）
次に第２実施形態を図５に基づいて説明する。前記第１実施形態では、書込処理を中断すると、その後の書込コマンドを受け付けない構成のフラッシュメモリー３５であったが、本実施形態のフラッシュメモリー３５は、書込処理を中断しても、その後の書込コマンドが受け付けられる構成である。そのため、電源遮断検出処理ルーチンが前記第１実施形態と異なる。なお、この第２実施形態では、フラッシュメモリー３５が書込処理の中断後も書込コマンドを受付け可能な構成であることと、電源遮断検出処理ルーチンの内容が一部異なること以外は、前記第１実施形態と同様の構成なので、共通な構成部分については説明を省略し、同一の符号を用いて説明する。
【００９６】
以下、本実施形態の複合機１１における電源遮断検出処理ルーチンを、図５に基づいて説明する。なお、ステップＳ１〜Ｓ４の処理は、前記第１実施形態のステップＳ１〜４と同様の処理内容なので、図５ではステップＳ１〜Ｓ３の処理は省略している。電源遮断検出時に第１ＣＰＵ３１は、図５に示す電源遮断検出処理ルーチンを開始する。
【００９７】
まずステップＳ１〜Ｓ４は、前記第１実施形態におけるステップＳ１〜Ｓ４と同様の処理を行う。すなわち、ステップＳ１において、第１システム４０の停止指令部４６は、第２システム５０に対して処理中の処理を停止させるための停止指令を送ることにより、第２システム５０の停止処理を行う。停止指令を受け付けた第２制御部５１は、メモリー制御部５４に対して処理中の処理を停止させる。この結果、第２システム５０はフラッシュメモリー３５に対する処理中の処理を停止する。
【００９８】
ステップＳ２では、フラッシュメモリー３５のチップセレクトを解除する。ステップＳ３では、フラッシュメモリー３５のステイタスを確認する。ステップＳ４では、フラッシュメモリー３５がビジー状態であるか否かを判断する。ビジー状態であればステップＳ１５に進み、ビジー状態でなければ（例えばレディー状態であれば）ステップＳ１７に進む。
【００９９】
次のステップＳ１５では、サスペンドコマンドを発行する。すなわち、中断指令部６６がフラッシュメモリー３５に対してサスペンドコマンドを発行する。フラッシュメモリー３５内の中断処理部７５は、サスペンドコマンドを受け付けると、処理中の処理を中断させるとともに、その中断が完了すると、状態レジスター７４をレディー状態の値に変更する。すなわち、フラッシュメモリー３５が書込処理中であれば書込処理が中断され、消去処理中であれば消去処理が中断される。この中断によってフラッシュメモリー３５は動作中でなくなり、状態レジスター７４がレディー状態の値になる。
【０１００】
ステップＳ１６では、フラッシュメモリー３５が動作中であるか否かを判断する。すなわち、第２判定部４８は状態レジスター７４の値がビジー状態であればフラッシュメモリー３５が動作中であると判断する。フラッシュメモリー３５が動作中であるうちはそのまま待機し、動作中でなければステップＳ１７に進む。つまり、サスペンドコマンドの発行から、そのサスペンドコマンドによって実際にフラッシュメモリー３５が動作を終了させるまで待機する。
【０１０１】
ステップＳ１７では、保証データＡＤを書き込む。すなわち、第１システム４０の書込部６２は、ＲＡＭ３４から保証データＡＤを読み出し、フラッシュメモリー３５のブロックＮのアドレスを指定してブロックＮに書き込む。こうして、二次電池１３Ａの電力でＣＰＵ３１を動作状態に保持しうる保持時間内に、フラッシュメモリー３５への保証データＡＤの書込処理を終了できる。本実施形態では、書込み時間を待つ処理（Ｓ５）がないので、二次電池１３Ａによる保持時間に時間的余裕ができる。
【０１０２】
ステップＳ１８では、レジュームコマンド（Resume command）を発行する。すなわち、再開指令部６７がフラッシュメモリー３５に対してレジュームコマンドを発行する。フラッシュメモリー３５内のメモリー制御回路７１はレジュームコマンドを受け付けると、再開処理部７６に再開処理を指示する。再開処理部７６は中断していた処理を再開する。すなわち、書込処理を中断していた場合はその書込処理を再開する。このため、二次電池１３Ａの電力が切れるまでに、中断されていたデータの書込みが完了する。なお、消去処理を中断していた場合はその消去処理が再開する。但し、消去処理は時間を要するため、その処理時間を経過し終わる前に、二次電池１３Ａの電力が切れてしまう。このため、大抵の場合、消去処理は結局中断される。
【０１０３】
以上詳述した第２実施形態によれば、以下の効果を得ることができる。
（７）第２システム５０の停止処理（Ｓ１）後、フラッシュメモリー３５がビジー状態であれば（Ｓ４で肯定判定）、直ちにサスペンドコマンドを発行してフラッシュメモリー３５の処理を中断させたうえで（Ｓ１５）、保証データＡＤを書き込む（Ｓ１７）。前記第１実施形態のような書込み時間を待つ（図３におけるＳ５）処理がないので、時間的余裕ができ、保証データＡＤをフラッシュメモリー３５に一層確実に保存することができる。
【０１０４】
（８）保証データＡＤをフラッシュメモリー３５に書き込んだ後、中断した処理を再開する。よって、保証データＡＤを保存するために中断した第２システム５０の処理を再開できる。例えば中断していた書込処理を再開し、第２システム５０からの非保証データＮＤをフラッシュメモリー３５に書き込むことができる。また、消去処理を中断したときには、場合によっては二次電池１３Ａの保持時間内に消去処理を終えることができる。なお、非保証データＮＤは、基本的に次回の電源投入後において複合機１１で使用されるものではないが、電源遮断時の最終の更新情報はエラー原因の特定などに使用できる。
【０１０５】
なお、上記実施形態は以下のような形態に変更することもできる。
・前記各実施形態において、電源遮断時には第２システム５０が保証データＡＤを書き込む構成を採用してもよい。つまり、一の制御手段が第２システム５０で、他の制御手段が第１システム４０である構成でもよい。
【０１０６】
・第１実施形態において、第２システム５０からのデータをフラッシュメモリー３５に書き終えるまでの書込み時間を待つ処理（Ｓ５）を廃止してもよい。フラッシュメモリー３５が例えば書込処理の中断後も書込みを開始可能な機能を有する構成であれば、何ら問題はない。
【０１０７】
・第１システム４０から第２システム５０へ停止指令を送る構成に替え、第２システム５０が電源遮断時にリセットＩＣ２６からのリセット信号に基づく割込要求（ＮＭＩ）を受け付けると、フラッシュメモリー３５に対する処理中の処理を中断する構成でもよい。
【０１０８】
・フラッシュメモリー３５のチップセレクトの解除を行わない構成も採用できる。
・フラッシュメモリー３５のステイタスを確認する処理（Ｓ３）を廃止してもよい。
・フラッシュメモリー３５がビジー状態であるか否かを判断する処理（Ｓ４）を廃止してもよい。例えばチップセレクト解除処理（Ｓ３）の後、書込み時間を待った（Ｓ５）後、サスペンドコマンドを発行すればよい。
【０１０９】
・ステップＳ７の処理は、状態レジスター７４がサスペンド状態の値であるか否かを判断する処理に限定されない。サスペンドコマンド発行から中断（サスペンド）の処理を終えるまでに要する中断処理時間Ｔsusを経過したか否かを判断する処理に替えてもよい。また、状態レジスター７４の値がビジー状態（例えば消去処理中）でなくなったか否かを判断してもよい。この場合、状態レジスター７４がビジー状態の値でなくなったことをもって、フラッシュメモリー３５の動作が停止されたと判断する。
【０１１０】
・情報処理装置は、複合機１１などの印刷機能を有する印刷装置に限定されるものではなく、前回の電源オフ時に記憶したデータを電源オン時に使用するために、電源オフ時に最新のデータをフラッシュメモリー３５に書き込む装置に広く適用できる。また、情報処理装置は、インク等の消費材の消費を伴う動作を行うものに限定されず、例えばスキャナー、プロジェクター、デジタルフォトフレーム、デジタルカメラなどであってもよい。
【符号の説明】
【０１１１】
１１…情報処理装置の一例である複合機、１２…コントローラー、１３…電源回路、１３Ａ…二次電池、１４…操作部、１４Ａ…電源スイッチ、１６…スキャンエンジン、１７…印刷エンジン、１８…ＦＡＸ通信部、１９…ネットワーク通信部、２０…インクカートリッジ、２５…コンピューター、２６…電源遮断検出手段の一例を構成するリセットＩＣ、３１…一の制御手段の一例である第１ＣＰＵ、３２…他の制御手段の一例である第２ＣＰＵ、３３…ＡＳＩＣ、３４…ＲＡＭ、３５…不揮発性メモリーの一例であるフラッシュメモリー装置（フラッシュメモリー）、４０…一の制御手段の一例である第１システム、４１…第１制御部、４２…スキャン制御部、４３…印刷制御部、４４…表示制御部、４５…電源遮断検出手段の一例を構成する電源遮断検出部、４６…停止手段の一例である停止指令部、４７…第１判定部、４８…第２判定部、４９…メモリー制御部、５０…他の制御手段の一例である第２システム、５１…第２制御部、５２…ＦＡＸ処理部、５３…通信処理部、５４…メモリー制御部、６１…読出部、６２…書込部、６３…消去部、６４…チップセレクト処理部、６５…状態確認部、６６…中断手段の一例である中断指令部、６７…再開指令部、７１…メモリー制御回路、７２…フラッシュメモリー部、７４…状態レジスター、７５…中断処理部、７６…再開処理部、７７…フラッシュメモリーセル、ＡＤ…保証データ、ＮＤ…非保証データ、ＰＲ…プログラム、ＰＲ１…第１プログラム、ＰＲ２…第２プログラム、ＢＬ…ブロック。
【図１】
2012173909.tif 000003
【図２】
2012173909.tif 000004
【図３】
2012173909.tif 000005
【図４】
2012173909.tif 000006
【図５】
2012173909.tif 000007