DE69830089T2 - Mehrpegelspeicher - Google Patents

Mehrpegelspeicher Download PDF

Info

Publication number
DE69830089T2
DE69830089T2 DE69830089T DE69830089T DE69830089T2 DE 69830089 T2 DE69830089 T2 DE 69830089T2 DE 69830089 T DE69830089 T DE 69830089T DE 69830089 T DE69830089 T DE 69830089T DE 69830089 T2 DE69830089 T2 DE 69830089T2
Authority
DE
Germany
Prior art keywords
data
programming
memory cell
circuit
state
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 - Lifetime
Application number
DE69830089T
Other languages
English (en)
Other versions
DE69830089D1 (de
Inventor
Tomoharu 1-1 Shibaura 1-chome Tanaka
Ken 1-1 Shibaura 1-chome Takeuchi
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of DE69830089D1 publication Critical patent/DE69830089D1/de
Application granted granted Critical
Publication of DE69830089T2 publication Critical patent/DE69830089T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output

Description

  • Die vorliegende Erfindung bezieht sich auf einen Mehrstufenspeicher (multi-level memory), insbesondere auf eine Halbleiterspeichereinrichtung zum Speichern einer Mehrstufe, wie etwa einen Mehrstufen-Flash-Speicher, einen Mehrstufen-EEPROM und einen Mehrstufen-EPROM.
  • Als eine Speicherzelle des EEPROM sind jene mit einer MOSFET-Struktur, wo eine Ladungsspeicherschicht (schwebendes Gatter, floating gate) und ein Steuergatter laminiert und auf einem Halbleitersubstrat gebildet sind, bekannt. Im allgemeinen speichert die Speicherzelle Daten von einem Bit in einer Zelle durch Speichern eines Kennwertes "0" oder "1" durch die Ladungsmenge, die in dem schwebenden Gatter gespeichert wird. Um einen EEPROM einer höheren Dichte zu realisieren, ist ein Mehrstufen-Speicherverfahren bekannt, wo Daten von vielen Bits in einer Zelle gespeichert werden. Da z.B. Daten "0", "1", "2", "3" in einer Zelle in dem Vierstufen-Speicherverfahren gespeichert werden, werden vier Ladungsmengen entsprechend den Daten in dem schwebenden Gatter gespeichert.
  • Mit einem Beispiel des Vierstufen-Speicherverfahrens wird eine Konfiguration des Speicherzustands von Daten erläutert.
  • Mit der Ladungsmenge vom schwebenden Gatter von 0, definiert als der neutrale Zustand, wird ein Zustand mit einer positiven Ladung in Bezug auf den neutralen Zustand definiert, der Löschungszustand zu sein. Der Löschungszustand entspricht den Daten "0". Durch Anlegen einer hohen Spannung (bis 20V) an ein Substrat mit einem Steuergatter bei 0V kann z.B. die Löschung ausgeführt werden. Ein Zustand mit einer negativen Ladungsmenge in Bezug auf den neutralen Zustand ist definiert, der Zustand mit Daten "1" zu sein. Der Zustand mit Daten "2" ist auch ein Zustand, wo eine negative Ladung in Bezug auf den neutralen Zustand gespeichert ist, aber die negative Ladungsmenge ist größer als die negative Ladungsmenge in dem Zustand mit Daten "1". Der Zustand mit Daten "3" hat eine weitere große negative Ladungsmenge.
  • Z.B. wird in der Programmierungsoperation, wobei das Substrat, Source, Drain 0V haben und das Steuergatter eine hohe Spannung (bis 20V) hat, eine negative Ladung in dem schwebenden Gatter so gespeichert, um die Daten "1", "2", "3" zu programmieren. In der Programmierungsoperation wird, wobei das Substrat 0V hat, die Source und Drain 10V haben und das Steuergatter eine hohe Spannung (bis 20V) hat, eine Ladung in dem schwebenden Gatter so beibehalten, um die Daten "0" in der Speicherzelle zu speichern. Entsprechend können vier Programmierungszustände ("0", "1", "2", "3") mit Schwellenpegeln, die sich voneinander in dem Speicherzellentransistor unterscheiden, in der Speicherzelle realisiert werden.
  • Als ein Beispiel eines Mehrstufenspeicher-EEPROM ist einer bekannt, wo Daten von vielen Bits in einer Speicherzelle gleichzeitig als Mehrspeicherstufendaten programmiert werden. Um die Programmierungszeit zu verkürzen, werden Daten von vielen Bits gleichzeitig programmiert. In diesem Fall ist eine Vielzahl von Datenspeicherschaltungen zum Programmieren von Mehrstufendaten in den einzelnen Speicherzellen vorgesehen.
  • Um den Programmierungszustand akkurat zu steuern, werden z.B. die Steuerdaten in der Datenspeicherschaltung derart konvertiert, dass der Programmierungszustand der Speicherzellen nach der Programmierungsoperation (Programmierungsverifizie rung) erfasst wird, und falls es eine Speicherzelle mit unzureichender Programmierung gibt, wird eine Programmierungsspannung so angelegt, um Programmierung nur in der Speicherzelle zu befördern. Durch Verwenden der konvertierten Steuerdaten wird die Programmierungsoperation erneut ausgeführt, und bis alle ausgewählten Speicherzellen ausreichend programmiert sind, werden die Programmierungsoperation und die Verifizierungsoperation ausgeführt.
  • Der konventionelle Mehrstufenspeicher-EEPROM, wie oben erwähnt, involviert jedoch ein Problem wegen der Programmierungsverifizierungsoperation zusätzlich zu der Zeit, die zum tatsächlichen Speichern einer Ladung in dem schwebenden Gatter benötigt wird, was die Gesamtzeit verlängert, die für Programmierung notwendig ist. Insbesondere wird in dem Fall, wo unabhängig erfasst wird, ob jede Speicherzelle den Programmierungszustand erreicht hat, wie etwa zuerst, ob die Speicherzelle den Programmierungszustand "1" erreicht hat, und dann erfasst wird, ob die Speicherzelle den Programmierungszustand "2" erreicht hat, die Programmierungszeit durch Erfassen aller Programmierungszustände für jedes Mal extrem lang. Außerdem unterscheiden sich die Zeiten voneinander, die zum Erreichen des Programmierungszustands für die Speicherzellen benötigt werden, d.h. da die Programmierungsoperation in einer Reihenfolge von "1", "2", "3" fortfährt, selbst wenn die dazu am leichtesten zu programmierende Zelle den Zustand "1" erreicht, erreichen die anderen Speicherzellen nicht den Zustand "2" oder "3", und somit ist es vollständig bedeutungslos zu erfassen, ob sie den Zustand "2" oder "3" erreichen oder nicht. D.h. in den Programmierungsverifizierungsoperationen wird in dem Anfangszustand einer Programmierung eine unnötige Verifizierungsoperation ausgeführt, wobei dadurch die Programmierungszeit verlängert wird.
  • Da die Steuerdaten durch Ausführen der Programmierung und Verifizierung konvertiert werden, hat eine Datenspeicherschaltung eine Vielzahl von Abtastungsschaltungen. Bei Erfassung eines gewünschten Programmierungszustands mit einer Vielzahl von Abtastungsschaltungen zur gleichen Zeit erfasst eine Abtastungsschaltung manchmal, dass die Programmierung ausreichend ist, und eine andere Abtastungsschaltung erfasst, dass die Programmierung unzureichend ist. Dies geschieht wegen der Empfindlichkeitsdifferenz, die durch die Unregelmäßigkeit des Transistorleistungsverhaltens umfassend die Abtastungsschaltungen verursacht wird. Deshalb können die Steuerdaten manchmal nicht normal konvertiert werden.
  • Wie bisher erwähnt wird, obwohl das Mehrstufenspeicherverfahren ein effektives Mittel zum Erreichen einer hohen Dichte ist, wegen der Differenz in der Zeit, die für jede Speicherzelle notwendig ist, um den Programmierungszustand zu erreichen, die Programmierungszeit zu lang, da eine unnötige Verifizierungslesung ausgeführt wird, wobei dadurch auch die Programmierungszeit für die Programmierungsverifizierung verlängert wird. Durch Erfassen des Programmierungszustands einer Speicherzelle mit einer Vielzahl von Abtastungsschaltungen zur gleichen Zeit können die Ergebnisse wegen der Empfindlichkeitsdifferenz differieren, wobei dadurch die Zuverlässigkeit zerstört wird.
  • Es wird auf verwiesen das 1996 Symposium on VLSI Circuits, Digest of Technical Papers Honolulu, 13.-15. Juni 1996, auf Seiten 170 bis 171, auf denen die Präambel von Anspruch 1 basiert und wo ein Programmierungsschema hoher Geschwindigkeit für Mehrstufen-Nand-Flash-Speicher durch Young-Joon Choi et al erörtert wird. Es wird auch auf das IEEE Journal of Solid-State Circuits, Vol. 31, Nr. 11, November 1996 auf Seiten 1575 bis 1583 verwiesen, wo "A 117-mm2 3.3-v only 128-mb Mul tilevel Nand Flash memory for Mass Storage Applications" im Namen von Jung T-S et al erörtert wird.
  • Ein Ziel der vorliegenden Erfindung besteht darin, einen Mehrstufenspeicher vorzusehen, der zum Verkürzen der Programmierungsverifizierungszeit fähig ist.
  • Ein anderes Ziel der vorliegenden Erfindung besteht darin, einen Mehrstufenspeicher mit einer hohen Zuverlässigkeit vorzusehen, der zum Vorsehen stabiler Programmierungsverifizierungsergebnisse fähig ist.
  • In der vorliegenden Erfindung wird die nachstehend erwähnte Konfiguration angenommen, um die oben erwähnten Probleme zu lösen.
  • Ein erster Mehrstufenspeicher gemäß der vorliegenden Erfindung umfasst eine elektrisch programmierbare Speicherzelle mit mindestens einem gelöschten Zustand, einem ersten Programmierungszustand und einem zweiten Programmierungszustand, und eine Programmierungsschaltung zum Programmieren von Daten durch Wiederholen einer Programmierungsoperation durch Anlegen einer Programmierungsspannung an die Speicherzelle, und Durchführen einer ersten Programmierungsverifizierungsoperation, die bestätigt, ob die Speicherzelle den ersten Programmierungszustand nach der Programmierungsoperation erreicht hat oder nicht, oder einer zweiten Programmierungsverifizierungsoperation, die bestätigt, ob die Speicherzelle den zweiten Programmierungszustand nach der Programmierungsoperation erreicht hat oder nicht, wobei die Programmierungsschaltung mindestens zwei Speicherzellen zur gleichen Zeit programmiert und die Programmierungsoperation und die erste Programmierungsverifizierungsoperation mit Ausnahme der zweiten Programmierungsverifizierungsoperation in einer ersten Periode der Datenprogrammierung wiederholt, und wobei die Programmie rungsschaltung die Programmierungsoperation, die erste Programmierungsverifizierungsoperation und die zweite Programmierungsverifizierungsoperation in einer zweiten Periode nach der ersten Periode der Datenprogrammierung wiederholt.
  • Bevorzugte Methoden des ersten Mehrstufenspeichers der vorliegenden Erfindung sind wie folgt.
    • (1) Die Programmierungsschaltung wiederholt die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation mit Ausnahme der ersten Programmierungsverifizierungsoperation in einer dritten Periode nach der zweiten Periode.
    • (2) Die Programmierungsschaltung ändert die Programmierungsspannung, die an die Speicherzelle anzulegen ist, wenn von der Speicherzelle bestätigt wird, den vorbestimmten Programmierungszustand erreicht zu haben.
    • (3) Die Programmierungsschaltung ändert die Programmierungsspannung, die an die Speicherzelle anzulegen ist, die in dem ersten Programmierungszustand zu sein hat, wenn von der Speicherzelle, die in dem ersten Programmierungszustand zu sein hat, bestätigt wird, den ersten Programmierungszustand erreicht zu haben, und ändert die Programmierungsspannung, die an die Speicherzelle anzulegen ist, die in dem zweiten Programmierungszustand zu sein hat, wenn von der Speicherzelle, die in dem zweiten Programmierungszustand zu sein hat, bestätigt wird, den zweiten Programmierungszustand erreicht zu haben.
    • (4) Die erste Periode wird vorausgehend bestimmt.
    • (5) Die Programmierungsschaltung wiederholt die Programmierungsoperation und die zweite Programmierungsverifizierungs operation mit Ausnahme der ersten Programmierungsverifizierungsoperation, wenn von allen Speicherzellen, die in dem ersten Programmierungszustand zu sein haben, bestätigt wird, den ersten Programmierungszustand erreicht zu haben.
    • (6) Die Programmierungsschaltung erfasst gleichzeitig, ob alle Speicherzellen, die in dem ersten Programmierungszustand zu sein haben, den ersten Programmierungszustand erreicht haben oder nicht.
    • (7) Die Programmierungsschaltung erfasst gleichzeitig, ob alle Speicherzellen, die in dem zweiten Programmierungszustand zu sein haben, den zweiten Programmierungszustand erreicht haben oder nicht.
    • (8) Die Programmierungsschaltung legt eine gleiche Programmierungsspannung an die Speicherzelle, die in dem ersten Programmierungszustand zu sein hat, und an die Speicherzelle, die in den zweiten Programmierungszustand zu sein hat, an.
    • (9) Die Programmierungsschaltung schließt die Programmierungsoperation nach einer Bestätigung ab, dass alle Speicherzellen, an die Programmierung angewendet wird, einen gewünschten Programmierungszustand erreicht haben.
    • (10) Die Programmierungsschaltung erfasst gleichzeitig, dass alle Speicherzellen, an die Programmierung angewendet wird, den gewünschten Programmierungszustand erreicht haben.
  • Ein Mehrstufenspeicher gemäß der vorliegenden Erfindung führt die Programmierungsverifizierung basierend nur auf dem Programmierungszustand aus, wo die Programmierungsverifizierung, die nach Programmierung auszuführen ist, notwendig ist. D.h. es wird Verifizierungslesen von Daten "1", "2", "3" ausgewählt und ausgeführt. Da sich die Zeit, die zum Erreichen des Programmierungszustands für jede Speicherzelle notwendig ist, unterscheidet, wird das Verifizierungslesen in Anbetracht dessen nur ausgeführt, wenn es notwendig ist. Dadurch kann eine unnötige Programmierungsverifizierungszeit weggelassen werden, und somit kann ein Mehrstufenspeicher, der bei einer hohen Geschwindigkeit programmierbar ist, realisiert werden.
  • Die Erfindung kann aus der folgenden detaillierten Beschreibung vollständiger verstanden werden, wenn in Verbindung mit den begleitenden Zeichnungen aufgenommen, in denen:
  • 1 ein Blockdiagramm ist, das eine schematische Konfiguration eines Mehrstufenspeichers der vorliegenden Erfindung zeigt;
  • 2 ein Schaltungsdiagramm ist, das eine Konfiguration einer Speicherzellenanordnung und einer Bitleitungssteuerschaltung einer ersten Ausführungsform der vorliegenden Erfindung zeigt, die in 1 gezeigt wird;
  • 3A und 3B Querschnittsansichten der Speicherzelle und eines Auswahltransistors, gezeigt in 2, sind;
  • 4 eine Querschnittsansicht einer Zelleneinheit vom NAND-Typ, gezeigt in 2, ist;
  • 5 ein Schaltungsdiagramm zum Erläutern einer weiteren konkreten Konfiguration der Speicherzellenanordnung und einer Datenspeicherschaltung, gezeigt in 2, ist;
  • 6 ein Diagramm ist, das eine Konfiguration einer Datenerfassungsschaltung, gezeigt in 1, zeigt;
  • 7 ein Zeitsteuerdiagramm ist, das die Leseoperation von Vier-Stufen-Daten zeigt, die in der Speicherzelle in der ers ten Ausführungsform der vorliegenden Erfindung gespeichert sind;
  • 8 ein Zeitsteuerdiagramm ist, das die anfängliche Einstellung von Steuerdaten zu der Datenspeicherschaltung und die Programmierungsoperation in der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 9 ein Zeitsteuerdiagramm ist, das die Programmierungsverifizierungsoperation in der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 10 ein Flussdiagramm ist, das den Programmfluss eines Mehrstufenspeichers in der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 11 ein Diagramm ist, das die Programmierungscharakteristik einer Speicherzelle in der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 12 ein Diagramm ist, das eine Modifikation der Datenerfassungsschaltung, gezeigt in 1, zeigt;
  • 13 ein Flussdiagramm ist, das eine Modifikation eines Programmflusses eines Mehrstufenspeichers in der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 14 ein Schaltungsdiagramm zum Erläutern einer konkreten Konfiguration der Speicherzellenanordnung und der Bitleitungssteuerschaltung der zweiten Ausführungsform der vorliegenden Erfindung, gezeigt in 1, ist;
  • 15A und 15B ein Symboldiagramm eines Taktsynchroninverters, gezeigt in 14, und ein detailliertes Schaltungsdiagramm davon sind;
  • 16A und 16B Zeitsteuerdiagramme sind, die die Leseoperation von Vier-Stufen-Daten zeigen, die in der Speicherzelle in der zweiten Ausführungsform der vorliegenden Erfindung gespeichert sind;
  • 17 ein Zeitsteuerdiagramm ist, das die anfängliche Einstellung von Steuerdaten zu der Datenspeicherschaltung und die Programmierungsoperation in der zweiten Ausführungsform der vorliegenden Erfindung zeigt;
  • 18A bis 18C Zeitsteuerdiagramme sind, die die Programmierungsverifizierungsoperation in der zweiten Ausführungsform der vorliegenden Erfindung zeigen;
  • 19 ein Flussdiagramm ist, das den Programmfluss vom Mehrstufenspeicher in der zweiten Ausführungsform der vorliegenden Erfindung zeigt;
  • 20 ein Flussdiagramm ist, das eine Modifikation des Programmflusses vom Mehrstufenspeicher in der zweiten Ausführungsform der vorliegenden Erfindung zeigt; und
  • 21 ein Diagramm ist, das eine Modifikation der Datenerfassungsschaltung, gezeigt in 1, zeigt.
  • Hierin nachstehend werden Ausführungsformen der vorliegenden Erfindung mit Bezug auf begleitende Zeichnungen erläutert.
  • 1 ist ein Blockdiagramm, das die schematische Konfiguration eines Mehrstufenspeichers der vorliegenden Erfindung, speziell eines NAND-Flash-Speichers vom Mehrstufen-Speichertyp, zeigt.
  • Eine Speicherzellenanordnung 1 umfasst eine Vielzahl von Speicherzellen, wo Daten elektrisch neu programmiert werden können, die auf eine Art und Weise einer Matrix angeordnet sind. Die Speicherzellenanordnung 1 inkludiert eine Vielzahl von Bitleitungen, die mit jeder Speicherzelle pro Zeile zu verbinden sind, und eine Vielzahl von Wortleitungen, die mit jeder Speicherzelle pro Spalte zu verbinden sind. Eine Bitleitungssteuerschaltung 2 zum Steuern der Bitleitungen, und eine Wortleitungssteuerschaltung 6 sind für die Speicherzellenanordnung 1 vorgesehen.
  • Die Bitleitungssteuerschaltung 2 liest Daten in den Speicherzellen der Speicherzellenanordnung 1 über die Bitleitungen aus, erfasst den Zustand der Speicherzellen in der Speicherzellenanordnung 1 über die Bitleitungen oder programmiert die Speicherzellen durch Anlegen einer Programmierungssteuerspannung an die Speicherzellen in der Speicherzellenanordnung 1 über die Bitleitungen. Die Bitleitungssteuerschaltung 2 inkludiert eine Vielzahl von Datenspeicherschaltungen. Daten der Speicherzellen, die aus einer Datenspeicherschaltung ausgelesen werden, ausgewählt durch einen Spaltendecoder 3, werden nach außen von einem Dateneingangs-/Ausgangsanschluss 5 über einen Dateneingangs-/Ausgangspuffer 4 ausgegeben. Programmierungsdaten, die von außerhalb zu dem Dateneingangs-/Ausgangsanschluss 5 eingegeben werden, werden zu einer Datenspeicherschaltung, die durch den Spaltendecoder 3 ausgewählt wird, als die Anfangssteuerdaten über den Dateneingangs-/Ausgangspuffer 4 eingegeben. Um den Inhalt zu erfassen, der in der Vielzahl von Datenspeicherschaltungen gespeichert ist, die in der Bitleitungssteuerschaltung 2 inkludiert sind, ist eine Datenerfassungsschaltung 9 vorgesehen.
  • Die Wortleitungssteuerschaltung 6 wählt eine Wortleitung in der Speicherzellenanordnung 1, liest, programmiert oder legt eine Spannung dazu an, die für eine Löschung notwendig ist.
  • Die Speicherzellenanordnung 1, die Bitleitungssteuerschaltung 2, der Spaltendecoder 3, der Dateneingangs-/Ausgangspuffer 4, die Wortleitungssteuerschaltung 6 und die Datenerfassungsschaltung 9 werden durch eine Steuersignal- und Steuerspannungsgenerierungsschaltung 7 gesteuert. Die Steuersignal- und Steuerspannungsgenerierungsschaltung 7 wird durch ein Steuersignal gesteuert, das von außerhalb zu einem Steuersignaleingangsanschluss 8 eingegeben wird. Ferner reagiert sie auf den Inhalt der Vielzahl von Datenspeicherschaltungen, die in der Bitleitungssteuerschaltung 2 inkludiert sind, erfasst durch die Datenerfassungsschaltung 9.
  • 2 zeigt eine Konfiguration der Speicherzellenanordnung 1 und der Bitleitungssteuerschaltung 2, die in 1 der ersten Ausführungsform der vorliegenden Erfindung gezeigt werden.
  • Ein Ende einer Zelleneinheit vom NAND-Typ, wo vier Speicherzellen M seriell verbunden sind, ist mit einer Bitleitung BL über einen Auswahltransistor S verbunden, und das andere Ende ist mit einer gemeinsamen Source-Leitung SRC über einen Auswahltransistor 5 verbunden. Eine Steuergatter-Elektrode der Speicherzelle M ist mit einer Wortleitung WL verbunden. Die zwei Auswahltransistoren S sind mit Auswahlgattern SG1 bzw. SG2 verbunden. Die Speicherzellen M, die eine Wortleitung WL gemeinsam nutzen, bilden eine Einheit, die Seite genannt wird. Ein Block wird mit vier Seiten gebildet. Hier wird ein Beispiel von zwei Blöcken gezeigt, aber die Zahl kann eine optionale ganze Zahl sein, z.B. 1024 Blöcke. Es werden 4224 Bitleitungen BL von BL0 bis BL4223 gezeigt, aber die Zahl kann eine optionale ganze Zahl sein, z.B. 2112 Bitleitungen.
  • Die Bitleitungssteuerschaltung 2 inkludiert eine Vielzahl von Datenspeicherschaltungen 10. Hier ist eine Datenspeicher schaltung 10 für zwei Stücke von Bitleitungen BL vorgesehen, aber die Zahl kann eine optionale ganze Zahl sein, z.B. kann eine für eine, vier, sechs oder neun Bitleitungen vorgesehen sein. Ein Signal CSL ist ein Ausgangssignal von dem Spaltendecoder 3. Z.B. werden Daten der Speicherzellen, die in der Datenspeicherschaltung 10 gespeichert sind, die mit den Bitleitungen BL0, BL1 verbunden ist, zu dem Dateneingangs-/Ausgangspuffer 4 durch CSL0 und CSL1 ausgegeben. Z.B. werden Steuerdaten anfangs von dem Dateneingangs-/Ausgangspuffer 4 zu der Datenspeicherschaltung 10, die mit den Bitleitungen BL2, BL3 verbunden ist, durch CSL2 und CSL3 transferiert. Die Datenspeicherschaltung 10 liest die Daten einer Speicherzelle, die mit einer der Bitleitungen verbunden ist, zum Zeitpunkt des Lesens. Ferner legt sie ein Programmierungssteuersignal gemäß den Steuerdaten, die in einer Speicherzelle gespeichert sind, die mit einer der Bitleitungen verbunden ist, zur Zeit einer Programmierung an. Sie erfasst den Programmierungszustand einer Speicherzelle, die mit einer der Bitleitungen verbunden ist zur Zeit der Programmierungszustandserfassung.
  • 3A und 3B sind Querschnittsansichten der Speicherzelle M und des Auswahltransistors S, die in 2 gezeigt werden. Eine Diffusionsschicht vom n-Typ 12 wird auf der Fläche eines Halbleitersubstrats vom p-Typ 11 gebildet. In der Speicherzelle M wird ein schwebendes Gatter 14 auf dem Halbleitersubstrat 11 über einen Isolationsfilm 13 gebildet, und es wird ein Steuergatter 16, das als eine Wortleitung WL dient, darauf über einen Isolationsfilm 15 gebildet. In dem Auswahltransistor S wird ein Auswahlgatter 18, das als ein Auswahlgatter SG dient, auf einem Halbleitersubstrat 11 über einen Isolationsfilm 17 gebildet.
  • 4 ist eine Querschnittsansicht der Zelleneinheit vom NAND-Typ, die in 2 gezeigt wird, mit zwei Auswahltran sistoren an beiden Enden. Vier Speicherzellen M sind seriell mit einem Ende verbunden, das mit einer gemeinsamen Source-Leitung SRC über einen Auswahltransistor S verbunden ist. Das andere Ende ist mit einer Bitleitung BL über einen Auswahltransistor S verbunden. Zur Zeit einer Programmierung werden z.B. 20V an eine ausgewählte Wortleitung WL angelegt. Andererseits werden 10V an nicht-ausgewählte Wortleitungen WL1, WL3 und WL4 angelegt. Eine Energieversorgungsspannung VCC wird an ein Auswahlgatter SG1 angelegt. 0V werden an ein Auswahlgatter SG2 angelegt.
  • In dem Fall einer Vier-Stufen-Speichereinrichtung wird bei Programmierung von Daten "1", "2", "3" die Bitleitung BL auf 0V gesetzt. Entsprechend werden Elektronen in ein schwebendes Gatter in der ausgewählten Speicherzelle injiziert, um eine positive Schwellenspannung aufzuweisen. Bei Programmierung von Daten "0" wird die Energieversorgungsspannung VCC an die Bitleitung BL angelegt. In diesem Fall werden Elektronen nicht in das schwebende Gatter injiziert. Die Spannung von Bitleitung BL bei Programmierung der Daten "1", "2", "3" kann nicht 0V sein. Es ist z.B. möglich, die Spannung der Bitleitung BL zum Programmieren der Daten "1" auf 0,8V zu setzen, und die Bitleitung BL zum Programmieren der Daten "2", "3" auf 0V zu setzen. Dies ist so, da die Elektronenmenge, die zu dem schwebenden Gatter der Speicherzelle M zum Speichern der Daten "1" zu injizieren ist, kleiner als die Elektronenmenge sein kann, die zum Speichern der Daten "2", "3" zu injizieren ist. Die Spannung der Bitleitung BL zum Programmieren der Daten "1", "2", "3" kann voneinander verschieden sein. Z.B. können sie jeweils 0,8V, 0,4V und 0V sein.
  • Zur Zeit einer Löschung wird die Substratspannung Vsub auf 20V gesetzt. Die Auswahlgatter SG1 und SG2, die gemeinsame Source-Leitung SRC, die Bitleitung BL werden auch auf 20V gesetzt. Mit den Wortleitungen WL1 bis WL4 des Blockes, der zu löschen ist, auf 0V gesetzt, werden Elektronen von dem schwebenden Gatter entladen, um eine negative Schwellenspannung zu haben (Daten "0" Zustand). Mit den Wortleitungen WL1 bis WL4 eines Blockes, der nicht zu löschen ist, auf 20V gesetzt, werden Elektronen von dem schwebenden Gatter nicht entladen.
  • In dem Fall eines Vier-Stufenspeichers wird die Schwellenspannung der Speicherzelle entsprechend den Daten "0" auf 0V oder weniger gesetzt, die Schwellenspannung der Speicherzelle entsprechend den Daten "1" wird auf 0,4V bis 0,8V gesetzt, die Schwellenspannung der Speicherzelle entsprechend den Daten "2" wird auf 1,2V bis 1,6V gesetzt und die Schwellenspannung der Speicherzelle entsprechend den Daten "3" wird auf 2,0V bis 2,4V gesetzt. Zur Zeit des Lesens wird die ausgewählte Wortleitung WL2 auf Vread gesetzt. Die nicht-gewählten Wortleitungen WL1, WL3 und WL4 werden auf die Energieversorgungsspannung VCC (z.B. 3,3V) gesetzt. Die Auswahlgatter SG1 und SG2 werden auch auf VCC gesetzt. Die gemeinsame Source-Leitung SRC wird auf 0V gesetzt.
    • (1) Mit Vread auf 0V gesetzt, bleibt, falls die gewählte Speicherzelle die Daten "1", "2" oder "3" speichert, die Spannung der Bitleitung, die auf VCC geladen ist in dem schwebenden Zustand auf VCC. Falls die gewählte Speicherzelle die Daten "0" speichert, senkt sich die Spannung der Bitleitung, die auf VCC geladen ist in dem schwebenden Zustand auf 0V ab.
    • (2) Mit Vread auf 1V gesetzt, bleibt, falls die gewählte Speicherzelle die Daten "2" oder "3" speichert, die Spannung der Bitleitung, die auf VCC geladen ist in dem schwebenden Zustand auf VCC. Falls die gewählte Speicherzelle die Daten "0" oder "1" speichert, senkt sich die Spannung der Bitleitung, die auf VCC geladen ist in dem schwebenden Zustand auf 0V ab.
    • (3) Mit Vread auf 1,8V gesetzt, bleibt, falls die gewählte Speicherzelle die Daten "3" speichert, die Spannung der Bitleitung, die auf VCC geladen ist in dem schwebenden Zustand auf VCC. Falls die gewählte Speicherzelle die Daten "1", "2" oder "3" speichert, senkt sich die Spannung der Bitleitung, die auf VCC geladen ist in dem schwebenden Zustand auf 0V ab.
  • Wie die oben erwähnten (1) bis (3), können durch Erfassen der Spannung der Bitleitung, wenn die Spannung Vread geändert wird, die Daten, die in der Speicherzelle M gespeichert sind, beurteilt werden.
  • 5 dient zur Erläuterung einer weiteren konkreten Konfiguration der Speicherzellenanordnung 1 und der Datenspeicherschaltung 10, die in 2 gezeigt werden. Es wird eine Teilschaltungskonfiguration gezeigt, wobei der Bitleitung BLi und BLi+1 Aufmerksamkeit geschenkt wird. Hier wird eine Konfiguration eines Vier-Stufen-Speicher-Flash-Speichers präsentiert.
  • Die Datenspeicherschaltung 10 umfasst erste und zweite Teildatenschaltungen 20 und 21, inkludierend jeweils eine Flip-Flop-Schaltung. Speziell umfasst die erste Teildatenschaltung 20 p-Kanal-MOS-Transistoren Qp1 und Qp2, und n-Kanal-MOS-Transistoren Qn1, Qn2, Qn4, Qn5 und Qn8. Die zweite Teildatenschaltung 21 umfasst p-Kanal-MOS-Transistoren Qp4 und Qp5, und n-Kanal-MOS-Transistoren Qn12, Qn13, Qn15, Qn16 und Qn19. Die ersten und zweiten Teildatenschaltungen 20 und 21 speichern erste und zweite Teildaten zur Zeit einer Programmierung, und speichern erste und zweite Leseteildaten zur Zeit des Lesens. P-Kanal-MOS-Transistoren Qp3 und Qp6 dienen zum Rücksetzen der ersten und zweiten Teildatenschaltungen 20 bzw. 21. Wenn zurückgesetzt, wird ein Knoten Nai in der ersten Teildatenschaltung 20 "H"-Pegel. Dies ist der Zustand, wo die erste Teildatenschaltung 20 die ersten Leseteildaten von "1" oder die ersten Teildaten von "1" speichert. Wenn zurückgesetzt, wird ein Knoten Nai+1 in der zweiten Teildatenschaltung 21 "H"-Pegel. Dies ist der Zustand, wo die zweite Teildatenschaltung 21 die zweiten Leseteildaten von "1" oder die zweiten Teildaten von "1" speichert. Wenn der Knoten Nai in der ersten Teildatenschaltung 20 "L"-Pegel ist, ist dies der Zustand, wo die erste Teildatenschaltung 20 die ersten Leseteildaten von "0" oder die ersten Teildaten von "0" speichert. Wenn der Knoten Nai+1 in der zweiten Teildatenschaltung 21 "L"-Pegel ist, ist dies der Zustand, wo die zweite Teildatenschaltung 21 die zweiten Leseteildaten von "0" oder die zweiten Teildaten von "0" speichert.
  • Die n-Kanal-MOS-Transistoren Qn6 und Qn17 dienen zum elektrischen Verbinden der ersten und zweiten Teildatenschaltungen 20 und 21 mit Dateneingangs-/Ausgangsleitungen IOL und IOU. An jede Gatterelektrode wird die Ausgabe CSLi und CSLi+1 von dem Spaltendecoder 3 angelegt. Mit z.B. CSLi auf "H" werden die erste Teildatenschaltung 20 der Datenspeicherschaltung 10, die für die Bitleitungen BLi und BLi+1 vorgesehen ist, und die Dateneingangs-/Ausgangsleitung IOL elektrisch verbunden. Die Dateneingangs-/Ausgangsleitungen IOL und IOU werden mit dem Dateneingangs-/Ausgangspuffer 4 verbunden, sodass Teildaten in der ersten Teildatenschaltung 20 gesetzt werden können. Oder Leseteildaten der ersten Teildatenschaltung 20 können zu dem Dateneingangs-/Ausgangspuffer 4 ausgegeben werden. N-Kanal-MOS-Transistoren Qn3 und Qn14 dienen für eine Voreinstellung von Teildaten von "0" in den ersten und zweiten Teildatenschaltungen 20 und 21. Wenn gerade voreingestellt, wird der Knoten Nai in der ersten Teildatenschaltung 20 "L"-Pegel. Wenn gerade voreingestellt, wird der Knoten Nai+1 in der zweiten Teildatenschaltung 21 "L"-Pegel.
  • N-Kanal-MOS-Transistoren Qn7 und Qn8 steuern die Spannung der Bitleitung BLi oder BLi+1 gemäß den ersten Teildaten, die in der ersten Teildatenschaltung 20 gespeichert sind. N-Kanal-MOS-Transistoren Qn18 und Qn19 steuern die Spannung der Bitleitung BLi oder BLi+1 gemäß den zweiten Teildaten, die in der zweiten Teildatenschaltung 21 gespeichert sind.
  • N-Kanal-MOS-Transistoren Qn7 und Qn9 setzen die Spannung der Bitleitung BLi oder BLi+1 auf 0V, wenn die ersten Teildaten von "1" in der ersten Teildatenschaltung 20 gespeichert sind. N-Kanal-MOS-Transistoren Qn18 und Qn20 setzen die Spannung der Bitleitung BLi oder BLi+1 auf 0V, wenn die zweiten Teildaten von "1" in der zweiten Teildatenschaltung 21 gespeichert sind.
  • N-Kanal-MOS-Transistoren Qn10 und Qn21 steuern die elektrische Verbindung der ersten und zweiten Teildatenschaltungen 20 und 21, und die Bitleitung BLi oder BLi+1. Wenn das Signal BLC1 "H" ist und das Signal BLC2 "L" ist, sind die erste und zweite Teildatenschaltung 20 und 21, und die Bitleitung BLi elektrisch verbunden. Wenn das Signal BLC1 "L" ist und das Signal BLC2 "H" ist, sind die ersten und zweiten Teildatenschaltungen 20 und 21, und die Bitleitung BLi+1 elektrisch verbunden.
  • N-Kanal-MOS-Transistoren Qn11 und Qn22 steuern die elektrische Verbindung der Bitleitung BLi und der Spannung VBL1, und die elektrische Verbindung der Bitleitung BLi+1 und der Spannung VBL2. Wenn das Signal PRE1 "H" ist, sind die Bitleitung BL1 und die Spannung VBL1 elektrisch verbunden. Wenn das Signal PRE2 "H", sind die Bitleitung BLj+1 und die Spannung VBL2 elektrisch verbunden.
  • Signale RST, SEN1, RD1, RD2, PRO1, PRO2, PRST, BLC1, BLC2, PRE1, PRE2, Spannungen VRP, VBL1, VBL2 sind Ausgangssignale der Steuersignal- und Steuerspannungsgenerierungsschaltung 7, die allen Datenspeicherschaltungen 10 gemeinsam sind, die in 2 gezeigt wird. Die Dateneingangs-/Ausgangsleitungen IOL und IOU sind mit dem Dateneingangs-/Ausgangspuffer 4 verbunden, die allen Datenspeicherschaltungen 10 gemeinsam sind, die in 2 gezeigt wird. Die Spannung VCC ist eine Energieversorgungsspannung, und ist z.B. 3,3V.
  • Die ersten und zweiten Teildatenschaltungen 20 und 21 speichern Teildaten von "0" oder "1". Andererseits ändert jede von ihnen die gespeicherten Teildaten von "1" reagierend auf den "H"-Pegel des Bitleitungssignals auf Teildaten von "0" als eine Abtastschaltung, und speichert die Teildaten von "0". Die ersten und zweiten Teildatenschaltungen 20 und 21 speichern Leseteildaten von "0" oder "1", und jede von ihnen ändert die gespeicherten Leseteildaten von "1" reagierend auf den "H"-Pegel des Bitleitungssignals auf Leseteildaten von "0", und speichert die Teildaten von "0".
  • Wenn das Signal SEN1 oder SEN2, gezeigt in 5, "H" wird, wobei der "H"-Pegel der Bitleitung BL zu der Gatterelektrode des n-Kanal-MOS-Transistors Qn5 oder Qn16 transferiert wird, wird der n-Kanal-MOS-Transistor Qn5 oder Qn16 ausgeführt, und der Knoten Nai oder Nai+1 wird der "L"-Pegel. Entsprechend werden die Teildaten oder Leseteildaten von "1" zu den Teildaten oder Leseteildaten von "0" geändert. Da die Teildaten oder Leseteildaten von "0" den Knoten Nai oder Nai+1 des "L"-Pegels haben, werden sie nicht geändert. Ferner werden die Teildaten oder Leseteildaten nicht durch den "L"-Pegel der Bitleitung BL geändert, da der n-Kanal-MOS-Transistor Qn5 oder Qn16 nicht ausgeführt wird. Die ersten und zweiten Teildatenschaltungen können nicht nur in der Konfiguration realisiert werden, die in 5 gezeigt wird, sondern auch in verschiedenen Schaltungen mit den oben erwähnten Funktionen.
  • 6 zeigt eine konkrete Konfiguration der Datenerfassungsschaltung 9, die in 1 gezeigt wird. Durch eine Schaltung, umfassend einen Inverter I1, NAND-Logikschaltungen G1, G2, G3, wird erfasst, ob Steuerdaten von "1" in den Datenspeicherschaltungen 10 existieren oder nicht. Wenn selbst eine der Datenspeicherschaltungen 10 Steuerdaten von "1" hat, wird das Signal FR1 "H". Durch eine Schaltung, umfassend einen Inverter I2, NAND-Logikschaltungen G4, G5, G6, wird erfasst, ob Steuerdaten von "2" in den Datenspeicherschaltungen 10 existieren oder nicht. Selbst wenn eine der Datenspeicherschaltungen 10 Steuerdaten von "2" hat, wird das Signal FR2 "H". Durch eine Schaltung, umfassend einen Inverter I3, NAND-Logikschaltungen G7, G8, G9, wird erfasst, ob Steuerdaten von "3" in den Datenspeicherschaltungen 10 existieren oder nicht. Wenn selbst eine der Datenspeicherschaltungen 10 Steuerdaten von "1" hat, wird das Signal FR3 "H". Wenn das Signal DT "H" ist, werden die Steuerdaten der Datenspeicherschaltungen 10 über die Dateneingangs-/Ausgangsleitungen IOL und IOU erfasst. Wenn das Signal DRSTB "L" wird, werden die Signale FR1, FR2, FR3 auf "L" zurückgesetzt. Die Signale DT, DRSTB sind Ausgangssignale der Steuersignal- und Steuerspannungsgenerierungsschaltung 7. Die Signale FR1, FR2, FR3 werden zu der Steuersignal- und Steuerspannungsgenerierungsschaltung 7 zurückgekoppelt.
  • 7 zeigt die Leseoperation von Vier-Stufen-Daten, die in einer Speicherzelle gespeichert sind. Hier wird ein Beispiel gezeigt, wo Bitleitungen BL0, BL2,..., BLi,..., BL4222 ausgewählt sind (BLi wird als der Repräsentant davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher leicht realisiert werden. Die Spannungen VBL1, VBL2 sind während der Leseoperation 0V.
  • Das Signal BLC1 wird "H", sodass die Bitleitung BLi ausgewählt wird (t1). Durch das Signal RST werden die ersten und zweiten Leseteildaten von "1" in den ersten und zweiten Teildatenschaltungen 20 bzw. 21 gesetzt (t1 bis t2). Die Spannung VRP wird die Energieversorgungsspannung VCC (t1).
  • Das Signal PRE1 wird "L", sodass die Bitleitung BLi und die Spannung VBL1 getrennt werden (t3). Das Signal PRO2 wird "H" (t3), und die Bitleitung BLi wird auf den Pegel "H" durch die zweite Teildatenschaltung 21 geladen (t3 bis t4). Dann werden die Auswahlgatter SG1 und SG2 des gewählten Blocks und die nicht-gewählten Wortleitungen WL1, WL3, WL4 gesetzt, die Energieversorgungsspannung VCC zu sein, sodass die ausgewählte Wortleitung WL2 1,8V wird (t4). Die Beziehung zwischen den Daten, die in der Speicherzelle M gespeichert sind, und den Schwellen wird in Tabelle 1 gezeigt.
  • Tabelle 1
    Figure 00210001
  • Mit der gewählten Wortleitung WL2 auf 1,8V verbleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten von "3" speichert (7(1)). In den anderen Fällen wird die Bitleitung BLi "L" (7(2)). Dann wird mit den Signalen SEN1 und SEN2 auf "H" die Spannung der modulierten Bitleitung BLi abgetastet und ausgelesen (t5 bis t6). Nur in dem Fall, dass die Speicherzelle die Daten von "3" speichert, werden die ersten und zweiten Leseteildaten der ersten und zweiten Teildatenschaltungen 20 und 21 "0". In den anderen Fällen verbleiben die ersten und zweiten Leseteildaten "1".
  • Das Signal PRE1 wird "H" (t6 bis t7), sodass die Bitleitung BLi auf 0V zurückgesetzt wird. Dann wird das Signal PRO2 "H" (t7 bis t8), sodass nur, wenn die zweiten Leseteildaten "1" sind, die Bitleitung BLi durch die Spannung VRP auf den Pegel "H" geladen wird (t7 bis t8). Die Bitleitung BLi verbleibt auf dem Pegel "L", wenn die zweiten Leseteildaten, die in der zweiten Teildatenschaltung 21 gespeichert sind, "0" sind (7(5)). Die gewählten Gatter SG1 und SG2 des gewählten Blocks und die nicht-gewählten Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung VCC gesetzt, sodass die gewählte Wortleitung WL2 auf 1,0V gesetzt wird (t8).
  • Mit der gewählten Wortleitung WL2 auf 1,0V verbleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten von "2" speichert (7(3)). In diesem Fall speichert die Speicherzelle die Daten von "1" oder "0", die Bitleitung BLi wird "L" (7(4)). Dann wird mit dem Signal SEN2 auf "H" die Spannung der modulierten Bitleitung BLi abgetastet und ausgelesen (t9 bis t10). Nur in dem Fall, dass die Speicherzelle die Daten von "2" speichert, ändern sich die zweiten Leseteildaten von "1" zu "0". In dem Fall, dass die Speicherzelle die Daten von "1" oder "0" speichert, bleiben die zweiten Leseteildaten "1". In dem Fall, dass die Speicherzelle die Daten von "3" speichert, sind die zweiten Leseteildaten bereits "0".
  • Das Signal PRE1 wird "H" (t10 bis t11), sodass die Bitleitung BLi auf 0V zurückgesetzt wird. Dann wird das Signal PRO2 "H" (t11 bis t12), sodass nur, wenn die zweiten Leseteildaten "1" sind, die Bitleitung BLi durch die Spannung VRP auf den Pegel "H" geladen wird (t11 bis t12). Die Bitleitung BLi bleibt auf dem Pegel "L", wenn die zweiten Leseteildaten, die in der zweiten Teildatenschaltung 21 gespeichert sind, "0" sind (7(8)). Die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-gewählten Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung VCC gesetzt, sodass die gewählte Wortleitung WL2 auf 1,0V gesetzt wird (t12).
  • Mit der gewählten Wortleitung WL2 auf 1,0V bleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten von "1" speichert (7(6)). In dem Fall, dass die Speicherzelle die Daten von "0" speichert, wird die Bitleitung BLi "L" (7(7)). Mit dem Signal SEN1 auf "H" wird dann die Spannung der modulierten Bitleitung BLi abgetastet und ausgelesen (t13 bis t14). Nur in dem Fall, dass die Speicherzelle die Daten von "1" speichert, ändern sich die zweiten Leseteildaten von "1" zu "0". In dem Fall, dass die Speicherzelle die Daten von "0" speichert, bleiben die ersten Leseteildaten "1". In dem Fall, dass die Speicherzelle die Daten von "3" speichert, sind die ersten Leseteildaten bereits "0". In dem Fall, dass die Speicherzelle die Daten von "2" speichert, bleiben, da die Spannung der Bitleitung BLi ungeachtet der Speicherzelle "L" ist, die ersten Leseteildaten "1".
  • Mit den Signalen CSLi und CSLi+1 auf "H" werden die ersten Leseteildaten zu der Dateneingangs-/Ausgangsleitung IOL so ausgegeben, um nach außen von der Dateneingangs-/Ausgangsleitung IOU über den Datenausgangspuffer 4 ausgegeben zu werden. Die zweiten Leseteildaten werden zu der Dateneingangs-/Ausgangsleitung IOL so ausgegeben, um nach außen von der Dateneingangs-/Ausgangsleitung IOU über den Datenausgangspuffer 4 ausgegeben zu werden. Gemäß dem Signal CSL, das durch den Spaltendecoder 3 ausgewählt wird, können erste und zweite Leseteildaten einer optionalen Spaltenadresse ausgegeben werden.
  • Während der Leseoperation ist die nicht-gewählte Bitleitung BLi+1 auf der Spannung VBL2 fixiert. Sie ist hierin 0V.
  • Die Beziehung zwischen den Vier-Stufen-Daten der Speicherzelle und den ersten und zweiten Leseteildaten wird in Tabelle 2 gezeigt.
  • Tabelle 2
    Figure 00240001
  • 8 zeigt die anfängliche Einstellung der Steuerdaten und die Programmierungsoperation zu der Datenspeicherschaltung 10. Hier wird ein Beispiel gezeigt, wo Bitleitungen BL0, BL2, ..., BLi,..., BL4222 ausgewählt sind (BLi wird als der Repräsentant davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher leicht realisiert werden.
  • Die Anfangseinstellung der Steuerdaten zu der Datenspeicherschaltung 10 umfassend die Bitleitung BLi kann wie nachstehend erwähnt ausgeführt werden. Wenn die anfänglichen Teildaten der ersten Teildatenschaltung 20 zu der Dateneingangs-/Ausgangsleitung IOL übertragen werden und das Signal CSL1 "H" wird, werden die anfänglichen Teildaten in der ersten Teildatenschaltung 20 gespeichert. Zur gleichen Zeit werden, wenn die anfänglichen Teildaten der zweiten Teildatenschaltung 21 zu der Dateneingangs-/Ausgangsleitung IOU transferiert werden und das Signal CSLi+1 "H" wird, die anfänglichen Teildaten in der zweiten Teildatenschaltung 21 gespeichert.
  • Die Beziehung zwischen den anfänglichen Steuerdaten und den anfänglichen Teildaten wird in Tabelle 3 gezeigt.
  • Tabelle 3
    Figure 00250001
  • Hier ist es wünschenswert, das Signal PRST auf "H" zu setzen, sodass die Steuerdaten von allen Datenspeicherschaltungen 10 auf "0" voreingestellt sind, bevor alle anfänglichen Steuerdaten gesetzt werden. Wie später beschrieben wird, kann, da der Zustand der Speicherzelle durch die Steuerdaten "0" nicht geändert werden kann, die anfängliche Steuerung von außen nur auf gewünschte Datenspeicherschaltungen 10 unter den 2112 Stücken der Datenspeicherschaltungen 10 gesetzt werden. Natürlich können die anfänglichen Steuerdaten von außerhalb zu allen 2112 Stücken der Datenspeicherschaltungen 10 gesetzt werden.
  • In der Programmierungsoperation wird das Signal BLC1 "H", sodass die Bitleitung BLi ausgewählt wird (t1). Wenn das Signal DRSTB "L" wird, wird die Datenerfassungsschaltung 9 zurückgesetzt (t1 bis t2). Mit der Spannung VBL1 auf VCC wird die gewählte Bitleitung BLi auf die VCC über den n-Kanal-MOS-Transistor Qn11 geladen. Dann wird mit dem Signal PRE1 auf "L" die gewählte Bitleitung BLi schwebend (t2 bis t3). Mit der Spannung VBL2 auf VCC wird die gewählte Bitleitung BLi+1 auf die VCC über den n-Kanal-MOS-Transistor Qn22 geladen (t2 bis t3). Ferner werden das Auswahlgatter SG1 und die Wortleitungen WL1 bis 4 VCC (t2 bis t3).
  • Wenn die Signale PRO1 und PRO2 "H" sind und eine der ersten und zweiten Teildaten "1" sind, wird die ausgewählte Bitleitung BLi durch den n-Kanal-MOS-Transistor Qn9 oder Qn20 auf 0V gesetzt (t3). Als ein Ergebnis wird die Bitleitung BLi die VCC, wenn die Steuerdaten "0" sind, und wird 0V, wenn die Steuerdaten "1", "2" oder "3" sind. Mit der gewählten Wortleitung WL2 auf 20V, der nicht-gewählten Wortleitung auf 10V, wird Elektroneninjektion von der Speicherzelle zu dem schwebenden Gatter gemäß den Steuerdaten gestartet (t3). Wenn die Bitleitung BL auf der VCC ist, tritt, da die Potenzialdifferenz zwischen dem Kanal der Speicherzelle und der Wortleitung klein ist, Elektroneninjektion im wesentlichen nicht auf.
  • Während die ausgewählte Wortleitung WL2 auf 20V gesetzt ist (t3 bis t7), werden die Steuerdaten erfasst, die in der Datenspeicherschaltung 10 gespeichert sind. Von CSL0 und CSL1 bis CSL4222 und CSL4223 werden aufeinanderfolgend durch den Spaltendecoder ausgewählt. Die Steuerdaten werden zu der Datenerfassungsschaltung 9 über die Eingangs-/Ausgangsleitungen IOL und IOU transferiert. Ein Beispiel des Falls, wo CSLi und CSLi+1 ausgewählt sind, wird in 8 gezeigt. Mit CSLi und CSLi+1 auf "H" (t4 bis t5), den Steuerdaten, die zu den Dateneingangs-/Ausgangsleitungen IOL und IOU ausgegeben werden, und dem Signal DT auf "H" werden die Steuerdaten durch die Datenerfassungsschaltung 9 erfasst (t5 bis t6). Wenn selbst eine der Datenspeicherschaltungen 10 die Daten "1" speichert, wird das Signal FR1 "H". Wenn selbst eine der Datenspeicherschaltungen 10 die Daten "2" speichert, wird das Signal FR2 "H". Wenn selbst eine der Datenspeicherschaltungen 10 die Daten "3" speichert, wird das Signal FR3 "H".
  • Nachdem die Wortleitungen WL1 bis WL4 auf VCC abgefallen sind (t7 bis t8), wird die Spannung VBL2 0V, und das Signal PRE1 wird "H", sodass die Bitleitungen BLi, BLi+1 auf 0V zurückgesetzt werden (t8 bis t9). Die Spannung VBL1 ist 0V. Die Wortleitungen WL1 bis WL4 werden auch auf 0V zurückgesetzt (t8 bis t9).
  • 9 zeigt die Programmierungsverifizierungsoperation zum Erfassen des Programmierungszustands der Speicherzelle, nachdem die Programmierungsoperation in der Zeit von t1 bis t9, gezeigt in 8, geschehen ist. Hier wird ein Beispiel gezeigt, wo Bitleitungen BL0, BL2,..., BLi,..., BL4222 ausgewählt sind (BLi wird als der Repräsentant davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Die Spannungen VBL1 und VBL2 sind 0V. Falls die Speicherstufe definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher leicht realisiert werden.
  • Das Signal PRE1 wird "L", sodass die Bitleitung BLi und die Spannung VBL1 getrennt werden, und die Bitleitung BLi ist in dem schwebenden Zustand von 0V (t1). Zur gleichen Zeit wird das Signal BLC1 "H", sodass die Bitleitung BLi ausgewählt wird (t1).
  • Mit der Spannung VRP auf der Energieversorgungsspannung VCC (t2) und dem Signal PRO2 auf "H" (t3), wird die Bitleitung BLi entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" und "2" speichert, auf den Pegel "H" durch den n-Kanal-MOS-Transistor Qn20 geladen (t3 bis t4). Die Bitleitung BLi entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" und "0" speichert, bleibt auf dem Pegel "L". Die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen WL1, WL2, WL4 werden auf die Energieversorgungsspannung VCC gesetzt, und die ausgewählte Wortleitung WL2 wird auf 2,0V gesetzt (t4).
  • Mit der ausgewählten Wortleitung WL2 auf 2,0V bleibt, falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert, den Zustand einer Speicherung der Daten "3" erreicht hat, die Bitleitung BLi auf "H" (9(1)). Mit der ausgewählten Wortleitung WL2 auf 2,0V wird, falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert, den Zustand einer Speicherung der Daten "3" nicht erreicht, die Bitleitung BLi "L" (9(2)). Da die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung der Daten "3" nicht erreicht, wird die Bitleitung BLi "L" (9(3)). Mit den Signalen SEN1 und SEN2 auf "H" wird dann die Spannung der modulierten Bitleitung BLi abgetastet und ausgelesen (t5 bis t6). Nur wenn die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten "3" speichert, den Zustand einer Speicherung der Daten "3" erreicht, werden die ersten und zweiten Teildaten der ersten und zweiten Teildatenschaltungen 20 und 21 "0", um die Steuerdaten zu "0" zu ändern. In anderen Fällen werden die ersten und zweiten Teildaten beibehalten. Die Zeit von t2 bis t6 ist die Verifizierungslesung der Daten "3".
  • Mit den Signalen PRO1 und RD1 auf "H" (t7), wird die Bitleitung BLi entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" und "0" speichert, auf den Pegel "H" durch die erste Teildatenschaltung 20 geladen (t7 bis t8). Die Bitleitung BLi entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" und "1" speichert, wird durch die erste Teildatenschaltung 20 auf den Pegel "L" gesetzt (t7 bis t8).
  • Dann werden die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen WL1, WL3, WL4 auf die Energieversorgungsspannung VCC gesetzt, und die aus gewählte Wortleitung WL2 wird auf 1,2V gesetzt (t8). Mit der ausgewählten Wortleitung WL2 auf 1,2V bleibt, falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Daten "2" speichert, den Zustand einer Speicherung der Daten "2" erreicht, die Bitleitung BLi auf "H" (9(4)). Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung der Daten "2" nicht erreicht, wird die Bitleitung BLi "L" (9(5)). Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Daten "0" speichert, den Zustand einer Speicherung der Daten "2" oder "3" nicht erreicht, bleibt die Bitleitung BLi auf "H" (9(4)). Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "0" speichert, den Zustand einer Speicherung der Daten "2" nicht erreicht, wird die Bitleitung BLi "L" (9(5)). Die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" und "1" speichert, bleibt auf "L" (9(6)).
  • Mit dem Signal SEN2 auf "H" wird die Spannung der modulierten Bitleitung BLi abgetastet und ausgelesen (t9 bis t10). Nur wenn die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung der Daten "2" erreicht hat, werden die zweiten Teildaten der zweiten Teildatenschaltung 21 "0", sodass die Steuerdaten zu "0" geändert werden. In den anderen Fällen werden die zweiten Teildaten beibehalten. Die Zeit von t7 bis t10 ist die Verifizierungslesung der Daten "2".
  • Mit den Signalen PRO2 und RD2 auf "H" (t11) wird die Bitleitung BLi entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" und "0" speichert, durch die zweite Teildatenschaltung 21 auf den Pegel "H" geladen (t11 bis t12). Die Bitleitung BLi entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" und "2" speichert, werden durch die zweite Teildatenschaltung 21 auf den Pegel "L" gesetzt (t11 bis t12).
  • Die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung VCC gesetzt, und die ausgewählte Wortleitung WL2 wird auf 0,4V gesetzt (t12). Mit der ausgewählten Wortleitung WL2 auf 0,4V bleibt, falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die Steuerdaten von "1" speichert, den Zustand einer Speicherung der Daten "1" erreicht hat, die Bitleitung BLi auf "H" (9(7)). Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung der Daten "1" nicht erreicht, wird die Bitleitung BLi auf "L" gesetzt (9(8)). Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "0" speichert, den Zustand einer Speicherung der Daten "1" oder "2" oder "3" erreicht hat, bleibt die Bitleitung BLi auf "H" (9(7)). Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "0" speichert, den Zustand einer Speicherung der Daten "1" nicht erreicht, wird die Bitleitung BLi auf "L" gesetzt (9(8)). Die Bitleitung BLi entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" und "2" speichert, bleibt auf "L" (9(9)).
  • Mit dem Signal SEN1 auf "H" wird dann die Spannung der modulierten Bitleitung BLi abgetastet und ausgelesen (t13 bis t14). Nur wenn die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung der Daten "1" erreicht hat, werden die ersten Teildaten der ersten Teildatenschaltung 20 "0", sodass die Steuerdaten zu "0" geändert werden. In den anderen Fällen werden die ersten Teildaten beibehalten. Die Zeit von t11 bis t14 ist die Verifizierungslesung der Daten "1".
  • Durch Setzen des Signals PRE1 auf "H" und BLC1 auf "L" im Zeitpunkt t15 ist die Programmierungsverifizierung abgeschlossen. Durch die Programmierungsverifizierungsoperation werden die Steuerdaten, die in der Datenspeicherschaltung 10 gespeichert sind, gemäß dem Programmierungszustand der Speicherzelle geändert, wie in Tabelle 4 gezeigt.
  • Tabelle 4
    Figure 00310001
  • Entsprechend kann durch Wiederholen der Programmierungsoperation, die in t1 bis t9 von 8 gezeigt wird, und der Programmierungsverifizierungsoperation, die in 9 gezeigt wird, bis alle Steuerdaten "0" werden, die Datenprogrammierung (Programm) für die Speicherzelle M ausgeführt werden. In der Realität werden jedoch die Verifizierungslesung der Daten "3", die Verifizierungslesung der Daten "2" und die Verifizierungslesung der Daten "1" selektiv ausgeführt, wie nachstehend erwähnt wird.
    • (1) Um alle der Verifizierungslesung der Daten "3", der Verifizierungslesung der Daten "2" und der Verifizierungslesung der Daten "1" auszuführen, wird die Programmierungsverifizierungsoperation ausgeführt, wie in 9 gezeigt wird.
    • (2) Um nur die Verifizierungslesung der Daten "3" und die Verifizierungslesung der Daten "2" auszuführen, wird Zeit t11 bis t14 von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt wird.
    • (3) Um nur die Verifizierungslesung der Daten "3" und die Verifizierungslesung der Daten "1" auszuführen, wird Zeit t7 bis t10 von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt wird.
    • (4) Um nur die Verifizierungslesung der Daten "3" auszuführen, wird Zeit t7 bis t14 von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt wird.
    • (5) Um nur die Verifizierungslesung der Daten "2" und die Verifizierungslesung der Daten "1" auszuführen, wird Zeit t2 bis t6 von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt wird.
    • (6) Um nur die Verifizierungslesung der Daten "2" auszuführen, werden Zeit t2 bis t6 und Zeit t11 bis t14 von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt wird.
    • (7) Um nur die Verifizierungslesung der Daten "1" auszuführen, wird Zeit t2 bis t10 von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt wird.
  • 10 zeigt den detaillierten Fluss des Programms in Bezug auf den Mehrstufenspeicher in der ersten Ausführungsform der Erfindung. Dieser Programmfluss wird durch die Steuersignal- und Steuerspannungsgenerierungsschaltung 7 gesteuert, die in 1 gezeigt wird.
  • Durch den Befehl des Programmstarts, der zu dem Steuersignaleingangsanschluss 8 eingegeben wird, wird das Programm gestartet. Die Zählerschaltung zum Zählen der Variablen IWT, die in der Steuersignal- und Steuerspannungsgenerierungsschaltung 7 vorgesehen ist, wird zurückgesetzt, um IWT auf 0 zu haben (S1). Die Anfangssteuerdaten für 4224 Bits, die zu dem Dateneingangs-/Ausgangsanschluss 5 eingegeben werden, werden in die Datenspeicherschaltung geladen (S2).
  • Nach Laden der Daten wird die Programmierungsoperation ausgeführt, wobei die Variable IWT um 1 erhöht wird (S3). Es wird geprüft, ob der Ausgang FR3 der Datenerfassungsschaltung 9 "H" ist oder nicht (S4). Falls der Ausgang FR3 der Datenerfassungsschaltung 9 "H" ist und die Daten "3" in der Datenspeicherschaltung 10 verbleiben, kann geprüft werden, ob die Variable IWT nicht kleiner als das vorbestimmte W3 ist (S5). Falls die Variable IWT nicht kleiner als W3 ist, wird die Verifizierungslesung der Daten "3" ausgeführt (S6). Falls der FR3 auf "L" ist oder die Variable IWT kleiner als W3 ist, wird die Verifizierungslesung der Daten "3" weggelassen.
  • Es wird geprüft, ob der Ausgang FR2 der Datenerfassungsschaltung 9 "H" ist oder nicht (S7). Falls der Ausgang FR2 der Datenerfassungsschaltung 9 "H" ist und die Daten "2" in der Datenspeicherschaltung 10 verbleiben, kann geprüft werden, ob die Variable IWT nicht kleiner als das vorbestimmte W2 ist oder nicht (S8). Falls die Variable IWT nicht kleiner als W2 ist, wird die Verifizierungslesung der Daten "2" ausgeführt (S9). Falls der FR2 auf "L" ist oder die Variable IWT kleiner als W2 ist, wird die Verifizierungslesung der Daten "2" weggelassen.
  • Es wird geprüft, ob der Ausgang FR1 der Datenerfassungsschaltung 9 "H" ist oder nicht (S10). Falls der Ausgang FR1 der Datenerfassungsschaltung 9 "H" ist und die Daten "1" in der Datenspeicherschaltung 10 verbleiben, kann geprüft werden, ob die Variable IWT nicht kleiner als das vorbestimmte W1 ist oder nicht (S11). Falls die Variable IWT nicht kleiner als W1 ist, wird die Verifizierungslesung der Daten "1" ausgeführt (S12). Falls der FR1 auf "L" ist oder die Variable IWT kleiner als W1 ist, wird die Verifizierungslesung der Daten "1" weggelassen.
  • Falls alle Ausgänge FR3, FR2, FR1 der Datenerfassungsschaltung 9 "L" sind, ist das Programm abgeschlossen (S13, S14, S15). Falls selbst einer der Ausgänge FR3, FR2, FR1 "H" ist, wird die Programmierungsoperation erneut ausgeführt (S3). Jedes Mal wird die Variable IWT um 1 erhöht, die Spannung, die an die ausgewählte Wortleitung zur Zeit der Programmierung angelegt wird (die Spannung der ausgewählten Wortleitung in der Zeit t3 bis t7, gezeigt in 8), wird um 0,4V erhöht, und die Schwellenspannung der Speicherzelle M für die Programmierung "1", "2", "3" wird um 0,4V angehoben. Die vorbestimmten W1, W2, W3 werden bestimmt, wie nachstehend erwähnt wird.
  • 11 zeigt ein Beispiel der Programmierungscharakteristik der Speicherzelle M. Die horizontale Achse repräsentiert die Programmierungsoperationszahl IWT. Die vertikale Achse repräsentiert die Schwellenspannungen der einfachsten Speicherzelle, die zu programmieren ist (weißer Punkt), und der schwersten Speicherzelle, die zu programmieren ist (schwarzer Punkt) nach der Programmierungsoperationszahl IWT. Die Schwellenspannung der einfachsten programmierten Speicherzelle erreicht 0,1V nach der ersten Programmierungsoperation. Zu der Zeit ist die Schwellenspannung der schwersten programmierten Speicherzelle –1,5V. Da sich jedes Mal die Programmierungsoperationszahl um 1 erhöht, sich die Spannung der ausgewählten Wortleitung zu der Zeit der Programmierung um 0,4V er höht, wird die Schwellenspannung der Speicherzelle im wesentlichen entsprechend um 0,4V angehoben.
  • Da keine der Schwellenspannungen der Speicherzellen 0,4V nach der ersten Programmierungsoperation erreicht, ist die gesamte Verifizierungslesung für die Daten "3", die Daten "2" und die Daten "1" nicht erforderlich. von dem zweiten Mal und später ist die Verifizierungslesung der Daten "1" notwendig, da die Schwellenspannung der einfachsten programmierten Speicherzelle 0,4V überschreitet. Deshalb kann das vorbestimmte W1 im voraus als 2 bestimmt werden. Von dem vierten Mal und später ist die Verifizierungslesung der Daten "2" notwendig, da die Schwellenspannung der einfachsten programmierten Speicherzelle 1,2V überschreitet. Deshalb kann das vorbestimmte W2 im voraus als 4 bestimmt werden. Von dem sechsten Mal und später ist die Verifizierungslesung der Daten "3" notwendig, da die Schwellenspannung der einfachsten programmierten Speicherzelle 2,0V überschreitet. Deshalb kann das W3 im voraus als 6 bestimmt werden.
  • Nach der Programmierungsoperation dem sechsten Mal überschreitet sogar die Schwellenspannung der schwersten programmierten Speicherzelle 0,4V. Deshalb wird der Ausgang FR1 der Datenerfassungsschaltung "L" mindestens von IWT = 7 oder später, und somit ist die Verifizierungslesung der Daten "1" unnötig. Nach der Programmierungsoperation des achten Mals überschreitet sogar die Schwellenspannung der schwersten programmierten Speicherzelle 1,2V. Deshalb wird der Ausgang FR2 der Datenerfassungsschaltung "L" mindestens von IWT = 9 oder später, und somit ist die Verifizierungslesung der Daten "2" unnötig. Nach der Programmierungsoperation des zehnten Mals überschreitet sogar die Schwellenspannung der schwersten programmierten Speicherzelle 2,0V. Deshalb wird der Ausgang FR3 der Datenerfassungsschaltung "L" mindestens von IWT = 11 oder später. Falls alle von FR1, FR2, FR3 "L" werden, ist das Programm abgeschlossen, wie in 10 gezeigt.
  • 12 zeigt eine Modifikation der Datenerfassungsschaltung 9, die in 1 gezeigt wird. Benachbart zu jeder der Datenspeicherschaltungen 10, die in 2 gezeigt werden, sind n-Kanal-MOS-Transistoren Qn23, Qn24, Qn25, Qn26, Qn27, Qn28, Qn29, Qn30 vorgesehen. Mit der Gatterelektrode von Qn23 ist der Knoten Nai+1 der zweiten Teildatenschaltung 21, gezeigt in 5, verbunden. Mit der Gatterelektrode von Qn24 ist der Knoten Nai der ersten Teildatenschaltung 20, gezeigt in 5, verbunden. Mit der Gatterelektrode von Qn25 ist der Knoten Nbi+1 der zweiten Teildatenschaltung 21, gezeigt in 5, verbunden. Mit der Gatterelektrode von Qn26 ist der Knoten Nai der ersten Teildatenschaltung 20, gezeigt in 5, verbunden. Mit der Gatterelektrode von Qn27 ist der Knoten Nai+1 der zweiten Teildatenschaltung 21, gezeigt in 5, verbunden. Mit der Gatterelektrode von Qn28 ist der Knoten Nbi der zweiten Teildatenschaltung 21, gezeigt in 5, verbunden. Mit der Gatterelektrode von Qn29 ist der Knoten Nai+1 der zweiten Teildatenschaltung 21, gezeigt in 5, verbunden. Mit der Gatterelektrode von Qn30 ist der Knoten Nai der ersten Teildatenschaltung 20, gezeigt in 5, verbunden.
  • Falls DECB, eingegeben zu dem Inverter I3, "L" wird, und der Ausgang PT der Inverter I4, I5 "H" ist, sind die Steuerdaten aller Datenspeicherschaltungen 10 "0". Falls DECB1B, eingegeben zu dem Inverter I6, "L" wird, und der Ausgang FR1 des Inverters I7 "H" ist, sind die Steuerdaten von mindestens einer der Datenspeicherschaltungen 10 "1". Falls DECB2B, eingegeben zu dem Inverter 28, "L" wird, und der Ausgang FR2 des Inverters I9 "H" ist, sind die Steuerdaten von mindestens einer der Datenspeicherschaltungen 10 "2". Falls DECB3B, eingegeben zu dem Inverter I10, "L" wird, und der Ausgang FR3 des Inver ters I11 "H" ist, sind die Steuerdaten von mindestens einer der Datenspeicherschaltungen 10 "3". Die Signale DECB, DEC1B, DEC2B, DEC3B sind Signale von der Steuersignal- und Steuerspannungsgenerierungsschaltung 7. Die Signale PT, FR1, FR2, FR3 werden zu der Steuersignal- und Steuerspannungsgenerierungsschaltung 7 zurückgekoppelt. Durch die Datenerfassungsschaltung 9, die in 12 gezeigt wird, kann Datenerfassung gleichzeitig bei einer hohen Geschwindigkeit ausgeführt werden. Wie in 8 gezeigt, kann deshalb nicht zu der Zeit der Programmierungsoperation, sondern unmittelbar vor der Verifizierungslesung der Daten "3" (Zeit t1 bis t2, gezeigt in 9) das Signal FR3 geprüft werden, wobei das Signal DEC3B auf "L" gesetzt ist. Ähnlich kann unmittelbar vor der Verifizierungslesung der Daten "2" (Zeit t6 bis t7, gezeigt in 9) das Signal FR2 geprüft werden, wobei das Signal DEC2B auf "L" gesetzt ist. Unmittelbar vor der Verifizierungslesung der Daten "1" (Zeit t10 bis t11, gezeigt in 9) kann das Signal FR1 geprüft werden, wobei das Signal DEC1B auf "L" gesetzt ist. Nach der Programmierungsverifizierungsoperation, die in 9 gezeigt wird, können durch Prüfen des Signals PT, wobei das Signal DECB auf "L" gesetzt ist, die Schritte S13, S14, S15 von 10 in einem Schritt ausgeführt werden. Deshalb kann die unnötige Programmierungsoperation für eine Zeit weggelassen werden, sodass Programmierung bei einer höheren Geschwindigkeit ausgeführt werden kann.
  • 13 zeigt den Programmfluss des Falls, wo die Datenerfassungsschaltung 9, gezeigt in 12, verwendet wird. Die Schritte S4, S7, S10 können durch Prüfen der Signale FR3, FR2, FR1 ausgeführt werden, wobei die Signale DEC3B, DEC2B, DEC1B auf "L" sind. Der Schritt S13 kann durch Prüfen des Signals PT ausgeführt werden, wobei das Signal DECB auf "L" ist. Da die anderen Fälle die gleichen sind wie der Fluss, der in 10 gezeigt wird, ist die Erläuterung hier nicht vorgesehen.
  • 14 ist ein Schaltungsdiagramm zum Erläutern der konkreten Konfiguration der Speicherzellenanordnung 1 und der Bitleitungssteuerschaltung 2, die in 1 gezeigt werden. Es wird ein Beispiel eines Vier-Stufen-Speicher-EEPROM als ein Mehrstufenspeicher gezeigt.
  • In dem Mehrstufenspeicher gemäß der zweiten Ausführungsform der vorliegenden Erfindung umfasst die erste Teildatenschaltung 20 in der Datenspeicherschaltung 10 die Taktsynchroninverter CI1 und CI2, und die n-Kanal-MOS-Transistoren Qn33, Qn34, Qn35. Die zweite Teildatenschaltung 21 umfasst die Taktsynchroninverter CI3 und CI4, und die n-Kanal-MOS-Transistoren Qn40, Qn41, Qn42. Die ersten und zweiten Teildatenschaltungen 20 und 21 speichern die ersten bzw. zweiten Teildaten zur Zeit der Programmierung, und speichern die ersten bzw. zweiten Leseteildaten zur Zeit vom Lesen. Der Zustand, wo der Knoten Nai in der ersten Teildatenschaltung 20 auf dem Pegel "H" ist, ist der Zustand, wo die erste Teildatenschaltung 20 die ersten Leseteildaten von "1" oder die ersten Teildaten von "1" speichert. Der Zustand, wo der Knoten Nai+1 in der zweiten Teildatenschaltung 21 auf dem Pegel "H" ist, ist der Zustand, wo die zweite Teildatenschaltung 21 die zweiten Leseteildaten von "1" oder die zweiten Teildaten von "1" speichert. Der Zustand, wo der Knoten Nai in der ersten Teildatenschaltung 20 auf dem Pegel "L" ist, ist der Zustand, wo die erste Teildatenschaltung 20 die ersten Leseteildaten von "0" oder die ersten Teildaten von "0" speichert. Der Zustand, wo der Knoten Nai+1 in der zweiten Teildatenschaltung 21 auf dem Pegel "L" ist, ist der Zustand, wo die zweite Teildatenschaltung 21 die zweiten Leseteildaten von "0" oder die zweiten Teildaten von "0" speichert.
  • Die n-Kanal-MOS-Transistoren Qn32 und Qn39 dienen zum elektrischen Verbinden der ersten und zweiten Teildatenschaltungen 20 und 21, und der Dateneingangs-/Ausgangsleitungen IOL und IOU. Zu der jeweiligen Gatterelektrode sind die Ausgänge CSLi und SCLi+1 von dem Spaltendecoder 3 vorgesehen. Wenn z.B. CSLi "H" erreicht, sind die erste Teildatenschaltung 20 der Datenspeicherschaltung 10, vorgesehen zu den Bitleitungen BLi und BLi+1 und die Dateneingangs-/Ausgangsleitung IOL elektrisch verbunden. Die Dateneingangs-/Ausgangsleitungen IOL und IOU sind mit dem Dateneingangs-/Ausgangspuffer 4 verbunden, sodass Teildaten in der ersten Teildatenschaltung 20 gesetzt werden können. Oder die Leseteildaten der ersten Teildatenschaltung können zu dem Dateneingangs-/Ausgangspuffer 4 ausgegeben werden.
  • Die n-Kanal-MOS-Transistoren Qn36 und Qn43 steuern die elektrische Verbindung zwischen den ersten und zweiten Teildatenschaltungen 20 und 21, und der Bitleitung BLi oder BLi+1. Falls das Signal BLC1 "H" ist und BLC2 "L" ist, sind die ersten und zweiten Teildatenschaltungen 20 und 21, und die Bitleitung BLi elektrisch verbunden. Falls das Signal BLC1 "L" ist und BLC2 "H" ist, sind die ersten und zweiten Teildatenschaltungen 20 und 21, und die Bitleitung BLi+1 elektrisch verbunden.
  • Die n-Kanal-MOS-Transistoren Qn37 und Qn44 steuern die elektrische Verbindung zwischen der Bitleitung BLi und der Spannung VBL1, und die elektrische Verbindung zwischen der Bitleitung BLi+1 und der Spannung VBL2. Falls das Signal PRE1 "H" ist, sind die Bitleitung BLi und die Spannung VBL1 elektrisch verbunden. Falls das Signal PRE2 "H" ist, sind die Bitleitung BLi+1 und die Spannung VBL2 elektrisch verbunden.
  • Die n-Kanal-MOS-Transistoren Qn31 und Qn38 dienen zum Setzen des Signals PRST auf "H" und Einstellen der Teildaten von "0" in den ersten und zweiten Teildatenschaltungen 20 und 21.
  • Das Signal zum Anzeigen der Daten oder des Programmierungszustands der Speicherzelle wird über die Bitleitung BLi oder BLi+1 transferiert. Der Taktsynchroninverter CI1 in der ersten Teildatenschaltung 20 und der Taktsynchroninverter CI3 in der zweiten Teildatenschaltung 21 funktionieren auch als der Abtastungsverstärker zum Abtasten des Logikpegels des Signals der Bitleitung BL. Obwohl der Taktsynchroninverter den Absolutwert der Spannung der Bitleitung BL als den Logikpegel in diesem Beispiel abtastet, kann auch ein Differenzialabtastungsverstärker verwendet werden. In diesem Fall wird die Differenz in Hinsicht auf die Bezugsspannung als der Logikpegel erfasst.
  • Die konkrete Konfiguration des Taktsynchroninverters CI, gezeigt in 14, wird in 15A und 15B gezeigt. 15A ist ein Symboldiagramm, und 15B ist ein detailliertes Schaltungsdiagramm davon. Der Eingangsanschluss der Inverterschaltung, umfassend den n-Kanal-MOS-Transistor Qn45 und den p-Kanal-MOS-Transistor Qp8, ist IN (EIN) und der Ausgangsanschluss ist OUT (AUS). Um die Inverterschaltung durch das Signal CLOCK (TAKT) und das Umkehrsignal CLOCK davon zu aktivieren oder zu deaktivieren, sind der n-Kanal-MOS-Transistor Qn46 und der p-Kanal-MOS-Transistor Qp7 vorgesehen. Das Signal CLOCK wird bei "H" aktiviert, und das Signal CLOCKB wird bei "L" aktiviert, das Signal CLOCK wird bei "L" deaktiviert und das Signal CLOCKB wird bei "H" deaktiviert.
  • Die Signale SEN1, LAT1, SEN2, LAT2, PRO1, PRO2, BLC1, BLC2, PRE1, PRE2, VRFY1, VRFY2, PRST, die Spannungen VBL1, VBL2, VREG, VFF sind Ausgangssignale von der Steuersignal- und Steuerspannungsgenerierungsschaltung 7, die allen Datenspeicherschaltungen gemeinsam sind, gezeigt in 2. Die Spannung VCC ist die Energieversorgungsspannung, z.B. 3,3V.
  • Die ersten und zweiten Teildatenschaltungen 20 und 21 speichern die Teildaten von "0" oder "1", ändern die gespeicherten Teildaten von "1" reagierend auf den Pegel "H" des Bitleitungssignals zu den Teildaten von "0", und bewahren die Teildaten von "0". D.h. bevor das Signal PRO1 oder PRO2 "H" wird, sodass der Spannungspegel der Bitleitung BL durch den Taktsynchroninverter CI1 oder CI3 abgetastet wird, wird der Spannungspegel der Bitleitung BL durch die n-Kanal-MOS-Transistoren Qn34, Qn35 oder Qn41, Qn42 gemäß den ersten oder zweiten Teildaten abgestimmt. Nur wenn die ersten oder zweiten Teildaten "0" sind, wird der Spannungspegel der Bitleitung BL gesetzt, "H" zu sein. Mit dem Signal PRO1 oder PRO2 auf "H", und dem Pegel "H" der Bitleitung, transferiert zu dem Eingangsanschluss des Taktsynchroninverters CI1 oder CI3, wird der Knoten Nai oder Nai+1 auf den Pegel "L" gesetzt. Ferner werden durch den Taktsynchroninverter CI2 oder CI4 die Teildaten von "0" gespeichert.
  • Deshalb werden die ursprünglich gespeicherten Teildaten von "0" nicht geändert. Andererseits werden sie, mit den ursprünglich gespeicherten Teildaten von "1", falls der Pegel der Bitleitung BL "H" ist, zu den Teildaten von "0" geändert und gespeichert. Falls der Pegel der Bitleitung BL "L" ist, werden die Teildaten von "1" gespeichert. Die ersten und zweiten Teildatenschaltungen 20 und 21 sind nicht auf die Konfiguration begrenzt, die in 14 gezeigt wird, sondern können in verschiedenen Schaltungen mit den oben erwähnten Funktionen realisiert werden.
  • 16A und 16B zeigen die Leseoperation der Vier-Stufen-Daten, die in der Speicherzelle gespeichert sind. Hier wird ein Beispiel gezeigt, wo Bitleitungen BL0, BL2,..., BLi,..., BL4222 ausgewählt sind (BLi wird als der Repräsentant davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher einfach realisiert werden. Da die Spannung VBL2 0V ist, BLC2 "L" ist, PRE2 "H" ist, PRST "L" ist und die Bitleitung BLi+1 auf 0V bleibt, werden sie in 16A und 16B nicht gezeigt.
  • Mit der Spannung VBL1 auf 1,3V wird die Bitleitung BLi auf "H" geladen (t1). Mit dem Signal BLC1 auf "H", wird die Bitleitung BLi ausgewählt (t1). Die Spannung VFF ist auf 2V zum Stabilisieren der Abtastungsempfindlichkeit der Taktsynchroninverter CI1 und CI3 fixiert, um als die Abtastungsverstärker zu dienen. Mit dem Signal PRE1 auf "L" werden die Bitleitung BLi und die Spannung VBL1 getrennt. Dann werden die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nichtausgewählte Wortleitung WL1, WL3, WL4 auf die Energieversorgungsspannung VCC gesetzt, und die ausgewählte Wortleitung WL2 wird auf 1,8V gesetzt (t2).
  • Hier wird die Beziehung zwischen den Daten und der Schwellenspannung, gespeichert in der Speicherzelle, in Tabelle 5 gezeigt.
  • Tabelle 5
    Figure 00420001
  • Mit der ausgewählten Wortleitung WL2 auf 1,8V bleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten "3" speichert. In den anderen Fällen wird die Bitleitung BLi "L". Nachdem die Auswahlgatter SG1 und SG2, die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt sind (t3), werden die Signale SEN2 und LAT2 "L", sodass die Taktsynchroninverter CI3 und CI4 deaktiviert werden (t4). Mit dem Signal PRO2 auf "H" (t5) und dem Signal SEN2 auf "H" (t6), wird der Taktsynchroninverter CI3 aktiviert und die Spannung der Bitleitung BLi wird abgetastet. Mit dem Signal LAT1 auf "H" (t7) wird der Taktsynchroninverter CI4 aktiviert und der abgetastete Logikpegel des Signals der Bitleitung BLi wird verriegelt. Mit dem Signal PRO1 auf "L" (t8) ist die Operation zum Erfassen, ob die Schwellenspannung der Speicherzelle M nicht kleiner als 1,8V ist oder nicht, abgeschlossen. Nur wenn die Speicherzelle die Daten "3" speichert, werden die ersten Leseteildaten der ersten Teildatenschaltung 21 "0". In den anderen Fällen sind die zweiten Leseteildaten "1".
  • Dann wird die Operation zum Erfassen, ob die Schwellenspannung der Speicherzelle M nicht kleiner als 0,0V ist oder nicht, ausgeführt. Mit der Spannung VBL1 auf 1,2V (t8) und dem Signal PRE1 auf "H" wird die Bitleitung BLi auf "H" geladen (t9). Mit dem Signal PRE1 auf "L" werden die Bitleitung BLi und die Spannung VBL1 getrennt. Die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung VCC gesetzt, und die ausgewählte Wortleitung WL2 bleibt auf 0,0V (t10). Zur gleichen Zeit wird das Signal VRFY2 auf 1,3V gesetzt, und der n-Kanal-MOS-Transistor Qn41 wird ausgeführt. Nur wenn die zweiten Leseteildaten "0" sind, wird das Potenzial der Bitleitung BLi entsprechend auf "L" durch die n-Kanal-MOS-Transistoren Qn41, Qn42 geändert (t10 bis t11).
  • Mit der ausgewählten Wortleitung WL2 auf 0,0V bleibt; nur wenn die Speicherzelle die Daten von "1" oder "2" speichert, die Bitleitung BLi auf "H". In den anderen Fällen wird die Bitleitung BLi "L". Nachdem die Auswahlgatter SG1 und SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt sind (t11), werden die Signale SEN1 und LAT1 "L", sodass die Taktsynchroninverter CI1 und CI2 deaktiviert werden (t12). Mit dem Signal PRO1 auf "H" (t13) und dem Signal SEN1 auf "H" (t14), wird der Taktsynchroninverter CI1 aktiviert, sodass die Spannung der Bitleitung BLi abgetastet wird. Mit dem Signal LAT1 auf "H" (t15) wird der Taktsynchroninverter CI2 aktiviert, sodass der Logikpegel des abgetasteten Signals der Bitleitung BLi verriegelt wird. Mit dem Signal PRO1 auf "L" (t16) wird die Operation zum Erfassen, ob die Schwellenspannung der Speicherzelle M nicht kleiner als 0,0V ist oder nicht, abgeschlossen. Nur wenn die Speicherzelle die Daten von "1" oder "2" speichert, werden die ersten Leseteildaten der ersten Teildatenschaltung 20 "0". In den anderen Fällen sind die ersten Leseteildaten "1".
  • Dann wird die Operation zum Erfassen, ob die Schwellenspannung der Speicherzelle M nicht kleiner als 1,0V ist oder nicht, ausgeführt. Mit der Spannung VBL1 auf 1,2V (t16) und dem Signal PRE1 auf "H" wird die Bitleitung BLi auf "H" geladen (t17). Dann wird das Signal PRE1 "L", sodass die Bitleitung BLi und die Spannung VBL1 getrennt werden. Die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung VCC gesetzt, und die ausgewählte Wortleitung WL2 wird auf 1,0V gesetzt (t18).
  • Mit der ausgewählten Wortleitung WL2 auf 1,0V bleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten von "3" oder "2" speichert. In den anderen Fällen wird die Bitleitung BLi "L". Nachdem die Auswahlgatter SG1 und SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt sind (t19), werden die Signale SEN2 und LAT2 "L", sodass die Taktsynchroninverter CI3 und CI4 deaktiviert werden (t20). Mit dem Signal PRO2 auf "H" (t21) und dem Signal SEN2 auf "H" (t22) wird der Taktsynchroninverter CI3 aktiviert und die Spannung der Bitleitung BLi wird abgetastet. Mit dem Signal LAT2 auf "H" (t23) wird der Taktsynchroninverter CI4 aktiviert, und der Logikpegel des abgetasteten Signals der Bitleitung BLi wird verriegelt. Mit dem Signal PRO2 auf "L" (t24) wird die Operation zum Erfassen, ob die Schwellenspannung der Speicherzelle M nicht kleiner als 1,0V ist oder nicht, abgeschlossen. Nur wenn die Speicherzelle die Daten "3" oder "2" speichert, werden die zweiten Leseteildaten der zweiten Teildatenschaltung 21 "0". In den anderen Fällen sind die zweiten Leseteildaten "1".
  • Mit dem Signal BLC1 auf "L", dem Signal PRE1 auf "H" und der Spannung VFF auf VCC ist die Operation zum Speichern der Daten der Speicherzelle M in der Datenspeicherschaltung 10 als die Lesedaten abgeschlossen.
  • Mit den Signalen CSLi, CSLi+1 auf "H" (t26) werden die ersten Leseteildaten zu der Dateneingangs-/Ausgangsleitung IOL ausgegeben, und die zweiten Leseteildaten werden zu der Dateneingangs-/Ausgangsleitung IOU ausgegeben. Dann werden sie nach außen von dem Dateneingangs-/Ausgangsanschluss 5 über den Dateneingangspuffer 4 ausgegeben. Die Beziehung zwischen den Vier-Stufen-Daten der Speicherzelle und den ersten und zweiten Leseteildaten wird in Tabelle 6 gezeigt.
  • Tabelle 6
    Figure 00450001
  • 17 zeigt die Anfangseinstellung der Steuerdaten in der Datenspeicherschaltung 10 und die Programmierungsoperation. Hier wird ein Beispiel gezeigt, wo Bitleitungen BL0, BL2, ..., BLi,..., BL4222 ausgewählt sind (BLi wird als der Repräsentant davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher einfach realisiert werden.
  • Die Anfangseinstellung der Steuerdaten zu der Datenspeicherschaltung 10, vorgesehen für die Bitleitung BLi, wird ausgeführt, wie nachstehend erwähnt wird. Mit den anfänglichen Teildaten der ersten Teildatenschaltung 20, transferiert zu der Dateneingangs-/Ausgangsleitung IOL, den anfänglichen Teildaten der zweiten Teildatenschaltung 21, transferiert zu der Dateneingangs-/Ausgangsleitung IOU, und dem Signal CSLi+1 auf "H" werden die anfänglichen Teildaten in den ersten und zweiten Teildatenschaltungen 20 und 21 gespeichert. Durch Ändern der Auswahl des Signals CSL können die anfänglichen Steuerdaten in einer optionalen Zahl der Datenspeicherschaltungen 10 gesetzt werden. In diesem Fall wird die Beziehung zwischen den anfänglichen Steuerdaten und den anfänglichen Teildaten in Tabelle 7 gezeigt, wie nachstehend erwähnt.
  • Tabelle 7
    Figure 00460001
  • Hierin ist es wünschenswert, die Steuerdaten aller Datenspeicherschaltungen 10 durch Setzen des Signals PRST auf "H" vor einer Einstellung der anfänglichen Steuerdaten auf "0" zurückzusetzen. Wie später speziell erläutert wird, können, da der Zustand der Speicherzelle durch die Steuerdaten "0" nicht geändert werden kann, unter 2112 Stücken der Datenspeicherschaltungen 10 die anfänglichen Steuerdaten von außerhalb nur zu gewünschten Datenspeicherschaltungen 10 gesetzt werden. Natürlich können die anfänglichen Steuerdaten von außerhalb zu allen der 2112 Stücke der Datenspeicherschaltungen 10 gesetzt werden. Da das Signal SEN1 auf "H", LAT1 auf "H", VRFY1 auf "L", SEN2 auf "H", LAT2 auf "H", VRFY2 auf "L", die Spannung VREG auf 0V und VFF auf VCC bleiben, werden sie in 17 nicht gezeigt.
  • In der Programmierungsoperation werden, mit dem Signal PRE1 auf "L", die Bitleitung BLi und die Spannung VBL1 getrennt (t1). Zur gleichen Zeit wird, mit dem Signal BLC1 auf "H", die Bitleitung BLi ausgewählt (t1). Mit dem Signal DRSTB auf "L" wird die Datenauswahlschaltung 9 zurückgesetzt (t1 bis t2). Mit der Spannung VBL2 auf VCC wird die ausgewählte Bitleitung BLi+1 dann auf VCC über den n-Kanal-MOS-Transistor Qn44 geladen (t2 bis t3). Mit dem Signal PRO1 auf "H" wird die ausgewählte Bitleitung BLi gemäß den ersten Teildaten geladen (t2 bis t3). Zu der Zeit wird die Bitleitung BLi auf VCC geladen, wenn die Steuerdaten "0" oder "3" sind, und wird auf 0V gesetzt, wenn die Steuerdaten "1" oder "2" sind. Das Auswahlgatter SG1 und die Wortleitungen WL1 bis WL4 werden auf VCC gesetzt (t2 bis t3). Das Auswahlgatter SG2 verbleibt auf 0V. Mit dem Signal PRO2 auf 1,8V wird dann die Spannung der ausgewählten Bitleitung BLi gemäß den zweiten Teildaten geändert (t3). Falls die zweiten Teildaten "0" sind, wird die Bitleitung BLi, die im voraus auf 0V gesetzt ist, auf 0,8V geladen, was kleiner als 1,8V ist durch die Schwellenspannung (z.B. 1V) des n-Kanal-MOS-Transistors Qn4. Falls die zweiten Teildaten "0" sind, bleibt die Bitleitung BLi, die im voraus auf VCC gesetzt ist, auf VCC, da der n-Kanal-MOS-Transistor Qn40 nicht ausgeführt wird. Falls die zweiten Teildaten "1" sind, ist die Bitleitung BLi 0V, da der n-Kanal-MOS-Transistor Qn40 leitend ist.
  • Als eine Folge wird die Bitleitung BLi VCC, wenn die Steuerdaten "0" sind, 0,8V, wenn die Steuerdaten "1" sind, 0V, wenn die Steuerdaten "2" sind und 0V, wenn die Steuerdaten "3" sind. Mit der gewählten Wortleitung WL2 auf 20V, und der nicht-gewählten Wortleitung auf 10V wird Elektroneninjektion von der Speicherzelle zu dem schwebenden Gatter gemäß den Steuerdaten gestartet (t3 bis t7). Falls die Bitleitung BL 0V ist, wird die Elektroneninjektion mit der Potenzialdifferenz zwischen dem Kanal der Speicherzelle und der Wortleitung auf 20V ausgeführt. Falls die Bitleitung BL 0,8V ist, wird die Elektroneninjektion mit der Potenzialdifferenz zwischen dem Kanal der Speicherzelle und der Wortleitung auf 19,2V ausgeführt, aber die Potenzialdifferenz zwischen dem Kanal der Speicherzelle und der Wortleitung ist kleiner als der Fall der Potenzialdifferenz von 20V. In dem Fall, dass die Bitleitung BL VCC ist, tritt die Elektroneninjektion im wesentlichen nicht auf, da die Potenzialdifferenz zwischen dem Kanal der Speicherzelle und der Wortleitung klein ist.
  • Während die ausgewählte Wortleitung WL2 auf 20V gesetzt ist (t3 bis t7), werden die Steuerdaten, die in der Datenspeicherschaltung 10 gespeichert sind, erfasst. Durch den Spaltendecoder werden von CSL0 und CSL1 bis CSL4222 und CSL4223 aufeinanderfolgend ausgewählt, sodass die Steuerdaten zu der Datenerfassungsschaltung 9 über die Dateneingangs-/Ausgangsleitungen IOL und IOU transferiert werden. Ein Beispiel, wo CSLi und CSLi+1 ausgewählt sind, wird in 17 gezeigt. Mit CSLi und CSLi+1 auf "H" (t4), Daten; die zu den Dateneingangs-/Ausgangsleitungen IOL und IOU ausgegeben werden, und dem Signal DT auf "H" werden die Steuerdaten durch die Datenerfassungsschaltung 9 erfasst (t5 bis t6). Wenn selbst eine der Datenspeicherschaltungen 10 die Daten "1" speichert, wird das Signal FR1 "H". Wenn selbst eine der Datenspeicherschaltungen 10 die Daten "2" speichert, wird das Signal FR2 "H". Wenn selbst eine der Datenspeicherschaltungen die Daten "3" speichert, wird das Signal FR3 "H".
  • Nachdem die Wortleitungen WL1 bis WL4 auf VCC abgefallen sind (t7 bis t8), wobei die Spannung VBL2 auf 0V ist, und das Signal PRE1 auf "H" ist, werden die Bitleitungen BLi und BLi+1 auf 0V zurückgesetzt (t8 bis t9). Die Spannung VBL1 ist 0V. Die Wortleitungen WL1 bis WL4 werden auf 0V zurückgesetzt (t8 bis t9).
  • 18A bis 18C zeigen die Programmierungsverifizierungsoperation zum Erfassen des Programmierungszustands der Speicherzelle nach der Programmierungsoperation in Zeit t1 bis t9, gezeigt in 17. Hier wird ein Beispiel gezeigt, wo Bitleitungen B10, BL2,..., BLi,..., BL4222 ausgewählt sind (BLi wird als der Repräsentant davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher einfach realisiert werden. Da die Spannung VBL2 auf 0V, BLC2 auf "L", PRE2 auf "H", PRST auf "L", CSL1 auf "L", CSLi+1 auf "L" und die Bitleitung BLi+1 auf 0V bleiben, werden sie in 18A bis 18C nicht gezeigt.
  • Mit der Spannung VBL1 auf 1,3V, wird die Bitleitung BLi auf "H" geladen (t1). Die Spannung VFF ist auf 2,0V fixiert. Mit dem Signal PRE1 auf "L" werden die Bitleitung BLi und die Spannung VBL1 getrennt. Die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung VCC gesetzt, und die ausgewählte Wortleitung WL2 wird auf 2,0V gesetzt (t2).
  • Mit der ausgewählten Wortleitung WL2 auf 2,0V verbleibt die Bitleitung BLi auf "H", falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert hat, den Zustand einer Speicherung der Daten "3" erreicht. Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert, den Zustand einer Speicherung der Daten "3" nicht erreicht, wird die Bitleitung BLi "L". Da die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" oder "1" speichert, den Zustand einer Speicherung der Daten "3" nicht erreicht, wird die Bitleitung BLi "L". Nachdem die Auswahlgatter SG1 und SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt sind (t3), wird die Bitleitung BLi auf "H" gesetzt (t4), nur wenn das Signal VRFY2 "H" wird und die zweiten Teildaten "0" sind. Hier ist die Spannung VREG VCC. Mit dem Signalen SEN2 und LAT2 auf "L" werden die Taktsynchroninverter CI3 und CI4 deaktiviert (t6). Mit dem Signal PRO2 auf "H" (t7) und dem Signal SEN2 auf "H" (t8) wird der Taktsynchroninverter CI3 aktiviert und die Spannung der Bitleitung BLi wird abgetastet. Mit dem Signal LAT2 auf "H" (t9) wird der Taktsynchroninverter CI4 aktiviert und der Logikpegel des abgetasteten Signals der Bitleitung BLi wird verriegelt. Mit dem Signal PRO2 auf "L" (t10) wird die Erfassung, ob die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten "3" speichert, den Zustand einer Speicherung der Daten "3" erreicht hat oder nicht (Verifizierungslesung der Daten "3"), abgeschlossen. Zu der Zeit werden nur wenn die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten "3" speichert, erfasst wird, den Zustand einer Speicherung der Daten "3" erreicht zu haben, die Steuerdaten der Datenspeicherschaltung 10, die die Steuerdaten "3" speichert, zu den Daten "0" geändert. In den anderen Fällen werden die Steuerdaten beibehalten (nicht geändert).
  • Es wird die Operation zum Erfassen, ob die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung der Daten "2" erreicht hat oder nicht, ausgeführt. Mit der Spannung VBL1 auf 1,3V (t10) und dem Signal PRE1 auf "H" wird die Bitleitung BLi auf "H" geladen (t11). Mit dem Signal PRE1 auf "L" werden die Bitleitung BLi und die Spannung VBL1 getrennt. Die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung VCC gesetzt, und die ausgewählte Wortleitung WL2 wird auf 1,2V gesetzt (t12). Zu der gleichen Zeit wird das Signal VFRFY1 auf 1,3V gesetzt, und der n-Kanal-MOS-Transistor Qn34 wird ausgeführt. Entsprechend wird nur, wenn die ersten Teildaten "0" sind, das Potenzial der Bitleitung BLi durch die n-Kanal-MOS-Transistoren Qn34, Qn35 auf "L" gesetzt (t12 bis t13).
  • Mit der ausgewählten Wortleitung WL2 auf 1,2V verbleibt die Bitleitung BLi auf "H", falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung der Daten "2" erreicht hat. Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung der Daten "2" nicht erreicht, wird die Bitleitung BLi "L". Da die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung der Daten "2" nicht erreicht, wird die Bitleitung BLi "L". Nachdem die Auswahlgatter SG1 und SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt sind (t13), wird die Bitleitung BLi auf "H" gesetzt (t14), nur wenn das Signal VRFY2 "H" wird und die zweiten Teildaten "0" sind. Hier ist die Spannung VGRE VCC.
  • Mit den Signalen SEN2 und LAT2 auf "L" werden die Taktsynchroninverter CI3 und CI4 deaktiviert (t16). Mit dem Signal PRO2 auf "H" (t17) und dem Signal SEN2 auf "H" (t18) wird der Taktsynchroninverter CI3 aktiviert und die Spannung der Bitleitung BLi wird abgetastet. Mit dem Signal LAT2 auf "H" (t19) wird der Taktsynchroninverter CI4 aktiviert, und der Logikpegel des abgetasteten Signals der Bitleitung BLi wird verriegelt. Mit dem Signal PRO2 auf "L" (t20) wird die Erfassung, ob die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung der Daten "2" erreicht hat oder nicht (Verifizierungslesung der Daten "2"), abgeschlossen.
  • Zu der Zeit werden, falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert, den Zustand einer Speicherung der Daten "3" erreicht hat, die Steuerdaten der Datenspeicherschaltung 10 zu den Daten "0" geändert. Nur wenn die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung der Daten "2" erreicht hat, werden die Steuerdaten der Datenspeicherschaltung 10 zu den Daten "1" geändert. In den anderen Fällen werden die Steuerdaten beibehalten (nicht geändert).
  • Es wird die Operation zum Erfassen, ob die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung der Daten "1" erreicht hat oder nicht, ausgeführt. Mit der Spannung VBL1 auf 1,3V (t20) und dem Signal PRE1 auf "H" wird die Bitleitung BLi auf "H" geladen (t21). Mit dem Signal PRE1 auf "L" werden die Bitleitung BLi und die Spannung VBL1 getrennt. Die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung VCC gesetzt, und die ausgewählte Wortleitung WL2 wird auf 0,4V gesetzt (t22).
  • Mit der ausgewählten Wortleitung WL2 auf 0,4V verbleibt die Bitleitung BLi auf "H", falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung der Daten "1" erreicht hat. Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung der Daten "1" nicht erreicht, wird die Bitleitung BLi "L". Nachdem die Auswahlgatter SG1 und SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt sind (t23), wenn das Signal PRO2 1,3V wird (t24) und die zweiten Teildaten "1" sind, wird die Bitleitung BLi auf "L" gesetzt. In dem Fall, dass die zweiten Teildaten "0" sind und die Bitleitung BLi ursprünglich "H" ist, verbleibt die Bitleitung BLi auf "H". In dem Fall, dass die zweiten Teildaten "0" sind und die Bitleitung BLi ursprünglich "L" ist, kann die Bitleitung BLi höchstens nur 0,3V durch das Signal PRO2 von 1,3V mit der Schwellenspannung des n-Kanal-MOS-Transistors Qn40 von 1V erreichen. Falls der Taktsynchroninverter CI1 derart gesetzt ist, dass die Spannung der Bitleitung BLi von 0,3V erfasst wird, "L" zu sein, verbleibt die Bitleitung BLi auf "L". Nur wenn das Signal VRFY1 "H" wird und die ersten Teildaten "0" sind, wird die Bitleitung BLi auf "H" geändert (t26). Mit den Signalen SEN1 und LAT1 auf "L" werden die Taktsynchroninverter CI1 und CI2 deaktiviert (t28). Mit den Signalen SEN1 und LAT1 auf "L" werden die Taktsynchroninverter CI1 und CI2 deaktiviert (t28). Mit dem Signal PRO1 auf "H" (t29) und dem Signal SEN1 auf "H" (t30) wird der Taktsynchroninverter CI1 aktiviert, sodass die Spannung der Bitleitung BLi abgetastet wird. Mit dem Signal LAT1 auf "H" (t31) wird der Taktsynchroninverter CI2 aktiviert und der Logikpegel des Signals der Bitleitung BLi wird verriegelt. Mit dem Signal PRO1 auf "L" (t32) wird die Erfassung, ob die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung der Daten "1" erreicht hat oder nicht (Verifizierungslesung der Daten "1"), abgeschlossen. Zu der Zeit werden, nur wenn die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert, den Zustand einer Speicherung der Daten "3" erreicht hat, die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung der Daten "2" erreicht hat, und die Speicherzelle entsprechend der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung der Daten "1" erreicht hat, die Steuerdaten der Datenspeicherschaltung 10 zu den Daten "0" geändert. In den anderen Fällen werden die Steuerdaten beibehalten (nicht geändert).
  • Mit dem Signal BLC1 auf "L", dem Signal PRE1 auf "H" und der Spannung VFF auf VCC ist die Programmierungsverifizierungsoperation abgeschlossen.
  • Durch die Programmierungsverifizierungsoperation werden die Steuerdaten, die in der Datenspeicherschaltung 10 gespeichert sind, durch den Programmierungszustand der Speicherzelle geändert, wie in Tabelle 8 gezeigt wird.
  • Tabelle 8
    Figure 00540001
  • Entsprechend kann durch Wiederholen der Programmierungsoperation, gezeigt in t1 bis t9 von 17, und der Programmierungsverifizierungsoperation, gezeigt in 18A bis 18C bis alle Steuerdaten "0" werden, die Datenprogrammierung (Programm) zu der Speicherzelle M ausgeführt werden. Wie in der oben erwähnten ersten Ausführungsform beschrieben, werden jedoch vorzugsweise die Verifizierungslesung der Daten "3", die Verifizierungslesung der Daten "2" und die Verifizierungslesung der Daten "1" selektiv ausgeführt, wie nachstehend erwähnt wird.
    • (1) Um alle der Verifizierungslesung der Daten "3", der Verifizierungslesung der Daten "2" und der Verifizierungslesung der Daten "1" auszuführen, kann die Prozedur, die in 18A bis 18C gezeigt wird, ausgeführt werden.
    • (2) Um nur die Verifizierungslesung der Daten "3" und die Verifizierungslesung der Daten "2" auszuführen, kann die Prozedur, die in 18A bis 18C gezeigt wird, ausgeführt werden.
    • (3) Um nur die Verifizierungslesung der Daten "3" und die Verifizierungslesung der Daten "1" auszuführen, können nur Zeit t11 bis t21 aus der Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird.
    • (4) Um nur die Verifizierungslesung der Daten "3" auszuführen, können Zeit t11 bis t34 aus der Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird. In t11 werden jedoch die Spannung VBL1 auf 0V, VFF auf VCC, das Signal PRE1 auf "H" und BLC1 auf "L" zurückgesetzt.
    • (5) Um nur die Verifizierungslesung der Daten "2" und die Verifizierungslesung der Daten "1" auszuführen, kann Zeit t1 bis t11 aus der Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird. In t11 werden jedoch die Spannung VBL1 auf 1,3V, VFF auf 2,0V und BLC1 auf "H" gesetzt.
    • (6) Um nur die Verifizierungslesung der Daten "2" auszuführen, können Zeit t1 bis t11 aus der Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird. In t11 werden jedoch die Spannung VBL1 auf 1,3V, VFF auf 2,0V und BLC1 auf "H" gesetzt.
    • (7) Um nur die Verifizierungslesung der Daten "1" auszuführen, können Zeit t1 bis t21 aus der Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird. In t11 werden jedoch die Spannung VBL1 auf 1,3V, VFF auf 2,0V und BLC1 auf "H" gesetzt.
  • Hier in der Programmierungsverifizierungsoperation in der zweiten Ausführungsform der vorliegenden Erfindung tastet bei Ausführung der Verifizierungslesung der Daten "2" nur die zweite Teildatenschaltung 21 das Bitleitungspotenzial ab. Das heißt falls die Abtastungsempfindlichkeiten der ersten Teildatenschaltung 20 und der zweiten Teildatenschaltung 21 umfassend die Datenspeicherschaltung 10 nicht identisch sind, ist es in dem Fall, dass die Speicherzelle den Zustand einer Speicherung der Daten "2" erreicht, möglich, dass sich die Steuerdaten ändern, z.B. von "2" zu "3", selbst wenn die Verwendung versucht, die Steuerdaten der Datenspeicherschaltung 10 von "2" zu "0" durch Verwenden beider Teildatenschaltungen zu ändern. Deshalb ist es möglich, dass die Speicherzelle, zu der die Daten "2" gewünscht werden programmiert zu werden, mit den Daten "3" programmiert werden kann.
  • Um derartige Probleme zu verhindern, tastet in der zweiten Ausführungsform der vorliegenden Erfindung in der Verifizierungslesung der Daten "2" unter den Programmierungsverifizierungsoperationen nur die zweite Teildatenschaltung 21 das Bitleitungspotenzial ab. In dem Fall, dass die Speicherzelle den Zustand einer Speicherung der Daten "2" erreicht hat, werden die Steuerdaten der Datenspeicherschaltung 10 von "2" zu "1" zu der Zeit der Verifizierungslesung geändert. Falls die Verifizierungslesung der Daten "1" nach der Verifizierungslesung derartiger Daten "2" ausgeführt wird, werden die ursprünglich geänderten Steuerdaten von "2" zu "1" stets "0". D.h. die Steuerdaten der Datenspeicherschaltung 10 können korrekt konvertiert werden, sodass stabile Programmierungsverifizierungsergebnisse erhalten werden können.
  • 19 zeigt den detaillierten Fluss des Programms in Bezug auf den Mehrstufenspeicher in der zweiten Ausführungsform der vorliegenden Erfindung. Der Programmfluss wird durch die Steuersignal- und Steuerspannungsgenerierungsschaltung 7 gesteuert, die in 1 gezeigt wird. Anders als in dem Programmfluss, der in 10 gezeigt wird, wird, wenn die Verifizierungslesung der Daten "2" gestartet ist, die Verifizierungslesung der Daten "1" gesetzt, stets ausgeführt zu werden.
  • Durch den Befehl zum Starten des Programms, der in dem Steuersignaleingangsanschluss 8 eingegeben wird, wird das Programm gestartet. Die Zählerschaltung zum Zählen der Variablen IWT, die in der Steuersignal- und Steuerspannungsgenerierungsschaltung 7 vorgesehen ist, wird zurückgesetzt, IWT auf 0 zu haben (S1). Die anfänglichen Steuerdaten für 4224 Bits, die zu dem Dateneingangs-/Ausgangsanschluss 5 eingegeben werden, werden zu der Datenspeicherschaltung geladen (S2).
  • Nach Laden der Daten wird die Programmierungsoperation ausgeführt, wobei die Variable IWT um 1 inkrementiert wird (S3). Es wird geprüft, ob der Ausgang FR3 der Datenerfassungsschaltung 9 "H" ist (S4). Falls der Ausgang FR3 der Datenerfassungsschaltung 9 "H" ist und die Daten "3" in der Datenspei cherschaltung 10 verbleiben, kann geprüft werden, ob die Variable IWT nicht kleiner als das vorbestimmte W3 ist oder nicht (S5). Falls die Variable IWT nicht kleiner als W3 ist, wird die Verifizierungslesung der Daten "3" ausgeführt (S6). Falls der FR3 auf "L" ist oder die Variable IWT kleiner als W3 ist, wird die Verifizierungslesung der Daten "3" weggelassen.
  • Es wird geprüft, ob der Ausgang FR2 der Datenerfassungsschaltung 9 "H" ist (S7). Falls der Ausgang FR2 der Datenerfassungsschaltung 9 "H" ist und die Daten "2" in der Datenspeicherschaltung 10 verbleiben, kann geprüft werden, ob die Variable IWT nicht kleiner als das vorbestimmte W2 ist oder nicht (S8). Falls die Variable IWT nicht kleiner als W2 ist, wird die Verifizierungslesung der Daten "2" ausgeführt (S9). Falls der FR2 auf "L" ist oder die Variable IWT kleiner als W2 ist, wird die Verifizierungslesung der Daten "2" weggelassen.
  • Es wird geprüft, ob der Ausgang FR1 der Datenerfassungsschaltung 9 "H" ist (S10). Falls der Ausgang FR1 der Datenerfassungsschaltung 9 "H" ist und die Daten "1" in der Datenspeicherschaltung 10 verbleiben, kann geprüft werden, ob die Variable IWT nicht kleiner als das vorbestimmte W1 ist oder nicht (S11). Falls die Variable IWT nicht kleiner als W1 ist, wird die Verifizierungslesung der Daten "1" ausgeführt (S12). Falls der FR1 auf "L" ist oder die Variable IWT kleiner als W1 ist, wird die Verifizierungslesung der Daten "1" weggelassen. In dem Fall jedoch, dass die Verifizierungslesung der Daten "2" (S9) ausgeführt wird, wird die Verifizierungslesung der Daten "1" stets ausgeführt (S12).
  • Falls alle Ausgänge FR3, FR2, FR1 der Datenerfassungsschaltung 9 "L" sind, ist das Programm abgeschlossen (S13, S14, S15). Wenn selbst einer der Ausgänge FR3, FR2, FR1 "H" ist, wird die Programmierungsoperation erneut ausgeführt (S3). Jedes Mal wird die Variable IWT um 1 inkrementiert, die Spannung, die an die ausgewählte Wortleitung zur Zeit der Programmierung angelegt wird (die Spannung der ausgewählten Wortleitung in der Zeit t3 bis t7, gezeigt in 16B), wird um 0,4V erhöht und die Schwellenspannung der Speicherzelle M für die Programmierung "1", "2", "3" wird um 0,4V angehoben. Die vorbestimmten W1, W2, W3 werden bestimmt, die nachstehend erwähnt wird.
  • Die Erläuterung wird erneut mit Bezug auf 11 vorgesehen. 11 zeigt ein Beispiel der Programmierungscharakteristik der Speicherzelle. Die horizontale Achse repräsentiert die Programmierungsoperationszahl IWT. Die vertikale Achse repräsentiert die Schwellenspannungen der leichtesten Speicherzelle, die zu programmieren ist (weißer Punkt) und der schwersten Speicherzelle, die zu programmieren ist (schwarzer Punkt) nach der Programmierungsoperationszahl IWT. Die Schwellenspannung der leichtesten programmierten Speicherzelle erreicht 0,1V nach der ersten Programmierungsoperation. Zu der Zeit ist die Schwellenspannung der schwersten programmierten Speicherzelle –1,5V. Da sich jedes Mal die Programmierungsoperationszahl um 1 erhöht, sich die Spannung der ausgewählten Wortleitung zur Zeit der Programmierung um 0,4V erhöht, wird die Schwellenspannung der Speicherzelle entsprechend im wesentlichen um 0,4V angehoben. Die Schwellenspannung der Speicherzelle M, die mit der Datenspeicherschaltung 10 verbunden ist, die Steuerdaten von "1" speichert, ist jedoch um 0,8V kleiner.
  • Da keine der Schwellenspannungen der Speicherzellen 0,4V in der anfänglichen Programmierungsoperation erreicht, ist die gesamte Verifizierungslesung für die Daten "3", die Daten "2" und die Daten "1" nicht erforderlich. Von dem vierten Mal und später ist, da die Schwellenspannung der leichtesten program mierten Speicherzelle 1,2V überschreitet, die Verifizierungslesung der Daten "2" notwendig. Da die Schwellenspannung der Speicherzelle M, die mit der Datenspeicherschaltung 10 verbunden ist, die die Steuerdaten von "1" speichert, 0,4V überschreitet, wird auch die Verifizierungslesung der Daten "1" notwendig. Deshalb können die W1, W2 im voraus als 4 bestimmt werden. Von dem sechsten Mal und später ist, da die Schwellenspannung der leichtesten programmierten Speicherzelle 2,0V überschreitet, die Verifizierungslesung der Daten "3" notwendig. Deshalb kann das W3 im voraus als 6 bestimmt werden.
  • Nach der Programmierungsoperation des neunten Mals, d.h. IWT = 9 oder später, werden die Ausgänge FR1 und FR2 der Datenerfassungsschaltung "L". Nach der Programmierungsoperation des zehnten Mals überschreitet selbst die Schwellenspannung der schwersten programmierten Speicherzelle 0,4V. Deshalb wird der Ausgang FR3 der Datenerfassungsschaltung "L" mindestens von IWT = 11 oder später.
  • 20 zeigt den Programmfluss in dem Fall, dass die Datenerfassungsschaltung 9 verwendet wird, die in 12 gezeigt wird. Die Schritte S4, S7, S10 können jeweils mit den Signalen DEC3B, DEC2B, DEC1B auf "L" und Prüfen der Signale FR3, FR2, FR1 ausgeführt werden. Der Schritt S13 kann mit dem Signal DECB auf "L" und Prüfen des Signals PT ausgeführt werden. In den anderen Fällen wird das Programm in dem gleichen Fluss ausgeführt, wie in 19 gezeigt.
  • In der zweiten Ausführungsform der vorliegenden Erfindung ist es möglich, die Datenprogrammierung durch Wiederholen der Programmierungsoperation, die in Zeit t1 bis t9 von 17 gezeigt wird, und der Programmierungsverifizierungsoperation, die in 18A bis 18C gezeigt wird, auszuführen, bis alle Steuerdaten "0" werden. In diesem Fall ist es möglich, eine mit der Schaltungskonfiguration, die in 21 gezeigt wird, als die Datenerfassungsschaltung 9, die in 1 gezeigt wird, zu verwenden.
  • In der Datenerfassungsschaltung, die in 21 gezeigt wird, werden mit dem Knoten Nai in der ersten Teildatenschaltung 20 die Gatterelektrode des n-Kanal-MOS-Transistors Qn47 und ein Ende des Strompfades des n-Kanal-MOS-Transistors Qn49 verbunden. Mit dem Knoten Nai+1 in der zweiten Teildatenschaltung 21 werden die Gatterelektrode des n-Kanal-MOS-Transistors Qn48 und ein Ende des Strompfades des n-Kanal-MOS-Transistors Qn50 verbunden. Die n-Kanal-MOS-Transistoren Qn47, Qn48 sind Schaltungen zum Erfassen, ob alle Teildatenschaltungen die Teildaten von "0" speichern oder nicht. In dem Fall, dass alle Teildatenschaltungen die Teildaten von "0" speichern, werden die Signalleitung PT und der Massepegel nicht ausgeführt, und wenn selbst eines der 4224 Stücke der Teildatenschaltungen die Teildaten von "1" speichert, werden die Signalleitung PT und der Massepegel ausgeführt. Die n-Kanal-MOS-Transistoren Qn49, Qn50 dienen zum Speichern der Teildaten von "0" in allen Teildatenschaltungen. Mit dem Signal PRST auf "H" werden die Teildaten von "0" in allen der 4224 Stücke der Teildatenschaltungen gesetzt.
  • Bezüglich der Schaltungskonfiguration der Datenspeicherschaltung kann eine mit der ersten Ausführungsform, die in 5 gezeigt wird, leicht realisiert werden. Im Gegensatz dazu kann in der ersten Ausführungsform eine mit der Datenspeicherschaltung, die den Taktsynchroninverter, der in 15 gezeigt wird, als den Abtastungsverstärker verwendet, leicht realisiert werden.
  • Wie bisher erwähnt, umfasst ein Mehrstufenspeicher gemäß dem ersten Aspekt der vorliegenden Erfindung eine elektrisch programmierbare Speicherzelle (M) mit mindestens einem gelöschten Zustand, einem ersten Programmierungszustand und einem zweiten Programmierungszustand, und Programmierungsschaltungen (2, 3, 6, 7, 9) zum Programmieren von Daten durch Wiederholen einer Programmierungsoperation für ein gewisses Programm durch Anlegen einer Programmierungsspannung an die Speicherzelle (M), einer ersten Programmierungsverifizierungsoperation zum Bestätigen, ob die Speicherzelle (M) den ersten Programmierungszustand nach der Programmierungsoperation erreicht hat oder nicht, oder einer zweiten Programmierungsverifizierungsoperation zum Bestätigen, ob die Speicherzelle (M) den zweiten Programmierungszustand nach der Programmierungsoperation erreicht hat oder nicht, wobei die Programmierungsschaltung (2, 3, 6, 7, 9) die Programmierungsoperation und die erste Programmierungsverifizierungsoperation wiederholt, während die zweite Programmierungsverifizierungsoperation in der ersten Periode der Datenprogrammierung weggelassen wird, und die Programmierungsoperation, die erste Programmierungsverifizierungsoperation und die zweite Programmierungsverifizierungsoperation in der zweiten Periode nach der ersten Periode der Datenprogrammierung wiederholt.
  • Als weitere bevorzugte Ausführungsformen können die nachstehend erwähnten präsentiert werden.
    • (1) Die Programmierungsschaltungen (2, 3, 6, 7, 9) wiederholen die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation, während die erste Programmierungsverifizierungsoperation in der dritten Periode nach der zweiten Periode weggelassen wird.
    • (2) Die Programmierungsschaltungen (2, 3, 6, 7, 9) ändern die Programmierungsspannung, die an die Speicherzelle (M) anzulegen ist, wenn von der Speicherzelle (M) bestätigt wird, den ersten Programmierungszustand oder den zweiten Programmierungszustand erreicht zu haben.
  • Oder ein Mehrstufenspeicher gemäß dem ersten Aspekt der vorliegenden Erfindung umfasst eine Vielzahl von elektrisch programmierbaren Speicherzellen (M) mit mindestens einem gelöschten Zustand, einem ersten Programmierungszustand und einem zweiten Programmierungszustand, und Programmierungsschaltungen (2, 3, 6, 7, 9) zum Programmieren von Daten durch Wiederholen einer Programmierungsoperation für ein gewisses Programm durch Anlegen einer Programmierungsspannung an die Vielzahl der Speicherzellen (M), einer ersten Programmierungsverifizierungsoperation zum Bestätigen, ob die Speicherzelle (M), die in dem ersten Programmierungszustand zu sein hat, den ersten Programmierungszustand erreicht hat oder nicht, unter der Vielzahl der Speicherzellen (M) nach der Programmierungsoperation, oder einer zweiten Programmierungsverifizierungsoperation zum Bestätigen, ob die Speicherzelle (M), die in dem zweiten Programmierungszustand zu sein hat, unter der Vielzahl der Speicherzellen (M) den zweiten Programmierungszustand nach der Programmierungsoperation erreicht hat oder nicht, wobei die Programmierungsschaltungen (2, 3, 6, 7, 9) die Programmierungsoperation und die erste Programmierungsverifizierungsoperation wiederholen, während die zweite Programmierungsverifizierungsoperation in der ersten Periode der Datenprogrammierung weggelassen wird, und die Programmierungsoperation, die erste Programmierungsverifizierungsoperation und die zweite Programmierungsverifizierungsoperation in der zweiten Periode nach der ersten Periode der Datenprogrammierung wiederholen.
  • Als weitere bevorzugte Ausführungsformen können die nachstehend erwähnten präsentiert werden.
    • (1) Die Programmierungsschaltungen (2, 3, 6, 7, 9) wiederholen die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation, während die erste Programmie rungsverifizierungsoperation in der dritten Periode nach der zweiten Periode weggelassen wird.
    • (2) Die Programmierungsschaltungen (2, 3, 6, 7, 9) ändern die Programmierungsspannung, die an die Speicherzelle (M) anzulegen ist, die in dem ersten Programmierungszustand zu sein hat, wenn von der Speicherzelle (M), die in dem ersten Programmierungszustand zu sein hat, bestätigt wird, den ersten Programmierungszustand erreicht zu haben, und ändern die Programmierungsspannung, die an die Speicherzelle (M) anzulegen ist, die in dem zweiten Programmierungszustand zu sein hat, wenn von der Speicherzelle (M), die in dem zweiten Programmierungszustand zu sein hat, bestätigt wird, den zweiten Programmierungszustand erreicht zu haben.
    • (3) Die erste Periode wird im voraus bestimmt.
    • (4) Die Programmierungsschaltungen (2, 3, 6, 7, 9) wiederholen die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation, während die erste Programmierungsverifizierungsoperation weggelassen wird, wenn von allen Speicherzellen (M), die in dem ersten Programmierungszustand zu sein haben, bestätigt wird, den ersten Programmierungszustand erreicht zu haben.
    • (5) Die Programmierungsschaltungen (2, 3, 6, 7, 9) erfassen, ob alle Speicherzellen (M), die in dem ersten Programmierungszustand zu sein haben, den ersten Programmierungszustand gleichzeitig erreicht haben oder nicht.
    • (6) Die Programmierungsschaltungen (2, 3, 6, 7, 9) erfassen, ob alle Speicherzellen (M), die in dem zweiten Programmierungszustand zu sein haben, den zweiten Programmierungszustand gleichzeitig erreicht haben oder nicht.
    • (7) Die Programmierungsspannung, die an die Speicherzelle (M) anzulegen ist, die in dem ersten Programmierungszustand zu sein hat, und die Programmierungsspannung, die an die Speicherzelle (M) anzulegen ist, die in dem zweiten Programmierungszustand zu sein hat, sind gleich.
    • (8) Die Programmierungsschaltungen (2, 3, 6, 7, 9) schließen die Programmierungsoperation nach Bestätigung ab, dass alle Speicherzellen (M), auf die Programmierung angewendet wurde, einen gewünschten Programmierungszustand erreicht haben.
    • (9) Die Programmierungsschaltungen (2, 3, 6, 7, 9) erfassen, dass alle Speicherzellen (M), auf die Programmierung angewendet wurde, einen gewünschten Programmierungszustand gleichzeitig erreicht haben.
  • Ein Mehrstufenspeicher gemäß dem zweiten Aspekt der vorliegenden Erfindung umfasst eine Speicherzellenanordnung (1) umfassend eine Vielzahl von nicht-flüchtigen Speicherzellen (M), von denen jede Daten eines Wertes n (n ≥ 3) speichern kann, und Datenspeicherschaltungen (10) zum Speichern von Steuerdaten zum Bestimmen einer Programmierungssteuerspannung, die an eine ausgewählte Speicherzelle (M) in der Speicherzellenanordnung (1) in der Programmierungsoperation anzulegen ist, wobei die Datenspeicherschaltungen (10) die Programmierungssteuerspannung an die ausgewählte Speicherzelle (M) basierend auf den Steuerdaten, die in den Datenspeicherschaltungen (10) gespeichert sind, anlegen, die Datenspeicherschaltungen (10), die erste Steuerdaten speichern, erfassen, ob die ausgewählte Speicherzelle (M) den ersten Zustand von dem Programmierungszustand erreicht hat oder nicht und wann er erreicht wurde, die Steuerdaten zu zweiten Steuerdaten geändert werden, die Datenspeicherschaltungen (10), die die zweiten Steuerdaten speichern, erfassen, ob die ausgewählte Speicherzelle (M) den zweiten Zustand erreicht hat oder nicht und wann er erreicht wurde, die Steuerdaten zu dritten Steuerdaten geändert werden.
  • Als weitere bevorzugte Ausführungsformen können die nachstehend erwähnten präsentiert werden.
    • (1) Der erste Zustand hat eine erste Schwellenspannungsstufe, und der zweite Zustand hat eine zweite Schwellenspannungsstufe, die kleiner als die erste Schwellenspannungsstufe ist.
    • (2) Die Datenspeicherschaltungen (10) umfassen erste Teildatenschaltungen (CI1, CI2, Qn33, Qn34, Qn35) und zweite Teildatenschaltungen (CI3, CI4, Qn40, Qn41, Qn42), wobei die ersten Teildatenschaltungen (CI1, CI2, Qn33, Qn34, Qn35) Teildaten eines ersten Logikpegels speichern und die zweiten Teildatenschaltungen (CI3, CI4, Qn40, Qn41, Qn42) Teildaten eines ersten Logikpegels zum Speichern der ersten Steuerdaten speichern, die ersten Teildatenschaltungen (CI1, CI2, Qn33, Qn34, Qn35) Teildaten eines ersten Logikpegels speichern und die zweiten Teildatenschaltungen (CI3, CI4, Qn40, Qn41, Qn42) Teildaten eines zweiten Logikpegels zum Speichern der zweiten Steuerdaten speichern, und die ersten Teildatenschaltungen (CI1, CI2, Qn33, Qn34, Qn35) Teildaten des zweiten Logikpegels speichern und die zweiten Teildatenschaltungen (CI3, CI4, Qn40, Qn41, Qn42) Teildaten des zweiten Logikpegels zum Speichern der dritten Steuerdaten speichern.
    • (3) Die Datenspeicherschaltungen (10) erfassen, ob der Programmierungszustand der ausgewählten Speicherzelle (M) den ersten Zustand erreicht hat oder nicht durch eine der ersten und zweiten Teildatenschaltungen, und ob der Programmierungszustand der ausgewählten Speicherzelle (M) den zweiten Zustand erreicht hat oder nicht durch die andere eine der ersten und zweiten Teildatenschaltungen:
    • (4) Es wird ferner eine Schaltung zum gleichzeitigen Erfassen, ob alle Teildaten, die in den ersten und zweiten Teildatenschaltungen gespeichert sind, umfassend alle Datenspeicherschaltungen (10) auf dem zweiten Logikpegel sind oder nicht, vorgesehen.
    • (5) Die Speicherzelle (M) kann vier Stufen speichern, und die ersten und zweiten Teildatenschaltungen inkludieren eine jede Flip-Flop-Schaltung.
    • (6) Die Speicherzelle (M) kann dreifache Werte speichern, und die ersten und zweiten Teildatenschaltungen inkludieren eine jede Flip-Flop-Schaltung.
  • Die Erfindung ist nicht auf die oben erwähnten ersten und zweiten Ausführungsformen begrenzt. Z.B. kann die vorliegende Erfindung auch in einer nicht-flüchtigen Halbleiterspeichereinrichtung eines Mehrstufenspeichers mit einer Speicherzellenanordnung vom NOR-Typ oder einer nicht-flüchtigen Halbleiterspeichereinrichtung eines Typs eines Mehrstufenspeichers mit heißer Elektronenladeprogrammierung realisiert werden. Es können andere Änderungen und Modifikationen innerhalb des Bereichs angenommen werden, die nicht von der vorliegenden Erfindung abweichen, wie in den Ansprüchen definiert.

Claims (11)

  1. Mehrstufenspeicher, gekennzeichnet zu umfassen: eine elektrisch programmierbare Speicherzelle (1) mit mindestens einem gelöschten Zustand, einem ersten Programmierungszustand und einem zweiten Programmierungszustand, und eine Programmierungsschaltung (2, 3, 6, 7, 9) zum Programmieren von Daten durch Wiederholen einer Programmierungsoperation durch Anlegen einer Programmierungsspannung an die Speicherzelle, und Durchführen einer ersten Programmierungsverifizierungsoperation zum Bestätigen, ob die Speicherzelle den ersten Programmierungszustand nach der Programmierungsoperation erreicht hat oder nicht, oder einer zweiten Programmierungsverifizierungsoperation zum Bestätigen, ob die Speicherzelle den zweiten Programmierungszustand nach der Programmierungsoperation erreicht hat oder nicht, wobei die Programmierungsschaltung mindestens zwei Speicherzellen zur gleichen Zeit programmiert und die Programmierungsoperation und die erste Programmierungsverifizierungsoperation mit Ausnahme der zweiten Programmierungsverifizierungsoperation in einer ersten Periode der Datenprogrammierung wiederholt, und wobei die Programmierungsschaltung die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation in einer zweiten Periode nach der ersten Periode der Datenprogrammierung wiederholt, gekennzeichnet dadurch, dass die erste Programmierungsverifizierungsoperation auch in der zweiten Periode wiederholt wird.
  2. Mehrstufenspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die Programmierungsschaltung (2, 3, 6, 7, 9) die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation mit Ausnahme der ersten Programmierungsverifizierungsoperation in einer dritten Periode nach der zweiten Periode wiederholt.
  3. Mehrstufenspeicher nach Anspruch 1 oder 2, gekennzeichnet dadurch, dass die Programmierungsschaltung (2, 3, 6, 7, 9) die Programmierungsspannung, die an die Speicherzelle (1) anzulegen ist, ändert, wenn von der Speicherzelle bestätigt wird, einen vorbestimmten Programmierungszustand erreicht zu haben.
  4. Mehrstufenspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die Programmierungsschaltung (2, 3, 6, 7, 9) die Programmierungsspannung ändert, die an die Speicherzelle (1) anzulegen ist, die in dem ersten Programmierungszustand zu sein hat, wenn von der Speicherzelle, die in dem ersten Programmierungszustand zu sein hat, bestätigt wird, den ersten Programmierungszustand erreicht zu haben, und die Programmierungsspannung ändert, die an die Speicherzelle anzulegen ist, die in dem zweiten Programmierungszustand zu sein hat, wenn von der Speicherzelle, die in dem zweiten Programmierungszustand zu sein hat, bestätigt wird, den zweiten Programmierungszustand erreicht zu haben.
  5. Mehrstufenspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die erste Periode im voraus bestimmt wird.
  6. Mehrstufenspeicher nach Anspruch 2, gekennzeichnet dadurch, dass die Programmierungsschaltung (2, 3, 6, 7, 9) die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation wiederholt, wenn von allen von den Speicherzellen (1), die in dem ersten Programmierungszustand zu sein haben, bestätigt wird, den ersten Programmierungszustand erreicht zu haben.
  7. Mehrstufenspeicher nach Anspruch 6, gekennzeichnet dadurch, dass die Programmierungsschaltung (2, 3, 6, 7, 9) gleichzeitig erfasst, ob alle der Speicherzellen (1), die in dem ersten Programmierungszustand zu sein haben, den ersten Programmierungszustand erreicht haben oder nicht.
  8. Mehrstufenspeicher nach Anspruch 6, gekennzeichnet dadurch, dass die Programmierungsschaltung (2, 3, 6, 7, 9) gleichzeitig erfasst, ob alle der Speicherzellen (1), die in dem zweiten Programmierungszustand zu sein haben, den zweiten Programmierungszustand erreicht haben oder nicht.
  9. Mehrstufenspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die Programmierungsschaltung (2, 3, 6, 7, 9) eine gleiche Programmierungsspannung an die Speicherzelle (1), die in dem ersten Programmierungszustand zu sein hat, und an die Speicherzelle (1), die in dem zweiten Programmierungszustand zu sein hat, anlegt.
  10. Mehrstufenspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die Programmierungsschaltung (2, 3, 6, 7, 9) die Programmierungsoperation nach Bestätigung, dass alle der Speicherzellen (1), auf die Programmierung angewendet wird, einen gewünschten Programmierungszustand erreicht haben, abschließt.
  11. Mehrstufenspeicher nach Anspruch 10, gekennzeichnet dadurch, dass die Programmierungsschaltung (2, 3, 6, 7, 9) gleichzeitig erfasst, dass alle der Speicherzellen (1), auf die Programmierung angewendet wird, den gewünschten Programmierungszustand erreicht haben.
DE69830089T 1997-01-31 1998-01-30 Mehrpegelspeicher Expired - Lifetime DE69830089T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1834997 1997-01-31
JP01834997A JP3409986B2 (ja) 1997-01-31 1997-01-31 多値メモリ

Publications (2)

Publication Number Publication Date
DE69830089D1 DE69830089D1 (de) 2005-06-16
DE69830089T2 true DE69830089T2 (de) 2006-01-19

Family

ID=11969205

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69830089T Expired - Lifetime DE69830089T2 (de) 1997-01-31 1998-01-30 Mehrpegelspeicher

Country Status (7)

Country Link
US (1) US6028792A (de)
EP (2) EP0856850B1 (de)
JP (1) JP3409986B2 (de)
KR (1) KR100272035B1 (de)
CN (1) CN1204561C (de)
DE (1) DE69830089T2 (de)
TW (1) TW379450B (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3481817B2 (ja) * 1997-04-07 2003-12-22 株式会社東芝 半導体記憶装置
DE69831155D1 (de) 1998-10-29 2005-09-15 St Microelectronics Srl Verfahren und Vorrichtung zur Prüfung von nichtprogrammierten Speicherzellen in einem Mehrpegelspeicher
USRE40110E1 (en) 1999-09-20 2008-02-26 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device for storing multivalued data
US6219276B1 (en) 2000-02-25 2001-04-17 Advanced Micro Devices, Inc. Multilevel cell programming
US6205055B1 (en) 2000-02-25 2001-03-20 Advanced Micro Devices, Inc. Dynamic memory cell programming voltage
US6424569B1 (en) 2000-02-25 2002-07-23 Advanced Micro Devices, Inc. User selectable cell programming
US6297988B1 (en) 2000-02-25 2001-10-02 Advanced Micro Devices, Inc. Mode indicator for multi-level memory
US6707713B1 (en) 2000-03-01 2004-03-16 Advanced Micro Devices, Inc. Interlaced multi-level memory
US6331951B1 (en) 2000-11-21 2001-12-18 Advanced Micro Devices, Inc. Method and system for embedded chip erase verification
KR100463194B1 (ko) * 2001-02-16 2004-12-23 삼성전자주식회사 낸드형 플래쉬 메모리 장치의 프로그램 방법
JP2002367381A (ja) * 2001-06-05 2002-12-20 Sony Corp 不揮発性半導体メモリ装置およびその書き込み方法
US6847550B2 (en) * 2002-10-25 2005-01-25 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
KR100546343B1 (ko) * 2003-07-18 2006-01-26 삼성전자주식회사 플래시 메모리 장치의 프로그램 방법
JP4170952B2 (ja) * 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
KR100706247B1 (ko) * 2005-06-03 2007-04-11 삼성전자주식회사 플래시 메모리 장치 및 그것의 독출 방법
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
US7301817B2 (en) * 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
KR100683858B1 (ko) 2006-01-12 2007-02-15 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법
KR100683856B1 (ko) 2006-01-12 2007-02-15 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법
KR100816752B1 (ko) 2006-09-15 2008-03-25 삼성전자주식회사 프로그램 루프 동작을 수행하는 상 변화 메모리 장치 및그것의 프로그램 방법
KR100816155B1 (ko) * 2006-12-28 2008-03-21 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 멀티레벨 셀 프로그램 방법
US7649783B2 (en) * 2007-01-25 2010-01-19 Micron Technology, Inc. Delayed activation of selected wordlines in memory
KR100927119B1 (ko) 2007-05-10 2009-11-18 삼성전자주식회사 불 휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
KR101261008B1 (ko) * 2007-08-14 2013-05-06 삼성전자주식회사 3-레벨 비휘발성 메모리 셀을 포함하는 비휘발성 메모리장치의 구동 방법 및 그 방법을 사용하는 비휘발성 메모리장치
JP5172555B2 (ja) 2008-09-08 2013-03-27 株式会社東芝 半導体記憶装置
KR101554727B1 (ko) 2009-07-13 2015-09-23 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US8520426B2 (en) 2010-09-08 2013-08-27 Semiconductor Energy Laboratory Co., Ltd. Method for driving semiconductor device
US8374031B2 (en) 2010-09-29 2013-02-12 SanDisk Technologies, Inc. Techniques for the fast settling of word lines in NAND flash memory
KR101855435B1 (ko) 2010-11-15 2018-05-08 삼성전자주식회사 최대 검증-시간을 조절할 수 있는 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 메모리 시스템
US8811075B2 (en) 2012-01-06 2014-08-19 Sandisk Technologies Inc. Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: verify to program transition
JP5818740B2 (ja) * 2012-04-17 2015-11-18 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テキストデータストリームに含まれるアイテムの中から出現頻度の高いアイテムを特定する方法、装置及びコンピュータプログラム
JP2014053060A (ja) 2012-09-07 2014-03-20 Toshiba Corp 半導体記憶装置及びその制御方法
JP2014063551A (ja) 2012-09-21 2014-04-10 Toshiba Corp 半導体記憶装置
JP6538426B2 (ja) 2014-05-30 2019-07-03 株式会社半導体エネルギー研究所 半導体装置及び電子機器
US9633719B2 (en) 2015-05-29 2017-04-25 Micron Technology, Inc. Programming memory cells to be programmed to different levels to an intermediate level from a lowest level
CN108281163B (zh) * 2018-02-05 2020-09-25 杭州旗捷科技有限公司 耗材芯片存储器电压反馈方法及耗材芯片

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440505A (en) * 1994-01-21 1995-08-08 Intel Corporation Method and circuitry for storing discrete amounts of charge in a single memory element
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
US5596526A (en) * 1995-08-15 1997-01-21 Lexar Microsystems, Inc. Non-volatile memory system of multi-level transistor cells and methods using same
JP3180669B2 (ja) * 1996-06-03 2001-06-25 日本電気株式会社 不揮発性半導体メモリおよびその書き込み方法

Also Published As

Publication number Publication date
TW379450B (en) 2000-01-11
US6028792A (en) 2000-02-22
EP0856850A3 (de) 1999-06-16
CN1195176A (zh) 1998-10-07
EP0856850A2 (de) 1998-08-05
KR19980070971A (ko) 1998-10-26
KR100272035B1 (ko) 2000-11-15
DE69830089D1 (de) 2005-06-16
JP3409986B2 (ja) 2003-05-26
CN1204561C (zh) 2005-06-01
JPH10214492A (ja) 1998-08-11
EP0856850B1 (de) 2005-05-11
EP1564752A1 (de) 2005-08-17

Similar Documents

Publication Publication Date Title
DE69830089T2 (de) Mehrpegelspeicher
DE4433098C2 (de) Halbleiter-Permanentspeichervorrichtung
DE102004033443B4 (de) Flashspeicherbauelement mit Mehrpegelzelle
DE602004005211T2 (de) Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen
DE4232025C2 (de) Elektrisch löschbarer und programmierbarer nichtflüchtiger Halbleiterspeicher mit automatischem Schreibprüfungs-Controller
DE69722133T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE60314068T2 (de) Nichtflüchtiger Halbleiterspeicher
DE10037037B4 (de) Erfassungszeit-Steuervorrichtung und -Verfahren
DE102008023819B4 (de) Verfahren zum Betrieb eines Speicherbauelements und elektronisches Bauelement
DE602006001026T2 (de) Integriertes Schaltgerät, Flash-Speicherarray, nichtflüchtige Speichervorrichtung und Betriebsverfahren
DE4205061C2 (de) Nichtflüchtige Halbleiter-Speicheranordnung
DE4309814C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE60121865T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE10158849A1 (de) Nichtflüchtiges Speicherbauelement und zugehöriges Datenabtastverfahren
DE102012108545A1 (de) Verfahren zum Auslesen von Speicherzellen mit unterschiedlichen Schwellwertspannungen ohne Änderung der Wortleitungsspannung, sowie nicht-flüchtige Speichervorrichtung, die dieses verwendet
DE102011087102A1 (de) Verfahren zum Lesen von Speicherzellen, nichtflüchtiges Speicherelement, elektronisches Gerät, Speicherkarte und Datenspeichervorrichtung
DE112005001325T5 (de) Lösch-Algorithmus für einen Multilevel-Bit-Flash-Speicher
US5894435A (en) Nonvolatile semiconductor memory device and method of reducing read disturbance
DE102007021613A1 (de) Nand-Flash-Speicherbauelement und Verfahren zum Verbessern der Charakteristik einer Zelle in demselben
DE10329627B4 (de) Flash-Speicherbaustein
DE102008033511A1 (de) Verfahren zum Programmieren eines Flashspeichers, Flashspeicher und Flashspeichersystem
DE102005052213A1 (de) Programmierverfahren und nichtflüchtiges Speicherbauelement
DE69828131T2 (de) Nicht-flüchtige Halbleiterspeicheranordnung und Schreibverfahren dafür
DE19615660A1 (de) Schaltung zur Aufbringung einer Belastungsspannung in eine Blockeinheit für die Verwendung in einer Halbleiterspeichervorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition