(57)【特許請求の範囲】
【請求項１】
ポータブルコンピューティングデバイス(「PCD」)内のバッテリ負荷を管理するための方法であって、
前記PCD内のバッテリにおける能動負荷を追跡するステップであり、前記能動負荷が前記PCD内の1または複数の能動電力消費コンポーネントに関連している、ステップと、
前記バッテリの健康状態を監視するステップであり、前記健康状態が、前記バッテリに関連付けられた1または複数の測定値によって定量化される、ステップと、
前記1または複数の能動電力消費コンポーネントを識別するデータと、前記バッテリに関連付けられた前記1または複数の測定値によって定量化された前記健康状態と、所定のバッテリ負荷状態と、特定の使用事例にマッピングされた履歴電力消費レベルとをバッテリ負荷データベースに格納するステップと、
前記バッテリにおける追加の負荷についての要求を認識するステップであり、追加の負荷についての前記要求が、前記PCD内の非能動コンポーネントのアクティブ化を必要とする前記PCDの機能についての要求に関連付けられている、ステップと、
前記バッテリ負荷データベースに問合せることによって、追加の負荷についての前記要求を受け入れることから生じる前記バッテリにおける将来の能動負荷を計算するステップと、
前記将来の能動負荷が、前記バッテリ負荷データベースに格納された前記バッテリの前記健康状態に対しておよび前記将来の能動負荷と比較した前記バッテリ負荷データベースに格納された前記所定のバッテリ負荷状態に対して及ぼす影響の分析に基づいて、前記バッテリにおける追加の負荷についての前記要求に応答するステップと
を含み、
追加の負荷についての前記要求に応答する前記ステップが、熱アグレッサとして識別された前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力を低減するステップをさらに含み、
前記PCDが複数のコアを含み、追加の負荷についての前記要求に応答する前記ステップが、前記複数のコアの少なくともいくつかのうちの少なくとも1つの処理負荷を再割振りするステップをさらに含む方法。
【請求項２】
追加の負荷についての前記要求に応答するステップが、追加の負荷についての前記要求を許可するステップを含む、請求項1に記載の方法。
【請求項３】
追加の負荷についての前記要求に応答するステップが、前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力を低減するステップをさらに含む、請求項2に記載の方法。
【請求項４】
追加の負荷についての前記要求に応答するステップが、前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力をサスペンドするステップをさらに含む、請求項2に記載の方法。
【請求項５】
追加の負荷についての前記要求に応答するステップが、追加の負荷についての前記要求を拒絶するステップを含む、請求項1に記載の方法。
【請求項６】
前記バッテリに関連付けられるとともに、前記健康状態を定量化するために使用される測定値が、電圧の状態の測定値を含む、請求項1に記載の方法。
【請求項７】
前記バッテリに関連付けられるとともに、前記健康状態を定量化するために使用される測定値が、充電の状態の測定値を含む、請求項1に記載の方法。
【請求項８】
前記バッテリに関連付けられるとともに、前記健康状態を定量化するために使用される測定値が、放電率の測定値を含む、請求項1に記載の方法。
【請求項９】
ポータブルコンピューティングデバイス(「PCD」)内のバッテリ負荷を管理するためのコンピュータシステムであって、
前記PCD内のバッテリにおける能動負荷を追跡するステップであり、前記能動負荷が前記PCD内の1または複数の能動電力消費コンポーネントに関連している、ステップと、
前記バッテリの健康状態を監視するステップであり、前記健康状態が、前記バッテリに関連付けられた1または複数の測定値によって定量化される、ステップと
を行うためのモニタモジュールと、
前記1または複数の能動電力消費コンポーネントを識別するデータと、前記バッテリに関連付けられた前記1または複数の測定値によって定量化された前記健康状態と、所定のバッテリ負荷状態と、特定の使用事例にマッピングされた履歴電力消費レベルとを格納するためのバッテリ負荷データベースと、
前記バッテリにおける追加の負荷についての要求を認識するステップであり、追加の負荷についての前記要求が、前記PCD内の非能動コンポーネントのアクティブ化を必要とする前記PCDの機能についての要求に関連付けられている、ステップと、
前記バッテリ負荷データベースに問合せることによって、追加の負荷についての前記要求を受け入れることから生じる前記バッテリにおける将来の能動負荷を計算するステップと、
前記将来の能動負荷が、前記バッテリ負荷データベースに格納された前記バッテリの前記健康状態に対しておよび前記将来の能動負荷と比較した前記バッテリ負荷データベースに格納された前記所定のバッテリ負荷状態に対して及ぼす影響の分析に基づいて、前記バッテリにおける追加の負荷についての前記要求に応答するステップと
を行うためのバッテリ負荷管理モジュールと
を含み、
追加の負荷についての前記要求に応答する前記ステップが、熱アグレッサとして識別された前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力を低減するステップをさらに含み、
前記PCDが複数のコアを含み、追加の負荷についての前記要求に応答する前記ステップが、前記複数のコアの少なくともいくつかのうちの少なくとも1つの処理負荷を再割振りするステップをさらに含むコンピュータシステム。
【請求項１０】
追加の負荷についての前記要求に応答する前記バッテリ負荷管理モジュールが、追加の負荷についての前記要求を許可することを含む、請求項9に記載のコンピュータシステム。
【請求項１１】
追加の負荷についての前記要求に応答する前記バッテリ負荷管理モジュールが、前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力を低減することをさらに含む、請求項10に記載のコンピュータシステム。
【請求項１２】
追加の負荷についての前記要求に応答する前記バッテリ負荷管理モジュールが、前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力をサスペンドすることをさらに含む、請求項10に記載のコンピュータシステム。
【請求項１３】
追加の負荷についての前記要求に応答する前記バッテリ負荷管理モジュールが、追加の負荷についての前記要求を拒絶することを含む、請求項9に記載のコンピュータシステム。
【請求項１４】
前記バッテリの前記健康状態を監視する前記モニタモジュールが、電圧の状態の測定値を監視することを含む、請求項9に記載のコンピュータシステム。
【請求項１５】
前記バッテリの前記健康状態を監視する前記モニタモジュールが、充電の状態の測定値を監視することを含む、請求項9に記載のコンピュータシステム。
【請求項１６】
前記バッテリの前記健康状態を監視する前記モニタモジュールが、放電率の測定値を監視することを含む、請求項9に記載のコンピュータシステム。
【請求項１７】
ポータブルコンピューティングデバイス(「PCD」)内のバッテリ負荷を管理するためのコンピュータシステムであって、
前記PCD内のバッテリにおける能動負荷を追跡するための手段であり、前記能動負荷が前記PCD内の1または複数の能動電力消費コンポーネントに関連している、手段と、
前記バッテリの健康状態を監視するための手段であり、前記健康状態が、前記バッテリに関連付けられた1または複数の測定値によって定量化される、手段と、
前記1または複数の能動電力消費コンポーネントを識別するデータと、前記バッテリに関連付けられた前記1または複数の測定値によって定量化された前記健康状態と、所定のバッテリ負荷状態と、特定の使用事例にマッピングされた履歴電力消費レベルとをバッテリ負荷データベースに格納するための手段と、
前記バッテリにおける追加の負荷についての要求を認識するための手段であり、追加の負荷についての前記要求が、前記PCD内の非能動コンポーネントのアクティブ化を必要とする前記PCDの機能についての要求に関連付けられている、手段と、
前記バッテリ負荷データベースに問合せることによって、追加の負荷についての前記要求を受け入れることから生じる前記バッテリにおける将来の能動負荷を計算するための手段と、
前記将来の能動負荷が、前記バッテリ負荷データベースに格納された前記バッテリの前記健康状態に対しておよび前記将来の能動負荷と比較した前記バッテリ負荷データベースに格納された所定のバッテリ負荷状態に対して及ぼす影響の分析に基づいて、前記バッテリにおける追加の負荷についての前記要求に応答するための手段と
を含み、
追加の負荷についての前記要求に応答するための前記手段が、熱アグレッサとして識別された前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力を低減するための手段を含み、
前記PCDが複数のコアを含み、追加の負荷についての前記要求に応答するための前記手段が、前記複数のコアの少なくともいくつかのうちの少なくとも1つの処理負荷を再割振りすることをさらに含むコンピュータシステム。
【請求項１８】
追加の負荷についての前記要求に応答するための前記手段が、追加の負荷についての前記要求を許可するための手段を含む、請求項17に記載のコンピュータシステム。
【請求項１９】
追加の負荷についての前記要求に応答するための前記手段が、前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力を低減するための手段をさらに含む、請求項18に記載のコンピュータシステム。
【請求項２０】
追加の負荷についての前記要求に応答するための前記手段が、前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力をサスペンドするための手段をさらに含む、請求項18に記載のコンピュータシステム。
【請求項２１】
追加の負荷についての前記要求に応答するための前記手段が、追加の負荷についての前記要求を拒絶するための手段を含む、請求項17に記載のコンピュータシステム。
【請求項２２】
前記バッテリの前記健康状態を監視するための前記手段が、電圧の状態を監視するための手段を含む、請求項17に記載のコンピュータシステム。
【請求項２３】
前記バッテリの前記健康状態を監視するための前記手段が、充電の状態を監視するための手段を含む、請求項17に記載のコンピュータシステム。
【請求項２４】
前記バッテリの前記健康状態を監視するための前記手段が、放電率を監視するための手段を含む、請求項17に記載のコンピュータシステム。
【請求項２５】
コンピュータ可読プログラムコードを具備するコンピュータプログラムであって、前記コンピュータ可読プログラムコードが、ポータブルコンピューティングデバイス(「PCD」)におけるバッテリ負荷を管理するための方法を実施するために実行されるように適合され、前記方法が、
前記PCD内のバッテリにおける能動負荷を追跡するステップであり、前記能動負荷が前記PCD内の1または複数の能動電力消費コンポーネントに関連している、ステップと、
前記バッテリの健康状態を監視するステップであり、前記健康状態が、前記バッテリに関連付けられた1または複数の測定値によって定量化される、ステップと、
前記1または複数の能動電力消費コンポーネントを識別するデータと、前記バッテリに関連付けられた前記1または複数の測定値によって定量化された前記健康状態と、所定のバッテリ負荷状態と、特定の使用事例にマッピングされた履歴電力消費レベルとをバッテリ負荷データベースに格納するステップと、
前記バッテリにおける追加の負荷についての要求を認識するステップであり、追加の負荷についての前記要求が、前記PCD内の非能動コンポーネントのアクティブ化を必要とする前記PCDの機能についての要求に関連付けられている、ステップと、
前記バッテリ負荷データベースに問合せることによって、追加の負荷についての前記要求を受け入れることから生じる前記バッテリにおける将来の能動負荷を計算するステップと、
前記将来の能動負荷が前記バッテリの前記健康状態に対しておよび前記将来の能動負荷と比較して前記バッテリ負荷データベースに格納された所定のバッテリ負荷状態に対して及ぼす影響の分析に基づいて、前記バッテリにおける追加の負荷についての前記要求に応答するステップと
を含み、
追加の負荷についての前記要求に応答するステップが、熱アグレッサとして識別された前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力を低減するステップをさらに含み、
前記PCDが複数のコアを含み、追加の負荷についての前記要求に応答するステップが、前記複数のコアの少なくともいくつかのうちの少なくとも1つの処理負荷を再割振りするステップをさらに含む、コンピュータプログラム。
【請求項２６】
追加の負荷についての前記要求に応答するステップが、追加の負荷についての前記要求を許可するステップを含む、請求項25に記載のコンピュータプログラム。
【請求項２７】
追加の負荷についての前記要求に応答するステップが、前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力を低減するステップをさらに含む、請求項26に記載のコンピュータプログラム。
【請求項２８】
追加の負荷についての前記要求に応答するステップが、前記PCD内の前記能動電力消費コンポーネントのうちの1または複数への電力をサスペンドするステップをさらに含む、請求項26に記載のコンピュータプログラム。
【請求項２９】
追加の負荷についての前記要求に応答するステップが、追加の負荷についての前記要求を拒絶するステップを含む、請求項25に記載のコンピュータプログラム。
【請求項３０】
前記バッテリに関連付けられるとともに、前記健康状態を定量化するために使用される測定値が、電圧の状態の測定値を含む、請求項25に記載のコンピュータプログラム。
【請求項３１】
前記バッテリに関連付けられるとともに、前記健康状態を定量化するために使用される測定値が、充電の状態の測定値を含む、請求項25に記載のコンピュータプログラム。
【請求項３２】
前記バッテリに関連付けられるとともに、前記健康状態を定量化するために使用される測定値が、放電率の測定値を含む、請求項25に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポータブルコンピューティングデバイスにおけるバッテリ負荷管理のためのシステムおよび方法に関する。
【０００２】
関連出願の相互参照
2012年1月26日に出願された「SYSTEM AND METHOD FOR BATTERY LOAD MANAGEMENT IN A PORTABLE COMPUTING DEVICE」という表題の、出願番号第61/591,149号を割り当てられ、その出願の内容全体が参照によって本明細書に組み込まれる米国仮出願に対する、米国特許法第119条(e)による優先権が主張される。
【背景技術】
【０００３】
ポータブルコンピューティングデバイス(「PCD」)は、個人レベルおよび専門レベルにおいて人々に必要なものになりつつある強力なデバイスである。いくつかのPCDは、動作するとき、多くの熱エネルギーを生成することができるにもかかわらず、それらは一般的に、ファンのようなアクティブな冷却コンポーネントを含まない。PCDの例には、携帯電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスが含まれ得る。
【０００４】
ユーザがPCDにますます依存するようになるにつれて、より多くの、およびより良い機能についての要求が増加している。同時に、ユーザは、より多くの、およびより良い機能の追加のために、サービス品質(「QoS」)および全体的なユーザエクスペリエンスが損なわれないことも期待している。逆に、QoSおよびユーザエクスペリエンスを犠牲にすることなく、PCDにおいてより多くの、およびより良い機能を提供することは、ますます高いミリアンペア時間(「mA-Hr」)のバッテリ容量を必要とする。
【０００５】
一般に、PCDにおいてより多くのmA-Hrのバッテリ容量を提供することは、単により大きいバッテリを含むことを意味する。しかしながら、PCD設計において、より小さいフォームファクタを好む傾向があり、このことは、より大きいバッテリを含むことをしばしば妨げる。さらに、利用可能なバッテリ技術のmA-Hr密度は停滞しているので、所与のサイズのより高い電力密度のバッテリを含むことは、もはや追加の機能のサポートに対する答えでない。問題をさらに複雑にすることに、PCDにおける機能の増加の結果として、バッテリに課せられる要求は、しばしば、ユーザエクスペリエンスに、そうでなければCD内のコンポーネントにも有害であるPCDタッチ温度の増加につながる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、当技術分野では、PCD機能が最適化されるように、利用可能なバッテリ容量を管理するシステムおよび方法が必要である。さらに、当技術分野では、QoS、ユーザエクスペリエンス、およびミッションクリティカルなサービスを犠牲にして瞬間のバッテリリソースが上回らないように、PCDにおけるバッテリの要求を管理するシステムおよび方法が必要である。
【課題を解決するための手段】
【０００７】
ポータブルコンピューティングデバイス(「PCD」)においてバッテリ負荷を管理するための方法およびシステムの様々な実施形態が開示される。例示的な実施形態は、PCDにおけるバッテリ需要の平均、ピーク、および持続時間を監視し、分析しようとするバッテリ負荷マネージャ(「BLM」)モジュールを含む。そのようなパラメータの値に基づいて、PCDについて、バッテリ負荷スコアが計算され得る。例示的なバッテリ負荷スコアは、PCDおよびPCD内に含まれるコンポーネント(ハードウェアまたはソフトウェア)に取り付けられた任意の補助的なハードウェア(すなわち他のデバイス)に起因する、ある時点における、またはある時間期間にわたる総バッテリ需要を考慮し得る。BLMモジュールは、PCDについてのバッテリ負荷スコアを決定した後、とりわけ、バッテリ負荷スコアに起因している様々なコンポーネント(すなわち、ハードウェアまたはソフトウェア)の最小のおよび登録された性能評価に基づいて、バッテリ負荷のスケーラビリティを決定することができる。これらのパラメータに基づいて、BLMモジュールは、新しいハードウェアおよび/またはソフトウェアについての要求が許可される場合、需要の増加から生じ得たPCDについてのバッテリ負荷に対するあり得る影響を定量化する性能スコアを計算することができる。
【０００８】
BLMモジュールの実施形態は、PCDのバッテリについて、電圧の状態(「SOV」)を詳しく調べることができる。新しいハードウェアおよび/または新しいソフトウェアがPCD上で動作することについての要求に起因するさらなる電力需要が、バッテリの健康状態(「SOH」(state of health))を危険にさらすバッテリ負荷を作り出すことが予想される場合、(PCD内のまたはそれに結合された他のハードウェア/ソフトウェアによって許可される場合)新しいハードウェアまたはソフトウェアの追加を許可するために、BLMモジュールは、既存のハードウェアおよび/またはソフトウェアのバッテリ需要を低下させ得る。代替として、新しいハードウェアおよび/またはソフトウェアをオンラインにすることがバッテリSOHにとって有害であり得ることを、計算された性能スコアが示す場合、BLMモジュールは、新しいハードウェアおよび/またはソフトウェアについての要求を拒否する場合がある。
【０００９】
PCDにおけるバッテリ負荷を管理するための1つの例示的な方法は、全体としてPCD内の1または複数の能動電力消費コンポーネントに起因しているバッテリにおける能動負荷を追跡することを含む。バッテリに関連付けられ、バッテリの健康状態を示す測定値も監視され得る。たとえばPCDにおける追加の機能の提供についてのユーザの要求など、バッテリにおける追加の負荷についての要求が認識されると、新しく要求された負荷を含むバッテリにおける将来の負荷が計算または推定され得る。バッテリの健康状態に対する影響の分析に基づいて、新しく要求された負荷が許可された場合、新しく要求された負荷についてのバッテリ負荷容量を作り出すために、既存の、より優先順位の低い負荷はスケーリングされ、またはサスペンドされ得る。このようにして、バッテリの健康状態にとって有害であり得る条件を最小限に抑えながら、サービス品質(「QoS」)およびユーザエクスペリエンスが最適化され得る。
【００１０】
図面では、別段に規定されていない限り、様々な図の全体を通して、同様の参照番号は同様の部分を指す。「102A」または「102B」などの文字指定を伴う参照番号の場合、文字指定は、同じ図に存在する2つの同様の部分または要素を区別することができる。参照番号がすべての図において同じ参照番号を有するすべての部分を包含することが意図されるとき、参照番号の文字指定は省略される場合がある。
【図面の簡単な説明】
【００１１】
【図１】サービス品質(「QoS」)および全体的なユーザエクスペリエンスを最適化するために、ポータブルコンピューティングデバイス(「PCD」)におけるバッテリ負荷および需要を管理するためのシステムの例示的な実施形態を示す機能ブロック図である。
【図２】QoSおよび全体的なユーザエクスペリエンスを最適化するためにバッテリ負荷および需要を管理するための方法およびシステムを実装するためのワイヤレス電話の形態のPCDの例示的かつ非限定的な態様の機能ブロック図である。
【図３】バッテリ負荷管理技法に関連するアルゴリズムの適用およびバッテリ負荷の監視をサポートするための図2のPCDの例示的なソフトウェアアーキテクチャを示す概略図である。
【図４】QoSおよび全体的なユーザエクスペリエンスを最適化するために、PCD内のコンポーネントの総バッテリ需要に関連付けられ、認識され、管理され得る様々なバッテリ負荷状態を示す例示的な状態図である。
【図５】QoSおよび全体的なユーザエクスペリエンスを最適化するために適用され得、PCDの特定のバッテリ負荷状態に依存する例示的なバッテリ負荷管理技法を示す図である。
【図６Ａ】PCDにおけるバッテリ負荷および需要を管理するための方法を示す論理フローチャートである。
【図６Ｂ】PCDにおけるバッテリ負荷および需要を管理するための方法を示す論理フローチャートである。
【発明を実施するための形態】
【００１２】
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。「例示的な」ものとして本明細書に記載されるいずれの態様も、必ずしも他の態様に対して排他的であるか、他の態様よりも好ましいか、または有利であると解釈されるべきではない。
【００１３】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルも含むことができる。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなどの本質的に実行可能ではないファイルも含むことができる。
【００１４】
本明細書で使用されるように、「コンポーネント」、「データベース」、「モジュール」、「システム」、「処理コンポーネント」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかであるコンピュータ関連のエンティティを指すものとする。たとえば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、コンピューティングデバイス上で動作しているアプリケーションとコンピューティングデバイスの両方は、コンポーネントであり得る。1または複数のコンポーネントは、プロセスおよび/または実行スレッドの中に存在してよく、1つのコンポーネントは、1つのコンピュータに局在してよく、かつ/または2つ以上のコンピュータに分散してよい。加えて、これらのコンポーネントは、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。コンポーネントは、1または複数のデータパケット(たとえば、信号によって、ローカルシステム、分散システムにおいて別のコンポーネントと対話し、かつ/またはインターネットのようなネットワークにわたって他のシステムと対話する、1つのコンポーネントからのデータ)を有する信号に従うなどして、ローカルプロセスおよび/またはリモートプロセスにより通信することができる。
【００１５】
本明細書では、「中央処理装置(「CPU」)」、「デジタル信号プロセッサ(「DSP」)」、および「チップ」という用語は互換的に使用される。その上、CPU、DSP、またはチップは、「コア」と本明細書では全般的に呼ばれる1または複数の別個の処理コンポーネントからなることができる。
【００１６】
本明細書では、「要求」という用語は、要求時に動作している可能性があるものに対するPCDにおける追加のリソースおよび/または機能についての要求を指す。したがって、要求は、PCDユーザが、何らかの機能を実行し、何らかのサービスを提供し、何らかの配信可能なものを提供するようPCDに要求することの結果であり得ることを、当業者であれば理解されよう。さらに、PCDリソースについての要求は、PCD内の所与のコンポーネントがPCD内の別のコンポーネントを活用して作業負荷タスクを終了することの結果であり得ることも、当業者であれば理解されよう。非限定的な例として、PCDにおけるブラウザアプリケーションを開くためのユーザアクションは、たとえばモデム、グラフィックプロセッサおよび/またはディスプレイなど、要求時に、未使用のPCDにおいて、追加のリソース/コンポーネントについての要求を引き起こす場合がある。コンポーネントまたはリソースについての要求を許可することは、PCD内のバッテリ需要を増加させ得ることを、当業者であれば理解されよう。
【００１７】
本明細書では、「熱」および「熱エネルギー」という用語は、「温度」の単位で測定できるエネルギーを発生または放散することが可能な、デバイスまたはコンポーネントに関連付けられて使用できることが理解されよう。その結果、「温度」という用語は、「熱エネルギー」を発生させるデバイスまたはコンポーネントの、相対的な暖かさまたは熱の欠如を示すことができる、何らかの基準値に対する任意の測定値を想定することがさらに理解されよう。たとえば、2つのコンポーネントの「温度」は、2つのコンポーネントが「熱的に」平衡であるとき同じである。
【００１８】
本明細書では、「作業負荷」、「処理負荷」および「処理作業負荷」という用語は互換的に使用され、全般的に、所与の実施形態の所与の処理コンポーネントに関連付けられた処理負担または処理負担の割合を対象にする。上記で定義されるものに加えて、「処理コンポーネント」または「熱アグレッサ」は、限定はしないが、中央処理装置、グラフィカル処理ユニット、コア、メインコア、サブコア、処理エリア、ハードウェアエンジンなど、またはポータブルコンピューティングデバイス内の集積回路内または外にある任意のコンポーネントとすることができる。
【００１９】
本明細書では、「負荷の軽減」、「負荷管理」などの用語は、一般に、PCDにおけるバッテリ寿命および性能を最適化するための手段および/または技法を指す。バッテリ寿命を延長し、重要なサービスの利用可能性を維持し、ユーザエクスペリエンスを最適化し、より高いレベルのサービス品質を提供するために、負荷管理技法によって、バッテリにおける能動負荷および履歴負荷が監視され、予測され、活用され得ることが様々な実施形態の利点である。
【００２０】
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリなどの限られた容量の電源で動作する任意のデバイスを記載するために使用される。何十年もの間バッテリ式PCDが使用されてきたが、第3世代(「3G」)および第4世代(「4G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、とりわけ、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述のデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであり得る。
【００２１】
一般に本明細書においてバッテリ負荷マネージャ(「BLM」)モジュールと呼ばれる例示的な方法およびシステムは、PCDにおけるバッテリ需要の平均、ピーク、および持続時間を監視し、分析しようとする。そのようなパラメータの値に基づいて、PCDについて、バッテリ負荷スコアが計算され得る。例示的なバッテリ負荷スコアは、PCDおよびPCD内に含まれるコンポーネント(ハードウェアまたはソフトウェア)に取り付けられた任意の補助的なハードウェア(すなわち他のデバイス)に起因する、ある時点における、またはある時間期間にわたる総バッテリ需要を考慮し得る。BLMモジュールは、PCDについてのバッテリ負荷スコアを決定した後、とりわけ、バッテリ負荷スコアに起因している様々なコンポーネント(すなわち、ハードウェアまたはソフトウェア)の最小のおよび登録された性能評価に基づいて、バッテリ負荷のスケーラビリティを決定する。これらのパラメータに基づいて、BLMモジュールは、新しいハードウェアおよび/またはソフトウェアについての要求が許可される場合、需要の増加から生じ得たPCDについてのバッテリ負荷に対するあり得る影響を定量化する性能スコアを計算することができる。
【００２２】
BLMモジュールは、PCDのバッテリについて、電圧の状態(「SOV」)を詳しく調べることができる。新しいハードウェアおよび/または新しいソフトウェアがPCD上で動作することについての要求に起因するさらなる電力需要が、バッテリの健康状態(「SOH」)を危険にさらすバッテリ負荷を作り出すことが予想される場合、(PCD内のまたはそれに結合された他のハードウェア/ソフトウェアによって許可される場合)新しいハードウェアまたはソフトウェアの追加を許可するために、BLMモジュールは、既存のハードウェアおよび/またはソフトウェアのバッテリ需要を低下させ得る。代替として、新しいハードウェアおよび/またはソフトウェアをオンラインにすることがバッテリSOHにとって有害であり得ることを、計算された性能スコアが示す場合、BLMモジュールは、新しいハードウェアおよび/またはソフトウェアについての要求を拒否する場合がある。
【００２３】
一般に、例示的なBLMモジュールは、限定はしないが、電力プロファイリング負荷についてのリアルタイムのバッテリ放電を詳しく調べること、バッテリ寿命を予測し、バッテリの使用を記録すること、最適なコンテンツアウェアなバッテリ動作を可能にすること、SOV/充電の状態(「SOC」)/SOHパラメータを監視すること、使用事例を監視し、関連のバッテリ負荷を文書化すること、様々なソフトウェアおよび/またはハードウェアにわたる並列のQoS/ユーザエクスペリエンスを確立すること、PCDプラットフォーム利用可能性を最大にするためにバッテリ寿命を延長すること、ミッションクリティカルなサービスのためにPCD内のリソースを維持すること、バッテリの放電深度を管理すること、バッテリへの損傷を防止するためにバッテリSOHを管理すること、バッテリのサイクル寿命を最大にすること、PCDプラットフォーム制御可能性、信頼性、およびセキュリティを強化することを含む以下の機能のうちの任意の1または複数を実行することができる。
【００２４】
過度のバッテリ電圧の低下を防止するために、BLMモジュールの実施形態は、結合された瞬間のバッテリ負荷がバッテリによって管理可能であると予想される場合のみ、PCDに結合される、またはPCD内に存在する新しいソフトウェアアプリケーションまたはハードウェアデバイスを開始またはアクティブ化するための要求を許可することができる。同様に、熱関連の異常を防止するために、開始される新しいアプリケーションまたはアクティブ化される既存のハードウェアでは、PCDのプラットフォーム熱負荷が安全なレベルのままであると予想されるときのみ、PCDの総プラットフォーム負荷は、BLMモジュールによってそのままにされ得る。そうでなければ、BLMモジュールの実施形態は、既存のアプリケーションと開始のために待ち行列に入れられた新しいアプリケーションの両方について、(却下を含む)性能の低下を交渉することができる。
【００２５】
BLMモジュールのいくつかの実施形態は、PCDの様々なコンポーネントと関連した負荷情報についての問合せ、更新、維持を行うためにデータベースを活用する。負荷情報は、個々のコンポーネントに関連付けられ、バッテリ負荷スコアおよび/または性能スコアを計算するためにBLMモジュールによって使用されるバッテリ負荷データ、温度上昇データなどを含み得る。特に、バッテリ負荷スコアは、リアルタイムの電力負荷測定値を考慮することによっても計算され得ると想定される。バッテリ負荷および性能スコアは、ユーザエクスペリエンスを示し得、したがって、所与のアプリケーションが生まれるか、スケーリングされるか、キルされるかを知的に決定するために、BLMモジュールによって活用され得る。
【００２６】
図1は、ポータブルコンピューティングデバイス(「PCD」)100におけるバッテリ負荷および需要を管理するためのシステム99の例示的な実施形態を示す機能ブロック図である。BLMモジュール26は、バッテリ性能を管理し、バッテリ寿命を延長するために、PCD100における様々なコンポーネントに関連付けられた個々のバッテリ負荷の知識を活用することができる。有利には、所与のコンポーネントの特定のバッテリ負荷を監視することによって、実施形態は、バッテリ188の健康状態が最適化されるような方法で、必要に応じて、コンポーネントおよびそれらの関連する機能に優先順位を付ける、きめの細かい手法を使用する負荷管理対策を適用することができる。したがって、ユーザエクスペリエンスに最小の影響を及ぼすことがわかっているコンポーネントのみが負荷軽減対策の対象になり得るので、PCD100のユーザによって経験されるサービス品質(「QoS」)は最適化され得る。
【００２７】
図1の例示的な図示でわかるように、電力管理集積回路(「PMIC」)180は、集積回路102内に存在する1または複数の例示的な処理コンポーネント110、132、182の各々に電力を供給するように構成される。描写されたように、電力は、バッテリ188から供給され、いくつかの専用母線184を介して、処理コンポーネント110、132、182の各々に、PMIC180によって配られる。特に、図1の例示では、ディスプレイ132およびグラフィカル処理装置(「GPU」)182は、各々単一の関連する母線184を有しているように描写され、一方、中央処理装置(「CPU」)110のコア0、1、2および3の各々は、専用母線184を有しているように描写される。たとえそうであっても、コンポーネント110、132、182などの処理コンポーネント内部の任意のコア、サブコア、サブユニットなどは、相補的なコンポーネントと共通の母線を共有するか、または専用母線184を有し、それゆえ、図1に示された特定のアーキテクチャは本来例示的であり、本開示の範囲を限定しないことを、当業者は認識されよう。
【００２８】
図1の例示に戻ると、1または複数の電力センサ157は、母線184を監視し、母線184に関連付けられた特定のコンポーネントによる電力消費を示す信号を発生するように構成される。センサ157は、電流を監視するように構成され、限定はしないが、母線184を通って流れる電流によって発生する電磁場を測定するためのホール効果型、母線184内の抵抗の両端で測定される電圧低下から電流を計算するための分流器抵抗電流測定型、または当業者に知られている任意のタイプであり得る。そのため、詳細な設計の間、システムおよび方法の実施形態で使用できるセンサ157のタイプまたは構成は、それ自体新規であり得るが、システムおよび方法は、センサ157の任意の特定のタイプに限定されない。たとえば、例示的な図1の図に示されるセンサ157Bが個々の母線に関連して示されているが、いくつかの実施形態におけるセンサ157は、処理コンポーネントのまたはその近くの温度を測定するために構成され得、その測定値は、所与のコンポーネントによって電力消費を推論するために使用され得る。
【００２９】
モニタモジュール114は、センサ157が発生した信号を監視および受信することができる。モニタモジュール114はまた、スケジューラモジュール101によって生成された命令の状態を監視することができる。特に、モニタモジュール114、電力センサ157、バッテリ負荷データベース24、およびBLMモジュール26は、チップ102から離れて存在するように図1の例示で描写されるが、コンポーネント24、26、114および157のいずれかまたはすべては、ある特定の実施形態ではチップ102上に存在できることを、当業者は認識されよう。その上、図1に示された特定の実施形態は、モニタモジュール114および電力センサ157を独立したコンポーネントとして描写するが、PCD100のいくつかの実施形態では、モニタモジュール114および/または電力センサ157はPMIC180に含まれる場合があることを、当業者は認識されよう。
【００３０】
全般的に上記で説明したように、BLMモジュール26は、モニタモジュール114とともに、様々な処理コンポーネント110、132、182からの作業負荷についての要求を追跡するように構成され得る。当業者が認識するように、BLMジュール26の実施形態は、割込みサービスルーチンによって処理されるハードウェアおよび/またはソフトウェアの割込みを含むことができる。すなわち、実施形態に応じて、BLMモジュール26は、割込みコントローラ回路などの制御出力を有する個別のシステムとしてハードウェアに実装されるか、メモリサブシステムに統合されたファームウェアなどのソフトウェアに実装することができる。いくつかの実施形態では、スケジューラモジュール101によってスケジュールするために待ち行列に入れられる作業負荷は、モニタモジュール114によって認識され、バッテリ負荷に対するあり得る影響を評価するようBLMモジュール26にアラートするためのトリガとして使用され得る。たとえそうであっても、システムおよび方法の実施形態は、バッテリ負荷の影響の分析および/またはバッテリ負荷管理技法の適用のタイミング用のトリガとして、作業負荷の待ち行列の使用に限定されないことが理解されよう。そのため、作業負荷の待ち行列に関連するトリガを活用するように本明細書に記載された実施形態は、本質的に例示的であり、BLMモジュール26の範囲に限定されるものではない。たとえば、いくつかの実施形態が、グラフィカルユーザインターフェースの作動、電力消費コンポーネントのまたはその近くの温度測定値、母線測定値などの形態で、ユーザ要求のうちの1または複数に基づいて、トリガを利用することができることが想定される。
【００３１】
図1の例示に戻ると、モニタモジュール114は、様々な母線に関連付けられた能動コンポーネントの電力消費を追跡するために、1または複数の電力センサ157からの信号を監視する。いくつかの実施形態では、モニタモジュール114によって追跡されるデータは、履歴電力消費レベルが特定の使用事例にマッピングされ得るように、連続的に更新され、バッテリ負荷データベースに記憶され得る。このようにして、BLMモジュール26のいくつかの実施形態は、過去の電力消費データについての問合せを行い、バッテリの健康状態への提案された使用事例の影響を正確に決定するように動作可能であり得る。電力センサ157に加えて、モニタモジュール114は、限定はしないが、バッテリ188における電力プロファイリング負荷についてのリアルタイムのバッテリ放電、バッテリ188のバッテリ寿命を予測すること、およびバッテリの使用を記録することを含むバッテリ188の様々な態様も監視することができる。いくつかの実施形態におけるモニタモジュール114は、バッテリ188の放電深度、バッテリ188の電圧の状態、バッテリ188の充電の状態、およびPCD100の全体的なQoSおよびユーザエクスペリエンスの様々なインジケータを監視することもできる。モニタモジュール114は、PCD100内のバッテリの健康状態および/または能動電力消費を示す監視されたデータを中継するために、BLMモジュール26およびバッテリ負荷データベース24とその後通信することができる。有利には、追加のリソースについての要求が許可された場合、BLMモジュール26は、監視されたデータを活用してバッテリ188における能動負荷を定量化し、その負荷に対する影響を予測することができる。バッテリ188における能動負荷が要求されたリソース/コンポーネントに起因する予測された負荷とひとたび比較されると、BLMモジュール26は、1または複数のバッテリ寿命、健康状態、重要なサービスの利用可能性などを最適化するように設計されたバッテリ負荷管理技法を実施することができる。
【００３２】
いくつかの実施形態では、BLMモジュール26は、要求されたコンポーネントのバッテリ負荷に対するあり得る影響を決定するためのバッテリ負荷データベース24を参照することができる。ひとたび要求されたコンポーネントのバッテリ負荷の影響がBLMモジュール26によって認識されると、ユーザエクスペリエンスおよびQoSを最適化するためのバッテリ負荷管理および/または軽減ポリシーがPCD作業負荷に適用され得る。
【００３３】
非限定的な例として、PCD100のユーザは、スケジューラモジュール101に、CPU110のコア0に対する作業負荷命令を待ち行列に入れさせる機能を要求することができる。モニタモジュール114は、命令が開始されたことを認識し、バッテリ188における要求された作業負荷の影響を評価するようBLMモジュール26にアラートすることができる。バッテリ負荷データベース24に対する問合せを行い、または、いくつかの実施形態では、センサ157によって収集されたデータからの能動電力測定値を統合して、BLMモジュール26は、能動負荷に起因するバッテリ負荷スコアまたはPCD100における進行中の使用事例を定量化することができる。コア0に関連付けられたバッテリ負荷レベルを示すデータについて、バッテリ負荷データベース24に対する問合せを再度行うBLMモジュール26は、要求された作業負荷命令が処理される場合、バッテリ負荷に対するあり得る影響を定量化することができる。コア0に対する作業負荷命令に関連付けられた追加の負荷が、バッテリ188の健康状態に有害な影響を及ぼすと決定された場合、BLMモジュール26は、新しい命令が対応され得るように、作業負荷指示を処理する、または能動作業負荷を低減する旨の要求を拒否することができる。
【００３４】
非限定的な例として、BLMモジュール26は、ディスプレイ132に対する電力を低減し、それによって、ディスプレイ132が薄暗くなり、したがって、RFトランシーバ168(図1には図示せず)に関連付けられた機能についての要求に対応するように、バッテリ負荷能力を再割振りするために、消費する電力がより少なくなる。例を進めるために、BLMモジュール26は、PCD100におけるアクティブな使用事例に対するRFトランシーバ168のアクティブ化によって、バッテリ188の電圧は、重要なサービスをサポートすることができるレベルを下回ることを認識した可能性がある。また、したがって、QoSおよびユーザエクスペリエンスに過剰に影響を与えることなく、RFトランシーバ168にバッテリ容量が割り振られ得るように、バッテリ負荷管理技法の実装を介して、ディスプレイ132の明るさを低減することを選んだ可能性がある。
【００３５】
特に、いくつかの実施形態では、バッテリ負荷データベース24内のデータは、既知の使用事例に関連して以前監視された電力消費レートに基づいて経験的に収集することができる。他の実施形態では、バッテリ負荷データベース24内のデータは、事前に計算されている場合がある。さらに他の実施形態では、バッテリ負荷データベース24内のデータは、演繹的に計算され、PCD100において監視される実際の電力消費測定値に基づいて、絶えず更新され得る。バッテリ負荷データベース24内部のデータがどのように誘導または収集された可能性があるかにかかわらず、バッテリ負荷データベース24の実施形態は、実際のおよび予測されたバッテリ負荷の影響を評価するために照会できること、ならびに、そのような機能を超えて、開示されたシステムおよび実施形態の範囲に限定されないことを、当業者は認識されよう。
【００３６】
図2は、サービス品質(「QoS」)および全体的なユーザエクスペリエンスを最適化するためにバッテリ負荷および需要を管理するための方法およびシステムを実装するためのワイヤレス電話の形態のPCD100の例示的かつ非限定的な態様の機能ブロック図である。図示されたように、PCD100は、互いに結合されたマルチコア中央処理装置(「CPU」)110およびアナログ信号プロセッサ126を含むオンチップシステム102を含む。当業者によって理解されるように、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を含み得る。さらに、当業者によって理解されるように、CPU110の代わりに、デジタル信号プロセッサ(「DSP」)も利用され得る。
【００３７】
一般に、バッテリ負荷管理(「BLM」)モジュール26は、モニタモジュール114と連動して、バッテリ負荷を監視し、バッテリ負荷に対する影響を予測し、PCD100がその電力供給を最適化し、高いレベルの機能を維持するのを助けるために、バッテリ負荷管理技法を適用する役割を果たし得る。
【００３８】
モニタモジュール114は、オンチップシステム102全体を通して分散された複数の動作するセンサ(たとえば、温度センサ157A)、およびPCD100のCPU110、ならびにBLMモジュール26と通信する。いくつかの実施形態では、モニタモジュール114は、コア222、224、230に関連付けられた電力消費率について、電力センサ157Bを監視し、BLMモジュール26および/またはバッテリ負荷データベース24(メモリ112に存在し得る)に電力消費データを送信することもできる。BLMモジュール26は、モニタモジュール114とともに動作して、チップ102内部の識別されたコンポーネントへの1または複数のバッテリ負荷管理技法の適用を保証できる使用事例条件を識別することができる。
【００３９】
図2に示されるように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130が、デジタル信号プロセッサ110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132が、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。BLMジュール26は、たとえば、コア222、224、230用の作業負荷待ち行列を監視し、PMIC180とともに動作して、電源188からコアに供給される電力を管理することができる。モニタモジュール114は、PMIC180からオンチップシステム102のコンポーネントまでの母線における電流測定値を監視し、それらの測定値を能動バッテリ負荷の計算のためにBLMモジュール26に提供することができる。有利には、能動電力負荷を定量化することによって、BLMモジュール26は、PCD100内の1または複数のコンポーネントにおける追加の機能/作業負荷についての要求から生じるバッテリの健康状態に対する影響を予測することができる。
【００４０】
PCD100はさらに、ビデオエンコーダ134、たとえば位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または任意の他のタイプのビデオエンコーダ134を含むことができる。ビデオエンコーダ134は、マルチコア中央処理装置(「CPU」)110に結合される。ビデオ増幅器136は、ビデオエンコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138は、ビデオ増幅器136に結合される。図2に示されたように、ユニバーサルシリアルバス(「USB」)コントローラ140は、CPU110に結合される。また、USBポート142は、USBコントローラ140に結合される。メモリ112および加入者識別モジュール(SIM)カード146も、CPU110に結合することができる。さらに、図2に示されたように、デジタルカメラ148は、CPU110に結合することができる。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
【００４１】
図2にさらに示されたように、ステレオオーディオコーデック150は、アナログ信号プロセッサ126に結合され得る。さらに、オーディオ増幅器152が、ステレオオーディオコーデック150に結合され得る。例示的な態様では、第1のステレオスピーカ154および第2のステレオスピーカ156は、オーディオ増幅器152に結合される。図2は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合され得ることを示す。加えて、マイクロフォン160が、マイクロフォン増幅器158に結合され得る。特定の態様では、周波数変調(「FM」)ラジオチューナ162がステレオオーディオコーデック150に結合され得る。また、FMアンテナ164がFMラジオチューナ162に結合される。さらに、ステレオヘッドフォン166がステレオオーディオコーデック150に結合され得る。
【００４２】
図2は、さらに、無線周波(「RF」)トランシーバ168がアナログ信号プロセッサ126に結合できることを示す。RFスイッチ170は、RFトランシーバ168およびRFアンテナ172に結合され得る。図2に示されるように、キーパッド174がアナログ信号プロセッサ126に結合され得る。また、マイクロフォン付きモノヘッドセット176は、アナログ信号プロセッサ126に結合され得る。さらに、バイブレータデバイス178は、アナログ信号プロセッサ126に結合され得る。図2は、たとえばバッテリなどの電源188が、PMIC180を介してオンチップシステム102に結合されることも示す。ある特定の態様では、電源は、充電式DCバッテリ、または交流(「AC」)電源に接続されたAC-DC変換器から取り出されるDC電源を含む。
【００４３】
CPU110はまた、1または複数の内部のオンチップ温度センサ157A、ならびに、1または複数の外部のオフチップ温度センサ157Cに結合することができる。オンチップ温度センサ157Aは、垂直のPNP構造に基づく、通常は相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」)回路に専用の、1または複数の絶対温度に比例する(「PTAT」)温度センサを備えることができる。オフチップ温度センサ157Cは、1または複数のサーミスタを備えることができる。温度センサ157Cは、アナログデジタル変換器(「ADC」)コントローラ103でデジタル信号に変換される電圧降下を引き起こす場合がある。しかしながら、本発明の範囲から逸脱することなく、他のタイプの温度センサ157A、157Cを利用することができる。
【００４４】
温度センサ157A、157Cは、ADCコントローラ103によって制御および監視されるのに加えて、1または複数のTPMモジュール26によっても制御および監視することができる。BLMモジュール26は、CPU110によって実行されるソフトウェアを備えることができる。しかしながら、本発明の範囲から逸脱することなく、BLMモジュール26はまた、ハードウェアおよび/またはファームウェアから形成することができる。BLMモジュール26は、PCD100が、高水準の機能およびユーザエクスペリエンスを維持しながら、その電源に負担をかけすぎるのを回避するように助けることができる、1または複数のバッテリ負荷管理技法を含む、バッテリ負荷ポリシーを監視および適用することを担うことができる。
【００４５】
たとえば、モニタモジュール114と連動するBLMモジュール26の実施形態は、1または複数の電力消費コンポーネントに関連付けられた温度測定値を追跡することができる。有利には、様々なコンポーネントに関連付けられた温度を追跡することによって、BLMモジュール26は、PCD100のタッチ温度を上昇させることによってユーザエクスペリエンスに悪影響を及ぼし得るPCD100内の熱アグレッサを識別することが可能であり得る。高い温度を認識して、BLMモジュール26は、識別された熱アグレッサで電力需要を増加させる追加のリソースについての要求を拒否することによって過剰な熱エネルギー生成を軽減することが可能であり得る。同様に、BLMモジュール26の実施形態は、バッテリ188に関連付けられた温度がバッテリ188の健康にとって有害なレベルに達する場合、バッテリ188自体に関連付けられた温度を追跡し、バッテリ負荷軽減技法を適用することができる。
【００４６】
図2に戻ると、タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカ154、第2のステレオスピーカ156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、電源188、PMIC180、および温度センサ157Cは、オンチップシステム102の外部にある。しかしながら、モニタモジュール114は、PCD100上で動作可能なリソースのリアルタイム管理を援助するために、アナログ信号プロセッサ126およびCPU110によって、これらの外部デバイスのうちの1または複数から1または複数の指示または信号を受信することもできることを理解されたい。
【００４７】
ある特定の態様では、本明細書に記載される方法ステップのうちの1または複数は、1または複数のBLMモジュール26を形成するメモリ112に記憶された、実行可能命令およびパラメータによって実施することができる。BLMモジュール26を形成するこれらの命令は、本明細書に記載される方法を実行するために、ADCコントローラ103に加えて、CPU110、アナログ信号プロセッサ126、または別のプロセッサによって実行することができる。さらに、プロセッサ110、126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書に記載された方法ステップのうちの1または複数を実行するための手段として機能し得る。
【００４８】
図3は、バッテリ負荷管理技法に関連するアルゴリズムの適用およびバッテリ負荷の監視をサポートするための図2のPCD100の例示的なソフトウェアアーキテクチャを示す概略図である。任意の数のアルゴリズムは、いくつかの負荷状態または使用事例のシナリオが満たされる、または追加の機能またはリソースが実行されるとき、バッテリ負荷マネージャモジュール26によって適用され得る少なくとも1つのバッテリ負荷管理技法を形成する、またはその一部とすることができる。
【００４９】
図3に示されたように、CPUまたはデジタル信号プロセッサ110は、バス211を介してメモリ112に結合される。上述されたように、CPU110は、N個のコアプロセッサを有するマルチコアプロセッサである。すなわち、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を含む。当業者には知られているように、第0のコア222、第1のコア224、および第Nのコア230の各々は、専用のアプリケーションまたはプログラムをサポートするために利用可能である。あるいは、2つ以上の利用可能なコアにわたる処理のために、1または複数のアプリケーションまたはプログラムを分散することができる。特に、CPU110またはコア210上で動作している作業負荷を実行する、スケーリングする、またはキルすることに関連して、図3の例示に関連して、バッテリ負荷管理技法の実行が説明されているが、そのような技法の適用は、バッテリ188における総バッテリ負荷に寄与するPCD100内の任意のコンポーネントにおける作業負荷を有利に実行する、スケーリングする、またはキルすることができることを当業者であれば認識されよう。
【００５０】
CPU110は、ソフトウェアおよび/またはハードウェアを備え得るBLMモジュール26から、コマンドを受け取ることができる。ソフトウェアとして具現化される場合、BLMモジュール26は、CPU110および他のプロセッサによって実行されている他のアプリケーションプログラムにコマンドを出す、CPU110によって実行される命令を備える。たとえば、BLMモジュール26は、代替の機能についてのユーザの要求に応じるために余分のバッテリ容量が割り振られ得るように、特定のアクティブなアプリケーションプログラムに停止させるようCPU110に命令することができる。
【００５１】
CPU110の第0のコア222、第1のコア224〜第Nのコア230は、単一の集積回路ダイに集積されてよく、または、複数回路のパッケージにおいて別個のダイ上で集積されてよく、または結合されてよい。設計者は、第0のコア222、第1のコア224〜第Nのコア230を、1または複数の共有キャッシュを介して結合することができ、バス、リング、メッシュ、およびクロスバートポロジのようなネットワークトポロジを介して、メッセージまたは命令の伝達を実施することができる。
【００５２】
図示された実施形態では、RFトランシーバ168は、デジタル回路素子を介して実装され、(「コア」と標示される)コアプロセッサ210などの、少なくとも1つのプロセッサを含む。このデジタル実装では、RFトランシーバ168は、バス213を介してメモリ112に結合される。上記の例に戻ると、機能についてのユーザの要求に対応しようとしているBLMモジュール26は、コア210にRFトランシーバ168を停止するようCPU110に命令させる場合がある。有利には、そうすることによって、BLMモジュール26は、そうでなければ電源188によってサポートできなかった機能についての要求に対応することが可能であり得る。
【００５３】
当技術分野で知られているように、バス211およびバス213の各々は、1または複数の有線接続またはワイヤレス接続を介した複数の通信経路を含むことができる。バス211およびバス213は、通信を可能にするために、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、および受信機などのさらなる要素を有することができるが、これらは簡単のために省略する。さらに、バス211およびバス213は、上記のコンポーネントの間の適切な通信を可能にするために、アドレス、制御、および/またはデータ接続を含むことができる。
【００５４】
図3に示されたように、PCD100によって使用される論理がソフトウェアに実装されるとき、開始論理250、管理論理260、バッテリ負荷管理インターフェース論理270、アプリケーションストア280内のアプリケーション、バッテリ負荷データベース24に関連するデータ、およびファイルシステム290の部分のうちの1または複数が、任意のコンピュータ関連のシステムもしくは方法によって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に記憶できることに留意されたい。
【００５５】
この文書の文脈では、コンピュータ可読媒体は、コンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる、電子式、磁気式、光学式、または他の物理デバイスもしくは手段である。様々な論理素子およびデータストアは、コンピュータベースのシステム、プロセッサを含むシステム、または、命令実行システム、装置、もしくはデバイスから命令をフェッチし、命令を実行することができる他のシステムなどの、命令実行システム、装置、もしくはデバイスによって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に組み込むことができる。この文書の文脈では、「コンピュータ可読媒体」は、命令実行システム、装置、もしくはデバイスによって、またはそれと関連して使用するために、プログラムを記憶、通信、伝搬、または搬送することができる任意の手段であり得る。
【００５６】
コンピュータ可読媒体は、限定はされないがたとえば、電子式、磁気式、光学式、電磁式、赤外線式、または半導体のシステム、装置、デバイス、または伝搬媒体であり得る。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)には、1または複数の配線を有する電気的接続(電子式)、ポータブルコンピュータディスケット(磁気式)、ランダムアクセスメモリ(RAM)(電子式)、読取り専用メモリ(ROM)(電子式)、消去可能プログラマブル読取り専用メモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子式)、光ファイバ(光学式)、および携帯式コンパクトディスク読取り専用メモリ(CD-ROM)(光学式)が含まれるはずである。プログラムは、たとえば紙または他の媒体の光学走査を介して電子的にキャプチャされ、次いで、コンパイルされ、解釈され、または場合によっては、必要に応じて適切な方法で処理され、次いでコンピュータメモリに記憶できるので、コンピュータ可読媒体は、プログラムが印刷される紙または別の適切な媒体でさえあり得ることに留意されたい。
【００５７】
代替の実施形態では、開始論理250、管理論理260、および場合によってはバッテリ負荷管理インターフェース論理270のうちの1または複数がハードウェアで実装されるとき、様々な論理は、各々当技術分野でよく知られている以下の技術、すなわち、データ信号に対する論理機能を実装するための論理ゲートを有する個別の論理回路、適切な組合せの論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などのうちのいずれか、またはその組合せによって実装することができる。
【００５８】
メモリ112は、フラッシュメモリまたはソリッドステートメモリデバイスなどの不揮発性データ記憶デバイスである。単一のデバイスとして描写されているが、メモリ112は、デジタル信号プロセッサおよび/またはRFトランシーバ168内のコア210(またはさらなるプロセッサコア)に結合された別々のデータストアを有する分散型メモリデバイスであり得る。
【００５９】
ユーザエクスペリエンスおよびQoSを最適化するために、バッテリ負荷を監視し、管理するための例示的な一実施形態では、開始論理250は、第0のコア222、第1のコア224〜第Nのコア230など、PCD100における利用可能なコンポーネントのうちの1または複数のバッテリ負荷を管理するための選択プログラムを選択的に識別し、ロードし、実行するための1または複数の実行可能命令を含む。選択プログラムは、組込みファイルシステム290のプログラムストア296内で見つけることができ、性能スケーリングアルゴリズム297とパラメータのセット298との特定の組合せによって定義される。選択プログラムは、CPU110内のコアプロセッサのうちの1または複数、およびRFトランシーバ168内のコア210によって実行されるとき、1または複数のBLMモジュール101によって提供される制御信号とともに、モニタモジュール114によって提供される1または複数の信号に従って、バッテリ188における需要を軽減しようとして、それぞれのプロセッサコアの性能をスケーリングまたはサスペンドするように動作することができる。
【００６０】
管理論理260は、それぞれのプロセッサコアのうちの1または複数上のバッテリ負荷管理プログラムを終了し、ならびに、更新されたバッテリ負荷スコアに基づいて、利用可能なコアのうちの1または複数の電力使用量を管理または制御するためのより適切な交換プログラムを選択的に識別し、ロードし、実行するための、1または複数の実行可能命令を含む。管理論理260は、実行時に、またはPCD100が電力供給されデバイスの操作者によって使用されている間に、これらの機能を実行するように構成される。交換プログラムは、組込みファイルシステム290のプログラムストア296において見出され得る。
【００６１】
交換プログラムは、デジタル信号プロセッサ内のコアプロセッサのうちの1つもしくは複数、またはRFトランシーバ168内のコア210によって実行されるとき、それぞれのプロセッサコアの性能をスケーリングまたはサスペンドするために、モニタモジュール114によって提供される1つもしくは複数の信号、または様々なプロセッサコアのそれぞれの制御入力で提供される1つもしくは複数の信号に従って動作することができる。これに関して、モニタモジュール114は、BLMモジュール26から発信する制御信号に応答して、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、温度、漏洩電流などの、1または複数のインジケータを提供することができる。
【００６２】
インターフェース論理270は、組込みファイルシステム290に記憶された情報を観察し、構成し、または場合によっては更新するために、外部入力を提示し、管理し、それと対話するための1または複数の実行可能命令を含む。一実施形態では、インターフェース論理270は、USBポート142を介して受信された製造業者の入力とともに動作することができる。これらの入力は、プログラムストア296から削除されるべき、またはプログラムストア296に追加されるべき、1または複数のプログラムを含むことができる。あるいは、入力は、プログラムストア296内のプログラムのうちの1または複数に対する編集または変更を含むことができる。その上、入力は、開始論理250と管理論理260の一方または両方に対する1または複数の変更、または全交換を識別することができる。例として、入力は、受信信号電力が識別された閾値を下回ると、RFトランシーバ168内のすべての性能スケーリングを中断するようにPCD100に命令する管理論理260に対する変更を含むことができる。さらなる例として、入力は、ビデオコーデック134がアクティブであるとき、所望のプログラムを適用するようにPCD100に命令する管理論理260に対する変更を含むことができる。別の非限定的な例として、入力は、たとえば、限定はしないが、バッテリ需要、平均バッテリ負荷、ピークバッテリ負荷など、個々のコンポーネントの性能に関連付けられたバッテリ負荷データベース24におけるデータを含むことができる。
【００６３】
インターフェース論理270により、製造業者が、PCD100の定義された動作状態の下で、エンドユーザの体験を制御可能に構成および調整することが可能になる。メモリ112がフラッシュメモリであるとき、開始論理250、管理論理260、インターフェース論理270、アプリケーションストア280内のアプリケーションプログラム、バッテリ負荷データベース24内のデータ、または組込みファイルシステム290内の情報のうちの1または複数は、編集され、置き換えられ、または場合によっては修正することができる。いくつかの実施形態では、インターフェース論理270により、PCD100のエンドユーザまたは操作者が、開始論理250、管理論理260、アプリケーションストア280内のアプリケーション、バッテリ負荷データベース24内のデータ、および組込みファイルシステム290内の情報を検索し、特定し、修正し、または置き換えることができる。操作者は、得られたインターフェースを使用して、PCD100の次の開始時に実装される変更を行うことができる。あるいは、操作者は、得られたインターフェースを使用して、実行時に実装される変更を行うことができる。
【００６４】
組込みファイルシステム290は、階層的に構成されたバッテリ負荷管理ストア292を含む。これに関して、ファイルシステム290は、PCD100が使用する様々なパラメータ298およびバッテリ負荷管理アルゴリズム297の構成および管理のための情報を格納するための、その全ファイルシステム容量の確保された部分を含むことができる。図3に示されたように、ストア292はコンポーネントストア294を含み、コンポーネントストア294はプログラムストア296を含み、プログラムストア296は1または複数のバッテリ負荷管理プログラムを含む。
【００６５】
図4は、PCD100内のコンポーネントの総バッテリ需要に関連付けられ、モニタモジュール114とともにBLMモジュール26によって認識および管理できる様々なバッテリ負荷状態305、310、315、および320を示す例示的な状態図300である。第1のバッテリ負荷状態305は、BLMモジュール26のバッテリ負荷管理ポリシーが変化しないままである、「正常な」状態を含むことができる。この例示的な第1の正常な状態305では、バッテリ188は、高状態の電圧で動作しており、通常、障害または著しい劣化をもたらす可能性がある危機的な温度または放電率に達する、いかなる危険またはリスクにも入っていない。この例示的な状態では、バッテリ188の健康を危険にさらすことなくPCD100における追加のリソースおよび/または機能についての要求が対応され得るように、総バッテリ負荷は、バッテリ188の容量を十分下回り得る。
【００６６】
第2のバッテリ負荷状態310は、BLMモジュール26がPCD100の1または複数の処理コンポーネントに関係するそのバッテリ負荷管理ポリシーを修正できる、「サービス品質」状態または「QoS」状態を含むことができる。利用可能なバッテリ負荷容量が、バッテリ188の健康またはミッションクリティカルなサービスの配送を危うくすることなく、追加の機能についての要求に対応することができないとき、この例示的な第2の状態310は、BLMモジュール26によって達するまたは始められ得る。このQoS状態310をトリガする、利用可能なバッテリ負荷容量の変化の閾値または大きさは、PCD100内の特定の使用事例に応じて調整または適合することができる。たとえば、PCD100内の全地球測位システム(「GPS」)トランシーバに関連付けられた機能についての要求は、総バッテリ負荷があらかじめ決定された閾値を超えるようにするために、BLMモジュール26によって決定され得る。QoSバッテリ負荷状態において、BLMモジュール26は、全体的なQoSまたはユーザエクスペリエンスに著しく影響を及ぼすことなく、PCD100内の他の能動コンポーネントの電力消費がスケーリングされ得ることを決定することができる。このようにして、バッテリ188の健康を危うくすることなく、GPS機能についての要求に対応するために、バッテリ負荷容量が再割振りされ得る。
【００６７】
第2のQoSバッテリ負荷状態310では、BLMモジュール26は、PCD100内の総バッテリ負荷を下げるために、1または複数のバッテリ負荷管理技法を要求することができ、または実際にそれを実行することができる。この特定の状態310では、BLMモジュール26は、操作者にほとんど知覚不可能であるバッテリ負荷管理技法を実施または要求するように設計され、PCD100によって提供されるサービス品質を最小限に劣化する場合がある。この第2のQoSバッテリ負荷状態310のさらなる詳細は、図5に関連して以下に記載される。
【００６８】
第3のバッテリ負荷状態315は、BLMモジュール26が上述された第2のQoS状態310と比較してよりアグレッシブなバッテリ負荷管理技法を要求および/または適用する、「重度の」状態を含むことができる。これは、この状態では、BLMモジュール26が操作者の観点からサービス品質にあまり関心がないことを意味する。このバッテリ負荷状態では、BLMモジュール26は、PCD100の温度を低下させ、バッテリサイクル寿命を維持し、バッテリ健康状態に対する危険を低下させるために、全体的なバッテリ負荷を軽減または低減することの方がより重要である。この第3のバッテリ負荷状態315では、結果が操作者によって容易に知覚または観測されるように、PCD100の1または複数のコンポーネントがスケーリングまたはキルされ得る。第3の重度のバッテリ負荷状態315、およびBLMモジュール26によって適用またはトリガされる対応するその対応するバッテリ負荷管理技法は、図5に関連して以下でさらに詳しく記載される。
【００６９】
上記で説明したように、第1のバッテリ負荷状態305および第2のバッテリ負荷状態310と同様に、この第3のおよび重度のバッテリ負荷状態315は、センサ157による電力測定値に基づいて開始され、必ずしもバッテリ負荷管理データベース24において文書化される特定の使用事例シナリオの識別に限定されない可能性がある。たとえば、この図の中の矢印が示すように、各バッテリ負荷状態は、順番に開始される場合があるか、または、検出できる総バッテリ負荷の変化の大きさに応じて、順番と関係なく開始される場合がある。そのため、これは、BLMモジュール26が第1のおよび通常のバッテリ負荷状態305をそのままにして、センサ157によって検出された電力消費、バッテリ188の健康状態、バッテリ188の放電深度、バッテリ188の充電の状態および/または電圧の状態などの変化に基づいて、第3の重度のバッテリ負荷状態315に関連付けられたバッテリ負荷管理技法に入り、または開始することができることを意味する。同様に、PCD100は、第2のQoSバッテリ負荷状態310にあってよく、バッテリの健康または負荷の認識された変化に基づいて、第4の危機的な状態320に入り、またはその状態を開始することができる。この例示的な第4の危機的な状態320では、BLMモジュール26は、バッテリまたはPCD100内部に含まれる1または複数のコンポーネントに対する恒久的な損傷を引き起こす温度をもたらす場合がある、漏洩電流の1または複数の危機的なレベルに達することを回避するために、可能な限り多数の大きなバッテリ負荷管理技法を適用またはトリガすることができる。
【００７０】
この第4の危機的なバッテリ負荷状態320は、バッテリ188および/またはPCD100内のコンポーネントに対する危機的な温度または永続的な損傷を回避するために、PCD100の機能および動作を中止するように設計される、従来の技法と同様であり得る。第4のバッテリ負荷状態320は、BLMモジュール26が、不可欠ではないハードウェアおよび/またはソフトウェアの停止を適用またはトリガする、「危機的」な状態を含む場合がある。第4の危機的な熱状態320は、図5に関連して以下でさらに詳しく記載される。
【００７１】
バッテリ負荷ポリシー管理システムは、図4に示された4つのバッテリ負荷状態305、310、315、および320には限定されない。特定のPCD100に応じて、追加のまたはより少数のバッテリ負荷状態が、本発明の範囲から逸脱することなく提供されてよい。すなわち、さらなるバッテリ負荷状態が、特定のPCD100の機能および動作を改善することができる一方、他の状況では、より少ないバッテリ負荷状態が、固有のハードウェアおよび/またはソフトウェアを有する特定のPCD100に適切であり得ることを、当業者は認識されよう。
【００７２】
図5は、BLMモジュール26によって適用または命令することができ、PCD100の特定のバッテリ負荷状態に依存する、例示的なバッテリ負荷管理技法を示す図である。本明細書に記載されたバッテリ負荷技法は、任意のタイプの処理に関連するバッテリ負荷を管理するように適用することができるが、特に、固有の電力需要、システム要件、およびPCD100のユーザ体験全体に対する重要性に起因するグラフィックス処理を伴う状況で有用である。
【００７３】
前述のように、この第1のバッテリ負荷状態305では、PCD100のバッテリ188は、さらなる機能についての要求が拒否される、または能動コンポーネントがスケーリングされるように、その電力の容量を超えるいかなる危険またはリスクになり得ない。通常、この第1のバッテリ負荷状態では、BLMモジュール26は、いかなるバッテリ負荷管理技法の開始も適用していないか、または要求していないので、PCD100の機能は、その最大の能力と最高の性能で動作している。バッテリの健康状態、電圧レベル、エネルギー放電率などは、追加のバッテリ負荷容量が利用可能であることを示す。したがって、追加の機能についての要求が対応され得る。
【００７４】
QoS状態310とも呼ばれる第2のバッテリ負荷状態310では、それが開始されると、BLMモジュール26は、PCD100の操作者によって知覚されるようなサービス品質の低下の知覚をほとんどまたはまったく伴わずに高い性能を維持する目的で、バッテリ負荷管理技法を開始または要求することができる。バッテリの健康状態、電圧レベル、エネルギー放電率などは、能動的に提供されている機能を超える追加の機能のためのバッテリ容量の限られた利用可能性を示す。追加の機能についての要求は、追加の機能についての要求に対応するために必要なコンポーネントに電力負荷を再割振りするために、1または複数の能動コンポーネントによって電力消費をスケーリングまたはサスペンドすることによって能動負荷を修正するように、BLMモジュール26をトリガすることができる。この状態で、ユーザエクスペリエンスが高いままであるような方法でバッテリ負荷容量が割り振られるように、PCD100の機能が優先され得る。
【００７５】
重度のバッテリ負荷状態315としても知られる図5の第3のバッテリ負荷状態315をここで参照すると、BLMモジュール26は、PCD100の操作者によって観測された知覚できる可能性がある性能の低下で、より強力なバッテリ負荷管理技法を適用または要求することができる。この例示的なバッテリ負荷状態315によれば、BLMモジュール26は、GPU182および/またはCPU110のコアのような1または複数の処理コンポーネントに対して電力の低下を引き起こす可能性がある。BLMモジュール26は、重要な非アクティブのデバイスをオンラインにすることを優先して、アクティブなデバイスをオフラインにすることもできる。本質的に、この第3の重度のバッテリ負荷状態315のバッテリ負荷管理技法は、第2のサービス品質バッテリ負荷状態310に関して上述された技法と同じであり得る。しかしながら、これらの同じバッテリ負荷管理技法は、より強力な方式で適用することができる。より重要な能動コンポーネントの電力容量を節約する、またはバッテリ188の健康を維持することを優先して、PCD100の追加の機能についての要求は、完全に拒否され得る。
【００７６】
図5の第4の危機的なバッテリ負荷状態320をここで参照すると、BLMモジュール26は、すべての不可欠ではないハードウェアモジュールおよび/またはソフトウェアモジュールの停止を開始することができる。「不可欠ではない」ハードウェアモジュールおよび/またはソフトウェアモジュールは、特定のPCD100の各々のタイプによって異なる場合がある。例示的な一実施形態によれば、すべての不可欠ではないハードウェアモジュールおよび/またはソフトウェアモジュールは、緊急の911通話機能および全地球測定衛星(「GPS」)機能以外のすべてを含むことができる。このことは、この第4の危機的なバッテリ負荷状態320では、BLMモジュール26が、緊急の911通話およびGPS機能に影響しないコンポーネントの停止をもたらす場合があることを意味する。BLMモジュール26は、モニタモジュール114によって監視されている臨界温度またはバッテリの健康状態に応じて、順々におよび/または並行してモジュールを停止することができる。
【００７７】
図6A〜図6Bは、PCD100におけるバッテリ負荷および需要を管理するための方法600を示す論理フローチャートである。図6の方法600は第1のブロック605で開始し、モニタモジュール114と連動するBLMモジュール26は、アクティブなバッテリ負荷および/またはバッテリ188の電圧の状態を追跡する。特に、アクティブなバッテリ負荷および/またはバッテリ188の電圧状態を追跡することによって、ベースラインのバッテリ負荷スコアが設定され得る。ブロック605での監視は、限定はしないが、バッテリ需要に寄与しているPCD100内の能動コンポーネント、バッテリ需要、平均バッテリ負荷、ピークのバッテリ負荷、能動コンポーネントについての最小限必要なバッテリ需要、特定の使用事例下での様々なコンポーネントについての履歴需要、様々なコンポーネントの登録された性能、コンポーネントのスケーラビリティ、アラーム履歴、バッテリ充電の状態、バッテリ放電深度、放電率などを文書化することを含み得る。
【００７８】
ブロック610で、PCD100における追加のリソースまたは機能についての要求は、BLMモジュール26によって受け取られるまたは認識され得る。決定ブロック615で、ブロック605で計算されたバッテリ負荷スコアは、要求されたリソースに関連付けられた追加の負荷によって、ピークであるか、持続期間であるかにかかわらず、バッテリ需要があらかじめ決定された閾値を超えるかどうかを決定するために分析され得る。バッテリ容量が新しいリソースに対応するのに十分であると決定される場合、「はい」分岐はブロック620に進み、追加のリソースがオンラインになることができる。その後、ブロック625で、バッテリ負荷データベース24は、新しい能動リソースを反映するために更新され得る。特に、バッテリ負荷データベース24に関して、BLMモジュール26は、限定はしないが、新しく要求されたリソースが総バッテリ負荷に及ぼし得る影響、バッテリの健康状態に対する特定の使用事例の履歴の影響、PCD100内の能動コンポーネントの現在の組合せなどを含む任意の数の物事を決定するためにデータベースを活用することができる。
【００７９】
決定ブロック615に戻ると、新しく要求されたリソースに対応するために十分なバッテリ容量がないことをBLMモジュール26が決定した場合、「いいえ」分岐は図6Bのブロック645に進む。特に、本明細書において「十分な」または「不十分な」バッテリ容量の言及は、バッテリ188の電圧の状態を指し得るが、そのように制限されないことを、当業者であれば認識されよう。たとえば、BLMモジュール26によって決定されたバッテリ容量は、全体的なバッテリの健康、放電深度、能動的な放電率、充電回復率、電流の状態などに関して定量化され得る。したがって、BLMモジュール26による所与のバッテリ管理技法の選択および実施は、所与の実施形態によって活用され得るように、バッテリ188の任意の定量化可能な態様によっても指示されると理解される。
【００８０】
ブロック645で、電力の低減、スケーリング、またはサスペンドに適格な能動コンポーネントが識別され得る。そのようなコンポーネントの識別は、BLMモジュール26が能動コンポーネントの態様を分析するためにバッテリ負荷管理データベース24に対して問合せを行うことの結果であり得、または、いくつかの実施形態では、能動コンポーネントおよび関連の消費電力レベルを識別するために動力センサを活用することの結果であり得る。決定ブロック650で、PCD100のQoSまたはユーザエクスペリエンスに著しく影響を及ぼすことなく、電力のスケーリングに適格な能動コンポーネントまたはリソースが識別される場合、「はい」分岐はブロック655に進み、それらの識別されたリソースに対する電力がそれに応じて低減される。特に、識別されたリソースに対する電力の低減は、ブロック610から新しく要求されたリソースに再割振りされ得るバッテリ負荷容量を解放することができ、ブロック660で、リソースについての要求が許可され得る。このようにして、バッテリ188の健康を危うくする、および/またはPCD100上の重要なリソースの利用可能性を犠牲にすることなく、ユーザエクスペリエンスを最適化するために、利用可能なバッテリ容量が効率的に割り振られることを、当業者であれば認識されよう。ブロック665で、バッテリ負荷管理データベース24は、電力の能動的な割振りを反映するために更新される。
【００８１】
決定ブロック650に戻ると、電力の低減に適格な能動的なリソースが識別されない場合、「いいえ」分岐は、ブロック670に進み、ブロック610からの追加の機能についての要求が拒絶される。バッテリの健康状態が決定ブロック675で決定され得、安全なレベルにあることが決定された場合、プロセスは、ブロック605での監視の状態に戻る。しかしながら、バッテリの健康状態が、あらかじめ決定された閾値に近い、またはそれを超えていることが決定された場合、「はい」分岐がブロック680に進み、1または複数のリソースがサスペンドされるか、完全に停止される。このようにして、バッテリ188の全体的な健康にとって有害であり得た過度の負担が取り除かれ得る。ブロック685で、バッテリ負荷データベース24はBLMモジュール26によってとられるアクションを反映するために更新され、プロセスは、ブロック605での監視に戻る。
【００８２】
ブロック605に戻ると、ブロック610でのリソースについての要求に新しく対応することの実現可能性を決定するためのバッテリ負荷スコアを設定するために、バッテリ負荷は、絶えず監視される。しかしながら、バッテリ負荷スコアがあらかじめ決定された閾値を超えて高いことが決定ブロック630で決定された場合、「はい」分岐はブロック635に進み、電力は能動リソースに低減され得る。次いで、決定ブロック640でバッテリ負荷スコアが再評価され得、バッテリの健康状態が危機的であると考えられる場合、「はい」分岐はブロック680に進み、リソースは、電力供給のサスペンションまたは完全に停止のために選択され得る。健康状態が危機的でない場合、すなわち、ブロック635での電力の低減がバッテリ188から負担を十分に取り除いた場合、「いいえ」分岐は、決定ブロック630に戻り、バッテリの健康状態が高い懸念のためにあらかじめ決定された閾値に対して分析される。電力消費コンポーネントを低減する、および/または停止するこのサイクルは、バッテリの健康状態がもはや危うくならなくなるまで続けることができる。決定ブロック630からの「いいえ」分岐はブロック605に戻り、追加のリソースについての要求を受信することを予想して、バッテリ需要が監視される。
【００８３】
本発明が説明通りに機能するように、本明細書に記載されたプロセスまたはプロセスフロー内のある特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、そのような順序またはシーケンスが本発明の機能を変えない場合、本発明は記載されたステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、あるステップは、他のステップの前に実行されるか、後に実行されるか、または他のステップと並行して(実質的に同時に)実行される場合があることを認識されたい。いくつかの例では、ある特定のステップは、本発明から逸脱することなく、省略されるか、または実行されない場合がある。さらに、「その後」、「次いで」、「次に」、「以後」などの単語は、ステップの順序を限定するものではない。これらの単語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
【００８４】
加えて、プログラミングの当業者は、たとえば本明細書内のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を識別して、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示は、本発明をどのように製作および使用すべきかについて適切に理解するために必要であるとはみなされない。特許請求されるコンピュータ実装プロセスの発明性のある機能は、上記の説明において、かつ、様々なプロセスフローを示すことができる図面とともに、より詳細に説明される。
【００８５】
1または複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。ソフトウェアに実装される場合、機能は、1つもしくは複数の命令もしくはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体上で送信することができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。
【００８６】
また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【００８７】
本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００８８】
したがって、選択された態様が詳細に図示および説明されたが、以下の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されるだろう。
【符号の説明】
【００８９】
24  バッテリ負荷データベース
26  BLMモジュール
99  システム
100  ポータブルコンピューティングデバイス(「PCD」)
101  スケジューラモジュール
102  集積回路
102  オンチップシステム
103  アナログデジタル変換器(「ADC」)コントローラ
110  処理コンポーネント
110  デジタル信号プロセッサ
110  マルチコア中央処理装置(「CPU」)
112  メモリ
114  モニタモジュール
126  アナログ信号プロセッサ
128  ディスプレイコントローラ
130  タッチスクリーンコントローラ
132  処理コンポーネント
132  タッチスクリーンディスプレイ
134  ビデオエンコーダ
136  ビデオ増幅器
138  ビデオポート
140  ユニバーサルシリアルバス(「USB」)コントローラ
142  USBポート
146  加入者識別モジュール(SIM)カード
148  デジタルカメラ
150  ステレオオーディオコーデック
152  オーディオ増幅器
154  第1のステレオスピーカ
156  第2のステレオスピーカ
157  電力センサ
157A  温度センサ
157C  オフチップ温度センサ
158  マイクロフォン増幅器
160  マイクロフォン
162  周波数変調(「FM」)ラジオチューナ
164  FMアンテナ
166  ステレオヘッドフォン
168  RFトランシーバ
170  RFスイッチ
172  RFアンテナ
174  キーパッド
176  マイクロフォン付きモノヘッドセット
178  バイブレータデバイス
180  PMIC
182  処理コンポーネント
182  グラフィカル処理装置(「GPU」)
184  専用母線
188  バッテリ
188  電源
210  コア
213  バス
222  第0のコア
224  第1のコア
230  第Nのコア
250  開始論理
260  管理論理
270  バッテリ負荷管理インターフェース論理
280  アプリケーションストア
290  ファイルシステム
292  バッテリ負荷管理ストア
294  コンポーネントストア
296  プログラムストア
297  性能スケーリングアルゴリズム
297  バッテリ負荷管理アルゴリズム
298  パラメータのセット
305  バッテリ負荷状態
310  バッテリ負荷状態
315  バッテリ負荷状態
320  バッテリ負荷状態
【図１】
0005777827.tif 000002
【図２】
0005777827.tif 000003
【図３】
0005777827.tif 000004
【図４】
0005777827.tif 000005
【図５】
0005777827.tif 000006
【図６Ａ】
0005777827.tif 000007
【図６Ｂ】
0005777827.tif 000008