JP6074486B2 - 画像処理装置、その制御方法、及びプログラム - Google Patents
画像処理装置、その制御方法、及びプログラム Download PDFInfo
- Publication number
- JP6074486B2 JP6074486B2 JP2015238905A JP2015238905A JP6074486B2 JP 6074486 B2 JP6074486 B2 JP 6074486B2 JP 2015238905 A JP2015238905 A JP 2015238905A JP 2015238905 A JP2015238905 A JP 2015238905A JP 6074486 B2 JP6074486 B2 JP 6074486B2
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- processing apparatus
- switch
- state
- 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.)
- Active
Links
Images
Description
本発明は、画像処理装置、その制御方法、及びプログラムに関するものである。
現行の画像処理装置は高機能化に伴い、ユーザが電源スイッチをONしてから操作可能となるまでの起動時間が増加する傾向にある。これに対し、ユーザが電源OFF操作をした際に主記憶メモリを通電させるサスペンド方式による起動時間の高速化手法がある。しかし、サスペンド方式は、メインメモリが一般的なDRAM等である場合には通電を継続する必要があり、待機電力を増大するという問題がある。このような待機電力をゼロにする技術がハイバネーション方式であり、サスペンド方式に対して復帰時間は掛かるが、より省電力性能を向上させたい場合に採用する技術である。例えば、特許文献1には、OFF/ONの状態を有する物理的な電源スイッチ(トグル型スイッチ)をハイバネーション機能として割り当てた技術が開示されている。また、特許文献2には、バッテリ残量が少なくなった場合にハイバネーション動作を行い、その際にバッテリが切れるとハイバネーション移行中の電源断が発生することを回避する技術が開示されている。
しかしながら、上記従来技術には以下に記載する問題がある。例えば、特許文献1では、画像処理装置の電源スイッチが物理的なOFF/ONの状態を有する(トグル型)スイッチであるため、スイッチのOFF/ON状態と本体の電源のOFF/ON状態を合わせる必要がある。つまり、スイッチがOFFなのに本体電源が切れていないという状態が発生してはならない。これを回避するために、電源スイッチがOFFされた際に、ソフトウェア制御とは別に電源装置に保護タイマを設定して一定時間後に電源が必ずOFFになっていることを保証する必要がある。しかし、電源スイッチをハイバネーション機能として割り当てた場合であって、さらにハイバネーション移行処理が間に合わなかった場合に、ハイバネーション移行中に強制的に上記保護タイマにより電源がOFFされる障害が発生してしまう。
本発明は、上述の問題に鑑みて成されたものであり、電源スイッチをOFFにすることより一定時間後に必ず電源が切れる構成を有する場合であっても、安全にハイバネーション移行処理を実行するとともに、電源供給の停止までに要する時間を好適に短縮する仕組みを提供することを目的とする。
本発明は、例えば、画像処理装置であって、前記画像処理装置の状態をON又はOFFにする指示を入力するスイッチと、前記画像処理装置の状態をOFFにするための操作が前記スイッチに対してなされた場合に、OFFにする前のメモリに記憶された情報をOFFの間前記画像処理装置が保持し続けるOFF状態に移行するための処理を行う処理手段と、前記処理手段に電力を出力する出力手段と、前記画像処理装置の状態をOFFにするための操作が前記スイッチに対してなされてから第1の時間が経過したのちに、前記処理手段への電力の出力を強制的に停止させる停止手段と、前記画像処理装置の状態をOFFにするための前記操作が前記スイッチに対してなされたのち前記第1の時間よりも短い第2の時間が経過するまでに前記処理が完了しない場合には、前記処理手段に対して割り込みを発生させることにより、前記処理を中断してシャットダウン処理を前記処理手段に開始させる割込制御手段とを有する。
本発明は、電源スイッチをOFFにすることより一定時間後に必ず電源が切れる構成を有する場合であっても、安全にハイバネーション移行処理を実行するとともに、電源供給の停止までに要する時間を好適に短縮する仕組みを提供できる。
以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
<画像処理装置の構成>
まず、図1を参照して、本実施形態における画像処理システムの構成について説明する。図1に示すように、画像処理システムは、画像処理装置100と、当該画像処理装置100にLAN108を介して接続されたコンピュータ109を含んで構成される。なお、このシステム構成は、一例であり、本発明を限定する意図はない。例えば、他の画像処理装置や、他のコンピュータを含んで構成されてもよい。
まず、図1を参照して、本実施形態における画像処理システムの構成について説明する。図1に示すように、画像処理システムは、画像処理装置100と、当該画像処理装置100にLAN108を介して接続されたコンピュータ109を含んで構成される。なお、このシステム構成は、一例であり、本発明を限定する意図はない。例えば、他の画像処理装置や、他のコンピュータを含んで構成されてもよい。
画像処理装置100は、スキャナ装置102、コントローラ103、プリンタ装置104、操作部105、ハードディスク106、及びFAX装置107を備える。スキャナ装置102は、原稿から光学的に画像を読み取りデジタル画像に変換する。プリンタ装置104は、デジタル画像を紙媒体に出力する。操作部105は、ユーザによって画像処理装置100を操作するためのインタフェースである。ハードディスク106は、デジタル画像や制御プログラム等を記憶する。FAX装置107は、電話回線等にデジタル画像を送信したり、電話回線等からデジタル画像を受信したりする。コントローラ103は、上述の各モジュールとそれぞれ接続され、各モジュールに指示を出すことで画像処理装置100上でジョブを実行する。
画像処理装置100は、LAN108経由でコンピュータ109からデジタル画像の入出力、ジョブの発行や機器の指示等も行なうことが可能である。スキャナ装置102は、自動的に原稿束を自動的に逐次入れ替えることが可能な原稿給紙ユニット121、原稿を光学スキャンしデジタル画像に変換することが可能なスキャナユニット122を備える。変換された画像データは、コントローラ103に送信される。プリンタ装置104は、紙束から一枚づつ逐次給紙可能な給紙ユニット142、給紙した紙に画像データを印刷するためのマーキングユニット141、印刷後の紙を排紙するための排紙ユニット143を備える。
画像処理装置100は多彩なジョブを実行可能である。一例を以下に記載する。
・複写機能
スキャナ装置102から読み込んだ画像をハードディスク106に記録し、同時にプリンタ装置104を使用して印刷を行なう。
・画像送信機能
スキャナ装置102から読み込んだ画像をLAN108を介してコンピュータ109に送信する。
・画像保存機能
スキャナ装置102から読み込んだ画像をハードディスク106に記録し、必要に応じて画像送信や画像印刷を行なう。
・画像印刷機能
コンピュータ109から送信された例えばページ記述言語を解析し、プリンタ装置104で印刷する。
・複写機能
スキャナ装置102から読み込んだ画像をハードディスク106に記録し、同時にプリンタ装置104を使用して印刷を行なう。
・画像送信機能
スキャナ装置102から読み込んだ画像をLAN108を介してコンピュータ109に送信する。
・画像保存機能
スキャナ装置102から読み込んだ画像をハードディスク106に記録し、必要に応じて画像送信や画像印刷を行なう。
・画像印刷機能
コンピュータ109から送信された例えばページ記述言語を解析し、プリンタ装置104で印刷する。
<コントローラの構成>
次に、図2を参照して、コントローラ103の構成例について説明する。コントローラ103はメインボード200と、サブボード220から構成される。メインボード200はいわゆる汎用的なCPUシステムであり、CPU201、ブートROM202、メモリ203、バスコントローラ204、不揮発性メモリ205、ディスクコントローラ206、フラッシュディスク207、USBコントローラ208、タイマ210を備える。CPU201は、ボード全体を統括的に制御する。ブートROM202は、初期起動時のプログラムであるブートプログラムを格納する。メモリ203は、CPU201によってワーク領域として使用される主記憶メモリである。バスコントローラ204は、外部バスとのブリッジ機能を有する。不揮発性メモリ205は、電源断された場合でも記憶内容が消えないメモリである。ディスクコントローラ206は、ストレージ装置を制御する。フラッシュディスク(SSD等)207は、半導体デバイスで構成された比較的小容量なストレージ装置である。USBコントローラ208は、USBデバイス(ここでは、USBメモリ209)を制御する。タイマ210は、計時手段として機能するシステム保護タイマである。また、メインボード200には外部に、USBメモリ209、操作部105、ハードディスク106等が接続される。
次に、図2を参照して、コントローラ103の構成例について説明する。コントローラ103はメインボード200と、サブボード220から構成される。メインボード200はいわゆる汎用的なCPUシステムであり、CPU201、ブートROM202、メモリ203、バスコントローラ204、不揮発性メモリ205、ディスクコントローラ206、フラッシュディスク207、USBコントローラ208、タイマ210を備える。CPU201は、ボード全体を統括的に制御する。ブートROM202は、初期起動時のプログラムであるブートプログラムを格納する。メモリ203は、CPU201によってワーク領域として使用される主記憶メモリである。バスコントローラ204は、外部バスとのブリッジ機能を有する。不揮発性メモリ205は、電源断された場合でも記憶内容が消えないメモリである。ディスクコントローラ206は、ストレージ装置を制御する。フラッシュディスク(SSD等)207は、半導体デバイスで構成された比較的小容量なストレージ装置である。USBコントローラ208は、USBデバイス(ここでは、USBメモリ209)を制御する。タイマ210は、計時手段として機能するシステム保護タイマである。また、メインボード200には外部に、USBメモリ209、操作部105、ハードディスク106等が接続される。
サブボード220は、比較的小さな汎用CPUシステムと、画像処理ハードウェアから構成される。サブボード220は、CPU221、メモリ223、バスコントローラ224、不揮発性メモリ225、画像処理部227、及びデバイスコントローラ226、228を備える。CPU221は、ボード全体を統括的に制御する。メモリ223は、CPU221によってワークメモリとして使用される。バスコントローラ224は、外部バスとのブリッジ機能を有する。不揮発性メモリ225は、電源断された場合でも記憶内容が消えない。画像処理部227は、リアルタイムデジタル画像処理を行なう。デバイスコントローラ228、226は、それぞれ、外部のスキャナ装置102や、プリンタ装置104とデジタル画像データの受け渡しを行なう。なお、FAX装置107についてはCPU221が直接制御を行なう。
なお、図2はブロック図であり簡略化している。例えばCPU201、CPU221等にはチップセット、バスブリッジ、クロックジェネレータ等のCPU周辺ハードウェアが多数含まれているが、説明を容易にするため簡略化しており、このブロック構成が本発明を制限するものではないことを理解されたい。
ここで、コントローラ103の動作について、紙媒体による画像複写を例に説明する。ユーザが操作部105から画像複写を指示すると、CPU201は、CPU221を介してスキャナ装置102に原稿の画像読取命令を送る。スキャナ装置102は、紙原稿を光学スキャンしデジタル画像データに変換してデバイスコントローラ228を介して画像処理部227に入力する。画像処理部227はCPU221を介してメモリ223にDMA転送を行いデジタル画像データの一時保存を行なう。
CPU201はデジタル画像データがメモリ223に一定量もしくは全て入ったことが確認できると、CPU221を介してプリンタ装置104に画像出力指示を出す。CPU221は、画像処理部227にメモリ223に格納された画像データの位置(アドレス)を教える。プリンタ装置104からの同期信号に従ってメモリ223上の画像データは画像処理部227とデバイスコントローラ226を介してプリンタ装置104に送信され、プリンタ装置104において紙媒体にデジタル画像データが印刷される。複数部の印刷を行なう場合には、CPU201は、メモリ223の画像データをハードディスク106に保存する。したがって、2部目以降はスキャナ装置102から画像をもらわずともプリンタ装置104に画像を送ることが可能である。
<電源スイッチの構成>
次に、図3を参照して、本実施形態に係る画像処理装置100における電源スイッチの構成について説明する。図3に示す301はトグル型の電源スイッチである。302は電源ユニットである。303はAC−DCコンバータである。304はAC電源入力部である。305はプリンタ装置104に対してDC電源を供給する電源ケーブルである。306はコントローラ103に対して電源を供給する電源ケーブルである。307はトグル型スイッチ301の状態をコントローラに通知するラインである。308はAC−DCコンバータの出力を制御することの可能な電源リモート信号である。309はトグル型スイッチ301が電源供給を停止するように操作されてから所定時間が経過するまでに確実に電源供給の停止を保障するための電源保護タイマである。310はAC−DCコンバータの出力を制御することが可能なリモート線である。
次に、図3を参照して、本実施形態に係る画像処理装置100における電源スイッチの構成について説明する。図3に示す301はトグル型の電源スイッチである。302は電源ユニットである。303はAC−DCコンバータである。304はAC電源入力部である。305はプリンタ装置104に対してDC電源を供給する電源ケーブルである。306はコントローラ103に対して電源を供給する電源ケーブルである。307はトグル型スイッチ301の状態をコントローラに通知するラインである。308はAC−DCコンバータの出力を制御することの可能な電源リモート信号である。309はトグル型スイッチ301が電源供給を停止するように操作されてから所定時間が経過するまでに確実に電源供給の停止を保障するための電源保護タイマである。310はAC−DCコンバータの出力を制御することが可能なリモート線である。
操作者はトグル型スイッチ301を操作することで画像処理装置100をON/OFFすることが可能である。トグル型スイッチ301はON時にAC−DCコンバータに接続されており電源の通電状態を制御することができる。また、OFF時はコントローラ103がシステムのシャットダウン(画像処理装置100の終了処理)が完了するまで306の電源供給を停止してはならない。つまり、307のラインを介してトグル型スイッチ301の状態を通知し、シャットダウンが完了後に電源リモート信号308を用いてDC電源供給306をOFFにするようになっている。このように、画像処理装置100の電源構成は、シャットダウンが必要な一般的な機器が持っている電源構成と同様である。
トグル型スイッチ301はON/OFFの状態のどちらか一方の状態をメカ的に保持し続けるスイッチである。操作者はON/OFFのいずれか側にスイッチを倒すことで電源の状態を入力することができる。タイマ309は、トグル型スイッチ301のOFFに連動して時間を計測し、一定時間後に310のリモート信号を変化させ、AC−DCコンバータ303の出力を強制的にOFFできるようになっている。つまり、トグル型スイッチ301がOFFされた時間を計測し、一定時間後にAC−DCコンバータ303をOFFにすることで、一定時間後に装置電源を完全に落とす機能を備えた電源となっている。
また、コントローラ103は電源リモート信号308を用いることで自分自身の電源を落とすことが可能である。その場合トグル型スイッチ301の物理的なOFF/ON状態との不一致を防止するために、コントローラ103は、307による電源OFF通知がなされた場合は、電磁石を用いたソレノイド等を用いてトグル型スイッチ301を自動的にOFFすることができる。
つまり、図3に示す電源が電力を供給する「コントローラ103、プリンタ装置104、スキャナ装置102」への電源供給を止める方法は以下の2つの方法がある。
(1)スイッチ301のOFFを307経由でコントローラ103が受信、シャットダウン後に電源リモート信号308を用いて「コントローラ103、プリンタ装置104、スキャナ装置102」の電源を落とす方法。
(2)スイッチ301のOFF状態をタイマ309が一定時間(120s)の時間計測する。電源リモート信号308において一定時間(120s)が経過する間にOFFが発生しなかった場合、リモート制御信号310が変化して、「コントローラ103、プリンタ装置104、スキャナ装置102」の電源を落とす方法。
上記(2)はトグル型スイッチ301がOFFされているにも関わらず、「コントローラ103、プリンタ装置104、スキャナ装置102」の電源が切れないことを防止するための電源保護回路となる。
(1)スイッチ301のOFFを307経由でコントローラ103が受信、シャットダウン後に電源リモート信号308を用いて「コントローラ103、プリンタ装置104、スキャナ装置102」の電源を落とす方法。
(2)スイッチ301のOFF状態をタイマ309が一定時間(120s)の時間計測する。電源リモート信号308において一定時間(120s)が経過する間にOFFが発生しなかった場合、リモート制御信号310が変化して、「コントローラ103、プリンタ装置104、スキャナ装置102」の電源を落とす方法。
上記(2)はトグル型スイッチ301がOFFされているにも関わらず、「コントローラ103、プリンタ装置104、スキャナ装置102」の電源が切れないことを防止するための電源保護回路となる。
<シャットダウン時の処理フロー>
次に、図4を参照して、トグル型スイッチ301がOFFされた場合の処理フローについて説明する。ここでは、操作者が本体を終了させる時の動作について説明する。本体電源スイッチに相当するトグル型スイッチ301がOFFされたことを検知すると、CPU201は以下の処理を実行する。またこの時タイマ309は電源保護回路のための時間測定を開始する。以下で説明する処理は、CPU201が不揮発性メモリ205やHDD106等に格納された制御プログラムをメモリ203に読み出して実行することにより実現される。
次に、図4を参照して、トグル型スイッチ301がOFFされた場合の処理フローについて説明する。ここでは、操作者が本体を終了させる時の動作について説明する。本体電源スイッチに相当するトグル型スイッチ301がOFFされたことを検知すると、CPU201は以下の処理を実行する。またこの時タイマ309は電源保護回路のための時間測定を開始する。以下で説明する処理は、CPU201が不揮発性メモリ205やHDD106等に格納された制御プログラムをメモリ203に読み出して実行することにより実現される。
S401において、CPU201は、トグル型スイッチ301がOFFに操作されると、操作部105上にシステム終了中の画面を表示する。続いて、S402において、CPU201は、現在行っているサービス等の中断・終了処理を行う。終了処理は複数のプロセスで平行に実行されているため、S403において、CPU201は終了処理が完了したか否かを判定する。終了している場合はS404に進み、終了していない場合はS403の判定を定期的に繰り返す。
S404において、CPU201は、メモリの値をストレージにシンク(SYNC)する。ここで「シンクする(SYNC)」とは、例えばDRAM上にキャッシュしたストレージバッファの内容をストレージへ同期させるために、当該ストレージへバッファの内容を格納する処理を示す。続いて、S405において、CPU201は、KernelのシャットダウンI/Fを呼び、カーネルのソフトウェア最終終了処理を行う。その後、S406において、CPU201は、電源リモート信号308経路でAC−DCコンバータ303をOFFさせ、装置全体の電源が落ちる。装置全体の電源が落ちることにより、タイマ309自体の電源も落ち、電源保護タイマは機能を停止する。
仮になんからの不具合により、図4に示すフローチャート内のいずれかで処理が停止した場合は、コントローラ103は、電源リモート信号308を変化させないことになる。しかしながら、その場合はタイマ309がリモート制御信号310を用いてAC−DCコンバータ303の出力を落とすことで強制的に電源が落とされる。
<ハイバネーション>
次に、図5を参照して、本実施形態で用いるハイバネーションの方法について説明する。ハイバネーションとは、装置の電源を切る直前の状態を保存し、次に電源をONしたときに電源を切る直前の状態から動作を再開する機能を示す。したがって、電源OFF時にハイバネーションを用いるためには、電源断時の所定のメモリの状態(内容)を保持しておく必要がある。CPU201上で動作する一般的なカーネルはメモリ203を一定サイズ毎に「ページ」で管理している。ページには、
A.破棄しても良い状態のメモリ(有効ではないメモリ)
B.破棄してはならない状態のメモリ(有効メモリ)
の2状態が存在する。
次に、図5を参照して、本実施形態で用いるハイバネーションの方法について説明する。ハイバネーションとは、装置の電源を切る直前の状態を保存し、次に電源をONしたときに電源を切る直前の状態から動作を再開する機能を示す。したがって、電源OFF時にハイバネーションを用いるためには、電源断時の所定のメモリの状態(内容)を保持しておく必要がある。CPU201上で動作する一般的なカーネルはメモリ203を一定サイズ毎に「ページ」で管理している。ページには、
A.破棄しても良い状態のメモリ(有効ではないメモリ)
B.破棄してはならない状態のメモリ(有効メモリ)
の2状態が存在する。
Aは、例えば、ディスクキャッシュとして動作している状態で外部のディスクと中身が同期されていることが分かっているページ、又は、未使用のメモリ等である。Bは、例えば、ユーザにより外部ディスクに対する変更要求をメモリにキャッシュしたが、まだ同期がなされていない状態のものや、カーネル自体のメモリ等である。Aのメモリは破棄しても構わないためハイバネーション対象として保存しなければならないメモリはBだけで良いことになる。また、有効メモリであっても全ての領域にゼロが格納されているメモリは削除しても構わないカーネルもある。有効メモリ判断部510は、選択手段として機能し、このような有効メモリを判断するが、カーネルの種類や方式により判断条件は異なる。
本実施形態では501〜509のうち、501〜503と505〜506はBの有効メモリとし、有効メモリだけをハイバネーション方式を用いてディスクに保存し、また、復帰させることで画像処理装置100を同じ状態に戻すことができる。ハイバネーションはおおよそBIOSで行うものと、ソフトウェアが制御するものの2通りある。前者の方式は有効なメモリを限定する手段がないため全メモリ領域を保存・復帰する必要があった。近年主流となりつつあるのは後者の方式であり、カーネル内部で動作するためメモリの必要な部分だけを保存・復帰すれば、短い時間でハイバネーション処理を終了させることができる。近年、後者の(本実施形態では以降ソフトハイバネーションと称する。)ソフトハイバネーション方式がよく扱われている。本実施形態はソフトハイバネーション方式で説明するが、本発明はハイバネーションの方式を限定するものではない。
<ハイバネーション移行処理>
次に、図6を参照して、ハイバネーション終了する際の移行処理について説明する。ここでは、図5に示す例を用いて説明する。以下で説明する処理は、CPU201が不揮発性メモリ205やHDD106等に格納された制御プログラムをメモリ203に読み出して実行することにより実現される。
次に、図6を参照して、ハイバネーション終了する際の移行処理について説明する。ここでは、図5に示す例を用いて説明する。以下で説明する処理は、CPU201が不揮発性メモリ205やHDD106等に格納された制御プログラムをメモリ203に読み出して実行することにより実現される。
S601において、CPU201は、ハイバネーション移行処理を開始すると、操作部105に「システム終了処理中」を示すメッセージを出力する。続いて、S602において、CPU201は、ボードの電源を落とすため、現在動作しているハードウェアデバイスのドライバを中断させ、動作しない状態とする。
次に、S603において、CPU201は、メモリ203の501〜509を遂次読み込み、有効メモリ判断部510によって必要なメモリだけを判断する。図5における有効メモリは、501〜503、505〜506となる。S604において、CPU201は、有効メモリページ管理情報を生成する。本実施形態では511のように、有効メモリページ管理情報は、有効なメモリが開始される先頭のブロックの情報と、有効なメモリブロックが連続するブロック数の情報とを含む。この管理情報はこの2つの情報に加えて、例えば、物理メモリのアドレス、仮想メモリ上のアドレス、メモリの使用用途、ストレージ上の保存位置等、必要に応じて必要な情報を追加で含んでもよい。このように、本実施形態における有効メモリページ管理情報とは、ストレージに退避したメモリブロックを、メインメモリに復元するために参照するための管理情報を意味する。
S605において、CPU201は、有効メモリページ管理情報の一要素である例えば512に示す情報に従って、501から3ブロックのメモリをディスクコントローラ206を介在してフラッシュディスク207に保存する。S606において、CPU201は、有効メモリページ管理情報でリストアップされた、退避が必要な全てのメモリブロックを保存するまでループする。メモリ203から511に従って513のようなデータ転送が発生する。
全ての有効なメモリをフラッシュディスク207へ退避する処理が完了すると、S607において、CPU201は、有効メモリページ管理情報511自身を保存し、S608で全てのメモリ値をストレージ(フラッシュディスク207)にシンクさせる。その後、CPU201は、電源リモート信号308を用いてシステムの電源を落とす。
<2次記憶デバイス>
次に、図7を参照して、2次記憶デバイスとしてのフラッシュディスク207上のメモリマップについて説明する。701は、MBR(Master Boot Record)である。702がシステムのローダである。703は論理パーティション群である。704は、ハイバネーション用に作られた領域を示し、ハイバネーションヘッダ705、データ領域706、及び有効メモリページ管理情報707を含む。データ領域706には、501〜503及び505〜506のメモリに含まれた情報が格納される。なお、このようなメモリマップは、一例であり、本発明を限定する意図はない。
次に、図7を参照して、2次記憶デバイスとしてのフラッシュディスク207上のメモリマップについて説明する。701は、MBR(Master Boot Record)である。702がシステムのローダである。703は論理パーティション群である。704は、ハイバネーション用に作られた領域を示し、ハイバネーションヘッダ705、データ領域706、及び有効メモリページ管理情報707を含む。データ領域706には、501〜503及び505〜506のメモリに含まれた情報が格納される。なお、このようなメモリマップは、一例であり、本発明を限定する意図はない。
<タイミングチャート>
以下では、図8を参照して、ハイバネーション移行処理が正常に行われるケース820と、CPU201の強制電源遮断が発生してしまうケース810とについて説明する。まず、ケース810について説明する。801は図3の電源保護タイマ309のカウントアップ状態を示す。802はAC−DCコンバータ303の電圧出力である。803は図2のCPU201の実行している処理内容を示す。横軸は時間であり、800に示すトグル型スイッチ301がOFFされるタイミングから、801〜803の動作状況を記載したものである。
以下では、図8を参照して、ハイバネーション移行処理が正常に行われるケース820と、CPU201の強制電源遮断が発生してしまうケース810とについて説明する。まず、ケース810について説明する。801は図3の電源保護タイマ309のカウントアップ状態を示す。802はAC−DCコンバータ303の電圧出力である。803は図2のCPU201の実行している処理内容を示す。横軸は時間であり、800に示すトグル型スイッチ301がOFFされるタイミングから、801〜803の動作状況を記載したものである。
操作者が800地点でトグル型スイッチ301をOFFにすると、電源保護タイマ309は電源を保護する目的でカウントアップを開始する。本実施形態ではこの電源保護タイマ309の測定時間を120秒とする。即ち、本実施形態の場合、120秒後に電源OFFが保障される。
803に示すように、CPU201は、図6を用いて説明したシステム中断処理(ハイバネーション移行処理)を実行する。電源保護タイマ309は電源を保護するための120秒を測定する。仮に803に示すように、CPU201(Case1)のシステム中断処理が120秒以上の時間を必要とする場合、804のタイミングでリモート制御信号310がOFFとなり、802のAC−DCコンバータ303の電源供給が停止される。これによりコントローラ103の電源がOFFされることになり、CPU201がハイバネーション処理を実行しているにもかかわらず電源が強制的に落ちることになる。ハイバネーションはメモリの値をストレージに書き込むため、ストレージアクセス中のOFFとなるため、ストレージ内のデータ破損を招く可能性もある。
ケース820について説明する。CPU201(Case2)のシステム中断処理が120秒以内に終了する場合はシャットダウン807が実行され、806に示すようにハイバネーションの処理が完了後、AC−DCコンバータ303の電源を自発的に切ることができ、システムは正常に終了する。
ハイバネーション移行処理にかかる時間は、変動する複数の要因が存在し、その変動幅も大きい。例えば、
・メモリ203が汚れてくることによりハイバネーション対象となるデータ量が大幅に増えた
・データ領域706へ書き込む際のストレージのアクセス速度の一時的な低下、
等が考えられる。また、遅延が外部のデバイス要因の場合、実際にアクセスするまで所要時間は分からないため、事前に計算することはできない。
・メモリ203が汚れてくることによりハイバネーション対象となるデータ量が大幅に増えた
・データ領域706へ書き込む際のストレージのアクセス速度の一時的な低下、
等が考えられる。また、遅延が外部のデバイス要因の場合、実際にアクセスするまで所要時間は分からないため、事前に計算することはできない。
<処理フロー>
本発明は上述のような一定時間内に装置を終了させる必要がある状況下おける、ハイバネーション移行処理の方法を提案するものである。以下では、図9乃至図11を参照して、本発明におけるトグル型スイッチ301がOFFされた場合の処理フロー及びタイミングについて説明する。図9は、本実施形態におけるハイバネーション移行処理を実行した際のタイミングチャートを示し、図11は、本実施形態におけるハイバネーション移行処理の処理フローを示す。以下で説明する処理は、CPU201が不揮発性メモリ205やHDD106等に格納された制御プログラムをメモリ203に読み出して実行することにより実現される。
本発明は上述のような一定時間内に装置を終了させる必要がある状況下おける、ハイバネーション移行処理の方法を提案するものである。以下では、図9乃至図11を参照して、本発明におけるトグル型スイッチ301がOFFされた場合の処理フロー及びタイミングについて説明する。図9は、本実施形態におけるハイバネーション移行処理を実行した際のタイミングチャートを示し、図11は、本実施形態におけるハイバネーション移行処理の処理フローを示す。以下で説明する処理は、CPU201が不揮発性メモリ205やHDD106等に格納された制御プログラムをメモリ203に読み出して実行することにより実現される。
図9の901は電源保護タイマ309のカウントアップ状態を示す。902の縦軸はCPU201がS606〜S607の処理を実行中に、データ領域706に書き込む必要のある全ページ数の進捗を100に正規化したものである。つまり、データ領域706に書き込むべきデータの保存処理の進捗を示すためのグラフを形成している。
操作者がトグル型スイッチ301をOFFにした場合、本実施形態によれば、図11の1101のフローチャートが実行される。S1102において、CPU201は、ハイバネーション移行処理タスク(図6のフローチャートを実行するタスク)を起動し、S1103でシステム保護タイマタスク(図11のフローチャート1121を実行するタスク)を起動する。さらに、S1104において、CPU201は、ハイバネーション進捗管理タスク(図11のフローチャート1111を実行するタスク)を起動して、処理を終了する。これら3つのフローチャートは独立したスレッドでCPU201上で仮想的に並行して実行される。
上述したように、図6のフローチャートはハイバネーション対象となる全メモリページを算出し、データ領域706に遂次書き込んでいく。書き込みが完了すると、シャットダウンを行うハイバネーション移行処理を実行する。フローチャート1111は、ハイバネーション処理実行中においても並行で動作するハイバネーションの進捗を管理するためのタスクによって実行される。具体的には目標時間909までに図6のフローチャートが完了するか否かを監視する。
まず図6のフローチャートにおいて実行されるハイバネーション保存処理(ハイバネーション処理)が図9の910の実線のように動作した場合の正常終了ケースについてフローチャート1111を用いて説明する。S1112において、CPU201は、一定時間903区間の待機を実施する。続いて、S1113において、CPU201は、現在までの経過時間t(グラフ902における横軸上のポイント)を取得する。さらに、S1114において、CPU201は、メモリページにおける全ページ数と現在終了したページ数を取得する。
次に、S1115において、CPU201は、目標時間909までに現在のハイバネーションのメモリページ保存処理が完了するか否かを判定する。演算方法はいろいろあるが、例えば、以下の式を用いて計算することができる。
(式1)進捗=書きこみ完了したメモリページ数/書き込みが必要なメモリページ数*100
上記式1により902の縦軸、つまり書き込み処理完了を100%とした現在の時間tにおける進捗[%]を得ることができる。
(式1)進捗=書きこみ完了したメモリページ数/書き込みが必要なメモリページ数*100
上記式1により902の縦軸、つまり書き込み処理完了を100%とした現在の時間tにおける進捗[%]を得ることができる。
次に、S1116において、現在の進捗において目標時間909に間に合うか否かを、例えば以下の条件式を用いて判定する。
(式2)(進捗*目標時間909)/t>100
上記式2を評価することにより、目標時間内909にハイバネーションの保存処理が完了するか否かの判断を行うことができる。
(式2)(進捗*目標時間909)/t>100
上記式2を評価することにより、目標時間内909にハイバネーションの保存処理が完了するか否かの判断を行うことができる。
実線910の場合、破線912のように進捗すると予想できるため、目標時間909までに全ページの保存処理が完了できると判断され、S1112のウエイト処理に処理を戻す。S1112で待機した後に再び同様の評価が行われる。このようなループ処理を何度か繰り返すと、問題が無ければ破線912の進捗状態を推移し、上記S608の処理でストレージがシンクされ、AC−DCコンバータ303はOFFとなりボード電源が落ちる。これが正常ケースの処理フローとなる。
次に、図6のフローチャートのハイバネーション保存処理が実線911のように動作する、ハイバネーション中断の終了ケースについて記載する。実線910のときと同様にS1112乃至S1116が実行される。S1116の演算を行った結果、現在の進捗率では目標時間909までに処理が完了しないことが予想できる。そこでS1117に進み、CPU201は、図6のフローチャートのハイバネーション処理を中断させ、705〜707のハイバネーション領域の情報のケア(中間データを破棄など)を行う。続いて、S1118において、CPU201は、電源制御手段として機能し、システムをシャットダウンさせて、電源を切る。これは図9における907のシャットダウン動作となり、908に示すようにシャットダウン完了後にボード電源が落ちることになる。
このように本発明を実施することにより、所定時間内にハイバネーション保存処理が完了しない場合には、目標時間909まで待つことなく、短い時間でシステムを終了することが可能である。また、目標時間909を適切に設定することにより、外部に電源を強制的にOFFする構成のタイマ装置がついている電源供給源であったとしても、ハイバネーション動作中に電源が落とされるリスクを回避することが可能となる。
ただし、これはハイバネーションの処理を行うCPU201の処理が正常に動作している場合に有効となる方法である。一方でフローチャート1111が正常に動作しなくなった場合や、図10に示す1003のタイミングでハイバネーションを実行中のプロセスが固まって動作しなくなった場合なども考えられる。このような場合にはS1116乃至S1118までの処理を判断・実行すらできずに強制的に電源が落とされることとなる。そこで、本実施形態によれば、システム保護タイマタスクによって、これらの異常状態でも正常に終了させるための仕組みを提供する。具体的な処理について、図10のタイミングチャートと図11のフローチャート1121を参照して、説明する。
まず、S1122において、CPU201は、システム保護タイマ210の設定を行う。設定する時間は、
(式3)タイマ210時間 < (タイマ309時間−シャットダウン1005時間)
かつ、タイマ210時間 > (目標時間909+シャットダウン1005時間)
とする。即ち、タイマ210に設定される時間(第2時間)は、シャットダウン処理に要する時間をタイマ309に設定する時間(第1時間)から減算した時間より短く、かつ、シャットダウン処理に要する時間を目標時間909に加算した時間よりも長くなるように設定される。このように設定することで、タイマ309の時間が経過する前にCPU201にイベントを発行し、イベント受信からシャットダウン処理1005を行ったとしても電源保護タイマ309の時間に間に合うように制御することが可能となる。このように、上記式3の条件により求められるタイマ210の設定時間がS1122で設定される。
(式3)タイマ210時間 < (タイマ309時間−シャットダウン1005時間)
かつ、タイマ210時間 > (目標時間909+シャットダウン1005時間)
とする。即ち、タイマ210に設定される時間(第2時間)は、シャットダウン処理に要する時間をタイマ309に設定する時間(第1時間)から減算した時間より短く、かつ、シャットダウン処理に要する時間を目標時間909に加算した時間よりも長くなるように設定される。このように設定することで、タイマ309の時間が経過する前にCPU201にイベントを発行し、イベント受信からシャットダウン処理1005を行ったとしても電源保護タイマ309の時間に間に合うように制御することが可能となる。このように、上記式3の条件により求められるタイマ210の設定時間がS1122で設定される。
S1123において、CPU201は、タイマ210の割り込みが発生したか否かを判定する。発生していない場合には、定期的にS1123の判定を繰り返す。一方、割り込みが発生すると、S1124に進む。図10の1004のタイミングでタイマ210が満了するとS1124に進み、CPU201は、強制終了手段として機能し、シャットダウン処理1005を行い、その後、電源保護タイマ309の時間が満了する前にボードの電源を落とす。この制御はハイバネーションを実行しているプロセス(ソフトウェア資源)と異なるプロセスやカーネルモード等の特権モードで動作するシステムに構築することで、より強い強制力を持ってシステムの正常終了処理を実行することが可能となる。
また、本実施形態によれば、ハイバネーションが行われなかった場合は、次回電源ON時にシステムのコールドブートが行われる。したがって、前回の終了前状態に復帰することはできない、また起動時間の低下が発生したりするものの、正常に装置を制御することが可能である。
以上説明したように、本実施形態によれば、トグル型スイッチ301のOFFをトリガに外部より強制的に電源供給を停止する時限タイマを有する画像処理装置において、時間変動要因の大きいハイバネーションのデータ保存処理を安全に行うことが可能となる。また、データ保存処理が間に合わない場合には、最小の時間であきらめることが可能であり、スイッチOFFから実際に電源が切れるまでの時間(システム終了時間)を短縮することが可能である。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
100:画像処理装置、102:スキャナ装置、103:コントローラ、104:プリンタ装置、105:操作部、106:ハードディスク、107:FAX装置、108:LAN、109:コンピュータ
Claims (9)
- 画像処理装置であって、
前記画像処理装置の状態をON又はOFFにする指示を入力するスイッチと、
前記画像処理装置の状態をOFFにするための操作が前記スイッチに対してなされた場合に、OFFにする前のメモリに記憶された情報をOFFの間前記画像処理装置が保持し続けるOFF状態に移行するための処理を行う処理手段と、
前記処理手段に電力を出力する出力手段と、
前記画像処理装置の状態をOFFにするための操作が前記スイッチに対してなされてから第1の時間が経過したのちに、前記処理手段への電力の出力を強制的に停止させる停止手段と、
前記画像処理装置の状態をOFFにするための前記操作が前記スイッチに対してなされたのち前記第1の時間よりも短い第2の時間が経過するまでに前記処理が完了しない場合には、前記処理手段に対して割り込みを発生させることにより、前記処理を中断してシャットダウン処理を前記処理手段に開始させる割込制御手段と
を有することを特徴とする画像処理装置。 - 前記シャットダウン処理が実行された前記画像処理装置が起動される場合にコールドブートを実行する起動手段、をさらに備えることを特徴とする請求項1に記載の画像処理装置。
- 前記出力手段は、前記画像処理装置を制御するコントローラに電力を出力し、
前記コントローラは、前記処理手段及び前記割込制御手段を含むことを特徴とする請求項1に記載の画像処理装置。 - 前記画像処理装置は、複写機能又は画像印刷機能のうち少なくとも何れかの機能を有することを特徴とする請求項1に記載の画像処理装置。
- 前記シャットダウン処理は、実行中のサービスの中断又は終了処理を含むことを特徴とする請求項1に記載の画像処理装置。
- 画像処理装置の状態をON又はOFFにする指示を入力するスイッチを有する前記画像処理装置の制御方法であって、
処理手段が、前記画像処理装置の状態をOFFにするための操作が前記スイッチに対してなされた場合に、OFFにする前のメモリに記憶された情報をOFFの間前記画像処理装置が保持し続けるOFF状態に移行するための処理を行う処理ステップと、
割込制御手段が、前記画像処理装置の状態をOFFにするための前記操作が前記スイッチに対してなされたのち第2の時間が経過するまでに前記処理が完了しない場合には、前記処理手段に対して割り込みを発生させることにより、前記処理を中断してシャットダウン処理を前記処理手段に開始させる割込制御ステップと、
停止手段が、前記画像処理装置の状態をOFFにするための操作が前記スイッチに対してなされてから前記第2の時間よりも長い第1の時間が経過したのちに、前記処理手段への電力の出力を強制的に停止させる停止ステップと、
を有することを特徴とする制御方法。 - 前記シャットダウン処理が実行された前記画像処理装置が起動される場合にコールドブートを実行する起動ステップをさらに有することを特徴とする請求項6に記載の制御方法。
- 前記シャットダウン処理は、実行中のサービスの中断又は終了処理を含むことを特徴とする請求項6に記載の制御方法。
- コンピュータの状態をON又はOFFにする指示を入力するスイッチを有する前記コンピュータに、
処理手段が、前記コンピュータの状態をOFFにするための操作が前記スイッチに対してなされた場合に、OFFにする前のメモリに記憶された情報をOFFの間前記コンピュータが保持し続けるOFF状態に移行するための処理を行う処理手順と、
割込制御手段が、前記コンピュータの状態をOFFにするための前記操作が前記スイッチに対してなされたのち第2の時間が経過するまでに前記処理が完了しない場合には、前記処理手段に対して割り込みを発生させることにより、前記処理を中断してシャットダウン処理を前記処理手段に開始させる割込制御手順と、
停止手段が、前記コンピュータの状態をOFFにするための操作が前記スイッチに対してなされてから前記第2の時間よりも長い第1の時間が経過したのちに、前記処理手段への電力の出力を強制的に停止させる停止手順と
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015238905A JP6074486B2 (ja) | 2015-12-07 | 2015-12-07 | 画像処理装置、その制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015238905A JP6074486B2 (ja) | 2015-12-07 | 2015-12-07 | 画像処理装置、その制御方法、及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011270616A Division JP5852431B2 (ja) | 2011-12-09 | 2011-12-09 | 画像処理装置、その制御方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016076249A JP2016076249A (ja) | 2016-05-12 |
JP6074486B2 true JP6074486B2 (ja) | 2017-02-01 |
Family
ID=55951545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015238905A Active JP6074486B2 (ja) | 2015-12-07 | 2015-12-07 | 画像処理装置、その制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6074486B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6737013B2 (ja) * | 2016-07-05 | 2020-08-05 | コニカミノルタ株式会社 | 画像形成装置、起動方法、およびコンピュータプログラム |
JP7005229B2 (ja) * | 2017-08-24 | 2022-01-21 | キヤノン株式会社 | 記録装置、及び記録装置の制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000172384A (ja) * | 1998-12-03 | 2000-06-23 | Clarion Co Ltd | 車載用コンピュータ及びその制御方法 |
JP4267174B2 (ja) * | 2000-05-12 | 2009-05-27 | 京セラ株式会社 | 携帯電話機 |
JP2003323235A (ja) * | 2002-04-30 | 2003-11-14 | Canon Inc | バッテリを搭載した情報処理装置の停電時運転方法 |
JP2009056725A (ja) * | 2007-08-31 | 2009-03-19 | Fuji Xerox Co Ltd | 画像処理装置 |
-
2015
- 2015-12-07 JP JP2015238905A patent/JP6074486B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016076249A (ja) | 2016-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8700935B2 (en) | Power supply unit configured to not control a power supply from reducing the power state to a mirroring unit and storage units during a rebuild operation even when such power reducing state is satisfied | |
KR101997316B1 (ko) | 제어 장치, 제어 장치의 제어 방법 및 기억 매체 | |
US9513853B2 (en) | Data processing apparatus capable of controlling power supply, control method therefor, and storage medium | |
JP2015064860A (ja) | 画像形成装置およびその制御方法、並びにプログラム | |
KR101636184B1 (ko) | 화상 형성 장치, 화상 형성 장치의 제어 방법 및 컴퓨터 판독가능 기록매체 | |
JP2011095916A (ja) | 電子機器 | |
JP2011028430A (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP5715491B2 (ja) | 情報処理装置及びその起動制御方法 | |
JP5852431B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
JP2015049731A (ja) | 画像形成装置、画像形成装置の制御方法、及びプログラム | |
JP2013215976A5 (ja) | ||
JP2012155534A (ja) | 電子機器及びその制御方法、並びにプログラム | |
JP6074486B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
JP5959841B2 (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
JP2013008198A (ja) | 画像処理装置、画像処理制御方法及び画像処理制御プログラム | |
JP5783348B2 (ja) | 制御装置、制御プログラム、画像形成装置 | |
US11294445B2 (en) | Information processing apparatus and method of controlling information processing apparatus | |
JP2016110513A (ja) | 情報処理装置、情報処理装置の制御方法、プログラムおよび記録媒体 | |
JP7313840B2 (ja) | 情報処理装置および情報処理装置の制御方法、ならびにプログラム | |
JP2013088941A (ja) | 電子機器 | |
JP2021086206A (ja) | 画像形成装置およびその制御方法 | |
JP2016110515A (ja) | 情報処理装置、情報処理装置の制御方法、プログラム | |
JP2020091588A (ja) | 電子機器及びその制御方法、並びにプログラム | |
JP2013196112A (ja) | メモリシステムとその省電力制御方法 | |
US20150207950A1 (en) | Image processing apparatus which improves user's convenience, control method thereof and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161208 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170106 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6074486 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |