DE60213620T2 - Nichtflüchtiger speicher mit blocklöschung - Google Patents

Nichtflüchtiger speicher mit blocklöschung Download PDF

Info

Publication number
DE60213620T2
DE60213620T2 DE60213620T DE60213620T DE60213620T2 DE 60213620 T2 DE60213620 T2 DE 60213620T2 DE 60213620 T DE60213620 T DE 60213620T DE 60213620 T DE60213620 T DE 60213620T DE 60213620 T2 DE60213620 T2 DE 60213620T2
Authority
DE
Germany
Prior art keywords
memory
block
erase
rows
memory block
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
DE60213620T
Other languages
English (en)
Other versions
DE60213620D1 (de
Inventor
L. Brady Half Moon Bay KEAYS
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Application granted granted Critical
Publication of DE60213620D1 publication Critical patent/DE60213620D1/de
Publication of DE60213620T2 publication Critical patent/DE60213620T2/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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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
    • 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/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/18Flash erasure of all the cells in an array, sector or block simultaneously

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen nicht flüchtige Speicher und im Besonderen betrifft die vorliegende Erfindung Löschvorgänge in einer Flashspeichervorrichtung.
  • Hintergrund der Erfindung
  • Speichervorrichtungen sind im Allgemeinen als interne Speicherbereiche im Computer vorgesehen. Es gibt viele unterschiedliche Arten von Speichern. Eine Art Speicher ist der wahlfreie Zugriffsspeicher (RAM). Das RAM wurde traditionell als Hauptspeicher in einer Computerumgebung verwendet. Die meisten RAMs sind flüchtig, d.h. sie benötigen eine regelmäßige Aktualisierung der Stromversorgung, um keine Inhalte zu verlieren. Eine weitere Art von Speicher stellt der Flash-Speicher dar. Ein Flash-Speicher ist eine Art von nicht flüchtigem Speicher. Das bedeutet, daß ein Flash-Speicher eine Art von Speicher ist, der sogar Daten speichert, wenn keine regelmäßige Aktualisierung der Stromversorgung stattfindet. Der Flash-Speicher erfüllt vielseitige Anwendungen. Viele moderne Computer weisen ihr grundlegendes I/O-System Bios auf einer Flash-Speicherkarte auf, damit es bei Bedarf leicht aktualisiert werden kann. Ferner sind bei einigen digitalen Systemen die herkömmlichen Massenspeichervorrichtungen durch Flashspeichervorrichtungen ersetzt. Insbesondere wurden einige herkömmliche Festplatten von Personal-Computern gegen Flash-Speicher ersetzt.
  • Ein typischer Flash-Speicher umfaßt einen Speicherbereich, der in Blöcke aus Speicherzellen (Zellen) unterteilt ist. Jeder Zellenblock ist in Zeilen und Spalten angeordnet. Jede Zelle umfaßt einen Floating-Gate-Feldeffekttransistor, der dazu in der Lage ist, eine Ladung zu halten. Jede Zelle kann wahlfrei durch Laden des Floating-Gates programmiert werden. Die Ladung kann durch einen Löschvorgang aus dem Floating-Gate gelöscht werden. Daher werden die Daten in einer Zelle durch das Vorhandensein bzw. das Nichtvorhandensein einer Ladung an dem Floating-Gate bestimmt.
  • Der Zustand der Flash-Speicherzelle wird mit Hilfe eines Referenzzellenstroms gelesen oder bestätigt. Das heißt eine nicht flüchtige Referenzspeicherzelle wird über eine Bezugsbitzeile an den Leseverstärkerkreis gekoppelt. Die zu überprüfende Zelle ist ferner über eine zweite Bitzeile an den Leseverstärkerkreis gekoppelt. Ein Differentialstrom zwischen den Bitzeilen wird erkannt und der Programmierstatus der Zelle bestimmt. Die Bezugszelle kann zum Beispiel für einen Zwischenstatus programmiert sein, so daß sie ungefähr die Hälfte des Stroms leitet, die eine vollständig programmierte Speicherzelle leitet, und daß sie, wenn die zu lesende Zelle programmiert ist, mehr Strom als die Bezugsspeicherzelle leitet und daß sie, wenn die zu lesende Zelle gelöscht wird, weniger Strom als die Bezugszelle leitet.
  • Zum Programmieren einer Speicherzelle wird eine hohe positive Spannung, wie z.B. 12 Volt, auf das Control-Gate der Zelle angewandt. Zudem wird eine mäßige positive Spannung, wie z.B. 6 bis 9 Volt, auf die Senke angewandt, während eine Quellenspannung und eine Substratspannung sich auf der Grundstufe befinden. Diese Voraussetzungen führen zu einer Injektion von heißen Elektronen im Leitungsbereich neben dem Senkenbereich der Speicherzelle. Diese Elektronen mit hoher Energie durchqueren das dünne Gateoxid auf die Seite der positiven Spannung, die am Control-Gate vorhanden ist und sich am Floating-Gate sammelt. Die Elektronen bleiben auf dem Floating-Gate und erhöhen die effektive Schwellenspannung der Zelle im Vergleich zu einer Zelle, die nicht programmiert worden ist.
  • Bei Flash-Speichern werden die Zellen in Blöcken gelöscht. Dies wird erreicht durch Legen einer negativen Spannung, wie zum Beispiel –10 bis –17 Volt, auf Wortzeilen erreicht, die mit den Control-Gates aller Zellen in einem Zellenblock gekoppelt sind und durch zeitweiliges Koppeln der Sourceverbindung des Blocks an eine VCC (Stromversorgung), die zum Beispiel 5 Volt oder höher ist. Dies geschieht üblicherweise in einem Puls oder in einer Reihe von Pulsen. Jeder Puls erzeugt ein Feld, das Elektronen von den Floating-Gates der Speicherelemente entfernt. Die Geschwindigkeit, mit der die Zelle gelöscht wird, d.h. die Anzahl von Pulsen, die zum Löschen der Zelle benötigt wird, hängt von vielen verschiedenen Voraussetzungen einschließlich der Spannungsstärke der Pulse, der Pulslänge und der Temperatur ab. Es ist üblich, daß in einem Flash-Speicherblock die einzelnen Speicherzellen mit unterschiedlichen Geschwindigkeiten gelöscht werden. In diesem Fall gibt im Normalfall das langsamste Bit des Blocks die Löschstufe aller Zellen des Blocks vor. Dies kann dazu führen, daß andere Zellen in dem Block überlöscht werden. Wenn beispielsweise eine typische Speicherzelle 10 Pulse benötigt, um gelöscht zu werden, und die langsamste Speicherzelle in einem löschbaren Block 30 Löschpulse zum Löschen der langsamsten Zellen benötigt, werden die typischen Zellen 20 zusätzlichen Löschpulsen unterzogen, was potentiell dazu führen kann, daß diese überlöscht werden.
  • Eine überlöschte Zelle ist eine Zelle, die über einen bestimmten Punkt hinaus gelöscht worden ist. Eine überlöschte Zelle wird zunehmend abgereicherter. Das bedeutet, daß zu viele Elektronen von dem Floating-Gate entfernt werden, und führt dazu, daß die Spannung an einem Floating-Gate positiver wird als die Schwelle der Zelle. Die Zelle kann aus diesem Grund nicht abgestellt werden, selbst wenn das Control-Gate sich auf dem Referenzpotential befindet. Ferner kann eine überlöschte Zelle dazu führen, daß alle Speicherzellen, die an die gleiche Spalte gekoppelt sind, als gelöschte Zellen gelesen werden, selbst wenn diese programmiert sind.
  • Zur Verringerung der Anzahl von überlöschten Zellen in einem Flash-Speicherblock wird im Allgemeinen ein Löschvorgang umfassend einen Vorprogrammierzyklus, einen Löschzyklus und einen Soft-Programmierzyklus durchgeführt. Während des Vorprogrammierzyklus' werden alle Zellen eines Blocks zunächst über eine vorbestimmte Stufe hinaus programmiert. Dies wird durchgeführt, damit die Floating-Gates der Zellen in dem Block bei ungefähr demselben Ladungswert starten. Der Löschzyklus wendet dann einen Löschpuls auf den Block an und überprüft dann jede einzelne Zelle, Zeile um Zeile, um zu bestimmen, ob sich alle Zellen im Löschzustand befinden. Der Löschzyklus wird so lange wiederholt, bis alle Zellen als gelöscht überprüft worden sind. Der Soft-Programmierzyklus oder, wie er manchmal auch genannt wird, der Spannungsverteilungs-Zyklus (Vt) prüft dann jede einzelne Spalte (Bitzeile) im Block auf Spannungsstufen, die anzeigen würden, wenn eine überlöschte Zelle an die Bitzeile gekoppelt ist. Wenn eine überlöschte Zelle in einer Bitzeile erkannt wird, wird systematisch ein Soft-Programm (Soft-Programmierpuls) auf die Control-Gates der Zellen angewandt, die mit der Bitzeile gekoppelt sind, bis der Strom nicht mehr erkannt werden kann.
  • Obwohl ein Soft-Programmierzyklus zum Wiederherstellen von überlöschten Zellen verwendet werden kann, ist es dennoch wünschenswert, die Zahl der überlöschten Zellen zu verringern, bevor der Soft-Programmierzyklus angewandt wird, weil einige Zellen, die überlöscht worden sind, nicht mehr wiederhergestellt werden können. Ferner kann die Zellenintegrität der überlöschten und wiederhergestellten Zellen mit jeder Überlöschung weiter abnehmen.
  • Ein Verfahren zur Korrektur der Überlöschung in einem Flash-Speicher wird in Cleveland et al. (US-Patent Nr. 5.642.311) dargestellt, das Advanced Micro Devices übertragen wurde. Dieses Verfahren verringert die Überlöschung und verhindert das Löschen von Überprüfungsfehlern.
  • Aus den oben genannten Gründen und aus den im Folgenden aufgeführten Gründen, die für den Fachmann nach Lesen und Verstehen der vorliegenden Spezifikation offensichtlich sind, besteht auf diesem technischen Gebiet ein Bedarf für einen Flash-Speicher mit einem verbesserten Prozeß zum Löschen eines Flash-Speicherblocks, der nur eine geringe Zahl von Zellen aufweist, die im Vergleich zu anderen Zellen im Block langsam gelöscht werden.
  • Zusammenfassung der Erfindung
  • Die oben genannten Probleme bei nicht flüchtigen Speichervorrichtungen und andere Probleme werden durch die vorliegende Erfindung angesprochen und in den unabhängigen Ansprüchen 1 und 14 gelöst, wie durch Lesen und Studium der folgenden Spezifikation ersichtlich.
  • Ein Verfahren zum Betrieb eines Flash-Speichers wird beschrieben, umfassend das Löschen eines vorbestimmten Prozentsatzes von Zeilen in einem Speicherblock, das Analysieren einer Anzahl von Löschpulsen, die verwendet werden, um den vorgegebenen Prozentsatz zu löschen, und das Berechnen einer akzeptablen Anzahl zusätzlicher Löschpulse, die auf den Speicherblock angewandt werden könnten.
  • Ein Verfahren zum Betrieb eines Flash-Speichers wird beschrieben, umfassend das Anwenden wenigstens eines Löschpulses auf den Block, wobei der Block mehrere Speicherzellen umfaßt, die in Zeilen angeordnet sind, wobei jede Zeile überprüft wird, um zu bestimmen, ob die Speicherzellen, die mit jeder Zeile assoziiert sind, nach jedem Löschpuls gelöscht worden sind, und umfassend das Vervollständigen des Löschens des Speicherblocks, wenn eine vorbestimmte Anzahl von Zeilen in dem Block als gelöscht überprüft worden sind, wobei die vorbestimmte Anzahl an Zeilen geringer ist, als die Gesamtzahl der Zeilen in dem Speicherblock.
  • Ein Verfahren zum Betrieb eines nicht flüchtigen Speichers umfaßt das Anwenden von wenigstens einem Löschpuls auf einen Flash-Speicherzellenblock, wobei der Speicherzellenblock in Zeilen angeordnet ist, das Überprüfen, ob jede Zeile in dem Block gelöscht ist, nachdem der Löschpuls angewandt wurde, das Errechnen der Anzahl von verwendeten Löschpulsen, die verwendet werden, um eine vorbestimmte Anzahl von Zeilen, die in dem Block gelöscht worden sind, zu überprüfen, und das Anwenden einer vorbestimmten Anzahl von Löschpulsen auf den Block, in dem Versuch Zeilen zu löschen, die als nicht gelöscht überprüft worden sind, wobei die vorbestimmte Anzahl von Löschpulsen ein Bruchteil der Anzahl von Löschpulsen ist, die zum Überprüfen der vorbestimmten Zahl von Zeilen verwendet worden ist.
  • Ein Verfahren zum Durchführen eines Löschvorgangs auf einem Flash-Speicherblock umfaßt das Vorladen von Flashspeicherzellen, die in Zeilen in dem Block angeordnet sind, auf ein vorbestimmtes Niveau, das Anwenden von wenigstens einem Löschpuls der ersten Stufe auf den Block, das Überprüfen, ob jede Speicherzelle pro Zeile gelöscht ist, nachdem jeder Erststufenlöschimpuls auf den Speicherblock angewandt worden ist, Zählen einer ersten Zahl von Pulsen, die zum Überprüfen, ob die Mehrheit an Zeilen in dem Block gelöscht wurde, angewandt wird, Berechnen einer zweiten Anzahl von Löschpulsen basierend auf einem Bruchteil der ersten Anzahl von Löschpulsen, wobei die zweite Anzahl eine Maximalanzahl von zusätzlichen Löschpulsen einer zweiten Stufe ist, welche auf den Speicherblock angewandt werden können, um das Löschen der Speicherzellen in den Zeilen sicherzustellen, die als noch nicht gelöscht überprüft worden sind, das Anwenden von wenigstens einem Löschpuls der zweiten Stufe auf den Block und das Vervollständigen des Löschens des Speicherblocks, wenn entweder die zweite Anzahl der Löschpulse zweiter Stufen auf den Speicherblock angewandt worden ist oder alle der Zeilen als gelöscht geprüft worden sind.
  • Eine Flashspeichervorrichtung umfaßt einen Speicherbereich, einen Controller und ein Register. Der Speicherbereich weist mehrere Blöcke von Flash-Speicherzellen auf. Die Speicherzellen in jedem Block sind in Zeilen angeordnet. Der Controller wird zur Steuerung von Speichervorgängen auf den Speicherbereich verwendet und das Register ist mit dem Controller gekoppelt, um den Löschstatus jeder Zeile von Speicherzellen nachzuverfolgen.
  • Eine nicht flüchtige Speichervorrichtung umfaßt mehrere Speicherbereiche, einen Controller und einen Registerbereich. Jeder Speicherbereich weist mehrere Blöcke von Flash-Speicherzellen auf. Ferner sind die Speicherzellen in jedem Block in Zeilen angeordnet. Der Controller wird zum Steuern der Speichervorgänge in den Speicherbereich verwendet. Der Controller speichert Daten in dem Registerbereich, um Zeilen von Speicherzellen in Blöcken, die als gelöscht überprüft worden sind, nachzuverfolgen.
  • Eine Flashspeichervorrichtung umfaßt einen Speicherbereich und einen Steuerkreis. Der Speicherbereich weist mehrere löschbare Blöcke aus Flash-Speicherzellen auf. Die Speicherzellen in jedem Block sind in Zeilen angeordnet. Der Steuerkreis wird zum Steuern der Speichervorgänge im Speicherbereich verwendet. Insbesondere wendet der Steuerkreis eine erste Anzahl von Löschpulsen auf einen Block an, wenn er auf einer ersten Stufe gelöscht wird, und eine zweite Anzahl von Löschpulsen auf den Block, wenn er auf einer zweiten Stufe gelöscht wird. Die Zahl der Löschpulse, die auf der zweiten Stufe angewandt wird, basiert auf der Zahl der Löschpulse, die bei der ersten Stufe angewandt wurden, zum Überprüfen, daß eine vorbestimmte Zahl von Zeilen in dem Block gelöscht worden ist.
  • Ein Flash-Speichersystem umfaßt einen Prozessor, mehrere Speicherbereiche, einen Controller und mehrere Register. Der Prozessor wird verwendet, um externe Löschbefehle bereitzustellen. Jeder Speicherbereich weist mehrere löschbare Blöcke aus Flash-Speicherzellen auf. Die Speicherzellen in jedem Block sind in Zeilen angeordnet. Der Controller wird verwendet, um externe Löschbefehle von dem Prozessor zu empfangen. Ferner führt der Controller die Löschvorgänge in den Speicherzellenblöcken in den mehreren Speicherbereichen durch. Die mehreren Register sind an den Controller gekoppelt, um die Zeilen von Speicherzellen, die als gelöscht überprüft worden sind, nachzuverfolgen. Jedes Register ist mit einem der Speicherbereiche assoziiert. Zudem weist jedes Register mehrere Registerunterblöcke auf. Jeder Registerunterblock ist mit einem Speicherzellenblock assoziiert. Ferner weist jeder Unterblock eine Registerspeicherzelle für jede Zeile in seinem assoziierten Speicherzellenblock auf.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm einer Speichervorrichtung einer Ausführungsform der vorliegenden Erfindung.
  • 2 ist ein Blockdiagramm eines Speichersystems einer Ausführungsform der vorliegenden Erfindung.
  • 3 ist ein Blockdiagramm eine Speichervorrichtung einer Ausführungsform der vorliegenden Erfindung.
  • 4 ist ein Flußdiagramm, das eine Blocklöschung aus dem Stand der Technik darstellt.
  • 5 ist ein Flußdiagramm einer Blocklöschung einer Ausführungsform der vorliegenden Erfindung.
  • Detaillierte Beschreibung der Erfindung
  • In der folgenden detaillierten Beschreibung der bevorzugten Ausführungsformen wird Bezug genommen auf die beiliegenden Zeichnungen, die Teil der Beschreibung sind und die durch die Darstellung von spezifischen bevorzugten Ausführungsformen aufgezeigt werden, mit der die Erfindungen ausgeführt werden können. Diese Ausführungsformen werden ausreichend detailliert beschrieben, damit ein Fachmann auf dem Gebiet die Erfindung durchführen kann, und es versteht sich, daß andere Ausführungsformen verwendet werden können und logische, mechanische und elektrische Veränderungen vorgenommen werden können, ohne den Schutzbereich der vorliegenden Erfindung zu verlassen. Die folgende detaillierte Beschreibung ist daher nicht als einschränkend zu verstehen und der Schutzbereich der vorliegenden Erfindung wird ausschließlich durch die Ansprüche bzw. Entsprechungen davon definiert.
  • Bezüglich 1 ist ein Blockdiagramm einer Ausführungsform eines Massenspeicher-Flash-Speichers 100 der vorliegenden Erfindung dargestellt. Das Diagramm wurde vereinfacht und zeigt nur die Elemente, die zum Verständnis der vorliegenden Erfindung relevant sind. Der Massenspeicher-Flash-Speicher 100 umfaßt einen Flash-Speicher 120. Wie dargestellt, weist der Flash-Speicher 120 einen Bereich 104 nicht flüchtiger Speicherzellen auf. Der Bereich 104 ist in mehreren adressierbaren Blocks 106 (a-d) angeordnet. Auch wenn nur vier adressierbare Blocks 106 (a-d) dargestellt sind, wird ein Fachmann verstehen, daß ein Flash-Bereich in mehr oder weniger adressierbare Blöcke oder Unterblöcke unterteilt werden kann, und die vorliegende Erfindung ist nicht auf vier adressierbare Blöcke pro Flashspeichervorrichtung beschränkt. Die Flashspeichervorrichtung 120 wird ferner so dargestellt, daß sie einen X-Decoder- bzw. Blocklöschungs-Steuerkreis und einen Y-Decoder-Kreis aufweist. Ein Leseverstärkerkreis 116 ist zum Lesen und Prüfen einer adressierten Zelle vorgesehen. Ein Adressierpufferspeicher bzw. Auffangspeicher 114 wird zum Empfangen von Adressieranfragen verwendet und an den X-Decoder-Kreis bzw. an die Blocklöschsteuerkreis 112 und den Y-Decoder-Kreis 118 gekoppelt. Ferner und obwohl in dieser Ausführungsform der Massenspeicher-Flash-Speicher 100 mit vier Flash-Speichern 120, 122, 124 und 126 dargestellt ist, wird der Fachmann verstehen, daß die Zahl der Flash-Speicher sehr von der gewünschten Speicherkapazität abhängt, und die vorliegende Erfindung ist nicht auf vier Flash-Speicher pro Massenspeicher-Flash-Speicher beschränkt.
  • Wie in 1 dargestellt, weist der Massenspeicher-Flash-Speicher 100 einen Controller 108 auf. Der Controller 108 wird zur Steuerung der Speichervorgänge (d.h. Programmier-, Lösch- und Lesevorgänge) der Flash-Speicherbereiche auf den Flash-Speichern 120, 122, 124 und 126 verwendet. In Bezug auf den Flash-Speicher 120 ist der Controller 108 beispielsweise an den Adressierpufferspeicher bzw. an den Auffangspeicher 114 über die Adressierzeile 140 gekoppelt, um Adreßanfragen bereitzustellen. Der Controller 108 ist des Weiteren über eine Datenzeile 142 an den Leseverstärkerkreis 116 gekoppelt, um dem Controller die Ergebnisse einer Zelle, die gelesen oder überprüft wird, bereitzustellen. Der Controller 108 ist ferner an den X- Decoder- bzw. Blocklöschsteuerkreis 112 gekoppelt, um die Löschvorgänge im Speicherbereich 104 zu steuern. Obwohl nicht dargestellt, weist jeder Flash-Speicher 122, 124 und 126 die gleichen Elemente wie der Flash-Speicher 120 auf. Ferner sind die Elemente der Flash-Speicher 122, 124 und 126 alle an den Controller 108 gekoppelt, auf die gleiche Weise, wie der Controller 108 an den Flash-Speicher 120 gekoppelt ist. Daher steuert der Controller 108 jeden einzelnen Flash-Speicher 120, 122, 124 und 126.
  • In 1 werden vier Register 130, 132, 134 und 138 dargestellt. Jedes Register ist mit dem entsprechenden Flash-Speicherbereich eines Flash-Speichers 120, 122, 124 und 126 assoziiert. Das Register 130 ist zum Beispiel mit dem Flash-Speicherbereich 104 auf dem Flash-Speicher 120 assoziiert. In dieser Ausführungsform ist das Register 130 außerhalb eines matrixenthaltenden Flash-Speichers angeordnet. Auf die gleiche Weise sind die Register 132, 134 und 138 jeweils außerhalb der Flash-Speicher 122, 124 und 126 angeordnet. Jedes Register 130, 132, 134 und 138 sind ferner in Registerunterblocks unterteilt. Register 130 umfaßt zum Beispiel die Registerunterblöcke 130(a), 130(b), 130(c) und 130(d). Jeder Registerunterblock ist mit einem Zellenblock in einem Flash-Speicherbereich assoziiert. Zum Beispiel ist der Registerunterblock 130(a) mit Block 106(a) des Flash-Speicherbereichs 104 assoziiert, Registerunterblock 130(b) ist mit Block 106(b) des Flash-Speicherbereichs 104 assoziiert, Registerunterblock 130(c) mit Block 106(c) des Flash-Speicherbereichs 104 assoziiert, Registerunterblock 130(d) ist mit Block 106(d) des Flash-Speicherbereichs 104 assoziiert. Obwohl vier Register mit vier Registerunterblöcken beschrieben werden, wird ein Fachmann verstehen, daß die Zahl der Register und Registerunterblöcke mit der Zahl der verwendeten Flash-Speicherbereiche und die Zahl der Blöcke in jedem Flash-Speicherbereich variieren und daß die vorliegende Erfindung nicht auf vier Register mit vier Registerunterblöcken beschränkt ist.
  • Die Register 130, 132, 134 und 138 können als Registerbereich bezeichnet werden. Jeder Registerunterblock umfaßt mehrere Registerspeicherzellen, bzw. Nachverfolgungsspeicherzellen, um Daten zu speichern, die anzeigen, ob eine assoziierte Zeile in einem assoziierten Block des Speichers als gelöscht überprüft worden ist. Das bedeutet, daß jede Zeile von Zellen in einem Zellenblock eine assoziierte Registerspeicherzelle in einem Registerunterblock aufweist, um nachzuverfolgen bzw. zu kennzeichnen, ob eine Zeile gelöscht worden ist. Zum Beispiel weist ein Speicherblock mit 128 Zeilen einen assoziierten Registerunterblock mit 128 Registerspeicherzellen auf, um den Programmierstatus für jede Zeile nachzuverfolgen. Bei einer Ausführungsform der vorliegenden Erfindung sind die Registerspeicherzellen in dem Registerbereich flüchtige Speicherzellen, wie zum Beispiel RAM-Speicherzellen, bei einer anderen Ausführungsform sind die Registerspeicherzellen in dem Registerbereich nicht flüchtige Speicherzellen, wie zum Beispiel Flash-Speicherzellen.
  • Wie oben beschrieben, steuert der Controller 108 die Löschvorgänge jedes Flash-Speicherbereichs. Bei einer Ausführungsform überprüft der Controller 108 nach dem Anwenden eines Löschpulses auf einen zu löschenden Block jede Zeile des Blocks. Wenn eine Zeile als gelöscht überprüft worden ist, markiert der Controller 108 eine assoziierte Registerspeicherzelle in einem assoziierten Registerunterblock. Neben dem Nachverfolgen, welche Zeilen als gelöscht überprüft worden sind, verfolgt der Controller ferner die Zeilenzahl nach, die überprüft worden ist. Wenn eine vorbestimmte Zahl von Zeilen nach einem Löschpuls nicht überprüft worden ist, wird ein weiterer Löschpuls auf den Block angewandt. Dieser Vorgang wird wiederholt, bis der Controller 108 feststellt, daß die vorbestimmte Anzahl an Zeilen gelöscht worden ist. Zeilen, die als gelöscht überprüft worden sind, werden in den folgenden Speichervorgängen nicht verwendet. Obwohl eine Anzahl von Zeilen in jedem Block in dieser Ausführungsform ungebraucht sein kann, ist die Gefahr der Überlöschung von Zellen geringer, weil die Zahl von Löschpulsen, die auf den Block angewandt werden, nicht von den langsamsten Zellen oder Bits in dem Block der gelöschten Zellen gesteuert wird. Die vorbestimmte Zeilenzahl ist im Allgemeinen eine Mehrheit von Zeilen und wird durch die Anfertigung des Speichers gewählt und zieht statistische Daten in Bezug auf die Anzahl der Zeilen, die voraussichtlich langsame Bits in einem durchschnittlichen Flash-Speicherblock sind, in Erwägung. Wenn beispielsweise die Gesamtzahl von Zeilen 128 war und vorauszusehen war, daß drei Zeilen langsame Bits enthalten könnten, würde die vorbestimmte Zeilenzahl dieses Blocks 125 sein.
  • Bei einer anderen Ausführungsform versucht der Controller 108 das Löschen der Zellen in den Zeilen, die nicht überprüft worden sind. In dieser Ausführungsform verfolgt der Controller der Löschpulsanzahl nach, die zum Erhalten der vorbestimmten Menge an Zeilen verwendet wird, die als gelöschte Zeilen überprüft worden sind. Der Controller 108 wendet diese Zahl auf eine Gleichung an, um die Maximalanzahl von zusätzlichen Pulsen zu errechnen, die zum Löschversuch der verbleibenden langsamen Bits verwendet werden können, wodurch das Risiko des Überlöschens von Zellen in dem Block minimiert wird. Diese Ausführungsform erwägt die Wahrscheinlichkeit, daß zusätzliche Löschpulse die Mehrheit der Zellen überlöschen würde, während der Versuch des Löschens der langsamen Bits unternommen wird.
  • Bei einer Ausführungsform wird die Gleichung N2 = (A·N1) + B verwendet, um die Maximalanzahl von Löschpulsen zu bestimmen, die bei dem Versuch des Löschens der langsamen Bits verwendet wird. Darin ist N2 die Maximalanzahl von Löschpulsen, N1 die Anzahl von Löschpulsen, die verwendet wird, um die vorbestimmte Anzahl von Zeilen in dem Block zu löschen, A ein vorbestimmter Bruchteil und B eine Minimalanzahl von Pulsen, die verwendet wird, um die langsamen Bits zu löschen zu versuchen. A und B werden im Allgemeinen vom Hersteller nach der Prüfung des Speichers festgelegt. In Bezug auf die Gleichung bei dieser Ausführungsform nimmt N1 zu, wenn N2 zunimmt. Aus diesem Grund können, wenn eine große Menge an Löschpulsen gebraucht wird, um die vorbestimmte Anzahl von Zeilen zu erreichen, die als gelöschte Zeilen überprüft worden sind, mehr Pulse angewandt werden, um zu versuchen, die langsamen Zellen in den nicht überprüften Zeilen zu löschen, weil die zusätzlichen Pulse mit geringerer Wahrscheinlichkeit die bereits gelöschten Zellen in dem Block überlöschen. Andererseits, wenn nur einige wenige Pulse benötigt werden, um die vorbestimmte Anzahl von Zeilen zu erreichen, die als gelöscht überprüft worden sind, würde eine geringere Anzahl von Pulsen angewandt werden können, um die langsamen Zellen in den nicht überprüften Zeilen zu löschen, weil jeder Puls mit höherer Wahrscheinlichkeit die bereits gelöschten Zellen überlöscht. Ein Löschalgorithmus, der das oben Beschriebene genauer umfaßt, wird weiter unten näher beschrieben.
  • Bei dieser Ausführungsform ignoriert der Controller 108 die nicht überprüften Zeilen während der nachfolgenden Speichervorgänge (d.h. Programmier- und Lesevorgänge) auf den Speicherbereich, wenn, nachdem N2 Pulse angewandt worden sind, einige der Zeilen immer noch nicht als gelöscht überprüft worden sind. Bei einer Ausführungsform tut der Controller 108 dies durch Lesen der Speicherzellen in den assoziierten Registern. Wenn der Controller 108 eine Speicherzelle liest, die nicht markiert oder programmiert worden ist, als sie gelöscht wurde, überspringt der Controller 108 während des nachfolgenden Speichervorgangs die Zeile, die mit der Speicherzelle assoziiert ist. Bei dieser Ausführungsform werden Speicherzellen, die mit Zeilen assoziiert sind, die nicht als gelöscht überprüft worden sind, als nicht überprüfte Zeilen markiert.
  • In 2 ist eine weitere Ausführungsform eines Massenspeicher-Flash-Speichers 200 der vorliegenden Erfindung dargestellt. Bei dieser Ausführungsform ist jedes Register intern in einer Matrize enthaltenden und assoziierten Flash-Speicher enthalten, um die Daten zu speichern, die anzeigen, ob eine assoziierte Zeile in einem assoziierten Speicherblock in einem Flashspeicherbereich als gelöscht überprüft worden ist. Wie in 2 dargestellt, ist Register 130 in Flash-Speicher 120 angeordnet. Obwohl nicht dargestellt, weisen die Flash-Speicher 122, 124 und 128 auch assoziierte Register auf. Der Controller 108 ist an jedes Register des Massenspeichers 200 gekoppelt, um Daten in Bezug auf den Löschstatus einer assoziierten Zeile zu speichern und zu empfangen. 2 zeigt ferner einen Prozessor 131, der an den Controller 108 zum Betrieb und zur Prüfung des Massenspeichers 200 gekoppelt ist.
  • Obwohl es wünschenswert sein kann, die vorliegende Erfindung auf einen Massenspeicher-Flash-Speicher anzuwenden, wie oben beschrieben, weil ein Massenspeicher-Flash-Speicher eine signifikante Menge an nicht verwendetem Speicherplatz aufweisen kann, kann die vorliegende Erfindung auch auf ein typisches Flash-Speichersystem angewandt werden. In 3 wird eine weitere Ausführungsform der vorliegenden Erfindung dargestellt, die einen typischen Flash-Speicher 300 umfaßt. Der Flash-Speicher 300 umfaßt einen Speicherbereich 350. Der Speicherbereich 350, wie dargestellt, umfaßt vier Banken 302, 304, 306 und 340. Jede Bank 302, 304, 306 und 340 umfaßt löschbare Speicherzellenblöcke (nicht dargestellt). Des Weiteren ist bei einer Ausführungsform jeder Block ferner in löschbare Unterblocks unterteilt. Ein 16 MB Speicher kann beispielsweise in vier löschbare Blocks zu jeweils 4 MB angeordnet werden, wobei jeder dieser Blöcke 16 Unterblöcke enthält. Obwohl der Speicherbereich mit nur vier Banken dargestellt ist, wird der Fachmann verstehen, daß mehr oder weniger Banken verwendet werden können, und die vorliegende Erfindung ist nicht auf vier Banken beschränkt.
  • Wie dargestellt, weist der Flash-Speicher 300 ferner einen X-Decoder- bzw. Blocklöschsteuerkreis 320 auf, um die ausgewählten Zeilen zu adressieren und Block-Löschvorgänge zu steuern. Ein Y-Decoder 322 ist zum Adressieren ausgewählter Spalten vorgesehen. Ein Leseverstärkerkreis 324 ist zum Lesen und Überprüfen von adressierten Zellen vorgesehen. Der Flash-Speicher 300 weist ferner einen Steuerkreis 314 für Steuervorgänge, das heißt für Lese-, Programmier- und Löschvorgänge, zu dem Speicherbereich 350 auf. Der Steuerkreis 314 kann auch als Controller oder Statusgerät bezeichnet werden. Ein Prozessor 330 ist für die Prüfung und den Betrieb an den Steuerkreis 314 gekoppelt. Der Flash-Speicher 300 ist auch dargestellt und weist einen Adressierpufferspeicher bzw. Auffangspeicher 316 und einen Adressierzähler 318 auf.
  • In dieser Ausführungsform sind die Register 308, 310, 312, 342 an den Steuerkreis 314 gekoppelt, um die gelöschten Zeilen aus dem Speicherbereich 350 nachzuverfolgen. Jedes Register ist mit einer Bank in dem Speicherbereich 350 assoziiert. Register 308 ist beispielsweise mit Bank 306 assoziiert, Register 312 ist mit Bank 306 assoziiert, Register 342 ist mit Bank 340 assoziiert. Obwohl nicht dargestellt, weist jedes Register einen Registerunterblock auf, der mit dem jeweiligen Speicherblock assoziiert ist, der mehrere Speicherzellen zum Speichern von Daten enthält, die anzeigen, ob eine assoziierte Reihe in einem assoziierten Speicherblock als gelöscht geprüft worden sind. Die Register 308, 310, 312, 342 sind wie in den vorhergehenden Ausführungsformen umgesetzt. Zum besseren Verständnis des langsamen Bitlöschalgorithmus der vorliegenden Erfindung wird zuerst ein Algorithmus aus dem Stand der Technik besprochen.
  • In 4 wird ein Flußdiagramm eines Blocklöschalgorithmus 400 aus dem Stand der Technik dargestellt. Wie dargestellt, wird im Stand der Technik ein Blocklöschalgorithmus 400 durch Vorprogrammieren der Zellen in dem Block auf ein vorbestimmtes Niveau (402) gestartet. Die Zeilenadresse und Pulszahl werden beide auf Null (404, 406) gesetzt. Dann wird ein Löschpuls auf den Block (408) angewandt.
  • Jeder Zelle in einer Zeile wird gelesen (410). Die Zeile wird dann als gelöscht überprüft (412).
  • Wenn die Zeile nicht als gelöscht überprüft worden ist (410), wird die Zahl der Löschpulse erhöht (414). Dann wird die Pulszahl überprüft, um zu sehen, ob eine vorbestimmte Maximalanzahl erreicht worden ist (416). Wenn überprüft worden ist, daß die Pulszahl eine Maximalanzahl von Pulsen erreicht hat (416), ist die Löschung des Blocks fehlgeschlagen. Wenn überprüft wird, daß die Pulszahl nicht eine Maximalanzahl an Pulsen erreicht hat (416), wird ein weiterer Löschpuls auf den Block (408) angewandt und der Algorithmus wird fortgesetzt.
  • Wenn eine Zeile als gelöscht überprüft worden ist (412), wird die Zeile erhöht (418). Dann wird die Zeilenzahl überprüft, um zu sehen, ob es sich um ein Maximum handelt (420). Wenn die Zeilenanzahl kein Maximum (420) darstellt, wird jede Zelle der Zeile gelesen (410) und der Algorithmus fortgesetzt. Wenn die Zeile als Maximum überprüft worden ist (420), wird jede Spalte des Blocks auf einen Strom geprüft, der anzeigt, ob eine überlöschte Zelle daran gekoppelt ist (422). Dann wird der Block auf überlöschte Zellen (424) überprüft.
  • Wenn der Block keine überlöschten Zellen (424) aufweist, war die Löschung des Blocks erfolgreich. Wenn der Block überlöschte Zellen (424) aufweist, wird eine Reparatur des Blocks mit Hilfe eines Soft-Programms versucht, um die überlöschten Zellen wiederherzustellen (426). Dann wird das Ergebnis der Reparatur überprüft (428). Wenn die Reparatur nicht als erfolgreich überprüft wird (428), weist der Block überlöschte Zellen auf. Wenn die Reparatur als erfolgreich überprüft worden ist (428), war das Löschen des Blocks erfolgreich.
  • In 5 wird ein Flußdiagramm eines Löschalgorithmus 500 einer Ausführungsform der vorliegenden Erfindung dargestellt. Wie dargestellt, ist dieser Algorithmus mit einer ersten und einer zweiten Stufe dargestellt. Die erste Stufe verfolgt die Zahl der Pulse nach, die zum Löschen einer vorbestimmten Zahl an Zeilen benötigt wird, wobei Register verwendet werden, um die Zeilen zu markieren, die als gelöscht überprüft worden sind. Die zweite Stufe errechnet und wendet eine vorbestimmte Maximalanzahl von Löschpulsen auf den Block an, indem die Zeilen, die in der ersten Stufe nicht als gelöscht überprüft worden sind, dem Versuch des Löschens unterzogen werden.
  • Die erste Stufe beginnt mit der Vorprogrammierung der Zellen in dem Block auf ein vorbestimmtes Niveau (502). Ein Adreßzähler der Zeilen in dem Block wird auf minus eins gesetzt (504). Die Pulszahl wird auf null gesetzt (506), alle Prüfmarkierungen werden aus einem assoziierten Register gelöscht (508) und eine überprüfte Zeilenzählung auf Null gesetzt (510). Dann wird ein Löschpuls auf den Block (512) angewandt. Die Zeile wird dann erhöht (wenn die Zeile ihr Maximum erreicht hat, beginnt die Zeilenadressierung an einer ersten Zeile) (514). Dann wird das Register geprüft, um zu bestimmen, ob die mit Strom adressierte Zeile bereits als gelöscht markiert worden ist (516).
  • Wenn die Zeile bereits als gelöscht markiert worden ist (516), wird die Zeile erhöht (514) und der Algorithmus fortgesetzt. Wenn die Zeile vorher nicht als gelöscht markiert worden ist, werden die Zellen in der Zeile überprüft, um zu bestimmen, ob sie alle gelöscht worden sind (518). Wenn sie alle gelöscht worden sind, wird eine Markierung in das Register gesetzt, das mit der Zeile assoziiert ist, die Zeile wird erhöht (514) und der Algorithmus fortgesetzt. Wenn die Zeile nicht als gelöscht überprüft worden ist, wird die Zahl der Löschpulse erhöht (528). Dann wird die Pulszahl überprüft, ob sie eine vorbestimmte Maximalanzahl erreicht hat (503). Wenn die Pulszahl ein Maximum erreicht hat, ist die Löschung des Blocks der vorliegenden Zeile fehlgeschlagen. Wenn die Pulszahl jedoch nicht ein Maximum erreicht, wird ein Löschpuls auf den Block angewandt (512) und der Algorithmus fortgesetzt. Wenn die Zeile überprüft wird und alle Zellen der Zeile gelöscht worden sind (520), wird die Zeile in einem assoziierten Register (522) markiert. Die Zeilenzahl der überprüften Zeilen wird dann erhöht (524). Die Zeilenzahl von überprüften Zeilen wird dann überprüft, wenn eine vorbestimmte Anzahl an überprüften Zeilen (526) erreicht wurde. Wenn die Zeilenzahl von überprüften Zeilen die vorbestimmte Menge nicht erreicht hat, wird die Zeile erhöht (512) und der Algorithmus fortgesetzt. Wenn die Zeilenzahl der überprüften Zeilen die vorbestimmte Menge erreicht hat, startet der Algorithmus die zweite Stufe.
  • Wie dargestellt, wird die zweite Stufe durch Anwenden einer vorbestimmten Gleichung auf die Pulszahl der ersten Stufe gestartet, um die maximale Löschpulsgrenze, die auf den Block angewandt werden muß, zu bestimmen, indem der Versuch unternommen wird, die Zellen in Zeilen zu löschen, die in der ersten Stufe als nicht gelöscht überprüft worden sind (532). Die Zeile wird dann erhöht (wenn die Zeile ihr Maximum erreicht hat beginnt die Zeilenadressierung an einer ersten Zeile) (536). Dann wird ein assoziiertes Register überprüft, falls dieses markiert wurde, daß die Zeile gelöscht worden ist (538). Wenn das Register markiert worden ist (538), wird die Zeile erhöht (536) und der Algorithmus fortgesetzt. Wenn das Register nicht markiert wurde (538), wird der Programmierstatus jeder Zelle in der assoziierten Zeile gelesen (540). Die Zeile wird dann überprüft, wenn alle Zellen gelöscht worden sind (542).
  • Wenn die Zeile nicht als gelöscht überprüft worden ist (542), wird die Zahl der Löschpulse erhöht (544). Dann wird die Pulszahl überprüft, um zu sehen, ob diese an der Pulsgrenze liegt, die durch die vorbestimmte Gleichung gesetzt worden ist (552). Wenn die Pulszahl nicht an der Pulszahlgrenze liegt (552), wird ein Löschpuls auf den Block angewandt (534) und der Algorithmus fortgesetzt. Wenn die Pulszahl an der Pulszahlgrenze (552) liegt, sind die nicht überprüften Zeilen unbrauchbar (554).
  • Wenn die Zeile als gelöscht überprüft worden ist (542), wird eine Zeilenüberprüfungsmarkierung in einem assoziierten Register (546) gesetzt. Die überprüfte Zeilenzahl wird dann erhöht (548). Die Zeilenzahl wird dann überprüft, um zu bestimmen, ob alle Zeilen als gelöscht markiert worden sind (550). Wenn nicht alle Zeilen als gelöscht markiert worden sind (550), wird die Zeilenadresse erhöht (536) und der Algorithmus fortgesetzt. Wenn jedoch alle Zeilen als gelöscht überprüft worden sind (556), werden die Spalten des Blocks überwacht, um zu bestimmen, ob der Block überlöschte Zellen (556) aufweist. Dann wird der Block auf überlöschte Zellen (558) überprüft.
  • Wenn überprüft worden ist, daß keine überlöschten Zellen im Block vorhanden sind (558), ist der Block erfolgreich gelöscht worden. Wenn jedoch überprüft wird, daß überlöschte Zellen im Block vorhanden sind (558), wird ein Soft-Programm auf den Block angewandt, um die überlöschten Zellen (560) wiederherzustellen. Der Block wird dann darauf hin überprüft, ob das Soft-Programm beim Wiederherstellen der überlöschten Zellen (562) erfolgreich war. Wenn das Soft-Programm erfolgreich war (562), ist der Block erfolgreich gelöscht worden. Wenn das Soft-Programm jedoch nicht erfolgreich war (562), weist der Block Zeilen mit überlöschten Zellen auf und der Controller bzw. der Steuerkreis ignorieren diese Zeilen während der nachfolgenden Vorgänge auf den Speicherblock.
  • Schlußfolgerung
  • Ein Verfahren und ein Gerät für Löschvorgänge auf einem Flash-Speicherblock werden offenbart. Bei einer Ausführungsform umfaßt ein Verfahren das Löschen eines vorbestimmten Prozentsatzes von Zeilen in einem Speicherblock, das Analysieren einer Anzahl von Löschpulsen, die verwendet werden, um den vorgegebenen Prozentsatz zu löschen, und das Berechnen einer akzeptablen Anzahl zusätzlicher Löschpulse, die auf den Speicherblock angewandt werden können, um die verbleibenden Zeilen zu löschen. Bei einer weiteren Ausführungsform umfaßt eine Flashspeichervorrichtung einen Speicherbereich, einen Controller und ein Register. Der Speicherbereich weist mehrere Blöcke von Flash-Speicherzellen auf. Die Speicherzellen in jedem Block sind in Zeilen angeordnet. Der Controller wird zur Steuerung von Speichervorgängen auf den Speicherbereich verwendet und das Register ist mit dem Controller gekoppelt, um den Löschstatus jeder Zeile von Speicherzellen nachzuverfolgen.
  • Die vorliegende Erfindung wird ausschließlich von den angefügten Ansprüchen definiert.
  • Übersetzung des in den Zeichnungsfiguren enthaltenen Textes
    Figure 00180001
  • Figure 00190001
  • Figure 00200001
  • Figure 00210001
  • Figure 00220001

Claims (20)

  1. Verfahren zum Betrieb eines Flash-Speichers, umfassend das Löschen eines vorbestimmten Prozentsatzes von Zeilen in einem Speicherblock, dadurch gekennzeichnet, daß das Verfahren weiterhin umfaßt: Analysieren einer Anzahl von Löschpulsen, die verwendet werden, um den vorgegebenen Prozentsatz von Zeilen in dem Speicherblock (502, 504, 506, 508, 510, 512, 514, 516, 518, 520) zu löschen; und Berechnen einer Maximalanzahl zusätzlicher Löschpulse basierend auf der Anzahl von Löschpulsen, die verwendet werden, um den vorbestimmten Prozentsatz von Zeilen zu löschen, um die verbleibenden Zeilen in dem Speicherblock (532) zu löschen.
  2. Verfahren nach Anspruch 1, weiterhin umfassend: Anwenden von zusätzlichen Löschpulsen auf den Speicherblock, um die Zeilen des Speicherblocks, die nicht zuvor gelöscht wurden (534), zu löschen.
  3. Verfahren nach Anspruch 2, weiterhin umfassend: Markieren ungelöschter Zeilen in dem Speicherblock zur Verwendung bei nachfolgenden Speichervorgängen in dem Speicherblock (538).
  4. Verfahren nach Anspruch 3, wobei die nachfolgenden Speichervorgänge Programmier- und Lesevorgänge umfassen.
  5. Verfahren nach Anspruch 1, wobei der Speicherblock Flashspeicherzellen umfaßt, die in Zeilen angeordnet sind, dadurch gekennzeichnet, daß das Analysieren einer Anzahl von Löschpulsen, die verwendet werden, um den vorbestimmten Prozentsatz von Zeilen in dem Speicherblock zu löschen, umfaßt: Anwenden wenigstens eines Löschpulses auf den Speicherblock (512) und Überprüfen, ob jede Zeile im Speicherblock gelöscht wurde nachdem wenigstens ein Löschpuls angewandt wurde (518) und wobei das Verfahren weiterhin umfaßt: Zählen der Anzahl von Löschpulsen, die verwendet werden, um zu überprüfen, daß eine vorbestimmte Anzahl von Zeilen in dem Speicherblock (524) gelöscht worden ist, und Anwenden einer vorbestimmten Anzahl zusätzlicher Löschpulse auf den Speicherblock, um zu versuchen, Zeilen zu löschen, die als nichtgelöscht überprüft worden sind, wobei die vorbestimmte Anzahl zusätzlicher Löschpulse ein Bruchteil der Anzahl von Löschpulsen ist, die verwendet werden, um die vorbestimmte Anzahl von Zeilen (532, 534, 536, 538, 540) zu prüfen.
  6. Verfahren nach Anspruch 5, weiterhin umfassend: Programmieren von Speicherzellen in einem Register, das verbunden ist mit dem Speicherblock, um Zeilen nachzuverfolgen, die als gelöscht überprüft worden sind.
  7. Verfahren nach Anspruch 5, weiterhin umfassend: Vorladen jeder Speicherzelle in den Speicherblock bevor ein anfänglicher Löschpuls angewandt wird (502).
  8. Verfahren nach Anspruch 5, wobei die vorbestimmte Anzahl von geprüften gelöschten Zeilen die Mehrheit der Zeilen in dem Speicherblock darstellt.
  9. Verfahren nach Anspruch 5, wobei die nachdem die vorbestimmte Anzahl von Löschpulsen auf den Speicherblock angewandt wurde als nichtgelöscht geprüften Zeilen markiert werden als nichtgelöscht für nachfolgende Speichervorgänge in dem Block.
  10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Analysieren einer Anzahl von Löschpulsen, die verwendet werden, um die vorbestimmten Zeilen in dem Speicherblock zu löschen, umfaßt: Vorladen der Flashspeicherzellen, die in Zeilen in dem Speicherblock angeordnet sind, auf ein vorbestimmtes Niveau (502); Anwenden wenigstens eines Erststufenlöschimpulses auf den Speicherblock (Schritt 512); Überprüfen, ob jede Speicherzelle pro Zeile gelöscht ist, nachdem jeder Erststufenlöschimpuls auf den Speicherblock angewandt worden ist (518); wobei das Verfahren weiterhin umfaßt: Zählen einer ersten Anzahl von Pulsen, angewandt auf den Speicherblock, worin die erste Anzahl von Pulsen, die auf den Speicherblock angewandt wurde, die Anzahl von Pulsen ist, welche verwendet werden, um zu überprüfen, ob eine Mehrheit von Zeilen in dem Speicherblock gelöscht worden ist (524, 526); Berechnen einer zweiten Anzahl von Löschpulsen basierend auf einem Bruchteil der ersten Anzahl von Löschpulsen, wobei die zweite Anzahl eine Maximalanzahl von zusätzlichen Löschpulsen einer zweiten Stufe ist, welche auf den Speicherblock angewandt werden können, um das Löschen der Speicherzellen in den Zeilen sicherzustellen, die als noch nicht gelöscht überprüft worden sind (532); Anwenden wenigstens eines Löschpulses zweiter Stufen auf den Speicherblock (534); Überprüfen, ob jede Speicherzelle pro Zeile gelöscht ist, nachdem jeder Löschpuls zweiter Stufen auf den Speicherblock angewandt ist (540, 542); und Vervollständigen des Löschens des Speicherblocks, wenn entweder die zweite Anzahl der Löschpulse zweiter Stufen auf den Speicherblock angewandt worden ist oder alle der Zeilen als gelöscht geprüft worden (550) sind.
  11. Verfahren nach Anspruch 10, ferner umfassend: Kennzeichnen eines Registers, das einer Zeile zugeordnet ist, wenn die Zeile als gelöscht geprüft ist (546).
  12. Verfahren nach Anspruch 10, weiterhin umfassend: Markieren von Zeilen, die als nicht gelöscht geprüft wurden, für andere Vorgänge am Speicherblock.
  13. Verfahren nach Anspruch 10, wobei die zweite Anzahl berechnet wird durch N2 = (A·N1) + B, wobei N2 die zweite Anzahl, N1 die erste Anzahl von Löschpulsen ist, A ein vordefinierter Bruchteil und B eine Minimalanzahl von Pulsen ist, die in der zweiten Stufe (532) anzuwenden sind.
  14. Flash-Memory-Vorrichtung mit einem Speicherbereich mit einer Vielzahl von löschbaren Blöcken von Speicherzellen, wobei die Speicherzellen in jedem Block in Zeilen angeordnet sind, dadurch gekennzeichnet, daß die Flashspeichervorrichtung umfaßt: einen Steuerkreis (112) um Speichervorgänge am Speicherbereich zu steuern, wobei der Steuerkreis eine erste Anzahl von Löschpulsen auf einen vorbestimmten Prozentsatz von Zeilen eines Blocks in einer ersten Stufe und eine zweite Anzahl von Löschpulsen in den verbleibenden Zeilen des Blockes in einer zweiten Stufe umfaßt, wobei weiterhin die zweite Anzahl von Löschpulsen, angewandt in der zweiten Stufe, basiert auf der Anzahl von Löschpulsen, die in der ersten Stufe zum Löschen und zum Überprüfen benötigt wird, daß der vorbestimmte Prozentsatz von Zeilen in dem Block gelöscht worden ist.
  15. Flashspeichervorrichtung nach Anspruch 14, wobei die zweite Anzahl von Löschpulsen, die in der zweiten Stufe angewandt ist, ein Bruchteil der ersten Anzahl von Löschpulsen ist, die in der ersten Stufe angewandt werden.
  16. Flashspeichervorrichtung nach Anspruch 14, ferner umfassend: ein Register (130, 132, 134, 138) mit einer Vielzahl von Registerunterblöcken (130a130d), gekoppelt an den Steuerkreis, wobei jeder Registerunterblock verbunden ist mit einem Block von Speicherzellen, wobei ferner jeder Registerunterblock eine Registerspeicherzelle für jede Zeile in einem Block von Speicherzellen für den Steuerkreis hat, um Daten zu speichern, die anzeigen, ob die zugeordnete Zeile als gelöscht geprüft worden ist.
  17. Flashspeichervorrichtung nach Anspruch 16, wobei die Registerspeicherzelle eine nichtflüchtige Speicherzelle ist.
  18. Flashspeichervorrichtung nach Anspruch 16, wobei jede Registerspeicherzelle eine flüchtige Speicherzelle ist.
  19. Flashspeichervorrichtung nach Anspruch 14, wobei der Steuerkreis in nachfolgenden Speichervorgängen auf dem Speicherblock keine Zeilen verwendet, die als nichtgelöscht geprüft worden sind.
  20. Flashspeichervorrichtung nach Anspruch 19, wobei die nachfolgenden Speichervorgänge Programmierung und Lesen umfassen.
DE60213620T 2001-08-24 2002-08-23 Nichtflüchtiger speicher mit blocklöschung Expired - Lifetime DE60213620T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US939394 2001-08-24
US09/939,394 US6614695B2 (en) 2001-08-24 2001-08-24 Non-volatile memory with block erase
PCT/US2002/027022 WO2003019565A2 (en) 2001-08-24 2002-08-23 Non-volatile memory with block erase

Publications (2)

Publication Number Publication Date
DE60213620D1 DE60213620D1 (de) 2006-09-14
DE60213620T2 true DE60213620T2 (de) 2007-08-09

Family

ID=25473108

Family Applications (3)

Application Number Title Priority Date Filing Date
DE60236554T Expired - Lifetime DE60236554D1 (de) 2001-08-24 2002-08-23 Nichtflüchtiger Speicher
DE60213620T Expired - Lifetime DE60213620T2 (de) 2001-08-24 2002-08-23 Nichtflüchtiger speicher mit blocklöschung
DE60236553T Expired - Lifetime DE60236553D1 (de) 2001-08-24 2002-08-23 Nichtflüchtiger Speicher mit Blocklöschung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE60236554T Expired - Lifetime DE60236554D1 (de) 2001-08-24 2002-08-23 Nichtflüchtiger Speicher

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60236553T Expired - Lifetime DE60236553D1 (de) 2001-08-24 2002-08-23 Nichtflüchtiger Speicher mit Blocklöschung

Country Status (9)

Country Link
US (8) US6614695B2 (de)
EP (3) EP1622165B1 (de)
JP (1) JP3860573B2 (de)
KR (1) KR100581306B1 (de)
CN (1) CN1575496B (de)
AT (3) ATE469421T1 (de)
AU (1) AU2002332653A1 (de)
DE (3) DE60236554D1 (de)
WO (1) WO2003019565A2 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5938678A (en) 1997-06-11 1999-08-17 Endius Incorporated Surgical instrument
US7061810B2 (en) * 2001-10-09 2006-06-13 Micron Technology, Inc. Erasing flash memory without pre-programming the flash memory before erasing
ITRM20010647A1 (it) * 2001-11-02 2003-05-02 Micron Technology Inc Verifica di cancellazione a blocchi per memorie flash.
TWI259952B (en) * 2002-01-31 2006-08-11 Macronix Int Co Ltd Data erase method of flash memory
JP4028301B2 (ja) * 2002-06-11 2007-12-26 富士通株式会社 不揮発性半導体記憶装置及びその消去方法
US6941411B2 (en) * 2002-08-21 2005-09-06 Micron Technology, Inc. Non-contiguous address erasable blocks and command in flash memory
KR100506061B1 (ko) * 2002-12-18 2005-08-03 주식회사 하이닉스반도체 특성 조정 장치를 부가한 메모리 장치
KR100492774B1 (ko) * 2002-12-24 2005-06-07 주식회사 하이닉스반도체 라이트 보호 영역을 구비한 비휘발성 메모리 장치
JP2004335056A (ja) * 2003-05-12 2004-11-25 Sharp Corp 複数のメモリセルを有する半導体記憶装置をプログラムする方法および消去する方法
US6975538B2 (en) * 2003-10-08 2005-12-13 Micron Technology, Inc. Memory block erasing in a flash memory device
JP2006127460A (ja) * 2004-06-09 2006-05-18 Renesas Technology Corp 半導体装置、半導体信号処理装置、およびクロスバースイッチ
US7415646B1 (en) * 2004-09-22 2008-08-19 Spansion Llc Page—EXE erase algorithm for flash memory
JP4051055B2 (ja) * 2004-10-14 2008-02-20 シャープ株式会社 不揮発性メモリの消去パルス設定方法及び消去不良スクリーニング方法
KR100648254B1 (ko) * 2004-12-01 2006-11-24 삼성전자주식회사 소거시간을 줄일 수 있는 불휘발성 메모리 장치 및 그것의소거방법
US20060256623A1 (en) * 2005-05-12 2006-11-16 Micron Technology, Inc. Partial string erase scheme in a flash memory device
US7339834B2 (en) * 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
US7668017B2 (en) * 2005-08-17 2010-02-23 Saifun Semiconductors Ltd. Method of erasing non-volatile memory cells
US20070047327A1 (en) * 2005-08-31 2007-03-01 Micron Technology, Inc. Erase method for flash memory
US7403430B2 (en) * 2006-02-16 2008-07-22 Macronix International Co., Ltd. Erase operation for use in non-volatile memory
US7640389B2 (en) * 2006-02-28 2009-12-29 Freescale Semiconductor, Inc. Non-volatile memory having a multiple block erase mode and method therefor
US8278176B2 (en) 2006-06-07 2012-10-02 Asm America, Inc. Selective epitaxial formation of semiconductor films
US7768835B2 (en) * 2006-08-09 2010-08-03 Micron Technology, Inc. Non-volatile memory erase verify
US20080285368A1 (en) * 2007-05-17 2008-11-20 Macronix International Co., Ltd. Method for nrom array word line retry erasing and threshold voltage recovering
US7649782B2 (en) * 2007-07-31 2010-01-19 Freescale Semiconductor, Inc. Non-volatile memory having a dynamically adjustable soft program verify voltage level and method therefor
US7916543B2 (en) * 2007-10-22 2011-03-29 Micron Technology, Inc. Memory cell operation
US7755940B2 (en) * 2007-12-05 2010-07-13 Micron Technology, Inc. Method, apparatus, and system for erasing memory
JP5072723B2 (ja) * 2008-06-11 2012-11-14 株式会社東芝 不揮発性半導体記憶装置
JP2010040125A (ja) * 2008-08-06 2010-02-18 Samsung Electronics Co Ltd 不揮発性半導体記憶装置の消去方法
US7839690B2 (en) * 2008-12-11 2010-11-23 Sandisk Corporation Adaptive erase and soft programming for memory
KR101703106B1 (ko) * 2011-01-04 2017-02-06 삼성전자주식회사 부분-이레이즈 동작을 수행할 수 있는 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 포함하는 장치들
US8809170B2 (en) 2011-05-19 2014-08-19 Asm America Inc. High throughput cyclical epitaxial deposition and etch process
US8830756B2 (en) * 2013-01-23 2014-09-09 Freescale Semiconductor, Inc. Dynamic detection method for latent slow-to-erase bit for high performance and high reliability flash memory
US8879330B1 (en) * 2013-04-30 2014-11-04 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with variable verify operations
CN103559911A (zh) * 2013-10-13 2014-02-05 广东博观科技有限公司 一种提高芯片周期耐久性的方法
US9728278B2 (en) 2014-10-24 2017-08-08 Micron Technology, Inc. Threshold voltage margin analysis
US9679658B2 (en) * 2015-06-26 2017-06-13 Intel Corporation Method and apparatus for reducing read latency for a block erasable non-volatile memory
US11232841B2 (en) 2017-09-05 2022-01-25 Samsung Electronics Co., Ltd. Methods of operating memory devices based on sub-block positions and related memory system
KR102336659B1 (ko) 2017-09-05 2021-12-07 삼성전자 주식회사 데이터 신뢰성을 향상시키기 위한 메모리 동작을 수행하는 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 장치의 동작 방법
CN110908593B (zh) * 2018-09-17 2024-02-20 兆易创新科技集团股份有限公司 一种存储空间擦除方法、装置、存储设备及存储介质
US11068165B2 (en) 2019-06-27 2021-07-20 Western Digital Technologies, Inc. Non-volatile memory data write management
CN110970076B (zh) * 2019-12-02 2022-03-18 武汉新芯集成电路制造有限公司 存储结构及其擦除方法
CN111785316B (zh) * 2020-06-29 2021-03-05 深圳市芯天下技术有限公司 一种克服擦除干扰的方法、系统、存储介质和终端

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222046A (en) * 1988-02-17 1993-06-22 Intel Corporation Processor controlled command port architecture for flash memory
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
JP2709751B2 (ja) 1990-06-15 1998-02-04 三菱電機株式会社 不揮発性半導体記憶装置およびそのデータ消去方法
JPH04363746A (ja) * 1990-07-06 1992-12-16 Nec Corp Dma機能を有するマイクロコンピュータシステム
US5355464A (en) * 1991-02-11 1994-10-11 Intel Corporation Circuitry and method for suspending the automated erasure of a non-volatile semiconductor memory
JP3408552B2 (ja) * 1991-02-11 2003-05-19 インテル・コーポレーション 不揮発性半導体メモリをプログラム及び消去する回路とその方法
US5175732A (en) * 1991-02-15 1992-12-29 Standard Microsystems Corp. Method and apparatus for controlling data communication operations within stations of a local-area network
US5241507A (en) 1991-05-03 1993-08-31 Hyundai Electronics America One transistor cell flash memory assay with over-erase protection
US5412793A (en) * 1991-12-03 1995-05-02 Intel Corporation Method for testing erase characteristics of a flash memory array
US5369647A (en) * 1991-12-16 1994-11-29 Intel Corporation Circuitry and method for testing a write state machine
JPH05283708A (ja) * 1992-04-02 1993-10-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置,その製造方法および試験方法
US5491809A (en) * 1993-01-05 1996-02-13 Texas Instruments Incorporated Smart erase algorithm with secure scheme for flash EPROMs
US5353256A (en) * 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
US5592641A (en) * 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
FR2711831B1 (fr) * 1993-10-26 1997-09-26 Intel Corp Procédé et circuit de mémorisation et de hiérarchisation d'ordres d'effacement dans un dispositif de mémoire.
US5559988A (en) * 1993-12-30 1996-09-24 Intel Corporation Method and circuitry for queuing snooping, prioritizing and suspending commands
US5519333A (en) * 1994-09-09 1996-05-21 Sandia Corporation Elevated voltage level IDDQ failure testing of integrated circuits
US5907700A (en) * 1994-10-24 1999-05-25 Intel Corporation Controlling flash memory program and erase pulses
US5564583A (en) * 1995-05-12 1996-10-15 Kelley; David J. Portable carrier for a beverage container
US5729683A (en) * 1995-05-18 1998-03-17 Compaq Computer Corporation Programming memory devices through the parallel port of a computer system
US5568426A (en) 1995-07-26 1996-10-22 Micron Quantum Devices, Inc. Method and apparatus for performing memory cell verification on a nonvolatile memory circuit
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5642311A (en) * 1995-10-24 1997-06-24 Advanced Micro Devices Overerase correction for flash memory which limits overerase and prevents erase verify errors
US5799168A (en) * 1996-01-05 1998-08-25 M-Systems Flash Disk Pioneers Ltd. Standardized flash controller
US5675540A (en) 1996-01-22 1997-10-07 Micron Quantum Devices, Inc. Non-volatile memory system having internal data verification test mode
US5825782A (en) 1996-01-22 1998-10-20 Micron Technology, Inc. Non-volatile memory system including apparatus for testing memory elements by writing and verifying data patterns
US5815439A (en) * 1996-04-30 1998-09-29 Agate Semiconductor, Inc. Stabilization circuits and techniques for storage and retrieval of single or multiple digital bits per memory cell
JP3976839B2 (ja) * 1996-07-09 2007-09-19 株式会社ルネサステクノロジ 不揮発性メモリシステムおよび不揮発性半導体メモリ
US6381670B1 (en) * 1997-01-07 2002-04-30 Aplus Flash Technology, Inc. Flash memory array having maximum and minimum threshold voltage detection for eliminating over-erasure problem and enhancing write operation
US5764568A (en) 1996-10-24 1998-06-09 Micron Quantum Devices, Inc. Method for performing analog over-program and under-program detection for a multistate memory cell
US6038680A (en) * 1996-12-11 2000-03-14 Compaq Computer Corporation Failover memory for a computer system
US6097632A (en) 1997-04-18 2000-08-01 Micron Technology, Inc. Source regulation circuit for an erase operation of flash memory
US5765712A (en) * 1997-05-02 1998-06-16 Skinner; Dana Two can beverage holder
US5978311A (en) * 1998-03-03 1999-11-02 Micron Technology, Inc. Memory with combined synchronous burst and bus efficient functionality
US6222779B1 (en) 1998-04-24 2001-04-24 Kabushiki Kaisha Toshiba Semiconductor storage device with automatic write/erase function
US6209069B1 (en) * 1998-05-11 2001-03-27 Intel Corporation Method and apparatus using volatile lock architecture for individual block locking on flash memory
US6404512B1 (en) * 1998-07-06 2002-06-11 Ricoh Company, Ltd. Method and apparatus for image processing capable of efficiently performing a gamma conversion operation
US6052310A (en) * 1998-08-12 2000-04-18 Advanced Micro Devices Method for tightening erase threshold voltage distribution in flash electrically erasable programmable read-only memory (EEPROM)
US6434648B1 (en) * 1998-12-10 2002-08-13 Smart Modular Technologies, Inc. PCMCIA compatible memory card with serial communication interface
US6282145B1 (en) * 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
US6055190A (en) * 1999-03-15 2000-04-25 Macronix International Co., Ltd. Device and method for suppressing bit line column leakage during erase verification of a memory cell
JP3920501B2 (ja) * 1999-04-02 2007-05-30 株式会社東芝 不揮発性半導体記憶装置及びそのデータ消去制御方法
US6166962A (en) * 1999-06-24 2000-12-26 Amic Technology, Inc. Circuit and method for conditioning flash memory array
US6172914B1 (en) * 1999-08-13 2001-01-09 Advanced Micro Devices, Inc. Concurrent erase verify scheme for flash memory applications
US6211575B1 (en) * 1999-08-18 2001-04-03 Sigmatel Inc. Method and apparatus for identifying customized integrated circuits
JP4138173B2 (ja) * 1999-08-26 2008-08-20 株式会社ルネサステクノロジ 不揮発性半導体記憶装置およびその消去方法
US6381175B2 (en) * 2000-01-10 2002-04-30 Texas Instruments Incorporated Method and system for validating flash memory
US6512263B1 (en) * 2000-09-22 2003-01-28 Sandisk Corporation Non-volatile memory cell array having discontinuous source and drain diffusions contacted by continuous bit line conductors and methods of forming
US6558298B2 (en) * 2001-01-03 2003-05-06 Century Incorporated Training bag
US6426898B1 (en) * 2001-03-05 2002-07-30 Micron Technology, Inc. Method of reducing trapped holes induced by erase operations in the tunnel oxide of flash memory cells
US6452836B1 (en) * 2001-03-09 2002-09-17 Micron Technology, Inc. Non-volatile memory device with erase cycle register
US6381174B1 (en) * 2001-03-12 2002-04-30 Micron Technology, Inc. Non-volatile memory device with redundant columns
US6452417B1 (en) * 2001-04-12 2002-09-17 Cypress Semiconductor Corporation I/O cell architecture for CPLDs
US6827674B1 (en) * 2001-05-07 2004-12-07 Mark W. Ferry Kick-boxing bag

Also Published As

Publication number Publication date
EP1425758B1 (de) 2006-08-02
EP1622164A3 (de) 2007-08-29
AU2002332653A1 (en) 2003-03-10
US6646927B2 (en) 2003-11-11
EP1622165A2 (de) 2006-02-01
CN1575496A (zh) 2005-02-02
US20030072182A1 (en) 2003-04-17
WO2003019565A2 (en) 2003-03-06
US20030072179A1 (en) 2003-04-17
US6650571B2 (en) 2003-11-18
US6618293B2 (en) 2003-09-09
EP1622165B1 (de) 2010-05-26
ATE335277T1 (de) 2006-08-15
EP1622164B1 (de) 2010-05-26
JP3860573B2 (ja) 2006-12-20
EP1622165A3 (de) 2007-08-29
EP1622164A2 (de) 2006-02-01
ATE469422T1 (de) 2010-06-15
US20030072181A1 (en) 2003-04-17
DE60213620D1 (de) 2006-09-14
US6614695B2 (en) 2003-09-02
KR20040029022A (ko) 2004-04-03
CN1575496B (zh) 2010-05-05
KR100581306B1 (ko) 2006-05-22
US6654292B2 (en) 2003-11-25
US6646926B2 (en) 2003-11-11
US20030067811A1 (en) 2003-04-10
US6603682B2 (en) 2003-08-05
US20030067810A1 (en) 2003-04-10
WO2003019565A9 (en) 2004-04-22
DE60236553D1 (de) 2010-07-08
US20030072178A1 (en) 2003-04-17
US20030072180A1 (en) 2003-04-17
JP2005501368A (ja) 2005-01-13
US6618294B2 (en) 2003-09-09
US20030039145A1 (en) 2003-02-27
WO2003019565A3 (en) 2004-03-18
EP1425758A2 (de) 2004-06-09
DE60236554D1 (de) 2010-07-08
ATE469421T1 (de) 2010-06-15

Similar Documents

Publication Publication Date Title
DE60213620T2 (de) Nichtflüchtiger speicher mit blocklöschung
DE102005045031B4 (de) Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement
DE69533429T2 (de) Automatischer progammier-algorithmus für flash-speicher im seitenmodus mit variabler programmierimpulshöhe und -breite
DE3637682C2 (de)
DE102005037037B4 (de) Speicheranordnung und Verfahren zum Betreiben der Speicheranordnung
DE60132830T2 (de) Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher
DE4309814C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE112005001325B4 (de) Lösch-Verfahren für einen Multilevel-Bit-Flash-Speicher
DE102005039099B4 (de) Löschverfahren und nichtflüchtiges Speicherbauelement
DE60319437T2 (de) Nichtflüchtiger halbleiterspeicher mit zykluszählwerte speichernden grossen löschblöcken
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE19531683C2 (de) Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-Speichers
DE602004005211T2 (de) Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen
DE60318714T2 (de) System und verfahren zur steuerung einer löschspannung während des löschens mehrerer sektoren eines flash-speichers
DE102008011514B4 (de) Steuerschaltung einer Flash-Speichervorrichtung und Verfahren zum Betreiben der Flash-Speichervorrichtung
DE602004013347T2 (de) Verfahren zum identifizieren nichtflüchtiger speicherelmente mit schlechter subschwellensteigung oder schwacher transkonduktanz
DE102006058380A1 (de) Flash-Speicherbauelement und Verfahren zur Steuerung einer Löschoperation desselben
DE4207934A1 (de) Elektrisch loesch- und programmierbares, nichtfluechtiges speichersystem mit schreib-pruef-einsteller unter verwendung zweier bezugspegel
DE102004059411A1 (de) Flash-Speichervorrichtung und Verfahren zur Steuerung derselben
DE102007031027A1 (de) Leseverfahren einer Speichervorrichtung
DE102006028209A1 (de) Verfahren zum Löschen von Speicherzellen einer Flash-Speichereinrichtung und Speichereinrichtung
DE112005000866T5 (de) Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen
DE102008007685B4 (de) Integrierte Schaltung und Verfahren zum Betreiben einer integrierten Schaltung
DE102010037978A1 (de) Nichtflüchtiger Speicher mit prädiktiver Programmierung
DE102005049845A1 (de) Verfahren zum Testen einer Speicheranordnung, Speicheranordnung und Testeinheit zum Testen einer solchen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition