(57)【特許請求の範囲】
【請求項１】
ポータブルコンピューティングデバイスにおける熱管理のための方法であって、
集積回路ダイ上の少なくとも1つの第1の温度センサ、および前記集積回路ダイ上ではなく前記ポータブルコンピューティングデバイスのハウジング内にある少なくとも1つの第2の温度センサを含む複数の温度センサを監視するステップであって、前記第1の温度センサの時定数は、前記第2の温度センサの時定数未満である、ステップと、
前記複数の温度センサを監視することに応じて、温度変化を検出するステップと、
温度変化を検出することに応じて、前記少なくとも1つの第1の温度センサに応答する第1の温度値と、前記少なくとも1つの第2の温度センサに応答する第2の温度値との間の差を計算するステップと、
前記差を閾値と比較し、瞬間的な作業負荷が生じているか否かを判定するステップと、
前記瞬間的な作業負荷が生じていないと判定したことに応じて、第1の熱管理構成を選択するステップと、
前記瞬間的な作業負荷が生じていると判定したことに応じて、第2の熱管理構成を選択すると、
前記第1の熱管理構成および前記第2の熱管理構成のうちの選択された熱管理構成を前記ポータブルコンピューティングデバイスに適用するステップと
を含む方法。
【請求項２】
前記第1の熱管理構成および前記第2の熱管理構成のうちの選択された熱管理構成を前記ポータブルコンピューティングデバイスに適用する前記ステップは、前記第1の熱管理構成および前記第2の熱管理構成が記憶されているメモリにアクセスするステップを含む、請求項1に記載の方法。
【請求項３】
前記第1の熱管理構成は、第1のクロック周波数を前記集積回路の処理要素に適用することを含み、前記第2の熱管理構成は、第2のクロック周波数を前記集積回路の前記処理要素に適用することを含む、請求項1に記載の方法。
【請求項４】
前記複数の温度センサを監視する前記ステップは、前記集積回路のプロセッサに関連付けられた前記少なくとも1つの第1の温度センサを監視するステップを含む、請求項1に記載の方法。
【請求項５】
前記少なくとも1つの第1の温度センサは、絶対温度に比例する(「PTAT」)センサを含む、請求項4に記載の方法。
【請求項６】
前記少なくとも1つの第2の温度センサは、サーミスタを含む、請求項1に記載の方法。
【請求項７】
前記ポータブルコンピューティングデバイスは、モバイル電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続もしくはリンクを有するハンドヘルドコンピュータのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項８】
ポータブルコンピューティングデバイスにおける熱管理のためのシステムであって、
集積回路ダイ上の少なくとも1つの第1の温度センサであって、第1の時定数を含む、少なくとも1つの第1の温度センサと、
前記集積回路ダイ上ではなく前記ポータブルコンピューティングデバイスのハウジング内にある少なくとも1つの第2の温度センサであって、前記第1の時定数よりも大きい第2の時定数を含む、少なくとも1つの第2の温度センサと、
前記少なくとも1つの第1の温度センサ、および前記少なくとも1つの第2の温度センサを監視して、温度変化を検出するように構成された監視モジュールと、
前記少なくとも1つの第1の温度センサに応答する第1の温度値と、前記少なくとも1つの第2の温度センサに応答する第2の温度値との間の差を計算し、
前記差を閾値と比較し、瞬間的な作業負荷が生じているか否かを判定し、
前記瞬間的な作業負荷が生じていないと判定したことに応じて、第1の熱管理構成を選択し、
前記瞬間的な作業負荷が生じていると判定したことに応じて、第2の熱管理構成を選択するように構成された作業負荷判定モジュールと、
前記第1の熱管理構成、および前記第2の熱管理構成のうちの前記選択された熱管理構成を前記ポータブルコンピューティングデバイスに適用するように構成された熱管理モジュールと
を備えるシステム。
【請求項９】
前記第1の熱管理構成および前記第2の熱管理構成は、メモリに記憶される、請求項8に記載のシステム。
【請求項１０】
前記第1の熱管理構成は、第1のクロック周波数を前記集積回路の処理要素に適用することを含み、前記第2の熱管理構成は、第2のクロック周波数を前記集積回路の前記処理要素に適用することを含む、請求項8に記載のシステム。
【請求項１１】
前記少なくとも1つの第1の温度センサは、前記集積回路のプロセッサに関連付けられる、請求項8に記載のシステム。
【請求項１２】
前記少なくとも1つの第1の温度センサは、絶対温度に比例する(「PTAT」)センサである、請求項11に記載のシステム。
【請求項１３】
前記少なくとも1つの第2の温度センサは、サーミスタである、請求項8に記載のシステム。
【請求項１４】
前記ポータブルコンピューティングデバイスは、モバイル電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続もしくはリンクを有するハンドヘルドコンピュータのうちの少なくとも1つを含む、請求項8に記載のシステム。
【請求項１５】
ポータブルコンピューティングデバイスにおける熱管理のためのシステムであって、
集積回路ダイ上の少なくとも1つの第1の温度センサ、および前記集積回路ダイ上ではなく前記ポータブルコンピューティングデバイスのハウジング内にある少なくとも1つの第2の温度センサを含む複数の温度センサを監視するための手段であって、前記第1の温度センサの時定数は、前記第2の温度センサの時定数未満である、手段と、
前記複数の温度センサを監視することに応じて、温度変化を検出するための手段と、
温度変化を検出することに応じて、作業負荷を決定するために、前記少なくとも1つの第1の温度センサに応答する第1の温度値と、前記少なくとも1つの第2の温度センサに応答する第2の温度値との間の差を計算するための手段と、
前記差を閾値と比較し、瞬間的な作業負荷が生じているか否かを判定するための手段と、
前記瞬間的な作業負荷が生じていないと判定したことに応じて、第1の熱管理構成を選択するための手段と、
前記瞬間的な作業負荷が生じていると判定したことに応じて、第2の熱管理構成を選択するための手段と、
前記第1の熱管理構成および前記第2の熱管理構成のうちの選択された熱管理構成を前記ポータブルコンピューティングデバイスに適用するための手段と
を備えるシステム。
【請求項１６】
前記第1の熱管理構成および前記第2の熱管理構成は、メモリに記憶される、請求項15に記載のシステム。
【請求項１７】
前記第1の熱管理構成は、第1のクロック周波数を前記集積回路の処理要素に適用することを含み、前記第2の熱管理構成は、第2のクロック周波数を前記集積回路の前記処理要素に適用することを含む、請求項15に記載のシステム。
【請求項１８】
前記少なくとも1つの第1の温度センサは、前記集積回路のプロセッサに関連付けられる、請求項15に記載のシステム。
【請求項１９】
前記少なくとも1つの第1の温度センサは、絶対温度に比例する(「PTAT」)センサである、請求項18に記載のシステム。
【請求項２０】
前記少なくとも1つの第2の温度センサは、サーミスタである、請求項15に記載のシステム。
【請求項２１】
前記ポータブルコンピューティングデバイスは、モバイル電話、携帯情報端末、ページャ、スマートフォン、ナビゲーションデバイス、およびワイヤレス接続もしくはリンクを有するハンドヘルドコンピュータのうちの少なくとも1つを含む、請求項15に記載のシステム。
【請求項２２】
プロセッサで実行可能な論理を含むコンピュータ可読記憶媒体であって、ポータブルコンピューティングデバイスの処理システムにより前記論理が実行されると、
集積回路ダイ上の少なくとも1つの第1の温度センサ、および前記集積回路ダイ上ではなく前記ポータブルコンピューティングデバイスのハウジング内にある少なくとも1つの第2の温度センサを含む複数の温度センサを監視することであって、前記第1の温度センサの時定数は、前記第2の温度センサの時定数未満である、監視すること、
前記複数の温度センサを監視することに応じて、温度変化を検出すること、
温度変化を検出することに応じて、作業負荷を決定するために、前記第1の温度センサに応答する第1の温度値と、前記第2の温度センサに応答する第2の温度値との間の差を計算すること、
前記差を閾値と比較し、瞬間的な作業負荷が生じているか否かを判定すること、
前記瞬間的な作業負荷が生じていないと判定したことに応じて、第1の熱管理構成を選択すること、
前記瞬間的な作業負荷が生じていると判定したことに応じて、第2の熱管理構成を選択すること、ならびに
前記第1の熱管理構成および前記第2の熱管理構成のうちの選択された熱管理構成を前記ポータブルコンピューティングデバイスに適用すること
を実施するように前記処理システムが構成される、記憶媒体。
【請求項２３】
前記プロセッサは、前記第1の熱管理構成および前記第2の熱管理構成が記憶されているメモリにアクセスするように構成されることにより、前記第1の熱管理構成および前記第2の熱管理構成のうちの選択された熱管理構成を前記ポータブルコンピューティングデバイスに適用するように構成される、請求項22に記載の記憶媒体。
【請求項２４】
前記第1の熱管理構成は、第1のクロック周波数を前記集積回路の処理要素に適用することを含み、前記第2の熱管理構成は、第2のクロック周波数を前記集積回路の前記処理要素に適用することを含む、請求項22に記載の記憶媒体。
【請求項２５】
前記プロセッサは、前記集積回路のプロセッサに関連付けられた前記第1の温度センサを監視するように構成されることにより、前記複数の温度センサを監視するように構成される、請求項22に記載の記憶媒体。
【請求項２６】
前記少なくとも1つの第1の温度センサは、絶対温度に比例する(「PTAT」)センサを含む、請求項25に記載の記憶媒体。
【請求項２７】
前記少なくとも1つの第2の温度センサは、サーミスタを含む、請求項22に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業負荷検出に基づくコンピューティングデバイスにおける熱管理に関する。
【背景技術】
【０００２】
ポータブルコンピューティングデバイス(「PCD」)は、個人レベルおよび職業レベルで、人々の必需品になりつつある。これらのデバイスは、セルラー電話、携帯情報端末、ポータブルゲーム機、パームトップコンピュータ、および他のポータブル電子要素を含むことができる。
【０００３】
動作において、PCD内の電子回路は、熱または熱エネルギーを生成するが、それは、過度のレベルでは、回路に対して有害なものになり得る。生成される熱エネルギーの量は、動作条件に応じて変化する可能性がある。たとえば、PCDが高い電力レベルで長い時間期間にわたりデータをワイヤレスで送信している事例では、アンテナに供給している電力増幅器は、有害になり得る量の熱エネルギーを生成する可能性がある。プロセッサなどの集積回路チップはまた、高い作業負荷レベルで動作するとき、かなりの熱エネルギーを生成する可能性がある。
【０００４】
いくつかのPCDは、PCDプロセッサが、PCDまたはその一部が閾値または危険な温度に達したかどうかを判定するために監視できる、電子回路の近くに位置する熱センサを含む。熱センサの読取り値が、PCDがそのような閾値温度に達したことを示す場合、プロセッサは、熱エネルギー生成を低下させる、またはその他の形で熱エネルギーの影響を軽減するように意図されたアクションを開始することができる。たとえば、プロセッサは、PCDが過度の熱エネルギーを放散させることができるように、電力増幅器など、熱エネルギーを生成する電子装置のいくつかに対する電力を一時的に低下させることができる。プロセッサが行うことのできる別のアクションは、ダイバーシティ受信機機能を有する送受信機における受信機ダイバーシティなど、いくつかの電力集約型の機能を使用不可にすることである。プロセッサが行うことのできるさらに別のアクションは、送信機の処理量を低減させることである。1つまたは複数の閾値レベルを超える1つまたは複数の温度読取り値に応じて、プロセッサが行う1組のアクションは、「熱管理スキーム」と呼ぶことができる。プロセッサは、センサおよび関係する閾値レベルに応じて、いくつかの熱管理スキームの1つを選択することができる。
【発明の概要】
【課題を解決するための手段】
【０００５】
一定の作業負荷により生ずる温度変化と、瞬間的な作業負荷により生ずる温度変化とを区別するシステム、方法、およびコンピュータプログラム製品が、ポータブルコンピューティングデバイスにおける熱管理に対して開示される。
【０００６】
熱管理のための例示的な方法では、複数の温度センサが監視される。温度センサは、集積回路ダイ上に少なくとも1つの第1の温度センサと、集積回路ダイ上ではなくポータブルコンピューティングデバイスのハウジング内にある少なくとも1つの第2の温度センサとを含む。温度変化が検出された場合、少なくとも1つの第1の温度センサに応答する第1の温度値と、少なくとも1つの第2の温度センサに応答する第2の温度値との間の差が計算される。その差は、次いで閾値と比較される。比較の結果に応じて、第1の熱管理構成または第2の熱管理構成のいずれかが選択され、ポータブルコンピューティングデバイスに適用される。
【０００７】
熱管理のための例示的なシステムは、集積回路ダイ上に少なくとも1つの第1の温度センサと、集積回路ダイ上ではなくポータブルコンピューティングデバイスのハウジング内にある少なくとも1つの第2の温度センサとを含む。例示的なシステムは、第1および第2の温度センサを監視し、かつ温度変化を検出するように構成された監視モジュールをさらに含む。例示的なシステムはまた、少なくとも1つの第1の温度センサに応答する第1の温度値と、少なくとも1つの第2の温度センサに応答する第2の温度値との間の差を計算し、その差を閾値と比較し、比較の結果に応じて、第1の熱管理構成または第2の熱管理構成のいずれかを選択し、かつ選択された熱管理構成をポータブルコンピューティングデバイスに適用するように構成された作業負荷判定モジュールを含む。
【０００８】
熱管理のための例示的なコンピュータプログラム製品は、非一時的な記憶媒体で実施されるプロセッサで実行可能な論理を含む。プロセッサシステムにより論理が実行されると、集積回路ダイ上にある少なくとも1つの第1の温度センサ、および集積回路ダイ上ではなくポータブルコンピューティングデバイスのハウジング内にある少なくとも1つの第2の温度センサを含む複数の温度センサを監視すること、複数の温度センサを監視することに応じて温度変化を検出すること、温度変化を検出することに応じて、少なくとも1つの第1の温度センサに応答する第1の温度値と、少なくとも1つの第2の温度センサに応答する第2の温度値との間の差を計算すること、その差を閾値と比較すること、その差を閾値と比較した結果に応じて、第1の熱管理構成および第2の熱管理構成の一方を選択すること、および選択された熱管理構成をポータブルコンピューティングデバイスに適用することを実施するようにプロセッサシステムが構成される。
【０００９】
図では、同様の参照数字は、その他の形で示されない限り、様々な図の全体を通して同様の部分を指す。「102A」または「102B」などの文字指定を有する参照数字の場合、文字指定は、同じ図内に存在する2つの同様の部分または要素を区別することができる。参照数字に対する文字指定は、参照数字が、すべての図で同じ参照数字を有するすべての部分を包含するように意図されている場合は削除される。
【図面の簡単な説明】
【００１０】
【図１】例示的な実施形態による熱管理のためのシステムのブロック図である。
【図２】一定の作業負荷により生じた、時間経過に伴う温度上昇を示すプロット図である。
【図３】瞬間的な作業負荷により生じた、時間経過に伴う温度上昇を示すプロット図である。
【図４】例示的な実施形態による熱管理のために構成されたポータブルコンピューティングデバイスのブロック図である。
【図５】ポータブルコンピューティングデバイスに対するハードウェアアーキテクチャの図である。
【図６】ポータブルコンピューティングデバイスに対するソフトウェアアーキテクチャの図である。
【図７】例示的な実施形態による、ポータブルコンピューティングデバイスにおける熱管理のための方法を示す流れ図である。
【発明を実施するための形態】
【００１１】
「例示的な」という用語は、「例、事例、または例示として働く」ことを意味するように本明細書で使用される。本明細書で「例示的な」と述べられるいずれの態様も、他の態様に対して必ずしも好ましい、または有利であると解釈されるべきではない。
【００１２】
「構成要素」、「データベース」、「モジュール」、「システム」という用語、および同様のものは、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかであるコンピュータに関連するエンティティを指すように意図されている。たとえば、構成要素は、これだけに限らないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータとすることができる。例として、コンピューティングデバイス上で動作するアプリケーションとコンピューティングデバイスとは共に構成要素とすることができる。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に常駐することができ、また構成要素は、1つのコンピュータ上に局所化される、かつ/または2つ以上のコンピュータ間で分散され得る。さらに、これらの構成要素は、様々なデータ構造がその上に記憶された様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケット(たとえば、ローカルシステム、分散システム内の別の構成要素と、かつ/またはインターネットなどのネットワークを介して、信号により他のシステムと対話する1つの構成要素からのデータなど)を有する信号によるなど、ローカルおよび/または遠隔のプロセスにより通信することができる。
【００１３】
「アプリケーション」または「画像」という用語はまた、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルを含むことができる。さらに、本明細書で「アプリケーション」と呼ばれるものはまた、開かれる必要のあり得る文書など、実行可能な性質のものではないファイル、またはアクセスされる必要のある他のデータファイルを含むことができる。
【００１４】
「中央演算処理装置(「CPU」)」、「デジタル信号プロセッサ(「DSP」)」、「グラフィックス処理ユニット(「GPU」)」、「モデム」、および「チップ」という用語は、PCD中に常駐できる処理構成要素の非限定的な例であり、またその他の形で示されない限り、相互に交換可能に使用される。さらに本記述で区別されるように、CPU、DSP、モデム、またはチップは、本明細書で「コア」および「サブコア」と一般に呼ばれる1つまたは複数の異なった処理構成要素を含むことができる。
【００１５】
本記述では、「熱の」、および「熱エネルギー」という用語は、「温度」の単位で測定され得るエネルギーを生成する、または放散できるデバイスまたは構成要素と関連付けて使用され得ることが理解されよう。したがって、何らかの標準値を参照する「温度」という用語は、「熱エネルギー」生成デバイスまたは構成要素の相対的な暖かさ、または熱の消失を示すことのできる任意の測定値を包含することがさらに理解されよう。
【００１６】
本記述では、「作業負荷」、「プロセス負荷」、「プロセス作業負荷」、および「一連のコード」という用語は、相互に交換可能に使用され、また概して、所与の実施形態における所与の処理構成要素に関連付けられた、またはそれに割り当てることのできる処理量、または処理量のパーセンテージを対象とする。上記で定義したものに対してさらに、「処理構成要素」、または「熱エネルギー生成構成要素」、または「熱的アグレッサ(thermal aggressor)」は、これだけに限らないが、CPU、GPU、コア、主コア、サブコア、処理領域、ハードウェアエンジンなど、またはポータブルコンピューティングデバイス内の集積回路内に常駐する、または外部にある任意の構成要素とすることができる。
【００１７】
本記述では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、電池などの限られた容量の電源で動作し、かつ過度の熱エネルギーを除去するための(すなわち、ファンなど冷却するための)システムに欠けている任意のデバイスを記述するために使用される。電池で動作されるPCDは、数十年間にわたり使用されてきたが、第3世代(「3G」)および第4世代(「4G」)ワイヤレス技術の出現と併せて、再充電可能な電池における技術的な進歩が、数多くのPCDに複数の機能を可能にしている。したがって、PCDは特に、セルラー電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックもしくはリーダ、メディアプレーヤ、ワイヤレス接続を有するラップトップもしくはハンドヘルドコンピュータ、または前述のデバイスの組合せとすることができる。
【００１８】
図1に示されるように、示されたまたは例示的な実施形態では、PCD100は、オンチップシステム102、すなわち、集積回路チップで実施されたシステムを含む。オンチップシステム102は、熱的状態に応じて、クロック周波数および作業負荷などのパラメータを調整することによって、PCD100における熱管理を提供するように構成される。より具体的には、オンチップシステム102は、個々のプロセッサまたはコア222,224、226、および228など、オンチップシステム102の熱的に活動的な構成要素にわたって、電源電圧、クロック生成器周波数、および作業負荷割振りのうちの1つまたは複数を調整することができる。熱的アグレッサ110がコア222、224、226、および228である実施形態に関して、本明細書で熱管理が述べられているが、他の実施形態では、そのような熱的アグレッサは、たとえば、CPU、GPU、DSP、プログラム可能なアレイ、ビデオ符号器/復号器、システムバス、カメラ、または画像処理サブシステムなどを含むことができる。
【００１９】
オンチップシステム102は、複数の内部温度センサ157A、ならびに少なくとも1つの外部温度センサ157B(総称して温度センサ157と呼ばれる)を監視することができる。各内部温度センサ157Aは、コア222、224、226、および228のうちの1つの温度に関連付けられ、かつそれを感知するように構成することができる。外部温度センサ157Bは、例示的な実施形態では、一般に、デバイスの「表皮温度(skin temperature)」と呼ばれるPCD100のハウジング106の温度を感知するように構成される。
【００２０】
監視モジュール114は、温度センサ157に結合されて、それらの温度読取り値を監視する。監視モジュール114はまた、作業負荷判定モジュール101に結合される。作業負荷判定モジュール101は、動的クロックおよび電圧スケーリング(「DCVS」)モジュール26およびスケジューラモジュール207に結合される。
【００２１】
図2に示されるように、第1の例示的な温度読取り値プロット107は、ある時間期間にわたって維持される、または安定のままでいる温度の増加を示している。したがって、プロット107は、実質的にあるレベルを、または安定した外観を有する。ある時間間隔にわたって一定レベルまたは安定したままである温度の増加は、ある時間間隔にわたって実質的に一定のままであるプロセッサ作業負荷の増加により生ずる可能性があり、それを本明細書では、便宜上「一定の作業負荷」と呼ぶ。図3に示されるように、第2の例示的な温度読取り値プロット108は、ある時間間隔にわたる温度の、実質的に短い、または瞬間的な増加を示している。したがって、プロット108は、ピークに似た外観を有する。ある時間間隔にわたり、温度の増加が実質的にピークに達することは、ある時間間隔にわたりプロセッサの作業負荷で実質的にピークに達する、または瞬間的な増加により生ずる可能性があり、それを本明細書では便宜上、「瞬間的な作業負荷」と呼ぶ。プロット107およびプロット108は、例示的なものであるにすぎないように意図されているが、または本明細書でこれらの用語が使用される場合、「一定の作業負荷」により生ずる温度上昇と、「瞬間的な作業負荷」により生ずる温度上昇との間の差を、一般化された方法で示すためのものであることを理解されたい。PCD100の動作の様々な事例では、測定された温度は、様々な時間間隔にわたり、任意の方法で変化する可能性があり、任意の対応するプロット(図示せず)も、任意の様々な外観を有する可能性がある。
【００２２】
図1を再度参照すると、作業負荷判定モジュール101は、温度センサ157からの温度読取り値が、検出された温度上昇が一定の作業負荷により生じたことを示しているのか、それとも瞬間的な作業負荷によるのかを判定する。作業負荷判定モジュール101が、温度上昇は、一定の作業負荷により生じていると判定した場合、作業負荷判定モジュール101は、PCD100を、一定の作業負荷に対して最適化された第1の熱管理構成(Thermal Management Configuration)下で動作するように設定する。作業負荷判定モジュール101が、温度上昇は、瞬間的な作業負荷により生じたと判定した場合、作業負荷判定モジュール101は、PCD100を、瞬間的な作業負荷に対して最適化された第2の熱管理構成下で動作するように設定する。DCVSモジュール26は、第1および第2の熱管理構成のうちの選択された熱管理構成に従って、電圧およびクロック周波数設定を調整することができる。第1の熱管理構成によれば、作業負荷判定モジュール101は、DCVSモジュール26に、コア222、224、226、および228の動作に影響を与える電圧およびクロック周波数設定を、それぞれの電圧およびクロック周波数設定の第1のグループへと調整または設定させることができる。第2の熱管理構成によれば、作業負荷判定モジュール101は、DCVSモジュール26に、コア222、224、226、および228の動作に影響を与える電圧およびクロック周波数設定を、それぞれの電圧およびクロック周波数設定の第2のグループへと調整または設定させることができる。代替的に、またはさらに、作業負荷判定モジュール101は、スケジューラ207に、検出された温度上昇が、瞬間的な作業負荷により生じたのか、それとも一定の作業負荷により生じたのかの判定に応じた方法で、コア222、224、226、および228に割り当てられた作業負荷を互いに対して調整または設定させることができる。たとえば、温度上昇が、瞬間的な作業負荷の結果であると判定されたとき、作業負荷は、一方法(すなわち、第1の分散)で、コア222、224、226、および228の中で分散され、また温度上昇が、一定の作業負荷の結果であると判定されたとき、異なる方法(すなわち、第2の分散)で、コア222、224、226、および228の中で分散され得る。
【００２３】
コア222、224、226、および228のうちの1つまたは複数により生成される熱エネルギーは、それらの作業負荷に従って変動する可能性がある。コア222、224、226、および228の各々に関連する熱エネルギー生成レベルが変化したとき、監視モジュール114は、温度センサ157Aにより測定された変化を感知し、また変化を示す温度データを作業負荷判定モジュール101に送信することができる。同様に、監視モジュール114は、温度センサ157Bにより測定された表皮温度の変化を認識することができ、また変化を示す温度データを作業負荷判定モジュール101に送信することができる。さらに詳細に以下で述べるように、プロセッサコアの温度測定と表皮温度測定との間の差は、温度上昇が、瞬間的な作業負荷により生じたのか、それとも一定の作業負荷によるのかを示すことができる。
【００２４】
図4に示されるように、PCD100は、ワイヤレス電話とすることができる。PCD100では、オンチップシステム102のプロセッサは、CPU110と、それと共に結合されるアナログ信号プロセッサ126とを含む。CPU110は、当業者には理解されるように、複数のコアを備えることができ、第0のコア222、第1のコア224などから第Nのコア230と呼ぶことができる。他の実施形態では、DSP(図示せず)を、CPU110に代えて使用することができる。GPU135はCPU110に結合され得る。
【００２５】
作業負荷判定モジュール101は、監視モジュール114から温度データを受信し、その温度データに応じて、DCVSモジュール26を介して、コア222、224、および230、GPU135、または任意の他のプロセッサにより生成された熱エネルギーを選択的に増加または減少させる、かつ/またはそれらの相対的な作業負荷を、スケジューラ207(図1)により選択的に増加または減少させる(すなわち、これらの要素の間のタスク分散)ことができる。より一般的には、DCVSモジュール26は、任意の中央演算処理装置、グラフィックス処理ユニット、他の処理ユニット、バス、メモリコントローラ、またはPCD100の他の要素のクロックおよび電圧パラメータを選択的に調整することができ、かつ/またはスケジューラ207は、監視モジュール114により提供される温度データに応じて、任意のそのような要素の中でタスク分散を選択的に調整することができる。スケジューラ207は、CPU110によりソフトウェアを実行することによって生ずるソフトウェアモジュールとして実施することができる。監視モジュール114は、オンチップシステム102内の様々な場所における1つまたは複数の内部温度センサ157Aから、かつオンチップシステム102の外部にある1つまたは複数の外部温度センサ157Bから温度データを受け取る。監視モジュール114は、CPU110と通信するように構成される。
【００２６】
表示コントローラ128およびタッチスクリーンコントローラ130は、CPU110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132は、表示コントローラ128およびタッチスクリーンコントローラ130に結合される。
【００２７】
PCD100は、たとえば、位相反転線(「PAL」)復号器、順次式カラーメモリ(「SECAM」)復号器、全米テレビジョンシステム委員会(「NTSC」)復号器、または任意の他のタイプなど、ビデオ復号器134をさらに含むことができる。ビデオ復号器134は、CPU110に結合される。ビデオ増幅器136は、ビデオ復号器134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138はビデオ増幅器136に結合される。ユニバーサルシリアルバス(「USB」)コントローラ140はまた、CPU110に結合され、またUSBポート142は、USBコントローラ140に結合される。メモリ112および加入者識別モジュール(「SIM」)カード146はまた、CPU110に結合することができる。さらにデジタルカメラ148がCPU110に結合され得る。デジタルカメラ148は、たとえば、電荷結合素子(「CCD」)カメラ、または相補型金属酸化膜半導体(「CMOS」)カメラとすることができる。
【００２８】
ステレオオーディオCODEC150は、アナログ信号プロセッサ126に結合され得る。さらにオーディオ増幅器152をステレオオーディオCODEC150に結合することができる。第1および第2のステレオスピーカ154および156は、それぞれ、オーディオ増幅器152に結合され得る。さらに、マイクロフォン増幅器158はまた、ステレオオーディオCODEC150に結合することができ、またマイクロフォン160をマイクロフォン増幅器158に結合することができる。周波数変調(「FM」)ラジオチューナ162が、ステレオオーディオCODEC150に結合され得る。FMアンテナ164は、FMラジオチューナ162に結合される。さらにステレオヘッドフォン166が、ステレオオーディオCODEC150に結合され得る。
【００２９】
モデムまたは無線周波数(「RF」)送受信機168は、アナログ信号プロセッサ126に結合することができる。RFスイッチ170は、RF送受信機168およびRFアンテナ172に結合され得る。さらにキーパッド174、マイクロフォンを有するモノラルのヘッドセット176、および振動器デバイス178が、アナログ信号プロセッサ126に結合され得る。
【００３０】
電池などの電源188は、電力管理集積回路(「PMIC」)180を介してオンチップシステム102に結合される。特定の態様では、電源188は、再充電可能な電池、またはAC電源に接続された交流/直流変圧器から導かれるDC電源を含む。
【００３１】
内部温度センサ157Aは、たとえば、CMOSの超大規模集積(「VLSI」)回路で使用できることが知られているタイプの垂直PNP構造に基づく、1つまたは複数の絶対温度に比例する(「PTAT」)温度センサを含むことができる。外部温度センサ157Bは、たとえば、1つまたは複数のサーミスタを含むことができる。温度に応じて、温度センサ157は、電圧低下を生成することができる。アナログ/デジタル変換器(「ADC」)コントローラ103は、電圧低下をデジタル信号へと変換し、かつデジタル信号をオンチップシステム102に提供する。しかし、他の実施形態では、他のタイプの熱センサ157を、本発明の範囲から逸脱することなく使用することができる。
【００３２】
図4に示される例示的な実施形態では、タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカ154、第2のステレオスピーカ156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノラルヘッドセット176、振動器178、熱センサ157B、PMIC180、および電源188は、オンチップシステム102の外部にある。しかし、監視モジュール114もまた、PCD100上で動作可能なリソースの実時間管理を支援するために、アナログ信号プロセッサ126およびCPU110により、これらの外部デバイスのうちの1つまたは複数から1つまたは複数の指示もしくは信号を受け取ることが可能であることを理解されたい。
【００３３】
本明細書で述べられる方法ステップのうちの1つまたは複数は、メモリ112に記憶されたプロセッサ実行可能コードまたは命令により実施され得る。例示的な実施形態では、作業負荷判定モジュール101は、ハードウェア部分とソフトウェア部分の両方を含むことができる。ソフトウェア部分を定義する命令は、本明細書で述べられる方法を実施または制御するために、CPU110、アナログ信号プロセッサ126、ADCコントローラ103、または別の処理要素により実行することができる。さらにプロセッサ110、126、メモリ112、そこに記憶された命令、またはそれらの組合せは、本明細書で述べられる方法ステップのうちの1つまたは複数を実施するための手段として働くことができる。
【００３４】
図5に示されるように、オンチップシステム102のハードウェア要素の例示的な空間配置において、CPU110は、オンチップシステム102の最も左側領域に配置することができ、一方、アナログ信号プロセッサ126は、オンチップシステム102の最も右側領域に配置される。CPU110は、1つまたは複数の位相同期ループ(「PLL」)209Aおよび209Bに結合することができ、それらは、CPU110に隣接して、かつオンチップシステム102の左側領域に配置される。PLL209Aおよび209Bに隣接して、かつCPU110の下に、アナログ/デジタル変換(「ADC」)コントローラ103を配置することができる。
【００３５】
内部温度センサ157Aは、様々な位置に、かつ様々な構成要素に関連付けて配置することができる。たとえば、第1の内部温度センサ157A1は、CPU110とアナログ信号プロセッサ126との間で、メモリ112に隣接した、オンチップシステム102の上部中心領域に配置することができる。第2の内部温度センサ157A2は、オンチップシステム102の右側領域のアナログ信号プロセッサ126の下に配置され得る。第2の内部温度センサ157A2はまた、高度縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)177と、第1のグラフィックスプロセッサ135Aとの間に配置することもできる。デジタル/アナログコントローラ(「DAC」)173は、第2の内部温度センサ157A2と、アナログ信号プロセッサ126との間に配置することができる。第3の内部温度センサ157A3は、オンチップシステム102の最も右側領域で、第2のグラフィックスプロセッサ135Bと第3のグラフィックスプロセッサ135Cとの間に配置することができる。第4の内部温度センサ157A4は、オンチップシステム102の最も右側領域で、かつ第4のグラフィックスプロセッサ135Dの下に配置することができる。また第5の内部温度センサ157A5は、オンチップシステム102の最も左側領域で、かつPLL209Aおよび209B、ならびにADCコントローラ103に隣接して配置することができる。
【００３６】
1つまたは複数の外部温度センサ157Bはまた、ADCコントローラ103に結合することができる。たとえば、第1の外部温度センサ157B1は、オンチップシステム102の右上の四半分に隣接するが、接触することなく配置され得る。第2の外部温度センサ157B2は、オンチップシステム102の右下の四半分に隣接するが、接触することなく配置され得る。第1の外部温度センサ157B1と、第2の外部温度センサ157B2のいずれか、または両方は、オンチップシステム102の(ダイ)温度の測定ではなく、PCD100の表皮温度の測定を提供するために、オンチップシステム102が取り付けられる基板(すなわち、回路組立体)(図示せず)、PCD100のハウジング105、または様々な熱的アグレッサと直接接触しない別の構造と接触することができる。当業者であれば、図5に示されたハードウェア要素の様々な他の空間配置が、本発明の範囲を逸脱することなく提供され得ることを認識されよう。
【００３７】
当業者であれば理解されるように、熱センサは、一般に、時定数(Time Constant)によって特徴付けられる。例示的な実施形態では、各内部温度センサ157Aの時定数は、各外部温度センサ157Bの時定数よりも実質的に低い。したがって、オンチップシステム102における様々な熱的アグレッサにより生成される熱エネルギーに応じて、内部温度センサ157Aにより感知される温度は、一般に、外部温度センサ157Bにより感知される温度よりもはるかに速く増加する。すなわち、熱エネルギーの増加に応じて、増加後のある時間に、内部温度センサ157Aが生成した信号は、その時間に外部温度センサ157Bが生成した信号よりも高い温度を示す。
【００３８】
図6に示すように、例示的なソフトウェアアーキテクチャは、スケジューラ207、作業負荷判定モジュール101のソフトウェア部分、および監視モジュール114のソフトウェア部分に加えて、オペレーティングシステムモジュール208を含むことができる。作業負荷判定モジュール101と動作する熱管理モジュール260もまた含むことができる。ファイルシステム290は、プログラム記憶装置296を含むことができる。プログラム記憶装置296は、熱管理構成記憶装置292を含むことができる。熱管理構成記憶装置292は、複数の熱管理構成294および296、または同様の情報の組を含むことができる。例示のために、そのようなソフトウェアモジュールまたは要素が、メモリ112に常駐するものとして概念的に示されているが、当業者であれば、そのようなソフトウェアモジュールまたは要素は、CPU110によるソフトウェアコードまたは命令を実行することにより生ずることが理解される。
【００３９】
熱管理構成294および296の各々は、1群の温度閾値レベル、クロックおよび電圧レベル、プロセッサの作業負荷設定、およびPCD100の様々な熱的アグレッサによる熱エネルギーの生成、またはPCD100のプロセッサもしくは他の制御要素による熱情報への反応に影響を与える他の設定もしくはパラメータを記述するデータを含む。作業負荷判定モジュール101は、熱管理構成294または熱管理構成296のいずれかを選択することができる。そのような選択に応じて、熱管理モジュール260は、選択された構成の設定またはパラメータを、PCD100の関連する熱的アグレッサまたは制御要素に適用する。たとえば、DCVSモジュール26は、1組のパラメータを受信することができ、それに応じて、1組の熱的アグレッサに適用されるクロック周波数を調整する。たとえば、熱管理構成294が適用された場合、DCVSモジュール26は、プロセッサまたはコアに第1のクロック周波数を提供することができるが、熱管理構成294が適用された場合、DCVSモジュール26は、そのプロセッサまたはコアに第2のクロック周波数を提供することができる。代替的に、またはさらに、CPU110は、1組のパラメータを受け取ることができ、それに応じて、作業負荷配分をコア222、224、230などの中で調整する。
【００４０】
図7では、PCD100または同様のデバイスにおける熱管理に対する例示的な方法300が示されている。PCD100は、前述のハードウェアおよびソフトウェア要素により方法を実施するように構成され得る。
【００４１】
ブロック302によって示されるように、少なくとも1つの第1の温度センサが監視される。そのような第1の温度センサは、内部温度センサ157Aの1つとすることができる。複数の内部温度センサ157Aを有する実施形態では、複数の内部温度センサ157Aを監視することができ、また最も高い温度を表す信号を生成するものが、第1の温度値「T1」として選択され得る。代替的に、複数の内部温度センサ157Aを有する実施形態では、複数の内部温度センサ157Aを監視することができ、また第1の温度値(「T1」)が、2つ以上の内部温度センサ157Aに応じて取得され得る。たとえば、CPU110におけるもの、およびGPU135における別のものなど、2つの内部温度センサ157Aの読取り値が合計されて、第1の温度値(「T1」)を生成することができる。ブロック304によって示されるように、第2の温度センサが監視される。そのような第2の温度センサは、外部温度センサ157Bのうちの1つとすることができる。そのような第2の温度センサにより生成される信号により表される温度は、第2の温度値「T2」と呼ぶことができる。監視モジュール114は、そのような温度センサ157を監視することができる。
【００４２】
ブロック306によって示されるように、温度変化が検出されたかどうかが判定される。監視モジュール114は、様々な温度センサ157から受け取った信号の連続するサンプルを比較することにより、そのような温度変化を検出することができる。監視モジュール114はまた、2つの温度値T1およびT2を示す情報を、作業負荷判定モジュール101に提供することができる。
【００４３】
ブロック308によって示されるように、2つの温度値T1とT2との間の差もしくは差分が算出される。作業負荷判定モジュール101は、そのような差または差分を、逆も同様であるが、T1からT2を減算することにより計算することができる。内部温度センサ157Aのうちの1つの時定数は、概して、外部温度センサ157Bのうちの1つの時定数よりも実質的に低いので、大きい正の差または差分(T1-T2)は、一定の作業負荷よりも、瞬間的な作業負荷であることをより表現することができる。
【００４４】
ブロック310によって示されるように、差または差分は閾値と比較される。たとえば、差または差分が閾値を超える場合、ブロック312によって示されるように、第1の熱管理構成294(図6)が選択される。たとえば、第1の熱管理構成294は、瞬間的な作業負荷に対して最適化することができる。差または差分が閾値を超えない場合、ブロック314によって示されるように、第2の熱管理構成296(図6)が選択される。たとえば、第2の熱管理構成296は、一定の作業負荷に対して最適化することができる。熱管理構成294および296の選択された一方が、次いでPCD100に適用される。作業負荷判定モジュール101が、前述の比較および選択を実施することができる。作業負荷判定モジュール101はまた、メモリ112から熱管理構成284および296の選択された一方に含まれる熱的パラメータまたは情報を取得し、かつ熱管理論理260(図6)にそれらを提供することによって、PCD100の関連する要素に、選択された構成を適用することができる。代替的に、熱管理モジュール260が、選択された構成をPCD100の関連する要素に適用する、または適用するのを支援することができる。上記で述べたように、そのような熱的パラメータまたは情報は、たとえば、様々なプロセッサに適用されるクロックの周波数、または様々なプロセッサに割り当てられる作業負荷レベルを含むことができる。熱管理構成294および296の各々は、任意の数のそのようなパラメータを含むことができる。
【００４５】
第1の温度値T1が、(内部温度センサ157Aの1つにより感知された)ダイ温度に応答するものであり、第2の温度値T2が、表皮温度に応答するものである実施形態では、閾値を超える差または差分T1-T2は、温度上昇を生じた瞬間的な作業負荷を示すことができ、一方、閾値を超えない差または差分は、温度上昇を生ずる一定の作業負荷を示すことができることを理解されたい。しかし、第2の温度値T2がダイ温度に応答するものであり、第1の温度値T1が表皮温度に応答するものである代替の実施形態では、閾値を超える差または差分T1-T2は、温度上昇を生ずる一定の作業負荷を示すことができ、一方、閾値を超えない差または差分は、温度上昇を生ずる瞬間的な作業負荷を示すことができる。言い換えると、本発明の範囲から逸脱することなく、ダイ温度または表皮温度のいずれかを、他方から減算することができる。
【００４６】
一定の作業負荷に対するPCD100の熱的性能を最適化するクロック周波数、およびプロセッサもしくはコアの作業負荷など、1組の熱的パラメータが、PCD100における温度上昇が一定の作業負荷の増加によるのではなく、瞬間的な作業負荷の増加により生じたときに適用された場合、次善の熱的性能を生ずることになり得る。同様に、瞬間的な作業負荷に対するPCD100の熱的性能を最適化するそのような熱的パラメータは、PCD100における温度上昇が、瞬間的な作業負荷の増加によるのではなく、一定の作業負荷増加により生じたときに適用された場合、次善の熱的性能を生ずることになり得る。本発明の実施形態は、温度上昇が一定の作業負荷の増加により生じたのか、それとも瞬間的な作業負荷の増加によるのかを判定することによって、この可能性のある問題に対処するものであり、温度上昇が一定の作業負荷の増加により生じたと判定された場合、一定の作業負荷に対する熱的性能を最適化する1組の熱的パラメータ、または熱的パラメータの構成を適用する、または温度上昇が瞬間的な作業負荷の増加により生じたと判定された場合、瞬間的な作業負荷に対して熱的性能を最適化する1組の熱的パラメータ、または熱的パラメータの構成を適用する。
【００４７】
例示的な実施形態が述べられたように動作するために、上記で述べたプロセスの流れにおけるいくつかの行為(act)またはステップは、他のものよりも当然先行するが、本発明は、これらの行為またはステップの順序に、そのような順序またはシーケンスが本発明の機能を改変しない限り、限定されることはない。すなわち、いくつかの行為またはステップは、本発明の範囲および趣旨から逸脱することなく、他の行為またはステップの前、後、または並列に(実質的に同時に)実施できることを理解されたい。いくつかの事例では、いくつかの行為またはステップが、本発明から逸脱することなく除外される、または実施されないこともあり得る。さらに、「その後」、「次いで(then)」、「次に(next)」などの用語は、行為またはステップの順序を限定するようには意図されていない。これらの用語は、単に、例示的な方法の記述を通して読者をガイドするために使用されるにすぎない。
【００４８】
さらに当業者は、たとえば、本明細書の流れ図および関連する記述に基づき、開示された本発明を実施するためのコンピュータコードを容易に記述し、または適切なハードウェアおよび/または回路を識別することができる。
【００４９】
したがって、特定の組のプログラムコード命令、または詳細なハードウェアデバイスを開示することは、本発明を作成し、かつ使用する方法の適切な理解に必要であるとは見なされない。特許請求されるコンピュータで実施されるプロセスの発明性のある機能は、上記の記述で、かつ様々なプロセスの流れを示すことのできる図面と併せて説明されている。
【００５０】
1つまたは複数の例示的な態様では、述べられた機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、コンピュータ可読媒体上に記憶されたコンピュータで実行可能な命令またはコードで実施することができる。コンピュータ可読媒体は、コンピュータ、または同様のコンピューティングもしくは通信デバイスによりアクセスされ得る任意の利用可能な媒体を含む。限定するものではないが、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、NANDフラッシュ、NORフラッシュ、M-RAM、P-RAM、R-RAM、CD-ROM、または他の光学的、磁気的、ソリッドステートなどのデータ記憶媒体を含むことができる。非一時的なコンピュータ可読記憶媒体と、プロセッサにより実行するために、それに記憶されたコンピュータ実行可能論理または命令との組合せは、特許の語彙でその用語が理解される「コンピュータプログラム製品」を定義することに留意されたい。
【００５１】
代替的な実施形態は、本発明がその趣旨および範囲から逸脱することなく関係する技術分野の当業者には明らかとなろう。したがって、選択された諸態様が詳細に示され、述べられてきたが、添付の特許請求の範囲により定義される本発明の趣旨および範囲から逸脱することなく、様々な置換えおよび改変を行うことが可能であることが理解されよう。
【符号の説明】
【００５２】
26  DCVSモジュール
100  PCD
101  作業負荷判定モジュール
102  オンチップシステム
103  ADCコントローラ
106  ハウジング
107  第1の例示的な温度読取り値プロット
108  第2の例示的な温度読取り値プロット
110  CPU、熱的アグレッサ
112  メモリ
114  監視モジュール
126  アナログ信号プロセッサ
128  表示コントローラ
130  タッチスクリーンコントローラ
132  タッチスクリーンディスプレイ
134  ビデオ復号器
135  GPU
135A  第1のグラフィックスプロセッサ
135B  第2のグラフィックスプロセッサ
135C  第3のグラフィックスプロセッサ
135D  第4のグラフィックスプロセッサ
136  ビデオ増幅器
138  ビデオポート
140  USBコントローラ
142  USBポート
146  SIMカード
148  デジタルカメラ
150  ステレオオーディオCODEC
152  オーディオ増幅器
154  第1のステレオスピーカ
156  第2のステレオスピーカ
157  温度センサ
157A  内部温度センサ
157A1  第1の内部温度センサ
157A2  第2の内部温度センサ
157A3  第3の内部温度センサ
157A4  第4の内部温度センサ
157A5  第5の内部温度センサ
157B  外部温度センサ
157B1  第1の外部温度センサ
157B2  第2の外部温度センサ
158  マイクロフォン増幅器
160  マイクロフォン
162  FMラジオチューナ
164  FMアンテナ
166  ステレオヘッドフォン
168  モデム、RF送受信機
170  RFスイッチ
172  RFアンテナ
173  デジタル/アナログコントローラ(「DAC」)
174  キーパッド
176  マイクロフォンを有するモノラルのヘッドセット
177  命令セットマシン(「ARM」)
178  振動器デバイス
180  PMIC
188  電源
207  スケジューラモジュール
208  オペレーティングシステムモジュール
209A  位相同期ループ(「PLL」)
209B  位相同期ループ(「PLL」)
222  第0のコア
224  第1のコア
226  コア
228  コア
230  第Nのコア
260  熱管理モジュール、熱管理論理
290  ファイルシステム
292  熱管理構成記憶装置
294  熱管理構成
296  プログラム記憶装置、熱管理構成
【図１】
0006401401.tif 000002
【図２】
0006401401.tif 000003
【図３】
0006401401.tif 000004
【図４】
0006401401.tif 000005
【図５】
0006401401.tif 000006
【図６】
0006401401.tif 000007
【図７】
0006401401.tif 000008