-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich allgemein auf eine Mehrchipspeichervorrichtung
und insbesondere auf ein System und ein Verfahren zum Adressieren
von Fehlern in einer solchen Mehrchipspeichervorrichtung, bei der
eine Vorrichtung ein flüchtiger
Speicher ist, eine andere Vorrichtung ein nichtflüchtiger
Speicher ist und die Fehler, die adressiert werden, in dem flüchtigen
Speicher sind.
-
Hintergrund der Erfindung
-
Es
sind viele Arten verschiedener Speicher auf dem Markt zur temporären Speicherung
flüchtiger
Daten erhältlich.
Sie umfassen dynamische Direktzugriffsspeicher (DRAMs; DRAM = dynamic
random access memory), statische Direktzugriffsspeicher (SRAMs;
SRAM = static random access memory) und ähnliches. Und solche großen Speicher
werden üblicherweise
in einer großen
Vielzahl von elektronischen Vorrichtungen verwendet.
-
Üblicherweise
umfasst ein flüchtiger
Speicher eine große
Anzahl individueller Speicherzellen, die in einem Array angeordnet
sind. Jede Speicherzelle in dem Speicherarray kann dann durch eine
eindeutige Kombination aus Zeilenadresse und Spaltenadresse identifiziert
werden. Einige Implementierungen können den verfügbaren Speicher
weiter in separate Speicherblöcke
aufspalten, wobei jeder Block ein separates Array enthält. Bei
einem solchen Ausführungsbeispiel
kann jede Speicherzelle in dem Speicherarray durch eine eindeutige
Kombination aus Bankidentifizierer und Zeilenadresse und Spaltenadresse
innerhalb der Bank identifiziert sein.
-
Während des
Herstellungsprozesses eines flüchtigen
Speicherelements jedoch können
Fehler in individuellen Speicherzellen innerhalb des flüchtigen Speicherelements
entstehen, wodurch sie unbenutzbar werden. Um dieses Problem zu
adressieren, weisen flüchtige
Speicher häufig
einen Satz aus redundanten Speicherelementen auf (d. h. Speicherzellen oder
Gruppen aus Speicherzellen), die häufig als redundante Zeilen
oder redundante Spalten angeordnet sind. Diese redundanten Speicherelemente
können
dann anstelle der fehlerhaften Speicherelemente verwendet werden,
die während
der Herstellung identifiziert werden.
-
Eine übliche Art
und Weise, die fehlerhaften Speicherzellen auszumachen, ist es,
einen Satz aus Sicherungen innerhalb des flüchtigen Speichers bereitzustellen.
Während
der Herstellung kann jede dieser Sicherungen in einem bestimmten
Muster durchbrennen, um eine fehlerhafte Speicherzelle oder, was üblicher
ist, eine Zeile oder Spalte in dem Speicherarray zu identifizieren,
die eine oder mehrere fehlerhafte Speicherzellen enthält. Die
Informationen in diesen Sicherungen können dann während der normalen Operation
des flüchtigen
Speichers verwendet werden, um Datenanforderungen, die zu den fehlerhaften
Speicherzellen adressiert sind, zu redundanten Speicherzellen umzuleiten,
die ihre Stelle einnehmen sollen. Und da die Sicherungen permanent durchgebrannt
sind, bleiben die Daten, die sie enthalten, sogar wenn das flüchtige Speicherelement
eine Zeit abgeschaltet wird.
-
Im
Hinblick jedoch auf die Herstellungsanforderungen zum ordnungsgemäßen Durchbrennen
der Sicherungen muss der Prozess des Identifizierens der Speicherfehler
stattfinden, bevor die Speichervorrichtung, die den flüchtigen
Speicher enthält, schließlich zusammengesetzt
wird. Somit wird der flüchtige
Speicher üblicherweise
zusätzlichen
Herstellungsprozessen unterzogen, nachdem die Sicherungen gesetzt
sind. Und diese späteren
Prozesse können
zu zusätzlichen
Speicher zellenfehlern führen,
die nicht notwendigerweise durch die Sicherungen ausgemacht werden.
-
es
wäre daher
wünschenswert,
eine Möglichkeit
zu liefern, wie Speicherzellenfehler in einem flüchtigen Speicher adressiert
werden können,
nachdem die Herstellung und Zusammensetzung der Speichervorrichtung
abgeschlossen ist.
-
Zusammenfassung der Erfindung
-
Eine
Mehrchipspeichervorrichtung, mit einem flüchtigen Speicherelement, das
konfiguriert ist, eine Mehrzahl aus Informationsbits zu speichern
und später
auf die Mehrzahl von Informationsbits zuzugreifen; einem nichtflüchtigen
Speicherelement, das konfiguriert ist, um Anfangsreparaturinformationen zu
speichern, die einen oder mehrere Fehler in dem flüchtigen
Speicherelement identifizieren; und einer Hauptspeichersteuerung,
die konfiguriert ist, um die Anfangsreparaturinformationen zu lesen
und verarbeitete Reparaturinformationen und Flüchtiger-Speicher-Steuersignale
zu dem flüchtigen
Speicherelement zu liefern, wobei das flüchtige Speicherelement konfiguriert
ist, um die Mehrzahl von Informationsbits zu speichern und auf dieselben
zuzugreifen, basierend auf den verarbeiteten Reparaturinformationen und
den Logikadressinformationen.
-
Kurze Beschreibung der Zeichnungen
-
Die
beiliegenden Zeichnungen, in denen gleiche Bezugszeichen auf identische
oder funktional ähnliche
Elemente Bezug nehmen und die zusammen mit der detaillierten nachfolgenden
Beschreibung in das Dokument aufgenommen sind und und einen Teil
desselben bilden, dienen zum weiteren Darstellen eines exemplarischen
Ausführungsbeispiels
und zum Erklären
verschiedener Prinzipien und Vorteile gemäß der vorliegenden Erfindung.
-
1 ist
ein Blockdiagramm einer Mehrchipspeicherkombination gemäß einem
offenbarten Ausführungsbeispiel;
-
2 ist
ein Blockdiagramm des nichtflüchtigen
Speicherelements aus 1 gemäß einem offenbarten Ausführungsbeispiel;
-
3 ist
ein Blockdiagramm des Datenformats, das in dem Reparaturdatenblock
aus 2 gespeichert ist, gemäß einem offenbarten Ausführungsbeispiel;
-
4 ist
ein Blockdiagramm der Hauptspeichersteuerung aus 1 gemäß einem
offenbarten Ausführungsbeispiel;
-
5 ist
ein Blockdiagramm des flüchtigen Speicherelements
aus 1 gemäß einem
offenbarten Ausführungsbeispiel;
-
6 ist
ein Blockdiagramm eines Abschnitts des flüchtigen Speicherelements aus 1 und 5 gemäß einem
offenbarten Ausführungsbeispiel;
-
7 ist
ein Flussdiagramm des Erzeugens der Mehrchipspeichervorrichtung
aus 1 gemäß einem
offenbarten Ausführungsbeispiel
gemäß einem
offenbarten Ausführungsbeispiel;
und
-
8 ist
ein Flussdiagramm des Betriebs der Mehrchipspeichervorrichtung aus 1 gemäß einem
offenbarten Ausführungsbeispiel
gemäß einem
Ausführungsbeispiel.
-
Detaillierte Beschreibung
-
Die
vorliegende Offenbarung wird bereitgestellt, um auf freigebende
Weise die beste Ausführung
zur Durchführung
von einem oder mehreren Ausführungsbeispielen
der vorliegen den Erfindung weiter zu erklären. Die Offenbarung wird ferner
vorgelegt, um ein Verständnis
und eine Einsicht in die erfindungsgemäßen Prinzipien und die Vorteile
derselben zu verbessern, und nicht um die Erfindung auf irgendeine
Weise einzuschränken.
Die Erfindung ist ausschließlich
durch die angehängten
Ansprüche
definiert, was jegliche Änderungen,
die während
der Anhängigkeit
dieser Anmeldung ausgeführt
werden, und alle Entsprechungen dieser Ansprüche einschließt, wie
sie erteilt sind.
-
Es
wird ferner darauf hingewiesen, dass die Verwendung von relationalen
Ausdrücken,
wie z. B. erster und zweiter und ähnliches, falls vorhanden, ausschließlich erfolgt,
um eine von der anderen Entität,
einem Element oder einer Handlung zu unterscheiden, ohne notwendigerweise
jegliche tatsächliche
solche Beziehung oder Reihenfolge zwischen solchen Entitäten, Elementen
oder Handlungen erforderlich zu machen oder zu implizieren. Es wird darauf
hingewiesen, dass einige Ausführungsbeispiele
eine Mehrzahl von Prozessen oder Schritten umfassen können, die
in jeglicher Reihenfolge ausgeführt
werden können,
außer
diese sind ausdrücklich
und notwendigerweise auf eine bestimmte Reihenfolge beschränkt; d.
h. Prozesse oder Schritte, die nicht derartig eingeschränkt sind,
können
in jeder Reihenfolge ausgeführt
werden.
-
Ein
Großteil
der erfinderischen Funktionalität und
viele der erfinderischen Prinzipien, wenn sie implementiert sind,
können
mit oder in integrierten Schaltungen (ICs; IC = integrated circuit)
unterstützt werden,
wie z. B. dynamischen Direktzugriffsspeichervorrichtungen (DRAMs),
statischen Direktzugriffsspeichervorrichtungen (SRAMs) oder ähnlichem.
Genauer gesagt können
sie unter Verwendung von CMOS-Transistoren
implementiert sein. Es wird davon ausgegangen, dass ein Durchschnittsfachmann
auf dem Gebiet, wenn auch möglicherweise
mit beträchtlichem
Aufwand und vielen Entwurfsauswahlmöglichkeiten, z. B. motiviert
durch verfügbare
Zeit, aktuelle Technik und ökonomischen
Betrachtungen, ge führt
durch die hierin offenbarten Konzepte und Prinzipien, ohne weiteres
in der Lage sein wird, solche ICs mit minimalem Experimentieren zu
erzeugen. Daher wird im Interesse der Kürze und der Minimierung von
jeglichem Risiko, die Prinzipien und Konzepte gemäß der vorliegenden
Erfindung zu verunklaren, die weitere Erörterung solcher ICs auf das
wesentliche im Hinblick auf die Prinzipien und Konzepte eingeschränkt, die
durch die exemplarischen Ausführungsbeispiele
verwendet werden.
-
Eine
Möglichkeit,
Fehler nachzuweisen, die nach einer sicherungsbasierten Fehlerkorrektur
auftreten, die auf einem flüchtigen
Speicherelement ausgeführt
wird, ist das Testen im Hinblick auf jene Fehler nach einer abschließenden Herstellung
der Vorrichtung, die das flüchtige
Speicherelement enthält,
und diesen Speicher in einem nichtflüchtigen Speicher zu sichern.
Der flüchtige
Speicher kann dann jedes Mal auf diesen nichtflüchtigen Speicher zugreifen,
wenn er hochfährt,
und die gespeicherten Fehlerinformationen verwenden, genauso wie
er es mit den abgesicherten Informationen tun würde, um eine Fehlerkorrektur
auszuführen.
Diese Lösung
ist besonders nützlich,
wenn sie an Mehrchipspeichervorrichtungen angewendet wird, die sowohl
ein nichtflüchtiges
Speicherelement als auch ein flüchtiges Speicherelement
umfassen.
-
1 ist
ein Blockdiagramm einer Mehrchip-(oder Mehrelement-)Speicherkombination gemäß einem
offenbarten Ausführungsbeispiel.
Wie in 1 gezeigt ist, umfasst die Mehrchipspeicherkombination 100 eine
Mehrchipspeichervorrichtung 110 und eine Hauptspeichersteuerung 120.
-
Die
Mehrchipspeichervorrichtung 110 ist eine Speichervorrichtung,
die zumindest zwei separate Speicherelemente umfasst: ein flüchtiges
Speicherelement 130 und ein nichtflüchtiges Speicherelement 140.
Diese Speicherelemente 130 und 140 werden auf
separaten Chips unter Verwendung separater Herstellungsprozesse
hergestellt, werden aber dann beide in demselben Mehrchippaket (MCP;
MCP = multi-chip package) platziert. Die Mehrchipspeichervorrichtung 110 umfasst
Eingangs-/Ausgangsleitungen, die notwendig sind, um separat auf
sowohl das flüchtige
Speicherelement 130 als auch das nichtflüchtige Speicherelement 140 zuzugreifen.
-
Die
Hauptspeichersteuerung 120 koordiniert die Operation sowohl
von dem flüchtigen
als auch dem nichtflüchtigen
Speicherelement 130 und 140 und ermöglicht eine
Kommunikation zwischen den beiden. Unter anderen Funktionen koordiniert
die Hauptspeichersteuerung 120 die Übertragung von Daten von dem
nichtflüchtigen
Speicherelement 140 zu dem flüchtigen Speicherelement 130,
was für
eine Initialisierung des flüchtigen
Speichers erforderlich ist, nachdem derselbe eingeschaltet wird.
Diese Informationen können
sowohl Betriebsdaten als auch Reparaturdaten umfassen. Genauer gesagt
liest die Hauptspeichersteuerung 120 Operationsinformationen
und Anfangsreparaturinformationen aus dem nichtflüchtigen
Speicher 140 und liefert Zwischenreparaturinformationen,
Operationsinformationen und Flüchtiger-Speicher-Steuersignale
zu dem flüchtigen Speicherelement 130.
-
Das
flüchtige
Speicherelement 130 speichert flüchtige Daten und wird im Allgemeinen
durch eine externe Vorrichtung als ein Flüchtige-Daten-Speicherungselement
verwendet. Seine Speicherelemente halten keine Informationen, wenn
es abgeschaltet wird, und somit muss dasselbe jedes Mal neu initialisiert
werden, wenn es eingeschaltet wird, üblicherweise unter Verwendung
von Initialisierungsdaten, die von dem nichtflüchtigen Speicherelement 140 empfangen
werden. Das flüchtige
Speicherelement 130 könnte
ein dynamisches Direktzugriffsspeicherelement (DRAM), ein statisches
Direktzugriffsspeicherelement (SRAM) oder jegliche Speichervorrichtung
sein, die ihre Daten auf flüchtige
Weise speichert.
-
Das
nichtflüchtige
Speicherelement 140 speichert dauerhaft Speicherinformationen,
die von der Mehrchipspei chervorrichtung 110 oder von einer anderen
externen Vorrichtung benötigt
werden, die mit der Mehrchipspeichervorrichtung 110 verbunden ist.
Diese nichtflüchtigen
Informationen können
Initialisierungsdaten oder Reparaturdaten für den flüchtigen Speicher 130 umfassen.
Das nichtflüchtige
Speicherelement 140 könnte
ein Flash-Speicherelement, ein Phasenänderungs-Direktzugriffsspeicherelement (PCRAM;
PCRAM = phase change random access memory), ein Element eines elektrisch
löschbaren, programmierbaren
Nur-Lese-Speichers (EEPROM), ein Element eines ferroelektrischen
Direktzugriffsspeichers (FRAM), ein Element eines magnetoresistiven
Direktzugriffsspeichers (MRAM) oder jegliches Speicherelement umfassen,
das seine Daten auf nichtflüchtige
Weise speichert.
-
2 ist
ein Blockdiagramm des nichtflüchtigen
Speicherelements von 1 gemäß einem offenbarten Ausführungsbeispiel.
Genauer gesagt zeigt 2 Speicherblöcke, die in dem nichtflüchtigen
Speicherelement 140 enthalten sind, die Initialisierungsdaten
enthalten, die von dem flüchtigen Speicherelement 130 während eines
Initialisierungsprozesses benötigt
werden. Wie in 2 gezeigt ist, umfasst das nichtflüchtige Speicherelement 140 einen
DRAM-Datenblock 210, einen Modusregistereinstellungs-(MRS-;
MRS = mode register setup) Datenblock 220, einen erweiterten
MRS-(EMRS-)Datenblock 230,
einen Lieferantendatenblock 240 und einen Reparaturdatenblock 250).
Kollektiv könnten
der DRAM-Datenblock 210,
der MRS-Datenblock 220, der EMRS-Datenblock 230 und
der Lieferantendatenblock 240 als die Betriebsdaten betrachtet
werden, die von dem flüchtigen
Speicher benötigt
werden.
-
Der
Speicherdatenblock 210 umfasst Adressbits und Datenbits,
die von dem flüchtigen Speicher
benötigt
werden, um die Speichersteuerung zu informieren. Bei Ausführungsbeispielen,
bei denen der flüchtige
Speicher eine DRAM-Vorrichtung ist,
ist der Speicherdatenblock ein DRAM-Datenblock. Die Details der Speicherdaten
sind für
einen Fachmann auf dem Gebiet verständlich. DRAM-Daten können Informationen
liefern, wie z. B. die Speichergröße in dem MCP.
-
Der
MRS-Datenblock 220 enthält
MRS-Daten, die von dem flüchtigen
Speicherelement 130 verwendet werden, um Operationsmodi
einzustellen. Die Details der MRS-Daten wären für einen Fachmann auf dem Gebiet
verständlich.
Auf ähnliche
Weise enthält
der EMRS-Datenblock 230 EMRS-Daten, die von dem flüchtigen
Speicherelement 130 verwendet werden, um erweiterte Operationsmodi
einzustellen. Die Details der EMRS-Daten wären für einen Fachmann auf dem Gebiet
verständlich.
Die MRS-Daten und EMRS-Daten können
Datenbits umfassen, die einen Operationsmodus identifizieren, in den
der flüchtige
Speicher eintreten sollte.
-
Der
Lieferantendatenblock 240 umfasst Daten, die für die Operation
des flüchtigen
Speicherelements 130 spezifisch sind, das durch den Lieferanten geliefert
wird. Die Lieferantendaten können
jegliche Daten umfassen, die der Lieferant als wichtig für den flüchtigen
Speicher erachtet.
-
Der
Reparaturdatenblock 250 umfasst Anfangsreparaturinformationen,
die Fehler in dem flüchtigen
Speicher durch ihren Ort identifizieren (d. h. ihre eindeutige Adresse
in dem flüchtigen
Speicher). Für jedes
Reparaturdatenstück
kann dies Informationen über
den Fehlertyp (z. B. eine kaputte Speicherzelle), Nichtadress-Ortsinformationen
(z. B. die Speicherbank in dem flüchtigen Speicher, in dem der
Fehler angeordnet ist), und die eindeutige Adresse umfassen, die
den Ort des Fehlers identifiziert (z. B. eine logische Adresse in
dem Speicherzellenarray des flüchtigen
Speicherelements).
-
3 ist
ein Blockdiagramm des Datenformats, das in dem Reparaturdatenblock
aus 2 gespeichert ist, gemäß einem offenbarten Ausführungsbeispiel.
Wie in 3 gezeigt ist, umfasst jedes Element 300 des
Reparaturdatenblocks 250 einen Satz aus Reparaturbits 310,
einen Satz aus Bankbits 320 und einen Satz aus defekten
Adressbits 330. Ein Reparaturdatenblock 250 enthält üblicherweise
viele Elemente 300, die jeweils ein unterschiedliches notwendiges
Paar in dem flüchtigen
Speicherelement 130 identifizieren.
-
Die
Reparaturbits 310 liefern eine Anzeige darüber, welche
Art von Fehler, falls überhaupt,
beschrieben wird. Bei einigen Ausführungsbeispielen zeigt ein
Reparaturbit an, ob das Element 300 in dem Reparaturdatenblock 250 überhaupt
einen Fehler darstellt oder nicht. Bei solchen Ausführungsbeispielen
können
die Reparaturbits durch das flüchtige Speicherelement 130 verwendet
werden, um zu bestimmen, ob das Reparaturdatenelement 300 verarbeitet,
oder ob es ignoriert werden soll. Dies kann bei Ausführungsbeispielen
nützlich
sein, bei denen der gesamte Reparaturdatenblock zu dem flüchtigen Speicherelement 130 weitergeleitet
wird, unabhängig davon,
ob er voll ist oder nicht.
-
Ferner,
obwohl die Reparaturbits 310 in der Mehrzahl beschrieben
werden, können
sie ein einzelnes Bit oder mehrere Bits sein. Wenn mehrere Reparaturbits
verwendet werden, können
die zusätzlichen Bits
mehr Informationen über
den identifizierten Fehlertyp liefern (z. B. Spaltenfehler, Zeilenfehler,
Blockfehler oder ähnliches).
-
Die
Bankbits 320 zeigen an, in welcher Bank in dem flüchtigen
Speicherelement 130 der identifizierte Fehler enthalten
ist. Bei einigen Ausführungsbeispielen
könnte
dies ein Satz aus Bits sein, der jede Bank eindeutig identifizieren
kann. Wenn z. B. vier Speicherbanken in dem flüchtigen Speicher vorhanden
sind, könnten
die Bankbits zwei Bits sein, wobei 00 die erste Bank darstellt,
01 die zweite Bank darstellt, 10 die dritte Bank darstellt und 11
die vierte Bank darstellt.
-
Bei
anderen Ausführungsbeispielen,
bei denen das flüchtige
Speicherelement 130 nur eine einzelne Speicherbank aufweist,
kann dieser Block weg gelassen sein. Ferner könnten alternative Ausführungsbeispiele
andere Mechanismen zum Lokalisieren von Daten aufweisen. Bei einem
solchen Ausführungsbeispiel
könnten
die Bankbits durch zusätzliche Nichtadress-Ortsinformationen
ersetzt oder vermehrt werden.
-
Die
defekten Adressbits 330 identifizieren den Ort des identifizierten
Fehlers in der spezifizierten Bank in dem flüchtigen Speicherelement 130.
Bei einigen Ausführungsbeispielen
kann dies eine logische Adresse in dem flüchtigen Speicher 130 sein
(d. h. eine Adresse, die die logische Position des Fehlers innerhalb
des Arrays von Speicherelemente in der Bank identifiziert); bei
anderen Ausführungsbeispielen
kann dies eine physische Adresse in dem flüchtigen Speicher 130 sein
(d. h. eine Adresse, die die tatsächliche physische Position
des Fehlers innerhalb des Arrays von Speicherelementen in der Bank
identifiziert).
-
Zusätzlich dazu,
obwohl 3 ein spezifisches Format der Reparaturdatenelemente 300 zeigt,
ist dieses Format einfach beispielhaft und sollte nicht als einschränkend betrachtet
werden. Die Reparaturdatenelemente 300 können jegliches
gewünschte
Format aufweisen, das die Informationen weiterleitet, die für das flüchtige Speicherelement 130 erforderlich
sind, um Existenz, Typ und Ort eines Fehlers in dem flüchtigen
Speicherelement 130 ordnungsgemäß zu identifizieren. Wenn mehr
oder weniger Gruppierungen von Speicherelementen verwendet werden,
sollten sie ordnungsgemäß in den Reparaturdatenelementen 300 identifiziert
sein.
-
4 ist
ein Blockdiagramm der Hauptspeichersteuerung aus 1 gemäß einem
offenbarten Ausführungsbeispiel.
Wie in 4 gezeigt ist, umfasst die Hauptspeichersteuerung 120 eine
Hauptspeichersteuerung 410 und einen Reparaturinformationsprozessor 420.
-
Die
Hauptspeichersteuerung 410 steuert die Operation des Reparaturinformationsprozessors 420 und
liefert Flüchtiger-Speicher-Steuerungssignale
zu dem flüchtigen
Speicher 130, um Aspekte seiner Operation zu steuern, insbesondere
während
des Einschaltens und der Initialisierung.
-
Der
Reparaturinformationsprozessor 420 empfängt die Anfangsreparaturinformationen
von dem nichtflüchtigen
Speicher 140 und führt
jegliche erforderliche Verarbeitung aus, um sie in Zwischenreparaturinformationen
umzuwandeln, die dann zu dem flüchtigen
Speicherelement 130 gesendet werden. Bei dem offenbarten
Ausführungsbeispiel
umfassen die Anfangsreparaturinformationen ein Anfangsreparatursteuersignal,
eine Anfangsbankadresse und eine Anfangsausfalladresse (die dem
Satz aus Reparaturbits 310, dem Satz aus Bankbits 320 und
dem Satz aus ausgefallenen Adressbits 330 in jedem Reparaturdatenelement 300 entsprechen). Der
Reparaturinformationsprozessor 420 umfasst ferner einen
Ausfalladressprozessor 430, einen Bankadressprozessor 440 und
einen Reparatursteuersignalprozessor 450.
-
Der
Ausfalladressprozessor 430 empfängt das Anfangsausfalladresssignal
und wandelt es in ein Zwischenausfalladresssignal um. Bei einigen Ausführungsbeispielen
kann dies einfach das unveränderte
Weiterleiten eines Anfangsausfalladresssignals als das Zwischenausfalladresssignal
umfassen. Bei anderen Ausführungsbeispielen
kann eine gewisse zusätzliche
Verarbeitung erforderlich sein, um das Zwischenausfalladresssignal
ordnungsgemäß zu formatieren.
Zum Beispiel könnte
eine logische Speicheradresse in eine physische Speicheradresse
umgewandelt werden.
-
Der
Bankadressprozessor 440 empfängt das Anfangsbankadresssignal
und wandelt es in ein Zwischenbankadresssignal um. Bei einigen Ausführungsbeispielen
kann dies einfach das unveränderte Weiterleiten
des Anfangsbankadresssignals als das Zwischenbankadresssignal umfassen.
Bei anderen Ausführungsbeispielen
kann eine zusätzliche
Verarbeitung erforderlich sein, um das Zwischenbankadresssignal
ordnungsgemäß zu formatieren.
Zum Beispiel kann eine Zwei-Bit-Anfangsbankadresse
in vier individuelle Bankfreigabeleitungen umgewandelt werden.
-
Der
Reparatursteuersignalprozessor 450 empfängt das Anfangsreparatursteuersignal
und wandelt es in ein Zwischenreparatursteuersignal um. Bei einigen
Ausführungsbeispielen
kann dies einfach das unveränderte
Weiterleiten des Anfangsreparatursteuersignals als das Zwischenreparatursteuersignal
umfassen. Bei anderen Ausführungsbeispielen kann
eine zusätzliche
Verarbeitung erforderlich sein, um das Zwischenreparatursteuersignal
ordnungsgemäß zu formatieren.
Das Anfangsreparatursteuersignal zeigt an, ob eine Nach-Reparatur
notwendig ist oder nicht, und wenn sie es ist, welches Reparaturverfahren
verwendet werden sollte (z. B. Zeilenreparatur, Spaltenreparatur,
Blockreparatur, Zellenreparatur etc.).
-
Bei
alternativen Ausführungsbeispielen,
bei denen unterschiedliche Anfangsreparaturinformationen in dem
Reparaturdatenblock 250 des nichtflüchtigen Speichers 140 offenbart
sind, kann die Hauptspeichersteuerung 120 entsprechend
eingestellt sein, um die entsprechenden Anfangsreparaturinformationen
zu empfangen und zu verarbeiten, um die entsprechenden Zwischenreparaturinformationen
zu erzeugen.
-
Obwohl
dies in 4 nicht gezeigt ist, leitet die
Hauptspeichersteuerung 120 ferner die Operationsinformationen
von dem nichtflüchtigen
Speicher 140 zu dem flüchtigen
Speicher 130 weiter.
-
5 ist
ein Blockdiagramm des flüchtigen Speicherelements
aus 1 gemäß einem
offenbarten Ausführungsbeispiel.
Wie in 5 gezeigt ist, umfasst das flüchtige Speicherelement 130 eine Flüchtiger-Speicher-Steuerung 510, ein
Speicherzellenarray 520, einen Satz aus Reparatursicherungen 530 und
ein Flüchtige-Reparaturinformationen-Speicherungselement 540.
-
Die
Flüchtiger-Speicher-Steuerung 510 koordiniert
die Operation des flüchtigen
Speicherelements 130. Sie empfängt die Zwischenreparaturinformationen
und Flüchtiger-Speicher-Steuersignale
von der Hauptspeichersteuerung 120 sowie Daten- und Logikadressinformationen
von einer externen Vorrichtung. Zusätzlich dazu, obwohl es in 5 nicht gezeigt
ist, empfängt
die Flüchtiger-Speicher-Steuerung
ferner Operationsinformationen von der Hauptspeichersteuerung 120.
-
Während eines
Initialisierungsprozesses des nichtflüchtigen Speicherelements 130 verwendet
die Flüchtiger-Speicher-Steuerung 510 die
Zwischenreparaturinformationen und die Flüchtiger-Speicher-Steuersignale,
um das Flüchtige-Reparaturinformationen-Speicherungselement 540 mit
flüchtigen Reparaturinformationen
zu bestücken,
die Fehler in dem Speicherzellenarray identifizieren, die in dem Reparaturdatenblock 250 in
dem nichtflüchtigen Speicher 140 beschrieben
wurden.
-
Während einer
normalen Operation des nichtflüchtigen
Speicherelements 130 verwendet die Flüchtiger-Speicher-Steuerung 510 die
flüchtigen Reparaturinformationen
aus dem Flüchtige-Reparaturinformationen-Speicherelement 540 und
die Logikadressinformationen aus einer externen Vorrichtung, um
Daten in ein gegebenes Speicherzellenarray zu speichern und aus
demselben wiederzugewinnen.
-
Würden sie
keine Fehler aufweisen, müsste die
Flüchtiger-Speicher-Steuerung 510 nur
die Logikadressinformationen in physische Adressinformationen umwandeln
und auf individuelle Speicherzellen des Speicherzellenarrays basierend
auf ihren physischen Adressen zugreifen. Da jedoch Fehler vorhanden
sein können,
muss die Flüchtiger-Speicher-Steuerung 510 das
Vorhandensein von beschädigten Speicherzellen
berücksichtigen,
durch Umleiten von Logikadressen, die beschädigte Zellen identifizieren, von
ihren ursprünglichen
entsprechenden physischen Adressen zu den physischen Adressanten
von funktionierenden redundanten Zellen, die die Stelle der beschädigten Speicherzellen
annehmen.
-
Eine
Möglichkeit,
wie die Flüchtiger-Speicher-Steuerung 510 dies
tun kann, ist das Prüfen
jeder eingehenden Logikadresse, um zu sehen, ob sie entweder in
den Reparatursicherungen 530 oder dem Flüchtige-Reparaturinformationen-Speicherungselement 540 derart
identifiziert ist, dass sie zu einer beschädigten Zelle adressiert ist.
Wenn dieser eingehenden Logikadresse kein Fehler zugeordnet ist,
dann schreitet die Adressumwandlung entsprechend fort. Wenn jedoch
ein Fehler identifiziert wird, führt
die Flüchtiger-Speicher-Steuerung 510 einen unterschiedlichen
Adressumwandlungsprozess aus, um auf eine redundante Speicherzelle
zuzugreifen, die die Stelle der beschädigten Speicherzelle einnimmt.
-
Das
Speicherzellenarray 520 ist der Ort, wo die Daten tatsächlich in
dem flüchtigen
Speicher 130 gespeichert sind. Es umfasst ferner einen
primären Zellenarraybereich 550 und
einen redundanten Zellenarraybereich 560. Das Speicherzellenarray
kann in zusätzliche
unterteilte Speicherarrays aufgeteilt sein (z. B. Banken oder ähnliches)
oder kann ein großes
Speicherarray sein. Auf die Datenzellen in dem Speicherzellenarray 520 wird
durch einen Datenbus zugegriffen und sie werden unter Verwendung
der physischen Adressinformationen adressiert, wobei jede physische
Adresse eindeutig eine Speicherzelle entweder in dem primären Zellenarraybereich 550 oder
dem redundanten Zellenarraybereich 560 identifiziert.
-
Der
primäre
Zellenarraybereich 550 ist ein Array aus Speicherzellen,
die die Anzahl von Bits darstellen, die das flüchtige Speicherelement halten soll.
Wenn das flüchtige Speicherelement
z. B. ein 10 Mbit-Speicher ist, umfasst der primäre Zellenarraybereich 550 10.000.000
Speicherzellen.
-
Der
redundante Zellenarraybereich 560 ist ein Satz aus Speicherzellen,
der verfügbar
ist, um anstelle von beschädigten
Zellen in dem primären
Zellenarray 550 verwendet zu werden. Bei einigen Ausführungsbeispielen
ersetzen Elemente in dem redundanten Zellenarray 560 individuelle
Speicherzellen in dem primären
Zellenarray 550; bei anderen Ausführungsbeispielen ersetzen sie
gesamte Blöcke
in dem primären
Zellenarray 550, sogar wenn ein Fehler in einem entsprechenden
Block auftritt. Das redundante Zellenarray 560 könnte z.
B. ganze Zeilen oder Spalten aus Speicherzellen in dem primären Zellenarraybereich 550 ersetzen.
Alternativ könnte
das redundante Zellenarray 560 Blöcke aus Speicherzellen anderer
Formen in dem primären
Zellenarraybereich 550 ersetzen.
-
Der
Satz aus Reparatursicherungen 530 enthält abgesicherte Reparaturinformationen,
die die Adresse von beschädigten
Speicherzellen, Speicherzeilen, Speicherspalten oder Speicherblöcken identifizieren,
die während
eines Herstellungsprozesses des flüchtigen Speicherelements 130 identifiziert wurden.
Die Daten in dem Satz aus Reparatursicherungen 530 sind
in ihrem Wesen nicht flüchtig
und können
so direkt durch die flüchtige
Speichersteuerung 510 gelesen werden, unabhängig davon,
ob das flüchtige
Speicherelement 130 abgeschaltet wurde oder nicht.
-
Das
Flüchtige-Reparaturinformationen-Speicherungselement 540 speichert
flüchtige
Reparaturinformationen, die einige oder alle der Adressen der beschädigten Speicherzellen,
Zeilen, Spalten oder Blöcke
anzeigen. Es könnte
ein Satz aus Registern oder jegliches Speicherelement sein. Bei
einigen Ausführungsbeispielen
umfassen die lokalen Reparaturdaten nur die Speicheradressen, die
durch die Zwischenreparaturinformationen identifiziert werden. In
diesem Fall muss die flüchtige
Speichersteuerung 510 sowohl die flüchtigen Reparaturinformationen
als auch die abgesicherten Reparaturinformationen beim Umwandeln
eingehender Logikadressinformationen in physische Adressinformationen
prüfen.
Bei anderen Ausführungsbeispielen
umfassen die lokalen Reparaturdaten sowohl die Zwischenreparaturinformationen
als auch die abgesicherten Reparaturinformationen. In diesem Fall
muss die flüchtige
Speichersteuerung 510 nur die lokalen Reparaturdaten beim
Umwandeln eingehender Logikadressinformationen in physische Adressinformationen
prüfen.
-
Obwohl 5 ein
Ausführungsbeispiel
offenbart, bei dem das flüchtige
Speicherelement 130 Logikadressinformationen empfängt, könnte es
bei alternativen Ausführungsbeispielen
physische Adressinformationen empfangen. In diesem Fall müsste die
flüchtige
Speichersteuerung 510 nur die empfangenen Adressinformationen
basierend auf identifizierten Fehlern in dem Speicherzellenarray 520 modifizieren
und müsste
nicht von Logikadressen in physische Adressen oder umgekehrt übersetzen.
-
6 ist
ein Blockdiagramm eines Teils des flüchtigen Speicherelements aus 1 und 5 gemäß einem
offenbarten Ausführungsbeispiel.
Wie in 6 gezeigt ist, umfasst das flüchtige Speicherelement 500 eine
Flüchtiger-Speicher-Steuerung 510, ein
Speicherzellenarray 510, einen Satz aus Reparatursicherungen 530 und
ein Flüchtige-Reparaturinformationen-Speicherelement 540,
wie oben im Hinblick auf 5 beschrieben wurde. Bei diesem
Ausführungsbeispiel
umfasst die Flüchtiger-Speicher-Steuerung 510 ferner
einen Operationslogikadressprozessor 610 und einen Reparaturinformationsprozessor 620.
-
Der
Betriebslogikadressprozessor 610 empfängt Logikadressinformationen
von einer externen Vorrichtung, abgesicherte Reparaturinformationen von
den Reparatursicherungen 530 und flüchtige Reparaturinformationen
von dem flüchtigen
Reparaturspeicherungselement 540 und wandelt aus diesen Informationen
die Logikadressinformationen in physische Adressinformationen um.
-
Wenn
kein Fehler vorliegt, wandelt der Betriebslogikadressprozessor 610 die
Logikadressinformationen in die physischen Adressinformationen um, basierend
auf einer bekannten Abbildungsfunktion, bei der jede Logikadresse
bei den Logikadressinformationen einer einzelnen physischen Adresse
bei den physischen Adressinformationen entspricht. Wenn aber ein
Fehler vorliegt, muss der Betriebslogikadressprozessor 610 eine
alternative physische Adresse (d. h. die einer redundanten Speicherzelle) einsetzen,
wenn die tatsächliche
physische Adresse, die einer gegebenen Logikadresse entspricht,
bekanntermaßen
eine fehlerhafte primäre
Speicherzelle identifiziert. Diese Ersetzung kann gemäß einem bekannten
Ersetzungsschema ausgeführt
werden, so dass dieselbe Logikadresse immer zu derselben eingesetzten
physischen Adresse führt.
-
Sobald
die Logikadressinformationen ordnungsgemäß in physische Adressinformationen
umgewandelt sind, speichert der Betriebslogikadressprozessor 610 entweder
Daten, die von der externen Vorrichtung empfangen werden, in das
Speicherzellenarray in einer Speicherzelle, identifiziert durch
die physische Adresse, oder gewinnt Daten, die in dem Speicherzellenarray
gespeichert sind, aus einer Speicherzelle wieder, die durch die
physische Adresse identifiziert ist, und sendet diese Daten zu dem
externen Bauelement.
-
Bei
einigen Ausführungsbeispielen
kann der Betriebslogikadressprozessor 610 die abgesicherten Reparaturinformationen
während
einer Initialisierungsprozedur in das flüchtige Reparaturspeicherungselement 540 schreiben.
Bei einem solchen Ausführungsbeispiel
enthält
das flüchtige
Reparaturspeicherungselement 540 dann eine Auflistung aller Fehlerdaten.
In diesem Fall umfassen die flüchtigen Reparaturinformationen
sowohl die Endreparaturinformationen, als auch die abgesicherten
Reparaturinformationen. Folglich muss der Logikadressprozessor 610 nur
auf das flüchtige
Reparaturspeicherungselement 540 zugreifen, um einen Fehlerprüf- und Korrektur-Prozess
für die
Logikadressinformationen auszuführen.
-
Ferner
kann, wie oben erwähnt
wurde, das flüchtige
Speicherelement 130 bei einigen Ausführungsbeispielen physische
Adressinformationen von der externen Vorrichtung empfangen. In diesem
Fall funktioniert der Betriebslogikadressprozessor 610, um
die physischen Adressinformationen basierend auf den abgesicherten
Reparaturinformationen und den flüchtigen Reparaturinformationen
zu korrigieren.
-
Der
Reparaturinformationsprozessor 620 empfängt die Zwischenreparaturinformationen
von der Hauptspeichersteuerung 120 und führt jegliche notwendige
Verarbeitung an denselben aus, bevor sie als Endreparaturinformation
in das flüchtige
Reparaturinformationsspeicherungselement 540 gespeichert
werden. Er umfasst ferner einen Logikausfalladressprozessor 630,
einen Bankadressprozessor 640 und einen Reparatursteuersignalprozessor 650.
-
Der
Logikausfalladressprozessor 630 empfängt das Zwischenausfalladresssignal
und flüchtige Speichersteuersignale
von der Hauptspeichersteuerung 120 und verarbeitet das
Zwischenausfalladresssignal, um eine physische Ausfalladresse zu
erzeugen. Diese Verarbeitung könnte
das Umwandeln einer Zwischenausfalladresse von einer Logikadresse in
eine physische Adresse umfassen, oder es könnte einfach das Weiterleiten
einer Zwischenausfalladresse als die physische Ausfalladresse umfassen.
-
Der
Bankadressprozessor 640 empfängt das Zwischenbanksignal
und flüchtige
Speichersteuersignale von der Hauptspeichersteuerung 120 und
verarbeitet das Zwischenbanksignal, um ein decodiertes Banksignal
zu erzeugen. Dies könnte
das Umwandeln von Bankidentifizierungsdaten in eine Mehrzahl von
Bankfreigabesignalen umfassen (wobei die relevante Bank freigegeben
ist), oder es könnte
das Weiterleiten des Zwischenbanksignals als das decodierte Banksignal
umfassen.
-
Der
Reparatursteuersignalprozessor 650 empfängt das Zwischenreparatursteuersignal
und flüchtige
Speichersteuersignale von der Hauptspeichersteuerung 120 und
verarbeitet das Zwischenreparatursteuersignal, um ein decodiertes
Reparatursteuersignal zu erzeugen. Dies könnte das Umwandeln von Zwischenreparatur-
und Steuerdaten in Spalten-, Zeilen- oder Blockfreigabesignale umfassen
(die identifizieren, ob es eine Spalte, Zeile oder ein Block ist,
der korrigiert werden soll), oder es könnte das Weiterleiten des Zwischenreparatursteuersignals
als das decodierte Reparatursteuersignal umfassen.
-
Kollektiv
bilden die physische Ausfalladresse, das decodierte Banksignal und
das decodierte Reparatursignal Endreparaturinformationen. Bei Ausführungsbeispielen,
bei denen keine zusätzliche Daten
in dem Flüchtige-Reparaturinformationen-Speicherungselement 540 gespeichert
sind, bilden die Endreparaturinformationen die flüchtigen
Reparaturinformationen. Bei Ausführungsbeispielen
jedoch, bei denen die abgesicherten Reparaturinformationen ebenfalls
in dem Flüchtige-Reparaturinformationen-Speicherungselement 540 gespeichert sind,
werden die flüchtigen
Reparaturinformationen sowohl durch die Endreparaturinformationen
als auch die abgesicherten Reparaturinformationen gebildet.
-
Ferner,
obwohl der Reparaturinformationsprozessor 620 derart gezeigt
ist, dass er Prozessoren zum Handhaben des Zwischenausfalladresssignals, des
Zwischenbanksignals und des Zwischenreparatursteuersignals aufweist,
könnte
er bei alternativen Ausführungsbeispielen
mehr oder weniger Prozessoren umfassen, je nachdem, was von dem
bereitgestellten Satz von Zwischenreparaturinformationen benötigt wird.
-
7 ist
ein Flussdiagramm der Erzeugung der Mehrchip- (oder Mehrelement-)Speichervorrichtung
aus 1 gemäß einem
offenbarten Ausführungsbeispiel
gemäß einem
offenbarten Ausführungsbeispiel.
-
Wie
in 7 gezeigt ist, beginnt der Erzeugungsprozess 700 durch
Herstellen eines flüchtigen Speicherelements
auf einem Halbleitersubstrat (710). Dieses flüchtige Speicherelement
könnte
ein Element eines dynamischen Direktzugriffsspeichers (DRAM), ein
Element eines statischen Direktzugriffsspeichers (SRAM) oder jegliche
Speichervorrichtung sein, die ihre Daten auf flüchtige Weise speichert. Während dieses
Erzeugungsprozesses treten wahrscheinlich bestimmte Fehler in den
individuellen Speicherzellen in dem flüchtigen Speicherelement auf.
-
Daher
wird das flüchtige
Speicherelement nach der Herstellung, aber vor der Endzusammensetzung,
auf Fehler hin untersucht (720), und die Fehler werden
repariert (730). Die Reparatur dieser Fehler wird häufig durch
Umleiten der Adressleitungen von einer fehlerhaften primären Speicherzelle
zu einer funktionierenden redundanten Speicherzelle ausgeführt. Eine
mögliche
Art und Weise, diese Reparaturoperation zu erreichen, ist durch
die Verwendung einer Reparatursicherung, die permanent in eine Struktur
gebrannt ist, die anzeigt, wie die Adressumleitung erreicht werden
soll.
-
Bei
offenbarten Ausführungsbeispielen
hält das
flüchtige
Speicherelement, nachdem die Fehler repariert sind (730),
immer noch einige unbenutzte redundante Elemente (z. B. redundante
Speicherzellen, auf die neu identifizierte, beschädigte Speicherzellen
umgeleitet werden können).
Diese unbenutzten redundanten Elemente ermöglichen eine zweite Runde einer
Fehler-Identifikation und -Korrektur.
-
Nachdem
die Fehler in dem flüchtigen
Speicherelement repariert sind, wird das flüchtige Speicherelement in eine
Mehrchipvorrichtung eingelagert (740), eine nichtflüchtige Speichervorrichtung
wird in die Mehrchipvorrichtung eingelagert (750), und
die Zusammensetzung der Mehrchipvorrichtung wird fertig gestellt
(760). Die nichtflüchtige
Speichervorrichtung könnte
ein Flash-Speicherelement, ein Phasenänderungsdirektzugriffsspeicherelement (PCRAM),
ein elektrisch löschbares,
programmierbares Nur-Lese-Speicherelement
(EEPROM), ein ferroelektrisches Direktzugriffsspeicherelement (FRAM), ein
magnetoresistives Direktzugriffsspeicherelement (MRAM) oder jegliche
Speichervorrichtung umfassen, die ihre Daten auf nichtflüchtige Weise
speichert. Die Endzusammensetzung der Mehrchipvorrichtung kann das
Anbringen erforderlicher Eingangs-/Ausgangsleitungen, das Ummanteln
der flüchtigen
Speichervorrichtung und der nichtflüchtigen Speichervorrichtung
in einem Schutzgehäuse etc.
aufweisen.
-
Der
Prozess des Einlagerns des flüchtigen Speicherelements
in die Mehrchipvorrichtung (740) und der Prozess der Endzusammensetzung
der Mehrchipvorrichtung (750) kann jedoch verursachen, dass
zusätzliche
Fehler auf dem flüchtigen
Speicherelement auftreten. Folglich wird nach der Endzusammensetzung
der Mehrchipspeichervorrichtung der flüchtige Speicher wiederum nach
Fehlern untersucht (770). Im Gegensatz dazu jedoch, wenn
die vorangehende Untersuchungsoperation aufgetreten ist (720),
ist es an diesem Punkt entweder unmöglich oder extrem schwierig,
Fehler in dem flüchtigen
Speicher physisch zu korrigieren. Daher werden während des Untersuchungsprozesses
(770) die Fehler einfach identifiziert und Reparaturinformationen
werden erzeugt, die anzeigen, wie die Adressen von beschädigten Zellen
zu funktionierenden, redundanten Zellen umgeleitet werden können.
-
Sobald
die Untersuchung von Fehlern in dem flüchtigen Speicherelement abgeschlossen
ist und alle notwendigen Reparaturinformationen erzeugt sind, werden
die Reparaturinformationen zusammen mit bestimmten Betriebsinformationen über den flüchtigen
Speicher in dem nichtflüchtigen
Speicher gespeichert (780).
-
Dann,
sobald die Reparaturinformationen und Betriebsinformationen in dem
nichtflüchtigen Speicher
gespeichert sind, ist der Herstellungsprozess abgeschlossen (790).
-
Der
flüchtige
Speicher kann dann auf die Reparaturinformationen aus dem nichtflüchtigen
Speicher jedes Mal zugreifen, wenn er angeschaltet wird, und dynamische
Reparaturen ausführen,
bevor er den normalen Betrieb beginnt. Dies kann mit wenig zusätzlichem
Mehraufwand ausgeführt
werden, da das flüchtige
Speicherelement bei vielen Mehrchipspeichervorrichtungen bereits
auf Betriebsinformationen zugreifen muss, die in dem nichtflüchtigen
Speicherelement gespeichert sind.
-
Obwohl
das Verfahren von 1 zwei Untersuchungen und Korrekturen
umfasst (eine vor der Endzusammensetzung und eine danach), kann
bei einigen Ausführungsbeispielen
der anfängliche
Satz aus Fehleruntersuchungs- und Korrekturoperationen beseitigt
werden und alle Fehler in dem flüchtigen Speicher
können
durch die späteren
Fehleruntersuchungs- und Korrekturoperationen identifiziert werden.
-
8 ist
ein Flussdiagramm des Betriebs der Mehrchipspeichervorrichtung aus 1 gemäß einem
offenbarten Ausführungsbeispiel
gemäß einem
offenbarten Ausführungsbeispiel.
-
Wie
in 8 gezeigt ist, beginnt der Betriebsprozess 800,
wenn eine Mehrchip-(oder Mehrelement-)Speichervorrichtung einschaltet
(810). Diese Mehrchipspeichervorrichtung umfasst ein flüchtiges Speicherelement
und ein nichtflüchtiges
Speicherelement. Zusätzlich
dazu ist eine Hauptspeichersteuerung vorgesehen, um einen Betrieb
der mehreren Elemente auf der Mehrchipspeichervorrichtung zu steuern.
Diese Hauptspeichersteuerung könnte
ein Teil der Mehrchipspeichervorrichtung oder getrennt von der Mehrchipspeichervorrichtung
sein.
-
Sobald
die Mehrchipspeichervorrichtung eingeschaltet ist, liest die Hauptspeichersteuerung
Betriebsinformationen des flüchtigen
Speicherelements aus dem nichtflüchtigen
Speicher (820). Diese Betriebsinformationen umfassen eine
Vielzahl von Informationen, wie z. B. DRAM-Daten, MRS-Daten, EMRS-Daten
und Lieferantendaten. Die Betriebsinformationen werden durch die
Hauptspeichersteuerung des flüchtigen
Speicherelements für
eine ordnungsgemäße Initialisierung
und Operation des flüchtigen
Speicherelements verwendet.
-
Die
Hauptspeichersteuerung liest ferner Reparaturinformationen des flüchtigen
Speicherelements aus dem nichtflüchtigen
Speicher (830). Diese Reparaturinformationen zeigen Typ
und Ort der vorangehend identifizierten beschädigten Zellen an, oder vorangehend
bestimmten Korrekturen, die in dem flüchtigen Speicherelement erforderlich
sind, können
zu funktionierenden redundanten Zellen umgeleitet werden.
-
Die
Hauptspeichersteuerung leitet dann die Reparaturinformationen des
flüchtigen
Speicherelements zu dem flüchtigen
Speicher weiter (840), wo eine Flüchtiger-Speicher-Steuerung die Reparaturinformationen
decodiert, um lokale Reparaturdaten zu erzeugen (850).
Diese Decodierung kann einer Umwandlung von Logikadressinformationen
(die extern verwendet werden, um Orte in dem flüchtigen Speicher zu adressieren)
in physische Adressinformationen (die intern verwendet werden, um
Orte in dem flüchtigen
Speicher zu adressieren), dem Ändern
des Formats bestimmter Reparaturdaten etc., entsprechen.
-
Zusätzlich dazu,
obwohl dies in 7 nicht angezeigt ist, leitet
die Hauptspeichersteuerung ferner die Betriebsdaten zu dem flüchtigen
Speicherelement weiter.
-
Sobald
die Reparaturinformationen des flüchtigen Speicherelements in
lokale Reparaturdaten decodiert sind, speichert die Flüchtiger-Speicher-Steuerung
dann die lokalen Reparaturdaten in einem Flüchtige-Reparaturinformationen-Speicherungselement
(860). Dies ermöglicht,
dass die lokalen Reparaturdaten ohne weiteres für die flüchtige Speichersteuerung zugreifbar
sind.
-
Die
Flüchtiger-Speicher-Steuerung
kann dann die lokalen Reparaturdaten verwenden, um Fehler in der
Speichervorrichtung während
Speicheroperationen zu identifizieren und zu reparieren (870).
Bei einigen Ausführungsbeispielen
kann dies entweder zusammen mit oder anstelle von derselben Art
von Fehlerkorrektur ausgeführt
werden, die von der Flüchtiger-Speicher-Steuerung
unter Verwendung von Reparatursicherungen ausgeführt wird, die während der
Vorrichtungsherstellung konfiguriert werden.
-
Diese
Offenbarung soll erklären,
wie verschiedene Ausführungsbeispiele
gemäß der Erfindung
gestaltet und verwendet werden sollen, ohne den wahren, beabsichtigten
und angemessenen Schutzbereich und das Wesen derselben einzuschränken. Die
vorangehende Beschreibung soll nicht erschöpfend sein oder die Erfindung
auf die genaue offenbarte Form einschränken. Modifikationen oder Variationen
sind im Hinblick auf die obigen Lehren möglich. Das oder die Ausführungsbeispiele
wurden ausgewählt
und beschrieben, um die beste Darstellung der Prinzipien der Erfindung
und ihre praktische Anwendung anzugeben, und einem Durchschnittsfachmann
auf dem Gebiet zu ermöglichen, die
Erfindung bei verschiedenen Ausführungsbeispielen
und mit verschiedenen Modifikationen zu verwenden, wie sie für die bestimmte
beabsichtigte Verwendung geeignet sind. Alle derartigen Modifikatio nen
und Variationen liegen innerhalb des Schutzbereichs der vorliegenden
Erfindung, wie er durch die beiliegenden Ansprüche bestimmt ist, wie sie während der
Anhängigkeit
dieser Anmeldung zum Patent abgeändert
werden können,
und aller Entsprechungen derselben, wenn sie gemäß der Breite interpretiert
werden, zu der sie rechtmäßig, legal
und rechtlich befugt sind. Die verschiedenen oben beschriebenen
Schaltungen können
in diskreten Schaltungen oder integrierten Schaltungen implementiert
sein, wie durch die Implementierung gewünscht ist.