JP2013218371A - 情報処理装置及び情報処理装置におけるデータ記憶処理方法 - Google Patents

情報処理装置及び情報処理装置におけるデータ記憶処理方法 Download PDF

Info

Publication number
JP2013218371A
JP2013218371A JP2012085636A JP2012085636A JP2013218371A JP 2013218371 A JP2013218371 A JP 2013218371A JP 2012085636 A JP2012085636 A JP 2012085636A JP 2012085636 A JP2012085636 A JP 2012085636A JP 2013218371 A JP2013218371 A JP 2013218371A
Authority
JP
Japan
Prior art keywords
data
processing
unit
information
power
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.)
Pending
Application number
JP2012085636A
Other languages
English (en)
Inventor
Yoshitomo Mizoguchi
喜智 溝口
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2012085636A priority Critical patent/JP2013218371A/ja
Publication of JP2013218371A publication Critical patent/JP2013218371A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】意図しない電源遮断時に、一の制御部は、他の制御部が不揮発性メモリーに対して処理中であっても、使用データを不揮発性メモリーに保存できるうえ、情報処理装置の次回の電源オン時に、不揮発性メモリーが電源遮断時の他の制御部の処理の中断による不適切な状態にあることを回避できる情報処理装置及び情報処理装置におけるデータ記憶処理方法を提供する。
【解決手段】意図しない電源遮断が検出されると、第1システムは他のシステムを停止させ、保証データ及び遮断時状態データを書き込む。遮断時状態データには、他のシステムが停止した処理の処理内容が含まれる。次回の電源オン時に、遮断時状態データを読み出し、消去中であれば(S23で肯定判定)、消去中の記憶領域を再消去する(S24)。一方、書込み中であれば(S25で肯定判定)、書込み中データの無効処理を行う(S26)。
【選択図】図6

Description

本発明は、複数の制御部が共通の不揮発性メモリーにデータを書き込む構成であり、特に電源遮断時に一の制御部が次回電源オン時に使用されるデータ(使用データ)を、不揮発性メモリーに書き込む情報処理装置及び情報処理装置におけるデータ記憶処理方法に関する。
例えばフラッシュメモリー等の不揮発性メモリーを備えた情報処理装置では、電源オフ時に、次回の電源オン時に使用するデータ(使用データ)を不揮発性メモリーに書き込み、次回の電源オン時に不揮発性メモリーから使用データを読み出して使用する。例えば特許文献1、2には、電源オフ時に不揮発性メモリーにこの種の更新データの1つとしてインクカートリッジの消耗情報(インク残量データ)を書き込む印刷装置(プリンター)などの情報処理装置が開示されている。
ところで、フラッシュメモリー等の不揮発性メモリーの記憶領域は、所定記憶容量を有する複数のブロックに分割されており、ブロック1つ分がデータ消去の最小単位となっている。また、フラッシュメモリーの構成上、ブロックをデータ消去により初期状態にした後でないと、任意データを書き込むことができない。このため、更新データを同じブロックに書き込むときには、旧いデータを消去する必要がある。しかし、消去処理は、書込処理や読出処理に比べ長時間を要する(例えば特許文献3)。
また、複合機などの情報処理装置では、複数(例えば2個)のCPUを備えるものが知られている(例えば特許文献4)。さらに特許文献5、6には、複数のマイクロコンピューター(又はCPU)が1つの不揮発性メモリーを共有する照明装置やゲーム装置などの情報処理装置が開示されている。例えば特許文献5の照明装置では、一のマイクロコンピューターは電源がオフされたときに、それを検出して、データを不揮発性メモリー(EEPOM)に書き込み、他のマイクロコンピューターは可動部の位置が変化して停止する毎に、そのデータを不揮発性メモリーに書き込む。この特許文献5に記載の複数のマイクロコンピューターは不揮発性メモリーにアクセスできるタイミングが異なっているので、不揮発性メモリーへのアクセス時に競合することはない。
特開2007−98618号公報 特開2001−315323号公報 特開2000−222292号公報 特開2011−3060号公報 特開平7−122371号公報 国際公開2006/109530
しかしながら、複数のCPUがフラッシュメモリー等の不揮発性メモリーにアクセスして書込処理や消去処理を行う情報処理装置では、電源遮断時に一のCPUが次回電源オン時に使用する使用データを不揮発性メモリーに書き込もうとした際に、他のCPUが不揮発性メモリーに対して処理中の場合がある。この場合、一のCPUはデータを書き込む処理を行うことができず、他のCPUが処理を終えるまで待たなければならない。しかし、停電やコンセント抜け等の意図しない電源遮断が発生した場合、二次電池の電力が極短時間(例えば100ミリ秒〜1秒未満の範囲内の値)しか保持されないので、一のCPUがデータを保存し終わる前に情報処理装置の電源が遮断されてしまうという問題があった。この場合、次回の電源オン時に、最新のデータを使用することができず、旧いデータを使用することになる。例えば複合機の場合、次の電源オン以降のインク残量のデータが間違ったものとなり、インク残量がデータ上はあると認識しているため、印刷が開始されるが、その印刷途中でインク切れが発生するなどの問題が発生する。なお、上記の問題は、複合機などの印刷機能を有する装置に限定されず、複数の制御部が共通の不揮発性メモリーにデータの書込みが可能な情報処理装置に広く当てはまる。例えば特許文献5の照明装置では、他のマイクロコンピューターがデータを不揮発性メモリーに書き込んでいる最中に、意図しない電源遮断が発生したとき、一のマイクロコンピューターは他のマイクロコンピューターの書込み処理を終えるまで待たなければならない。この場合、二次電池の電力による保持時間の残り時間のうちに一のマイクロコンピューターがデータを書き切れないことが起こりうる。
本発明は、上記課題に鑑みてなされたものであり、その目的の一つは、意図しない電源遮断時に、一の制御部は、他の制御部が不揮発性メモリーに対して処理中であっても、使用データを不揮発性メモリーに保存できるうえ、情報処理装置の次回の電源オン時に、不揮発性メモリーが電源遮断時の他の制御部の処理の中断による不適切な状態にあることを回避できる情報処理装置及び情報処理装置におけるデータ記憶処理方法を提供することにある。
上記目的の一つを達成するために、本発明の態様の一つは、電源オフ中にデータの保存が可能な不揮発性メモリーを備えた情報処理装置であって、前記不揮発性メモリーに対しデータの書込みと消去とを少なくとも行う複数の制御部と、情報処理装置の電源遮断を検出する電源遮断検出部とを備え、前記電源遮断の検出時に、前記複数の制御部のうち一の制御部以外の他の制御部が前記不揮発性メモリーに対して処理中の処理を停止させる停止処理部と、前記一の制御部に設けられ、前記他の制御部の処理の停止後、次回電源オン時に使用する使用データと前記他の制御部が停止した処理の処理内容を少なくとも含む遮断時情報とを前記不揮発性メモリーに書き込む書込部と、次回電源オン時に、前記不揮発性メモリーから読み出した前記遮断時情報に基づいて前記不揮発性メモリーに対して当該遮断時情報中の処理内容に応じた復旧処理を行う処理部とを備えたことを要旨とする。
上記構成によれば、電源遮断検出部により情報処理装置の電源遮断が検出されると、停止処理部は、他の制御部が不揮発性メモリーに対して処理中の処理を停止させる。一の制御部の書込部は、他の制御部の処理の停止(中断)後、使用データと他の制御部が停止した処理の処理内容を少なくとも含む遮断時情報とを不揮発性メモリーに書き込む。そして、情報処理装置の次回電源オン時に、処理部は、不揮発性メモリーから読み出した遮断時情報に基づいて不揮発性メモリーに対して当該遮断時情報中の処理内容に応じた復旧処理を行う。よって、情報処理装置の意図しない電源遮断時に、一の制御部は、他の制御部が不揮発性メモリーに対して処理中であっても、使用データを不揮発性メモリーに保存できるうえ、情報処理装置の次回電源オン時に、不揮発性メモリーが電源遮断時の他の制御部の処理の中断による不適切な状態にあることを回避できる。
本発明の態様の一つである情報処理装置では、前記一の制御部は、不揮発性メモリーが動作中であるか否かを判定する判定部を備え、前記電源遮断の検出時に、前記判定部が前記不揮発性メモリーが動作中と判定した場合は、前記不揮発性メモリーが書込み処理に要する設定時間を待った後に、さらに前記不揮発性メモリーが動作中であるか否かを判定し、動作中でなければ、前記書込部は、前記処理内容を書込み中とした前記遮断時情報を前記不揮発性メモリーに書き込み、前記情報処理装置の次回電源オン時に、前記処理部は、前記遮断時情報中の処理内容が書込み中であると判定すると、当該遮断時情報に基づいて、前記復旧処理として前記不揮発性メモリーにおける書込み中データを無効にすることが好ましい。
上記構成によれば、一の制御部は、電源遮断検出時に、判定部により不揮発性メモリーが動作中と判定した場合は、不揮発性メモリーが書込み処理に要する設定時間を待った後に、さらに判定部は不揮発性メモリーが動作中であるか否かを判定し、動作中でなければ、書込部は、処理内容を書込み中とした遮断時情報を不揮発性メモリーに書き込む。そして、情報処理装置の次回電源オン時に、処理部は、不揮発性メモリーから読み出した遮断時情報中の処理内容が書込み中であると判定すると、遮断時情報に基づいて、不揮発性メモリーにおける書込み中データを無効にする。よって、情報処理装置の次回電源オン時に、電源遮断時に書込みを中断した際の書込み中データが不揮発性メモリーに残ったままの状態を回避できる。
本発明の態様の一つである情報処理装置では、前記一の制御部は、不揮発性メモリーが動作中であるか否かを判定する判定部と、前記不揮発性メモリーの動作を中断させる中断指令部とを備え、前記電源遮断の検出時に、前記判定部が前記不揮発性メモリーが動作中と判定した場合は、前記不揮発性メモリーが書込み処理に要する設定時間を待った後に、さらに判定部は前記不揮発性メモリーが動作中であるか否かを判定し、動作中であれば、前記中断指令部が前記不揮発性メモリーの動作を中断させた後、前記書込部は、前記処理内容を消去中とした前記遮断時情報を前記不揮発性メモリーに書き込み、前記情報処理装置の次回電源オン時に、前記処理部は、前記遮断時情報中の処理内容が消去中であると判定すると、当該遮断時情報に基づいて、前記復旧処理として前記不揮発性メモリーに対して電源遮断時に前記他の制御部が中断した消去の対象記憶領域の再消去を行うことが好ましい。
上記構成によれば、一の制御部は、電源遮断検出時に、判定部により不揮発性メモリーが動作中と判定した場合は、不揮発性メモリーが書込み処理に要する設定時間を待った後に、さらに判定部は不揮発性メモリーが動作中であるか否かを判定する。そして、動作中であれば、中断指令部が不揮発性メモリーの動作を中断させた後、書込部は、処理内容を消去中とした遮断時情報を不揮発性メモリーに書き込む。そして、情報処理装置の次回電源オン時に、処理部は、不揮発性メモリーから読み出した遮断時情報中の処理内容が消去中であると判定すれば、不揮発性メモリーに対して電源遮断時に他の制御部が中断した消去の対象記憶領域の再消去を行う。よって、情報処理装置の次回オン時に、電源遮断時に中断した消去の対象記憶領域に不適切なデータが残ったままの状態を回避できる。
本発明の態様の一つである情報処理装置では、揮発性メモリーを更に備え、前記他の制御部は停止した前記処理の処理内容を含む情報を前記揮発性メモリーに書き込み、前記書込部は、前記揮発性メモリーから読み出した前記情報を基に少なくとも前記処理内容を取得することが好ましい。
上記構成によれば、他の制御部は停止した処理の処理内容を含む情報を揮発性メモリーに書き込む。一の制御部における書込部は、揮発性メモリーから他の制御部が書き込んだ情報を読み出し、その情報中の少なくとも処理内容を含む遮断時情報を不揮発性メモリーに書き込む。よって、一の制御部は他の制御部が不揮発性メモリーに対して行っていた処理の処理内容を含む詳細(例えば処理の対象アドレス等)を把握でき、その詳細を遮断時情報に含ませることが可能になる。
本発明の態様の一つである情報処理装置では、前記一の制御部は、前記他の制御部が停止した前記処理が書込みである場合、前記他の制御部が停止した前記書込みの対象とした書込みデータ及び書込み先アドレスを取得し、前記書込部は、前記処理内容を書込み中とするとともに前記書込みデータ及び前記書込み先アドレスを少なくとも含む前記遮断時情報を前記不揮発性メモリーに書き込み、前記処理部は、前記次回電源オン時に、前記遮断時情報に含まれる処理内容が書込み中であった場合、前記復旧処理として前記遮断時情報に含まれる前記書込みデータを前記不揮発性メモリーにおける前記書込み先アドレスに書き込むことが好ましい。
上記構成によれば、一の制御部は、他の制御部が停止した処理が書込みである場合、他の制御部が停止した書込みの対象とした書込みデータ及び書込み先アドレスを取得する。そして、書込部は、処理内容を書込み中とするとともに書込みデータ及び書込み先アドレスを少なくとも含む遮断時情報を不揮発性メモリーに書き込む。そして、情報処理装置の次回電源オン時に、処理部は、遮断時情報に含まれる処理内容が書込み中であった場合、復旧処理として、書込みデータを不揮発性メモリーにおける書込み先アドレスに書き込む。よって、情報処理装置の次回電源オン時に、不揮発性メモリーを電源遮断時に他の制御部が中断した書込み処理が行われた状態にすることができる。
本発明の態様の一つである情報処理装置では、前記一の制御部は、前記不揮発性メモリーの動作を中断させる中断指令部を更に備え、前記他の制御部が停止した前記処理が消去である場合、前記他の制御部が停止した前記消去の消去対象アドレスを取得し、前記書込部は、前記処理内容を消去中とするとともに消去対象アドレスを少なくとも含む前記遮断時情報を、前記中断指令部が前記不揮発性メモリーの動作を中断した後に前記不揮発性メモリーに書き込み、前記処理部は、前記次回電源オン時に、前記遮断時情報に含まれる処理内容が消去中であった場合、前記復旧処理として前記不揮発性メモリーに対して前記遮断時情報に含まれる前記消去対象アドレスで示された記憶領域のデータを再消去することが好ましい。
上記構成によれば、一の制御部は、他の制御部が停止した処理が消去である場合、他の制御部が停止した消去の消去対象アドレスを取得する。そして、書込部は、処理内容を消去中とするとともに消去先アドレスを少なくとも含む遮断時情報を、中断指令部が不揮発性メモリーの動作を中断した後に不揮発性メモリーに書き込む。そして、情報処理装置の次回電源オン時に、処理部は、復旧処理として、遮断時情報に含まれる処理内容が消去中であった場合、不揮発性メモリーに対して遮断時情報に含まれる消去対象アドレスで示される記憶領域のデータを消去する。よって、情報処理装置の次回電源オン時に、電源遮断時に中断した他の制御部によるデータ消去処理が行われた状態にすることができる。
本発明の態様の一つである情報処理装置では、前記一の制御部は、前記使用データ及び前記遮断時情報を前記不揮発性メモリーに書き込んだ後、前記他の制御部が停止した処理を前記不揮発性メモリーに再開させる再開指令部を更に備え、前記再開指令部が前記不揮発性メモリーに前記処理を再開させた後、当該処理が完了したか否かを判断し、前記処理が完了したと判断した場合は、前記不揮発性メモリーに書き込んだ前記遮断時情報中の処理内容を、停止した処理のない旨の内容に変更することが好ましい。
上記構成によれば、一の制御部は、書込部が使用データ及び遮断時情報を不揮発性メモリーに書き込んだ後、再開指令部に他の制御部が停止した処理を再開させる。一の制御部は、再開された処理が完了したか否かを判断し、処理が完了したと判断した場合は、不揮発性メモリーに書き込んだ遮断時情報の処理内容を、停止した処理のない旨の内容に変更する。このため、使用データ等を不揮発性メモリーに書き込んだ後、電源遮断までの残り時間を利用して再開した処理を行うことができる。そして、再開した処理を完了できた場合は、情報処理装置の次回電源オン時に、遮断時情報の処理内容が、停止した処理のない旨の内容になっているので、不揮発性メモリーに対する復旧処理を行わなくて済む。そして、電源遮断までの残り時間を利用しても、再開した処理を完了できなかった場合は、遮断時情報は変更されないので、情報処理装置の次回電源オン時に、遮断時情報の処理内容に応じた復旧処理が行われる。よって、情報処理装置の次回電源オン時に、復旧処理を行う頻度を低減できる。この結果、情報処理装置は起動後、速やかに本来の処理動作を開始できる頻度が高まる。
本発明の態様の一つである情報処理装置では、前記停止処理部及び前記処理部は前記一の制御部に設けられていることが好ましい。
上記構成によれば、一の制御部が停止処理部により他の制御部に処理の停止を指示することで、他の制御部は不揮発性メモリーに対する処理中の処理を停止する。また、電源オン時には、一の制御部が処理部により、電源遮断時に他の制御部が中断した処理の復旧処理を行う。一の制御部がメイン(第1優先度)となって電源遮断時における他の制御部に対する処理停止の指示、及び電源オン時の復旧処理を行うので、各処理を確実に行うことができる。
本発明の態様の一つは、不揮発性メモリーに対しデータの書込みと消去とを少なくとも行う複数の制御部のうち一の制御部が電源遮断検出時に、次回の電源オン時に使用する使用データを不揮発性メモリーに書き込む処理を行う情報処理装置におけるデータ記憶制御方法であって、情報処理装置の電源遮断を検出する電源遮断検出ステップと、電源遮断の検出時に、前記一の制御部が、前記不揮発性メモリーに対して前記他の制御部が処理中の処理を停止させる停止ステップと、前記停止ステップの後に前記一の制御部が前記使用データと前記他の制御部が停止した処理の処理内容を含む遮断時情報とを前記不揮発性メモリーに書き込む書込みステップと、前記情報処理装置の次回電源オン時に、前記一の制御部が前記不揮発性メモリーから読み出した前記遮断時情報に基づいて前記不揮発性メモリーに対して当該遮断時情報中の処理内容に応じた復旧処理を行う処理ステップとを備えたことを要旨とする。上記方法によれば、上記情報処理装置に係る発明と同様の作用効果を得ることができる。
本発明を具体化した第1実施形態における複合機の概略構成を示すブロック図。 三つのシステム(CPU)とフラッシュメモリー装置との機能構成を示すブロック図。 (a)はフラッシュメモリーの構造、(b)はデータ構造を示す模式図。 遮断時状態データのデータ構造を示す模式図。 電源遮断検出処理ルーチンを示すフローチャート。 電源起動処理ルーチンを示すフローチャート。 第2実施形態における遮断時状態データのデータ構造を示す模式図。 電源起動処理ルーチンを示すフローチャート。 第3実施形態における電源遮断検出処理ルーチンを示すフローチャート。
(第1実施形態)
以下、本発明を情報処理装置の一例である複合機に具体化した第1実施形態を、図1〜図6に基づいて説明する。図1に示すように、複合機11は、装置全体の制御を司るコントローラー12、装置内の各部に電力を供給する電源回路13、操作部14、表示部15、スキャンエンジン16、印刷エンジン17、ファクシミリ通信部(以下、「FAX通信部18」という。)及びネットワーク通信部19などを備える。
複合機11は、インクジェット式の複合型プリンターであって、一台で、スキャン、プリント、コピーの3つの機能を備える他、ファクシミリ機能及びネットワーク通信機能を備える。
スキャンエンジン16は、複合機本体に設けられた原稿台(図示省略)にセットされた原稿の画像を読み取る光学式(CCD方式又はCMOS方式)のラインセンサー、ライセンサーを有する読取ヘッドを走査させる動力源のスキャンモーター及びその駆動回路等により構成される。スキャンエンジン16は、コントローラー12からのコマンドに従って駆動し、読取ヘッドの走査中にラインセンサーが読み取った画像信号をコントローラー12へ出力する。コントローラー12はスキャンエンジン16から入力した画像信号を基に画像データを生成する。
印刷エンジン17は、図示しない用紙(記録媒体)を搬送する搬送機構、搬送機構を駆動する動力源となるモーター、搬送される用紙にインク滴を噴射して用紙に文書や画像等の印刷を施すインクジェット式の記録ヘッドなどにより構成される。複合機11におけるプリンター部が例えばシリアルプリンターであれば、記録ヘッドが設けられたキャリッジを走査させる動力源となるモーターも印刷エンジン17に備えられる。印刷エンジン17は、コントローラー12から入力する画像データ及び印刷コマンドに基づいて駆動される。このとき記録ヘッドは画像データのドット(画素)に応じてインク滴を噴射する。なお、記録ヘッドは、インクジェット記録方式以外に、ドットインパクト記録方式や、トナーを用紙に定着させて印刷するレーザー記録方式でもよい。
複合機11には、印刷エンジン17を構成する記録ヘッドへインク(トナーを含む)(流体)を供給するインク供給源であるインクカートリッジ20が装着される。インクカートリッジ20の本体には、インク種やインク残量などの情報を記憶する記憶素子21(メモリー付き集積回路)が実装されている。コントローラー12は、記憶素子21に対してデータの読み出し及び書き込みが可能になっており、例えば電源オフ時に記憶素子21に更新されたインク残量等を含むデータを書き込む。
コピーの場合、コントローラー12は、スキャンエンジン16からの画像信号を基に生成した原稿の画像データを印刷コマンドと共に印刷エンジン17に送る。そして、印刷エンジン17を構成する記録ヘッドが画像データを基にインク滴を噴射し、用紙に原稿の画像を印刷(コピー印刷)する。つまり、複合機11は、コントローラー12がスキャンエンジン16及び印刷エンジン17を駆動制御し、スキャンエンジン16で読み取った原稿の画像データを基に印刷エンジン17に原稿の画像を印刷させることにより、原稿の「コピー」を行う。
スキャンの場合、複合機11は、コントローラー12がスキャンエンジン16を駆動して取得した原稿のスキャンデータを、ホスト装置へ転送する。また、複合機11は、不図示のホスト装置から受信した印刷データ、あるいはメモリーカード等の外部記憶媒体から読み込んだ画像データを基に、コントローラー12が印刷エンジン17を駆動制御することにより、用紙に文書や画像を印刷する。
また、FAX通信部18は不図示の電話回線に接続され、電話回線を介した着信を検出可能なリング検出部を備える。コントローラー12は、リング検出部からのリング検出信号の入力により電話回線を介したファックスの着信があることを認知すると、FAX通信部18を接続状態とし、電話回線を介して送られてきたファックスデータを、FAX通信部18を介して受信する。このFAX通信部18は、複合機11からファックスデータを送信する際にも使用される。
ネットワーク通信部19は、家庭内LANや社内LANを構築するため、あるいはインターネットに接続するためのものであり、所定の通信プロトコルに従って通信制御を行う公知の通信インターフェイスである。複合機11は、ネットワーク通信部19を介してネットワーク上の他の通信機器、端末やサーバーとの通信が可能になる。
また、図1に示すように、複合機11には、操作部14の1つとして電源スイッチ14Aが設けられている。ユーザーは電源スイッチ14Aを操作することにより、複合機11の電源をオン/オフする。電源スイッチ14Aは電源回路13に接続されており、電源スイッチ14Aがオン操作された際の電源オン信号と、オフ操作された際の電源オフ信号とが電源回路13に入力される。電源回路13は、電源オフ状態で電源スイッチ14Aが操作された際の電源オン信号を入力すると、複合機11の電源をオンして装置内の各部に所定電圧の電力を供給し、この電源オン状態で電源スイッチ14Aが操作された際の電源オフ信号を入力すると、複合機11の電源をオフして装置内の各部への電力の供給を停止する。
また、図1に示すように、コントローラー12は、コンピューター25(マイクロコンピューター)及びリセットIC26を備えている。コンピューター25は、コントローラー12が行う各種制御等を司る。リセットIC26は、電源回路13に接続されている。リセットIC26は、電源回路13を監視し、停電やコンセント抜け(電源プラグのコンセントからの抜け)等が原因で、電源回路13に意図しない電源遮断が発生したことを検出する。リセットIC26は、意図しない電源遮断を検出したときには、コンピューター25にリセット信号RSを出力する。また、コントローラー12には電源回路13と共に二次電池13Aが接続されており、意図しない電源遮断が発生したときには、二次電池13Aの電力により所定時間(例えば10ミリ秒〜1秒未満の所定値)の間だけコンピューター25は動作状態を維持でき、必要なデータの保存処理などを行うことが可能である。
コンピューター25は、第1CPU31(中央処理装置)、第2CPU32、第3CPU33、ASIC34(Application Specific IC(特定用途向けIC))、RAM35及び不揮発性メモリーの一例であるフラッシュメモリー装置36を備えている。各部31〜36はバス37を介して互いに接続されている。第1CPU31は、フラッシュメモリー装置36に記憶されたプログラムを実行することにより、インクカートリッジ20の記憶素子21にアクセスする処理、スキャンエンジン16が読み取った原稿の画像データから印刷データを生成する処理、操作部14の操作による指示の受付け、表示部15の表示制御などを司る。第2CPU32は、フラッシュメモリー装置36に記憶されたプログラムを実行することにより、スキャンエンジン16の駆動制御及び印刷エンジン17の駆動制御などを司る。第3CPU33は、フラッシュメモリー装置36に記憶されたプログラムを実行することにより、FAX通信部18及びネットワーク通信部19の制御などを司る。すなわち、本実施形態の複合機11では、スキャンデータから印刷データを生成するデータ処理及びユーザーインターフェイス系の制御は第1CPU31が司り、スキャンエンジン16及び印刷エンジン17等のエンジン系の制御は第2CPU32が司り、さらにFAX通信及びネットワーク通信などの通信系の制御は第3CPU33が司る。もちろん、各CPU31〜33が担当する制御内容等は適宜変更することができる。
ASIC34は、複合機11が入力した画像データ(スキャンデータを含む)を基に、記録ヘッド内のヘッド駆動回路(図示省略)が使用可能なデータ形式のヘッド制御データを生成する画像処理を行う。ASIC34が生成したヘッド制御データは1回の印刷動作分ずつ記録ヘッドへ転送される。本例では、第1CPU31はスキャンデータからヘッド制御データを生成する過程でソフトウェアで処理する部分を担当し、ASIC34は電子回路等のハードウェアで処理する部分を担当する。なお、ASIC34を廃止し、第1CPU31が画像処理の全てをソフトウェア処理で行う構成としてもよい。
フラッシュメモリー装置36には、各CPU31〜33が実行するためのプログラム(例えばファームウェア)や各種の設定データなどが記憶されている。また、フラッシュメモリー装置36には、複合機11の稼動中に書き込まれることがあっても電源オフ時に書き込まれることのない非保証データNDと、電源オフ時に次回の電源オン時に使用するために書き込まれる使用データの一例としての保証データGD(それぞれ図3(b)参照)とが記憶される。
ここで、保証データGDには、複合機11が印刷を行うことにより更新されるインク残量などの更新情報が含まれる。この更新情報には、インク残量の他、記録ヘッドのクリーニング回数(メンテナンス回数)、リアルタイムクロックの時刻情報などが含まれる。また、本実施形態の保証データGDには、更新情報以外に、メカ設定情報も含まれる。このメカ設定情報には、走査型の記録ヘッドの場合にその記録ヘッドを搭載するキャリッジの走査上の基準位置や走査速度に関する情報、搬送機構が用紙を搬送する際の基準位置や搬送速度に関する情報などが含まれる。さらに保証データGDには、複合機11が印刷したテストパターンの中から最適な印刷結果であるとユーザーが判断して入力した1つのテストパターンに対応する番号を基に設定された噴射タイミング調整値なども含まれる。なお、保証データGDには、搬送系、記録ヘッド走査系、クリーニング系の各種モーター等の駆動時間や駆動回転数などの稼働履歴情報が含まれてもよい。
本実施形態では、フラッシュメモリー装置36への保証データGDの書込みは、第1CPU31が行う。フラッシュメモリー装置36に記憶されたプログラムには、図5にフローチャートで示す電源遮断検出処理ルーチンのプログラムが含まれており、第1CPU31は、停電やコンセント抜け等の意図しない電源遮断検出時にこのプログラムを実行することにより、保証データGDのフラッシュメモリー装置36への書込みを行う。
一方、非保証データNDは、複合機11の電源オンから電源オフまでの1回の稼動中にのみ使用されるデータである。非保証データNDには、各CPU31〜33が、制御あるいは処理を行ううえで一時的に取得した各種情報や演算結果等のデータが含まれる。このため、非保証データNDは、次回の電源オン時に使用されることがない。
各CPU31〜33はフラッシュメモリー装置36にアクセスしてプログラム及び各種設定データを読み出す。フラッシュメモリー装置36に記憶されたプログラムPRには、第1CPU31が実行すべき第1プログラムPR1と、第2CPU32が実行すべき第2プログラムPR2と、第3CPU33が実行すべき第3プログラムPR3とを含む。なお、プログラムPRには、ブートプログラム、OS(オペレイティング・システム)用プログラムの他、スキャン、印刷、コピー等の所定動作を行わせるためのファームウェアプログラムなどが含まれる。
各CPU31〜33は、複合機11の電源オン時にフラッシュメモリー装置36からプログラムPR及びデータを読み出してRAM35に展開する。各CPU31〜33は複合機11の稼動中に逐次更新されるデータをRAM35に書き込む。また、第1CPU31は、複合機11の電源オフ時にRAM35から最新の保証データGDを読み出してその保証データGDをフラッシュメモリー装置36に書き込むことにより、最新の保証データGDを電源オフ中においても保存する。
次に、各CPU31〜33の機能構成及びフラッシュメモリー装置36の構成を、図2を用いて説明する。
図2では、各CPU31〜33が例えばフラッシュメモリー装置36から読み出した所定のプログラムを実行することにより、その内部に構築される機能部分を示している。すなわち、図2に示すように、第1プログラムPR1を実行する第1CPU31により第1システム40が構築され、第2プログラムPR2を実行する第2CPU32により第2システム50が構築され、さらに第3プログラムPR3を実行する第3CPU33により第3システム60が構築される。
第1プログラムPR1は、インク情報管理系、データ処理系及びユーザーインターフェイス系のプログラムを含む。さらに第1プログラムPR1は、電源遮断検出処理用のプログラム(図5参照)を含む。共通プログラムには、フラッシュメモリー装置36に対して読出し、書込み、消去などの基本的なメモリー制御を指示するためのメモリー制御プログラムが含まれている。よって、第1プログラムPR1を第1CPU31が実行することにより構築される第1システム40は、第1制御部41、インク情報管理部42、画像処理部43、表示制御部44、電源遮断検出部45、停止指令部46、第1判定部47、第2判定部48及びメモリー制御部49を備えている。
また、第2プログラムPR2は、スキャン、印刷及びコピーのためのエンジン系のプログラムを含む。よって、上記の第2プログラムPR2を第2CPU32が実行することにより構築される第2システム50は、第2制御部51、スキャン制御部52、印刷制御部53、第1システム40のものと同様の電源遮断検出部45及びメモリー制御部54を備えている。メモリー制御部54は第1システム40のメモリー制御部49と基本構成は同じであるが、第1システム40のメモリー制御部49には、電源遮断検出処理(図5)で使用される機能が追加されている。
さらに第3プログラムPR3は、FAX系、通信系のプログラムを含む。よって、第3プログラムPR3を第3CPU33が実行することにより構築される第3システム60は、第3制御部61、FAX処理部62、通信処理部63、第1システム40のものと同様の電源遮断検出部45及びメモリー制御部64を備えている。メモリー制御部64は第2システム50のメモリー制御部54と基本構成は同じである。
メモリー制御部49は、読出部71、書込部72、消去部73、チップセレクト処理部74(図2では「CS処理部74」と記す)、状態確認部75、中断指令部76及び再開指令部77を備えている。3つのシステム40〜60のメモリー制御部49,54,64は、これらの各部71〜77をそれぞれの基本的な機能構成として備えるが、第1システム40のメモリー制御部49は、各部72、74〜76を用いて、電源遮断検出処理における所定の処理を行う。なお、各システム40〜60を構成する各部の詳細は後述する。
次に、フラッシュメモリー装置36の構成を説明する。図2に示すように、フラッシュメモリー装置36(以下、単に「フラッシュメモリー36」ともいう)は、メモリー制御回路81及びフラッシュメモリー部82を備えている。メモリー制御回路81は、バス37(図1参照)を介して3つのCPU31〜33と通信可能に接続されている。メモリー制御回路81は、各CPU31〜33から、読出し、書込み、消去などの処理を命令する各種のコマンドと、そのコマンドに従って処理する際のデータの読出し元、書込み先、消去先のアドレスとを入力する。
図2に示すように、メモリー制御回路81はレジスター群83を内蔵する。レジスター群83のうちの状態レジスター84は、フラッシュメモリー36がCPU31〜33から受け付けたコマンドに基づいて、メモリー制御回路81が行うデータの読出し、データの書込み、データの消去などの処理中であるかどうかその状態(ステイタス)を管理する。
また、メモリー制御回路81は、中断処理部85及び再開処理部86を備える。中断処理部85は、処理中の処理を中断させるとともに、フラッシュメモリー36が動作中でなくなり処理の中断を終えると、状態レジスター84をレディー状態の値に変更する。また、再開処理部86は、中断処理部85により中断していた処理を再開する。
状態レジスター84には、メモリー制御回路81が指示されたコマンドに基づく処理中はビジー状態の値が格納され、コマンドに基づく処理を終えるとレディー状態の値が格納される。このため、各システム40〜60は状態レジスター84のフラグ値に基づき、指示したコマンドに基づく処理を終えたか否かの判定が可能となっている。
フラッシュメモリー部82には、フラッシュメモリーセル87、ロウデコーダー88、カラムデコーダー89などを備えている。また、フラッシュメモリー部82は、その他に、公知のコマンドデコーダー、制御論理回路、ロウアドレスバッファー、カラムアドレスバッファー、データ制御回路、及び入出力バッファー(いずれも図示せず)を備えている。
フラッシュメモリーセル87は、複数のメモリーセル(メモリー素子)(図示省略)がマトリクス配列されて構成されている。各メモリーセルは互いに交差する複数本のワード線と複数本のビット線の交差部に配置されている。ロウデコーダー88はワード線の選択駆動等を行い、一方のカラムデコーダー89はビット線の選択駆動等を行う。
メモリー制御回路81から転送されるアドレス信号のうちロウアドレスがロウデコーダー88に転送され、カラムアドレスがカラムデコーダー89に転送される。これにより、指定のロウアドレスとカラムアドレスとで特定されるメモリーセルが選択される。
図3(a)に示すように、フラッシュメモリーセル87は、ブロック0,1,…,Nの合計(N+1)個のブロックBLに分割されている。本例では、ブロックBLは全て同じ記憶容量を有し、データを消去する際の最小単位(消去単位)となる。1つのブロックBLの記憶容量は、例えば0.5〜20キロバイトの範囲内の所定値(一例として4キロバイト)である。
図3(b)は、フラッシュメモリーセル87に記憶された各種データを、図3(a)における各ブロックと対応させて示したものである。図3(a),(b)に示す例では、プログラムPR(プログラムPR1〜PR3)は、ブロック0〜ブロックJ−1に記憶されている。非保証データNDは、ブロックJ〜ブロックN−2を使用して書き込まれる。また、保証データGDは、N−1番目のブロックN−1を使用して書き込まれる。さらに本実施形態では、N番目のブロックNには、遮断時情報の一例である遮断時状態データSDを書き込むための記憶領域が確保されている。なお、遮断時状態データSDは、保証データGDの記憶領域の一部の空き領域を利用して書き込む構成としてもよい。
フラッシュメモリー装置36では、ブロックのデータが消去されると、ブロック中の各1バイトは「FF」(16進数)の値(「11111111」)をとる。そして、ビットは「1」→「0」への変更は可能であるが、その逆は不可能である。このため、データを書き込むと、その書き込んだ記憶領域を再び使用するためには、その記憶領域の属するブロックBLのデータを消去する消去処理が必要になる。
ここで、保証データGDは、インクやトナー等の印刷用材料の残量など、所定動作の実施と共に変化する可変情報と、モーターの駆動開始位置(原点)などの工場出荷時に設定された不変情報(固定情報)とから構成される。印刷媒体の残量を検出するセンサーを備えたプリンター部を有する複合機11であれば、可変情報の一情報として印刷媒体の残量を含めてもよい。また、複合機11の使用料金をユーザーから徴収する構成の場合、所定動作の回数(例えば印刷枚数)などと共に変化する課金情報を、データの一情報として含めてもよい。なお、可変情報には時間情報(経過時間計測情報や時刻情報)も含めてよい。
ここで、本実施形態の第1システム40は、停電やコンセント抜け等の意図しない電源遮断検出時に、保証データGDをフラッシュメモリー装置36に書き込むため、他のシステム50,60のフラッシュメモリー装置36に対する処理(消去処理又は書込み処理)を停止させる。そして、第1システム40は、他のシステム50,60の処理を停止させた後、保証データGDをフラッシュメモリー装置36の所定のブロックBL(図3の例ではブロックN−1)に書き込む。遮断時状態データSDは、他のシステム50,60が停止(中断)した処理の処理内容を示すデータであり、フラッシュメモリー装置36の所定のブロックBL(図3の例ではブロックN)に書き込むものである。この遮断時状態データSDは、複合機11の意図しない電源遮断の後、次回の電源オン(電源投入)時に、第1システム40が電源遮断時に停止させた他のシステム50,60の処理内容に応じた処理を行うために使用される。
図4に示すように、遮断時状態データSDは、システム名D1、状態D2及び対象アドレスADの各データを含む。システム名D1は、停止指令を受け付けたシステム名のデータであり、本例では第2システム50の名称である「第2システム」と第3システム60の名称である「第3システム」とがある。状態D2は、他のシステム50,60が第1システム40から停止指令を受け付けたときのフラッシュメモリー装置36に対する処理の状態、すなわち処理内容を示し、その内容には「消去中」、「書込み中」及び「実行なし」の3種類がある。対象アドレスADは、状態が「消去中」又は「書込み中」のときに、その処理の対象となる記憶領域のアドレスを示す。
次に各システム40〜60の詳細を説明する。まず第1システム40の構成を説明する。図2に示す第1制御部41は、第1システム40の制御を司る他、操作部14(図1参照)からの入力を受付ける。インク情報管理部42は、複合機11の起動時にインクカートリッジ20の記憶素子21にアクセスしてインク残量等を含むインク関連データを読み出し、複合機11の稼動中において更新されたインク残量等を含むインク関連データを記憶素子21に書き込む。画像処理部43は、スキャン時及びコピー時にスキャンエンジン16(図1参照)が読み取ったスキャンデータを基に圧縮形式の画像データ(スキャン時)やヘッド制御データ(コピー時)等の所定形式のデータを生成する。表示制御部44は、表示部15(図1参照)にメニュー画面や設定画面等を表示するための表示制御を行う。
電源遮断検出部45は、リセットIC26(図1参照)からリセット信号を入力したことをもって、停電やコンセント抜け等の意図しない電源遮断を検出する。詳しくは、電源遮断時にリセットIC26からのリセット信号に基づく割込要求(NMI(Non-MaskableInterrupt)(マスク不可割込))を受け付けたことをもって、電源遮断を検出する。
停止指令部46は、電源遮断検出部45が意図しない電源遮断を検出すると、他のシステム50,60がフラッシュメモリー装置36に対して現在行っている処理を停止させるべく各システム50,60に停止指令を出力する。
第1判定部47は、割込要求(NMI)を受け付けた電源遮断検出時に、フラッシュメモリー36がビジー状態(動作中)であるか否かを判定する。また、第1判定部47は、電源遮断検出時にビジー状態と判定すると、書込み処理に要する書込み時間を待った後に、フラッシュメモリー装置36がビジー状態(動作中)であるか否かを判定する。さらに第1判定部47は、メモリー制御部49がフラッシュメモリー装置36の動作を中断させるためのサスペンドコマンドを発行した後、フラッシュメモリー装置36がビジー状態(動作中)であるか否かを判定する。この判定は、フラッシュメモリー装置36の現在のステイタスを示すフラグ値が格納される状態レジスター84の値に基づき行われる。すなわち、第1判定部47は、フラッシュメモリー36の状態レジスター84からその値を読み出し、その読み出した値がビジーの旨の値であれば、ビジー状態であると判定する。なお、状態レジスター84は、メモリー制御回路81が読出処理中及び書込処理中等の処理中にある場合のビジー状態の値と、これらの処理を行っていないときのレディ状態の値とをとる。
メモリー制御部49は、フラッシュメモリー装置36に対して、データの読出処理、データの書込処理、データの消去処理、及びこれらの処理以外の所定のコマンドを出力するコマンド出力処理を行う。メモリー制御部49の書込部72は、非保証データNDの書込みの他、保証データGDの書込みも担当する。また、メモリー制御部49は、意図しない電源遮断検出時に、フラッシュメモリー装置36に対して保証データGDの書込みを行う。このときメモリー制御部49は、停止指令部46が各システム50,60に対して停止(中断)させたフラッシュメモリー装置36に対する処理についての電源遮断時の処理状態を示す遮断時状態データSD(図4参照)を作成し、保証データGDと共にこの遮断時状態データSDをフラッシュメモリー装置36に書き込む処理を行う。
本実施形態では、各システム50,60の制御部51,61は、フラッシュメモリー装置36に対する処理の停止指令を受け付けると、そのときフラッシュメモリー装置36に対する処理の実行中にあれば、その実行中の処理を停止させる。
そして、第1制御部41は、遮断時状態データSDを、フラッシュメモリー装置36の予め用意された記憶領域に書き込むか、あるいは保証データGDの書込領域のうち一部の空き記憶領域に書き込む。この遮断時状態データSDには、第2システム50又は第3システム60がRAM35に書き込んだ対象アドレスADが含まれる。
また、第1制御部41は、複合機11が意図しない電源遮断をした後、次回の電源オン時(電源投入時)にフラッシュメモリー装置36から保証データGD及び遮断時状態データSDを読み出す。第2判定部48は、遮断時状態データSDに基づいて電源遮断検出時に他のシステムに停止(中断)させた処理内容を判定する。処理内容には「消去中」、「書込み中」及び「実行なし」が含まれ、第2判定部48は「消去中」であるか否かの判定と、「書込み中」であるか否かの判定とを行う。
次に第2システム50の構成を説明する。第2制御部51は、第2システム50の制御を司る。スキャン制御部52は、スキャン時及びコピー時にスキャンエンジン16(図1参照)を制御する。印刷制御部53は、コピー時及び印刷時に印刷エンジン17(図1参照)を制御する。
電源遮断検出部45は、第1システム40のものと同様の構成であり、リセットIC26(図1参照)からリセット信号に基づく割込要求(NMI)を入力したことをもって、停電やコンセント抜け等の意図しない電源遮断を検出する。
メモリー制御部54は、第1システム40側のメモリー制御部49と同様の機能構成を有しており、フラッシュメモリー装置36に対して、データの読出処理、データの書込処理、データの消去処理、及びこれらの処理以外の所定のコマンドを出力するコマンド出力処理を行う。但し、メモリー制御部54の書込部72は、非保証データNDの書込みは行うが、保証データGDの書込みは担当しない。
本例の第2制御部51は、第1システム40の停止指令部46から停止指令を受け付けると、メモリー制御部54に対して現在処理中の処理の停止を指示する。メモリー制御部54は、第2制御部51から停止の指示を受け付けると、そのときフラッシュメモリー装置36に対して処理中の処理を停止(中断)する。メモリー制御部54は、例えばフラッシュメモリー装置36の所定記憶領域(ブロック)のデータ消去中であれば、そのデータ消去処理を中断する。また、メモリー制御部54は、フラッシュメモリー装置36へのデータの書込み処理中であれば、そのデータの書込み処理を中断する。
例えばデータの書込み処理中であって、第2システム50のメモリー制御部54がデータの書込み処理を中断したとき、データの転送開始前であってかつ書込コマンドが既に出力された後であれば、その書込コマンドはフラッシュメモリー装置36に入力される。そのときチップセレクトされているので、メモリー制御回路81は、データの入力を待つ。第2システム50の処理停止後、第1システム40が書込コマンドを出力した場合、メモリー制御回路81は、第1システム40からの書込コマンドをデータとみなしてフラッシュメモリーセル87に書き込んでしまう。これを防ぐために、第1システム40のCS処理部74は、CS信号をハイレベルにし、チップセレクトを解除する。
次に第3システム60の構成を説明する。第3制御部61は、第3システム60の制御を司る。FAX処理部62は、FAXの受信及び送信時にFAX通信部18(図1参照)を制御する。通信処理部63は、ネットワークを介した通信時にネットワーク通信部19(図1参照)を制御する。また、電源遮断検出部45は、各システム40,50のものと同様の構成であり、停電やコンセント抜け等の意図しない電源遮断を検出する。
メモリー制御部64は、第2システム50側のメモリー制御部54と同様の機能構成を有している。すなわち、メモリー制御部64は、フラッシュメモリー装置36に対して、データの読出処理、データの書込処理、データの消去処理、及びこれらの処理以外の所定のコマンドを出力するコマンド出力処理を行う。
第3制御部61は、第1システム40の停止指令部46から停止指令を受け付けると、メモリー制御部64に対して現在処理中の処理の停止を指示する。メモリー制御部64は、第3制御部61から停止の指示を受け付けると、そのとき処理中の処理を停止(中断)する。
次にメモリー制御部49,54,64を構成する各部の詳細な構成を説明する。
読出部71は、フラッシュメモリー装置36から各種のデータを読み出す読出処理を行う。特に複合機11の電源オン時には、読出部71は、前回の電源オフ時に書き込まれた保証データGDをRAM35上に読み出す読出処理を行う。また、読出部71は、複合機11の稼動中に必要な非保証データNDを読み出す読出処理も行う。
書込部72は、フラッシュメモリー装置36に各種データを書き込む書込処理を行う。特に複合機11の電源オフ時に、複合機11の稼動中に更新されたRAM35上の保証データGDを、フラッシュメモリー装置36に書き込む書込処理を行う。また、書込部72は、非保証データNDのフラッシュメモリー装置36への書込処理を行う。
消去部73は、フラッシュメモリー装置36のデータを消去する消去処理を行う。本例のフラッシュメモリー装置36では、ブロックBLが消去の最小単位なので、消去部73はブロック単位でデータの消去を行う。
CS処理部74は、フラッシュメモリー装置36に対してチップセレクトの指示と、チップセレクトの解除とを行う。ここで、読出部71及び書込部72はそれぞれのコマンド(読出コマンド又は書込コマンド)を出力するときにチップセレクトし、コマンドの出力を終えてデータの転送を開始する前にチップセレクトを解除する。本例では、チップセレクトは、各部71,72がチップセレクト信号(CS信号)をローレベルにすることにより行われ、チップセレクトの解除は、各部71,72がチップセレクト信号(CS信号)をハイレベルにすることにより行われる。CS処理部74は、各部71,72が読出コマンド又は書込コマンドの出力のときに行ったチップセレクトを強制的に解除する処理を行う。
状態確認部75は、フラッシュメモリー装置36の状態レジスター84の値を取得し、その取得した値に基づいてフラッシュメモリー装置36(詳しくはメモリー制御回路81)の処理状態(ステイタス)を確認する。状態確認部75は、状態レジスター84の値に基づいて、メモリー制御回路81が、レディ状態、ビジー状態(読出中又は書込中等)のうちいずれの状態であるかを確認する。
中断指令部76は、フラッシュメモリー装置36のメモリー制御回路81に現在処理中の処理を中断させるためのサスペンドコマンドを、フラッシュメモリー装置36に対して発行する。
再開指令部77は、フラッシュメモリー装置36のメモリー制御回路81にサスペンドコマンドの発行により中断させていた処理を再開させるためのレジュームコマンドを、フラッシュメモリー装置36に対して発行する。
一方、第2システム50内のメモリー制御部54は、第1システム40内のメモリー制御部49と基本的に同様の機能構成を有している。すなわち、メモリー制御部54は、読出部71、書込部72、消去部73、チップセレクト処理部74、状態確認部75、中断指令部76及び再開指令部77を同様に有している。
メモリー制御回路81は、CPU31〜33から入力したコマンドに応じて、データの読出し、データの書込み、ブロックBL単位でのデータの消去などをフラッシュメモリー部82に指示する。これにより、読出し元のアドレスからのデータの読出し、書込み先のアドレスへのデータの書込み、消去先のアドレスにあるデータの消去が行われる。
メモリー制御回路81は、書込コマンドを入力したときには、このコマンド入力に続いてCPU31〜33から転送されてきたデータを、フラッシュメモリーセル87内の指定されたアドレスに書き込む。また、メモリー制御回路81は、読出コマンドを入力すると、フラッシュメモリーセル87内の指定されたアドレスからデータを読出し、そのデータをCPU31〜33のうちコマンド出力元の一方へ転送する。さらに、メモリー制御回路81は、消去コマンドを入力すると、フラッシュメモリーセル87内の指定されたアドレスのデータをブロックBL単位で消去する。
メモリー制御回路81は、CPU31〜33からの読出し、書込み、消去などのコマンドに応じた制御信号、アドレスを指定するアドレス信号をフラッシュメモリー部82へ出力する。また、メモリー制御回路81とフラッシュメモリー部82はデータ線で接続され、メモリー制御回路81からフラッシュメモリー部82への書込みデータの転送と、フラッシュメモリー部82からメモリー制御回路81への読出しデータの転送は、データ線を介して行われる。
CPU31〜33は、メモリー制御回路81へ消去コマンドを送った後、状態レジスター84のフラグ値が、ビジー状態の値であるうちはデータの消去処理中であると判断する。そして、CPU31〜33は、状態レジスター84のフラグ値が、ビジー状態の値からレディー状態の値に切り換わったことをもって、消去処理が終了したと判断する。もちろん、状態レジスター84に替えてもしくは追加して、消去処理専用の消去レジスターを設け、CPU31〜33が消去レジスターの値に基づき消去処理の終了を把握する構成を採用してもよい。
第1CPU31は電源オン時にフラッシュメモリー装置36に読出コマンドを送ることにより、保証データGDを読み出す読出処理を行い、メモリー制御回路81から送られてきた保証データGDをRAM35に書き込む。そして、複合機11の稼働中(電源オン状態)は、RAM35にアクセスすることによりデータの読出し及び書込みを行い、書込みを行う度にデータは更新される。また、第1CPU31は電源オフ時にフラッシュメモリー装置36に書込コマンドを送ることにより、RAM35のデータをフラッシュメモリー装置36へ書き込む書込処理を行う。
次に、複合機11の作用を、図5及び図6に示すフローチャートに基づいて説明する。複合機11の稼動中において、停電やコンセント抜け等の意図しない電源遮断が発生したときには、この意図しない電源遮断がリセットIC26により検出され、リセットIC26からリセット信号RSが出力される。第1システム40内の電源遮断検出部45は、リセットIC26からリセット信号RSに基づく割込要求(NMI)の入力があったことをもって、意図しない電源遮断の発生を検出する。この電源遮断検出部45が意図しない電源遮断を検出すると、第1CPU31は、図5にフローチャートで示す電源遮断検出処理ルーチンを実行する。
まずステップS1では、他のシステムの停止処理を行う。すなわち、第1システム40は、第2システム50と第3システム60に停止指令を送り、フラッシュメモリー装置36に対する処理を停止させる。
ステップS2では、フラッシュメモリー36のチップセレクトを解除する。例えば他のシステム50,60の処理停止時に既に書込コマンドを出力していた場合、第1システム40がその後の処理で出力した書込コマンドがフラッシュメモリー36にデータとして書き込まれてしまう。これを回避するためにチップセレクトを解除する。
ステップS3では、フラッシュメモリー36のステイタスを確認する。すなわち、状態確認部75がフラッシュメモリー36の状態レジスター84の値を取得し、その値からステイタスを把握する。例えばフラッシュメモリー36が他のシステム50,60から入力したコマンド(例えば書込コマンド、読出コマンド、消去コマンド)の処理中である場合、状態レジスター84はビジー(処理中)の値になっている。一方、フラッシュメモリー36が処理中でない場合、状態レジスター84はレディーの値になっている。
ステップS4では、フラッシュメモリー36がビジーであるか否かを判断する。ここで、ビジー状態には、書込み中と読出し中と消去中の場合があるが、状態レジスター84の値からはどの処理中であるかは判別できない。このため、第1判定部47は、フラッシュメモリー36がビジーであるか否かの判断をもって書込み中であるか否かを判断する。判定の結果、ビジーでなければ(例えばレディーであれば)ステップS5に進み、ビジーであればステップS6に進む。
ステップS5では、「実行なし」の状態とする。例えば他のシステム50,60がフラッシュメモリー36に対する処理を実行していない場合と読出し中の場合は、「実行なし状態」とする。
ステップS6では、フラッシュメモリー36が書込処理を終了するまでの書込み時間を待つ。本例では複合機11で扱われるデータの容量から想定される書込所要時間の最大値にマージンを加えた書込み時間が設定されている。書込み時間は、消去処理に要する消去時間に比べ十分短いので、二次電池13Aの電力によりCPUを動作状態に保持できる保持時間からみて、この書込み時間を待っても、保証データGDの書込み時間は十分確保される。但し、消去時間を待つと、その後の保証データGDの書込みができなくなる可能性が高くなるため、書込み時間だけ待つことにしている。また、書込み時間を待つことでフラッシュメモリー36がビジーでなくなれば、他のシステム50,60の処理が書込みであったと判別でき、書込み時間を待ってもフラッシュメモリー36がビジーであれば、他のシステム50,60の処理が消去であったと判別することが可能である。
次のステップS7では、フラッシュメモリー36がビジーであるか否かを判断する。ここで、ビジー状態には、書込中の場合と読出中の場合と消去中の場合とがあるが、状態レジスター84の値からはどの処理中であるかは判別できない。このため、第1判定部47は、フラッシュメモリー36がビジー(動作中)であるか否かの判断をもって、消去中であるか否かを判断する。すなわち、第1判定部47は、状態レジスター84の値を取得し、その値がフラッシュメモリー36の動作中を示すビジーの値であるか否かを判定する。フラッシュメモリー36がビジーでなければステップS8に進み、ビジーであればステップS9に進む。
ステップS8では、「書込み中」の状態とする。つまり、書込み時間を待った後にフラッシュメモリー36が動作中でなくなった場合は、書込み中とする。このとき書込みが終了していても、1つのデータを複数回に分けて書き込む場合があるため、その書込みデータが断片的なデータとなっている可能性が高い。
ステップS9では、「消去中」の状態とする。つまり、書込み時間を待った後もフラッシュメモリー36がビジー(動作中)である場合は、消去中とする。
ステップS10では、サスペンドコマンドを発行する。すなわち、中断指令部76がフラッシュメモリー36に対してサスペンドコマンドを発行する。フラッシュメモリー36内のメモリー制御回路81はサスペンドコマンドを受け付けると、中断処理部85に中断処理を指示する。中断処理部85は、処理中の処理(例えば消去処理)を中断させるとともに、フラッシュメモリー36が処理の中断を終えると、状態レジスター84をレディーの値に変更する。例えば消去中であった場合、その消去処理は中断され、その中断が完了すると、状態レジスター84がレディー状態の値になる。
ステップS11では、フラッシュメモリー36がビジーであるか否かを判断する。すなわち、第1判定部47は、状態レジスター84の値を取得し、その値がビジーの値であれば、フラッシュメモリー36の動作中を示すビジーと判断する。フラッシュメモリー36がビジー(動作中)であるうちはそのまま待機し、ビジーでなければステップS12に進む。つまり、サスペンドコマンドの発行から、そのサスペンドコマンドによって実際にフラッシュメモリー36が動作を終了させるまで待機した後、ステップS12に進む。
ステップS12では、保証データGDと遮断時状態データSDとを書き込む。すなわち、第1システム40の書込部72は、RAM35から読み出した保証データGDを、フラッシュメモリーセル87内のブロックN−1の先頭アドレスを指定してフラッシュメモリー36に書き込む。さらに第1システム40の書込部72は、RAM35から遮断時状態データSDを読み出し、その読み出した遮断時状態データSDを、フラッシュメモリーセル87内のブロックNの先頭アドレスを指定してフラッシュメモリー36に書き込む。こうして、二次電池13Aの電力に基づく保持時間内に、保証データGD及び遮断時状態データSDのフラッシュメモリー36への書込処理を終了できる。
ここで、第1システム40は、遮断時状態データSDを次のように作成する。停止指令を受け付けた他のシステム50,60は、処理の停止後、システム名及び停止した処理の対象アドレスなどの必要な情報を、RAM35の所定記憶領域に書き込んでいる。第1システム40は、RAM35の所定記憶領域から読み出したこれらの情報と、ステップS5,S8,S9で確定された処理内容(実行なし/書込み中/消去中のうちのいずれか1つ)の情報とを用いて、図4に示す遮断時状態データSDを作成する。こうして電源遮断検出時には、保証データGDと遮断時状態データSDとがフラッシュメモリー36の所定ブロックに書き込まれる。このため、複合機11が電源遮断された後の電源オフ中も、各データGD,SDはフラッシュメモリー36に保存される。
その後、停電の復旧、電源プラグのコンセントへの差し込みなどにより電源遮断の原因が取り除かれ、ユーザーが電源スイッチ14Aを操作して複合機11を電源オンさせると(つまり電源が投入されると)、複合機11は起動する。この起動時に第1CPU31は、図6に示す電源起動処理ルーチンを実行する。以下、第1CPU31が実行する電源起動処理ルーチンを図6に基づいて説明する。
まずステップS11では、プログラムをRAM35に展開する処理を実行する。すなわち、第1CPU31はフラッシュメモリー36から第1プログラムPR1を読み出してRAM35に展開し、その展開した第1プログラムPR1を実行する。第1CPU31が第1プログラムPR1を実行するにより、第1システム40が起動する。
次のステップS12では、遮断時状態データSDをフラッシュメモリー36から読み出す。遮断時状態データSDには、「消去中/書込み中/実行なし」のうちのいずれか1つの状態が、前回の電源遮断時の処理内容として含まれる。
ステップS23では、消去中であるか否かを判断する。すなわち、第2判定部48は、遮断時状態データSD中の「状態」の値を取得し、その値から消去中であるか否かを判断する。例えば遮断時状態データSD中の状態値は2ビット値で表され、「00」が「実行なし」、「01」が「書込み中」、「10」が「消去中」となっており、第2判定部48は状態値が「10」(消去中)であるか否かを判断する。消去中であればステップS24に進み、消去中でなければステップS25に進む。
ステップS24では、消去中の記憶領域(ブロックBL)を再消去する。遮断時状態データSDには、前回の電源遮断時に停止した処理の対象アドレスが含まれている。第1制御部41は消去部73に対象アドレスを指定してデータの消去を指示する。そして、第1制御部41から消去の指示を受け付けた消去部73は、フラッシュメモリー36の対象アドレスで示されたブロックBL(対象記憶領域)のデータを消去する。
ステップS25では、書込み中であるか否かを判断する。すなわち、第2判定部48は、遮断時状態データSD中の「状態」の値を取得し、その値から書込み中であるか否かを判断する。詳しくは、第2判定部48は状態値が「01」(書込み中)であるか否かを判断する。書込み中であればステップS26に進み、書込み中でなければステップS27に進む。
ステップS26では、書込み中データの無効処理を行う。第1制御部41は消去部73に対象アドレスを指定して書込み中データの消去を指示する。そして、第1制御部41から消去の指示を受け付けた消去部73は、フラッシュメモリー36の対象アドレスで示されるブロックBLのデータを消去する。この消去によって、前回の電源遮断時の書込み中データが無効とされる。
次のステップS27では、第2システム50及び第3システム60の起動処理を行う。すなわち、第1CPU31は、第2及び第3CPU32,33に各プログラムPR2,PR3をそれぞれ実行させる。第2CPU32が第2プログラムPR2を実行することで第2システム50が起動され、第3CPU33が第3プログラムPR3を実行することで第3システム60が起動される。
その後、第1CPU31は、フラッシュメモリー36の所定ブロック(ブロックN−1)から保証データGDを読み出し、保証データGDを用いて所定の処理を行う。所定の処理としては、保証データGD中の例えばインク残量情報を用いて行われる処理、すなわちインク残量カウンター(図示せず)へのインク残量設定処理、表示部15に表示される印刷設定画面中のインク残量表示用画像(インジケーター画像)の作成処理及びインクエンド判定処理などが挙げられる。
以上詳述したように、本実施形態では、以下に示す効果を得ることができる。
(1)電源遮断検出時にフラッシュメモリー装置36に対する処理の優先度が高い第1システム40と、第1システム40よりも優先度の低い他のシステム50,60とが、同一のフラッシュメモリー36にアクセス可能な構成において、意図しない電源遮断検出時に、第1システム40は優先度の低い他のシステム50,60の処理を停止させる。このため、第1システム40は保証データGDをフラッシュメモリー36に書き込むことができる。このとき、処理を停止させた時の他のシステム50,60の状態(処理内容)を含む遮断時状態データSDをフラッシュメモリー36に保存し、次回の電源オン時に遮断時状態データSDに基づき電源遮断時の処理内容を把握し、その処理を複合機11の起動時に実行する。このため、意図しない電源遮断時に他のシステム50,60が処理を停止(中断)しても、その停止した処理が行われた状態で複合機11を起動できる。
(2)他のシステム50,60の停止を指令した後、フラッシュメモリー36がビジーであるか否かを判定し(S4)、ビジーでなければ「実行なし」状態とする(S5)。このため、電源遮断検出時に他のシステム50,60が処理の実行中でないことを比較的簡単に判定できる。
(3)フラッシュメモリー36がビジーであれば(S4で肯定判定)、フラッシュメモリー36の書込処理が終わると想定される書込み時間を待つ(S6)。そして、書込み時間を待った後もビジーである場合は消去中とし、ビジーでなくなった場合は書込み中とする。このため、他のシステム50,60から停止指令時の状態(処理内容)の情報を取得しなくても、他のシステム50,60の停止指令時の状態を把握できる。例えば他のシステム50,60が第1システム40に知らせるべき情報の量を少なくできる。
(4)他のシステム50,60の停止処理後、チップセレクトを解除する(S2)ので、第1システム40が保証データGDを書き込むために発行した書込コマンドが、データとしてフラッシュメモリーセル87に書き込まれてしまう事態を回避できる。
(5)書込み時間を待った後にフラッシュメモリー36がビジーであれば(S7で肯定判定)、サスペンドコマンドを発行するので、相対的に時間の短い書込処理は完了させつつ、相対的に時間の長い消去処理を中断させることができる。よって、消去処理の中断によって、第1システム40が保証データGDを最後まで書込む時間を確保できる。
(6)サスペンドコマンド発行後にフラッシュメモリー36がビジー(動作中)であるか否かを判定し、ビジー(動作中)でなくなると、保証データGDをフラッシュメモリー36に書き込む。よって、保証データGDの書込処理をより確実に行うことができる。例えばフラッシュメモリー36の動作中(つまり消去処理中又は消去処理の中断処理中)に保証データGDの書込コマンドを出力した場合、保証データが消去されてしまう虞がある。しかし、フラッシュメモリー36の動作中でないことを確認した後、保証データGDの書込みを行うので、保証データGDをその一部も消去されることなくフラッシュメモリー36に書き込むことができる。
(7)意図しない電源遮断が発生しても、保証データGDをフラッシュメモリー36に書き込むことができるので、複合機11の次回電源オン時に最新の保証データGDを読み出して使用できる。この結果、例えば正しいインク残量の情報を取得できる。よって、例えば、データ上はインク残量がインクエンドよりも多く残っているため、印刷を開始したものの、その印刷の途中でインク切れとなって印刷画像が途中までしか形成されない事態を極力防止できる。
(第2実施形態)
次に第2実施形態を図7及び図8に基づいて説明する。前記第1実施形態では、他のシステムが書込処理を中断した場合、次回の電源オン時に書込み中データの無効処理を行ったが、本実施形態では、次回の電源オン時に書込み中データの再書込みを行う構成である。そのため、遮断時状態データSDと電源起動処理ルーチンが前記第1実施形態と異なる。なお、この第2実施形態では、上記の相違点以外は、前記第1実施形態と同様の構成なので、共通な構成部分については説明を省略し、同一の符号を用いて説明する。
まず遮断時状態データSDについて説明する。図7に示すように、本実施形態の遮断時状態データSDは、システム名D11、状態D12、消去対象アドレスAD1、書込み先アドレスAD2及び書込みデータWDの各データを含む。システム名D11は、第1実施形態と同様で、第2システム50の名称である「第2システム」と第3システム60の名称である「第3システム」とがある。状態D2には、第1実施形態と同様で、「消去中」、「書込み中」及び「実行なし」の3種類がある。消去対象アドレスAD1は、状態が「消去中」のときにその消去の対象となるブロックBL(記憶領域)のアドレス(消去対象アドレス)を示す。書込み先アドレスAD2は、状態が「書込み中」のときに書込みデータWDの書込み先のアドレスを示す。
第1システム40(第1CPU31)は、第1実施形態と同様に図5に示す電源遮断処理ルーチンを実行する。但し、図5におけるステップS12では、図4に示す遮断時状態データSDに替え、図7に示す遮断時状態データSDをフラッシュメモリー36に書き込む。
ここで、第1システム40は、図7に示す遮断時状態データSDを次のように作成する。停止指令を受け付けた他のシステム50,60は、処理中であればその処理の停止後、システム名、停止した処理が消去処理であればそのときの消去の対象アドレス、停止した処理が書込み処理であればそのときの読出し元アドレス及び書込み先アドレスなどの必要な情報を、RAM35の所定記憶領域に書き込んでいる。なお、読出し元アドレスに替え、読出し元アドレスから読み出したデータ(書込みデータ)としてもよい。
第1システム40は、RAM35の所定記憶領域から読み出したこれらの情報と、ステップS5,S8,S9で確定された処理内容(実行なし/書込み中/消去中のうちのいずれか1つ)の情報とを用いて、図7に示す遮断時状態データSDを作成する。このとき、遮断時状態データSD中の書込みデータは、前述の読出し元アドレスを用いて第1システム40がRAM35の読出し元アドレスから読み出したデータ、あるいは他のシステム50,60が先にRAM35の読出し元アドレスから読み出してRAM35の所定記憶領域に書き込んだデータである。こうして電源遮断検出時には、保証データGDと遮断時状態データSDとがフラッシュメモリー36の所定ブロックに書き込まれる。このため、複合機11が電源遮断された後の電源オフ中も、各データGD,SDはフラッシュメモリー36に保存される。
その後、意図しない電源遮断の原因が取り除かれ、ユーザーが電源スイッチ14Aを操作して複合機11を電源オンさせると、複合機11は起動する。この起動時に第1CPU31は、図8に示す電源起動処理ルーチンを実行する。
ステップS31〜S34の処理は、第1実施形態の図6におけるステップS1〜S24の処理と同様である。但し、遮断時状態データSDは図7に示すものが読み出される。すなわち、ステップS32では、図7に示す遮断時状態データSDを読み出す。そして、次のステップS33で第2判定部48が消去中であると判断した場合(肯定判定)、ステップS34において、消去中の記憶領域(ブロックBL)を再消去する。
前回の電源遮断時に他のシステムの消去処理を停止した場合、図7に示す遮断時状態データSDには消去対象アドレスが含まれている。第1制御部41は消去部73に消去対象アドレスを指定してデータの消去を指示する。そして、第1制御部41から消去の指示を受け付けた消去部73は、フラッシュメモリー36の消去対象アドレスで示されたブロックBLのデータを消去する。
ステップS35では、書込み中であるか否かを判断する。すなわち、第2判定部48は、遮断時状態データSD中の「状態」の値を取得し、その状態値が書込み中を示す値(「01」)であるか否かを判断する。書込み中であればステップS36に進み、書込み中でなければステップS37に進む。
ステップS36では、書込み中データの再書込みを行う。第1制御部41は遮断時状態データSDから取得した書込みデータを同じく遮断時状態データSDから取得した書込み先アドレスに書き込む書込み処理を書込部72に指示する。そして、第1制御部41から書込みの指示を受け付けた書込部72は、フラッシュメモリー36の書込み先アドレスに書込みデータを書き込む。この書込みによって、前回の電源遮断時の書込み中データが再書込みされる。
そして、次のステップS37では、第2システム50及び第3システム60の起動処理を行う。その後、第1CPU31は、フラッシュメモリー36の所定ブロック(ブロックN−1)から保証データGDを読み出し、保証データGDを用いて、例えばインク残量に関する前述の所定処理を行う。
以上詳述したように第2実施形態によれば、以下の効果を得ることができる。
(8)電源遮断検出時に、他のシステム50,60が書込み処理を停止(中断)した場合、書込み先アドレスAD2及び書込みデータWDを含む遮断時状態データSDをフラッシュメモリー36に書き込む(S1,S8,S12)。そして、次回の電源オン時に、電源遮断時の状態が書込み中と判断した場合、遮断時状態データSDから取得した書込みデータWDをフラッシュメモリー36の書込み先アドレスAD2に書き込む書込み中データの再書込みを行う。よって、電源遮断時に他のシステムが書込み処理を中断しても、次回の電源オン時に他のシステムが書込み処理を完了した状態にすることができる。
(第3実施形態)
次に第3実施形態を図8及び図9に基づいて説明する。前記第1及び第2実施形態では、電源遮断検出処理(図5)の中で、書込み時間を待つ処理(S6)を行って、その後、ビジーであるか否かを判断して、他のシステム50,60の状態を把握したが(S8,S9)、本実施形態では、書込み時間を待つことなく他のシステム50,60の処理を停止(中断)させる構成である。そのため、電源遮断検出処理ルーチンが前記各実施形態と異なる。また、電源オン時は図8に示す電源起動処理ルーチンを採用する。なお、第1実施形態と同様の構成については説明を省略し、同一の符号を用いて説明する。
以下、本実施形態の複合機11における電源遮断検出処理ルーチンを、図9に基づいて説明する。ステップS41〜S44の処理は、図5におけるステップS1〜4の処理と同様である。ステップS44において、フラッシュメモリー36がビジーでなければステップS45に進み、保証データGDをフラッシュメモリー36に書き込む。一方、フラッシュメモリー36がビジーであればステップS46に進む。
ステップS46では、サスペンドコマンドを発行する。すなわち、中断指令部76がフラッシュメモリー36に対してサスペンドコマンドを発行する。フラッシュメモリー36内の中断処理部85は、サスペンドコマンドを受け付けると、メモリー制御回路81がフラッシュメモリー部82に対して実行中の処理を中断させるとともに、その中断が完了すると、状態レジスター84をレディーの値に変更する。例えばフラッシュメモリー36が書込処理中であれば書込処理が中断され、消去処理中であれば消去処理が中断される。
ステップS47では、フラッシュメモリー36がビジー(動作中)であるか否かを判断する。すなわち、第1判定部47が状態レジスター84の値がビジーの値であるか否かを判定する。フラッシュメモリー36がビジーであればそのまま待機し、処理の中断が終了してビジーでなくなればステップS48に進む。
ステップS48では、保証データGDと遮断時状態データSDとを書き込む。すなわち、第1システム40の書込部72は、RAM35から読み出した保証データGDを、フラッシュメモリーセル87内のブロックN−1の先頭アドレスを指定してフラッシュメモリー36に書き込む。さらに第1システム40の書込部72は、RAM35から図7に示す遮断時状態データSDを読み出し、その読み出した遮断時状態データSDを、フラッシュメモリーセル87内のブロックNの先頭アドレスを指定してフラッシュメモリー36に書き込む。こうして、二次電池13Aの電力に基づく保持時間内に、保証データGD及び遮断時状態データSDのフラッシュメモリー36への書込処理を終了できる。
ここで、第1システム40は、図7に示す遮断時状態データSDを次のように作成する。停止指令を受け付けた他のシステム50,60は、処理中であればその処理の停止後、システム名、停止時の状態(消去中/書込み中/実行なし)、停止した処理が消去処理であれば消去対象アドレス、停止した処理が書込み処理であれば読出し元アドレス(又は書込みデータ)及び書込み先アドレスなどの必要な情報を、RAM35の所定記憶領域に書き込んでいる。
第1システム40は、RAM35の所定記憶領域から読み出したこれらの情報を用いて、図7に示す遮断時状態データSDを作成する。このとき、遮断時状態データSD中の書込みデータWDは、第1システム40がRAM35の読出し元アドレスから読み出したデータ、あるいは他のシステム50,60がRAM35の読出し元アドレスから読み出してRAM35に書き込んだデータである。こうして電源遮断検出時に他のシステムの処理を中断させた場合は、保証データGDと遮断時状態データSDとがフラッシュメモリー36の所定ブロックに書き込まれる。このため、複合機11が電源遮断された後の電源オフ中も、各データGD,SDはフラッシュメモリー36に保存される。
こうして、二次電池13Aの電力でCPU31を動作状態に保持しうる保持時間内に、フラッシュメモリー36への保証データGD及び遮断時状態データSDの書込処理を終了できる。本実施形態では、書込み時間を待つ処理(図5におけるS6)がないので、二次電池13Aによる保持時間に時間的余裕ができる。
次のステップS49では、レジュームコマンド(Resume command)を発行する。すなわち、再開指令部77がフラッシュメモリー36に対してレジュームコマンドを発行する。フラッシュメモリー36内のメモリー制御回路81はレジュームコマンドを受け付けると、再開処理部86に再開処理を指示する。再開処理部86は中断していた処理の再開する。すなわち、書込処理を中断していた場合はその書込処理を再開する。このため、二次電池13Aの電力が切れるまでに、中断されていたデータの書込みが完了する。また、消去処理を中断していた場合はその消去処理を再開する。但し、消去処理は書込処理に比べ時間を要するため、その処理時間を経過し終わる前に、二次電池13Aの電力が切れてしまう。このため、大抵の場合、消去処理は結局中断される。
ステップS50では、処理完了であるか否かを判断する。第1システム40は、例えば他のシステム50,60のうち処理を中断した一方に処理の完了を確認する。中断した処理が書込み中でありかつ1つのデータを複数回に分けて書き込む構成の場合、他のシステムは処理を完了すると、RAM35に用意された処理完了フラグを「0」から「1」に変更するようにしており、第1システム40はRAM35の処理完了フラグの値に基づき処理完了を確認する。1回のデータ書込みでよい場合は、レジュームコマンド発行後のこの判断処理で、第1判定部47が、フラッシュメモリー36がビジーであるか否かを判断し、ビジーでなくなれば処理完了と判断する。処理完了と判断されないうちは、処理完了になるまでこの判断処理を繰り返す。そして、処理完了と判断すると、ステップS51に進む。
ステップS51では、遮断時状態データSD中の「状態」を「実行なし」に更新する。こうして複合機11が意図せず電源遮断された後におけるフラッシュメモリー36中の遮断時状態データSD中の「状態」は、中断した処理を再開しても処理を完了できないまま電源遮断されたときは「消去中」又は「書込み中」となり、中断した処理を再開して完了できたときは「実行なし」となる。
その後、複合機11が電源オンされると、第1CPU31は図8に示す電源起動処理ルーチンを実行する。電源遮断時に中断した処理を再開して完了できたときは、フラッシュメモリー36から読み出した遮断時状態データSD中の状態が「実行なし」なので(S33,S35で否定判定)、再消去(S34)も再書込み(S36)も行われない。一方、電源遮断時に中断処理を再開しても完了できなかった場合は、フラッシュメモリー36から読み出した遮断時状態データSD中の状態が「消去中」又は「書込み中」なので(S33又はS35で肯定判定)、電源遮断時に再開しても完了できなかった処理を完了した状態とするため、再消去(S34)又は再書込み(S36)を行う。
以上詳述した第3実施形態によれば、以下の効果を得ることができる。
(9)保証データGDをフラッシュメモリー36に書き込んだ後、中断した処理を再開する。よって、保証データGDを保存するために中断した他のシステム50,60の処理を再開できる。例えば中断していた書込処理を再開し、他のシステム50,60からの非保証データNDをフラッシュメモリー36に書き込むことができる。また、消去処理を中断したときには、場合によっては二次電池13Aの保持時間内に消去処理を終えることができる。なお、非保証データNDは、基本的に次回の電源投入後において複合機11で使用されるものではないが、電源遮断時の最終の更新情報はエラー原因の特定などの診断に利用される。
(10)書込み時間を待つことなく直ちにサスペンドコマンドを発行してフラッシュメモリー36の処理を中断させたうえで(S46)、保証データGD及び遮断時状態データSDを書き込む(S48)。このため、保持時間の終了まで時間的余裕ができ、各データGD,SDをフラッシュメモリー36に一層確実に保存できる。
(11)電源遮断時に他のシステム50,60の処理を中断しなかったとき(S44でビジーでないとき)は、フラッシュメモリー36に保証データGDを書き込むのみで遮断時状態データSDは書き込まない。このため、保証データGDの書き込みが終了しないまま電源遮断される頻度を一層低減できる。
なお、上記実施形態は以下のような形態に変更することもできる。
・第1システム40から他のシステム50,60へ停止指令を送る構成に替え、他のシステム50,60が電源遮断時にリセットIC26からのリセット信号に基づく割込要求(NMI)を受け付けると、フラッシュメモリー36に対する処理を中断する構成としてもよい。この場合、他のシステム50,60を停止させるためのリセット信号RSを出力するリセットIC26が、停止処理部の一例を構成する。
・一の制御部の一例である第1システム40が電源オン時の復旧処理を行う構成に限定されない。例えば他の制御部の一例である第2システム50又は第3システム60が電源オン時の復旧処理を行ってもよい。つまり、遮断時情報を不揮発性メモリーに書き込む制御部と、電源オン時に遮断時情報に基づいて復旧処理を行う制御部とが別のものであってもよい。
・復旧処理として、再消去は行うが、書込み中データの無効処理は行わない構成でもよい。また、これとは逆に、書込み中データの無効処理は行うが、再消去は行わない構成でもよい。
・他のシステムが不揮発性メモリーにアクセスする記憶領域(例えばブロックBL)が1つに特定されている場合は、図4の遮断時状態データSD中の対象アドレスAD、図7の遮断時状態データSD中の消去対象アドレスAD1、書込み先アドレスAD2を無くしてもよい。この場合、システム名D1,D11のデータから一義的に特定されるアドレス先の記憶領域に対して復旧処理を行えばよい。
・フラッシュメモリー36のチップセレクトの解除を行わない構成も採用できる。
・前記各実施形態において、電源遮断時には第2システム50が保証データGDを書き込む構成を採用してもよい。つまり、一の制御部が第2システム50で、他の制御部が第1及び第3システム40,60である構成でもよい。同様に、一の制御部が第3システム60で、他の制御部が第1及び第2システム40,50である構成としてもよい。
・制御部(システム(CPU))が3つの構成に限定されず、2つ又は4つ以上の複数個の構成でもよい。そして、電源遮断検出時に複数の制御部のうち一の制御部が他の制御部に優先して不揮発性メモリーに保証データ及び遮断時状態データの書込みを行い、次回の電源オン時に遮断時状態データに基づいて復旧処理を行う構成であればよい。
・各実施形態では、各システム40〜60を、プログラムPR1〜PR3を実行するCPU31〜33により構築されるソフトウェアにより構成したが、各システム40〜60のうちの一部又は全てを、集積回路等のハードウェアにより構築したり、ソフトウェアとハードウェアの協働により構築したりしてもよい。
・不揮発性メモリーはフラッシュメモリーに限定されない。例えばEEPROM、FeRAM(強誘電体メモリー)、MRAM(Magnetoresistive RAM)、PRAM(Phasechange RAM)、ReRAM(Resistive RAM)などでもよい。
・情報処理装置は、複合機11などの印刷機能を有する印刷装置に限定されるものではなく、電源遮断時に、電源オン時に使用する使用データを不揮発性メモリーに書き込む装置に広く適用できる。情報処理装置は、例えばスキャナー、プロジェクター、デジタルフォトフレーム、デジタルカメラなどであってもよい。
11…情報処理装置の一例である複合機、12…コントローラー、13…電源回路、13A…二次電池、14…操作部、14A…電源スイッチ、16…スキャンエンジン、17…印刷エンジン、18…FAX通信部、19…ネットワーク通信部、20…インクカートリッジ、21…記憶素子、25…コンピューター、26…電源遮断検出部の一例を構成するリセットIC、31…一の制御部の一例である第1CPU、32…他の制御部の一例である第2CPU、33…他の制御部の一例である第3CPU、34…ASIC、35…RAM、36…不揮発性メモリーの一例であるフラッシュメモリー装置(フラッシュメモリー)、40…一の制御部の一例である第1システム、41…処理部の一例を構成する第1制御部、42…スキャン制御部、43…印刷制御部、44…表示制御部、45…電源遮断検出部の一例を構成する電源遮断検出部、46…停止処理部の一例である停止指令部、47…第1判定部、48…第2判定部、49,54,64…メモリー制御部、50…他の制御部の一例である第2システム、51…第2制御部、52…スキャン制御部、53…印刷制御部、60…他の制御部の一例である第3システム、61…第3制御部、62…FAX処理部、63…通信処理部、71…読出部、72…書込部、73…消去部、74…チップセレクト処理部、75…状態確認部、76…中断指令部、77…再開指令部、81…メモリー制御回路、82…フラッシュメモリー部、84…状態レジスター、85…中断処理部、86…再開処理部、87…フラッシュメモリーセル、GD…使用データの一例である保証データ、ND…非保証データ、SD…遮断時情報の一例である遮断時状態データ、PR…プログラム、PR1…第1プログラム、PR2…第2プログラム、PR3…第3プログラム、BL…記憶領域の一例であるブロック、WD…書込みデータ、AD1…消去対象アドレス、AD2…書込み先アドレス。

Claims (9)

  1. 電源オフ中にデータの保存が可能な不揮発性メモリーを備えた情報処理装置であって、
    前記不揮発性メモリーに対しデータの書込みと消去とを少なくとも行う複数の制御部と、
    情報処理装置の電源遮断を検出する電源遮断検出部とを備え、
    前記電源遮断の検出時に、前記複数の制御部のうち一の制御部以外の他の制御部が前記不揮発性メモリーに対して処理中の処理を停止させる停止処理部と、
    前記一の制御部に設けられ、前記他の制御部の処理の停止後、次回電源オン時に使用する使用データと前記他の制御部が停止した処理の処理内容を少なくとも含む遮断時情報とを前記不揮発性メモリーに書き込む書込部と、
    次回電源オン時に、前記不揮発性メモリーから読み出した前記遮断時情報に基づいて前記不揮発性メモリーに対して当該遮断時情報中の処理内容に応じた復旧処理を行う処理部と
    を備えたことを特徴とする情報処理装置。
  2. 前記一の制御部は、不揮発性メモリーが動作中であるか否かを判定する判定部を備え、前記電源遮断の検出時に、前記判定部が前記不揮発性メモリーが動作中と判定した場合は、前記不揮発性メモリーが書込み処理に要する設定時間を待った後に、さらに前記不揮発性メモリーが動作中であるか否かを判定し、動作中でなければ、前記書込部は、前記処理内容を書込み中とした前記遮断時情報を前記不揮発性メモリーに書き込み、
    前記情報処理装置の次回電源オン時に、前記処理部は、前記遮断時情報中の処理内容が書込み中であると判定すると、当該遮断時情報に基づいて、前記復旧処理として前記不揮発性メモリーにおける書込み中データを無効にすることを特徴とする請求項1に記載の情報処理装置。
  3. 前記一の制御部は、不揮発性メモリーが動作中であるか否かを判定する判定部と、前記不揮発性メモリーの動作を中断させる中断指令部とを備え、前記電源遮断の検出時に、前記判定部が前記不揮発性メモリーが動作中と判定した場合は、前記不揮発性メモリーが書込み処理に要する設定時間を待った後に、さらに前記不揮発性メモリーが動作中であるか否かを判定し、動作中であれば、前記中断指令部が前記不揮発性メモリーの動作を中断させた後、前記書込部は、前記処理内容を消去中とした前記遮断時情報を前記不揮発性メモリーに書き込み、
    前記情報処理装置の次回電源オン時に、前記処理部は、前記遮断時情報中の処理内容が消去中であると判定すると、当該遮断時情報に基づいて、前記復旧処理として前記不揮発性メモリーに対して電源遮断時に前記他の制御部が中断した消去の対象記憶領域の再消去を行うことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 揮発性メモリーを更に備え、
    前記他の制御部は停止した前記処理の処理内容を含む情報を前記揮発性メモリーに書き込み、
    前記書込部は、前記揮発性メモリーから読み出した前記情報を基に少なくとも前記処理内容を取得することを特徴とする請求項1に記載の情報処理装置。
  5. 前記一の制御部は、前記他の制御部が停止した前記処理が書込みである場合、前記他の制御部が停止した前記書込みの対象とした書込みデータ及び書込み先アドレスを取得し、前記書込部は、前記処理内容を書込み中とするとともに前記書込みデータ及び前記書込み先アドレスを少なくとも含む前記遮断時情報を前記不揮発性メモリーに書き込み、
    前記処理部は、前記次回電源オン時に、前記遮断時情報に含まれる処理内容が書込み中であった場合、前記復旧処理として前記遮断時情報に含まれる前記書込みデータを前記不揮発性メモリーにおける前記書込み先アドレスに書き込むことを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. 前記一の制御部は、前記不揮発性メモリーの動作を中断させる中断指令部を更に備え、前記他の制御部が停止した前記処理が消去である場合、前記他の制御部が停止した前記消去の消去対象アドレスを取得し、前記書込部は、前記処理内容を消去中とするとともに消去対象アドレスを少なくとも含む前記遮断時情報を、前記中断指令部が前記不揮発性メモリーの動作を中断した後に前記不揮発性メモリーに書き込み、
    前記処理部は、前記次回電源オン時に、前記遮断時情報に含まれる処理内容が消去中であった場合、前記復旧処理として前記不揮発性メモリーに対して前記遮断時情報に含まれる前記消去対象アドレスで示された記憶領域のデータを再消去することを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. 前記一の制御部は、前記使用データ及び前記遮断時情報を前記不揮発性メモリーに書き込んだ後、前記他の制御部が停止した処理を前記不揮発性メモリーに再開させる再開指令部を更に備え、前記再開指令部が前記不揮発性メモリーに前記処理を再開させた後、当該処理が完了したか否かを判断し、前記処理が完了したと判断した場合は、前記不揮発性メモリーに書き込んだ前記遮断時情報中の処理内容を、停止した処理のない旨の内容に変更することを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 前記停止処理部及び前記処理部は前記一の制御部に設けられていることを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 不揮発性メモリーに対しデータの書込みと消去とを少なくとも行う複数の制御部のうち一の制御部が電源遮断検出時に、次回の電源オン時に使用する使用データを不揮発性メモリーに書き込む処理を行う情報処理装置におけるデータ記憶制御方法であって、
    情報処理装置の電源遮断を検出する電源遮断検出ステップと、
    電源遮断の検出時に、前記一の制御部が、前記不揮発性メモリーに対して前記他の制御部が処理中の処理を停止させる停止ステップと、
    前記停止ステップの後に前記一の制御部が前記使用データと前記他の制御部が停止した処理の処理内容を含む遮断時情報とを前記不揮発性メモリーに書き込む書込みステップと、
    前記情報処理装置の次回電源オン時に、前記一の制御部が前記不揮発性メモリーから読み出した前記遮断時情報に基づいて前記不揮発性メモリーに対して当該遮断時情報中の処理内容に応じた復旧処理を行う処理ステップと
    を備えたことを特徴とする情報処理装置におけるデータ記憶処理方法。
JP2012085636A 2012-04-04 2012-04-04 情報処理装置及び情報処理装置におけるデータ記憶処理方法 Pending JP2013218371A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012085636A JP2013218371A (ja) 2012-04-04 2012-04-04 情報処理装置及び情報処理装置におけるデータ記憶処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012085636A JP2013218371A (ja) 2012-04-04 2012-04-04 情報処理装置及び情報処理装置におけるデータ記憶処理方法

Publications (1)

Publication Number Publication Date
JP2013218371A true JP2013218371A (ja) 2013-10-24

Family

ID=49590430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012085636A Pending JP2013218371A (ja) 2012-04-04 2012-04-04 情報処理装置及び情報処理装置におけるデータ記憶処理方法

Country Status (1)

Country Link
JP (1) JP2013218371A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049722A (ja) * 2013-09-02 2015-03-16 株式会社デンソー マイクロコンピュータ及び不揮発性メモリのブロック管理方法
JP2015125598A (ja) * 2013-12-26 2015-07-06 キヤノン株式会社 メモリ制御装置、メモリ制御方法、およびプログラム
JP5963991B1 (ja) * 2015-02-27 2016-08-03 三菱電機株式会社 ユーザインタフェース実行装置およびユーザインタフェース設計装置
US9659658B2 (en) 2014-05-13 2017-05-23 Samsung Electronics Co., Ltd. Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device
JP2018031573A (ja) * 2016-08-26 2018-03-01 株式会社ノーリツ 制御装置
CN111026676A (zh) * 2019-12-27 2020-04-17 中煤科工集团重庆研究院有限公司 利用存储单元址携带时间信息的存储方法及存储系统
JP7472687B2 (ja) 2020-07-03 2024-04-23 富士通株式会社 情報処理装置、情報処理プログラム、及び、情報処理方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049722A (ja) * 2013-09-02 2015-03-16 株式会社デンソー マイクロコンピュータ及び不揮発性メモリのブロック管理方法
JP2015125598A (ja) * 2013-12-26 2015-07-06 キヤノン株式会社 メモリ制御装置、メモリ制御方法、およびプログラム
US9659658B2 (en) 2014-05-13 2017-05-23 Samsung Electronics Co., Ltd. Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device
JP5963991B1 (ja) * 2015-02-27 2016-08-03 三菱電機株式会社 ユーザインタフェース実行装置およびユーザインタフェース設計装置
WO2016135960A1 (ja) * 2015-02-27 2016-09-01 三菱電機株式会社 ユーザインタフェース実行装置およびユーザインタフェース設計装置
US10691472B2 (en) 2015-02-27 2020-06-23 Mitsubishi Electric Corporation User interface execution apparatus and user interface designing apparatus
JP2018031573A (ja) * 2016-08-26 2018-03-01 株式会社ノーリツ 制御装置
CN111026676A (zh) * 2019-12-27 2020-04-17 中煤科工集团重庆研究院有限公司 利用存储单元址携带时间信息的存储方法及存储系统
JP7472687B2 (ja) 2020-07-03 2024-04-23 富士通株式会社 情報処理装置、情報処理プログラム、及び、情報処理方法

Similar Documents

Publication Publication Date Title
US11067932B2 (en) Information processing apparatus capable of appropriately executing shutdown processing, method of controlling the information processing apparatus, and storage medium
JP2013218371A (ja) 情報処理装置及び情報処理装置におけるデータ記憶処理方法
JP5609436B2 (ja) 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法
JP2007296723A (ja) 電力切換え機能を持つ制御装置,画像形成装置および画像読取装置
JP6218510B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
US10447878B2 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium
JP4820271B2 (ja) 画像処理装置及び画像処理方法
JP5943681B2 (ja) 情報処理装置、情報処理装置のファームウエア更新方法及びプログラム
JP5701043B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP6226243B2 (ja) 画像形成装置及び動作制御方法並びに動作制御プログラム
CN107577327B (zh) 图像形成装置、启动方法以及记录介质
JP4134895B2 (ja) 画像処理装置及び画像処理方法
JP2013035153A (ja) 画像形成装置、画像形成方法、画像形成プログラム
JP2005094301A (ja) 画像形成装置
JP6459543B2 (ja) 画像形成装置及びジョブ処理制御方法並びにジョブ処理制御プログラム
JP2009223384A (ja) 情報処理装置
JP2012173909A (ja) 情報処理装置におけるデータ記憶処理方法及び情報処理装置
JP7419683B2 (ja) 動作管理装置、動作管理方法、動作管理プログラム及び画像形成装置
JP6699428B2 (ja) 電子装置および画像処理装置
JP6459570B2 (ja) 画像形成装置及び起動制御方法並びに起動制御プログラム
JP2010177737A (ja) 画像処理装置、画像処理装置の性能向上防止方法及びプログラム
JP2011088292A (ja) 画像形成装置、制御装置、およびプログラム
JP2006289620A (ja) 画像形成装置、および画像形成装置の制御プログラム
JP6447824B2 (ja) ジョブ処理装置プログラム
JP4408817B2 (ja) データ処理装置およびその動作プログラム