(57)【要約】  電力レベル計算に基づくポータブルコンピューティングデバイス(「PCD」)における熱エネルギー管理のための方法およびシステムの様々な実施形態について、開示する。例示的な方法は、瞬間的な動作温度および1つまたは複数の構成要素へのアクティブな電力供給レベルを追跡するステップを含む。周囲温度の評価または測定とともに、瞬間的な動作温度値およびアクティブな電力供給レベルの値を使用して、瞬間的な熱抵抗値を計算することができる。熱エネルギー発生が管理されるべきである場合、最適な電力供給レベルの値を求めるために、周囲温度および瞬間的な熱抵抗値とともに、ターゲット動作温度が使用され得る。次いで、計算された最適な電力供給レベルに基づいて、アクティブな電力供給レベルが調整され得る。
2016510917.tif 000002
【特許請求の範囲】
【請求項１】
ポータブルコンピューティングデバイス(「PCD」)における熱エネルギー発生を管理するための方法であって、
前記PCDにおける1つまたは複数の構成要素に関連する温度しきい値を定義するステップと、
前記PCDにおける1つまたは複数の温度センサを監視するステップであって、各温度センサが、前記1つまたは複数の構成要素のうちの1つに関連し、瞬間的な温度を表す信号を生成する、ステップと、
前記1つまたは複数の構成要素の各々に関連する瞬間的な熱抵抗値を追跡するステップであって、ある構成要素の前記熱抵抗値が、前記構成要素の前記瞬間的な温度、前記構成要素に対するアクティブな電力供給、および前記PCDの周囲温度から計算される、ステップと、
前記1つまたは複数の構成要素のうちの少なくとも1つに関連する温度しきい値を超えていることを決定するステップと、
前記1つまたは複数の構成要素のうちの前記少なくとも1つに関して調整された電力供給を計算するステップであって、前記調整された電力供給が、前記構成要素のターゲット温度、前記PCDの前記周囲温度、および前記構成要素に関連する前記瞬間的な熱抵抗値から計算される、ステップと、
前記調整された電力供給を前記構成要素に適用するステップと
を含む方法。
【請求項２】
前記1つまたは複数の温度センサのうちの少なくとも1つが、コアのシリコン接合に関連付けられる、請求項1に記載の方法。
【請求項３】
前記1つまたは複数の温度センサのうちの少なくとも1つが、パッケージオンパッケージ(「PoP」)メモリ構成要素に関連付けられる、請求項1に記載の方法。
【請求項４】
前記ターゲット温度が前記瞬間的な温度よりも低い、請求項1に記載の方法。
【請求項５】
前記ターゲット温度が前記瞬間的な温度よりも高い、請求項1に記載の方法。
【請求項６】
前記調整された電力供給を適用するステップが、前記アクティブな電力供給の前記電圧および/または周波数をスケーリングするステップをさらに含む、請求項1に記載の方法。
【請求項７】
前記調整された電力供給が前記アクティブな電力供給よりも低い、請求項6に記載の方法。
【請求項８】
前記調整された電力供給が前記アクティブな電力供給よりも高い、請求項6に記載の方法。
【請求項９】
前記PCDがワイヤレス電話の形式である、請求項1に記載の方法。
【請求項１０】
前記PCDにおける処理構成要素によって発生した熱エネルギーをファン構成要素で管理できない、請求項1に記載の方法。
【請求項１１】
ポータブルコンピューティングデバイス(「PCD」)における熱エネルギー発生を管理するためのコンピュータシステムであって、
電力レベル予測モジュールを含み、前記電力レベル予測モジュールが、
前記PCDにおける1つまたは複数の構成要素に関連する温度しきい値を定義することと、
前記PCDにおける1つまたは複数の温度センサを監視することであって、各温度センサが、前記1つまたは複数の構成要素のうちの1つに関連し、瞬間的な温度を表す信号を生成する、監視することと、
前記1つまたは複数の構成要素の各々に関連する瞬間的な熱抵抗値を追跡することであって、ある構成要素の前記熱抵抗値が、前記構成要素の前記瞬間的な温度、前記構成要素に対するアクティブな電力供給、および前記PCDの周囲温度から計算される、追跡することと、
前記1つまたは複数の構成要素のうちの少なくとも1つに関連する温度しきい値を超えていることを決定することと、
前記1つまたは複数の構成要素のうちの前記少なくとも1つに関して調整された電力供給を計算することであって、前記調整された電力供給が、前記構成要素のターゲット温度、前記PCDの前記周囲温度、および前記構成要素に関連する前記瞬間的な熱抵抗値から計算される、計算することと、
前記調整された電力供給を前記構成要素に適用することと
を行うように構成される、コンピュータシステム。
【請求項１２】
前記1つまたは複数の温度センサのうちの少なくとも1つが、コアのシリコン接合に関連付けられる、請求項11に記載のコンピュータシステム。
【請求項１３】
前記1つまたは複数の温度センサのうちの少なくとも1つが、パッケージオンパッケージ(「PoP」)メモリ構成要素に関連付けられる、請求項11に記載のコンピュータシステム。
【請求項１４】
前記ターゲット温度が前記瞬間的な温度よりも低い、請求項11に記載のコンピュータシステム。
【請求項１５】
前記ターゲット温度が前記瞬間的な温度よりも高い、請求項11に記載のコンピュータシステム。
【請求項１６】
前記調整された電力供給を適用することが、前記アクティブな電力供給の前記電圧および/または周波数をスケーリングすることをさらに含む、請求項11に記載のコンピュータシステム。
【請求項１７】
前記調整された電力供給が前記アクティブな電力供給よりも低い、請求項16に記載のコンピュータシステム。
【請求項１８】
前記調整された電力供給が前記アクティブな電力供給よりも高い、請求項16に記載のコンピュータシステム。
【請求項１９】
前記PCDがワイヤレス電話の形式である、請求項11に記載のコンピュータシステム。
【請求項２０】
前記PCDにおける処理構成要素によって発生した熱エネルギーをファン構成要素で管理できない、請求項11に記載のコンピュータシステム。
【請求項２１】
ポータブルコンピューティングデバイス(「PCD」)における熱エネルギー発生を管理するためのコンピュータシステムであって、
前記PCDにおける1つまたは複数の構成要素に関連する温度しきい値を定義するための手段と、
前記PCDにおける1つまたは複数の温度センサを監視するための手段であって、各温度センサが、前記1つまたは複数の構成要素のうちの1つに関連し、瞬間的な温度を表す信号を生成する、手段と、
前記1つまたは複数の構成要素の各々に関連する瞬間的な熱抵抗値を追跡するための手段であって、ある構成要素の前記熱抵抗値が、前記構成要素の前記瞬間的な温度、前記構成要素に対するアクティブな電力供給、および前記PCDの周囲温度から計算される、手段と、
前記1つまたは複数の構成要素のうちの少なくとも1つに関連する温度しきい値を超えていることを決定するための手段と、
前記1つまたは複数の構成要素のうちの前記少なくとも1つに関して調整された電力供給を計算するための手段であって、前記調整された電力供給が、前記構成要素のターゲット温度、前記PCDの前記周囲温度、および前記構成要素に関連する前記瞬間的な熱抵抗値から計算される、手段と、
前記調整された電力供給を前記構成要素に適用するための手段と
を含むコンピュータシステム。
【請求項２２】
前記1つまたは複数の温度センサのうちの少なくとも1つが、コアのシリコン接合に関連付けられる、請求項21に記載のコンピュータシステム。
【請求項２３】
前記1つまたは複数の温度センサのうちの少なくとも1つが、パッケージオンパッケージ(「PoP」)メモリ構成要素に関連付けられる、請求項21に記載のコンピュータシステム。
【請求項２４】
前記ターゲット温度が前記瞬間的な温度よりも低い、請求項21に記載のコンピュータシステム。
【請求項２５】
前記ターゲット温度が前記瞬間的な温度よりも高い、請求項21に記載のコンピュータシステム。
【請求項２６】
前記調整された電力供給を適用するための前記手段が、前記アクティブな電力供給の前記電圧および/または周波数をスケーリングための手段をさらに含む、請求項21に記載のコンピュータシステム。
【請求項２７】
前記調整された電力供給が前記アクティブな電力供給よりも低い、請求項26に記載のコンピュータシステム。
【請求項２８】
前記調整された電力供給が前記アクティブな電力供給よりも高い、請求項26に記載のコンピュータシステム。
【請求項２９】
前記PCDがワイヤレス電話の形式である、請求項21に記載のコンピュータシステム。
【請求項３０】
前記PCDにおける処理構成要素によって発生した熱エネルギーをファン構成要素で管理できない、請求項21に記載のコンピュータシステム。
【請求項３１】
コンピュータ可読プログラムコードがその中に記憶しているコンピュータ可読記憶媒体であって、前記コンピュータ可読プログラムコードが、ポータブルコンピューティングデバイス(「PCD」)における熱エネルギー発生を管理するための方法を実施するために実行されるように適合され、前記方法が、
前記PCDにおける1つまたは複数の構成要素に関連する温度しきい値を定義するステップと、
前記PCDにおける1つまたは複数の温度センサを監視するステップであって、各温度センサが、前記1つまたは複数の構成要素のうちの1つに関連し、瞬間的な温度を表す信号を生成する、ステップと、
前記1つまたは複数の構成要素の各々に関連する瞬間的な熱抵抗値を追跡するステップであって、ある構成要素の前記熱抵抗値が、前記構成要素の前記瞬間的な温度、前記構成要素に対するアクティブな電力供給、および前記PCDの周囲温度から計算される、ステップと、
前記1つまたは複数の構成要素のうちの少なくとも1つに関連する温度しきい値を超えていることを決定するステップと、
前記1つまたは複数の構成要素のうちの前記少なくとも1つに関して調整された電力供給を計算するステップであって、前記調整された電力供給が、前記構成要素のターゲット温度、前記PCDの前記周囲温度、および前記構成要素に関連する前記瞬間的な熱抵抗値から計算される、ステップと、
前記調整された電力供給を前記構成要素に適用するステップと
を含む、コンピュータ可読記憶媒体。
【請求項３２】
前記1つまたは複数の温度センサのうちの少なくとも1つが、コアのシリコン接合に関連付けられる、請求項31に記載のコンピュータ可読記憶媒体。
【請求項３３】
前記1つまたは複数の温度センサのうちの少なくとも1つが、パッケージオンパッケージ(「PoP」)メモリ構成要素に関連付けられる、請求項31に記載のコンピュータ可読記憶媒体。
【請求項３４】
前記ターゲット温度が前記瞬間的な温度よりも低い、請求項31に記載のコンピュータ可読記憶媒体。
【請求項３５】
前記ターゲット温度が前記瞬間的な温度よりも高い、請求項31に記載のコンピュータ可読記憶媒体。
【請求項３６】
前記調整された電力供給を適用することが、前記アクティブな電力供給の前記電圧および/または周波数をスケーリングすることをさらに含む、請求項31に記載のコンピュータ可読記憶媒体。
【請求項３７】
前記調整された電力供給が前記アクティブな電力供給よりも低い、請求項36に記載のコンピュータ可読記憶媒体。
【請求項３８】
前記調整された電力供給が前記アクティブな電力供給よりも高い、請求項36に記載のコンピュータ可読記憶媒体。
【請求項３９】
前記PCDがワイヤレス電話の形式である、請求項31に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記PCDにおける処理構成要素によって発生した熱エネルギーをファン構成要素で管理できない、請求項31に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
最適な電力レベルを予測するために熱抵抗値を使用したポータブルコンピューティングデバイスにおける熱管理のためのシステムおよび方法に関する。
【背景技術】
【０００２】
ポータブルコンピューティングデバイス(「PCD: portable computing device」)は、個人レベルおよび専門レベルにおいて人々に必要なものになりつつある。これらのデバイスには、携帯電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスが含まれ得る。
【０００３】
PCDの1つの特有の態様は、ラップトップコンピュータおよびデスクトップコンピュータなどより大型のコンピューティングデバイスで見られることが多い、ファンのようなアクティブな冷却デバイスを通常は有していないということである。ファンを使用する代わりに、PCDは、2つ以上のアクティブかつ熱を発生させる構成要素が互いに近接して配置されないように、電子パッケージングの空間的な構成に依存し得る。多くのPCDはまた、それぞれのPCDを一緒に形成する複数の電子構成要素の間で熱エネルギーを管理するための、ヒートシンクなどのパッシブな冷却デバイスに依存し得る。
【０００４】
現実には、PCDは、通常、サイズに制約があり、したがってPCD内の構成要素用の空間は貴重である場合が多い。そのため、通常、技術者および設計者が巧妙な空間的構成またはパッシブな冷却構成要素の戦略的配置を使用することによって、処理構成要素の熱的な劣化または障害を軽減するのに十分な空間が、PCD内には存在しない。したがって、現在のシステムおよび方法は、PCDチップに埋め込まれた様々な温度センサに依存して熱エネルギーの散逸を監視し、次いで測定値を使用して、作業負荷割振り、処理速度などを調整する熱管理技法の適用をトリガして、熱エネルギー発生を低減する。
【０００５】
たとえば、いくつかのシステムおよび方法は、熱エネルギー発生を低減するためコアの消費電力を「ダイヤルバック」するために、電圧および/または周波数設定を動的にスケーリングする(「DVFS」)前に、熱しきい値を超えていることを認識するために、温度センサを監視することができる。特に、既存の解決策の実施形態は、一度に1つのビンのコアへの電力レベルを低減することができ、または、熱エネルギー発生をより迅速に安定化する目的で、一度に複数のビンを飛び超すための使用事例の認識に依存してもよい。ともかく、電力レベルを調整した後、前の電力レベル調整が熱エネルギー発生の期待の低減をもたらしたかどうかを決定するために、温度センサが再度照会される。そうでない場合、さらなる調整が行われ、熱エネルギーレベルが許容できるようになるまで、ループは続く。
【０００６】
これらの既存の解決策は、温度センサを監視し、電力設定調整を行い、再度温度センサを監視し、さらなる電力設定調整を行い、次いで熱エネルギー発生が適切に軽減されるまで、調整およびフィードバックの「閉ループ」を継続するので、「閉ループ」解決策と考えられ得る。このように、既存の閉ループ解決策は、進行中の状態下での熱エネルギー発生を軽減するために最適な電力設定に到達するのが比較的遅い可能性がある熱エネルギー軽減の反応的手法を表す。そのために、当技術分野において必要なものは、熱しきい値を超えると、熱エネルギー発生を軽減するための最適な電力設定を事前に決定し、それによって、追加の電力レベルの調整の必要性を低減または除去するシステムおよび方法である。より具体的には、当技術分野において必要なものは、追跡された熱抵抗値に基づいて最適な電力設定を計算するPCDにおける熱エネルギー発生を管理するためのシステムおよび方法である。
【発明の概要】
【課題を解決するための手段】
【０００７】
電力レベル計算に基づくポータブルコンピューティングデバイス(「PCD」)における熱エネルギー管理のための方法およびシステムの様々な実施形態について、開示する。特に、多くのPCDにおいて、限定はしないが、ダイ接合部温度、およびパッケージオンパッケージ(「PoP:package on package」)メモリ温度など、PCDにおける様々な構成要素に関連する温度しきい値は、PCDの実行能力が用いられ得る度合いを制限する。動作温度が特定の所定の温度しきい値に近づくまたはそれを超えると、熱エネルギー発生を管理し、QoSを最適化するために、熱軽減対策がとられなければならない。
【０００８】
PCDにおける熱エネルギー発生を管理するための例示的な方法は、PCDにおける1つまたは複数の構成要素に関連する温度しきい値を定義するステップを含む。その後、1つまたは複数の構成要素に関連する温度センサが監視される。温度センサによって得られる温度測定値は、瞬間的な動作温度を示し得、構成要素に関連して追跡される。瞬間的な動作温度を追跡することと並行して、構成要素に供給されるアクティブな電力レベルも追跡される。瞬間的な動作温度および供給されているアクティブな電力レベルは、構成要素のための瞬間的な熱抵抗値を計算するために使用され得る。
RINST=(TINST-TA)/PSUPP
上式において、
RINSTは、リアルタイムのまたは瞬間的な熱抵抗であり、
TINSTは、リアルタイムのまたは瞬間的な動作温度であり、
TAは、PCDがさらされる周囲温度であり、推定値でもよく、または測定値でもよく、
PSUPPは、コアに供給されているアクティブな電力である。
【０００９】
瞬間的な熱抵抗値が追跡される。その後、温度しきい値が満たされる場合、調整された電力供給レベルは、上記の式のTINST値の代わりに、瞬間的なRINST値およびターゲット動作温度を使用して計算され得る。次いで、調整された電力供給の計算は、構成要素を許容できる熱範囲内に保つために必要とされる電圧および/または周波数スケーリングの必要な量を決定するために使用され得る。
【００１０】
特に、上記のシステムおよび方法の実施形態は、温度測定値の上昇に応答して電力供給レベルを低減することによって熱エネルギー発生を軽減するために使用され得る、または代替的に、追加の熱ヘッドルームが利用可能であることの認識に応答して電力供給レベルの増加(およびしたがって、熱エネルギー発生の増加)を許可するために使用され得る。
【００１１】
図面では、別段に規定されていない限り、様々な図の全体を通して、同様の参照番号は同様の部分を指す。「102A」または「102B」などの文字指定を伴う参照番号の場合、文字指定は、同じ図に存在する2つの同様の部分または要素を区別することができる。参照番号がすべての図において同じ参照番号を有するすべての部分を包含することを意図しているときには、参照番号の文字指定は省略される場合がある。
【図面の簡単な説明】
【００１２】
【図１】最適な電力レベル設定を予測するために、熱抵抗値を使用する熱管理方法をポータブルコンピューティングデバイス(「PCD」)において実施するためのオンチップシステムの一実施形態を示す機能ブロック図である。
【図２】最適な電力レベル設定を予測するために、熱抵抗値を使用した熱管理のための方法およびシステムを実装するための、ワイヤレス電話の形式の、図1のPCDの例示的な非限定的態様を示す機能ブロック図である。
【図３Ａ】図2に示すチップのための、ハードウェアの例示的な空間構成を示す機能ブロック図である。
【図３Ｂ】最適な電力レベル設定を予測するために、熱抵抗値を使用した熱管理のための、図2のPCDの例示的なソフトウェアアーキテクチャを示す概略図である。
【図４】図1のPCDにおける最適な電力レベル設定を予測するために、熱抵抗値を使用した熱管理のための方法を示す論理フローチャートである。
【図５】図1のPCDにおける構成要素に関連するリアルタイムの熱抵抗値から決定される最適な電力レベル設定に基づいて動的電圧周波数スケーリング(「DVFS: dynamic voltage and frequency scaling」)熱軽減技法を適用するための副方法またはサブルーチンを示す論理フローチャートである。
【発明を実施するための形態】
【００１３】
「例示的な」という言葉は、「例、事例、または例示として機能すること」を意味するように本明細書で使用される。「例示的な」ものとして本明細書に記載されるいずれの態様も、必ずしも他の態様に対して排他的であるか、他の態様よりも好ましいか、または有利であると解釈されるべきではない。
【００１４】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルも含むことができる。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなどの本質的に実行可能ではないファイルも含むことができる。
【００１５】
本明細書で使用される場合、「構成要素」、「データベース」、「モジュール」、「システム」、「熱エネルギー発生構成要素」、「処理構成要素」、「熱アグレッサ」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことを意図している。たとえば、構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在してよく、1つの構成要素を1つのコンピュータに局在化すること、および/または2つ以上のコンピュータ間に分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケット(たとえば、信号によって、ローカルシステム、分散システム中の別の構成要素と、かつ/または、インターネットのようなネットワークにわたって他のシステムと対話する、1つの構成要素からのデータ)を有する信号に従うなどして、ローカルプロセスおよび/またはリモートプロセスによって通信することができる。
【００１６】
本明細書では、「中央処理装置(「CPU:central processing unit」)」、「デジタル信号プロセッサ(「DSP:digital signal processor」)」、「グラフィカル処理装置(「GPU:graphical processing unit」)」、および「チップ」という用語は互換的に使用される。その上、CPU、DSP、GPUまたはチップは、「コア」と本明細書では全般的に呼ばれる1つまたは複数の別個の処理構成要素からなることができる。さらに、CPU、DSP、GPU、チップまたはコアが、様々なレベルの機能効率で動作するために様々なレベルの電力を消費するPCD内の機能構成要素である限り、これらの用語の使用は、開示する実施形態、またはそれらの等価物の適用を、PCD内の処理構成要素のコンテキストに限定するものではないことが当業者には認識されよう。すなわち、実施形態の多くは、処理構成要素のコンテキストにおいて記載されるが、システムおよび方法の実施形態による熱管理ポリシーは、モデム、カメラ、ワイヤレスネットワークインターフェースコントローラ(「WNIC」)、ディスプレイ、ビデオエンコーダ、周辺デバイス、バッテリーなどを含むが、それに限定されない、PCD内のどの機能構成要素にも適用され得ると想定される。
【００１７】
本明細書では、「熱」および「熱エネルギー」という用語は、「温度」の単位で測定され得るエネルギーを発生または散逸することが可能なデバイスまたは構成要素に関連付けられて使用され得ることが理解されるだろう。その結果、「温度」という用語は、「熱エネルギー」を発生するデバイスまたは構成要素の、相対的な暖かさまたは熱が存在しないことを示すことができる、何らかの基準値に対する任意の測定値を想定することがさらに理解されるだろう。たとえば、2つの構成要素の「温度」は、2つの構成要素が「熱的に」平衡であるとき同じである。
【００１８】
本明細書では、「作業負荷」、「プロセス負荷」および「プロセス作業負荷」という用語は互換的に使用され、一般に、所与の実施形態の所与の処理構成要素に関連付けられた処理負担または処理負担のパーセンテージを対象にする。上記に定義されたものに加えて、「処理構成要素」または「熱エネルギー発生構成要素」または「熱アグレッサ」は、限定はしないが、中央処理装置、グラフィカル処理装置、コア、メインコア、サブコア、処理エリア、ハードウェアエンジンなど、またはポータブルコンピューティングデバイス内の集積回路の内部もしくは外部にある任意の構成要素であり得る。その上、「熱負荷」、「熱分布」、「熱シグネチャ」、「熱処理負荷」などの用語がプロセッサ上で作動し得る作業負荷の負担を示す限り、本開示のこれらの「熱」の用語の使用が、処理負荷の分布、作業負荷の負担および電力消費に関連し得ることを、当業者は認識するだろう。
【００１９】
本明細書では、「熱軽減技法」、「熱ポリシー」、「熱管理」、「熱軽減対策」、「性能レベルへの抑制(throttling)」などという用語は、交換可能に使用される。特に、特定の使用コンテキストによっては、この段落で列挙する用語のいずれも、熱エネルギー発生を代償にして性能を高め、性能を代償にして熱エネルギー発生を低下させ、またはそのような目標の間で交替するように動作可能なハードウェアおよび/またはソフトウェアを記述するのに役立ち得ることが当業者には認識されよう。
【００２０】
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリーなどの限られた容量の電源で動作する任意のデバイスを記載するために使用される。何十年もの間バッテリー式PCDが使用されてきたが、第3世代(「3G」)および第4世代(「4G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、とりわけ、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述のデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであり得る。
【００２１】
PCDにおける熱エネルギー発生の効率的な管理は、コアの瞬間的な熱抵抗値と組み合わせてコアにおけるシリコン接合の温度と相関する1つまたは複数のセンサ測定値を使用することによって達成され得る。特に、システムおよび方法の例示的な実施形態は本明細書において、コアのシリコン接合に関連する温度測定値の文脈で説明されるが、代替実施形態は、PCDにおける他の構成要素に関連する温度測定値および熱抵抗値を使用することができることを理解されよう。すなわち、予測された電力レベル設定を使用する熱管理方法の例示的な実施形態は本明細書において、中央処理装置(「CPU」)内のコアの文脈で説明されるが、そのような熱管理方法の適用は、CPU内のコアに限定されない。予測された電力レベル設定を使用する熱管理方法の実施形態は、限定はしないが、グラフィカル処理装置(「GPU」)、モデムプロセッサ、カメラなどのような、システムオンチップ(「SoC:system on a chip」)内に存在し、複数の性能レベルで動作可能であり得る任意の構成要素に及び得ることが想定される。さらに、瞬間的な熱抵抗値から最適な電力レベル設定を予測する熱管理アルゴリズムが、複数の性能レベルで動作し得るSoC内の任意の構成要素に対して個別に活用され得ることが想定される。
【００２２】
例示的な実施形態では、コアのシリコン接合のための最大動作温度(「TMAX」)は、経験的に決定され、次いで、コアの電力レベルが制御され得る温度しきい値を定義するために使用される。当業者が理解するように、接合がさらされる動作温度が最大動作温度を超えることは、コアなど、処理構成要素への損傷、または、処理構成要素の明白な故障を引き起こす可能性がある。したがって、例示的なコアに関連する動作温度が最大動作温度または他のそのような熱しきい値に近いと認識されると、コアおよび/またはコアに物理的に近い熱アグレッシブ処理構成要素によって発生されている熱エネルギーの量を低減するために、熱軽減解決策が使用され得る。
【００２３】
例示的な用途に戻ると、動作中、例示的なコアの接合温度は、監視され、TMAX値に関連する温度しきい値と比較され得る。接合温度を監視することと並行して、コアの熱抵抗値も追跡され、リアルタイムのまたは瞬間的な熱抵抗(RINST)が計算され得る。
(1)RINST=(TINST-TA)/PSUPP
上式において、
TINSTは、リアルタイムのまたは瞬間的なコアの接合温度であり、
TAは、PCDがさらされる周囲温度であり、推定値でもよく、または測定値でもよく、
PSUPPは、コアに供給されているアクティブな電力である(限定はしないが、瞬間的な電力レベル、加重平均電力レベル、移動平均電力レベルなどでもよい)。
【００２４】
TINSTがTMAXまたは他の熱しきい値に関連するしきい値を超える場合、熱軽減は必要であり得る。特に、例示的なコアの温度(「TINST」)はコアの漏れ電力(「PL」)と相関するので、コアによって発生した熱エネルギーは、コアに供給されている電力(「PSUPP」)を調整することによって軽減され得、この場合、PSUPPは、コアによって消費されているアクティブな電力(「PA」)と漏れ電力(「PL」)の合計に等しい。
(2)PSUPP=PA+PL
【００２５】
有利なことに、システムおよび方法の実施形態は、上記の式(1)に従ってPSUPPの値を求めることによって、新しいPSUPPレベル、すなわち、熱エネルギー発生を低減するための最適なPSUPPを計算することができる。特に、温度しきい値を超えた時点でRINST、TINSTおよびTAの値は既知であるので、システムおよび方法は、所望の温度値を式(1)のTINSTと置換し、TINSTが所望のレベルに低減する新しいPSUPPの値を求めることができる。
【００２６】
新しいPSUPPの決定に基づいて、熱エネルギー発生を軽減するための最適なレベルまで電力供給を低減するために、電圧および/または周波数の設定のターゲット調整が実施され得る。有利なことに、最適な電力レベルがリアルタイムの状態に基づいて計算されるので、温度測定値に基づいて増分の電力調整を行う反復的なプロセスがPCDのより迅速な熱の安定化を提供するポイントまで低減または除去され得ると想定される。
【００２７】
本開示の例は主に、所与の温度しきい値を超えると、熱エネルギー発生を低減するための最適な電力レベルを決定するためにシステムおよび方法を使用することを記載しているが、様々な実施形態およびそれらの均等物は、熱エネルギー発生を低減するための用途に限定されない。すなわち、いくつかの実施形態は、熱エネルギー発生の増加のために利用可能なヘッドルームを認識し、その認識に応答して、作業負荷処理の増加を提供する瞬間的な熱抵抗に基づいて最適な電力レベルを決定することができると想定される。有利なことに、利用可能なヘッドルームを認識し、増加したTINSTに基づいて新しいPSUPPを決定する実施形態は、PCDのユーザに提供されるサービス品質(「QoS」)を最適化することができる。
【００２８】
当業者が理解するように、リアルタイムの熱抵抗値に基づく最適な電力レベル設定の決定に応答して、電力レベル予測による熱管理ためのシステムおよび方法は、コアを、場合に応じて、最適な性能レベルまで抑制または促進するための手段を活用することができる。以下でより詳細に説明するように、抑制戦略は、中央処理装置(「CPU」)のクロック速度などのようなハードウェアおよび/またはソフトウェアパラメータの調整を通じてPCDの性能を高めるまたは下げるためにPCDによって用いられ得る様々な方法、アプリケーションおよび/またはアルゴリズムである。いくつかの抑制戦略は、熱エネルギー発生の増加という代償を払ってPCDの性能を高めることができるが、いくつかの他の抑制戦略は、PCD性能を低減することによって動作温度の有害な上昇を軽減することができる。熱管理ポリシーによって活用され得る例示的な抑制方法は、図5に関してより詳細に説明する動的電圧周波数スケーリング(「DVFS」)方法である。
【００２９】
図1は、最適な電力レベル設定を予測するために、熱抵抗値を使用する熱管理方法をポータブルコンピューティングデバイス(「PCD」)100において実施するためのオンチップシステム102の一実施形態を示す機能ブロック図である。熱エネルギー発生を管理する目的でCPU110などの処理構成要素がその現在の性能レベルから抑制される実施形態のアプリケーションをトリガするための温度しきい値を設定するために、オンチップシステム102は、コア222、224、226、228などの様々な構成要素に関連する温度を測定するための様々なセンサ157を活用することができる。有利なことに、様々な構成要素に関連する温度を監視し、熱アグレッサ222、224、226、228への電力供給レベルを調整することによって、PCD100のユーザによって経験されるQoSは、接合または他の態様の熱的な劣化を回避しながら、最適化され得る。
【００３０】
概して、システムは、以下の3つの主要モジュールを用い、これらはいくつかの実施形態では、1対のモジュールまたは単一のモジュールに含まれ得る。(1)温度センサ157をポーリングし、コア222、224、226、228への電力供給レベルを監視するための監視モジュール114、(2)監視モジュール114によって提供される温度読取値および電力供給レベルを分析し、コア222、224、226、228の瞬間的な熱抵抗値を計算し、追跡し、ターゲット動作温度に基づいて、コア222、224、226、228の最適な電力レベル設定を決定するための電力レベル予測(「PLP」)モジュール101、(3)PLPモジュール101から受信された指示に従って個々の処理構成要素において電力レベル調整を実施するためのDVFSモジュール26。有利なことに、3つの主要モジュールを含むシステムおよび方法の実施形態は、PCD100内の他の構成要素に熱的な劣化をもたらすリスクを負うことなく、またはクリティカル温度しきい値を上回ることなく、温度データおよびリアルタイムの熱抵抗値を活用してPCD100内の構成要素110のために許可された電力レベルを最適化することができる。
【００３１】
動作中、システムおよび方法の実施形態は、コア222、224、226、228のシリコン接合に関連し得るセンサ157Aを定期にポーリングし、ポーリングされた温度データをPLPモジュール101に提供することができる。監視モジュール114も、コア222、224、226、228に供給されている電力レベルを監視し、そのデータをPLPモジュール101に提供することができる。瞬間的な温度データおよびアクティブな電力供給レベルデータに基づいて、PLPモジュール101は、上記で提供され、説明された式に従って、熱抵抗値を計算することができる。PLPモジュール101は、永続的または一時的に、熱抵抗値を熱抵抗値(「TRV」)テーブル24に記憶することができる。
【００３２】
コア222、224、226、228のうちの1つまたは複数に関連する温度しきい値が満たされている、または温度しきい値を超えたことを監視モジュール114が認識した場合、PLP101は警告され得る。有利なことに、PLPモジュール101は、上記で提供し、説明した式に従って、温度しきい値によって画定される範囲内にあるターゲット動作温度に基づいて、新しい電力レベル設定を計算するためにトリガされ得る。新しい電力レベル設定は、DVFSモジュール26に供給され、電圧および/または周波数設定が新しい電力レベル設定に基づいて調整され得る。このようにしてDVFS設定を調整することによって、システムおよび方法の実施形態は、熱エネルギー発生を満足に軽減する電力供給レベルを捜して反復的なDVFS調整の必要性を回避または低減することが可能であり得る。
【００３３】
この場合も、前もって想定されるように、いくつかの実施形態は、瞬間的な温度が最大しきい値を下回ることを認識することができ、それによって、利用可能な熱ヘッドルームが示される。そのような実施形態は、熱エネルギー発生を増加させ、処理構成要素または他の構成要素の熱的な劣化をもたらすリスクを負うことなく、QoSの向上を提供する新しい電力レベル設定を計算するためにトリガされ得る。
【００３４】
図2は、最適な電力レベル設定を予測するために熱抵抗値を使用した熱管理のための方法およびシステムを実施するための、ワイヤレス電話の形式の、PCD100の例示的で非限定的な態様を示す機能ブロック図である。図示されたように、PCD100は、互いに結合されたマルチコア中央処理装置(「CPU」)110およびアナログ信号プロセッサ126を含むオンチップシステム102を含む。当業者によって理解されるように、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を備えることができる。さらに、当業者によって理解されるように、CPU110の代わりに、デジタル信号プロセッサ(「DSP」)も利用され得る。
【００３５】
概して、動的電圧周波数スケーリング(「DVFS」)モジュール26は、不利な形でいくつかの温度しきい値を上回ることなくPCD100がその電力レベルを最適化し高レベルの機能を維持するのを支援するためにコア222、224、230などの個別の処理構成要素に対して抑制技法を実施することを担い得る。
【００３６】
監視モジュール114は、オンチップシステム102全体を通して分散された複数の動作するセンサ(たとえば、熱センサ157A、157B)、およびPCD100のCPU110、ならびにPLPモジュール101と通信する。いくつかの実施形態では、監視モジュール114は、PCD100の接触温度および/またはPCD100がさらされる周囲温度(「TA」)に関連する温度読取値に関して皮膚温度センサ157Cを監視することもできる。他の実施形態では、監視モジュール114は、オンチップ温度センサ157A、157Bによって取られた読取値により予想されるデルタに基づいて接触温度または周囲温度を推測することができる。PLPモジュール101は監視モジュール114と連携して、温度しきい値を上回っていることを識別し、温度を低減する目的で、または他のシナリオでは、温度の上昇を可能にする目的で、チップ102内の識別された構成要素に対する抑制戦略の適用を命令することができる。
【００３７】
図2に示すように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130がデジタル信号プロセッサ110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132が、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。PCD100はさらに、ビデオエンコーダ134、たとえば位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または任意の他のタイプのビデオエンコーダ134を含むことができる。ビデオエンコーダ134は、マルチコア中央処理装置(「CPU」)110に結合される。ビデオ増幅器136がビデオエンコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138がビデオ増幅器136に結合される。図2に示すように、ユニバーサルシリアルバス(「USB:universal serial bus」)コントローラ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:frequency modulation」)ラジオチューナ162がステレオオーディオコーデック150に結合され得る。また、FMアンテナ164がFMラジオチューナ162に結合される。さらに、ステレオヘッドフォン166がステレオオーディオコーデック150に結合され得る。
【００３９】
図2は、さらに、無線周波(「RF:radio frequency」)送受信機168がアナログ信号プロセッサ126に結合され得ることを示す。RFスイッチ170がRF送受信機168およびRFアンテナ172に結合され得る。図2に示すように、キーパッド174がアナログ信号プロセッサ126に結合され得る。また、マイクロフォン付きモノヘッドセット176がアナログ信号プロセッサ126に結合され得る。さらに、バイブレータデバイス178がアナログ信号プロセッサ126に結合され得る。図2は、たとえばバッテリーなどの電源188が、電力管理集積回路(「PMIC」)180を介してオンチップシステム102に結合されることも示す。ある特定の態様では、電源は、充電式DCバッテリー、または交流(「AC:alternating current」)電源に接続されたAC-DC変換器から取り出されるDC電源を含む。
【００４０】
CPU110はまた、1つまたは複数の内部のオンチップ熱センサ157A、ならびに、1つまたは複数の外部のオフチップ熱センサ157Cに結合され得る。オンチップ熱センサ157Aは、垂直のPNP構造に基づく、通常は相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」)回路に専用の、1つまたは複数の絶対温度に比例する(「PTAT」)温度センサを備えることができる。オフチップ熱センサ157Cは、1つまたは複数のサーミスタを備えることができる。熱センサ157Cは、アナログデジタル変換器(「ADC:analog-to-digital converter」)コントローラ103でデジタル信号に変換される電圧降下を引き起こす場合がある。しかしながら、本発明の範囲から逸脱することなく、他のタイプの熱センサ157A、157B、157Cを利用することができる。
【００４１】
DVFSモジュール26およびPLPモジュール101は、CPU110によって実行されるソフトウェアを備えることができる。しかしながら、本発明の範囲から逸脱することなく、DVFSモジュール26およびPLPモジュール101は、ハードウェアおよび/またはファームウェアから形成されてもよい。PLPモジュール101は、DVFSモジュール26と連携して、PCD100が高レベルの機能およびユーザ体験を維持しつつ熱的な劣化を回避するのを支援し得る抑制ポリシーを適用することを担い得る。
【００４２】
タッチスクリーンディスプレイ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つまたは複数の指示または信号を受信することもできることを理解されたい。たとえば、監視モジュール114は、PMIC180からアクティブな電力供給レベルの表示を受信し、PLPモジュール101にそれらの表示を提供することができる。
【００４３】
ある特定の態様では、本明細書で説明する方法ステップのうちの1つまたは複数は、1つまたは複数のPLPモジュール101およびDVFSモジュール26を形成する、メモリ112に記憶された実行可能命令およびパラメータによって実施され得る。モジュール101、26を形成するこれらの命令は、本明細書で説明する方法を実行するために、ADCコントローラ103に加えて、CPU110、アナログ信号プロセッサ126、または別のプロセッサによって実行され得る。さらに、プロセッサ110、126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として機能し得る。
【００４４】
図3Aは、図2に示すチップ102のための、ハードウェアの例示的な空間配置を示す機能ブロック図である。この例示的な実施形態によれば、アプリケーションCPU110がチップ102の遠く左側の領域に配置され、一方モデムCPU168、126がチップ102の遠く右側の領域に配置される。アプリケーションCPU110は、第0のコア222、第1のコア224、および第Nのコア230を含む、マルチコアプロセッサを含み得る。アプリケーションCPU110は、(ソフトウェアで具現化される場合)PLPモジュール101Aおよび/またはDVFSモジュール26Aを実行していてよく、または、(ハードウェアで具現化される場合)PLPモジュール101Aおよび/またはDVFSモジュール26Aを含んでよい。アプリケーションCPU110は、オペレーティングシステム(「O/S」)モジュール207および監視モジュール114を含むように、さらに例示される。監視モジュール114についてのさらなる詳細は、図3Bに関して以下で説明される。
【００４５】
アプリケーションCPU110は、アプリケーションCPU110に隣接して配置されチップ102の左側の領域にある、1つまたは複数の位相ロックループ(「PLL」)209A、209Bに結合され得る。PLL209A、209Bの隣、またアプリケーションCPU110の下には、アナログデジタル(「ADC」)コントローラ103があってもよく、このADCコントローラ103は、アプリケーションCPU110の主要なモジュール101A、26Aとともに動作する固有のPLPモジュール101Bおよび/またはDVFSモジュール26Bを含み得る。
【００４６】
ADCコントローラ103のPLPモジュール101Bは、「チップ102上」および「チップ102外」に設けられ得る複数の熱センサ157を監視し追跡することを担い得る。オンチップまたは内部熱センサ157A、157Bは、様々なロケーションに配置されてよく、そのロケーションの近傍にある熱アグレッサに関連付けられる場合(第2の熱グラフィックプロセッサ135Bおよび第3の熱グラフィックプロセッサ135Cの隣にあるセンサ157A3など)または熱敏感構成要素に関連付けられる場合(メモリ112の隣にあるセンサ157B1など)がある。
【００４７】
非限定的な例として、第1の内部熱センサ157B1は、アプリケーションCPU110とモデムCPU168、126との間に、かつ内部メモリ112に隣接して、チップ102の上部の中心領域に配置され得る。第2の内部熱センサ157A2は、モデムCPU168、126の下の、チップ102の右側領域に配置され得る。この第2の内部熱センサ157A2はまた、進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)177と第1のグラフィックプロセッサ135Aとの間にも配置され得る。デジタルアナログコントローラ(「DAC:digital-to-analog controller」)173は、第2の内部熱センサ157A2とモデムCPU168、126との間に配置され得る。
【００４８】
第3の内部熱センサ157A3は、第2のグラフィックプロセッサ135Bと第3のグラフィックプロセッサ135Cとの間の、チップ102の遠く右側の領域に配置され得る。第4の内部熱センサ157A4は、チップ102の遠く右側の領域に、かつ第4のグラフィックプロセッサ135Dの下に配置され得る。第5の内部熱センサ157A5は、チップ102の遠く左側の領域に、かつPLL209およびADCコントローラ103に隣接して配置され得る。
【００４９】
1つまたは複数の外部熱センサ157Cも、ADCコントローラ103に結合され得る。第1の外部熱センサ157C1は、チップの外部に、かつ、モデムCPU168、126、ARM177、およびDAC173を含み得るチップ102の右上4分の1の領域に隣接して配置され得る。第2の外部熱センサ157C2は、チップの外部に、かつ、第3のグラフィックプロセッサ135Cおよび第4のグラフィックプロセッサ135Dを含み得るチップ102の右下4分の1の領域に隣接して配置され得る。特に、外部熱センサ157Cのうちの1つまたは複数は、PCD100の接触温度、すなわちユーザがPCD100に接触する際に受け得る温度、および/またはPCDがさらされる周囲温度を示すのに活用され得る。
【００５０】
図3Aに示すハードウェアの様々な他の空間構成が、本発明の範囲から逸脱することなく実現され得ることを、当業者は認識するだろう。図3Aは、さらなる1つの例示的な空間構成を示し、図3Aに示す例示的な空間構成により決まる熱条件を、主要なPLPモジュール101Aと、主要なDVFSモジュール26Aと、PLPモジュール101BおよびDVFSモジュール26Bを有するADCコントローラ103とがどのように認識し、温度しきい値を動作温度および/または接触温度と比較し、瞬間的な熱抵抗値から決定された最適な電力レベル設定によって駆動される抑制ポリシーを適用することができるかを示す。
【００５１】
図3Bは、最適な電力レベル設定を予測するために、熱抵抗値を使用した熱管理のための、図2のPCD100の例示的なソフトウェアアーキテクチャを示す概略図である。任意の数のアルゴリズムは、いくつかの熱条件が満たされたときにPLPモジュール101によって適用され得る少なくとも1つの熱管理ポリシーを形成するか、またはその一部になることができるが、好ましい実施形態では、PLPモジュール101はDVFSモジュール26と連携して、限定はしないがコア222、224および230を含むチップ102における個別の熱アグレッサに対する電圧周波数スケーリングポリシーを調整する。電圧周波数スケーリングポリシーは、瞬間的な熱抵抗値から計算された最適な電力レベル、およびターゲット動作温度レベルに基づき得る。PLPモジュール101は、コアのシリコン接合態様に関連する温度しきい値が満たされる、または温度しきい値を超えると、最適な電力レベルを計算するためにトリガされ得る。
【００５２】
図3Bに示すように、CPUまたはデジタル信号プロセッサ110は、バス211を介してメモリ112に結合される。上述のように、CPU110は、N個のコアプロセッサを有するマルチコアプロセッサである。すなわち、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を含む。当業者には知られているように、第0のコア222、第1のコア224、および第Nのコア230の各々は、専用のアプリケーションまたはプログラムをサポートするために利用可能である。あるいは、利用可能なコアの2つ以上にわたる処理のために、1つまたは複数のアプリケーションまたはプログラムは分散していてよい。
【００５３】
CPU110は、ソフトウェアおよび/またはハードウェアを備え得るPLPモジュール101および/またはDVFSモジュール26から、コマンドを受け取ることができる。ソフトウェアとして具現化される場合、モジュール101、26は、CPU110および他のプロセッサによって実行されている他のアプリケーションプログラムにコマンドを出す、CPU110によって実行される命令を備える。
【００５４】
CPU110の第0のコア222、第1のコア224〜第Nのコア230は、単一の集積回路ダイに集積されてよく、または、複数回路のパッケージにおいて別個のダイ上で集積または結合されてよい。設計者は、第0のコア222、第1のコア224〜第Nのコア230を、1つまたは複数の共有キャッシュを介して結合することができ、バス、リング、メッシュ、およびクロスバートポロジのようなネットワークトポロジを介して、メッセージまたは命令の伝達を実施することができる。
【００５５】
当技術分野で知られているように、バス211は、1つまたは複数のワイヤード接続またはワイヤレス接続を介した複数の通信経路を含み得る。バス211は、通信を可能にするために、コントローラ、バッファ(キャッシュ)、ドライバ、レピータ、および受信機のような、簡単にするために省略される追加の要素を有してもよい。さらに、バス211は、上述の構成要素の間での適切な通信を可能にするために、アドレス、制御、および/またはデータ接続を含み得る。
【００５６】
図3Bに示すように、PCD100によって使用される論理がソフトウェアで実装されるとき、開始論理250、管理論理260、電力レベル予測インターフェース論理270、アプリケーションストア280内のアプリケーション、およびファイルシステム290の部分のうちの1つまたは複数が、任意のコンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に記憶され得ることに留意されたい。
【００５７】
この文書の文脈では、コンピュータ可読媒体は、コンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる、電子式、磁気式、光学式、または他の物理デバイスまたは手段である。様々な論理素子およびデータストアは、たとえばコンピュータベースのシステム、プロセッサを含むシステム、または命令実行システム、装置、もしくはデバイスから命令をフェッチし、命令を実行することができる他のシステムのような、命令実行システム、装置、またはデバイスによって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に組み込まれ得る。この文書の文脈では、「コンピュータ可読媒体」は、命令実行システム、装置、またはデバイスによって、またはそれと関連して使用するために、プログラムを記憶、通信、伝搬、または移送することができる任意の手段であってよい。
【００５８】
コンピュータ可読媒体は、限定はされないがたとえば、電子式、磁気式、光学式、電磁式、赤外線式、または半導体の、システム、装置、デバイス、または伝搬媒体であってよい。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)には、1つまたは複数の配線を有する電気的接続(電子式)、ポータブルコンピュータディスケット(磁気式)、ランダムアクセスメモリ(RAM)(電子式)、読取り専用メモリ(ROM)(電子式)、消去可能プログラマブル読取り専用メモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子式)、光ファイバ(光学式)、および携帯式コンパクトディスク読取り専用メモリ(CD-ROM)(光学式)が含まれよう。プログラムは、たとえば紙または他の媒体の光学走査を介して、電子的に記録され、次いで、コンパイルされ、解釈され、または場合によっては、必要に応じて適切な方法で処理され、次いでコンピュータメモリに記憶され得るので、コンピュータ可読媒体は、プログラムが印刷される紙または別の適切な媒体でさえあり得ることに留意されたい。
【００５９】
代替の実施形態では、開始論理250、管理論理260、および場合によっては電力レベル予測インターフェース論理270のうちの1つまたは複数がハードウェアに実装されるとき、様々な論理は、各々当技術分野でよく知られている以下の技術、すなわち、データ信号に対する論理機能を実装するための論理ゲートを有する個別の論理回路、適切な組合せの論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などのうちのいずれか、またはその組合せによって実装することができる。
【００６０】
メモリ112は、フラッシュメモリまたはソリッドステートメモリデバイスなどの不揮発性データ記憶デバイスである。単一のデバイスとして示されているが、メモリ112は、デジタル信号プロセッサ110(または追加のプロセッサコア)に結合された別個のデータストアを有する分散型メモリデバイスでもよい。
【００６１】
開始論理250は、第0のコア222、第1のコア224〜第Nのコア230のような、利用可能なコアのうちの1つまたは複数の性能を管理または制御するための選択プログラムを選択的に識別し、ロードし、実行するための1つまたは複数の実行可能命令を含む。開始論理250は、PLPモジュール101による、PCDの構成要素または態様に関連するしきい値温度設定と様々な温度測定値との比較に基づいて選択プログラムを識別し、ロードし、実行すればよい。例示的な選択プログラムは、組込みファイルシステム290のプログラムストア296で見つけることができ、性能スケーリングアルゴリズム297とパラメータのセット298との特定の組合せによって定義され得る。例示的な選択プログラムは、CPU110内のコアプロセッサのうちの1つまたは複数によって実行されると、1つまたは複数のPLPモジュール101およびDVFSモジュール26によって提供される制御信号とともに、監視モジュール114によって提供される1つまたは複数の信号に従って、PLPモジュール101によって計算される最適な電力レベル設定に基づいて、それぞれのプロセッサコアの性能を「アップ」または「ダウン」方向でスケーリングするように動作することができる。この点について、監視モジュール114は、PLPモジュール101から受け取られた、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、ならびに温度などの、1つまたは複数のインジケータを提供することができる。
【００６２】
管理論理260は、それぞれのプロセッサコアのうちの1つまたは複数において熱管理プログラムを終了し、さらに、利用可能なコアのうちの1つまたは複数の性能を管理または制御するためのより適切な交換プログラムを選択的に識別し、ロードし、実行するための、1つまたは複数の実行可能命令を含む。管理論理260は、実行時に、またはPCD100が電力供給されデバイスの操作者によって使用されている間に、これらの機能を実行するように構成される。交換プログラムは、組込みファイルシステム290のプログラムストア296で見つけることができ、いくつかの実施形態では、性能スケーリングアルゴリズム297とパラメータのセット298との特定の組合せによって定義され得る。
【００６３】
交換プログラムは、デジタル信号プロセッサ内のコアプロセッサのうちの1つもしくは複数によって実行されると、監視モジュール114によって提供される1つもしくは複数の信号、または様々なプロセッサコアのそれぞれの制御入力で提供される1つもしくは複数の信号に従って、それぞれのプロセッサコアの性能をスケーリングするように動作することができる。この点について、監視モジュール114は、PLPモジュール101から発せられる制御信号に応答して、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、温度などの、1つまたは複数のインジケータを提供することができる。
【００６４】
インターフェース論理270は、組込みファイルシステム290に記憶された情報を観察し、構成し、または場合によっては更新するために、外部入力を提示し、管理し、それと対話するための1つまたは複数の実行可能命令を含む。一実施形態では、インターフェース論理270は、USBポート142を介して受信された製造業者の入力とともに動作することができる。これらの入力は、プログラムストア296から削除されるべき、またはプログラムストア296に追加されるべき、1つまたは複数のプログラムを含むことができる。あるいは、入力は、プログラムストア296内のプログラムのうちの1つまたは複数に対する編集または変更を含むことができる。その上、入力は、開始論理250と管理論理260の一方または両方に対する1つまたは複数の変更、または全交換を識別することができる。例として、入力は、受信信号電力が識別されたしきい値を下回ると、RF送受信機168内のすべての性能スケーリングを中断するようにPCD100に命令する管理論理260に対する変更を含むことができる。さらなる例として、入力は、ビデオコーデック134がアクティブであるとき、所望のプログラムを適用するようにPCD100に命令する管理論理260に対する変更を含むことができる。
【００６５】
インターフェース論理270により、製造業者が、PCD100の定義された動作状態の下で、エンドユーザの体験を制御可能に構成および調整することが可能になる。メモリ112がフラッシュメモリであるとき、開始論理250、管理論理260、インターフェース論理270、アプリケーションストア280におけるアプリケーションプログラム、または組込みファイルシステム290における情報のうちの1つまたは複数は、編集され、置き換えられ、または場合によっては修正され得る。いくつかの実施形態では、インターフェース論理270によって、PCD100のエンドユーザまたは操作者は、開始論理250、管理論理260、アプリケーションストア280中のアプリケーション、および組込みファイルシステム290中の情報を検索し、見つけ、修正し、または置き換えることができる。操作者は、結果として生じるインターフェースを使用して、PCD100の次の開始時に実装される変更を加えることができる。あるいは、操作者は、結果として生じるインターフェースを使用して、実行時に実装される変更を加えることができる。
【００６６】
組込みファイルシステム290は、階層的に構成された熱技法ストア292を含む。この点について、ファイルシステム290は、PCD100が使用する様々なパラメータ298および熱管理アルゴリズム297の構成および管理のための情報を格納するための、その全ファイルシステム容量の確保された部分を含むことができる。図3Bに示すように、ストア292はコアストア294を含み、コアストア294はプログラムストア296を含み、プログラムストア296は1つまたは複数の熱管理プログラムを含む。
【００６７】
図4は、PCD100における最適な電力レベル設定を予測するために熱抵抗値を使用した熱管理のための方法を示す論理フローチャートである。図4の方法400は、たとえばコア222、224、226、228など処理構成要素の接合温度を読み取る温度センサ157が監視モジュール114によってポーリングされる最初のブロック405から開始する。動作温度がしきい値を超えているかどうかを決定するために、ブロック405で得られる温度読取値が温度しきい値と比較され得る。例示的な処理構成要素に関連する瞬間的なまたはリアルタイムの温度(「TINST」)を表す温度読取値は、PLPモジュール101に提供され得る。
【００６８】
ブロック405のアクションと並行して、ブロック410で、PLPモジュール101は、例示的な処理構成要素に供給されているアクティブな電力レベル(「PSUPP」)の表示を受信し、TINST値およびPCD100がさらされる周囲温度(「TA」)と組み合わせて、処理構成要素の熱抵抗レベル(「RINST」)を表す瞬間的なまたはリアルタイムの値を計算し、追跡することができる。特に、TINST値およびPSUPP値の追跡および監視、ならびにRINST値の計算および追跡は、いくつか実施形態において進行中であり得る。
【００６９】
その後、または並行して、決定ブロック415で、たとえば、コアのシリコン接合がさらされ得る最大温度に関連する温度しきい値などの温度しきい値を、TINST値が満たす、または超えるかどうかが判断され得る。TINST値がしきい値を超えない場合、「no」分岐はブロック420に進み、DVFSモジュール26および/またはPMIC180によってコアに供給されている電力レベル設定は、変更されないまま、または調整されないままにされ得る。TINST値がしきい値を超える場合、熱軽減手段がとられるべきであると認識され得、「yes」分岐はブロック425に進む。
【００７０】
ブロック425および430で、PLPモジュール101は、TINSTの代わりに、ブロック410で決定され、追跡されるRINST値、TA値、およびターゲット動作温度に基づいて、調整された電力レベル設定を計算することができる。ブロック435で、PLPモジュール101は、調整された電力レベル設定に基づくPSUPPの電圧および/または周波数の設定の変更のために、調整された電力レベル設定をDVFSモジュール26に提供することができる。有利なことに、RINSTおよびTAの瞬間的な値が与えられると、温度しきい値によって定義される範囲内のターゲット動作温度までTINSTを駆動するために必要である調整された電力レベル設定を計算することによって、システムおよび方法の実施形態は、PCD100における熱エネルギー発生を管理するように、DVFS設定をより効率的に調整することができる。
【００７１】
再び決定ブロック415を参照すると、いくつかの実施形態は、TINST値がある温度しきい値を十分下回ることを認識し、それによって、熱エネルギー発生の追加の機能が利用可能であることを決定することができる。そのようなシナリオでは、いくつかの実施形態は、コアの電力設定を上方に調整するために、ブロック425〜435のアクションを実行することができ、それによって、処理速度が上がり、QoSが向上する。
【００７２】
図5は、動的電圧周波数スケーリング(「DVFS」)熱管理技法を適用するための副方法またはサブルーチン435を示す、論理フローチャートである。上述したように、DVFS技法は、瞬間的な熱抵抗値に基づいて最適な電力供給レベルを決定する熱管理ポリシーの用途において、PLPモジュール101によって活用され得る。いくつかの実施形態では、DVFS抑制技法は、アクティブな電力供給レベルが熱エネルギー発生の管理のための最適なレベルに調整されるように、個々の処理構成要素に適用され得る。
【００７３】
当業者が理解するように、高性能と低消費電力を実現するプロセッサに対する需要により、プロセッサ設計において、動的電圧電流スケーリング(「DVCS: dynamic voltage and current scaling」)と呼ばれることもある動的電圧周波数スケーリングのような様々な電力管理技法が使用されるようになった。DVFSは、電力消費と性能との間のトレードオフを可能にする。たとえば、プロセッサ110および126は、各プロセッサのクロック周波数を、電圧の対応する調整によって調整できるようにすることによって、DVFSを利用するように設計され得る。
【００７４】
動作電圧を低減すると、通常それに比例して消費電力が節減される。DVFS対応のプロセッサ110、126の1つの主要な問題は、性能と電力節減との間のバランスをどのように制御するかということである。
【００７５】
ブロック505は、熱抵抗値に基づいて予測された電力レベルを介して熱エネルギー発生を管理するシステムまたは方法におけるDVFS熱軽減技法を適用するための副方法またはサブルーチン435における最初のステップである。この最初のブロック505では、PLPジュール101は、監視モニタ114を介して温度センサ157Aによって提供された温度読取値に基づいて接合部しきい値などの温度しきい値に違反していると判断し得る。したがって、次いで、PLPモジュール101は、瞬間的な熱抵抗レベルRINSTが与えられると、熱エネルギー発生を許容レベルに駆動することができる調整された電力供給レベルを計算することができる。PLPモジュール101は、次いで、ブロック510で現在のDVFS設定を検討し、計算され調整された電力供給レベルに応じてブロック515でDVFS設定を調整するためのDVFSモジュール26に対する指示を開始することができる。
【００７６】
ブロック515で、DVFSモジュール26は、熱負荷状態を軽減するために、または代替的に、熱発生の増加を可能にするために、電圧および/または周波数を含み得る現在のDVFS設定を調整するためのコマンドを出すことができる。設定を調整することは、DVFSアルゴリズムにおいて許容される最大クロック周波数を調整または「スケーリング」することを含み得る。上述したように、DVFSモジュール26は、処理構成要素に専用でもよく、PLPモジュール101によって提供される最適な電力レベルに従って、電力レベルを処理構成要素に調整することができる。特に、監視モジュール114、PLPモジュール101およびDVFSモジュール26が本開示では別個の機能を有する別個のモジュールとして説明されているが、いくつかの実施において、様々なモジュールまたは様々なモジュールの態様が、電力レベル予測による熱管理のためのシステムおよび方法を実施するための共通のモジュールに結合され得ることが理解されよう。
【００７７】
本発明が説明通りに機能するように、本明細書に記載されたプロセスまたはプロセスフロー内のある特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、そのような順序またはシーケンスが本発明の機能を変えない場合、本発明は記載されたステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、あるステップは、他のステップの前に実行されるか、後に実行されるか、または他のステップと並行して(実質的に同時に)実行される場合があることを認識されたい。いくつかの例では、ある特定のステップは、本発明から逸脱することなく、省略されるか、または実行されない場合がある。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
【００７８】
加えて、プログラミングの当業者は、たとえば本明細書内のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を識別して、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示は、本発明をどのように製作および使用すべきかについて適切に理解するために必要であるとは見なされない。特許請求されるコンピュータ実装プロセスの発明性のある機能は、上記の説明において、かつ、様々なプロセスフローを示すことができる図面とともに、より詳細に説明される。
【００７９】
1つまたは複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。ソフトウェアに実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。
【００８０】
また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL:digital subscriber line」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【００８１】
本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(「CD」)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(「DVD」)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００８２】
したがって、選択された態様が詳細に図示および説明されたが、以下の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されよう。
【符号の説明】
【００８３】
24  熱抵抗値(「TRV」)テーブル
26  動的電圧周波数スケーリング(「DVFS」)モジュール、DVFSモジュール
26A  DVFSモジュール、主要なモジュール
26B  DVFSモジュール
100  PCD
101  電力レベル予測(「PLP」)モジュール、PLPモジュール
101A  PLPモジュール、主要なモジュール
101B  PLPモジュール
102  オンチップシステム、チップ
103  アナログデジタル(「ADC」)コントローラ
110  CPU、構成要素、マルチコア中央処理装置(「CPU」)、デジタル信号プロセッサ、プロセッサ、アプリケーションCPU
112  メモリ、内部メモリ
114  監視モジュール
126  アナログ信号プロセッサ、プロセッサ、モデムCPU
128  ディスプレイコントローラ
130  タッチスクリーンコントローラ
132  タッチスクリーンディスプレイ
134  ビデオエンコーダ、ビデオコーデック
135A  第1のグラフィックプロセッサ
135B  第2の熱グラフィックプロセッサ、第2のグラフィックプロセッサ
135C  第3の熱グラフィックプロセッサ、第3のグラフィックプロセッサ
135D  第4のグラフィックプロセッサ
136  ビデオ増幅器
138  ビデオポート
140  ユニバーサルシリアルバス(「USB」)コントローラ
142  USBポート
146  加入者識別モジュール(SIM)カード
148  デジタルカメラ、カメラ
150  ステレオオーディオコーデック
152  オーディオ増幅器
154  第1のステレオスピーカー
156  第2のステレオスピーカー
157  センサ、熱センサ、温度センサ
157A  熱センサ、オンチップ熱センサ、内部熱センサ、温度センサ、オンチップ温度センサ
157A2  第2の内部熱センサ
157A3  センサ、第3の内部熱センサ
157A4  第4の内部熱センサ
157A5  第5の内部熱センサ
157B  熱センサ、内部熱センサ、オンチップ温度センサ
157B1  センサ、第1の内部熱センサ
157C  オフチップ熱センサ、熱センサ、外部熱センサ、センサ、オンチップ温度センサ、皮膚温度センサ
157C1  第1の外部熱センサ
157C2  第2の外部熱センサ
158  マイクロフォン増幅器
160  マイクロフォン
162  周波数変調(「FM」)ラジオチューナ
164  FMアンテナ
166  ステレオヘッドフォン
168  無線周波(「RF」)送受信機、モデムCPU
170  RFスイッチ
172  RFアンテナ
173  デジタルアナログコントローラ(「DAC」)
174  キーパッド
176  マイクロフォン付きモノヘッドセット、モノヘッドセット
177  進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)
178  バイブレータデバイス、バイブレータ
180  PMIC
188  電源
207  オペレーティングシステム(「O/S」)モジュール
209  PLL
209A  位相ロックループ(「PLL」)
209B  位相ロックループ(「PLL」)
211  バス
222  コア、熱アグレッサ、第0のコア
224  コア、熱アグレッサ、第1のコア
226  コア、熱アグレッサ
228  コア、熱アグレッサ
230  第Nのコア、コア
250  開始論理
260  管理論理
270  電力レベル予測インターフェース論理、インターフェース論理
280  アプリケーションストア
290  ファイルシステム、組込みファイルシステム
292  熱技法ストア、ストア
294  コアストア
296  プログラムストア
297  性能スケーリングアルゴリズム、熱管理アルゴリズム
298  パラメータのセット、パラメータ
【図１】
2016510917.tif 000003
【図２】
2016510917.tif 000004
【図３Ａ】
2016510917.tif 000005
【図３Ｂ】
2016510917.tif 000006
【図４】
2016510917.tif 000007
【図５】
2016510917.tif 000008
【国際調査報告】
2016510917.tif 000009
2016510917.tif 000010
2016510917.tif 000011