JP2023509857A - メモリ物理層内のコアロジックに対する電力動作状態 - Google Patents
メモリ物理層内のコアロジックに対する電力動作状態 Download PDFInfo
- Publication number
- JP2023509857A JP2023509857A JP2022536945A JP2022536945A JP2023509857A JP 2023509857 A JP2023509857 A JP 2023509857A JP 2022536945 A JP2022536945 A JP 2022536945A JP 2022536945 A JP2022536945 A JP 2022536945A JP 2023509857 A JP2023509857 A JP 2023509857A
- Authority
- JP
- Japan
- Prior art keywords
- core logic
- memory
- operating state
- power
- voltage regulator
- 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
Links
- 230000006870 function Effects 0.000 claims abstract description 11
- 230000006386 memory function Effects 0.000 claims abstract description 7
- 230000000694 effects Effects 0.000 claims description 88
- 230000007704 transition Effects 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 12
- 230000014759 maintenance of location Effects 0.000 claims description 10
- 230000000717 retained effect Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000003446 memory effect Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 description 42
- 239000004744 fabric Substances 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006855 networking Effects 0.000 description 6
- 230000009467 reduction Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 230000001105 regulatory effect Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 208000003028 Stuttering Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F1/00—Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
- G05F1/10—Regulating voltage or current
- G05F1/46—Regulating voltage or current wherein the variable actually regulated by the final control device is dc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Power Sources (AREA)
- Static Random-Access Memory (AREA)
- Continuous-Control Power Sources That Use Transistors (AREA)
- Dc-Dc Converters (AREA)
Abstract
電子デバイスは、メモリ回路と、メモリ機能ブロックの動作を制御するコアロジックを有するメモリ物理層(PHY)機能ブロックと、を含むメモリ機能ブロックと、メモリPHY電圧レギュレータと、システム電圧レギュレータと、コントローラと、を有する。電子デバイスは、メモリPHY電圧レギュレータの出力に結合された入力を有するスイッチと、システム電圧レギュレータの出力に結合された別の入力と、コアロジックの電源入力に結合された出力と、を含む。コントローラは、メモリPHY電圧レギュレータからコアロジックに全電力動作状態で電力が供給されるように、スイッチを設定する。コントローラは、システム電圧レギュレータからコアロジックに1つ以上の低電力動作状態で電力が供給されるように、スイッチを設定する。【選択図】図5
Description
多くの電子デバイスについて、特にバッテリーから供給される電力を使用して動作する電子デバイスについては、電力消費は重要な懸念事項である。したがって、一部の電子デバイスは、動作中に電子デバイスが電力を節約するのを支援するために使用される低電力動作状態をサポートする。例えば、一部の電子デバイスは、電子デバイス内の回路(例えば、集積回路、ディスクリートコンポーネント等)に提供される電圧が、全電力動作状態において回路に提供される電圧と比較して低減される、少なくとも1つの低電力動作状態をサポートする。電力消費は、回路で使用される電圧に比例するので、少なくとも1つの低電力動作状態で電圧を低減することは、こうした電子デバイスによって消費される電力を低減する効果を有する。他の例として、電子デバイスは、電力を節約するために、電流、クロック周波数の制御、動作速度等の動作パラメータが、単独で又は相互の(及び/又は電圧との)組み合わせで低減される低電力動作状態をサポートすることができる。
低電力動作状態は、電子デバイスが電力を節約するのを補助する上で有益であるが、低電力動作状態は、それ自体の非効率性と関連付けられる可能性がある。例えば、電子デバイス内の他の回路に電力を供給する電力回路は、他の回路に対して最大電力負荷において効果的に動作するように設計及び提供されている場合があり、より低電力動作状態では非効率的に動作する場合がある。例えば、最大電力負荷用に提供されているが、比較的高い入力電圧を低電力動作状態の回路に提供されるより低い電圧に低減するためにも使用される電圧レギュレータは、それ自体が低電力において顕著な電力損失を経験する場合がある。別の例として、低電力状態に入ること及び低電力状態から出ることは、比較的遅い可能性があり及び/又は著しい労力が必要であり、これは、動作状態間の移行において望ましくない遅延につながる可能性がある。例えば、電子デバイスは、低電力動作状態で所定の電圧を下回る電圧に低減する前に電子デバイスを動作状態で保管し、その後、より高い電力が供給される動作状態で動作を再開する前に動作状態を復元する必要がある場合がある。
図面及び説明の全体を通じて、同一の符号は同一の図の要素を指す。
以下の説明は、全ての当業者が、記載された実施形態を生成及び使用することを可能にするために提示され、また特定の用途及びその要件に照らして提供される。記載された実施形態に対する様々な変更は、当業者には容易に明らかであり、本明細書で定義される一般的原理は、他の実施形態及び用途に適用されてもよい。したがって、記載された実施形態は、示した実施形態に限定されず、本明細書で開示される原理及び特徴と一致する最も広い範囲が与えられるべきである。
(用語)
以下の説明では、様々な用語は、実施形態を説明するために使用される。以下は簡略化されたものであり、これらの用語の1つの概要である。この用語は、明確及び簡潔にするために、本明細書に列挙されない重要な追加の態様を有してもよく、ひいては、説明は、用語を限定することが意図されないことに留意されたい。
以下の説明では、様々な用語は、実施形態を説明するために使用される。以下は簡略化されたものであり、これらの用語の1つの概要である。この用語は、明確及び簡潔にするために、本明細書に列挙されない重要な追加の態様を有してもよく、ひいては、説明は、用語を限定することが意図されないことに留意されたい。
機能ブロック:機能ブロックは、集積回路要素/回路、ディスクリート回路要素/回路等の1つ以上の相互に関連する回路要素のグループ、集合及び/又はセットを指す。回路要素は、回路要素が少なくとも1つの属性を共有するという点で「相互に関連」している。例えば、相互に関連する回路要素は、特定の集積回路チップ、基板、回路基板、又は、その一部に対し、その中に含まれ、その上に組み立てられ、又は、別の方法で連結されてもよく、所定の機能(計算又は処理機能、メモリ機能等)の実施に関与してもよく、共通の制御要素及び/又は共通クロック等によって制御されてもよい。機能ブロックは、単一の回路要素(例えば、単一の集積回路論理ゲート又はディスクリート回路要素)から数百万又は数十億の回路要素(例えば、集積回路メモリ)までの任意の数の回路要素を有する回路を含むことができる。
(概要)
説明する実施形態では、電子デバイスには、ファブリック(例えば、1つ以上のバス、相互接続、ネットワーク等)を介して通信可能に連結される処理サブシステム、ディスプレイサブシステム、メディア処理サブシステム及びメモリサブシステム等のサブシステムが含まれる。メモリサブシステムには、データのコピー(例えば、計算動作、命令、制御、又は構成値等からの入力又は結果)を格納するためのメモリ回路、及び、メモリ内に格納されたデータにアクセスするためのメモリ物理層(PHY)回路が含まれる。メモリPHYには、メモリへのアクセスを管理するだけでなく、メモリサブシステム内の他の動作を制御するコアロジック回路が含まれる。電子デバイスには、電子デバイス内のサブシステムに電力を供給するいくつかの電圧レギュレータも含まれる。電圧レギュレータには、メディア処理サブシステム、ディスプレイサブシステム及びファブリックの少なくとも一部に電力を供給するシステム電圧レギュレータと、メモリサブシステムに電力を供給するメモリPHY電圧レギュレータと、が含まれる。説明する実施形態では、システム電圧レギュレータ及びメモリPHY電圧レギュレータは、コアロジックに対して対応する動作状態でコアロジックへと電力を供給するために選択的に使用される。
説明する実施形態では、電子デバイスには、ファブリック(例えば、1つ以上のバス、相互接続、ネットワーク等)を介して通信可能に連結される処理サブシステム、ディスプレイサブシステム、メディア処理サブシステム及びメモリサブシステム等のサブシステムが含まれる。メモリサブシステムには、データのコピー(例えば、計算動作、命令、制御、又は構成値等からの入力又は結果)を格納するためのメモリ回路、及び、メモリ内に格納されたデータにアクセスするためのメモリ物理層(PHY)回路が含まれる。メモリPHYには、メモリへのアクセスを管理するだけでなく、メモリサブシステム内の他の動作を制御するコアロジック回路が含まれる。電子デバイスには、電子デバイス内のサブシステムに電力を供給するいくつかの電圧レギュレータも含まれる。電圧レギュレータには、メディア処理サブシステム、ディスプレイサブシステム及びファブリックの少なくとも一部に電力を供給するシステム電圧レギュレータと、メモリサブシステムに電力を供給するメモリPHY電圧レギュレータと、が含まれる。説明する実施形態では、システム電圧レギュレータ及びメモリPHY電圧レギュレータは、コアロジックに対して対応する動作状態でコアロジックへと電力を供給するために選択的に使用される。
説明する実施形態では、電子デバイスは、メモリPHY内のコアロジックに対するいくつかの動作状態をサポートする。動作状態には、全電力動作状態及びいくつかの低電力動作状態が含まれ、動作状態の各々により、電力はコアロジックへと供給されるそれぞれの異なる電圧と関連付けられる。一般的に、全電力動作状態の場合、コアロジックには電力が全電力電圧で供給され、したがって典型的な動作又は通常な動作をする(すなわち、電圧レベルの低減による性能の低減を有しない)。低電力動作状態のそれぞれに対して、コアロジックにはそれぞれの低減された電圧レベルで電力が提供され、したがって対応する低下した性能で動作する。
いくつかの実施形態では、メモリPHY内のコアロジックに対する全電力動作状態については、コアロジックには、メモリPHY内(又は電子デバイス内の何れか)のローカル低ドロップアウト(LDO)電圧レギュレータを介してメモリPHY電圧レギュレータによって電力が供給される。メモリ回路及びメモリPHY内の入力出力(IO)回路にも電力を供給するメモリPHY電圧レギュレータは、より高い電圧で(例えば、メモリ回路及びIO回路を動作するのに十分な電圧で)電力を供給する。LDOは、メモリPHY電圧レギュレータの電力出力を受容し、そしてコアロジックに全電力電圧(例えば、0.6V又は別の電圧)で電力を供給する。メモリPHY内のコアロジックに対する低電力動作状態については、コアロジックにはシステム電圧レギュレータから電力が供給される。低電力動作状態では、電力はシステム電圧レギュレータから直接コアロジックに供給され、ローカルLDO電圧レギュレータがバイパスされる(そして場合によっては電源を切る)。ディスプレイサブシステム及びメディア処理サブシステムにも電力を供給するシステム電圧レギュレータは、アクティビティ及び/又は電子デバイス若しくはその内部の機能ブロックのビジー状態に関連する基準に基づいて様々な電圧レベルで電力を供給する。
いくつかの実施形態では、低電力動作状態は、「低アクティビティ」動作状態を含み、その間、システム電圧レギュレータは、全電力電圧より低い低アクティビティ電圧(例えば、0.5V又は別の電圧)でコアロジックへと電力を供給する。低アクティビティ電圧は、コアロジック内の回路が制限された動作を継続するのに十分であるが、コアロジックが対応する性能の低減を経験するのに十分なほど低い(例えば、全電力動作状態におけるよりゆっくりと動作を実行する)。また、低電力動作状態は、「保持」動作状態を含み、その間、システム電圧レギュレータは、低アクティビティ電圧より低い電圧(例えば、0.4V又は別の電圧)でコアロジックへと電力を供給する。保持電圧は、コアロジック内の回路が確実な動作を継続するためには不十分であるが、コアロジック内の回路に対する状態情報を保持するためには十分である。低電力動作状態には、「電源オフ」動作状態がさらに含まれ、その間は、システム電圧レギュレータはコアロジックに如何なる電力も供給しない。
説明する実施形態では、メモリPHY内のコアロジックは、電圧レギュレータから電力を受容し、電子デバイスは、その電圧レギュレータを制御するために使用される2入力1出力スイッチ回路を含む。スイッチの第1の入力は、メモリPHY電圧レギュレータの電源出力に連結され、スイッチの第2の入力は、システム電圧レギュレータの電力出力に連結され、スイッチの出力は、コアロジックの電源入力に連結される。全電力動作状態については、メモリPHY電圧レギュレータがローカルLDOを介してコアロジックへと電力を供給するように、電子デバイス内のコントローラがスイッチを設定する。低アクティビティ状態、保持状態及び電力オフ状態については、コントローラは、システム電圧レギュレータが電力をコアロジックへと供給するようにスイッチを設定する。
いくつかの実施形態では、電子デバイス内のコントローラは、コアロジックのメモリアクセスアクティビティ及びビジー状態/アイドル状態をモニタし、メモリアクセスアクティビティの速度及び/又はコアロジックに対するアイドル状態の期間の長さに基づいてコアロジックの動作状態を設定する。これらの実施形態では、コントローラは、電子デバイスにおけるメモリアクセスアクティビティをモニタし、そしてメモリアクセスアクティビティが速度閾値を上回る場合(例えば、過去Mミリ秒においてN回のメモリアクセス等)、全電力動作状態に対してメモリPHY電圧レギュレータがコアロジックへと電力を供給するようにスイッチを設定する。一方で、コントローラは、メモリアクセスアクティビティが速度閾値を下回る場合、システム電圧レギュレータが、低電力動作状態のうち1つの状態でコアロジックへと電力を供給するように、スイッチを設定する。
いくつかの実施形態では、低電力動作状態に関して、メモリアクセスアクティビティが速度閾値を下回っているが、少なくともいくらかのメモリアクセスアクティビティがある限り、コントローラは、メモリPHY内のコアロジックを低アクティビティ動作に維持する。この場合、コントローラ(又は電子デバイス内の別のエンティティ)は、システム電圧レギュレータを設定して、コアロジックへと低アクティビティ電圧で電力を供給する。しかしながら、メモリアクセスアクティビティがない場合、コントローラは、コアロジックのアイドル状態に基づいて、保持動作状態又は電源オフ動作状態のうち何れかでコアロジックを設定する。より具体的には、コントローラは、コアロジックがアイドル状態である期間、すなわち、割り込みの処理等の1つ以上の特定のアクティビティを実行していない期間をモニタする。コアロジックが時間閾値より長さが短いアイドル期間を経験する場合、コントローラは、システム電圧レギュレータを設定して、コアロジックへと保持動作状態における保持電圧で電力を供給する。コアロジックが、長さが時間閾値より長いアイドル期間を経験する場合、コントローラは、システム電圧レギュレータを設定して、電源オフ動作状態でコアロジックに如何なる電力も供給しない。いくつかの実施形態では、電源オフ動作状態を使用することは、コアロジック動作状態情報(例えば、レジスタ値等)をメモリ(例えば、メモリPHY内の状態メモリ)に保存し、その後、電源オフ動作状態以外の動作状態で後続の動作を開始する前に、コアロジック動作状態情報をメモリからコアロジックへと復元することに留意されたい。
いくつかの実施形態では、コントローラは、コントローラがメモリPHY内のコアロジックに対する動作状態を切り替える速度を制限する1つ以上の動作状態変化制限機構を含む。例えば、コントローラは、以前の動作状態切り替え(例えば、全電力動作状態から低アクティビティ動作状態へ等)の記録を維持し、その記録を使用して、動作状態を切り替える速度を決定してもよい。コントローラは、記録に基づいて一部又は全てのスイッチを制限してもよい。例えば、動作状態切り替え速度が閾値より高い場合、コントローラは、(コアロジックをより低い電力動作状態に自動的に切り替えるのではなく)より高い電力動作状態にコアロジックを優先的に維持してもよい。別の例として、コントローラは、コアロジックに対する動作状態を切り替えるかどうかを決定するために、瞬時のメモリアクセスアクティビティレベル及び/又はコアロジックのアイドル期間の長さではなく、メモリアクセスアクティビティレベルの平均、最高/最低若しくは他の値、及び/又は、いくつかの指定された時間にわたるコアロジックのアイドル期間の長さを使用してもよい。
メモリPHY内のコアロジックに対して全電力及び低電力動作状態を使用することによって、説明する実施形態は、メモリアクセスアクティビティ及び/又はコアロジックのアイドル期間に基づいてコアロジックが適切な動作状態にあることを確実にする。これは、可能な場合に電力を節約するのに役立つが、コアロジック、ひいてはメモリサブシステムがメモリアクセス要求に適切に応答することも確実にする。それぞれの全電力動作状態及び低電力動作状態でコアロジックに電力を供給するためにメモリPHY電圧レギュレータ及びシステム電圧レギュレータの組み合わせを使用することによって、説明する実施形態は、電子デバイスにおける電力のより効率的な使用(例えば、より低い動的電力損失等)を可能にする。したがって、電子デバイスは、比較的応答性が高いままだが、電力の不必要な消費を回避し、これは、電子デバイスに対するユーザーのより高い満足につながる。
(電子デバイス)
図1は、いくつかの実施形態による、電子デバイス100を示すブロック図である。図1で見ることができるように、電子デバイス100は、処理サブシステム102と、グラフィックス処理サブシステム104と、ディスプレイサブシステム106と、メディア処理サブシステム108と、メモリサブシステム110と、ファブリックサブシステム114と、を含む。概して、処理サブシステム102、グラフィックス処理サブシステム104、ディスプレイサブシステム106、メディア処理サブシステム108、メモリサブシステム110、ネットワーキングサブシステム112及びファブリックサブシステム114は、ハードウェアで、すなわち、様々な回路、回路要素及びデバイスを使用して実装される機能ブロックである。例えば、処理サブシステム102、グラフィックス処理サブシステム104、ディスプレイサブシステム106、メディア処理サブシステム108、メモリサブシステム110、ネットワーキングサブシステム112及びファブリックサブシステム114は、1つ以上の個別の半導体チップ上を含む1つ以上の半導体チップ上に全体的に製造することができ、ディスクリート回路要素と組み合わせて半導体チップから製造することができ、ディスクリート回路のみから製造すること等ができる。本明細書で説明するように、処理サブシステム102、グラフィックス処理サブシステム104、ディスプレイサブシステム106、メディア処理サブシステム108、メモリサブシステム110、ネットワーキングサブシステム112及びファブリックサブシステム114のうち少なくともいくつかは、メモリサブシステム110のメモリ物理層(PHY)におけるコアロジックに対する動作状態の設定に関連する動作を実行する。
図1は、いくつかの実施形態による、電子デバイス100を示すブロック図である。図1で見ることができるように、電子デバイス100は、処理サブシステム102と、グラフィックス処理サブシステム104と、ディスプレイサブシステム106と、メディア処理サブシステム108と、メモリサブシステム110と、ファブリックサブシステム114と、を含む。概して、処理サブシステム102、グラフィックス処理サブシステム104、ディスプレイサブシステム106、メディア処理サブシステム108、メモリサブシステム110、ネットワーキングサブシステム112及びファブリックサブシステム114は、ハードウェアで、すなわち、様々な回路、回路要素及びデバイスを使用して実装される機能ブロックである。例えば、処理サブシステム102、グラフィックス処理サブシステム104、ディスプレイサブシステム106、メディア処理サブシステム108、メモリサブシステム110、ネットワーキングサブシステム112及びファブリックサブシステム114は、1つ以上の個別の半導体チップ上を含む1つ以上の半導体チップ上に全体的に製造することができ、ディスクリート回路要素と組み合わせて半導体チップから製造することができ、ディスクリート回路のみから製造すること等ができる。本明細書で説明するように、処理サブシステム102、グラフィックス処理サブシステム104、ディスプレイサブシステム106、メディア処理サブシステム108、メモリサブシステム110、ネットワーキングサブシステム112及びファブリックサブシステム114のうち少なくともいくつかは、メモリサブシステム110のメモリ物理層(PHY)におけるコアロジックに対する動作状態の設定に関連する動作を実行する。
処理サブシステム102は、電子デバイス100において計算動作及び他の動作(例えば、制御動作、構成動作等)を実行する機能ブロックである。例えば、処理サブシステム102は、1つ以上のマイクロプロセッサ、中央処理装置(CPU)コア及び/又は他の処理メカニズムとすることができ、又は、それらを含むことができる。
グラフィックス処理サブシステム104は、電子デバイス100において、グラフィック処理(例えば、レンダリング等)に関連する計算動作及び他の動作(例えば、制御動作、構成動作等)及び/又は電子デバイス100において汎用計算動作を実行する機能ブロックである。例えば、処理サブシステム102は、1つ以上の汎用グラフィック処理ユニット(GPGPU)コア及び/又は他のグラフィック処理メカニズムとすることができ、又は、それらを含むことができる。
ディスプレイサブシステム106は、電子デバイス100(図示省略)用のディスプレイ(例えば、ディスプレイ画面)上に情報を表示するための動作を実行する機能ブロックである。ディスプレイサブシステム106は、1つ以上のコントローラ、ドライバ及び/又はディスプレイに情報を提供し、及び/又は、ディスプレイから情報を受信するための他の回路を含む。
メディア処理サブシステム108は、オーディオメディア(例えば、オーディオファイル、オーディオストリーム等)、ビデオメディア(例えば、ビデオファイル、ビデオストリーム等)、触覚、及び/又は、メモリ内(例えば、メモリサブシステム110内)に格納するための他の形式のメディアを処理するため、又は、ネットワークを介してストリーミングするため、及び/又は、スピーカー、ディスプレイ及び/又は他のヒューマンインターフェイスデバイスを介して出力するための動作を実行する機能ブロックである。メディア処理サブシステム108は、1つ以上の受信機、プロセッサ、エンコーダ/デコーダ、コントローラ、ドライバ、及び/又は、メディアを処理するための他の回路を含む。
メモリサブシステム110は、メモリ(例えば、「メイン」メモリ)の動作を実行する機能ブロックである。メモリサブシステム110は、電子デバイス100内の他の機能ブロック、並びに、メモリ回路内に格納されたデータ及び命令へのアクセスを処理し、且つ、他の制御動作又は構成動作を実行するための制御回路によって使用するためのデータ及び命令を格納するための、第4世代ダブルデータレート同期DRAM(DDR4 SDRAM)等の揮発性及び/又は不揮発性メモリ回路、及び/又は、他のタイプのメモリ回路を含む。以下に説明するように、説明する実施形態では、メモリサブシステムは、いくつかの異なる動作状態で動作することができるコア論理回路を有するメモリ物理層(PHY)を含む。
ネットワーキングサブシステム112は、有線及び/又は無線電子通信ネットワーク上での検索、接続、構成、並びに、通信のための動作を実行する機能ブロックである。ネットワーキングサブシステム112は、有線及び/又は無線ネットワーク上で通信するための、トランシーバ、コントローラ、プロセッサ、及び/又は、他の回路を含む。
電子デバイス100は、説明のために簡略化されている。しかしながら、いくつかの実施形態では、電子デバイス100は、追加的な又は異なる機能ブロック、サブシステム、要素、及び/又は、通信経路を含む。例えば、電子デバイス100は、入力出力(I/O)サブシステム等を含んでもよい。概して、電子デバイス100は、本明細書で説明する動作を実行するために十分な機能ブロックを含む。
電子デバイス100は、本明細書で説明する動作を実行する任意のデバイスとすることができ、又は、そのような任意のデバイス内に含めることができる。例えば、電子デバイス100は、デスクトップコンピュータ、ラップトップコンピュータ、ウェアラブルコンピューティングデバイス、タブレットコンピュータ、仮想現実若しくは拡張現実機器、スマートフォン、人工知能(AI)デバイス若しくは機械学習デバイス、サーバ、ネットワークアプライアンス、おもちゃ、視聴覚機器、家電製品、車両等、及び/又は、これらの組み合わせとすることができ、又は、これらに含めることができる。
(電圧レギュレータ)
説明する実施形態では、電子デバイス100は、一組の電圧レギュレータを含み、その各々は、電子デバイス100内のそれぞれの機能ブロックに電力を供給する。図2は、いくつかの実施形態による、電子デバイス100内の電圧レギュレータを示すブロック図である。図2で見ることができるように、電圧レギュレータは、電圧レギュレータ200と、システム電圧レギュレータ204と、メモリ物理層(PHY)電圧レギュレータ210(集合的に「電圧レギュレータ」)と、を含む。電圧レギュレータの各々には、スイッチング電圧レギュレータ又は別のタイプの電圧レギュレータ等の電圧レギュレータ回路が含まれる。例えば、いくつかの実施形態では、電圧レギュレータのいくつか又は全ては、1つ以上の降圧コンバータ又はブーストコンバータであってもよいし、それらを含んでもよい。各電圧レギュレータは、例えば、電子デバイス100内の電力レール又は別の供給源(図示省略)から入力電圧を受容し、調整された電圧で電力を供給する。
説明する実施形態では、電子デバイス100は、一組の電圧レギュレータを含み、その各々は、電子デバイス100内のそれぞれの機能ブロックに電力を供給する。図2は、いくつかの実施形態による、電子デバイス100内の電圧レギュレータを示すブロック図である。図2で見ることができるように、電圧レギュレータは、電圧レギュレータ200と、システム電圧レギュレータ204と、メモリ物理層(PHY)電圧レギュレータ210(集合的に「電圧レギュレータ」)と、を含む。電圧レギュレータの各々には、スイッチング電圧レギュレータ又は別のタイプの電圧レギュレータ等の電圧レギュレータ回路が含まれる。例えば、いくつかの実施形態では、電圧レギュレータのいくつか又は全ては、1つ以上の降圧コンバータ又はブーストコンバータであってもよいし、それらを含んでもよい。各電圧レギュレータは、例えば、電子デバイス100内の電力レール又は別の供給源(図示省略)から入力電圧を受容し、調整された電圧で電力を供給する。
説明する実施形態では、電圧レギュレータの各々によって提供される電力のための特定の調整された電圧は、その電圧レギュレータの回路要素を使用して設定される。各電圧レギュレータの出力を制御するために使用される回路要素は、その電圧レギュレータのタイプ、つまりその内部に存在する回路要素に依存する。例えば、いくつかの実施形態では、所定の電圧レギュレータの回路要素に供給されるバイアス電圧又は基準電圧を指定された値に設定して、それらの回路要素にそれぞれの電圧で電力を供給することを開始させるようにすることができる。別の例として、いくつかの実施形態では、所定の電圧レギュレータ内の増幅器、抵抗器、コンデンサ、インダクタ等は、指定された電圧で所定の電圧レギュレータに電力の供給を開始させるように構成又は設定することができる。別の例として、いくつかの実施形態では、所定の電圧レギュレータに指定された電圧での電力の供給を開始させるために、レジスタ又はメモリ要素内の値が所定の電圧レギュレータに対して1つ以上の制御回路又は制御要素によって使用され、所定の電圧レギュレータに対する出力電圧を指定された値に設定する方法を決定することができる。
いくつかの実施形態では、電圧レギュレータの各々は、電子デバイス100内の機能ブロックのそれぞれの個別のサブセットを含む指定された「ドメイン」へと電力を供給する。例えば、電圧レギュレータ200は、処理サブシステム102、グラフィックス処理サブシステム104及びファブリックサブシステム114の一部(図2にファブリック202として示される)(例えば、特定のバス、ドライバ又は処理サブシステム等で使用される通信相互接続の受信機回路)を含むドメインへと電力を供給する。いくつかの実施形態では、ドメイン、ひいてはそこに含まれる機能ブロックは、構成機能ブロックが様々な動作状態でグループとして動作することができるように構成される。例えば、いくつかの実施形態では、システム電圧レギュレータ204は、電子デバイスの低電力動作状態、電圧レギュレータ200等の他の電圧レギュレータが著しく低い電圧で電力を提供する場合又はいかなる電力も提供しない場合でさえ、典型的に少なくとも部分的にアクティブな機能ブロックを含むドメインに電力を供給する。例えば、メディア処理サブシステム108、ディスプレイサブシステム106及びファブリックサブシステム114の一部(図2にファブリック206として示される)は、低電力であるが、依然としてビデオメディアの復号化及び電子デバイスのディスプレイ上での表示に使用するためのアクティブな動作状態である場合があり、一方で、処理サブシステム102及びグラフィックス処理サブシステム104は、低電圧保持動作状態にあるか又は電源が切られている。これらの実施形態のいくつかでは、システム電圧レギュレータ204が電力を供給する電力ドメインは、その内部の機能ブロックがある特定の低電力モードにおいて対応する動作を実行する(例えば、電子デバイス100のディスプレイ上に情報を表示すること等)ために必要に応じてオン状態とオフ状態との間で切り替えられる、つまり「スタッター」される場合があるので、「スタッター」ドメインと呼ばれる。
図2に示すように、メモリサブシステム110は、メモリ物理層(MEM PHY)コアロジック214と、メモリ物理層(MEMPHY)入力出力(IO)216と、メモリ回路218と、を含む。メモリ回路218は、電子デバイス100内の他の機能ブロックによるアクセス(例えば、読み取り、書き込み、削除、変更等)のためのデータのコピーを格納するために使用されるメモリ回路、及び、メモリ回路内のデータにアクセスするための回路を含む機能ブロックである。例えば、メモリ回路218は、ギガバイト又はテラバイトのデータを格納するための容量を有するDDR4 SDRAD回路のアレイを含んでもよい。メモリPHY IO216は、メモリ回路218から取得したデータを電子デバイス100内の他の機能ブロック(例えば、処理サブシステム102等)に送信するため、及び、電子デバイス100内の他の機能ブロックからメモリ回路218に格納されるデータを受信するための動作を実行する機能ブロックである。メモリPHY IO216には、データの送信及び受信に使用されるドライバ、レシーバ、バッファ等の回路が含まれる。メモリPHYコアロジック214は、メモリ回路218のアクセスを管理するためだけでなく、メモリサブシステム110内の他の動作を制御するための回路を含む機能ブロックである。メモリPHYコアロジック214には、メモリアクセス状態機械回路、メモリアクセスルーティングコントローラ回路、メモリPHYクロック発生回路及びメモリPHY状態情報ストレージメモリ回路等の回路が含まれる。
メモリPHY IO216及びメモリ回路218には、メモリPHY電圧レギュレータ210によって電力が供給される(メモリPHYコアロジック214の動作状態に関係なく)。いくつかの実施形態では、メモリPHY電圧レギュレータ210は、メモリPHY IO216及びメモリ回路218内の回路の信頼性のある動作を可能にするために十分に高く固定され、且つ、実質的に安定した電圧で電力を供給する。
メモリPHYコアロジック214は、スイッチ(SW)212を介して、システム電圧レギュレータ204又はメモリPHY電圧レギュレータ210の何れかから電力が供給される。スイッチ212は、メモリPHYコアロジック214の動作状態に従ってシステム電圧レギュレータ204又はメモリPHY電圧レギュレータ210のうち何れかから電力を選択的に供給するためにコントローラ208によって制御される2入力1出力スイッチ(例えば、マルチプレクサ)である。スイッチ212の入力のうち一方の入力は、メモリPHY電圧レギュレータ210の電力出力に連結され、スイッチ212の他方の入力は、システム電圧レギュレータ204の電力出力に連結され、そしてスイッチ212の出力は、メモリPHYコアロジック214の電源入力に連結される。全電力動作状態の場合、コントローラ208は、スイッチ212のスイッチ制御入力を介してスイッチ212を設定し、その結果、メモリPHY電圧レギュレータ210は、コアロジックに電力を供給する。低アクティビティ動作状態、保持動作状態及び電力オフ動作状態については、コントローラ208は、システム電圧レギュレータ204が電力をメモリPHYコアロジック214に供給するように、スイッチ212を設定する。スイッチ212、並びに、全電力動作状態、低アクティビティ動作状態、保持動作状態及び電源オフ動作状態の機能は、以下により詳細に説明する。
この説明では、電圧レギュレータは、特定の電圧(例えば、全電力電圧、低アクティビティ電圧等)で「電力を供給する」と説明される。本明細書で使用される場合、「電力を供給する」とは、実質的に安定した調整された電圧で、電気負荷(例えば、回路、機能ブロック等)の需要を満たすのに十分な電流を供給することに関与する。「実質的に安定した」電圧とは、可能な範囲で、電圧レギュレータによって望ましい調整された電圧に維持されるが、電気負荷等からの電力需要の変化等に応じて変化する場合がある電圧である。
電圧レギュレータの特定の数及び構成が図2に示されているが、いくつかの実施形態では、電子デバイス100は、電圧レギュレータの異なる数及び/又は構成を含む。例えば、いくつかの実施形態では、電子デバイス100は、ネットワーキングサブシステム112等の図2に示されていない機能ブロックに電力を供給するための追加的な電圧レギュレータを含む。一般的に、電子デバイス100は、本明細書で説明する動作を実行するために十分な電圧レギュレータを含む。
(コントローラ及びメモリPHYコアロジック)
説明する実施形態では、コントローラは、所望の電圧レギュレータがスイッチを介してメモリPHY内のコアロジック回路に電力を供給するようにスイッチを構成する。図3は、いくつかの実施形態による、コントローラ208、スイッチ212及びメモリPHYコアロジック214を示すブロック図である。図3で見ることができるように、コントローラ208は、制御ロジック300と、アクティビティモニタ302と、アイドル状態モニタ304と、状態機械306と、を含む。制御ロジック300は、アクティビティモニタ302及びアイドル状態モニタ304から受信する入力に基づいて、状態機械306を使用してスイッチ212を制御するための動作を実行する機能ブロックである。制御ロジック300は、信号をスイッチ212に送り、これは、スイッチ212に、システム電圧レギュレータ204又はメモリPHY電圧レギュレータ210のうち何れかから受容した電力を、メモリPHYコアロジック214に転送させる。例えば、スイッチ212がマルチプレクサである実施形態では、制御ロジック300は、マルチプレクサ制御信号の論理的高/低レベルを介してスイッチ212を制御する。別の例として、スイッチ212が他の回路の一部である実施形態では、制御ロジック300は、他の回路にスイッチ212を適宜設定させる1つ以上の値(例えば、ビットシーケンス、信号レベル又はエッジ等)を通信することができる。
説明する実施形態では、コントローラは、所望の電圧レギュレータがスイッチを介してメモリPHY内のコアロジック回路に電力を供給するようにスイッチを構成する。図3は、いくつかの実施形態による、コントローラ208、スイッチ212及びメモリPHYコアロジック214を示すブロック図である。図3で見ることができるように、コントローラ208は、制御ロジック300と、アクティビティモニタ302と、アイドル状態モニタ304と、状態機械306と、を含む。制御ロジック300は、アクティビティモニタ302及びアイドル状態モニタ304から受信する入力に基づいて、状態機械306を使用してスイッチ212を制御するための動作を実行する機能ブロックである。制御ロジック300は、信号をスイッチ212に送り、これは、スイッチ212に、システム電圧レギュレータ204又はメモリPHY電圧レギュレータ210のうち何れかから受容した電力を、メモリPHYコアロジック214に転送させる。例えば、スイッチ212がマルチプレクサである実施形態では、制御ロジック300は、マルチプレクサ制御信号の論理的高/低レベルを介してスイッチ212を制御する。別の例として、スイッチ212が他の回路の一部である実施形態では、制御ロジック300は、他の回路にスイッチ212を適宜設定させる1つ以上の値(例えば、ビットシーケンス、信号レベル又はエッジ等)を通信することができる。
アクティビティモニタ302は、メモリアクセスが発生している又はメモリアクセスがメモリ回路218で発生する速度を決定し、メモリアクセスの速度を制御ロジック300に報告するための動作を実行する機能ブロックである。例えば、いくつかの実施形態では、メモリPHYコアロジック214から受信又は取得したメモリPHYコアロジック214によって実行された、実行されている又は実行されるメモリアクセス動作に関する情報に基づいて、アクティビティモニタ302は、メモリアクセスの速度を決定する。別の例として、いくつかの実施形態では、キューの深さ、ソフトウェア若しくはハードウェアのワークロードプロファイル、推定されるメモリアクセス速度に関する情報、及び/又は、電子デバイス100内の他の機能ブロック(例えば、処理サブシステム102等)から受信した他の情報に基づいて、アクティビティモニタ302は、メモリアクセス速度を決定する。いくつかの実施形態では、アクティビティモニタ302は、過去のメモリアクセス速度の記録、及び/又は、1つ以上の期間にわたるメモリアクセス速度の移動平均を保持し、この記録を使用して、メモリアクセス速度の決定又は推定をサポートする。
アイドル状態モニタ304は、メモリPHYコアロジック214によって経験されている又は経験されるアイドル状態の期間の長さを決定し、その長さを制御ロジック300に報告するための動作を実行する機能ブロックである。言い換えれば、アイドル状態モニタ304は、メモリPHYコアロジック214がアイドル状態である(すなわち、メモリアクセス、制御、割り込み処理、及び/又は、他の動作に関与しない)時間の実際の又は推定される長さを決定し、実際の時間又は推定される時間の長さの表現を制御ロジック300に提供する。例えば、いくつかの実施形態では、メモリPHYコアロジック214から取得した、メモリPHYコアロジック214によって実行された、実行されている又は実行される動作に関する情報に基づいて、アイドル状態モニタ304は、メモリPHYコアロジック214に対するアイドル期間の長さ若しくは推定される長さを決定する。別の例として、いくつかの実施形態では、キューの深さ、ソフトウェア若しくはハードウェアのワークロードプロファイル、今後のメモリアクセス動作に関する情報、及び/又は、電子デバイス100内の他の機能ブロック(例えば、処理サブシステム102等)から受信した他の情報に基づいて、アイドル状態モニタ304は、メモリPHYコアロジック214に対するアイドル期間の長さ若しくは推定される長さを決定する。いくつかの実施形態では、アイドル状態モニタ304は、メモリPHYコアロジック214に対する過去のアイドル期間の記録、及び/又は、メモリPHYコアロジック214に対する過去のアイドル期間の長さの移動平均を保持し、所定のアイドル期間の長さの決定又は推定をサポートするためにこの記録を使用する。
状態機械306は、メモリアクセスの速度、及び、メモリPHYコアロジック214のアイドル期間の長さに基づいてメモリPHYコアロジック214に対して使用される動作状態を決定するための動作を実行する機能ブロックである。状態機械306は、メモリPHYコアロジック214の状態及び状態間の遷移を格納する又は別の方法で表す回路を含む。動作中、状態機械306は、メモリアクセスの速度に関する情報及び/又はメモリPHYコアロジック214に対するアイドル期間の長さを受信し、そして受信した情報に基づいてメモリPHYコアロジック214が動作する動作状態の指標を返す。状態機械に対する状態及び状態間の遷移が図4に示され、以下に説明される。
いくつかの実施形態では、状態機械306、制御ロジック300及び/又は別の機能ブロックは、制御ロジック300がメモリPHY内のコアロジックに対する動作状態を切り替える速度を制限する動作状態変化制限機構を含む。例えば、いくつかの実施形態では、動作状態変化制限機構は、1つ以上のカウンタを含み、そのカウンタの内部に2つ以上のそれぞれの動作状態間で最後の遷移が行われてからの時間が保持される。これらの実施形態では、1つ以上のカウンタは、それぞれの2つ以上の動作状態の間で特定の長さの時間が経過した後、後続の遷移が行われることを確実にするために使用される。これらの実施形態のいくつかでは、特定の長さの時間は、2つ以上の動作状態間の遷移の待ち時間に関連付けられ又はそれに比例し、より高い遷移待ち時間を有する動作状態については、より長い特定の長さの時間を有する。別の例として、いくつかの実施形態では、動作状態変化制限機構は、2つ以上のそれぞれの動作状態間の遷移間の時間の移動平均の1つ以上の記録、所定の期間内の2つ以上のそれぞれの動作状態間の動作状態遷移の平均数の1つ以上の記録、及び/又は、動作状態間の遷移速度を表す他の記録を含む。これらの実施形態では、1つ以上の記録は、動作状態間で遷移が行われる速度を制御するために使用される。概して、動作状態変化制限機構は、2つ以上の動作状態間の遷移を実行する上での一貫性のない動作(2つ以上の動作状態間の急速な切り替えによって引き起こされる)及び不必要な労力を回避するために、2つ以上の動作状態間で行ったり来たりする過度の遷移を防止する。いくつかの実施形態では、動作状態変化制限機構は、メモリPHYコアロジック214が、より高い電力動作状態からより低い電力動作状態(例えば、低アクティビティ動作状態、保持動作状態等)へと行ったり来たり急速に跳ねるのを許容するのではなく、メモリPHYコアロジック214をより高い電力動作状態(例えば、全電力動作状態、低アクティビティ動作状態等)に優先的に保持する。
メモリPHYコアロジック214は、ロジック回路308と、状態メモリ(MEM)310と、低ドロップアウトレギュレータ(LDO)312と、を含む。ロジック回路308は、メモリPHYコアロジック214を制御、構成及び動作するための動作を実行する機能ブロックである。例えば、いくつかの実施形態では、ロジック回路308は、メモリ回路218のアクセスを制御するために使用されるメモリアクセス状態機械回路、メモリアクセスをメモリ回路218へと/メモリ回路218からルーティングするために使用されるメモリアクセスルーティングコントローラ回路、メモリ回路218内のメモリアクセス及び/又はメモリPHYコアロジック214内の動作のために使用される1つ以上のクロックを発生するために使用されるメモリPHYクロック発生回路、及び/又は、他の回路を含む。
状態メモリ310は、回路からの動作状態情報をメモリPHYコアロジック214内に格納するための動作を実行する機能ブロックである。状態メモリ310は、レジスタの内容、構成ビット/フラグ、設定、動作値(結果、入力等)、及び/又は、動作中にメモリPHYコアロジック214又はその内部の機能ブロックによって使用される他の状態情報等の動作状態情報を格納するためにロジック回路308によって使用されるスタティックランダムアクセスメモリ(SRAM)等のメモリを含む。いくつかの実施形態では、動作状態情報は、動作状態情報が、メモリPHYコアロジック214内の回路に確実に保持されない十分に低い電圧でメモリPHYコアロジック214に電力が供給される低電力動作状態(例えば、保持動作状態等)に入る前に、メモリPHYコアロジック214内の回路から読み出され、受信され、又は、別の方法で取得される。その後、状態は、メモリPHYコアロジック214内の回路が、動作状態情報がメモリPHYコアロジック214内の回路に確実に保持される十分に高い電圧で電力がPHYコアロジック214に供給される、より高い電力動作状態(例えば、全電力動作状態等)に復元されるまで、状態メモリ310内に格納される。メモリPHYコアロジック214内の回路が低電力動作状態からより高い電力動作状態に移行する際、動作状態情報が状態メモリ310から読み出され、メモリPHYコアロジック214内の回路の動作状態を低電力動作状態への移行の前から動作状態へと復元するために使用される。いくつかの実施形態では、状態メモリ310内の動作状態情報を取得及び格納することに関連する遅延又は待ち時間と、動作状態情報を状態メモリ310から読み出し、そしてメモリPHYコアロジック214内の回路の動作状態を復元するために動作状態情報を使用することに関連する遅延又は待ち時間がある。
LDO312は、低ドロップアウトレギュレータ、リニア電圧レギュレータ又は別のタイプの電圧レギュレータ等の電圧レギュレータである。LDO312は、ロジック回路308及び状態メモリ310に電力を供給する。より具体的には、LDO312は、メモリPHY IO216及びメモリ回路218内の回路の信頼性のある動作を可能にするために十分に高い電圧で電力を供給するメモリPHY電圧レギュレータ210から電力を受容する。LDO312は、メモリPHY電圧レギュレータ210から供給される電圧を、ロジック回路308及び状態メモリ310で使用される電圧レベルへに低減(又は別の方法で調整)する。いくつかの実施形態では、LDO 312は、過渡現象及びノイズ等の望ましくない電圧変動の影響を低減するデカップリングコンデンサ等の回路要素を含む。
いくつかの実施形態では、LDO312は、ある特定の動作状態でロジック回路308及び状態メモリ310にのみ電力を供給し、システム電圧レギュレータ204は、他の動作状態でロジック回路308及び状態メモリ310に電力を供給する。これらの実施形態では、コントローラ208は、スイッチ212を使用して、メモリPHY電圧レギュレータ210及びシステム電圧レギュレータ204の内部から、何れの電圧レギュレータがロジック回路308及び状態メモリ310に電力を供給するかを制御する。例えば、いくつかの実施形態では、コントローラ208は、メモリPHY電圧レギュレータ210が、全電力動作状態でのみロジック回路308及び状態メモリ310に電力を(スイッチ212及びLDO312を介して)供給するようにスイッチ212を設定する。これらの実施形態では、コントローラ208は、システム電圧レギュレータ204が低電力動作状態(例えば、低活動動作状態等)でロジック回路308及び状態メモリ310に電力を供給するようにスイッチ212を設定する。
いくつかの実施形態では、LDO312は、全電力動作状態で電圧を調整するために使用されていない場合、バイパスされ、そして場合によっては電源を切る。これは、図3で、LDO312を含まずに、システム電圧レギュレータ204からロジック回路308及び状態メモリ310へと進む破線(明瞭にするために破線である)を介して見られる。破線は、低電力動作状態での電力フローのおおよそのルートを示す。破線から分かるように、システム電圧レギュレータ204は、ロジック回路308及び状態メモリ310に、メモリPHY電圧レギュレータ210よりも直接的に電力を供給する。対照的に、実線は、全電力動作状態での電力フローのおおよその経路(メモリPHY電圧レギュレータ210からスイッチ212を通して、LDO312、そしてロジック回路308及び状態メモリ310へ)を示す。LDO312をバイパスし、場合によっては電源を切ることにより、これらの実施形態は、LDO312がロジック回路308及び状態メモリ310に電力を供給するために使用されていない場合に、LDO312における不必要な電力損失を回避することができる。
いくつかの実施形態では、コントローラ208のための回路のうちいくつか又は全ては、スイッチ212及び/又はメモリPHYコアロジック214に物理的に近接して位置している。例えば、制御ロジック300及び状態機械306等の回路は、スイッチ212及び/又はメモリPHYコアロジック214と集積回路チップの同じ領域又は区域に位置することができる。したがって、これらの実施形態では、コントローラ208は、動作状態間の移行に比較的迅速に応答することができ、したがって、動作状態間の移行を引き起こすことができる。ロジック回路308において動作状態が維持される保持動作状態の使用と組み合わせると、動作状態間で比較的迅速に移行するこの能力は、低電力動作状態をより頻繁に且つより短い期間の間使用できることを意味する。これは、コントローラ208内の回路の近接性及びロジック回路308内の保持された状態情報を考慮すると、低電力状態に入りそして出る待ち時間がより短いため、適切である。
(状態機械)
図4は、いくつかの実施形態による、状態機械におけるいくつかの動作状態及び動作状態間の移行を示す状態図である。いくつかの実施形態では、メモリPHYコアロジック214は、動作状態のうち選択された動作状態で動作される。これらの実施形態では、コントローラ208は、それに関連する基準に基づいて、状態機械を使用して、動作状態間のメモリPHYコアロジック214を移行させる(メモリPHYコアロジック214が動作状態の1つになるように)。
図4は、いくつかの実施形態による、状態機械におけるいくつかの動作状態及び動作状態間の移行を示す状態図である。いくつかの実施形態では、メモリPHYコアロジック214は、動作状態のうち選択された動作状態で動作される。これらの実施形態では、コントローラ208は、それに関連する基準に基づいて、状態機械を使用して、動作状態間のメモリPHYコアロジック214を移行させる(メモリPHYコアロジック214が動作状態の1つになるように)。
図4で見ることができるように、動作状態は、全電力400動作状態と、低アクティビティ402動作状態と、保持404動作状態と、電力オフ406動作状態(集合的に「動作状態」)と、を含む。全電力400の動作状態については、電力は、メモリPHY電圧レギュレータ210からスイッチ212及びLDO312を介してメモリPHYコアロジック214に全電力電圧(例えば、0.6V又は別の電圧)で供給される。全電力電圧は、メモリPHYコアロジック214が通常又は正常に動作し、且つ、より低い電圧レベルに関連する性能の低減を有しない電圧である。言い換えれば、全電力電圧は、メモリPHYコアロジック214が特定のフルスピード(これは可能な最も速い動作スピードではない場合がある)で動作し、電圧の不足によって動作が妨げられないほど十分に高い。いくつかの実施形態では、コントローラ208は、メモリアクセスアクティビティの速度が速度閾値を上回る限り、メモリPHYコアロジック214を全電力400の動作状態に置き、そして維持する(すなわち、スイッチ212を適宜に設定して保持する)。例えば、速度閾値は、Mミリ秒でN個のメモリアクセスであってもよい。ここで、N及びMは特定の数である。
低アクティビティ402動作状態については、電力は、システム電圧レギュレータ204からスイッチ212を介してメモリPHYコアロジック214に低アクティビティ電圧で供給される。低アクティビティ電圧は、全電力電圧(例えば、0.5V又は別の電圧)より低い。低アクティビティ電圧は、メモリPHYコアロジック内の回路が制限された動作を継続するのに十分であるが、メモリPHYコアロジックが対応する性能の低減を経験するのに十分なほど低い。例えば、メモリPHYコアロジックは、全電力電圧より低いアクティビティ電圧では、動作をよりゆっくりと実行する場合がある。いくつかの実施形態では、コントローラ208は、メモリアクセスアクティビティの速度が速度閾値を下回る場合、メモリPHYコアロジック214を低アクティビティ402動作状態に置き、そして維持するが、少なくともいくらかのメモリアクセスアクティビティがある。
保持404の動作状態については、電力は、システム電圧レギュレータ204からスイッチ212を介してメモリPHYコアロジック214に保持電圧で供給される。保持電圧は、低アクティビティ電圧(例えば、0.4V又は別の電圧)より低い。保持電圧は、メモリPHYコアロジック214内の回路(例えば、ロジック回路308等)が確実な動作を継続するには不十分になるために十分に低いが、メモリPHYコアロジック214内の回路に対する状態情報を保持するためには十分である。例えば、保持電圧において、レジスタ値、構成ビット/フラグ、設定、動作値(結果、入力等)、及び/又は、他の状態情報を格納するために使用されるメモリPHYコアロジック214内のレジスタ、メモリ要素等は、これらの値の確実な保存を継続する場合がある。いくつかの実施形態では、コントローラ208は、実行されているメモリアクセスがなく且つメモリPHYコアロジック214が短いアイドル期間(例えば、アイドル期間が時間閾値Tより短い)を経験している場合、メモリPHYコアロジック214を保持404動作状態に置き、そして維持する。
電力オフ406動作状態については、システム電圧レギュレータ204からメモリPHYコアロジック214に如何なる電力も供給されない。電源オフ動作状態では、電力が欠如しているため、メモリPHYコアロジック214は、シャットダウン又は電源オフされ、そして如何なる動作も実行しない。また、保持404動作状態とは異なり、メモリPHYコアロジック214は動作状態情報を保持しない。その代わり、電力オフ406動作状態に入る前に、動作状態情報は状態メモリ310にコピーされ、ここで、動作状態情報は、電力オフ406動作状態から別の動作状態への移行に伴い、メモリPHYコアロジック214の動作状態を復元するために使用されるまで保持される。いくつかの実施形態では、コントローラ208は、実行されているメモリアクセスがなく且つメモリPHYコアロジック214が長いアイドル期間(例えば、アイドル期間が時間閾値Tより長い)を経験している場合、メモリPHYコアロジック214を電力オフ406動作状態に置き、そして維持する。
図4の矢印によって示すように、いくつかの実施形態では、コントローラは、メモリPHYコアロジックを任意の動作状態から任意の他の動作状態に移行することができる。例えば、コントローラは、メモリPHYコアロジックを全電力400動作状態から低アクティビティ402動作状態、保持404動作状態又は電力オフ406動作状態に移行することができ、その逆も可である。これらの実施形態では、コントローラ208は、メモリアクセスの速度及び/又はアイドル期間の長さに基づいて、状態間でメモリPHYコアロジック214を移行する。しかしながら、いくつかの実施形態では、移行の特定のシーケンスが実行される。例えば、これらの実施形態のいくつかでは、移行のシーケンスは、全電力400、低アクティビティ402、保持404及び電力オフ406の順序、又は、逆の順序である。概して、説明する実施形態では、コントローラは、メモリアクセスの速度及び/又はアイドル期間の長さに基づいて、少なくとも動作状態のうちいくつかの間でメモリPHYコアロジックを移行することができる。
メモリPHYコアロジック214のみにそれぞれの動作状態において様々な電圧で電力が供給される実施形態が上述されているが、いくつかの実施形態では、電子デバイス100内の1つ以上の他の機能ブロックには、いくつかの又は全ての動作状態において、システム電圧レギュレータ204から同じ電圧で電力が供給される。例えば、いくつかの実施形態では、システム電圧レギュレータ204は、ディスプレイサブシステム106、メディア処理サブシステム108等に低活動電圧で電力を提供し、保持電圧で電力を提供し、及び/又は、(電力オフ406動作状態において)如何なる電力も提供しない。したがって、これらの実施形態では、メモリPHYコアロジック214は、システム電圧レギュレータ204によって提供される電力ドメイン内の他の機能ブロックと「同じ」低電力状態にある。
いくつかの動作状態が図4に示されているが、いくつかの実施形態では、様々な動作状態の数若しくは構成、動作状態への/動作状態からの移行の基準、及び/又は、電圧レギュレータが使用される。例えば、いくつかの実施形態では、メモリPHY電圧レギュレータ210は、対応する低減された電圧(図示省略)で1つ以上の低電力動作状態でメモリPHYコアロジック214に電力を供給する。概して、説明する実施形態では、動作状態のうち少なくともいくつかが本明細書で説明する動作状態であると仮定すると、任意の数の動作状態を使用することができる。
(メモリ物理層(PHY)コアロジックに対する動作状態を設定するためのプロセス)
説明する実施形態では、コントローラ(例えば、コントローラ208)は、メモリPHYコアロジック(例えば、メモリPHYコアロジック214)に対する動作状態を制御し、したがって、電力がメモリPHYコアロジックに供給される電圧を制御する。図5は、いくつかの実施形態による、メモリPHYコアロジックに対する動作状態を設定するためのプロセスを示すフローチャートである。図5に示す動作は、いくつかの実施形態によって実行される動作の一般的な例として示されることに留意されたい。他の実施形態によって実行される動作には、異なる動作、異なる順序で実行される動作、及び/又は、異なる機能ブロックによって実行される動作が含まれる。
説明する実施形態では、コントローラ(例えば、コントローラ208)は、メモリPHYコアロジック(例えば、メモリPHYコアロジック214)に対する動作状態を制御し、したがって、電力がメモリPHYコアロジックに供給される電圧を制御する。図5は、いくつかの実施形態による、メモリPHYコアロジックに対する動作状態を設定するためのプロセスを示すフローチャートである。図5に示す動作は、いくつかの実施形態によって実行される動作の一般的な例として示されることに留意されたい。他の実施形態によって実行される動作には、異なる動作、異なる順序で実行される動作、及び/又は、異なる機能ブロックによって実行される動作が含まれる。
図5のプロセスは、コントローラが、メモリPHYコアロジックが動作される電力動作状態を決定する場合に開始する(工程500)。この操作については、コントローラは、メモリアクセスが実行されている速度、及び/又は、メモリPHYコアロジックに対するアイドル期間の長さを追跡し、メモリアクセスが実行されている速度、及び/又は、メモリPHYコアロジックが動作する動作状態を決定するためのアイドル期間の長さを使用する。いくつかの実施形態では、コントローラは、状態機械回路(例えば、状態機械306)を使用して、メモリPHYコアロジックが動作される動作状態を決定する。決定動作は、以下に図6に対してより詳細に説明する。
メモリPHYコアロジックが低電力動作状態で動作されない場合(工程502)、コントローラは、メモリPHY電圧レギュレータ(例えば、メモリPHY電圧レギュレータ210)からメモリPHYコアロジックに全電力動作状態で電力が供給されるようにスイッチ(例えば、スイッチ212)を設定する(工程504)。この動作については、コントローラは、スイッチを介して、電力がメモリPHY電圧レギュレータから供給され、スイッチを通過してメモリPHYコアロジック内のローカルLDO(例えば、LDO312)に送られ、そしてLDOからメモリPHYコアロジック内の回路(例えば、ロジック回路308等)に供給されるように、電力がメモリPHYコアロジックに流れる経路を構成する。
メモリPHYコアロジックが低電力動作状態で動作される場合(工程502)、コントローラは、システム電圧レギュレータ(例えば、システム電圧レギュレータ204)からメモリPHYコアロジックに低電力動作状態(工程506)で電力が供給されるようにスイッチ(例えば、スイッチ212)を設定する。この動作については、コントローラは、スイッチを介して、電力がシステム電圧レギュレータから供給され、スイッチを通過して、メモリPHYコアロジック内の回路(例えば、ロジック回路308等)に供給されるように、電力がメモリPHYコアロジックに流れる経路を構成する。上記のように、いくつかの実施形態では、LDOがバイパスされ、そして場合によっては低電力動作状態において電源を切る。
図6は、いくつかの実施形態による、メモリPHYコアロジックが動作する動作状態を決定するためのプロセスを示すフローチャートである。いくつかの実施形態では、図6における動作は、工程500の一部として実行されるが、これは要件ではない。図6に示す動作は、いくつかの実施形態によって実行される動作の一般的な例として示されることに留意されたい。他の実施形態によって実行される動作には、異なる動作、異なる順序で実行される動作、及び/又は、異なる機能ブロックによって実行される動作が含まれる。
図6におけるプロセスは、コントローラ(例えば、コントローラ208)がメモリサブシステム(メモリサブシステム110)内のメモリアクセスアクティビティをモニタする場合に開始する(工程600)。この動作については、コントローラは、アクティビティモニタ(例えば、アクティビティモニタ302)及び/又は別の機能ブロックから受信した情報に基づいて、メモリサブシステム内でメモリアクセスが発生する速度を決定する。例えば、アクティビティモニタは、直前の1秒におけるメモリアクセスの数、メモリアクセスの実行に使用されるメモリアクセスを実行するために使用可能な時間全ての平均パーセンテージ等を示す情報をコントローラに定期的に提供することができる。また、コントローラは、メモリPHY内のコアロジック(例えば、メモリPHYコアロジック214)のアイドル状態もモニタする(工程602)。この動作については、コントローラは、アイドルモニタ(例えば、アイドル状態モニタ304)及び/又は別の機能ブロックから受信した情報に基づいて、メモリPHYコアロジックがアイドルである1つ以上のアイドル期間の長さを決定する。例えば、アイドル状態モニタは、特定のアイドル期間の長さ、2つ以上のアイドル期間の平均長さ、動作等を実行するために使用されるメモリPHYコアロジックにおける動作を実行するために使用可能な全ての時間の平均パーセンテージを示す情報をコントローラに定期的に提供することができる。
メモリアクセスの速度が速度閾値を上回る場合(工程604)、コントローラは、メモリPHYコアロジックを全電力動作状態に構成する(工程606)。この動作については、メモリサブシステムがメモリアクセスを実行するのに十分にビジーである場合、コントローラは、メモリPHYコアロジックを全電力動作状態に維持する。この動作状態では、メモリPHY電圧レギュレータ(例えば、メモリPHY電圧レギュレータ210)によって、全電力電圧でローカルLDO(例えば、LDO312)を介してメモリPHYコアロジックに電力が供給される。全電力動作状態では、メモリPHYコアロジックは、メモリアクセス要求及びその他の動作の実行に対して正常に又は通常に応答する。
メモリアクセスの速度が速度閾値を下回る(工程604)が、メモリアクセスアクティビティがある(工程608)場合、コントローラは、メモリPHYコアロジックを低電力動作状態で構成する(工程610)。この動作では、メモリサブシステムがメモリアクセスを実行するほどビジー状態ではないが、少なくともいくつかのメモリアクセスを実行している場合、コントローラは、メモリPHYコアロジックを低アクティビティ動作状態に保持する。この低アクティビティ動作状態では、電力は、メモリPHYコアロジックへシステム電圧レギュレータ(例えば、システム電圧レギュレータ204)によって低アクティビティ電圧で供給される。いくつかの実施形態では、低アクティビティ電圧と全電力電圧との差に起因して、メモリPHYコアロジックの動作スピードは、低アクティビティ動作状態では、全電力動作状態より遅い。したがって、低アクティビティ動作状態では、メモリPHYコアロジックは、メモリアクセス要求への応答及び他の動作実行がより遅いが、電力の節約もする。
メモリアクセスアクティビティがなく(工程608)、メモリPHYコアロジックが時間閾値よりも短いアイドル期間を経験している場合(工程612)、コントローラは、メモリPHYコアロジックを保持動作状態で構成する(工程614)。この動作については、メモリサブシステムが如何なるメモリアクセスも実行せず、コアロジックが比較的短いアイドル期間を経験する場合、コントローラは、メモリPHYコアロジックを、メモリPHYコアロジックに保持電圧で電力が供給される保持動作状態に保持する。保持動作状態では、保持電圧が低いことに起因してメモリPHYコアロジックが確実に動作することはできないが、保持電圧は十分に高く、メモリPHYコアロジック内で動作状態情報を維持することができる。動作状態情報をメモリPHYコアロジック内に格納して保持すること(動作状態情報を状態メモリ内に保存する代わりに)は、保持動作状態からより高い電力が供給される動作状態(すなわち、低アクティビティ動作状態、全電力動作状態等)へのより迅速な回復を可能にする。
メモリアクセスアクティビティがなく(工程608)、メモリPHYコアロジックが時間閾値よりも長いアイドル期間を経験している場合(工程612)、コントローラは、メモリPHYコアロジックを電力オフ動作状態に構成する(工程616)。この動作については、メモリサブシステムが如何なるメモリアクセスも実行せず、コアロジックが比較的長いアイドル期間を経験する場合、コントローラは、メモリPHYコアロジックに如何なる電力も供給しないように、メモリPHYコアロジックの電源を切る。電力オフ動作状態では、メモリPHYコアロジックは動作を実行することができない。いくつかの実施形態では、電力オフ動作状態に入ることは、メモリPHYコアロジックに対する動作状態情報を保存することが関与する。例えば、動作状態情報は、メモリPHYコアロジックから取得することができ、そして状態メモリ(例えば、状態メモリ310)及び/又は別のメモリ(例えば、メモリサブシステム110内のメモリ等)内に記憶することができる。
いくつかの実施形態では、少なくとも1つの電子デバイス(例えば、電子デバイス100)は、本明細書で説明する動作の一部又は全てを実行するために、非一時的なコンピュータ可読記憶媒体に格納されたコード及び/又はデータを使用する。より具体的には、少なくとも1つの電子デバイスは、説明する動作を実行する場合に、コンピュータ可読記憶媒体からコード及び/又はデータを読み出し、そしてコードを実行し及び/又はデータを使用する。コンピュータ可読記憶媒体は、電子デバイスによって使用するためのコード及び/又はデータを記憶する任意のデバイス、媒体又はこれらの組み合わせとすることができる。例えば、コンピュータ可読記憶媒体としては、フラッシュメモリ、ランダムアクセスメモリ(例えば、eDRAM、RAM、SRAM、DRAM、DDR4 SDRAM等)、不揮発性RAM(例えば、相変化メモリ、強誘電体ランダムアクセスメモリ、スピン移動トルクランダムアクセスメモリ、磁気抵抗ランダムアクセスメモリ等)、読み出し専用メモリ(ROM)、及び/又は、磁気若しくは光学記憶媒体(例えば、ディスクドライブ、磁気テープ、CD、DVD等)を含む揮発性メモリ及び/又は不揮発性メモリを挙げることができるが、これらに限定されない。
いくつかの実施形態では、1つ以上のハードウェアモジュールは、本明細書で説明する動作を実行する。例えば、ハードウェアモジュールとしては、1つ以上の中央処理装置(CPU)/CPUコア、グラフィックプロセッサ(GPU)/GPUコア、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、コンプレッサ又はエンコーダ、計算ユニット、組み込みプロセッサ、アクセラレーテッドプロセシングユニット(APU)、コントローラ、ニューラルネットワークプロセッサ、及び/又、他の機能ブロックを挙げることができるが、これらに限定されない。こうしたハードウェアモジュール内の回路(例えば、集積回路要素、ディスクリート回路要素等)がアクティブ化されると、回路は動作の一部又は全てを実行する。いくつかの実施形態では、ハードウェアモジュールは、命令(プログラムコード、ファームウェア等)の実行に伴い動作を実施する、実行パイプライン、計算又は処理ユニット等の汎用回路を含む。いくつかの実施形態では、ハードウェアモジュールは、動作を実行する固有の又は専用の回路を含み、場合によっては命令を実行せずに「ハードウェア内」で動作の一部又は全てを実行する回路を含む。
いくつかの実施形態では、本明細書で説明する機能ブロック及び回路要素のうち一部又は全てを表すデータ構造(例えば、電子デバイス100又はその一部)は、データベース又は他のデータ構造を含む非一時的なコンピュータ可読記憶媒体に記憶され、これは、電子デバイスにより読み出すことができ、又は、機能ブロック及び回路要素を含むハードウェアを製造するために直接的に若しくは間接的に使用することができる。例えば、データ構造は、Verilog又はVHDL等の高水準設計言語(HDL)でのハードウェア機能の動作レベルの記述又はレジスタ転送レベル(RTL)の記述であってもよい。記述は、合成ツールによって読み出されてもよく、合成ツールは、上述した機能ブロック及び回路要素を含むハードウェアの機能を表すトランジスタ/回路要素のリストを含むネットリストを合成ライブラリから生成するように、記述を合成してもよい。その後、ネットリストは、マスクに適用される幾何学形状を説明するデータセットを生成するように定置され及びルーティングされてもよい。その後、マスクは、上述した機能ブロック及び回路要素に対応する1つ以上の半導体回路(例えば集積回路)を製造するために、様々な半導体製造工程で使用されてもよい。代替として、コンピュータアクセス可能記憶媒体上のデータベースは、必要に応じてネットリスト(合成ライブラリを有する若しくは有しない)又ははデータセットであってもよいし、グラフィックデータシステム(GDS)IIデータであってもよい。
本明細書では、変数又は不特定の値(すなわち、値の特定の例を有しない、値の一般的な説明)は、N、M、X等の文字で表される。本明細書で使用される場合、場合によっては同様の文字が本明細書の他の箇所で使用される可能性があるが、各事例の変数及び不特定の値は必ずしも同じではない、すなわち、一般的な変数及び不特定値のうちいくつか又は全てを対象にしている、異なる変数量及び値がある場合がある。言い換えると、本明細書で変数及び不特定値を表すために使用されるN及び任意の他の文字の特定の例は、必ずしも互いに関連するわけではない。
「エトセトラ」又は「等」という表現は、本明細書で使用される場合、「及び/又は」の事例、すなわち、「等」が関連付けられているリスト内の要素「のうち少なくとも1つ」に相当するものを示すことを意図している。例えば、「電子デバイスは、第1の動作、第2の動作等を実施する」という文において、電子デバイスは、第1の動作、第2の動作、及び、他の動作のうち少なくとも1つを実施する。また、「等」に関連付けられたリスト内の要素は、一連の例の中からの単なる例であり、少なくともいくつかの例は、いくつかの実施形態では現れない場合がある。
実施形態の上述した説明は、例示及び説明のためにのみ提示されたものである。それらは、包括的であること、又は、実施形態を開示された形態に限定することを意図していない。したがって、当業者には、数多くの変更及び変形が明らかであろう。また、上記の開示には、実施形態を限定する意図がない。実施形態の範囲は、添付の特許請求の範囲によって定義される。
Claims (22)
- 複数のメモリ回路とメモリ物理層(PHY)機能ブロックとを含むメモリ機能ブロックであって、前記メモリPHY機能ブロックは、前記メモリPHY機能ブロックの動作を制御するコアロジックを含む、メモリ機能ブロックと、
メモリPHY電圧レギュレータと、
システム電圧レギュレータと、
前記メモリPHY電圧レギュレータの出力に結合された第1の入力と、前記システム電圧レギュレータの出力に結合された第2の入力と、前記コアロジックの電源入力に結合された出力と、を有するスイッチと、
前記スイッチに結合されたコントローラと、を備え、
前記コントローラは、
前記メモリPHY電圧レギュレータから前記コアロジックに全電力動作状態で電力が供給されるように前記スイッチを設定することと、
前記システム電圧レギュレータから前記コアロジックに複数の低電力動作状態の各々で電力が供給されるように前記スイッチを設定することと、
を行うように構成されている、
電子デバイス。 - 前記複数の低電力動作状態は、
前記システム電圧レギュレータが低減した電圧で前記コアロジックに電力を供給する低アクティビティ動作状態であって、前記低減した電圧は、前記コアロジック内の回路の全動作電圧よりも低いが、前記コアロジック内の回路が制限された動作を継続するには十分である、低アクティビティ動作状態と、
前記システム電圧レギュレータが保持電圧で前記コアロジックに電力を供給する保持動作状態であって、前記保持電圧は、前記低減した電圧よりも低く、前記コアロジック内の回路が前記制限された動作を確実に継続するには十分ではないが、前記コアロジック内の回路の状態情報を保持するには十分である、保持動作状態と、
前記システム電圧レギュレータが前記コアロジックに電力を供給しない電力オフ動作状態と、を含む、
請求項1の電子デバイス。 - 前記コントローラは、
前記メモリ機能ブロックにおけるメモリアクセスアクティビティの速度を決定することと、
前記メモリアクセスアクティビティの速度が速度閾値を上回る場合に、前記コアロジックを全電力動作状態に構成することであって、前記構成することは、電力が前記メモリPHY電圧レギュレータから前記コアロジックに供給されるように前記スイッチを設定することを含む、ことと、
前記メモリアクセスアクティビティの速度が前記速度閾値を下回るが、前記メモリアクセスアクティビティの速度がゼロよりも大きい場合に、前記コアロジックを前記低アクティビティ動作状態に構成することであって、前記構成することは、電力が前記システム電圧レギュレータから前記コアロジックに前記低減した電圧で供給されるように前記スイッチを設定することを含む、ことと、
前記メモリアクセスアクティビティの速度がゼロであり、したがって、前記メモリ機能ブロックがメモリアクセスを実行していない場合に、前記コアロジックのアイドル状態に基づいて、前記コアロジックを前記保持動作状態又は前記電力オフ動作状態の何れかに構成することと、
を行うように構成されている、
請求項2の電子デバイス。 - 前記コントローラは、
前記コアロジックがアイドル状態であるアイドル期間の長さを決定することと、
前記メモリアクセスアクティビティの速度がゼロであり、前記アイドル期間の長さが時間閾値の長さよりも短い場合に、前記コアロジックを前記保持動作状態に構成することであって、前記構成することは、電力が前記コアロジックに前記保持電圧で供給されるように前記システム電圧レギュレータを設定することを含む、ことと、
前記メモリアクセスアクティビティの速度がゼロであり、前記アイドル期間の長さが前記時間閾値の長さよりも長い場合に、前記コアロジックを前記電力オフ動作状態に構成することであって、前記構成することは、前記コアロジックに電力を供給しないように前記システム電圧レギュレータを設定することを含む、ことと、
を行うように構成されている、
請求項3の電子デバイス。 - 前記コントローラは、状態機械回路を含み、
前記コントローラは、
前記メモリアクティビティの速度及び/又は前記アイドル期間の長さに基づいて、前記状態機械回路を使用して、前記全電力動作状態、前記低アクティビティ動作状態、前記保持動作状態及び前記電力オフ動作状態の間の移行を決定するように構成されている、
請求項4の電子デバイス。 - 前記コントローラは、1つ以上の動作状態変化制限機構を含み、
前記コントローラは、前記動作状態変化制限機構を使用して、前記コントローラが前記コアロジックの前記動作状態を前記全電力動作状態、前記低アクティビティ動作状態、前記保持動作状態及び前記電力オフ動作状態の間で移行する速度を制限するように構成されている、
請求項4の電子デバイス。 - 前記コアロジック用の低ドロップアウト(LDO)レギュレータであって、前記コアロジックの前記電源入力に結合された第1の入力と、前記コアロジック内の回路に結合された出力と、を有し、電力を前記コアロジック内の回路に供給するように構成されたLDOレギュレータを備え、
前記LDOレギュレータは、前記回路が前記メモリPHY電圧レギュレータから前記LDOレギュレータを介して電力を受容するように、前記全電力動作状態において有効にされ、
前記LDOレギュレータは、前記回路が前記システム電圧レギュレータから電力を受容するように、前記低アクティビティ動作状態において無効化又はバイパスされる、
請求項2の電子デバイス。 - 前記LDO電圧レギュレータは、ノイズ及び過渡信号を低減するための回路要素を含む、
請求項7の電子デバイス。 - 前記メモリPHY機能ブロックは、入力出力(IO)回路要素を含み、
前記メモリPHY電圧レギュレータは、前記コアロジックの動作状態に関わらず前記IO回路要素に電力を供給する、
請求項1の電子デバイス。 - 前記コアロジックは、メモリアクセス状態機械回路、メモリアクセスルーティングコントローラ回路、メモリPHYクロック発生回路、及び、メモリPHY状態情報ストレージメモリ回路のうち1つ以上を含む、
請求項1の電子デバイス。 - 前記電子デバイスは、前記メモリ機能ブロックとは別の1つ以上の外部機能ブロックを含み、
前記システム電圧レギュレータは、前記コアロジックの動作状態に関わらず前記外部機能ブロックに電力を供給するように構成されている、
請求項1の電子デバイス。 - 電子デバイス内の機能ブロックに電力を供給する方法であって、
前記電子デバイスは、
複数のメモリ回路とメモリ物理層(PHY)機能ブロックとを含むメモリ機能ブロックであって、前記メモリPHY機能ブロックは、前記メモリPHY機能ブロックの動作を制御するコアロジックを含む、メモリ機能ブロックと、
メモリPHY電圧レギュレータと、
システム電圧レギュレータと、
前記メモリPHY電圧レギュレータの出力に結合された第1の入力と、前記システム電圧レギュレータの出力に結合された第2の入力と、前記アロジックの電源入力に結合された出力と、を有するスイッチと、
前記スイッチに結合されたコントローラと、を備え、
前記コントローラが、前記メモリPHY電圧レギュレータから前記コアロジックに全電力動作状態で電力が供給されるように前記スイッチを設定することと、
前記コントローラが、前記システム電圧レギュレータから前記コアロジックに複数の低電力動作状態の各々で電力が供給されるように前記スイッチを設定することと、を含む、
方法。 - 前記複数の低電力動作状態は、
前記システム電圧レギュレータが低減した電圧で前記コアロジックに電力を供給する低アクティビティ動作状態であって、前記低減した電圧は、前記コアロジック内の回路の全動作電圧よりも低いが、前記コアロジック内の回路が制限された動作を継続するには十分である、低アクティビティ動作状態と、
前記システム電圧レギュレータが保持電圧で前記コアロジックに電力を供給する保持動作状態であって、前記保持電圧は、前記低減した電圧よりも低く、前記コアロジック内の回路が前記制限された動作を確実に継続するには十分ではないが、前記コアロジック内の回路の状態情報を保持するには十分である、保持動作状態と、
前記システム電圧レギュレータが前記コアロジックに電力を供給しない電力オフ動作状態と、を含む、
請求項12の方法。 - 前記コントローラが、前記メモリ機能ブロックにおけるメモリアクセスアクティビティの速度を決定することと、
前記メモリアクセスアクティビティの速度が速度閾値を上回る場合に、前記コントローラが、前記コアロジックを全電力動作状態に構成することであって、前記構成することは、電力が前記メモリPHY電圧レギュレータから前記コアロジックに供給されるように前記スイッチを設定することを含む、ことと、
前記メモリアクセスアクティビティの速度が前記速度閾値を下回るが、前記メモリアクセスアクティビティの速度がゼロよりも大きい場合に、前記コントローラが、前記コアロジックを前記低アクティビティ動作状態に構成することであって、前記構成することは、電力が前記システム電圧レギュレータから前記コアロジックに前記低減した電圧で供給されるように前記スイッチを設定することを含む、ことと、
前記メモリアクセスアクティビティの速度がゼロであり、したがって、前記メモリ機能ブロックがメモリアクセスを実行していない場合に、前記コントローラが、前記コアロジックのアイドル状態に基づいて、前記コアロジックを前記保持動作状態又は前記電力オフ動作状態の何れかに構成することと、を含む、
請求項13の方法。 - 前記コントローラが、前記コアロジックがアイドル状態であるアイドル期間の長さを決定することと、
前記メモリアクセスアクティビティの速度がゼロであり、前記アイドル期間の長さが時間閾値の長さよりも短い場合に、前記コントローラが、前記コアロジックを前記保持動作状態に構成することであって、前記構成することは、電力が前記コアロジックに前記保持電圧で供給されるように前記システム電圧レギュレータを設定することを含む、ことと、
前記メモリアクセスアクティビティの速度がゼロであり、前記アイドル期間の長さが前記時間閾値の長さよりも長い場合に、前記コントローラが、前記コアロジックを前記電力オフ動作状態に構成することであって、前記構成することは、前記コアロジックに電力を供給しないように前記システム電圧レギュレータを設定することを含む、ことと、を含む、
請求項14の方法。 - 前記コントローラは、状態機械回路を含み、
前記方法は、
前記コントローラが、前記メモリアクティビティの速度及び/又は前記アイドル期間の長さに基づいて、前記状態機械回路を使用して、前記全電力動作状態、前記低アクティビティ動作状態、前記保持動作状態及び前記電力オフ動作状態の間の移行を決定することを含む、
請求項15の方法。 - 前記コントローラは、1つ以上の動作状態変化制限機構を含み、
前記コントローラが、前記動作状態変化制限機構を使用して、前記コントローラが前記コアロジックの前記動作状態を前記全電力動作状態、前記低アクティビティ動作状態、前記保持動作状態及び前記電力オフ動作状態の間で移行する速度を制限することを含む、
請求項15の方法。 - 前記メモリPHY機能ブロックは、前記コアロジック用の低ドロップアウト(LDO)レギュレータであって、前記コアロジックの前記電源入力に結合された第1の入力と、前記コアロジック内の回路に結合された出力と、を有し、電力を前記コアロジック内の回路に供給するように構成されたLDOレギュレータを備え、
前記方法は、
前記コントローラが、前記回路が前記メモリPHY電圧レギュレータから前記LDOレギュレータを介して電力を受容するように、前記全電力動作状態において前記LDOレギュレータを有効にすることと、
前記コントローラが、前記回路が前記システム電圧レギュレータから電力を受容するように、前記低アクティビティ動作状態において前記LDOレギュレータを無効化又はバイパスすることと、を含む、
請求項13の方法。 - 前記LDO電圧レギュレータは、ノイズ及び過渡信号を低減するための回路要素を含む、
請求項18の方法。 - 前記メモリPHY機能ブロックは、入力出力(IO)回路要素を含み、
前記方法は、
前記メモリPHY電圧レギュレータが、前記コアロジックの動作状態に関わらず前記IO回路要素に電力を供給することを含む、
請求項12の方法。 - 前記コアロジックは、メモリアクセス状態機械回路、メモリアクセスルーティングコントローラ回路、メモリPHYクロック発生回路、及び、メモリPHY状態情報ストレージメモリ回路のうち1つ以上を含む、
請求項12の方法。 - 前記電子デバイスは、前記メモリ機能ブロックとは別の1つ以上の外部機能ブロックを含み、
前記方法は、
前記システム電圧レギュレータが、前記コアロジックの動作状態に関わらず前記外部機能ブロックに電力を供給することを含む、
請求項12の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/729,805 US11567557B2 (en) | 2019-12-30 | 2019-12-30 | Electrical power operating states for core logic in a memory physical layer |
US16/729,805 | 2019-12-30 | ||
PCT/US2020/067224 WO2021138278A1 (en) | 2019-12-30 | 2020-12-28 | Electrical power operating states for core logic in a memory physical layer |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023509857A true JP2023509857A (ja) | 2023-03-10 |
Family
ID=76545677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022536945A Pending JP2023509857A (ja) | 2019-12-30 | 2020-12-28 | メモリ物理層内のコアロジックに対する電力動作状態 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11567557B2 (ja) |
EP (1) | EP4085318A4 (ja) |
JP (1) | JP2023509857A (ja) |
KR (1) | KR20220122640A (ja) |
CN (1) | CN114830063A (ja) |
WO (1) | WO2021138278A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12112062B2 (en) | 2021-06-24 | 2024-10-08 | SanDisk Technologies, Inc. | Write performance by relocation during sequential reads |
US11797228B2 (en) * | 2021-06-24 | 2023-10-24 | Western Digital Technologies, Inc. | Efficient handling of background operations for improving sustained performance of host reads and writes |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2075696A3 (en) * | 2007-05-10 | 2010-01-27 | Texas Instruments Incorporated | Interrupt- related circuits, systems and processes |
US7705575B2 (en) * | 2008-04-10 | 2010-04-27 | Spectralinear, Inc. | Standby regulator |
US8656198B2 (en) * | 2010-04-26 | 2014-02-18 | Advanced Micro Devices | Method and apparatus for memory power management |
US20130082764A1 (en) * | 2011-09-30 | 2013-04-04 | Broadcom Corporation | Apparatus and method to combine pin functionality in an integrated circuit |
US9360928B2 (en) * | 2012-07-27 | 2016-06-07 | Atmel Corporation | Dual regulator systems |
JP5978860B2 (ja) * | 2012-08-31 | 2016-08-24 | 富士通株式会社 | 情報処理装置、メモリ制御ユニット、メモリ制御方法および制御プログラム |
US9252774B2 (en) * | 2013-05-27 | 2016-02-02 | Freescale Semiconductor, Inc. | Integrated circuit wake-up control system |
KR102153907B1 (ko) * | 2013-12-11 | 2020-09-10 | 삼성전자주식회사 | 전압 레귤레이터, 메모리 컨트롤러 및 그것의 전압 공급 방법 |
US10275386B2 (en) * | 2014-06-27 | 2019-04-30 | Advanced Micro Devices, Inc. | Memory physical layer interface logic for generating dynamic random access memory (DRAM) commands with programmable delays |
CN107077180B (zh) * | 2014-12-23 | 2021-11-19 | 英特尔公司 | 基于功率状态而调整电压调节器 |
US10236067B2 (en) * | 2017-08-02 | 2019-03-19 | International Business Machines Corporation | State-dependent read voltage threshold adaptation for nonvolatile memory |
US10872652B2 (en) * | 2018-06-19 | 2020-12-22 | Apple Inc. | Method and apparatus for optimizing calibrations of a memory subsystem |
-
2019
- 2019-12-30 US US16/729,805 patent/US11567557B2/en active Active
-
2020
- 2020-12-28 JP JP2022536945A patent/JP2023509857A/ja active Pending
- 2020-12-28 EP EP20910556.8A patent/EP4085318A4/en active Pending
- 2020-12-28 WO PCT/US2020/067224 patent/WO2021138278A1/en unknown
- 2020-12-28 CN CN202080089161.6A patent/CN114830063A/zh active Pending
- 2020-12-28 KR KR1020227021671A patent/KR20220122640A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
EP4085318A4 (en) | 2024-01-17 |
EP4085318A1 (en) | 2022-11-09 |
US11567557B2 (en) | 2023-01-31 |
CN114830063A (zh) | 2022-07-29 |
KR20220122640A (ko) | 2022-09-02 |
WO2021138278A1 (en) | 2021-07-08 |
US20210200297A1 (en) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5697278B2 (ja) | プロセッサスリープ及びウェイクイベントに対するシステムのハードウェア自動性能状態移行 | |
TWI463302B (zh) | 用於協調效能參數之方法及相關之系統單晶片及邏輯電路 | |
US9442557B2 (en) | Using a linear prediction to configure an idle state of an entity in a computing device | |
US7281148B2 (en) | Power managed busses and arbitration | |
JP2020532258A (ja) | 集積回路チップの電圧レギュレータ | |
JP5312562B2 (ja) | プロセッサ動作電圧の自動動的制御 | |
US9471130B2 (en) | Configuring idle states for entities in a computing device based on predictions of durations of idle periods | |
US20140173242A1 (en) | Method and apparatus for controlling a storage device | |
CN109642924B (zh) | 动态可靠性质量监测 | |
JP2023509857A (ja) | メモリ物理層内のコアロジックに対する電力動作状態 | |
JP2023508660A (ja) | ダブルデータレートメモリトレーニングの削減によるメモリコンテキスト復元、システムオンチップのブート時間の短縮 | |
TWI224728B (en) | Method and related apparatus for maintaining stored data of a dynamic random access memory | |
TW201227205A (en) | Distributed power delivery scheme for on-die voltage scaling | |
AU2017247094A1 (en) | Enhanced dynamic clock and voltage scaling (DCVS) scheme | |
WO2023211606A1 (en) | Real time workload-based system adjustment | |
US20230004400A1 (en) | System and method for providing system level sleep state power savings | |
US10340916B1 (en) | Using islands to control operating parameters for functional blocks in an electronic device | |
US8707063B2 (en) | Hardware assisted performance state management based on processor state changes | |
US11714442B2 (en) | Controlling electrical power consumption for elements in an electronic device based on a platform electrical power limit | |
US20230205306A1 (en) | Default Boost Mode State for Devices | |
KR20230160854A (ko) | 메모리 제어기 전력 상태들 | |
WO2019005424A1 (en) | SYSTEM AND METHOD FOR DIMENSIONING A DYNAMIC BUFFER IN A COMPUTER DEVICE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20241023 |