-
Diese Erfindung betrifft ein Halbleiterspeichergerät
mit einer Bit-Fehlererkennungsfunktion zum Detektieren
einer Bit-Fehlerkorrektur.
-
In den neuesten in Mikrotechnik hergestellten
Halbleiterspeichergeräten wurden die grundlegenden Bauelemente
bezüglich der Größe beachtlich verkleinert, und ihre
Packungsdichte wurde vergrößert. Ferner ist die Menge
der Ladung, die als Datum gespeichert ist, minimal. Die
darin gespeicherten Daten sind dementsprechend
empfindlich auf externe Strahlen, wie z. B. Alpha-Strahlen. Als
ein Ergebnis wird ein ernst zunehmendes
Soft-Fehlerproblem (bzw. Fehlerproblem durch Fremdkörpereinwirkung)
verursacht. Auf diese Weise kann der Bitfehler infolge
z. B. Alpha-Strahlen einfach in einem Speichergerät mit
hoher Packungsdichte auftreten. Wenn der Bitfehler
auftritt, ist es natürlich notwendig, ihn zu detektieren
und zu korrigieren.
-
Ein typisches herkömmliches Detektierungs- und
Korrekturssystem eines Bitfehlers wird kurz mit Bezug auf
Fig. 1 dargestellt. In dieser Abbildung ist eine
Vielzahl von Speicherzellen 1, wobei jede ein einziges Bit
speichert, in einer vertikalen (X)-Richtung und in
einer horizontalen (Y)-Richtung in einem
Matrixspeicherzellenarray 2 angeordnet. Zusätzlich zu dem
Speicherzellenarray 2 ist eine erste Paritätsspeicherschaltung 4
bereitgestellt, welche aus einer Vielzahl von
Paritätsspeicherzellen 3 zum Speichern der Paritätsbits für die
horizontal angeordneten Speicherzellen des
Speicherzellenarrays
2 besteht. Ferner ist eine zweite
Paritätsspeicherschaltung 2 bereitgestellt, welche aus einer
Vielzahl von Paritätsspeicherzellen 5 zum Speichern von
Paritätsbits für die vertikal angeordneten
Speicherzellen des Speicherzellenarrays 2 besteht.
-
Mit einer solchen Anordnung werden zum Speichern von
Daten in die Speicherzellen 1 des Speicherzellenarays 2
die Paritätsbits sukzessive für die Daten all der
Speicherzellen 1 des Speicherzellenarrays 2 Reihe für Reihe
erhalten. Die erhaltenen Paritätsbits werden jeweils in
die entsprechenden Paritätsspeicherzellen 3 der ersten
Paritätsspeicherschaltung 4 gespeichert. Auf ähnliche
Weise werden die Paritätsbits all der Daten in den
Speicherzellen 1, welche in dem Speicherzellenarray 2
angeordnet sind, Spalte für Spalte erhalten. Die erhaltenen
Paritätsbits werden jeweils in die entsprechenden
Paritätsspeicherzellen 5 der zweiten
Paritätsspeicherschaltung 6 gespeichert.
-
Zum Datenauslesen von den Speicherzellen 1 des
Speicherzellenarrays 2 werden die Paritätsbits in den
entsprechenden Paritätsspeicherzellen 3 der ersten
Paritätsspeicherschaltung 4 ausgelesen. Das voreingestellte
Paritätsbit in der Paritätsspeicherzelle 5 in der zweiten
Paritätsspeicherschaltung 6 wird ausgelesen. Dann
werden die von der Speicherzelle 1 ausgelesenen Daten auf
Parität überprüft, wobei die ausgelesenen Paritätsbits
verwendet werden. Es wird nämlich überprüft, ob ein
Fehler in den ausgelesenen Daten enthalten ist oder nicht.
Wenn ein Datenfehler detektiert ist, wird bestimmt, daß
der Bitfehler auftritt, und die ausgelesenen Daten der
Speicherzellen 1 werden bezüglich des Logikpegels
invertiert und damit korrigiert.
-
Ein anderes bekanntes Verfahren zum Detektieren und
Korrigieren des Bitfehlers von bis zu zwei Bits verwendet
einen Adreßcomputer.
-
Das in Fig. 1 gezeigte Speichergerät kann den Bitfehler
nur für ein Bit korrigieren. Ferner erfordert es
Datenauslesebitleitungen zum Empfangen der ausgelesenen
Daten von den Speicherzellen 1; eine für vertikale und
die andere für horizontale. So muß die zusätzliche
Bitleitung für die Vertikale in einem Design eines
allgemeinen Typen eines Halbleiterspeichergeräts
bereitgestellt werden, in welchem Wortleitungen in einer
(vertikalen) Richtung bereitgestellt sind, und Bitleitungen
in der anderen (horizontalen) Richtung. Dieses
herkömmliche Speichergerät macht den Herstellungsprozeß
komplizierter.
-
In dem Fall des
Bitfehler-Detektions-/Korrektur-Verfahren, welches den Adreßcomputer verwendet, wenn er an
das Halbleiterspeichergerät gelegt ist, ist ein Design
des Speichergerätes, welches zu verwenden ist, von dem
des konventionellen, welches große Schwierigkeiten
verursacht, völlig verschieden. Ferner ist es notwendig,
die Adressen in dem Halbleiterspeicherchip zu
berechnen, was eine lange Zeitdauer zur Folge hat.
-
Ein Halbleiterspeichergerät, wie es im kennzeichnenden
Teil im Anspruch 1 spezifiziert ist, ist von dem zum
Stand der Technik gehörenden Dokument COMPUTER, vol.
14, no. 10, Oktober 1981, Tutorial Series 13, pages
93-110, IEEE, New York, US; AV PHOM et al.: "Computer
Memory Systems" bekannt. In diesem Dokument ist jedoch
nichts darüber geoffenbart, auf welcher Grundlage von
Beziehungen Paritätsbitoperationen tatsächlich
durchgeführt werden, und zahlreiche Wege für die
Paritätsberechnung sind nur wertend erwähnt.
-
Einer dieser Wege ist in dem zum Stand der Technik
gehörenden Dokument US-A-4 317 201 beschrieben, welches
eine Fehlerdetektions- und -korrektur-RAM-Baugruppe
offenbart, welche einen Paritätsgenerator und einen
Paritätskomparator beinhaltet, um das Vorliegen eines
Fehlers zu bestimmen. Der Paritätsgenerator antwortet auf
Eingangsdatenbits entsprechend einer spezifischen
Beziehung, um einige Überprüfungsbits zu erzeugen. Diese
Überprüfungsbits werden in einen
Überprüfungsbit-Speicherteilbereich eines RAMs geladen, so daß die
Datenbits und die entsprechenden Überprüfungsbits in
geeigneten Adressen-Speicherzellen in diesem RAM gespeichert
sind. In anderen Worten verwendet die Baugruppe, die
aus Dokument US-A-4 317 201 bekannt ist, eine Vielzahl
von Überprüfungsbits zum Speichern der Paritätsbits,
was auf verschiedenen Kombinationen der Datenbits
basiert. Jedoch ist- es in dieser. RAM-Baugruppe unmöglich,
auf alle einer Vielzahl von Datenbits zur gleichen Zeit
zuzugreifen, da eine Vielzahl von Datenbits, welche zum
Generieren der Paritätsbits verwendet werden, auf
zufällige Art kombiniert sind. Dann ist es notwendig, auf
die Datenbits in verschiedenen Zeiten zuzugreifen, so
daß dieses bekannte Überprüfungsbit-Erzeugungsverfahren
dazu ungeeignet ist, auf die Struktur eines allgemeinen
Halbleiterspeichers angewendet zu werden.
-
Ferner offenbart das zum Stand der Technik gehörende
Dokument IEEE JOURNAL OF SOLID STATES CIRCUITS, vol.
SC-18, number 5, Okt. 1983, Seiten 463-470, IEEE, New
York, US; T. MANO et al.: "Circuit Techniques for a
VLSI Memory" ein Logikdiagramm eines ECC-RAMs, wobei
eine bidirektionelle Paritätsüberprüfung verwendet
wird. In diesem Logikdiagramm sind zusätzlich zu
(k · m) grundlegenden Speicherzellen (k + m)
Paritätszellen mit jeder Wortleitung verbunden. Zur
Fehlererkennung
sind zwei Arten von Paritätsüberprüfung
ausgeführt, wobei m Bit V-Gruppendaten, k Bit H-Gruppendaten
und 2-Bit-Paritätszelldaten verwendet werden, und die
endgültige Korrektur durch das Vergleichen der
Paritätsspeicherüberprüfungsergebnisse mit ausgewählten
Speicherzellendaten bestimmt wird. Wenn z. B. ein
Logikdiagramm (4 · 4) grundlegende Speicherzellen in diesem
Logikdiagramm umfaßt, müssen (4 + 4) Paritätszellen mit
jeder Wortleitung verbunden werden.
-
Schließlich offenbart das zum Stand der Technik
gehörende Dokument Patent Abstract of Japan, vol. 6, number
152 (P-134)[1030], 12. August 1982; & JP-A-57 071 596
(FUJITSU K.K), 4. Mai 1982, einen monolithischen
Speicherchip, der mit einer Korrekturfunktion
bereitgestellt ist. Dieser Speicherchip verwendet die gleiche
Paritätserzeugungsschaltung zum Erzeugen der Parität
sowohl in dem Schreib- als auch im Lese-Mode eines
Speichers.
-
Es ist Aufgabe der vorliegenden Erfindung, ein
Halbleiterspeichergerät mit einer Bit-Fehlererkennungsfunktion
bereitzustellen, welche ein Design erfordert, das sich
kaum von dem eines herkömmlichen
Halbleiterspeichergeräts mit keinen weiteren Komplikationen im
Herstellungsprozeß unterscheidet, und welche eine einfache Struktur
besitzt.
-
Um diese Aufgabe zu erfüllen, stellt die vorliegende
Erfindung ein Halbleiterspeichergerät, wie in Anspruch 1
spezifiziert, bereit.
-
In dem Halbleiterspeichergerät entsprechend der
vorliegenden Erfindung beinhaltet eine
Paritätsspeicherschaltung eine Vielzahl von ersten Paritätsspeicherzellen
und eine Vielzahl von zweiten Paritätsspeicherzellen.
Die ersten Paritätsspeicherzellen speichern
Paritätsbits, welche für die Daten, die in vorbestimmten
Speicherzellen des Speicherzellenarrays in der X- oder
Y-Richtung gespeichert sind, bereitgestellt sind, wobei
die vorbestimmten Speicherzellen so spezifiziert sind,
daß die vorbestimmten Bits einer Vielzahl von
Adressenbits der vorbestimmten Speicherzellen auf dem gleichen
logischen Pegel sind. Ferner speichern die zweiten
Paritätsspeicherzellen Paritätsbits für all die Daten, die
in der Vielzahl von Speicherzellen auf jedem linearen
Speicherzellenarray entweder in der X- oder in der Y-
Richtung gespeichert sind.
-
Das Halbleiterspeichergerät der vorliegenden Erfindung,
wie es oben beschrieben ist, kann Paritätsbits, welche
auf Speicherdaten der Speicherzellen basieren, deren
Adressen auf dem gleichen logischen Pegel sind, mitten
unter Speicherzellen auf jedem linearen
Speicherzellenarray, welche entweder in X- oder in Y-Richtung
angeordnet sind, unter Berücksichtigung einer Vielzahl von
ersten Paritätsspeicherzellen speichern. Zum Beispiel
werden in einem Fall, wo die Speicherzellen in der
X-Richtung des Speicherzellenarrays durch eine 2-Bit-Adresse
ausgewählt werden, die aus X1 und X2 gebildet ist, die
zwei ersten Paritätsspeicherzellen in jedem linearen
Speicherzellenarray in der X-Richtung bereitgestellt.
Eine der ersten Paritätsspeicherzellen speichert
Paritätsbits, die auf den Daten basieren, die in den zwei
Speicherzellen gespeichert sind, deren Adressen X1 auf
dem logischen "1"-Pegel sind. Die andere speichert
Paritätsbits, die auf den Daten basieren, die in den zwei
Speicherzellen gespeichert sind, deren Adressen X2 auf
dem logischen "1"-Pegel sind.
-
Deshalb kann auf Speicherzellen durch die Verwendung
der Adressen X1 und X2 in einem Fall zugegriffen
werden, wo zu speichernde Paritätsbits in obigen zwei
ersten Paritätsspeicherzellen gespeichert sind. Ein
derartige Zugriffsverfahren kann auf die Struktur eines
gewöhnlichen Halbleiterspeichers angepaßt werden.
-
Diese Erfindung kann in Verbindung mit den beiliegenden
Abbildungen aus der folgenden ausführlichen
Beschreibung besser verstanden werden, in welchen:
-
Fig. 1 ein Blockdiagramm ist, welches eine
Anordnung eines herkömmlichen
Halbleiterspeichergeräts zeigt;
-
Fig. 2 ein Blockdiagramm ist, welches eine
Anordnung eines Halbleiterspeichergeräts zeigt,
welches ein Ausführungsbeispiel der
vorliegenden Erfindung ist;
-
Fig. 3 ein Blockdiagramm einer Anordnung eines
Halbleiterspeichergeräts ist, welches ein
weiteres Ausführungsbeispiel der vorliegenden
Erfindung ist;
-
Fig. 4 ein Blockdiagramm ist, welches bei der
Erklärung der Arbeitsweise des Geräts in Fig. 3
nützlich ist; und
-
Fig. 5 ein Schaltplan ist, der die Details des
Geräts in Fig. 2 veranschaulicht.
-
Es wird Bezug auf Fig. 2 genommen, welche in Blockform
eine Anordnung eines Geräts veranschaulicht, welches in
der Lage ist, 1-Bitfehler zu detektierten und zu
korrigieren,
auf welches die vorliegende Erfindung
angewendet ist.
-
In Fig. 2 bezeichnet die Referenzziffer 11
Speicherzellen, auf und von welchen 1-Bitdaten geschrieben und
ausgelesen werden können. Diese Speicherzellen sind
matrixartig in einem 4 · 4-Speicherzellenarray 12 mit
einer Speicherkapazität von 16 Bit angeordnet. Die
Speicherzellen 11 in dem Speicherzellenarray 12 werden
jeweils durch eine horizontale Adresse X und eine
vertikale Adresse Y adressiert. Üblicherweise ist eine
Adresse des Speichergeräts durch eine binäre Zahl
ausgedrückt. Zum Beispiel sind die horizontale und vertikale
Adresse X und Y jeweils durch Kombinationen von Logiken
von m und n Bits ausgedrückt, wie z. B. (x1, x2, . . .,
und y1, y2, . . ., yn). In diesem Ausführungsbeispiel
sind in jeder Reihe und in jeder Spalte des
Speicherzellenarrays vier Bits enthalten. Dann gilt: m = n = 2.
Die Kombination der Logiken der Horizontaladresse
X = (x1, x2) ist wie in Fig. 2 gezeigt: Die Adresse
(x1, x2) der Speicherzellen 11 auf der äußerst links
liegenden Seite ist (0, 0) und auf der äußerst rechts
liegenden Seite (1,1).
-
Dieses Ausführungsbeispiel wird ferner mit einer
Paritätsspeicherschaltung 13 bereitgestellt. Die
Paritätsspeicherschaltung 13 beinhaltet vier Sätze von
Paritätsspeicherzellen 14a, 14b und 14c an den 0-ten bis 2-ten
Bits, welche in einer Reihe in dem Speicherzellenarray
12 angeordnet sind. Die Nummer der
Paritätsspeicherzellensätze entspricht der Nummer der Speicherzellen
11, die in einer Reihe in dem. Speicherzellenarray 12
angeordnet sind. In diesem Fall ist die Nummer, wie zuvor
erwähnt, vier.
-
Von den drei Zellen eines jeden
Paritätsspeicherzellensatzes speichert die Paritätsspeicherzelle 14a am 0-ten
Bit ein Paritätsbit für die Daten, die in den vier
Speicherzellen 11 in der entsprechenden Reihe in dem
Speicherzellenarray 12 gespeichert sind. Jede der
Paritätsspeicherzellen 14b an dem 1-ten Bit speichert ein
Paritätsbit für die Daten, welche in den zwei Zellen der
vier Speicherzellen 11 gespeichert sind, welche in der
entsprechenden Reihe des Speicherzellenarrays 12
angeordnet sind. In diesem Fall ist der logische Zustand
von x2 der Adresse X dieser Daten von jeder der beiden
Zellen "1". Jede der Paritätsspeicherzellen 14c an dem
2-Bit speichert ein Paritätsbit für die Daten, die in
den zwei der vier Speicherzellen 11 in der
entsprechenden Reihe in dem Paritätsspeicherarray 12 gespeichert
sind. In diesem Fall ist der logische Zustand von x1
der Adresse X von diesen Daten von jeder der zwei
Zellen "1".
-
Beim Auslesen von Daten aus einer Speicherzelle 11 in
dem Speicherzellenarray 12 durch das Adressieren
dieser, erzeugt eine Paritätserzeugungsschaltung (nicht
gezeigt) die obigen drei Paritätsbits in Verbindung mit
den Zelldaten in den Zellen der gleichen Spalte, wobei
die Zellen diese Zelle 11 beinhalten, aus welcher die
Daten ausgelesen werden. Zur gleichen Zeit besteht das
Ausgelesene aus drei voreingestellten Paritätsbits in
einem Satz der Paritätsspeicherzellen 14a bis 14c in
der Paritätsspeicherschaltung 13, welche die
Paritätsbits für die Daten der vier Speicherzellen 11
darstellen, welche in einer Reihe angeordnet sind, welche die
Speicherzelle 11 beinhaltet, von welcher die Daten
ausgelesen werden sollen. Dann werden die erzeugten drei
Paritätsbits jeweils mit den ausgelesenen verglichen.
Durch den Vergleich wird überprüft, ob die beiden
Paritäten
Bit für Bit miteinander übereinstimmen oder
nicht. Es ist angenommen, daß die Eingangsadresse
X = (x1, x2) für die ausgelesenen Daten (0, 0) ist, und
daß ein Bitfehler in den ausgelesenen Daten der
Speicherzelle 11, wie durch diese Adresse spezifiziert,
auftritt. In diesem Fall, bei dem die drei Paritätsbits
vor kurzem zum Zeitpunkt des Datenauslesens erzeugt
werden, stimmt das 0-te Bit nicht mit dem 0-ten Bit der
ausgelesenen Paritätsbit der Paritätsspeicherschaltung
13 überein.
-
Ferner wird angenommen, daß die Eingangsadresse
X = (x1, x2) = (0, 1) ist und daß in den ausgelesenen
Daten der Speicherzellen 11 ein Bitfehler auftritt. Zu
dieser Zeit stimmen von den drei Paritätsbits, die
kürzlich zu dem Zeitpunkt des Datenauslesens erzeugt
wurden, das 0-te Bit und das 1-te Bit mit den
entsprechenden der ausgelesenen Paritätsbits der
Paritätsspeicherschaltung 13 jeweils nicht überein.
-
Es wird ferner angenommen, daß die Eingangsadresse
X = (x1, x2) = (1, 0) ist, und daß ein Bitfehler in den
ausgelesenen Daten der Speicherzellen 11, wie durch
diese Adresse spezifiziert, auftritt. In diesem Fall
stimmen von den drei Paritätsbits das 0-te Bit und das 2-te
Bit jeweils nicht mit den entsprechenden der
ausgelesenen Paritätsbits der Paritätsspeicherschaltung 13
überein.
-
Es ist ferner angenommen, daß die Eingangsadresse
X = (x1, x2) = (1, 1) ist, und daß ein Bitfehler in den
ausgelesenen Daten der Speicherzellen 11, wie durch
diese Adresse spezifiziert, auftritt. Zu dieser Zeit,
stimmen die 0-ten bis 2-ten Bits der Parität, wie sie vor
kurzem erzeugt wurden, jeweils nicht mit den
entsprechenden
der ausgelesenen Parität von der
Paritätsspeicherschaltung 13 überein.
-
Wenn ein Bitfehler auftritt, ändert sich ein Bitmuster
der drei Paritätsbits in Abhängigkeit von einem
logischen Zustand einer Speicherzelle, wobei durch den
Bitfehler eine Fehlfunktion auftritt, welcher einer der
vier Speicherzellen in jeder Reihe des
Speicherzellenarrays 12 ist. Dann werden beim Auslesen der Daten die
drei Paritätsbits für die Auslesedaten erzeugt. Zur
gleichen Zeit werden drei Paritätsbits aus der
Paritätsspeicherschaltung 13 ausgelesen. Die erzeugten
Paritätsbits werden jeweils mit den ausgelesenen Paritätsbits
für die Paritätsüberprüfung verglichen. Durch die
Paritätsüberprüfung kann die Bitfehlerüberprüfung für die
1-Bit-Speicherzellen 11 des Speicherzellenarrays 12
durchgeführt werden.
-
Wenn ein Bitfehler auf diese Art detektiert ist, falls
der Pegel der ausgelesenen Daten der Speicherzelle 11
invertiert ist, wird ein korrigierter Pegel der Daten
erhalten, was zu einer Bitfehlerkorrektur führt.
-
Beim Design eines gegenwärtigen
Halbleiterspeichergeräts, welches auf diesem Ausführungsbeispiel basiert,
zum Erzeugen der Paritätsbits, ist es ausreichend, die
Zellendaten von dem Speicherzellenarray 12 nur in der
horizontalen oder Reihenrichtung auszulesen. Das
Speicherzellenarray 12 erfordert die Bitleitung zusätzlich
nur in der horizontalen Richtung. Daher ist ein Design
dieses Halbleiterspeichergerätes nur unwesentlich von
dem eines konventionellen verschieden. Es ist möglich,
zu vermeiden, daß der Herstellungsprozeß komplizierter
gemacht wird.
-
Fig. 3 zeigt ein Blockdiagramm oder ein Gerät zum
Detektieren und Korrigieren eines 2-Bit-Fehlers, in welchem
das Halbleiterspeichergerät der vorliegenden Erfindung
angewendet wird.
-
In dem zweiten Ausführungsbeispiel ist eine weitere
Paritätsspeicherschaltung 15 zusätzlich in dem in Fig. 1
gezeigten Gerät bereitgestellt.
-
Die Paritätsspeicherschaltung 15 ist mit
Paritätsspeicherzellen 16 bereitgestellt, von welchen die Nummer
identisch der Nummer der Spalten der Speicherzellen 11
in dem Speicherzellenarray 12 ist. Die Speicherzellen
11 am 0-ten bis 2-ten Bit speichern jeweils
Paritätsbits für die Daten, die in allen Speicherzellen 11 in
den Spalten des Speicherzellenarrays 12 gespeichert
sind.
-
In dem auf diese Weise angeordneten Speichergerät ist
die Paritätsüberprüfung, wenn die Daten ausgelesen
sind, ähnlich wie die im Gerät der Fig. 2. Die
Bitfehlerkorrektur bis zu zwei Bits kann durch die
Paritätsüberprüfungen von sowohl der horizontalen als auch der
vertikalen Richtung durchgeführt werden. Es ist z. B.,
wie in Fig. 4 gezeigt, angenommen, daß ein Bitfehler in
den zwei Speicherzellen 11 (in der Abbildung mit einem
Kreis versehen), von denen die Adressen X = (x1, x2)
(0, 1) und (1, 0) sind, auftritt. In diesem Fall, was
die Parität für die horizontale Richtung anbetrifft,
welche zu dem Zeitpunkt des Datenauslesens erzeugt
werden, unterscheiden sich die Inhalte der
Paritätsspeicherzellen 14b und 14c (im Bild mit einem Doppelkreis
versehen) an den 1- und 2-Bits in der
Paritätsspeicherschaltung 13 voneinander. Ferner, was die Parität der
vertikalen Richtung anbetrifft, welche zu dem Zeitpunkt
des Datenauslesens erzeugt wird, unterscheiden sich die
Inhalte der zwei Paritätsspeicherzellen 16 (in der
Abbildung durch ) in der Paritätsspeicherschaltung 15
voneinander.
-
In diesem Speichergerät kann der Bitfehler bis zu zwei
Bits detektiert und korrigiert werden durch das
Vergleichen der Paritätsbits, die in den Schaltungen 13 und 15
gespeichert sind, mit jenen, die zum Zeitpunkt des
Datenauslesens erzeugt werden.
-
In dem Ausführungsbeispiel nach Fig. 3, ähnlich dem
konventionellen Speichergerät, welches in Fig. 1 gezeigt
ist, müssen in dem Speicherzellenarray 12 die
Bitleitungen zum Auslesen der Daten sowohl für die horizontale
als auch für die vertikale Richtung bereitgestellt
werden. Es wird jedoch bemerkt, daß der Bitfehler bis zu
zwei Bits mit dem Herstellungsprozeß korrigiert werden
kann, der in einem solchen Grad verkompliziert wird,
wie der in der 1-Bit-Fehlerkorrektur. Ferner kann das
Design des vorliegenden Halbleiterspeichergeräts mit
minimalen Modifikationen verwendet werden.
-
Die Paritätsüberprüfung, die in dem oben beschriebenen
Ausführungsbeispiel verwendet wird, kann eine gerade
oder ungerade Paritätsüberprüfung sein.
-
Fig. 5 zeigt einen Schaltplan, der im Detail das
Ausführungsbeispiel nach Fig. 2 veranschaulicht.
-
In dem Speicherzellenarray 12 sind vier Speicherzellen
11, die in einer Reihe angeordnet sind, und drei
Paritätsspeicherzellen 14a bis 14c, die ähnlich angeordnet
sind, jeweils mit einer der einzelnen Wortleitungen 21
verbunden. Die vier Speicherzellen 11, welche in einer
Spalte in dem Speicherzellenarray 12 angeordnet sind,
sind mit einer von vier Bitleitungen 22 entsprechend
verbunden. Auf ähnliche Weise ist in der
Paritätsspeicherschaltung 13 eine der vier Paritätsspeicherzellen
14a bis 14c, welche in einer Spalte angeordnet sind,
entsprechend mit einer von drei Bitleitungen 23
verbunden.
-
Irgendeine der vier Wortleitungen 21 ist entsprechend
dem Ausgangssignal von einem Reihendecoder 24
ausgewählt. Die Auswähloperation des Reihendecoders 24 wird
von einem Adreßtreiber 25 gesteuert, der mit Teilen der
Adressen X und Y verbunden ist.
-
Die vier Bitleitungen 22, welche mit dem
Speicherzellenarray 12 verbunden sind, und die drei Bitleitungen 23,
die mit der Paritätsspeicherschaltung 13 verbunden
sind, sind jeweils zu Abfrage-/Lese-Verstärkern (nicht
gezeigt) verbunden, welche in einer
Abfrage-/Lese-Verstärkerschaltung 26 enthalten sind. Zufällig ist die
Anzahl der Abfrage-/Lese-Verstärker gleich der der
Bitleitungen, und sie beträgt in diesem
Ausführungsbeispiel "7".
-
Die Abfrage-/Lese-Verstärkerschaltung 26 hält die
Daten, die in den vier Speicherzellen 11 und den drei
Paritätsspeicherzellen 14a bis 14c gespeichert sind,
wobei diese Zellen zusammen mit einer Einzelwortleitung
21 verbunden sind, wie durch den Reihendecoder 24
ausgewählt, und ferner hält sie die Daten für die Daten, die
in diese Speicherzellen geschrieben werden. Zum
Auslesen der Daten von den Speicherzellen 11 führt ein
Spaltendecoder 27 die Schreibdaten für die vier
Speicherzellen 11 der Abfrage-/Lese-Verstärkerschaltung 26 zu.
-
Ferner führt ein Paritätsschreib-Komparator 28 die
Schreibparität für die drei Paritätsspeicherzellen 14
der Abfrage-/Lese-Verstärkerschaltung 26 zu. Dann
werden die Daten oder die Paritätsbits in die Zellen 11
oder 14 geschrieben.
-
Beim Auslesen der Daten von den Speicherzellen 11,
werden die Daten von den vier Speicherzellen 11
ausgelesen. Nur ein Bit der Daten, welche in den Abfrage-/
Lese-Verstärkern der Abfrage-/Lese-Verstärkerschaltung
26 gehalten werden, wird durch den Spaltendecoder 27
ausgewählt, und dann einer
Datenpegelsteuerungsschaltung 29 zugeführt. Zum Auslesen der Paritätsbits von
den Paritätsspeicherzellen 14, werden die Daten von den
vier Speicherzellen 11 ausgelesen. Die vier Bits,
welche in den Abfrage-/Lese-Verstärkern in der
Abfrage-/Lese-Verstärkerschaltung 26 gehalten werden, werden einer
Paritätserzeugungsschaltung 30 zugeführt.
-
Die Auswähloperation des Spaltendecoders 27 wird durch
das Ausgangssignal von dem Adressentreiber 31
gesteuert, der mit Teilen der Adressen X und Y versorgt ist.
-
Die Paritätserzeugungsschaltung 30 erzeugt die drei
Bits, wobei die zugeführten vier Datenbits verwendet
werden, und führt die Paritätsbits einem
Paritätsschreib-Komparator 28 zu. In einem Schreibmode des
Speicherzellenarrays 12 führt der
Paritätsschreib-Komparator 28 die drei Paritätsbits, wie sie durch die
Paritätserzeugungsschaltung 30 erzeugt wurden, den drei
Abfrage-/Lese-Verstärkern in der
Abfrage-/Lese-Verstärkerschaltung 26 zu, um dadurch die Paritätsbits in die
Paritätsspeicherschaltung 13 zu schreiben. In einem
Lesemode des Speicherzellenarrays 12 werden die drei
Paritätsbits von der Paritätserzeugungsschaltung 30
jeweils mit diesen verglichen, die in den drei Abfrage-/
Lese-Verstärkern der Abfrage-/Lese-Verstärkerschaltung
26 gehalten werden. Als ein Ergebnis dieser
Paritätsüberprüfung, falls ein Bitfehler in den Ausgangsdaten
vom Spaltendecoder 27 gefunden wird, weist der
Paritätsschreib-Komparator 28 die Datenpegelsteuerungsschaltung
29 an, den Pegel der Daten zu invertieren, und eine
Adresse für die Speicherzelle 11 zu erzeugen, welche
den Bitfehler beinhaltet, und führt diese Adresse dem
Spaltendecoder 27 zu. Daher erzeugt der Ausgangstreiber
32, der mit dem Ausgang der
Datenpegelsteuerungsschaltung 29 versorgt ist, die Daten mit einem korrekten
Pegel nach außen. Ferner werden die Daten, welche durch
die Datenpegelsteuerungsschaltung 29 in den korrekten
Pegel invertiert werden, dem ursprünglichen
Abfrage-/Lese-Verstärker 26 entsprechend der Adresse der
Speicherzelle zugeführt, welche die Fehlfunktion eines
Bitfehlers aufweist. Folglich sind auch die Daten dieser
Speicherzelle korrigiert.
-
Ein Eingangstreiber 33 wird extern mit Schreibdaten für
jede der Speicherzellen 11 in dem Speicherzellenarray
12 versorgt. Die Ausgangsdaten von dem Eingangstreiber
33 werden mit Hilfe der Datenpegelsteuerungsschaltung
29 und des Spaltendecoders 27 an dem entsprechenden
Abfrage-/Lese-Verstärker in der
Abfrage-/Lese-Verstärkerschaltung 26 angelegt, und werden dann in einer
Speicherzelle 11 in dem Speicherzellenarray 12 in der oben
erwähnten Art und Weise gespeichert.
-
In dem oben erwähnten Ausführungsbeispiel sind die
Paritätsbits für die Zellendaten in den zwei Speicherzellen
11, deren Adressen X = (x1, x2) auf einen "1"-Pegel
gesetzt sind, welche in die Paritätsspeicherzellen 14b
und 14c an dem 1-ten und dem 2-ten Bit in der
Paritätsspeicherschaltung 13 gespeichert sind. Alternativ
können die Paritätsbits für die Zellendaten in den zwei
Speicherzellen, deren Adresse X = (x1, x2) auf logisch
"0" gesetzt ist, in die Paritätsspeicherzellen 14b und
14c gespeichert werden.
-
Ferner kann die Speicherkapazität des
Speicherzellenarrays 12 auf irgendeine Kapazität, jedoch nicht 16 Bits,
gesetzt werden, falls dies notwendig ist. In diesem
Fall ist es notwendig, die Anzahl der Bits in einem
Satz der Paritätsspeicherzellen 14 der Paritätsspeicher-
Schaltung 13 entsprechend der Speicherkapazität, wie
ausgewählt, zu erhöhen oder zu erniedrigen.