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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2236—Copy
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
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 der2 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 der4 nach einer Schonungsoperation ”in der Spalte”. -
6 ,7 und8 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 Computersystems10 . Das Computersystem10 umfasst einen Prozessor12 . Wie es bei modernen Prozessoren häufig der Fall ist, umfasst der Prozessor12 eine integrierte Speichersteuerung14 . Externe Speichersteuerungen können aber auch eingesetzt werden, wie in den nachfolgenden Zeichnungen dargestellt. Die Speichersteuerung14 umfasst Fehlererkennungs, -korrektur- und -behebungseinheit16 , die bei normalen Speicherzugriffen Fehler erkennen und korrigieren kann. Die Einheit16 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 Speichermodul18 , 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 Speichersteuerung16 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-Hub20 , der wiederum mit dem Benutzer-I/O22 , der Netzwerkschnittstelle24 und der persistente, nicht flüchtige Speicher26 . 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 Netzwerkschnittstelle24 ermöglicht den Anschluss des Computersystems10 an ein Netzwerk. Der persistente, nicht flüchtige Speicher26 stellt den mit dem Computersystem10 in Verbindung stehenden Speicher dar, insbesondere Festplatten, SSD-Laufwerke, optische Laufwerke, NAS (Network Attached Storage) und Firmware, insbesondere Firmwareroutinen, mit denen das Computersystem10 initialisiert wird. Hierbei ist anzumerken, dass viele der vorliegend beschriebenen Funktionen in der bei der Initialisierung des Systems10 geladenen Systemfirmware gespeichert werden können. -
2 zeigt einen Teil eines Computersystems28 , das einen Prozessor30 , eine Speichersteuerung32 und ein Speichermodul34 umfasst. Anzumerken ist, dass in diesem Fall das Computersystem28 eine außerhalb des Prozessors30 liegende Speichersteuerung32 hat. Die vorliegend beschriebenen Schonungsmechanismen funktionieren mit integrierten oder externen Speichersteuerungen im Wesentlichen gleich. Hierbei ist ferner anzumerken, dass das System28 weitere Komponenten und Funktionen umfassen kann, die oben bezüglich des Systems10 der1 beschrieben wurden. - Das Speichermodul
34 umfasst72 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-/Steuereinheit36 und eine Kopierroutine38 umfasst. Die Kopierroutine38 wird in2 als selbständige Funktion dargestellt. Die Kopierroutine38 kann aber mit der Einheit36 , 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 beschriebenen4 und5 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 Einheit36 zu. Typischerweise umfassen diese Signale Signale wie z. B. Chipselect, ID-Select, Adressenbus, Datenbus, Bankadressen, Takt-Aktivationen und Beendigungssignale auf dem Würfel. Die Speichersteuerung32 führt der Einheit36 ferner auch Kopiersignale zu. Auf der Grundlage der von der Speichersteuerung32 empfangenen Kopiersignale führt die Einheit36 wiederum der Kopierroutine38 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 Speichersteuerung32 in der Zeile40 einen Fehler erkannt, wobei der Speicherwürfel den mit A-ERR markierten Fehler aufweist. Die Speichersteuerung32 sendet der Kopierroutine38 über die Einheit36 ein Signal zu, den Inhalt jedes Speicherwürfels der Zeile40 in die Speicherwürfel der Zeile42 zu kopieren, wie in44 dargestellt. Entsprechend führt die Kopierroutine38 eine unterzeilenschonende Operation durch. Da die Kopierroutine38 am Speichermodul34 vorgesehen ist, erfolgt die Kopieroperation recht schnell. Hierbei ist anzumerken, dass die Kopierroutine38 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 Zeile42 zu A für aktiv gewechselt worden ist, und der Status aller Speicherwürfel der Zeile40 zu R für außer Betrieb gewechselt worden ist. Außerdem ist die Einheit36 aktualisiert worden, um Speicherzugriffsoperationen zur Zeile42 umzuleiten, die vorher zur Zeile40 geleitet worden wären. Die Leitungs-/Abbildungsfunktion der Einheit34 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 in1 dargestellten Bereinigungseinheit abgetastet und etwa entdeckte Fehler korrigiert werden. - Anzumerken ist, dass in
2 eine einzige Zeile42 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 Computersystems46 , das einen mit einem Speichermodul52 gekoppelten Prozessor48 mit integrierter Speichersteuerung50 umfasst. Zur Veranschaulichung sind in4 einige Würfelspalten fortgelassen worden. Hierbei ist ferner anzumerken, dass das System46 weitere Komponenten und Funktionen umfassen kann, die oben bezüglich des Systems10 der1 beschrieben wurden. - Das Speichermodul
52 umfasst die Adressen-/Steuereinheit54 sowie eine Kopierroutine für jede Speicherwürfelspalte, so wie die Kopierroutinen56 und58 . Anzumerken ist, dass der Einheit54 aus der Speichersteuerung50 Kopiersignale, sowie weitere Signale, die die Kopieroperation unterstützen, zugesandt werden. Die Einheit54 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. In4 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 Speichersteuerung50 erkannt, dass die Speicherwürfel60 und64 die Höchstfehlerquote erreicht haben. Entsprechend sendet die Speichersteuerung50 der Kopierroutine56 über die Einheit54 das Signal zu, den Inhalt des Würfels60 in den Würfel62 zu kopieren, und sendet der Kopierroutine58 über die Einheit54 das Signal zu, den Inhalt des Würfels64 in den Würfel66 zu kopieren. Das Ergebnis der ”spalteninternen” Schonungsoperation zeigt5 . - In
5 sind die Würfel62 und66 als aktiv und die Würfel60 und64 als außer Betrieb markiert worden. Außerdem ist die Einheit54 durch die Speichersteuerung50 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 Einheit54 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 Modul52 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 Flussdiagramm68 eines beispielhaften Verfahrens. Das Flussdiagramm68 beginnt im Block70 , wo in den in den Aktiven Speicherwürfeln gespeicherten Daten Fehler erkannt werden. Die Steuerung geht auf den Block72 ü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 Block74 über. - Im Block
74 wird der Zugriff auf den fehlerhaften aktiven Speicherwürfel auf den Reservewürfel abgebildet, und die Steuerung geht auf den Block76 über. Im Block72 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 Block70 über und das Flussdiagramm wiederholt sich. -
7 ist ein Flussdiagramm78 eines weiteren beispielhaften Verfahrens. Das Flussdiagramm78 beginnt im Block80 , wo in den in den Aktiven Speicherwürfeln gespeicherten Daten Fehler erkannt werden. Die Steuerung geht auf den Block82 ü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 Block84 über. - Im Block
84 wird der Zugriff auf die fehlerhaften aktive Zeile auf die Reservezeile abgebildet, und die Steuerung geht auf den Block86 über. Im Block86 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 Block88 über, wo die Speicherfehler aus der aktiven Zeile entfernt werden, die früher Reservezeile war. Die Steuerung geht wieder auf den Block80 über und das Flussdiagramm78 wiederholt sich. -
8 ist ein Flussdiagramm90 eines weiteren beispielhaften Verfahrens. Das Flussdiagramm90 beginnt im Block92 , wo in einem aktiven Speicherwürfel Datenfehler erkannt werden. Die Steuerung geht auf den Block94 über. Im Block94 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 Block96 ü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 Block98 ü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 Block100 über, wo die Speicherfehler aus der aktiven Zeile entfernt werden, die früher Reservezeile war. Die Steuerung geht wieder auf den Block92 über und das Flussdiagramm90 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)
- 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. - 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. - 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 ). - Das Speichermodul (
52 ) nach Anspruch 1, wobei Speicherwürfel innerhalb jeder Speicherwürfelspalte einen anderen Status aufweisen können. - 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. - 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 ). - 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. - 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. - Das Computersystem (
46 ) nach Anspruch 6, wobei Speicherwürfel innerhalb jeder Speicherwürfelspalte einen anderen Status aufweisen können. - 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. - 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. - 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. - 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 ). - 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. - Das Verfahren (
68 ,78 ,90 ) nach Anspruch 11, wobei die Elemente des Verfahrens auf einem nicht flüchtigen computerlesbaren Medium (26 ) ausgeführt sind.
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)
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)
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 |
-
2011
- 2011-06-30 GB GB1321670.0A patent/GB2506041A/en not_active Withdrawn
- 2011-06-30 DE DE112011105326.6T patent/DE112011105326T5/de not_active Ceased
- 2011-06-30 WO PCT/US2011/042564 patent/WO2013002799A1/en active Application Filing
- 2011-06-30 US US14/123,091 patent/US9292392B2/en active Active
- 2011-06-30 CN CN201180071656.7A patent/CN103620562A/zh active Pending
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 |