(57)【要約】  詳細な説明で開示される態様は、コンピューティングデバイスにおける省電力技法を含む。具体的には、データがコンピューティングデバイス内のモデムプロセッサによって受信されるとき、モデムタイマの満了までデータが保持される。次いで、データが、PCIe(peripheral component interconnect express)相互接続性バスを介してコンピューティングデバイス内のアプリケーションプロセッサに渡される。モデムプロセッサからのデータの受信時に、アプリケーションプロセッサは、アプリケーションプロセッサによって保持されるデータを、PCIe相互接続性バスを介してモデムプロセッサに送る。アプリケーションプロセッサはまた、アップリンクタイマをも有する。アップリンクタイマの満了前にデータがモデムプロセッサから受信されない場合、アプリケーションプロセッサは、アップリンクタイマの満了時に、収集されたデータがあればそれをモデムプロセッサに送る。しかし、データがモデムプロセッサから受信される場合、アップリンクタイマはリセットされる。
2017502400.tif 000002
【特許請求の範囲】
【請求項１】
モデムタイマと、
前記モデムタイマの満了まで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成されたモデムプロセッサと、
アプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記アプリケーションプロセッサが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの受信まで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成され、前記モデムプロセッサ-アプリケーションプロセッサデータの受信の後、前記アプリケーションプロセッサ-モデムプロセッサデータが、前記相互接続性バスを通じて前記モデムプロセッサに送られるモバイル端末。
【請求項２】
前記相互接続性バスがPCI準拠バスを含む請求項1に記載のモバイル端末。
【請求項３】
前記PCI準拠バスがPCIeバスを含む請求項2に記載のモバイル端末。
【請求項４】
前記アプリケーションプロセッサがアップリンクタイマを含み、前記アップリンクタイマが、前記モデムタイマの期間よりも長い期間を有する請求項1に記載のモバイル端末。
【請求項５】
前記モデムタイマがソフトウェアで実装される請求項1に記載のモバイル端末。
【請求項６】
前記モデムタイマが約6ミリ秒の期間を有する請求項1に記載のモバイル端末。
【請求項７】
前記アプリケーションプロセッサが、前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの受信、または前記モデムタイマの期間よりも長い期間を有する前記アップリンクタイマの満了のどちらかが最初に生じるまで、前記アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成される請求項4に記載のモバイル端末。
【請求項８】
前記モデムプロセッサが前記モデムタイマを備える請求項1に記載のモバイル端末。
【請求項９】
前記アプリケーションプロセッサが前記モデムタイマを備える請求項1に記載のモバイル端末。
【請求項１０】
アプリケーションタイマをさらに備え、前記モデムプロセッサが、前記アプリケーションタイマの1時間スロット以内にデータが受信されない場合、割込みを送るように前記アプリケーションプロセッサに命令するように構成される請求項1に記載のモバイル端末。
【請求項１１】
前記モデムプロセッサに関連するバイト蓄積限度カウンタをさらに備え、前記モデムプロセッサが、前記バイト蓄積限度カウンタに関連するしきい値を超過する場合、前記アプリケーションプロセッサにデータを送るように構成される請求項1に記載のモバイル端末。
【請求項１２】
前記モデムプロセッサに関連するパケット数限度カウンタをさらに備え、前記モデムプロセッサが、前記パケット数限度カウンタに関連するしきい値を超過する場合、前記アプリケーションプロセッサにデータを送るように構成される請求項1に記載のモバイル端末。
【請求項１３】
前記モデムプロセッサが、保持されるデータが制御パケットを含むかどうかを判定し、前記モデムタイマの満了前にそのような制御パケットを送るように構成される請求項1に記載のモバイル端末。
【請求項１４】
前記モデムプロセッサがアプリケーションタイマをさらに備え、前記モデムプロセッサが、前記モデムプロセッサ-アプリケーションプロセッサデータの受信時、または前記アプリケーションタイマの満了時に、前記アプリケーションプロセッサからデータをプルするように構成される請求項3に記載のモバイル端末。
【請求項１５】
コンピューティングデバイス内の電力消費を制御する方法であって、
ダウンリンクタイマの満了まで、リモートネットワークからモデムプロセッサによって受信されたデータを保持するステップと、
前記モデムプロセッサによって受信された前記データを、相互接続性バスを介してアプリケーションプロセッサに渡すステップと、
前記モデムプロセッサからの前記データの受信、またはアップリンクタイマの満了のどちらかが最初に生じるまで、前記アプリケーションプロセッサに関連するアプリケーションによって生成されたアプリケーションデータを保持するステップと
を含む方法。
【請求項１６】
前記データを渡す前記ステップが、PCI準拠バスを介して前記データを渡すステップを含む請求項15に記載の方法。
【請求項１７】
前記ダウンリンクタイマの期間が6ミリ秒を含む請求項15に記載の方法。
【請求項１８】
前記アップリンクタイマの期間が7ミリ秒を含む請求項15に記載の方法。
【請求項１９】
蓄積されたパケットサイズ、蓄積されたパケットカウント、蓄積されたバイトカウント、サービス品質要件、および制御メッセージステータスのうちの1つに基づいてオーバーライド機能を提供するステップをさらに含む請求項15に記載の方法。
【請求項２０】
モデムプロセッサと、
アプリケーションタイマと、
前記アプリケーションタイマの満了まで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成されたアプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記モデムプロセッサが、前記相互接続性バスを通じた前記アプリケーションプロセッサからの前記アプリケーションプロセッサ-モデムプロセッサデータの受信まで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成され、前記アプリケーションプロセッサ-モデムプロセッサデータの受信の後、前記モデムプロセッサ-アプリケーションプロセッサデータが、前記相互接続性バスを通じて前記アプリケーションプロセッサに送られるモバイル端末。
【請求項２１】
前記アプリケーションプロセッサが前記アプリケーションタイマを備える請求項20に記載のモバイル端末。
【請求項２２】
前記モデムプロセッサが前記アプリケーションタイマを備える請求項20に記載のモバイル端末。
【請求項２３】
前記モデムプロセッサにおいてバイトをカウントするバイトカウンタをさらに備える請求項20に記載のモバイル端末。
【請求項２４】
モデムバイト蓄積限度カウンタと、
前記モデムバイト蓄積限度カウンタがバイトの事前定義されたしきい値に達するまで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成されたモデムプロセッサと、
アプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記アプリケーションプロセッサが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの受信まで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成され、前記モデムプロセッサ-アプリケーションプロセッサデータの受信の後、前記アプリケーションプロセッサ-モデムプロセッサデータが、前記相互接続性バスを通じて前記モデムプロセッサに送られるモバイル端末。
【請求項２５】
モデムパケットカウンタと、
前記モデムパケットカウンタがパケットの事前定義されたしきい値に達するまで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成されたモデムプロセッサと、
アプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記アプリケーションプロセッサが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの受信まで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成され、前記モデムプロセッサ-アプリケーションプロセッサデータの受信の後、前記アプリケーションプロセッサ-モデムプロセッサデータが、前記相互接続性バスを通じて前記モデムプロセッサに送られるモバイル端末。
【請求項２６】
モデムプロセッサと、
アプリケーションバイトカウンタと、
前記アプリケーションバイトカウンタがバイトの事前定義されたしきい値に達するまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成されたアプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記モデムプロセッサが、前記相互接続性バスを通じた前記アプリケーションプロセッサからの前記アプリケーションプロセッサ-モデムプロセッサデータの受信まで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成され、前記アプリケーションプロセッサ-モデムプロセッサデータの受信の後、前記モデムプロセッサ-アプリケーションプロセッサデータが、前記相互接続性バスを通じて前記アプリケーションプロセッサに送られるモバイル端末。
【請求項２７】
モデムプロセッサと、
アプリケーションパケットカウンタと、
前記アプリケーションパケットカウンタがパケットの事前定義されたしきい値に達するまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成されたアプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記モデムプロセッサが、前記相互接続性バスを通じた前記アプリケーションプロセッサからの前記アプリケーションプロセッサ-モデムプロセッサデータの受信まで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成され、前記アプリケーションプロセッサ-モデムプロセッサデータの受信の後、前記モデムプロセッサ-アプリケーションプロセッサデータが、前記相互接続性バスを通じて前記アプリケーションプロセッサに送られるモバイル端末。
【請求項２８】
アプリケーションプロセッサにおいてアプリケーションタイマを開始するステップと、
前記アプリケーションタイマの満了まで、前記アプリケーションプロセッサにおいてデータを蓄積するステップと、
相互接続性バスを介して、前記蓄積されたデータを前記アプリケーションプロセッサからモデムプロセッサに送るステップと、
前記アプリケーションプロセッサからの前記蓄積されたデータの受信まで、前記モデムプロセッサにおいてモデムプロセッサデータを保持するステップと
を含む方法。
【請求項２９】
モデムタイマと、
前記モデムタイマの満了までモデムプロセッサ-アプリケーションプロセッサデータを保持するように構成されたモデムプロセッサと、
アプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスと、
前記モデムプロセッサ-アプリケーションプロセッサデータの送信後、前記モデムプロセッサが前記アプリケーションプロセッサからデータをプルするまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成されたアプリケーションプロセッサと
を備えるモバイル端末。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本願は、参照によりその全体が本明細書に組み込まれる、2013年12月16日出願の「POWER SAVING TECHNIQUES IN COMPUTING DEVICES」という名称の米国仮特許出願第61/916,498号の優先権を主張する。
【０００２】
本願はまた、参照によりその全体が本明細書に組み込まれる、2014年6月30日出願の「POWER SAVING TECHNIQUES IN COMPUTING DEVICES」という名称の米国仮特許出願第62/019,073号の優先権を主張する。
【０００３】
本願はまた、参照によりその全体が本明細書に組み込まれる、2014年12月12日出願の「POWER SAVING TECHNIQUES IN COMPUTING DEVICES」という名称の米国特許出願第14/568,694号の優先権を主張する。
【０００４】
本開示の技術は、一般にはコンピューティングデバイスにおける省電力技法に関する。
【背景技術】
【０００５】
コンピューティングデバイスは現代社会の中で一般的なものである。スマートフォンやタブレットなどの小型のモバイルコンピューティングデバイスから、多数のブレードおよびメモリバンクを備える大型のサーバファームにいたるまで、これらのデバイスは、様々な他の基本機能を提供するとともに、無数のネットワークにわたって通信することが予想される。デスクトップデバイスおよびサーバは、一般には電力消費についての問題の影響を受けないが、モバイルデバイスは、利用可能な機能と電池寿命との間の適切なバランスを見つけようと常に取り組んでいる。すなわち、より多くの機能が提供されるにつれて、電力消費が増大し、電池寿命が短くなる。サーバも同様に、大型のサーバファームとしてまとめられるとき、電力消費問題を有し得る。
【０００６】
電力消費問題と同時に、ネットワーク通信の改善によってデータ転送速度が向上している。たとえば、銅線がより高帯域幅の光ファイバケーブルに置き換えられ、セルラーネットワークが、初期のAMPS(Advanced Mobile Phone System)およびGSM(登録商標)(Global System for Mobile Communications)プロトコルから、ずっと高いデータ転送速度をサポートすることのできる4GおよびLTE(Long Term Evolution)プロトコルに進化した。データ転送速度が向上するにつれて、これらの向上したデータ転送速度をコンピューティングデバイス内で処理できる必要も増大した。したがって、初期のモバイルコンピューティングデバイスは、HSIC(High Speed Inter-Chip)規格、ユニバーサルシリアルバス(USB)規格(特にUSB2.0)、またはUART(universal asynchronous receiver/transmitter)規格に従って形成された内部バスを有することがあった。しかし、これらのバスは現在のデータ転送速度をサポートしない。
【０００７】
より高速な内部バスの必要に応えて、PCIe(peripheral component interconnect express)規格、ならびに後の世代のUSB(たとえば、USB3.0および後続のバージョン)が、いくつかのモバイルコンピューティングデバイスに対して採用された。しかし、PCIeおよびUSB3.0は、現在使用されている高いデータ転送速度を処理することができるが、そのようなバスの使用の結果、電力消費が過剰となり、充電イベント間の時間が短くなることによって電池寿命に負の影響を与える。
【発明の概要】
【課題を解決するための手段】
【０００８】
詳細な説明で開示される態様は、コンピューティングデバイスにおける省電力技法を含む。具体的には、データがコンピューティングデバイス内のモデムプロセッサによって受信されるとき、モデムタイマの満了までデータが保持される。次いで、データが、PCIe(peripheral component interconnect express)相互接続性バスを介してコンピューティングデバイス内のアプリケーションプロセッサに渡される。モデムプロセッサからのデータの受信時に、アプリケーションプロセッサは、アプリケーションプロセッサによって保持されるデータを、PCIe相互接続性バスを介してモデムプロセッサに送る。アプリケーションプロセッサはまた、アップリンクタイマをも有する。アップリンクタイマの満了前にデータがモデムプロセッサから受信されない場合、アプリケーションプロセッサは、アップリンクタイマの満了時に、収集されたデータがあればそれをモデムプロセッサに送る。しかし、データがモデムプロセッサから受信される場合、アップリンクタイマはリセットされる。このようにしてソースプロセッサにおいてデータを保持または蓄積することにより、PCIeバス上の低電力状態とアクティブ状態との間の不要な遷移が削減され、電力が節約される。
【０００９】
代替の態様では、ダウンリンクタイマの満了に基づいて(アップリンクタイマの満了とともに、またはアップリンクタイマの満了なしに)データ転送を開始する代わりに、単にアップリンク蓄積タイマの満了に基づいて、蓄積されたデータ転送が開始され得る。アップリンク蓄積タイマは、相互接続性バスに関連するホストまたはデバイス内にあり得る。
【００１０】
別の代替の態様では、データ転送の開始が、バイト蓄積限度カウンタについての事前定義されたしきい値に達することに基づき得る。バイト蓄積限度カウンタは、他のカウンタに対して相互に排他的ではなく、他の蓄積タイマのうちの1つに対するオーバーライド機構として動作し得る。そのようなオーバーライドの使用は、バッファスペースおよび/またはバス帯域幅を超過することになる突然のデータのバーストが到来する状況で有用であり得る。同様に、多数のパケットまたは特に大きいパケットがネットワークによって送達される状況をカバーするために、バイトカウンタの代わりに、パケットサイズカウンタまたは「パケット総数」カウンタが使用され得る。
【００１１】
本開示の別の態様では、タイマが他の要素またはパラメータによってオーバーライドされ得る。そのようなオーバーライドは、バイト蓄積限度カウンタおよびパケット総数カウンタとともに上記で触れられており、タイマとは関わりなくデータ転送を引き起こす。低待ち時間トラフィック(たとえば、制御メッセージ)の存在、アップリンクデータ転送とダウンリンクデータ転送の同期、低待ち時間サービス品質要件などの他のパラメータもタイマをオーバーライドし得る。そのようなトラフィックが存在するとき、タイマの満了前にデータ転送を開始するために、割込みコマンドまたは他のコマンドが使用され得る。デバイスまたはホストが自動ポーリングモードにないことを示す表示などのさらに別の要素がタイマをオーバーライドし得る。
【００１２】
この点で一態様では、モバイル端末が開示される。モバイル端末はモデムタイマを備える。モバイル端末はまた、モデムプロセッサをも備える。モデムプロセッサは、モデムタイマの満了までモデムプロセッサ-アプリケーションプロセッサデータを保持するように構成される。モバイル端末はまた、アプリケーションプロセッサをも備える。モバイル端末はまた、アプリケーションプロセッサをモデムプロセッサに通信可能に結合する相互接続性バスをも備える。アプリケーションプロセッサは、相互接続性バスを通じたモデムプロセッサからのモデムプロセッサ-アプリケーションプロセッサデータの受信まで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成され、モデムプロセッサ-アプリケーションプロセッサデータの受信の後、アプリケーションプロセッサ-モデムプロセッサデータが、相互接続性バスを通じてモデムプロセッサに送られる。
【００１３】
別の態様では、コンピューティングデバイス内の電力消費を制御する方法が開示される。方法は、ダウンリンクタイマの満了まで、リモートネットワークからモデムプロセッサによって受信されたデータを保持することを含む。方法はまた、モデムプロセッサによって受信されたデータを、相互接続性バスを介してアプリケーションプロセッサに渡すことをも含む。方法はまた、モデムプロセッサからのデータの受信、またはアップリンクタイマの満了のどちらかが最初に生じるまで、アプリケーションプロセッサに関連するアプリケーションによって生成されたアプリケーションデータを保持することをも含む。
【００１４】
別の態様では、モバイル端末が開示される。モバイル端末はモデムプロセッサを備える。モバイル端末はまた、アプリケーションタイマをも備える。モバイル端末はまた、アプリケーションプロセッサをも備える。アプリケーションプロセッサは、アプリケーションタイマの満了までアプリケーションプロセッサ-モデムプロセッサデータを保持するように構成される。モバイル端末はまた、アプリケーションプロセッサをモデムプロセッサに通信可能に結合する相互接続性バスをも備える。モデムプロセッサは、相互接続性バスを通じたアプリケーションプロセッサからのアプリケーションプロセッサ-モデムプロセッサデータの受信まで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成され、アプリケーションプロセッサ-モデムプロセッサデータの受信の後、モデムプロセッサ-アプリケーションプロセッサデータが、相互接続性バスを通じてアプリケーションプロセッサに送られる。
【００１５】
別の態様では、モバイル端末が開示される。モバイル端末はモデムバイト蓄積限度カウンタを備える。モバイル端末はまた、モデムプロセッサをも備える。モデムプロセッサは、モデムバイト蓄積限度カウンタがバイトの事前定義されたしきい値に達するまで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成される。モバイル端末はまた、アプリケーションプロセッサをも備える。モバイル端末はまた、アプリケーションプロセッサをモデムプロセッサに通信可能に結合する相互接続性バスをも備える。アプリケーションプロセッサは、相互接続性バスを通じたモデムプロセッサからのモデムプロセッサ-アプリケーションプロセッサデータの受信まで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成され、モデムプロセッサ-アプリケーションプロセッサデータの受信の後、アプリケーションプロセッサ-モデムプロセッサデータが、相互接続性バスを通じてモデムプロセッサに送られる。
【００１６】
別の態様に関して、モバイル端末が開示される。モバイル端末はモデムパケットカウンタを備える。モバイル端末はまた、モデムプロセッサをも備える。モデムプロセッサは、モデムパケットカウンタがパケットの事前定義されたしきい値に達するまで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成される。モバイル端末はまた、アプリケーションプロセッサをも備える。モバイル端末はまた、アプリケーションプロセッサをモデムプロセッサに通信可能に結合する相互接続性バスをも備える。アプリケーションプロセッサは、相互接続性バスを通じたモデムプロセッサからのモデムプロセッサ-アプリケーションプロセッサデータの受信まで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成され、モデムプロセッサ-アプリケーションプロセッサデータの受信の後、アプリケーションプロセッサ-モデムプロセッサデータが、相互接続性バスを通じてモデムプロセッサに送られる。
【００１７】
別の態様では、モバイル端末が開示される。モバイル端末はモデムプロセッサを備える。モバイル端末はまた、アプリケーションバイトカウンタをも備える。モバイル端末はまた、アプリケーションプロセッサをも備える。アプリケーションプロセッサは、アプリケーションバイトカウンタがバイトの事前定義されたしきい値に達するまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成される。モバイル端末はまた、アプリケーションプロセッサをモデムプロセッサに通信可能に結合する相互接続性バスをも備える。モデムプロセッサは、相互接続性バスを通じたアプリケーションプロセッサからのアプリケーションプロセッサ-モデムプロセッサデータの受信まで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成され、アプリケーションプロセッサ-モデムプロセッサデータの受信の後、モデムプロセッサ-アプリケーションプロセッサデータが、相互接続性バスを通じてアプリケーションプロセッサに送られる。
【００１８】
別の態様では、モバイル端末が開示される。モバイル端末は、モデムプロセッサおよびアプリケーションパケットカウンタを備える。モバイル端末はまた、アプリケーションプロセッサをも備える。アプリケーションプロセッサは、アプリケーションパケットカウンタがパケットの事前定義されたしきい値に達するまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成される。モバイル端末は、アプリケーションプロセッサをモデムプロセッサに通信可能に結合する相互接続性バスを備える。モデムプロセッサは、相互接続性バスを通じたアプリケーションプロセッサからのアプリケーションプロセッサ-モデムプロセッサデータの受信まで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成され、アプリケーションプロセッサ-モデムプロセッサデータの受信の後、モデムプロセッサ-アプリケーションプロセッサデータが、相互接続性バスを通じてアプリケーションプロセッサに送られる。
【００１９】
別の態様に関して、方法が開示される。方法は、アプリケーションプロセッサにおいてアプリケーションタイマを開始することを含む。方法はまた、アプリケーションタイマの満了まで、アプリケーションプロセッサにおいてデータを蓄積することをも含む。方法は、相互接続性バスを介して、蓄積されたデータをアプリケーションプロセッサからモデムプロセッサに送ることを含む。方法は、アプリケーションプロセッサからの蓄積されたデータの受信まで、モデムプロセッサにおいてモデムプロセッサデータを保持することをさらに含む。
【００２０】
別の態様では、モバイル端末が開示される。モバイル端末はモデムタイマを備える。モバイル端末はまた、モデムプロセッサをも備える。モデムプロセッサは、モデムタイマの満了まで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成される。モバイル端末はまた、アプリケーションプロセッサをも備える。モバイル端末はまた、アプリケーションプロセッサをモデムプロセッサに通信可能に結合する相互接続性バスをも備える。アプリケーションプロセッサは、モデムプロセッサ-アプリケーションプロセッサデータの送信後、モデムプロセッサがアプリケーションプロセッサからデータをプルするまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成される。
【図面の簡単な説明】
【００２１】
【図１Ａ】リモートネットワークとともに動作するモバイルコンピューティングデバイスの簡略図である。
【図１Ｂ】リモートネットワークとともに動作するモバイル端末の簡略図である。
【図１Ｃ】相互接続性バスが図示される、図1Bのモバイル端末の拡大ブロック図である。
【図２】図1Bのモバイル端末のブロック図である。
【図３】従来型コンピューティングデバイスにおける例示的な時間とリンク電力との間の関係のグラフである。
【図４】図1Bのモバイル端末において省電力を達成するための例示的プロセスの流れ図である。
【図５】図4のプロセスを使用するモバイルコンピューティングデバイスにおける例示的な時間とリンク電力との間の関係のグラフである。
【図６】モバイルコンピューティングデバイスにおいて省電力を達成するための別の例示的プロセスの流れ図である。
【図７】図6のプロセスを使用するモバイルコンピューティングデバイスにおける例示的な時間とリンク電力との間の関係のグラフである。
【図８】データ蓄積を制御するためにバイトカウンタを使用する例示的プロセスの流れ図である。
【図９】データ蓄積を制御するためにパケットカウンタを使用する例示的プロセスの流れ図である。
【図１０】ダウンリンク優先順位の観点から示されるオーバーライドを伴う統合蓄積プロセスの流れ図である。
【図１１】図10の流れ図の続きである。
【図１２】アップリンク優先順位の観点から示されるオーバーライドを伴う統合蓄積プロセスの簡略化した流れ図である。
【発明を実施するための形態】
【００２２】
次に図面を参照しながら、本開示のいくつかの例示的な態様が説明される。「例示的」という語は、本明細書では「一例、事例、または例示として挙げること」を意味するために使用される。「例示的」なものとして本明細書で説明されるいずれの態様も、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。
【００２３】
詳細な説明で開示される態様は、コンピューティングデバイスにおける省電力技法を含む。具体的には、データがコンピューティングデバイス内のモデムプロセッサによって受信されるとき、モデムタイマの満了までデータが保持される。次いで、データが、PCIe(peripheral component interconnect express)相互接続性バスを介してコンピューティングデバイス内のアプリケーションプロセッサに渡される。モデムプロセッサからのデータの受信時に、アプリケーションプロセッサは、アプリケーションプロセッサによって保持されるデータを、PCIe相互接続性バスを介してモデムプロセッサに送る。アプリケーションプロセッサはまた、アップリンクタイマをも有する。アップリンクタイマの満了前にデータがモデムプロセッサから受信されない場合、アプリケーションプロセッサは、アップリンクタイマの満了時に、収集されたデータがあればそれをモデムプロセッサに送る。しかし、データがモデムプロセッサから受信される場合、アップリンクタイマはリセットされる。このようにしてソースプロセッサにおいてデータを保持または蓄積することにより、PCIeバス上の低電力状態とアクティブ状態との間の不要な遷移が削減され、電力が節約される。
【００２４】
代替の態様では、ダウンリンクタイマの満了に基づいて(アップリンクタイマの満了とともに、またはアップリンクタイマの満了なしに)データ転送を開始する代わりに、単にアップリンク蓄積タイマの満了に基づいて、蓄積されたデータ転送が開始され得る。アップリンク蓄積タイマは、相互接続性バスに関連するホストまたはデバイス内にあり得る。
【００２５】
別の代替の態様では、データ転送の開始が、バイト蓄積限度カウンタについての事前定義されたしきい値に達することに基づき得る。バイト蓄積限度カウンタは、他のカウンタに対して相互に排他的ではなく、他の蓄積タイマのうちの1つに対するオーバーライド機構として動作し得る。そのようなオーバーライドの使用は、バッファスペースおよび/またはバス帯域幅を超過することになる突然のデータのバーストが到来する状況で有用であり得る。同様に、多数のパケットまたは特に大きいパケットがネットワークによって送達される状況をカバーするために、バイトカウンタの代わりに、パケットサイズカウンタまたは「パケット総数」カウンタが使用され得る。
【００２６】
本開示の別の態様では、タイマが他の要素またはパラメータによってオーバーライドされ得る。そのようなオーバーライドは、バイト蓄積限度カウンタおよびパケット総数カウンタとともに上記で触れられており、タイマとは関わりなくデータ転送を引き起こす。低待ち時間トラフィック(たとえば、制御メッセージ)の存在、アップリンクデータ転送とダウンリンクデータ転送の同期、低待ち時間サービス品質要件などの他のパラメータもタイマをオーバーライドし得る。そのようなトラフィックが存在するとき、タイマの満了前にデータ転送を開始するために、割込みコマンドまたは他のコマンドが使用され得る。デバイスまたはホストが自動ポーリングモードにないことを示す表示などのさらに別の要素がタイマをオーバーライドし得る。
【００２７】
本開示の省電力技法は、スマートフォンやタブレットなどのモバイル端末において使用されることが企図されるが、本開示はそのように限定されるわけではない。したがって、図1Aおよび図1Bは、本開示の省電力技法の例示的態様を実装し得る、モデムを介してリモートネットワークに結合されたコンピューティングデバイスを示す。これに関して、図1Aは、ネットワーク12に結合されたコンピューティングデバイス10を示し、例示的態様では、ネットワーク12はインターネットである。コンピューティングデバイス10は、その中に中央処理装置(CPU)(図示せず)を備えるハウジング14を含み得る。ユーザは、モニタ16(ディスプレイと呼ばれることもある)、キーボード18、および/またはマウス20などの入力/出力要素から形成されるユーザインターフェースを通じてコンピューティングデバイス10と対話し得る。いくつかの態様では、モニタ16はハウジング14内に組み込まれ得る。キーボード18およびマウス20が、図示される入力デバイスであるが、モニタ16は、入力デバイスとしてのキーボード18およびマウス20を補足し、または置き換え得るタッチスクリーンディスプレイであり得る。よく理解されているように、他の入力/出力デバイスも、デスクトップまたはラップトップスタイルコンピューティングデバイスとともに存在し得る。図1Aには図示されていないが、ハウジング14はまた、その中にモデムをも含み得る。よく理解されているように、モデムは、ネットワークインターフェースカード(NIC)上に配置され得る。同様に、ルータおよび/または追加のモデムがハウジング14の外部にあり得る。たとえば、よく知られているように、コンピューティングデバイス10は、ルータおよびケーブルモデムを通じてネットワーク12に結合し得る。しかし、そのような外部ルータおよびモデムが存在する場合であっても、コンピューティングデバイス10は、そのような外部ルータおよびモデムとの通信を達成するために内部モデムを有する可能性が高い。
【００２８】
コンピューティングデバイス10に加えて、本開示の例示的態様はまた、モバイル端末上でも実装され得、モバイル端末は、その用語が本明細書で使用されるとき、コンピューティングデバイスの一形態である。この点で、モバイル端末22の例示的態様が図1Bに示されている。モバイル端末22は、SAMSUNG GALAXY(商標)やAPPLE iPHONE(登録商標)などのスマートフォンであり得る。スマートフォンの代わりに、モバイル端末22は、セルラー電話、タブレット、ラップトップ、または他のモバイルコンピューティングデバイスであり得る。モバイル端末22は、基地局(BS)26に関連するリモートアンテナ24と通信し得る。BS26は、パブリックランドモバイルネットワーク(PLMN)28、公衆交換電話網(PSTN、図示せず)、または図1Aのネットワーク12と同様のネットワーク12(たとえば、インターネット)と通信し得る。PLMN28が、直接的に、または介在ネットワーク(たとえば、PSTN)を通じてインターネット(たとえば、ネットワーク12)と通信することも可能である。最新のモバイル端末22は、ネットワーク12の要素との間の様々なタイプの通信を可能にすることを理解されたい。たとえば、ストリーミングオーディオ、ストリーミングビデオ、および/またはウェブブラウジングはすべて、最新のモバイル端末22上で一般的な機能である。そのような機能は、モバイル端末22のメモリ内に記憶されたアプリケーションを通じて、モバイル端末22のワイヤレストランシーバを使用して動作可能にされる。
【００２９】
図1Cに示されるように、ストリーミングビデオなどの機能を達成するために、データが、リモートアンテナ24からモバイル端末22のアンテナ30に到来する。データは当初、モバイル端末22のモバイルデバイスモデム(MDM)32において処理され、相互接続性バス36によってアプリケーションプロセッサ34に渡される。この状況では、アプリケーションプロセッサ34はホストであり得、MDM32はデバイスであり得る。それらの用語がPCIe規格において使用されるからである。例示的態様は、PCIe準拠相互接続性バス36を介して動作することを企図するが、相互接続性バス36がHSIC(High Speed Interconnect)、UART(Universal Asynchronous Receiver/Transmitter)、ユニバーサルシリアルバス(USB)などに準拠し得ることが可能である。
【００３０】
モバイル端末22の構成要素のより詳細な描写が、図2を参照して与えられる。この点で、図1Bのモバイル端末22の要素のいくつかのブロック図が示されている。モバイル端末22は、受信機経路38、送信機経路40、アンテナ30(図1Cを参照して上記で述べた)、スイッチ42、モデムプロセッサ44、およびアプリケーションプロセッサ34(やはり図1Cを参照して上記で導入した)を含み得る。任意選択で、よく理解されているように、別々の制御システム(図示せず)もCPUとともに存在し得る。アプリケーションプロセッサ34とモデムプロセッサ44が、相互接続性バス36によって接続される。アプリケーションプロセッサ34および/または制御システム(存在する場合)は、ユーザインターフェース46およびその中にソフトウェア50が記憶されたメモリ48と相互動作し得る。
【００３１】
受信機経路38は、基地局(たとえば、図1BのBS26)によって提供される1つまたは複数のリモート送信機から情報ベアリング無線周波数(RF)信号を受信する。低雑音増幅器(図示せず)が信号を増幅する。フィルタ(図示せず)が、受信済み信号内の広帯域干渉を最小限に抑える。ダウンコンバートおよびデジタル化回路(図示せず)が、濾波した受信済み信号を中間またはベースバンド周波数信号にダウンコンバートする。次いで、ベースバンド周波数信号が1つまたは複数のデジタルストリームにデジタル化される。受信機経路38は通常、周波数シンセサイザによって生成される1つまたは複数の混合周波数を使用する。モデムプロセッサ44は、デジタル化された受信済み信号を処理し、信号内で搬送されたデータビット上の情報を抽出するベースバンドプロセッサ(BBP)(図示せず)を含み得る。したがって、BBPは通常、必要または要望に応じて、モデムプロセッサ44内の1つまたは複数のデジタル信号プロセッサ(DSP)として、または別々の集積回路(IC)として実装される。
【００３２】
引き続き図2を参照すると、送信側では、モデムプロセッサ44が、アプリケーションプロセッサ34が送信のために符号化する、音声、データ、または制御情報を表し得るデジタル化データをアプリケーションプロセッサ34から受信する。符号化データは送信機経路40に出力され、送信機経路40では符号化データは変調器(図示せず)によって使用され、所望の送信周波数において搬送波信号が変調される。RF電力増幅器(図示せず)が、送信に適したレベルに被変調搬送波信号を増幅し、スイッチ42を通じて、増幅され、変調された搬送波信号をアンテナ30に送達する。集合的に、モデムプロセッサ44、受信機経路38、および送信機経路40は、図1CのMDM32(ワイヤレスモデムと呼ばれることもある)を形成する。セルラー信号に関連するRF信号に関してMDM32が具体的に説明されるが、本開示はそのように限定されるわけではない。たとえば、他のワイヤレスプロトコルを使用するワイヤレスモデムも、本開示の態様の包含から恩恵を受ける。したがって、Bluetooth(登録商標)、様々なIEEE802.11規格、ユニバーサルモバイル電気通信システム(UMTS)、高速パケットアクセス(HSPA)、LTE(Long Term Evolution)、他のワイヤレスプロトコルなどの規格に従って動作するモデムはすべて、本開示の態様を使用し得る。
【００３３】
引き続き図2を参照すると、ユーザは、マイクロフォン、スピーカ、キーパッド、ディスプレイなどのユーザインターフェース46を介してモバイル端末22と対話し得る。受信済み信号内に符号化されたオーディオ情報が、BBPによって回復され、スピーカを駆動するのに適したアナログ信号に変換される。キーパッドおよびディスプレイは、ユーザがモバイル端末22と対話することを可能にする。たとえば、キーパッドおよびディスプレイは、ユーザがダイアルすべき番号を入力し、アドレス帳情報にアクセスすることなど、ならびに呼出し進行情報を監視することを可能にし得る。メモリ48は、上記のようにその中にソフトウェア50を有し得、ソフトウェア50は本開示の例示的態様を達成し得る。
【００３４】
PCIe相互接続性バス(すなわち、相互接続性バス36)を有する従来型モバイル端末においてPCIe規格は、相互接続性バス36をスリープモードに置くことを可能にする。相互接続性バス36をスリープモードに置くことは一般に電力を節約するが、そのようなスリープモードは、スリープモードから遷移するとき、比較的大量の電力を消費するという点で欠点を有する。この電力消費は、PCIe相互接続性バス36の非同期の性質のために悪化する。すなわち、第1のデータが、第2のデータがアプリケーションプロセッサ34からモデムプロセッサ44に渡される準備ができているときとは異なるとき、アプリケーションプロセッサ34への送信のためにモデムプロセッサ44に到来し得る。この問題はPCIe相互接続性バス36に固有のものではない。
【００３５】
図3は、所与の時間スロット58内でどれほどダウンリンクデータ54がアップリンクデータ56とは異なる送信時間を有し得るかを強調する、時間とリンク電力との間の関係のグラフ52を示す。具体的には、相互接続性バス36(図2)がスリープモードまたは低電力モードで始まり、ダウンリンクデータ54がアプリケーションプロセッサ34に送信され得るように、遷移60によってアクティブ電力モードに遷移する。しかし、ダウンリンクデータ54は、時間スロット58の全体を占有しないことがあり、相互接続性バス36は低電力状態に戻り得る。しかし、その後の、依然として同一の時間スロット58内で、アプリケーションプロセッサ34からのアップリンクデータ56が、モデムプロセッサ44に送られる。したがって、相互接続性バス36は、第2の遷移62によって低電力状態からアクティブ電力状態に再び遷移する。例示的態様では、時間スロット58は約1ミリ秒の長さである。したがって、低電力からアクティブ電力への2つの遷移(すなわち、60、62)が時間スロット58ごとに生じる場合、毎秒数千の遷移60、62が生じる。数千の遷移60、62は、かなりの電力量を消費し、モバイル端末22の電池寿命を低下させる。
【００３６】
本開示の例示的態様は、モデムプロセッサ44およびアプリケーションプロセッサ34からのパケット送信を同期することによって、低電力からアクティブ電力への遷移(すなわち、60、62)の数を低減し、それによって、リンク上の通信が統合され、第2の電力状態遷移が解消されるので、低電力モードでリンクをより効率的に維持することを可能にする。例示的態様では、モデムプロセッサ44からのデータ(すなわち、モデムデータ)がまず送信され、アプリケーションプロセッサ34からのデータ(すなわち、アプリケーションデータ)が、モデムデータの到来後、かつ相互接続性バス36が低電力状態に戻ることができる前に送られる。同期は、モデムプロセッサ44およびアプリケーションプロセッサ34におけるタイマの使用によって行われる。タイマは、相互接続性バス36の時間スロット58よりも長いことがある。
【００３７】
第1の例示的態様では、アプリケーションプロセッサ34上のタイマは、モデムプロセッサ44上のタイマよりも長い。蓄積が論理チャネルごとに行われ得る。タイマは、相互接続性バス36に適した機構を使用して、アプリケーションプロセッサ34によって構成可能であり得る。たとえば、PCIeを介するモデムホストインターフェース(MHI)を使用するフュージョンデバイス上で、タイマが、インバウンドMHIチャネルごとに維持され、タイマによって使用される時間値が、MHIコマンドメッセージ、またはベースアドレスレジスタ(BAR)を介して公開されるPCIeメモリマップド入力/出力(MMIO)デバイス構成レジスタを介して構成される。BARは、PCIe規格で定義された機構であり、それによってホストは、デバイスのレジスタを仮想アドレスマップにマッピングする。MHIについてのより詳しい情報に関しては、興味のある読者は、参照によりその全体が本明細書に組み込まれる、2013年1月24日出願の米国特許出願第14/163,846号を参照されたい。別の例示的態様では、モデムプロセッサ44上のタイマは、アプリケーションプロセッサ34上のタイマよりも長い。さらに別の例示的態様では、タイマの代わりにカウンタが使用され得る。カウンタは、ビットカウンタ、パケットカウンタ、パケットサイズカウンタなどであり得る。別の例示的態様では、そのような代替カウンタの使用がタイマと組み合わされ得る。さらに別の例示的態様では、待ち時間を削減し、かつ/またはサービス品質要件を満たすように、別のオーバーライド基準が、タイマまたはカウンタが満了する前にデータを送ることを可能にし得る。本開示ステップは、これらの態様の各々をステップスルーし、2つのタイマがあり、アプリケーションプロセッサ34がモデムプロセッサ44のタイマよりも長いタイマを有する状況から始まる。
【００３８】
この点で、図4は例示的省電力プロセス70を示す。プロセス70は、低電力状態の相互接続性バス36から始まる(ブロック72)。モデムタイマおよびアプリケーションタイマが開始される(ブロック74)。タイマは、要望に応じて、モデムプロセッサ44およびアプリケーションプロセッサ34内に記憶されたソフトウェアであり得、または物理的要素であり得る。データがアプリケーションプロセッサ34によって生成され、データは、モデムプロセッサ44によってネットワーク12から受信される。アプリケーションデータがアプリケーションプロセッサ34に保持され(ブロック76)、タイマが動作中に、モデムデータがモデムプロセッサ44に保持される(ブロック78)。上記のように、例示的態様では、相互接続性バス36の時間スロット58は1ミリ秒である。そのような一態様では、モデムタイマは約2から6ミリ秒であり得、アプリケーションタイマは3から7ミリ秒であり、または少なくともモデムタイマよりも長い。モデムタイマが満了する(ブロック80)。モデムデータが存在する場合、モデムデータが、モデムプロセッサ44によって、相互接続性バス36を通じてアプリケーションプロセッサ34に解放される(ブロック82)。
【００３９】
データ転送のための機構が、モデムプロセッサ44(すなわち、デバイス)によって開始され、制御され得る。たとえば、PCIeを介するMHIを使用するフュージョンデバイス上で、モデムプロセッサ44が、MHIチャネルContext Write Pointerをポーリングし(読み取り)、ダウンリンクパケットが転送され得るデータバッファを決定し得る。アプリケーションプロセッサ34は、インバウンドチャネルドアベルをリンギングすることなく、データ転送記述子をポイントするように、チャネルコンテキストデータ構造のContext Write Pointerフィールドを更新する。モデムプロセッサ44は、ダウンリンクトラフィックによって必要とされるとき、Context Write Pointerフィールド上の更新についてポーリングし得る。モデムプロセッサ44がバッファを使い果たし、すなわち転送リングが空であり、ダウンリンクデータを転送するためのバッファが存在しないとき、モデムプロセッサ44は、アプリケーションプロセッサ34に対するイベント(たとえば、「out-of-buffer」)通知を生成し得、その後に割込みが続く。モデムプロセッサ44からイベント通知を受信したとき、アプリケーションプロセッサ34は、チャネルContext Write Pointerを更新することによってデータバッファを提供し、インバウンドチャネルドアベルをリンギングする。
【００４０】
アプリケーションプロセッサ34へのモデムデータの到来後、アプリケーションプロセッサ34は、アプリケーションプロセッサ34において保持されていたアプリケーションデータがあればそれを解放し、アプリケーションタイマをリセットする(ブロック84)。アプリケーションタイマは、モデムプロセッサ44またはアプリケーションプロセッサ34上で動作し得ることに留意されたい。代替として、モデムプロセッサ44は、別のダウンリンクデータ54活動を検出しなくなるまで、アプリケーションプロセッサ34からアップリンクデータ56を引き続きプルし得る。すなわち、モデムプロセッサ44は、ダウンリンクデータ54を受信する間に、アップリンクデータ56をプルすることを散らばらせ得る。しかし、モデムタイマが満了したとき、モデムデータがモデムプロセッサ44に存在しない場合、アプリケーションタイマは続行する(すなわち、別のミリ秒)(ブロック86)。アプリケーションタイマの満了時に、アプリケーションプロセッサ34は、保持されたデータがある場合はそれを、相互接続性バス36を通じてモデムプロセッサ44に送る(ブロック88)。次いで、プロセスは最初からやり直すことによって反復する(ブロック90)。
【００４１】
上記のように、例示的態様では、ダウンリンクタイマが満了したときはいつでもアップリンク/ダウンリンク同期を増大させるように、アップリンクタイマ(すなわち、アプリケーションタイマ)は、ダウンリンクタイマ(すなわち、モデムタイマ)よりも長くなるように設計される。余分な時間スロットのためにデータを保持することはある程度の待ち時間を増し加えるが、増し加わった短い量は、アプリケーションプロセッサ34によって容易に吸収される。同様に、この待ち時間は、省電力のために許容されるとみなされる。たとえば、モデムタイマの期間を時間スロット58の期間の2倍にすることによって、低電力-アクティブ電力遷移の数が潜在的には半分になる。同様に、アプリケーションタイマの期間を時間スロット58の期間の6倍にすることによって、モデムデータによって引き起こされる相互接続性バス36のアクティブ電力状態に「便乗する」ことのできる機会が増大するが、アップリンクデータ56の解放をトリガするためのダウンリンクデータ54がない場合であっても、何らかのアップリンクデータ56が依然として適時に送られるのに十分なほど依然として頻繁である。同様の論理が、データリンクを介して複数のプロセッサからのトラフィックを同期することに拡張され得る。例示的態様では、他のプロセッサがそれぞれ、ダウンリンクタイマよりも高い(すなわち、長い)タイマ値を有し得、転送するために利用可能なデータがある場合、あるプロセッサ上のトラフィックが他のプロセッサ上のデータ転送をトリガし得るように、プロセッサはそのデータ可用性情報を交換し得る。
【００４２】
図5は、相互接続性バス36(図2)のアクティブな期間102中にアップリンクデータ56がダウンリンクデータ54の後に続くグラフ100を示す。図示されるように、時間スロット58当たりの低電力からアクティブ電力への遷移104は1つだけである。したがって、データを単一のアクティブな期間102に統合することによって、低電力で過ごす全時間が増大し得、したがって省電力が得られる。さらに、低電力からアクティブ電力状態への遷移に費やされる電力が、第2の遷移62の除去によって削減される。
【００４３】
ダウンリンクデータ54の前にアップリンクデータ56が送られ得る(すなわち、アプリケーションタイマがモデムタイマよりも短い)ことが考えられるが、通常はアップリンクパケットよりもダウンリンクパケットの方がはるかに多いので、そのようなことは一般には最適とは考えられない。この態様が使用される場合、アプリケーションプロセッサ34は、モデムプロセッサ44への転送を開始する前に、アップリンクデータパケットをローカルメモリ内にバッファリングし得る。これらの蓄積されたパケットが、アップリンク蓄積タイマを介して制御される。複数のチャネルがある場合、タイマが各チャネルに独立に適用され得る。アプリケーションプロセッサ34がアップリンクタイマを使用不能であり、またはアップリンクタイマを有さないとき、モデムプロセッサ44は、アップリンクタイマをインスタンス化することができ得、アップリンクタイマの満了時に、アプリケーションプロセッサ34からデータをポーリングする。この例示的態様が、図6および図7を参照して以下でより詳細に説明される。
【００４４】
この点で、図6は例示的省電力プロセス110を示す。プロセス110は、低電力状態の相互接続性バス36から始まる(ブロック112)。モデムタイマおよびアプリケーションタイマが開始される(ブロック114)。タイマは、要望に応じて、モデムプロセッサ44およびアプリケーションプロセッサ34内に記憶されたソフトウェアであり得、または物理的要素であり得る。データがアプリケーションプロセッサ34によって生成され、データは、モデムプロセッサ44によってネットワーク12から受信される。アプリケーションデータがアプリケーションプロセッサ34に保持され(ブロック116)、タイマが動作中に、モデムデータがモデムプロセッサ44に保持される(ブロック118)。上記のように、例示的態様では、相互接続性バス36の時間スロット58は1ミリ秒である。そのような一態様では、アプリケーションタイマは約2ミリ秒であり得、モデムタイマは3ミリ秒であり、または少なくともアプリケーションタイマよりも長い。アプリケーションタイマが満了する(ブロック120)。アプリケーションデータが存在する場合、アプリケーションデータが、アプリケーションプロセッサ34によって、相互接続性バス36を通じてモデムプロセッサ44に解放される(ブロック122)。
【００４５】
モデムプロセッサ44へのアプリケーションデータの到来後、モデムプロセッサ44は、モデムプロセッサ44において保持されていたモデムデータがあればそれを解放し、モデムタイマをリセットする(ブロック124)。アプリケーションタイマは、モデムプロセッサ44またはアプリケーションプロセッサ34上で動作し得ることに留意されたい。同様に、モデムタイマは、モデムプロセッサ44またはアプリケーションプロセッサ34上で動作し得る。
【００４６】
引き続き図6を参照すると、アプリケーションタイマが満了したとき、アプリケーションデータがアプリケーションプロセッサ34に存在しない場合、モデムタイマは続行する(すなわち、別のミリ秒)(ブロック126)。モデムタイマの満了時に、モデムプロセッサ44は、保持されたデータがある場合はそれを、相互接続性バス36を通じてアプリケーションプロセッサ34に送る(ブロック128)。次いで、プロセスは最初からやり直すことによって反復する(ブロック130)。
【００４７】
上記のように、この例示的態様では、アップリンクタイマ(すなわち、アプリケーションタイマ)は、ダウンリンクタイマ(すなわち、モデムタイマ)よりも短くなるように設計される。余分な時間スロット58のためにデータを保持することはある程度の待ち時間を増し加えるが、増し加わった短い量は、アプリケーションプロセッサ34によって容易に吸収される。同様に、この待ち時間は、省電力のために許容されるとみなされる。たとえば、アプリケーションタイマの期間を時間スロット58の期間の2倍にすることによって、低電力-アクティブ電力遷移の数が低下する。同様に、モデムタイマの期間を時間スロット58の期間の6倍にすることによって、アプリケーションデータによって引き起こされる相互接続性バス36のアクティブ電力状態に「便乗する」ことのできる機会が増大するが、ダウンリンクデータ54の解放をトリガするためのアップリンクデータ56がない場合であっても、何らかのダウンリンクデータ54が依然として適時に送られるのに十分なほど依然として頻繁である。同様の論理が、データリンクを介して複数のプロセッサからのトラフィックを同期することに拡張され得る。例示的態様では、他のプロセッサがそれぞれ、アップリンクタイマよりも高い(すなわち、長い)タイマ値を有し得、転送するために利用可能なデータがある場合、あるプロセッサ上のトラフィックが他のプロセッサ上のデータ転送をトリガし得るように、プロセッサはそのデータ可用性情報を交換し得る。
【００４８】
図7は、相互接続性バス36のアクティブな期間142中にアップリンクデータ56がダウンリンクデータ54に先行するグラフ140を示す。図示されるように、時間スロット58当たりの低電力からアクティブ電力への遷移144は1つだけである。したがって、データを単一のアクティブな期間142に統合することによって、低電力で過ごす全時間が増大し得、したがって省電力が得られる。さらに、低電力からアクティブ電力状態への遷移に費やされる電力が、第2の遷移62の除去によって削減される。
【００４９】
例示的態様では、モデムプロセッサ44は、構成可能なパラメータ(ダウンリンクまたはアップリンク蓄積タイマ、バイトしきい値、パケット数しきい値、パケットサイズしきい値など)の各々のすべての構成された値から最小値、または(たとえば、様々なチャネルの中からの)ダウンリンク蓄積満了タイマ値を有効なダウンリンク蓄積タイマ満了値としてオーバーライドし、選び得る。インテリジェントモデムプロセッサ44はまた、ダウンリンクトラフィックパターンに応じてダウンリンク蓄積タイマ値を動的にオーバーライドまたは変更し得、かつ/またはデータについての所望のサービス品質(QoS)を達成し、かつ/またはトラフィックを制御するようにダウンリンク蓄積タイマを調節し得る。構成の変更は、MHI制御またはQMIシグナリング(プロセス間シグナリングなど)を介して、アプリケーションプロセッサ44またはシステム内の任意の他のプロセッサによってもトリガ/制御され得る。
【００５０】
ダウンリンクおよびアップリンクタイマに加えて、またはその代わりに、バイト蓄積限度カウンタはまた、ダウンリンクトラフィックのためにモデムプロセッサ44によって使用され、アップリンクトラフィックのためにアプリケーションプロセッサ34によって使用され得る。この態様は、ネットワークまたはアプリケーションによってプッシュされる突然のデータのバーストがある状況で有利となり得る。この態様は相互に排他的ではなく、ダウンリンクタイマまたはアップリンクタイマのどちらかについてのオーバーライド機構として実装され得る。たとえばダウンリンク蓄積タイマが電力を節約するために比較的高く設定される場合、突然のデータのバーストが、モデムプロセッサ44のバッファ容量を超過し得、またはモデムプロセッサ44のメモリ内に蓄積することが可能である場合、このデータのバーストが、アプリケーションプロセッサ34に対するバス帯域幅割振りを超過し得る。アプリケーションプロセッサ34は、そのバス帯域幅バジェット、および/またはダウンリンクデータ転送のために予約されたバッファサイズに基づいて最大バイト蓄積限度を決定および構成し得る。モデムプロセッサ44はまた、ダウンリンクバッファのサイズ、および/または相互接続性リンクデータスループットに基づいて内部バイト蓄積限度を選ぶこともできる。バイト蓄積限度カウンタを用いて、モデムプロセッサ44は、バッファリングされたデータサイズがバイト蓄積限度カウンタを超過する場合、ダウンリンク蓄積タイマ満了前に、アプリケーションプロセッサ34へのダウンリンクデータ転送を開始し得る。モデムプロセッサ44とアプリケーションプロセッサ34の両方が、バイト蓄積限度カウンタについての独立した勧告を有し得るので、モデムプロセッサ44は、これらの2つの値の最小値を有効なバイト蓄積限度となるように選択し得る。同様のパラメータが、アップリンクデータ56転送を直ちにトリガする(すなわち、アップリンク蓄積タイマをオーバーライドする)ためにアプリケーションプロセッサ34内で維持され得る。
【００５１】
バイト蓄積限度カウンタの代わりに、またはそれに加えて、パケット数限度カウンタが使用され得る。例示的態様では、パケット数限度カウンタは同様の設計であり得、多数のパケットがネットワークまたはアプリケーションによって送達されるケースをカバーするために、バイト限度ではなくパケット数カウンタ限度を追加するために利用され得る。この場合も、そのようなパケット限度カウンタが、アプリケーションプロセッサ34またはモデムプロセッサ44にやはり存在し、またはそれに関連付けられ得る。蓄積タイマ(アップリンクおよび/またはダウンリンク)、および蓄積パケット数しきい値、蓄積バイトしきい値などの他の構成パラメータが、LTE、HSPA、GERANなどの機能であり得ることに留意されたい。
【００５２】
さらに別の例示的態様では、モデムプロセッサ44またはアプリケーションプロセッサ34が、メッセージ転送、たとえば制御メッセージ(フロー制御など)または高QoSデータトラフィックまたは低待ち時間トラフィックを促進する必要があるケースで、モデムプロセッサ44またはアプリケーションプロセッサ34によって決定されるように、ダウンリンクまたはアップリンク蓄積を使用不能にし得る。蓄積によって導入される待ち時間は、これらのトラフィッククラスに対して許容できないことがある。
【００５３】
厳密なプロセスではなく、データ量に基づくデータ蓄積に戻ると、図8および図9は2つの例示的態様を示す。この点で、図8は、バイトカウンタプロセスを示すプロセス150を示す。具体的には、プロセス150は、低電力状態の相互接続性バス36から始まる(ブロック152)。プロセス150は、モデムバイトカウンタおよびアプリケーションバイトカウンタを開始する(ブロック154)。データが、アプリケーションプロセッサ34(ブロック156)およびモデムプロセッサ44(ブロック158)において保持される。制御システムは、モデムプロセッサ44において保持または蓄積されているデータ量に基づいて、モデムバイトカウンタが事前定義されたしきい値を超過したかどうかを判定する(ブロック160)。
【００５４】
引き続き図8を参照すると、ブロック160に対する答えが肯定である場合、データはモデムプロセッサ44からアプリケーションプロセッサ34に送られる(ブロック162)。モデムプロセッサ44からのデータの受信後、アプリケーションプロセッサ34は、アプリケーションプロセッサ34において蓄積されていたデータ(存在する場合)をモデムプロセッサ44に送る(ブロック164)。モデムプロセッサ44とアプリケーションプロセッサ34の両方において、蓄積されたデータをクリアすると、プロセスは最初からやり直す(ブロック166)。
【００５５】
引き続き図8を参照すると、ブロック160に対する答えが否定である場合、制御システムは、アプリケーションバイトカウンタにおけるデータが事前定義されたしきい値を超過したかどうかを判定する(ブロック168)。ブロック168に対する答えが否定である場合、プロセス150はブロック156に戻り、バイトカウンタしきい値を超過するまで、データは引き続き保持される。しかし、ブロック168に対する答えが肯定である場合、データはアプリケーションプロセッサ34からモデムプロセッサ44に送られる(ブロック170)。アプリケーションプロセッサ34からのデータの受信後、モデムプロセッサ44は、データ(存在する場合)をアプリケーションプロセッサ34に送る(ブロック172)。モデムプロセッサ44とアプリケーションプロセッサ34の両方において、蓄積されたデータをクリアすると、プロセス150は最初からやり直す(ブロック166)。
【００５６】
バイトカウンタは待ち時間を管理する際に有効であり得るが、別の例示的態様はパケットカウンタを使用する。この点で、図9は、バイトカウンタプロセスを示すプロセス180を示す。具体的には、プロセス180は、低電力状態の相互接続性バス36から始まる(ブロック182)。プロセス180は、モデムパケットカウンタおよびアプリケーションパケットカウンタを開始する(ブロック184)。データが、アプリケーションプロセッサ34(ブロック186)およびモデムプロセッサ44(ブロック188)において保持される。制御システムは、モデムプロセッサ44において保持または蓄積されるパケット数に基づいて、モデムパケットカウンタが事前定義されたしきい値を超過したかどうかを判定する(ブロック190)。
【００５７】
引き続き図9を参照すると、ブロック190に対する答えが肯定である場合、データがモデムプロセッサ44からアプリケーションプロセッサ34に送られる(ブロック192)。モデムプロセッサ44からのパケットの受信後、アプリケーションプロセッサ34は、アプリケーションプロセッサ34において蓄積されていたデータ(存在する場合)をモデムプロセッサ44に送る(ブロック194)。モデムプロセッサ44とアプリケーションプロセッサ34の両方において、蓄積されたパケットをクリアすると、プロセス180は最初からやり直す(ブロック196)。
【００５８】
引き続き図9を参照すると、ブロック190に対する答えが否定である場合、制御システムは、アプリケーションパケットカウンタにおけるパケット数が事前定義されたしきい値を超過したかどうかを判定する(ブロック198)。ブロック198に対する答えが否定である場合、プロセス180はブロック186に戻り、パケットカウンタしきい値を超過するまで、データは引き続き保持される。しかし、ブロック198に対する答えが肯定である場合、データはアプリケーションプロセッサ34からモデムプロセッサ44に送られる(ブロック200)。アプリケーションプロセッサ34からのパケットの受信後、モデムプロセッサ44は、データ(存在する場合)をアプリケーションプロセッサ34に送る(ブロック202)。モデムプロセッサ44とアプリケーションプロセッサ34の両方において、蓄積されたパケットをクリアすると、プロセス180は最初からやり直す(ブロック196)。
【００５９】
特定のバイト数またはパケット数が蓄積したかどうかを判定する代わりに、制御システムがパケットのサイズ、またはシステムのメモリが少なくなっているかどうかを評価する場合、類似のプロセスが使用され得る。同様に、一定の優先順位データ(たとえば、低待ち時間を必要とする制御信号または他のデータ)が、本開示のタイマおよび/またはカウンタをオーバーライドするフラグまたは他のインジケータに関連付けられ得ることを理解されたい。
【００６０】
上記のように、本開示の態様は相互に排他的ではなく、組み合わされ得ることを理解されたい。タイマが、モデムプロセッサ44におけるバイトカウンタとともに、アプリケーションプロセッサ34において使用され得(逆も同様である)、モデムプロセッサ44がタイマおよびバイトカウンタとともに働き、一方、アプリケーションプロセッサ34が単にタイマを有するなどの点で、組合せは無数である。この点で、タイマおよびデータ蓄積カウンタがどのように相互動作し得るかを示す図10〜図12が提供される。すなわち、図10および図11は、ダウンリンクタイマ(モデムプロセッサ44内、またはアプリケーションプロセッサ34内)が、(たとえば、図4および図5に示されるような)データ送信のための基礎としてどのように使用されるか、データ蓄積カウンタと組み合わされ得るか、および高優先順位データオーバーライドによってさらに修正され得るかを示す。図12は、データ蓄積カウンタと組み合わされたアップリンクタイマが、データオーバーライドによって修正される(たとえば、図6および図7に示されるような)データ送信のための基礎として使用される、簡略化したプロセスを示す。
【００６１】
この点で、図10および図11は、開始(ブロック212)から始まる、組み合わされたプロセス210を示す。プロセス210は、ダウンリンク(DL)データ(たとえば、パケット)の到来に進む(ブロック214)。制御システムは、低待ち時間を必要とする優先順位データ、制御メッセージ、および/または他のデータがあるかどうかを評価する(ブロック216)。ブロック216に対する答えが否定である場合、制御システムは、バイトしきい値を超えたかどうか(すなわち、アキュムレータ内にバイトに値するしきい値よりも多くあるか)を判定する(ブロック218)。ブロック218に対する答えが否定である場合、制御システムは、パケット数しきい値を超えたかどうか(すなわち、アキュムレータ内にパケットに値するしきい値よりも多くあるか)を判定する(ブロック220)。ブロック220に対する答えが否定である場合、制御システムは、システムのメモリが少なくなっているかどうかを判定する(ブロック222)。ブロック222に対する答えが否定である場合、制御システムは、ダウンリンク蓄積タイマが実行中であるかどうかを確認する(ブロック224)。ブロック224に対する答えが肯定である場合、ダウンリンクデータは蓄積を続行し、リンクを介するデータ転送は開始されない(ブロック226)。
【００６２】
しかし、引き続き図10を参照して、ブロック224に対する答えが否定である場合、ダウンリンクタイマが満了しており、またはブロック216、218、220、または222からのオーバーライドのいずれかが肯定的に回答された場合、プロセス210は、モデムプロセッサ44(図ではモデム(44)とも呼ばれることがある)からアプリケーションプロセッサ34(図ではAP(34)とも呼ばれることがある)へのリンクを介して、蓄積されたデータ(現パケットを含む)の転送を開始する(ブロック230)。制御システムは、ダウンリンク蓄積タイマを開始または再開し、ダウンリンク蓄積タイマを実行中に設定する(ブロック232)。制御システムは、モデムプロセッサ44がアップリンク(UL)ポーリングモードにあるかどうかを判定する(ブロック234)。ブロック234に対する答えが否定である場合、アップリンク転送はない(ブロック236)。しかし、モデムプロセッサ44がアップリンクデバイスをポーリングしている場合、そのポーリングに基づいて、制御システムは、アプリケーションプロセッサ34からの保留中のアップリンクデータがあるかどうかを判定する(ブロック238)。保留中のデータがある場合(すなわち、ブロック238に対する答えが肯定である場合)、アプリケーションプロセッサ34は、モデムプロセッサ44に対するデータ転送を開始する(ブロック240)。データ転送が終了した後、またはブロック238でデータがなかった場合、制御システムは、アップリンク蓄積タイマを再開し(ブロック242)、プロセス210は開始212に戻る。
【００６３】
引き続き図10を参照すると、ブロック226の後、制御システムは、ダウンリンクタイマが満了したかどうかを判定する(ブロック244)。ブロック244に対する答えが否定である場合、制御システムは、新しいパケットが到来したかどうかを判定する(ブロック246)。ブロック246に対する答えが否定である場合、プロセス210はブロック244に戻る。新しいパケットが到来した場合、プロセス210は開始212に戻る。ブロック244に対する答えが肯定である場合、ダウンリンクタイマが満了しており、制御システムは、ダウンリンク蓄積タイマが満了したことを知る(ブロック248)。ダウンリンクタイマの満了時に、制御システムは、保留中の蓄積されたダウンリンクデータがあるかどうかを判定する(ブロック250)。ブロック250でデータがある場合、ブロック230でデータが転送される。データがない場合、ダウンリンク蓄積タイマは「実行中ではない」に設定され(ブロック252)、プロセス210は、図11、要素Cに進む。ブロック216、218、220、および222は任意選択であることを理解されたい。
【００６４】
図11を参照すると、プロセス210はブロック252から続行し得る。この時点で、アップリンク蓄積タイマは満了している(ブロック254)。アップリンクタイマが再開して以来、ダウンリンクデータがない場合、アップリンク蓄積タイマは満了する。制御システムは、アプリケーションプロセッサ34からの保留中のアップリンクデータがあるかどうかを判定する(ブロック256)。ブロック256に対する答えが肯定である場合、アプリケーションプロセッサ34は、アプリケーションプロセッサ34からモデムプロセッサ44へのリンクを介してデータ転送を開始する(ブロック258)。次いで、制御システムはアップリンク蓄積タイマを再開する(ブロック260)。しかし、ブロック256に対する答えが否定である場合、データはなく、制御システムは、モデムプロセッサ44が何らかの保留中の、または次のパケットサブミットについてのパケットドアベル/割込みを予期していることを示すイベントをアプリケーションプロセッサ34に送る(ブロック262)。すなわち、前のポーリング時間以来、アプリケーションプロセッサ34からモデムプロセッサ44へのデータがなかったので、モデムプロセッサ44は、アップリンクデータについての割込みモードに入り得、モデムプロセッサ44は、アプリケーションプロセッサ34において保留中のデータがあったときはいつでもアプリケーションプロセッサ34が割込みを送ることを予期する。次いで、制御システムは、状態を反映するために状態を内部的に変更する(ブロック264)。
【００６５】
引き続き図11を参照すると、モデムプロセッサ44は、転送リング内の保留中のデータを示す割込みまたは他の表示をアプリケーションプロセッサ34から受信する(ブロック266)。次いで、制御システムは、アップリンク蓄積タイマを再開し、アップリンクポーリングモードを示すように状態を変更する(ブロック268)。すべてのアップリンクデータが処理され(ブロック270)、プロセス210は最初からやり直す。
【００６６】
別の代替態様では、アプリケーションプロセッサ34のバッファが満杯であり得、モデムプロセッサ44からのデータのための空間がない状況があり得る。そのようなイベントでは、アプリケーションプロセッサ34は、モデムプロセッサ44にそのように通知し得、モデムプロセッサ44は、空きバッファがあるとき、モデムプロセッサ44に割込み信号を供給するように、アプリケーションプロセッサ34にイベントを送り得る。
【００６７】
図12は、オーバーライドおよびデータカウンタがどのように蓄積タイマとともに使用され得るかを示す点で図10および図11と同様であるが、図12のプロセス280は、(たとえば、図6および図7に示される態様と類似して)アップリンクタイマがダウンリンクタイマよりも短いことを仮定する。プロセス280は開始(ブロック282)から始まる。プロセス280は、アップリンク(UL)データ(たとえば、パケット)の到来に進む(ブロック284)。制御システムは、低待ち時間を必要とする優先順位データ、制御メッセージ、および/または他のデータがあるかどうかを評価する(ブロック286)。ブロック286に対する答えが否定である場合、制御システムは、バイトしきい値を超えたかどうか(すなわち、アキュムレータ内にバイトに値するしきい値よりも多くあるか)を判定する(ブロック288)。ブロック288に対する答えが否定である場合、制御システムは、パケット数しきい値を超えたかどうか(すなわち、アキュムレータ内にパケットに値するしきい値よりも多くあるか)を判定する(ブロック290)。ブロック290に対する答えが否定である場合、制御システムは、システムのメモリが少なくなっているかどうかを判定する(ブロック292)。ブロック292に対する答えが否定である場合、制御システムは、デバイスがアップリンクポーリングモードにあるかどうかを確認する(ブロック294)。ブロック294に対する答えが肯定である場合、デバイスはポーリングモードにあり、アプリケーションプロセッサ34は、デバイスがプルし、それに応じて書込みポインタを更新し得るアップリンクデータパケット情報で内部データ構造/コンテキストアレイを更新する(ブロック296)。
【００６８】
しかし、引き続き図12を参照して、ブロック294に対する答えが否定である場合、デバイスはアップリンクポーリングモードにはなく、またはブロック286、288、290、または292からのオーバーライドのいずれかが肯定的に回答された場合、アプリケーションプロセッサ34は、デバイスがプルし、それに応じて書込みポインタを更新し得るアップリンクデータパケット情報で内部データ構造/コンテキストアレイを更新する(ブロック298)。次いで、アプリケーションプロセッサ34は、アップリンクデータの可用性を示すために、ドアベルをリンギングし、あるいはデバイスに割込みをかける(ブロック300)。次いで、アプリケーションプロセッサ34は、デバイス状態をポーリング状態(ドアベル/イベント/割込みモードではなく)に設定し(ブロック302)、プロセスは反復する。
【００６９】
両方のタイマがアプリケーションプロセッサ34またはモデムプロセッサ44内にあり、またはそれぞれのプロセッサ34、44間で分割される場合に同様のプロセスが実施され得ることを理解されたい。同様に、タイマが満了すると、ポーリング、ドアベルレジスタの設定、または他の技法に基づいて、データが相互接続性バス36を介してプルまたはプッシュされ得る。
【００７０】
本明細書で開示される態様に関連して説明される様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムが、電子ハードウェア、メモリもしくは別のコンピュータ可読媒体に記憶され、プロセッサもしくは他の処理デバイスによって実行される命令、またはその両方の組合せとして実装され得ることを当業者はさらに理解されよう。本明細書で説明されるデバイスは、例として、回路、ハードウェア構成要素、IC、またはICチップで利用され得る。本明細書で開示されるメモリは、任意のタイプおよびサイズのメモリであり得、所望の任意のタイプの情報を記憶するように構成され得る。この互換性を明確に示すために、様々な例示的構成要素、ブロック、モジュール、回路、およびステップが、その機能の点で上記で全般的に説明された。そのような機能がどのように実装されるかは、特定の応用分野、設計の選択肢、および/またはシステム全体に課される設計制約に依存する。当業者は、特定の適用分野ごとに様々な方式で記載の機能を実装し得るが、そのような実装決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００７１】
本明細書で開示される態様とともに説明される様々な例示的論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア構成要素、または本明細書で説明される機能を実施するように設計されたそれらの任意の組合せで実装または実施され得る。プロセッサはマイクロプロセッサであり得るが、代替実施形態では、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、またはマイクロコントローラであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえばDSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、1つまたは複数のマイクロプロセッサとDSPコア、または任意の他のそのような構成として実装され得る。
【００７２】
本明細書で開示される態様は、ハードウェア、またはハードウェア内に記憶される命令として実施され得、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気プログラマブルROM(EPROM)、電気消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で周知の任意の他の形態のコンピュータ可読媒体内に常駐し得る。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込み得るようにプロセッサに結合される。代替実施形態では、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC内にあり得る。ASICはリモート局内にあり得る。代替実施形態では、プロセッサおよび記憶媒体は、別個の構成要素としてリモート局、基地局、またはサーバ内にあり得る。
【００７３】
本明細書の例示的態様のいずれかで説明される動作ステップは、例および議論を提供するために説明されることにも留意されたい。説明される動作は、図示されるシーケンス以外の多数の異なるシーケンスで実施され得る。さらに、単一の動作ステップで説明される動作は、実際にはいくつかの異なるステップで実施され得る。さらに、例示的態様で論じられる1つまたは複数の動作ステップが組み合わされ得る。流れ図で示される動作ステップは、当業者には容易に明らかとなるような多数の異なる修正の対象となり得ることを理解されたい。様々な異なる技術および技法のいずれかを使用して情報および信号が表現され得ることも当業者は理解されよう。たとえば、上記の説明全体を通じて参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁気粒子、光場あるいは光粒子、またはそれらの任意の組合せによって表現され得る。
【００７４】
本開示の先の説明は、当業者が本開示を作成または使用することを可能にするために与えられる。本開示に対する様々な修正が当業者には容易に明らかとなり、本明細書で定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の変形形態に適用され得る。したがって、本開示は、本明細書で説明される例および設計に限定されないものとし、本開示には、本明細書で開示される原理および新規な特徴に適合する最も広い範囲が与えられるべきである。
【符号の説明】
【００７５】
10  コンピューティングデバイス
12  ネットワーク
14  ハウジング
16  モニタ
18  キーボード
20  マウス
22  モバイル端末
24  リモートアンテナ
26  基地局(BS)
28  パブリックランドモバイルネットワーク(PLMN)
30  アンテナ
32  モバイルデバイスモデム(MDM)
34  アプリケーションプロセッサ
36  相互接続性バス
38  受信機経路
40  送信機経路
42  スイッチ
44  モデムプロセッサ
46  ユーザインターフェース
48  メモリ
50  ソフトウェア
【図１Ａ】
2017502400.tif 000003
【図１Ｂ】
2017502400.tif 000004
【図１Ｃ】
2017502400.tif 000005
【図２】
2017502400.tif 000006
【図３】
2017502400.tif 000007
【図４】
2017502400.tif 000008
【図５】
2017502400.tif 000009
【図６】
2017502400.tif 000010
【図７】
2017502400.tif 000011
【図８】
2017502400.tif 000012
【図９】
2017502400.tif 000013
【図１０】
2017502400.tif 000014
【図１１】
2017502400.tif 000015
【図１２】
2017502400.tif 000016
【手続補正書】
【提出日】平成28年6月17日(2016.6.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モデムタイマと、
前記モデムタイマの満了まで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成されたモデムプロセッサと、
アプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記アプリケーションプロセッサが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの受信によってトリガされるまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成され、前記モデムプロセッサ-アプリケーションプロセッサデータの受信によってトリガされた後、前記アプリケーションプロセッサ-モデムプロセッサデータが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの前記受信に応答して、前記相互接続性バスを通じて前記モデムプロセッサに送られるモバイル端末。
【請求項２】
前記相互接続性バスがPCI準拠バスを含む請求項1に記載のモバイル端末。
【請求項３】
前記PCI準拠バスがPCIeバスを含む請求項2に記載のモバイル端末。
【請求項４】
前記アプリケーションプロセッサがアップリンクタイマを含み、前記アップリンクタイマが、前記モデムタイマの期間よりも長い期間を有する請求項1に記載のモバイル端末。
【請求項５】
前記モデムタイマがソフトウェアで実装される請求項1に記載のモバイル端末。
【請求項６】
前記モデムタイマが約6ミリ秒の期間を有する請求項1に記載のモバイル端末。
【請求項７】
前記アプリケーションプロセッサが、前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの受信、または前記モデムタイマの期間よりも長い期間を有する前記アップリンクタイマの満了のどちらかが最初に生じるまで、前記アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成される請求項4に記載のモバイル端末。
【請求項８】
前記モデムプロセッサが前記モデムタイマを備える請求項1に記載のモバイル端末。
【請求項９】
前記アプリケーションプロセッサが前記モデムタイマを備える請求項1に記載のモバイル端末。
【請求項１０】
アプリケーションタイマをさらに備え、前記モデムプロセッサが、前記アプリケーションタイマの1時間スロット以内にデータが受信されない場合、割込みを送るように前記アプリケーションプロセッサに命令するように構成される請求項1に記載のモバイル端末。
【請求項１１】
前記モデムプロセッサに関連するバイト蓄積限度カウンタをさらに備え、前記モデムプロセッサが、前記バイト蓄積限度カウンタに関連するしきい値を超過する場合、前記アプリケーションプロセッサにデータを送るように構成される請求項1に記載のモバイル端末。
【請求項１２】
前記モデムプロセッサに関連するパケット数限度カウンタをさらに備え、前記モデムプロセッサが、前記パケット数限度カウンタに関連するしきい値を超過する場合、前記アプリケーションプロセッサにデータを送るように構成される請求項1に記載のモバイル端末。
【請求項１３】
前記モデムプロセッサが、保持されるデータが制御パケットを含むかどうかを判定し、前記モデムタイマの満了前にそのような制御パケットを送るように構成される請求項1に記載のモバイル端末。
【請求項１４】
前記モデムプロセッサがアプリケーションタイマをさらに備え、前記モデムプロセッサが、前記モデムプロセッサ-アプリケーションプロセッサデータの受信時、または前記アプリケーションタイマの満了時に、前記アプリケーションプロセッサからデータをプルするように構成される請求項3に記載のモバイル端末。
【請求項１５】
コンピューティングデバイス内の電力消費を制御する方法であって、
ダウンリンクタイマの満了まで、リモートネットワークからモデムプロセッサによって受信されたデータを保持するステップと、
前記モデムプロセッサによって受信された前記データを、相互接続性バスを介してアプリケーションプロセッサに渡すステップと、
前記モデムプロセッサからの前記データの受信、またはアップリンクタイマの満了のどちらかが最初に生じるまで、前記アプリケーションプロセッサに関連するアプリケーションによって生成されたアプリケーションデータを保持するステップとを含み、
前記モデムプロセッサからの前記データの受信が、前記相互接続性バスがアクティブ電力状態から低電力状態に遷移する前に、前記アプリケーションプロセッサによって受信された前記データを、前記相互接続性バスを介して前記モデムプロセッサに渡すステップをトリガする方法。
【請求項１６】
前記データを渡す前記ステップが、PCI準拠バスを介して前記データを渡すステップを含む請求項15に記載の方法。
【請求項１７】
前記ダウンリンクタイマの期間が6ミリ秒を含む請求項15に記載の方法。
【請求項１８】
前記アップリンクタイマの期間が7ミリ秒を含む請求項15に記載の方法。
【請求項１９】
蓄積されたパケットサイズ、蓄積されたパケットカウント、蓄積されたバイトカウント、サービス品質要件、および制御メッセージステータスのうちの1つに基づいてオーバーライド機能を提供するステップをさらに含む請求項15に記載の方法。
【請求項２０】
モデムプロセッサと、
アプリケーションタイマと、
前記アプリケーションタイマの満了まで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成されたアプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記モデムプロセッサが、前記相互接続性バスを通じた前記アプリケーションプロセッサからの前記アプリケーションプロセッサ-モデムプロセッサデータの受信によってトリガされるまで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成され、前記アプリケーションプロセッサ-モデムプロセッサデータの受信によってトリガされた後、前記モデムプロセッサ-アプリケーションプロセッサデータが、前記相互接続性バスを通じた前記アプリケーションプロセッサからの前記アプリケーションプロセッサ-モデムプロセッサデータの前記受信に応答して、前記相互接続性バスを通じて前記アプリケーションプロセッサに送られるモバイル端末。
【請求項２１】
前記アプリケーションプロセッサが前記アプリケーションタイマを備える請求項20に記載のモバイル端末。
【請求項２２】
前記モデムプロセッサが前記アプリケーションタイマを備える請求項20に記載のモバイル端末。
【請求項２３】
前記モデムプロセッサにおいてバイトをカウントするバイトカウンタをさらに備える請求項20に記載のモバイル端末。
【請求項２４】
モデムバイト蓄積限度カウンタと、
前記モデムバイト蓄積限度カウンタがバイトの事前定義されたしきい値に達するまで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成されたモデムプロセッサと、
アプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記アプリケーションプロセッサが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの受信によってトリガされるまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成され、前記モデムプロセッサ-アプリケーションプロセッサデータの受信によってトリガされた後、前記アプリケーションプロセッサ-モデムプロセッサデータが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの前記受信に応答して、前記相互接続性バスを通じて前記モデムプロセッサに送られるモバイル端末。
【請求項２５】
モデムパケットカウンタと、
前記モデムパケットカウンタがパケットの事前定義されたしきい値に達するまで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成されたモデムプロセッサと、
アプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記アプリケーションプロセッサが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの受信によってトリガされるまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成され、前記モデムプロセッサ-アプリケーションプロセッサデータの受信によってトリガされた後、前記アプリケーションプロセッサ-モデムプロセッサデータが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの前記受信に応答して、前記相互接続性バスを通じて前記モデムプロセッサに送られるモバイル端末。
【請求項２６】
モデムプロセッサと、
アプリケーションバイトカウンタと、
前記アプリケーションバイトカウンタがバイトの事前定義されたしきい値に達するまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成されたアプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記モデムプロセッサが、前記相互接続性バスを通じた前記アプリケーションプロセッサからの前記アプリケーションプロセッサ-モデムプロセッサデータの受信によってトリガされるまで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成され、前記アプリケーションプロセッサ-モデムプロセッサデータの受信によってトリガされた後、前記モデムプロセッサ-アプリケーションプロセッサデータが、前記相互接続性バスを通じた前記アプリケーションプロセッサからの前記アプリケーションプロセッサ-モデムプロセッサデータの前記受信に応答して、前記相互接続性バスを通じて前記アプリケーションプロセッサに送られるモバイル端末。
【請求項２７】
モデムプロセッサと、
アプリケーションパケットカウンタと、
前記アプリケーションパケットカウンタがパケットの事前定義されたしきい値に達するまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成されたアプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスとを備えるモバイル端末であって、
前記モデムプロセッサが、前記相互接続性バスを通じた前記アプリケーションプロセッサからの前記アプリケーションプロセッサ-モデムプロセッサデータの受信によってトリガされるまで、モデムプロセッサ-アプリケーションプロセッサデータを保持するように構成され、前記アプリケーションプロセッサ-モデムプロセッサデータの受信によってトリガされた後、前記モデムプロセッサ-アプリケーションプロセッサデータが、前記相互接続性バスを通じた前記モデムプロセッサからの前記モデムプロセッサ-アプリケーションプロセッサデータの前記受信に応答して、前記相互接続性バスを通じて前記アプリケーションプロセッサに送られるモバイル端末。
【請求項２８】
アプリケーションプロセッサにおいてアプリケーションタイマを開始するステップと、
前記アプリケーションタイマの満了まで、前記アプリケーションプロセッサにおいてデータを蓄積するステップと、
相互接続性バスを介して、前記蓄積されたデータを前記アプリケーションプロセッサからモデムプロセッサに送るステップと、
前記アプリケーションプロセッサからの前記蓄積されたデータの受信によってトリガされるまで、前記モデムプロセッサにおいてモデムプロセッサデータを保持するステップとを含む方法であって、
前記アプリケーションプロセッサからの前記蓄積されたデータの受信が、前記相互接続性バスがアクティブ電力状態から低電力状態に遷移する前に、前記モデムプロセッサデータを、前記相互接続性バスを介して前記アプリケーションプロセッサに渡すステップをトリガする方法。
【請求項２９】
モデムタイマと、
前記モデムタイマの満了までモデムプロセッサ-アプリケーションプロセッサデータを保持するように構成されたモデムプロセッサと、
アプリケーションプロセッサと、
前記アプリケーションプロセッサを前記モデムプロセッサに通信可能に結合する相互接続性バスと、
前記モデムプロセッサ-アプリケーションプロセッサデータの送信後、前記モデムプロセッサが前記アプリケーションプロセッサからデータをプルするまで、アプリケーションプロセッサ-モデムプロセッサデータを保持するように構成されたアプリケーションプロセッサとを備えるモバイル端末であって、
前記モデムプロセッサが、前記モデムプロセッサ-アプリケーションプロセッサデータの送信後、かつ前記相互接続性バスがアクティブ電力状態から低電力状態に遷移する前に、前記アプリケーションプロセッサからデータをプルするようにさらに構成されるモバイル端末。
【請求項３０】
第2のモデムプロセッサをさらに備え、前記第2のモデムプロセッサが、前記モデムプロセッサ上のトラフィックが前記第2のモデムプロセッサについてのデータ転送をトリガし得るように、前記モデムプロセッサとデータ可用性情報を交換するように構成される請求項1に記載のモバイル端末。
【請求項３１】
前記モデムプロセッサ上のトラフィックが第2のモデムプロセッサについてのデータ転送をトリガするまで、前記第2のモデムプロセッサにデータを保持するステップをさらに含む請求項15に記載の方法。
【国際調査報告】
2017502400.tif 000017
2017502400.tif 000018
2017502400.tif 000019