-
Diese Erfindung betrifft integrierte Schaltkreise. Ihr
Gegenstand ist eine elektrisch programmierbare,
nichtflüchtige bistabile Kippschaltung. Sie ist im wesentlichen, aber
nicht ausschließlich, dazu bestimmt, in einer
Speicherredundanzschaltung eines integrierten Schaltkreises verwendet zu
werden.
-
Um die Erfindung in dem Zusammenhang, in dem sie entwickelt
wurde, verständlich zu machen, werden zunächst
zusammenfassend die Prinzipien der heute in Großraumspeichern
verwendeten Redundanzschaltungen in Erinnerung gerufen.
-
Die Redundanzschaltungen eines Speichers kommen zum Einsatz,
wenn in den Reihen (Wortleitungen für das Adressieren des
Speichers) oder den Spalten (Bitleitungen für den Transport
der aus dem Speicher zu lesenden oder in ihn zu schreibenden
Daten) Fehler auftreten.
-
Wenn beispielsweise eine Spalte defekt ist, wird sie
folgendermaßen durch eine Redundanzspalte ersetzt: Die Adresse der
defekten Spalte wird in einem Speicher für Defekt-Adressen
gespeichert; dieser Speicher für Defekt-Adressen ist ein
Speicher, der über seinen Inhalt adressierbar ist (im
folgenden CAM-Speicher genannt) jedesmal, wenn eine Adresse im
Hauptspeicher aufgerufen wird, wird diese Adresse ebenfalls
im CAM-Speicher aufgerufen. Wenn die angelegte Adresse
identisch mit der gespeicherten Adresse ist, schaltet sich eine
Redundanzschaltung ein und bewirkt, daß die defekte Spalte
ausgeschaltet und an ihrer Stelle eine Redundanzspalte
eingeschaltet wird, und zwar für den Benutzer nicht sichtbar.
-
In der Praxis wird je nach der Organisation des
Hauptspeichers im Falle einer defekten Spalte vielmehr eine
Spaltengruppe, die diese defekte Spalte beinhaltet, durch eine
Redundanzspaltengruppe ersetzt: Wenn eine Spaltengruppe durch
ein Adreßbit des Großraumspeichers definiert ist, wird im
allgemeinen diese Spaltengruppe insgesamt ersetzt. Im
folgenden wird zur Vereinfachung lediglich vom Ersetzen einer
Spalte anstatt vom Ersetzen einer Spaltengruppe gesprochen.
-
Bei einem Hauptspeicher mit mehreren Megabits ist die
Möglichkeit vorgesehen, mehrere Defekte zu reparieren; es sind
daher ebenso viele Redundanzspalten vorhanden wie
fehlerhafte Spalten oder Linien, die repariert werden können
sollen. Es ist jeder Redundanzspalte ein CAM-Speicher
zugeordnet, der die Adresse einer defekten Spalte enthält. Wenn
N Defekte repariert werden sollen, sind N Redundanzspalten
und N CAM-Speicher erforderlich. Bei einem Speicher mit 4
oder 16 Megabit ist typischerweise N=36.
-
Wenn eine Spalte des Hauptspeichers durch eine Adresse mit M
Bits (z. B. M=5) bezeichnet wird, enthält jeder CAM-Speicher
mindestens M+1 Bits : M Bits, um die Adresse einer defekten
Spalte zu definieren, und ein Freigabebit, um anzugeben, daß
die diesem CAM-Speicher entsprechende Redundanzschaltung
tatsächlich aktiviert werden soll, wenn die Defekt-Adresse
im CAM-Speicher zur Anwendung kommt.
-
Zur Herstellung der CAM-Speicher wurden zunächst Gruppen von
physischen Sicherungen verwendet, die elektrisch oder mit
Laserstrahl mit einem Gate versehen wurden, wobei jede
Sicherung ein Adreßbit oder ein Freigabebit darstellte.
Diese Sicherungen hatten Nachteile (hinsichtlich
Zuverlässigkeit, Platzbedarf, Verbrauch, Programmierprobleme) und
wurden rasch durch nicht löschbare, nichtflüchtige
Speicherzellen ersetzt. Letztere hatten ebenfalls Nachteile (hoher
Stromverbrauch), und man wandte sich immer mehr der
Verwendung von programmierbaren bistabilen Kippschaltungen zu, die
für jedes Adreßbit oder Freigabebit zwei Transistoren mit
Floating Gate aufwiesen.
-
Fig. 1 zeigt eine nichtflüchtige, programmierbare bistabile
Kippschaltung nach dem bisherigen Stand der Technik, die
eine Zelle zum Speichern eines Defekt-Adressen-Bit (oder
eines Freigabebit) bildet und damit eine der M+1 Zellen
eines Defekt-Adressen-CAM-Speichers bildet.
-
Der Ausgang OUT dieser Zelle ist je nach dem Zustand, in dem
die Kippschaltung programmiert ist, auf einem logischen
Pegel 0 oder 1. Dieser Ausgang legt also den Wert eines
Adreßbit (oder den Wert eines Freigabebit) fest.
-
Wenn die Zelle einem der M Defekt-Adressen-Bits entspricht,
wird der Ausgang jeder Zelle dieser M Adressen-Bits an einen
Eingang eines Exklusives-ODER-Glieds (nicht dargestellt)
angelegt. Das Exklusives-ODER-Glied empfängt an einem
anderen Eingang ein entsprechendes, durch den Hauptspeicher
empfanges Adreßbit; die Ausgänge der Exklusives-ODER-Glieder,
die den verschiedenen Adreßbits ein und desselben Defekt-
Adressen-Speichers entsprechen, werden an einen Eingang
eines NOR-Glieds (nicht dargestellt) angelegt; der Ausgang
des letzteren gibt nur dann einen logischen Pegel von 1 ab,
wenn zwischen allen angelegten Adreßbits und allen
entsprechenden Bits des Defekt-Adressen-Speichers Übereinstimmung
besteht. Der Ausgang des NOR-Gliedes wird durch den Ausgang
der dem Freigabebit entsprechenden Speicherzelle,
beispielsweise mittels eines UND-Gliedes (nicht dargestellt),
freigegeben. Der Ausgang des UND-Gliedes ist der Ausgang des
CAM-Speichers und dient dazu, jedesmal, wenn die im
Hauptspeicher aufgerufene Adresse der gespeicherten Defekt-
Adresse entspricht, eine Redundanzspur einzuschalten.
-
Im allgemeinen Fall sind N Defekt-Adressen-Speicher
vorhanden, beispielsweise N=36. Beim Test des Hauptspeichers löst
das Erkennen einer defekten Spalte das Speichern der Adresse
dieser Spalte in einem der CAM-Speicher aus. So werden die
einzelnen CAM-Speicher nacheinander im Maße der Erkennung
der Defekte programmiert. Bei Normalbetrieb des
Hauptspeichers kommen dessen Adressen gleichzeitig in allen
CAM-Speichern zur Anwendung. Wenn zwischen der angelegten Adresse
und der in einem von diesen gespeicherten Adresse
Übereinstimmung besteht, wird die dieser entsprechende
Redundanzspur eingeschaltet.
-
Um eine Defekt-Adresse in einem CAM-Speicher programmieren
zu können, wird vorgesehen, daß ein jeweiliges Adreßbit des
Hauptspeichers an jede Zelle des CAM-Speichers angelegt
wird. Die Programmierung erfolgt auf Befehl des Testgeräts
bei Erkennung eines Defekts bei der gerade im Test
befindlichen Adresse.
-
Die in Fig. 1 dargestellte einzelne Speicherzelle weist zwei
Zweige mit einem Transistor mit Floating Gate TGF1, TGF2 in
jedem Zweig auf; die Zweige sind so ausgeführt, daß sie eine
bistabile Kippschaltung bilden, sobald einer dieser beiden
Transistoren programmiert ist; der Zustand der
Kippschaltung, der durch den Ausgang OUT dargestellt wird und einem
Adreßbit oder einem Freigabebit entspricht, ist damit
abhängig von demjenigen der beiden Transistoren, der programmiert
ist. Zu Beginn sind die beiden Transistoren in
unprogrammiertem Zustand oder unbenutztem Zustand. Beim Speichertest
wird einer der beiden Transistoren programmiert, um entweder
0 oder 1 am Ausgang OUT der Zelle zu erhalten, wodurch ein
endgültiger stabiler Zustand 0 oder 1 der Zelle definiert
wird.
-
Genauer ausgedrückt, besteht die Zelle von Fig. 1 aus zwei
identischen Zweigenr die zwischen einer Versorgungsklemme A
(Potential Vcc in der Größenordnung von 3 V) und einer
Klemme B parallel geschaltet sind; die Klemme B befindet sich im
Lese- oder Programmiermodus auf einem Potential VS null und
kann im Löschmodus auch auf ein angehobenes Potential VS (12
V) gebracht werden, wenn ein Löschmodus vorgesehen ist
(Flash EPROM); in jedem Zweig sind ein P-Kanal-Transistor
(T1, T2), ein N-Kanal-Transistor (T3, T4) und ein Transistor
mit Floating Gate (TGF1, TGF2) in Reihe geschaltet. Das Gate
des P-Kanal-Transistors (T1, T2) des einen Zweiges ist mit
dem Drain des P-Kanal-Transistors des anderen Zweiges
verbunden. Die Gates der N-Kanal-Transistoren (T3, T4) liegen
auf einem gemeinsamen Potential VB, dessen Wert von dem
Betriebsmodus abhängt (ca. 1,8 Volt beim Lesen; null Volt
beim Programmieren oder Löschen, um beim Lesen 1 Volt am
Drain der Zellen zu erhalten). Die Transistoren T3 und T4
sind Isolationstransistoren, um das Übergreifen der relativ
hohen Spannungen, die im Programmier- oder Löschmodus an die
Floating Gate-Transistoren angelegt werden, auf die
Transistoren T1 und T2 zu verhindern. Die Gates der Transistoren
mit Floating Gate TGF1, TGF2 sind mit einem gemeinsamen
Potential VGF verbunden, das von dem Betriebsmodus abhängt
(ca. 3 V beim Lesen, 12 V beim Programmieren). Die Source
dieser Transistoren ist mit dem Knoten B (Potential VS)
verbunden. Die Drain-Potentiale der Transistoren mit Floating
Gate werden von den Transistoren T5 bzw. T6 gesteuert, die
ermöglichen, daß der Drain mit einem Programmierpotential
VPRG verbunden werden kann (Transistor T5 oder T6 leitend)
oder der Drain auf hoher Impedanz belassen werden kann
(Transistor T5 oder T6 sperrend). Im Programmiermodus wird
das Gate des Transistors T5 durch ein Programmiersignal PROG
und das Gate von T6 durch ein Komplementärsignal NPROG
gesteuert. Auf diese Weise wird je nach Zustand des Signals
PROG gewählt, welcher der beiden Transistoren mit Floating
Gate programmiert werden soll und welcher unprogrammiert
bleiben soll. Im Lesemodus bleibt der Drain der Transistoren
T5 und T6 auf hoher Impedanz, da die Spannung VPRG nicht an
diese Drains angelegt wird.
-
Die Zelle wird "bistabil" genannt, da sie bei zwei möglichen
Zuständen einen stabilen Zustand besitzt, wobei der stabile
Zustand, den sie einnimmt, davon abhängt, welcher der
beiden Transistoren programmiert wurde. Der Zustand der Zelle
wird am Drain eines der P-Kanal-Transistoren (z. B. T2)
gelesen. Dieser Drain ist mit dem Eingang eines ersten
Inverters INV1, auf den ein zweiter Inverter INV2 folgt,
verbunden. Der Ausgang von INV2 ist der Ausgang OUT der Zelle. Der
Ausgang von INV1 dient bei Bedarf als Komplementärausgang
NOUT.
-
Schließlich kann mit einem zusätzlichen Transistor T7 nur im
Testmodus zur Vermeidung von schwimmenden Knoten bei
gesperrten T3 und T4 der Eingang des Inverters INV1
vorübergehend auf Masse gelegt werden (um den Zustand der Zelle bei
jedem erneuten Einschalten zu initialisieren) ; das Gate
dieses Transistors wird durch einen
Initialisierungs-Strobeimpuls INIT gesteuert, der von einem herkömmlicheen
Einschalt-Schaltkreis ("Power On Reset") , der nicht dargestellt
ist, erzeugt wird.
-
Diese Erfindung hat zur Aufgabe, die Flip-Flop-Zellen des
bisherigen Standes der Technik dahingehend zu verbessern,
daß sie effektiver gemacht werden, insbesondere bei den
Anwendungen der oben beschriebenen Art (Speicherredundanz).
-
Erfindungsgemäß wird jeweils ein Isoliertransistor zwischen
den Drain eines Transistors mit Floating Gate und den
Transistor (T5 bzw. T6) geschaltet, der dazu dient, eine
Programmierspannung an diesen Drain anzulegen.
-
Die Erfindung betrifft also eine programmierbare
Speicherzelle, die aus zwei Transistoren mit Floating Gate und einer
bistabilen Kippschaltung besteht, deren Zustand durch
Programmieren eines der beiden Transistoren mit Floating Gate
definiert wird, die zudem zwei Transistoren aufweist, um
wahlweise nur an einen der beiden Transistoren mit Floating
Gate eine Spannung anzulegen, die dessen Programmierung
ermöglicht, wobei der andere diese Spannung nicht empfängt,
die dadurch gekennzeichnet ist, daß zwischen jeden
Transistor zum Anlegen der Programmierspannung und dem Drain des
entsprechenden Transistors mit Floating Gate ein
Isoliertransistor geschaltet wird.
-
Die Erfindung ist auf eine Speicherzelle des Typs von Fig. 1
anwendbar, d. h. eine Zelle, die zwei Zweige aufweist, wobei
jeder Zweig einen P-Kanal-Transistor in Reihe mit dem
jeweiligen Transistor mit Floating Gate dieses Zweigs enthält,
wobei der Drain des P-Kanal-Transistors des einen Zweiges
mit dem Gate des P-Kanal-Transistors des anderen Zweiges
verbunden ist.
-
Die Isoliertransistoren werden im Programmiermodus für die
betreffende Zelle leitend gemacht, können jedoch bei anderen
Funktionsmodi (insbesondere im Programmiermodus für andere
Reihen von Flip-Flop-Zellen und vor allem im Lesemodus)
gesperrt werden.
-
Diese Isoliertransistoren reduzieren insbesondere stark den
Einfluß der Signale, die in den Programmierpfaden der
einzelnen Zellen laufen. Bei der Anwendung als Redundanz eines
Hauptspeichers bestehen diese Programmierpfade in den
Schaltkreisen, die von den Adressendekodern des
Hauptspeichers bis zu den Transistoren mit Floating Gate führen. Die
in diesen zirkulierenden Signale können aufgrund der
Störkapazitäten eine indirekte und unerwünschte Auswirkung auf
die Funktionen der bistabilen Kippschaltung und insbesondere
auf deren Zustand haben.
-
Die erfindungsgemäßen Isoliertransistoren können, wenn sie
gesperrt werden, die Auswirkung dieser Störeffekte
einschränken.
-
Die Erfindung ist insbesondere bei Speichern in integrierten
Schaltkreisen mit einem Hauptspeicher und Redundanzspeichern
anwendbar; die Speicherzellen dienen dazu, Adressen von
defekten Elementen des Hauptspeichers zu speichern. Die
Isoliertransistoren werden vorzugsweise durch ein aktives
Signal gesteuert, das sie leitend macht, wobei das aktive
Signal von Testschaltungen an eine Speicherzellengruppe
abgegeben wird, wenn eine Adresse eines defekten Elements in
dieser Gruppe gespeichert werden soll. Dieses Signal wird im
normalen Verwendungsmodus des Speichers nichtaktiv
geschaltet.
-
Die Merkmale und Vorteile der Erfindung gehen aus der
folgenden detaillierten Beschreibung unter Bezugnahme auf die
beigefügten Zeichnungen hervor, wobei
-
- Fig. 1, wie bereits beschrieben, eine bekannte
Speicherzelle darstellt,
-
- Fig. 2 eine Ausführungsform einer erfindungsgemäßen Zelle
darstellt.
-
In Fig. 2 ist eine erfindungsgemäße nichtflüchtige
Speicherzelle dargestellt. Sie ist im wesentlichen wie die von Fig.
1 aufgebaut, aber mit zwei zusätzlichen Transistoren, die im
folgenden Isoliertransistoren genannt werden. Die in
Hinsicht auf Fig. 1 erfolgte Beschreibung ist auch für Fig. 2
gültig, mit den folgenden Änderungen: ein erster
Isoliertransistor T15 ist zwischen den Transistor T5 (Transistor
zum Anlegen der Programmierspannung VPRG) und den Drain des
Transistors mit Floating Gate TGF1 geschaltet. Ein zweiter
Isoliertransistor T16 ist zwischen den Transistor T6
(zweiter Transistor zum Anlegen der Programmierspannung VPRG) und
den Drain des anderen Transistors mit Floating Gate TGF2
geschaltet.
-
Die Transistoren T15 und T16 werden im Prinzip durch ein und
dasselbe Signal CAMSEL gesteuert.
-
Das Signal CAMSEL ist dergestalt beschaffen, daß die
Transistoren T15 und T16 im Lesemodus gesperrt und im
Programmiermodus der Zelle leitend sind. Es kann vorgesehen werden,
daß das Signal CAMSEL auf aktivem Pegel (der die
Transistoren leitend macht) zugleich an alle Flip-Flop-Zellen einer
Zellengruppe abgegeben wird und daß es nicht an die anderen
Zellengruppen abgegeben wird. Bei der Anwendung der
Redundanz eines Hauptspeichers bedeutet dies, daß beim
Speichertest eine Defekt-Adresse gefunden werden kann und eine
Programmierung dieser Adresse in einer Gruppe von Zellen
stattfindet, die zur Speicherung einer Defekt-Adresse bestimmt
ist. Diese Gruppe von Zellen empfängt dazu das Signal CAMSEL
auf aktivem Pegel. Die anderen Gruppen von Zellen (die
bereits gespeicherten Defekt-Adressen entsprechen oder für
den weiteren Ablauf des Speichertests noch frei sind)
empfangen das Signal CAMSEL nicht, und die Programmierspannung
VPRG kann nicht an sie angelegt werden. Das Signal CAMSEL,
das normalerweise nichtaktiv ist, wird dabei von den
(internen und/oder externen) Testschaltungen des Hauptspeichers
abgegeben und wird für die einzelnen Gruppen von Zellen
nacheinander je nachdem, wie Defekte gefunden werden und das
Speichern einer Adresse erforderlich machen, auf das aktive
Niveau gesetzt.
-
Im Lesemodus bleibt das Signal CAMSEL nichtaktiv; die
Transistoren T15 und T16 bleiben gesperrt. Die Spannung VPRG muß
im Lesemodus auch nicht an die Drains der Transistoren mit
Floating Gate übertragen werden. Für die Anwendung des
Speicherns von Defekt-Adressen eines Hauptspeichers ist der
Lesemodus der normale Funktionsmodus, da das Programmieren
der Zellen nur beim Hauptspeichertest stattfindet.
-
Im Lesemodus empfangen die Gates der Transistoren T5 und T6
ständig die an den Hauptspeicher angelegten Adressensignale.
Obwohl die Drains dieser Transistoren keine Spannung
erhalten (Drains auf hoher Impedanz), besteht die Gefahr, daß
durch die kapazitive Kopplung jeweils zwischen Gate und
Source der Transistoren T5 und T6 Störsignale an den Drain
der jeweiligen Transistoren mit Floating Gate übertragen
werden, die den Zustand der Zelle unstabil machen und die
Ausgänge OUT, NOUT stören können. Die Isoliertransistoren
T15, T16 verhindern diese Möglichkeit.
-
Die Erfindung kann auch auf andere Arten von Flip-Flop-
Zellen angewendet werden. Beispielsweise kann sie auf die
Arten von Zellen angewendet werden, die in gleichzeitig
eingereichten Patentanmeldungen beschrieben werden, bei denen
ein Zusatztransistor, der durch den Ausgang OUT gesteuert
wird, zwischen den Transistor T2 und den Transistor T4
geschaltet ist, oder bei denen das Programmieren nicht durch
Anlegen einer Spannung von 5 bis 7 V an den Drain mit der
Source an der Masse erfolgt, sondern stattdessen durch
Anlegen einer Spannung von 5 bis 7 V an die Source, wobei
der Drain für den zu programmierenden Transistor an die
Masse gelegt und für den nicht zu programmierenden
Transistor auf hoher Impedanz gelassen wird. In letzterem Fall ist
die zu berücksichtigende Programmierspannung VPRG das
Massepotential.