(57)【要約】  発明を実施するための形態において開示される態様は、スケジュールされたユニバーサルシリアルバス(USB)低電力動作を含む。この点について、一態様では、USBホストコントローラが、USBクライアントデバイスのための低電力動作スケジュールを決定する。低電力動作スケジュールは、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間が、それぞれのエントリ時間およびそれぞれのエグジット時間に対応する。USBホストコントローラは、1つまたは複数のUSB標準パケットを使用して、USBクライアントデバイスに低電力動作スケジュールを通信する。それぞれのエントリ時間およびエグジット時間を有する1つまたは複数のスケジュールされた低電力動作期間をスケジュールすることによって、USBホストコントローラまたはUSBクライアントコントローラは、追加のシグナリングを受けることなく、1つまたは複数のスケジュールされた低電力動作期間を開始し、終了することができ、したがって、USB低電力動作の効率が上がる。さらに、USB標準パケットを使用して低電力動作スケジュールを通信することによって、USB規格との互換性を保つことが可能である。
2018518872.tif 000002
【特許請求の範囲】
【請求項１】
スケジュールされた低電力動作をサポートするためのユニバーサルシリアルバス(USB)ホストデバイスであって、
USBクライアントデバイスに結合されるように構成されたホストUSB物理インターフェースと、
USBホストコントローラと
を備え、前記USBホストコントローラが、
前記結合されたUSBクライアントデバイスのための低電力動作スケジュールを決定することであって、前記低電力動作スケジュールが、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間がそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる、決定することと、
1つまたは複数の既存のUSB標準パケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信することと、
前記それぞれのエントリ時間に従って、前記1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始することと、
前記それぞれのエグジット時間に従って、前記スケジュールされた低電力動作期間を終了することと
を行うように構成される、USBホストデバイス。
【請求項２】
前記USBホストデバイスが、前記結合されたUSBクライアントデバイスにトリガ信号を提供することなく、前記それぞれのエントリ時間に前記1つまたは複数のスケジュールされた低電力動作期間を開始するように構成される、請求項1に記載のUSBホストデバイス。
【請求項３】
前記USBホストデバイスが、前記結合されたUSBクライアントデバイスにトリガ信号を提供することなく、前記それぞれのエグジット時間に前記1つまたは複数のスケジュールされた低電力動作期間を終了するように構成される、請求項1に記載のUSBホストデバイス。
【請求項４】
前記USBホストデバイスが、1つまたは複数のUSBスタートオブフレーム(SOF)パケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項５】
前記低電力動作スケジュールが、前記1つまたは複数のUSB SOFパケットのそれぞれのFrameNumberフィールドにおいて符号化され、
前記低電力動作スケジュールに含まれる前記1つまたは複数のスケジュールされた低電力動作期間が、前記USBホストデバイスによって送信された複数のUSB SOFパケットのうちの1つまたは複数に固定される、
請求項4に記載のUSBホストデバイス。
【請求項６】
前記USBホストデバイスが、1つまたは複数のUSBトークンパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項７】
前記USBホストデバイスが、1つまたは複数のUSBゼロレングスパケット(ZLP)を使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項８】
前記USBホストデバイスが、1つまたは複数のUSBハンドシェイクパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項９】
前記USBホストデバイスが、1つまたは複数のUSBデータパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項１０】
前記低電力動作スケジュールが、前記1つまたは複数のUSBデータパケットのそれぞれのデータフィールドにおいて符号化され、
前記低電力動作スケジュールが、前記USBホストデバイスと前記結合されたUSBクライアントデバイスとの間で所定の数のUSBデータパケットを交換した後に始まるように構成される、
請求項9に記載のUSBホストデバイス。
【請求項１１】
USBホストデバイスにおけるスケジュールされたユニバーサルシリアルバス(USB)低電力動作をサポートするための方法であって、
結合されたUSBクライアントデバイスのための低電力動作スケジュールを決定するステップあって、前記低電力動作スケジュールが、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間がそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる、決定するステップと、
1つまたは複数の既存のUSB標準パケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップと、
前記それぞれのエントリ時間に従って、前記1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始するステップと、
前記それぞれのエグジット時間に従って、前記スケジュールされた低電力動作期間を終了するステップと
を含む、方法。
【請求項１２】
1つまたは複数のUSBスタートオブフレーム(SOF)パケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含み、前記低電力動作スケジュールが、前記1つまたは複数のUSB SOFパケットのそれぞれのFrameNumberフィールドにおいて符号化される、請求項11に記載の方法。
【請求項１３】
1つまたは複数のUSBトークンパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含む、請求項11に記載の方法。
【請求項１４】
1つまたは複数のUSBゼロレングスパケット(ZLP)を使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含む、請求項11に記載の方法。
【請求項１５】
1つまたは複数のUSBハンドシェイクパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含む、請求項11に記載の方法。
【請求項１６】
1つまたは複数のUSBデータパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含み、前記低電力動作スケジュールが、前記1つまたは複数のUSBデータパケットのそれぞれのデータフィールドにおいて符号化される、請求項11に記載の方法。
【請求項１７】
スケジュールされた低電力動作をサポートするためのユニバーサルシリアルバス(USB)クライアントデバイスであって、
USBホストデバイスに結合されるように構成されたクライアントUSB物理インターフェースと、
USBクライアントコントローラと
を備え、前記USBクライアントコントローラが、
低電力動作スケジュールを決定することであって、前記低電力動作スケジュールが、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間がそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる、決定することと、
1つまたは複数の既存のUSB標準パケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信することと、
前記低電力動作スケジュールに対して、前記結合されたUSBホストデバイスからの確認を受信することと、
前記それぞれのエントリ時間に従って、前記1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始することと、
前記それぞれのエグジット時間に従って、前記スケジュールされた低電力動作期間を終了することと
を行うように構成される、USBクライアントデバイス。
【請求項１８】
前記USBクライアントデバイスが、前記結合されたUSBホストデバイスにトリガ信号を送信することなく、前記それぞれのエントリ時間に従って前記1つまたは複数のスケジュールされた低電力動作期間のうちの前記スケジュールされた低電力動作期間を開始するように構成される、請求項17に記載のUSBクライアントデバイス。
【請求項１９】
前記USBクライアントデバイスが、前記結合されたUSBホストデバイスにトリガ信号を送信することなく、前記それぞれのエグジット時間に従って前記1つまたは複数のスケジュールされた低電力動作期間のうちの前記スケジュールされた低電力動作期間を終了するように構成される、請求項17に記載のUSBクライアントデバイス。
【請求項２０】
前記USBクライアントデバイスが、1つまたは複数のUSBハンドシェイクパケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するように構成される、請求項17に記載のUSBクライアントデバイス。
【請求項２１】
前記USBクライアントデバイスが、1つまたは複数のUSBデータパケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するように構成される、請求項17に記載のUSBクライアントデバイス。
【請求項２２】
前記低電力動作スケジュールが、前記1つまたは複数のUSBデータパケットのそれぞれのデータフィールドにおいて符号化され、
前記低電力動作スケジュールが、前記USBクライアントデバイスと前記結合されたUSBホストデバイスとの間で所定の数のUSBデータパケットを交換した後に始まるように構成される、
請求項21に記載のUSBクライアントデバイス。
【請求項２３】
USBクライアントデバイスにおけるスケジュールされたユニバーサルシリアルバス(USB)低電力動作をサポートするための方法であって、
低電力動作スケジュールを決定するステップであって、前記低電力動作スケジュールが、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間がそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる、決定するステップと、
1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するステップと、
前記低電力動作スケジュールに対して、前記結合されたUSBホストデバイスからの確認を受信するステップと、
前記それぞれのエントリ時間に従って、前記1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始するステップと、
前記それぞれのエグジット時間に従って、前記スケジュールされた低電力動作期間を終了するステップと
を含む、方法。
【請求項２４】
1つまたは複数のUSBハンドシェイクパケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するステップと、
前記1つまたは複数のUSBハンドシェイクパケットのために、前記結合されたUSBホストデバイスから確認応答(ACK)パケットを受信するステップと、
前記ACKパケットが前記結合されたUSBホストデバイスから受信される場合、前記低電力動作スケジュールを実施するステップと
をさらに含む、請求項23に記載の方法。
【請求項２５】
1つまたは複数のUSBデータパケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するステップであって、前記低電力動作スケジュールが、前記1つまたは複数のUSBデータパケットのそれぞれのデータフィールドにおいて符号化される、通信するステップと、
前記1つまたは複数のUSBデータパケットのために、前記結合されたUSBホストデバイスから確認応答(ACK)パケットを受信するステップと、
前記ACKパケットが前記結合されたUSBホストデバイスから受信される場合、前記低電力動作スケジュールを実施するステップと
をさらに含む、請求項23に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権出願
本出願は、その全体が参照により本明細書に組み込まれている、2015年5月1日に出願した、「SCHEDULED UNIVERSAL SERIAL BUS (USB) LOW-POWER OPERATIONS」という名称の米国特許出願第14/702,175号の優先権を主張するものである。
【０００２】
本開示の技術は、一般に、ユニバーサルシリアルバス(USB)に関する。
【背景技術】
【０００３】
モバイル通信デバイスは、現代社会においてますます一般的になっている。これらのモバイル通信デバイスの普及は、一つには、現在そのようなデバイス上で可能にされる多くの機能によって推進されている。そのようなデバイスの処理機能の増大は、モバイル通信デバイスが、純粋な通信ツールから高性能モバイルエンターテインメントセンターに進化し、したがって、ユーザエクスペリエンスの増進を可能にすることを意味する。
【０００４】
オーディオヘッドセットおよびポータブルオーディオスピーカーなどの周辺デバイスは、便宜のためにおよび/またはオーディオ再生体験を向上させるために、しばしばモバイル通信デバイスにアタッチされる。ユニバーサルシリアルバス(USB)インターフェースは、モバイル通信デバイスの外部と内部の両方のそのような周辺機器を接続するための、ますます普及している標準インターフェースである。周辺デバイスがUSBインターフェースを介してモバイル通信デバイスに接続されるとき、周辺デバイスは、USBクライアントであり、モバイル通信デバイスは、USBホストとして働く。その結果、周辺デバイスは、モバイル通信デバイスから電力を取り、したがってモバイル通信デバイスのバッテリー寿命を短くする。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
モバイル通信デバイスは、限られた電力供給で、ますます多くの処理能力を供給するための増大する課題に直面しているので、モバイル通信デバイスにUSBクライアントとして接続している周辺デバイスによる電力消費量を最小限に抑えることが重要である。
【課題を解決するための手段】
【０００６】
発明を実施するための形態において開示される態様は、スケジュールされたユニバーサルシリアルバス(USB)低電力動作を含む。この点について、一態様では、USBホストコントローラが、結合されたUSBクライアントデバイスのための低電力動作スケジュールを決定する。低電力動作スケジュールは、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間が、それぞれのエントリ時間(entry time)およびそれぞれのエグジット時間(exit time)に対応する。USBホストコントローラは、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBクライアントデバイスに低電力動作スケジュールを通信する。別の態様では、USBクライアントコントローラもまた、低電力動作スケジュールを決定し、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBホストデバイスに低電力動作スケジュールを通信することができる。それぞれのエントリ時間およびエグジット時間を有する1つまたは複数のスケジュールされた低電力動作期間をスケジュールすることによって、USBホストコントローラまたはUSBクライアントコントローラは、追加のシグナリングを受けることなく、1つまたは複数のスケジュールされた低電力動作期間を開始し、終了することができ、したがって、USB低電力動作の効率が上がる。さらに、1つまたは複数の既存のUSB標準パケットを使用して低電力動作スケジュールを通信することによって、USB規格との互換性を保つことが可能である。
【０００７】
この点について、一態様では、スケジュールされた低電力動作をサポートするためのUSBホストデバイスが、提供される。USBホストデバイスは、USBクライアントデバイスに結合されるように構成されたホストUSB物理インターフェースを備える。USBホストデバイスはまた、USBホストコントローラを備える。USBホストコントローラは、結合されたUSBクライアントデバイスのための低電力動作スケジュールを決定するように構成され、低電力動作スケジュールは、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間はそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる。USBホストコントローラはまた、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBクライアントデバイスに低電力動作スケジュールを通信するように構成される。USBホストコントローラはまた、それぞれのエントリ時間に従って、1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始するように構成される。USBホストコントローラはまた、それぞれのエグジット時間に従って、スケジュールされた低電力動作期間を終了するように構成される。
【０００８】
別の態様では、USBホストデバイスにおけるスケジュールされたUSB低電力動作をサポートするための方法が提供される。方法は、結合されたUSBクライアントデバイスのための低電力動作スケジュールを決定するステップを含み、低電力動作スケジュールは、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間はそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる。方法はまた、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBクライアントデバイスに低電力動作スケジュールを通信するステップを含む。方法はまた、それぞれのエントリ時間に従って、1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始するステップを含む。方法はまた、それぞれのエグジット時間に従って、スケジュールされた低電力動作期間を終了するステップを含む。
【０００９】
別の態様では、スケジュールされた低電力動作をサポートするためのUSBクライアントデバイスが、提供される。USBクライアントデバイスは、USBホストデバイスに結合されるように構成されたクライアントUSB物理インターフェースを備える。USBクライアントデバイスはまた、USBクライアントコントローラを備える。USBクライアントコントローラは、低電力動作スケジュールを決定するように構成され、低電力動作スケジュールは、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間はそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる。USBクライアントコントローラはまた、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBホストデバイスに低電力動作スケジュールを通信するように構成される。USBクライアントコントローラはまた、低電力動作スケジュールに対して、結合されたUSBホストデバイスからの確認を受信するように構成される。USBクライアントコントローラはまた、それぞれのエントリ時間に従って、1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始するように構成される。USBクライアントコントローラはまた、それぞれのエグジット時間に従って、スケジュールされた低電力動作期間を終了するように構成される。
【００１０】
別の態様では、USBクライアントデバイスでスケジュールされたUSB低電力動作をサポートするための方法が提供される。方法は、低電力動作スケジュールを決定するステップを含み、低電力動作スケジュールは、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間はそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる。方法はまた、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBホストデバイスに低電力動作スケジュールを通信するステップを含む。方法はまた、低電力動作スケジュールに対して、結合されたUSBホストデバイスからの確認を受信するステップを含む。方法はまた、それぞれのエントリ時間に従って、1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始するステップを含む。方法はまた、それぞれのエグジット時間に従って、スケジュールされた低電力動作期間を終了するステップを含む。
【００１１】
別の態様では、スケジュールされた低電力動作をサポートするためのUSBホストデバイスが、提供される。USBホストデバイスは、USBクライアントデバイスに結合されるように構成されたホストUSB物理インターフェースを備える。USBホストデバイスはまた、USBホストコントローラを備える。USBホストコントローラは、結合されたUSBクライアントデバイスのための低電力動作スケジュールを決定するように構成され、低電力動作スケジュールは、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間はそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる。USBホストコントローラはまた、1つまたは複数のUSB独自のパケット(USB proprietary packet)を使用して、結合されたUSBクライアントデバイスに低電力動作スケジュールを通信するように構成される。USBホストコントローラはまた、それぞれのエントリ時間に従って、1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始するように構成される。USBホストコントローラはまた、それぞれのエグジット時間に従って、スケジュールされた低電力動作期間を終了するように構成される。
【図面の簡単な説明】
【００１２】
【図１】USBホストデバイスとUSBクライアントデバイスとの間の通信のための例示的なユニバーサルシリアルバス(USB)システムアーキテクチャの概略図である。
【図２】USB 2.0 Link Power Management (LPM) Addendumに定義される態様による、例示的な標準的USB低電力動作方式の概略図である。
【図３】USB 2.0 LPM Addendumに定義されるUSB低電力動作方式に関連する通信オーバーヘッドおよび遷移待ち時間を減らすための例示的なスケジュールされたUSB低電力動作方式の概略図である。
【図４】図3のスケジュールされたUSB低電力動作方式をサポートするための例示的なUSBホストコントローラプロセスを示すフローチャートである。
【図５】図3のスケジュールされたUSB低電力動作方式をサポートするための例示的なUSBクライアントコントローラプロセスを示すフローチャートである。
【図６Ａ】図1のUSBホストデバイスから図1のUSBクライアントデバイスへ低電力動作スケジュールを通信するために符号化され得るUSBスタートオブフレーム(SOF: start-of-frame)パケットの例示的なフォーマットの概略図である。
【図６Ｂ】例示的なUSB標準トランザクションを示す概略図である。
【図６Ｃ】図1のUSBホストデバイスから図1のUSBクライアントデバイスへ低電力動作スケジュールを通信するために符号化され得るUSBトークンパケットの例示的なフォーマットの概略図である。
【図６Ｄ】図1のUSBホストデバイスから図1のUSBクライアントデバイスへ低電力動作スケジュールを通信するために符号化され得るUSBデータパケットの例示的なフォーマットの概略図である。
【図６Ｅ】図1のUSBホストデバイスから図1のUSBクライアントデバイスへ低電力動作スケジュールを通信するために符号化され得るUSBハンドシェイクパケットの例示的なフォーマットの概略図である。
【図７】図3のスケジュールされたUSB低電力動作方式をサポートすることができるプロセッサベースのシステムの一例を示す図である。
【発明を実施するための形態】
【００１３】
次に図面を参照しながら、本開示のいくつかの例示的な態様について述べる。本明細書において、「例示的」という語は、「例、実例、または例証としての働きをする」ことを意味するために使用される。「例示的」として本明細書で説明するいずれの態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるべきではない。
【００１４】
発明を実施するための形態において開示される態様は、スケジュールされたユニバーサルシリアルバス(USB)低電力動作を含む。この点について、一態様では、USBホストコントローラが、結合されたUSBクライアントデバイスのための低電力動作スケジュールを決定する。低電力動作スケジュールは、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間が、それぞれのエントリ時間およびそれぞれのエグジット時間に対応する。USBホストコントローラは、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBクライアントデバイスに低電力動作スケジュールを通信する。別の態様では、USBクライアントコントローラもまた、低電力動作スケジュールを決定し、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBホストデバイスに低電力動作スケジュールを通信することができる。それぞれのエントリ時間およびエグジット時間を有する1つまたは複数のスケジュールされた低電力動作期間をスケジュールすることによって、USBホストコントローラまたはUSBクライアントコントローラは、追加のシグナリングを受けることなく、1つまたは複数のスケジュールされた低電力動作期間を開始し、終了することができ、したがって、USB低電力動作の効率が上がる。さらに、1つまたは複数の既存のUSB標準パケットを使用して低電力動作スケジュールを通信することによって、USB規格との互換性を保つことが可能である。
【００１５】
本開示の特定の態様を含む、スケジュールされたUSB低電力動作の態様を説明する前に、USB 2.0 Link Power Management (LPM) Addendumにおいて定義される、従来のUSB低電力動作の概要を、図1に提供する例示的なUSBシステムアーキテクチャに関して、図2に提供する。スケジュールされたUSB低電力動作の特定の例示的な態様の説明は、以下で図3を参照しながら開始する。
【００１６】
この点について、図1は、USBホストデバイス102とUSBクライアントデバイス104との間の通信のための例示的なUSBシステムアーキテクチャ100の概略図である。USBホストデバイス102は、USBホストコントローラ106と、ホストUSB物理インターフェース108とを備える。ホストUSB物理インターフェース108は、USB通信媒体112によって、クライアントUSB物理インターフェース110に結合される。非限定的な例では、ホストUSB物理インターフェース108およびクライアントUSB物理インターフェース110は、USB 2.0規格および/またはUSB 3.0規格に基づいて提供されてもよい。この点について、USB通信媒体112は、USB 2.0準拠またはUSB 3.0準拠のケーブルであってもよい。別の非限定的な例では、USBホストデバイス102は、第1の集積回路(IC)チップ114であってもよく、USBクライアントデバイス104は、第2のICチップ116であってもよい。この点について、ホストUSB物理インターフェース108およびクライアントUSB物理インターフェース110は、USB通信媒体112を通じてチップ間通信を提供するように構成される。
【００１７】
図1を参照すると、USBホストコントローラ106は、USBクライアントデバイス104との通信のための特定用途向け命令を受信するために、ホストプロセッサ118に通信可能に結合されてもよい。非限定的な例では、USBホストコントローラ106は、USB 2.0規格および/またはUSB 3.0規格に従って、USB標準パケットを送信および受信するように構成される。USBクライアントデバイス104は、USBクライアントコントローラ120を備え、USBクライアントコントローラ120もまた、USB 2.0規格および/またはUSB 3.0規格に従って、USB標準パケットを送信および受信するように構成される。
【００１８】
引き続き図1を参照すると、USB 2.0規格は、USBホストデバイス102とUSBクライアントデバイス104との間の電力管理のための機構を定義する。USB 2.0電力管理機構は、低電力動作のための「サスペンド」モード動作を検出するための単純なプロトコルと、USBホストデバイス102またはUSBクライアントデバイス104のいずれかが通常動作に戻るために「レジューム」モード動作を開始することを可能にするための特別なシグナリングプロトコルとに基づく。USB 2.0電力管理機構は、単純ではあるが、USBホストデバイス102とUSBクライアントデバイス104との間の低電力動作を細かく管理するまたは最適化するために使用されることを意図されていない、粒度の大きい機構と見なされる。たとえば、USBクライアントデバイス104を「サスペンド」するために、USBホストデバイス102は、少なくとも3ミリ秒(3ms)の間、ホストUSB物理インターフェース108上の活動をサスペンドしなければならない。さらに、USBクライアントデバイス104がサスペンドされた後少なくとも2ミリ秒(2ms)まで、USBクライアントデバイス104は、「レジューム」モード動作を開始することを禁止される。この点について、「サスペンド」モード動作に入り、終了するためには、最低5ミリ秒(5ms)かかる。USB 2.0電力管理機構とは対照的に、USB 2.0 LPM Addendumは、USB 2.0「サスペンド」および「レジューム」モード動作に関連する遷移待ち時間を減らすために改善されたUSB電力管理機構を提供する。
【００１９】
この点において、図2は、USB 2.0 LPM Addendum(以下、「USB LPM」と呼ぶ)に定義される態様による、例示的な標準的USB低電力動作方式200の概略図である。図1の要素が図2に関連して参照されるが、ここでは再び説明しない。
【００２０】
図2を参照すると、USB 2.0規格における「サスペンド」および「レジューム」モード動作を維持することに加えて、USB LPMは、USBホストデバイス102およびUSBクライアントデバイス104のための新しい「スリープ」モード動作を導入する。「スリープ」モード動作は、USB 2.0規格における「サスペンド」および「レジューム」モード動作と同様であるが、より細かい粒度をサポートし、「サスペンド」および「レジューム」モード動作に比べて減少した遷移待ち時間となる。
【００２１】
引き続き図2を参照すると、低電力動作期間202(1)を開始するために、USBホストデバイス102(図示せず)は、LPMトランザクションパケット204(1)をUSBクライアントデバイス104(図示せず)に送信する。USB確認応答(ACK)パケット(図示せず)がUSBクライアントデバイス104から受信される場合、低電力動作期間202(1)は始まる。低電力動作期間202(1)を終了するには、USBホストデバイス102は、エグジット信号206(1)をUSBクライアントデバイス104に提供しなければならない。USB LPMに従って、エグジット信号206(1)は、リモートウェイク(remote wake)、レジュームシグナリング、リセットシグナリング、または切断により提供されてもよい。同じ手順は、次の低電力動作期間202(2)を開始するために繰り返され、以下同様である。LPMトランザクションパケット204(1)およびエグジット信号206(1)を送信するのにそれ程時間がかからないので、「スリープ」モード動作は、「サスペンド」および「レジューム」モード動作に関連する複数ミリ秒の遷移待ち時間を、数十マイクロ秒まで短縮することができる。
【００２２】
引き続き図2を参照すると、遷移待ち時間の改善にもかかわらず、USB LPMは、低電力動作期間202(1)を開始および終了するために、それぞれ、LPMトランザクションパケット204(1)およびエグジット信号206(1)をさらに要求する。したがって、LPMトランザクションパケット204(1)およびエグジット信号206(1)は、さらなるパケット送信によりUSBホストデバイス102とUSBクライアントデバイス104との間のデータスループットに悪影響を及ぼす可能性があるオーバーヘッド信号である。この影響は、USBホストデバイス102とUSBクライアントデバイス104との間のデータ通信が周期的(たとえば、音声、オーディオなど)である場合、特に重大である。したがって、USB LPMに関連する通信オーバーヘッドおよび遷移待ち時間をさらに減らすために、USB LPMを最適化することが望ましい。対照的に、低電力動作期間202(1)、202(2)のそれぞれのエントリ時間およびエグジット時間をあらかじめ決定することができる場合、前もって低電力動作期間202(1)、202(2)をスケジュールすることが可能である。スケジュールされることによって、低電力動作期間202(1)、202(2)は、自動的に開始し、終了することになる。その結果、LPMトランザクションパケット204(1)、204(2)、およびエグジット信号206(1)、206(2)は、もはや必要とされない。その結果、USB LPMに関連する通信オーバーヘッドおよび遷移待ち時間は、短縮され得る。
【００２３】
この点について、図3は、USB LPMに関連する通信オーバーヘッドおよび遷移待ち時間を減らすための例示的なスケジュールされたUSB低電力動作方式300の概略図である。図1の要素が図3に関連して参照されるが、ここでは再び説明しない。説明の便宜のために、USB 2.0規格は、以下では非限定的な例として言及される。当然のことながら、スケジュールされたUSB低電力動作方式300の態様は、USB規格の以前のバージョン(たとえば、USB 1.1)、およびUSB規格の以降のバージョン(たとえば、USB 3.0、USB 3.1、およびその先)に、同様に適用可能である。さらに、スケジュールされたUSB低電力動作方式300は、周辺構成要素相互接続エクスプレス(PCIe)ならびにユニバーサルフラッシュストレージ(UFS)ホストおよびクライアントなどの、非USBホストおよびクライアントによって採用されてもよい。
【００２４】
図3を参照すると、USBホストデバイス102のUSBホストコントローラ106は、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)電力動作スケジュール302を定義する。1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)の各々は、それぞれのエントリ時間(TENTRY)およびそれぞれのエグジット時間(TEXIT)に関連付けられる。USBホストコントローラ106は、1つまたは複数の既存のUSB標準パケット(図示せず)を使用して、USBクライアントデバイス104のUSBクライアントコントローラ120に低電力動作スケジュール302を通信する。非限定的な例では、1つまたは複数の既存のUSB標準パケットは、1つまたは複数のUSBスタートオブフレーム(SOF)パケット、1つまたは複数のUSBトークンパケット、1つまたは複数のUSBゼロレングスパケット(ZLP: zero-length-packet)、1つまたは複数のUSBハンドシェイクパケット、または1つまたは複数のUSBデータパケットであってもよい。低電力動作スケジュール302を通信するための1つまたは複数の既存のUSB標準パケットにおける特定の符号化については、図6A〜図6Eに関して後でさらに説明する。低電力動作スケジュール302をUSBクライアントコントローラ120に通信した後に、USBホストコントローラ106は、開始トリガ信号(たとえば、図2のLPMトランザクションパケット204(1))(図示せず)をUSBクライアントコントローラ120に提供することなく、それぞれのエントリ時間(TENTRY)に従って、スケジュールされた低電力動作期間304(Y)を開始することができ、304(Y)は、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)のうちの任意のスケジュールされた低電力動作期間を指す。さらに、USBホストコントローラ106は、終了トリガ信号(たとえば、図2のエグジット信号206(1))(図示せず)を提供することなく、それぞれのエグジット時間(TEXIT)に従って、スケジュールされた低電力動作期間304(Y)を終了することができる。非限定的な例では、それぞれのエントリ時間(TENTRY)はまた、現在の時間からのオフセット時間(TOFFSET)(図示せず)に基づいて暗黙的に設定されてもよく、それによってUSBクライアントコントローラ120は、スケジュールされた低電力動作期間304(Y)を直ちに開始し、オフセット時間(TOFFSET)が満了するとき、スケジュールされた低電力動作期間304(Y)を終了してもよい。この点について、スケジュールされたUSB低電力動作方式300は、図2における標準的なUSB低電力動作方式200に関連する通信オーバーヘッドおよび遷移待ち時間をさらに減らすことができる。
【００２５】
引き続き図3を参照すると、USBクライアントデバイス104のUSBクライアントコントローラ120もまた、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)を含む低電力動作スケジュール302を定義することができる。USBクライアントコントローラ120は、1つまたは複数の既存のUSB標準パケット(図示せず)を使用して、USBホストデバイス102のUSBホストコントローラ106に低電力動作スケジュール302を通信する。非限定的な例では、USBクライアントコントローラ120によって使用される1つまたは複数の既存のUSB標準パケットは、USBハンドシェイクパケット、またはUSBデータパケットであってもよい。低電力動作スケジュール302をUSBホストコントローラ106に通信し、USBホストコントローラ106から確認(たとえば、USB ACKパケット)(図示せず)を受信した後、USBクライアントコントローラ120は、開始トリガ信号(たとえば、図2のLPMトランザクションパケット204(1))(図示せず)を提供することなく、それぞれのエントリ時間(TENTRY)に従ってスケジュールされた低電力動作期間304(Y)を開始することができる。さらに、USBクライアントコントローラ120は、終了トリガ信号(たとえば、図2のエグジット信号206(1))(図示せず)を提供することなく、それぞれのエグジット時間(TEXIT)に従って、スケジュールされた低電力動作期間304(Y)を終了することができる。非限定的な例では、それぞれのエントリ時間(TENTRY)はまた、現在の時間からのオフセット時間(TOFFSET)(図示せず)に基づいて暗黙的に設定されてもよく、それによってUSBクライアントコントローラ120は、スケジュールされた低電力動作期間304(Y)を直ちに開始し、オフセット時間(TOFFSET)が満了するとき、スケジュールされた低電力動作期間304(Y)を終了してもよい。この点について、スケジュールされたUSB低電力動作方式300は、図2における標準的なUSB低電力動作方式200に関連する通信オーバーヘッドおよび遷移待ち時間をさらに減らすことができる。
【００２６】
非限定的な例では、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)の各々は、既存のUSB低電力動作方式(たとえば、サスペンドモード)、またはUSB規格の様々なバージョンにおいて定義されている既存のUSB低電力動作方式の組合せ(たとえば、USB 1.1、USB 2.0、USB 3.0、およびUSB 3.1)によって、有効にされてもよい。1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)の各々は、既存のUSB低電力動作方式に関連するランプアップ遅延を調整しなければならない。たとえば、スケジュールされた低電力動作期間304(Y)がUSBサスペンドモードに基づいている場合、スケジュールされた低電力動作期間304(Y)は、USBクライアントデバイス104が、スケジュールされた低電力動作期間304(Y)を終了する前に、その位相ロックループ(PLL)をランプアップできることを確実にするのに十分な長さとなる。場合によっては、USBクライアントコントローラ120は、スケジュールされた低電力動作期間304(Y)を終了する前にいくつかのUSBハンドシェイクを実行する必要があることがある。この点について、スケジュールされた低電力動作期間304(Y)は、ハンドシェイクに関連する遅延を調整しなければならない。非限定的な例では、そのようなハンドシェイクは、USBホストコントローラ106とUSBクライアントコントローラ120との間で、USB 2.0 ACK/NACK/NYETおよびUSB 3.0 ERDY/NRDYを交換することを含む場合がある。
【００２７】
スケジュールされたUSB低電力動作方式300をサポートするためにUSBホストコントローラ106およびUSBクライアントコントローラ120によって行われるプロセスを説明するために、それぞれ図4および図5を提供する。図1および図3の要素がそれぞれ図4および図5に関連して参照されるが、ここでは再び説明しない。
【００２８】
この点について、図4は、図3のスケジュールされたUSB低電力動作方式300をサポートするための例示的なUSBホストコントローラプロセス400を示すフローチャートである。USBホストデバイス102のUSBホストコントローラ106は、結合されたUSBクライアントデバイス104のために低電力動作スケジュール302を決定する(ブロック402)。上記で説明したように、低電力動作スケジュール302は、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)を含み、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)の各々は、それぞれのエントリ時間(TENTRY)に始まり、それぞれのエグジット時間(TEXIT)に終わる。USBホストコントローラ106は、次いで、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBクライアントデバイス104に低電力動作スケジュール302を通信する(ブロック404)。上記で説明したように、1つまたは複数の既存のUSB標準パケットは、USB SOFパケット、USBトークンパケット、USB ZLP、USBハンドシェイクパケット、またはUSBデータパケットであってもよい。非限定的な例では、低電力動作スケジュール302をUSBクライアントデバイス104に通信した後に、USBホストコントローラ106は、低電力動作スケジュール302がUSBクライアントデバイス104によって正しく受信および/または復号されるかどうかにかかわらず、低電力動作スケジュール302を実行することができる。この点について、USBホストコントローラ106は、それぞれのエントリ時間(TENTRY)に従って、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)のうちのスケジュールされた低電力動作期間304(Y)を開始する(ブロック406)。さらに、USBホストコントローラ106は、それぞれのエグジット時間(TEXIT)に従って、スケジュールされた低電力動作期間304(Y)を終了する(ブロック408)。
【００２９】
図5は、図3のスケジュールされたUSB低電力動作方式300をサポートするための例示的なUSBクライアントコントローラプロセス500を示すフローチャートである。USBクライアントデバイス104のUSBクライアントコントローラ120は、低電力動作スケジュール302を決定する(ブロック502)。上記で説明したように、低電力動作スケジュール302は、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)を含み、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)の各々は、それぞれのエントリ時間(TENTRY)に始まり、それぞれのエグジット時間(TEXIT)に終わる。USBクライアントコントローラ120は、次いで、1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBホストデバイス102に低電力動作スケジュール302を通信する(ブロック504)。上記で説明したように、1つまたは複数の既存のUSB標準パケットは、USBハンドシェイクパケット、またはUSBデータパケットであってもよい。USBホストコントローラ106とは異なり、USBクライアントコントローラ120は、低電力動作スケジュール302について、結合されたUSBホストデバイス102から確認(たとえば、USB ACKパケット)を受信しなければならない(ブロック506)。言い換えれば、USBクライアントコントローラ120は、結合されたUSBホストデバイス102からの明示的な確認なしには低電力動作スケジュール302を実行することができない。非限定的な例では、USBホストコントローラ106は、低電力動作スケジュール302について異なるエントリ時間(TENTRY)および/またはエグジット時間(TEXIT)を提案してもよい。結合されたUSBホストデバイス102から確認を受信した後に、USBクライアントコントローラ120は、それぞれのエントリ時間(TENTRY)に従って、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)のうちのスケジュールされた低電力動作期間304(Y)を開始する(ブロック508)。さらに、USBクライアントコントローラ120は、それぞれのエグジット時間(TEXIT)に従って、スケジュールされた低電力動作期間304(Y)を終了する(ブロック510)。
【００３０】
図3において前に説明したように、USBホストコントローラ106とUSBクライアントコントローラ120との間で低電力動作スケジュール302を通信するために使用される1つまたは複数の既存のUSB標準パケットは、USB SOFパケット、USBトークンパケット、USB ZLP、USBハンドシェイクパケット、またはUSBデータパケットであってもよい。この点について、図6A〜図6Eは、低電力動作スケジュール302を通信するための、USB SOFパケット、USBトークンパケット、USB ZLP、USBハンドシェイクパケット、およびUSBデータパケットでの例示的な符号化を説明するために提供されている。図1および図3の要素が、図6A〜図6Eに関連して参照されるが、ここでは再び説明しない。
【００３１】
図6Aは、USBホストデバイス102(図示せず)からUSBクライアントデバイス104(図示せず)へ低電力動作スケジュール302を通信するために符号化され得るUSB SOFパケット600の例示的なフォーマットの概略図である。USB SOFパケット600は、パケット識別情報(PID)フィールド602と、FrameNumberフィールド604と、巡回冗長検査(CRC)フィールド606とを含む。非限定的な例では、FrameNumberフィールド604は、長さが11(11)オクテットであるが、低電力動作スケジュール302で符号化される。
【００３２】
引き続き図6Aを参照すると、USB規格に従って、USBホストデバイス102は、複数のUSBフレームまたはUSBマイクロフレーム610(1)〜610(N)の始めにそれぞれ複数のUSB SOFパケット608(1)〜608(N)を送信する。USBフレームは、持続時間が1ミリ秒(1ms)であり、USB 2.0規格において低速データリンクに使用される。USBマイクロフレームは、持続時間が125マイクロ秒(125μs)であり、USB 3.0規格において高速データリンクに使用される。したがって、低電力動作スケジュール302における1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)は、複数のUSB SOFパケット608(1)〜608(N)のうちの1つまたは複数のUSB SOFパケットに固定(anchored)されてもよい。たとえば、1つまたは複数のスケジュールされた低電力動作期間304(1)〜304(X)のうちのスケジュールされた低電力動作期間のそれぞれのエントリ時間(TENTRY)は、複数のUSB SOFパケット608(1)〜608(N)のうちの特定のUSB SOFパケットにおいて固定されてもよい。複数のUSB SOFパケット608(1)〜608(N)が、単にUSBホストデバイス102からUSBクライアントデバイス104に送信されるとすれば、USBホストコントローラ106のみが、複数のUSB SOFパケット608(1)〜608(N)を使用して低電力動作スケジュール302を通信することができる。
【００３３】
図6Bは、例示的なUSB標準トランザクション612を示す概略図である。図6Bに従って、USB標準トランザクション612は、トークンフェーズ614と、データパケットフェーズ616と、ハンドシェイクパケットフェーズ618とを含む。この点について、USBトークンパケット(図示せず)、USBデータパケット(図示せず)、およびUSBハンドシェイクパケット(図示せず)は、それぞれトークンフェーズ614、データパケットフェーズ616、およびハンドシェイクパケットフェーズ618の間にUSBホストデバイス102とUSBクライアントデバイス104との間で通信される。
【００３４】
図6Cは、USBホストデバイス102からUSBクライアントデバイス104へ低電力動作スケジュール302を通信するために符号化され得るUSBトークンパケット620の例示的なフォーマットの概略図である。USBトークンパケット620は、パケット2D(PID)フィールド622と、アドレス(ADDR)フィールド624と、エンドポイント(ENDP)フィールド626と、CRCフィールド628とを含む。ADDRフィールド624およびENDPフィールド626は、長さがそれぞれ7(7)オクテットおよび4(4)オクテットである。非限定的な例では、ADDRフィールド624およびENDPフィールド626は、低電力動作スケジュール302で符号化される。別の非限定的な例では、ENDPフィールド626に、関連するエンドポイント(たとえば、USBクライアントデバイス104)を示して、関連するエンドポイントでのパケット優先度付けを容易にすることが可能である。USBトークンパケット620が単にUSBホストデバイス102からUSBクライアントデバイス104に送信されるとすれば、USBホストコントローラ106は、USBトークンパケット620を使用して低電力動作スケジュール302を通信することができる。
【００３５】
図6Dは、USBホストデバイス102からUSBクライアントデバイス104へ低電力動作スケジュール302を通信するために符号化され得るUSBデータパケット630の例示的なフォーマットの概略図である。USBデータパケット630は、PIDフィールド632と、データフィールド634と、CRCフィールド636とを含む。データフィールド634は、最大で8,192(8,192)オクテットまでの可変長を有する。この点について、USBホストデバイス102とUSBクライアントデバイス104との間で低電力動作スケジュール302を通信するために、タイプ-長さ-値(TLV: type-length-value)データ構造などの、所定のデータ構造を使用することが可能である。非限定的な例では、USBホストデバイス102とUSBクライアントデバイス104との間で所定の数のUSBデータパケットを交換した後に低電力動作スケジュール302が始まることを示すために、所定のデータ構造を使用することが可能である。USBデータパケット630がUSBホストデバイス102とUSBクライアントデバイス104の両方から送信される可能性があるとすれば、USBホストコントローラ106およびUSBクライアントコントローラ120の両方は、USBデータパケット630を使用して低電力動作スケジュール302を通信することができる。
【００３６】
図6Eは、USBホストデバイス102とUSBクライアントデバイス104との間で低電力動作スケジュール302を通信するために符号化され得るUSBハンドシェイクパケット638の例示的なフォーマットの概略図である。USBハンドシェイクパケット638は、PIDフィールド640を含む。非限定的な例では、PIDフィールド640は、長さが8オクテットであるが、低電力動作スケジュール302で符号化される。USBハンドシェイクパケット638がUSBホストデバイス102とUSBクライアントデバイス104の両方から送信される可能性があるとすれば、USBホストコントローラ106およびUSBクライアントコントローラ120の両方は、USBハンドシェイクパケット638を使用して低電力動作スケジュール302を通信することができる。
【００３７】
上記で説明した、USB SOFパケット608(1)〜608(N)、USBトークンパケット620、USB ZLP、USBハンドシェイクパケット638、またはUSBデータパケットを使用して、USBホストコントローラ106とUSBクライアントコントローラ120との間で低電力動作スケジュール302を通信する以外に、1つまたは複数のUSB独自のパケットを使用して、USBホストコントローラ106とUSBクライアントコントローラ120との間で低電力動作スケジュール302を通信することも可能である。
【００３８】
本明細書で開示する態様による、スケジュールされたUSB低電力動作は、任意のプロセッサベースのデバイス内に設けられるか、またはその中に組み込まれる場合がある。例としては、限定はしないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、定置データユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、音楽ヘッドセット、スピーカー、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤが含まれる。
【００３９】
この点について、図7は、図3に示されるスケジュールされたUSB低電力動作方式300をサポートすることができる、プロセッサベースのシステム700の一例を示す。この例では、プロセッサベースのシステム700は、各々が1つまたは複数のプロセッサ704を含む、1つまたは複数の中央処理ユニット(CPU)702を含む。CPU702は、一時的に記憶されたデータへの高速アクセスのためにプロセッサ704に結合されたキャッシュメモリ706を有する場合がある。CPU702は、システムバス708に結合され、システムバス708にUSBホストコントローラ106が接続されてよい。よく知られているように、CPU702は、システムバス708を介してアドレス情報、制御情報、およびデータ情報を交換することによって、これらの他のデバイスと通信する。図7には示されていないが、複数のシステムバス708が提供される場合があり、各システムバス708は異なるファブリックを構成する。
【００４０】
他のマスタデバイスおよびスレーブデバイスをシステムバス708に接続することができる。図7に示すように、これらのデバイスは、例として、メモリシステム710、1つまたは複数の入力デバイス712、1つまたは複数の出力デバイス714、1つまたは複数のネットワークインターフェースデバイス716、および1つまたは複数のディスプレイコントローラ718を含むことができる。入力デバイス712は、限定はしないが、入力キー、スイッチ、音声プロセッサ等を含む、任意のタイプの入力デバイスを含むことができる。出力デバイス714は、限定はしないが、オーディオ、ビデオ、他の視覚インジケータなどを含む任意のタイプの出力デバイスを含むことができる。ネットワークインターフェースデバイス716は、ホストUSB物理インターフェース108を含み、ネットワーク720との間でデータの交換を可能にするように構成された任意のデバイスとすることができる。ネットワーク720は、限定はしないが、有線ネットワークもしくはワイヤレスネットワーク、プライベートネットワークもしくは公衆ネットワーク、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイドエリアネットワーク(WAN)、BLUETOOTH(登録商標)ネットワーク、またはインターネットを含む、任意のタイプのネットワークであり得る。ネットワークインターフェースデバイス716は、所望される任意のタイプの通信プロトコルをサポートするように構成され得る。メモリシステム710は、1つまたは複数のメモリユニット722(0〜N)およびメモリコントローラ724を含むことができる。
【００４１】
CPU702は、1つまたは複数のディスプレイ726に送られる情報を制御するために、システムバス708を介してディスプレイコントローラ718にアクセスするように構成される場合もある。ディスプレイコントローラ718は、1つまたは複数のビデオプロセッサ728を介して、表示されるべき情報をディスプレイ726に送り、ビデオプロセッサ728は、表示されるべき情報を、ディスプレイ726に適したフォーマットになるように処理する。ディスプレイ726は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイなどを含む、任意のタイプのディスプレイを含むことができる。
【００４２】
本明細書で開示する態様に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウェアとして、メモリもしくは別のコンピュータ可読媒体に記憶され、プロセッサもしくは他の処理デバイスによって実行される命令として、またはその両方の組合せとして実施される場合があることは、当業者はさらに理解されよう。本明細書で説明するマスタデバイスおよびスレーブデバイスは、例として、任意の回路、ハードウェア構成要素、IC、またはICチップにおいて採用されてよい。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリであってよく、任意のタイプの所望の情報を記憶するように構成されてよい。この互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能の観点から上記で説明された。そのような機能がどのように実施されるのかは、特定の適用例、設計選択、および/またはシステム全体に課された設計制約によって決まる。当業者は、説明された機能を特定の適用例ごとに様々な方法で実施してよいが、そのような実装決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００４３】
本明細書で開示する態様に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、本明細書で説明する機能を実行するように設計されたプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、またはそれらの任意の組合せを用いて、実施または実行される場合がある。プロセッサは、マイクロプロセッサである場合があるが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンである場合がある。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装される場合もある。
【００４４】
本明細書で開示する態様は、ハードウェアにおいて、また、ハードウェアに記憶された命令において具現される場合があり、命令は、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形態のコンピュータ可読媒体内に存在する場合がある。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ること、および記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であってもよい。プロセッサおよび記憶媒体は、ASICに存在する場合がある。ASICは、リモート局の中に存在する場合がある。代替として、プロセッサおよび記憶媒体は、リモート局、基地局、またはサーバの中で個別構成要素として存在する場合がある。
【００４５】
本明細書の例示的な態様のいずれかにおいて説明した動作ステップは、例について説明するためのものであることにも留意されたい。上述の動作は、図示したシーケンス以外の多数の異なるシーケンスにおいて実行される場合がある。さらに、単一の動作ステップにおいて説明した動作は、実際にはいくつかの異なるステップにおいて実行される場合がある。さらに、例示的な態様において説明した1つまたは複数の動作ステップが組み合わされる場合がある。フローチャート図に示された動作ステップは、当業者には容易に明らかであるように、多くの異なる変更を受けることがあることを理解されたい。当業者にはまた、情報および信号が様々な異なる技術および技法のいずれを使用して表されてもよいことが理解されよう。たとえば、上記の説明全体を通じて参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁気粒子、光場あるいは光粒子、またはそれらの任意の組合せによって表現されてもよい。
【００４６】
本開示の上記の説明は、いかなる当業者も本開示を作成または使用することが可能になるように提供される。本開示に対する様々な変更は、当業者には容易に明らかになり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用されてもよい。したがって、本開示は、本明細書において説明した例および設計に限定されるものではなく、本明細書において開示した原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００４７】
100  USBシステムアーキテクチャ
102  USBホストデバイス
104  USBクライアントデバイス
106  USBホストコントローラ
108  ホストUSB物理インターフェース
110  クライアントUSB物理インターフェース
112  USB通信媒体
114  集積回路(IC)チップ
116  ICチップ
118  ホストプロセッサ
120  USBクライアントコントローラ
200  標準的USB低電力動作方式
202  低電力動作期間
204  LPMトランザクションパケット
206  エグジット信号
300  スケジュールされたUSB低電力動作方式
302  低電力動作スケジュール
304  スケジュールされた低電力動作期間
600  USB SOFパケット
602  パケット識別情報(PID)フィールド
604  FrameNumberフィールド
606  巡回冗長検査(CRC)フィールド
608  USB SOFパケット
610  USBマイクロフレーム
612  USB標準トランザクション
614  トークンフェーズ
616  データパケットフェーズ
618  ハンドシェイクパケットフェーズ
620  USBトークンパケット
622  パケット2Dフィールド
630  USBデータパケット
632  PIDフィールド
634  データフィールド
636  CRCフィールド
638  USBハンドシェイクパケット
640  PIDフィールド
700  プロセッサベースのシステム
702  中央処理ユニット(CPU)
704  プロセッサ
706  キャッシュメモリ
708  システムバス
710  メモリシステム
712  入力デバイス
714  出力デバイス
716  ネットワークインターフェースデバイス
718  ディスプレイコントローラ
720  ネットワーク
722  メモリユニット
724  メモリコントローラ
726  ディスプレイ
728  ビデオプロセッサ
【図１】
2018518872.tif 000003
【図２】
2018518872.tif 000004
【図３】
2018518872.tif 000005
【図４】
2018518872.tif 000006
【図５】
2018518872.tif 000007
【図６Ａ】
2018518872.tif 000008
【図６Ｂ】
2018518872.tif 000009
【図６Ｃ】
2018518872.tif 000010
【図６Ｄ】
2018518872.tif 000011
【図６Ｅ】
2018518872.tif 000012
【図７】
2018518872.tif 000013
【手続補正書】
【提出日】平成29年11月2日(2017.11.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スケジュールされた低電力動作をサポートするためのユニバーサルシリアルバス(USB)ホストデバイスであって、
USBクライアントデバイスに結合されるように構成されたホストUSB物理インターフェースと、
USBホストコントローラと
を備え、前記USBホストコントローラが、
前記結合されたUSBクライアントデバイスのための低電力動作スケジュールを決定することであって、前記低電力動作スケジュールが、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間がそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる、決定することと、
1つまたは複数の既存のUSB標準パケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信することと、
前記それぞれのエントリ時間に従って、前記1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始することと、
前記それぞれのエグジット時間に従って、前記スケジュールされた低電力動作期間を終了することと
を行うように構成される、USBホストデバイス。
【請求項２】
前記USBホストデバイスが、前記結合されたUSBクライアントデバイスにトリガ信号を提供することなく、前記それぞれのエントリ時間に前記1つまたは複数のスケジュールされた低電力動作期間を開始するように構成される、請求項1に記載のUSBホストデバイス。
【請求項３】
前記USBホストデバイスが、前記結合されたUSBクライアントデバイスにトリガ信号を提供することなく、前記それぞれのエグジット時間に前記1つまたは複数のスケジュールされた低電力動作期間を終了するように構成される、請求項1に記載のUSBホストデバイス。
【請求項４】
前記USBホストデバイスが、1つまたは複数のUSBスタートオブフレーム(SOF)パケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項５】
前記低電力動作スケジュールが、前記1つまたは複数のUSB SOFパケットのそれぞれのFrameNumberフィールドにおいて符号化され、
前記低電力動作スケジュールに含まれる前記1つまたは複数のスケジュールされた低電力動作期間が、前記USBホストデバイスによって送信された複数のUSB SOFパケットのうちの1つまたは複数に固定される、
請求項4に記載のUSBホストデバイス。
【請求項６】
前記USBホストデバイスが、1つまたは複数のUSBトークンパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項７】
前記USBホストデバイスが、1つまたは複数のUSBゼロレングスパケット(ZLP)を使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項８】
前記USBホストデバイスが、1つまたは複数のUSBハンドシェイクパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項９】
前記USBホストデバイスが、1つまたは複数のUSBデータパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するように構成される、請求項1に記載のUSBホストデバイス。
【請求項１０】
前記低電力動作スケジュールが、前記1つまたは複数のUSBデータパケットのそれぞれのデータフィールドにおいて符号化され、
前記低電力動作スケジュールが、前記USBホストデバイスと前記結合されたUSBクライアントデバイスとの間で所定の数のUSBデータパケットを交換した後に始まるように構成される、
請求項9に記載のUSBホストデバイス。
【請求項１１】
USBホストデバイスにおけるスケジュールされたユニバーサルシリアルバス(USB)低電力動作をサポートするための方法であって、
結合されたUSBクライアントデバイスのための低電力動作スケジュールを決定するステップあって、前記低電力動作スケジュールが、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間がそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる、決定するステップと、
1つまたは複数の既存のUSB標準パケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップと、
前記それぞれのエントリ時間に従って、前記1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始するステップと、
前記それぞれのエグジット時間に従って、前記スケジュールされた低電力動作期間を終了するステップと
を含む、方法。
【請求項１２】
1つまたは複数のUSBスタートオブフレーム(SOF)パケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含み、前記低電力動作スケジュールが、前記1つまたは複数のUSB SOFパケットのそれぞれのFrameNumberフィールドにおいて符号化される、請求項11に記載の方法。
【請求項１３】
1つまたは複数のUSBトークンパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含む、請求項11に記載の方法。
【請求項１４】
1つまたは複数のUSBゼロレングスパケット(ZLP)を使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含む、請求項11に記載の方法。
【請求項１５】
1つまたは複数のUSBハンドシェイクパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含む、請求項11に記載の方法。
【請求項１６】
1つまたは複数のUSBデータパケットを使用して、前記結合されたUSBクライアントデバイスに前記低電力動作スケジュールを通信するステップをさらに含み、前記低電力動作スケジュールが、前記1つまたは複数のUSBデータパケットのそれぞれのデータフィールドにおいて符号化される、請求項11に記載の方法。
【請求項１７】
スケジュールされた低電力動作をサポートするためのユニバーサルシリアルバス(USB)クライアントデバイスであって、
USBホストデバイスに結合されるように構成されたクライアントUSB物理インターフェースと、
USBクライアントコントローラと
を備え、前記USBクライアントコントローラが、
低電力動作スケジュールを決定することであって、前記低電力動作スケジュールが、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間がそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる、決定することと、
1つまたは複数の既存のUSB標準パケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信することと、
前記低電力動作スケジュールに対して、前記結合されたUSBホストデバイスからの確認を受信することと、
前記それぞれのエントリ時間に従って、前記1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始することと、
前記それぞれのエグジット時間に従って、前記スケジュールされた低電力動作期間を終了することと
を行うように構成される、USBクライアントデバイス。
【請求項１８】
前記USBクライアントデバイスが、前記結合されたUSBホストデバイスにトリガ信号を送信することなく、前記それぞれのエントリ時間に従って前記1つまたは複数のスケジュールされた低電力動作期間のうちの前記スケジュールされた低電力動作期間を開始するように構成される、請求項17に記載のUSBクライアントデバイス。
【請求項１９】
前記USBクライアントデバイスが、前記結合されたUSBホストデバイスにトリガ信号を送信することなく、前記それぞれのエグジット時間に従って前記1つまたは複数のスケジュールされた低電力動作期間のうちの前記スケジュールされた低電力動作期間を終了するように構成される、請求項17に記載のUSBクライアントデバイス。
【請求項２０】
前記USBクライアントデバイスが、1つまたは複数のUSBハンドシェイクパケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するように構成される、請求項17に記載のUSBクライアントデバイス。
【請求項２１】
前記USBクライアントデバイスが、1つまたは複数のUSBデータパケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するように構成される、請求項17に記載のUSBクライアントデバイス。
【請求項２２】
前記低電力動作スケジュールが、前記1つまたは複数のUSBデータパケットのそれぞれのデータフィールドにおいて符号化され、
前記低電力動作スケジュールが、前記USBクライアントデバイスと前記結合されたUSBホストデバイスとの間で所定の数のUSBデータパケットを交換した後に始まるように構成される、
請求項21に記載のUSBクライアントデバイス。
【請求項２３】
USBクライアントデバイスにおけるスケジュールされたユニバーサルシリアルバス(USB)低電力動作をサポートするための方法であって、
低電力動作スケジュールを決定するステップであって、前記低電力動作スケジュールが、1つまたは複数のスケジュールされた低電力動作期間を含み、各低電力動作期間がそれぞれのエントリ時間に始まり、それぞれのエグジット時間に終わる、決定するステップと、
1つまたは複数の既存のUSB標準パケットを使用して、結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するステップと、
前記低電力動作スケジュールに対して、前記結合されたUSBホストデバイスからの確認を受信するステップと、
前記それぞれのエントリ時間に従って、前記1つまたは複数のスケジュールされた低電力動作期間のうちのスケジュールされた低電力動作期間を開始するステップと、
前記それぞれのエグジット時間に従って、前記スケジュールされた低電力動作期間を終了するステップと
を含む、方法。
【請求項２４】
1つまたは複数のUSBハンドシェイクパケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するステップと、
前記1つまたは複数のUSBハンドシェイクパケットのために、前記結合されたUSBホストデバイスから確認応答(ACK)パケットを受信するステップと、
前記ACKパケットが前記結合されたUSBホストデバイスから受信される場合、前記低電力動作スケジュールを実施するステップと
をさらに含む、請求項23に記載の方法。
【請求項２５】
1つまたは複数のUSBデータパケットを使用して、前記結合されたUSBホストデバイスに前記低電力動作スケジュールを通信するステップであって、前記低電力動作スケジュールが、前記1つまたは複数のUSBデータパケットのそれぞれのデータフィールドにおいて符号化される、通信するステップと、
前記1つまたは複数のUSBデータパケットのために、前記結合されたUSBホストデバイスから確認応答(ACK)パケットを受信するステップと、
前記ACKパケットが前記結合されたUSBホストデバイスから受信される場合、前記低電力動作スケジュールを実施するステップと
をさらに含む、請求項23に記載の方法。
【請求項２６】
前記ホストUSB物理インターフェースが、周辺USBクライアントデバイスに結合されるように構成される、請求項1に記載のUSBホストデバイス。
【請求項２７】
低電力動作スケジュールを決定するように構成される前記USBホストコントローラが、複数の低電力動作期間を含む低電力動作スケジュールを決定するように構成される、請求項1に記載のUSBホストデバイス。
【国際調査報告】
2018518872.tif 000014
2018518872.tif 000015