(57)【特許請求の範囲】
【請求項１】
ポータブルコンピューティングデバイスにおいて電流を監視し制御することによって、熱負荷を低減するための方法であって、
前記ポータブルコンピューティングデバイスの温度を監視するステップと、
前記温度が温度閾値条件に達したかどうかを判定するステップと、
前記温度が前記温度閾値条件に達した場合、複数の電源デバイスであって、１つ以上の関連するハードウェアデバイスへの電力を制御する各電源デバイスから出る電流を監視するステップと、
前記複数の電源デバイスの１つから出る前記電流が電流閾値条件を超えた場合、熱軽減技法に関与するための、前記電流に対応する前記ハードウェアデバイスを選択するステップと
を含む、方法。
【請求項２】
前記ハードウェアデバイスへの電流が低減された熱軽減技法を適用するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記ハードウェアデバイスへの前記電流が期間に従って制限される熱軽減技法を適用するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記ハードウェアデバイスに対して許可される最大周波数を制限することを含む、DVFS熱軽減技法を適用するステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記DVFS熱軽減技法が、マルチコアシステムにおいて複数のコアの最大周波数を制限することと、制約されない方式で動作するコアの所定の数によるスケーリングのために所定の数のコアを選択することとのうちの1つを含む、請求項4に記載の方法。
【請求項６】
電源デバイスから出る前記監視された電流にフィルタリング技法を適用するステップをさらに含む、請求項1に記載の方法。
【請求項７】
内部熱センサと外部熱センサの少なくとも1つによって、前記ポータブルコンピューティングデバイスの温度を監視するステップをさらに含む、請求項1に記載の方法。
【請求項８】
温度変化が少なくとも1つの熱センサによって検出されたかどうかを判定するステップをさらに含む、請求項7に記載の方法。
【請求項９】
前記温度変化が熱センサによって検出された場合に、温度測定値が検出される頻度、または電源デバイスから出る電流が監視される頻度を上げるステップをさらに含む、請求項8に記載の方法。
【請求項１０】
前記温度閾値条件が複数の熱状態を含み、各熱状態が温度の範囲を含む、請求項1に記載の方法。
【請求項１１】
ポータブルコンピューティングデバイスにおいて電流を監視し制御することによって、熱負荷を低減するためのコンピュータシステムであって、
前記ポータブルコンピューティングデバイスの温度を監視し、
前記温度が温度閾値条件に達したかどうかを判定し、
前記温度が前記温度閾値条件に達した場合、複数の電源デバイスであって、１つ以上の関連するハードウェアデバイスへの電力を制御する各電源デバイスから出る電流を監視し、
前記電流が電流閾値条件を超えた場合、熱軽減技法に関与するための、前記電流に対応する前記ハードウェアデバイスを選択する
ために動作可能なプロセッサを含む、コンピュータシステム。
【請求項１２】
前記プロセッサがさらに、
前記ハードウェアデバイスへの電流が低減された熱軽減技法を適用するために動作可能である、請求項11に記載のシステム。
【請求項１３】
前記プロセッサがさらに、
前記ハードウェアデバイスへの前記電流が期間に従って制限される熱軽減技法を適用するために動作可能である、請求項11に記載のシステム。
【請求項１４】
前記プロセッサがさらに、
前記ハードウェアデバイスに対して許可される最大周波数を制限することを含む、DVFS熱軽減技法を適用するために動作可能である、請求項11に記載のシステム。
【請求項１５】
前記DVFS熱軽減技法が、マルチコアシステムにおいて複数のコアの最大周波数を制限することと、制約されない方式で動作するコアの所定の数によるスケーリングのために所定の数のコアを選択することとのうちの1つを含む、請求項14に記載のシステム。
【請求項１６】
前記プロセッサが、
電源デバイスから出る前記監視された電流にフィルタリング技法を適用するために動作可能である、請求項11に記載のシステム。
【請求項１７】
前記プロセッサがさらに、
内部熱センサと外部熱センサの少なくとも1つによって、前記ポータブルコンピューティングデバイスの温度を監視するために動作可能である、請求項11に記載のシステム。
【請求項１８】
前記プロセッサがさらに、
温度変化が少なくとも1つの熱センサによって検出されたかどうかを判定するために動作可能である、請求項17に記載のシステム。
【請求項１９】
前記プロセッサがさらに、
温度変化が熱センサによって検出された場合、温度測定値が検出される頻度、または電源デバイスから出る電流が監視される頻度を上げるために動作可能である、請求項11に記載のシステム。
【請求項２０】
前記温度閾値条件が複数の熱状態を含み、各熱状態が温度の範囲を含む、請求項11に記載のシステム。
【請求項２１】
ポータブルコンピューティングデバイスにおいて電流を監視し制御することによって、熱負荷を低減するためのコンピュータシステムであって、
前記ポータブルコンピューティングデバイスの温度を監視するための手段と、
前記温度が温度閾値条件に達したかどうかを判定するための手段と、
前記温度が前記温度閾値条件に達した場合、複数の電源デバイスから出る電流を監視するための手段であって、各電源デバイスが１つ以上の関連するハードウェアデバイスへの電力を制御する、監視するための手段と、
前記電流が電流閾値条件を超えた場合、熱軽減技法に関与するための、前記電流に対応する前記ハードウェアデバイスを選択するための手段と
を含む、コンピュータシステム。
【請求項２２】
前記ハードウェアデバイスへの電流が低減された熱軽減技法を適用するための手段をさらに含む、請求項21に記載のシステム。
【請求項２３】
前記ハードウェアデバイスへの前記電流が期間に従って制限される熱軽減技法を適用するための手段をさらに含む、請求項21に記載のシステム。
【請求項２４】
前記ハードウェアデバイスに対して許可される最大周波数を制限することを含む、DVFS熱軽減技法を適用するための手段をさらに含む、請求項21に記載のシステム。
【請求項２５】
前記DVFS熱軽減技法が、マルチコアシステムにおいて複数のコアの最高周波数を制限することと、制約されない方式で動作するコアの所定の数によるスケーリングのために所定の数のコアを選択することとのうちの1つを含む、請求項24に記載のシステム。
【請求項２６】
電源デバイスから出る前記監視された電流にフィルタリング技法を適用するための手段をさらに含む、請求項21に記載のシステム。
【請求項２７】
内部熱センサと外部熱センサの少なくとも1つによって、前記ポータブルコンピューティングデバイスの温度を監視するための手段をさらに含む、請求項21に記載のシステム。
【請求項２８】
温度変化が少なくとも1つの熱センサによって検出されたかどうかを判定するための手段をさらに含む、請求項21に記載のシステム。
【請求項２９】
前記温度変化が熱センサによって検出された場合、温度測定値が検出される頻度、または電源デバイスから出る電流が監視される頻度を上げるための手段をさらに含む、請求項28に記載のシステム。
【請求項３０】
前記温度閾値条件が複数の熱状態を含み、各熱状態が温度の範囲を含む、請求項21に記載のシステム。
【請求項３１】
ポータブルコンピューティングデバイスにおいて電流を監視し制御することによって熱負荷を低減するための方法を実施するために実行されるように適合されたコンピュータ可読プログラムコードを含むコンピュータプログラムであって、前記方法が、
前記ポータブルコンピューティングデバイスの温度を監視するステップと、
前記温度が温度閾値条件に達したかどうかを判定するステップと、
前記温度が前記温度閾値条件に達した場合、複数の電源デバイスであって、１つ以上の関連するハードウェアデバイスへの電力を制御する各電源デバイスから出る電流を監視するステップと、
前記電流が電流閾値条件を超えた場合、熱軽減技法に関与するための、前記電流に対応する前記ハードウェアデバイスを選択するステップと
を含む、コンピュータプログラム。
【請求項３２】
前記方法を実施する前記プログラムコードがさらに、
前記ハードウェアデバイスへの電流が低減された熱軽減技法を適用するステップ
を含む、請求項31に記載のコンピュータプログラム。
【請求項３３】
前記方法を実施する前記プログラムコードがさらに、
前記ハードウェアデバイスへの前記電流が期間に従って制限される熱軽減技法を適用するステップ
を含む、請求項31に記載のコンピュータプログラム。
【請求項３４】
前記方法を実施する前記プログラムコードがさらに、
前記ハードウェアデバイスに対して許可される最大周波数を制限することを含む、DVFS熱軽減技法を適用するステップ
を含む、請求項31に記載のコンピュータプログラム。
【請求項３５】
前記DVFS熱軽減技法が、マルチコアシステムにおいて複数のコアの最高周波数を制限することと、制約されない方式で動作するコアの所定の数によるスケーリングのために所定の数のコアを選択することとのうちの1つを含む、請求項34に記載のコンピュータプログラム。
【請求項３６】
前記方法を実施する前記プログラムコードがさらに、
電源デバイスから出る前記監視された電流にフィルタリング技法を適用するステップ
を含む、請求項31に記載のコンピュータプログラム。
【請求項３７】
前記方法を実施する前記プログラムコードがさらに、
内部熱センサと外部熱センサの少なくとも1つによって、前記ポータブルコンピューティングデバイスの温度を監視するステップ
を含む、請求項31に記載のコンピュータプログラム。
【請求項３８】
前記方法を実施する前記プログラムコードがさらに、
温度変化が少なくとも1つの熱センサによって検出されたかどうかを判定するステップ
を含む、請求項37に記載のコンピュータプログラム。
【請求項３９】
前記方法を実施する前記プログラムコードがさらに、
前記温度変化が熱センサによって検出された場合、温度測定値が検出される頻度、または電源デバイスから出る電流が監視される頻度を上げるステップ
を含む、請求項38に記載のコンピュータプログラム。
【請求項４０】
前記温度閾値条件が複数の熱状態を含み、各熱状態が温度の範囲を含む、請求項31に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権および関連出願
本特許出願は、2011年4月25日に出願された、「METHOD AND SYSTEM FOR REDUCING THERMAL LOAD BY MONITORING AND CONTROLLING CURRENT FLOW IN A PORTABLE COMPUTING DEVICE」という表題の米国特許仮出願第61/478,653号の米国特許法第119条(e)に基づく優先権を主張するものであり、上記出願の内容全体が参照により本明細書に組み込まれる。
【背景技術】
【０００２】
ポータブルコンピューティングデバイス(PCD)は、個人レベルおよび専門レベルで人々に必要なものになりつつある。これらのデバイスは、携帯電話、携帯情報端末(PDA)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含み得る。
【０００３】
PCDの1つの特有の側面に、ラップトップコンピュータおよびデスクトップコンピュータのようなより大型のコンピューティングデバイスでしばしば見られるファンのような能動的な冷却デバイスを通常は有さないということがある。ファンを使う代わりに、PCDは、2つ以上の能動的かつ熱を発生させるデバイスが互いに近接して配置されないような、電子パッケージングの空間的な配置に依存し得る。2つ以上の熱を発生させるデバイスが互いに近接して配置されなければ、そうしたデバイスの動作が、互いに、またそれらの周囲にあり得る任意の他の電子装置に、悪影響を与えることはない。多くのPCDはまた、それぞれのPCDを形成する電子装置の間で熱エネルギーを管理するためのヒートシンクのような、受動的な冷却デバイスに依存し得る。
【０００４】
しかし、電子パッケージングの空間的な配置および、ヒートシンクのような受動的な冷却デバイスは、PCDが危機的な温度に達するのを防ぐのには、十分適していないことがある。そのような危機的な熱的温度により、それぞれのPCD内の電子装置に対して恒久的な損傷が発生し得る。現在は、PCDが危機的な温度に近づくと、PCDを冷却するために、熱エネルギーを発生させる電子装置の大半を停止するように、オペレーティングシステムが設計されている。恒久的な損傷を引き起こし得る危機的な温度を回避するには、電子装置を停止することは有効であり得るが、そのような極端な対策は、PCDの性能に直接影響を与え、そのような対策がとられた時に機能的にPCDを実用に耐えないものにし得る。
【０００５】
さらに、上で述べられたように、PCDの電子パッケージングは通常、多数の能動的かつ熱を発生させるコンポーネントが非常に小さい容積に格納されることを要求する。したがって、PCD内の極端な熱負荷または熱条件の1つまたは複数の源を正確に示すことは、困難であり得る。熱負荷の源を検出する目的で、過剰な熱を発生させることが疑われるあるハードウェアデバイスに近接して、温度センサが配置されることが多い。しかしながら、他の近接している熱を発生させるコンポーネントが原因で、温度センサからの測定値は、どの特定のハードウェアデバイスが任意の過剰な熱の発生の主要な源であるかを、完全に立証するものにはならないことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、当技術分野において必要とされるのは、熱負荷の1つまたは複数の源と無関係に、PCDの熱負荷を低減するための方法およびシステムである。
【課題を解決するための手段】
【０００７】
ポータブルコンピューティングデバイスにおいて電流を監視し制御することによって、熱負荷を低減するための方法およびシステムが開示される。方法は、ポータブルコンピューティングデバイスの温度を監視するステップと、温度が温度閾値条件に達したかどうかを判定するステップとを含む。この温度閾値条件は、複数の熱ポリシー状態の任意の1つを含んでよく、複数の熱ポリシー状態において、各熱ポリシー状態は、様々な熱軽減技法の任意の組合せを指示または要求し得る。熱ポリシー状態は、温度範囲、またはポータブルコンピューティングデバイスの熱負荷を示し得る他の値と関連付けられ得る。温度閾値条件が検出されると、電源デバイスから出る電流が監視され得る。電流が、最大電流のような電流閾値条件を超えたと判定されると、その電流に対応するハードウェアデバイスは、熱軽減技法の適用の対象として、選択または指定され得る。
【０００８】
図中、別段に指示されていない限り、同様の参照番号は、様々な図の全体を通じて、同様の部分を指す。「102A」または「102B」のような文字指定を伴う参照番号について、文字指定は、同じ図に存在する2つの同様の部分または要素を区別し得る。参照番号の文字指定は、参照番号が、すべての図において同じ参照番号を有するすべての部分を包含することが意図される場合には、省略されることがある。
【図面の簡単な説明】
【０００９】
【図１】ポータブルコンピューティングデバイス(PCD)の一実施形態を示す機能ブロック図である。
【図２Ａ】図1に示されるチップのための、ハードウェアの例示的な空間配置を示す機能ブロック図である。
【図２Ｂ】図2Aに示されるチップの電源管理集積回路(「PMIC」)とハードウェアデバイスとの間のそれぞれの論理接続を示す、概略図である。
【図３】PMICのスイッチモード電源モジュールからチップ上に配置されるハードウェアデバイスへと流れる電流を表す、フィルタリングされていない信号のグラフである。
【図４】図3のフィルタリングされていない信号から導出される、フィルタリングされた信号のグラフである。
【図５】PCDにおいて電流を監視して制御することによって熱負荷を低減するための方法を示す、論理フローチャートである。
【図６】図1のPCDにおいて熱ポリシーマネージャによって追跡される様々な熱ポリシー状態を示す、例示的な状態図である。
【図７】熱ポリシーマネージャによって適用または命令され得る、例示的な熱軽減技法を示す図である。
【図８】温度の、時間および対応する熱ポリシー状態に対する、例示的なグラフを示す図である。
【図９Ａ】様々な熱軽減技法を適用するための副方法またはサブルーチンを示す、論理フローチャートである。
【図９Ｂ】様々な熱軽減技法を適用するための副方法またはサブルーチンを示す、論理フローチャートである。
【図１０】動的電圧周波数スケーリング(「DVFS」)熱軽減技法を適用するための副方法またはサブルーチンを示す、論理フローチャートである。
【図１１】PCDにおいて所定の期間電流を制御することによって熱負荷を低減するための方法を示す、論理フローチャートである。
【発明を実施するための形態】
【００１０】
「例示的な」という語は、「例、実例、または具体例としての役割を果たすこと」を意味するように本明細書において使われる。「例示的な」ものとして本明細書で説明されるいずれの態様も、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。
【００１１】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチのような、実行可能コンテンツを有するファイルも含み得る。加えて、本明細書で言及される「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルを含むこともある。
【００１２】
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチのような、実行可能コンテンツを有するファイルも含み得る。加えて、本明細書で言及される「コンテンツ」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルを含むこともある。
【００１３】
本明細書で使用される場合、「コンポーネント」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえばコンポーネントは、プロセッサ上で動作しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであってよいが、これらであることに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方がコンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に存在してよく、1つのコンポーネントを1つのコンピュータに局在化させること、および/または2つ以上のコンピュータに分散させることが可能である。加えて、これらのコンポーネントは、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。コンポーネントは、1つまたは複数のデータパケット(たとえば、信号によって、ローカルシステム、分散システムにおいて別のコンポーネントと対話し、かつ/またはインターネットのようなネットワークにわたって他のシステムと対話する、1つのコンポーネントからのデータ)を有する信号に従うなどして、ローカルプロセスおよび/またはリモートプロセスにより通信することができる。
【００１４】
本明細書では、「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」、および「ワイヤレスハンドセット」という用語は交換可能に用いられる。第3世代(「3G」)および第4世代(「4G」)のワイヤレス技術が出現したことによって、利用可能な帯域が拡大されたので、より多様なワイヤレス機能を備えたより携帯が容易なコンピューティングデバイスが利用可能になっている。
【００１５】
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリーなど限られた容量の電源で動作する任意のデバイスを表すために使用される。何十年もの間バッテリー駆動のPCDが使用されてきたが、第3世代(「3G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、とりわけ、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述したデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであってよい。
【００１６】
図1:PCD 100の熱ポリシー管理要素
図1を参照すると、この図は、熱条件を監視し熱ポリシーを管理するための方法およびシステムを実施するための、ワイヤレス電話の形態の、PCD 100の例示的で非限定的な態様の機能ブロック図である。示されるように、PCD 100は、互いに結合されたマルチコア中央処理装置(「CPU」)110およびアナログシグナルプロセッサ126を含むオンチップシステム102を含む。当業者によって理解されるように、CPU 110は、第0のコア222、第1のコア224、および第Nのコア230を含み得る。当業者によって理解されるように、CPU 110の代わりに、デジタルシグナルプロセッサ(「DSP」)も利用され得る。
【００１７】
CPU 110は、1つまたは複数の内部のオンチップ熱センサ157A、さらには、1つまたは複数の外部のオフチップ熱センサ157Bにも結合され得る。オンチップ熱センサ157Aは、垂直のPNP構造に基づき通常は相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」)回路に専用である、絶対温度に比例する(「PTAT」)1つまたは複数の温度センサを含み得る。オフチップ熱センサ157Bは、1つまたは複数のサーミスタを含み得る。熱センサ157は、アナログデジタルコンバータ(「ADC」)コントローラ103(図2A参照)によってデジタル信号に変換される、電圧降下(および/または電流)を発生させ得る。しかしながら、本発明の範囲から逸脱することなく、他のタイプの熱センサ157が利用されてもよい。
【００１８】
熱センサ157は、ADCコントローラ103により制御され監視されるのに加えて、1つまたは複数の熱ポリシーマネージャモジュール101によっても制御され監視され得る。熱ポリシーマネージャモジュール101は、CPU 110によって実行されるソフトウェアを含み得る。しかしながら、本発明の範囲から逸脱することなく、熱ポリシーマネージャモジュール101はまた、ハードウェアおよび/またはファームウェアから形成されてもよい。
【００１９】
熱ポリシーマネージャモジュール101は、電源管理集積回路(「PMIC」)107に結合され得る。PMIC 107は、チップ102上に存在する様々なハードウェアコンポーネントに電力を分配することを担い得る。熱ポリシーマネージャモジュール101は、PMIC 107の態様を監視し制御することができる。
【００２０】
一般に、熱ポリシーマネージャモジュール101は、1つまたは複数の熱軽減技法を含む熱ポリシーを適用することとともに、PMIC 107からの電流を監視し制御することを担い得る。そのような熱軽減技法は、PCD 100が、熱条件および/または熱負荷を管理し、不都合な熱条件にさらされること、たとえば危機的な温度に達することを回避しつつ、高水準の機能を維持するのを、助けることができる。
【００２１】
図1は、PCD 100が監視モジュール114を含み得ることも示している。監視モジュール114は、オンチップシステム102全体に分散する複数の動作するセンサ(たとえば熱センサ157)およびPCD 100のCPU 110、さらには熱ポリシーマネージャモジュール101と通信する。具体的には、監視モジュール114は、熱ポリシーマネージャモジュール101から発せられる制御信号に応答して、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、温度などの、1つまたは複数のインジケータを提供することができる。以下でより詳しく説明されるように、熱ポリシーマネージャモジュール101は、監視モジュール114とともに動作して、不都合な熱条件を識別し、1つまたは複数の熱軽減技法を含む熱ポリシーを適用することができる。
【００２２】
ある特定の態様では、本明細書で説明される方法ステップのうちの1つまたは複数は、1つまたは複数の熱ポリシーマネージャモジュール101を形成する、メモリ112に記憶された実行可能命令およびパラメータによって実施され得る。熱ポリシーマネージャモジュールを形成するこれらの命令は、本明細書で説明される方法を実行するために、ADCコントローラ103に加えて、CPU 110、アナログシグナルプロセッサ126、または任意の他のプロセッサによって実行され得る。さらに、プロセッサ110、126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書に記載された方法ステップのうちの1つまたは複数を実行するための手段として機能し得る。
【００２３】
図1:PCD 100の他の要素
図1に示されるように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130が、デジタルシグナルプロセッサ110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132が、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。
【００２４】
図1は、ビデオデコーダ134を含むポータブルコンピューティングデバイス(PCD)のある実施形態を示す、概略図である。ビデオデコーダ134は、マルチコア中央処理装置(「CPU」)110に結合される。ビデオ増幅器136が、ビデオデコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138が、ビデオ増幅器136に結合される。図1に示されるように、ユニバーサルシリアルバス(「USB」)コントローラ140がCPU 110に結合される。また、USBポート142がUSBコントローラ140に結合される。メモリ112および加入者識別モジュール(SIM)カード146も、CPU 110に結合され得る。さらに、図1に示されるように、デジタルカメラ148がCPU 110に結合され得る。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
【００２５】
図1にさらに示すように、ステレオオーディオコーデック150が、アナログシグナルプロセッサ126に結合され得る。さらに、オーディオ増幅器152が、ステレオオーディオコーデック150に結合され得る。例示的な態様では、第1のステレオスピーカー154および第2のステレオスピーカー156が、オーディオ増幅器152に結合される。図1は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合され得ることを、示している。加えて、マイクロフォン160が、マイクロフォン増幅器158に結合され得る。特定の態様では、周波数変調(「FM」)ラジオチューナー162がステレオオーディオコーデック150に結合され得る。また、FMアンテナ164が、FMラジオチューナー162に結合される。さらに、ステレオヘッドフォン166が、ステレオオーディオコーデック150に結合され得る。
【００２６】
図1は、高周波(「RF」)送受信機168がアナログシグナルプロセッサ126に結合され得ることを、さらに示している。RFスイッチ170が、RF送受信機168およびRFアンテナ172に結合され得る。図1に示されるように、キーパッド174が、アナログシグナルプロセッサ126に結合され得る。また、マイクロフォンを備えたモノヘッドセット176が、アナログシグナルプロセッサ126に結合され得る。さらに、バイブレータデバイス178が、アナログシグナルプロセッサ126に結合され得る。図1は、たとえばバッテリーなどの電源180がオンチップシステム102に結合されることも、示している。ある特定の態様では、電源は、充電式DCバッテリー、または交流(「AC」)電源に接続されたAC-DC変換器から導かれるDC電源を含む。
【００２７】
図1に示されるように、タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカー154、第2のステレオスピーカー156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、熱センサ157B、および電源180は、オンチップシステム102の外部にある。監視モジュール114は、PCD 100において動作可能なリソースのリアルタイムの管理を援助するために、アナログシグナルプロセッサ126およびCPU 110によって、これらの外部デバイスのうちの1つまたは複数から1つまたは複数の指示または信号を受信することができる。
【００２８】
図2Aは、図1に示されるチップ102のための、ハードウェアの例示的な空間配置を示す機能ブロック図である。この例示的な実施形態によれば、アプリケーションCPU 110がチップ102の遠く左側の領域に配置され、一方モデムCPU 168/126がチップ102の遠く右側の領域に配置される。アプリケーションCPU 110は、第0のコア222、第1のコア224、および第Nのコア230を含む、マルチコアプロセッサを含み得る。
【００２９】
アプリケーションCPU 110は、熱ポリシーマネージャモジュール101Aを実行していてよく(ソフトウェアで具現化される場合)、または、熱ポリシーマネージャモジュール101Bを含んでよい(ハードウェアおよび/またはファームウェアで具現化される場合)。アプリケーションCPU 110は、オペレーティングシステム(「O/S」)モジュール207および監視モジュール114を含むように、さらに例示される。
【００３０】
アプリケーションCPU 110は、アプリケーションCPU 110に隣接して配置されチップ102の左側の領域にある、1つまたは複数の位相ロックループ(「PLL」)209A、209Bに結合され得る。PLL 209A、209Bに隣接しアプリケーションCPU 110の下に、アプリケーションCPU 110の主要な熱ポリシーマネージャモジュール101Aとともに動作する固有の熱ポリシーマネージャモジュール101Bを含み得るアナログデジタルコントローラ(「ADC」)103が、含まれ得る。
【００３１】
ADCコントローラ103の熱ポリシーマネージャモジュール101Bは、「チップ102上」および「チップ102外」に設けられ得る複数の熱センサ157を監視し追跡することを担い得る。オンチップまたは内部の熱センサ157Aは、PCD 100の熱条件を監視するために、様々な位置に配置され得る。
【００３２】
たとえば、第1の内部熱センサ157A1は、アプリケーションCPU 110とモデムCPU 168/126との間に、かつ内部メモリ112に隣接して、チップ102の上部の中心領域に配置され得る。第2の内部熱センサ157A2は、モデムCPU 168/126の下の、チップ102の右側領域に配置され得る。この第2の内部熱センサ157A2はまた、進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」) 177と第1のグラフィックプロセッサ134Aとの間にも配置され得る。デジタルアナログコントローラ(「DAC」)173は、第2の内部熱センサ157A2とモデムCPU 168/126との間に配置され得る。
【００３３】
第3の内部熱センサ157A3は、第2のグラフィックプロセッサ134Bと第3のグラフィックプロセッサ134Cの間の、チップ102の遠く右側の領域に配置され得る。第4の内部熱センサ157A4は、チップ102の遠く右側の領域に、かつ第4のグラフィックプロセッサ134Dの下に配置され得る。第5の内部熱センサ157A5は、チップ102の遠く左側の領域に、かつPLL 209およびADCコントローラ103に隣接して配置され得る。
【００３４】
1つまたは複数の外部熱センサ157Bも、ADCコントローラ103に結合され得る。第1の外部熱センサ157B1は、チップの外部に、かつ、モデムCPU 168/126、ARM 177、およびDAC 173を含み得るチップ102の右上4分の1の領域に隣接して配置され得る。第2の外部熱センサ157B2は、チップの外部に、かつ、第3のグラフィックプロセッサ134Cおよび第4のグラフィックプロセッサ134Dを含み得るチップ102の右下4分の1の領域に隣接して配置され得る。
【００３５】
図2Aに示されるハードウェア(または他のハードウェアリソース)の様々な他の空間配置が、本発明の範囲から逸脱することなく実現され得ることを、当業者は理解するだろう。図2Aは、さらなる1つの例示的な空間配置を示し、図2Aに示される例示的な空間配置により決まる熱状態を、主要な熱ポリシーマネージャモジュール101Aと熱ポリシーマネージャモジュール101Bを有するADCコントローラ103とがどのように管理できるかを示す。
【００３６】
熱センサ157は、CPU 110のようなハードウェアに隣接して、かつポータブルコンピューティングデバイス100内のハードウェアと同じ面上に配置され得る。たとえば、第1の内部熱センサ157A1を参照されたい。熱ポリシーマネージャモジュール101Aは、第1の内部熱センサ157A1に対応するCPU 110のような、ある特定の熱センサ157と関連付けられるハードウェアに固有の、1つまたは複数の特有の熱軽減技法を割り当てることができる。1つの例示的な実施形態では、CPU 110および対応する熱センサ157A1に割り当てられる熱軽減技法は、第3の熱センサ157A3と関連付けられる第3のグラフィックプロセッサ134Cに割り当てられる熱軽減技法と比較して、異なり得る。他の例示的な実施形態では、ハードウェアに適用される熱軽減技法は、ポータブルコンピューティングデバイス100全体にわたって、均一または同一であってよい。
【００３７】
図2Bは、図2Aに示されるチップ102の電源管理集積回路(「PMIC」)107とハードウェアデバイスとの間のそれぞれの論理接続を示す、機能ブロック図である。この図は、図2Aと比較して示されるコンポーネントの特定の空間配置を提供することを、何ら意図していない。
【００３８】
図2Bは、チップ102上のハードウェアデバイスへの電力分配を監視し制御することによって、PCD 100内の熱問題を軽減するための、システム200の主要コンポーネントを示す。システム200は、熱ポリシーマネージャモジュール101、PMIC 107、およびチップ102を含み得る。チップ102は一般に、図2Aのオンチップシステム102に対応する。
【００３９】
PMIC 107は、第1の電力調整器105A、第2の電力調整器105B、および第Nの電力調整器105Nを含み得る。PMIC 107はさらに、第1のスイッチモード電源モジュール108A、第2のスイッチモード電源モジュール108B、第3のスイッチモード電源モジュール108C、および第Nのスイッチモード電源モジュール108Nを含み得る。
【００４０】
電力調整器105は一般に、母線106から、第1の大きさの電力を消費する1つまたは複数のハードウェアデバイスへの電力を、ゲート制御する。たとえば、第1の電力調整器105Aは、ワイヤレスローカルエリアネットワーク(「LAN」)回路109への電力の流れを制御することができる。第2の電力調整器105Bは、グラフィックプロセッサ134Aへの電力を制御することができ、一方第Nの電力調整器105Nは、第Nのプロセッサ111Nへの電力を制御する。当業者によって理解されるように、第Nのプロセッサ111Nは、デジタルシグナルプロセッサ(「DSP」)、またはアナログシグナルプロセッサ(「ASP」)を含み得る。さらに、当業者によって理解されるように、PMIC 107とチップ102の両方のためのハードウェア要素の数は、より多くなるように、またはより少なくなるように変化し得る。
【００４１】
前に述べられたように、電力調整器105の各々は、第1の大きさの電力を消費するハードウェア要素への電力を制御することができる。一方、スイッチモード電源モジュール108は、一般に第1の大きさよりも大きな第2の大きさの電力を消費するハードウェア要素への電力を制御することができる。
【００４２】
たとえば、電力調整器105から電流を受け取るハードウェア要素は、約数百ミリアンペアの範囲の電力消費量を有し得るが、スイッチモード電源モジュール108から電流を受け取るハードウェア要素は、約100ミリアンペアから約1アンペアまたはそれよりも大きな範囲の電力消費量を有し得る。別の例として、CPU 110は、200ミリアンペアから2アンペア超までの間のいずれかで電力を消費し得る。WLAN 109のような要素では、電力消費は、約50ミリアンペアから約200ミリアンペアの間の範囲に入り得る。電力消費はこれらの例示的な範囲に入らないことがあるが、それでも本開示の範囲内であることを、当業者は認識する。
【００４３】
第1のスイッチモード電源モジュール108Aは、第1のCPU 110Aの電力をゲート制御することができる。第2のスイッチモード電源モジュール108Bは、第2のCPU 110Bの電力をゲート制御することができ、一方第3のスイッチモード電源モジュール108Cは、第3のCPU 110Cの電力をゲート制御することができる。そして第Nのスイッチモード電源モジュール108Nは、第NのCPU 110Nの電力をゲート制御することができる。シングルコアCPU 110のみが示されているが、CPU 110のいずれかまたはすべてが、限定はされないが、マルチコアCPU 110のコアおよび他のタイプの専用プロセッサのような、他のハードウェアデバイスによって置き換えられ得ることを、当業者は認識する。
【００４４】
各々のスイッチモード電源モジュール108は、熱ポリシーマネージャモジュール101に結合され得る。熱ポリシーマネージャモジュール101は、それぞれのCPU 110に流れ込む電流の大きさを監視し、最終的には制御することができる。スイッチモード電源モジュール101から流れる電流に関して熱ポリシーマネージャ101によって行使される制御は、一般に間接的な制御である。モジュール101の制御の態様は、本明細書で開示される例示的な技法に限定はされないが、以下で説明されるような熱軽減技法を含み得る。たとえば、熱ポリシーマネージャモジュール101は、1)電圧/周波数DCVSの表の選択、2)CPU 110の処理負荷の低減、3)CPU 110の動作のモードの変更(すなわち、高性能CPU 110と低性能CPU 110の切り替えなど)というパラメータの少なくとも1つを調整することによって、CPU 110への電流を制御することができる。
【００４５】
熱ポリシーマネージャモジュール101は、1つまたは複数の電流センサ(図示されない)によって、各々のスイッチモード電源モジュール108から出る電流を監視することができる。熱ポリシーマネージャモジュール101は、それぞれのスイッチモード電源モジュール108に結合された各々のそれぞれのハードウェアデバイスへの電流の量を制御するために、各々の電源モジュール108がどのように電力を供給するかに影響を与える他の要素に対して命令を発することができる。熱ポリシーマネージャモジュール101によるそのような制御は、熱軽減技法が熱ポリシーマネージャモジュール101によって有効にされる時に起こり得る。
【００４６】
内部温度センサ157A1、157A2はまた、上で説明された図1および図2Aで示されるものと同様の、熱ポリシーマネージャモジュール101に結合される。内部温度センサ157A1、157A2は、第1のCPU 110Aおよび第2のCPU 110Bのような、それぞれのセンサ157に近接したチップ102上のハードウェアデバイスに隣接する温度を正確に記録することができる。しかしながら、内部温度センサ157Aは通常、チップ102上のハードウェアデバイスが温度の任意の上昇の唯一の原因または主要な一因であるかどうかを、判別または判定できない。しばしば、ハードウェアデバイス102とは関連しないが物理的に近接している(オンチップシステム102に対して)外部の熱源205が、それぞれの内部温度センサ157Aによって検出される温度変化の重大なまたは唯一の原因であることがある。
【００４７】
熱エネルギーが、すべてが外部の熱源205を含み得る、ある所与のハードウェアデバイス、隣接するハードウェアデバイス、またはオンチップシステム102の外部のデバイスのいずれによって生成されるかに関係なく、過剰な熱エネルギーは、オンチップシステム102内に存在する上記の所与のハードウェアデバイスに対して有害であり得ることを、当業者は認識するだろう。したがって、外部の熱源205が、内部温度センサ157Aによって検出される温度上昇の主要な一因である場合でも、熱ポリシーマネージャモジュール101は、オンチップシステム102内に存在するハードウェアデバイスに熱軽減技法を適用することを決定することができる。1つの熱軽減技法は、チップ102上の特定のハードウェアデバイスへの電流を減らすことを含み得る。この電流の低減は、内部温度センサ157Aによって検出される温度上昇に応答して、熱ポリシーマネージャモジュール101によって発せられた命令に応答して、有効にされ得る。他の熱軽減技法が、図6〜図7に関連して以下でさらに詳しく説明される。
【００４８】
図3は、PMIC 107のスイッチモード電源モジュール108からチップ102上に配置されるハードウェアデバイスへと流れる電流を表す、フィルタリングされていない信号305Aのグラフ301Aである。グラフ301Aのx軸は時間を表し、一方グラフ301Aのy軸は電流を表し、そのような電流は通常ミリアンペアで測定される。x軸はさらに、閾値電流値310を含む。
【００４９】
この電流閾値310は、特定のPCD 100の電子パッケージングのサイズおよび方向に基づいて、経験的に決定されてよく、それぞれのポータブルコンピューティングデバイス100に対して固有であり得る。閾値310はまた、各々のハードウェアデバイスに固有であり得る。たとえば、第1のCPU 110Aは、図2Bの第1のCPU 110Bに対する閾値電流値と比較して異なる、ある閾値電流値310を有し得る。さらに、特定のPCD 100の試験に基づいて、電流閾値310が、起動機能に起因する突入電流の引き込みによって特定のハードウェアデバイスがPCD 100内で大量の熱を生成する段階と関連付けられ得ることが、知られるようになり得る。
【００５０】
図4は、図3のフィルタリングされていない信号305Aから導出された、単一のスイッチモード電源モジュール108のフィルタリングされた信号305Bのグラフ301Bである。図3〜図4の矢印307は全般に、フィルタリングされていない信号305Aとフィルタリングされた信号305Bとの関係を示す。フィルタリングされた信号305Bは、フィルタリングされていない信号305Aの値を時間平均すること、または、フィルタリングされていない信号305Aをハイパスコンポーネントおよび/またはローパスコンポーネントを介して操作することを含み得る、1つまたは複数のフィルタリング技法の結果であり得る。フィルタリングされた信号305Bは、電流センサ(図示されない)に結合された1つまたは複数のフィルタ(図示されない)によって生成され得る。熱軽減技法の実行をトリガするために熱ポリシーマネージャモジュール101がより滑らかな得られるフィルタリングされた信号305Bを使用できるように、フィルタリングされた信号305Bは、閾値電流値310に対して図3に示されるノイズおよび/またはスパイクがどのように低減および/または除去され得るかを明示する。
【００５１】
一例として、チップ102のどのハードウェアデバイスが過剰な熱を発生させている可能性があるかを、現在の電流消費量に基づいて特定するために、閾値電流値310が、熱ポリシーマネージャモジュール101によって使用され得る。そのような熱の状態に対抗するために、熱ポリシーマネージャモジュール101は、ある熱軽減技法を有効にすることができ、その熱軽減技法において、熱ポリシーマネージャモジュール101は、CPU 110の動作に影響を与える他のデバイスに命令を発し、このことが転じて、それぞれのスイッチモード電源モジュール108の流す出力電流を減らし得る。選択された熱軽減技法の結果として、スイッチモード電源モジュール108から流れ出る電流は、所定の期間、チップ102上に存在するハードウェア要素に対して低減され得る。他の熱軽減技法はまた、図6〜図7に関連して以下で説明されるような、熱ポリシーマネージャモジュール101によって使用され得る。
【００５２】
図5は、PCD 100において電流を監視して制御することによって熱負荷を低減するための方法400を示す、論理フローチャートである。ブロック405において、熱ポリシーマネージャモジュール101は、温度センサ157によってPCD 100の温度を監視することができる。具体的には、熱ポリシーマネージャモジュール101は、温度センサ157A1、157A2によって、図2Bのチップ102上のハードウェアデバイスの近くの温度を監視することができる。
【００５３】
次に、判定ブロック410において、熱ポリシーマネージャモジュール101は、以下で列挙される図6〜図7に関連してさらに詳しく説明される1つまたは複数の熱ポリシー状態に割り当てられる、閾値温度値を追跡することができる。判定ブロック410への照会が否定的であれば、ブロック405への「NO」の分岐に戻る。判定ブロック410への照会が肯定的であれば、ブロック415への「YES」の分岐に進む。ブロック415において、熱ポリシーマネージャモジュール101は、各々のそれぞれのスイッチモード電源モジュール108から出る負荷電流を読み取ることができる。1つの例示的な負荷電流305Aは、上で説明された図3で示される。図3の負荷電流305Aは、フィルタリングされていない信号を含む。熱ポリシーマネージャモジュール101は、各々のスイッチモード電源モジュール108から出る負荷電流305を追跡できるので、モジュール101は、それぞれのスイッチモード電源モジュール108に結合された各々のハードウェアデバイスの熱負荷と、追跡された負荷電流を関連付けることができる。特に、いくつかの実施形態では、モジュール101は、デバイスと関連付けられる追跡された負荷電流から所与のハードウェアデバイスの熱負荷を推測することができ、一方他の実施形態では、モジュール101は、追跡された負荷電流を、所与のデバイスに近接したセンサ157から得られる同時に追跡された温度測定値と関連付けることができる。
【００５４】
ブロック420において、熱ポリシーマネージャモジュールは、ブロック415の負荷電流測定値を時間的にフィルタリングすることができる。任意選択のフィルタ(図示されない)が、この目的のために提供され得る。1つの例示的なフィルタリングされた負荷電流305Bは、上で説明された図4で示される。フィルタリングされた負荷電流305Bは通常、上で説明された図3に示されるフィルタリングされていない負荷電流305Aよりも滑らかである。フィルタリングされた負荷電流305Bは通常、フィルタリングされていない負荷電流305Aから、ノイズとともにスパイクが除去された結果である。フィルタリングされた負荷電流305Bは、熱ポリシーマネージャモジュール101が、時間とともに突然変化し得る瞬時的な増分値ではなく傾向に基づいて、判断を行うことを可能にする。
【００５５】
次にブロック425において、熱ポリシーマネージャモジュール101は、図4に示されるような電流閾値310を超える電流測定値を有する、マルチコアCPU 110および/または複数のマルチコアCPU 110のコアのような、1つまたは複数のハードウェアデバイスを特定し選択することができる。ある期間電流閾値310を超える、チップ102上のハードウェアデバイスは通常、電流閾値310未満で動作している他のハードウェアデバイスと比べて、最大の熱エネルギーを発生させている。
【００５６】
次に、ルーチンまたは副方法のブロック430において、熱ポリシーマネージャモジュール101は、ブロック425から選択されたハードウェアデバイスのためのどの熱軽減技法が有効にされるべきかを、測定された現在の温度に基づいて、かつこの温度に割り当てられる熱ポリシーに基づいて、判定することができる。副方法のブロック430のさらなる詳細は、図6に関連して以下で説明される。図6〜図7に関連して以下でさらに詳しく説明されるように、複数の熱ポリシーはPCD 100に割り当てられ得る。ポリシー状態に依存する熱軽減技法は、図6〜図7に関連して以下で説明される。
【００５７】
ルーチンブロック430の後、ブロック435において、熱ポリシーマネージャモジュール101は、選択されたハードウェアデバイスのための任意の有効な熱軽減技法を終了することができる。方法400は次いで、PCD 102の温度が熱ポリシーマネージャモジュール101によって監視されるブロック405に戻る。
【００５８】
図6は、熱ポリシーマネージャ101によって追跡される様々な熱ポリシー状態305、310、315、および320を示す、例示的な状態図300である。4つの状態のみが示されるが、これらの4つ以外の他の状態も生成され得ることを、当業者は理解するだろう。同様に、本発明から逸脱することなく、より少数のポリシーが利用されてもよいことを、当業者は認識する。さらに、当業者が理解するように、追加の副状態またはサブポリシーが、各状態305、310、315、および320に追加され得る。
【００５９】
第1のポリシー状態305は、所定のまたは普通の方式で熱ポリシーマネージャモジュール101が熱センサ157またはスイッチモード電源モジュール108から流れ出る電流を監視するのみである、「正常」な熱状態を含み得る。この例示的な第1の正常な状態305では、通常PCD 100には、ハードウェアおよび/またはソフトウェアコンポーネントのいずれかの障害を引き起こし得る危機的な温度に達することのような、不都合な熱条件を受ける危険性またはリスクがない。この例示的な状態では、熱センサ157は、50℃以下の温度を検出または追跡していてよい。しかしながら、本開示の範囲から逸脱することなく、第1の正常な状態305に対して、他の温度範囲が確立されてもよいことを、当業者は認識するだろう。
【００６０】
第2のポリシー状態310は、熱センサ157および/またはスイッチモード電源モジュール108が調査される頻度、または、熱センサ157が温度状態の報告を熱ポリシーマネージャモジュール101に送る頻度を熱ポリシーマネージャモジュール101が上げることができる、「サービス品質」すなわち「QoS」状態を含み得る。熱センサ157または電源モジュール108が調査される頻度、または熱センサ157が温度状態の報告を送る頻度を上げることは、1つまたは複数の熱センサ157が高い温度を示す領域と直接接触していないという状況を、熱ポリシーマネージャモジュール101が補償するのを助ける。温度測定値および電流測定値が受け取られる頻度は、高い温度領域と特定の熱センサ157との間に存在し得る、異なる材料の熱定数を補償するように調整され得る。
【００６１】
温度の大幅な変化が第1の正常な状態305で検出された場合、熱ポリシーマネージャモジュール101によって、例示的な第2の状態310に達し、またはその状態に入ることができる。このQoS状態310をトリガする、温度変化(デルタT)の閾値または大きさは、ある特定のPCD 100に従って調整または変更され得る。したがって、PCD 100が第1の正常な状態305で動作し得る間、1つまたは複数の熱センサにより検出される温度変化の大きさに応じて、PCD 100は、熱ポリシーマネージャモジュール101によって追跡されながら、第1の正常な状態305から出て第2のQoS状態310に入ることができる。
【００６２】
たとえば、PCD 100は、約40℃という所与の熱センサ157からの第1の最高温度測定値を有し得る。同一の熱センサ157からの第2の測定値は、5℃の温度変化しか示さないことがあり、これは検出された最高温度を45℃にする。しかしながら、検出されている最高温度が、第1の正常な状態305の間、50℃という設定された閾値未満であり得る場合でも、比較的短い期間での5℃の温度変化は、熱ポリシーマネージャモジュール101が状態を第2のQoS状態310に変更するのに、十分大幅であり得る。
【００６３】
第2のQoS熱状態310では、熱ポリシーマネージャモジュール101は、PCD 100の熱負荷および温度を下げるために、1つまたは複数の熱軽減技法を要求することができ、または実際にそれを実行することができる。この特定の第2の熱状態310では、熱ポリシーマネージャモジュール101は、操作者にほとんど知覚不可能でありPCD 100により提供されるサービス品質の劣化を最小限にし得る、熱軽減技法を実施または要求するように設計される。この第2のQoS熱状態310の温度範囲は、約50℃から約80℃の間の範囲を含み得る。
【００６４】
他の温度範囲が、第2のQoS状態305に対して確立されてよく、本発明の範囲内にあることを、当業者は認識するだろう。さらに、他の副状態またはサブポリシーが、説明された現在のセットに対して作成され使用されてよいことを、当業者は理解するだろう。
【００６５】
前に述べられたように、第2のQoS状態310は、温度変化の大きさおよび/または位置に基づいてトリガされてよく、選択された温度範囲の端点には必ずしも限定されない。この第2のQoS熱状態310のさらなる詳細が、図7に関連して以下で説明される。
【００６６】
第3の熱状態315は、熱ポリシーマネージャモジュール101が、熱センサ157およびスイッチモード電源モジュール108からの割り込みの監視および/または受け取りを続けつつ、上で説明された第2のQoS状態310よりも強力な熱軽減技法を要求および/または適用する、「重度の」状態を含み得る。これは、この状態では、熱ポリシーマネージャモジュール101が、操作者から見たサービス品質にあまり配慮しないことを意味する。
【００６７】
この第3の熱状態315では、熱ポリシーマネージャモジュール101は、PCD 100の全体の温度を下げるために、熱負荷を軽減または低減することにより配慮している。この状態315では、PCD 100は、操作者により容易に知覚または観測される、性能の低下を有し得る。第3の重度の熱状態315および、熱ポリシーマネージャモジュール101によって適用またはトリガされる対応する熱軽減技法が、図7に関連して以下でさらに詳しく説明される。この第3の重度の熱状態315の温度範囲は、約80℃から約100℃の間の範囲を含み得る。
【００６８】
上で論じられた第1の熱状態305および第2の熱状態310と同様に、この第3の重度の熱状態315は、1つまたは複数の熱センサ157により検出される温度変化に基づいて開始されてよく、この第3の熱状態315に対して設定されまたは割り当てられる温度範囲には必ずしも限定されない。たとえば、この図中の矢印が示すように、各々の熱状態は、順番に開始されてよく、または、検出され得るある長さの時間にわたる温度変化の大きさ(デルタT)に応じて、順番と関係なく開始されてよい。よって、このことは、PCD 100が、1つまたは複数の熱センサ157により検出される温度変化に基づいて、第1の正常な熱状態305から出て、第3の重度の熱状態315に入り、またはその状態を開始できること、およびその逆を行えることを意味する。
【００６９】
同様に、PCD 100は、第2のQoS熱状態310にあり、1つまたは複数の熱センサ157により検出されるある長さの時間にわたる温度変化に基づいて、第4の危機的な状態320に入り、またはその状態を開始でき、かつその逆を行うことができる。この例示的な第4の危機的な状態320では、熱ポリシーマネージャモジュール101は、PCD 100内に含まれる電子装置に対する恒久的な損傷を引き起こし得る1つまたは複数の危機的な温度に達するのを回避するために、可能な限り多数の大きな熱軽減技法を適用またはトリガしている。
【００７０】
この第4の危機的な熱状態320は、危機的な温度を回避するために、PCD 100の機能および動作を中止するように設計される、従来の技法と同様であり得る。第4の熱状態320は、熱ポリシーマネージャモジュール101が、不可欠ではないハードウェアおよび/またはソフトウェアの停止を適用またはトリガする、「危機的」状態を含み得る。この第4の熱状態の温度範囲は、約100℃以上の範囲を含み得る。第4の危機的な温度状態320は、図7に関連して以下でさらに詳しく説明される。
【００７１】
熱ポリシー管理システムは、図6に示される4つの熱状態305、310、315、および320には限定されない。具体的なPCD 100に応じて、追加のまたはより少数の熱状態が、本発明の範囲から逸脱することなく提供されてよい。つまり、追加の熱状態が、特定のPCD 100の機能および動作を改善し得る一方、他の状況では、より少数の熱状態が、固有のハードウェアおよび/またはソフトウェアを有する特定のPCD 100に対して好適であり得ることを、当業者は認識する。
【００７２】
図7は、熱ポリシーマネージャモジュール101によって適用または命令され得るとともにPCD 100の具体的な熱状態に依存する、例示的な熱軽減技法800を示す図である。前に述べられたように、第1の熱状態305は、CPU 110によって、かつADCコントローラ103によって部分的に実行されている熱ポリシーマネージャモジュール101が、図2Aに示されるような1つまたは複数の熱センサ157からの、温度についての1つまたは複数の状態報告を監視し、調査し、または受け取ることができる、「正常」状態を含み得る。この第1の熱状態305では、PCD 100には、PCD 100内の1つまたは複数のソフトウェアおよび/またはハードウェアコンポーネントを損傷させ得る危機的な温度に達する、危険性またはリスクはまったくなくてよい。
【００７３】
通常、この第1の熱状態305では、熱ポリシーマネージャモジュール101は、熱軽減技法の開始を何ら適用しておらず、または要求していないので、PCD 100は、熱負荷を考慮せず、その最大の能力と最高の性能で動作している。この第1の熱状態305の温度範囲は、50℃以下の範囲を含み得る。この第1の熱状態305では、熱ポリシーマネージャモジュール101は、ADCコントローラ103内に存在し得るが、すべての他の状態のための主要な熱ポリシーマネージャ101は、CPU 110に存在してよく、またはCPU 110によって実行され得る。ある代替的かつ例示的な実施形態では、熱ポリシーマネージャモジュール101は、CPU 110内にしか存在しなくてよい。
【００７４】
QoS状態310とも呼ばれる第2の熱状態310では、その状態が開始されると、熱ポリシーマネージャモジュール101が、PCD 100の現在の温度に関する熱センサ157からの、さらには電流測定値に関するスイッチモード電源モジュール108からの割り込みの、(第1の熱状態305よりも)高速な監視、調査、および/または受け取りを始めることができる。この例示的な第2の熱状態310では、熱ポリシーマネージャモジュール101は、PCD 100の操作者によって知覚されるようなサービス品質の低下をほとんどまたはまったく伴わずに高い性能を維持する目的で、熱軽減技法の適用を開始するように、図2Aの監視モジュール114および/またはオペレーティングシステム(「O/S」)モジュール207を開始し、またはそれらに要求することができる。
【００７５】
図7に示されるこの例示的な第2の熱状態310によれば、熱ポリシーマネージャモジュール101は、限定はされないが、(1)負荷のスケーリングおよび/または(2)負荷の動的なスケーリングおよび(3)空間的な負荷の移動のような熱軽減技法を開始するように、監視モジュール114および/またはO/Sモジュール207に要求することができる。負荷スケーリングは、動的電圧周波数スケーリング(「DVFS」)アルゴリズムにおいて許容される最大クロック周波数を調整することまたは「スケーリングすること」を含み得る。DVFSアルゴリズムは、図10に関連して以下で詳しく説明される。そのような調整は、最大の熱放散を制限し得る。この熱負荷軽減技法はまた、ある特定の固有のPCD 100に使われる標準的なDVFSの表と一致するように、電圧を調整することを伴い得る。DVFSの表は、PCD 100の公開の前に、経験的に実験室において導出され得る。
【００７６】
負荷の動的なスケーリングの熱負荷軽減技法は、N個のアプリケーションプロセッサコア222、224、および230の1つまたはすべてのスケーリングを含み得る。この熱負荷軽減技法は、特定のコア222、224、または230のDVFSアルゴリズムに対して許容される、最大クロック周波数を設定することを含み得る。DVFSアルゴリズムは、電圧/周波数のペアの表を使用して、処理能力をスケーリングする。
【００７７】
1つのそのような動的なスケーリング技法は、許容される最大周波数を制限することによって、100万命令毎秒(MIPS)を制限することを含む。このようにして、熱ポリシーマネージャモジュール101は、コア222、224、および230の電力消費を効果的に制限しており、利用可能な能力(MIPS)を制限している。熱ポリシーマネージャモジュール101は、N個のコア222、224、230を一緒に制限すると決めることができ、または、他のコア222、224、230が制約のない方式で動作するのを許容しつつ、コア222、224、230のいずれが機能を削られるかを選択し決めることができる。熱ポリシーマネージャモジュール101、監視モジュール114、および/またはO/Sモジュール207は、コア222、224、230のいずれを制御すべきかについての決定を、熱センサ157から受け取られたデータ、またはソフトウェアアプリケーションの要件、および/または最善努力の予測に基づいて、行うことができる。
【００７８】
空間的な負荷移動という熱負荷軽減技法は、マルチコアプロセッサシステム内での、コアのアクティブ化および非アクティブ化を含む。N個の複数のコアが存在する場合、各コアは、最大でN-1個のコアを使って、作業またはコアの性能が最大限になった状態で負荷をかけられており、そして熱センサ157が発熱の問題を示すと、冷却デバイスとして機能する非アクティブなコアの位置が移動され得る。各コアは、所定のパターンで、または熱測定結果によって決まるパターンで、コアを休止状態にさせることによって、効果的に冷却され得る。MIPSホールは、コアを冷却するための数秒の間、コアの周りに事実上移動される。このようにして、数GHzの処理能力がPCD 100に対して利用可能にされ得るが、それでも、負荷を転々と移動させることによって、シリコンダイが冷却される。
【００７９】
この第2の熱状態の温度範囲は、約50℃から約80℃の範囲を含み得る。しかしながら、この第2の熱状態の他の温度範囲が、固有の熱転写を有する特定のPCD 100に対して決定され使われ得る。
【００８０】
重度の熱状態315としても知られる図7の第3の熱状態315をここで参照すると、熱ポリシーマネージャモジュール101は、熱センサ157からの割り込みの連続的な監視、調査、または受け取りを開始できるので、温度および/またはスイッチモード電源モジュール108からの電流測定値は、第2のより低温の熱状態310と比較して、より連続的に/頻繁に感知される。この例示的な熱状態315では、熱ポリシーマネージャモジュール101は、監視モジュール114および/またはO/Sモジュール207が、PCD 100の操作者によって観測される知覚できる可能性のある性能の低下を伴う、(第2の熱状態310に対して)より強力な熱軽減技法および/または追加の熱軽減技法を適用することを、適用または要求することができる。
【００８１】
この例示的な第3の熱状態315によれば、熱ポリシーマネージャモジュール101は、増幅器、プロセッサ、先進の受信機ハードウェアなどのような、1つまたは複数のハードウェアデバイスに対する、電力の低減を引き起こし得る。たとえば、この第3の熱状態315における1つの熱軽減技法は、特定のハードウェアデバイスが電流を消費または使用できる期間を制限することを含み得る。そのような熱軽減技法は、図11に関連して以下で説明される。
【００８２】
熱ポリシーマネージャモジュール101はまた、アクティブなデバイスを非接続状態にして、非アクティブなデバイスを接続状態にするために、空間的な方式で、様々なハードウェアデバイスの間で作業負荷を移動させることができる。この第3の重度の熱状態315の熱軽減技法は、第2のサービス品質熱状態310に関して上で説明された技法と同一であり得る。しかしながら、これらの同一の熱軽減技法は、より強力な方式で適用され得る。
【００８３】
たとえば、DVFSパラメータを調整する時、熱ポリシーマネージャモジュール101は、これらのパラメータがより大幅に調整されること、たとえば、第2の熱状態310と比較して大幅に低い電圧および/または周波数を実現することを、要求することができる。これらのより低い電圧および/または周波数は、性能を低下させ得る特定のアプリケーションプログラムをサポートするために推奨されるものよりも、低くてよい。
【００８４】
図7の第4の危機的な状態320をここで参照すると、熱ポリシーマネージャモジュール101は、すべての不可欠ではないハードウェアおよび/またはソフトウェアモジュールの停止を開始することができ、またはそれを行うように監視モジュール114および/またはO/Sモジュール207に要求するのを開始することができる。
【００８５】
「不可欠ではない」ハードウェアおよび/またはソフトウェアモジュールは、特定のPCD 100の各々の種類によって異なり得る。1つの例示的な実施形態によれば、すべての不可欠ではないハードウェアおよび/またはソフトウェアモジュールは、緊急の911通話機能および全地球測定衛星(「GPS」)機能以外の、すべてを含み得る。
【００８６】
このことは、この第4の危機的な熱状態320において、熱ポリシーマネージャモジュール101が、緊急の911通話およびGPS機能以外のハードウェアおよび/またはソフトウェアモジュールの停止を引き起こし得ることを意味する。熱ポリシーマネージャモジュール101は、熱センサ157によって監視されている危機的な温度、熱センサ157の位置、および熱ポリシーマネージャモジュール101によって観測されている温度変化に応じて、モジュールを順番に、かつ/または並列に停止することができる。この第4の熱状態320の温度範囲は、約100℃以上の範囲を含み得る。
【００８７】
図8は、温度の、時間および対応する熱ポリシー状態305、310、315、および320に対する、例示的なグラフ500を示す図である。温度のプロットまたは線505の第1の点503において、熱ポリシーマネージャモジュール101は、1つまたは複数の熱センサ157から、40℃という第1の割り込み温度測定値を受け取ることができる。この40℃という第1の温度測定値は、正常な熱状態305に対して設定される50℃という最大温度未満であり得るので、熱ポリシーマネージャモジュール101は、第1のすなわち正常な熱状態305にとどまり得る。
【００８８】
温度の線505上での第2の点506において、熱ポリシーマネージャモジュール101は、50℃という第2の割り込み温度測定値を受け取ることができる。50℃は、第1の熱状態305に対して選択された温度範囲内にあり得るが、最後の温度測定値からの温度変化が大幅であった場合、たとえば、短い期間内で大きな温度変化(5秒以内に3℃の変化のような)があった場合、そのような温度の変化または急上昇は、正常な熱状態305から出て、第2のQoS熱状態310を開始するように、熱ポリシーマネージャモジュール101をトリガすることができる。
【００８９】
温度の線505の第2の点506と第3の点509との間に、PCD 100の温度は50℃を超えており、熱ポリシーマネージャモジュール101は、PCD 100の温度を下げるために、1つまたは複数の熱軽減技法を要求しまたは有効にしていてよい。温度の線505の第3の点509において、熱ポリシーマネージャモジュール101は、PCD 100の熱状態を、第2の状態310から第1の正常な状態305に変更することができる。
【００９０】
第4の点512において、熱ポリシーマネージャモジュール101は、温度の傾向が上方向に動いていること、または言い換えると、温度の線505がデルタTにおいて正の傾きまたは変化を有し得ることを、観測することができる。熱ポリシーマネージャモジュール101は、このデータを考慮して、PCD 100の熱状態を第1の熱状態305から第2のQoS熱状態310に変えることができる。第2の熱状態310では、熱ポリシーマネージャモジュール101は、PCD 100により実現されるサービス品質に大幅な影響は与えないはずである、1つまたは複数の熱軽減技法を要求しまたは有効にすることができる。第2の熱状態310は、約50℃から約80℃の温度の間の、温度範囲を含み得る。
【００９１】
約80℃の大きさを有する第5の点515へと温度の線505に沿って移動すると、熱ポリシーマネージャモジュール101は、第2のQoS熱状態310から第3の重度の熱状態315への、熱状態の変化を開始することができる。前に述べられたように、この第1の熱状態の温度範囲は、約80℃と約100℃との間の範囲を含み得る。この第3の重度の熱状態315では、熱ポリシーマネージャモジュール101は、PCD 100のサービス品質および性能に影響を与え得る、複数の熱軽減技法を要求し、または有効にしていてよい。
【００９２】
第5の点515と第6の点518との間の温度の線505の区間は、第3の重度の熱状態315が、PCD 100内の温度上昇を軽減するのに成功しなかったことを反映する。したがって、約100℃の大きさを有し得る第6の点518において、熱ポリシーマネージャモジュール101は、第4の危機的な状態320に入り得る。この第4の危機的な状態320では、熱ポリシーマネージャモジュール101は、あるハードウェアおよび/またはソフトウェアコンポーネントが現在の熱負荷を軽減するために停止され得ることを、有効にし、または要求することができる。上で述べられたように、熱ポリシーマネージャモジュール101は、緊急の911通話機能およびGPS機能以外の、任意のハードウェアおよび/またはソフトウェアコンポーネントを、この第4の熱状態320の間に停止させることができる。
【００９３】
第7の点521へと温度の線505に沿って移動すると、第6の点518と第7の点521との間の線505の区間は、危機的な温度状態320および重度の温度状態315が、PCD 100の温度を下げるのに成功したことを反映する。前に述べられたように、1つまたは複数の熱状態は、熱センサ157によって測定され熱ポリシーマネージャモジュール101によって観測される温度に応じて、飛ばされてよくまたはスキップされてよい。さらに、より低い熱状態に戻る時、熱ポリシーマネージャモジュール101がたどる熱状態は、ヒステリシスと類似し得る。
【００９４】
図9A〜図9Bは、PCD 100の現在の温度に基づいて熱軽減技法を決定するための副方法430を示す、論理フローチャートである。副方法またはルーチン430は、図5のブロック425の後で行われるように示されるが、図5の主要な方法400は、図9A〜図9Bの副方法430と並行して作動または実行し続けてよいことに留意されたい。つまり、図5の方法400で説明される電流測定値は、この副方法430が実行されている間、取得され続けてよい。
【００９５】
図9Aの方法430Aは、第1のブロック615で開始し、そこで、熱ポリシーマネージャモジュール101が、熱センサ157とスイッチモード電源モジュール108の電流測定値との監視の頻度を上げることができる。ブロック615において、熱ポリシーマネージャモジュール101は、熱センサ157をより頻繁にアクティブに調査することができ、または、温度データを提供する割り込みをより頻繁に送るように、熱センサ157に要求することができる。熱ポリシーマネージャモジュール101はまた、電流測定値について、スイッチモード電源モジュール108をより頻繁に調査することができる。熱センサ157およびスイッチモード電源モジュール108の監視のこの増加は、第1の正常な状態305において起こってよく、また、第2のサービス品質熱状態310において起こってもよい。
【００９６】
あるいは、ブロック615は、ブロック620の後へと完全に移動されてもよい。こうすると、センサ157による熱の監視の増加は、次の熱状態、すなわちQoS状態に達した場合にのみ起こる。以下で説明されるように、本開示で説明される方法は、当業者が理解するように、実施形態の各々の特定の順序に限定されない。
【００９７】
次に、判定ブロック620において、熱ポリシーマネージャモジュール101が、PCD 100が次の熱状態に達したかまたは到達したかどうかを判定することができる。この判定ブロック620において、熱ポリシーマネージャモジュール101は、第2の熱状態310に割り当てられた温度範囲に到達したかどうかを、判定していてよい。あるいは、この判定ブロック620において、熱ポリシーマネージャは、ある時間にわたる大幅な温度変化(デルタT)が最後の測定値に対して発生したかどうかを、判定していてよい。
【００９８】
判定ブロック620への照会が否定的であれば、図5のブロック405への「NO」の分岐に戻る。判定ブロック620への照会が肯定的であれば、ルーチンまたは副方法625への「YES」の分岐に進む。ルーチンまたは副方法625は、QoS状態310とも呼ばれる第2の熱状態310を含んでよく、この状態において、熱ポリシーマネージャモジュール101は、図7に関して上で説明された1つまたは複数の熱軽減技法を、適用または要求することができる。たとえば、熱ポリシーマネージャモジュール101は、限定はされないが、上で説明されたような(1)負荷のスケーリングおよび/または(2)負荷の動的なスケーリングのような熱軽減技法を開始するように、監視モジュール114および/またはO/Sモジュール207に要求することができる。このルーチンまたは副方法625によれば、最高の電流負荷を有するものとして図5のブロック425において特定されたハードウェアデバイスは、このQoS状態310において開始される任意の熱軽減技法に関して最初に選択される。
【００９９】
次に、判定ブロック630において、熱ポリシーマネージャモジュール101は、第2のQoS状態310の1つまたは複数の熱軽減技法が成功したかどうか、および、1つまたは複数の熱センサ157により検出された現在の温度が第1の正常な状態305の次に低い温度範囲の中に入るかどうかを、判定することができる。判定ブロック630への照会が肯定的であれば、図5のブロック435への「YES」の分岐に戻る。判定ブロック630への照会が否定的であれば、判定ブロック635への「NO」の分岐に進む。
【０１００】
判定ブロック635において、熱ポリシーマネージャモジュール101は、PCD 100が現在第3の重度の熱状態315に入っているかどうかを、1つまたは複数の熱センサ157により検出される温度に従って、判定することができる。あるいは、熱ポリシーマネージャモジュール101は、PCD 100が第3の重度の熱状態315に入っているかどうかを、大幅な温度変化(デルタT)が起きたかどうかを判定することによって、判定することができる。
【０１０１】
判定ブロック635への照会が否定的であれば、ブロック620への「NO」の分岐に戻る。判定ブロック635への照会が肯定的であれば、副方法またはサブルーチン640への「YES」の分岐に進む。
【０１０２】
副方法またはサブルーチン640において、熱ポリシーマネージャモジュール101は、PCD 100が第3の重度の熱状態に入ったと判定している。熱ポリシーマネージャモジュール101は次いで、1つまたは複数の熱軽減技法が適用されることを、有効にし、または要求することができる。前に述べられたように、この第3の重度の熱状態315において、熱ポリシーマネージャモジュール101は、熱センサ157、さらにはスイッチモード電源モジュール108からの割り込みの連続的な監視、調査、または受け取りを開始できるので、温度および電流測定値は、第2のより低温の状態310と比較して、より連続的に/頻繁に感知される。
【０１０３】
この例示的な第3の熱状態315では、熱ポリシーマネージャモジュール101は、監視モジュール114および/またはO/Sモジュール207が、PCD 100の操作者によって観測される知覚できる可能性のある性能の低下を伴う、(第2の熱状態310よりも)強力な熱軽減技法および/または追加の熱軽減技法を適用することを、適用または要求することができる。この例示的な熱状態315によれば、熱ポリシーマネージャモジュール101は、図5のブロック425において特定された、増幅器、プロセッサ、先進の受信機ハードウェアなどのような、1つまたは複数のハードウェアデバイスに対する、それらの電流測定値に基づく電力の低減を引き起こし得る。これらのハードウェアデバイスへの電力の低減は、以下で説明される図10に示される電流タイミング熱軽減技法によって管理され得る。
【０１０４】
熱ポリシーマネージャモジュール101はまた、アクティブなデバイスを非接続状態にして、非アクティブなデバイスを接続状態にするために、空間的な方式で、図5のブロック425において特定された様々なハードウェアデバイスの間で作業負荷を移動させることができる。この第3の重度の熱状態315の熱軽減技法は、第2のサービス品質熱状態310に関して上で説明された技法と同一であり得る。しかし、これらの同一の熱軽減技法は、より強力な方式で適用され得る。別の例として、DVFSパラメータを調整する時、熱ポリシーマネージャモジュール101は、これらのパラメータがより大幅に調整されること、たとえば、第2の熱状態310と比較して大幅に低い電圧および/または周波数を実現することを、要求することができる。これらのより低い電圧および/または周波数は、特定のアプリケーションプログラムをサポートするために推奨されるものよりも、低くてよい。
【０１０５】
次に、判定ブロック645において、熱ポリシーマネージャモジュール101は、副方法またはルーチン640において適用された1つまたは複数の熱軽減技法がPCD 100の温度の上昇を防ぐのに成功したかどうかを、判定することができる。判定ブロック645への照会が否定的であれば、図6Bのステップ655への「NO」の分岐に進む。判定ブロック645への照会が肯定的であれば、「YES」の分岐がステップ650に進み、そこで熱ポリシーマネージャモジュール101が、1つまたは複数の熱センサ157により提供される温度測定値に基づいて、PCD 100の現在の熱状態を判定する。ブロック650における温度測定値に応じて、副方法430は、図9Aのブロック625と図5のブロック435のいずれかに進み得る。
【０１０６】
ここで図9Bを参照すると、この図は、図9Aに示されるフローチャートに対する、続きのフローチャートである。図9Bの方法430Bは判定ブロック655において開始し、そこで、熱ポリシーマネージャモジュール101は、PCD 100が第4の危機的な熱状態320に入っているかどうかを、1つまたは複数の熱センサ157により検出される温度に基づいて、判定することができる。
【０１０７】
判定ブロック655への照会が否定的である場合、「NO」の分岐がステップ660に進み、そこで、熱ポリシーマネージャモジュール101は、PCD 100を第3の重度の熱状態315へと戻し、プロセスは図6Aのブロック635に戻る。あるいは、温度が2レベルまたは3レベル下がると、方法は、図9Aのブロック625と図5のブロック435のいずれかに戻り得る。
【０１０８】
判定ブロック655への照会が肯定的であれば、「YES」の分岐が副方法またはルーチン665に進み、そこで熱ポリシーマネージャモジュール101が、1つまたは複数の危機的な熱軽減技法が有効にされることを、有効にし、または要求する。この第4の危機的な熱状態320において、熱ポリシーマネージャモジュール101は、緊急の911通話およびGPS機能以外のハードウェアおよび/またはソフトウェアモジュールの完全な停止を引き起こし得る。熱ポリシーマネージャモジュール101は、最高の電流測定値を有する図5のブロック425で特定されたハードウェアデバイスに基づく優先順序で、ハードウェアデバイスの停止を開始することができる。熱ポリシーマネージャモジュール101は、熱センサ157によって監視されている危機的な温度、スイッチモード電源モジュール108からの電流測定値、および熱ポリシーマネージャモジュール101によって観測されている温度変化に応じて、モジュールを順番に、かつ/または並列に停止することができる。
【０１０９】
次いで、判定ブロック670において、熱ポリシーマネージャモジュール101は、ルーチンまたは副方法665において適用された熱軽減技法が、熱センサ157により検出されるようなPCD 100の温度の上昇を防ぐのに成功したかどうかを、判定することができる。判定ブロック670への照会が否定的であれば、ルーチンまたは副方法665への「NO」の分岐に進む。
【０１１０】
判定ブロック670への照会が肯定的であれば、「YES」の分岐がステップ675に進み、そこで熱ポリシーマネージャモジュール101が、1つまたは複数の熱センサ157により供給される温度測定値に基づいて、PCD 100の現在の熱状態を判定する。温度測定値が熱ポリシーマネージャモジュール101によって評価されると、熱ポリシーマネージャモジュール101は、熱センサ157により検出される温度範囲に対応する熱状態を開始する(またはそれに戻る)。このことは、副方法430が、図5のブロック435、図9Aのブロック625、または図9Aのブロック640に進み得ることを意味する。
【０１１１】
図10は、動的電圧周波数スケーリング(「DVFS」)熱軽減技法を適用するための副方法またはサブルーチン625、640A、および665を示す、論理フローチャートである。DVFSアルゴリズムは、ある熱条件が上で説明されたように満たされる場合に、熱ポリシーマネージャモジュール101によってトリガされ得る少なくとも1つの熱軽減技法を形成することができ、またはその一部であり得る。
【０１１２】
当業者が理解するように、高性能と低消費電力を実現するプロセッサに対する需要により、プロセッサ設計において、動的電圧周波数スケーリング(「DVFS」)のような様々な電力管理技法が使用されるようになった。DVFSは、消費電力と性能との間のトレードオフを可能にする。プロセッサ110および126(図1、図2A〜図2B)は、各プロセッサのクロック周波数を、電圧の対応する調整によって調整できるようにすることによって、DVFSを利用するように設計され得る。
【０１１３】
動作電圧を低減すると、通常それに比例して消費電力が節減される。DVFS対応のプロセッサ110、126の1つの主要な問題は、性能と電力節減との間のバランスをどのように制御するかということである。
【０１１４】
ブロック705は、DVFS熱軽減技法を適用するための副方法またはサブルーチンの最初のステップである。この最初のブロック705において、熱ポリシーマネージャモジュール101は、熱センサ157によって提供される温度測定値に基づいて、現在の熱状態を判定することができる。現在の熱状態が熱ポリシーマネージャモジュール101によって判定されると、熱ポリシーマネージャモジュール101は次いで、ブロック710において、現在のDVFS設定を見直すことができる。次に、ブロック715において、熱ポリシーマネージャモジュール101は、1つまたは複数のハードウェアおよび/またはソフトウェアモジュールの現在の作業負荷を見直すことができる。
【０１１５】
次に、ブロック720において、熱ポリシーマネージャモジュール101は、熱ポリシーマネージャモジュール101により判定された現在の熱状態に従って、熱負荷条件を軽減するように作業負荷を低減し、または作業負荷を空間的に移動させるために、電圧および/または周波数を含み得る現在のDVFS設定を調整することができ、またはそのための命令を発することができる。
【０１１６】
よって第2のQoS熱状態310では、ブロック720において、熱ポリシーマネージャモジュール101は、PCD 100の操作者によって知覚されるようなサービス品質の低下の知覚をほとんどまたはまったく伴わずに高い性能を維持する目的で熱軽減技法の適用を開始するように、図2Aの監視モジュール114および/またはオペレーティングシステム(「O/S」)モジュール207を開始し、またはそれに要求することができる。
【０１１７】
図7に示されるこの例示的な第2の熱状態310によれば、熱ポリシーマネージャモジュール101は、限定はされないが、(1)負荷のスケーリングおよび/または(2)負荷の動的なスケーリングのような熱軽減技法を開始するように、監視モジュール114および/またはO/Sモジュール207に要求することができる。負荷スケーリングは、DVFSアルゴリズムにおいて許容される最大クロック周波数を調整または「スケーリング」することを含み得る。
【０１１８】
第3の重度の熱状態315では、ブロック720において、熱ポリシーマネージャモジュール101は、熱センサ157からの割り込み、およびスイッチモード電源モジュール108からの電流測定値の連続的な監視、調査、または受け取りを開始できるので、電流および温度は、第2のより低温の熱状態310と比較して、より連続的に/頻繁に感知される。この例示的な第3の熱状態315では、熱ポリシーマネージャモジュール101は、監視モジュール114および/またはO/Sモジュール207が、以下で説明される図11に示される電流タイミング技法のような、PCD 100の操作者によって観測される知覚できる可能性のある性能の低下を伴う、(第2の熱状態310よりも)強力な熱軽減技法および/または追加の熱軽減技法を適用することを、適用または要求することができる。この例示的な第3の熱状態315によれば、熱ポリシーマネージャモジュール101は、増幅器、プロセッサ、先進の受信機ハードウェアなどのような、1つまたは複数のハードウェアデバイスに対する、電力の低減を引き起こし得る。
【０１１９】
熱ポリシーマネージャモジュール101はまた、アクティブなデバイスを非接続状態にして、非アクティブなデバイスを接続状態にするために、空間的な方式で、様々なハードウェアデバイスの間で作業負荷を移動させることができる。この第3の重度の熱状態315の熱軽減技法は、第2のサービス品質熱状態310に関して上で説明された技法と同一であり得る。しかし、これらの同一の熱軽減技法は、より強力な方式で適用され得る。たとえば、DVFSパラメータを調整する時、熱ポリシーマネージャモジュール101は、これらのパラメータがより大幅に調整されること、たとえば、第2の熱状態310と比較して大幅に低い電圧および/または周波数を実現することを、要求することができる。これらのより低い電圧および/または周波数は、特定のアプリケーションプログラムをサポートするために推奨されるものよりも、低くてよい。
【０１２０】
第4の危機的な熱状態320では、ブロック720において、この熱状態320は、危機的な温度を回避するために、PCD 100の機能および動作を中止するように設計される、従来の技法と同様であり得る。第4の熱状態320は、熱ポリシーマネージャモジュール101が、不可欠ではないハードウェアおよび/またはソフトウェアの停止を適用またはトリガする、「危機的」状態を含み得る。この第4の熱状態の温度範囲は、約100℃以上の範囲を含み得る。副方法625、640、または665は次いで、PCD 100の現在の熱状態に応じて、熱管理方法600における適切なステップに戻る。
【０１２１】
図11は、所定の期間、PCD 100の中のハードウェアデバイスへの電流を低減することによって熱負荷を低減するための、別の例示的な副方法640Bを示す、論理フローチャートである。この例示的な副方法640Bは、PCD 100の操作者によって知覚されるようなサービス品質への影響および性能の低下がある可能性が高いので、PCD 100が図7に示されるような第3の重度の熱ポリシー状態315に入った場合にのみ、利用可能であり得る。しかしながら、代替の例示的な実施形態では、この副方法640Bは、図7に示されるようなQoS熱ポリシー状態310および危機的な熱ポリシー状態320のような、他の熱ポリシー状態に対して利用可能であり得る。
【０１２２】
ブロック805は、副方法640Bの第1のステップであり、そのステップで、熱ポリシーマネージャモジュール101は、チップ102上に存在するハードウェアデバイスをアクティブ化するための、ソフトウェアからの要求またはタスクを監視し始めることができる。次に、ブロック810において、熱ポリシーマネージャモジュール101は、機能または動作をサポートするために、ハードウェアデバイスを作動させるための要求をソフトウェアから受け取ることができる。ブロック815において、熱ポリシーマネージャ101は、ソフトウェアから行われる要求を完了するのに必要な、実行時間の長さと電流の量とを決定することができる。
【０１２３】
次に、ブロック820において、ブロック815における計算に基づいて、熱ポリシーマネージャは、あらゆる有害な熱負荷の発生を軽減するために、要求されたハードウェアデバイスがより短い期間しか作動しないようにし得る。そして、副方法は図9Aのブロック645に戻る。
【０１２４】
上で説明される本発明のシステムおよび方法を考慮すれば、相手先ブランド製造業者(「OEM」)は、ポータブルコンピューティングデバイス100が発生させる熱を低減するための1つまたは複数の熱軽減技法を開始するための様々な条件を含み得る、図6〜図7で示されるような、熱状態305、310、315、および320のセットを有するように、熱ポリシーマネージャモジュール101をプログラムすることができる。OEMは、図7に示されるような、熱ポリシーマネージャモジュール101のための各々の熱状態(図6の305、310、315、320)に対応する熱軽減技法のセットを選択することができる。
【０１２５】
熱軽減技法の各セットは、特定の熱状態(図7の305、310、315、および320のような)に対して固有であり得る。熱ポリシーマネージャモジュール101は、温度閾値が使用される図8に示されるような各々の熱軽減技法のための閾値を有するように、OEMによってプログラムされ得る。図7に示されるような各々の熱軽減技法は、他の既存の熱軽減技法に対する固有の電力低減アルゴリズムを含み得る。
【０１２６】
OEMは、特定の熱軽減技法と関連付けられる電力低減の1つまたは複数の大きさを有するように、熱ポリシーマネージャモジュール101をプログラムすることができる。他の実施形態では、OEMは、ポータブルコンピューティングデバイスが発生させる熱を低減するための一連の段階的なステップにおいて、ポータブルコンピューティングデバイスのサービス品質を犠牲にする、複数の熱軽減技法を有するように、熱ポリシーマネージャモジュール101をプログラムすることができる。
【０１２７】
OEMは、ポータブルコンピューティングデバイス100によって実行されているアプリケーションプログラムによって生成される機能に基づいて、順番に熱軽減技法を有効にするように、熱ポリシーマネージャモジュール101をプログラムすることができる。たとえば、各アルゴリズムは、ポータブルコンピューティングデバイス100上で作動するアプリケーションプログラムによって実行されている、特定の機能またはタスクに基づいて有効にされ得る。
【０１２８】
本発明が説明通りに機能するように、本明細書で説明したプロセスまたはプロセスの流れの特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、ステップの順序または手順によって本発明の機能が変わることがない場合、本発明は説明したステップの順序に限定されない。つまり、本発明の範囲および趣旨から逸脱することなく、あるステップを他のステップの前に実行しても、後に実行してもよく、または他のステップと並行して(実質的に同時に)実行してもよいことを認識されたい。いくつかの事例では、あるステップが、本発明から逸脱することなく、省略されてもよく、または実行されなくてもよい。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
【０１２９】
加えて、プログラミングの当業者は、たとえば本明細書のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を特定し、開示された発明を容易に実施することができる。
【０１３０】
したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示が、本発明をどのように製作し使用すべきかについて適切に理解するうえで必要であるとはみなされない。特許請求されるコンピュータで実施される処理の発明性のある機能は、上の説明において、かつ、様々な処理の流れを示し得る図面とともに、より詳細に説明される。
【０１３１】
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体上で送信され得る。
【０１３２】
この文書の文脈では、コンピュータ可読媒体は、コンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる、電子式、磁気式、光学式、または他の物理デバイスまたは手段である。様々な論理素子およびデータストアは、たとえばコンピュータベースのシステム、プロセッサを含むシステム、または命令実行システム、装置、もしくはデバイスから命令をフェッチし、命令を実行することができる他のシステムのような、命令実行システム、装置、もしくはデバイスによって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に組み込まれ得る。この文書の文脈では、「コンピュータ可読媒体」は、命令実行システム、装置、またはデバイスによって、またはそれと関連して使用するためのプログラムを記憶、通信、伝搬、または伝送することができる任意の手段を含み得る。
【０１３３】
コンピュータ可読媒体は、限定はされないがたとえば、電子式、磁気式、光学式、電磁式、赤外線式、または半導体の、システム、装置、デバイス、または伝搬媒体であってよい。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)には、1つまたは複数の配線を有する電気的接続(電子式)、ポータブルコンピュータディスケット(磁気式)、ランダムアクセスメモリ(RAM)(電子式)、読取り専用メモリ(ROM)(電子式)、消去可能プログラマブル読取り専用メモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子式)、光ファイバー(光学式)、および携帯式コンパクトディスク読取り専用メモリ(CD-ROM)(光学式)が含まれよう。プログラムは、たとえば紙または他の媒体の光学走査を介して、電子的に記録され、次いで、コンパイルされ、解釈され、または場合によっては、必要に応じて適切な方法で処理され、次いでコンピュータメモリに記憶され得るので、コンピュータ可読媒体は、プログラムが印刷される紙または別の適切な媒体でさえあり得ることに留意されたい。
【０１３４】
コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、任意の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。
【０１３５】
また、任意の接続をコンピュータ可読媒体と呼ぶのが妥当である。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【０１３６】
本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(「CD」)、レーザディスク、光ディスク、デジタル多用途ディスク(「DVD」)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１３７】
したがって、選択された態様について詳細に図示し説明したが、以下の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されよう。
【符号の説明】
【０１３８】
100  ポータブルコンピューティングデバイス
101A  主要な熱ポリシーマネージャモジュール
101B  熱ポリシーマネージャモジュール
102  オンチップシステム
103  アナログデジタルコンバータコントローラ
105A  第1の電力調整器
105B  第2の電力調整器
105N  第Nの電力調整器
107  電源管理集積回路
108A  第1のスイッチモード電源モジュール
108B  第2のスイッチモード電源モジュール
108C  第3のスイッチモード電源モジュール
108N  第Nのスイッチモード電源モジュール
109  WLAN
110  アプリケーションCPU
111N  第Nのプロセッサ
112  内部メモリ
114  監視モジュール
126  アナログシグナルプロセッサ
134A  第1のグラフィックプロセッサ
134B  第2のグラフィックプロセッサ
134C  第3のグラフィックプロセッサ
134D  第4のグラフィックプロセッサ
157A1  第1の内部熱センサ
157A2  第2の内部熱センサ
157A3  第3の内部熱センサ
157A4  第4の内部熱センサ
157A5  第5の内部熱センサ
157B1  第1の外部熱センサ
157B2  第2の外部熱センサ
168  RF送受信機
173  デジタルアナログコントローラ
177  ARM
180  電源
205  外部の熱源
207  オペレーティングシステムモジュール
209A  位相ロックループ
209B  位相ロックループ
222  第0のコア
224  第1のコア
230  第Nのコア
【図１】
0005649260.tif 000002
【図２Ａ】
0005649260.tif 000003
【図２Ｂ】
0005649260.tif 000004
【図３】
0005649260.tif 000005
【図４】
0005649260.tif 000006
【図５】
0005649260.tif 000007
【図６】
0005649260.tif 000008
【図７】
0005649260.tif 000009
【図８】
0005649260.tif 000010
【図９Ａ】
0005649260.tif 000011
【図９Ｂ】
0005649260.tif 000012
【図１０】
0005649260.tif 000013
【図１１】
0005649260.tif 000014