(57)【特許請求の範囲】
【請求項１】
メモリに記憶された情報を用いて省電力状態から起動するクイック起動が可能な情報処理装置であって、
設定された時間になると割り込み発生させる発生手段と、
電源オフ及び電源オンの指示を検知する検知手段と、
前記検知手段が電源オフの指示を検知すると、前記クイック起動を実行するかどうかを判定する判定手段と、
前記判定手段により前記クイック起動を実行すると判定されると、前記発生手段に設定された設定値を退避する退避手段と、
前記判定手段により前記クイック起動を実行すると判定されると、省電力状態の間、前記発生手段が前記設定された時間に前記割り込みを発生させないようにする抑止手段と、
前記検知手段が電源オンの指示を検知すると、前記退避手段に退避された前記設定値を前記発生手段に設定する設定手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記検知手段が電源オフの指示を検知すると、シャットダウン処理の間、前記情報処理装置の再起動のための準備フラグをセットする手段と、
前記情報処理装置の再起動時、前記準備フラグがセットされていると前記情報処理装置を省電力状態に移行するように制御する省電力手段とを更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記発生手段により発生された割り込みを受け付けると、前記発生手段に設定された前記設定値と、当該割り込みの時間との差異を求め、当該差異が所定値以上であれば、前記割り込みが前記設定手段により設定された前記設定値に基づく割り込みであることを通知する通知手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記退避手段は、前記判定手段により前記クイック起動を実行すると判定された場合、前記発生手段に設定されている設定値を退避させるように指定されているときに前記設定値を退避することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
時間を計時し、設定された時間になると割り込み発生させるＲＴＣを有し、メモリに記憶された情報を用いて省電力状態から起動するクイック起動が可能な情報処理装置の起動制御方法であって、
電源オフ或いは電源オンの指示があるかどうかを検知する検知工程と、
前記検知工程で電源オフの指示が検知されると、前記クイック起動を実行するかどうかを判定する判定工程と、
前記判定工程で前記クイック起動を実行すると判定されると、前記ＲＴＣにより割り込みを発生させないようにする抑止工程と、
前記判定工程で前記クイック起動を実行すると判定されると、前記ＲＴＣに設定された設定値を退避する退避工程と、
前記検知工程で電源オンの指示が検知されると、前記退避工程で退避された前記設定値を前記ＲＴＣに設定する設定工程と、
を有することを特徴とする情報処理装置の起動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその起動制御方法に関する。
【背景技術】
【０００２】
近年、画像形成装置の省電力化が要望されている。例えば、欧州待機電力実施規則案では、ネットワーク・遠隔スイッチ・内蔵センサ・タイマ等の刺激により主要機能が使える状態になるスタンバイモードと、ネットワーク等の刺激も受付けない０．５０Ｗ以下のオフモードを定義している。そして、オフモード又はスタンバイモードへの自動切り替え機能を備える電力管理の義務が記載されている。
【０００３】
また近年、画像形成装置の高機能化が要望されている。画像形成装置は、ユーザの業務効率を向上させるソリューションを提供するため、多機能化・高性能化が求められている。省電力と高機能との両方を満たすと起動時間が長くなる問題が起こる。これは省電力と高機能を満たすためにハードウェアと、それを制御するためのソフトウェアが複雑になり、電源スイッチをオンにしてから、ハードウェアとソフトウェアを初期化し、ユーザが使えるようになるまでの時間である、起動時間が長くなるためである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−０８７３６２号公報
【特許文献２】特開２０００−０４７５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような起動時間が長くなる問題の対策として、ユーザが電源スイッチをオフした時に、主記憶メモリに通電したままにしておき、ユーザが電源スイッチをオンした時に、前回起動時の情報を使って起動を高速化する、所謂ＡＣＰＩ−Ｓ３方式がある。以降、このＡＣＰＩ−Ｓ３方式の高速化手法をクイック起動と呼ぶ。また、クイック起動が有効で、終了処理が完了した状態を、クイックオフと呼ぶ。クイック起動は、前回起動時の情報を保持するため、電源オフの状態でもＲＴＣを含むハードウェアの一部に通電されている。この場合、ＲＴＣが有効なので、アラームが設定されていると、ユーザは電源スイッチをオフして終了しているつもりにもかかわらず、画像形成装置はＲＴＣ割り込みで復帰してしまう。但し、電源スイッチがオフであるため、起動しようとしてエンジンとスキャナが動作した後、途中で電源オフされる。つまり、単純にクイックオフすると、ＲＴＣ割り込みで復帰して欲しくないのに復帰してしまうことになる。
【０００６】
例えば、特許文献１の技術では、機器がオフ状態やサスペンド状態の時に、アラーム等の外部イベントでノーマル状態へ遷移し、逆にノーマル状態の時に、タイムアウトでスタンバイ状態やサスペンド状態に遷移する。このため、無対策だとオフ時にアラームで復帰してしまう。また、クイック起動の時は、欧州待機電力実施規則案の定義だと、０．５０Ｗ以下のオフモードに相当するので、ＲＴＣタイマで復帰してはいけない。
【０００７】
またＲＴＣタイマを無効にする特許文献２の技術は、複数の複合機に分散して出力する重連機能を使っている時、１週間の各曜日の指定時間にシャットダウンするウィークリータイマを無効にする。この技術はジョブ実行中にソフトウェアタイマを無効にする方法である。
【０００８】
このように従来は、ユーザが、クイック起動を有効にして電源スイッチをオフした場合、ＲＴＣに時間が設定されていると、ＲＴＣ割り込みが発生して起動してしまう。
【０００９】
また通常の起動時は、各モジュールの初期化時に必要ならばＲＴＣに時間が設定されるが、クイック起動時は、電源スイッチをオフする以前の処理が継続されるため、何もしないとＲＴＣに時間が再設定されない。
【００１０】
更に、クイックオフ中に設定されているＲＴＣの設定をクイックオフする前に解除し、クイック起動後にＲＴＣにクイックオフ中の時間を再設定してＲＴＣ割り込みを実行することが考えられる。このような場合、ＲＴＣ割り込みを受け取ったアプリケーションは、クイックオフ中の割り込みか、時間通りの割り込みか分からないため、ＲＴＣに過去の時間を設定した場合、設定した直後にＲＴＣ割り込みが発生することになる。
【００１１】
また、クイックオフ期間が長かったなどの理由で、クイックオフ期間中のＲＴＣ割り込みの設定が複数ある場合、クイック起動時に大量の割り込みが発生して、クイック起動処理が長時間停止してしまう。更に、復帰時にＲＴＣ割り込みを再設定するかしないか、などの条件選択をすると、その条件が増えれば増えるほど、クイック起動を完了するまでの時間が延びてしまう。
【００１２】
本発明の目的は上記従来技術の問題点を解決することにある。
【００１３】
本願発明の特徴は、クイックオフ中の割り込み発生を防止する技術を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
メモリに記憶された情報を用いて省電力状態から起動するクイック起動が可能な情報処理装置であって、
設定された時間になると割り込み発生させる発生手段と、
電源オフ及び電源オンの指示を検知する検知手段と、
前記検知手段が電源オフの指示を検知すると、前記クイック起動を実行するかどうかを判定する判定手段と、
前記判定手段により前記クイック起動を実行すると判定されると、前記発生手段に設定された設定値を退避する退避手段と、
前記判定手段により前記クイック起動を実行すると判定されると、省電力状態の間、前記発生手段が前記設定された時間に前記割り込みを発生させないようにする抑止手段と、
前記検知手段が電源オンの指示を検知すると、前記退避手段に退避された前記設定値を前記発生手段に設定する設定手段と、を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、クイックオフ中に割り込みで復帰しなくなるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係る画像形成装置の構成及びシステム構成を示すブロック図。
【図２】実施形態に係るコントローラの構成を示すブロック図。
【図３】画像形成装置における電源と電源スイッチの構成を説明する図。
【図４】コントローラにおいて電源監視を行う構成を示すブロック図。
【図５】本実施形態に係る画像形成装置によるシャットダウン処理を説明するフローチャート。
【図６】実施形態に係る画像形成装置のブートシーケンスを説明するフローチャート。
【図７】本実施形態に係る起動シーケンスと電力状態の時間的変化を説明する図。
【図８】本実施形態１に係る終了処理を説明するフローチャート。
【図９】実施形態２に係る終了処理を説明するフローチャート（Ａ）と、クイック起動処理を説明するフローチャート（Ｂ）。
【図１０】実施形態３に係るクイック起動処理を説明するフローチャート。
【図１１】実施形態４に係る終了処理を説明するフローチャート。
【図１２】実施形態５に係る終了処理を説明するフローチャート（Ａ）と、クイック起動処理を説明するフローチャート（Ｂ）である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。本実施形態では、本発明のコンピュータ機器の実施形態を画像形成装置に例に説明するが、本発明の対象となる機器或いはシステムは、このような画像形成装置に限定されない。また本実施形態では、前回起動時の情報を保持しておき、当該情報を用いて起動するクイック起動が可能な画像形成装置（コンピュータ機器）を例にして、その装置及び起動制御方法を説明する。
【００１８】
図１は、本実施形態に係る画像形成装置の構成、及び画像形成装置を含むシステム構成を示すブロック図である。
【００１９】
画像形成装置１は、原稿から光学的に画像を読み取ってデジタル画像データに変換するスキャナ装置２、デジタル画像を紙デバイスに出力するプリン装置４を備えている。更に、この画像形成装置１の操作を行なうための操作部５、デジタル画像や制御プログラム等を記憶するハードでディスク（ＨＤＤ）６、電話回線等にデジタル画像を送信するＦＡＸ装置７と、これらと接続され、これらを制御するコントローラ３を有している。この画像形成装置１は、ＬＡＮ８を経由して、コンピュータ９との間でデジタル画像データの入出力、ジョブや各種指示等の受信も行なうことができる。
【００２０】
スキャナ装置２は、トレイに載置された原稿束から原稿を給紙する原稿給紙ユニット２１、給紙さえれた原稿を光学的にスキャンしてデジタル画像データに変換するスキャナユニット２２を有し、変換された画像データはコントローラ３に送信される。プリンタ装置４は、トレイ上に載置された複数枚の用紙から一枚づつ用紙を給紙可能な給紙ユニット４２、給紙した用紙に画像データを印刷するためのマーキングユニット４１、印刷後の紙を排紙するための排紙ユニット４３を備えている。
【００２１】
この画像形成装置１は多彩なジョブを実行可能である。一例を以下に記載する。
・複写機能  
スキャナ装置２で得られた画像データをハードディスク６に記憶し、またプリンタ装置４に出力して印刷する。
・画像送信機能
スキャナ装置２から得られた画像データをＬＡＮ８を介してコンピュータ９に送信する。
・画像保存機能
スキャナ装置２から得られた画像データをハードディスク６に記憶し、必要に応じて送信や印刷を行なう
・画像印刷機能
コンピュータ９から送信された、例えばページ記述言語の印刷データを解析し、その印刷データに従ってプリンタ装置４で印刷する。
【００２２】
図２は、実施形態に係るコントローラ３の構成を示すブロック図である。
【００２３】
このコントローラ３は、メインボード２００と、サブボード２２０とを具備している。メインボード２００は汎用的なＣＰＵシステムを搭載した基板である。全体を制御するＣＰＵ２０１、ブートプログラムを記憶しているブートＲＯＭ２０２、ＣＰＵ２０１がワークメモリとして使用するメモリ２０３、外部バスとのブリッジ機能を持つバス制御部２０４、不揮発メモリ２０５を有している。更に、ストレージ装置（ＨＤＤ）を制御するディスクコントローラ２０６と、半導体デバイスで構成された比較的小容量なストレージ装置であるフラッシュディスク（ＳＳＤ等）２０７、ＵＳＢを制御するＵＳＢ制御部２０８等を具備している。またメインボード２００には、ＵＳＢメモリ２０９、操作部５、ハードディスク６等が接続される。ＲＴＣ２１０はリアルタイムクロックで、ＣＰＵ２０１の指示により計時を行い、指定された時間が経過すると割り込みを発生する等の計時処理を行う。
【００２４】
サブボード２２０は比較的小さな汎用ＣＰＵシステムと画像処理用のハードウエアを備えている。ＣＰＵ２２１、ＣＰＵ２２１がワークメモリとして使用するメモリ２２３、外部バスとのブリッジ機能を持つバス制御部２２４、不揮発メモリ２２５を備えている。更に、リアルタイムで画像処理を行なう画像処理プロセッサ２２７とデバイス制御部２２６，２２８を有する。スキャナ装置２とプリンタ装置４は、それぞれデバイス制御部２２８，２２６を介して、サブボード２２０との間でデジタル画像データの受け渡しを行なう。ＦＡＸ装置７はＣＰＵ２２１が直接制御する。尚、この図２はブロック図であり簡略化している。例えばＣＰＵ２０１，ＣＰＵ２２１等にはチップセット、バスブリッジ、クロックジェネレータ等のＣＰＵ周辺ハードウェアが多数含まれているが、これらは本発明の主要部ではないため省略しており、このブロック図の構成が本発明を制限するものではない。
【００２５】
このコントローラ３の動作を、画像の複写を例にして説明する。
【００２６】
操作者が操作部５から画像の複写を指示すると、ＣＰＵ２０１がＣＰＵ２２１を介してスキャナ装置２に画像の読み取り命令を送る。これによりスキャナ装置２は、原稿を光学的にスキャンし、デジタル画像データに変換してデバイス制御部２２８を介して画像処理プロセッサ２２７に供給する。画像処理プロセッサ２２７は、処理済の画像データをメモリ２２３にＤＭＡ転送してデジタル画像データの一時保存を行なう。
【００２７】
ＣＰＵ２０１は、デジタル画像データがメモリ２２３に一定量もしくは全て格納されたことを確認すると、プリンタ装置４に画像の印刷指示を出す。ＣＰＵ２２１は、画像処理プロセッサ２２７にメモリ２２３の画像データの格納場所を教える。これにより、プリンタ装置４からの同期信号に従ってメモリ２２３の画像データは、画像処理プロセッサ２２７とデバイス制御部２２６を介してプリンタ装置４に送信され、プリンタ装置４によって用紙（シート）上に印刷される。
【００２８】
尚、複数の部数を印刷する場合、ＣＰＵ２０１がメモリ２２３の画像データをハードディスク６に保存し、２部目以降はスキャナ装置２からの画像データの供給なしにプリンタ装置４に画像データを送出して印刷する。
【００２９】
図３は、この画像形成装置における電源と電源スイッチの構成を説明する図である。
【００３０】
トグル型電源スイッチ３０１は、電源のオン／オフを行うのに使用される。電源ユニット３０２は、ＡＣ−ＤＣコンバータ３０３を有し、ＡＣ−ＤＣコンバータ３０３はＡＣ電源入力部３０４から入力されるＡＣ電圧をＤＣ電圧に変換している。電源ケーブル３０５は、ＡＣ−ＤＣコンバータ３０３から出力されるＤＣ電圧をプリンタ装置４に供給している。また電源ケーブル３０６は、ＡＣ−ＤＣコンバータ３０３から出力されるＤＣ電圧をコントローラ３に供給している。信号線３０７は、電源スイッチ３０１の状態をコントローラ３に通知する。電源制御信号線３０８は、ＡＣ−ＤＣコンバータ３０３の出力を制御するための信号線である。またスキャナ装置２も同様に、ＡＣ−ＤＣコンバータ３０３から供給されるＤＣ電圧により動作する。
【００３１】
操作者は電源スイッチ３０１を操作することで、画像形成装置１への電力供給をオン／オフすることができる。この電源スイッチ３０１がオンされるとコントローラ３とＡＣ−ＤＣコンバータ３０３とが接続され、コントローラ３は、装置内の各部への電源の供給状態を制御することができる。また電源スイッチ３０１がオフされた時は、コントローラ３が装置のシャットダウンが完了するまで、電源ケーブル３０６を介したコントローラ３への電源供給が継続される。よって、コントローラ３は、信号線３０７を介して電源スイッチ３０１の状態を監視し、電源スイッチ３０１がオフされるとシャットダウン処理を行う。そして、そのシャットダウンが完了した後、信号線３０７を介してＡＣ−ＤＣコンバータ３０３に、電源ケーブル３０６を介したコントローラ３への電力供給を停止するように指示する。
【００３２】
これらの説明は、シャットダウンが必要な一般的なコンピュータ機器に共通の構成である。トグル型電源スイッチ３０１は、オン／オフの状態のどちらか一方の状態をメカ的に保持し続けるスイッチである。操作者は、この電源スイッチ３０１を操作して、オン／オフのいずれかの状態を保持させる。
【００３３】
尚、本実施形態では、オフ／オンが明示的なトグル型電源スイッチを用いているが、パーソナルコンピュータ等では、状態を持たない電源スイッチ（電源スイッチ自体が省電力移行スイッチとして機能するもの等も含む）を採用しているものが多数ある。これらの状態を持たないスイッチでは、オンされると、電源が入っている状態では「オフ／省電力状態移行指示」として機能し、電源が入っていない状態では「オン」と機能する。また、そのスイッチを一定時間以上押下し続けることで「強制オフ」を入力する、等の制御が可能である。よって、電源スイッチは、トグル型スイッチに限定するものではなく、上述した状態を持たないスイッチにも適用できる。
【００３４】
図４は、本実施形態に係るコントローラ３において電源監視を行う構成を示すブロック図である。
【００３５】
リセット回路４０１は、メインボード２００に設けられている。ＢＩＯＳ４０２は、メインボード２００上のハードウェア（Ｈ／Ｗ）の基本的な部分を制御するのに使用される。電源監視ハードウェア４０３は、この装置１の電源制御を監視しており、ＡＳＩＣ等の場合、小さなＣＰＵシステム等でも良い。リセット回路４０４は、サブボード２２０上のリセット回路である。ハードウェア群４０５はメインボード２００上のハードウェア群で、ハードウェア群４０６は、サブボード２２０上のハードウェア群である。
【００３６】
尚、同期型のハードウェアは、リセットにより内部状態をリセットするため、同期型で組まれたハードウェア回路は、電源がオンされて各チップに電力が供給された後にリセット回路が各ハードウェアをリセットする必要がある。この際、複数のハードウェアチップは主従関係を持つため、リセットシーケンスを設計し、順次リセットを行うことになる。そのため一般的には本実施形態のように一つのボードに一つのリセット回路を備え、各々のボード内のリセット動作を各リセット回路が行う。
【００３７】
メインボード２００は、特に本装置１で主となるボードであり、電源監視ハードウェア４０３を有する。これは電源スイッチ３０１の状態を入力する信号線３０７、電源制御信号線３０８を用いてメインボード２２０における電源供給を制御する等の機能を有する。
【００３８】
ＣＰＵ２０１が正常に動作できる場合、ＣＰＵ２０１の指示に従ってリセットを掛けることができる。また、ＣＰＵ２０１に電源が供給されていない状態では、電源スイッチ３０１の状態を入力する信号線３０７に従って、電源制御信号線３０８を制御してコントローラ３の電源を投入することができる。
【００３９】
ＢＩＯＳ４０２は、低レベルのハードウェア制御ライブラリ等を含む。一般的には、ＩＢＭ互換機の互換性確保のためのものであり、いわゆるコンピュータシステム上必須ではない。しかしながら、例えばＡＣＰＩ規格による省電力機能の一部を実行する事も可能であるため実施形態に記載した。
【００４０】
本実施形態では、省電力モードとして一般的なＡＣＰＩ−Ｓ３方式（メモリをレジュームする）を例に説明する。またＢＩＯＳ４０２は、その機能の一部のためだけに記載したものである。
【００４１】
以上のハードウェア構成を有する画像形成装置１において、例えばトグル型電源スイッチ３０１がオフにされると、ＣＰＵ２０１は電源監視ハードウェア４０３を介して電源スイッチ３０１の状態を受け取る。通常、ＣＰＵ２０１は、電源オフを検知するとシャットダウン処理を動作させ、電源監視ハードウェア４０３にシャットダウンを指示する。その結果、電源制御信号線３０８を介してＤＣ−ＡＣコンバータ３０３に電源オフが通知され、電源ケーブル３０６を介したコントローラ３へのＤＣ電源供給が停止され、この装置１は完全にシャットダウンされる。このシャットダウンによりＣＰＵ２０１によるプログラムの実行も完全に終了するため、次回電源スイッチ３０１がオンされると、ＣＰＵ２０１によるプログラムの実行も通常通り起動される。
【００４２】
本実施形態では、装置の起動高速化を目指している。現在の技術で高速に起動することが可能な技術の一般的な一例として、ＡＣＰＩ−Ｓ３サスペンド方式による高速化手法がある。このＡＣＰＩ−Ｓ３方式を本装置に適用した場合について以下に説明する。
【００４３】
操作者が電源スイッチ３０１をオフにすると、信号線３０７を介して電源監視ハードウェア４０３に通知される。このときＣＰＵ２０１は、割り込みにより、そのスイッチ３０１がオフされたことを検知する。そして、例えばカーネルの省電力インタフェースをコールすることで、最終的にＢＩＯＳ４０２と電源監視ハードウェア４０３が持っている機能であるＡＣＰＩ−Ｓ３状態に遷移する。そして電源制御信号線３０８を介して電源ユニット３０２に対してＡＣＰＩ−Ｓ３の省電力状態（メモリと一部のハードウェアのみを通電状態）へと遷移させることが可能である。
【００４４】
この時、装置１としてはオフ状態ではなく、メモリにプログラム状態を保持した「一時中断状態」となっており、その場合ＡＣＰＩ−Ｓ３の復帰処理に相当する時間で、コントローラ３を高速に起動することが可能である。しかし、このようなＡＣＰＩ−Ｓ３方式等のメモリレジュームによる省電力方式を採用した場合、電源スイッチ３０１のオフ、オンの操作により、各リセット回路４０１，４０４がリセットする対象のボード上のハードウェア群４０５，４０６にリセットがかかる。しかしながら、ＣＰＵ２０１上で動作しているソフトウェアにはリセット制御がかからないことになる。
【００４５】
長時間ソフトウェアをリセットしないことにより発生する不具合は一般的に知られており、理想的にはＣＰＵ２０１上で動作している制御ソフトウェアもリセットすることが好ましい。しかし、ＣＰＵ２０１上の制御ソフトウェアをリセットしてしまうと、次回の起動時における起動時間が長くなり、ユーザが操作可能となるまでの立ち上がり時間が長くなってしまう。
【００４６】
以下、本実施形態に従って、上記問題を解決する手法を説明する。
【００４７】
図５は、本実施形態に係る画像形成装置１のＣＰＵ２０１によるシャットダウン処理を説明するフローチャートである。これら操作者が画像形成装置１の電源をオフしたときに処理を終了させるための動作を示す。尚、この処理を実行するプログラムはメモリ２０３に記憶されており、ＣＰＵ２０１がそのプログラムを読み出して実行することにより実現される。
【００４８】
この処理は、操作者が電源スイッチ３０１がオフしたことをＣＰＵ２０１が信号線３０７を介して検知することにより開始される。まずＳ５０１で、操作部５にシャットダウン中であることを示す画面を表示する。次にＳ５０２に進み、現在行っているサービス等の中断・終了処理を行う。この終了処理は複数のプロセスで並行して実行されているため、Ｓ５０３で、それらの全ての終了処理の完了を待つ。Ｓ５０３で終了処理が完了したことを検知するとＳ５０４に進み、メモリ２０３の値をＨＤＤ６に格納する。例えばＤＲＡＭにキャッシュしたストレージバッファの内容をＨＤＤ６にシンクする等の処理を行う。
【００４９】
次にＳ５０５に進み、起動準備リブートフラグ（準備フラグ）を設定する。ここでＣＰＵ２０１は、ＣＰＵ２０１がアクセス可能で、ハードウェアリセットにより状態がリセットされない何らかのレジスタに、この起動準備リブートフラグをセットする。本実施形態では、リセット回路４０１の上位に位置する電源監視ハードウェア４０３が存在するため、この電源監視ハードウェア４０３のレジスタに、この起動準備リブートフラグをセットする。
【００５０】
次にＳ５０６に進み、ＣＰＵ２０１がカーネルのシャットダウンＩ／Ｆを呼び、カーネルのソフトウェア最終終了処理を行う。その後、Ｓ５０７に進み、ＣＰＵ２０１は電源監視ハードウェア４０３に対してシステムのリブート（リスタート）要求を発行する。
【００５１】
電源監視ハードウェア４０３は、リセット回路４０１に対して装置全体のリセットを要求し、リセット回路４０１は、これをサブボード２２０上のリセット回路４０４に通知する。これによりボード全体にリセットが発行される。このリセットはリブート要求であるため、ＣＰＵ２０１にもリセットがかかり、ＣＰＵ２０１はリセット例外発行により、例えばＢＩＯＳ４０２からのブート処理を行う。つまり、この装置１では、シャットダウンにも拘わらず、電源を落とすのではなくリブートすることになる。従って、このシャットダウンシーケンスは図６のブートシーケンスにつながることになる。
【００５２】
図６は、実施形態に係る画像形成装置１のブートシーケンスを説明するフローチャートである。尚、この処理を実行するプログラムはメモリ２０３に記憶されており、ＣＰＵ２０１がそのプログラムを読み出して実行することにより実現される。尚、このブート方法はシステムにより多段階的に起動するものであるが、非常に難しい部分であるため、ＣＰＵ２０１が行う処理の概念をフロー化して説明する。
【００５３】
まず最初にＳ６０１で、ハードウェアを初期化する。このハードウェアの初期化はレジスタや割り込みの初期化、カーネル起動部においては対応したデバイスドライバの登録等がある。
【００５４】
次に、本実施形態の特徴であるＳ６０２に進み、現在の起動が高速起動のための準備のためのブートか否かを判断する。具体的には図５のＳ５０５で設定した起動準備リブートフラグがオンであるか否かを判断し、このフラグがオンである時にＳ６０３の処理をスキップする動作を行う。Ｓ６０３では、操作部５の初期化・表示を行う。ここでは最初の表示であるため、例えば「起動しています」の旨の表示を行う。つまり、起動準備リブートフラグがオンである場合は、操作部５に表示しない状態で初期化を継続させることになる。
【００５５】
次にＳ６０４に進み、ソフトウェアレイヤの初期化に入る。ここでは各ライブラリの初期化ルーチンを呼び、次にＳ６０５で、第一各プロセス・スレッド群を起動する。主にこの起動は、周辺ハードウェアに影響のない純粋なソフトウェアサービス等が適切である。理由は後述する。次にＳ６０６に進み、Ｓ６０２でも参照した起動準備リブートフラグがオンかオフかを判定する。このフラグがオフの場合は通常起動であるためＳ６１１に遷移する。一方、オンの場合は、今回のブートが起動準備のための起動であるためＳ６０７に進み、Ｓ６０５の処理完了を待つ。もしくはウエイト等の非同期制御でも構わない。
【００５６】
起動準備リブートフラグがオンで、この処理が実行されている場合、操作部５における表示はなされない。そしてＳ６０５の処理が完了すると、起動途中であるにもかかわらずＳ６０８に進んで省電力モードに移行する。この省電力モードは、高速に復帰することができるモードであるのが好ましい。一般的にはＡＣＰＩ−Ｓ４ハイバネーション、ＡＣＰＩ−Ｓ３サスペンド方式が主流であるが、速度的に優位性の高いＳ３の状態に遷移する。尚、ＡＣＰＩ−Ｓ３方式に入る方法は前述しているので、ここではその説明を省略する。この状態で起動は一旦停止し、電源の通電はメインボード２００上のメモリ２０３と、電源監視ハードウェア４０３だけになり、ハードウェアのシステム起動は待機状態となる。
【００５７】
このように、シャットダウンの際、シャットダウン後に電源を落とさずにリブートを行い、次回の起動時に操作部５に表示せずに、起動途中で省電力状態に入るのが、本実施形態の特徴的な一つのシーケンスである。この場合操作者は、リブートしたのではなくシャットダウンが通常よりも長く継続しているように見え、違和感を感じない。
【００５８】
次に操作者が、この装置１を使用する場合は、電源スイッチ３０１をオンにする。これにより信号３０７を介して電源監視ハードウェア４０３は電源がオンされたことを検知する。そして、電源制御信号線３０８を介して電源ユニット３０２に「スイッチオンによる全装置オン」を通知する。そして電源ユニット３０２は、装置全体に電源オン時に応じた電力を供給する。具体的にはコントローラ３、プリンタ装置４、スキャナ装置２に各ＤＣ電源を供給する。これによりプリンタ装置４、スキャナ装置２において、各々のＣＰＵが電源オンによる初期化動作を開始する。
【００５９】
コントローラ３はサスペンド状態になっている場合、図６のＳ６０９の処理から抜けてＳ６１０に進み、操作部５を初期化して表示する。これにより装置１は「起動しています」を表示した状態となる。次にＳ６１１に進み、第二プロセス・スレッド群を起動する。これらのプログラムは主に周辺装置、例えばプリンタ装置４やスキャナ装置２と起動のためのコミュニケーションを行うために、Ｓ６０５のＡＣＰＩ−Ｓ３サスペンド省電力状態前では不適切なもののみを起動する。そしてＳ６１２に進み、プリンタ装置４、スキャナ装置２とネゴシエーションを行って通信を確立する。その後、Ｓ６１３に進み、アイドル状態へ移行する。
【００６０】
このように本実施形態では、通常の起動において、起動時にＳ６０１〜Ｓ６０５の処理を省略することが出来るため、この時間分だけ高速に装置を起動することができる。
【００６１】
このようなフローを製品に適用した場合の操作部５の表示の状態、装置本体の起動シーケンスと電力状態の時間的変化を図７に示す。
【００６２】
図７は、本実施形態に係る起動シーケンスと電力状態の時間的変化を説明する図である。尚、図７において、横軸は時間を示す。ここでは７０１で、電源スイッチ３０１をオン、７０２で電源スイッチ３０１をオフ、更に７０３で、電源スイッチ３０１をオンしている。この場合の従来の動作を７０７，７０８で示し、本実施形態を採用した場合のシーケンスを７０９，７１０で示す。
【００６３】
最初に７１４で示す、従来の線図７０７を説明する。ここで縦軸はブート状況を表し、Ｙ軸＝０地点を電源オフ、ブートアップ(BootUp)が記載されている地点をブート完了とする。７０１で示す電源オンの後、７１１で示す時間後、装置が起動する。この間、７０８で示すように、操作部５には起動中を示す表示がなされている。そして動作可能状態になり、７０２で電源オフが発生すると、７１２でシャットダウン処理を行う。このシャットダウンが完了すると電源はオフ状態となり、操作部５の表示もオフとなる。そして次に７０３で電源がオンになると、再度、７１１と同様の起動処理７１３を行う。こうして、オフ／オン時に行う処理に差異は無く、おおよそ同じ時間で起動する。これは一般的な起動からシャットダウンまでの処理となる。
【００６４】
次に７１５で示す、本実施形態に係る線図７０９を説明する。
【００６５】
７２１は、７１１と同様に通常の起動を示す。正常に起動が完了している状態で、電源スイッチ３０１が７０２のタイミングでオフされた場合、７２２で、図５のシャットダウン処理が実行される。７２３は、図５のＳ５０７でシステムリブート要求が発生することによる遅延を示す。その後、図６で示すブート処理が実行される。７２４は、図６のＳ６０１〜Ｓ６０７までのシーケンスの実行時間に対応している。本実施形態に係る起動の場合、Ｓ６０３での操作部５の初期化・表示が行われないため、この区間では操作部５の表示が無い状態で起動することができる。
【００６６】
７２５は、Ｓ６０８の処理に対応し、省電力モード（本実施形態ではＡＣＰＩ−Ｓ３状態）へ移行する。通常は、この移行時間はさほどかからない。この移行が完了した状態で電源スイッチ３０１のオンを待つ期間が７２６で示されており、これがＳ６０９の処理に対応する。そして７０３で電源スイッチ３０１がオンされると、７２７で省電力からの復帰を行い、Ｓ６１０で操作部５の初期化及び表示が実行される。これにより斜線で示すように、７２８で示す期間、起動中の表示がなされることになる。この期間７２８では、Ｓ６１１，Ｓ６１２の処理が完了するまでの時間だけ起動中が継続し、その後Ｓ６１３で動作可能状態となる。尚、図７において、７０６はスタンバイ状態、７０５は省電力状態、そして７０４は、電源オフの状態を示す。７１０は、７０９の状態に対応した操作部５の表示状態を示す。
【００６７】
このように操作者が、７０２で電源スイッチ３０１をオフした時に、次回の起動の準備処理を行っておくことで、次の起動時の時間を短くできる。また起動準備リブートフラグがオンであるときに操作部５への表示を行わないことで、外部から見てシャットダウン状態が継続しているのと等価となるため、特に違和感なく高速起動を実現することができる。
【００６８】
尚、７１０において、操作部５の表示がオフの状態では、操作部の表示部の電源をオフにしても良く、また或いはバックライトを消す、また真黒を表示するといったオフ状態に相当する状態にしても同様の効果が得られる。
【００６９】
また、見かけにこだわらない場合や操作部５を持たない装置の場合、７１０で、操作部に対して特別な操作を行わないという方法もある。図示しないがこの方法でも起動時間の短縮を行うことが可能である。この場合、電源スイッチ３０１がオフされた後、シャットダウン時、操作部５には「終了中」が表示され、その後、リブート時に通常の起動と同様に「起動中」が表示される。その後、操作部５の表示が消えて、７０３で電源スイッチ３０１がオンされるのを待つ、というシーケンスとなる。従って、元々、起動時間がさほど長く無い装置であれば、このような方式を採用しても違和感は少ない。
【００７０】
また、図６のブート処理において、Ｓ６１１，Ｓ６１２の処理が必要ない場合が考えられる。その場合は、Ｓ６０７の終了時点が起動完了となり、Ｓ６１３と同様に図７の７１８で示す状態となる。本実施形態では、起動途中ではなく、起動完了後に省電力モードに入るため、図７の７１６で示すような図となる。この場合、７１７で示す省電力状態からの復帰時間が、動作可能になる状態までの経過時間となる。
【００７１】
図７の７１６で示す本実施形態に係る方式を適用するにあたり、省電力起動を有する装置の場合、７１８で示す動作可能状態から省電力状態に入るまでの時間を予め規定しておく。通常、タイマによる省電力機能を有する場合、再起動後、一定時間後に省電力モードに自動的に移行する。従って、本実施形態を適用しなくても、再起動後に操作せずに所定時間放置することで、自動的に省電力状態へ移行することになる。しかし本実施形態では、この省電力に移行する時間より短い時間、理想的には、動作可能状態になってできるだけ早いタイミングで省電力状態に自発的に移行させることを特徴としている。これにより、装置の消費電力を最小にすることができる。
【００７２】
以上の構成を基に本発明の実施形態を説明する。
【００７３】
先に、スリープ復帰とクイック起動との違いについて説明する。電源オフ状態からの復帰要因として、スリープ処理では、シーソースイッチ、ネットワーク、ＦＡＸ着信・オフフック、ＲＴＣ２１０（タイマ・アラームなど）、ＵＳＢ挿抜などの複数の要因がある。一方、クイック起動はシーソースイッチのみで、他の復帰要因を受け付けてはいけないという点が異なる。ユーザから見ると、電源スイッチのオフとクイックオフは同じ意味になる。
【００７４】
実施形態の詳細を以下に述べる。
【００７５】
［実施形態１］
図５のＳ５０２の終了処理を行うときに、図８のフローチャートで示す処理を実施する。
【００７６】
図８は、本実施形態１に係る終了処理を説明するフローチャートである。尚、この処理を実行するプログラムはメモリ２０３に記憶されており、ＣＰＵ２０１がそのプログラムを読み出して実行することにより実現される。
【００７７】
Ｓ８０１で、クイック起動が有効かどうかを判断し、クイック起動が無効の場合はＳ８０４に進み、通常の終了処理を実行する。一方、Ｓ８０１で、クイック起動が有効であればＳ８０２に進み、ＲＴＣ２１０をクリアしてＳ８０３に進み、クイック起動の終了処理を行う。
【００７８】
また、前述したように、ＲＴＣ２１０の設定を解除するだけでなく、以下のようにしても良い。即ち、ＲＴＣ２１０による割り込みをマスクする、ＲＴＣ１２０を無効にするようハード設定する、ＲＴＣ２１０のクロックを止める等の方法で、ＲＴＣ割り込みが入らない状況を作ることでも対応可能である。
【００７９】
この実施形態１により、クイックオフ中にＲＴＣ２１０による割り込みにより復帰することを防止できる。
【００８０】
［実施形態２］
図５のＳ５０２の終了処理を行うときに、図９（Ａ）のフローチャートで示す処理を実施する。
【００８１】
図９（Ａ）は、実施形態２に係る終了処理を説明するフローチャートである。
【００８２】
Ｓ９０１で、クイック起動が有効かどうかを判断し、クイック起動が無効であると判定するとＳ９０５に進み、通常の終了処理を行う。一方、Ｓ９０１で、クイック起動が有効であると判定するとＳ９０２に進み、ＲＴＣ設定値を退避する。そしてＳ９０３に進み、ＲＴＣ２１０をクリアして、Ｓ９０４で、クイック起動の終了処理を行う。
【００８３】
また図６のＳ６１１で、第二スレッド・プロセス群の起動処理で、図９（Ｂ）のフローチャートで示す処理を実施する。
【００８４】
図９（Ｂ）は、実施形態２に係るクイック起動処理を説明するフローチャートである。
【００８５】
図９（Ｂ）では、Ｓ９０１で、クイック起動の開始処理を行う。次にＳ９１１に進み、ＲＴＣ設定値が退避されているかどうかを判定し、退避されている場合はＳ９１２に進み、ＲＴＣ（タイマ・アラーム）を再設定する。また退避されていない場合は、処理を終了する。
【００８６】
この実施形態２によれば、アプリケーションは、クイックオフ中のＲＴＣ割り込みを、クイック起動時に知ることができる。
【００８７】
［実施形態３］
図１０は、実施形態３に係るクイック起動処理を説明するフローチャートである。この処理は図９（Ｂ）のフローチャートで示す処理の後に実行される。
【００８８】
Ｓ１００１で、ＲＴＣ割り込み発生するとＳ１００２に進み、設定時間とＲＴＣ割り込み実行時間が一定時間以上（例えば、５分以上（所定値以上））異なっているかどうかを判定する。ここで異なっていると判定した場合はＳ１００４に進み、ＲＴＣ２１０を設定したアプリケーションに時間通りでないＲＴＣ割り込み、つまりクイック期間中に設定されたＲＴＣ割り込みが発生したことを通知する。一方、Ｓ１００２で、設定時間と実行時間がほぼ同じだった場合はＳ１００３に進み、ＲＴＣ２１０を設定したアプリケーションに時間通りの割り込み、つまりクイック期間外に設定されたＲＴＣ割り込みが発生したことを通知する。
【００８９】
尚、ここで、設定時間と実行時間に、時刻通りではなく差異に幅を持たせているのは、ＲＴＣ２１０の精度が分単位である場合や、ＲＴＣ割り込みでスリープ復帰した時に、アプリケーションに割込み応答を返すまで数十秒の復帰処理の時間がかかるためである。即ち、必ずしも指定時間通りに応答を返せないことがあるためである。
【００９０】
この実施形態３によれば、アプリケーションは、クイックオフ中のＲＴＣ割り込みか、時間通りのＲＴＣ割り込みかを、割り込み発生時に得た情報から知ることができる。そのため、例えば指定時間配信など、時間通りでないなら実行しなくて良い処理を止めることが出来る。
【００９１】
［実施形態４］
図１１は、実施形態４に係る終了処理を説明するフローチャートである。この処理は図５の終了処理Ｓ５０２で実行される。
【００９２】
まずＳ１１０１で、クイック起動が有効かどうかを判断し、クイック起動が無効の場合はＳ１１０５に進み、通常の終了処理を実行する。一方、Ｓ１１０１で、クイック起動が有効であると判断するとＳ１１０２に進み、クイック起動後に、ＲＴＣ２１０に再設定するよう指定がある、ＲＴＣ設定値を退避する。そしてＳ１１０３に進み、ＲＴＣ２１０をクリアし、Ｓ１１０４で、クイック起動の終了処理を行うＦ４０４。
【００９３】
尚、この実施形態４におけるクイック起動の復帰処理は、図９（Ｂ）と同じである。
【００９４】
図６のＳ６１１の、第二スレッド・プロセス群の起動処理が行われるときに、図９（Ｂ）が実施される。即ち、Ｓ９１０で、クイック起動の開始処理を行い。Ｓ９１１で、ＲＴＣ設定値が退避されていると判定するとＳ９１２で、その対比されている設定値を使用してＲＴＣ２１０を再設定する。
【００９５】
前述のケースでは、終了処理時に、ＲＴＣ２１０を再設定するよう指定がある場合は、ＲＴＣ２１０の設定値を退避した。しかし、起動処理時に、ＲＴＣ２１０を再設定するよう指定がある場合は、ＲＴＣ２１０の設定値を復旧することも可能である。
【００９６】
この実施形態４によれば、クイック起動時に、同時に起こるＲＴＣ割り込み数を減らすことができる。
【００９７】
［実施形態５］
図１２（Ａ）は、実施形態５に係る終了処理を説明するフローチャートである。この処理は図５のＳ５０２の終了処理が行われるときに実施される。
【００９８】
まずＳ１２０１で、クイック起動が有効かどうかを判断し、有効でないときはＳ１２０５に進み、通常の終了処理を行う。一方、Ｓ１２０１で、有効であると判断するとＳ１２０３に進み、アプリケーションに通知する。これによりＳ１２０３で、アプリケーションはＲＴＣ（タイマ・アラーム）をクリアし、Ｓ１２０４で、クイック起動の終了処理を行う。
【００９９】
図１２（Ｂ）は、実施形態５に係るクイック起動処理を説明するフローチャートである。この処理は図６のＳ６１１の第二スレッド・プロセス群の起動処理で実施される。
【０１００】
まずＳ１２１１で、クイック起動の開始処理を行う。次にＳ１２１２に進み、アプリケーションにクイック起動したことを通知する。Ｓ１２１３で、アプリケーションはＲＴＣ（タイマ・アラーム）を再設定する。
【０１０１】
この実施形態５によれば、クイックオフ中のＲＴＣ割り込みが不要な場合は、クイック起動時にＲＴＣ割り込み自体を起こさなく出来る。
【０１０２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005715491.tif 000002
【図２】
0005715491.tif 000003
【図３】
0005715491.tif 000004
【図４】
0005715491.tif 000005
【図５】
0005715491.tif 000006
【図６】
0005715491.tif 000007
【図７】
0005715491.tif 000008
【図８】
0005715491.tif 000009
【図９】
0005715491.tif 000010
【図１０】
0005715491.tif 000011
【図１１】
0005715491.tif 000012
【図１２】
0005715491.tif 000013