DE10037037B4 - Erfassungszeit-Steuervorrichtung und -Verfahren - Google Patents

Erfassungszeit-Steuervorrichtung und -Verfahren Download PDF

Info

Publication number
DE10037037B4
DE10037037B4 DE10037037A DE10037037A DE10037037B4 DE 10037037 B4 DE10037037 B4 DE 10037037B4 DE 10037037 A DE10037037 A DE 10037037A DE 10037037 A DE10037037 A DE 10037037A DE 10037037 B4 DE10037037 B4 DE 10037037B4
Authority
DE
Germany
Prior art keywords
memory cell
page buffer
content
signal
verification operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10037037A
Other languages
English (en)
Other versions
DE10037037A1 (de
Inventor
Masaru Sunnyvale Yano
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.)
Socionext Inc
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE10037037A1 publication Critical patent/DE10037037A1/de
Application granted granted Critical
Publication of DE10037037B4 publication Critical patent/DE10037037B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

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

Abstract

Verfahren zum Ausführen einer Programmierungsverifikationsoperation, enthaltend:
Programmieren einer Referenzspeicherzelle, welche einer Seite in einem Speicherzellenblock eines NAND-Typ-Flash-Speichers entspricht, wobei der Speicherzellenblock eine Vielzahl von Seiten umfasst, und für jede Seite eine Referenzspeicherzelle vorgesehen ist,
Programmieren einer Speicherzelle auf derselben Seite wie die programmierte Referenzspeicherzelle,
Erzeugen eines Einstellsignals unter Verwendung eines Inhalts der Referenzspeicherzelle und
Verwenden des Einstellsignals, um die Programmierungsverifikationsoperation für die Speicherzelle zu initiieren.

Description

  • HINTERGRUND DER ERFINDUNG
  • Diese Erfindung betrifft allgemein Halbleitervorrichtungen und genauer eine Flash-Speichervorrichtung, insbesondere eine Flash-Speichervorrichtung des NAND-Typs mit Seitenpuffern.
  • Flash-Speichervorrichtungen des NAND-Typs enthalten allgemein eine Speicherzellenanordnung, einen X-Decoder, einen Y-Decoder, eine Hochspannungsschaltung, eine Zustandsmaschinenschaltung, ein Adressenregister, eine Datenregister- und Erfassungsverstärkerschaltung und ein(en) Eingabe/Ausgabe-Register und -Puffer.
  • In der Speicherzellenanordnung einer typischen Flash-Speichervorrichtung des NAND-Typs sind Speicherzellen in Speicherzellenfolgen organisiert. Jede Speicherzellenfolge enthält eine Anzahl von Speicherzellen, die in Serie gekoppelt sind. Üblicherweise enthält jede Speicherzellenfolge eine gleiche Anzahl von Speicherzellen für jegliche gegebene Speicherzellenanordnung. Somit dienen die Speicherzellenfol gen als Basisaufbaublöcke der Speicherzellenanordnungen bei einer typischen Flash-Speichervorrichtung des NAND-Typs.
  • Eine Anzahl von Speicherzellenfolgen ist in Serie gekoppelt, um eine Spalte zu bilden. In jeder Spalte sind die Speicherzellen miteinander an einer Bitleitung gekoppelt. Jede Bitleitung ist an die Datenregister- und Erfassungsverstärkerschaltung gekoppelt. Die Datenregister- und Erfassungsverstärkerschaltung enthält eine Anzahl von Seitenpuffern. Ein Seitenpuffer ist an jede Bitleitung gekoppelt und wird während Lese-, Programmier- und Verifikationsoperationen der Speicherzellen verwendet, die an die Bitleitung gekoppelt sind.
  • Die Speicherzellenanordnung ist auch in einer Anzahl von Reihen organisiert, die auch Seiten genannt werden. Jede Seite von Speicherzellen enthält eine gleiche Anzahl von Speicherzellen. Die Speicherzellen auf jeder Seite sind an einer Wortleitung miteinander gekoppelt. Eine Anzahl von benachbarten Seiten ist in einem Speicherzellenblock organisiert. Jeder Speicherzellenblock enthält so viele Seiten, wie es Speicherzellen in der Speicherzellenfolge gibt. Somit enthält jeder Speicherzellenblock eine Anzahl von benachbarten Speicherzellenfolgen.
  • An einem Kern jeder Speicherzelle ist ein Floating-Gate, das mit Elektronen negativ geladen werden kann. Ein Ladezustand des Floating-Gates gibt an, ob die entsprechende Speicherzelle ein logisches Hoch oder ein logisches Niedrig repräsentiert. Zum Beispiel repräsentiert die Speicherzelle, wenn das Floating-Gate in einem negativ geladenen Zustand ist, ein logisches Niedrig. Wenn das Floating-Gate in einem ungeladenen Zustand ist, repräsentiert die Speicherzelle ein logisches Hoch. Während einer Programmieroperation werden Elektronen in die Floating-Gates von Speicherzellen injiziert, die gegenwärtig in einem ungeladenen Zustand sind, von denen aber gewünscht ist, dass sie in einem negativ geladenen Zustand sind. Während einer Löschoperation werden Elektronen von den Floating-Gates von Speicherzellen entfernt, die in einem negativ geladenen Zustand sind. Somit repräsentiert eine programmierte Speicherzelle ein logisches Niedrig, während eine gelöschte Speicherzelle ein logisches Hoch repräsentiert. Allgemein werden Speicherzellen in einem Speicherzellenblock während jeder Löschoperation gleichzeitig gelöscht, während Speicherzellen in jeder Seite während jeder Programmieroperation gleichzeitig programmiert werden.
  • Nachdem die Speicherzellen programmiert oder gelöscht wurden, werden sie verifiziert, um sicherzustellen, dass ein Programmieren bzw. Löschen richtig ausgeführt wurde. Anders ausgedrückt werden, im Fall einer Programmieroperation, die Speicherzellen während einer Programmierungsverifikationsoperation geprüft, um zu bestimmen, ob eine adäquate Anzahl von Elektronen in die Floating-Gates der programmierten Speicherzellen injiziert wurde. Im Fall der Löschoperation werden die Speicherzellen während einer Löschungsverifikationsoperation geprüft, um zu bestimmen, ob Elektronen erfolgreich von den Floating-Gates der gelöschten Speicherzellen entfernt wurden.
  • Während der Programmierungs- und Löschungsverifikationsoperationen werden die Seitenpuffer in der Datenregister- und Erfassungsverstärkerschaltung verwendet, um die Inhalte von Speicherzellen zu lesen und zu speichern. Da ein Seiten puffer mit jeder Bitleitung verbunden ist, wird während einer Programmierungsverifikationsoperation eine gesamte Seite auf einmal verifiziert. Eine Verifikation wird für einen gesamten gelöschten Speicherzellenblock während einer Löschungsverifikationsoperation ausgeführt, da Speicherzellen eines Speicherzellenblocks, der mehrere Seiten enthält, gleichzeitig gelöscht werden.
  • Während der Programmierungsverifikationsoperation wird eine Spannung an einem Schwellenwertspannungsknoten in jedem Seitenpuffer geprüft. Die Spannung an dem Schwellenwertspannungsknoten variiert in Abhängigkeit von dem Ladezustand der Speicherzelle, deren Inhalt verifiziert wird. Wenn die Speicherzelle richtig programmiert wurde, d.h., wenn das Floating-Gate der Speicherzelle richtig negativ geladen wurde, wird eine Schwellenwertspannung an dem Schwellenwertspannungsknoten erreicht. Wenn die Speicherzelle nicht richtig programmiert wurde, wird die Schwellenwertspannung nicht erreicht.
  • Auf Grund des Widerstandes der Speicherzellen, Bitleitungen und Seitenpuffer wird die Schwellenwertspannung nicht sofort erreicht, selbst wenn die Speicherzelle richtig programmiert wurde. Somit kann, wenn eine Programmierungsverifikationsoperation zu bald auf eine Programmieroperation folgend ausgeführt wird, eine falsche Schlussfolgerung, dass die Speicherzelle nicht richtig programmiert wurde, erhalten werden. Somit wird ein Einstellsignal, das nach einer vorprogrammierten Verzögerung aktiviert wird, üblicherweise verwendet, um die Programmierungsverifikationsoperation zu initiieren. Das Einstellsignal mit der programmierten Verzö gerung wird typischerweise durch eine Zeitsteuersequenz in der Zustandsmaschinenschaltung erzeugt.
  • Das Verwenden eines Einstellsignals mit einer vorprogrammierten Verzögerung, um die Programmierungsverifikationsoperation zu initiieren, wirft einige Schwierigkeiten auf. Da Speicherzellen in verschiedenen Seiten verschiedene Widerstände vom Seitenpuffer zur Speicherzelle und von der Speicherzelle zu einer Vss-Spannung haben, kann eine Verwendung einer einheitlichen Verzöge rung, die für alle Speicherzellen vorprogrammiert wurde, Probleme aufwerfen. Ferner hängt eine Zeit für den Schwellenwertknoten, um die Schwellenwertspannung zu erreichen, auch von der Temperatur ab, und es ist nicht immer möglich, eine vorprogrammierte Dauer der vorprogrammierten Verzögerung richtig abzuschätzen.
  • Wenn die vorprogrammierte Verzögerung zu lang ist, wird die Geschwindigkeit der Flash-Speichervorrichtung wegen einer unnötigen zusätzlich Warteperiode ungünstig beeinflusst. Wenn die vorprogrammierte Verzögerung zu kurz ist, kann die Programmierungsverifikationsoperation versucht werden, bevor die Schwellenwertspannung erreicht wird, selbst wenn die Speicherzelle, die verifiziert wird, richtig programmiert wurde. Anders ausgedrückt kann, wenn die Programmierungsverifikationsoperation zu früh ausgeführt wird, die Verifikation fälschlicherweise versagen. Wenn sie zu spät ausgeführt wird, kann eine unnötige zusätzliche Verzögerung die Geschwindigkeit der Flash-Speichervorrichtung abbremsen.
  • Zum Hintergrund der Erfindung wird die US 5,936,890 A genannt, aus der ein NAND-Flash-Speicher bekannt ist, bei dem Lösch- und Programmier-Verifikationen vorgesehen sind.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Entsprechend ist es ein allgemeines Ziel der vorliegenden Erfindung, die Sicherheit der Verifikation einer Programmierung einer Halbleitervorrichtung ohne Geschwindigkeitseinbußen zu erhöhen.
  • Dieses Ziel wird jeweils durch die Gegenstände der selbständigen Ansprüche erreicht.
  • Zur Erreichung dieses Ziels werden durch die vorliegende Erfindung eine Erfassungszeit-Steuervorrichtung und ein Erfassungszeit-Steuerverfahren geschaffen, die eine Messung einer vorprogrammierten Referenzspeicherzelle verwenden, um die Zeit sicherzustellen, die ein Schwellenwertspannungsknoten benötigt, eine Schwellenwertspannung zu erreichen.
  • Eine Ausführung der vorliegenden Erfindung ist ein Verfahren, eine Programmierungsverifikationsoperation auszuführen. Eine Referenzspeicherzelle und eine Speicherzelle werden programmiert. Ein Einstellsignal wird unter Verwendung eines Inhalts der Referenzspeicherzelle erzeugt. Die Programmierungsverifikationsoperation für die Speicherzelle wird unter Verwendung des Einstellwertes initiiert.
  • Eine andere Ausführung der vorliegenden Erfindung ist ein Verfahren, eine Programmierungsverifikationsoperation auszuführen, wobei die Referenzspeicherzelle an einen Referenzseitenpuffer gekoppelt ist und die Speicherzelle an einen Datenseitenpuffer gekoppelt ist. Der Referenzseitenpuffer wird verwendet, um einen Inhalt der Referenzspeicherzelle zu lesen und zu speichern, und der Datenseitenpuffer wird verwendet, um den Inhalt der Speicherzelle zu lesen und zu speichern.
  • Noch eine andere Ausführung der vorliegenden Erfindung ist ein Verfahren, eine Programmierungsverifikationsoperation auszuführen, wenn eine erste Programmierungsverifikationsoperation versagt. Die Speicherzelle wird neu programmiert und das Einstellsignal wird neu erzeugt mit dem Inhalt der Referenzspeicherzelle. Das Einstellsignal wird verwendet, um eine weitere Programmierungsverifikationsoperation der Speicherzelle zu initiieren.
  • Noch eine weitere Ausführung der vorliegenden Erfindung ist ein Verfahren, eine Löschungsverifikationsoperation auszuführen. Eine Referenzspeicherzelle wird programmiert und eine Speicherzelle wird gelöscht. Ein Einstellsignal wird erzeugt unter Verwendung eines Inhalts der Referenzspeicherzelle. Die Löschungsverifikationsoperation für die Speicherzelle wird initiiert unter Verwendung des Einstellsignals.
  • Noch eine andere Ausführung der vorliegenden Erfindung ist ein Verfahren, eine Löschungsverifikationsoperation aus zuführen, wenn eine erste Löschungsverifikationsoperation versagt. Die Speicherzelle wird neu gelöscht und das Einstellsignal wird neu erzeugt mit dem Inhalt der Referenzspeicherzelle. Das Einstellsignal wird verwendet, um eine weitere Löschungsverifikationsoperation der Speicherzelle zu initiieren.
  • Noch eine weitere Ausführung der vorliegenden Erfindung ist ein Verfahren, eine Programmierungsverifikationsoperati on auszuführen, wobei eine Mehrzahl von Speicherzellen programmiert wird.
  • Noch eine andere Ausführung der vorliegenden Erfindung ist ein Verfahren, eine Löschungsverifikationsoperation auszuführen, wobei eine Mehrzahl von Speicherzellen gelöscht wird.
  • Noch eine weitere Ausführung der vorliegenden Erfindung ist ein Verfahren, einen Inhalt einer Speicherzelle zu verifizieren, enthaltend das Programmieren einer Referenzspeicherzelle, Erfassen eines Inhalts der Referenzspeicherzelle und Verifizieren des Inhalts der Speicherzelle, wenn der Inhalt der Referenzspeicherzelle erfasst wurde.
  • Noch eine andere Ausführung der vorliegenden Erfindung ist ein Verfahren, einem Seitenpuffer, der mit einer Speicherzelle verbunden ist, ein Einstellsignal bereitzustellen. Eine Referenzspeicherzelle, die an einen Referenzseitenpuffer gekoppelt ist, wird programmiert. Eine Spannung eines Knotens indem Referenzseitenpuffer wird basierend auf dem Inhalt der Referenzspeicherzelle eingestellt. Die Spannung an dem Knoten wird dem Seitenpuffer als das Einstellsignal bereitgestellt.
  • Noch eine weitere Ausführung der vorliegenden Erfindung ist eine Einstellzeit-Steuerschaltung, enthaltend einen Referenzseitenpuffer und eine Mehrzahl von Datenseitenpuffern. Der Referenzseitenpuffer erhält ein Einstellinitiierungs signal und erzeugt ein Einstellsignal. Die Mehrzahl von Datenseitenpuf fern erhält das Einstellsignal und Speicherinhalte einer Mehrzahl von Speicherzellen. Jeder der Mehrzahl von Datenseitenpuffern speichert einen Inhalt einer zugehörigen der Mehrzahl von Speicherzellen.
  • Noch eine andere Ausführung der vorliegenden Erfindung ist eine NAND-Typ-Flash-Speichervorrichtung, die eine Speicherzellenanordnung mit einer Mehrzahl von Reihen und einer Mehrzahl von Spalten von Speicherzellen sowie die nachfolgenden Komponenten enthält. Ein X-Decoder wählt die Mehrzahl von Reihen von Speicherzellen, und ein V-Decoder wählt die Mehrzahl von Spalten von Speicherzellen. Eine Datenregister- und Erfassungsverstärkerschaltung liest und programmiert die Mehrzahl von Reihen und die Mehrzahl von Spalten der Speicherzellen. Ein Eingabe/Ausgabe- oder I/O-Register und -Puffer ist an die Datenregister- und Erfassungsverstärkerschaltung gekoppelt. Der I/O-Register und -Puffer stellt eine externe Schnittstelle der NAND-Typ-Flash-Speichervorrichtung bereit. Eine Hochspannungsschaltung stellt dem X-Decoder Programmier-, Lese- und Löschspannungen bereit. Eine Zustandsmaschinenschaltung stellt der Datenregister- und Erfassungsverstärkerschaltung Steuersignale bereit. Ein Adressenregister stellt dem X-Decoder und dem V-Decoder eine Adresse bereit, die decodiert werden soll.
  • Weitere vorteilhafte und/oder bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Ansprüchen und deren Kombinationen sowie den übrigen Unterlagen.
  • Viele der zugehörigen Merkmale dieser Erfindung werden leichter gewürdigt werden, wenn die letztere durch Bezugnahme auf die nachfolgende genaue Beschreibung besser verstanden wird, die im Zusammenhang mit den begleitenden Zeichnungen heranzuziehen ist.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm einer Flash-Speichervorrichtung, die die Erfassungszeit-Steuervorrichtung und das Erfassungszeit-Steuerverfahren der vorliegenden Erfindung verwendet,
  • 2 ist ein Blockdiagramm einer Speicherzellenanordnung und einer Datenregister- und Erfassungsverstärkerschaltung,
  • 3 ist ein Blockdiagramm einer Schnittstelle zwischen einem Referenzseitenpuffer und einem i-ten Seitenpuffer,
  • 4 ist ein Seitenpuffer, der mit einer i-ten Bitleitung der Datenregister- und Erfassungsverstärkerschaltung verbunden ist,
  • 5 ist ein Seitenpuffer, der mit einer Referenzbitleitung der Datenregister- und Erfassungsverstärkerschaltung verbunden ist,
  • 6 ist ein Zeitsteuerdiagramm, das Spannungspegel, die von verschiedenen Signalen gezeichnet sind, bezüglich einander während einer Programmierungsverifikationsoperation zeigt, und
  • 7 ist ein Flussdiagramm eines Prozesses, eine Programmierungsverifikationsoperation auszuführen.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Die 1 ist ein Blockdiagramm einer Flash-Speichervorrichtung, die eine Erfassungszeit-Steuervorrichtung und ein Erfassungszeit-Steuerverfahren der vorliegenden Erfindung verwendet. Eine Speicherzellenanordnung 1 besteht aus Reihen und Spalten von Speicherzellen. Die Reihen von Speicherzellen werden allgemein als Wortleitungen bezeichnet, und die Spalten von Speicherzellen werden allgemein als Bitleitungen bezeichnet. Die Speicherzellen in der Speicherzellenanordnung sind mit ersten und zweiten X-Decodern 11 und 13 und ersten und zweiten V-Decodern 7 und 9 adressierbar.
  • Die Speicherzellenanordnung enthält eine Mehrzahl von Speicherzellenblöcken, von denen jeder eine Anzahl von Reihen von Speicherzellen enthält. Der erste X-Decoder wird verwendet, um eine erste Gruppe von Speicherzellenblöcken auszuwählen, während der zweite X-Decoder verwendet wird, um eine zweite Gruppe von Speicherzellenblöcken auszuwählen. Zum Beispiel wird der erste X-Decoder verwendet, um geradzahlig nummerierte Speicherzellenblöcke auszuwählen, d.h. Speicherzellenblöcke 0, 2, 4, etc. Der zweite X-Decoder wird verwendet, um ungeradzahlig nummerierte Speicherzellenblöcke auszuwählen, d.h. Speicherzellenblöcke 1, 3, 5, etc.
  • Ähnlich wird der erste V-Decoder verwendet, um eine erste Gruppe von Spalten von Speicherzellen auszuwählen, während der zweite Y-Decoder verwendet wird, um eine zweite Gruppe von Spalten von Speicherzellen auszuwählen. Zum Beispiel wird, wenn n die Anzahl von Spalten von Speicherzellen in einer Speicherzellenanordnung ist, der erste Y-Decoder verwendet, um die erste Gruppe von n/2 Spalten von Speicherzellen auszuwählen, während der zweite V-Decoder verwendet wird, um die zweite Gruppe von n/2 Spalten von Speicherzellen auszuwählen.
  • Die ersten und zweiten X-Decoder und die ersten und zweiten V-Decoder erhalten Speicheradressen von einem Adressenregister 21. Die Speicheradressen sind durch die ersten und zweiten X-Decoder decodiert, um Reihen von Speicherzellen für Lese-, Programmier-, Lösch- und Verifikationsoperationen auszuwählen. Die Speicheradressen werden auch von den ersten und zweiten V-Decoder decodiert, um Spalten von Speicherzellen für Lese-, Programmier-, Lösch- und Verifikationsoperationen auszuwählen.
  • Eine Hochspannungsschaltung 17 stellt den ersten und zweiten X-Decodern 11 und 13 Spannungen bereit, um sie an ausgewählte Speicherzellen anzulegen. Verschiedene Spannungspegel werden den Speicherzellen für verschiedene Opera tionen bereitgestellt. Die Spannungspegel, die den Speicherzellen während verschiedener Operationen bereitgestellt werden sollten, sind in der Technik gut bekannt.
  • Ähnlich zu den ersten und zweiten V-Decodern 7 und 9 sind erste und zweite Datenregister- und Erfassungsverstärkerschaltungen 3, 5 entsprechend mit ersten und zweiten Gruppen von Spalten von Speicherzellen in Kontakt. Während einer Leseoperation lesen und speichern die ersten und zweiten Datenregister- und Erfassungsverstärkerschaltungen Daten von ausgewählten Speicherzellen. Die Daten werden von den ersten und zweiten Datenregister- und Erfassungsverstärkerschaltungen zu einem I/O-Register und -Puffer 15 übertragen, um aus der Flash-Speichervorrichtung heraus übertragen zu werden. Während einer Programmieroperation erhalten die ersten und zweiten Datenregister- und Erfassungsverstärkerschaltungen Daten, die zu ausgewählten Speicherzellen geschrieben werden sollen, von dem I/O-Register und -Puffer 15. Eine Zustandsmaschinenschaltung 19 führt Steuersignale zu den Datenregister- und Erfassungsverstärkerschaltungen 3 und 5 zu. Die Zustandsmaschinenschaltung steuert die Zeitsteuerung von Signalen, die während der Programmierungs verifikations- und der Löschungsverifikationsoperationen verwendet werden.
  • Die 2 ist ein Blockdiagramm einer Speicherzellenanordnung 33, die 4096 Spalten von Speicherzellen hat, und eine Wiedergabe einer Datenregister- und Erfassungsverstärkerschaltung 31, die Seitenpuffer enthält. Jede Spalte von Speicherzellen ist mit einer entsprechenden Bitleitung verbunden. Jede Bitleitung ist an einen entsprechenden Seitenpuffer gekoppelt. Die Speicherzellenanordnung 33 enthält auch eine Spalte von Referenzspeicherzellen. Die Spalte von Referenzspeicherzellen ist mit einer Referenzbitleitung verbunden, welche an einem Referenzseitenpuffer 35d gekoppelt ist. Die Speicherzellenanordnung 33 kann ferner zusätzliche Spalten von Speicherzellen enthalten. Die Datenregister- und Erfassungsverstärkerschaltung 31 kann ferner zusätzliche Seitenpuffer enthalten, die mit den zusätzlichen Spalten von Speicherzellen verbunden sind.
  • Bei der beschriebenen Ausführung gibt es, wie in der 1 gezeigt ist, tatsächlich zwei Datenregister- und Erfassungsverstärkerschaltungen 3 und 5. Die erste Datenregister- und Erfassungsverstärkerschaltung 3 enthält Seitenpuf fer, die mit der ersten Gruppe von 2048 Spalten von Speicherzellen verbunden sind, und die zweite Datenregister- und Erfassungsverstärkerschaltung 5 enthält Seitenpuffer, die mit der zweiten Gruppe von 2048 Spalten von Speicherzellen verbunden sind. zur Klarheit der Beschreibung repräsentiert die Datenregister- und Erfassungsverstärkerschaltung 31 eine Kombination von beiden der ersten und zweiten Datenregister- und Erfassungsverstärkerschaltungen 3 und 5. Somit enthält die Datenregister- und Erfassungsverstärkerschaltung 31 der 2 alle 4096 Seitenpuffer, wobei jeder Seitenpuffer mit einer der 4096 Spalten von Speicherzellen von sowohl der ersten, als auch der zweiten Datenregister- und Erfassungsverstärkerschaltung verbunden ist.
  • Die Speicherzellen in der Speicherzellenanordnung sind in Speicherzellenfolgen 37a-c und 39a-c organisiert. Bei einer Ausführung der vorliegenden Erfindung enthält jede Speicherzellenfolge sechzehn Speicherzellen, einen ersten Auswahl-Gate-Transistor und einen zweiten Auswahl-Gate-Transistor. In jeder Speicherzellenfolge sind die Speicherzellen und die ersten und zweiten Auswahl-Gate-Transistoren in Reihe gekoppelt.
  • Die ersten und zweiten Auswahl-Gate-Transistoren sind jeweils am Anfang und am Ende jeder Speicherzellenfolge. Der erste Auswahl-Gate-Transistor erhält ein erstes Auswahl-Gate-Signal SG 1, und schaltet sich nach Aufstellung des ersten Auswahl-Gate-Signals SG 1 ein. Wenn der erste Auswahl-Gate-Transistor einer bestimmten Speicherzellenfolge eingeschaltet ist, wird jene spezielle Speicherzellenfolge. zur Kommunikation mit dem zugehörigen Seitenpuffer ausgewählt.
  • Der zweite Auswahl-Gate-Transistor erhält ein zweites Auswahl-Gate-Signal SG 2, und schaltet sich nach Aufstellung des zweiten Auswahl-Gate-Signals SG 2 ein. Eine Quelle des zweiten Auswahl-Gate-Transistors ist an eine Vss-Spannung gekoppelt. Somit wird, wenn der zweite Auswahl-Gate-Transistor einer speziellen Speicherzellenfolge eingeschaltet ist, jene spezielle Speicherzellenfolge mit der Vss-Spannung versorgt.
  • Wie in der Ausführung von 2 gezeigt ist, enthält die Speicherzellenanordnung 33 4096 Bitleitungen und eine Referenzbitleitung. Eine Drain jedes der ersten Auswahl-Gate-Transistoren ist an die Bitleitung gekoppelt, die mit der Speicherzellenfolge verbunden ist, die den ersten Auswahl-Gate-Transistor enthält. Die Speicherzellenfolgen 37a-c repräsentieren einen ersten Speicherzellenblock, der aus 4 096 benachbarten Seicherzellenfolgen besteht. Da es 1024 Speicherzellenblöcke in der Flash-Speichervorrichtung der vorliegenden Erfindung gibt, repräsentieren die Speicherzellenfolgen 39a-c einen 1024-ten Speicherzellenblock, der aus 4096 benachbarten Speicherzellenfolgen besteht. Somit ist jede der 4096 benachbarten Speicherzellenfolgen in jedem Speicherzellenblock an die zugehörige der 4096 Bitleitungen gekoppelt.
  • Während Lese- und Programmieroperationen werden 4096 Speicherbits gleichzeitig gelesen oder programmiert. Eine Reihe von Speicherzellen, die mit einer Wortleitung verbunden ist, kann gleichzeitig gelesen oder programmiert werden. Die Reihe von Speicherzellen, die mit einer Wortleitung verbunden ist, wird auch eine Seite genannt. Somit gibt es 16 Seiten in jedem Speicherzellenblock, da es 16 Reihen von Speicherzellen gibt. Die ersten und zweiten X-Decoder (gezeigt in der 1) wählen jeden Speicherzellenblock durch Bereitstellen des Auswahl-Gate-Signals SG 1 und SG 2 aus, die an die ersten bzw. zweiten Auswahl-Gate-Transistoren angelegt werden. Ferner wählen die ersten und zweiten X-Decoder jede Seite in dem ausgewählten Speicherzellenblock durch Bereitstellen geeigneter Spannungen an Wortleitungen 1 bis 16 aus, wobei jede Wortleitung mit einer Seite verbunden ist. Der erste X-Decoder wählt geradzahlige Speicherzellenblöcke 0, 2, 4 ... 1022 aus. Der zweite X-Decoder wählt ungeradzahlige Speicherzellenblöcke 1, 3, 5 ... 1023 aus.
  • Die ersten und zweiten V-Decoder (gezeigt in der 1) wählen Spalten aus, von welchen jede 1024 Speicherzellenfolgen enthält, die zusammen an eine Bitleitung gekoppelt sind. Der erste Y-Decoder wählt Bitleitungen 0-255, 512-767, 1024-1279, 1536-1791, 2048-2303, 2560-2815, 3072-3327 und 3584-3839 aus. Der zweite V-Decoder wählt Bitleitungen 256-511, 768-1023, 1280-1535, 1792-2047, 2304-2559, 2816-3071, 3328-3583 und 3840-4095 aus.
  • Die Datenregister- und Erfassungsverstärkerschaltung 31 erhält ein Programmiersignal PGM, ein Bitleitungssteuersignal BL_CTRL, ein Einstellinitiierungssignal SET_INIT und ein Biassignal BIAS von der Zustandsmaschinenschaltung (gezeigt in der 1). Diese Steuersignale werden von der Zustandsmaschinenschaltung bereitgestellt und werden von den Seitenpuffern und dem Referenzseitenpuffer während Lese-, Programmier- und Verifikationsoperationen verwendet. Der Referenzseitenpuffer 35d erhält das Einstellinitiierungssignal SET_INIT von der Zustandsmaschinenschaltung und stellt ein Einstellsignal an jeden der Seitenpuffer 35a-c bereit.
  • Die 3 ist ein Blockdiagramm, das eine Schnittstelle zwischen einem i-ten Seitenpuffer 32 und dem Referenzseitenpuffer 34 illustriert. Beide, der i-te Seitenpuffer und der Referenzseitenpuffer, erhalten das Programmiersignal PGM, das Bitleitungssteuersignal BL_CTRL und das Biassignal BIAS. Der Referenzseitenpuffer erhält auch das Einstellinitiierungssignal SET_INIT. Der Referenzseitenpuffer erzeugt ein Einstellsignal SET, das dem i-ten Seitenpuffer bereitgestellt wird. Der i-te Seitenpuffer und der Referenzseitenpuffer sind an eine i-te Bitleitung bzw. die Referenzbitleitung gekoppelt. Der i-te Seitenpuffer dient als eine Schnittstelle zwischen der i-ten Bitleitung und den I/O-Register und -Puffer über die Daten-I/O-Schnittstelle. Ähnlich dient der Referenzseitenpuffer als eine Schnittstelle zwischen der Referenzbitleitung und den I/O-Register und -Puffer über die Referenzdaten-I/O-Schnittstelle.
  • Die 4 ist ein Seitenpuffer, der mit einer i-ten Bitleitung BL i verbunden ist. Eine Drain eines Biastransistors 41 ist an Vcc gekoppelt. Ein Gate des Biastransistors 41 ist an das Biassignal BIAS gekoppelt. Eine Quelle des Biastransistors ist an die i-te Bitleitung BL i gekoppelt. Entsprechend steuert das Biassignal BIAS eine Größe eines Stroms, der durch die i-te Bitleitung BL i fließt. Wenn das Biassignal BIAS nicht aufgestellt ist, fließt annähernd kein Strom durch die i-te Bitleitung BL i, da der Biastransistor dann ausgeschaltet ist und annähernd kein Strom durch den Biastransistor fließen wird, ungeachtet des Programmierstatus einer ausgewählten Speicherzelle. Bei der beschriebenen Ausführung ist das Biassignal BIAS auf Niedrig eingestellt, wenn es aufgestellt wird, da der Biastransistor 41 ein p-Typ-Transistor ist.
  • Jede Bitleitung einer NAND-Typ-Flash-Speichervorrichtung ist allgemein an einen Bitleitungssteuertransistor gekoppelt, der zwischen der Bitleitung und einem zugehörigen Seitenpuffer liegt. Somit wird ein Bitleitungssteuertransistor, der an eine spezielle Bitleitung gekoppelt ist, für die Lese- und Programmieroperationen von Speicherzellen an der speziellen Bitleitung eingeschaltet. Andernfalls ist, wenn der Bitleitungssteuertransistor ausgeschaltet ist, der zugehörige Seitenpuffer allgemein nicht in der Lage, die Leseoperation oder die Programmieroperation auszuführen.
  • In der 4 liegt ein Bitleitungssteuertransistor 53 zwischen der i-ten Bitleitung BL i und dem Seitenpuffer, wobei eine Quelle des Bitleitungssteuertransistors 53 an die i-te Bitleitung BL i gekoppelt ist und eine Drain des Bitleitungssteuertransistors 53 an die Quelle des Biastransistors 41 gekoppelt ist. Somit steuert der Bitleitungssteuertransistor 53, ob es der i-ten Bitleitung BL i gestattet ist, Strom zu leiten. Für Lese- und Programmieroperationen wird das Bitleitungssteuersignal BL_CTRL aufgestellt, um den Bitleitungssteuertransistor 53 einzuschalten.
  • Die Kopplung der Quelle des Biastransistors 41 und der Drain des Bitleitungssteuertransistors 53 bildet einen Knoten A. Eine Daten-I/O-Leitung ist an den Knoten A gekoppelt über einen Programmiertransistor 43. Genauer ist eine Quelle des Programmiertransistors 43 an die Quelle des Biastransistors 41 am Knoten A gekoppelt, und ist eine Drain des Pro gammiertransistors 43 an die Daten-I/O-Leitung gekoppelt. Das Programmiersignal PGM wird an einem Gate des Programmiertransistors 43 bereitgestellt.
  • Während einer Programmieroperation wird das Programmiersignal PGM aufgestellt und schaltet den Programmiertransistor 43 ein. Bei der beschriebenen Ausführung geht das Programmiersignal PGM hoch, wenn es aufgestellt wird. Mit geeigneten Spannungen, die an eine ausgewählte Reihe von Speicherzellen, d. h. eine Seite, angelegt werden, werden Daten vom I/O-Register und -Puffer über eine Daten-I/O-Leitung auf die i-te Bitleitung BL i durch den Programmiertransistor 43 und den Steuertransistor 53 angewandt und zu der ausgewählten Speicherzelle der i-ten Bitleitung BL i auf der ausgewählten Seite geschrieben. Die geeigneten Spannungen, die während Programmieroperationen an die Speicherzellen angelegt werden sollten, sind in der Technik gut bekannt.
  • Wenn die Programmieroperation einmal abgeschlossen ist, werden die Daten, die geschrieben wurden, verifiziert, um die Zuverlässigkeit während einer Programmierungsverifikationsoperation zu erhöhen. Während der Programmierungsverifikationsoperation wird das Programmiersignal PGM nicht aufgestellt. Bei der beschriebenen Ausführung bleibt das Programmiersignal PGM auf Niedrig, wenn es nicht aufgestellt ist.
  • Ein Einstelltransistor 51, ein Schwellenwerttransistor 49 und Inverter 45, 47 werden während der Programmierungsverifikationsoperation und der Löschungsverifikationsoperation verwendet, um zu prüfen, ob das Programmieren bzw. Löschen befriedigend ausgeführt wurde. Eine Quelle des Einstelltran sistors 51 ist an eine Vss-Spannung gekoppelt, und ein Gate des Einstelltransistors erhält das Einstellsignal SET. Wenn das Einstellsignal SET aufgestellt ist, wird der Einstelltransistor 51 eingeschaltet und wird die Vss-Spannung an eine Quelle des Schwellenwerttransistors 49 angelegt, welcher an eine Drain des Einstelltransistors 51 gekoppelt ist. Bei der beschriebenen Ausführung bleibt das Einstellsignal SET auf Hoch, wenn es aufgestellt ist.
  • Eine Drain des Schwellenwerttransistors 49, welcher einen Knoten B bildet, ist an einen Eingang es Inverters 47 und einen Ausgang des Inverters 45 gekoppelt. Ein Ausgang des Inverters 47 ist an einen Eingang des Inverters 45 gekoppelt. Somit bilden die Inverter 45 und 47 eine Kipp- oder Speicherschaltung (Latch). Vor der Programmierungsverifikationsoperation oder der Löschungsverifikationsoperation wird die Kipp- oder Speicherschaltung (Latch) auf ein logisches Hoch am Knoten B voreingestellt, indem eine Logisch-Hoch-Voreinstellspannung PRESST angelegt wird. Somit hat die Daten-I/O-Leitung eine Ausgabe von logisch Niedrig. Tatsächlich ist die Daten-I/O-Leitung an einen Inverter (nicht gezeigt) gekoppelt, und daher werden die Daten, die von dem I/O-Register und -Puffer erhalten werden, ein logisches Hoch, wenn der Knoten B auf einem logischen Hoch ist.
  • Durch Bereitstellen des Inverters an der Daten-I/O-Leitung werden nichtinvertierte Daten dem I/O-Register und -Puffer bereitgestellt. Zum Beispiel wird angenommen, dass eine bestimmte Speicherzelle nicht programmiert ist, d. h. die bestimmte Speicherzelle ein logisches Hoch enthält. Wie im einzelnen unten erklärt ist, wird der Knoten B des Seitenpuffers ein logisches Hoch, wenn der Seitenpuffer die bestimmte Speicherzelle liest. Somit wird eine Ausgabe einer Kipp- oder Speicherschaltung (Latch), die an einen Eingang zum Knoten B gekoppelt ist, ein logisches Niedrig. Der Inverter ist daher am Ausgang der Kipp- oder Speicherschaltung (Latch) vorgesehen, um die invertierten Daten von der bestimmten Speicherzelle zurückzuinvertieren. Somit werden die nichtinvertierten Daten von der bestimmten Speicherzelle dem I/O-Register und -Puffer bereitgestellt.
  • Beide, der Biastransistor 41 und der Bitleitungssteuertransistor 53, werden während der Programmierungs- und Löschungsverifikationsoperationen eingeschaltet. Wenn eine ausgewählte Speicherzelle während der Programmierungsverifikationsoperation keinerlei Ladung enthält, d. h. die Speicherzelle gelöscht oder nicht programmiert ist, fließt ein Strom durch die i-te Bitleitung BL i. Ähnlich fließt während der Löschungsverifikationsoperation, wenn alle der Speicherzellen eines ausgewählten Speicherzellenblockes an der i-ten Bitleitung BL i erfolgreich gelöscht wurden, d. h. von Elektronen entladen wurden, ein Strom durch die i-te Bitleitung BL i.
  • In jenen Fällen wird ein Schwellenwertspannungsknoten A zwischen der Quelle des Biastransistors 41 und der Drain des Bitleitungssteuertransistors 53 auf niedrig gezogen, da es einen Spannungsabfall über den Biastransistor 41 gibt. Somit wird die Spannung an dem Schwellenwertspannungsknoten A unausreichend sein, um den Schwellenwerttransistor 49 einzuschalten. Wenn der Schwellenwerttransistor 49 nicht einge schaltet wird, wird die Vss-Spannung von dem Einstelltransistor 51 nicht am Knoten B angelegt. Daher bleibt während der Programmierungsverifikationsoperation, wenn die ausgewählte Speicherzelle nicht programmiert wurde, ein Inhalt der Kipp- oder Speicherschaltung (Latch) am Knoten B derselbe, und die Daten-I/O-Leitung stellt ein logisches Hoch zum I/O-Register und -Puffer durch einen Inverter (nicht gezeigt) bereit. Ähnlich stellt während der Löschungsverifikationsoperation wenn alle der Speicherzellen einer Bitleitung in einem Speicherzellenblock gelöscht wurden, die Daten-I/O-Leitung ein logisches Hoch zum I/O-Register und -Puffer durch einen Inverter (nicht gezeigt) bereit.
  • Wenn die ausgewählte Speicherzelle programmiert ist, fließt kein Strom durch die i-te Bitleitung BL i während der Programmierungsverifikationsoperation. Ähnlich fliegt, wenn eine oder mehrere Speicherzellen eines ausgewählten Speicherzellenblockes an der i-ten Bitleitung BL i nicht erfolgreich gelöscht wurde, kein Strom durch die i-te Bitleitung BL i während der Löschungsverifikationsoperation.
  • In jenen Fällen wird der Schwellenwertspannungsknoten A I zwischen der Quelle des Biastransistors 41 und der Drain des Bitleitungssteuertransistors 53 hochgezogen, da es keinen Spannungsabfall über dem Biastransistor 41 gibt. Somit wird die Spannung am Schwellenwertspannungsknoten A ausreichend sein, um den Schwellenwerttransistor 49 einzuschalten. Wenn der Schwellenwerttransistor 49 eingeschaltet ist, wird die Vss-Spannung von dem Einstelltransistor 51 am Knoten B angelegt. Daher ändert sich, wenn die ausgewählte Speicherzelle programmiert wurde, der Inhalt der Kipp- oder Speicherschaltung (Latch) am Knoten B auf ein logisches Niedrig, und die Daten-I/O-Leitung stellt ein logisches Niedrig zum I/O-Register und -Puffer durch den Inverter (nicht gezeigt) bereit.
  • Wenn eine korrekt programmierte Speicherzelle zur Verifikation ausgewählt wurde, erreicht, nachdem eine ausreichende Zeit auf das Einschalten des Biastransistors 41 und des Bitleitungssteuertransistors 53 vergangen ist, die Spannung am Schwellenwertknoten A einen Schwellenwertspannungspegel, der ausreicht, um den Schwellenwerttransistor 49 einzuschalten. Die ausreichende Zeit, die für den Schwellenwertknoten A erforderlich ist, um den Schwellenwertspan nungspegel zu erreichen, hängt von solchen Faktoren, wie Temperatur und eine relative Position der ausgewählten Speicherzelle innerhalb der Speicherzellenanordnung ab.
  • Daher wird bei der vorliegenden Erfindung das Einstellsignal SET aufgestellt, wenn eine vorprogrammierte Speicherzelle, die ähnlich zur ausgewählten Speicherzelle positioniert ist, genau gemessen wurde. In anderen Worten wird bei der vorliegenden Erfindung das Einstellsignal SET dem Einstelltransistor 51 bereitgestellt, nachdem eine ausreichende Zeit für eine genaue Messung der vorprogrammierten Speicherzelle zugelassen wurde, die ähnlich positioniert ist, wie die ausgewählte Speicherzelle.
  • Bei einer Ausführung der vorliegenden Erfindung wird das Einstellsignal SET durch einen Referenzseitenpuffer bereitgestellt, der mit einer Referenzbitleitung REF BL verbunden ist. Der Referenzseitenpuffer ist in der 5 gezeigt. Eine Struktur des Referenzseitenpuffers ist ähnlich einer Struktur des Seitenpuffers, der mit der i-ten Bitlei tung BL i verbunden ist. Der Referenzseitenpuffer enthält einen Biastransistor 61, einen Programmiertransistor 63, Inverter 65, 67, einen Schwellenwerttransistor 69, einen Einstellinitiierungstransistor 71 und den Bitleitungssteuertransistor 73.
  • Anders als der Einstelltransistor des Seitenpuffers, der mit der i-ten Bitleitung verbunden ist, erhält der Einstellinitiierungstransistor 71 ein Einstellungsinitiierungssignal SET_INIT von der Zustandsmaschinenschaltung (in der 1 gezeigt). Das Einstellinitiierungssignal SET_INIT wird von der Zustandsmaschinenschaltung und dem Einstellinitiierungstransistor kurz nach dem Ende der Programmieroperation bereitgestellt. Die Zustandsmaschinenschaltung erzeugt das Einstellinitiierungssignal SET_INIT, wenn eine Programmieroperation abgeschlossen ist, und eine Programmierspannung, die an eine Wortleitung angelegt ist, wird auf eine Programmierungsverifikationsspannung verringert. Ähnlich zu dem Fall der i-ten Bitleitung wird die Kipp- oder Speicherschaltung (Latch), die die Inverter 65 und 67 enthält, auf ein logisches Hoch voreingestellt unter Verwendung eines Voreinstellsignals PRESST an einem Knoten B zwischen einem Ausgang des Inverters 65 und einer Drain des Schwellenwerttransistors 69.
  • Das Einstellsignal SET wird daher auf ein logisches Niedrig voreingestellt, da die Logisch-Hoch-Spannung am Knoten B durch den Inverter 67 invertiert wird, bevor sie als das Einstellsignal SET bereitgestellt wird. Eine Referenzspeicherzelle an der Wortleitung an der Referenzbitleitung wird auf ein logisches Niedrig vorprogrammiert, d. h. das Floating-Gate der Referenzspeicherzelle wurde negativ mit Elektronen geladen. Somit geben ein Spannungspegel am Schwellenwertspannungsknoten A zwischen einer Quelle eines Biastransistors 61 und einer Drain eines Bitleitungssteuer transistors 73 den Zustand einer programmierten Speicherzelle wieder. In anderen Worten wird, da ein Floating-Gate der Referenzspeicherzelle negativ geladen wurde, kein Strom auf der Referenzbitleitung fließen. Wenn auf der Referenzbitleitung kein Strom fließt, gibt es annähernd keinen Spannungsabfall über dem Biastransistor 61. Ohne einen Spannungsabfall über dem Biastransistor 61 nähert sich der Spannungspegel des Schwellenwertspannungsknotens A Vcc. Somit erhält ein Schwellenwerttransistor 69 eine Spannung am Gate, die ausreicht, um den Schwellenwerttransistor 69 einzuschalten.
  • Daher wird, wenn das Einstellinitiierungssignal SET_INIT an das Gate des Einstellinitiierungstransistors 71 angelegt wird und die ausreichend hohe Spannung an das Gate des Schwellenwerttransistors 69 angelegt wird, die Vss-Spannung am Knoten B angelegt, und die Ausgabe des Inverters 77 wird ein logisches Hoch sein. Diese Ausgabe des Inverters 67 ist das Einstellsignal SET, das dem Einstelltransistor 51 (gezeigt in der 4) bereitgestellt wird, um eine Pro grammierungs- oder Löschungsverifikationsoperation zu initiieren. Somit wird die Zeitsteuerung einer Programmierungsverifikationsoperation oder Löschungsverifikationsoperation durch das Einstellinitiierungssignal gesteuert, das dem Referenzseitenpuffer bereitgestellt wird, und noch wichtiger durch eine programmierte Referenzspeicherzelle, die die Zeit des Referenzseitenpuffers erfasst.
  • Die 6 ist ein Zeitablaufdiagramm, das einen relativen Zeitablauf von Spannungsübergängen zwischen verschie denen Signalen zeigt, die während einer Programmierungsverifikationsoperation verwendet werden. Während einer Programmieroperation bleibt das Programmiersignal PGM auf einem logischen Hoch. Nach Abschluss der Programmieroperation zu einer Zeit ta senkt die Zustandsmaschinenschaltung den Pegel des Programmiersignals auf ein logisches Niedrig. Mit dem logischen Niedrig angelegt an das Gate des Programmiertransistors hängt der Spannungspegel an dem Schwellenwertspannungsknoten A von Zuständen des Bisssignals BLAS, des Bitleitungs-Steuersignals BL_CTRL und dem Floating-Gate der Speicherzelle an der Bitleitung der ausgewählten Wortleitung ab.
  • Wenn das Programmiersignal PGM zur Zeit ta auf ein logisches Niedrig geht, erreicht auch das Bisssignal BLAS ein logisches Niedrig. Da der Bisstransistor eines Seitenpuffers ein p-Typ-Transistor ist, schaltet das logisch niedrige Biassignal BIAS, das an das Gate des Bisstransistors angelegt ist, den Bisstransistor ein, was ihn bereit macht, damit ein Strom hindurchfließt. Wenn kein Strom durch den Bisstransistor fließt, wenn er eingeschaltet ist, nähert sich die Spannung an der Quelle des Bisstransistors und daher am Schwellenwertspannungsknoten A dem Pegel der Spannung Vcc, die an das Gate des Bisstransistors angelegt ist. Jedoch hindert, wenn ein Strom durch den Bisstransistor fließt, ein Spannungsabfall über ihn die Spannung an dem Schwellenwertspannungsknoten A, sich Vcc anzunähern.
  • Wenn sich der Bisstransistor zur Zeit ta einschaltet, geht das Bitleitungs-Steuersignal BL_CTRL auf hoch und schaltet den Bitleitungssteuertransistor ein. Wenn die entsprechende Speicherzelle programmiert wurde, fließt kein Strom durch die Bitleitung und nähert sich der Spannungspegel an dem Schwellenwertspannungsknoten A Vcc. Wenn die entsprechende Speicherzelle nicht programmiert wurde, fließt ein Strom durch die Bitleitung und nähert sich der Spannungspegel an dem Schwellenwertspannungsknoten A nicht Vcc.
  • Beide, das Biassignal BIAS und das Bitleitungs-Steuersignal BL_CTRL, werden an sowohl die Datenleitungen als auch die Referenzbitleitung im wesentlichen gleichzeitig angelegt. Daher würde die Schwellenwertspannung an dem Schwellenwertspannungsknoten A für sowohl die Datenleitungen als auch die Referenzleitungen gleichzeitig eingestellt. Das Einstellinitiierungssignal SET_INIT wird an dem Einstelltransistor des Referenzseitenpuffers zur Zeit tb angelegt. Das Einstellinitiierungssignal SET_INIT ist ein Impuls von ungefähr 1,0 μs Dauer, wie in der 6 gezeigt ist. Mit dem auf Hoch gehaltenen Impuls wird, wenn die Schwellenwertspannung an den Schwellenwertspannungsknoten A einen ausreichenden Pegel erreicht, um den Schwellenwerttransistor des Referenzseitenpuffers einzuschalten, das Einstellsignal SET von dem Referenzseitenpuffer zur Zeit tb erzeugt.
  • Mit dem Aufstellen des Einstellsignals SET am Gate des Einstelltransistors des Seitenpuffers, der mit einer Bitleitung verbunden ist, wird, wenn die entsprechende Speicherzelle programmiert wurde, die Schwellenwertspannung an den Schwellenwertspannungsknoten A erreicht, und wird die Daten-I/O-Leitung, die mit dem Seitenpuffer verbunden ist, auf ein logisches Hoch geschaltet. Wenn jedoch die entsprechende Speicherzelle nicht programmiert wurde, schaltet sich der Schwellenwerttransistor nicht ein und werden die Kipp- oder Speicherschaltungen (Latches) auf dem voreingestellten Wert. bleiben, wo er am Knoten B auf ein logisches Hoch und daher ein logisches Niedrig an der Daten-I/O-Leitung eingestellt wurde.
  • Somit wird während der Programmierungsverifikationsoperation der Inhalt einer entsprechenden Speicherzelle in der Kipp- oder Speicherschaltung (Latch) gespeichert, die die Inverter 45 und 47 enthält. Der Inhalt der Kipp- oder Speicherschaltung (Latch) am Knoten B (gezeigt in der 4) in jedem Seitenpuffer wird dann mit den Daten in dem I/O-Register und -Puffer verglichen. Wenn die Inhalte der Kipp- oder Speicherschaltungen (Latches) in der Datenregister- und Erfassungsverstärkerschaltung übereinstimmen mit den Inhalten des I/O-Registers und -Puffers, wurde die Programmieroperation erfolgreich abgeschlossen und ist kein weiteres Programmieren erforderlich. Andernfalls wird die Seite, die versagte, die Programmierungsverifikationsoperation zu bestehen, neu programmiert.
  • Ähnlich werden während der Löschungsverifikationsoperation Inhalte der Kipp- oder Speicherschaltungen (Latches) am Knoten B verifiziert, um in einem logischen Hoch-Zustand zu sein. Wenn der Knoten B von jeglichem der Seitenpuffer in einem logischen Niedrig-Zustand ist, hat eine Löschoperation für eine oder mehrere Speicherzellen versagt, die mit dem Seitenpuffer verbunden sind, und die Löschungsverifikationsoperation versagt. Entsprechend wird eine Löschoperation für jenen Speicherzellenblock nochmals ausgeführt.
  • Die 7 ist ein Flussdiagramm eines Prozesses zum Programmieren und Verifizieren einer Seite von Speicherzellen. Der Prozess programmiert im Schritt 81 eine Referenzspeicherzelle in einen aufgeladenen Zustand. Der Prozess programmiert im Schritt 83 eine Seite während einer Programmieroperation. Der Prozess verriegelt oder speichert im Schritt 85 einen Inhalt der Referenzspeicherzelle, die im Schritt 81 programmiert wurde, und gibt den Inhalt als das Einstellsignal aus. Das Einstellsignal, das im Schritt 85 erzeugt wurde, wird von dem Prozess im Schritt 87 verwendet, um die Inhalte der Speicherzellen in der Seite, die im Schritt 83 programmiert wurde, zu verriegeln oder zu speichern.
  • Der Prozess vergleicht im Schritt 89 die Inhalte der Kipp- oder Speicherschaltungen (Latches) der Seitenpuffer gegenüber entsprechenden Daten, die in dem I/O-Register und -Puffer gespeichert sind, zur Verifikation der Programmierung. Wenn die Inhalte der Seitenpuffer mit den entsprechenden Daten übereinstimmen, kehrt der Prozess zurück. Wenn der Inhalt irgend eines Seitenpuffers nicht mit den entsprechenden Daten übereinstimmt, führt der Prozess die Programmieroperation der Seite beim Schritt 83 und die Schritte zur Programmierungsverifikation nochmals aus.
  • Entsprechend schafft die vorliegende Erfindung eine Erfassungszeit-Steuervorrichtung und -verfahren zum Verringern einer Datenerfassungslatenz und Verbessern einer Datenerfassungszuverlässigkeit. Obwohl diese Erfindung in bestimmten spezifischen Ausführungen beschrieben wurde, sind viele zusätzliche Modifikationen und Variationen für Fachleute offensichtlich. Es ist daher zu verstehen, dass diese Erfindung anders als es spezifisch Beschrieben wurde, ausgeführt werden kann. Somit sind die vorliegenden Ausführungen der Erfindung in jeglicher Hinsicht als illustrativ und nicht beschränkend zu betrachten und ist der Umfang der Erfindung durch die angefügten Ansprüche und ihre Äquivalente, statt durch die vorangehende Beschreibung, bestimmt.

Claims (36)

  1. Verfahren zum Ausführen einer Programmierungsverifikationsoperation, enthaltend: Programmieren einer Referenzspeicherzelle, welche einer Seite in einem Speicherzellenblock eines NAND-Typ-Flash-Speichers entspricht, wobei der Speicherzellenblock eine Vielzahl von Seiten umfasst, und für jede Seite eine Referenzspeicherzelle vorgesehen ist, Programmieren einer Speicherzelle auf derselben Seite wie die programmierte Referenzspeicherzelle, Erzeugen eines Einstellsignals unter Verwendung eines Inhalts der Referenzspeicherzelle und Verwenden des Einstellsignals, um die Programmierungsverifikationsoperation für die Speicherzelle zu initiieren.
  2. Verfahren nach Anspruch 1, bei welchem die Referenzspeicherzelle in einen regulären Programmierzustand programmiert wird.
  3. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 1, dadurch gekennzeichnet, dass die Referenzspeicherzelle in einen negativ geladenen Zustand programmiert wird.
  4. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, dass ein Referenzseitenpuffer an die Referenzspeicherzelle gekoppelt ist und ein Datenspeicherpuffer an die Speicherzelle gekoppelt ist, welcher Referenzseitenpuf fer verwendet wird, um einen Inhalt der Referenzspeicherzelle zu lesen und zu speichern, und welcher Datenseitenpuffer verwendet wird, um einen Inhalt der Speicherzelle zu lesen und zu speichern.
  5. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 4, dadurch gekennzeichnet, dass das Erzeugen des Einstellsignals mit dem Inhalt der Referenzspeicherzelle ein Bereitstellen eines Einstellinitiierungssignals zum Referenzseitenpuffer, um den Inhalt der Referenzspeicherzelle als einen Inhalt des Referenzseitenpuffers zu speichern, und ein Ausgeben des Inhalts des Referenzseitenpuffers als das Einstellsignal enthält.
  6. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 4, dadurch gekennzeichnet, dass das Verwenden des Einstellsignals zum Initiieren der Programmierungsverifikationsoperation der Speicherzelle ein Bereitstellen des Einstellsignals zum Datenseitenpuffer enthält, um den Inhalt der Speicherzelle als einen Inhalt des Datenseitenpuffers zu speichern.
  7. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 6, dadurch gekennzeichnet, dass ferner ein Vergleichen des Inhalts des Datenseitenpuffes mit einem entsprechenden Inhalt eines I/O-Registers und -Puffers enthalten ist.
  8. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 7, dadurch gekennzeichnet, dass ferner ein Neuprogrammieren der Speicherzelle, Neuer zeugen des Einstellsignals mit dem Inhalt der Referenzspeicherzelle und Verwenden des Einstellsignals zum Initiieren einer weiteren Programmierungsverifikationsoperation der Speicherzelle enthalten sind, wenn der Inhalt des Datenseitenpuffers nicht mit dem entsprechenden Inhalt des I/O-Registers und -Puffers übereinstimmt.
  9. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ferner ein Programmieren einer Mehrzahl von Speicherzellen und Verwenden des Einstellsignals zum Initiieren der Programmierungsverifikationsoperation für die Mehrzahl von Speicherzellen enthalten sind.
  10. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 9, dadurch gekennzeichnet, dass die Referenzspeicherzelle in einen negativ geladenen Zustand programmiert wird.
  11. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass die Referenzspeicherzelle an einen Referenzseitenpuffer gekoppelt ist und jede der Mehrzahl von Speicherzellen an einen entsprechenden einer Mehrzahl von Datenseitenpuffern gekoppelt ist, welcher Referenzseitenpuffer verwendet wird, um einen Inhalt der Referenzspeicherzelle zu lesen und zu speichern, und jeder der Mehrzahl von Datenseitenpuffern verwendet wird, um einen Inhalt der entsprechenden der Mehrzahl von Speicherzellen zu lesen und zu speichern.
  12. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 11, dadurch gekennzeichnet, dass das Erzeugen des Einstellsignals mit dem Inhalt der Referenzspeicherzelle ein Bereitstellen eines Einstellinitiierungssignals zum Referenzseitenpuffer, um den Inhalt der Referenzspeicherzelle als einen Inhalt des Referenzseitenpuffers zu speichern, und ein Ausgeben des Inhalts des Referenzseitenpuffers als das Einstellsignal enthält.
  13. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 11, dadurch gekennzeichnet, dass ein Verwenden des Einstellsignals zum Initiieren der Programmierungsverifikationsoperation der Mehrzahl von Speicherzellen ein Bereitstellen des Einstellsignals zu jedem der Mehrzahl von Datenseitenpuffern enthält, um den Inhalt der entsprechenden der Mehrzahl von Speicherzellen als einen Inhalt jedes der Mehrzahl von Datenseitenpuffern zu speichern.
  14. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 13, dadurch gekennzeichnet, dass ferner ein Vergleichen der Inhalte der Mehrzahl von Datenseitenpuffern mit entsprechenden Inhalten eines I/O-Registers und -Puffers enthalten ist.
  15. Verfahren zum Ausführen einer Programmierungsverifikationsoperation nach Anspruch 14, dadurch gekennzeichnet, dass ferner ein Neuprogrammieren der Mehrzahl von Speicherzellen, Neuerzeugen des Einstellsignals mit dem Inhalt der Referenzspeicherzelle und Verwenden des Einstellsignals enthalten sind, um eine weitere Programmierungsverifikation soperation der Mehrzahl von Speicherzellen zu initiieren, wenn wenigstens einer der Inhalte der Mehrzahl von Datenseitenpuffern nicht mit dem entsprechenden Inhalt des I/O-Registers und -Puffers übereinstimmt.
  16. Verfahren zum Ausführen einer Löschungsverifikationsoperation, enthaltend: Programmieren einer Referenzspeicherzelle, welche einer Seite in einem Speicherzellenblock eines NAND-Typ-Flash-Speichers entspricht, wobei der Speicherzellenblock eine Vielzahl von Seiten umfasst, und für jede Seite eine Referenzspeicherzelle vorgesehen ist, Löschen einer Speicherzelle auf derselben Seite wie die programmierte Referenzspeicherzelle, Erzeugen eines Einstellsignals unter Verwendung eines Inhalts der Referenzspeicherzelle, und Verwenden des Einstellsignals, um die Löschungsverifikationsoperation für die Mehrzahl von Speicherzellen zu initiieren.
  17. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 16, dadurch gekennzeichnet, dass die Referenzspeicherzelle in einen negativ geladenen Zustand programmiert wird.
  18. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 16 oder 17, dadurch gekennzeichnet, dass ein Referenzseitenpuffer an die Referenzspeicherzelle gekoppelt ist und ein Datenseitenpuffer an die Speicherzelle gekoppelt ist, welcher Referenzseitenpuffer verwendet wird, um einen Inhalt der Referenzspeicherzelle zu lesen und zu speichern, und welcher Datenseitenpuffer verwendet wird, um einen Inhalt der Speicherzelle zu lesen und zu speichern.
  19. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 18, dadurch gekennzeichnet, dass das Erzeugen des Einstellsignals mit dem Inhalt der Referenzspeicherzelle ein Bereitstellen eines Einstellinitiierungssignals zum Referenzseitenpuffer, um den Inhalt der Referenzspeicherzelle als einen Inhalt des Referenzseitenpuffers zu speichern, und ein Ausgeben des Inhalts des Referenzseitenpuffers als das Einstellsignal enthält.
  20. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 18, dadurch gekennzeichnet, dass ein Verwenden des Einstellsignals zum Initiieren der Löschungsverifikationsoperation der Speicherzelle ein Bereitstellen des Einstellsignals zum Datenseitenpuffer enthält, um den Inhalt der Speicherzelle als einen Inhalt des Datenspeicherpuffers zu speichern.
  21. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 20, dadurch gekennzeichnet, dass ferner ein Überprüfen des Inhalts des Datenseitenpuffers enthalten ist, um zu bestimmen, ob die Speicherzelle in einem entladenen Zustand ist oder nicht.
  22. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 21, dadurch gekennzeichnet, dass ferner ein erneutes Löschen der Speicherzelle, Neuerzeugen des Einstellsignals mit dem Inhalt der Referenzspeicherzelle und Verwenden des Einstellsignals zum Initiieren einer weiteren Löschungsverifikationsoperation der Speicherzelle enthalten sind, wenn der Inhalt des Datenseitenpuffers angibt, dass die Speicherzelle in einem negativ geladenen Zustand ist.
  23. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach einem der Ansprüche 16 bis 22, dadurch gekennzeichnet, dass ferner ein Löschen einer Mehrzahl von Speicherzellen und Verwenden des Einstellsignals zum Initiieren der Löschungsverifikationsoperation für die Mehrzahl von Speicherzellen enthalten sind.
  24. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 23, dadurch gekennzeichnet, dass die Referenzspeicherzelle in einen negativ geladenen Zustand programmiert wird.
  25. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 23 oder 24, dadurch gekennzeichnet, dass die Referenzspeicherzelle an einen Referenzseitenpuffer gekoppelt ist und jede der Mehrzahl von Speicherzellen an einen entsprechenden einer Mehrzahl von Datenseitenpuffern gekoppelt ist, welcher Referenzseitenpuffer verwendet wird, um einen Inhalt der Referenzspeicherzelle zu lesen und zu speichern, und jeder der Mehrzahl von Datenseitenpuffern verwendet wird, um einen Inhalt einer entsprechenden der Mehrzahl von Speicherzellen zu lesen und zu speichern.
  26. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 25, dadurch gekennzeichnet, dass das Erzeugen des Einstellsignals mit dem Inhalt der Referenzspeicherzelle ein Bereitstellen eines Einstellinitiierungssignals zum Referenzseitenpuffer, um den Inhalt der Referenzspeicherzelle als einen Inhalt des Referenzseitenpuffers zu speichern, und ein Ausgeben des Inhalts des Referenzseitenpuffers als das Einstellsignal enthält.
  27. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 25, dadurch gekennzeichnet, dass ein Verwenden des Einstellsignals zum Initiieren der Löschungsverifikationsoperation der Mehrzahl von Speicherzellen ein Bereitstellen des Einstellsignals zu jeder der Mehrzahl von Datenseitenpuffern enthält, um den Inhalt der entsprechenden der Mehrzahl von Speicherzellen als einen Inhalt jedes der Mehrzahl von Datenseitenpuffern zu speichern.
  28. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 27, dadurch gekennzeichnet, dass ferner ein Überprüfen des Inhaltes jedes der Mehrzahl von Datenseitenpuffern enthalten ist, um zu bestimmen, ob die entsprechende der Mehrzahl von Speicherzellen in einem entladenen Zustand ist oder nicht.
  29. Verfahren zum Ausführen einer Löschungsverifikationsoperation nach Anspruch 28, dadurch gekennzeichnet, dass ferner ein erneutes Löschen der Mehrzahl von Speicherzellen, Neuerzeugen des Einstellsignals mit dem Inhalt der Referenzspeicherzelle und Verwenden des Einstellsignals zum Initiieren einer weiteren Löschungsverifikationsoperation der Mehr zahl von Speicherzellen enthalten sind, wenn die Inhalte der Mehrzahl von Datenseitenpuffern angeben, dass wenigstens eine der Mehrzahl von Speicherzellen in einem negativ geladenen Zustand ist.
  30. Verfahren zum Verifizieren eines Inhalts einer Speicherzelle in einem Speicherzellenblock eines NAND-Typ-Flash-Speichers, wobei der Speicherzellenblock eine Vielzahl von Seiten enthält, und für jede Seite eine Referenzspeicherzelle vorgesehen ist, enthaltend: Programmieren einer Referenzspeicherzelle, auf derselben Seite des Speicherzellenblocks im HAND-Typ-Flash-Speicher wie die Speicherzelle, Erfassen eines Inhalts der Referenzspeicherzelle, und Verifizieren des Inhaltes der Speicherzelle, wenn der Inhalt der Referenzspeicherzelle erfasst wurde.
  31. Verfahren zum Bereitstellen eines Einstellsignals zu einem Seitenpuffer, der mit einer Speicherzelle in einem Speicherzellenblock eines NAND-Typ-Flash-Speichers verbunden ist, wobei der Speicherzellenblock eine Vielzahl von Seiten enthält, und für jede Seite eine Referenzspeicherzelle vorgesehen ist, welches Verfahren enthält: Programmieren einer Referenzspeicherzelle, die an einen Referenzseitenpuffer gekoppelt ist, Einstellen einer Spannung eines Knotens in dem Referenzseitenpuffer basierend auf dem Inhalt der Referenzspeicherzelle, und Bereitstellen der Spannung an dem Knoten zu dem Puffer als das Einstellsignal.
  32. Verfahren zum Bereitstellen eines Einstellsignals zu einem Seitenpuffer, der mit einer Speicherzelle verbunden ist, nach Anspruch 31, dadurch gekennzeichnet, dass ferner enthalten ist: Voreinstellen der Spannung an dem Knoten auf ein logisches Hoch, wobei der Schritt des Einstellens der Spannung des Knotens ein Einstellen der Spannung an dem Knoten auf ein logisches Niedrig enthält.
  33. Verfahren zum Bereitstellen eines Einstellsignals zu einem Seitenpuffer, der mit einer Speicherzelle verbunden ist, nach Anspruch 31, dadurch gekennzeichnet, dass der Schritt des Bereitstellens der Spannung an dem Knoten zu dem Seitenpuffer als das Einstellsignal die Schritte des Invertierens der Spannung an dem Knoten und des Bereitstellens der invertierten Spannung zu dem Seitenpuffer als das Einstellsignal enthält.
  34. Erfassungszeit-Steuerschaltung für einen NAND-Typ-Flash-Speicher, enthaltend: einen Referenzseitenpuffer, der ein Einstellinitiierungssignal erhält und ein Einstellsignal erzeugt, unter Verwendung eines Inhalts von einer Referenzspeicherzelle, die für eine Seite eines Speicherzellenblocksim NAND-Typ-Flash-Speicher vorgesehen ist, und eine Mehrzahl von Datenseitenpuffern, die das Einstellsignal erhalten und Inhalte einer Mehrzahl von Speicherzellen speichern, wobei jeder der Mehrzahl der Datenseitenpuf fer einen Inhalt einer zugehörigen der Mehrzahl der Speicherzellen speichert.
  35. Erfassungszeit-Steuerschaltung nach Anspruch 34, dadurch gekennzeichnet, dass der Referenzseitenpuffer einen Einstellinitiierungstransistor, der das Einstellinitiierungssignal erhält und sich nach dem Erhalt des Einstellinitiierungssignals einschaltet, und eine Speicherschaltung enthält, die an den Einstellinitiierungstransistor gekoppelt ist, welche Speicherschaltung das Einstellsignal bereitstellt.
  36. Erfassungszeit-Steuerschaltung nach Anspruch 34, dadurch gekennzeichnet, dass jeder der Mehrzahl von Referenzseitenpuf fern einen Einstelltransistor, der das Einstellsignal erhält und sich nach dem Erhalt des Einstellsignals einschaltet, und eine Speicherschaltung enthält, die an den Einstelltransistor gekoppelt ist, welche Speicherschaltung einen Inhalt zu einer zugehörigen Speicherzelle bereitstellt.
DE10037037A 1999-12-20 2000-07-27 Erfassungszeit-Steuervorrichtung und -Verfahren Expired - Fee Related DE10037037B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/468,422 US6304486B1 (en) 1999-12-20 1999-12-20 Sensing time control device and method
US468422 1999-12-20

Publications (2)

Publication Number Publication Date
DE10037037A1 DE10037037A1 (de) 2001-06-21
DE10037037B4 true DE10037037B4 (de) 2008-04-03

Family

ID=23859752

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10037037A Expired - Fee Related DE10037037B4 (de) 1999-12-20 2000-07-27 Erfassungszeit-Steuervorrichtung und -Verfahren

Country Status (5)

Country Link
US (1) US6304486B1 (de)
JP (2) JP2001176276A (de)
KR (1) KR100609669B1 (de)
DE (1) DE10037037B4 (de)
TW (1) TW499679B (de)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731538B2 (en) * 2000-03-10 2004-05-04 Kabushiki Kaisha Toshiba Semiconductor memory device including page latch circuit
TW200302966A (en) * 2002-01-29 2003-08-16 Matsushita Electric Ind Co Ltd Memory device, data processing method and data processing program
US6621741B2 (en) * 2002-01-30 2003-09-16 Fujitsu Limited System for programming verification
KR100471167B1 (ko) * 2002-05-13 2005-03-08 삼성전자주식회사 프로그램된 메모리 셀들을 검증하기 위한 페이지 버퍼를구비한 반도체 메모리 장치
US6735114B1 (en) * 2003-02-04 2004-05-11 Advanced Micro Devices, Inc. Method of improving dynamic reference tracking for flash memory unit
KR100550638B1 (ko) * 2003-04-30 2006-02-10 주식회사 하이닉스반도체 비트라인 센싱마진시간의 조절을 위한 테스트모드를 갖는메모리장치
DE10322723B3 (de) * 2003-05-20 2004-10-14 Infineon Technologies Ag Vorrichtung und Verfahren zum Behandeln eines Zustands eines Speichers
EP1598831B1 (de) * 2004-05-20 2007-11-21 STMicroelectronics S.r.l. Verbesserter Seitenspeicher für eine programmierbare Speichervorrichtung
DE102004063641B4 (de) * 2004-12-27 2011-12-08 Infineon Technologies Ag Nichtflüchtige Speichereinrichtung zum Speichern von Daten und Verfahren zum Löschen oder Programmieren derselben
KR100694967B1 (ko) * 2005-06-29 2007-03-14 주식회사 하이닉스반도체 프로그램 동작시 에러 발생 비율을 감소시키는 플래시메모리 장치 및 그 프로그램 동작 제어 방법
US7366014B2 (en) * 2005-07-28 2008-04-29 Stmicroelectronics S.R.L. Double page programming system and method
EP1752989B1 (de) * 2005-07-28 2008-04-23 STMicroelectronics S.r.l. NAND Flash Speicher mit Löschprüfung basierend auf einer kürzeren Verzögerung vor dem Sensing
US7263004B2 (en) * 2005-12-08 2007-08-28 Elite Semiconductor Memory Technology Inc. Method and apparatus for determining sensing timing of flash memory
US7263006B2 (en) * 2006-01-26 2007-08-28 Micron Technology, Inc. Memory block erasing in a flash memory device
CN101042924B (zh) * 2006-03-24 2010-05-12 晶豪科技股份有限公司 决定闪存元件感测时间的方法和装置
KR100769782B1 (ko) 2006-04-20 2007-10-24 주식회사 하이닉스반도체 플래시 메모리 소자
KR101202537B1 (ko) 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US7697326B2 (en) 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
CN101601094B (zh) 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7593263B2 (en) 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
KR100885912B1 (ko) * 2007-01-23 2009-02-26 삼성전자주식회사 기입된 데이터 값에 기초하여 데이터를 선택적으로검증하는 데이터 검증 방법 및 반도체 메모리 장치
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
KR100850516B1 (ko) 2007-01-25 2008-08-05 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
JP4911508B2 (ja) * 2007-03-30 2012-04-04 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置及びその動作方法
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
KR100908562B1 (ko) * 2007-11-29 2009-07-21 주식회사 하이닉스반도체 불휘발성 메모리 소자의 소거 방법
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
KR101448915B1 (ko) * 2008-10-17 2014-10-14 삼성전자주식회사 프로그램 및 검증 동작을 수행하는 가변 저항 메모리 장치
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
JP5537366B2 (ja) * 2009-10-01 2014-07-02 株式会社半導体エネルギー研究所 半導体装置の駆動方法
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8856614B2 (en) * 2010-07-29 2014-10-07 Kabushiki Kaisha Toshiba Semiconductor memory device detecting error
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8804424B2 (en) * 2011-08-25 2014-08-12 Micron Technology, Inc. Memory with three transistor memory cell device
JP5679494B2 (ja) 2011-09-05 2015-03-04 日本電信電話株式会社 窒化物半導体構造及びその作製方法
KR20130092174A (ko) * 2012-02-10 2013-08-20 에스케이하이닉스 주식회사 불휘발성 반도체 메모리 장치 및 이 장치의 데이터 센싱 방법
JP2019215945A (ja) 2018-06-14 2019-12-19 富士通株式会社 メモリ制御装置、情報処理装置、及びメモリ制御方法
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19531683C2 (de) * 1995-01-09 1997-10-30 Mitsubishi Elec Semiconductor Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-Speichers
US5936890A (en) * 1997-07-29 1999-08-10 Samsung Electronics Co., Ltd. Semiconductor flash memory having page buffer for verifying programmed memory cells

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8923037D0 (en) * 1989-10-12 1989-11-29 Inmos Ltd Timing control for a memory
JPH0652695A (ja) * 1992-07-31 1994-02-25 Fujitsu Ltd 半導体記憶装置
JPH06176568A (ja) * 1992-12-07 1994-06-24 Fujitsu Ltd 半導体記憶装置
JP3542225B2 (ja) * 1996-03-19 2004-07-14 株式会社日立製作所 半導体装置
JPH09320286A (ja) * 1996-05-24 1997-12-12 Nec Corp 半導体記憶装置
DE69702256T2 (de) * 1996-06-24 2001-01-18 Advanced Micro Devices Inc Verfahren für einen merhfachen, bits pro zelle flash eeprom, speicher mit seitenprogrammierungsmodus und leseverfahren
US5675537A (en) * 1996-08-22 1997-10-07 Advanced Micro Devices, Inc. Erase method for page mode multiple bits-per-cell flash EEPROM
US6046934A (en) * 1999-01-12 2000-04-04 Macronix International Co., Ltd. Method and device for multi-level programming of a memory cell

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19531683C2 (de) * 1995-01-09 1997-10-30 Mitsubishi Elec Semiconductor Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-Speichers
US5936890A (en) * 1997-07-29 1999-08-10 Samsung Electronics Co., Ltd. Semiconductor flash memory having page buffer for verifying programmed memory cells

Also Published As

Publication number Publication date
JP2009170098A (ja) 2009-07-30
US6304486B1 (en) 2001-10-16
JP2001176276A (ja) 2001-06-29
KR100609669B1 (ko) 2006-08-09
DE10037037A1 (de) 2001-06-21
TW499679B (en) 2002-08-21
KR20010069992A (ko) 2001-07-25

Similar Documents

Publication Publication Date Title
DE10037037B4 (de) Erfassungszeit-Steuervorrichtung und -Verfahren
DE60220590T2 (de) Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers
DE4433098C2 (de) Halbleiter-Permanentspeichervorrichtung
DE4422810C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE19859494C2 (de) Nichtflüchtiger Mehrebenen-Halbleiterspeicherbaustein mit einer Schaltung zum Einstellen der Datenlesezeit
DE102006020180B3 (de) Verfahren zum Programmieren eines Blocks von Speicherzellen, nicht-flüchtiger Speicher und Speicherkarte
DE69533429T2 (de) Automatischer progammier-algorithmus für flash-speicher im seitenmodus mit variabler programmierimpulshöhe und -breite
DE60100716T2 (de) Nichtflüchtige Halbleiterspeicher
DE60029206T2 (de) Nichtflüchtiger Speicher zur Speicherung von Multibitdaten
DE69830089T2 (de) Mehrpegelspeicher
DE60121865T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE10052326B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE102007021613A1 (de) Nand-Flash-Speicherbauelement und Verfahren zum Verbessern der Charakteristik einer Zelle in demselben
DE4040492C2 (de)
DE10158849A1 (de) Nichtflüchtiges Speicherbauelement und zugehöriges Datenabtastverfahren
DE102004033443A1 (de) Flashspeicherbauelement mit Mehrpegelzelle sowie Lese- und Programmierverfahren
DE112018006212T5 (de) Verfahren und System zur Reduktion einer Programmierungsstörungsverschlechterung in einem Flash-Speicher
DE4122021C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung und Verfahren zum Löschen von Ladungen in Speicherzellen
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE69828131T2 (de) Nicht-flüchtige Halbleiterspeicheranordnung und Schreibverfahren dafür
DE102006028967B4 (de) Verfahren zum Programmieren eines nichtflüchtigen Halbleiterspeicherbauelements und Verfahren zum Lesen von programmierten Speicherzellen
DE102005020796A1 (de) Halbleiterspeicherbauelement und Programmierverfahren
DE112004002851B4 (de) Halbleitervorrichtung und Programmierverfahren
DE4226847C2 (de) Flash-EEPROM und Verfahren zum Löschen der Speicherzellen von Flash-EEPROMS
DE112004003023B4 (de) Halbleiterbauelement und Verfahren zum Steuern des Halbleiterbauelements

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: FUJITSU MICROELECTRONICS LTD., TOKYO, JP

8327 Change in the person/name/address of the patent owner

Owner name: FUJITSU SEMICONDUCTOR LTD., YOKOHAMA, KANAGAWA, JP

8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE

R082 Change of representative

Representative=s name: REICHERT & LINDNER PARTNERSCHAFT PATENTANWAELT, DE

R081 Change of applicant/patentee

Owner name: SOCIONEXT INC., YOKOHAMA-SHI, JP

Free format text: FORMER OWNER: FUJITSU SEMICONDUCTOR LTD., YOKOHAMA, KANAGAWA, JP

Effective date: 20150512

R082 Change of representative

Representative=s name: REICHERT & LINDNER PARTNERSCHAFT PATENTANWAELT, DE

Effective date: 20150512

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee