JP2013175150A - 情報処理装置、省電力制御方法、省電力制御プログラム - Google Patents

情報処理装置、省電力制御方法、省電力制御プログラム Download PDF

Info

Publication number
JP2013175150A
JP2013175150A JP2012167505A JP2012167505A JP2013175150A JP 2013175150 A JP2013175150 A JP 2013175150A JP 2012167505 A JP2012167505 A JP 2012167505A JP 2012167505 A JP2012167505 A JP 2012167505A JP 2013175150 A JP2013175150 A JP 2013175150A
Authority
JP
Japan
Prior art keywords
information
operation state
processing
power saving
return
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.)
Granted
Application number
JP2012167505A
Other languages
English (en)
Other versions
JP6007642B2 (ja
Inventor
Fumiyuki Yoshida
文幸 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2012167505A priority Critical patent/JP6007642B2/ja
Priority to US13/744,783 priority patent/US9310877B2/en
Priority to CN201310027399.8A priority patent/CN103294163B/zh
Publication of JP2013175150A publication Critical patent/JP2013175150A/ja
Application granted granted Critical
Publication of JP6007642B2 publication Critical patent/JP6007642B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】主記憶装置への通電を維持しつつ演算装置への通電を停止する省電力制御を、特定のアーキテクチャに限らず実現する。
【解決手段】RAM12への通電を継続しながらCPU11への通電を停止したサスペンドモードへの遷移が可能な複合機1であって、サスペンドモードへの遷移に際して、CPUコンテキストをRAM12へ格納し、RAM12においてCPUコンテキストが格納されたアドレスをNVRAM15に格納し、CPUコンテキスト及びアドレスの格納処理の後にCPU11への通電を停止させ、復帰要因を検知するCPU21によって設定された復帰処理フラグを、CPU11への電源投入後における初期化処理に際して確認し、復帰処理フラグが確認された場合、NVRAM15に格納されたアドレスに基づいてCPUコンテキストを復元する。
【選択図】図1

Description

本発明は、情報処理装置、省電力制御方法、省電力制御プログラムに関し、特に、プロセッサへの電力供給の停止制御に関する。
近年、省電力化の要求が高くなっており、CPU(Central Processing Unit)等の演算装置が搭載された情報処理装置においては、装置の動作状態に応じて装置各部への電力供給を停止する省電力制御の機能が必須となっている。
このような省電力制御の一例として、x86系のCPUを用いたPC(Personal Computer)アーキテクチャの情報処理装置では、STR(Suspend To RAM)モードやサスペンドモードと呼ばれる省電力制御の機能が用いられている。
このSTRモードにおいては、省電力状態においても主記憶装置であるRAM(Random Access Memory)への通電を継続することにより、記憶された内容を維持するリフレッシュ動作が継続される。これにより、CPUへの通電が停止された場合であっても、情報処理装置の動作状態が保存され、省電力状態から復帰する際に、省電力状態に遷移する前の状態を迅速に復元することが可能となる(例えば、特許文献1参照)。
他方、サスペンドモードの実現をより容易にする技術として、リセットの際にジャンプコードの有無を確認し、ジャンプコードがある場合にはハードウェアの初期化をすることなくローダ処理を行う技術が提案されている(例えば、特許文献2参照)。
特許文献1に開示された技術は、PCアーキテクチャを前提としたSTRモードの技術であるため、アーキテクチャの異なる情報処理装置にそのまま採用することはできない。また、特許文献2に開示された技術は、サスペンドモードに対応するものではあるが、ソフトウェアリセットにおいてCPUへの通電が維持されていることが前提となっており、CPUへの通電を停止する本件発明とはその趣旨が異なる。
本発明は、上記実情を考慮してなされたものであり、主記憶装置への通電を維持しつつ演算装置への通電を停止する省電力制御を、特定のアーキテクチャに限らず実現することを目的とする。
上記課題を解決するために、本発明の一態様は、主記憶装置への通電を継続しながら演算装置への通電を停止した省電力状態への遷移が可能な情報処理装置であって、前記省電力状態への遷移に際して、前記演算装置の動作状態を示す動作状態情報を前記主記憶装置へ格納する動作状態情報処理部と、前記主記憶装置において前記動作状態を示す情報が格納された記憶領域を示す格納先情報を不揮発性記憶媒体に格納する格納先情報処理部と、前記動作状態情報及び前記格納先情報の格納処理の後に前記演算装置への通電を停止させる通電停止制御部と、前記省電力状態からの復帰要因を検知する副演算装置によって設定された復帰処理識別情報を、前記演算装置への電源投入後における初期化処理に際して確認する復帰処理識別部と、前記復帰処理識別情報が確認された場合、前記不揮発性記憶媒体に格納された前記格納先情報に基づいて前記動作状態情報を読み出す動作状態復元部とを含むことを特徴とする。
また、本発明の他の態様は、主記憶装置への通電を継続しながら演算装置への通電を停止した省電力状態への遷移を制御する省電力制御方法であって、前記省電力状態への遷移に際して、前記演算装置の動作状態を示す動作状態情報を前記主記憶装置へ格納し、前記主記憶装置において前記動作状態を示す情報が格納された記憶領域を示す格納先情報を不揮発性記憶媒体に格納し、前記動作状態情報及び前記格納先情報の格納処理の後に前記演算装置への通電を停止させ、前記省電力状態からの復帰要因を検知する副演算装置によって設定された復帰処理識別情報を、前記演算装置への電源投入後における初期化処理に際して確認し、前記復帰処理識別情報が確認された場合、前記不揮発性記憶媒体に格納された前記格納先情報に基づいて前記動作状態情報を読み出すことを特徴とする。
また、本発明の更に他の態様は、主記憶装置への通電を継続しながら演算装置への通電を停止した省電力状態への遷移を制御する省電力制御プログラムであって、前記省電力状態への遷移に際して、前記演算装置の動作状態を示す動作状態情報を前記主記憶装置へ格納するステップと、前記主記憶装置において前記動作状態を示す情報が格納された記憶領域を示す格納先情報を不揮発性記憶媒体に格納するステップと、前記動作状態情報及び前記格納先情報の格納処理の後に前記演算装置への通電を停止させるステップと、前記省電力状態からの復帰要因を検知する副演算装置によって設定された復帰処理識別情報を、前記演算装置への電源投入後における初期化処理に際して確認するステップと、前記復帰処理識別情報が確認された場合、前記不揮発性記憶媒体に格納された前記格納先情報に基づいて前記動作状態情報を読み出すステップとを情報処理装置に実行させることを特徴とする。
本発明によれば、主記憶装置への通電を維持しつつ演算装置への通電を停止する省電力制御を、特定のアーキテクチャに限らず実現することが可能となる。
本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。 本発明の実施形態に係るソフトウェア構成を示す図である。 本発明の実施形態に係るサスペンドモードへの復帰動作を示すシーケンス図である。 本発明の実施形態に係る記憶媒体に格納された情報を示す図である。 本発明の実施形態に係るサスペンドモードからの復帰動作を示すシーケンス図である。 本発明の実施形態に係るサスペンドモードからの復帰動作を示すシーケンス図である。 本発明の実施形態に係るCPUコンテキストの保存、復元処理を示すフローチャートである。 本発明の実施形態に係るタイマ処理を示すフローチャートである。 本発明の他の実施形態に係るフック関数のキューの概念を示す図である。 本発明の他の実施形態に係るフック関数の起動順序の変更動作を示すフローチャートである。 本発明の他の実施形態に係る起動優先度テーブルの例を示す図である。 本発明の他の実施形態に係る比較対象キューの取り出し動作の例を示すフローチャートである。 本発明の他の実施形態に係るフック関数のキューの概念を示す図である。 本発明の他の実施形態に係る比較対象キューの挿入動作の例を示すフローチャートである。 本発明の他の実施形態に係るフック関数のキューの概念を示す図である。
実施の形態1.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、ファクシミリ等の複数の機能が搭載された複合機(MFP:Multi Function Peripheral)を、情報処理装置の例として説明する。
図1は、本実施形態に係る複合機1のハードウェア構成を示すブロック図である。図1に示すように、本実施形態に係る複合機1は、メインシステム10及びサブシステム20を含み、両者の間は所定のインタフェースによって接続されている。
メインシステム10は複合機1全体の動作を制御するコントローラとしてのシステムであり、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、ROM(Read Only Memory)13、RTC(Real Time Clock)14、NVRAM(Non−Volatile RAM)15及びI/F16がバス17を介して接続されている。
また、サブシステム20は、複合機1が有する機能を実現するエンジンとしてのシステムであり、CPU21、RAM22、ROM23、I/F24及びエンジン25がバス26を介して接続されている。更に、サブシステム20は、メインシステム10に含まれるCPU11への通電を停止して省電力状態に遷移させる機能及びメインシステム10側のCPU11への通電が停止されている状態において、復帰要因を検知する機能を有する。
CPU11、21は演算手段であり、夫々メインシステム10、サブシステム20の動作を制御する。ここで、CPU21は、上述したように、CPU11への通電が停止された省電力状態において復帰要因を検知する機能をも担う。そのため、CPU21は、CPU11よりも消費電力の低いものが用いられる。
RAM12、22は情報の高速な読み書きが可能な揮発性の記憶媒体であり、夫々CPU11、21が情報を処理する際の作業領域として用いられる。ROM13、23は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
また、ROM13、23には、夫々CPU11、21が電源投入後にアクセスすることが予め定められたブートベクタが確保されており、ブートベクタ内にはCPU11、21の電源投入時における初期化処理を行うためのプログラムであるブートローダが格納されている。これにより、CPU11、21に電源が投入された際には、必ずブートローダが起動する。
RTC14は実際の日時を計時するタイマである。NVRAM15は、情報の読み書きが可能な不揮発性の記憶媒体であり、装置の動作において一次的に保持しておくべき情報等が格納される。I/F16、24は、メインシステム10とサブシステム20との間で情報をやり取りするためのインタフェースであり、例えば、PCIe(Peripheral Component Interface Express)インタフェース等が用いられる。
エンジン25は、複合機1に搭載される機能を実現するための構成であり、画像を読み取るスキャナデバイス、画像形成出力を行うプロッタデバイス、公衆電話回線を介してファクシミリ通信を行うファクシミリデバイス、TCP/IP(Transmission Control Protocol/Internet Protocol)等によりネットワーク通信を行うネットワークデバイス等が含まれる。更に、エンジン25にはCPU11への電源供給を制御する機構が含まれる。
このようなハードウェア構成において、ROM13、23や図示しないHDD(Hard Disk Drive)若しくは光学ディスク等の記録媒体に格納されたプログラムがRAM12、22に読み出され、CPU11、21がそれらのプログラムに従って演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る複合機1の機能を実現する機能ブロックが構成される。
次に、図2を参照して、本実施形態に係る複合機1のメインシステム10におけるソフトウェア構成について説明する。図2に示すように、本実施形態に係るメインシステム10のソフトウェア100は、複数のアプリケーションと、プラットフォームとによって構成される。
アプリケーションとしては、コピーアプリ131、プリンタアプリ132、スキャナアプリ133、ファクシミリアプリ134及びネットワークファイルアプリ135が含まれる。コピーアプリ131は、複合機1をコピー機として動作させるためのアプリケーションである。プリンタアプリ132は、複合機1をプリンタとして動作させるためのアプリケーションである。スキャナアプリ133は、複合機1をスキャナとして動作させるためのアプリケーションである。
ファクシミリアプリ134は、複合機1をファクシミリとして動作させるためのアプリケーションである。ネットワークアプリ135は、HTML(HyperText Markup Language)文書等を配信するためのWebサーバソフト、HTML文書等を閲覧するためのWebブラウザ等を含み、複合機1をネットワークサーバやネットワーククライアントとして動作させるためのアプリケーションである。
ソフトウェア100における上記のアプリケーション以外のモジュールは、アプリケーションからハードウェアへの処理要求に関する情報処理を実行するためのプラットフォームである。アプリケーションからの処理要求の受信には、予め定義されている関数により処理要求を受信するAPI(Application Programming Interface)122が用いられる。
プラットフォームには、SCS(System Control Service)121等の諸々のコントロールサービスを含むSRM(System Resource Manager)120と、OS(Operating System)110が含まれる。
SCS121等のコントロールサービスは、アプリケーションからハードウェアへの処理要求を解釈し、解釈結果に応じてハードウェアの獲得要求を生成する。SCS121のプロセスは、省電力状態への遷移等、システムの管理に関する制御を行う。
SRM120は、ハードウェアの獲得要求を調停して、調停結果に応じてハードウェアへの処理要求を実現するための制御を行う。具体的に言うと、SRM120のプロセスは、獲得要求に係るハードウェアが利用可能か否か(他の獲得要求と競合しないか否か)を判定して、利用可能である場合にはその旨をコントロールサービスであるSCS121に通知する。さらには、獲得要求に係るハードウェアの利用スケジュールを作成して、作成結果に応じてハードウェアへの処理要求を実現するための制御を行う。
OS110は、上記の調停結果に応じてハードウェアを管理する。OS110は、図2に示すようにファイルシステム111、タイマ処理モジュール112、システムコールモジュール113及びドライバ114を含む。ファイルシステム111は、複合機1においてファイルを管理するための機能を提供する。タイマ処理モジュール112は、登録されたタイマ処理を実行するモジュールである。システムコールモジュール113は、OS110において、省電力制御を行うモジュールである。
ドライバ114は、ハードウェアを駆動するためのソフトウェア・モジュールである。本実施形態に係るドライバ114は、夫々のハードウェアに対応するレジスタ値等のコンテキストをRAM12に格納するためのフック関数を含む。図2においては、図示の容易化のためにドライバ114を一のブロックで示しているが、複数のハードウェア・デバイス夫々に対応してドライバが設けられる。
このような構成において、本実施形態に係る要旨は、メインシステム10のRAM12への通電を継続したままCPU11への通電を停止した省電力状態(以降、「サスペンドモード」とする)を実現することにある。以下、本実施形態の要旨に係る動作について説明する。
図3は、本実施形態に係る複合機1において、通常の状態からサスペンドモードに遷移する際の動作を示すシーケンス図である。図3に示すように、サスペンドモードへの遷移に際しては、先ずSCS121がアプリケーションの要求やユーザの操作に基づく要求に応じてOS110のシステムコールモジュール113を呼び出す(S301)。
OS110においては、システムコールモジュール113が、起動するとまずドライバ114を介してRTC14から現在時刻を取得する(S302)。即ち、S302においては、システムコールモジュール113が、サスペンドモードに遷移する前の現在時刻を取得して記憶する遷移前時刻処理部として機能する。尚、取得された時刻の情報は、RAM12やNVRAM15に保存される。時刻を取得したシステムコールモジュール113は、ドライバ114に組み込まれた所定のフック関数を起動する(S303)。ドライバ114においては、S303において起動されたフック関数の処理により、レジスタ値等のコンテキスト(以降、「ドライバコンテキスト」とする)がRAM12に保存される(S304)。
上記ドライバコンテキストは、ドライバ114によって制御される各種のデバイスの動作状態を示すデバイス動作状態情報である。即ち、S304においては、上記フック関数によって実現されるドライバ114のモジュールが、デバイス動作状態情報処理部として機能する。
S304において保存されるコンテキストとは、夫々のドライバが動作するために参照する引数であり、代表的なものは上述したようなレジスタ値である。尚、図2において説明したように、ドライバ114は複数のハードウェア・デバイス夫々に対応して設けられるため、S304の処理は、夫々のドライバ毎に実行される。
ドライバ114は、フック関数によるコンテキストの格納が完了すると、フック関数の完了をOS110のシステムコールモジュール113に通知する(S305)。フック関数完了の通知を受けたシステムコールモジュール113は、キャッシュフラッシュを行い(S306)、CPU11の動作に係るコンテキスト(以降、「CPUコンテキスト」とする)をRAM12に保存する(S307)。
CPUコンテキストとしては、CPU11のレジスタ値や、TLB(Translation Lookaside Buffer)等、CPU11の動作状態を示す動作状態情報である。即ち、S307において、システムコールモジュール113が動作状態情報をRAM12に格納する動作状態情報処理部として機能する。
更に、CPUコンテキストには、CPUコンテキストを保存するための処理、即ち関数からの戻りアドレスが含まれる。この戻りアドレスとは、システムコールモジュール113に含まれる処理のうち、CPUコンテキストを保存するための処理を完了した後に実行する処理を記述するためのプログラムがRAM12状において格納されているアドレスである。この戻りアドレスは、S307の処理を実行するための関数が呼び出された際に、CPU11のレジスタに保存され、レジスタ値としてCPUコンテキストに含まれる。
システムコールモジュール113は、S307の処理から連続する処理として、S307においてRAM12に格納されたCPUコンテキストの、RAM12における格納場所を示すアドレスと、CPUコンテキストを復帰させる処理へのアドレスをNVRAM15に格納する(S308)。即ち、S308において、システムコールモジュール113が、動作状態情報の格納先を示す格納先情報をNVRAM15に格納する格納先情報処理部として機能する。
更に、システムコールモジュール113は、S307から連続する処理として、S308を完了した後、I/F16を介して、サブシステム20にCPU11の電源オフの要求を行う(S309)。即ち、S309において、システムコールモジュール113が、演算装置であるCPU11への通電を停止させる通電停止制御部として機能する。これにより、サブシステム20において、CPU21がRAM22にロードされたプログラムに従って演算を行うことによりエンジン25を制御し、メインシステム10のCPU11への通電が停止されてサスペンドモードに遷移する。
上述したようにS307からS309の処理は、連続する処理として、例えば一の関数や、処理上で関連付けられている関数によって実行され、装置はサスペンドモードに遷移する。従って、上述した戻りアドレスは、サスペンドモードから復帰した後に参照されるアドレスとなる。
このような処理によりサスペンドモードに遷移した状態においても、RAM12への通電は継続されているため、RAM12に記憶された情報は維持されている。また、NVRAM15は不揮発性の記憶媒体であるため、記憶された情報は当然維持されている。サスペンドモードにおいてRAM12及びNVRAM15に記憶されている情報について、図4(a)、(b)に示す。
図4(a)は、サスペンドモードにおいてRAM12に格納されている情報を示す図である。図4(a)に示すように、サスペンドモードにおけるRAM12には、CPU11を動作させるためにロードされた各種のプログラムと、S304において格納されたドライバコンテキストと、S307において格納されたCPUコンテキストとが格納されている。
図4(b)は、サスペンドモードにおいてNVRAM15に格納されている情報を示す図である。図4(b)に示すように、サスペンドモードにおけるNVRAM15には、S308において格納されたCPUコンテキストの格納アドレスと、CPUコンテキストの復帰処理のアドレスとが格納されている。
図4(b)に示すCPUコンテキスト格納アドレスとは、図4(a)に示すCPUコンテキストのRAM12におけるアドレスである。また、CPUコンテキスト復帰処理アドレスとは、RAM12に格納された各種プログラムのうち、OSのシステムコールモジュール113におけるサスペンドモードからの復帰処理が記述されたプログラムコードが格納されているアドレスである。
次に、サスペンドモードからの復帰処理について、図5を参照して説明する。図5は、サブシステム20によって電源投入処理が実行された後、CPU11による演算処理がOS110のシステムコールモジュール113に移るまでの動作を示すシーケンス図である。
図5に示すように、サブシステム20は、サスペンドモードからの復帰要因を検知すると(S501)、I/F24の所定のポートに対してサスペンドモードからの復帰を示す値(以降、「復帰処理フラグ」とする)を書き込む。この復帰処理フラグが、復帰要因の検知によって設定される復帰処理識別情報として用いられる。S501においては、副演算装置であるCPU21が所定のプログラムに従って動作することにより構成されるソフトウェア・モジュールが、復帰要因検知部として機能する。
これにより、I/F24を介してI/F16のポートにも復帰処理フラグが設定される(S502)。復帰処理フラグを設定した後、サブシステム20は、エンジン25を制御してCPU11への電源供給を再開する(S503)。即ち、S502、S503においては、副演算装置であるCPU21が所定のプログラムに従って動作することにより構成されるソフトウェア・モジュールが、電源投入処理部として機能する。
サブシステム20の機能によって電源が投入されたCPU11は、まずブートベクタからブートローダを読み出してRAM12にロードする(S504).これにより、ブートローダが起動する(S505)。ブートローダが起動すると、ブートローダとして動作するCPU11は、まずI/F16における復帰処理フラグのポートを確認し(S506)、サスペンドモードからの復帰処理であることを認識する。即ち、S506においては、ブートローダとして動作するCPU11が、復帰処理識別部として機能する。
サスペンドモードからの復帰処理であることを認識したCPU11は、動作するための最低限の初期化処理を実行し(S507)、NVRAM15に格納されている情報のうち、図4(b)において説明した“CPUコンテキスト復帰処理アドレス”を確認する(S508)。そして、確認したアドレスにジャンプすることにより(S509)、システムコールモジュール113による動作に移る。
図6は、サスペンドモードからの復帰処理におけるシステムコールモジュール113の処理開始後の動作を示すシーケンス図である。図6に示すように、OS110のシステムコールモジュール113は、ブートローダからのアドレスジャンプにより動作を開始すると、NVRAM15に格納されている情報のうち、図4(b)において説明した“CPUコンテキスト格納アドレス”を確認し(S601)、確認したアドレスに基づいてRAM12にアクセスすることによりCPUコンテキストを復元する(S602)。
即ち、S602においては、システムコールモジュール113が、動作状態復元部として機能する。また、図5のS508において参照された“CPUコンテキスト復帰処理アドレス”が、CPU11を動作状態復元部として機能させるための、システムコールモジュール113のプログラムコードが格納された記憶領域を示す動作状態復元部指定情報として用いられる。
ここで、図3のS307におけるCPUコンテキスト保存の処理及び図6のS602におけるCPUコンテキスト復元の処理の概念について図7に示す。図7は、CPUコンテキストの保存及び復元についての動作を示すフローチャートである。図7に示すように、S307〜S309の処理を実行するための関数が呼び出されると(S701)、CPU11は、戻りアドレスをレジスタに保存する(S702)。
その後、S307の処理によりCPUコンテキストが保存され(S703)、S309の処理によりサスペンドモードへの遷移が完了する(S704)。復帰要因によりサスペンドモードから復帰して(S705)、図5のS501〜S509の処理が実行された後、図6のS601、S602の処理によりCPUコンテキストが復元される(S706)。これにより、CPU11の制御状態が、サスペンドモードに遷移する以前の制御状態に復元される。
S706の処理によって復元されたCPUコンテキストにはレジスタ値も含まれ、そのレジスタ値には上述した戻りアドレスも含まれる。これにより、CPU11は、レジスタ値によって以降の処理の戻りアドレスを確認する(S707)
図7に示したように、CPUコンテキストの復元によって戻りアドレスが確認されると、CPU11は、戻りアドレス以降に格納されているプログラムコードに従って処理を実行する。この戻りアドレスは、システムコールモジュール113における関数からの戻りアドレスであり、以降もOS110のシステムコールモジュール113の処理が実行される。
戻りアドレス以降の処理として、OS110のシステムコールモジュール113はドライバ114に組み込まれた所定のフック関数を起動する(S603)。ドライバ114においては、S603において起動されたフック関数の処理により、レジスタ値等のドライバコンテキストをRAM12から読み出して復元する(S604)。
これにより、ドライバを介して制御される各ハードウェアの制御状態が、サスペンドモードに遷移する以前の状態に復元される。即ち、S604においては、上記フック関数によって実現されるドライバ114のモジュール、即ち、フック関数に従って処理を行うCPU110が、デバイス動作状態復元部として機能する。換言すると、フックス関数は、演算装置であるCPU110を、デバイス動作状態復元部として機能させるためのデバイス動作状態復元処理情報である。また、上記戻りアドレスが、CPU11を上記デバイス動作状態復元部として機能させるためのプログラムコードの記憶領域を示すデバイス動作状態復元部指定情報として用いられる。
ドライバ114は、フック関数によるコンテキストの復元が完了すると、フック関数の完了をOS110のシステムコールモジュール113に通知する(S605)。フック関数完了の通知を受けたシステムコールモジュール113は、ドライバ114を介してRTC14から現在時刻を取得する(S606)。
S606において現在時刻を取得したシステムコールモジュール113は、図3のS302において格納した時刻から現在時刻を差し引いて、サスペンドモード中に経過した時間(以降、「STR移行中期間とする」)を算出すると、経過時間をOS110のモノトニックタイマ(単純増分タイマ)に加算し、タイマ処理モジュール112を起動する(S607)。これにより、サスペンドモード中にタイムアウトとなってしまうタイマ処理を起動させることができる。即ち、S606、S607においては、システムコールモジュール113が、復帰後時刻処理部として機能する。
ここで、図8を参照して、S607の処理の詳細について説明する。図8に示すように、システムコールモジュール113は、上述したSTR移行中期間を算出すると(S801)、タイマ処理モジュール112に設定されている全てのタイマ処理について判断が完了したか否かを判断する(S802)。
S802の判断の結果、完了していなければ(S802/NO)、システムコールモジュール113は、タイマ処理モジュール112からタイマ処理を1つ取得し(S803)、タイマのカウント値にSTR以降中期間を加算する(S804)。S804の結果、タイマの発火時間が経過した場合(S805/YES)、システムコールモジュール113は、タイマ処理モジュール112にタイマ処理を実行させて(S806)、S802からの処理を繰り返す。
他方、発火時間が経過していなければ(S805/NO)、システムコールモジュール113は、S802からの処理を繰り返す。このような処理を繰り返すことにより、全タイマ処理についてS803以降の処理が完了したら(S802/YES)、処理を終了する。このような処理により、サスペンドモード中に発火時間が経過してしまったタイマ処理が漏れることなく実行される。
S608までの処理が完了すると、システムコールモジュール113は、SCS121に対してシステムコールの完了を通知する(S608)。これにより、図3のS301において開始されたシステムコールの処理が完了し、複合機1は、サスペンドモードへの遷移を開始する前の状態に完全に復帰する。
本実施形態においては、装置全体の動作を制御するメインシステム10側のCPU11への通電が停止されている間、各機能の動作を制御するサブシステム20側のCPU21が復帰要因を検知して、サスペンドモードからの復帰動作が開始される。しかしながら、CPU11は通電が開始されると、ブートローダに従って予め定められた処理が実行されるため、サスペンドモードへの遷移前と遷移後とで処理状態の連続性を保つことが難しい。
これに対して、本実施形態に係るサブシステム20は、CPU11への通電を再開する際に、I/F24の所定のポートにサスペンドモードからの復帰処理であることを示すフラグを設定する。そして、CPU11のブートローダによる処理として、サブシステム20との間で情報をやり取りするI/F16のポートを確認する処理が含まれる。このため、CPU11は、通電が開始されてブートローダによる処理を実行する際、サスペンドモードからの復帰処理であることを認識することができ、それに応じた処理を実行することが可能となる。
また、本実施形態に係る複合機1のシステムコールモジュール113の機能により、サスペンドモードへの遷移前には、CPUコンテキストがRAM12に保存されると共に、RAM12におけるCPUコンテキストの保存アドレス及びCPUコンテキストの復元処理が記述されたプログラムコードのアドレスがNVRAM15に保存される。
そして、サスペンドモードからの復帰処理であることが認識された以降のブートローダの処理において、上述した復元処理が記述されたプログラムコードのアドレスへのジャンプが行われ、その結果CPUコンテキストの復帰処理が実行される。このような処理により、サスペンドモードへの遷移前と遷移後とで処理状態の連続性を保つことが可能となる。
尚、CPUコンテキストにはTLBが含まれるため、CPUコンテキストが復元されるまでは、CPU11はサスペンドモードへの遷移前と同一の条件でRAM12にアクセスすることができない。本実施形態においては、CPUコンテキストの格納アドレスをNVRAM15に格納することにより、上記課題を解決している。
更に、上述したCPUコンテキストのRAM12への保存処理が開始される際、この処理を実現するための関数からの戻りアドレスがレジスタ値に格納され、CPUコンテキストとして格納される。そのため、CPUコンテキストが復元されると、この戻りアドレス以降のプログラムコードに従った処理が実行される。この処理により、より正確にサスペンドモードへの遷移前と遷移後とで処理状態の連続性を保つことが可能となる。
以上説明したように、本実施形態に係る省電力制御を用いることにより、主記憶装置であるRAM12への通電を維持しつつ演算装置であるCPU11への通電を停止する省電力制御を、特定のアーキテクチャに限らず実現することが可能となる
図1に示すようなメインシステム10とサブシステム20とが分かれているような構成は、スキャナ、プリンタ、複写機等の複数の画像処理機能を有する複合機であれば、一般的な構成である。従って、本実施形態に係る省電力制御方法を複合機に適用することは、大きな設計変更を伴うことなく可能であり、容易に実現することができる。この他、図1に示すようなメインシステム10とサブシステム20を有する情報処理装置であれば、複合機に限らず本実施形態を適用することが可能であり、上述したような効果を得ることが可能である。
実施の形態2.
実施の形態1においては、図3のS303において夫々のハードウェアに対応したドライバ114に組み込まれているフック関数が起動されてドライバコンテキストが保存され、図6のS602においてCPUコンテキストが復元され、戻りアドレスに処理が移った後に、フック関数が起動されてドライバコンテキストが復元される態様について説明した。
ここで、実施の形態1における戻りアドレス以降の処理であるフック関数によるドライバコンテキストの復元に際しては、復元の順序を考慮する必要がある。例えば、PCIeインタフェースに接続されているデバイスのドライバコンテキストの復元に際しては、PCIeインタフェースが正しい設定内容で動作していることが前提となるため、PCIeインタフェースの状態復元の後に行う必要がある。仮に逆の順序で復元を実行した場合、バスロックが発生して装置が不正に停止してしまう可能性もある。本実施形態においては、このような弊害を回避するため、フック関数の起動順序を調整する態様について説明する。
図9は、フック関数の動作順序を示すキューの概念を示す図である。図9に示すようなキューのエントリの情報は、システムコールモジュール113の制御に従ってRAM12において確保された記憶領域に格納される。CPU110は、図6のS603において、図9に示すようなキューのエントリの順序に従ってフック関数を動作させる。
図9に示すようにフック関数のキューのエントリは、“関数のアドレス”、“引数のアドレス”、“識別子”、“次のフック関数のアドレス”及び“前のフック関数のアドレス”の情報を含む。“関数のアドレス”は、そのエントリに係るフック関数のRAM12上のアドレスを示す。“引数のアドレス”は、そのフック関数に渡すべき引数が格納されているRAM12状のアドレスを示す。
“識別子”は、そのエントリに係るフック関数がどのデバイスのドライバに含まれるフック関数であるかを示す情報である。本実施形態においては、この“識別子”に基づいてフック関数の起動順が判断される。“次のフック関数”は、そのエントリに係るフック関数の直後に起動されるべきとして配置されているフック関数のアドレスを示す。“前のフック関数”は、そのエントリに係るフック関数の直前に起動されるべきとして配置されているフック関数のアドレスを示す。
ここで、本実施形態に係るCPU110は、システムコールモジュール113に従って図3のS303においてフック関数を起動する際、図9に示すキューのエントリ及びデバイスの起動優先度を示す情報に基づいて、キューの順序、即ちフック関数の起動順序を変更する。図10は、本実施形態に係るフック関数の起動順序の変更動作を示すフローチャートである。
図10に示すように、CPU110は、判断対象とするキューのエントリを現在のキューの順序に従って選択すると共に(S1001)、そのエントリとの間で順番を比較する比較対象のキューのエントリを同じく順序に従って選択する(S1002)。2つのエントリを選択すると、CPU10は、夫々の“識別子”を参照し、夫々の“識別子”が同一であれば(S1003/NO)、それは同一のフック関数であるため、起動順を判断する必要がなく、次の処理に進む。
他方、S1003の判断において“識別子”が異なる場合(S1003/YES)、次にCPU110は、両者の順序の入れ替えが必要であるか否かを判断する(S1004)。S1004において、CPU110は、図11に示すように、夫々のフック関数の元であるドライバ114が対応するデバイスの識別子と、その起動優先順位とが関連付けられた情報(以降、「起動優先度テーブル」とする)を参照し、判断対象及び比較対象のエントリに係る“識別子”に基づいて両者の順序の入れ替え要否を判断する。図11に示す起動優先度テーブルは、例えば、システムコールモジュール113を構成する情報の一部として含まれている。この他、システムコールモジュール113が参照可能な情報として図示しないHDD等の補助記憶装置に格納されていても良い。
S1004において、入れ替え不要であると判断した場合(S1004/NO)、CPU110は、S1003において識別子が同一であった場合と同様に、次の処理に進む。他方、入れ替えが必要であると判断した場合(S1004/YES)、CPU110は、比較対象として選択しているエントリをキューの並び順の中から取り出し(S1005)、判断対象として選択しているエントリの直前の順序に挿入する(S1006)ことにより、キューの順序を入れ替える。S1005及びS1006の処理の詳細は後述する。
S1006の処理を完了すると、CPU110は、判断対象として選択しているエントリの順番をリセットし、再度キューの先頭のエントリを判断対象としてS1001からの処理を繰り返す(S1007)。
S1003において識別子が同一であると判断した場合や、S1004において入れ替えが不要であると判断した場合、CPU110は、選択中の比較対象のエントリが、キューの最後尾であるか否かを判断し(S1008)、最後尾でなければ(S1008/NO)、S1002に戻って次のエントリを比較対象として選択して処理を繰り返す。
選択中の比較対象のエントリがキューの最後尾であれば(S1008/YES)、CPU110は、選択中の判断対象のエントリがキューの最後尾であるか否かを判断し(S1009)、最後尾でなければ、(S1009/NO)、S1001に戻って次のエントリを判断対象として選択して処理を繰り返す。そして、選択中の判断対象のエントリがキューの最後尾であれば(S1009/YES)、フック関数のキューのエントリは、図11に示す起動優先度テーブルに従って並べられているため、処理を終了する。
次に、図10のS1005における処理の詳細について、図12を参照して説明する。尚、図12においては、図9に示す3つのエントリのうち、一番左側、即ち最も先頭のエントリが判断対象であり、真ん中、即ち2番目のエントリが比較対象である場合を例とする。
図12に示すように、CPU10は、比較対象として選択中のエントリに含まれる“前のフック関数”が“0”、即ち、比較対象として選択中のエントリがキューの先頭であるか否かを判断する(S1201)。その結果、“0”でない、即ち先頭でない場合(S1201/YES)、比較対象のエントリにおける“前のフック関数”によって指されているエントリ、即ち、比較対象の直前に配置されているエントリに含まれる“次のフック関数”の値を、比較対象のエントリに含まれる“次のフック関数”の値で上書きする(S1202)。
比較対象のエントリにおける“前のフック関数”が“0”であった場合、またはS1202の処理を完了すると、CPU110は、比較対象として選択中のエントリに含まれる“次のフック関数”が“0”、即ち、比較対象として選択中のエントリがキューの最後尾であるか否かを判断する(S1203)。その結果、“0”でない、即ち最後尾でない場合(S1203/YES)、比較対象のエントリにおける“次のフック関数”によって指されているエントリ、即ち、比較対象の直後に配置されているエントリに含まれる“前のフック関数”の値を、比較対象のエントリに含まれる“前のフック関数”の値で上書きする(S1204)。
図12に示すフローチャートの処理により、図9に示すような状態であったキューは、図13に示す状態に変更される。図13においては、判断対象のエントリを一点鎖線で示し、比較対象のエントリを破線で示している。図13に示すように、図12に示す処理によって、比較対象の前後に配置されていたエントリが接続され、比較対象のエントリが取り出された状態となる。比較対象のエントリにおける“次のフック関数”が“0”であった場合、またはS1204の処理を完了すると、CPU110は処理を終了する。
次に、図10のS1006における処理の詳細について、図14を参照して説明する。尚、図14においても、図12と同様に、図9に示す3つのエントリのうち、一番左側、即ち最も先頭のエントリが判断対象であり、真ん中、即ち2番目のエントリが比較対象である場合を例とし、図13の状態まで処理が完了したことを前提として説明する。
図14に示すように、CPU110は、比較対象のエントリにおける“次のフック関数”を、判断対象として選択中のエントリを示すように、判断対象のエントリに係るフック関数のアドレスで上書きする(S1401)。次に、CPU110は、比較対象のエントリにおける“前のフック関数”を、判断対象として選択中のエントリにおける“前のフック関数”の値で上書きする(S1402)。更に、CPU110は、判断対象判断対象のエントリにおける“前のフック関数”を、比較対象のエントリに係るフック関数のアドレスで上書きする(S1403)。
そして、CPU110は、S1402において上書きされた比較対象のエントリにおける“前のフック関数”が“0”であるか否か、即ち、比較対象のエントリが挿入された位置がキューの先頭であるか否かを判断し(S1404)、先頭であれば(S1404/NO)、比較対象のエントリが最初に処理されるようにキューの先頭アドレスを設定する(S1406)。
他方、S1404の判断において、比較対象のエントリが挿入された位置がキューの先頭ではない場合(S1404/YES)、CPU110は、S1402において上書きされた比較対象のエントリにおける“前のフック関数”が示すエントリの“次のフック関数”を、比較対象のエントリに係るフック関数のアドレスで上書きする(S1405)。これにより、
図13に示す状態を例とする場合、S1404の判断においては、比較対象のエントリに係る“前のフック関数”は“0”であると判断され、S1406の処理に進む。その結果、S1406の処理により、図13に示すような状態であったキューは、図15に示す状態に変更される。このような処理を繰り返すことにより、本実施形態に係るフック関数の起動順の変更が完了する。
以上説明したように、本実施形態に係る省電力制御においては、省電力状態からの復帰に際して、システムコールモジュール113として機能するCPU110が、図11に示すようなデバイスの起動優先度を示す情報に基づき、接続されている複数のデバイスが不具合なく復帰されるように、ドライバコンテキストの読出しに係るフック関数の処理順序、即ち、ドライバコンテキストの復元に際して夫々のフック関数へアクセスする順番を変更する。これにより、デバイスの起動順によって生じる不具合を回避することが可能となる。
尚、本実施形態においては、図3のS303の処理の前、即ち、省電力状態に遷移する前に、フック関数のキューのエントリを並べ替える場合を例として説明した。省電力状態に遷移する前であれば、情報処理機能を通常通り用いることが可能であり、キューのエントリの並べ替えも容易に実現可能である。
他方、キューのエントリの並べ替えが意義を発揮するのは、図6のS603、即ち、省電力状態からの復帰時である。従って、S603の処理の前にキューのエントリを並べ替えることが可能であれば、そのタイミング、即ち、S602においてCPUコンテキストが復元された後にフック関数のキューのエントリを並べ替えても良い。
1 複合機
10 メインシステム
11 CPU
12 RAM
13 ROM
14 RTC
15 NVRAM
16 I/F
17 バス
20 サブシステム
21 CPU
22 RAM
23 ROM
24 I/F
25 エンジン
100 ソフトウェア
110 OS
111 ファイルシステム
112 タイマ処理モジュール
113 システムコールモジュール
114 ドライバ
120 SRM
121 SCS
122 API
131 コピーアプリ
132 プリンタアプリ
133 スキャナアプリ
134 ファクシミリアプリ
135 ネットワークアプリ
特表2003−519830号公報 特開2003−248580号公報

Claims (10)

  1. 主記憶装置への通電を継続しながら演算装置への通電を停止した省電力状態への遷移が可能な情報処理装置であって、
    前記省電力状態への遷移に際して、前記演算装置の動作状態を示す動作状態情報を前記主記憶装置へ格納する動作状態情報処理部と、
    前記主記憶装置において前記動作状態を示す情報が格納された記憶領域を示す格納先情報を前記主記憶装置とは異なる記憶媒体に格納する格納先情報処理部と、
    前記動作状態情報及び前記格納先情報の格納処理の後に前記演算装置への通電を停止させる通電停止制御部と、
    前記省電力状態からの復帰要因を検知する副演算装置によって設定された復帰処理識別情報を、前記演算装置への電源投入後における初期化処理に際して確認する復帰処理識別部と、
    前記復帰処理識別情報が確認された場合、前記主記憶装置とは異なる記憶媒体に格納された前記格納先情報に基づいて前記動作状態情報を読み出す動作状態復元部とを含むことを特徴とする情報処理装置。
  2. 前記格納先情報処理部は、前記格納先情報と共に、前記演算装置を前記動作状態復元部として機能させるための情報が前記主記憶装置において格納された記憶領域を示す動作状態復元部指定情報を前記主記憶装置とは異なる記憶媒体に格納し、
    前記復帰処理識別情報が確認された場合、前記演算装置が前記動作状態復元部指定情報に基づいて前記主記憶装置にアクセスすることにより、前記動作状態復元部として機能することを特徴とする請求項1に記載の情報処理装置。
  3. 前記省電力状態への遷移に際して、前記演算装置によって制御されるデバイスの動作状態を示すデバイス動作状態情報を前記主記憶装置へ格納するデバイス動作状態情報処理部と、
    前記動作状態情報が読み出されて復元された後、前記デバイス動作状態情報を読み出すデバイス動作状態復元部とを含むことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記動作状態情報処理部は、前記動作状態情報の格納に際して、前記演算装置を前記デバイス動作状態復元部として機能させるための情報が格納されたアドレスを示すデバイス動作状態復元部指定情報を、前記演算装置内の記憶領域に保存し、
    前記動作状態情報は、前記アドレスを示す情報を含み、
    前記動作状態情報が読み出されて復元された後、前記演算装置が前記演算装置内の記憶領域に保存された前記デバイス動作状態復元部指定情報に基づいて前記主記憶装置にアクセスすることにより、前記デバイス動作状態復元部として機能することを特徴とする請求項3に記載の情報処理装置。
  5. 前記演算装置を前記デバイス動作状態復元部として機能させるための情報であるデバイス動作状態復元処理情報は、複数の前記デバイスに応じて複数用意されており、
    前記動作状態情報処理部は、前記演算装置が複数の前記デバイス動作状態復元処理情報にアクセスする順番を、前記デバイスの動作状態を復元する際の複数の前記デバイスの優先順位を示す情報に基づいて変更することを特徴とする請求項4に記載の情報処理装置。
  6. 前記復帰処理識別部は、前記演算装置と前記副演算装置とが情報をやり取りするためのインタフェースに含まれるポートに設定された前記復帰処理識別情報を確認することを特徴とする請求項1乃至5いずれか1項に記載の情報処理装置。
  7. 前記省電力状態への遷移に際して、現在時刻を取得して記憶媒体に格納する遷移前時刻処理部と、
    前記動作状態情報が読み出されて復元された後の現在時刻を取得して、前記遷移前時刻処理部によって格納された時刻からの経過時間を計算し、タイマ処理に反映させる復帰後時刻処理部とを含むことを特徴とする請求項1乃至6いずれか1項に記載の情報処理装置。
  8. 請求項1乃至7のいずれか1項に記載の情報処理装置を主構成として含むと共に、前記省電力状態からの復帰要因を検知する副演算装置によって制御される情報処理装置を副構成として含む情報処理装置であって、
    前記副構成が、
    前記省電力状態からの復帰要因を検知する復帰要因検知部と、
    前記復帰要因が検知された場合に、前記復帰処理識別情報を設定した上で前記演算装置への電源投入処理を行う電源投入処理部とを含むことを特徴とする情報処理装置。
  9. 主記憶装置への通電を継続しながら演算装置への通電を停止した省電力状態への遷移を制御する省電力制御方法であって、
    前記省電力状態への遷移に際して、前記演算装置の動作状態を示す動作状態情報を前記主記憶装置へ格納し、
    前記主記憶装置において前記動作状態を示す情報が格納された記憶領域を示す格納先情報を主記憶装置とは異なる記憶媒体に格納し、
    前記動作状態情報及び前記格納先情報の格納処理の後に前記演算装置への通電を停止させ、
    前記省電力状態からの復帰要因を検知する副演算装置によって設定された復帰処理識別情報を、前記演算装置への電源投入後における初期化処理に際して確認し、
    前記復帰処理識別情報が確認された場合、前記主記憶装置とは異なる記憶媒体に格納された前記格納先情報に基づいて前記動作状態情報を読み出すことを特徴とする省電力制御方法。
  10. 主記憶装置への通電を継続しながら演算装置への通電を停止した省電力状態への遷移を制御する省電力制御プログラムであって、
    前記省電力状態への遷移に際して、前記演算装置の動作状態を示す動作状態情報を前記主記憶装置へ格納するステップと、
    前記主記憶装置において前記動作状態を示す情報が格納された記憶領域を示す格納先情報を主記憶装置とは異なる記憶媒体に格納するステップと、
    前記動作状態情報及び前記格納先情報の格納処理の後に前記演算装置への通電を停止させるステップと、
    前記省電力状態からの復帰要因を検知する副演算装置によって設定された復帰処理識別情報を、前記演算装置への電源投入後における初期化処理に際して確認するステップと、
    前記復帰処理識別情報が確認された場合、前記主記憶装置とは異なる記憶媒体に格納された前記格納先情報に基づいて前記動作状態情報を読み出すステップとを情報処理装置に実行させることを特徴とする省電力制御プログラム。
JP2012167505A 2012-01-26 2012-07-27 情報処理装置、省電力制御方法、省電力制御プログラム Active JP6007642B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012167505A JP6007642B2 (ja) 2012-01-26 2012-07-27 情報処理装置、省電力制御方法、省電力制御プログラム
US13/744,783 US9310877B2 (en) 2012-01-26 2013-01-18 Apparatus and power-saving method for controlling a return to a normal power mode
CN201310027399.8A CN103294163B (zh) 2012-01-26 2013-01-24 信息处理装置、信息处理系统和节能控制方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012014176 2012-01-26
JP2012014176 2012-01-26
JP2012167505A JP6007642B2 (ja) 2012-01-26 2012-07-27 情報処理装置、省電力制御方法、省電力制御プログラム

Publications (2)

Publication Number Publication Date
JP2013175150A true JP2013175150A (ja) 2013-09-05
JP6007642B2 JP6007642B2 (ja) 2016-10-12

Family

ID=48871386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012167505A Active JP6007642B2 (ja) 2012-01-26 2012-07-27 情報処理装置、省電力制御方法、省電力制御プログラム

Country Status (3)

Country Link
US (1) US9310877B2 (ja)
JP (1) JP6007642B2 (ja)
CN (1) CN103294163B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11627230B2 (en) 2021-08-20 2023-04-11 Fujifilm Business Innovation Corp. Information processing apparatus, information processing method, and non-transitory computer readable medium

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104786676B (zh) * 2014-01-21 2017-04-05 北大方正集团有限公司 喷墨打印头电源时序控制装置
CN105812605B (zh) * 2015-01-21 2020-05-01 佳能株式会社 信息处理装置及信息处理装置的控制方法
JP2016208453A (ja) * 2015-04-28 2016-12-08 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
CN107153453A (zh) * 2016-03-04 2017-09-12 中兴通讯股份有限公司 一种Linux系统复位处理方法及装置
US10769095B2 (en) * 2016-07-20 2020-09-08 Canon Kabushiki Kaisha Image processing apparatus
US20220363277A1 (en) * 2021-05-13 2022-11-17 Dana Belgium N.V. Driveline component control and fault diagnostics

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3651758B2 (ja) * 1998-12-25 2005-05-25 株式会社リコー 省エネ復帰方法とそれを用いた記録装置
JP2006095739A (ja) * 2004-09-28 2006-04-13 Fuji Xerox Co Ltd 画像処理装置
JP2007306143A (ja) * 2006-05-09 2007-11-22 Ricoh Co Ltd 画像処理装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000101712A (ja) 1998-09-21 2000-04-07 Canon Inc 情報端末装置、電源管理方法及び記憶媒体
US6571333B1 (en) 1999-11-05 2003-05-27 Intel Corporation Initializing a memory controller by executing software in second memory to wakeup a system
US7310158B2 (en) 2000-09-01 2007-12-18 Canon Kabushiki Kaisha Communication apparatus capable of communication with other apparatuses through wireless communication, communication system having the same communication apparatus, and method for controlling the same
JP2002199461A (ja) 2000-10-17 2002-07-12 Canon Inc 無線により通信装置と接続可能な情報処理端末、その制御方法及び記憶媒体
JP2003248580A (ja) 2002-02-22 2003-09-05 Seiko Epson Corp プログラムおよび情報処理装置
JP2004258964A (ja) 2003-02-26 2004-09-16 Hitachi Ltd 計算機システムの自動運転方法及び計算機システム
JP2005094679A (ja) 2003-09-19 2005-04-07 Ricoh Co Ltd ネットワークに接続された省エネルギーモード機能を備えた画像処理装置
JP4361073B2 (ja) 2005-07-28 2009-11-11 株式会社リコー 画像処理装置とその制御方法
CN100442204C (zh) 2006-07-19 2008-12-10 北京天碁科技有限公司 片上系统芯片及其功耗控制方法
JP4830713B2 (ja) 2006-08-16 2011-12-07 富士ゼロックス株式会社 指示情報処理装置およびその制御方法
JP5448403B2 (ja) 2008-09-29 2014-03-19 キヤノン株式会社 通信装置及びその制御方法、並びにコンピュータプログラム
JP5289153B2 (ja) * 2009-04-14 2013-09-11 キヤノン株式会社 情報処理装置及びその制御方法、並びにコンピュータプログラム
JP5597104B2 (ja) * 2010-11-16 2014-10-01 キヤノン株式会社 データ転送装置及びその制御方法
JP5284401B2 (ja) * 2011-03-24 2013-09-11 株式会社東芝 動作切替装置およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3651758B2 (ja) * 1998-12-25 2005-05-25 株式会社リコー 省エネ復帰方法とそれを用いた記録装置
JP2006095739A (ja) * 2004-09-28 2006-04-13 Fuji Xerox Co Ltd 画像処理装置
JP2007306143A (ja) * 2006-05-09 2007-11-22 Ricoh Co Ltd 画像処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11627230B2 (en) 2021-08-20 2023-04-11 Fujifilm Business Innovation Corp. Information processing apparatus, information processing method, and non-transitory computer readable medium

Also Published As

Publication number Publication date
US20130198550A1 (en) 2013-08-01
US9310877B2 (en) 2016-04-12
CN103294163A (zh) 2013-09-11
JP6007642B2 (ja) 2016-10-12
CN103294163B (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
JP6007642B2 (ja) 情報処理装置、省電力制御方法、省電力制御プログラム
JP5089429B2 (ja) 情報処理装置及びその制御方法、プログラム
US9007641B2 (en) Information processing apparatus, control method, and storage medium
JP2008167224A (ja) 画像処理装置、画像処理システム、画像処理方法、および画像処理プログラム
KR102642219B1 (ko) 화상 형성 장치, 화상 형성 장치에 대한 제어 방법 및 컴퓨터 판독가능 저장 매체
US9332147B2 (en) Image forming apparatus and method of booting image forming apparatus having hibernation function
JP6164938B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP5078671B2 (ja) 情報処理装置、情報処理システム及び情報処理方法
JP2017177573A (ja) PCI(Peripheral Component Interconnect)バスに接続されたPCIデバイスを備える情報処理装置及び情報処理装置の制御方法
JP5397162B2 (ja) プリンタードライバー、及び、posプリンターの制御方法
US9411401B2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
KR101285204B1 (ko) 정보 처리장치 및 정보 처리장치의 제어방법
US20180165046A1 (en) Image processing apparatus and method to form image on sheet using page image data and object information
JP2005209014A (ja) ジョブ管理装置、方法、制御プログラム
JP2018078485A (ja) 情報処理装置および情報処理装置の起動方法
JP2012128705A (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP2006289734A (ja) 画像形成装置、画像形成方法および画像形成プログラム
KR102543344B1 (ko) 화상 처리장치, 그 제어방법, 및 컴퓨터 판독가능한 기억매체
JP4958723B2 (ja) 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体
JP2010074432A (ja) 画像処理装置、画像処理方法、画像処理システム
JP6551447B2 (ja) 画像形成装置および制御プログラム
JP2022122677A (ja) 情報処理装置および情報処理装置の制御方法
JP5621494B2 (ja) 文書管理装置および文書管理用プログラム
JP5747557B2 (ja) 省電力制御装置及びプログラム
JP2011239042A (ja) 画像処理装置、画像処理方法及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150618

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160715

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: 20160816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160829

R151 Written notification of patent or utility model registration

Ref document number: 6007642

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151