-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung bezieht sich auf Flash-Speicher und insbesondere
auf redundante Spalten für
Flash-Speicher.
-
STAND DER TECHNIK
-
1 zeigt
eine Flash-Speichervorrichtung 100, die üblicherweise
eine oder mehrere als 102 gezeigte Speicheranordnungen
oder -unteranordnungen enthält,
die in n Zeilen und m Spalten von Flash-Speicherzellen organisiert
sind. Zum Beispiel weist eine beispielhafte 8-MBit-Speicheranordnung m
= 4096 Zeilen und m = 2048 Spalten auf. Eine 23-Bit-Adresse für eine Bestimmte
der Speicherzellen in der Anordnung 102 wird an einen Vordecodierer 104 angelegt.
Der Vordecodierer 104 liefert auf einem Zeilenadressenbus 106 12
Zeilenadressenbits an einen Zeilendecodierer 108. Außerdem liefert
der Vordecodierer 104 auf einem Spaltenadressenbus 110 11
Adressenbits an einen Spaltendecodierer 112.
-
Um
auf eine bestimmte Zeile zuzugreifen, liefert der Zeilendecodierer 108 auf
einer von 4096 Zeilendecodierer-Ausgangsleitungen
in einem Bus 114 ein Zeilenauswahlsignal, wobei jede der
4096 Zeilendecodierer-Ausgangsleitungen mit einem jeweiligen von
4096 Zeilenauswahlanschlüssen
der Speicheranordnung 102 gekoppelt ist.
-
Die
2048 Spalten sind in 16 Gruppen von 128 Spalten angeordnet. Die
Spalten sind an einem 2048-Leitungs-Bus 116 zwischen die
2048 Spalten der Speicheranordnung 102 und 2048 jeweilige
Decodierer in dem Spaltendecodierer 112 gekoppelt. Die
2048 Decodierer sind zum Abfühlen
gekoppelt und fühlen
die Schaltungsanordnung 120 über einen 2048-Leitungs-Bus 118 ab.
Die Abfühleinrichtung und
Abfühlschaltungsanordnung
(sense and sense circuitry) 120 ist an einen Datenbus 122 mit
sechzehn Eingangs/Ausgangs-Leitungen
(E/A-Leitungen) gekoppelt. Die Leseverstärkerschaltungen 120 werden zum
Lesen der Inhalte der ausgewählten
Speicherzellen verwendet. Während
einer Schreib- oder Änderungsoperation
werden die Leseverstärkerschaltungen 120 zum Überprüfen der
Richtigkeit der Inhalte geänderter
Zellen verwendet.
-
Im
Allgemeinen kann die Anzahl der Daten-E/A-Leitungen einer Speichervorrichtung
1 Bit, ein Byte (8 Bits), ein Wort (16 Bits) oder ein Doppelwort
(32 Bits) sein. Wie zuvor erwähnt
wurde, sind die Speicherspalten in Gruppen angeordnet, wobei jede Gruppe
einem bestimmten Ausgangsbit entspricht. Wenn z. B. die Datenausgabe
einer Speichervorrichtung ein 16-Bit-Wort ist, sind die Spalten
intern in 16 Gruppen angeordnet, wobei jede Gruppe eine Anzahl ihr
zugewiesener Spalten aufweist. Während
einer Leseoperation oder einer Überprüfungsoperation werden
16 Spalten, eine aus jeder Gruppe von Spalten, zusammen mit einer
Zeilenauswahl ausgewählt, sodass
16 Speicherzellen gelesen oder überprüft werden.
Jede der 16 Zellen liefert eines der 16 Bits der Datenausgabe. Das
heißt,
dass für
jede an die Speichervorrichtung angelegte Adresse wenigstens 16
Flash-Speicherzellen parallel ausgewählt werden.
-
2 ist
ein Diagramm, das veranschaulicht, wie Spalten entsprechend einem
Bit eines 16-Bit-Ausgangsworts in Gruppen angeordnet sind. Zum Beispiel
ist eine Speicheranordnung mit 2048 Spalten in Bezug auf einen der
sechzehn E/A-Ausgänge
für jede
Gruppe in 16 Spaltengruppen mit 128 Spalten angeordnet. In 2 ist
eine typische Spaltengruppe 130 für das <0>-Bit
eines 16-Bit-Worts mit Bit <0> bis Bit <15> veranschaulicht. Die
128 Spaltenleitungen von der typischen Spaltengruppe 130 sind über einen
Bus 132 mit 128 Spaltenleitungen mit entsprechenden typischen
Spaltendecodierer-/Leseverstärkerschaltungen 134 gekoppelt, die
ein DATA<0>-E/A-Bit aufweisen,
das auf einer Signalleitung 136 geliefert wird. Fünfzehn weitere ähnliche
Spaltengruppen und entsprechende Spaltendecodierer-/Leseverstärkerschaltungen
liefern jeweilige E/A-Bits
DATA<1> bis DATA<15>.
-
Während der
Herstellung von Flash-Speichervorrichtungen können einige Flash-Speicherzellen
in der Speicheranordnung 102 defekt sein und falsch arbeiten.
Eine defekte Speicherzelle kann verhindern, dass zur Speicherung
in dieser defekten Speicherzelle bestimmte Speicherdaten richtig
gelesen oder geändert
werden. Um die Wirkung defekter Flash-Speicherzellen auf die Produktausbeute
zu verringern, werden häufig
redundante Flash-Speicherzellen genutzt, um wahlweise normale Flash-Speicherzellen,
die während
einer Vorrichtungstestphase ein falsches Verhalten zeigen, zu ersetzen.
Um die Adressen defekter Flash-Speicherzellen
zu speichern, sind eines oder mehrere nichtflüchtige redundante Adressenregister
bereitgestellt.
-
3 veranschaulicht
ein herkömmliches redundantes
Spaltensystem 150 eines Flash-Speichers für eine Speicheranordnung.
Die Speicheranordnung enthält
eine reguläre
Flash-Speicheranordnung 152, die mit einer regulären Spaltendecodiererschaltung 154 gekoppelt
ist. Eine redundante Speicheranordnung 156 ist mit einem
redundanten Spaltendecodierer 158 gekoppelt. Der reguläre Spaltendecodierer 154 ist
mit regulären
Abfühleinrichtungen 160 gekoppelt
und der redundante Spaltendecodierer 158 ist mit redundanten
Abfühleinrichtungen 162 gekoppelt.
Die regulären
Abfühleinrichtungen 160 weisen
z. B. sechzehn E/A-Leitungen 164 auf, die zum Übertragen
von Daten in das und aus dem Speicheranordnungssystem verwendet
werden.
-
Eine
Befehlsanwenderschnittstellenschaltung (CUI-Schaltung) 170 empfängt an einem
Anschluss 172 ein Schreibfreigabesignal (WE-Signal) und
liefert an die Abfühleinrichtungen 160 auf
der Signalleitung 174 ein Ausgangssignal LOAD_PL. Das LOAD_PL-Signal
ist ein Signalimpuls, der durch die steigende Flanke des WE-Signals
erzeugt wird. Der LOAD_PL-Impuls löst die Zwischenspeicherung
von Daten und Adressen in den reguläreren Abfühleinrichtungen 160 aus.
-
Die
redundanten Adressenregister 180 speichern die Adressen
defekter Speicherzellen, die an eine redundante Logikschaltung 182 geliefert
werden. Außerdem
werden an die redundante Logikschaltung 182 Eingabespeicheradressen
geliefert. Die redundante Logikschaltung 182 vergleicht
die Eingabespeicheradressen mit den Adressen defekter regulärerer Speicherzellen,
die durch die redundanten Adressenregister 180 geliefert
werden. Für
einen positiven Vergleich oder eine Anpassung aktiviert die redundante
Logikschaltung 182 außerdem
ein Bestimmtes der 2048 SENSE_DISAB-Signale auf einem 2048-Bit-Bus 184,
um ein Abfühlen
einer defekten Speicherzelle zu sperren, und aktiviert sie außerdem mit
einem von vier auf einem Bus 166 gelieferten REDUNDANT_ON-Signalen
eine von 4 (in diesem Beispiel) redundanten Abfühleinrichtungen 162.
-
Zusammengefasst
werden die einer gegebenen Lese- oder Schreibspeicheroperation zugeordneten
Eingabeadressen mit allen Adressen verglichen, die in den redundanten
Adressenregistern 180 gespeichert sind. Falls eine Eingabead resse
an eine der Adressen einer defekten Speicherzelle angepasst ist,
die in den redundanten Adressenregistern 180 gespeichert
ist, schaltet die redundante Logikschaltung 182 einen normalen
Adressendecodierungsweg mit einem der 2048 SENSE_DISAB-Signale auf
dem 2048-Bit-Bus 184 und eine zugeordnete Abfühlschaltung
ab und gibt alternativ die redundanten Abfühleinrichtungen 162 frei.
-
Herkömmlich werden
die während
einer Schreib- oder Programmieroperation an Flash-Speicherplätze zu schreibenden
Daten für
eine Überprüfungsoperation
lokal in jeder Abfühlschaltung
gespeichert. Die Abfühlschaltung
vergleicht nach der Überprüfungsoperation
die Abfühlausgabe
mit den zu schreibenden Daten und steuert die zugeordnete Bitleitungsspannung
in Übereinstimmung
mit dem Vergleichsergebnis so, dass die Schreiboperation entweder
freigegeben oder gesperrt wird. Jede der redundanten Speicherzellen
weist ihre eigene Abfühleinrichtung
und Abfühlschaltung
auf. Eine an den Speicher angelegte externe Eingabeadresse wird
mit den Inhalten der redundanten Adressenregister 180 verglichen.
Falls bei einer in den redundanten Adressenregistern gespeicherten
Spaltenadresse einer defekten Speicherzelle eine Anpassung auftritt,
werden redundante Schaltungen aktiviert. Die redundanten Schaltungen
sperren die der defekten Speicherzelle zugeordnete Abfühleinrichtung
und die Abfühlschaltungen
und aktivieren die Abfühleinrichtung
und die Abfühlschaltungen
für die
redundante Zelle.
-
Die
Anzahl der während
einer Schreib- oder Programmieroperation aktivierten Abfühleinrichtungen
entspricht der Anzahl der parallel zu programmierenden Zellen. Um
einen hohen Programmdurchsatz zuzulassen, kann diese Anzahl in einigen Flash-Speichervorrichtungen
sehr hoch sein. Um die Anzahl redundanter Zellen, die zu der Speicheranordnung
hinzugefügt
werden müssen,
zu minimieren, ist es ef fizienter, den Ersatz einer einzelnen Abfühlschaltung
durch eine redundante Abfühlschaltung zuzulassen.
Auf diese Weise wird nur eine defekte Speicherzelle durch eine redundante
Zelle ersetzt, während
alle anderen funktionierenden Zellen, die dieselbe Adresse wie die
defekte Speicherzelle gemeinsam nutzen, nicht ersetzt werden. Zum
Beispiel hat die Speichervorrichtung für einen 2048-Bit-Programmpuffer für 2048 Zellen,
die parallel beschrieben werden, 2048 Abfühleinrichtungen und Abfühlschaltungen,
die die Überprüfungsoperation
ausführen
und die Bitleitungsspannung steuern. Dies erfordert einen 2048-Bit-Bus,
um jede der 2048 Abfühleinrichtungen
ausschalten zu können.
Falls es für
die Speichervorrichtung sechzehn E/A-Bits gibt, gibt es für jedes der sechzehn E/A-Bits
128 Steuerdrähte.
Im Ergebnis sind eine große
Menge an Schaltungen notwendig, um jede der redundanten Abfühleinrichtungen
laden und aktivieren zu können.
-
In
redundanten Spaltensystemen des Standes der Technik wird während des
Befehlszyklus kein Adressenvergleich ausgeführt. Tatsächlich werden in Vorrichtungen
des Standes der Technik durch einen Anwender gelieferte Daten in
die Abfühleinrichtungen
eines Programmpuffers geladen und werden die Adressenvergleiche
während
der Ausführung
eines eingebetteten Programmalgorithmus zu einem späteren Zeitpunkt
ausgeführt.
Somit ist die Anzahl der Signalleitungen, die zum Sperren der Abfühleinrichtungen
des Programmpuffers erforderlich sind, in Systemen des Standes der
Technik gleich der Anzahl der Abfühleinrichtungen. In Flash-Speichervorrichtungen
wird der Programmbefehl durch ein von dem Anwender geliefertes externes
Signal getaktet, das üblicherweise ”Schreibfreigabe” (WE) genannt
wird. Im Fall eines 2048-Bits-Programmpuffers legt der Anwender
128 Wörter
(zu programmierende Daten) zusammen mit 128 Adressen (dem Platz
des Speichers, an den die Daten geschrieben werden sollen) an. Die
steigende Flanke des ”Schreibfreigabe”-Signals
zwischenspeichert die Adresse und die Daten, die an den Speicher
gegeben werden. Somit wird in jedem Zyklus des WE-Signals ein einzelnes
zu programmierendes 16-Bit-Wort zusammen mit seiner Adresse an den
Speicher angelegt. In diesem Beispiel sind zum vollständigen Füllen des
Programmpuffers 128 WE-Zyklen notwendig.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Eine
Ausführungsform
enthält
einen Speicher mit Spaltenredundanz, der eine reguläre Speicheranordnung
mit regulären
Spaltendecodierern und regulären
Abfühleinrichtungen
enthält.
Außerdem
ist eine redundante Speicheranordnung mit einem redundanten Spaltendecodierer
und redundanten Abfühleinrichtungen
enthalten. Mit einer der redundanten Abfühleinrichtungen sind redundante
Zwischenspeicher gekoppelt. Eine Redundanzvergleichslogik vergleicht
eine Adresse einer defekten regulären Speicherzelle mit den Eingabeadressen, um
für einen
defekten regulären
Speicher die regulären
Abfühleinrichtungen
zu sperren und einen entsprechenden redundanten Zwischenspeicher
freizugeben, der mit einer der redundanten Abfühleinrichtungen gekoppelt ist,
um eine redundante Spalte in der redundanten Speicheranordnung zu
aktivieren.
-
Eine
weitere Ausführungsform
für ein
Spaltenredundanzsystem ist eine redundante Speicheranordnung, die
r Spalten redundanter Speicherzellen aufweist. Es sind eine Anzahl
r redundanter Abfühleinrichtungen
vorgesehen. Zwischen die redundante Speicheranordnung und die r
redundanten Abfühleinrichtungen
ist ein redundanter Spaltendecodierer geschaltet. Die redundanten
Adressenregister speichern die Adressen defekter regulärer Speicherzellen.
Es sind redundante Zwischenspeicher in n Gruppen zu r Zwischenspeichern
vorgesehen, wobei jeder der r redundanten Zwi schenspeicher, die
eine Gruppe bilden, mit einer jeweiligen der r redundanten Spaltenabfühleinrichtungen
gekoppelt ist. Eine Redundanzvergleichslogik vergleicht die in den
redundanten Adressenregistern gespeicherten Adressen defekter regulärer Speicherzellen
mit einer externen Eingabeadresse. Falls der Vergleich wahr ist,
wird Folgendes geliefert: ein DISABLE_LOAD-Signal zum Sperren der
regulären
Abfühleinrichtungen
für eine der
n Gruppen von m Spalten, ein ENABLE_LATCH-Signal zu einer der n
Gruppen von r Zwischenspeichern zum Freigeben entsprechender redundanter
Zwischenspeicher und eines von r REDO-Signalen zu einem jeweiligen
der r redundanten Zwischenspeicher in einer der n Gruppen, die gesperrt
sind. Der ausgewählte
eine der redundanten Zwischenspeicher aktiviert eine der r redundanten Abfühleinrichtungen,
um eine der redundanten Spalten zu aktivieren.
-
Eine
weitere Ausführungsform
schafft einen Flash-Speicher mit Spaltenredundanz. Der Flash-Speicher
enthält
eine reguläre
Speicheranordnung mit n × m
Spalten regulärer
Speicherzellen, die in n Gruppen von m Spalten gesammelt sind. Eine Anzahl
von n × m
regulären
Abfühleinrichtungen
weisen n E/A-Anschlüsse
auf. Eine Befehlsanwenderschnittstelle empfängt ein Speicherfreigabesignal, um
an die n × m
regulären
Abfühleinrichtungen
ein LOAD_PL-Signal zu liefern, um den Betrieb der regulären Abfühleinrichtungen
zu initiieren. Es sind Mittel zum Sperren der n × m regulären Abfühleinrichtungen vorgesehen.
Zwischen die reguläre
Speicheranordnung und die regulären
Abfühleinrichtungen
ist ein Spaltendecodierer geschaltet. Eine redundante Speicheranordnung
weist r Spalten redundanter Speicherzellen auf. Es sind eine Anzahl
r redundanter Abfühleinrichtungen
vorgesehen. Zwischen die redundante Speicheranordnung und die r
redundanten Abfühleinrichtungen
ist ein redundanter Spaltendecodierer geschaltet. Redundante Adressenregister speichern
die Adressen defekter regulärer
Speicherzellen. Es sind redundante Zwischenspeicher in n Gruppen
von r Zwischenspeichern vorgesehen, wobei jeder der r redundanten
Zwischenspeicher aus einer Gruppe mit einer jeweiligen der r redundanten Spaltenabfühleinrichtungen
gekoppelt ist. Eine Redundanzvergleichslogik vergleicht die in den
redundanten Adressenregistern gespeicherten Adressen defekter regulärer Speicherzellen
mit einer externen Eingabeadresse. Falls der Vergleich wahr ist,
wird Folgendes bereitgestellt: Ein DISABLE_LOAD-Signal zum Sperren
der regulären
Abfühleinrichtungen für eine der
n Gruppen von m Spalten, ein ENABLE_LATCH-Signal zu einer der n
Gruppen von r Zwischenspeichern zum Freigeben entsprechender redundanter
Zwischenspeicher und eines von r REDO-Signalen zu einem jeweiligen
der r redundanten Zwischenspeicher in einer der n Gruppen, die gesperrt
ist. Der ausgewählte
eine der redundanten Zwischenspeicher aktiviert eine der r redundanten Abfühleinrichtungen,
um eine der redundanten Spalten zu aktivieren.
-
Eine
weitere Ausführungsform
enthält
ein Verfahren zum Bereitstellen einer Spaltenredundanz für einen
Speicher, das die folgenden Schritte enthält: Schalten eines redundanten
Spaltendecodierers zwischen eine redundante Speicheranordnung und
eine redundante Abfühleinrichtung;
Koppeln einer Gruppe von redundanten Zwischenspeichern mit einer
jeweiligen redundanten Spaltenabfühleinrichtung; Vergleichen
einer Adresse einer defekten regulären Speicherzelle mit externen
Eingabeadressen; Sperren regulärer
Abfühleinrichtungen;
und Freigeben eines redundanten Zwischenspeichers zum Aktivieren
einer redundanten Abfühleinrichtung
für die
redundante Speicheranordnung.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockschaltplan für
eine Flash-Speichervorrichtung der vorliegenden Erfindung.
-
2 ist
ein Diagramm, das veranschaulicht, wie 2048 Spalten in 16 Gruppen
von 128 Spalten angeordnet sind, um sechzehn E/A-Leitungen bereitzustellen.
-
3 ist
ein Blockschaltplan eines redundanten Spaltensystems eines Flash-Speichers
des Standes der Technik.
-
4 ist
ein Blockschaltplan eines redundanten Spaltensystems eines Flash-Speichers
gemäß der vorliegenden
Erfindung.
-
5 ist
ein Blockschaltplan eines Spaltendecodierers und von Abfühleinrichtungen
für eine einzelne
E/A-Leitung eines Speichersystems.
-
6 ist
ein Blockschaltplan, der vier redundante Zwischenspeicher veranschaulicht,
die eine von vier redundanten Abfühleinrichtungen freigeben.
-
7 ist
ein Stromlaufplan einer redundanten Zwischenspeicherschaltung, die
einen Open-Drain-Ausgang aufweist.
-
AUSFÜHRLICHE BESCHREIBUNG
-
4 veranschaulicht
eine beispielhafte Ausführungsform
eines redundanten Spaltensystems 300 eines Flash-Speichers
gemäß der vorliegenden
Erfindung. Zur Veranschaulichung der Erfindung wird eine reguläre 8-MBit-Flash-Speicheranordnung 302 mit
4096 Zeilen und 2048 Spalten diskutiert. Die Spalten der regulären Flash-Speicheranordnung 302 sind
mit regulären
Spaltendecodiererschaltungen 304 gekoppelt. Für Daten,
die ursprünglich
für die
Speicherung in einer der defekten Speicherzellen in der regulären Flash-Speicheranordnung 302 bestimmt
waren, ist eine redundante 4-Spalten-Anordnung 306 vorgesehen.
Die redundante 4-Spalten-Anordnung 306 ist mit redundanten 4-Spalten-Decodierern 308 gekoppelt.
Die regulären Abfühleinrichtungen 310 weisen
z. B. sechzehn E/A-Leitungen 316 auf.
-
Für eine reguläre Flash-Speicheranordnung 302 ist
jede der 2048 Spalten der regulären Flash-Speicheranordnung 302 mit
einer entsprechenden von 2048 regulären Spaltendecodiererschaltungen 304 und
daraufhin mit einer entsprechenden von 2048 regulären Abfühleinrichtungen 310 gekoppelt.
Der redundante Spaltendecodierer 308 ist mit vier redundanten
Abfühleinrichtungen 312 gekoppelt.
Die reguläre
Flash-Speicheranordnung 302 weist 2048 Spalten auf, die
in 16 Gruppen von 128 Spalten angeordnet sind. Die regulären Abfühleinrichtungen 310 weisen
für jeden
Ausgang für
insgesamt 2048 Abfühleinrichtungen
16 Spaltenausgänge
und 128 Abfühlschaltungen
auf. In der redundanten Speicheranordnung 306 sind zusammen
mit vier redundanten Spaltendecodierern und vier redundanten Abfühleinrichtungen 312 vier
Spalten vorgesehen. Wie im Folgenden beschrieben wird, sind redundante
Adressenregister zum Speichern der Adressen defekter Speicherzellen
vorgesehen.
-
Eine
Befehlsanwenderschnittstellenschaltung (CUI-Schaltung) 320 empfängt an einem
Anschluss 322 ein Schreibfreigabesignal (WE-Signal) und
stellt auf der Signalleitung 324 ein Ausgangssignal LOAD_PL
bereit, das ein gepulstes Signal ist, das durch die steigende Flanke
des WE-Signals erzeugt wird. Der LOAD_PL-Impuls löst das Zwi schenspeichern
von Daten und Adressen in den regulären Abfühleinrichtungen 310 aus.
Eine redundante Logikschaltung 330 vergleicht eine externe
Eingabeadresse mit den Ausgaben der redundanten Adressenregister 332.
Falls der Vergleich wahr ist, wird auf einem Bus 333 ein
DISAB_LOAD-Signal erzeugt. Dieses Signal verhindert das LOAD_PL-Signal
von der CUI 320 auf der Signalleitung 324, sodass
durch einen Anwender an eine der Leitungen des DATA-E/A-Busses 316 angelegte
Eingabedaten nicht in eine Entsprechende der Abfühleinrichtungen 310 geladen
werden. Es gibt 16 mögliche
DISAB_LOAD-Signale, eines für
jeden der an einer der sechzehn E/A-Leitungen 316 vorgesehenen
16 Datenausgänge.
-
Die
vorliegende Erfindung verwendet eine redundante Anzahl von Steuersignalen
und erfordert weniger Schaltungen, um für das redundante Spaltensystem 300 des
Flash-Speichers
redundante Spalten bereitzustellen. Die vorliegende Erfindung stellt
eine Gruppe 338 von 64 redundanten Zwischenspeichern bereit.
Die 64 redundanten Zwischenspeicher sind in Vierergruppen angeordnet,
die einer jeweiligen der sechzehn Speicher-E/A-Leitungen des Busses 316 zugewiesen
sind. Jeder der 64 redundanten Zwischenspeicher ist eine Open-Drain-Schaltung,
die mit einer Eingangsleitung einer der vier redundanten Abfühleinrichtungen 312 gekoppelt
ist.
-
Während eines
Befehlszyklus wird während der
oben erwähnten
WE-Zeitdauer ein Redundanzadressenvergleich ausgeführt. Falls
eine redundante Spalte notwendig ist, wird einer der 64 Zwischenspeicher
der Gruppe 338 für
eine defekte Speicherzelle eingestellt und wird die entsprechende
eine der 2048 regulären
Abfühleinrichtungen 310 nicht
mit Eingabedaten geladen. Falls ein Datenbit an einen defekten Speicherplatz
programmiert werden soll, wird einer der 64 Zwischenspeicher zum
Herunterziehen einer Eingangsleitung einer der vier redundanten
Abfühleinrichtungen 312 eingestellt,
um dadurch die Steuerung einer jeweiligen der sechzehn Bitleitungen
zu übernehmen,
sodass das Datenbit in die redundante Speicheranordnung 306 programmiert
wird.
-
Falls
für eine
bestimmte Eingabeadresse eine redundante Speicherzelle notwendig
ist, erzeugt die redundante Logikschaltung 330 ein DISAB_LOAD-Signal,
das das Laden der Daten in die regulären Leseverstärker verhindert.
Außerdem wird
eines von sechzehn ENABLE_LATCH-Signalen erzeugt, um für eine defekte
Zelle einen der vier Zwischenspeicher des Ausgangs einzustellen.
Die Zwischenspeicher sind mittels vier Open-Drain-Signalen (REDUNDANT_ON)
mit vier redundanten Leseverstärkern
gekoppelt. Es gibt sechzehn ENABLE_LATCH-Signale, von denen eines
durch die redundante Logik 330 für eine der E/A-Leitungen 316 erzeugt
wird. Um einen der vier Zwischenspeicher, die einer bestimmten der
sechzehn E/A-Leitungen 316 zugewiesen sind, auszuwählen, wird
eines von vier Signalen REDO<0>, REDO<1>, REDO<2>, REDO<3> auf einer der vier
Leitungen 336 aktiviert, um einen der vier Zwischenspeicher
auszuwählen, der
einer der E/A-Leitungen 316 zugeordnet ist. Die aktivierte
Abfühleinrichtung
stellt für
die defekte reguläre
Speicherzelle eine redundante Speicherzelle bereit. Die vier REDO-Signale
werden auf einer von vier Signalleitungen eines Busses 336 geliefert.
Eines von vier REDUNDANT_ON-Signalen wird zum Auswählen einer
der vier redundanten Abfühleinrichtungen 312 geliefert.
-
5 zeigt
eine Pufferanordnung für
eine der sechzehn E/A-Leitungen 316 aus 4.
Für jeden
der sechzehn Ausgänge
ist eine entsprechende Gruppe von 128 Abfühleinrichtungen 352 über einen Spaltendecodierer 350 für eine Gruppe
von 128 Spalten mit der Speicheranordnung gekop pelt. Die Ausgänge der
Abfühleinrichtungen 352 sind
alle mit einer externen Adresse, mit einem der sechzehn DISABLE_LOAD-Signale
auf dem Bus 333 und mit einer der sechzehn E/A-Leitungen 316 gekoppelt. Das
DISABLE_LOAD-Signal
verhindert das Laden von Daten in eine Abfühleinrichtung, wenn eine externe
Adresse für
eine defekte Speicherzelle geliefert wird.
-
6 zeigt,
dass jeder der vier redundanten Zwischenspeicher 354, 356, 358, 360 als
eine Eingabe das ENABLE_LATCH-Signal aufweist, das durch die redundante
Logikschaltung 330 auf einer Signalleitung in dem Bus 334 erzeugt
wird. Außerdem
weist jeder der vier redundanten Zwischenspeicher als eine Eingabe
ein jeweiliges der REDO<0:3>-Signale auf. Die REDO<0:3>-Signale werden durch
die redundante Logikschaltung 330 aus 4 erzeugt,
um einen der vier redundanten Zwischenspeicher 354, 356, 358, 360 auszuwählen. Die
Ausgaben der redundanten Zwischenspeicher sind die REDUNDANT_ON-<0:3>-Signale, die Open-Drain-Signale
sind, die zum Aktivieren einer der redundanten Abfühleinrichtungen 312 verwendet werden.
-
7 veranschaulicht
eine Schaltungsimplementierung für
die redundanten Zwischenspeicher 354, 356, 358, 360,
die Open-Drain-Ausgänge
aufweisen. Jeder der Ausgänge
der 64 Zwischenspeicher für
eine der sechzehn E/A-Leitungen des Busses 316 ist mit
einer Eingangsleitung einer redundanten Abfühleinrichtung gekoppelt. Zum
Beispiel ist der Erste der vier Zwischenspeicher für jede der
sechzehn E/A-Leitungen mittels einer Open-Drain-Schaltung mit einem
Eingang der ersten redundanten Abfühleinrichtung gekoppelt. Jeder
Eingang jeder der vier redundanten Abfühleinrichtungen weist sechzehn
mit ihm gekoppelte offene Drains auf. Die kreuzgekoppelten Inverter 361, 362 stellen
eine Zwischenspeicherschaltung bereit, die einen Eingangsanschluss
des Inverters 361 aufweist, der mit einem Ausgangsanschluss
des Inverters 362 gekoppelt ist, und die einen Ausgangsanschluss
des Inverters 361 aufweist, der mit einem Eingangsanschluss
des Inverters 362 gekoppelt ist. Ein Eingangsanschluss des
Inverters 361 ist mit einem Drain-Anschluss eines REDO-Auswahl-NMOS-Transistors 366 gekoppelt.
Ein Eingangssignal REDO ist mit einem Gate-Anschluss des REDO-Auswahl-NMOS-Transistors 366 gekoppelt.
Ein Source-Anschluss des REDO-Auswahl-NMOS-Transistors 366 ist
mit einem Drain-Anschluss eines Zwischenspeicher-Freigabetransistors 364 gekoppelt.
Ein Source-Anschluss des Transistors 364 ist mit Masse
gekoppelt. Ein Gate-Anschluss des Zwischenspeicher-Freigabetransistors 364 ist
mit einem ENABLE_LATCH-Eingangsanschluss gekoppelt.
-
Die
Flash-Speicher-Zeitgebungsspezifikationen erfordern, dass zwischen
Adressen/Daten-Änderungen
und vor einer Adressen/Daten-Zwischenspeicherung auf der steigenden
Flanke eines Schreibfreigabesignals (WE-Signals) eine minimale Zeitdauer bereitgestellt
wird, damit alle Adressen- und Datensignale für eine ausreichende Zeitdauer
stabil sind. Die vorliegende Erfindung verwendet diese minimale Zeitdauer,
um eine Eingabeadresse mit den in den redundanten Adressenregistern 332 gespeicherten Adressen
zu vergleichen. Falls der Vergleich wahr ist, wird durch die redundante
Logikschaltung 330 ein redundanter Zwischenspeicher eingestellt.
-
Während eines
Befehlszyklus wird während der
oben erwähnten
minimalen Zeitdauer ein Redundanzadressenvergleich ausgeführt. Falls
eine Eingabeadresse für
eine defekte reguläre
Speicherzelle dient, wird daraufhin mit einem der sechzehn ENABLE_LATCH-Signale
auf dem Bus 334 einer der 64 Zwischenspeicher 338 eingestellt.
Die Eingabedaten werden nicht in eine entsprechende der Abfühleinrichtun gen 310 geladen.
Falls ein Datenbit in eine redundante Spalte programmiert werden
soll, liefert der Eine der vier Zwischenspeicher auf dem Vier-Leitungs-Bus 340 ein
Signal, um die Eingangsleitung einer entsprechenden der redundanten
Abfühleinrichtungen 312 herunterzuziehen.
Es wird angemerkt, dass die redundanten Abfühleinrichtungen 312 unabhängig von
zu schreibenden Daten immer eingeschaltet sind. Trotzdem übernimmt
die eine der redundanten Abfühleinrichtungen 312 nur
dann die Steuerung über
die entsprechende Bitleitung, sodass ein Eingangssignal in die redundante
Speicherzellenanordnung 308 programmiert wird, wenn eine
der Eingangsleitungen auf dem Bus 340 durch einen der mit
ihr gekoppelten Zwischenspeicher 338 heruntergezogen wird.
-
Zusammengefasst
schafft die vorliegende Erfindung redundante Spalten für einen
Flash-Speicher mit einer verringerten Anzahl von Schaltungen und
Steuerung. Eine minimale Zeitdauer zwischen Adressen-/Datenänderungen
und Adressen-/Datenzwischenspeicherung (steigende Flanke der Schreibfreigabe
WE) wird verwendet, um die Eingabeadressen mit Adressen in einem
redundanten Adressenregister zu vergleichen. Für jeden der 16 Speicherausgänge gibt
es 128 Leseverstärker,
die mittels eines Spaltendecodierers mit der Speicheranordnung gekoppelt
sind. Die Leseverstärker
weisen Adresseneingänge
und Dateneingänge
sowie ein DISABLE_LOAD-Signal, das das Datenladen verhindert, wenn
eine Redundant-Adresse auftritt, auf. Die vier redundanten Zwischenspeicher
weisen als Eingaben das durch die redundant Logik erzeugte ENABLE_LATCH-Signal
und REDO-<3:0>-Signale, die durch
das redundante Adressenregister erzeugt werden und zum Wählen einer
der vier redundanten Zwischenspeicher verwendet werden, auf. Die
Ausgaben der vier redundanten Zwischenspeicher sind die REDUNDANT
ON<3:0>-Signale, welche Open-Drain-Signale sind,
die zum Aktivieren der redundanten Leseverstärker verwendet werden.
-
Zusammenfassung
-
Neue Implementierung der Spaltenredundanz
für einen
Flash-Speicher mit einem hohen Schreibparallelismus
-
Eine
redundante Speicheranordnung (300) weist r Spalten redundanter
Speicherzellen (306), r redundante Abfühleinrichtungen (312)
und einen redundanten Spaltendecodierer (308) auf. Die
redundanten Adressenregister (332) speichern die Adressen
defekter regulärer
Speicherzellen. Die redundanten Zwischenspeicher (338)
sind in n Gruppen von r Zwischenspeichern vorgesehen. Eine Redundanzvergleichslogik
(330) vergleicht die Adressen defekter regulärer Speicherzellen
mit einer externen Eingabeadresse. Falls der Vergleich wahr ist,
wird Folgendes geliefert: Ein DISABLE_LOAD-Signal (333) zum
Sperren der regulären
Abfühleinrichtungen (310)
für eine
der n Gruppen von m Spalten, ein ENABLE_LATCH-Signal (334)
zu einer der n Gruppen von m Spalten zum Sperren entsprechender
regulärer
Abfühleinrichtungen
und eines von r REDO-Signalen (336) zu einem jeweiligen
der r redundanten Zwischenspeicher (338) in einer der n
Gruppen, die gesperrt ist. Der ausgewählte eine der redundanten Zwischenspeicher
(338) aktiviert eine der r redundanten Abfühleinrichtungen
(312), um auf eine redundante Spalte zuzugreifen.