JP6702790B2 - 代理応答機能を有するネットワークインターフェースを備える情報処理装置 - Google Patents

代理応答機能を有するネットワークインターフェースを備える情報処理装置 Download PDF

Info

Publication number
JP6702790B2
JP6702790B2 JP2016091613A JP2016091613A JP6702790B2 JP 6702790 B2 JP6702790 B2 JP 6702790B2 JP 2016091613 A JP2016091613 A JP 2016091613A JP 2016091613 A JP2016091613 A JP 2016091613A JP 6702790 B2 JP6702790 B2 JP 6702790B2
Authority
JP
Japan
Prior art keywords
state
power
unit
cpu
information
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.)
Expired - Fee Related
Application number
JP2016091613A
Other languages
English (en)
Other versions
JP2017196869A (ja
JP2017196869A5 (ja
Inventor
小塚 保広
保広 小塚
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016091613A priority Critical patent/JP6702790B2/ja
Priority to US15/495,630 priority patent/US20170317980A1/en
Publication of JP2017196869A publication Critical patent/JP2017196869A/ja
Publication of JP2017196869A5 publication Critical patent/JP2017196869A5/ja
Application granted granted Critical
Publication of JP6702790B2 publication Critical patent/JP6702790B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • 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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00885Power supply means, e.g. arrangements for the control of power supply to the apparatus or components thereof
    • H04N1/00888Control thereof
    • H04N1/00891Switching on or off, e.g. for saving power when not in use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Power Sources (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、代理応答機能を有するネットワークインターフェースを備える情報処理装置に関するものである。
パーソナルコンピュータやMFP(Multi Function Peripheral)等の情報処理装置は、ACPIと呼ばれる電力制御に関する規格で定められたS0ステート、S3ステート及びS5ステート等を有する。ACPIとは、Advanced Configuration and Power Interfaceの略称である。接頭辞として「S」がつくステートは、情報処理装置のシステム(コントローラ部)の電力状態を示している。S0ステートはスタンバイ状態であり、S3ステートはスタンバイ状態より省電力のスリープ状態であり、S5ステートは電源オフ状態である。S0ステートでは、情報処理装置のシステムに電力が供給されている状態である。S3ステートは、サスペンド状態とも呼ばれており、システムのCPUの状態を示す情報などがメモリに退避され、そして、CPUへの電力供給は停止される。S5ステートは、情報処理装置の各部への電力供給が停止される状態である。
従来、CPUの周辺デバイスは、システムの電力状態がS0ステートの場合にD0ステートとなり、S3ステートの場合にD0ステートより省電力のD3ステートになるのが一般的であった。具体的には、CPUとPCI Expressバスを介して接続されるネットワークインターフェース(以下、ネットワークI/F)は、情報処理装置がS0ステートの場合にD0ステートとなりS3ステートの場合にD3ステートとなっていた。D3ステートでは、周辺デバイスに供給される電力をオフにしたりクロック信号の供給を停止したりすることによって、周辺デバイスの省電力を図っている。
D3ステートとなったネットワークI/Fは、ネットワークを介して外部装置から受信したパケットに対して、電力供給が停止されているCPUに代わって応答することが可能である(特許文献1参照)。この技術を代理応答と呼ぶ。ネットワークI/Fは、ネットワークI/F内のPMCSR(Power Management Control/Status Register)と呼ばれるレジスタの値がD3ステートを示す場合に、代理応答を行う。
特開2010−283696号公報
近年の情報処理装置では、スタンバイ状態における細かな省電力を図るために、システムの電力状態がS0ステートでありながら、CPUの周辺デバイスをD3ステートにすることが可能となっている。システムの電力状態がS0ステートでありながら、CPUの周辺デバイスをD3ステートに制御する技術は、Runtime D3と呼ばれている。
上記したRuntime D3の技術を利用すると、システムの電力状態がS0ステートでありながら、ネットワークI/FがD3ステートになる場合がある。ネットワークI/FはPMCSRの値がD3ステートを示す場合に代理応答を行うので、システムの電力状態がS0ステートのときにネットワークI/Fが代理応答を行う場合がある。
代理応答は、CPUへの電力供給が停止される状態で、CPUの代理でネットワークI/Fが外部装置から送信されたパケットに対して応答を行うものである。そのため、CPUに電力が供給されているS0ステートにおいては、ネットワークI/FがD3ステートであっても、外部装置から受信したパケットに対する応答をCPUがした方が良い。
そこで、本発明では、ネットワークインターフェースがシステムの電力状態に基づいて代理応答を行うことが可能な情報処理装置を提供することを目的とする。
本発明は、外部装置と通信可能な情報処理装置であって、データ処理を行う処理手段と、外部装置とネットワークを介して通信可能であり且つ処理手段とバスを介して通信可能であって、外部装置からネットワークを介して受信した特定のデータに対する応答を処理手段を介さずに外部装置に送信する代理応答を実行し、前記通信手段の電力状態を示す情報を記憶するレジスタ及び前記レジスタに記憶された前記情報に基づいて前記通信手段の電力状態を制御する電力制御部を有する、通信手段と、を備え、前記処理手段は、前記バスを介して、前記レジスタに前記通信手段の電力状態を示す情報を書き込み、また、前記処理手段は、前記バスとは異なる通信路を介して、前記情報処理装置の電力状態を示す情報を前記通信手段に通知し、通信手段は、通知された情報処理装置の電力状態を示す情報に基づいて、代理応答を行う
本発明によれば、ネットワークインターフェースがシステムの電力状態に基づいて代理応答を行うことができる。これにより、システムの電力状態がスタンバイ状態のときに代理応答を行わず、システムの電力状態がスリープ状態のときに代理応答を行う、制御が可能となる。
MFPの全体構成を示すブロック図 電源部の詳細を示すブロック図 コントローラ部の詳細を示すブロック図 CPUとCPUに接続されるPCIデバイスとの詳細を示すブロック図 ソフトウェアブロック図 MFPの電力状態を示す図 (a)は待機応答モードのアクティブ状態を示す図、(b)は待機応答モードのローパワー状態を示す図 (a)は電源制御アプリケーションの処理を示すフローチャート、(b)はデバイスドライバの処理を示すフローチャート 代理応答機能を有効/無効に設定するフローチャート LANコントローラの動作を示したフローチャート LANコントローラの割り込み動作を示したフローチャート 第2実施形態のCPUとCPUに接続されるPCIデバイスとの詳細を示すブロック図 第3実施形態のCPUとCPUに接続されるPCIデバイスとの詳細を示すブロック図
(第1実施形態)
図1は、MFP101の概略構成を示すブロック図である。
MFP101は、ネットワーク103を介して外部装置102とデータ通信可能に接続されている。ネットワーク103は、例えば、Ethernet(登録商標)である。外部装置102は、パーソナルコンピュータであって、MFP101と通信可能に接続されている。MFP101は、コピー機能、プリント機能、スキャン機能、FAX機能などの複数の機能を実行することができる。
MFP101は、コントローラ部104、操作部105、スキャナ部106、プリンタ部107及び電源部108を備える。操作部105、スキャナ部106、プリンタ部107は、MFP101の各機能を実行する機能ユニットであり、コントローラ部104は、機能ユニットを制御する制御ユニットである。
操作部105は、ユーザが印刷部数などを入力するためのテンキー、印刷開始の実行指示を行うためのスタートキー、MFP101をスリープモードにするための節電キーなどのハードキーを有する。また、操作部105は、各種情報を表示する表示部を有する。この表示部は、タッチパネルタイプの表示部である。
スキャナ部106は、原稿の画像をスキャンして、スキャナした画像をデジタルデータに変換し、コントローラ部104に出力する。
プリンタ部107は、コントローラ部104で処理された画像データに基づいて用紙に画像を形成する。
電源部108は、電源プラグ208(図2参照)を介して入力された交流電圧を直流電圧に変換する。電源部108は、変換した直流電圧を、MFP101の各ユニットに供給する。
図2は、電源部108の詳細を示すブロック図である。
電源部108には、電源プラグ208を介して交流電圧が入力される。電源プラグ208を介して入力された交流電圧は、第1電源部205及び第2電源部206のそれぞれに供給される。第1電源部205は、例えば、交流電圧から約5.0Vの直流電圧を生成する。また、第2電源部206は、例えば、交流電圧から約24.0Vの直流電圧を生成する。
第1電源部205によって生成された直流電圧は、コントローラ部104に供給される。また、第2電源部206によって生成された直流電圧は、操作部105、スキャナ部106及びプリンタ部107に供給される。なお、第1電源部205によって生成された電力を操作部105のキー入力を検知する箇所に供給しても良い。
電源プラグ208と第1電源部205や第2電源部206との間には、メインスイッチ207が配置されている。メインスイッチ207は、ロッカースイッチであって、ユーザ操作に従ってオフ状態又はオン状態になる。このスイッチ207は、タクトスイッチだっても良い。
また、第2電源部206と操作部105との間には、リレースイッチ202が設けられる。また、第2電源部206とスキャナ部106との間には、リレースイッチ203が設けられる。また、第2電源部206とプリンタ部107との間には、リレースイッチ204が設けられる。
コントローラ部104の電源制御部201は、図示しないソレノイドを駆動することによって、メインスイッチ207をオン状態からオフ状態に動かすことができる。また、電源制御部201は、リレースイッチ202〜204を個別にオン又はオフにすることができる。
図3は、コントローラ部104の詳細を示すブロック図である。
コントローラ部104は、CPU301、プログラムメモリ302、汎用メモリ303、IOコントローラ304、操作部インターフェース305、LANコントローラ(ネットワークI/F)306、及び、電源制御部201を含む。
CPU301は、PCIeバス310を介してIOコントローラ304と通信可能に接続される。また、CPU301は、PCIeバス320を介してLANコントローラ306と通信可能に接続される。PCIeバス310及び320は、PCI Express規格に従うバスであって、IOコントローラ304及びLANコントローラ306は、PCI Express規格に対応したPCIデバイスである。
CPU301は、フラッシュメモリなどのプログラムメモリ302に格納されたプログラムを実行する。プログラムメモリ302は、MFP101を制御するプログラムや制御データを格納する。CPU301は、プログラムメモリ302からロードしたプログラムを、汎用メモリ303に展開する。汎用メモリ303は、CPU301のワークメモリとして使用される。
IOコントローラ304は、画像処理を行うプロセッサであって、スキャナ部106やプリンタ部107と通信可能に接続されている。IOコントローラ304は、スキャナ部106によって読み取られた原稿の画像に対応する画像データに対して画像処理を行う。また、IOコントローラ304は、プリンタ部107によって印刷される画像に対応する画像データの画像処理を行う。
操作部インターフェース305は、操作部105とCPU301とを接続するためのインターフェースである。操作部105のキーの操作やタッチパネルの操作に関わる情報をCPU301に送信する。また、操作部インターフェース305は、操作部105の表示部に表示するための画面データを操作部105に送信する。
LANコントローラ306は、ネットワーク103に接続される外部装置102と通信するためのネットワークインターフェースである。
電源制御部201は、MFP101の各部への電力供給を制御するロジック回路である。電源制御部201は、操作部インターフェース305を介して操作部105から入力される信号や、LANコントローラ306を介してネットワーク103から入力される信号などを検知して、MFP101を後述するスリープモードから復帰させる。なお、電源制御部201に入力される割り込み信号は、プリンタ部107によって印刷されるべき記録紙を検知するセンサからの信号、スキャナ部106によって読み取られるべき原稿を検知するセンサからの信号、人体検知センサからの信号などを含む。
図4は、CPU及びLANコントローラの詳細を示すブロック図である。
CPU301は、PCIe I/F411、CPUコア412、メモリコントローラ413、PCIe I/F414、電源制御I/F415、及び、操作部I/F416を有する。PCIe I/F411は、PCIeバス320を介してLANコントローラ307と通信するためのインターフェースである。CPUコア412は、各種の処理を実行する。CPUコアはシングルであってもマルチであっても良い。メモリコントローラ413は、汎用メモリ303へのデータの書き込み、及び、汎用メモリ303からデータの読み出しを制御する。PCIe I/F414は、PCIeバス310を介してIOコントローラ304と通信するためのインターフェースである。電源制御I/F415は、電源制御部201と通信するためのインターフェースである。操作部I/F416は、操作部105と通信するためのインターフェースである。PCIe I/F411及び414の各々は、PCI Express規格に従って、データの送受信を行う。
LANコントローラ306は、phy431、CPU432、ROM433、PCIe I/F434、RAM435、及び、電源制御部436を有する。PCIデバイスであるLANコントローラ306は、D0ステート(通常電力状態)及びD3ステート(省電力状態)に移行可能である。D0ステートは、LANコントローラ306内の全てのブロックに電力が供給されているアクティブ状態である。また、D3ステートは、LANコントローラ306内の一部のブロックへの電力供給を停止又はクロック供給を停止している状態である。なお、D3ステートにおいて、LANコントローラ306内の一部のブロックへ供給されるクロック周波数を低くしても良い。LANコントローラ306は、外部装置102から受信したデータに対応する応答をCPU301に代わって行う代理応答機能を有する。具体的に、LANコントローラ306は、外部装置102からARPパケットを受信すると、ARPパケットの応答パケット(MFPのMACアドレスを含む)を生成し、外部装置102に送信する。ARPとは、Address Resolution Protocolの略である。また、LANコントローラ306は、外部装置102からSNMPパケットを受信すると、MIBを参照して、SNMPパケットに対する応答パケット(MFP101のステータス情報を含む)を生成し、外部装置102に送信する。SNMPとは、Simple Network Management Protocolの略である。また、MIBとは、Management Information Baseの略である。
phy431は、外部装置102からデータを受信したり、外部装置102にデータを送信したりする。
CPU432は、LANコントローラ306の動作を制御する。
ROM433は、ネットワークI/Fが受信したパケットと比較するべきパターンリストを記憶する。パターンリストは、代理応答すべきパターン及び起床すべきパターンを含む。受信したデータのパケットパターンが代理応答すべきパターンに一致する場合(特定のデータを受信した場合)には、CPU432は、代理応答を行う。また、受信したデータのパケットパターンが起床すべきパターンに一致する場合には、CPU432は、電源制御部に割り込み信号を出力する。これにより、電源制御部がシステムをS3ステートからS0ステートに復帰する。
PCIe I/F434は、CPU301のPCIe I/F411と、PCIe規格に従って通信を行う。PCIe I/F434は、LANコントローラ306の電力状態を示すデバイスステータス情報を記憶するレジスタ437を有する。具体的には、デバイスステータス情報は、D0ステート及びD3ステートの何れかを示す。このレジスタ437は、PMCSR(Power Management Control/Status Register)である。
PCIe I/F434のレジスタ437の値は、CPU301がPCIeバス320を介して書き換える。
RAM(記憶部)435は、CPU432の作業領域として使用される。本実施形態のRAM435は、システムの電力状態を示すシステムステータス情報を記憶する。システムステータス情報は、MFP101のコントローラ部104の電力状態を示す情報である。具体的には、システムステータス情報は、S0ステート、S3ステート及びS5ステートの何れかを示す。なお、このシステムステータス情報は、S0ステート、S3ステート及びS5ステート以外のステート(例えば、S4ステート)を示しても良い。
電源制御部436は、PCIeI/F502のレジスタに記憶されたデバイスステータス情報に基づいて、LANコントローラ306の内部の電力制御を行う。具体的には、電源制御部436は、デバイスステータス情報がD0ステートを示す場合には、LANコントローラ306の各部に電力を供給する。また、電源制御部436は、デバイスステータス情報がD3ステートを示す場合には、PCIe I/F434への電力供給が停止される。なお、電源制御部436は、デバイスステータス情報がD3ステートを示す場合に、PCIe I/F434へのクロック供給を停止したりクロック周波数を低減したりしても良い。
図5は、MFP101のソフトウェアの構成を説明するソフトブロック図である。
MFP101の電力制御を行うソフトウェアである電源制御アプリケーションA1は、アプリ層で動作している。電源制御アプリケーションA1は、アプリ層で動作するプリント制御アプリケーションA2やスキャン制御アプリケーションA3などに対して、定期的にジョブの実行状況などを問い合わせる。そして、電源制御アプリケーションA1は、ジョブの実行状況などに基づいて、MFP101の電力モードを制御する。電源制御アプリケーションA1を実行するCPU301は、電源制御部201にアクセスして、MFP101の電力モードを変更する。そして、本実施形態では、電源制御アプリケーションA1は、デバイスドライバD1及びD2に対して、MFP101の電力モードを通知する。
IOコントローラ304の動作を制御するIOドライバD1は、デバイスドライバであって、OS層で動作している。また、LANコントローラ306の動作を制御するNICドライバD2も、デバイスドライバであって、OS層で動作している。また、プリンタ部107の動作を制御するプリンタドライバD3、及び、スキャナ部106の動作を制御するスキャナドライバD4も、OS層で動作している。
なお、ここでは、説明を省略するが、アプリ層やOS層で実行されるソフトウェアは、上記したソフトウェアだけでは無い。汎用メモリ303を制御するメモリコントローラ、操作部105の表示部の表示を制御するグラフィックドライバなど、様々なソフトが動作する。
ここで、デバイスドライバがPCIデバイスをD0ステート及びD3ステートにする手法について説明する。
まず、デバイスドライバが、PCIデバイスをD0ステートからD3ステートに移行させる手法について説明する。
1.デバイスドライバは、PCIデバイスがアイドル状態であることを検知する。
2.デバイスドライバは、アイドルタイマを起動する。
3.デバイスドライバは、PCIデバイスがアクティブ状態になると、アイドルタイマを停止する。
4.アイドルタイマは、所定時間を計時すると、デバイスドライバに通知する。
5.デバイスドライバは、PCIデバイス内のPMCSR(Power Management Control/Status Register)にD3ステートであることを書き込む。
6.PCIデバイス内の電力制御部が、PMCSRを参照して、PCIデバイス内のユニットへの電力供給を停止する、クロック供給を停止する、又は、クロック周波数を低くする。
次に、デバイスドライバが、PCIデバイスをD3ステートからD0ステートに移行させる手法について説明する。
1.デバイスドライバは、PCIデバイスがアクティブ状態であることを検知する。
2.デバイスドライバは、PCIデバイス内のPMCSRにD0ステートであることを書き込む。
3.PCIデバイス内の電力制御部が、PMCSRを参照して、PCIデバイス内のユニットへの電力供給を再開する、クロック供給を再開する、又は、クロック周波数を元に戻す。
PMCSRは、PCIデバイス内のPCIe I/Fにあり、CPU301のPCIe I/Fが、PMCSRの値を書き換える。CPU301は、PCIデバイスのステートを変更するためには、PCIデバイスのレジスタ(PMCSR)の値を書き換えるだけで良い。レジスタの値が書き替わると、PCIデバイス自身が、PCIデバイス内の電力供給やクロック制御を行う。
図6は、MFP101の電力状態を示す図である。
本実施形態のMFP101は、ACPIで定義されるS0ステート(スタンバイ状態)、S3ステート(スリープ状態)、及び、S5ステート(電源オフ状態)に移行可能である。本実施形態では、MFP101のメインCPUであるCPU301に電力が供給されている状態をS0ステートとする。また、CPU301への電力供給を停止するがメインメモリである汎用メモリ303に電力を供給する状態をS3ステートとする。また、CPU301及び汎用メモリ303などのMFP101の各部への電力供給を停止する状態をS5ステートとする。
<S0ステート>
MFP101は、コントローラ部104がスタンバイ状態となるS0ステートを持つ。S0ステートには、プリンタ部107やスキャナ部106などの機能ユニットに電力が供給されるスタンバイモードと、機能ユニットへの電力供給が停止される待機応答モードとがある。例えば、プリント処理を実行する場合には、CPU301及びプリンタ部107へ電力供給を行う必要があるが、スキャナ部106への電力供給を行う必要がない。一方で、スキャン処理を実行する場合には、CPU301及びスキャナ部106へ電力供給を行う必要があるが、プリンタ部107への電力供給を行う必要がない。さらに、外部装置102からの問い合わせに対して応答する場合には、CPU301へ電力供給を行う必要があるが、プリンタ部107及びスキャナ部106へ電力供給を行う必要がない。プリント処理を実行する場合及びスキャン処理を実行する場合、機能ユニットのいずれか1つに電力が供給されるので、MFP101は、スタンバイモードとなる。一方で、問い合わせに対して応答する場合、機能ユニットに電力が供給されるので、待機応答モードとなる。
MFP101がスタンバイモードの場合、MFP101の各部(コントローラ部104、操作部105、スキャナ部106、プリンタ部107)に電力が供給されている。また、MFPが待機応答モードの場合、MFP101のコントローラ部104には電力が供給されるが、スキャナ部106やプリンタ部107には電力が供給されない。スタンバイモードのときには、PCIデバイスは、D0ステートとなりD3ステートに移行しないが、待機応答モードのときには、PCIデバイスは、D0ステート(アクティブ)とD3ステート(ローパワー)との間を遷移する。
待機応答モード(S0)において、CPU301への電力供給を停止しない理由は、ネットワークを介した外部装置102との通信の応答性を良くするためである。近年、PC、サーバ、携帯端末などネットワークに接続される外部装置102が増加しており、それらの外部装置102との通信処理を早く行うことがMFP101でも必要になっている。トナー残量、用紙残量、用紙ジャム、エラーの発生情報、ソフトウェアプログラムのバージョン確認、バージョンアップ、新規プログラムのダウンロードなど様々な通信を行う必要があるためである。
S0ステートにおいて、PCIデバイスは、D0ステートになり、S3ステートにおいて、PCIデバイスは、D3ステートになるのが一般的である。近年、S0ステートでありながら、PCIデバイスをD3ステートに移行させるRuntime D3という技術が実現されている。そこで、本実施形態のMFP101においても、Runtime D3を実現している。具体的には、本実施形態のMFP101は、S0ステートの待機応答モードでは、Runtime D3を実行する。なお、スタンバイモードでは、Runtime D3を実行しない。
<S3ステート>
S0ステートではコントローラ部104のCPU301に電力が供給されている。省電力を図るため、MFP101は、S3ステートに移行する。S3ステートは、サスペンド状態とも呼ばれる。S3ステートでは、CPU301への電力供給を停止して、MFP101の省電力を図っている。S3ステートでは、CPU301の状態などが汎用メモリ303に退避され、この汎用メモリ303はセルフリフレッシュモードになる。S3ステートから復帰する場合には、汎用メモリ303に退避された情報を使ってレジュームすることによって、ブートロムから起動を行う場合に比べて高速復帰することができる。
S3ステートにおいて、PCIデバイスは、D3ステートとなる。
<S5ステート>
メインスイッチ207がオフ状態になると、MFP101への電力供給が停止されるS5ステートに移行する。S5ステートでは、MFP101の各部への電力供給が停止される状態であって、CPU301及び汎用メモリ303への電力供給も停止される。
次に、電力状態の遷移について詳細に説明する。
<S601:S5ステート⇒S0ステート>
電源オフモード(S5)は、MFP101の電源スイッチであるメインスイッチ207がオフされ、各ユニットへの電源供給が遮断されている状態である。メインスイッチ207がオン状態になると、スタンバイモード(S0)に移行する。スタンバイモード(S5)は、MFP101の全ユニットに電源供給される状態であって、コピー、プリントなど各種のジョブを実行している状態、あるいは、すぐにジョブを実行できる状態である。
<S602:S0ステート(スタンバイモード)⇒S0ステート(待機応答モード)>
待機応答モード(S0)は、電源部108のリレースイッチ202〜204がオフされ、スキャナ部106、プリンタ部107及び操作部105への電力供給が停止される状態である。一方で、第1電源部205は、コントローラ部104及び操作部105の一部に電力を供給する。スタンバイモード及び待機応答モードは、共にS0ステートである。
表1にスタンバイモード(S0)から待機応答モード(S0)への移行条件を示す。
Figure 0006702790

MFP101は、時間経過、操作部スイッチ押下及び時計設定の何れかの条件を満たすと、スタンバイモード(S0)から待機応答モード(S0)へ移行する。
表1の移行条件の時間経過とは、操作部105の操作が終了してからの経過時間、あるいはジョブが終了してからの経過時間が、所定時間を超えた場合である。この所定時間は、数分から数時間の間の時間をユーザが設定することができる。操作部スイッチ押下は、操作部105の節電キー(図示せず)をユーザが押下した場合である。時計設定は、予めユーザが設定した時刻になった場合である。
<S603:S0ステート⇒S3ステート>
スリープモード(S3)は、待機応答モード(S0)の電力状態から、さらに、CPU301及びIOコントローラ304への電力供給を停止した状態である。スリープモード(S3)は、MFP101をスリープモード(S3)からスタンバイモード(S0)や待機応答モード(S0)に復帰させるために必要な箇所にだけ電力を供給した低電力状態である。S3ステートでは、S0ステートと異なりCPU301への電力供給が停止される。具体的には、スリープモード(S3)では、図3の汎用メモリ303、操作部インターフェース305、電源制御部201、LANコントローラ306にのみ電力が供給されている。さらに、汎用メモリ303は、リフレッシュモードに移行する。LANコントローラ306は、外部装置102からの問い合わせに対して、LANコントローラ306で対応できる内容については、CPU301への電力供給を停止したまま応答する。これを代理応答と呼ぶ。なお、スリープモード(S3)において、PCIデバイスであるLANコントローラ306及びIOコントローラ304は、D3ステートとなっている。
表2に待機応答モード(S0)からスリープモード(S3)への移行条件を示す。
Figure 0006702790

MFP101は、時間経過、及び、プリント以外のジョブ処理の終了の何れかの条件を満たすと、待機応答モード(S0)からスリープモード(S3)へ移行する。
表2の移行条件の時間経過とは、ジョブの実行が完了してからの経過時間が、所定時間を超えた場合である。この所定時間は、数分から数時間の間の時間をユーザが設定することができる。プリント以外のジョブ処理の終了は、外部装置102からネットワーク経由の問い合わせに対する応答が終了した場合である。
<S604:S0ステート(待機応答モード)⇒S0ステート(スタンバイモード)>
表3に待機応答モード(S0)からスタンバイモード(S0)への復帰条件を示す。
Figure 0006702790

MFP101は、操作部スイッチ押下、ジョブ受信、時計設定、及びUSBデバイス検知の何れかの条件を満たすと、待機応答モード(S0)からスタンバイモード(S0)へ移行する。
表3の復帰条件の操作部スイッチ押下とは、操作部105の不図示の節電キーをユーザが押下した場合である。節電キーがユーザによって押下されると、操作部105の節電キーからの信号が操作部インターフェース305を介してCPU301に検知される。また、ジョブ受信は、外部装置102からネットワーク103を介してプリントジョブを受信した場合である。時計設定は、時計部によって計時される現在時刻が予め設定された時刻に一致した場合である。USBデバイス検知は、USBI/F428にUSBデバイスが接続されたことを検知した場合、若しくは、すでに接続されたUSBデバイスが復帰要因を検知した場合である。USBデバイスが検知する復帰要因は、USBデバイスである認証用カードリーダーがカードを検知したこと、USBデバイスであるカメラデバイスや人検知センサによって人が検知されたこと、などがある。復帰条件は、上記した条件に限らず、スキャナ部106の原稿検知センサが原稿台に置かれた原稿を検知した場合、プリンタ部107の手差し用紙トレイに置かれた用紙を検知した場合であっても良い。
<S605:S3ステート⇒S0ステート>
表4にスリープモード(S3)から待機応答モード(S0)又はスタンバイモード(S0)への復帰条件を示す。
Figure 0006702790

MFP101は、操作部スイッチ押下、プリントジョブ受信、プリント以外のジョブ受信、及び、時計設定の何れかの条件を満たすと、スリープモード(S3)から待機応答モード(S0)に復帰する。
表4の復帰条件の操作部スイッチ押下とは、操作部105の不図示の節電キーをユーザが押下した場合である。節電キーがユーザによって押下されると、操作部105の節電キーからの信号が操作部インターフェース305を介してCPU301に検知される。プリントジョブ受信は、外部装置102からネットワーク103を介してプリントジョブを受信した場合である。時計設定は、時計部によって計時される現在時刻が予め設定した時刻に一致した場合である。プリント以外のジョブ受信は、外部装置102からネットワークを介してMFP101の情報(以下、デバイス情報)を問い合わせるジョブ(問い合わせジョブ)であって、LANコントローラ306が代理応答できない問い合わせジョブを受信した場合である。
スリープモード(S3)で上記した復帰条件が検知されると、電源制御部201に割込信号が入力される。電源制御部201は、割込信号が入力されると、CPU301やプログラムメモリ302に電力が供給されるよう制御する。電力が供給されたCPU301は、汎用メモリ303に退避された情報を用いて、レジューム処理を行う。また、電源制御部201は、割込信号の種類に基づいて、機能ユニットへの電力供給を行う。具体的には、電源制御部201は、プリントジョブに関する割込信号が入力されると、CPU301や汎用メモリ303に加えて、プリンタ部107に電力を供給する。一方、電源制御部201は、問い合わせを受信した場合、節電キーが押下された場合、及び、設定した時間になった場合、CPU301や汎用メモリ303に電力を供給するが、プリンタ部107には電力を供給しない。
<S606:S3ステート⇒S5ステート>
表5にスリープモード(S3)から電源オフモード(S5)への移行条件を示す。
Figure 0006702790

MFP101は、メインスイッチ押下、及び、時間経過の何れかの条件を満たすと、スリープモード(S3)から電源オフモード(S5)に復帰する。
表5の復帰条件のメインスイッチ押下とは、ユーザがメインスイッチ207をオフ状態に動かした場合である。また、時間経過とは、スリープモード(S3)で所定時間が経過した場合である。この所定時間は、数分から数時間の間の時間をユーザが設定することができる。
<S607,S608:S0ステート⇒S5ステート>
MFP101がS0ステートのときに、ユーザがメインスイッチ207をオフ状態に動かした場合には、MFP101は、電源オフモード(S5)に移行する。なお、この電源オフモード(S5)は、サスペンド状態(ACPI規格のS3)であっても良いし、ハイバネーション状態(ACPI規格のS4)であっても良い。
次に、PCIデバイス(LANコントローラ304)の電力制御について説明する。
本実施形態では、PCIデバイスがRuntime D3に対応しており、コントローラ部104がS0ステートでありながら、PCIデバイスをD0ステートとD3ステートの間で遷移させることができる。本実施形態では、MFP101が待機応答モード(S0)の場合に限り、PCIデバイスがD0ステートとD3ステートとの間で遷移する。
表6は、MFP101の電力モードとPCIデバイスの電力状態との対応を示す表である。MFP101は、表6に示すように、MFP101の電力モードに基づいて、PCIデバイスの電力状態を制御している。
Figure 0006702790

表6に示すように、MFP101の電力モードがスタンバイモード(S0)のとき、PCIデバイスはD0ステートとなり、スリープモード(S3)のとき、PCIデバイスはD3ステートとなる。また、MFP101の電力モードが電源オフモード(S5)のとき、PCIデバイスへの電力供給は停止される。
そして、本実施形態では、MFP101が待機応答モード(S0)であるときには、PCIデバイスは、D0ステートとD3ステートとの間を遷移する。待機応答モード(S0)におけるPCIデバイスのD0ステートと、スタンバイモード(S0)におけるPCIデバイスのD0ステートとは、同じ状態である。ただし、待機応答モード(S0)では、スタンバイモード(S0)と異なり、スキャナ部106及びプリンタ部107への電力供給は停止されている。
表7に、待機応答モード(S0)においてPCIデバイスがD0ステートからD3ステートに移行する移行条件を示す。
Figure 0006702790

PCIデバイスがD0ステートからD3ステートに移行する移行条件は、時間経過である。PCIデバイスは、MFP101の電力モードが待機応答モード(S0)であり、且つ、PCIデバイスがアイドル状態で所定時間経過した場合である。PCIデバイスは、MFP101の電力モードが変更されるのに比べて、頻繁にD0ステートとD3ステートとの間を遷移する。この所定時間は、数秒からミリ秒の時間に設定することができる。
次に、表8に、待機応答モード(S0)においてPCIデバイスがD3ステートからD0ステートに復帰する復帰条件を示す。
Figure 0006702790

PCIデバイスをD3ステートからD0ステートに復帰させる条件は、CPU301が復帰要因を検知した場合と、PCIデバイスが復帰要因を検知した場合である。すなわち、PCIデバイスは、D3ステートのときに、CPU301とPCIデバイスの両方からD0ステートへ復帰することができる。
表8に示したCPU復帰要因検知時は、CPU301が復帰要因を検知した時である。例えば、MFP101の電力状態が待機応答モードからスタンバイモードに変わるときである。具体的には、電源制御アプリケーションA1がMFP101の電力状態を待機応答モードからスタンバイモードに変えるときに、CPU301によって実行されるデバイスドライバがPCIデバイスをD3ステートからD0ステートに移行する。また、PCIデバイスの設定を変更する場合やPCIデバイスのデバイス情報を取得するときには、デバイスドライバからPCIデバイスにアクセスが発生する。このとき、デバイスドライバは、PCIデバイスをD3ステートからD0ステートに移行する。例えば、例えば、所定時刻にLANコントローラ306からネットワーク103を介して外部装置102に情報を送信するような場合がある。時計部414によって計時される現在時刻が所定時刻になると、CPU301に割り込み信号が入力される。CPU301は、割り込み信号が入力されると、PCIデバイスのレジスタの値を書き換える。これにより、PCIデバイスがD3ステートからD0ステートに復帰する。その結果、LANコントローラ306が、外部装置102に情報を送信することが可能となる。
また、表8に示したデバイス復帰要因検知時は、PCIデバイスが復帰要因を検知した場合である。例えば、LANコントローラ306が外部装置102からネットワーク103を介してデータを受信した場合、USBI/F428がUSBデバイスを検出した場合などがある。PCIデバイスが復帰要因を検知した場合、PCIデバイスは、アウトバンド(PCIeバスの外側)でCPU301に割り込み信号を出力する。CPU301は、割り込み信号が入力されると、PCIデバイスのレジスタの値を書き換える。これにより、PCIデバイスがD3ステートからD0ステートに復帰する。
図7Aは、待機応答モード(S0)でアクティブ状態のCPU及びLANコントローラを示した図であり、図7Bは、待機応答モード(S0)でローパワー状態のCPU及びLANコントローラを示した図である。
アクティブ状態では、図7Aに示すように、CPU301は、C0ステートとなっており、LANコントローラ306は、D0ステートとなっている。具体的には、アクティブ状態では、CPU301内の各部、LANコントローラ306内の各部に電力が供給されている。
また、ローパワー状態では、図7Bに示すように、CPU301は、C10ステートとなっており、LANコントローラ306は、D3ステートとなっている。なお、CPU301に接続される汎用メモリ303は、セルフリフレッシュ状態となっている。ローパワー状態において、CPU301の内部のPCIe I/F411、CPUコア412、メモリコントローラ413及びPCIe I/F414が省電力状態になっている。省電力状態とは、電力供給の停止、供給クロックの停止、供給クロックの周波数低減の何れかである。ローパワー状態において、LANコントローラ306のPCIeI/F502が省電力状態(D3cold)になっている。
図8Aは、電源制御アプリケーションA1を実行するCPUの動作を示したフローチャートである。
CPU301は、スリープモードへの移行指示(割り込み信号)を受信したかどうかを判断する(S801)。スリープモードへの移行指示を受信したと判断した場合(S801:Yes)、CPU301は、NICドライバに対してMFP101がS3ステートへ移行することを通知する(S802)。さらに、CPU301は、電源制御部201に対してMFP101がS3ステートへ移行することを通知する(S803)。
電源制御部201は、CPU301からS3ステートへ移行することが通知されると、CPU301によるスリープ移行処理の実行後に、CPU301、プリンタ部及びスキャナ部への電力供給を停止する。これにより、MFP101がS3ステートに移行する。なお、上記したスリープ移行処理には、CPU301のレジスタの値の保存処理、レジスタの値を保持する汎用メモリ303をセルフリフレッシュモードに設定する処理などが含まれる。
図8Bは、NICドライバを実行するCPUの動作を示したフローチャートである。
CPU301は、電源制御アプリケーションA1からS3ステートへの移行が通知されたか否かを判断する(S804)。S3ステートへの移行が通知されたと判断した場合(S804:Yes)、CPU301は、PCIeバス320を介して、LANコントローラ306のRAM435に記憶されるシステムステータス情報をS3に変更する(S805)。さらに、CPU301は、PCIeバス320を介して、LANコントローラ306のレジスタ437に記憶されるデバイスステータス情報をD3に変更する(S805)。
CPU301によって実行されるNICドライバD2は、電源制御アプリケーションA1からS3ステートへの移行が通知されなくても、LANコントローラ306のアイドル状態を監視して、LANコントローラ306をD3ステートにすることが可能である。CPU301は、LANコントローラ306がアイドル状態かどうかを判断する(S807)。LANコントローラ306がアイドル状態であると判断した場合、CPU301は、PCIeバス320を介して、LANコントローラ306のレジスタ437に記憶されるデバイスステータス情報をD3に変更する(S808)。
レジスタ437のデバイスステータス情報がD3に変更されると、LANコントローラ306の電源制御部436がデバイスステータス情報を参照して、LANコントローラ306を図7Bに示したD3ステート(省電力状態)にする。
次に、LANコントローラ306のCPU432が実行する処理について説明する。
図9は、LANコントローラ306のCPU432が実行する処理を示したフローチャートである。
まず、CPU432は、LANコントローラ306に記憶されるシステムステート情報がS3ステートを示すか否かを判断する(S901)。システムステート情報がS3ステートを示す判断した場合(S901:Yes)、CPU432は、代理応答機能を有効にする(S902)。システムステート情報がS0ステートを示すと判断した場合(S901:No)、代理応答機能を無効にする(S903)。
次に、代理応答機能が有効になったLANコントローラ306の動作について説明する。
図10は、代理応答機能の実行するLANコントローラ306の動作を示すフローチャートである。図10の各ステップは、MFP101がS3ステートのときに実行される。
CPU432は、外部装置102からネットワークパケットを受信したか否かを判断する(S1001)。そして、CPU432は、受信したネットワークパケットが代理応答パターンに一致しているかどうかを判断する(S1002)。受信したネットワークパケットが代理応答パターンに一致していれば(S1002:Yes)、CPU432は、受信したネットワークパケットに対する応答パケットを生成して、外部装置102に送信する(S1003)。受信したネットワークパケットが代理応答パターンに一致していなければ(S1002:No)、起床パターンに一致するかどうかを判断する(S1004)。
受信したネットワークパケットが起床パターンに一致していれば(S1004:Yes)、CPU432は、電源制御部201に対してスリープ復帰指示を送信する(S1005)。スリープ復帰指示を受信した電源制御部201は、電力供給が停止されているCPU432などへの電力を供給する。これにより、MFPがS3ステートからS0ステートに復帰する。
なお、受信したネットワークパケットが起床パターンに一致していなければ(S1004:No)、CPU432は、受信したネットワークパケットを破棄する(S1006)。
次に、代理応答機能が無効になったLANコントローラ306の動作について説明する。
図11は、代理応答機能が無効になったLANコントローラ306の動作を示すフローチャートである。図11の各ステップは、MFP101がS0ステートのときに実行される。MFP101がS0ステートのときにLANコントローラはD0ステート又はD3ステートのいずれかの状態になっている。
CPU432は、外部装置102からネットワークパケットを受信したか否かを判断する(S1101)。そして、CPU432は、ネットワークパケットを受信したと判断した場合(S1101:Yes)、レジスタ437に記憶されるデバイスステート情報を参照して、LANコントローラ306がD0ステートかどうかを判断する(S1102)。LANコントローラ306がD0ステートならば(S1102:Yes)、CPU432はPCIeバス320を介してCPU301に割り込みを発行する(S1103)。割り込みを受けたCPU301は、LANコントローラ306との通信を確立する。CPU432は、CPU301との通信が確立すると、受信したネットワークパケットをCPU301に送信する(S1104)。
一方、LANコントローラ306がD3ステートならば(S1102:No)、CPU432はPCIeバス320とは異なる信号線を介してCPU301に割り込みを発行する(S1105)。具体的には、CPU432は、電源制御部201を介してCPU301に割り込みを発行する。割り込みを受けたCPU301は、LANコントローラ306との通信を確立する。CPU432は、CPU301との通信が確立すると、受信したネットワークパケットをCPU301に送信する(S1106)。
<第1実施形態の効果>
従来では、LANコントローラ306は、デバイスステート情報に基づいて代理応答を行うかどうかを決定していたのに対して、第1実施形態では、システムステート情報に基づいて代理応答を行うかどうかを決定する。これにより、システムステートがS0ステートであってデバイスステートがD3ステートのときにLANコントローラ306が代理応答を行うのを防止することができる。これにより、CPU301への電力供給が停止されないS0ステートにおいて、CPU301が受信したパケットに対して応答することができる。
(第2実施形態)
第1実施形態では、CPU301がPCIeバス320を介して、システムステート情報を通知する例について説明したが、システムステート情報を通知する手法は、第1実施形態の方法に限定されない。第2実施形態では、PCIeバス320とは異なるサイドバンド(通信路)で、システムステート情報を通知する。
図12のように、第2実施形態のCPU1201は、PCIe I/F411、CPUコア412、メモリコントローラ413、PCIe I/F414、電源制御I/F415及び操作部I/F416に加えて、システムステート送信部1202を有する。また、第2実施形態のLANコントローラ1203は、phy431、CPU432、ROM433、PCIe I/F434、RAM435、及び電源制御部436に加えて、システムステート受信部1204を有する。
そして、第2実施形態では、システムステート送信部1202は、出力ポートを制御して(例えば、Highレベルにする)、LANコントローラ1203にシステムステータスを通知する。LANコントローラ1203のRAM435に記憶されるシステムステータス情報は、出力ポートの制御によってS3ステート又はS0ステートとなる。
(第3実施形態)
第2実施形態では、CPU301のシステムステート送信部1202がPCIeバス320と異なるサイドバンドでシステムステート情報を通知する例について説明した。しかしながら、システムステート情報を通知する手法は、第1実施形態及び第2実施形態に限定されない。第3実施形態では、電源制御部201がPCIeバス320とは異なるサイドバンド(通信路)で、システムステート情報をLANコントローラ1303通知する。
図12に示すように、第3実施形態のLANコントローラ1203は、phy431、CPU432、ROM433、PCIe I/F434、RAM435、及び電源制御部436に加えて、システムステート受信部1304を有する。
そして、第3実施形態では、電源制御部201は、出力ポートを制御して(例えば、Highレベルにする)、LANコントローラ1303にシステムステータス情報を通知する。LANコントローラ1203のRAM435に記憶されるシステムステータス情報は、電源制御部201の出力ポートの制御によってS3ステート又はS0ステートとなる。
(他の実施形態)
上記した実施形態では、本発明の情報処理装置としてMFPについて説明したが、パーソナルコンピュータやサーバなどの情報処理装置であっても良い。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給するよう構成することによっても達成される。この場合、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
101 MFP
104 コントローラ部
106 スキャナ部
107 プリンタ部
301 CPU
306 LANコントローラ
320 PCIeバス
435 RAM
437 レジスタ
1202 システムステート送信部
1204 システムステート受信部
1304 システムステート受信部
A1 電源制御アプリケーション
D2 NICドライバ(デバイスドライバ)

Claims (11)

  1. 外部装置と通信可能な情報処理装置であって、
    データ処理を行う処理手段と、
    前記外部装置とネットワークを介して通信可能であり且つ前記処理手段とバスを介して通信可能であって、前記外部装置からネットワークを介して受信した特定のデータに対する応答を前記処理手段を介さずに前記外部装置に送信する代理応答を実行し、前記通信手段の電力状態を示す情報を記憶するレジスタ及び前記レジスタに記憶された前記情報に基づいて前記通信手段の電力状態を制御する電力制御部を有する、通信手段と、備え、
    前記処理手段は、前記バスを介して、前記レジスタに前記通信手段の電力状態を示す情報を書き込み、また、前記処理手段は、前記バスとは異なる通信路を介して、前記情報処理装置の電力状態を示す情報を前記通信手段に通知し、
    前記通信手段は、通知された前記情報処理装置の電力状態を示す情報に基づいて、前記代理応答を行う、ことを特徴とする情報処理装置。
  2. 前記通信手段は、前記記憶部に記憶された前記情報が第1電力状態を示す場合、前記代理応答を実行せず、前記記憶部に記憶された前記情報が前記第1電力状態より省電力の第2電力状態を示す場合、前記代理応答を実行する、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記通信手段は、前記記憶部に記憶された前記情報が前記第1電力状態を示す場合、前記代理応答を実行せず、受信した前記特定のデータを前記処理手段に送信する、ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記第1電力状態では、前記処理手段に電力が供給され、前記第2電力状態では、前記処理手段への電力が停止される、ことを特徴とする請求項2又は3に記載の情報処理装置。
  5. 前記情報処理装置の電力状態を示す情報に基づいて前記情報処理装置の各部への電力供給を制御する電源制御部をさらに備える、ことを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記通信手段は、前記外部装置からネットワークを介してデータを受信したときに、前記レジスタが第1状態を示すならば前記バスを介して前記処理手段に割り込み発行し、前記レジスタが第2状態を示すならば前記バスとは異なる通信路を介して前記処理手段に割り込みを発行する、ことを特徴とする請求項乃至の何れか1項に記載の情報処理装置。
  7. 前記バスは、PCI Express規格に従うバスである、ことを特徴とする請求項乃至の何れか1項に記載の情報処理装置。
  8. 用紙に画像を印刷する印刷手段をさらに備える、ことを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
  9. 前記処理手段は、前記情報処理装置の電力状態が変わるときに、前記記憶手段に前記情報処理装置の電力状態を示す情報を記憶する、ことを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
  10. データ処理を行う処理手段と、前記外部装置とネットワークを介して通信可能であり且つ前記処理手段とバスを介して通信可能であって、前記外部装置からネットワークを介して受信した特定のデータに対する応答を前記処理手段を介さずに前記外部装置に送信する代理応答を実行し、前記通信手段の電力状態を示す情報を記憶するレジスタ及び前記レジスタに記憶された前記情報に基づいて前記通信手段の電力状態を制御する電力制御部を有する、通信手段と、を備える情報処理装置の制御方法であって、
    前記バスを介して、前記レジスタに前記通信手段の電力状態を示す情報を書き込むステップと、
    前記バスとは異なる通信路を介して、前記情報処理装置の電力状態を示す情報を前記通信手段に通知するステップと、
    通知された前記情報処理装置の電力状態を示す情報に基づいて、前記通信手段が前記代理応答を行うステップと、を有することを特徴とする情報処理装置の制御方法。
  11. 通知された前記情報が第1電力状態を示す場合、前記通信手段は前記代理応答実行ないが、通知された前記情報が前記第1電力状態より省電力の第2電力状態を示す場合、前記通信手段は前記代理応答を実行する、ことを特徴とする請求項1に記載の情報処理装置の制御方法。
JP2016091613A 2016-04-28 2016-04-28 代理応答機能を有するネットワークインターフェースを備える情報処理装置 Expired - Fee Related JP6702790B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016091613A JP6702790B2 (ja) 2016-04-28 2016-04-28 代理応答機能を有するネットワークインターフェースを備える情報処理装置
US15/495,630 US20170317980A1 (en) 2016-04-28 2017-04-24 Information processing device with network interface having proxy response function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016091613A JP6702790B2 (ja) 2016-04-28 2016-04-28 代理応答機能を有するネットワークインターフェースを備える情報処理装置

Publications (3)

Publication Number Publication Date
JP2017196869A JP2017196869A (ja) 2017-11-02
JP2017196869A5 JP2017196869A5 (ja) 2019-05-30
JP6702790B2 true JP6702790B2 (ja) 2020-06-03

Family

ID=60158651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016091613A Expired - Fee Related JP6702790B2 (ja) 2016-04-28 2016-04-28 代理応答機能を有するネットワークインターフェースを備える情報処理装置

Country Status (2)

Country Link
US (1) US20170317980A1 (ja)
JP (1) JP6702790B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019102985A (ja) * 2017-12-01 2019-06-24 コニカミノルタ株式会社 画像形成装置、プログラム及び情報処理装置
JP7158986B2 (ja) * 2018-10-09 2022-10-24 キヤノン株式会社 機能部のカウンタ情報を取得することが可能な画像処理装置及びその制御方法
JP2022027240A (ja) * 2020-07-31 2022-02-10 ソニーセミコンダクタソリューションズ株式会社 情報処理装置および情報処理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510525B1 (en) * 1999-04-26 2003-01-21 Mediaq, Inc. Method and apparatus to power up an integrated device from a low power state
US8234510B2 (en) * 2009-02-26 2012-07-31 Broadcom Corporation System and method for energy savings through emulation of wake on LAN in energy efficient ethernet
JP5791223B2 (ja) * 2009-09-25 2015-10-07 キヤノン株式会社 印刷装置、ネットワークインターフェースユニット、印刷装置の制御方法およびプログラム
JP2012137985A (ja) * 2010-12-27 2012-07-19 Murata Mach Ltd 通信端末装置とそのプログラム、ネットワークシステム、及びネットワークでの通信方法
JP2013161122A (ja) * 2012-02-01 2013-08-19 Canon Inc データ処理装置、情報処理方法、及びプログラム
JP2013161381A (ja) * 2012-02-08 2013-08-19 Canon Inc 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5995524B2 (ja) * 2012-05-23 2016-09-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム、および記録媒体
JP6521558B2 (ja) * 2013-04-04 2019-05-29 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、プログラムおよび記録媒体
JP2017177573A (ja) * 2016-03-30 2017-10-05 キヤノン株式会社 PCI(Peripheral Component Interconnect)バスに接続されたPCIデバイスを備える情報処理装置及び情報処理装置の制御方法

Also Published As

Publication number Publication date
US20170317980A1 (en) 2017-11-02
JP2017196869A (ja) 2017-11-02

Similar Documents

Publication Publication Date Title
JP7163002B2 (ja) プロセッサに接続されるデバイスから通知される復帰時間に応じてプロセッサの省電力のレベルを決定する情報処理装置及びプロセッサの省電力方法
EP3226118B1 (en) Multifunction peripheral device including peripheral component interconnect (pci) device connected to pci bus, information processing apparatus, method for controlling information processing apparatus, program, and storage medium
US8954772B2 (en) Data processing apparatus capable of controlling power supply, control method therefor, and storage medium
EP2306267A2 (en) Information processing apparatus, method for controlling the same, and program thereof
JP6029350B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2005041214A (ja) 印刷制御装置及びその制御方法及びプログラム
JP5939890B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
KR102268872B1 (ko) 기억장치 시스템, 그 제어 방법, 정보처리장치 및 기억매체
EP2528314B1 (en) Information processing apparatus and method of controlling launch thereof
CN107645618B (zh) 图像形成装置和用于图像形成装置的电力控制方法
CN102673125A (zh) 图像形成装置及图像形成装置的控制方法
JP6702790B2 (ja) 代理応答機能を有するネットワークインターフェースを備える情報処理装置
JP2011071760A (ja) 情報処理装置、情報処理装置のジョブ処理方法、及びプログラム
JP2012131081A (ja) 印刷装置及びその処理方法
US9612645B2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium for reducing power consumption in response to a transition
US10187538B2 (en) Information processing apparatus, method for controlling information processing apparatus, and program having predetermined event occurring during shifting process of power state
JP6238698B2 (ja) 画像形成装置、画像形成装置の制御方法、記録媒体およびプログラム
JP2018042146A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2006092474A (ja) 情報処理装置及びこれに用いる省電力制御方法
US11036668B2 (en) Electronic apparatus including device configured to be shifted to power saving state and connected to PCI device, and control method thereof
JP2017059051A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP6279033B2 (ja) 画像形成装置及び画像形成装置の復帰方法
JP2015148978A (ja) 情報処理装置、情報処理装置の制御方法
JP6439939B2 (ja) 電子機器および電力制御プログラム
JP6344913B2 (ja) 印刷装置、画像読取装置及びそれらの制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190412

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200313

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200507

R151 Written notification of patent or utility model registration

Ref document number: 6702790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees