DE102020118897A1 - Verfahren und Vorrichtung zum Reduzieren des Leistungsverbrauchs für dieAktualisierung von Speicherbauelementen auf einem Speichermodul - Google Patents

Verfahren und Vorrichtung zum Reduzieren des Leistungsverbrauchs für dieAktualisierung von Speicherbauelementen auf einem Speichermodul Download PDF

Info

Publication number
DE102020118897A1
DE102020118897A1 DE102020118897.8A DE102020118897A DE102020118897A1 DE 102020118897 A1 DE102020118897 A1 DE 102020118897A1 DE 102020118897 A DE102020118897 A DE 102020118897A DE 102020118897 A1 DE102020118897 A1 DE 102020118897A1
Authority
DE
Germany
Prior art keywords
memory
memory module
update
temperature
update rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020118897.8A
Other languages
English (en)
Inventor
Douglas Heymann
Wei Chen
Suresh Chittor
George Vergis
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 DE102020118897A1 publication Critical patent/DE102020118897A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • G01MEASURING; TESTING
    • G01KMEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
    • G01K13/00Thermometers specially adapted for specific purposes
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40626Temperature related aspects of refresh operations
    • 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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Dram (AREA)

Abstract

Der Leistungsverbrauch für die Aktualisierung von Speicherbauelementen auf einem Speichermodul wird durch jedes Speicherbauelement auf dem Speichermodul auf einen von einer Mehrzahl von Unterkanälen auf dem Speichermodul reduziert. Jeder Unterkanal hat einen thermischen Sensor, der die Temperatur der DRAM-Chips in der Region überwacht. Die Aktualisierungsrate wird nur für die Speicherbauelemente in dem Unterkanal erhöht, in dem die Speicherbauelemente über einer vordefinierten hohen Temperatur arbeiten. Dies führt zu einer Verringerung der durch das Speichermodul für die Aktualisierung benötigten Leistung und einer Erhöhung der maximalen Bandbreite des Speichermoduls.

Description

  • GEBIET
  • Diese Offenbarung bezieht sich auf Speichermodule und insbesondere auf die Aktualisierung (refresh) von flüchtigen Speicherbauelementen auf einem Speichermodul.
  • HINTERGRUND
  • Ein Speichermodul ist eine gedruckte Schaltungsplatine, auf der Speicher-integrierte-Schaltungen („Chips“) über einen Verbinder (auch als „Buchse“ bezeichnet) auf einer anderen gedruckten Schaltungsplatine, z.B. einer Hauptplatine, befestigt werden. Der Verbinder wird auf der Hauptplatine installiert und ein Speichermodul wird in den Verbinder eingesetzt. Der Verbinder ermöglicht eine Zwischenverbindung zwischen einem Speichermodul und einer Schaltung auf der Hauptplatine.
  • Ein doppelreihiges Speichermodul (dual in-line memory module; DIMM) hat separate elektrische Kontakte auf jeder Seite des Speichermoduls. Ein Speicherrang ist ein Satz von Speicherchips, die mit derselben Chip-Auswahl verbunden sind. Ein Einzel-Rang- (Single-Rank) DIMM verfügt über einen Satz von Speicher-integrierten Schaltungen, auf den beim Schreiben in den oder Lesen aus dem Speicher zugegriffen wird. Ein Doppel-Rang- (Dual-Rank) DIMM entspricht zwei Einzel-Rang-DIMMs auf demselben Modul, wobei jeweils nur ein Rang zugreifbar ist. Ein Vierfach-Rang- (Quad-Rank) DIMM entspricht zwei Doppel-Rang-DIMMs auf demselben Modul.
  • LR-DIMM-Module (Load Reduced Double Data Rate Dual In-Line Memory Module; Lastreduzierte Doppeldatenrate-DIMM-Module) reduzieren die elektrische Belastung auf dem Speicherbus durch Einschließen von Speicherpuffer. Der Speicherpuffer erhöht die Speicherbusgeschwindigkeit, indem er die Last für jeden Takt, Befehl, Adresse und Dateneingabe reduziert.
  • Figurenliste
  • Merkmale von Ausführungsbeispielen des beanspruchten Gegenstands werden aus der Ausführung der nachfolgenden detaillierten Beschreibung und unter Verweis auf die Zeichnungen hervorgehen, wobei gleiche Bezugszeichen gleiche Teile bezeichnen und bei denen gilt:
    • 1 ist ein Blockdiagramm eines Temperaturprofils eines Speichermoduls umfassend eine Mehrzahl von DRAM-Chips und zwei Temperatursensoren;
    • 2 ist ein Blockdiagramm eines Ausführungsbeispiels eines Systems mit einem Speicherteilsystem, das zumindest ein mit einer Speichersteuerung gekoppeltes Speichermodul umfasst;
    • 3 ist ein Blockdiagramm, das die Schnittstelle zwischen der Speichersteuerung und einem Speichermodul darstellt, um die Temperatur des Speichermoduls zu überwachen, um Aktualisierungsraten für Speicherbauelemente auf dem Speichermodul auszuwählen;
    • 4 ist ein Flussdiagramm, das ein Verfahren darstellt, das durch die in 3 gezeigte Speichersteuerung ausgeführt wird, um die Temperatur in jedem Unterkanal des Speichermoduls zu überwachen und die Aktualisierungsrate für die Speicherbauelemente in dem Unterkanal basierend auf der aus den Temperatursensoren auf dem Speichermodul gelesenen Temperatur einzustellen; und
    • 5 ist ein Blockdiagramm eines Ausführungsbeispiels eines Computersystems, das das Speichermodul umfasst.
  • Obwohl die folgende detaillierte Beschreibung unter Bezugnahme auf veranschaulichende Ausführungsbeispiele des beanspruchten Gegenstands fortgesetzt wird, sind für Fachleute auf dem Gebiet viele Alternativen, Modifizierungen und Variationen davon ersichtlich. Dementsprechend ist beabsichtigt, dass der beanspruchte Gegenstand umfassend betrachtet wird und so definiert wird, wie es in den beiliegenden Ansprüchen dargelegt ist.
  • BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
  • Das DIMM kann einen dynamischen (Lese-/Schreib-)Speicher umfassen, einen flüchtigen Lese-/Schreibspeicher, in dem die Zellen die wiederholte Anwendung von Steuersignalen erfordern, die innerhalb oder außerhalb der integrierten Schaltung erzeugt werden, um die gespeicherten Daten zu behalten. Jede sich wiederholende Anwendung der Steuersignale wird normalerweise als ein(e) Aktualisierungsoperation oder -zyklus bezeichnet.
  • Ein Aktualisierungszeitintervall ist das Zeitintervall zwischen den Anfängen aufeinanderfolgender Signale, die den Pegel (level) in einer dynamischen Speicherzelle wieder auf ihren ursprünglichen Pegel wiederherstellen sollen. Das Aktualisierungszeitintervall wird durch das System bestimmt, in dem der dynamische Speicher arbeitet. Es wird ein Maximalwert angegeben, der das längste Intervall ist, für das ein korrekter Betrieb des dynamischen Speichers zu erwarten ist.
  • Das maximale Zeitintervall zwischen Aktualisierungsoperationen liegt bei dynamischem (Lese-/Schreib-)Speicher, z. B. dynamischem Direktzugriffsspeicher (Dynamic Random Access Memory; DRAM), üblicherweise im Bereich von Millisekunden und ist abhängig von dem Verhältnis der in den Speicherzellenkondensatoren gespeicherten Ladung zu den Leckströmen. Leckströme nehmen mit der Temperatur zu, so dass das Zeitintervall zwischen Aktualisierungsoperationen mit zunehmender Temperatur verringert wird. Beispielsweise wird das Zeitintervall zwischen Aktualisierungsoperationen üblicherweise um den Faktor 2 verringert (d. h. die Aktualisierungsrate wird erhöht), wenn die Temperatur des DRAMs 85°C (185°F) übersteigt.
  • Aktualisierungsoperationen im DRAM verbrauchen Leistung und reduzieren die Bandbreite für den Speicherzugriff (Lese-/Schreiboperationen). Beispielsweise könnte der Anstieg des Leistungsverbrauchs bei einem 16 Gigabit (Gb) Quad Rank Load Reduced Double Data Rate Dual In-Line Memory Module (Vierfach-Rang-lastreduzierten Doppeldatenrate-DIMM-Modul) mit synchronen dynamischen Direktzugriffspeicher-(synchronous dynamic random access memory; SDRAM-) Bauelementen, die mit Speichertechnologien wie z.B. DDR5 (Double Data Rate (Doppeldatenrate) Version 5) kompatibel sind, die derzeit durch JEDEC (Joint Electronic Device Engineering Council) diskutiert werden), wenn das Zeitintervall zwischen Aktualisierungsoperationen um einen Faktor 2 verringert wird, etwa 5 Watt betragen. Wenn jedoch das Zeitintervall zwischen den Aktualisierungen nicht verringert wird, ist die Kühlkapazität auf 85°C (185°F) begrenzt.
  • Alle integrierten DRAM-Schaltungen („Chips“) auf dem Speichermodul werden mit der gleichen Aktualisierungsrate aktualisiert, aber alle integrierten DRAM-Schaltungen („Chips“) auf einem DIMM arbeiten nicht bei der gleichen Temperatur. Einige DRAM-Chips können bei einer niedrigen Temperatur unter 85°C (185°F) und andere können zwischen 85°C (185°F) und 95°C (203°F) arbeiten. Das Zeitintervall zwischen den Aktualisierungsoperationen muss nur für die DRAM-Chips auf dem Speichermodul verringert werden, die zwischen 85°C (185°F) und 95°C (203°F) arbeiten.
  • Jeder DRAM-Chip auf einem Speichermodul kann einer von einer Mehrzahl von Regionen auf dem Speichermodul zugewiesen werden. Jede Region hat einen thermischen Sensor, der die Temperatur der DRAM-Chips in der Region überwacht. Der Temperaturgradient von einem DRAM-Chip in einer Region an einem Ende des Speichermoduls zu einem DRAM-Chip am anderen Ende des Speichermoduls kann etwa 13°C (55°F) betragen. Die Aktualisierungsrate wird nur für die Region erhöht, in der DRAM-Chips zwischen 85°C (185°F) und 95°C (203°F) arbeiten. Dadurch wird die durch das Speichermodul für die Aktualisierung benötigte Leistung reduziert, die DIMM-Kühlgrenzbedingung von 95°C beibehalten und die maximale Bandbreite erhöht, da die Aktualisierung weniger Verkehr auf dem Datenbus verbraucht.
  • Verschiedene Ausführungsbeispiele und Aspekte der Erfindungen werden Bezug nehmend auf nachfolgend erörterte Details beschrieben, und die beigefügten Zeichnungen stellen die verschiedenen Ausführungsbeispiele dar. Die folgende Beschreibung und Zeichnungen veranschaulichen die Erfindung und sind nicht als Einschränkung der Erfindung auszulegen. Zahlreiche spezifische Details sind beschrieben, um ein tiefgreifendes Verständnis der verschiedenen Ausführungsbeispiele der vorliegenden Erfindung bereitzustellen. Jedoch sind in bestimmten Fällen bekannte oder herkömmliche Details nicht beschrieben, um eine prägnante Erörterung von Ausführungsbeispielen der vorliegenden Erfindungen bereitzustellen.
  • In der Beschreibung bedeutet ein Bezug auf „das eine Ausführungsbeispiel“ oder „ein Ausführungsbeispiel“, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Charakteristik, das/die in Verbindung mit dem Ausführungsbeispiel beschrieben ist, bei zumindest einem Ausführungsbeispiel der Erfindung umfasst sein kann. Somit bezieht sich das Auftreten der Phrase „bei einem Ausführungsbeispiel“ an verschiedenen Stellen in der Beschreibung nicht notwendigerweise auf das gleiche Ausführungsbeispiel.
  • 1 ist ein Blockdiagramm eines Temperaturprofils eines Speichermoduls 100, das eine Mehrzahl von DRAM-Chips 104-1, ..., 104-8 und zwei Temperatursensoren 106, 108 umfasst. Das Speichermodul 100 hat zwei Unterkanäle 102a, 102b mit vier DRAM-Chips 104-1, ...104-4 und Temperatursensor 106 im Unterkanal 102a, und vier DRAM-Chips 104-5, ...104-8 und Temperatursensor 108 im Unterkanal 102b. Die Luftstromrichtung 110 in einem System, in dem das Speichermodul 100 arbeitet, ist von der linken Seite des Speichermoduls 100 zur rechten Seite des Speichermoduls 100. Basierend auf der Luftstromrichtung 110 in dem System, in dem das Speichermodul 100 installiert ist, sind die DRAM-Chips 104-1, ...104-4 auf der linken Seite des Speichermoduls kühler als die DRAM-Chips 104-5, ...104-8 auf der rechten Seite des Speichermoduls 100. Bei dem gezeigten Beispiel beträgt die Betriebstemperatur des DRAM-Chips 104-1 auf der linken Seite des Speichermoduls 100 74,6°C, und die Betriebstemperatur des DRAM-Chips 104-8 auf der rechten Seite des Speichermoduls 100 beträgt 94,8°C. Das Ausführungsbeispiel des in 1 gezeigten Speichermoduls 100 umfasst zwei thermische Sensoren 106, 108, einen ersten thermischen Sensor 106, der auf der linken Seite des Speichermoduls 100 nahe bei DRAM-Chips 104-1, 104-2 ist, um die Temperatur der DRAM-Chips im Unterkanal 102a zu messen, und einen zweiten thermischen Sensor 108 auf der rechten Seite des Speichermoduls 100 nahe bei DRAM-Chips 104-7, 104-8, um die Temperatur der DRAM-Chips im Unterkanal 102b zu messen.
  • 2 ist ein Blockdiagramm eines Ausführungsbeispiels eines Systems 200 mit einem Speicherteilsystem, das zumindest ein mit einer Speichersteuerung 220 gekoppeltes Speichermodul 270 umfasst. System 200 umfasst einen Prozessor 210 und Elemente eines Speicherteilsystems in einer Rechenvorrichtung. Der Prozessor 210 stellt eine Verarbeitungseinheit einer Computerplattform dar, die ein Betriebssystem (OS; operating system) und Anwendungen ausführen kann, die zusammen als der Host oder Benutzer des Speichers bezeichnet werden können. Das OS und die Anwendungen führen Operationen aus, die zu Speicherzugriffen führen. Der Prozessor 210 kann einen oder mehrere separate Prozessoren umfassen. Jeder separate Prozessor kann eine einzelne Verarbeitungseinheit, eine Multikern-Verarbeitungseinheit oder eine Kombination umfassen. Die Verarbeitungseinheit kann ein primärer Prozessor wie z.B. eine CPU (zentrale Verarbeitungseinheit), ein Peripherieprozessor wie z.B. eine GPU (Graphikverarbeitungseinheit), oder eine Kombination davon sein. Speicherzugriffe können auch durch Vorrichtungen wie eine Netzwerk- oder Speicher-Steuerung initiiert werden. Solche Vorrichtungen können bei einigen Systemen mit dem Prozessor integriert sein (z.B. in einem System-auf-Chip (SoC)) oder über einen Bus (z.B. PCI-Express) oder eine Kombination an dem Prozessor angebracht sein.
  • Eine Bezugnahme auf Speicherbauelemente kann für unterschiedliche Speicherarten gelten. Speicherbauelemente beziehen sich häufig auf flüchtige Speichertechnologien. Ein flüchtiger Speicher ist ein Speicher, dessen Zustand (und damit die darin gespeicherten Daten) unbestimmt ist, wenn die Leistung zu der Vorrichtung unterbrochen wird. Ein nichtflüchtiger Speicher bezieht sich auf einen Speicher, dessen Zustand bestimmt ist, auch wenn die Leistung zu der Vorrichtung unterbrochen wird. Ein dynamischer flüchtiger Speicher erfordert ein Aktualisieren der Daten, die in der Vorrichtung gespeichert sind, um den Zustand aufrechtzuerhalten. Ein Beispiel für einen dynamischen flüchtigen Speicher umfasst DRAM (Dynamic Random Access Memory; dynamischen Direktzugriffsspeicher) oder eine Variante wie beispielsweise einen synchronen DRAM (SDRAM; Synchronous DRAM). Ein Speicherteilsystem, wie hierin beschrieben, kann mit einer Reihe von Speichertechnologien kompatibel sein, wie beispielsweise DDR3 (double data rate version 3, ursprüngliche Herausgabe durch JEDEC (Joint Electronic Device Engineering Council) am 27. Juni 2007, derzeit in Ausgabe 21), DDR4 (DDR Version 4, JESD79-4 erste Spezifikation veröffentlicht im September 2012 von JEDEC), DDR4E (DDR Version 4, erweitert, derzeit diskutiert durch JEDEC), LPDDR3 (Low Power DDR Version 3, JESD209-3B, August 2013 von JEDEC), LPDDR4 (Low Power Double Data Rate (LPDDR) Version 4, JESD209-4, ursprünglich veröffentlicht von JEDEC im August 2014), WIO2 (Wide I/O 2 (WideIO2), JESD229-2, ursprünglich veröffentlicht von JEDEC im August 2014), HBM (High Bandwidth Memory DRAM, JESD235, ursprünglich veröffentlicht von JEDEC im Oktober 2013, DDR5 (DDR Version 5, derzeit diskutiert durch JEDEC), LPDDR5 (derzeit diskutiert durch JEDEC), HBM2 (HBM Version 2), derzeit diskutiert durch JEDEC) oder andere oder Kombinationen von Speichertechnologien, und Technologien, die auf Herleitungen oder Erweiterungen solcher Spezifikationen basieren.
  • Die Beschreibungen hierin, die sich auf einen „RAM“ oder ein „RAM-Bauelement“ beziehen, können für irgendein Speicherbauelement gelten, das direkten Zugriff erlaubt, unabhängig davon, ob flüchtig oder nichtflüchtig. Beschreibungen, die sich auf einen „DRAM“ oder ein „DRAM-Bauelement“ beziehen, können sich auf ein flüchtiges Direktzugriffsspeicher-Bauelement beziehen. Das Speicherbauelement oder der DRAM kann sich auf den Die selbst beziehen, auf ein gepackagtes Speicherprodukt, das einen oder mehrere Dies umfasst, oder auf beides. Bei einem Ausführungsbeispiel kann ein System mit flüchtigem Speicher, der aktualisiert werden muss, auch nichtflüchtigen Speicher umfassen.
  • Die Speichersteuerung 220 repräsentiert eine oder mehrere Speichersteuerungsschaltungen oder -vorrichtungen für das System 200. Die Speichersteuerung 220 repräsentiert eine Steuerlogik, die Speicherzugriffsbefehle ansprechend auf die Ausführung von Operationen durch den Prozessor 210 erzeugt. Die Speichersteuerung 220 greift auf ein oder mehrere Speicherbauelemente 240 zu. Die Speicherbauelemente 240 können DRAM-Bauelemente gemäß irgendwelchen der oben genannten sein. Die Speichersteuerung 220 umfasst eine I/O-Schnittstellenlogik 222 zum Koppeln mit einem Speicherbus. Die I/O-Schnittstellenlogik 222 (wie auch die I/O-Schnittstellenlogik 242 des Speicherbauelements 240) kann Pins, Anschlussflächen, Verbinder, Signalleitungen, Leiterbahnen oder Drähte oder andere Hardware zum Verbinden der Bauelemente oder eine Kombination von diesen umfassen. Die I/O-Schnittstellenlogik 222 kann eine Hardwareschnittstelle umfassen. Wie dargestellt, umfasst die I/O-Schnittstellenlogik 222 zumindest Treiber/Sendeempfänger für Signalleitungen. Gewöhnlich werden Drähte innerhalb einer integrierten Schaltungsschnittstelle mit einer Anschlussfläche, einem Pin oder Verbinder gekoppelt, um Signalleitungen oder Leiterbahnen oder andere Drähte zwischen Bauelementen über eine Schnittstelle zu verbinden. Die I/O-Schnittstellenlogik 222 kann Treiber, Empfänger, Sendeempfänger oder Abschluss (termination) oder eine andere Schaltungsanordnung oder Kombinationen von Schaltungsanordnungen zum Austausch von Signalen auf den Signalleitungen zwischen den Bauelementen umfassen.
  • Der Austausch von Signalen umfasst zumindest eines von Übertragen oder Empfangen. Es wird zwar als Kopplung der I/O-Schnittstellenlogik 222 von der Speichersteuerung 220 mit der I/O-Schnittstellenlogik 242 des Speicherbauelements 240 gezeigt, es wird aber verstanden, dass bei einer Implementierung des Systems 200, wo auf Gruppen von Speicherbauelementen 240 parallel zugegriffen wird, mehrere Speicherbauelemente I/O-Schnittstellen mit derselben Schnittstelle der Speichersteuerung 220 umfassen können. Bei einer Implementierung des Systems 200 umfassend ein oder mehrere Speichermodule 270 kann die I/O-Schnittstellenlogik 242 zusätzlich zur Schnittstellenhardware auf dem Speicherbauelement selbst die Schnittstellenhardware des Speichermoduls umfassen. Andere Speichersteuerungen 220 können separate Schnittstellen mit anderen Speicherbauelementen 240 umfassen.
  • Der Bus zwischen Speichersteuerung 220 und Speicherbauelementen 240 kann eine Doppeldatenrate- (DDR, double data rate) Hochgeschwindigkeits-DRAM-Schnittstelle zur Übertragung von Daten sein, die als mehrere Signalleitungen implementiert ist, die die Speichersteuerung 220 mit Speicherbauelementen 240 koppeln. Der Bus kann üblicherweise zumindest einen Takt (CLK) 232, Befehl/Adresse (CMD) 234 und Daten (Schreibdaten (DQ) und Lesedaten (DQ0) 236 und null oder mehr Steuersignalleitungen 238 umfassen. Bei einem Ausführungsbeispiel kann ein Bus oder eine Verbindung zwischen Speichersteuerung 220 und Speicher als ein Speicherbus bezeichnet werden. Die Signalleitungen für CMD können als ein „C/A-Bus“ (oder ADD/CMD-Bus oder irgendeine andere Bezeichnung, die die Übertragung von Befehlen (C oder CMD) und AdressInformationen (A oder ADD) anzeigt) bezeichnet werden und die Signalleitungen für Daten (Schreib-DQ und Lese-DQ) können als ein „Datenbus“ bezeichnet werden. Es versteht sich, dass ein Bus zusätzlich zu den explizit dargestellten Leitungen zumindest eine von Strobe-Signalleitungen, Alarmleitungen, Hilfsleitungen oder andere Signalleitungen oder eine Kombination davon umfassen kann. Es versteht sich auch, dass serielle Bustechnologien für die Verbindung zwischen Speichersteuerung 220 und Speicherbauelementen 240 verwendet werden können. Ein Beispiel für eine serielle Bustechnologie ist die 8B10B-Codierung und Übertragung von Hochgeschwindigkeitsdaten mit eingebettetem Takt über ein einzelnes differenzielles Signalpaar in jeder Richtung.
  • Bei einem Ausführungsbeispiel können ein oder mehrere von CLK 232, CMD 234, Daten 236 oder Steuerung 238 durch die Logik 280 zu den Speicherbauelementen 240 geroutet werden. Die Logik 280 kann ein Register oder eine Pufferschaltung sein oder umfassen. Die Logik 280 kann die Belastung auf der Schnittstelle zur I/O-Schnittstelle 222 reduzieren, was eine schnellere Signalisierung oder reduzierte Fehler oder beides ermöglicht. Die verringerte Belastung kann darauf zurückzuführen sein, dass die I/O-Schnittstelle 222 nur den Abschluss (termination) eines oder mehrerer Signale an der Logik 280 sieht, statt des Abschlusses der Signalleitungen an jedem oder der Speicherbauelemente 240 parallel. Obwohl nicht spezifisch dargestellt ist, dass die I/O-Schnittstellenlogik 242 Treiber oder Sendeempfänger umfasst, versteht es sich, dass die I/O-Schnittstellenlogik 242 die zur Kopplung mit den Signalleitungen erforderliche Hardware umfasst. Zusätzlich dazu werden der Einfachheit der Darstellungen halber in der I/O-Schnittstellenlogik 242 nicht alle Signale dargestellt, die dem entsprechen, was in Bezug auf die I/O-Schnittstelle 222 gezeigt wird. Bei einem Ausführungsbeispiel haben alle Signale der I/O-Schnittstelle 222 Gegenstücke an der I/O-Schnittstellenlogik 242. Einige oder alle Signalleitungen, die mit der I/O-Schnittstellenlogik 242 über eine Schnittstelle verbunden sind, können durch die Logik 280 bereitgestellt werden. Bei einem Ausführungsbeispiel koppeln bestimmte Signale von der I/O-Schnittstelle 222 nicht direkt mit der I/O-Schnittstellenlogik 242, sondern koppeln durch die Logik 280, während ein oder mehrere andere Signale von der I/O-Schnittstelle 222 über die I/O-Schnittstelle 272 direkt mit der I/O-Schnittstellenlogik 242 koppeln können, ohne jedoch durch die Logik 280 gepuffert zu werden. Die Signale 282 repräsentieren die Signale, die durch die Logik 280 mit den Speicherbauelementen 240 über eine Schnittstelle verbunden sind.
  • Es versteht sich, dass bei dem Beispiel von System 200 der Bus zwischen Speichersteuerung 220 und Speicherbauelementen 240 einen subsidiären Befehlsbus CMD 234 und einen subsidiären Datenbus 236 umfasst. Bei einem Ausführungsbeispiel kann der subsidiäre Datenbus 236 bidirektionale Leitungen für Lesedaten und für Schreib-/Befehlsdaten umfassen. Bei einem anderen Ausführungsbeispiel kann der subsidiäre Datenbus 236 unidirektionale Schreibsignalleitungen für das Schreiben und Daten vom Host zum Speicher, sowie unidirektionale Leitungen für Lesedaten von dem Speicherbauelement 240 zum Host umfassen. Gemäß der gewählten Speichertechnologie und dem gewählten Systemdesign können Steuersignale 238 einen Bus oder Sub-Bus begleiten, wie z.B. Strobe-Leitungen DQS. Basierend auf dem Entwurf des Systems 200 oder der Implementierung, wenn ein Entwurf mehrere Implementierungen unterstützt, kann der Datenbus mehr oder weniger Bandbreite pro Speicherbauelement 240 haben. Beispielsweise kann der Datenbus Speicherbauelemente 240 unterstützen, die entweder eine x32-Schnittstelle, eine x16-Schnittstelle, eine x8-Schnittstelle oder eine andere Schnittstelle haben. Die Konvention „xW“, wobei W eine ganze Zahl ist, die sich auf eine Schnittstellengröße oder Breite der Schnittstelle des Speicherbauelements 240 bezieht, was eine Anzahl von Signalleitungen zum Datenaustausch mit der Speichersteuerung 220 darstellt. Die Zahl ist oft binär, aber nicht derart begrenzt. Die Schnittstellengröße der Speicherbauelemente ist ein Steuerungsfaktor dafür, wie viele Speicherbauelemente gleichzeitig in System 200 verwendet oder parallel mit denselben Signalleitungen gekoppelt werden können. Bei einem Ausführungsbeispiel können Speicherbauelemente mit hoher Bandbreite, Bauelemente mit breiter Schnittstelle oder gestapelte Speicherkonfigurationen oder Kombinationen davon breitere Schnittstellen ermöglichen, wie z.B. eine x128-Schnittstelle, eine x256-Schnittstelle, eine x512-Schnittstelle, eine x1024-Schnittstelle oder eine andere Datenbus-Schnittstellenbreite.
  • Speicherbauelemente 240 stellen Speicherressourcen für System 200 dar. Bei einem Ausführungsbeispiel ist jedes Speicherbauelement 240 ein separater Speicher-Die. Jedes Speicherbauelement 240 umfasst die I/O-Schnittstellenlogik 242, die eine Bandbreite hat, die durch die Implementierung des Bauelements bestimmt wird (z.B. x16 oder x8 oder eine andere Schnittstellenbandbreite). Die I/O-Schnittstellenlogik 242 ermöglicht jedem Speicherbauelement 240, eine Schnittstelle mit der Speichersteuerung 220 zu bilden. Die I/O-Schnittstellenlogik 242 kann eine Hardwareschnittstelle umfassen und kann der I/O-Schnittstellenlogik 222 der Speichersteuerung 220 entsprechen, jedoch an dem Ende des Speicherbauelements. Bei einem Ausführungsbeispiel sind mehrere Speicherbauelemente 240 parallel mit denselben Befehls- und Datenbussen verbunden. Bei einem anderen Ausführungsbeispiel sind mehrere Speicherbauelemente 240 parallel mit demselben Befehlsbus verbunden und mit unterschiedlichen Datenbussen verbunden. Beispielsweise kann das System 200 mit mehreren parallel gekoppelten Speicherbauelementen 240 ausgebildet sein, wobei jedes Speicherbauelement auf einen Befehl reagiert, und auf Speicherressourcen 260 intern für jedes Bauelement zugreift. Bei einer Schreiboperation kann ein einzelnes Speicherbauelement 240 einen Abschnitt des Gesamtdatenwortes schreiben, und bei einer Leseoperation kann ein einzelnes Speicherbauelement 240 einen Abschnitt des Gesamtdatenwortes abrufen. Als nicht einschränkende Beispiele kann ein bestimmtes Speicherbauelement 8 Bit eines 128-Bit-Datenworts für eine Lese- oder Schreibtransaktion, oder 8 Bit oder 16 Bit (abhängig von einem x8- oder x16-Bauelement) eines 256-Bit-Datenworts jeweils bereitstellen oder empfangen. Die verbleibenden Bits des Wortes werden parallel durch andere Speicherbauelemente bereitgestellt oder empfangen.
  • Bei einem Ausführungsbeispiel können Speicherbauelemente 240 in Speichermodule 270 organisiert werden. Bei einem Ausführungsbeispiel stellen die Speichermodule 270 doppelreihige Speichermodule (DIMMs; Dual Inline Memory Modules) dar. Die Speichermodule 270 können mehrere Speicherbauelemente 240 umfassen, und die Speichermodule können Unterstützung für mehrere separate Kanäle zu den umfassten Speicherbauelementen, die auf ihnen angeordnet sind, umfassen.
  • Speicherbauelemente 240 umfassen jeweils Speicherressourcen 260. Die Speicherressourcen 260 stellen einzelne Arrays von Speicherorten (memory locations) oder Speicherungsorte (storage locations) für Daten dar. Üblicherweise werden die Speicherressourcen 260 als Datenzeilen verwaltet, auf die über die Steuerung von Wortleitung (Zeilen) und Bitleitung (einzelne Bits innerhalb einer Zeile) zugegriffen wird. Die Speicherressourcen 260 können als separate Speicherbänke organisiert werden. Bänke können sich auf Arrays von Speicherorten innerhalb eines Speicherbauelements 240 beziehen. Bei einem Ausführungsbeispiel sind Speicherbänke in Unterbänke unterteilt mit zumindest einem Abschnitt der gemeinsamen Schaltungsanordnung (z.B. Treiber, Signalleitungen, Steuerlogik) für die Unterbänke.
  • Bei einem Ausführungsbeispiel können die Speicherbauelemente 240 ein oder mehrere Register 244 umfassen. Register 244 repräsentiert ein oder mehrere Speichervorrichtungen (storage devices) oder Speicherungsorte (storage locations), die die Konfiguration oder Einstellungen für den Betrieb des Speicherbauelements (memory device) bereitstellen. Bei einem Ausführungsbeispiel kann das Register 244 einen Speicherungsort für das Speicherbauelement 240 bereitstellen, um Daten für den Zugriff durch die Speichersteuerung 220 als Teil einer Steuer- oder Verwaltungsoperation zu speichern. Bei einem Ausführungsbeispiel umfasst das Register 244 ein oder mehrere Modusregister. Bei einem Ausführungsbeispiel umfasst das Register 244 ein oder mehrere Mehrzweck-Register. Die Konfiguration von Orten innerhalb von Register 244 kann das Speicherbauelement 240 konfigurieren, um in unterschiedlichem „Modus“ zu arbeiten, wobei Befehlsinformationen unterschiedliche Operationen innerhalb des Speicherbauelements 240 basierend auf dem Modus auslösen können. Zusätzlich oder alternativ können unterschiedliche Modi auch unterschiedliche Operation von Adressinformationen oder anderen Signalleitungen abhängig vom Modus auslösen. Einstellungen des Registers 244 können die Konfiguration für I/O-Einstellungen (z.B. Zeitgebung, Termination, Treiberkonfiguration oder andere I/O-Einstellungen) anzeigen.
  • Die Speichersteuerung 220 umfasst den Zeitplaner 230, der Logik oder Schaltungsanordnung zum Erzeugen und Ordnen von Transaktionen zum Senden an das Speicherbauelement 240 darstellt. Aus einer Perspektive besteht die Hauptfunktion der Speichersteuerung 220 darin, den Speicherzugriff und andere Transaktionen auf das Speicherbauelement 240 zu planen. Eine solche Zeitplanung kann das Erzeugen der Transaktionen selbst umfassen, um die Anforderungen von Daten durch Prozessor 210 zu implementieren und die Integrität der Daten aufrechtzuerhalten (z.B. mit Befehlen in Bezug auf Aktualisierung).
  • Transaktionen können einen oder mehrere Befehle umfassen und zur Übertragung von Befehlen oder Daten oder beidem über einen oder mehrere Zeitgebungszyklen wie Taktzyklen oder Einheitsintervalle führen. Transaktionen können für den Zugriff wie Lese- oder Schreib- oder verwandte Befehle oder eine Kombination davon sein, und andere Transaktionen können Speicherverwaltungsbefehle für Konfiguration, Einstellungen, Datenintegrität oder andere Befehle oder eine Kombination davon umfassen.
  • Die Speichersteuerung 220 umfasst üblicherweise eine Logik, um die Auswahl und Ordnung von Transaktionen zu ermöglichen, um die Performance des Systems 200 zu verbessern. Somit kann die Speichersteuerung 220 auswählen, welche der ausstehenden Transaktionen in welcher Reihenfolge an das Speicherbauelement 240 gesendet werden soll, was üblicherweise mit einer Logik erreicht wird, die viel komplexer ist als ein einfacher First-in-First-out-Algorithmus. Die Speichersteuerung 220 verwaltet die Übertragung der Transaktionen zum Speicherbauelement 240 und verwaltet die der Transaktion zugeordnete Zeitgebung. Bei einem Ausführungsbeispiel haben Transaktionen eine deterministische Zeitgebung, die durch die Speichersteuerung 220 verwaltet und beim Bestimmen, wie die Transaktionen geplant werden, verwendet werden kann.
  • Bezugnehmend wiederum auf die Speichersteuerung 220 umfasst die Speichersteuerung 220 die Befehls- (CMD-) Logik 224, die eine Logik oder Schaltungsanordnung darstellt, um Befehle zum Senden an Speicherbauelemente 240 zu erzeugen. Die Erzeugung der Befehle kann sich auf den Befehl vor der Zeitplanung beziehen oder auf die Vorbereitung der Befehle in der Warteschlange, die bereit sind, gesendet zu werden. Im Allgemeinen umfasst die Signalisierung in Speicher-Teilsystemen Adressinformationen innerhalb des Befehls oder dem Befehl beigefügt, um einen oder mehrere Speicherorte anzuzeigen oder auszuwählen, wo die Speicherbauelemente den Befehl ausführen sollen. Ansprechend auf die Zeitplanung von Transaktionen für das Speicherbauelement 240 kann die Speichersteuerung 220 Befehle über I/O 222 ausgeben, um das Speicherbauelement 240 zum Ausführen der Befehle zu veranlassen. Die Speichersteuerung 220 kann die Einhaltung von Standards oder Spezifikationen durch Zugriffs-Zeitplanung und -Steuerung implementieren.
  • Bezugnehmend wiederum auf die Logik 280 puffert bei einem Ausführungsbeispiel die Logik 280 bestimmte Signale 282 vom Host an die Speicherbauelemente 204. Bei einem Ausführungsbeispiel puffert die Logik 280 Datensignalleitungen 236 als Daten 286 und puffert Befehlsleitungen (oder Befehls- und Adressleitungen) von CMD 234 als CMD 284. Bei einem Ausführungsbeispiel werden die Daten 286 gepuffert, umfassen aber die gleiche Anzahl von Signalleitungen wie Daten 236. Daher sind beide als X-Signalleitungen aufweisend dargestellt. Im Gegensatz dazu hat CMD 234 weniger Signalleitungen als CMD 284. Somit ist P>N. Die N Signalleitungen von CMD 234 werden mit einer Datenrate betrieben, die höher als die P Signalleitungen von CMD 284 ist. Beispielsweise kann P gleich 2N sein, und CMD 284 kann mit einer Datenrate betrieben werden, die halb so hoch ist wie die Datenrate von CMD 234.
  • Bei einem Ausführungsbeispiel umfasst die Speichersteuerung 220 eine Aktualisierungslogik (refresh logic) 226. Die Aktualisierungslogik 226 kann für Speicherressourcen 160 verwendet werden, die flüchtig sind und aktualisiert werden müssen, um einen deterministischen Zustand zu behalten. Bei einem Ausführungsbeispiel zeigt die Aktualisierungslogik 226 einen Ort für die Aktualisierung und eine Art der durchzuführenden Aktualisierung an. Die Aktualisierungslogik 226 kann externe Aktualisierungen durch Senden von Aktualisierungsbefehlen ausführen. Beispielsweise unterstützt das System 200 bei einem Ausführungsbeispiel alle Bankaktualisierungen sowie die Aktualisierungen pro Bank. Alle Bankaktualisierungen bewirken die Aktualisierung einer ausgewählten Bank 292 innerhalb aller parallel gekoppelten Speicherbauelemente 240. Aktualisierungen pro Bank bewirken die Aktualisierung einer spezifizierten Bank 292 innerhalb eines spezifizierten Speicherbauelements 240.
  • Das System 200 kann eine Speicherschaltung umfassen, die Logik 280 sein oder umfassen kann. Insoweit die Schaltung als Logik 280 angesehen wird, kann sie sich auf eine Schaltung oder eine Komponente (wie z.B. ein oder mehrere diskrete Elemente oder ein oder mehrere Elemente eines Logik-Chip-Packages) beziehen, die den Befehlsbus puffert. Insoweit die Schaltung als Logik 280 umfassend angesehen wird, kann die Schaltung die Pins des Packaging der einen oder mehreren Komponenten sowie die Signalleitungen umfassen. Die Speicherschaltung umfasst eine Schnittstelle zu den N Signalleitungen von CMD 234, die mit einer ersten Datenrate betrieben werden sollen. Die N Signalleitungen von CMD 234 sind in Bezug auf die Logik 280 dem Host zugewandt. Die Speicherschaltung kann auch eine Schnittstelle zu den P Signalleitungen von CMD 284 umfassen, die mit einer zweiten Datenrate betrieben werden sollen, die niedriger als die erste Datenrate ist. Die P Signalleitungen von CMD 284 sind in Bezug auf die Logik 280 dem Speicher zugewandt. Die Logik 280 kann entweder als die Steuerlogik betrachtet werden, die die Befehlssignale empfängt und sie an die Speicherbauelemente bereitstellt, oder sie kann Steuerlogik innerhalb derselben umfassen (z.B. ihre Verarbeitungselemente oder Logikkern), die die Befehlssignale empfangen und sie an die Speicherbauelemente bereitstellen.
  • 3 ist ein Blockdiagramm, das die Schnittstelle zwischen der Speichersteuerung und einem Speichermodul 300 darstellt, um die Temperatur des Speichermoduls zu überwachen, um Aktualisierungsraten für Speicherbauelemente auf dem Speichermodul auszuwählen. Das Speichermodul 300 hat zwei Unterkanalregionen 302a, 302b. Jeder Unterkanal 302a, 302b hat eine Mehrzahl von DRAM-Bauelementen 208 und einen Temperatursensor (TS1, TS2). Alle DRAM-Bauelemente 208 in einer Unterkanalregion 302a, 302b benutzen gemeinsam das gleiche Chip-Auswahlsignal.
  • Bei einem Ausführungsbeispiel sind die Speicherbauelemente auf dem Speichermodul synchrone dynamische Direktzugriffsspeicher- (SDRAM-; Synchronous Dynamic Random Access Memory) Bauelemente, die zur Aktualisierung des DRAMs eine Auto-Aktualisierung (auto-refresh) verwenden. Steuersignale umfassen Zeilenzugriffs-Strobe (RAS; row access strobe), Spaltenzugriffs-Strobe (CAS; column access strobe), Chip-Auswahl (CS; chip select), Taktfreigabe (CKE; clock enable) und Schreibfreigabe (WE; write enable).
  • Normalerweise wird eine Auto-Aktualisierung durchgeführt, indem alle geöffneten Zeilen im SDRAM vorgeladen werden (pre-charging), um den SDRAM in den Ruhezustand (idle state) zu bringen, dann gibt die Speichersteuerung einen Auto-Aktualisierungsbefehl auf dem Befehlsbus aus, setzt Steuersignale, Zeilenzugriffs-Strobe (RAS) und Spaltenzugriffs-Strobe (CAS) sowie die Auswahl des SDRAM durch Chip-Auswahl (CS) ein. Zur Vereinfachung der Aktualisierungsverwaltung hat jedes SDRAM-Bauelement einen internen Aktualisierungszähler, der die Zeilen verfolgt, die während der nächsten Aktualisierungsoperation aktualisiert werden sollen. Die Speichersteuerung ist für das Ausgeben von Auto-Aktualisierungsbefehlen mit einer festgelegten Rate verantwortlich, um eine bestimmte Anzahl von Zeilen in allen Bänken zu aktualisieren (als „Alle-Bänke-Auto-Aktualisierung“ bezeichnet). Normale Speicheroperationen werden erst nach Abschluss einer Auto-Aktualisierungsoperation wieder aufgenommen.
  • Die Auto-Aktualisierung führt zu einem erheblichen Leistungsverbrauch, da die gesamte getaktete Schaltungsanordnung in einem SDRAM während des gesamten Aktualisierungszeitraums aktiv bleibt. Infolgedessen wird zusätzlich zur für die Aktualisierung erforderlichen Leistung auch Hintergrundleistung aufgrund der peripheren Logik verbraucht.
  • Eine Zelle in einem SDRAM-Bauelement hat üblicherweise eine Haltezeit (retention period) von 32 Millisekunden oder 64 Millisekunden. Jede Zelle im SDRAM-Bauelement muss zumindest einmal innerhalb ihrer Haltezeit aktualisiert werden oder auf sie muss zumindest einmal zugegriffen werden (auch als Aktualisierungsfenster bezeichnet).
  • Jeder Auto-Aktualisierungsbefehl aktualisiert eine Anzahl von Zeilen in jeder Bank im SDRAM-Bauelement abhängig von der Gesamtanzahl der Zeilen im DRAM-Bauelement. Beispielsweise aktualisiert jeder Auto-Aktualisierungsbefehl für ein 4 Gigabit per 8 Bits (by 8-bits) 8 Zeilen in jeder Bank, und der Aktualisierungszähler wird um acht erhöht, um sicherzustellen, dass während der Haltezeit 65.536 Zeilen pro Bank aktualisiert werden.
  • Ein SDRAM kann einen Aktualisierungsmodus mit feiner Granularität haben, der es ermöglicht, dass eine Aktualisierungsintervallzeit durch die Speichersteuerung modifiziert wird. Beispielsweise kann die Aktualisierungsintervallzeit durch zwei (üblicherweise als 2X-Aktualisierungsmodus bezeichnet) oder vier (üblicherweise als 4X-Aktualisierungsmodus bezeichnet) geteilt werden, was erlaubt, dass die Anzahl der Zeilen, die pro Auto-Aktualisierungsbefehl aktualisiert werden, um 2 oder 4 verringert wird, was zu einer Verkürzung der Zeit für einen Aktualisierungsbefehl führt. Die Aktualisierungsintervallzeit für einen SDRAM kann dynamisch modifiziert werden, um die Aktualisierungsrate basierend auf der Temperatur eines Speichermoduls zu modifizieren.
  • Bei dem Ausführungsbeispiel, das mit DDR4 kompatiblen SDRAM (DDR Version 4, JESD79-4, erste Spezifikation, die im September 2012 von JEDEC veröffentlicht wurde) und Erweiterungen der DDR4-Spezifikation umfasst, kann der Aktualisierungsmodus des SDRAMs durch die Speichersteuerung über einen MRS-Befehl (MRS = Mode Register Set) programmiert werden, um den Aktualisierungsmodus durch Setzen der entsprechenden Bits in ein Modusregister (z.B. Bits A6-A8 in Modusregister 3 (MR3)) einzustellen. Beispielsweise können die Bits A6-A8 auf ‚000‘ für den normalen Aktualisierungsmodus (fester 1x Aktualisierungsmodus) und auf ‚001‘ für den festen 2x Aktualisierungsmodus gesetzt werden.
  • Die thermischen Sensoren TS1, TS2 können über einen seriellen Standard-I3C-Bus oder einen System-Management-Bus (SMBus), der serielle Daten, einen seriellen Takt, eine 3-Bit-Adresse und Ereignissignale umfasst, mit der Speichersteuerung 220 gekoppelt werden. Die in einem Register in den thermischen Sensoren TS1, TS2 gespeicherte Temperatur kann periodisch durch die Speichersteuerung 220 über einen seriellen Datenbus ausgelesen werden, um zu bestimmen, ob die Temperatur hoch, niedrig oder kritisch ist.
  • 4 ist ein Flussdiagramm, das ein Verfahren darstellt, das durch die in 3 gezeigte Speichersteuerung 220 ausgeführt wird, um die Temperatur in jedem Unterkanal 102a, 102b des Speichermoduls 270 zu überwachen und die Aktualisierungsrate für die Speicherbauelemente in dem Unterkanal 102a, 102b basierend auf der aus den Temperatursensoren TS2, TS1 auf dem Speichermodul 270 gelesenen Temperatur einzustellen.
  • Bei Block 400 führt die Aktualisierungslogik 226 in der Speichersteuerung 270 eine Auto-Aktualisierung durch, indem sie Aktualisierungsbefehle an die Speicherbauelemente 240 in jedem Unterkanal 102a, 102b des Speichermoduls mit der Rate sendet, die für den jeweiligen Unterkanal im Aktualisierungsmodusregister 302 für den jeweiligen Unterkanal 102a, 102b ausgewählt wurde.
  • Nach einem Bestimmen bei Block 402, dass eine Temperaturänderung stattgefunden hat, durch Lesen der aktuellen Temperatur aus den Temperatursensoren (TS1, TS2) und Vergleichen der aktuellen Temperatur mit einer vorhergehenden Temperatur, gelesen aus den Temperatursensoren (TS1, TS2), welche in der Aktualisierungslogik 226 gespeichert ist, wird die Verarbeitung mit Block 404 fortgesetzt. Andernfalls wird die Verarbeitung mit Block 400 fortgesetzt, um die Auto-Aktualisierung mit der gewählten Aktualisierungsrate weiterhin durchzuführen.
  • Bei Block 404, wenn ein Temperaturanstieg stattgefunden hat, wird die Verarbeitung mit Block 406 fortgesetzt. Wenn eine Temperaturabnahme stattgefunden hat, wird die Verarbeitung mit Block 408 fortgesetzt.
  • Bei Block 406 erhöht die Speichermodul-Aktualisierungsmodus-Steuerung die Aktualisierungsrate in dem Aktualisierungsmodusregister für den jeweiligen Unterkanal. Die Verarbeitung wird mit Block 400 fortgesetzt, um die Auto-Aktualisierung mit der erhöhten Aktualisierungsrate weiterhin durchzuführen.
  • Bei Block 408 verringert die Speichermodul-Aktualisierungsmodus-Steuerung die Aktualisierungsrate in dem Aktualisierungsmodusregister für den jeweiligen Unterkanal.
  • Die Verarbeitung wird mit Block 400 fortgesetzt, um die Auto-Aktualisierung mit der verringerten Aktualisierungsrate weiterhin durchzuführen.
  • 5 ist ein Blockdiagramm eines Ausführungsbeispiels eines Computersystems 500, das das Speichermodul 100 umfasst. Das Computersystem 500 kann einer Rechenvorrichtung entsprechen, die einen Server, einen Arbeitsplatz-Computer (workstation), einen Desktop-Computer, einen Laptop-Computer und/oder einen Tablet-Computer umfasst, aber nicht darauf beschränkt ist.
  • Das Computersystem 500 umfasst ein System-auf-Chip (SOC oder SoC; system on chip) 504, das Prozessor, Graphik, Speicher und Input/Output (I/O)-Steuerlogik in einem SoC-Package kombiniert. Das SoC 504 umfasst zumindest ein Zentrale-Verarbeitungseinheit-(CPU; Central Processing Unit) -Modul 508, eine Speichersteuerung 514 und eine Graphikprozessoreinheit (GPU; Graphics Processor Unit) 510. Bei anderen Ausführungsbeispielen kann die Speichersteuerung 514 extern zu dem SoC 504 sein. Das CPU-Modul 508 umfasst zumindest einen Prozessorkern 502 und einen Level 2 (L2) - Cache 506.
  • Obwohl nicht gezeigt, kann jeder der Prozessorkern(e) 502 intern einen oder mehrere Befehls-/Daten-Caches, Ausführungseinheiten, Prefetch-Puffer, Befehlswarteschlangen, Zweigadressenberechnungseinheiten, Befehlsdecoder, Gleitkommaeinheiten, Stilllegungseinheiten etc. umfassen. Das CPU-Modul 508 kann gemäß einem Ausführungsbeispiel einem Single-Core- oder einem Multi-Core-Allzweckprozessor, wie jene, die durch die Intel® Corporation bereitgestellt werden, entsprechen.
  • Die Graphikprozessoreinheit (GPU) 510 kann einen oder mehrere GPU-Kerne und einen GPU-Cache umfassen, der graphikbezogene Daten für den GPU-Kern speichern kann. Der GPU-Kern kann intern eine oder mehrere Ausführungseinheiten und einen oder mehrere Befehls- und Daten-Caches umfassen. Zusätzlich kann die Graphikprozessoreinheit (GPU) 510 andere Graphiklogikeinheiten umfassen, die in 5 nicht gezeigt sind, wie beispielsweise eine oder mehrere Vertex-Verarbeitungseinheiten, Rasterungseinheiten, Medienverarbeitungseinheiten und Codecs.
  • Innerhalb des I/O-Teilsystems 512 sind ein oder mehrere I/O-Adapter 516 vorhanden, um ein Host-Kommunikationsprotokoll, das innerhalb des/der Prozessorkern(e) 502 genutzt wird, in ein Protokoll zu übersetzen, das mit bestimmten I/O-Vorrichtungen kompatibel ist. Einige der Protokolle, die für die Übersetzung von Adaptern verwendet werden können, umfassen Peripheral Component Interconnect (PCI)-Express (PCIe); universeller serieller Bus (USB; Universal Serial Bus); Serial Advanced Technology Attachment (SATA) und Institute of Electrical and Electronics Engineers (IEEE) 1594 „Firewire“.
  • Der/die I/O-Adapter 516 können mit externen I/O-Vorrichtungen 524 kommunizieren, die beispielsweise Benutzerschnittstellenvorrichtung(en) umfassen können, umfassend eine Anzeige und/oder eine Touchscreen-Anzeige 540, Drucker, Tastenfeld, Tastatur, Kommunikationslogik, verdrahtet und/oder drahtlos, Speicher- (storage) -Vorrichtungen, umfassend Festplattenlaufwerke („HDD“; hard disk drives), Festkörperlaufwerke („SSD“; solid-state drives), Wechselspeichermedien, ein DVD (Digital Video Disk) -Laufwerk, ein CD (Compact Disk) -Laufwerk, ein RAID (Redundant Array of Independent Disks), ein Bandlaufwerk oder andere Speichervorrichtungen. Die Speichervorrichtungen können durch einen oder mehrere Busse unter Verwendung eines oder mehrerer einer Vielzahl von Protokollen kommunikativ und/oder physisch miteinander gekoppelt sein, umfassend, aber nicht beschränkt auf, SAS (Serial Attached SCSI (Small Computer System Interface)), PCIe (Peripheral Component Interconnect Express), NVMe (NVM Express) über PCIe (Peripheral Component Interconnect Express) und SATA (Serial ATA (Advanced Technology Attachment)). Die Anzeige und/oder eine Touchscreen-Anzeige 540 kann mit dem Prozessor im SoC 504 kommunikativ gekoppelt sein, um die in den DRAM-Bauelementen im Speichermodul 100 gespeicherten Daten anzuzeigen.
  • Zusätzlich kann es einen oder mehrere Drahtlos-Protokoll-I/O-Adapter geben. Beispiele für drahtlose Protokolle werden unter anderem in persönlichen Netzwerken (personal area networks) verwendet, wie beispielsweise IEEE 802.15 und Bluetooth, 4.0; drahtlosen lokalen Netzwerken, wie beispielsweise IEEE 802.11-basierten drahtlosen Protokollen; und zellulären Protokollen.
  • Die Speichersteuerung 514 kann auch mit nichtflüchtigem Speicher gekoppelt sein. Eine nichtflüchtige Speicher-Vorrichtung ist ein Speicher, dessen Zustand bestimmt ist, auch falls Leistung zu der Vorrichtung unterbrochen wird. Bei einem Ausführungsbeispiel kann die NVM-Vorrichtung eine blockadressierbare Speichervorrichtung, wie beispielsweise NAND-Technologien, oder genauer, einen Multi-Schwellenpegel-NAND-Flash-Speicher (z.B. Single-Level Cell („SLC“), Multi-Level Cell („MLC“), Quad-Level Cell („QLC“), Tri-Level Cell („TLC“) oder eine andere NAND) umfassen. Eine NVM-Vorrichtung kann auch eine byteadressierbare dreidimensionale Write-in-Place Crosspoint (Vor-Ort-Schreiben-Kreuzpunkt-) Speichervorrichtung oder eine andere byteadressierbare Write-in-Place-NVM-Vorrichtung (auch als dauerhafter Speicher bezeichnet) umfassen, wie beispielsweise einen ein- oder mehrstufigen Phasenwechselspeicher (PCM; Phase Change Memory) oder Phasenwechselspeicher mit einem Schalter (PCMS), NVM-Vorrichtungen, die Chalkogenidphasenwechselmaterial (z.B. Chalkogenidglas) verwenden, einen resistiven Speicher umfassend Metalloxid-Basis, Sauerstoff-Leerstellenbasis und Conductive Bridge Random Access Memory (CB-RAM), Nanodrahtspeicher, ferroelektrischer Direktzugriffsspeicher (FeRAM, FRAM), magnetoresistiver Direktzugriffsspeicher (MRAM) mit Memristor-Technologie, Spin Transfer Torque (STT)-MRAM, eine auf Spintronik-Magnet-Übergang-Speicher basierende Vorrichtung, eine auf magnetischem Tunnelübergang (MTJ; magnetic tunneling junction) basierte Vorrichtung, eine DW (Domain Wall; Domänenwand) und SOT (Spin Orbit Transfer) basierte Vorrichtung, eine thyristorbasierte Speichervorrichtung oder eine Kombination aus einem der obigen oder einen anderen Speicher.
  • Die I/O-Adapter 516 können einen Peripheral Component Interconnect Express (PCIe)-Adapter umfassen, der unter Verwendung des NVMe (NVM Express) über PCIe (Peripheral Component Interconnect Express)-Protokoll über Bus 544 mit einer Host-Schnittstelle 528 im SSD 518 kommunikativ gekoppelt ist. Die NVMe- (Non-Volatile Memory Express) Standards definieren eine Schnittstelle auf Registerebene für Host-Software, um mit einem nichtflüchtigen Speicherteilsystem (z. B. einem Solid-State-Laufwerk (SSD)) über Peripheral Component Interconnect Express (PCIe), einen seriellen Hochgeschwindigkeits-Computer-Erweiterungsbus) zu kommunizieren. Die NVM Express Standards sind verfügbar unter www.nvmexpress.org. Die PCIe-Standards sind unter www.pcisig.com verfügbar.
  • Ein Betriebssystem 542 ist Software, die Computer-Hardware und -Software verwaltet, umfassend Speicherzuweisung und Zugriff auf I/O-Vorrichtungen. Beispiele für Betriebssysteme umfassen Microsoft® Windows®, Linux®, iOS® und Android®.
  • Hierin dargestellte Flussdiagramme stellen Beispiele von Sequenzen von verschiedenen Prozessaktionen bereit. Die Flussdiagramme können sowohl Operationen, die durch eine Software- oder Firmware-Routine ausgeführt werden sollen, als auch physische Operationen anzeigen. Bei einem Ausführungsbeispiel kann ein Flussdiagramm den Zustand einer finiten Zustandsmaschine (FSM; finite state machine) darstellen, die in Hardware und/oder Software implementiert sein kann. Obwohl sie in einer bestimmten Sequenz oder Reihenfolge dargestellt sind, kann die Reihenfolge der Aktionen modifiziert werden, soweit nicht anders angegeben. Somit sollen die dargestellten Ausführungsbeispiele nur als ein Beispiel verstanden werden, und der Prozess kann in einer unterschiedlichen Reihenfolge ausgeführt werden, und einige Aktionen können parallel ausgeführt werden. Zusätzlich können eine oder mehrere Aktionen bei verschiedenen Ausführungsbeispielen ausgelassen werden, so dass nicht alle Aktionen bei jedem Ausführungsbeispiel erforderlich sind. Andere Prozessabläufe sind möglich.
  • Soweit hierin verschiedene Operationen oder Funktionen beschrieben sind, können sie als Softwarecode, Anweisungen, Konfiguration und/oder Daten beschrieben oder definiert werden. Der Inhalt kann direkt ausführbar („Objekt“ oder „ausführbare“ Form), ein Quellcode oder ein Differenzcode („Delta“ oder „Patch“ Code) sein. Der Softwareinhalt der hierin beschriebenen Ausführungsbeispiele kann über einen Herstellungsartikel mit dem darauf gespeicherten Inhalt bereitgestellt werden, oder über ein Verfahren zum Betreiben einer Kommunikationsschnittstelle, um Daten über die Kommunikationsschnittstelle zu senden. Ein maschinenlesbares Speichermedium kann eine Maschine veranlassen, die beschriebenen Funktionen oder Operationen auszuführen, und umfasst irgendeinen Mechanismus, der Informationen in einer für eine Maschine zugänglichen Form speichert (z.B. Rechenvorrichtung, elektronisches System usw.), wie z.B. beschreibbare/nicht beschreibbare Medien (z.B. Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), Magnetplattenspeichermedien, optische Speichermedien, Flash-Speichergeräte usw.). Eine Kommunikationsschnittstelle umfasst irgendeinen Mechanismus, der mit irgendeinem aus einem fest verdrahteten, drahtlosen, optischen usw. Medium eine Schnittstelle bildet, um mit einer anderen Vorrichtung zu kommunizieren, wie beispielsweise eine Speicherbusschnittstelle, eine Prozessorbusschnittstelle, eine Internetverbindung, eine Festplattensteuerung usw. Die Kommunikationsschnittstelle kann durch Bereitstellen von Konfigurationsparametern und/oder Senden von Signalen ausgebildet sein, um die Kommunikationsschnittstelle vorzubereiten, ein Datensignal bereitzustellen, das den Softwareinhalt beschreibt. Auf die Kommunikationsschnittstelle kann über einen oder mehrere Befehle oder Signale zugegriffen werden, die an die Kommunikationsschnittstelle gesendet werden.
  • Verschiedene hierin beschriebene Komponenten können ein Mittel zum Durchführen der beschriebenen Operationen oder Funktionen sein. Jede hierin beschriebene Komponente umfasst Software, Hardware oder eine Kombination dieser. Die Komponenten können als Softwaremodule, Hardwaremodule, Spezialzweck-Hardware (z.B. anwendungsspezifische Hardware, anwendungsspezifische integrierte Schaltungen (ASICs; application specific integrated circuits), digitale Signalprozessoren (DSPs; digital signal processors) etc.), eingebettete Steuerungen, fest verdrahtete Schaltungsanordnungen etc. implementiert sein.
  • Abgesehen von dem, was hierin beschrieben ist, können verschiedene Modifikationen an den offenbarten Ausführungsbeispielen und Implementierungen der Erfindung vorgenommen werden, ohne von deren Schutzbereich abzuweichen.
  • Daher sollten die Darstellungen und Beispiele hierin in einem veranschaulichenden und nicht in einem einschränkenden Sinne ausgelegt werden. Der Schutzbereich der Erfindung sollte ausschließlich durch Bezugnahme auf die folgenden Ansprüche gemessen werden.

Claims (21)

  1. Eine Speichersteuerung, umfassend: eine dynamische Direktzugriffsspeicher- (DRAM-) Schnittstelle, um Daten über einen Bus an ein Speichermodul zu übertragen, wobei das Speichermodul zumindest zwei Unterkanäle umfasst, wobei jeder Unterkanal eine Mehrzahl von DRAM-Bauelementen umfasst; ein erstes Aktualisierungsmodusregister, um eine erste Aktualisierungsrate für einen ersten Unterkanal des Speichermoduls zu speichern; ein zweites Aktualisierungsmodusregister, um eine zweite Aktualisierungsrate für einen zweiten Unterkanal des Speichermoduls zu speichern; und eine Speichermodul-Aktualisierungsmodus-Steuerung zum Modifizieren der ersten Aktualisierungsrate basierend auf einer ersten Temperatur, die aus einem ersten thermischen Sensor in dem ersten Unterkanal gelesen wird, und zum Modifizieren der zweiten Aktualisierungsrate basierend auf einer zweiten Temperatur, die aus einem zweiten thermischen Sensor in dem ersten Unterkanal gelesen wird.
  2. Die Speichersteuerung gemäß Anspruch 1, wobei die erste Aktualisierungsrate 1x Aktualisierungsrate oder 2x Aktualisierungsrate ist.
  3. Die Speichersteuerung gemäß einem der vorhergehenden Ansprüche, wobei der erste thermische Sensor über einen von einem seriellen Standard-I3C-Bus oder System Management Bus (SMBus) mit der Speichersteuerung koppelt.
  4. Die Speichersteuerung gemäß einem der vorhergehenden Ansprüche, wobei die Speichermodul-Aktualisierungsmodus-Steuerung periodisch ein Register in dem ersten thermischen Sensor liest, um zu bestimmen, ob die erste Temperatur über einer hohen Temperatur oder unter einer niedrigen Temperatur ist.
  5. Die Speichersteuerung gemäß Anspruch 4, wobei die niedrige Temperatur 85°C oder weniger und die hohe Temperatur größer als 85°C ist.
  6. Die Speichersteuerung gemäß einem der vorhergehenden Ansprüche, wobei die DRAM-Schnittstelle eine Doppeldatenrate- (DDR-) Hochgeschwindigkeits-DRAM-Schnittstelle ist.
  7. Die Speichersteuerung gemäß einem der vorhergehenden Ansprüche, wobei eine Differenz zwischen der ersten Temperatur und der zweiten Temperatur größer als 13°C ist.
  8. Ein Verfahren, umfassend: Übertragen, durch eine dynamische Direktzugriffsspeicher- (DRAM-) Schnittstelle, von Daten über einen Bus an ein Speichermodul, wobei das Speichermodul zumindest zwei Unterkanäle umfasst, wobei jeder Unterkanal eine Mehrzahl von DRAM-Bauelementen umfasst; Speichern, in einem ersten Aktualisierungsmodusregister, einer ersten Aktualisierungsrate für einen ersten Unterkanal des Speichermoduls; Speichern, in einem zweiten Aktualisierungsmodusregister, einer zweiten Aktualisierungsrate für einen zweiten Unterkanal des Speichermoduls; und Modifizieren, durch eine Speichermodul-Aktualisierungsmodus-Steuerung, der ersten Aktualisierungsrate basierend auf einer ersten Temperatur, die aus einem ersten thermischen Sensor in dem ersten Unterkanal gelesen wird; und Modifizieren, durch die Speichermodul-Aktualisierungsmodus-Steuerung, der zweiten Aktualisierungsrate basierend auf einer zweiten Temperatur, die aus einem zweiten thermischen Sensor in dem ersten Unterkanal gelesen wird.
  9. Das Verfahren gemäß Anspruch 8, wobei die erste Aktualisierungsrate 1x Aktualisierungsrate oder 2x Aktualisierungsrate ist.
  10. Das Verfahren gemäß einem der Ansprüche 8-9, ferner umfassend: Zugreifen auf den ersten thermischen Sensor und den zweiten thermischen Sensor über einen von einem seriellen Standard-I3C-Bus oder System Management Bus (SMBus).
  11. Das Verfahren gemäß einem der Ansprüche 8-10, ferner umfassend: periodisch Lesen, durch die Speichermodul-Aktualisierungsmodus-Steuerung, eines Registers in dem ersten thermischen Sensor, um zu bestimmen, ob die erste Temperatur über einer hohen Temperatur oder unter einer niedrigen Temperatur ist.
  12. Das Verfahren gemäß Anspruch 11, wobei die niedrige Temperatur 85°C oder weniger und die hohe Temperatur größer als 85°C ist.
  13. Das Verfahren gemäß einem der Ansprüche 8-12, wobei die DRAM-Schnittstelle eine Doppeldatenrate- (DDR-) Hochgeschwindigkeits-DRAM-Schnittstelle ist.
  14. Das Verfahren gemäß einem der Ansprüche 8-13, wobei eine Differenz zwischen erster Temperatur und zweiter Temperatur größer als 13°C ist.
  15. Eine Vorrichtung, umfassend Mittel zum Durchführen der Verfahren gemäß einem der Ansprüche 8 bis 14.
  16. Ein System, umfassend: ein Speichermodul umfassend zumindest zwei Unterkanäle, wobei jeder Unterkanal eine Mehrzahl von dynamischen Direktzugriffsspeicher- (DRAM-) Bauelementen umfasst; eine Speichersteuerung, umfassend: eine DRAM-Schnittstelle, um Daten über einen Bus an das Speichermodul zu übertragen; ein erstes Aktualisierungsmodusregister, um eine erste Aktualisierungsrate für einen ersten Unterkanal des Speichermoduls zu speichern; ein zweites Aktualisierungsmodusregister, um eine zweite Aktualisierungsrate für einen zweiten Unterkanal des Speichermoduls zu speichern; und eine Speichermodul-Aktualisierungsmodus-Steuerung zum Modifizieren der ersten Aktualisierungsrate basierend auf einer ersten Temperatur, die aus einem ersten thermischen Sensor in dem ersten Unterkanal gelesen wird, und zum Modifizieren der zweiten Aktualisierungsrate basierend auf einer zweiten Temperatur, die aus einem zweiten thermischen Sensor in dem ersten Unterkanal gelesen wird; und eine Anzeige, die kommunikativ mit einem Prozessor gekoppelt ist, um in den DRAM-Bauelementen gespeicherte Daten anzuzeigen.
  17. Das System gemäß Anspruch 16, wobei die erste Aktualisierungsrate 1x Aktualisierungsrate oder 2x Aktualisierungsrate ist.
  18. Das System gemäß einem der Ansprüche 16-17, wobei der erste thermische Sensor über einen von einem seriellen Standard-I3C-Bus oder System Management Bus (SMBus) mit der Speichersteuerung koppelt.
  19. Das System gemäß einem der Ansprüche 16-18, wobei die Speichermodul-Aktualisierungsmodus-Steuerung periodisch ein Register in dem ersten thermischen Sensor liest, um zu bestimmen, ob die erste Temperatur über einer hohen Temperatur oder unter einer niedrigen Temperatur ist.
  20. Das System gemäß Anspruch 18 oder 19, wobei die niedrige Temperatur 85°C oder weniger und die hohe Temperatur größer als 85°C ist.
  21. Das System gemäß einem der Ansprüche 16-20, wobei eine Differenz zwischen erster Temperatur und zweiter Temperatur größer als 13 °C ist.
DE102020118897.8A 2019-09-26 2020-07-16 Verfahren und Vorrichtung zum Reduzieren des Leistungsverbrauchs für dieAktualisierung von Speicherbauelementen auf einem Speichermodul Pending DE102020118897A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/584,724 2019-09-26
US16/584,724 US11250902B2 (en) 2019-09-26 2019-09-26 Method and apparatus to reduce power consumption for refresh of memory devices on a memory module

Publications (1)

Publication Number Publication Date
DE102020118897A1 true DE102020118897A1 (de) 2021-04-01

Family

ID=69162063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020118897.8A Pending DE102020118897A1 (de) 2019-09-26 2020-07-16 Verfahren und Vorrichtung zum Reduzieren des Leistungsverbrauchs für dieAktualisierung von Speicherbauelementen auf einem Speichermodul

Country Status (3)

Country Link
US (1) US11250902B2 (de)
CN (1) CN112558744A (de)
DE (1) DE102020118897A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11257527B2 (en) * 2015-05-06 2022-02-22 SK Hynix Inc. Memory module with battery and electronic system having the memory module
KR102653147B1 (ko) * 2018-08-21 2024-04-02 삼성전자주식회사 반도체 메모리 장치, 반도체 메모리 모듈 및 불휘발성 메모리를 액세스하는 방법
US10824573B1 (en) 2019-04-19 2020-11-03 Micron Technology, Inc. Refresh and access modes for memory
JP6975298B1 (ja) * 2020-09-03 2021-12-01 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. 半導体記憶装置
US11869826B2 (en) * 2020-09-23 2024-01-09 Micron Technology, Inc. Management of heat on a semiconductor device and methods for producing the same
KR20220062756A (ko) * 2020-11-09 2022-05-17 삼성전자주식회사 메모리 장치, 스토리지 모듈, 호스트 및 이들의 동작 방법
US11749334B2 (en) * 2021-05-24 2023-09-05 Micron Technology, Inc. Memory management based on temperature and storage media availability
CN113672450B (zh) * 2021-07-19 2022-11-22 荣耀终端有限公司 固态硬盘的处理方法和装置
US11664065B2 (en) 2021-11-03 2023-05-30 Nanya Technology Corporation Dynamic random-access memory and operation method thereof
US11735246B2 (en) * 2021-11-15 2023-08-22 Micron Technology, Inc. Semiconductor device performing refresh operation
CN117806809A (zh) * 2022-09-26 2024-04-02 华为技术有限公司 内存刷新方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945793B2 (en) 2006-08-11 2011-05-17 Intel Corporation Interface frequency modulation to allow non-terminated operation and power reduction
US7596714B2 (en) * 2006-11-20 2009-09-29 Intel Corporation Methods and apparatus to manage throttling in computing environments
JP2011170943A (ja) * 2010-02-22 2011-09-01 Sony Corp 記憶制御装置、記憶装置、記憶装置システム
US9704557B2 (en) * 2013-09-25 2017-07-11 Qualcomm Incorporated Method and apparatus for storing retention time profile information based on retention time and temperature
US9875785B2 (en) * 2015-10-01 2018-01-23 Qualcomm Incorporated Refresh timer synchronization between memory controller and memory
US10789010B2 (en) 2016-08-26 2020-09-29 Intel Corporation Double data rate command bus
US11017834B2 (en) * 2018-11-30 2021-05-25 Micron Technology, Inc. Refresh command management

Also Published As

Publication number Publication date
US11250902B2 (en) 2022-02-15
CN112558744A (zh) 2021-03-26
US20200027500A1 (en) 2020-01-23

Similar Documents

Publication Publication Date Title
DE102020118897A1 (de) Verfahren und Vorrichtung zum Reduzieren des Leistungsverbrauchs für dieAktualisierung von Speicherbauelementen auf einem Speichermodul
DE102020104367A1 (de) Refresh-befehlssteuerung für eine hostunterstützung einer rowhammer-mitigation
DE112006000644B4 (de) Speichereinrichtungskommunikation unter Verwendung eines Systemspeicherbusses
US11869571B2 (en) Memory device, a controller for controlling the same, a memory system including the same, and a method of operating the same
US20180285252A1 (en) Optimized memory access bandwidth devices, systems, and methods for processing low spatial locality data
US11928042B2 (en) Initialization and power fail isolation of a memory module in a system
DE112017004268T5 (de) Befehlsbus mit doppelter datenrate
CN105518784A (zh) 具有用于高可靠性操作的存储控制器的数据处理器和方法
US20220075689A1 (en) Memory wordline isolation for improvement in reliability, availability, and scalability (ras)
EP3885912A2 (de) Fehlerkorrektur für dynamische daten in einem zeilen- und spaltenadressierbaren speicher
CN109196585A (zh) 用于控制字线及读出放大器的设备及方法
DE102020132762A1 (de) Eingebaute Selbsttest-Stromausfallabschwächung für dynamischen Direktzugriffsspeicher
KR20210091647A (ko) 비휘발성 메모리에 대한 자동 증분 기입 카운트
DE102020132763A1 (de) Undirektionaler informationskanal zur überwachung einer drift eines bidirektionalen informationskanals
DE112022000954T5 (de) Doppelabruf für Speicherdatenübertragung mit langer Burst-Länge
US20170147230A1 (en) Memory device and memory system having heterogeneous memories
US20190042095A1 (en) Memory module designed to conform to a first memory chip specification having memory chips designed to conform to a second memory chip specification
US20220368047A1 (en) Adapter card with compression attached memory modules
US20220012126A1 (en) Translation cache and configurable ecc memory for reducing ecc memory overhead
US20220011836A1 (en) Flow enhancement structure to increase bandwidth of a memory module
Pawlowski Memory as we approach a new horizon
US20220190844A1 (en) Method and apparatus to perform cyclic redundancy check training in a memory module
DE102022127896A1 (de) Adresserzeugung für ein sparing durch adaptive doppelvorrichtungsdatenkorrektur
US20230017161A1 (en) Method and apparatus to perform training on a data bus between a dynamic random access memory (dram) and a data buffer on a buffered dual in-line memory module
US20220326860A1 (en) Method and apparatus to perform bank sparing for adaptive double device data correction