JP2018142346A - 熱アウェアデバイスブーティングのためのシステムおよび方法 - Google Patents

熱アウェアデバイスブーティングのためのシステムおよび方法 Download PDF

Info

Publication number
JP2018142346A
JP2018142346A JP2018079742A JP2018079742A JP2018142346A JP 2018142346 A JP2018142346 A JP 2018142346A JP 2018079742 A JP2018079742 A JP 2018079742A JP 2018079742 A JP2018079742 A JP 2018079742A JP 2018142346 A JP2018142346 A JP 2018142346A
Authority
JP
Japan
Prior art keywords
pcd
thermal
boot
computer system
boot sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018079742A
Other languages
English (en)
Other versions
JP6873082B2 (ja
Inventor
ジョン・ジェイ・アンダーソン
J Anderson Jon
ロン・ティー・アルトン
Ron T Alton
プラベーン・クマール・チダンバラム
Kumar Chidambaram Praveen
ジョシュア・ディー・シーレン
D Thielen Joshua
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=49004591&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2018142346(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2018142346A publication Critical patent/JP2018142346A/ja
Application granted granted Critical
Publication of JP6873082B2 publication Critical patent/JP6873082B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Telephone Function (AREA)

Abstract

【課題】ポータブルコンピューティングデバイスPCDにおける熱アウェアブーティングのための方法およびシステムを提供する。【解決手段】理想よりも低い熱条件下でPCD100がブートされたときに、高電力消費処理構成要素をオンラインにすることは、PCD100の健全性にとって有害であるので、ブートシーケンスの初期に低電力処理構成要素を活用して、測定された熱インジケータに基づいてブートシーケンスを許可、遅延、または修正する。熱インジケータ測定値に基づいて、ブートシーケンスの完了を遅延または許可してもよいし、熱ブート状態に関連付けられた熱ブートポリシーに基づいて、PCD100のブートシーケンスを修正するのでもよい。熱ブートポリシーは、1つまたは複数の高電力消費構成要素がそこまでブートされる電力周波数を修正することによって、ブートシーケンスを完了させることを含む。【選択図】図1

Description

関連出願の相互参照
2012年2月24日に出願された「SYSTEM AND METHOD FOR THERMALLY AWARE DEVICE BOOTING」という表題の、出願番号第61/602,755号を割り当てられ、その出願の内容全体が参照によって本明細書に組み込まれる米国仮出願に対する、米国特許法第119条(e)による優先権が主張される。
ポータブルコンピューティングデバイス(「PCD」)は、個人レベルおよび専門レベルにおいて人々に必要なものになりつつある。これらのデバイスには、携帯電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスが含まれ得る。
PCDの1つの特有の態様は、ラップトップコンピュータおよびデスクトップコンピュータなどのより大型のコンピューティングデバイスで見られることが多い、ファンのような能動的な冷却デバイスを通常は有していないということである。ファンを使う代わりに、PCDは、PCD性能を比較的低い熱エネルギー生成レートとトレードオフするように設計された熱緩和ソフトウェアに依拠すればよい。一般にPCD内のメインプロセッサ上で稼動する熱緩和ソフトウェアは、熱エネルギー生成の管理において非常に有効であり得る。しばしば、PCD内の温度測定値は、熱緩和ソフトウェアが、所与の熱緩和技法を実装または終了するようトリガする。熱緩和技法は、PCD内の様々な構成要素によって生成された熱エネルギーが、構成要素の健全性を危険にさらし、またはユーザ経験に悪影響を与え得る温度上昇の機会を減らすことができる。したがって、熱緩和技法の効率的使用により、PCDによってユーザに提供されるサービス品質(「QoS」)を最適化することもでき、そうすることによって、PCDの健全性を危機にさらすことなく、ユーザ経験も最適化する。
そうではあっても、最も高度な熱緩和技法にもかかわらず、PCD内の温度は、任意の数の極端な使用事例では、依然として危機的レベルに達し得る。たとえば、高温周辺環境において重い処理負担がかかると、接触温度は、ユーザ露出に適した閾値を超える場合があり、またはダイ温度は、処理構成要素およびメモリデバイスの健全性を危険にさらすレベルに達する場合がある。PCDがそのような条件にさらされているとき、しばしば、熱暴走を回避し、PCD内の構成要素の健全性を保護するための唯一の手段は、PCDをリブートする前に電力崩壊を強制することである。
特に、上昇した温度条件下でのPCDのリブートは、メインプロセッサがオンラインになるにはPCDが熱すぎる場合、一連の電力崩壊を必要とするだけでよい。また、メインプロセッサがオンラインでない場合、メインプロセッサ上で稼動する熱緩和ソフトウェアを実行して、熱エネルギー生成を管理することができない。
したがって、当該分野において必要とされているのは、熱測定値と所定の閾値の比較に基づいて、PCDブートシーケンスを許可および/または遅延させる熱アウェア(thermally aware)ブートモードのための方法およびシステムである。さらに、当該分野において必要とされているのは、熱測定値と所定の閾値の比較に基づいて、PCD内の1つまたは複数の処理構成要素がそこまでブートされる性能レベルをスケーリングする熱アウェアブートモードのための方法およびシステムである。
ポータブルコンピューティングデバイス(「PCD」)における熱アウェアブーティングのための方法およびシステムの様々な実施形態について、開示する。理想よりも低い熱条件下でPCDがブートされたときに、高電力消費処理構成要素をオンラインにすることは、PCDの健全性にとって有害であり得るので、本システムおよび方法の実施形態は、ブートシーケンスの初期に低電力処理構成要素を活用して、測定された熱インジケータに基づいてブートシーケンスを許可し、遅延させ、または修正する。熱インジケータは、PCDまたはPCD内の構成要素の熱条件を示すのに有用な、どの測定可能パラメータであってもよい。
PCDにおける熱アウェアブーティングのための1つの方法は、本質的には、熱インジケータパラメータに関連付けられた測定値についてPCD内のセンサをポーリングする「決行/中止」方法である。センサは、測定された熱条件が閾値を超える場合、その条件によって影響され得る、PCD内の1つまたは複数の構成要素に関連付けられる。ポーリングされた測定値はしたがって、所定の閾値と比較され、測定値が閾値を超える場合、ブートシーケンスは遅延される。有利には、遅延により、超過熱エネルギーには、1つまたは複数の高電力消費構成要素をブートした結果として、より多くの熱エネルギーが生成される前に、PCDから消散する機会が与えられ得る。さらに、いくつかの実施形態は、PCDをブートすることが安全であることを、ポーリングされた測定値が示すか、または事前設定された遅延周期回数に達するまで、ブートシーケンスを複数回遅延させる能力を含み得る。
PCDにおける熱アウェアブーティングのための方法の別の例示的な実施形態は、熱ブート状態に関連付けられた熱ブートポリシーの識別に基づいて、PCDのブートシーケンスを修正することができる。この方法は、熱インジケータパラメータに関連付けられた測定値を求めて、PCD内のセンサをポーリングする。センサは、測定された熱条件が閾値を超える場合、その条件によって影響され得る、PCD内の1つまたは複数の構成要素に関連付けられる。熱インジケータについての閾値に関連付けられた熱ブートポリシーを含む熱ポリシールックアップ(「TPL」)テーブルが、照会される。ポーリングされた測定値は、TPLテーブルに記録されている閾値と比較され、熱ブートポリシーが識別される。識別されると、熱ブートポリシーは、低電力処理構成要素によってブートシーケンスに適用され、いくつかの実施形態では、高電力消費構成要素がそこまでブートされる電力周波数を修正することによって、ブートシーケンスを完了させることを含み得る。
有利には、当業者には認識されるように、ブートシーケンスの初期に低電力処理構成要素を活用して、測定された熱インジケータに基づいてブートシーケンスを許可し、遅延させ、または修正することによって、本システムおよび方法の実施形態は、構成要素の健全性を危険にさらすことも、ユーザ経験に過度に影響することもなく、PCDによって提供されるサービス品質(「QoS」)を最適化することができる。
図面では、別段に規定されていない限り、様々な図の全体を通して、同様の参照番号は同様の部分を指す。「102A」または「102B」などの文字指定を伴う参照番号の場合、文字指定は、同じ図に存在する2つの同様の部分または要素を区別することができる。参照番号がすべての図において同じ参照番号を有するすべての部分を包含することが意図されるとき、参照番号の文字指定は省略される場合がある。
ポータブルコンピューティングデバイス(「PCD」)において熱アウェアブートシーケンスを実装するためのオンチップシステムの実施形態を示す機能ブロック図である。 監視される熱条件に基づいてブートシーケンスを遅延させ、許可し、または修正する方法およびシステムを実装するための、ワイヤレス電話の形の、図1のPCDの例示的な非限定的態様を示す機能ブロック図である。 図2に示されるチップのための、ハードウェアの例示的な空間構成を示す機能ブロック図である。 熱アウェアブーティングのための、図2のPCDの例示的なソフトウェアアーキテクチャを示す概略図である。 QoSおよび全体的ユーザ経験を最適化するように認識および管理され得る様々な熱ブート状態を示す例示的な状態図である。 QoSおよび全体的ユーザ経験を最適化するために適用することができるとともにPCDの特定の熱ブート状態に依存する例示的な熱アウェアブートポリシーを示す図である。 監視される熱条件に基づいてブートシーケンスを許可または遅延させることを含む、PCDにおける熱アウェアブーティングのための方法を示す論理フローチャートである。 熱ブート状態の認識に基づいて、および図8の熱性能ルックアップテーブルに従ってブートシーケンスを修正することを含む、PCDにおける熱アウェアブーティングのための方法を示す論理フローチャートである。 図7に示す方法の実施形態によって照会することができる例示的な熱性能ルックアップテーブルである。
「例示的な」という言葉は、例、事例、または例示として機能することを意味するように本明細書で使用される。「例示的な」ものとして本明細書に記載されるいずれの態様も、必ずしも他の態様に対して排他的であるか、他の態様よりも好ましいか、または有利であると解釈されるべきではない。
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルも含むことができる。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなどの本質的に実行可能ではないファイルも含むことができる。
本明細書で使用される場合、「構成要素」、「データベース」、「モジュール」、「システム」、「熱エネルギー生成構成要素」、「処理構成要素」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば、構成要素は、プロセッサ上で稼動するプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に常駐することができ、1つの構成要素を1つのコンピュータに局在化すること、および/または2つ以上のコンピュータに分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。各構成要素は、1つまたは複数のデータパケット(たとえば、信号を介してローカルシステム、分散システムにおける別の構成要素と相互作用するある構成要素からのデータ、および/または信号を介してインターネットなどのネットワーク上で他のシステムと相互作用するある構成要素からのデータ)を有する信号に従うなどしてローカルプロセスおよび/またはリモートプロセスを介して通信することができる。
本明細書では、「中央処理装置(「CPU」)」、「デジタル信号プロセッサ(「DSP」)」、「グラフィカル処理ユニット(GPU)」、および「チップ」という用語は互換的に使用される。その上、CPU、DSP、GPUまたはチップは、「コア」と本明細書では全般的に呼ばれる1つまたは複数の別個の処理構成要素からなることができる。さらに、CPU、DSP、GPU、チップまたはコアが、様々なレベルの機能効率で動作するために様々なレベルの電力を消費するPCD内の機能構成要素である限り、これらの用語の使用は、開示する実施形態、またはそれらの等価物の適用を、PCD内の処理構成要素のコンテキストに限定するものではないことが当業者には認識されよう。つまり、実施形態の多くは、処理構成要素のコンテキストにおいて記載されるが、熱アウェアブーティングは、モデム、カメラ、ワイヤレスネットワークインターフェースコントローラ(「WNIC」)、ディスプレイ、ビデオエンコーダ、周辺デバイス、パッケージオンパッケージ(「PoP」)メモリデバイスなどを含むが、それに限定されない、PCD内のどの機能構成要素の利益のためにも適用され得ると想定される。
本明細書では、「熱」および「熱エネルギー」という用語は、「温度」の単位で測定され得るエネルギーを生成させまたは消散することが可能な、デバイスまたは構成要素と関連付けられて使われ得ることが理解されるだろう。その結果、「温度」という用語は、「熱エネルギー」を生成させるデバイスまたは構成要素の、相対的な暖かさまたは熱の欠如を示すことができる、何らかの基準値に対する任意の測定値を想定することがさらに理解されるだろう。たとえば、2つの構成要素の「温度」は、2つの構成要素が「熱的に」平衡であるとき同じである。
本明細書では、「作業負荷」、「プロセス負荷」および「プロセス作業負荷」という用語は互換的に使用され、一般に、所与の実施形態の所与の処理構成要素に関連付けられた処理負担または処理負担のパーセンテージを対象にする。上記に定義されたものに加えて、「処理構成要素」または「熱エネルギー生成構成要素」または「熱アグレッサ」は、限定はされないが、中央処理装置、グラフィカル処理ユニット、コア、メインコア、サブコア、処理エリア、ハードウェアエンジンなど、またはポータブルコンピューティングデバイス内の集積回路の内部もしくは外部にある任意の電力消費構成要素であり得る。
本明細書では、「熱緩和技法」、「熱ポリシー」、「熱管理」、「熱緩和対策」および「熱緩和ソフトウェア」という用語は、交換可能に使用される。特に、特定の使用コンテキストによっては、この段落で列挙する用語のいずれも、またはそれらの等価物も、熱エネルギー生成を犠牲にして性能を高め、性能を犠牲にして熱エネルギー生成を低下させ、またはそのような目標の間で交替するように動作可能なハードウェアおよび/またはソフトウェアを記述するのに役立ち得ることが当業者には認識されよう。
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリなどの限られた容量の電源で動作する任意のデバイスを記載するために使用される。何十年もの間バッテリ式PCDが使用されてきたが、第3世代(「3G」)および第4世代(「4G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、とりわけ、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述のデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであり得る。
本説明では、いくつかの熱条件にさらされた場合の、PCDまたはPCD内の構成要素の「健全性」に対する悪影響の可能性に対して、頻繁に参照が行われる。本記述のコンテキストにおいて、構成要素の「健全性」に対する悪影響とは、重大度が、一時的な動作不安定性から永続的な構成要素損傷に及ぶ、構成要素の機能的側面に対するいかなる悪影響も含むことを意図していることが理解されよう。この目的のために、いくつかの熱条件は、構成要素を永続的に動作不能にさせる場合があり、異なる熱条件下では、同じ構成要素が、一時的不安定性のみを経る場合があることが当業者には認識されよう。たとえば、高レベルの熱エネルギーへの露出が長引くと、PCD内のメモリ構成要素が破壊される場合があり、より極端でない熱条件下での同じメモリ構成要素は、その機能性に対する影響が長くは続かない、一時的故障を経るだけである場合がある。
本説明では、「ブート」、「リブート」、「ブートモード」、「ブートシーケンス」、「ブートフェーズ」などの用語は、オペレーティングシステムのロードおよび使用のための様々なPCD構成要素の準備を含むが、それに限定されない、PCDが、最初に電源投入されたときに実施する初期動作セットを指すことを意図している。この目的のために、「オンライン」または「オンラインになる」という用語は、本説明では、PCD内の1つの構成要素、または複数の構成要素の完了された「ブート」の最終結果であると理解される。
オンダイ温度測定値などの熱インジケータが一定の閾値を上回ったときにPCDをブートしようと試みると、PCD内の任意の数の構成要素の健全性を危険にさらす可能性がある。
たとえば、集中型ゲームセッションまたは高温の車内に放置された後にPCDが受け得るような、オンダイ温度がすでに上昇しているときに近くの熱アグレッサから消散される熱エネルギーにPoPメモリがさらされた場合、積層ボールグリッドアレイ(「BGA」)メモリ構成要素を備えるパッケージオンパッケージ(「PoP」)メモリデバイスの完全性が犠牲にされ得る。同様に、温度がすでに上昇しているとき、ブートシーケンス中に、処理構成要素が全電力で、またはある程度全電力未満であってもオンラインにされた場合、強力マルチコア処理構成要素内のシリコンが劣化する場合がある。
当業者によって理解されるように、PCD内のこれらの例示的な構成要素および他の処理構成要素は、作業負荷を処理する間、熱エネルギーを生じ、消散し得る。過度に、これらの熱的に攻撃的な構成要素によって生成される熱エネルギーの消散は、PCDの全体的機能性に対して修復不可能な損傷を引き起こす場合がある。一般に、したがって、熱インジケータが一定の閾値を超えたときにPCDのブートを試みると、PCD内の1つまたは複数の構成要素の健全性に対する修復不可能な損害の危険性を軽減するための一連の電力崩壊およびリブートが生じ得る。電力崩壊およびリブートは、PCDの健全性を保護するのには有用であるが、ユーザの経験には悪影響を与える。
PCDが、その様々な感熱構成要素の健全性を危険にさらすことも、ユーザ経験に悪い方向で過度に影響することもなく、そのブートシーケンスを確実に完了することは、ブートフェーズの早い段階で1つまたは複数のセンサ測定値を活用する熱アウェアブート(「TAB」)モジュールによって遂行され得る。TABモジュールの例示的な実施形態は、ブートシーケンスの早い段階でオンラインになるように構成される、リソース電力マネージャ(「RPM」)プロセッサなどの低電力(「LP」)処理構成要素を利用する。LPプロセッサ上で稼動する熱アウェアブートソフトウェア態様を含み得るTABモジュールは、監視モジュールによってとられた、熱インジケータに関連付けられた測定値を活用する。監視モジュールは、たとえば、特定用途向け集積回路(「ASIC」)または他の集積回路のダイの周辺に置かれた、1つまたは複数の温度センサをポーリングし、いくつかのケースでは、アナログデジタル変換器ハードウェアを使って、測定値データをデジタル信号に変換することができる。
モニタモジュールによって生成されるデジタル信号は、たとえば、PCDの接触温度、CPUコアに関連付けられた処理温度、PoPメモリデバイスに近接した周辺温度、バッテリに関連付けられた充電状態(「SoC」)読取り値、電力バスにおける漏れ電流レベルなどだが、それに限定されない熱エネルギー消散レベルの熱インジケータと相関付けることができる任意の数の測定値を表し得る。これらの信号は、TABモジュールによって受信されると、所与の測定値についての所定の閾値と比較され得る。所定の閾値は、PCDの最大許容接触温度、PCD内の構成要素の最大動作温度、PCD内のバッテリについての最小充電レベル、PCD内の電力バス上での最大電流レベルなどを含むが、それに限定されない、所与の熱インジケータについての任意の数のパラメータに基づき得る。
測定値と閾値の比較に基づいて、TABモジュールのいくつかの実施形態は、ブートシーケンスを完了または遅延させることを選べばよい。他の実施形態では、TABモジュールは、比較を活用して、PCD内の1つまたは複数の構成要素についてのスケーリングされた性能レベルを選択し、次いで、所与の構成要素が、低下した性能レベルでオンラインになるようにブートシーケンスを修正することができる。当業者によって理解されるように、低下した電力レベルで処理構成要素をオンラインにすると、構成要素が、比較的低いレートの熱エネルギーを生成し得る。さらに、1つまたは複数の構成要素を、低下した性能レベルまでブートすることによって、構成要素を全電力レベルまでブートした結果生じ得るPCD健全性に対する危険性なしで、短いブート継続時間を維持できることが当業者には認識されよう。
たとえば、いくつかの実施形態では、モニタモジュールは、PCDのメインCPUのコアの近くに置かれた温度センサを読み取ることができる。温度読取り値は、コアの温度が最大閾値を下回り、したがって、高電力消費CPUを全電力でオンラインにするのは、PCD内のCPUおよび/または他の構成要素にとって有害ではないということをTABモジュールに対して示すことができる。そのようなシナリオにおいて、TABモジュールは、LPプロセッサに、ブートシーケンスを変更なしで進め、または完了することを許可してよい。ただし、TABモジュールによって、温度読取り値が所定の閾値を超えると判断された場合、TABモジュールは、温度上昇を引き起こす熱エネルギーが消散され得るように、ブートシーケンスが遅延されることを選んでよい。あるいは、閾値を超えたとき、TABモジュールは、ブートシーケンスが完了されたとき、CPUが、PCDの既存の熱的フットプリントに過度には影響しない熱エネルギー生成のレートに関連付けられた、スケーリングされた電力レベルでオンラインになるように、ブートシーケンスを修正してよい。
有利には、ブートシーケンスをそのように一時的に遅延させ、または修正することによって、PCDを電力崩壊させることも、ブートプロセスを完全にリスタートすることもなく、PCD内の1つまたは複数の構成要素の健全性に対する壊滅的または否定的であり得る影響が回避され得る。つまり、超過熱エネルギーへの露出によって生じる永続的な構成要素損傷または性能不安定性が、電力崩壊することも、PCDのブートプロセスを完全にリスタートすることもなく回避され得る。このようにして、理想よりも低い熱条件下でPCDがブートされたとき、ユーザ経験およびQoSレベルが最適化され得る。さらに、熱インジケータ測定値がポーリングされ、所定の閾値と比較され続けるので、いくつかの実施形態が、ブートシーケンスを無期限に、または設定された数の周期だけ遅延させ得ると想定される。
特に、本明細書において説明し例示する例示的な実施形態は、ポーリングされた熱インジケータに基づいてブートシーケンスを遅延させ、許可し、または修正することを主に対象とする。ただし、より一般的な意味では、これらの実施形態は、PCD内のプロセスを遅延させ、許可し、または修正することを選ぶ前に、利用可能な「熱ヘッドルーム」を判断しようとする。したがって、ブートシーケンスは、1つまたは複数のポーリングされた熱インジケータに基づいて遅延され、完了のために許可または修正され得る、PCD内のプロセスの単なる一例であることが当業者には認識されよう。したがって、本システムおよび方法の実施形態は、ポーリングされた測定値と所与の閾値との間の差によって定量化された「熱ヘッドルーム」が、どのプロセスも、閾値を超えることなく完了され得ることを示唆する限り、そのようなプロセスを許可または修正できることが想定される。非限定的例として、いくつかの実施形態は、特定の高電力コアにおける処理用にスケジュールされた作業負荷を遅延させ、許可し、または修正することを選ぶ前に、ポーリングされた熱インジケータを閾値と比較することができる。特に、そのような実施形態では、スケジュールされた作業負荷の遅延または修正は、より低いレベルの熱エネルギー生成に関連付けられた他の作業負荷が代わりに処理され得るように、作業負荷の優先度を変えることを含み得る。
図1は、PCD100において熱アウェアブートシーケンスを実装するためのオンチップシステム102の実施形態を示す機能ブロック図である。熱アウェアブートシーケンスの実施形態は、PCD100内の1つまたは複数の場所からの温度測定値など、熱インジケータの測定値を活用して、PCD100内のすべての構成要素がオンラインになることが安全かどうか判断する。PCD100内の1つまたは複数の構成要素にとってオンラインになることが有害であるということを測定値が示す場合、測定値の後続読取り値が、熱条件がブートシーケンスの完了に対してより好ましいということを示すまで、ブートシーケンスは遅延されてよい。あるいは、いくつかの実施形態は、比較的低いレートの熱エネルギー生成および消散と相関する低下電力レベルで1つまたは複数の構成要素がオンラインになるように、ブートシーケンスを修正することができる。これらのやり方で、実施形態は、PCD100の全体的健全性を確保し、連続リブートを回避することができる。
上で説明したように、多くのPCD100は、CPU110などのメイン処理構成要素上で稼動するメイン熱ポリシーマネージャモジュール113を含む。メイン熱ポリシーマネージャモジュール113は、PCD100が動作可能であり作業負荷を処理中であるときに熱エネルギー生成を管理しようとして、任意の数の熱緩和技法を適用するように構成され得る。ただし、ブートシーケンスの早期フェーズ中、メインCPU110はまだオンラインになっていないので、CPU110上で稼動するメイン熱ポリシーマネージャモジュール113はアクティブ化されていない。さらに、CPU110(または例示的なPoPメモリ112Aなど、他の処理構成要素)に関連付けられた温度が上昇した場合、この温度上昇は、CPU110がオンラインになるとともに過量の熱エネルギーを生成し始めるようになっている場合は、PCD100内のCPU110および/または他の構成要素の健全性にとって有害である。
概して、本システムは、いくつかの実施形態では単一モジュールに含まれ得る2つのメインモジュール、すなわち(1)熱インジケータ測定値を所定の閾値と比較し、進行中のブートシーケンスを遅延させ、許可し、または修正するためのTABモジュール101と、(2)PCD100中に置かれた関連センサ157をポーリングし、ポーリングされた測定値をTABモジュール101に中継するためのモニタモジュール114とを利用する。有利には、これら2つのメインモジュールを含むシステムおよび方法の実施形態は、センサ測定値を活用して、PCD100の全体的健全性を最適化し、ユーザ経験に悪影響を及ぼす電力崩壊およびリブートの必要性を最小限にする。
ブートシーケンスの初期にオンラインになるとともに低レベルの電力を消費する(したがって、比較的低レベルの熱エネルギーを生成する)LPプロセッサ111、たとえばリソース電力マネージャ(「RPM」)プロセッサは、CPU110など、他の、より高電力を消費する構成要素がオンラインになることを許可するようにブートシーケンスを管理するように構成され得る。当業者によって理解されるように、LPプロセッサ111は、クロック切替え、電力切替えなどを含むが、それに限定されない、任意の数の機能を制御するように構成され得る。ただし、ブートシーケンスの初期に稼動するように構成された、PCD内のどの構成要素も所与の実施形態の実装に適し得るので、熱アウェアブートシーケンスを実装するためのシステムおよび方法は、RPMプロセッサを活用することに限定されるわけではない。
図1の例示に戻ると、LPプロセッサ111は、TABモジュール101、モニタモジュール114ならびにPCD100内の2つの例示的な構成要素、すなわちPoPメモリ112AおよびCPU110と通信中であることが示されている。特に、TABモジュール101および/またはモニタモジュール114の作業負荷の全部または一部は、LPプロセッサ111によって処理することができる。PoPメモリ112AおよびCPU110は、例示的目的でのみ示され、したがって、熱アウェアブートシーケンスを実装するためのシステムおよび方法の実施形態は、PoPメモリおよび/またはCPUへの適用に限定されないことが理解されよう。そうではなく、本システムおよび方法の様々な実施形態は、理想よりも低い熱条件下でブートシーケンスを完了した結果、損害を受け得る、PCD100内のどの構成要素の健全性も最適化するのに使われ得ることが理解されよう。
さらに、センサ157は概して、本説明では、オンダイまたはオフダイ温度読取り値の形の熱インジケータを測定するものとして参照されるが、熱アウェアブートシーケンスを実装するためのシステムおよび方法のいくつかの実施形態は、温度以外の熱インジケータパラメータを測定するセンサを活用できると想定される。たとえば、上で述べたように、いくつかの実施形態では、センサ157は、バッテリの充電状態の形の熱インジケータを測定して、バッテリが、完了ブートシーケンスから生じた処理負荷を持続させるための容量を有するかどうか判断することができると想定される。または、いくつかの実施形態では、センサ157は、母線上での電流レベルを測定して、所与の構成要素の熱エネルギーレベルを推定することができる。したがって、本記述において、熱インジケータを単に「温度測定値」または「温度読取り値」などと呼ぶことが、様々な点において好都合であるが、記載する実施形態およびそれらの等価物は、熱インジケータ測定値を温度測定値の直接的な形で活用することに限定されないことが当業者には認識されよう。そうではなく、熱エネルギーレベルのどのインジケータも、実施形態によって、熱アウェアブートポリシーを判断またはトリガするのに使われ得ることは、完全に本開示の範囲内であることが理解されよう。
モニタモジュール114は、たとえば温度読取り値など、センサ157からとられた読取り値をポーリングする。図1の例示において、センサ157Bは、チップ102から離して置かれ、残りの例示的なセンサ157Aは、PoPメモリ112AおよびCPU110のコア222、224、226、228に近接して置かれている。例示的な使用ケースでは、PCD100は、集中的な高作業負荷ゲームセッションにより生じる、CPU110における処理温度の上昇を受けた可能性がある。CPU110のコア222、224、226、228のうちの1つまたは複数に関連付けられたセンサ157Aをポーリングするモニタモジュール114は、高温レベルを認識し、TABモジュール101に通信することができる。TABモジュール101は、測定された温度レベルを所定の閾値と比較し、LPプロセッサ111に、温度上昇を引き起こす熱エネルギーの一部がより安全なレベルに消散するまで、CPU110の電源投入を遅延させるよう命令することができる。同様に、PoPメモリ112Aの健全性にとっての安全なレベルを超える、PoPメモリ112Aの近くで測定された温度は、LPプロセッサ111に、PoPデバイス112A近くの温度を危機的レベルに達せさせ得る熱エネルギーの生成を回避するために、ブートシーケンスを遅延させるよう、TABモジュール101が命令するのをトリガし得る。同様に、オフチップセンサ157Bは、PCD100の接触温度を測定し、許容可能な接触温度についての所定の閾値に基づいてブートシーケンスを遅延させ、または許可するように配置され得る。
例示的な使用ケースに戻ると、TABモジュール101の他の実施形態は、熱性能ルックアップ(「TPL」)テーブル24を照会して、PCD100の熱状態に過度に影響することなく、1つまたは複数の処理構成要素がそこまでブートされ得る電力レベルの低下を判断することができる。たとえば、センサ157Aにおいてポーリングされた温度測定値は、CPU110の近くの温度が、PoPメモリ112Aにとって有害であり得るレベルに迫っているが、そのような閾値を超えていないことを示し得る。そのようなケースにおいて、TABモジュール101は、TPLテーブル24の照会から、CPU110が、その最大周波数の50パーセントで、閾値を超えるのに十分なエネルギーを生成する危険なく電源投入され得ると判断してよい。したがって、TABモジュール101は、CPU110がその最大周波数の50パーセントで電源投入されるように、ブートシーケンスを修正することができ、そうすることによって、PoPメモリ112Aの健全性を危険にさらすことなく、CPU110をオンラインにすることによってユーザ経験を最適化する。例示的な熱ブート状態に関するさらなる詳細については、図4〜図5および図7に関連して記載する。
図2は、ポーリングされた熱条件に基づいてブートシーケンスを遅延させ、許可し、または修正する方法およびシステムを実装するための、ワイヤレス電話の形の、図1のPCD100の例示的な非限定的態様を示す機能ブロック図である。図示されたように、PCD100は、互いに結合されたマルチコア中央処理装置(「CPU」)110およびアナログ信号プロセッサ126を含むオンチップシステム102を含む。オンチップシステム102は、リソース電力マネージャプロセッサなどの低電力(「LP」)プロセッサ111も含む。当業者によって理解されるように、CPU110は、第0のコア222、第1のコア224、および第Nのコア230を含み得る。さらに、当業者によって理解されるように、CPU110の代わりに、デジタル信号プロセッサ(「DSP」)も利用され得る。
概して、熱アウェアブート(「TAB」)モジュール101は、温度関連測定値を所定の閾値と比較し、比較に基づいて、PCD100のブートシーケンスを許可し、遅延させ、または修正するのを選ぶ役目を果たし得る。有利には、ポーリングされた温度が所定の閾値を超え、またはあらかじめ定義された熱状態範囲内であるとき、ブートシーケンスを遅延させ、または修正することによって、TABモジュール101は、PCD100が、熱条件および/または熱負荷を管理し、たとえば、ブートシーケンス中に危機的温度に達するなど、不都合な熱条件を受けるのを回避するのを助けることができる。
図2はまた、PCD100がモニタモジュール114を含むことができることを示す。モニタモジュール114は、オンチップシステム102全体を通して分散された複数の動作するセンサ(たとえば、熱センサ157)、およびPCD100のLPプロセッサ111、ならびにTABモジュール101と通信する。TABモジュール101は、モニタモジュール114と連携して、ブートシーケンスの初期に、所定の温度閾値および/または範囲と比較して不都合な熱条件を識別し、熱エネルギー消散を管理するためにブートシーケンスを遅延させ、または修正することができる。
図2に示されたように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130は、デジタル信号プロセッサ110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132が、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。PCD100はさらに、ビデオエンコーダ134、たとえば位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または任意の他のタイプのビデオエンコーダ134を含むことができる。ビデオエンコーダ134は、マルチコアCPU110に結合される。ビデオ増幅器136は、ビデオエンコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138は、ビデオ増幅器136に結合される。図2に示されたように、ユニバーサルシリアルバス(「USB」)コントローラ140は、CPU110に結合される。また、USBポート142は、USBコントローラ140に結合される。PoPメモリ112Aを含み得るメモリ112、および加入者識別情報モジュール(「SIM」)カード146も、CPU110および/またはLPプロセッサ111に結合され得る。さらに、図2に示されたように、デジタルカメラ148は、CPU110に結合され得る。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
図2にさらに示されるように、ステレオオーディオコーデック150が、アナログ信号プロセッサ126に結合され得る。さらに、オーディオ増幅器152が、ステレオオーディオコーデック150に結合され得る。例示的な態様では、第1のステレオスピーカー154および第2のステレオスピーカー156は、オーディオ増幅器152に結合される。図2は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合できることを示す。加えて、マイクロフォン160が、マイクロフォン増幅器158に結合され得る。特定の態様では、周波数変調(「FM」)ラジオチューナ162がステレオオーディオコーデック150に結合され得る。また、FMアンテナ164がFMラジオチューナ162に結合される。さらに、ステレオヘッドフォン166がステレオオーディオコーデック150に結合され得る。
図2は、さらに、無線周波(「RF」)送受信機168がアナログ信号プロセッサ126に結合できることを示す。RFスイッチ170がRF送受信機168およびRFアンテナ172に結合され得る。
図2に示されるように、キーパッド174がアナログ信号プロセッサ126に結合され得る。また、マイクロフォン付きモノヘッドセット176は、アナログ信号プロセッサ126に結合され得る。さらに、バイブレータデバイス178は、アナログ信号プロセッサ126に結合され得る。図2は、たとえばバッテリなどの電源188が、電力管理集積回路(「PMIC」)180を介してオンチップシステム102に結合されることも示す。ある特定の態様では、電源は、充電式DCバッテリ、または交流(「AC」)電源に接続されたAC-DC変換器から取り出されるDC電源を含む。
CPU110は、1つまたは複数の内部のオンチップ熱センサ157A、さらには、1つまたは複数の外部のオフチップ熱センサ157Bにも結合され得る。オンチップ熱センサ157Aは、垂直のPNP構造に基づき通常は相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」)回路に専用である、絶対温度に比例する(「PTAT」)1つまたは複数の温度センサを含み得る。オフチップ熱センサ157Bは、1つまたは複数のサーミスタを含み得る。熱センサ157は、アナログデジタル変換器(「ADC」)コントローラ103(図3A参照)によってデジタル信号に変換される、電圧降下を発生させ得る。しかし、本発明の範囲から逸脱することなく、他の種類の熱センサ157が利用されてもよい。
熱センサ157は、ADCコントローラ103により制御され監視されるのに加えて、TABモジュール101によっても制御され監視され得る。TABモジュール101は、LPプロセッサ111によって実行されるソフトウェアを含み得る。しかしながら、本発明の範囲から逸脱することなく、TABモジュール101はまた、ハードウェアおよび/またはファームウェアから形成することができる。TABモジュール101は、センサ157によって生成される信号のどの組合せによってもトリガされ得るブートシーケンス遅延および/または変更を監視および適用する役割を果たし得る。たとえば、TABモジュール101は、いくつかの実施形態では、センサ157Aによって測定された動作温度を温度閾値と比較し、比較に基づいてブートシーケンスを遅延させることを選ぶことができる。他の実施形態では、TABモジュール101は、センサ157Bによってとられた「接触温度」測定値を温度閾値と比較し、比較に基づいて、接触温度が上昇しないようにするために、低下したレベルの処理能力でPCD100をオンラインにするようにブートシーケンスを修正することを選ぶことができる。特に、TABモジュール101によるブートシーケンス遅延および/または変更の適用は、危機的温度および電力崩壊およびリブートの繰り返しを回避することによって、PCD100がユーザ経験を最適化するのを助け得る。
タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカー154、第2のステレオスピーカー156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、熱センサ157B、PMIC180および電源188は、オンチップシステム102の外部にある。しかし、モニタモジュール114は、PCD100上で動作可能なリソースのリアルタイムの管理を援助するために、アナログ信号プロセッサ126およびCPU110およびLPプロセッサ111によって、これらの外部デバイスのうちの1つまたは複数から1つまたは複数の指示または信号を受信することもできることを理解されたい。たとえば、モニタモジュール114によってポーリングされ生成される信号は、メイン熱ポリシー管理(「TPM」)モジュール113によって、ブートシーケンスの完了後の、PCD100における熱エネルギー生成を管理するのに使うことができる。さらに、図2のPCD100の例示的な実施形態において、オンチップシステム102に対して外部として示されるこれらのデバイスのうちの1つまたは複数は、他の例示的な実施形態ではチップ102上に存在し得ることが理解されよう。
ある特定の態様では、本明細書で説明される方法ステップのうちの1つまたは複数は、1つまたは複数のTABモジュール101およびTPMモジュール113を形成する、メモリ112に記憶された実行可能命令およびパラメータによって実施され得る。TABモジュール101およびTPMモジュール113を形成するこれらの命令は、本明細書で説明される方法を実施するために、ADCコントローラ103に加えて、CPU110、アナログシグナルプロセッサ126、LPプロセッサ111または別のプロセッサによって実行され得る。さらに、プロセッサ110、111、126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書に記載された方法ステップのうちの1つまたは複数を実施するための手段として機能し得る。
図3Aは、図2に示されるチップ102のための、ハードウェアの例示的な空間配置を示す機能ブロック図である。この例示的な実施形態によると、アプリケーションCPU110およびLPプロセッサ111がチップ102の遠く左側の領域に配置され、一方モデムCPU168、126がチップ102の遠く右側の領域に配置される。アプリケーションCPU110は、第0のコア222、第1のコア224、および第Nのコア230を含む、マルチコアプロセッサを含み得る。アプリケーションCPU110は、TPMモジュール113を実行していてよく(ソフトウェアで具現化される場合)、または、TPMモジュール113を含んでよい(ハードウェアで具現化される場合)。同様に、LPプロセッサ111は、TABモジュール101を実行していてよく(ソフトウェアで具現化される場合)、または、TABモジュール101を含んでよい(ハードウェアで具現化される場合)。アプリケーションCPU110は、オペレーティングシステム(「O/S」)モジュール207を含むように、さらに例示される。LPプロセッサ111は、ADCコントローラ103と接続されて、およびモニタモジュール114を含むようにさらに示されている。アプリケーションCPU110は、アプリケーションCPU110に隣接して配置されチップ102の左側の領域にある、1つまたは複数の位相ロックループ(「PLL」)209A、209Bに結合され得る。モニタモジュール114およびADCコントローラ103は、「チップ102上」および「チップ102外」に設けられ得る複数の熱センサ157を監視し追跡することを担い得る。
オンチップまたは内部熱センサ157Aは、様々な場所に、およびこれらの場所に近位の1つまたは複数の構成要素に関連付けられて配置され得る。非限定的な例として、第1の内部熱センサ157A1は、アプリケーションCPU110とモデムCPU168、126との間に、かつ内部メモリ112に隣接して、チップ102の上部の中心領域に配置され得る。第2の内部熱センサ157A2は、モデムCPU168、126の下の、チップ102の右側領域に配置され得る。この第2の内部熱センサ157A2はまた、進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)177と第1のグラフィックプロセッサ135Aとの間にも配置され得る。デジタルアナログコントローラ(「DAC」)173は、第2の内部熱センサ157A2とモデムCPU168、126との間に配置され得る。
第3の内部熱センサ157A3は、第2のグラフィックプロセッサ135Bと第3のグラフィックプロセッサ135Cとの間の、チップ102の遠く右側の領域に配置され得る。第4の内部熱センサ157A4は、チップ102の遠く右側の領域に、かつ第4のグラフィックプロセッサ135Dの下に配置され得る。第5の内部熱センサ157A5は、チップ102の遠く左側の領域に、かつPLL209に隣接して配置され得る。
1つまたは複数の外部熱センサ157Bも、ADCコントローラ103に結合され得る。第1の外部熱センサ157B1は、チップの外部に、かつ、モデムCPU168、126、ARM177、およびDAC173を含み得るチップ102の右上4分の1の領域に隣接して配置され得る。第2の外部熱センサ157B2は、チップの外部に、かつ、第3のグラフィックプロセッサ135Cおよび第4のグラフィックプロセッサ135Dを含み得るチップ102の右下4分の1の領域に隣接して配置され得る。特に、外部熱センサ157Bのうちの1つまたは複数は、PCD100の接触温度、すなわちユーザがPCD100に接触する際に受け得る温度を示すのに活用することができる。
図3Aに示されるハードウェアの様々な他の空間構成が、本発明の範囲から逸脱することなく実現され得ることを、当業者は認識するだろう。図3Aは、さらに1つの例示的な空間的配置と、TABモジュール101、モニタモジュール114およびADCコントローラ103がどのように、図3Aに示す例示的な空間的配置に応じる熱条件を認識し、認識された熱条件を温度閾値と比較し、ブートシーケンスを許可し、遅延させ、または修正するための論理を適用することができるかとを示す。
図3Bは、熱アウェアブートシーケンスをサポートするための、図2および図3AのPCD100の例示的なソフトウェアアーキテクチャを示す概略図である。図3Bに示されるように、LPプロセッサ111はバス211を介してメモリ112に結合される。CPU110は、上述したように、N個のコアプロセッサ222、224、Nを有する多重コアプロセッサであり、メイン熱ポリシーマネージャモジュール113を含み、PCD100が完全にブートされ、稼動中になると、またはモジュール113を実行することができる。当業者には知られているように、第0のコア222、第1のコア224、および第Nのコア230の各々は、専用のアプリケーションまたはプログラム、たとえば、メインTPMモジュール113に関連付けられたプログラムなどをサポートするために利用可能であってよい。あるいは、2つ以上の利用可能なコアにわたる処理のために、1つまたは複数のアプリケーションまたはプログラムを分散することができる。特に、熱アウェアブーティングのための方法の実行について、CPU110に対するブートシーケンスの許可、遅延、または修正に関連して記載するが、そのような方法の適用は有利には、熱アグレッサとして識別され得る、PCD100内のどの構成要素に対してもブートシーケンスを許可し、遅延させ、または修正し得ることが当業者には認識されよう。
LPプロセッサ111は、ソフトウェアおよび/またはハードウェアを含み得るTABモジュール101から、命令を受け取ることができる。ソフトウェアとして具現化される場合、TABモジュール101は、LPプロセッサ111および/または他のプロセッサにより実行されている他のアプリケーションプログラムに対して命令を発する、LPプロセッサ111により実行される指示を含む。たとえば、TABモジュール101は、LPプロセッサ111に、優先度がより高い構成要素のブートに適応し得る閾値を熱エネルギーレベルが下回ったままであるように特定の構成要素のブートシーケンスを遅延させるよう命令することができる。この例により特有なこととして、CPU110のコア222に専用の特定の高優先度アプリケーションが素早くオンラインにされることを確実にしようとするTABモジュール101は、LPプロセッサ111に、熱的に強力な隣接コア224のブートを遅延させればよい。あるいは、TABモジュール101は、熱的に攻撃的なコア224が低減周波数でオンラインにされてよく、そうすることによってコア224が生成する熱エネルギーの量を緩和し、コア222の近くの温度レベルが危機的閾値を超えないことを確実にすると判断してよい。有利には、そうすることによって、TABモジュール101は、PCD100が理想よりも低い熱条件下でブートされていてもコア222に関連付けられた高優先度アプリケーションを利用可能にすることによって、ユーザ経験を最適化することが可能であり得る。
当技術分野で知られているように、バス211は、1つまたは複数のワイヤード接続またはワイヤレス接続を介した複数の通信経路を含み得る。バス211は、通信を可能にするために、コントローラ、バッファ(キャッシュ)、ドライバ、レピータ、および受信機のような、簡単にするために省略される追加の要素を有してもよい。さらに、バス211は、上述の構成要素の間での適切な通信を可能にするために、アドレス、制御、および/またはデータ接続を含み得る。
図3Bに示すように、PCD100によって使用される論理がソフトウェアに実装されるとき、開始論理250、管理論理260、熱ブートインターフェース論理270、アプリケーションストア280内のアプリケーション、TPLテーブル24に関連するデータ、およびファイルシステム290の部分のうちの1つまたは複数が、任意のコンピュータ関連のシステムもしくは方法によって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に記憶できることに留意されたい。
この文書の文脈では、コンピュータ可読媒体は、コンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる、電子式、磁気式、光学式、または他の物理デバイスまたは手段である。様々な論理素子およびデータストアは、たとえばコンピュータベースのシステム、プロセッサを含むシステム、または命令実行システム、装置、もしくはデバイスから命令をフェッチし、命令を実行することができる他のシステムのような、命令実行システム、装置、またはデバイスによって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に組み込まれ得る。この文書の文脈では、「コンピュータ可読媒体」は、命令実行システム、装置、もしくはデバイスによって、またはそれと関連して使用するために、プログラムを記憶、通信、伝搬、または移送することができる任意の手段であってよい。
コンピュータ可読媒体は、限定はされないがたとえば、電子式、磁気式、光学式、電磁式、赤外線式、または半導体の、システム、装置、デバイス、または伝搬媒体であってよい。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)には、1つまたは複数の配線を有する電気的接続(電子式)、ポータブルコンピュータディスケット(磁気式)、ランダムアクセスメモリ(「RAM」)(電子式)、読取り専用メモリ(「ROM」)(電子式)、消去可能プログラマブル読取り専用メモリ(「EPROM」、「EEPROM」、または「フラッシュ」メモリ)(電子式)、光ファイバ(光学式)、および携帯式コンパクトディスク読取り専用メモリ(「CDROM」)(光学式)が含まれるはずである。プログラムは、たとえば紙または他の媒体の光学走査を介して、電子的に記録され、次いで、コンパイルされ、解釈され、または場合によっては、必要に応じて適切な方法で処理され、次いでコンピュータメモリに記憶され得るので、コンピュータ可読媒体は、プログラムが印刷される紙または別の適切な媒体でさえあり得ることに留意されたい。
代替の実施形態では、開始論理250、管理論理260、および場合によっては熱ブートインターフェース論理270のうちの1つまたは複数がハードウェアに実装されるとき、様々な論理は、各々当技術分野でよく知られている以下の技術、すなわち、データ信号に対する論理機能を実装するための論理ゲートを有する個別の論理回路、適切な組合せの論理ゲートを有する特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「PGA」)、フィールドプログラマブルゲートアレイ(「FPGA」)などのうちのいずれか、またはその組合せによって実装することができる。
メモリ112は、フラッシュメモリまたはソリッドステートメモリデバイスなどの不揮発性データ記憶デバイスであり得る。単一のデバイスとして示されているが、メモリ112は、デジタル信号プロセッサおよび/またはプロセッサ111に結合された別個のデータストアを有する分散型メモリデバイスでもよい。
熱アウェアブーティングのための例示的な一実施形態において、開始論理250は、ブートシーケンスを管理または制御するための選択プログラムを選択的に識別し、ロードし、実行するための1つまたは複数の実行可能命令を含む。開始論理250は、TABモジュール101による、様々な温度測定値と閾値温度設定の比較に基づいて選択プログラムを識別し、ロードし、実行すればよい。例示的な選択プログラムは、組込みファイルシステム290のプログラムストア296で見つけることができ、ブートアルゴリズム297とパラメータのセット298との特定の組合せによって定義される。いくつかの実施形態において、ブートアルゴリズム297は、PCD100内の1つまたは複数の構成要素の性能スケーリングを対象とし得る。
例示的な選択プログラムは、LPプロセッサ111によって実行されると、TABモジュール101によって与えられる制御信号と組み合わせて、モニタモジュール114によって与えられる1つまたは複数の信号に従って、1つまたは複数の構成要素が、低下したレベルの電力消費でオンラインにされるように、ブートシーケンスを遅延させ、ブートシーケンスの完了を許可し、またはブートシーケンスを修正するように動作し得る。この点について、モニタモジュール114は、TABモジュール101から受け取られた、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、ならびに温度などの、1つまたは複数のインジケータを提供することができる。
管理論理260は、所与の熱ブートポリシーを終了させ、ならびにより適切な熱ブートポリシーを選択的に識別し、ロードし、実行するための1つまたは複数の実行可能命令を含む。管理論理260は、実行時に、またはPCD100が電力供給されデバイスの操作者によって使用されている間に、これらの機能を実施するように構成される。交換プログラムは、組込みファイルシステム290のプログラムストア296で見つけることができ、いくつかの実施形態では、ブートアルゴリズム297とパラメータのセット298との特定の組合せによって定義され得る。
交換プログラムは、LPプロセッサ111によって実行されると、モニタモジュール114によって与えられる1つまたは複数の信号に従って、PCD100内の1つまたは複数の構成要素向けのブートシーケンスを許可し、遅延させ、または修正するように動作し得る。これに関して、モニタモジュール114は、TABモジュール101から発信する制御信号に応答して、イベント、プロセス、アプリケーション、リソース状態の条件、経過時間、温度、漏洩電流などの、1つまたは複数のインジケータを提供することができる。
インターフェース論理270は、組込みファイルシステム290に記憶された情報を観察し、構成し、または場合によっては更新するために、外部入力を提示し、管理し、それと対話するための1つまたは複数の実行可能命令を含む。一実施形態では、インターフェース論理270は、USBポート142を介して受信された製造業者の入力とともに動作することができる。これらの入力は、プログラムストア296から削除されるべき、またはプログラムストア296に追加されるべき、1つまたは複数のプログラムを含むことができる。あるいは、入力は、プログラムストア296内のプログラムのうちの1つまたは複数に対する編集または変更を含むことができる。その上、入力は、開始論理250と管理論理260の一方または両方に対する1つまたは複数の変更、または全交換を識別することができる。例として、入力は、ブートがある特定の回数または総持続期間だけ遅延されているとき、温度測定値にかかわらずブートシーケンスを許可するよう、PCD100に命令する管理論理260に対する変更を含み得る。
インターフェース論理270により、製造業者が、PCD100の定義された動作状態の下で、エンドユーザの体験を制御可能に構成および調整することが可能になる。メモリ112がフラッシュメモリであるとき、開始論理250、管理論理260、インターフェース論理270、アプリケーションストア280内のアプリケーションプログラム、TPLテーブル24内のデータ、または組込みファイルシステム290内の情報のうちの1つまたは複数は、編集され、置き換えられ、または場合によっては修正することができる。いくつかの実施形態では、インターフェース論理270により、PCD100のエンドユーザまたは操作者が、開始論理250、管理論理260、アプリケーションストア280内のアプリケーション、TPLテーブル24内のデータ、および組込みファイルシステム290内の情報を検索し、特定し、修正し、または置き換えることができる。操作者は、得られたインターフェースを使用して、PCD100の次の開始時に実装される変更を行うことができる。あるいは、操作者は、得られたインターフェースを使用して、実行時に実装される変更を行うことができる。
組込みファイルシステム290は、階層配置の熱アウェアブートモードストア292を含む。これに関して、ファイルシステム290は、PCD100が使用する様々なパラメータ298およびブートシーケンスアルゴリズム297の構成および管理のための情報を記憶するための、その全ファイルシステム容量の確保された部分を含むことができる。図3Bに示すように、ストア292は、プログラムストア296を含み、ストア296は、1つまたは複数の熱アウェアブートプログラムを含む。
図4は、PCD100のQoSおよび全体的ユーザ経験を最適化するようにTABモジュール101によって認識および管理され得る様々な熱ブート状態405、410、415、420を示す例示的な状態図400である。第1の熱ブート状態405は、TABモジュール101の熱アウェアブートポリシーが不変のままである、「正常な」状態を含むことができる。この例示的な第1のおよび正常な状態405において、モニタモジュール114によってポーリングされた温度は、危機的温度に達するいかなる恐れも危険もなく、PCD100内の構成要素が全電力容量および機能性でブートされ得るように、所定の閾値を十分に下回る。この例示的な状態において、モニタモジュール114によってポーリングされた接触温度または他の熱インジケータは、最大閾値を十分に下回り得る。
第2の熱ブート状態410は、TABモジュール101が、モニタモジュールによってポーリングされた、上昇した熱インジケータを認識するとともに、その熱アウェアブートポリシーを、PCD100の1つまたは複数の処理構成要素に対して修正することができる「上昇」状態を含み得る。この例示的な第2の状態410には、PCD100の健全性も、ミッションクリティカルなサービスの配信も危険にさらすことなく、PCD100内のすべての構成要素が全電力でブートされ得るわけではないことを熱インジケータが示唆するとき、TABモジュール101によって達し、または入ることができる。
第2の上昇熱ブート状態410において、TABモジュール101は、TPLテーブル24を照会し、構成要素をブートした結果として生成された熱エネルギーにより、PCD100が重度または危機的状態に入ることがないように、1つまたは複数の処理構成要素の性能をスケーリングするよう、LPプロセッサ111に要求することができる。この特定の状態410において、TABモジュール101は、操作者によってほとんど知覚可能でないとともにPCD100によって提供されるサービス品質を最小限にしか低下させ得ない性能スケーリングを実装または要求することによって、ブートシーケンスを修正するように設計される。この第2の上昇熱ブート状態410のさらなる詳細は、図5に関連して以下に記載される。
第3の熱ブート状態415は、TABモジュール101が、上述された第2の上昇状態410と比較してより攻撃的な熱アウェアブートポリシーを要求および/または適用する、「重度の」状態を含むことができる。これは、この状態では、TABモジュール101が操作者の観点からサービス品質にあまり関心がないことを意味する。この重度の熱ブート状態において、TABモジュール101は、ブートシーケンスを完了する前にPCD100の温度を下げるために、全体的熱エネルギー消散レベルを緩和または低下させることをより懸念する。この第3の熱ブート状態415において、操作者によって影響が容易に認知または観察されるように、PCD100の1つもしくは複数の構成要素が、完全ブートにおいて厳しくスケーリングされ、または1つもしくは複数の構成要素のブートが完全にキルされてよい。第3の重度の熱ブート状態415、およびTABモジュール101によって適用または開始される対応する熱アウェアブートポリシーは、図5に関連して以下でさらに詳しく記載される。
この図の中の矢印が示すように、各々の熱ブートは、順番に開始される場合があるか、または、検出できる熱エネルギー消散内の変化の大きさに応じて、順番と関係なく開始される場合がある。したがって、このことは、TABモジュール101が、センサ157によって検出される熱インジケータの変化に基づいて、第1および正常な熱ブート状態405を出て、第3および重度の熱ブート状態415に関連付けられた熱アウェアブートポリシーに入り、または開始し得ることを意味する。同様に、PCD100は、第2または上昇熱ブート状態410にあり、熱インジケータの、認識された変化に基づいて、第4または危機的な状態420に入り、または開始することができる。この例示的な第3および危機的な状態420において、TABモジュール101は、PCD100に含まれる1つまたは複数の構成要素が熱的不安定性または永続的な損傷さえをも経ることになる温度に達することなくPCD100をブートするために、可能な限り多くの処理構成要素の電力レベルを大幅にスケーリング中であり得る。
この第4および危機的な熱ブート状態420は、危機的温度またはPCD100内の1つまたは複数の構成要素に対する永続的な損傷を回避するために、PCD100のブートシーケンスを完全に遅延させることができる。第4の熱ブート状態420は、TABモジュール101が、構成要素をオンラインにする前に熱エネルギーがより安全なレベルに消散する機会を与えるために、ブートシーケンスの一連の遅延を適用またはトリガする「危機的」状態を含み得る。第4の危機的な熱状態420は、図5に関連して以下でさらに詳しく記載される。
熱アウェアブーティングのための様々な方法は、図4に示す4つの熱ブート状態405、410、415、および420に限定されない。特定のPCD100に応じて、追加のまたはより少数の熱ブート状態が、本発明の範囲から逸脱することなく提供されてよい。すなわち、さらなる熱ブート状態が、特定のPCD100の機能および動作を改善することができる一方、他の状況では、より少ない熱ブート状態が、固有のハードウェアおよび/またはソフトウェアを有する特定のPCD100に適切であり得ることを、当業者は認識されよう。
図5は、QoSおよび全体的ユーザ経験を最適化するために適用することができるとともに、図4の例示に関して記載した例示的なブート状態405、410、415、420など、PCD100の特定の熱ブート状態に依存する例示的な熱アウェアブートポリシーを示す図500である。前述したように、この第1の熱ブート状態405において、センサ157によって測定され、モニタモジュール114によってポーリングされる熱インジケータは、全電力ブートシーケンスが悪影響を与えない安全な熱エネルギーレベルをPCD100が受けていることを示し得る。一般に、この第1の熱ブート状態において、TABモジュール101は、PCD100内の構成要素がそれらの最大限の可能性および最も高い性能までブートされるように、どの熱アウェアブートポリシーも適用中でないか、または要求済みでない。したがって、ブートシーケンスは、変更も遅延もなしで完了され、PCD100の全機能性が可能な限り素早くユーザに対して利用可能にされ得る。
上昇状態410とも呼ばれる第2の熱ブート状態410において、TABモジュール101は、PCD100の操作者によって知覚されるようなサービス品質の低下の知覚をほとんどまたはまったく伴わずに高い性能を維持する目的で、熱アウェアブートポリシーを開始または要求することができる。PCD100は、優先度が比較的低い作業負荷に専用の処理構成要素をわずかにスケーリングするだけで、全電力レベルの近くまでブートされる。あるいは、上昇した熱インジケータに関連付けられた様々な処理構成要素が、構成要素に割り当てられた作業負荷の優先度を考慮せずに、全電力未満のある程度の電力レベルまでブートされ得る。
ここで、重度の状態415としても知られる、図5の第3の熱ブート状態415を参照すると、TABモジュール101は、おそらく知覚可能な性能低下がPCD100の操作者によって観察される、より攻撃的な熱アウェアブートポリシーを適用または要求することができる。この例示的な熱ブート状態415によれば、TABモジュール101は、ブートされると、GPU182またはCPU110のコアのような1つまたは複数の構成要素に対して電力の低下を引き起こす可能性がある。TABモジュール101は、優先度がより高い作業負荷に関連付けられた他の処理構成要素をオンラインにすることを好んで、いくつかの構成要素のブーティングを完全に遅延させてもよい。本質的に、この第3および重度の熱ブート状態415の熱アウェアブートポリシーは、第2の上昇した熱ブート状態410を参照して上述したものと同じであり得る。しかしながら、これらの同じ熱アウェアブートポリシーは、より攻撃的な方式で適用することができる。
ここで、図5の第4および危機的な熱ブート状態420を参照すると、TABモジュール101は、PCD100が危機的レベルの熱エネルギー消散を受け、したがって、どの不可欠ではないハードウェアのブートシーケンスも持続させることができないと認識し得る。TABモジュール101は、LPプロセッサ111に、超過熱エネルギーが消散する機会をもつまで、ブートシーケンスを全体的に遅延させ、またはおそらく、不可欠なハードウェアのブートのみを許可するよう命令すればよい。「不可欠ではない」ハードウェアモジュールおよび/またはソフトウェアモジュールは、特定のPCD100の各々のタイプによって異なる場合がある。例示的な一実施形態によると、すべての不可欠ではないハードウェアモジュールおよび/またはソフトウェアモジュールは、緊急の911通話機能および全地球測定システム(「GPS」)機能以外のすべてを含むことができる。このことは、この第4の危機的な熱ブート状態420では、TABモジュール101が、緊急の911通話およびGPS機能性に影響しないすべての構成要素のブーティングを遅延させる場合があることを意味する。TABモジュール101は、モニタモジュール114によって監視される危機的温度または熱インジケータに応じて、構成要素のブーティングを、順に、および/または並行して許可または拒否することができる。
図6は、監視される熱的インジケータに基づいてブートシーケンスを許可または遅延させることを含む、PCD100における熱アウェアブーティングのための方法600を示す論理フローチャートである。図6の方法600は、第1のブロック605で始まり、ここでTABモジュール101は、モニタモジュール114とともに、集積回路102の上に、または回路102から離れて置かれた温度センサなど、1つまたは複数の熱インジケータセンサ157をポーリングする。
特に、上で説明したように、様々なセンサ157は、PCD100内の構成要素に関連付けられ、ブートシーケンスの早い段階中にポーリングまたは監視される。したがって、ブロック605によって表される機能が最初に実行されるとき、PCD100内の構成要素の多くはオンラインではない。
決定ブロック610で、TABモジュール101は、ブロック605でポーリングされた測定値を所定の閾値と比較する(この例示のために、熱インジケータおよび関連閾値については、温度読取り値のコンテキストで記載する)。所定の温度閾値は、ブートプロセス中のおそらく超過熱エネルギー生成および消散から、構成要素の健全性を危うくすることも危険にさらすこともなく、PCD100内の様々な構成要素がブートされ得る最大許容可能温度を示し得る。測定された温度が、決定ブロック610で、ポーリングされたセンサ157に関連付けられた構成要素についての関連閾値未満であると判断された場合、「no」分岐に続いてブロック635に進み、PCD100は、ブートシーケンスを完了することを認められる。特に、ブートプロセスの完了は、全電力がCPU110などの処理構成要素に供給されることを含み得る。有利には、センサ157をポーリングし、測定された温度が、センサ157に関連付けられた構成要素の所定の閾値より低いことを確認することによって、PCD100内の構成要素の健全性を危うくすることも、ユーザ経験を過度に犠牲にすることもなく、PCD100は、完全にブートされ、フルレベルのサービス品質(「QoS」)まで上げられ得る。
決定ブロック610で、測定された温度のうちの1つまたは複数が、所定の閾値を超えると判断された場合、TABモジュール101は、ブートシーケンスの完了により、熱エネルギー生成および消散が構成要素の健全性を危険にさらすと推定してよい。例示的な方法600でのそのような状況において、「yes」分岐に続いてブロック615に進み、ブートシーケンスが遅延される。有利には、ブートシーケンスを遅延させることによって、熱エネルギーには、消散する機会を与えることができ、そうすることによって、温度が、閾値より低いレベルまで下がる。遅延の長さは所定であってもよく、いくつかの実施形態では、遅延の長さは、測定された値と所定の閾値との間の差に相対して算出することもできる。
ブロック615でブートシーケンスを遅延させた後、温度センサ157は、ブロック620で再度ポーリングされ、所定の閾値と再度比較される。遅延により、温度が今では閾値を下回るように超過熱エネルギーが消散したことを、測定された温度が示す場合、「no」分岐に続いてブロック635に進み、PCD100は、ブートシーケンスを完了することを認められる。ただし、決定ブロック625で、温度のうちの1つまたは複数が、依然として所定の閾値を超える場合、「yes」分岐に続いて、決定ブロック630に進む。
決定ブロック630で、遅延の回数または全長が確認され、遅延周期についての所定の閾値が満たされている場合、「yes」分岐に続いてブロック635に進んでよく、ここでPCD100は、測定された温度が依然として最大閾値を上回っていても、ブートシーケンスを完了することを認められる。特に、QoSおよびユーザ経験を最適化するために、熱アウェアブーティングのためのシステムおよび方法のいくつかの実施形態は、最大数の遅延周期を含み得ると想定される。周期の最大数、または遅延周期の総持続期間は、上昇した温度条件下でPCD100をブートする際の危険と、ユーザ経験およびQoSレベルとのトレードオフに基づいて算出することができる。
決定ブロック630で、遅延周期の最大数、または遅延周期の総持続期間が満たされていないと判断された場合、「no」分岐に続いてブロック615に戻ってよく、ここでブートシーケンスは、追加の熱エネルギー消散を可能にするためにさらに遅延される。このようにして、方法がブロック635に移るよう、およびPCD100がブートシーケンスを完了することを許可されるよう、アルゴリズムが命じるまで、一続きのブロック615〜630が繰り返される。
図7は、熱ブート状態(例示的な状態については、図4〜図5参照)の認識に基づいて、および図8の例示的な熱性能ルックアップテーブルに従って、ブートシーケンスを修正することを含む、PCD100における熱アウェアブーティングのための方法700を示す論理フローチャートである。図8は、図7に示す例示的な方法700など、熱アウェアブーティングのための方法の実施形態によって照会することができる例示的な熱性能ルックアップテーブル24である。図8の熱性能ルックアップテーブル24について、例示的な熱アウェアブーティング方法700と並行して記載する。
ブロック705で開始すると、モニタモジュール114は、熱インジケータに関連付けられた測定値を求めて、1つまたは複数のセンサ157をポーリングすることができる。上述したように、モニタモジュール114によってポーリングされた測定値は、動作温度、接触温度、母線上での漏れ電流、バッテリの充電状態などを含むが、それに限定されない、どの熱インジケータにも関連付けられ得ると想定される。熱インジケータ測定値は、デジタル信号に変換され、TABモジュール101にフォワードされ得る。ブロック710で、TABモジュール101は、熱性能ルックアップテーブル24(図8参照)を照会し、測定値を、テーブル24に含まれる様々な熱インジケータ範囲と比較することができる。続いて、決定ブロック715で、TABモジュール101は、存在する場合、テーブル24に含まれる閾値のうちのどれを超えているか判断することができる。
図8の例示を参照すると、熱インジケータは、温度測定値の形であり、最も低い閾値は65℃である。したがって、決定ブロック715で、TABモジュール101が、テーブル24の照会から、ブロック705でとられた温度測定値が65℃の閾値を下回ると判断した場合、「正常」熱ブート状態に関連付けられた熱ブートポリシーが、ブロック735で適用され得る。図8の例示的なTPLテーブル24において、「正常」熱ブート状態は、TABモジュール101が変更なしでブートシーケンスを許可するよう、すなわち、2つの例示的なコアが、それぞれ1.5GHzの全処理速度でオンラインになるよう命じる。2つのコアが1.5GHzの全処理速度でオンラインになると、ブロック740で、メインTPMモジュール113はオンラインになって、熱管理ポリシーを適用し、熱管理技法を実装することができる。
ただし、決定ブロック715で、TABモジュール101が、ブロック710での比較から、温度測定値が、TPLテーブル24から照会された閾値を超えると判断した場合、「yes」分岐に続いてブロック720に進む。ブロック720で、TABモジュール101は、超えられた最も高い閾値に基づいて、TPLテーブル24から適切な熱ブートポリシーを選択することができる。たとえば、図8の例示を参照すると、ブロック705でとられた温度測定値が、65℃を超えるが76℃未満である場合、「上昇」熱ブート状態に関連付けられたポリシーが、ブロック725でTABモジュール101によって適用され得る。つまり、TABモジュール101は、LPプロセッサ111に、2つの例示的なコアの各々を918MHzの低減周波数までブートするよう命令することによって、ブートシーケンスを修正することができる。有利には、ブートシーケンスをこのように修正することによって、完全にブートされたときにコアによって生成される熱エネルギーの量は、現在の熱条件を悪化させ、PCD100内の1つまたは複数の構成要素の健全性を危険にさらす程ではなくなる場合があるが、以前として高レベルのQoSおよびユーザ経験を、PCD100のユーザに提供する。
ブロック720および725に戻って参照すると、決定ブロック715で、温度測定値が、76℃は超えるが80℃は超えないと判断された場合、TABモジュール101は、「重度」熱ブート状態に関連付けられた熱ブートポリシーを適用し、LPプロセッサ111に、単一コア用のブートプロセスのみを、786MHzの低減周波数で完了するよう命令することができる。重度熱ブート状態の例示的な熱ブートポリシーは、上昇ブート状態に関して記載したものよりも攻撃的であるが、このポリシーは、構成要素を損ない得る重度の熱条件下でPCD100がブートするよう頼まれたときでさえも、PCD100のユーザに何らかの機能性を少なくとも提供し得ることが当業者には認識されよう。
同様に、TABモジュール101が、TPLテーブル24の照会から、測定された温度が80℃を超えると判断した場合、危機的熱ブート状態が認識され、LPプロセッサ111は、TABモジュール101によって、超過熱エネルギーが消散する機会を得るまで、ブートシーケンス全体を遅延させるよう命令され得る。特に、図6の方法600に関して記載したように、モニタモジュール114は、熱インジケータをポーリングし続け(ブロック705)、方法700は、熱ブートポリシーに従ってPCD100がブートされるまで繰り返されてよい。
ブロック725で、熱ブートポリシーに従ってブートされると、ブロック730で、TABモジュール101のいくつかの実施形態が、熱インジケータをポーリングし続け、熱インジケータに基づいて処理構成要素の電力周波数を上方または下方調整することができる。有利には、全電力未満の周波数レベルまでブートされた処理コアに、熱管理技法を適用し続けることによって、TABモジュール101は、ブロック740で、処理構成要素がメインTPMモジュール113をオンラインにするのに熱条件が適するまで、QoSおよびユーザ経験を最適化することができる。
本発明が説明通りに機能するように、本明細書に記載されたプロセスまたはプロセスフロー内のある特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、そのような順序またはシーケンスが本発明の機能を変えない場合、本発明は記載されたステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、あるステップは、他のステップの前に実施されるか、後に実施されるか、または他のステップと並行して(実質的に同時に)実施される場合があることを認識されたい。
いくつかの例では、ある特定のステップは、本発明から逸脱することなく、省略されるか、または実施されない場合がある。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
加えて、プログラミングの当業者は、たとえば本明細書内のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を識別して、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示は、本発明をどのように製作および使用すべきかについて適切に理解するために必要であるとはみなされない。特許請求されるコンピュータ実装プロセスの発明性のある機能は、上記の説明において、かつ、様々なプロセスフローを示すことができる図面とともに、より詳細に説明される。
1つまたは複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。ソフトウェアに実装される場合、機能は、1つもしくは複数の命令もしくはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体上で送信することができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。
記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。
また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(「CD」)、レーザー(登録商標)ディスク、光ディスク、デジタル多用途ディスク(「DVD」)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
したがって、選択された態様が詳細に図示および説明されたが、以下の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されよう。
24 熱性能ルックアップ(TPL)テーブル
100 PCD
101 TABモジュール、熱アウェアブートモジュール
102 オンチップシステム、チップ、集積回路
103 アナログデジタル変換器(ADC)コントローラ
110 CPU、中央処理装置、デジタル信号プロセッサ、プロセッサ
111 LPプロセッサ、低電力プロセッサ、プロセッサ
112 メモリ
112A PoPメモリ
113 メイン熱ポリシーマネージャモジュール、TPMモジュール
114 モニタモジュール
126 アナログ信号プロセッサ、プロセッサ
128 ディスプレイコントローラ
130 タッチスクリーンコントローラ
132 タッチスクリーンディスプレイ
134 ビデオエンコーダ
135A 第1のグラフィックプロセッサ
135B 第2のグラフィックプロセッサ
135C 第3のグラフィックプロセッサ
135D 第4のグラフィックプロセッサ
136 ビデオ増幅器
138 ビデオポート
140 ユニバーサルシリアルバス(USB)コントローラ
142 USBポート
146 加入者識別情報モジュール(SIM)カード
148 デジタルカメラ、カメラ
150 ステレオオーディオコーデック
152 オーディオ増幅器
154 第1のステレオスピーカー
156 第2のステレオスピーカー
157 センサ、熱センサ、熱インジケータセンサ、温度センサ
157A オンチップ熱センサ、センサ
157A1 第1の内部熱センサ
157A2 第2の内部熱センサ
157A4 第4の内部熱センサ
157A5 第5の内部熱センサ
157B センサ、オフチップ熱センサ、熱センサ
157B1 第1の外部熱センサ
157B2 第2の外部熱センサ
158 マイクロフォン増幅器
160 マイクロフォン
162 周波数変調(FM)ラジオチューナ
164 FMアンテナ
166 ステレオヘッドフォン
168 無線周波(RF)送受信機
168、126 モデムCPU
170 RFスイッチ
172 RFアンテナ
173 デジタルアナログコントローラ(DAC)
174 キーパッド
176 マイクロフォン付きモノヘッドセット、モノヘッドセット
177 進化した縮小命令セットコンピュータ(RISC)命令セットマシン(ARM)
178 バイブレータデバイス、バイブレータ
180 電力管理集積回路(PMIC)
182 GPU
188 電源
207 オペレーティングシステム(O/S)モジュール
209 PLL
209A 位相ロックループ(PLL)
209B 位相ロックループ(PLL)
211 バス
222 コア、第0のコア、コアプロセッサ
224 コア、第1のコア224、コアプロセッサ
226 コア
228 コア
230 第Nのコア
250 開始論理
260 管理論理
270 熱ブートインターフェース論理、インターフェース論理
280 アプリケーションストア
290 ファイルシステム
292 熱アウェアブートモードストア、ストア
296 プログラムストア
297 ブートアルゴリズム、ブートシーケンスアルゴリズム
298 パラメータのセット、パラメータ

Claims (80)

  1. ポータブルコンピューティングデバイス(「PCD」)における熱アウェアブーティングのための方法であって、前記方法が、
    熱インジケータの測定値に対して前記PCD内のセンサをポーリングするステップであって、前記センサが、前記PCD内の1つまたは複数の構成要素に関連付けられている、ステップと、
    前記ポーリングされた測定値を所定の閾値と比較するステップと、
    前記ポーリングされた測定値が前記所定の閾値を超えているかどうか判断するステップと、
    前記ポーリングされた測定値が前記所定の閾値を超えている場合、ブートシーケンスを遅延させるステップとを含む方法。
  2. 前記熱インジケータがオンダイ温度である、請求項1に記載の方法。
  3. 前記熱インジケータが前記PCDの接触温度である、請求項1に記載の方法。
  4. 前記熱インジケータが、前記PCD内のバッテリの充電状態である、請求項1に記載の方法。
  5. 前記熱インジケータが、前記PCD内の母線上での電流レベルである、請求項1に記載の方法。
  6. 前記所定の閾値が、前記センサに関連付けられた前記1つまたは複数の構成要素の最大動作温度に基づく、請求項1に記載の方法。
  7. 前記センサをもう一度ポーリングするステップと、前記ポーリングされた測定値が依然として前記所定の閾値を超えている場合、ブートシーケンスをもう一度遅延させるステップとをさらに含む、請求項1に記載の方法。
  8. 前記センサをもう一度ポーリングするステップと、前記ポーリングされた測定値が前記所定の閾値未満である場合、ブートシーケンスの完了を許可するステップとをさらに含む、請求項1に記載の方法。
  9. 前記センサを複数回ポーリングするステップをさらに含み、
    ポーリングされた測定値が前記所定の閾値未満である場合、ブートシーケンスの完了を許可し、
    前記センサが所定の回数よりも多くポーリングされた場合、ブートシーケンスの完了を許可する、請求項1に記載の方法。
  10. 前記PCDがモバイルフォンを備える、請求項1に記載の方法。
  11. ポータブルコンピューティングデバイス(「PCD」)における熱アウェアブーティングのためのコンピュータシステムであって、前記コンピュータシステムが、
    熱インジケータの測定値に対して前記PCD内のセンサをポーリングするように構成されたモニタモジュールであって、前記センサが、前記PCD内の1つまたは複数の構成要素に関連付けられている、モニタモジュールと、
    前記ポーリングされた測定値を所定の閾値と比較し、
    前記ポーリングされた測定値が前記所定の閾値を超えているかどうか判断し、
    前記ポーリングされた測定値が前記所定の閾値を超えている場合、低電力(「LP」)プロセッサに、ブートシーケンスを遅延させるよう命令する
    ように構成された熱アウェアブート(「TAB」)モジュールとを備えるコンピュータシステム。
  12. 前記熱インジケータがオンダイ温度である、請求項11に記載のコンピュータシステム。
  13. 前記熱インジケータが前記PCDの接触温度である、請求項11に記載のコンピュータシステム。
  14. 前記熱インジケータが、前記PCD内のバッテリの充電状態である、請求項11に記載のコンピュータシステム。
  15. 前記熱インジケータが、前記PCD内の母線上での電流レベルである、請求項11に記載のコンピュータシステム。
  16. 前記所定の閾値が、前記センサに関連付けられた前記1つまたは複数の構成要素の最大動作温度に基づく、請求項11に記載のコンピュータシステム。
  17. 前記モニタモジュールが、前記センサをもう一度ポーリングするようにさらに構成され、前記TABモジュールが、前記ポーリングされた測定値が前記所定の閾値を依然として超えている場合、ブートシーケンスの遅延をもう一度引き起こすようにさらに構成される、請求項11に記載のコンピュータシステム。
  18. 前記モニタモジュールが、前記センサをもう一度ポーリングするようにさらに構成され、前記TABモジュールが、前記ポーリングされた測定値が前記所定の閾値未満である場合、ブートシーケンスの完了を許可するようにさらに構成される、請求項11に記載のコンピュータシステム。
  19. 前記モニタモジュールが、前記センサを複数回ポーリングするようにさらに構成され、前記TABモジュールが、
    ポーリングされた測定値が前記所定の閾値未満である場合、ブートシーケンスの完了を許可し、
    前記センサが所定の回数よりも多くポーリングされた場合、ブートシーケンスの完了を許可するようにさらに構成される、請求項11に記載のコンピュータシステム。
  20. 前記PCDがモバイルフォンを備える、請求項11に記載のコンピュータシステム。
  21. ポータブルコンピューティングデバイス(「PCD」)における熱アウェアブーティングのためのコンピュータシステムであって、前記コンピュータシステムが、
    熱インジケータの測定値に対して前記PCD内のセンサをポーリングするための手段であって、前記センサが、前記PCD内の1つまたは複数の構成要素に関連付けられている、手段と、
    前記ポーリングされた測定値を所定の閾値と比較するための手段と、
    前記ポーリングされた測定値が前記所定の閾値を超えているかどうか判断するための手段と、
    前記ポーリングされた測定値が前記所定の閾値を超えている場合、ブートシーケンスを遅延させるための手段とを備えるコンピュータシステム。
  22. 前記熱インジケータがオンダイ温度である、請求項21に記載のコンピュータシステム。
  23. 前記熱インジケータが前記PCDの接触温度である、請求項21に記載のコンピュータシステム。
  24. 前記熱インジケータが、前記PCD内のバッテリの充電状態である、請求項21に記載のコンピュータシステム。
  25. 前記熱インジケータが、前記PCD内の母線上での電流レベルである、請求項21に記載のコンピュータシステム。
  26. 前記所定の閾値が、前記センサに関連付けられた前記1つまたは複数の構成要素の最大動作温度に基づく、請求項21に記載のコンピュータシステム。
  27. 前記センサをもう一度ポーリングするための手段と、前記ポーリングされた測定値が依然として前記所定の閾値を超えている場合、ブートシーケンスをもう一度遅延させるための手段とをさらに備える、請求項21に記載のコンピュータシステム。
  28. 前記センサをもう一度ポーリングするための手段と、前記ポーリングされた測定値が前記所定の閾値未満である場合、ブートシーケンスの完了を許可するための手段とをさらに備える、請求項21に記載のコンピュータシステム。
  29. 前記センサを複数回ポーリングするための手段と、
    ポーリングされた測定値が前記所定の閾値未満である場合、ブートシーケンスの完了を許可するための手段と、
    前記センサが所定の回数よりも多くポーリングされた場合、ブートシーケンスの完了を許可するための手段とをさらに備える、請求項21に記載のコンピュータシステム。
  30. 前記PCDがモバイルフォンを備える、請求項21に記載のコンピュータシステム。
  31. コンピュータ可読プログラムコードを具現化したコンピュータ使用可能媒体を含むコンピュータプログラムであって、前記コンピュータ可読プログラムコードが、ポータブルコンピューティングデバイス(「PCD」)における熱アウェアブーティングのための方法を実施するために実行されるように適合され、前記方法が、
    熱インジケータの測定値に対して前記PCD内のセンサをポーリングするステップであって、前記センサが、前記PCD内の1つまたは複数の構成要素に関連付けられたステップと、
    前記ポーリングされた測定値を所定の閾値と比較するステップと、
    前記ポーリングされた測定値が前記所定の閾値を超えているかどうか判断するステップと、
    前記ポーリングされた測定値が前記所定の閾値を超えている場合、ブートシーケンスを遅延させるステップとを含むコンピュータプログラム。
  32. 前記熱インジケータがオンダイ温度である、請求項31に記載のコンピュータプログラム。
  33. 前記熱インジケータが前記PCDの接触温度である、請求項31に記載のコンピュータプログラム。
  34. 前記熱インジケータが、前記PCD内のバッテリの充電状態である、請求項31に記載のコンピュータプログラム。
  35. 前記熱インジケータが、前記PCD内の母線上での電流レベルである、請求項31に記載のコンピュータプログラム。
  36. 前記所定の閾値が、前記センサに関連付けられた前記1つまたは複数の構成要素の最大動作温度に基づく、請求項31に記載のコンピュータプログラム。
  37. 前記センサをもう一度ポーリングするステップと、前記ポーリングされた測定値が依然として前記所定の閾値を超えている場合、ブートシーケンスをもう一度遅延させるステップとをさらに含む、請求項31に記載のコンピュータプログラム。
  38. 前記センサをもう一度ポーリングするステップと、前記ポーリングされた測定値が前記所定の閾値未満である場合、ブートシーケンスの完了を許可するステップとをさらに含む、請求項31に記載のコンピュータプログラム。
  39. 前記センサを複数回ポーリングするステップをさらに含み、
    ポーリングされた測定値が前記所定の閾値未満である場合、ブートシーケンスの完了を許可し、
    前記センサが所定の回数よりも多くポーリングされた場合、ブートシーケンスの完了を許可する、請求項31に記載のコンピュータプログラム。
  40. 前記PCDがモバイルフォンを備える、請求項31に記載のコンピュータプログラム。
  41. ポータブルコンピューティングデバイス(「PCD」)における熱アウェアブーティングのための方法であって、前記方法が、
    熱インジケータの測定値に対して前記PCD内のセンサをポーリングするステップであって、前記センサが、前記PCD内の1つまたは複数の構成要素に関連付けられている、ステップと、
    熱ポリシールックアップ(「TPL」)テーブルを照会するステップであって、前記TPLテーブルが、前記熱インジケータについての閾値に関連付けられた熱ブートポリシーを備える、ステップと、
    前記ポーリングされた測定値を前記閾値と比較するステップと、
    熱ブートポリシーを識別するステップと、
    前記識別された熱ブートポリシーを適用するステップとを含み、前記熱ブートポリシーを適用するステップが、前記PCD内の1つまたは複数の構成要素向けのブートシーケンスを修正するステップを含む、方法。
  42. 前記熱インジケータがオンダイ温度である、請求項41に記載の方法。
  43. 前記熱インジケータが前記PCDの接触温度である、請求項41に記載の方法。
  44. 前記熱インジケータが、前記PCD内のバッテリの充電状態である、請求項41に記載の方法。
  45. 前記熱インジケータが、前記PCD内の母線上での電流レベルである、請求項41に記載の方法。
  46. 所定の閾値が、前記センサに関連付けられた前記1つまたは複数の構成要素の最大動作温度に基づく、請求項41に記載の方法。
  47. 前記ブートシーケンスを修正するステップが、前記PCD内の1つまたは複数の構成要素がそこまでブートされる性能レベルをスケーリングするステップを含む、請求項41に記載の方法。
  48. 前記ブートシーケンスを修正するステップが、前記PCD内の1つまたは複数の構成要素向けの前記ブートシーケンスを遅延させるステップと、前記PCD内の1つまたは複数の構成要素がそこまでブートされる性能レベルをスケーリングするステップとを含む、請求項41に記載の方法。
  49. 前記ブートシーケンスを修正するステップが、前記PCD向けの前記ブートシーケンスを遅延させるステップを含む、請求項41に記載の方法。
  50. 前記PCDがモバイルフォンを備える、請求項41に記載の方法。
  51. ポータブルコンピューティングデバイス(「PCD」)における熱アウェアブーティングのためのコンピュータシステムであって、前記コンピュータシステムが、
    熱インジケータの測定値に対して前記PCD内のセンサをポーリングするように構成されたモニタモジュールであって、前記センサが、前記PCD内の1つまたは複数の構成要素に関連付けられている、モニタモジュールと、
    熱ポリシールックアップ(「TPL」)テーブルを照会し、前記TPLテーブルが、前記熱インジケータについての閾値に関連付けられた熱ブートポリシーを備え、
    前記ポーリングされた測定値を前記閾値と比較し、
    熱ブートポリシーを識別し、
    前記識別された熱ブートポリシーを適用する
    ように構成された熱アウェアブート(「TAB」)モジュールとを備え、前記熱ブートポリシーを適用することが、低電力(「LP」)プロセッサに、前記PCD内の1つまたは複数の構成要素向けのブートシーケンスを修正するよう命令することを含む、コンピュータシステム。
  52. 前記熱インジケータがオンダイ温度である、請求項51に記載のコンピュータシステム。
  53. 前記熱インジケータが前記PCDの接触温度である、請求項51に記載のコンピュータシステム。
  54. 前記熱インジケータが、前記PCD内のバッテリの充電状態である、請求項51に記載のコンピュータシステム。
  55. 前記熱インジケータが、前記PCD内の母線上での電流レベルである、請求項51に記載のコンピュータシステム。
  56. 所定の閾値が、前記センサに関連付けられた前記1つまたは複数の構成要素の最大動作温度に基づく、請求項51に記載のコンピュータシステム。
  57. 前記ブートシーケンスを修正することが、前記PCD内の1つまたは複数の構成要素がそこまでブートされる性能レベルをスケーリングすることを含む、請求項51に記載のコンピュータシステム。
  58. 前記ブートシーケンスを修正することが、前記PCD内の1つまたは複数の構成要素向けの前記ブートシーケンスを遅延させること、および前記PCD内の1つまたは複数の構成要素がそこまでブートされる性能レベルをスケーリングすることを含む、請求項51に記載のコンピュータシステム。
  59. 前記ブートシーケンスを修正することが、前記PCD向けの前記ブートシーケンスを遅延させることを含む、請求項51に記載のコンピュータシステム。
  60. 前記PCDがモバイルフォンを備える、請求項51に記載のコンピュータシステム。
  61. ポータブルコンピューティングデバイス(「PCD」)における熱アウェアブーティングのためのコンピュータシステムであって、前記コンピュータシステムが、
    熱インジケータの測定値に対して前記PCD内のセンサをポーリングするための手段であって、前記センサが、前記PCD内の1つまたは複数の構成要素に関連付けられている、手段と、
    熱ポリシールックアップ(「TPL」)テーブルを照会するための手段であって、前記TPLテーブルが、前記熱インジケータについての閾値に関連付けられた熱ブートポリシーを備える手段と、
    前記ポーリングされた測定値を前記閾値と比較するための手段と、
    熱ブートポリシーを識別するための手段と、
    前記識別された熱ブートポリシーを適用するための手段であって、前記熱ブートポリシーを適用することが、前記PCD内の1つまたは複数の構成要素向けのブートシーケンスを修正することを含む手段とを備えるコンピュータシステム。
  62. 前記熱インジケータがオンダイ温度である、請求項61に記載のコンピュータシステム。
  63. 前記熱インジケータが前記PCDの接触温度である、請求項61に記載のコンピュータシステム。
  64. 前記熱インジケータが、前記PCD内のバッテリの充電状態である、請求項61に記載のコンピュータシステム。
  65. 前記熱インジケータが、前記PCD内の母線上での電流レベルである、請求項61に記載のコンピュータシステム。
  66. 所定の閾値が、前記センサに関連付けられた前記1つまたは複数の構成要素の最大動作温度に基づく、請求項61に記載のコンピュータシステム。
  67. 前記ブートシーケンスを修正することが、前記PCD内の1つまたは複数の構成要素がそこまでブートされる性能レベルをスケーリングすることを含む、請求項61に記載のコンピュータシステム。
  68. 前記ブートシーケンスを修正することが、前記PCD内の1つまたは複数の構成要素向けの前記ブートシーケンスを遅延させること、および前記PCD内の1つまたは複数の構成要素がそこまでブートされる性能レベルをスケーリングすることを含む、請求項61に記載のコンピュータシステム。
  69. 前記ブートシーケンスを修正することが、前記PCD向けの前記ブートシーケンスを遅延させることを含む、請求項61に記載のコンピュータシステム。
  70. 前記PCDがモバイルフォンを備える、請求項61に記載のコンピュータシステム。
  71. コンピュータ可読プログラムコードを具現化したコンピュータ使用可能媒体を含むコンピュータプログラムであって、前記コンピュータ可読プログラムコードが、ポータブルコンピューティングデバイス(「PCD」)における熱アウェアブーティングのための方法を実施するために実行されるように適合され、前記方法が、
    熱インジケータの測定値に対して前記PCD内のセンサをポーリングするステップであって、前記センサが、前記PCD内の1つまたは複数の構成要素に関連付けられている、ステップと、
    熱ポリシールックアップ(「TPL」)テーブルを照会するステップであって、前記TPLテーブルが、前記熱インジケータについての閾値に関連付けられた熱ブートポリシーを備える、ステップと、
    前記ポーリングされた測定値を前記閾値と比較するステップと、
    熱ブートポリシーを識別するステップと、
    前記識別された熱ブートポリシーを適用するステップとを含み、前記熱ブートポリシーを適用するステップが、前記PCD内の1つまたは複数の構成要素向けのブートシーケンスを修正するステップを含む、コンピュータプログラム。
  72. 前記熱インジケータがオンダイ温度である、請求項71に記載のコンピュータプログラム。
  73. 前記熱インジケータが前記PCDの接触温度である、請求項71に記載のコンピュータプログラム。
  74. 前記熱インジケータが、前記PCD内のバッテリの充電状態である、請求項71に記載のコンピュータプログラム。
  75. 前記熱インジケータが、前記PCD内の母線上での電流レベルである、請求項71に記載のコンピュータプログラム。
  76. 所定の閾値が、前記センサに関連付けられた前記1つまたは複数の構成要素の最大動作温度に基づく、請求項71に記載のコンピュータプログラム。
  77. 前記ブートシーケンスを修正するステップが、前記PCD内の1つまたは複数の構成要素がそこまでブートされる性能レベルをスケーリングするステップを含む、請求項71に記載のコンピュータプログラム。
  78. 前記ブートシーケンスを修正するステップが、前記PCD内の1つまたは複数の構成要素向けの前記ブートシーケンスを遅延させるステップと、前記PCD内の1つまたは複数の構成要素がそこまでブートされる性能レベルをスケーリングするステップとを含む、請求項71に記載のコンピュータプログラム。
  79. 前記ブートシーケンスを修正するステップが、前記PCD向けの前記ブートシーケンスを遅延させるステップを含む、請求項71に記載のコンピュータプログラム。
  80. 前記PCDがモバイルフォンを備える、請求項71に記載のコンピュータプログラム。
JP2018079742A 2012-02-24 2018-04-18 熱アウェアデバイスブーティングのためのシステムおよび方法 Active JP6873082B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261602755P 2012-02-24 2012-02-24
US61/602,755 2012-02-24
US13/420,139 2012-03-14
US13/420,139 US9274805B2 (en) 2012-02-24 2012-03-14 System and method for thermally aware device booting

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014558798A Division JP6328568B2 (ja) 2012-02-24 2013-02-20 熱アウェアデバイスブーティングのためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2018142346A true JP2018142346A (ja) 2018-09-13
JP6873082B2 JP6873082B2 (ja) 2021-05-19

Family

ID=49004591

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014558798A Active JP6328568B2 (ja) 2012-02-24 2013-02-20 熱アウェアデバイスブーティングのためのシステムおよび方法
JP2018079742A Active JP6873082B2 (ja) 2012-02-24 2018-04-18 熱アウェアデバイスブーティングのためのシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014558798A Active JP6328568B2 (ja) 2012-02-24 2013-02-20 熱アウェアデバイスブーティングのためのシステムおよび方法

Country Status (8)

Country Link
US (1) US9274805B2 (ja)
EP (2) EP3570162B1 (ja)
JP (2) JP6328568B2 (ja)
KR (1) KR102023314B1 (ja)
CN (1) CN104220983B (ja)
ES (2) ES2748596T3 (ja)
HU (1) HUE045565T2 (ja)
WO (1) WO2013126411A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430323B2 (en) * 2013-02-01 2016-08-30 Broadcom Corporation Power mode register reduction and power rail bring up enhancement
US9703336B2 (en) * 2013-02-21 2017-07-11 Qualcomm Incorporated System and method for thermal management in a multi-functional portable computing device
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
FR3010553B1 (fr) * 2013-09-10 2015-09-04 Sagemcom Broadband Sas Procede de mise a jour d'un logiciel de demarrage d'un dispositif multiprocesseur
WO2015144086A1 (en) * 2014-03-28 2015-10-01 Mediatek Inc. Method for performing system power budgeting within electronic device, and associated apparatus
US9813990B2 (en) * 2014-05-30 2017-11-07 Apple Inc. Dynamic adjustment of mobile device based on voter feedback
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
KR101896373B1 (ko) * 2014-06-24 2018-09-11 인텔 코포레이션 펌웨어 센서 계층
TWI538509B (zh) * 2014-08-29 2016-06-11 晶睿通訊股份有限公司 攝影機及其控制方法
US9903764B2 (en) 2014-09-30 2018-02-27 Samsung Electronics Co., Ltd. Integrated circuit for estimating power of at least one node using temperature and a system including the same
US20160116974A1 (en) * 2014-10-23 2016-04-28 Qualcomm Incorporated Methods and systems to boot up smartphones in ultra low power modes
US9292301B1 (en) * 2015-04-06 2016-03-22 Psikick, Inc. Systems, methods, and apparatus for controlling the power-on or boot sequence of an integrated circuit based on power harvesting conditions
US9558008B2 (en) 2015-04-06 2017-01-31 Psikick, Inc Systems, methods, and apparatus for controlling the power-on or boot sequence of an integrated circuit based on power harvesting conditions
JP2016212472A (ja) * 2015-04-30 2016-12-15 富士通株式会社 情報処理システム及び情報処理システムの制御方法
US10491708B2 (en) 2015-06-05 2019-11-26 Apple Inc. Context notifications
US10127055B2 (en) * 2015-10-16 2018-11-13 Quanta Computer Inc. iSCSI based bare metal OS image deployment and diskless boot
US10156881B2 (en) * 2016-06-24 2018-12-18 Mediatek Inc. Electronic device and method for controlling user experience with application on electronic device
US10388201B2 (en) * 2016-09-19 2019-08-20 Apple Inc. Power cycle display sensing
US10402205B2 (en) 2017-03-02 2019-09-03 Quanta Computer Inc. System and method for dynamically optimizing hardware frequency for booting
DE102018208994A1 (de) * 2018-06-07 2019-12-12 Robert Bosch Gmbh Verfahren zum betriebssicheren Aktivieren von mindestens einem elektronischen Bauteil
US11018071B2 (en) 2018-09-25 2021-05-25 Qualcomm Incorporated Initiation of one or more processors in an integrated circuit
TWI676137B (zh) * 2018-11-01 2019-11-01 廣達電腦股份有限公司 電子裝置和電子裝置的保全方法
TWI715433B (zh) * 2020-02-06 2021-01-01 瑞昱半導體股份有限公司 啟動電路、啟動方法以及啟動系統
CN113451309A (zh) 2020-03-25 2021-09-28 长鑫存储技术有限公司 半导体结构及其预热方法
US11126440B1 (en) * 2020-06-25 2021-09-21 Amazon Technologies, Inc. Identifying critical thermal conditions in multiple system-on-a-chip (SoC) systems
US20240028396A1 (en) * 2020-11-24 2024-01-25 Raytheon Company Run-time schedulers for field programmable gate arrays or other logic devices
US11422534B2 (en) * 2020-12-14 2022-08-23 Argo AI, LLC Systems and methods for heating computing elements in vehicles
JP2022180826A (ja) * 2021-05-25 2022-12-07 キヤノン株式会社 制御装置、制御装置の制御方法及びプログラム
KR20220167988A (ko) * 2021-06-15 2022-12-22 주식회사 엘지에너지솔루션 마이크로 컨트롤러의 온도 측정을 위한 배터리 관리장치의 구성 및 그 제어방법
US11960336B2 (en) * 2022-05-06 2024-04-16 Waymo Llc Method of temperature conditioning compute module for cold start

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306734A (ja) * 1994-05-16 1995-11-21 Hitachi Ltd 携帯型データ処理装置
JPH0999606A (ja) * 1995-10-05 1997-04-15 Tec Corp 画像形成装置
JP2001005661A (ja) * 1999-06-18 2001-01-12 Toshiba Corp コンピュータシステムおよびそのcpu性能制御方法
JP2002268769A (ja) * 2001-03-13 2002-09-20 Matsushita Electric Ind Co Ltd Cpu動作速度制御装置とその制御方法
JP2003295984A (ja) * 2002-04-04 2003-10-17 Nagano Japan Radio Co 携帯端末の電源監視方法
JP2005321949A (ja) * 2004-05-07 2005-11-17 Seiko Epson Corp コンピュータの起動方法、起動装置およびコンピュータシステム
JP2006146495A (ja) * 2004-11-18 2006-06-08 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
WO2007043231A1 (ja) * 2005-10-14 2007-04-19 Sony Computer Entertainment Inc. 発熱制御方法および発熱制御装置
JP2009176232A (ja) * 2008-01-28 2009-08-06 Fujitsu Ltd 起動装置、起動方法、及び、起動プログラム
JP2011138231A (ja) * 2009-12-25 2011-07-14 Toshiba Tec Corp 電子機器及びプログラム
JP2012006153A (ja) * 2010-06-22 2012-01-12 Konica Minolta Business Technologies Inc 画像形成装置、要求応答プログラム、及び要求応答方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091268A (ja) * 1996-09-11 1998-04-10 Sony Corp 半導体回路のクロック周波数制御方法およびデータ処理装置
US5930738A (en) * 1997-10-15 1999-07-27 Mobile Integrated Tecnologies, Inc. Vehicle computer system environment monitor
US20010047473A1 (en) * 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US6718474B1 (en) * 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US7036030B1 (en) * 2002-02-07 2006-04-25 Advanced Micro Devices, Inc. Computer system and method of using temperature measurement readings to detect user activity and to adjust processor performance
US7139346B2 (en) * 2002-08-09 2006-11-21 The Boeing Company Mobile network time distribution
US7313717B2 (en) * 2003-04-17 2007-12-25 Sun Microsystems, Inc. Error management
US7467318B2 (en) * 2003-09-29 2008-12-16 Ati Technologies Ulc Adaptive temperature dependent feedback clock control system and method
KR20060017333A (ko) 2004-08-20 2006-02-23 삼성전자주식회사 컴퓨터 시스템
DE102004047181A1 (de) 2004-09-29 2006-03-30 Robert Bosch Gmbh Verfahren zur Verriegelung eines Aufwecksignals
US7793291B2 (en) 2004-12-22 2010-09-07 International Business Machines Corporation Thermal management of a multi-processor computer system
US7275164B2 (en) * 2005-01-31 2007-09-25 International Business Machines Corporation System and method for fencing any one of the plurality of voltage islands using a lookup table including AC and DC components for each functional block of the voltage islands
TWI324297B (en) * 2006-03-20 2010-05-01 Via Tech Inc Thermal throttling duty estimation methods and systems for a cpu
US7552346B2 (en) 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
TW200746983A (en) * 2006-06-09 2007-12-16 Giga Byte Tech Co Ltd Temperature control method of electronic component, and the system thereof component
US20080296397A1 (en) 2007-05-30 2008-12-04 Ta-Yang Cheng Automatic heating unit for personal computer
TWI425352B (zh) 2008-02-01 2014-02-01 Pegatron Corp 可攜式電腦及其預加熱開機方法
TWI472907B (zh) 2008-06-11 2015-02-11 Asustek Comp Inc 電腦裝置及其溫度調節方法
US8214658B2 (en) * 2008-08-20 2012-07-03 International Business Machines Corporation Enhanced thermal management for improved module reliability
US8200993B2 (en) 2008-09-18 2012-06-12 Mitac Technology Corp. Method for activating a computer system in a low temperature environment
CN101751092A (zh) 2008-10-17 2010-06-23 环旭电子股份有限公司 电脑系统及电脑系统开机过程自我降温方法
JP5293133B2 (ja) * 2008-12-10 2013-09-18 ソニー株式会社 画像表示装置
DE102008054600A1 (de) 2008-12-14 2010-06-17 Mitac Technology Corp. Computersystem und Verfahren zum Booten in einem Niedertemperaturzustand
US8176309B2 (en) 2009-05-07 2012-05-08 Nuvoton Technology Corporation Boot system has BIOS that reads rescue operating system from memory device via input/output chip based on detecting a temperature of a hard disk
JP4660621B1 (ja) 2009-10-29 2011-03-30 株式会社東芝 情報処理装置およびメモリ制御方法
KR20110055300A (ko) 2009-11-19 2011-05-25 서울통신기술 주식회사 차량용 단말기의 안전 부팅 장치 및 그 방법
US8301873B2 (en) 2009-12-01 2012-10-30 Getac Technology Corporation Method and computer system for thermal throttling protection

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306734A (ja) * 1994-05-16 1995-11-21 Hitachi Ltd 携帯型データ処理装置
JPH0999606A (ja) * 1995-10-05 1997-04-15 Tec Corp 画像形成装置
JP2001005661A (ja) * 1999-06-18 2001-01-12 Toshiba Corp コンピュータシステムおよびそのcpu性能制御方法
JP2002268769A (ja) * 2001-03-13 2002-09-20 Matsushita Electric Ind Co Ltd Cpu動作速度制御装置とその制御方法
JP2003295984A (ja) * 2002-04-04 2003-10-17 Nagano Japan Radio Co 携帯端末の電源監視方法
JP2005321949A (ja) * 2004-05-07 2005-11-17 Seiko Epson Corp コンピュータの起動方法、起動装置およびコンピュータシステム
JP2006146495A (ja) * 2004-11-18 2006-06-08 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
WO2007043231A1 (ja) * 2005-10-14 2007-04-19 Sony Computer Entertainment Inc. 発熱制御方法および発熱制御装置
JP2009176232A (ja) * 2008-01-28 2009-08-06 Fujitsu Ltd 起動装置、起動方法、及び、起動プログラム
JP2011138231A (ja) * 2009-12-25 2011-07-14 Toshiba Tec Corp 電子機器及びプログラム
JP2012006153A (ja) * 2010-06-22 2012-01-12 Konica Minolta Business Technologies Inc 画像形成装置、要求応答プログラム、及び要求応答方法

Also Published As

Publication number Publication date
CN104220983B (zh) 2017-08-15
JP6328568B2 (ja) 2018-05-23
ES2748596T3 (es) 2020-03-17
EP3570162B1 (en) 2020-11-25
EP2817716A1 (en) 2014-12-31
ES2861260T3 (es) 2021-10-06
US20130227261A1 (en) 2013-08-29
EP2817716B1 (en) 2019-07-03
HUE045565T2 (hu) 2019-12-30
KR20140126395A (ko) 2014-10-30
US9274805B2 (en) 2016-03-01
WO2013126411A1 (en) 2013-08-29
KR102023314B1 (ko) 2019-11-04
JP6873082B2 (ja) 2021-05-19
CN104220983A (zh) 2014-12-17
EP3570162A1 (en) 2019-11-20
JP2015516607A (ja) 2015-06-11

Similar Documents

Publication Publication Date Title
JP6328568B2 (ja) 熱アウェアデバイスブーティングのためのシステムおよび方法
JP5781255B1 (ja) ポータブルコンピューティングデバイスにおける適応型熱管理のためのシステムおよび方法
JP5805881B2 (ja) 漏洩電流の測定値から熱管理ポリシーを決定するためのシステムおよび方法
JP6231578B2 (ja) ポータブルコンピューティングデバイスから周囲温度を推定するためのシステムおよび方法
JP5922778B2 (ja) ヘテロジニアスマルチコアプロセッサにおける熱エネルギーの発生を管理するためのシステムおよび方法
JP6591971B2 (ja) チップ上のマルチプロセッサシステムにおけるアイドル状態最適化のためのシステムおよび方法
CN108780349B (zh) 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法
JP5883967B2 (ja) ポータブルコンピューティングデバイスの熱ポリシーを管理するための方法およびシステム
JP2016510917A (ja) 最適な電力レベルを予測するために熱抵抗値を使用したポータブルコンピューティングデバイスにおける熱管理のためのシステムおよび方法
US8768666B2 (en) Method and system for controlling thermal load distribution in a portable computing device
US9563226B2 (en) Dynamic clock regulation based on duty cycle thresholds
KR20140002072A (ko) 휴대용 컴퓨팅 디바이스에서의 열 로드 관리
JP2015512077A (ja) ポータブルコンピューティングデバイスにおけるバッテリ負荷管理のためのシステムおよび方法
JP2014512797A (ja) ポータブルコンピューティングデバイスにおけるバッテリー充電の同時実行の熱管理のための方法およびシステム
TW201329678A (zh) 用於一行動裝置之鄰近基礎熱管理之系統及方法
JP2016538637A (ja) システムオンチップにおける動的dcvs調整および作業負荷スケジューリングのためのシステムおよび方法
JP5911970B2 (ja) ユーザコンフィギュレーション機能を伴う適応的温度スロットリング
CN110214298B (zh) 用于便携式计算设备中的情境感知热管理和工作负荷调度的系统和方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180511

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201225

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201225

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210112

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210420

R150 Certificate of patent or registration of utility model

Ref document number: 6873082

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150