(57)【特許請求の範囲】
【請求項１】
プログラムを実行するメイン制御手段と、
前記メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、
前記メイン制御手段を起動するサブ制御手段と、
前記メイン制御手段および前記サブ制御手段がアクセス可能な不揮発性の第２の記憶手段と、
複数の起動要因それぞれに、前記メイン制御手段により制御される複数のハードウェア資源の１以上を関連付ける関連付手段と、を備え、
前記メイン制御手段は、動作モードを電力の供給を受ける駆動モードから電力の供給を受けない停止モードに切り換えるモード切換手段を、備え、
前記サブ制御手段は、前記モード切換手段により動作モードが停止モードに切り換えられることに応じて、前記メイン制御手段、前記第１の記憶手段および前記複数のハードウェア資源に供給される電力を遮断する遮断制御手段と、
前記メイン制御手段に電力が供給されていない間に、前記複数の起動要因のいずれかを検出する起動要因検出手段と、
前記起動要因検出手段により前記複数の起動要因のいずれかが検出されることに応じて、前記メイン制御手段、前記第１の記憶手段および前記複数のハードウェア資源のうち前記検出された起動要因に関連付けられた１以上のハードウェア資源に電力を供給する電力復帰手段と、
前記起動要因検出手段により前記複数の起動要因のいずれかが検出されることに応じて、前記メイン制御手段を起動する起動手段と、を備え、
前記第２の記憶手段は、前記複数の起動要因ごとに、当該起動要因と前記関連付手段により関連付けられた１以上のハードウェア資源に電力が供給された状態で前記第１の記憶手段に記憶されたデータであるスナップショットを記憶しており、
前記メイン制御手段は、前記起動手段により起動されること応じて、前記第２の記憶手段に記憶された複数のスナップショットのうち前記検出された起動要因に対応するスナップショットを前記第２の記憶手段から読出し、前記第１の記憶手段に記憶する復帰手段を備える、画像形成装置。
【請求項２】
前記メイン制御手段は、前記複数の起動要因ごとに、前記複数のハードウェア資源のうち当該起動要因に関連付けられた１以上のハードウェア資源のみが起動する状態が検出されることに応じて、前記第１の記憶手段に記憶されているデータをスナップショットとして前記第２の記憶手段に記憶するスナップショット生成手段を、さらに含む、請求項１に記載の画像形成装置。
【請求項３】
前記関連付手段は、新たなハードウェア資源が追加される場合、追加された前記新たなハードウェア資源を、前記複数の起動要因の少なくとも１つに関連付け、
前記スナップショット生成手段は、前記関連付手段により前記新たなハードウェア資源が前記複数の起動要因の少なくとも１つに関連付けられた後、前記複数の起動要因ごとに、前記複数のハードウェア資源のうち当該起動要因に関連付けられた１以上のハードウェア資源のみが起動する状態が検出されることに応じて、前記第１の記憶手段に記憶されているデータをスナップショットとして前記第２の記憶手段に記憶する、請求項２に記載の画像形成装置。
【請求項４】
前記起動手段は、前記検出された起動要因に対応するスナップショットが前記第２の記憶手段に記憶されている位置を示すアドレス情報を、前記メイン制御手段に通知する通知手段を、さらに含み、
前記復帰手段は、前記第２の記憶手段の前記サブ制御手段から通知されるアドレス情報で特定される位置に記憶されているスナップショットを読出し、前記第１の記憶手段に記憶する、請求項１〜３のいずれかに記載の画像形成装置。
【請求項５】
前記複数のハードウェア資源それぞれは、ハード制御手段と、
揮発性の第３の記憶手段と、
不揮発性の複数の第４の記憶手段と、をさらに備え、
前記複数のハードウェア資源それぞれにおいて、前記第３の記憶手段は、前記ハード制御手段がプログラムを実行するためにロードした実行プログラムを記憶し、
前記第４の記憶手段は、前記ハード制御手段が起動した状態で、前記第３の記憶手段に記憶されたデータをハード用スナップショットとして記憶しており、
前記起動手段は、前記起動要因検出手段により前記複数の起動要因のいずれかが検出されることに応じて、前記複数のハードウェア資源のうち前記検出された起動要因に関連付けられた１以上のハードウェア資源を、さらに起動し、
前記複数のハードウェア資源それぞれにおいて、前記ハード制御手段は、前記起動手段により起動されること応じて、前記第４の記憶手段に記憶されたハード用スナップショットを前記第４の記憶手段から読出し、前記第３の記憶手段に記憶するハード用復帰手段を含む、請求項１〜４のいずれかに記載の画像形成装置。
【請求項６】
前記モード切換手段は、前記検出された起動要因により定まる処理を実行した後、動作モードを停止モードに切り換える実行後切換手段を含む、請求項１〜５のいずれかに記載の画像形成装置。
【請求項７】
前記第２の記憶手段は、前記複数の起動要因ごとに、前記メイン制御手段が実行可能な複数のプログラムのうち当該起動要因に対応する１以上のプログラムを前記第１の記憶手段にロードした実行プログラムを含むスナップショットを記憶する、請求項１〜６のいずれかに記載の画像形成装置。
【請求項８】
前記メイン制御手段は、前記検出された起動要因に基づく処理を実行した後、前記複数のプログラムのうち前記第１の記憶手段に記憶されたスナップショットに含まれない残りの１以上のプログラムを前記第１の記憶手段にロードする追加ロード手段をさらに含む、請求項７に記載の画像形成装置。
【請求項９】
前記サブ制御手段は、前記複数の起動要因にそれぞれ対応する複数の入力端子を、さらに備え、
前記起動要因検出手段は、前記複数の入力端子のいずれかに信号が入力されることに応じて、前記複数の入力端子のうち信号が入力された入力端子に対応する起動要因を検出する、請求項１〜８のいずれかに記載の画像形成装置。
【請求項１０】
前記サブ制御手段は、通常モードと消費電力が前記通常モードより低い省電力モードとのいずれかに動作モードを切り換えるサブモード切換手段を、さらに含み、
前記サブモード切換手段は、前記メイン制御手段の動作モードが停止モードに切り換えられることに応じて、動作モードを省電力モードに切り換え、前記省電力モードにおいて、前記起動要因検出手段により前記複数の起動要因のいずれかが検出されることに応じて、動作モードを通常モードに切り換える、請求項１〜９のいずれかに記載の画像形成装置。
【請求項１１】
画像形成装置で実行される起動制御方法であって、
前記画像形成装置は、プログラムを実行するメイン制御手段と、
前記メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、
前記メイン制御手段を起動するサブ制御手段と、
前記メイン制御手段および前記サブ制御手段がアクセス可能な不揮発性の第２の記憶手段と、を備え、
前記メイン制御手段および前記サブ制御手段のいずれか一方に、複数の起動要因それぞれに、前記メイン制御手段により制御される複数のハードウェア資源の１以上を関連付ける関連付ステップを実行させ、
前記メイン制御手段に、動作モードを電力の供給を受ける駆動モードから電力の供給を受けない停止モードに切り換えるモード切換ステップを、実行させ、
前記サブ制御手段に、前記モード切換ステップにおいて動作モードが停止モードに切り換えられることに応じて、前記メイン制御手段、前記第１の記憶手段および前記複数のハードウェア資源に供給される電力を遮断する遮断制御ステップと、
前記メイン制御手段に電力が供給されていない間に、前記複数の起動要因のいずれかを検出する起動要因検出ステップと、
前記起動要因検出ステップにおいて前記複数の起動要因のいずれかが検出されることに応じて、前記メイン制御手段、前記第１の記憶手段および前記複数のハードウェア資源のうち前記検出された起動要因に関連付けられた１以上のハードウェア資源に電力を供給する電力復帰ステップと、
前記起動要因検出ステップにおいて前記複数の起動要因のいずれかが検出されることに応じて、前記メイン制御手段を起動する起動ステップと、を実行させ、
前記第２の記憶手段は、前記複数の起動要因ごとに、当該起動要因と前記関連付手段により関連付けられた前記１以上のハードウェア資源に電力が供給された状態で前記第１の記憶手段に記憶されたデータであるスナップショットを記憶しており、
前記メイン制御手段に、さらに、前記起動ステップにおいて起動されること応じて、前記第２の記憶手段に記憶された複数のスナップショットのうち前記検出された起動要因に対応するスナップショットを前記第２の記憶手段から読出し、前記第１の記憶手段に記憶する復帰ステップを、実行させる、起動制御方法。
【請求項１２】
画像形成装置で実行される起動制御プログラムであって、
前記画像形成装置は、プログラムを実行するメイン制御手段と、
前記メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、
前記メイン制御手段を起動するサブ制御手段と、
前記メイン制御手段および前記サブ制御手段がアクセス可能な不揮発性の第２の記憶手段と、を備え、
前記メイン制御手段および前記サブ制御手段のいずれか一方に、複数の起動要因それぞれに、前記メイン制御手段により制御される前記複数のハードウェア資源の１以上を関連付ける関連付ステップを実行させ、
前記メイン制御手段に、動作モードを電力の供給を受ける駆動モードから電力の供給を受けない停止モードに切り換えるモード切換ステップを、実行させ、
前記サブ制御手段に、前記モード切換ステップにおいて動作モードが停止モードに切り換えられることに応じて、前記メイン制御手段、前記第１の記憶手段および前記複数のハードウェア資源に供給される電力を遮断する遮断制御ステップと、
前記メイン制御手段に電力が供給されていない間に、前記複数の起動要因のいずれかを検出する起動要因検出ステップと、
前記起動要因検出ステップにおいて前記複数の起動要因のいずれかが検出されることに応じて、前記メイン制御手段、前記第１の記憶手段および前記複数のハードウェア資源のうち前記検出された起動要因に関連付けられた１以上のハードウェア資源に電力を供給する電力復帰ステップと、
前記起動要因検出ステップにおいて前記複数の起動要因のいずれかが検出されることに応じて、前記メイン制御手段を起動する起動ステップと、を実行させ、
前記第２の記憶手段は、前記複数の起動要因ごとに、当該起動要因と前記関連付手段により関連付けられた前記１以上のハードウェア資源に電力が供給された状態で前記第１の記憶手段に記憶されたデータであるスナップショットを記憶しており、
前記メイン制御手段に、さらに、前記起動ステップにおいて起動されること応じて、前記第２の記憶手段に記憶された複数のスナップショットのうち前記検出された起動要因に対応するスナップショットを前記第２の記憶手段から読出し、前記第１の記憶手段に記憶する復帰ステップを、実行させる、起動制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像形成装置、起動制御方法および起動制御プログラムに関し、特に、消費電力の低い省電力モードに動作モードを切り換え可能な画像形成装置、その画像形成装置の起動制御方法およびその起動制御方法を画像形成装置を制御するコンピューターに実行させる起動制御プログラムに関する。
【背景技術】
【０００２】
近年、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）で代表される画像形成装置は、駆動していない待機状態における消費電力を低減する要求が強くなっている。このため、待機状態において、ＭＦＰを制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）およびそのＣＰＵが作業領域として使用するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の駆動を停止するＭＦＰが開発されている。一方、待機状態から復帰するために、ＣＰＵがプログラムを実行可能な状態にするまでの時間をできるだけ短くする必要がある。
【０００３】
ＣＰＵがプログラムを実行可能な状態にするまでの時間を短くする技術として、たとえば、特開２０１５−１２３６５０号公報が知られている。特開２０１５−１２３６５０号公報に記載の画像形成装置は、第１の電源状態および前記第１の電源状態よりも低電力となる第２の電源状態に遷移させる画像形成装置であって、プリンタ手段と、前記プリンタ手段を含む複数のデバイスを制御する制御手段と、前記プリンタ手段と、前記制御手段とに電源を供給する電源手段と、前記制御手段を高速に起動させる場合に対応づけられる前記プリンタ手段の起動方法を記憶する記憶手段と、前記制御手段は、前記第２の電源状態に遷移させた後、前記第１の電源状態に復帰させる場合、前記記憶手段に記憶された前記プリンタ手段の起動方法で前記プリンタ手段を起動させるように起動方法を動的に切り換え制御する。
【０００４】
しかしながら、複数のデバイスの電源状態を低電力にした後に高電力にする場合、画像形成装置の用途によっては、複数のデバイスのすべてを起動しなくてもよい場合がある。特開２０１５−１２３６５０号公報に記載の画像形成装置は、複数のデバイスのすべてを起動するので、使用されることのないデバイスが起動されて電力が消費されてしまうといった問題がある。
【特許文献１】特開２０１５−１２３６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、起動時に消費される電力を低減することが可能な画像形成装置を提供することである。  この発明の他の目的は、起動時に消費される電力を低減することが可能な起動制御方法を提供することである。
【０００６】
この発明のさらに他の目的は、起動時に消費される電力を低減することが可能な起動制御プログラムを提供することである。
【課題を解決するための手段】
【０００７】
上述した目的を達成するためにこの発明のある局面によれば、画像形成装置は、プログラムを実行するメイン制御手段と、メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、メイン制御手段を起動するサブ制御手段と、メイン制御手段およびサブ制御手段がアクセス可能な不揮発性の第２の記憶手段と、複数の起動要因それぞれに、メイン制御手段により制御される複数のハードウェア資源の１以上を関連付ける関連付手段と、を備え、メイン制御手段は、動作モードを電力の供給を受ける駆動モードから電力の供給を受けない停止モードに切り換えるモード切換手段を、備え、サブ制御手段は、モード切換手段により動作モードが停止モードに切り換えられることに応じて、メイン制御手段、第１の記憶手段および複数のハードウェア資源に供給される電力を遮断する遮断制御手段と、メイン制御手段に電力が供給されていない間に、複数の起動要因のいずれかを検出する起動要因検出手段と、起動要因検出手段により複数の起動要因のいずれかが検出されることに応じて、メイン制御手段、第１の記憶手段および複数のハードウェア資源のうち検出された起動要因に関連付けられた１以上のハードウェア資源に電力を供給する電力復帰手段と、起動要因検出手段により複数の起動要因のいずれかが検出されることに応じて、メイン制御手段を起動する起動手段と、を備え、第２の記憶手段は、複数の起動要因ごとに、当該起動要因と関連付手段により関連付けられた１以上のハードウェア資源に電力が供給された状態で第１の記憶手段に記憶されたデータであるスナップショットを記憶しており、メイン制御手段は、起動手段により起動されること応じて、第２の記憶手段に記憶された複数のスナップショットのうち検出された起動要因に対応するスナップショットを第２の記憶手段から読出し、第１の記憶手段に記憶する復帰手段を備える。
【０００８】
この局面に従えば、メイン制御手段に電力が供給されていない間に、複数の起動要因のいずれかが検出されることに応じて、メイン制御手段を起動し、メイン制御手段によって動作モードが停止モードに切り換えられることに応じて、メイン制御手段、第１の記憶手段および複数のハードウェア資源に供給される電力を遮断する。このため、メイン制御手段、第１の記憶手段および複数のハードウェア資源によって電力が消費されないようにして消費電力を低減することができる。また、複数の起動要因それぞれに複数のハードウェア資源の１以上が関連付けられており、複数の起動要因ごとにスナップショットを記憶しており、複数の起動要因のいずれかが検出されることに応じて、複数のハードウェア資源のうち起動要因に関連付けられた１以上のハードウェア資源に電力が供給され、メイン制御手段は、起動要因に関連付けられたスナップショットを読出して第１の記憶手段に記憶する。このため、起動要因に関連付けられた１以上のハードウェア資源に電力が供給されるので、電力が供給されるハードウェア資源をできるだけ少なくして消費電力を低減することができる。その結果、起動時に消費される電力を低減することが可能な画像形成装置を提供することができる。
【０００９】
好ましくは、メイン制御手段は、複数の起動要因ごとに、複数のハードウェア資源のうち当該起動要因に関連付けられた１以上のハードウェア資源のみが起動する状態が検出されることに応じて、第１の記憶手段に記憶されているデータをスナップショットとして第２の記憶手段に記憶するスナップショット生成手段を、さらに含む。
【００１０】
この局面に従えば、起動要因に関連付けられた１以上のハードウェア資源のみが起動する状態で、第１の記憶手段に記憶されているデータをスナップショットとするので、起動要因が検出される場合に電力が供給されるハードウェア資源に対応したスナップショットを第１の記憶手段に記憶させることができる。
【００１１】
好ましくは、関連付手段は、新たなハードウェア資源が追加される場合、追加された新たなハードウェア資源を、複数の起動要因の少なくとも１つに関連付け、スナップショット生成手段は、関連付手段により新たなハードウェア資源が複数の起動要因の少なくとも１つに関連付けられた後、複数の起動要因ごとに、複数のハードウェア資源のうち当該起動要因に関連付けられた１以上のハードウェア資源のみが起動する状態が検出されることに応じて、第１の記憶手段に記憶されているデータをスナップショットとして第２の記憶手段に記憶する。
【００１２】
この局面に従えば、新たなハードウェア資源が追加された後に、新たなハードウェア資源を制御することができる。
【００１３】
好ましくは、起動手段は、検出された起動要因に対応するスナップショットが第２の記憶手段に記憶されている位置を示すアドレス情報を、メイン制御手段に通知する通知手段を、さらに含み、復帰手段は、第２の記憶手段のサブ制御手段から通知されるアドレス情報で特定される位置に記憶されているスナップショットを読出し、第１の記憶手段に記憶する。
【００１４】
この局面に従えば、メイン制御手段は、起動要因に関連付けられたスナップショットを第１の記憶手段に記憶することができる。
【００１５】
好ましくは、複数のハードウェア資源それぞれは、ハード制御手段と、揮発性の第３の記憶手段と、不揮発性の複数の第４の記憶手段と、をさらに備え、複数のハードウェア資源それぞれにおいて、第３の記憶手段は、ハード制御手段がプログラムを実行するためにロードした実行プログラムを記憶し、第４の記憶手段は、ハード制御手段が起動した状態で、第３の記憶手段に記憶されたデータをハード用スナップショットとして記憶しており、起動手段は、起動要因検出手段により複数の起動要因のいずれかが検出されることに応じて、複数のハードウェア資源のうち検出された起動要因に関連付けられた１以上のハードウェア資源を、さらに起動し、複数のハードウェア資源それぞれにおいて、ハード制御手段は、起動手段により起動されること応じて、第４の記憶手段に記憶されたハード用スナップショットを第４の記憶手段から読出し、第３の記憶手段に記憶するハード用復帰手段を含む。
【００１６】
この局面に従えば、メイン制御手段は、複数のハードウェア資源を起動するための処理を実行する必要がないので、停止している状態から処理を実行可能になるまでの時間を短くすることがきる。
【００１７】
好ましくは、モード切換手段は、検出された起動要因により定まる処理を実行した後、動作モードを停止モードに切り換える実行後切換手段を含む。
【００１８】
この局面に従えば、起動要因により定まる処理を実行した後、動作モードを停止モードに切り換えるので、消費電力をさらに低減することができる。
【００１９】
好ましくは、第２の記憶手段は、複数の起動要因ごとに、メイン制御手段が実行可能な複数のプログラムのうち当該起動要因に対応する１以上のプログラムを第１の記憶手段にロードした実行プログラムを含むスナップショットを記憶する。
【００２０】
この局面に従えば、起動要因に対応する処理を実行するプログラムのみを含むスナップショットを記憶するようにするので、スナップショットのサイズを小さくすることができ、停止している状態から処理を実行可能になるまでの時間を短くすることができる。
【００２１】
好ましくは、メイン制御手段は、検出された起動要因に基づく処理を実行した後、複数のプログラムのうち第１の記憶手段に記憶されたスナップショットに含まれない残りの１以上のプログラムを第１の記憶手段にロードする追加ロード手段をさらに含む。
【００２２】
この局面に従えば、起動要因に基づく処理を実行した後、第１の記憶手段にロードしていない残りの１以上のプログラムが第１の記憶手段にロードされる。このため、起動要因に基づく処理以外の処理を実行することができる。
【００２３】
好ましくは、サブ制御手段は、複数の起動要因にそれぞれ対応する複数の入力端子を、さらに備え、起動要因検出手段は、複数の入力端子のいずれかに信号が入力されることに応じて、複数の入力端子のうち信号が入力された入力端子に対応する起動要因を検出する。
【００２４】
この局面に従えば、複数の起動要因にそれぞれ対応する複数の入力端子のいずれかに信号が入力されることに応じて、信号が入力された入力端子に対応する起動要因を検出する。このため、起動要因を容易に検出することができる。また、入力端子に信号が入力されることを検出すれればよいので、消費電力を低減することができる。
【００２５】
好ましくは、サブ制御手段は、通常モードと消費電力が通常モードより低い省電力モードとのいずれかに動作モードを切り換えるサブモード切換手段を、さらに含み、サブモード切換手段は、メイン制御手段の動作モードが停止モードに切り換えられることに応じて、動作モードを省電力モードに切り換え、省電力モードにおいて、起動要因検出手段により複数の起動要因のいずれかが検出されることに応じて、動作モードを通常モードに切り換える。
【００２６】
この局面に従えば、サブ制御手段は、メイン制御手段の動作モードが停止モードに切り換えられることに応じて、動作モードを省電力モードに切り換え、省電力モードにおいて複数の起動要因のいずれかが検出されることに応じて、動作モードを通常モードに切り換える。このため、メイン制御手段が停止してから起動要因が検出されるまでの間、メイン制御手段で電力が消費されないようにすることができる。
【００２７】
この発明のさらに他の局面によれば、起動制御方法は、画像形成装置で実行される起動制御方法であって、画像形成装置は、プログラムを実行するメイン制御手段と、メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、メイン制御手段を起動するサブ制御手段と、メイン制御手段およびサブ制御手段がアクセス可能な不揮発性の第２の記憶手段と、を備え、メイン制御手段およびサブ制御手段のいずれか一方に、複数の起動要因それぞれに、メイン制御手段により制御される複数のハードウェア資源の１以上を関連付ける関連付ステップを実行させ、メイン制御手段に、動作モードを電力の供給を受ける駆動モードから電力の供給を受けない停止モードに切り換えるモード切換ステップを、実行させ、サブ制御手段に、モード切換ステップにおいて動作モードが停止モードに切り換えられることに応じて、メイン制御手段、第１の記憶手段および複数のハードウェア資源に供給される電力を遮断する遮断制御ステップと、メイン制御手段に電力が供給されていない間に、複数の起動要因のいずれかを検出する起動要因検出ステップと、起動要因検出ステップにおいて複数の起動要因のいずれかが検出されることに応じて、メイン制御手段、第１の記憶手段および複数のハードウェア資源のうち検出された起動要因に関連付けられた１以上のハードウェア資源に電力を供給する電力復帰ステップと、起動要因検出ステップにおいて複数の起動要因のいずれかが検出されることに応じて、メイン制御手段を起動する起動ステップと、を実行させ、第２の記憶手段は、複数の起動要因ごとに、当該起動要因と関連付手段により関連付けられた１以上のハードウェア資源に電力が供給された状態で第１の記憶手段に記憶されたデータであるスナップショットを記憶しており、メイン制御手段に、さらに、起動ステップにおいて起動されること応じて、第２の記憶手段に記憶された複数のスナップショットのうち検出された起動要因に対応するスナップショットを第２の記憶手段から読出し、第１の記憶手段に記憶する復帰ステップを、実行させる。
【００２８】
この局面に従えば、起動時に消費される電力を低減することが可能な起動制御方法を提供することができる。
【００２９】
この発明のさらに他の局面によれば、起動制御プログラムは、画像形成装置で実行される起動制御プログラムであって、画像形成装置は、プログラムを実行するメイン制御手段と、メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、メイン制御手段を起動するサブ制御手段と、メイン制御手段およびサブ制御手段がアクセス可能な不揮発性の第２の記憶手段と、を備え、メイン制御手段およびサブ制御手段のいずれか一方に、複数の起動要因それぞれに、メイン制御手段により制御される複数のハードウェア資源の１以上を関連付ける関連付ステップを実行させ、メイン制御手段に、動作モードを電力の供給を受ける駆動モードから電力の供給を受けない停止モードに切り換えるモード切換ステップを、実行させ、サブ制御手段に、モード切換ステップにおいて動作モードが停止モードに切り換えられることに応じて、メイン制御手段、第１の記憶手段および複数のハードウェア資源に供給される電力を遮断する遮断制御ステップと、メイン制御手段に電力が供給されていない間に、複数の起動要因のいずれかを検出する起動要因検出ステップと、起動要因検出ステップにおいて複数の起動要因のいずれかが検出されることに応じて、メイン制御手段、第１の記憶手段および複数のハードウェア資源のうち検出された起動要因に関連付けられた１以上のハードウェア資源に電力を供給する電力復帰ステップと、起動要因検出ステップにおいて複数の起動要因のいずれかが検出されることに応じて、メイン制御手段を起動する起動ステップと、を実行させ、第２の記憶手段は、複数の起動要因ごとに、当該起動要因と関連付手段により関連付けられた１以上のハードウェア資源に電力が供給された状態で第１の記憶手段に記憶されたデータであるスナップショットを記憶しており、メイン制御手段に、さらに、起動ステップにおいて起動されること応じて、第２の記憶手段に記憶された複数のスナップショットのうち検出された起動要因に対応するスナップショットを第２の記憶手段から読出し、第１の記憶手段に記憶する復帰ステップを、実行させる。
【００３０】
この局面に従えば、起動時に消費される電力を低減することが可能な起動制御プログラムを提供することができる。
【図面の簡単な説明】
【００３１】
【図１】本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。
【図２】ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図３】メイン基板の詳細な構成の一例を示すブロック図である。
【図４】メインＣＰＵが有する機能の一例を示すブロック図である。
【図５】起動要因テーブルの一例を示す図である。
【図６】変更後の起動要因テーブルの一例を示す図である。
【図７】スナップショット定義テーブルの一例を示す図である。
【図８】起動用ＣＰＵが有する機能の一例を示すブロック図である。
【図９】メイン起動制御処理の流れの一例を示すフローチャートである。
【図１０】サブ起動制御処理の流れの一例を示すフローチャートである。
【図１１】変形例におけるメインＣＰＵが有する機能の一例を示すブロック図である。
【図１２】変形例における起動要因テーブルの一例を示す図である。
【図１３】変形例におけるメイン起動制御処理の流れの一例を示すフローチャートである。
【図１４】変形例における変更後の起動要因テーブルの一例を示す図である。
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３３】
図１は、本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。図１を参照して、ＭＦＰ１００は、画像形成装置の一例であり、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、ユーザーインターフェースとしての操作パネル１９０とを含む。
【００３４】
自動原稿搬送装置１２０は、原稿給紙トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。給紙部１５０は、複数の給紙トレイを有する。複数の給紙トレイそれぞれは、予め定められたサイズの用紙を収納する。給紙部１５０は、複数の給紙トレイのうち画像形成に用いるサイズの用紙を収納する給紙トレイから用紙を１枚ずつ取り出し、取り出した用紙を画像形成部１４０に搬送する。
【００３５】
画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成する。
【００３６】
操作パネル１９０は、ＭＦＰ１００の上面に設けられ、操作画面等を表示するとともに、ユーザーによる操作を受け付けるユーザーインターフェースとして機能する。
【００３７】
図２は、ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図２を参照して、ＭＦＰ１００は、上述した、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０に加えて、メイン基板１１１と、通信インターフェース（Ｉ／Ｆ）部１６０と、ファクシミリ部１７０と、操作パネル１９０と、外部記憶装置１１５と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１３と、を含む。
【００３８】
メイン基板１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１１５、ＨＤＤ１１３、および操作パネル１９０と接続される。
【００３９】
通信Ｉ／Ｆ部１６０は、ネットワークにＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１６０は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、通信Ｉ／Ｆ部１６０が接続されるネットワークは、例えば、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワークは、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）を用いたネットワーク等であってもよい。さらに、ネットワークは、インターネットに接続されている。このため、ＭＦＰ１００は、インターネットに接続されたサーバー等のコンピューターと通信が可能である。
【００４０】
通信Ｉ／Ｆ部１６０は、ネットワークから受信されるデータをメイン基板１１１に出力し、メイン基板１１１から入力されるデータをネットワークに出力する。通信Ｉ／Ｆ部１６０は、ネットワークから受信されるデータのうちＭＦＰ１００宛てのデータのみを、メイン基板１１１に出力し、ネットワークから受信されるデータのうちＭＦＰ１００とは異なる装置宛てのデータを廃棄する。さらに、通信Ｉ／Ｆ部１６０は、ネットワークから受信されるデータのうちＭＦＰ１００宛てのデータであって、ドメイン名、ＭＡＣアドレス、ＩＰアドレス等を問い合わせるディスカバリーコマンドを受信する場合には、メイン基板１１１に出力することなく、レスポンスを返信する。例えば、ＭＡＣアドレスを問い合わせるディスカバリーコマンドはＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）規格に準じたデータである。
【００４１】
ファクシミリ部１７０は、公衆交換電話網（ＰＳＴＮ）に接続され、ファクシミリデータを送受信する。外部記憶装置１１５は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１５Ａ、または半導体メモリーが装着される。外部記憶装置１１５は、ＣＤ−ＲＯＭ１１５Ａまたは半導体メモリーに記憶されたデータを読み出す。外部記憶装置１１５は、ＣＤ−ＲＯＭ１１５Ａまたは半導体メモリーにデータを記憶する。
【００４２】
操作パネル１９０は、表示部１９５と、操作部１９６と、を含む。表示部１９５は、例えば、液晶表示装置（ＬＣＤ）であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１９６は、複数のハードキーと、タッチパネルと、を含む。タッチパネルは、表示部１９５の上面または下面に表示部に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部１９５の表示面中でユーザーにより指示された位置を検出する。
【００４３】
図３は、メイン基板の詳細な構成の一例を示すブロック図である。図３を参照して、メイン基板１１１は、メインＣＰＵ１１と、起動用ＣＰＵ１３と、電源制御回路１７と、ＲＡＭ２１と、フラッシュメモリ２３と、コネクタ３１〜３９と、を含む。
【００４４】
ＲＡＭ２１は、メインＣＰＵ１１の作業領域として用いられる揮発性の半導体メモリーである。フラッシュメモリ２３は、メインＣＰＵ１１または起動用ＣＰＵ１３により制御される不揮発性の半導体メモリーである。
【００４５】
パネル用コネクタ３１は、操作パネル１９０と接続され、操作パネル１９０とメインＣＰＵ１１とを電気的に接続する。操作パネル１９０は、パネル用コネクタ３１を介して電源制御回路１７から電力が供給される。操作パネル１９０が備える操作部１９６は、ユーザーが操作部１９６に操作を入力すると、入力された操作を検出し、検出した操作を識別するための操作識別情報をパネル用コネクタ３１に出力する。ユーザーが操作部１９６に出力する操作は、操作部１９６が備える複数のハードキーを押下する操作と、タッチパネルを指示する操作と、を含む。電源制御回路１７から電力が供給されていない状態で、操作部１９６のハードキーである複数のパネルキーのいずれかが押下されると、パネル用コネクタ３１が有する複数の端子のうち起動用ＣＰＵ１３に接続されるキー用端子の電圧がローからハイに変化する。
【００４６】
ＡＤＦ用コネクタ３２は、自動原稿搬送装置１２０と接続され、自動原稿搬送装置１２０とメインＣＰＵ１１とを電気的に接続する。自動原稿搬送装置１２０は、ＡＤＦ用コネクタ３２を介して電源制御回路１７から電力が供給される。自動原稿搬送装置１２０は、複数の機械式スイッチを有する。自動原稿搬送装置１２０は、キャパシターを有しており、電源制御回路１７から電力が供給されてない状態で、複数の機械式スイッチのいずれかがＯＦＦからＯＮに変化する場合、ＡＤＦ用コネクタ３２が有する複数の端子のうち起動用ＣＰＵ１３に接続されるスイッチ用端子の電圧がローからハイに変化する。複数の機械式スイッチは、原稿を検出するスイッチ、自動原稿搬送装置１２０が開いた状態を検出するスイッチを含む。
【００４７】
ＦＡＸ用コネクタ３３は、ファクシミリ部１７０と接続され、ファクシミリ部１７０とメインＣＰＵ１１とを電気的に接続する。自動原稿搬送装置１２０は、ＦＡＸ用コネクタ３３を介して電源制御回路１７から電力が供給される。ファクシミリ部１７０は、ファクシミリデータを受信する場合、ＦＡＸ用コネクタ３３を介してメインＣＰＵ１１に受信されたファクシミリデータを出力する。ファクシミリ部１７０は、メインＣＰＵ１１からＦＡＸ用コネクタ３３を介して入力されるファクシミリデータを送信する。ファクシミリ部１７０は、電源制御回路１７から電力が供給されていない状態で着信を検出することが可能である。ファクシミリ部１７０は、電源制御回路１７から電力が供給されていない状態で着信を検出するとＦＡＸ用コネクタ３３が有する複数の端子のうち起動用ＣＰＵ１３に接続された着信通知用端子の電圧をローからハイに変更する。
【００４８】
通信用コネクタ３４は、通信Ｉ／Ｆ部１６０と接続され、通信Ｉ／Ｆ部１６０とメインＣＰＵ１１とを電気的に接続する。通信Ｉ／Ｆ部１６０は、通信用コネクタ３４を介して電源制御回路１７から電力が供給される。通信Ｉ／Ｆ部１６０は、キャパシターを有し、電源制御回路１７から電力が供給されていない状態において、ディスカバリーコマンドを受信する場合には、レスポンスを返信することが可能である。通信Ｉ／Ｆ部１６０は、電源制御回路１７から電力が供給されていない状態において、外部からディスカバリーコマンドを除くＭＦＰ１００宛てのデータを受信する場合、通信用コネクタ３４が有する複数の端子のうち起動用ＣＰＵ１３に接続された受信通知用端子の電圧をローからハイに変更する。
【００４９】
スキャナ用コネクタ３５は、原稿読取部１３０と接続され、原稿読取部１３０とメインＣＰＵ１１とを電気的に接続する。原稿読取部１３０は、スキャナ用コネクタ３５を介して電源制御回路１７から電力が供給される。エンジン用コネクタ３６は、画像形成部１４０および給紙部１５０と接続され、画像形成部１４０および給紙部１５０それぞれをメインＣＰＵ１１と電気的に接続する。画像形成部１４０および給紙部１５０それぞれは、エンジン用コネクタ３６を介して電源制御回路１７から電力が供給される。ＨＤＤ用コネクタ３７は、ＨＤＤ１１３と接続され、ＨＤＤ１１３をメインＣＰＵ１１と電気的に接続する。ＨＤＤ１１３は、ＨＤＤ用コネクタ３７を介して電源制御回路１７から電力が供給される。外部用コネクタ３８は、外部記憶装置１１５と接続され、外部記憶装置１１５をメインＣＰＵ１１と電気的に接続する。外部記憶装置１１５は、外部用コネクタ３８を介して電源制御回路１７から電力が供給される。
【００５０】
メインＣＰＵ１１は、フラッシュメモリ２３にアクセス可能であり、フラッシュメモリ２３に記憶されたデータの読み出し、または、フラッシュメモリ２３にデータを書き込み可能である。
【００５１】
起動用ＣＰＵ１３は、メインＣＰＵ１１が駆動していない状態で起動要因を検出することに応じて、メインＣＰＵ１１を起動する。具体的には、起動用ＣＰＵ１３は、起動用ＣＰＵ１３のリセット端子と接続され、リセット端子にリセット信号を出力することにより、起動用ＣＰＵ１３を起動する。起動用ＣＰＵ１３は、フラッシュメモリ２３にアクセス可能であり、フラッシュメモリ２３に記憶されたデータの読出し、または、フラッシュメモリ２３にデータを書き込み可能である。
【００５２】
起動用ＣＰＵ１３は、パネル用コネクタ３１のキー用端子と接続され、キー用端子の電圧がローからハイに変化することに応じて起動要因を検出する。起動用ＣＰＵ１３は、ＡＤＦ用コネクタ３２のスイッチ用端子と接続され、スイッチ用端子の電圧がローからハイに変化することに応じて起動要因を検出する。起動用ＣＰＵ１３は、ＦＡＸ用コネクタ３３の着信通知用端子と接続され、着信通知用端子の電圧がローからハイに変化することに応じて起動要因を検出する。起動用ＣＰＵ１３は、通信用コネクタ３４の受信通知用端子と接続され、受信通知用端子の電圧がローからハイに変化することに応じて起動要因を検出する。
【００５３】
電源制御回路１７は、電源コネクタ３９を介して商用電源と接続される。電源制御回路１７は、商用電源から供給される電力を、メイン基板１１１のメインＣＰＵ１１、起動用ＣＰＵ１３、ＲＡＭ２１およびフラッシュメモリ２３に供給するとともに、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１１５、ＨＤＤ１１３および操作パネル１９０に供給する。電源制御回路１７は、起動用ＣＰＵ１３により制御され、メインＣＰＵ１１、起動用ＣＰＵ１３、ＲＡＭ２１、フラッシュメモリ２３、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１１５、ＨＤＤ１１３および操作パネル１９０それぞれに対して、電力を供給する状態と、電力を供給しない状態とに切り換える。
【００５４】
図４は、メインＣＰＵが有する機能の一例を示すブロック図である。図４に示す機能は、メインＣＰＵ１１がメイン起動制御プログラムを実行することにより、メインＣＰＵ１１に形成される機能である。メイン起動制御プログラムは、起動制御プログラムの一部である。図４を参照して、メインＣＰＵ１１は、スナップショット取得部５１と、メインモード切換部５３と、復帰部５５と、を含む。
【００５５】
スナップショット取得部５１は、スナップショットを取得する。スナップショットは、メインＣＰＵ１１がフラッシュメモリ２３に記憶された複数のプログラムのうち１以上のプログラムをＲＡＭ２１にロードした状態において、ＲＡＭ２１に記憶されたデータである。スナップショット取得部５１は、スナップショット生成部６１と、関連付部６３と、を含む。
【００５６】
スナップショット生成部６１は、複数の起動要因ごとに、当該起動要因に対して定められた状態においてＲＡＭ２１に記憶されたデータをイメージデータであるスナップショットとしてフラッシュメモリ２３に記憶する。このため、スナップショット生成部６１は、複数の起動要因にそれぞれ対応する複数のスナップショットをフラッシュメモリ２３に記憶する。スナップショット生成部６１は、起動要因と、その起動要因に対応してフラッシュメモリ２３に記憶したスナッショットのフラッシュメモリ２３中のアドレスとを、関連付部６３に出力する。
【００５７】
具体的には、フラッシュメモリ２３に、状態と、起動要因と、ハードウェア資源とを関連付けた起動要因テーブルが予め記憶されており、スナップショット生成部６１は、起動要因テーブルを参照して、複数の起動要因それぞれのスナップショットをフラッシュメモリ２３に記憶する。状態は、複数のハードウェア資源のうち電源が供給されるハードウェア資源の組によって定まる。
【００５８】
図５は、起動要因テーブルの一例を示す図である。図５を参照して、起動要因テーブルは、状態と、起動要因と、ハードウェア資源と、を関連付けた複数の起動要因レコードを含む。起動要因レコードは、状態の項目と、起動要因の項目と、ハードウェア資源の項目と、を含む。状態の項目は、状態を識別するための状態識別情報が設定され、起動要因の項目は、起動要因を識別するための起動要因識別情報が設定され、ハードウェア資源の項目は、ハードウェア資源を識別するためのハードウェア識別情報が設定される。ここでは、操作パネル１９０のハードウェア識別情報を「操作パネル」とし、原稿読取部１３０のハードウェア識別情報を「原稿読取部」とし、画像形成部１４０のハードウェア識別情報を「画像形成部」とし、給紙部１５０のハードウェア識別情報を「給紙部」とし、自動原稿搬送装置１２０のハードウェア識別情報を「自動原稿搬送装置」とし、ファクシミリ部１７０のハードウェア識別情報を「ファクシミリ部」とし、通信Ｉ／Ｆ部１６０のハードウェア識別情報を「通信Ｉ／Ｆ部」とし、ＨＤＤ１１３のハードウェア識別情報を「ＨＤＤ」とし、外部記憶装置１１５のハードウェア識別情報を「外部記憶装置」としている。
【００５９】
状態識別情報「状態Ａ」には、起動要因識別情報「パネルキー」と、ハードウェア識別情報「操作パネル」、「原稿読取部」、「画像形成部」、「給紙部」、「自動原稿搬送装置」、「ファクシミリ部」、「通信Ｉ／Ｆ部」が関連付けられる。起動要因識別情報「パネルキー」で識別される起動要因は、操作パネル１９０の操作部１９６が備える複数のパネルキーが押下される事象を示す。
【００６０】
状態識別情報「状態Ｂ」には、起動要因識別情報「原稿セット」と、ハードウェア識別情報「操作パネル」、「原稿読取部」、「給紙部」、「自動原稿搬送装置」が関連付けられる。起動要因識別情報「原稿セット」で識別される起動要因は、自動原稿搬送装置１２０に原稿が載置される事象、自動原稿搬送装置１２０が開状態に変化する事象を示す。
【００６１】
状態識別情報「状態Ｃ」には、起動要因識別情報「ファクシミリ受信」と、ハードウェア識別情報「画像形成部」、「給紙部」、「ファクシミリ部」が関連付けられる。起動要因識別情報「ファクシミリ受信」で識別される起動要因は、ファクシミリ部１７０が着信を検出する事象を示す。
【００６２】
状態識別情報「状態Ｄ」には、起動要因識別情報「データ受信」と、ハードウェア識別情報「画像形成部」、「給紙部」、「通信Ｉ／Ｆ部」が関連付けられる。起動要因識別情報「データ受信」で識別される起動要因は、通信Ｉ／Ｆ部１６０がＭＦＰ１００宛てのデータを受信する事象を示す。
【００６３】
図４に戻って、スナップショット生成部６１は、フラッシュメモリ２３にスナップショットが記憶されていない場合、起動要因テーブルを参照して、ＭＦＰ１００の状態を遷移させ、状態が遷移した後にＲＡＭ２１に記憶されているデータを、遷移後の状態に対応するスナップショットとしてフラッシュメモリ２３に記憶する。スナップショット生成部６１は、遷移後の状態に対応する起動要因を識別するための起動要因識別情報と、フラッシュメモリ２３に記憶されたスナップショットのフラッシュメモリ２３中の位置を示すアドレス情報との組を、関連付部６３に出力する。
【００６４】
具体的には、スナップショット生成部６１は、状態識別情報「状態Ａ」の状態で、ＲＡＭ２１に記憶されているデータを状態Ａに対応するスナップショットとしてフラッシュメモリ２３に記憶する。スナップショット生成部６１は、状態識別情報「状態Ａ」に対応する起動要因識別情報「パネルキー」と、フラッシュメモリ２３に記憶されたスナップショットのフラッシュメモリ２３中の位置を示すアドレス情報との組を、関連付部６３に出力する。状態識別情報「状態Ａ」の状態は、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３、外部記憶装置１１５の全てのハードウェア資源が、電源制御回路１７から電力が供給され、駆動する状態である。
【００６５】
スナップショット生成部６１は、ＭＦＰ１００を状態識別情報「状態Ｂ」の状態に遷移させた後、ＲＡＭ２１に記憶されているデータを状態Ｂに対応するスナップショットとしてフラッシュメモリ２３に記憶する。スナップショット生成部６１は、状態識別情報「状態Ｂ」に対応する起動要因識別情報「原稿セット」と、フラッシュメモリ２３に記憶されたスナップショットのフラッシュメモリ２３中の位置を示すアドレス情報との組を、関連付部６３に出力する。状態識別情報「状態Ｂ」の状態は、操作パネル１９０、原稿読取部１３０、自動原稿搬送装置１２０およびＨＤＤ１１３が、電源制御回路１７から電力が供給され、駆動する状態である。このため、スナップショット生成部６１は、画像形成部１４０、給紙部１５０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、外部記憶装置１１５を制御して、駆動を停止させるとともに、電源制御回路１７を制御して、画像形成部１４０、給紙部１５０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、外部記憶装置１１５に供給する電力を遮断させることにより、ＭＦＰ１００を状態識別情報「状態Ｂ」の状態に遷移させる。
【００６６】
スナップショット生成部６１は、ＭＦＰ１００を状態識別情報「状態Ｂ」の状態から状態識別情報「状態Ｃ」の状態に遷移させた後、ＲＡＭ２１に記憶されているデータを状態Ｃに対応するスナップショットとしてフラッシュメモリ２３に記憶する。スナップショット生成部６１は、状態識別情報「状態Ｃ」に対応する起動要因識別情報「ファクシミリ着信」と、フラッシュメモリ２３に記憶されたスナップショットのフラッシュメモリ２３中の位置を示すアドレス情報との組を、関連付部６３に出力する。状態識別情報「状態Ｃ」の状態は、画像形成部１４０、給紙部１５０およびファクシミリ部１７０が、電源制御回路１７から電力が供給され、駆動する状態である。このため、スナップショット生成部６１は、電源制御回路１７を制御して、画像形成部１４０、給紙部１５０およびファクシミリ部１７０に電力を供給させるとともに、画像形成部１４０、給紙部１５０およびファクシミリ部１７０を起動させる。さらに、スナップショット生成部６１は、操作パネル１９０、原稿読取部１３０および自動原稿搬送装置１２０を制御して、駆動を停止させるとともに、電源制御回路１７を制御して、操作パネル１９０、原稿読取部１３０および自動原稿搬送装置１２０に供給する電力を遮断させることにより、ＭＦＰ１００を状態識別情報「状態Ｂ」の状態から状態識別情報「状態Ｃ」の状態に遷移させる。
【００６７】
スナップショット生成部６１は、ＭＦＰ１００を状態識別情報「状態Ｃ」の状態から状態識別情報「状態Ｄ」の状態に遷移させた後、ＲＡＭ２１に記憶されているデータを状態Ｄに対応するスナップショットとしてフラッシュメモリ２３に記憶する。スナップショット生成部６１は、状態識別情報「状態Ｄ」に対応する起動要因識別情報「データ受信」と、フラッシュメモリ２３に記憶されたスナップショットのフラッシュメモリ２３中の位置を示すアドレス情報との組を、関連付部６３に出力する。状態識別情報「状態Ｄ」の状態は、画像形成部１４０、給紙部１５０および通信Ｉ／Ｆ部１６０が、電源制御回路１７から電力が供給され、駆動する状態である。このため、スナップショット生成部６１は、電源制御回路１７を制御して、通信Ｉ／Ｆ部１６０に電力を供給させるとともに、通信Ｉ／Ｆ部１６０を起動させる。さらに、スナップショット生成部６１は、ファクシミリ部１７０を制御して、駆動を停止させるとともに、電源制御回路１７を制御して、ファクシミリ部１７０に供給する電力を遮断させることにより、ＭＦＰ１００を状態識別情報「状態Ｃ」の状態から状態識別情報「状態Ｄ」の状態に遷移させる。
【００６８】
また、スナップショット生成部６１は、状態識別情報「状態Ａ」の状態でスナップショットを生成する前の段階で、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０に、スナップショット生成指示を出力する。
【００６９】
図１に示したように、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０それぞれは、ＣＰＵと、ＲＯＭと、ＲＡＭと、フラッシュメモリを少なくとも含み、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、ＲＡＭに記憶されているデータをハード用スナップショットとしてフラッシュメモリに記憶する。
【００７０】
具体的には、操作パネル１９０は、ＣＰＵ１９１と、ＲＯＭ１９２と、ＲＡＭ１９３と、フラッシュメモリ１９４とを備え、ＣＰＵ１９１は、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、ＲＡＭ１９３に記憶されているデータをハード用スナップショットとしてフラッシュメモリ１９４に記憶する。ＣＰＵ１９１は、メインＣＰＵ１１により起動される場合にはＲＯＭ１９２に記憶されたプログラムをＲＡＭ１９３にロードした後に、メインＣＰＵ１１により制御可能な状態に設定するために、メインＣＰＵ１１との間でデータを送受信する初期設定処理を実行する。ＣＰＵ１９１が、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、フラッシュメモリ１９４に記憶するハード用スナップショットは、メインＣＰＵ１１により制御可能な状態においてＲＡＭ１９３に記憶されるデータである。操作パネル１９０のＣＰＵ１９１は、起動用ＣＰＵ１３から起動指示が入力されることに応じて、フラッシュメモリ１９４に記憶されたハード用スナップショットをＲＡＭ１９３に記憶する。この場合は、メインＣＰＵ１１により起動される場合に比較して、ＲＯＭ１９２に記憶されたプログラムをＲＡＭ１９３にロードする時間、プログラムをＲＡＭ１９３にロードした後に、メインＣＰＵ１１との間でデータを送受信する初期設定処理を実行する時間が必要ないので、電力復帰部９３から起動指示が入力されてからメインＣＰＵにより制御可能な状態になるまでの時間が短くなる。
【００７１】
自動原稿搬送装置１２０は、ＣＰＵ１２１と、ＲＯＭ１２２と、ＲＡＭ１２３と、フラッシュメモリ１２４とを備え、ＣＰＵ１２１は、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、ＲＡＭ１２３に記憶されているデータをハード用スナップショットとしてフラッシュメモリ１２４に記憶する。ＣＰＵ１２１は、メインＣＰＵ１１により起動される場合にはＲＯＭ１２２に記憶されたプログラムをＲＡＭ１２３にロードした後に、メインＣＰＵ１１により制御可能な状態に設定するために、メインＣＰＵ１１との間でデータを送受信する初期設定処理を実行する。ＣＰＵ１２１が、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、フラッシュメモリ１２４に記憶するハード用スナップショットは、メインＣＰＵ１１により制御可能な状態でＲＡＭ１２３に記憶されるデータである。ＣＰＵ１２１は、起動用ＣＰＵ１３により起動される場合は、メインＣＰＵ１１により起動される場合に比較して、メインＣＰＵにより制御可能な状態になるまでの時間が短くなる。
【００７２】
原稿読取部１３０は、ＣＰＵ１３１と、ＲＯＭ１３２と、ＲＡＭ１３３と、フラッシュメモリ１３４とを備え、ＣＰＵ１３１は、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、ＲＡＭ１３３に記憶されているデータをハード用スナップショットとしてフラッシュメモリ１３４に記憶する。ＣＰＵ１３１は、メインＣＰＵ１１により起動される場合にはＲＯＭ１３２に記憶されたプログラムをＲＡＭ１３３にロードした後に、メインＣＰＵ１１により制御可能な状態に設定するために、メインＣＰＵ１１との間でデータを送受信する初期設定処理を実行する。ＣＰＵ１３１が、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、フラッシュメモリ１３４に記憶するハード用スナップショットは、メインＣＰＵ１１により制御可能な状態でＲＡＭ１３３に記憶されるデータである。ＣＰＵ１３１は、起動用ＣＰＵ１３により起動される場合は、メインＣＰＵ１１により起動される場合に比較して、メインＣＰＵ１１により制御可能な状態になるまでの時間が短くなる。
【００７３】
画像形成部１４０は、ＣＰＵ１４１と、ＲＯＭ１４２と、ＲＡＭ１４３と、フラッシュメモリ１４４とを備え、ＣＰＵ１４１は、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、ＲＡＭ１４３に記憶されているデータをハード用スナップショットとしてフラッシュメモリ１４４に記憶する。ＣＰＵ１４１は、メインＣＰＵ１１により起動される場合にはＲＯＭ１４２に記憶されたプログラムをＲＡＭ１４３にロードした後に、メインＣＰＵ１１により制御可能な状態に設定するために、メインＣＰＵ１１との間でデータを送受信する初期設定処理を実行する。ＣＰＵ１４１が、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、フラッシュメモリ１４４に記憶するハード用スナップショットは、メインＣＰＵ１１により制御可能な状態でＲＡＭ１４３に記憶されるデータである。ＣＰＵ１４１は、起動用ＣＰＵ１３により起動される場合は、メインＣＰＵ１１により起動される場合に比較して、メインＣＰＵ１１により制御可能な状態になるまでの時間が短くなる。
【００７４】
給紙部１５０は、ＣＰＵ１５１と、ＲＯＭ１５２と、ＲＡＭ１５３と、フラッシュメモリ１５４とを備え、ＣＰＵ１５１は、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、ＲＡＭ１５３に記憶されているデータをハード用スナップショットとしてフラッシュメモリ１５４に記憶する。ＣＰＵ１５１は、メインＣＰＵ１１により起動される場合にはＲＯＭ１５２に記憶されたプログラムをＲＡＭ１５３にロードした後に、メインＣＰＵ１１により制御可能な状態に設定するために、メインＣＰＵ１１との間でデータを送受信する初期設定処理を実行する。ＣＰＵ１５１が、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、フラッシュメモリ１５４に記憶するハード用スナップショットは、メインＣＰＵ１１により制御可能な状態でＲＡＭ１５３に記憶されるデータである。ＣＰＵ１５１は、起動用ＣＰＵ１３により起動される場合は、メインＣＰＵ１１により起動される場合に比較して、メインＣＰＵ１１により制御可能な状態になるまでの時間が短くなる。
【００７５】
通信Ｉ／Ｆ部１６０は、ＣＰＵ１６１と、ＲＯＭ１６２と、ＲＡＭ１６３と、フラッシュメモリ１６４とを備え、ＣＰＵ１６１は、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、ＲＡＭ１６３に記憶されているデータをハード用スナップショットとしてフラッシュメモリ１６４に記憶する。ＣＰＵ１６１は、メインＣＰＵ１１により起動される場合にはＲＯＭ１６２に記憶されたプログラムをＲＡＭ１６３にロードした後に、メインＣＰＵ１１により制御可能な状態に設定するために、メインＣＰＵ１１との間でデータを送受信する初期設定処理を実行する。ＣＰＵ１６１が、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、フラッシュメモリ１６４に記憶するハード用スナップショットは、メインＣＰＵ１１により制御可能な状態でＲＡＭ１６３に記憶されるデータである。ＣＰＵ１６１は、起動用ＣＰＵ１３により起動される場合は、メインＣＰＵ１１により起動される場合に比較して、メインＣＰＵ１１により制御可能な状態になるまでの時間が短くなる。
【００７６】
ファクシミリ部１７０は、ＣＰＵ１７１と、ＲＯＭ１７２と、ＲＡＭ１７３と、フラッシュメモリ１７４とを備え、ＣＰＵ１７１は、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、ＲＡＭ１７３に記憶されているデータをハード用スナップショットとしてフラッシュメモリ１７４に記憶する。ＣＰＵ１７１は、メインＣＰＵ１１により起動される場合にはＲＯＭ１７２に記憶されたプログラムをＲＡＭ１７３にロードした後に、メインＣＰＵ１１により制御可能な状態に設定するために、メインＣＰＵ１１との間でデータを送受信する初期設定処理を実行する。ＣＰＵ１７１が、メインＣＰＵ１１からスナップショット生成指示が入力されることに応じて、フラッシュメモリ１７４に記憶するハード用スナップショットは、メインＣＰＵ１１により制御可能な状態でＲＡＭ１７３に記憶されるデータである。ＣＰＵ１７１は、起動用ＣＰＵ１３により起動される場合は、メインＣＰＵ１１により起動される場合に比較して、メインＣＰＵ１１により制御可能な状態になるまでの時間が短くなる。
【００７７】
また、スナップショット生成部６１は、フラッシュメモリ２３にスナップショットが記憶されている場合、フラッシュメモリ２３に記憶された起動要因テーブルが変更されると、変更後の起動要因テーブルを参照して、ＭＦＰ１００の状態を遷移させ、状態が遷移した後にＲＡＭ２１に記憶されているデータを、遷移後の状態に対応するスナップショットとしてフラッシュメモリ２３に記憶する。スナップショット生成部６１は、遷移後の状態に対応する起動要因を識別するための起動要因識別情報と、フラッシュメモリ２３に記憶されたスナップショットのフラッシュメモリ２３中の位置を示すアドレス情報との組を、関連付部６３に出力する。
【００７８】
起動要因テーブルは、ＭＦＰ１００にハードウェア資源が追加、または削除される場合に変更される。スナップショット生成部６１は、ＭＦＰ１００に新たなハードウェア資源が追加または削除される場合に、起動要因テーブルにより定められた複数の状態ごとにスナップショットをフラッシュメモリ２３に記憶する。例えば、新たなハードウェア資源としてフィニッシャがＭＦＰ１００に追加される場合を例に説明する。フィニッシャは、画像形成部１４０で画像が形成された用紙を、複数のグループに分類する処理、ステープル針を打ち込む処理、パンチ穴を開ける処理等を実行する。フィニッシャも操作パネル１９０、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０と同様に、ＣＰＵと、ＲＯＭと、ＲＡＭと、フラッシュメモリとを備えている。
【００７９】
図６は、変更後の起動要因テーブルの一例を示す図である。図６を参照して、変更後の起動要因テーブルは、図５に示した起動要因テーブルに、状態識別情報「状態Ａ」および状態識別情報「状態Ｄ」それぞれに対応するハードウェア資源としてフィニッシャのハードウェア識別情報「フィニッシャ」が追加されている。
【００８０】
関連付部６３は、スナップショット生成部６１から起動要因識別情報とアドレス情報との組が入力されることに応じて、スナップショット定義レコードを生成し、スナップショット定義レコードを、フラッシュメモリ２３に記憶されているスナップショット定義テーブルに追加して記憶する。スナップショット定義レコードは、起動要因の項目とアドレス情報の項目とを含む。起動要因の項目は、起動要因識別情報が設定され、アドレス情報の項目には、その起動要因識別情報で識別される起動要因に対応するスナップショットが記憶されているフラッシュメモリ２３中の位置を示すアドレス情報が設定される。
【００８１】
図７は、スナップショット定義テーブルの一例を示す図である。図７を参照して、スナップショット定義テーブルは、複数の起動要因ごとにスナップショット定義レコードを含む。スナップショット定義レコードは、起動要因の項目と、アドレス情報の項目とを含む。起動要因の項目は、起動要因識別情報が設定され、アドレス情報の項目には、起動要因識別情報で識別される起動要因に対応するスナップショットが記憶されているフラッシュメモリ２３中の位置を示すアドレス情報が設定される。
【００８２】
復帰部５５は、起動用ＣＰＵ１３により起動さると、フラッシュメモリ２３に記憶されたスナップショット定義テーブルを参照して、フラッシュメモリ２３に記憶されている１以上のスナップショットのうち、起動要因に関連付けられたスナップショットをフラッシュメモリ２３から読出し、読み出したスナップショットをＲＡＭ２１に記憶する。復帰部５５は、スナップショットをＲＡＭ２１に記憶した後、起動完了信号をメインモード切換部５３に出力する。
【００８３】
具体的には、復帰部５５は、電源制御回路１７から電力が供給された後、起動用ＣＰＵ１３からリセット信号が入力されると、フラッシュメモリ２３に記憶されたブートプログラムを実行する。このブートプログラムは、フラッシュメモリ２３に記憶された１以上のスナップショットのいずれかのフラッシュメモリ２３中の位置を示すアドレス情報を定める。後述するように、ブートプログラムにより定められるスナップショットのアドレス情報は、起動用ＣＰＵ１３によって書き換えられる。復帰部５５は、ブートプログラムにより定められるアドレス情報で特定されるスナップショットを、フラッシュメモリ２３から読出し、ＲＡＭ２１に記憶する。これにより、ＲＡＭ２１に、スナップショットが実行プログラムとして記憶されるので、ＣＰＵ１１は、実行プログラムを実行可能な状態になる。
【００８４】
メインモード切換部５３は、復帰部５５から起動完了信号が入力されると、動作モードを駆動モードに設定する。駆動モードは、メインＣＰＵ１１が電源制御回路１７から電力の供給を受ける動作モードであり、停止モードは、メインＣＰＵ１１が電源制御回路１７から電力の供給を受けない動作モードである。メインＣＰＵ１１は、動作モードが駆動モードの場合に電源制御回路１７から電力の供給を受けて駆動し、動作モードが停止モードの場合に電源制御回路１７から電力の供給を受けないので、駆動しない。メインモード切換部５３Ａは、所定のタイミングで、動作モードを駆動モードから停止モードに切り換える。メインモード切換部５３が動作モードを駆動モードから停止モードに切り換えるタイミングは、任意に定めることができる。例えば、限定するものではないが、操作パネル１９０に所定時間継続して操作が入力されない場合、画像形成部１４０が所定時間継続して駆動しない場合等である。メインモード切換部５３は、動作モードを駆動モードから停止モードに切り換える場合、切換信号を起動用ＣＰＵ１３に出力する。
【００８５】
メインモード切換部５３は、実行後切換部５９を含む。実行後切換部５９は、復帰部５５によって起動された起動要因が所定の起動要因の場合、ＣＰＵ１１がＲＡＭ２１に記憶された実行プログラムを実行して、起動要因に基づく一連の処理が終了した後、動作モードを駆動モードから停止モードに切り換える。所定の起動要因は、ユーザーがＭＦＰ１００を直接操作しない起動要因であり、ここでは、起動要因識別情報「ファクシミリ着信」の起動要因および起動要因識別情報「データ受信」の起動要因である。
【００８６】
図８は、起動用ＣＰＵが有する機能の一例を示すブロック図である。図８に示す機能は、起動用ＣＰＵ１３がサブ起動制御プログラムを実行することにより、起動用ＣＰＵ１３に形成される機能である。サブ起動制御プログラムは、起動制御プログラムの一部である。図８を参照して、起動用ＣＰＵ１３は、動作モード検出部８１と、サブモード切換部８３と、起動要因検出部８５と、電源制御部８７と、起動部８９と、を含む。
【００８７】
動作モード検出部８１は、メインＣＰＵ１１の動作モードの切り換えを検出する。動作モード検出部８１は、メインＣＰＵ１１から切換信号が入力されると、メインＣＰＵ１１が動作モードを駆動モードから停止モードに切り換えたことを検出する。動作モード検出部８１は、メインＣＰＵ１１が動作モードを駆動モードから停止モードに切り換えたことを検出する場合、切換指示を電源制御部８７およびサブモード切換部８３に出力する。
【００８８】
サブモード切換部８３は、通常モードと消費電力が通常モードより低い省電力モードとのいずれかに動作モードを切り換える。サブモード切換部８３は、動作モード検出部８１から切換信号が入力されることに応じて、動作モードを通常モードから省電力モードに切り換える。サブモード切換部８３は、動作モードを通常モードから省電力モードに切り換える場合、起動要因検出部８５に検出指示を出力する。
【００８９】
起動要因検出部８５は、サブモード切換部８３から検出指示が入力されると、起動要因を検出する。具体的には、起動要因検出部８５は、パネル用コネクタ３１のキー用端子、ＡＤＦ用コネクタ３２のスイッチ用端子、ＦＡＸ用コネクタ３３の着信通知用端子、通信用コネクタ３４の受信通知用端子の電圧を検出し、それらの端子のいずれかの電圧がローからハイに変化すると起動要因を検出する。起動要因検出部８５は、起動要因を検出すると、電圧がローからハイに変化した端子を識別するための端子識別情報を起動部８９およびサブモード切換部８３に出力する。
【００９０】
サブモード切換部８３は、省電力モードにおいて、起動要因検出部８５から端子識別情報が入力されることに応じて、換言すれば、パネル用コネクタ３１のキー用端子、ＡＤＦ用コネクタ３２のスイッチ用端子、ＦＡＸ用コネクタ３３の着信通知用端子、通信用コネクタ３４の受信通知用端子のいずれかの電圧がローからハイに変化することに応じて、動作モードを省電力モードから通常モードに切り換える。
【００９１】
起動用ＣＰＵ１３は、サブモード切換部８３によって動作モードが省電力モードに切り換えられた後は、動作モードが通常モードに切り換えられるまでの間、プログラムを実行しないいわゆるＨＡＬＴモードで動作する。起動用ＣＰＵ１３は、省電力モードにおいては、パネル用コネクタ３１のキー用端子、ＡＤＦ用コネクタ３２のスイッチ用端子、ＦＡＸ用コネクタ３３の着信通知用端子、通信用コネクタ３４の受信通知用端子の電圧を検出する処理のみを実行する。換言すれば、起動用ＣＰＵ１３は、省電力モードにおいては、起動要因検出部８５のみを有効にする。このため、起動用ＣＰＵ１３は、省電力モードにおいて、消費電力を通常モードより小さくすることができる。
【００９２】
起動部８９は、メインＣＰＵ１１が動作モードを駆動モードから停止モードに切り換えている間に、起動要因検出部８５によって起動要因が検出されることに応じて、メインＣＰＵ１１を起動する。具体的には、起動部８９は、メインＣＰＵ１１のリセット端子にリセット信号を出力することにより、メインＣＰＵ１１を起動する。起動部８９は、スナップショット決定部９５と、通知部９７と、ハード用通知部９９と、を含む。
【００９３】
スナップショット決定部９５は、起動要因検出部８５から端子識別情報が入力されることに応じて、起動要因を決定し、決定された起動要因の起動要因識別情報をハード用通知部９９に出力する。また、スナップショット決定部９５は、フラッシュメモリ２３に記憶されているスナップショット定義テーブルを参照して、決定された起動要因に対応するスナップショットのアドレス情報を通知部９７に出力する。
【００９４】
具体的には、スナップショット決定部９５は、パネル用コネクタ３１のキー用端子の端子識別情報が入力される場合、起動要因識別情報「パネルキー」の起動要因を決定する。スナップショット決定部９５は、フラッシュメモリ２３に記憶されているスナップショット定義テーブルを参照して、決定された起動要因の起動要因識別情報「パネルキー」に対応するアドレス情報「アドレスＡ」に記憶されたスナップショットを決定し、アドレス情報「アドレスＡ」を通知部９７に出力する。
【００９５】
スナップショット決定部９５は、ＡＤＦ用コネクタ３２のスイッチ用端子の端子識別情報が入力される場合、起動要因識別情報「原稿セット」の起動要因を決定する。スナップショット決定部９５は、フラッシュメモリ２３に記憶されているスナップショット定義テーブルを参照して、決定された起動要因の起動要因識別情報「原稿セット」に対応するアドレス情報「アドレスＢ」に記憶されたスナップショットを決定し、アドレス情報「アドレスＢ」を通知部９７に出力する。
【００９６】
スナップショット決定部９５は、ＦＡＸ用コネクタ３３の着信通知用端子の端子識別情報が入力される場合、起動要因識別情報「ファクシミリ着信」の起動要因を決定する。スナップショット決定部９５は、フラッシュメモリ２３に記憶されているスナップショット定義テーブルを参照して、決定された起動要因の起動要因識別情報「ファクシミリ着信」に対応するアドレス情報「アドレスＣ」に記憶されたスナップショットを決定し、アドレス情報「アドレスＣ」を通知部９７に出力する。
【００９７】
スナップショット決定部９５は、通信用コネクタ３４の受信通知用端子の端子識別情報が入力される場合、起動要因識別情報「データ受信」の起動要因を決定する。スナップショット決定部９５は、フラッシュメモリ２３に記憶されているスナップショット定義テーブルを参照して、決定された起動要因の起動要因識別情報「データ受信」に対応するアドレス情報「アドレスＤ」に記憶されたスナップショットを決定し、アドレス情報「アドレスＤ」を通知部９７に出力する。
【００９８】
通知部９７は、スナップショット決定部９５からアドレス情報が入力されることに応じて、メインＣＰＵ１１にスナップショットを通知する。具体的には、フラッシュメモリ２３に記憶されているメインＣＰＵ１１のブートプログラムにより定められたプログラムの読出しアドレスを、スナップショット決定部９５から入力されるアドレス情報で書き換える。起動部８９は、通知部９７がブートプログラムを書き換えた後、電源制御部８７に給電指示を出力するとともに、メインＣＰＵ１１のリセット端子にリセット信号を出力する。給電指示は、起動要因の起動要因識別情報を含む。
【００９９】
ハード用通知部９９は、フラッシュメモリ２３に記憶されている起動要因テーブルを参照して、スナップショット決定部９５から入力される起動要因識別情報で特定される起動要因に対応するハードウェア資源を決定し、決定されたハードウェア資源に起動指示を出力する。
【０１００】
具体的には、ハード用通知部９９は、スナップショット決定部９５から起動要因識別情報「パネルキー」が入力される場合、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０それぞれに起動指示を出力する。ハード用通知部９９は、スナップショット決定部９５から起動要因識別情報「原稿セット」が入力される場合、操作パネル１９０、原稿読取部１３０、自動原稿搬送装置１２０およびＨＤＤ１１３それぞれに起動指示を出力する。ハード用通知部９９は、スナップショット決定部９５から起動要因識別情報「ファクシミリ着信」が入力される場合、画像形成部１４０、給紙部１５０およびファクシミリ部１７０それぞれに起動指示を出力する。ハード用通知部９９は、スナップショット決定部９５から起動要因識別情報「データ受信」が入力される場合、画像形成部１４０、給紙部１５０および通信Ｉ／Ｆ部１６０それぞれに起動指示を出力する。
【０１０１】
電源制御部８７は、電源制御回路１７を制御して、メインＣＰＵ１１、ＲＡＭ２１、フラッシュメモリ２３、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３、外部記憶装置１１５に供給する電力を切り換えさせる。電源制御部８７は、遮断制御部９１と、電力復帰部９３と、を含む。遮断制御部９１は、動作モード検出部８１から切換指示が入力されることに応じて、電源制御回路１７に、メインＣＰＵ１１、ＲＡＭ２１、フラッシュメモリ２３、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３および外部記憶装置１１５に供給する電力を遮断させる。これにより、電源制御回路１７は、メインＣＰＵ１１、ＲＡＭ２１、フラッシュメモリ２３、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３および外部記憶装置１１５に電力を供給しないので、電力の消費を低くすることができる。なお、起動用ＣＰＵ１３は、電源制御回路１７から電力が供給されて駆動するが、動作モードが省電力モードに切り換えられる場合は、起動用ＣＰＵ１３で消費される電力が通常モードで消費される電力よりも小さくなる。
【０１０２】
電力復帰部９３は、起動部８９から給電指示が入力されることに応じて、電源制御回路１７に、メインＣＰＵ１１、ＲＡＭ２１およびフラッシュメモリ２３に電力を供給させる。これにより、メインＣＰＵ１１、ＲＡＭ２１およびフラッシュメモリ２３が駆動する。メインＣＰＵ１１は、電源制御回路１７から電力が供給され、起動用ＣＰＵ１３からリセット信号が入力されると、フラッシュメモリ２３に記憶されたブートプログラムを実行する。このブートプログラムは、上述した通知部９７によりプログラムの読出しアドレスが書き換えられているので、スナップショット決定部９５によって決定されたスナップショット、換言すれば、起動要因に対応するスナップショットを、フラッシュメモリ２３から読み出してＲＡＭ２１に記憶する。
【０１０３】
また、電力復帰部９３は、給電指示に含まれる起動要因識別情報で特定される起動要因に対応するハードウェア資源を決定し、電源制御回路１７に、決定されたハードウェア資源に電力を供給させる。電力復帰部９３は、ハードウェア資源である操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３および外部記憶装置１１５のうちから、フラッシュメモリ２３に記憶されている起動要因テーブルを参照して、起動要因に対応するハードウェア資源を決定する。
【０１０４】
具体的には、電力復帰部９３は、給電指示に起動要因識別情報「パネルキー」が含まれる場合、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３、外部記憶装置１１５それぞれに、電源制御回路１７を制御して電力を供給させる。
【０１０５】
電力復帰部９３は、給電指示に起動要因識別情報「原稿セット」が含まれる場合、操作パネル１９０、原稿読取部１３０、自動原稿搬送装置１２０およびＨＤＤ１１３それぞれに、電源制御回路１７を制御して電力を供給させる。
【０１０６】
電力復帰部９３は、給電指示に起動要因識別情報「ファクシミリ着信」が含まれる場合、画像形成部１４０、給紙部１５０およびファクシミリ部１７０それぞれに、電源制御回路１７を制御して電力を供給させる。
【０１０７】
電力復帰部９３は、給電指示に起動要因識別情報「データ受信」が含まれる場合、画像形成部１４０、給紙部１５０および通信Ｉ／Ｆ部１６０それぞれに、電源制御回路１７を制御して電力を供給させる。
【０１０８】
図９は、メイン起動制御処理の流れの一例を示すフローチャートである。メイン起動制御処理は、メインＣＰＵ１１がメイン起動制御プログラムを実行することにより、メインＣＰＵ１１により実行される処理である。メイン起動制御プログラムは、起動制御プログラムの一部である。図９を参照して、メインＣＰＵ１１は、リセット信号が入力される（ステップＳ０１）。ここでは、起動用ＣＰＵ１３がメインＣＰＵ１１のリセット端子にリセット信号を出力する。メインＣＰＵ１１は、リセット信号が入力されると、スナップショットをＲＡＭ２１に記憶する。具体的には、メインＣＰＵ１１は、フラッシュメモリ２３に記憶されたブートプログラムを実行する。メインＣＰＵ１１は、フラッシュメモリ２３に記憶された複数のスナップショットのうちからブートプログラムにより定められるアドレス情報で特定されるスナップショットをフラッシュメモリ２３から読出し、ＲＡＭ２１に記憶する。
【０１０９】
次のステップＳ０３においては、起動要因を受け付け、処理をステップＳ０４に進める。ステップＳ０１において、起動用ＣＰＵ１３からリセット信号が入力される場合、起動用ＣＰＵ１３によって起動要因が検出される場合であり、その起動要因を受け付ける。
【０１１０】
ステップＳ０４においては、起動要因が起動要因識別情報「パネルキー」または起動要因識別情報「原稿セット」のいずれかであるか否かを判断する。起動要因が起動要因識別情報「パネルキー」または起動要因識別情報「原稿セット」のいずれかならば処理をステップＳ０５に進めるが、そうでなければ処理をステップＳ１０に進める。
【０１１１】
起動要因が起動要因識別情報「パネルキー」の場合に処理がステップＳ０５に進む。この場合、ステップＳ０２においてＲＡＭ２１に記憶されたスナップショットは、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３および外部記憶装置１１５に電源制御回路１７から電力が供給され、それらが駆動した状態でＲＡＭ２１に記憶されたデータなので、メインＣＰＵ１１は、操作パネル１９０に入力されるユーザーの操作を受け付け、受け付けられた操作に対応する処理を実行することができる。
【０１１２】
起動要因が起動要因識別情報「原稿セット」の場合に処理がステップＳ０５に進む。この場合、ステップＳ０２においてＲＡＭ２１に記憶されたスナップショットは、操作パネル１９０、原稿読取部１３０、自動原稿搬送装置１２０およびＨＤＤ１１３に電源制御回路１７から電力が供給され、それらが駆動した状態でＲＡＭ２１に記憶されたデータなので、メインＣＰＵ１１は、操作パネル１９０に入力されるスキャンを指示する操作を受け付け、自動原稿搬送装置１２０にセットされた原稿を原稿読取部１３０で読み取った画像を、ＨＤＤ１１３に記憶させる処理を実行することができる。
【０１１３】
ステップＳ０５においては、操作を受け付けたか否かを判断する。ユーザーが操作部１９６に入力する操作を受け付ける。操作を受け付けたならば処理をステップＳ０６に進めるが、そうでなければ処理をステップＳ０９に進める。ステップＳ０６においては、受け付けられた操作に対応する処理を実行するためのハードウェア資源が起動しているか否かを判断する。ハードウェア資源が起動しているならば処理をステップＳ０８に進めるが、そうでなければ処理をステップＳ０７に進める。ステップＳ０７においては、ハードウェア資源を起動し、処理をステップＳ０８に進める。ステップＳ０８においては、受け付けられた操作に従って処理を実行し、処理をステップＳ０５に戻す。
【０１１４】
ステップＳ０９においては、操作を受け付けることなく所定時間が経過したか否かを判断する。操作を受け付けることなく所定時間が経過したならば処理をステップＳ１２に進めるが、そうでなければ処理をステップＳ０５に戻す。
【０１１５】
ステップＳ１０においては、起動要因に対応する処理を実行する。具体的には、ステップＳ０３において起動要因識別情報「ファクシミリ着信」の起動要因が受け付けられる場合、ファクシミリを受信する処理を実行する。ステップＳ０２においてＲＡＭ２１に記憶されたスナップショットは、画像形成部１４０、給紙部１５０およびファクシミリ部１７０に電源制御回路１７から電力が供給され、それらが駆動した状態でＲＡＭ２１に記憶されたデータなので、メインＣＰＵ１１は、画像形成部１４０、給紙部１５０およびファクシミリ部１７０を制御可能である。このため、メインＣＰＵ１１は、ファクシミリ部１７０にファクシミリデータを受信させ、画像形成部１４０にファクシミリデータの画像を、給紙部１５０から供給される用紙に形成させることができる。
【０１１６】
また、ステップＳ０３において起動要因「データ受信」が受け付けられる場合、データを受信する処理を実行する。ステップＳ０２においてＲＡＭ２１に記憶されたスナップショットは、画像形成部１４０、給紙部１５０および通信Ｉ／Ｆ部１６０に電源制御回路１７から電力が供給され、それらが駆動した状態でＲＡＭ２１に記憶されたデータなので、メインＣＰＵ１１は、画像形成部１４０、給紙部１５０および通信Ｉ／Ｆ部１６０を制御可能である。このため、メインＣＰＵ１１は、通信Ｉ／Ｆ部１６０でデータを受信させることができ、受信されたデータがプリントデータならば、画像形成部１４０にプリントデータの画像を、給紙部１５０から供給される用紙に形成させることができる。
【０１１７】
ステップＳ１１においては、起動要因に対応する処理が終了したか否かを判断する。処理が終了するまで待機状態となり（ステップＳ１１でＮＯ）、処理が終了したならば（ステップＳ１１でＹＥＳ）、処理をステップＳ１２に進める。ステップＳ１２においては、動作モードを停止モードに切り換える。これにより、ＣＰＵ１１によって制御されるハードウェア資源で消費される電力が低減する。次のステップＳ１３においては、切換信号を起動用ＣＰＵ１３に出力し、処理を終了する。
【０１１８】
図１０は、サブ起動制御処理の流れの一例を示すフローチャートである。サブ起動制御処理は、起動用ＣＰＵ１３がサブ起動制御プログラムを実行することにより、起動用ＣＰＵ１３により実行される処理である。サブ起動制御プログラムは、起動制御プログラムの一部である。
【０１１９】
図１０を参照して、起動用ＣＰＵ１３は、メインＣＰＵ１１から切換信号が入力されたか否かを判断する（ステップＳ２１）。切換信号が入力されるまで待機状態となり（ステップＳ２１でＮＯ）、切換信号が入力されると（ステップＳ２１でＹＥＳ）、処理をステップＳ２２に進める。
【０１２０】
ステップＳ２２においては、電源を遮断する。具体的には、電源制御回路１７に、メインＣＰＵ１１、ＲＡＭ２１、フラッシュメモリ２３、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３、外部記憶装置１１５に供給する電力を遮断させる。これにより、メインＣＰＵ１１、ＲＡＭ２１、フラッシュメモリ２３、操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３、外部記憶装置１１５で消費される電力を低減することができる。
【０１２１】
次のステップＳ２３においては、動作モードを通常モードから省電力モードに切り換える。起動用ＣＰＵ１３は、動作モードが省電力モードに切り換えられた後は、動作モードが通常モードに切り換えられるまでの間、プログラムを実行しないいわゆるＨＡＬＴモードで動作する。起動用ＣＰＵ１３は、省電力モードにおいては、パネル用コネクタ３１のキー用端子、ＡＤＦ用コネクタ３２のスイッチ用端子、ＦＡＸ用コネクタ３３のファクシミリ着信通知用端子、通信用コネクタ３４の受信通知用端子の電圧を検出する処理のみを実行する。このため、起動用ＣＰＵ１３は、省電力モードにおいて、消費電力を通常モードより小さくすることができる。
【０１２２】
次のステップＳ２４においては、起動要因を検出したか否かを判断する。起動要因を検出するまで待機状態となり（ステップＳ２４でＮＯ）、起動要因を検出したならば（ステップＳ２４でＹＥＳ）、処理をステップＳ２５に進める。具体的には、パネル用コネクタ３１のキー用端子の電圧がローからハイに変化する場合、起動要因識別情報「パネルキー」の起動要因を検出する。ＡＤＦ用コネクタ３２のスイッチ用端子の電圧がローからハイに変化する場合、起動要因「原稿セット」の起動要因を検出する。ＦＡＸ用コネクタ３３のファクシミリ着信通知用端子の電圧がローからハイに変化する場合、起動要因「ファクシミリ着信」の起動要因を検出する。通信用コネクタ３４の受信通知用端子の電圧がローからハイに変化する場合、起動要因「データ受信」の起動要因を検出する。
【０１２３】
ステップＳ２５においては、動作モードを通常モードに切り換える。そして、メインＣＰＵ１１、ＲＡＭ２１およびフラッシュメモリ２３に電力を供給する（ステップＳ２６）。具体的には、電源制御回路１７を制御して、電源制御回路１７に、メインＣＰＵ１１、ＲＡＭ２１およびフラッシュメモリ２３に電力を供給させる。
【０１２４】
次のステップＳ２７においては、起動要因に対応するハードウェア資源を決定する。ステップＳ２４において検出された起動要因に対して、フラッシュメモリ２３に記憶された起動要因テーブルを参照して、起動要因に対応するハードウェア資源を決定する。ステップＳ２４において起動要因識別情報「パネルキー」の起動要因が検出される場合、ハードウェア資源として操作パネル１９０、原稿読取部１３０、画像形成部１４０、給紙部１５０、自動原稿搬送装置１２０、ファクシミリ部１７０、通信Ｉ／Ｆ部１６０、ＨＤＤ１１３および外部記憶装置１１５を決定する。ステップＳ２４において起動要因識別情報「原稿セット」の起動要因が検出される場合、ハードウェア資源として操作パネル１９０、原稿読取部１３０、自動原稿搬送装置１２０およびＨＤＤ１１３を決定する。また、ステップＳ２４において起動要因識別情報「ファクシミリ着信」の起動要因が検出される場合、ハードウェア資源として画像形成部１４０、給紙部１５０およびファクシミリ部１７０を決定する。ステップＳ２４において起動要因識別情報「データ受信」が受け付けられる場合、ハードウェア資源として画像形成部１４０、給紙部１５０および通信Ｉ／Ｆ部１６０を決定する。
【０１２５】
ステップＳ２８においては、ステップＳ２７において決定されたハードウェア資源に電力を供給する。具体的には、電源制御回路を制御して、ハードウェア資源に電力を供給させる。そして、ステップＳ２７において決定されたハードウェア資源に起動信号を出力し（ステップＳ２９）、処理をステップＳ３０に進める。
【０１２６】
ステップＳ３０においては、ステップＳ２４において検出された起動要因に対応するスナップショットのアドレス情報を取得する。具体的には、フラッシュメモリ２３に記憶されたスナップショット定義テーブルを参照して、ステップＳ２４において検出された起動要因に対応するスナップショットがフラッシュメモリ２３に記憶されている位置を示すアドレス情報を取得する。具体的には、起動要因識別情報「パネルキー」の起動要因が検出される場合はアドレス情報「アドレスＡ」を取得し、起動要因識別情報「原稿セット」が検出される場合はアドレス情報「アドレスＢ」を取得し、起動要因「ファクシミリ着信」が検出される場合はアドレス情報「アドレスＣ」を取得し、起動要因「データ受信」が検出される場合はアドレス情報「アドレスＤ」を取得する。
【０１２７】
次のステップＳ３１においては、メインＣＰＵ１１のブートプログラムのアドレス情報を書き換える。具体的には、フラッシュメモリ２３に記憶されているメインＣＰＵ１１のブートプログラムに定められたプログラムの読出しアドレスを、ステップＳ３０において取得されたアドレス情報で書き換える。そして、メインＣＰＵ１１のリセット端子にリセット信号を出力し（ステップＳ３２）、処理をステップＳ２１に戻す。
【０１２８】
なお、本実施の形態において、スナップショット取得部５１を、メインＣＰＵ１１に設けるようにしたが、起動用ＣＰＵ１３に設けるようにしてもよい。
【０１２９】
＜変形例＞
上述した実施の形態におけるＭＦＰ１００においては、メインＣＰＵ１１は、ＭＦＰ１００にインストールされた全てのプログラムをＲＡＭ２１にロードした後に、複数の状態ごとに生成する。変形例におけるＭＦＰ１００においては、所定の状態において、ＭＦＰ１００にインストールされたプログラムの一部をＲＡＭ２１にロードして、スナップショットを生成する点で異なる。
【０１３０】
変形例におけるＭＦＰ１００において、メインＣＰＵ１１は、フラッシュメモリ２３に記憶された複数のプログラムのうちから１以上のプログラムをＲＡＭ２１にロードして実行する。メインＣＰＵ１１は、フラッシュメモリ２３に記憶された複数のプログラムのすべてをＲＡＭ２１にロードして実行することも可能である。フラッシュメモリ２３に記憶される複数のプログラムは、複数のハードウェア資源それぞれを制御するハードウェア制御プログラム、ＭＦＰ１００の全体を制御するための全体制御プログラムを、含む。ハードウェア制御プログラムは、操作パネル１９０を制御するためのパネル制御プログラム、原稿読取部１３０を制御するためのスキャナ制御プログラム、画像形成部１４０を制御するためのエンジン制御プログラム、給紙部１５０を制御するための搬送制御プログラム、自動原稿搬送装置１２０を制御するためのＡＤＦ制御プログラム、ファクシミリ部１７０を制御するためのファクシミリ制御プログラム、通信Ｉ／Ｆ部１６０を制御するための通信制御プログラムを含む。ここでは、ＨＤＤ１１３および外部記憶装置１１５を制御するプログラムが、全体制御プログラムに含まれている。
【０１３１】
図１１は、変形例におけるメインＣＰＵが有する機能の一例を示すブロック図である。図１１を参照して、図４に示した機能と異なる点は、追加ロード部５７が追加された点、スナップショット生成部６１がスナップショット生成部６１Ａに変更された点である。その他の機能は、図４に示した機能と同じなので、ここでは説明を繰り返さない。
【０１３２】
スナップショット生成部６１Ａは、複数の起動要因ごとに、当該起動要因に対して定められた１以上のプログラムをＲＡＭ２１にロードする。これにより、ＲＡＭ２１に、起動要因に対して定められた１以上のプログラムに対応する実行プログラムが記憶される。スナップショット生成部６１Ａは、ＲＡＭ２１に記憶された実行プログラムをイメージデータであるスナップショットとしてフラッシュメモリ２３に記憶する。このため、スナップショット生成部６１Ａは、複数の起動要因にそれぞれ対応する複数のスナップショットをフラッシュメモリ２３に記憶する。スナップショット生成部６１Ａは、起動要因と、その起動要因に対応してフラッシュメモリ２３に記憶したスナッショットのフラッシュメモリ２３中のアドレスとを、関連付部６３に出力する。
【０１３３】
具体的には、フラッシュメモリ２３に起動要因とプログラムとを関連付けた起動要因テーブルが予め記憶されており、スナップショット生成部６１は、起動要因テーブルを参照して、スナップショットをフラッシュメモリ２３に記憶する。
【０１３４】
図１２は、変形例における起動要因テーブルの一例を示す図である。図１２を参照して、変形例における起動要因テーブルは、複数の起動要因ごとに起動要因レコードを含む。起動要因レコードは、起動要因の項目と、ハードウェア資源の項目と、プログラムの項目とを含む。起動要因の項目は、起動要因を識別するための起動要因識別情報が設定され、ハードウェア資源の項目は、ハードウェア資源を識別するためのハードウェア識別情報が設定され、プログラムの項目は、プログラムを識別するためのプログラム識別情報が設定される。
【０１３５】
起動要因の項目に起動要因識別情報「パネルキー」が設定された起動要因レコードは、ハードウェア資源の項目に、ハードウェア識別情報「操作パネル」、「原稿読取部」、「画像形成部」、「給紙部」、「自動原稿搬送装置」、「ファクシミリ部」、「通信Ｉ／Ｆ部」、「ＨＤＤ」および「外部記憶装置」が設定され、プログラムの項目に、プログラム識別情報「パネル制御プログラム」、「スキャナ制御プログラム」、「エンジン制御プログラム」、「搬送制御プログラム」、「ＡＤＦ制御プログラム」、「ファクシミリ制御プログラム」、「通信制御プログラム」および「全体制御プログラム」が設定される。起動要因識別情報「パネルキー」が設定された起動要因レコードは、プログラムの項目に、ＭＦＰ１００にインストールされている全てのプログラムのプログラム識別情報を含む。換言すれば、起動要因識別情報「パネルキー」の起動要因に対して、ＭＦＰ１００にインストールされている全てのプログラムが関連付けられる。
【０１３６】
起動要因の項目に起動要因識別情報「原稿セット」が設定された起動要因レコードは、ハードウェア資源の項目に、ハードウェア識別情報「操作パネル」、「原稿読取部」、「自動原稿搬送装置」、「ファクシミリ部」、「通信Ｉ／Ｆ部」および「ＨＤＤ」が設定され、プログラムの項目に、プログラム識別情報「パネル制御プログラム」、「スキャナ制御プログラム」、「ＡＤＦ制御プログラム」および「全体制御プログラム」が設定される。
【０１３７】
起動要因の項目に起動要因識別情報「ファクシミリ着信」が設定された起動要因レコードは、ハードウェア資源の項目に、ハードウェア識別情報「画像形成部」、「給紙部」および「ファクシミリ部」が設定され、プログラムの項目に、プログラム識別情報「エンジン制御プログラム」、「搬送制御プログラム」、「ファクシミリ制御プログラム」および「全体制御プログラム」が設定される。
【０１３８】
起動要因の項目に起動要因識別情報「データ受信」が設定された起動要因レコードは、ハードウェア資源の項目に、ハードウェア識別情報「画像形成部」、「給紙部」、「通信Ｉ／Ｆ部」が設定され、プログラムの項目に、プログラム識別情報「エンジン制御プログラム」、「搬送制御プログラム」、「通信制御プログラム」および「全体制御プログラム」が設定される。
【０１３９】
図１１に戻って、スナップショット生成部６１Ａは、ＲＡＭ２１をリセットして、スナップショット生成部６１Ａに対応するスナップショット生成プログラムのみをＲＡＭ２１にロードする。例えば、フラッシュメモリ２３にスナップショット生成プログラムを記憶しておき、フラッシュメモリ２３に記憶されているブートプログラムに定められたプログラムの読出しアドレスを、スナップショット生成プログラムが記憶されているアドレスに変更した後に、ＲＡＭ２１およびＣＰＵ１１をリセットする。ＣＰＵ１１がリセットされる段階では、メインＣＰＵ１１にスナップショット生成部６１ＡのみがメインＣＰＵ１１に形成される。
【０１４０】
スナップショット生成部６１Ａは、フラッシュメモリ２３に記憶された起動要因テーブルから起動要因レコードを読出し、読み出した起動要因レコードのプログラムの項目に設定されたプログラムのみをＲＡＭ２１にロードする。スナップショット生成部６１Ａが起動要因テーブルに含まれる複数の起動要因レコードのうちから読み出す起動要因レコードを決定する処理は、後述する。そして、ＲＡＭ２１に記憶されているデータをイメージデータであるスナップショットとして、フラッシュメモリ２３に記憶する。スナップショット生成部６１Ａは、読み出した起動要因レコードの起動要因の項目に設定された起動要因識別情報で識別される起動要因と、フラッシュメモリ２３に記憶されたスナップショットのフラッシュメモリ２３中の位置を示すアドレス情報との組を、関連付部６３に出力する。
【０１４１】
スナップショット生成部６１Ａは、フラッシュメモリ２３に記憶されたスナップショット定義テーブルと起動要因テーブルとを参照して、スナップショット定義テーブルに含まれる１以上のスナップショット定義レコードのいずれにも設定されていない起動要因の起動要因識別情報が、起動要因の項目に設定された起動要因レコードを、起動要因テーブルから読出す。
【０１４２】
起動要因テーブルは、ＭＦＰ１００にハードウェア資源が追加、または削除される場合に変更される。スナップショット生成部６１Ａは、ＭＦＰ１００に新たなハードウェア資源が追加または削除される場合に、スナップショットを生成し、フラッシュメモリ２３に記憶する。具体的には、スナップショット生成部６１Ａは、ＭＦＰ１００に新たなハードウェア資源が追加または削除される場合に、スナップショット定義テーブルを初期化した後に、フラッシュメモリ２３に記憶されたスナップショット定義テーブルと起動要因テーブルとを参照して、スナップショット定義テーブルに含まれる１以上のスナップショット定義レコードのいずれにも設定されていない起動要因の起動要因識別情報が、起動要因の項目に設定された起動要因レコードを、起動要因テーブルから読出し、読み出した起動要因レコードのプログラムの項目に設定されたプログラムのみをＲＡＭ２１にロードすることによって、スナップショットをフラッシュメモリ２３に記憶する。
【０１４３】
なお、スナップショット取得部５１は、予め定められたサーバーからスナップショットをダウンロードするようにしてもよい。この場合、スナップショット生成部６１Ａは、不要である。サーバーには、ＭＦＰ１００が備えるメインＣＰＵ１１と同じ機種に対応する複数のスナップショットを起動要因と関連付けて予め記憶している。スナップショット取得部５１は、サーバーから起動要因とその起動要因に対応するスナップショットの組を、起動要因の数だけダウンロードし、ダウンロードされた複数の組にそれぞれ含まれる複数のスナップショットをフラッシュメモリ２３に記憶する。スナップショット取得部５１は、起動要因と、フラッシュメモリ２３に記憶されたスナップショットのフラッシュメモリ２３中の位置を示すアドレス情報との組を、関連付部６３に出力する。関連付部６３は、起動要因とアドレス情報との組が入力されることに応じて、スナップショット定義レコードを生成し、スナップショット定義レコードを、フラッシュメモリ２３に記憶されているスナップショット定義テーブルに追加して記憶する。
【０１４４】
以下、図６に示したスナップショット定義テーブルがフラッシュメモリ２３に記憶される場合を例に説明する。
【０１４５】
復帰部５５は、起動用ＣＰＵ１３により起動さると、フラッシュメモリ２３に記憶されている１以上のスナップショットのうち、起動要因に関連付けられたスナップショットをフラッシュメモリ２３から読出し、読み出したスナップショットをＲＡＭ２１に記憶する。復帰部５５は、スナップショットをＲＡＭ２１に記憶した後、起動完了信号をメインモード切換部５３に出力する。
【０１４６】
具体的には、復帰部５５は、電源制御回路１７から電力が供給された後、起動用ＣＰＵ１３からリセット信号が入力されると、フラッシュメモリ２３に記憶されたブートプログラムを実行する。このブートプログラムは、フラッシュメモリ２３に記憶された１以上のスナップショットのいずれかのフラッシュメモリ２３中の位置を示すアドレス情報を定める。ブートプログラムにより定められるスナップショットのアドレス情報は、起動用ＣＰＵ１３によって書き換えられる。このため、復帰部５５は、ブートプログラムにより定められるアドレス情報で特定されるスナップショットを、フラッシュメモリ２３から読出し、ＲＡＭ２１に記憶する。これにより、ＲＡＭ２１に、スナップショットが実行プログラムとして記憶されるので、ＣＰＵ１１は、実行プログラムを実行可能な状態になる。
【０１４７】
復帰部５５は、スナップショットをＲＡＭ２１に記憶した後、起動完了信号をメインモード切換部５３および追加ロード部５７に出力する。
【０１４８】
追加ロード部５７は、ＲＡＭ２１にロードしたスナップショットがＭＦＰ１００にインストールされている全てのプログラムでない場合であって、ユーザーがＭＦＰ１００を直接操作する起動要因の場合、ここでは、ＲＡＭ２１にロードしたスナップショットが起動要因識別情報「原稿セット」の起動要因に対応するスナップショットの場合、復帰部５５から起動完了信号が入力された後に、操作パネル１９０によって所定の操作が受け付けられることに応じて、ＲＡＭ２１に記憶されたスナップショットに含まれない残りのプログラムをＲＡＭ２１にロードする。これにより、ユーザーは、スナップショットに含まれないプログラムに基づく処理を、ＭＦＰ１００に実行させることができる。
【０１４９】
所定の操作は、起動していないハードウェア資源を用いる処理を実行させるための操作である。例えば、所定の操作は、原稿を読み取って得られる画像データの画像を、画像形成部１４０に形成させる操作、原稿を読み取って得られる画像データを、通信Ｉ／Ｆ部１６０に送信させる操作、原稿を読み取って得られる画像データを、ファクシミリ部１７０にファクシミリ送信させる操作を含む。
【０１５０】
図１３は、変形例におけるメイン起動制御処理の流れの一例を示すフローチャートである。図１３を参照して、変形例におけるメイン起動制御処理が図９に示したメイン起動制御処理と異なる点は、ステップＳ０７の後に、ステップＳ０７Ａが追加された点である。その他の処理は、図９に示したメイン起動制御処置と同じなので、ここでは説明を繰り返さない。メインＣＰＵ１１は、ステップＳ０７Ａにおいて、ＲＡＭ２１に記憶されたスナップショットに含まれないプログラムをフラッシュメモリ２３から読み出してＲＡＭ２１にロードし、処理をステップＳ０８に進める。これにより、メインＣＰＵ１１が、ステップＳ０７において電力が供給されたハードウェア資源を制御可能になるので、ステップＳ０５において受け付けられた操作に対応する処理を実行することができる。
【０１５１】
変形例におけるＭＦＰ１００は、起動要因が起動要因識別情報「原稿セット」、「ファクシミリ着信」および「データ受信」のいずれかの場合に、ＭＦＰ１００にインストールされたプログラムの全部でなく一部を含むスナップショットをＲＡＭ２１に展開する。ＭＦＰ１００にインストールされたプログラムの一部のスナップショットは、ＭＦＰ１００にインストールされたプログラムの全部のスナップショットに比較してデータ量が少ない。このため、起動要因が起動要因識別情報「原稿セット」、「ファクシミリ着信」および「データ受信」のいずれかの場合は、フラッシュメモリ２３からＲＡＭ２１にスナップショットを展開する時間をできるだけ短くすることができる。
【０１５２】
また、メインＣＰＵ１１は、起動要因に基づく処理を実行した後、複数のプログラムのうちＲＡＭ２１に記憶されたスナップショットに含まれていない残りの１以上のプログラムをＲＡＭ２１にロードする。このため、起動要因に基づく処理を実行した後、起動要因に基づく処理以外の処理を実行することができる。
【０１５３】
以上説明したように本実施の形態におけるＭＦＰ１００は、画像形成装置として機能し、フラッシュメモリ２３に、複数の起動要因ごとに、起動要因と関連付けられた１以上のハードウェア資源に電力が供給された状態でＲＡＭ２１に記憶されたデータであるスナップショットを記憶しており、起動用ＣＰＵ１３は、メインＣＰＵ１１およびＲＡＭ２１に電力が供給されていない間に、複数の起動要因のいずれかを検出することに応じて、メインＣＰＵ１１を起動し、メインＣＰＵ１１によって動作モードが停止モードに切り換えられることに応じて、メインＣＰＵ１１およびＲＡＭ２１に供給される電力を遮断する。このため、メインＣＰＵ１１およびＲＡＭ２１によって電力が消費されないようにして消費電力を低減することができる。
【０１５４】
また、複数の起動要因それぞれに複数のハードウェア資源の１以上が関連付けられており、複数の起動要因のいずれかが検出されることに応じて、複数のハードウェア資源のうち起動要因に関連付けられた１以上のハードウェア資源に電力が供給され、メインＣＰＵ１１は、起動要因に関連付けられたスナップショットをフラッシュメモリ２３から読出してＲＡＭ２１に記憶する。このため、起動要因に関連付けられた１以上のハードウェア資源に電力が供給されるので、電力が供給されるハードウェア資源をできるだけ少なくして消費電力を低減することができる。
【０１５５】
また、メインＣＰＵ１１は、起動要因に関連付けられた１以上のハードウェア資源のみが起動する状態で、ＲＡＭ２１に記憶されているデータをスナップショットとするので、起動要因が検出される場合に電力が供給されるハードウェア資源に対応したスナップショットをＲＡＭ２１に記憶させることができる。
【０１５６】
また、メインＣＰＵ１１は、フラッシュメモリ２３にスナップショットが記憶されていない場合、また、フラッシュメモリ２３にスナップショットが記憶されている場合には新たなハードウェア資源が追加されて起動要因テーブルが変更される場合に、スナップショットを生成する。このため、新たなハードウェア資源が追加される場合において、起動時に消費される電力を低減することができる。
【０１５７】
また、メインＣＰＵ１１は、スナップショットをＲＡＭ２１に展開し、複数のハードウェア資源それぞれが備えるＣＰＵは、ハード用スナップショットをＲＡＭに展開するので、メインＣＰＵ１１は、複数のハードウェア資源それぞれを制御するための初期化処理を実行する必要がないので、停止している状態から処理を実行可能になるまでの時間を短くすることがきる。
【０１５８】
また、メインＣＰＵ１１は、起動要因により定まる処理を実行した後、動作モードを停止モードに切り換えるので、消費電力をさらに低減することができる。
【０１５９】
また、起動用ＣＰＵ１３は、パネル用コネクタ３１のキー用端子、ＡＤＦ用コネクタ３２のスイッチ用端子、ＦＡＸ用コネクタ３３の着信通知用端子、通信用コネクタ３４の受信通知用端子のいずれかの電圧がローからハイに変化することに応じて、起動要因を検出する。このため、起動要因を容易に検出することができる。また、起動用ＣＰＵ１３の消費電力を低減することができる。
【０１６０】
また、起動用ＣＰＵ１３は、通常モードと消費電力が通常モードより低い省電力モードとのいずれかに動作モードを切り換え可能であり、メインＣＰＵ１１の動作モードが停止モードに切り換えられることに応じて、動作モードを省電力モードに切り換え、省電力モードにおいて、起動要因が検出されることに応じて、動作モードを通常モードに切り換える。このため、メインＣＰＵ１１が停止してから起動要因が検出されるまでの間の消費電力をさらに低減することができる。
【０１６１】
また、変形例におけるＭＦＰ１００においては、複数の起動要因ごとに、メインＣＰＵ１１が実行可能な複数のプログラムのうち起動要因に対応する１以上のプログラムをＲＡＭ２１にロードした実行プログラムを含むスナップショットをフラッシュメモリ２３に記憶する。このため、スナップショットのサイズを小さくすることができ、ＲＡＭ２１にスナップショットを展開する時間が短くなるので、停止している状態から処理を実行可能になるまでの時間を短くすることができる。
【０１６２】
さらに、メインＣＰＵ１１は、起動要因に基づく処理を実行した後、ＲＡＭ２１にロードしていない残りの１以上のプログラムをＲＡＭ２１にロードするので、起動要因に基づく処理以外の処理を実行することができる。
【０１６３】
図１４は、変形例における変更後の起動要因テーブルの一例を示す図である。図１４に示す起動要因テーブルは、フィニッシャのハードウェア資源が追加される場合に、図１２に示した変形例における起動要因テーブルを変更した後の起動要因テーブルを示している。
【０１６４】
なお、上述した実施の形態においては、画像形成装置の一例としてＭＦＰ１００について説明したが、図９または図１３に示したメイン起動制御処理をメインＣＰＵ１１に実行させ、図１０に示したサブ起動制御処理を起動用ＣＰＵ１３に実行させる起動制御方法として、また、図９または図１３に示したメイン起動制御処理をメインＣＰＵ１１に実行させ、図１０に示したサブ起動制御処理を起動用ＣＰＵ１３に実行させる起動制御プログラムとして、発明を捉えることができるのは言うまでもない。
【０１６５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１６６】
＜付記＞
（１）  前記電力復帰手段は、前記起動手段により前記メイン制御手段が起動される前に、前記メイン制御手段、および前記第１の記憶手段に電力を供給する、請求項１〜４のいずれかに記載の画像形成装置。
（２）  前記電力復帰手段は、前記起動手段により前記１以上のハードウェア資源が起動される前に、前記１以上のハードウェア資源に電力を供給する、請求項５に記載の画像形成装置。
【符号の説明】
【０１６７】
１００  ＭＦＰ、１１１  メイン基板、１１３  ＨＤＤ、１１５  外部記憶装置、１１５Ａ  ＣＤ−ＲＯＭ、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１６０  通信Ｉ／Ｆ部、１７０  ファクシミリ部、１９０  操作パネル、１１  メインＣＰＵ、１３  起動用ＣＰＵ、１７  電源制御回路、２１  ＲＡＭ、２３  フラッシュメモリ、３１  パネル用コネクタ、３２  ＡＤＦ用コネクタ、３３  ＦＡＸ用コネクタ、３４  通信用コネクタ、３５  スキャナ用コネクタ、３６  エンジン用コネクタ、３７  ＨＤＤ用コネクタ、３８  外部用コネクタ、３９  電源コネクタ、１２１，１３１，１４１，１５１，１６１，１７１，１９１  ＣＰＵ、１２２，１３２，１４２，１５２，１６２，１７２，１９２  ＲＯＭ、１２３，１３３，１４３，１５３，１６３，１７３，１９３  ＲＡＭ、１２４，１３４，１４４，１５４，１６４，１７４，１９４  フラッシュメモリ、１９５  表示部、１９６  操作部、５１  スナップショット取得部、５３，５３Ａ  メインモード切換部、５５  復帰部、５７  追加ロード部、５９  実行後切換部、６１，６１Ａ  スナップショット生成部、６３  関連付部、８１  動作モード検出部、８３  サブモード切換部、８５  起動要因検出部、８７  電源制御部、８９  起動部、９１  遮断制御部、９３  電力復帰部、９５  スナップショット決定部、９７  通知部、９９  ハード用通知部。
【図１】
0006589681.tif 000002
【図２】
0006589681.tif 000003
【図３】
0006589681.tif 000004
【図４】
0006589681.tif 000005
【図５】
0006589681.tif 000006
【図６】
0006589681.tif 000007
【図７】
0006589681.tif 000008
【図８】
0006589681.tif 000009
【図９】
0006589681.tif 000010
【図１０】
0006589681.tif 000011
【図１１】
0006589681.tif 000012
【図１２】
0006589681.tif 000013
【図１３】
0006589681.tif 000014
【図１４】
0006589681.tif 000015