(57)【要約】【課題】ユーザが意図していないときに突然放熱ファンの回転速度が上昇して騒音を発生することを防ぐ。【解決手段】情報処理装置に搭載する温度管理システム５０は、プロセッサ１１とスケジュール・タスク１０３、１０５を含むシステム１００、プロセッサ１１の処理能力を制御するパフォーマンス制御系２００および放熱ファン７３を含み放熱量を制御する温度制御系３００で構成される。プロセッサはアイドル状態のような使用率が低い状態が継続したときにスケジュール・タスク１０３、１０５を実行する。温度制御系３００はプロセッサを含む電子デバイスの温度に応じて放熱ファンの回転速度を制御する。パフォーマンス制御系２００は、スケジュール・タスクを実行するプロセッサの温度で放熱ファンの回転速度が上昇する前にプロセッサの処理能力を低下させる。【選択図】図２
2019016252.tif 000002
【特許請求の範囲】
【請求項１】
アイドル状態が発生したときにスケジュール・タスクを実行するプロセッサを含む情報処理装置が前記プロセッサの発熱量を制御する方法であって、
前記情報処理装置がアイドル状態に遷移したことを検出するステップと、
前記アイドル状態への遷移に応答して前記プロセッサの処理能力を低下させるステップと
を有する方法。
【請求項２】
前記検出するステップが、前記アイドル状態への遷移に応じてオペレーティング・システムが生成するアイドル・プロセスを検出する請求項１に記載の方法。
【請求項３】
前記検出するステップが、最後にユーザ・アクティビティを検出してからの所定の経過時間における前記プロセッサの使用率を検出する請求項１に記載の方法
【請求項４】
前記アイドル状態からの復帰を検出するステップと、
前記アイドル状態からの復帰に応答して前記プロセッサの処理能力を復帰させるステップと
をさらに有する請求項１に記載の方法。
【請求項５】
前記アイドル状態からの復帰を検出するステップが、前記情報処理装置に対するユーザ・アクティビティを検出する請求項４に記載の方法。
【請求項６】
前記アイドル状態からの復帰を検出するステップが、前記スケジュール・タスク以外の一般タスクが実行されたことを検出する請求項４に記載の方法。
【請求項７】
プロセッサを含む電子デバイスの温度で回転速度が制御される放熱ファンを搭載し、前記プロセッサの使用率が低い状態が継続したときにスケジュール・タスクを実行する情報処理装置が前記プロセッサの発熱量を制御する方法であって、
前記使用率が所定値以下の状態に続いて前記情報処理装置が前記スケジュール・タスクを実行したタスク開始状態を検出するステップと、
前記検出に応答して前記プロセッサの処理能力を低下させるステップと
を有する方法。
【請求項８】
前記検出するステップが、前記プロセッサの使用率と所定期間の前記使用率の変動幅に基づいて検出する請求項７に記載の方法。
【請求項９】
前記検出するステップが、前記プロセッサの温度と所定期間の前記温度の変動幅に基づいて検出する請求項７に記載の方法。
【請求項１０】
前記検出するステップが、前記プロセッサの消費電力と所定期間の前記消費電力の変動幅に基づいて検出する請求項７に記載の方法。
【請求項１１】
前記検出するステップが、前記スケジュール・タスクのプロセスの識別子に基づいて検出する請求項７に記載の方法。
【請求項１２】
前記スケジュール・タスクの実行が終了したことを検出するステップと、
前記終了の検出に応答して前記プロセッサの処理能力を復帰させるステップと
をさらに有する請求項７に記載の方法。
【請求項１３】
前記スケジュール・タスクが、前記情報処理装置が起動完了した直後に実行される請求項７に記載の方法。
【請求項１４】
プロセッサの使用率が低い状態が継続したときにスケジュール・タスクを実行する情報処理装置に搭載する温度管理システムであって、
プロセッサと、
前記プロセッサを含む電子デバイスの温度に応じて回転速度が制御される放熱ファンと、
前記スケジュール・タスクを実行する前記プロセッサの温度で前記放熱ファンの回転速度が上昇する前に前記プロセッサの処理能力を低下させる動作モード制御部と
を有する温度管理システム。
【請求項１５】
前記動作モード制御部は、前記情報処理装置がアイドル状態に遷移したときに前記処理能力を低下させる請求項１４に記載の温度管理システム。
【請求項１６】
前記動作モード制御部は、前記プロセッサの使用率の変化を検出したときに前記処理能力を低下させる請求項１４に記載の温度管理システム。
【請求項１７】
前記動作モード制御部は、前記プロセッサの温度の変化を検出したときに前記処理能力を低下させる請求項１４に記載の温度管理システム。
【請求項１８】
前記動作モード制御部は、前記スケジュール・タスクの実行を検出したときに前記処理能力を低下させる請求項１４に記載の温度管理システム。
【請求項１９】
アイドル状態が継続したときにスケジュール・タスクを実行する情報処理装置であって、
プロセッサと、
前記プロセッサを含む電子デバイスの温度に応じて回転速度が制御される放熱ファンと、
前記プロセッサの使用率が低い状態が継続したときに前記プロセッサの処理能力を低下させる動作モード制御部と
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置の筐体温度の上昇を抑制する技術に関し、さらには放熱ファンの回転による騒音を抑制する技術に関する。
【背景技術】
【０００２】
デスクトップ、ラップトップ、およびタブレット端末のようなパーソナル・コンピュータ（ＰＣ）は、筐体の内部にＣＰＵ、ＧＰＵ、チップセット、および入出力デバイスなどの多くの電子デバイスを高密度に実装している。それらの電子デバイスはＰＣの動作に応じて発熱し、電子デバイス自体および筐体の温度を上昇させる。比較的高い処理能力が要求されるＰＣはそれらの温度を管理するために、主要な電子デバイスのチップ内部または筐体表面に設けた温度センサで制御する放熱ファンを設けている。
【０００３】
温度センサの測定温度が上昇したときに放熱ファンは筐体の内部と外部の空気を置換する。温度は、電子デバイスの発熱量と放熱ファンの放熱量できまる。放熱ファンは、回転速度を複数の段階に制御することで放熱量を調整できる。放熱ファンの回転速度は、温度センサの測定温度が閾値を超えると増加し、閾値より下がると低下するように制御される。ＣＰＵはＰＣに搭載されている電子デバイスのなかで最も発熱量が大きい。
【０００４】
ＣＰＵの発熱量は消費電力できまる。ＣＰＵのクロック速度および動作電圧を下げることにより、消費電力を低下させるスピード・ステップ（登録商標）という技術が知られている。さらに、消費電力を低下させるためにＣＰＵを間欠動作させるスロットリング（Throttling）という技術も知られている。いずれの技術でも、ＣＰＵの処理能力を低下させて発熱量を低下させることができる。
【０００５】
また、ＡＣＰＩ（Advanced Configuration and Power Interface）の仕様では、コンピュータ・システムの放熱に関してアクティブ・クーリング方式とパッシブ・クーリング方式の２つの方式を定義している。アクティブ・クーリング方式では、コンピュータの温度が上昇し始めると最初に放熱ファンを動作させ、放熱ファンが最大の回転速度に到達しても温度上昇が続く場合にＣＰＵの処理能力を低下させる。
【０００６】
パッシブ・クーリング方式では、コンピュータの温度が上昇し始めると最初にＣＰＵの処理能力を低下させ、ＣＰＵの処理能力が最低レベルまで低下しても温度上昇が続く場合に放熱ファンを動作させる。アクティブ・クーリング方式は処理能力優先の考え方であり、パッシブ・クーリング方式は消費電力の増大および放熱ファンの騒音の抑制を優先する考え方である。
【０００７】
特許文献１は、プロセッサの処理能力と放熱ファンの回転による騒音を調和してユーザに最大の快適度を与える放熱システムを開示する。同文献には、温度センサが検出した温度が所定時間以内に放熱ファンの回転速度を１段上昇させる閾値を超えると予想したときにプロセッサの処理能力を一時的に低減させ、実行されなかった作業を負荷の軽い時間帯にシフトさせることで、放熱ファンの回転速度を上昇させないようにすることを記載する。
【０００８】
特許文献２は、パーソナル・コンピュータの温度が上昇したときに、ＣＰＵの処理能力を維持することを優先して先に冷却ファンを回転させるアクティブ・クーリング方式と冷却ファンの回転速度の抑制を優先してＣＰＵの処理能力を下げるパッシブ・クーリング方式をダイナミックに切り換える発明を開示する。同文献は、電源の種類、表示パネルの開閉状態などをトリガにしてクーリング方式を切り換えることを記載する。
【０００９】
特許文献３は、ノートＰＣが搭載する冷却ファンの回転数の上昇による不必要な騒音の発生を防ぐ発明を開示する。同文献には、ＣＰＵやビデオ・チップなどの電子デバイスがアイドル状態のときには、他の電子デバイスからの放射熱に基づいて当該電子デバイスを監視する温度センサによる冷却ファンの回転速度の上昇を抑制することを記載する。
【００１０】
特許文献４は、ＣＰＵの動作速度の低下と電動ファンの回転という２つの冷却機能が設けたポータブル・コンピュータを開示する。同文献には、ユーザがＱｕｉｅｔモードを選択した場合には、電動ファンは回転させないでＣＰＵの動作速度だけを低下させ、ユーザがＰｅｒｆｏｒｍａｎｃｅモードを選択した場合には性能優先モードとなり、ＣＰＵの動作速度は低下させないで電動ファンの回転だけで冷却を行うことを記載する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第５１８９９２１号明細書
【特許文献２】特開２００１−１１７６７５号公報
【特許文献３】特許第４４４８１０１号明細書
【特許文献４】特開平８−３２８６９８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ＣＰＵの処理能力の高さは、利用上の快適性とともには発熱量の増加をもたらし、結果として筐体表面の温度上昇および放熱ファンの回転速度の増加による騒音の発生をもたらす。ＣＰＵの処理能力と温度上昇および騒音の発生はトレードオフ要素となっているため、両者を調和させるためにはユーザのニーズを的確に把握する必要がある。ところで、ユーザがＰＣを使っていない状態がしばらく続くと突然保持している筐体の温度が上昇したり放熱ファンが回転したりするという現象が指摘されている。
【００１３】
調査の結果、アイドル状態をトリガにして実行されるスケジュール・タスクに原因があることがわかった。スケジュール・タスクが実行されると、一般的にＣＰＵの使用率が１００％に達して発熱量も最大になる。ＰＣを使用しているユーザは筐体の温度が上昇したり放熱ファンから騒音が発生したりしても正常な状態と受け止めて気にしないが、ＰＣを使用していないユーザは突然筐体の温度が上昇すると違和感を覚える。また、放熱ファンが突然高速で回転すると、気障りであるだけでなく異常の発生やウィルス感染を心配することがある。本発明の目的は、ユーザが意図していないときに突然筐体温度が上昇したり放熱ファンの回転速度が上昇して騒音を発生したりすることを防ぐことにある。
【課題を解決するための手段】
【００１４】
本発明の一の態様は、アイドル状態が発生したときにスケジュール・タスクを実行するプロセッサを含む情報処理装置がプロセッサの発熱量を制御する方法を提供する。この方法では、情報処理装置がアイドル状態に遷移したことを検出し、アイドル状態への遷移に応答してプロセッサの処理能力を低下させる。
【００１５】
アイドル状態への遷移は、アイドル状態への遷移に応じてオペレーティング・システムが生成するアイドル・プロセスや、ユーザ・アクティビティを検出してからの所定の経過時間におけるプロセッサの使用率の変動幅で検出することができる。また、アイドル状態からの復帰を検出したときは、プロセッサの処理能力を復帰させることができる。アイドル状態からの復帰の検出は、情報処理装置に対するユーザ・アクティビティやスケジュール・タスク以外の一般タスクが実行されたことの検出で行うことができる。
【００１６】
本発明の他の態様は、プロセッサを含む電子デバイスの温度で回転速度が制御される放熱ファンを搭載し、プロセッサの使用率が低い状態が継続したときにスケジュール・タスクを実行する情報処理装置がプロセッサの発熱量を制御する方法を提供する。この方法では、使用率が所定値以下の状態に続いて情報処理装置がスケジュール・タスクを実行したタスク開始状態を検出し、検出に応答してプロセッサの処理能力を低下させる。
【００１７】
スケジュール・タスクの実行は、プロセッサの使用率と所定期間の使用率の変動幅、プロセッサの温度と所定期間の温度の変動幅、またはスケジュール・タスクのプロセスの識別子などに基づいて検出することができる。スケジュール・タスクの実行の終了を検出し、終了の検出に応答してプロセッサの処理能力を復帰させることができる。スケジュール・タスクは、情報処理装置が起動完了した直後に実行されるものであってもよい。
【発明の効果】
【００１８】
本発明の上記態様により、ユーザが意図していないときに突然筐体温度が上昇することを防ぐことができた。さらに、ユーザが意図していないときに突然放熱ファンの回転速度が上昇して騒音が発生することを防ぐことができた。
【図面の簡単な説明】
【００１９】
【図１】ラップトップ１０の内部の模式的な平面図である。
【図２】温度管理システム５０の機能ブロック図である。
【図３】ＴＡＴ３０５のデータ構造の一例を説明するための図である。
【図４】パフォーマンス制御系２００の状態遷移図である。
【図５】温度管理システム５０が放熱ファン７３の回転速度を抑制する手順を示すフローチャートである。
【図６】温度管理システム５０が放熱ファン７３の回転速度を抑制する他の手順を示すフローチャートである。
【図７】図６のブロック６０１、６０３の手順を実行する方法を説明する図である。
【発明を実施するための形態】
【００２０】
［用  語］
本明細書で使用する用語を説明する。スケジュール・タスクは、一般に一連の条件（トリガ条件）が成立したときに実行されるプログラムをいう。トリガ条件を設定する主体をトリガ条件のオーナーという。トリガ条件は、ＯＳのスケジュール機能に登録される場合がある。このときＯＳがトリガ条件のオーナーとしてスケジュール機能に登録されているトリガ条件を監視してスケジュール・タスクを実行する。
【００２１】
ＯＳ以外のプログラムがトリガ条件のオーナーになる場合がある。当該プログラムは、独自に設定したトリガ条件を監視してスケジュール・タスクを実行する。トリガ条件には、イベント・ベースと時間ベースがある。本実施形態では、トリガ条件にＣＰＵの使用率が低い状態を条件に含むイベント・ベースのスケジュール・タスクを対象にする。このようなトリガ条件は、一般にアイドル状態と言われている。
【００２２】
ある種のシステムでは、時間ベースのトリガ条件が成立する時刻でコンピュータがスリープ状態または停止状態に遷移しているときには、次回の起動完了直後に当該スケジュール・タスクを実行する場合がある。本実施形態は起動完了直後にＣＰＵの使用率が低い状態を検出してから実行する時間ベースのスケジュール・タスクも対象にすることができる。一般タスクはスケジュール・タスク以外のプログラムをいう。アイドル状態とは、低いＣＰＵの使用率、観測時間、ディスクへのアクセスおよびユーザ入力の有無などで構成したパラメータの条件が成立したときのコンピュータの動作状態に相当する。
【００２３】
ここにＣＰＵの使用率Ｙは、アイドル・プロセスのユーザ・モード時間の割合をＵｉ、アイドル・プロセスのカーネル・モード時間の割合をＫｉ、経過時間をＥｔとしたときに次の式で計算することができる。
Ｙ＝（１−（Ｕｉ＋Ｋｉ）／Ｅｔ）×１００％
アイドル状態では、ＣＰＵの使用率が０％に近い状態になる。
【００２４】
タスク開始状態は、トリガ条件が成立してスケジュール・タスクの実行を開始した直後で、かつ、放熱ファンが回転速度を上昇させる前の状態をいう。ユーザ・アクティビティは、キーボード、ポインティング・デバイスおよびタッチスクリーンのような入力デバイス（ＨＩＤ）に対する入力、ユーザにより指示されたプログラムの実行、およびストリーミング・データの再生などをいう。ユーザ・アクティビティは、コンピュータを面前でユーザが使用していることを間接的に示す。
【００２５】
［情報処理装置］
図１は、情報処理装置の一例であるラップトップ１０の内部を模式的に示した平面図である。図２は、ラップトップ１０が搭載する温度管理システム５０の機能ブロック図である。本明細書では以下において、放熱ファン７３を搭載するラップトップ１０を例示して説明するが、本実施の形態は放熱ファン７３を搭載しない情報処理装置の筐体温度が突然上昇することを抑制する場合にも適用することができる。
【００２６】
図１で筐体の内部には放熱ユニット７０、プロセッサ１１、回路基板１５、ＯＤＤ１７、ＨＤＤ１９および電源ユニット２１を配置している。回路基板１５は、システム・メモリ１３、Ｉ／Ｏコントローラ２３、ファームウェアＲＯＭ２５、エンベデッド・コントローラ（ＥＣ）２７およびＤＣ／ＤＣコンバータ２９などを実装している。ファームウェアＲＯＭ２５は、Ｉ／Ｏモジュールや認証モジュールを含むシステム・ファームウェアを格納する。ＥＣ２７は、ＣＰＵ、ＲＯＭ、ＲＡＭなどで構成されたマイクロ・コンピュータである。
【００２７】
放熱ユニット７０は、薄型のファン・チャンバ７１に収納した遠心式の放熱ファン７３、ヒート・シンク７５および駆動回路７７を含んでいる。放熱ファン７３は回転軸に取り付けた複数のブレードとファン・モータで構成している。ヒート・シンク７５はファン・チャンバ７１の側面の開口と筐体の排気口８１に位置が整合している。放熱ファン７３が回転すると、外気が筐体の吸気口８３を通じてファン・チャンバ７１の上面と下面に形成した吸入口に入り込み、ヒート・シンク７５の複数のフィンの間を熱交換しながら通過して排出される。
【００２８】
ヒート・パイプ６１はヒート・シンク７５とプロセッサ１１の受熱板を熱的に結合する。筐体には、温度管理が必要な電子デバイスや筐体表面に複数の温度センサ５１ａ〜５１ｅを配置している。温度センサ５１ａはプロセッサ１１の温度を監視する。プロセッサ１１は、ＣＰＵおよびＧＰＵまたはいずれかであってもよい。プロセッサ１１はＣＰＵとＧＰＵを同一のコアに形成するタイプでもよい。さらにプロセッサ１１はＣＰＵとＧＰＵを別々のコアで形成し負荷を分担するタイプでもよい。プロセッサ１１は複数でもよい。
【００２９】
一例においてプロセッサ１１は、スピード・ステップという技術およびスロットリングという技術に対応している。スピード・ステップは米国インテル（登録商標）社が開発した、プロセッサの動作電圧および動作周波数の値を自由に設定できる技術である。スピード・ステップでは、システムが所定の状態のときに許可する最大の動作周波数をシステム・ファームウェアがプロセッサのレジスタに設定することにより、実際に当該プロセッサが動作する動作周波数を段階的に低下させることができる。
【００３０】
プロセッサ１１は動作周波数を低下させるときに同時に当該動作周波数でプロセッサ１１が動作するのに必要な値まで動作電圧を低下させる。プロセッサ１１は、スピード・ステップを実行するときに、ＥＣ２７に指示してＤＣ／ＤＣコンバータ２９に、プロセッサ１１の電圧を、設定した最大動作周波数に適合するよう変更させる。スピード・ステップによりプロセッサ１１の消費電力および発熱量が低下する。
【００３１】
スロットリングは、プロセッサ１１が一定間隔で動作および停止するように間欠動作をさせて平均的な処理速度を切り替える機能である。スロットリングを実行するには、システム・ファームウェアがプロセッサのレジスタにスロットリングの有効／無効の設定およびデューティ比（スロットリング率）を設定する。スピード・ステップもスロットリングも段階的にプロセッサの処理能力および発熱量を変化させることができる。
【００３２】
また、スピード・ステップとスロットリングとを併用し、スピード・ステップによる最低の動作周波数を維持したままでスロットリングに移行することもできる。本実施の形態においては、これらの技術を、プロセッサの処理能力を複数の段階に変化させて発熱量を調整するために利用する。以後、スピード・ステップおよびスロットリングまたはいずれか一方により変化するプロセッサの処理能力の各段階を、パフォーマンス・ステップということにする。パフォーマンス・ステップが１００％のときは、処理能力が低下しない通常状態になる。
【００３３】
なお、ＣＰＵの中にはコアの温度を監視し、負荷が多くなって温度が上昇したときに動作周波数および動作電圧を低下させたり、間欠動作をしたりして温度を抑制するように制御する機能を保有するものがある。このような技術の一例としてインテル（登録商標）社が、温度監視制御機能をＴＣＣ（Thermal Control Circuit）に組み込んだＣＰＵを提供している。プロセッサ１１はＴＣＣを備えるものでもよい。
【００３４】
プロセッサ１１は、パフォーマンス・ステップが高いほど、かつ、使用率が高いほど消費電力が大きくなり発熱量も多くなる。プロセッサ１１は、処理能力を低下させたときに、設定されたパフォーマンス・ステップに対応する消費電力を最大として、負荷に応じた消費電力で動作する。したがって、パフォーマンス・ステップが低下するほど一定のプロセスを実行する時間が長くなる。プロセッサ１１が生成した熱はそれ自体の温度を上昇させるとともに、筐体内部の温度も上昇させる。
【００３５】
［パフォーマンス制御系と温度制御系の構成］
図２において、システム１００の温度を管理する温度管理システム５０はパフォーマンス制御系２００と温度制御系３００で構成している。両者はともにラップトップ１０の熱を発熱量および放熱量の面で管理するが動作は相互に独立している。システム１００は、プロセッサ１１、システム・メモリ１３、ＨＩＤ３１およびＤＣ／ＤＣコンバータ２９などのハードウェアとＯＳ１０１、スケジュール・タスク１０３、１０５などのソフトウェアで構成している。
【００３６】
ＨＩＤ３１は、キーボード、マウスおよびタッチスクリーンのようにユーザがラップトップに物理的にアクセスして入力するデバイスに相当する。ＨＩＤ３１への入力は、ラップトップ１０をユーザが使用していることに相当する。ＤＣ／ＤＣコンバータ２９は、プロセッサ１１およびその他の電子デバイスに所定の電圧で電力を供給する。スケジュール・タスク１０３は、ＯＳ１０１のタスク・スケジューリング機能に登録されて実行される。一例で、マイクロソフト（登録商標）社では、過去１５分のうち９０％にわたってＣＰＵ使用率とディスクへの入出力が０％で、この間キーボードとマウスへの入力がなかった場合をアイドル状態と定義する。また、タスク・スケジューラ・サービスがアイドル状態を検知した後にユーザによる入力があった場合にアイドル状態の終了を定義する。
【００３７】
スケジュール・タスク１０５は、ウィルス対策やコンピュータの診断をするようなアプリケーションが定義したアイドル状態をトリガ条件にして実行される。トリガ条件のオーナーがトリガ条件の変更を許容する場合は、知識のあるユーザはトリガ条件を変更することができるが、多くはデフォルトの設定にまかせている。トリガ条件を変更できない場合は、ユーザがスケジュール・タスクを意図するタイミングで実行することができない。
【００３８】
パフォーマンス制御系２００は、動作モード制御部２０１、パフォーマンス制御部２０３およびユーザ・インターフェース２０５で構成している。動作モード制御部２０１は、ＯＳ１０１上で実行される状態監視プログラムとＯＳ１０１のカーネルの中に組み込まれた中間ドライバの協働により動作してプロセッサ１１の処理能力を制御する。中間ドライバはＯＳ１０１がアイドル状態のときに生成するアイドル・プロセスを監視する。アイドル・プロセスは、他のプロセスより高い優先順位でディスパッチされるためアイドル状態に入るとスケジュール・タスク１０３よりも先に実行される。
【００３９】
中間ドライバは、アイドル・プロセスをフックすることができる。状態監視プログラムは中間ドライバがフックしたアイドル・プロセスから、システム１００がアイドル状態に遷移したことを認識することができる。このとき動作モード制御部２０１が認識するアイドル状態は、トリガ条件のオーナーであるＯＳ１０１が認識するアイドル状態と一致する。動作モード制御部２０１は、プロセッサ１１の使用率をＯＳ１０１やプロセッサから取得することができる。
【００４０】
動作モード制御部２０１はさらに所定の監視時間におけるプロセッサ１１の平均使用率、ユーザ・アクティビティの有無、ディスク・アクセスの時間などのパラメータを利用して独自のアイドル状態を定義することができる。一例として動作モード制御部２０１は、最後にユーザ・アクティビティを検出してからの所定の経過時間における使用率がほぼ０％のときにアイドル状態と認識することができる。動作モード制御部２０１は、独自に定義したアイドル状態を認識して、トリガ条件のオーナーが定義したアイドル状態が成立してスケジュール・タスク１０３、１０５が実行される前にプロセッサ１１の処理能力を低下させることができる。
【００４１】
アイドル状態で一般タスクが実行されると、そのプロセスは優先順位が高いためアイドル・プロセスはプロセッサ１１を使用する権利が剥奪される。動作モード制御部２０１は、この状態を監視してアイドル状態の終了またはアイドル状態のときの一般タスクの実行開始を認識することができる。動作モード制御部２０１は、プロセッサ１１の使用率、消費電力および温度センサ５１ａの測定温度などに基づいてタスク開始状態をおよびスケジュール・タスク１０３、１０５の実行終了を認識することができる。
【００４２】
パフォーマンス制御部２０３は、システム・ファームウェアを含み、動作モード制御部２０１の指示で、プロセッサ１１のレジスタにパフォーマンス・ステップを設定する。ユーザ・インターフェース２０５は、ユーザがパフォーマンス制御系２００の動作モードを設定するための画面を提供する。温度制御系３００は、温度センサ５１ａ〜５１ｅ、温度測定部３０１、速度設定部３０３、サーマル・アクション・テーブル（ＴＡＴ）３０５、駆動回路７７および放熱ファン７３を含む。温度測定部３０１、速度設定部３０３、およびＴＡＴ３０５はＥＣ２７で構成している。駆動回路７７は、速度設定部３０３の指示でモータに印加する電圧をＰＷＭ制御して、放熱ファン７３の回転速度をステップ状に制御する。
【００４３】
［温度制御系の動作］
つぎに温度制御系３００の動作を説明する。図３は、ＴＡＴ３０５のデータ構造の一例を説明するための図である。ＴＡＴ３０５は、温度センサ５１ａ〜５１ｅごとに放熱ファン７３の動作状態を停止、低速回転、中速回転、および高速回転の４段階の速度ステップ間で変更するための設定温度を記述している。速度ステップの段数は特に限定する必要はない。設定温度は、各動作状態に対するイネーブル温度ＬＴｅ、ＭＴｅ、ＨＴｅとディスエーブル温度ＬＴｄ、ＭＴｄ、ＨＴｄで構成され、回転速度が上昇方向に変化する場合と下降方向に変化する場合との間にヒステリシス特性を形成する。
【００４４】
イネーブル温度ＬＴｅ、ＭＴｅ、ＨＴｅは、温度センサの測定温度が上昇傾向にある場合に、１ステップ遅い速度ステップから当該速度ステップに移行する温度である。ディスエーブル温度ＬＴｄ、ＭＴｄ、ＨＴｄは、温度センサの測定温度が下降傾向にある場合に、当該速度ステップより１ステップ遅い速度ステップに移行する温度である。ここで、低速回転より遅い速度ステップは停止状態である。
【００４５】
各温度センサ５１ａ〜５１ｅに対応して設定されている設定温度は、放熱ファン７３をできるだけ低い回転速度で動作させて筐体の所定の場所の表面温度が所定値を越えないように、あるいは各電子デバイスがクリティカル温度を超えないように放熱ファン７３を適切な回転速度で動作させるように設定されている。電子デバイスの温度がクリティカル温度を超えて上昇するような場合は、ラップトップ１０は動作を停止したり、サスペンド状態またはハイバネーション状態に移行したりする。
【００４６】
速度設定部３０３は、いずれかの温度センサ５１ａ〜５１ｅの測定温度がイネーブル温度ＬＴｅ、ＭＴｅ、ＨＴｅに到達したとき放熱ファン７３の回転速度を１ステップ上昇させ、すべての温度センサ５１ａ〜５１ｅの測定温度がディスエーブル温度ＭＴｄ、ＨＴｄ未満まで下降したとき放熱ファン７３の回転速度を１ステップ下降させ、ディスエーブル温度ＬＴｄ未満になったときに停止させる。なお、回転速度が停止状態から低速回転に移行する場合も回転速度が上昇するということにする。
【００４７】
放熱ファン７３の回転速度が上昇するほど排気口８１を通過する際の空気の摩擦音が大きな騒音になる。温度制御系３００は、温度センサ５１ａ〜５１ｅの測定温度とＴＡＴ３０５に基づいて放熱ファン７３の回転速度を制御する。また、システム１００の発熱量は、電子デバイスの消費電力に依存する。電子デバイスのなかでプロセッサ１１の発熱量が最大であるため、放熱ファン７３の回転速度は主としてプロセッサ１１の消費電力に依存することになる。高い使用率を伴うスケジュール・タスク１０３、１０５が実行されると放熱ファン７３の回転速度が上昇する。
【００４８】
［パフォーマンス制御系の動作］
つぎに、パフォーマンス制御系２００の動作を説明する。パフォーマンス制御系２００は、プロセッサ１１の発熱量を制御することで間接的に筐体表面の温度上昇を抑制し、さらに放熱ファン７３の回転速度の上昇を抑制する。図４は、パフォーマンス制御系２００の状態遷移図である。動作モード制御部２０１は、パフォーマンス制御系２００を一例において静粛モード４０１、パフォーマンス・モード４０３、および適応モード４０５の３つの動作モードの間で遷移させる。静粛モード４０１はパフォーマンスよりも静粛性を優先させるために、温度が上昇したときに放熱ファン７３の回転速度を上昇させるよりも先にパフォーマンス・ステップを下げる動作モードに相当する。
【００４９】
ここで放熱ファン７３の回転速度の抑制は、プロセッサ１１の発熱量を低下させて、停止している放熱ファン７３を回転させないこと、回転している放熱ファン７３を停止させることおよび高い回転速度で回転している放熱ファン７３を騒音が問題にならない程度の低い回転速度で回転させることのいずれかまたは複数を意味する。
【００５０】
動作モード制御部２０１は静粛モード４０１のときに、たとえば、プロセッサ１１の使用率が１００％でも放熱ファン７３が回転しない程度までパフォーマンス・ステップを下げることができる。あるいは、動作モード制御部２０１は静粛モード４０１でプロセッサの使用率が１００％になっても、騒音が問題になる程度まで放熱ファン７３の回転速度が上昇しないようにパフォーマンス・ステップを下げることができる。静粛モード４０１でプロセッサ１１は、設定されたパフォーマンス・ステップに対応する消費電力を上限とし、かつタスクに応じた消費電力で動作する。
【００５１】
パフォーマンス・モード４０３は、静粛性よりもパフォーマンスを優先させるために、温度が上昇したときに先に最高速度まで放熱ファン７３の回転速度を上昇させ、さらに、温度が上昇する場合にパフォーマンス・ステップを下げる動作モードに相当する。パフォーマンス・モード４０３は、一例で、机上で静止した状態で実行される。適応モード４０５は、ラップトップ１０が膝の上で使用されたり、筐体を開くような使用モードによって吸気口８３または排気口８１が塞がれたりするような状態を検出してパフォーマンス・ステップと放熱ファン７３の回転速度を調和させながら制御する動作モードに相当する。
【００５２】
ユーザは、ユーザ・インターフェース２０５を通じて動作モード制御部２０１に対して自動または手動を設定する。手動に設定された動作モード制御部２０１は設定された動作モードだけで動作する。自動に設定された動作モード制御部２０１は、システム１００の加速度センサから取得した振動や、筐体の姿勢の変化でパフォーマンス・モードと適応モード４０５の間を遷移する。さらに動作モード制御部２０１は、図５〜図７で説明する手順でパフォーマンス・モード４０３または適応モード４０５と静粛モード４０１の間を遷移する。
【００５３】
［アイドル状態の特定に基づく回転速度の抑制手順］
図５は温度管理システム５０が放熱ファン７３の回転速度を抑制する手順を示すフローチャートである。ブロック５０１でラップトップ１０の起動が完了すると、ブロック５０３で動作モード制御部２０１はパフォーマンス・モード４０３または適応モード４０５に移行する。ブロック５０５で動作モード制御部２０１は、システム１００からアイドル状態の成否を判断するためのパラメータを取得する。ＯＳ１０１がオーナーであるトリガ条件で実行されるスケジュール・タスク１０３に対するアイドル状態のパラメータは、システムがアイドル状態に移行したときにＯＳ１０１が生成するアイドル・プロセスとすることができる。
【００５４】
アプリケーション・プログラムがオーナーであるトリガ条件で実行されるスケジュール・タスク１０５に対するアイドル状態のパラメータは、当該トリガ条件が規定する監視時間、プロセッサの使用率、およびユーザ・アクティビティの有無などとすることができる。あるいはパラメータは動作モード制御部２０１が、スケジュール・タスク１０５のトリガ条件の成立を予想できる使用率や監視時間とすることができる。
【００５５】
ブロック５０７で動作モード制御部２０１は、取得したパラメータからアイドル状態の成立を認定したときにブロック５０９に移行する。アイドル状態の成立を認定しないときはブロック５０３に戻ってパフォーマンス・モード４０３または適応モード４０５を維持する。ブロック５０９で動作モード制御部２０１は静粛モード４０１に移行する。静粛モード４０１に移行する前は、プロセッサ１１の発熱量が少ないため放熱ファン７３は停止していると想定する。
【００５６】
アイドル状態をトリガ条件にするスケジュール・タスク１０３、１０５は、ユーザがコンピュータを使用していないときに実行される可能性が高く、それによって突然放熱ファン７３の回転速度が上昇するとユーザは違和感を覚える。動作モード制御部２０１は、パフォーマンス制御部２０３に指示して、放熱ファン７３の回転速度が上昇する前にプロセッサ１１を所定のパフォーマンス・ステップに低下させる。ブロック５１１で、静粛モード４０１のもとでタスクが実行されるため、放熱ファン７３の回転速度は抑制される。実行されるタスクは、スケジュール・タスク１０３、１０５の他に一般タスクを含む場合がある。アイドル状態で実行するスケジュール・タスク１０３、１０５は一般に、アイドル状態が到来したときに実行することが望ましいと考えられる。
【００５７】
本実施の形態では、スケジュール・タスク１０３、１０５を静粛モード４０１で実行することで、終了までの時間はパフォーマンス・モード４０３または適応モード４０５に比べて遅延するが停止させるよりも影響を小さくすることができる。なお、アイドル状態の認定とスケジュール・タスク１０３、１０５の実行タイミングが前後して、スケジュール・タスク１０３、１０５が実行された直後に静粛モード４０１に移行しても、プロセッサ１１の温度が上昇するまでには時間遅れがあるため放熱ファン７３の回転速度を抑制することができる。
【００５８】
ブロック５１３で動作モード制御部２０１は、一般タスクが実行されたか否かを判断する。一般タスクが実行されていないときは、静粛モード４０１を維持しながらスケジュール・タスク１０３、１０５を実行してブロック５１７に移行する。一般タスクが実行されたときはブロック５１５に移行して、動作モード制御部２０１は静粛モード４０１から脱出しパフォーマンス・モード５０３または適応モード５０３に移行してブロック５０３に戻る。
【００５９】
このとき、スケジュール・タスク１０３、１０５の実行が終了していない場合がある。高いパフォーマンス・ステップでスケジュール・タスク１０３、１０５が実行されると、放熱ファン７３の回転速度が上昇して騒音が発生する。しかしこの場合の騒音は、ラップトップ１０を使用したことに起因するためユーザが違和感を覚えることはない。ブロック５１７で動作モード制御部２０１は、ＨＩＤ３１に対する入力の有無を判断する。入力を検出したときはブロック５１５に移行し、入力を検出しないときはブロック５１９に移行する。
【００６０】
ブロック５１９で動作モード制御部２０１は、スケジュール・タスク１０３、１０５の実行が終了したか否かを判断する。動作モード制御部２０１は、プロセッサ１１の使用率の一定値未満までの低下、プロセスの消滅などからスケジュール・タスク１０３、１０５の終了を認識することができる。スケジュール・タスク１０３、１０５が終了したときはブロック５０３に戻り、終了していないときはブロック５０９に戻る。
【００６１】
［タスク開始状態の特定に基づく回転速度の抑制手順］
図６は温度管理システム５０が放熱ファン７３の回転速度を抑制する他の手順を示すフローチャートである。図５の手順では、動作モード制御部２０１がアイドル状態を認識してから静粛モード４０１に移行するが、図６の手順はスケジュール・タスク１０３、１０５が実行されてから静粛モードに移行することで回転速度を抑制する。
【００６２】
図６の手順は、図５のブロック５０５、５０７、５１９に代えてブロック６０１、６０３、６０５を採用する。これ以外の手順は同じであるため説明を省略する。ブロック６０１、６０３の手順を実行する１つの方法としては、動作モード制御部２０１がスケジュール・タスク１０３、１０５のプロセスを検出したときに、タスク実行状態を判断することができる。ここではパラメータが、実行されるスケジュール・タスク１０３、１０５の識別子となる。ブロック６０１、６０３の手順を実行する他の方法は図７を参照して説明する。
【００６３】
図７（Ａ）は、ユーザがラップトップ１０を使用していないときのプロセッサ１１の使用率の推移を示し、図７（Ｂ）はそのときの温度センサ５１ａの測定温度の推移を示している。図７（Ａ）では時刻ｔ０から時刻ｔ１までユーザ・アクティビティがなくプロセッサ１１の使用率は０％の近辺で推移している。時刻ｔ１でユーザ・アクティビティが発生するがその後は時刻ｔ２まで使用率が０％近辺で推移している。
【００６４】
この状態がスケジュール・タスク１０３、１０５のトリガ条件を満たせば、時刻ｔ２でスケジュール・タスク１０３、１０５が実行されるが、動作モード制御部２０１はスケジュール・タスク１０３、１０５の実行前にアイドル状態を認定して静粛モード４０１に移行する処理をしない。時刻ｔ２で使用率が急激に増加し始めて時刻ｔ３ではＹ２％に到達し時刻４では１００％に到達する。動作モード制御部２０１は、ＯＳ１０１が提供する使用率メータまたはその他の代替手段を利用して使用率を監視する。
【００６５】
アイドル状態をトリガ条件にするスケジュール・タスク１０３、１０５が実行されるときの使用率は、他のタスクが実行される場合に比べて特徴的な変化をする。動作モード制御部２０１は、使用率が閾値Ｙ２％に到達し、かつ、時刻ｔ１から時刻ｔ２までの監視期間ｔｏ１の間の使用率が閾値Ｙ１％以下のときにブロック６０３でスケジュール・タスク１０３、１０５が実行を開始してタスク開始状態が成立したと判断することができる。
【００６６】
このとき時刻ｔ２は、単位時間当たりの使用率の変化率で特定することができる。閾値Ｙ１％は、アイドル状態での使用率に対応するたとえば１％〜２％程度に設定し、閾値Ｙ２％はそのタイミングをトリガにしてプロセッサ１１の処理能力を低下させることで放熱ファン７３の回転速度の上昇を抑制できる値に設定することができる。このときのパラメータは、ユーザ・アクティビティ、監視期間ｔ０１およびプロセッサ１１の使用率になる。
【００６７】
図７（Ｂ）は、これに対応する温度センサ５１ａの測定温度を示している。時刻ｔ０から時刻ｔ５（ｔ５＞ｔ２）までは、温度センサ５１ａの測定温度はほぼ一定している。時刻ｔ２で使用率が急激に上昇すると多少の時間遅れを伴う時刻ｔ５で測定温度が急激に上昇し始め、時刻ｔ６で測定温度Ｔ１に到達し、時刻ｔ７でイネーブル温度を超えて放熱ファン７３の回転速度が上昇する。このときの温度センサ５１ａの測定温度も他のタスクが実行される場合に比べて特徴的な変化をする。
【００６８】
動作モード制御部２０１は、温度測定部３０１から取得した測定温度が閾値Ｔ１に到達し、かつ、時刻ｔ１から時刻ｔ５までの監視期間ｔｏ２の間の測定温度の変動幅がアイドル状態での変動幅ΔＴの範囲に収まるときにブロック６０３でスケジュール・タスク１０３、１０５が実行を開始してタスク開始状態が成立したと判断することができる。このとき時刻ｔ５は、単位時間当たりの測定温度の変化率で特定することができる。動作モード制御部２０１は、閾値Ｔ１を筐体内部の環境温度でダイナミックに変更することができる。このときのパラメータは、ユーザ・アクティビティ、監視期間ｔｏ２およびプロセッサ１１の測定温度になる。
【００６９】
パラメータはプロセッサ１１の使用率および温度に代えて所定時間ごとのプロセッサ１１の消費電力の平均値を採用することもできる。ブロック６０５で動作モード制御部２０１は、図５のブロック５１９の方法に加えて、プロセッサ１１の温度がΔＴの変動幅に遷移したこと、消費電力が所定の変動幅に遷移したことからもスケジュール・タスク１０３、１０５の終了を認識することができる。
【００７０】
時間ベースのスケジュール・タスクのなかには、前回の起動から停止までの間に設定された時間に実行できない場合は今回の起動の直後に実行されるものがある。システムはコンピュータの起動の完了をブート・プロセスが終了してプロセッサの使用率が所定値未満に低下したことで認識することができる。システムが起動完了直後に使用率が低下したことをトリガ条件にしてスケジュール・タスクを実行する場合も、図６の手順で放熱ファン７３の回転速度が上昇する前に動作モード制御部２０１は静粛モード４０１に移行することができる。
【００７１】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００７２】
１０  ラップトップ
１１  プロセッサ
２１、３１  ＣＰＵ
５０  温度管理システム
５１ａ〜５１ｆ  温度センサ
７３  放熱ファン
７７  駆動回路
１００  システム
２００  パフォーマンス制御系
２０１  動作モード制御部
３００  温度制御系
【図１】
2019016252.tif 000003
【図２】
2019016252.tif 000004
【図３】
2019016252.tif 000005
【図４】
2019016252.tif 000006
【図５】
2019016252.tif 000007
【図６】
2019016252.tif 000008
【図７】
2019016252.tif 000009