DE102011102871A1 - Adaptive memory frequency scaling - Google Patents
Adaptive memory frequency scaling Download PDFInfo
- Publication number
- DE102011102871A1 DE102011102871A1 DE102011102871A DE102011102871A DE102011102871A1 DE 102011102871 A1 DE102011102871 A1 DE 102011102871A1 DE 102011102871 A DE102011102871 A DE 102011102871A DE 102011102871 A DE102011102871 A DE 102011102871A DE 102011102871 A1 DE102011102871 A1 DE 102011102871A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- performance
- memory performance
- operating frequency
- mpf
- 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.)
- Granted
Links
- 230000003044 adaptive effect Effects 0.000 title abstract description 15
- 230000007334 memory performance Effects 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 15
- 238000005265 energy consumption Methods 0.000 claims 3
- 230000007246 mechanism Effects 0.000 description 11
- 230000007704 transition Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000035945 sensitivity 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/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
- 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
-
- 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
-
- 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
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
Verfahren und Vorrichtungen für die adaptive Speicherbetriebszustandsverwaltung. Ein Speicherleistungsparameter wird für mindestens einen Teil eines Speichersystems bestimmt. Der Speicherleistungsparameter wird mit einem oder mehreren Schwellenwerten verglichen. Eine Betriebsfrequenz des Speichersystems kann auf Basis von Ergebnissen des Vergleichs des Speicherleistungsparameters und des einen oder der mehreren Schwellenwerte geändert werden.
Description
- TECHNISCHES GEBIET
- Erfindungsgemäße Ausführungsformen für Speichergeräte. Spezieller beziehen sich erfindungsgemäße Ausführungsformen auf Techniken zur adaptiven Skalierung der Betriebsfrequenz eines Speichergeräts.
- HINTERGRUND
- Im Laufe der letzten Jahre ist bei Enterprise-Serversystemen sowie anderen elektronischen Systemen der Schwerpunkt verstärkt auf Energieeffizienz und energieproportionale Rechenleistung gelegt worden. Das Verwalten von Speicherenergie ist unter gegebenen Kapazitäts- und Bandbreitenanforderungen von Serverprozessoren und Arbeitslasten entscheidend bei der Gesamteffizienz in diesen Plattformen.
- Da die Anzahl an Prozessorkernen weiterhin steigt, und Integration von Durchsatzrechen- und Eingabe-/Ausgabe-(input/output, I/O)-Leistungsfähigkeiten rascher voranschreitet, wird erwartet, dass diese Entwicklung das Ernennen des Speicherenergiemanagements als ein Hauptelement der Plattformenergieeffizienz intensivieren wird. Ein Ansatz besteht darin, Speicherleerlaufenergie durch aggressives Unterstützen von Herunterfahr- und Selbstauffrischungszuständen zu verringern, was zu wesentlichen Verbesserungen bei der Speicherenergieeffizienz führt.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Erfindungsgemäße Ausführungsformen werden beispielhaft und in keiner Weise einschränkend in den Figuren der begleitenden Zeichnungen dargestellt, wobei sich gleiche Bezugsnummern auf ähnliche Elemente beziehen.
-
1 ist ein Blockdiagramm einer Ausführungsform eines Systems, das einen Mechanismus zur adaptiven Skalierung der Speicherfrequenz bereitstellt. -
2 ist ein Blockdiagramm einer Ausführungsform eines elektronischen Systems. -
3 ist ein Ablaufdiagramm einer Ausführungsform einer Technik für die Bereitstellung adaptiver Skalierung der Speicherfrequenz. -
4 ist ein Zustandsdiagramm einer Ausführungsform einer Technik für die Bereitstellung adaptiver Skalierung der Speicherfrequenz. - AUSFÜHRLICHE BESCHREIBUNG
- Bei der folgenden Beschreibung werden zahlreiche spezifische Details gegeben. Erfindungsgemäße Ausführungsformen können jedoch ohne diese spezifischen Details umgesetzt werden. in anderen Fallen wurden wohlbekannte Schaltungen, Strukturen und Techniken nicht im Detail gezeigt, um das Verständnis dieser Beschreibung nicht in den Hintergrund rücken zu lassen.
- Die Speicherenergie ist zu einer der wichtigsten Überlegungen beim Entwurf eines Computersystems geworden. Jedoch kann es sein, dass das Speicherenergiemanagement ohne globale Informationen nicht ausreicht, um den Energieverbrauch für die Laufzeitanwendung zu optimieren. Die Koordination des Speicherenergiemanagements mit dem Prozessorkern und/oder den Plattforminformationen kann genutzt werden, um für eine bessere Energienutzung zu sorgen. Hierin beschrieben werden Mechanismen für die adaptive Skalierung der Speicherfrequenz (Adaptive Memory Frequency Scaling Mechanisms/AMFSMs), die Speicherleistungsindikatoren verwenden können, die einem Prozessorkern zur Verfügung stehen, um die Leistung des Speichersubsystems bei Laufzeit zu optimieren.
- Der Mechanismus für die adaptive Skalierung der Speicherfrequenz kann mindestens zwei Vorteile bieten. Für durchsatzkritische Arbeitslasten kann der Mechanismus für die adaptive Skalierung der Speicherfrequenz hohe Effizienz erreichen. Für nicht latenzkritische Anwendungen kann der Mechanismus für die adaptive Skalierung der Speicherfrequenz die Speicherfrequenz verlangsamen, um für Energieeinsparungen mit einem nur relativ geringen Leistungsverlust für prozessorkernintensive Arbeitslasten zu sorgen und die Speicherfrequenz zu erhalten, um die Leistung für speicherintensive Arbeitslasten aufrecht zu erhalten.
- Bei einer Ausführungsform, bei einer Nutzung von 100% (Leistung hat die höchste Priorität), kann der Mechanismus für die adaptive Skalierung der Speicherfrequenz dazu führen, dass der Speicher bei maximaler Frequenz arbeitet, um optimale Leistung zu erreichen. Bei Nutzung von weniger als 100% kann der Mechanismus für die adaptive Skalierung der Speicherfrequenz die Speicherbetriebsfrequenz verlangsamen, um Leistungsgewinne für ein gewisses Energiebudget zu bringen, da sich die Energieeinsparung auf Speicherseite zum Prozessorkern verschiebt. Alternativ kann der Mechanismus für die adaptive Skalierung der Speicherfrequenz bei einer Nutzung von unter 100% die Speicherbetriebsfrequenz verringern, um Systemenergieeinsparungen für ein bestimmtes Leistungsziel insgesamt zu erreichen.
- Bei einer Ausführungsform kann der Mechanismus für die adaptive Skalierung der Speicherfrequenz aus vier Komponenten bestehen: Memory Performance Factor (MPF), Dynamic Memory Frequency Scaling Controller (DMFSC), Memory Performance Factor Counter (MPFC) und Memory Frequency Scaling Engine (MFSE).
1 ist ein Blockdiagramm einer Ausführungsform eines Systems, das einen Mechanismus für die adaptive Skalierung der Speicherfrequenz bereitstellt. - Das Beispiel der Ausführungsform von
1 veranschaulicht Prozessorkern100 und Speichercontroller150 , die die Komponenten des Mechanismus für die adaptive Skalierung der Speicherfrequenz bereitstellen. In alternativen Ausführungsformen können die Komponenten von anderen Systemeinheiten bereitgestellt und/oder auf andere Weise verteilt werden. - Bei einer Ausführungsform ist der Memory Performance Factor (MPF)
120 ein Hardwareindikator der Speicherleistung einer Anwendung auf der Seite des Prozessorkerns100 , der Informationen wie zum Beispiel Speicherbandbreitennutzung, Grad der Überlappung bei Speicherzugriffen und Grad der spekulativen Speicherzugriffe umfasst. Der Dynamic Memory Frequency Scaling Controller (DMFSC)160 ist eine Richtlinien-Engine, die die Speicherausführungsfrequenz gemäß dem Memory Performance Factor (MPF) bestimmt und die Memory Frequency Scaling Engine (MFSE)180 dazu bringt, die Entscheidung anzuwenden. - Bei einer Ausführungsform ist der Memory Performance Factor Counter (MPFC)
170 ein Hardwaresättigungszähler der Verlaufsinformationen des Memory Performance Factor. Die Memory Frequency Scaling Engine (MFSE)180 ist die passive Aktionskomponente. Nach Erhalt eines Auslösers vom DMFSC160 kann die MFSE180 das System einfrieren und die Speicherschnittstelle neu programmieren und dabei die Speicherfrequenz ändern und die Phasenregelschleifen (Phase Locked Loops/PLLs) wieder sperren. - Bei einer Ausführungsform wird der Memory Performance Factor mithilfe eines Hardwarezählers überwacht. Bei einer Ausführungsform sind die Zyklen pro Anweisung (Cycles Per Instruction/CPI) eine Komponente der MPF-Berechnung und werden wie folgt bestimmt.
CPI = CPI_core + MPI·BF·LAT Gleichung (1) - CPI_core:
- CPI ohne Speicherlatenz
- LAT:
- Speicherzugriffslatenz
- MPI:
- Last-Level-Cachespeicher-Fehler pro Anweisung
- BF:
- Blockungsfaktor zeigt die Leistungsempfindlichkeit bei der Speicherzugriffslatenz.
- Bei einer Ausführungsform kann MPF definiert werden als:
MPF = MPI·BF Gleichung (2) - Memory Performance Factor (MPF) kann in eine Kombination aus Hardwareleistungszähler konvertiert werden.
MPF = (XQ_EMPTY/Total_Cycles)·(Load_retired/Load_dispatch) Gleichung (3) - MPF
- = mem_stall%·mem_specu_factor
- XQ_EMPTY:
- zählt die Stall-Zyklen des Prozessors nach Speicherzugriff
- (Load_retired/Load_dispatch):
- Speicherspekulationsfaktor.
- Wenn der Speicher-Stall-Prozentsatz nicht verfügbar ist, können alternative Berechnungen genutzt werden, zum Beispiel das Produkt aus Speicherbandbreitennutzung und Speicherspekulationsfaktor.
-
2 ist ein Blockdiagramm einer Ausführungsform eines elektronischen Systems. Die in2 gezeigte Elektronik soll einen Bereich an Elektronik (entweder verdrahtet oder drahtlos) repräsentieren, wie zum Beispiel Desktop-Computersysteme, Laptop-Computersysteme, Mobilfunktelefone, Personal Digital Assistants (PDAs) einschließlich mobilfunkaktivierten PDAs und Set-Top-Boxen. Alternative elektronische Systeme können mehr, weniger und/oder unterschiedliche Komponenten beinhalten. - Elektronik
200 umfasst Bus205 oder ein anderes Kommunikationsgerät, um Information zu kommunizieren, und Prozessor210 gekoppelt mit Bus205 , welcher Information verarbeiten kann. Während elektronisches System200 mit einem einzelnen Prozessor veranschaulicht ist, kann elektronisches System200 mehrere Prozessoren und/oder Koprozessoren und/oder mehrere Prozessorkerne enthalten. Elektronik200 kann weiter Random Access Memory (RAM) oder ein anderes dynamisches Speichergerät220 (als Hauptspeicher bezeichnet), das mit dem Bus205 gekoppelt ist, umfassen, und sie kann Information und Anweisungen speichern, die durch den Prozessor210 ausgeführt werden können. Der Hauptspeicher220 kann auch zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen durch Prozessor210 verwendet werden. - Bei einer Ausführungsform kann/können Prozessor(en)
210 sowohl einen Prozessorkern als auch einen Speichercontroller, wie in1 veranschaulicht, beinhalten. In alternativen Ausführungsformen kann/können der/die Prozessorkern(e) und der Speichercontroller Teil verschiedener Komponenten sein, die in2 veranschaulicht sind. - Elektronik
200 kann ebenfalls Read Only Memory (ROM) und/oder ein anderes statisches Speichergerät230 gekoppelt mit dem Bus205 umfassen, das statische Information und Anweisungen für den Prozessor210 speichern kann. Das Datenspeichergerät240 kann mit Bus205 gekoppelt sein, um Information und Anweisungen zu speichern. Das Datenspeichergerät240 (beispielsweise eine Magnetdiskette oder optische Disk und ein entsprechendes Laufwerk) kann mit der Elektronik200 gekoppelt sein. - Elektronik
200 kann ebenfalls über den Bus205 mit Anzeigegerät250 gekoppelt sein, wie beispielsweise eine Kathodenstrahlröhre (CRT) oder Flüssigkristallanzeige (LCD), um einem Anwender Information anzuzeigen. Das alphanumerische Eingabegerät260 einschließlich alphanumerischer und anderer Tasten kann mit Bus205 gekoppelt sein, um Information und Befehlsauswahlen zu Prozessor210 zu kommunizieren. Eine andere Art von Benutzereingabegerät ist Cursorsteuerung270 , wie z. B. eine Maus, ein Trackball oder Cursorpfeiltasten Für die Kommunikation von Richtungsanweisungsdaten und Befehlsauswahlen an Prozessor210 sowie für die Steuerung der Cursorbewegung an Anzeige250 . - Elektronik
200 kann weiter Netzwerkschnittstellen280 umfassen, um Zugriff zu einem Netzwerk, wie beispielsweise einem lokalen Netzwerk zu ermöglichen. Die Netzwerkschnittstellen280 können zum Beispiel eine drahtlose Netzwerkschnittstelle einschließen, die Antenne285 aufweist, welche eine oder mehrere Antennen repräsentieren kann. Die Netzwerkschnittstellen280 können ebenfalls beispielsweise eine verdrahtete Netzwerkschnittstelle einschließen, um mit entfernten Geräten über das Netzwerkkabel287 zu kommunizieren, das beispielsweise ein Ethernetkabel, ein Koaxialkabel, ein Lichtwellenleiter, ein serielles Kabel oder ein paralleles Kabel sein kann. - Bei einer Ausführungsform können die Netzwerkschnittstellen
280 Zugriff zu einem lokalen Netzwerk ermöglichen, indem sie beispielsweise dem IEEE 802.11b und/oder IEEE 802.11g Standard entsprechen, und/oder die drahtlose Netzwerkschnittstelle kann Zugriff auf ein Personal Area Network ermöglichen, indem sie beispielsweise Bluetooth-Standards entspricht. Andere drahtlose Netzwerkschnittstellen und/oder Protokolle können ebenfalls unterstützt werden. - IEEE 802.11b entspricht IEEE Std. 802.11b-1999 „Netzwerke in lokalen und Großstadtgebieten, Teil 11: Wireless LAN Medium Access Control (MAC) und Physical Lager (PHY) Spezifikationen: Erweiterung der physikalischen Schicht mit höherer Geschwindigkeit im 2,4-GHz-Band", zugelassen am 16. September 1999, sowie zugehörige Dokumente. IEEE 802.11g entspricht IEEE Std. 802.11g-2003 „Netzwerke in lokalen und Großstadtgebieten, Teil 11: Wireless LAN Medium Access Control (MAC) und Physical Lager (PHY) Spezifikationen, Zusatz 4: Weitere Erweiterung mit höherer Geschwindigkeit im 2,4-GHz-Band", zugelassen am 27. Juni 2003, sowie zugehörige Dokumente. Bluetooth-Protokolle sind beschrieben in „Spezifikation des Bluetooth-Systems: Kern, Version 1.1”, veröffentlicht am 22. Februar 2001 von der Bluetooth Special Interest Group, Inc. Associated, sowie vorherige oder nachfolgende Versionen des Bluetooth-Standards können ebenfalls unterstützt werden.
- Zusätzlich zu oder anstatt Kommunikation über Wireless-LAN-Standards kann/können Netzwerkschnittstelle(n)
280 drahtlose Kommunikationen unter Verwendung von beispielsweise Zeitmultiplexverfahren, Vielfachzugriffs-(TDMA)-Protokollen, Global System for Mobile Communications-(GSM)-Protokollen, Code Division, Multiple Access-(CDMA)-Protokollen und/oder jede andere Art von drahtlosem Datenübertragungsprotokoll ermöglichen. -
3 ist ein Ablaufdiagramm einer Ausführungsform einer Technik für die Bereitstellung der adaptive Skalierung der Speicherfrequenz. Bei einer Ausführungsform wird die Technik von3 durch den oben besprochenen Dynamic Memory Frequency Scaling Controller (DMFSC) durchgeführt. In alternativen Ausführungsformen können andere Systemkomponenten diese Funktionalität bereitstellen. - Das Beispiel von
3 nutzt zwei Schwellenwerte für die Skalierung der Speicherfrequenz. In alternativen Ausführungsformen können mehr als zwei Schwellenwerte verwendet werden, um zum Beispiel eine feinere Frequenzeinstellungsgranularität zu unterstützen. - Der MPF wird bestimmt,
310 . Der MPF kann wie oben beschrieben bestimmt werden. Der MPF wird mit einem ersten Schwellenwert (T1) verglichen,320 . T1 stellt einen MPF-Wert dar, über dem die Betriebsfrequenz des Speichers geändert werden sollte. Wenn MPF größer als T1 ist,320 , wird der Speicherleistungsfaktor erhöht,330 . - Wenn MPF kleiner als T1 ist,
320 , wird der MPF mit einem zweiten Schwellenwert (T2) verglichen,340 . T2 stellt einen MPF-Wert dar, unter dem die Betriebsfrequenz des Speichers geändert werden sollte. Wenn MPF kleiner als T2,340 , ist, wird der Speicherleistungsfaktor verringert,350 . Wenn MPF kleiner als T1,320 , und größer als T2,340 , ist, wird die aktuelle Speicherbetriebsfrequenz beibehalten,380 . - Der Wert des Speicherleistungsfaktorzählers wird zum Überprüfen und für einen möglichen Übergang zwischen den Zuständen eines Zustandsautomaten verwendet, der für die Verwaltung der Speicherbetriebsfrequenz eingesetzt wird. Ein Zustandsdiagramm für eine Ausführungsform des Zustandsautomaten, der wie in
3 beschrieben verwendet werden kann, ist weiter unten in Bezug auf4 näher beschrieben. - Bei einer Ausführungsform wird der Zustand des MPFC-Zustandsautomaten überprüft und mit dem Speicherleistungsfaktorzählerwert verglichen,
360 . Eine Entscheidung zur Leistungsfrequenzänderung wird getroffen,370 , die zumindest teilweise auf dem Vergleich basiert,360 . Das Ergebnis der Entscheidung kann dazu führen, dass die Betriebsfrequenz des Speichers erhöht wird, verringert wird oder gleich bleibt, je nach aktuellen Betriebsparametern des Speichers (z. B. Betriebsfrequenz) sowie den überwachten Bedingungen, wie oben beschrieben. - Daher kann die Betriebsfrequenz des Speichers dynamisch angepasst werden, wenn sich die Systembedingungen ändern. Die hierin beschriebenen Techniken können sowohl Energieeinsparungen als auch Leistungsverbesserungen bringen.
-
4 ist ein Zustandsdiagramm einer Ausführungsform einer Technik für die Bereitstellung der adaptive Skalierung der Speicherfrequenz. Der Zustandsautomat aus4 kann zum Beispiel gemäß der Operation verwendet werden, die in Bezug auf3 beschrieben ist. In alternativen Ausführungsformen können mehr Zustände verwendet werden, um zum Beispiel eine feinere Frequenzeinstellungsgranularität zu unterstützen. - Bei einer Ausführungsform wird die Funktionalität des Zustandsautomaten durch den oben beschriebenen Dynamic Memory Frequency Scaling Controller (DMFSC) bereitgestellt. Bei alternativen Ausführungsformen kann der Zustandsautomat durch eine andere Systemkomponente bereitgestellt werden. Im Zustandsdiagramm von
4 resultieren Zustandsübergänge mit der Bezeichnung A1 aus der Bedingung MPF > T1, wie oben beschrieben. In ähnlicher Weise resultieren Zustandsübergänge mit der Bezeichnung A2 aus der Bedingung MPF < T2, wie oben beschrieben. - Der Zustandsautomat, der den Zuständen von
4 entspricht, bietet eine gewisse Hysterese in Bezug auf die Erhöhung oder Verringerung der Betriebsfrequenz des Speichers. In alternativen Ausführungsformen kann diese Hysterese erhöht oder beseitigt werden. - Im Zustand 00 arbeitet der Speicher mit der niedrigeren der zwei Taktfrequenzen. Unter der Bedingung A2 bleibt der Zustandsautomat im Zustand 00. Als Reaktion auf eine Bedingung A1 geht der Zustandsautomat in Zustand 01 über.
- Im Zustand 01 arbeitet der Speicher mit der niedrigeren der zwei Taktfrequenzen. Unter der Bedingung A2 geht der Zustandsautomat in Zustand 00 über. Als Reaktion auf eine Bedingung A1 geht der Zustandsautomat in Zustand 10 über. Als Reaktion auf den Übergang von Zustand 01 zu Zustand 10 wird die Betriebsfrequenz des Speichers erhöht.
- Im Zustand 10 arbeitet der Speicher mit der höheren der zwei Taktfrequenzen. Unter der Bedingung A2 geht der Zustandsautomat in Zustand 01 über. Als Reaktion auf den Übergang von Zustand 10 zu Zustand 01 wird die Betriebsfrequenz des Speichers verringert. Als Reaktion auf eine Bedingung A1 geht der Zustandsautomat in Zustand 11 über und bleibt bei der höheren Betriebsfrequenz.
- Im Zustand 11 arbeitet der Speicher mit der höheren der zwei Taktfrequenzen. Unter Bedingung A2 geht der Zustandsautomat in Zustand 10 über und bleibt bei der höheren Betriebsfrequenz. Als Reaktion auf eine Bedingung A1 bleibt der Zustandsautomat im Zustand 11 und bleibt bei der höheren Betriebsfrequenz.
- Verweise in der Beschreibung auf „eine Ausführungsform” bedeuten, dass ein bestimmtes Merkmal, eine Struktur oder Charakteristikum, das in Verbindung mit der Ausführungsform beschrieben wird, in zumindest einer erfindungsgemäßen Ausführungsform enthalten ist. Die Verwendung des Ausdrucks „bei einer Ausführungsform” an verschiedenen Stellen in der Beschreibung bezieht sich nicht notwendigerweise immer auf die gleiche Ausführungsform.
- Während die Erfindung bezogen auf verschiedene Ausführungsformen beschrieben wurde, werden Fachleute erkennen, dass die Erfindung nicht auf die beschriebenen Ausführungsformen beschränkt ist, sondern mit Modifikationen und Änderungen im Sinne und innerhalb des Schutzbereichs der angefügten Ansprüche betrieben werden kann. Die Beschreibung soll somit als veranschaulichend anstatt einschränkend angesehen werden.
- ZITATE ENTHALTEN IN DER BESCHREIBUNG
- Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
- Zitierte Nicht-Patentliteratur
-
- IEEE 802.11b [0027]
- IEEE 802.11g [0027]
- IEEE 802.11b [0028]
- IEEE Std. 802.11b-1999 „Netzwerke in lokalen und Großstadtgebieten, Teil 11: Wireless LAN Medium Access Control (MAC) und Physical Lager (PHY) Spezifikationen: Erweiterung der physikalischen Schicht mit höherer Geschwindigkeit im 2,4-GHz-Band”, zugelassen am 16. September 1999 [0028]
- IEEE 802.11g entspricht IEEE Std. 802.11g-2003 „Netzwerke in lokalen und Großstadtgebieten, Teil 11: Wireless LAN Medium Access Control (MAC) und Physical Lager (PHY) Spezifikationen, Zusatz 4: Weitere Erweiterung mit höherer Geschwindigkeit im 2,4-GHz-Band”, zugelassen am 27. Juni 2003 [0028]
Claims (15)
- Verfahren, umfassend; Bestimmen eines Speicherleistungsparameters für mindestens einen Teil eines Speichersystems in einem elektronischen System; Vergleichen des Speicherleistungsparameters mit einem oder mehreren Schwellenwerten; und Anpassen einer Betriebsfrequenz des Speichersystems auf Basis von Ergebnissen des Vergleichs des Speicherleistungsparameters mit dem einen oder der mehreren Schwellenwerte.
- Verfahren nach Anspruch 1, bei dem der Speicherleistungsparameter einen Speicher-Stall-Prozentsatz umfasst.
- Verfahren nach Anspruch 1, wobei der Speicherleistungsparameter ein Produkt aus Speicherbandbreitennutzung und Speicherspekulationsfaktor umfasst.
- Verfahren nach Anspruch 1, wobei der Speicherleistungsparameter einen Speicherenergieverbrauch umfasst
- Verfahren nach Anspruch 1, wobei das Anpassen einer Betriebsfrequenz des Speichersystems auf Basis von Ergebnissen des Vergleichs des Speicherleistungsparameters mit einem oder mehreren Schwellenwerten während des Betriebs eines Hostprozessorkerns durchgeführt wird.
- System, umfassend: einen Prozessorkern mit einem Memory Performance Factor(MPF)-Agenten mit einem Indikator für die Speicherleistung einer Anwendung, wobei der MPF-Agent einen Speicherleistungsmaßstab auf Basis der Speicherleistung erzeugt; einen Speichercontroller gekoppelt mit dem Prozessorkern, wobei der Speichercontroller einen Dynamit Memory Frequency Scaling Controller (DMFSC) und einen Memory Frequency Scaling Engine (MFSE) hat und der DMFSC eine Speicherbetriebsfrequenz gemäß dem Speicherleistungsmaßstab bestimmt und den MFSE dazu bangt, den MPF anzuwenden, damit ein oder mehrere Speichergeräte gemäß der bestimmten Betriebsfrequenz arbeiten.
- System nach Anspruch 6, wobei die Speicherleistung auf Basis von einem oder mehreren Speicherleistungsparametern bestimmt wird.
- System nach Anspruch 7, wobei der eine oder die mehreren Speicherleistungsparameter mindestens einen Speicher-Stall-Prozentsatz umfassen.
- System nach Anspruch 7, wobei der eine oder die mehreren Speicherleistungsparameter mindestens ein Produkt aus Speicherbandbreitennutzung und Speicherspekulationsfaktor umfassen.
- System nach Anspruch 7, wobei der eine oder die mehreren Speicherleistungsparameter mindestens einen Speicherenergieverbrauch umfassen.
- System, umfassend: einen Prozessorkern mit einem Memory Performance Factor(MPF)-Agenten mit einem Indikator für die Speicherleistung einer Anwendung, wobei der MPF-Agent einen Speicherleistungsmaßstab auf Basis der Speicherleistung erzeugt; einen Speichercontroller gekoppelt mit dem Prozessorkern, wobei der Speichercontroller einen Dynamic Memory Frequency Scaling Controller (DMFSC) und einen Memory Frequency Scaling Engine (MFSE) hat und der DMFSC eine Speicherbetriebsfrequenz gemäß dem Speicherleistungsmaßstab bestimmt und den MFSE dazu bringt, dass ein oder mehrere Speichergeräte gemäß der bestimmten Betriebsfrequenz arbeiten; und einen dynamischen Direktzugriffsspeicher gekoppelt mit dem Speichercontroller für den Betrieb bei der bestimmten Betriebsfrequenz.
- System nach Anspruch 11, wobei die Speicherleistung auf Basis von einem oder mehreren Speicherleistungsparametern bestimmt wird.
- System nach Anspruch 11, wobei der eine oder die mehreren Speicherleistungsparameter mindestens einen Speicher-Stall-Prozentsatz umfassen.
- System nach Anspruch 11, wobei der eine oder die mehreren Speicherleistungsparameter mindestens ein Produkt aus Speicherbandbreitennutzung und Speicherspekulationsfaktor umfassen.
- System nach Anspruch 11, wobei der eine oder die mehreren Speicherleistungsparameter mindestens einen Speicherenergieverbrauch umfassen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/821,874 | 2010-06-23 | ||
US12/821,874 US8327172B2 (en) | 2010-06-23 | 2010-06-23 | Adaptive memory frequency scaling |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102011102871A1 true DE102011102871A1 (de) | 2011-12-29 |
DE102011102871B4 DE102011102871B4 (de) | 2017-04-06 |
Family
ID=44310584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102011102871.8A Expired - Fee Related DE102011102871B4 (de) | 2010-06-23 | 2011-05-31 | Adaptive Skalierung der Speicherfrequenz |
Country Status (5)
Country | Link |
---|---|
US (1) | US8327172B2 (de) |
KR (1) | KR101288667B1 (de) |
CN (1) | CN102314191B (de) |
DE (1) | DE102011102871B4 (de) |
GB (1) | GB2481492B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013216237B4 (de) | 2012-08-15 | 2024-10-24 | Nvidia Corporation | Verfahren und System zum automatischen Clock-Gating eines Taktgitters bei einer Taktquelle |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804100B (zh) | 2010-03-24 | 2016-03-30 | 惠普发展公司,有限责任合伙企业 | 功率封顶反馈归一化 |
US8510598B2 (en) * | 2010-03-29 | 2013-08-13 | Dot Hill Systems Corporation | Buffer management method and apparatus for power reduction during flush operation |
US8438410B2 (en) * | 2010-06-23 | 2013-05-07 | Intel Corporation | Memory power management via dynamic memory operation states |
US9104421B2 (en) | 2012-07-30 | 2015-08-11 | Nvidia Corporation | Training, power-gating, and dynamic frequency changing of a memory controller |
US9395799B2 (en) | 2012-08-09 | 2016-07-19 | Nvidia Corporation | Power management techniques for USB interfaces |
US9183041B2 (en) * | 2012-09-21 | 2015-11-10 | International Business Machines Corporation | Input/output traffic backpressure prediction |
KR102012904B1 (ko) * | 2012-11-30 | 2019-08-21 | 삼성전자주식회사 | 반도체 집적회로와 그 동작 방법 |
US9939883B2 (en) | 2012-12-27 | 2018-04-10 | Nvidia Corporation | Supply-voltage control for device power management |
KR20140111896A (ko) * | 2013-03-12 | 2014-09-22 | 삼성전자주식회사 | 애플리케이션 프로세서 및 이의 동작 방법 |
US9298243B2 (en) * | 2013-07-01 | 2016-03-29 | Advanced Micro Devices, Inc. | Selection of an operating point of a memory physical layer interface and a memory controller based on memory bandwidth utilization |
US9766649B2 (en) | 2013-07-22 | 2017-09-19 | Nvidia Corporation | Closed loop dynamic voltage and frequency scaling |
US9602083B2 (en) | 2013-07-03 | 2017-03-21 | Nvidia Corporation | Clock generation circuit that tracks critical path across process, voltage and temperature variation |
US10466763B2 (en) | 2013-12-02 | 2019-11-05 | Nvidia Corporation | Dynamic voltage-frequency scaling to limit power transients |
KR102670999B1 (ko) | 2016-12-28 | 2024-05-30 | 삼성전자주식회사 | Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법 |
EP3819744A4 (de) | 2018-08-30 | 2021-07-07 | Huawei Technologies Co., Ltd. | Frequenzanpassungsverfahren, vorrichtung und computerlesbares speichermedium |
CN110851273B (zh) * | 2019-10-31 | 2022-07-15 | 山东省计算中心(国家超级计算济南中心) | 一种基于混合内存的程序处理方法和基于混合内存的设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860106A (en) | 1995-07-13 | 1999-01-12 | Intel Corporation | Method and apparatus for dynamically adjusting power/performance characteristics of a memory subsystem |
KR100238188B1 (ko) | 1997-09-12 | 2000-01-15 | 윤종용 | 비디오 콘트롤러에서 메모리클럭 발생방법 및 그 장치 |
WO1999019874A1 (en) | 1997-10-10 | 1999-04-22 | Rambus Incorporated | Power control system for synchronous memory device |
US6460125B2 (en) * | 1998-08-07 | 2002-10-01 | Ati Technologies, Inc. | Dynamic memory clock control system and method |
US7814485B2 (en) * | 2004-12-07 | 2010-10-12 | Intel Corporation | System and method for adaptive power management based on processor utilization and cache misses |
JP4209906B2 (ja) * | 2006-08-02 | 2009-01-14 | 株式会社日立製作所 | 低消費電力メモリ管理方法及びその方法を用いた計算機 |
US7836314B2 (en) * | 2006-08-21 | 2010-11-16 | International Business Machines Corporation | Computer system performance estimator and layout configurator |
JP4232121B2 (ja) * | 2006-12-28 | 2009-03-04 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに記録媒体 |
US8078890B2 (en) * | 2007-09-11 | 2011-12-13 | Dell Products L.L.P. | System and method for providing memory performance states in a computing system |
US8006108B2 (en) * | 2007-11-08 | 2011-08-23 | International Business Machines Corporation | Dynamic selection of group and device power limits |
JP5119882B2 (ja) * | 2007-11-21 | 2013-01-16 | 富士通株式会社 | メモリクロック設定機能を有する情報処理装置およびメモリクロック設定方法 |
US8397097B2 (en) * | 2008-04-09 | 2013-03-12 | Nec Corporation | Computer system and operating method thereof |
US8639862B2 (en) * | 2009-07-21 | 2014-01-28 | Applied Micro Circuits Corporation | System-on-chip queue status power management |
-
2010
- 2010-06-23 US US12/821,874 patent/US8327172B2/en active Active
-
2011
- 2011-05-26 GB GB1109042.0A patent/GB2481492B/en not_active Expired - Fee Related
- 2011-05-31 DE DE102011102871.8A patent/DE102011102871B4/de not_active Expired - Fee Related
- 2011-06-22 KR KR1020110060599A patent/KR101288667B1/ko active IP Right Grant
- 2011-06-23 CN CN201110170969.XA patent/CN102314191B/zh not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
IEEE 802.11b |
IEEE 802.11g |
IEEE 802.11g entspricht IEEE Std. 802.11g-2003 "Netzwerke in lokalen und Großstadtgebieten, Teil 11: Wireless LAN Medium Access Control (MAC) und Physical Lager (PHY) Spezifikationen, Zusatz 4: Weitere Erweiterung mit höherer Geschwindigkeit im 2,4-GHz-Band", zugelassen am 27. Juni 2003 |
IEEE Std. 802.11b-1999 "Netzwerke in lokalen und Großstadtgebieten, Teil 11: Wireless LAN Medium Access Control (MAC) und Physical Lager (PHY) Spezifikationen: Erweiterung der physikalischen Schicht mit höherer Geschwindigkeit im 2,4-GHz-Band", zugelassen am 16. September 1999 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013216237B4 (de) | 2012-08-15 | 2024-10-24 | Nvidia Corporation | Verfahren und System zum automatischen Clock-Gating eines Taktgitters bei einer Taktquelle |
Also Published As
Publication number | Publication date |
---|---|
US8327172B2 (en) | 2012-12-04 |
DE102011102871B4 (de) | 2017-04-06 |
GB2481492A (en) | 2011-12-28 |
KR20110139659A (ko) | 2011-12-29 |
US20110320846A1 (en) | 2011-12-29 |
CN102314191B (zh) | 2014-12-17 |
CN102314191A (zh) | 2012-01-11 |
GB2481492B (en) | 2012-11-07 |
KR101288667B1 (ko) | 2013-07-22 |
GB201109042D0 (en) | 2011-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102011102871B4 (de) | Adaptive Skalierung der Speicherfrequenz | |
DE102011102238A1 (de) | Speicherenergiemanagement über dynamische Speicherbetriebszustände | |
DE112012002664B4 (de) | Erhöhen der Energieeffizienz des Turbo-Modus-Betriebs in einem Prozessor | |
DE112012000749B4 (de) | Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors | |
DE112012003701B4 (de) | Dynamisches Zuordnen eines Leistungsbudgets über mehrere Domänen eines Prozessors | |
DE102007051841B4 (de) | Unabhängige Energiesteuerung von Prozessorkernen | |
US9928245B2 (en) | Method and apparatus for managing memory space | |
DE102012216035B4 (de) | Aktivierung der drosselung auf den durchschnittlichen schreibdurchsatz bei festkörperspeichereinheiten | |
DE102010013228B4 (de) | Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern | |
US7383369B2 (en) | Managing a resource lock | |
DE112019000167B4 (de) | Anpassbare Lesewiederholungsreihenfolge basierend auf einem Decodierungserfolgstrend | |
US20120311295A1 (en) | System and method of optimization of in-memory data grid placement | |
DE112008000968T5 (de) | Nicht-flüchtiger Speicher mit erweitertem Betriebstemperaturbereich | |
DE102013109238A1 (de) | Verfahren zum Durchführen eines dynamischen Spannungs- und Frequenz-Skalierungsbetriebs, Verfahren durchführender Anwendungsprozessor und mobile Vorrichtung mit dem Anwendungsprozessor | |
DE112013006241T5 (de) | Techniken für Plattform-Arbeitszyklus-Wechsel | |
DE112018003087T5 (de) | On-chip-rauschunterdrückung oder -minderung der versorgungsspannung unter verwendung von lokalen detektionsschleifen in einem prozessorkern | |
EP2983089B1 (de) | Verfahren, vorrichtung und chip zur durchführung eines gegenseitigen exklusiven betriebs von mehreren threads | |
DE102021121196A1 (de) | Quantenrechensysteme, Einrichtungen und Verfahren | |
DE112018005359T5 (de) | Verhindern eines Beibehaltens von Datensatzsperren durch Transaktionen mit langer Laufzeit | |
DE202015009257U1 (de) | Verwaltung eines Anweisungscache | |
DE112013003712T5 (de) | Impulsbreitenmodulations-Empfängerschaltungsanordnung | |
DE102014002370A1 (de) | Anzeigen eines kritischen batteriestatus in mobilen einrichtungen | |
DE112007003007T5 (de) | Verfahren und Vorrichtung für die Energieverwaltung bei einem Prozessor | |
DE102016105832A1 (de) | Aspekte zur Ermittlung der Ladungskapazität einer Batterie | |
DE112013002011B4 (de) | Minimieren der Leistungsaufnahme für den Betrieb einer Verarbeitungseinheit mit fester Frequenz |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |