DE112011105326T5 - Speichermodul, umfassend eine Kopierroutine zum Kopieren von Daten aus einen aktiven Speicherwürfel in einen Reservespeicherwürfel - Google Patents

Speichermodul, umfassend eine Kopierroutine zum Kopieren von Daten aus einen aktiven Speicherwürfel in einen Reservespeicherwürfel Download PDF

Info

Publication number
DE112011105326T5
DE112011105326T5 DE112011105326.6T DE112011105326T DE112011105326T5 DE 112011105326 T5 DE112011105326 T5 DE 112011105326T5 DE 112011105326 T DE112011105326 T DE 112011105326T DE 112011105326 T5 DE112011105326 T5 DE 112011105326T5
Authority
DE
Germany
Prior art keywords
memory
cube
active
data
status
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.)
Ceased
Application number
DE112011105326.6T
Other languages
English (en)
Inventor
Lidia Warnes
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112011105326T5 publication Critical patent/DE112011105326T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2236Copy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Ein Speichermodul umfasst eine Kopierroutine zum Kopieren von Daten aus einem aktiven Speicherwürfel in einen Reservespeicherwürfel Der Zugriff wird vom aktiven Speicherwürfel auf den Reservewürfel abgebildet.

Description

  • HINTERGRUND
  • In der Rechentechnik werden Speichermodule typischerweise zum Speichern der Programmcodes und Daten, auf die ein Prozessor zugreift, verwendet. Eine bekannte, häufig vorkommende Speichermodulart ist das DIMM (Dual Inline Memory Module). Heutzutage umfasst ein typisches Speichermodul DRAM ICs (dynamic Random Access Memory Integrated Circuits). Die Speicher-ICs, auch 'Speicherwürfel' genannt, werden in Paketen bereitgestellt; die Pakete werden an Speichermodule angeschlossen, und die Speichermodule werden dann in die Speicherplätze eines Computersystems eingeschoben.
  • Gelegentlich tritt in einem Speicherwürfel ein Speicherfehler auf, und kann die vorher gespeicherten Daten nicht richtig speichern. Zur Erkennung und Behebung von Speicherdatenfehlern sind verschiedene Methoden bekannt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen werden Beispiele, Ausführungen und Konfigurationen der Erfindung, und nicht die Erfindung selbst, gezeigt.
  • 1 zeigt ein Beispiel einer Ausführung eines Computersystems, das einen Prozessor mit einer integrierten Speichersteuerung und drei Speicherkanälen, wobei jeder Speicherkanal drei Speichermodule aufweist.
  • 2 zeigt einen Teil eines Computersystems, das einen Prozessor, eine Speichersteuerung und ein Speichermodul umfasst.
  • 3 zeigt den Teil des Computersystems der 2 nach einer unterzeilenschonenden Operation.
  • 4 zeigt einen Teil eines Computersystems, das einen Prozessor mit einer mit einem Speichermodul gekoppelter integrierter Speicher, wobei jede Spalte Speicherwürfel des Speichermoduls eine Kopierroutine umfasst.
  • 5 zeigt den Teil des Computersystems der 4 nach einer Schonungsoperation ”in der Spalte”.
  • 6, 7 und 8 sind Flussdiagramme beispielhafter Verfahren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der vorstehenden Beschreibung werden zahlreiche Einzelheiten angegeben, um ein Verständnis der vorliegend beschriebenen Beispiele zu vermitteln. Der Fachmann wird jedoch verstehen, dass die Beispiele auch ohne die angegebenen Einzelheiten ausführbar sind. Obwohl eine begrenzte Anzahl Beispiele beschrieben wird, kann der Fachmann diesen zahlreiche Modifikationen und Abwandlungen entnehmen. Die beigefügten Patentansprüche sollen die Modifikationen und Abwandlungen mit umfassen, die im Geist und Schutzumfang der Beispiele liegen.
  • Die vorliegend angegebenen Beispiele betreffen den Einsatz von Reserve-Speicherwürfeln, wenn ein aktiver Speicherwürfel ausfällt oder unzuverlässig wird. Gemäß den vorliegend beschriebenen Beispiele werden Daten aus einem ausgefallenen Würfel in einen Reservewürfel kopiert; der ausgefallene Würfel wird dann außer Betrieb gesetzt und der Reservewürfel wird zum aktiven Würfel.
  • Ein Reserve-Speichermodul wird im Stand der Technik in verschiedenen Konfigurationen bereitgestellt. Wenn ein Speichermodul ausfällt oder auszufallen droht, bildet die Speichersteuerung den Reserve-Speicherwürfel ab und macht es aktiv, und setzt das ausfallende bzw. ausgefallene Speichermodul außer Betrieb. Generell treten Speicherfehler nur in einem einzigen Speicherwürfel des außer Betrieb gesetzten Speichermoduls auf, also werden zahlreiche gute Speicherwürfel des Speichermoduls mit außer Betrieb gesetzt.
  • Es werden immer mehr Geräte auf Speichermodulen bereitgestellt, und die Gesamtanzahl der Speichermodule in Computersystemen wird tendenziell reduziert. Diese Tendenz wird von zwei Technologien, 3D-Stacking (3DS) und TSV (Through Silicon Via), beschleunigt. Die 3DS-Technologie ermöglicht das Aufeinanderstapeln einzelner Speicherwürfel in einer Struktur aus 4, 8, 16 oder mehr Würfelschichten, und die TSV-Technologie ermöglicht die elektrische Kopplung von Signalen zwischen Würfelschichten. Der Würfelstapel wird dann in einem einzigen Paket bereitgestellt. Entsprechen können die 3DS- und TSV-Technologien die Speicherdichte um einen Faktor von 16 oder mehr erhöhen, ohne die Anzahl der auf einem Speichermodul bereitgestellten Pakete zu erhöhen.
  • Wie oben erwähnt, führt der Prozess des Schonens eines gesamten Speichermoduls infolge von Speicherfehlern eines Speicherwürfels am Modul häufig zur Außerbetriebsetzung guter Speicherwürfel. Die vorliegend beschriebenen Beispiele sollen die Technik fortentwickeln, indem die Granularität des Würfelschonens ins Speichermodul und in ein Paket mit gestapelten Speicherwürfeln verschoben wird.
  • 1 zeigt ein Ausführungsbeispiel des Computersystems 10. Das Computersystem 10 umfasst einen Prozessor 12. Wie es bei modernen Prozessoren häufig der Fall ist, umfasst der Prozessor 12 eine integrierte Speichersteuerung 14. Externe Speichersteuerungen können aber auch eingesetzt werden, wie in den nachfolgenden Zeichnungen dargestellt. Die Speichersteuerung 14 umfasst Fehlererkennungs, -korrektur- und -behebungseinheit 16, die bei normalen Speicherzugriffen Fehler erkennen und korrigieren kann. Die Einheit 16 kann den Speicher auch aktiv bereinigen, indem sie den Speicher nach Fehlern abtastet, und korrigierbare Fehler korrigieren, wenn diese entdeckt werden.
  • Die Speichersteuerung 14 unterstützt drei Speicherkanäle, und jeder Speicherkanal weist drei Speichermodule, wie z. B. das Speichermodul 18, auf. Die Speicherkanäle können unabhängig oder im Gleichschritt funktionieren. Häufig werden Speichermodule als DIMMs ausgeführt, die in Speicherplätze eingeschoben werden. Hierbei ist anzumerken, dass die Signalleitungen, die die Speichersteuerung 16 mit den Speichermodulen verbinden, die bekannten Systemdaten-, Adressen-, Taktungs- und Steuersignale, sowie Kopiersignale umfassen, wie weiter unten näher beschrieben wird.
  • Ebenfalls mit dem Prozessor 12 gekoppelt sind der I/O-Hub 20, der wiederum mit dem Benutzer-I/O 22, der Netzwerkschnittstelle 24 und der persistente, nicht flüchtige Speicher 26. Der Benutzer-I/O stellt alle Formen von Benutzer-I/O dar, wie z. B. Tastasturen, Zeigergeräte, Anzeigeadapter und Bildschirme, Lautsprecher, Mikrofone und dgl. Die Netzwerkschnittstelle 24 ermöglicht den Anschluss des Computersystems 10 an ein Netzwerk. Der persistente, nicht flüchtige Speicher 26 stellt den mit dem Computersystem 10 in Verbindung stehenden Speicher dar, insbesondere Festplatten, SSD-Laufwerke, optische Laufwerke, NAS (Network Attached Storage) und Firmware, insbesondere Firmwareroutinen, mit denen das Computersystem 10 initialisiert wird. Hierbei ist anzumerken, dass viele der vorliegend beschriebenen Funktionen in der bei der Initialisierung des Systems 10 geladenen Systemfirmware gespeichert werden können.
  • 2 zeigt einen Teil eines Computersystems 28, das einen Prozessor 30, eine Speichersteuerung 32 und ein Speichermodul 34 umfasst. Anzumerken ist, dass in diesem Fall das Computersystem 28 eine außerhalb des Prozessors 30 liegende Speichersteuerung 32 hat. Die vorliegend beschriebenen Schonungsmechanismen funktionieren mit integrierten oder externen Speichersteuerungen im Wesentlichen gleich. Hierbei ist ferner anzumerken, dass das System 28 weitere Komponenten und Funktionen umfassen kann, die oben bezüglich des Systems 10 der 1 beschrieben wurden.
  • Das Speichermodul 34 umfasst 72 in Zeilen und spalten angeordnete Speicherwürfel. In diesem Beispiel stellt jede Zeile aus neun Speicherwürfeln eine Unterzeile dar, wobei alle Speicherwürfel einer Unterzeile während eines Speicherzugriffs gleichzeitig ausgewählt und gleichzeitig auf sie zugegriffen wird. Die Speicherwürfel werden entweder mit S für Reserve, A für aktiv oder A-ERR für aktiv mit erkanntem Fehler markiert. Hierbei ist anzumerken, dass die Würfel einzeln vorgesehen oder mit den oben beschriebenen 3DS- und TSV-Technologien gestapelt werden können.
  • Ferner ist anzumerken, dass das Speichermodul 34 eine Adressen-/Steuereinheit 36 und eine Kopierroutine 38 umfasst. Die Kopierroutine 38 wird in 2 als selbständige Funktion dargestellt. Die Kopierroutine 38 kann aber mit der Einheit 36, die Adressen- und Steuerungs-Abbildungsfunktionen bereitstellt und Daten- und Strobe-Signale an die Speicherwürfel verteilt, integriert werden kann. Außerdem ist anzumerken, dass die nachfolgend beschriebenen 4 und 5 Beispiele darstellen, bei denen eine Kopierroutine mit jeder Spalte aus Speicherwürfeln verbunden ist.
  • Die Speichersteuerung 32 führt Systemdaten-, Adressen-, Taktungs- und sonstige Steuersignale der Einheit 36 zu. Typischerweise umfassen diese Signale Signale wie z. B. Chipselect, ID-Select, Adressenbus, Datenbus, Bankadressen, Takt-Aktivationen und Beendigungssignale auf dem Würfel. Die Speichersteuerung 32 führt der Einheit 36 ferner auch Kopiersignale zu. Auf der Grundlage der von der Speichersteuerung 32 empfangenen Kopiersignale führt die Einheit 36 wiederum der Kopierroutine 38 das Signal zu, Daten aus einem Speicherwürfel in einen anderen zu kopieren.
  • Hierbei ist anzumerken, dass einige der Signale, die im normalen Betrieb einen bestimmten Zweck haben, während einer Kopieroperation mit einem neuen Zweck versehen werden können. Beispielsweise gibt der Adressenbus üblicherweise die Adresse einer Speicherzugriffsoperation an. Während einer Kopieroperation kann mit dem Adressenbus jedoch die Quell- und Zielzeile angegeben werden.
  • In 2 hat die Speichersteuerung 32 in der Zeile 40 einen Fehler erkannt, wobei der Speicherwürfel den mit A-ERR markierten Fehler aufweist. Die Speichersteuerung 32 sendet der Kopierroutine 38 über die Einheit 36 ein Signal zu, den Inhalt jedes Speicherwürfels der Zeile 40 in die Speicherwürfel der Zeile 42 zu kopieren, wie in 44 dargestellt. Entsprechend führt die Kopierroutine 38 eine unterzeilenschonende Operation durch. Da die Kopierroutine 38 am Speichermodul 34 vorgesehen ist, erfolgt die Kopieroperation recht schnell. Hierbei ist anzumerken, dass die Kopierroutine 38 mit bekannten Methoden wie z. B. Quell- und Zielzeilenregister, sowie mit dem Kopieren der Daten aus der Quell- in die Zielzeile von Würfel zu Würfel inkrementierende Register, ausgeführt werden kann.
  • Das Ergebnis der unterzeilenschonenden Operation zeigt 3. Hierbei ist anzumerken, dass der Status aller Speicherwürfel der Zeile 42 zu A für aktiv gewechselt worden ist, und der Status aller Speicherwürfel der Zeile 40 zu R für außer Betrieb gewechselt worden ist. Außerdem ist die Einheit 36 aktualisiert worden, um Speicherzugriffsoperationen zur Zeile 42 umzuleiten, die vorher zur Zeile 40 geleitet worden wären. Die Leitungs-/Abbildungsfunktion der Einheit 34 kann als Tabelle oder in einer sonstigen geeigneten Datenstruktur ausgeführt werden. Hierbei sit anzumerken, dass die vom ausfallenden Würfel abgelesenen Daten Fehler enthalten können, also können die relevanten Speicherstellen nach der Kopieroperation von einer in 1 dargestellten Bereinigungseinheit abgetastet und etwa entdeckte Fehler korrigiert werden.
  • Anzumerken ist, dass in 2 eine einzige Zeile 42 aus Reservewürfeln vorgesehen ist. Weitere Zeilen aus Reservewürfeln können aber auch vorgesehen werden, um weitere Redundanzen hinzuzufügen, wodurch der weitere Betrieb selbst nach dem Auftreten mehrerer Speicherfehler in mehreren Zeilen gewährleistet werden kann.
  • 4 zeigt einen Teil eines Computersystems 46, das einen mit einem Speichermodul 52 gekoppelten Prozessor 48 mit integrierter Speichersteuerung 50 umfasst. Zur Veranschaulichung sind in 4 einige Würfelspalten fortgelassen worden. Hierbei ist ferner anzumerken, dass das System 46 weitere Komponenten und Funktionen umfassen kann, die oben bezüglich des Systems 10 der 1 beschrieben wurden.
  • Das Speichermodul 52 umfasst die Adressen-/Steuereinheit 54 sowie eine Kopierroutine für jede Speicherwürfelspalte, so wie die Kopierroutinen 56 und 58. Anzumerken ist, dass der Einheit 54 aus der Speichersteuerung 50 Kopiersignale, sowie weitere Signale, die die Kopieroperation unterstützen, zugesandt werden. Die Einheit 54 kann wiederum jeder der Kopierroutinen das Signal zur Durchführung einer Kopieroperation innerhalb einer Spalte zusenden. Wie oben beschrieben, können Signale, die im normalen Betrieb zweckgebunden sind (z. B. Signale zur Adressierung von Speicherzellen), in Würfelschonungsoperationen mit einem neuen Zweck versehen werden.
  • Die Würfel können in Einzelpaketen vorgesehen oder mit den 3DS- und TSV-Technologien gestapelt werden. Die gestrichelten Kästen, die jede Spalte umfassen, stellen einen Würfelstapel in einem einzigen Paket dar.
  • In dem in 4 dargestellten Beispiel werden Reservewürfel in jeder Spalte vorgesehen und verwaltet. Entsprechend handelt es sich bei der Granularität des Schonens um einen einzigen Speicherwürfel, so dass ein guter Speicherwürfel selten außer Betrieb gesetzt werden muss. Die Kopierroutinen können als diskrete ICs oder Würfel ausgeführt, in selbständigen Paketen oder in einem 3DS-Stapel vorgesehen werden. Alternativ kann am Speicherwürfel eine Kopierroutine vorgesehen sein. Gemäß einer Ausführungsform kann die Kopierroutine an jedem Speicherwürfel vorgesehen sein, wobei ein Würfel die Hauptrolle spielt. In einer weiteren Ausführungsform kann sich eine Speichermodul-Engine von den anderen Würfeln der Spalte unterscheiden, die keine Engine enthalten, wodurch die Transistorzahl und die Kosten reduziert werden. In 4 ist anzumerken, dass die gestrichelten Kästen, die jede Kopierroutine und einen angrenzenden Speicherwürfel umfassen, eine mit einem gemeinsamen Würfel mit dem Speicherzellenarray versehene Kopierroutine darstellen.
  • In 4 hat die Speichersteuerung 50 erkannt, dass die Speicherwürfel 60 und 64 die Höchstfehlerquote erreicht haben. Entsprechend sendet die Speichersteuerung 50 der Kopierroutine 56 über die Einheit 54 das Signal zu, den Inhalt des Würfels 60 in den Würfel 62 zu kopieren, und sendet der Kopierroutine 58 über die Einheit 54 das Signal zu, den Inhalt des Würfels 64 in den Würfel 66 zu kopieren. Das Ergebnis der ”spalteninternen” Schonungsoperation zeigt 5.
  • In 5 sind die Würfel 62 und 66 als aktiv und die Würfel 60 und 64 als außer Betrieb markiert worden. Außerdem ist die Einheit 54 durch die Speichersteuerung 50 aktualisiert worden, um der neuen Speicherwürfelabbildung zu entsprechen. Hierbei ist anzumerken, dass für jeden ersetzten Speicherwürfel nur ein einziger Reservewürfel eingesetzt wurde. Entsprechend kann eine beliebige der anderen Speicherwürfelspalten, die noch Reservewürfel enthalten, trotz Würfelausfall den normalen Betrieb fortsetzen. Indem für die Schonungsoperationen eine feinere Granularität vorgesehen wird, werden zusätzliche Redundanzen erzielt. Anzumerken ist, dass die Einheit 54 mit nicht flüchtigem Speicher versehen sein kann, damit die neue Speichersteuerung die vorherigen Abbildungen ablesen und die vorher erfolgten Schonungsoperationen erkennen kann, wenn das Modul 52 entfernt und in ein anderes System eingeschoben wird. Alternativ kann die neue Speichersteuerung die vorherigen Schonungen zurücksetzen und den Speicher nochmals prüfen und schonen.
  • Hierbei ist anzumerken, dass in 4 ein einziger Reservewürfel in jeder Spalte vorgesehen ist. Zusätzliche Reservewürfel können jedoch in jeder Spalte vorgesehen sein, um die Außerbetriebsetzung mehrerer Speicherwürfel in jeder Spalte zu ermöglichen.
  • 6 ist ein Flussdiagramm 68 eines beispielhaften Verfahrens. Das Flussdiagramm 68 beginnt im Block 70, wo in den in den Aktiven Speicherwürfeln gespeicherten Daten Fehler erkannt werden. Die Steuerung geht auf den Block 72 über, wo eine Kopierroutine mit dem die Speicherfehler aufweisenden aktiven Speicher an einem gemeinsamen Speichermodul vorliegt, den Befehl erhält, Daten vom fehlerhaften aktiven Speicher in einen Reservewürfel zu kopieren. Die Steuerung geht auf den Block 74 über.
  • Im Block 74 wird der Zugriff auf den fehlerhaften aktiven Speicherwürfel auf den Reservewürfel abgebildet, und die Steuerung geht auf den Block 76 über. Im Block 72 wird ein Status des fehlerhaften aktiven Speicherwürfels von aktiv auf außer Betrieb gewechselt, und ein Status des die Daten empfangenden Reservewürfels wird von Reserve auf aktiv gewechselt. Die Steuerung geht wieder auf den Block 70 über und das Flussdiagramm wiederholt sich.
  • 7 ist ein Flussdiagramm 78 eines weiteren beispielhaften Verfahrens. Das Flussdiagramm 78 beginnt im Block 80, wo in den in den Aktiven Speicherwürfeln gespeicherten Daten Fehler erkannt werden. Die Steuerung geht auf den Block 82 über, wo eine Kopierroutine mit dem fehlerhaften aktiven Speicher an einem gemeinsamen Speichermodul vorliegt, den Befehl erhält, Daten von der fehlerhaften aktiven Zeile, die den fehlerhaften aktiven Speicherwürfel enthält, in eine Reservezeile zu kopieren. Die Steuerung geht auf den Block 84 über.
  • Im Block 84 wird der Zugriff auf die fehlerhaften aktive Zeile auf die Reservezeile abgebildet, und die Steuerung geht auf den Block 86 über. Im Block 86 wird der Status der den fehlerhaften Speicherwürfel enthaltenden aktiven Zeile auf außer Betrieb gewechselt, und der Status der die Daten von der den fehlerhaften Speicherwürfel enthaltenden Zeile empfangenden Zeile wird auf aktiv gewechselt. Die Steuerung geht auf den Block 88 über, wo die Speicherfehler aus der aktiven Zeile entfernt werden, die früher Reservezeile war. Die Steuerung geht wieder auf den Block 80 über und das Flussdiagramm 78 wiederholt sich.
  • 8 ist ein Flussdiagramm 90 eines weiteren beispielhaften Verfahrens. Das Flussdiagramm 90 beginnt im Block 92, wo in einem aktiven Speicherwürfel Datenfehler erkannt werden. Die Steuerung geht auf den Block 94 über. Im Block 94 erhält eine mit dem fehlerhaften aktiven Speicher an einem gemeinsamen Speichermodul vorliegende Kopierroutine den Befehl, Daten von einem fehlerhaften aktiven Speicher in einen in einer Würfel mit dem aktiven Speicherwürfel befindlichen Reservewürfel zu kopieren. Die Steuerung geht auf den Block 96 über.
  • Im Block 96 wird der Zugriff auf den fehlerhaften aktiven Speicherwürfel vom aktiven Würfel auf den Reservewürfel abgebildet. Die Steuerung geht auf den Block 98 über, wo der Status des fehlerhaften aktiven Speicherwürfels auf außer Betrieb gewechselt wird, und der Status der die Daten von der den fehlerhaften Speicherwürfel enthaltenden Zeile empfangenden Zeile auf aktiv gewechselt wird. Die Steuerung geht auf den Block 100 über, wo die Speicherfehler aus der aktiven Zeile entfernt werden, die früher Reservezeile war. Die Steuerung geht wieder auf den Block 92 über und das Flussdiagramm 90 wiederholt sich.
  • Die vorliegend beschriebenen Beispiele sind für die immer weiter steigende Speicherwürfeldichte in Speichermodulen gut geeignet. Die vorliegend beschriebenen Kopierroutinen ermöglichen eine schnelle Speicherwürfelschonung, ohne die Speichersteuerung mit dem Kopieren von Daten aus einem ausfallenden Speicherwürfel in einen Reservewürfel zu belasten. Mit zunehmender Granularität der Speicherwürfelschonung müssen weniger Speicherwürfel außer Betrieb gesetzt werden, wodurch die guten Speicherwürfel zur Bereitstellung zusätzlicher Redundanzen erhalten bleiben. Die Beispiele mit ”spalteninternem” Schonen bieten eine hoch effiziente Nutzung der Reservewürfel, da der ausfallende Würfel eins zu eins durch einen Reservewürfel ersetzt wird. Außerdem bleiben die Reservewürfel in anderen Spalten weiterhin verfügbar. Die vorliegend beschriebenen Beispiele bieten verbesserte Redundanzen und Zuverlässigkeit unter deutlicher Reduzierung der Garantiekosten, da Speichermodule mit mehreren außer Betrieb gesetzten Speicherwürfeln weiterhin normal funktionieren können.
  • In der vorstehenden Beschreibung werden zahlreiche Einzelheiten angegeben, um ein Verständnis der vorliegend beschriebenen Beispiele zu vermitteln. Der Fachmann wird jedoch verstehen, dass die Beispiele auch ohne die angegebenen Einzelheiten ausführbar sind. Obwohl eine begrenzte Anzahl Beispiele beschrieben wird, kann der Fachmann diesen zahlreiche Modifikationen und Abwandlungen entnehmen. Die beigefügten Patentansprüche sollen die Modifikationen und Abwandlungen mit umfassen, die im Geist und Schutzumfang der beschriebenen Beispiele liegen.

Claims (15)

  1. Speichermodul (18, 34, 52), umfassend: ein Array aus Speicherwürfeln (60, 62, 64, 66), die in logischen Zeilen (40, 42) und Spalten angeordnet sind, wobei jedem Speicherwürfel (60, 62, 64, 66) der Status Reserve, Aktiv oder außer Betrieb zugewiesen werden kann, Systemdaten-, Adressen- und Taktungsanschlüsse zur Kopplung von Systemdaten-, Adressen- und Taktsignalen mit einem System; eine Speichermodul-Kopierroutine (38, 56, 58) zum Kopieren (44) von Daten aus einem ausfallenden aktiven Speicherwürfel (40, 60, 64) in einen Reservespeicherwürfel (42, 62, 66); und eine Adressen-/Steuereinheit (36, 54) zur Abbildung der Systemdaten-, Adressen- und Taktsignale auf aktiven Speicherwürfeln entsprechende Speicherdaten-, Adressen- und Taktsignale.
  2. Das Speichermodul (34) nach Anspruch 1, wobei alle Speicherwürfel einer gemeinsamen Zeile (40, 42) einen gemeinsamen Status aufweisen, und die Zeilen (40, 42) den Status Reserve, Aktiv oder außer Betrieb aufweisen.
  3. Das Speichermodul (34) nach Anspruch 2, wobei die Speichermodul-Kopierroutine (38) Daten aus einer einen ausfallenden Speicherwürfel enthaltenden aktiven Zeile (40) in eine Reservezeile (42) kopiert (44).
  4. Das Speichermodul (52) nach Anspruch 1, wobei Speicherwürfel innerhalb jeder Speicherwürfelspalte einen anderen Status aufweisen können.
  5. Das Speichermodul (52) nach Anspruch 4, wobei eine Speichermodul-Kopierroutine (56, 58) jeder Speicherwürfelspalte zugeordnet ist, um Daten aus einem ausfallenden aktiven Speicherwürfel (60, 64) in einen Reservespeicherwürfel (62, 66) innerhalb der Spalte zu kopieren.
  6. Computersystem (10, 28, 46), umfassend: einen Prozessor (12, 30, 48); einen mit dem Prozessor (12, 30, 48) gekoppelten persistenten, nicht flüchtigen Speicher (26); eine Speichersteuerung (14, 32, 50), die entweder extern (32) und mit dem Prozessor (30) gekoppelt ist, oder innerhalb des Prozessors (12, 48) integriert (16, 50) ist, um Systemspeicherdaten-, Adressen- und Taktsignale zu erzeugen; und ein Speichermodul (18, 34, 52), umfassend: ein Array aus Speicherwürfeln, die in logischen Zeilen und Spalten angeordnet sind, wobei jeder Speicherwürfel den Status Reserve, Aktiv oder außer Betrieb annehmen kann; eine Adressen-/Steuereinheit (36, 54) zur Abbildung der Systemspeicherdaten-, Adressen- und Taktsignale von der Speichersteuerung (32, 50) auf aktiven Speicherwürfeln entsprechende Speicherdaten-, Adressen- und Taktsignale; und eine Speichermodul-Kopierroutine (38, 56, 58) zum Kopieren von Daten aus einem ausfallenden aktiven Speicherwürfel (40, 60, 54) in einen Reservespeicherwürfel (42, 62, 66).
  7. Das Computersystem (10, 28, 46) nach Anspruch 6, wobei die Speichersteuerung (14, 32, 50) eine Fehlererkennungseinheit (16) zum Erkennen von Speicherfehlern im Speichermodul (14, 34, 52) umfasst, und bei Erreichen einer Fehlerschwelle der Speichermodul-Kopierroutine (38, 56, 58) den Befehl gibt, Daten aus einem aktiven Speicherwürfel, der die Fehlerschwelle erreicht hat, in einen Reservespeicherwürfel zu kopieren, und der Adressen-/Steuereinheit (36, 45) den Befehl gibt, den Status des aktiven Speicherwürfels (40, 60, 64), der die Fehlerschwelle erreicht hat, von Aktiv auf außer Betrieb zu ändern, und den Status des den Inhalt des aktiven Speicherwürfels (40, 60, 64), der die Fehlerschwelle erreicht hat, empfangenden Reservespeicherwürfels (42, 62, 66) von Reserve auf Aktiv zu ändern.
  8. Das Computersystem (28) nach Anspruch 7, wobei alle Speicherwürfel einer gemeinsamen Zeile (40, 42) einen gemeinsamen Status aufweisen, Zeilen einen Status Reserve, Aktiv oder außer Betrieb aufweisen, und die Speichersteuerung (32) der Speichermodul-Kopierroutine (38) den Befehl gibt, Daten aus einer aktiven Zeile (40) mit einem Speicherwürfel, der die Fehlerschwelle erreicht hat, in eine Reservezeile (42) zu kopieren, und der Adressen-/Steuereinheit (36) den Befehl gibt, den Status der aktiven Zeile (40), die den Speicherwürfel enthält, der die Fehlerschwelle erreicht hat, von Aktiv auf außer Betrieb zu ändern, und den Status des den Inhalt der aktiven Zeile (40), die den Speicherwürfel enthält, der die Fehlerschwelle erreicht hat, empfangenden Reservezeile (42) von Reserve auf Aktiv zu ändern.
  9. Das Computersystem (46) nach Anspruch 6, wobei Speicherwürfel innerhalb jeder Speicherwürfelspalte einen anderen Status aufweisen können.
  10. Das Computersystem (10, 28, 46) nach Anspruch 6, wobei die Speichersteuerung (14, 32, 50) eine Bereinigungseinheit (16) umfasst, und die Bereinigungseinheit (16) beim Kopieren (44) von Daten aus einem Speicherwürfel (40, 60, 64), der die Fehlerschelle erreicht hat, in einen Reservewürfel (42, 62, 66) mittels Fehlerkorrektur den Speicher bereinigt.
  11. Verfahren (68, 78, 90), umfassend: Erkennen (70) von Datenfehlern in in einem aktiven Speicherwürfel gespeicherten Daten; Erteilen des Befehls (72, 82, 94) an eine Speichermodul-Kopierroutine, die mit dem aktiven Speicher, der die Speicherfehler aufweist, an einem gemeinsamen Speichermodul vorliegt, Daten vom aktiven Speicher, der die Speicherfehler aufweist, in einen Reservespeicherwürfel zu kopieren; Abbilden (74, 84, 96) des Zugriffs auf den aktiven Speicherwürfel, der die Datenfehler aufweist, auf den Reservespeicherwürfel; und Ändern (76, 86, 98) des Status des aktiven Speicherwürfels, der die Datenfehler aufweist, auf außer Betrieb und Ändern eines Status des Reservespeicherwürfels, der die Daten von dem Speicherwürfel mit den Datenfehlern enthält, auf Aktiv.
  12. Das Verfahren (78, 90) nach Anspruch 11, und ferner umfassend: Bereinigen (88, 100) von Speicherfehlern aus dem aktiven Speicherwürfel, der davor der Reservespeicherwürfel war.
  13. Das Verfahren (78) nach Anspruch 11, wobei alle Speicherwürfel in logischen Zeilen organisiert sind, Zeilen einen Status Reserve, Aktiv oder außer Betrieb aufweisen und die Speichermodul-Kopierroutine Daten von einer aktiven Zeile in eine Reservezeile kopiert (92).
  14. Das Verfahren (90) nach Anspruch 11, wobei die Speicherwürfel in Spalten organisiert sind, und jeder Speicherwürfel innerhalb jeder Speicherwürfelspalte einen Status Reserve, Aktiv oder außer Betrieb aufweisen kann und jeder Speicherwürfelspalte eine Speichermodul-Kopierroutine zum Kopieren (94) von Daten aus einem ausfallenden aktiven Speicherwürfel in einen Reservespeicherwürfel innerhalb der Spalte zugeordnet ist.
  15. Das Verfahren (68, 78, 90) nach Anspruch 11, wobei die Elemente des Verfahrens auf einem nicht flüchtigen computerlesbaren Medium (26) ausgeführt sind.
DE112011105326.6T 2011-06-30 2011-06-30 Speichermodul, umfassend eine Kopierroutine zum Kopieren von Daten aus einen aktiven Speicherwürfel in einen Reservespeicherwürfel Ceased DE112011105326T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/042564 WO2013002799A1 (en) 2011-06-30 2011-06-30 A memory module that includes a memory module copy engine for copying data from an active memory die to a spare memory die

Publications (1)

Publication Number Publication Date
DE112011105326T5 true DE112011105326T5 (de) 2014-02-27

Family

ID=47424453

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105326.6T Ceased DE112011105326T5 (de) 2011-06-30 2011-06-30 Speichermodul, umfassend eine Kopierroutine zum Kopieren von Daten aus einen aktiven Speicherwürfel in einen Reservespeicherwürfel

Country Status (5)

Country Link
US (1) US9292392B2 (de)
CN (1) CN103620562A (de)
DE (1) DE112011105326T5 (de)
GB (1) GB2506041A (de)
WO (1) WO2013002799A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875808B2 (en) * 2013-01-15 2018-01-23 Micron Technology, Inc. Reclaimable semiconductor device package and associated systems and methods
CN104008780A (zh) * 2013-02-26 2014-08-27 中芯国际集成电路制造(上海)有限公司 存储单元的修复方法和装置
US9766972B2 (en) * 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9613722B2 (en) * 2014-09-26 2017-04-04 Intel Corporation Method and apparatus for reverse memory sparing
US9697094B2 (en) 2015-02-06 2017-07-04 Intel Corporation Dynamically changing lockstep configuration
US10147500B2 (en) 2015-05-22 2018-12-04 SK Hynix Inc. Hybrid read disturb count management
US10303536B2 (en) * 2015-10-28 2019-05-28 Via Technologies, Inc. Non-volatile memory device and control method thereof
US10048877B2 (en) * 2015-12-21 2018-08-14 Intel Corporation Predictive memory maintenance
US10339050B2 (en) * 2016-09-23 2019-07-02 Arm Limited Apparatus including a memory controller for controlling direct data transfer between first and second memory modules using direct transfer commands
US11048597B2 (en) * 2018-05-14 2021-06-29 Micron Technology, Inc. Memory die remapping
US11151006B2 (en) * 2018-07-02 2021-10-19 Samsung Electronics Co., Ltd. HBM RAS cache architecture

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835436A (en) * 1995-07-03 1998-11-10 Mitsubishi Denki Kabushiki Kaisha Dynamic type semiconductor memory device capable of transferring data between array blocks at high speed
US6031758A (en) * 1996-02-29 2000-02-29 Hitachi, Ltd. Semiconductor memory device having faulty cells
US6480982B1 (en) 1999-06-04 2002-11-12 International Business Machines Corporation Computer RAM memory system with enhanced scrubbing and sparing
US6292383B1 (en) 2000-04-27 2001-09-18 Stmicroelectronics, Inc. Redundant memory cell for dynamic random access memories having twisted bit line architectures
KR100644602B1 (ko) 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US7178072B2 (en) 2001-06-08 2007-02-13 Renesas Technology America, Inc. Methods and apparatus for storing memory test information
US7088624B2 (en) 2003-07-18 2006-08-08 Infineon Technologies, A.G. System of multiplexed data lines in a dynamic random access memory
US7881133B2 (en) 2003-11-11 2011-02-01 Samsung Electronics Co., Ltd. Method of managing a flash memory and the flash memory
US7308605B2 (en) * 2004-07-20 2007-12-11 Hewlett-Packard Development Company, L.P. Latent error detection
US7996710B2 (en) * 2007-04-25 2011-08-09 Hewlett-Packard Development Company, L.P. Defect management for a semiconductor memory system
US8473791B2 (en) 2007-04-30 2013-06-25 Hewlett-Packard Development Company, L.P. Redundant memory to mask DRAM failures
US8892942B2 (en) * 2007-07-27 2014-11-18 Hewlett-Packard Development Company, L.P. Rank sparing system and method
US8254191B2 (en) * 2008-10-30 2012-08-28 Micron Technology, Inc. Switched interface stacked-die memory architecture
JP5323449B2 (ja) * 2008-10-30 2013-10-23 株式会社小糸製作所 車両用灯具ユニット及び車両用灯具
US8412985B1 (en) * 2009-06-30 2013-04-02 Micron Technology, Inc. Hardwired remapped memory
US20100332894A1 (en) 2009-06-30 2010-12-30 Stephen Bowers Bit error threshold and remapping a memory device
US8468419B2 (en) * 2009-08-31 2013-06-18 Lsi Corporation High-reliability memory

Also Published As

Publication number Publication date
WO2013002799A1 (en) 2013-01-03
CN103620562A (zh) 2014-03-05
GB2506041A (en) 2014-03-19
US20140082411A1 (en) 2014-03-20
US9292392B2 (en) 2016-03-22
GB201321670D0 (en) 2014-01-22

Similar Documents

Publication Publication Date Title
DE112011105326T5 (de) Speichermodul, umfassend eine Kopierroutine zum Kopieren von Daten aus einen aktiven Speicherwürfel in einen Reservespeicherwürfel
DE102017128940B4 (de) System und Verfahren zum dynamischen Falten oder direkten Schreiben basierend auf Block-Störungsfreiheit in einem nichtflüchtigen Speichersystem
DE102017113576B4 (de) Auf PCI Express basierender Speichereinsatz mit Zweifachport, der Einzelport-Speichercontroller enthält
DE102006048856B4 (de) Verfahren zum Betreiben einer IC-Halbleiterspeichervorrichtung und IC-Halbleiterspeichervorrichtung
DE112010003345B4 (de) Datenspeichersystem und Verfahren für das Betreiben eines Datenspeichersystems
DE102020115736A1 (de) Halbleiterspeichervorrichtung und Verfahren zum Betreiben der Halbleiterspeichervorrichtungen
DE3855031T2 (de) Kopiesystem mit "Hot-standby"-Speicher
DE102008015990B4 (de) Speichermodul mit Rängen von Speicherchips und gestapelten ECC-Speichervorrichtungen sowie Computersystem
DE102018122491A1 (de) Halbleiterspeichervorrichtung und verfahren zum betreiben derselben
DE102007058418A1 (de) Fehlerkorrektur in Speicherbauteilen
DE102020108262A1 (de) Halbleiterspeichervorrichtungen, Speichersysteme und Verfahren zum Steuern der Reparatur von Halbleiterspeichervorrichtungen
DE112012005617T5 (de) Speicherung von Daten in Speichermodulpuffern
DE102021122170A1 (de) Adaptive fehlerbereinigung und fehlerbehandlung für internen speicher
DE10206720A1 (de) System und Verfahren zum Betreiben eines programmierbaren Zählers für Spaltenversagen bei Redundanzzuordnung
DE3876459T2 (de) Speicher und deren pruefung.
DE10048402B4 (de) Datenspeichersystem
DE102006002526A1 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE102006036070B4 (de) Ladungsfallenspeichervorrichtung und Verfahren für deren Herstellung und Betrieb
DE102012210232A1 (de) Vorbeugende Speicherreparatur auf der Grundlage der Analyse einer Vielzahl von Symbolen und Bereinigungszyklen
DE102009047875A1 (de) Speicherreparatur
DE112016000696B4 (de) Ablaufplanungsschema(ta) für eine Mehrchip-Speichervorrichtung
DE102020115747A1 (de) Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst
DE102011075814A1 (de) Speicherpuffer mit zugänglicher Information nach einem Schreibfehler
DE112019000211B4 (de) Effizientes und selektives ersatzweises Speichern von Bits in Arbeitsspeichersystemen
DE112017007690T5 (de) Verfahren und vorrichtungen zur durchführung einer fehlerdetektion und/oder korrektur in einer speichervorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOU, US

Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON, TEX., US

R082 Change of representative

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER & PAR, DE

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0012020000

Ipc: G11C0008000000

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOU, US

Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON, TEX., US

R082 Change of representative

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final