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