【解決手段】制御処理を実行するプロセッサと、プロセッサによるオペレーティングシステムの起動処理完了後における第1のメモリイメージを記憶する第1の記憶部と、を具備した、複合機に搭載される制御装置の起動方法であって、オペレーティングシステムを起動する場合に、第1の記憶部に記憶された第1のメモリイメージをメインメモリに展開し、プロセッサが第1のメモリイメージが展開された後のメインメモリの記憶データに基づく動作を開始する。
メインメモリに記憶されたデータに基づく制御処理を実行するプロセッサと、前記プロセッサによるオペレーティングシステムの起動処理完了後における前記メインメモリに関する第1のメモリイメージを記憶する第1の記憶部と、を具備した制御装置の起動方法であって、
前記オペレーティングシステムを起動する場合に、前記第1の記憶部に記憶された前記第1のメモリイメージを前記メインメモリに展開し、
前記プロセッサが、前記第1のメモリイメージが展開された後の前記メインメモリの記憶データに基づく動作を開始する、
起動方法。
【発明を実施するための形態】
【0007】
以下、実施の形態の一例について図面を用いて説明する。なお、本実施の形態では、電気機器の一例としての複合機を例に説明する。
図1は本実施形態に係る複合機100の概略構成と、制御装置1の要部回路構成とを示すブロック図である。
複合機100は、制御装置1、読取ユニット2、画像形成ユニット3、操作パネル4及び通信ユニット5及び電源ユニット6を含む。複合機100は、ICカードリーダなどの別のデバイスを含んでもよい。
【0008】
制御装置1は、読取ユニット2、画像形成ユニット3、操作パネル4及び通信ユニット5などの、複合機100に備えられた各種のデバイスを制御する。つまり制御装置1は、複合機100を制御対象装置とする。
読取ユニット2は、紙などの媒体に形成された画像を読み取って、画像データを生成する。読取ユニット2としては、例えばフラットベットスキャナ及びADF(auto document feeder)スキャナなどの周知の種々の読取デバイスを、単独又は組み合わせて用いることができる。
【0009】
画像形成ユニット3は、読取ユニット2で生成された画像データ、通信ユニット5により受信された画像データ、あるいは制御装置1にて生成された画像データに基づき、紙などの媒体に画像を形成する。画像形成ユニット3としては、例えば電子写真方式及びインクジェット方式などの周知の種々の画像形成デバイスを、単独又は組み合わせて用いることができる。
【0010】
操作パネル4は、入力ユニット、表示ユニット及びサウンドユニットを含む。入力ユニットは、操作者による指示を入力する。入力ユニットとしては、例えばタッチパネル及びキースイッチなどの周知の種々の入力デバイスを、単独又は組み合わせて用いることができる。表示ユニットは、操作者に対して各種の情報を通知するための表示動作を実行する。表示ユニットとしては、例えば液晶表示器及びLED(light emitting diode)ランプなどの周知の種々の表示デバイスを、単独又は組み合わせて用いることができる。サウンドユニットは、各種の案内や警報のための音を出力する。サウンドユニットとしては、例えば音声合成デバイス及びブザーなどの周知の種々のサウンドデバイスを、単独又は組み合わせて用いることができる。
【0011】
通信ユニット5は、通信ネットワーク200を介した通信のための通信処理を実行する。通信ネットワーク200は、例えばLAN(local ARFa network)である。この場合、通信ユニット5としては、LAN用の周知の種々の通信デバイスを用いることができる。ただし、通信ネットワーク200は、インターネット、VPN(virtual private network)、LAN(local ARFa network)、公衆通信網、移動体通信網などの他の種々のネットワークが用いられてもよい。通信ユニット5は、利用される通信ネットワーク200に適応したデバイスが用いられる。
電源ユニット6は、商用電源から供給される電力を受けて、複合機100に備えられる各種の電気デバイスの動作電力を生成する。
【0012】
これら読取ユニット2、画像形成ユニット3、操作パネル4及び通信ユニット5は、制御装置1による制御の対象となるデバイスの一例である。なお、これら読取ユニット2、画像形成ユニット3、操作パネル4及び通信ユニット5には、制御装置1による制御の対象となるデバイスが含まれる場合もある。例えば、読取ユニット2は、自動原稿搬送装置を含む場合があり、この自動原稿搬送装置が制御装置1の制御対象となることもある。また例えば、画像形成ユニット3は、フィニッシャを含む場合があり、このフィニッシャが制御装置1の制御対象となることもある。複合機100に含まれることがあり、制御装置1に接続される、前述のICカードリーダなどの図示しないデバイスは、やはり制御装置1の制御の対象となるデバイスである。
【0013】
さて制御装置1は、プロセッサ11、メインメモリ12、補助記憶ユニット13、デバイスインタフェース14及び伝送路15を含む。プロセッサ11、メインメモリ12、補助記憶ユニット13及びデバイスインタフェース14は、伝送路15を介して通信可能とされている。そして、プロセッサ11、メインメモリ12及び補助記憶ユニット13が伝送路15により接続されていることによって、制御装置1を制御するためのコンピュータが構成される。
【0014】
プロセッサ11は、上記コンピュータの中枢部分に相当する。プロセッサ11は、オペレーティングシステム、ファームウェア及びアプリケーションプログラム等の情報処理プログラムに従って、制御装置1としての各種の機能を実現するための情報処理を実行する。プロセッサ11は、例えばCPU(central processing unit)である。
【0015】
メインメモリ12は、上記コンピュータの主記憶部分に相当する。メインメモリ12は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ12は、不揮発性のメモリ領域では上記の情報処理プログラムを記憶する。メインメモリ12は、プロセッサ11が情報処理を実行する上で必要なデータを不揮発性又は揮発性のメモリ領域で記憶する場合もある。メインメモリ12は、揮発性のメモリ領域を、プロセッサ11によってデータが適宜書き換えられるワークエリアとして使用する。不揮発性のメモリ領域は、例えばROM(read only memory)である。揮発性のメモリ領域は、例えばRAM(random access memory)である。
【0016】
補助記憶ユニット13は、上記コンピュータの補助記憶部分に相当する。補助記憶ユニット13としては、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disc drive)、あるいはSSD(solid state drive)等の周知の記憶デバイスを用いた記憶ユニットを、単独又は組み合わせて用いることができる。補助記憶ユニット13は、プロセッサ11が各種の処理を行う上で使用するデータ、あるいはプロセッサ11での処理によって作成されたデータ等を保存する。補助記憶ユニット13は、上記の情報処理プログラムを記憶する。
【0017】
デバイスインタフェース14には、読取ユニット2、画像形成ユニット3、操作パネル4及び通信ユニット5などの、複合機100に備えられた各種のデバイスが接続される。デバイスインタフェース14は、プロセッサ11の制御の下に、接続されているデバイスのそれぞれとデータを授受するための通信処理を実行する。デバイスインタフェース14としては、例えばUSB(universal serial bus)規格に準拠した周知のデバイスを用いることができる。またデバイスインタフェース14としては、無線LAN規格に準拠した周知のデバイスを用いて、無線通信により各種のデバイスとデータを授受してもよい。またデバイスインタフェース14としては、PCIe(peripheral component interconnect express)規格に準拠した周知のインタフェースデバイスを用いることができる。なお、デバイスインタフェース14としては、複数種のインタフェースデバイスをそれぞれ備えて、制御装置1に接続すべき複数のデバイスをつなぎ分けてもよい。
伝送路15は、アドレスバス、データバス及び制御信号線等を含み、接続された各部の間で授受されるデータ及び制御信号を伝送する。
【0018】
制御装置1は、例えば伝送路15が形成されたプリント基板に、プロセッサ11、メインメモリ12、補助記憶ユニット13及びデバイスインタフェース14を実装することにより構成される。なお、プロセッサ11、メインメモリ12、補助記憶ユニット13及びデバイスインタフェース14は、半田付けなどにより固定的にプリント基板に取り付けられていても、プリント基板に取り付けられたソケット又はスロットに着脱自在に取り付けられていてもよい。例えばメインメモリ12に含まれるRAMは、プリント基板に取り付けられたメモリスロットに取り付けられ、交換可能とされる場合がある。
【0019】
補助記憶ユニット13の記憶領域の一部は、ブートローダ領域ARA、OS領域ARB、イメージ領域ARC,ARD、アプリケーション領域ARE、イメージ領域ARF及びフラグ領域ARGとして用いられる。OS領域ARB、イメージ領域ARC,ARD、アプリケーション領域ARE及びイメージ領域ARFは、例えばそれぞれ個別のパーティションとして設定される。
【0020】
ブートローダ領域ARAは、ブートローダを記憶する。OS領域ARBは、オペレーティングシステムを記憶する。このオペレーティングシステムは、既存の種々のオペレーティングシステムのいずれかであってよい。イメージ領域ARC,ARDは、後述する第1のハイバネーションイメージをそれぞれ記憶する。アプリケーション領域AREは、制御の対象となる各種デバイスを制御するための制御処理に関して記述されたアプリケーションプログラムを記憶する。イメージ領域ARFは、後述する第2のハイバネーションイメージを記憶する。フラグ領域は、後述するイメージフラグを記憶する。
【0021】
次に以上のように構成された複合機100の動作について説明する。なお、コピー機能、スキャナ機能、プリンタ機能及びファクシミリ機能などの既存の複合機が備える各種の機能を実現するための動作は、その既存の複合機と同様であってよいので、その説明は省略する。そしてここでは、複合機100の電源がオンされた際に、上記の各種機能のための動作を開始するまでの起動に関わる動作を中心に説明する。なお、以下に説明する各種の処理の内容は一例であって、一部の処理の順序の変更、一部の処理の省略、あるいは別の処理の追加などは適宜に可能である。例えば、以下の説明では、本実施形態の特徴的な動作を分かり易く説明するために、一部の処理についての説明を省略している。例えば、何らかのエラーが発生した場合に、そのエラーに対処するための処理が行われる場合があるが、そのような処理の一部については記載を省略している。
【0022】
複合機100は、機能レベルが異なる2つのモデルからなるシリーズ製品郡の1つとして構成される。つまり複合機100は、いわゆる標準機能モデル又は高機能モデルのいずれかのモデルとして構成される。複合機100は、いずれのモデルとして構成される場合でも、制御装置1は、基本的に同一のハードウェア構成のものが用いられる。ただし、メインメモリ12に含まれるRAMの容量は、各モデルで異なる場合がある。またデバイスインタフェース14に含まれるPCIeデバイスが対応するリビジョンが異なる場合がある。複合機100は、いずれのモデルとして構成されるかに応じて、読取ユニット2、画像形成ユニット3、操作パネル4及び通信ユニット5などの、制御装置1での制御の対象となる各種のデバイスの少なくとも一部が異なる。例えば画像形成ユニット3としては、高機能モデルにおいては、標準機能モデルよりも高速なデバイスが用いられる場合がある。また制御装置1での制御の対象となる各種のデバイスには、オプションのデバイスが含まれる場合がある。例えば、大容量記憶デバイスが、制御装置1での制御の対象となるデバイスとして追加して含まれる場合がある。
【0023】
補助記憶ユニット13にて、OS領域ARBには、各モデルとも共通のオペレーティングシステムが、例えば制御装置1の製造時に書き込まれる。イメージ領域ARCには、標準機能モデル用の第1のイメージが、例えば制御装置1の製造時に書き込まれる。イメージ領域ARDには、高機能モデル用の第1のイメージが、例えば制御装置1の製造時に書き込まれる。つまり、OS領域ARB及びイメージ領域ARC,ARDについての記憶データは、両モデルで共通である。
【0024】
アプリケーション領域AREには、標準機能モデル及び高機能モデルのそれぞれに適応するアプリケーションプログラムが、例えば制御装置1の製造時に選択的に書き込まれる。イメージ領域ARFには、複合機100の電源がオフされる毎に、プロセッサ11によって、メインメモリ12のメモリイメージが第2のハイバネーションイメージとして書き込まれる。フラグ領域ARGには、2つの第1のハイバネーションイメージのいずれが有効であるかを表したイメージフラグが、例えば制御装置1の製造時に選択的に書き込まれる。本実施形態の場合、イメージフラグは、複合機100が標準機能モデルとして構成されている場合には、イメージ領域ARCを表す状態とされる。またイメージフラグは、複合機100が高機能モデルとして構成されている場合には、イメージ領域ARDを表す状態とされる。つまりアプリケーション領域ARE及びフラグ領域ARGについての記憶データは、両モデルで異なる。
【0025】
なお、工場出荷後の複合機100が、メンテナンス作業によりモデル変更される場合もある。この場合は、そのメンテナンス作業の一環として、作業者による指示の下にプロセッサ11により、アプリケーション領域AREのアプリケーションプログラム及びフラグ領域ARGのイメージフラグが書き換えられる。
【0026】
ところで第1のハイバネーションイメージは、プロセッサ11がオペレーティングシステムに基づく動作の起動処理を完了した時点におけるメインメモリ12のメモリイメージである。このため第1のハイバネーションイメージは、制御装置1のハードウェア構成に応じて変化する可能性があるが、制御装置1での制御の対象となる各種デバイスには影響されない。このため、第1のハイバネーションイメージは、複合機100がいずれのモデルであるかに応じて固定的に定まる。
【0027】
かくして、イメージ領域ARC,ARDは、第1のメモリイメージとしての第1のハイバネーションイメージを記憶する第1の記憶部の一例である。なお、イメージ領域ARC,ARDが設けられている補助記憶ユニット13が、第1の記憶部の一例であるとも言える。イメージ領域ARFは、第2のメモリイメージとしての第2のハイバネーションイメージを記憶する第3の記憶部の一例である。なお、イメージ領域ARFが設けられている補助記憶ユニット13が、第3の記憶部の一例であるとも言える。また、イメージフラグは、識別データの一例であり、フラグ領域ARGは第2の記憶部の一例である。なお、フラグ領域ARGが設けられている補助記憶ユニット13が、第2の記憶部の一例であるとも言える。
【0028】
複合機100の電源がオンされると、複合機100の各部へと電源ユニット6から電力供給が開始される。これに応じてプロセッサ11は動作を開始し、メインメモリ12の不揮発性のメモリ領域又は図示しないROMなどに記憶された起動用ファームウェアを実行する。起動用ファームウェアは、例えばBIOS(basic input output system)又はUEFI(unified extensible firmware interface)などである。プロセッサ11は、起動用ファームウェアに基づき、制御装置1に含まれる各種デバイスを初期化したのち、補助記憶ユニット13のブートローダ領域ARAに記憶されているブートローダをメインメモリ12へと読み込んだ上で、当該ブートローダの実行を起動用ファームウェアとは別に開始する。
【0029】
図2はブートローダのフローチャートである。
ACT11としてプロセッサ11は、第1のハイバネーションイメージが有るか否かを確認する。そしてプロセッサ11は、例えばイメージ領域ARC,ARDのいずれにも第1のハイバネーションイメージが記憶されていないことを確認したならばNOと判定し、ACT12へと進む。
ACT12としてプロセッサ11は、補助記憶ユニット13のOS領域ARBに記憶されているオペレーティングシステムをメインメモリ12へと読み込む。
【0030】
プロセッサ11は一方、例えばイメージ領域ARC,ARDのいずれかに第1のハイバネーションイメージが記憶されていることを確認したならば、ACT11にてYESと判定し、ACT13へと進む。
ACT13としてプロセッサ11は、複数の第1のハイバネーションイメージが有るか否かを確認する。プロセッサ11は、例えば本実施形態の場合は、イメージ領域ARC,ARDのいずれかにのみ第1のハイバネーションイメージが記憶されていることを確認したならばNOと判定し、ACT14へと進む。
ACT14としてプロセッサ11は、イメージ領域ARC,ARDのいずれかに記憶されている第1のハイバネーションイメージをメインメモリに展開する。
【0031】
プロセッサ11は、例えば本実施形態の場合は、イメージ領域ARC,ARDの双方に第1のハイバネーションイメージが記憶されていることを確認したならば、ACT13にてYESと判定し、ACT15へと進む。
ACT15としてプロセッサ11は、複数の第1のハイバネーションイメージのうちの1つを予め定められた条件に従って選択し、メインメモリ12に展開する。プロセッサ11は例えば、補助記憶ユニット13のフラグ領域ARGに記憶されているイメージフラグの状態に応じてイメージ領域ARC,ARDの一方を選択し、そのイメージ領域に記憶されている第1のハイバネーションイメージをメインメモリ12に展開する。
かくしてブートローダをプロセッサ11が実行することによって、プロセッサ11を中枢部分とするコンピュータは、第1のメモリイメージとしての第1のハイバネーションイメージをメインメモリ12に展開する第1の展開部として機能する。
【0032】
プロセッサ11は、ACT12にてオペレーティングシステムを読み込んだ後、あるいはACT14又はACT15にて第1のハイバネーションイメージを展開した後には、いずれの場合もACT16へと進む。
ACT16としてプロセッサ11は、メインメモリ12に読み込まれているオペレーティングシステムの実行をブートローダとは別に開始する。そしてプロセッサ11はこれをもって、ブートローダは終了する。
【0033】
図3はオペレーティングシステムのフローチャートである。
ブートローダにて
図2のACT12が実行された場合、メインメモリ12はオペレーティングシステムの実行の初期状態にある。このためプロセッサ11は、オペレーティングシステムを実行すると、まずはACT21へと進む。
ACT21としてプロセッサ11は、起動処理を行う。この起動処理の詳細は説明を省略する。なお、起動処理によりメインメモリ12の書き換えが生じ、その内容は制御装置1のハードウェア構成の違いに影響される。そしてプロセッサ11はこののち、ACT22へと進む。
【0034】
一方、ブートローダにて
図2のACT14又はACT15が実行された場合、メインメモリ12は
図3中のACT21が終了した後の状態とされている。このためプロセッサ11は、オペレーティングシステムを実行すると、ACT21を行うことなくACT22へと進む。
ACT22としてプロセッサ11は、第2のハイバネーションイメージが有るか否かを確認する。そしてプロセッサ11は、例えばイメージ領域ARFに第2のハイバネーションイメージが記憶されていないことを確認したならばNOと判定し、ACT23へと進む。
ACT23としてプロセッサ11は、補助記憶ユニット13に記憶されているアプリケーションプログラムをメインメモリ12へと読み込む。
【0035】
プロセッサ11は、例えばイメージ領域ARFに第2のハイバネーションイメージが記憶されていることを確認したならば、ACT22にてYESと判定し、ACT24へと進む。
ACT24としてプロセッサ11は、補助記憶ユニット13のイメージ領域ARFに記憶されている第2のハイバネーションイメージをメインメモリ12に展開する。
かくしてオペレーティングシステムをプロセッサ11が実行することによって、プロセッサ11を中枢部分とするコンピュータは、第2のメモリイメージとしての第2のハイバネーションイメージをメインメモリ12に展開する第2の展開部として機能する。
【0036】
プロセッサ11は、ACT23にてアプリケーションプログラムを読み込んだ後、あるいはACT24にて第2のハイバネーションイメージを展開した後には、いずれの場合もACT25へと進む。なお、第2のハイバネーションイメージの展開により、アプリケーションプログラムがメインメモリ12へと読み込まれた状態となる。
【0037】
ACT25としてプロセッサ11は、アプリケーションプログラムに基づく制御処理の実行を、メインメモリ12の記憶データに基づきオペレーティングシステムとは別に開始する。このときにプロセッサ11は、ACT23からACT25へと進んだ場合には、アプリケーションプログラムに基づく制御処理を初期状態から開始することになる。またプロセッサ11は、ACT24からACT25へと進んだ場合には、前回に複合機100の電源がオフされる直前の制御状態に復帰することになる。そしてプロセッサ11はこののち、他の処理へと移行する。
【0038】
以上のように制御装置1は、プロセッサ11がオペレーティングシステムに基づく動作の起動処理を完了した時点におけるメインメモリ12のメモリイメージを第1のハイバネーションイメージとして補助記憶ユニット13に予め記憶しておく。そしてブートローダにより、第1のハイバネーションイメージをメインメモリ12に展開した後に、オペレーティングシステムの実行を開始する。これによりプロセッサ11は、オペレーティングシステムの起動処理を省略することができ、この起動処理を行う場合に比べて短時間でオペレーティングシステムの起動を完了できる。そしてこの結果、プロセッサ11の起動に要する時間を短縮できる。
【0039】
また制御装置1は、標準機能モデル用の第1のハイバネーションイメージと、高機能モデル用の第1のハイバネーションイメージとを、それぞれ補助記憶ユニット13に予め記憶しておく。そして、制御装置1が標準機能モデル及び高機能モデルのいずれの複合機100に備えられているかに応じて、上記の2つの第1のハイバネーションイメージを選択的に展開する。従って、製造時又はメンテナンス時に、複合機100のモデルに応じた第1のハイバネーションイメージを補助記憶ユニット13に書き込む必要がなく、製造又はメンテナンスに関わる手間が軽減される。
【0040】
また制御装置1は、アプリケーションプログラムに基づく制御処理の実行を開始するに当たっては、第2のハイバネーションイメージをメインメモリに展開することによって、複合機100の電源がオフされたときの制御状態に復帰する。これにより、プロセッサ11の起動に要する時間をさらに短縮できる。
【0041】
また制御装置1は、ブートローダにおいては、第1のハイバネーションイメージが1つも補助記憶ユニット13に記憶されていない場合には、オペレーティングシステムを読み込む。これにより、第1のハイバネーションイメージを補助記憶ユニット13に記憶せずに、複合機100の電源がオンされる毎にオペレーティングシステムの起動処理を実行するようにしたモデルも、シリーズ製品郡にラインナップすることが可能である。
【0042】
また制御装置1は、ブートローダにおいては、第1のハイバネーションイメージが1つのみ補助記憶ユニット13に記憶されている場合には、その1つの第1のハイバネーションイメージを展開する。これにより制御装置1は、シリーズ製品群に属さない独立したモデルの複合機100にも適用することが可能である。
【0043】
また制御装置1は、オペレーションシステムにおいては、第2のハイバネーションイメージが補助記憶ユニット13に記憶されていない場合には、アプリケーションを読み込む。これにより、例えば停電などの異常により複合機100の電源がオフされたなどの理由で第2のハイバネーションの生成が行われなかったとしても、複合機100を正常に起動することができる。また、第2のハイバネーションイメージを用いたハイバネーションを実施しない運用を可能とすることもできる。
【0044】
この実施形態は、次のような種々の変形実施が可能である。
第1のハイバネーションイメージは、1つのみを補助記憶ユニット13に記憶しておき、プロセッサ11は
図2のACT11にてYESと判定した場合にはACT14へと進むようにし、ACT13及びACT15は行わないようにしてもよい。この場合、補助記憶ユニット13は、イメージフラグは記憶しなくてよい。
【0045】
3つ以上のモデルのそれぞれに対応する第1のハイバネーションイメージを補助記憶ユニット13に記憶しておいてもよい。この場合には、イメージフラグに代えて、3つ以上の第1のハイバネーションイメージをそれぞれ記憶する領域のいずれかを識別するためのデータを補助記憶ユニット13に記憶しておく。なお、複数の第1のハイバネーションイメージのいずれが有効であるかは、それら複数の第1のハイバネーションイメージのそれぞれを識別する識別子を補助記憶ユニット13に記憶しておいたり、ハードウェア的な設定スイッチを用いるなどの、別の方法によりプロセッサ11が判断可能としてもよい。
【0046】
制御装置1による制御の対象となる電気機器は、複合機以外の任意の機器であって構わない。また、複数の第1のハイバネーションイメージがどのように使い分けられるかは任意であって構わない。すなわち制御装置1は例えば、シリーズを構成しない別々の複数のモデルのいずれにも搭載されるものであってもよい。
【0047】
第2のハイバネーションイメージのメインメモリ12への展開は、ブートローダにより行われてもよい。
【0048】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。