JP2014523584A - Usbデバイスのための電力管理モジュール - Google Patents

Usbデバイスのための電力管理モジュール Download PDF

Info

Publication number
JP2014523584A
JP2014523584A JP2014518545A JP2014518545A JP2014523584A JP 2014523584 A JP2014523584 A JP 2014523584A JP 2014518545 A JP2014518545 A JP 2014518545A JP 2014518545 A JP2014518545 A JP 2014518545A JP 2014523584 A JP2014523584 A JP 2014523584A
Authority
JP
Japan
Prior art keywords
function
host
endpoint
state
suspend
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.)
Pending
Application number
JP2014518545A
Other languages
English (en)
Other versions
JP2014523584A5 (ja
Inventor
ムーア,テリル,エム
ウェビョルン,マッツ
ウォン,チェヒ
チス,フラウィウ,クリスチャン
Original Assignee
エムシーシーアイ コーポレイション
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 エムシーシーアイ コーポレイション filed Critical エムシーシーアイ コーポレイション
Publication of JP2014523584A publication Critical patent/JP2014523584A/ja
Publication of JP2014523584A5 publication Critical patent/JP2014523584A5/ja
Pending legal-status Critical Current

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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • 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/325Power saving in peripheral device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Power Sources (AREA)

Abstract

【課題】USBデバイスのサスペンド状態への移行が未処理データ等の存在によって妨げられることの防止。
【解決手段】USBホストからのサスペンドのための要求の受信に応答し、多機能USBデバイスをサスペンドし;各デバイス機能を不定状態、ロック状態、又はアンロック状態に割り当て;アンロック状態にある所与の機能に未処理のデータ又はホスト注意喚起のための要求がある場合、当該デバイスに対しレジュームすることを許可し、前記所与の機能をロック状態に割り当て;それ以外の場合、たとえロック状態にある1以上の機能に未処理のデータがある場合であっても、サスペンドを維持することを含む、多機能USBデバイスの電力を管理するシステム及び方法。
【選択図】図3

Description

関連出願の相互参照
本願は、2011年6月30日にTerrill M. Moore他により出願された「Power Management Module for USB Devices」と題する米国仮特許出願第61/503,349に基づく優先権を主張するものであり、当該米国仮特許出願は、参照により、本明細書に援用される。
発明の分野
本発明は、概して、ユニバーサル・シリアル・バス(USB)デバイスに関し、特に、USBを介して動作をサスペンド(一時停止)及びレジューム(再開)するUSBデバイスに関する。
背景情報
過去15年にわたって、USBは、大容量記憶装置、スマートフォン、デジタルカメラ、メディアプレイヤー、モデム、キーボード等のような非常に様々なUSBデバイスをパーソナルコンピュータ(PC)その他のホストシステムに接続するための、優勢ではないにしても、好ましい技術として浮上してきた。対象となるデバイスは、複数の独立して制御される機能を含み、例えば、スマートフォンは、カメラ、マルチメディアプレイヤー等を含む場合がある。ユーザは、多機能デバイスを例えばPC上のUSBポートに差し込むことにより、又は、多機能デバイスをハブ上のUSBポートに差し込み、更にそれをPC上のUSBポートに差し込むことにより、多機能デバイスをUSBに接続することができる簡便さ及び単純さを享受する。製造業者及びソフトウェア開発者もまた、それをサポートする単一の標準的インタフェースを有することの利益を享受する。
USBは一般に、ホスト制御下で動作する。ホストは、デバイスの個々の機能に関連するクラス又はカスタムファンクションドライバを利用して、デバイスの種々の機能と通信し、種々のデバイス機能とホストとの間におけるデータ転送及び注意喚起のための要求を制御する。ホストは、クラス又はファンクションドライバを使用して周知の態様で動作し、ホストにより決定されるような種々の時点で、必要に応じて種々のデバイス機能をポーリングし、未処理のデータ又は要求をその機能に関連するデバイスハードウェアからホストへ移動させる。デバイス機能は、例えばハードウェアからデータが移動されたと判断することより、事実上、ホストへのデータ転送が発生したものと判断する。デバイス機能はさらに、常にではないが、ホストから確認メッセージを受け取る場合がある。同様に、デバイス機能は、その機能に関連するハードウェアにデータが移動されたときに、ホストからそのデバイスへのデータ転送又は要求が発生したものと判断する。
バスが実質的に活動していないとホストが判断した場合、すなわち、ホストがデバイスへ移動させるデータを有しておらず、デバイスがホストへ移動させるデータ又は要求を有していないとホストが判断した場合、ホストは、そのデバイスを含むUSBバスの1以上の部分をサスペンドする場合がある。ホストがデバイスに対し、ホストからの注意喚起を要求することを可能にすることを望む場合、ホストは、サスペンドする前に、標準コマンドSET_FEATURE(RemoveWakeupEnable)をそのデバイスに送信する。そして、ホストが行うべき作業を何も有していない場合、ホストも同様にサスペンドする。その後、ホストがデバイスとメッセージを交換する準備が整ったときに、ホストは、そのデバイスを含むUSBバスの1以上の部分をレジュームする。
サスペンドされたバスに気付いた所与のデバイスは、サスペンドしなければならない。その後、デバイスが注意喚起を必要とする場合において、ホストが前もってSET_FEATURE(RemoteWakeupEnable)コマンドを送信していた場合、そのデバイスは、「remote wakeup」信号をホストへ送信することができる。ただし、デバイスは、サスペンドを確認するために3ミリ秒だけ待つ必要があり、ホストは通常、ホストがバスを実際にサスペンドする幾らか前に、デバイスへの問合せを中止しなければならない。もしデバイスの1以上の機能からホストへ移動又は書き込みすべき未処理のデータがある場合、及び/又は、1以上の機能がホストの注意喚起を必要としている場合、デバイスは、ホストがサスペンド処理を開始した後、かつデバイスがそのサスペンドを認識する前のこのインターバルに、未処理のデータ及び/又は要求をホストに移動させることを試みる場合がある。この場合、未処理のデータ及び/又は要求をホストへ移動させることを試みるために、デバイスは、サスペンドした後直ぐに、ホストに対しその動作の再開を要求しなければならない。
ホストによりサポートされていないデバイス機能がある場合、その後、問題が発生することがある。ホストが、多機能デバイスの1以上の機能のためのクラス又はファンクションドライバのうちの1以上を全く有効化していない場合、すなわち、無効化していた場合、ホストは、1以上の機能からデータ又は要求を移動させるデバイスの試みに応答しない。例えば、種々のプッシュボタン、又は、他の何らかの種類の独立した行為に関連する種々の機能を含むデバイスを考えて欲しい。デバイス機能は、有効な関連クラス又はファンクションドライバがホストに存在するか否かを知らない。もしデバイス機能が、自身がホストからの注意喚起を必要とすることに自発的に気付いた場合、例えばボタンの1つが押された場合、デバイス機能は、そのデバイスの適当な機能エンドポイントに、注意喚起のための要求を置く。一方、ホスト上に有効な関連クラス又はファンクションドライバが存在しない場合、ホストは、その未処理の要求に気付くことはなく、その要求に応答しないかもしれない。従って、要求は未処理のままとなる。
従って、デバイスは、デバイスがサスペンドすることや、サスペンド状態に留まることを妨げるトランザクションを実施することができない。その結果、「デッドロック」状況が生じる。デッドロック状況において、デバイスは、未処理のデータ及び要求を処理するためのホストを起動(wake)することによりサスペンド要求に応答し、ホストは再び、デバイスが転送するデータ又は未処理の要求を有していないものと判断する。なぜなら、ホストがデバイスにある未処理のデータ又は要求を「見る」ことを可能にする有効なホストクラス又はファンクションドライバが存在しないからである。ホストは再び、サスペンド要求を送信し、デバイスは再び、ホストを起動することによってそのサスペンド要求に応答する。以下同様に続けられる。従って、デバイスは、最大電力消費で動作する非サスペンドモードに留まり、又は、非サスペンドモードに戻り続け、さらに、ホストを繰り返し起動し、ホストもまた、最大電力消費で動作しなければならない。
重要なことは、USB低速、最大速、及び高速デバイスの場合、バスを介したサスペンド/レジューム指示が全て、デバイスレベルの処理である点である。ホストが、多機能デバイスの一機能を使用しているのではないことを知らせる標準的方法はなく、また、ホストが多機能デバイス上の種々の機能の特定のサブセットからの起動イベントにしか関心を持たないことを知らせる方法もない。
課題を解決する手段
本発明は、USBに接続された多機能デバイスが、ホストからサスペンド要求を受信した後、多機能デバイスのサスペンド動作を制御する電力管理モジュール、及び、当該モジュールの動作方法である。デバイスが自動的にサスペンドし、又は電力管理モジュールによってサスペンドモードにされた後、電力管理モジュール、及び動作方法は、実質的に個々の機能エンドポイントの状態を調べることによって、各機能について個別に、個々の機能が所定の「不定」、「ロック」又は「アンロック」状態にあるか否かを判断する。
状態は、実質的には、機能エンドポイントの状態により決定されるような、認識されたホストの活動に基づいて、デバイスの全体像から定義される。不定状態は、機能がUSBを介して使用可能でない場合があること、従って、関連ホストクラス又はファンクションドライバが有効である場合もあれば、有効でない場合もあることを示す認識されたホスト活動に基づく。ロック状態は、所与の機能がホストへのデータ転送を完了できないこと、すなわち、関連ホストクラス又はファンクションドライバが有効でない可能性が高いことを示す認識されたホスト活動に基づく。アンロック状態は、所与の機能がホストへのデータ転送を完了する場合があること、従って、関連ホストクラス又はファンクションドライバが有効であることを示す認識されたホスト活動に基づく。モジュールは、実質的に、各デバイス機能についてステートマシンを管理する。
もしモジュール又は方法が、全てのデバイス機能の各々を不定又はロックのいずれかとして分類した場合、モジュール又は方法は、たとえ所与の機能が未処理のデータ又はホストからの注意喚起のための要求を有している場合であっても、デバイスに対し、起動を要求しないように命令する。もしモジュール又は方法が、デバイス機能のうちの少なくとも1つがアンロック状態にあるものと判断した場合、モジュール又は方法は、たとえアンロック状態にある機能のエンドポイントに、データ及び/又はホストに対する要求が未処理のまま存在する場合であっても、デバイスに対し、リモート起動を要求するように命令する。電力管理モジュール又は方法はさらに、未処理のデータ又は要求を有するアンロック状態にある種々の機能をロック状態に割り当てる。もしデバイスがレジューム活動に応答してサスペンド要求を受信した場合、電力管理モジュール又は方法は、個々の機能のエンドポイントの状態を検査し、異なる状態に割り当てなければならない機能があるかどうかを判断する。そのような機能がなければ、当該モジュールはデバイスを制御してデバイスをサスペンドし、ホスト活動の結果として、デバイス機能のうちの1以上がアンロック状態に割り当てられ、データ又は要求が未処理のままとされるか、又はホスト活動がデバイスを積極的に起動するまで、デバイスはサスペンド状態に留まる。
機能エンドポイントの状態により決定されるような個々のデバイス機能の状態に基づく、サスペンド要求に対するデバイスの応答のかかる制御によって、デバイスが非サスペンド動作モードでデッドロックすることや、非サスペンド動作モードへ不必要に戻ることが回避される。その結果、未処理のデータ及び/又は要求をホストへ移動させる試みであって、そのような試みに応答しないホストに対する未処理のデータ及び/又は要求の移動の試みによって、デバイスのサスペンドが妨げられることは無くなる。以下の本発明の説明は、添付の図面を参照する。
本発明に従って構成されたシステムを示す機能ブロック図である。 図1のシステムの電力管理モジュールにより管理されるステートマシンを示すフロー図である。 図1のシステムの電力管理モジュールの詳細な動作を示すフロー図である。
ここで、図1を参照すると、ホスト101は、ユニバーサル・シリアル・バス(USB)130に接続され、当該バスを介して接続された多機能デバイス110と通信する。説明を簡単にするために、単一の接続デバイスが示されている。ホスト及びデバイスは、プロセッサ104、114、メモリ102、112、及びシリアル・バス・コントローラ109、119、並びに、周知のUSB仕様に従って周知の態様で動作する他の周知の構成要素(図示せず)を含む。
バスを介して通信をする前に、ホスト及びデバイスは、周知の態様でエニュメレイション処理を実施し、当該処理において、ホストとデバイスとの間で情報を交換するために、デバイス・エンドポイント122を有する制御チャネルを確立し、すなわち、デバイスバッファ空間を割り当てる。通信は、ホストと、デバイス上の種々の機能との間においても確立される。デバイスは、所与の機能について、機能からホストへデータ及び要求を転送することを可能にするとともに、ホストから機能へデータ、コマンド、及び要求を転送することを可能にするための、1以上のインタフェース120、120、…120及び1以上の関連デバイス・エンドポイント122、…、122をさらに構成する。
デバイスの個々の機能へ送信される情報、及びデバイスの個々の機能から受信された情報を処理するために、ホストは、エニュメレーション処理の一環として、デバイスとの情報交換に基づき、周知の態様で、個々のデバイス機能のUSBクラス、並びに適当なホストクラス又はカスタムファンクションドライバ106、…106、及び起動すべき、すなわちロード又は有効化すべきアプリケーション108、…108を決定する。周知のように、デバイスも、個々のデバイスクラス又はファンクションドライバ116、及び関連アプリケーション118を備え、同様に動作する。
周知の下位トランスポート層及びドライバ(図示せず)は、ホスト101及びデバイス110において動作し、適当なUSB仕様に従って、USB130を介したデータ及び制御情報の輸送を可能にする。よく知られているように、ホストとデバイスとの間の通信は、USBを介して、種々の「パイプ」において発生する。「パイプ」は、個々のホスト・エンドポイント(図示せず)及びデバイス・エンドポイント122により定義される。例えば、デバイス上の所与の機能は、データをホストへ送信するために構成された少なくとも1つのエンドポイント、すなわち、関連入力パイプのためのエンドポイントを有する場合がある。さらに、かかる機能は通常、ホストからデータを受信するために構成された少なくとも1つの関連エンドポイント、すなわち、出力パイプのためのエンドポイントを有する場合がある。必要に応じて、所与の機能は、複数の入力パイプ及び/又は出力パイプのために構成された複数のエンドポイントを有する場合がある。デバイス・エンドポイント0は、制御パイプ、すなわちホストとの制御情報の交換のための通信チャネルの一部として構成される。エンドポイント0は、デバイスの全ての機能について共通であり、制御パイプを介してデバイスに送信されるコマンドは、必要に応じてクラス又は機能/ベンダー固有のものとして識別される場合があり、従って、機能インタフェース及び/又はエンドポイントアドレスを含む場合がある。
同じく周知のように、デバイスによっては、異なるホストオペレーティングシステムとの間で互換性を有する選択可能な構成を有する場合がある。エニュメレーションの際、ホストは、適当な構成を選択し、エニュメレーションは、それに従って続けられる。選択可能な構成によっては、可能な全てのエンドポイントではなく特定の可能なエンドポイントの構成しか必要としない場合もあるが、選択可能な構成によっては、全てのエンドポイントを構成する場合もある。
デバイス・エニュメレーションが完了した後、ホスト101は、ホストによってサポートされるデバイス機能の全てについて、ホストクラス又はファンクションドライバ116、及び関連アプリケーション118を有効化し、又はロードし、デバイス110は、当該デバイスの全ての機能について、エンドポイント122を構成した。その後、ホストによってサポートされるデバイス機能をユーザに提供するために、ホスト及びデバイスは、USB130を介して通信する。なお、例えばベンダー固有のクラスドライバのような、必要なクラス又はファンクションドライバが、ホストにインストールされず、又は当該ドライバがホストにとって使用可能でない場合、ホストは、必ずしもデバイスのあらゆる機能をサポートしない場合がある。また、ホストは、例えばデバイス機能の不活動、又はホスト若しくはデバイスにおける故障といった様々な理由から、特定のクラスドライバ及び/又は関連アプリケーションを停止、すなわちアンロード又は無効化する場合がある。従って、ホストは、種々のデバイス機能をサポートするために、任意の時点で無効化される場合がある。ただし、個々のデバイス機能には、対応するホストクラス又はファンクションドライバが有効ではないことが、通知されない場合がある。そのため、デバイスファンクションドライバ116及びアプリケーション118は、恰も個々のデバイス機能のための対応する有効なホストクラス又はファンクションドライバが存在するかのように、動作を続ける。
USB130は実質的に休止状態であるとホスト101が判断した場合、すなわち、ホストクラスドライバ106iによってデバイスへ送信又は移動させるべきデータは無く、かつ、ホストによってサポートされるデバイス機能からホストへ移動させるべき関連未処理データ又は要求も無いとホストが判断した場合、デバイス及びホストにおける電力消費を低減するために、ホストはデバイスに対し、サスペンド要求を発行する場合がある。デバイス110がサスペンド要求を受信すると、デバイスは、その要求に対し、どのように応答するかを決定しなければならない。なお、サスペンド要求は、デバイスに対して行われるものであり、デバイスの個々の機能に対して行われるものではなく、ホストは、未処理のデータ又は要求を有していない有効なホストクラス又はファンクションドライバによりサポートされる機能に基づいて、サスペンド要求を発行する。所与のデバイス機能のための有効なホストクラス又はファンクションドライバが無い場合、ホストは、デバイスにおいて何が行われているかに関わらず、その所与のデバイス機能が、恰もホストへ移動させるべきデータを有していないかのように動作する。なぜなら、ホストは、その機能の動作を知らないからである。
デバイス110がホストからサスペンド要求を受信すると、デバイス110に関連する電力管理モジュール124は、そのデバイスが、ホスト101からのサスペンド要求に対しどのように応答するかを制御する。これを行うために、電力管理モジュール124は、関連エンドポイントの状態(単数又は複数)を調べ、所定の機能状態のための条件を満たしているか否かを判断することにより、各機能を3つの定義された状態のうちの1つに割り当てる。3つの定義された状態は、不定、ロック、及びアンロックである。これらの状態は、デバイスにおいて認識されるようなホスト活動に基づいて定義され、実質的には、ホストへの転送を完了するためのデバイスの認識された能力に関連する。
不定状態では、デバイスにおいて、関連ホストクラス又はファンクションドライバが有効であるか否かを判断することができない。従って、機能エンドポイントが調べられ、エンドポイントの状態から、その機能がUSB130を介して確立されるか否かが判断される。ロック状態とは、エンドポイントの状態から、その機能がホストにデータを書き込み、又はホストにデータを移動させることができないことをデバイスが認識している状態である。アンロック状態とは、エンドポイントの状態から、その機能がホストにデータを書き込み、又はホストにデータを移動させる場合があることをデバイスが認識している状態である。
電力管理モジュール124がホストからのサスペンド要求に対するデバイスの応答をどのように制御するかを説明する前に、電力管理モジュールにより使用される個々の状態の定義について、さらに詳細に説明する。電力管理モジュールは、ホスト活動に基づいて個々の機能エンドポイントを調べること、すなわち、個々の機能エンドポイントの状態を判断することにより判断されるような、適合する種々の条件に基づいて、種々の機能に状態を割り当てる。従って、電力管理モジュールは、制御チャネルエンドポイント(これは、あらゆる機能に関連する)を含む個々の機能エンドポイントを調べ、それらのエンドポイントの状態から、デバイスがサスペンド要求を受信した時点において、所与の機能により、異なる状態のための条件が満たされているか否かを判断する。
不定状態のための条件は、所与の機能が開始モードにあること;又は、機能インタフェース設定が構成中であること;又は、種々の機能エンドポイントの中に、パイプに結合されたものが存在しないことである。例えば、デバイスが、所与の機能のためのSET_CONFIGURATION(構成セット)コマンドを受信し、かつ、ホストがまだ、その所与の機能に関連するデバイスエンドポイントに対し、活動又はクラスコマンドを何も命じていない場合、その所与の機能は、不定状態のための条件を満たすものとして分類されることになる。
より具体的には、発明者らは、ホストが関連する有効なホストクラス又はファンクションドライバ及び/又はアプリケーションを有しているか否かが明らかでないことを示すデバイスにより認識されるようなホスト活動に基づいて、不定状態を定義した。従って、未処理のデータ及び/又はホスト注意喚起のための要求をホストへ移動させるためのデバイスからの要求に、ホストが応答するか否かは、明らかではない。
アンロック状態のための条件は、デバイス・シリアルバスコントローラ119が、機能エンドポイントへ送信された信号を検出したこと;又は、関連デバイス機能を含むクラス若しくはベンダー特定コマンドが受信されたこと;又は、機能エンドポイントに結合された何れかのエンドポイントにおいて、トランザクションが完了したこと;又は、機能のパイプに結合された何れかのエンドポイントにおいて、転送が完了したこと;又は、ホストが、機能に関連するエンドポイントの何れかに対し、トランザクションを発行していることである。(以下、これらの条件をまとめて「アクティビティ・インジケーション」と呼ぶ)。例えば、もし所与のエンドポイントが、所与の機能のための出力エンドポイントであり、トランザクションが、その出力パイプに結合されたエンドポイントにおいて完了した場合、その所与の機能は、アンロック状態の条件を満たすものと判断される。
より具体的には、発明者らは、所与の機能に対応するホストクラス若しくはファンクションドライバ、及び/又はクローズされた関連アプリケーションをホストがまだアンロードしていないことを示す、デバイスにより認識されるようなホスト活動に基づいて、アンロック状態を定義した。従って、ホストは、機能エンドポイントにおける未処理のデータ又は注意喚起のための要求を移動させるためのデバイスからの要求に、少なくとも応答するものと予想される。
ロック状態のための条件は、その機能に対応するクラス又はファンクションドライバがホストにおいてアンロード若しくは無効化され、又はその機能に関連するアプリケーションがホストにおいて閉じられ若しくは無効化されたことを示す、クラス若しくはベンダー固有コマンドが受信されたこと;又は、ホストがその機能を含まない構成を選択したことを示す情報を、デバイスが受信したこと;又は、その機能が判断不能な状態にあるときにデバイスがサスペンド要求を受信したこと;又は、その機能がアンロック状態にあるときにデバイスがサスペンド要求を受信し、デバイスがホストからの注意喚起を必要とし、及び、最後のレジューム以降、何もアクティビティ・インジケーションが受信されていないことである。
より具体的には、ロック状態とは、ホストにおいて関連クラス又はファンクションドライバがアンロードされ、及び/又は、ホストにおいて関連アプリケーションが閉じられたことが分かっている、又は少なくともその可能性があるものと、デバイスにおいて判断されるような状態として定義された。従って、その機能が、ホストのための未処理データを有しているか否かに関わらず、デバイスをサスペンドさせるべき状況が存在する。なぜなら、電力管理モジュールは、ホストはその機能からの要求に応答しない可能性が高いと判断しているからである。
次に、図2を参照すると、電力管理モジュール124は、各デバイス機能についてステートマシンを管理し、デバイスがサスペンド要求を受信した時に、デバイス機能の状態を変化させるべきか否かを判断する。ステートマシンは、3つの定義された状態302、304、306から構成される。
不定状態302にある機能は、機能エンドポイントの状態、又はコマンドの受信により、ホストが、有効又は無効な関連ホストクラス又はファンクションドライバ、及び/又はアプリケーションを有していることが明らかになるまで、不定状態に留まる。例えば、当該機能は、ホストが機能エンドポイントに信号を送信し、その状態がアンロック状態に変わるまで、又は、アクティビティ・インジケーションを有しないレジューム/サスペンドサイクルによって、ファンクションドライバが活動していないこと、すなわち、ファンクションドライバがアンロード又は無効化されていることが明らかとなり、機能状態がロック状態に変わるまで、不定状態に留まる。
アンロック状態304にある機能は、ホストが未処理のデータ若しくは要求を移動させている間は、アンロック状態に留まる。すなわち、未処理のデータ若しくは要求がない場合、ホストは、機能エンドポイントに信号を送信し、又は、制御エンドポイント0を介して、機能インタフェース若しくはエンドポイントのためのアドレスを含むクラス固有又はベンダー固有のコマンドを送信する。サスペンド要求の受信時にデータ又は要求が未処理であり、最後のレジューム以降、アクティビティ・インジケーションを受信していない場合、電力管理モジュールは、その機能の状態をロック状態に変更する。デバイスが再起動された場合、デバイスがホストからSET_CONFIGURATIONコマンドを受信した場合、又は、ホストが多数の周知の方法のうちの何れかを使用して、デバイスをUSB2.0仕様のセクション9.1.2に規定されるようなUSBで定義されたデフォルト又はアドレス状態に戻した場合、電力管理モジュールは、その機能の状態を不定状態に変更する。
ロック状態306にある機能は、ホストが未処理のデータ及び要求を移動させるまで、ロック状態に留まる。すなわち、未処理のデータ若しくは要求がない場合、ホストは、機能エンドポイントに信号を送信し、及び/又は、制御エンドポイント0を介して、機能インタフェース若しくはエンドポイントのためのアドレスを含むクラス固有若しくはベンダー固有のコマンドを送信し、機能状態は、アンロック状態に変化する。デバイスが再起動された場合、デバイスがホストからSET_CONFIGURATIONコマンドを受信した場合、又は、ホストが多数の周知の方法のうちの何れかを使用して、デバイスをUSB2.0仕様のセクション9.1.2に規定されるようなUSBで定義されたデフォルト又はアドレス状態に戻した場合、電力管理モジュールは、その機能の状態を不定状態に変更する。
次に、図3をさらに参照すると、電力管理モジュール124は、サスペンド要求を受信した後、機能エンドポイントを調べることにより判断されるような個々の機能の状態に基づいて、下記の処理を実施する。ステップ200において、デバイスは、電力管理モジュールによって管理されている1以上の機能を含む構成を選択し、有効化するためのSET_CONFIGURATIONコマンドをホストから受信する。このコマンドを受信すると、電力管理モジュールは、機能状態をデフォルト状態に、例えばアンロック状態にセットする。なぜなら、これらの機能は、ホストによりサポートされていると考えられるからである。ステップ202において、デバイスは、デバイス・シリアル・バス・コントローラ119により検出されたUSBバス・サスペンドイベントに応答し、自身の動作をサスペンドする。その後、電力管理モジュールは、デバイスが、サスペンド状態に留まるか、それとも、ホストのリモート起動によりレジュームするかを決定しなければならない。
電力管理モジュール124は、各機能の状態を判断する。ステップ204である。電力管理モジュールは、所与の機能について、その機能の状態を変更すべきか否かを決定するために、関連する機能エンドポイントを調べる。すなわち、関連機能エンドポイントの状態を判断する。従って、電力管理モジュールは、各機能について個別に、図2を参照して上で説明したような、異なる状態条件の条件が満たされているか否かを判断する。その後、デバイス機能の全てが不定、及びロック状態にある場合、電力管理モジュールは、デバイス機能のうちの1以上においてデータ又は要求が未処理である場合であっても、デバイスがサスペンド状態に留まるようにデバイスを制御する。ステップ206、207である。
もしデバイス機能のうちの1以上がアンロック状態にある場合、電力管理モジュールは、アンロック機能においてデータ又は要求が未処理であるか否かを判断する。そして、電力管理モジュールは、デバイスがホストのリモート起動を実施することを許可し、従って、デバイス機能にレジュームを許可する。電力管理モジュールはさらに、未処理のデータ又は要求を有する個々のアンロックされた機能の状態を、ロック状態に変化させる。ステップ206、208、210である。アンロック状態にある機能から、未処理のデータ又は要求が無い場合、電力管理モジュール124は、デバイスをサスペンド状態に留まらせる。ステップ209である。
ステップ214において、もしデバイスが、レジューム活動に応答し、サスペンド要求を受信した場合、デバイスは、自動的に、又は電力管理モジュールの制御に従って、再びサスペンドする。ステップ202である。電力管理モジュールは、機能の状態を変化させるべきであるか否かを決定するために、機能エンドポイントを調べる。ステップ204である。ただし、データ及び注意喚起のための要求が依然として未処理の状態に留まっている場合であっても、機能はロック状態にあり、電力管理モジュールは、それらの機能をロック状態に留まらせるべきことを決定する。従って、デバイスは、サスペンド状態に留まる。ステップ204、206、207である。従って、電力管理モジュール124は、デバイスがホストからサスペンド要求を受信するたびに、ホストによりサポートされていない機能における未処理のデータ及び注意喚起のための要求が原因で、デバイスがデッドロック状態になることや、レジュームし続ける無限ループに入ることを防止する。従って、デバイスは、電力管理モジュールの命令又は方法に従って動作している場合、適切にサスペンド状態に留まり、ホストがデバイスとの間で活発に通信する準備が再び整ったことを示す信号を発するまで、その電力消費を低減する。
例えばシステムを起動するためのユーザ活動に応答し、ホストがデバイスとの活動のための信号を送信した場合、デバイスはレジュームし、電力管理モジュールは、電力管理イベントを終了する。その後、電力管理モジュールは、次の電力管理イベントトリガ、すなわち、ホストからの次のサスペンドコマンドを待ち、デバイスのサスペンド応答を再び制御する。ステップ212、213である。
電力管理モジュールは、エンドポイントを繰り返し調べる代わりに、エンドポイント・ステータス・レジスタ(図示せず)を使用する場合があり、当該レジスタには、個々のエンドポイントの状態を知らせるためのフラグがセットされる。例えば、エンドポイントがホストから信号を受信した場合、フラグがセットされる場合がある。その後、電力管理モジュールは、レジスタを検査することにより、エンドポイントの状態を調べることができる。必要であれば、個々のデバイス機能に関連するエンドポイントについて、個別のレジスタを使用してもよい。ただし、制御チャネル又はエンドポイント0を介した信号伝送は、受信したコマンドのタイプに基づいて、すなわち、標準コマンドであるか、又はコマンドに関連する機能に関連するアドレス情報を有するクラス/ベンダ固有コマンドであるかに基づいて、決定されなければならない場合がある。レジスタは、制御エンドポイント0について複数のエントリを含む場合がある。なぜなら、このエンドポイントは全ての機能について共通であり、フラグはアドレス情報に基づいてセットされるからである。あるいは、クラス又はベンダ固有コマンドが受信された場合、個々の機能に関連する他のエンドポイントについて、フラグがセットされる場合がある。なぜなら、信号伝送は、ホストにおいて、関連ホストクラス又はファンクションドライバが有効であることを示しているからである。あるいは、この場合も、それらの機能は、適当なフラグを管理することによって、ソフトウェアで実施される場合がある。ソフトウェアベースのアプローチは、あまり効果的ではないが、既存のデバイスシリアルバスコントローラハードウェアに変更を加えることなく、実施することができる。
電力管理モジュールは、事前電力管理イベントトリガの終了後、すなわち、デバイスがホスト活動信号に基づいてレジュームした後に、エンドポイントにおいて行われたホスト活動に依存する場合がある。代替又は追加として、電力管理モジュールは、個々の機能の最後の構成後に、エンドポイントにおいて行われたホスト活動を検査する場合がある。説明したように、電力管理モジュールは、エンドポイントを調べ、又は必要に応じてレジスタを調べ、エンドポイントの状態から、又はデバイスの全体像から、個々の機能について、ホストクラス又はファンクションドライバが有効であるか否かを判断する。
ステートマシンにロック状態及び不定状態を含めることは、効率のためである。もしある機能が不定状態にある場合、電力管理モジュールは、その状態をアンロック状態、又はロック状態へ変更すべきか否かを判断するために、あらゆる関連エンドポイントを調べなければならない。しかし、ロック状態にある機能の場合、全ての機能エンドポイント及び制御チャネルエンドポイントの状態を考慮する必要は無い場合がある。例えば、もしサスペンド時にデータが未処理である場合、次のサスペンド要求の受信後に、未処理のデータを有する出力エンドポイントのみを調べる必要がある場合がある。また、もし未処理のデータが無い場合、ホストが機能状態をアンロック状態に変更すべきことを知らせる信号をエンドポイントのうちの1つに向けて送信した後、全部よりも少ない数のエンドポイントを調べる必要がある場合がある。同様に、機能がアンロック状態にある場合、電力管理モジュールは、機能エンドポイントのうちのいずれか1つにおいてホスト信号が検出されたときに、全部よりも少ない数のエンドポイントを調べる場合がある。ホストの信号伝送は、例えば、機能入力エンドポイントからデータをポーリング若しくは移動させることであっても、データ若しくはコマンドを出力エンドポイントへ移動させることであっても、あるいは、制御エンドポイント0を介して機能インタフェース若しくはエンドポイントに向けて送信されたクラス若しくはベンダー固有コマンドを受信することであってもよい。
これら3つの状態の使用により、電力管理モジュールは、不定状態にある機能のエンドポイントの数に比べて少数の、ロック状態又はアンロック状態にある機能のエンドポイントを調べることが可能となるが、代わりに、電力管理モジュールは、ステートマシンにおいてたった2つの状態、すなわち、ロック状態及びアンロック状態を有するように動作する場合がある。その後、電力管理モジュールは、デバイスがサスペンド要求を受信するたびに、何らかの機能の状態を変化させるべきか否かを判断するために、ロックされた機能の全てのエンドポイントを調べる。
電力管理モジュール及び/又はステートマシンは、ハードウェア、ファームウェア、及び/又はソフトウェアで実施される場合がある。電力管理モジュールは、1以上のプロセッサを含み、及び/又は、デバイス・プロセッサ114を使用する場合がある。デバイス・プロセッサ114は、複数の通信プロセッサからなる場合がある。
なお、デバイスがサスペンドする前にホストがSET_FEATURE(機能セット)(RemoteWakeupEnable(リモート起動有効化))コマンドを送信しない場合、電力管理装置は、デバイスに対し、サスペンドサイクル中にリモート起動信号をホストへ送信することを許可することができない。ただし、電力管理装置は依然として、各機能の状態を追跡しなければならない。なぜなら、ホストはその後、デバイスをレジュームし、SET_FEATURE(RemoteWakeupEnable)コマンドを送信した後に、デバイスをサスペンドする場合があるからである。あるいは、この状況では、電力管理装置は、追跡した各機能の状態をアンロック状態又は不定状態にセットする場合がある。

Claims (20)

  1. 多機能USBデバイスの電力を管理する方法であって、
    USBホストからのサスペンドのための要求の受信に応答し、前記デバイスをサスペンドするステップと、
    各機能を不定状態、ロック状態又はアンロック状態に割り当てるステップと、
    前記アンロック状態にある所与の機能に、未処理のデータ又はホスト注意喚起のための要求がある場合、前記デバイスに対しレジュームすることを許可し、前記所与の機能を前記ロック状態に割り当てるステップと、
    それ以外の場合、たとえ前記ロック状態にある1以上の機能に未処理のデータがある場合であっても、前記サスペンドを維持するステップと
    を含む方法。
  2. 前記デバイスが、前記機能に関連するエンドポイントにおけるホスト信号伝送活動に基づいて、前記機能は前記USBを介して動作していないと判断した場合、前記機能を前記不定状態に割り当てるステップと、
    前記デバイスが、前記機能に関連するエンドポイントにおけるホスト信号伝送活動に基づいて、前記機能を使用して前記ホストへの書き込みを完了することはできないと判断した場合、前記機能を前記ロック状態に割り当てるステップと、
    前記デバイスが、前記機能に関連するエンドポイントにおけるホスト信号伝送活動に基づいて、前記機能を使用して前記ホストへの書き込みをすることはできないと判断した場合、前記機能を前記アンロック状態に割り当てるステップと
    をさらに含む、請求項1に記載の方法。
  3. 前記デバイスが起動モードにあること、
    インタフェース設定が構成中であること、又は
    前記機能に関連する前記エンドポイントの中に、パイプに結合されたものが無いこと
    のうちの何れかの判断により、前記USBを介して所与の機能が動作していないと判断するステップをさらに含む、請求項2に記載の方法。
  4. 前記デバイスが、前記ホストにおいて関連ドライバがアンロードされたこと、又は前記ホストにおいて関連アプリケーションがクローズされたことを示すクラス又はベンダ固有コマンドを受信したこと、
    前記デバイスが、前記ホストが前記所与の機能を含まない構成を選択したことを示す情報を受信したこと、又は
    前記デバイスが、前記機能の前記インタフェース又はエンドポイントを目標とするクラス又はベンダ固有コマンドをいずれも受信することなく、及び、前記所与の機能のパイプに結合された何れかのエンドポイント上の何れかの転送又はトランザクションを完了することなく、デバイス制御によるサスペンド又はホスト要求によるサスペンドからレジュームしたこと
    のうちの何れかの判断により、前記所与の機能を使用して前記ホストへの書き込みを完了することはできないと判断するステップをさらに含む、請求項3に記載の方法。
  5. 関連シリアルバスコントローラが、前記機能エンドポイントに向けて送信された信号を検出したこと、
    前記機能を含むコマンドを受信したこと、
    前記所与の機能に結合されたトランザクションが、何れかのエンドポイントにおいて完了したこと、又は
    前記機能のパイプに結合されたトランザクションが、何れかのエンドポイントにおいて完了したこと
    のうちの何れかの判断により、前記所与の機能を使用して前記ホストに書き込むことができると判断するステップをさらに含む、請求項3に記載の方法。
  6. 前記ホストが、前記機能に関連する前記エンドポイントのうちの何れに対しても、トランザクションを発行していないと判断する他の条件をさらに含む、請求項4に記載の方法。
  7. 前記ホストが、前記機能に関連する前記エンドポイントのうちの何れに対しても、トランザクションを発行していないと判断する他の条件をさらに含む、請求項5に記載の方法。
  8. 多機能USBデバイスの電力を管理する方法であって、
    USBホストからのサスペンドのための要求の受信に応答し、前記デバイスをサスペンドするステップと、
    各機能をロック状態、又はアンロック状態に割り当てるステップと、
    前記アンロック状態にある所与の機能に、未処理のデータ又はホスト注意喚起のための要求がある場合、前記デバイスに対しレジュームすることを許可し、前記所与の機能を前記ロック状態に割り当てるステップと、
    それ以外の場合、たとえ前記ロック状態にある1以上の機能に未処理のデータがある場合であっても、前記サスペンドを維持するステップと
    を含む方法。
  9. 前記デバイスが、前記機能に関連するエンドポイントにおけるホスト信号伝送活動に基づいて、前記機能を使用して前記ホストへの書き込みを完了することはできない、又は、前記機能は、前記USBを介して動作していないと判断した場合、前記機能を前記ロック状態に割り当てるステップと、
    前記デバイスが、前記機能に関連するエンドポイントにおけるホスト信号伝送活動に基づいて、前記機能を使用して前記ホストへの書き込みをすることはできないと判断した場合、前記機能を前記アンロック状態に割り当てるステップと
    をさらに含む、請求項8に記載の方法。
  10. 前記デバイスが起動モードにあること、
    インタフェース設定が構成中であること、又は
    前記機能の前記エンドポイントの中に、パイプに結合されたものが無いこと
    のうちの何れかの判断により、前記USBを介して所与の機能が動作していないと判断するステップをさらに含む、請求項9に記載の方法。
  11. 前記デバイスが、前記ホストにおいて関連ドライバがアンロードされたこと、又は前記ホストにおいて関連アプリケーションがクローズされたことを示すクラス又はベンダ固有コマンドを受信したこと、
    前記デバイスが、前記ホストが機能を含まない構成を選択したことを示す情報を受信したこと、又は
    前記デバイスが、前記機能の前記インタフェース又はエンドポイントを目標とするクラス又はベンダ固有コマンドをいずれも受信することなく、及び、前記所与の機能のパイプに結合された何れかのエンドポイント上の何れかの転送を完了することなく、デバイス制御によるサスペンド又はホスト要求によるサスペンドからレジュームしたこと
    のうちの何れかの判断により、前記機能を使用して前記ホストへの書き込みをすることはできないと判断するステップをさらに含む、請求項10に記載の方法。
  12. 前記ホストが、前記機能に関連する前記エンドポイントのうちの何れに対しても、トランザクションを発行していないと判断する他の条件をさらに含む、請求項11に記載の方法。
  13. 多機能デバイスのサスペンド動作を管理するための電力管理モジュールであって、
    前記デバイスをサスペンドし、
    個々の機能のエンドポイントを調べ、
    前記機能エンドポイントを調べた結果に基づいて、個々の機能を、関連ホストクラス又はファンクションドライバの認識された状態に関連する少なくともロック状態及びアンロック状態のうちの一方に割り当て、
    前記アンロック状態にある所与の機能に、未処理のデータ又はホスト注意喚起のための要求がある場合、前記デバイスに対しレジュームすることを許可し、前記所与の機能を前記ロック状態に割り当て、
    それ以外の場合、たとえいずれの前記ロック状態にある1以上の機能に未処理のデータがある場合であっても、前記サスペンドを維持する
    ように構成された1以上のプロセッサを含む、電力管理モジュール。
  14. 前記1以上のプロセッサは、
    前記デバイスが、前記機能に関連するエンドポイントにおけるホスト信号伝送活動に基づいて、前記機能を使用して前記ホストへの書き込みを完了することはできないと判断した場合、前記機能を前記ロック状態に割り当て、
    前記デバイスが、前記機能に関連するエンドポイントにおけるホスト信号伝送活動に基づいて、前記機能を使用して前記ホストへの書き込みをすることはできないと判断した場合、前記機能を前記アンロック状態に割り当てる
    ようにさらに構成される、請求項13に記載の電力管理モジュール。
  15. 前記1以上のプロセッサは、前記デバイスが、前記機能に関連するエンドポイントにおけるホスト信号伝送活動に基づいて、前記機能が前記USBを介して動作していないと判断した場合、前記機能を前記不定状態に割り当てるようにさらに構成される、請求項14に記載の電力管理モジュール。
  16. 前記デバイスが起動モードにあること、
    インタフェース設定が構成中であること、又は
    前記機能のエンドポイントの中に、パイプに結合されたものが無いこと
    のうちの何れかの判断により、前記USBを介して前記機能が動作していないと判断することをさらに含む、請求項15に記載の電力管理モジュール。
  17. 前記デバイスが、前記ホストが機能を含まない構成を選択したことを示す情報を受信したこと、又は
    前記デバイスが、前記機能の前記インタフェース又はエンドポイントを目標とするクラス又はベンダ固有コマンドをいずれも受信することなく、及び、前記所与の機能のパイプに結合された何れかのエンドポイント上の何れかの転送を完了することなく、デバイス制御によるサスペンド又はホスト要求によるサスペンドからレジュームしたこと
    のうちの何れかの判断により、前記機能を使用して前記ホストへの書き込みを完了することはできないと判断することをさらに含む、請求項16に記載の電力管理モジュール。
  18. 関連シリアルバスコントローラが、前記機能エンドポイントに向けて送信された信号を検出したこと、
    前記機能を含むコマンドを受信したこと、又は
    所与の機能エンドポイントに結合されたトランザクション又は転送が、何れかのエンドポイントにおいて完了したこと
    のうちの何れかの判断により、前記機能を使用して前記ホストに書き込むことができると判断する、請求項17に記載の電力管理モジュール。
  19. 前記1以上のプロセッサは、機能に向けて送信された何らかのホスト信号について、ロックされた機能の機能エンドポイントを調べ、前記機能状態をロックからアンロックへ変更するように構成される、請求項14に記載の電力管理モジュール。
  20. 前記ホストが、前記機能に関連する前記エンドポイントのうちの何れかに対してトランザクションを発行していると判断する他の条件をさらに含む、請求項18に記載の電力管理システム。
JP2014518545A 2011-06-30 2012-06-29 Usbデバイスのための電力管理モジュール Pending JP2014523584A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161503349P 2011-06-30 2011-06-30
US61/503,349 2011-06-30
PCT/US2012/000304 WO2013002838A1 (en) 2011-06-30 2012-06-29 Power management module for usb devices

Publications (2)

Publication Number Publication Date
JP2014523584A true JP2014523584A (ja) 2014-09-11
JP2014523584A5 JP2014523584A5 (ja) 2015-08-06

Family

ID=46584306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014518545A Pending JP2014523584A (ja) 2011-06-30 2012-06-29 Usbデバイスのための電力管理モジュール

Country Status (4)

Country Link
US (1) US9170634B2 (ja)
EP (1) EP2726955B1 (ja)
JP (1) JP2014523584A (ja)
WO (1) WO2013002838A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10104706B2 (en) 2015-03-18 2018-10-16 Lattice Semiconductor Corporation Apparatus for role identification and power supply control in a wireless tunneling system
US10111269B2 (en) * 2015-03-18 2018-10-23 Lattice Semiconductor Corporation Multi-gigabit wireless tunneling system
US10091026B2 (en) 2015-03-18 2018-10-02 Lattice Semiconductor Corporation Full duplex radio in wireless tunneling system
KR20160141476A (ko) * 2015-06-01 2016-12-09 엘지전자 주식회사 이동 단말기
US10678494B2 (en) 2016-06-27 2020-06-09 Qualcomm Incorporated Controlling data streams in universal serial bus (USB) systems
US10628172B2 (en) 2016-06-27 2020-04-21 Qualcomm Incorporated Systems and methods for using distributed universal serial bus (USB) host drivers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010022368A1 (en) * 2008-08-21 2010-02-25 Qualcomm Incorporated Universal serial bus (usb) remote wakeup
JP2010165130A (ja) * 2009-01-14 2010-07-29 Kyocera Corp 端末装置、その制御方法およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292860B1 (en) 1997-12-16 2001-09-18 Ncr Corporation Method for preventing deadlock by suspending operation of processors, bridges, and devices
GB2373884B8 (en) 2001-03-28 2006-05-04 Nokia Corp Method of configuring electronic devices
US8321706B2 (en) * 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US8433936B2 (en) * 2008-04-04 2013-04-30 Advanced Micro Devices, Inc. USB power conservation method and apparatus
US8200853B2 (en) * 2010-01-14 2012-06-12 Microsoft Corporation Extensions for USB driver interface functions
KR20120032102A (ko) * 2010-09-28 2012-04-05 삼성전자주식회사 유에스비 장치의 전력 절감을 위한 장치 및 방법
TW201325136A (zh) * 2011-12-05 2013-06-16 Asix Electronics Corp 具有特殊遮罩遠端喚醒功能之通用序列匯流排裝置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010022368A1 (en) * 2008-08-21 2010-02-25 Qualcomm Incorporated Universal serial bus (usb) remote wakeup
JP2012501014A (ja) * 2008-08-21 2012-01-12 クゥアルコム・インコーポレイテッド Usbリモートウェイクアップ
JP2010165130A (ja) * 2009-01-14 2010-07-29 Kyocera Corp 端末装置、その制御方法およびプログラム

Also Published As

Publication number Publication date
EP2726955A1 (en) 2014-05-07
US20130007324A1 (en) 2013-01-03
EP2726955B1 (en) 2015-08-12
US9170634B2 (en) 2015-10-27
WO2013002838A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
KR102039796B1 (ko) 주변기기 서브시스템에 대한 개별화된 전력 제어를 제공하기 위한 방법 및 장치
US9310838B2 (en) Power management method for switching power mode of a computer system based on detection of a human interface device
EP3255527B1 (en) Remote keyboard-video-mouse technologies
JP4290550B2 (ja) バスデバイスの選択的サスペンド
JP2014523584A (ja) Usbデバイスのための電力管理モジュール
US9251027B2 (en) Information handling system performance optimization system
JP5878606B2 (ja) 仮想usb複合デバイスの列挙
JP6866975B2 (ja) マルチマスタートポロジーシステムにおけるcpldキャッシュの適用
JP4855451B2 (ja) 記憶装置のアクセス方法及び装置
US20190108149A1 (en) I3c in-band interrupts directed to multiple execution environments
US20070156942A1 (en) Method and apparatus for independently managing a chipset-integrated bus controller
WO2018089160A1 (en) Methods and apparatus for providing peripheral sub-system stability
US9940283B2 (en) Application sharing in multi host computing systems
US8589954B2 (en) Method and program for selective suspension of USB network device
JP2007503058A (ja) データ処理デバイスを動作させるための方法、装置、及びシステム
TWI739127B (zh) 提供系統資料之方法、系統及伺服器
KR102320386B1 (ko) 화상 형성 장치 및 화상 형성 장치의 전력 제어 방법
KR20180049340A (ko) 스토리지 장치 및 그것의 링크 상태 제어 방법
US7469349B2 (en) Computer system and method of signal transmission via a PCI-Express bus
JP2014523584A5 (ja)
US9087031B2 (en) Method and program for selective suspension of USB device
US10571992B2 (en) Electronic device having a controller to enter a low power mode
US20180343302A1 (en) Data management circuit with network functions and network-based data management method
CN112912848A (zh) 一种丛集作业过程中的电源请求管理方法
CN109739564B (zh) 一种电子设备及控制方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150616

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170110