(57)【要約】【課題】  データ処理システム内の温度管理に関する技術を提供する。【解決手段】  データ処理システム内の温度を制御するために電力使用を動的に配分する方法及び装置。一態様では、データ処理システムは、データ処理システムシステムが存在する環境の周囲温度を判断する第１のセンサ、及び周囲温度に従ってデータ処理システムの作動を制御するためにセンサに結合されたコントローラ（例えば、マイクロコントローラ又はマイクロプロセッサ）を含む。一例では、データ処理システムは、データ処理システムのコンポーネントの実温度を判断する第２のセンサを更に含む。一例では、コントローラは、複数の実温度とデータ処理システムの作動設定値との関数であるデータ処理システムの温度の予測に基づいてデータ処理システムの作動設定値を判断するために温度センサに結合される。【選択図】      図１
2009506424.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムが存在する環境の周囲温度を判断する第１のセンサと、
前記周囲温度に従ってデータ処理システムの作動を制御するために前記センサに結合されたコントローラと、
を含むことを特徴とするデータ処理システム。
【請求項２】
データ処理システムのコンポーネントの実温度を判断する第２のセンサ、
を更に含み、
前記コントローラは、更に前記コンポーネントの前記実温度に従ってデータ処理システムの前記作動を制御するものである、
ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記コントローラは、前記周囲温度と、前記コンポーネントの前記実温度と、該コンポーネントの現在の作動状態との関数である該コンポーネントの温度の予測に基づいてデータ処理システムの前記作動を制御することを特徴とする請求項２に記載のシステム。
【請求項４】
前記コントローラは、１つ又はそれよりも多くの電圧設定値及び１つ又はそれよりも多くの周波数設定値の組合せから１つを選択してデータ処理システムの作動を制御し、前記コンポーネントの前記作動状態は、電圧設定値及び周波数設定値を含むことを特徴とする請求項３に記載のシステム。
【請求項５】
データ処理システムを再始動又は停止させることなくデータ処理システムの設定値を変更するように第１の電圧から第２の電圧へと移行させることができる電圧供給装置と、
データ処理システムを再始動又は停止させることなくデータ処理システムの設定値を変更するように第１の周波数から第２の周波数へと移行させることができる周波数供給装置と、
を更に含むことを特徴とする請求項４に記載のシステム。
【請求項６】
前記コントローラは、
マイクロコントローラ、及び
マイクロプロセッサ、
の一方である、
ことを特徴とする請求項２に記載のシステム。
【請求項７】
前記第２のセンサは、前記コントローラが作動設定値を定期的に判断するために、前記コンポーネントの前記実温度を定期的に判断するものであることを特徴とする請求項６に記載のシステム。
【請求項８】
データ処理システムに対する複数の実温度を判断する複数の温度センサと、
データ処理システムの作動設定値を前記複数の実温度とデータ処理システムの該作動設定値との関数であるデータ処理システムの温度の予測に基づいて判断するために前記複数の温度センサに結合されたコントローラと、
を含むことを特徴とするデータ処理システム。
【請求項９】
データ処理システムの前記温度の前記予測は、前記作動設定値に対する最悪作業負荷による電力消費から発生される熱に基づいていることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記複数の実温度は、第１の時刻でのデータ処理システム内の位置での実温度を含み、前記温度の前記予測は、該第１の時刻後のある一定の期間での同じ位置に対するものであり、前記作動設定値は、該予測温度を閾値よりも下に制限するように判断されることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記複数の実温度は、前記電力消費から発生した熱が放散する方向にあるデータ処理システム内の位置での実温度を更に含み、前記期間は、データ処理システムの時定数よりも短いことを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記コントローラは、
マイクロコントローラ、及び
マイクロプロセッサ、
の一方であり、
前記作動設定値は、
「中央演算処理装置（ＣＰＵ）」マイクロプロセッサ、
「グラフィック処理ユニット（ＧＰＵ）マイクロプロセッサ」、及び
バス、
のうちの少なくとも１つに対するものである、
ことを特徴とする請求項８に記載のシステム。
【請求項１３】
データ処理システムによって実行された時に該システムに該データ処理システムを制御する方法を実行させる実行可能コンピュータプログラム命令を収容する機械可読媒体であって、
方法が、
データ処理システムが存在する環境の周囲温度を判断する段階と、
前記周囲温度に従って前記データ処理システムの作動を制御する段階と、
を含む、
ことを特徴とする媒体。
【請求項１４】
前記方法は、
前記データ処理システムのコンポーネントの実温度を判断する段階、
を更に含み、
前記データ処理システムは、更に前記コンポーネントの前記温度に従って制御される、
ことを特徴とする請求項１３に記載の媒体。
【請求項１５】
前記制御する段階は、
前記周囲温度と前記コンポーネントの前記実温度とに従って複数の作動設定値から１つを選択する段階、
を含む、
ことを特徴とする請求項１４に記載の媒体。
【請求項１６】
前記複数の作動設定値は、１つ又はそれよりも多くの電圧及び１つ又はそれよりも多くの周波数の組合せを含むことを特徴とする請求項１５に記載の媒体。
【請求項１７】
前記制御する段階は、
前記複数の作動設定値のうちの前記１つに従って第１の電圧から第２の電圧へ移行させる段階と、
前記複数の作動設定値のうちの前記１つに従って第１の周波数から第２の周波数へ移行させる段階と、
を更に含む、
ことを特徴とする請求項１６に記載の媒体。
【請求項１８】
前記複数の作動設定値のうちの前記１つは、前記コンポーネントの予測温度を閾値よりも低く制限するように選択され、
前記コンポーネントの前記予測温度は、前記周囲温度、該コンポーネントの前記実温度、及び作動設定値の関数である、
ことを特徴とする請求項１５に記載の媒体。
【請求項１９】
前記コンポーネントの前記実温度を判断する段階は、前記選択する段階を定期的に実行するために定期的に実施されることを特徴とする請求項１８に記載の媒体。
【請求項２０】
前記周囲温度は、その機能において前記コンポーネントの冷却を引き起こし、作動設定値は、その機能において該コンポーネントの加熱を引き起こすことを特徴とする請求項１８に記載の媒体。
【請求項２１】
前記作動設定値は、電力消費の上限を判断し、前記コンポーネントの前記予測温度は、該電力消費の該上限に基づいて予測されることを特徴とする請求項１８に記載の媒体。
【請求項２２】
前記複数の作動設定値の前記１つは、前記コンポーネントに対する第１の設定値及び更に別のコンポーネントに対する第２の設定値を含むことを特徴とする請求項１５に記載の媒体。
【請求項２３】
データ処理システムによって実行された時に該システムに該データ処理システムを制御する方法を実行させる実行可能コンピュータプログラム命令を収容する機械可読媒体であって、
方法が、
データ処理システムに対する複数の実温度を判断する段階と、
データ処理システムの作動設定値を前記複数の実温度と該データ処理システムの該作動設定値との関数である予測温度に従って調節する段階と、
を含む、
ことを特徴とする媒体。
【請求項２４】
前記作動設定値は、前記データ処理システムの少なくとも一部分の電力消費の上限を判断し、前記予測温度は、該上限による該電力消費から発生する熱に基づいていることを特徴とする請求項２３に記載の媒体。
【請求項２５】
前記複数の実温度は、第１の時刻での前記データ処理システム内の位置での実温度を含み、前記予測温度は、該第１の時刻後のある一定の期間での同じ位置に対するものであり、前記作動設定値は、該予測温度を閾値よりも低く制限するように調節されることを特徴とする請求項２４に記載の媒体。
【請求項２６】
前記複数の実温度は、前記電力消費から発生した熱が放散する方向にある前記データ処理システム内の位置での実温度を更に含むことを特徴とする請求項２５に記載の媒体。
【請求項２７】
前記期間は、前記データ処理システムの時定数よりも短いことを特徴とする請求項２５に記載の媒体。
【請求項２８】
前記方法は、
前記実温度のうちの少なくとも１つの前記判断に続く期間にわたって前記予測温度を閾値よりも低く制限する熱源の電力消費の許容可能量を判断する段階、
を更に含み、
前記作動設定値は、電力消費の前記許容可能量に従って調節される、
ことを特徴とする請求項２３に記載の媒体。
【請求項２９】
前記作動設定値は、
電圧設定値、
周波数設定値、
回転速度設定値、及び
ファン速度設定値、
のうちの少なくとも１つを含む、
ことを特徴とする請求項２３に記載の媒体。
【請求項３０】
前記作動設定値は、前記データ処理システムの
「中央演算処理装置（ＣＰＵ）」マイクロプロセッサ、
「グラフィック処理ユニット（ＧＰＵ）」マイクロプロセッサ、
バス、及び
ディスクドライブ、
のうちの少なくとも１つに対するものである、
ことを特徴とする請求項２３に記載の媒体。
【請求項３１】
前記作動設定値を前記調節する段階は、
第１の電圧から第２の電圧へと電圧供給装置を調節する段階と、
第１の周波数から第２の周波数へと周波数供給装置を調節する段階と、
を含む、
ことを特徴とする請求項２３に記載の媒体。
【請求項３２】
前記調節する段階は、前記データ処理システムを停止又は再開始することなく実施されることを特徴とする請求項３１に記載の媒体。
【請求項３３】
データ処理システムを制御する方法であって、
データ処理システムが存在する環境の周囲温度を判断する段階と、
前記周囲温度に従って前記データ処理システムの作動を制御する段階と、
を含むことを特徴とする方法。
【請求項３４】
前記データ処理システムのコンポーネントの実温度を判断する段階、
を更に含み、
前記データ処理システムは、更に前記コンポーネントの前記温度に従って制御される、
ことを特徴とする請求項３３に記載の方法。
【請求項３５】
前記制御する段階は、
前記周囲温度と前記コンポーネントの前記実温度とに従って１つ又はそれよりも多くの電圧及び１つ又はそれよりも多くの周波数の組合せを含む複数の作動設定値から１つを選択する段階と、
前記複数の作動設定値の前記１つに従って第１の電圧から第２の電圧へ移行させる段階と、
前記複数の作動設定値の前記１つに従って第１の周波数から第２の周波数へ移行させる段階と、
を含む、
ことを特徴とする請求項３４に記載の方法。
【請求項３６】
前記複数の作動設定値のうちの前記１つは、前記コンポーネントの予測温度を閾値よりも低く制限するように選択され、
前記コンポーネントの前記予測温度は、前記周囲温度、該コンポーネントの前記実温度、及び作動設定値の関数である、
ことを特徴とする請求項３５に記載の方法。
【請求項３７】
前記コンポーネントの前記実温度を判断する段階は、前記選択する段階を定期的に実行するために定期的に実施され、前記周囲温度は、その機能において該コンポーネントの冷却を引き起こし、作動設定値は、その機能において該コンポーネントの加熱を引き起こすことを特徴とする請求項３６に記載の方法。
【請求項３８】
データ処理システムを制御する方法であって、
データ処理システムに対する複数の実温度を判断する段階と、
前記データ処理システムの作動設定値を前記複数の実温度と該データ処理システムの該作動設定値との関数である予測温度に従って調節する段階と、
を含むことを特徴とする方法。
【請求項３９】
前記作動設定値は、前記データ処理システムの少なくとも一部分の電力消費の上限を判断し、前記予測温度は、該上限による該電力消費から発生する熱に基づいており、前記複数の実温度は、第１の時刻での該データ処理システム内の位置での実温度を含み、該予測温度は、該第１の時刻後のある一定の期間での同じ位置に対するものであり、該作動設定値は、該予測温度を閾値よりも低く制限するように調節されることを特徴とする請求項３８に記載の方法。
【請求項４０】
前記複数の実温度は、前記電力消費から発生した熱が放散する方向にある前記データ処理システム内の位置での実温度を更に含み、前記期間は、該データ処理システムの時定数よりも短いことを特徴とする請求項３９に記載の方法。
【請求項４１】
前記調節する段階は、前記データ処理システムを停止又は再開始することなく実施されることを特徴とする請求項３８に記載の方法。
【請求項４２】
データ処理システムが存在する環境の周囲温度を判断するための手段と、
前記周囲温度に従ってデータ処理システムの作動を制御するための手段と、
を含むことを特徴とするデータ処理システム。
【請求項４３】
データ処理システムのコンポーネントの実温度を判断するための手段、
を更に含み、
更に前記コンポーネントの前記温度に従って制御される、
ことを特徴とする請求項４２に記載のデータ処理システム。
【請求項４４】
前記制御するための手段は、
前記周囲温度と前記コンポーネントの前記実温度とに従って１つ又はそれよりも多くの電圧及び１つ又はそれよりも多くの周波数の組合せを含む複数の作動設定値から１つを選択するための手段と、
前記複数の作動設定値の前記１つに従って第１の電圧から第２の電圧へ移行させるための手段と、
前記複数の作動設定値の前記１つに従って第１の周波数から第２の周波数へ移行させるための手段と、
を含む、
ことを特徴とする請求項４３に記載のデータ処理システム。
【請求項４５】
前記複数の作動設定値のうちの前記１つは、前記コンポーネントの予測温度を閾値よりも低く制限するように選択され、
前記コンポーネントの前記予測温度は、前記周囲温度、該コンポーネントの前記実温度、及び作動設定値の関数である、
ことを特徴とする請求項４４に記載のデータ処理システム。
【請求項４６】
データ処理システムに対する複数の実温度を判断するための手段と、
データ処理システムの作動設定値を前記複数の実温度とデータ処理システムの該作動設定値との関数である予測温度に従って調節するための手段と、
を含むことを特徴とするデータ処理システム。
【請求項４７】
前記作動設定値は、データ処理システムの少なくとも一部分の電力消費の上限を判断し、前記予測温度は、該上限による該電力消費から発生する熱に基づいており、前記複数の実温度は、第１の時刻でのデータ処理システム内の位置での実温度を含み、該予測温度は、該第１の時刻後のある一定の期間での同じ位置に対するものであり、該作動設定値は、該予測温度を閾値よりも低く制限するように調節されることを特徴とする請求項４６に記載のデータ処理システム。
【請求項４８】
前記複数の実温度は、前記電力消費から発生した熱が放散する方向にあるデータ処理システム内の位置での実温度を更に含み、前記期間は、データ処理システムの時定数よりも短いことを特徴とする請求項４７に記載のデータ処理システム。
【請求項４９】
前記調節するための手段は、データ処理システムを停止又は再開始することなく調節することを特徴とする請求項４６に記載のデータ処理システム。
【請求項５０】
データ処理システムを作動させる方法であって、
将来の時点でのデータ処理システムの作動温度を予測する段階と、
予測された前記作動温度に少なくとも部分的に基づいて前記データ処理システムの少なくとも１つのコンポーネントの作動設定値を設定する段階と、
を含むことを特徴とする方法。
【請求項５１】
前記作動設定値は、前記将来の時点までの期間に対して設定され、前記予測する段階及び設定する段階は、定期的な方法で実施されることを特徴とする請求項５０に記載の方法。
【請求項５２】
前記作動温度は、少なくとも１つの現在の温度の測定値に基づいて予測されることを特徴とする請求項５１に記載の方法。
【請求項５３】
前記少なくとも１つの現在の温度は、
周囲温度、及び
前記データ処理システムのコンポーネントの温度、
を含む、
ことを特徴とする請求項５２に記載の方法。
【請求項５４】
データ処理システムによって実行された時に該システムに該データ処理システムを作動させる方法を実行させる実行可能コンピュータプログラム命令を収容する機械可読媒体であって、
方法が、
将来の時点でのデータ処理システムの作動温度を予測する段階と、
予測された前記作動温度に少なくとも部分的に基づいて前記データ処理システムの少なくとも１つのコンポーネントの作動設定値を設定する段階と、
を含む、
ことを特徴とする媒体。
【請求項５５】
前記作動設定値は、前記将来の時点までの期間に対するものであり、該期間は、前記データ処理システムの熱時定数よりも大きくない程度であることを特徴とする請求項５４に記載の媒体。
【請求項５６】
前記作動温度は、現在の周囲温度の測定値及び前記データ処理システムのコンポーネントの現在の温度の測定値に基づいて予測されることを特徴とする請求項５４に記載の媒体。
【請求項５７】
前記作動設定値は、前記作動温度を温度閾値よりも低く制限するように設定されることを特徴とする請求項５４に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の少なくとも一部の実施形態は、一般的にデータ処理システムに関し、より具体的ではあるが排他的ではなくデータ処理システム内の温度管理に関する。
【背景技術】
【０００２】
従来的に、コンピュータシステムは、最悪作業負荷に対応するかなりの最悪熱負荷で連続的に作動することができるように設計される。そのような連続最悪負荷による設計は、従来から個々のコンポーネントが適度の作動電力消費しか持たず、コンピュータシステムが、その負荷をかなり自然に耐えることができるようにかなりの冷却容量を有していたので、これまでさほど問題ではなかった。
【０００３】
コンピュータシステムの個々コンポーネントの作動電力消費が徐々に増加すると、コンピュータシステムの熱配分はより厳しくなってくる。システムは、冷却することがより困難になってきている。最悪の熱負荷で連続的に作動し、同時に高い計算能力、コンパクト性、静粛性、良好なバッテリ性能などのような他の高い性能目標を追求するようにコンピュータシステムを設計することは、現在難しくなってきている。
【０００４】
例えば、システムは、システムの主要部品が過熱することなく自然に最悪作業負荷を連続的に実行することがもはやできないであろう。
【０００５】
例えば、ラップトップコンピュータのような携帯式コンピュータシステムは、コンパクトなハウジング及び限られた冷却機能しか持たず、従って、所定の冷却機能に対する最悪熱負荷は、最悪熱負荷は殆ど発生しないと考えられるのにシステムは連続最悪熱負荷に耐えるように設計されてきたので、システムの性能を制限する場合がある。これは、最悪熱負荷が殆ど発生しないと考えられても、より高い冷却機能を与えるためにラップトップがより大型になることを意味すると考えられる。
【０００６】
【特許文献１】米国特許出願出願番号第１０／９１７、７１９号
【発明の開示】
【０００７】
データ処理システムにおける温度を制御するために電力使用量を動的に配分する方法及び装置を本明細書で説明する。本発明の一部の実施形態を本節に要約する。
【０００８】
本発明の実施形態の一態様では、動的温度制御を有するデータ処理システムは、データ処理システムが存在する環境の周囲温度を判断する第１のセンサ、及び周囲温度に従ってデータ処理システムの作動を制御するためにセンサに結合されたコントローラ（例えば、マイクロコントローラ又はマイクロプロセッサ）を含む。周囲温度は、典型的にはデータ処理システムを取巻く環境の温度である。
【０００９】
実施形態の一例では、データ処理システムは、データ処理システムのコンポーネントの実温度を判断するための第２のセンサを更に含む。コントローラは、コンポーネントの実温度及び周囲温度に従ってデータ処理システムの作動を制御するようになっている。
【００１０】
実施形態の一例では、コントローラは、周囲温度、コンポーネントの実温度、その他の関数であるコンポーネントの温度の予測に基づいてデータ処理システムの作動を制御する。一例では、コントローラは、データ処理システムの作動を制御するために、１つ又はそれよりも多くの電圧設定値及び１つ又はそれよりも多くの周波数設定値の組合せから１つを選択する。
【００１１】
実施形態の一例では、システムは、電圧供給装置（例えば、コントローラに結合された）及び周波数供給装置（例えば、コントローラに結合された）を更に含む。電圧供給装置は、データ処理システムを再始動又は停止させることなくデータ処理システムの設定を変更するために、第１の電圧から第２の電圧へと移行させることができ、周波数供給装置は、データ処理システムを再始動又は停止させることなくデータ処理システムの設定を変更するために、第１の周波数から第２の周波数へと移行させることができる。
【００１２】
実施形態の一例では、第２のセンサは、コントローラが作動設定値を定期的に判断するようにコンポーネントの実温度を定期的に判断するようになっている。
【００１３】
本発明の実施形態の一態様では、データ処理システムは、データ処理システムに対する複数の実温度を判断する複数の温度センサと、複数の実温度及びデータ処理システムの作動設定値の関数であるデータ処理システムの温度の予測に基づいてデータ処理システムの作動設定値を判断する複数の温度センサに結合されたコントローラとを含む。
【００１４】
実施形態の一例では、データ処理システムの温度の予測は、作動設定値に対する最悪作業負荷による電力消費から発生した熱に基づいている。一例では、複数の実温度は、第１の時刻でのデータ処理システム内の位置での実温度を含み、温度の予測は、第１の時刻後のある一定の期間での同じ位置に対するものであり、作動設定値は、予測温度を閾値よりも下に制限するように判断される。一例では、複数の実温度は、電力消費から発生した熱が放散する方向にあるデータ処理システム内の位置での実温度を更に含む。
【００１５】
実施形態の一態様では、データ処理システムを制御する方法は、データ処理システムが存在する環境の周囲温度を判断する段階、及び周囲温度に従ってデータ処理システムの作動を制御する段階を含む。一例では、本方法は、データ処理システムのコンポーネントの実温度を判断する段階を更に含む。
【００１６】
実施形態の一例では、作動を制御する段階は、周囲温度及びコンポーネントの実温度に従って複数の作動設定値から１つを選択する段階を含む。一例では、複数の作動設定値は、１つ又はそれよりも多くの電圧及び１つ又はそれよりも多くの周波数の組合せを含み、データ処理システムの作動を制御する段階は、複数の作動設定値のうちの選択された１つに従って第１の電圧から第２の電圧に移行させる段階、及び複数の作動設定値のうちの選択された１つに従って第１の周波数から第２の周波数に移行させる段階を含む。
【００１７】
実施形態の一例では、複数の作動設定値のうちの選択される１つは、コンポーネントの予測温度を閾値よりも下に制限するように選択され、コンポーネントの予測温度は、周囲温度、コンポーネントの実温度、及び作動設定値の関数である。
【００１８】
一例では、コンポーネントの実温度を判断する段階は、定期的に選択を実施するために定期的に実施される。一例では、周囲温度は、その機能においてコンポーネントの冷却を引き起こし、作動設定値は、その機能においてコンポーネントの加熱を引き起こす。一例では、作動設定値は、電力消費の上限を判断し、コンポーネントの予測温度は、電力消費の上限に基づいて予測される。
【００１９】
実施形態の一例では、複数の作動設定値のうちの選択される１つは、コンポーネントに対する第１の設定値及び更に別のコンポーネント対する第２の設定値を含む。
【００２０】
本発明の実施形態の一態様では、データ処理システムを制御する方法は、データ処理システムに対する複数の実温度を判断する段階、及び複数の実温度とデータ処理システムの作動設定値との関数である予測温度に従ってデータ処理システムの作動設定値を調節する段階を含む。
【００２１】
実施形態の一例では、作動設定値は、データ処理システムの少なくとも一部分の電力消費の上限を判断し、予測温度は、この上限による電力消費から発生する熱に基づいている。
【００２２】
実施形態の一例では、複数の実温度は、第１の時刻でのデータ処理システム内の位置での実温度を含み、予測温度は、第１の時刻後のある一定の期間での同じ位置に対するものであり、作動設定値は、予測温度を閾値よりも低く制限するように調節される。
【００２３】
一例では、複数の実温度は、電力消費から発生する熱が放散する方向にあるデータ処理システム内の位置での実温度を更に含む。
【００２４】
一例では、本方法は、予測温度を閾値よりも低く制限するために、実温度の少なくとも１つの判断に続く期間の間の熱源の許容可能電力消費量を判断する段階を更に含む。作動設定値は、許容可能電力消費量に従って調節される。
【００２５】
一実施形態では、作動設定値の例は、電圧設定値、周波数設定値、ディスク回転速度設定、及びファン速度設定を含む。一例では、作動設定値は、データ処理システムの「中央演算処理装置（ＣＰＵ）」マイクロプロセッサ、「グラフィック処理ユニット（ＧＰＵ）」マイクロプロセッサ、バス、及びディスクドライブなどうちの少なくとも１つに対するものである。
【００２６】
一例では、作動設定値を調節する段階は、第１の電圧から第２の電圧へと電圧供給装置を調節する段階、及び第１の周波数から第２の周波数へと周波数供給装置を調節する段階を含む。一例では、調節する段階は、データ処理システムを停止又は再始動することなく実施される。
【００２７】
本発明の実施形態の一態様では、データ処理を作動させる方法は、将来の時点でのデータ処理システムの作動温度を予測する段階、及び予測された作動温度に少なくとも部分的に基づいてデータ処理システムの少なくとも１つのコンポーネントの作動設定値を設定する段階を含む。
【００２８】
実施形態の一例では、作動設定値は、将来の期間に対するものであり、この期間は、データ処理システムの熱時定数よりも大きくない程度である。一例では、予測する段階及び設定する段階の作業は、定期的方法で実施される。
【００２９】
実施形態の一例では、作動温度は、現在の周囲温度の測定値、及びデータ処理システムのコンポーネントの現在の温度の測定値（及び電力消費）に基づいて予測される。
【００３０】
実施形態の一例では、作動設定値は、予測作動温度を温度閾値よりも低く制限するように設定される。
【００３１】
本発明は、方法及びこれらの方法を実施する装置を含み、装置は、これらの方法を実施するデータ処理システムと、データ処理システム上で実行される時にシステムにこれらの方法を実施させるコンピュータ可読媒体とを含む。
【００３２】
本発明の他の特徴は、添付図面及び以下の詳細説明から明らかになるであろう。
【００３３】
本発明を同じ参照番号が類似の要素を示す添付図面の図に限定ではなく例示的に示す。
【発明を実施するための最良の形態】
【００３４】
以下の説明及び図面は、本発明の例示であり、本発明を限定するものと解釈されるべきではない。本発明の完全な理解をもたらすために、多くの特定の詳細を説明する。しかし、ある一定の場合では、本発明の説明を不明瞭にするのを避けるために、公知又は従来の詳細は説明しない。本発明の開示に対する実施形態又は一実施形態への参照は、必ずしも同じ実施形態への参照ではなく、そのような参照は、少なくとも１つの実施形態への参照を意味する。
【００３５】
本発明の一実施形態は、システムが、ある一定の通常使用条件の下で最悪作業負荷に耐えることができない場合であっても、現在の作業負荷に対して動的に判断される温度限度よりも下の適切な作動設定値で作動することができるように、動的に判断される熱配分の下でシステムが作動することを可能にする熱スロットル調整を用いる。
【００３６】
従来技術では、一般的に、コンピュータシステムは、最悪作業負荷に対応する連続最悪電力消費状態にある時にコンピュータシステムが過熱して温度限度を超えないように、十分な冷却機能又は電力消費限界を有するように設計されてきた。最悪のシナリオでは、コンピュータシステムのコンポーネントの全てが、それらの最大（この場合は最悪レベル）の電力量を吸い上げていた。この最悪のシナリオは、本質的に最悪の最大レベル電力消費を合計したものであり、コンピュータシステムの冷却の面では、設計は、このシナリオを考慮に入れて、連続最悪電力消費から発生する熱を放散する十分な機能をシステムに与えている。
【００３７】
しかし、そのような最悪のシナリオは、一般的に希（低頻度）にしか発生しない。従って、コンピュータシステムを最悪負荷に耐えるように設計することは、一般的な使用に対しては慎重過ぎる場合がある。
【００３８】
本発明の一実施形態では、コンピュータシステムに対する電力消費が、典型的には、一般的な使用中に頻繁に変化することを認識する。典型的には、全てのコンポーネントが同時に最大電力消費状態にあるわけではない。更に、一部のコンポーネントは、長期間最大電力消費状態にない可能性がある。中央演算処理装置（ＣＰＵ）マイクロプロセッサのようなコンポーネントの電力消費は、一般的な使用に対して時間と共に劇的に変化する可能性がある。従って、最悪負荷に従ってコンピュータシステムを設計することは、一般的な使用に対しては過度に慎重過ぎる場合がある。
【００３９】
本発明の一実施形態では、コンピュータシステムは、過熱するのを阻止すべきシステムの一部に装着される熱源に対する制御（スロットル）を有する。このスロットルは、熱源によって消費される場合がある最大電力を制限し、それによって温度が上昇することができる速度を制限する。スロットル設定値は、異なる性能レベル設定又は異なる作動設定値に対応させることができる。
【００４０】
例えば、ＣＰＵ（中央演算処理装置）マイクロプロセッサは、異なるコア電圧及びコア周波数の下で作動することができる。高いコア電圧及び高い周波数を用いると、マイクロプロセッサをより高い電力消費を有するコンピュータのために最適化することができる。低いコア電圧及び低い周波数を用いると、マイクロプロセッサを低いコンピュータ性能レベルに対するバッテリ性能のために最適化することができる。
【００４１】
一実施形態では、マイクロプロセッサは、プロセッサのコンピュータタスクを停止又は中断することなく、電圧を徐々に変更することによって１つの電圧レベルから別の電圧レベルへと移行させることができ、周波数を徐々に変更することによって１つの周波数から別の周波数へと移行させることができる。ＣＰＵコア電圧及び周波数を変更することに関する更なる詳細は、この記述により本明細書において引用により組み込まれる２００４年８月１２日出願の米国特許出願出願番号第１０／９１７、７１９号に見ることができる。
【００４２】
本発明の一実施形態では、コンピュータシステムは、制御すべき温度がシステムの限界を超えて上昇しないようにスロットル設定値を動的に調整する。
【００４３】
本発明の一実施形態では、コンピュータシステムは、一般的な使用のための性能を最適化するように設計される。しかし、最悪負荷は発生する可能性がある。コンピュータシステムへの損傷を回避するために、動的パワーマネージメントシステムが用いられ、システムに対して重いタスクが課された時に温度限度内に止まるためにシステムが性能を譲歩することができるように、コンピュータシステムのコンポーネントの少なくとも一部の電力使用を動的に配分する。
【００４４】
一般的に、熱時定数は、スロットル設定値を調節するための期間に比較してかなり長い。本発明の一実施形態では、温度がシステムの限界に近づくことが認められた時に、システムは、コンポーネントが最悪作業負荷を処理するようになっていたとしても、熱源の電力消費要件が低下するように迅速に調整することができ、温度が実際にシステムの限界を超えるかなり前に問題の熱源の電力を低下させる。従って、システムは、現在の周囲温度、現在のコンピュータ温度、その他に依存する現在の熱条件に応じて要求に対する性能を低下させる。
【００４５】
本発明の一実施形態では、コンピュータシステムは、スロットル付きコンポーネント、システムの管理されている部品の温度を測定するための１つ又はそれよりも多くのセンサ、及びシステムの管理されている部品が冷める速度を予測するための周囲温度のような条件を測定するための１つ又はそれよりも多くのセンサを有する。
【００４６】
一実施形態では、熱スロットル調整を実施するために、コンピュータシステムは、システムの部品の実（測定）温度を判断し、最悪作業負荷に対するスロットル付きコンポーネントの電力消費要件、冷却のための条件の測定値（例えば、周囲温度）、及び現在の実温度に基づいて、最悪作業負荷のある一定の期間後に発生する可能性がある対応する温度を予測する。
【００４７】
一実施形態では、スロットル設定値は、予測温度が熱制約条件に従うように選択されて用いられる。例えば、スロットル設定値が許容可能であるか否かを判断するために、異なるスロットル設定値を吟味することができ、次の期間で用いるために「最良の」許容可能設定を選択することができる。
【００４８】
代替的に、スロットル付きコンポーネントの電力消費が許容可能量を下回った場合に、予測温度が熱閾値よりも低くなるように、このスロットル付きコンポーネント対して許容可能量を判断することができる。この後、電力消費の許容可能量は、許容可能スロットル設定値を判断するために異なるスロットル設定値の最悪電力使用要件に対して比較することができる。
【００４９】
一実施形態では、許容可能スロットル設定値の選択は、頻繁に（例えば、システムの熱時定数よりも短い期間で）かつ定期的に実施される。例えば、動的温度制御は、以下の作業を含むことができる。
【００５０】
１）システムの管理されている部品の現在の温度Ｔを測定する。
【００５１】
２）その後の期間に対する熱損失を算入するためにＴを調節する。
【００５２】
３）スロットル設定値ｉに対して、スロットル設定値ｉに対する最悪電力消費によって発生する熱に従ってこのスロットル設定値で到達することができると考えられる最高温度の推定値Ｔmax［ｉ］を設定する。
【００５３】
４）Ｔmax［ｉ］がシステムの限界に等しいか又はそれ未満である最高のスロットル設定値を判断し、このスロットル設定値を熱スロットル調整の次の反復に至るまでの現在のスロットル設定値とする。一実施形態では、低いスロットル設定値よりも高いスロットル設定値がより望ましい（例えば、より高速、より静粛等）。
【００５４】
一実施形態の例として、熱損失が主に対流によるものである場合には、期間Δに対する熱損失を算入する調節後の温度Ｔａは、次式に従って求めることができる。
【００５５】
Ｔa＝Ｔamb＋（Ｔ−Ｔamb）ｅ-Δ/τcool
【００５６】
ここで、Ｔambは、周囲温度の測定値であり、τcoolは、対流冷却経路の時定数である。
【００５７】
一実施形態における例として、コンピュータの部品に印加されている電力Ｐmax［ｉ］パルスの熱的結果に従って期間Δの後の温度を予測することができる。例えば、スロットル設定値ｉに対する予測温度Ｔmax［ｉ］は、次式に従って計算することができる。
【００５８】
Ｔmax［ｉ］＝Ｔa＋Ｐmax［ｉ］θ（１．０−ｅ-Δ/τheat）
【００５９】
ここで、Ｐmax［ｉ］は、スロットル設定値ｉに対する熱源の最大電力消費であり、θは、熱源とシステムの管理されている部品との間の熱抵抗であり、τheatは、加熱経路の時定数である。
【００６０】
一般的に、予測は、熱発生隣接部品の影響、冷却ユニットの作動条件、及び／又は放射熱放散のような他の熱放散モードのような因子を算入するためにより多くのパラメータを伴う場合がある。
【００６１】
本発明の一実施形態では、温度の予測は、実際の（測定）現在の温度に基づいて短い期間にわたって予測される。予測誤差は蓄積しないので、予測は、非常に正確でなくてもよい。
【００６２】
本発明の一実施形態では、期間Δは、加熱及び／又は冷却経路の時定数に比較すると短い。例えば、期間Δは、τheatよりも短い。
【００６３】
一般的に放射熱放散は、対流熱放散よりも大幅に緩慢である。一般的に放射熱放散は、対流冷却が存在する時には無視することができる。対流熱放散が弱いシステム（例えば、ファンのないシステム、封入ハウジング内のシステム等）では、放射熱放散が重要になる場合がある。一般的に予測は、解析的熱近似、経験的表現、又は解析的解法と経験的表現の組合せに基づくものとすることができる。
【００６４】
上述の例では、対流冷却が優勢であり、冷却の時定数が一定である状況を説明したが、予測の方法は、他の冷却処理を算入し、スロットルパラメータの関数である冷却時定数を算入するように拡張することができることに注意されたい。例えば、可変速度ファンを有する対流冷却システムは、ファン速度に対するスロットル設定値を有することができ、時定数τcoolは、ファン速度の関数とすることができる。
【００６５】
更に、予測は、システムの同じ部品に複数の熱源を装着する状況に対処するように拡張することができる。予測温度は、様々な装着熱源からの寄与の合計から計算することができる。例えば、次式のようになる。
【００６６】
Ｔmax［ｉ］＝Ｔa＋Ｐl、max［ｉ］θ1（１．０−ｅ-Δ／τheat1）＋Ｐ2、max［ｉ］θ2（１．０−ｅ-Δ/τheat2）＋．．．
【００６７】
ここで、Ｐl、max［ｉ］、Ｐ2、max［ｉ］、．．．は、スロットル設定値ｉに対する熱源１、２、．．．の最大電力消費であり、τheat1、τheat2、．．．は、対応する加熱経路の時定数であり、θ1、θ2、．．．は、熱源とシステムの管理されている部品の間の熱抵抗である。
【００６８】
本発明の一実施形態では、異なる制約条件、例えば、温度の各境界条件に対するものに基づいて複数個のスロットル設定値を判断することができる。続いて全ての制約条件が満たされることを保証するために、複数個のスロットル設定値のうちの最も低いものが用いられる。一般的に、性能は、最も問題であるサブシステムによって設定される。
【００６９】
更に、本発明の一実施形態では、複数個のスロットル設定値は、異なる制約条件、例えば、電力の各境界条件に対するものに基づいて更に判断することができる。例えば、システムは、ある一定の限界（例えば、バッテリ性能を阻害又は低下させないバッテリの連続使用ための平均放電電流に対する限界）を超える電力消費を継続的に維持することができる電源（例えば、バッテリ）を持たない可能性がある。実際の過去の使用履歴に基づいて、１つ又はそれよりも多くの個数のスロットル設定値を電力使用制約条件に基づいて判断することができる。熱及び電力の全ての制約条件が満たされるのを保証するために、複数個のスロットル設定値のうちの最も低いものを用いることができる。動的電力見積り及び制御に関する更なる詳細は、この記述により本明細書において引用により組み込まれる共に発明者Ｄａｖｅ  Ｃｏｎｒｏｙ、Ｋｅｉｔｈ  Ｃｏｘ、及びＭｉｃｈａｅｌ  Ｃｕｌｂｅｒｔによる本出願と同日出願の「動的電力制御の方法及び装置」（代理人整理番号０４８６０．Ｐ３８５３）及び「動的電力見積りの方法及び装置」（代理人整理番号０４８６０．Ｐ３８５４）という名称の現在特許出願中の米国特許出願に見ることができる。
【００７０】
動的スロットル設定値の判断は、コンピュータシステムの主プロセッサ又は動的熱スロットル調整タスクに専用のマイクロコントローラを含むコンピュータシステム内の様々なコンポーネントにおいて実施することができる。
【００７１】
主プロセッサに対してアルゴリズムを実行する利点が存在し、これらの利点は、経費削減、及び主プロセッサとタスクを実行するために代わりに用いるいずれかの他のエージェントとの間のあらゆる通信の必要性の排除等である。しかし、全ての状況で動的熱スロットル調整を行うのは困難であり、これらの困難な状況は、主プロセッサに対するソフトウエアに障害が発生するか、又は熱管理の技術情報を持たないいずれかの他のソフトウエアで置換された場合を含む。更に、コンピュータシステムが別途アイドリング状態にある場合には、定期的な管理タスクは、システムが低電力状態に入るのを阻止することができ、又はシステムを低電力状態から定期的に呼び起こす。
【００７２】
スロットル設定値をロードする機能がコンピュータシステムの主プロセッサに予約されており、動的スロットルの判断が主プロセッサに対して実行されない場合には、計算したスロットル設定値を現在のスロットル設定値とする段階は複雑になる可能性がある。スロットル設定値は、主プロセッサに通信されねばならず、大部分の状況では、主プロセッサに対して作動するソフトウエアがスロットルをロードする指令を無視する場合（可能性は低い）に対処するために、障害時保護機構を実施することが必要である可能性が高い。障害時保護機構は、緊急状況に対してのみ介入すればよいので、ある程度大雑把なものとすることができる。例えば、マイクロコントローラが、制御対象の温度が限界を超えると判断した場合には、マイクロコントローラは、スロットル設定値が正しく課されていないと仮定し、自動的に終了処理を開始することができる。
【００７３】
本発明の一実施形態は、薄型軽量の携帯式コンピュータ、大型携帯式、及び／又は小さい消費者向けデスクトップのような熱制約条件を有する可能性が高いデータ処理システムのコンポーネントに対する電力使用を動的に配分する。例えば、コンパクトなハウジングのコンピュータシステムに対する熱放散の制約条件は、電力使用を制限することができる。一実施形態では、電力消費を動的に配分し、過度の電力消費による過熱を阻止するために実時間熱放散条件を用いる。
【００７４】
図１は、本発明の一実施形態に従ってコンピュータシステムに対する温度を制御する方法を示している。
【００７５】
図１では、現在の実温度（例えば、時刻ｔに対して測定した温度）を用いて期間Δ後の温度を予測する（例えば、時刻ｔ＋Δに対する予測温度）。
【００７６】
一実施形態では、コンピュータシステムは、いくつかの異なる設定値を有する。例えば、コンピュータシステムのＣＰＵプロセッサは、異なるコア電圧及び／又は異なるコア周波数の下で作動するように設定することができる。ＣＰＵプロセッサの異なる設定値は、異なる最悪電力使用に対応する。更に、例えば、冷却ファンは、異なる速度で作動するように設定することができる。
【００７７】
一般的に、異なる設定値は、熱発生／放散に対して異なる影響を与える異なる性能レベルに対応する。従って、コンピュータシステムの設定値を調節することによって、コンピュータ速度、静粛性、バッテリ寿命、その他のようなシステム性能と熱制約条件とにおける妥協点を調節することができる。
【００７８】
各設定値に対する電力要件は、対応する設定値に対する最大可能電力使用に対応する。実行されているタスクに依存して、実電力消費は、ある一定の範囲内で変化させることができ、実電力消費は、典型的にかつ頻繁に最大可能電力使用よりも少ない。
【００７９】
コンピュータに最悪作業負荷が与えられると、一般的にコンピュータの部品の温度は、異なる設定値に対して異なって変化する（例えば、上昇又は降下）。
【００８０】
例えば、コンピュータの部品の温度は、時間ｔに対してＴ0（１０５）である。コンピュータに最悪作業負荷が与えられると、温度は、時間ｔの後の期間Δの間に曲線（１２１、１２３、１２５、．．．、１２９）に従って温度Ｔ1（１１１）、Ｔ2（１１３）、Ｔ3（１１５）、．．．、ＴX（１１９）へとそれぞれ変化する可能性がある。
【００８１】
本発明の一実施形態では、長い期間にわたって連続する最高性能のために最悪作業負荷に耐えるようにシステムを設計する代わりに、システムは、短い期間Δの後に温度が限界（１０３）内に収まるようにこの期間の間の性能を自動選択するように設計される。現在の温度（Ｔ0）が低い場合には、システムは、システムを最高性能設定値に設定することを許すことができ、現在の温度（Ｔ0）が高い場合には、システムは、低い性能設定値を選択することになる。
【００８２】
図１の例では、コンピュータが曲線（１２１）に対応する性能設定値に設定され、期間Δの間に最悪作業負荷を与えられた場合には、コンピュータの部品の温度はＴ1（１１１）に到達し、限界ＴL（１０３）を超えるので、この性能設定値は許容可能ではない。曲線（１２３、１２５、１２９、．．．）に対応する性能設定値は、温度限界ＴL（１０３）に従って許容可能である。
【００８３】
本発明の一実施形態では、時間ｔとｔ＋Δの間の期間にわたるコンピュータに対する許容可能設定値を選択するために、時間ｔ＋Δに対する温度Ｔ1（１１１）、Ｔ2（１１３）、Ｔ3（１１５）、．．．ＴX（１１９）を現在の温度Ｔ0及び冷却などのための周囲温度のような他のパラメータを用いて予測する。
【００８４】
最悪作業負荷を期間Δにわたって仮定するので、期間Δの後の実温度は、対応する設定値に対する対応する温度Ｔ1、Ｔ2、Ｔ3、．．．、ＴXを超えないことになる。
【００８５】
コンピュータシステム（例えば、携帯式コンピュータ又はデスクトップコンピュータ）の一般的な使用は、長い期間にわたって連続最悪電力負荷を要求しない可能性がある。一般的に、コンピュータタスクの集中は、これらのタスクが完了する前の短い期間の間のみ続く瞬間的な最悪電力負荷を要求する可能性がある。タスクの集中の前後では、一般的にコンピュータシステムは、最悪電力負荷よりも大幅に低い電力負荷しか消費せず、コンピュータシステムは低温にある。従って、電力消費の集中は、温度限界を上回って温度を上昇させるのに十分である場合も又はそうでない場合もある。一般的に、コンピュータの部品は、短い期間の間に暖まり、その後温度が限界を超える前に冷める。従って、一般的な使用に対して高いコンピュータ性能の集中を許すことは許容範囲とすることができる。それによって一般的な使用に対して厳しい熱制約条件下で高性能を発生させるコンピュータシステムの設計が可能になる。
【００８６】
本発明の一実施形態では、システムは、これらのスロットルに対する最悪電力負荷が発生したとしても、コンピュータの部品の温度が限界を超える程には上昇しないように電力使用を動的に調節する。最悪電力負荷は希であるから、スロットル制御は、通常は非常に高い値に設定し、システムの要求は、動的に判断される配分よりも低いので、システムは、限界が存在しないかのように振る舞う。
【００８７】
一実施形態では、スロットル設定値を判断するための期間は一定でなくてもよい。例えば、著しい電力使用イベントが発生すると（例えば、温度が限界に接近している時）、システムは、スロットル設定値の新しい計算を開始するための期間を自動変更することができる。例えば、システムは、ファン速度が変化する時に期間を調節することができる。
【００８８】
一般的に、スロットルの調節を受けるコンポーネント（サブシステム）は、スロットル設定値に対する最大電力負荷で作動する程にはビジーではない可能性があるから、配分する電力の全量を実際に消費しない可能性がある。スロットルの調節は、電力制約条件に反することなく対応するスロットル設定値に対する最悪電力負荷に至るまでの電力負荷を消費する自由度をサブシステムに許す。
【００８９】
一般的に、コンピュータシステムの冷却は、現在の周囲温度の関数である。本発明の一実施形態では、異なる設定値に対する最悪温度の予測のために及び温度限界に反することにならない設定値の選択のために、コンピュータの電力消費から発生する熱を放散する環境の周囲温度が測定される。
【００９０】
代替的に、温度限界に予測温度をターゲット化することによって（例えば、曲線１０３に従って）許容可能電力消費量を判断することができる。許容可能電力消費量は、この後スロットル設定値を選択するために用いることができる。
【００９１】
図２は、本発明の一実施形態に従って温度制御のための周囲温度を測定する位置の例を示している。
【００９２】
本発明の一実施形態では、１つ又はそれよりも多くの温度センサを用いてコンピュータの作動環境の周囲温度を測定する。温度予測の正確な結果を得るために、周囲温度センサは、熱源及び熱放散経路から離して位置決めされる。熱絶縁体を周囲温度センサとコンピュータの外部ハウジングの間に配置することができる。
【００９３】
例えば、温度センサ（２０１）は、携帯式コンピュータのディスプレイパネルの中央部分に位置決めすることができる。
【００９４】
例えば、温度センサ（２０３）は、タワーの側部の近くに位置決めすることができる。
【００９５】
一実施形態では、周囲温度センサは、コンピュータのハウジング内の開口部の近くに位置決めされる。一実施形態では、周囲温度センサは、周囲温度を有する吸気冷却空気の経路上に位置決めされる。
【００９６】
図３〜４は、本発明の一実施形態による動的温度制御を有するデータ処理システムに対する例示的シナリオを示している。
【００９７】
図３のシナリオでは、コンピュータシステムは、時刻（３０３）の前に低度要求タスクを処理し（３１１）、システムが消費する実電力は低く、実温度（３２１）は、低くて温度限界を大幅に下回る（３１１）。システムの実温度は低いので、システムは、最高性能設定値（３０１）にすることができる。
【００９８】
時刻（３０３）の後に、高度要求タスクが受け取られる。システムは、高度要求タスクを処理する（３１３）ことでビジーになる。システムは、高度要求タスクの受け取りの前に低い温度を有していたので、システムが最高性能設定値に留まるとしても、予測温度（例えば、３３２、３３３、３３４、３３５）は、温度限界（１０３）よりも低い。システムは、ほぼ最悪負荷で実行しているので、一般的に、実温度（例えば、３２２、３２３、３２４）は、予測温度（例えば、３３２、３３３、３３４）よりも低いか又はそれに近い。
【００９９】
各期間の後に、実温度は、次の予測のための開始点として用いられる。従って、予測誤差は蓄積されない。
【０１００】
高度要求タスクが時刻（３０５）で終了した後、実電力使用は下がり、実温度（例えば、３２５、３２６、３２７）は、温度限界（１０３）よりも遥かに下に降下する。予測温度（３３６、３３７、３３８）は、温度限界（１０３）よりも低いので、システムは、低度要求タスクを処理する（３１５）のに最高性能設定値に留まることができる（３０１）。
【０１０１】
図３に例示している使用パターンは、ある一定の使用に対して典型的なものとすることができる。従って、システムは、連続最悪負荷に従って設計した場合に大幅に高い冷却容量を要することになる最高性能設定値で作動させながら、厳しい熱制約条件で設計することができる。
【０１０２】
しかし、高度要求タスクは、タスクを終了するのに長い期間を要する場合があるようなものとすることができる。長い期間にわたって最高性能設定値にあることがシステムに許された場合には、温度限界（１０３）は最終的に破られることになる。
【０１０３】
例えば、図４では、高度要求タスクを受け取る時刻（４２１）の前に、システムは、低い実温度（４３１）で示すように低度要求タスクを処理する（４１１）。システムは、最高設定値で作動している（４０１）。
【０１０４】
時刻（４２１）の後に、システムは、ある一定の期間にわたって高度要求タスクを処理する（４１３）。
【０１０５】
最初に、システムは最高設定値に留まり、（４０１）、それによってコンピュータの部品の温度は上昇する（例えば、４３２、４３３、４３４、４３５）。予測温度（４４２、４４３、４４４、４４５）は、温度限界（１０３）よりも小さいので、システムは、最高設定値で作動し続ける。
【０１０６】
時刻（４２３）に対して、熱マネージャは、システムが最高設定値に留まる場合、予測温度（４５６）が限界（１０３）を超えることになること、及びシステムが低い設定値（４０３）に変化する場合、予測温度（４４６）が限界（１０３）よりも小さいことになることを認識する。従って、時刻（４２３と４２５）の間では、システムは低い設定値で作動する。
【０１０７】
時刻（４２５）では、実温度（４３６）は低い。熱マネージャは、システムが最高設定値（４０５）に変化すると、予測温度（４４７）が限界（１０３）よりも小さいことになることを認識する。従って、時刻（４２５と２４７）の間では、システムは最高設定値で作動する。
【０１０８】
時刻（４２７）では、実温度（４３７）は、再度限界（１０３）に接近している。熱マネージャは、システムが最高設定値に留まる場合、予測温度（４５８）が限界（１０３）を超えることになり、システムが低い設定値（４０７）に変化する場合、予測温度（４３８）が限界（１０３）よりも小さいことになることを認識する。従って、時刻（４２７）の後の短い期間では、システムは、低い設定値（例えば、温度４３８に到達する）で作動する。
【０１０９】
従って、高度要求タスクが長い期間にわたって続く時には、システムは、自動的にその設定値を調節し、温度を限界（１０３）に接近させるが、この限界を超えさせない。
【０１１０】
本発明の一実施形態では、予測は、温度の上限を定め、実温度は、この限界を超えない。
【０１１１】
一実施形態では、予測は、小さいマージンだけ温度の上限よりも低くすることができ、実温度は、この小さいマージンだけこの限界を超えることができる。一実施形態では、性能設定値を調節するための時間幅及び誤差マージンが小さく、温度限界（１０３）を超える量は、実際には無視することができる。従って、事実上限界（１０３）を超えないと考えることができる。
【０１１２】
従って、動的スロットル調整システムの制御下では、システムは、熱制約条件の制限内でできる限り高速に高度要求タスクを処理するために、最高設定値と低い設定値との間で切り換わる。
【０１１３】
図５は、本発明の一実施形態に従って温度を制御するためにデータ処理システムの中央演算処理装置（ＣＰＵ）のスロットル設定値を用いる例を示している。
【０１１４】
図５では、表５０１に例示するように、スロットル設定値が性能レベルと共に増加するようにＣＰＵコア電圧及びコア周波数のいくつかの異なる組合せを分類している。一実施形態では、システムは、予測温度が温度限界よりも小さい関係を満たす最初のスロットル設定値を判断するためにスロットル設定値の降順で検索を行う。
【０１１５】
すなわち、スロットル設定値が判断される時には、ＣＰＵのコア電圧及びコア周波数の両方が判断される。
【０１１６】
代替的に、スロットルは、他の目標（例えば、高いコンピュータ力及び低いエネルギ消費などを組み合わせた目標）に従って仕分けすることができ、同様の手法で「最良の」スロットル設定値を検索することができる。
【０１１７】
複数の独立したスロットルが存在する場合には、許容可能スロットル設定値を判断するためにスロットルの異なる組合せのリストを吟味することができることに注意されたい。スロットルの最良の設定値は、目標としての「最良」を定めるある一定の規則に従って選択することができる。この目標を定めるための規則は、無制限に複雑になる可能性があることは理解されるものとする。
【０１１８】
図６は、本発明の一実施形態に従って温度を制御するためにデータ処理システムの複数のコンポーネントのスロットル設定値を用いる例を示している。
【０１１９】
図６では、表６０１に例示しているように複数のコンポーネントは、独立したスロットル設定値を有する。動的に判断される配分を複数のコンポーネントに割り当てるために、複数のコンポーネントに対するスロットル設定値の異なる組合せを異なるグローバルスロットル設定値として捉えることができる。グローバルスロットル設定値は、達成目標レベルに従って仕分けすることができる。
【０１２０】
グローバル設定値の仕分けは、コンピュータの設計段階で静的な固定ターゲット目標機能に従って実行することができ、又はシステム設計者が手動で編成することができる。
【０１２１】
代替的に、グローバル設定値は、コンピュータシステムの現在の状態の関数とすることができるターゲット目標機能に従って実時間で実行することができる。例えば、コンポーネントの一部は、ビジー状態にあり、高い優先度を要求する可能性があり、その一方で、他のものはアイドル状態にあり、低い優先度しか要求しない可能性がある。従って、ターゲット目標機能は、これらのコンポーネントの現在の作業負荷の考慮を含むように構築することができる。作業負荷は、実電力消費の履歴から見積ることができる。例えば、コンポーネントの動的電力範囲に関する高い電力消費は、コンポーネントに対する高い作業負荷を示している。
【０１２２】
グローバル設定値がターゲット目標レベルに従って仕分けされた状態で、電力制約条件を満たす最も高いグローバル設定値が選択される。
【０１２３】
図７〜９は、本発明の実施形態による熱管理の方法を示している。
【０１２４】
図７では、オペレーション７０１は、データ処理システムが作動している環境の周囲温度を判断する。周囲温度は、図２に例示しているように、コンピュータシステム内で発生する熱によって温度測定が影響を受けない様々な位置で測定することができる。しかし、コンピュータシステム内で発生する熱の影響は、一般的に従来の種類で温度予測に影響することは理解されるものとする（例えば、より高い温度を予測する）。オペレーション７０３は、周囲温度に従ってデータ処理システムの性能レベル設定値（又は作動設定値）を判断する。例えば、コンピュータシステムは、周囲温度に基づいてＣＰＵコア電圧及び周波数のような性能レベル設定値（又は作動設定値）を自動選択することができる。より良好な性能を得るために、この選択は、コンピュータの現在の温度、次の更新の前にこの性能レベル設定値（又は作動設定値）が用いられる期間の長さのような他のパラメータに更に基づくものとすることができる。
【０１２５】
例えば、図８では、オペレーション８０１は、データ処理システム内の熱を放散するデータ処理システム内の第１の位置での実温度を測定する。オペレーション８０３は、データ処理システム内の電力消費が熱を発生させるデータ処理システム内の第２の位置での実温度を測定する。オペレーション８０５は、第１及び第２の位置での実温度に従って予測される温度を限界値よりも下に保つように、データ処理システムの作動設定値を調節する。一実施形態では、この予測は、作動設定値が用いられることになる限られた期間（例えば、データ処理システムの熱時定数よりも小さいか又は同じ程度）内でデータ処理システムが最悪作業負荷を有するという仮定に基づいている。一実施形態では、異なる作動設定値は、システムの性能を除いてはシステムの機能に影響を及ぼさない。
【０１２６】
図９では、オペレーション９０１は、１組のスロットルコンポーネントを有するデータ処理システムの作動中に時刻ｔにおける実温度を取得する。オペレーション９０３は、処理に向けた望ましい優先度に従ってスロットル設定値の異なる組合せを優先度の降順に仕分けする。オペレーション９０５は、スロットル設定値の１つの組合せを処理する。オペレーション９０７は、このスロットル設定値の組合せに対して可能な電力消費から発生することができる１つ又はそれよりも多くの最大熱源を判断する。オペレーション９０９は、１つ又はそれよりも多くの最大熱源、時刻ｔにおける実温度、及びデータ処理システムの熱の動的性質に基づいて、時刻ｔ＋Δでのデータ処理システム内の位置における温度を予測する。
【０１２７】
オペレーション９１１が、予測温度が許容可能ではないと判断した場合には、オペレーション９１３は、次の組合せを処理し、予測温度が許容可能になるまでオペレーション９０９を繰り返す。
【０１２８】
オペレーション９１１が、予測温度が許容可能であると判断した場合には、オペレーション９１５は、期間Δにおける使用に対してこの組合せを選択する。オペレーション９１７は、選択されたスロットル設定値の組合せに従ってｔとｔ＋Δの間の期間にわたってスロットル付きコンポーネントをスロットル調整する。一実施形態では、常に許可設定値が存在することになる。
【０１２９】
本発明の方法の多くは、従来の汎用コンピュータシステムのようなデータ処理システムに対して実施することができる。１つの機能のみを実行するように設計又はプログラムされた専用コンピュータを用いることもできる。
【０１３０】
図１０は、本発明と共に用いることができる典型的なコンピュータシステムの一例を示している。図１０は、コンピュータシステムの様々なコンポーネントを示しているが、コンポーネントを相互接続するいずれか特定のアーキテクチャ又は手法の詳細は本発明に直接の関係がないので、そのようなアーキテクチャ又は手法を表すように想定されているものではないことに注意されたい。また、これよりも少ないコンポーネント又は場合によっては多いコンポーネントを有するネットワークコンピュータ及び他のデータ処理システムを本発明と共に同様に用いることができることも認められるであろう。図１０のコンピュータシステムは、例えば、「アップルマッキントッシュ」コンピュータとすることができる。
【０１３１】
図１０に示しているように、データ処理システムの形態のコンピュータシステム１００１は、マイクロプロセッサ１００３、ＲＯＭ１００７、揮発性ＲＡＭ１００５、及び不揮発性メモリ１００６に結合されたバス１００２を含む。例えば、「Ｍｏｔｏｒｏｌａ、Ｉｎｃ．」又はＩＢＭからのＧ３、Ｇ４、又はＧ５マイクロプロセッサとすることができるマイクロプロセッサ１００３は、図１０の例に示しているようにキャッシュメモリ１００４に結合される。バス１００２は、これらの様々なコンポーネントをまとめて相互接続し、更に、これらのコンポーネント１００３、１００７、１００５、１００６をディスプレイコントローラ及びディスプレイデバイス１００８、並びにマウス、キーボード、モデム、ネットワークインタフェース、プリンタ、スキャナ、ビデオカメラ、及び当業技術で公知の他のデバイスとすることができる入出力（Ｉ／Ｏ）デバイスのような周辺機器に相互接続する。一般的に、入出力デバイス１０１０は、入出力コントローラ１００９を通じてシステムに結合される。一般的に、揮発性ＲＡＭ１００５は、メモリ内のデータをリフレッシュ又は維持するために継続的に電力を要するダイナミックＲＡＭ（ＤＲＡＭ）として実施される。一般的に、不揮発性メモリ１００６は、システムから電力が取り除かれた後でもデータを維持する磁気ハードドライブ、磁気光ドライブ、光ドライブ、「ＤＶＤ  ＲＡＭ」、又は他種のメモリシステムである。一般的に、不揮発性メモリはまた、必ずしも要件ではないがランダムアクセスメモリであることになる。図１０は、不揮発性メモリがデータ処理システムのコンポーネントの残りと直接結合されたローカルデバイスであることを示しているが、本発明が、モデム又は「イーサネット（登録商標）」インタフェースのようなネットワークインタフェースを通じてデータ処理システムに結合されたネットワークストレージデバイスのようなシステムから遠隔地にある不揮発性メモリを利用することができることは認められるであろう。バス１００２は、当業技術で公知の様々なブリッジ、コントローラ、及び／又はアダプタを通じて互いに接続した１つ又はそれよりも多くのバスを含むことができる。一実施形態では、Ｉ／Ｏコントローラ１００９は、ＵＳＢ（ユニバーサルシリアルバス）周辺機器を制御するためのＵＳＢアダプタ、及び／又は「ＩＥＥＥ−１３９４」周辺機器を制御するための「ＩＥＥＥ−１３９４」バスアダプタを含む。
【０１３２】
本発明の一実施形態では、コンポーネントの少なくとも一部は、性能を電力使用に対して譲歩するために能動的にスロットル調整することができる（例えば、機能を変更することなく）。例えば、マイクロプロセッサ１００３は、異なるコア電圧及び周波数設定値を有する。
【０１３３】
本発明の一実施形態では、システム１００１は、Ｉ／Ｏコントローラ１００９に結合された温度センサ１０１１を含む。温度センサ１０１１は、実周囲温度を測定する１つ又はそれよりも多くのセンサ、並びにシステムの部品の実温度を測定する１つ又はそれよりも多くのセンサを含むことができる。
【０１３４】
本発明の一実施形態では、システム１００１は、温度予測に基づいて設定値を選択するマイクロコントローラ（図１０には示していない）を更に含む。代替的に、マイクロプロセッサ１００３は、定期的に設定値を選択するためにセンサ測定値を用いることができる。
【０１３５】
本発明の一実施形態では、システム１００１は、センサ測定値に基づく実時間温度予測に従って調節することができるファン速度が調節可能な１つ又はそれよりも多くのファンを更に含む。
【０１３６】
本説明から、本発明の態様は、少なくとも部分的にソフトウエアに具現化することができることは明らかであろう。すなわち、これらの技術は、ＲＯＭ１００７、揮発性ＲＡＭ１００５、不揮発性メモリ１００６、キャッシュ１００４、又は他のストレージデバイス、又は遠隔ストレージデバイスのようなメモリ内に含まれる命令シーケンスを実行するマイクロプロセッサ又はマイクロコントローラのようなプロセッサに応じてコンピュータシステム又は他のデータ処理システム内で実施することができる。様々な実施形態では、本発明を実施するために有線回路をソフトウエア命令との組合せで用いることができる。従って、これらの技術は、ハードウエア回路とソフトウエアとのいかなる特定の組合せにも限定されず、又はデータ処理システムによって実行される命令のいかなる特定のソースにも限定されない。更に、説明を簡略化するために、本説明を通じて様々な関数及びオペレーションは、ソフトウエアコードによって実行されるか又は引き起こされるように説明している。しかし、そのような表現によって意味するものは、これらの関数が、マイクロプロセッサ１００３又はマイクロコントローラのようなプロセッサによるコードの実行から生じることであることは当業者には認識されるであろう。
【０１３７】
データ処理システムによって実行されると、システムに本発明の様々な方法を実施させるソフトウエア及びデータを格納するために、機械可読媒体を用いることができる。実行可能ソフトウエア及びデータは、例えば、図１０に示しているＲＯＭ１００７、揮発性ＲＡＭ１００５、不揮発性メモリ１００６、及び／又はキャッシュ１００４を含む様々な箇所に格納することができる。このソフトウエア及び／又はデータの一部分は、これらのストレージデバイスのいかなるものにも格納することができる。
【０１３８】
従って、機械可読媒体は、マシン（例えば、コンピュータ、ネットワークデバイス、携帯情報端末、製造ツール、１組の１つ又はそれよりも多くのプロセッサを有するいずれかのデバイス等）がアクセス可能な形式で情報を提供する（すなわち、格納及び／又は送信する）あらゆる機構を含む。例えば、機械可読媒体は、記録可能／記録不能媒体（例えば、読取専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス等）、並びに電気、光、音響、又は伝播信号の他の形態（例えば、搬送波、赤外線信号、デジタル信号等）などを含む。
【０１３９】
本発明の方法は、専用ハードウエア（例えば、「フィールドプログラマブルゲートアレイ」又は「特定用途向け集積回路」）又は共有回路（例えば、機械可読媒体内に格納されたプログラム命令の制御下にあるマイクロプロセッサ又はマイクロコントローラ）を用いて実施することができる。本発明の方法はまた、図１０のシステム１００１のようなデータ処理システム上での実行に向けたコンピュータ命令として実施することができる。
【０１４０】
以上の明細書では、本発明をその特定の例示的実施形態を参照して説明した。特許請求の範囲に示す本発明の広範囲な精神及び範囲から逸脱することなく、これらの例示的実施形態に様々な修正を加えることができることは明らかであろう。従って、本明細書及び図面は、制限的意味ではなく例示的意味で捉えられるべきである。
【図面の簡単な説明】
【０１４１】
【図１】本発明の一実施形態に従ってコンピュータシステム内の温度を制御する方法を示す図である。
【図２】本発明の一実施形態による温度制御のために周囲温度を測定する位置の例を示す図である。
【図３】本発明の一実施形態による動的温度制御を有するデータ処理システムにおける例示的シナリオを示す図である。
【図４】本発明の一実施形態による動的温度制御を有するデータ処理システムに対する例示的シナリオを示す図である。
【図５】本発明の一実施形態に従って温度を制御するためにデータ処理システムの中央演算処理装置（ＣＰＵ）のスロットル設定値を用いる例を示す図である。
【図６】本発明の一実施形態に従って温度を制御するためにデータ処理システムの複数のコンポーネントのスロットル設定値を用いる例を示す図である。
【図７】本発明の実施形態による熱管理の方法を示す図である。
【図８】本発明の実施形態による熱管理の方法を示す図である。
【図９】本発明の実施形態による熱管理の方法を示す図である。
【図１０】本発明と共に用いることができるデータ処理システムのブロック図例を示す図である。
【符号の説明】
【０１４２】
１０３、ＴL  温度限界
Ｔ0  現在の温度
Δ  期間
【図１】
2009506424.tif 000003
【図２】
2009506424.tif 000004
【図３】
2009506424.tif 000005
【図４】
2009506424.tif 000006
【図５】
2009506424.tif 000007
【図６】
2009506424.tif 000008
【図７】
2009506424.tif 000009
【図８】
2009506424.tif 000010
【図９】
2009506424.tif 000011
【図１０】
2009506424.tif 000012
【国際調査報告】
2009506424.tif 000013
2009506424.tif 000014
2009506424.tif 000015
2009506424.tif 000016
2009506424.tif 000017