説明

情報処理装置、通信装置、およびその制御方法

【課題】省電力モードから通常電力モードに復帰した後、応答済みの受信パケットに対して再度応答を行うことを防止する。
【解決手段】通常電力モードの際、CPU201は受信パケットに応じて応答処理を実行して応答パケットを生成する。通常電力モードよりも電力供給を低減する省電力モードの際、マイクロプロセッサ308は受信パケットに応じて応答処理を実行して応答パケットを生成する。CPUが省電力モードから通常電力モードに復帰する復帰処理中において、MAC309は受信パケットをRx FIFO306、RAM202に転送する。CPUは、復帰処理中にマイクロプロセッサで受信パケットに対する応答処理が行われると、RAMに転送された受信パケットのうち当該応答処理に対応する受信パケットを削除する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、通信装置、およびその制御方法に関し、外部機器から受信した情報に対する応答処理に関する。
【背景技術】
【0002】
情報処理装置において、省電力モードを有するものが知られている。このような情報処理装置として、例えば、情報処理装置がメインCPUとサブCPUとを有し、省電力モードではメインCPUに対する電力の供給を通常よりも低減(又は遮断)した状態にする。そして、省電力モードにおいて、ネットワークに対する応答を行う際、メインCPUに対する電力の供給を通常状態に戻すことなく、サブCPUによってネットワーク応答を実行する(例えば、特許文献1参照)。
【0003】
特許文献1においては、省電力モードの際には、サブCPUに対するクロックの供給量を最小限にしており、このような状態では、ネットワークを介して受信するパケットの全てに対して応答することは困難である。
【0004】
このため、特許文献1では、サブCPUにおいて対応できないパケットを、ネットワークを介して受信すると、メインCPUを省電力モードから通常状態(通常電力モード)に復帰させて、その後、メインCPUによってネットワークを介して受信したパケットに対する応答を行っている。
【0005】
他の例として、情報処理装置がメインCPUとメモリを有し、省電力モードではメインCPUに対する電力の供給を通常よりも低減(又は遮断)した状態にする(例えば特許文献2)。
【0006】
ところが、一般に、省電力モードが解除された後、通常電力モードが立ち上がるまでに要する時間は長い。省電力モードを解除して、メインCPUに対して電力の供給を開始しても、メインCPUが完全に機能するまでには若干の空白時間がある。言い換えると、メインCPUが省電力モードから通常状態に完全に復帰するまでには空白時間が存在する。
【0007】
そして、当該空白時間の間にネットワークを介してパケットが情報処理装置に送られると、当該パケットを取りこぼしてしまう事態が発生する。
【0008】
このような問題に対処するため、特許文献2では、メインCPUが通常電力モードに移行するまでの間、ネットワークを介して受信したパケットをメモリに格納する。これによって、省電力モードから通常電力モードへの復帰中におけるパケットの取りこぼしを防止するようにしている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2009−151537号公報
【特許文献2】特開2008−181436号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、特許文献2に記載の手法においては、メインCPUが完全に機能するまでの空白時間の間において、情報処理装置はネットワークを介して受信したバケットに対する応答ができない。
【0011】
一方、メインCPUとサブCPUを有する情報処理装置において、メインCPUが完全に機能するまでの間、サブCPUがパケットに対する応答をした場合、サブCPUによって応答可能なパケットについては応答処理がなされるものの、サブCPUによって応答できないパケットについては応答処理がなされない。
【0012】
従って、本発明の目的は、外部機器から受信した受信情報に対する応答処理の取りこぼしを軽減する情報処理装置、通信装置、およびその制御方法を提供ことにある。
【課題を解決するための手段】
【0013】
上記の目的を達成するため、本発明による情報処理装置は、外部機器から受信した受信情報に対する応答情報を生成して、前記応答情報を送信する情報処理装置であって、前記受信情報に対する前記応答情報を生成する第1の生成手段と、前記第1の生成手段が前記応答情報を生成できない省電力状態にある場合、前記受信情報に対する前記応答情報を生成する第2の生成手段と、前記第1の生成手段が前記省電力状態から前記応答情報を生成できる状態に移行しているときに、前記受信情報を前記第1および前記第2の生成手段の双方に転送する転送制御手段とを有し、前記第1の生成手段は、前記転送制御手段によって前記第1の生成手段に転送された前記受信情報のうち、前記転送制御手段によって前記第2の生成手段に転送された前記受信情報であって前記第2の生成手段によって前記応答情報が生成された前記受信情報に対しては前記応答情報を生成しないことを特徴とする。
【0014】
本発明による通信装置は、外部機器から受信情報を受信し、前記受信情報を制御装置に転送する通信装置であって、外部機器から受信情報を受信する受信手段と、前記制御装置が前記受信情報に対して応答できない省電力状態にある場合、前記受信情報に対して応答する制御手段と、前記制御装置が前記省電力状態から前記受信情報に対して応答できる状態に移行しているときに、前記受信情報を前記制御装置及び前記制御手段の双方に転送する転送制御手段とを有することを特徴とする。
【0015】
本発明による制御方法は、外部機器から受信した受信情報に対する応答情報を生成して、前記応答情報を送信する情報処理装置の制御方法であって、前記情報処理装置に備えられた第1の制御部によって、第1のメモリに格納された前記受信情報に対する前記応答情報を生成する第1の生成ステップと、前記第1の制御部が前記応答情報を生成できない省電力状態にある場合、前記情報処理装置に備えられた第2の制御部によって、第2のメモリに格納された前記受信情報に対する前記応答情報を生成する第2の生成ステップと、前記第1の制御部が前記省電力状態から前記応答情報を生成できる状態に移行しているときに、前記情報処理装置に備えられた転送制御部によって、前記受信情報を前記第1および前記第2のメモリの双方に転送する転送制御ステップとを有し、前記第1の制御部によって、前記第1のメモリに転送された前記受信情報のうち、前記第2のメモリに転送された前記受信情報であって前記第2の制御部によって前記応答情報が生成された前記受信情報を削除する削除ステップを行うことを特徴とする。
【発明の効果】
【0016】
本発明によれば、外部機器から受信した受信情報に対する応答処理の取りこぼしを軽減することができる。
【図面の簡単な説明】
【0017】
【図1】図1は本発明の実施の形態による情報処理装置の1つである画像処理装置の一例が用いられたネットワーク構成の一例を示すブロック図である。
【図2】図1に示すメインコントローラの構成を詳細に示すブロック図である。
【図3】図2に示すLAN I/Fを詳細に示すブロック図である。
【図4】図2に示すメインコントローラにおいて省電力モードから通常電力モードに復帰する際の受信パケットの制御を説明するための図である。
【図5】図2に示すメインコントローラにおける復帰処理のシーケンスを説明するための図である。
【図6】図2に示すメインコントローラが通常電力モードに復帰する際のCPUの動作を説明するためのフローチャートである。
【図7】図1に示すメインコントローラが省電力モードから通常電力モードに復帰する際のLAN I/Fのマイクロプロセッサの動作を説明するためのフローチャートである。
【図8】図2に示すメインコントローラが省電力モードから通常電力モードに復帰する際におけるMACの処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態による情報処理装置の一例について図面を参照して説明する。
【0019】
図1は本発明の実施の形態による情報処理装置の1つである画像処理装置の一例が用いられたネットワーク構成の一例を示すブロック図である。なお、以下の説明では、画像処理装置を例に挙げて説明するが、画像処理装置以外の情報処理装置においても同様にして本発明を適用することができる。
【0020】
図1を参照して、画像処理装置100は、例えば、画像の入出力と送受信および各種の画像処理とを行う複合機(MFP:Multi Function Printer)である。図示の画像処理装置100は、ネットワーク(例えば、LAN)106を介して、外部機器である複数のパーソナルコンピュータPC105と通信可能である。
【0021】
画像処理装置100は、画像入力デバイスであるスキャナ103、画像出力デバイスであるプリンタ104、メインコントローラ101、およびユーザインタフェースである操作部102を有している。スキャナ103、プリンタ104、および操作部102は、それぞれメインコントローラ101に接続され、メインコントローラ101からの命令によって制御される。そして、メインコントローラ101はLAN106に接続されている。
【0022】
図2は、図1に示すメインコントローラ101の構成を詳細に示すブロック図である。
【0023】
図1には示されていないが、図2に示す例では、メインコントローラ101は、LAN106に接続されるとともに、公衆回線と接続されている。さらに、メインコントローラ101には電源装置219が接続されている。メインコントローラ101は情報処理装置において制御装置として機能する。
【0024】
メインコントローラ101はCPU201(第1の制御部)を備えている。CPU201は、システムバス207を介して、RAM202、ROM203、フラッシュメモリ(Flash)204、イメージバスインタフェース(I/F)205、操作部I/F206、LAN I/F208、モデム部209、およびハードディスクドライブ(HDD)217と接続されている。
【0025】
RAM202(第1の記憶手段又は第1のメモリ)は、CPU201の作業領域を提供するためのメモリであり、また、RAM202は画像データを一時的に記憶するための画像メモリとしても用いられる。
【0026】
ROM203はブートROMであり、ROM203にはブートプログラムが格納されている。Flash204には、システムソフトウェアおよび設定値データなどが格納される。
【0027】
操作部I/F206は、操作部102との間で入出力を行うためのインタフェースであり、操作部102に表示する画像データを操作部102に対して出力する。また、操作部I/F206は、ユーザが操作部102によって入力した情報をCPU201に伝送する。
【0028】
LAN I/F208はLAN106と接続され、LAN106に対して情報の入出力を行う。LAN I/F208は情報処理装置において通信装置として機能する。モデム部209は公衆回線と接続され、公衆回線に対して情報の入出力を行う。
【0029】
イメージバスI/F205は、システムバス207と画像バス210とを接続して、データ構造を変換するためのバスブリッジである。画像バス210は画像データを高速で転送するためのバスである。
【0030】
画像バス210には、RIP(ラスタイメージプロセッサ)211、デバイスI/F212、スキャナ画像処部213、プリンタ画像処理部214、画像回転部215、および画像圧縮部216が接続されている。
【0031】
RIP211は、LAN106を介して受信したPDLコードをビットマップイメージに展開する。デバイスI/F212は、スキャナ103およびプリンタ104とメインコントローラ101とを接続して、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部213は、入力画像データに対する補正、加工、および編集などを行う。
【0032】
プリンタ画像処理部214は、プリント出力画像データに対してプリント補正および解像度変換などを行う。画像回転部215は、画像データの回転を行う。画像圧縮部216は、多値画像データに対してはJPEG圧縮伸長処理を行い、2値画像データに対してはJBIG、MMR、又はMHなどの圧縮伸長処理を行う。
【0033】
HDD217は着脱可能なユニットである。HDD217には、例えば、画像データ、アドレス帳データ、およびジョブログ、そして、頻繁に使用され設定を残したお気に入りおよびショートカットなどのユーザ個人のデータ(プリファレンスデータ)が保持される。なお、システムバス207にHDD217が接続されない場合には、上記の各種データはFlash204に保持される。
【0034】
メインコントローラ101は電源制御部218(電力切り替え手段)を備えている。電源制御部218は、電源装置219から電力供給ライン220を介して受容したDC電源を電力供給ライン221および222を介してメインコントローラ101の所定の回路要素に供給する。
【0035】
電源制御部218は、LAN I/F208から制御信号線223を介して受信した制御信号およびCPU201から制御信号線224を介して受信した制御信号に基づいて制御される。電源制御部218は、電力供給ライン221および222を選択的にオン/オフ(ON/OFF)する。これによって、通常電力モードと省電力モードとの切り替えが行われる。
【0036】
電力供給ライン221は、CPU201、ROM203、HDD217、およびイメージバスI/F205に接続される。さらに、電力供給ライン221は、RIP211、デバイスI/F212、スキャナ画像処理部213、プリンタ画像処理部214、画像回転部215、および画像圧縮部216に接続される。電力供給ライン222は、RAM202、操作部I/F206、LAN I/F208、およびモデム部209に接続されている。
【0037】
図1に示す画像処理装置100は、省電力モード(省電力状態)および通常電力モードを有している。通常電力モードにおいては、電源装置219は、電力供給ライン220を介して電源制御部218に電力を供給する。そして、CPU201は、電力供給ライン221および電力供給ライン222の各々がONとなるように電源制御部218を制御する。この際、CPU201およびLAN I/F208の双方に電源装置219から電力が供給される。
【0038】
一方、省電力モード(省電力状態)においては、電源装置219は、電力供給ライン220を介して電源制御部218に電力供給する。そして、CPU201は、電力供給ライン222がOFFとなり、電力供給ライン221がONとなるように電源制御部218を制御する。この際、CPU201を含む主要回路要素に対する電力の供給は遮断されるので、画像処理装置100の消費電力は大幅に低減する。つまり、省電力モードは、少なくとも通常電力モードよりも電力供給を低減するモードである。
【0039】
さらに、LAN I/F208は、PC105等から印刷ジョブ等のデータを受信すると、通常電力モードへ復帰すべく、電源制御部218を制御する。
【0040】
なお、省電力モードにおいては、CPU201に対する電力の供給が遮断されるものとしたが、他の態様であってもよい。例えば、省電力モードにおいては、CPU201に対する電力の供給を通常電力モードよりも低減させるようにしてもよい。この場合、つまり、省電力モードでは、CPU201は通常電力モードと比べて実行可能な処理が制限される。制限される処理には、少なくともLAN I/F208がPC105等から受信したデータの処理が含まれる。
【0041】
また、省電力モードの際、RAM202には、電源装置219から電力が供給されている。そして、RAM202はセルフリフレッシュ動作を行って、システムプログラムをバックアップしている。また、RAM202はDMA(Direct Memory Access)転送によって、CPU201を介することなく、LAN I/F208から直接データの入出力を行うことができる。
【0042】
図3は、図2に示すLAN I/F208を詳細に示すブロック図である。
【0043】
図3を参照すると、LAN I/F208は、I/F部301を有しており、このI/F部301によって、LAN I/F208はシステムバス207に接続される。
【0044】
通常電力モードにおいて、受信パケット(受信情報)を受信する際には、LAN106から物理層部(PHY)310を介してMAC(メディアアクセス制御部又はネットワークパケット受信部)309が受信パケット(受信情報)を受ける。MAC309は、受信パケットを受信用の先入れ先出しメモリ(Rx FIFO)304にセットする。そして、Rx FIFO304にセットされた受信パケットはI/F部301を介してRAM202に送られる。
【0045】
通常電力モードにおいて、送信パケット又は応答パケットを送信する際には、CPU201からI/F部301を介して送信用の先入れ先出しメモリ(Tx FIFO)305に送信パケットがセットされる。MAC309は送信パケットをTx FIFO305からPHY310に渡して、当該送信パケットをLAN106に送出する。
【0046】
省電力モードの場合には、LAN106からPHY310を介してMAC309が受信パケット(受信情報)を受ける。MAC309は、当該受信パケットを受信用の先入れ先出しメモリ(Rx FIFO)306(第2の記憶手段又は第2のメモリ)にセットする。そして、マイクロプロセッサ308(第2の制御部)は省電力モードを維持した状態で当該受信パケットに対する応答が可能であるか否かを判断する。
【0047】
省電力モードを維持した状態で応答可能であると判断すると、マイクロプロセッサ308は受信パケットに応じて応答パケット(応答情報)を生成し、当該応答パケットを送信用の先入れ先出しメモリ(Tx FIFO)307にセットする。Tx FIFO307にセットされた応答パケット(応答情報)は、MAC309によってPHY310を介してLAN106に送出される。
【0048】
一方、省電力モードを維持した状態で応答不可能であると判断すると、マイクロプロセッサ308は、電力制御部218に対して制御信号線223を介して通常電力モードへの変更を通知する。これによって、後述するように、メインコントローラ101のハードウェアリソースによって受信パケットの応答が行われる。
【0049】
LAN I/F208において、RAM311(第2の記憶手段又は第2のメモリ)はLAN I/F208における共有メモリ領域である。そして、RAM311にはデータおよびプログラムが格納されるが、RAM311はLAN I/F208の構造上その容量は限定されている。
【0050】
フラッシュメモリ(Flash)302は不揮発メモリであり、I/F部301を介してCPU201と情報の送受が行われる。レジスタ群(Registers)303は、CPU201によるLAN I/F208の制御の際のステータスを反映するためのレジスタ群である。
【0051】
図4は、図2に示すメインコントローラ101において省電力モードから通常電力モードに復帰する際の受信パケットの制御を説明するための図である。なお、ここでは、メインコントローラ101における主要な処理のみ説明し、詳細は後述する。
【0052】
受信パケットが復帰要因パケット(予め規定された復帰要因情報)であると、メインコントローラ101は省電力モードから通常電力モードへの復帰処理を行う。復帰要因パケット401とは、メインコントローラ101が省電力モードの際に、マイクロプロセッサ308がその省電力モードを維持した状態では当該パケットに対する応答が不可能と判断したパケットである。
【0053】
図4において、LAN I/F応答不可能パケット402は、メインコントローラ101が通常電力モードに復帰するまでの間にMAC309が受信するパケットのうち、LAN I/F208では応答不可能なパケットを示す。また、LAN I/F応答可能パケット403は、メインコントローラ101が通常電力モードに復帰するまでの間にMAC309が受信するパケットのうち、LAN I/F208が応答可能なパケットを示す。図示の例では、メインコントローラ101が通常電力モードに復帰中であっても、LAN I/F208はLAN I/F応答可能パケット403に対する応答を行うことができる。
【0054】
図5は、図2に示すメインコントローラ101における復帰処理のシーケンスを説明するための図である。また、図6は、図2に示すメインコントローラ101が通常電力モードに復帰する際のCPU201及び電力制御部218の動作を説明するためのフローチャートである。
【0055】
まず、図2、図4、図5、および図6を参照して、図2に示すCPU201における復帰処理を説明する。
【0056】
メインコントローラ101が起動された際に、CPU201は、パケットパターンに対する振る舞い(以下パケット判定条件ともいう)をRAM202上に展開する(ステップS601)。ここで、パケットパターンに対する振る舞いとは、LAN I/F208が応答可能なパケットと応答不可能なパケットを判断するためのものである。例えば、パケット判定条件は、パケットのパターンがどうだったらLAN I/F208がそのパケットに対して応答可能であるか、パケットのパターンがどうだったらLAN I/F208がそのパケットに対して応答不可能であるかを示す。RAM202にパケットパターンに対する振る舞いを展開しておくと、通常電力モードに復帰する際、HDD217にアクセスするよりも高速にパケットの判定を行うことができる。
【0057】
続いて、CPU201は省電力モードへの移行条件(省電力移行条件)が満たされたか否かを判定する(ステップS602)。省電力移行条件が満たされないと(ステップS602において、NO)、CPU201は省電力移行条件が満たされたか否かを判定し続ける。一方、省電力移行条件が満たされると(ステップS602において、YES)、CPU201は電力制御部218を制御して省電力モードに移行する(ステップS603)。このとき、CPU201は、省電力モードに移行する旨をLAN I/F208に伝える。LAN I/F208のマイクロプロセッサ308は、その旨を聞いて、MAC309の転送設定を第1の転送設定に切り替える。第1の転送設定は後述する。
【0058】
そして、電力制御部218はLAN I/F208から、後述する復帰信号を受信したか否かを監視する(ステップS604)。
【0059】
復帰信号を受信しないと(ステップS604において、NO)、電力制御部218は復帰信号を受信したか否かを監視し続ける。つまり、CPU201は省電力モードを継続する。一方、復帰信号を受けると、電力制御部218は電力供給ライン222を介して電力を供給し、CPU201は、省電力モードから通常電力モードへの復帰処理を実行する(ステップS605)。なお、メインコントローラ101が省電力モードから通常電力モードに完全に復帰するまでには、復帰処理を開始した後数秒程度必要である。
【0060】
CPU201は通常電力モードへの復帰処理が完了したか否かを判定する(ステップS606)。復帰処理が完了しないと(ステップS606において、NO)、CPU201はその完了を待つ。復帰処理が完了すると(復帰処理の完了後:ステップS606において、YES)、CPU201はLAN I/F208に復帰完了通知を送る。さらに、CPU201はRAM202に展開したパケット判定条件に基づいて、LAN I/F208によって応答済みとなったパケットを判定して、そのパケットを削除する削除処理を行う(ステップS607)。つまり、CPU201は、LAN I/F208(つまり、マイクロプロセッサ308)により応答処理が行われた受信パケット(受信情報)の削除を行う。
【0061】
なお、図4に示すように、メインコントローラ101の復帰処理中においてLAN I/F208が受信パケットを受信すると、MAC309はRx FIFO304を介して当該受信パケットをRAM202に送るとともに、Rx FIFO306にも当該パケットを転送する。
【0062】
続いて、CPU201はRAM202に格納された未応答の(応答処理が行われていない)受信パケットに対する応答処理を実行する(ステップS608)。
【0063】
図7は、図1に示すメインコントローラ101が省電力モードから通常電力モードに復帰する際のLAN I/F208のマイクロプロセッサ308の動作を説明するためのフローチャートである。
【0064】
次に、図2〜図5および図7を参照して、復帰処理の際の図2に示すマイクロプロセッサ308の動作を説明する。
【0065】
メインコントローラ101が省電力モードに移行すると、LAN I/F208はその省電力モードを維持した状態で応答可能な受信パケットに対してのみ応答を行う。
【0066】
マイクロプロセッサ308は、LAN I/F208において復帰要因パケット401を受信したか否かを監視する(ステップS701)。復帰要因パケットを受信しないと(ステップS701において、NO)、マイクロプロセッサ308は復帰要因パケット401を受信したか否かを監視し続ける。復帰要因パケットを受信すると(ステップS701において、YES)、マイクロプロセッサ308は、メインコントローラ101の電力制御部218に通常電力モードに復帰することを示す復帰信号(WAKE信号)を送る(ステップS702)。
【0067】
続いて、マイクロプロセッサ308はCPU201から復帰完了通知を受信したか否かを監視する(ステップS703)。復帰完了通知を受信しないと(ステップS703において、NO)、マイクロプロセッサ308はメインコントローラのRAM202がアクセス可能であるか否かをチェックする(ステップS704)。メインコントローラのRAM202はセルフリフレッシュ解除処理を終えると、アクセス可能になる。なお、メインコントローラのRAM202はメインコントローラ101が復帰するよりも短時間でアクセス可能になる。
【0068】
RAM202に対するアクセスが可能であると(ステップS704において、YES)、マイクロプロセッサ308はMAC309の転送設定を二重転送設定に切り替える(ステップS705)。この二重転送設定によって、MAC309は受信パケットをRx FIFO304とRx FIFO306との双方に転送する。
【0069】
その後、マイクロプロセッサ308は受信パケットを受信したか否かを判定する(ステップS706)。なお、RAM202に対するアクセスが可能でないと(ステップS704において、NO)、マイクロプロセッサ308はステップS706に進む。
【0070】
メインコントローラ101が復帰処理中において、受信パケットを受信しないと(ステップS706において、NO)、マイクロプロセッサ308はステップS703に戻って処理を続行する。
【0071】
一方、受信パケットを受信すると(ステップS706において、YES)、マイクロプロセッサ308は当該受信パケットがLAN I/F208によって応答可能なパケットであるか否かを判定する(ステップS707)。
【0072】
応答可能なパケットであると判定した場合(ステップS707において、YES)、マイクロプロセッサ308は受信パケットに対する応答処理を実行する。一方、応答不可能なパケットであると判定した場合(ステップS707において、NO)、マイクロプロセッサ308はRAM311が容量フル(満杯)であるか否かを判定する(ステップS709)。
【0073】
RAM311の容量は小さく、RAM311が容量フルであると(ステップS709において、YES)、マイクロプロセッサ308は当該受信パケットを破棄する(ステップS710)。そして、マイクロプロセッサ308はステップS703に戻って処理を続行する。
【0074】
RAM311が容量フルでないと判定した場合(ステップS709において、NO)、マイクロプロセッサ308は当該受信パケットをRAM311に保存する(ステップS711)。そして、マイクロプロセッサ308はステップS703に戻って処理を続行する。
【0075】
ステップS703において、CPU201から復帰完了通知を受けると(ステップS703において、YES)、マイクロプロセッサ308は、現時点でLAN I/F208が幾つのパケットを受信したか、つまり、現時点でどのパケットまでを受信したかを示す情報をCPU201に通知する(ステップS712)。この通知では応答処理したパケットを個別に通知するのではなく、どのバケットまでを受信したかということを通知する。
【0076】
例えば、10個のパケットを受信したことを通知した場合、11個目以降のパケットは、それをLAN I/F208が応答可能であろうとなかろうと、全てCPU201が応答する。10個目までのパケットについては、LAN I/F208によって応答可能なものはマイクロプロセッサ308が応答し、LAN I/F208によって応答不可能なものはCPU201が応答する。パケットにIDを振ることが可能な場合には、最後に受信したパケットのIDをCPU201に通知してもよい。その場合には、そのIDより後のパケットはLAN I/F208によって応答可能なものであろうとなかろうと、全てCPU201が応答する。
【0077】
なお、図4に示す例では、通常電力モードに復帰するまでの間に10個のパケットを受信しているが、情報処理装置100が複数のPC105など接続され、ネットワークのトラフィックが大きい場合には、通常電力モードに復帰後、CPU201が復帰中に受信したパケットを判定する方が応答を高速に行うことができる。
【0078】
続いて、マイクロプロセッサ308は、RAM311に保持された受信パケットをCPU201に送信する(ステップS713)。そして、マイクロプロセッサ308は二重転送設定を解除して、MAC309が受信パケットをRAM202のみに転送するようにMAC309の転送設定を第3の転送設定に変更する(ステップS714)。これによって、マイクロプロセッサ308は省電力モードにおける処理を終えて、MAC309は通常電力モードに復帰したメインコントローラ101に対して受信パケットの転送を行う。
【0079】
上述のようにして、RAM202にアクセスすることができない場合においても、復帰動作中にRAM311に保持された受信バケットを復帰動作完了の後、CPU201に送信するようにしたので、復帰動作中の受信パケットの取りこぼしを防止することができる。
【0080】
図8は、図2に示すメインコントローラ101が省電力モードから通常電力モードに復帰する際におけるMAC309の処理を説明するためのフローチャートである。
【0081】
図3および図8を参照して、メインコントローラ101が省電力モードに移行した後、MAC309はパケットを受信したか否かを確認する(ステップS801)。パケットの受信が確認されないと(ステップS801において、NO)、MAC309はパケットを受信したか否かを確認し続ける。
【0082】
一方、パケットの受信が確認されると(ステップS801において、YES)、MAC309は、マイクロプロセッサ308による転送設定に応じて受信パケットの転送先を切り替える。図示の例では、転送設定として、第1〜第3の転送設定がある。第1の転送設定は、受信パケットをRx FIFO306にのみ転送する転送設定である。第2の転送設定は、受信パケットをRx FIFO304(第1のFIFO)及びRx FIFO306(第2のFIFO)に転送する二重転送設定である。そして、第3の転送設定は、受信パケットをRx FIFO304にのみ転送する転送設定である。
【0083】
これら第1〜第3の転送設定は、マイクロプロセッサ308がMAC309に対して行う。メインコントローラ101が省電力モードであると、マイクロプロセッサ308はMAC309に対して第1の転送設定を行う。また、メインコントローラ101が復帰動作中でかつRAM202に対してアクセス可能であると、マイクロプロセッサ308はMAC309に対して第2の転送設定(二重転送設定)を行う。そして、メインコントローラ101が通常電力モードであると、マイクロプロセッサ308はMAC309に対して第3の転送設定を行う。
【0084】
MAC309は、ステップS802において転送設定が第1〜第3の転送設定のいずれであるか確認する。転送設定が第1の転送設定であると(ステップS802において、「第1の転送設定」)、MAC309は、省電力モード中、復帰要因パケットを受信するまでRx FIFO306に対して受信パケットを転送する(ステップS803)。
【0085】
ステップS803における処理では、受信パケットはRx FIFO306にセットされ、マイクロプロセッサ308による応答処理の後、応答パケットがTx FIFO307に格納される。
【0086】
受信パケットの転送の後、MAC309は応答パケットが存在するか否かについて確認する(ステップS804)。応答パケットが存在しないと(ステップS804において、NO)、MAC309はステップS801に戻って処理を続行する。一方、応答パケットが存在すると(ステップS804において、YES)、MAC309は応答パケットをPHY310を介してLAN106に送出する(ステップS805)。そして、MAC309はステップS801に戻って処理を続行する。
【0087】
転送設定が第2の転送設定であると(ステップS802において、「第2の転送設定」)、復帰処理中でかつRAM202に対するアクセスが可能であるので、MAC309は、Rx FIFO304およびRx FIFO306に対して受信パケットを転送する(ステップS806)。
【0088】
ステップS806における処理では、受信パケットはRx FIFO304及びRx FIFO306の双方にセットされる。そして、前述したように、Rx FIFO304に格納された受信パケットは、I/F部301を介してRAM202にDMA転送される。
【0089】
その後、MAC309はステップS804に進んで、応答パケットが存在するか否かに確認する。
【0090】
転送設定が第3の転送設定であると(ステップS802において、「第3の転送設定」)、メインコントローラ101は通常電力モードであるので、MAC309は、RAM202に対して受信パケットを転送する(ステップS807)。
【0091】
ステップS807における処理では、受信パケットがRx FIFO304にセットされ、CPU201における応答処理の後、Tx FIFO305に応答パケットが格納される。
【0092】
その後、MAC309はステップS804に進んで、応答パケットが存在するか否かに確認する。
【0093】
ところで、図7に示すS710において受信パケットが破棄されても、ステップ806で説明したように、RAM202に受信パケットを転送すれば、メインコントローラ101が通常電力モードに復帰した後、CPU201が図6に示すステップS608において未応答のパケットに対して応答処理を行うことになる。これによって、復帰動作中の受信パケットの取りこぼしを防止することができる。
【0094】
上述のようにして、メインコントローラ101が復帰処理中においても、受信パケットに対して省電力モードと同様に受信パケットに対する応答を行うことができる。そして、メインコントローラ101が復帰処理中に受信した受信パケットにおいて、メインコントローラ101が通常電力モードに復帰した後でないと応答できない受信パケットついてはその取りこぼしを防止することができる。
【0095】
また、メインコントローラ101が復帰処理中にRAM202に保持された受信パケットについて、LAN I/F208に応答処理済であれば削除処理されるので、メインコントローラ101が再度受信パケットに対して応答処理を行うこと防止することができる。
【0096】
上述の説明から明らかなように、図3において、CPU201およびRAM202が、応答情報を生成する第1の生成手段として機能する。また、マイクロプロセッサ308、Rx FIFO306、およびRAM311が、応答情報を生成する第2の生成手段として機能する。そして、MAC309、Rx FIFO304、およびI/F301が、受信情報を転送する転送制御手段(転送制御部)として機能する。なお、Rx FIFO306およびRAM311は、受信情報を格納する第2の記憶手段(第2のメモリ)として機能する。PHY310は、外部機器から受信情報を受信する受信手段として機能する。
【0097】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【0098】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、情報処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有する制御プログラムを、情報処理装置が備えるコンピュータに実行させるようにしてもよい。
【0099】
この際、制御方法及び制御プログラムの各々は、少なくとも第1の生成ステップ、第2の生成ステップ、転送制御ステップ、応答処理ステップ、および削除ステップをを有することになる。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【0100】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0101】
201 CPU
202 RAM
207 システムバス
208 LANインタフェース(LAN I/F)
218 電源制御部
301 インタフェース部(I/F部)
308 マイクロプロセッサ
309 メディアアクセス制御部(MAC)
304、305、306、307 先入れ先出しメモリ(FIFO)

【特許請求の範囲】
【請求項1】
外部機器から受信した受信情報に対する応答情報を生成して、前記応答情報を送信する情報処理装置であって、
前記受信情報に対する前記応答情報を生成する第1の生成手段と、
前記第1の生成手段が前記応答情報を生成できない省電力状態にある場合、前記受信情報に対する前記応答情報を生成する第2の生成手段と、
前記第1の生成手段が前記省電力状態から前記応答情報を生成できる状態に移行しているときに、前記受信情報を前記第1および前記第2の生成手段の双方に転送する転送制御手段とを有し、
前記第1の生成手段は、前記転送制御手段によって前記第1の生成手段に転送された前記受信情報のうち、前記転送制御手段によって前記第2の生成手段に転送された前記受信情報であって前記第2の生成手段によって前記応答情報が生成された前記受信情報に対しては前記応答情報を生成しないことを特徴とする情報処理装置。
【請求項2】
前記第1の生成手段は、前記転送制御手段によって前記第1の生成手段に転送された前記受信情報のうち、前記第2の生成手段によって前記応答情報が生成されていない前記受信情報に対して前記応答情報を生成することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1の生成手段は前記受信情報を格納する第1の記憶手段を有し、
前記第2の生成手段は前記受信情報を格納する第2の記憶手段を有し、
前記転送制御手段は、前記第1の生成手段が前記省電力状態から前記応答情報を生成できる状態に移行しているときに、前記第1および前記第2の記憶手段に前記受信情報を転送することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記転送制御手段は、前記第1の生成手段が前記省電力状態から前記応答情報を生成できる状態に移行しているときに、前記第1の記憶手段がアクセス可能となるまで前記第2の記憶手段にのみ前記受信情報を転送して格納することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記第1の生成手段に対する電力の供給を制御する電力制御手段を有し、
前記第2の生成手段によって応答できない予め規定された復帰要因情報を前記外部機器から受信した際、前記電力制御手段は前記第1の生成手段に電力を供給することを特徴とする請求項1〜4のいずれか1項記載の情報処理装置。
【請求項6】
前記転送制御手段は、前記第1の生成手段が前記応答情報を生成できる状態である場合、前記受信情報を前記第1の生成手段にのみ転送することを特徴とする請求項1〜5のいずれか1項記載の情報処理装置。
【請求項7】
前記転送制御手段は、前記第1の生成手段が前記省電力状態にある場合、前記第2の生成手段にのみ前記受信情報を転送することを特徴とする請求項1〜5のいずれか1項記載の情報処理装置。
【請求項8】
外部機器から受信情報を受信し、前記受信情報を制御装置に転送する通信装置であって、
外部機器から受信情報を受信する受信手段と、
前記制御装置が前記受信情報に対して応答できない省電力状態にある場合、前記受信情報に対して応答する制御手段と、
前記制御装置が前記省電力状態から前記受信情報に対して応答できる状態に移行しているときに、前記受信情報を前記制御装置及び前記制御手段の双方に転送する転送制御手段とを有することを特徴とする通信装置。
【請求項9】
前記制御装置に転送すべき前記受信情報を記憶する第1のFIFOと、
前記制御手段に転送すべき前記受信情報を記憶する第2のFIFOとを有し、
前記転送制御手段は、前記制御装置が前記省電力状態から前記受信情報に対して応答できる状態に移行しているときに、前記受信情報を第1のFIFOと第2のFIFOの双方に転送することを特徴とする請求項8に記載の通信装置。
【請求項10】
外部機器から受信した受信情報に対する応答情報を生成して、前記応答情報を送信する情報処理装置の制御方法であって、
前記情報処理装置に備えられた第1の制御部によって、第1のメモリに格納された前記受信情報に対する前記応答情報を生成する第1の生成ステップと、
前記第1の制御部が前記応答情報を生成できない省電力状態にある場合、前記情報処理装置に備えられた第2の制御部によって、第2のメモリに格納された前記受信情報に対する前記応答情報を生成する第2の生成ステップと、
前記第1の制御部が前記省電力状態から前記応答情報を生成できる状態に移行しているときに、前記情報処理装置に備えられた転送制御部によって、前記受信情報を前記第1および前記第2のメモリの双方に転送する転送制御ステップとを有し、
前記第1の制御部によって、前記第1のメモリに転送された前記受信情報のうち、前記第2のメモリに転送された前記受信情報であって前記第2の制御部によって前記応答情報が生成された前記受信情報を削除する削除ステップを行うことを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−156645(P2012−156645A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−12239(P2011−12239)
【出願日】平成23年1月24日(2011.1.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】