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

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

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

特表2024-546266電力状態を管理するための方法及び装置
<>
  • 特表-電力状態を管理するための方法及び装置 図1
  • 特表-電力状態を管理するための方法及び装置 図2A
  • 特表-電力状態を管理するための方法及び装置 図2B
  • 特表-電力状態を管理するための方法及び装置 図2C
  • 特表-電力状態を管理するための方法及び装置 図3A
  • 特表-電力状態を管理するための方法及び装置 図3B
  • 特表-電力状態を管理するための方法及び装置 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-19
(54)【発明の名称】電力状態を管理するための方法及び装置
(51)【国際特許分類】
   G06F 15/78 20060101AFI20241212BHJP
   G06F 1/3206 20190101ALI20241212BHJP
【FI】
G06F15/78 517
G06F1/3206
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024535688
(86)(22)【出願日】2022-11-10
(85)【翻訳文提出日】2024-07-09
(86)【国際出願番号】 US2022049604
(87)【国際公開番号】W WO2023129285
(87)【国際公開日】2023-07-06
(31)【優先権主張番号】17/562,854
(32)【優先日】2021-12-27
(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ターム(参考)】
5B011DC06
5B011EA02
5B011EA03
5B011EA04
5B011EA08
5B011KK02
5B011KK03
5B011KK11
5B062AA05
5B062HH07
(57)【要約】
コンピュータシステムの電力状態を管理するための方法及び装置は、プロセッサによって受信されたイベントに応じて、第1の回路をパワーアップすることを含む。イベントが第1の回路によって処理可能でないことに応じて、イベントを処理するために、コンピュータシステムの少なくとも第2の回路をパワーアップする。
【選択図】図4
【特許請求の範囲】
【請求項1】
コンピュータシステムの電力状態を管理するための方法であって、
プロセッサによって受信されたイベントに応じて、第1の回路をパワーアップすることと、
前記イベントが前記第1の回路によって処理可能でないことに応じて、前記イベントを処理するために前記コンピュータシステムの少なくとも第2の回路をパワーアップすることと、を含む、
方法。
【請求項2】
前記第1の回路及び前記第2の回路は、前記コンピュータシステムの同じ構成要素に存在する、
請求項1の方法。
【請求項3】
前記第1の回路は、前記コンピュータシステムの第1の構成要素に存在し、前記第2の回路は、前記コンピュータシステムの第2の構成要素に存在する、
請求項1の方法。
【請求項4】
前記イベントが前記第1の回路及び前記第2の回路によって処理可能でないことに応じて、第3の回路をパワーアップすることを含む、
請求項1の方法。
【請求項5】
前記回路がパワーアップされたことによって、前記イベントを処理することに成功したと判断することを含む、
請求項1の方法。
【請求項6】
前記回路がパワーアップされたことによって前記イベントを処理することに成功したことに基づいて、カウンタを増分することを含む、
請求項5の方法。
【請求項7】
前記カウンタの値が所定の閾値以上であることに基づいて、成功したと判断された同じイベントに対して同じ回路をパワーアップすることを含む、
請求項6の方法。
【請求項8】
前記回路がパワーアップされたことによって前記イベントを処理することに失敗したことに基づいて、カウンタを減分することを含む、
請求項5の方法。
【請求項9】
前記カウンタの値が所定の閾値未満であることに基づいて、失敗したと判断された同じイベントに対して追加の回路をパワーアップすることを含む、
請求項8の方法。
【請求項10】
コンピュータシステムの電力状態を管理するための装置であって、
第1の回路と、
第2の回路と、
前記第1の回路及び前記第2の回路と動作可能に結合されており、前記第1の回路及び前記第2の回路と通信するプロセッサと、を備え、
前記プロセッサは、
受信したイベントに応じて、前記第1の回路をパワーアップすることと、
前記イベントが前記第1の回路によって処理可能でないことに応じて、前記イベントを処理するために前記コンピュータシステムの前記第2の回路をパワーアップすることと、
を行うように構成されている、
装置。
【請求項11】
前記第1の回路及び前記第2の回路は、前記コンピュータシステムの同じ構成要素に存在する、
請求項10の装置。
【請求項12】
前記第1の回路は、前記コンピュータシステムの第1の構成要素に存在し、前記第2の回路は、前記コンピュータシステムの第2の構成要素に存在する、
請求項10の装置。
【請求項13】
前記プロセッサは、前記イベントが前記第1の回路及び前記第2の回路によって処理可能でないことに応じて、第3の回路をパワーアップするように構成されている、
請求項10の装置。
【請求項14】
前記プロセッサは、前記回路がパワーアップされたことによって、前記イベントを処理することに成功したと判断するように構成されている、
請求項10の装置。
【請求項15】
前記プロセッサは、前記回路がパワーアップされたことによって前記イベントを処理することに成功したことに基づいて、カウンタを増分するように構成されている、
請求項14の装置。
【請求項16】
前記プロセッサは、前記カウンタの値が所定の閾値以上であることに基づいて、成功したと判断された同じイベントに対して同じ回路をパワーアップするように構成されている、
請求項15の装置。
【請求項17】
前記プロセッサは、前記回路がパワーアップされたことによって前記イベントを処理することに失敗したことに基づいて、カウンタを減分するように構成されている、
請求項16の装置。
【請求項18】
前記プロセッサは、前記カウンタの値が所定の閾値未満であることに基づいて、失敗したと判断された同じイベントに対して追加の回路をパワーアップするように構成されている、
請求項17の装置。
【請求項19】
コンピュータシステムの電力状態を管理するためのプロセッサであって、
前記プロセッサは、
受信したイベントに応じて、前記プロセッサと動作可能に結合されており、前記プロセッサと通信する前記コンピュータシステムの第1の回路をパワーアップすることと、
前記イベントが前記第1の回路によって処理可能でないことに応じて、前記イベントを処理するために、前記プロセッサと動作可能に結合されており、前記プロセッサと通信する前記コンピュータシステムの第2の回路をパワーアップすることと、
を行うように構成されている、
プロセッサ。
【請求項20】
前記プロセッサは、前記イベントが前記第1の回路及び前記第2の回路によって処理可能でないことに応じて、第3の回路をパワーアップするように構成されている、
請求項19のプロセッサ。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2021年12月27日に出願された米国特許出願第17/562,854号の利益を主張し、その内容は、参照により、本明細書に完全に記載されているかのように組み込まれる。
【背景技術】
【0002】
システムオンチップ(system on chip、SOC)コンピュータシステムにおけるパワーセーブモード中に異なるパワーオフモードに入ると、チップの様々な部分がシャットダウンされる。複数の電力状態を有するSOCがパワーダウンモードにある場合、システムを再びパワーアップするためにウェイクアップ信号が送信される。いくつかのシステムでは、システム全体又はシステムの大部分が、そのような信号に応じて覚醒(アウェイク)する。しかしながら、そのシステムの残りの部分が、入るべき後続の電力状態を決定し得る。しかしながら、この技術は、何れの電力状態に入るかを決定するために電力を消費する。
【0003】
添付の図面と共に例として与えられる以下の説明から、より詳細な理解を得ることができる。
【図面の簡単な説明】
【0004】
図1】本開示の1つ以上の特徴を実装することができる、例示的なデバイスのブロック図である。
図2A】部分的なパワーダウン状態における図1の例示的なシステムのブロック図である。
図2B】第2の部分的なパワーダウン状態における図1の例示的なシステムのブロック図である。
図2C】第3の部分的なパワーダウン状態における図1の例示的なシステムのブロック図である。
図3A】第1のウェイク状態におけるメモリコントローラのブロック図である。
図3B】第2のウェイク状態におけるメモリコントローラのブロック図である。
図4】実施形態による、電力状態を管理する例示的な方法のフロー図である。
【発明を実施するための形態】
【0005】
本方法及び装置は、以下で更に詳細に展開されるが、電力状態を管理するための方法を本明細書で簡単に説明する。例えば、システムオンチップ(SOC)コンピュータシステムでは、パワーセーブを達成するために、SOCに関連付けられた一部のエリアが、パワーセーブのためにパワーダウンされ得る。以下で更に詳細に説明するが、SOCは、システム全体の多くの構成要素がチップ上に存在するデバイスである。例えば、SOCは、単一のチップ上に、プロセッサ、メモリ、ストレージ、入力及び出力ドライバ、並びに、他の構成要素を含み得る。
【0006】
SOCが十分に低い電力状態にパワーダウンされ、その後、より高い電力状態に入るコマンドを処理すると、SOCは、中間電力状態に入る。この中間電力状態では、SOCは、何れの更なる電力状態に入るべきかをある程度の精度で決定することが可能である。SOCは、ディスプレイコントローラのみがパワーアップされる状態等のより低い電力状態、又は、SOCの追加の構成要素がパワーアップされている状態等のより高い電力状態を含む様々な状態のうち何れかに変化することを決定することができる。
【0007】
コンピュータシステムにおける電力状態を管理するための方法は、プロセッサによって受信されたイベントに応じて、第1の回路をパワーアップすることを含む。イベントが第1の回路によって処理可能(serviceable)でないことに応じて、イベントを処理(service)するためにコンピュータシステムの少なくとも第2の回路をパワーアップする。
【0008】
コンピュータシステムにおける電力状態を管理するための装置は、第1の回路と、第2の回路と、第1の回路及び第2の回路と動作可能に結合されており、且つ、通信するプロセッサと、を含む。プロセッサは、受信されたイベントに応じて、第1の回路をパワーアップするように構成されている。イベントが第1の回路によって処理可能でないことに応じて、プロセッサは、イベントを処理するためにコンピュータシステムの第2の回路をパワーアップする。
【0009】
コンピュータシステムにおける電力状態を管理するためのプロセッサは、受信されたイベントに応じて、プロセッサと動作可能に結合されており、且つ、通信するコンピュータシステムの第1の回路をパワーアップするように構成されたプロセッサを含む。イベントが第1の回路によって処理可能でないことに応じて、プロセッサは、イベントを処理するために、プロセッサと動作可能に結合されており、且つ、通信するコンピュータシステムの第2の回路をパワーアップする。
【0010】
図1は、本開示の1つ以上の特徴を実装することができる例示的なデバイス100のブロック図である。デバイス100は、例えば、コンピュータ、サーバ、ゲームデバイス、ハンドヘルドデバイス、セットトップボックス、テレビ、携帯電話、又は、タブレットコンピュータを含み得る。デバイス100は、プロセッサ102、メモリ104、ストレージ106、1つ以上の入力デバイス108、及び、1つ以上の出力デバイス110を含む。例示の目的で、出力デバイス110は、ディスプレイ110であるように示されているが、他の出力デバイスが含まれ得ることが理解される。
【0011】
また、デバイス100はまた、オプションで、入力ドライバ112及び出力ドライバ114を含み得る。加えて、デバイス100は、プロセッサ102及びメモリ104と通信し、且つ、外部メモリ116とも通信することができるメモリコントローラ115を含む。いくつかの実施形態では、メモリコントローラ115は、プロセッサ102内に含まれることになる。デバイス100は、図1に示されていない追加の構成要素を含むことができることを理解されたい。
【0012】
上述したように、プロセッサ102、メモリ104、ストレージ106、入力ドライバ112、出力ドライバ114、及び、メモリコントローラ115は、SOC101上に含まれ得る。
【0013】
様々な代替例では、プロセッサ102は、中央処理ユニット(central processing unit、CPU)、グラフィックス処理ユニット(graphics processing unit、GPU)、同じダイ上に位置するCPU及びGPU、又は、1つ以上のプロセッサコアを含み、各プロセッサコアは、CPU又はGPUとすることができる。様々な代替例では、メモリ104は、プロセッサ102と同じダイ上に位置するか、又は、プロセッサ102とは別に位置する。メモリ104は、揮発性又は不揮発性メモリ(例えば、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックRAM、キャッシュ)を含む。
【0014】
ストレージ106は、固定若しくはリムーバブルストレージ(例えば、ハードディスクドライブ、ソリッドステートドライブ、光ディスク、フラッシュドライブ)を含む。入力デバイス108は、キーボード、キーパッド、タッチスクリーン、タッチパッド、検出器、マイクロフォン、加速度計、ジャイロスコープ、生体認証スキャナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。出力デバイス110は、ディスプレイ、スピーカ、プリンタ、触覚フィードバックデバイス、1つ以上の光、アンテナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。
【0015】
入力ドライバ112は、プロセッサ102及び入力デバイス108と通信し、プロセッサ102が入力デバイス108から入力を受信することを可能にする。出力ドライバ114は、プロセッサ102及び出力デバイス110と通信し、プロセッサ102が出力デバイス110に出力を送信することを可能にする。入力ドライバ112及び出力ドライバ114は、オプションの構成要素であること、並びに、デバイス100は、入力ドライバ112及び出力ドライバ114が存在しない場合に、同じ方式で動作することに留意されたい。
【0016】
外部メモリ116は、メモリ104と同様であってもよく、オフチップメモリの形態で存在し得る。加えて、外部メモリは、メモリコントローラ115が外部メモリ116にアクセスするためにネットワークインターフェースを介して通信するサーバ内に常駐するメモリであり得る。
【0017】
システム内の異なる領域をパワーダウンすることには利点がある。領域をパワーダウンすることによって、特定のパワーダウン状態において利用される回路のみを動作させ、且つ、電力供給することによって、パワーセーブを達成することが可能である。次いで、イベントを処理するために必要とされるエリアを覚醒させ、且つ、パワーアップすることができ、ゆえに、イベントを処理するために必要な電力量のみを使用し、過剰な電力使用をもたらさない。
【0018】
図2Aは、部分的なパワーダウン状態における図1の例示的なシステムのブロック図である。図2Aの例示的なシステム100は、いくつかの構成要素がパワーセーブのためにパワーダウンされている、部分的なパワーダウン状態にあるSOC101を示している。
【0019】
例えば、図2Aにおいて、メモリ104、ストレージ106、入力ドライバ112、出力ドライバ114、及び、メモリコントローラ115は、パワーダウンされている。SOC101内のプロセッサ102は、パワーアップされているものとして示されている。プロセッサ102がGPUである実施形態では、プロセッサ102もパワーダウンされ得る。
【0020】
この状態では、動作する必要のない構成要素に関連付けられた回路がパワーダウンされることによって、パワーセーブが達成される。したがって、アクティブな、動作中のエリアによって電力を利用することができる。例えば、ビデオコントローラ、ディスプレイコントローラ、及び、GPUは、システムのスリープモード中にパワーダウンされ得る。
【0021】
図2Bは、第2の部分的なパワーダウン状態における図1の例示的なシステムのブロック図である。図2Bの例示的なシステム100は、ストレージ106、入力ドライバ112、及び、出力ドライバ114がパワーダウンされていることを示している。この状態では、プロセッサ102、メモリコントローラ115、及び、メモリ104は、処理されるイベントを処理するために覚醒している。
【0022】
図2Bでは、メモリコントローラ115のウェイクアップを利用する限定されたウェイクアップが発生しており、それのより詳細なウェイクアップについては以下でより詳細に説明する。メモリコントローラ115をウェイクアップさせることによって、メモリ104及び外部メモリ116へのメモリ動作が達成され得る。例えば、メモリに対する読み取り又は書き込みを必要とするウェイクアップイベントがSOC101によって受信される場合、メモリコントローラ115及びメモリ104が覚醒する。
【0023】
図2Cは、第3の部分的なパワーダウン状態における図1の例示的なシステムのブロック図である。図2Cの例示的なシステム100は、ストレージ106、入力ドライバ112、及び、出力ドライバ114がパワーダウンされていることを示している。この状態では、プロセッサ102、出力ドライバ114、メモリコントローラ115、及び、メモリ104は、ウェイクアップイベントを処理するために覚醒している。
【0024】
この状態では、SOC101によって受信されたイベントを処理するために、処理されるイベントが図2A及び図2Bの構成要素に対する追加の構成要素を必要とすることが決定される。
【0025】
例えば、メモリコントローラ115及びディスプレイコントローラの両方を必要とする受信イベントは、メモリコントローラ115、メモリ104、及び、出力ドライバ114の覚醒を保証し得る。
【0026】
集合的に、図2A図2B及び図2Cにおいて発生しているウェイクアップは、水平ウェイクアップと称され得る。すなわち、SOC101において覚醒している構成要素は、水平に関連付けられており、追加の構成要素をウェイクさせることなくイベントを処理するために覚醒すべき1つ以上の構成要素である。
【0027】
例えば、メモリコントローラ115は、ディスプレイへのレンダリングが必要とされない場合、出力ドライバ114を覚醒させる必要なしに、メモリ読み取り又は書き込みを処理するために覚醒し得る。
【0028】
水平ウェイクアップでは、SOC101によって受信されたイベントは、SOC101の何れの構成要素が覚醒する必要があるかを決定する。その決定は、受信されたイベントを検査し、SOC101の何れの水平構成要素が覚醒すべきであるかを決定することによって、SOC101のプロセッサ102によって、又は、任意の他のSOC HW若しくはFW構成要素によって行われ得る。
【0029】
この場合も、プロセッサ102は、最初に、SOC101の限られた部分を覚醒させ得る。処理されるイベントのタイプ又は持続時間が、追加の構成要素が覚醒することを必要とする場合、追加のSOC101の構成要素が覚醒し得る。
【0030】
例えば、ウェイクアップイベントは、ユーザトリガイベント(例えば、マウス移動、キーボードクリック)又はタイマイベントを含み得る。加えて、ACPIイベントに関連付けられた着信WiFi(登録商標)イベント、PCIeイベント又はGPIO(General Purpose IO、汎用IO)は、ウェイクアップをトリガし得る。これらのイベントは、SOC101から追加の構成要素のウェイクアップを必要とし得る。
【0031】
例えば、マウス移動又はキーボードクリックは、SOC101内の入力ドライバ及び入力回路のウェイクアップを必要とし得る。着信WiFi(登録商標)イベント、PCIeイベント又はGPIOイベントは、データを送信するために使用され得るバスに沿ったデータの送信に関係する回路のウェイクアップを必要とし得る。
【0032】
図3Aは、第1のウェイク状態におけるメモリコントローラ115のブロック図である。上述したように、メモリコントローラ115は、メモリ動作を必要とするイベントを処理するためにウェイクアップされ得る。
【0033】
図3Aに示すように、メモリコントローラは、例えば、MC、MC、MC、MCで指定された4つのメモリエリア回路を含む。この4つのエリアは、メモリコントローラ115の様々な性能状態のためのアクティブエリアに関連付けられる。
【0034】
例えば、MCは、第1の性能状態に関連付けられる。MC及びMCは、第2の性能状態に関連付けられる。MC、MC、MCは、第3の性能状態に関連付けられる。MC、MC、MC、MCは、第4の性能状態に関連付けられる。
【0035】
4つの性能状態が示されているが、4つよりも多い又は少ない性能状態がメモリコントローラに関連付けられ得ることを理解されたい。
【0036】
性能状態の各々は、いくつの状態が覚醒すべきかを決定するパラメータに関連付けられる。例えば、パラメータの第1のセットは、1つの状態を覚醒させることに関連付けられ、パラメータの第2のセットは、第2の状態を覚醒させることに関連付けられ、パラメータの第3のセットは、第3の状態を覚醒させることに関連付けられ、パラメータの第4のセットは、第4の状態を覚醒させることに関連付けられ得る。
【0037】
上述したように、パラメータの第1のセットは、メモリコントローラの第1のエリアの覚醒のみを必要とし得る。例えば、パラメータの第1のセットは、メモリコントローラがメモリ読み取り等の限定された機能のみを実行することを必要とし得る。
【0038】
そのため、図3Aに示される例では、ウェイクアップイベントに関連付けられたパラメータの第1のセットがSOC101によって受信され、このパラメータの第1のセットは、メモリコントローラのMCのみをウェイクアップさせることを決定する。メモリコントローラ115の他のエリアは、パワーダウン状態のままである。すなわち、MC、MCMCはパワーダウンされたままであり、MCのみが覚醒している。
【0039】
メモリコントローラ115は、必要なメモリイベントを実行するために、メモリ104又は外部メモリ116と追加的に通信することができる。このようにして、メモリコントローラ115は、例えば、メモリ104に対するメモリ書き込み又はメモリ読み取りを実行することができる。メモリコントローラ115は、上述したように、外部メモリ116等の外部メモリを用いて動作を実行し得ることにも留意されたい。
【0040】
図3Bは、第2のウェイク状態におけるメモリコントローラ115のブロック図である。上述したように、メモリコントローラ115は、メモリ動作を必要とするイベントを処理するためにウェイクアップされ得る。
【0041】
図3Bに示される例では、ウェイクアップイベントに関連付けられたパラメータの第2のセットがSOC101によって受信され、このパラメータの第2のセットは、メモリコントローラのMC、MC、MC、MCをウェイクアップさせることを決定する。この状態では、メモリイベントを処理するためにメモリコントローラ115全体がウェイクアップされる。
【0042】
この場合も、メモリコントローラ115は、メモリ動作を実行するために、メモリ104及び外部メモリ116とも通信する。
【0043】
図3A及び図3Bに示される例では、垂直ウェイクアップが有効である。すなわち、SOC101の構成要素内の要素は、ウェイクアップイベントに従ってウェイクアップされる。
【0044】
この垂直ウェイクアップ中に、覚醒している同じ構成要素内の追加のエリアは、覚醒する必要がある場合もあれば、覚醒する必要がない場合もある。例えば、図3A及び図3Bの例を参照すると、イベントを処理するためにメモリコントローラ115の第1のエリアをウェイクさせた後、そのエリアのみをウェイクさせることによってイベントを処理することができると判断される場合、追加のエリアが覚醒する必要はない。
【0045】
しかしながら、イベントを処理するために追加のエリアがウェイクアップされる必要がある場合、追加のエリアも覚醒する。すなわち、第2のエリアが覚醒する必要がある場合、エリアMが覚醒する。イベントを処理するために第3のエリアが必要とされる場合、エリアMも覚醒する。メモリコントローラ115全体が必要とされる場合、図3Bに示すように、メモリコントローラ115のMC、MC、MC、MCが覚醒する。
【0046】
すなわち、MCが単独で処理することができないメモリ動作が必要とされる場合、MC~MCは、その動作を処理するために覚醒する。例えば、メモリエリアから読み出されるか又は書き込まれる大量のデータは、メモリコントローラの1つのエリアのみに限定することによって処理可能ではない場合がある。この場合、イベントを処理するために、メモリコントローラの追加エリアが覚醒する。
【0047】
水平ウェイクアップ及び垂直ウェイクアップの例が上述されているが、追加的に、垂直ウェイクアップ及び水平ウェイクアップの両方に関連付けられた電力状態を管理する方法が利用される。そのため、以下では、電力状態を管理する方法が記載される。
【0048】
図4は、実施形態による、電力状態を管理する例示的な方法400のフロー図である。例示的な方法400は、上述した垂直ウェイクアップと水平ウェイクアップの両方に適用される。
【0049】
ステップ410において、ウェイクアップイベント信号がSOC101によって受信される。例えば、信号は、入力デバイスから、又は、イベントがSOC101によって処理されることを必要とするデバイス上のマイクロコントローラから受信され得る。この信号は、SOC101の任意の構成要素によって受信され得る。例えば、プロセッサ102は、その信号を、入力デバイスから信号を受信してもよく、メモリコントローラ115は、メモリ動作を必要とするイベントから受信し得る。しかしながら、これらの構成要素は、ウェイクアップをトリガする信号を受信し得る構成要素に限定されない。
【0050】
次いで、SOC101は、ウェイクアップイベントを受信することに応じて、第1のハードウェアをパワーアップする(又は覚醒させる)(ステップ420)。例えば、SOC101の追加のエリアをウェイクアップさせることなしにイベントを処理することができるかどうかを決定するために、プロセッサ102が覚醒し得る。
【0051】
イベントを処理するためにシステム全体が覚醒すべきである場合(ステップ430)、SOC101は、システム全体をウェイクさせる(ステップ440)。例えば、いくつかの実施形態では、追加のメトリックが、特定のイベントに関連付けられたSOC101ウェイクアップの履歴を追跡し得る。次いで、その履歴に基づいて、SOC101全体をウェイクアップさせる決定が行われる。
【0052】
ウェイクアップのための予測エンジンに関して更なる詳細が以下に提供されるが、簡潔には、イベントに基づくウェイクアップさせる構成要素の予測が、そのイベントを処理するためにSOC101全体が覚醒すべきであることを示す場合、SOC101全体が覚醒する。
【0053】
ステップ430において、システム全体が覚醒する必要がない場合、SOC101は、システムを再びパワーダウンすることができるかどうかを決定する(ステップ450)。すなわち、イベントが追加のエリアがパワーアップされることを必要とせず、最小限のパワーアップによって処理される場合、SOC101は、システムを再びパワーダウンする(ステップ460)。
【0054】
システムを再びパワーダウンすべきでない場合(ステップ450)、SOC101は、イベントに関連付けられたパラメータに基づいてタスクイベントを実行するために、パワーアップされ且つ覚醒すべきエリアをウェイクさせる(ステップ470)。
【0055】
例えば、グラフィックス処理イベントでは、イベントに応じてGPU全体が覚醒する必要がない場合がある。すなわち、グラフィックス処理は、非グラフィックス集中処理イベントのためのイベントを処理するために、GPUの全てのコアの処理能力を必要としない場合がある。この場合、GPUの全てのコアの覚醒は不要であり、必要とされない追加の電力要件が発生する。したがって、イベントを処理するために、GPUの単一のコア又はGPUの複数のコアがパワーアップされ得る。これは、GPUのコアの全てを覚醒させないことによってパワーセーブをもたらす。
【0056】
加えて、イベントを処理するためにSOC101の追加のエリアが覚醒する必要があるか否かを決定するために、タイマパラメータが利用され得る。すなわち、イベントの処理持続時間を追跡するためにタイマが利用され得る。所定の時間内にイベントを処理することができない場合、追加のエリアが、イベントを処理するためにウェイクさせる必要があるとみなされる。
【0057】
そのため、イベントを処理することができる所定の時間期間をイベントが超過する場合、追加のエリアは、イベントを処理するためにSOC101内で覚醒する。例えば、CPU又はGPUの何れかの追加のコアが必要とされる場合、イベントを処理するために、それらのコアが覚醒し、パワーアップされ得る。
【0058】
更に、SOC101の各構成要素は、構成要素をウェイクさせるか否かを決定する異なる基準を含み得る。イベント基準の知識に基づいて、SOC101は、ステップ470において、何れのエリアをウェイクさせるべきかを決定し得る。
【0059】
例えば、新しい構成要素がユニバーサルシリアルバスuniversal serial bus、USB)ポートに差し込まれることは、ディスプレイコントローラが覚醒すべきであることを示す基準とし得る。このようにして、次のステップを決定するために、潜在的なユーザアクションをディスプレイ上で要求することができる。
【0060】
加えて、例えば、USBフラッシュドライブが差し込まれることは、ドライブからファイルをコピーするか否かのユーザによる決定、又は、ユーザが望ましいと考え得る任意の他のアクションを要求し得る。上述したように、メモリ読み出し又は書き込みイベントは、メモリコントローラ115及びメモリエリア(例えば、メモリ104)をウェイクさせることを決定する基準とし得る。
【0061】
そのため、USBフラッシュドライブが差し込まれる場合にユーザが一連の動作を決定することを可能にするために機能するのに必要な構成要素が覚醒する。例えば、ユーザが選択するための選択肢をユーザに表示するために、ディスプレイが覚醒し得る。また、上述したように、コピー動作が必要とされる場合、メモリコピーを実行するために必要とされるメモリコントローラ115のエリアが覚醒する。
【0062】
加えて、イベントの履歴及びパワーアップされる構成要素を、SOC101によって追跡することができる。すなわち、発生するある特定のイベントは、特定の構成要素の覚醒を必要とすると予測され得る。これらの予測が正しい場合、何れの構成要素を覚醒させるかを知るために、カウンタを増分して記憶することができる。
【0063】
例えば、イベントがディスプレイコントローラの覚醒を必要とすると予測され、ディスプレイコントローラの覚醒がイベントを処理する場合、カウンタを増分することができる。このようにして、そのイベントのために次にディスプレイコントローラをウェイクさせることを決定するために、機械学習を用いる。
【0064】
上述したように、ディスプレイ(例えば、ディスプレイ110)を制御するために、ディスプレイコントローラが使用される。ディスプレイコントローラは、以下の要素、すなわち、ファームウェア回路、ソフトウェアによって構成可能な処理回路、又は、同等物のうち何れか又はこれらの組み合わせを備え得る回路を含み得る。
【0065】
そのため、イベントに応じて、ディスプレイコントローラ回路の全部又は一部がパワーアップされ及び覚醒し得る。必要であると予測されないディスプレイコントローラ回路の他の部分は、パワーダウンされたままにされ得る。
【0066】
同じ例を利用して、ディスプレイコントローラをウェイクさせることがイベントを処理しない場合、カウンタは減分される。この場合のSOC101の機械学習は、予測がそのイベントに基づいてあまり正確でないことを学習する。
【0067】
そのため、カウンタを増分又は減分することによって、発生する機械学習は予測を改善する。すなわち、カウンタが増分され続けるにつれて、予測がより精緻化され、正確になる。このようにして、覚醒した構成要素がイベントを処理することになるか否かについてのより信頼性の高い予測を実現することができる。これは、カウンタを比較するために利用することができる既定の閾値を設定することによって実装することができる。
【0068】
例えば、カウンタが既定の閾値を上回ったままである場合、予測に基づいて覚醒する構成要素は、そのタイプのイベントがSOC101に渡される場合に覚醒し続ける。カウンタが閾値未満である場合、覚醒する構成要素は、パワーダウン状態に保たれ得る。
【0069】
上述したように、異なる領域がパワーダウンモードに入ると、同時にパワーセーブを達成することができる。加えて、ウェイクアップイベントがSOC101によって受信されると、最小量の電力を使用するために、覚醒する必要があるエリアのみがパワーアップされる。
【0070】
パワーアップは、水平型覚醒とすることができる。すなわち、SOC101内の1つ以上の構成要素は、他の構成要素をウェイクさせることなく個別に覚醒し得る。
【0071】
加えて、パワーアップは、垂直型覚醒とすることができる。このタイプの覚醒では、単一の構成要素内のエリアは、処理されるイベントに基づいてパワーアップされ得る。例えば、上記のように、メモリコントローラ115の異なる電力状態が、異なるイベントを処理するために利用され得る。メモリコントローラのいくつかのエリアは、イベント及び処理されるタスクに基づいてパワーアップされる必要がない場合がある。
【0072】
提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアにおいて実施することができる。好適なプロセッサとしては、例として、汎用プロセッサ、目的プロセッサ、従来型プロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、及び/又は、状態マシンが挙げられる。そのようなプロセッサは、処理されたハードウェア記述言語(hardware description language、HDL)命令及びネットリストを含む他の中間データ(コンピュータ可読媒体に記憶させることが可能な命令)の結果を使用して製造プロセスを構成することによって製造することができる。そのような処理の結果はマスクワークとすることができ、このマスクワークをその後の半導体製造プロセスにおいて使用して、本開示の特徴を実装するプロセッサを製造する。更に、上述した方法及び装置は、PCIeリンク及びポートを制御及び構成するコンテキストで説明されているが、方法及び装置は、リンク幅がネゴシエートされる任意の相互接続プロトコルにおいて利用され得る。
【0073】
本明細書に提供される方法又はフローチャートは、汎用コンピュータ又はプロセッサによる実行のために非一時的なコンピュータ可読記憶媒体に組み込まれるコンピュータプログラム、ソフトウェア又はファームウェアにおいて実施することができる。非一時的なコンピュータ可読記憶媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)等の光学媒体が挙げられる。例えば、上述した方法は、プロセッサ102において、又は、コンピュータシステム100内の任意の他のプロセッサ上で実施され得る。加えて、上述した方法は、任意の構成要素(例えば、SOC101の構成要素)内のコントローラ、プロセッサ又は回路において実施され得る。
図1
図2A
図2B
図2C
図3A
図3B
図4
【国際調査報告】