JP2022097390A - 動的usb-cモード選択ospmポリシー方法及び装置 - Google Patents

動的usb-cモード選択ospmポリシー方法及び装置 Download PDF

Info

Publication number
JP2022097390A
JP2022097390A JP2021185547A JP2021185547A JP2022097390A JP 2022097390 A JP2022097390 A JP 2022097390A JP 2021185547 A JP2021185547 A JP 2021185547A JP 2021185547 A JP2021185547 A JP 2021185547A JP 2022097390 A JP2022097390 A JP 2022097390A
Authority
JP
Japan
Prior art keywords
usb
power
machine
billboard
processor
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.)
Pending
Application number
JP2021185547A
Other languages
English (en)
Inventor
レグパティ ラジャラム
Regupathy Rajaram
イスマイル アブドゥール
Ismail Abdul
ゴパル サランヤ
Gopal Saranya
エワート ピーター
Ewert Peter
クマール プルショタム
Purushotam Kumar
ムルティ シュリスティ ヴンス
Murthy Sristi Vns
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.)
Intel Corp
Original Assignee
Intel Corp
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
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2022097390A publication Critical patent/JP2022097390A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3812USB port controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】USB-CポートDPMに影響を与えるOSPMへの情報に基づくフィードバックメカニズムを用いて最適なUSB-C代替モードを動的に入力することにより、USB-Cポートポリシーを強化するスキームを提供する。【解決手段】USB4デバイスがポートに接続されるとき、スキームは、列挙されたデバイスのクラス記述子情報から代替モード及び電力特性を解析し、解析された情報は、OSからの動的コマンド制御においてOS構成のポリシー基準を満たすモードに入る又は切り替えるようにUSB-C/PD DPMに指示するOSPMへのフィードバックとして提供され、USB-C DPMは、組み込みコントローラで利用可能な電力及び熱条件情報に基づいて最適モードに入り、変化についてOSを示すように動的に選択する。このように、OSはUSBの動作モードを認識する。【選択図】図1

Description

ユニバーサルシリアルバス(USB)は、周辺機器をコンピュータシステムに接続する周辺機器のためのユビキタスインタフェースとして10年以上にわたって発展してきた。ここ数年のUSBバス速度の進化は、USB1.1仕様の1.5 Mbpsから始まりUSB3.1仕様の10Gbpsに至る。USB Type-C(USB-C)ポートとUSBパワーデリバリーの仕様の導入により、USB-CポートはUSBポートの機能を電力供給及び表示することに拡張した。USB-Cポートは、USB-Cポートによって利用可能にされた追加の信号線を使用するUSB3.2仕様の導入により、20GbpsへのUSBの帯域幅の拡大を可能にした。このUSBバスより上の機能を定義するUSBクラス仕様も、このUSB帯域幅の増加を利用して、より良いユーザ体験を提供し、USBバスの能力を活用するために進化した。技術進化により、USB4はさらにコネクション指向のトンネルアーキテクチャを定義して、複数のプロトコル、例えば単一の物理インタフェース上に(USB、周辺コンポーネント相互接続エクスプレス(PCIe)、ディスプレイポート(DP)、ホスト間ホストなど)を結合し、USB4ファブリックの全体の速度及びパフォーマンスをUSBデバイス間だけでなく、PCIe又はDPエンドポイント間でも動的に共有できるようにする。現在、Type-Cコネクタ上の総帯域幅は40Gbps(Gen3×2)に拡張されている。USB4はまた、オプションでThunderboltインタフェースをサポートし、デバイスのデイジーチェーンを有効にすることもできる。このような高速・高帯域により、USBデバイスは依然より多くの電力を消費する。バッテリオペレーティングシステムでは、USBデバイスによるこのような高電力消費を管理することは課題である。
現在、USB-Cポートは、プロセッサ(例えば、システムオンチップ(SoC))及びオペレーティングシステム(OS)制御の外側のUSBパワーデリバリー(PD)によって管理され、その結果、バッテリ寿命及びシステムパフォーマンスが非効率的になる。
本開示の実施形態は、以下に与えられる詳細な説明から、及び本開示の様々な実施形態の添付の図面からより完全に理解されるであろうが、これらは、本開示を特定の実施形態に限定するものと解釈されるべきではなく、単に説明及び理解のためのものである。
いくつかの実施形態による、USB3アダプタを介して4K DPモニタに接続されたラップトップを示す。
いくつかの実施形態による、USB4ドックに接続されたハードドライブ及びディスプレイを示す。
いくつかの実施形態による、電力消費を改善するためにOSの影響を受けるデバイスポリシーマネージャ(DPM)を有するオペレーティングシステム(OS)対応のUSB-Cシステムを示す。
いくつかの実施形態による、電力消費を改善するためにUSB-Cデバイス動作のための最適構成を選択するための方法のフローチャートを示す。
いくつかの実施形態による、電力消費を改善するためにUSB-Cデバイス動作のための最適構成を選択するための装置を備えたスマートデバイス又はコンピュータシステム又はSoC(システムオンチップ)を示す。
技術の進化に伴い、USB4はさらにコネクション指向のトンネルアーキテクチャを定義して、単一の物理インタフェース上に複数のプロトコル(例えば、USB、PCIe、DP、ホスト間)を結合し、USB4ファブリックの全体の速度とパフォーマンスをUSBデバイス間だけでなく、PCIe又はDPエンドポイント間でも動的に共有できるようにする。USB4の総帯域幅は、Type-Cコネクタ上で40Gbps(Gen3×2)に拡張される。USB4はまた、オプションで、Thunderbolt(TBT)インタフェースをサポートし、デバイスのデイジーチェーンを有効にすることもできる。
USB-C代替(Alt)モードは、USB実装者フォーラム(USB-IF)によって割り当てられたaa SVID(標準ID又はベンダーID)に関連付けられたベンダー又は標準組織によって定義された操作又は機能拡張である。2020年4月29日にリリースされたバージョン2.0のUSB Type-C標準仕様のVESA DisplayPort Altモードは、USB-Cコネクタの代替モードとしてディスプレイポート(DP)の使用を指定する。USB Type-C標準仕様のVESA DisplayPort Altモードでは、DP代替モードは、4つの高速レーンすべてをDPデータの搬送に使用する「DP 4レーン」構成、又は2つの高速レーンをデータの搬送に使用し、残りの2つのレーンをUSB3.1データの搬送に使用する「DP 2レーン+USB3.1」構成のいずれかで動作することができる。
同様に、USB4規格は、以下のようなUSB4ホストに接続されたUSB4デバイスに対する2つの動作モードを定義している。これらのモードは、フル機能モードと基本機能モードである。より高いレベルの電力が供給されるときに、より高いレベルの動作又はパフォーマンスが利用可能になる。例えば、フル機能では15ワット(W)であるのに対し、基本機能では7.5Wである。この場合、デバイスは、利用可能な電力によって制限される機能を示すビルボードクラス(Billboard class)を明らかにする(exposes)。
USB-IFは、USBビルボードデバイスクラス仕様とUSB-Cパワーデリバリー(PD)仕様を導入した。USBビルボードデバイスクラス定義は、デバイスコンテナによってサポートされる代替モードをホストシステムに通信する方法を記述する。これは、デバイスコンテナが複数の代替モード及び異なる構成をサポートする場合に便利である。これはまた、代替モードへのエントリーが失敗したとき、サポートされていないデバイスが接続されているかどうかをホストが識別し、報告するのを助ける。
USB-C/PD仕様に従って、ホストは、標準VDOを介してデバイスがサポートする識別モードを検出し、デバイスポリシーマネージャ(DPM)がどのモードに入るかを決定する。ここで、VDOはベンダー定義オブジェクト(Vendor Defined Object)を指す。ベンダー定義メッセージPD(パワーデリバリー)データメッセージの一部としてベンダー固有の情報を送信するために使用されるデータオブジェクトが、ベンダー及び/又は標準の使用のために定義された。これらはさらに、コマンドがこの仕様で定義されている構造化VDMメッセージと、完全にベンダー定義されている非構造化VDMメッセージに分割される。例えば、USB PD仕様、バージョン3.0、リビジョン2.0、2019年8月28日を参照されたい。既存のプラットフォームでは、USB-C/PD DPM(デバイスポリシーマネージャ)は、DPMが典型的には組み込みコントローラ(EC)又はUSB PDコントローラのファームウェアモジュールに存在するので、モード選択ポリシーに影響を与えることができるオペレーティングシステム(OS)アクティビティの知識を欠いている。場合によっては、ユーザは、パフォーマンスに対してバッテリ寿命を長くする必要があることを示す低解像度でのビデオ再生中に異なる動作条件でバッテリを節約するために、バッテリ節約のために(例えば、Windows OSの「バッテリ節約」オプションを選択することによって)OSに指示し得る。しかしながら、現在OSはUSB4デバイス(複数可)の動作モードを認識していない。このように、OSは、ユーザのコンピュータシステムに接続されたUSB4デバイス(複数可)の動作モードを認識していない場合、バッテリ電力節約の期待されるユーザ体験を提供しない可能性がある。既存のUSB-C/PDシステムモード選択ポリシー決定は、バッテリの寿命及びシステムパフォーマンスの低下をトリガするシステムの残りの部分から分離され切り離されたポリシーのために静的である。従って、既存のシステムは、電力管理に関して悪いユーザ体験につながる。
いくつかの実施形態は、USB-CポートDPMに影響を与えるOS電力ポリシーマネージャ(OSPM)への情報に基づくフィードバックメカニズムを用いて最適なUSB-C代替モードを動的に入力することにより、USB-Cポートポリシーを強化するためのスキーム(scheme)を提供する。いくつかの実施形態では、USB4デバイスがポートに接続されるとき、スキームは、列挙されたデバイスのクラス記述子情報から代替モード及び電力特性を解析する。いくつかの実施形態では、解析された情報は、OSからの動的コマンド制御においてOS構成のポリシー基準を満たすモードに入る又は切り替えるようにUSB-C/PD DPMに指示するOSPMへのフィードバックとして提供される。いくつかの実施形態では、USB-C DPMは、組み込みコントローラで利用可能な電力及び熱条件情報に基づいて最適モードに入り、その変化についてOSに示すように動的に選択する。このように、OSはUSBの動作モードを認識する。
様々な実施形態の多くの技術的効果がある。例えば、最適なパフォーマンスのために動作するUSB-Cモードを動的に選択するスキームは、バッテリモード中の電力節約(例えば、約30分の節約)を可能にする。このスキームは、より高いワークロードの間、改善されたシステムパフォーマンス(例えば、約9%改善)を可能にする。他の技術的効果は、様々な図面及び実施形態から明らかになるであろう。
以下の説明では、本開示の実施形態のより完全な説明を提供するために、多数の詳細が議論される。しかしながら、当業者には、本開示の実施形態が、これらの特定の詳細なしに実施され得ることが明らかであろう。他の例では、本開示の実施形態を曖昧にすることを回避するために、良く知られた構造及びデバイスは、詳細にではなくブロック図の形態で示される。
なお、実施の形態の対応する図面では、信号を線で表している。幾つかの線は、より多くの構成信号経路を示すためにより太くされ得る、及び/又は主要な情報の流れる方向を示すために1つ以上の端部に矢印を有し得る。このような指示は、限定することを意図しない。むしろ、線は、回路又は論理ユニットのより容易な理解を促進するために、1つ又は複数の例示的な実施形態に関連して使用される。設計の必要性又は好みによって規定される任意の表現される信号は、実際には、何れかの方向に進行し得る1つ又は複数の信号を含み得、任意の適切なタイプの信号方式で実装され得る。
図1は、いくつかの実施形態による、USB3アダプタを介して4K DPモニタに接続されたラップトップを示すシステム100を示す。システム100は、ラップトップ101、USB-C DPコンバータ102、モニタ103、及びOSPM104(OSの一部)を含む。コンバータ102のDPMに影響を及ぼすOSPM104が存在しない場合の以下のシナリオを考える。このシナリオでは、システム100は、コネクタ102(例えば、USB4-DPコンバータ)を介して接続された外部4Kモニタを伴うバッテリモードにある。コンバータ102(又はアダプタ102)の一端は、ラップトップがUSB4動作のためのシステムリソースを取り去るUSB4デバイスとしてラップトップ101に接続し、コンバータ102の他端は、レーン又は帯域幅共有のための他の機能を持たないレガシーディスプレイポート(DP)動作である。フル機能モード(full functionality mode)でのUSB4動作では、15Wの電力がDPMによって割り当てられる。
この場合、接続されたデバイスが、より低い電力消費で同じパフォーマンスをDP代替モードで達成できる専用のレガシー動作を有するUSB4コンバータであっても、バッテリ電力で動作するラップトップ101はUSB4モードである。典型的なOSPMによるこの知識の欠如は、非効率なモード選択及びシステムリソースの使用につながり、より速いバッテリ枯渇の悪いユーザ体験につながる。
いくつかの実施形態では、ラップトップ101上で実行するOSPM104が、代替モード及び電力特性評価(power characterization)のためにUSBビルボードデバイスクラス定義を解析するスキームが提供される。USBビルボードデバイスクラス定義は、デバイスコンテナによってサポートされる代替モードをホストシステムに通信するために使用される方法を記述する。これは、人間が読むことができる形式でサポートの詳細を提供するために使用できる文字列記述子を含む。USB2.0ビルボードデバイスクラスは、サポートされている代替モードの詳細をコンピュータホストOSに通信するために定義される。ビルボードデバイスクラスは、製品記述及びユーザサポート情報を有するユーザが読み取り可能な文字列を提供する。ビルボードメッセージは、ユーザが行った互換性のない接続を識別するために使用することができる。いくつかの例では、ビルボードメッセージは代替モードをネゴシエートするためには要求されず、ホスト(ソース)とデバイス(シンク)との間のネゴシエーションが失敗したときにだけ現れる。
様々な実施形態では、OSPM104は、コンバータ102に関連付けられた解析されたクラス記述子情報を適用して、コンバータ102に接続されたラップトップ101のポートに関連付けられたDPMがどのように動作すべきかを決定する。例えば、OSPM104は、USB-C PD DPMに対して、OSPM104からの動的コマンド制御において、OSPMのポリシー基準を満たす動作モード(この場合はラップトップ101がバッテリモードであるため低電力)に入る又は切り替えるように指示する。いくつかの実施形態では、USB-C PDのDPMは、任意の適切なソース(例えば、組み込みコントローラ、電力制御ユニット(p-ユニット))からラップトップ101の電力及び熱の状態にアクセスし、OSPM104がラップトップ101のユーザによって期待される電力管理を提供できるように、OSPM104にその情報を提供する。
いくつかの実施形態では、組み込みコントローラ(EC)は、SoCからこの情報を受信する又はプラットフォームに内蔵されたアナログ-デジタルコンバータ(ADC)を用いての温度又は電力消費を測定する。プラットフォームの熱的条件は、システム電力レベル、ひいてはシステムパフォーマンスに影響を与える。ECが受信したこの情報は、DPMに動作モードを変更する決定を下すように指示するために使用される。例えば、情報は、USB4接続されたデバイスの電力を削減するために、DPMにDP代替モードを選択するように指示するために使用される。
図2は、いくつかの実施形態による、USB4ドックに接続されたハードドライブ(例えば、ハードディスクドライブ(HDD))及びディスプレイを有するシステム200を示す。システム100と比較して、ここではラップトップ101は、モニタ103へのDP接続及びUSBハードドライブ205へのUSB3.x接続を提供するUSB-Cドック202に接続される。この例では、ユーザは、拡張ディスプレイとしてのディスプレイポートとともに、USB4ドック202上のUSB3.Xハードドライブを使用してムービーを編集している。ラップトップ101のUSB4ポートのDPMを管理するOSPM104が存在しない場合、接続されたすべてのUSB4デバイスについて、ラップトップ101のシステムオンチップの電力が(例えば~1.1Wだけ)低下し(regresses)、それによってシステムパフォーマンスが低下する。
ラップトップ101のDPMファームウェアに影響を与える又は指示するOSPM104が存在しない場合、USB-Cポートは、USB PDコントローラシステムによって2つの異なる構成で管理される。両方のシナリオにおいて、ポリシー決定は、SoC及びOSPMの外部の組み込みコントローラで実行されるファームウェアによって管理され、USB-C動作モードの選択において、OSPMとDPMファームウェアの間の情報に基づいたポリシー決定を切り離すことをもたらす。これは、バッテリ寿命及びシステムパフォーマンスの両方において電力の非効率性をもたらし、その結果、悪いユーザ体験をもたらす。いくつかの実施形態では、ラップトップ101上で実行するOSPM104が、代替モード及び電力特性評価のためにUSBビルボードデバイスクラス定義を解析するスキームが提供される。OSPM104は、ドック102に接続されたラップトップ101のUSBポートに関連付けられたDPMがどのように動作すべきかを決定するために、ドック102に関連付けられる解析されたクラス記述子情報を適用する。このように、様々な実施形態のスキームは、ビルボードクラスによって提供されるUSB-Cデバイスのサポートされた構成に関する情報を利用して、負荷分散並びに理想的な電力及びパフォーマンスのために最適な構成で代替モードに入る。
図3は、いくつかの実施形態による、消費電力を改善するためにOSの影響を受けるデバイスポリシーマネージャ(DPM)を有するオペレーティングシステム(OS)対応のUSB-Cシステム300を示す。システム300は、USBファームウェア(FW)301、オペレーティングシステム302、OSPM304、及びUSB-Cビルボードクラス303を含む計算システムを含む。様々な実施形態では、FW301は、複数のポリシーエンジン306_1~306_Nを含み、ここで、「N」は、USBポートの数である。FW301は、さらに、プロトコル層307_1~307_Nを含む。プロトコル層307_1~307_Nは、USB-C CCロジック309に結合され、このUSB-C CCロジックは、USB-Cポート310_1~310_Nに結合される。
物理層308は、ポートペア間でUSB Type-C CCワイヤを介してメッセージの送受信を担当する。ポリシーエンジン306は、デバイスポリシーマネージャの入力を解釈し、所与のポートに対するポリシーを実装し、プロトコル層307に適切なメッセージを送信するように指示する。メッセージを形成するエンティティは、ポートパートナー間で情報を通信するために使用される。CCロジック309は、BMC PHY層シグナリングスキームBMC:各ゼロは1つの遷移を有し、1つが2つの遷移を有するマンチェスターコーディングの変更によって使用されるワイヤを含む。
いくつかの実施形態では、複数の構成及び代替モードをサポートするUSB-Cデバイスが、コンピューティングシステムのポート310_1~310_Nのうちの1つに接続されている場合、OS302のOSPM304は、デバイスによって明らかにされる(exposed)ビルボードデバイスクラス303からの情報を解析する。この情報は、USB-Cデバイスによってサポートされている代替モード及び構成を含む。ビルボードデバイスクラス303は、代替モードの1つ又は複数をサポートしないホストに接続された代替モードをサポートするデバイスコンテナが、ホストがいかなるサイレント障害もなくユーザにそれを報告することができる簡単なルートを有することを保証する。ビルボードクラス303は、BOS記述子機能(BOS descriptor capability)を介してデバイスコンテナがサポートする代替モードを広告するために使用される記述子を有する。表1は、OSPM304によってアクセス可能なUSB-Cビルボードクラス303のビルボード機能記述子を説明する。記述子は、デバイスコンテナがサポートする代替モードと、サポートされている各代替モードのオプション文字列をリストする。この記述子はデバイスコンテナのBOS記述子セットの一部として返される。
Figure 2022097390000002
Figure 2022097390000003
Figure 2022097390000004
Figure 2022097390000005
Figure 2022097390000006
いくつかの実施形態では、ビルボードクラス303(例えば、表1)の情報は、OS電力/パフォーマンスポリシーマネージャ304に提供される。例えば、帯域幅構成312は、接続されたポートに対してどの電力を設定するかを決定することができるようにOSPM304に提供される。電力ポリシー基準に基づいて、OS電力/パフォーマンスポリシーマネージャ304は、USB-Cデバイスファームウェア301のための最適構成311を選択する。例えば、Type-C DP代替モードとThunderboltモードの両方をサポートするUSB-Cデバイスでは、OS電力ポリシーマネージャ304は、パワーセーブモードの間のType-C DP代替モードとパフォーマンスモードの全帯域幅のThunderbolt構成とを選択することができる。したがって、OS電力ポリシーマネージャ304は、OS電力ポリシー基準に基づいてUSB-Cの最適な構成で代替モードに入ることを可能にするUSB-C DPM305に指示する。
表1では、電力及びモードなどの詳細を提供するフィールドが、接続されたデバイス、すなわちbNumberOfAlternateModesm bVConnPowerなどによって、サポートされる。追加情報は、そのような記述子を介して検索することができる。これらの記述子は、解析され、解析された情報は、接続されたデバイスがどの異なるモードをサポートしているかを理解するために使用される。その情報に基づいて、OSPM304は、現在の状態に対する最適モードを決定する。
図4は、いくつかの実施形態に従った、電力消費を改善するためのUSB-Cデバイス動作のための最適構成を選択するための方法のフローチャート400を示す。種々のブロックが特定の順序で示されているが、順序は変更することができる。例えば、幾つかのブロックは他のものより先に実行されてもよいが、幾つかのブロックは並列に実行されてもよい。いくつかの実施態様では、フローチャート400は、ハードウェア、ソフトウェア、又はこれらの組み合わせによって実行される。いくつかの実施形態では、フローチャートの様々なブロックは、OS102によって実行される。いくつかの実施態様では、フローチャートのいくつかのブロックは、DPM305によって実行される。
ブロック401において、OS102は、USB-Cデバイスがポート310_1~310_Nのいずれかに接続されていることを検出する。一例では、OS102は、USBコントローラ及び/又は組み込みコントローラを介してUSB-Cデバイス接続に関する情報を取得する。USB-Cデバイスが接続されるとき、USBビルボードクラス303が追加される(populated)。ブロック402において、OSPM104(OS102の一部)は、ポートの1つに接続されたUSB-Cデバイスに関するUSBビルボードクラス303の情報を読み取る。いくつかの実施態様では、各USB-Cポートは、関連するUSBビルボードクラス303を有する。このように、OSPM104は、接続された各USB-CデバイスのUSBビルボードクラス303を読み取る。ブロック403において、OSPM104は、解析された情報からUSB-C接続デバイス(複数可)のサポートされた帯域幅構成を抽出する。帯域幅構成は、代替モード(例えば、フル機能モード又は基本機能モード)の情報を提供する。いくつかの実施形態では、コアバスドライバが、OSPM104とビルボードクラス303との間のインタフェースする(interface)ために使用される。
技術の進化に伴い、USB4はさらに、USB4ファブリックの全体の速度及びパフォーマンスをUSBデバイス間だけでなく、PCIe又はDPエンドポイント間でも動的に共有できるように、コネクション指向のトンネルアーキテクチャを定義して、単一の物理インタフェース上に複数のプロトコル(USB、PCIe、DP、ホスト間)を結合する。総帯域幅は、Type-Cコネクタ上で40Gbps(Gen3×2)に拡張される。USB4は、オプションでThunderboltインタフェースをサポートし、デバイスのデイジーチェーンを有効にすることもできる。USB-C代替モードは、USB-IFによって割り当てられたSVID(標準ID又はベンダーID)に関連付けられたベンダー又は標準組織によって定義された動作又は機能拡張である。「USB Type-C標準のVESA DisplayPort Altモード」の仕様は、USB-Cコネクタのための代替モードとしてディスプレイポート(DP)の使用を指定する。「USB Type-C標準のVESA DisplayPort Altモード」の仕様に従い、DP代替モードは、DPデータを搬送するために4つの高速レーンすべてを使用する「DP4レーン構成」、又は、データを搬送するために2つの高速レーンを使用し、USB3.1データを搬送するために残りの2つのレーンを使用する「DP2レーン+USB3.1構成」のいずれかで動作することができる。USB4では、プロトコルは帯域幅を共有し、USB-C代替モードでは、プロトコルは物理ラインを共有する。
ブロック404において、OSPM104は、抽出されたサポートされた帯域幅構成を処理し、電力プロファイル(例えば、デバイスを接続するための利用可能な電力)に基づいてUSB-Cのための最適な帯域幅構成311を決定する。最適な帯域幅構成311は、ブロック405によって示されるように、アプリケーションプログラミングインタフェース(API)を介してDPM305に提供される。APIは、ソフトウェア製品間のデータ転送を可能にする一連のプログラミングコードである。例えば、ブロック405において、OCPM104はUSB-C DPM105に代替モードの最適構成に入るように指示する。次に、DPM105は、ポート310_1~310_Nのうちの1つのUSB接続デバイスのポリシーエンジン(例えば、エンジン306_1~306_Nの1つ)に、代替モードの最適な構成について指示する。次に、ポリシーエンジンは、USB接続デバイスのプロトコル層(例えば、エンジン307_1~307_Nのうちの1つ)に命令を送信する。次に、プロトコル層はUSB接続デバイスの物理層(例えば、308_1~308_Nの1つ)に命令を送信する。次に、物理層は、接続されたUSBポートのポートに、CCロジック309を介して電圧及び/又は電流設定を送信する。このように、ブロック406において、接続されたUSB-Cデバイスは、OS電力ポリシー基準を満たす最適な帯域幅構成で動作する(例えば、バッテリ電力を節約する)。
フローチャート400の様々な実施形態は、OS102によって実装されるが、フローチャート400の一部又は全部のブロックは、システム状態の熱及び電力の制限を認識している組み込みコントローラにおいて実装されてもよい。いくつかの実施形態では、ECは、ポート310_1~310_Nの熱状態及びプラットフォームデバイス接続をモニタし、DPM405に指示することによって、USB-Cポートモードを動的に変更する。いくつかの実施形態では、フローチャート400の様々な実施形態は、システムオンチップ又はプロセッサの電力制御ユニット(p-ユニット)によって実装される。例えば、p-ユニットのpCode(ファームウェア)は、OS102を介してビルボードクラスにアクセスし得、DMP105を実行するUSBコントローラ(図示せず)にUSB-Cポートモードを変更するように指示し得る。
図5は、いくつかの実施形態による、電力消費を改善するためにUSB-Cデバイスの動作のための最適な構成を選択するための装置を備えたスマートデバイス、コンピュータシステム、又はSoC(システムオンチップ(System-on-Chip))を示す。任意の他の図の要素と同じ参照番号(又は名称)を有する図5の要素は、記載されたものと同様の方法で動作又は機能し得るが、これらに限定されないことが指摘される。いくつかの実施形態では、このスキームは、OS5552、PCU5510、及び/又はコントロールハブ5532によって実装される。
いくつかの実施形態では、デバイス5500は、コンピューティングタブレット、携帯電話又はスマートフォン、ラップトップ、デスクトップ、モノのインターネット(Internet-of-Things)(IOT)デバイス、サーバ、ウェアラブルデバイス、セットトップボックス、ワイヤレス対応電子書籍リーダーなどのような適切なコンピューティングデバイスを表す。特定のコンポーネントが一般的に示されており、そのようなデバイスの全てのコンポーネントがデバイス5500に示されているわけではないことが理解されるであろう。
一例では、デバイス5500は、SoC(システムオンチップ)5501を含む。SoC5501の例示的な境界は、図5において点線を使用して示され、いくつかの例示的なコンポーネントは、SoC5501内に含まれるように示される。しかし、SoC5501は、デバイス5500の任意の適切なコンポーネントを含み得る。本実施形態は、ここでは単一の半導体ダイ内のマルチコアプロセッサを行うが、異なるドメイン及び/又はコアが単一のパッケージ又は複数のパッケージの異なる半導体ダイ上に存在することができるマルチチップパッケージによって、他の実施形態を実現することができる。
いくつかの実施形態では、デバイス5500は、プロセッサ5504を含む。プロセッサ5504は、マイクロプロセッサ、アプリケーションプロセッサ、マイクロコントローラ、プログラマブル論理デバイス、プロセッシングコア、又は他の処理手段などの1つ以上の物理デバイスを含むことができる。プロセッサ5504によって実行される処理動作は、アプリケーション及び/又はデバイス機能が実行されるオペレーティングプラットフォーム又はオペレーティングシステムの実行を含む。処理動作は、人間のユーザ又は他のデバイスとのI/O(入出力)に関連する動作、電力管理に関連する動作、コンピューティングデバイス5500を他のデバイスに接続することに関連する動作、及び/又はこれらに類する動作を含む。処理動作はまた、オーディオI/O及び/又はディスプレイI/Oに関連する動作を含み得る。
いくつかの実施形態では、プロセッサ5504は、複数の処理コア(コアとも呼ばれる)5508a、5508b、5508cを含む。図5には、3つのコア5508a、5508b、5508cのみが示されているが、プロセッサ5504は、任意の他の適切な数の処理コア、例えば、数十又は数百の処理コアを含んでもよい。プロセッサコア5508a、5508b、5508cは、単一の集積回路(IC)チップ上に実装され得る。さらに、チップは、1つ以上の共有キャッシュ及び/又はプライベートキャッシュ、バス又は相互接続、グラフィックス及び/又はメモリコントローラ、又は他のコンポーネントを含み得る。
いくつかの実施形態では、プロセッサ5504は、キャッシュ5506を含む。一例では、キャッシュ5506のセクションは、個々のコア5508専用であり得る(例えば、コア5508a専用のキャッシュ5506の第1のセクション、コア5508b専用のキャッシュ5506の第2のセクションなど)。一例では、キャッシュ5506の1つ以上のセクションは、2つ以上のコア5508の間で共有され得る。キャッシュ5506は、異なるレベル、例えば、レベル1(L1)キャッシュ、レベル2(L2)キャッシュ、レベル3(L3)キャッシュなどに分割され得る。
いくつかの実施形態では、プロセッサコア5504は、コア5504による実行のための命令(条件付き分岐を伴う命令を含む)をフェッチする(fetch)ためのフェッチユニットを含み得る。命令は、メモリ5530などの任意の記憶デバイスからフェッチされ得る。プロセッサコア5504はまた、フェッチされた命令をデコードするデコードユニットを含み得る。例えば、デコードユニットは、複数のマイクロオペレーションにフェッチされた命令をデコードし得る。プロセッサコア5504は、デコードされた命令を記憶することに関連付けられた種々の動作を実行するためのスケジュールユニットを含み得る。例えば、スケジュールユニットは、命令がディスパッチの準備が整うまで、例えば、デコードされた命令の全てのソース値が利用可能になるまで、デコードユニットからのデータを保持し得る。一実施形態では、スケジュールユニットは、実行のためにデコードされた命令をスケジュールし、及び/又は実行ユニットに発行(又は、ディスパッチ)し得る。
実行ユニットは、ディスパッチされた命令が(例えばデコードユニットによって)デコードされ、(例えばスケジュールユニットによって)ディスパッチされた後、ディスパッチされた命令を実行し得る。一実施形態では、実行ユニットは、2つ以上の実行ユニット(例えば、イメージング計算ユニット、グラフィックス計算ユニット、汎用計算ユニットなど)を含み得る。実行ユニットはまた、加算、減算、乗算、及び/又は除算のような種々の算術演算を実行し得、1つ以上の算術論理ユニット(ALU)を含み得る。一実施形態では、コプロセッサ(図示せず)は、実行ユニットと組み合わせて種々の算術演算を実行し得る。
さらに、実行ユニットは、命令を順不同で(out-of-order)実行し得る。従って、プロセッサコア5504は、一実施形態では、アウトオブオーダ(out-of-order)プロセッサコアであり得る。プロセッサコア5504は、リタイアメント(retirement)ユニットを含み得る。リタイアメントユニットは、実行された命令がコミットされた後に実行された命令をリタイア処理し(retire)得る。一実施形態では、実行された命令のリタイア処理(retirement)は、プロセッサ状態が命令の実行からコミットされること、命令によって使用される物理レジスタが割り当て解除されることなどをもたらし得る。また、プロセッサコア5504は、1つ以上のバスを介して、プロセッサコア5504のコンポーネントと他のコンポーネントとの間の通信を可能にするバスユニットを含み得る。また、プロセッサコア5504は、コア5504の様々なコンポーネント(割り当てられたアプリケーション優先度及び/又はサブシステム状態(モード)アソシエーションに関連する値など)によってアクセスされるデータを記憶する1つ以上のレジスタを含み得る。
いくつかの実施形態では、デバイス5500は、接続回路5531を含む。例えば、接続回路5531は、ハードウェアデバイス(例えば、ワイヤレス及び/又は有線コネクタ及び通信ハードウェア)及び/又はソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含み、例えば、デバイス5500が外部デバイスと通信することを可能にする。デバイス5500は、他のコンピューティングデバイス、無線アクセスポイント又は基地局などの外部デバイスから分離され得る。
一例では、接続回路5531は、複数の異なるタイプの接続を含み得る。一般化するために、接続回路5531は、セルラ接続回路、無線接続回路などを含み得る。接続回路5531のセルラ接続回路は、概して、GSM(移動体通信のためのグローバルシステム)又はバリエーションもしくは派生物、CDMA(符号分割多元接続)又はバリエーションもしくは派生物、TDM(時分割多重)又はバリエーションもしくは派生物、第3世代パートナーシッププロジェクト(3GPP)ユニバーサルモバイルテレコミュニケーションシステム(UMTS)システムもしくはバリエーションもしくは派生物、3GPPロングタームエボリューション(LTE)システム又はバリエーションもしくは派生物、3GPP LTE-Advanced(LTE-A)システム又はバリエーションもしくは派生物、第5世代(5G)無線システム又はバリエーションもしくは派生物、5Gモバイルネットワークシステム又はバリエーションもしくは派生物、5G新無線(NR)システム又はバリエーションもしくは派生物、又は他のセルラサービス標準を介して提供されるような、無線通信事業者によって提供されるセルラネットワーク接続を指す。接続回路5531の無線接続回路(又は無線インタフェース)は、セルラではない無線接続を指し、パーソナルエリアネットワーク(Bluetooth(登録商標)、ニアフィールドなど)、ローカルエリアネットワーク(Wi-Fiなど)、及び/又はワイドエリアネットワーク(WiMaxなど)、及び/又は他の無線通信を含むことができる。一例では、接続回路5531は、例えば、システム実施形態が、無線デバイス、例えば、携帯電話又は携帯情報端末に組み込まれ得るように、有線又は無線インタフェースなどのネットワークインタフェースを含み得る。
いくつかの実施形態では、デバイス5500は、1つ以上のI/Oデバイスとの相互作用に関連するハードウェアデバイス及び/又はソフトウェアコンポーネントを表すコントロールハブ5532を含む。例えば、プロセッサ5504は、コントロールハブ5532を介して、ディスプレイ5522、1つ以上の周辺機器5524、ストレージデバイス5528、1つ以上の他の外部デバイス5529などのうちの1つ以上と通信し得る。コントロールハブ5532は、チップセット、プラットフォームコントロールハブ(PCH)、及び/又は類似のものであり得る。
例えば、コントロールハブ5532は、例えば、ユーザがシステムと対話することができる、デバイス5500に接続する追加デバイスのための1つ以上の接続ポイントを示す。例えば、デバイス5500に取り付けることができるデバイス(例えば、デバイス5529)は、マイクロホンデバイス、スピーカ又はステレオシステム、オーディオデバイス、ビデオシステム又は他の表示デバイス、キーボード又はキーパッドデバイス、又はカードリーダ又は他のデバイスなどの特定の用途に使用する他のI/Oデバイスを含む。
上述のように、コントロールハブ5532は、オーディオデバイス、ディスプレイ5522などと相互作用することができる。例えば、マイクロホン又は他のオーディオデバイスを介した入力は、デバイス5500の1つ以上のアプリケーション又は機能のための入力又はコマンドを提供することができる。加えて、ディスプレイ出力の代わりに、又はディスプレイ出力に加えて、オーディオ出力を提供することができる。別の例では、ディスプレイ5522がタッチスクリーンを含む場合、ディスプレイ5522は、少なくとも部分的にコントロールハブ5532によって管理され得る入力デバイスとしても機能する。また、コントロールハブ5532によって管理されるI/O機能を提供するために、コンピューティングデバイス5500上に追加のボタン又はスイッチを設けることもできる。一実施形態では、コントロールハブ5532は、加速度計、カメラ、光センサ若しくは他の環境センサ、又はデバイス5500に含まれ得る他のハードウェアなどのデバイスを管理する。入力は、直接的なユーザインタラクションの一部とすることができ、システムに環境入力を提供して、システムの動作に影響を及ぼすことができる(例えば、ノイズのフィルタリング、輝度検出のためのディスプレイの調整、カメラのためのフラッシュの適用、又は他の特徴)。
いくつかの実施形態では、コントロールハブ5532は、任意の適切な通信プロトコル、例えば、PCIe(周辺コンポーネント相互接続エクスプレス)、USB(ユニバーサルシリアルバス)、Thunderbolt、高品位マルチメディアインタフェース(HDMI(登録商標))、Firewireなどを使用して、様々なデバイスに結合し得る。
いくつかの実施形態では、ディスプレイ5522は、ユーザがデバイス5500と対話するための視覚及び/又は触覚ディスプレイを提供するハードウェア(例えば、ディスプレイデバイス)及びソフトウェア(例えば、ドライバ)コンポーネントを表す。ディスプレイ5522は、ディスプレイインタフェース、ディスプレイスクリーン、及び/又は、ユーザにディスプレイを提供するために使用されるハードウェアデバイスを含み得る。いくつかの実施形態では、ディスプレイ5522は、出力及び入力の両方をユーザに提供するタッチスクリーン(又はタッチパッド)デバイスを含む。一例では、ディスプレイ5522は、プロセッサ5504と直接通信し得る。ディスプレイ5522は、モバイル電子デバイス又はラップトップデバイスにおける、内部ディスプレイデバイス、又はディスプレイインタフェース(例えば、ディスプレイポートなど)を介して取り付けられる外部ディスプレイデバイスの1つ又は複数であり得る。一実施形態では、ディスプレイ5522は、仮想現実(VR)アプリケーション又は拡張現実(AR)アプリケーションで使用するための立体表示デバイスなどのヘッドマウントディスプレイ(HMD)であることができる。
いくつかの実施形態では、図には示されていないが、プロセッサ5504に加えて(又はその代わりに)、デバイス5500は、ディスプレイ5522上にコンテンツを表示する1つ以上の態様を制御し得る、1つ以上のグラフィックス処理コアを含むグラフィックス処理ユニット(GPU)を含み得る。
コントロールハブ5532(又はプラットフォームコントローラハブ)は、例えば周辺機器5524への、周辺接続を行うための、ハードウェアインタフェース及びコネクタ、並びにソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含み得る。
デバイス5500は、他のコンピューティングデバイスへの周辺機器であることができ、また、それに接続された周辺機器を有することができる両方であることが理解されよう。デバイス5500は、デバイス5500上のコンテンツの管理(例えば、ダウンロード及び/又はアップロード、変更、同期)を目的として、他のコンピューティングデバイスに接続するための「ドッキング」コネクタを有し得る。加えて、ドッキングコネクタは、コンピューティングデバイス5500が、例えばオーディオビジュアル又は他のシステムへの、コンテンツ出力を制御することを可能にする特定の周辺機器にデバイス5500が接続することを可能にする。
専用ドッキングコネクタ又は他の専用接続ハードウェアに加えて、デバイス5500は、共通又は標準ベースのコネクタを介して周辺接続を行うことができる。共通タイプは、ユニバーサルシリアルバス(USB)コネクタ(これは、いくつかの異なるハードウェアインタフェースのいずれかを含むことができる)、MiniDisplayPort(MDP)を含むDisplayPort、高品位マルチメディアインタフェース(HDMI(登録商標))、Firewire、又は他のタイプのいずれかを含むことができる。
いくつかの実施形態では、接続回路5531は、例えば、プロセッサ5504に直接結合されることに加えて、又はその代わりに、コントロールハブ5532に結合され得る。いくつかの実施形態では、ディスプレイ5522は、例えば、プロセッサ5504に直接結合されるに加えて、又はその代わりに、コントロールハブ5532に結合され得る。
いくつかの実施形態では、デバイス5500は、メモリインタフェース5534を介してプロセッサ5504に結合されたメモリ5530を含む。メモリ5530は、デバイス5500内に情報を記憶するためのメモリデバイスを含む。
いくつかの実施形態では、メモリ5530は、様々な実施形態に関連して説明されるように、安定したクロックを維持するための装置を含む。メモリは、不揮発性(メモリデバイスへの電力が中断された場合に状態が変化しない)及び/又は揮発性(メモリデバイスへの電力が中断された場合に状態が不確定である)メモリデバイスを含むことができる。メモリデバイス5530は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリデバイス、相変化メモリデバイス、又はプロセスメモリとして機能するのに適した性能を有する他のメモリデバイスであることができる。一実施形態では、メモリ5530は、1つ以上のプロセッサ5504がアプリケーション又はプロセスを実行するときに使用するためのデータ及び命令を記憶するために、デバイス5500のシステムメモリとして動作することができる。メモリ5530は、アプリケーションデータ、ユーザデータ、音楽、写真、文書、又は他のデータ、並びにデバイス5500のアプリケーション及び機能の実行に関連するシステムデータを記憶することができる。
種々の実施形態及び例の要素は、コンピュータ実行可能命令(例えば、本明細書で議論される他の任意のプロセスを実装するための命令)を記憶するためのマシン読取可能媒体(例えば、メモリ5530)としても提供される。マシン読取可能媒体(例えば、メモリ5530)は、フラッシュメモリ、光ディスク、CD-ROM、DVD ROM、RAM、EPROM、磁気カード又は光カード、相変化メモリ(PCM)、又は電子若しくはコンピュータ実行可能命令を記憶するのに適した他のタイプのマシン読取可能媒体を含み得るが、これらに限定されない。例えば、本開示の実施形態は、通信リンク(例えば、モデム又はネットワーク接続)を介してデータ信号によってリモートコンピュータ(例えば、サーバ)から要求元コンピュータ(例えば、クライアント)に転送され得るコンピュータプログラム(例えば、BIOS)としてダウンロードされ得る。
いくつかの実施形態では、デバイス5500は、例えば、デバイス5500の種々のコンポーネントの温度を測定するための温度測定回路5540を有する。一例では、温度測定回路5540は、埋め込まれ得る、又は、結合され得る、又は、種々のコンポーネントに取り付けられ得、それらのコンポーネントの温度は、測定及び監視される。例えば、温度測定回路5540は、コア5508a、5508b、5508c、電圧レギュレータ5514、メモリ5530、SoC5501のマザーボード、及び/又はデバイス5500の任意の適切なコンポーネントのうちの1つ以上の温度を測定し得る。いくつかの実施形態では、温度測定回路5540は、低電力ハイブリッドリバース(LPHR)バンドギャップリファレンス(BGR)及びデジタル温度センサ(DTS)を含み、これは、設定可能なBGR又はDTS動作モードのベースとして機能する逆BGRを形成するように、サブスレショルド金属酸化物半導体(MOS)トランジスタ及びPNP寄生バイポーラ接合トランジスタ(BJT)デバイスを利用する。LPHRアーキテクチャは、低コストMOSトランジスタと標準的な寄生PNPデバイスを使用する。リバースバンドギャップ電圧に基づいて、LPHRは設定可能なBGRとして動作することができる。設定可能なBGRをスケーリングされたベース-エミッタ電圧と比較することによって、回路はまた、高精度のために、単一温度トリムによる線形伝達関数を有するDTSとして動作することができる。
いくつかの実施形態では、デバイス5500は、例えば、デバイス5500の1つ以上のコンポーネントによって消費される電力を測定するための、電力測定回路5542を有する。一例では、電力を測定することに加えて、又はその代わりに、電力測定回路5542は、電圧及び/又は電流を測定し得る。一例では、電力測定回路5542は、電力、電圧、及び/又は電流消費が測定及び監視されることになる様々なコンポーネントに埋め込まれ、又は結合され、又は取り付けられ得る。例えば、電力測定回路5542は、1つ以上の電圧レギュレータ5514によって供給される電力、電流及び/又は電圧、SoC5501に供給される電力、デバイス5500に供給される電力、デバイス5500のプロセッサ5504(又は任意の他のコンポーネント)によって消費される電力などを測定し得る。
いくつかの実施形態では、デバイス5500は、一般に電圧レギュレータ(VR)5514と呼ばれる1つ以上の電圧レギュレータ回路を有する。VR5514は、デバイス5500の任意の適切なコンポーネントを動作させるために供給され得る適切な電圧レベルで信号を生成する。単なる例として、VR5514は、デバイス5500のプロセッサ5504に信号を供給するように示される。いくつかの実施形態では、VR5514は、1つ以上の電圧識別(VID)信号を受信し、VID信号に基づいて、適切なレベルで電圧信号を生成する。種々のタイプのVRがVR5514のために利用され得る。例えば、VR5514は、「バック(降圧)(Buck)」VR、「ブースト」VR、バック及びブーストVRの組み合わせ、低ドロップアウト(LDO)レギュレータ、スイッチングDC-DCレギュレータ、コンスタントオンタイム(constant-on-time)コントローラベースのDC-DCレギュレータなどを含み得る。バックVRは、一般に、入力電圧を1(unity)より小さい比率で出力電圧に変換する必要がある電力供給用途で使用される。ブーストVRは、一般に、入力電圧を1よりも大きな比で出力電圧に変換する必要のある電力供給用途で使用される。いくつかの実施形態では、各プロセッサコアは、PCU5510a/b及び/又はPMIC5512によって制御される独自のVRを有する。いくつかの実施形態では、各コアは、電力管理のための効率的な制御を提供するために、分散型LDOのネットワークを有する。LDOは、デジタルLDO、アナログLDO、又はデジタルLDO又はアナログLDOの組み合わせであり得る。いくつかの実施形態では、VR5514は、電源レール(複数可)を通る電流を測定するための電流追跡装置を含む。
いくつかの実施形態では、VR5514は、比例積分微分(PID)フィルタ(デジタルタイプIII補償器としても知られる)の状態を管理するためのデジタル制御スキームを含む。デジタル制御方式は、PIDフィルタの積分器を制御して、PIDの比例項と微分項が0に設定される間にデューティサイクルを飽和させる非線形制御を実装し、一方、積分器とその内部状態(以前の値又はメモリ)は、現在の公称デューティサイクルにデルタDを加えた合計であるデューティサイクルに設定される。デルタDは、電圧レギュレータをICCminからICCmaxに調整するために使用される最大デューティサイクル増分であり、ポストシリコンに設定できる構成レジスタである。状態機械が、非線形全ON状態(出力電圧Voutを調整ウインドウに戻す)から、必要な基準電圧Vrefよりもわずかに高い出力電圧を維持するオープンループデューティサイクルに移行させる。指令されたデューティサイクルにおけるこの状態のオープンループの一定の期間の後、状態マシンは、出力電圧がVrefコマンドに近づくまで、オープンループデューティサイクル値をランプダウンさせる。このように、VR5514からの出力電源の出力チャタリングは、完全に除去され(又は実質的に除去され)、比較器遅延及び利用可能な出力デカップリングキャパシタンスを有する負荷のdi/dtに基づく保証されたVminをもたらし得る単一のアンダーシュート遷移のみが存在する。
いくつかの実施形態では、VR5514は、ヒューズ及び/又はトリム情報なしで機能する、別個のセルフスタート(self-start)コントローラを含む。セルフスタートコントローラは、VR5514を大きな突入電流及び電圧オーバシュートから保護する一方、システムによって課される可変VID(電圧識別)基準ランプに従うことができる。いくつかの実施形態では、セルフスタートコントローラは、バックコンバータのスイッチング周波数を設定するためにコントローラに組み込まれた緩和発振器(relaxation oscillator)を使用する。発振器は、クロック又は電流基準のいずれかを使用して、所望の動作周波数に近いように初期化することができる。VR5514の出力は、閉ループ動作のデューティサイクルを設定するために発振器に弱く結合される。コントローラは、出力電圧が常に設定点よりもわずかに高くなるように自然にバイアスされ、いかなるプロセス、電圧、及び/又は温度(PVT)が課されたトリムの必要性を排除する。
いくつかの実施形態では、VR5514は、出力電源レール上の電圧レベルが基準値未満に留まる場合に、ハイサイドスイッチ(high-side switch)がターンオン時間を超えてオンになり続けるようにハイサイドスイッチ(high-side switch)及びローサイドスイッチ(low-side switch)を制御する信号を生成するコントローラを有するワンショットインダクタ電流スキームを含む。このスキームは、SoC5501の最小動作電圧Vmin及び/又は周波数保護バンドを低減する。
いくつかの実施形態では、デバイス5500は、一般にクロック発生器5516と呼ばれる1つ以上のクロック生成器回路を有する。クロック発生器5516は、デバイス5500の任意の適切なコンポーネントに供給され得る適切な周波数レベルでクロック信号を生成する。単なる例として、クロック発生器5516は、デバイス5500のプロセッサ5504にクロック信号を供給していることが示される。いくつかの実施形態では、クロック発生器5516は、1つ以上の周波数識別(FID)信号を受信し、FID信号に基づいて、適切な周波数でクロック信号を生成する。
いくつかの実施形態では、デバイス5500は、デバイス5500の様々なコンポーネントに電力を供給するバッテリ5518を含む。単なる例として、バッテリ5518は、プロセッサ5504に電力を供給していることが示される。図には示されていないが、デバイス5500は、ACアダプタから受け取った交流電流(AC)電源に基づいて、例えばバッテリを再充電するための充電回路を有し得る。
いくつかの実施形態では、バッテリ5518は、予め設定された電圧(例えば、4.1V)に充電して、実際のバッテリ容量又はエネルギを定期的にチェックする。その後、バッテリはバッテリ容量又はエネルギを決定する。容量又はエネルギが不足している場合、バッテリ内又はバッテリに関連する装置は、容量が十分である点(例えば、4.1Vから4.11V)まで充電電圧をわずかに上昇させる。充電電圧を定期的にチェックし、わずかに上昇させる処理は、充電電圧が仕様限界(例えば4.2V)に達するまで行われる。本明細書に記載されるスキームは、バッテリの寿命を延ばすことができ、エネルギ予備が不十分であるリスクを低減することができ、バースト電力を可能な限り長く使用することができ、及び/又はより高いバースト電力を使用することができるなどの利点を有する。
いくつかの実施形態では、充電回路(例えば、5518)は、バックブーストコンバータを含む。このバックブーストコンバータは、従来のバックブーストコンバータのハーフブリッジの代わりに使用されるDrMOS又はDrGaNデバイスを含む。ここでは、DrMOSを参照して種々の実施形態を説明する。しかしながら、実施形態はDrGaNに適用可能である。DrMOSデバイスは、寄生を減らし、最適化されたMOSFETパッケージングにより、電力変換のより良い効率可能にする。デッドタイム管理はDrMOSの内部にあるため、デッドタイム管理は従来のバックブーストコンバータよりも正確であり、より高い変換効率につながる。より高い動作周波数は、より小さなインダクタサイズを可能にし、これは、DrMOSベースのバックブーストコンバータを有する充電器のz高さを減少させる。種々の実施形態のバックブーストコンバータは、DrMOSデバイス用の二重折り返しブートストラップ(dual-folded bootstrap)を備える。いくつかの実施態様では、従来のブートストラップキャパシタに加えて、インダクタノードを2セットのDrMOSスイッチにクロスカップリングする折り返しブートストラップキャパシタが追加される。
いくつかの実施形態では、デバイス5500は、電力制御ユニット(PCU)5510(電力管理ユニット(PMU)、電力管理コントローラ(PMC)、電力ユニット(p-ユニット)などとも呼ばれる)を有する。一例では、PCU5510のいくつかのセクションは、1つ以上の処理コア5508によって実装され得、PCU5510のこれらのセクションは、点線のボックスを使用して象徴的に示され、PCU5510aとラベル付けされる。一例では、PCU5510のいくつかの他のセクションは、処理コア5508の外側に実装され得、PCU5510のこれらのセクションは、点線のボックスを使用して象徴的に示され、PCU5510bとしてラベル付けされる。PCU5510は、デバイス5500のための種々の電力管理動作を実装し得る。PCU5510は、デバイス5500のための様々な電力管理動作を実装するために、ハードウェアインタフェース、ハードウェア回路、コネクタ、レジスタなど、及びソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含み得る。
様々な実施形態では、PCU又はPMU5510は、階層的電力管理(HPM)を形成する階層的方法で組織される。様々な実施形態のHPMは、プラットフォームのためのパッケージレベル管理を可能にする能力及びインフラストラクチャを構築する一方、パッケージ内の構成要素ダイ全体に存在し得るアイランドオブオートノミー(islands of autonomy)に依然として対応する(catering)。HPMは、あらかじめ決定された物理パーティションのドメインへのマッピングを想定していない。HPMドメインは、ダイレット内、ダイレット境界、1つ以上のダイレット、コンパニオンダイ、又はディスクリートCXLデバイスにさえ統合された機能と連携させる(aligned with)ことができる。HPMは、同一のダイの複数のインスタンスの統合、同一のダイ又は別個のダイに統合された専有機能又はサードパーティ機能の混合、さらには、パッケージ内にある、又は離散的なフォームファクタのCXL(例えば、Flexbus)を介して接続されたアクセラレータに対応する。
HPMは、設計者がスケーラビリティ、モジュール性、及び遅延バインディングの目標を満たすことを可能にする。また、HPMは、フラットスキームにおいて無効にする代わりに、他のダイス上にすでに存在する可能性のあるPMU機能を活用することを可能にする。HPMは、統合のレベルに依存しない任意の機能集合の管理を可能にする。種々の実施形態のHPMは、スケーラブルであり、モジュール式であり、対称マルチチッププロセッサ(MCP)と共に動作し、非対称MCPと共に動作する。例えば、HPMは、合理的なスケーリング限界を超えて成長するために、信号PMコントローラ及びパッケージインフラストラクチャを必要としない。HPMは、ベースダイインフラストラクチャを変更する必要なく、パッケージ内のダイの後期追加(late addition)を可能にする。HPMは、単一のパッケージに結合された異なるプロセス技術ノードのダイを有する、細分化された解決策の必要性に対処する。HPMはまた、コンパニオンダイ統合ソリューション-オン及びオフパッケージのニーズにも対処する。
様々な実施形態では、各ダイ(又はダイレット)は、電力管理ユニット(PMU)又はp-ユニットを含む。例えば、プロセッサダイは、スーパーバイザp-ユニット、スーパーバイジーp-ユニット、又はデュアルロール(役割)スーパーバイザ/スーパーバイジーp-ユニットを有することができる。いくつかの実施形態では、I/Oダイは、スーパーバイザ及び/又はスーパーバイジーp-ユニットなど、それ自身のデュアルロールp-ユニットを有する。各ダイにおけるp-ユニットは、一般的なp-ユニットのインスタンスであることができる。1つのこのような例では、すべてのp-ユニットは、同一の能力及び回路を有するが、スーパーバイザ、スーパーバイジー、及び/又はその両方の役割を担うように(動的又は静的に)構成される。いくつかの実施形態では、計算ダイのp-ユニットは、計算p-ユニットのインスタンスであり、I/Oダイのp-ユニットは、計算p-ユニットとは異なるI/O p-ユニットのインスタンスである。役割に応じて、p-ユニットは、マルチチップモジュール及び/又はコンピューティングプラットフォームの電力を管理する特定の責任を取得する。マルチチップモジュール又はシステムオンチップ内のダイについて種々のp-ユニットが記載されているが、p-ユニットは、I/Oデバイスのような外部デバイスの一部であることもできる。
ここでは、さまざまなp-ユニットは同じである必要はない。HPMアーキテクチャは、非常に異なるタイプのp-ユニットを動作させることができる。p-ユニットの1つの共通の特徴は、それらがHPMメッセージを受信することを期待され、それらを理解できることが期待されることである。いくつかの実施形態では、I/Oダイのp-ユニットは、計算ダイのp-ユニットとは異なり得る。例えば、I/O p-ユニット内のレジスタの各クラスのレジスタインスタンスの数は、計算ダイのp-ユニット内のものとは異なる。I/Oダイは、CXL接続デバイスのHPMスーパーバイザである能力を有するが、計算ダイはその能力を有する必要はない。また、I/Oダイ及び計算ダイは、異なるファームウェアフローを有し、場合によっては異なるファームウェアイメージを有する。これらは、実装ができる選択である。HPMアーキテクチャは、1つのスーパーセットファームウェアイメージを有することを選択することができ、ファームウェアが関連付けられるダイのタイプに関連するフローを選択的に実行することができる。代替的には、各p-ユニットタイプにカスタマファームウェアを設けることができる;各p-ユニットタイプのファームウェアストレージ要件をより合理化してサイジングすることができる。
各ダイにおけるp-ユニットは、スーパーバイザp-ユニット、スーパーバイジーp-ユニット、又はスーパーバイザ/スーパーバイジーのデュアルロール105として構成することができる。このように、p-ユニットは、様々なドメインに対してスーパーバイザ又はスーパーバイジーの役割を実行することができる。様々な実施形態では、p-ユニットの各インスタンスは、ローカル専用リソースを自律的に管理することができ、データを集約し、インスタンス間で通信して、共有リソーススーパーバイザとして構成されたインスタンスによる共有リソース管理を可能にする構造を含む。複数のp-ユニット間の管理及びフローを容易にするために、複製され構成されることができるメッセージ及びワイヤベースのインフラストラクチャが提供される。
いくつかの実施形態では、電力及び熱の閾値が、スーパーバイザp-ユニットによってスーパーバイジーp-ユニットに通信される。例えば、スーパーバイザp-ユニットは、各ダイのワークロード(現在及び将来)、各ダイの電力測定、及び他のパラメータ(例えば、プラットフォームレベルの電力境界)を学習し、各ダイの新しい電力限界(power limits)を決定する。次いで、これらの電力限界は、スーパーバイザp-ユニットによって、1つ以上の相互接続及びファブリックを介してスーパーバイジーp-ユニットに伝達される。いくつかの実施形態では、ファブリックは、第1のファブリック、第2のファブリック、及び高速応答相互接続を含むファブリック及び相互接続のグループを示す。いくつかの実施態様では、第1のファブリックは、スーパーバイザp-ユニットとスーパーバイジーp-ユニットとの間の共通通信(common communication)に使用される。これらの共通通信は、多数の要因(例えば、将来のワークロード、ユーザの行動など)に基づいて計画されるダイの電圧、周波数、及び/又は電力状態の変化を含む。いくつかの実施態様では、第2のファブリックは、スーパーバイザp-ユニットとスーパーバイジーp-ユニットとの間のより高い優先度の通信のために使用される。より高い優先度の通信の例は、考えられる熱暴走状態、信頼性の問題などのためにスロットリングする(throttle)メッセージを含む。いくつかの実施形態では、高速応答相互接続が、すべてのダイの高速又はハードスロットリング(hard throttle)を通信するために使用される。この場合、スーパーバイザp-ユニットは、例えば、他のすべてのp-ユニットに高速スロットリングメッセージを送信し得る。いくつかの実施形態では、高速応答相互接続は、レガシー相互接続であり、その機能は、第2のファブリックによって実行されることができる。
様々な実施形態のHPMアーキテクチャは、対称及び/又は非対称ダイのスケーラビリティ、モジュール性、及び遅延バインディングを可能にする。ここで、対称ダイは、同じサイズ、タイプ、及び/又は機能のダイであり、一方、非対称ダイは、異なるサイズ、タイプ、及び/又は機能のダイである。階層的アプローチはまた、従来のフラット電力管理スキームで無効にされる代わりに、他のダイに既に存在する可能性があるPMU機能を活用することを可能にする。HPMは、あらかじめ決定された物理パーティションのドメインへのマッピングを想定していない。HPMドメインは、ダイレット内、ダイレット境界、1つ以上のダイレット、コンパニオンダイ、又はディスクリートCXLデバイスにさえ組み込まれた機能と連携させることができる。HPMは、統合のレベルに依存しない任意の機能集合の管理を可能にする。いくつかの実施態様では、p-ユニットは、1つ以上の要因に基づいてスーパーバイザp-ユニットと宣言される。これらの要因は、プロセッサの物理的限界を決定するためのメモリサイズ、物理的制約(例えば、ピンアウトの数)、及びセンサの位置(例えば、温度、電力消費など)を含む。
様々な実施形態のHPMアーキテクチャは、単一のp-ユニットインスタンスがプロセッサ全体を認識する必要がないように、電力管理をスケール化する手段を提供する。これは、より小さな粒度での電力管理を可能にし、応答時間と有効性を改善する。階層構造は、ユーザに対してモノリシックビューを維持する。例えば、オペレーティングシステム(OS)レベルでは、HPMアーキテクチャは、
たとえPMUが1つ以上のスーパーバイザ-スーパーバイジー構成で物理的に分散されていても、OSに単一のPMUビューを与える。
いくつかの実施形態では、HPMアーキテクチャは、1つのスーパーバイザがすべてのスーパーバイジーを制御するように集中化される。いくつかの実施形態では、HPMアーキテクチャは分散化され、種々のダイ内の種々のp-ユニットがピアツーピア通信によって全体的な電力管理を制御する。いくつかの実施形態では、HPMアーキテクチャは、異なるドメインに対して異なるスーパーバイザが存在する場合に分散される。分散アーキテクチャの一例は、ツリー状アーキテクチャである。
いくつかの実施形態では、デバイス5500は、例えば、デバイス5500のための様々な電力管理動作を実装するために、電力管理集積回路(PMIC)5512を有する。いくつかの実施形態では、PMIC5512は、再構成可能な電力管理IC(RPMIC)及び/又はIMVP(Intel(登録商標)モバイル電圧ポジショニング)である。一例では、PMICは、プロセッサ5504から分離されたICダイ内にある。これらは、デバイス5500のための種々の電力管理動作を実装し得る。PMIC5512は、デバイス5500のための種々の電力管理動作を実装するために、ハードウェアインタフェース、ハードウェア回路、コネクタ、レジスタなど、及びソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含み得る。
一例では、デバイス5500は、1つ又は両方のPCU5510又はPMIC5512を有する。一例では、PCU5510又はPMIC5512のいずれか1つは、デバイス5500内に存在しなくてもよく、したがって、これらのコンポーネントは、点線を使用して図示される。
デバイス5500の種々の電力管理動作は、PCU5510によって、PMIC5512によって、又はPCU5510とPMIC5512の組み合わせによって実行され得る。例えば、PCU5510及び/又はPMIC5512は、デバイス5500の様々なコンポーネントに対する電力状態(例えば、P-状態)を選択し得る。例えば、PCU5510及び/又はPMIC5512は、デバイス5500の様々なコンポーネントに対する電力状態(例えば、ACPI(Advanced Configuration and Power Interface)仕様に従う)を選択し得る。単に一例として、PCU5510及び/又はPMIC5512は、デバイス5500の様々なコンポーネントを、スリープ状態、アクティブ状態、適切なC状態(例えば、ACPI仕様に従って、C0状態、又は他の適切なC状態)に遷移させ得る。一例では、PCU5510及び/又はPMIC5512は、VR5514による電圧出力及び/又はクロック発生器によって出力されるクロック信号の周波数を、例えば、それぞれ、VID信号及び/又はFID信号を出力することによって制御し得る。一例では、PCU5510及び/又はPMIC5512は、バッテリ電力使用量、バッテリ5518の充電、及び電力節約動作に関連する特徴を制御し得る。
クロック発生器5516は、位相ロックループ(PLL)、周波数ロックループ(FLL)、又は任意の適切なクロックソースを有することができる。いくつかの実施形態では、プロセッサ5504の各コアは、それ自体のクロックソースを有する。このように、各コアは、他のコアの動作周波数に依存しない周波数で動作することができる。いくつかの実施形態では、PCU5510及び/又はPMIC5512は、適応的又は動的周波数スケーリング又は調整を行う。例えば、プロセッサコアのクロック周波数は、コアがその最大電力消費閾値又は制限値で動作していない場合に増加させることができる。いくつかの実施形態では、PCU5510及び/又はPMIC5512は、PCU5510及び/又はPMIC5512が、コアが目標パフォーマンスレベルを下回って動作していると判断した場合、コアのクロックソース(例えば、そのコアのPLL)がロックを喪失することなく、そのコアの周波数及び/又は電源電圧を日和見的に調整する。例えば、コアが、そのコア又はプロセッサ5504に対して割り当てられた総電流よりも小さい電源レールから電流を引き出す場合、PCU5510及び/又はPMIC5512は、コア又はプロセッサ5504がより高いパフォーマンスレベルで実行することができるように、そのコア又はプロセッサ5504に対する電力引き出しを一時的に増加させることができる(例えば、クロック周波数及び/又は電源電圧レベルを増加させることによって)。このように、電圧及び/又は周波数は、プロセッサ5504のために、製品の信頼性を損なうことなく、一時的に増加されることができる。
一例では、PCU5510及び/又はPMIC5512は、例えば、電力測定回路5542、温度測定回路5540、バッテリ5518の充電レベル、及び/又は電力管理のために使用され得る任意の他の適切な情報からの測定値を受信することに少なくとも部分的に基づいて、電力管理動作を実行し得る。この目的のために、PMIC5512は、システム/プラットフォームの電力/熱挙動に影響を及ぼす1つ以上の要因における様々な値/変動を感知/検出するために、1つ以上のセンサに通信結合される。1つ以上の要因の例は、電流、電圧低下、温度、動作周波数、動作電圧、電力消費、コア間通信活動などを含む。これらのセンサのうちの1つ以上は、コンピューティングシステムの1つ以上のコンポーネント又はロジック/IPブロックと物理的に近接して(及び/又は熱的に接触/結合して)設けられ得る。加えて、センサ(複数可)は、少なくとも1つの実施形態において、PCU5510及び/又はPMIC5512に直接接続されて、少なくとも部分的に、センサの1つ以上によって検出された値に基づいて、PCU5510及び/又はPMIC5512がプロセッサコアのエネルギを管理することを可能にし得る。
また、デバイス5500の例示的なソフトウェアスタックが示されている(しかし、ソフトウェアスタックのすべての要素が示されているわけではない)。単なる例として、プロセッサ5504は、アプリケーションプログラム5550、オペレーティングシステム5552、1つ以上の電力管理(PM)固有のアプリケーションプログラム(例えば、概してPMアプリケーション5558と呼ばれる)、及び/又は類似のものを実行し得る。PMアプリケーション5558はまた、PCU5510及び/又はPMIC5512によって実行され得る。OS5552はまた、1つ以上のPMアプリケーション5556a、5556b、5556cを含み得る。OS5552は、また、種々のドライバ554a、5554b、5554cなどを含み得、それらのいくつかは、電力管理目的のための専用であり得る。いくつかの実施形態では、デバイス5500は、基本入出力システム(BIOS)5520をさらに含み得る。BIOS5520は、OS5552と通信し得(例えば、1つ以上のドライバ5554を介して)、プロセッサ5504などと通信し得る。
例えば、PMアプリケーション5558、5556、ドライバ554、BIOS5520などのうちの1つ以上を使用して、電力管理特有のタスクを実装し得る、例えば、デバイス5500の様々なコンポーネントの電圧及び/又は周波数を制御し得る、デバイス5500の様々なコンポーネントのウェイクアップ状態、スリープ状態、及び/又は他の任意の適切な電力状態を制御し得る、バッテリの電力使用量、バッテリ5518の充電、省電力動作に関連する特徴を制御し得る。
いくつかの実施形態では、バッテリ5518は、バッテリへの均一な圧力を可能にするための圧力室を備えたLi金属バッテリである。圧力室は、バッテリに均一な圧力を与えるために使用される金属板(例えば、圧力均一化板)によって支持される。圧力室は、加圧ガス、弾性材料、バネ板等を含み得る。圧力室の外板(outer skin)は自由に湾曲し、(金属)スキンによってその縁部で拘束されるが、それでもバッテリセルを圧迫するプレートに均一な圧力を与える。圧力室は、バッテリに均一な圧力を与え、これは、例えば、バッテリ寿命を20%延ばす、高エネルギ密度のバッテリを可能にするために使用される。
いくつかの実施形態では、PCU5510a/b上で実行されるpCodeは、pCodeのランタイムサポートのための余分な計算及びテレメトリリソースを可能にする能力を有する。ここでpCodeとは、PCU5510a/bが5501のパフォーマンスを管理するために実行されるファームウェアを指す。例えば、pCodeは、プロセッサのための周波数及び適切な電圧を設定し得る。pCodeの一部は、OS5552を介してアクセス可能である。様々な実施形態では、ワークロード、ユーザの行動、及び/又はシステム条件に基づいてエネルギパフォーマンス優先度(EPP)を動的に変更するメカニズム及び方法が提供される。OS5552とpCodeの間には、明確に定義されたインタフェースが存在し得る。インタフェースは、いくつかのパラメータのソフトウェア設定を可能にし得る又は容易にし得る、及び/又はpCodeへのヒントを提供し得る。一例として、EPPパラメータは、パフォーマンス又はバッテリ寿命がより重要であるか否かに関してpCodeアルゴリズムに通知し得る。
このサポートは、OS5552の一部として機械学習サポートを含めることによって、及び、機械学習予測によって、OSがハードウェア(例えば、SCO5501の様々なコンポーネント)に対してヒントを与えるEPP値を調整することによって、又は、ダイナミックチューニングテクノロジー(DTT)ドライバによって行われるのと同様の方法で、機械学習予測をpCodeに送ることによって、OS5552によっても行われ得る。このモデルでは、OS5552は、DTTで利用可能であるのと同じテレメトリのセットに対して可視性を有し得る。DTT機械学習ヒント設定の結果として、pCodeは、アクティベーションタイプの機械学習予測に従い、最適な電力とパフォーマンス結果を達成するために内部アルゴリズムを調整し得る。例としてのpCodeは、ユーザアクティビティに対する迅速な応答を可能にするためにプロセッサ利用率の変化に対する責任を増大させ得る、又は、プロセッサ利用に対する責任を低減させることによって、若しくは、より多くの電力を節約し、エネルギ節約最適化を調整することによって失われるパフォーマンスを増大させることによって、エネルギ節約に対するバイアスを増大させ得る。このアプローチは、有効にされたアクティビティのタイプが、システムが有効にできるものを超えるパフォーマンスレベルを失う場合に、より多くのバッテリ寿命を節約することを容易にする可能性がある。pCodeは、2つの入力、1つはOS5552からの入力、もう1つはDTTのようなソフトウェアからの入力を取り得、より高いパフォーマンス及び/又は応答性を提供するように選択的に選択し得る動的EPPのためのアルゴリズムを含み得る。この方法の一部として、pCodeは、DTTにおいて、異なるタイプのアクティビティに対してDTTの反応を調整するオプションを可能にし得る。
いくつかの実施態様では、pCodeは、バッテリモードにおけるSoCの性能を改善する。いくつかの実施形態では、pCodeは、バッテリモードにおいて、SoCピーク電力限界レベルを劇的に高くすること(従って、ターボ性能を高めること)を可能にする。いくつかの実施形態では、pCodeは、電力スロットリングを実装し、IntelのDynamic Tuning Technology(DTT)の一部である。様々な実施形態では、ピーク電力限界は、PL4と呼ばれる(referred to)。しかしながら、実施形態は、他のピーク電力限界に適用可能である。いくつかの実施形態では、pCodeは、システムが予期しないシャットダウン(又はブラックスクリーニング)を防止するように、Vth閾値電圧(プラットフォームがSoCをスロットリングする電圧レベル)を設定する。いくつかの実施形態では、pCodeは、閾値電圧(Vth)に従って、Psoc,pk SoCピーク電力限界(例えば、PL4)を計算する。これらは、2つの従属パラメータであり、一方が設定される場合、もう一方が計算することができる。pCodeは、システムパラメータと動作履歴に基づいて、1つのパラメータ(Vth)を最適に設定するために使用される。いくつかの実施形態では、pCodeは、利用可能なバッテリ電力(ゆっくりと変化する)に基づいてスロットリングレベル(Psoc,th)を動的に計算し、SoCスロットリングピーク電力(Psoc,th)を設定するためのスキームを提供する。いくつかの実施形態では、pCodeは、Psoc,thに基づいて周波数及び電圧を決定する。この場合、スロットリングイベントは、SoCパフォーマンスに対する負の影響が少ない。様々な実施形態は、最大パフォーマンス(Pmax)フレームワークが動作することを可能にするスキームを提供する。
いくつかの実施形態では、VR5514は、VR5514のハイサイドスイッチを通る電流を感知及び/又は測定するための電流センサを含む。いくつかの実施形態では、電流センサは、増幅器の入力オフセットを感知するために、フィードバックに容量結合入力を有する増幅器を使用し、これは、測定中に補償されることができる。いくつかの実施形態では、フィードバックに容量結合入力を有する増幅器は、フィードバックループゲイン及び/又は帯域幅がより高いように、入力コモンモード仕様が緩和される領域において増幅器を動作させるために使用される。いくつかの実施形態では、フィードバックに容量結合入力有する増幅器は、スイッチエリアの電力グリッドへの混乱を少なくする局所的なクリーンな供給電圧を生成するために、高PSRR(電源電圧変動除去比(power supply rejection ratio))レギュレータを使用することによって、コンバータ入力電圧からセンサを動作させるために使用される。いくつかの実施形態では、入力電圧とコントローラ電源との差をサンプリングし、電力スイッチとレプリカスイッチとのドレイン電圧との差を再現するために、設計の変形を使用することができる。これは、センサが電源電圧に曝されないことを可能にする。いくつかの実施形態では、フィードバックに容量結合入力を有する増幅器は、電流センシング中の入力電圧の電力供給ネットワーク関連の(PDN関連の)変化を補償するために使用される。
明細書及び請求項において、「接続される」という用語は、仲介デバイスなしで、接続される物の間の電気的、機械的又は磁気的接続のような直接的な接続を意味する。
「結合される」という用語は、1つ又は複数のパッシブ又はアクティブな仲介デバイスを介して、接続される物の間の直接的な電気的、機械的、又は磁気的接続、或いは間接的な接続などの直接的又は間接的接続を意味する。
本明細書において「隣接」という用語は、概して、物の位置が、別の物の隣にある(例えば、それらの間の一つ以上の物のすぐ隣にある又は近接している)又は別の物に隣接している(例えば、当接している)ことを指す。
「回路」又は「モジュール」という用語は、互いに協働して所望の機能を提供するように構成された1つ又は複数のパッシブ及び/又はアクティブコンポーネントを指し得る。
「信号」という用語は、少なくとも1つの電流信号、電圧信号、磁気信号、又はデータ/クロック信号を指す。「1つの(a、an)」、及び「その(the)」の意味は複数の参照を含む。「中に(in)」の意味は「中に(in)」及び「上に(on)」を含む。
「アナログ信号」という用語は、その信号の時間変化する特徴(変数)が、他の時間変化する量の表現である、すなわち、他の時間変化する信号と類似している、任意の連続信号である。
用語「デジタル信号」は、一連の離散値(定量化された離散時間信号)、例えば任意のビットストリーム、又はデジタル化された(サンプリングされた、アナログからデジタルに変換された)アナログ信号の表現である物理信号である。
「スケーリング」という用語は、概して、あるプロセス技術から別のプロセス技術への設計(回路図及びレイアウト)を変換し、その後レイアウト面積を縮小され得ることを指す。場合によっては、スケーリングは、あるプロセス技術から別のプロセス技術への設計のサイズ拡大を指し、その後レイアウト面積を拡大することであり得る。「スケーリング」という用語はまた、概して、同じ技術ノード内のレイアウト及びデバイスの縮小又はサイズ拡大を指す。「スケーリング」という用語はまた、他のパラメータ、例えば、電源レベルに対する信号周波数の調整(例えば、スローダウン又はスピードアップ-すなわち、それぞれ縮小又は拡大)を指す。
用語「実質的に」、「近い(close)」、「約(approximately)」、「近い(near)」、及び「約(about)」は、概して、目標値の+/-10%以内であることを意味する。
共通のオブジェクトを記述するための順序の形容詞「第1」、「第2」及び「第3」等の使用は、特に指定しない限り、単に、類似のオブジェクトの異なるインスタンスが参照されていることを示し、そのように記述されたオブジェクトが、時間的に、空間的に、ランク付けにおいて、又は他の方法で、所与のシーケンスになければならないことを意味するものではない。
本開示の目的では、「A及び/又はB」及び「A又はB」という用語は、(A)、(B)、又は(A及びB)を意味する。本開示の目的では、「A、B及び/又はC」という用語は、(A)、(B)、(C)、(A及びB)、(A及びC)、(B及びC)、又は(A、B及びC)を意味する。
明細書及び、もしあれば、請求項において、「左(“left”)」、「右(“right”)」、「前(“front”)」、「後(“back”)」、「上(“top”)」、「下(“bottom”)」、「上に(“over”)」、「下に(“under”)」等の用語は、説明の目的のために使用され、永続的な相対的位置を記載するためには必ずしも使用されない。
他の図の要素と同一の参照番号(又は名称)を有する図の要素は、記載されたものと同様の方法で動作又は機能することができるが、このように限定されないことが指摘されている。
実施形態の目的のために、本明細書で説明される様々な回路及び論理ブロック内のトランジスタは、金属酸化物半導体(MOS)トランジスタ又はそれらの派生物であり、MOSトランジスタは、ドレイン、ソース、ゲート、及びバルク端子を含む。トランジスタ及び/又はMOSトランジスタ派生物はまた、Tri-Gate及びFinFETトランジスタ、Gate All Around Cylindrical トランジスタ、Tunneling FET(TFET)、Square Wire、又はRectangular Ribbonトランジスタ、強誘電体FET(FeFET)、又はカーボンナノチューブ又はスピントロニックデバイスのようなトランジスタ機能を実装する他のデバイスを含む。MOSFETの対称的なソース及びドレイン端子は、すなわち、同一の端子であり、ここでは交換可能に使用される。一方、TFETデバイスは、非対称のソース端子及びドレイン端子を有する。当業者は、他のトランジスタ、例えば、バイポーラ接合トランジスタ(BJT PNP/NPN)、BiCMOS、CMOSなどが、本開示の範囲から逸脱することなく使用することができることを理解するであろう。
本明細書では「スーパーバイザ」という用語は、概して、電力コントローラ、又は電力管理ユニット(「p-ユニット」)を指し、これは、単独で、又は1つ以上の他のp-ユニットと協働して、1つ以上の関連する電力ドメインの電力及びパフォーマンス関連パラメータを監視及び管理する。電力/パフォーマンス関連パラメータは、ドメイン電力、プラットフォーム電力、電圧、電圧ドメイン電流、ダイ電流、ロードライン、温度、利用率、クロック周波数、処理効率、現在/将来のワークロード情報、及び他のパラメータを含むが、これらに限定されない。それは、1つ以上のドメインのための新しい電力又はパフォーマンスパラメータ(限界、平均動作など)を決定し得る。次いで、これらのパラメータは、1つ以上のファブリック及び/又は相互接続を介して、スーパーバイジーp-ユニットに、又は、VR若しくはクロックスロットル制御レジスタなどの制御又は監視されたエンティティに直接的に、伝達され得る。スーパーバイザは、1つ又は複数のダイのワークロード(現在及び将来)、1つ又は複数のダイの電力測定値、及び他のパラメータ(例えば、プラットフォームレベルの電力境界)を知り、1つ又は複数のダイの新しい電力限界を決定する。次いで、これらの電力限界は、スーパーバイザp-ユニットによって、1つ以上のファブリック及び/又は相互接続を介してスーパーバイジーp-ユニットに伝達される。ダイが1つのp-ユニットを有する例では、スーパーバイザ(Svor)p-ユニットは、スーパーバイザダイとも呼ばれる。
ここで、「スーパーバイジー」という用語は、概して、電力コントローラ又は電力管理ユニット(「p-ユニット」)を指し、これは、単独で又は1つ以上の他のp-ユニットと協働して、1つ以上の関連する電力ドメインの電力及びパフォーマンス関連パラメータを監視及び管理し、スーパーバイザから、その関連する電力ドメインの電力及び/又はパフォーマンスパラメータ(例えば、供給電圧、動作周波数、最大電流、スロットリング閾値など)を設定する指示を受信する。ダイが1つのp-ユニットを有する例では、スーパーバイジー(Svee)p-ユニットは、スーパーバイジーダイとも呼ばれ得る。p-ユニットは、Svor、Svee、又はSvor/Svee p-ユニットの両方として機能し得ることに留意されたい。
本明細書では、用語「プロセッサコア」は、概して、他のコアと並列に一度に1つのプログラムスレッドを実行することができる独立した実行ユニットを指す。プロセッサコアは、スーパーバイザ又はスーパーバイジーとして動的又は静的に構成されることができる専用の電力コントローラ又は電力制御ユニット(p-ユニット)を含み得る。この専用のp-ユニットはまた、いくつかの例では、自律的なp-ユニットとも呼ばれる。いくつかの例では、すべてのプロセッサコアは、同じサイズ及び機能、すなわち、対称コアである。しかし、プロセッサコアは非対称であることもできる。例えば、いくつかのプロセッサコアは、他のプロセッサコアとは異なるサイズ及び/又は機能を有する。プロセッサコアは、仮想プロセッサコア又は物理プロセッサコアとすることができる。
本明細書では、「ダイ」という用語は、概して、プロセッサコアを構成するトランジスタ又は他のコンポーネントが存在し得る、半導体材料(例えば、シリコン)の単一の連続片を指す。マルチコアプロセッサは、単一のダイ上に2つ以上のプロセッサを有し得るが、2つ以上のプロセッサは、2つ以上のそれぞれのダイ上に設けられてもよい。各ダイは、スーパーバイザ又はスーパーバイジーとして動的又は静的に構成されることができる専用の電力コントローラ又は電力制御ユニット(p-ユニット)を有する。いくつかの例では、ダイは、同じサイズ及び機能、すなわち、対称コアである。しかし、ダイは非対称であることもできる。例えば、幾つかのダイは、他のダイとは異なるサイズ及び/又は機能を有する。
本明細書では、「相互接続」という用語は、2つ以上のポイント又はノード間の通信リンク又はチャネルを指す。それは、ワイヤ、ビア、導波管、パッシブコンポーネント、及び/又はアクティブコンポーネントなどの1つ以上の別々の伝導経路を含み得る。それはまた、ファブリックも含み得る。
本明細書では、「インタフェース」という用語は、概して、相互接続と通信するために使用されるソフトウェア及び/又はハードウェアを指す。インタフェースは、相互接続又は1つ以上のワイヤを介してデータを送受信するためのロジック及びI/Oドライバ/レシーバを含み得る。
本明細書では、「ファブリック」という用語は、概して、ソース、宛先、ルーティングルール、トポロジ、及び他のプロパティの既知のセットを有する通信メカニズムを指す。ソース及び宛先は、電力管理ユニットなどの、任意のタイプのデータ処理機能ユニットであり得る。ファブリックは、ダイのx-y平面に沿って広がる二次元、及び/又は垂直及び水平に配置されたダイのスタックのx-y-z平面に沿って広がる三次元(3D)であることができる。単一のファブリックが複数のダイにまたがり得る。ファブリックは、メッシュトポロジ、スタートポロジ、デイジーチェーントポロジなどの任意のトポロジをとることができる。ファブリックは、複数のエージェントを有するネットワークオンチップ(NoC)の一部であり得る。これらのエージェントは、任意の機能ユニットであり得る。
本明細書では、用語「ダイレット」又は「チップレット」は、概して、物理的に別個の半導体ダイを指し、典型的には、ダイ境界を横切るファブリックが、2つの別個のファブリックとしてではなく、単一のファブリックのように機能することを可能にする方法で、隣接するダイに接続される。従って、少なくともいくつかのダイはダイレットであり得る。各ダイレットは、スーパーバイザ、スーパーバイジー、又はその両方として動的又は静的に構成されることができる1つ以上のp-ユニットを含み得る。
本明細書では、「ドメイン」という用語は、概して、類似の特性(例えば、供給電圧、動作周波数、回路又はロジックの種類、及び/又はワークロードの種類)を有する、及び/又は特定のエージェントによって制御される論理的又は物理的境界を指す。例えば、ドメインは、特定のスーパーバイザによって制御されるロジックユニット又は機能ユニットのグループであり得る。ドメインは、また、自律境界(AP)とも呼ばれ得る。ドメインは、システムオンチップ(SoC)全体又はSoCの一部とすることができ、p-ユニットによって支配される。
明細書において、「実施形態」、「一実施形態」、「いくつかの実施形態」又は「他の実施形態」への言及は、実施形態に関連して記載された特定の特徴、構造又は特性が少なくともいくつかの実施形態に含まれていることを意味するが、必ずしもすべての実施形態に含まれているわけではない。「実施形態」、「一実施形態」又は「いくつかの実施形態」の様々な出現は、必ずしも全て同一の実施形態を参照しているわけではない。明細書が含まれ「てよい」、「るかもしれない」、又は「得る」と記載している場合、その特定のコンポーネント、特徴、構造又は特性は含まれる必要はない。明細書又は請求項が「1つの(「a」又は「an」)」要素に言及している場合、それは要素のうちの1つのみがあることを意味するものではない。明細書又は請求項が「追加の」要素に言及している場合、追加の要素のうちの1つ以上が存在することを妨げるものではない。
さらに、特定の特徴、構造、機能、又は特性は、1つ又は複数の実施形態において任意の適切な方法で組み合わせることができる。例えば、第1の実施形態は、2つの実施形態に関連する特定の特徴、構造、機能、又は特性が相互に排他的でない場合には、いつでも第2の実施形態と組み合わされてよい。
本開示は、その特定の実施形態に関連して説明されてきたが、そのような実施形態の多くの代替、修正、及び変形は、前述の説明に照らして当業者には明らかであろう。本開示の実施形態は、添付の特許請求の範囲の広い範囲内に入るように、すべてのそのような代替、修正、及び変形を包含することが意図される。
加えて、説明及び考察を簡単にするために、また開示を不明瞭にしないために、集積回路(IC)チップ及び他のコンポーネントに対する周知の電力/グラウンド接続が、提示された図の中に示されても示されていなくてもよい。さらに、構成は、開示を曖昧にすることを避けるために、また、そのようなブロック図構成の実施に関する詳細が、本開示が実施されるプラットフォームに大きく依存するという事実を考慮して、ブロック図形式で示され得る(すなわち、そのような詳細は、十分に当業者の範囲内であるべきである)。本開示の例示的な実施形態を説明するために特定の詳細(例えば、回路)が記載される場合、本開示は、これらの特定の詳細を伴わずに、又はそれらの変形を伴って実施され得ることが、当業者には明らかであるはずである。本記載は、したがって、限定するものでなく例示するものとしてみなされるべきである。
以下の例は、さらなる実施形態に関する。例における詳細は、1つ又は複数の実施形態のどこでも使用することができる。本明細書に記載される装置の全てのオプションの特徴はまた、方法又はプロセスに関しても実施され得る。これらの例は、任意の組み合わせで組み合わせることができる。例えば、例4は、例2と組み合わせることができる。
例1:記憶されたマシン読取可能命令を有するマシン読取可能記憶媒体であって、前記マシン読取可能命令は、実行されるとき、1つ又は複数のマシンに:USB-Cデバイスのホストシステムへの接続を検出するステップと;検出に基づいてUSB-Cデバイスの帯域幅構成を決定するステップと;帯域幅構成に基づいてUSB-Cデバイスの動作の電力モードについてポリシーマネージャに指示するステップと;を含む方法を実行させる、マシン読取可能記憶媒体。
例2:実行されるとき、1つ又は複数のマシンに:USB-Cデバイスによって明らかにされるビルボードクラスを解析するステップを含む方法を実行させる、記憶されたマシン読取可能命令を有する、例1のマシン読取可能記憶媒体。
例3:実行されるとき、1つ又は複数のマシンに:解析されたビルボードクラスから、USB-Cデバイスのサポートされた帯域幅構成に関する情報を抽出するステップを含む方法を実行させる、記憶されたマシン読取可能命令を有する、例2のマシン読取可能記憶媒体。
例4:ビルボードクラスを解析するステップはコアバスドライバを介する、例2のマシン読取可能記憶媒体。
例5:ポリシーマネージャは、USB-Cデバイスに関連付けられたデバイスポリシーマネージャファームウェアである、例1のマシン読取可能記憶媒体。
例6:電力モードについてポリシーマネージャに指示するステップはAPIを介する、例1のマシン読取可能記憶媒体。
例7:電力モードは、完全機能モード又は基本機能モードのうちの1つである、例1のマシン読取可能記憶媒体。
例8:1つ又は複数のマシンは、組み込みコントローラの一部である、例1のマシン読取可能記憶媒体。
例9:1つ又は複数のマシンは、システムオンチップの一部である、例1のマシン読取可能記憶媒体。
例10:1つ又は複数のプロセッサコアと、1つ又は複数のプロセッサコアに結合された電力マネージャと、を有する装置であって、電力マネージャは:装置を有するホストシステムへのUSB-Cデバイスの接続を検出し;検出に基づいてUSB-Cデバイスの帯域幅構成を決定し;帯域幅構成に基づいてUSB-Cデバイスの動作の電力モードについてポリシーマネージャに指示する;装置。
例11:電力マネージャは、USB-Cデバイスによって明らかにされるビルボードクラスを解析する、例10の装置。
例12:電力マネージャは、解析されたビルボードクラスからUSB-Cデバイスのサポートされた帯域幅構成に関する情報を抽出する、例11の装置。
例13:電力マネージャは、コアバスドライバを介してビルボードクラスを解析する、例11の装置。
例14:ポリシーマネージャは、USB-Cデバイスに関連付けられたデバイスポリシーマネージャファームウェアである、例10の装置。
例15:電力モードは、完全機能モード又は基本機能モードのうちの1つである、例10の装置。
例16:1つ又は複数のプロセッサコアは、組み込みコントローラの一部である、例10の装置。
例17:1つ又は複数のプロセッサコアは、システムオンチップの一部である、例10の装置。
例18:電力マネージャは、オペレーティングシステム、組み込みコントローラ、及び/又は電力制御ユニットの一部である、例10の装置。
例19:メモリと、メモリに結合されたプロセッサと、プロセッサが他のデバイスと通信することを可能にする無線インタフェースと、プロセッサに通信可能に結合されたUSB-Cポートとを有するシステムであって、プロセッサは:USB-CポートへのUSB-Cデバイスの接続を検出し;検出に基づいてUSB-Cデバイスの帯域幅構成を決定し;帯域幅構成に基づいてUSB-Cデバイスの動作の電力モードについてポリシーマネージャに指示する、システム。
例20:プロセッサは:USB-Cデバイスによって明らかにされるビルボードクラスを解析し、解析されたビルボードクラスから、USB-Cデバイスのサポートされた帯域幅構成に関する情報を抽出する、例19のシステム。
読者が技術開示の性質及び要旨を確認することを可能にする要約が提供される。要約は、請求項の範囲又は意味を限定するために使用されないという理解の下に提出される。以下の請求項は、詳細な説明に組み込まれ、各請求項は、それ自体が別個の実施形態として存在する。

Claims (20)

  1. 記憶されたマシン読取可能命令を有するマシン読取可能記憶媒体であって、前記マシン読取可能命令は、実行されるとき、1つ又は複数のマシンに:
    USB-Cデバイスのホストシステムへの接続を検出するステップと;
    前記検出に基づいて前記USB-Cデバイスの帯域幅構成を決定するステップと;
    前記帯域幅構成に基づいて前記USB-Cデバイスの動作の電力モードについてポリシーマネージャに指示するステップと;を含む方法を実行させる、
    マシン読取可能記憶媒体。
  2. 実行されるとき、前記1つ又は複数のマシンに:
    前記USB-Cデバイスによって明らかにされるビルボードクラスを解析するステップを含む前記方法を実行させる、前記記憶されたマシン読取可能命令を有する、請求項1に記載のマシン読取可能記憶媒体。
  3. 実行されるとき、前記1つ又は複数のマシンに:解析された前記ビルボードクラスから、前記USB-Cデバイスのサポートされた帯域幅構成に関する情報を抽出するステップを含む前記方法を実行させる、前記記憶されたマシン読取可能命令を有する、請求項2に記載のマシン読取可能記憶媒体。
  4. 前記ビルボードクラスを解析するステップはコアバスドライバを介する、請求項2又は3に記載のマシン読取可能記憶媒体。
  5. 前記ポリシーマネージャは、前記USB-Cデバイスに関連付けられたデバイスポリシーマネージャファームウェアである、請求項1乃至4のいずれか1項に記載のマシン読取可能記憶媒体。
  6. 前記電力モードについて前記ポリシーマネージャに指示するステップはAPIを介する、請求項1乃至5のいずれか1項に記載のマシン読取可能記憶媒体。
  7. 前記電力モードは、完全機能モード又は基本機能モードのうちの1つである、
    請求項1乃至6のいずれか1項に記載のマシン読取可能記憶媒体。
  8. 前記1つ又は複数のマシンは、組み込みコントローラの一部である、請求項1乃至7のいずれか1項に記載のマシン読取可能記憶媒体。
  9. 前記1つ又は複数のマシンは、システムオンチップの一部である、請求項1乃至8のいずれか1項に記載のマシン読取可能記憶媒体。
  10. 1つ又は複数のプロセッサコアと;
    前記1つ又は複数のプロセッサコアに結合された電力マネージャと;を有する装置であって、前記電力マネージャは:
    前記装置を有するホストシステムへのUSB-Cデバイスの接続を検出し;
    前記検出に基づいて前記USB-Cデバイスの帯域幅構成を決定し;
    前記帯域幅構成に基づいて前記USB-Cデバイスの動作の電力モードについてポリシーマネージャに指示する;
    装置。
  11. 前記電力マネージャは、前記USB-Cデバイスによって明らかにされるビルボードクラスを解析する、請求項10に記載の装置。
  12. 前記電力マネージャは、解析された前記ビルボードクラスから前記USB-Cデバイスのサポートされた帯域幅構成に関する情報を抽出する、請求項11に記載の装置。
  13. 前記電力マネージャは、コアバスドライバを介して前記ビルボードクラスを解析する、請求項11又は12に記載の装置。
  14. 前記ポリシーマネージャは、前記USB-Cデバイスに関連付けられたデバイスポリシーマネージャファームウェアである、請求項10乃至13のいずれか1項に記載の装置。
  15. 前記電力モードは、完全機能モード又は基本機能モードのうちの1つである、請求項10乃至14のいずれか1項に記載の装置。
  16. 前記1つ又は複数のプロセッサコアは、組み込みコントローラの一部である、請求項10乃至15のいずれか1項に記載の装置。
  17. 前記1つ又は複数のプロセッサコアは、システムオンチップの一部である、請求項10乃至16のいずれか1項に記載の装置。
  18. 前記電力マネージャは、オペレーティングシステム、組み込みコントローラ、及び/又は電力制御ユニットの一部である、請求項10乃至17のいずれか1項に記載の装置。
  19. メモリと;
    前記メモリに結合されたプロセッサと;
    前記プロセッサが他のデバイスと通信することを可能にする無線インタフェースと;
    前記プロセッサに通信可能に結合されたUSB-Cポートと;を有するシステムであって、前記プロセッサは:
    前記USB-CポートへのUSB-Cデバイスの接続を検出し;
    前記検出に基づいて前記USB-Cデバイスの帯域幅構成を決定し;
    前記帯域幅構成に基づいて前記USB-Cデバイスの動作の電力モードについてポリシーマネージャに指示する、
    システム。
  20. 前記プロセッサは:
    前記USB-Cデバイスによって明らかにされるビルボードクラスを解析し;
    解析された前記ビルボードクラスから、前記USB-Cデバイスのサポートされた帯域幅構成に関する情報を抽出する、
    請求項19に記載のシステム。
JP2021185547A 2020-12-19 2021-11-15 動的usb-cモード選択ospmポリシー方法及び装置 Pending JP2022097390A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/128,075 US20220197842A1 (en) 2020-12-19 2020-12-19 Dynamic usb-c mode selection ospm policy method and apparatus
US17/128,075 2020-12-19

Publications (1)

Publication Number Publication Date
JP2022097390A true JP2022097390A (ja) 2022-06-30

Family

ID=81847470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021185547A Pending JP2022097390A (ja) 2020-12-19 2021-11-15 動的usb-cモード選択ospmポリシー方法及び装置

Country Status (3)

Country Link
US (1) US20220197842A1 (ja)
JP (1) JP2022097390A (ja)
DE (1) DE102021132804A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11742754B2 (en) * 2019-10-25 2023-08-29 Intel Corporation Enhanced constant-on-time buck intellectual property apparatus and method
US20210208668A1 (en) * 2021-03-16 2021-07-08 Intel Corporation Apparatus and method to reduce standby power for systems in battery mode with a connected bus powered device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898654B1 (en) * 1999-07-29 2005-05-24 Microsoft Corporation Method and system for managing bandwidth on a master-slave bus
US10567069B2 (en) * 2016-04-28 2020-02-18 Netgear, Inc. Repeater bandwidth, radio configuration, and ADC clock speed adjustment
US11068041B2 (en) * 2017-06-13 2021-07-20 Intel Corporation Method to enhance device policy management (DPM) power sharing for USB Type-C (USB-C) only devices

Also Published As

Publication number Publication date
US20220197842A1 (en) 2022-06-23
DE102021132804A1 (de) 2022-06-23

Similar Documents

Publication Publication Date Title
US20220197519A1 (en) Multi-level memory system power management apparatus and method
US11809250B2 (en) Workload aware power limiting and multiple-input multiple-output control
US11940855B2 (en) Apparatus and method for dynamic reallocation of processor power by throttling processor to allow an external device to operate
US11742754B2 (en) Enhanced constant-on-time buck intellectual property apparatus and method
US11842202B2 (en) Apparatus and method for dynamic selection of an optimal processor core for power-up and/or sleep modes
JP2022097390A (ja) 動的usb-cモード選択ospmポリシー方法及び装置
US20220391003A1 (en) Power management of a processor and a platform in active state and low power state
JP2022036904A (ja) エネルギー効率の良いコア電圧選択装置及び方法
CN115514036A (zh) 自适应突发功率和快速电池充电装置和方法
CN117597649A (zh) 热优化功率输送
CN115378253A (zh) 计算型电流传感器
US20220197367A1 (en) Hardware and software coordinated cost-aware low power state selection
CN114253382A (zh) 统一保留和唤醒夹钳装置和方法
JP2021193544A (ja) 高速で動的なキャパシタンス、周波数、及び/又は電圧スロットリング装置及び方法
EP4092864A1 (en) Power delivery architecture for high power portable devices
EP4020126A1 (en) Secure device power-up apparatus and method
US20220197364A1 (en) Power management for universal serial bus (usb) type-c port
US20210167014A1 (en) Apparatus and method to increase effective capacitance with layout staples
CN115441867A (zh) 锁相环辅助的快速启动装置和方法
US11791819B2 (en) Low power flip-flop with reduced parasitic capacitance
US20210208668A1 (en) Apparatus and method to reduce standby power for systems in battery mode with a connected bus powered device
US11954501B2 (en) Apparatus and method for restoring a password-protected endpoint device to an operational state from a low power state
CN117120817A (zh) 水平或垂直堆叠管芯的热管理
CN115373505A (zh) 用于处理器的功率优化定时器模块