(57)【特許請求の範囲】
【請求項１】
ポータブルコンピューティングデバイス(「PCD」)における適応型熱管理のための方法であって、
前記PCDにおける1つまたは複数の処理構成要素のための飛び飛びの数の性能レベルを定義するステップであって、前記性能レベルの各々は、前記1つまたは複数の処理構成要素に供給される電力周波数に関連付けられる、ステップと、
前記PCDにおける1つまたは複数の構成要素に関連する温度しきい値を定義するステップであって、前記1つまたは複数の構成要素の各々は、接合部構成要素、パッケージオンパッケージ(「POP」)メモリ構成要素または外殻構成要素である、ステップと、
前記PCDにおける複数の温度センサを監視するステップであって、各温度センサは、接合部構成要素、パッケージオンパッケージ(「POP」)メモリ構成要素および外殻構成要素に関連付けられる、ステップと、
前記複数の温度センサのうちの1つから割込み信号を受信するステップであって、前記割込み信号は、初期温度しきい値を上回っていることを示す、ステップと、
第1のレートで、前記複数の温度センサのうちの1つまたは複数から温度信号を時間ベースの間隔でサンプリングするステップと、
前記温度しきい値のうちの少なくとも1つに違反していることを示す温度信号を受信するステップと、
前記処理構成要素のうちの1つまたは複数の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で最大性能レベルから次に高い性能レベルに低減するステップと、
前記第1のレートで、前記温度しきい値のうちの少なくとも1つに違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記温度しきい値のうちの少なくとも1つの前記違反が解消されていることを示す温度信号を受信するステップと、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げるステップと
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げる前に、前記性能レベルをペナルティ期間にわたって前記次に高い性能レベルで保持するステップと、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げた後、
リセット期間中に、前記温度しきい値のうちの前記少なくとも1つに違反していることを示す温度信号が受信された場合に、後続のペナルティ期間の持続時間を拡大すること、または
リセット期間中に、前記温度しきい値のうちの前記少なくとも1つに違反していることを示す温度信号が受信されなかった場合に、後続のペナルティ期間の持続時間をデフォルト持続時間にリセットすること
のいずれかを行うステップとを含む方法。
【請求項２】
前記第1のレートで、前記温度しきい値のうちの少なくとも1つに違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記温度しきい値のうちの前記少なくとも1つに依然として違反していることを示す温度信号を受信するステップと、
信号レベルによって、前記1つまたは複数の処理構成要素の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で前記次に高い性能レベルからさらに低減するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
違反している前記温度しきい値のうちの前記少なくとも1つは、PoPメモリ構成要素に関連付けられる、請求項1に記載の方法。
【請求項４】
違反している前記温度しきい値のうちの前記少なくとも1つは、前記外殻構成要素に関連付けられる、請求項1に記載の方法。
【請求項５】
違反している前記温度しきい値のうちの前記少なくとも1つは、接合部構成要素に関連付けられる、請求項1に記載の方法。
【請求項６】
前記複数の温度センサのうちの1つまたは複数からの温度信号の前記サンプリングを、前記第1のレートから第2のレートに変更するステップをさらに含み、前記第2のレートは、前記第1のレートの前記時間ベースの間隔よりも持続時間が短い時間ベースの間隔を含む、請求項5に記載の方法。
【請求項７】
前記第2のレートで、前記接合部構成要素に関連する前記温度しきい値に違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記接合部構成要素に関連する前記温度しきい値に依然として違反していることを示す温度信号を受信するステップと、
信号レベルによって、前記1つまたは複数の処理構成要素の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で前記次に高い性能レベルからさらに低減するステップと
をさらに含む、請求項6に記載の方法。
【請求項８】
前記第2のレートで、前記接合部構成要素に関連する前記温度しきい値に違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記接合部構成要素に関連する前記温度しきい値の前記違反が解消されていることを示す温度信号を受信するステップと、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げるステップと
をさらに含む、請求項6に記載の方法。
【請求項９】
ポータブルコンピューティングデバイス(「PCD」)における適応型熱管理のためのコンピュータシステムであって、
前記PCDにおける1つまたは複数の処理構成要素のための飛び飛びの数の性能レベルを定義するステップであって、前記性能レベルの各々は、前記1つまたは複数の処理構成要素に供給される電力周波数に関連付けられる、ステップと、
前記処理構成要素のうちの1つまたは複数の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で最大性能レベルから次に高い性能レベルに低減するステップと
を行うように構成された動的電圧周波数スケーリング(「DVFS」)モジュールと、
前記PCDにおける1つまたは複数の構成要素に関連する温度しきい値を定義するステップであって、前記1つまたは複数の構成要素の各々は、接合部構成要素、パッケージオンパッケージ(「POP」)メモリ構成要素または外殻構成要素である、ステップと、
前記PCDにおける複数の温度センサを監視するステップであって、各温度センサは、接合部構成要素、パッケージオンパッケージ(「POP」)メモリ構成要素および外殻構成要素に関連付けられる、ステップと、
前記複数の温度センサのうちの1つから割込み信号を受信するステップであって、前記割込み信号は、初期温度しきい値を上回っていることを示す、ステップと、
第1のレートで、前記複数の温度センサのうちの1つまたは複数から温度信号を時間ベースの間隔でサンプリングするステップと、
前記温度しきい値のうちの少なくとも1つに違反していることを示す温度信号を受信するステップと
を行うように構成された適応型熱管理(「ATM」)モジュールと、を含み、
前記ATMモジュールは、
前記第1のレートで、前記温度しきい値のうちの少なくとも1つに違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記温度しきい値のうちの少なくとも1つの前記違反が解消されていることを示す温度信号を受信するステップと
を行うようにさらに構成され、
前記DVFSモジュールは、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げる
ようにさらに構成され、
前記DVFSモジュールは、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げる前に、前記性能レベルをペナルティ期間にわたって前記次に高い性能レベルで保持する
ようにさらに構成され、
前記ATMモジュールは、
前記1つまたは複数の処理構成要素の前記性能レベルが前記次に高い性能レベルから前記最大性能レベルに引き上げられた後、
リセット期間中に、前記温度しきい値のうちの前記少なくとも1つに違反していることを示す温度信号が受信された場合に、後続のペナルティ期間の持続時間を拡大すること、または
リセット期間中に、前記温度しきい値のうちの前記少なくとも1つに違反していることを示す温度信号が受信されなかった場合に、後続のペナルティ期間の持続時間をデフォルト持続時間にリセットすること
のいずれかを行うようにさらに構成される、
コンピュータシステム。
【請求項１０】
前記ATMモジュールは、
前記第1のレートで、前記温度しきい値のうちの少なくとも1つに違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記温度しきい値のうちの前記少なくとも1つに依然として違反していることを示す温度信号を受信するステップと
を行うようにさらに構成され、
前記DVFSモジュールは、
信号レベルによって、前記1つまたは複数の処理構成要素の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で前記次に高い性能レベルからさらに低減する
ようにさらに構成される、請求項9に記載のコンピュータシステム。
【請求項１１】
違反している前記温度しきい値のうちの前記少なくとも1つは、PoPメモリ構成要素に関連付けられる、請求項9に記載のコンピュータシステム。
【請求項１２】
違反している前記温度しきい値のうちの前記少なくとも1つは、前記外殻構成要素に関連付けられる、請求項9に記載のコンピュータシステム。
【請求項１３】
違反している前記温度しきい値のうちの前記少なくとも1つは、接合部構成要素に関連付けられる、請求項9に記載のコンピュータシステム。
【請求項１４】
前記ATMモジュールは、前記複数の温度センサのうちの1つまたは複数からの温度信号の前記サンプリングを、前記第1のレートから第2のレートに変更するようにさらに構成され、前記第2のレートは、前記第1のレートの前記時間ベースの間隔よりも持続時間が短い時間ベースの間隔を含む、請求項13に記載のコンピュータシステム。
【請求項１５】
前記ATMモジュールは、
前記第2のレートで、前記接合部構成要素に関連する前記温度しきい値に違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記接合部構成要素に関連する前記温度しきい値に依然として違反していることを示す温度信号を受信するステップと
を行うようにさらに構成され、
前記DVFSモジュールは、
信号レベルによって、前記1つまたは複数の処理構成要素の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で前記次に高い性能レベルからさらに低減する
ようにさらに構成される、請求項14に記載のコンピュータシステム。
【請求項１６】
前記ATMモジュールは、
前記第2のレートで、前記接合部構成要素に関連する前記温度しきい値に違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記接合部構成要素に関連する前記温度しきい値の前記違反が解消されていることを示す温度信号を受信するステップと
を行うようにさらに構成され、
前記DVFSモジュールは、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げる
ようにさらに構成される、請求項14に記載のコンピュータシステム。
【請求項１７】
ポータブルコンピューティングデバイスにおける適応型熱管理のためのコンピュータシステムであって、
前記PCDにおける1つまたは複数の処理構成要素のための飛び飛びの数の性能レベルを定義するためのモジュール手段であって、前記性能レベルの各々は、前記1つまたは複数の処理構成要素に供給される電力周波数に関連付けられる、モジュール手段と、
前記PCDにおける1つまたは複数の構成要素に関連する温度しきい値を定義するためのモジュール手段であって、前記1つまたは複数の構成要素の各々は、接合部構成要素、パッケージオンパッケージ(「POP」)メモリ構成要素または外殻構成要素である、モジュール手段と、
前記PCDにおける複数の温度センサを監視するためのモジュール手段であって、各温度センサは、接合部構成要素、パッケージオンパッケージ(「POP」)メモリ構成要素および外殻構成要素に関連付けられる、モジュール手段と、
前記複数の温度センサのうちの1つから割込み信号を受信するためのモジュール手段であって、前記割込み信号は、初期温度しきい値を上回っていることを示す、モジュール手段と、
第1のレートで、前記複数の温度センサのうちの1つまたは複数から温度信号を時間ベースの間隔でサンプリングするためのモジュール手段と、
前記温度しきい値のうちの少なくとも1つに違反していることを示す温度信号を受信するためのモジュール手段と、
前記処理構成要素のうちの1つまたは複数の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で最大性能レベルから次に高い性能レベルに低減するためのモジュール手段と
前記第1のレートで、前記温度しきい値のうちの少なくとも1つに違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするためのモジュール手段と、
前記温度しきい値のうちの少なくとも1つの前記違反が解消されていることを示す温度信号を受信するためのモジュール手段と、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げるためのモジュール手段と、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げる前に、前記性能レベルをペナルティ期間にわたって前記次に高い性能レベルで保持するためのモジュール手段と、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げた後、
リセット期間中に、前記温度しきい値のうちの前記少なくとも1つに違反していることを示す温度信号が受信された場合に、後続のペナルティ期間の持続時間を拡大すること、または
リセット期間中に、前記温度しきい値のうちの前記少なくとも1つに違反していることを示す温度信号が受信されなかった場合に、後続のペナルティ期間の持続時間をデフォルト持続時間にリセットすること
のいずれかを行うためのモジュール手段とを含むコンピュータシステム。
【請求項１８】
前記第1のレートで、前記温度しきい値のうちの少なくとも1つに違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするための手段と、
前記温度しきい値のうちの前記少なくとも1つに依然として違反していることを示す温度信号を受信するための手段と、
信号レベルによって、前記1つまたは複数の処理構成要素の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で前記次に高い性能レベルからさらに低減するための手段と
をさらに含む、請求項17に記載のコンピュータシステム。
【請求項１９】
違反している前記温度しきい値のうちの前記少なくとも1つは、PoPメモリ構成要素に関連付けられる、請求項17に記載のコンピュータシステム。
【請求項２０】
違反している前記温度しきい値のうちの前記少なくとも1つは、前記外殻構成要素に関連付けられる、請求項17に記載のコンピュータシステム。
【請求項２１】
違反している前記温度しきい値のうちの前記少なくとも1つは、接合部構成要素に関連付けられる、請求項17に記載のコンピュータシステム。
【請求項２２】
前記複数の温度センサのうちの1つまたは複数からの温度信号の前記サンプリングを、前記第1のレートから第2のレートに変更するための手段をさらに含み、前記第2のレートは、前記第1のレートの前記時間ベースの間隔よりも持続時間が短い時間ベースの間隔を含む、請求項21に記載のコンピュータシステム。
【請求項２３】
前記第2のレートで、前記接合部構成要素に関連する前記温度しきい値に違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするための手段と、
前記接合部構成要素に関連する前記温度しきい値に依然として違反していることを示す温度信号を受信するための手段と、
信号レベルによって、前記1つまたは複数の処理構成要素の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で前記次に高い性能レベルからさらに低減するための手段と
をさらに含む、請求項22に記載のコンピュータシステム。
【請求項２４】
前記第2のレートで、前記接合部構成要素に関連する前記温度しきい値に違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするための手段と、
前記接合部構成要素に関連する前記温度しきい値の前記違反が解消されていることを示す温度信号を受信するための手段と、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げるための手段と
をさらに含む、請求項22に記載のコンピュータシステム。
【請求項２５】
コンピュータプログラムであって、ポータブルコンピューティングデバイスにおける適応型熱管理のための方法を実施するために実行されるように適合されるコンピュータプログラムが、
前記PCDにおける1つまたは複数の処理構成要素のための飛び飛びの数の性能レベルを定義するステップであって、前記性能レベルの各々は、前記1つまたは複数の処理構成要素に供給される電力周波数に関連付けられる、ステップと、
前記PCDにおける1つまたは複数の構成要素に関連する温度しきい値を定義するステップであって、前記1つまたは複数の構成要素の各々は、接合部構成要素、パッケージオンパッケージ(「POP」)メモリ構成要素または外殻構成要素である、ステップと、
前記PCDにおける複数の温度センサを監視するステップであって、各温度センサは、接合部構成要素、パッケージオンパッケージ(「POP」)メモリ構成要素および外殻構成要素に関連付けられる、ステップと、
前記複数の温度センサのうちの1つから割込み信号を受信するステップであって、前記割込み信号は、初期温度しきい値を上回っていることを示す、ステップと、
第1のレートで、前記複数の温度センサのうちの1つまたは複数から温度信号を時間ベースの間隔でサンプリングするステップと、
前記温度しきい値のうちの少なくとも1つに違反していることを示す温度信号を受信するステップと、
前記処理構成要素のうちの1つまたは複数の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で最大性能レベルから次に高い性能レベルに低減するステップと、
前記第1のレートで、前記温度しきい値のうちの少なくとも1つに違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記温度しきい値のうちの少なくとも1つの前記違反が解消されていることを示す温度信号を受信するステップと、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げるステップと、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げる前に、前記性能レベルをペナルティ期間にわたって前記次に高い性能レベルで保持するステップと、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げた後、
リセット期間中に、前記温度しきい値のうちの前記少なくとも1つに違反していることを示す温度信号が受信された場合に、後続のペナルティ期間の持続時間を拡大すること、または
リセット期間中に、前記温度しきい値のうちの前記少なくとも1つに違反していることを示す温度信号が受信されなかった場合に、後続のペナルティ期間の持続時間をデフォルト持続時間にリセットすること
のいずれかを行うステップとを含む、コンピュータプログラム。
【請求項２６】
前記第1のレートで、前記温度しきい値のうちの少なくとも1つに違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記温度しきい値のうちの前記少なくとも1つに依然として違反していることを示す温度信号を受信するステップと、
信号レベルによって、前記1つまたは複数の処理構成要素の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で前記次に高い性能レベルからさらに低減するステップと
をさらに含む、請求項25に記載のコンピュータプログラム。
【請求項２７】
違反している前記温度しきい値のうちの前記少なくとも1つは、PoPメモリ構成要素に関連付けられる、請求項25に記載のコンピュータプログラム。
【請求項２８】
違反している前記温度しきい値のうちの前記少なくとも1つは、前記外殻構成要素に関連付けられる、請求項25に記載のコンピュータプログラム。
【請求項２９】
違反している前記温度しきい値のうちの前記少なくとも1つは、接合部構成要素に関連付けられる、請求項25に記載のコンピュータプログラム。
【請求項３０】
前記複数の温度センサのうちの1つまたは複数からの温度信号の前記サンプリングを、前記第1のレートから第2のレートに変更するステップをさらに含み、前記第2のレートは、前記第1のレートの前記時間ベースの間隔よりも持続時間が短い時間ベースの間隔を含む、請求項29に記載のコンピュータプログラム。
【請求項３１】
前記第2のレートで、前記接合部構成要素に関連する前記温度しきい値に違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記接合部構成要素に関連する前記温度しきい値に依然として違反していることを示す温度信号を受信するステップと、
信号レベルによって、前記1つまたは複数の処理構成要素の前記性能レベルを、前記定義された飛び飛びの数の性能レベル内で前記次に高い性能レベルからさらに低減するステップと
をさらに含む、請求項30に記載のコンピュータプログラム。
【請求項３２】
前記第2のレートで、前記接合部構成要素に関連する前記温度しきい値に違反したことを示した前記温度信号を追加の間隔にわたってサンプリングするステップと、
前記接合部構成要素に関連する前記温度しきい値の前記違反が解消されていることを示す温度信号を受信するステップと、
前記1つまたは複数の処理構成要素の前記性能レベルを前記次に高い性能レベルから前記最大性能レベルに引き上げるステップと
をさらに含む、請求項30に記載のコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
ポータブルコンピューティングデバイス(「PCD:portable computing device」)は、個人レベルおよび専門レベルにおいて人々に必要なものになりつつある。これらのデバイスには、携帯電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスが含まれ得る。
【０００２】
PCDの1つの特有の態様は、ラップトップコンピュータおよびデスクトップコンピュータなどのより大型のコンピューティングデバイスで見られることが多い、ファンのような能動的な冷却デバイスを通常は有していないということである。ファンを使用する代わりに、PCDは、2つ以上の能動的かつ熱を発生させる構成要素が互いに近接して配置されないように、電子パッケージングの空間的な構成に依存する場合がある。多くのPCDはまた、それぞれのPCDを一緒に形成する複数の電子構成要素の間で熱エネルギーを管理するための、ヒートシンクなどの受動的な冷却デバイスに依存する場合がある。
【０００３】
現実には、PCDは、通常、サイズに制約があり、したがってPCD内の構成要素用の空間は貴重である場合が多い。そのため、通常、技術者および設計者が巧妙な空間的構成または受動的な冷却構成要素の戦略的配置を使用することによって、処理構成要素の熱的な劣化または障害を軽減するのに十分な空間が、PCD内には存在しない。したがって、現在のシステムおよび方法は、PCDチップに埋め込まれた様々な温度センサに依存して熱エネルギーの消散を監視し、次いで測定値を使用して、作業負荷割振り、処理速度などを調整する熱管理技法の適用をトリガして、熱エネルギー生成を低減する。
【０００４】
たとえば、現在のシステムおよび方法は、プロセッサの電圧および周波数をあらかじめ決定された性能「レベル」に抑制する。観測された温度読取値に基づいて、プロセッサは、プロセッサが重い作業負荷を課せられているときに熱エネルギー生成を軽減するためにあらかじめ決定されたレベルにランプダウンされ得る。特に、処理リソースに対する要求がさほど厳しくない軽い作業負荷の場合、プロセッサの電圧および周波数を、作業負荷が重い場合に熱エネルギー生成を軽減するためにあらかじめ決定されたレベルに抑制すると、ユーザに提供されるサービス品質(「QoS:quality of service」)に不必要に影響が及ぶことがある。したがって、当技術分野では、PCDにおける適応型熱管理のためのシステムおよび方法が必要である。より具体的には、当技術分野では、最悪ユースケースシナリオを仮定しているあらかじめ決定された静的軽減決定を下す代わりに、個別の処理構成要素の温度読取値および現在の周波数/電圧レベルに基づいて実行時に熱軽減決定を行うシステムおよび方法が必要である。
【発明の概要】
【課題を解決するための手段】
【０００５】
ポータブルコンピューティングデバイス(「PCD」)において実施される適応型熱管理技法のための方法およびシステムの様々な実施形態が開示される。特に、多くのPCDにおいて、限定はしないが、ダイ接合部温度、パッケージオンパッケージ(「PoP:package on package」)メモリ温度およびデバイス自体の外面の「接触温度」など、PCDにおける様々な構成要素に関連する温度しきい値は、PCDの実行能力が用いられ得る度合いを制限する。一般的に、PCDの様々な構成要素によって消費される電力の増加に伴って、結果として生じる熱エネルギー生成が温度しきい値の超過をもたらし、それにより、熱エネルギー生成を低減する目的でPCDの性能を犠牲にする必要が生じることがある。
【０００６】
温度しきい値に違反したときに、熱アグレッシブ処理構成要素が最大動作電力に戻るのを許可する前に、違反を解消するために必要な程度と時間だけPCDの性能が犠牲になることが、適応型熱管理のための方法およびシステムの様々な実施形態の利点である。PCDにおける適応型熱管理のための1つのそのような方法は、最初に、PCDにおける1つまたは複数の処理構成要素のための飛び飛びの数の(discrete number of)性能レベルを定義するステップを含む。各性能レベルは、1つまたは複数の処理構成要素に供給され得る電力周波数に関連付けられる。各処理構成要素は、その最高性能レベルで作動するようにデフォルト設定される。
【０００７】
次に、PCDにおける1つまたは複数の温度敏感またはクリティカル構成要素に関連する温度しきい値が定義される。特に、PCDにおける多くの構成要素では、生成された熱エネルギーの量は、構成要素が作動することが可能な電力レベルと直接相関するので、これらの温度しきい値は、適応型温度管理システムがPCDにおける処理構成要素に推進しようとする場合の「ターゲット」動作温度と見なされ得る。適応型熱管理システムおよび方法のいくつかの実施形態では、温度しきい値は、接合部構成要素、PoPメモリ構成要素または外殻構成要素を含む1つまたは複数の構成要素に関連付けられる。
【０００８】
動作時、温度敏感構成要素に関連する温度を測定または推測するために使用され得る温度センサが監視される。特に、温度敏感構成要素のうちの1つまたは複数は熱アグレッシブ構成要素でもあることがあり、熱アグレッシブ構成要素でもあり得る温度敏感構成要素の非限定的な例として、中央処理装置におけるコアがある(コアの接合部の部分は温度クリティカルであり、コアは、作業負荷を処理することによって、電力を消費し、熱エネルギーを生成する)。
【０００９】
いくつかの実施形態では、温度敏感構成要素に関連する事前設定熱しきい値のいずれをも下回る初期しきい値の違反からトリガされた割込み信号に対して、温度センサは監視される。割込みを受信すると、システムの実施形態は、比較的遅いサンプリングレートによって定義された時間ベースの間隔でセンサから読取値をサンプリングし始めることができる。温度しきい値のうちの1つまたは複数に違反していることを示す温度読取値が、ある間隔で取られた場合、実施形態は、動的電圧周波数スケーリング(「DVFS:dynamic voltage and frequency scaling」)技法を活用して、1つまたは複数の熱アグレッシブ処理構成要素の性能レベルを、デフォルト最大動作レベルから最大の1つ下のレベルに低減することができる。次の間隔で、温度読取値が再びポーリングされ、違反が解消されていない場合、熱アグレッシブ構成要素の性能レベルは次に高いレベルに低減される。このようにして、適応型熱管理実施形態は、所与の処理構成要素の処理能力が、しきい値を下回る温度を維持するのに必要とされる程度だけ低減されるようにする。
【００１０】
特に、いくつかの実施形態では、接合部構成要素などの「ミッションクリティカル」構成要素に関連するしきい値の違反は、PCDの熱暴走の可能性が回避されるように、より速い速度でのセンサのポーリングをトリガし得る。さらに、いくつかの実施形態では、熱アグレッシブ構成要素の電力レベルの低減が、しきい値違反を解消できるレベルに熱エネルギー生成を低減することに成功した後、ペナルティ期間が課せられ得る。ペナルティ期間は、頻度または速度に基づいて累積的であってよく、適応型熱管理システムは、熱アグレッシブ処理構成要素が温度しきい値違反を解消するためにランプダウン状態に入ること、または再び入ることを必要とすることが想定される。
【００１１】
図面では、別段に規定されていない限り、様々な図の全体を通して、同様の参照番号は同様の部分を指す。「102A」または「102B」などの文字指定を伴う参照番号の場合、文字指定は、同じ図に存在する2つの同様の部分または要素を区別することができる。参照番号がすべての図において同じ参照番号を有するすべての部分を包含することが意図されるとき、参照番号の文字指定は省略される場合がある。
【図面の簡単な説明】
【００１２】
【図１】ポータブルコンピューティングデバイス(「PCD」)において適応型熱管理方法を実施するためのオンチップシステムの実施形態を示す機能ブロック図である。
【図２】実行時の温度読取値および現在の周波数/電圧レベルに基づく個別の処理構成要素の適応型熱管理のための方法およびシステムを実装するための、ワイヤレス電話の形の、図1のPCDの例示的な非限定的態様を示す機能ブロック図である。
【図３Ａ】図2に示すチップのための、ハードウェアの例示的な空間構成を示す機能ブロック図である。
【図３Ｂ】適応型熱管理のための、図2のPCDの例示的なソフトウェアアーキテクチャを示す概略図である。
【図４】図1のPCDにおける熱エネルギー生成の適応型管理のための方法を示す論理フローチャートである。
【図５】図1のPCD内の様々なエリアまたは構成要素に関連する温度読取値および図1のPCD内の処理構成要素の過去の行為によってトリガされた様々な適応型熱管理ポリシー状態を示す例示的な状態図である。
【図６】図5に示す特定のポリシー状態に関連する例示的な状態を示す図である。
【図７】動的電圧周波数スケーリング(「DVFS」)熱軽減技法を適用するための副方法またはサブルーチンを示す論理フローチャートである。
【発明を実施するための形態】
【００１３】
「例示的な」という言葉は、「例、事例、または例示として機能すること」を意味するように本明細書で使用される。「例示的な」ものとして本明細書に記載されるいずれの態様も、必ずしも他の態様に対して排他的であるか、他の態様よりも好ましいか、または有利であると解釈されるべきではない。
【００１４】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルも含むことができる。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなどの本質的に実行可能ではないファイルも含むことができる。
【００１５】
本明細書で使用される場合、「構成要素」、「データベース」、「モジュール」、「システム」、「熱エネルギー生成構成要素」、「処理構成要素」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば、構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在してよく、1つの構成要素を1つのコンピュータに局在化すること、および/または2つ以上のコンピュータ間に分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読記録媒体から実行することができる。構成要素は、1つまたは複数のデータパケット(たとえば、信号によって、ローカルシステム、分散システム中の別の構成要素と、かつ/または、インターネットのようなネットワークにわたって他のシステムと対話する、1つの構成要素からのデータ)を有する信号に従うなどして、ローカルプロセスおよび/またはリモートプロセスによって通信することができる。
【００１６】
本明細書では、「中央処理装置(「CPU:central processing unit」)」、「デジタル信号プロセッサ(「DSP:digital signal processor」)」、「グラフィカル処理装置(「GPU:graphical processing unit」)」、および「チップ」という用語は互換的に使用される。その上、CPU、DSP、GPUまたはチップは、「コア」と本明細書では全般的に呼ばれる1つまたは複数の別個の処理構成要素からなることができる。さらに、CPU、DSP、GPU、チップまたはコアが、様々なレベルの機能効率で動作するために様々なレベルの電力を消費するPCD内の機能構成要素である限り、これらの用語の使用は、開示する実施形態、またはそれらの等価物の適用を、PCD内の処理構成要素のコンテキストに限定するものではないことが当業者には認識されよう。すなわち、実施形態の多くは、処理構成要素のコンテキストにおいて記載されるが、適応型熱管理ポリシーは、モデム、カメラ、ワイヤレスネットワークインターフェースコントローラ(「WNIC」)、ディスプレイ、ビデオエンコーダ、周辺デバイス、バッテリーなどを含むが、それに限定されない、PCD内のどの機能構成要素にも適用され得ると想定される。
【００１７】
本明細書では、「熱」および「熱エネルギー」という用語は、「温度」の単位で測定され得るエネルギーを生成または消散することが可能なデバイスまたは構成要素に関連付けられて使用され得ることが理解されるだろう。その結果、「温度」という用語は、「熱エネルギー」を生成するデバイスまたは構成要素の、相対的な暖かさまたは熱の欠如を示すことができる、何らかの基準値に対する任意の測定値を想定することがさらに理解されるだろう。たとえば、2つの構成要素の「温度」は、2つの構成要素が「熱的に」平衡であるとき同じである。
【００１８】
本明細書では、「作業負荷」、「プロセス負荷」および「プロセス作業負荷」という用語は互換的に使用され、一般に、所与の実施形態の所与の処理構成要素に関連付けられた処理負担または処理負担のパーセンテージを対象にする。上記に定義されたものに加えて、「処理構成要素」または「熱エネルギー生成構成要素」または「熱アグレッサ」は、限定はしないが、中央処理装置、グラフィカル処理装置、コア、メインコア、サブコア、処理エリア、ハードウェアエンジンなど、またはポータブルコンピューティングデバイス内の集積回路の内部もしくは外部にある任意の構成要素であり得る。その上、「熱負荷」、「熱分布」、「熱シグネチャ」、「熱処理負荷」などの用語がプロセッサ上で作動し得る作業負荷の負担を示す限り、本開示のこれらの「熱」の用語の使用が、処理負荷の分布、作業負荷の負担および電力消費に関連し得ることを、当業者は認識するだろう。
【００１９】
本明細書では、「熱軽減技法」、「熱ポリシー」、「熱管理」、「熱軽減対策」、「性能レベルへの抑制」などという用語は、交換可能に使用される。特に、特定の使用コンテキストによっては、この段落で列挙する用語のいずれも、熱エネルギー生成を犠牲にして性能を高め、性能を犠牲にして熱エネルギー生成を低下させ、またはそのような目標の間で交替するように動作可能なハードウェアおよび/またはソフトウェアを記述するのに役立ち得ることが当業者には認識されよう。
【００２０】
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリーなどの限られた容量の電源で動作する任意のデバイスを記載するために使用される。何十年もの間バッテリー式PCDが使用されてきたが、第3世代(「3G」)および第4世代(「4G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、とりわけ、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述のデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであり得る。
【００２１】
サービス品質(「QoS」)に不必要に影響を与えることなくPCDにおける熱エネルギー生成を管理することは、PCDのコアにおけるシリコン接合部、パッケージオンパッケージ(「PoP」)メモリ構成要素、および外殻、すなわち「表面」の温度と相関する1つまたは複数のセンサ測定値を活用することによって達成され得る。それらの構成要素に関連する温度を注意深く監視することによって、PCDにおける適応型熱ポリシーマネージャモジュールは、熱エネルギー生成を軽減しクリティカル温度しきい値を回避する目的で、一度に1段階(bin)だけ熱アグレッシブ処理構成要素の性能レベルをシステマティックかつ個別に低減することができる。有利なことに、最悪ケースシナリオにおける熱エネルギー生成を軽減するためにあらかじめ決定された低減された処理性能レベルに反動的にジャンプする代わりに、特定の構成要素を動作させることが許容できるいくつかの温度点に的を絞ることによって、適応型熱管理システムおよび方法は、任意の作業負荷の下でQoSを最適化することができる。さらに、また当業者であれば認識するように、適応型熱管理方法は、所与の作業負荷の下での所与のPCDにおける熱エネルギー消散の特定の力学に関係なく適用され得るので、技術者および設計者は、PCDの特定のフォームファクタを考慮することなく適応型熱管理手法を活用することができる。
【００２２】
特に、適応型熱管理方法の例示的な実施形態は本明細書において、中央処理装置(「CPU」)内のコアの文脈で説明されるが、適応型熱管理方法の適用は、CPU内のコアに限定されない。適応型熱管理方法の実施形態は、限定はしないが、グラフィカル処理装置(「GPU」)、モデムプロセッサ、カメラなどのような、システムオンチップ(「SoC:system on a chip」)内に存在し、複数の性能レベルで動作可能であり得る任意の構成要素に及び得ることが想定される。さらに、適応型熱管理アルゴリズムが、複数の性能レベルで動作し得るSoC内の任意の構成要素に対して個別に活用され得ることが想定される。そのような場合、SoCのそのような構成要素に対する所与の適用型熱管理アルゴリズムの各インスタンスが、熱制約内でSoC全体の考えられる最良の性能状態を判断するために、それ自体の性能状態を他のインスタンスと共有し得ることも想定される。
【００２３】
例示的なPCDにおける処理コアに適応型熱管理手法がどのように適用され得るかを示す非限定的な例は、飛び飛びの数の性能レベルP1、P2、P3、P4...P15(P15は最大性能レベルを表し、P1は最低性能レベルを表す)がコアのために定義され得ることを仮定する。当業者であれば理解するように、レベルP15は、所与の作業負荷の負担で、高QoSレベルと高熱エネルギー生成レベルの両方に関連付けられ得る。同様に、同じ作業負荷の負担では、レベル1は低QoSレベルと低熱エネルギー生成レベルの両方に関連付けられ得る。また、以下を仮定する。
接合部温度上限しきい値が125℃に設定されている。
クリティカル接合部温度上限が145℃に設定されている。
PoPメモリ温度上限しきい値が85℃に設定されている。
PCD表面温度上限しきい値が55℃に設定されている。
アルゴリズムリセット時間ALGO_RESET_TIMEが30秒に設定されている。
高サンプリングレートHIGH_SAMPLING_RATEが50msに設定されている。
低サンプリングレートLOW_SAMPLING_RATEが250msに設定されている。
ペナルティ量PENALTY_UNIT_TIMEが500msに設定されている。
【００２４】
非限定的な例では、それぞれダイ接合部、PoPメモリ構成要素およびPCD表面の温度に関連する温度センサのサンプリングが、(任意のPoP、表面または接合部の温度しきい値の違反として認識される場合の水準よりも低い)あらかじめ設定された初期しきい値を越えたことが認識された後に始まる。いくつかの実施形態では、センササンプリングの開始をトリガすることは、割込みベースのセンサの使用によって実現され得ることが想定される。割込みが生成されると、PCDにおける適応型熱管理(「ATM:adaptive thermal management」)モジュールおよび/または監視モジュールが、以下で説明するように、あるサンプリングレートで指定の温度センサを監視し始める。特に、当業者であれば認識するように、適応型熱管理システムで監視される様々な温度センサは、センサが関連付けられる構成要素の実際の温度を綿密に示す温度読取値を生成することがあるか、または代替として、いくつかの構成要素の実際の温度が推測され得る温度読取値を生成することがある。
【００２５】
非限定的な例に戻ると、認識された接合部温度違反があった場合、ATMモジュールは、考えられる最も高いサンプリングレートHIGH_SAMPLING_RATEで作動することができる。表面およびPOPの温度違反の場合、ATMモジュールはより遅いレートLOW_SAMPLING_RATEで作動することができる。特に、非限定的な例で明らかになるように、いくつかの実施形態では、サンプリングレートは、処理構成要素がクロックダウンされるレートを規定し得る。
【００２６】
違反がなく、サンプリングが始まっているとき、ATMモジュールは、LOW_SAMPLING_RATEで様々な温度センサを監視する。接合部違反がまったくなく、PoPまたは表面の違反が生じた場合、ATMモジュールはLOW_SAMPLING_RATEで続行することができる。しかしながら、接合部違反が生じるとすぐに、ATMモジュールはサンプリングレートをHIGH_SAMPLING_RATEに変更し得る。すべての処理構成要素によるすべての接合部違反が解消されたとき、ATMモジュールはLOW_SAMPLING_RATEに戻ることができる。
【００２７】
上述の初期温度しきい値を上回る前に、例示的なコアは、その最大性能レベル、すなわち例示的なレベルP15で作動していることがある。初期温度しきい値を上回った後でも、接合部、PoPまたは表面の違反が記録されていない限り、コアはP15レベルで作動し続けることができる。特に、本明細書で説明する様々な実施形態は接合部、PoPおよび表面の温度に関連する温度しきい値を含むが、適応型熱管理システムのいくつかの実施形態が接合部、PoPおよび表面の温度を監視しない場合があることが想定される。すなわち、いくつかの実施形態は、構成要素の他の組合せに関連する温度を監視し得ることが想定され、したがって、適応型熱管理システムおよび方法の実施形態は、本明細書に示す構成要素の例示的な組合せに関連する温度を特に監視することに限定されない。
【００２８】
非限定的な例に戻ると、任意の温度違反を認識する前、例示的な処理コアの性能レベルはP15である。温度しきい値を上回ると、ATMモジュールは、RAMP_DOWN状態に入らせる。ATMモジュールが現在作動しているサンプリングレートに応じて、RAMP_DOWN状態においてコアの性能レベルは、温度違反が解消するまで各サンプリング間隔の後、一度に1つのレベルだけ引き下げられる。そこで、たとえば、表面の温度が55℃を上回る状態を引き起こしたある作業負荷の場合、コアの性能レベルは、LOW_SAMPLING_RATEでサンプリングされた3つのサイクルでP15からP12に低下し、それにより、違反が最初に観測されてから750msの合計時間で表面違反を解消することができる。同様に、違反が、コアによって生成された熱エネルギーが違反を解消できたレベルまで軽減される前に、6つのレベルの性能低減を必要とした接合部違反であった場合、コアは、300msで性能レベルP15から性能レベルP9に移行していたことになる(接合部違反の場合、サンプリングレートは50msのHIGH_SAMPLING_RATEに変化したことになる)。安全な性能レベル、すなわち、所与の温度しきい値を上回ることなくコアが作動し得る最大性能レベルに達すると、以下で説明するようにペナルティタイムアウト計算が適用され得る。
【００２９】
特に、当業者であれば認識するように、コアのクロックダウンが続くことで、ついにはP1レベルに低下し得る。P1性能レベルになると、ATMモジュールは、観測された違反が単なる表面および/またはPOPの違反であった場合にはコアをP1レベルで実行し続けることを選ぶことができる。そのような場合、適応型熱管理方法の対象となるすべての処理構成要素が、それぞれのP1性能レベルに収斂し得ることが想定される。利用可能な最低性能レベルへのこの収斂は、限定はしないが、しきい値が正しく設定されていない、PCDがさらされている周囲温度が非常に高くて、何らかの手段によって違反を解消できるレートで熱エネルギーを消散することができないなど、任意の数の理由で生じ得る。例示的な145℃のクリティカル接合部上限などの接合部温度しきい値上限を上回った場合、ATMモジュールは、コアに対する永続的損害を回避する目的でコアの電力崩壊を選ぶことができる。
【００３０】
いくつかの実施形態では、クロックダウンが終わった後にのみ、RAMP_DOWN状態でペナルティが適用され得る。そこで、たとえば、非限定的な例で表面の違反を解消した後、ATMモジュールは、コアがP15の最大性能レベルに戻ることが許可される前に、計算されたペナルティ時間を費やすことができる。この例では、ペナルティ持続時間は500msに設定されており、そこでATMモジュールは、表面違反が解消した後、コアを追加の500ms(すなわち、SLOW_SAMPLING_RATEで2サイクル)にわたって最後の性能レベルP12に維持することになる。ペナルティ期間を含まない実装形態がある一方で、あらかじめ設定された固定のペナルティ期間を含む実装形態もあることが想定される。さらに他の実装形態は、コアがRAMP_DOWN状態に入る頻度および/または入っている時間に応じた持続時間で累積するペナルティ期間を含むことができる。
【００３１】
当業者であれば認識するように、RAMP_DOWN状態において、適応型熱管理のためのシステムおよび方法は、コアを最適性能レベルに漸進的に抑制するための手段を活用することができる。以下でより詳細に説明するように、抑制戦略は、中央処理装置(「CPU」)のクロック速度などのようなハードウェアおよび/またはソフトウェアパラメータの調整を通じてPCDの性能を高めるためにPCDによって用いられ得る様々な方法、アプリケーションおよび/またはアルゴリズムである。いくつかの抑制戦略は、熱エネルギー生成の増加という犠牲を払ってPCDの性能を高めることができるが、いくつかの他の抑制戦略は、PCD性能を低減することによって動作温度の有害な上昇を軽減することができる。適応型熱管理ポリシーによって活用され得る例示的な抑制方法は、図7に関してより詳細に説明する動的電圧周波数スケーリング(「DVFS」)方法である。本明細書で説明する様々な例示的な実施形態は、熱アグレッシブ処理構成要素による熱エネルギー生成を軽減するためにDVFSなどの抑制方法を利用するが、適応型熱管理のためのシステムおよび方法が、適切な動作温度に的を絞る目的で抑制技法を使用することに限定されないことが想定される。すなわち、いくつかの実装形態は追加的または排他的に、限定はしないが、作業負荷移行技法などのオペレーティングシステムレベル熱軽減技法を活用することができることが想定される。
【００３２】
図1は、ポータブルコンピューティングデバイス100における適応型熱管理のためのオンチップシステム102の例示的な実施形態を示す機能ブロック図である。熱エネルギー生成を軽減する目的でCPU110などの処理構成要素がその最大性能レベルから抑制されるRAMP_DOWN状態への進入をトリガするための温度しきい値を設定するために、オンチップシステム102は、コア222、224、226、228、PoPメモリ112AおよびPCD外殻24などの様々な構成要素に関連する温度を測定するための様々なセンサ157を活用することができる。有利なことに、様々な構成要素に関連する温度を監視し、熱アグレッサ222、224、226、228の性能レベルを漸進的に抑制することによって、PCD100のユーザによって経験されるQoSは、不必要な過剰抑制を回避することによって最適化され得る。その上、PCD100のユーザによって経験されるQoSは、最も早い合理的機会における最大性能レベルへの復帰を許可することによってさらに最適化され得る。
【００３３】
概して、システムは次の2つの主要モジュールを用い、これらはいくつかの実施形態では、単一のモジュールに含まれ得る。(1)監視モジュール114によって監視された温度読取値を分析し(特に、監視モジュール114およびATMモジュール101は、いくつかの実施形態では1つの同じものであり得る)、RAMP_DOWNポリシー状態への進入およびRAMP_DOWNポリシー状態からの退出をトリガするための適応型熱管理(「ATM」)モジュール101、および(2)ATMモジュール101から受信した命令に従って個別の処理構成要素に対する漸進的抑制戦略を実施するためのDVFSモジュール26。有利なことに、2つの主要モジュールを含むシステムおよび方法の実施形態は、PCD100内の他の構成要素に熱的な劣化をもたらすリスクを負うことなく、またはクリティカル温度しきい値を上回ることなく、温度データを活用してPCD100内の構成要素110のために許可された性能レベルを最適化することができる。
【００３４】
図2は、実行時に認識された温度読取値および現在の周波数/電圧レベルに基づく個別の処理構成要素の適応型熱管理のための方法およびシステムを実装するための、ワイヤレス電話の形の、図1のPCD100の例示的な非限定的態様を示す機能ブロック図である。図示されたように、PCD100は、互いに結合されたマルチコア中央処理装置(「CPU」)110およびアナログ信号プロセッサ126を含むオンチップシステム102を含む。当業者によって理解されるように、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を備えることができる。さらに、当業者によって理解されるように、CPU110の代わりに、デジタル信号プロセッサ(「DSP」)も利用され得る。
【００３５】
概して、動的電圧周波数スケーリング(「DVFS」)モジュール26は、不利な形でいくつかの温度しきい値を上回ることなくPCD100がその電力レベルを最適化し高レベルの機能を維持するのを支援するために漸進的にコア222、224、230などの個別の処理構成要素に対して抑制技法を実施することを担い得る。
【００３６】
監視モジュール114は、オンチップシステム102全体を通して分散された複数の動作するセンサ(たとえば、熱センサ157A、157B)、およびPCD100のCPU110、ならびにATMモジュール101と通信する。いくつかの実施形態では、監視モジュール114は、PCD100の接触温度に関連する温度読取値に関して表面温度センサ157Cを監視することもできる。他の実施形態では、監視モジュール114は、チップ温度センサ157A、157Bによって取られた読取値により予想されるデルタに基づいて接触温度を推測することができる。ATMモジュール101は監視モジュール114と連携して、温度しきい値を上回っていることを識別し、温度を低減する目的でチップ102内の識別された構成要素に対する抑制戦略の適用を命令することができる。
【００３７】
図2に示すように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130がデジタル信号プロセッサ110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132が、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。PCD100はさらに、ビデオエンコーダ134、たとえば位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または任意の他のタイプのビデオエンコーダ134を含むことができる。ビデオエンコーダ134は、マルチコア中央処理装置(「CPU」)110に結合される。ビデオ増幅器136がビデオエンコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138がビデオ増幅器136に結合される。図2に示すように、ユニバーサルシリアルバス(「USB:universal serial bus」)コントローラ140がCPU110に結合される。また、USBポート142は、USBコントローラ140に結合される。メモリ112および加入者識別モジュール(SIM)カード146も、CPU110に結合され得る。さらに、図2に示すように、デジタルカメラ148がCPU110に結合され得る。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
【００３８】
図2にさらに示すように、ステレオオーディオコーデック150がアナログ信号プロセッサ126に結合され得る。さらに、オーディオ増幅器152がステレオオーディオコーデック150に結合され得る。例示的な態様では、第1のステレオスピーカー154および第2のステレオスピーカー156がオーディオ増幅器152に結合される。図2は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合され得ることを示す。加えて、マイクロフォン160がマイクロフォン増幅器158に結合され得る。特定の態様では、周波数変調(「FM:frequency modulation」)ラジオチューナ162がステレオオーディオコーデック150に結合され得る。また、FMアンテナ164がFMラジオチューナ162に結合される。さらに、ステレオヘッドフォン166がステレオオーディオコーデック150に結合され得る。
【００３９】
図2は、さらに、無線周波(「RF:radio frequency」)送受信機168がアナログ信号プロセッサ126に結合され得ることを示す。RFスイッチ170がRF送受信機168およびRFアンテナ172に結合され得る。図2に示すように、キーパッド174がアナログ信号プロセッサ126に結合され得る。また、マイクロフォン付きモノヘッドセット176がアナログ信号プロセッサ126に結合され得る。さらに、バイブレータデバイス178がアナログ信号プロセッサ126に結合され得る。図2は、たとえばバッテリーなどの電源188が、PMIC180を介してオンチップシステム102に結合されることも示す。ある特定の態様では、電源は、充電式DCバッテリー、または交流(「AC:alternating current」)電源に接続されたAC-DC変換器から取り出されるDC電源を含む。
【００４０】
CPU110はまた、1つまたは複数の内部のオンチップ熱センサ157A、ならびに、1つまたは複数の外部のオフチップ熱センサ157Cに結合され得る。オンチップ熱センサ157Aは、垂直のPNP構造に基づく、通常は相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」)回路に専用の、1つまたは複数の絶対温度に比例する(「PTAT」)温度センサを備えることができる。オフチップ熱センサ157Cは、1つまたは複数のサーミスタを備えることができる。熱センサ157Cは、アナログデジタル変換器(「ADC:analog-to-digital converter」)コントローラ103でデジタル信号に変換される電圧降下を引き起こす場合がある。しかしながら、本発明の範囲から逸脱することなく、他のタイプの熱センサ157A、157B、157Cを利用することができる。
【００４１】
DVFSモジュール26およびATMモジュール101は、CPU110によって実行されるソフトウェアを備えることができる。しかしながら、本発明の範囲から逸脱することなく、DVFSモジュール26およびATMモジュール101は、ハードウェアおよび/またはファームウェアから形成されてもよい。ATMモジュール101は、DVFSモジュール26と連携して、PCD100が高レベルの機能およびユーザ体験を維持しつつ熱的な劣化を回避するのを支援し得る抑制ポリシーを適用することを担い得る。
【００４２】
タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカー154、第2のステレオスピーカー156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、電源188、PMIC180、および熱センサ157Cは、オンチップシステム102の外部にある。しかしながら、監視モジュール114は、PCD100上で動作可能なリソースのリアルタイム管理を援助するために、アナログ信号プロセッサ126およびCPU110によって、これらの外部デバイスのうちの1つまたは複数から1つまたは複数の指示または信号を受信することもできることを理解されたい。
【００４３】
ある特定の態様では、本明細書で説明する方法ステップのうちの1つまたは複数は、1つまたは複数のATMモジュール101およびDVFSモジュール26を形成する、メモリ112に記憶された実行可能命令およびパラメータによって実施され得る。モジュール101、26を形成するこれらの命令は、本明細書で説明する方法を実行するために、ADCコントローラ103に加えて、CPU110、アナログ信号プロセッサ126、または別のプロセッサによって実行され得る。さらに、プロセッサ110、126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として機能し得る。
【００４４】
図3Aは、図2に示すチップ102のための、ハードウェアの例示的な空間配置を示す機能ブロック図である。この例示的な実施形態によれば、アプリケーションCPU110がチップ102の遠く左側の領域に配置され、一方モデムCPU168、126がチップ102の遠く右側の領域に配置される。アプリケーションCPU110は、第0のコア222、第1のコア224、および第Nのコア230を含む、マルチコアプロセッサを含み得る。アプリケーションCPU110は、(ソフトウェアで具現化される場合)ATMモジュール101Aおよび/またはDVFSモジュール26Aを実行していてよく、または、(ハードウェアで具現化される場合)ATMモジュール101Aおよび/またはDVFSモジュール26Aを含んでよい。アプリケーションCPU110は、オペレーティングシステム(「O/S」)モジュール207および監視モジュール114を含むように、さらに例示される。監視モジュール114についてのさらなる詳細は、図3Bに関して以下で説明される。
【００４５】
アプリケーションCPU110は、アプリケーションCPU110に隣接して配置されチップ102の左側の領域にある、1つまたは複数の位相ロックループ(「PLL」)209A、209Bに結合され得る。PLL209A、209Bの隣、またアプリケーションCPU110の下には、アナログデジタル(「ADC」)コントローラ103があってもよく、このADCコントローラ103は、アプリケーションCPU110の主要なモジュール101A、26Aとともに動作する固有の適応型熱マネージャモジュール101Bおよび/またはDVFSモジュール26Bを含み得る。
【００４６】
ADCコントローラ103の適応型熱マネージャ101Bは、「チップ102上」および「チップ102外」に設けられ得る複数の熱センサ157を監視し追跡することを担い得る。オンチップまたは内部熱センサ157A、157Bは、様々なロケーションに配置されてよく、そのロケーションの近傍にある熱アグレッサに関連付けられる場合(第2の熱グラフィックプロセッサ135Bおよび第3の熱グラフィックプロセッサ135Cの隣にあるセンサ157A3など)または熱敏感構成要素に関連付けられる場合(メモリ112の隣にあるセンサ157B1など)がある。
【００４７】
非限定的な例として、第1の内部熱センサ157B1は、アプリケーションCPU110とモデムCPU168、126との間に、かつ内部メモリ112に隣接して、チップ102の上部の中心領域に配置され得る。第2の内部熱センサ157A2は、モデムCPU168、126の下の、チップ102の右側領域に配置され得る。この第2の内部熱センサ157A2はまた、進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)177と第1のグラフィックプロセッサ135Aとの間にも配置され得る。デジタルアナログコントローラ(「DAC:digital-to-analog controller」)173は、第2の内部熱センサ157A2とモデムCPU168、126との間に配置され得る。
【００４８】
第3の内部熱センサ157A3は、第2のグラフィックプロセッサ135Bと第3のグラフィックプロセッサ135Cとの間の、チップ102の遠く右側の領域に配置され得る。第4の内部熱センサ157A4は、チップ102の遠く右側の領域に、かつ第4のグラフィックプロセッサ135Dの下に配置され得る。第5の内部熱センサ157A5は、チップ102の遠く左側の領域に、かつPLL209およびADCコントローラ103に隣接して配置され得る。
【００４９】
1つまたは複数の外部熱センサ157Cも、ADCコントローラ103に結合され得る。第1の外部熱センサ157C1は、チップの外部に、かつ、モデムCPU168、126、ARM177、およびDAC173を含み得るチップ102の右上4分の1の領域に隣接して配置され得る。第2の外部熱センサ157C2は、チップの外部に、かつ、第3のグラフィックプロセッサ135Cおよび第4のグラフィックプロセッサ135Dを含み得るチップ102の右下4分の1の領域に隣接して配置され得る。特に、外部熱センサ157Cのうちの1つまたは複数は、PCD100の接触温度、すなわちユーザがPCD100に接触する際に受け得る温度を示すのに活用され得る。
【００５０】
図3Aに示すハードウェアの様々な他の空間構成が、本発明の範囲から逸脱することなく実現され得ることを、当業者は認識するだろう。図3Aは、さらなる1つの例示的な空間構成を示し、図3Aに示す例示的な空間構成により決まる熱条件を、主要なATMモジュール101Aと、主要なDVFSモジュール26Aと、ATMモジュール101BおよびDVFSモジュール26Bを有するADCコントローラ103とがどのように認識し、温度しきい値を動作温度および/または接触温度と比較し、漸進的抑制ポリシーを適用することができるかを示す。
【００５１】
図3Bは、温度しきい値に基づく適応型熱管理ポリシーの適用をサポートするための、図2および図3AのPCD100の例示的なソフトウェアアーキテクチャを示す概略図である。任意の数のアルゴリズムは、いくつかの熱条件が満たされたときにATMモジュール101によって適用され得る少なくとも1つの熱管理ポリシーを形成するか、またはその一部になることができるが、好ましい実施形態では、ATMモジュール101はDVFSモジュール26と連携して、限定はしないがコア222、224および230を含むチップ102における個別の熱アグレッサに電圧周波数スケーリングポリシーを漸進的に適用する。
【００５２】
図3Bに示すように、CPUまたはデジタル信号プロセッサ110は、バス211を介してメモリ112に結合される。上述のように、CPU110は、N個のコアプロセッサを有するマルチコアプロセッサである。すなわち、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を含む。当業者には知られているように、第0のコア222、第1のコア224、および第Nのコア230の各々は、専用のアプリケーションまたはプログラムをサポートするために利用可能である。あるいは、利用可能なコアの2つ以上にわたる処理のために、1つまたは複数のアプリケーションまたはプログラムは分散していてよい。
【００５３】
CPU110は、ソフトウェアおよび/またはハードウェアを備え得るATMモジュール101および/またはDVFSモジュール26から、コマンドを受け取ることができる。ソフトウェアとして具現化される場合、モジュール101、26は、CPU110および他のプロセッサによって実行されている他のアプリケーションプログラムにコマンドを出す、CPU110によって実行される命令を備える。
【００５４】
CPU110の第0のコア222、第1のコア224〜第Nのコア230は、単一の集積回路ダイに集積されてよく、または、複数回路のパッケージにおいて別個のダイ上で集積または結合されてよい。設計者は、第0のコア222、第1のコア224〜第Nのコア230を、1つまたは複数の共有キャッシュを介して結合することができ、バス、リング、メッシュ、およびクロスバートポロジのようなネットワークトポロジを介して、メッセージまたは命令の伝達を実施することができる。
【００５５】
当技術分野で知られているように、バス211は、1つまたは複数のワイヤード接続またはワイヤレス接続を介した複数の通信経路を含み得る。バス211は、通信を可能にするために、コントローラ、バッファ(キャッシュ)、ドライバ、レピータ、および受信機のような、簡単にするために省略される追加の要素を有してもよい。さらに、バス211は、上述の構成要素の間での適切な通信を可能にするために、アドレス、制御、および/またはデータ接続を含み得る。
【００５６】
図3Bに示すように、PCD100によって使用される論理がソフトウェアで実装されるとき、開始論理250、管理論理260、適応型熱管理インターフェース論理270、アプリケーションストア280内のアプリケーション、およびファイルシステム290の部分のうちの1つまたは複数が、任意のコンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、任意のコンピュータ可読記録媒体に記憶され得ることに留意されたい。
【００５７】
この文書の文脈では、コンピュータ可読記録媒体は、コンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる、電子式、磁気式、光学式、または他の物理デバイスまたは手段である。様々な論理素子およびデータストアは、たとえばコンピュータベースのシステム、プロセッサを含むシステム、または命令実行システム、装置、もしくはデバイスから命令をフェッチし、命令を実行することができる他のシステムのような、命令実行システム、装置、またはデバイスによって、またはそれと関連して使用するために、任意のコンピュータ可読記録媒体に組み込まれ得る。この文書の文脈では、「コンピュータ可読記録媒体」は、命令実行システム、装置、またはデバイスによって、またはそれと関連して使用するために、プログラムを記憶、通信、伝搬、または移送することができる任意の手段であってよい。
【００５８】
コンピュータ可読記録媒体は、限定はされないがたとえば、電子式、磁気式、光学式、電磁式、赤外線式、または半導体の、システム、装置、デバイス、または伝搬媒体であってよい。コンピュータ可読記録媒体のより具体的な例(非網羅的なリスト)には、1つまたは複数の配線を有する電気的接続(電子式)、ポータブルコンピュータディスケット(磁気式)、ランダムアクセスメモリ(RAM)(電子式)、読取り専用メモリ(ROM)(電子式)、消去可能プログラマブル読取り専用メモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子式)、光ファイバ(光学式)、および携帯式コンパクトディスク読取り専用メモリ(CD-ROM)(光学式)が含まれよう。プログラムは、たとえば紙または他の媒体の光学走査を介して、電子的に記録され、次いで、コンパイルされ、解釈され、または場合によっては、必要に応じて適切な方法で処理され、次いでコンピュータメモリに記憶され得るので、コンピュータ可読記録媒体は、プログラムが印刷される紙または別の適切な媒体でさえあり得ることに留意されたい。
【００５９】
代替の実施形態では、開始論理250、管理論理260、および場合によっては適応型熱管理インターフェース論理270のうちの1つまたは複数がハードウェアに実装されるとき、様々な論理は、各々当技術分野でよく知られている以下の技術、すなわち、データ信号に対する論理機能を実装するための論理ゲートを有する個別の論理回路、適切な組合せの論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などのうちのいずれか、またはその組合せによって実装することができる。
【００６０】
メモリ112は、フラッシュメモリまたはソリッドステートメモリデバイスなどの不揮発性データ記憶デバイスである。単一のデバイスとして示されているが、メモリ112は、デジタル信号プロセッサ110(または追加のプロセッサコア)に結合された別個のデータストアを有する分散型メモリデバイスでもよい。
【００６１】
開始論理250は、第0のコア222、第1のコア224〜第Nのコア230のような、利用可能なコアのうちの1つまたは複数の性能を管理または制御するための選択プログラムを選択的に識別し、ロードし、実行するための1つまたは複数の実行可能命令を含む。開始論理250は、ATMモジュール101による、PCDの構成要素または態様に関連するしきい値温度設定と様々な温度測定値との比較に基づいて選択プログラムを識別し、ロードし、実行すればよい。例示的な選択プログラムは、組込みファイルシステム290のプログラムストア296で見つけることができ、性能スケーリングアルゴリズム297とパラメータのセット298との特定の組合せによって定義される。例示的な選択プログラムは、CPU110内のコアプロセッサのうちの1つまたは複数によって実行されると、1つまたは複数のATMモジュール101およびDVFSモジュール26によって提供される制御信号とともに、監視モジュール114によって提供される1つまたは複数の信号に従って、それぞれのプロセッサコアの性能を「アップ」または「ダウン」方向でスケーリングするように動作することができる。この点について、監視モジュール114は、ATMモジュール101から受け取られた、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、ならびに温度などの、1つまたは複数のインジケータを提供することができる。
【００６２】
管理論理260は、それぞれのプロセッサコアのうちの1つまたは複数において熱管理プログラムを終了し、さらに、利用可能なコアのうちの1つまたは複数の性能を管理または制御するためのより適切な交換プログラムを選択的に識別し、ロードし、実行するための、1つまたは複数の実行可能命令を含む。管理論理260は、実行時に、またはPCD100が電力供給されデバイスの操作者によって使用されている間に、これらの機能を実行するように構成される。交換プログラムは、組込みファイルシステム290のプログラムストア296で見つけることができ、いくつかの実施形態では、性能スケーリングアルゴリズム297とパラメータのセット298との特定の組合せによって定義され得る。
【００６３】
交換プログラムは、デジタル信号プロセッサ内のコアプロセッサのうちの1つもしくは複数によって実行されると、監視モジュール114によって提供される1つもしくは複数の信号、または様々なプロセッサコアのそれぞれの制御入力で提供される1つもしくは複数の信号に従って、それぞれのプロセッサコアの性能をスケーリングするように動作することができる。この点について、監視モジュール114は、ATM101から発せられる制御信号に応答して、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、温度などの、1つまたは複数のインジケータを提供することができる。
【００６４】
インターフェース論理270は、組込みファイルシステム290に記憶された情報を観察し、構成し、または場合によっては更新するために、外部入力を提示し、管理し、それと対話するための1つまたは複数の実行可能命令を含む。一実施形態では、インターフェース論理270は、USBポート142を介して受信された製造業者の入力とともに動作することができる。これらの入力は、プログラムストア296から削除されるべき、またはプログラムストア296に追加されるべき、1つまたは複数のプログラムを含むことができる。あるいは、入力は、プログラムストア296内のプログラムのうちの1つまたは複数に対する編集または変更を含むことができる。その上、入力は、開始論理250と管理論理260の一方または両方に対する1つまたは複数の変更、または全交換を識別することができる。例として、入力は、受信信号電力が識別されたしきい値を下回ると、RF送受信機168内のすべての性能スケーリングを中断するようにPCD100に命令する管理論理260に対する変更を含むことができる。さらなる例として、入力は、ビデオコーデック134がアクティブであるとき、所望のプログラムを適用するようにPCD100に命令する管理論理260に対する変更を含むことができる。
【００６５】
インターフェース論理270により、製造業者が、PCD100の定義された動作状態の下で、エンドユーザの体験を制御可能に構成および調整することが可能になる。メモリ112がフラッシュメモリであるとき、開始論理250、管理論理260、インターフェース論理270、アプリケーションストア280におけるアプリケーションプログラム、または組込みファイルシステム290における情報のうちの1つまたは複数は、編集され、置き換えられ、または場合によっては修正され得る。いくつかの実施形態では、インターフェース論理270によって、PCD100のエンドユーザまたは操作者は、開始論理250、管理論理260、アプリケーションストア280中のアプリケーション、および組込みファイルシステム290中の情報を検索し、見つけ、修正し、または置き換えることができる。操作者は、結果として生じるインターフェースを使用して、PCD100の次の開始時に実装される変更を加えることができる。あるいは、操作者は、結果として生じるインターフェースを使用して、実行時に実装される変更を加えることができる。
【００６６】
組込みファイルシステム290は、階層的に構成された熱技法ストア292を含む。この点について、ファイルシステム290は、PCD100が使用する様々なパラメータ298および熱管理アルゴリズム297の構成および管理のための情報を格納するための、その全ファイルシステム容量の確保された部分を含むことができる。図3Bに示すように、ストア292はコアストア294を含み、コアストア294はプログラムストア296を含み、プログラムストア296は1つまたは複数の熱管理プログラムを含む。
【００６７】
図4は、図4A〜図4Dを含み、PCD100における熱エネルギー生成の適応型管理のための方法400を示す論理フローチャートである。図4の方法400は、第1のブロック402で始まり、ここで初期パラメータが設定される。パラメータは、リセット時間パラメータ、高サンプリングレートおよび低サンプリングレート、ペナルティ時間単位ならびに温度しきい値を含む。パラメータが設定されると、ブロック404において、適応型熱管理モジュール101が監視モジュール114と連携して、様々な温度しきい値パラメータを監視することができる。例示的な実施形態では、温度しきい値は、PCD100のコア接合部、PoPメモリ構成要素および表面の温度に関連付けられ得る。
【００６８】
様々な温度しきい値に関連するセンサがブロック404で監視されると、判定ブロック406において、初期しきい値を上回っているかどうかが判断される。初期しきい値は、接合部、PoPまたは表面の部分に関連するいかなる温度しきい値よりもはるかに低くてよい。初期しきい値を上回っていない場合、「NO」の分岐がブロック404に戻り、センサはさらに監視される。初期しきい値に違反している場合、割込み信号が監視モジュール114および/またはATMモジュール101に送られ、「YES」の分岐がブロック408に進む。ブロック408において、様々なセンサ157のサンプリングが低サンプリングレートで開始される。
【００６９】
ブロック408において低サンプリングレートでセンサが監視される中、接合部温度、PoP温度および/または表面温度が、それらのそれぞれのあらかじめ設定されたしきい値と比較される。判定ブロック410および412において、接合部、PoPおよび/または接触の温度しきい値のいずれも上回っていないことが確認された場合、「NO」の分岐がブロック414に進み、センサは次の間隔で再びサンプリングされる。特に、当業者であれば認識するように、間隔の持続時間はサンプリングレートによって規定され、このサンプリングレートは、ブロック414において低サンプリングレートとしてとどまっている。判定ブロック416において、ブロック414の追加の時間間隔の後、初期しきい値違反が解消したと判断された場合、「YES」の分岐がブロック418に進み、サンプリング活動が終了する。特に、方法400のこの時点まで、例示的なコアは最大性能レベルで作動している。
【００７０】
判定ブロック416に戻ると、初期温度しきい値違反が解消されていないと判断された場合、「NO」の分岐が判定ブロック410および412に戻る。判定ブロック410および412において接合部、PoPおよび/または表面の温度違反がまだないと仮定すると、サイクルは低サンプリングレートで別の間隔にわたって繰り返す。一方、判定ブロック410において、接合部温度上限を上回っていると判断された場合、「YES」の分岐がブロック420(図4B)に進む。同様に、判定ブロック412において、PoPまたは表面の温度上限に違反していると判断された場合、「YES」の分岐がブロック438(図4C)に進む。
【００７１】
今では、接合部上限に違反してないが、PoPおよび/または表面の温度上限に違反していると仮定すると、方法400は判定ブロック412からブロック438に進み、例示的な処理コアが最大性能レベルから1つ下の性能レベルに抑制される。サンプリングは低サンプリングレートで継続し、次の間隔において、判定ブロック440は、PoPおよび/または表面の温度しきい値違反が解消されているかどうかについて照会する。すなわち、例示的なコアの性能レベルがデフォルトの最大性能レベルから1段階だけ低減されたことを踏まえ、判定ブロック440において、そのような電力消費低減が、温度読取値がしきい値未満に下げ戻るように熱エネルギー生成を軽減するのに十分であったかどうかが判断される。しきい値違反が解消した場合、「YES」の分岐がブロック448に進み、低減された性能レベルが、ブロック402で設定されたペナルティ期間に等しい時間期間にわたって維持される。特に、いくつかの実施形態では、ブロック450においてその最大性能レベルに再上昇することが可能になる前に、例示的なコアの厳しいマルチレベル抑制を正当化するほど作業負荷が重くはなかったので、方法400のこの時点ではペナルティ期間が課せられない場合があることが想定される。
【００７２】
ペナルティ期間に関して、ペナルティ期間をまったく活用しない実施形態があることが想定される。他の実施形態は、限定はしないが、リセット期間が満了する前にRAMP_DOWN状態に再び入るなど、いくつかの条件が満たされたときのみペナルティ期間を課し得る。さらに他の実施形態は、適応型熱管理方法が様々な作業負荷の処理を進めるのに伴って、ペナルティ期間を拡大し得る。
【００７３】
方法400に戻ると、判定ブロック440において、サンプリング間隔の後、PoPおよび/または表面の温度しきい値違反が解消されていないと判断された場合、「NO」の分岐が判定ブロック442に進み、次に低い電力レベルが例示的コアに利用可能であるかどうかが判断される。利用可能である場合、コアはRAMP_DOWN状態にとどまり、ブロック444において、例示的なコアの電力レベルはさらに1段階だけ低減される。ブロック446において、サンプリングは追加の間隔にわたって低サンプリングレートで継続し、本方法は判定ブロック440に戻って、解消がないかしきい値が再びチェックされる。
【００７４】
判定ブロック442において、次に低い性能レベルが例示的な処理構成要素に利用可能ではない、すなわち、プロセッサがその最低利用可能電力レベルで作動するまで温度違反を解消することなくランプダウンサイクルが続いていると判断された場合、「NO」の分岐がブロック452に進み、最低性能レベルが維持される。PoPおよび/または接触の温度違反が、すべてが解消されるまで判定ブロック454において低サンプルレート間隔で継続的にチェックされる。すべてのPoPおよび/または接触の温度違反が解消されると、「YES」の分岐が判定ブロック454からブロック448に進む。上記のように、ブロック448において、ペナルティ期間がある場合、ペナルティ期間が課せられ、例示的な処理構成要素は、ブロック450においてその最大性能レベルに再上昇する許可を受信する前に、ペナルティ期間の持続時間にわたってその最低電力レベルにとどまる。
【００７５】
例示的なコアがブロック450においてRAMP_DOWN状態から出て、その電力レベルを最大まで上げ戻すことを許容されると、方法400は図4Dのブロック456に進む。ブロック456において、適応型熱管理のためのいくつかの方法は、ブロック402において設定されたリセット期間を課すことができる。リセット期間中、ブロック458において、様々な温度センサ157が監視され、それらの読取値が関連温度しきい値と比較される。判定ブロック460において、リセット期間中にしきい値に違反していないと判断された場合、「NO」の分岐がブロック462に進み、その時点までに累積しているペナルティ期間があれば、その期間は解消され、プロセスは図4Aのブロック404に戻る。一方、判定ブロック460において、リセット期間の終了前に様々なしきい値のいずれかに違反していると判断された場合、ブロック464においてペナルティ値によってペナルティ期間が拡大され得る。
【００７６】
このようにして、コアがRAMP_DOWN状態から出ることを許可されたほぼすぐ後に温度しきい値の違反を招く重い作業負荷は、コアがRAMP_DOWN状態に再び入ってからとどまる持続時間に影響を与えることになり、それにより、作業負荷が完了するまで熱エネルギー消散の機会を着実に増やすことになる。ブロック464の後、方法400はブロック420またはブロック438に進む。特に、リセット期間の終了前に違反した温度しきい値がPoP温度しきい値または表面温度しきい値のいずれかであった場合、プロセスは図4Cのブロック438に戻り、ブロック448で課せられたペナルティ期間がブロック464で講じられた措置の結果として拡大されていることになる点を除いて、本方法は上述のように進む。一方、リセット期間の終了前に違反した温度しきい値が接合部温度しきい値であった場合、プロセスは図4Bのブロック420に戻り、ブロック434で課せられたペナルティ期間がブロック464で講じられた措置の結果として拡大されることになる点を除いて、本方法は後述のように進む。
【００７７】
図4Aの判定ブロック410に戻ると、接合部温度しきい値を上回る場合、「YES」の分岐が図4Bのブロック420に進む。特に、当業者であれば理解するように、PCDにおける処理構成要素の接合部の部分に関連する温度は、PCDの健全性にとってクリティカルであり得る。
【００７８】
ブロック420において、例示的なコアの電力レベルは1レベルだけ低減され、コアの接合部に関連する温度センサ157Aは、高サンプルレートでサンプリングされる。1サンプル間隔の後、温度センサ157Aはチェックされて、低減された電力レベルの結果として接合部上限違反が解消したかどうかが判断される。解消していない場合、「NO」の分岐が判定ブロック424に進み、その間に、より高い、よりクリティカルなしきい値を上回っているかどうかが判断される。特に、たとえば、熱暴走状況下では、コアの電力レベルの低減に関係なく、コアの温度は上昇し続け得る。クリティカル温度レベルを上回っている場合、「YES」分岐が判定ブロック424からブロック436に進み、コアの電力が崩壊する。ブロック436でコアをシャットダウンすることによって、コアの熱的な劣化が回避され、PCDの健全性が維持され得る。
【００７９】
判定ブロック424に戻ると、クリティカルしきい値に違反していない(まだ、ブロック422で接合部しきい値違反は解消されていない)場合、「NO」の分岐が判定ブロック426に進む。判定ブロック426において、より低い性能レベルが利用可能であるかどうかが判断され、利用可能である場合、「YES」の分岐がブロック428に進む。利用可能ではない場合、「NO」の分岐がブロック436に進み、コアは電力崩壊する。いくつかの実施形態では、コアは、接合部しきい値違反が後に解消し得るとの期待から、電力崩壊の代わりに最低レベルに維持され得る。
【００８０】
次に低い電力レベルが利用可能であり、ブロック428において適用された場合、ブロック430において、高サンプリングレートが継続され、プロセスは判定ブロック422に戻る。いつでも判定ブロック422において、接合部温度しきい値違反が解消していると判断された場合、「YES」の分岐が判定ブロック432に進む。判定ブロック432において、PoPおよび/または接触の温度違反が残っているかどうかが判断され、残っている場合、「YES」の分岐が(上述の)図4Cのブロック438に進む。判定ブロック432において、PoPおよび/または表面の温度違反が認識されなかった(すなわち、すべての違反が解消している)場合、「NO」の分岐がブロック434に進む。ブロック434において、RAMP_DOWN期間中に例示的なコアの低減された性能レベルが、ペナルティ期間にわたって維持される。ペナルティ期間の終わりに、ブロック435において、例示的な処理構成要素は、RAMP_DOWN期間から出て、その最大電力レベルで処理作業負荷を再開することを許可される。プロセスは図4Dのブロック456に戻ってリセット期間を適用し、場合によっては後続のペナルティ期間を調整する。
【００８１】
図5は、図1のPCD内のセンサ157に関連する温度読取値によってトリガされた様々な適応型熱管理ポリシー状態505、510、515を示す例示的な状態図500である。第1のポリシー状態505は、例示的な処理構成要素が最大性能レベルで作業負荷を処理することをATMモジュール101が許可しているMAX_PERF状態を含むことができる。上述のように、処理構成要素は、温度しきい値違反が認識されていない場合、また認識されるまでは、MAX_PERF状態にとどまることができる。
【００８２】
処理構成要素がMAX_PERF状態にある間に温度しきい値違反が認識された場合、ATMモジュール101は処理構成要素に、第2のポリシー状態510に入ってその性能レベルを1段階だけランプダウンするよう命令することができる。RAMP_DOWN状態では、処理構成要素の電力レベルは、構成要素による熱エネルギー生成が、観測されたしきい値違反を解消できるレベルに達するまで、システマティックかつ漸進的に低減される。すべての違反が解消されると、処理構成要素は、RAMP_DOWN状態から出て、その電力レベルを最大まで上げ戻すことを許可され得る。
【００８３】
RAMP_DOWNポリシー状態にあるとき、ATMモジュール101はDVFSモジュール26と連携して、熱アグレッシブ処理構成要素が温度違反を引き起こすことなく動作し得る最高電力消費レベルが判断されるまで、処理構成要素の性能レベルを一度に1段階だけ落とし続けることができる。このようにして、PCDのフォームファクタまたは処理される特定の作業負荷に関係なくユーザ体験およびQoSが最適化され得ることが、適応型熱管理システムおよび方法の利点である。
【００８４】
RAMP_DOWN状態における電力レベルの低減の結果として1つまたは複数の温度しきい値が解消されていない場合、処理構成要素はATMモジュール101によって、第3のポリシー状態515のCORE_OFFに入って電力崩壊するよう命令され得る。処理構成要素は、熱暴走および構成要素の永続的な熱的な劣化を回避する目的で電力崩壊し得る。CORE_OFF状態で電力崩壊した後、処理構成要素は、すべての違反が解消した後、MAX_PERF状態にリブートされ得る。
【００８５】
図6は、図5に示す特定のポリシー状態505、510、515に関連する例示的な状態を示す図である。MAX_PERF状態505にある間、処理構成要素は、初期しきい値を上回る温度状態に寄与し得るが、温度は、接合部上限、PoPメモリ上限および/または接触温度上限に関連する熱しきい値を上回ると認識されていない。したがって、処理構成要素は、フルの電力および周波数で作動していることがあり、そのためその最高効率性で作業負荷を処理していることがある。MAX_PERF状態505は、サンプリングレートがある場合に低サンプリングレート、および高いQoSおよびユーザ体験によって特徴付けられる。
【００８６】
第2のRAMP_DOWN状態510において、熱エネルギー生成を低減し温度違反を解消する目的で処理構成要素の電力を低減することが正当化されるほど、温度しきい値を上回っていることがある。上述のように、違反が解消されるまで、電力レベルは漸進的に低減され得る。このようにして、所与の温度しきい値の違反を招くことなくプロセッサが動作し得る最大処理レベルが判断される。第2のRAMP_DOWN状態510における処理構成要素は、すべての温度違反が解消された後、ペナルティ期間にわたってRAMP_DOWN状態510にとどまることができる。RAMP_DOWN状態510は、低減されたQoSおよびユーザ体験によって特徴付けられるが、QoSは、管理されることが求められる温度状態に照らして最適化される。
【００８７】
第3のCORE_OFF状態515では、処理構成要素は、その構成要素またはPCD100内の他の構成要素に対する永続的損害を回避する目的で電力崩壊することがある。いくつかの実施形態では、処理構成要素は、RAMP_DOWN状態510において解消することなく接合部温度上限を上回った結果として、CORE_OFF状態515に入ることができる。
【００８８】
図7は、動的電圧周波数スケーリング(「DVFS」)熱軽減技法を適用するための副方法またはサブルーチン420、438を示す、論理フローチャートである。上述のように、DVFS技法はATMモジュール101によって、適応型熱管理ポリシーの適用において活用され得る。いくつかの実施形態では、DVFS抑制技法は、漸進的に個別の処理構成要素に適用されて、温度違反が解消するまで一度に1段階だけ所与のコアの電力レベルを低減することができる。
【００８９】
当業者が理解するように、高性能と低消費電力を実現するプロセッサに対する需要により、プロセッサ設計において、動的電圧電流スケーリング(「DVCS:dynamic voltage and current scaling」)と呼ばれることもある動的電圧周波数スケーリングのような様々な電力管理技法が使用されるようになった。DVFSは、電力消費と性能との間のトレードオフを可能にする。たとえば、プロセッサ110および126は、各プロセッサのクロック周波数を、電圧の対応する調整によって調整できるようにすることによって、DVFSを利用するように設計され得る。
【００９０】
動作電圧を低減すると、通常それに比例して消費電力が節減される。DVFS対応のプロセッサ110、126の1つの主要な問題は、性能と電力節減との間のバランスをどのように制御するかということである。
【００９１】
ブロック705は、適応型熱管理フレームワークにおいてDVFS熱軽減技法を適用するための副方法またはサブルーチン420、438の最初のステップである。この最初のブロック705では、ATMモジュール101は、温度センサ157Aによって提供された温度読取値に基づいて接合部しきい値などの温度しきい値に違反していると判断し得る。したがって、ATMモジュール101は、処理構成要素にRAMP_DOWN状態510に入るよう命令し、ブロック710において現在のDVFS設定を見直すよう求めるDVFSモジュール26への命令を開始することができる。次にブロック715において、DVFSモジュール26は、処理構成要素の電力レベルが低減され得ると判断し得る。
【００９２】
次に、ブロック720において、DVFSモジュール26は、熱負荷状態を軽減するために、電圧および/または周波数を含み得る現在のDVFS設定を調整する、または漸進的に調整するためのコマンドを出すことができる。設定を調整することは、DVFSアルゴリズムにおいて許容される最大クロック周波数を調整または「スケーリング」することを含み得る。上述のように、DVFSモジュール26は、処理構成要素に専用のものであってよく、DVFS設定のさらなる低減が必要とされないことがATMモジュール101によって指示されるまで、一度に1段階だけ処理構成要素の電力レベルを漸進的に調整することができる。特に、監視モジュール114、ATMモジュール101およびDVFSモジュール26が本開示では別個の機能を有する別個のモジュールとして説明されているが、いくつかの実施において、様々なモジュールまたは様々なモジュールの態様が、適応型熱管理ポリシーを実施するための共通のモジュールに結合され得ることが理解されよう。
【００９３】
本発明が説明通りに機能するように、本明細書に記載されたプロセスまたはプロセスフロー内のある特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、そのような順序またはシーケンスが本発明の機能を変えない場合、本発明は記載されたステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、あるステップは、他のステップの前に実行されるか、後に実行されるか、または他のステップと並行して(実質的に同時に)実行される場合があることを認識されたい。いくつかの例では、ある特定のステップは、本発明から逸脱することなく、省略されるか、または実行されない場合がある。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
【００９４】
加えて、プログラミングの当業者は、たとえば本明細書内のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を識別して、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示は、本発明をどのように製作および使用すべきかについて適切に理解するために必要であるとは見なされない。特許請求されるコンピュータ実装プロセスの発明性のある機能は、上記の説明において、かつ、様々なプロセスフローを示すことができる図面とともに、より詳細に説明される。
【００９５】
1つまたは複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。ソフトウェアに実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読記録媒体上に記憶されるか、またはコンピュータ可読記録媒体上で送信され得る。コンピュータ可読記録媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読記録媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。
【００９６】
また、いかなる接続もコンピュータ可読記録媒体と適切に呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL:digital subscriber line」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【００９７】
本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(「CD」)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(「DVD」)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読記録媒体の範囲内に含めるべきである。
【００９８】
したがって、選択された態様が詳細に図示および説明されたが、以下の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されよう。
【符号の説明】
【００９９】
24  PCD外殻
26  動的電圧周波数スケーリング(「DVFS」)モジュール、モジュール
26A  DVFSモジュール、主要なモジュール、主要なDVFSモジュール
26B  DVFSモジュール
100  ポータブルコンピューティングデバイス、PCD
101  適応型熱管理(「ATM」)モジュール、モジュール、ATM
101A  ATMモジュール、主要なモジュール、主要なATMモジュール
101B  適応型熱マネージャモジュール、適応型熱マネージャ、ATMモジュール
102  オンチップシステム、チップ
103  アナログデジタル(「ADC」)コントローラ
110  CPU、構成要素、マルチコア中央処理装置(「CPU」)、デジタル信号プロセッサ、プロセッサ、アプリケーションCPU
112  メモリ、内部メモリ
112A  PoPメモリ
114  監視モジュール
126  アナログ信号プロセッサ、プロセッサ、モデムCPU
128  ディスプレイコントローラ
130  タッチスクリーンコントローラ
132  タッチスクリーンディスプレイ
134  ビデオエンコーダ、ビデオコーデック
135A  第1のグラフィックプロセッサ
135B  第2の熱グラフィックプロセッサ、第2のグラフィックプロセッサ
135C  第3の熱グラフィックプロセッサ、第3のグラフィックプロセッサ
135D  第4のグラフィックプロセッサ
136  ビデオ増幅器
138  ビデオポート
140  ユニバーサルシリアルバス(「USB」)コントローラ
142  USBポート
146  加入者識別モジュール(SIM)カード
148  デジタルカメラ、カメラ
150  ステレオオーディオコーデック
152  オーディオ増幅器
154  第1のステレオスピーカー
156  第2のステレオスピーカー
157  センサ、熱センサ、温度センサ
157A  熱センサ、チップ温度センサ、オンチップ熱センサ、内部熱センサ、温度センサ
157A2  第2の内部熱センサ
157A3  センサ、第3の内部熱センサ
157A4  第4の内部熱センサ
157A5  第5の内部熱センサ
157B  熱センサ、チップ温度センサ、内部熱センサ
157B1  センサ、第1の内部熱センサ
157C  表面温度センサ、オフチップ熱センサ、熱センサ、外部熱センサ
157C1  第1の外部熱センサ
157C2  第2の外部熱センサ
158  マイクロフォン増幅器
160  マイクロフォン
162  周波数変調(「FM」)ラジオチューナ
164  FMアンテナ
166  ステレオヘッドフォン
168  無線周波(「RF」)送受信機、モデムCPU
170  RFスイッチ
172  RFアンテナ
173  デジタルアナログコントローラ(「DAC」)
174  キーパッド
176  マイクロフォン付きモノヘッドセット、モノヘッドセット
177  進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)
178  バイブレータデバイス、バイブレータ
180  PMIC
188  電源
207  オペレーティングシステム(「O/S」)モジュール
209  PLL
209A  位相ロックループ(「PLL」)
209B  位相ロックループ(「PLL」)
211  バス
222  コア、熱アグレッサ、第0のコア
224  コア、熱アグレッサ、第1のコア
226  コア、熱アグレッサ
228  コア、熱アグレッサ
230  第Nのコア、コア
250  開始論理
260  管理論理
270  適応型熱管理インターフェース論理、インターフェース論理
280  アプリケーションストア
290  ファイルシステム、組込みファイルシステム
292  熱技法ストア、ストア
294  コアストア
296  プログラムストア
297  性能スケーリングアルゴリズム、熱管理アルゴリズム
298  パラメータのセット、パラメータ
400  方法
500  状態図
505  適応型熱管理ポリシー状態、第1のポリシー状態、ポリシー状態、MAX_PERF状態
510  適応型熱管理ポリシー状態、第2のポリシー状態、ポリシー状態、第2のRAMP_DOWN状態、RAMP_DOWN状態
515  適応型熱管理ポリシー状態、第3のポリシー状態、ポリシー状態、第3のCORE_OFF状態、CORE_OFF状態
【要約】
ポータブルコンピューティングデバイス(「PCD」)において実施される適応型熱管理技法のための方法およびシステムの様々な実施形態が開示される。特に、多くのPCDにおいて、限定はしないが、ダイ接合部温度、パッケージオンパッケージ(「PoP」)メモリ温度およびデバイス自体の外面の「接触温度」など、PCDにおける様々な構成要素に関連する温度しきい値は、PCDの実行能力が用いられ得る度合いを制限する。温度しきい値に違反したときに、熱アグレッシブ処理構成要素が最大動作電力に戻るのを許可する前に、違反を解消するために必要な程度と時間だけPCDの性能が犠牲になることが、適応型熱管理のための方法およびシステムの様々な実施形態の利点である。【図１】
0005781255.tif 000002
【図２】
0005781255.tif 000003
【図３Ａ】
0005781255.tif 000004
【図３Ｂ】
0005781255.tif 000005
【図４Ａ】
0005781255.tif 000006
【図４Ｂ】
0005781255.tif 000007
【図４Ｃ】
0005781255.tif 000008
【図４Ｄ】
0005781255.tif 000009
【図５】
0005781255.tif 000010
【図６】
0005781255.tif 000011
【図７】
0005781255.tif 000012