以下に添付図面を参照して、この発明にかかる制御装置及び制御方法の一実施の形態を詳細に説明する。
[第1の実施の形態]
まず、制御装置を有する画像形成装置の構成について図1を用いて説明する。画像形成装置100は、電源装置116と、コントローラ101と、操作パネル111と、データ記憶部112と、FAX(Facsimile)通信部113と、画像読取部114と、画像形成部115との各デバイスを有する。これらのうち電源装置116を除くデバイスは、電源装置116から電力の供給を受ける各負荷となる。また、これらのうちコントローラ101及びデータ記憶部112が情報処理システムに相当する。コントローラ101は、主メモリ102と、メインCPU103と、サブCPU104と、不揮発性メモリ117とを有し、PC(Personal Computer)などの外部装置120と専用線又はネットワークを介して接続される。ネットワークとは、例えば、LAN(Local Area Network)、イントラネット、イーサネット(登録商標)又はインターネットなどである。電源装置116は、リレー駆動回路(Drive回路)105と、第1リレー接点106と、主電源スイッチ(LockerSW)107と、第1AC(Alternate current)/DC(Direct current)電源生成部108と、第2AC/DC電源生成部109と、第2リレー接点110とを有する。
主メモリ102は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)等であり、各種データや各種プログラムを記憶する。ROMは特に、自装置を起動するためのブートプログラムを記憶する。データ記憶部112は、例えば、HDD(Hard Disk Drive)やNAND型のフラッシュメモリやNVRAMなどの不揮発性メモリであり、各種データや各種プログラムを記憶する。不揮発性メモリ117は、NAND型のフラッシュメモリやNVRAMなどの不揮発性メモリであり、メインCPU103やサブCPU104の制御の下、RAMの状態をイメージ化したスナップショットを記憶すると共に、スナップショットの取得の要否を示す変更フラグを記憶する。尚、このような不揮発メモリには書換回数の制限があることが一般的である。変更フラグは、例えば、スナップショットの取得が必要であることを「1(High)」で示し、スナップショットの取得が不要であることを「0(Low)」で示す。メインCPU103は、主メモリ102やデータ記憶部112に記憶された各種プログラムを実行することにより、画像形成装置100全体を制御する。尚、メインCPU103は、起動時には、ROMに記憶されたブートプログラムをRAMに展開して、当該プログラムを実行して、起動処理を行う。そして、メインCPU103は、所定の条件に応じて、ブートプログラムが展開されたRAMの状態をイメージ化したスナップショットを取得して不揮発性メモリ117に記憶させる。また、主電源スイッチ107がオフにされた後再びオンにされて、再起動する際には、メインCPU103は、不揮発性メモリ117に記憶されたスナップショットを読み出して、これをRAMに戻すことによりRAMの状態を復元し、この状態からプログラムを実行して、起動処理を行う。
サブCPU104は、主電源スイッチ107がオフにされて、メインCPU103への電力の供給が遮断された場合に、メインCPU103に代わって、主メモリ102やデータ記憶部112に記憶された各種プログラムを実行することにより、画像形成装置100全体又はその一部を制御する。また、サブCPU104は、所定の条件に応じて、スナップショットを取得し、取得したスナップショットを不揮発性メモリ117に記憶させる。操作パネル111は、情報を表示する表示部と、ユーザの操作入力を受け付けるキーボードやマウス等の操作入力部とが一体的に形成されたものである。FAX通信部113は、外部装置(不図示)とFAX通信を行う。画像読取部114は、例えば、スキャナであり、原稿に表される画像を読み取る。画像形成部115は、例えば、白黒プロッタ、1ドラムカラープロッタ又は4ドラムカラープロッタとASIC(Application Specific Integrated Circuit)とを含み、画像読取部114が読み取った画像を表す画像データ又は外部装置120などの外部装置から受信した画像データに対して、誤差拡散やガンマ変換等の各種画像処理を行い、画像処理後の画像データを用いて、紙などの印刷媒体に画像を形成することにより、印刷を行う。
主電源スイッチ107は、切り替えの操作に応じてオン又はオフにされることにより、AC電源121からの電力の供給又はその遮断を切り替える。第1AC/DC電源生成部108は、PSU(Power Suply Unit)として機能し、AC電源121から供給される電力としての交流電圧(AC電源)を直流電圧(DC電源)に変換して、コントローラ101と、操作パネル111とに電力を供給する。第2AC/DC電源生成部109は、PSUとして機能し、AC電源121から供給される交流電圧を直流電圧に変換して、データ記憶部112と、FAX通信部113と、画像読取部114と、画像形成部115とに供給し、第2リレー接点110を介してサブCPU104に電力を供給する。リレー駆動回路105は、サブCPU104の制御の下、第1リレー接点106のオン/オフを制御する。第1リレー接点106は、リレー駆動回路105を介したサブCPU104の制御の下、AC電源121からの電力の供給又はその遮断を切り替える。第2リレー接点110は、サブCPU104の制御の下、オン/オフが制御される。
図2は、サブCPU104と、リレー駆動回路105と、第1リレー接点106との構成を抜粋した図である。主電源スイッチ107がオン又はオフにされると、その旨を示すACSW_ON_N信号がサブCPU104の入力ポートに入力される。具体的には、主電源スイッチ107がオンにされると、HighのACSW_ON_N信号が入力され、主電源スイッチ107がオフにされたときは、LowのACSW_ON_N信号が入力される。また、サブCPU104からは、第1リレー接点106のオン/オフを制御する制御信号であるREON_DC_N信号が出力される。具体的には、サブCPU104は、第1リレー接点106をオフからオンにする際、その旨を示すHighのREON_DC_N信号を出力ポートからリレー駆動回路105に出力する、即ち、REON_DC_N信号をアサートし、第1リレー接点106をオンからオフにする際、その旨を示すLowのREON_DC_N信号を出力ポートからリレー駆動回路105に出力する、即ち、REON_DC_N信号をディアサートする。リレー駆動回路105は、第1リレー接点106をオフにすることを示すLowのREON_DC_N信号が入力されると、第1リレー接点106をオフにする。この結果、AC電源121から第1AC/DC電源生成部108を介したコントローラ101及び操作パネル111への電力の供給と、第2AC/DC電源生成部109を介したデータ記憶部112、FAX通信部113、画像読取部114及び画像形成部115への電力の供給とが遮断される。リレー駆動回路105は、第1リレー接点106をオンにすることを示すLowのREON_DC_N信号が入力されると、第1リレー接点106をオンにする。この結果、AC電源121から第1AC/DC電源生成部108を介したコントローラ101及び操作パネル111へ電力が供給され、第2リレー接点110のオン/オフに応じて、第2AC/DC電源生成部109を介したデータ記憶部112、FAX通信部113、画像読取部114及び画像形成部115へ電力が供給される。以上のようにして、第1リレー接点106は、サブCPU104から出力された制御信号に応じてオン又はオフにされることにより、AC電源121からの電力の供給又はその遮断を切り替える。
ここで、本実施の形態に係るスナップショットの取得に関する制御について説明する。スナップショットの取得に関るデータとして、その値が変更された場合にスナップショットの取得が必要となるデータと、その値が変更された場合にスナップショットの取得が望まれるデータとに分類される。このため、本実施の形態においては、画像形成装置100は、前者のデータの値が変更される場合にスナップショットを取得し、前者のデータの値が変更されず後者のデータの値のみが変更される場合にはスナップショットを取得しない。このようなデータの値の変更に伴うスナップショットの取得の要否を上述の変更フラグによって示す。
その値が変更された場合にスナップショットの取得が必要となるデータとは、不揮発性メモリ117に記憶されている値とRAMに記憶されている値とが常に同一であることが必要であるデータであり、例えば、画像形成装置100ではFAXや印刷時においてユーザが操作パネル111を介して設定した設定値(ユーザ設定値という)や画像形成装置100に関する状態の設定値(機器状態設定値という)などを示すものである。このデータは各設定値を元に、RAMへのプログラムの展開を行うもので、その展開速度に影響を与えるものである。この設定値とRAMに展開されたプログラムの内容の整合性がとれていない場合、次回起動時に当該スナップショットにより情報処理システムを一度起動した後、不揮発性メモリ117に記憶された当該データによって示される設定値との整合性を確認した後にプログラムの再展開が必要であり、起動時間の遅延、もしくはシステムエラーによる機器誤動作の可能性がある。つまり、スナップショットは、RAMに展開されたプログラムの内容を示すため、そのプログラムの展開に関与するデータの値が変更された場合、即ち、当該データが示す設定値が変更された場合には、スナップショットを新たに取得する必要があるのである。一方、その値が変更された場合にスナップショットの取得が望まれるデータとは、例えば、OS(Operating System)の基本情報や画像形成装置100において固定的に設定された設定値などの情報処理システムでは固定値として扱われる情報と、コントローラ101が外部装置120と上述したイーサネット(登録商標)を介して通信を行う場合当該イーサネット(登録商標)における物理層のリンク状態や接続相手に関する情報を示すものなどである。例えば、イーサネット(登録商標)における物理層でリンク状態となったときに取得されたスナップショットで起動したが、起動時には画像形成装置100がイーサネット(登録商標)には接続されておらずリンク状態ではなくなっている場合には、接続を確認するための接続確認処理が再度必要となる。ただし接続確認処理にかかる時間は非常に短く、接続確認処理を再度実行したとしても、情報処理システムの起動時間への影響は少ない。このようなデータについては、例え、当該データが示す情報が変更された場合であっても、スナップショットを新たに取得しなくても、影響は少なく、前回取得したスナップショットを代用することができる。
本実施の形態においては、このようなデータの性質の違いを利用して、スナップショットの取得が必要となるデータの値が変更された場合にのみ、スナップショットを取得して不揮発性メモリ117に記憶させるようにすることで、不揮発性メモリ117への書換回数を低減することができる。尚、どのデータが、その値が変更された場合にスナップショットの取得が必要となるデータであり、その値が変更された場合にスナップショットの取得が望まれるデータであるのかを分類するためのデータ分類情報は、例えば、不揮発性メモリ117に記憶させておく。データ分類情報において、データをいずれのデータに分類するのかは適宜変更可能である。
更に、本実施の形態においては、主電源スイッチ107がオンにされて起動後に、メインCPU103は、スナップショットの取得を制御する処理を行う。具体的には、メインCPU103は、その値が変更された場合にスナップショットの取得が必要となるデータに対する変更を監視し、変更があった場合、そのときのRAMの状態をイメージ化したスナップショットを取得して不揮発性メモリ117に記憶させ、変更フラグの値を「0(Low)」に書き換える。尚、主電源スイッチ107がオンにされて起動処理を行う際には、メインCPU103は、不揮発性メモリ117に記憶させたスナップショットを読み出して、これをRAMに戻して、起動処理を行う。また、主電源スイッチ107がオフにされて、メインCPU103への電力の供給が遮断された場合には、変更フラグの値が「1(High)」であれば、サブCPU104が、スナップショットの取得を制御する処理を行う。具体的には、サブCPU104は、そのときのRAMの状態をイメージ化したスナップショットを取得する。その後、サブCPU104は、不揮発性メモリ117に保存が必要なデータとして、当該スナップショットを不揮発性メモリ117に記憶させる。
以上のような構成の画像形成装置100は、上述の各負荷に供給される電力の状態に応じて、各々異なる複数の動作モードのいずれかに遷移する。各動作モードへの遷移は、主電源スイッチ107のオン/オフや、操作パネル111を介した操作入力や、画像形成部115における処理状態に応じる。動作モードには、System Down Process Executing(終了処理実行モード)と、Standby Mode(スタンバイモード)と、Active Mode(通常動作モード)と、PowerSave Mode1(第1省電力モード)と、PowerSave Mode2(第2省電力モード)と、Shutdown Mode(シャットダウンモード)とがある。図3は、画像形成装置100の各動作モードへの遷移を例示する図である。
同図に示される終了処理実行モードは、主電源スイッチ107がオフにされた直後のモードであり、画像形成装置100は、このモードにおいて、情報処理システムの安全な終了処理を行う。上述したように、例えば、データをデータ記憶部112に転送している途中やデータ記憶部112にアクセスしている途中にデータ記憶部112への電力の供給が突然遮断されると、記憶対象のデータが失われるばかりではなく、データ記憶部112自体が破壊される恐れがある。このようなことを回避するために、データ記憶部112への電力の供給が遮断される前に、サブCPU104が、情報処理システムの安全な終了処理を行う終了処理実行モードに遷移する。情報処理システムの安全な終了処理とは、例えば、外部装置120などの外部装置から受信した画像データなどのデータをデータ記憶部112へ記憶させるために転送中であったり、画像形成部115が画像処理を行っている途中の画像データなどの保存が必要なデータがあったりする場合に、当該データをデータ記憶部112への記憶を完了させる処理や、動作中における電力の供給の遮断により破壊の恐れがあるデータ記憶部112へのアクセスが行われている最中である場合に、データ記憶部112へのアクセスを終了する処理である。そして、終了処理の実行が終了して、安全に電源が切れる状態になった後、後述のシャットダウンモードに遷移する(フローE)。
通常動作モードは、主電源スイッチ107がオンにされて、第1リレー接点106及び第2リレー接点110もオンにされており、情報処理システムへ各々所定の電位の電圧の電力が供給されるモードである。この通常動作モードにおいては、メインCPU103が、上述したスナップショットの取得を制御する処理を行う。そして、通常動作モードが設定されている状態で主電源スイッチ107がオフにされると、サブCPU104が、上述したスナップショットの取得を制御する処理を行い、その後、上述の終了処理実行モードに遷移する(フローA)。
スタンバイモードは、例えば、操作パネル111を介した操作入力がない状態や画像形成部115において画像処理を行っていない状態が所定時間以上である場合に遷移するモードである。このスタンバイモードでは、主電源スイッチ107がオンにされており、第1リレー接点106及び第2リレー接点110もオンにされており、情報処理システムへ所定の電位の電圧の電力が供給されるが、情報処理システムが待機中の状態である。この状態を経て、次に説明する第1省電力モードに遷移する。このスタンバイモードにおいては、メインCPU103が、上述したスナップショットの取得を制御する処理を行う。そして、スタンバイモードの状態で主電源スイッチ107がオフにされると、サブCPU104が、上述したスナップショットの取得を制御する処理を行い、その後、上述の終了処理実行モードに遷移する(フローB)。
第1省電力モードは、主電源スイッチ107及び第1リレー接点106はオンにされているが、第2リレー接点110がオフにされており、画像形成装置100は、情報処理システムのうち、データ記憶部112、FAX通信部113、画像読取部114及び画像形成部115への電力の供給が遮断された状態であり、コントローラ101及び操作パネル111へは第1AC/DC電源生成部108を介して電圧が供給されている状態である。即ち、第1省電力モードは、通常動作モードよりも低い電圧が供給される省電力状態である。この第1省電力モードにおいては、メインCPU103が、上述したスナップショットの取得を制御する処理を行う。そして、第1省電力モードの状態で主電源スイッチ107がオフにされると、サブCPU104が、上述したスナップショットの取得を制御する処理を行い、その後、上述の終了処理実行モードに遷移し(フローC)、第1リレー接点106を介してAC電源121から供給される電圧によりサブCPU104は上述の終了処理を行う。
第2省電力モードは、主電源スイッチ107はオンにされているが、第1リレー接点106及び第2リレー接点110はオフにされており、画像形成装置100は、情報処理システムのうち、操作パネル111、データ記憶部112、FAX通信部113、画像読取部114及び画像形成部115への電力の供給が遮断された状態であり、コントローラ101のうち主メモリ102及びサブCPU104のみに第1AC/DC電源生成部108を介して電圧が供給されている状態である。この第2省電力モードにおいては、メインCPU103が、上述したスナップショットの取得を制御する処理を行う。そして、第2省電力モードの状態で主電源スイッチ107がオフにされると、サブCPU104が、上述したスナップショットの取得を制御する処理を行い、その後、上述の終了処理実行モードに遷移する(フローD)。このとき、サブCPU104への電力の供給も遮断されるが、主電源スイッチ107がオフにされてからも、サブCPU104が動作可能な電圧(動作可能電圧という)を維持できる時間(動作可能時間という)がある程度確保できる。このため、この間にサブCPU104は、リレー駆動回路105を介して第1リレー接点106をオンにすることができる。そして、オンとなった第1リレー接点106に接続された第1AC/DC電源生成部108からサブCPU104に電力が供給され、サブCPU104は、上述の終了処理を行うことができる。
ここで、動作可能電圧及び動作可能時間について説明する。AC電源/DC電源は、従来、消費電力が大きい場合は出力端の電圧の低下、即ち、電荷の抜けが早く、消費電力が小さい場合は、電荷の抜けが遅くなる。図4は、このような特性の下、主電源スイッチ107がオフにされた場合の通常動作モード、スタンバイモード及び第1省電力モードにおける動作可能電圧及び動作可能時間を例示する図である。図5は、主電源スイッチ107がオフにされた場合の第2省電力モードにおける動作可能電圧及び動作可能時間を例示する図である。第2省電力モードでは、通常動作モード、スタンバイモード及び第1省電力モードに比べて、消費電力が小さい。このため、PSUの特性により、主電源スイッチ107がオフにされてから、動作可能電圧を維持できる時間が比較的長い。図4〜5に例示されるように、通常動作モード、スタンバイモード及び第1省電力モードでは、主電源スイッチ107がオフにされた後、動作可能電圧を維持可能な動作可能時間は10ms程度であるのに対し、消費電力が比較的少ない第2省電力モードでは、動作可能電圧を維持可能な動作可能時間は1s程度である。第1リレー接点106を実際にオンにするまでには数10ms程度の時間(セット時間という)がかかるが、この1sの時間内に、サブCPU104は、リレー駆動回路105を介して第1リレー接点106をオンにすることができる。以上のように、第2省電力モードでは、第1リレー接点106をオフにすることにより電力の消費を低減しつつ、主電源スイッチ107がオフにされたときには、動作可能電圧が維持されている間に第1リレー接点106をオンにすることができる。このため、情報処理システムの安全な終了処理を行うことができ、保存が必要なデータやデータ記憶部112の堅牢性を保持することができる。
シャットダウンモードは、主電源スイッチ107がオフにされて、上述の終了処理実行モードで終了処理の実行が終了すると遷移するモードであり、画像形成装置100は、第1リレー接点106及び第2リレー接点110もオフにされて、情報処理システムの電力の供給が遮断される状態となる。このシャットダウンモードにおいて主電源スイッチ107がオンにされると、上述のスタンバイモードに遷移する(フローF)。
次に、このようなハードウェア構成において、サブCPU104が主メモリ102に記憶された各種プログラムを実行することにより実現される各種機能について説明する。サブCPU104は、主電源スイッチ107のオン/オフを検出し、当該検出結果と、操作パネル111を介した操作入力や画像形成部115における処理状態とに応じて、各負荷へ供給される電力の状態が各々異なるいずれかの動作モードへの遷移を制御する。そして、サブCPU104は、図3を用いて説明したように、主電源スイッチ107がオンにされている場合には、動作モードに応じて、第1リレー接点106及び第2リレー接点110のオン/オフを制御し、主電源スイッチ107がオフにされたときに、情報処理システムの安全な終了処理を行う必要に応じて、第1リレー接点106のオン/オフを制御する。具体的には、例えば、主電源スイッチ107がオンにされてシャットダウンモードからスタンバイモードへ移行する際には、サブCPU104は、各種起動処理を行う。起動処理とは、例えば、画像形成装置100の主メモリ102やデータ記憶部112などのハードウェアを初期化したり、各種ドライバやスケジューラやタイマー機能,割り込み機能,メモリ管理機能などの各種資源などを初期化したりする。このとき、サブCPU104は、バックアップ機能が必要であるか否か、即ち、起動処理の実行中に電力が遮断された場合にバックアップ処理を行う必要があるか否かを判断する。そして、サブCPU104は、当該判断結果に応じて、第1リレー接点106のオン/オフを決定し、当該決定結果に応じて、第1リレー接点106をオン又はオフにすることを示す制御信号を適宜出力することにより、第1リレー接点106のオン又はオフを制御して、各種起動処理を行う。バックアップ処理とは、起動処理の実行中に取り扱うデータをデータ記憶部112に記憶させる処理のことである。また、主電源スイッチ107がオフにされて、通常動作モード、スタンバイモード、第1省電力モード及び第2省電力モードのいずれかからシャットダウンモードに移行する際には、サブCPU104は、上述したスナップショットの取得を制御する処理を行い、その後、情報処理システムの安全な終了処理が必要か否かを判断し、当該判断結果に応じて、第1リレー接点106のオン/オフを制御して、当該終了処理を行う。
次に、本実施の形態にかかる画像形成装置100の行う処理の手順について説明する。まず、シャットダウンモードからスタンバイモードへ遷移する際のサブCPU104が行う処理の手順について図6を用いて説明する。画像形成装置100の主電源スイッチ107がオフにされておりシャットダウンモードであるときに、主電源スイッチ107がオンにされると(ステップS1)、情報処理システムに電力が供給される。これにより電力が供給されたサブCPU104は、情報処理システムのリセットを解除して、情報処理システムを利用可能な状態に遷移させる(ステップS2)。そして、サブCPU104は、第1リレー接点106をオンにすることを決定し、REON_DC_N信号をアサートする(ステップS3)。リレー駆動回路105は、REON_DC_N信号がアサートされると、第1リレー接点106をオンにする。その後、サブCPU104は、スタンバイモードへ遷移するために各種起動処理を行う。このとき、サブCPU104は、バックアップ機能が必要であるか否かを判断する(ステップS4)。当該判断結果が肯定的である場合(ステップS4:YES)、サブCPU104は、第1リレー接点106をオンにすることを決定し、この場合、第1リレー接点106をオンに維持して、不揮発性メモリ117に記憶させたスナップショットを読み出して、これをRAMに戻して、起動処理を行う(ステップS5)。起動処理の終了後、サブCPU104は、第1リレー接点106をオフにすることを決定し、REON_DC_N信号をディアサートする(ステップS6)。リレー駆動回路105は、REON_DC_N信号がディアサートされると、第1リレー接点106をオフにする。その後、ステップS7に進む。
一方、ステップS4の判断結果が否定的である場合(ステップS4:NO)、サブCPU104は、第1リレー接点106をオンにする必要がないため、第1リレー接点106をオフにすることを決定し、第1リレー接点106を上述と同様にしてオフにして(ステップS10)、起動処理を行い(ステップS11)、起動処理の終了後、ステップS7に進む。ステップS7では、サブCPU104は、次に行う起動処理において、バックアップ機能が必要であるか否かを判断する。当該判断結果が肯定的である場合(ステップS7:YES)、第1リレー接点106をオンにすることを決定し、第1リレー接点106を上述と同様にしてオンにして(ステップS8)、ステップS5に進む。一方、ステップS7の判断結果が否定的である場合(ステップS7:NO)、サブCPU104は、第1リレー接点106をオンにする必要がないため、第1リレー接点106をオフにすることを決定し、第1リレー接点106をオフに維持して、起動処理を行い(ステップS9)、起動処理の終了後、ステップS7に進む。このようなステップS5〜S9の処理を、スタンバイモードへ遷移するために必要な各種起動処理の実行が終了するまで、サブCPU104は繰り返し行う。
次に、メインCPU103が行う、スナップショットの取得を制御する処理の手順について図7を用いて説明する。情報処理システムの起動時に、メインCPU103は、スナップショットの取得が必要となるデータに対する変更があるか否かを検出待ちする(ステップS20)。具体的には例えば、メインCPU103は、データ記憶部112に記憶されている上述のユーザ設定値を変更する操作入力が操作パネル111を介してあったか否かを判断し、当該操作入力があった場合(ステップS21:YES)、当該操作入力を受け付けて、当該操作入力に応じて当該ユーザ設定値を変更する。そして、メインCPU103は、当該ユーザ設定値の変更に伴いスナップショットの取得が必要か否かを判断する(ステップS22)。例えば、メインCPU103は、上述したデータ分類情報を参照して当該判断を行う。ここでは、ユーザ設定値の変更に伴いスナップショットの取得が必要であることが、データ分類情報によって判断されるとする。この場合(ステップS22:YES)、メインCPU103は、不揮発性メモリ117に記憶されている変更フラグの値を「0(Low)」から「1(High)」に書き換える(ステップS23)。そして、メインCPU103は、そのときのRAMの状態をイメージ化したスナップショットを取得して不揮発性メモリ117に記憶させる(ステップS24)。その後、メインCPU103は、不揮発性メモリ117に記憶されている変更フラグの値を「1(High)」から「0(Low)」に書き換え(ステップS25)、ステップS20に戻る。ステップS21,S22の判断結果が否定的である場合もステップS20に戻る。その後メインCPU103はステップS20〜S25の処理を繰り返す。
このように、スナップショットの保存先である不揮発性メモリ117に電力が供給されているときに、即ち、画像形成装置100の主電源スイッチ107がオンにされており、画像形成装置100の動作モードが上述した通常動作モード、スタンバイモード、第1省電力モード及び第2省電力モードのいずれかであるときに、画像形成装置100は、スナップショットを取得する。画像形成装置100の機器として消費する電力はほぼ不変であることから、これにより、省電力状態への移行という情報処理システム全体としてのイベントドリブンでスナップショットを取得することに対して消費電力の低減を実現することができる。
次に、図3を用いて説明した各動作モードにおいて主電源スイッチ107がオフにされたときにサブCPU104が行う処理の手順について図8を用いて説明する。動作モードのうち、通常動作モード、スタンバイモード、第1省電力モード及び第2省電力モードのいずれかにおいて、主電源スイッチ107がオフにされると、サブCPU104に入力されるACSW_ON_N信号(図2参照)がHighからLowへと変化する。サブCPU104は、このACSW_ON_N信号がLowになったか否かを検出待ちしている。そして、サブCPU104は、ACSW_ON_N信号がLowになったことを検出すると(ステップS30:YES)、第1リレー接点106がオンになっているかオフになっているかを検出する(ステップS31)。第1リレー接点106がオフになっている場合、動作モードは第2省電力モードである。この場合(ステップS31:NO)サブCPU104は、第1リレー接点106をオンにすることを決定し、REON_DC_N信号をアサートする(ステップS32)。リレー駆動回路105は、REON_DC_N信号がアサートされると、第1リレー接点106をオンにする。これにより、第1AC/DC電源生成部108からサブCPU104に電力が供給され、終了処理実行モードに遷移し、サブCPU104は終了処理を行うことができる。その後、ステップS33に進む。ステップS31で、第1リレー接点106がオンになっている場合も、ステップS33に進む。
ステップS33では、サブCPU104は、不揮発性メモリ117に記憶された変更フラグを参照して、スナップショットの取得の要否を判断する。当該変更フラグの値が「0(Low)である場合(ステップS33:YES)、サブCPU104は、スナップショットの取得は不要であると判断して、ステップS35に進む。当該変更フラグの値が「1(High)である場合(ステップS33:NO)、ここでは、例えば、図7のステップS23の直後に主電源スイッチ107がオフされた場合などである。この場合、サブCPU104は、スナップショットの取得は必要であると判断し、RAMの状態をイメージ化したスナップショットを新たに取得して不揮発性メモリ117に記憶させ(ステップS34)、ステップS35に進む。
ステップS35では、サブCPU104は、データ記憶部112へ保存が必要なデータがあるか否かを判断する。データ記憶部112へ保存が必要なデータがある場合とは、例えば、起動処理において保存が必要なデータがあったり、外部装置120などの外部装置から受信した画像データなどのデータをデータ記憶部112へ記憶させるために転送中であったり、画像形成部115が画像処理を行っている途中の画像データなどの保存が必要なデータがあったりする場合である。この場合(ステップS35:YES)、サブCPU104は、保存が必要なデータのデータ記憶部112への転送が完了するまで待機して(ステップS36)、ステップS37に進む。ステップS35の判断結果が否定的である場合も、ステップS37に進む。ステップS37では、サブCPU104は、データ記憶部112へのアクセスが行われている最中であるか否かを判断する。当該判断結果が肯定的である場合(ステップS37:YES)、サブCPU104は、データ記憶部112へのアクセスを終了する処理を行う(ステップS38)。当該処理の終了後は、情報処理システムへの電力の供給を安全に遮断することができるため、サブCPU104は、第1リレー接点106をオフにすることを決定し、REON_DC_N信号をディアサートする(ステップS39)。リレー駆動回路105は、REON_DC_N信号がディアサートされると、第1リレー接点106をオフにする。この結果、情報処理システムへの電力の供給が遮断され、画像形成装置100は、シャットダウンモードへ遷移する。ステップS37の判断結果が否定的である場合は、ステップS39を経て、画像形成装置100は、シャットダウンモードへ遷移する。
以上のように、画像形成装置100の動作モードに応じて、主電源スイッチ107のオフによる電力の供給の突然の遮断からデータやデータ記憶部112を保護するために設けられた第1リレー接点106のオン/オフを制御する。特に、第2消費電力モードでは、第1リレー接点106を常時オフにし、主電源スイッチ107がオフにされたときにこれをオンにして、情報システムの安全な終了処理を行う。これにより、第1リレー接点106を常時オンにすることにより消費電力を削減することができると共に、終了処理を行う必要があるときには、第1リレー接点をオンにして、サブCPU104へ電力を供給することができる。即ち、消費電力を削減可能でありつつ、保存が必要なデータやデータ記憶部112の堅牢性を保持することができる。また、スナップショットブートの技術を用いることで、情報処理システムの次回の起動を高速化することができると共に、スナップショットの保存先の不揮発性メモリである不揮発性メモリ117の書換回数を低減させて、不揮発性メモリ117の製品寿命を延ばすことができる。例えば、特許文献1の技術では、スリープ状態への移行毎に不揮発性メモリにスナップショットを保存しており、この書換回数の制限を逼迫して、不揮発性メモリの製品寿命を縮める恐れがあったが、本実施の形態においては、その恐れを回避することができる。また、メインCPU103に電力が供給されているときに、メインCPU103がスナップショットの取得を制御する処理を行うことで、省電力状態への移行という情報処理システム全体としてのイベントドリブンでスナップショットを取得することに対して消費電力の低減を実現することができる。
[第2の実施の形態]
次に、画像形成装置の第2の実施の形態について説明する。なお、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
上述の図4〜5を用いて説明したように、主電源スイッチ107がオフにされてから電圧が低下するのにかかる時間は、主電源スイッチ107がオフにされたときの負荷のうち、コントローラ101が消費する電力、即ち、コントローラ101が消費する電流の値(消費電流値)に比例している。また、図2を用いて説明したACSW_ON_N信号がLowになったことをサブCPU104が検出してからREON_DC_N信号をアサートし、第1リレー接点106をオンにするまでのセット時間を経過するまでの時間は、第1リレー接点106に用いるリレー接点のセット時間によってある程度のばらつきはあるが、ほぼ一定値(再ON可能時間という)である。よって、この再ON可能時間から、実際にオンにすることが可能な負荷の消費電流値を導出することができる。この値を再ON可能電流値という。これは上述した動作可能電圧の値に相応するものである。
図9は、主電源スイッチ107がオフにされてから、消費電力が各々異なる各負荷の電圧が時間に応じて低下する状態を例示する図である。同図における負荷曲線a,b,c,d,eは、その順に消費電力が大きい負荷について各電圧の遷移を各々示すものである。また、同図におけるxmsは、再ON可能時間を示している。この図から、負荷曲線a,b,cについては、主電源スイッチ107がオフにされてから再ON可能時間xmsが経過する前に、負荷に掛かる電圧は動作可能電圧を下回ってしまうが、負荷曲線d,eについては、主電源スイッチ107がオフにされてから再ON可能時間xmsが経過するまでの間は、負荷に掛かる電圧は動作可能電圧を上回っていることが分かる。即ち、負荷曲線d,eの負荷のときには、主電源スイッチ107がオフにされてから、負荷に掛かる電圧が動作可能電圧を下回る前に、第1リレー接点106をオンにすることが可能であることが分かる。このような動作可能電圧に相応し再ON可能時間から導出される再ON可能電流値を用いて、画像形成装置100は、第1リレー接点106のオン/オフを制御する。
図10は、サブCPU104と、リレー駆動回路105と、第1リレー接点106との構成を抜粋した図である。本実施の形態においては、画像形成装置100は、図2に例示される構成に加え、第1AC/DC電源生成部108の出力端に繋がる電流計118を備える。電流計118は、第1AC/DC電源生成部108から電力として供給される電流の値を計測する。サブCPU104は、電流計118が計測した電流の値を消費電流値としてこれと、再ON可能電流値とを比較し、当該比較結果に応じて、第1リレー接点106のオン/オフを制御する。再ON可能電流値は、例えば、主メモリ102に記憶されている。
次に、シャットダウンモードからスタンバイモードへ遷移する際のサブCPU104が行う処理の手順について図11を用いて説明する。ステップS1〜S3,S20〜S22の処理は上述の第1の実施の形態と同様である。ステップS22で、サブCPU104は、スナップショットの取得が必要であると判断した場合(ステップS22:YES)、ステップS50では、第1リレー接点106がオンであるか否かを判断する。サブCPU104は、第1リレー接点106がオフであると判断した場合(ステップS50:NO)、ステップS51では、第1リレー接点106を上述のステップS8と同様にオンにして、ステップS52に進む。サブCPU104は、第1リレー接点106がオンであると判断した場合(ステップS50:YES)、ステップS52に進む。ステップS52では、サブCPU104は、メインCPU103は、そのときのRAMの状態をイメージ化したスナップショットを取得して不揮発性メモリ117に記憶させる。その後、メインCPU103は、不揮発性メモリ117に記憶されている変更フラグの値を「1(High)」から「0(Low)」に書き換え(ステップS53)、ステップS20に戻る。
一方、ステップS22で、スナップショットの取得が不要であると判断した場合(ステップS22:NO)、ステップS54では、サブCPU104は、電流計118が計測した消費電流値が再ON可能電流値より大きいか否かを判断する。当該判断結果が否定的である場合(ステップS54:NO)、サブCPU104は、第1リレー接点106をオフにすることを決定し、ステップS55では、第1リレー接点106を上述のステップS10と同様にオフにする。その後、ステップS20に戻る。ステップS54の判断結果が肯定的である場合(ステップS54:YES)、ステップS56では、サブCPU104は、第1リレー接点106をオンにすることを決定し、第1リレー接点106がオフであるか否かを判断する。第1リレー接点106がオンであると判断した場合(ステップS56:NO)、ステップS20に戻る。第1リレー接点106がオフであると判断した場合(ステップS56:YES)、サブCPU104は、ステップS57では、第1リレー接点106を上述のステップS8と同様にオンにして、その後、ステップS20に戻る。以上のようなステップS20〜22,S50〜S57の処理をサブCPU104は繰り返す。
以上のように、コントローラ101における消費電流値に応じて、第1リレー接点106のオン/オフを動的に制御することにより、消費電力を効果的に削減することが可能になる。また、スナップショットを用いることで、情報処理システムの次回の起動を高速化することができると共に、スナップショットの保存先の不揮発性メモリ117の書換回数を低減させて、不揮発性メモリ117の製品寿命を延ばすことができる。また、メインCPU103に電力が供給されているときに、メインCPU103がスナップショットの取得を制御する処理を行うことで、省電力状態への移行という情報処理システム全体としてのイベントドリブンでスナップショットを取得することに対して消費電力の低減を実現することができる。
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
上述した各実施の形態において、メインCPU103で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。サブCPU104で実行される各種プログラムについても同様である。
上述した各実施の形態において、画像形成装置100は、上述のものに限らず、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも1つの機能を有するものであっても良い。即ち、画像形成装置100は、画像形成部115のうちコピー機能に関する部分及びプリンタ機能に関する部分と、画像読取部114と、FAX通信部113との少なくとも1つ以上を有するものであっても良い。また、情報処理装置としては、画像形成装置100に限らず、パーソナルコンピュータや、携帯情報端末などであっても良い。
上述した第1の実施の形態においては、図8のステップS35では、サブCPU104は、データ記憶部112へのアクセスが行われている最中であるか否かを判断し、当該判断結果が肯定的である場合、第1リレー接点106がオンの状態で、アクセス終了処理を行った。しかし、データ記憶部112へのアクセスが行われている最中であっても、データ記憶部112からのデータの読み出ししか行っていない場合には、サブCPU104は、アクセスを終了する処理を行わずに、第1リレー接点106をオフにしても良い。
上述した各実施の形態においては、変更フラグを不揮発性メモリ117に記憶させるようにしたが、これに限らず、例えば、サブCPU104の有するレジスタに記憶させるようにしても良いし、画像形成装置100にバッテリバックアップ回路を別途設け、バッテリバックアップ回路に記憶させるようにしても良い。
上述した各実施の形態においては、情報処理システムの起動時にメインCPU103が行う、スナップショットの取得を制御する処理において、スナップショットを最後に取得したときから任意の設定時間後に再取得するようにしても良い。上述したように、スナップショットの取得に関るデータには、その値が変更された場合にスナップショットの取得が必要となるデータと、その値が変更された場合にスナップショットの取得が望ましいデータとがあるが、そのどちらも最新の状態、即ち、情報処理システムの電源がオフされる直前の状態で保存されることが機能的に望ましい。このため、スナップショットを定期的に取得して更新することで、最新の状態を維持することが可能になる。この場合、画像形成装置100は、計時するタイマを備え、メインCPU103は、スナップショットの取得に係る第1設定時間及び第2設定時間を各々タイマに設定し、当該タイマに設定された時間の経過に応じて、スナップショットを取得して不揮発性メモリ117に記憶させ、変更フラグの値を書き換える。第1設定時間及び第2設定時間は、任意に設定される時間であり、例えば、操作パネル111を介したユーザの操作入力により設定されてこれらの値は例えば不揮発性メモリ117に記憶される。また、この場合、不揮発性メモリ117には、書き換え回数に制限のないハードディスク装置やMRAMなどの磁気記録装置を用いることが望ましい。図12は、本変形例に係るメインCPU103が行う、スナップショットの取得を制御する処理の手順を示すフローチャートである。ステップS1〜S2は上述の第1の実施の形態と同様である。ステップS70では、メインCPU103は、第1設定時間をタイマに設定し、第1設定時間の計時を開始させる。そして、メインCPU103は、当該タイマの計時により第1設定時間が経過したことを判断すると(ステップS71:YES)、メインCPU103は、RAMの状態をイメージ化したスナップショットを取得して不揮発性メモリ117に記憶させる(ステップS72)。そして、メインCPU103は、変更フラグの値を「1(High)」から「0(Low)」に書き換える(ステップS73)。
その後、メインCPU103は、第2設定時間をタイマに設定し、第2設定時間の計時を開始させる(ステップS74)。第2設定時間が経過するまでは、ステップS72で取得したスナップショットは最新の状態であるといえる。この状態で主電源スイッチ107がオフにされた場合には、変更フラグの値が「0(Low)」であるから、図8のステップS33の判断結果が肯定的となり、サブCPU104によりスナップショットが取得されないことになる。そして、メインCPU103は、当該タイマの計時により第2設定時間が経過したことを判断すると(ステップS75:YES)、メインCPU103は、変更フラグの値を「0(Low)」から「1(High)」に書き換える(ステップS76)。この状態で主電源スイッチ107がオフにされた場合には、変更フラグの値が「1(High)」であるから、図8のステップS33の判断結果が否定的となり、ステップS34でサブCPU104によりスナップショットが取得されて不揮発性メモリ117に記憶されることになる。ステップS76の後、ステップS70に戻り、以降、メインCPU103はステップS70〜S76の処理を繰り返す。
以上のような構成によれば、その値が変更された場合にスナップショットの取得が必ずしも必要ではなく取得が望ましいデータについては、比較的短い時間間隔で変更が有り得るが、時間の経過と共に自動で取得することができるので、常に最新のスナップショットを不揮発性メモリ117に保存しておくことができ、次回起動時の高速化を図ることができる。それと共に、主電源スイッチ107のオフの度にスナップショットを取得しなくてもよい確率を高めることができ、画像形成装置100の電源を素早く切ることができることから、主電源スイッチ107のオフの度にスナップショットを取得する場合と比較して、情報処理システムの消費電力を低減することができる。また、このような構成によれば、設定の複雑な変更を必要としない為、ユーザの設定の利便性を向上させることができる。
上述した各実施の形態及び各変形例においては、情報処理システムの起動時に、メインCPU103が、図5に例示される、スナップショットの取得を制御する処理を行うようにしたが、これに限らず、当該処理をサブCPU104が行うようにしても良い。