DE102011102871B4 - Adaptive Skalierung der Speicherfrequenz - Google Patents

Adaptive Skalierung der Speicherfrequenz Download PDF

Info

Publication number
DE102011102871B4
DE102011102871B4 DE102011102871.8A DE102011102871A DE102011102871B4 DE 102011102871 B4 DE102011102871 B4 DE 102011102871B4 DE 102011102871 A DE102011102871 A DE 102011102871A DE 102011102871 B4 DE102011102871 B4 DE 102011102871B4
Authority
DE
Germany
Prior art keywords
memory
performance
frequency
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.)
Expired - Fee Related
Application number
DE102011102871.8A
Other languages
English (en)
Other versions
DE102011102871A1 (de
Inventor
Howard S. David
Eugene Gorbatov
Hongzhong Zheng
Ulf R. Hanebutte
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 DE102011102871A1 publication Critical patent/DE102011102871A1/de
Application granted granted Critical
Publication of DE102011102871B4 publication Critical patent/DE102011102871B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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.
  • US 2009/0070605 A1 offenbart ein System und Verfahren zur Bereitstellung von Speicherleistungszuständen in einem Computersystem. Eine Komponente des Computersystems stellt eine Reihe von Leistungszuständen bereit, wobei jeder Leistungsstatus durch eine Anzahl von Faktoren bestimmt ist, einschließlich der Kernfrequenz des Speichers. Die Komponente definiert auch die Anzahl von Speicherleistungszuständen, die vom Computersystem unterstützt werden und die Anzahl der unterstützten Speicherleistungszustände, die zur Verwendung durch das Computersystem zur Verfügung stehen.
  • US 2006/0123253 A1 offenbart ein System und ein Verfahren für ein adaptives Leistungsmanagement.
  • US 6,263,448 B1 offenbart eine Speichervorrichtung mit mehreren Taktdomänen. Die verschiedenen Domänen werden sequenziell nach Bedarf eingeschaltet, um den verbrauchten Storm zu begrenzen.
  • US 6,112,310 offenbart einen Videocontroller zum automatischen Variieren einer Speichertaktfrequenz entsprechend der Anzahl von Befehlen zum Steuern eines Speichers.
  • US 5,860,106 offenbart ein Verfahren und eine Vorrichtung zum dynamischen Einstellen von Leistungseigenschaften eines Speichersubsystems.
  • Es ist die Aufgabe der vorliegenden Erfindung ein verbessertes Verfahren bereitzustellen mit dem die Speicherleerlaufenergie verringert und die Speicherenergieeffizienz verbessert werden kann sowie ein entsprechendes System.
  • Diese Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen gemäß dem Hauptanspruch sowie durch ein System mit den Merkmalen gemäß dem nebengeordneten Anspruch 6.
  • Ausführungsformen der Erfindung sind in den Unteransprüchen angegeben.
  • 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 Fällen 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 Prozessorkern 100 und Speichercontroller 150, 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 Prozessorkerns 100, 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 DMFSC 160 kann die MFSE 180 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 in 2 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 Bus 205 oder ein anderes Kommunikationsgerät, um Information zu kommunizieren, und Prozessor 210 gekoppelt mit Bus 205, welcher Information verarbeiten kann. Während elektronisches System 200 mit einem einzelnen Prozessor veranschaulicht ist, kann elektronisches System 200 mehrere Prozessoren und/oder Koprozessoren und/oder mehrere Prozessorkerne enthalten. Elektronik 200 kann weiter Random Access Memory (RAM) oder ein anderes dynamisches Speichergerät 220 (als Hauptspeicher bezeichnet), das mit dem Bus 205 gekoppelt ist, umfassen, und sie kann Information und Anweisungen speichern, die durch den Prozessor 210 ausgeführt werden können. Der Hauptspeicher 220 kann auch zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen durch Prozessor 210 verwendet werden.
  • Bei einer Ausführungsform kann/können Prozessor(en) 210 sowohl einen Prozessorkern als auch einen Speichercontroller, wie in 1 veranschaulicht, beinhalten. In alternativen Ausführungsformen kann/können der/die Prozessorkern(e) und der Speichercontroller Teil verschiedener Komponenten sein, die in 2 veranschaulicht sind.
  • Elektronik 200 kann ebenfalls Read Only Memory (ROM) und/oder ein anderes statisches Speichergerät 230 gekoppelt mit dem Bus 205 umfassen, das statische Information und Anweisungen für den Prozessor 210 speichern kann. Das Datenspeichergerät 240 kann mit Bus 205 gekoppelt sein, um Information und Anweisungen zu speichern. Das Datenspeichergerät 240 (beispielsweise eine Magnetdiskette oder optische Disk und ein entsprechendes Laufwerk) kann mit der Elektronik 200 gekoppelt sein.
  • Elektronik 200 kann ebenfalls über den Bus 205 mit Anzeigegerät 250 gekoppelt sein, wie beispielsweise eine Kathodenstrahlröhre (CRT) oder Flüssigkristallanzeige (LCD), um einem Anwender Information anzuzeigen. Das alphanumerische Eingabegerät 260 einschließlich alphanumerischer und anderer Tasten kann mit Bus 205 gekoppelt sein, um Information und Befehlsauswahlen zu Prozessor 210 zu kommunizieren. Eine andere Art von Benutzereingabegerät ist Cursorsteuerung 270, wie z. B. eine Maus, ein Trackball oder Cursorpfeiltasten für die Kommunikation von Richtungsanweisungsdaten und Befehlsauswahlen an Prozessor 210 sowie für die Steuerung der Cursorbewegung an Anzeige 250.
  • Elektronik 200 kann weiter Netzwerkschnittstellen 280 umfassen, um Zugriff zu einem Netzwerk, wie beispielsweise einem lokalen Netzwerk zu ermöglichen. Die Netzwerkschnittstellen 280 können zum Beispiel eine drahtlose Netzwerkschnittstelle einschließen, die Antenne 285 aufweist, welche eine oder mehrere Antennen repräsentieren kann. Die Netzwerkschnittstellen 280 können ebenfalls beispielsweise eine verdrahtete Netzwerkschnittstelle einschließen, um mit entfernten Geräten über das Netzwerkkabel 287 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 Layer (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 Layer (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 von 3 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 auf 4 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 aus 4 kann zum Beispiel gemäß der Operation verwendet werden, die in Bezug auf 3 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.

Claims (11)

  1. Verfahren, umfassend: Bestimmen (310) eines Speicherleistungsparameters für mindestens einen Teil eines Speichersystems in einem elektronischen System; Vergleichen (320, 340) des Speicherleistungsparameters mit einem oder mehreren Schwellenwerten; und Anpassen (370) einer Betriebsfrequenz des Speichersystems auf Basis von Ergebnissen des Vergleichs des Speicherleistungsparameters mit dem einen oder der mehreren Schwellenwerte.
  2. Verfahren nach Anspruch 1, bei dem der Speicherleistungsparameter einen Speicher-Stall-Prozentsatz umfasst.
  3. Verfahren nach Anspruch 1, wobei der Speicherleistungsparameter ein Produkt aus Speicherbandbreitennutzung und Speicherspekulationsfaktor umfasst.
  4. Verfahren nach Anspruch 1, wobei der Speicherleistungsparameter einen Speicherenergieverbrauch umfasst.
  5. Verfahren nach Anspruch 1, wobei das Anpassen der 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.
  6. System, umfassend: einen Prozessorkern (100) mit einem Memory Performance Factor (120), 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 (150) gekoppelt mit dem Prozessorkern (100), wobei der Speichercontroller (150) einen Dynamic Memory Frequency Scaling Controller (160), DMFSC, und einen Memory Frequency Scaling Engine (180), MFSE, hat und der DMFSC (160) eine Speicherbetriebsfrequenz gemäß dem Speicherleistungsmaßstab bestimmt und den MFSE (180) dazu bringt, den MPF (120) anzuwenden, damit ein oder mehrere Speichergeräte gemäß der bestimmten Betriebsfrequenz arbeiten.
  7. System nach Anspruch 6, wobei die Speicherleistung auf Basis von einem oder mehreren Speicherleistungsparametern bestimmt wird.
  8. System nach Anspruch 7, wobei der eine oder die mehreren Speicherleistungsparameter mindestens einen Speicher-Stall-Prozentsatz umfassen.
  9. System nach Anspruch 7, wobei der eine oder die mehreren Speicherleistungsparameter mindestens ein Produkt aus Speicherbandbreitennutzung und Speicherspekulationsfaktor umfassen.
  10. System nach Anspruch 7, wobei der eine oder die mehreren Speicherleistungsparameter mindestens einen Speicherenergieverbrauch umfassen.
  11. System nach einem der Ansprüche 6 bis 10, das mit einem dynamischen Direktzugriffsspeicher gekoppelt und mit einem Speichercontroller für den Betrieb bei der bestimmten Betriebsfrequenz verwendet wird.
DE102011102871.8A 2010-06-23 2011-05-31 Adaptive Skalierung der Speicherfrequenz Expired - Fee Related DE102011102871B4 (de)

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 DE102011102871A1 (de) 2011-12-29
DE102011102871B4 true 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)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102804100B (zh) 2010-03-24 2016-03-30 惠普发展公司,有限责任合伙企业 功率封顶反馈归一化
US8694812B2 (en) * 2010-03-29 2014-04-08 Dot Hill Systems Corporation Memory calibration method and apparatus for power reduction during flash 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
US9323315B2 (en) 2012-08-15 2016-04-26 Nvidia Corporation Method and system for automatic clock-gating of a clock grid at a clock source
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
US9602083B2 (en) 2013-07-03 2017-03-21 Nvidia Corporation Clock generation circuit that tracks critical path across process, voltage and temperature variation
US9766649B2 (en) 2013-07-22 2017-09-19 Nvidia Corporation Closed loop dynamic voltage and frequency scaling
US10466763B2 (en) 2013-12-02 2019-11-05 Nvidia Corporation Dynamic voltage-frequency scaling to limit power transients
US10747297B2 (en) 2016-12-28 2020-08-18 Samsung Electronics Co., Ltd. Application processor performing a dynamic voltage and frequency scaling operation, computing system including the same, and operation method thereof
WO2020042098A1 (zh) * 2018-08-30 2020-03-05 华为技术有限公司 一种调频方法、装置及计算机可读存储介质
CN110851273B (zh) * 2019-10-31 2022-07-15 山东省计算中心(国家超级计算济南中心) 一种基于混合内存的程序处理方法和基于混合内存的设备

Citations (5)

* Cited by examiner, † Cited by third party
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
US6112310A (en) * 1997-09-12 2000-08-29 Samsung Electronics Co., Ltd. Technique for generating memory clock in video controller
US6263448B1 (en) * 1997-10-10 2001-07-17 Rambus Inc. Power control system for synchronous memory device
US20060123253A1 (en) * 2004-12-07 2006-06-08 Morgan Bryan C System and method for adaptive power management
US20090070605A1 (en) * 2007-09-11 2009-03-12 Dell Products L.P System and Method for Providing Memory Performance States in a Computing System

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460125B2 (en) * 1998-08-07 2002-10-01 Ati Technologies, Inc. Dynamic memory clock control system and method
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 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
US6112310A (en) * 1997-09-12 2000-08-29 Samsung Electronics Co., Ltd. Technique for generating memory clock in video controller
US6263448B1 (en) * 1997-10-10 2001-07-17 Rambus Inc. Power control system for synchronous memory device
US20060123253A1 (en) * 2004-12-07 2006-06-08 Morgan Bryan C System and method for adaptive power management
US20090070605A1 (en) * 2007-09-11 2009-03-12 Dell Products L.P System and Method for Providing Memory Performance States in a Computing System

Also Published As

Publication number Publication date
US8327172B2 (en) 2012-12-04
CN102314191A (zh) 2012-01-11
KR20110139659A (ko) 2011-12-29
DE102011102871A1 (de) 2011-12-29
GB2481492B (en) 2012-11-07
KR101288667B1 (ko) 2013-07-22
CN102314191B (zh) 2014-12-17
US20110320846A1 (en) 2011-12-29
GB2481492A (en) 2011-12-28
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
DE112012003701B4 (de) Dynamisches Zuordnen eines Leistungsbudgets über mehrere Domänen eines Prozessors
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
US9557804B2 (en) Dynamic power limit sharing in a platform
DE102020120019A1 (de) Proaktive di/dt-spannungs-dachabfall-abschwächung
DE102012219907B4 (de) Erhöhen der Speicherkapazität in Systemen mit eingeschränkter elektrischer Leistungsaufnahme
DE112013005287B4 (de) Prozessor mit heterogenen physischen Kernen und in einem Prozessor mit heterogenen physischen Kernen implementiertes Verfahren
DE102010013228B4 (de) Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern
DE102010029209B4 (de) Verfahren zur dynamischen Verteilung von einem oder mehreren Diensten in einem Netz aus einer Vielzahl von Rechnern
DE112006003575T5 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE112013006241T5 (de) Techniken für Plattform-Arbeitszyklus-Wechsel
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
DE102013104329A1 (de) Aufgabenzuteilung in großen und kleinen Kernen
DE112014002754T5 (de) Effiziente Aufgabenplanung unter Verwendung eines Sperrmechanismus
DE112018003087T5 (de) On-chip-rauschunterdrückung oder -minderung der versorgungsspannung unter verwendung von lokalen detektionsschleifen in einem prozessorkern
DE112020004661T5 (de) Ermitteln einer optimalen Anzahl von Threads pro Kern in einem Mehrkern-Prozessorkomplex
DE202015009257U1 (de) Verwaltung eines Anweisungscache
DE112013003712T5 (de) Impulsbreitenmodulations-Empfängerschaltungsanordnung
CN112527509B (zh) 一种资源分配方法、装置、电子设备及存储介质
DE112007003007T5 (de) Verfahren und Vorrichtung für die Energieverwaltung bei einem Prozessor
DE102016105832A1 (de) Aspekte zur Ermittlung der Ladungskapazität einer Batterie
DE112018005359T5 (de) Verhindern eines Beibehaltens von Datensatzsperren durch Transaktionen mit langer Laufzeit

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