-
Die vorliegende Erfindung betrifft allgemein ein
fehlertolerantes Speichersystem.
-
Da Halbleiter-Speicherchips mit immer kleineren Strukturgrößen
und einer entsprechenden Zunahme der
Schaltkreisintegrationsdichte entwickelt werden, gewinnen zusätzliche
Fehlerkorrekturverfahren, zum Beispiel eine chipintegrierte Fehlerkorrektur,
immer mehr an Bedeutung. Im allgemeinen fallen auf einem Chip
auftretende Speicherfehler in zwei verschiedene Kategorien:
permanente Fehler und weiche Fehler. Weiche Fehler sind im
typischen Fall Übergangsereignisse, die zum Beispiel durch Alpha-
Hintergrundstrahlung hervorgerufen werden, oder werden durch
parametrische Verfahrens-Störanfälligkeit, die "Schwachzellen"
erzeugt, verursacht: Schwachzellen sind diejenigen, die beim
Anlegen von eindeutigen Spannungen oder Datenmustern ausfallen oder
ansonsten empfindlich gegenüber Rauschen, Druckbildgröße oder
Bildverfolgung sind. Mit zunehmenden Chipdichten werden weiche
Fehler häufiger. Folglich führt eine zunehmende Chipdichte zu
einem höheren Bedarf an Möglichkeiten zur chipintegrierten
Fehlerkorrektur, besonders für weiche Fehler.
-
Zusätzlich zum Auftreten von weichen Fehlern, die normalerweise
durch Fehlerkorrekturcode-Schaltungen korrigiert werden können,
besteht außerdem die Möglichkeit von permanenten Fehlern.
Permanente Fehler entstehen oftmals durch mangelhafte
Herstellungsbedingungen einschließlich Geräteverunreinigung. Mit zunehmender
Speicherdichte ist eine fehlerlose Chipherstellung sehr
schwierig. Folglich können permanente Fehler zusätzlich zu weichen
Fehlern vorkommen. Außerdem haben permanente Fehler den
scheinbar paradoxen Vorteil, daß sie im allgemeinen wiederholt werden
können. Die Reproduzierbarkeit solcher Fehler stellt jedoch
einen Mechanismus zu ihrer Korrektur bereit (siehe unren). Eine
der allgemeinen Formen von in einem Speichersystem auftretenden
permanenten Fehlern ist das Auftreten eines "Haft"-Fehlers, bei
dem eine der Speicherpositionen, unabhängig vom jeweiligen
Inhalt der Speicherzelle, fortwährend eine Null oder Eins als
Ausgabeantwort in einer oder mehreren Bitpositionen anzeigt.
-
Ein Verfahren und eine Vorrichtung zur Korrektur von
Einzelbitfehlern sind beispielsweise aus WO83/01320 bekannt. Die
Vorrichtung kann Einzelbitfehler unter Verwendung von zusätzlichen
Prüfbits in den gespeicherten Daten korrigieren. Außer der
Korrektur von Daten im Speicher selbst erzeugt die Vorrichtung
außerdem Fehlerbits zur Verwendung durch den Prozessor.
Insbesondere werden diese Fehlersignale verwendet, um einen
Prozessorstopp zu bewirken, wenn keine Fehlerkorrektur möglich ist, oder
sie starten eine Unterbrechungs-Routine des Prozessors, um ein
Fehlerkorrekturprogramm zu verarbeiten.
-
Eine andere Möglichkeit der Fehlerkorrektur wird in EP-0186 719
offenbart, wobei ein spezieller Algorithmus verwendet wird, um
zwei permanente Fehler oder einen permanenten Fehler, der mit
einem zu korrigierenden welchen Fehler auftritt, zu korrigieren.
Der Algorithmus beruht auf dem Neuschreihen von Datenwörtern und
einem Vergleich von Leseergebnissen.
-
Obwohl es viele verschiedene Fehlerkorrekturcodes gibt, die in
Verbindung mit Speichersystemen anwendbar und verfügbar sind,
besteht eine der am weitesten verbreiteten Gruppe von Codes, die
zu diesem Zweck verwendet wurden, aus Codes mit einem
Mindestabstand von vier zwischen Codewörtern. Solche Codes sind
geeignet zur Einzelbitkorrektur und zur Doppelbitkorrektur (SEC/DED)
Diese Codes sind gut bekannt und werden leicht realisiert und
sind nachgewiesenermaßen sehr zuverlässig und leicht
herzustellen, insbesondere was die vereinfachte Schaltungsanordnung und
einen minimalen Verbrauch an "nutzbarer Chipfläche" betrifft.
Eindeutige Einzelfehler, ob permanent oder weich, stellen für
solche Codes kein Problem dar. Außerdem können solche Codes das
Vorhandensein von permanenten oder weichen Doppelfehlern
erkennen,
können sie im allgemeinen jedoch nicht korrigieren. Im
Falle von zwei weichen Fehlern ist eine Korrektur unter Verwendung
solcher Codes und Decodierverfahren wohl im allgemeinen nicht
möglich. Das Vorhandensein von zwei permanenten Fehlern oder
einem permanenten und einem weichen Fehler eignet sich jedoch
zur Verwendung des Komplement/Rekomplement-Algorithmus zur
Doppelfehlerkorrektur. Dieser Algorithmus wird auch als
Doppelkomplement-Algorithmus bezeichnet. Dieses Verfahren wird
beispielsweise in dem Artikel "Error-Correcting Codes for
Semiconductor Memory Applications a State-of-the-Art Review" von C. L.
Chen und M. Y. Hsaio, erschienen im IBM Journal of Research and
Development, Seiten 124 bis 134, März 1984, beschrieben. Dieser
Algorithmus nutzt die Tatsache, daß permanente Fehler im
allgemeinen reproduzierbar sind. Infolgedessen ist es möglich, die
fehlerhaften Bitpositionen zu kennzeichnen. Mit dieser Kenntnis
kann tatsächlich eine Doppelfehlerkorrektur eigentlich
ausgeführt werden. Es ist folglich ersichtlich, daß die
Reproduzierbarkeit von permanenten Fehlern eine Verbesserung der
Zuverlässigkeit von Informationsspeichersystemen, die anfällig für
permanente/permanente Fehler oder permanente/weiche Fehler sind,
ohne eine Zunahme der Codewortlänge ermöglicht. Folglich stellen
Aspekte der Speicherchip-Gestaltung, die dazu tendieren, die
Reproduzierbarkeit von permanenten Fehlern zunichte zu machen,
auch Hindernisse für die Doppelfehlerkorrekuur auf Systemebene
dar, besonders in Systemen, die um bestehende
Einzelfehlerkorrektur- und Doppelfehlererkennungs-Codes und
-Schaltungsanordnungen gestaltet werden.
-
Die Speicherarchitektur selbst spielt außerdem eine Rolle im
Hinblick auf die Fehlerkorrektur. Insbesondere ist es oftmals
wünschenswert, auf ein Doppeiwort (64 Bit) von Speicherdaten
zuzugreifen, wobei jedes Bit des Doppelwortes von einem
separaten Speicherchip geliefert wird. Diese Speicherarchitektur ist
hilfreich, da sie Vorteile hinsichtlich der Geschwindigkeit und
der Zuverlässigkeit bereilstellen kann.
Fehlerkorrektur-Codierverfahren werden außerdem auf das Doppelworü von Daten
angewendet. Dies wird hier als Fehlerkorrektur (und -erkennung) auf
Systemebene bezeichnet. Auf dieser Ebene wird der Komplement/-
Rekomplement-Algorithmus zur Korrektur von permanent-permanenten
Fehlern und permanent-weichen Fehlern, das heißt permanenten
Doppelfehlern, verwendet. Insbesondere bedeutet dies, daß eine
bestimmte Anzahl von Speicherchips lediglich zur Speicherung von
redundanten Codierinformationen, im typischen Fall über die
Parität oder die Kontrollsummenart dient.
-
Dementsprechend ist zu erkennen, daß es wünschenswert ist,
Speichersysteme zu entwickeln, die infolge hoher
Schaltkreisintegrationsdichten eine chipintegrierte Fehlerkorrektur und
Erkennungseinrichtungen verwenden. SEC/DED-Codes sind auf die
Korrektur von nur 1 Bit ihrer Datenwörter begrenzt. Aus diesem Grund
ist es notwendig, jegliche Bitkorrektur hei der Erkennung eines
Mehrfachfehlers zu verhindern. Bei einer gesperrten
Datenkorrektur können Mehrfachfehler nicht bewirken, daß das SEC/DED-System
fälschlicherweise ein fehlerloses Datenbit ändert. Die
Mehrfachfehlerbedingung wird anschließend während des "Zurückschreibens"
(d.h. der Vorgang der Rückübertragung des chipintegrierten ECC-
Wortes mit seinen geeigneten Prüfbits in die DPAM-Zeilen) durch
das chipintegrierte ECC-System gelöscht, da gültige Prüfbits von
dem unveränderten Datenwort erzeugt werden. In diesem System ist
eine Beschädigung der Datenwortintegrität auf die ursprünglichen
Mehrfachfehler begrenzt. Obwohl diese Fehler nicht mehr erkannt
werden können, kann das ECC-System während nachfolgender
Zugriffe keine Beschädigung von Datenwörtern verursachen.
-
Das Ergebnis der Anwendung dieses Verfahrens ist, daß alle
Fehler auf der Chip-Ebene weich erscheinen. Die Erkennung von
fehlerhaften Speicherzellen wird bei der Herstellungsprüfung mit
Musterprüfungen wirkungsvoll durchgeführt, indem die erwarteten
Daten mit dem ganzen ECC-Wort verglichen werden. Die
fehlerhaften Bits werden leicht bemerkt, und die Qualität der geprüften
Hardware wird leicht ausgewertet. Bei tatsächlichen
Speichersystemoperationen wird jedoch nicht das gesamte ECC-Wort aus dem
Speicherchip gelesen. Außerdem ist die Anzahl der im typischen
Fall ausgelesenen Bits gering. Dies erhöht in hohem Maße die
Wahrscheinlichkeit des Fehlens der fehlerhaften Bits, nachdem
ein Mehrfachfehler im Chip-Datenwort aufgetreten ist. Solche
nicht korrigierbaren Fehler auf Systemebene verursachen häufig
größere Systemfehler. Beim Auftreten eines solchen Fehlers
fallen nachfolgende Speicheroperationen im allgemeinen aus.
Gleichzeitig ist außerdem zu erkennen, daß es wünschenswert ist, zur
Erhöhung der Speicherzuverlässigkeit eine Schaltung zur
Fehlererkennung- und korrektur auf Systemebene zu verwenden. Genau
diese Situation schafft das Problem, das durch die vorliegende
Erfindung gelöst wird. Insbesondere auf der Systemebene ist es
wünschenswert, den Komplement/Rekomplement-Algorithmus verwenden
zu können, um die Zuverlässigkeit des gesamten Speichersystems
insbesondere durch eine Korrektur von Doppelfehlern, die
ansonsten nicht korrigiert würden, zu erhöhen. Der
Komplement/Rekomplement-Algorithmus hängt jedoch von der Fähigkeit zur
Reproduzierbarkeit von permanenten Fehlern ab. Es sei jedoch darauf
hingewiesen, daß die Möglichkeit zur chipintegrierten
Fehlerkorrektur das Vorhandensein von permanenten, mit einem gegebenen
Chip verbundenen Fehlern tatsächlich maskieren kann. Ein
ausführlicheres Beispiel dieses Phänomens wird unten beschrieben.
-
Dementsprechend ist es die Aufgabe der vorliegenden Erfindung,
ein fehlertolerantes Halbleiter-Speichersystem bereitzustellen,
das die Reproduzierbarkeit von bestimmten Fehlern auf Chip-Ebene
erleichtert und das die Unvereinbarkeit, die zwischen
Fehlerkorrektursystemen der Chip-Ebene und der Systemebene bestehen kann,
auflöst.
-
Es ist außerdem eine Aufgabe der vorliegenden Erfindung, die
Korrektur und Erkennung voii permanent-permanenten und
permanentweichen Speichersystemfehlern zu erleichtern, Speichersystemen
zu ermöglichen, das Doppelkomplement-Verfahren zur
Wiederherstellung von Daten anzuwenden, wenn ein nicht korrigierbarer
Fehler in der Fehlerkorrekturcode-Schaltung auf Systemebene
vorliegt, und Speicherbelegungsschemas zu ermöglichen, die Position
von "Haft"-Fehlern, die neimalerweise durch die Fehlerkorrektur
auf der Einheitenebene maskiert würden, zu bestimmen.
-
Die Lösung wird in Anspruch 1 beschrieben.
-
Gemäß einer bevorzugten Ausführungsform der vorliegenden
Erfindung umfaßt ein fehlertolerantes Computerspeichersystem eine
Vielzahl von einzelnen Speichereinheiten. Jede Speichereinheit
enthält eine Vielzahl von Speicherzellen und Mittel zur
Fehlererkennung und -korrektur auf Einheitenebene. Außerdem sind eine
Vielzahl von Mitteln auf Einheitenebene zum Anzeigen des
Vorhandenseins von nicht korrigferbaren Fehlern vorhanden, wobei diese
Mittel verschiedenen der Speichereinheiten zugeordnet werden.
Die Arbeitsweise des Mittels zur Anzeige von nicht
korrigierbaren Fehlern besteht darin, beim Auftreten eines nicht
korrigierbaren Fehlers mindestens ein Ausgangsbit von seiner zugeordneten
Speichereinheit auf einen feststehenden Wert zu setzen. Die
Speichereinheiten sind bevorzugterweise durch ein
Systemregister, das Daten aus einzelnen Speichereinheiten empfängt,
miteinander verbunden. Das Speichersystem umfaßt außerdem meist
Erkennungs- und Korrekturmittel auf Systemebene, die Daten aus
dem Register auf Systemebene empfangen. In bevorzugten
Ausführungsformen der vorliegenden Erfindung werden die
Speichereinheiten am besten als einzelne Halbleiter-Speicherchips mit einem
chipintegrierten Mittel zur Fehlererkennung und -korrektur
betrachtet. Außerdem wird jeder Chip am besten so betrachtet, als
ob er ein einzelnes Informationsbit (zu einem Zeitpunkt) zu
einem Wortgrößenregister auf Systemebene liefert, das ebenfalls
mit der Fähigkeit zur Fehlererkennung und -korrektur auf
Systemebene versehen ist.
-
Eine der Auswirkungen des Betriebs der vorliegenden Erfindung
ist die Ausführung eines effektiven zeitweiligen "Chipausfalls"
beim Auftreten eines nicht korrigierbaren Fehlers, der mit einem
gegebenen Chip verbunden ist. Tatsächlich zwingt das Auftreten
eines solchen Fehlers auf einem Chip den Ausgang des Chips auf
einen feststehenden Wert. Obwohl dadurch meistens nachfolgende
Fehlermeldungen auf der Systemebene erzeugt werden, macht die
Reproduzierbarkeit des erzwungenen Chipfehlers es immer noch
möglich, daß Fehlererkennungs- und -korrekturschaltungen auf
Systemebene eine Komplement/Rekomplement-Korrektur durchführen
können. Obwohl die vorliegende Erfindung den Ausgang von einer
der Speichereinheiten auf einen feststehenden Wert zwingt, wird
die Zuverlässigkeit des gesamten Speichersystems aufgrund der
Reproduzierbarkeit der resultierenden erzwungenen Fehler dennoch
erhöht. Dementsprechend ist das höchst entgegengesetzt-intuitive
Ergebnis, daß die Zuverlässigkeit des gesamten Speichers erhöht
wird, obwohl eine Fehlerkorrektur-Komponente tatsächlich
inaktiviert wird.
-
Der als Erfindung betrachtete Gegenstand ist insbesondere im
abschließenden Teil der Patentbeschreibung dargelegt und
eindeutig beansprucht. Die Erfindung kann jedoch sowohl hinsichtlich
der Organisation als auch des praktischen Verfahrens, zusammen
mit weiteren Aufgaben und Vorteilen davon, am besten mit
Bezugnahme auf die folgende Beschreibung in Verbindung mit den
begleitenden Zeichnungen verstanden werden, in denen:
-
Fig. 1 ein teilweise schematisches Blockdiagramm ist, das
eine Speicherorganisation darstellt, die zur
Realisierung einer Fehlerkorrektur auf doppelter Ebene
besonders geeignet ist;
-
Fig. 2 ein Teil-Blockdiagramm ist, das ähnlich wie dasjenige
in Fig.1 ist, das Vorhandensein von
Ausgangs-Sperrmitteln, die auf den einzelnen Speichereinheiten (Chips)
angeordnet sind, jedoch ausführlicher darstellt.
-
Fig. 1 stellt eine Speicherorganisation dar, die für die
Anwendung der vorliegenden Erfindung besonders geeignet ist.
Insbesondere stellt Fig. 1 eine Computerspeicherorganisation dar, die
eine Vielzahl von 72 einzelnen Speicherchips 10 umfaßt. Es muß
jedoch als vorteilhaft hervorgehoben werden, daß die vorliegende
Erfindung nicht auf Halbleiterspeicher begrenzt ist, sondern
allgemein auf jedes Computerspeichersystem angewendet werden
kann, in dem eine Vielzahl von Speichereinheiten Einzel- oder
Mehrfachausgangsbits zu einem Register sendet und in dem sowohl
Fehlerkorrekturschaltungen auf Einheitenebene als auch auf
Systemebene verwendet werden. In dem in Fig. 1 gezeigten System
liefert jede der 72 Speichereinheiten 10 ein einzelnes Bit zum
System- oder W-Register 25. Das Register 25 liefert außerdem
Ausgangsdaten durch die Fehlerkorrektur-Schaltungsanordnung 30
auf Systemebene. Desweiteren ist zu erkennen, daß die
Fehlerkorrektur-Schaltungsanordnung 20 auf Chip- oder Einheitenebene in
jeder der Speichereinheiten oder Chips 10 bereitgestellt wird.
-
In der in Fig. 1 gezeigten besonderen Ausführungsform ist zu
erkennen, daß die Zellenmatrix 12 in Worten von 137 Bit, die in
der angesteuerten Wortleitung 14 vorkommen, organisiert ist. Von
diesen 137 Bit enthalten 128 Bit Datenbits, wobei die restlichen
9 Bit Paritätsprüfbits sind. Dies ist ausreichend, um eine
chipintegrierte Einzelfehlerkorrektur und Doppelfehlererkennung
bereitzustellen. Die 137 Bit der Zellenmatrixinformationen 16
werden aus der Wortleitung 14 ausgewählt und zur
Fehlerkorrektur-Schaltungsanordnung 20 auf Chipebene weitergeleitet, die 128
Bit von korrigierten Daten zum statischen Register 18 sendet.
Die Speichereinheit 10 erhält außerdem Adreßfeldinformationen
(nicht gezeigt), die vom Deochierer 22 zur Auswahl eines
einzelnen Ausgangsbits aus dem statischen Register 18 verwendet
werden. Die Ausgänge der Deccdierer 22 in den Chips 1 bis 72 werden
entsprechenden Zellen im Register 25 zugeführt. Diese Zellen
enthalten im typischen Fall Flip-Flop-Schaltelemente.
Insbesondere ist zu erkennen, daß das Systemregister 25 72
Informationsbits umfaßt, von denen 64 Bits Daten enthalten, wobei 8
Bits Paritätsprüfinformationen enthalten. Wiederum sind eine
Einzelfehlerkorrektur und eine Doppelfehlereukennung bei diesem
Grad an Redundanz möglich. Die Art des Codes oder dei
Erkennungs- und Korrekturschaltungsanordnung, die entweder auf
Einheitenebene oder auf Systemebene verwendet werden, ist für die
Praxis der Erfindung im wesentlichen ohne Bedeutung. Jeder
geeignete Code kann zu diesem Zweck verwendet werden.
-
Der Nachteil des in Fig. 1 gezeigten Systems ist, daß permanente
Fehler wie "Haft"-Fehler, die in einer bestimmten Zellenmatrix
12 auftreten, es unmöglich machen, daß
Fehlerkorrekturcode-Verfahren auf Systemebene das Komplement/Rekomplement-Verfahren zur
Wiederherstellung aus permanent-permanenten Fehlern und
permanent-weichen Fehlern (das heißt, permanente Doppelfehler)
verwenden. Desweiteren sei darauf hingewiesen, daß die besondere
Struktur des in Fig. 1 gezeigten Speichersystems nicht als
Begrenzung der vorliegenden Erfindung gedeutet werden darf.
Insbesondere ist, wie oben angezeigt wird, die Wahl der Codes sowie
die Anzahl der verwendeten Chips und die besondere
Wortorganisation der Zellenmatrizen 12 relativ zufällig. Die relevanten
Aspekte von Fig. 1 umfassen die Korrekturmöglichkeiten auf
doppelter Ebene und die unabhängige Organisation der
Speichereinheiten, insbesondere in bezuq auf ihre Lieferung unabhängiger
Informationsbits zum Register 25.
-
Zum umfassenderen Verständnis des mit dem Speichersystem von
Fig. 1 verbundenen Problems wird nun ein vereinfachtes Beispiel
der Probleme, die bestimmte permanente Fehler, zum Beispiel
"Haft"-Fehler, verursachen können. Insbesondere wird eine
Speicherstruktur betrachtet, in der jedes Wort 8 Bit enthält, wobei
die ersten 4 Bit Datenbits und die letzten 4 Bit Paritätssummen-
Prüfbits sind. Insbesondexe und lediglich zum Zwecke der
Erläuterung wird vorausgesetzt, daß die Fehlerkorrekturcode-Matrix
die in der Tabelle unten nargestellte ist:
TABELLE I
-
Außerdem wird vorausgesetzt, daß zwei "Haft"-Fehler vorhanden
sind, die in den ersten beiden Ausgangsbitpositionen der
beschriebenen Speichermatrix auftreten. Falls vier Datenbits 0000
in den Speicher geschrieben werden, ist das in die Matrix
geschriebene Wort gemäß der oben bereitgestellten Matrix 00000000.
Die aus dem Speicher ausgelesenen Daten sind jedoch 1100, was
aufgrund der beiden "Haft"-Fehler ein Fehlermuster von 1100
anzeigt. Falls jedoch die Dauen 0100 in der Speichermatrix
gespeichert werden sollen, ist das in die Matrix geschriebene Wort
gemäß der durch die oben gegebene Matrix implizierten
Paritätsprüfmatrix 01000111. Das aus der Matrix ausgelesene Wort ist
jedoch aufgrund der beiden "Haft"-Fehler in den ersten beiden
Ausgangsbitpositionen wiederum 11000111. Aufgrund der
Fehlerkorrekturmöglichkeiten auf Einheitenebene werden die aus dem
Speicher ausgelesenen Daten jedoch als 0100 angezeigt, was deutlich
auf ein Fehlermuster von 0000 schließen läßt, da dies dasselbe
in den Speicher geschriebene Muster ist. Folglich ist zu
erkennen, daß das Vorhandensein von "Haft"-Fehlern in Anhängigkeit
von den in den Speicher geschriebenen Daten maskiert werden
kann. In der Tat würde das Maskieren dieser Fehler normalerweise
die Anwendung des Komplement/Rekomplement-Algorithmus zur
Korrektur von permanent-permanenten Fehlern verbieten. Die obige
Situation wird in der Tabelle unten zusammengefaßt:
TABELLE II
HAFTFEHLER
DATEN SCHREIBEN
WORT SCHREIBEN
DATEN LESEN
FEHLER
-
Nun wird die Aufmerksamkeit insbesondere auf Fig. 2 gerichtet,
in der die Speichereinheiten 10 durch die Speichereinheiten 10'
ersetzt wurden. Insbesondere ist zu erkennen, daß die
Fehlerkorrektur-Schaltungsanordnung 20 auf Einheiten- oder Chipebene in
Fig. 2 außerdem verwendet wird, um ein Signal zur Anzeige eines
nicht korrigierbaren Fehlers durch das UND-Gatter 53 zur
Verriegelung
50 zu senden. Der Chip wird zuerst initialisiert, so daß
er korrekte Daten- und Paritätsprüfbits in allen der ECC-Wörter
"hinter" dem Chip-ECC hat. Bei Beendigung der Initialisierung
wird die Signalleitung MODUS SETZEN verwendet, um die
Verriegelung 52 zu setzen, so daß das Signal zur Erkennung eines nicht
korrigierbaren Fehlers die Verriegelung 50 zur
Ausgangsverriegelung und für permanente Fehler durch das UND-Gatter 53 setzen
kann. Das Signal MODUS SETZEN wird unter Verwendung von
bekannten Standardverfahren wie einer Überspannung für einen
bestehenden Eingang oder Eingänge oder durch den neu definierten JEDEC-
Standard, in dem CE und W vor RE aktiv sind und in dem Adressen
zur Bereitstellung des Eingangssignals MODUS SETZEN bei RE
decodiert werden, erzeugt.
-
Das Vorhandensein eines nicht korrigierbaren Fehlers kann leicht
angezeigt werden, indem die Anzahl von Eins-Bits, die in einen
von der Schaltungsanordnung 20 zur Fehlererkennung/-korrektur
erzeugten Fehleradreßvektor eingeschaltet werden, gezählt
werden. Falls der gewählte Code ein
Einzelfehlerkorrektur-/Doppelfehlererkennungs-Code ist und falls der Ausgang des
funktionellen Blocks 20 zum Anzeigen von Positionen, in denen Fehler
aufgetreten sind, eingestellt ist, kann folglich durch Zählen der
Bits leicht festgestellt werden, ob mehr als ein Fehler
aufgetreten ist oder nicht. Falls mehr als ein Fehler aufgetreten
ist, kann das Auftreten eines nicht korriglerbaren Fehlers
bereitgestellt werden und wird über das UND-Gatter 53 zum Eingang
"S" SETZEN der Verriegelung 50 gesendet. Der Eingang "R"
ZURÜCKSETZEN der Verriegelung 50 wird durch dieselben Verfahren, wie
sie zuvor für den Eingang MODUS SETZEN erläutert wurden,
zugeführt. RÜCKSETZMODUS A setzt nur die Verriegelung 50 zurück,
wodurch der normale Betrieb wiederaufgenomen werden kann,
nachdem die Systemfehlerbehebung erreicht ist, und die Daten können
bis zum Auftreten eines anderen Mehrfachfehlers aus der Matrix
gelesen werden. RÜCKSETZMODUS B, der wiederum durch die oben
angezeigten Verfahren bereitgestellt wird, kann verwendet
werden, um das ganze Sperrelement zu inaktivieren, wodurch es
gestattet wird, daß ohne Sperren auf Daten aus der Matrix
zugegriffen
wird, wenn ein Mehrfachfehler auftritt. Die Verwendung
von RÜCKSETZMODUS A oder B kann in Verbindung mit einer
Systemfehlerbehebung verwendet werden, um zu ermöglichen, daß die
Daten aus dem fehlerhaften Bereich "hinter" dein Chip-ECC
abgebildet und korrigiert und unter Verwendung von normalen
Chip-Redundanzverfahren in eine andere Matrix gestellt werden. Der Ausgang
der Verriegelung 50 steuert durch den Schalter 51 die Auswahl
des Ausgangs aus der Speichereinheit 10'. Insbesondere ist der
normale Betrieb des Schalters 51 so, daß das einzelne
Bitausgangssignal direkt vom Decodierer 22 geliefert wird. Beim
Auftreten eines nicht korrigierbaren Fehlers wird der Ausgang durch
den Schalter 51 auf einen feststehenden Wert gesetzt. Im
typischen Fall ist der feststehende Wert eine binäre 1, wie durch
das gezeigte +V-Symbol angedeutet wird, könnte jedoch der
feststehende Wert einer binären 0 sein, indem die +V-Signalleitung
auf Masse gezogen wird. Auf diese Weise führt das Vorhandensein
von nicht korrigierbaren Fehlern dazu, daß der Ausgang der
Speichereinheit 10' auf einen feststehenden Wert gezwungen wird.
Dies stellt die Fähigkeit zum Reproduzieren von permanenten
Fehlern bereit, wobei diese Eigenschaft zum ordnungsgemäßen Betrieb
des Komplement/Rekomplement-Verfahrens, das zur Fehlerkorrektur
von permanent-permanenten Fehlern oder weich-permanenten Fehlern
auf der Systemebene verwendet wird, notwendig ist. Wenn die
Speichereinheit 10' aus Fig. 2 in einem fehlertoleranten
Speichersystem verwendet wird, kann auf diese Weise eine größere
Zuverlässigkeit erreicht werden. Ohne die Anderung der
Speichereinheit bei jedem Auftreten eines Doppelfehlers auf Systemebene
können die Daten nicht wiederhergestellt werden. Mit der
Änderung der Speichereinheit sind alle permanent-permanenten und
permanent-weichen Fehler auf Systemebene korrigierbar.
-
Aus der obigen Beschreibung sollte als vorteilhaft hervorgehen,
daß die vorliegende Erfindung einen Mechanismus zur Verbesserung
der Fehlertoleranzmöglichkeiten von Speichersystemen,
insbesondere von hochintegrierten Halbleiter-Speichern mit einer
Vielzahl von Chips mit Integriertem Schaltkreis, bereitstellt.
Insbesondere ist zu erkennen, daß die vorliegenden Anmelder einen
entgegengesetzt-intuitiven Lösungsweg bereitgestellt haben, bei
dem der Speichersystemausgang auf Chipebene auf einen
feststehenden Pegel gezwungen wird, um die gesamten
Fehlerkorrekturmöglichkeiten auf Systemebene zu verbessern. Folglich haben die
Anmelder den scheinbar paradoxen Lösungsweg des Erzwingens von
Fehlern zur Verbesserung der Fehlerkorrekturmöglichkeiten
verwendet. Es ist daher zu erkennen, daß die Anmelder zu deutlichen
Vorteilen in den Bereichen der Speicherarchitektur und der
Fehlerkorrektur beigetragen haben. Desweiteren ist zu erkennen, daß
die Anmelder dies mit geringsten Kosten und mit einer
Gestaltung, die auf jeden Speicherchip mit chipintegrierten
Fehlerkorrekturmöglichkeiten angeweudet werden kann, erreicht haben.
-
Die oben mit Bezug auf einen kompletten Chip beschriebenen
chipintegrierten Fehlerkorrekturmöglichkeiten können je nach
Vorgabe der Chiparchitektur auch auf Unterbereichen, wie halben
Chips, Viertelchips, Achtelchips, usw. verwendet werden.
-
Obwohl die Erfindung hierbei gemäß bestimmter bevorzugter
Ausführungsformen davon ausführlich beschrieben wurde, können von
Fachleuten viele Änderungen darin vorgenommen werden.
Dementsprechend sollen die beigefügten Ansprüche alle solchen
Anderungen einschließen, die in den Anwendungsbereich der Erfindung,
wie er durch die beigefügten Ansprüche definiert wird, fallen.