JP2015001867A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2015001867A
JP2015001867A JP2013126535A JP2013126535A JP2015001867A JP 2015001867 A JP2015001867 A JP 2015001867A JP 2013126535 A JP2013126535 A JP 2013126535A JP 2013126535 A JP2013126535 A JP 2013126535A JP 2015001867 A JP2015001867 A JP 2015001867A
Authority
JP
Japan
Prior art keywords
endpoint
power
root complex
notification
switch
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
JP2013126535A
Other languages
English (en)
Other versions
JP6194651B2 (ja
Inventor
正太郎 宮本
Seitaro Miyamoto
正太郎 宮本
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2013126535A priority Critical patent/JP6194651B2/ja
Publication of JP2015001867A publication Critical patent/JP2015001867A/ja
Application granted granted Critical
Publication of JP6194651B2 publication Critical patent/JP6194651B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

【課題】PCI Express規格における複数のエンドポイントを有する情報処理装置において、第2エンドポイントに電源を供給したまま第1エンドポイントの電源を遮断すること。【解決手段】情報処理装置は、第1エンドポイント(EP)および第2EPを含む複数のEPと、複数のEPを制御するルート・コンプレックスと、ルート・コンプレックスと複数のEPとの間のデータ転送を中継するスイッチとを有し、ルート・コンプレックスは、複数のEPのうち第1EPに対して電源遮断を通知する通知手段を有し、ルート・コンプレックスは、通知の後で、第1EPとの間のリンクを切断するようにスイッチを制御する制御手段を有し、第1EPは、電源遮断の準備が完了したことをルート・コンプレックスに通知をする通知手段を有し、ルート・コンプレックスは、通知の後で、スイッチに、第1EPの電源を遮断させる電源遮断手段を有する。【選択図】図1

Description

本発明は情報処理装置に関する。
各種のデバイスを有する情報処理装置において、デバイスの電源を遮断して省電力状態に移行する技術が知られている(特許文献1ないし5)。
特開2009−176294号公報 特開2006−159678号公報 特開2012−168589号公報 特開2012−176611号公報 特開2005−225172号公報
本発明は、PCI Express規格における複数のエンドポイントを有する情報処理装置において、第2エンドポイントに電源を供給したまま第1エンドポイントの電源を遮断する技術を提供する。
本発明は、PCI Express規格におけるエンドポイントであって、第1エンドポイントおよび第2エンドポイントを含む複数のエンドポイントと、前記複数のエンドポイントを制御するルート・コンプレックスと、前記ルート・コンプレックスと前記複数のエンドポイントとの間のデータ転送を中継するスイッチとを有し、前記ルート・コンプレックスは、前記複数のエンドポイントのうち前記第1エンドポイントに対して電源遮断を通知する通知手段を有し、前記ルート・コンプレックスは、前記通知の後で、前記第1エンドポイントとの間のリンクを切断するように前記スイッチを制御する制御手段を有し、前記第1エンドポイントは、前記電源遮断の準備が完了したことを前記ルート・コンプレックスに通知をする通知手段を有し、前記ルート・コンプレックスは、前記通知の後で、前記スイッチに、前記第1エンドポイントの電源を遮断させる電源遮断手段を有する情報処理装置を提供する。
前記第1エンドポイントは、前記リンクの切断を検知する検知手段を有し、前記通知手段は、前記検知手段により前記リンクの切断が検知された後で、前記通知をしてもよい。
前記第1エンドポイントは、前記検知手段により前記リンクの切断が検知されると、電源遮断のための準備処理を行う処理手段を有してもよい。
前記通知手段は、前記準備処理が完了した後で、前記通知を行ってもよい。
前記検知手段は、前記電源遮断の通知を受けると、前記ルート・コンプレックスに対してポーリングを開始し、当該ポーリングに基づいて前記リンクの切断を検知してもよい。
前記スイッチおよび前記第1エンドポイントは、前記PCI Express規格外の信号線を介して接続され、前記スイッチは、前記信号線を介して供給される信号により、前記第1エンドポイントの電源を遮断させてもよい。
前記第2エンドポイントは、外部装置と通信する通信手段と、データを記憶する記憶手段と、前記電源遮断の通知に応じたデータの蓄積命令を受けると、前記通信手段を介して前記外部装置から受信したデータを前記記憶手段に記憶させ、前記スイッチが前記第1エンドポイントの電源を遮断させた後でデータの出力命令を受けると、前記記憶手段に記憶している前記データを、前記ルート・コンプレックスに出力してもよい。
前記ルート・コンプレックスは、当該ルート・コンプレックス、前記スイッチ、および前記複数のエンドポイントのうち電源が供給されているエンドポイントの間の複数のバスに識別番号を割り当て、前記スイッチが前記第1エンドポイントの電源を遮断させた後で、前記識別番号を割り当て直してもよい。
前記第1エンドポイントは、データを記憶するレジスタを有し、前記ルート・コンプレックスは、前記スイッチおよび前記第1エンドポイントの間のリンクが確立された状態で当該リンクを介して前記レジスタに前記電源遮断の通知を示すデータを書き込むことにより、前記電源遮断の通知を行ってもよい。
請求項1に係る発明によれば、PCI Express規格において、第2エンドポイントに電源を供給したまま第1エンドポイントの電源を遮断することができる。
請求項2に係る発明によれば、リンクの切断が検知された後で、電源を遮断することができる。
請求項3に係る発明によれば、第1エンドポイントの電源を遮断する際、電源遮断のための準備処理を行うことができる。
請求項4に係る発明によれば、準備処理が完了した後で電源を遮断することができる。
請求項5に係る発明によれば、ポーリングに基づいてリンクの切断を検出することができる。
請求項6に係る発明によれば、PCI Express規格の動作に影響を与えず、第1エンドポイントの電源を遮断することができる。
請求項7に係る発明によれば、外部装置からのデータの損失を防ぐことができる。
請求項8に係る発明によれば、識別番号の不連続性に起因する動作の不具合を防ぐことができる。
請求項9に係る発明によれば、レジスタを介して電源遮断の通知をすることができる。
一実施形態に係る情報処理装置1の構成を示す図。 情報処理装置1の動作の概要を示すシーケンスチャート。 バス番号の割り当てを例示する図。 ルート・コンプレックス31の動作の具体例を示すフローチャート。 エンドポイント34の動作の具体例を示すフローチャート。 エンドポイント33の動作モードの切り換え処理を示すフローチャート。 エンドポイント33が受信したデータの処理を示すフローチャート。
1.構成
図1は、一実施形態に係る情報処理装置1の構成を示す図である。情報処理装置1は、例えば、画像形成装置(より具体的には、ファクシミリ、スキャナ、プリンタとしての機能を兼ね備えた装置)である。なお情報処理装置1は画像形成装置に限定されず、例えば汎用のパーソナルコンピュータであってもよい。情報処理装置1は、CPU10と、メモリ20と、PCI装置群30とを有する。CPU10は、情報処理装置1の各構成要素を制御するため、各種の処理(演算)を行なう処理装置である。メモリ20は、CPU10がプログラムを実行するときのワークエリアとして機能する記憶装置である。
PCI装置群30は、あらかじめ決められた規格、この例ではPCI Express(PCIエクスプレス。PCIeと表記されることもある)に従った入出力装置群およびその制御装置群である。PCI装置群30は、ルート・コンプレックス31と、スイッチ32と、エンドポイント33と、エンドポイント34とを有する。ルート・コンプレックス31は、PCI装置群30に含まれる他の装置を制御する制御装置である。ルート・コンプレックス31は、システムバスを介してCPU10に、メモリバスを介してメモリ20に、それぞれ接続されている。スイッチ32は、ルート・コンプレックス31からの信号をエンドポイントに中継する装置である。スイッチ32には、複数のエンドポイントが接続される。この例では、エンドポイント33およびエンドポイント34の2つのエンドポイントが接続される。エンドポイントは、入出力装置である。例えば、エンドポイント33はネットワークを介した通信を行う通信装置であり、エンドポイント34は表示装置である。なお、図1では図面を簡単にするため1つのスイッチおよび2つのエンドポイントのみが示されているが、ルート・コンプレックス31には複数のスイッチが接続されていてもよく、一のスイッチには3つ以上のエンドポイントが接続されていてもよい。また、スイッチの下段にさらにスイッチが接続されてもよい。
省電力化の要請に応えるためには、あるエンドポイントに電源を供給したまま、別のエンドポイントの電源を遮断することが要求される場合がある。しかし、PCI Expressにおいては、ルート・コンプレックスから、他のエンドポイントに電源を供給したまま一のエンドポイントの電源を遮断することができないという問題がある。本実施形態においては、エンドポイント33に電源を供給したまま、エンドポイント34の電源が遮断される。
ルート・コンプレックス31は、通知手段311と、制御手段312と、電源遮断手段314と、割り当て手段315とを有する。スイッチ32は、リンク制御手段321と、電源遮断手段322とを有する。エンドポイント33は、通信手段331と、記憶手段332と、記憶制御手段333と、出力手段334とを有する。エンドポイント34は、通知手段341と、検知手段342と、処理手段343とを有する。
通知手段311は、エンドポイント34に対して電源遮断を通知する。制御手段312は、この通知の後で、エンドポイント34との間のリンクを切断するようにスイッチ32を制御する。検知手段342は、このリンクの切断を検知する。処理手段343は、検知手段342によりリンクの切断が検知されると、電源遮断のための準備処理を行う。通知手段341は、電源遮断の準備が完了したことをルート・コンプレックス31に通知をする。電源遮断手段314は、この通知の後で、スイッチ32に、エンドポイント34の電源を遮断させる。
通信手段331は、外部装置と通信する。記憶手段332は、データを記憶する。記憶制御手段333は、電源遮断の命令に応じてデータの蓄積命令を受けると、通信手段331を介してこの外部装置から受信したデータを記憶手段332に記憶させる。出力手段334は、スイッチ32がエンドポイント34の電源を遮断させた後でデータの出力命令を受けると、記憶手段332に記憶されているデータを、ルート・コンプレックス31に出力する。
また、割り当て手段315は、ルート・コンプレックス31、スイッチ32、および複数のエンドポイントのうち電源が供給されているエンドポイントの間の複数のバスに識別番号を割り当てる。割り当て手段315は、スイッチ32がエンドポイント34の電源を遮断させた後で、この識別番号を割り当て直す。
この例で、ルート・コンプレックス31、スイッチ32、エンドポイント33、およびエンドポイント34はそれぞれ、ハードウェア要素として、プロセッサおよびメモリ(またはレジスタ)を有する(いずれも図示略)。これらのプロセッサが、与えられたプログラムまたは入力された信号に応じて動作することにより、上記の機能が各装置に実装される。
2.動作
図2は、情報処理装置1の動作の概要を示すシーケンスチャートである。図2のシーケンスは、あらかじめ決められたイベント、例えば、情報処理装置1がユーザにより最後に操作されたときからあらかじめ決められた時間が経過したというイベントを契機として開始される。なお、図2以降の図において、ルート・コンプレックス、スイッチ、およびエンドポイントを、それぞれ、RC、SW、およびEPと表記する。
ステップS10において、ルート・コンプレックス31は、電源を遮断するエンドポイント(この例ではエンドポイント34)に対し、電源遮断の通知(または省エネモードへの移行通知)を発行する。また、電源遮断の通知に続いて、ルート・コンプレックス31は、電源を遮断しないエンドポイント(この例ではエンドポイント33)に対し、蓄積モードへの移行命令を発行する。蓄積モードとは、外部装置から受信したデータをルート・コンプレックス31に出力せず、エンドポイントの内部メモリに蓄積しておく動作モードである。
電源遮断の通知を受けると、エンドポイント34は、ルート・コンプレックス31に対してポーリングを開始する(ステップS11)。このポーリングは、ルート・コンプレックス31との間のリンクが切断された(すなわちリンクの状態がディセーブルになった)ことを検知するために行なわれる。エンドポイント34は、ポーリングに対して応答が返ってくる間はリンクが維持されている(すなわちリンクの状態がイネーブルである)と判断し、ポーリングに対してあらかじめ決められた時間内に応答が返ってこないとリンクが切断されたと判断する。
蓄積モードへの移行命令を受けると、エンドポイント33は、自身の動作モードをデータ蓄積モードに移行させる(ステップS12)。データ蓄積モードにおいて、エンドポイント33は、外部装置から受信したデータを記憶手段332に記憶する。
電源遮断の通知を発行すると、ルート・コンプレックス31は、電源を遮断するエンドポイント(この例ではエンドポイント34)との間のリンクを切断する命令を、スイッチ32に発行する(ステップS13)。
リンク切断の命令を受けると、スイッチ32は、命令で指定されたエンドポイント(この例ではエンドポイント34)とのリンクを切断する(ステップS14)。エンドポイント34とのリンクが切断されると、ルート・コンプレックス31はエンドポイント34からのポーリングに応答しなくなる。したがって、エンドポイント34は、ルート・コンプレックス31との間のリンクが切断されたことを検知する(ステップS15)。リンクが切断されたことを検知すると、エンドポイント34は、省エネモードへの移行処理(省エネ移行シーケンス)を実行する(ステップS16)。省エネモードへの移行処理は、例えば、省エネモードから通常モードへ復帰したときに用いられるデータを不揮発性メモリに退避する処理を含む。省エネモードへの移行処理が完了すると、エンドポイント34は、省エネモードへの移行処理が完了した旨を、ルート・コンプレックス31に通知する(ステップS17)。なお、この時点ではルート・コンプレックス31とエンドポイント34との間のリンクは既に切断されているので、この通知は、PCI Express規格外の信号線を介して送信される。具体的には、エンドポイント34とスイッチ32との間にPCI Express規格外の信号線が設けられており、この信号線を介して、省エネモードへの移行処理が完了した旨の通知が送信される。
省エネモードへの移行処理が完了した旨の通知を受けると、ルート・コンプレックス31は、省エネモードへの移行処理が完了したエンドポイント(この例ではエンドポイント34)の電源を遮断する命令を、スイッチ32に発行する(ステップS18)。ルート・コンプレックス31から電源を遮断する命令を受けると、スイッチ32は、指定されたエンドポイントの電源を遮断する(ステップS19)。
電源を遮断する命令をスイッチ32に発行すると、ルート・コンプレックス31は、あらかじめ決められたアルゴリズムに従って、バス番号(識別番号)を割り当て直す(ステップS20)。PCI装置群30において、2つの装置間のバス、この例では、ルート・コンプレックス31とスイッチ32との間のバス、スイッチ32とエンドポイント33との間のバス、およびスイッチ32とエンドポイント34との間のバスには、それぞれバス番号が割り当てられている。バス番号は、PCI Express規格上の制御において用いられる。
図3は、バス番号の割り当てを例示する図である。図3(A)は、エンドポイント34の電源を遮断する前のバス番号の割り当てを例示している。この例では、ルート・コンプレックス31とスイッチ32との間のバスにバス番号「1」が、スイッチ32の内部バスにバス番号「2」が、スイッチ32とエンドポイント34との間のバスにバス番号「3」が、スイッチ32とエンドポイント33との間のバスにバス番号「4」が、それぞれ割り当てられている。
この状態でスイッチ32とエンドポイント34との間のリンクが切断されると、バス番号「3」が欠番になる。バス番号が不連続であると、PCI装置群30の動作に不具合が生じる場合がある。そこで、本実施形態においては、リンクが切断された後でバス番号を割り当て直すことにより、このような不具合の発生を防止する。
図3(B)は、エンドポイント34の電源を遮断した後のバス番号の割り当てを例示している。この例では、ルート・コンプレックス31とスイッチ32との間のバスにバス番号「1」が、スイッチ32の内部バスにバス番号「2」が、スイッチ32とエンドポイント33との間のバスにバス番号「3」が、それぞれ割り当てられている。
再び図2を参照する。バス番号が振り直されると、ルート・コンプレックス31は、電源を遮断しないエンドポイント(この例ではエンドポイント33)に対し、蓄積モードの解除通知(すなわち通常モードへの移行通知)を発行する(ステップS21)。
蓄積モードの解除通知を受けると、エンドポイント33は、内部メモリに蓄積したデータを順に(先に受信したものから順に)、ルート・コンプレックス31に出力(転送)する(ステップS22)。ルート・コンプレックス31は、エンドポイント33から供給されたデータに従った処理を行う。
この例によれば、他のエンドポイント(上述の例ではエンドポイント33)に電源を供給したまま、特定のエンドポイント(上述の例ではエンドポイント34)の電源が遮断される。また、この際、バス番号が不連続になることによる不具合の発生が防止される。以上が情報処理装置1の動作の概要である。以下、各装置の動作例についてより詳細に説明する。
図4は、ルート・コンプレックス31およびスイッチ32の動作の具体例を示すフローチャートである。図4のフローは、例えば、CPU10から、エンドポイント34の電源を遮断すること(エンドポイント34を省エネモードに移行すること)が指示されたことを契機として開始される。
ステップS101において、ルート・コンプレックス31は、電源を遮断させるエンドポイントがあるか判断する。電源を遮断させるエンドポイントがあると判断された場合(S101:YES)、ルート・コンプレックス31は、処理をステップS102に移行する。電源を遮断させるエンドポイントがないと判断された場合(S101:NO)、ルート・コンプレックス31は、処理をステップS103に移行する。
ステップS102において、ルート・コンプレックス31は、電源を遮断させるエンドポイント(この例ではエンドポイント34)のコンフィグレーション空間において、電源遮断(すなわち省エネモードへの移行)を示すフラグの値を「オン」に書き換える。コンフィグレーション空間とは、各装置が有するレジスタ空間(またはメモリ空間)のことをいう。コンフィグレーション空間は、その一部がPCI Express規格において使用されるが、PCI Express規格で使用されない空き領域もあり、ここではその空き領域に電源遮断のフラグの値が書き込まれる。
ステップS103において、ルート・コンプレックス31は、電源を遮断しないエンドポイントがあるか判断する。電源を遮断しないエンドポイントがあると判断された場合(S103:YES)、ルート・コンプレックス31は、処理をステップS104に移行する。電源を遮断しないエンドポイントがないと判断された場合(S103:NO)、ルート・コンプレックス31は、処理をステップS106に移行する。
ステップS104において、ルート・コンプレックス31は、電源の遮断が完了するまでの間(すなわち省エネ移行中)も通信を行うか判断する。省エネ移行中も通信を行うと判断された場合(S104:YES)、ルート・コンプレックス31は、処理をステップS105に移行する。省エネ移行中は通信を行わないと判断された場合(S104:NO)、ルート・コンプレックス31は、処理をステップS106に移行する。
ステップS105において、ルート・コンプレックス31は、電源を遮断させないエンドポイント(この例ではエンドポイント33)のコンフィグレーション空間において、蓄積モードを示すフラグの値を「オン」に書き換える。
ステップS106において、ルート・コンプレックス31は、スイッチ32のコンフィグレーション空間において、スイッチ32と電源を遮断するエンドポイント(この例ではエンドポイント34)との間のリンクを切断(ディセーブル)するフラグの値を切断を示す値(例えば「オフ」)に書き換える。
ステップS107において、ルート・コンプレックス31は、電源を遮断するエンドポイントから供給される信号線のポートに入力される信号のレベルが、省エネモードへの移行が完了したことを示している(例えばハイレベル)か判断する。省エネモードへの移行が完了したことが示されている場合(S107:YES)、ルート・コンプレックス31は、処理をステップS110に移行する。省エネモードへの移行が完了していないことが示されている場合(S107:NO)、ルート・コンプレックス31は、処理をステップS108に移行する。
ステップS108において、ルート・コンプレックス31は、タイムアウト期間が経過し、かつ、入力される信号のレベルが省エネモードへの移行が完了していないことを示している(例えばローレベル)か判断する。タイムアウト期間が経過し、かつ、省エネモードへの移行が完了していないことが示されている場合(S108:YES)、ルート・コンプレックス31は、CPU10にエラーを返す。タイムアウト期間が経過していない場合(S108:NO)、ルート・コンプレックス31は、処理をステップS109に移行する。
ステップS109において、ルート・コンプレックス31は、あらかじめ決められた期間(この例では10マイクロ秒)待機する。待機後、ルート・コンプレックス31は、処理を再びステップS107に移行する。
ステップS110において、ルート・コンプレックス31は、スイッチ32の汎用入出力(GPIO)にアクセスし、省エネモードに移行させるエンドポイントの電源を遮断するよう、スイッチ32に命令する。ステップS111において、ルート・コンプレックス31は、PCI装置群30におけるバスをサーチし、バス番号を割り当て直す。ステップS112において、ルート・コンプレックス31は、蓄積モードに移行させるエンドポイント(この例ではエンドポイント33)のコンフィグレーション空間において、蓄積モードへの移行を示すフラグの値を「オフ」(すなわち通常モード(蓄積モード解除)を示すもの)に書き換える。
図5は、エンドポイント34の動作の具体例を示すフローチャートである。ステップS201において、エンドポイント34は、命令(コマンド)を受信したか判断する。命令を受信したと判断された場合(S201:YES)、エンドポイント34は、処理をステップS202に移行する。命令を受信していないと判断された場合(S201:NO)、エンドポイント34は、命令を受信するまで待機する。
ステップS202において、エンドポイント34は、受信した命令が電源遮断の命令であるか判断する。受信した命令が電源遮断の命令であると判断された場合(S202:YES)、エンドポイント34は、処理をステップS203に移行する。受信した命令が電源遮断の命令でないと判断された場合(S202:NO)、エンドポイント34は、受信した命令に従った処理を行う(ステップS207)。
ステップS203において、エンドポイント34は、ルート・コンプレックス31とのリンクが切断されたか判断する。具体的には、エンドポイント34は、ルート・コンプレックス31に対しポーリングを行い、ポーリングに対する応答があればリンクが維持されていると判断し、応答が無ければリンクが切断されたと判断する。リンクが切断されたと判断された場合(S203:YES)、エンドポイント34は、処理をステップS204に移行する。リンクが維持されていると判断された場合(S203:NO)、エンドポイント34は、リンクの切断を検出するまで待機する。
ステップS204において、エンドポイント34は、電源遮断の準備処理(上述の省エネ移行シーケンス)を実行する。ステップS205において、エンドポイント34は、ルート・コンプレックス31との間に設けられている、電源遮断の準備処理が完了した旨を通知するための信号線に供給される信号のレベルを、電源遮断の準備処理が完了した旨を示すレベル(例えばハイレベル)に変化させる。ステップS206において、エンドポイント34は、電源が遮断されるのを待つ。
図6は、エンドポイント33の動作の具体例、詳細には、動作モードの切り換え処理を示すフローチャートである。図6のフローは、例えば、CPU10から、エンドポイント33の動作モードの切り換え処理が呼び出されたこと(すなわち動作モードの切り換えが指示されたこと)を契機として開始される。
ステップS301において、エンドポイント33は、自身のコンフィグレーション空間において蓄積モードのフラグがオンになっているか判断する。蓄積モードのフラグがオンになっていると判断された場合(S301:YES)、エンドポイント33は、処理をステップS304に移行する。蓄積モードのフラグがオフになっていると判断された場合(S301:NO)、エンドポイント33は、処理をステップS302に移行する。
ステップS302において、エンドポイント33は、動作モードを通常モードに設定する。具体的には、動作モードを示すレジスタの値を、通常モードを示すものに書き換える。ステップS303において、エンドポイント33は、自身の内部メモリ空間に蓄積したデータを、ルート・コンプレックス31に対して開放している(すなわちルート・コンプレックス31からアクセス可能な)メモリ空間にコピーする。ルート・コンプレックス31は、このメモリ空間からデータを取得することが可能になる。
ステップS304において、エンドポイント33は、動作モードを蓄積モードに設定する。具体的には、動作モードを示すレジスタの値を、蓄積モードを示すものに書き換える。ステップS303またはS304の処理を終了すると、エンドポイント33は、図6のフローを終了する。すなわち、呼び出し元に、動作モードの切り換え処理が完了したことを通知する。
図7は、エンドポイント33の動作の具体例、詳細には、外部装置から受信したデータの処理を示すフローチャートである。図7のフローは、例えば、エンドポイント33の他の処理からから、データの転送処理が呼び出されたこと(すなわちデータの転送が指示されたこと)を契機として開始される。
ステップS401において、エンドポイント33は、動作モードが蓄積モードであるか判断する。動作モードは、動作モードを示すレジスタの値に基づいて判断される。動作モードが蓄積モードであると判断された場合(S401:YES)、エンドポイント33は、処理をステップS403に移行する。動作モードが通常モードであると判断された場合(S401:NO)、エンドポイント33は、処理をステップS402に移行する。
ステップS402において、エンドポイント33は、外部装置から受信したデータを、ルート・コンプレックス31に対して開放しているメモリ空間に書き込む。
ステップS403において、エンドポイント33は、外部装置から受信したデータを、エンドポイント33の内部メモリ空間に書き込む。
3.変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
実施形態で説明した機能または処理の一部は省略されてもよい。例えば、バス番号の割り当て直しの処理は省略されてもよい。装置によっては、バス番号が不連続でも不具合が起きない場合もある。別の例で、エンドポイント33におけるデータの蓄積は行なわれなくてもよい。すなわち、エンドポイント33は、エンドポイント34が電源遮断の途中であっても、通常どおりデータ転送を行なってもよい。
1…情報処理装置、10…CPU、20…メモリ、30…PCI装置群、31…ルート・コンプレックス、32…スイッチ、33…エンドポイント、34…エンドポイント、311…通知手段、312…制御手段、313…通知手段、314…電源断手段、315…割り当て手段、321…リンク制御手段、322…電源断手段、331…通信手段、332…記憶手段、333…記憶制御手段、334…出力手段、341…通知手段、342…検知手段、343…処理手段

Claims (9)

  1. PCI Express規格におけるエンドポイントであって、第1エンドポイントおよび第2エンドポイントを含む複数のエンドポイントと、
    前記複数のエンドポイントを制御するルート・コンプレックスと、
    前記ルート・コンプレックスと前記複数のエンドポイントとの間のデータ転送を中継するスイッチと
    を有し、
    前記ルート・コンプレックスは、前記複数のエンドポイントのうち前記第1エンドポイントに対して電源遮断を通知する通知手段を有し、
    前記ルート・コンプレックスは、前記通知の後で、前記第1エンドポイントとの間のリンクを切断するように前記スイッチを制御する制御手段を有し、
    前記第1エンドポイントは、前記電源遮断の準備が完了したことを前記ルート・コンプレックスに通知をする通知手段を有し、
    前記ルート・コンプレックスは、前記通知の後で、前記スイッチに、前記第1エンドポイントの電源を遮断させる電源遮断手段を有する
    情報処理装置。
  2. 前記第1エンドポイントは、前記リンクの切断を検知する検知手段を有し、
    前記通知手段は、前記検知手段により前記リンクの切断が検知された後で、前記通知をする
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1エンドポイントは、前記検知手段により前記リンクの切断が検知されると、電源遮断のための準備処理を行う処理手段を有する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記通知手段は、前記準備処理が完了した後で、前記通知を行う
    ことを特徴とする請求項3に記載の情報処理装置、
  5. 前記検知手段は、前記電源遮断の通知を受けると、前記ルート・コンプレックスに対してポーリングを開始し、当該ポーリングに基づいて前記リンクの切断を検知する
    ことを特徴とする請求項3または4に記載の情報処理装置。
  6. 前記スイッチおよび前記第1エンドポイントは、前記PCI Express規格外の信号線を介して接続され、
    前記スイッチは、前記信号線を介して供給される信号により、前記第1エンドポイントの電源を遮断させる
    ことを特徴とする請求項1ないし5のいずれか一項に記載の情報処理装置。
  7. 前記第2エンドポイントは、
    外部装置と通信する通信手段と、
    データを記憶する記憶手段と、
    前記電源遮断の通知に応じてデータの蓄積命令を受けると、前記通信手段を介して前記外部装置から受信したデータを前記記憶手段に記憶させ、
    前記スイッチが前記第1エンドポイントの電源を遮断させた後でデータの出力命令を受けると、前記記憶手段に記憶されている前記データを、前記ルート・コンプレックスに出力する
    ことを特徴とする請求項1ないし6のいずれか一項に記載の情報処理装置。
  8. 前記ルート・コンプレックスは、当該ルート・コンプレックス、前記スイッチ、および前記複数のエンドポイントのうち電源が供給されているエンドポイントの間の複数のバスに識別番号を割り当て、
    前記スイッチが前記第1エンドポイントの電源を遮断させた後で、前記識別番号を割り当て直す
    ことを特徴とする請求項1ないし7のいずれか一項に記載の情報処理装置。
  9. 前記第1エンドポイントは、データを記憶するレジスタを有し、
    前記ルート・コンプレックスは、前記スイッチおよび前記第1エンドポイントの間のリンクが確立された状態で当該リンクを介して前記レジスタに前記電源遮断の通知を示すデータを書き込むことにより、前記電源遮断の通知を行う
    ことを特徴とする請求項1ないし8のいずれか一項に記載の情報処理装置。
JP2013126535A 2013-06-17 2013-06-17 情報処理装置 Expired - Fee Related JP6194651B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013126535A JP6194651B2 (ja) 2013-06-17 2013-06-17 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013126535A JP6194651B2 (ja) 2013-06-17 2013-06-17 情報処理装置

Publications (2)

Publication Number Publication Date
JP2015001867A true JP2015001867A (ja) 2015-01-05
JP6194651B2 JP6194651B2 (ja) 2017-09-13

Family

ID=52296348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013126535A Expired - Fee Related JP6194651B2 (ja) 2013-06-17 2013-06-17 情報処理装置

Country Status (1)

Country Link
JP (1) JP6194651B2 (ja)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018081688A (ja) * 2016-11-10 2018-05-24 アップル インコーポレイテッド 周辺サブシステム用に個別の電力制御を提供するための方法及び装置
CN108307463A (zh) * 2018-01-30 2018-07-20 江苏信源达科技有限公司 模式切换方法、系统及门禁系统
US10268261B2 (en) 2014-10-08 2019-04-23 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
US10346226B2 (en) 2017-08-07 2019-07-09 Time Warner Cable Enterprises Llc Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
US10372637B2 (en) 2014-09-16 2019-08-06 Apple Inc. Methods and apparatus for aggregating packet transfer over a virtual bus interface
US10552352B2 (en) 2015-06-12 2020-02-04 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
US10551902B2 (en) 2016-11-10 2020-02-04 Apple Inc. Methods and apparatus for providing access to peripheral sub-system registers
US10558580B2 (en) 2016-02-29 2020-02-11 Apple Inc. Methods and apparatus for loading firmware on demand
US10585699B2 (en) 2018-07-30 2020-03-10 Apple Inc. Methods and apparatus for verifying completion of groups of data transactions between processors
US10719376B2 (en) 2018-08-24 2020-07-21 Apple Inc. Methods and apparatus for multiplexing data flows via a single data structure
US10841880B2 (en) 2016-01-27 2020-11-17 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
US10846224B2 (en) 2018-08-24 2020-11-24 Apple Inc. Methods and apparatus for control of a jointly shared memory-mapped region
US10853272B2 (en) 2016-03-31 2020-12-01 Apple Inc. Memory access protection apparatus and methods for memory mapped access between independently operable processors
US11176064B2 (en) 2018-05-18 2021-11-16 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US11558348B2 (en) 2019-09-26 2023-01-17 Apple Inc. Methods and apparatus for emerging use case support in user space networking
US11606302B2 (en) 2020-06-12 2023-03-14 Apple Inc. Methods and apparatus for flow-based batching and processing
US11775359B2 (en) 2020-09-11 2023-10-03 Apple Inc. Methods and apparatuses for cross-layer processing
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US11799986B2 (en) 2020-09-22 2023-10-24 Apple Inc. Methods and apparatus for thread level execution in non-kernel space
US11829303B2 (en) 2019-09-26 2023-11-28 Apple Inc. Methods and apparatus for device driver operation in non-kernel space
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11882051B2 (en) 2021-07-26 2024-01-23 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11954540B2 (en) 2020-09-14 2024-04-09 Apple Inc. Methods and apparatus for thread-level execution in non-kernel space

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006159678A (ja) * 2004-12-08 2006-06-22 Canon Inc シリアルバスにおける記録装置
JP2009123217A (ja) * 2007-11-15 2009-06-04 Internatl Business Mach Corp <Ibm> データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
JP2009140081A (ja) * 2007-12-04 2009-06-25 Shinko Electric Ind Co Ltd 情報処理装置および方法
JP2012176611A (ja) * 2011-01-31 2012-09-13 Canon Inc 画像処理装置、記録装置、及び画像処理装置の制御方法
JP2012221443A (ja) * 2011-04-14 2012-11-12 Seiko Epson Corp コントローラー、電子機器、及び画像処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006159678A (ja) * 2004-12-08 2006-06-22 Canon Inc シリアルバスにおける記録装置
JP2009123217A (ja) * 2007-11-15 2009-06-04 Internatl Business Mach Corp <Ibm> データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
JP2009140081A (ja) * 2007-12-04 2009-06-25 Shinko Electric Ind Co Ltd 情報処理装置および方法
JP2012176611A (ja) * 2011-01-31 2012-09-13 Canon Inc 画像処理装置、記録装置、及び画像処理装置の制御方法
JP2012221443A (ja) * 2011-04-14 2012-11-12 Seiko Epson Corp コントローラー、電子機器、及び画像処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
塙 敏博 TOSHIHIRO HANAWA: "ディペンダブルな組込みシステムに適した省電力高性能通信機構 Low-Power and High-Performance Communica", 情報処理学会研究報告 VOL.2007 NO.122 IPSJ SIG TECHNICAL REPORTS, vol. 第2007巻、第122号, JPN6017000985, 7 December 2007 (2007-12-07), JP, pages 31 - 36 *

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372637B2 (en) 2014-09-16 2019-08-06 Apple Inc. Methods and apparatus for aggregating packet transfer over a virtual bus interface
US10845868B2 (en) 2014-10-08 2020-11-24 Apple Inc. Methods and apparatus for running and booting an inter-processor communication link between independently operable processors
US10268261B2 (en) 2014-10-08 2019-04-23 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
US10372199B2 (en) 2014-10-08 2019-08-06 Apple Inc. Apparatus for managing power and running and booting an inter-processor communication link between independently operable processors
US10684670B2 (en) 2014-10-08 2020-06-16 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
US10551906B2 (en) 2014-10-08 2020-02-04 Apple Inc. Methods and apparatus for running and booting inter-processor communication link between independently operable processors
US11176068B2 (en) 2015-06-12 2021-11-16 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
US10552352B2 (en) 2015-06-12 2020-02-04 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
US10841880B2 (en) 2016-01-27 2020-11-17 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
US10846237B2 (en) 2016-02-29 2020-11-24 Apple Inc. Methods and apparatus for locking at least a portion of a shared memory resource
US10558580B2 (en) 2016-02-29 2020-02-11 Apple Inc. Methods and apparatus for loading firmware on demand
US10572390B2 (en) 2016-02-29 2020-02-25 Apple Inc. Methods and apparatus for loading firmware on demand
US10853272B2 (en) 2016-03-31 2020-12-01 Apple Inc. Memory access protection apparatus and methods for memory mapped access between independently operable processors
US10551902B2 (en) 2016-11-10 2020-02-04 Apple Inc. Methods and apparatus for providing access to peripheral sub-system registers
JP2018081688A (ja) * 2016-11-10 2018-05-24 アップル インコーポレイテッド 周辺サブシステム用に個別の電力制御を提供するための方法及び装置
US11809258B2 (en) 2016-11-10 2023-11-07 Apple Inc. Methods and apparatus for providing peripheral sub-system stability
US10775871B2 (en) 2016-11-10 2020-09-15 Apple Inc. Methods and apparatus for providing individualized power control for peripheral sub-systems
US10591976B2 (en) 2016-11-10 2020-03-17 Apple Inc. Methods and apparatus for providing peripheral sub-system stability
US10489223B2 (en) 2017-08-07 2019-11-26 Apple Inc. Methods and apparatus for scheduling time sensitive operations among independent processors
US10346226B2 (en) 2017-08-07 2019-07-09 Time Warner Cable Enterprises Llc Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
US11068326B2 (en) 2017-08-07 2021-07-20 Apple Inc. Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
US11314567B2 (en) 2017-08-07 2022-04-26 Apple Inc. Methods and apparatus for scheduling time sensitive operations among independent processors
CN108307463A (zh) * 2018-01-30 2018-07-20 江苏信源达科技有限公司 模式切换方法、系统及门禁系统
US11843683B2 (en) 2018-03-28 2023-12-12 Apple Inc. Methods and apparatus for active queue management in user space networking
US11824962B2 (en) 2018-03-28 2023-11-21 Apple Inc. Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US11176064B2 (en) 2018-05-18 2021-11-16 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US10585699B2 (en) 2018-07-30 2020-03-10 Apple Inc. Methods and apparatus for verifying completion of groups of data transactions between processors
US10719376B2 (en) 2018-08-24 2020-07-21 Apple Inc. Methods and apparatus for multiplexing data flows via a single data structure
US11347567B2 (en) 2018-08-24 2022-05-31 Apple Inc. Methods and apparatus for multiplexing data flows via a single data structure
US10846224B2 (en) 2018-08-24 2020-11-24 Apple Inc. Methods and apparatus for control of a jointly shared memory-mapped region
US11829303B2 (en) 2019-09-26 2023-11-28 Apple Inc. Methods and apparatus for device driver operation in non-kernel space
US11558348B2 (en) 2019-09-26 2023-01-17 Apple Inc. Methods and apparatus for emerging use case support in user space networking
US11606302B2 (en) 2020-06-12 2023-03-14 Apple Inc. Methods and apparatus for flow-based batching and processing
US11775359B2 (en) 2020-09-11 2023-10-03 Apple Inc. Methods and apparatuses for cross-layer processing
US11954540B2 (en) 2020-09-14 2024-04-09 Apple Inc. Methods and apparatus for thread-level execution in non-kernel space
US11799986B2 (en) 2020-09-22 2023-10-24 Apple Inc. Methods and apparatus for thread level execution in non-kernel space
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11882051B2 (en) 2021-07-26 2024-01-23 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements

Also Published As

Publication number Publication date
JP6194651B2 (ja) 2017-09-13

Similar Documents

Publication Publication Date Title
JP6194651B2 (ja) 情報処理装置
JP2013069110A (ja) 制御装置およびプログラム
US8726056B2 (en) Clock control device, clock control method, clock control program and integrated circuit
US20120151231A1 (en) Power supply switching device, a power supply switching device control method and a power supply control program
JP5321866B2 (ja) コンピュータシステム
KR20120063828A (ko) Mla의 소비 전력을 줄이기 위한 멀티 포트 메모리 장치의 전원제어방법
JP2009020555A (ja) スワップ処理装置
JP2013176878A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US9392133B2 (en) Information processing apparatus and image forming apparatus
JP2012059178A (ja) Usbハブ装置
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
JP6669969B2 (ja) 機能拡張装置、電子回路、電子システム及び電力制御プログラム
US8522060B2 (en) Computer system, method for controlling the same, and program
JP2017016219A (ja) 電子機器および給電制御プログラム
JP2010055265A (ja) システムlsi、システムlsiの制御方法、プログラム、及び記憶媒体
US20180157495A1 (en) Computer system
JP6649579B2 (ja) 電子システム、機能拡張装置及び電源管理プログラム
JP6252799B2 (ja) 演算処理装置およびその制御方法
JP2015060412A (ja) データ保護装置、データ保護方法及びデータ保護プログラム
JP5665529B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2015014962A (ja) 演算装置、演算方法、及びプログラム
JP2012160140A (ja) 電子機器およびシステム管理プログラム
JP2014067215A (ja) 省電力システム及び画像形成装置
JP2019160150A (ja) 半導体装置
JPH06337742A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170705

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170731

R150 Certificate of patent or registration of utility model

Ref document number: 6194651

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees