IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドの特許一覧

特表2024-535230低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法
<>
  • 特表-低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法 図1
  • 特表-低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法 図2
  • 特表-低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法 図3
  • 特表-低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法 図4
  • 特表-低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法 図5
  • 特表-低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法 図6
  • 特表-低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法 図7
  • 特表-低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法 図8A
  • 特表-低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法 図8B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-30
(54)【発明の名称】低減電力状態への及び低減電力状態からの効率的な遷移のためのデバイス及び方法
(51)【国際特許分類】
   G06F 1/3287 20190101AFI20240920BHJP
   G06F 1/3206 20190101ALI20240920BHJP
   G06F 15/78 20060101ALI20240920BHJP
【FI】
G06F1/3287
G06F1/3206
G06F15/78 517
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024516378
(86)(22)【出願日】2022-07-27
(85)【翻訳文提出日】2024-03-28
(86)【国際出願番号】 US2022038555
(87)【国際公開番号】W WO2023048820
(87)【国際公開日】2023-03-30
(31)【優先権主張番号】17/483,698
(32)【優先日】2021-09-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ミヒル シャイルシュバイ ドクター
(72)【発明者】
【氏名】アレクサンダー ジェイ. ブラノーバー
(72)【発明者】
【氏名】ベンジャミン チェン
(72)【発明者】
【氏名】インドラニ ポール
(72)【発明者】
【氏名】クリストファー ティー. ウィーバー
(72)【発明者】
【氏名】トーマス ジェイ. ギブニー
(72)【発明者】
【氏名】ステファン ヴィー. コソノキー
(72)【発明者】
【氏名】ジョン ピー. ペトリー
【テーマコード(参考)】
5B011
5B062
【Fターム(参考)】
5B011EA02
5B011EA04
5B011EA10
5B011EB09
5B011KK03
5B011LL12
5B011MA07
5B062AA05
5B062HH04
5B062HH06
(57)【要約】
リニアアドレッシングのためのデバイス及び方法が提供される。プログラムを実行するためのデータを記憶するために使用される割り当てられたレジスタを有する複数の構成要素と、構成要素と通信する電力管理コントローラと、を備えるデバイスが提供される。電源管理コントローラは、構成要素がアイドルであると判定された場合に、構成要素に対する電力を除去する要求及び構成要素に対する電力を低減する要求のうち一方を送信し、要求の肯定応答が受信された場合に、構成要素に対する電力を除去すること及び電力を低減することのうち一方の第1のプロセスを実行して、低減電力状態に移行し、構成要素のうち1つ以上がアクティブであると示された場合に、構成要素に対する電力を回復する第2のプロセスを実行するように構成されている。
【選択図】図6
【特許請求の範囲】
【請求項1】
処理デバイスであって、
プログラムを実行するためのデータを記憶するために使用される割り当てられたレジスタを有する複数の構成要素と、
前記複数の構成要素と通信する電力管理コントローラと、を備え、
前記電力管理コントローラは、
前記複数の構成要素がアイドルであると判定された場合に、前記複数の構成要素に対する電力を除去する要求及び前記複数の構成要素に対する電力を低減する要求のうち一方を送信することと、
前記要求の肯定応答が受信された場合に、前記構成要素に対する電力を除去すること及び電力を低減することのうち一方の第1のプロセスを実行して、低減電力状態に移行することと、
前記複数の構成要素のうち1つ以上がアクティブであると示された場合に、前記複数の構成要素に対する電力を回復させる第2のプロセスを実行することと、
を行うように構成されている、
処理デバイス。
【請求項2】
前記電力管理コントローラは、前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信する前に1つ以上の構成要素がアクティブであると示された場合に、前記第1のプロセスの実行を中断するように構成されている、
請求項1の処理デバイス。
【請求項3】
前記電力管理コントローラは、前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信した後に1つ以上の構成要素がアクティブであると示された場合に、前記複数の構成要素に対する電力を回復させ、前記1つ以上の構成要素がアクティブであると示されたときから1ミリ秒以下の期間内にアクティブ電力状態に移行するように構成されている、
請求項1の処理デバイス。
【請求項4】
前記電力管理コントローラは、前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求を送信し、前記要求の肯定応答を受信するように構成されたハードウェア論理回路を備える、
請求項1の処理デバイス。
【請求項5】
前記電力管理コントローラは、1つ以上の管理ユニットを備え、
前記1つ以上の管理ユニットの各々は、メモリ及び管理プロセッサを備え、互いに並列に動作し、対応する構成要素のデータを前記メモリに保存し、前記データを前記メモリから前記対応する構成要素の割り当てられたレジスタに回復させるように構成されている、
請求項1の処理デバイス。
【請求項6】
前記電力管理コントローラは、前記複数の構成要素のデータを前記管理ユニットのメモリに保存することによって、前記複数の構成要素に対する電力を除去すること及び電力を低減することのうち一方の第1のプロセスを実行する、
請求項5の処理デバイス。
【請求項7】
前記電力管理コントローラは、前記管理ユニットのメモリから前記構成要素の割り当てられたレジスタに前記データを回復させることによって、前記複数の構成要素に対する電力を回復させる第2のプロセスを実行する、
請求項5の処理デバイス。
【請求項8】
前記処理デバイスは、ディスプレイを備える、
請求項1の処理デバイス。
【請求項9】
前記低減電力状態は、
前記ディスプレイを制御するように構成されたディスプレイコントローラを除く前記複数の構成要素の各々から電力が除去される第1の低減電力状態と、
前記複数の構成要素の各々から電力が除去され、前記複数の構成要素の各々から電力が低減される第2の低減電力状態と、
のうち何れかである、
請求項8の処理デバイス。
【請求項10】
電力状態遷移の方法であって、
複数の構成要素と通信する電力管理コントローラが、前記複数の構成要素がアイドルであると判定された場合に、前記複数の構成要素に対する電力を除去する要求及び前記複数の構成要素に対する電力を低減する要求のうち一方を送信することと、
前記電力管理コントローラが、前記要求の肯定応答が受信された場合に、前記複数の構成要素に対する電力を除去すること及び電力を低減することのうち一方の第1のプロセスを実行して、低減電力状態に移行することと、
前記電力管理コントローラが、前記複数の構成要素のうち1つ以上がアクティブであると示された場合に、前記複数の構成要素に対する電力を回復させる第2のプロセスを実行することと、を含む、
方法。
【請求項11】
前記電力管理コントローラが、前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信した後に1つ以上の構成要素がアクティブであると示されているかどうか、又は、前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信する前に前記1つ以上の構成要素がアクティブであると示されているかどうかを判定することを含む、
請求項10の方法。
【請求項12】
前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信する前に前記1つ以上の構成要素がアクティブであると示された場合に、前記第1のプロセスの実行を中断することを含む、
請求項11の方法。
【請求項13】
前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信した後に前記1つ以上の構成要素がアクティブであると示された場合に、前記複数の構成要素に対する電力を回復させ、前記1つ以上の構成要素がアクティブであると示されたときから1ミリ秒以下の期間内にアクティブ電力状態に移行することを含む、
請求項11の方法。
【請求項14】
前記複数の構成要素のレジスタデータを前記電力管理コントローラの管理ユニットのメモリに保存することによって、前記複数の構成要素に対する電力を除去すること及び電力を低減することのうち一方の前記第1のプロセスを実行することを含む、
請求項10の方法。
【請求項15】
前記管理ユニットのメモリから前記複数の構成要素に割り当てられたレジスタに前記レジスタデータを回復することによって、前記複数の構成要素に対する電力を回復する前記第2のプロセスを実行することを含む、
請求項14の方法。
【請求項16】
前記低減電力状態は、
ディスプレイを制御するように構成されたディスプレイコントローラを除く前記複数の構成要素の各々から電力が除去される第1の低減電力状態と、
前記複数の構成要素の各々から電力が除去され、前記複数の構成要素の各々から電力が低減される第2の低減電力状態と、
のうち何れかである、
請求項10の方法。
【請求項17】
電力状態遷移の方法をコンピュータに実行させるための命令を含むコンピュータ可読記憶媒体であって、
前記命令は、
複数の構成要素と通信する電力管理コントローラが、前記複数の構成要素がアイドルであると判定された場合に、前記複数の構成要素に対する電力を除去する要求及び前記複数の構成要素に対する電力を低減する要求のうち一方を送信することと、
前記電力管理コントローラが、前記要求の肯定応答が受信された場合に、前記複数の構成要素に対する電力を除去すること及び電力を低減することのうち一方の第1のプロセスを実行して、低減電力状態に移行することと、
前記電力管理コントローラが、前記複数の構成要素のうち1つ以上がアクティブであると示された場合に、前記複数の構成要素に対する電力を回復させる第2のプロセスを実行することと、を含む、
コンピュータ可読記憶媒体。
【請求項18】
前記命令は、
前記電力管理コントローラが、前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信した後に1つ以上の構成要素がアクティブであると示されているかどうか、又は、前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信する前に前記1つ以上の構成要素がアクティブであると示されているかどうかを判定することを含む、
請求項17のコンピュータ可読記憶媒体。
【請求項19】
前記命令は、
前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信する前に前記1つ以上の構成要素がアクティブであると示された場合に、前記第1のプロセスの実行を中断することを含む、
請求項18のコンピュータ可読記憶媒体。
【請求項20】
前記命令は、
前記複数の構成要素に対する電力を除去すること及び前記複数の構成要素に対する電力を低減することのうち一方の要求の肯定応答を受信した後に前記1つ以上の構成要素がアクティブであると示された場合に、前記複数の構成要素に対する電力を回復させ、前記1つ以上の構成要素がアクティブであると示されたときから1ミリ秒以下の期間内にアクティブ電力状態に移行することを含む、
請求項18のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2021年9月23日に出願された米国特許出願第17/483,698号の利益を主張し、参照により本明細書に完全に記載されているように組み込まれる。
【背景技術】
【0002】
コンピューティングシステムは、単一チップ又はマルチチップモジュール上に多数の異なるタイプの構成要素を集積するようになってきている。デバイスの複雑さ及び電力消費は、異なるタイプの構成要素の数と共に増加する。電力管理は、集積回路、特に、モバイルデバイス等のように、通常、バッテリ電力に依存するデバイス内に集積される回路の設計及び動作の重要な態様である。これらのデバイスの集積回路における電力消費を低減することは、バッテリの寿命を増加させるだけでなく、集積回路によって生じた熱を減少させることができる。
【0003】
添付の図面と共に例として与えられる以下の説明から、より詳細な理解を得ることができる。
【図面の簡単な説明】
【0004】
図1】本開示の1つ以上の特徴を実装することができる例示的なデバイスのブロック図である。
図2】本開示の1つ以上の特徴を実装するための電力管理コントローラを含む例示的な構成要素を示すブロック図である。
図3図2に示される電力管理コントローラを更に詳細に示すブロック図である。
図4】本開示の1つ以上の特徴を実装するための中間システム管理ユニットの構成要素を示すブロック図である。
図5】本開示の1つ以上の特徴を実装することができる例示的なデバイスの異なる電力ドメインを示すブロック図である。
図6】本開示の特徴による、電力状態遷移の例示的な方法を示すフロー図である。
図7】本開示の特徴による、低減電力状態間の遷移を示すタイミング図である。
図8A】本開示の特徴による、低減電力状態への移行を中断するために時間内に指標を受信する例を示すタイミング図である。
図8B】本開示の特徴による、低減電力状態への移行を中断するために時間内に指標を受信する別の例を示すタイミング図である。
【発明を実施するための形態】
【0005】
いくつかの従来のデバイスは、低減電力状態(すなわち、電力ゲーティング状態)に移行することによって消費電力を低減し、この状態は、デバイス又はデバイスの1つ以上の構成要素が、別の動作モードよりも消費電力の少ないモードで動作している状態である。例えば、通常であれば現在の電力状態を保持するために使用される電力は、1つ以上の構成要素から除去され、電力ゲーティング状態になり、消費電力が少なくなる。低減電力状態は、例えば、構成要素に対する電力をオフにすること若しくは除去することによって、又は、代替的に、構成要素に供給される電源電圧を低減すること及び/若しくはクロック周波数を低減することによって移行される。
【0006】
低減電力状態に移行する前に、構成レジスタ状態がメモリ(例えば、ダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM))に保存される。構成レジスタ状態は、デバイスの構成要素に割り当てられた複数の構成レジスタに記憶された値を指し、構成要素を識別し、構成要素の様々な特徴を定義し、システムソフトウェアが構成要素とインターフェースし、及び/又は、構成要素の動作を制御することを許容する。オペレーティングシステム、デバイスドライバ及び診断ソフトウェアは、通常、所定の構成要素の動作中に構成レジスタ状態にアクセスする。低減電力状態を終了すると、構成レジスタ状態が回復する。構成要素の構成レジスタ状態を保存及び回復させることにより、構成要素は、電力が除去される前と電力が回復した後とで同じように動作し、実行中に誤ったデータが記憶されることに起因する計算エラーの発生を防止する。
【0007】
いくつかの低減電力状態(例えば、より浅い低減電力状態)では、電力は、保存及び回復する構成レジスタ状態を有する1つ以上の構成要素に供給される。他のより深い低減電力状態では、電力がこれらの構成要素に供給されず、構成要素が機能することができず、互いの間でデータを通信することができない。説明を簡略化するために、本明細書で説明する例は、本明細書でZ0(又はS0)からZ10電力状態と称される11個の電力状態を含む。しかしながら、本開示の特徴は、任意の数の電力状態について実装することができる。以下でより詳細に説明されるように、アクティブ電力状態(すなわち、Z0/S0電力状態)中、電力は、デバイスのドメインの各々に提供され、Z1~Z10低減電力状態は、それぞれ、より浅い低減電力状態からより深い低減電力状態に進行する。すなわち、より浅い電力低減状態では、レジスタの一部(例えば、Z9ドメイン内の構成要素に対応するレジスタ)が保存及び回復される一方で、レジスタの残りの部分は、保存及び回復されない。しかしながら、より深い低減電力状態では、より浅い状態で電源オンされた構成要素に対応するレジスタの部分は、これらの構成要素がより深い低減電力状態ではアクティブでないので、保存されることはない。
【0008】
例えば、Z9低減電力状態の間、電力(例えば、電圧)は、ディスプレイ(例えば、ディスプレイコントローラ)に供給されるが、他の構成要素(例えば、CPU、GPU及びメモリコントローラ)には供給されない。Z10低減電力状態の間、電力は、ディスプレイコントローラ又はデバイスのこれらの他の構成要素に供給されることはない。デバイスの動作中、これらの構成要素は、短い時間間隔でアイドル状態になる可能性がある。例えば、ユーザがディスプレイを見ているが、デバイスが短い期間(例えば、キーストローク間の期間)にわたっていかなるユーザ入力も受信していない場合に、構成要素(例えば、CPU、GPU及びメモリコントローラ)は、これらの短い時間期間の間アイドルになる。これらの短いアイドル期間の間、デバイスの電力消費は、Z9電力状態に遷移し、これらの構成要素に供給される電力を除去することによって低減される可能性がある。
【0009】
従来のシステムは、ソフトウェアを介して構成要素のアイドル状態(すなわち、アイドル又は非アイドル)を検出し、構成要素がアクティブになってから(すなわち、もはやアイドルでなくなってから)10ms以上の期間が経過するまで、電力を回復させ、低減電力状態を終了させることができない。したがって、これらの従来のシステムは、これらの短いアイドル期間(例えば、キーストローク間の期間)の間、これらの低減電力状態間で効率的に遷移することができない。
【0010】
本開示の特徴は、短いアイドル状態ウィンドウのための異なる低減電力状態間の効率的な遷移を提供する。本開示の特徴は、固有のハードウェアを介して、デバイスの1つ以上の構成要素のアイドル状態を効率的に識別する。電力管理コントローラは、(例えば、ウェイク信号を介して)1つ以上の構成要素のアイドル状態を識別し、電力状態間で効率的に遷移するために、構成要素とのハンドシェイクプロセス(例えば、フェンス要求及びフェンス肯定応答)を実施する。フェンス要求の肯定応答を受信する前に、デバイスの1つ以上の構成要素がもはやアイドルではないと識別された場合に、低減電力状態への移行が中断される。フェンス要求の肯定応答を受信した後にデバイスの1つ以上の構成要素がもはやアイドルではないと識別されると、電力が構成要素に回復され、デバイスは、1つ以上の構成要素がもはやアイドルではないと識別された時間から1ms以内に電力が構成要素に供給される電力状態(例えば、S0又はZ0電力状態)に移行する。したがって、全体的な電力消費が低減され、デバイスのバッテリ寿命が増加する。
【0011】
加えて、電力管理コントローラは、プラットフォーム構成要素(例えば、温度を監視し、デバイスファンを制御するための組込みコントローラ)に、デバイスが低減電力状態に移行していること、及び、電力消費を更に低減するために1つ以上の機能の実行を停止することの指標を効率的に提供する。例えば、電力管理コントローラが、デバイスがより深い低減電力状態(例えば、Z10電力状態)に移行すべきであると判定した場合に、電力管理コントローラは、電力消費を更に低減するために、デバイスの温度を監視することを停止するように、組込み温度及びファンコントローラに指標を効率的に提供する。
【0012】
プログラムを実行するためのデータを記憶するために使用される割り当てられたレジスタを有する複数の構成要素と、構成要素と通信する電力管理コントローラと、を備える、処理デバイスが提供される。電源管理コントローラは、構成要素がアイドルであると判定された場合に、構成要素に対する電力を除去する要求及び構成要素に対する電力を低減する要求のうち一方を送信し、要求の肯定応答が受信された場合に、構成要素に対する電力を除去すること及び電力を低減することのうち一方の第1のプロセスを実行して、低減電力状態に移行し、構成要素のうち1つ以上がアクティブであると示される場合に、構成要素に対する電力を回復する第2のプロセスを実行するように構成されている。
【0013】
電力状態遷移の方法であって、複数の構成要素と通信している電力管理コントローラによって、構成要素がアイドルであると判定された場合に、構成要素に対する電力を除去する要求及び構成要素に対する電力を低減する要求のうち一方を送信することと、電力管理コントローラによって、要求の肯定応答が受信された場合に、構成要素に対する電力を除去すること及び電力を低減することのうち一方の第1のプロセスを実行し、低減電力状態に移行することと、電力管理コントローラによって、構成要素のうち1つ以上がアクティブであると示される場合に、構成要素に対する電力を回復させる第2のプロセスを実行することと、を含む、方法が提供される。
【0014】
電力状態遷移の方法をコンピュータに実行させるための命令を含む、非一時的なコンピュータ可読記憶媒体が提供される。命令は、複数の構成要素と通信している電力管理コントローラによって、構成要素がアイドルであると判定された場合に、構成要素に対する電力を除去する要求及び構成要素に対する電力を低減する要求のうち一方を送信することと、電力管理コントローラによって、要求の肯定応答が受信された場合に、構成要素に対する電力を除去すること及び電力を低減することのうち一方の第1のプロセスを実行し、低減電力状態に移行することと、電力管理コントローラによって、構成要素のうち1つ以上がアクティブであると示される場合に、構成要素に対する電力を回復させる第2のプロセスを実行することと、を含む。
【0015】
図1は、本開示の1つ以上の特徴が実装され得る例示的なデバイス100のブロック図である。デバイス100は、例えば、コンピュータ、ゲームデバイス、ハンドヘルドデバイス、セットトップボックス、テレビ、携帯電話、又は、タブレットコンピュータを含むことができる。デバイス100は、プロセッサ102、メモリ104、ストレージ106、1つ以上の入力デバイス108、及び、1つ以上の出力デバイス110を含む。また、デバイス100は、オプションで、入力ドライバ112及び出力ドライバ114を含むことができる。デバイス100は、図1に示されていない追加の構成要素を含むことができることを理解されたい。
【0016】
様々な代替形態では、プロセッサ102は、中央処理装置(central processing unit、CPU)、グラフィックス処理装置(graphics processing unit、GPU)、同じダイ上に位置するCPU及びGPU、各プロセッサコアがCPU若しくはGPUである可能性がある1つ以上のプロセッサコア、又は、デバイス100若しくはデバイス100の構成要素が通常動作モードよりも少ない電力を消費するモードで動作している場合の低減電力状態等のようなデバイス100の異なる電力状態を管理するために使用される電力管理コントローラ(power management controller、PMC)を含む。様々な代替例では、メモリ104は、プロセッサ102と同じダイ上に位置しているか、又は、プロセッサ102とは別に位置する。メモリ104は、揮発性又は不揮発性メモリ(例えば、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックRAM(dynamic RAM、DRAM)、キャッシュ)を含む。
【0017】
ストレージ106は、固定又はリムーバブルストレージ(例えば、ハードディスクドライブ、ソリッドステートドライブ、光ディスク、フラッシュドライブ)を含む。入力デバイス108は、キーボード、キーパッド、タッチスクリーン、タッチパッド、検出器、マイクロフォン、加速度計、ジャイロスコープ、生体認証スキャナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。出力デバイス110は、ディスプレイ、スピーカ、プリンタ、触覚フィードバックデバイス、1つ以上の光、アンテナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。
【0018】
入力ドライバ112は、プロセッサ102及び入力デバイス108と通信し、プロセッサ102が入力デバイス108から入力を受信することを可能にする。出力ドライバ114は、プロセッサ102及び出力デバイス110と通信し、プロセッサ102が出力デバイス110に出力を送信することを可能にする。入力ドライバ112及び出力ドライバ114は、オプションの構成要素であること、並びに、デバイス100は、入力ドライバ112及び出力ドライバ114が存在しない場合に、同じ方式で動作することに留意されたい。
【0019】
図2は、本開示の1つ以上の特徴を実装するためのPMC260を含むデバイス200の例示的な構成要素を示すブロック図である。例示的なデバイス200の構成要素は、デバイスの知的財産(intellectual property、IP)構成要素(本明細書では「IP構成要素」と称される)間でデータを通信するための任意のタイプの通信ファブリック、バス及び/又は他の制御及びインターフェースロジックを表す、データファブリック205を含む。IP構成要素は、例えば、プログラム又はアプリケーションの様々な部分を実行するために使用されるコア、ハードウェアブロック、メモリセル及びロジックを含む。データファブリック205は、CPU210、GPU220、マルチメディア処理ユニット230、(図3に示されるディスプレイコントローラ240を介した)ディスプレイ240、I/Oハブ250及びメモリコントローラ270等の様々なIP間でデータを通信するために使用される、データ経路、スイッチ、ルータ及び他のロジックを含む。データファブリック205は、共有バス構成、クロスバー構成及びブリッジを有する階層型バスを含むバスベースとすることができる。また、ファブリック205は、パケットベースとすることができ、ブリッジ、クロスバー、ポイントツーポイント又は他の相互接続を有する階層とすることができる。図2の矢印は、デバイスのIP構成要素間のデータフローを示す。
【0020】
また、図2に示されるデバイス200の構成要素は、例えば、ユニバーサルシリアルバス(universal serial bus、USB)ポート、周辺構成要素相互接続エクスプレス(peripheral component interconnect express、PCIe)バス、NVMeコントローラ、汎用入力/出力(general-purpose input/output、GPIO)コントローラ及びセンサフュージョンI/O構成要素等の様々なI/O構成要素280を含む。
【0021】
図3に関して以下でより詳細に説明するように、PMC260は、ハードウェア及びファームウェアの組合せを含み、IP構成要素制御インターフェース及びレジスタバスインターフェース(IP構成要素間でデータを通信するために使用されるデータファブリックインターフェースとは異なる)を介してIP構成要素(例えば、CPU210、GPU220、マルチメディア処理ユニット230、ディスプレイ240、I/Oハブ250及びメモリコントローラ270)とインターフェースして、デバイスの異なる電力状態間の遷移(例えば、移行及び終了)を管理する。
【0022】
図3は、複数のIP構成要素308と通信するPMC260の構成要素を示すブロック図である。図3に示されるように、PMC260は、PMCハードウェア(hardware、HW)ロジック302、IP保存/回復中間システム管理ユニット(middle system management unit、MSMU)304、及び、メインMSMU306を含む。PMC HWロジック302は、IP/PMCインターフェースプロトコルに従って、(図5に示されるP1及びP2電力ドメイン内の)IP構成要素308とインターフェースするハードウェアブロック(すなわち、ロジック回路)である。例えば、PMC HWロジック302は、IP構成要素308のうち1つ以上がアイドルであるかアイドルでない(すなわち、アクティブである)かのアイドル状態指標(例えば、ウェイクイベント)を受信し、ハンドシェイクを実行する(例えば、1つ以上のIP構成要素308にフェンス要求を送信し、1つ以上のIP構成要素308からフェンス肯定応答を受信する)。
【0023】
図4は、図3に示したMSMU304及び306の構成要素を示すブロック図である。図4に示されるように、MSMU304及び306は、命令メモリ402、データメモリ404、レジスタ及びタイマ406、命令プロセッサ408、及び、MSMUバス410を含む。IP保存/回復MSMU304は、並列に動作して、対応するIP構成要素308のレジスタデータをそれらのデータメモリ404に保存し、レジスタデータをそれらのデータメモリ404から対応するIP構成要素308に回復させる。
【0024】
各MSMUプロセッサ408は、その命令メモリ402内のファームウェア命令を実行して、その対応するIP構成要素308のためのレジスタデータを保存及び回復させる。命令メモリ402は、レジスタ保存回復トラフィックを効率的に実装する(例えば、1つ以上のIP構成要素308がアクティブになる(すなわち、アイドルではない)時間と、デバイス200の1つ以上のIP構成要素308をアクティブ状態に回復させる時間との間のターゲットレイテンシ期間を満たす)ために使用されるファームウェア命令の限定されたセット(例えば、16個の命令)を含む。データメモリ404は、プログラムの一部を実行するために対応するIP構成要素308によって使用されるデータを記憶するために使用されるスタティックランダムアクセスメモリ(static random access memory、SRAM)を含む。データは、デバイス200の電力状態を終了する場合にIP構成要素308に割り当てられた構成レジスタからデータメモリ404に保存され、デバイス200の電力状態に移行する場合に構成レジスタに回復される(例えば、リロードされる)。
【0025】
メインMSMU306は、PMCバス310を介してIP保存/回復MSMU304及びPMC HWロジック302と通信し、IP保存/回復MSMU304を管理し、IP保存/回復MSMU304とそれらの対応するIP構成要素308との間のレジスタ保存回復トラフィックの実装を編成するために使用されるファームウェア命令を含む。
【0026】
図5は、例示的なデバイス200の異なる電力ドメインを示すブロック図である。図5に示されるように、第1の電力ドメイン(P1)内のIP構成要素は、CPU210と、GPU220と、例えばマルチメディア処理ユニット230、I/Oハブ250及びメモリコントローラ270等の他のIP構成要素502と、を含む。第2の電力ドメイン(P2)は、ディスプレイコントローラ240を含む。第3の電力ドメイン(P3)は、PMC260を含む。第4の電力ドメインは、I/O構成要素280等のデバイス200の他の構成要素を含む。
【0027】
デバイス200の電力状態は、例えば、Z0(状態S0とも称される)からZ10までの11個の状態を含む。しかしながら、本開示の特徴は、任意の数の電力状態について実装することができる。S0/Z0電力状態中、電力が、ドメインの各々に提供される(例えば、各電力レールがオンである)。Z1~Z7状態中、IP構成要素の各々ではなく、1つ以上がアイドルである。Z8及びZ9電力状態中、CPU210、GPU220及びIP構成要素502は、アイドルである。Z8状態中、P1電力ドメインに供給される電力(例えば、電圧)が低減される。Z9状態中、P1電力ドメインには電力が供給されない(すなわち、電力がオフである)。Z10状態中、電力は、P1及びP2電力ドメインに供給されない。
【0028】
図6は、本開示の特徴による、電力状態遷移の例示的な方法600を示すフロー図である。簡単な説明のために、方法600は、例として、Z9低減電力状態とZ10低減電力状態との間で遷移することが説明され、デバイスの構成要素に供給される電力を除去する要求と、より深い低減電力状態に移行するための構成要素に供給される電力の除去と、を含む。しかしながら、本開示の特徴は、低減電力状態の何れかの間を遷移することによって実装することができ、構成要素に供給される電力量を低減する要求と、より深い低減電力状態に移行するために構成要素に供給される電力量を低減することも含むことができる。
【0029】
ブロック602に示されるように、方法600は、デバイスの構成要素の各々がアイドルであるという指標(指示)を受信することを含む。例えば、Z9低減電力状態にある間、PMC260のハードウェアロジック302は、ディスプレイコントローラ240を含むIP構成要素308の各々がアイドルであるという指標を受信し、これにより、Z10低減電力状態への移行プロセスが開始される。
【0030】
ブロック604に示されるように、方法600は、電力を除去する要求をデバイスの構成要素に送信することを含む。例えば、PMC260は、IP構成要素308の各々にフェンス要求を送信して、IP構成要素308に対する電力を除去する許可を要求する。また、フェンス要求は、IP構成要素308の各々に、他のIP構成要素308への通信の送信を停止すべきであるという指標を提供する。
【0031】
ブロック606に示されるように、方法600は、フェンス要求の肯定応答を受信することを含む。例えば、PMC260は、IP構成要素308の各々によって、PMC260がIP構成要素308から電力を除去することを許可する肯定応答を受信する。
【0032】
決定ブロック608に示されるように、方法600は、IP構成要素308のうち1つ以上が、構成要素に対する電力を除去する要求の肯定応答を受信する前又は後にアクティブであると示されるかどうかを判定することを含む。構成要素に対する電力を除去する要求の肯定応答を受信する前に、IP構成要素308のうち1つ以上がアクティブである(すなわち、もはやアイドルではない)と示されていると判定された場合(「はい」の判定)、方法600は、ブロック610に進み、電力低減状態への移行が中断される。例えば、PMC HWロジック302が、電力を除去する要求の肯定応答を受信する前に、1つ以上のIP構成要素308がアクティブであることを示すウェイクイベントを受信した場合に、PMC260は、IP構成要素308のレジスタデータを保存せず、低減電力状態に移行しない。
【0033】
構成要素に対する電力を除去する要求の肯定応答を受信した後に、IP構成要素308のうち1つ以上がアクティブである(すなわち、もはやアイドルではない)と示されていると判定された場合(「いいえ」の判定)、ブロック612において、電力低減状態電力状態への移行を中断することができず、デバイスは、電力低減状態に移行する。例えば、電力を除去する要求の肯定応答を受信した後にPMC HWロジック302がウェイクイベントを受信すると、PMC260は、対応するMSMU304のデータメモリ404にIP構成要素308のレジスタデータを保存し、IP構成要素308(及びZ10状態に移行する場合には、ディスプレイコントローラ240)から電力が除去され、デバイスは低減電力状態に移行する。
【0034】
決定ブロック614に示されるように、方法600は、IP構成要素308のうち1つ以上がアクティブであると示されているかどうかを判定することを含む。PMC260がIP構成要素308のレジスタデータを保存している期間中、又は、電力が除去された後(すなわち、低減電力状態にある間)に、IP構成要素308のうち1つ以上がアクティブである(すなわち、もはやアイドルではない)という指標を受信することができる。しかしながら、上述したように、PMC260がレジスタデータを保存している間に(すなわち、電力が除去される前に)指標(すなわち、ウェイクイベント)が受信された場合、要求の肯定応答の後に指標が受信されるので、デバイスは、依然として低減電力状態に移行する。IP構成要素308のうち1つ以上がアクティブであると示されていると判定された場合に、方法は、ブロック616に進み、電力がIP構成要素308に回復され、デバイスはアクティブ電力状態(例えば、電力がIP構成要素308の各々に供給されるS0又はZ0電力状態)に移行する。IP構成要素308のうち1つ以上がアクティブであると示されていると判定されない場合に、デバイスは、ブロック618において低減電力状態のままであり、PMC260は、IP構成要素308のうち1つ以上がアクティブであるという指標が受信されるまで待ち続ける。加えて、PMC260の固有のハードウェア及びIP/PMCインターフェースプロトコルに起因して、電力を除去する要求の肯定応答を受信した後、PMC260は、IP構成要素308に対する電力を回復させ、デバイスは、IP構成要素308のうち1つ以上がアクティブであるという指標がいつ受信されたかにかかわらず、1つ以上の構成要素308がアクティブである(もはやアイドルではない)と判定された時間から1ミリ秒(millisecond、ms)以内にアクティブ電力状態に移行する。すなわち、デバイスは、レジスタデータが保存されている期間中に指標が受信されるか又は低減電力状態にある間に受信されるかにかかわらず、指標が受信された時間から1ミリ秒(ms)以内にアクティブ電力状態に移行する。したがって、全体的な電力消費が低減され、デバイスのバッテリ寿命が増加する。
【0035】
図7は、本開示の特徴による、低減電力状態間の遷移の例を示すタイミング図である。図7に示される例は、Z9低減電力状態からZ10低減電力状態への遷移と、Z10低減電力状態からアクティブ電力状態(すなわち、S0電力状態又はZ0電力状態)への遷移と、を含む。しかしながら、本開示の特徴は、図7に示される電力状態とは異なる電力状態間で遷移するために実装することができる。
【0036】
PMC260は、電力状態間の遷移を実装するための複数の異なる指標を受信する。例えば、PMC260は、複数のIP構成要素(例えば、IP構成要素308)の各々から、対応する各IP構成要素308のアイドル状態(アイドル又は非アイドル)に関する別々の指標を受信する。しかしながら、簡略化のために、単一のアイドル状態指標信号(すなわち、IP_PMC_idle)が、IP構成要素308の組み合わされたアイドル状態を表すために図7に示されている。すなわち、IP_PMC_idle指標がハイである場合、IP構成要素308の各々は、アイドルである。IP_PMC_idle指標がローである場合、IP構成要素308のうち1つ以上は、アイドルではない(すなわち、アクティブである)。
【0037】
また、PMC260は、IP構成要素308間のハンドシェイキングプロセスを実施する。例えば、PMC260は、IP構成要素308の各々にフェンス要求を送信し、IP構成要素308の各々からフェンス肯定応答を受信する。しかしながら、簡略化のために、単一のフェンス要求(PMC_IP_fence_req)が、IP構成要素308の各々に送信されるフェンス要求を表すために図7に示され、単一のフェンス肯定応答(IP_PMC_fence_ack)が、IP構成要素308の各々に送信されるフェンス肯定応答を表すために図7に示される。
【0038】
また、PMC260は、電力リセット信号(すなわち、RSMU_IP_hard_reset_b)を使用して、デバイス200のIPの各々に対する電力をリセットする。図7の例に示されるように、RSMU_IP_hard_reset_bがハイからローになると、IP構成要素308の各々に対して電力が回復されるようにリセットが適用される。
【0039】
図7に示される例では、時間t1の前に、PMC260は、P1電力ドメイン内のIP構成要素(例えば、図5のCPU210、GPU220及びIP構成要素502)に電力が供給されない(すなわち、電力がオフである)Z9電力状態にある。例えば、時間t1の前に、PMC260は、P1電力ドメイン内のIP構成要素からアイドル状態指標を受信し、Z9電力状態に移行するためのプロセスを実施している。
【0040】
時刻t1において、IP_PMC_idleがハイになる。すなわち、PMC260は、ディスプレイコントローラ240を含むIP構成要素308の各々がアイドルであるという指標を受信し、PMC260は、Z10低減電力状態への移行プロセスを開始する。時間t2において、PMC260は、IP構成要素308の各々にフェンス要求(IP_fence_req)を発行し、IP構成要素308の各々から、IP構成要素308に対する電力を除去する許可を要求する。また、フェンス要求は、IP構成要素308の各々に、他のIP構成要素308への通信の送信を停止すべきであるという指標を提供する。
【0041】
時間t3において、IP_fence_ackがハイになり、IP構成要素308の各々によるPMC260へのフェンス要求(IP_fence_req)の肯定応答を示し、PMC260がIP構成要素308に供給される電力を除去することを許可する。PMC260は、時間t3と時間t4との間にIP構成要素308の構成レジスタ状態を保存し、時間t4においてIP構成要素308に対する電力を除去する。したがって、デバイス200は、時間t4と時間t5との間で、Z10低減電力状態で動作する。PMC260が、1つ以上の構成要素308がもはやアイドルではないという指標を受信した場合に、時間t5において、IP構成要素308に対する電力が回復され、時間t6において、IP構成要素308の構成レジスタ状態が回復され、時間t7において、デバイスが低減電力状態を終了させる。
【0042】
IP構成要素308のうち1つ以上が、時間t3の前に、もはやアイドル(すなわち、アクティブ)ではないという指標をPMC260が受信した場合、PMC260は、Z10電力状態への移行を中断する。例えば、図8A及び図8Bは、低減電力状態への移行を中断するために時間内に指標を受信する異なる例を示すタイミング図である。図8Aでは、PMC260は、時間t1と時間t2との間の時間tWAKEにおいて、IP構成要素308のうち1つ以上がもはやアイドルではないという指標(例えば、ウェイク信号)を受信する。したがって、IP_PMC_idleは、時間tWAKEにおいてローになる。時間t4において、フェンス要求(IP_fence_req)がローになり、Z10電力状態への移行が中断され、電力が除去されない。フェンス肯定応答(IP_fence_ack)は、時間t4の直後にローになる。図8Bでは、PMC260は、時間t2と時間t3との間の時間tWAKEにおいて、IP構成要素308のうち1つ以上がもはやアイドルではないという指標(例えば、ウェイク信号)を受信する。したがって、時間tWAKEにおいて、IP_PMC_idleはローになる。時間t4において、フェンス要求(IP_fence_req)がローになり、Z10電力状態への移行が中断され、電力が除去されない。
【0043】
PMC260が、時間t3(すなわち、電力を除去するためのフェンス要求の肯定応答及び許可が受信される時間の復帰不能点)の後に、IP構成要素308のうち1つ以上がもはやアイドルではないという指標(例えば、ウェイク信号)を受信すると、Z10電力状態への移行は、時間t4において中断することができず、デバイスは、Z10低減電力状態に移行する。しかし、PMC260の固有のハードウェア及びIP/PMCインターフェースプロトコルに起因して、PMC260は、IP構成要素308に対する電力を回復させ、デバイスは、1つ以上の構成要素308がもはやアイドルではないと識別された時間から1ms以内に、構成要素308に電力が供給されるアクティブ電力状態(例えば、S0又はZ0電力状態)に移行する。したがって、全体的な電力消費が低減され、デバイスのバッテリ寿命が増加する。
【0044】
例えば、図7に示されるように、PMC260は、時間t3の後、時間tWAKEにおいて、IP構成要素308のうち1つ以上がもはやアイドルではなく、Z10電力状態への移行を時間t4において中断することができず、デバイスがZ10低減電力状態に移行するという指標(例えば、ウェイク信号)を受信する。しかし、PMC260の固有のハードウェア及びIP/PMCインターフェースプロトコルに起因して、時間tWAKE(1つ以上の構成要素308が、もはやアイドルでないと識別される時間)と、時間t5(RSMU_IP_hard_reset_bがローになって、IP構成要素308の電源をリセットする時間)との間の期間が低減され、時間tWAKEと、時間t7(デバイスがアクティブ電源状態に移行する時間)との間の期間が1ms以下になる。
【0045】
図7に示される時間tWAKEは、一例に過ぎない。PMC260は、IP構成要素308のうちの1つ以上がもはやアイドルでないという指標をPMC260がいつ受信するかにかかわらず、IP構成要素308のうちの1つ以上がもはやアイドルでないという指標をPMC260が受信する時間(tWAKE)と、デバイスがアクティブ電力状態に入る時間(時間t7)との間の期間が1ms以下になるように、(時間t7において)IP構成要素308に対する電力をリセットするように構成されている。
【0046】
図において示され及び/又は本明細書に説明される様々な機能ユニット(プロセッサ102、入力ドライバ112、入力デバイス108、出力デバイス110、出力ドライバ114、データファブリック205、CPU210、GPU220、メモリコントローラ270及びPMC260を含むが、これらに限定されない)は、汎用コンピュータ、プロセッサ若しくはプロセッサコアとして、又は、汎用コンピュータ、プロセッサ若しくはプロセッサコアによって実行可能な非一時的なコンピュータ可読記憶媒体若しくは別の記憶媒体に記憶されているプログラム、ソフトウェア若しくはファームウェアとして実装され得る。提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアにおいて実施することができる。好適なプロセッサとしては、例として、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、及び/又は、状態マシンが挙げられる。そのようなプロセッサは、処理されたハードウェア記述言語(hardware description language、HDL)命令及びネットリストを含む他の中間データ(コンピュータ可読媒体に記憶させることが可能な命令)の結果を使用して製造プロセスを構成することによって製造することができる。そのような処理の結果は、マスクワークとすることができ、このマスクワークをその後の半導体製造プロセスにおいて使用して、本開示の特徴を実装するプロセッサを製造する。
【0047】
本明細書に提供される方法又はフローチャートは、汎用コンピュータ又はプロセッサによる実行のために非一時的なコンピュータ可読記憶媒体に組み込まれるコンピュータプログラム、ソフトウェア又はファームウェアにおいて実装することができる。非一時的なコンピュータ可読記憶媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)等の光学媒体が挙げられる。
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
【国際調査報告】