(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-06
(54)【発明の名称】電力状態が変化するデバイスの階層的な状態の保存及び復元
(51)【国際特許分類】
G06F 1/3287 20190101AFI20240730BHJP
G06F 9/44 20180101ALI20240730BHJP
G06F 15/78 20060101ALI20240730BHJP
G06F 1/3206 20190101ALI20240730BHJP
【FI】
G06F1/3287
G06F9/44
G06F15/78 517
G06F1/3206
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024503530
(86)(22)【出願日】2022-07-12
(85)【翻訳文提出日】2024-02-27
(86)【国際出願番号】 US2022036849
(87)【国際公開番号】W WO2023009308
(87)【国際公開日】2023-02-02
(32)【優先日】2021-07-30
(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
5B376
【Fターム(参考)】
5B011DA06
5B011EA02
5B011EA03
5B011EA04
5B011EA05
5B011EA10
5B011LL11
5B062AA05
5B062HH04
5B062HH06
5B376AE03
5B376AE09
(57)【要約】
本開示の技術は、1つ以上の機能要素の第1のセットに対して、及び、1つ以上の機能要素の第2のセットに対して、高電力状態から低電力状態への変化をトリガすることと、1つ以上の保存状態要素の第1のセットを介して、1つ以上の機能要素の第1のセットの第1の状態を保存することと、1つ以上の保存状態要素の第2のセットを介して、1つ以上の機能要素の第2のセットの第2の状態を保存することと、1つ以上の機能要素の第1のセット及び1つ以上の機能要素の第2のセットをパワーダウンすることと、第1の状態及び第2の状態をメモリに送信することと、を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
方法であって、
1つ以上の機能要素の第1のセットに対して、及び、1つ以上の機能要素の第2のセットに対して、高電力状態から低電力状態への変化をトリガすることと、
1つ以上の保存状態要素の第1のセットを介して、前記1つ以上の機能要素の第1のセットの第1の状態を保存することと、
1つ以上の保存状態要素の第2のセットを介して、前記1つ以上の機能要素の第2のセットの第1の状態を保存することと、
前記1つ以上の機能要素の第1のセット及び前記1つ以上の機能要素の第2のセットをパワーダウンすることと、
前記1つ以上の機能要素の第1のセットの第1の状態及び前記1つ以上の機能要素の第2のセットの第1の状態をメモリに送信することと、を含む、
方法。
【請求項2】
前記メモリは、前記1つ以上の機能要素の第1のセット及び前記1つ以上の機能要素の第2のセットがパワーダウンされている間、パワーアップされたままである、
請求項1の方法。
【請求項3】
前記1つ以上の機能要素の第1のセットは、レイテンシに敏感な機能要素のセットを含む、
請求項1の方法。
【請求項4】
前記1つ以上の機能要素の第1のセットは、ネットワークを介することなく、前記1つ以上の保存状態要素の第1のセットに直接結合されている、
請求項3の方法。
【請求項5】
前記1つ以上の機能要素の第2のセットは、1つ以上のネットワーク要素を介して、前記1つ以上の保存状態要素の第2のセットに結合されている、
請求項4の方法。
【請求項6】
前記1つ以上の機能要素の第1のセットの第1の状態を保存することは、前記1つ以上の機能要素の第2のセットの第1の状態を保存することよりも後に開始される、
請求項3の方法。
【請求項7】
前記1つ以上の機能要素の第1のセットの第1の状態を保存することと、前記1つ以上の機能要素の第2のセットの第1の状態を保存することと、が同時に行われる、
請求項1の方法。
【請求項8】
前記1つ以上の要素の第1のセットの第1の状態及び前記1つ以上の要素の第2のセットの第1の状態をメモリに送信することは、前記1つ以上の機能要素の第1のセット及び前記1つ以上の機能要素の第2のセットをパワーダウンすることと同時に行われる、
請求項1の方法。
【請求項9】
前記1つ以上の要素の第1のセットの第1の状態及び前記1つ以上の要素の第2のセットの第1の状態をメモリに送信した後に、前記1つ以上の保存状態要素の第1のセット及び前記1つ以上の保存状態要素の第2のセットをパワーダウンすることを含む、
請求項1の方法。
【請求項10】
システムであって、
電力状態コントローラと、
1つ以上の保存状態ヘルパユニットと、
1つ以上の機能要素と、
メモリと、を備え、
前記電力状態コントローラは、前記1つ以上の機能要素の第1のセットに対して、及び、前記1つ以上の機能要素の第2のセットに対して、高電力状態から低電力状態への変化をトリガするように構成されており、
前記1つ以上の機能要素の第1のセットは、前記1つ以上の機能要素の第1のセットの第1の状態を保存し、前記1つ以上の機能要素の第1のセットの第1の状態を前記メモリに送信するように構成されており、
1つ以上の保存状態要素の第2のセットは、前記1つ以上の機能要素の第2のセットの第1の状態を保存し、前記1つ以上の機能要素の第2のセットの第1の状態を前記メモリに送信するように構成されており、
前記1つ以上の機能要素の第1のセット及び前記1つ以上の機能要素の第2のセットは、前記第1の状態及び前記第2の状態が前記1つ以上の保存状態要素に保存された後にパワーダウンするように構成されている、
システム。
【請求項11】
前記メモリは、前記1つ以上の機能要素の第1のセット及び前記1つ以上の機能要素の第2のセットがパワーダウンされている間、パワーアップされたままである、
請求項10のシステム。
【請求項12】
前記1つ以上の機能要素の第1のセットは、レイテンシに敏感な機能要素のセットを含む、
請求項10のシステム。
【請求項13】
前記1つ以上の機能要素の第1のセットは、ネットワークを介することなく、1つ以上の保存状態要素の第1のセットに直接結合されている、
請求項12のシステム。
【請求項14】
前記1つ以上の機能要素の第2のセットは、1つ以上のネットワーク要素を介して、前記1つ以上の保存状態要素の第2のセットに結合されている、
請求項13のシステム。
【請求項15】
前記1つ以上の機能要素の第1のセットの第1の状態を保存することは、前記1つ以上の機能要素の第2のセットの第1の状態を保存することよりも後に開始される、
請求項12のシステム。
【請求項16】
前記1つ以上の機能要素の第1のセットの第1の状態を保存することと、前記1つ以上の機能要素の第2のセットの第1の状態を保存することと、が同時に行われる、
請求項10のシステム。
【請求項17】
前記1つ以上の要素の第1のセットの第1の状態及び前記1つ以上の要素の第2のセットの第1の状態をメモリに送信することは、前記1つ以上の機能要素の第1のセット及び前記1つ以上の機能要素の第2のセットをパワーダウンすることと同時に行われる、
請求項10のシステム。
【請求項18】
前記1つ以上の保存状態要素の第1のセット及び前記1つ以上の保存状態要素の第2のセットは、前記1つ以上の要素の第1のセットの第1の状態及び前記1つ以上の要素の第2のセットの第1の状態をメモリに送信した後にパワーダウンするように構成されている、
請求項10のシステム。
【請求項19】
システムであって、
電力状態コントローラと、
1つ以上の保存状態ヘルパユニットと、を備え、
前記電力状態コントローラは、1つ以上の機能要素の第1のセットに対して、及び、1つ以上の機能要素の第2のセットに対して、高電力状態から低電力状態への変化をトリガするように構成されており、
前記1つ以上の機能要素の第1のセットは、前記1つ以上の機能要素の第1のセットの第1の状態を保存し、第1のセットの1つ以上の機能要素の第1の状態をメモリに送信するように構成されており、
1つ以上の保存状態要素の第2のセットは、前記1つ以上の機能要素の第2のセットの第1の状態を保存し、前記1つ以上の機能要素の第2のセットの第1の状態を前記メモリに送信するように構成されており、
前記1つ以上の機能要素の第1のセット及び前記1つ以上の機能要素の第2のセットは、前記第1の状態及び前記第2の状態が前記1つ以上の保存状態要素に保存された後にパワーダウンするように構成されている、システム。
【請求項20】
前記メモリは、前記1つ以上の機能要素の第1のセット及び前記1つ以上の機能要素の第2のセットがパワーダウンされている間、パワーアップされたままである、
請求項19のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2021年7月30日に出願された米国特許出願第17/390,486号の利益を主張するものであり、その内容は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
コンピューティングハードウェアは、大量の電力を消費する。この電力を供給するためにバッテリに依存するモバイルデバイスは、動作期間の増加という点で電力低減の恩恵を受ける。したがって、電力消費に関する懸念は、コンピューティングハードウェアの永続的な改善領域である。
【0003】
添付の図面と共に例として与えられる以下の説明から、より詳細な理解を得ることができる。
【図面の簡単な説明】
【0004】
【
図1】本開示の1つ以上の特徴を実装することができる例示的なデバイスのブロック図である。
【
図2】
図1のデバイスの例示的な実施形態であるデバイスを示す図である。
【
図3】一例による、デバイスの状態を保存するための方法のフロー図である。
【
図4】一例による、デバイスの状態を復元するための方法のフロー図である。
【発明を実施するための形態】
【0005】
本開示の技術は、1つ以上の機能要素の第1のセットに対して及び1つ以上の機能要素の第2のセットに対して、高電力状態から低電力状態への変化をトリガすることと、1つ以上の保存状態要素の第1のセットを介して、1つ以上の機能要素の第1のセットの第1の状態を保存することと、1つ以上の保存状態要素の第2のセットを介して、1つ以上の機能要素の第2のセットの第2の状態を保存することと、1つ以上の機能要素の第1のセット及び1つ以上の機能要素の第2のセットをパワーダウンすることと、第1の状態及び第2の状態をメモリに送信することと、を含む。
【0006】
図1は、本開示の1つ以上の特徴を実装することができる例示的なデバイス100のブロック図である。デバイス100は、コンピュータ、ゲームデバイス、ハンドヘルドデバイス、セットトップボックス、テレビ、携帯電話、サーバ、タブレットコンピュータ、又は、他のタイプのコンピューティングデバイス等を含むことができる。デバイス100は、プロセッサ102、メモリ104、記憶装置106、1つ以上の入力デバイス108、及び、1つ以上の出力デバイス110を含む。また、デバイス100は、オプションで、入力ドライバ112及び出力ドライバ114を含む。デバイス100は、
図1に示されていない追加の構成要素を含み得ることを理解されたい。
【0007】
様々な代替例では、プロセッサ102は、中央処理装置(central processing unit、CPU)、グラフィックス処理装置(graphics processing unit、GPU)、同じダイ上に位置するCPU及びGPU、又は、複数のダイ若しくは1つ以上のプロセッサコアを含み、各プロセッサコアは、CPU又はGPUであり得る。様々な代替例では、メモリ104は、プロセッサ102と同じダイ上に位置するか、又は、プロセッサ102とは別に位置する。メモリ104は、揮発性メモリ又は不揮発性メモリ(例えば、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックRAM、スタティックRAM(static RAM、SRAM)、他の不揮発性メモリ若しくはキャッシュ等)を含む。
【0008】
記憶装置106は、固定又はリムーバブル記憶装置(例えば、ハードディスクドライブ、ソリッドステートドライブ、光ディスク、フラッシュドライブ)を含む。入力デバイス108は、キーボード、キーパッド、タッチスクリーン、タッチパッド、検出器、マイクロフォン、加速度計、ジャイロスコープ、生体認証スキャナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。出力デバイス110は、ディスプレイ、スピーカ、プリンタ、触覚フィードバックデバイス、1つ以上の光、アンテナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。
【0009】
入力ドライバ112は、プロセッサ102及び入力デバイス108と通信し、プロセッサ102が入力デバイス108から入力を受信できるようにする。出力ドライバ114は、プロセッサ102及び出力デバイス110と通信し、プロセッサ102が出力デバイス110に出力を送信できるようにする。入力ドライバ112及び出力ドライバ114は、オプションの構成要素であること、並びに、デバイス100は、入力ドライバ112及び出力ドライバ114が存在しない場合に、同じ方式で動作することに留意されたい。
【0010】
図2は、
図1のデバイス100の例示的な実施形態であるデバイス200を示している。デバイス200は、1つ以上のレイテンシに敏感な(latency-sensitive)機能要素のセット202、レイテンシに敏感ではない(non-latency-sensitive)機能要素のセット204、保存状態ヘルパ210、ネットワーク化された保存状態ヘルパ212、ネットワーク要素214、電力状態コントローラ216、及び、メモリ215を含むが、これらに限定されない。電力状態コントローラ216は、デバイス200の様々な要素の電力状態を制御し、動作条件に基づいてこのような要素をパワーアップ又はパワーダウンする。「機能要素」(総称して、レイテンシに敏感な機能要素202とレイテンシに敏感ではない機能要素204)は、デバイス200の動作を実施する。保存状態ヘルパ210及びネットワーク化された保存状態ヘルパ212は、機能要素がパワーダウンされた状態で、内部メモリがこのような要素の状態データを保存できない状態になった場合に、機能要素の状態を保存する。状態は、メモリ215に保存される。異なる例では、メモリ215は、ローカルメモリ、電力状態コントローラ216の外部のメモリ、又は、その両方の組み合わせである。
【0011】
レイテンシに敏感な機能要素202は、様々なタイプの機能を実施するデバイス200の様々な要素である。レイテンシに敏感な機能要素の例202は、メモリコントローラ、入出力ハブ、ペリフェラルバスコントローラ、メモリ215をディスプレイコントローラ等の要素に結合する広帯域データファブリック、及び、他の構成要素を含む。レイテンシに敏感な機能要素202は、レイテンシに敏感ではない機能要素204と比較して、これらの要素の動作の態様では、スイッチング電力状態の開始から新しい電力状態に到達するまでの遅延が比較的小さい要素が必要であるという意味で、レイテンシに敏感である。一例では、ディスプレイコントローラは、レイテンシに敏感な機能要素202である。ディスプレイコントローラは、ピクセルデータをディスプレイに読み出す。そのような要素の過度のダウンタイムは、視覚的な不具合につながる可能性がある。したがって、そのような要素のダウンタイムを最小限に抑えることが重要である。このようなダウンタイムを最小限に抑えることで、ディスプレイコントローラを異なる電力状態(例えば、パワーダウン又はパワーアップ)に置くように要求してから、実際にディスプレイコントローラを異なる電力状態に置くまでの時間を低減することができ、これにより、ディスプレイコントローラのアップタイムが向上し、視覚的な不具合の可能性が低減又は排除される。
【0012】
レイテンシに敏感ではない機能要素204は、電力状態変更の開始と電力状態変化の実際の実施との間のレイテンシに対して、レイテンシに敏感な機能要素202よりも感度が低い機能要素である。いくつかのレイテンシに敏感ではない機能要素204は、レイテンシに敏感な機能要素202にも依存する。レイテンシに敏感ではない機能要素のいくつかの例204は、カメラプロセッサ等のマルチメディアプロセッサ、他のマルチメディアプロセッサ、デバッグブロック、ビデオコーデックブロック、他のサポートブロック、ディスプレイコントローラ、及び、他の要素を含む。
【0013】
ネットワーク要素214は、デバイス200の様々な要素間の相互接続として機能し、様々な機能要素間の通信を分配する要素である。
【0014】
レイテンシに敏感ではない機能要素204は、ネットワーク要素214に結合されているように示されているが、レイテンシに敏感な機能要素202の1つ以上をネットワーク要素214に結合することも可能である。しかしながら、レイテンシに敏感な要素は、レイテンシに敏感な機能要素202と「直接」、すなわち、ネットワーク要素214を介在させることなく、結合されている保存状態ヘルパ211によってサービス提供される。
【0015】
電力状態コントローラ216は、デバイス200の1つ以上の部分(以下、「電力ドメイン」と呼ぶこともある)の電力状態を制御することができる。デバイス200の様々な部分は、個別に異なる電力状態に設定することができる。電力状態には、デバイス200の一部のパワーオン又はオフになる程度の定義が含まれる。いくつかの例では、デバイス200の一部が、デバイス200が何れの電力状態にあるかに応じて異なる能力を有する。一例では、レイテンシに敏感な機能要素202又はレイテンシに敏感ではない機能要素204の何れかは、より低い電力状態又はより高い電力状態に設定することができる。概して、異なる電力状態の異なる能力は、電力消費のための能力を交換する。具体的には、デバイス200のいくつかの1つ以上の構成要素の動作を変更することにより、その構成要素に関連付けられる能力が変更されるが、その構成要素が通常使用する電力は消費されない。概して、電力状態コントローラ216は、デバイス200内のハードウェアユニットからの入力、又は、オペレーティングシステム等のプロセッサ上で実行されるソフトウェアモジュールからの入力等の様々な入力に従って、これらの電力状態を制御する。
【0016】
保存状態ヘルパ210及びネットワーク化された保存状態ヘルパ212は、それぞれレイテンシに敏感な機能要素202及びレイテンシに敏感ではない機能要素204に状態保存機能を提供する。保存状態機能には、レイテンシに敏感な機能要素202及びレイテンシに敏感ではない機能要素204からの状態データをメモリ215に保存することが含まれる。本明細書では、保存状態ヘルパ210及びネットワーク化された保存状態ヘルパ212は、「保存状態ユニット」と呼ばれることがある。保存される状態データには、レジスタ値、機能ユニットの内部メモリに格納されている値、又は、そのようなデータ等のように、あらゆるタイプの状態データが含まれる。特定の機能ユニットのために保存される状態データは、機能ユニットの複数の異なるレジスタ又はメモリから、及び/又は、同じメモリの連続しない部分(したがって、連続しないアドレス範囲にある)から発生する可能性がある。
【0017】
メモリ215は、機能要素がパワーダウンした場合に機能要素の状態データを保存する記憶装置デバイスであり、これにより、機能要素が再びパワーアップした場合に状態データを機能要素に戻すことがすることができる。メモリ215は、メインメモリであり、概して、デバイス200の構成要素からアクセス可能であるか又は異なるタイプのメモリである。いくつかの例では、メモリ215は、電力状態コントローラ216のメモリである。いくつかの例では、メモリ215は、電力状態コントローラ216と同じ電力ドメイン内にある。「電力ドメイン」とは、他の電力ドメインとは独立して特定の電力状態に置くことができるデバイス200の一部を指す。
【0018】
動作モードのいくつかの例では、電力状態コントローラ216は、他の電力ドメインのほとんど又は全て(例えば、レイテンシに敏感な機能要素202のほとんど又は全て、レイテンシに敏感ではない機能要素204のほとんど又は全て)でもパワーアップ状態のままである。これは、電力状態コントローラ216がデバイス200の態様を監視し、必要に応じて1つ以上の構成要素の電力状態を変化させることができるようにするために発生する。メモリ215が電力状態コントローラ216と同じ電力ドメインにある実施形態では、メモリ215は、レイテンシに敏感な機能要素202やレイテンシに敏感ではない機能要素204等の他の構成要素がパワーダウンになっている場合でも、パワーオン状態をそのままにし、保存された状態を維持することができる。
【0019】
いくつかの実施形態では、レイテンシに敏感な機能要素の1つ以上の202がネットワーク要素214に結合される。そのような実施形態では、レイテンシに敏感な機能要素202とレイテンシに敏感ではない機能要素204との違いは、レイテンシに敏感な機能要素202の場合、保存状態ヘルパ210が、レイテンシに敏感な機能要素202と直接通信することである。これとは対照的に、レイテンシに敏感ではない機能要素204は、ネットワーク要素214を介してネットワーク化された保存状態ヘルパ212と通信している。レイテンシに敏感な機能要素202が保存状態ヘルパ210と直接結合されているという事実は、本明細書の他の場所で更に詳細に説明されるように、保存状態ヘルパ210が、ネットワーク化された保存状態ヘルパ212と比較して、レイテンシを低減して、レイテンシに敏感な機能要素202にアクセスすることができることを意味する。
【0020】
いくつかの実施形態では、ネットワーク要素214は、デバイス200の内部にあるデータネットワークである。そのような実施形態では、ネットワーク要素214は、レイテンシに敏感ではない機能要素204と、いくつかの実施形態ではレイテンシに敏感な機能要素202の1つ以上と、の間の通信を提供する。
【0021】
本明細書の他の場所で説明されるように、電力状態コントローラ216は、デバイス200の様々な要素(例えば、レイテンシに敏感な機能要素202及び/又はレイテンシに敏感ではない機能要素204)をパワーダウンする状況を決定する。いくつかの電力状態では、レイテンシに敏感な機能要素202又はレイテンシに敏感ではない機能要素204は、内部メモリ(状態要素206又は状態要素208)のパワーダウンにより状態を保持することができない。したがって、そのような要素の状態は、再度パワーアップされた場合に要素が状態に戻ることができるようにするために、メモリ215に保存される。
【0022】
保存状態ユニットは、レイテンシに敏感な機能要素202及びレイテンシに敏感ではない機能要素204のうち1つ以上の要素がパワーダウンされるプロセスにある場合に、これらの要素からの状態データを一時的に記憶する内部メモリ211を含む。保存状態ユニットは、この状態データをメモリ215に送信し、その後、それ自体がパワーダウンされる。保存状態ユニットは、相互に同時に動作することができる。加えて、レイテンシに敏感な機能要素202及びレイテンシに敏感ではない機能要素204は、保存状態ユニットが存在しない場合よりも早くパワーダウンすることができ、その結果、メモリ215への帯域幅が制限されているためにそのような要素が停止する場合でも、レイテンシに敏感な機能要素202及びレイテンシに敏感ではない機能要素204は、状態がメモリに保存されるまでパワーアップしたままにしておく必要がある。言い換えれば、保存状態ユニットは、後でメモリ215に移送するために状態データをキャッシュする役割を果たし、これにより、レイテンシに敏感な機能要素202と及びレイテンシに敏感ではない機能要素204を保存状態ユニットが存在しない場合よりも早くパワーダウンさせることが可能になる。
【0023】
ネットワーク化された保存状態ヘルパ212は、ネットワーク要素214を介してレイテンシに敏感ではない機能要素204と通信する。したがって、レイテンシに敏感ではない機能要素204からネットワーク化された保存状態ヘルパ212にデータを移送する能力は、ネットワーク要素214で使用可能なクロックレートによって制限される。しかしながら、ネットワーク要素214なしでレイテンシに敏感な機能要素202に結合されている保存状態ヘルパ210は、技術的に実現可能な、ネットワーク要素214によって使用されるクロック周波数よりも速く、及び/又は、レイテンシに敏感な機能要素202のクロック周波数よりも速いクロック周波数を含む任意のクロック周波数で、レイテンシに敏感な機能要素202と通信することが可能である。いくつかの実施形態では、保存状態ヘルパ210がネットワーク要素214なしでレイテンシに敏感な機能要素202に結合されることの1つの利点は、保存状態ヘルパ210がレイテンシに敏感な機能要素202に「専用」であることであり、これは、特定の保存状態ヘルパ210が、レイテンシに敏感な機能要素202を1つだけ提供し、したがって最小限のレイテンシで保存及び復元機能性を実施することが可能であることを意味する。いくつかの実施形態では、少なくとも1つの保存状態ヘルパ215が、少なくとも1つのレイテンシに敏感な機能要素202と結合され、その間に要素が存在しない。言い換えれば、少なくとも1つの保存状態ヘルパ215は、少なくとも1つのレイテンシに敏感な機能要素202に直接結合される。いくつかの実施形態では、保存状態ヘルパ215は、それぞれの機能要素202に直接結合される。
【0024】
いくつかの実施形態では、保存状態ヘルパ210及びネットワーク化された保存状態ヘルパ212のうち1つ以上は、プログラム可能なダイレクトメモリアクセス(direct memory access、DMA)エンジンである。ダイレクトメモリアクセスエンジンは、アクセス要求(リード要求やライト要求等)を生成して1つ以上のメモリにアクセスするように構成された回路である。デバイス200では、これらのアクセスは、機能要素がパワーダウンされている状況について、そのような機能要素から状態データを読み出すことと、機能要素をパワーアップ状態に復元するために機能要素に状態データを書き込むことと、を含む。
【0025】
本明細書で別の場所で説明したように、任意の特定の機能ユニットでは、保存状態ヘルパによって保存されるデータが異なるメモリ又は同じメモリの連続しないブロックに位置することが可能である。保存状態ヘルパは、このデータをパックし、その結果、保存状態ヘルパと機能要素との間で異なるアクセスが行われることがあるとしても、保存状態ヘルパからメモリ215へのアクセスが連続している。概して、連続アクセスは非連続アクセスよりも速いため、機能ユニットが自身の状態をメモリ215に保存するシステムと比較して、メモリ215と保存状態ヘルパ間で状態データを送信する合計時間が低減される。
【0026】
図3は、一例による、デバイス200の状態を保存するための方法300のフロー図である。
図1及び
図2のシステムに関して説明したが、技術的に実行可能な順序で方法300のステップを実行するように構成されたシステムが本開示の範囲に含まれることを理解するであろう。
【0027】
ステップ302では、電力状態コントローラ216がデバイス200の現在の電力状態からより低い電力状態への移行をトリガする。より低い電力状態では、デバイス200の機能要素の少なくとも1つが低消費電力状態にあり、したがって、特定の状態を保持することができない。いくつかの例では、移行は、少なくともレイテンシに敏感な機能要素202及びレイテンシに敏感ではない機能要素204を、そのような機能要素が状態を保持できない状態に置く。
【0028】
ステップ304では、ネットワーク化された保存状態ヘルパ212は、1つ以上のレイテンシに敏感ではない機能要素204の状態を保存する。本明細書の別の場所で説明したように、保存された状態は、機能要素の異なるメモリに位置すること、及び/又は、機能要素の単一メモリの連続しない部分に位置することが可能である。いくつかの例では、ネットワーク化された保存状態要素212は、そのような状態をネットワーク化された保存状態要素212の内部にある内部メモリ213に保存する。ステップ306では、1つ以上の保存状態要素210は、1つ以上のレイテンシに敏感な機能要素202から状態を保存する。本明細書の別の場所で説明したように、各保存状態要素210は、ネットワーク要素214なしで、レイテンシに敏感な機能要素202に直接接続される。レイテンシに敏感ではない機能要素204と同様に、保存された状態は、機能要素の異なるメモリに位置すること、及び/又は、機能要素の単一メモリの連続しない部分に位置することが可能である。ステップ304及び306は同時に行うことができることを理解されたい。より具体的には、様々な保存状態ユニットが独立しているため、レイテンシに敏感ではない機能要素204にサービス提供する保存状態ユニット、及び、レイテンシに敏感な機能ユニットにサービス提供する保存状態ユニットが、重複する期間において動作することが可能である。しかしながら、いくつかの例では、このような機能要素が少量のダウンタイムで済むため、レイテンシに敏感な機能要素202の状態保存動作が後から開始される。より具体的には、本明細書の別の場所で説明したように、ネットワーク化された保存状態要素212は、非ネットワーク化された保存状態要素210よりも動作が遅くなる。保存状態ヘルパ210がネットワーク化された保存状態ヘルパ212よりも後に状態保存動作を開始できるため、これは、レイテンシに敏感な機能要素202は、レイテンシに敏感ではない機能要素204よりも長いアップタイムを有することができることを意味する。このより長いアップタイムは、レイテンシに敏感な機能要素202の一部又は全てに必要である。
【0029】
ステップ308では、機能要素(レイテンシに敏感な機能要素202とレイテンシに敏感ではない機能要素204)がパワーダウンする。このパワーダウンは、状態が保存されると発生する。少なくともそのような機能要素の一部が同時にパワーダウンする可能性があるが、異なる機能要素が全く同時にパワーダウンする必要はない。ステップ310で、保存状態ユニットは、状態データをメモリに送信し、その後パワーダウンする。ステップ304、306又は308のうち何れかが発生している間に、ステップ310が発生する可能性がある。より具体的には、ある保存状態ユニットが対応する機能ユニットから状態データを受信すると、その保存状態ユニットは、その状態データをメモリ215に送信する準備ができている。いくつかの例では、そのような保存状態ユニットは、保存状態ユニットとメモリ215との間に利用可能な帯域幅があるとすぐにデータをメモリ215に送信する。いくつかの例では、メモリ215は、電力状態コントローラ216内にあり、したがって、機能要素がパワーダウンされている間もパワーオンのままである。
【0030】
図4は、一例による、状態を復元するための方法400のフロー図である。
図1及び
図2のシステムに関して説明したが、当業者は、技術的に実行可能な順序で方法400のステップを実行するように構成されたシステムが本開示の範囲に含まれることを理解するであろう。
【0031】
ステップ402では、電力状態コントローラ216が、デバイス200の現在の電力状態からより高い電力状態への移行をトリガする。現在の電力状態では、機能要素の状態データが機能要素に保存されず、メモリ215に保存される。より高い電力状態では、機能要素がパワーアップされ、その状態データが必要である。
【0032】
ステップ404では、保存状態ヘルパ210がメモリ215から内部メモリ211に状態データを読み出す。ステップ406では、ネットワーク化された保存状態ヘルパ212は、メモリ215から内部メモリ213に状態データを読み出す。ステップ408で、機能要素がパワーアップする。ステップ410では、保存状態ユニットが機能要素に状態データを提供する。いくつかの実施形態では、ステップ404、406、408が同時に実施される。いくつかの実施形態では、レイテンシに敏感な機能要素202への状態を復元することは、レイテンシに敏感ではない機能要素204への状態を復元することが可能になる前に発生する。このタイミングは、レイテンシに敏感な機能要素202が、レイテンシに敏感ではない機能要素204よりもダウンタイムが少ないために発生し、したがって、保存状態ヘルパ210によってサービス提供され、これにより、本明細書の別の場所で説明されているように、ネットワーク化された保存状態ヘルパ212よりも迅速に状態を復元することができる。
【0033】
本明細書の開示に基づいて、多くの変形が可能であることを理解されたい。特徴及び要素が特定の組み合わせで上述されているが、各特徴又は要素は、他の特徴及び要素を用いずに単独で、又は、他の特徴及び要素を用いて若しくは用いずに様々な組み合わせで使用することができる。
【0034】
図に示され、及び/又は、本明細書で説明されている様々な機能ユニット(プロセッサ102、入力ドライバ112、入力デバイス108、出力ドライバ114、出力デバイス110、レイテンシに敏感な機能要素202、レイテンシに敏感ではない機能要素204、状態要素206、状態要素208、保存状態ヘルパ210、内部メモリ211、ネットワーク要素214、ネットワーク化された保存状態ヘルパ212、内部メモリ213、電力状態コントローラ216、及び、メモリ215を含むがこれらに限定されない)は、ハードウェア電子回路、汎用コンピュータ、プロセッサ又はプロセッサコアとして、非一時的なコンピュータ可読記憶媒体又は別の記憶媒体に格納され、汎用コンピュータ、プロセッサ又はプロセッサコアによって実行可能なプログラム、ソフトウェア又はファームウェアとして、或いは、プロセッサ、回路又はソフトウェアのうち2つ以上の組み合わせとして実装され得る。提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアにおいて実装することができる。好適なプロセッサとしては、例として、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、及び/又は、状態マシンが挙げられる。そのようなプロセッサは、処理されたハードウェア記述言語(hardware description language、HDL)命令及びネットリストを含む他の中間データ(コンピュータ可読媒体に記憶させることが可能な命令)の結果を使用して製造プロセスを構成することによって、製造することができる。そのような処理の結果はマスクワークとすることができ、このマスクワークをその後の半導体製造プロセスにおいて使用して、本開示の特徴を実装するプロセッサを製造する。
【0035】
本明細書に提供される方法又はフロー図は、汎用コンピュータ又はプロセッサによる実行のために非一時的なコンピュータ可読記憶媒体に組み込まれるコンピュータプログラム、ソフトウェア又はファームウェアにおいて実装することができる。非一時的なコンピュータ可読記憶媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)等の光学媒体が挙げられる。
【国際調査報告】