-
Die Erfindung liegt hauptsächlich im Gebiet der
nichtflüchtigen, elektrisch löschbaren integrierten Speicher
und betrifft insbesondere die Speicher des Typs "FLASH
EEPROM".
-
Gewöhnlich werden die Speicher mit einer gegebenen
Kapazität, beispielsweise 16 Megabits für einen "FLASH
EEPROM", in den Handel gebracht. Nun führen die
Fertigungsverfahren von integrierten Schaltungen sehr häufig
zu Fehlern, insbesondere zu solchen, die die
Speicherzellen beeinflussen. Um außerdem eine zu große Anzahl von
Ausschußteilen zu vermeiden, sehen die Entwurfsingenieure
dieser Schaltungen eine bestimmte Anzahl von redundanten
Zellen vor, die dazu bestimmt sind, gegebenenfalls
fehlerhafte Zellen zu ersetzen.
-
Im allgemeinen sind die Speicher in Matrizen organisiert,
die aus Zeilen und Spalten von Speicherzellen gebildet
sind. Jede Zelle ist dann über eine jeder Zeile
zugeordnete Wortleitung und über eine jeder Spalte zugeordnete
Bitleitung auswählbar Aus Gründen der Einfachheit
erfolgt in der Praxis die Ersetzung einer fehlerhaften
Zelle dadurch, daß die gesamte Zeile oder die gesamte
Spalte, die diese Zelle enthält, ersetzt wird. Das
Speicherelement - Zeile oder Spalte -, das ersetzt werden
soll, hängt vom Typ des erfaßten Fehlers ab.
-
Diese redundanten Elemente werden nach Prüfungen in
Betrieb genommen, die nach der Fertigung jeder
integrierten Schaltung ausgeführt werden. Hierzu sind in der
integrierten Schaltung programmierbare
Rekonfigurationsmittel vorgesehen, derart, daß dann, wenn die Prüfung ein
fehlerhaftes Element aufzeigt, dieses letztere
automatisch durch ein Ersetzungselement ersetzt wird, das aus
den redundanten Elementen gewählt ist, wobei diese
Ersetzung nicht sichtbar und ohne Folgen für die Eigenschaften
des Speichers sein muß. In der Praxis enthalten die
Rekonfigurationsmittel Schaltungen, um festzustellen, ob
die zum Speicher geschickte momentane Adresse jener eines
fehlerhaften Elements entspricht, wobei sie dann, wenn
dies der Fall ist, ein redundantes Element auswählen,
indem das fehlerhafte Element ersetzt wird.
-
Diese automatische Ersetzung erfolgt gewöhnlich mittels
programmierbarer, nichtflüchtiger Register, die dazu
vorgesehen sind, die Adressen der fehlerhaften Elemente
zu halten. Im Fall eines in Zeilen und Spalten
organisierten Speichers ist diese Adresse entweder die
Zeilenadresse oder die Spaltenadresse, die den hochwertigen
Stellen bzw. den niederwertigen Stellen der vollständigen
Adresse entsprechen. Bis jetzt ist jedes redundante
Element einem solchen Register und einem Komparator
zugeordnet, der an seinen Eingängen den in diesem
Register gehaltenen Wert und die momentane Adresse empfängt.
Wenn die Prüfoperationen beendet sind, werden die
Register auf Werte programmiert, die die Adressen der
fehlerhaften Elemente repräsentieren. Falls daher im Betrieb
die momentane Adresse mit dem in einem der Register
enthaltenen Wert übereinstimmt, liefert der zugeordnete
Komparator ein Signal, das die automatische Auswahl des
zugeordneten redundanten Elements ermöglicht. Parallel
wird die Auswahl des fehlerhaften Elements verhindert.
-
Diese Lösung erfordert daher die Bereitstellung einer
Anzahl von programmierbaren Registern, die gleich der
Anzahl redundanter Elemente ist. Andererseits erfordert
sie die Programmierung so vieler Register wie erfaßte
fehlerhafte Elemente vorhanden sind. Nun stellt das
Vorhandensein von nichtflüchtigen programmierbaren
Registern jedoch Probleme hinsichtlich der Zuverlässigkeit
aufgrund der Schwierigkeit ihrer Fertigung und ihrer
Programmierung.
-
Auch die Erfindung hat zum Ziel, die Zuverlässigkeit zu
verbessern, indem sie eine Lösung vorschlägt, die die
Anzahl der programmierbaren Register insbesondere in dem
Fall begrenzt, in dem die fehlerhaften Elemente
topologisch benachbart sind.
-
Genauer hat die Erfindung einen elektrisch löschbaren
programmierbaren Speicher des Typs "FLASH EEPROM", wie er
im Anspruch 1 beansprucht ist, zum Gegenstand.
-
Das Dokument US-A-5 281 868 offenbart die Verwendung
eines Inkrementierers, um ausgehend von der Adresse einer
fehlerhaften Spalte die Adresse der physikalisch
benachbarten Spalte zu berechnen. Dieses Dokument behandelt
jedoch nicht den Fall, in dem die redundanten Elemente
selbst fehlerhaft sind. Sie schlägt daher nur vor, daß
die Inkrementierer durch Rechenmittel ersetzt werden
können, die die Fähigkeit besitzen, einen Ausgang zu
liefern, der mit dem Eingang übereinstimmt.
-
Das Dokument GB-A-2 254 173 betrifft die
"FLASH"-Speicher, die mit redundanten Zeilen versehen sind, und
behandelt das Problem der Programmierung vor der Löschung
("preconditioning") fehlerhafter Zeilen, insbesondere der
aneinandergrenzenden kurzgeschlossenen Zeilen. Um deren
Programmierung parallel zu ermöglichen, ist ein
Decodierer vorgesehen, der speziell für die systematische
Auswahl zweier benachbarter Wortleitungen zum gleichen
Zeitpunkt entworfen ist.
-
Wie im US-Dokument wird der Fall, in dem die redundanten
Elemente fehlerhaft sind, nicht angesprochen. Außerdem
verwirklicht dieses Dokument gleichzeitige
Auswahlvorgänge von benachbarten Zeilen, indem die Decodierer
modifiziert werden, und nicht wie die Erfindung, die auf
Höhe der Adressen eingreift.
-
Gegenüber der früheren Lösung weist die Erfindung den
Vorteil auf, daß wenigstens ein Teil der nichtflüchtigen
Register durch normale Schaltungen ersetzt ist, die eine
bessere Zuverlässigkeit aufweisen.
-
Gemäß einer besonderen Ausführungsform der Erfindung
enthalten die Rechenmittel wenigstens eine
Inkrementierungsschaltung, die eine Ausgangsgröße liefert, die
gleich der Summe aus einem Eingangswert und einem
Inkrementierungswert ist.
-
Der einfachste Fall ist jener, in dem die topologische
Reihenfolge der Zeilen und Spalten des Speichers
diejenige der numerischen Werte der entsprechenden Adressen
ist. Um in diesem Fall mehrere benachbarte Elemente zu
ersetzen, kann die Berechnung der Adressen mittels einer
einzigen Inkrementierungsschaltung mit einem
Inkrementierungswert, der gleich Eins ist, erfolgen. Außerdem kann
eine einzige Inkrementierungsschaltung von mehreren
Auswahlschaltungen gemeinsam genutzt werden. Es empfiehlt
sich indessen, bei jedem Anlegen der Spannung am Speicher
eine Initialisierungsphase vorzusehen, in deren Verlauf
die Adressenwerte der zu ersetzenden Elemente
nacheinander berechnet und gespeichert werden.
-
Wenn gewünscht ist, diese Initialisierungsphase zu
vermeiden, und gemäß einer besonderen Ausführungsform gemäß
der Erfindung enthält die Auswahlschaltung eine
Inkrementierungsschaltung,
die jedem der anderen zu ersetzenden
Elemente zugeordnet ist.
-
Vorteilhaft ist die Inkrementierungsschaltung aus einer
kombinatorischen Logikschaltung gebildet, die so
beschaffen ist, daß sie die Summe aus einem Eingangswert und
einem festen Inkrementierungswert bildet.
-
Selbstverständlich können im Hinblick auf eine höhere
Flexibilität im selben Speicher mehrere
Auswahlschaltungen vorgesehen sein, deren Inkrementierungsschaltungen
verschiedene Inkrementierungswerte zugeordnet sind.
-
Ein Fehlertyp, der häufig auftritt, ist derjenige, bei
dem zwei oder mehr Wortleitungen, die topologisch
benachbart sind, kurzgeschlossen sind. Da ein solcher Fehler
auch bei redundanten Zeilen entstehen kann, ist die
Auswahlschaltung vorteilhaft so beschaffen, daß die
Auswahlsignale, die sie liefert, topologisch benachbarte
redundante Zeilen auswählen, wobei die Auswahlschaltung
dann eine Sperrschaltung für diese Auswahlsignale
enthält.
-
Die Fehler zwischen Leitungen stellen im Fall der "FLASH
EEPROM"-Speicher aus Gründen, die weiter unten erläutert
werden, ein besonderes Problem dar. Dieser Speichertyp
verwendet als Speicherzelle seinen besonderen
MOS-Transistor mit schwebendem Gate, dessen Leitungsschwellenwert
durch Anlegen geeigneter Spannungen an seine Elektroden
modifizierbar ist. Die Programmierung einer Zelle besteht
darin, einen hohen Schwellenwert (z. B. 6 Volt) durch
Anlegen von Programmierspannungen an das Gate (z. B. 12
Volt) und an den Drain (z. B. 6 Volt) zu erzeugen, wobei
die Source auf Masse liegt. Diese Programmierung ist
selektiv und wird für jeden Transistor des Speichers
gesteuert. Nach Konvention wird gesagt, daß eine
programmierte
Zelle den logischen Wert 0 speichert. Die Löschung
einer Zelle besteht darin, einen niedrigen Schwellenwert
(z. B. 2 Volt) durch Anlegen einer Löschspannung (z. B.
10 Volt) an die Source des Transistors zu erzeugen, wobei
sein Gate auf Masse liegt und sein Drain in den Zustand
hoher Impedanz versetzt ist. Im Gegensatz zur
Programmierung ist eine Löschoperation global, was bedeutet, daß
sie auf sämtliche Zellen des Speichers oder auf einen
vollständigen Sektor, falls der Speicher in mehreren
unabhängigen Sektoren organisiert ist, angewendet wird.
Mit der vorangehenden Konvention speichert eine gelöschte
Zelle den logischen Wert 1. Das Lesen einer Zelle besteht
darin, ihren Leitungszustand zu erfassen. Hierzu wird an
ihr Gate eine Lesespannung (z. B. 5 Volt) angelegt, wobei
der in die Zelle fließende Strom mit jenem verglichen
wird, der in eine Referenzzelle fließt.
-
Wenn eine Schreiboperation ausgeführt werden soll, d. h.
wenn die Programmierung bestimmter Zellen des Speichers
modifiziert werden soll, muß vorher die globale Löschung
des betreffenden Sektors erfolgen. Aufgrund der globalen
Natur der Löschung ist es indessen notwendig, vorher eine
gesteuerte Programmierung jeder Zelle des betrachteten
Sektors in der Weise vorzunehmen, daß die Drifts und
Streuungen der Schwellenwerte nach der globalen
Löschungen begrenzt werden. Diese Programmierung vor der
Löschung wird durch Ausführen eines spezifischen
Algorithmus verwirklicht, der die Adressierung befiehlt und
die Programmierung jeder der Zellen des Sektors steuert.
Selbstverständlich finden diese Operationen auch auf die
redundanten Zellen und eventuell auf die fehlerhaften
Zellen Anwendung.
-
Die Programmierung einer gegebenen Zelle besteht darin,
die Zeile auszuwählen, zu der sie gehört, indem die
Programmierspannung der Gates an die zugeordnete
Wortleitung
angelegt wird. Andererseits wird die Spalte dieser
Zelle ausgewählt, indem die Programmierspannung der
Drains an die entsprechende Bitleitung angelegt wird. Die
anderen Zeilen und Spalten werden nicht ausgewählt, was
insbesondere zur Folge hat, daß die anderen Wortleitungen
mit Masse verbunden sind. Falls unter diesen Bedingungen
mehrere Wortleitungen kurzgeschlossen sind (es handelt
sich meist um zwei topologisch benachbarte Leitungen),
erfolgt normalerweise die Programmierung vor der Löschung
der den entsprechenden Zeilen zugehörigen Zellen nicht,
so daß für die nach der Löschung erhaltenen
Schwellenwerte die Gefahr besteht, daß sie zu niedrig sind
(entleerte Zellen) . Dieses Problem wird vermieden, wenn
vorgesehen ist, gleichzeitig die kurzgeschlossenen
Wortleitungen auszuwählen, wenn die Operationen der
Programmierung vor der Löschung vorgenommen werden.
-
Gemäß einem besonderen Aspekt der Erfindung kann diese
gleichzeitige Auswahl, die auf die topologisch
benachbarten redundanten Zeilen angewendet wird, einfach dadurch
verwirklicht werden, daß die Rechenmittel für die
Auswahlschaltung so steuerbar sind, daß sie wahlweise einen
Wert liefern, der mit ihrem Eingangswert übereinstimmt.
-
Die Erfindung hat außerdem einen elektrisch löschbaren
programmierbaren Speicher des Typs "FLASH EEPROM" zum
Gegenstand, der mehrere Auswahlschaltungen, wie sie oben
definiert worden sind, enthält.
-
Weitere Aspekte und Vorteile der Erfindung gehen aus der
folgenden Beschreibung mit Bezug auf die Figuren hervor.
-
- Fig. 1 ist ein Gesamtschema eines Speichers, der
redundante Elemente enthält.
-
- Fig. 2 zeigt die Mittel für die Auswahl der Zeilen
des Speichers von Fig. 1.
-
- Fig. 3 zeigt eine Matrix von Speicherzellen, die
Transistoren mit schwebendem Gate verwenden.
-
- Fig. 4 ist eine genaue Darstellung einer
Auswahlschaltung gemäß der Erfindung.
-
- Fig. 5 zeigt ein Ausführungsbeispiel der Rechenmittel
für die Ausführung der Erfindung.
-
Fig. 1 zeigt die Hauptbestandteile eines Speichers, in
dem Auswahlschaltungen gemäß der Erfindung verwendet
werden können. In einem nicht beschränkenden Beispiel ist
der gezeigte Speicher vom Typ "FLASH EEPROM".
-
Außer den nicht gezeigten Schnittstellen- und
Wartungsschaltungen ist der Speicher im wesentlichen aus einer
Matrix 1 von Speicherpunkten, die in Zeilen und Spalten
organisiert sind, aus einer Steuerschaltung 2 und aus
einem Generator 3 für die Versorgungsspannungen gebildet.
Die Steuerschaltung 2 ist eine programmierte Einheit,
beispielsweise des Typs "PLA", die sämtliche Schaltungen
des Speichers wie beispielsweise den Generator 3 steuert.
Die Schaltung 2 hat hauptsächlich die Aufgabe, die Lese-,
Lösch- und Programmieroperationen mittels Steuersignalen
R, E, P oder Pe, die an die verschiedenen betroffenen
Schaltungen gesendet werden, zu steuern.
-
Der Generator 3 hat die Aufgabe, anhand von äußeren
Versorgungs- und Programmierspannungen Vpp die
verschiedenen Potentiale Vr, Up, Vp und Ve zu liefern, die für
die Lese-, Programmier- bzw. Löschoperationen notwendig
sind.
-
Der Speicher wird durch eine momentane Adresse AD
adressiert, die von außerhalb empfangen und von der
Schnittstellenschaltung in ein Adressenregister AD_R eingegeben
wird. Die mit der äußeren Umgebung ausgetauschten Daten
bewegen sich über ein Eingangsdatenregister DTi_R zum
Schreiben und über ein Ausgangsdatenregister DTo_R zum
Lesen. Die hochwertigen Stellen X der Adresse AD bilden
die Zeilenadresse, die der Definition der Zeile dient,
die bei einer Lese- oder Schreiboperation auszuwählen
ist. Die niederwertigen Stellen Y der Adresse AD bilden
die Spaltenadresse, die der Definition der auszuwählenden
Spalte dient.
-
Die Matrix 1 enthält eine Hauptmatrix sowie eine
Gesamtheit von redundanten Zeilen 1C und eine Gesamtheit von
redundanten Spalten 1D. Diese redundanten Zeilen und
Spalten sind dazu vorgesehen, Zeilen und Spalten zu
ersetzen, in denen die Zellen im Verlauf der
Prüfoperationen als fehlerhaft erkannt worden sind.
-
Herkömmlicherweise werden die Zeilen der Hauptmatrix in
Abhängigkeit von der Zeilenadresse X mittels eines
Zeilendecodierers 4 ausgewählt, der an eine Versorgungs- und
Verstärkungsschaltung 6 über eine Sperrschaltung 5
Auswahlsignale liefert. Die Verstärkungsschaltung 6 ist dazu
vorgesehen, an die Wortleitungen der Matrix 1A geeignete
Spannungen für die Lese-, Lösch- oder
Programmieroperationen anzulegen. Die Sperrschaltung der Zeilen 5 hat die
Aufgabe, die fehlerhaften Zeilen zu deaktivieren, die von
einer Zeilen-Rekonfigurationsschaltung 7 ausgewählt
werden. Die Schaltung 7, die mit Bezug auf Fig. 2 genauer
beschrieben wird, spielt außerdem die Rolle der
Auswahlschaltung für redundante Zeilen 1C und steuert eine
Verstärkungsschaltung 8, die dazu dient, die diesen
Zeilen zugeordneten Wortleitungen analog wie die
Schaltung 6 zu versorgen.
-
Die Spalten der Hauptmatrix werden in Abhängigkeit von
der Spaltenadresse Y mittels eines Spaltendecodierers 9
ausgewählt, der an eine Spalten-Auswahlschaltung 10
angeschlossen ist, die von einer
Spalten-Rekonfigurationsschaltung 11 gesteuert wird. Die Schaltung 11
steuert außerdem eine Auswahlschaltung 12 für redundante
Spalten 1B. Die Auswahlschaltungen 10, 12 liefern
Auswahlsignale, die das Anlegen geeigneter Spannungen an die
entsprechenden Bitleitungen bei Lese- oder
Schreiboperationen bedingen. Diese Spannungen werden von den
Schaltungen 13A und 13B unter den Bedingungen geliefert, die
mit Bezug auf Fig. 3 genauer beschrieben werden. Die
Schaltung 13A enthält außerdem Leseverstärkungsmittel. Um
gleichzeitig mehrere Bits desselben Worts, die mehreren
Spalten zugeordnet sind, zu lesen und zu schreiben, sind
im allgemeinen mehrere Leseverstärker und mehrere
Schreibschaltungen, die parallel arbeiten, vorgesehen.
-
Ein Komparator 14 ist an Eingänge der Leseverstärker und
des Eingangsdatenregisters DTi_R in der Weise
angeschlossen, daß die Steuerschaltung 2 über den korrekten Verlauf
der Programmieroperationen der Speicherzellen informiert
wird. Das Ergebnis dieses Vergleichs wird von der
Steuerschaltung 2 berücksichtigt, um die Ausführung ihres
Programmieralgorithmus anzupassen.
-
Fig. 2 zeigt die Gesamtheit der Mittel für die Auswahl
der Zeilen der Matrix 1 und zeigt genauer die
Rekonfigurationsschaltung 7. Die Schaltung 7 enthält einen
Rekonfigurationsspeicher 17, der im wesentlichen aus einem
Adressenspeicher 19 und aus Invalidierungszellen 20
gebildet ist. Diese Speicherelemente sind mittels
nichtflüchtiger Zellen gebildet, die (nicht gezeigten)
Lesemitteln zugeordnet sind. Diese Zellen sind außerdem durch
eine Programmierschaltung 18 programmierbar. Der
Adressenspeicher
19 ist aus mehreren Registern gebildet, die
dazu vorgesehen sind, jeweils einen besonderen
Adressenwert der Zeilen zu enthalten, die einer fehlerhaften
Zeile der Hauptmatrix 1A entsprechen. Die
Invalidierungszellen 20 sind den Zeilen der Matrix 1 zugeordnet, wobei
ihre logischen Zustände Hinweise auf die Sperrung der
zugeordneten Zeilen bilden. Die Programmierung der
Elemente 19 und 20 durch die Schaltung 18 erfolgt als
Antwort auf einen Programmierbefehl Pr in Abhängigkeit von
Rekonfigurationsdaten Dr, die von den Wartungsschaltungen
des Speichers geliefert werden.
-
Die Zustände der Invalidierungszellen der Zeilen der
Hauptmatrix 1A werden an die obenerwähnte Sperrschaltung
5 übertragen. Die Schaltung 5 liefert die
Zeilen-Auswahlsignale SR an die Versorgungsschaltung 6 der
Wortleitungen WL. Die Auswahl der redundanten Zeilen erfolgt
mittels eines Decodierers 15 und einer Sperrschaltung 16,
die vorteilhaft mittels Auswahlschaltungen gemäß der
Erfindung verwirklicht sind. Der Decodierer 15 empfängt
an seinem Eingang die momentane Zeilenadresse X sowie die
besonderen Adressenwerte, die im Adressenspeicher 19
enthalten sind. In Abhängigkeit von diesen Daten liefert
der Decodierer 15 an die Sperrschaltung 16
Vergleichssignale HIT, die die Vorauswahlsignale der redundanten
Zeilen bilden. Wie bei der Hauptmatrix empfängt die
Sperrschaltung 16 die Sperrhinweise, die die Zustände der
Invalidierungszellen repräsentieren, welche den
redundanten Zeilen zugeordnet sind, und liefert die
entsprechenden Auswahisignale SR. Wie bei der Hauptmatrix steuern
die Signale SR die Versorgungsschaltung 8 der
Wortleitungen WL.
-
Die Programmierung des Rekonfigurationsspeichers 17
beruht auf dem folgenden Prinzip. Zunächst werden
sämtliche Invalidierungszellen 20 und jene, die den
Adressenspeicher
19 bilden, gelöscht. Wenn eine Zeile der
Hauptmatrix als fehlerhaft erfaßt wird, wird ihre
Invalidierungszelle programmiert. Der besondere Wert der Adresse
dieser Zeile wird dann in eines der Register des
Adressenspeichers 19 durch eine selektive Programmierung der
Zellen dieses Registers geladen. Zusätzlich wird eine
reservierte Zelle dieses Registers in der Weise
programmiert, daß es einen Hinweis auf die Gültigkeit der
zugeordneten Adresse bildet. Dieser besondere Adressenwert
wird anschließend vom Decodierer 15 in der Weise
verwendet, die später mit Bezug auf Fig. 4 beschrieben wird.
Wenn es sich zeigt, daß eine der redundanten Zeilen, die
somit in Betrieb genommen worden ist, selbst fehlerhaft
ist, wird anschließend ihre Invalidierungszelle so
programmiert, daß die Sperrschaltung 16 informiert wird.
-
In einer Abwandlung können die Invalidierungszellen der
Zeilen der Hauptmatrix unter der Voraussetzung
weggelassen werden, daß eine globale Sperrung sämtlicher Zeilen
der Hauptmatrix vorgesehen ist, wobei diese globale
Sperrung durch die Aktivierung eines beliebigen der
Vergleichssignale HIT hervorgerufen wird.
-
Die Mittel für die Auswahl der Spalten können in einer
zum vorangehenden Schema vollkommen analogen Weise
verwirklicht sein. Es wird daher keine besondere
Beschreibung gegeben.
-
Bevor die Auswahlschaltung gemäß der Erfindung genauer
erläutert wird, empfiehlt es sich, an die Struktur und
die Organisation von Matrizen mit schwebendem Gate zu
erinnern, welche in den Speichern des Typs "FLASH EEPROM"
verwendet werden. Fig. 3 zeigt eine solche Struktur in
dem einfachen Fall eines wortweisen Zugriffs auf ein
einziges Bit. Die Fälle des wortweisen Zugriffs auf
mehrere Bits ergeben sich daraus einfach.
-
Die Sources der Transistoren sind sämtlich miteinander
verbunden und werden sämtlich von einer
Source-Versorgungsschaltung 13B versorgt, die bei Lese- und
Programmieroperationen das Massepotential oder aber bei
Löschoperationen ein Löschpotential Ve (in der Größenordnung
von 10 Volt) liefern. Jede Zeile wird durch eine
Wortleitung WL&sub1;, WLi, WLi+1, WLn gesteuert, die an jedes der
Steuergates der Transistoren der Zeile angeschlossen
sind. Die Wortleitungen werden durch eine
Versorgungsschaltung 6, 8 versorgt, die durch die
Zeilen-Auswahlsignale SR&sub1;, SRi, SRi+1, SRn gesteuert werden. Für die nicht
gewählten Zeilen wie etwa die erste Zeile legt die
Versorgungsspannung 6, 8 das Massepotential an die
zugeordneten Wortleitungen an. Für die gewählte Zeile (Zeile i)
legt die Schaltung 6, 8 an die entsprechende Wortleitung
WLi im Fall einer Programmierung das Potential Up (in der
Größenordnung von 12 Volt), im Fall eines Lesens das
Potential Ur (in der Größenordnung von 5 Volt) oder im
Fall eines Löschens das Massepotential an. Die Drains der
Transistoren jeder Spalte sind mit einer zugeordneten
Bitleitung BL&sub1;, BL&sub2;, ..., BLn verbunden. Diese
Bitleitungen sind an die Lese- und Schreibschaltung 13A
angeschlossen, die durch die Spalten-Auswahlsignale SC&sub1;, SC&sub2;,
..., SCn gesteuert wird, welche von der
Spalten-Auswahlschaltung 10 geliefert werden. Die Bitleitungen der nicht
ausgewählten Spalten werden in den Zustand hoher Impedanz
versetzt, während jene der ausgewählten Spalte (die erste
Spalte) an einen Leseverstärker angeschlossen werden, der
im Fall eines Lesens ein binäres Datum B&sub0; liefert oder
aber im Fall einer Programmierung ein
Programmierpotential Vp (in der Größenordnung von 6 Volt) empfängt oder
aber im Fall eines Löschens in den Zustand hoher Impedanz
versetzt wird.
-
Anhand der vorangehenden Beschreibung kann festgestellt
werden, daß die Lese- und Programmieroperationen selektiv
für jeden Transistor der Matrix erfolgen, während die
Löschoperationen die Gesamtheit der Transistoren
betreffen. Aus den obenerwähnten Gründen erfordert die globale
Eigenschaft der Löschoperationen eine vorherige
Programmierung jedes der Transistoren der Matrix. Die
Programmierung eines dieser Transistoren impliziert daher das
Anlegen des Programmierpotentials Up an seine Wortleitung
(z. B. WLi), wobei sein Drain mit der Spannung Vp
versorgt wird. Außerdem sind die anderen Wortleitungen
(z. B. WLi+1) normalerweise mit Masse verbunden. Wenn nun
die ausgewählte Wortleitung WLi schlecht isoliert ist und
mit einer anderen Wortleitung, die im allgemeinen
benachbart ist, kurzgeschlossen ist, empfängt sie nicht das
korrekte Programmierpotential. Daraus folgt, daß die
Transistoren der zwei Zeilen, deren Wortleitungen
kurzgeschlossen sind, schlecht programmiert werden (zu
niedriger Leitungsschwellenwert) und daß bei ihnen nach der
globalen Löschung die Gefahr besteht, daß sie entleert
sind (negativer Spannungsschwellenwert) und daher selbst
dann leiten, wenn sie nicht ausgewählt sind. Daraus
folgt, daß die Gefahr besteht, daß die an einer
Wortleitung bei einem Lesen anliegende Spannung nicht mehr den
Leitungszustand des ausgewählten Transistors
repräsentiert. Die Lösung zur Beseitigung dieses Problems besteht
darin, eine Programmierung parallel auf die Transistoren
der Zeilen auszuüben, deren Wortleitungen kurzgeschlossen
sind. Dies kann verwirklicht werden, indem entsprechend
die Funktionsweise der letzten Stufe des
Zeilendecodierers abgewandelt wird. Später wird ersichtlich, wie diese
Abwandlung einfach kraft einer Auswahlschaltung gemäß der
Erfindung verwirklicht werden kann, die nun genauer mit
Bezug auf Fig. 4 beschrieben wird.
-
Die Auswahlschaltung ist im wesentlichen aus einem
redundanten Zeilendecodierer 15A und aus einer Sperrschaltung
16A gebildet. Um die Erläuterung zu vereinfachen, ist die
in Fig. 4 gezeigte Schaltung dazu vorgesehen, lediglich
zwei redundante Zeilen, die topologisch benachbart sind
(k, k + 1) und durch die Signale SRk und SRk+1 ausgewählt
werden können, auszuwählen. Außerdem zeigt Fig. 4
diejenigen Teile des Decodierers 4 und der Sperrschaltung 5,
die auf zwei Zeilen (i, i + 1) der Hauptmatrix bezogen
sind und die durch die Signale SRi und SRi+1 ausgewählt
werden können.
-
Der Decodierer 15A der Auswahlschaltung enthält einen
ersten Komparator 21, der an seinen Eingängen die Adresse
der momentanen Zeile X und den besonderen Wert der
Zeilenadresse, der im Register RXk des Adressenspeichers 19
enthalten ist, empfängt. Dieser besondere Wert ist
beispielsweise die Adresse Xi der Zeile i der Hauptmatrix.
Um die Logik des Decodierers 15A zu vereinfachen, enthält
das Register RXk eine Zelle vk, deren logischer Zustand
die Gültigkeit der im Register RXk enthaltenen Daten
angibt. Der besondere Wert Xi wird andererseits an den
Eingang von Rechenmitteln 23 angelegt, die die Summe aus
ihrem Eingangswert und einem Inkrementierungswert D
bilden können. Ein zweiter Komparator 22 empfängt an
seinen Eingängen die momentane Adresse X und den von den
Rechenmitteln 23 berechneten Wert. Wenn daher der im
Register RXk enthaltene besondere Wert durch den Zustand
der Zelle vk validiert ist, liefern die
Komparatorschaltungen 21 und 22 Vergleichssignale HITk bzw. HITK+1, die
an die Sperrschaltung 16A übertragen werden. Unter der
Voraussetzung, daß der Invalidierungsanzeiger Dk, der den
entsprechenden Zeilen k und k + 1 zugeordnet ist, inaktiv
ist, bilden die Signale HITk und HITk+1 die
Auswahlsignale SRK bzw. SRk+1 der redundanten Zeilen k bzw.
k + 1.
-
Somit wird als Inkrementierungswert D der Abstand
zwischen den Adressen von zwei Zeilen (beispielsweise den
benachbarten Zeilen i und i + 1) der Hauptmatrix gewählt,
wobei die Auswahlschaltung die redundanten Zeilen k und
k + 1 anstelle der Zeilen i bzw. i + 1 der Hauptmatrix
wählt. Selbstverständlich werden die Zeilen i und i + 1
vor der Programmierung der entsprechenden
Invalidierungsanzeiger Di bzw. Di+1 deaktiviert.
-
Wie oben erläutert worden ist, erfordert ein Kurzschluß
zwischen zwei (benachbarten) Wortleitungen eine parallele
Programmierung vor der Löschung. Es empfiehlt sich daher,
diesen Fall vorzusehen, indem die Aktivierung der
Auswahlsignale trotz der Invalidierungsanzeiger zugelassen
wird. Für die Zeilen der Hauptmatrix kann diese Zulassung
mittels Signalen der Programmierung vor der Löschung Pi
und Pi+1 gemäß dem Schema der in der Figur gezeigten
Sperrschaltung 5 erfolgen.
-
Was die redundanten Zeilen betrifft, kann die parallele
Programmierung vor der Löschung einfacher dadurch
verwirklicht werden, daß die Rechenmittel 23 so beschaffen
sind, daß sie durch ein Signal Pe gesteuert werden
können, damit sie einen Ausgangswert liefern, der mit dem
Eingangswert übereinstimmt. Wenn daher das Signal Pe
aktiv ist, ruft das Auftreten einer momentanen Adresse X,
die gleich dem besonderen Wert Xi ist, die gleichzeitige
Aktivierung der Vergleichssignale HITk und HITk+1 hervor.
Da somit der Invalidierungsanzeiger Dk durch das Signal
Pe deaktiviert wird, werden die Zeilen k und k + 1 durch
die gleichzeitig aktiven Auswahlsignale SRk und SRk+1
gleichzeitig ausgewählt. Selbstverständlich ist diese
Möglichkeit der gleichzeitigen Auswahl mehrerer Zeilen
vor allem dann nützlich, wenn diese Zeilen topologisch
benachbart sind, weil die Fälle eines Kurzschlusses
zwischen entfernten Zeilen viel unwahrscheinlicher sind.
-
Die eben beschriebene Ausführungsform ist
selbstverständlich nicht beschränkend. Es können zahlreiche Varianten,
die im Bereich des Wissens des Fachmanns liegen,
hinzugefügt werden. Insbesondere kann die Auswahlschaltung in
der Weise abgewandelt werden, daß zusätzliche Zeilen
ausgewählt werden, indem andere Rechenmittel und andere
Komparatoren vorgesehen werden. Es ist außerdem möglich,
die Rechenmittel von mehreren Komparatoren derselben
Auswahlschaltung oder mehrerer verschiedener
Auswahlschaltungen durch geeignete Multiplexierungsmittel, die
während einer Initialisierungsphase nach jedem Anlegen
der Spannung an den Speicher gesteuert werden, gemeinsam
zu nutzen.
-
Gemäß dem Schema von Fig. 5 können die Rechenmittel
vorteilhaft mittels einer Inkrementierungsschaltung 23A
verwirklicht sein, die aus einer verdrahteten
Logikschaltung gebildet ist, die so beschaffen ist, daß sie einen
festen Inkrementierungswert liefert. Dieser Schaltung 23A
ist dann ein Multiplexer 23B zugeordnet, der durch das
Signal Pe gemäß dem in der Figur gezeigten Schema
gesteuert wird.