DE10043397B4 - Flash-Speicherbauelement mit Programmierungszustandsfeststellungsschaltung und das Verfahren dafür - Google Patents

Flash-Speicherbauelement mit Programmierungszustandsfeststellungsschaltung und das Verfahren dafür Download PDF

Info

Publication number
DE10043397B4
DE10043397B4 DE10043397A DE10043397A DE10043397B4 DE 10043397 B4 DE10043397 B4 DE 10043397B4 DE 10043397 A DE10043397 A DE 10043397A DE 10043397 A DE10043397 A DE 10043397A DE 10043397 B4 DE10043397 B4 DE 10043397B4
Authority
DE
Germany
Prior art keywords
circuit
column
programming
columns
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10043397A
Other languages
English (en)
Other versions
DE10043397A1 (de
Inventor
Tae-Hee Cho
Seok-Cheon Kwon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020000000497A external-priority patent/KR100338553B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE10043397A1 publication Critical patent/DE10043397A1/de
Application granted granted Critical
Publication of DE10043397B4 publication Critical patent/DE10043397B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells

Abstract

Ein nicht-flüchtiges Halbleiterspeicherbauelement umfaßt eine Programmierungszustands-Feststellungsschaltung (190) zum Prüfen eines Zustands von programmierten Speicherzellen. Die Programmierungszustands-Feststellungsschaltung (190) prüft einen Programmiererfolg/-mißerfolg unter Verwendung von Daten, die über eine Spaltenansteuerschaltung übertragen werden, gemäß einer Spaltenadresse mit einer Redundanzinformation. Daher ist es möglich, das Problem zu beseitigen, daß das Speicherbauelement infolge einer fehlerhaften Spalte als Ausfallbauelement betrachtet wird.

Description

  • Die Erfindung betrifft ein nicht-flüchtiges Halbleiterspeicherbauelement und insbesondere ein Flash-EEPROM- (elektrisch programmierbarer und löschbarer Nur-Lese-Speicher) Bauelement vom NICHT-UND-Typ mit einer Programmierungszustands-Feststellungsschaltung und das Verfahren dafür.
  • Das Programmieren eines Flash-EEPROM-Bauelements vom NICHT-UND-Typ ist mit den wiederholten Zyklen der Programmierung, Datenauslesung und Programmierungsüberprüfung und Y-ABTASTUNG durchführbar. Insbesondere werden während des Programmierzyklus EEPROM-Zellen, die einer angesteuerten Seite (d.h. einer Wortleitung) zugeordnet sind, in einen gewünschten Datenzustand programmiert. Dann wird die Datenausleseoperation der programmierten Zellen durchgeführt. Schließlich wird die Überprüfungsoperation ausgeführt, um zu prüfen, ob sich die programmierten Zellen im gewünschten Datenzustand befinden. Wenn mindestens eine der programmierten Zellen nicht dem gewünschten Zustand entspricht, werden die obigen Programmierzyklen vorbestimmte Male kontinuierlich durchgeführt. Zu diesem Zweck enthalten die meisten Flash-Speicherbauelemente eine Programmierungszustands-Feststellungsschaltung, um ERFOLG oder MISSERFOLG festzustellen, die ein Ergebnis der Programmierung melden.
  • Eine Programmierungszustands-Feststellungsschaltung für Flash-Speicher ist beispielsweise im US-Patent Nr. 5 299 162 mit dem Titel "NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND AN OPTIMIZING PROGRAMMING METHOD THEREOF" offenbart.
  • 1 stellt die im vorstehend erwähnten Dokument offenbarte Programmierungszustands-Feststellungsschaltung dar. Mit Bezug auf 1 ist jede der Bitleitungen BL1-BL1024 mit einer Zellenkette (CE) mit NICHT-UND-Struktur gekoppelt, welche aus einem in Reihe geschalteten Transistor ST, acht Zellentransistoren CT1-CT8 und einem Erdansteuertransistor GT besteht. Der Kettenansteuertransistor ST und der Erdansteuertransistor GT weisen eine MOS-Transistorstruktur auf. Die Gates sind mit Ansteuerleitungen SL1 bzw. SL2 gekoppelt. Jeder der Zellentransistoren CT1-CT8 weist die Struktur eines MOS-Verarmungstransistors mit einem zwischen einem Steuergate und einem Substrat angeordneten schwebenden Gate auf. Jedes Steuergate ist jeweils mit den Steuerleitungen CL1-CL8 gekoppelt. Jede der Bitleitungen (BL1-BL1024) ist jeweils mit Hochspannungs-Versorgungsschaltungen HV zum Liefern einer Programmierspannung mit positiv hohem Pegel, jeweils mit Bitleitungs-Halteschaltungen LT, in die von außen eingegebene Daten eingelesen werden, mit einer Stromquellenschaltung CS zum Liefern eines Feststellungsstroms während der Programmierungsfeststellungsoperation und jeweils mit Programmierungsprüfeinheiten PC zum Invertieren von Daten der Bitleitungs-Halteschaltung LT gekoppelt.
  • Die Hochspannungs-Versorgungsschaltung HV ist ein Ladungspumpschaltkreis, der aus Transistoren PT1 und PT2 und einem Pumpkondensator C1 besteht. Ein Drainpol des Transistors PT1 ist mit der Programmierspannung Vpp gekoppelt, dessen Gate ist mit einer Bitleitung BL1 gekoppelt, und dessen Sourcepol ist mit einem Gate eines Transistors PT2 gekoppelt. Ein Drainpol des Transistors PT2 ist mit einer Elektrode eines Pumpkondensators C gekoppelt und dessen Sourcepol ist mit der Bitleitung BL1 gekoppelt. Wenn ein Taktsignal ⌀pp auf einen hohen Pegel umschaltet, entlädt der Pumpkondensator C die im Kondensator C gespeicherte Ladung über den Transistor PT2 auf die Bitleitung BL1 und liefert eine Löschspannung und eine Programmiersperrspannung zur Bitleitung.
  • Die Bitleitungs-Halteschaltung LT besteht aus zwei Invertern INV1 und INV2 und einem Übertragungstransistor TT1. Die Inverter INV1 und INV2 sind miteinander gekoppelt, wobei ein Eingang von einem von ihnen mit einem Ausgang des anderen gekoppelt ist. Ein Gate des Übertragungstransistors TT1 ist mit einem Taktsignal ⌀1 gekoppelt, ein erster Stromanschluß (Drainpol oder Sourcepol) desselben ist mit einer Bitleitung gekoppelt, und ein zweiter Anschluß desselben (Sourcepol oder Drainpol) ist mit einem Eingang des Inverters INV2 gekoppelt. Somit empfängt und hält die Bitleitungs-Halteschaltung LT externe Daten, die über den Übertragungstransistor TT1 an die Bitleitung angelegt werden, welcher durchgesteuert wird, wenn das Taktsignal ⌀1 auf einem hohen Potential liegt.
  • Die Stromquellenschaltung CS umfaßt eine Vielzahl von Ausgangsschaltungen OS, die jeweils mit den Bitleitungen gekoppelt sind, und eine gemeinsame Bezugsstrom- Festlegungsschaltung RC. Die Schaltungen RC und OS sind in Form einer Stromspiegelschaltung miteinander gekoppelt, um einen Bezugsstrom gegen alle Ausgangsschaltungen OS festzulegen. Die gemeinsame Bezugsstrom-Festlegungsschaltung RC umfaßt einen P-Kanal-MOS-Transistor M1, der zwischen die Versorgungsspannung Vcc und die Erdspannung Vss gekoppelt ist, und N-Kanal-MOS-Transistoren M2 und M3. Ein Drainpol und ein Gate des P-Kanal-MOS-Transistors M1 sind miteinander gekoppelt. Ein Gate des N-Kanal-MOS-Transistors M2 ist mit der Bezugsspannung Vref gekoppelt und jenes des N-Kanal-MOS-Transistors M3 ist mit einem Taktsignal ⌀2 gekoppelt. Jede der Ausgangsschaltungen OS weist einen P-Kanal-MOS-Transistor M4, der zwischen die Versorgungsspannung Vcc und jede der Bitleitungen gekoppelt ist, und einen N-Kanal-MOS-Transistor M5 auf. Ein Gate des P-Kanal-MOS-Transistors ist mit jenem des P-Kanal-MOS-Transistors gekoppelt. Ein Gate des N-Kanal-MOS-Transistors M5 ist mit dem Taktsignal ⌀2 gekoppelt. Somit wird die Stromquellenschaltung CS aktiviert, wenn das Taktsignal ⌀2 auf einen hohen Pegel umschaltet, so daß der Drainstrom des P-Kanal-MOS-Transistors M4, d.h. der Überprüfungsstrom, zur Bitleitung BL1 geliefert wird.
  • Die Programmierungsprüfschaltung PC umfaßt einen MOS-Transistor M6. Ein Drainpol des MOS-Transistors M6 ist mit einem Eingang des Inverters INV1 gekoppelt, dessen Sourcepol ist mit der Erdspannung Vss gekoppelt und dessen Gate ist mit einer Bitleitung gekoppelt. Wenn der an die Bitleitung angelegte Überprüfungsstrom nicht über eine Zellenkette mit NICHT-UND-Struktur mit einer angesteuerten Zelle zu einer Erdung fließt, schaltet die Bitleitung auf einen hohen Pegel um und folglich wird der MOS-Transistor M6 (Programmierungsüberprüfungseinheit) durchgesteuert. Dies veranlaßt, daß der Eingang des Inverters INV1 auf einen niedrigen Pegel (z.B. Erdspannung) umschaltet. Wenn die Programmierung der angesteuerten Zelle unzureichend ist, stellt die Programmierungsprüfschaltung PC folglich einen unzureichenden Programmierungszustand fest und invertiert dann einen Datenlogikpegel der Bitleitungs-Halteschaltung LT.
  • In 1 befindet sich eine Programmierungszustands-Feststellungsschaltung PS. Wenn alle angesteuerten Zellen mit einem optimalen Zustand programmiert sind, gibt die Schaltung PS ein normales Feststellungssignal aus. Wenn mindestens eine der angesteuerten Zellen unzureichend programmiert ist, gibt die Schaltung PS ein anormales Feststellungssignal aus. Die Schaltung PS umfaßt einen MOS-Verarmungstransistor M7 und einen MOS-Verarmungstransistor M8. Der MOS-Verarmungstransistor M7 dient als Pull-up-Schaltung zum Hochsetzen eines Knotens N1, und der MOS-Verarmungstransistor M8 dient als Pull-up-Last. Ein Sourcepol des MOS-Verarmungstransistors ist mit der Versorgungsspannung Vcc gekoppelt, dessen Gate ist mit einem Taktsignal ⌀3 gekoppelt und dessen Drainpol ist mit einem Sourcepol des MOS-Verarmungstransistors M8 gekoppelt. Ein Gate und ein Drainpol des MOS-Verarmungstransistors M8 sind mit dem Knoten N1 gekoppelt. Eine Vielzahl von N-Kanal-MOS-Transistoren PD1-PD1024, die als Pull-down-Schaltung PD dienen, sind zwischen den Knoten N1 und eine Erdspannung Vss parallel geschaltet. Ein Gate von jedem der MOS-Transistoren ist mit einem invertierten Ausgang Q der Bitleitungs-Halteschaltungen LT gekoppelt. Der Knoten N1 ist über einen Inverter INV3 mit einem Eingangsanschluß eines NICHT-ODER-Gatters G gekoppelt. Der andere des NICHT-ODER-Gatters G ist mit einem Taktsignal ϕ4 gekoppelt.
  • Die Programmier- und Überprüfungsoperationen des nicht-flüchtigen Halbleiterspeicherbauelements, das in 1 dargestellt ist, werden nachstehend genauer beschrieben.
  • Zuerst wird eine Löschoperation, um eine Schwellenspannung einer Zelle auf einen negativen Pegel zu bringen, vor dem Programmieren von Daten in eine Zelle durchgeführt. Nach der Beendung der Löschoperation werden externe Daten in die Bitleitungs-Halteschaltung LT geladen. Zu diesem Zeitpunkt wird ein hoher Logikpegel zu Daten "1" geladen und ein niedriger Logikpegel wird zu Daten "0" geladen. Wenn das Taktsignal ⌀1 auf einem hohen Pegel liegt, werden die Daten in die Bitleitungs-Halteschaltung LT geladen. Wenn die in dieser gehaltenen Daten auf einem hohen Pegel liegen, wird die Hochspannungs-Versorgungsschaltung HV betätigt, um eine Spannung auf einer Bitleitung als Programmiersperrspannung festzulegen. Da die Spannungsdifferenz zwischen einem Gate und einem Drainpol eines angesteuerten Zellentransistors (z.B. CT6) zur Erzeugung einer F-N-Tunnelung unzureichend ist, weist der angesteuerte Zellentransistor CT6 eine negative Schwellenspannung auf.
  • Wenn die in die Bitleitungs-Halteschaltung LT geladenen Daten auf einem niedrigen Pegel liegen, wird die Hochspannungs-Versorgungsschaltung HV nicht betätigt und behält 0V auf der Bitleitung bei. Da die F-N-Tunnelung durch die Spannungsdifferenz dazwischen erzeugt wird, werden folglich Ladungen in ein schwebendes Gate injiziert und folglich schaltet die Zellenschwellenspannung auf einen positiven Pegel um. Eine unzureichende Programmierung verhindert jedoch, daß der angesteuerte Zellentransistor die festgelegte positive Schwellenspannung erhält. Um nach der Beendung der Programmieroperation zu prüfen, ob Zellen korrekt programmiert sind, wird die Stromquelle CS als Reaktion auf einen hohen Zustand des Taktsignals ⌀2 betätigt und folglich wird ein Überprüfungsstrom zur Bitleitung BL geliefert. Die Steuerleitungen CL1-CL5, CL7 und CL8 empfangen die Versorgungsspannung Vcc und die Steuerleitung CL6 empfängt eine vorbestimmte Überprüfungsspannung (z.B. +0,8 V). Wenn die Schwellenspannung des angesteuerten Zellentransistors CT6 auf einen negativen Pegel umschaltet, fließt der Überprüfungsstrom über die Zellenkette CE zur Erdung. Somit behält die Bitleitung BL1 0 V bei.
  • Wenn die Schwellenspannung der angesteuerten Zelle auf einen positiven Pegel (Vth > 0,8 V) umschaltet, schaltet die Bitleitung BL1 auf einen hohen Pegel um, da der Überprüfungsstrom nicht durch die Zellenkette CE fließt. Wenn die angesteuerte Zelle unzureichend programmiert ist (dies bedeutet, daß deren Schwellenspannung niedriger ist als 0,8 V), fließt der Überprüfungsstrom zur Erdung und die Bitleitung BL1 behält nach wie vor 0 V bei.
  • Während der Programmierungsüberprüfungsoperation wird der Transistor M6 zum Prüfen einer Programmierung gesperrt, wenn die Bitleitung der angesteuerten Zelle auf einem niedrigen Pegel liegt. Folglich werden die in der Bitleitungs-Halteschaltung LT gespeicherten Daten nicht invertiert, um zu veranlassen, daß Daten "0" eines anfänglich geladenen Zustands an einem Ausgang Q gehalten werden. Da Daten "1" an einer invertierten Version Q des Ausgangs Q gehalten werden, wird der Pull-down-Transistor PD1 der Programmierungszustands-Feststellungsschaltung PS, der mit der Version Q gekoppelt ist, kontinuierlich durchgesteuert. Daher wurde das Programmieren anormal durchgeführt, so daß veranlaßt wird, daß ein Taktsignal ⌀5 der Programmierungszustands-Feststellungsschaltung PS einen niedrigen Pegel beibehält.
  • Während der Umprogrammieroperation werden die Daten "0" der Bitleitungs-Halteschaltung LT innerhalb eines hohen Intervalls des Taktsignals ⌀1 wieder zur Bitleitung BL1 geliefert. Ladungen werden wiederholt in das schwebende Gate der unzureichend programmierten Zelle injiziert, so daß die Schwellenspannung der Zelle eine höhere positive Spannung aufweist. Wenn die Programmierzyklen nacheinander ausgeführt werden, um die Schwellenspannung der angesteuerten Zelle mit der höheren positiven Spannung aufzuladen, und folglich die angesteuerte Zelle durch die Überprüfungsspannung (0,8 V) nicht durchgesteuert wird, schaltet die Bitleitung auf einen hohen Pegel um, um den Transistor M6 durchzusteuern. Somit werden die am Ausgang Q der Bitleitungs-Halteschaltung LT geladenen Daten "0" in Daten "1" invertiert, und Daten "1" der invertierten Version Q werden in Daten "0" invertiert. Somit wird der Pull-down-Transistor PD1 der Programmierungszustands-Feststellungsschaltung PS gesperrt. Durch diese wiederholten Operationen schalten die komplementären Ausgangssignale Q aller Bits (d.h. aller Bitleitungs-Halteschaltungen) des Seitenpuffers PB auf die Daten "0" um. Wenn alle komplementären Ausgangssignale Q auf einen niedrigen Pegel umschalten, schaltet das Taktsignal ⌀5 der Programmierungszustands-Feststellungsschaltung PS auf einen hohen Pegel um. Das heißt, alle angesteuerten Zellen sind mit einem erforderlichen Zustand programmiert.
  • Wie durch die obige Beschreibung bekannt ist, kann ein nicht-flüchtiges Halbleiterspeicherbauelement mit einer in 1 dargestellten Programmierungszustands-Feststellungsschaltung simultan einen Programmierungszustand der Zellentransistoren, die mit einer Seite in Zusammenhang stehen, überprüfen.
  • Wenn mit Bezug auf 2 zwei benachbarte Bitleitungs-Halteschaltungen LT1 und LT2 elektrisch miteinander verbunden sind, wie durch eine gestrichelte Linie angezeigt, lassen sich die mit den Schaltungen LT1 und LT2 gekoppelten Bitleitungen BL1 und BL2 gegen redundante Bitleitungen (nicht dargestellt), die einer Zellenmatrix zugeführt werden, austauschen, wie für Fachleute ersichtlich ist. Da jedoch die komplementären Ausgänge Q der Bitleitungs-Halteschaltungen LT1 und LT2 immer Logikzustände aufweisen, die zueinander entgegengesetzt sind, wird einer der Pull-down-Transistoren PD1 und PD2, die mit den komplementären Ausgängen Q gekoppelt sind, während der Programmierungsüberprüfungsoperation immer durchgesteuert. Wenn beispielsweise die Bitleitung BL1 oder BL2 auf einen niedrigen Pegel gesetzt wird, wird die damit elektrisch verbundene Bitleitung BL2 oder BL1 ebenfalls auf den niedrigen Pegel gesetzt. Folglich schaltet der komplementäre Ausgang Q der Bitleitungs-Halteschaltung LT1 auf einen hohen Pegel um, wie in 2 dargestellt. Dies veranlaßt, daß der Pull-down-Transistor PD1, der mit dem komplementären Ausgang Q gekoppelt ist, durchgesteuert wird, so daß die Programmierungszustands-Feststellungsschaltung PS ein Taktsignal ⌀5 mit niedrigem Pegel ausgibt, das einen Programmierungsmißerfolg anzeigt, bis eine Reihe der Programmieroperation und der Programmierungsüberprüfungsoperation nicht weniger als vorbestimmte Male wiederholt werden. Das heißt, das nicht-flüchtige Halbleiterspeicherbauelement wird als Ausfallbauelement betrachtet.
  • Wenn irgendeine Bitleitung mit einer Erdspannung gekoppelt ist (sie wird als fehlerhafte Spalte betrachtet, um sich gegen eine redundante Bitleitung austauschen zu lassen), behält ein komplementärer Ausgang Q einer Bitleitungs-Halteschaltung, die mit einer geerdeten Bitleitung gekoppelt ist, immer einen hohen Pegel bei. Folglich gibt eine Programmierungszustands-Feststellungsschaltung PS ein Taktsignal ⌀5 mit niedrigem Pegel aus, welches einen Programmierungsmißerfolg anzeigt. Wenn sich ein Zellentransistor, der programmiert wird, kontinuierlich in einem Löschzustand befindet (eine mit einer Zellenkette mit dem Zellentransistor im Löschzustand gekoppelte Bitleitung wird gegen eine entsprechende redundante Bitleitung ausgetauscht), behält der komplementäre Ausgang Q immer einen hohen Pegel bei. Folglich gibt die Programmierungszustands-Feststellungsschaltung PS das Taktsignal ⌀5 mit niedrigem Pegel aus.
  • Obwohl fehlerhafte Bitleitungen gegen redundante Bitleitungen ausgetauscht werden, gibt eine herkömmliche Programmierungszustands-Feststellungsschaltung, wie vorstehend erwähnt, immer ein Taktsignal mit niedrigem Pegel aus, welches einen Programmierungsmißerfolg infolge der fehlerhaften Bitleitungen anzeigt. Daher wird ein nicht-flüchtiges Halbleiterspeicherbauelement als Ausfallbauelement betrachtet und verursacht eine Verschlechterung einer Ausbeute.
  • Es ist daher Aufgabe der Erfindung, ein nicht-flüchtiges Halbleiterspeicherbauelement mit einer Programmierungszustands-Feststellungsschaltung, die eine durch eine fehlerhafte Spalte verursachte Ausbeuteverschlechterung unterdrücken kann, und das Verfahren dafür bereitzustellen.
  • Gemäß der Erfindung ist ein nicht-flüchtiges Halbleiterspeicherbauelement ein Flash-Speicherbauelement vom NICHT-UND-Typ und besitzt einen Programmierzyklus, der durch eine Reihe einer Programmieroperation, einer Programmierungsüberprüfungsoperation und einer Y-ABTAST-Operation durchgeführt wird. Das Speicherbauelement umfaßt eine Speicherzellenmatrix, eine Seitenpufferschaltung, einen Adressenzähler, eine Spaltenansteuerschaltung, einen Vorwärtszählsignalgenerator und eine Programmiererfolg/-mißerfolg-Prüfschaltung. Die Speicherzellenmatrix umfaßt eine Vielzahl von Zeilen, eine Vielzahl von Spalten, eine Vielzahl von redundanten Spalten und eine Vielzahl von Speicherzellen, die jeweils an den Kreuzungsbereichen der Zeilen und Spalten angeordnet sind. Die Seitenpufferschaltung liest programmierte Datenbits aus der Speicherzellenmatrix über die Spalten aus und hält die ausgelesenen programmierten Datenbits. Der Adressenzähler erzeugt eine Spaltenadresse als Reaktion auf ein Vorwärtszählsignal während einer Y-ABTAST-Operation. Die Spaltenansteuerschaltung steuert die Spalten als Reaktion auf die Spaltenadresse an und umfaßt einen Spaltendecodierer zum Decodieren einer aus dem Adressenzähler ausgegebenen Spaltenadresse, eine Spaltengatterschaltung zum Ansteuern der Spalten als Reaktion auf die vom Spaltendecodierer decodierte Spaltenadresse und eine Redundanzschaltung zum Empfangen der Spaltenadresse. Wenn der Spaltenadresse entsprechende Spalten mindestens eine fehlerhafte Spalte enthalten, aktiviert die Redundanzschaltung den Spaltendecodierer und tauscht die fehlerhafte Spalte über die Spaltengatterschaltung gegen eine entsprechende redundante Spalte aus.
  • Wenn unter den programmierten Datenbits, die in der Seitenpufferschaltung gehalten werden, den angesteuerten Spalten entsprechende Programmierungsdatenbits mit einem Programmierungszustand verbunden sind, erzeugt der Vorwärtszählsignalgenerator das Vorwärtszählsignal während der Y-ABTAST-Operation. Der Vorwärtszählsignalgenerator umfaßt eine Datenzustands-Feststellungsschaltung und einen Oszillator. Die Datenzustands-Feststellungsschaltung stellt fest, ob die den angesteuerten Spalten entsprechenden programmierten Datenbits jeweils mit dem Programmierungszustand verbunden sind, um ein Schwingungssteuersignal zu erzeugen. Der Oszillator erzeugt das Vorwärtszählsignal als Reaktion auf das Schwingungssteuersignal. Wenn nämlich alle den angesteuerten Spalten entsprechenden programmierten Datenbits mit dem Programmierungszustand verbunden sind, aktiviert die Datenzustands-Feststellungsschaltung das Schwingungssteuersignal, um das Vorwärtszählsignal zum Erhöhen der Spaltenadresse zu aktivieren. Wenn mindestens eines der programmierten Datenbits mit einem unzureichend programmierten Zustand verbunden ist, deaktiviert die Datenzustands-Feststellungsschaltung das Schwingungssteuersignal, um das Vorwärtszählsignal zu deaktivieren.
  • Die Programmiererfolg/-mißerfolg-Prüfschaltung erzeugt ein Erfolg/Mißerfolg-Hinweissignal, das mit einem von Programmiererfolg und Programmiermißerfolg in Zusammenhang steht, als Reaktion auf das Vorwärtszählsignal und die Spaltenadresse. Wenn das Schwingungssteuersignal aktiviert wird und alle Bits der Spaltenadresse auf einem hohen Pegel liegen, erzeugt die Programmiererfolg/-mißerfolg-Prüfschaltung das mit dem Programmiererfolg in Zusammenhang stehende Erfolg/Mißerfolg-Hinweissignal mit hohem Pegel. Wenn das Schwingungssteuersignal deaktiviert oder aktiviert wird und mindestens eines der Spaltenadressenbits auf einem niedrigen Pegel liegt, erzeugt die Programmiererfolg/-mißerfolg-Prüfschaltung das mit dem Programmiermißerfolg in Zusammenhang stehende Erfolg/Mißerfolg-Hinweissignal mit niedrigem Pegel.
  • Die Programmier-/Erfolg-Prüfoperation wird unter Verwendung von Datenbits durchgeführt, die durch eine Spaltengatterschaltung gemäß einer Spaltenadresse mit einer Redundanzinformation angesteuert werden. Daher kann eine fehlerhafte Bitleitung (oder können fehlerhafte Bitleitungen) keinen Einfluß auf die Programmiererfolg/-mißerfolg-Prüfoperation haben.
  • Ausführungsbeispiele der Erfindung werden anhand der Zeichnung näher erläutert. Es zeigen:
  • 1 einen Schaltplan, der eine Programmierungszustands-Feststellungsschaltung eines nicht-flüchtigen Halbleiterspeicherbauelements gemäß dem Stand der Technik zeigt;
  • 2 ein Diagramm zum Beschreiben eines Problems des Standes der Technik;
  • 3 ein Blockdiagramm, das ein Flash-Speicherbauelement mit einer Programmierungszustands-Feststellungsschaltung gemäß einem ersten Ausführungsbeispiel der Erfindung zeigt;
  • 4 ein bevorzugtes Ausführungsbeispiel einer in 3 gezeigten Datenzustands-Feststellungsschaltung;
  • 5 ein bevorzugtes Ausführungsbeispiel einer in 3 gezeigten Erfolg/Mißerfolg-Prüfschaltung;
  • 6 einen Ablaufplan, der einen Programmieralgorithmus gemäß einem ersten Ausführungsbeispiel der Erfindung zeigt;
  • 7A-7B Zeitablaufdarstellungen zum Beschreiben einer erfindungsgemäßen Y-ABTAST-Operation;
  • 8 ein Blockdiagramm eines Flash-Speicherbauelements mit einer Programmierungszustands-Feststellungsschaltung gemäß einem zweiten Ausführungsbeispiel der Erfindung;
  • 9 ein Blockdiagramm, das eine in 8 dargestellte Programmierungszustands-Feststellungsschaltung zeigt;
  • 10 ein bevorzugtes Ausführungsbeispiel einer in 9 gezeigten Datenzustands-Feststellungsschaltung;
  • 11 ein bevorzugtes Ausführungsbeispiel eines in 9 gezeigten ersten Registers;
  • 12 ein bevorzugtes Ausführungsbeispiel eines in 9 gezeigten Schwingungssteuersignal-Generators;
  • 13 ein bevorzugtes Ausführungsbeispiel einer in 9 gezeigten Aktivierungsschaltung;
  • 14 ein bevorzugtes Ausführungsbeispiel einer in 9 dargestellten Deaktivierungsschaltung;
  • 15 einen Ablaufplan, der einen Programmieralgorithmus gemäß einem zweiten Ausführungsbeispiel der Erfindung darstellt; und
  • 16A-16D Zeitablaufdarstellungen zum Beschreiben einer erfindungsgemäßen Y-ABTAST-Operation.
  • (Erstes Ausführungsbeispiel)
  • Mit Bezug auf 3 umfaßt ein nicht-flüchtiges Halbleiterspeicherbauelement, d.h. ein Flash-Speicherbauelement vom NICHT-UND-Typ, eine Speicherzellenmatrix 100 zum Speichern von Informationen. In dem Flash-Speicherbauelement vom NICHT-UND-Typ sind eine Vielzahl von Bitleitungen BL1-BLi (i ist eine positive ganze Zahl) und eine Vielzahl von redundanten Bitleitungen RBL1-RBLj (j ist eine positive ganze Zahl) in Spaltenrichtung durch die Speicherzellenmatrix 100 angeordnet. Die redundanten Bitleitungen RBL1-RBLj werden zum Austauschen von fehlerhaften der Bitleitungen BL1-BLi verwendet. Zellenketten mit derselben Struktur wie jener von 1 sind mit den Bitleitungen BL1-BLi bzw. den redundanten Bitleitungen RBL1-RBLj gekoppelt. Eine Seitenpufferschaltung 110, mit der die Bitleitungen BL1-BLi und die redundanten Bitleitungen RBL1-RBLj gekoppelt sind, dient als Treiber, der Bitleitungen und redundante Bitleitungen RBL1-RBLj während der Programmieroperation eines Programmierzyklus gemäß einem zu programmierenden Datenzustand ansteuert. Während der Programmierungsüberprüfungsoperation (insbesondere der Überprüfungsausleseoperation) des Programmierzyklus dient die Seitenpufferschaltung 110 als Leseverstärker (oder Seitenpufferschaltung), der Datenbits, die in Zellentransistoren programmiert wurden, welche mit einer angesteuerten Seite gekoppelt sind, liest.
  • Unter erneuter Bezugsnahme auf 3 sind ein Adressenzähler 120, ein Spaltendecodierer 130, eine Spaltengatterschaltung 140, eine Redundanzschaltung 150 und eine Programmierungszustands-Feststellungsschaltung 190 für das Flash-Speicherbauelement vorgesehen.
  • Der Adressenzähler 120 besteht aus Zählern und erzeugt eine Spaltenadresse Ai (bei diesem Ausführungsbeispiel i = 1 – 8) als Reaktion auf ein Vorwärtszählsignal YCNTUP, das aus der Programmierungszustands-Feststellungsschaltung 190 während einer Programmierungsüberprüfungsoperation ausgegeben wird. Der Spaltendecodierer 130 decodiert die im Adressenzähler 120 erzeugte Spaltenadresse Ai. Die decodierte Spaltenadresse wird zur Spaltengatterschaltung 140 übertragen. Die Spaltengatterschaltung 140 steuert die der decodierten Spaltenadresse entsprechenden Bitleitungen BL1-BLi an, d.h. steuert Seitenpuffer entsprechend den angesteuerten Bitleitungen aus den für die Seitenpufferschaltung 110 vorgesehenen Seitenpuffern an. Die programmierten Datenbits, die in den angesteuerten Seitenpuffern gespeichert sind (dies bedeutet, daß die Datenbits während der Überprüfungsausleseoperation nach der Beendung der Programmieroperation ausgelesen werden), werden während der Programmierungsüberprüfungsoperation nacheinander über die Spaltengatterschaltung 140 zur Programmierungszustands-Feststellungsschaltung 190 übertragen.
  • Die im Spaltenzähler 120 erzeugte Spaltenadresse wird zu einer Redundanzschaltung 150 übertragen, wie in 3 gezeigt. Die Redundanzschaltung prüft, ob eine fehlerhafte der angesteuerten Bitleitungen, die der Spaltenadresse entsprechen, vorliegt. Wenn die angesteuerten Bitleitungen mindestens eine fehlerhafte Bitleitung enthalten, aktiviert die Redundanzschaltung 150 den Spaltendecodierer 130 und veranlaßt, daß eine redundante Bitleitung, die der fehlerhaften Bitleitung entspricht, von der Spaltengatterschaltung 140 angesteuert wird. Das heißt, wenn eine fehlerhafte der Spalten, die der Spaltenadresse entsprechen, vorliegt (d.h. Redundanz erforderlich ist), wird eine redundante Bitleitung, die der fehlerhaften Spalte entspricht, durch die Redundanzschaltung 150 und die Spaltengatterschaltung 140 angesteuert, während eine der fehlerhaften Spalte entsprechende Bitleitung nicht von diesen angesteuert wird.
  • Während der Y-ABTAST-Operation jedes Programmierzyklus werden die in den angesteuerten Seitenpuffern gehaltenen programmierten Datenbits über die Spaltengatterschaltung 140 zur Programmierungszustands-Feststellungsschaltung 190 übertragen. Die Programmierungszustands-Feststellungsschaltung 190 prüft, ob alle übertragenen Datenbits mit einem erforderlichen Programmierungszustand verbunden sind. Wenn ja, weist das aus der Programmierungszustands-Feststellungsschaltung 190 ausgegebene Vorwärtszählsignal YCNTUP einen Übergang von einem hohen auf einen niedrigen Pegel auf, und daher nimmt die aus dem Adressenzähler 120 ausgegebene Spaltenadresse um nicht weniger als "1" zu. Wenn die zunehmende Spaltenadresse zum Spaltendecodierer 130 und zur Redundanzschaltung 150 übertragen wird, werden die nächsten Spalten durch die Spaltengatterschaltung 140 angesteuert. Wenn mindestens eines der Datenbits mit einem unzureichend programmierten Zustand verbunden ist, behält das aus der Programmierungszustands-Feststellungsschaltung 190 ausgegebene Vorwärtszählsignal YCNTUP einen hohen Pegel bei, so daß der Adressenzähler 120 deaktiviert werden kann (dies bedeutet, daß eine vorher erzeugte Spaltenadresse ohne Erhöhung um nicht weniger als "1" gehalten wird). In diesem Fall bilden der Spaltendecodierer 130, die Spaltengatterschaltung 140 und die Redundanzschaltung 150 eine Spaltenansteuerschaltung.
  • Unter weiterer Bezugnahme auf 3 umfaßt die Programmierungszustands-Feststellungsschaltung 190 eine Datenzustands-Feststellungsschaltung 160, einen Oszillator 170 und eine Programmiererfolg/-mißerfolg-Prüfschaltung 180. Wenn Datenbits Li einer Byte/Wort-Einheit, die von der Spaltengatterschaltung 140 übertragen werden, mit einem erforderlichen Programmierungszustand verbunden sind, erzeugt die Datenzustands-Feststellungsschaltung 160 ein Schwingungssteuersignal LTo zum Betätigen des Oszillators 170. Wie in 4 gezeigt, umfaßt die Datenzustands-Feststellungsschaltung 160 zwei NICHT-UND-Gatter 161 und 162, die miteinander gekoppelt sind, und ein NICHT-ODER-Gatter 163. Wenn Datenbits eines Bytes L1-L8, die von der Seitenpufferschaltung 110 über die Spaltengatterschaltung 140 übertragen werden, auf einem hohen Pegel liegen (d.h. alle Datenbits L1-L8 mit einem Programmierungszustand verbunden sind), schaltet das Schwingungssteuersignal LTo auf einen hohen Pegel um. Wenn mindestens eines der Datenbits auf einem niedrigen Pegel liegt (d.h. mindestens eines der Datenbits mit einem unzureichend programmierten Zustand verbunden ist), schaltet das Schwingungssteuersignal LTo auf einen niedrigen Pegel um.
  • Unter weiterem Bezug auf 3 geht das Ausgangssignal (d.h. das Vorwärtszählsignal YCNTUP) des Oszillators 170 von einem niedrigen Pegel auf einen hohen Pegel über, wenn ein Signal PGMSCN, das eine Programmiererfolg/-mißerfolg-Prüfung meldet, intern auf einen hohen Pegel aktiviert wird. Gemäß einem Zustand des Schwingungssteuersignals LTo, das aus der Datenzustands-Feststellungsschaltung 160 ausgegeben wird, gibt der Oszillator 170 das Vorwärtszählsignal YCNTUP aus, das von einem hohen Pegel auf einen niedrigen Pegel übergeht. Wenn beispielsweise die Datenbits L1-L8, die über die Spaltengatterschaltung 140 übertragen werden, mit einem Programmierungszustand verbunden sind, wird das Schwingungssteuersignal LTo mit einem hohen Pegel erzeugt. Der Oszillator 170 erzeugt das Vorwärtszählsignal YCNTUP mit einem Übergang von einem hohen auf einen niedrigen Pegel, so daß eine Spaltenadresse aus dem Adressenzähler 120 um nicht weniger als "1" zunehmen kann.
  • Während der Y-ABTAST-Operation erzeugt eine Programmiererfolg/-mißerfolg-Prüfschaltung 180 ein Hinweissignal PFi, das einen Programmiererfolg oder einen Programmiermißerfolg meldet, als Reaktion auf die vom Adressenzähler 120 erzeugte Spaltenadresse und das aus dem Oszillator 170 ausgegebene Vorwärtszählsignal YCNTUP. Die Programmiererfolg/-mißerfolg-Prüfschaltung umfaßt zwei NICHT-UND-Gatter 181 und 182, einen Inverter 183 und ein NICHT-ODER-Gatter 184. Die Gatter 181 und 182 sind miteinander gekoppelt. Wenn alle Bits A1-A8 der Spaltenadresse auf einem niedrigen Pegel liegen und das Vorwärtszählsignal YCNTUP auf einem hohen Pegel liegt, erzeugt die Programmiererfolg/-mißerfolg-Prüfschaltung 180 das Erfolg/Mißerfolg-Hinweissignal PFi mit einem hohen Pegel. Wenn mindestens eines der Spaltenadressenbits auf einem niedrigen Pegel liegt, erzeugt die Schaltung 180 das Hinweissignal PFi mit einem niedrigen Pegel ungeachtet des Logikzustands. Wenn das Vorwärtszählsignal YCNTUP auf einem niedrigen Pegel liegt, erzeugt die Schaltung 180 das Hinweissignal PFi mit einem niedrigen Pegel, obwohl alle Spaltenadressenbits auf einem hohen Pegel liegen.
  • Die Programmierungszustands-Feststellungsschaltung 190 prüft einen Programmierungszustand unter Verwendung von programmierten Datenbits, die über die Spaltengatterschaltung 140 übertragen werden, entlang einer Spaltenadresse mit Redundanzinformation. Durch den Austausch gegen eine redundante Bitleitung auf der Basis der Steuerung der Redundanzschaltung 150 hat eine fehlerhafte Bitleitung keinen Einfluß auf die Schaltung 190. Das heißt, es ist möglich, das Problem, daß ein Flash-Speicherbauelement infolge einer fehlerhaften Bitleitung als Ausfallbauelement betrachtet wird, zu beseitigen.
  • 6 ist ein Ablaufplan, der einen erfindungsgemäßen Programmieralgorithmus zeigt. Nun wird der Betrieb eines Flash-Speicherbauelements mit Bezug auf 6-7 genauer beschrieben.
  • Vor der Durchführung einer Programmierung wird eine Löschoperation zum Umwandeln einer Schwellenspannung von jedem Zellentransistor in eine negative Spannung ausgeführt, und dann wird die Programmierung gemäß dem Programmieralgorithmus durchgeführt. In Schritt S100 werden Daten, die programmiert werden, in eine Seitenpufferschaltung 110 geladen. Schritt S100 geht zu Schritt S110 über, in dem eine Spaltenadresse zurückgesetzt wird. Das heißt, ein Adressenzähler 120 wird zurückgesetzt. Anschließend wird eine Reihe von Programmierzyklen zum Speichern der geladenen Daten in einer Speicherzellenmatrix 100 wie folgt ausgeführt.
  • In Schritt S120 wird eine Programmieroperation während einer vorbestimmten Zeit ausgeführt. Schritt S120 geht zu Schritt S130 über, in dem die Seitenpufferschaltung 110 Datenbits erfaßt und hält, die in die Speicherzellen einer angesteuerten Seite programmiert werden. Das heißt, eine Überprüfungsausleseoperation wird ausgeführt. Anschließend wird eine Y-ABTAST-Operation wie folgt ausgeführt.
  • Wenn die Y-ABTAST-Operation beginnt, geht ein Signal, das die Y-ABTAST-Operation meldet, von einem niedrigen Pegel auf einen hohen Pegel über, wie in 7A gezeigt. In Schritt S140 steuern ein Spaltendecodierer 130 (oder eine Redundanzschaltung 150) und eine Spaltengatterschaltung 140 Byteeinheitsspalten entsprechende Bitleitungen gemäß den Spaltenadressenbits A1-A8 (z.B. "0") an. Wenn die angesteuerten Spalten eine fehlerhafte Spalte enthalten, werden eine redundante Bitleitung und sieben Bitleitungen angesteuert. Wenn das Signal PGMSCN von einem niedrigen Pegel auf einen hohen Pegel übergeht, geht ein Vorwärtszählsignal YCNTUP, das aus einem Oszillator 170 einer Programmierungszustands-Feststellungsschaltung ausgegeben wird, von einem niedrigen Pegel auf einen hohen Pegel über.
  • Programmierte Datenbits einer Byteeinheit L1-L8, die in den angesteuerten Spalten entsprechenden Seitenpuffern gehalten werden, werden über eine Spaltengatterschaltung 140 zu einer Datenzustands-Feststellungsschaltung 160 übertragen. Wenn geprüft wird, daß alle Datenbits L1-L8, die in Schritt S150 eingegeben werden, auf einem hohen Pegel liegen, behält ein Schwingungssteuersignal LTo, das aus der Datenzustands-Feststellungsschaltung 160 ausgegeben wird, einen hohen Pegel bei. Dann erzeugt der Oszillator 170 das Vorwärtszählsignal YCNTUP mit einem Übergang von einem hohen auf einen niedrigen Pegel als Reaktion auf das Schwingungssteuersignal mit einem niedrigen Pegel. Eine Programmiererfolg/-mißerfolg-Prüfschaltung 180 gibt ein Erfolg/Mißerfolg-Hinweissignal PFi mit einem niedrigen Pegel aus, da alle Spaltenadressenbits auf einem niedrigen Pegel liegen. Und ein Adressenzähler 120 erhöht eine Spaltenadresse um nicht weniger als "1" als Reaktion auf den Übergang des Vorwärtszählsignals YCNTUP von einem hohen auf einen niedrigen Pegel (Schritt S160).
  • In Schritt S170 wird geprüft, ob die zunehmende Spaltenadresse die letzte Spaltenadresse ist. Wenn nicht, steuert eine Spaltenansteuerschaltung mit einem Spaltendecodierer 130, einer Redundanzschaltung 150 und einer Spaltengatterschaltung 140 Byteeinheitsspalten als Reaktion auf die zunehmende Spaltenadresse an. Es ist selbstverständlich, daß, wenn Byteeinheits-Bitleitungen angesteuert werden oder eine fehlerhafte Spalte vorliegt, eine redundante Bitleitung und normale Bitleitungen angesteuert werden können. Die programmierten Datenbits L1-L8 werden über die Spaltengatterschaltung 140 zur Datenzustands-Feststellungsschaltung 160 übertragen. Wenn geprüft wird, daß alle eingegebenen Datenbits L1-L8 auf einem hohen Pegel liegen (mit einem Programmierungszustand verbunden sind), wird die folgende Operation genau wie die vorstehend angeführte ausgeführt. Zu diesem Zeitpunkt behält das Ausgangssignal PFi der Programmiererfolg/-mißerfolg-Prüfschaltung 180 einen niedrigen Pegel bei.
  • Wenn die Datenbits immer mit einem programmierten Zustand verbunden sind, wird die Reihe der Operationen wiederholt ausgeführt, bis alle Spaltenadressenbits, die im Adressenzähler 120 erzeugt werden, auf einen hohen Pegel umschalten (d.h. bis alle Spalten angesteuert sind). Folglich geht das aus der Programmiererfolg/-mißerfolg-Prüfschaltung 180 ausgegebene Erfolg/Mißerfolg-Hinweissignal PFi von einem niedrigen Pegel auf einen hohen Pegel über, wenn alle Adressenbits auf einem hohen Pegel liegen und das Vorwärtszählsignal YCNTUP von einem niedrigen Pegel auf einen hohen Pegel übergeht, wie in 7A gezeigt. Dies bedeutet, daß alle Zellentransistoren, die mit der angesteuerten Seite gekoppelt sind, korrekt programmiert sind.
  • Wenn mindestens eines der Datenbits L1-L8 auf einem niedrigen Pegel liegt, bevor alle Spaltenadressenbits auf einen hohen Pegel umschalten (die letzte Spaltenadresse erzeugt wird), wird das Schwingungssteuersignal LTo von einem hohen Pegel auf einen niedrigen Pegel deaktiviert, wie in 7B dargestellt. Dies veranlaßt, daß das vom Oszillator 170 erzeugte Vorwärtszählsignal YCNTUP einen hohen Pegel beibehält, so daß die Spaltenadresse den zunehmenden Wert beibehält, ohne einen Wert derselben zu erhöhen. Und das Signal PCMSCN schaltet durch einen Übergang des Schwingungssteuersignals LTo von einem hohen auf einen niedrigen Pegel auf einen niedrigen Pegel um, wie in 7B gezeigt. Die Programmiererfolg/-mißerfolg-Prüfschaltung 180 erzeugt dann das Erfolg/Mißerfolg-Hinweissignal PFi mit einem niedrigen Pegel, da mindestens eines der Spaltenadressenbits einen niedrigen Pegel beibehält. In Schritt S190 wird geprüft, ob ein Programmierzyklus, der durchgeführt wird, die letzte Programmierung ist. Wenn ja, wird die Programmierung als Programmiermißerfolg beendet. Wenn nicht, werden die Programmieroperation, die Überprüfungsausleseoperation und die Y-ABTAST-Operation gemäß einem Programmierzyklus von festgelegten Malen wiederholt ausgeführt.
  • Eine Spaltenadresse, die Speicherzellen zuordnet, die als Programmiermißerfolg in der Y-ABTAST-Operation des ersteren Programmierzyklus überprüft wurden, wird als Startspaltenadresse der Y-ABTAST-Operation des letzteren Programmierzyklus verwendet. Dies bedeutet, daß die zum Durchführen der Y-ABTAST-Operation erforderliche Zeit verringert wird. Folglich kann die gesamte Programmierzeit verringert werden.
  • Gemäß dem Programmieralgorithmus der vorliegenden Erfindung werden fehlerhafte von Bitleitungen, die in einer Speicherzellenmatrix 100 angeordnet sind, üblich gegen redundante Bitleitungen ausgetauscht. Eine fehlerhafte Spalte ist nicht in den Spalten enthalten, die durch eine Spaltenansteuerschaltung (mit einem Spaltendecodierer, einer Redundanzschaltung und einer Spaltengatterschaltung) gemäß einer Spaltenadresse mit Redundanzinformation angesteuert werden. Datenbits zum Prüfen des Programmiererfolgs/-mißerfolgs stehen mit normalen Spalten in Beziehung, so daß eine ausgetauschte fehlerhafte Spalte keinen Einfluß auf die Operation zum Prüfen des Programmiererfolgs/-mißerfolgs hat.
  • (Zweites Ausführungsbeispiel)
  • 8 ist ein Blockdiagramm, das ein Flash-Speicherbauelement gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfindung zeigt. Mit Bezug auf 8 umfaßt das Flash-Speicherbauelement zwei Speicherzellenmatrizes 200a und 200b. Jede der Zellenmatrizes 200a und 200b ist genauso wie in 3 dargestellt strukturiert und weist zusätzliche Zeilen (Wortleitungen) und Spalten (Bitleitungen) auf. Und jede von ihnen wird "Partner" genannt. Das Flash-Speicherbauelement umfaßt ferner Seitenpufferschaltungen 210a/210b und Spaltengatterschaltungen 220a/220b, die den Zellenmatrizes 200a bzw. 200b entsprechen. Ein Spaltendecodierer & eine Redundanzschaltung 230 und ein Adressenzähler 240 sind für das Flash-Speicherbauelement vorgesehen. Die Seitenpufferschaltungen 210a und 210b, die Spaltengatterschaltungen 220a und 220b, der Spaltendecodierer & die Redundanzschaltung 230 und der Adressenzähler 240 weisen dieselbe Struktur und Funktion wie in 3 gezeigt auf. Daher wird deren Beschreibung hierin übergangen.
  • Das Flash-Speicherbauelement unterstützt eine Funktion, um zwei Speicherzellenmatrizes 200a und 200b simultan zu programmieren. Nachstehend wird diese Funktion als "1K-Programmierung" bezeichnet. Das Bauelement umfaßt eine Programmierungszustands-Feststellungsschaltung 300, die Daten DM1i und DM2i (i ist eine positive ganze Zahl) empfängt, die über die Spaltengatterschaltungen 220a und 220b übertragen werden, und prüft, ob alle der Daten DM1i und DM2i mit einem Programmierungszustand verbunden sind.
  • Üblicherweise werden fehlerhafte der in den Speicherzellenmatrizes 200a und 200b angeordneten Bitleitungen gegen redundante Bitleitungen ausgetauscht. Eine fehlerhafte Spalte ist nicht in den Spalten enthalten, die durch den Spaltendecodierer & die Redundanzschaltung 230 und die Spaltengatterschaltungen 220a und 220b gemäß einer Spaltenadresse mit Redundanzinformation angesteuert werden. Datenbits, die von der Seitenpufferschaltung 210a und 210b über die Spaltengatterschaltung 220a und 220b zur Programmierungszustands-Feststellungsschaltung 300 übertragen werden, um einen Programmiererfolg/-mißerfolg zu prüfen, betreffen normale Spalten, die nicht fehlerhaft sind. Folglich kann eine ausgetauschte fehlerhafte Spalte keinen Einfluß auf die Operation zum Prüfen des Programmiererfolgs/-mißerfolgs haben, wodurch die vorstehend erwähnten Probleme gelöst werden.
  • Unter weiterer Bezugnahme auf 8 prüft die Programmierungszustands-Feststellungsschaltung 300, ob die Datenbits DM1i, die über die Spaltengatterschaltung 220a, die der Speicherzellenmatrix 200a entspricht, übertragen werden, mit einem Programmierungszustand (z.B. "1") verbunden sind. Und die Schaltung 300 prüft, ob die Datenbits DM2i, die über die Spaltengatterschaltung 220b, die der Speicherzellenmatrix 200b entspricht, übertragen werden, mit einem Programmierungszustand (z.B. "1") verbunden sind. Als Prüfergebnis gibt die Schaltung 300 Signale PF_OSC, PF_FSR1 und PF_FSR2 aus. Dies wird nachstehend genauer beschrieben.
  • Mit Bezug auf 9, in der ein Blockdiagramm eine Programmiererfolg/-mißerfolg-Prüfschaltung gemäß dem zweiten Ausführungsbeispiel der vorliegenden Erfindung zeigt, umfaßt die Programmierungszustands-Feststellungsschaltung 300 zwei Datenzustands-Feststellungsschaltungen 310 und 312, erste bis dritte Register 314, 316 und 328, ein Oszillatorsteuerelement 324 und einen Oszillator 326.
  • Die Datenzustands-Feststellungsschaltungen 310 und 312 entsprechen den Speicherzellenmatrizes 200a bzw. 200b. Die Schaltung 310 prüft, ob alle Datenbits DM1i (z.B. Datenbits einer Byteeinheit), die über die Spaltengatterschaltung 220a übertragen werden, unter den Datenbits, die aus der entsprechenden Speicherzellenmatrix 200a ausgelesen werden, mit einem Programmierungszustand verbunden sind. Als Prüfergebnis gibt die Schaltung 300 ein Signal pf_dM1FAIL aus. Ähnlich dazu prüft die Datenzustands-Feststellungsschaltung 312, ob alle Datenbits DM2i (z.B. Datenbits einer Byteeinheit), die über die Spaltengatterschaltung 220b übertragen werden, unter den Datenbits, die aus der entsprechenden Speicherzellenmatrix 200b ausgelesen werden, mit einem Programmierungszustand verbunden sind. Als Prüfergebnis gibt die Schaltung 300 ein Signal pf_dM2FAIL aus.
  • Mit Bezug auf 10, die ein bevorzugtes Ausführungsbeispiel der Datenzustands-Feststellungsschaltung 310 zeigt, besteht die Schaltung 310 aus drei NICHT-UND-Gattern 501, 502 und 505, einem NICHT-ODER-Gatter 503 und zwei Invertern 504 und 506. Ein Signal ACP_M1 zeigt an, ob eine Speicherzellenmatrix 200a angesteuert wird. Wenn ja, weist das Signal ACP_M1 einen hohen Pegel auf. Wenn alle Datenbits DM1<1> bis DM1<7> auf einer logischen "1" liegen (mit einem Programmierungszustand verbunden sind), schaltet das Signal pf_dM1FAIL auf einen hohen Pegel um. Dies bedeutet, daß die Zellentransistoren, die den angesteuerten Spalten entsprechen, mit einer Schwellenspannung programmiert sind, die einem erforderlichen Programmierungszustand entspricht. Wenn mindestens eines der Datenbits DM1<0> bis DM1<7> auf einer logischen "0" liegt, schaltet das Signal pf_dM1FAIL auf einen niedrigen Pegel um. Dies bedeutet, daß die Zellentransistoren, die den angesteuerten Spalten entsprechen, unzureichend programmiert sind. Obwohl in keiner Figur dargestellt, ist es selbstverständlich, daß eine Datenzustands-Feststellungsschaltung 312, die der Speicherzellenmatrix 200b entspricht, dieselbe Struktur wie in 10 gezeigt aufweist.
  • Unter erneuter Bezugnahme auf 9 speichert das erste und das zweite Register 314 und 316 die Signale pf_dM1FAIL und pf_dM2FAIL, die aus den Datenzustands-Feststellungsschaltungen 310 bzw. 312 während des letzten Programmierzyklus ausgegeben werden. Im letzten Programmierzyklus geben die Register 314 und 316 die Signale pf_fM1FAIL/pf_fM2FAIL als Reaktion auf das Signal pf_dM1FAIL und pf_dM2FAIL aus, welche aus den Datenzustands-Feststellungsschaltungen 310 bzw. 312 ausgegeben werden. Ein bevorzugtes Ausführungsbeispiel des ersten Registers 314, das der Datenzustands-Feststellungsschaltung 310 entspricht, ist in 11 dargestellt.
  • Mit Bezug auf 11 besteht das erste Register 314 aus einem UND-Gatter 507, drei NICHT-UND-Gattern 508, 515 und 516, zwei Invertern 511 und 513, drei NICHT-ODER-Gattern 509, 510 und 514 und einem Impulsgenerator 512. Die NICHT-UND-Gatter werden durch einen Setz-Rücksetz-Flipflop (SR-Flipflop) betätigt. Signale INT_S1KPGM und PGM_FLPMAX zeigen eine 1K-Programmieroperation bzw. einen letzten Programmierzyklus an. Ein Signal RD_PYSCNEN zeigt den Beginn einer Y-ABTAST-Operation als Impulssignal an. Ein Signal INT_PPWRUP wird bei der Einschaltoperation aktiviert. Und ein Signal pf_1SCNen wird von einem Oszillatorsteuerelement 324 geliefert. Jedes von ihnen ist ein aktiv hohes Signal.
  • Bei der Einschaltoperation oder Anforderung der 1K-Programmierung wird das erste Register 314 initialisiert, um zu veranlassen, daß ein Ausgangssignal pf_fM1FAIL des SR-Flipflops auf einen niedrigen Pegel umschaltet. Wenn ein Programmierzyklus, der durchgeführt wird, nicht der letzte ist (d.h. das Signal PGM_FLPMAX auf einem niedrigen Pegel liegt), behält das Signal pf_fM1FAIL einen initialisierten Pegel (niedrigen Pegel) bei. Dies liegt daran, daß ein Eingangssignal SET des NICHT-UND-Gatters 515 einen hohen Pegel beibehält. Wenn der Zyklus nicht der letzte ist, behält folglich das Signal pf_fM1FAIL ungeachtet des Ausgangssignals pf_dM1FAIL der Datenzustands-Feststellungsschaltung 310 einen initialisierten Pegel bei. Wenn der Zyklus der letzte ist, geht das Signal PGM_FLPMAX von einem niedrigen Pegel auf einen hohen Pegel über. Daher wird das Signal pf_fM1FAIL durch das aus der entsprechenden Datenzustands-Feststellungsschaltung 310 ausgegebene Signal pf_dM1FAIL beeinflußt. Wenn das Ausgangssignal pf_dM1FAIL/pf_dM2FAIL der Datenzustands-Feststellungsschaltung 310/312 beispielsweise auf einem niedrigen Pegel liegt (d.h. mindestens einer der Zellentransistoren, die den angesteuerten Spalten entsprechen, unzureichend programmiert ist), geht das Eingangssignal SET des NICHT-UND-Gatters 505 von einem hohen Pegel auf einen niedrigen Pegel über. Dies bewirkt einen Übergang des Ausgangssignals pf_fM1FAIL/pf_fM2FAIL des Registers 314/316 von einem niedrigen auf einen hohen Pegel.
  • Es ist selbstverständlich, daß das zweite Register 316, das der Datenzustands-Feststellungsschaltung 312 entspricht, dieselbe Struktur wie in 11 gezeigt aufweist. Folglich wird dessen Beschreibung hierin übergangen. Wenn die 1K-Programmierung ausgeführt wird und der vorliegende Programmierzyklus der letzte ist, werden das erste und das zweite Register 314 und 316 durch die Ausgangssignale pf_dM1FAIL bzw. pf_dM2FAIL beeinflußt.
  • Mit erneutem Bezug auf 9 besteht das Oszillatorsteuerelement 324 aus einer Aktivierungsschaltung 318, einer Deaktivierungsschaltung 320 und einem Schwingungssteuersignal-Generator 322. Der Schwingungssteuersignal-Generator 322 aktiviert ein Schwingungssteuersignal pf_1SCNen als Reaktion auf ein Aktivierungssignal PF_START, das aus der Aktivierungsschaltung 318 ausgegeben wird, und deaktiviert das Signal pf_1SCNen als Reaktion auf ein Deaktivierungssignal PF_PPFEND, das aus der Deaktivierungsschaltung 320 ausgegeben wird.
  • Mit Bezug auf 12, in der ein bevorzugtes Ausführungsbeispiel des Schwingungssteuersignal-Generators 322 dargestellt ist, besteht der Generator 322 aus fünf Invertern 517, 519, 522, 523 und 524, einem NICHT-ODER-Gatter 518, einem Flipflop 520 und einer Verzögerungsschaltung 521. Der Flipflop 520 dient als Zwischenspeicher und wird bei der Einschaltoperation initialisiert. Und der Flipflop 520 wird mit einem Übergang eines Taktsignals RD_PYSCNEN von einem hohen auf einen niedrigen Pegel synchronisiert, um das Aktivierungssignal PF_START, das aus der Aktivierungsschaltung 318 ausgegeben wird, zu halten. Wenn das Aktivierungssignal PF_START auf einem hohen Pegel liegt, geht das Schwingungssteuersignal pf_1SCNen von einem niedrigen Pegel auf einen hohen Pegel über. Somit erzeugt der Oszillator 326 ein Schwingungssignal PF_OSC mit einer vorbestimmten Periode. Wenn das Aktivierungssignal PF_START auf einem niedrigen Pegel liegt, behält das Schwingungssteuersignal pf_1SCNen kontinuierlich einen Anfangszustand mit einem niedrigen Pegel bei. Somit wird der Oszillator 326 nicht betätigt. Überdies wird der Flipflop 520 bei einem Übergang des Deaktivierungssignals PF_PPFEND, das aus der Deaktivierungsschaltung 320 ausgegeben wird, von einem niedrigen auf einen hohen Pegel initialisiert. Die Verzögerungsschaltung 521 dient als Inverter und verzögert den Übergang eines Eingangssignals DI von einem niedrigen auf einen hohen Pegel während einer vorbestimmten Zeit. Im Gegensatz dazu verzögert die Verzögerungsschaltung 521 dessen Übergang von einem hohen auf einen niedrigen Pegel nicht.
  • Mit Bezug auf 13, in der ein bevorzugtes Ausführungsbeispiel der Aktivierungsschaltung 318 dargestellt ist, besteht die Schaltung 318 aus zwei NICHT-UND-Gattern 525 und 526, zwei NICHT-ODER-Gattern 527 und 530, zwei UND-Gattern 528 und 529 und einem Inverter 531. Wenn ein Programmierzyklus, der durchgeführt wird, nicht der letzte ist (INT_S1KPGM="H", PGM_FLPMAX="L"), erzeugt die Aktivierungsschaltung 318 ein Aktivierungssignal PF_START mit einem niedrigen oder hohen Pegel als Reaktion auf die Signale pf_dM1FAIL und pf_dM2FAIL, die aus den Datenzustands-Feststellungsschaltungen 310 und 312 ausgegeben werden. Wenn beispielsweise mindestens eines der Signale pf_dM1FAIL und pf_dM2FAIL auf einem hohen Pegel liegt (Programmiermißerfolg für die angesteuerten Daten), schaltet das Aktivierungssignal PF_START auf einen niedrigen Pegel um. Dies veranlaßt, daß ein Schwingungssteuersignal pf_1SCNen einen niedrigen Pegel beibehält, so daß kein Schwingungssignal PF_OSC vom Oszillator 326 erzeugt wird (die Y-ABTAST-Operation wird nicht ausgeführt). Wenn beide Signale pf_dM1FAIL und pf_dM2FAIL auf einem niedrigen Pegel liegen, (Programmiererfolg für die angesteuerten Daten), schaltet das Aktivierungssignal PF_START auf einen hohen Pegel um. Dies veranlaßt, daß das Schwingungssteuersignal pf_1SCNen auf einen hohen Pegel umschaltet, so daß der Oszillator 326 ein Schwingungssignal PF_OSC mit einer vorbestimmten Periode ausgibt.
  • Wenn ein Programmierzyklus, der durchgeführt wird, der letzte ist, schaltet das Aktivierungssignal PF_START auf einen hohen Pegel um, wenn mindestens eines der Signale pf_dM1FAIL und pf_dM2FAIL auf einem niedrigen Pegel liegt (Programmiererfolg für die angesteuerten Daten oder die diesen entsprechende Speicherzellenmatrix). Dies veranlaßt, daß das Schwingungssteuersignal pf_1SCNen auf einen hohen Pegel umschaltet, so daß der Oszillator 326 das Schwingungssignal PF_OSC mit einer vorbestimmten Periode ausgibt. Wenn alle Signale pf_dM1FAIL und pf_dM2FAIL auf einem hohen Pegel liegen, schaltet das Aktivierungssignal PF_START auf einen niedrigen Pegel um. Dies veranlaßt, daß das Schwingungssteuersignal pf_1SCNen einen niedrigen Pegel beibehält, so daß der Oszillator 326 kein Schwingungssignal PF_OSC erzeugt (die Y-ABTAST-Operation wird nicht ausgeführt).
  • Mit Bezug auf 14, in der ein bevorzugtes Ausführungsbeispiel der Deaktivierungsschaltung 320 dargestellt ist, besteht die Schaltung 320 aus NICHT-UND-Gattern 533, 534, 536, 542, NICHT-ODER-Gattern 538 und 545, einem ODER-Gatter 532, einem UND-Gatter 544, Invertern 537, 539, 541, 545, 546 und 548, Impulsgeneratoren 540, 547 und einem Flipflop 543. Wenn ein Eingangssignal von einem niedrigen Pegel auf einen hohen Pegel übergeht, erzeugt jeder der Impulsgeneratoren 540 und 547 ein Signal mit einem aktiv niedrigen Impuls.
  • Bei der Einschaltoperation oder einem Übergang eines Deaktivierungssignals PF_PPFEND von einem hohen auf einen niedrigen Pegel wird der Flipflop 543 initialisiert. Als Reaktion auf ein Ausgangssignal des NICHT-ODER-Gatters 538, welches ein Schwingungssignal PF_OSC über den Inverter 537 und ein Signal RD_PYSCNEN empfängt (d.h. wenn das Schwingungssignal PF_OSC von einem niedrigen Pegel auf einen hohen Pegel übergeht), hält der initialisierte Flipflop 543 ein Ausgangssignal des NICHT-ODER-Gatters 536.
  • Wenn ein Programmierzyklus, der durchgeführt wird, nicht der letzte ist (alle Signale PGM_FLPMAX, pf_fM1FAIL und pf_fM2FAIL behalten einen niedrigen Pegel bei), schaltet ein Ausgangssignal des NICHT-UND-Gatters 536 ungeachtet eines Signals ACP_FFYADD auf einen hohen Pegel um, wenn mindestens eines der Signale pf_dM1FAIL und pf_dM2FAIL, die aus den Datenzustands-Feststellungsschaltungen 310 und 312 ausgegeben werden, auf einem hohen Pegel liegt (Programmiermißerfolg für die angesteuerten Daten). Dies erzeugt ein Deaktivierungssignal PF_PPFEND mit einem aktiv hohen Impuls. Wie vorstehend erwähnt, wird folglich das Schwingungssteuersignal pf_1SCNen durch das Deaktivierungssignal PF_PPFEND mit einem aktiv hohen Impuls auf einen niedrigen Pegel deaktiviert. Wenn vom Adressenzähler 240 eine letzte Spaltenadresse erzeugt wird, geht ein Signal ACP_FFYRDD von einem niedrigen Pegel auf einen hohen Pegel über. Wenn der Programmierzyklus, der durchgeführt wird, der letzte ist (PGM_FLPMAX="1"), wird ein Logikpegel eines aus dem NICHT-UND-Gatter 536 ausgegebenen Signals ungeachtet der Ausgangssignale pf_dM1FAIL und pf_dM2FAIL durch das Signal ACP_FFYADD festgelegt. Wenn das Signal ACP_FFYADD auf einem niedrigen Pegel liegt (die letzte Spaltenadresse nicht erzeugt wird), schaltet das Ausgangssignal des NICHT-UND-Gatters 536 auf einen niedrigen Pegel um. Wenn alle Ausgangssignale pf_fM1FAIL und pf_fM2FAIL auf einem niedrigen Pegel liegen (die über die Spaltengatterschaltungen 220a und 220b übertragenen Daten DM1i und DM2i mit einem Programmierungszustand verbunden sind), behält das Deaktivierungssignal PF_PPFEND unter dieser Bedingung kontinuierlich einen niedrigen Pegel bei. Dies veranlaßt, daß das Schwingungssteuersignal pf_1SCNen kontinuierlich einen hohen Pegel beibehält. Wenn mindestens eines der Ausgangssignale pf_fM1FAIL und pf_fM2FAIL auf einem hohen Pegel liegt, wird ein Deaktivierungssignal PF_PPFEND mit einem aktiv hohen Impuls erzeugt, um das Schwingungssteuersignal pf_1SCNen auf einen niedrigen Pegel zu deaktivieren.
  • Unter erneuter Bezugnahme auf 9 umfaßt die Programmierungszustands-Feststellungsschaltung 300 ferner ein drittes Register 328 und gibt Hinweissignale PF_FSR1 und PF_FSR2 aus, die für jede der Speicherzellenmatrizes 200a und 200b einen Programmiererfolg/-mißerfolg anzeigen. Jedes der Signale PF_FSR1 und PF_FSR2 wird durch ein Befehlssignal PGM auf einen hohen Pegel gesetzt, der einen Programmiermißerfolg anzeigt. Wenn nach dem Beginn der 1K-Programmierung ein Programmierzyklus, der durchgeführt wird, nicht der letzte ist, werden die Signale PF_FSR1 und PF_FSR2 durch das Signal ACP_FFYADD beeinflußt. Wenn es der letzte ist, werden die Hinweissignale PF_FSR1 und PF_FSR2 durch die Signale ACP_FFYADD und pf_fM1FAIL und pf_fM2FAIL beeinflußt. Dies wird später genauer beschrieben.
  • Wenn für die Speicherzellen der angesteuerten Spalten in einer der Speicherzellenmatrizes vor dem letzten Programmierzyklus ein Programmiermißerfolg erzeugt wird, wird gemäß dem vorstehend beschriebenen Flash-Speicherbauelement des zweiten Ausführungsbeispiels die Y-ABTAST-Operation für die Speicherzellenmatrizes 200a und 200b gestoppt und dann wird der nächste Programmierzyklus ausgeführt. Es ist denkbar, daß eine Spaltenadresse (die unzureichend programmierte Zellen zuordnet), die als letzte in der Y-ABTAST-Operation in einem früheren Programmierzyklus verwendet wird, als Startspaltenadresse der Y-ABTAST-Operation im nächsten Programmierzyklus verwendet wird. Obwohl in einer der Speicherzellenmatrizes 200a und 200b ein Programmiermißerfolg erzeugt wird, während der letzte Programmierzyklus ausgeführt wird, wird die Y-ABTAST-Operation nicht gestoppt, um den Programmiererfolg/-mißerfolg für die andere zu bestätigen. Das heißt, eine Spaltenadresse wird kontinuierlich erzeugt.
  • 15 ist ein Ablaufplan, der einen Programmieralgorithmus gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfindung darstellt.
  • Nun wird der Betrieb des Flash-Speicherbauelements mit Bezug auf 15-16 nachstehend genauer beschrieben.
  • Wie vorstehend beschrieben, wird vor dem Ausführen einer Programmierung eine Löschoperation durchgeführt, um eine Schwellenspannung aller Zellentransistoren in eine negative Spannung umzuwandeln. Und dann wird eine 1K-Programmierung (dies bedeutet, daß die Speicherzellenmatrizes 200a und 200b simultan programmiert werden) gemäß einem in 6 gezeigten Programmieralgorithmus durchgeführt. Wenn die 1K-Programmierung beginnt, wird ein drittes Register 328 der Programmierungszustands-Feststellungsschaltung 300 initialisiert. Das heißt, Hinweissignale PF_FSR1 bzw. PF_FSR2 werden auf einen hohen Pegel initialisiert (Programmiermißerfolg). Ein Deaktivierungssignal PF_PPFEND und ein Schwingungssteuersignal pf_1SCNen werden ebenfalls auf einen niedrigen Pegel initialisiert.
  • Daten, die programmiert werden, werden in die Seitenpufferschaltungen 210a bzw. 210b geladen. In Schritt S210 wird der Adressenzähler 240 zurückgesetzt. Anschließend wird ein Programmierzyklus (Programmieroperation, Überprüfungsausleseoperation und Y-ABTAST-Operation) zum Speichern der geladenen Daten in den Speicherzellenmatrizes 200a und 200b wie folgt ausgeführt.
  • In Schritt S220 wird die 1K-Programmieroperation für die geladenen Daten mit demselben Verfahren wie vorstehend erwähnt ausgeführt. Schritt S220 geht zu Schritt S230 über, in dem Seitenpufferschaltungen 210a und 210b Datenbits erfassen und halten, die in Speicherzellen programmiert sind, welche einer angesteuerten Seite der Speicherzellenmatrizes 200a und 200b entsprechen. Das heißt, eine Überprüfungsausleseoperation wird ausgeführt. Anschließend wird eine Y-ABTAST-Operation wie folgt ausgeführt.
  • Wenn die Y-ABTAST-Operation beginnt, wird, wie in 16A gezeigt, ein impulsförmiges Signal RD_PYSCNEN zum Melden des Starts der Y-ABTAST-Operation erzeugt. Unter den Spalten von jeder der Speicherzellenmatrizes 200a und 200b werden Byteeinheitsspalten (Seitenpuffer, die Bitleitungen oder Spalten entsprechen) durch den Spaltendecodierer & die Redundanzschaltung 230 und die Spalten-Durchgangsgatterschaltungen 220a und 220b gemäß einer Spaltenadresse, die früher initialisiert wurde, angesteuert. Wenn die angesteuerten Spalten, die jeder der Speicherzellenmatrizes 200a und 200b entsprechen, eine fehlerhafte Spalte enthalten, werden eine redundante Bitleitung und sieben Bitleitungen pro Speicherzellenmatrix angesteuert (Schritt S240). Die Daten (nachstehend werden DM1i und DM2i als erste Daten bzw. zweite Daten bezeichnet), die in den Seitenpuffern der angesteuerten Spalten gehalten werden, die jeder der Speicherzellenmatrizes 200a und 200b entsprechen, werden zu den entsprechenden Datenzustands-Feststellungsschaltungen 310 bzw. 312 übertragen.
  • In Schritt S250 wird geprüft, ob alle Bits der ersten und zweiten Daten DM1i und DM2i mit einem Programmierungszustand (logische "1") verbunden sind. Wenn ja, schaltet jedes der Signale pf_dM1FAIL und pf_dM2FAIL auf einen niedrigen Pegel um, der die Tatsache anzeigt, daß die angesteuerten Daten korrekt programmiert sind. Wenn das Aktivierungssignal PF_START auf einem hohen Pegel liegt, werden die Daten DM1i und DM2i in einem Flipflop 520 des Schwingungssteuersignal-Generators 322 bei einem Übergang eines Signals RD_PYSCNEN von einem hohen auf einen niedrigen Pegel gehalten. Somit geht das Schwingungssteuersignal pf_1SCNen von einem niedrigen Pegel auf einen hohen Pegel über, um den Oszillator 326 zu betätigen. Beim Übergang eines Schwingungssignals PF_OSC von einem hohen auf einen niedrigen Pegel erhöht der Adressenzähler 240 eine Spaltenadresse um nicht weniger als "1", um die nächsten Spalten anzusteuern (Schritt S260).
  • In Schritt S270 wird geprüft, ob eine aus dem Adressenzähler 240 ausgegebene Spaltenadresse die letzte ist. Wenn nicht, werden die vorangehenden Schritte (S240, S250 und S260) wiederholt ausgeführt, bis alle Spalten angesteuert sind (d.h. eine letzte Spalte erzeugt wird). Wenn ja, geht ein Signal ACP_FFYADD von einem niedrigen Pegel auf einen hohen Pegel über. Folglich schalten alle aus dem dritten Register 328 ausgegebenen Hinweissignale PF_FSR1 und PF_FSR2 auf einen niedrigen Pegel um (Programmiermißerfolg). Wie in 16A gezeigt, werden anschließend das Deaktivierungssignal PF_PPFEND und das Schwingungssteuersignal pf_1SCNen gemäß einem Übergang eines Signals ACP_FFYADD von einem niedrigen auf einen hohen Pegel nacheinander deaktiviert.
  • Während mit Bezug auf 16B die Y-ABTAST-Operation irgendeines Programmierzyklus ausgeführt wird (oder ein Signal PGM_FLPMAX einen niedrigen Pegel beibehält), werden die ersten und zweiten Daten DM1i und DM2i zu den Datenzustands-Feststellungsschaltungen 310 bzw. 312 übertragen. Wenn geprüft wird, daß irgendwelche der Daten DM1i und DM2i (z.B. die zweiten Daten DM2i) unzureichend programmiert sind (Schritt S250), geht ein Ausgangssignal pf_dM2FAIL der Datenzustands-Feststellungsschaltung 312, die den zweiten Daten DM2i entspricht, von einem niedrigen Pegel auf einen hohen Pegel über. Da ein Programmierzyklus, der durchgeführt wird, nicht der letzte ist (d.h. das Signal PGM_FLPMAX einen niedrigen Pegel beibehält), geht ein Eingangssignal ID des Flipflops 543 der Deaktivierungsschaltung 320 (d.h. ein Ausgangssignal des NICHT-UND-Gatters 536) von einem niedrigen Pegel auf einen hohen Pegel über. Wie in 16B gezeigt, erzeugt die Deaktivierungsschaltung 320 folglich ein Deaktivierungssignal PF_PPFEND mit einem aktiv hohen Impuls. Dies führt zu einem Übergang des Schwingungssteuersignals pf_1SCNen von einem hohen auf einen niedrigen Pegel. Die Y-ABTAST-Operation des Programmierzyklus wird durch die vorangehende Prozedur beendet.
  • Wenn mit Bezug auf 16C geprüft wird, welche der ersten und zweiten Daten DM1i und DM2i (z.B. die zweiten Daten DM2i) unzureichend programmiert sind (Schritt S250), während ein Signal PGM_FLPMAX einen hohen Pegel beibehält (d.h. die Y-ABTAST-Operation des letzten Programmierzyklus ausgeführt wird), schaltet ein Ausgangssignal pf_dM2FAIL der Datenzustands-Feststellungsschaltung 312 auf einen hohen Pegel um. Da ein Programmierzyklus, der ausgeführt wird, der letzte ist, wird das Signal pf_dM2FAIL mit hohem Pegel im zweiten Register 316 gespeichert. Ebenso wird das Signal pf_dM1FAIL mit niedrigem Pegel im ersten Register 314 gespeichert. Folglich behält ein Ausgangssignal pf_fM1FAIL des ersten Registers 314 einen niedrigen Pegel bei, während ein Ausgangssignal pf_fM2FAIL des zweiten Registers 316 von einem niedrigen Pegel auf einen hohen Pegel übergeht. Obwohl ein Signal pf_dM2FAIL auf einen hohen Pegel umschaltet, behält ein Deaktivierungssignal PF_PPFEND kontinuierlich einen niedrigen Pegel bei. Dies liegt daran, daß der Programmierzyklus, der durchgeführt wird, der letzte ist und das Signal ACP_FFYADD auf einem niedrigen Pegel liegt. Daher behält das Deaktivierungssignal PF_PPFEND einen niedrigen Pegel bei, da eines der Eingangssignale pf_fM1FAIL und pf_fM2FAIL auf einem hohen Pegel liegt. Obwohl die Speicherzellenmatrix als Programmiermißerfolg geprüft wurde (Schritt S290), erhöht der Adressenzähler 240 eine Spaltenadresse um nicht weniger als "1" als Reaktion auf den Übergang eines Schwingungssignals PF_OSC von einem hohen auf einen niedrigen Pegel, um die nächsten Spalten der Speicherzellenmatrix 200a anzusteuern. Danach werden die vorstehend beschriebenen Schritte wiederholt ausgeführt, bis die letzte Spaltenadresse erzeugt wird. Wenn die letzte Spaltenadresse erzeugt wird (d.h. das Signal ACP_PFFYADD von einem hohen Pegel auf einen niedrigen Pegel übergeht), erzeugt die Deaktivierungsschaltung 320 ein impulsförmiges Deaktivierungssignal PF_PPFEND. Folglich wird das Schwingungssteuersignal pf_1SCNen auf einen niedrigen Pegel deaktiviert, um den Oszillator 326 nicht zu betätigen.
  • Wenn das Signal ACP_FFYADD von einem niedrigen Pegel auf einen hohen Pegel übergeht, schaltet ein Ausgangssignal PF_FSR1 des dritten Registers 328 durch ein aus dem ersten Register 314 ausgegebenes Signal pf_fM1FAIL mit niedrigem Pegel auf einen niedrigen Pegel um, wie in 16C gezeigt. Dies bedeutet, daß die mit der Speicherzellenmatrix 200a in Beziehung stehende Programmieroperation gelungen ist. Ein Ausgangssignal PF_FSR2 des dritten Registers 328 behält durch ein aus dem zweiten Register 316 ausgegebenes Signal pf_fM2FAIL mit einem hohen Pegel kontinuierlich einen hohen Pegel bei, wie in 16C gezeigt. Dies bedeutet, daß die mit der Speicherzellenmatrix 200a in Beziehung stehende Programmieroperation mißlungen ist.
  • Wenn mit Bezug auf 16D beispielsweise die zweiten Daten DM2i als unzureichend programmiert geprüft werden, während ein Signal PGM_FLPMAX einen hohen Pegel beibehält (d.h. die Y-ABTAST-Operation eines letzten Programmierzyklus ausgeführt wird) (Schritt S250), schaltet ein Ausgangssignal pf_dM2FAIL der Datenzustands-Feststellungsschaltung 312 auf einen hohen Pegel um. Da ein Programmierzyklus, der durchgeführt wird, der letzte ist, wird ein Signal pf_dM2FAIL mit niedrigem Pegel im zweiten Register 316 gespeichert. Ebenso wird ein Signal pf_dM1FAIL mit niedrigem Pegel im ersten Register 314 gespeichert. Folglich behält das Ausgangssignal pf_fM1FAIL des ersten Registers 314 einen niedrigen Pegel bei, während das Ausgangssignal pf_fM2FAIL des zweiten Registers 316 von einem niedrigen Pegel auf einen hohen Pegel übergeht. Obwohl das Signal pf_dM2FAIL auf einen hohen Pegel umschaltet, behält das Deaktivierungssignal PF_PPFEND kontinuierlich einen niedrigen Pegel bei. Dies liegt daran, daß der Programmierzyklus, der durchgeführt wird, der letzte ist und das Signal ACP_FFYADD auf einem niedrigen Pegel liegt. Das Deaktivierungssignal PF_PPFEND behält kontinuierlich einen niedrigen Pegel bei, da nur eines der Signale pf_fM1FAIL und pf_fM2FAIL, die aus dem UND-Gatter 536 eingegeben werden, auf einem hohen Pegel liegt. Obwohl die Speicherzellenmatrix 200b als Programmiermißerfolg geprüft wird, erhöht der Adressenzähler 240 folglich eine Spaltenadresse um nicht weniger als "1" als Reaktion auf einen Übergang des Schwingungssignals PF_OSC von einem hohen auf einen niedrigen Pegel, um die nächsten Spalten der Speicherzellenmatrix 200a anzusteuern, wie in 16C gezeigt. Dies bedeutet, daß die mit der Speicherzellenmatrix 200b in Beziehung stehende Programmieroperation mißlungen ist.
  • Wenn die ersten Daten DM1i vor der Erzeugung der letzten Spaltenadresse im letzten Programmierzyklus als unzureichend programmiert geprüft werden, schaltet das Signal pf_dM1FAIL auf einen hohen Pegel um. Da der Programmierzyklus, der durchgeführt wird, der letzte ist, wird ein Signal pf_dM1FAIL mit hohem Pegel ebenfalls im ersten Register 314 gespeichert. Dies führt zu einem Übergang des Ausgangssignals pf_fM1FAIL des ersten Registers 314 von einem niedrigen auf einen hohen Pegel. Da alle Eingangssignale pf_fM1FAIL und pf_fM2FAIL auf einem hohen Pegel liegen, wie in 16D gezeigt, geht das Deaktivierungssignal PF_PPFEND von einem niedrigen Pegel auf einen hohen Pegel über. Folglich wird das Schwingungssteuersignal pf_1SCNen auf einen niedrigen Pegel deaktiviert. Das heißt, der Oszillator 326 wird nicht mehr betätigt. Da jedes der Signale pf_fM1FAIL und pf_fM2FAIL, die aus dem ersten und dem zweiten Register 314 und 316 ausgegeben werden, einen hohen Pegel beibehält, behalten die aus dem dritten Register 328 ausgegebenen Hinweissignale PF_FSR1 und PF_FSR2 einen anfänglich festgelegten Zustand bei. Dies bedeutet, daß alle mit den Speicherzellenmatrizes 200a und 200b in Beziehung stehenden Programmierungen mißlungen sind.
  • Da, wie vorstehend erläutert, eine Programmiererfolg/-mißerfolg-Prüfoperation unter Verwendung von Datenbits, die durch eine Spaltengatterschaltung gemäß einer Spaltenadresse mit Redundanzinformation angesteuert werden, durchgeführt wird, hat eine fehlerhafte Bitleitung (Bitleitungen) keinen Einfluß auf die Operation. Daher wird ein nicht-flüchtiges Halbleiterspeicherbauelement nicht als Ausfallbauelement betrachtet, so daß eine Ausbeuteverschlechterung verhindert wird.

Claims (15)

  1. Nicht-flüchtiges Halbleiterspeicherbauelement, welches folgendes umfaßt: eine Speicherzellenmatrix mit einer Vielzahl von Zeilen, einer Vielzahl von Spalten und einer Vielzahl von Speicherzellen, die jeweils mit den Zeilen und Spalten gekoppelt sind; eine Ausleseschaltung zum Lesen und Halten von programmierten Datenbits über die Spalten aus der Speicherzellenmatrix; eine Spaltenansteuerschaltung zum teilweisen Ansteuern der Spalten; eine Programmierungszustands-Feststellungsschaltung zum Feststellen, ob alle Datenbits, die aus der Spaltenansteuerschaltung ausgegeben werden, mit einem Programmierungszustand verbunden sind, während der Programmiererfolg/-mißerfolg-Prüfoperation eines Programmierzyklus, welche ein Impulssignal erzeugt; und einen Adressenzähler zum Erzeugen einer Spaltenadresse als Reaktion auf das Impulssignal, wobei die Spaltenansteuerschaltung die Spalten als Reaktion auf die Spaltenadresse teilweise ansteuert.
  2. Bauelement nach Anspruch 1, wobei die Speicherzellenmatrix ferner eine Vielzahl von redundanten Spalten zum Austauschen von fehlerhaften der Spalten umfaßt.
  3. Bauelement nach Anspruch 2, wobei die Spaltenansteuerschaltung einen Spaltendecodierer zum Decodieren einer aus dem Adressenzähler ausgegebenen Spaltenadresse, eine Spaltengatterschaltung zum Ansteuern der Spalten als Reaktion auf eine vom Spaltendecodierer decodierte Spaltenadresse und eine Redundanzschaltung zum Empfangen der Spaltenadresse umfaßt, wobei, wenn Spalten, die der Spaltenadresse entsprechen, mindestens eine fehlerhafte Spalte enthalten, die Redundanzschaltung den Spaltendecodierer deaktiviert und die fehlerhafte Spalte gegen eine entsprechende redundante Spalte über die Spaltengatterschaltung austauscht.
  4. Bauelement nach Anspruch 1, wobei die Programmierungszustands-Feststellungsschaltung folgendes umfaßt: eine Schaltung, die den angesteuerten Spalten entsprechende Datenbits aus den Datenbits, die in der Ausleseschaltung gehalten werden, empfängt und das Impulssignal erzeugt, wenn alle empfangenen Datenbits mit einem Programmierungszustand verbunden sind; und eine Erfolg/Mißerfolg-Prüfschaltung, die ein Erfolg/Mißerfolg-Hinweissignal zum Melden eines Programmiererfolgs und eines Programmiermißerfolgs als Reaktion auf das Impulssignal und die Spaltenadresse erzeugt.
  5. Bauelement nach Anspruch 4, wobei die Schaltung folgendes umfaßt: eine Datenzustands-Feststellungsschaltung, die feststellt, ob jedes der programmierten Datenbits, die den angesteuerten Spalten entsprechen, mit einem Programmierungszustand verbunden ist, und ein Schwingungssteuersignal erzeugt; und einen Oszillator, der das Impulssignal als Reaktion auf das Schwingungssteuersignal erzeugt.
  6. Bauelement nach Anspruch 5, wobei die Datenzustands-Feststellungsschaltung das Schwingungssteuersignal aktiviert, wenn alle programmierten Datenbits, die den angesteuerten Spalten entsprechen, mit einem Programmierungszustand verbunden sind, so daß das Impulssignal zum Erhöhen der Spaltenadresse erzeugt wird.
  7. Bauelement nach Anspruch 6, wobei die Datenzustands-Feststellungsschaltung das Schwingungssteuersignal deaktiviert, wenn mindestens eines der Datenbits mit einem unzureichenden Programmierungszustand verbunden ist, so daß das Impulssignal nicht erzeugt wird.
  8. Bauelement nach Anspruch 5, wobei die Programmiererfolg/-mißerfolg-Prüfschaltung das Erfolg/Mißerfolg-Hinweissignal mit einem ersten Logikzustand erzeugt, der den Programmiererfolg meldet, wenn das Schwingungssteuersignal aktiviert ist und sich alle Bits der Spaltenadresse im ersten Logikzustand befinden, und das Erfolg/Mißerfolg-Hinweissignal mit einem zweiten Logikzustand erzeugt, der den Programmiermißerfolg meldet, wenn das Schwingungssteuersignal aktiviert ist und sich mindestens eines der Adressenbits im zweiten Logikzustand befindet.
  9. Bauelement nach Anspruch 1, wobei der Adressenzähler eine Zählerschaltung umfaßt.
  10. Bauelement nach Anspruch 1 mit einem Flash-Speicherbauelement vom NICHT-UND-Typ.
  11. Bauelement nach Anspruch 1, wobei der Programmierzyklus aus einer Programmieroperation, einer Überprüfungsausleseoperation und einer Programmiererfolg/-mißerfolg-Prüfoperation besteht und nicht weniger als vorbestimmte Male wiederholt ausgeführt wird.
  12. Bauelement nach Anspruch 11, wobei, wenn eines der Datenbits, die über die Spaltenansteuerschaltung übertragen werden, während der Programmiererfolg/-mißerfolg-Prüfoperation eines wahlweisen Programmierzyklus als unzureichend programmiert geprüft wird, der wahlweise Programmierzyklus beendet wird und ein nächster Programmierzyklus ausgeführt wird, und eine Startspaltenadresse der Programmiererfolg/-mißerfolg-Prüfoperation im nächsten Programmierzyklus eine Spaltenadresse ist, die als letzte bei der Programmiererfolg/-mißerfolg-Prüfoperation des wahlweisen Programmierzyklus verwendet wird.
  13. Nicht-flüchtiges Halbleiterspeicherbauelement, welches folgendes umfaßt: eine erste und eine zweite Speicherzellenmatrix; eine Spaltenansteuerschaltung zum teilweisen Ansteuern von Spalten der ersten und der zweiten Speicherzellenmatrix; eine Programmierungszustands-Feststellungsschaltung zum Feststellen, ob alle Datenbits, die über die Spaltenansteuerschaltung, welche der ersten und der zweiten Speicherzellenmatrix entspricht, während der Programmiererfolg/-mißerfolg-Prüfoperation eines Programmierzyklus übertragen werden, mit einem Programmierungszustand verbunden sind, welche ein Impulssignal erzeugt; und einen Adressenzähler zum Erzeugen einer Spaltenadresse als Reaktion auf das Impulssignal, wobei jede der ersten und der zweiten Speicherzellenmatrix eine Vielzahl von Zeilen, eine Vielzahl von Spalten, eine Vielzahl von Speicherzellen, die in jedem Kreuzungsbereich der Zeilen und Spalten angeordnet sind, und eine Ausleseschaltung zum Lesen und Halten von Datenbits, die über die Spalten in eine entsprechende Speicherzellenmatrix programmiert werden, umfaßt; und wobei die Spaltenansteuerschaltung die Spalten der ersten und der zweiten Speicherzellenmatrix als Reaktion auf die Spaltenadresse teilweise ansteuert.
  14. Bauelement nach Anspruch 13, wobei der Programmierzyklus aus einer Programmieroperation, einer Überprüfungsausleseoperation und einer Programmiererfolg/-mißerfolg-Prüfoperation besteht und nicht weniger als vorbestimmte Male wiederholt ausgeführt wird.
  15. Verfahren zum Programmieren eines Flash-Speicherbauelements mit einer Speicherzellenmatrix mit einer Vielzahl von Bitleitungen und einer Vielzahl von redundanten Bitleitungen, wobei das Verfahren die folgenden Schritte umfaßt: Lesen und Halten von programmierten Datenbits aus der Speicherzellenmatrix; teilweises Übertragen der programmierten Datenbits als Reaktion auf eine Spaltenadresse; und Prüfen, ob die übertragenen Datenbits mit einem Programmierungszustand verbunden sind.
DE10043397A 1999-09-06 2000-09-04 Flash-Speicherbauelement mit Programmierungszustandsfeststellungsschaltung und das Verfahren dafür Expired - Fee Related DE10043397B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1999-37725 1999-09-06
KR19990037725 1999-09-06
KR2000-00497 2000-01-06
KR1020000000497A KR100338553B1 (ko) 1999-09-06 2000-01-06 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및그것의 프로그램 방법

Publications (2)

Publication Number Publication Date
DE10043397A1 DE10043397A1 (de) 2001-03-15
DE10043397B4 true DE10043397B4 (de) 2007-02-08

Family

ID=26636101

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10043397A Expired - Fee Related DE10043397B4 (de) 1999-09-06 2000-09-04 Flash-Speicherbauelement mit Programmierungszustandsfeststellungsschaltung und das Verfahren dafür

Country Status (3)

Country Link
US (1) US6282121B1 (de)
JP (1) JP4566369B2 (de)
DE (1) DE10043397B4 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4002710B2 (ja) * 2000-01-31 2007-11-07 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP4044755B2 (ja) * 2000-12-12 2008-02-06 三星電子株式会社 不揮発性半導体メモリ装置及びそれのプログラム方法
KR100391154B1 (ko) * 2001-05-14 2003-07-12 삼성전자주식회사 불휘발성 반도체 메모리 장치의 프로그램 방법 및 장치
JP3851865B2 (ja) 2001-12-19 2006-11-29 株式会社東芝 半導体集積回路
KR100437461B1 (ko) * 2002-01-12 2004-06-23 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 소거, 프로그램,그리고 카피백 프로그램 방법
KR100512178B1 (ko) * 2003-05-28 2005-09-02 삼성전자주식회사 플렉서블한 열 리던던시 스킴을 갖는 반도체 메모리 장치
JP2005353171A (ja) 2004-06-10 2005-12-22 Toshiba Corp 半導体記憶装置及びそのブランクページ検索方法
US7272050B2 (en) 2004-08-10 2007-09-18 Samsung Electronics Co., Ltd. Non-volatile memory device and erase method of the same
KR100590219B1 (ko) * 2004-12-01 2006-06-19 삼성전자주식회사 프로그램 시간을 줄일 수 있는 불 휘발성 메모리 장치
KR100648277B1 (ko) * 2004-12-30 2006-11-23 삼성전자주식회사 프로그램 시간을 줄일 수 있는 플래시 메모리 장치
US7274607B2 (en) * 2005-06-15 2007-09-25 Micron Technology, Inc. Bitline exclusion in verification operation
TWI543185B (zh) 2005-09-30 2016-07-21 考文森智財管理公司 具有輸出控制之記憶體及其系統
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
DE602005011628D1 (de) * 2005-10-10 2009-01-22 Hynix Semiconductor Inc Verfahren zur Programmierung und Verifizierung von Zellen eines nicht-flüchtigen Speicher und ein entsprechender NAND Flash Speicher
US7301821B1 (en) * 2005-10-13 2007-11-27 Actel Corporation Volatile data storage in a non-volatile memory cell array
US7586784B2 (en) 2006-06-09 2009-09-08 Micron Technology, Inc. Apparatus and methods for programming multilevel-cell NAND memory devices
KR100927119B1 (ko) * 2007-05-10 2009-11-18 삼성전자주식회사 불 휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
KR100884234B1 (ko) * 2007-05-25 2009-02-18 삼성전자주식회사 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법
KR101361131B1 (ko) * 2008-04-11 2014-02-13 삼성전자주식회사 공유되는 로우 디코더를 갖는 플래쉬 메모리 장치
KR101504338B1 (ko) * 2009-03-04 2015-03-23 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법
KR20100099961A (ko) * 2009-03-04 2010-09-15 삼성전자주식회사 불휘발성 메모리 장치 및 그 동작 방법
KR101575851B1 (ko) * 2009-03-13 2015-12-10 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 방법
KR101644169B1 (ko) * 2010-04-29 2016-08-01 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 비휘발성 메모리 시스템
US8305807B2 (en) * 2010-07-09 2012-11-06 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US9424948B1 (en) 2015-10-23 2016-08-23 International Business Machines Corporation Detection of initial state by eFuse array
US9595343B1 (en) 2016-06-05 2017-03-14 Apple Inc. Early prediction of failure in programming a nonvolatile memory
KR102620562B1 (ko) 2016-08-04 2024-01-03 삼성전자주식회사 비휘발성 메모리 장치
US11017838B2 (en) 2016-08-04 2021-05-25 Samsung Electronics Co., Ltd. Nonvolatile memory devices
KR102554416B1 (ko) 2016-08-16 2023-07-11 삼성전자주식회사 메모리 장치의 내부 상태 출력 장치 및 이를 적용하는 메모리 시스템
KR102519458B1 (ko) 2016-11-01 2023-04-11 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 동작 방법
KR20210076729A (ko) * 2019-12-16 2021-06-24 에스케이하이닉스 주식회사 반도체 메모리 장치, 컨트롤러 및 그들의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5299162A (en) * 1992-02-21 1994-03-29 Samsung Electronics Co., Ltd. Nonvolatile semiconductor memory device and an optimizing programming method thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3448051B2 (ja) * 1990-03-31 2003-09-16 株式会社東芝 不揮発性半導体記憶装置
JPH05109292A (ja) * 1991-10-14 1993-04-30 Toshiba Corp 不揮発性半導体記憶装置
JP3392165B2 (ja) * 1993-01-05 2003-03-31 富士通株式会社 半導体記憶装置
JP3828222B2 (ja) * 1996-02-08 2006-10-04 株式会社日立製作所 半導体記憶装置
JP3592887B2 (ja) * 1997-04-30 2004-11-24 株式会社東芝 不揮発性半導体記憶装置
JP3786513B2 (ja) * 1997-12-11 2006-06-14 株式会社東芝 不揮発性半導体記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5299162A (en) * 1992-02-21 1994-03-29 Samsung Electronics Co., Ltd. Nonvolatile semiconductor memory device and an optimizing programming method thereof

Also Published As

Publication number Publication date
JP4566369B2 (ja) 2010-10-20
US6282121B1 (en) 2001-08-28
JP2001118393A (ja) 2001-04-27
DE10043397A1 (de) 2001-03-15

Similar Documents

Publication Publication Date Title
DE10043397B4 (de) Flash-Speicherbauelement mit Programmierungszustandsfeststellungsschaltung und das Verfahren dafür
DE102004025977B4 (de) Flash-Speicherbaustein
DE3833713C2 (de)
DE69333263T2 (de) Nichtflüchtiger Halbleiterspeicher mit elektrisch und gemeinsam löschbaren Eigenschaften
DE4213731C2 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE19513789C2 (de) Redundanter Blockdekoder für eine Halbleiterspeichervorrichtung
US5748545A (en) Memory device with on-chip manufacturing and memory cell defect detection capability
DE19543834B4 (de) Defektzellen-Reparaturschaltkreis und Defektzellen-Reparaturverfahren für eine Halbleiterspeichervorrichtung
DE19859494C2 (de) Nichtflüchtiger Mehrebenen-Halbleiterspeicherbaustein mit einer Schaltung zum Einstellen der Datenlesezeit
DE102005063166B4 (de) Nicht-flüchtiges Speicherelement und Verfahren zur Programmierüberprüfung in einem nicht-flüchtigen Speicherelement
DE10052326B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE19983565B4 (de) Interner Auffrisch-Modus für eine Flash-Speicherzellenmatrix
DE4040492C2 (de)
DE102008002237B4 (de) Verfahren zum Prüfen einer nichtflüchtigen Speichervorrichtung
DE19615660A1 (de) Schaltung zur Aufbringung einer Belastungsspannung in eine Blockeinheit für die Verwendung in einer Halbleiterspeichervorrichtung
DE60015770T2 (de) Flashspeicheranordnung mit extern ausgelöster erfassung und heilung von fehlerhaften zellen
DE10002266A1 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE10252820A1 (de) Halbleiterspeichervorrichtung
US6404680B1 (en) Circuit to check overerasing of repair fuse cells
DE60016104T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE102005032484A1 (de) Nichtflüchtiges Speicherelement und zugehöriges Programmierverfahren
DE102005001520A1 (de) Integrierte Speicherschaltung und Verfahren zum Reparieren eines Einzel-Bit-Fehlers
DE10158310A1 (de) Schaltung und Verfahren zur Spaltenreparatur bei einem nichtflüchtigen ferroelektrischen Speicher
DE69517758T2 (de) Prüfung einer integrierten Schaltungsanordnung
DE10341767A1 (de) Halbleitervorrichtung, bei der eine nicht korrekte Bestimmung des Durchschmelzzustandes einer Sicherung unwahrscheinlich ist

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20150401