(57)【要約】  ポータブルコンピューティングデバイス(「PCD」)において実施されるマルチ相関学習型熱管理(「MLTM」)技法のための方法およびシステムの様々な実施形態が開示される。特に、多くのPCDにおいて、PCDにおける個々の温度センサーによって測定される熱エネルギーレベルは、複数の処理構成要素、すなわち熱アグレッサに起因し得る。一般的に、熱アグレッサによって消費される電力の増加に伴って、結果として生じる熱エネルギー生成が、チップ周辺に位置する温度センサーに関連付けられた温度しきい値の超過をもたらし、それにより、熱エネルギー生成を低減する目的でPCDの性能を犠牲にする必要が生じることがある。有利には、MLTMシステムおよび方法の実施形態は、複数の熱アグレッサが個々の温度センサーの温度読取値に異なるように影響を及ぼすことを認識し、あらかじめ定められた温度しきい値内にセンサーにおける熱エネルギーレベルを維持しながら、サービス品質(「QoS」)を最適化する最適性能レベル設定値の組合せを識別し、適用しようとする。
2017502383.tif 000002
【特許請求の範囲】
【請求項１】
ポータブルコンピューティングデバイス(「PCD」)におけるマルチ相関学習型熱管理のための方法であって、
前記PCD内の複数の温度センサーを監視するステップと、
前記複数の温度センサーのうちの1つから割込み信号を受信するステップであり、前記割込み信号が、前記温度センサーに関連付けられた目標温度しきい値を超えた旨の警告を示す、ステップと、
複数の処理構成要素の各々の性能レベルを最小性能レベルに設定するステップと、
時間ベースの間隔で、前記複数の温度センサーのうちの1つまたは複数から温度信号をサンプリングするステップであり、時間ベースの間隔で所与の温度センサーから前記温度信号をサンプリングするステップが、前記所与の温度センサーに関連付けられた放熱曲線としてマッピングされるように動作可能なデータを生成する、ステップと、
前記複数の温度センサーのうちの1つまたは複数から安定した温度信号を受信するステップであり、前記安定した温度信号が、周囲環境温度に関連付けられている、ステップと、
前記複数の温度センサーの各々に関連付けられた目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する前記複数の処理構成要素のための性能レベルの組合せを学習するために、前記複数の処理構成要素の各々の前記性能レベルを増分させるステップと、
前記複数の温度センサーの各々、前記周囲環境温度、熱エネルギーレベル、および前記複数の温度センサーの各々に関連付けられた前記放熱曲線に関連して前記学習された性能レベルの組合せを熱設定値データベースに記憶するステップと、
最適性能レベルの組合せを前記学習された性能レベルの組合せから選択し、前記選択された最適性能レベルの組合せで動的軽減テーブルを更新するステップと、
前記選択された最適性能レベルの組合せを前記複数の処理構成要素に適用するステップであり、前記選択された最適性能レベルの組合せを適用するステップが、第1の警報を消去する熱エネルギーレベルを生成する、ステップと
を含む方法。
【請求項２】
前記選択された最適性能レベルの組合せが、前記警報の時にアクティブな性能レベルの組合せに基づいて選択される、請求項1に記載の方法。
【請求項３】
前記温度センサーから第2の割込み信号を受信するステップであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示す、ステップと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うステップと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用するステップであり、前記最適性能レベルの組合せを適用するステップが、前記第2の警報を消去する熱エネルギーレベルを生成する、ステップと
をさらに含む請求項1に記載の方法。
【請求項４】
前記温度センサーから第2の割込み信号を受信するステップであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示す、ステップと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うステップと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用するステップであり、前記最適性能レベルの組合せを適用するステップが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想される、ステップと、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視するステップと、
前記第2の警報が、前記予想された時間よりも継続時間が短い実際の時間内に消去されることを決定するステップと、
前記周囲環境温度が低下したことを計算するステップと、
前記低下した周囲環境温度に基づいて新しい最適性能レベルの組合せを選択するステップと、
前記新しい最適性能レベルの組合せを含むように前記動的軽減テーブルを更新するステップと、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用するステップと
をさらに含む請求項1に記載の方法。
【請求項５】
前記温度センサーから第2の割込み信号を受信するステップであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示す、ステップと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うステップと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用するステップであり、前記最適性能レベルの組合せを適用するステップが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想される、ステップと、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視するステップと、
前記第2の警報が前記予想される時間内に消去されなかったことを決定するステップと、
前記周囲環境温度が上昇したことを計算するステップと、
前記上昇した周囲環境温度に基づいて新しい最適性能レベルの組合せを選択するステップと、
前記新しい最適性能レベルの組合せを含むように前記動的軽減テーブルを更新するステップと、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用するステップと
をさらに含む請求項1に記載の方法。
【請求項６】
前記温度センサーから第2の割込み信号を受信するステップであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示す、ステップと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うステップと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用するステップであり、前記最適性能レベルの組合せを適用するステップが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想される、ステップと、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視するステップと、
前記第2の警報が前記予想される時間内に消去されなかったことを決定するステップと、
前記複数の処理構成要素のうちの1つまたは複数の処理構成要素の性能能力が変化したことを決定するステップと、
前記熱設定値データベースにおいて、前記学習された性能レベルの組合せが再評価を必要とする旨のフラグを立てるステップと
をさらに含む請求項1に記載の方法。
【請求項７】
前記最適性能レベルの組合せの前記適用によって生じた温度に関連して前記適用された最適性能レベルの組合せで前記熱設定値データベースを更新するステップと、
新しい最適性能レベルの組合せを決定するステップと、
前記新しい最適性能レベルの組合せで前記動的軽減テーブルを更新するステップと、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用するステップと
をさらに含む請求項6に記載の方法。
【請求項８】
前記温度センサーから第2の割込み信号を受信するステップであり、前記第2の割込み信号が、前記温度センサーに関連付けられた新しい目標温度しきい値を超えた旨の警報を示す、ステップと、
前記温度センサーに関連付けられた前記新しい目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する性能レベルの組合せが以前に学習されていないことを決定するステップと、
前記温度センサーに関連付けられた前記新しい目標温度しきい値までの、およびそれ以内の、ならびに他の複数の温度センサーの各々に関連付けられた目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する前記複数の処理構成要素のための新しい性能レベルの組合せを学習するために、前記複数の処理構成要素の各々の前記性能レベルを増分させるステップと、
前記複数の温度センサーの各々および前記周囲環境温度に関連して前記新しい学習された性能レベルの組合せを前記熱設定値データベースに記憶するステップと、
最適性能レベルの組合せを前記新しい学習された性能レベルの組合せから選択し、前記選択された新しい最適性能レベルの組合せで前記動的軽減テーブルを更新するステップと、
前記選択された新しい最適性能レベルの組合せを前記複数の処理構成要素に適用するステップであり、前記選択された新しい最適性能レベルの組合せを適用するステップが、前記第2の警報を消去する熱エネルギーレベルを生成する、ステップと
をさらに含む請求項1に記載の方法。
【請求項９】
前記新しい最適性能レベルの組合せが、前記第2の警報時にアクティブな性能レベルの組合せに基づいて選択される、請求項8に記載の方法。
【請求項１０】
前記複数の処理構成要素が、グラフィック処理ユニット(「GPU」)、中央処理装置(「CPU」)、およびワイヤレスモデムから成る群から選択された処理構成要素を含む、請求項1に記載の方法。
【請求項１１】
ポータブルコンピューティングデバイス(「PCD」)におけるマルチ相関学習型熱管理のためのコンピュータシステムであって、
前記PCD内の複数の温度センサーを監視することと、
前記複数の温度センサーのうちの1つから割込み信号を受信することであり、前記割込み信号が、前記温度センサーに関連付けられた目標温度しきい値を超えた旨の警告を示すことと、
複数の処理構成要素の各々の性能レベルを最小性能レベルに設定することと、
時間ベースの間隔で、前記複数の温度センサーのうちの1つまたは複数から温度信号をサンプリングすることであり、時間ベースの間隔で所与の温度センサーから前記温度信号をサンプリングすることが、前記所与の温度センサーに関連付けられた放熱曲線としてマッピングされるように動作可能なデータを生成することと、
前記複数の温度センサーのうちの1つまたは複数から安定した温度信号を受信することであり、前記安定した温度信号が、周囲環境温度に関連付けられていることと、
前記複数の温度センサーの各々に関連付けられた目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する前記複数の処理構成要素のための性能レベルの組合せを学習するために、前記複数の処理構成要素の各々の前記性能レベルを増分させることと、
前記複数の温度センサーの各々、前記周囲環境温度、熱エネルギーレベル、および前記複数の温度センサーの各々に関連付けられた前記放熱曲線に関連して前記学習された性能レベルの組合せを熱設定値データベースに記憶することと、
最適性能レベルの組合せを前記学習された性能レベルの組合せから選択し、前記選択された最適性能レベルの組合せで動的軽減テーブルを更新することと、
前記選択された最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記選択された最適性能レベルの組合せを適用することが、第1の警報を消去する熱エネルギーレベルを生成することと
を行うように構成されたマルチ相関学習型熱管理(「MLTM」)モジュール
を含むコンピュータシステム。
【請求項１２】
前記選択された最適性能レベルの組合せが、前記警報の時にアクティブな性能レベルの組合せに基づいて選択される、請求項11に記載のコンピュータシステム。
【請求項１３】
前記MLTMモジュールが、
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示すことと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うことと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記最適性能レベルの組合せを適用することが、前記第2の警報を消去する熱エネルギーレベルを生成することと
を行うようにさらに構成される、請求項11に記載のコンピュータシステム。
【請求項１４】
前記MLTMモジュールが、
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示すことと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うことと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記最適性能レベルの組合せを適用することが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想されることと、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視することと、
前記第2の警報が、前記予想された時間よりも継続時間が短い実際の時間内に消去されることを決定することと、
前記周囲環境温度が低下したことを計算することと、
前記低下した周囲環境温度に基づいて新しい最適性能レベルの組合せを選択することと、
前記新しい最適性能レベルの組合せを含むように前記動的軽減テーブルを更新することと、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用することと
を行うようにさらに構成される、請求項11に記載のコンピュータシステム。
【請求項１５】
前記MLTMモジュールが、
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示すことと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うことと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記最適性能レベルの組合せを適用することが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想されることと、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視することと、
前記第2の警報が前記予想される時間内に消去されなかったことを決定することと、
前記周囲環境温度が上昇したことを計算することと、
前記上昇した周囲環境温度に基づいて新しい最適性能レベルの組合せを選択することと、
前記新しい最適性能レベルの組合せを含むように前記動的軽減テーブルを更新し、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用することと
を行うようにさらに構成される、請求項11に記載のコンピュータシステム。
【請求項１６】
前記MLTMモジュールが、
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示すことと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うことと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記最適性能レベルの組合せを適用することが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想されることと、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視することと、
前記第2の警報が前記予想される時間内に消去されなかったことを決定することと、
前記複数の処理構成要素のうちの1つまたは複数の処理構成要素の性能能力が変化したことを決定することと、
前記熱設定値データベースにおいて、前記学習された性能レベルの組合せが再評価を必要とする旨のフラグを立てることと
を行うようにさらに構成される、請求項11に記載のコンピュータシステム。
【請求項１７】
前記MLTMモジュールが、
前記最適性能レベルの組合せの前記適用によって生じた温度に関連して前記適用された最適性能レベルの組合せで前記熱設定値データベースを更新し、
新しい最適性能レベルの組合せを決定し、
前記新しい最適性能レベルの組合せで前記動的軽減テーブルを更新し、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用する
ようにさらに構成される、請求項16に記載のコンピュータシステム。
【請求項１８】
前記MLTMモジュールが、
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた新しい目標温度しきい値を超えた旨の警報を示すことと、
前記温度センサーに関連付けられた前記新しい目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する性能レベルの組合せが以前に学習されていないことを決定することと、
前記温度センサーに関連付けられた前記新しい目標温度しきい値までの、およびそれ以内の、ならびに他の複数の温度センサーの各々に関連付けられた目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する前記複数の処理構成要素のための新しい性能レベルの組合せを学習するために、前記複数の処理構成要素の各々の前記性能レベルを増分させることと、
前記複数の温度センサーの各々および前記周囲環境温度に関連して前記新しい学習された性能レベルの組合せを前記熱設定値データベースに記憶することと、
最適性能レベルの組合せを前記新しい学習された性能レベルの組合せから選択し、前記選択された新しい最適性能レベルの組合せで前記動的軽減テーブルを更新することと、
前記選択された新しい最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記選択された新しい最適性能レベルの組合せを適用することが、前記第2の警報を消去する熱エネルギーレベルを生成することと
を行うようにさらに構成される、請求項11に記載のコンピュータシステム。
【請求項１９】
前記新しい最適性能レベルの組合せが、前記第2の警報時にアクティブな性能レベルの組合せに基づいて選択される、請求項18に記載のコンピュータシステム。
【請求項２０】
前記複数の処理構成要素が、グラフィック処理ユニット(「GPU」)、中央処理装置(「CPU」)、およびワイヤレスモデムから成る群から選択された処理構成要素を含む、請求項11に記載のコンピュータシステム。
【請求項２１】
ポータブルコンピューティングデバイス(「PCD」)におけるマルチ相関学習型熱管理のためのコンピュータシステムであって、
前記PCD内の複数の温度センサーを監視するための手段と、
前記複数の温度センサーのうちの1つから割込み信号を受信するための手段であり、前記割込み信号が、前記温度センサーに関連付けられた目標温度しきい値を超えた旨の警告を示す、手段と、
複数の処理構成要素の各々の性能レベルを最小性能レベルに設定するための手段と、
時間ベースの間隔で、前記複数の温度センサーのうちの1つまたは複数から温度信号をサンプリングするための手段であり、時間ベースの間隔で所与の温度センサーから前記温度信号をサンプリングするステップが、前記所与の温度センサーに関連付けられた放熱曲線としてマッピングされるように動作可能なデータを生成する、手段と、
前記複数の温度センサーのうちの1つまたは複数から安定した温度信号を受信するための手段であり、前記安定した温度信号が、周囲環境温度に関連付けられている、手段と、
前記複数の温度センサーの各々に関連付けられた目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する前記複数の処理構成要素のための性能レベルの組合せを学習するために、前記複数の処理構成要素の各々の前記性能レベルを増分させるための手段と、
前記複数の温度センサーの各々、前記周囲環境温度、熱エネルギーレベル、および前記複数の温度センサーの各々に関連付けられた前記放熱曲線に関連して前記学習された性能レベルの組合せを熱設定値データベースに記憶するための手段と、
最適性能レベルの組合せを前記学習された性能レベルの組合せから選択し、前記選択された最適性能レベルの組合せで動的軽減テーブルを更新するための手段と、
前記選択された最適性能レベルの組合せを前記複数の処理構成要素に適用するための手段であり、前記選択された最適性能レベルの組合せを適用することが、第1の警報を消去する熱エネルギーレベルを生成する、手段と
を含むコンピュータシステム。
【請求項２２】
前記選択された最適性能レベルの組合せが、前記警報の時にアクティブな性能レベルの組合せに基づいて選択される、請求項21に記載のコンピュータシステム。
【請求項２３】
前記温度センサーから第2の割込み信号を受信するための手段であり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示す、手段と、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うための手段と、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用するための手段であり、前記最適性能レベルの組合せを適用することが、前記第2の警報を消去する熱エネルギーレベルを生成する、手段と
をさらに含む請求項21に記載のコンピュータシステム。
【請求項２４】
前記温度センサーから第2の割込み信号を受信するための手段であり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示す、手段と、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うための手段と、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用するための手段であり、前記最適性能レベルの組合せを適用することが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想される、手段と、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視するための手段と、
前記第2の警報が、前記予想された時間よりも継続時間が短い実際の時間内に消去されることを決定するための手段と、
前記周囲環境温度が低下したことを計算するための手段と、
前記低下した周囲環境温度に基づいて新しい最適性能レベルの組合せを選択するための手段と、
前記新しい最適性能レベルの組合せを含むように前記動的軽減テーブルを更新するための手段と、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用するための手段と
をさらに含む請求項21に記載のコンピュータシステム。
【請求項２５】
前記温度センサーから第2の割込み信号を受信するための手段であり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示す、手段と、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うための手段と、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用するための手段であり、前記最適性能レベルの組合せを適用することが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想される、手段と、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視するための手段と、
前記第2の警報が前記予想される時間内に消去されなかったことを決定するための手段と、
前記周囲環境温度が上昇したことを計算するための手段と、
前記上昇した周囲環境温度に基づいて新しい最適性能レベルの組合せを選択するための手段と、
前記新しい最適性能レベルの組合せを含むように前記動的軽減テーブルを更新するための手段と、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用するための手段と
をさらに含む請求項21に記載のコンピュータシステム。
【請求項２６】
前記温度センサーから第2の割込み信号を受信するための手段であり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示す、手段と、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うための手段と、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用するための手段であり、前記最適性能レベルの組合せを適用することが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想される、手段と、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視するための手段と、
前記第2の警報が前記予想される時間内に消去されなかったことを決定するための手段と、
前記複数の処理構成要素のうちの1つまたは複数の処理構成要素の性能能力が変化したことを決定するための手段と、
前記熱設定値データベースにおいて、前記学習された性能レベルの組合せが再評価を必要とする旨のフラグを立てるための手段と
をさらに含む請求項21に記載のコンピュータシステム。
【請求項２７】
前記最適性能レベルの組合せの前記適用によって生じた温度に関連して前記適用された最適性能レベルの組合せで前記熱設定値データベースを更新するための手段と、
新しい最適性能レベルの組合せを決定するための手段と、
前記新しい最適性能レベルの組合せで前記動的軽減テーブルを更新するための手段と、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用するための手段と
をさらに含む請求項26に記載のコンピュータシステム。
【請求項２８】
前記温度センサーから第2の割込み信号を受信するための手段であり、前記第2の割込み信号が、前記温度センサーに関連付けられた新しい目標温度しきい値を超えた旨の警報を示す、手段と、
前記温度センサーに関連付けられた前記新しい目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する性能レベルの組合せが以前に学習されていないことを決定するための手段と、
前記温度センサーに関連付けられた前記新しい目標温度しきい値までの、およびそれ以内の、ならびに他の複数の温度センサーの各々に関連付けられた目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する前記複数の処理構成要素のための新しい性能レベルの組合せを学習するために、前記複数の処理構成要素の各々の前記性能レベルを増分させるための手段と、
前記複数の温度センサーの各々および前記周囲環境温度に関連して前記新しい学習された性能レベルの組合せを前記熱設定値データベースに記憶するための手段と、
最適性能レベルの組合せを前記新しい学習された性能レベルの組合せから選択し、前記選択された新しい最適性能レベルの組合せで前記動的軽減テーブルを更新するための手段と、
前記選択された新しい最適性能レベルの組合せを前記複数の処理構成要素に適用するための手段であり、前記選択された新しい最適性能レベルの組合せを適用することが、前記第2の警報を消去する熱エネルギーレベルを生成する、手段と
をさらに含む請求項21に記載のコンピュータシステム。
【請求項２９】
前記新しい最適性能レベルの組合せが、前記第2の警報時にアクティブな性能レベルの組合せに基づいて選択される、請求項28に記載のコンピュータシステム。
【請求項３０】
前記複数の処理構成要素が、グラフィック処理ユニット(「GPU」)、中央処理装置(「CPU」)、およびワイヤレスモデムから成る群から選択された処理構成要素を含む、請求項21に記載のコンピュータシステム。
【請求項３１】
コンピュータ可読プログラムコードを備えるコンピュータプログラムであって、前記コンピュータ可読プログラムコードが、ポータブルコンピューティングデバイス(「PCD」)におけるマルチ相関学習型熱管理のための方法を実施するために実行されるように適合され、前記方法が、
前記PCD内の複数の温度センサーを監視するステップと、
前記複数の温度センサーのうちの1つから割込み信号を受信するステップであり、前記割込み信号が、前記温度センサーに関連付けられた目標温度しきい値を超えた旨の警告を示す、ステップと、
複数の処理構成要素の各々の性能レベルを最小性能レベルに設定するステップと、
時間ベースの間隔で、前記複数の温度センサーのうちの1つまたは複数から温度信号をサンプリングするステップであり、時間ベースの間隔で所与の温度センサーから前記温度信号をサンプリングするステップが、前記所与の温度センサーに関連付けられた放熱曲線としてマッピングされるように動作可能なデータを生成する、ステップと、
前記複数の温度センサーのうちの1つまたは複数から安定した温度信号を受信するステップであり、前記安定した温度信号が、周囲環境温度に関連付けられている、ステップと、
前記複数の温度センサーの各々に関連付けられた目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する前記複数の処理構成要素のための性能レベルの組合せを学習するために、前記複数の処理構成要素の各々の前記性能レベルを増分させるステップと、
前記複数の温度センサーの各々、前記周囲環境温度、熱エネルギーレベル、および前記複数の温度センサーの各々に関連付けられた前記放熱曲線に関連して前記学習された性能レベルの組合せを熱設定値データベースに記憶するステップと、
最適性能レベルの組合せを前記学習された性能レベルの組合せから選択し、前記選択された最適性能レベルの組合せで動的軽減テーブルを更新するステップと、
前記選択された最適性能レベルの組合せを前記複数の処理構成要素に適用するステップであり、前記選択された最適性能レベルの組合せを適用するステップが、第1の警報を消去する熱エネルギーレベルを生成する、ステップと
を含む
コンピュータプログラム。
【請求項３２】
前記選択された最適性能レベルの組合せが、前記警報の時にアクティブな性能レベルの組合せに基づいて選択される、請求項31に記載のコンピュータプログラム。
【請求項３３】
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示すことと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うことと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記最適性能レベルの組合せを適用することが、前記第2の警報を消去する熱エネルギーレベルを生成することと
をさらに含む請求項31に記載のコンピュータプログラム。
【請求項３４】
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示すことと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うことと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記最適性能レベルの組合せを適用することが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想されることと、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視することと、
前記第2の警報が、前記予想された時間よりも継続時間が短い実際の時間内に消去されることを決定することと、
前記周囲環境温度が低下したことを計算することと、
前記低下した周囲環境温度に基づいて新しい最適性能レベルの組合せを選択することと、
前記新しい最適性能レベルの組合せを含むように前記動的軽減テーブルを更新することと、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用することと
をさらに含む請求項31に記載のコンピュータプログラム。
【請求項３５】
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示すことと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うことと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記最適性能レベルの組合せを適用することが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想されることと、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視することと、
前記第2の警報が前記予想される時間内に消去されなかったことを決定することと、
前記周囲環境温度が上昇したことを計算することと、
前記上昇した周囲環境温度に基づいて新しい最適性能レベルの組合せを選択することと、
前記新しい最適性能レベルの組合せを含むように前記動的軽減テーブルを更新することと、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用することと
をさらに含む請求項31に記載のコンピュータプログラム。
【請求項３６】
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた前記目標温度しきい値を超えた旨の第2の警報を示すことと、
前記最適性能レベルの組合せを識別するために前記動的軽減テーブルに対する問合せを行うことと、
前記最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記最適性能レベルの組合せを適用することが、予想される時間内に前記第2の警報を消去する熱エネルギーレベルを生成することが予想されることと、
前記最適性能レベルの適用後、前記温度センサーからの前記温度信号を監視することと、
前記第2の警報が前記予想される時間内に消去されなかったことを決定することと、
前記複数の処理構成要素のうちの1つまたは複数の処理構成要素の性能能力が変化したことを決定することと、
前記熱設定値データベースにおいて、前記学習された性能レベルの組合せが再評価を必要とする旨のフラグを立てることと
をさらに含む請求項31に記載のコンピュータプログラム。
【請求項３７】
前記最適性能レベルの組合せの前記適用によって生じた温度に関連して前記適用された最適性能レベルの組合せで前記熱設定値データベースを更新することと、
新しい最適性能レベルの組合せを決定することと、
前記新しい最適性能レベルの組合せで前記動的軽減テーブルを更新することと、
前記新しい最適性能レベルの組合せを前記複数の処理構成要素に適用することと
をさらに含む請求項36に記載のコンピュータプログラム。
【請求項３８】
前記温度センサーから第2の割込み信号を受信することであり、前記第2の割込み信号が、前記温度センサーに関連付けられた新しい目標温度しきい値を超えた旨の警報を示すことと、
前記温度センサーに関連付けられた前記新しい目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する性能レベルの組合せが以前に学習されていないことを決定することと、
前記温度センサーに関連付けられた前記新しい目標温度しきい値までの、およびそれ以内の、ならびに他の複数の温度センサーの各々に関連付けられた目標温度しきい値までの、およびそれ以内の熱エネルギーレベルを生成する前記複数の処理構成要素のための新しい性能レベルの組合せを学習するために、前記複数の処理構成要素の各々の前記性能レベルを増分させることと、
前記複数の温度センサーの各々および前記周囲環境温度に関連して前記新しい学習された性能レベルの組合せを前記熱設定値データベースに記憶することと、
最適性能レベルの組合せを前記新しい学習された性能レベルの組合せから選択し、前記選択された新しい最適性能レベルの組合せで前記動的軽減テーブルを更新することと、
前記選択された新しい最適性能レベルの組合せを前記複数の処理構成要素に適用することであり、前記選択された新しい最適性能レベルの組合せを適用することが、前記第2の警報を消去する熱エネルギーレベルを生成することと
をさらに含む請求項31に記載のコンピュータプログラム。
【請求項３９】
前記新しい最適性能レベルの組合せが、前記第2の警報時にアクティブな性能レベルの組合せに基づいて選択される、請求項38に記載のコンピュータプログラム。
【請求項４０】
前記複数の処理構成要素が、グラフィック処理ユニット(「GPU」)、中央処理装置(「CPU」)、およびワイヤレスモデムから成る群から選択された処理構成要素を含む、請求項31に記載のコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
ポータブルコンピューティングデバイス(PCD)は、個人レベルおよび専門レベルで人々に必要なものになりつつある。これらのデバイスは、携帯電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含むことができる。
【０００２】
PCDの1つの特有の態様は、ラップトップコンピュータおよびデスクトップコンピュータなどのより大型のコンピューティングデバイスにおいて見られることが多い、ファンのような能動的な冷却デバイスを一般に有していないことである。ファンを使用する代わりに、PCDは、能動的で熱を発生させる2つ以上の構成要素が互いに近接して配置されないように、電子パッケージングの空間的な構成に依存する場合がある。多くのPCDはまた、それぞれのPCDを一緒に形成する複数の電子構成要素の間で熱エネルギーを管理するための、ヒートシンクなどの受動的な冷却デバイスに依存する場合がある。
【０００３】
現実には、PCDは、通常、サイズに制約があり、したがってPCD内の構成要素用の空間は貴重である場合が多い。そのため、通常、技術者および設計者が巧妙な空間的構成または受動的な冷却構成要素の戦略的配置を使用することによって、処理構成要素の熱的な劣化または障害を軽減するのに十分な空間が、PCD内には存在しない。したがって、現行のシステムおよび方法は、熱エネルギーの放散を監視するためにPCDチップに組み込まれた様々な温度センサーに依存する。温度センサーが個々の処理構成要素にマッピングされるので、それらの測定値は、それらの処理構成要素のための熱管理技法の適用をトリガさせるために使用され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、現行のシステムおよび方法は、複数の熱アグレッサ(たとえばプロセッサ)と複数の温度センサーとの間の熱関係を考えていないことが多い。したがって、温度読取値に応答して、現行のシステムおよび方法は、目標温度に鑑みてPCDにおけるすべての熱アグレッシブ構成要素(thermally aggressive component)の設定を最適に調整することができない可能性がある。したがって、当技術分野では、PCDにおけるマルチ相関学習型熱管理(multi-correlative learning thermal management)のためのシステムおよび方法が必要である。より具体的には、当技術分野では、PCDの熱特性を学習し、次いで、熱アグレッサの設定値の調整に対する熱反応に基づいて、将来の熱エネルギー管理を向上させるために、熱特性を更新するシステムおよび方法が必要である。さらに、当技術分野では、熱アグレッサの設定値の調整に対する熱反応に基づいて、熱エネルギー管理を向上させるために、周囲温度を推定し、PCDの熱特性を補償するシステムおよび方法が必要である。
【課題を解決するための手段】
【０００５】
ポータブルコンピューティングデバイス(「PCD」)において実施されるマルチ相関学習型熱管理(「MLTM」)技法のための方法およびシステムの様々な実施形態が開示される。特に、多くのPCDにおいて、PCDにおける個々の温度センサーによって測定される熱エネルギーレベルは、複数の処理構成要素、すなわち熱アグレッサに起因し得る。一般的に、様々な処理構成要素によって消費される電力の増加に伴って、結果として生じる熱エネルギー生成が、チップ周辺に位置する温度センサーに関連付けられた温度しきい値の超過をもたらし、それにより、熱エネルギー生成を低減する目的でPCDの性能を犠牲にする必要が生じることがある。有利には、MLTMシステムおよび方法の実施形態は、複数の熱アグレッサが個々の温度センサーの温度読取値に影響を及ぼすことを認識し、あらかじめ定められた温度しきい値内に熱エネルギーレベルを維持しながら、QoSを最適化する最適性能レベル設定値の組合せを識別し、適用しようとする。
【０００６】
MLTM方法の例示的な実施形態は、PCDにおける複数の処理構成要素の各々について不連続な数の性能レベルを定義する。当業者が認識するように、性能レベルまたはビン設定値の各々は、1つまたは複数の処理構成要素に供給される電力周波数に関連付けられる。次に、チップ周辺に位置する複数の温度センサーの各々に関連付けられた目標温度しきい値が定義され得る。目標温度しきい値を超えた旨の警報を示す割込み信号について、温度センサーが監視される。
【０００７】
以前に目標温度を超えており、警報を消去する(clear)ために、性能レベルの組合せが正常に処理構成要素に適用された場合、以前学習された性能レベルの組合せが適用され得る。超えた目標温度に関して、最適性能レベルの組合せが以前に学習されていない場合、複数の処理構成要素の各々についての性能レベルは、最小性能レベルに設定され得る。その後、温度センサーからの温度信号は、第1の温度センサーに関連付けられた放熱曲線を生成するために、時間ベースの間隔でサンプリングされ得る。温度センサーからの安定した温度信号がひとたび認識されると、安定した温度が周囲環境温度に関連付けられ得る。特に、当業者が認識するように、PCDがさらされる周囲環境温度は、PCDからの熱エネルギー放散のレートに影響を及ぼし得る。
【０００８】
次に、温度センサーについての目標温度しきい値内の熱エネルギーレベルを生成する複数の処理構成要素のための性能レベルの組合せを学習するために、複数の処理構成要素の各々の性能レベル(すなわち、ビン設定値または供給された電力レベル)が系統的に増分され得る。処理構成要素のために識別される性能レベルのすべての有効な組合せは、温度センサー、周囲環境温度、目標温度、および放熱曲線に関連して、学習された性能レベルの組合せとして、熱設定値データベースに記憶され得る。性能レベルの有効な組合せから、最適性能レベルの組合せが選択され、複数の処理構成要素に適用され得、したがって、QoSを最適化しながら、目標温度内で熱エネルギーレベルを動かす。センサーが目標温度を再び超える熱イベントを認識した場合、最適性能レベルの組合せが迅速に識別され、適用され得るように、最適性能レベルの組合せは動的軽減テーブル(dynamic mitigation table)に記憶され得る。特に、最適性能レベルの組合せは、熱イベント時にアクティブなアグレッサのビン設定値に基づいて、有効な組合せから選択され得る。このようにして、最適なビン設定値は、目標温度に対する得られた温度の相対的な近さとともに、アクティブな熱アグレッサのビン設定値とのマルチ相関に基づいて選択され得る。
【０００９】
周囲環境温度の増減を識別するために、動的軽減テーブルに記憶された最適性能レベルの組合せの将来の適用が監視され得る。すなわち、センサーの温度読取値が、最適性能レベルの組合せが最後に適用されたときのものよりも、ある持続時間の後、高い場合、この方法は、周囲環境温度が上昇したと結論づけ、それに応じて、以前低い目標温度に関連付けられていた組合せが今後はより高い目標温度に関連付けられるように、動的軽減テーブルに記憶された最適性能レベルの組合せを調整することができる。同様に、センサーの温度読取値が、最後に適用されたときのものよりも、ある持続時間の後、低い場合、または、予想よりも速く目標温度に到達した場合、この方法は、周囲環境温度が低下したと結論づけ、それに応じて、以前高い目標温度に関連付けられていた組合せが今後はより低い目標温度に関連付けられるように、動的軽減テーブルに記憶された最適性能レベルの組合せを調整することができる。
【００１０】
図面では、別段の指示がない限り、種々の図面全体を通して、同じ参照番号が同じ部分を指している。「102A」または「102B」などの文字指定を伴う参照番号について、文字指定は、同じ図内に存在する2つの同様の部分または要素を区別することができる。参照番号がすべての図において同じ参照番号を有するすべての部分を包含することを意図するとき、参照番号に対する文字指定は省略される場合がある。
【図面の簡単な説明】
【００１１】
【図１】システムオンチップ(「SOC」)における複数の熱アグレッサと複数の温度センサーとの間の例示的な熱力学の図である。
【図２】ポータブルコンピューティングデバイス(「PCD」)においてマルチ相関学習型熱管理方法を実施するためのオンチップシステムの実施形態を示す機能ブロック図である。
【図３】複数の熱センサーの目標温度に関連付けられた学習された最適な設定値を介した複数の処理構成要素のマルチ相関学習型熱管理のための方法およびシステムを実装するための、ワイヤレス電話の形の、図2のPCDの例示的な非限定的態様を示す機能ブロック図である。
【図４Ａ】図3に示すチップのための、ハードウェアの例示的な空間構成を示す機能ブロック図である。
【図４Ｂ】マルチ相関学習型熱管理のための、図3のPCDの例示的なソフトウェアアーキテクチャを示す概略図である。
【図５Ａ】複数の熱アグレッサと複数の温度センサーとの間の熱力学のマルチ相関学習による図2のPCDにおける熱エネルギー生成を管理するための方法を示す論理的フローチャートである。
【図５Ｂ】複数の熱アグレッサと複数の温度センサーとの間の熱力学のマルチ相関学習による図2のPCDにおける熱エネルギー生成を管理するための方法を示す論理的フローチャートである。
【図５Ｃ】複数の熱アグレッサと複数の温度センサーとの間の熱力学のマルチ相関学習による図2のPCDにおける熱エネルギー生成を管理するための方法を示す論理的フローチャートである。
【図６】所与の目標温度に関連して複数の熱アグレッサと複数の温度センサーとの間のマルチ相関熱力学の最初の完全反復学習のための下位方法またはサブルーチンを示す論理的フローチャートである。
【図７】所与の目標温度に関連して複数の熱アグレッサと複数の温度センサーとの間のマルチ相関熱力学の追加の漸進的反復学習のための下位方法またはサブルーチンを示す論理的フローチャートである。
【発明を実施するための形態】
【００１２】
「例示的」という用語は、本明細書において「一例、事例、または実例として役立つ」ことを意味するように使用される。「例示的」として本明細書で説明されるいずれの態様も、排他的であるか、他の態様より好ましいか、または有利であると、必ずしも解釈されるべきでない。
【００１３】
本明細書において、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルも含むことができる。加えて、本明細書で参照される「アプリケーション」は、また、オープンされる必要があり得る文書またはアクセスされる必要がある他のデータファイルなどの、本質的に実行可能でないファイルを含み得る。
【００１４】
本明細書で使用される場合、「構成要素」、「データベース」、「モジュール」、「システム」、「熱エネルギー発生構成要素」、「処理構成要素」、「熱アグレッサ」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図される。たとえば、構成要素は、限定はしないが、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータとすることができる。例として、コンピューティングデバイス上で実行されているアプリケーションとコンピューティングデバイスの両方を、構成要素とすることができる。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在する場合があり、構成要素は、1つのコンピュータに局在する場合があり、かつ/または、2つ以上のコンピュータ間に分散する場合がある。加えて、これらの構成要素は、様々なデータ構造を記憶した様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケット(たとえば、信号を用いて、ローカルシステム内、分散システム内の別の構成要素とやりとりし、および/または、インターネットなどのネットワークにわたって他のシステムとやりとりする1つの構成要素からのデータ)を有する信号に従うなどして、ローカルプロセスおよび/またはリモートプロセスを用いて通信することができる。
【００１５】
本明細書では、「中央処理装置(「CPU」)」、「デジタル信号プロセッサ(「DSP」)」、「グラフィカル処理ユニット(GPU)」、および「チップ」という用語は互換的に使用される。その上、CPU、DSP、GPUまたはチップは、「コア」と本明細書では全般的に呼ばれる1つまたは複数の別個の処理構成要素からなり得る。さらに、CPU、DSP、GPU、チップまたはコアが、様々なレベルの機能効率で動作するために様々なレベルの電力を消費するPCD内の機能構成要素である限り、これらの用語の使用は、開示する実施形態、またはそれらの等価物の適用を、PCD内の処理構成要素のコンテキストに限定するものではないことが当業者には認識されよう。すなわち、実施形態の多くは、処理構成要素のコンテキストにおいて記載されるが、マルチ相関学習型熱管理ポリシーは、モデム、カメラ、ワイヤレスネットワークインターフェースコントローラ(「WNIC」)、ディスプレイ、ビデオエンコーダ、周辺デバイス、バッテリーなどを含むが、それに限定されない、PCD内のどの機能構成要素にも適用され得ると想定される。
【００１６】
上記に定義されたものに加えて、「処理構成要素」または「熱エネルギー生成構成要素」または「熱アグレッサ」は、限定はしないが、中央処理装置、グラフィカル処理装置、コア、メインコア、サブコア、処理エリア、ハードウェアエンジンなど、またはポータブルコンピューティングデバイス内の集積回路の内部もしくは外部にある任意の構成要素であり得る。その上、「熱負荷」、「熱分布」、「熱シグネチャ」、「熱フットプリント」、「熱力学」、「熱処理負荷」などの用語がプロセッサ上で作動し得る作業負荷の負担を示す限り、本開示のこれらの「熱」の用語の使用が、処理負荷の分布、作業負荷の負担および電力消費に関連し得ることを、当業者は認識するだろう。
【００１７】
本明細書では、「熱」および「熱エネルギー」という用語は、「温度」の単位で測定することができるエネルギーを生成または散逸させることが可能なデバイスまたは構成要素に関連付けて使用される場合があることは理解されよう。さらに、「熱フットプリント」、「熱力学」などの用語は、PCD内の2つ以上の構成要素間の熱関係のコンテキスト内で使用され得、温度の単位で定量化可能であり得ることを理解されよう。その結果、「温度」という用語は、「熱エネルギー」を生成するデバイスまたは構成要素間の熱関係の、相対的な暖かさまたは熱の欠如を示すことができる、何らかの基準値に対する任意の測定値を想定することはさらに理解されよう。たとえば、2つの構成要素が「熱」平衡にあるとき、2つの構成要素の「温度」は、同じである。
【００１８】
本明細書では、「熱軽減技法」、「熱ポリシー」、「熱管理」、「熱軽減対策」、「性能レベルへの抑制」などという用語は、交換可能に使用される。特に、特定の使用コンテキストによっては、この段落で列挙する用語のいずれも、熱エネルギー生成を犠牲にして性能を高め、性能を犠牲にして熱エネルギー生成を低下させ、またはそのような目標の間で交替するように動作可能なハードウェアおよび/またはソフトウェアを記述するのに役立ち得ることが当業者には認識されよう。
【００１９】
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、電池などの限られた容量の電源で動作する任意のデバイスを説明するために使用される。電池で動作するPCDは、数十年にわたって使われてきたが、第3世代(「3G」)および第4世代(「4G」)のワイヤレス技術の出現に結び付けられる、充電式電池における技術的進歩により、多数の機能を有する数多くのPCDが可能になった。したがって、PCDは、数ある中でも、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックすなわちリーダ、メディアプレーヤ、上述のデバイスの組合せ、ワイヤレス接続を有するラップトップコンピュータであり得る。
【００２０】
本明細書では、「性能設定値」、「ビン設定値」、「電力レベル」などの用語は、熱的にアグレッシブな処理デバイスに供給される電力レベルを互換的に参照するために使用される。
【００２１】
サービス品質(「QoS」)に不必要に影響を及ぼすことなく、PCDにおける熱エネルギー生成を管理することは、各々が1つまたは複数の熱アグレッサによって生成され、そこから放散される熱エネルギーを示す1つまたは複数のセンサー測定値を活用することによって達成され得る。チップ周辺に戦略的に位置する熱センサーの温度を密に監視することによって、PCDにおけるマルチ相関学習熱マネージャ(「MLTM」)は、熱センサーによって測定される温度に集合的に寄与する熱的にアグレッシブな処理構成要素の一群の性能レベルの最適な組合せを系統的に識別することができる。
【００２２】
熱センサーの所与の目標温度について、MLTMモジュールは、目標温度を上回る熱エネルギー生成を防止するビン設定値の有効な組合せを見つける目的で、熱アグレッサに供給される電力レベルを、一度に1つのデバイスおよび1つのビンなど、系統的に増分および減分することができる。そうする際に、MLTMは、PCDがさらされる周囲環境の温度を推論することもできる。有利には、周囲温度および目標動作温度の知識とともに、ビン設定値の学習された組合せは、目標温度がすべての熱アグレッサにわたる熱エネルギー生成のバランスによって維持されるように、将来の使用事例において適用され得る。さらに、また当業者であれば認識するように、マルチ相関学習型熱管理方法は、所与の作業負荷の下での所与のPCDにおける熱エネルギー消散の特定の力学に関係なく適用され得るので、技術者および設計者は、PCDの特定のフォームファクタを考慮することなくマルチ相関学習型熱管理手法を活用することができる。
【００２３】
特に、マルチ相関学習型熱管理方法の例示的な実施形態は、本明細書では、中央処理装置(「CPU」)およびグラフィカル処理ユニット(GPU)のコンテキストで記載されているが、マルチ相関学習型熱管理方法の適用は、熱アグレッサのCPUおよび/またはGPUの組合せに限定されない。マルチ相関学習型熱管理方法の実施形態は、システムオンチップ(「SoC」)内に存在し得る熱アグレッサと熱センサーとの任意の組合せに拡張され得ることが想定される。説明を容易にするために、本明細書における例のいくつかは、主に、CPUおよびGPUの形で1対の熱アグレッサによって影響を受ける熱センサーをただ1対だけ含むが、任意の数の熱アグレッサおよび熱センサーがマルチ相関学習型熱管理ポリシーの対象であり得ることは理解されよう。
【００２４】
例示的なPCDにおける熱アグレッサのファミリにマルチ相関熱管理手法がどのように適用され得るかを示す非限定的な例は、不連続な数のビン設定値、すなわち、性能レベルP1、P2、P3、P4...P15(P15は最大性能レベルを表し、P1は最低性能レベルを表す)が1対の熱アグレッサの各々のために定義され得ることを仮定する。当業者であれば理解するように、レベルP15は、所与の作業負荷の負担で、高QoSレベルと高熱エネルギー生成レベルの両方に関連付けられ得る。同様に、同じ作業負荷の負担では、レベルP1は低QoSレベルと低熱エネルギー生成レベルの両方に関連付けられ得る。また、所与の温度センサー、センサー1の目標温度が60℃で設定されていると仮定する。
【００２５】
非限定的な例では、温度読取値が60℃の目標温度を超えたと認識された後、温度センサーのサンプリングが開始し得る。いくつかの実施形態では、マルチ相関学習のためにセンサーサンプリングの開始をトリガすることは、割込みベースのセンサーの使用によって実現され得ることが想定される。ひとたび割込みが引き起こされると、MLTMモジュールは、適用された場合、(PCDがさらされる周囲温度が、設定値の組合せが学習されたときから実質的に変わっていないと仮定して)温度読取値が低下し、目標温度で安定するようにする、熱アグレッサのための以前学習された性能設定値の組合せを識別することができる。目標温度に対する得られた温度の相対的な近さとともに、アクティブなアグレッサのビン設定値と熱設定値データベース内の有効なビン設定値の組合せとの間のマルチ相関に基づいて、MLTMは、使用事例に最適である最適なビン設定値の組合せを選択し、次いで、熱アグレッサのアクティブな性能設定値が選択された最適なビン設定値の組合せに変更されるようにすることができる。
【００２６】
例に戻ると、最適なビン設定値の組合せが、60℃の目標温度についてMLTMモジュールによって以前に学習されていない場合、MLTMモジュールは、最適なビン設定値の組合せを求めることができる。センサー1のためのMLTMモジュールによって使用される最初の軽減テーブルは、例示的な60℃の目標温度(センサー1のデフォルトの軽減テーブル)を含めて、熱アグレッサ1および熱アグレッサ2のビン設定値が各目標温度の最低ビンレベルで設定されるべきであることを示し得る。したがって、それらの目標温度のいずれか1つを初めて超えると、MLTMモジュールは、軽減テーブルを参照し、熱アグレッサのためのビン設定値の組合せが各々最小ビン設定値に設定されることを含むことがわかる。次いで、MLTMモジュールは、熱アグレッサ1と2の両方のアクティブなビン設定値を、その最小ビン設定値に変更することができ、したがって、熱アグレッサによって生成されるすべての熱エネルギーを、なくすとまではいかないが、大幅に減らすことができる。したがって、センサーによって測定された温度は、低下し始め得、ビン設定値が最小設定値のままである場合、PCDの周囲環境温度と実質的に平衡した温度で安定することができる。
【００２７】
センサー1によって測定された温度が低下するにつれて、放熱曲線は、MLTMモジュールによってマッピングされ得る(時間対温度)。同様に、他の温度センサーによって測定された温度も低下するにつれて、それらのセンサーの各々に関連付けられた放熱曲線もマッピングされ得る。放熱曲線から、MLTMモジュールは、放熱曲線を作り出すときに周囲温度が周囲温度と整合しており、各熱アグレッサのビン設定値が最小レベルに設定されたと想定して、所与のセンサーが任意の目標温度に達するのにどれぐらいかかるかを、将来の適用で推定することができる。説明のために、所与のセンサーに関連付けられ、この例でMLTMモジュールによって使用されるデフォルトの軽減テーブルは、以下の通りであり得る。
【００２８】
【表１】
2017502383.tif 000003
【００２９】
上記のセンサー1の例示的なデフォルトの軽減テーブルから、センサー1で60℃の温度しきい値を超えたことに応答して、MLTMモジュールは、P1のデフォルトのビン設定値の組合せを両方の熱アグレッサに適用することができる。したがって、熱エネルギーが熱アグレッサの電力消費によって生成されることは大幅に減少し、それによって、センサー1(ならびに他の監視されたセンサー)によって測定された温度が低下する。しかしながら、熱アグレッサのビンレベルをP1にセットすることは、センサー1によって測定された温度を60℃に保つために必要であるよりも急激な電力レベルの低下を必然的に表し得るので、温度は、60℃を下回るレベルに急速に低下する可能性がある。
【００３０】
センサー1の観点からの例に戻ると、センサー1によって測定された温度がひとたび安定すると、MLTMモジュールは、PCDがさらされる周囲温度に実質的に等しいものとして読取値を認識することができる。次いで、MLTMモジュールは、熱アグレッサ1および2のビン設定値を系統的に増分し、センサー1を含む各センサーによる温度測定値に対する熱エネルギー生成のそれらの得られた増加の影響を測定することができる。ビン設定値の組合せが増分されるにつれて、MLTMモジュールは、センサー、様々な目標温度、および決定された周囲温度に関連して、熱アグレッサのための有効なビン設定値の組合せのデータベースを構築することができる。有利には、将来のシナリオにおいて、1つまたは複数のセンサーの特定の目標温度についての最適なビン設定値の組合せを識別するために、有効なビン設定値の組合せのMLTMモジュールによる問合せが行われ得る。
【００３１】
様々な目標温度で温度測定値を安定させるためにMLTMモジュールによって識別される有効なビン設定値の組合せから、MLTMモジュールは、各々の最適なビン設定値の組合せを選択することができる。最適なビン設定値の組合せは、熱イベント時のアクティブなアグレッサのビン設定値とのマルチ相関、ならびに得られた温度と目標温度との間の相対的な近さに基づいて選択され得る。たとえば、熱イベント時にアグレッサ1がレベルP6で稼働しており、アグレッサ2がレベルP2で稼働している場合、MLTMモジュールは、P6/P2設定値に近い最適なビン設定値の組合せを選択することができる。すなわち、それぞれ、有効なビン設定値の組合せが、両方のアグレッサをP3で稼働させ、別の有効なビン設定値の組合せが、アグレッサをP5およびP2でそれぞれ稼働させる場合、MLTMモジュールは、熱イベント時にアクティブであったP6/P2設定値に最も近いので、ビン設定値の組合せP5/P2を適用することを選ぶことができる。このようにして最適なビン設定の組合せを選択する際、MLTMモジュールは、熱イベント時のアクティブなビン設定値の組合せが進行中の使用事例によって駆動されたことを認識し、したがって、PCDの進行中の使用事例との互換性がある可能性が高いすべての有効なビン設定値の組合せから新しい最適なビン設定値の組合せを選択しようとし得る。
【００３２】
例に戻ると、次いで、目標温度についての軽減テーブル内のデフォルトのビン設定値の組合せは、最適なビン設定値の組合せと交換され得る。説明のために、センサー1の上記のデフォルトの軽減テーブルは、上述した反復学習プロセスに基づいて、MLTMモジュールによって更新され得る。特に、他のセンサーのデフォルトの軽減テーブルも更新され得る。センサー1のための得られた更新された軽減テーブルは、以下の通りであり得る。
【００３３】
【表２】
2017502383.tif 000004
【００３４】
次いで、MLTMモジュールは、熱アグレッサ1ではP4、熱アグレッサ2ではP3の最適なビン設定値の組合せを適用し、それによって、センサー1によって測定された熱エネルギーレベルを60℃の目標温度の方に軽減させ、その目標温度で安定させるようにすることができる。特に、熱アグレッサ1ではP4、および熱アグレッサ2ではP3の最適なビン設定値の組合せは、そのようなビン設定の組合せによって、他のセンサーに関連付けられた目標温度を超えない旨の認識に基づいて、MLTMモジュールによって選択されている可能性もある。有利には、センサー1の更新された軽減テーブルにおいて学習された目標温度のうちの1つを超えた旨の通知を、MLTMモジュールが受信する将来のシナリオで、テーブルの問合せは、以前学習した最適なビン設定値の組合せを直ちに適用するために、MLTMモジュールに知らせる。
【００３５】
また、センサー1の更新された軽減テーブルは、決定された周囲温度での複数の目標温度についての最適な設定値の組合せを含むので、所与の目標温度と周囲温度との間の差が、熱アグレッサに起因するセンサーによって測定された熱エネルギーの量を表すことを、当業者は認識されよう。この認識により、MLTMモジュールは、周囲温度の変化が認識されたとき、軽減テーブルをアップまたはダウンして最適なビン設定値の組合せを「シフト」することができる。
【００３６】
たとえば、上記のセンサー1の更新された軽減テーブルにおいて、20℃の目標温度では、両方の熱アグレッサのビン設定値がP1に設定されるべきであることがわかる。したがって、この例では、MLTMモジュールは、ビン設定値の組合せが学習されたときの周囲環境温度も20℃でもあったと推論することができる。したがって、センサー1の拡大された更新された軽減テーブルは、センサー1の更新された軽減テーブルに列挙された各ビン設定値の組合せに起因する熱エネルギーの寄与を示す列を含み得る。
【００３７】
【表３】
2017502383.tif 000005
【００３８】
例に戻ると、熱アグレッサ1ではP4、および熱アグレッサ2ではP3の最適なビン設定値の組合せを選択し、適用したMLTMモジュールは、モニタモジュールと連携して、動作温度が、設定値に関連付けられた放熱曲線を構築するために目標温度に近づくレートを監視することができる。
【００３９】
放熱データを使用して、熱アグレッサ1ではP4、および熱アグレッサ2ではP3のビン設定値の組合せが将来の適用で使用されるとき、MLTMモジュールは、熱エネルギーが過去の学習と一致したある時間量内に放散するのを予想することができる。特に、予想されるよりも速く目標温度に達する場合、MLTMモジュールは、PCDが現在さらされている周囲環境が、選択された最適なビン設定値の組合せが学習されたときにそれがさらされていた周囲環境よりも涼しい(すなわち、20℃よりも涼しい)と推論することができる。同様に、温度センサーによって測定された動作温度が目標温度よりも高い温度で安定する場合、MLTMモジュールは、PCDが現在さらされている周囲環境が、選択された最適なビン設定値の組合せが学習されたときにそれがさらされていた周囲環境よりも暖かい(すなわち、20℃よりも暖かい)と推論することができる。どちらにしても、MLTMシステムおよび方法の実施形態は、選択された最適なビン設定値の組合せに関連付けられた熱アグレッサの既知の温度の寄与(すなわち、熱アグレッサエネルギー寄与)に基づいて、周囲温度の変化を計算することができる。
【００４０】
たとえば、上記の例で、ビン設定値の組合せが熱アグレッサ1ではP4および熱アグレッサ2ではP3に設定されたとき、熱アグレッサエネルギー寄与は、40℃であると計算された。したがって、同じビン設定値の組合せが70℃である動作温度測定値になる場合、MLTMモジュールは、追加の10℃を周囲環境によるものとし、最適なビン設定値の組合せを「シフト」してレベルをアップさせることによって、軽減テーブルを更新することができる。この例では、周囲温度が20℃から30℃に上昇したと認識することに応答してビン設定値の組合せを「シフト」してレベルをアップさせることは、結果として以下をもたらす。
【００４１】
【表４】
2017502383.tif 000006
【００４２】
MLTMモジュールは、別の周囲環境温度の変化が認識されるまで、および/またはセンサー1でまだ学習されていない目標温度を超えるまで、および/または異なる使用事例がさらに学習を必要とするまで、および/または熱アグレッサのうちの1つの動作仕様に変化があるまで、最適なビン設定値の組合せの選択および適用のために上記の軽減テーブルを使用し続けることができる。特に、本明細書では、マルチ相関学習型熱管理方法の実施形態が単一のセンサーに関して記載されているが、PCD内の他のセンサーに関連して、同じまたは類似のアルゴリズムが同時にまたは連続的に適用され得ると想定される。
【００４３】
図1は、システムオンチップ(「SOC」)における複数の熱アグレッサと複数の温度センサーとの間で起こり得る例示的な熱力学の図である。図1の例からわかるように、両方の熱アグレッサによって生成された熱エネルギーは、熱センサーの各々によって取得される温度読取値に寄与し得る。例のセンサー1が熱アグレッサ1により近いので、センサー1によって測定された熱エネルギーは、熱アグレッサ1に大いに起因し得る。しかしながら、当業者が認識するように、熱アグレッサ2も、センサー1によって取得される測定値に影響を及ぼす熱エネルギーを生成し得る。同様に、熱アグレッサ1によって生成された熱エネルギーは、おそらくより近い熱アグレッサ2によって生成された熱エネルギーほどではないが、センサー2によって取得される温度読取値に影響を及ぼし得る。
【００４４】
たとえそうでも、および当業者が認識するように、たとえば、熱アグレッサ2は特に低いビン設定値に設定され(したがって、比較的小さい電力を消費する)、熱アグレッサ1は比較的高いビンレベルに設定されている場合、センサー2によって測定された熱エネルギーの量は、それが熱アグレッサ2よりもはるかにチップ上のセンサー2から離れている場合であっても、熱アグレッサ1に大いに起因し得る。有利には、MLTMシステムおよび方法の実施形態は、複数の熱アグレッサのビン設定値の様々な組合せが、同じ動作および周囲条件下において所与のセンサーで同じ熱エネルギー測定値を生成することができる現実を認識する。複数のビン設定値の組合せが所与の温度センサーによって測定された同じ結果を生成し得ることを考慮に入れることによって、MLTMモジュールは、アクティブな使用事例のために最適である特定のビン設定値の組合せを選択することができる。
【００４５】
上述のように、たとえば図1の例におけるセンサー1およびセンサー2など、SOCにおけるセンサーによって測定される熱エネルギーレベルが複数の熱アグレッサに起因し得ることを、MLTMシステムおよび方法の実施形態は認識する。特に、図1の例は、説明の目的のみで提供されており、MLTMシステムまたは方法の実施形態が熱アグレッサおよびセンサーの対のみを含む用途においてMLTMソリューションを適用することに限定されることを示唆するものではない。システムおよび方法の実施形態は、PCD内にある熱アグレッサおよびセンサーの任意の組合せに適用可能であり得ると想定される。
【００４６】
図2は、PCD100においてマルチ相関学習型熱管理(「MLTM」)方法を実装するためのオンチップシステム102の実施形態を示す機能ブロック図である。MLTMシステムおよび方法は、チップ上の熱センサーによって測定される温度を目標時間以内に指定された目標温度にできるだけ近づけることができるチップ上のすべての熱アグレッサの組合せに有効なビン設定値の組合せを学習しようとする。
【００４７】
図2の例では、温度センサー157Aおよび157Bは、各々によって測定された熱エネルギーが、熱アグレッサGPU182と、コア222、224、226および228を含むマルチプロセッサCPU110との各々によって生成され、それから放散されるエネルギーに起因し得るように、チップ102上に位置している。特に、上述のように、マルチ相関学習型熱管理方法の実施形態は、2つの熱センサーおよび2つの熱アグレッサの適用に限定されない。実施形態は、チップ周辺に位置する複数の熱アグレッサが複数の温度センサーの各々によって測定された温度に様々なレベルで影響を及ぼし得るかなり複雑なマルチ相関環境に適応することができると想定される。さらに、当業者は、マルチ相関学習型熱管理方法の実施形態は、CPUおよびGPUの形での熱アグレッサへの適用に限定されるのではなく、むしろ、限定はしないが、モデム、ディスプレイ構成要素、ワイヤレスLAN構成要素などの熱アグレッサの任意の組合せに適用され得ることを認識されよう。
【００４８】
概して、本システム102は次の2つの主要モジュールを使用し、これらはいくつかの実施形態では、単一のモジュールに含まれ得る。(1)監視モジュール114によって監視された温度読取値を分析し(特に、監視モジュール114およびMLTMモジュール101は、いくつかの実施形態では1つの同じものであり得る)、最適なビン設定値の組合せを決定し、選択するためのマルチ相関学習型熱管理(「MLTM」)モジュール101、および(2)MLTMモジュール101から受信した命令に従って個別の処理構成要素に対する漸進的抑制戦略を実施するための、限定はしないが、DVFSモジュール26などのビン設定モジュール。
【００４９】
目標温度しきい値を超えた旨のトリガをセンサー157のうちの1つから受信すると、MLTMモジュール101は、有効なビン設定の組合せが目標温度に関連して以前に学習されていなかったことを、熱設定値データベース27の問合せから決定することができる。そうである場合、MLTMモジュール101は、PCD100の周囲温度を決定し、センサー157の温度を様々なレベルで維持するために有効なビン設定値の組合せを系統的に識別する反復学習プロセスをトリガすることができる。有効なビン設定値の組合せから、MLTMモジュール101は、最適なビン設定値の組合せを含むように動的軽減テーブル28を更新し、次いで、GPU182およびCPU110(またはいくつかのコア222、224、226、228)のビンを、目標温度を維持するレベルに設定するよう動的電圧および周波数スケーリング(「DVFS」)モジュール26に指示することができる。
【００５０】
周囲環境温度に関連して様々なビン設定値の組合せの放熱率のその知識を使用して、MLTMモジュール101は、以前学習されたビン設定値の適用後、周囲温度の増減を認識することが可能であり得る。PCD100がさらされている周囲環境の温度の増減の程度に基づいて、放熱率は、目標QoSレベルを維持するために許容されない場合がある。そのような場合、MLTMモジュール101は、熱設定値データベース27における新しいビン設定値の組合せを反復的に決定し、または動的軽減テーブルにおいて他の目標温度に関連付けられたビン設定値の組合せを適用することができる。
【００５１】
図3は、複数の熱センサーの目標温度に関連付けられた学習された最適な設定値を介した複数の処理構成要素のマルチ相関学習型熱管理のための方法およびシステムを実装するための、ワイヤレス電話の形の、図2のPCDの例示的な非限定的態様を示す機能ブロック図である。図示のように、PCD100は、一緒に結合されるマルチコアの中央処理装置(「CPU」)110およびアナログ信号プロセッサ126を含む、オンチップシステム102を含む。当業者によって理解されるように、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を備え得る。さらに、当業者によって理解されるように、CPU110の代わりにデジタル信号プロセッサ(「DSP」)を利用することもできる。
【００５２】
概して、動的電圧周波数スケーリング(「DVFS」)モジュール26は、不利な形でいくつかの温度しきい値を上回ることなくPCD100がその電力レベルを最適化し高レベルの機能を維持するのを支援するために漸進的にコア222、224、230などの個別の処理構成要素に対して抑制技法を実施することを担い得る。
【００５３】
監視モジュール114は、オンチップシステム102全体を通して分散された複数の動作するセンサー(たとえば、熱センサー157A、157B)、およびPCD100のCPU110、ならびにMLTMモジュール101と通信する。いくつかの実施形態では、監視モジュール114は、PCD100の接触温度に関連する温度読取値に関して「オフチップ」センサー157Cを監視することもできる。MLTMモジュール101は監視モジュール114と連携して、温度しきい値を上回っていることを識別し、マルチ相関学習型熱管理アルゴリズムを使用して、温度を低減する目的でチップ102内の識別された構成要素に対する抑制戦略の適用を命令することができる。
【００５４】
図3に示すように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130がデジタル信号プロセッサ110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132は、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。PCD100は、さらに、ビデオエンコーダ134、たとえば、位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または任意の他のタイプのビデオエンコーダ134を含み得る。ビデオエンコーダ134は、マルチコアの中央処理装置(「CPU」)110に結合される。ビデオ増幅器136は、ビデオエンコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138は、ビデオ増幅器136に結合される。図3に示されるように、ユニバーサルシリアルバス(「USB」)コントローラ140が、CPU110に結合される。同様に、USBポート142は、USBコントローラ140に結合される。メモリ112および加入者識別モジュール(「SIM」)カード146も、CPU110に結合される場合がある。さらに、図3に示されるように、デジタルカメラ148が、CPU110に結合される場合がある。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
【００５５】
図3にさらに示されるように、ステレオオーディオコーデック150が、アナログ信号プロセッサ126に結合される場合がある。さらに、オーディオ増幅器152が、ステレオオーディオコーデック150に結合される場合がある。例示的な態様では、第1のステレオスピーカー154および第2のステレオスピーカー156が、オーディオ増幅器152に結合される。図3は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合され得ることを示す。加えて、マイクロフォン160は、マイクロフォン増幅器158に結合され得る。特定の態様では、周波数変調(「FM」)ラジオチューナ162が、ステレオオーディオコーデック150に結合される場合がある。同様に、FMアンテナ164は、FMラジオチューナ162に結合される。さらに、ステレオヘッドフォン166が、ステレオオーディオコーデック150に結合される場合がある。
【００５６】
図3は、無線周波数(RF)トランシーバ168がアナログ信号プロセッサ126に結合され得ることをさらに示している。RFスイッチ170が、RFトランシーバ168およびRFアンテナ172に結合される場合がある。図3に示されるように、キーパッド174が、アナログ信号プロセッサ126に結合される場合がある。また、マイクロフォン付きモノヘッドセット176が、アナログ信号プロセッサ126に結合される場合がある。さらに、バイブレータデバイス178が、アナログ信号プロセッサ126に結合される場合がある。図3は、たとえばバッテリーなどの電源188が、PMIC180を介してオンチップシステム102に結合されることも示す。特定の態様では、電源は、充電式DCバッテリー、または交流(「AC」)電力源に接続されたAC-DC変換器から取り出されるDC電源を含む。
【００５７】
CPU110はまた、1つまたは複数の内部のオンチップ熱センサー157A、157B、ならびに、1つまたは複数の外部のオフチップ熱センサー157Cに結合され得る。オンチップ熱センサー157は、垂直PNP構造に基づく、通常、相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」)回路専用である1つまたは複数の絶対温度比例(「PTAT」)温度センサーを備え得る。オフチップ熱センサー157は、1つまたは複数のサーミスタを備え得る。熱センサー157は、アナログデジタル変換器(「ADC」)コントローラ103を用いてデジタル信号に変換される、電圧降下を生じさせ得る。しかしながら、本発明の範囲から逸脱することなく、他のタイプの熱センサー157A、157B、157Cを利用することができる。
【００５８】
DVFSモジュール26およびMLTMモジュール101は、CPU110によって実行されるソフトウェアを備えることができる。しかしながら、本発明の範囲から逸脱することなく、DVFSモジュール26およびMLTMモジュール101は、ハードウェアおよび/またはファームウェアから形成されてもよい。MLTMモジュール101は、DVFSモジュール26と連携して、PCD100が高レベルの機能およびユーザ体験を維持しつつ熱的な劣化を回避するのを支援し得る抑制ポリシーを適用することを担い得る。
【００５９】
タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカー154、第2のステレオスピーカー156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、電力供給188、PMIC180および熱センサー157Cは、オンチップシステム102の外部にある。しかしながら、モニタモジュール114はまた、PCD100において動作可能なリソースのリアルタイム管理を助けるために、これらの外部のデバイスのうちの1つまたは複数から、アナログ信号プロセッサ126およびCPU110によって1つまたは複数の指示または信号を受信できることを理解されたい。
【００６０】
特定の態様では、本明細書で説明する方法ステップのうちの1つまたは複数は、1つまたは複数のMLTMモジュール101およびDVFSモジュール26を形成する、メモリ112に記憶された実行可能命令およびパラメータによって実施され得る。モジュール101、26を形成するこれらの命令は、本明細書で説明する方法を実行するために、ADCコントローラ103に加えて、CPU110、アナログ信号プロセッサ126、または別のプロセッサによって実行され得る。さらに、プロセッサ110、126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として機能し得る。
【００６１】
図4Aは、図3に示すチップ102のための、ハードウェアの例示的な空間構成を示す機能ブロック図である。この例示的な実施形態によれば、アプリケーションCPU110は、チップ102の遠く左側の領域に配置されるが、モデムCPU168、126は、チップ102の遠く右側の領域に配置される。アプリケーションCPU110は、第0のコア222、第1のコア224、および第Nのコア230を含む、マルチコアプロセッサを含み得る。アプリケーションCPU110は、(ソフトウェアで具現化される場合)MLTMモジュール101Aおよび/またはDVFSモジュール26Aを実行していてよく、または、(ハードウェアで具現化される場合)MLTMモジュール101Aおよび/またはDVFSモジュール26Aを含んでよい。アプリケーションCPU110は、オペレーティングシステム(「O/S」)モジュール207および監視モジュール114を含むように、さらに例示される。
【００６２】
アプリケーションCPU110は、アプリケーションCPU110に隣接して配置されチップ102の左側の領域にある、1つまたは複数の位相ロックループ(「PLL」)209A、209Bに結合され得る。PLL209A、209Bの隣、またアプリケーションCPU110の下には、アナログデジタル(「ADC」)コントローラ103がある可能性があり、このADCコントローラ103は、アプリケーションCPU110の主要モジュール101A、26Aとともに機能するそれ自体のMLTMモジュール101Bおよび/またはDVFSモジュール26Bを含み得る。
【００６３】
ADCコントローラ103のMLTMモジュール101Bは、「チップ102上」および「チップ102外」に設けられ得る複数の熱センサー157を監視および追跡することを担い得る。オンチップまたは内部熱センサー157A、157Bは、様々なロケーションに配置されてよく、そのロケーションの近傍にある熱アグレッサに関連付けられる場合(第2の熱グラフィックプロセッサ135Bおよび第3の熱グラフィックプロセッサ135Cの隣にあるセンサー157A3など)または熱敏感構成要素に関連付けられる場合(メモリ112の隣にあるセンサー157B1など)がある。しかしながら、上述のように、所与のセンサーが所与の熱アグレッサに物理的に近接していてもよいが、そのセンサーによって測定される温度は、チップ102周辺に位置する複数の熱アグレッサに起因し得る。さらに、所与の熱アグレッサに起因し、所与の熱センサーによって測定された熱エネルギーの相対量は、熱アグレッサのビン設定値によって決まり得る。
【００６４】
非限定的な例として、第1の内部熱センサー157B1は、アプリケーションCPU110とモデムCPU168、126との間に、かつ内部メモリ112に隣接して、チップ102の上部の中心領域に配置され得る。第2の内部熱センサー157A2は、モデムCPU168、126の下の、チップ102の右側領域に配置され得る。この第2の内部熱センサー157A2は、進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)177と第1のグラフィックプロセッサ135Aとの間にも配置され得る。デジタルアナログコントローラ(「DAC」)173は、第2の内部熱センサー157A2とモデムCPU168、126との間に配置され得る。
【００６５】
第3の内部熱センサー157A3は、第2のグラフィックプロセッサ135Bと第3のグラフィックプロセッサ135Cとの間の、チップ102の遠く右側の領域に配置され得る。第4の内部熱センサー157A4は、チップ102の遠く右側の領域に、かつ第4のグラフィックプロセッサ135Dの下に配置され得る。第5の内部熱センサー157A5は、チップ102の遠く左側の領域に、かつPLL209およびADCコントローラ103に隣接して配置され得る。
【００６６】
1つまたは複数の外部熱センサー157Cも、ADCコントローラ103に結合され得る。第1の外部熱センサー157C1は、チップの外部に、かつ、モデムCPU168、126、ARM177、およびDAC173を含み得るチップ102の右上4分の1の領域に隣接して配置され得る。第2の外部熱センサー157C2は、チップの外部に、第3のグラフィックプロセッサ135Cおよび第4のグラフィックプロセッサ135Dを含み得るチップ102の右下4分の1の領域に隣接して配置され得る。特に、外部熱センサー157Cのうちの1つまたは複数は、PCD100の接触温度、すなわちユーザがPCD100に接触する際に受け得る温度を示すのに活用され得る。
【００６７】
上記で概説し、図4Aの例で表される処理構成要素のビン設定値の様々な組合せが、様々な温度センサーの各々によって測定される温度に影響を及ぼし得ることを、当業者は認識されよう。マルチ相関学習型熱管理システムおよび方法の実施形態は、チップ周辺の熱アグレッサおよび温度測定値の相互作用を認識し、熱エネルギーの生成を効率的に管理し、QoSを最適化するために、熱アグレッサのビン設定値の組合せを最適化しようとする。
【００６８】
図4Aに示すハードウェアの様々な他の空間構成が、本発明の範囲から逸脱することなく実現され得ることを、当業者は認識するであろう。図4Aは、さらなる1つの例示的な空間構成を示し、図4Aに示す例示的な空間構成により決まる熱条件を、主要なMLTMモジュール101Aと、主要なDVFSモジュール26Aと、MLTMモジュール101BおよびDVFSモジュール26Bを有するADCコントローラ103とがどのように認識し、温度しきい値を動作温度と比較し、マルチ相関学習型熱管理ポリシーを適用することができるかを示す。
【００６９】
図4Bは、マルチ相関学習型熱管理のための、図3のPCDの例示的なソフトウェアアーキテクチャを示す概略図である。任意の数のアルゴリズムは、いくつかの熱条件が満たされたときにMLTMモジュール101によって適用され得る少なくとも1つの熱管理ポリシーを形成するか、またはその一部になることができるが、好ましい実施形態では、MLTMモジュール101はDVFSモジュール26と連携して、限定はしないがコア222、224および230を含むチップ102における個別の熱アグレッサに電圧周波数スケーリングポリシーを漸進的に適用する。漸進的スケーリングの作業から、MLTMモジュールは、様々な監視された温度レベルを維持するのに必要な複数の熱アグレッサについてのビン設定値の有効な組合せを識別する。
【００７０】
図4Bに示すように、CPUまたはデジタル信号プロセッサ110は、バス211を介してメモリ112に結合される。上述のように、CPU110は、N個のコアプロセッサを有するマルチコアプロセッサである。すなわち、CPU110は、第1のコア222、第2のコア224、および第Nのコア230を含む。当業者には知られているように、第1のコア222、第2のコア224、および第Nのコア230の各々は、専用のアプリケーションまたはプログラムをサポートするために利用可能である。あるいは、2つ以上の利用可能なコアにわたる処理のために、1つまたは複数のアプリケーションまたはプログラムを分散することができる。
【００７１】
CPU110は、ソフトウェアおよび/またはハードウェアを備え得るMLTMモジュール101および/またはDVFSモジュール26から、コマンドを受け取ることができる。ソフトウェアとして具現化される場合、モジュール101、26は、CPU110および他のプロセッサによって実行されている他のアプリケーションプログラムにコマンドを出す、CPU110によって実行される命令を備える。
【００７２】
CPU110の第1のコア222、第2のコア224〜第Nのコア230は、単一の集積回路ダイに集積されるか、または、複数回路パッケージにおいて別個のダイ上で集積または結合される場合がある。設計者は、第1のコア222、第2のコア224〜第Nのコア230を、1つまたは複数の共有キャッシュを介して結合することができ、バス、リング、メッシュ、およびクロスバートポロジなどのネットワークトポロジを介して、メッセージまたは命令の伝達を実施することができる。
【００７３】
当技術分野で知られているように、バス211は、1つまたは複数のワイヤード接続またはワイヤレス接続を介した複数の通信経路を含み得る。バス211は、通信を可能にするために、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、および受信機のような、簡単にするために省略される追加の要素を有する場合もある。さらに、バス211は、上述の構成要素の間での適切な通信を可能にするために、アドレス、制御、および/またはデータ接続を含むことができる。
【００７４】
図4Bに示すように、PCD100によって使用される論理がソフトウェアで実装されるとき、開始論理250、管理論理260、マルチ相関学習型熱管理インターフェース論理270、アプリケーションストア280内のアプリケーション、およびファイルシステム290の部分のうちの1つまたは複数が、任意のコンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に記憶され得ることに留意されたい。
【００７５】
本文書の文脈において、コンピュータ可読媒体は、コンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる電子、磁気、光学または他の物理デバイスまたは手段である。種々の論理要素およびデータ記憶装置は、命令実行システム、装置、またはデバイスから命令を取り出し、命令を実行することができる、コンピュータベースのシステム、プロセッサを含むシステム、または他のシステムなどの、命令実行システム、装置またはデバイスによる使用、またはそれらと関係した使用のために、任意のコンピュータ可読媒体において具現することができる。本文書の文脈において、「コンピュータ可読媒体」は、命令実行システム、装置、またはデバイスによる使用、またはそれらと関係した使用のために、プログラムを記憶、通信、伝搬、または転送することができる任意の手段とすることができる。
【００７６】
コンピュータ可読媒体は、たとえば、限定はしないが、電子、磁気、光学、電磁、赤外線、または半導体のシステム、装置、デバイス、または伝搬媒体とすることができる。コンピュータ可読媒体のより具体的な例(非包括的なリスト)を挙げると、以下のもの、すなわち、1つまたは複数のワイヤを有する電気的接続(電子的)、ポータブルコンピュータディスケット(磁気的)、ランダムアクセスメモリ(RAM)(電子的)、リードオンリーメモリ(ROM)(電子的)、消去可能プログラム可能リードオンリーメモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子的)、光ファイバ(光学的)、およびポータブルコンパクトディスクリードオンリーメモリ(CDROM)(光学的)を含むことになる。プログラムは、たとえば、紙または他の媒体の光学的走査を用いて電子的に取り込み、その後、コンパイルし、解釈し、または必要なら別のやり方で適切に処理し、その後、コンピュータメモリに記憶することができるので、コンピュータ可読媒体は、そこにプログラムが印刷されている紙または別の適当な媒体とすることもできることに留意されたい。
【００７７】
代替実施形態では、開始論理250、管理論理260、および場合によってはMLTMインターフェース論理270のうちの1つまたは複数がハードウェアで実装される場合、様々な論理は、各々当技術分野でよく知られている以下の技術、すなわち、データ信号に論理関数を実装するための論理ゲートを有する個別の論理回路、適切な組合せの論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などのうちの任意のもの、またはその組合せによって実装することができる。
【００７８】
メモリ112は、フラッシュメモリまたはソリッドステートメモリデバイスなどの不揮発性データ記憶デバイスである。単一のデバイスとして示されるが、メモリ112は、デジタル信号プロセッサ110(または、さらなるプロセッサコア)に結合される別々のデータ記憶装置を用いる分散メモリデバイスとすることができる。
【００７９】
開始論理250は、第1のコア222、第2のコア224〜第Nのコア230のような、利用可能なコアのうちの1つまたは複数の性能を管理または制御するために、選択プログラムを選択的に特定し、ロードし、実行するための1つまたは複数の実行可能命令を含む。開始論理250は、MLTMモジュール101による、PCDの構成要素または態様に関連するしきい値温度設定と様々な温度測定値との比較に基づいて選択プログラムを識別し、ロードし、実行することができる。例示的な選択プログラムは、組込みファイルシステム290のプログラムストア296で見つけることができ、性能スケーリングアルゴリズム297とパラメータのセット298との特定の組合せによって定義される。例示的な選択プログラムは、CPU110内のコアプロセッサのうちの1つまたは複数によって実行されると、1つまたは複数のMLTMモジュール101およびDVFSモジュール26によって提供される制御信号とともに、監視モジュール114によって提供される1つまたは複数の信号に従って、それぞれのプロセッサコアの性能を「アップ」または「ダウン」方向でスケーリングするように動作することができる。この点について、監視モジュール114は、MLTMモジュール101から受け取った、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、ならびに温度などの、1つまたは複数のインジケータを提供することができる。
【００８０】
管理論理260は、それぞれのプロセッサコアのうちの1つまたは複数においてMLTMプログラムを終了し、さらに、利用可能なコアのうちの1つまたは複数の性能を管理または制御するためのより適切な交換プログラムを選択的に識別し、ロードし、実行するための、1つまたは複数の実行可能命令を含む。管理論理260は、実行時間に、またはPCD100が電源を入れられ、デバイスの操作者によって使用されている間に、これらの機能を実行するように構成される。交換プログラムは、組込みファイルシステム290のプログラムストア296で見つけることができ、いくつかの実施形態では、性能スケーリングアルゴリズム297とパラメータのセット298との特定の組合せによって定義され得る。
【００８１】
交換プログラムは、デジタル信号プロセッサ内のコアプロセッサのうちの1つまたは複数によって実行されると、監視モジュール114によって提供される1つもしくは複数の信号、または様々なプロセッサコアのそれぞれの制御入力で提供される1つもしくは複数の信号に従って、それぞれのプロセッサコアの性能をスケーリングするように動作することができる。この点について、監視モジュール114は、MLTM101から発せられる制御信号に応答して、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、温度などの、1つまたは複数のインジケータを提供することができる。
【００８２】
インターフェース論理270は、組込みファイルシステム290に記憶された情報を観察し、構成し、またはそうでなければ更新するために、外部入力を提示し、外部入力を管理し、かつ外部入力と相互にやりとりするための1つまたは複数の実行可能命令を含む。一実施形態では、インターフェース論理270は、USBポート142を介して受信された製造業者入力とともに動作することができる。これらの入力は、プログラムストア296から削除されるべき、またはプログラムストア296に追加されるべき、1つまたは複数のプログラムを含み得る。あるいは、入力は、プログラムストア296内のプログラムのうちの1つまたは複数に対する編集または変更を含み得る。さらに、入力は、開始論理250および管理論理260の一方または両方に対する1つまたは複数の変更、または全体的な代替を特定することができる。例として、入力は、所与の熱アグレッサのための利用可能なビン設定値に対する変更を含み得る。
【００８３】
インターフェース論理270により、製造業者が、PCD100の規定された動作条件下で、エンドユーザの体感を制御可能に構成および調整できるようになる。メモリ112がフラッシュメモリであるとき、開始論理250、管理論理260、インターフェース論理270、アプリケーションストア280中のアプリケーションプログラム、または組込みファイルシステム290中の情報のうちの1つまたは複数は、編集され、置き換えられ、または場合によっては修正され得る。いくつかの実施形態では、インターフェース論理270によって、PCD100のエンドユーザまたは操作者は、開始論理250、管理論理260、アプリケーションストア280中のアプリケーション、および組込みファイルシステム290中の情報を検索し、見つけ、修正し、または置き換えることができる。操作者は、結果として構成されたインターフェースを用いて、PCD100の次の開始時に実施されることになる変更を加えることができる。代替的には、操作者は、結果として構成されたインターフェースを用いて、実行時間中に実施される変更を加えることができる。
【００８４】
組込みファイルシステム290は、階層的に構成された熱技法ストア292を含む。この点について、ファイルシステム290は、PCD100が使用する様々なパラメータ298および熱管理アルゴリズム297の構成および管理のための情報を格納するための、その全ファイルシステム容量の確保された部分を含むことができる。図4Bに示すように、ストア292は熱アグレッサストア294を含み、熱アグレッサストア294はプログラムストア296を含み、プログラムストア296はマルチ相関学習型熱管理プログラムを含み得る1つまたは複数の熱管理プログラムを含む。
【００８５】
図5A〜図5Cは、複数の熱アグレッサと複数の温度センサーとの間の熱力学のマルチ相関学習による図2のPCDにおける熱エネルギー生成を管理するための方法500を示す論理的フローチャートである。図5の方法500は、チップ周辺に位置する1つまたは複数の温度センサーが監視される第1のブロック502で始める。許容可能な温度しきい値、すなわち目標温度は、センサーの各々に前もって設定されている可能性がある。ブロック504で、目標温度を上回る温度読取値の形の熱イベントが検出され得る。ブロック506で、MLTMモジュール101は、熱イベントに影響を及ぼすことがわかっている様々な熱アグレッサの有効なビン設定値の組合せが以前学習されたかどうかを決定するために、熱設定値データベースに対する問合せを行い得る。
【００８６】
そうである場合、「yes」分岐はブロック510に進み、最適なビン設定値の組合せが適用のために選択される。特に、MLTMモジュール101は、ブロック504で検出された熱イベントのための複数の有効なビン設定値の組合せを以前学習しており、TSデータベース27に記憶している可能性がある。以前学習されたすべての有効な組合せから選択された最適なビン設定値の組合せが、熱イベント時にアクティブな特定の使用事例と、マルチ相関によって関連付けられ得ると想定される。たとえば、アクティブな使用事例がゲームアプリケーションである場合、最適なビン設定値の組合せは、高いGPU構成要素のビン設定値と、比較的低いCPU110内のコアのビン設定値とを含み得る。
【００８７】
方法500に戻ると、ブロック512で、動的軽減テーブル28は、ブロック510で選択された最適なビン設定値の組合せで更新され、ビン設定値は、熱イベントに関連付けられた熱アグレッサに適用される。ブロック514で、最適なビン設定値の組合せが学習され、最後に適用されて以降、PCD100がさらされている周囲環境温度が変わっていないことを確認しようとして、熱エネルギー放散率が監視される。決定ブロック516で、周囲温度が以前の周囲温度と一致している場合、「no」分岐は、決定ブロック518に進む。決定ブロック518で、そのビン設定値の組合せの最後の適用と一致していたビン設定値の組合せに応答してMLTMモジュール101によって監視された各センサーが放熱率を記録している場合、MLTMモジュールは、熱アグレッサの健全性または性能の仕様に対する変化がなかったと推論し、「yes」分岐に進んで戻る。
【００８８】
決定ブロック516に戻ると、周囲温度が以前の周囲温度と一致していない場合、「yes」分岐は、図5Bの決定ブロック524に進む。ブロック524で、周囲温度の変化が推定される。周囲温度の変化に基づいて、ブロック526で、MLTMモジュール101は、目標温度に関連して以前学習したビン設定値の組合せをシフト「アップ」または「ダウン」することによって、動的軽減テーブルを更新することができる。上述したように、MLTMモジュール101は、所与のビン設定値の組合せ方式下で熱アグレッサに起因する熱エネルギーの量を計算することが可能であり得るので、更新された周囲温度に関連してビン設定値の組合せが動的軽減テーブルにおける目標温度にマッピングされ得る。MLTMモジュール101は、周囲環境の別の表示が識別されるまで、更新されたテーブルを使用し続けることができる。ブロック526の後、方法500は図5Aのブロック512に戻る。
【００８９】
図5Aの決定ブロック518に戻ると、そのビン設定値の組合せの最後の適用と一致していたビン設定値の組合せに応答してMLTMモジュール101によって監視された1つまたは複数のセンサーが放熱率を記録しているが、他のセンサーが予想された時間内に目標温度に到達した場合、MLTMモジュールは、熱アグレッサのうちの1つまたは複数の健全性または性能の仕様に対する変化があったと推論し、「no」分岐をたどって図5Bのブロック520に進む。ブロック520で、熱アグレッサに関連付けられたビン設定値の組合せは、漸進的学習プロセスによる再評価のために熱設定値データベース27においてフラグが立てられ得る。その結果、フラグが立てられた熱アグレッサに関連付けられた、更新されたより最適なビン設定値の組合せが将来の適用のために識別され得る(特に、いくつかの実施形態では、方法500は、ブロック520でビン設定値の組合せを認識し、「フラグを立てる」と、最適な設定値が識別され、TSデータベース27において更新され、処理構成要素に適用され得るように、ブロック532および534と関連して後述する漸進的な反復プロセスに直ちに入ることができる)。動的軽減テーブル28は、ブロック522で更新され、設定値が適用され、方法500は戻る。
【００９０】
決定ブロック508に戻ると、性能ビン設定値の組合せが、ブロック504の熱イベントに関連して以前に学習されていない場合、「no」分岐は、図5Cの決定ブロック528に進む。決定ブロック528で、方法500は、既存のビン設定値の組合せが漸進的な更新を必要としているか、またはデフォルトのビン設定値の組合せ(すなわち、動的軽減テーブル28に示されるすべての最小電力レベル)が決定されることを必要とするかを決定する。
【００９１】
デフォルトのビン設定値の組合せが、熱イベントのビン設定値の組合せの第1の反復と置き換えられることを必要とする場合、方法500は、「no」分岐からサブルーチン530に進み、目標温度の完全な反復学習が実行される。たとえば、熱アグレッサのうちの1つまたは複数の健全性またはパフォーマンス仕様が変化した旨の決定ブロック518での決定の結果であり得るなど、既存のビン設定値の組合せが、漸進的な調整または更新のためにフラグを立てられている場合、方法500は、「yes」分岐に進み、サブルーチン532は、漸進的な学習アルゴリズムを実行する。サブルーチン530および532のいずれかが完了すると、方法500は、ブロック534に進み、熱設定値データベース27は、新しく学習された有効なビン設定値の組合せで更新される。方法は図5Aのブロック510に戻る。
【００９２】
図6は、所与の目標温度に関連して複数の熱アグレッサと複数の温度センサーとの間のマルチ相関熱力学の最初の完全反復学習のための下位方法またはサブルーチン530を示す論理的フローチャートである。ブロック536で始まり、熱アグレッサごとの性能レベルは、それらの最小性能レベル(動的軽減テーブル28におけるデフォルトのテーブルにおいて示されている可能性があるように)に設定される。ブロック538で、1つまたは複数の熱センサーからの温度読取値が監視され、ブロック540で、放熱曲線が、監視された温度読取値から作られ、TSデータベース27に記憶される。温度読取値が安定すると、ブロック542で、PCDがさらされている周囲温度が記録される。ブロック544で、熱イベントに関連付けられた温度しきい値を超えない熱エネルギー生成レベルをもたらすすべての熱アグレッサにわたるビン設定値の有効な組合せを見つけようとして、様々な熱アグレッサのビン設定値の漸進的な増加が適用される。ビン設定値の組合せがブロック546で識別されると、ブロック548で、組合せが、以前導出された周囲温度および目標動作温度に関連して記憶される。有利には、その時点での所与の使用事例に最も合うビン設定値の組合せの選択のために、将来、このように学習されたビン設定値の有効な組合せに対する問合せが行われ得る。
【００９３】
図7は、所与の目標温度に関連して複数の熱アグレッサと複数の温度センサーとの間のマルチ相関熱力学の追加の漸進的反復学習のための下位方法またはサブルーチン532を示す論理的フローチャートである。ブロック550で、1つまたは複数のフラグが立てられた熱アグレッサのビン設定値が増分され、フラグが立てられた熱アグレッサによって影響を受けることがわかっている様々なセンサーからの温度読取値が監視される。特に、学習の最後の反復以降、1つまたは複数のアグレッサの性能仕様が変わった旨の決定により、漸進的学習がフラグを立てられている場合、方法は、新しく定義されたビン設定値を含む新しいビン設定値の組合せを学習しようとすることができるだけである。ブロック552で、それらの熱アグレッサの既存のビン設定値の組合せは、変更される、または、新しいビン設定値の組合せが識別される。ブロック554で、熱設定値データベース27は、新しい有効なビン設定値の組合せを含むように更新される。
【００９４】
本発明が説明されたように機能するために、本明細書において説明されるプロセスまたはプロセスフローにおけるいくつかのステップが他のステップに先行するのは当然である。しかしながら、そのような順序またはシーケンスが本発明の機能を変更しない場合には、本発明は、説明されたステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、いくつかのステップは、他のステップの前に実行されるか、後に実行されるか、または他のステップと並行して(実質的に同時に)実行される場合があることを認識されたい。場合によっては、本発明から逸脱することなく、いくつかのステップは、省略されてもよく、または実行されなくてもよい。さらに、「その後」、「次いで」、「次に」、「以後」などの単語は、ステップの順序を限定するものではない。これらの言葉は、単に例示的な方法の説明を通じて読者を導くために使用されている。
【００９５】
さらに、プログラミングに関する当業者は、たとえば、本明細書における流れ図および関連する説明に基づいて、難なく、開示される発明を実施するコンピュータのコードを書くことができるか、または実施するのに適したハードウェアおよび/もしくは回路を特定することができる。したがって、特定の1つのセットのプログラムコード命令または詳細なハードウェアデバイスの開示は、本発明の作製方法および使用方法を十分に理解するのに必要であるとは見なされない。特許請求されるコンピュータ実施プロセスの本発明の機能性は、種々のプロセスフローを例示する場合がある図面とともに、上述の説明において、より詳細に説明されている。
【００９６】
1つまたは複数の例示的態様では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアにおいて実施される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶することができるか、またはコンピュータ可読媒体上に送信することができる。コンピュータ可読媒体は、コンピュータ記憶媒体と、コンピュータプログラムの1つの場所から別の場所への転送を容易する任意の媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスすることができる任意の利用可能な媒体とすることができる。例であって、限定はしないが、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用することができ、コンピュータによってアクセスすることができる任意の他の媒体を含むことができる。
【００９７】
また、任意の接続が適切にコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL」)、または、赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【００９８】
ディスク(disk)およびディスク(disc)は、本明細書において使用されるときに、コンパクトディスク(disc)(「CD」)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(「DVD」)、フロッピーディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、一方、ディスク(disc)は、レーザを用いてデータを光学的に再生する。上記のものの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００９９】
したがって、選ばれた態様が図示され、詳細に説明されてきたが、以下の特許請求の範囲によって定められるような、本発明の趣旨および範囲から逸脱することなく、本発明において種々の代替および改変を行うことができることは理解されよう。
【符号の説明】
【０１００】
26  DVFSモジュール
27  熱設定値データベース
28  動的軽減テーブル
100  PCD
101  MLTMモジュール
102  オンチップシステム
103  アナログデジタル変換器(「ADC」)コントローラ
110  マルチプロセッサCPU
110  デジタル信号プロセッサ
112  メモリ
114  監視モジュール
126  アナログ信号プロセッサ
126  モデムCPU
128  ディスプレイコントローラ
130  タッチスクリーンコントローラ
132  タッチスクリーンディスプレイ
135  グラフィックプロセッサ
136  ビデオ増幅器
138  ビデオポート
140  ユニバーサルシリアルバス(「USB」)コントローラ
142  USBポート
146  加入者識別モジュール(「SIM」)カード
148  デジタルカメラ
150  ステレオオーディオコーデック
152  オーディオ増幅器
154  第1のステレオスピーカー
156  第2のステレオスピーカー
157  温度センサー
158  マイクロフォン増幅器
160  マイクロフォン
162  周波数変調(「FM」)ラジオチューナ
164  FMアンテナ
166  ステレオヘッドフォン
168  無線周波数(RF)トランシーバ
168  モデムCPU
170  RFスイッチ
172  RFアンテナ
173  デジタルアナログコントローラ(「DAC」)
174  キーパッド
176  マイクロフォン付きモノヘッドセット
177  進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)
178  バイブレータデバイス
180  PMIC
182  熱アグレッサGPU
188  電源
207  オペレーティングシステム(「O/S」)モジュール
209  位相ロックループ(「PLL」)
211  バス
222  コア
224  コア
226  コア
228  コア
230  コア
250  開始論理
260  管理論理
270  マルチ相関学習型熱管理インターフェース論理
280  アプリケーションストア
290  ファイルシステム
292  熱技法ストア
294  熱アグレッサストア
296  プログラムストア
297  性能スケーリングアルゴリズム
298  パラメータのセット
【図１】
2017502383.tif 000007
【図２】
2017502383.tif 000008
【図３】
2017502383.tif 000009
【図４Ａ】
2017502383.tif 000010
【図４Ｂ】
2017502383.tif 000011
【図５Ａ】
2017502383.tif 000012
【図５Ｂ】
2017502383.tif 000013
【図５Ｃ】
2017502383.tif 000014
【図６】
2017502383.tif 000015
【図７】
2017502383.tif 000016
【国際調査報告】
2017502383.tif 000017
2017502383.tif 000018
2017502383.tif 000019