DE60314068T2 - Nichtflüchtiger Halbleiterspeicher - Google Patents

Nichtflüchtiger Halbleiterspeicher Download PDF

Info

Publication number
DE60314068T2
DE60314068T2 DE60314068T DE60314068T DE60314068T2 DE 60314068 T2 DE60314068 T2 DE 60314068T2 DE 60314068 T DE60314068 T DE 60314068T DE 60314068 T DE60314068 T DE 60314068T DE 60314068 T2 DE60314068 T2 DE 60314068T2
Authority
DE
Germany
Prior art keywords
data
storage unit
data storage
memory cell
read
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
DE60314068T
Other languages
English (en)
Other versions
DE60314068D1 (de
Inventor
Tomoharu Minato-ku Tanaka
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
Application granted granted Critical
Publication of DE60314068D1 publication Critical patent/DE60314068D1/de
Publication of DE60314068T2 publication Critical patent/DE60314068T2/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
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • 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
    • 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/5642Sensing or reading circuits; Data output circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf einen nicht-flüchtigen Halbleiterspeicher, insbesondere auf einen Mehrebenen-NAND-Zellentyp-Flash-Speicher, wie etwa einen Vier-Ebenen-NAND-Zellentyp-Flash-Speicher.
  • Ein Flash-Speicher besteht aus einer Speicherzelle, die eine schwebende Gatterelektrode und eine Steuergatterelektrode enthält, und Datenprogrammieren/Löschen wird durch Abstimmung eines Ladungsbetrags in der schwebenden Gatterelektrode realisiert. Der Ladungsbetrag bestimmt eine Schwellenspannung der Speicherzelle. Es wird z.B. ein Zustand, in dem die Speicherzelle eine negative Schwellenspannung hat, zu einem Zustand "1" gesetzt, und ein Zustand, in dem die Speicherzelle eine positive Schwellenspannung hat, wird zu einem Zustand "0" gesetzt.
  • In den letzten Jahren wurden für einen Zweck zum Reduzieren des Preises pro Bit (Biteinheitspreis) oder Erhöhen einer Speicherkapazität eines Speicherchips Forschung und Entwicklung eines Mehrebenen-Flash-Speicher befördert, worin eine Speicherzelle eine Vielzahl von Bitdaten speichert.
  • Wenn eine Speicherzelle n (n ist eine natürliche Zahl von 2 oder mehr) Bitdaten speichert, d.h. 2n Werte, hat die Speicherzelle hier 2n Zustände (2n-Schwellenwertbänder). Wenn z.B. eine Speicherzelle Zweibitdaten speichert, enthält die Speicherzelle vier Schwellenwertbänder.
  • Die Zahl von Schwellenwertbändern erhöht sich proportional zu einer Erhöhung der Zahl von Bits, die in einer Speicherzelle gespeichert sind. Andererseits tendiert eine innere Leistungsspannung des Flash-Speichers zu einem Abfall. D.h. während sich die Zahl von Bits erhöht, die in einer Speicherzelle gespeichert sind, erhöht sich die Zahl von Schwellenwertbändern, und die Breite eines Schwellenwertbandes verengt sich. Deshalb ist es in einem Mehrebenen-Flash-Speicher wichtig, die Schwellenspannung der Speicherzelle mit guter Genauigkeit zu steuern und Zuverlässigkeit zu erhöhen.
  • Als eine Technik zum Steuern der Schwellenspannung der Speicherzelle mit der hohen Genauigkeit ist z.B. ein Verfahren zum Hochstufen einer Schreibspannung in einem konstanten Verhältnis in Übereinstimmung mit der Zahl von Schreibvorgängen (Hochstufungsverfahren) bekannt (siehe z.B. Fast and Accurate Programming Method for Multi-level NAND EEPROMs, S. 129-130, Digest of 1995 Symposium an VLSI Technology).
  • Dieses Verfahren wird kurz beschrieben. Das Hochstufen der Schreibspannung wird durch Ändern von Größen einer Vielzahl kontinuierlicher Schreibimpulse realisiert. Z.B. erhöht sich die Größe des Schreibimpulses allmählich in einem Verhältnis von 0,2V/10μsek. Jedes Mal, wenn die Schreibimpulse an eine Vielzahl von Speicherzellen als Objekte einer Schreiboperation angelegt werden, werden die Schwellenspannungen der Speicherzellen verifiziert. Wenn z.B. die Schwellenspannungen aller Speicherzellen einen vorbestimmten Verifizierungsgrad erreichen, wird die Anwendung der Schreibimpulse beendet.
  • Selbst in dem Mehrebenen-Flash-Speicher schreitet zum Zweck der Erhöhung der Speicherkapazität eines Speicherchips Miniaturisierung der Speicherzelle voran. Mit der Miniaturisierung verengt sich ein Intervall zwischen den Speicherzellen, und dies verursacht verschiedene Probleme.
  • Insbesondere wenn sich das Intervall zwischen den schwebenden Gatterelektroden der Speicherzelle verengt, erhöht sich eine Kapazitanz unter einer Vielzahl von schwebenden Gatterelektroden, die zueinander benachbart angeordnet sind. Wenn vorbestimmte Daten in der ausgewählten einen Speicherzelle geschrieben werden, ändert sich als ein Ergebnis ein Potenzial der schwebenden Gatterelektrode der nicht-ausgewählten Speicherzelle, die benachbart zu einer Speicherzelle angeordnet ist. Dies bedeutet, dass die Schwellenspannung der nicht-ausgewählten Speicherzelle getrennt von der Schreiboperation schwankt, und eine Zuverlässigkeit des Mehrebenen-Flash-Speichers fällt ab.
  • Als eine Technik, die dieses Problem behandeln kann, ist ein Verfahren zum Ausführen der Schreiboperation mit Bezug auf eine Speicherzelle durch zwei Schreibroutinen (Doppelschreibverfahren) bekannt. Z.B. wird das oben beschriebene Hochstufungsverfahren auf jede Routine angewendet. Dies kann eine Schwellwertsteuerung hoher Genauigkeit realisieren, die durch die Schwankung der Schwellenspannung der Speicherzelle nicht beeinflusst wird, die durch die Erhöhung der Kapazitanz unter den schwebenden Gatterelektroden verursacht wird.
  • Wenn jedoch ein so genanntes Doppelschreibverfahren verwendet wird, müssen Schreibdaten von einem Start der ersten Schreibroutine bis zu einem Ende der zweiten Schreibroutine irgendwo gehalten werden. Dies ist so, da bestimmt wird, ob die Ladung in die schwebende Gatterelektrode zu injizieren ist oder nicht in Übereinstimmung mit dem Wert der Schreibdaten.
  • Deshalb erhöht sich in dem Mehrebenen-Flash-Speicher eine Chipgröße für eine Speicherschaltung zum Speichern der Schreibdaten. Dies verursacht auch die Erhöhung von Herstellungskosten.
  • EP 1 134 746 beschreibt eine nicht-flüchtige Halbleiterspeichereinrichtung mit einem Speicherzellenfeld mit elektrisch löschbaren programmierbaren nicht-flüchtigen Speicherzellen, Umprogrammierungs- und Abfrageschaltungen, die Daten, die in dem Speicherzellenfeld zu programmieren sind, zeitweilig speichern, und Daten, die aus dem Speicherzellenfeld abgerufen werden, abtasten, wobei jede Umprogrammierungs- und Abfrageschaltung eine erste Verriegelung und eine zweite Verriegelung hat, die mit dem Speicherzellenfeld selektiv verbunden sind und Daten zueinander transferieren hat, und einer Steuervorrichtung, die die Umprogrammierungs- und Abfrageschaltungen in einer Datenumprogrammierungsoperation zu und Datenabfrageoperation von dem Speicherzellenfeld steuert. Jede Umprogrammierungs- und Abfrageschaltung hat einen Mehrebenen-Logikoperationsmodus und einen Caching-Operationsmodus, wobei in dem Mehrebenen-Logikoperationsmodus Umprogrammierung und Abfrage von oberen und unteren Bits von Zwei-Bit-Vier-Ebenen-Daten unter Verwendung der ersten und der zweiten Verriegelungen beim Speichern der Zwei-Bit-Vier-Ebenen-Daten in einer der Speicherzellen in einem vorbestimmten Schwellenpegelbereich durchgeführt werden, in dem Caching-Operationsmodus Datentransfer zwischen einer der Speicherzellen, die in Übereinstimmung mit einer ersten Adresse und der ersten Verriegelung ausgewählt wird, durchgeführt wird, während Datentransfer zwischen der zweiten Verriegelung und Eingangs-/Ausgangsanschlüssen in Übereinstimmung mit einer zweiten Adresse mit Bezug auf Ein-Bit-Zwei-Ebenen-Daten durchgeführt wird, die in einer der Speicherzellen zu speichern sind.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein nicht-flüchtiger Halbleiterspeicher vorgesehen, umfassend: eine Speicherzelle; eine Bitleitung, die mit einem Ende der Speicherzelle verbunden ist; und eine Datenschaltung, in der Programmdaten oder Lesedaten betreffend die Speicherzelle zeit weilig gespeichert sind, wobei die Datenschaltung enthält: erste, zweite und dritte Datenspeichereinheiten; eine erste Datentransferschaltung, die zwischen den ersten und dritten Datenspeichereinheiten verbunden ist; und eine zweite Datentransferschaltung, die zwischen den zweiten und dritten Datenspeichereinheiten verbunden ist, die erste Datenspeichereinheit mit der Bitleitung verbunden ist, und die zweite Datenspeichereinheit angepasst ist, eine Funktion zu enthalten zum zwangsweisen Ändern eines Wertes von ersten Daten, die in der ersten Datenspeichereinheit gespeichert sind, basierend auf zweiten Daten, die in der zweiten Datenspeichereinheit gespeichert sind, und gekennzeichnet dadurch, dass die dritte Datenspeichereinheit dritte Daten speichert, während die zweite Datenspeichereinheit die Funktion zum zwangsweisen Ändern des Wertes der ersten Daten durchführt, und die dritten Daten nicht geändert werden, wenn die ersten Daten geändert werden.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein nicht-flüchtiger Halbleiterspeicher vorgesehen, umfassend: eine nicht-flüchtige Halbleiterspeicherzelle, die elektrisch umgeschrieben werden kann; eine Bitleitung, die mit der Speicherzelle verbunden ist; und eine Leseschaltung, die Daten der Speicherzelle ausliest und die enthält eine erste Datenspeichereinheit, die mit der Bitleitung verbunden ist, eine zweite Datenspeichereinheit mit einer Funktion zum zwangsweisen Ändern eines Wertes von ersten Daten, die in der ersten Datenspeichereinheit gespeichert sind, in Übereinstimmung mit zweiten Daten, die in der zweiten Dateneinheit gespeichert sind, eine dritte Datenspeichereinheit mit einer Funktion zum Verriegeln von dritten Daten und eine Datentransferschaltung, um die dritten Daten, die in der dritten Datenspeichereinheit gespeichert sind, zu der zweiten Datenspeichereinheit zu transferieren; und gekennzeichnet durch eine Lesesteuerschaltung, die steuert, erste Lesedaten aus der Speicherzelle zu der dritten Datenspeichereinheit in einer ersten Leseoperation zu speichern, und die steuert, zweite Lesedaten aus der Speicherzelle zu der ersten Datenspeichereinheit in einer zweiten Leseoperation zu speichern, steuert, die ersten Lesedaten als die dritten Daten von der dritten Datenspeichereinheit zu der zweiten Datenspeichereinheit in der zweiten Leseoperation zu transferieren, und steuert, zwangsweise zu ändern einen Wert der zweiten Lesedaten als die ersten Daten, die in der ersten Datenspeichereinheit gespeichert sind, in Übereinstimmung mit einem Wert der ersten Lesedaten als die zweiten Daten, die in der zweiten Datenspeichereinheit gespeichert sind in der zweiten Leseoperation, und wobei die dritte Datenspeichereinheit erste Lesedaten als die dritten Daten speichert, während der Wert der zweiten Lesedaten als die ersten Daten zwangsweise geändert wird, und die dritten Daten nicht geändert werden, wenn die ersten Daten geändert werden.
  • Diese Zusammenfassung der Erfindung beschreibt nicht notwendigerweise alle notwendigen Merkmale, sodass die Erfindung auch eine Teilkombination dieser beschriebenen Merkmale sein kann.
  • 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 einen nicht-flüchtigen Halbleiterspeicher gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 2 ein Diagramm ist, das ein Gestaltungsbeispiel eines Speicherzellenfeldes zeigt;
  • 3 ein Diagramm ist, das ein Gestaltungsbeispiel des Speicherzellenfeldes zeigt;
  • 4 eine Schnittansicht ist, die ein Beispiel eines Einrichtungsaufbaus zeigt;
  • 5 eine Schnittansicht ist, die ein Beispiel des Einrichtungsaufbaus zeigt;
  • 6 eine Schnittansicht ist, die ein Beispiel des Einrichtungsaufbaus zeigt;
  • 7 eine Schnittansicht ist, die ein Beispiel des Einrichtungsaufbaus zeigt;
  • 8 ein Schaltungsdiagramm ist, das ein Beispiel einer Mengenerfassungsschaltung zeigt;
  • 9 ein Diagramm ist, das ein Gestaltungsbeispiel einer Datenschaltung zeigt;
  • 10 ein Schaltungsdiagramm ist, das ein Beispiel der Datenschaltung zeigt;
  • 11 ein Diagramm ist, das ein Gestaltungsbeispiel eines Taktsynchroninvertierers zeigt;
  • 12 ein Diagramm ist, das ein Gestaltungsbeispiel einer Wortleitungssteuerschaltung zeigt;
  • 13 ein Diagramm ist, das ein Schaltungsbeispiel von RADD1 von 12 zeigt;
  • 14 ein Diagramm ist, das ein Schaltungsbeispiel von RMAIN1 von 12 zeigt;
  • 15 ein Diagramm ist, das ein Schaltungsbeispiel von RADD2 von 12 zeigt;
  • 16 ein Diagramm ist, das ein Schaltungsbeispiel von RMAIN2 von 12 zeigt;
  • 17 ein Diagramm ist, das eine Beziehung zwischen Daten und einer Schwellenspannungsverteilung einer Speicherzelle zeigt;
  • 18 ein Diagramm ist, das einen Zustand einer Änderung der Schwellenspannung in einer Programmzeit von logischen niederwertigen Seitendaten zeigt;
  • 19 ein Diagramm ist, das einen Zustand einer Änderung der Schwellenspannung in einer Programmzeit von logischen höherwertigen Seitendaten zeigt;
  • 20 ein Diagramm ist, das ein Algorithmusbeispiel einer Leseoperation zeigt;
  • 21 ein Diagramm ist, das ein Operationswellenformbeispiel der Leseoperation zeigt;
  • 22 ein Diagramm ist, das das Operationswellenformbeispiel einer EXCLK-Routine während der Operation von 21 zeigt;
  • 23 ein Diagramm ist, das das Operationswellenformbeispiel der EXCLK-Routine während der Operation von 21 zeigt;
  • 24 ein Diagramm ist, das das Operationswellenformbeispiel der EXCLK-Routine während der Operation von 21 zeigt;
  • 25 ein Diagramm ist, das einen Fluss von Daten zu einer Lesezeit der logischen niederwertigen Seitendaten zeigt;
  • 26 ein Diagramm ist, das einen Fluss von Daten zu der Lesezeit der logischen höherwertigen Seitendaten zeigt;
  • 27 ein Diagramm ist, das ein Algorithmusbeispiel einer Programmoperation durch Durchlaufschreiben zeigt;
  • 28 ein Diagramm ist, das ein Algorithmusbeispiel der Programmoperation durch Durchlaufschreiben zeigt;
  • 29 ein Diagramm ist, das ein Algorithmusbeispiel der Programmoperation durch Durchlaufschreiben zeigt;
  • 30 ein Diagramm ist, das ein Algorithmusbeispiel der Programmoperation durch QPW zeigt;
  • 31 ein Diagramm ist, das ein Operationswellenformbeispiel in einem Schritt der Programmoperation zeigt;
  • 32 ein Diagramm ist, das den Fluss von Daten in einem Schritt in 31 zeigt;
  • 33 ein Diagramm ist, das ein Operationswellenformbeispiel einer internen Datenladeoperation zeigt;
  • 34 ein Diagramm ist, das das Operationswellenformbeispiel der EXCLK-Routine während der Operation von 33 zeigt;
  • 35 ein Diagramm ist, das einen Fluss von Daten in einer, internen Datenladeoperationszeit zeigt;
  • 36 ein Diagramm ist, das ein Operationswellenformbeispiel in einem Schritt der Programmoperation zeigt;
  • 37 ein Diagramm ist, das den Fluss von Daten in einem Schritt in 36 zeigt;
  • 38 ein Diagramm ist, das ein Operationswellenformbeispiel einer Schreiboperation zeigt;
  • 39 ein Diagramm ist, das einen Fluss von Daten in einer Schreiboperationszeit zeigt;
  • 40 ein Diagramm ist, das ein Operationswellenformbeispiel einer Verifizierungsleseoperation zeigt;
  • 41 ein Diagramm ist, das ein Operationswellenformbeispiel der EXCLK-Routine während der Operation von 40 zeigt;
  • 42 ein Diagramm ist, das einen Fluss von Daten in einer Verifizierungsleseoperationszeit zeigt;
  • 43 ein Diagramm ist, das einen Fluss von Daten in der Verifizierungsleseoperationszeit zeigt;
  • 44 ein Diagramm ist, das einen Fluss von Daten in der Verifizierungsleseoperationszeit zeigt; und
  • 45 ein Diagramm ist, das einen Fluss von Daten in der Verifizierungsleseoperationszeit zeigt.
  • Hierin nachstehend wird ein nicht-flüchtiger Halbleiterspeicher gemäß einer Ausführungsform der vorliegenden Erfindung mit Bezug auf die Zeichnungen detailliert beschrieben.
  • 1. Annahme
  • Zur Erleichterung des Verständnisses der folgenden Beschreibung werden Voraussetzungen wie folgt definiert. Außerdem werden die Voraussetzungen zum einfachen Verständnis der Beschreibung gesetzt. Die vorliegende Erfindung wird sogar unter Bedingungen außer den Voraussetzungen hergestellt.
  • Die vorliegende Erfindung bezieht sich auf einen Mehrebenen-Flash-Speicher, in dem n (n ist eine natürliche Zahl von 2 oder mehr) Bitdaten, d.h. 2n Werte, in einer Speicherzelle gespeichert sind. In dem folgenden Beispiel wird ein Vier-Ebenen-NAND-Zellentyp-Flash-Speicher als ein Beispiel beschrieben.
  • Es wird angenommen, dass vier Typen von Daten "00", "01", "10", "11" in der Speicherzelle gespeichert sind. Ein Zustand, in dem eine Schwellenspannung der Speicherzelle am geringsten ist, z.B. ein Zustand, in dem die Schwellenspannung negativ ist und zu einem ersten Schwellwertband gehört, wird als ein Zustand angenommen, in dem die Daten "11" gespeichert sind. Ein Zustand, in dem die Schwellenspannung der Speicherzelle am zweitniedrigsten ist, wie etwa ein Zustand, in dem die Schwellenspannung positiv ist und zu einem zweiten Schwellwertband gehört, wird als ein Zustand angenommen, in dem die Daten "10" gespeichert sind. Ein Zustand, in dem die Schwellenspannung der Speicherzelle am drittniedrigsten ist, wie etwa ein Zustand, in dem die Schwellenspannung positiv ist und zu einem dritten Schwellwertband gehört, wird als ein Zustand angenommen, in dem die Daten "00" gespeichert sind. Ein Zustand, in dem die Schwellenspannung der Speicherzelle am höchsten ist, wie etwa ein Zustand, in dem die Schwellenspannung positiv ist und zu einem vierten Schwellwertband gehört, wird als ein Zustand angenommen, in dem die Daten "01" gespeichert sind.
  • Außerdem sind in der Speicherzelle vier Typen von Daten, d.h. Vier-Ebenen-Daten, gespeichert. Deshalb sind z.B. zu einer Datenprogramm-/Lesezeit Programm-/Leseoperationen für logische niederwertige und höherwertige Seitendaten erforderlich. Hier bezeichnet in Daten "**" die rechte Seite * die logischen niederwertigen Seitendaten und die linke Seite * bezeichnet die logischen höherwertigen Seitendaten.
  • Mit Bezug auf die Speicherzelle wird außerdem ein Zustand, in dem die Daten "11" gespeichert sind, als ein Löschzustand angenommen, und ein Zustand, in dem die Daten "10", "00", "01" gespeichert sind, wird als ein Schreibzustand angenommen.
  • 2. Überblick
  • (1) Gesamtes Gestaltungsbeispiel
  • 1 zeigt einen Hauptteil des Vier-Ebenen-NAND-Zellentyp-Flash-Speichers gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Bezugszeichen 1 bezeichnet ein Speicherzellenfeld. Z.B. enthält das Speicherzellenfeld 1 eine NAND-Zelleneinheit, die gebildet wird durch eine Vielzahl von Speicherzellen, die in Reihe verbunden sind, und zwei Auswahltransistoren, die mit entgegengesetzten Enden der Speicherzelle verbunden sind. Schaltung und Aufbaubeispiele des Speicherzellenfeldes 1 werden später beschrieben.
  • Eine Datenschaltung 2 enthält eine Vielzahl von Speicherschaltungen. Ein Schaltungsbeispiel der Datenschaltung 2 wird später beschrieben. Hier wird eine Funktion der Datenschaltung 2 kurz beschrieben.
  • Die Datenschaltung 2 speichert zeitweilig zwei Bits (vier Ebenen) von Schreibdaten in einer Schreibzeit, und zwei Bits (vier Ebenen) von Lesedaten in einer Lesezeit. Deshalb sind mindestens zwei Speicherschaltungen mit Bezug auf eine Bitleitung, die mit der Speicherzelle verbunden ist, die als ein Objekt einer Schreib-/Leseoperation ausgewählt ist, angeordnet. In einer der zwei Speicherschaltungen sind die logischen niederwertigen Seitendaten gespeichert, und in der anderen Schaltung sind die logischen höherwertigen Seitendaten gespeichert.
  • Eine Wortleitungssteuerschaltung 3 enthält einen Zeilenadressdecoder und einen Wortleitungstreiber. Die Wortleitungssteuerschaltung 3 steuert Potenziale einer Vielzahl von Wortleitungen in dem Speicherzellenfeld 1 basierend auf einem Operationsmodus (Schreiben, Löschen, Lesen) und einer Adresse, die durch ein Zeilenadresssignal bezeichnet wird. Ein Schaltungsbeispiel der Wortleitungssteuerschaltung 3 wird später beschrieben.
  • Ein Spaltendecoder 4 wählt eine Spalte des Speicherzellenfeldes 1 basierend auf einem Spaltenadresssignal.
  • In einer Programmzeit werden Schreibdaten in eine Speicherschaltung in der Datenschaltung 2, die zu einer ausgewählten Spalte gehört, über einen Dateneingabe-/Ausgabepuffer 7 und einen E/A-Leseverstärker 6 eingegeben. Außerdem werden in einer Lesezeit Lesedaten in der Speicherschaltung in der Datenschaltung 2, die zu der ausgewählten Spalte gehört, zeitweilig gespeichert, und anschließend zu der Außenseite eines Speicherchips 11 über den E/A-Leseverstärker 6 und den Dateneingabe-/Ausgabepuffer 7 ausgegeben.
  • Das Zeilenadresssignal wird in die Wortleitungssteuerschaltung 3 über einen Adresspuffer 5 eingegeben. Das Spaltenadresssignal wird in den Spaltendecoder 4 über den Adresspuffer 5 eingegeben.
  • Eine Wannen-(well-)/Sourceleitungspotenzial-Steuerschaltung 8 steuert die Potenziale einer Vielzahl von Wannenregionen für eine Vielzahl von Blöcken, die das Speicherzellenfeld 1 bilden (z.B. eine Doppelwannenregion, die n- und p-Wannen enthält), und das Potenzial einer Sourceleitung basierend auf dem Operationsmodus (Schreiben, Löschen, Lesen).
  • Eine Potenzialgenerierungsschaltung (Hochstufungsschaltung) 9A generiert z.B. ein Schreibpotenzial (z.B. ungefähr 20V) Vpp oder ein Transferpotenzial (z.B. ungefähr 10V) Vpass in der Schreibzeit. Z.B. verteilt ein Schaltkreis 9B diese Potenziale Vpp, Vpass zu einer Vielzahl von Wortleitungen in einem Block, der aus einer Vielzahl von Blöcken ausgewählt ist, die das Speicherzellenfeld 1 bilden.
  • Außerdem generiert die Potenzialgenerierungsschaltung 9A Z.B. ein Löschpotenzial (z.B. ungefähr 20V) VppE in einer Löschzeit, und führt das Potenzial VppE der einen oder zwei oder mehr Wannenregionen (sowohl den n- als auch den p-Wannen) entsprechend einem oder zwei oder mehr Blöcken zu, die aus einer Vielzahl von Blöcken ausgewählt sind, die das Speicherzellenfeld 1 bilden.
  • Eine Mengenerfassungsschaltung 10 verifiziert, ob vorbestimmte Daten zu der Programmzeit in die Speicherzelle akkurat geschrieben sind oder nicht, und verifiziert, ob die Da ten der Speicherzelle zu der Löschzeit akkurat gelöscht sind oder nicht.
  • Eine Befehlsschnittstellenschaltung 12 beurteilt, ob die Daten, die in den Dateneingabe-/Ausgabepuffer 7 eingegeben sind, Befehlsdaten sind oder nicht, die von einem Host-Mikrocomputer zugeführt werden, basierend auf einem Steuersignal, das durch einen Chip (z.B. Host-Mikrocomputer) generiert wird, der sich von dem Speicherchip 11 unterscheidet. Wenn die Daten, die in den Dateneingabe-/Ausgabepuffer 7 eingegeben sind, Befehlsdaten sind, transferiert die Befehlsschnittstellenschaltung 12 die Befehlsdaten zu einer Zustandsmaschine (Steuerschaltung) 13.
  • Die Zustandsmaschine 13 bestimmt den Operationsmodus (Schreiben, Löschen, Lesen) des Flash-Speichers basierend auf den Befehlsdaten, und steuert die ganze Operation des Flash-Speichers in Übereinstimmung mit dem Operationsmodus. Konkret steuert die Maschine die Operationen der Datenschaltung 2, Wortleitungssteuerschaltung 3, Spaltendecoders 4, Adresspuffers 5, E/A-Leseverstärkers 6, Dateneingabe-Ausgabepuffers 7, Wannen-/Sourceleitungspotenzial-Steuerschaltung 8, Potenzialgenerierungsschaltung 9A, Schaltkreises 9B und Mengenerfassungsschaltung 10.
  • (2) Gestaltungsbeispiel des Speicherzellenfeldes
  • 2 zeigt einen Gestaltungsbeispiel des Speicherzellenfeldes. 3 zeigt ein Schaltungsbeispiel eines BLOCKi unter einer Vielzahl von Blöcken, die in 2 gezeigt werden.
  • Das Speicherzellenfeld 1 enthält eine Vielzahl von (1024 Blöcke in dem vorliegenden Beispiel) Blöcken BLOCK0 bis BLOCK1023. Eine Vielzahl von Blöcken BLOCK0 bis BLOCK1023 ist in einer Y-Richtung angeordnet. Der Block bedeutet ein mini males Potenzial zum Löschen, d.h. eine minimale Zahl von Speicherzellen, die mit einmal gelöscht werden können.
  • Ein Block BLOCKi enthält eine Vielzahl von NAND-Zelleneinheiten U (8512 Einheiten in dem vorliegenden Beispiel), die in einer X-Richtung angeordnet sind. Eine NAND-Zelleneinheit U enthält: eine NAND-Spalte, die vier Speicherzellen M1, M2, M3, M4 enthält, die in Reihe verbunden sind; einen Auswahlgattertransistor S1, der mit einem Ende der NAND-Spalte verbunden ist; und einen Auswahlgattertransistor S2, der mit dem anderen Ende der NAND-Spalte verbunden ist.
  • In dem vorliegenden Beispiel enthält die NAND-Spalte vier Speicherzellen M1, M2, M3, M4, kann aber auch eine oder zwei oder mehr Speicherzellen enthalten, und die Zahl von Zellen ist nicht auf vier begrenzt.
  • Der Auswahlgattertransistor S1 ist mit einer Bitleitung BLek oder BLok (k = 0, 1, ..., 4255) verbunden, und der Karte Gatterauswahltransistor S2 ist mit einer Sourceleitungs-C-Source verbunden.
  • Wortleitungen (Steuergatterleitungen) WL0-i, WL1-i, WL2-i, WL3-i erstrecken sich in der X-Richtung, und sind gemeinsam mit einer Vielzahl von Speicherzellen der X-Richtung verbunden. Eine Auswahlgatterleitung SGD-i erstreckt sich in der X-Richtung, und ist gemeinsam mit einer Vielzahl von Auswahlgattertransistoren S1 der X-Richtung verbunden. Eine Auswahlgatterleitung SGS-i erstreckt sich auch in der X-Richtung, und ist gemeinsam mit einer Vielzahl von Auswahlgattertransistoren S2 der X-Richtung verbunden.
  • In dem vorliegenden Beispiel werden zu einer Schreib-/Leseoperationszeit eine Vielzahl von Bitleitungen BLe0, BLe1, ... BLe4255, die in geradzahligen Positionen angeordnet sind, die von einem Ende des Blocks BLOCKi gezählt werden, und eine Vielzahl von Bitleitungen BLo0, BLo1, ... BLo4255, die in den ungeradzahligen Positionen angeordnet sind, die von einem Ende des Blocks gezählt werden, unabhängig voneinander angesteuert. Außerdem wird von der Bitleitung angenommen, von 0 gezählt zu werden.
  • D.h. die Schreib-/Leseoperation wird gleichzeitig mit Bezug auf 4256 Speicherzellen (gezeigt durch Δ) ausgeführt, die mit einer Vielzahl von Bitleitungen BLe0, BLe1, ... BLe4255 verbunden sind, die in den geradzahligen Positionen unter 8512 Speicherzellen angeordnet sind, die mit einer Wortleitung verbunden sind, wie etwa Wortleitung WL3-i. Außerdem wird die Schreib-/Leseoperation gleichzeitig mit Bezug auf 4256 Speicherzellen (gezeigt durch O) ausgeführt, die mit einer Vielzahl von Bitleitungen BLo0, BLo1, ... BLo4255 verbunden sind, die in den ungeradzahligen Positionen unter 8512 Speicherzellen angeordnet sind, die mit der Wortleitung WL3-i verbunden sind.
  • Wenn eine Speicherzelle Einbitdaten speichert, bilden 4256 Speicherzellen (gezeigt durch Δ), die in Schnittstellen einer Wortleitung, wie etwa Wortleitung WL3-i, und einer Vielzahl von geradzahligen Bitleitungen BLe0, BLe1, ... BLe4255 positioniert sind, eine Einheit, die eine Seite genannt wird. Ähnlich bilden 4256 Speicherzellen (gezeigt durch O), die in den Schnittstellen der Wortleitung WL3-i und einer Vielzahl von ungeradzahligen Bitleitungen BLo0, BLo1, ... BLo4255 positioniert sind, auch die Einheit, die die Seite genannt wird.
  • Wenn eine Speicherzelle Zweibitdaten wie in dem vorliegenden Beispiel speichert, speichern 4256 Speicherzellen (gezeigt durch Δ) Daten für zwei Seiten, und 4256 Speicherzellen (gezeigt durch O) speichern auch die Daten für zwei Seiten.
  • (3) Einrichtungsaufbaubeispiel
  • 1). Wannenaufbaubeispiel
  • 4 zeigt ein Beispiel eines Wannenaufbaus des NAND-Zellentyp-Flash-Speichers.
  • In einem Siliziumträger vom p-Typ (p-sub) 11-1 sind eine sogenannte Doppelwannenregion, die eine Wannenregion vom n-Typ (Zellen-n-Wanne) 11-2 und eine Wannenregion vom p-Typ (Zellen-p-Wanne) 11-3 enthält, eine Wannenregion vom n-Typ (n-Wanne) 11-4 und eine Wannenregion vom p-Typ (p-Wanne) 11-5 ausgebildet.
  • Die Doppelwannenregion ist in einem Speicherzellenfeldabschnitt ausgebildet, und die Wannenregion vom n-Typ 11-4 und die Wannenregion vom p-Typ 11-5 sind in einem peripheren Schaltungsabschnitt ausgebildet.
  • Die Speicherzelle enthält einen n-Kanal-MOS-Transistor, und ist in der Wannenregion vom p-Typ 11-3 angeordnet. Die Wannenregion vom n-Typ 11-2 und die Wannenregion vom p-Typ 11-3 sind auf das gleiche Potenzial gesetzt.
  • Ein Hochspannungs-n-Kanal-MOS-Transistor, an den eine Spannung, die höher als eine Leistungsspannung ist, angelegt wird, ist in dem Siliziumträger vom p-Typ (p-sub) 11-1 ausgebildet. Ein Niederspannungs-p-Kanal-MOS-Transistor, an den die Leistungsspannung angelegt wird, ist in der Wannenregion vom n-Typ (n-Wanne) 11-4 ausgebildet, und ein Niederspannungs-n-Kanal-MOS-Transistor, an den die Leistungsspannung angelegt wird, ist in der Wannenregion vom p-Typ (p-Wanne) 11-5 ausgebildet.
  • 2). Zellenfeldaufbaubeispiel
  • 5 zeigt ein Beispiel eines Schnittaufbaus der Y-Richtung des Speicherzellenfeldabschnitts des NAND-Zellentyp-Flash-Speichers.
  • In dem Siliziumträger vom p-Typ 11-1 wird die Doppelwannenregion ausgebildet, die die Wannenregion vom n-Typ 11-2 und die Wannenregion vom p-Typ 11-3 enthält.
  • Vier Speicherzellen M1, M2, M3, M4, die in Reihe verbunden sind, sind in der Wannenregion vom p-Typ 11-3 angeordnet. Jede der vier Speicherzellen M1, M2, M3, M4 besteht aus einem N-Kanal-MOS-Transistor, und enthält einen Schichtgatteraufbau, der schwebende Gatterelektroden FG und Steuergatterelektroden WL0-i, WL1-i, WL2-i, WL3-i enthält.
  • Ein Ende der NAND-Spalte, die die Speicherzellen M1, M2, M3, M4, die in Reihe verbunden sind, enthält, ist mit dem Auswahlgattertransistor S1 verbunden, und das andere Ende davon ist mit dem Auswahlgattertransistor S2 verbunden. Die Auswahlgattertransistoren S1, S2 enthalten die N-Kanal-MOS-Transistoren, und enthalten Aufbauten annähernd gleich den Speicherzellen M1, M2, M3, M4, d.h. die Doppelaufbau-Auswahlgatterleitungen SGS-i, SGD-i.
  • Ein Ende der NAND-Zelleneinheit, d.h. eine Diffusionsschicht (Drain-Diffusionsschicht) 14 des Auswahlgattertransistors S1 ist mit einer ersten Metallverdrahtungsschicht M0 über einen Kontaktanschluss CB1 verbunden. Außerdem ist die erste Metallverdrahtungsschicht M0 mit einer zweiten Metallverdrahtungsschicht M1 als eine Bitleitung BL über einen Anschluss V1 verbunden. Die Bitleitung BL ist mit einer Datenschaltung verbunden.
  • Das andere Ende der NPND-Zelleneinheit, d.h. eine Diffusionsschicht (Source-Diffusionsschicht) 15 des Auswahlgattertransistors S2 ist mit der ersten Metallverdrahtungsschicht M0 als eine Sourceleitungs-C-Source über einen Kontaktanschluss CB2 verbunden. Die Sourceleitungs-C-Source ist mit einer Sourcepotenzialsteuerschaltung verbunden.
  • Die Wannenregion vom n-Typ (Zellen-n-Wanne) 11-2 ist mit einer C-p-Wannenpotenzialeinstellungsleitung 18 über eine Diffusionsschicht vom n-Typ 16 verbunden, und die Wannenregion vom p-Typ (Zellen-p-Wanne) 11-3 ist mit der C-p-Wannenpotenzialeinstellungsleitung 18 über eine Diffusionsschicht vom p-Typ 17 verbunden. D.h. die Wannenregion vom n-Typ 11-2 und die Wannenregion vom p-Typ 11-3 sind auf das gleiche Potenzial gesetzt. Die C-p-Wannenpotenzialeinstellungsleitung 18 ist mit einer Wannenpotenzial-Steuerschaltung verbunden.
  • Es ist zu vermerken, dass die schwebenden Gatterelektroden FG, die Steuergatterelektroden WL0-i, WL1-i, WL2-i, WL3-i und die Auswahlgatterleitungen SGS-i, SGD-i aus z.B. leitendem Polysilicon, das Verunreinigungen enthält, ausgebildet sind. Außerdem sind die ersten und zweiten Metallverdrahtungsschichten M0, M1 aus z.B. Aluminium, Kupfer oder einer Legierung dieser Metalle ausgebildet.
  • 6 zeigt ein Beispiel des Schnittaufbaus der X-Richtung der Speicherzelle, und 7 zeigt ein Beispiel des Schnittaufbaus der X-Richtung des Auswahlgattertransistors.
  • Eine Vielzahl von Speicherzellen (FG+WL) der X-Richtung sind voneinander durch eine Einrichtungsisolationsschicht 19 getrennt, die einen flachen Grabenisolations-(STI) Aufbau enthält. Die schwebenden Gatterelektroden FG sind in der Region vom p-Typ 11-3 über einen sehr dünnen Tunneloxidfilm 20 angeordnet. Die Steuergatterelektrode WL ist auf den schwebenden Gatterelektroden FG über einen Oxid-/Nitrit-/Oxid- (ONO) Film 21 angeordnet.
  • Die Auswahlgatterleitung SGS/SGD hat einen Doppelaufbau. Untere und obere Auswahlgatterleitungen SGS/SGD sind miteinander in einem Ende des Speicherzellenfeldes elektrisch verbunden, und sind miteinander sogar in dem Speicherzellenfeld in einem konstanten Intervall, z.B. jede 512 Bitleitungen, elektrisch verbunden.
  • (4) Gestaltungsbeispiel der Mengenerfassungsschaltung
  • 8 zeigt ein Gestaltungsbeispiel der Mengenerfassungsschaltung.
  • Die Mengenerfassungsschaltung 10 hat eine Funktion zum Prüfen, ob die Daten vollständig geschrieben oder gelöscht sind oder nicht mit Bezug auf alle ausgewählten Speicherzellen nach einem Verifizierungslesen (Programm-/Löschabschlusserfassung).
  • In dem vorliegenden Beispiel, wie in dem Gestaltungsbeispiel des Speicherzellenfeldes beschrieben, wird angenommen, dass eine Vielzahl von geradzahligen und ungeradzahligen Bitleitungen unabhängig voneinander in der Schreib-/Leseoperationszeit angesteuert werden. Deshalb ist eine Teildatenschaltung für zwei Bitleitungen einschließlich einer geradzahligen Bitleitung und einer ungeradzahligen Bitleitung angeordnet.
  • Da 8512 Bitleitungen BLek, BLok (k = 0, 1, ... 4225) existieren, wird die Datenschaltung 2 konkret aus 4256 Teildatenschaltungen gebildet. Es ist zu vermerken, dass das Gestaltungsbeispiel jeder Teildatenschaltung in der Datenschaltung 2 später beschrieben wird.
  • In dem vorliegenden Beispiel werden unter 4256 Teildatenschaltungen nur acht Teildatenschaltungen REGR1-0, REGR1-1, REGR1-2, REGR1-3, REGR2-0, REGR2-1, REGR2-2, REGR2-3 gezeigt.
  • Eine Teildatenschaltung REGR1-y ist mit zwei Bitleitungen BLej+y, BLoj+y, und einem E/A-Leitungspaar IOj+y, nIOj+y verbunden. Außerdem ist eine Teildatenschaltung REGR2-y mit zwei Bitleitungen BLej+y+4, BLoj+y+4, und einem E/A-Leitungspaar IOj+y+4, nIOj+y+4 verbunden. Außerdem ist y = 0, 1, 2, 3.
  • Ausgangsknoten RCD1 der ersten bis vierten Teildatenschaltungen REGR1-0, REGR1-1, REGR1-2, REGR1-3 sind gemeinsam verbunden, und der Verbindungsknoten RCD1 ist mit einem Gate pf eines P-Kanal-MOS-Transistors TP2 verbunden. Ähnlich sind Ausgangsknoten RCD2 der fünften bis achten Teildatenschaltungen REGR2-0, REGR2-1, REGR2-2, REGR2-3 gemeinsam verbunden, und der Verbindungsknoten RCD2 ist mit dem Gate eines P-Kanal-MOS-Transistors TP3 verbunden.
  • P-Kanal-MOS-Transistoren TP13, TP14 haben eine Funktion zum Vorladen der Knoten RCD1, RCD2 basierend auf Steuersignalen COMHn in einer Programm-/Löschabschlusserfassungszeit. D.h. nachdem die Steuersignale COMHn auf "L" gesetzt sind, und die Knoten RCD1, RCD2 auf ein Leistungspotenzial Vdd gesetzt sind, werden die Steuersignale COMHn auf "L" gesetzt, und die Knoten RCD1, RCD2 werden in einem schwebenden Zustand gebracht. In diesem Zustand werden die P-Kanal-MOS-Transistoren TP2, TP3 in einen Aus-Zustand gebracht.
  • Ein N-Kanal-MOS-Transistor TN15 hat eine Funktion zum Setzen eines Knotens NCOM auf ein Massepotenzial Vss in der Programm-/Löschabschlusserfassungszeit, und anschließenden Setzen des schwebenden Zustands. Der MOS-Transistor TN15 wird durch ein Steuersignal NCOML gesteuert.
  • In der Programm-/Löschabschlusserfassungszeit wird für die Teildatenschaltung entsprechend der Speicherzelle, in der die Daten nicht ausreichend geschrieben/gelöscht sind, ein Potenzialpegel des gemeinsamen Knotens RCD1 oder RCD2 von "H" auf "L" abgesenkt.
  • Mit mindestens einer Speicherzelle, in der die Daten nicht ausreichend geschrieben/gelöscht sind, wird deshalb der P-Kanal-MOS-Transistor TP2 oder TP3 eingeschaltet, der Knoten NCOM schaltet zu "H" von "L" und FLAG schaltet zu "L".
  • Mit Bezug auf alle Speicherzellen werden andererseits die Daten ausreichend geschrieben/gelöscht. In diesem Fall werden in allen Teildatenschaltungen die Potenzialpegel der gemeinsamen Knoten RCD1, RCD2 auf "H" gehalten. Deshalb bleibt der Knoten NCOM auf "L", und FLAG schaltet zu "H".
  • Wenn der Potenzialpegel von FLAG auf diese Art und Weise erfasst wird, ist es möglich zu prüfen, ob die Daten vollständig geschrieben/gelöscht sind oder nicht mit Bezug auf alle Speicherzellen.
  • In dem vorliegenden Beispiel werden acht Teildatenschaltungen als eine Gruppe betrachtet, und die Programm-/Löschabschlusserfassung, d.h. die Erfassung des Spannungspegels von FLAG, wird jede acht Teildatenschaltungen durchgeführt.
  • Ein Grund dafür, warum acht Teildatenschaltungen in eine Gruppe kombiniert sind, besteht darin, dass die Speicherzellen durch eine Redundanzschaltung durch eine Einheit von acht Spalten entsprechend diesen acht Teildatenschaltungen ersetzt werden. D.h. wenn eine Sicherungseinrichtung (umgeben mit einer unterbrochenen Linie) getrennt wird, sind die Speicherzellen, die mit diesen acht Teildatenschaltungen verbunden sind, in einem nicht-ausgewählten Zustand, und Reservespeicherzellen einer redundanten Region werden stattdessen ausgewählt.
  • Wenn die Speicherzelle durch die Redundanzschaltung durch eine Einheit von n Spalten entsprechend n (n ist eine natürliche Zahl) Teildatenschaltungen ersetzt wird, werden die n Teildatenschaltungen in eine Gruppe kombiniert.
  • Es ist zu vermerken, dass FLAG ein gemeinsamer Knoten für alle Spalten ist. Wenn zum Beispiel die Datenschaltung 2 4256 Teildatenschaltungen enthält, und acht Teildatenschaltungen als eine Einheit von Redundanzaustausch angenommen werden, existieren 532 Schaltungen, die in 8 gezeigt werden, in dem Chip. Außerdem sind diese 532 Schaltungen mit dem gemeinsamen Knoten FLAG verbunden.
  • (5) Gestaltungsbeispiel der Datenschaltung
  • 9 zeigt ein Gestaltungsbeispiel der Teildatenschaltung in der Datenschaltung.
  • In dem vorliegenden Beispiel besteht die Datenschaltung aus einer Vielzahl von Teildatenschaltungen (z.B. 4256 Schaltungen), und jede Teildatenschaltung enthält eine Gestaltung, wie in 9 gezeigt.
  • Die Teildatenschaltung REGR enthält vier Datenspeichereinheiten DS1, DS2, DS3, DS4. Diese Datenspeichereinheiten DS1, DS2, DS3, DS4 werden verwendet, um Lese- und Programmoperationen von Zweibitdaten mit Bezug auf eine ausgewählte Speicherzelle auszuführen. Die Programmoperation enthält Schreib- und Verifizierungsoperationen.
  • Außerdem ist eine Teildatenschaltung mit Bezug auf insgesamt zwei Bitleitungen angeordnet, die eine geradzahlige Bitleitung und eine ungeradzahlige Bitleitung enthalten. Die geradzahlige Bitleitung BLek ist mit der Teildatenschaltung REGR über einen N-Kanal-MOS-Transistor Qn1 verbunden, und die ungeradzahlige. Bitleitung BLok ist mit der Teildatenschaltung REGR über einen N-Kanal-MOS-Transistor Qn2 verbunden.
  • Wenn ein Steuersignal BLSe "H" anzeigt, und ein Steuersignal BLSo "L" anzeigt, wird der N-Kanal-MOS-Transistor Qn1 eingeschaltet. Deshalb ist die geradzahlige Bitleitung BLek mit der Teildatenschaltung REGR elektrisch verbunden. Wenn das Steuersignal BLSe "L" anzeigt, und das Steuersignal BLSo "H" anzeigt, wird der N-Kanal-MOS-Transistor Qn2 eingeschaltet. Deshalb ist die ungeradzahlige Bitleitung BLok mit der Teildatenschaltung REGR elektrisch verbunden.
  • Es ist zu vermerken, dass das Steuersignal BLSe gemeinsam in den N-Kanal-MOS-Transistor Qn1 eingegeben wird, der mit der geradzahligen Bitleitung BLek verbunden ist, und das Steuersignal BLSo gemeinsam in den N-Kanal-MOS-Transistor Qn2 eingegeben wird, der mit der ungeradzahligen Bitleitung BLok verbunden ist.
  • 10 zeigt ein Schaltungsbeispiel der Teildatenschaltung von 9.
  • In dem vorliegenden Beispiel wird die Datenschaltung für eine Spalte (einschließlich zweier Bitleitungen Blek, BLok) entsprechend 9 gezeigt.
  • Die Teildatenschaltung REGR enthält vier Datenspeichereinheiten DS1, DS2, DS3, DS4.
  • Die Datenspeichereinheit DS1 enthält einen N-Kanal-MOS-Kondensator vom Senkungstyp C1. Die Datenspeichereinheit DS2 enthält einen N-Kanal-MOS-Transistor Qn8. Die Datenspeichereinheit DS3 wird durch eine CMOS-Flip-Flop-Schaltung gebildet, die Taktsynchroninvertierer CI1, CI2 enthält, und die Datenspeichereinheit DS4 wird durch eine CMOS-Flip-Flop-Schaltung gebildet, die Taktsynchroninvertierer CI3, CI4 enthält.
  • Ein Ende des MOS-Kondensators C1 ist mit den Bitleitungen Blek, BLok über N-Kanal-MOS-Transistoren Qn5, Qn1, Qn2 verbunden, und das andere Ende davon ist mit einem Massepunkt Vss verbunden. Der MOS-Transistor Qn5 ist ein Klemmtransistor, der einen Knoten N1 der Bitleitung auf einer Seite von Qn1, Qn2 und einen Knoten N2 auf einer Seite des MOS-Kondensators C1 elektrisch verbindet/trennt.
  • Wenn ein Steuersignal BLCLAMP "H" anzeigt, wird der MOS-Transistor Qn5 eingeschaltet. Zum Beispiel wird die geradzahlige Bitleitung BLek mit einem Ende des MOS-Kondensators C1 elektrisch verbunden. Zu dieser Zeit wird das Steuersignal BLSe auf "H" gesetzt, und das Steuersignal BLSo wird auf "L" gesetzt. Außerdem wird zu dieser Zeit ein Steuersignal BIASe auf "L" gesetzt, ein Steuersignal BLASo wird auf "H" gesetzt, und ein Vorspannungspotenzial (z.B. Massepotenzial) BLCRL wird der ungeradzahligen Bitleitung BLok zugeführt.
  • Wenn die ungeradzahlige Bitleitung BLok mit einem Ende des MOS-Kondensators C1 elektrisch verbunden ist, wird außerdem das Steuersignal BLSe auf "L" gesetzt, und das Steuersignal BLSo wird auf "H" gesetzt. Des weiteren wird zu dieser Zeit das Steuersignal BIAse auf "H" gesetzt, das Steuersignal BIAso wird auf "L" gesetzt, und das Vorspannungspotenzial (z.B. Massepotenzial) BLCRL wird der geradzahligen Bitleitung BLek zugeführt.
  • Wenn das Steuersignal BLCLAMP "L" anzeigt, wird der MOS-Transistor Qn5 eingeschaltet. Z.B. ist der Knoten N1 auf der Seite Qn1, Qn2 der Bitleitung von dem Knoten N2 auf der Seite des MOS-Kondensators C1 elektrisch getrennt.
  • Ein N-Kanal-MOS-Transistor Qn6 ist mit einem Ende des MOS-Kondensators C1 verbunden. Der MOS-Transistor Qn6 ist eine Einrichtung zum Laden von einem Ende des MOS-Kondensators C1 auf ein Vorladungspotenzial VPRE. Wenn ein Steuersignal BLPRE "H" anzeigt, wird ein Ende des MOS-Kondensators C1 auf das Vorladungspotenzial VPRE geladen.
  • Ein N-Kanal-MOS-Transistor Qn8 ist mit einem Ende des MOS-Kondensators C1 über einen N-Kanal-MOS-Transistor Qn7 verbunden. Wenn ein Steuersignal REF "H" anzeigt, d.h. wenn der MOB-Transistor Qn7 eingeschaltet ist, setzt der MOS-Transistor Qn8 das Potenzial von einem Ende des MOS-Kondensators C1 zwangsweise auf VREG basierend auf dem Wert der Daten, die in der Datenspeichereinheit DS2 gespeichert sind.
  • Wenn z.B. die Daten, die in der Datenspeichereinheit DS2 gespeichert sind, "1" sind, d.h. der Pegel des Gate des MOS-Transistors "H" anzeigt, schaltet das Steuersignal REG auf "H", und ein Ende des MOS-Kondensators C1 wird zwangsweise auf VREG gesetzt. Wenn die Daten, die in der Datenspeichereinheit DS2 gespeichert sind, "0" sind, d.h. der Pegel des Gate des MOB-Transistors "L" anzeigt, wird außerdem das Potenzial von einem Ende des MOS-Kondensators C1 nicht durch VREG beeinflusst.
  • Beide Datenspeichereinheiten DS3, DS4 sind aus einer CMOS-Flip-Flop-Schaltung gebildet.
  • Ein N-Kanal-MOS-Transistor Qn11 ist eine Einrichtung zum Ausgleichen der Potenziale von zwei Eingangsanschlüssen der CMOS-Flip-Flop-Schaltung in der Datenspeichereinheit DS3, d.h. der Eingangsanschlüsse der Taktsynchroninvertierer CI1, CI2. Außerdem ist ein N-Kanal-MOS-Transistor Qn13 eine Einrichtung zum Ausgleichen der Potenziale von zwei Eingangsanschlüssen der CMOS-Flip-Flop-Schaltung in der Datenspeichereinheit DS4, d.h. der Eingangsanschlüsse der Taktsynchroninvertierer CI3, CI4.
  • Der MOS-Transistor Qn11 wird durch ein Steuersignal EQ1 gesteuert, und der MOS-Transistor Qn13 wird durch ein Steuersignal EQ2 gesteuert.
  • Der Taktsynchroninvertierer CI1 arbeitet in Synchronisation mit Taktsignalen SEN1, SEN1n, der Taktsynchroninvertierer CI2 arbeitet in Synchronisation mit Taktsignalen LATZ, LAT1n, der Taktsynchroninvertierer CI3 arbeitet in Synchronisation mit Taktsignalen LAT2, LAT2n und der Taktsynchroninvertierer CI4 arbeitet in Synchronisation mit Taktsignalen SEN2, SEN2n.
  • Es ist zu vermerken, das ein Signal "***n" ein Umkehrsignal bedeutet, das durch Umkehrung des Pegels eines Signals "***" erhalten wird. Gestaltungsbeispiele der Taktsynchroninvertierer CI1, CI2, CI3, CI4 werden z.B. in 11 gezeigt.
  • Der Taktsynchroninvertierer von 11 arbeitet als ein CMOS-Invertierer, wenn ein Taktsignal CLK "H" anzeigt und ein Taktsignal CLKn "L" anzeigt. Wenn das Taktsignal CLK "L" anzeigt, und das Taktsignal CLKn "H" anzeigt, hat ein Eingangssignal IN mit einem Ausgangssignal OUT nichts zu tun.
  • Ein N-Kanal-MOS-Transistor Qn10 ist als eine Schaltereinrichtung zwischen den Datenspeichereinheiten DS1 und DS3 verbunden, d.h. zwischen einem Ende (Knoten N2) des MOS-Kondensa tors C1 und dem Eingangsanschluss (Knoten N3) des Taktsynchroninvertierers CI1. Der MOS-Transistor Qn10 wird durch ein Steuersignal BLC1 gesteuert, und wird verwendet, um Daten zwischen den Datenspeichereinheiten DS1 und DS3 zu transferieren.
  • Ein N-Kanal-MOS-Transistor Qn9 ist als die Schaltereinrichtung zwischen den Datenspeichereinheiten DS2 und DS3 verbunden, d.h. zwischen dem Gate des N-Kanal-MOS-Transistors Qn8 und dem Eingangsanschluss des Taktsynchroninvertierers CI1. Der MOS-Transistor Qn9 wird durch ein Steuersignal DTG gesteuert, und wird verwendet, die Daten, die in der Datenspeichereinheit DS3 gespeichert sind, zu der Datenspeichereinheit DS2 zu transferieren.
  • Ein N-Kanal-MOS-Transistor Qn12 ist als die Schaltereinrichtung zwischen den Datenspeichereinheiten DS1 und DS4 verbunden, d.h. zwischen einem Ende (Knoten N2) des CMOS-Kondensators C1 und dem Eingangsanschluss (Knoten N4) des Taktsynchroninvertierers CI4. Der MOS-Transistor Qn12 wird durch ein Steuersignal BLC2 gesteuert, und wird verwendet, Daten zwischen den Datenspeichereinheiten DS1 und DS4 zu transferieren.
  • Ein N-Kanal-MOS-Transistor Qn14 ist eine Einrichtung zum Rücksetzen der Daten der Datenspeichereinheit DS4. In einer Schreiboperationszeit setzt der MOS-Transistor Qn14 z.B. den Zustand der Datenspeichereinheit DS4 in "1", was einen Zustand von Datenhaltung anzeigt, d.h. setzt den Knoten N4 auf einen Zustand von "H", bevor die Schreibdaten in die Datenspeichereinheit DS4 eingegeben werden.
  • Wenn ein Steuersignal PRST zu "H" schaltet, schaltet konkret ein Ausgangsanschluss des Taktsynchroninvertierers CI4 auf "L", und der Knoten N4 schaltet auf "H".
  • Die Datenspeichereinheit DS4 ist mit E/A-Leitungen (Datenleitungen) IO, nIO über N-Kanal-MOS-Transistoren Qn15, Qn16 als Spaltenauswahlschalter verbunden.
  • Da ein Spaltenauswahlsignal CSLk (k = 0, 1, ..., 4255) auf "H" in der Spalte schaltet, die durch das Spaltenadresssignal ausgewählt ist, ist die Datenspeichereinheit DS4 mit den E/A-Leitungen IO, nIO in der ausgewählten Spalte elektrisch verbunden.
  • Ein N-Kanal-MOS-Transistor Qn17 ist eine Einrichtung zum Bestimmen eines Pegels eines gemeinsamen Knotens PCD basierend auf den Daten, die in der Datenspeichereinheit DS3 gespeichert sind.
  • Es sind z.B. in einer Programmierungszeit von "0" Daten "0" in der Datenspeichereinheit DS3 gespeichert. D.h. da der Knoten N4 einen Zustand "L" hat, und ein Knoten N5 einen Zustand "H" hat, wird der N-Kanal-MOS-Transistor Qn17 eingeschaltet, und der Pegel des gemeinsamen Knotens PCD wird auf "L" gesetzt. Wenn die Daten "0" vollständig in der Speicherzelle in einer Verifizierungslesezeit geschrieben sind, sind Lesedaten "1". Deshalb sind Daten "1" in der Datenspeichereinheit DS4 gespeichert. D.h. da sich der Zustand des Knotens N4 auf "H" ändert, und sich der des Knotens N5 auf "L" ändert, wird der N-Kanal-MOS-Transistor Qn17 ausgeschaltet, und der Pegel des gemeinsamen Knotens PCD wird auf "H" gesetzt.
  • Es ist zu vermerken, dass die detaillierte Operation später beschrieben wird.
  • In der obigen Beschreibung existieren für die Daten "0" und "1". Für den Pegel des Knotens existieren "L" und "H". Für eine Beziehung entspricht "0" "L", und "1" entspricht "H".
  • Außerdem sind in dem vorliegenden Beispiel zwei Bitleitungen BLek, BLok in einer Spalte angeordnet, und diese zwei Bitleitungen BLek, BLok sind mit einer Teildatenschaltung verbunden. Ein Grund, warum die zwei Bitleitungen BLek, BLok mit einer Teildatenschaltung verbunden sind, besteht darin, dass Ziele erreicht werden: 1). Es wird verhindert, dass ein Rauschen durch eine kapazitive Kopplung zwischen den Bitleitungen generiert wird, die einander benachbart sind (Verwendung von Schirmungsbitleitungsleseverfahren); und 2). Die Zahl von Datenschaltungen wird verringert und eine Chipfläche wird reduziert.
  • (6) Gestaltungsbeispiel der Wortleitungssteuerschaltung
  • 12 zeigt ein Gestaltungsbeispiel einer Wortleitungssteuerschaltung.
  • Das Speicherzellenfeld 1 wird aus einer Vielzahl von Speicherzellenblöcken gebildet, die in der Y-Richtung angeordnet sind. Jeder Speicherzellenblock enthält eine Vielzahl von NAND-Zelleneinheiten, die in der X-Richtung angeordnet sind. Für das Schaltungsbeispiel des Speicherzellenfeldes und der NAND-Zelleneinheit siehe 3.
  • Außerdem wird in dem vorliegenden Beispiel die Zahl von Wortleitungen WL1, ..., WL16 in einem Block angenommen, 16 zu sein, was sich von dem oben beschriebenen Beispiel (3) unterscheidet. Da diese Hinsicht nicht besonders wichtig ist, wird jedoch die Hinsicht als solche beschrieben.
  • In dem vorliegenden Beispiel sind ein Zeilenadressdecoder und ein Wortleitungstreiber für einen Speicherzellenblock angeordnet.
  • Z.B. sind die Wortleitungen WL1, ..., WL16 und Auswahlgatterleitungen SG1, SG2 mit einem ersten Wortleitungstreiber RMAIN1 verbunden, und der erste Wortleitungstreiber RMAIN1 empfängt das Ausgangssignal (Dekodierungsergebnis) eines ersten Zeilenadressdecoders RADD1, der Auswahl/Nicht-Auswahl des ersten Speicherzellenblocks bestimmt.
  • Auf diese Art und Weise werden die Wortleitungen WL1, ..., WL16 und Auswahlgatterleitungen SG1, SG2 in einem i-ten (i = 1, 2, ...) Speicherzellenblock mit einem i-ten Wortleitungstreiber RMAINi verbunden, und der i-te Wortleitungstreiber RMAINi empfängt das Ausgangssignal (Dekodierungsergebnis) eines i-ten Zeilenadressdecoders RADD1, der die Auswahl/Nicht-Auswahl des i-ten Speicherzellenblocks bestimmt.
  • In dem vorliegenden Beispiel sind hier die Wortleitungstreiber auf entgegengesetzten Seiten (zwei Enden der X-Richtung) des Speicherzellenfeldes 1 angeordnet.
  • Konkret sind die Wortleitungstreiber RMAIN1, RMAIN3, ... entsprechend dem ungeradzahligen Speicherzellenfeldblock in einem (linken Ende) der zwei Enden der X-Richtung des Speicherzellenfeldes 1 angeordnet, und die Wortleitungstreiber RMAIN2, RMAIN4, ... entsprechend dem geradzahligen Speicherzellenfeldblock sind in dem anderen Ende (rechtes Ende) der zwei Enden der X-Richtung des Speicherzellenfeldes 1 angeordnet.
  • Wenn die Wortleitungstreiber RMAINi in den entgegengesetzten Enden des Speicherzellenfeldes 1 auf diese Art und Weise angeordnet sind, können die Wortleitungstreiber RMAINi einfach gestaltet werden (oder der Freiheitsgrad vom Layout kann vergrößert werden). D.h. in dem vorliegenden Beispiel kann ein Wortleitungstreiber einen Layoutraum für zwei Speicherzellenblöcke in der Y-Richtung sichern.
  • Da die Wortleitungen WL1, ..., WL16 und Auswahlgatterleitungen SG1, SG2 in einem Speicherzellenblock immer von einer Seite (oder der anderen Seite) des Speicherzellenfeldes 1 durch den Wortleitungstreiber entsprechend dem Speicherzellenblock angesteuert werden, weicht außerdem eine Zeitsteuerung zum Zuführen eines Ansteuersignals mit Bezug auf die Speicherzelle und den Auswahltransistor in einer vorbestimmten NAND-Zelleneinheit in dem ausgewählten Block nicht ab.
  • Andererseits sind Zeilenadressdecoder RADDi (i= 1, 2, ...) nur in einem (eine Seite) von zwei Enden der X-Richtung des Speicherzellenfeldes 1 angeordnet. Da eine Signalleitung (Adressbus) zum Zuführen von Zeilenadresssignalen zu den Zeilenadressdecodern RADDi nur auf einer Seite des Speicherzellenfeldes 1 angeordnet sein kann, kann in diesem Fall eine Fläche des Adressbusses reduziert werden. Als ein Ergebnis kann dies zu der Reduzierung der Chipfläche beitragen.
  • D.h. falls die Zeilenadressdecoder RADDi in zwei Enden der X-Richtung des Speicherzellenfeldes 1 ähnlich wie die Wortleitungstreiber RMAINi angeordnet sind, muss der Adressbus in zwei Enden der X-Richtung des Speicherzellenfeldes 1 angeordnet sein. Dies ist für die Reduzierung der Chipfläche von Nachteil.
  • Die Zeilenadressdecoder RADDi sind nur in einem von zwei Enden (eine Seite) der X-Richtung des Speicherzellenfeldes 1 angeordnet. Als ein Ergebnis ist in dem vorliegenden Beispiel eine Signalleitung 22 in dem Speicherzellenfeld 1 angeordnet. Die Signalleitung 22 wird verwendet, um Ausgangssignale (Dekodierungsergebnisse) RDECADS der Zeilenadressdecoder RADD2, RADD4, ... für die geradzahligen Speicherzellenfeldblöcke den Wortleitungstreibern RMAIN2, RMAIN4, ... zuzuführen.
  • In einer gewöhnlichen Operationszeit werden die Signale RDECADS durch die Signalleitung 22 geführt. Deshalb ist es notwendig zu verhindern, dass das Potenzial der Signalleitung 22 die Operation der Speicherzelle in der gewöhnlichen Operationszeit negativ beeinflusst. Es ist zu vermerken, dass die Zeilenadressdecoder RADDi und Wortleitungstreiber RMAINi zum Verhindern dessen, dass das Potenzial der Signalleitung 22 die Operation der Speicherzelle negativ beeinflusst, später beschrieben werden.
  • Die Potenzialgenerierungsschaltung 9A enthält eine Hochstufungsschaltung (Ladepumpenschaltung), und generiert z.B. ein Schreibpotenzial Vpp oder Transferpotenzial Vpass zur Verwendung in der Schreiboperation. Die Potenzialgenerierungsschaltung 9A ist mit dem Schaltkreis 9B verbunden. Der Schaltkreis 9B hat eine Funktion zum Verteilen der Potenziale, wie etwa des Schreibpotenzials Vpp, des Transferpotenzials Vpass, des Leistungspotenzials Vdd in dem Chip und des Massepotenzials Vss zu Signalleitungen CG1, ... CG16 entsprechend den Wortleitungen WL1, ... WL16.
  • Die Signalleitungen CG1, ... CG16 sind mit den Wortleitungstreibern RMAINi verbunden. D.h. die Signalleitungen CG1, ... CG16 sind mit den Wortleitungen WL1, ... WL16 über Transistoren HNt1, HNt2, ..., HNt16 (später beschrieben) zum Potenzialtransfer in den Wortleitungstreibern RMAINi verbunden.
  • (7) Schaltungsbeispiel des Zeilenadressdecoders und Wortleitungstreibers.
  • 13 zeigt einen Hauptteil des Zeilenadressdecoders, der für den ungeradzahligen Speicherzellenblock angeordnet ist.
  • Der Zeilenadressdecoder RADD1 funktioniert genau wie der Blockdecoder. D.h. wenn der erste Speicherzellenblock ausge wählt ist, schalten alle Zeilenadresssignale AROWi, ... AROWj auf "H", und das Ausgangssignal RDECAD schaltet auf "H".
  • 14 zeigt einen Hauptteil des Wortleitungstreibers, der für den ungeradzahligen Speicherzellenblock angeordnet ist.
  • Hauptbestandteile des Wortleitungstreibers RMAIN1 enthalten einen Hochspannungsschaltkreis 26 und MOS-Transistoren für einen Transfer HN5, HN6, HNt1, ..., HNt16.
  • Der Hochspannungsschaltkreis 26 enthält: eine erste Hochstufungseinheit, die einen MOS-Kondensator DHN4 und einen MOS-Transistor IHN1 enthält; und eine zweite Hochstufungseinheit, die einen MOS-Kondensator DHN5 und einen MOB-Transistor IHN2 enthält.
  • Das Gate eines MOS-Transistors HN3 ist mit einem Verbindungsknoten B der MOS-Transistoren IHN1, IHN2 verbunden. Da die Potenzialpegel von Gate und Source des MOB-Transistors HN3 eine umgekehrte Phase unterhalten, und das Potenzial von jedem Knoten A, B, TransferG1 in Synchronisation mit einem Taktsignal Owc allmählich ansteigt, wird in diesem Fall eine Hochstufungseffizienz gesteigert.
  • Der Hochspannungsschaltkreis 26 wird in einen Operationszustand gebracht, wenn das Ausgangssignal RDECAD des Zeilenadressdecoders RADD1 "H" anzeigt. D.h. wenn das Ausgangssignal RDECAD "H" anzeigt, ist das Ausgangssignal einer NAND-Schaltung NAND1 ein Taktsignal mit einer Phase, die zu der des Taktsignals Owc entgegengesetzt ist. Das Ausgangssignal der NAND-Schaltung NAND1 wird an ein Ende der MOS-Kondensatoren DHN4, DHN5 angelegt.
  • Als ein Ergebnis wird ein Hochstufungspotenzial an das Gate der MOS-Transistoren für einen Transfer HN5, HN6, HNt1, ..., HNt16 angelegt, und die MOS-Transistoren für einen Transfer HN5, HN6, HNt1, ..., HNt16 werden eingeschaltet.
  • Wenn das Ausgangssignal RDECAD des Zeilenadressdecoders RADD1 "H" anzeigt, werden MOS-Transistoren HN7, HN8 ausgeschaltet. Zu dieser Zeit zeigen Signalleitungen SGD, SGS z.B. das Leistungspotenzial Vdd in dem Chip an, und dieses Vdd wird den Auswahlgatterleitungen SG1, SG2 über die MOS-Transistoren für einen Transfer HN5, HN6 zugeführt.
  • Außerdem sind die Signalleitungen CG1, CG2, ..., CG16 auf vorbestimmte Potenziale durch den Schaltkreis 9B (siehe 1) in Übereinstimmung mit dem Operationsmodus gesetzt. Des weiteren werden die Potenziale der Signalleitungen CG1, CG2, CG16 den Wortleitungen WL1, WL2, ..., WL16 über die MOB-Transistoren für einen Transfer HNt1, ..., HNt16 zugeführt.
  • 15 zeigt einen Hauptteil des Zeilenadressdecoders, der für den geradzahligen Speicherzellenblock angeordnet ist.
  • Der Zeilenadressdecoder RADD2 enthält die gleiche Schaltung wie die des Zeilenadressdecoders RADD1 von 13. D.h. eine Schaltung, die mit einer unterbrochenen Linie X1 umgeben ist, ist die gleiche wie die des Zeilenadressdecoders RADD1 von 13. Es ist zu vermerken, dass in 15 der gleiche Teil wie der von 13 mit den gleichen Bezugszeichen bezeichnet ist.
  • Der Zeilenadressdecoder RADD2 enthält einen Invertierer I4, getaktete Invertierer CINV3, CINV4 und Hochspannungs-N-Kanal-MOS-Transistoren vom Senkungstyp DHN6, DHN7.
  • Der getaktete Invertierer CINV4 hat eine Funktion zum Setzen des Ausgangssignals RDECADS (Potenzial der Signalleitung 22 von 12) des Zeilenadressdecoders für den ausgewählten Speicherzellenblock auf das Massepotenzial Vss, und Setzen des Ausgangssignals RDECADS des Zeilenadressdecoders für den nicht-ausgewählten Speicherzellenblock auf das Leistungspotenzial Vdd in dem Chip in einem Löschungszeitpunkt.
  • Der MOS-Transistor DHN6 hat eine Funktion zum Bringen der Signalleitung 22 (siehe 12) in den schwebenden Zustand zusammen mit einem Transistor DHN9 von 16, was später beschrieben wird.
  • In dem Löschungszeitpunkt schaltet in dem ausgewählten Speicherzellenblock ein Signal RDECADS1 auf "H (Vdd)", und in dem nicht-ausgewählten Speicherzellenblock schaltet das Signal RDECADS1 auf "L (Vss)".
  • Falls das Signal RDECADS1 zu der Signalleitung 22 in dem Speicherzellenfeld gegeben wird (siehe 12), schaltet die Signalleitung 22 in dem Speicherzellenfeld auf "L (Vss)" (siehe 12) in dem nicht-ausgewählten Speicherzellenblock.
  • Wenn ein Löschpotenzial Vera an eine Zellenwanne durch die kapazitive Rückkopplung der Zellenwanne und der Wortleitung zugeführt wird, und wenn das Potenzial der Wortleitung in dem nicht-ausgewählten Speicherzellenblock angehoben wird, steigt in diesem Fall das Potenzial der Wortleitung durch den Einfluss der Signalleitung 22 (12) als das Massepotenzial Vss nicht ausreichend an.
  • Da der getaktete Invertierer CINV4 angeordnet ist, schaltet das Ausgangssignal RDECADS in dem vorliegenden Beispiel in dem ausgewählten Speicherzellenblock auf "L (Vss)", und das Signal RDECADS schaltet in der Löschzeit in dem nicht-ausgewählten Speicherzellenblock auf "H (Vdd)".
  • D.h. in dem nicht-ausgewählten Speicherzellenblock schaltet die Signalleitung 22 in dem Speicherzellenfeld (siehe 12) auf "H (Vdd)", und wird durch Abschalten der MOS-Transistoren DHN6 und DHN9 in den schwebenden Zustand gebracht (16).
  • Wenn das Potenzial der Wortleitung in dem nicht-ausgewählten Speicherzellenblock durch die kapazitive Kopplung der Zellenwanne und der Wortleitung angehoben wird, wird deshalb der Einfluss der Signalleitung 22 (12) als das Leistungspotenzial Vdd in dem Chip reduziert, und das Potenzial der Wortleitung steigt ausreichend an.
  • 16 zeigt einen Hauptteil des Wortleitungstreibers, der für den geradzahligen Speicherzellenblock angeordnet ist.
  • Unter den Hauptbestandteilen des Wortleitungstreibers RMAIN2 sind der Hochspannungsschaltkreis 26 und die MOS-Transistoren für einen Transfer HN5, HN6, HNt1, ..., HNt16 die gleichen wie jene des Wortleitungstreibers RMAIN1, der in 14 gezeigt wird. D.h. eine Schaltung, die durch eine unterbrochene Linie X2 umgeben ist, ist die gleiche wie die des Zeilenadressdecoders RADD1 von 14. Es ist zu vermerken, dass in 16 der gleiche Teil wie der von 14 durch die gleichen Bezugszeichen bezeichnet ist.
  • Der Wortleitungstreiber RMAIN2 enthält getaktete Invertierer CINV5, CINV6, CINV7, Hochspannungs-N-Kanal-MOS-Transistoren vom Senkungstyp DHN8, DHN9 und P-Kanal-MOS-Transistoren vom Verstärkungstyp TP6, TP7.
  • Der getaktete Invertierer CINV7 hat eine Funktion zum Rückführen des Ausgangssignals RDECADS (Potenzial der Signalleitung 22 von 12) des Zeilenadressdecoders für den ausgewählten Speicherzellenblock zurück auf das Leistungspotenzial Vdd in dem Chip von dem Massepotenzial Vss, Rückführen des Ausgangssignals RDECADS des Zeilenadressdecoders für den nicht-ausgewählten Speicherzellenblock zurück zu dem Massepotenzial Vss von dem Leistungspotenzial Vdd in dem Chip und Zuführen eines Signals REDCADS2 zu der Schaltung in der unterbrochenen Linie X2 in der Löschzeit.
  • Der MOS-Transistor DHN9 hat eine Funktion zum Bringen der Signalleitung 22 (siehe 12) in den schwebenden Zustand zusammen mit dem Transistor DHN6 von 15.
  • Wie oben beschrieben, werden der Invertierer I4, die getakteten Invertierer CINV3, CINV4 und die Hochspannungs-N-Kanal-MOS-Transistoren vom Senkungstyp DHN6, DHN7 in dem Zeilenadressdecoder RADD2 von 15, und die getakteten Invertierer CINV5, CINV6, CINV7, die Hochspannungs-N-Kanal-MOS-Transistoren vom Senkungstyp DHN8, DHN9 und die P-Kanal-MOS-Transistoren vom Verstärkungstyp TP6, TP7 in dem Wortleitungstreiber RMAIN2 von 16 in Paaren verwendet, um das gleiche Ziel zu erreichen.
  • Es ist zu vermerken, dass in 13 bis 16 Vdd (Leistungspotenzial in dem Chip, das geringer als ein externes Leistungspotenzial Vcc ist) als das Leistungspotenzial zu diesen Schaltungen zugeführt wird. Es kann jedoch z.B. das externe Leistungspotenzial Vcc an Stelle dessen zugeführt werden.
  • (8) Betrachtung vom Potenzialpegel von Signalleitung 22
  • Der Potenzialpegel der Signalleitung 22 (siehe 12) in jedem Operationsmodus wird als Nächstes beschrieben. Es ist zu vermerken, dass nur der Potenzialpegel der Signalleitung 22 hier beschrieben wird.
  • In dem vorliegenden Beispiel ist die Signalleitung 22 (12) mit dem Zeilenadressdecoder (15) und Wortleitungstreiber (16) entsprechend dem geradzahligen Speicherzellenblock verbunden. Deshalb wird der Potenzialpegel des Wortleitungstreiber-Auswahlsignals RDECADS, das durch die Signalleitung 22 (12) geführt wird, mit Bezug auf 15 und 16 beschrieben.
  • Der Potenzialpegel des Ausgangssignals RDECADS des Zeilenadressdecoders RADD2 unterscheidet sich mit dem Operationsmodus.
  • In den Operationen (Schreiben, Lesen, verifizierendes Lesen) außer der Löschoperation sind ROWERASE1B, ROWPROG1, ROWERASE2B, ROWERASE3n, ROWGATE auf das Leistungspotenzial Vdd (das Leistungspotenzial in dem Chip, das geringer als das externe Leistungspotenzial Vcc ist gesetzt. Außerdem kann das Potenzial auch das externe Leistungspotenzial Vcc sein), und ROWERASE1, ROWPROG1B, ROWERASE2 sind auf das Massepotenzial Vss gesetzt.
  • Zu dieser Zeit werden die getakteten Invertierer CINV3, CINV5, CINV6 in einen Operationszustand gebracht, und die getakteten Invertierer CINV4, CINV7 werden in einen nicht betriebsfähigen Zustand gebracht. Außerdem wird der MOS-Transistor TP6 ausgeschaltet.
  • In dem ausgewählten Speicherzellenblock zeigt das Ausgangssignal RDECADS1 eines Abschnitts, der mit einer unterbrochenen Linie X1 umgeben ist, "H" an, d.h. das Leistungspotenzial Vdd in dem Chip, und das Ausgangssignal RDECADS des Zeilenadressdecoders RADD2 zeigt auch "H" an, d.h. das Leistungspotenzial Vdd in dem Chip.
  • Andererseits zeigt in dem nich-tausgewählten Speicherzellenblock das Ausgangssignal RDECADS1 eines Abschnitts, der mit einer unterbrochenen Linie X1 umgeben ist, "L" an, d.h. das Massepotenzial Vss, und das Ausgangssignal RDECADS des Zeilenadressdecoders RADD2 zeigt auch "L" an, d.h. das Massepotenzial Vss.
  • Deshalb hat in den Operationen außer der Löschoperation die Signalleitung 22 (siehe 12), die in dem Speicherzellenfeld in den nicht-ausgewählten Speicherzellenblock angeordnet ist, das Massepotenzial Vss, die Auswahlgatterleitungen SG1, SG2 in dem nicht-ausgewählten Speicherzellenblock haben auch das Massepotenzial Vss, und diese Signalleitungen 22, SG1, SG2 funktionieren als Abschirmungsleitungen zwischen den Bit- und Wortleitungen. Als ein Ergebnis kann Kopplungsrauschen, das in den Daten generiert wird, die durch die Bitleitung geführt werden, reduziert werden.
  • In der Löschoperation werden ROWERASE1B, ROWPROG1, ROWERASE2B, ROWERASE3n, ROWGATE auf das Massepotenzial Vss gesetzt, und ROWERASE1, ROWPROG1B, ROWERASE2 werden auf das Leistungspotenzial im Chip Vdd (kann auch das Leistungspotenzial Vcc sein) gesetzt.
  • Zu dieser Zeit werden die getakteten Invertierer CINV4, CINV7 in den Operationszustand gebracht, und die getakteten Invertierer CINV3, CINV5, CINV6 werden in den nicht betriebsfähigen Zustand gebracht. Außerdem wird der MOS-Transistor TP6 eingeschaltet.
  • In dem ausgewählten Speicherzellenblock zeigt das Ausgangssignal RDECADS1 des Abschnitts, der mit der unterbrochenen Linie X1 umgeben ist, "H" an, d.h. das Leistungspotenzial im Chip Vdd, und das Ausgangssignal RDECADS des Zeilenadressdecoders RADD2 zeigt "L" an, d.h. das Massepotenzial Vss.
  • Andererseits zeigt in dem nicht-usgewählten Speicherzellenblock das Ausgangssignal RDECADS1 des Abschnitts, der mit der unterbrochenen Linie X1 umgeben ist, "L" an, d.h. das Massepotenzial Vss, und das Ausgangssignal RDECADS des Zeilenadressdecoders RADD2 zeigt "H" an, d.h. das Leistungspotenzial im Chip Vdd.
  • Außerdem zeigt ROWGATE das Massepotenzial Vss an. Deshalb wird die Signalleitung 22 in dem nicht-ausgewählten Speicherzellenblock (siehe 12) in den schwebenden Zustand durch Abschalten der MOS-Transistoren DHN6, DHN9 gebracht, wenn das Potenzial der Leitung (Potenzial von RDECADS) in dem Bereich von 1 bis 1,5V ist.
  • Wie oben beschrieben, ist in der Löschoperation die Signalleitung 22, die in dem Speicherzellenfeld in den nicht-ausgewählten Speicherzellenblock angeordnet ist (siehe 12), in einem Bereich von 1 bis 1,5V, und in dem schwebenden Zustand. D.h. wenn das Löschpotenzial Vera der Zellenwanne zugeführt wird, steigt auch das Potenzial der Signalleitung 22 (12) durch die kapazitive Kopplung ähnlich wie die Wortleitung. Deshalb wird verhindert, dass die Signalleitung 22 (12) den Anstieg des Potenzials der Wortleitung unterdrückt.
  • Mit der Zufuhr des Löschpotenzials Vera zu der Zellenwanne kann deshalb ein Effekt erhalten werden, dass das Potenzial der Wortleitung in dem nicht-ausgewählten Speicherzellenblock durch die kapazitive Kopplung zwischen der Zellenwanne und der Wortleitung leicht ansteigt.
  • Da ein großes elektrisches Feld nicht an den Tunneloxidfilm der Speicherzelle in dem nicht-ausgewählten Speicherzellenblock angelegt wird, kann außerdem entsprechend eine fehler hafte Löschung in dem nicht-ausgewählten Speicherzellenblock verhindert werden.
  • Außerdem ist die Sicherungseinrichtung (ähnlich wie die Sicherungseinrichtung von 13) in der unterbrochenen Linie X von 15 nicht getrennt, wenn der Speicherzellenblock entsprechend der Sicherungseinrichtung (Zeilenadressdecoder) als eine gewöhnliche Speicherregion für einen Benutzer verwendet wird.
  • Wenn jedoch der Speicherzellenblock entsprechend der Sicherungseinrichtung (Zeilenadressdecoder) verwendet wird, z. B. als eine ROM·BLOCK-Region zum Speichern eines Einrichtungscodes, wird die Sicherungseinrichtung getrennt, um zu verhindern, dass das Schreiben/Löschen mit Bezug auf die ROM·BLOCK-Region frei durchgeführt wird.
  • Diese ROM·BLOCK-Region hat die folgende Bedeutung.
  • In den letzten Jahren wurde der Flash-Speicher vom NAND-Typ in Speichern verschiedener elektronischer Vorrichtungen verwendet. Der Flash-Speicher vom NAND-Typ, wie etwa ein Speicher zum Speichern von Musikinformation durch Telefonkommunikation, wird jedoch manchmal als ein Speicher von Daten betreffend Urheberschutz verwendet.
  • Deshalb wird eine Chipnummer, d.h. der Einrichtungscode, in dem Flash-Speicherform NAND-Typ gespeichert, um illegales Kopieren zu verhindern.
  • Dieser Einrichtungscode ist jedem Flash-Speicher vom NAND-Typ eigen. Falls jedoch der Benutzer den Einrichtungscode frei umschreiben kann, kann ein ursprünglicher Zweck des Einrichtungscodes nicht erreicht werden.
  • Deshalb wird der Einrichtungscode in der ROM·BLOCK-Region des Flash-Speichers vom NAND-Typ vor Versendung eines Produktes geschrieben, sodass der Benutzer das Schreiben/Löschen mit Bezug auf die ROM·BLOCK-Region nicht durchführen kann. D.h. die Sicherungseinrichtung ist in dem Speicherzellenblock als die ROM·BLOCK-Region getrennt.
  • Wenn z.B. die Musikinformation in den Flash-Speicher vom NAND-Typ auf einer Informationsempfangsseite von dem Flash-Speicher vom NAND-Typ auf einer Informationsbereitstellungsseite kopiert wird, wird dadurch der Einrichtungscode von dem Flash-Speicher vom NAND-Typ auf der Informationsbereitstellungsseite gelesen. Wenn sich dieser Code von dem des Flash-Speichers vom NAND-Typ auf der Informationsempfangsseite unterscheidet, kann das Kopieren nicht durchgeführt werden.
  • Die Sicherungseinrichtung wird getrennt, unmittelbar nach dem der Einrichtungscode in dem Speicherzellenblock als die ROM·BLOCK-Region programmiert ist.
  • Falls die Sicherungseinrichtung Gegenstand eines Tests vor Versendung in einem nicht-getrennten Zustand ist, wird der Einrichtungscode in dem Test gelöscht.
  • D.h. in dem Test vor Versendung werden alle Blöcke gleichzeitig ausgewählt und geschrieben/gelöscht, um so eine Testzeit zu reduzieren. D.h. alle Zeilenadresssignale AROWi, ..., AROWj zeigen "H" an. Wenn die Sicherungseinrichtung nicht getrennt ist, und selbst wenn CMD ROMBA "L" anzeigt, zeigt deshalb RDECADS1 "H" an (RDECADS zeigt "H" in 13 an), und der Speicherzellenblock als die ROM·BLOCK-Region wird ausgewählt.
  • Selbst wenn alle Zeilenadresssignale AROWi, ..., AROWj "H" in dem Test vor Versendung anzeigen, und wenn die Sicherungsein richtung getrennt ist, zeigt andererseits CMD ROMBA "L" an. Deshalb schaltet RDECADS1 auf "L" (RDECADS zeigt "L" in 13 an), und der Speicherzellenblock als die ROM·BLOCK-Region wird nicht ausgewählt.
  • Selbst wenn die Sicherungseinrichtung getrennt ist, ist es notwendig, den Einrichtungscode auszulesen, der in der ROM·BLOCK-Region gespeichert ist.
  • Die Daten können aus der ROM·BLOCK-Region ausgelesen werden, wenn CMD ROMBA auf "H" gesetzt ist. D.h. wenn CMD ROMBA auf "H" schaltet, und AROWi, ..., AROWj in der ROM·BLOCK-Region auf "H" schaltet, wird der Speicherzellenblock als die ROM·BLOCK-Region ausgewählt.
  • Selbst nachdem die Sicherungseinrichtung getrennt ist, wird außerdem ein spezieller Befehl eingegeben, um CMD ROMBA und AROWi, ..., AROWj in der ROM·BLOCK-Region auf "H" zu setzen, und es ist dann möglich, die Daten in der ROM·BLOCK-Region umzuschreiben. In diesem Fall ist ein Befehl zum Setzen von CMD ROMBA auf "H" für übliche Benutzer nicht offen, und es wird verhindert, dass die Daten in der ROM·BLOCK-Region illegal umgeschrieben werden.
  • Es ist zu vermerken, dass die Trennung der Sicherung der ROM·BLOCK-Region in dem vorliegenden Beispiel beschrieben wurde. Die Sicherung von 13 und die Sicherung in der unterbrochenen Linie X von 15 sind getrennt, wenn der Speicherzellenblock ein defekter Block ist. In diesem Fall wird der defekte Block durch einen Ersatzblock durch die Redundanzschaltung ersetzt.
  • 3. Beschreibung der Basisoperation
  • Hierin nachstehend wird eine Operation eines Hauptteils, besonders die Datenschaltung (10) des Vier-Ebenen-NAND-Zellentyp-Flash-Speichers (1) in den jeweiligen Operationsmodi, wie etwa den Lese- und Programmmodi, detailliert beschrieben.
  • Vor der Beschreibung der Operation wird zuerst kurz ein Beispiel eines Schwellenspannungs- und Programmierungs-/Leseverfahrens der Speicherzelle beschrieben.
  • (1) Schwellenspannungs- und Programmierungs-/Leseverfahren der Speicherzelle
  • 17 zeigt eine Verteilung der Schwellenspannung (Vth) der Speicherzelle des Vier-Ebenen-NAND-Zellentyp-Flash-Speichers.
  • In einer Speicherzelle werden Zweibitdaten (Vierebenendaten) gespeichert. In dem vorliegenden Beispiel sind, wie oben beschrieben, die Zweibitdaten "11", "10", "00", "01". Ein Bit der Zweibitdaten ist als logische niederwertige Seitendaten (gezeigt durch 0) gespeichert, und das andere Bit wird als logische höherwertige Seitendaten (gezeigt durch 0) in der gleichen Speicherzelle gespeichert.
  • Die Zweibitdaten ("11", "10", "00", "01") und die Schwellenspannung der Speicherzelle haben eine Beziehung, die in 17 gezeigt wird.
  • "11" zeigt einen Löschzustand an. In dem Löschzustand sind die Werte der logischen niederwertigen und höherwertigen Seitendaten beide "1". Die Speicherzelle in dem Löschzustand hat eine negative Schwellenspannung Vth.
  • "10", "00", "01" zeigen einen Schreibzustand an. Die Speicherzelle in dem Schreibzustand hat eine positive Schwellen spannung Vth. In dem Schreibzustand hat jedoch Zustand "10" eine geringste Schwellenspannung, Zustand "01" hat eine höchste Schwellenspannung und Zustand "00" hat eine Schwellenspannung zwischen jenen der Zustände "10" und "01".
  • Wie oben beschrieben, enthalten die Zweibitdaten die logischen niederwertigen und höherwertigen Seitendaten, und werden in der Speicherzelle durch zwei Schreiboperationen geschrieben.
  • Zuerst wird die Programmierung der logischen niederwertigen Seitendaten durchgeführt.
  • Es wird zuerst angenommen, dass alle Speicherzellen in dem Löschzustand sind, d.h. dem Zustand "11". Danach wird, wie in 18 gezeigt, wenn die logischen niederwertigen Seitendaten programmiert werden, die Verteilung der Schwellenspannung Vth der Speicherzelle in Übereinstimmung mit dem Wert ("1", "0") der Schreibdaten (logische niederwertige Seitendaten) in zwei geteilt.
  • D.h. wenn die logischen niederwertigen Seitendaten "1" sind, wird die Bitleitung auf "H" gesetzt (die Wortleitung hat ein Schreibpotenzial), dadurch wird verhindert, dass ein hohes elektrisches Feld an den Tunneloxidfilm der Speicherzelle angelegt wird, und es wird verhindert, dass die Schwellenspannung Vth ansteigt. Als ein Ergebnis behält die Speicherzelle den Löschzustand bei (Zustand "11") (Programmierung der logischen niederwertigen Seitendaten "11").
  • Wenn andererseits die logischen niederwertigen Seitendaten "0" sind, wird die Bitleitung auf "L" gesetzt (die Wortleitung hat das Schreibpotenzial), dadurch wird das hohe elektrische Feld an den Tunneloxidfilm der Speicherzelle angelegt, ein Elektron wird in die schwebende Gatterelektrode inji ziert, und die Schwellenspannung Vth der Speicherzelle wird um einen vorbestimmten Betrag angehoben. Als ein Ergebnis wechselt die Speicherzelle zu dem Schreibzustand (Zustand "10") (Programmierung der logischen niederwertigen Seitendaten "0").
  • Danach werden die logischen höherwertigen Seitendaten programmiert.
  • Die logischen höherwertigen Seitendaten werden programmiert basierend auf den Schreibdaten, die von der Außenseite des Chips eingegeben werden (d.h. die logischen höherwertigen Seitendaten), und den logischen niederwertigen Seitendaten, die bereits in der Speicherzelle programmiert sind.
  • Es ist zu vermerken, dass die logischen niederwertigen Seitendaten in die Datenschaltung von der Speicherzelle vor der Programmierung der logischen höherwertigen Seitendaten gelesen und gehalten werden (internes Datenladen).
  • Wie in 19 gezeigt wird, wenn die logischen höherwertigen Seitendaten "1" sind, wird die Bitleitung auf "H" gesetzt (die Wortleitung hat das Schreibpotenzial), dadurch wird verhindert, dass das hohe elektrische Feld an den Tunneloxidfilm der Speicherzelle angelegt wird, und es wird verhindert, dass die Schwellenspannung Vth ansteigt. Als ein Ergebnis unterhält die Speicherzelle in dem Zustand "11" (Löschzustand), in dem die logischen niederwertigen Seitendaten "1" sind, den Zustand "11" als solches (Programmierung der logischen höherwertigen Seitendaten "1"). Außerdem unterhält die Speicherzelle in dem Zustand "10", in dem die logischen niederwertigen Seitendaten "0" sind, den Zustand "10" als solches (Programmierung der logischen höherwertigen Seitendaten "1").
  • Wenn andererseits, wie in 19 gezeigt, die logischen höherwertigen Seitendaten "0" sind, wird die Bitleitung auf "L" gesetzt, dadurch wird das hohe elektrische Feld an den Tunneloxidfilm der Speicherzelle angelegt, das Elektron wird in die schwebende Gatterelektrode injiziert und die Schwellenspannung Vth der Speicherzelle wird um den vorbestimmten Betrag angehoben. Als ein Ergebnis wechselt die Speicherzelle in dem Zustand "11" (Löschzustand), in dem die logischen niederwertigen Seitendaten "1" sind, zu dem Zustand "01" (Programmierung der logischen höherwertigen Seitendaten "0"). Außerdem wechselt die Speicherzelle in dem Zustand "10", in dem die logischen niederwertigen Seitendaten "0" sind, zu dem Zustand "00" (Programmierung der logischen höherwertigen Seitendaten "0").
  • D.h. wenn in dem vorliegenden Beispiel die logischen niederwertigen Seitendaten "1" sind, und die logischen höherwertigen Seitendaten "1" sind, werden die Daten "11" in der Speicherzelle geschrieben. Wenn die logischen niederwertigen Seitendaten "0" sind, und die logischen höherwertigen Seitendaten "1" sind, werden die Daten "10" in der Speicherzelle geschrieben. Wenn außerdem die logischen niederwertigen Seitendaten "1" sind, und die logischen höherwertigen Seitendaten "0" sind, werden die Daten "01" in der Speicherzelle geschrieben. Wenn die logischen niederwertigen Seitendaten "0" sind, und die logischen höherwertigen Seitendaten "0" sind, werden die Daten "00" in der Speicherzelle geschrieben.
  • Die Verteilung der Schwellenspannung Vth der Speicherzelle wird durch zwei Programmierungsoperationen in vier geteilt ("11", "10", "00", "01").
  • Wenn in dem vorliegenden Beispiel die logischen höherwertigen Seitendaten "0" sind, wechselt die Speicherzelle in dem Zu stand "11" zu dem Zustand "01", und die Speicherzelle in dem Zustand "10" wechselt zu dem Zustand "00" (siehe 19).
  • Wie aus 19 offensichtlich ist, ist ein Schwankungsbetrag der Schwellenspannung in einem Fall, in dem der Zustand "11" zu dem Zustand "01" wechselt, größer als der Schwankungsbetrag der Schwellenspannung in einem Fall, wo der Zustand "10" zu dem Zustand "00" wechselt. D.h. ein Schreibimpuls wird unter der gleichen Bedingung jeweils an die Speicherzellen angelegt, die die "00"-Programmierung und die "01"-Programmierung durchführen. Deshalb endet die "00"-Programmierung früher als die "01"-Programmierung.
  • In diesem Fall wird "00"-Verifizierungslesen nach der "00"-Programmierung weggelassen. Danach kann nur ein "01"-Verifizierungslesen durchgeführt werden, um so eine Programmzeit zu reduzieren.
  • Es ist zu vermerken, dass in 17 Vcgv10 ein Lesepotenzial zur Verwendung beim "10"-Verifizierungslesen ist, und zeigt Z.B. 0,4V an. Vcgv00 ist ein Lesepotenzial (z.B. 1,4V) zur Verwendung beim "00"-Verifizierungslesen, und Vcgv01 ist ein Lesepotenzial (z.B. 2,4V) zur Verwendung beim "01"-Verifizierungslesen. Vread ist ein Transferpotenzial, das der nicht-ausgewählten Wortleitung zugeführt wird.
  • Wenn die Schwellenspannung der Speicherzelle kleiner als Vcgr10 ist, sind die Daten der Speicherzelle "11", und die Schwellenspannung der Speicherzelle überschreitet Vcgr10. Wenn die Spannung kleiner als Vcgr00 ist, sind die Daten der Speicherzelle "10". Wenn die Schwellenspannung der Speicherzelle Vcgr00 überschreitet und unter Vcgr01 ist, sind die Daten der Speicherzelle "00". Wenn die Schwellenspannung der Speicherzelle Vcgr01 überschreitet, sind die Daten der Speicherzelle "01".
  • Das gewöhnliche Lesen der logischen niederwertigen Seitendaten kann durch zwei Leseoperationen realisiert werden ("READ01", "READ10"). READ01 (LESEN01) bezeichnet die Leseoperation, die Vcgr01 (z.B. 2V) als ein Lesepotenzial verwendet, und READ10 bezeichnet die Leseoperation, die Vcgr10 (z.B. 0V) als das Lesepotenzial verwendet. Außerdem kann das Lesen der logischen höherwertigen Seitendaten durch eine Leseoperation realisiert werden (READ "00"). READ00 zeigt die Leseoperation an, die Vcgr00 (z.B. 1V) als das Lesepotenzial verwendet.
  • Zweibitdaten können auf diese Art und Weise durch insgesamt drei Leseoperationen in dem vorliegenden Beispiel gelesen werden, sodass die Lesezeit reduziert wird oder eine Leseoperation hoher Geschwindigkeit erreicht werden kann.
  • (2) Leseoperation
  • Zuerst wird eine Leseoperation beschrieben.
  • 1.) Algorithmus
  • 20 zeigt einen Algorithmus der Leseoperation.
  • Zuerst bestätigt eine Befehlsschnittstellenschaltung einen Lesebefehl, der von einem Host-Mikrocomputer bereitgestellt wird, und der empfangene Lesebefehl wird in einer Zustandsmaschine (Steuerschaltung) gesetzt (Schritt S1).
  • Wenn ein Adresssignal in einen Speicherchip von dem Host-Mikrocomputer zugeführt wird, wird außerdem eine Adresse zum Auswählen einer Leseseite in der Zustandsmaschine als Reaktion auf das Adresssignal gesetzt (Schritt S2).
  • Wenn der Lesebefehl und das Adresssignal in der Zustandsmaschine gesetzt sind, wird eine Operation von Schritten S3 bis S6 unter der Steuerung der Zustandsmaschine automatisch ausgeführt.
  • Wenn die logischen niederwertigen Seitendaten gelesen werden, werden zwei Leseoperationen ("READ01", "READ10") wie oben beschrieben ausgeführt (Schritte S3 bis S5). Wie später detailliert beschrieben wird, werden Lesedaten, die durch READ01 (Vcgr01 = 2V) gelesen werden, in der Datenspeichereinheit DS3 über die Datenspeichereinheit DS1 gespeichert. In READ10 (Vcgr10 = 0V) werden Daten abhängig von den Lesedaten und den Daten der Datenspeichereinheit DS3 zu der Datenspeichereinheit DS4 von der Datenspeichereinheit DS1 transferiert.
  • Wenn die logischen höherwertigen Seitendaten gelesen werden, wird eine Leseoperation (READ "00") ausgeführt (Schritte S3, S6). Wie später detailliert beschrieben wird, werden die Lesedaten, die durch READ00 gelesen werden (Vcgr00 = 1V) zu der Datenspeichereinheit DS4 über die Datenspeichereinheit DS1 transferiert.
  • Die Lesedaten, die in der Datenspeichereinheit DS4 gespeichert sind, werden zu der Außenseite des Speicherchips über die E/A-Leitungen IO, nIO, den Leseverstärker und Dateneingabe-/Ausgabepuffer ausgegeben.
  • 2). Operationsbeschreibung durch Operationswellenform
  • Mit Bezug auf eine Operationszeitsteuerungsdiagramm von 21 wird eine Operation hierin nachstehend konkret beschrieben.
  • Die Leseoperation enthält Leseoperationen der logischen niederwertigen und höherwertigen Seitendaten.
  • Es ist zu vermerken, dass da in dem Operationszeitsteuerungsdiagramm von 21 nicht besonders gezeigt, der "L"-Pegel Vss bezeichnet (z.B. 0V), und der "H"-Pegel Vdd bezeichnet (z.B. 3V). Außerdem wird in dem Operationszeitsteuerungsdiagramm ein Block BLOCKi ausgewählt, und es werden eine Wortleitung WL2-i und eine ungeradzahlige Bitleitung BLek in dem Block BLOCKi ausgewählt (siehe 3).
  • [1] Leseoperation der logischen niederwertigen Seitendaten
  • Die Leseoperation der logischen niederwertigen Seitendaten enthält zwei Leseoperationen, d.h. "READ01" und "READ10". Zuerst wird "READ01" durchgeführt, und dann wird "READ10" durchgeführt.
  • Jede von "READ01" und "READ10" wird aus einem Teil (RCLK 1-E, SCLK 1-E, RRCV 1-E) betreffend Daten, die gemeinsam zu diesen zwei Leseoperationen gelesen werden, und einem Teil (Routine EXCLK) betreffend Datentransfer, der jeder Leseoperation eigen ist, gebildet.
  • [1]-1 "READ01"
  • Eine Operation "READ01" umfasst: Setzen eines Lesepotenzials (Potenzial der ausgewählten Wortleitung WL2-i) auf Vcrg01 (z.B. 2V); und Prüfen, ob die Daten der Speicherzelle "01", oder andere Daten "11", "10", "00" sind.
  • [1]-1-1 Datenlesen
  • Zuerst wird ein Transferpotenzial Vread (z.B. 4,5V) an eine Auswahlgatterleitung SGD auf einer Bitleitungsseite und nicht-ausgewählte Wortleitungen WL0-i, WL1-i, WL3-i angelegt, und ein Lesepotenzial Vcgr01 wird an die ausgewählte Wortleitung WL2-i (RCLK 1-2) angelegt.
  • Ein Steuersignal BLPRE schaltet auf "H", und der N-Kanal-MOS-Transistor Qn6 (10) wird eingeschaltet. Wenn das Steuersignal BLCLAMP Vclamp anzeigt (z.B. 2V), und das Steuersignal BLSe Vsghh anzeigt (z.B. 4,5V), wird die ungeradzahlige Bitleitung BLek auf ein vorbestimmtes Potenzial vorgeladen (z.B. ungefähr 1V). Da andererseits ein Steuersignal BIASo Vsghh anzeigt (z.B. 4,5V), wird die geradzahlige Bitleitung BLok auf Vss fixiert (z.B. 0V), und funktioniert als eine Abschirmungsbitleitung (RCLK 2-4).
  • Danach zeigt das Steuersignal BLCLAMP Vss an (z.B. 0V), das Steuersignal BLPRE zeigt "L" an und die ungeradzahlige Bitleitung BLek wird in den schwebenden Zustand gebracht (RCLK 5-7).
  • Wenn das Potenzial der Auswahlgatterleitung SGS auf einer Source-Leitungsseite auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial der Bitleitung BLek durch den Zustand der ausgewählten Speicherzelle beeinflusst, d.h. den Wert der Daten, die in der Speicherzelle gespeichert sind.
  • D.h. wenn die Daten der ausgewählten Speicherzelle "11", "10", "00" sind, wird die ausgewählte Speicherzelle durch das Lesepotenzial Vcgr01 eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek entladen, und das Potenzial der Bitleitung BLek fällt auf 0,8V oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block wird durch Vread eingeschaltet).
  • Wenn andererseits die Daten der ausgewählten Speicherzelle "01" sind, wird die ausgewählte Speicherzelle durch das Lesepotenzial Vcgr01 nicht eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek nicht entladen, und die Bitleitung BLek unterhält ein Vorladungspotenzial (ungefähr 1V) (RCLK 6-E).
  • Wenn das Steuersignal BLPRE ungefähr 4,5V anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V), wird ein Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der Knoten N2, auf Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense anzeigt (z.B. 1,8V), ändert sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wie folgt.
  • D.h. wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial bleibt (ungefähr 1V) (wenn die Daten der Speicherzelle "01" sind), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd ("H") gehalten.
  • Wenn andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger ist (wenn die Daten der Speicherzelle "11", "10", "00" sind), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung BLek entladen und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK 4-5).
  • Als ein Ergebnis werden die Lesedaten durch das Lesepotenzial Vcgr01 in der Datenspeichereinheit DS1 gespeichert (ein Ende des Kondensators C1). D.h. wenn die Daten der Speicherzelle "11", "10", "00" sind, wird "L", d.h. "0"-Daten gespeichert. Wenn die Daten der Speicherzelle "01" sind, wird "H", d.h. "1"-Daten gespeichert.
  • [1]-1-2 Datentransfer
  • Nachdem die Daten der Speicherzelle in der Datenspeichereinheit DS1 in der Operation "READ01" ausgelesen sind, wird Datentransfer ausgeführt, um die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind, zu der Datenspeichereinheit DS3 zu transferieren. Die Operation folgt einer Routine EXCLK, die in 22 gezeigt wird.
  • Wenn beide Steuersignale SEN1, LAT2 zu "L" schalten (EXCLK 6), und ein Steuersignal EQ1 zu "H" schaltet (EXCLK 7-8), wird zuerst der Zustand einer Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS3 bildet, zurückgesetzt.
  • Danach zeigt das Steuersignal BLC1 4,5V an (EXCLK 9), und der N-Kanal-MOS-Transistor Qn10 schaltet ein. Als ein Ergebnis sind die Datenspeichereinheiten DS1 und DS3 miteinander elektrisch verbunden (10).
  • Wenn das Taktsignal SEN1 zu "H" schaltet (EXCLK 10), werden die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer CI1, der die Datenspeichereinheit DS3 bildet, über den MOS-Transistor Qn10 abgetastet. Wenn das Steuersignal LATZ zu "H" schaltet (EXCLK 11), werden die Lesedaten in der Datenspeichereinheit DS3 gespeichert (10).
  • Es ist zu vermerken, dass die Operation "READ01" gleichzeitig mit Bezug auf 4256 Speicherzellen durchgeführt wird, die mit der ausgewählten Wortleitung WL2-i verbunden sind.
  • [1]-2 "READ10"
  • Eine Operation "READ10" umfasst: Setzen des Lesepotenzials (Potenzial der ausgewählten Wortleitung WL2-i) auf Vcgr01 (z.B. 0V); und Prüfen, ob die Daten der Speicherzelle "11", oder andere Daten "10", "00", "01" sind.
  • [1]-2-1 Datenlesen
  • Zuerst wird ein Transferpotenzial Vread (z.B. 4,5V) an eine Auswahlgatterleitung SGD auf der Bitleitungsseite und nicht-ausgewählte Wortleitungen WL0-i, WL1-i, WL3-i angelegt, und das Lesepotenzial Vcgr10 wird an die ausgewählte Wortleitung WL2-i (RCLK 1-2) angelegt.
  • Das Steuersignal BLPRE schaltet auf "H", und der N-Kanal-MOS-Transistor Qn6 (10) wird eingeschaltet. Wenn das Steuersignal BLCLAMP Vclamp anzeigt (z.B. 2V), und das Steuersignal BLSe Vsghh anzeigt (z.B. 4,5V), wird die ungeradzahlige Bitleitung BLek auf das vorbestimmte Potenzial vorgeladen (z.B. ungefähr 1V). Da andererseits das Steuersignal BIASo Vsghh anzeigt (z.B. 4,5V), wird die geradzahlige Bitleitung BLok auf Vss fixiert (z.B. 0V), und funktioniert als eine Abschirmungsbitleitung (RCLK 2-4).
  • Danach zeigt das Steuersignal BLCLAMP Vss an (z.B. 0V), das Steuersignal BLPRE zeigt "L" an und die ungeradzahlige Bitleitung BLek wird in den schwebenden Zustand gebracht (RCLK 5-7).
  • Wenn das Potenzial der Auswahlgatterleitung SGS auf der Source-Leitungsseite auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial der Bitleitung BLek durch den Zustand der ausgewählten Speicherzelle beeinflusst, d.h. den Wert der Daten, die in der Speicherzelle gespeichert sind.
  • D.h. wenn die Daten der ausgewählten Speicherzelle "11" sind, wird die ausgewählte Speicherzelle durch das Lesepotenzial Vcgr01 eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek entladen, und das Potenzial der Bitleitung BLek fällt auf 0,8V oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block wird durch Vread eingeschaltet).
  • Wenn andererseits die Daten der ausgewählten Speicherzelle "10", "00", "01" sind, wird die ausgewählte Speicherzelle durch das Lesepotenzial Vcgr10 nicht eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek nicht entladen, und die Bitleitung BLek unterhält ein Vorladungspotenzial (ungefähr 1V) (RCLK 6-E).
  • Wenn das Steuersignal BLPRE ungefähr 4,5V anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V), wird ein Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der Knoten N2, auf Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense anzeigt (z.B. 1,8V), ändert sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wie folgt.
  • D.h. wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial bleibt (ungefähr 1V) (wenn die Daten der Speicherzelle "10", "00", "01" sind), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd ("H") gehalten.
  • Wenn andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger ist (wenn die Daten der Speicherzelle "11" sind), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung BLek entladen und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK 4-5).
  • Als ein Ergebnis werden die Lesedaten durch das Lesepotenzial Vcgr10 in der Datenspeichereinheit DS1 gespeichert (ein Ende des Kondensators C1). D.h. wenn die Daten der Speicherzelle "11" sind, wird "L", d.h. "0"-Daten gespeichert. Wenn die Daten der Speicherzelle "10", "00", "01" sind, wird "H", d.h. "1"-Daten gespeichert.
  • [1]-2-2 Datentransfer
  • Nachdem die Daten der Speicherzelle in der Datenspeichereinheit DS1 in der Operation "READ10" ausgelesen sind, wird eine Operation zum Unterhalten oder zwangsweisen Ändern der Daten der Datenspeichereinheit DS1 basierend auf den Daten der Datenspeichereinheit DS3, d.h. dem Wert der Lesedaten, die aus der Speicherzelle durch "READ01" ausgelesen werden, durchgeführt. Anschließend wird der Datentransfer ausgeführt, um die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind, zu der Datenspeichereinheit DS4 zu transferieren. Die Operation folgt der Routine EXCLK, die in 23 gezeigt wird.
  • Zuerst zeigt das Steuersignal DTG 4,5V an, der N-Kanal-MOS-Transistor Qn9 (10) schaltet ein. Als ein Ergebnis sind die Datenspeichereinheiten DS2 und DS3 miteinander elektrisch verbunden, und die Daten der Datenspeichereinheit DS3 werden zu der Datenspeichereinheit DS2, d.h. dem Gate des N-Kanal-MOS-Transistors Qn8 transferiert (EXCLK 2-4).
  • Wenn das Steuersignal REG zu "H" schaltet, werden danach die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind, d.h. die Lesedaten, die aus der Speicherzelle durch "READ10" gelesen werden, in Übereinstimmung mit dem Wert der Daten, die in der Datenspeichereinheit DS3 gespeichert sind, unterhalten oder zwangsweise geändert (EXCLK 3-4).
  • Wenn z.B. die Daten, die in der Datenspeichereinheit DS3 gespeichert sind, "0" sind, schaltet der Potenzialpegel des Gate des N-Kanal-MOS-Transistors Qn8 auf "L", und der N-Kanal-MOS-Transistor Qn8 wird deshalb ausgeschaltet (10). Deshalb unterhält die Datenspeichereinheit DS1 als solche den Wert der Lesedaten, die aus der Speicherzelle durch "READ10" gelesen werden.
  • Wenn die Daten, die in der Datenspeichereinheit DS3 gespeichert sind, "1" sind, schaltet außerdem der Potenzialpegel des Gate des N-Kanal-MOS-Transistors Qn8 auf "H", und der N-Kanal-MOS-Transistor Qn8 wird deshalb eingeschaltet ( 10). Deshalb werden die Daten der Datenspeichereinheit DS1 ungeachtet des Wertes der Lesedaten, die aus der Speicherzelle durch "READ10" gelesen werden, zwangsweise auf "0" gesetzt.
  • Wenn beide Steuersignale SEN2, LAT2 auf "L" schalten (EXCLK 6), und ein Steuersignal EQ2 auf "H" schaltet (EXCLK 7-8), wird danach der Zustand einer Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS4 bildet, zurückgesetzt.
  • Danach zeigt das Steuersignal BLC2 4,5V an (EXCLK 9), und der N-Kanal-MOS-Transistor Qn12 schaltet ein. Als ein Ergebnis sind die Datenspeichereinheiten DS1 und DS4 miteinander elektrisch verbunden (10).
  • Wenn das Taktsignal SEN2 auf "H" schaltet (EXCLK 10), werden die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer CI4, der die Datenspeichereinheit DS4 bildet, über den MOS-Transistor Qn12 abgetastet. Wenn das Steuersignal LAT2 auf "H" schaltet (EXCLK 11), werden außerdem die Lesedaten in der Datenspeichereinheit DS4 gespeichert (10).
  • Es ist zu vermerken, dass die Operation "READ10" gleichzeitig mit Bezug auf 4256 Speicherzellen durchgeführt wird, die mit der ausgewählten Wortleitung WL2-i verbunden sind.
  • [1]-3 Schlussfolgerung
  • 25 zeigt kurz einen Fluss von Lesedaten in der Leseoperation der logischen niederwertigen Seitendaten.
  • In "READ01" wird Vcgr01 (z.B. 2V) als das Lesepotenzial verwendet, um die Leseoperation auszuführen, und die Lesedaten in diesem Zeitpunkt werden in der Datenspeichereinheit DS1 gespeichert. D.h. wenn die Daten der ausgewählten Speicherzelle "11", "10", "00" sind, schaltet das Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf "L". Wenn die Daten der ausgewählten Speicherzelle "01" sind, schaltet das Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf "H" (Pfeil (1)).
  • Danach werden die Daten der Datenspeichereinheit Ds1 zu der Datenspeichereinheit DS3 transferiert und gespeichert (Pfeil (1))
  • Wenn "READ01" endet, und die Daten der Datenspeichereinheit DS3 "H" sind, sind die Daten der Speicherzelle "01". D.h. es wird herausgefunden, dass die logischen niederwertigen Seitendaten "1" sind. Wenn jedoch die Daten der Datenspeichereinheit DS3 "L" sind, sind die Daten der Speicherzelle beliebiges von "11", "10", "00", und der Wert der logischen niederwertigen Seitendaten kann nicht spezifiziert werden.
  • Um das Problem zu lösen, wird folgend "READ01" das "READ10" durchgeführt.
  • In "READ10" wird Vcgr10 (z.B. 0V) als das Lesepotenzial verwendet, um die Leseoperation auszuführen, und die Lesedaten in diesem Zeitpunkt werden in der Datenspeichereinheit DS1 gespeichert. D.h. wenn die Daten der ausgewählten Speicherzelle "11" sind, schaltet das Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf "L". Wenn die Daten der ausgewählten Speicherzelle "10", "00", "01" sind, schaltet das Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf Wenn die Daten der Datenspeichereinheit DS3 "H" sind, d.h. wenn die Daten der Speicherzelle "01" sind, wird außerdem der N-Kanal-MOS-Transistor Qn8 eingeschaltet, und das Potenzial von einem Ende (Knoten N2) des Kondensators C1 wird zwangsweise zu "L" geändert (Pfeil (2)).
  • Wenn die Daten der ausgewählten Speicherzelle "11", "01" sind, schalten als ein Ergebnis die Daten der Datenspeichereinheit DS1 auf "L", und deshalb wird "1" als die logischen niederwertigen Seitendaten der ausgewählten Speicherzelle bestätigt. Wenn die Daten der ausgewählten Speicherzelle "10", "00" sind, schalten außerdem die Daten der Datenspeichereinheit DS1 auf "H", und deshalb wird "0" als die logischen niederwertigen Seitendaten der ausgewählten Speicherzelle bestätigt (Pfeil (2)).
  • Es ist zu vermerken, dass zu diesem Zeitpunkt eine Beziehung von "L" = "0" und "H" = "1" umgekehrt wird. D.h. es wird eine Beziehung von "L" = "1" und "H" = "0" erhalten.
  • Danach werden die Daten der Datenspeichereinheit DS1 zu der Datenspeichereinheit DS4 transferiert und gespeichert. Wenn ein Spaltenauswahlsignal CSLk (10) auf "H" schaltet, werden die Daten der Datenspeichereinheit DS4 zu den E/A-Lei tungen (IO, nIO) ausgegeben, und zu der Außenseite des Speicherchips über den Dateneingabe-/Ausgabepuffer ausgegeben.
  • [2] Leseoperation von logischen höherwertigen Seitendaten Die Leseoperation der logischen höherwertigen Seitendaten enthält eine Leseoperation, d.h. "READ00". Die "READ00" wird aus dem Teil (RCLK 1-E, SCLK 1-E, RRCV 1-E) betreffend das Datenlesen, und dem Teil (Routine EXCLK) betreffend den Datentransfer gebildet.
  • [2]-1 "READ00"
  • Eine Operation "READ00" umfasst: Setzen des Lesepotenzials (Potenzial der ausgewählten Wortleitung WL2-i) auf Vcrg00 (z.B. 1V); und Prüfen, ob die Daten der Speicherzelle "11", "10" (logische höherwertige Seitendaten sind "1"), oder "00", "0l" (logischen höherwertige Seitendate sind "0") sind.
  • [2]-1-1 Datenlesen
  • Zuerst wird das Transferpotenzial Vread (z.B. 4,5V) an die Auswahlgatterleitung SGD auf der Bitleitungsseite und nicht-ausgewählten Wortleitungen WL0-i, WL1-i, WL3-i angelegt, und das Lesepotenzial Vcgr00 wird an die ausgewählte Wortleitung WL2-i (RCLK 1-2) angelegt.
  • Das Steuersignal BLPRE schaltet auf "H", und der N-Kanal-MOS-Transistor Qn6 (10) wird eingeschaltet. Wenn das Steuersignal BLCLAMP Vclamp anzeigt (z.B. 2V), und das Steuersignal BLSe Vsghh anzeigt (z.B. 4,5V), wird die ungeradzahlige Bitleitung BLek auf das vorbestimmte Potenzial vorgeladen (z.B. ungefähr 1V). Da andererseits das Steuersignal BIASo Vsghh anzeigt (z.B. 4,5V), wird die geradzahlige Bitleitung BLok auf Vss fixiert (z.B. 0V), und funktioniert als die Abschirmungsbitleitung (RCLK 2-4).
  • Danach zeigt das Steuersignal BLCLAMP Vss an (z.B. 0V), das Steuersignal BLPRE zeigt "L" an und die ungeradzahlige Bitleitung BLek wird in den schwebenden Zustand gebracht (RCLK 5-7).
  • Wenn das Potenzial der Auswahlgatterleitung SGS auf der Source-Leitungsseite auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial der Bitleitung BLek durch den Zustand der ausgewählten Speicherzelle beeinflusst, d.h. den Wert der Daten, die in der Speicherzelle gespeichert sind.
  • D.h. wenn die Daten der ausgewählten Speicherzelle "11", "10" sind, wird die ausgewählte Speicherzelle durch das Lesepotenzial Vcgr00 eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek entladen, und das Potenzial der Bitleitung BLek fällt auf 0,8V oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block wird durch Vread eingeschaltet).
  • Wenn andererseits die Daten der ausgewählten Speicherzelle "00", "01" sind, wird die ausgewählte Speicherzelle durch das Lesepotenzial Vcgr00 nicht eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek nicht entladen, und die Bitleitung BLek behält ein Vorladungspotenzial bei (ungefähr 1V) (RCLK 6-E).
  • Wenn das Steuersignal BLPRE ungefähr 4,5V anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V), wird ein Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der Knoten N2, auf Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense anzeigt (z.B. 1,8V), ändert sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wie folgt.
  • D.h. wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial bleibt (ungefähr 1V) (wenn die Daten der Speicherzelle "00", "01" sind), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd ("H") gehalten.
  • Wenn andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger ist (wenn die Daten der Speicherzelle "11", "10" sind), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung BLek entladen und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK 4-5).
  • Als ein Ergebnis werden die Lesedaten durch das Lesepotenzial Vcgr00 in der Datenspeichereinheit DS1 gespeichert (ein Ende des Kondensators C1). D.h. wenn die Daten der Speicherzelle "11", "10" sind, wird "L", d.h. "1"-Daten gespeichert. Wenn die Daten der Speicherzelle "00", "01" sind, wird "H", d.h. "0"-Daten gespeichert.
  • Es ist zu vermerken, dass in diesem Zeitpunkt die Beziehung von "L" = "0" und "H" = "1" umgekehrt wird. D.h. es wird die Beziehung von "L" = "1" und "H" = "0" erhalten.
  • [2]-1-2 Datentransfer
  • In der Operation "READ00" wird, nachdem die Daten der Speicherzelle in die Datenspeichereinheit DS1 ausgelesen sind, der Datentransfer ausgeführt, um die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind, zu der Datenspei chereinheit DS4 zu transferieren. Diese Operation folgt der in 24 gezeigten Routine EXCLK.
  • Zuerst schalten beide Steuersignale SEN2, LAT2 zu "L" (EXCLK 6), und das Steuersignal EQ2 schaltet zu "H" (EXCLK 7-8), sodass der Zustand der Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS3 bildet, zurückgesetzt wird.
  • Danach zeigt das Steuersignal BLC2 4,5V an (EXCLK 9), und der N-Kanal-MOS-Transistor Qn12 schaltet ein. Als ein Ergebnis sind die Datenspeichereinheiten DS1 und DS4 miteinander elektrisch verbunden (10).
  • Wenn das Taktsignal SEN2 zu "H" schaltet (EXCLK 10), werden die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer CI4, der die Datenspeichereinheit DS4 bildet, über den MOS-Transistor Qn12 abgetastet. Wenn das Steuersignal LAT2 zu "H" schaltet (EXCLK 11), werden außerdem die Lesedaten in der Datenspeichereinheit DS4 gespeichert (10).
  • Es ist zu vermerken, dass die Operation "READ00" gleichzeitig mit Bezug auf 4256 Speicherzellen durchgeführt wird, die mit der ausgewählten Wortleitung WL2-i verbunden sind.
  • [2]-3 Schlussfolgerung
  • 26 zeigt kurz einen Fluss von Lesedaten in der Leseoperation der logischen höherwertigen Seitendaten.
  • In "READ00" wird Vcgr00 (z.B. 1V) als das Lesepotenzial verwendet, um die Leseoperation auszuführen, und die Lesedaten in diesem Zeitpunkt werden in der Datenspeichereinheit DS1 gespeichert. D.h. wenn die Daten der ausgewählten Speicher zelle "11", "10" sind (wenn die logischen höherwertigen Daten "1" sind), schaltet das Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf "L". Wenn die Daten der ausgewählten Speicherzelle "00", "01" sind (wenn die logischen höherwertigen Daten "0" sind), schaltet das Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf "H".
  • Es ist zu vermerken, dass zu diesem Zeitpunkt die Beziehung von "L" = "0" und "H" = "1" umgekehrt wird. D.h. es wird die Beziehung von "L" = "1" und "H" = "0" erhalten.
  • Danach werden, wenn das Steuersignal BLC2 4,5V anzeigt, die Daten der Datenspeichereinheit DS1 zu der Datenspeichereinheit DS4 transferiert und gespeichert. Wenn das Spaltenauswahlsignal CSLk (10) auf "H" schaltet, werden die Daten der Datenspeichereinheit DS4 zu den E/A-Leitungen (IO, nIO) ausgegeben, und zu der Außenseite des Speicherchips über den Dateneingabe-/Ausgabepuffer ausgegeben.
  • [3] Programmoperation
  • Als Nächstes wird eine Programmoperation beschrieben.
  • 1). Algorithmus
  • [1] Programmoperation 1
  • 27 bis 29 zeigen ein Beispiel eines Algorithmus einer Programmoperation.
  • Dieses Beispiel bezieht sich auf den Algorithmus in einem Zeitpunkt, wenn ein Schreibprinzip, das Durchgangsschreiben genannt wird, verwendet wird. Das Durchgangsschreiben ist ein Verfahren (doppeltes Schreiben) zum erneuten Ausführen der Programmoperation mit Bezug auf die Speicherzelle, die Pro grammverifizieren durchlaufen hat, und Steuern der Schwellenspannung mit hoher Genauigkeit, d.h. Reduzieren der Breite der Schwellwertverteilung, und enthält erste und zweite Programme.
  • Es ist zu vermerken, dass das erste Programm als der 1. Durchlauf bezeichnet wird, und das zweite Programm als der 2. Durchlauf bezeichnet wird.
  • Zuerst empfängt die Befehlsschnittstellenschaltung einen Dateneingabebefehl, der von dem Host-Mikrocomputer bereitgestellt wird, und der empfangene Dateneingabebefehl wird in der Zustandsmaschine (Steuerschaltung) gesetzt (Schritt S1).
  • Wenn das Adresssignal in den Speicherchip von dem Host-Mikrocomputer zugeführt wird, wird außerdem die Adresse zum Auswählen der Seite als ein Objekt des Programms in der Zustandsmaschine als Reaktion auf das Signal gesetzt (Schritt S2).
  • Wenn die Programmdaten für eine Seite in den Speicherchip über den Dateneingabe-/Ausgabepuffer eingegeben sind, werden anschließend die Programmdaten für eine Seite in der Datenspeichereinheit DS4 gespeichert (Schritt S3). Es ist zu vermerken, dass die Datenspeichereinheiten DS4 für eine Seite existieren.
  • Wenn die Befehlsschnittstellenschaltung einen Schreibbefehl bestätigt, der von dem Host-Mikrocomputer bereitgestellt wird, wird danach der empfangene Schreibbefehl in der Zustandsmaschine gesetzt (Schritt S4). Unter der Steuerung durch die Zustandsmaschine wird als ein Ergebnis die Operation von Schritt S5 von 28 zu Schritt S28 von 29 automatisch ausgeführt.
  • [1]-1 1. Durchlauf
  • Zuerst wird das erste Programm (1. Durchlauf), das in 28 gezeigt wird, ausgeführt.
  • Die Programmdaten, die in der Datenspeichereinheit DS4 gespeichert sind, werden zu den Datenspeichereinheiten DS2, DS3 kopiert (Schritt S5).
  • Falls die Seite als das Objekt des Programms die logische höherwertige Seite ist, wird internes Datenladen vor einer Schreiboperation ausgeführt (Schritt S6). Das interne Datenladen ist eine Operation zum Auslesen der Daten, die in der logischen niederwertigen Seite der ausgewählten Speicherzelle gespeichert sind, die die logische höherwertige Seite als das Objekt des Programms enthält.
  • Als ein Grund, warum das interne Datenladen erforderlich ist, selbst wenn die Daten, die in der logischen höherwertigen Seite der ausgewählten Speicherzelle geschrieben sind, die gleichen sind, unterscheidet sich die Schwellenspannung als ein Ziel in der Schreiboperation in Übereinstimmung mit dem Wert der Daten, die in der logischen niederwertigen Seite der ausgewählten Speicherzelle gespeichert sind (siehe 19).
  • Die logischen niederwertigen Seitendaten, die durch das interne Datenladen ausgelesen werden, werden in der Datenspeichereinheit DS4 über die Datenspeichereinheit DS1 gespeichert.
  • Hier ist zu vermerken, dass mit den logischen niederwertigen Seitendaten von "1" die Lesedaten durch das interne Datenladen "0" (= "L") sind, und die "0"-Daten in der Datenspeichereinheit DS4 gespeichert werden (Knoten N4). Wenn die logischen niederwertigen Seitendaten "0" sind, sind außerdem die Lesedaten durch das interne Datenladen "1" (= "H"), und die "1"-Daten werden in der Datenspeichereinheit DS4 gespeichert (Knoten N4).
  • Diese Erscheinung hat jedoch kein Problem in der Operation, und ist zum Ausführen von "Verify00 (Verifizieren00) (2. Durchlauf)" in dem später beschriebenen 2. Durchlauf von Vorteil.
  • Danach wird mit dem Programm für die logische niederwertige Seite eine Schreibspannung Vpgm auf 12V gesetzt. Wenn das Programm für die logische höherwertige Seite, wird die Schreibspannung Vprm auf 13V gesetzt. Außerdem wird ein Wert PC eines Programmzählers in der Zustandsmaschine auf Null gesetzt (Schritt S7). Es ist zu vermerken, dass der Wert PC des Programmzählers die Zahl von Schreiboperationen darstellt.
  • Als Nächstes wird die Schreiboperation ausgeführt (Schritt 58).
  • Wenn die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert sind, z.B. "0" sind, wird die hohe Spannung an den Träger und die schwebende Gatterelektrode angelegt, das Elektron wird in die schwebende Gatterelektrode injiziert und die Schwellenspannung der Speicherzelle wird angehoben ("0"-Programmierung). Wenn die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert sind, z.B. "1" sind, wird verhindert, dass die hohe Spannung zwischen dem Träger und der schwebenden Gatterelektrode angelegt wird, es wird verhindert, dass das Elektron in die schwebende Gatterelektrode injiziert wird, und die Schwellenspannung der Speicherzelle wird nicht geändert ("i"-Programmierung).
  • Nachdem die Schreiboperation durchgeführt wird, wird "1" zu dem Wert PC des Programmzählers hinzugefügt (Schritt S8).
  • Danach wird beurteilt, ob das Programmverifizieren in einem Durchlaufzustand ist (ein Zustand, in dem das Programm abgeschlossen ist), oder in einem NG-Zustand (ein Zustand, in dem das Programm nicht abgeschlossen ist) (Schritt S9).
  • Hier werden unmittelbar nach der ersten Schreiboperation "Verify00 (1. Durchlauf)" und "Verify10 (1. Durchlauf)" nicht einmal durchgeführt, und deshalb speichert die Datenspeichereinheit DS3 die Programmdaten selbst.
  • Wenn die Datenspeichereinheiten DS3 in allen Spalten (z.B. 4256 Einheiten) "1"-Daten speichern, d.h. wenn alle Programmdaten mit Bezug auf die logische niederwertige oder höherwertige Seite "1" sind, ist der N-Kanal-MOS-Transistor Qn17 von 10 in dem Aus-Zustand in allen Spalten. Z.B. unterhält FLAG von 8 "H".
  • Deshalb wird beurteilt, dass das Programmverifizieren in einem Durchlaufzustand ist (ein Zustand, in dem das Programm abgeschlossen ist), und verlagert sich zu dem 2. Durchlauf (Schritt S15).
  • Wenn andererseits die Datenspeichereinheit DS3 in mindestens einer Spalte "0"-Daten speichert, d.h. wenn mindestens eine Programmdaten mit Bezug auf die logische niederwertige oder höherwertige Seite "0" sind, ist der N-Kanal-MOS-Transistor Qn17 (10) mit der Datenspeichereinheit DS3 zum Speichern der "0"-Daten in dem Ein-Zustand. Z.B. schaltet FLAG von 8 zu "L".
  • Deshalb wird beurteilt, dass das Programmverifizieren in dem NG-Zustand (Zustand, in dem das Programm nicht abgeschlossen ist) ist, und verlagert sich zu "Verify00 (1. Durchlauf)" oder "Verify10 (2. Durchlauf)".
  • Mit dem Programm für die logische niederwertige Seite wird "Verify10 (1. Durchlauf)" ausgeführt (Schritt S12).
  • Das "Verify10 (1. Durchlauf)" ist eine Operation, die umfasst: Verwenden des Lesepotenzials Vcgv10 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle als das Objekt des Programms auszuführen; und Bestimmen des Wertes der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind, basierend auf den Lesedaten, die durch die Leseoperation erhalten werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
  • Mit dem Programm für die logische niederwertige Seite sind zuerst alle ausgewählten Speicherzellen als die Objekte des Programms in einem Zustand "11". Deshalb schwankt für die Speicherzelle als das Objekt der "1"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "1"-Daten) die Schwellenspannung nicht. Deshalb sind die Lesedaten, die durch "Verify10 (1. Durchlauf)" gelesen werden, immer "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Wie später beschrieben, werden jedoch, wenn "1" in der Datenspeichereinheit DS2 gespeichert ist, die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten zwangsweise zu "1" geändert. D.h. die "1"-Daten werden von der Datenspeichereinheit DS1 erneut in die Datenspeichereinheit DS3 gespeichert.
  • Andererseits sind für die Speicherzelle als das Objekt der "0"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern von "0"-Daten), wenn die Schwellenspannung durch die Schreiboperation ausreichend ansteigt (das Programm ist abgeschlossen) (Schritt S8), die Lesedaten, die durch "Verify10 (1. Durchlauf)" gelesen werden, "1".
  • Deshalb wird "1" in der Datenspeichereinheit DS1 gespeichert. Diese "1"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
  • Außerdem sind für die Speicherzelle als das Objekt der "0"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern von "0"-Daten), wenn die Schwellenspannung durch die Schreiboperation nicht ausreichend ansteigt (das Programm ist nicht abgeschlossen) (Schritt S8), die Lesedaten, die durch "Verify10 (1. Durchlauf)" gelesen werden, "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Diese "0"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
  • Mit dem Programm für die logische höherwertige Seite wird "Verify00 (1. Durchlauf)" ausgeführt (Schritt S11).
  • Das "Verfiy00 (1. Durchlauf)" ist eine Operation, die umfasst: Verwenden des Lesepotenzials Vcgv00 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle als das Objekt des Programms auszuführen; und Bestimmen des Wertes der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind, basierend auf den Lesedaten, die durch die Leseoperation erhalten werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
  • Mit dem Programm für die logische höherwertige Seite ist die ausgewählte Speicherzelle als das Objekt des Programms in dem Zustand "11" oder "10". Deshalb schwankt für die Speicherzelle als das Objekt der "1"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "1"-Daten) die Schwellenspannung nicht. Deshalb sind die Lesedaten, die durch "Verify00 (1. Durchlauf)" gelesen werden, immer "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Wie später beschrieben, werden jedoch, wenn "1" in der Datenspeichereinheit DS2 gespeichert ist, die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten zwangsweise zu "1" geändert. D.h. die "1"-Daten werden von der Datenspeichereinheit DS1 erneut in die Datenspeichereinheit DS3 gespeichert.
  • Andererseits sind für die Speicherzelle als das Objekt der "0"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "0"-Daten), wenn die Schwellenspannung durch die Schreiboperation ausreichend ansteigt (das Programm ist abgeschlossen) (Schritt S8), die Lesedaten, die durch "Verify00 (1. Durchlauf)" gelesen werden, "1".
  • Deshalb wird "1" in der Datenspeichereinheit DS1 gespeichert. Diese "1"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
  • Es ist zu vermerken, dass alle Speicherzellen als die Objekte der "0"-Programmierung in dieser Stufe in dem Zustand "0" sind. Da jedoch "Verify00 (2. Durchlauf)" in dem 2. Durchlauf basierend auf den logischen niederwertigen Seitendaten (gespeichert in der Datenspeichereinheit DS4), die durch das interne Datenladen ausgelesen werden (Schritt S6), durchgeführt wird (unterteilt in die Zustände "00" und "01"), können die logischen höherwertigen Seitendaten ohne Zusammenbruch der logischen niederwertigen Seitendaten programmiert werden.
  • Außerdem sind für die Speicherzelle als das Objekt der "0"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "0"-Daten), wenn die Schwellenspannung durch die Schreiboperation (Schritt S8) nicht ausreichend ansteigt (das Programm ist nicht abgeschlossen), die Lesedaten, die durch "Verify00 (1. Durchlauf)" gelesen werden, "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Diese "0"-Daten werden von der Datenspeichereinheit DS1 zu der Datenspeichereinheit DS3 transferiert. D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
  • Falls der Wert PC des Programmzählers eine voreingestellte maximale Schreibzahl PC max 1. erreicht, wird Fehler (Programmfehler) in einem Statusregister in der Zustandsmaschine gesetzt, und die Programmoperation endet (Schritte S13, S16).
  • Falls der Wert PC des Programmzählers kleiner als die voreingestellte maximale Schreibzahl PC max 1. ist, wird die Schreibspannung Vpgm hochgestuft, z.B. um ungefähr 0,2V, und anschließend wird die Schreiboperation erneut ausgeführt (Schritte S13, S14, S8).
  • Danach wird Programmverifizieren durchgeführt (Schritt S9). Wie oben beschrieben, sind jedoch mit der "1"-Programmierung die Daten der Datenspeichereinheit DS3 immer "1". Außerdem werden für die "0"-Programmierung, wenn die "0"-Programmierung abgeschlossen ist, die Daten der Datenspeichereinheit DS3 von "0" zu "1" geändert. Nur wenn die "0"-Programmierung nicht abgeschlossen ist, bleiben die Daten der Datenspeichereinheit DS3 "0".
  • Wenn die Programmierung ("1"-Programmierung oder "0"-Programmierung) mit Bezug auf alle ausgewählten Speicherzellen als die Objekte des Programms abgeschlossen ist, speichern deshalb alle Datenspeichereinheiten DS3 die "1"-Daten. D.h. der N-Kanal-MOS-Transistor Qn17 von 10 wird in allen Spalten ausgeschaltet, FLAG von 8 schaltet zu "H" (das Programm verifizieren ist in dem Durchlaufzustand) und der Schritt verlagert sich zu dem 2. Durchlauf (Schritt S15).
  • Wenn die Programmierung ("0"-Programmierung) mit Bezug auf mindestens eine ausgewählte Speicherzelle als das Objekt des Programms nicht abgeschlossen ist, speichert außerdem mindestens eine der Datenspeichereinheiten DS3 die "0"-Daten. D.h. der N-Kanal-MOS-Transistor Qn17 von 10 wird in mindestens einer Spalte eingeschaltet, FLAG von 8 schaltet zu "L" (das Programmverifizieren hat den NG-Zustand) und das Verifizierungslesen und die Schreiboperation werden erneut wiederholt (Schritte S10 bis S14, S16, S8).
  • Basierend auf den Daten, die in der Datenspeichereinheit DS3 gespeichert sind, kann beurteilt werden, das Programm abgeschlossen ist oder nicht.
  • [1]-2 2. Durchlauf
  • In dem Schritt S9 des ersten Programms (1. Durchlauf) wird anschließend, wenn das Programmverifizieren durchlaufen ist, das zweite Programm (2. Durchlauf) ausgeführt.
  • In dem 2. Durchlauf werden die Programmdaten, die in der Datenspeichereinheit DS2 gespeichert sind, zuerst zu der Datenspeichereinheit DS3 zurück kopiert (Schritt S17).
  • Dieses Kopieren zurück hat die folgende Bedeutung.
  • Zuerst werden die Programmdaten in den Datenspeichereinheiten DS2, DS3 gespeichert (Schritt S5). In dem 1. Durchlauf ändern sich jedoch, wie oben beschrieben, die Daten der Datenspeichereinheit DS3 in Übereinstimmung mit dem Ergebnis von "Verify10 (1. Durchlauf)" oder "Verify00(1. Durchlauf)". Schließlich sind, d.h. in dem Schritt S9 des 1. Durchlaufs, wenn das Programmverifizieren durchlaufen ist, die Werte aller Datenspeichereinheiten DS3 "1".
  • Dann werden in dem 2. Durchlauf die Programmdaten zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS2 transferiert, um die Programmdaten in der Datenspeichereinheit DS3 erneut zu speichern. Dies ist die Bedeutung des Kopierens zurück des Schrittes S17.
  • Danach wird mit dem Programm für die logische niederwertige Seite die Schreibspannung Vpgm erneut auf 12V gesetzt. Mit dem Programm für die logische höherwertige Seite wird die Schreibspannung Vpgm erneut auf 13V gesetzt. Außerdem wird der Wert PC des Programmzählers in der Zustandsmaschine erneut auf Null gesetzt (Schritt S7).
  • Als Nächstes wird "Verify10 (2. Durchlauf)" oder Verify01" ausgeführt.
  • Mit dem Programm für die logischen niederwertigen Seitendaten wird "Verify10 (2. Durchlauf)" ausgeführt (Schritte ST19 und ST20).
  • Das "Verify10 (2. Durchlauf)" ist eine Operation, die umfasst: Verwenden des Lesepotenzials Vcgv10 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle als das Objekt des Programms auszuführen; und Bestimmen des Wertes der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind, basierend auf den Lesedaten, die durch die Leseoperation erhalten werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
  • Da in dem 2. Durchlauf der Zustand "11" mit Bezug auf die Speicherzelle als das Objekt der "1"-Programmierung beibehalten wird (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "1"-Daten), sind die Lesedaten, die durch "Verify10 (2. Durchlauf)" gelesen werden, immer "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Da "1" in der Datenspeichereinheit DS2 gespeichert ist, werden außerdem die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten zwangsweise zu "1" geändert. Deshalb werden die "1"-Daten von der Datenspeichereinheit DS1 zu der Datenspeichereinheit DS3 transferiert.
  • Andererseits wird für die Speicherzelle als das Objekt der "0"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "0"-Daten) im wesentlichen angenommen, dass der "10"-Zustand durch den 1. Durchlauf erhalten wird.
  • Für die Speicherzelle, in der die Schwellenspannung ausreichend ansteigt (das Programm ist abgeschlossen), sind die Lesedaten, die durch "Verify10 (2. Durchlauf)" gelesen werden, "1".
  • Deshalb wird "1" in der Datenspeichereinheit DS1 gespeichert. Diese "1"-Daten werden von der Datenspeichereinheit DS1 zu der Datenspeichereinheit DS3 transferiert. D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
  • Für die Speicherzelle, in der die Schwellenspannung nicht ausreichend ansteigt (das Programm ist nicht abgeschlossen), sind die Lesedaten, die durch "Verify10 (1. Durchlauf)" gelesen werden, "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Diese "0"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
  • Mit dem Programm für die logische höherwertige Seite werden "Verify01" und "Verify00 (2. Durchlauf)" kontinuierlich ausgeführt (Schritte ST12 und ST22).
  • Das "Verify01" ist eine Operation, die umfasst: Verwenden des Lesepotenzials Vcgv01 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle als das Objekt des Programms auszuführen; und Bestimmen des Wertes der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind, basierend auf den Lesedaten, die durch die Leseoperation erhalten werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
  • Das "Verify02 (2. Durchlauf)" ist eine Operation, die umfasst: Verwenden des Lesepotenzials Vcgv00 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle als das Objekt des Programms auszuführen; und Bestimmen des Wertes der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind, basierend auf den Lesedaten, die durch die Leseoperation erhalten werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2, und den Daten (logischen niederwertigen Seitendaten) der Datenspeichereinheit DS4).
  • In dem 2. Durchlauf sind, da der Zustand "11" oder "10" mit Bezug auf die Speicherzelle als das Objekt der "1"-Programmierung beibehalten wird (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "1"-Daten), die Lesedaten, die durch "Verify01" gelesen werden, immer "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Da "1" in der Datenspeichereinheit DS2 gespeichert ist, werden deshalb die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten zwangsweise auf "1" geändert. Deshalb werden die "1"-Daten von der Datenspeichereinheit DS1 zu der Datenspeichereinheit DS3 transferiert.
  • Außerdem sind die Lesedaten, die durch "Verify00 (2. Durchlauf)" gelesen werden, immer "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Da "1" in der Datenspeichereinheit DS2 gespeichert ist, werden jedoch die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten und der logischen niederwertigen Seitendaten der Datenspeichereinheit DS4 zwangsweise auf "1" geändert. Deshalb werden die "1"-Daten zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
  • Andererseits wird für die Speicherzelle als das Objekt der "0"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "0"-Daten) der "00"-Zustand angenommen, durch den 1. Durchlauf erhalten zu sein.
  • Deshalb sind zuerst die Lesedaten, die durch "Verify01" gelesen werden, "0". Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Diese "0"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
  • D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
  • Danach wird anschließend zu "Verify01" "Verify00 (2. Durchlauf)" ausgeführt.
  • Für die Speicherzelle, in der die Schwellenspannung ausreichend ansteigt ("00"-Programm ist abgeschlossen), sind die Lesedaten, die durch "Verify00 (2. Durchlauf)" gelesen werden "1".
  • Deshalb wird "1" in der Datenspeichereinheit DS1 gespeichert.
  • Hier werden jedoch die Daten der Datenspeichereinheit DS1 durch die logischen niederwertigen Seitendaten beeinflusst, die in der Datenspeichereinheit DS4 gespeichert sind.
  • D.h. mit den logischen niederwertigen Seitendaten von "1" wird "0" (= "L") in der Datenspeichereinheit DS4 (Knoten N4) gespeichert. Deshalb werden die Daten der Datenspeichereinheit DS1 zwangsweise zu "0" geändert. Dies bedeutet, dass mit den logischen niederwertigen Seitendaten von "1" die Speicherzelle in den "01"-Zustand gebracht wird (siehe 19), um "0" als die logischen höherwertigen Seitendaten zu programmieren.
  • Diese "0"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 bleiben auf "0".
  • Wenn die logischen niederwertigen Seitendaten "0" sind, speichert die Datenspeichereinheit DS4 (Knoten N4) "1" (= "H"). Deshalb bleiben die Daten der Datenspeichereinheit DS1 auf "1".
  • Diese "1"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
  • Wie oben beschrieben, wird außerdem, um "0" als die logischen höherwertigen Daten zu programmieren, wenn die logischen niederwertigen Seitendaten "0" sind, die Speicherzelle in den "00"-Zustand gebracht. Wenn die logischen niederwertigen Seitendaten "1" sind, muss die Speicherzelle in den "01"-Zustand gebracht werden.
  • In einem Abschlusszeitpunkt des 1. Durchlaufs wird außerdem die Speicherzelle, in der "0" als die logischen höherwertigen Seitendaten programmiert ist, in den "00"-Zustand ungeachtet des Wertes der logischen niederwertigen Seitendaten gebracht.
  • In der Sequenz des vorliegenden Beispiels wird, da "Verify00 (2. Durchlauf)" kontinuierlich unmittelbar nach "Verify01" durchgeführt wird, die Schwellenspannung nur der Speicherzelle, die die logischen niederwertigen Seitendaten von "1" enthält, durch die Schreiboperation und "Verify01" angehoben, und kann in den "01"-Zustand gebracht werden. Mit anderen Worten kann für die Speicherzelle, in der die logischen niederwertigen Seitendaten "0" sind, die Schreiboperation (Injektion des Elektrons zu der schwebenden Gatterelektrode) durch "Verify00 (2. Durchlauf)" in einem Zeitpunkt gestoppt werden, wenn der "00"-Zustand erhalten ist.
  • Falls der Wert PC des Programmzählers die voreingestellte maximale Schreibzahl PC max 2. erreicht, wird Fehler (Programmfehler) in dem Statusregister in der Zustandsmaschine gesetzt, und die Programmoperation endet (Schritte S23, S28).
  • Falls der Wert PC des Programmzählers kleiner als die voreingestellte maximale Schreibzahl PC max 2. ist, wird außerdem die Schreibspannung Vpgm z.B. um ungefähr 0,2V hochgestuft, und anschließend wird die Schreiboperation erneut ausgeführt (Schritte S23, S24, S25).
  • Wenn die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert sind, z.B. "0" sind, wird die hohe Spannung zwischen dem Träger und der schwebende Gatterelektrode angelegt, das Elektron wird in die schwebenden Gatterelektrode injiziert und die Schwellenspannung der Speicherzelle wird angehoben ("0"-Programmierung). Wenn die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert sind, z.B. "1" sind, wird verhindert, dass die hohe Spannung zwischen dem Träger und der schwebenden Gatterelektrode angelegt wird, es wird verhindert, dass das Elektron in die schwebende Gatterelektrode injiziert wird, und die Schwellenspannung der Speicherzelle wird nicht geändert ("i"-Programmierung).
  • Nachdem die Schreiboperation durchgeführt ist, wird "1" zu dem Wert PC des Programmzählers hinzugefügt (Schritt S25).
  • Danach wird das Programmverifizieren basierend auf den Daten ausgeführt, die in der Datenspeichereinheit DS3 gespeichert sind, und es wird beurteilt, ob das Programmverifizieren in dem Durchlaufzustand (Zustand, in dem das Programm abgeschlossen ist) oder in dem NG-Zustand (Zustand, in dem das Programm nicht abgeschlossen ist), ist (Schritt S26).
  • Wenn die Programmdaten mit Bezug auf die logischen höherwertigen Seitendaten "1" sind ("1"-Programmierung), sind die Daten der Datenspeichereinheit DS3 immer "1".
  • Wenn die Programmdaten mit Bezug auf die logische höherwertige Seite "0" sind, die logischen niederwertigen Seitendaten "0" sind ("00"-Programmierung), und die "00"-Programmierung abgeschlossen ist, werden außerdem die Daten der Datenspeichereinheit DS3 zu "1" von "0" durch "Verify00 (2. Durchlauf)" geändert.
  • Wenn die Programmdaten mit Bezug auf die logische höherwertige Seite "0" sind, die logischen niederwertigen Seitendaten "1" sind ("01"-Programmierung) und die "01"-Programmierung abgeschlossen ist, werden des weiteren die Daten der Datenspeichereinheit DS3 zu "1" von "0" durch "Verify01" geändert.
  • Wenn die Programmierung ("00"-Programmierung oder "01"-Programmierung) mit Bezug auf alle Speicherzellen, die als die Objekte des Programms ausgewählt sind, abgeschlossen ist, speichern deshalb alle Datenspeichereinheiten DS3 die "1"-Da ten. D.h. in allen Spalten wird der N-Kanal-MOS-Transistor Qn17 von 10 ausgeschaltet, und FLAG von 8 schaltet zu "H" (Programmverifizieren ist in dem Durchlaufzustand). Anschließend wird Durchlauf (Programmabschluss) in dem Statusregister in der Zustandsmaschine gesetzt, und die Programmoperation endet (Schritte S26, S27).
  • Wenn die Programmierung ("01"-Programmierung) mit Bezug auf mindestens eine ausgewählte Speicherzelle als das Objekt des Programms nicht abgeschlossen ist, speichert außerdem mindestens eine Datenspeichereinheit DS3 die "0"-Daten. D.h. in mindestens einer Spalte wird der N-Kanal-MOS-Transistor Qn17 von 10 eingeschaltet, FLAG von 8 schaltet zu "L" (Programmverifizieren ist in dem NG-Zustand), und das Verifizierungslesen und die Schreiboperation werden erneut wiederholt (Schritte S19 bis S25, S28).
  • Wie oben beschrieben kann beurteilt werden, ob das Programm abgeschlossen ist oder nicht, basierend auf den Daten, die in der Datenspeichereinheit DS3 gespeichert sind.
  • [2] Programmoperation 2
  • 30 zeigt ein anderes Beispiel des Algorithmus der Programmoperation.
  • Dieses Beispiel bezieht sich auf den Algorithmus in einem Zeitpunkt, wenn ein Schreibprinzip, das schnelles Durchlaufschreiben (QPW, quick pass Write) genannt wird, verwendet wird. Das schnelle Durchlaufschreiben ist ein verbessertes Beispiel des Durchlaufschreibens (doppeltes Schreiben), und ist dadurch gekennzeichnet, dass die 1. und 2. Durchläufe in dem Durchlaufschreiben parallel miteinander verarbeitet werden und eine Schreibzeit reduziert wird.
  • Zuerst empfängt die Befehlsschnittstellenschaltung den Dateneingabebefehl, der von dem Host-Mikrocomputer bereitgestellt wird, und der empfangene Dateneingabebefehl wird in der Zustandsmaschine (Steuerschaltung) gesetzt (Schritt S1).
  • Wenn das Adresssignal in den Speicherchip von dem Host-Mikrocomputer zugeführt wird, wird außerdem die Adresse zum Auswählen der Seite als das Objekt des Programms in der Zustandsmaschine als Reaktion auf das Signal gesetzt (Schritt S2).
  • Wenn die Programmdaten für eine Seite in den Speicherchip über den Dateneingabe-/Ausgabepuffer eingegeben sind, werden anschließend die Programmdaten für eine Seite in der Datenspeichereinheit DS4 gespeichert (Schritt S3).
  • Wenn die Befehlsschnittstellenschaltung den Schreibbefehl bestätigt, der von dem Host-Mikrocomputer zugeführt wird, wird anschließend der empfangene Schreibbefehl in der Zustandsmaschine gesetzt (Schritt S4). Als ein Ergebnis wird unter der Steuerung durch die Zustandsmaschine die Operation von Schritten S5 bis S17 automatisch ausgeführt.
  • Zuerst werden die Programmdaten, die in der Datenspeichereinheit DS4 gespeichert sind, jeweils zu DS2, DS3 kopiert (Schritt S5).
  • Falls die Seite als das Objekt des Programms die logische höherwertige Seite ist, wird danach das interne Datenladen vor der Schreiboperation ausgeführt (Schritt S6). Die logischen niederwertigen Seitendaten, die durch das interne Datenladen gelesen werden, werden in der Datenspeichereinheit DS4 über die Datenspeichereinheit DS1 gespeichert.
  • Wenn die logischen niederwertigen Seitendaten "1" sind, schalten die Lesedaten durch das interne Datenladen zu "0" (= "L"), und die "0"-Daten werden in der Datenspeichereinheit DS4 (Knoten N4) gespeichert. Wenn die logischen niederwertigen Seitendaten "0" sind, schalten die Lesedaten durch das interne Datenladen zu "1" (= "H"), und die "1"-Daten werden in der Datenspeichereinheit DS4 gespeichert (Knoten N4).
  • Mit dem Programm für die logische niederwertige Seite wird die Schreibspannung Vpgm auf 12V gesetzt. Mit dem Programm für die logische höherwertige Seite wird die Schreibspannung Vpgm auf 13V gesetzt. Außerdem wird der Wert PC des Programmzählers in der Zustandsmaschine auf Null gesetzt (Schritt S7). Es ist zu vermerken, dass der Wert PC des Programmzählers die Zahl von Schreiboperationen anzeigt.
  • Die Schreiboperation wird als Nächstes ausgeführt (Schritt S8).
  • Wenn die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert sind, z.B. "0" sind, wird die hohe Spannung zwischen dem Träger und der schwebenden Gatterelektrode angelegt, das Elektron wird in die schwebende Gatterelektrode injiziert und die Schwellenspannung der Speicherzelle wird angehoben ("0"-Programmierung). Wenn die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert sind, z.B. "1" sind, wird verhindert, dass die hohe Spannung zwischen dem Träger und der schwebenden Gatterelektrode angelegt wird, es wird verhindert, dass das Elektron in die schwebende Gatterelektrode indiziert wird, und die Schwellenspannung der Speicherzelle wird nicht geändert ("i"-Programmierung).
  • Nachdem die Schreiboperation durchgeführt ist, wird "1" zu dem Wert PC des Programmzählers hinzugefügt (Schritt S8).
  • Danach wird basierend auf den Daten, die in der Datenspeichereinheit DS3 gespeichert sind, beurteilt, ob das Programmverifizieren in dem Durchlaufzustand (Zustand, in dem das Programm abgeschlossen ist) oder in dem NG-Zustand (Zustand, in dem das Programm nicht abgeschlossen ist) ist (Schritt S9).
  • Unmittelbar nach der ersten Schreiboperation werden "Verify01", "Verify00", "Verify10" nicht einmal durchgeführt, und deshalb speichert die Datenspeichereinheit DS3 die Programmdaten.
  • Wenn die Datenspeichereinheiten DS3 in allen Spalten (z.B. 4256 Einheiten) die "1"-Daten speichern, d.h. wenn alle Programmdaten mit Bezug auf die logische niederwertige oder höherwertige Seite "1" sind, ist der N-Kanal-MOS-Transistor Qn17 von 16 in dem Aus-Zustand in allen Spalten. Z.B. behält FLAG von 8 "H" bei.
  • Deshalb wird das Programmverifizieren beurteilt, in dem Durchlaufzustand zu sein (Zustand, in dem das Programm abgeschlossen ist). Als ein Ergebnis wird der Durchlauf in dem Statusregister gesetzt, und die Programmoperation endet (Schritt S16).
  • Wenn andererseits die Datenspeichereinheit DS3 in mindestens einer Spalte "0"-Daten speichert, d.h. wenn mindestens eine Programmdaten mit Bezug auf die logische niederwertige oder höherwertige Seite "0" sind, ist der N-Kanal-MOS-Transistor Qn17 (10), der mit der Datenspeichereinheit DS3 verbunden ist zum Speichern der "0"-Daten, in dem Ein-Zustand. Z.B. schaltet FLAG von 8 zu "L".
  • Deshalb wird das Programmverifizieren beurteilt, in dem NG-Zustand zu sein (Zustand, in dem das Programm nicht abge schlossen ist). Als ein Ergebnis verlagert sich der Prozess zu "Verify10" oder "Verify01".
  • Mit dem Programm für die logische niederwertige Seite wird "Verify10" ausgeführt (Schritt S11).
  • Das "Verify10" ist eine Operation, die umfasst: Verwenden des Lesepotenzials Vcgv10 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle als das Objekt des Programms auszuführen; und Bestimmen des Wertes der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind, basierend auf den Lesedaten, die durch die Leseoperation erhalten werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
  • Mit dem Programm für die logische niederwertige Seite sind zuerst alle ausgewählten Speicherzellen als die Objekte des Programms in einem Zustand "11". Deshalb schwankt für die Speicherzelle als das Objekt der "1"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "1"-Daten) die Schwellenspannung nicht. Deshalb sind die Lesedaten, die durch "Verify10" gelesen werden, immer "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Wenn jedoch "1" in der Datenspeichereinheit DS2 gespeichert ist, werden die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten zwangsweise zu "1" geändert. D.h. die "1"-Daten werden von der Datenspeichereinheit DS1 erneut in die Datenspeichereinheit DS3 gespeichert.
  • Andererseits sind für die Speicherzelle als das Objekt der "0"-Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern von "0"-Daten), wenn die Schwellenspannung durch die Schreiboperation ausreichend ansteigt (das Programm ist abgeschlossen) (Schritt S8), die Lesedaten, die durch "Verify10 (1. Durchlauf)" gelesen werden, "1".
  • Deshalb wird "1" in der Datenspeichereinheit DS1 gespeichert. Diese "1"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
  • Außerdem sind für die Speicherzelle als das Objekt der "0" Programmierung (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern von "0"-Daten), wenn die Schwellenspannung durch die Schreiboperation nicht ausreichend ansteigt (das Programm ist nicht abgeschlossen) (Schritt S8), die Lesedaten, die durch "Verify10" gelesen werden, "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Diese "0"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
  • Mit dem Programm für die logische höherwertige Seite werden "Verify01" und "Verify00" kontinuierlich ausgeführt (Schritte S12, S13).
  • Das "Verfiy01" ist eine Operation, die umfasst: Verwenden des Lesepotenzials Vcgv01 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle als das Objekt des Programms auszuführen; und Bestimmen des Wertes der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind, basierend auf den Lesedaten, die durch die Leseoperation erhalten werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
  • Das "Verfiy00" ist eine Operation, die umfasst: Verwenden des Lesepotenzials Vcgv00 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle als das Objekt des Programms auszuführen; und Bestimmen des Wertes der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind, basierend auf den Lesedaten, die durch die Leseoperation erhalten werden, den Daten (Programmdaten) der Datenspeichereinheit DS2, und den Daten (logische niederwertige Seitendaten) der Datenspeichereinheit DS4.
  • Da der Zustand "11" oder "10" mit Bezug auf die Speicherzelle als das Objekt der Programmierung ("1"-Programmierung) der logischen höherwertigen Seitendaten "1" (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "1"-Daten) beibehalten wird, sind die Lesedaten, die durch "Verify01" gelesen werden, immer "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Da "1" in der Datenspeichereinheit DS2 gespeichert ist, werden außerdem die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten zwangsweise zu "1" geändert. Deshalb werden die "1"-Daten zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
  • Außerdem sind die Lesedaten, die durch "Verify00" gelesen werden, immer "0".
  • Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Da jedoch "1" in der Datenspeichereinheit DS2 gespeichert ist, werden die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten und der logischen niederwertigen Seitendaten der Datenspeichereinheit DS4 zwangsweise zu "1" geändert. Deshalb werden die "1"-Daten zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
  • Andererseits ändert sich für die Speicherzelle als das Objekt der Programmierung ("0"-Programmierung) der logischen höher wertigen Seitendaten "0" (Speicherzelle für die Datenspeichereinheit DS3 zum Speichern der "0"-Daten) der Zustand "11" oder "10" zu dem Zustand "00", und ferner zu dem Zustand "01".
  • Deshalb sind zuerst die Lesedaten, die durch "Verify01" gelesen werden, "0". Deshalb wird "0" in der Datenspeichereinheit DS1 gespeichert. Diese "0"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
  • D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
  • Danach wird anschließend zu "Verify01" "Verify00" ausgeführt.
  • Für die Speicherzelle, in der die Schwellenspannung ausreichend ansteigt ("00"-Programmierung ist abgeschlossen), sind die Lesedaten, die durch "Verify00" gelesen werden, "1".
  • Deshalb wird "1" in der Datenspeichereinheit DS1 gespeichert.
  • Hier werden jedoch die Daten der Datenspeichereinheit DS1 durch die logischen niederwertigen Seitendaten beeinflusst, die in der Datenspeichereinheit DS4 gespeichert sind.
  • D.h. mit den logischen niederwertigen Seitendaten von "1" wird "0" (= "L") in der Datenspeichereinheit DS4 (Knoten N4) gespeichert. Deshalb werden die Daten der Datenspeichereinheit DS1 zwangsweise zu "0" geändert. Dies bedeutet, dass mit den logischen niederwertigen Seitendaten von "1" die Speicherzelle in den Zustand "01" gebracht wird (siehe 19), um "0" als die logischen höherwertigen Seitendaten zu programmieren.
  • Diese "0"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 bleiben auf "0".
  • Wenn die logischen niederwertigen Seitendaten "0" sind, speichert die Datenspeichereinheit DS4 (Knoten N4) "1" (= "H"). Deshalb bleiben die Daten der Datenspeichereinheit DS1 auf "1". Dies bedeutet, dass mit den logischen niederwertigen Seitendaten von "0" die Schwellenspannung der Speicherzelle in dem Zustand "00" gestoppt wird (siehe 19), um "0" als die logischen höherwertigen Daten zu programmieren.
  • Diese "1"-Daten werden zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
  • Falls der Wert PC des Programmzählers die voreingestellte Schreibzahl PC max erreicht, wird Fehler (Programmfehler) in dem Statusregister in der Zustandsmaschine gesetzt, und die Programmoperation endet (Schritte S14, S17).
  • Falls der Wert PC des Programmzählers kleiner als die vorangestellte maximale Schreibzahl PC max ist, wird außerdem die Schreibspannung Vpgm um z.B. 0,2V hochgestuft, und anschließend wird die Schreiboperation ausgeführt (Schritte S14, S15, S8).
  • Danach wird das Programmverifizieren basierend auf den Daten, die in der Datenspeichereinheit DS3 gespeichert sind, ausgeführt um zu beurteilen, ob das Programmverifizieren in dem Durchlaufzustand (Zustand, in dem das Programm abgeschlossen ist) oder in dem NG-Zustand (Zustand, in dem das Programm nicht abgeschlossen ist) ist (Schritt S9).
  • Wenn die Programmdaten mit Bezug auf die logischen höherwertigen Seitendaten "1" sind ("1"-Programmierung), sind die Daten der Datenspeichereinheit DS3 immer "1".
  • Wenn außerdem die Programmdaten mit Bezug auf die logische höherwertige Seite "0" sind, die logischen niederwertigen Seitendaten "0" ("00"-Programmierung) sind, und die "00"-Programmierung abgeschlossen ist, werden die Daten der Datenspeichereinheit DS3 durch "Verify00" von "0" zu "1" geändert.
  • Wenn des weiteren die Programmdaten mit Bezug auf die logische höherwertige Seite "0" sind, die logischen niederwertigen Seitendaten "1" sind ("01"-Programmierung) und die "01"-Programmierung abgeschlossen ist, werden die Daten der Datenspeichereinheit DS3 durch "Verify01" von "0" zu "1" geändert.
  • Wenn die Programmierung ("00"-Programmierung oder "01"-Programmierung) mit Bezug auf alle Speicherzellen abgeschlossen ist, die als die Objekte des Programms ausgewählt sind, speichern alle Datenspeichereinheiten DS3 die "1"-Daten. D.h. in allen Spalten wird der N-Kanal-MOS-Transistor Qn17 von 10 ausgeschaltet, und FLAG von 8 schaltet zu "H" (Programmverifizieren ist in dem Durchlaufzustand). Anschließend wird Durchlauf (Programmabschluss) in dem Statusregister in der Zustandsmaschine gesetzt, und die Programmoperation endet (Schritt S16).
  • Wenn die Programmierung ("00"-Programmierung, "01"-Programmierung) mit Bezug auf mindestens eine ausgewählte Speicherzelle als das Objekt des Programms nicht abgeschlossen ist, speichert außerdem mindestens eine Datenspeichereinheit DS3 die "0"-Daten. D.h. in mindestens einer Spalte ist der N-Kanal-MOS-Transistor Qn17 von 10 eingeschaltet, FLAG von 8 schaltet zu "L" (Programmverifizieren ist in dem NG-Zustand), und das Verifizierungslesen und die Schreiboperation werden erneut wiederholt (Schritte S8 bis S17).
  • Wie oben beschrieben kann beurteilen werden, ob das Programm abgeschlossen ist oder nicht basierend auf den Daten, die in der Datenspeichereinheit DS3 gespeichert sind.
  • 2). Operationsbeschreibung durch Wellenform
  • Die Operation wird hierin nachstehend mit Bezug auf ein Operationszeitsteuerungsdiagramm konkret beschrieben.
  • Ein Hauptteil der Programmoperation (Durchlaufschreiben) enthält: eine Kopieroperation der Programmdaten zu den Datenspeichereinheiten DS2, DS3 von der Datenspeichereinheit DS4; eine interne Datenladeoperation; eine Kopieroperation der Programmdaten zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS2; eine Schreiboperation; und eine Verifizierungsoperation (Verifizieren 10/00/01).
  • Außerdem enthält ein Hauptteil der Programmoperation (schnelles Durchlaufschreiben): die Kopieroperation der Programmdaten zu den Datenspeichereinheiten DS2, DS3 von der Datenspeichereinheit DS4; die interne Datenladeoperation; die Schreiboperation (Schreiben); und die Verifizierungsoperation (Verifizieren 10/00/01).
  • Dann werden diese Operationen beschrieben.
  • Es ist zu vermerken, dass da in dem nachstehend beschriebenen Operationszeitsteuerungsdiagramm nicht besonders gezeigt, der "L"-Pegel Vss (z.B. 0V) bezeichnet, und der "H"-Pegel Vdd (z.B. 3V) bezeichnet. Außerdem ist in dem Operationszeitsteuerungsdiagramm ein Block BLOCKi ausgewählt, und die Wortleitung WL2-i und die ungeradzahlige Bitleitung BLek in dem Block BLOCKi sind ausgewählt (siehe 3).
  • [1] Kopieroperation zu DS2, DS3 von DS4
  • 31 zeigt ein Operationswellenformdiagramm der Kopieroperation der Programmdaten zu den Datenspeichereinheiten DS2, DS3 von der Datenspeichereinheit DS4. 32 zeigt den Fluss von Daten in der Kopieroperation der Programmdaten zu den Datenspeichereinheiten DS2, DS3 von der Datenspeichereinheit DS4.
  • Die Kopieroperation entspricht dem Schritt S5 von 28 und 30.
  • Zuerst schaltet ein Steuersignal VPRE zu "H" in einer Zeitsteuerung CPCLK1, und ein Steuersignal BLPRE schaltet zu 4,5V in einer Zeitsteuerung CPCLK2. Als ein Ergebnis wird der N-Kanal-MOS-Transistor Qn6 eingeschaltet (10), und die Datenspeichereinheit DS1 (Knoten N2) wird auf den "H"-Pegel (Vdd) geladen.
  • Wenn ein Steuersignal BLC2 zu "H" in einer Zeitsteuerung CPCLK6 schaltet, wird der N-Kanal-MOS-Transistor Qn12 eingeschaltet, und die Datenspeichereinheit DS1 wird mit der Datenspeichereinheit DS4 elektrisch verbunden.
  • Falls die Datenspeichereinheit DS4 (Knoten N4) "1" (= "H") als die Programmdaten speichert, unterhält ein Ende der Datenspeichereinheit DS1, d.h. Kondensator C1 (Knoten N2) den "H"-Pegel (Vdd). Falls die Datenspeichereinheit DS4 (Knoten N4) "0" (= "L") als die Programmdaten speichert, wird die Ladung von einem Ende der Datenspeichereinheit DS1, d.h. Kondensator C1 (Knoten N2) entladen, und die Daten der Datenspeichereinheit DS1 ändern sich von "H" zu "L".
  • Wenn andererseits die Steuersignale SEN1, LATZ zu "L" in einer Zeitsteuerung CPCLK8 schalten, und das Steuersignal EQ1 zu "H" schaltet, wird der Zustand der Datenspeichereinheit DS3 zurückgesetzt.
  • Wenn das Steuersignal BLC1 zu "H" in einer Zeitsteuerung CPCLK11 schaltet, wird der N-Kanal-MOS-Transistor Qn10 eingeschaltet, und die Datenspeichereinheiten DS1 und Ds3 sind elektrisch verbunden. Wenn das Steuersignal SEN1 zu "H" schaltet, werden die Daten der Datenspeichereinheit DS1, d.h. ein Ende (Knoten N2) des Kondensators C1 durch den Taktsynchroninvertierer C11 abgetastet.
  • Wenn das Steuersignal LATZ zu "H" in der Zeitsteuerung CPCLK13 schaltet, werden danach die Daten der Datenspeichereinheit DS1 in der Datenspeichereinheit DS3 gespeichert. Wenn das Steuersignal DTG 4,5V in der Zeitsteuerung CPCLK14 anzeigt, wird schließlich der N-Kanal-MOS-Transistor Qn9 eingeschaltet, und die Daten der Datenspeichereinheit DS3 werden zu der Datenspeichereinheit DS2 transferiert. Wenn das Steuersignal DTG zu "L" in der Zeitsteuerung CPCLK15 schaltet, werden außerdem die Daten der Datenspeichereinheit DS3 in der Datenspeichereinheit DS2 gespeichert.
  • Wenn z.B. die Daten der Datenspeichereinheiten DS1, DS4 (Knoten N2, N4 zeigen "H" an) "1" sind, schalten auch die Daten der Datenspeichereinheiten DS2, DS3 zu "1" (Knoten N3, N6 schalten zu "H"). Wenn die Daten der Datenspeichereinheiten DS1, DS4 "0" sind (Knoten N2, N4 zeigen "L" an), schalten auch die Daten der Datenspeichereinheiten DS2, DS3 zu "0" (Knoten N3, N6 schalten zu "L").
  • Es ist zu vermerken, dass die Kopieroperation zu DS2, DS3 von DS4 in den Datenschaltungen aller Spalten (z.B. 4256 Spalten) gleichzeitig durchgeführt wird.
  • [2] Interne Datenladeoperation
  • 33 und 34 zeigen Operationswellenformdiagramme einer internen Datenladeoperation, und 35 zeigt einen Fluss von Daten in der internen Datenladeoperation.
  • Die interne Datenladeoperation entspricht dem Schritt S6 von 28 und 30.
  • Die interne Datenladeoperation umfasst: Lesen der logischen niederwertigen Seitendaten im voraus, um die Schwellenspannung zu bestimmen als ein Ziel in dem Programm der logischen höherwertigen Seitendaten, wenn das Programm der logischen höherwertigen Seitendaten durchgeführt wird.
  • Konkret umfasst die Operation: Setzen des Lesepotenzials (Potenzial der ausgewählten Wortleitung WL2-i) auf Vcgr10 (z.B. 0V); und Prüfen, ob die Daten der Speicherzelle "11" (logische niederwertige Seitendaten sind "1") oder "10" (logische niederwertige Seitendaten sind "0") sind.
  • Die interne Datenladeoperation besteht aus einem Teil betreffend Datenlesen (RCLK 1-E, SCLK-E, RRCV 1-E) und einem Teil betreffend Datentransfer (Routine EXCLK).
  • [2]-1 Datenlesen
  • Zuerst werden die Transferpotenziale Vread (z.B. 4,5V) der Auswahlgatterleitung SGD auf der Bitleitungsseite und nicht-ausgewählten Wortleitungen WL0-i, WL1-i, WL3-i zugeführt, und das Lesepotenzial Vcgr10 (z.B. 0V) wird an die ausgewählte Wortleitung WL2-i (RCLK 1-2) angelegt.
  • Das Steuersignal BLPRE schaltet auf "H", und der N-Kanal-MOS-Transistor Qn6 (10) wird eingeschaltet. Wenn das Steuersignal BLCLAMP Vclamp anzeigt (z.B. 2V), und das Steuersignal BLSe Vsghh anzeigt (z.B. 4,5V), wird die ungeradzahlige Bitleitung BLek auf das vorbestimmte Potenzial vorgeladen (z.B. ungefähr 1V). Da andererseits das Steuersignal BIASo Vsghh anzeigt (z.B. 4,5V), wird die geradzahlige Bitleitung BLok auf Vss fixiert (z.B. 0V), und funktioniert als eine Abschirmungsbitleitung (RCLK 2-4).
  • Danach zeigt das Steuersignal BLCLAMP Vss an (z.B. 0V) und das Steuersignal BLPRE schaltet zu "L", und die ungeradzahlige Bitleitung BLek wird in den schwebenden Zustand gebracht (RCLK 5-7).
  • Wenn das Potenzial der Auswahlgatterleitung SGS auf der Source-Leitungsseite auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial der Bitleitung BLek in Übereinstimmung mit dem Zustand der ausgewählten Speicherzelle beeinflusst, d.h. dem Wert der Daten, die in der Speicherzelle gespeichert sind.
  • D.h. wenn die Daten der ausgewählten Speicherzelle "11" sind, wird die ausgewählte Speicherzelle durch das Lesepotenzial Vcgr10 eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek entladen, und das Potenzial der Bitleitung BLek fällt auf 0,8V oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block wird durch Vread eingeschaltet).
  • Wenn andererseits die Daten der ausgewählten Speicherzelle "10" sind, wird die ausgewählte Speicherzelle durch das Lesepotenzial Vcgr10 nicht eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek nicht entladen, und die Bitleitung BLek unterhält ein Vorladungspotenzial (ungefähr 1V) (RCLK 6-E).
  • Wenn das Steuersignal BLPRE ungefähr 4,5V anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V), wird ein Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der Knoten N2, auf Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense anzeigt (z.B. 1,8V), ändert sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wie folgt.
  • D.h. wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial bleibt (ungefähr 1V) (wenn die Daten der Speicherzelle "10" sind), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd ("H") gehalten.
  • Wenn andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger ist (wenn die Daten der Speicherzelle "11" sind), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 ( 10) eingeschaltet, die Ladung von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung BLek entladen und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK 4-5).
  • Als ein Ergebnis werden die Lesedaten durch das Lesepotenzial Vcgr10 in der Datenspeichereinheit DS1 gespeichert (ein Ende des Kondensators C1). D.h. wenn die Daten der Speicherzelle "11" sind, wird "L", d.h. "1"-Daten gespeichert. Wenn die Daten der Speicherzelle "10" sind, wird "H", d.h. "0"-Daten gespeichert.
  • Es ist zu vermerken, dass in der internen Datenladeoperation die Beziehung von "L" = "0" und "H" = "1" umgekehrt wird. D.h. die Beziehung von "L" = "1" und "H" = "0" wird erhalten.
  • [2]-2 Datentransfer
  • Nachdem in der internen Datenladeoperation die Daten der Speicherzelle in die Datenspeichereinheit DS1 ausgelesen sind, wird der Datentransfer ausgeführt, um die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind, zu der Datenspeichereinheit DS4 zu transferieren. Diese Operation folgt einer Routine EXCLK, die in 34 gezeigt wird.
  • Wenn beide Steuersignale SEN2, LAT2 zu "L" schalten (EXCLK 6), und das Steuersignal EQ2 zu "H" schaltet (EXCLK 7-8), wird zuerst der Zustand der Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS4 bildet, zurückgesetzt.
  • Danach zeigt das Steuersignal BLC2 4,5V an (EXCLK 9), und der N-Kanal-MOS-Transistor Qn12 wird eingeschaltet. Als ein Ergebnis sind die Datenspeichereinheiten DS1 und DS4 miteinander elektrisch verbunden.
  • Wenn das Taktsignal SEN2 zu "H" schaltet (EXCLK 10), werden die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer CI4, der die Datenspeichereinheit DS4 bildet, über den MOS-Transistor Qn12 abgetastet. Wenn das Steuersignal LAT2 zu "H" schaltet (EXCLK 11), werden die Lesedaten in der Datenspeichereinheit DS4 gespeichert.
  • Es ist zu vermerken, dass die interne Datenladeoperation gleichzeitig mit Bezug auf alle Spalten (z.B. 4256 Zellen) durchgeführt wird.
  • [3] Operation zum Kopieren (Zurückkopieren) zu DS3 von DS2
  • 36 zeigt ein Operationswellenformdiagramm einer Kopieroperation der Programmdaten zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS2. 37 zeigt den Fluss von Daten in der Kopieroperation der Programmdaten zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS2.
  • Diese Kopieroperation entspricht Schritt S17 von 29.
  • Wenn das Steuersignal BLPRE zu "H" in der Zeitsteuerung CPCLK3 schaltet, wird zuerst der N-Kanal-MOS-Transistor Qn6 (10) eingeschaltet. Da das Steuersignal VPRE auf Vss (0V) bleibt, wird in diesem Zeitpunkt die Datenspeichereinheit DS1 (Knoten N2) auf den "L"-Pegel (Vss) geladen.
  • Danach schaltet das Steuersignal VREG auf "H" in der Zeitsteuerung CPCLK5. Wenn das Steuersignal REG 4,5V anzeigt, wird außerdem der N-Kanal-MOS-Transistor Qn7 eingeschaltet, und die Datenspeichereinheiten DS1, DS2 sind elektrisch verbunden.
  • Falls die Datenspeichereinheit DS2 (Knoten N6) "1" (= "H") als die Programmdaten speichert, steigt außerdem das Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 auf ungefähr 5V von ungefähr Vdd durch eine Boot-strap-Erscheinung. Als ein Ergebnis wird VREG (= Vdd) zu der Datenspeichereinheit DS1 über die N-Kanal-MOS-Transistoren Qn7, Qn8 transferiert. D.h. der Pegel der Datenspeichereinheit DS1, d.h. ein Ende (Knoten N2) des Kondensators C1 wechselt von "L" zu "H".
  • Falls die Datenspeichereinheit DS2 (Knoten N6) "0" (= "L") als die Programmdaten speichert, zeigt außerdem das Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 Vss (= 0V) an. Als ein Ergebnis wird VREG (= Vdd) nicht zu der Datenspeichereinheit DS1 transferiert, und die Datenspeichereinheit DS1, d.h. ein Ende (Knoten N2) des Kondensators behält den "L"-Pegel bei.
  • Wenn die Steuersignale SEN1, LATZ zu "L" in der Zeitsteuerung CPCLK8 schalten, und das Steuersignal EQ1 zu "H" in der Zeitsteuerung CPCLK9 schaltet, wird der Zustand der Datenspeichereinheit DS3 zurückgesetzt.
  • Wenn das Steuersignal BLC1 zu "H" in der Zeitsteuerung CPCLK11 schaltet, wird der N-Kanal-MOS-Transistor Qn10 eingeschaltet, und die Datenspeichereinheiten DS1 und DS3 sind elektrisch verbunden. Wenn das Steuersignal SEN1 zu "H" in der Zeitsteuerung CPCLK12 schaltet, werden außerdem die Daten der Datenspeichereinheit DS1, d.h. ein Ende (Knoten N2) des Kondensators C1 durch den Taktsynchroninvertierer CI1 abgetastet.
  • Wenn das Steuersignal LATZ zu "H" in der Zeitsteuerung CPCLK13 schaltet, werden danach die Daten der Datenspeichereinheit DS1 in der Datenspeichereinheit DS3 gespeichert.
  • Durch die oben beschriebene Operation endet die Kopieroperation der Programmdaten zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS2, das sogenannte Kopieren zurück.
  • Es ist zu vermerken, dass die Kopieroperation zu DS3 von DS2 in den Datenschaltungen aller Spalten (z.B. 4256 Spalten) gleichzeitig durchgeführt wird.
  • [4] Schreiboperation (Schreiben)
  • 38 zeigt ein Operationswellenformdiagramm einer Schreiboperation. 39 zeigt einen Fluss von Daten in der Schreiboperation.
  • Es ist zu vermerken, dass der "L"-Pegel 0V anzeigt, und der "H"-Pegel Vdd (z.B. 3V) anzeigt, da nicht gezeigt. Außerdem ist in dem ausgewählten Block die ausgewählte Wortleitung WL2, und die ausgewählte Bitleitung ist BLe.
  • Die Schreiboperation entspricht Schritt S8 von 28 und 30, und Schritt S25 von 29.
  • Zuerst zeigen in einer Zeitsteuerung PCLK1 die Steuersignale BLCLAMP, BLC1 4,5V an. Wenn BLSe 4,5V in einer Zeitsteuerung PCLK3 anzeigt, sind außerdem die Bitleitung BLek und die Datenspeichereinheit DS3 elektrisch verbunden.
  • Wenn die Daten der Datenspeichereinheit DS3 (Knoten N3) "1" sind, ist die Bitleitung BLek in Vdd geladen. Wenn die Daten der Datenspeichereinheit DS3 (Knoten N3) "0" sind, ist außerdem die Bitleitung BLek in Vss (0V) geladen.
  • Außerdem schaltet in der Zeitsteuerung PCLK3 das Steuersignal BLCRL auf "H", und das Steuersignal BIASo zeigt 4,5V an. Als ein Ergebnis ist die Bitleitung BLeo in Vdd geladen.
  • Danach wird 10V an die nicht-ausgewählten Wortleitungen WL0-1, WL1-i, WL3-i in einer Zeitsteuerung PCLK6 angelegt, und Vpgm (zeigt zuerst 12V oder 13V an, und steigt jede 0,2V in Übereinstimmung mit der Zahl von Schreibvorgängen) wird an die ausgewählte Wortleitung WL2-i angelegt. Als ein Ergebnis wird die Programmierung mit Bezug auf die Speicherzelle ausgeführt.
  • Wenn z.B. die Daten, die in der Datenspeichereinheit DS3 gespeichert sind, "1" sind, zeigt die Bitleitung BLek Vdd an. Eine Potenzialdifferenz zwischen der Wortleitung (Steuergatterelektrode) WL2-i und dem Kanal der Speicherzelle zeigt nicht einen Wert an, der zum Injizieren des Elektrons in die schwebende Gatterelektrode der Speicherzelle ausreichend ist.
  • Wenn andererseits die Daten, die in der Datenspeichereinheit DS3 gespeichert sind, "0" sind, zeigt die Bitleitung BLek 0V an. Die Potenzialdifferenz zwischen der Wortleitung (Steuergatterelektrode) WL2-i und dem Kanal der Speicherzelle zeigt den Wert an, der zum Injizieren des Elektrons in die schwebende Gatterelektrode der Speicherzelle ausreichend ist.
  • Wenn die Daten, die in der Datenspeichereinheit DS3 gespeichert sind, "1" sind, steigt deshalb die Schwellenspannung der Speicherzelle nicht an. Wenn die Daten, die in der Datenspeichereinheit DS3 gespeichert sind, "0" sind, steigt die Schwellenspannung der Speicherzelle an.
  • In einem Zeitpunkt des schnellen Durchlaufschreibens (QPW) zeigt das Steuersignal VREG Vdd in einer Zeitsteuerung PCLK4 an, das Steuersignal BLC1 schaltet zu "L" in einer Zeitsteuerung PCLK5, und das Steuersignal REG wird auf 2,0V in einer Zeitsteuerung PCLK6 gesetzt.
  • Falls die Daten (Programmdaten) der Datenspeichereinheit DS2 "1" sind, steigt deshalb das Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 auf ungefähr 5V von ungefähr Vdd durch die Boot-strap-Erscheinung. Deshalb wird VREG (= Vdd) durch das Steuersignal REG (= 2,0V) begrenzt und zu der Bitleitung BLek transferiert.
  • Als ein Ergebnis zeigt das Potenzial der Bitleitung BLek z.B. ungefähr 1V ungeachtet der Daten an, die in der Datenspeichereinheit DS3 gespeichert sind.
  • Falls die Daten (Programmdaten) der Datenspeichereinheit DS2 "0" sind, ist das Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 0V. Deshalb behält das Potenzial der Bitleitung BLek Vdd (Daten der Datenspeichereinheit DS3 sind "1") oder 0V (Daten der Datenspeichereinheit DS3 sind "0") bei.
  • Es ist zu vermerken, dass die Schreiboperation mit Bezug auf 4256 Speicherzellen gleichzeitig durchgeführt wird, die mit der ausgewählten Wortleitung WL2-i verbunden sind.
  • [5] Verifizierungsoperation (Verifizieren 10/00/01)
  • 40 und 41 zeigen Operationswellenformdiagramme des Verifizierungslesens in einer Verifizierungsoperation. 42 bis 45 zeigen einen Fluss von Daten in dem Verifizierungslesen.
  • Es ist zu vermerken, dass der "L"-Pegel 0V anzeigt, und der "H"-Pegel Vdd (z.B. 3V) anzeigt, da nicht gezeigt. Außerdem ist in den ausgewählten Block die ausgewählte Wortleitung WL2, und die ausgewählte Bitleitung ist BLe.
  • Eine Verifizierungsoperation enthält das Verifizierungslesen und Abschlusserfassung. Die Abschlusserfassung ist ein Operation, die umfasst: Erfassen, ob das Datenprogramm abgeschlossen ist oder nicht mit Bezug auf alle ausgewählten Speicherzellen basierend auf den Daten, die durch das Verifizierungslesen gelesen werden. Hier wird hauptsächlich das Verifizierungslesen beschrieben.
  • Das Verifizierungslesen entspricht den Schritten S11, S12 von 28, Schritten S20, S21, S22 von 29 und Schritten S11, S12, S13 von 30.
  • Das Verifizierungslesen ist ein Operation, die nach der Schreiboperation durchgeführt wird, und die umfasst: Lesen von Daten zum Beurteilen (Abschlusserfassung), ob die Schwellenspannung der Speicherzelle einen vorbestimmten Pegel erreicht hat oder nicht von der Speicherzelle.
  • In dem vorliegenden Beispiel wird das Verifizierungslesen, das Durchlaufschreiben (doppeltes Schreiben) verwendet, beschrieben. Wie oben beschrieben, wird das erste Programm als der 1. Durchlauf bezeichnet, und das zweite Programm wird als der 2. Durchlauf bezeichnet. Ein Programmverfahren zum parallelen Verarbeiten der 1. und 2. Durchläufe wird als ein schnelles Durchlaufschreiben (QPW) bezeichnet. In einem QPW-Zeitpunkt zeigt z.B. ein QPW-Register in der Zustandsmaschine (Steuerschaltung) "1" an. In einem gewöhnlichen Durchlaufschreiben schaltet das QPW-Register in der Zustandsmaschine zu "0".
  • Zuerst wird das Transferpotenzial Vread (z.B. 4,5V) an die Auswahlgatterleitung SGD auf der Bitleitungsseite und nicht-ausgewählte Wortleitungen WL0-i, WL1-i, WL3-i angelegt, und ein Verifizierungslesepotenzial Vcgvxx wird an die ausgewählte Wortleitung WL2-i in einer Zeitsteuerung RCLK 1-2 angelegt.
  • Das Verifizierungslesepotenzial Vcgvxx ändert sich z.B. wie folgt in Übereinstimmung mit den Typ des Verifizierungslesens.
  • [Durchlaufschreibzeitpunkt]
  • VERIFY10 1. Durchlauf → Vcgvxx = 0.25 V, VERIFY10 2. Durchlauf → Vcgvxx = 0.40 V, VERIFY00 1. Durchlauf → Vcgvxx = 1.25 V, VERIFY00 2. Durchlauf → Vcgvxx = 1.40 V, VERIFY01 → Vcgvxx = 2.40 V
  • [QPW-Zeitpunkt]
  • VERIFY10 → Vcgvxx = 0.25 V, VERIFY00 → Vcgvxx = 1.25 V, VERIFY01 → Vcgvxx = 2.25 V
  • In einer Zeitsteuerung RCLK 2-4 schaltet das Steuersignal BLPRE zu "H", und der N-Kanal-MOS-Transistor Qn6 (10) wird eingeschaltet. Wenn das Steuersignal BLCLAMP Vclamp (z.B. 2V) anzeigt, und das Steuersignal BLSe Vsghh (z.B. 4,5V) anzeigt, wird außerdem die ungeradzahlige Bitleitung BLek mit VPRE (= Vdd) elektrisch verbunden.
  • Als ein Ergebnis wird die Bitleitung BLek in dem vorbestimmten Potenzial vorgeladen, das durch die Schwellenspannung des N-Kanal-MOS-Transistors Qn5 begrenzt wird, z.B. ungefähr 1V. Da das Steuersignal BIASo Vsghh (z.B. 4,5V) anzeigt, ist außerdem die geradzahlige Bitleitung BLok in Vss (z.B. 0V) begrenzt, und funktioniert als die Abschirmungsbitleitung.
  • Im Prinzip ist, wie oben beschrieben, eine vorgeladene Quelle mit Bezug auf die Bitleitung BLek VPRE. Für "Verify00 (2. Durchlauf)" in einem 2. Durchlaufzeitpunkt in der Durchlaufschreiboperation und "Verify00" in der QPW-Operation ist jedoch die Vorladungsquelle mit Bezug auf die Bitleitung die Datenspeichereinheit DS4.
  • Deshalb schaltet das Steuersignal BLC2 zu "H" in einer Zeitsteuerung RCLK2 in "Verify00 (2. Durchlauf)" und "Verify00". Andererseits bleibt das Steuersignal BLPRE auf "L" in einer Zeitsteuerung RCLK2-6.
  • Als ein Ergebnis ist die Bitleitung BLek mit der Datenspeichereinheit DS4 elektrisch verbunden. Wenn die Daten der Datenspeichereinheit DS4 (Knoten N3) "1" sind, ist außerdem die Bitleitung BLek in dem vorbestimmten Potenzial vorgeladen, das durch die Schwellenspannung des N-Kanal-MOS-Transistors Qn5 begrenzt wird, z.B. ungefähr 1V. Wenn die Daten der Datenspeichereinheit DS4 (Knoten N3) "0" sind, ist außerdem die Bitleitung BLek auf 0V vorgeladen.
  • Danach zeigt in einer Zeitsteuerung RCLK 5-7 das Steuersignal BLCLAMP Vss (z.B. 0V) an, das Steuersignal BLPRE schaltet zu "L", und die Bitleitung BLek wird in den schwebenden Zustand gebracht.
  • Wenn das Potenzial der Auswahlgatterleitung SGS auf der Source-Leitungsseite auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial der Bitleitung BLek in Übereinstimmung mit dem Zustand der ausgewählten Speicherzellen beeinflusst, d.h. der vorliegenden Schwellenspannung der Speicherzelle.
  • D.h. wenn die Schwellenspannung der ausgewählten Speicherzelle geringer als das Potenzial (Verifizierungslesepotenzial) Vcgvxx der ausgewählten Wortleitung WL2-i ist, wird die ausgewählte Speicherzelle durch das Verifizierungslesepotenzial Vcgvxx eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek entladen, und das Potenzial der Bitleitung BLek fällt auf 0,8V oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block wird durch Vread eingeschaltet).
  • Wenn andererseits die Schwellenspannung der ausgewählten Speicherzelle höher als das Verifizierungslesepotenzial Vcgvxx ist, wird die ausgewählte Speicherzelle durch das Verifizierungslesepotenzial Vcgvxx nicht eingeschaltet. Deshalb wird die Ladung der Bitleitung BLek nicht entladen, und die Bitleitung BLek behält das Vorladungspotenzial (ungefähr 1V) bei.
  • Es ist zu vermerken, dass in "Verify00 (2. Durchlauf)" und "Verify00" die Bitleitung BLek in 0V vorgeladen ist, und die Bitleitung BLek deshalb immer 0V ungeachtet des Zustands der ausgewählten Speicherzelle anzeigt.
  • Wenn das Steuersignal BLPRE zu "H" in einer Zeitsteuerung RCLK 8-E schaltet, wird ein Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der Knoten N2, auf VPRE (= 0V) geladen. Wenn die Operation nicht die QPW-Operation ist (Wert des QPW-Registers = "0"), wird außerdem danach die Routine EXCLK, die in 41 gezeigt wird, ausgeführt (SCLK-2).
  • Zuerst schaltet das Steuersignal VREG zu "H" in einer Zeitsteuerung EXCLK2. Wenn das Steuersignal REG 4,5V anzeigt, wird außerdem der N-Kanal-MOS-Transistor Qn7 eingeschaltet, und das Potenzial von einem Ende (Knoten N2) des Kondensators C1 der Datenspeichereinheit DS1 wird durch die Daten beeinflusst, die in der Datenspeichereinheit DS2 gespeichert sind.
  • Wenn z.B. die Daten (Programmdaten), die in der Datenspeichereinheit DS2 gespeichert sind, "1" sind, steigt das Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 auf ungefähr 5V von ungefähr Vdd durch die Boot-strap-Erscheinung an, und VREG (= Vdd) wird zu einem Ende (Knoten N2) des Kondensators C1 der Datenspeichereinheit DS1 transferiert.
  • Wenn die Daten (Programmdaten), die in der Datenspeichereinheit DS2 gespeichert sind, "0" sind, zeigt außerdem das Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 0V an, und VREG (= Vdd) wird nicht zu einem Ende (Knoten N2) des Kondensators C1 der Datenspeichereinheit DS1 transferiert. D.h. das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 ändert sich nicht.
  • Wenn das Steuersignal DTG 4,5V in einer Zeitsteuerung EXCLK 4-5 anzeigt, werden des weiteren die Daten der Datenspeichereinheit DS3 zu der Datenspeichereinheit DS2 transferiert.
  • Wenn beide Steuersignale SEN2, LATZ zu "L" (EXCLK 6) schalten, und das Steuersignal EQ1 zu "H" (EXCLK 7-8) schaltet, wird danach der Zustand der Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS3 bildet, zurückgesetzt.
  • Danach zeigt das Steuersignal BLC1 4,5V (EXCLK 9) an, und der N-Kanal-MOS-Transistor Qn10 wird eingeschaltet. Als ein Ergebnis sind die Datenspeichereinheiten DS1 und DS3 miteinander elektrisch verbunden.
  • Wenn das Taktsignal SEN1 zu "H" (EXCLK 10) schaltet, werden die Daten, die in der Datenspeichereinheit DS1 gespeichert sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer CI1, der die Datenspeichereinheit DS3 bildet, über den MOS-Transistor Qn10 abgetastet. Wenn das Steuersignal LATZ zu "H" (EXCLK 11) schaltet, werden außerdem die Daten in der Datenspeichereinheit DS3 gespeichert.
  • Wenn das Steuersignal BLPRE ungefähr 4,5V anzeigt, und das Steuersignal VPRE Vdd (z.B. 3V) in einer Zeitsteuerung SCLK2 anzeigt, ist ein Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der Knoten N2, in Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense (z.B. 1,8V anzeigt), ändert sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wie folgt.
  • D.h. wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial (ungefähr 1V) bleibt (wenn die Schwellenspannung der Speicherzelle höher als Vcgvxx ist), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd ("H") gehalten.
  • Wenn andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger ist (wenn die Schwellenspannung der Speicherzelle geringer als Vcgvxx ist), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung BLek entladen, und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK 4-5).
  • Als ein Ergebnis werden die Lesedaten durch das Verifizierungslesepotenzial Vcgvxx in der Datenspeichereinheit DS1 (ein Ende des Kondensators C1) gespeichert. D.h. wenn die Schwellenspannung der Speicherzelle geringer als Vcgvxx ist, wird "L", d.h. "0"-Daten in der Datenspeichereinheit DS1 gespeichert. Wenn die Schwellenspannung der Speicherzelle höher als Vcgvxx ist, wird "H", d.h. "1"-Daten in der Datenspeichereinheit DS1 gespeichert.
  • Danach wird die Routine EXCLK, die in 41 gezeigt wird, ausgeführt (SCLK5-E). Da die Routine EXCLK von 41 bereits beschrieben wurde, wird ihre Beschreibung hier weggelassen.
  • Falls die Operation in einer Zeitsteuerung QPWCLK 1-E nicht die QPW-Operation ist (der Wert des QPW-Registers = "0"), wird die Operation weggelassen.
  • Mit der QPW-Operation (der Wert des QPW-Registers = "1") wird eine QPWCLK-Routine durch die Zustandsmaschine ausgeführt (QPWCLK1-E).
  • In einem QPW-Zeitpunkt wird das Potenzial (Verifizierungslesepotenzial) Vcgvxx der ausgewählten Wortleitung WL2-i um ungefähr 0,15V in einer Zeitsteuerung SCLK 6 angehoben. D.h. Vcgvxx ist 4,5V + 0,15V.
  • Wenn das Steuersignal BLPRE ungefähr 4,5V anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V) in einer Zeitsteuerung QPWCLK2, wird ein Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der Knoten N2, in Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense (z.B. 1,8V) in einer Zeitsteuerung QPWCLK4 anzeigt, ändert sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wie folgt.
  • D.h. wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial bleibt (ungefähr 1V) (wenn die Schwellenspannung der Speicherzelle höher als Vcgvxx ist), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit DS1 wird in Vdd ("H") gehalten.
  • Wenn andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger ist (wenn die Schwellenspannung der Speicherzelle geringer als Vcgvxx ist), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des Kondensators C1 wird zu der Bitleitung BLek entladen, und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (QPWCLK 4-5).
  • Als ein Ergebnis werden die Lesedaten durch das Verifizierungslesepotenzial Vcgvxx in der Datenspeichereinheit DS1 (ein Ende des Kondensators C1) gespeichert. D.h. wenn die Schwellenspannung der Speicherzelle geringer als Vcgvxx ist, wird "L", d.h. "0"-Daten in der Datenspeichereinheit DS1 gespeichert. Wenn die Schwellenspannung der Speicherzelle höher als Vcgvxx, "H", ist, werden "1"-Daten in der Datenspeichereinheit DS1 gespeichert.
  • Danach wird die Routine EXLCK, die in 41 gezeigt wird, ausgeführt (QPWCLK5-E). Da die EXCLK-Routine von 41 bereits beschrieben wurde, wird ihre Beschreibung hier weggelassen.
  • Es ist zu vermerken, dass die Verifizierungsoperation mit Bezug auf 4256 Speicherzellen gleichzeitig durchgeführt wird, die mit der ausgewählten Wortleitung WL2-i verbunden sind.
  • 4. Andere
  • In dem vorliegenden Beispiel wurde ein Mehrebenen-NAND-Zellentyp-Flash-Speicher als das Beispiel beschrieben, aber die vorliegende Erfindung kann natürlich auf einen anderen Typ des Mehrebenenspeichers angewendet werden. Beispiele eines Speicherzellenfeldes können enthalten: NDR-Typ; ADD-Typ (A. Nozoe: ISSCC, Digest of Technical Papers, 1995); DINOR-Typ (S. Kobayashi: ISSCC, Digest of Technical Papers, 1995); Virtual-Ground-Array-Typ (Lee, et al.: Symposium an VLSI Circuits, Digest of Technical Papers, 1994); 3-tr NAND-Typ; und 4-tr NAND-Typ.
  • Außerdem ist die vorliegende Erfindung nicht auf den Flash-Speicher begrenzt, und kann auch auf z.B. nicht-flüchtige Halbleiterspeicher angewendet werden, wie etwa Masken-ROM und EPROM.
  • Wie oben beschrieben, ist es gemäß dem Beispiel der vorliegenden Erfindung möglich, die Datenschaltung des Mehrebenen-Flash-Speichers vorzusehen, auf den ein Doppelschreibverfahren angewendet werden kann. Selbst wenn die Daten, die in der Speicherzelle zu speichern sind, in Mehrebene vorliegen, erhöht sich in dem Verfahren eine Chipfläche nicht extrem, und die Schwellenspannung der Speicherzelle kann mit hoher Genauigkeit gesteuert werden.

Claims (30)

  1. Ein nicht-flüchtiger Halbleiterspeicher, umfassend: eine Speicherzelle (M1, M2, M3, M4); eine Bitleitung (Ble, BLo), die mit einem Ende der Speicherzelle verbunden ist; und eine Datenschaltung (2), die mit der Bitleitung verbunden ist und in der Programmdaten oder Lesedaten betreffend die Speicherzelle zeitweilig gespeichert sind, wobei die Datenschaltung (2) enthält: erste, zweite und dritte Datenspeichereinheiten (DS1, DS2, DS3); eine erste Datentransferschaltung (Qn10), die zwischen den ersten und dritten Datenspeichereinheiten verbunden ist; und eine zweite Datentransferschaltung (Qn9), die zwischen den zweiten und dritten Datenspeichereinheiten verbunden ist, die erste Datenspeichereinheit (DS1) mit der Bitleitung (Ble, BLo) verbunden ist, und die zweite Datenspeichereinheit (DS2) angepasst ist, eine Funktion zu enthalten zum zwangsweisen Ändern eines Wertes von ersten Daten, die in der ersten Datenspeichereinheit (DS1) gespeichert sind, basierend auf zweiten Daten, die in der zweiten Datenspeichereinheit gespeichert sind, und gekennzeichnet dadurch, dass die dritte Datenspeichereinheit (DS3) dritte Daten speichert, während die zweite Datenspeichereinheit (DS2) die Funktion zum zwangsweisen Ändern des Wertes der ersten Daten durchführt, und die dritten Daten nicht geändert werden, wenn die ersten Daten geändert werden.
  2. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die ersten und zweiten Datenspeichereinheiten (DS1, DS2) aus Kondensatoren gebildet sind.
  3. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die erste Datenspeichereinheit (DS1) aus einem MOS-Kondensator gebildet ist.
  4. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die zweite Datenspeichereinheit (DS2) aus einem MOS-Transistor (Qn8) gebildet ist, dessen Gate mit der zweiten Datentransferschaltung (Qn9) verbunden ist, und eine dritte Datentransferschaltung (Qn7) zwischen einem Drain des MOS-Transistors (Qn8) und der ersten Datenspeichereinheit (DS1) verbunden ist.
  5. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die dritte Datenspeichereinheit (DS3) aus einer Verriegelungsschaltung gebildet ist.
  6. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 5, gekennzeichnet dadurch, dass die Verriegelungsschaltung (DS3) aus einer CMOS-Flip-Flop-Schaltung gebildet ist.
  7. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 4, gekennzeichnet dadurch, dass die Datenschaltung (2) ferner enthält: eine vierte Datenspeichereinheit (DS4), die mit einer Datenleitung (IO, nIO) über einen Spaltenaus wahlschalter (Qn15, Qn16) verbunden ist; und eine vierte Datentransferschaltung (Qn12), die zwischen den ersten und vierten Datenspeichereinheiten (DS1, DS4) verbunden ist.
  8. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 7, gekennzeichnet dadurch, dass die vierte Datenspeichereinheit (DS4) aus einer Verriegelungsschaltung gebildet ist.
  9. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 8, gekennzeichnet dadurch, dass die Verriegelungsschaltung aus einer CMOS-Flip-Flop-Schaltung gebildet ist.
  10. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die Datenschaltung (2) ferner enthält: eine Klemmschaltung (Qn5), die zwischen der Bitleitung (Ble, BLo) und der ersten Datenspeichereinheit (DS1) verbunden ist; und eine Vorladungsschaltung (Qn6), die mit der ersten Datenspeichereinheit (DS1) verbunden ist.
  11. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, ferner zu umfassen: eine Erfassungsschaltung (10), die Vorhandensein/Fehlen eines Abschlusses eines Programms mit Bezug auf die Speicherzelle basierend auf den Daten beurteilt, die in der dritten Datenspeichereinheit (DS3) gespeichert sind.
  12. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die ersten und zweiten Datentransferschaltungen (Qn9, Qn10) aus MOS-Transistoren gebildet sind.
  13. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 7, gekennzeichnet dadurch, dass die dritten und vierten Da tentransferschaltungen (Qn7, Qn12) aus MOB-Transistoren gebildet sind.
  14. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die Speicherzelle (M1, M2, M3, M4) zwei Bits oder mehr Daten speichert.
  15. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, dass die Speicherzelle (M1, M2, M3, M4) eine nicht-flüchtige Speicherzelle ist, die eine schwebende Gatterelektrode (FG) und eine Steuergatterelektrode (WL) enthält.
  16. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 7, gekennzeichnet dadurch, ferner zu umfassen: eine Steuerschaltung (13), die Bewegung der Lesedaten in der Datenschaltung steuert.
  17. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 16, gekennzeichnet dadurch, dass mit Bezug auf die Speicherzelle, die vier Zustände hat, die Steuerschaltung (13) enthält: Mittel zum Speichern erster Lesedaten, die aus der Speicherzelle in einem ersten Lesepotenzial gelesen werden in die dritte Datenspeichereinheit; Mittel zum Transferieren der ersten Lesedaten zu der zweiten Datenspeichereinheit aus der dritten Datenspeichereinheit; Mittel zum Speichern zweiter Lesedaten, die aus der Speicherzelle in einem zweiten Lesepotenzial gelesen werden in die erste Datenspeichereinheit; Mittel zum zwangsweisen Ändern eines Wertes der zweiten Lesedaten, die in der ersten Datenspeichereinheit gespeichert sind, basierend auf den ersten Lesedaten, die in der zweiten Datenspeichereinheit gespeichert sind; und Mittel zum Transferieren der zweiten Lesedaten zu der vierten Datenspeichereinheit aus der ersten Datenspeichereinheit.
  18. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 7, gekennzeichnet dadurch, ferner zu umfassen: eine Steuerschaltung (13), die Bewegung der Programmdaten in der Datenschaltung steuert.
  19. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 18, gekennzeichnet dadurch, dass die Steuerschaltung (13) enthält: Mittel zum Speichern der Programmdaten in die vierte Datenspeichereinheit; Mittel zum Transferieren der Programmdaten zu der dritten Datenspeichereinheit von der vierten Datenspeichereinheit; und Mittel zum Transferieren der Programmdaten zu der zweiten Datenspeichereinheit von der dritten Datenspeichereinheit.
  20. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 19, gekennzeichnet dadurch, dass mit Bezug auf die Speicherzelle, die eine Funktion zum Speichern von Zweibitdaten hat und in der Einbitdaten der Daten bereits gespeichert sind, die Steuerschaltung (13) enthält: Mittel zum Transferieren der Programmdaten zu der dritten Datenspeichereinheit von der vierten Datenspeichereinheit und anschließenden Rücksetzen eines Zustands der vierten Datenspeichereinheit; und Mittel zum Lesen der Einbitdaten, die in der Speicherzelle gespeichert sind, in die vierte Datenspeichereinheit.
  21. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 19, gekennzeichnet dadurch, dass die Steuerschaltung (13) Mittel enthält zum Bestimmen, ob die Schwellenspannung der Speicherzelle schwankt oder nicht, basierend auf dem Wert der Programmdaten, die in der Datenspeichereinheit gespeichert sind in einer Schreiboperationszeit.
  22. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 21, gekennzeichnet dadurch, dass der Wert der Programmdaten, die in der dritten Datenspeichereinheit gespeichert sind, in Übereinstimmung mit den Daten geändert wird, die aus der Speicherzelle gelesen werden durch Verifizierungslesen.
  23. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 22, gekennzeichnet dadurch, dass sich der Wert der Programmdaten, die in der zweiten Datenspeichereinheit gespeichert sind, nicht immer ändert.
  24. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 23, gekennzeichnet dadurch, dass die Steuerschaltung (13) enthält: Mittel zum Rücksetzen eines Zustands der dritten Datenspeichereinheit nach Abschluss von Programmierung mit Bezug auf die Speicherzelle; und Mittel zum Transferieren der Programmdaten, die in der zweiten Datenspeichereinheit gespeichert sind, zu der dritten Datenspeichereinheit.
  25. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 1, gekennzeichnet dadurch, dass für die Programmdaten, die in den zweiten und dritten Datenspeichereinheiten gespeichert sind, um zu bestimmen, ob die Schwellenspannung der Speicherzelle schwankt oder nicht basierend auf den Programmdaten, die in der dritten Datenspeichereinheit gespeichert sind in einer Schreiboperationszeit, die Steuerschaltung (13) enthält: Mittel zum Speichern der Lesedaten in die erste Datenspeichereinheit durch Verifizierungslesen; Mittel zum zwangsweisen Ändern des Wertes der Lesedaten, die in der ersten Datenspeichereinheit gespeichert sind, in Übereinstimmung mit dem Wert der Programmdaten, die in der zweiten Datenspeichereinheit gespeichert sind; und Mittel zum Speichern der Lesedaten, die in der ersten Datenspeichereinheit gespeichert sind, als die Programmdaten in die dritte Datenspeichereinheit.
  26. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 20, gekennzeichnet dadurch, dass die Steuerschaltung (13) enthält: Mittel zum Speichern der Lesedaten in die erste Datenspeichereinheit durch Verifizierungslesen; Mittel zum zwangsweisen Ändern des Wertes der Lesedaten, die in der ersten Datenspeichereinheit gespeichert sind, in Übereinstimmung mit dem Wert der Einbitdaten, die in der vierten Datenspeichereinheit gespeichert sind; und Mittel zum Speichern der Lesedaten, die in der ersten Datenspeichereinheit gespeichert sind, als die Programmdaten in die dritte Datenspeichereinheit.
  27. Ein nicht-flüchtiger Halbleiterspeicher, umfassend: eine nicht-flüchtige Halbleiterspeicherzelle (M1, M2, M3, M4), die elektrisch umgeschrieben werden kann; eine Bitleitung (Ble, BLo), die mit der Speicherzelle verbunden ist; und eine Leseschaltung (2), die Daten der Speicherzelle ausliest und die enthält eine erste Datenspeichereinheit (DS1), die mit der Bitleitung verbunden ist, eine zweite Datenspeichereinheit (DS2) mit einer Funktion zum zwangsweisen Ändern eines Wertes von ersten Daten, die in der ersten Datenspeichereinheit gespeichert sind, in Übereinstimmung mit zweiten Daten, die in der zweiten Dateneinheit gespeichert sind, eine dritte Datenspeichereinheit (DS3) mit einer Funktion zum Verriegeln von dritten Daten und eine Datentransferschaltung (Qn9), um die dritten Daten, die in der dritten Datenspeichereinheit gespeichert sind, zu der zweiten Datenspeichereinheit zu transferieren; und gekennzeichnet durch eine Lesesteuerschaltung (2, 13), die steuert, erste Lesedaten aus der Speicherzelle zu der dritten Datenspeichereinheit in einer ersten Leseoperation zu speichern, und die steuert, zweite Lesedaten aus der Speicherzelle zu der ersten Datenspeichereinheit in einer zweiten Leseoperation zu speichern, steuert, die ersten Lesedaten als die dritten Daten von der dritten Datenspeichereinheit zu der zweiten Datenspeichereinheit in der zweiten Leseoperation zu transferieren, und steuert, zwangsweise zu ändern einen Wert der zweiten Lesedaten als die ersten Daten, die in der ersten Datenspeichereinheit gespeichert sind, in Übereinstimmung mit einem Wert der ersten Lesedaten als die zweiten Daten, die in der zweiten Datenspeichereinheit gespeichert sind in der zweiten Leseoperation, und wobei die dritte Datenspeichereinheit erste Lesedaten als die dritten Daten speichert, während der Wert der zweiten Lesedaten als die ersten Daten zwangsweise geändert wird, und die dritten Daten nicht geändert werden, wenn die ersten Daten geändert werden.
  28. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 27, gekennzeichnet dadurch, dass die ersten und zweiten Datenspeichereinheiten (DS1, DS2) elektrische Ladungen in Kondensatoren akkumulieren, um die Daten zu speichern.
  29. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 28, gekennzeichnet dadurch, dass die Datentransferschaltung (Qn9) aus einem ersten MOS-Transistor gebildet ist, die zweite Datenspeichereinheit (DS2) aus einem zweiten MOS-Transistor (Qn8) gebildet ist, eine Source des zweiten MOS-Transistors mit einer ersten Elektrode eines Kondensators der ersten Datenspeichereinheit über einen dritten MOS-Transistor (Qn7) verbunden ist, und ein Gate des zweiten MOS-Transistors mit der Source des ersten MOS-Transistors verbunden ist.
  30. Ein nicht-flüchtiger Halbleiterspeicher nach Anspruch 29, gekennzeichnet dadurch, dass die dritte Datenspeichereinheit (DS3) aus zwei CMOS-Flip-Flops gebildet ist, die mit einem Drain des ersten MOB-Transistors verbunden sind, und ferner mit der ersten Elektrode des Kondensators der ersten Datenspeichereinheit über einen vierten MOB-Transistor (QQn10) verbunden ist.
DE60314068T 2002-09-26 2003-02-28 Nichtflüchtiger Halbleiterspeicher Expired - Lifetime DE60314068T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002281205 2002-09-26
JP2002281205A JP4270832B2 (ja) 2002-09-26 2002-09-26 不揮発性半導体メモリ

Publications (2)

Publication Number Publication Date
DE60314068D1 DE60314068D1 (de) 2007-07-12
DE60314068T2 true DE60314068T2 (de) 2008-01-24

Family

ID=31973305

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60314068T Expired - Lifetime DE60314068T2 (de) 2002-09-26 2003-02-28 Nichtflüchtiger Halbleiterspeicher

Country Status (7)

Country Link
US (2) US6850435B2 (de)
EP (1) EP1403877B1 (de)
JP (1) JP4270832B2 (de)
KR (1) KR100515867B1 (de)
CN (1) CN1295794C (de)
DE (1) DE60314068T2 (de)
TW (1) TWI247427B (de)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
JP3977799B2 (ja) * 2003-12-09 2007-09-19 株式会社東芝 不揮発性半導体記憶装置
TWI292914B (de) * 2002-01-17 2008-01-21 Macronix Int Co Ltd
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US7392436B2 (en) * 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
JP4170952B2 (ja) 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
JP4504138B2 (ja) * 2004-09-03 2010-07-14 株式会社東芝 記憶システム及びそのデータコピー方法
JP4417813B2 (ja) * 2004-10-01 2010-02-17 株式会社東芝 半導体記憶装置及びメモリカード
JP4786171B2 (ja) * 2004-12-10 2011-10-05 株式会社東芝 半導体記憶装置
US7564713B2 (en) * 2005-04-28 2009-07-21 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device wherein during data write a potential transferred to each bit line is changed in accordance with program order of program data
KR100673703B1 (ko) * 2005-06-14 2007-01-24 주식회사 하이닉스반도체 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법
KR100729355B1 (ko) * 2005-07-04 2007-06-15 삼성전자주식회사 멀티 레벨 셀을 갖는 노어 플래시 메모리 장치 및 그것의읽기 방법
KR100642892B1 (ko) 2005-07-19 2006-11-03 주식회사 하이닉스반도체 면적이 감소된 페이지 버퍼 회로와 그 독출 및 프로그램동작 방법
KR100729359B1 (ko) 2005-09-23 2007-06-15 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
JP2007102848A (ja) * 2005-09-30 2007-04-19 Toshiba Corp 半導体集積回路装置
US7206235B1 (en) 2005-10-14 2007-04-17 Sandisk Corporation Apparatus for controlled programming of non-volatile memory exhibiting bit line coupling
US7286406B2 (en) * 2005-10-14 2007-10-23 Sandisk Corporation Method for controlled programming of non-volatile memory exhibiting bit line coupling
US7517482B2 (en) * 2005-11-09 2009-04-14 Industrial Technology Research Institute Method for producing polymeric membranes with high-recovery rate
JP2007164892A (ja) * 2005-12-13 2007-06-28 Toshiba Corp 不揮発性半導体記憶装置のしきい値読み出し方法及び不揮発性半導体記憶装置
JP2007280505A (ja) * 2006-04-06 2007-10-25 Toshiba Corp 半導体記憶装置
JP4896569B2 (ja) 2006-04-10 2012-03-14 株式会社東芝 半導体集積回路装置及びそのダイナミックラッチのリフレッシュ方法
EP2005437B1 (de) * 2006-04-12 2012-06-06 SanDisk Technologies Inc. Minderung der auswirkung von pogrammstörungen während des lesens
US7499326B2 (en) 2006-04-12 2009-03-03 Sandisk Corporation Apparatus for reducing the impact of program disturb
JP2007310936A (ja) * 2006-05-17 2007-11-29 Toshiba Corp 半導体記憶装置
KR100754226B1 (ko) * 2006-08-22 2007-09-03 삼성전자주식회사 비휘발성 데이터 저장장치의 프로그래밍 방법 및 그 장치
US7593259B2 (en) 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme
JP2008111921A (ja) * 2006-10-30 2008-05-15 Renesas Technology Corp 表示制御用半導体集積回路
KR100801035B1 (ko) * 2006-12-14 2008-02-04 삼성전자주식회사 멀티 레벨 셀의 프로그램 방법, 페이지 버퍼 블록 및 이를포함하는 불휘발성 메모리 장치
KR100885912B1 (ko) 2007-01-23 2009-02-26 삼성전자주식회사 기입된 데이터 값에 기초하여 데이터를 선택적으로검증하는 데이터 검증 방법 및 반도체 메모리 장치
KR100855971B1 (ko) 2007-01-23 2008-09-02 삼성전자주식회사 초기 독출 동작없이 메모리 셀에 데이터를 프로그래밍할 수있는 메모리 셀 프로그래밍 방법 및 반도체 메모리 장치
KR100819102B1 (ko) * 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
US7646636B2 (en) 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US7577059B2 (en) * 2007-02-27 2009-08-18 Mosaid Technologies Incorporated Decoding control with address transition detection in page erase function
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US7577029B2 (en) * 2007-05-04 2009-08-18 Mosaid Technologies Incorporated Multi-level cell access buffer with dual function
KR100965066B1 (ko) * 2008-03-28 2010-06-21 주식회사 하이닉스반도체 플래시 메모리 소자 및 그 블록 선택 회로
KR20100050789A (ko) * 2008-11-06 2010-05-14 삼성전자주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
JP5193830B2 (ja) 2008-12-03 2013-05-08 株式会社東芝 不揮発性半導体メモリ
JP2010140521A (ja) * 2008-12-09 2010-06-24 Powerchip Semiconductor Corp 不揮発性半導体記憶装置とその読み出し方法
JP2011003850A (ja) * 2009-06-22 2011-01-06 Toshiba Corp 半導体記憶装置
JP2011008838A (ja) * 2009-06-23 2011-01-13 Toshiba Corp 不揮発性半導体記憶装置およびその書き込み方法
KR101009751B1 (ko) * 2009-06-24 2011-01-19 주식회사 아이에스시테크놀러지 Led용 전기적 검사장비
JP5075992B2 (ja) * 2011-02-02 2012-11-21 株式会社東芝 半導体記憶装置
JP5380506B2 (ja) * 2011-09-22 2014-01-08 株式会社東芝 不揮発性半導体記憶装置
US9588883B2 (en) 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
CN103455440A (zh) * 2012-06-04 2013-12-18 慧荣科技股份有限公司 快闪内存装置及快闪内存的数据存取方法
TWI506630B (zh) * 2012-06-11 2015-11-01 Macronix Int Co Ltd 具有變動壓降的位元線偏壓電路
US9530469B2 (en) * 2013-03-15 2016-12-27 Sony Semiconductor Solutions Corporation Integrated circuit system with non-volatile memory stress suppression and method of manufacture thereof
CN107370351B (zh) * 2016-05-13 2019-12-27 中芯国际集成电路制造(天津)有限公司 电荷泄放电路
KR102540765B1 (ko) * 2016-09-07 2023-06-08 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960002006B1 (ko) * 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
US5357462A (en) * 1991-09-24 1994-10-18 Kabushiki Kaisha Toshiba Electrically erasable and programmable non-volatile semiconductor memory with automatic write-verify controller
JP3421365B2 (ja) * 1992-07-29 2003-06-30 直 柴田 半導体装置
JP3252306B2 (ja) * 1993-08-10 2002-02-04 株式会社日立製作所 半導体不揮発性記憶装置
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5969985A (en) * 1996-03-18 1999-10-19 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
JP3784229B2 (ja) * 2000-01-21 2006-06-07 シャープ株式会社 不揮発性半導体記憶装置およびそれを用いたシステムlsi
JP3983969B2 (ja) 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
JP2002207715A (ja) * 2001-01-11 2002-07-26 Mitsubishi Electric Corp マイクロコンピュータ及びそれに用いるメモリ制御方法
US6480419B2 (en) * 2001-02-22 2002-11-12 Samsung Electronics Co., Ltd. Bit line setup and discharge circuit for programming non-volatile memory

Also Published As

Publication number Publication date
EP1403877A1 (de) 2004-03-31
CN1295794C (zh) 2007-01-17
EP1403877B1 (de) 2007-05-30
KR20040027407A (ko) 2004-04-01
TWI247427B (en) 2006-01-11
US20040062077A1 (en) 2004-04-01
US20040174741A1 (en) 2004-09-09
TW200409360A (en) 2004-06-01
KR100515867B1 (ko) 2005-09-21
US6850435B2 (en) 2005-02-01
DE60314068D1 (de) 2007-07-12
JP2004118940A (ja) 2004-04-15
JP4270832B2 (ja) 2009-06-03
US6885583B2 (en) 2005-04-26
CN1497730A (zh) 2004-05-19

Similar Documents

Publication Publication Date Title
DE60314068T2 (de) Nichtflüchtiger Halbleiterspeicher
US7554848B2 (en) Operating techniques for reducing program and read disturbs of a non-volatile memory
KR100502129B1 (ko) 불휘발성 반도체 메모리
US6418058B1 (en) Nonvolatile semiconductor memory device
US7483304B2 (en) Semiconductor memory device capable of setting a negative threshold voltage
JP3863330B2 (ja) 不揮発性半導体メモリ
DE69936028T2 (de) Nichtflüchtiger Halbleiterspeicher
DE102005056493B4 (de) Mehrbit nichtflüchtige Halbleiterspeicherbauelemente und Betriebsverfahren
US7397698B2 (en) Reducing floating gate to floating gate coupling effect
JP3810985B2 (ja) 不揮発性半導体メモリ
CN102598142B (zh) 存储器装置中的数据线管理
US20090135656A1 (en) Non-volatile semiconductor memory device with dummy cells and method of programming the same
US20050207220A1 (en) Nonvolatile semiconductor memory
WO2007146010A2 (en) Programming a non-volatile memory device
US7839686B2 (en) Semiconductor memory device capable of executing high-speed read
DE102004033443A1 (de) Flashspeicherbauelement mit Mehrpegelzelle sowie Lese- und Programmierverfahren
JP2000228097A (ja) 不揮発性半導体記憶装置およびそのデータ書き込み方法

Legal Events

Date Code Title Description
8364 No opposition during term of opposition