DE19882265B4 - Flash-Speicher-VDS-Kompensationstechniken zum Verringern von Programmierschwankungen - Google Patents

Flash-Speicher-VDS-Kompensationstechniken zum Verringern von Programmierschwankungen Download PDF

Info

Publication number
DE19882265B4
DE19882265B4 DE19882265T DE19882265T DE19882265B4 DE 19882265 B4 DE19882265 B4 DE 19882265B4 DE 19882265 T DE19882265 T DE 19882265T DE 19882265 T DE19882265 T DE 19882265T DE 19882265 B4 DE19882265 B4 DE 19882265B4
Authority
DE
Germany
Prior art keywords
source
volatile memory
voltage
memory cell
bit line
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
DE19882265T
Other languages
English (en)
Other versions
DE19882265T1 (de
Inventor
Stephen N. San Jose Keeney
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE19882265T1 publication Critical patent/DE19882265T1/de
Application granted granted Critical
Publication of DE19882265B4 publication Critical patent/DE19882265B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • 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
    • 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/30Power supply circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

Ein nicht-flüchtiges Speicherbauelement, aufweisend:
ein Speicher-Array mit einer Bitleitung, einer Source-Leitung und einer nicht-flüchtigen Speicherzelle mit einem mit der Bitleitung gekoppelten Drain, einer mit der Source-Leitung gekoppelten Source, einem Steuer-Gate und einem Floating-Gate; und
einer Source-Spannungsgeneratorschaltung, die mit der Source-Leitung gekoppelt ist und die eine Source-Leitungsspannung erzeugt, wenn die nicht-flüchtige Speicherzelle programmiert wird, wobei die Source-Spannungsgeneratorschaltung die Source-Leitungsspannung auf der Grundlage eines Ortes der nicht-flüchtigen Speicherzelle in dem Speicher-Array variiert.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf das Programmieren von Speicherzellen. Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren und eine Schaltung zum Kompensieren von Source- und Drain-Spannungen zum Programmieren von Flash-Speicherzellen in einem Speicherbauelement.
  • HINTERGRUND
  • Nicht-flüchtige Speicherbauelemente, wie beispielsweise elektrisch programmierbare Nur-Lese-Speicher (EPROMs), elektrisch löschbare und programmierbare Nur-Lese-Speicher (EE-PROMs) und Flash-EEPROMs, enthalten ein Array von nichtflüchtigen Speicherzellen und unterstützende Schaltungen zum Zugreifen auf das Array. Eine nicht-flüchtige Speicherzelle verhält sich typischerweise wie ein Feldeffekttransistor und enthält ein Auswahl- oder Steuer-Gate, das das Lesen und Schreiben von Daten in die Speicherzelle steuert, und ein Gate auf schwebendem Potential (Floating-Gate), das Ladung einfängt, die den durch die Speicherzelle gespeicherten Daten entspricht.
  • Ein attraktives Merkmal nicht-flüchtiger Halbleiterspeicher ist ihre Fähigkeit, analoge Daten zu speichern. Dieses gestattet die Speicherung mehrerer Bits von Daten in einer einzelnen Speicherzelle. Wenn Ladung zu dem Floating-Gate einer Speicherzelle zugeführt wird, erhöht sich die Schwellenspannung Vt der Speicherzelle, und der Drain-Strom ID der Speicherzelle (Zellenstrom) sinkt. Die Speicherzellenschwellenspannung Vt steht in einer derartigen Beziehung zu dem Speicherzellen-Drain-Strom ID, daß ID proportional ist zu: Gm × (VG – Vt) für VD > VG – Vt (Gleichung 1), wobei Gm der Gegenwirkleitwert (Transkonduktanz) der Speicherzelle ist; VG die Speicherzellen-Gate-Spannung ist; VD die Speicherzellen-Drain-Spannung ist; und Vt die Speicherzellenschwellenspannung ist.
  • Bei mehrere Bits von Daten speichernden Speicherzellen repräsentiert jedes der möglichen Muster von Bits einen Zustand. Im Endeffekt speichert die Zelle Daten mit der Zahlenbasis S, wobei S die Anzahl derjenigen Zustände ist, die die Zelle speichern kann. Das Bitmuster ergibt sich aus dem Dekodieren der Zustandsdaten einer oder mehrerer Zellen. Beispielsweise gibt es für Speicherzellen, die zwei Bits von Daten speichern, vier Bitmuster: 00, 01, 10 und 11. Jedes dieser Bitmuster ist durch einen Zustand repräsentiert. Der durch ein bestimmtes Muster von Bits repräsentierte Zustand hängt von der Art der verwendeten Codierung ab (z. B. Gray-Codierung oder binär). Die Art der Codierung beeinflußt grundsätzlich nicht das Verfahren der Programmierung.
  • Zustände können auf vielfältige Weise definiert werden. Sie können anhand eines Bereichs von Schwellenspannungen Vt, eines Bereichs von Drain-Strömen ID oder eines Bereichs der Ladung definiert werden.
  • 1 veranschaulicht einen herkömmlichen Abschnitt eines Flash-Speicher-Arrays 100, der Flash-Speicherzellen 112, 114, 116 und 118 enthält, die an den Schnittpunkten der Wortleitungen 138 und 140 und der Bitleitungen 146 und 148 ausgebildet sind. Jede Flash-Speicherzelle enthält ein Auswahl-Gate und ein Floating-Gate. Beispielsweise enthält die Flash-Speicherzelle 112 das Steuer-Gate 144 und das Floating-Gate 142. Die Steuer-Gates der Flash-Speicherzellen 112 und 114 sind mit der Wortleitung 138 gekoppelt, und die Steuer-Gates der Flash-Speicherzellen 116 und 118 sind mit der Wortleitung 140 gekoppelt. Die Flash-Speicherzellen 112 und 116 weisen einen Anschluß bzw. eine Elektrode auf, der bzw. die mit der Bitleitung 146 gekoppelt ist, und einen weiteren Anschluß oder eine weitere Elektrode, der bzw. die mit einer gemeinsamen Source-Leitung 150 gekoppelt ist, die mit der Source-Spannung VPS gekoppelt ist. In ähnlicher Weise weisen die Flash-Speicherzellen 114 und 118 einen Anschluß bzw. eine Elektrode auf, der bzw. die mit der Bitleitung 148 gekoppelt ist und einen weiteren Anschluß oder eine weitere Elektrode, der bzw. die mit einer gemeinsamen Source-Leitung 150 gekoppelt ist.
  • Die Wortleitungen 138 und 140 werden auch als X-Leitungen oder Zeilenleitungen bezeichnet, da jede Wortleitung mit einer X-Decodiererschaltung gekoppelt ist, die die notwendigen Spannungen auf den Wortleitungen 138 und 140 zum Lesen, Löschen oder Programmieren von Daten in die Flash-Speicherzellen 112, 114, 116 und 118 zur Verfügung stellt. In ähnlicher Weise werden die Bitleitungen 146 und 148 auch als Y-Leitungen oder Spaltenleitungen bezeichnet, da jede Bitleitung mit einer Y-Decodiererschaltung und Spannungserzeugungsschaltung gekoppelt ist, die die erforderliche Spannung VPP auf den Bitleitungen 146 und 148 zum Lesen, Löschen oder Programmieren von Daten in die Flash-Speicherzellen 112, 114, 116 und 118 zur Verfügung stellt.
  • Zusammen bilden die Bitleitungen, Wortleitungen und gemeinsamen Source-Leitungen eine Einrichtung zum Anlegen der zum Programmieren, Löschen und Lesen der Speicherzellen innerhalb des Arrays 100 erforderlichen Spannungen an die Speicherzellen. Die Speicherzellen 112, 114, 116 und 118 können unter Verwendung einer Fowler-Nordheim-Tunnelung gelöscht werden, indem etwa 0 V an die Wortleitungen 138 und 140 angelegt werden, die Bitleitungen 146 und 148 auf schwebendem Potential belassen werden und VPS auf etwa 12 V auf der gemeinsamen Source-Leitung 150 eingestellt wird. Bei dieser Konfiguration kann das gesamte Array von Speicherzellen auf einmal gelöscht werden. Alternativ kann das gesamte Array von Speicherzellen unter Verwendung eines Löschens mit negativem Gate gelöscht werden, d. h. indem VPS auf etwa 5 bis 6 V eingestellt wird, und etwa –8 bis –10 V an die Wortleitungen 146 und 148 angelegt werden. Die Speicherzellen 112, 114, 116 und 118 können gelesen werden, indem etwa 1 bis 7 V an die Wortleitungen 138 und 140 angelegt werden, etwa zwischen 1 V und VPP an die Bit leitungen 146 und 148 angelegt werden und die gemeinsame Source-Leitung 150 auf Masse gelegt wird.
  • Die Speicherzellen 112, 114, 116 und 118 können über eine Injektion heißer Elektronen programmiert werden, indem VPP, d. h. etwa 4 bis 7 V über VPS an die Bitleitung 146 oder 148 angelegt wird und eine Spannung an die Wortleitung 138 bzw. 140 angelegt wird, die ausreicht, um die gespeicherte Ladungsmenge und die Schwellenspannung der zu programmierenden Speicherzellen zu ändern. Typischerweise werden eine oder mehrere Flash-Speicherzellen in einer Zeile von Zellen gleichzeitig programmiert, während andere Zeilen von Speicherzellen deselektiert werden.
  • Grundsätzlich ändert sich die Programmierzeit einer Flash-Speicherzelle in umgekehrten Verhältnis zu der Differenz zwischen den während der Programmierung an die Speicherzelle angelegten Drain- und Source-Programmierspannungen. 2 veranschaulicht die Beziehung der Schwellenspannung Vt einer Flash-Speicherzelle während der Programmierung in Bezug auf die Programmierzeit und die programmierende Drain-Spannung VD, die an die Speicherzelle angelegt wird, wenn die Source-Programmierspannung VS etwa 0 V ist.
  • In 2 ist die Kurve 223 eine Veranschaulichung der Beziehung zwischen der Schwellenspannung und der Programmierzeit einer Flash-Speicherzelle, wenn die Drain-Programmierspannung etwa 6 V und die Source-Programmierspannung VS etwa 0 V beträgt. Die Kurve 224 veranschaulicht die Beziehung zwischen der Schwellenspannung und der Programmierzeit einer Flash-Speicherzelle, wenn die Programmier-Drain-Spannung etwa 5 V und die Source-Programmierspannung VS etwa 0 V beträgt. Wie in 2 veranschaulicht ist, wird, sofern die Differenz zwischen der programmierenden Drain-Spannung und der Source-Programmierspannung relativ höher ist, die Programmierzeit für die Flash-Speicherzelle, um die gleiche Schwellenspannung zu erreichen, entsprechend kürzer sein. 1 zeigt, daß die Bitleitungen 146 und 148 und die Source-Leitung 150 jeweils einen systematischen Widerstand infolge der innewohnenden elektrischen und physikalischen Eigenschaften der zum Konstru ieren der Bitleitungen verwendeten Materialien (z. B. verschiedene Arten von Metallen oder dotiertes Silizium oder Polysilizium) haben. Beispielsweise weist die Bitleitung 146 die Widerstände 120 und 122, die Bitleitung 148 die Widerstände 124 und 126 und die gemeinsame Source-Leitung 150 die Widerstände 128, 130, 132, 134 und 136 auf. Die Werte des Bitleitungswiderstands und des Source-Leitungswiderstands sind eine Funktion des Ortes der Flash-Speicherzellen innerhalb des Speicher-Arrays 100 und sind folglich systematisch. Der Widerstand einer physikalischen Leitung hängt von der Geometrie der Leitung ab und kann grundsätzlich durch die Gleichung dargestellt werden: R = ρ × (L/A) (Gleichung 2),wobei R der Widerstand der Leitung, ρ der spezifische Widerstand des Materials, aus welchem die Leitung hergestellt ist, L die Länge der Leitung und A die Querschnittsfläche der Leitung sind. Wie durch Gleichung 2 angezeigt wird, erhöht sich der Widerstand einer Leitung grundsätzlich in dem Maße, wie sich die Länge der Leitung erhöht. Je weiter somit ein Flash-Speicheranschluß von einer Spannungsquelle (d. h. VPS oder VPP) entfernt angeordnet ist, desto größer ist der Betrag des Widerstandes und desto größer ist auch die Abweichung der angelegten Spannung von der Spannungsquelle.
  • Wenn beispielsweise VPS während der Programmierung der Flash-Speicherzelle 116 auf 0 V gesetzt wird, so würde sich die 0 V-Spannung über jeden der Widerstände 136, 134 und 130 erhöhen. Die Spannung, die tatsächlich als Source-Programmierspannung VS an der Source der Speicherzelle 116 erscheinen kann, würde dann eine Spannung größer als 0 V sein. In ähnlicher Weise kann eine Programmierspannung VPP als 6 V an der Oberseite der Bitleitung 146 starten, erfährt aber Spannungsabfälle über jeden der Widerstände 120 und 122, so daß die Drain-Programmierspannung VD kleiner als 6 V sein wird. Somit kann relativ zur Programmierdifferenzspannung VPP – VPS die tatsächliche Programmierdifferenzspannung VD–VS signifikant kleiner sein, so daß sich die zum Programmieren der Spei cherzelle 116 auf einen vorgegebenen Zustand erforderliche Zeit erhöht. Somit erfordert es grundsätzlich eine längere Zeitdauer, Speicherzellen zu programmieren, die weiter von den Programmierspannungsquellen VPP und VSS entfernt sind, als Flash-Speicherzellen zu programmieren, die näher an den Programmierspannungsquellen VPP und VSS sind.
  • Der Bitleitungswiderstand und Source-Leitungswiderstand können darüber hinaus bewirken, daß Speicherzellen, die auf den gleichen Zustand programmiert werden sollen, bei einer gegebenen Programmierzeit auf unterschiedliche Zustände programmiert werden. Beispielsweise kann die in der Nähe der Spannungsquellen VPP und VPS angeordnete Speicherzelle 118 Spannungen VD und VS sehen, die in der Nähe von VPP und VPS liegen, und kann auf einen bestimmten Zustand in einer gegebenen Programmierzeit programmiert werden. Im Unterschied dazu kann die Speicherzelle 116, die weiter entfernt von den Spannungsquellen VPP und VPS angeordnet ist, die Spannungen VD und VS sehen, die signifikant von VPP und VPS entfernt sind, so daß die Speicherzelle 116 in der gleichen Programmierzeit auf einen abweichenden Zustand programmiert wird. Es gibt somit einen Grad der Programmierschwankungen infolge der Anordnung der Flash-Speicherzellen innerhalb des Flash-Speicher-Arrays 100.
  • Der systematische Source-Leitungswiderstand bewirkt darüber hinaus, daß die Source-Programmierspannung VS in Abhängigkeit von der Anzahl der zu einem gegebenen Zeitpunkt gleichzeitig programmierten Flash-Speicherzellen variiert. Da der Source-Anschluß jeder Flash-Speicherzelle in einem gegebenen Block von Flash-Speicher mit der gemeinsamen Source-Leitung 150 verbunden ist, variiert der durch die gemeinsame Source-Leitung 150 fließende Strom in Abhängigkeit von der Anzahl der Flash-Speicherzellen, die zu einem vorgegebenen Zeitpunkt programmiert werden. In dem Maße, wie der Strom in der gemeinsamen Source-Leitung 150 variiert, variieren auch die in jede der Source-Elektroden der Flash-Speicherzellen eingekoppelten Spannungen. Grunsätzlich erhöht sich VS, wenn mehr Zellen gleichzeitig programmiert werden. Somit ist die in jede Flash-Speicherzelle eingekoppelte Source-Programmierspannung VS außerdem abhängig von dem an das Flash-Speicherbauelement angelegten Datenmuster.
  • Es wurden einige Techniken entwickelt, um den negativen Einflüssen des Bitleitungswiderstands oder Source-Leitungswiderstands entgegenzuwirken. Eine Technik senkt den Source-Leitungswiderstand durch Verwendung von Metallleitungen geringen Widerstands, wie beispielsweise von Source-Straps (Source-Bänder) innerhalb eines Flash-Speicher-Arrays. Diese Technik bewirkt noch immer, daß auf der Grundlage des Ortes der ausgewählten Speicherzellen in Bezug auf die Source-Straps unterschiedliche Source-Spannungen an die Flash-Speicherzellen angelegt werden.
  • Eine andere, in dem US-Patent Nr. 5,402,370 offenbarte Technik stellt die an der Oberseite einer Bitleitung angelegte Drain-Programmierspannungsquelle bauelementeweise so ein, daß Änderungen in der Programmierfähigkeit der Flash-Speicherzellen infolge bauelementeabhängiger Änderungen in der Kanallänge der Speicherzellen kompensiert werden. Diese Technik ändert nicht die Programmierspannungsquelle, um den Bitleitungswiderstand oder den Source-Leitungswiderstand zu kompensieren.
  • Eine weitere Technik kompensiert den Bitleitungswiderstand, indem eine Drain-Programmierspannung der oberen Hälfte eines Blocks von Flash-Speicherzellen und eine weitere Drain-Programmierspannung der unteren Hälfte des Blocks von Flash-Speicherzellen zur Verfügung gestellt wird. Diese Technik kompensiert nicht den Source-Leitungswiderstand oder die Datenmusterabhängigkeit.
  • ZUSAMMENFASSENDE DARSTELLUNG DER ERFINDUNG
  • Es werden ein nicht-flüchtiges Speicherbauelement und ein Verfahren zum Einstellen von Programmierspannungen beschrieben. Bei einem Ausführungsbeispiel enthält das nichtflüchtige Bauelement eine Bitleitung, eine Source-Leitung und eine nicht-flüchtige Speicherzelle mit einem mit der Bitleitung gekoppelten Drain, einer mit der Source-Leitung gekoppel ten Source-Elektrode, einem Steuer-Gate und einem Floating-Gate. Das nicht-flüchtige Speicherbauelement enthält darüber hinaus eine Source-Spannungserzeugungsschaltung, die mit der Source-Leitung gekoppelt ist und eine Source-Leitungsspannung erzeugt, wenn die nicht-flüchtige Speicherzelle programmiert wird. Die Source-Spannungserzeugungsschaltung variiert die Source-Leitungsspannung auf der Grundlage eines Ortes der nicht-flüchtigen Speicherzelle in dem Speicher-Array. Das nicht-flüchtige Speicherbauelement enthält darüber hinaus eine Drain-Spannungserzeugungsschaltung, die mit der Bitleitung gekoppelt ist und eine Bitleitungsspannung erzeugt, wenn die nicht-flüchtige Speicherzelle programmiert wird. Die Drain-Spannungserzeugungsschaltung variiert die Bitleitungsspannung auf der Grundlage des Ortes der nicht-flüchtigen Speicherzelle in dem Speicher-Array.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung werden aus den begleitenden Zeichnungen und aus der folgenden detaillierten Beschreibung ersichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Merkmale und Vorteile der vorliegenden Erfindung werden beispielhaft und nicht im Sinne einer Einschränkung in den Figuren der begleitenden Zeichnungen veranschaulicht, in welchen gleiche Bezugszeichen ähnliche Elemente anzeigen und in welchen:
  • 1 ein bekanntes Flash-Speicher-Array einschließlich eines Bitleitungswiderstands und eines Source-Leitungswiderstands ist;
  • 2 ein Spannungs-Zeit-Diagramm ist, das die Schwellenspannung einer Flash-Speicherzelle in Abhängigkeit von der Programmierzeit und von variierenden Drain-Programmierspannungen bei einer fest vorgegebenen Source-Programmierspannung veranschaulicht;
  • 3 ein Blockschaltbild eines Flash-Speicherbauelements ist, daß eine Drain-Spannungserzeugungsschaltung und eine Source-Spannungserzeugungsschaltung enthält;
  • 4 ein Blockschaltbild eines Ausführungsbeispiels des in Speicherblöcke segmentierten Flash-Speichers ist;
  • 5 ein Blockschaltbild eines Ausführungsbeispiels des Flash-Speicherbauelements gemäß 3 ist, das einen Adreßdecodierer, einen Datenmusterüberwacher, eine Drain-Spannungserzeugungsschaltung, eine Source-Spannungserzeugungsschaltung, eine Flash-Speicherzelle, einen Bitleitungswiderstand und einen Source-Leitungswiderstand enthält;
  • 6 ein Blockschaltbild eines Ausführungsbeispiels des Drain-Spannungsgenerators gemäß 3 ist;
  • 7 ein Blockschaltbild eines Ausführungsbeispiels des Source-Spannungsgenerators gemäß 3 ist;
  • 8 ein Blockschaltbild des Flash-Speicherbauelements gemäß 3 ist, das mit einem Testsystem gekoppelt ist; und
  • 9 ein Ablaufdiagramm ist, das ein Ausführungsbeispiel des Einstellens, Charakterisierens und Justierens des Drain-Spannungsgenerators und/oder des Source-Spannungsgenerators gemäß 3 zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Es werden ein Verfahren und eine Vorrichtung zum Einstellen der Source- und Drain-Programmierspannungen einer Flash-Speicherzelle beschrieben. Die unten beschriebenen Ausführungsbeispiele dienen der Einstellung der Bitleitungs- oder Source-Leitungsspannung zum Kompensieren der in einem Flash-Speicher-Array vorhandenen systematischen Bitleitungswiderstände und Source-Leitungswiderstände derart, daß eine im wesentlichen gleichmäßige Drain-zu-Source-Programmierspannungsdifferenz für jede Flash-Speicherzelle über das gesamte Speicherarray hinweg aufrechterhalten wird. Das Ziel des Kompensierens des Bitleitungswiderstands und Source-Leitungswiderstands besteht darin, dabei mitzuhelfen, daß die Geschwindigkeit der Programmierung einer Flash-Speicherzelle erhöht wird, daß die Programmierschwankungen reduziert werden, die bewirken können, daß Speicherzellen an unterschiedlichen Orten auf unterschiedliche werte programmiert würden, und daß die durch das gleichzeitige Programmieren von mehr als einer Flash-Speicherzelle verursachten Programmierschwankungen verringert werden.
  • Wie im folgenden detaillierter beschrieben werden wird, umfaßt ein Ausführungsbeispiel der vorliegenden Erfindung ein nicht-flüchtiges Speicherbauelement, das ein nicht-flüchtiges Speicher-Array, eine Steuerschaltung, einen Source-Spannungsgenerator und einen Drain-Spannungsgenerator aufweist. Das Speicher-Array enthält Flash-Speicherzellen, die, wie in 1 dargestellt, zwischen einem Drain-Spannungsgenerator und einem Source-Spannungsgenerator angeordnet sind und Bitleitungswiderstände und Source-Leitungswiderstände aufweisen. Die Steuerschaltung empfängt eine Adresse einer Flash-Speicherzelle in dem Array, die programmiert werden soll. Die Steuerschaltung decodiert die Adresse und zeigt die Adresse der Flash-Speicherzelle der Source-Spannungsgeneratorschaltung und dem Drain-Spannungsgenerator an. Auf der Grundlage der Adresse der ausgewählten Flash-Speicherzelle erzeugt der Source-Spannungsgenerator eine Source-Leitungsspannung, die den Source-Leitungswiderstand zwischen dem Source-Spannungsgenerator und der Source-Elektrode der ausgewählten Flash-Speicherzelle kompensiert. In ähnlicher Weise erzeugt der Drain-Spannungsgenerator auf der Grundlage der Adresse der ausgewählten Flash-Speicherzelle eine Bitleitungsspannung, die den Bitleitungswiderstand zwischen dem Drain-Spannungsgenerator und der ausgewählten Flash-Speicherzelle kompensiert. So kann eine im wesentlichen konstante Drain-zu-Source(VDS)-Programmierspannungsdifferenz an eine ausgewählte Speicherzelle unabhängig vom Ort der Speicherzelle in dem Flash-Speicher-Array angelegt werden, was zu einer im wesentlichen gleichförmigen Programmiergeschwindigkeit und reduzierten Programmierschwankungen führt.
  • 3 zeigt ein nicht-flüchtiges Speicherbauelement 300, in welchem Ausführungsbeispiele der vorliegenden Erfindung ausgeführt werden können. Die unten beschriebenen Ausführungsbeispiele können darüber hinaus in flüchtigen Speicher-Arrays, einschließlich DRAM-Arrays, ausgeführt werden, die Speicherzellen enthalten, die mehrere Zustände der Information speichern können.
  • Das Speicherbauelement 300 enthält eine Kommandoschnittstelle 302, eine Steuerschaltung 304, einen Drain-Spannungsgenerator 308, einen Source-Spannungsgenerator 312, einen Y-Decodierer 316, einen X-Decodierer 318, Y-Durchtast- und Leseverstärker 320 und ein Speicher-Array 322. Bei einem Ausführungsbeispiel befindet sich die gesamte Schaltung des Flash-Speicherbauelements 300 auf einem einzigen Substrat. Das Speicher-Array 322 enthält nicht-flüchtige Speicherzellen, die in Zeilen und Spalten angeordnet sind, wie es in 1 veranschaulicht ist. Die nicht-flüchtigen Speicherzellen speichern Daten an Adressen. Die Schwellenspannungen der nicht-flüchtigen Speicherzellen können während der Programmierung verändert werden, was die Speicherung analoger Spannungspegel gestattet. Bei einem Ausführungsbeispiel speichert jede der Speicherzellen in dem Speicher-Array 322 jeweils ein einzelnes Bit von Daten. Bei einem anderen Ausführungsbeispiel speichert jede der Speicherzellen in dem Speicher-Array 322 mehrere Datenbits gleichzeitig. Die Speicherzellen in dem Speicher-Array 322 können programmiert, gelöscht oder gelesen werden, wie es grundsätzlich oben beschrieben worden ist, mit der Ausnahme, daß die Programmierspannungen, die an die Source- und Drain-Anschlüsse einer ausgewählten Speicherzelle angelegt werden, so erzeugt werden, wie es im folgenden beschrieben wird.
  • Das Speicher-Array 322 kann ein Speicherfeld umfassen oder es kann Blöcke von Speicherzellen aufweisen. Jeder Block von Speicherzellen kann unabhängig adressiert werden. Beispielsweise kann eine der Adreßsignalleitungen den Block des Speichers anzeigen, in dem sich eine ausgewählte Flash-Speicherzelle befindet, und der Rest der Adreßsignalleitungen kann den Ort der ausgewählten Speicherzelle innerhalb des ausgewählten Speicherblocks anzeigen.
  • Bei einem Ausführungsbeispiel des Speicherbauelements 300 steuert die Steuerschaltung 304 die Programmierung einer oder mehrerer ausgewählter Speicherzellen in dem Speicher-Array 322. Bei einem Ausführungsbeispiel enthält die Steuerschaltung 304 einen durch Mikrobefehlscode gesteuerten Prozessor. Bei einem anderen Ausführungsbeispiel stellt die Steuerschaltung 304 eine Zustandsmaschine oder Logikschaltungen dar, die die verschiedenen Funktionen zum Programmieren der Speicherzellen in dem Speicher-Array 322 implementieren.
  • Die Steuerschaltung 304 verwaltet das Speicher-Array 322 über die Steuerung des X-Decodierers 318, Y-Decodierer 316, Y-Durchtast- und Leseverstärkers 320, Drain-Spannungsgenerators 308 und Source-Spannungsgenerators 312. Die Steuerschaltung 304 kann ein Adreß-Latch zum Latch-Speichern der aus einer externen Schaltung über den Adreßbus 326 angelegten und an den Y-Decodierer 316 und X-Decodierer 318 über den Bus 326 anzulegenden Adressen enthalten. Die Steuerschaltung 304 kann darüber hinaus Datenpuffer enthalten, die über den Bus 334 mit den Y-Durchtast- und Leseverstärkern 320 gekoppelt sind. Die Y-Durchtast- und Leseverstärker 320 und 324 können Daten Puffern, die aus dem Speicher-Array 322 gelesen wurden, oder die in das Speicher-Array 322 zu programmierenden Daten.
  • Benutzerkommandos zum Lesen, Löschen und Programmieren werden der Steuerschaltung 304 über die Kommandoschnittstelle 302 übermittelt. Ein externer Benutzer gibt Kommandos an die Kommandoschnittstelle 302 über Steuersignale aus, die eine Ausgabefreigabe OEB (Output Enable), eine Chip-Auswahl CEB und eine Schreibfreigabe WEB (Write Enable) umfassen. Weitere Steuersignale können verwendet werden. Die Kommandoschnittstelle 302 empfängt eine Versorgungsspannung VCC, Masse VSS und eine Programmier/Lösch-Spannung VPP. VCC und VSS können mit jeder Schaltung in dem Flash-Speicherbauelement 300 gekoppelt werden. Bei einem Ausführungsbeispiel ist VCC etwa 3 bis 6 V. VPP kann intern erzeugt oder extern dem Flash-Speicherbauelement 300 zur Verfügung gestellt werden. Während der Programmierung einer ausgewählten Flash-Speicherzelle in dem Speicher-Array 322 kann VPP von etwa 5 bis 13 V reichen.
  • Eine zu programmierende Speicherzelle in dem Speicher-Array 322 wird in Abhängigkeit von einem an den Bus 326 zur Steuerschaltung 304 angelegten Adresse ausgewählt. Die Steu erschaltung 304 übermittelt die Adresse der ausgewählten Flash-Speicherzelle an den Y-Decodierer 316 und den X-Decodierer 318 über den Bus 336. Ein in die eine oder mehreren ausgewählten Speicherzellen zu programmierendes Datenmuster kann auf dem Datenbus 324 zur Verfügung gestellt und von der Steuerschaltung 304 über den Bus 334 den Y-Durchtast- und Leseverstärkern 320 geliefert werden.
  • Aus dem Speicher-Array 322 gelesene Daten werden über Bus 342 den Y-Durchtast- und Leseverstärkern 320 eingekoppelt und zum Datenbus 324 über die Steuerschaltung 304 weitergeleitet. Alternativ können die aus dem Speicher-Array 322 gelesenen Daten zum Datenbus 324 unter der Steuerung der Steuerschaltung 304 durch eine Schaltungsanordnung ohne ein Durchleiten durch die Steuerschaltung 304 ausgegeben werden. Die Y-Durchtast- und Leseverstärker 320 können den Zustand der ihnen präsentierten Daten unter Verwendung eines (nicht gezeigten) Referenzzellen-Arrays oder durch eine andere Einrichtung bestimmen. Ein Beispiel einer Schaltungsanordnung, die zum Bestimmen der aus dem Speicher-Array 322 gelesenen Daten verwendet werden kann, ist in der veröffentlichten PCT-Anmeldung PCT/US95/06230 mit der internationalen Veröffentlichungsnummer WO 95/34075, veröffentlicht am 14. Dezember 1995 mit dem Titel "SENSING SCHEMES FOR FLASH MEMORY WITH MULTILEVEL CELLS" offenbart. Ein anderes Beispiel einer Schaltungsanordnung, die verwendet werden kann, um den Zustand der aus dem Speicher-Array 322 gelesenen Daten zu bestimmen, ist in dem US-Patent Nr. 5,539,690 mit dem Titel "WRITE VERIFY SCHEMES FOR FLASH MEMORY WITH MULTILEVEL CELLS" offenbart. Ein noch anderes Beispiel einer Schaltungsanordnung, die verwendet werden kann, um den Zustand der aus dem Speicher-Array 322 gelesenen Daten zu bestimmen, ist in dem US-Patent Nr. 5,497,354 mit dem Titel "BIT MAP ADDRESSING SCHEMES FOR FLASH MEMORY" offenbart.
  • Das Flash-Speicherbauelement 300 enthält außerdem einen Drain-Spannungsgenerator 308, der mit der Steuerschaltung 304 über den Bus 330 gekoppelt ist. Auf der Basis des Orts eines oder mehrerer ausgewählter Speicherzellen in dem Speicher-Array 322 erzeugt der Drain-Spannungsgenerator eine oder meh rere Bitleitungsspannungen, die eingestellt worden sind, um den den ausgewählten Speicherzellen zugeordneten Bitleitungswiderstand zu kompensieren. Der Drain-Spannungsgenerator 308 kann außerdem eine Programmierspannung VPP empfangen.
  • In ähnlicher Weise enthält das Flash-Speicherbauelement 300 einen Source-Spannungsgenerator 312, der mit der Steuerschaltung 304 über den Bus 346 gekoppelt ist. Basierend auf dem Ort der ausgewählten Speicherzellen in dem Speicher-Array 322 erzeugt der Source-Spannungsgenerator 312 eine Source-Leitungsspannung, die so eingestellt worden ist, daß sie den den ausgewählten Speicherzellen zugeordneten Source-Leitungswiderstand kompensiert. Der Source-Spannungsgenerator 312 kann darüber hinaus eine Programmierspannung VPP empfangen.
  • Bei einem anderen Ausführungsbeispiel ist nur der Drain-Spannungsgenerator 308 in dem Flash-Speicherbauelement 300 erforderlich. Bei diesem Ausführungsbeispiel stellt der Drain-Spannungsgenerator 308 die mit der Bitleitung einer ausgewählten Speicherzelle gekoppelte Bitleitungsspannung so ein, daß der Bitleitungswiderstand der Bitleitung und der Source-Leitungswiderstand einer mit der ausgewählten Speicherzelle gekoppelten Source-Leitung kompensiert werden. Der Drain-Spannungsgenerator 308 kann darüber hinaus die Bitleitungsspannung so einstellen, daß die Datenmusterabhängigkeit kompensiert wird, d. h. daß die Änderung der Source-Spannung an dem Source-Anschluß einer ausgewählten Speicherzelle infolge des gleichzeitigen Programmierens von mehr als einer ausgewählten Speicherzelle kompensiert wird.
  • Bei einem weiteren Ausführungsbeispiel ist nur der Source-Spannungsgenerator 312 in dem Flash-Speicherbauelement 300 erforderlich. Bei diesem Ausführungsbeispiel stellt der Source-Spannungsgenerator 312 die Source-Leitungsspannung, die mit der gemeinsamen Source-Leitung der ausgewählten Speicherzellen gekoppelt ist, so ein, daß der Source-Leitungswiderstand der gemeinsamen Source-Leitung und der Bitleitungswiderstand der mit der ausgewählten Speicherzelle gekoppelten Bitleitung kompensiert werden. Der Source-Spannungsgenerator 312 kann dar über hinaus die Source-Leitungsspannung so einstellen, daß eine Datenmusterabhängigkeit, d. h. die Änderung der Source-Spannung an dem Source-Anschluß einer ausgewählten Speicherzelle infolge der gleichzeitigen Programmierung von mehr als einer ausgewählten Speicherzelle kompensiert wird.
  • Im Betrieb empfängt die Steuerschaltung 304 die Adresse einer zu programmierenden ausgewählten Speicherzelle und leitet die Adresse über den Bus 330 an den Drain-Spannungsgenerator 308 und über den Bus 346 an den Source-Spannungsgenerator 312 weiter. Bei einem Ausführungsbeispiel können die Busse 330 und 346 ein und derselbe Bus sein. Bei einem anderen Ausführungsbeispiel können die Busse 330 und 346 der Bus 336 sein.
  • Nach dem Empfang der Adresse der ausgewählten Speicherzelle erzeugt der Drain-Spannungsgenerator 308 die richtige Bitleitungsspannung für die ausgewählte Speicherzelle. Der Drain-Spannungsgenerator 308 kann eine Zustandsmaschine, eine Steuerlogik oder eine andere Art einer intelligenten Schaltung sein, die eine eingestellte Bitleitungsspannung genau berechnen und erzeugen kann, um den der mit der ausgewählten Speicherzelle gekoppelten Bitleitung zugeordneten Bitleitungswiderstand zu kompensieren. Der Drain-Spannungsgenerator 308 kann ebenfalls einen adressierbaren Speicher enthalten, der Werte speichert, die Bitleitungsspannungen repräsentieren, die den Orten der ausgewählten Speicherzelle entsprechen.
  • Grundsätzlich ist ohne Kompensation die Bitleitungsnennspannung, die von dem Drain-Spannungsgenerator 308 erzeugt wird, etwa 4–7 V, wenn eine ausgewählte Speicherzelle programmiert wird. Wenn die ausgewählte Speicherzelle in der Nähe des Drain-Spannungsgenerators 308 (d. h. in der Nähe der Oberseite des Speicher-Arrays 322) angeordnet ist, dann kann der Drain-Spannungsgenerator 308 eine Bitleitungsspannung erzeugen, die nur einen geringen Betrag (z. B. 10–150 Millivolt) zu der nominellen Bitleitungsspannung während der Programmierung hinzufügt. Wenn die ausgewählte Speicherzelle von dem Drain-Spannungsgenerator 308 weiter entfernt angeordnet ist (d. h. in der Nähe der Unterseite des Speicher-Arrays 322), dann kann der Drain-Spannungsgenerator 308 eine Bitleitungsspannung erzeugen, die einen größeren Betrag (z. B. 200 Millivolt bis 2 V) der nominellen Bitleitungsspannung während der Programmierung hinzufügt.
  • In ähnlicher Weise erzeugt der Source-Spannungsgenerator 312 nach dem Empfang der Adresse der ausgewählten Speicherzelle die richtige Source-Leitungsspannung für die ausgewählte Speicherzelle. Der Source-Spannungsgenerator kann eine Zustandsmaschine, Steuerlogik oder eine andere Art einer intelligenten Schaltung sein, die eine eingestellte Source-Leitungsspannung derart genau berechnen und erzeugen kann, daß der der mit der ausgewählten Speicherzelle gekoppelten Source-Leitung zugeordnete Source-Leitungswiderstand kompensiert wird. Der Source-Spannungsgenerator 312 kann darüber hinaus einen adressierbaren Speicher enthalten, der Werte speichert, die Source-Leitungsspannungen darstellen, die auf dem Ort der ausgewählten Speicherzelle basieren.
  • Im allgemeinen ist ohne Kompensation die nominelle Source-Leitungsspannung, die von dem Source-Spannungsgenerator 312 erzeugt wird, ungefähr 0 V, wenn eine ausgewählte Speicherzelle programmiert wird. Bei einem Ausführungsbeispiel kann der Source-Spannungsgenerator 312 eine größere positive Source-Leitungsspannung (z. B. 10 Millivolt bis 2 V) erzeugen, wenn die ausgewählte Speicherzelle näher an dem Source-Spannungsgenerator 312 oder Source-Spannungs-Straps angeordnet ist, als dann, wenn die ausgewählte Speicherzelle weiter von dem Source-Spannungsgenerator 312 oder von den Source-Straps entfernt ist.
  • Bei einem anderen Ausführungsbeispiel ist ohne Kompensation die nominelle Source-Leitungsspannung, die von dem Source-Spannungsgenerator 312 erzeugt wird, eine negative Spannung, wenn eine ausgewählte Speicherzelle programmiert wird. Bei diesem Ausführungsbeispiel kann der Source-Spannungsgenerator 312 entweder eine weniger negative Spannung, etwa 0 V, oder eine positive Spannung erzeugen, wenn die ausgewählte Speicherzelle weiter von dem Source-Spannungsgenerator 312 oder den Source-Spannungs-Straps entfernt ist, als dann, wenn die ausgewählte Speicherzelle näher an dem Source-Spannungsgenerator 312 oder den Source-Straps angeordnet ist. Bei einem Ausführungsbeispiel kann die ausgewählte Speicherzelle in ihrer eigenen Wanne hergestellt worden sein, welche negativ vorgespannt sein kann.
  • Wie es allgemein im Stand der Technik bekannt ist, können dann, wenn die bei der Herstellung der Bitleitungen und Source-Leitungen verwendeten Materialien, die Geometrien der Bitleitungen und der Source-Leitungen und die Einflüsse der mit den Bitleitungen und Source-Leitungen gekoppelten anderen Schaltungsbauelemente gegeben sind, der Bitleitungswiderstand und der Source-Leitungswiderstand vor der Herstellung des Flash-Speicherbauelements 300 (z. B. unter Verwendung der obigen Gleichung 2) berechnet oder simuliert werden.
  • Zusätzlich kann der Vor-Spannungsgenerator 312 ein an die Steuerschaltung 304 von dem Bus 324 angelegtes Datenmuster empfangen. Das Datenmuster kann an den Source-Spannungsgenerator 312 über den Bus 376 oder über einen anderen (nicht gezeigten) Bus angelegt werden. Wie zuvor beschrieben, kann das Datenmuster anzeigen, daß mehr als eine Speicherzelle als gleichzeitig zu programmierend ausgewählt worden ist, was bewirkt, daß die Source-Programmierspannung an den Anschlüssen der ausgewählten Speicherzellen wegen des Source-Widerstands der gemeinsamen Source-Leitung weiter abweicht. Der Source-Spannungsgenerator 312 kann darüber hinaus die Source-Leitungsspannung weiter einstellen, um diese weitere Abweichung derart zu kompensieren, daß die Source-Programmierspannung, die an dem Source-Anschluß jeder ausgewählten Speicherzelle empfangen wird, innerhalb eines akzeptablen Bereichs sein kann, so daß bewirkt wird, daß der richtige Zustand in jede ausgewählte Speicherzelle innerhalb einer vorgegebenen Programmierzeit programmiert wird. Wie bei dem Bitleitungswiderstand und dem Source-Leitungswiderstand kann der Einfluß des gleichzeitigen Programmierens mehrerer Speicherzellen vor der Herstellung des Speicherbauelements 300 berechnet oder simuliert werden.
  • Sofern das Speicher-Array 322 separat adressierbare Blöcke des Flash-Speichers aufweist, kann es einen weiteren Bitleitungswiderstand und Source-Leitungswiderstand zwischen dem Drain-Spannungsgenerator und den Speicherblöcken und dem Source-Spannungsgenerator und den Speicherblöcken geben. 4 veranschaulicht ein Speicher-Array 400, welches ein Ausführungsbeispiel des Speicher-Arrays 322 darstellt, das vier separat adressierbare Speicherblöcke 402405 aufweist. Wie es in 4 veranschaulicht ist, gibt es eine Anzahl von Bitleitungswiderständen 407414 die bei einer gegebenen Bitleitung 406 vorhanden sind, und eine Anzahl von Source-Leitungswiderständen 416423, die für die Source-Leitung 415 vorhanden sind. Der Drain-Spannungsgenerator 308 kann auch die Bitleitungsspannung einstellen, die an die Bitleitung 406 angelegt wird, um den Bitleitungswiderstand zu kompensieren, der zwischen dem Drain-Spannungsgenerator 308 und dem eine ausgewählte Speicherzelle enthaltenden ausgewählten Speicherblock vorhanden ist. In ähnlicher Weise kann der Source-Spannungsgenerator 312 außerdem die Source-Leitungsspannung, die an die Source-Leitung 424 angelegt wird, derart einstellen, daß der Source-Leitungswiderstand kompensiert wird, der zwischen dem Source-Spannungsgenerator 312 und dem eine ausgewählte Speicherzelle enthaltenden ausgewählten Speicherblock vorhanden ist.
  • Sobald der Drain-Spannungsgenerator 308 und der Source-Spannungsgenerator 312 die richtigen Bitleitungs- und Source-Leitungsspannungen bestimmt haben, die an die Bitleitung bzw. die Source-Leitung einer ausgewählten Speicherzelle anzulegen sind, dann kann die ausgewählte Speicherzelle unter Verwendung verschiedener bekannter Programmierverfahren programmiert werden. Bei einem Ausführungsbeispiel wird jeweils eine Speicherzelle zu einem Zeitpunkt programmiert. Bei einem anderen Ausführungsbeispiel werden jeweils mehr als eine ausgewählte Speicherzelle programmiert. Ein Programmierverfahren, das verwendet werden kann, ist in dem US-Patent Nr. 5,440,505 mit dem Titel "METHOD AND CIRCUITRY FOR STORING DISCRETE AMOUNTS OF CHARGE IN A SINGLE MEMORY ELEMENT" offenbart.
  • Durch Einstellung der Bitleitungsspannung zum Kompensieren von Spannungsabfällen auf einer Bitleitung infolge des Bitleitungswiderstands und durch Einstellen der Source-Leitungsspannung zum Kompensieren der Spannungserhöhungen auf einer Source-Leitung infolge des Source-Leitungswiderstands kann die tatsächliche Drain-zu-Source(VDS)-Spannung über den Anschlüssen jeder ausgewählten Speicherzelle im Speicher-Array 322 derart gesteuert werden, daß sie im wesentlichen konstant oder gleichmäßig über dem Speicher-Array ist. Dies kann den Verlust der Programmiergeschwindigkeit infolge des Ortes der ausgewählten Speicherzelle in dem Speicher-Array signifikant reduzieren oder eliminieren. Dies kann darüber hinaus die Programmierschwankungen aufgrund des Ortes der ausgewählten Speicherzellen oder aufgrund der Datenabhängigkeiten beseitigen oder verringern.
  • 5 zeigt ein Speicherbauelement 500, das ein Ausführungsbeispiel spezieller Merkmale aus dem Speicherbauelement 300 ist, die zum Programmieren der ausgewählten Flash-Speicherzelle 514 zusammenwirken. Die ausgewählte Speicherzelle 514 ist eine Speicherzelle im Flash-Speicher-Array 322 gemäß 3. Das Speicherbauelement 500 enthält eine Steuerschaltung 504, einen Drain-Spannungsgenerator 508 und einen Source-Spannungsgenerator 512, welche in einer ähnlichen Weise arbeiten wie die Steuerschaltung 304, der Drain-Spannungsgenerator 308 bzw. der Source-Spannungsgenerator 312 gemäß 3.
  • Die Steuerschaltung 504 enthält einen Adreßdecodierer 506 und einen Datenmusterüberwacher 509. Der Adreßdecodierer 506 decodiert eine Adresse für eine ausgewählte Speicherzelle 514 und stellt die decodierte Adresse dem Drain-Spannungsgenerator 508 und dem Source-Spannungsgenerator 512 über den Bus 520 zur Verfügung. Die von dem Adreßdecodierer 506 ausgegebene decodierte Adresse kann den Speicherblock anzeigen, in welchem die ausgewählte Speicherzelle 514 angeordnet ist, den Zeilenort der ausgewählten Speicherzelle 514 und/oder den Spaltenort der ausgewählten Speicherzelle 514.
  • In Abhängigkeit von der aus dem Adreßdecodierer 506 empfangenen decodierten Adresse erzeugt der Drain-Spannungsgenerator 508 HHVPW auf Leitung 522. HHVPW wird mit dem Gate des n-Kanal-MOSFET-Transistors 510 gekoppelt. Der Transistor 510 ist in Reihe mit dem Decodier-n-Kanal-MOSFET-Transistor 513 und der ausgewählten Flash-Speicherzelle 514 geschaltet. Das Drain des Transistors 510 ist mit der Programmier/Lösch-Spannung VPP gekoppelt, und das Source des Transistors 510 ist mit dem Drain des Decodiertransistors 513 gekoppelt. Bei einem Ausführungsbeispiel ist VPP ungefähr 9 V. HHVPW ist eine Programmierspannung, die von dem Drain-Spannungsgenerator 508 derart erzeugt worden ist, daß eine Bitleitungsspannung VBL auf der Bitleitung 524 erzeugt wird. VBL ist etwa eine Schwellenspannung geringer als HHVPW. Bei einem Ausführungsbeispiel kann die Schwellenspannung des Transistors 510 etwa 2–4 V sein. Bei anderen Ausführungsbeispielen kann die Schwellenspannung des Transistors 510 etwa 0,5–2 V sein.
  • Der Drain-Spannungsgenerator 508 ändert den Wert von HHVPW auf der Grundlage des Ortes der ausgewählten Speicherzelle 514 derart, daß der Bitleitungswiderstand 516 kompensiert wird. Bei einem anderen Ausführungsbeispiel kompensiert HHVPW außerdem den Source-Leitungswiderstand 518.
  • Der Decodiertransistor 513 ist ein optionaler Transistor, der die Gate-Spannung VDC von den Y-Durchtast- und Leseverstärkern 320 gemäß 3 empfängt. Das Drain des Transistors 513 ist mit der Source des Transistors 510 gekoppelt, und die Source des Decodiertransistors 513 ist mit dem Drain der ausgewählten Speicherzelle 514 gekoppelt. Wenn VDC niedrig ist, ist VBL nicht mit dem Drain der ausgewählten Speicherzelle 514 gekoppelt. Wenn VDC hoch ist, koppelt der Decodiertransistor 513 VBL mit dem Drain der ausgewählten Speicherzelle 514. VBL fällt über dem Bitleitungswiderstand 516 ab und führt zu einer Drain-Programmierspannung VD am Drain-Anschluß der ausgewählten Speicherzelle 514. Der Wert des Bitleitungswiderstands 516 ist eine Funktion des Ortes der ausgewählten Speicherzelle innerhalb des Speicher-Arrays 322 und kann, wie zuvor beschrieben, berechnet oder simuliert werden. Bei einem anderen Ausführungsbeispiel kann der Decodiertransistor 513 seine Position mit der des Transistors 510 tauschen. Bei einem weiteren Ausführungsbeispiel ist der Decodiertransistor 513 nicht erforderlich.
  • Der Source-Spannungsgenerator 512 empfängt ebenfalls hinaus die decodierte Adresse der ausgewählten Speicherzelle 514 aus der Steuerschaltung 504 über den Bus 520. In Abhängigkeit von der decodierten Adresse erzeugt der Source-Spannungsgenerator 512 eine Source-Leitungsspannung VPS auf Leitung 526. Die Source-Leitungsspannung 526 kompensiert den Source-Leitungswiderstand 518 derart, daß eine Source-Programmierspannung VS mit dem Source-Anschluß der ausgewählten Speicherzelle 514 gekoppelt wird. Der Wert des Source-Leitungswiderstandes 518 variiert als Funktion des Ortes der ausgewählten Speicherzelle 514 in dem Speicher-Array 322. Die ausgewählte Speicherzelle 514 enthält ferner einen Gate-Anschluß, der eine Wortleitungsspannung VWL empfängt, die von dem X-Decodierer 318 zur Verfügung gestellt werden kann.
  • Die Steuerschaltung 504 enthält darüber hinaus einen Datenmusterüberwacher 509, der das Datenmuster auf dem Datenbus 326 interpretiert. Aus einem gegebenen Datenmuster kann der Datenmusterüberwacher 509 die Anzahl der ausgewählten Speicherzellen bestimmen, die gleichzeitig zu programmieren sind. Bei einem Ausführungsbeispiel ist der Datenmusterüberwacher 509 ein Zähler, der die Anzahl der hohen oder niedrigen Bits in. dem Datenmuster auf Bus 326 zählt.
  • Der Datenmusterüberwacher 509 leitet eine Anzeige der Anzahl von gleichzeitig zu programmierenden ausgewählten Speicherzellen an den Source-Spannungsgenerator 512 über den Bus 528. Wie zuvor beschrieben, sei vorgegeben, daß jede ausgewählte Speicherzelle in einem Block des Speichers mit ihrem Source-Anschluß an eine gemeinsame Source-Leitung gekoppelt ist, so daß die gleichzeitige Programmierung von mehr als einer ausgewählten Speicherzelle die Schwankungen der Source-Programmierspannung VS, die von jeder Speicherzelle empfangen wird, erhöht. Folglich kann der Source-Spannungsgenerator 512 die Anzahl der gleichzeitig zu programmierenden ausgewählten Speicherzellen zusätzlich zur Überwachung des Ortes jeder ausgewählten Speicherzelle überwachen und dementsprechend eine Source-Leitungsspannung VPS erzeugen.
  • Grundsätzlich erhöht sich die Source-Programmierspannung VS, wenn die Anzahl der ausgewählten Speicherzellen, die gleichzeitig zu programmieren sind, sich erhöht. Wenn sich folglich die Anzahl der zu programmierenden ausgewählten Speicherzellen erhöht, senkt der Source-Spannungsgenerator 512 die Source-Leitungsspannung VPS, um die Erhöhung von VS zu kompensieren oder zu versetzen.
  • Wenn HHVPW und die Bitleitungsspannung VBL den Bitleitungswiderstand 516 kompensieren und die Source-Leitungsspannung VPS den Source-Leitungswiderstand 518 kompensiert, kann die Drain-zu-Source-Spannung VDS über der ausgewählten Speicherzelle 514 derart gehalten werden, daß die zum Programmieren der ausgewählten Speicherzelle 514 erforderliche Zeit nicht infolge des Bitleitungswiderstands 516 und des Source-Leitungswiderstands 518 erhöht wird. Zusätzlich können die Einflüsse der Datenabhängigkeit negiert werden.
  • Bei einem Ausführungsbeispiel ist nur der Drain-Spannungsgenerator 508 erforderlich, und der Datenmusterüberwacher 509 leitet die Anzahl der zu programmierenden ausgewählten Speicherzellen zum Drain-Spannungsgenerator 508 weiter. Dann können HHVPW und die Bitleitungsspannung VBL in Abhängigkeit von sowohl der Adresse der ausgewählten Speicherzellen als auch der Anzahl der gleichzeitig zu programmierenden ausgewählten Speicherzellen eingestellt werden.
  • Bei einem anderen Ausführungsbeispiel kann die Adresse der ausgewählten Speicherzelle 514 direkt mit dem Drain-Spannungsgenerator 508 und dem Source-Spannungsgenerator 512 gekoppelt werden, ohne daß sie durch den Adreßdecodierer 506 decodiert wird. Bei einem weiteren Ausführungsbeispiel können sowohl der Drain-Spannungsgenerator 508 als auch der Source-Spannungsgenerator 512 einen Adreßdecodierer und/oder einen Datenmusterüberwacher enthalten.
  • 6 zeigt einen Drain-Spannungsgenerator 600, der ein Ausführungsbeispiel des Drain-Spannungsgenertors 508 gemäß 5 ist. Der Drain-Spannungsgenerator 600 enthält einen Block-Offset-Speicher 602 und einen Speicherplatz-Offset-Speicher 604, die jeweils eine Adresse einer zu programmierenden ausgewählten Speicherzelle über den Bus 520 empfangen. Sowohl der Block-Offset-Speicher 602 als auch der Speicherplatz-Offset-Speicher 604 können nicht-flüchtige Speicher, wie beispielsweise Flash-Speicherzellen, EPROM-Zellen, ROM-Zellen oder EEPROM-Zellen oder irgendeine andere Art eines Speichers einschließlich flüchtigen Speichers sein.
  • Der Block-Offset-Speicher 602 decodiert die Blockadresse für die ausgewählte Speicherzelle und speichert Werte, die eine erste Offset-Spannung von einer nominellen Programmierspannung (z. B. 6 V) anzeigen, um den Bitleitungswiderstand zu kompensieren, der zwischen den Blöcken des Speichers vorhanden ist. Der Block-Offset-Speicher 602 legt einen die erste Offset-Spannung anzeigenden Wert an den Spannungsgenerator 608 über den Bus 610 an. Bei einem Ausführungsbeispiel speichert der Block-Offset-Speicher 602 die die ersten Offset-Spannungen anzeigenden Werte an Adressen, auf die durch die über den Bus 520 gelieferte Adresse zugegriffen wird. Bei einem anderen Ausführungsbeispiel speichert der Block-Offset-Speicher 602 ein Programm, das die erste Offset-Spannung in Abhängigkeit von der auf den Bus 520 empfangenen Adresse berechnet.
  • Der Speicherplatz-Offset-Speicher 604 decodiert die Adresse für die ausgewählte Speicherzelle innerhalb des ausgewählten Blocks des Speichers und speichert Werte, die eine zweite Offset-Spannung gegenüber der nominellen Programmierspannung anzeigen. Der Speicherplatz-Offset-Speicher 604 liefert einen die zweite Offset-Spannung anzeigenden Wert an den Spannungsgenerator 608 über den Bus 612. Die zweite Offset-Spannung kompensiert den Bitleitungswiderstand, der für die mit einer bestimmten Bitleitung gekoppelte ausgewählte Speicherzelle vorhanden ist (z. B. Bitleitungswiderstand 516). Bei einem Ausführungsbeispiel speichert der Speicherplatz-Offset-Speicher 604 die die zweiten Offset-Spannungen anzeigenden werte an Adressen, auf die mittels der über den Bus 520 gelieferten Adresse zugegriffen wird. Bei einem anderen Ausfüh rungsbeispiel speichert der Speicherplatz-Offset-Speicher 604 ein Programm, das die zweite Offset-Spannung in Abhängigkeit von der über den Bus 520 empfangenen Adresse berechnet.
  • Der Spannungsgenerator 608 empfängt die Werte aus dem Block-Offset-Speicher 602 und aus dem Speicherplatz-Offset-Speicher 604 und erzeugt HHVPW.
  • 7 zeigt einen Source-Spannungsgenerator 700, der ein Ausführungsbeispiel des Source-Spannungsgenerators 512 gemäß 5 ist. Der Source-Spannungsgenerator 700 enthält einen Block-Offset-Speicher 702, einen Speicherplatz-Offset-Speicher 704 und einen Spannungsgenerator 708, die miteinander verbunden sind und auf die gleiche Weise wie der Block-Offset-Speicher 602 der Speicherplatz-Offset-Speicher 604 bzw. der Spannungsgenerator 608 gemäß 6 arbeiten. Der Source-Spannungsgenerator 700 enthält darüber hinaus einen Datenmuster-Offset-Speicher 706. Der Datenmuster-Offset-Speicher 706 kann ein nicht-flüchtiger Speicher sein, wie beispielsweise Flash-Speicherzellen, EPROM-Zellen, ROM-Zellen oder EEPROM-Zellen oder andere Speicherarten einschließlich flüchtigen Speichers.
  • In Abhängigkeit von einem aus dem Datenmusterüberwacher 509 über den Bus 528 empfangenen Datenwert gibt der Datenmuster-Offset-Speicher auf dem Bus 714 einen Wert aus, der einer Offset-Spannung entspricht, die mit der Anzahl der gleichzeitig zu programmierenden ausgewählter Speicherzellen korrespondiert. Bei einem Ausführungsbeispiel speichert der Datenmuster-Offset-Speicher 706 die die Offset-Spannungen anzeigenden Werte an Adressen, auf die durch den Datenwert auf dem Bus 528 zugegriffen wird. Bei einem anderen Ausführungsbeispiel speichert der Datenmuster-Offset-Speicher 706 ein Programm, das die Offset-Spannung in Abhängigkeit von der auf den Bus 528 empfangenen Adresse berechnet.
  • Der Spannungsgenerator 708 empfängt die Werte aus dem Block-Offset-Speicher 702, dem Speicherplatz-Offset-Speicher 704 und dem Datenmuster-Offset-Speicher 706 und erzeugt die Source-Leitungsspannung VPS, welche den Source-Leitungswiderstand zwischen den Speicherblöcken, den Source-Leitungs widerstand innerhalb eines Speicherblocks und die Anzahl der gleichzeitig zu programmierenden ausgewählten Speicherzellen kompensiert.
  • Wie zuvor beschrieben, können der Bitleitungswiderstand und der Source-Leitungswiderstand vor der Herstellung des Speicherbauelements 300 simuliert oder berechnet werden. Für die Ausführungsbeispiele gemäß der 6 und 7 können die Werte dann in den Block-Offset-Speichern 602 und 702, den Speicherplatz-Offset-Speichern 604 und 704 und dem Datenmuster-Offset-Speicher 706 gespeichert werden, um HHVPW oder VPS zu erzeugen. Bei einem anderen Ausführungsbeispiel können der Drain-Spannungsgenerator 308 und der Source-Spannungsgenerator 312 so gekennzeichnet und eingestellt werden, daß HHVPW und VPS den Bitleitungswiderstand und Source-Leitungswiderstand adäquat kompensieren. Bei einem Ausführungsbeispiel sind die Block-Offset-Speicher 602 und 702, die Speicherplatz-Offset-Speicher 604 und 704 und der Datenmuster-Offset-Speicher 706 programmierbare Speicher, die aktualisiert werden können, um auf der Grundlage einer Charakterisierung der Zustände, die durch Programmieren einer ausgewählten Speicherzelle für eine gegebene Programmierzeit erzeugt wurden, neue Werte zu speichern.
  • 8 veranschaulicht ein Testsystem 802, das mit dem Flash-Speicherbauelement 300 gekoppelt ist. Bei einem Ausführungsbeispiel ist das Testsystem 802 ein computergesteuertes Testsystem, das geeignete Programmier-Lösch- und Lese-Kommandos zum Flash-Speicherbauelement 300 über den Adreßbus 326, Datenbus 324 und Steuerbus 804 sendet. Der Steuerbus 804 kann Steuersignale OEB, WEB und CEB ebenso wie andere Steuersignale umfassen. Das Testsystem 802 kann außerdem VPP an das Flash-Speicherbauelement 300 anlegen.
  • Das Testsystem 802 kann den Prozeß des Bestimmens, ob die ausgewählten Speicherzellen auf vorgegebene Zustände innerhalb vorgegebener Programmierzeiten programmiert worden sind, steuern. Wenn eine ausgewählte Speicherzelle nicht auf einen vorgegebenen Zustand innerhalb einer vorgegebenen Programmierzeit programmiert worden ist, dann kann die Bitleitungsspannung er höht werden, indem das durch den Drain-Spannungsgenerator erzeugte HHVPW eingestellt wird, die Source-Leitungsspannung kann abgesenkt werden, indem das von dem Source-Spannungsgenerator 312 erzeugte VPS eingestellt wird, oder sowohl HHVPW als auch VPS können eingestellt werden. Dann können neue Werte in entweder den Block-Offset-Speicher, den Speicherplatz-Offset-Speicher oder den Datenmuster-Offset-Speicher des Drain-Spannungsgenerators oder des Source-Spannungsgenerators gespeichert werden, die dem neuen HHVPW oder dem neuen VPS-Wert entsprechen. Alternativ können die von dem Drain-Spannungsgenerator 308 oder dem Source-Spannungsgenerator 312 zum Berechnen von HHVPW bzw. VPS verwendeten Software-Routinen entsprechend eingestellt werden.
  • 9 zeigt ein Verfahren, das von dem Testsystem 802 implementiert werden kann. Der Prozeß startet im Schritt 900. Im Schritt 902 wird eine Speicherzelle zur Programmierung ausgewählt, und die Adresse der ausgewählten Speicherzelle wird dem Flash-Speicherbauelement 300 zur Verfügung gestellt. Im Schritt 904 wird die Programmierzeit derart eingestellt, daß die ausgewählte Speicherzelle innerhalb der Programmierzeit auf einen vorgegebenen Zustand programmiert werden sollte. Im Schritt 906 wird die ausgewählte Speicherzelle für die vorgegebene Programmierzeit programmiert. Im Schritt 908 wird die Programmierung durch Auslesen des Zustands, auf welchen die ausgewählte Speicherzelle programmiert worden ist, überprüft.
  • Wenn der aus der ausgewählten Speicherzelle ausgelesene Zustand der gewünschte Zustand ist, wie es im Schritt 910 festgestellt wird, dann endet der Prozeß im Schritt 912. Wenn der aus der ausgewählten Speicherzelle ausgelesene Zustand nicht der gewünschte Zustand ist, dann wurde die ausgewählte Speicherzelle nicht innerhalb der vorgegebenen Programmierzeit auf den gewünschten Zustand programmiert. Dies tritt auf, sofern HHVPW und/oder VPS den mit der ausgewählten Speicherzelle gekoppelten Widerstand der Bitleitung oder Source-Leitung nicht adäquat kompensieren.
  • Im Schritt 914 bestimmt das Testsystem 802, ob der aus der ausgewählten Speicherzelle gelesene Zustand geringer als der gewünschte Zustand ist, was anzeigt, daß die ausgewählte Speicherzelle nicht schnell genug programmiert worden ist. Wenn dies der Fall ist, dann kann das Testsystem 802 HHVPW erhöhen und/oder VPS absenken, indem die Werte bzw. das Programm, das in dem Drain-Spannungsgenerator 308 bzw, dem Source-Spannungsgenerator 312 gespeichert sind, eingestellt werden. Der Prozeß kehrt dann zum Schritt 906 zurück und wird fortgesetzt, bis die ausgewählte Speicherzelle in der vorgegebenen Programmierzeit auf den gewünschten Zustand programmiert worden ist.
  • Sofern das Testsystem 802 feststellt, daß der aus der ausgewählten Speicherzelle ausgelesene Zustand größer als der gewünschte Zustand ist, so wurde die ausgewählte Speicherzelle zu schnell programmiert und das Testsystem 802 kann HHVPW absenken und/oder VPS erhöhen, indem die Werte bzw. das Programm, die bzw. das in dem Drain-Spannungsgenerator 308 oder dem Source-Spannungsgenerator 312 gespeichert sind, eingestellt werden. Der Prozeß kehrt dann zum Schritt 906 zurück und wird fortgesetzt, bis die ausgewählte Speicherzelle innerhalb der vorgegebenen Programmierzeit auf den gewünschten Zustand programmiert wird.
  • Bei einem anderen Ausführungsbeispiel ist ein externes Testsystem 802 nicht erforderlich, da die Steuerschaltung 304 sämtliche der in 9 veranschaulichten Schritte durchführen kann, um den Drain-Spannungsgenerator 308 und/oder Source-Spannungsgenerator 312 des Flash-Speicherbauelements 300 selbst einzustellen.

Claims (20)

  1. Ein nicht-flüchtiges Speicherbauelement, aufweisend: ein Speicher-Array mit einer Bitleitung, einer Source-Leitung und einer nicht-flüchtigen Speicherzelle mit einem mit der Bitleitung gekoppelten Drain, einer mit der Source-Leitung gekoppelten Source, einem Steuer-Gate und einem Floating-Gate; und einer Source-Spannungsgeneratorschaltung, die mit der Source-Leitung gekoppelt ist und die eine Source-Leitungsspannung erzeugt, wenn die nicht-flüchtige Speicherzelle programmiert wird, wobei die Source-Spannungsgeneratorschaltung die Source-Leitungsspannung auf der Grundlage eines Ortes der nicht-flüchtigen Speicherzelle in dem Speicher-Array variiert.
  2. Das nicht-flüchtige Speicherbauelement nach Anspruch 1, wobei die Source-Leitung einen Source-Leitungswiderstand zwischen der Source der nicht-flüchtigen Speicherzelle und der Source-Spannungsgeneratorschaltung aufweist und die Source-Spannungsgeneratorschaltung die Source-Leitungsspannung variiert, um den Source-Leitungswiderstand zu kompensieren.
  3. Das nicht-flüchtige Speicherbauelement nach Anspruch 1, ferner aufweisend eine Drain-Spannungsgeneratorschaltung, die mit der Bitleitung gekoppelt ist und die eine Bitleitungsspannung erzeugt, wenn die nicht-flüchtige Speicherzelle programmiert wird, wobei die Drain-Spannungsgeneratorschaltung die Bitleitungsspannung auf der Grundlage des Ortes der nichtflüchtigen Speicherzelle in dem Speicher-Array variiert.
  4. Das nicht-flüchtige Speicherbauelement nach Anspruch 3, wobei die Source-Leitung einen Source-Leitungswiderstand zwischen der Source der nicht-flüchtigen Speicherzelle und der Source-Spannungsgeneratorschaltung aufweist, die Bitleitung einen Bitleitungswiderstand zwischen einer Bitleitungsspannung und dem Drain der nicht-flüchtigen Speicherzelle aufweist, die Source-Spannungsgeneratorschaltung die Source-Leitungsspannung derart variiert, daß der Source-Leitungswiderstand kompensiert wird, und die Drain-Spannungsgeneratorschaltung die Bitleitungsspannung derart variiert, daß der Bitleitungswiderstand kompensiert wird.
  5. Das nicht-flüchtige Speicherbauelement nach Anspruch 3, ferner aufweisend eine mit der Source-Spannungsgeneratorschaltung und der Drain-Spannungsgeneratorschaltung gekoppelte Steuerschaltung, wobei die Steuerschaltung die Programmierung der nicht-flüchtigen Speicherzelle steuert.
  6. Das nicht-flüchtige Speicherbauelement nach Anspruch 5, wobei die Steuerschaltung eine Adresse der nicht-flüchtigen Speicherzelle decodiert, um einen ersten wert und einen zweiten Wert zu erzeugen, wobei die Steuerschaltung den ersten Wert mit der Source-Spannungsgeneratorschaltung koppelt, und die Source-Spannungsgeneratorschaltung die Source-Leitungsspannung in Abhängigkeit von dem ersten Wert erzeugt, und wobei die Steuerschaltung den zweiten Wert mit der Drain-Spannungsgeneratorschaltung koppelt, und die Drain-Spannungsgeneratorschaltung die Bitleitungsspannung in Abhängigkeit von dem zweiten Wert erzeugt.
  7. Das nicht-flüchtige Speicherbauelement nach Anspruch 1, wobei das Speicher-Array eine Mehrzahl von Bitleitungen und eine Mehrzahl nicht-flüchtiger Speicherzellen aufweist, die jeweils ein mit einer der Bitleitungen gekoppeltes Drain, eine mit der Source-Leitung gekoppelte Source, ein Steuer-Gate und ein Floating-Gate aufweisen, wobei die Source-Spannungsgeneratorschaltung ferner die Source-Leitungsspannung auf der Grundlage einer Anzahl der Mehrzahl von Speicherzellen, die gleichzeitig programmiert werden, variiert.
  8. Das nicht-flüchtige Speicherbauelement nach Anspruch 1, wobei das Speicher-Array eine Mehrzahl nicht-flüchtiger Speicherblöcke enthält, die jeweils eine Bitleitung aufweisen, wobei die nicht-flüchtige Speicherzelle in einem ausgewählten der nicht-flüchtigen Speicherblöcke enthalten ist, und wobei die Source-Spannungsgeneratorschaltung die Source-Leitungsspannung auf der Grundlage einer Adresse eines ausgewählten nicht-flüchtigen Speicherblocks und eines Ortes der nicht-flüchtigen Speicherzelle in dem ausgewählten nichtflüchtigen Speicherblock variiert.
  9. Das nicht-flüchtige Speicherbauelement nach Anspruch 8, ferner aufweisend eine Drain-Spannungsgeneratorschaltung, die mit der Bitleitung gekoppelt ist und die eine Bitleitungsspannung erzeugt, wenn die nicht-flüchtige Speicherzelle programmiert wird, wobei die Drain-Spannungsgeneratorschaltung die Bitleitungsspannung auf der Grundlage des Ortes der nichtflüchtigen Speicherzelle in dem ausgewählten nicht-flüchtigen Speicherblock variiert.
  10. Ein nicht-flüchtiges Speicherbauelement, aufweisend: ein Speicher-Array mit einer Bitleitung, einer Source-Leitung und einer nicht-flüchtigen Speicherzelle mit einem mit der Bitleitung gekoppelten Drain, einer mit der Source-Leitung gekoppelten Source, einem Steuer-Gate und einem Floating-Gate; und einer Drain-Spannungsgeneratorschaltung, die mit der Bit-Leitung gekoppelt ist und eine Bit-Leitungsspannung erzeugt, wenn die nicht-flüchtige Speicherzelle programmiert wird, wobei die Drain-Spannungsgeneratorschaltung die Bit-Leitungsspannung auf der Grundlage des Ortes der nicht-flüchtigen Speicherzelle in dem Speicher-Array variiert.
  11. Das nicht-flüchtige Speicherbauelement nach Anspruch 10, wobei die Source-Leitung einen Source-Leitungswiderstand zwischen der Source der nicht-flüchtigen Speicherzelle und einer Source-Leitungsgeneratorspannung aufweist, die Bitleitung einen Bitleitungswiderstand zwischen einer Bitleitungsspannungsquelle und dem Drain der nicht-flüchtigen Speicherzelle hat und die Drain-Spannungsgeneratorschaltung die Bitleitungsspannung variiert, um den Source-Leitungswiderstand und den Bitleitungswiderstand zu kompensieren.
  12. Ein nicht-flüchtiges Speicherbauelement, aufweisend: ein Speicher-Array mit einer Mehrzahl von Bitleitungen, einer Source-Leitung und einer Mehrzahl nicht-flüchtiger Speicherzellen, die jeweils ein mit einer der Bitleitungen gekoppeltes Drain, eine mit der Source-Leitung gekoppelten Source, ein Steuer-Gate und ein Floating-Gate aufweisen; und eine Source-Spannungsgeneratorschaltung, die mit der Source-Leitung gekoppelt ist und eine Source-Leitungsspannung erzeugt, wenn eine der nicht-flüchtigen Speicherzellen programmiert wird, wobei die Source-Spannungsgeneratorschaltung die Source-Leitungsspannung auf der Grundlage der Anzahl der nicht-flüchtigen Speicherzelle, die gleichzeitig programmiert werden, variiert.
  13. Ein nicht-flüchtiges Speicherbauelement, aufweisend: ein Speicher-Array mit einer Mehrzahl von Bitleitungen, einer Source-Leitung und einer Mehrzahl nicht-flüchtiger Speicherzellen, die jeweils ein mit einer der Bitleitungen gekoppeltes Drain, eine mit der Source-Leitung gekoppelte Source, ein Steuer-Gate und ein Floating-Gate aufweisen; und eine Drain-Spannungsgeneratorschaltung, die mit der Bit-Leitung gekoppelt ist und die eine Bitleitungsspannung erzeugt, wenn eine der nicht-flüchtigen Speicherzellen programmiert wird, wobei die Drain-Spannungsgeneratorschaltung die Bitleitungsspannung auf der Grundlage der Anzahl der nicht-flüchtigen Speicherzellen, die gleichzeitig programmiert werden, variiert.
  14. Ein Verfahren zum Einstellen einer Source-Leitungsspannung für eine ausgewählte Zelle einer Mehrzahl von nicht-flüchtigen Speicherzellen, wobei die Mehrzahl von nicht-flüchtigen Speicherzellen jeweils ein mit einer einen Bitleitungswiderstand aufweisenden Bitleitung gekoppeltes Drain und eine mit der einen Source-Leitungswiderstand aufweisenden Source-Leitung gekoppelte Source aufweisen, wobei das Verfahren die Schritte aufweist: Decodieren einer Adresse der ausgewählten nicht-flüchtigen Speicherzelle um eine decodierte Adresse zu erzeugen; und Einstellen der mit der Source-Leitung gekoppelten Source-Leitungsspannung in Abhängigkeit von der decodierten Adresse, um den Bitleitungswiderstand und den Source-Leitungswiderstand zu kompensieren.
  15. Das Verfahren nach Anspruch 14, ferner umfassend den Schritt des Bestimmens einer Anzahl der nicht-flüchtigen Speicherzellen, die zusammen mit der ausgewählten nichtflüchtigen Speicherzelle programmiert werden sollen, wobei der Einstellschritt ferner die Source-Leitungsspannung der ausgewählten nicht-flüchtigen Speicherzelle in Abhängigkeit von der Anzahl der nicht-flüchtigen Speicherzellen einstellt, die zusammen mit der ausgewählten nicht-flüchtigen Speicherzelle programmiert werden sollen.
  16. Ein Verfahren zum Einstellen einer Bitleitungsspannung für eine ausgewählte Zelle einer Mehrzahl von nicht-flüchtigen Speicherzellen, wobei die Mehrzahl von nicht-flüchtigen Speicherzellen jeweils ein mit einer einen Bitleitungswiderstand aufweisenden Bitleitung gekoppeltes Drain und eine mit der einen Source-Leitungswiderstand aufweisenden Source-Leitung gekoppelte Source aufweisen, wobei das Verfahren die Schritte aufweist: Decodieren einer Adresse der ausgewählten nicht-flüchtigen Speicherzelle, um eine decodierte Adresse zu erzeugen; und Einstellen der Bitleitungsspannung der mit der ausgewählten Speicherzelle gekoppelten Bitleitung in Abhängigkeit von der decodierten Adresse, um den Bitleitungswiderstand und den Source-Leitungswiderstand zu kompensieren.
  17. Ein Verfahren zum Einstellen einer Source-Leitungsspannung und einer Bitleitungsspannung für eine ausgewählte Zelle einer Mehrzahl von nicht-flüchtigen Speicherzellen, wobei die Mehrzahl von nicht-flüchtigen Speicherzellen jeweils ein mit einer einen Bitleitungswiderstand aufweisenden Bitleitung gekoppeltes Drain und eine mit der einen Source-Leitungswiderstand aufweisenden Source-Leitung gekoppelte Source aufweisen, wobei das Verfahren die Schritte aufweist: Decodieren einer Adresse der ausgewählten nicht-flüchtigen Speicherzelle, um eine decodierte Adresse zu erzeugen; Einstellen der mit der Source-Leitung gekoppelten Source-Leitungsspannung in Abhängigkeit von der decodierten Adresse, um den Source-Leitungswiderstand zu kompensieren; und Einstellen der Bitleitungsspannung für die mit der ausgewählten nicht-flüchtigen Speicherzelle gekoppelte Bitleitung in Abhängigkeit von der decodierten Adresse, um den Bitleitungswiderstand zu kompensieren.
  18. Das Verfahren nach Anspruch 17, ferner umfassend den Schritt des Bestimmens einer Anzahl von nicht-flüchtigen Speicherzellen, die zusammen mit der ausgewählten nichtflüchtigen Speicherzelle programmiert werden sollen, wobei der Schritt des Einstellens der Source-Leitungsspannung ferner die Source-Leitungsspannung der ausgewählten nicht-flüchtigen Speicherzelle in Abhängigkeit von der Anzahl der nichtflüchtigen Speicherzellen, die zusammen mit der ausgewählten nicht-flüchtigen Speicherzelle programmiert werden sollen, einstellt.
  19. Das nicht-flüchtige Speicherbauelement nach Anspruch 2, wobei die Bitleitung einen Bitleitungswiderstand aufweist und der Source-Spannungsgenerator die Source-Leitungsspannung derart variiert, daß der Bitleitungswiderstand kompensiert wird.
  20. Das nicht-flüchtige Speicherbauelement nach Anspruch 19, ferner aufweisend eine mit der Bitleitung gekoppelte Bitleitungsspannungsquelle, wobei der Bitleitungswiderstand zwischen der Bitleitungsspannungsquelle und dem Drain der nichtflüchtigen Speicherzelle vorhanden ist.
DE19882265T 1997-03-31 1998-01-28 Flash-Speicher-VDS-Kompensationstechniken zum Verringern von Programmierschwankungen Expired - Fee Related DE19882265B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/828,873 1997-03-31
US08/828,873 US5798966A (en) 1997-03-31 1997-03-31 Flash memory VDS compensation techiques to reduce programming variability
PCT/US1998/001599 WO1998044510A1 (en) 1997-03-31 1998-01-28 Flash memory vds compensation techniques to reduce programming variability

Publications (2)

Publication Number Publication Date
DE19882265T1 DE19882265T1 (de) 2000-05-25
DE19882265B4 true DE19882265B4 (de) 2005-02-10

Family

ID=25252981

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19882265T Expired - Fee Related DE19882265B4 (de) 1997-03-31 1998-01-28 Flash-Speicher-VDS-Kompensationstechniken zum Verringern von Programmierschwankungen

Country Status (9)

Country Link
US (1) US5798966A (de)
JP (1) JP4173555B2 (de)
KR (1) KR100313746B1 (de)
CN (1) CN100392759C (de)
AU (1) AU6252398A (de)
DE (1) DE19882265B4 (de)
TW (1) TW425557B (de)
WO (1) WO1998044510A1 (de)
ZA (1) ZA981131B (de)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1178492B1 (de) * 2000-07-18 2008-12-10 STMicroelectronics S.r.l. Verfahren und Schaltung zum Ändern der Schwellenspannungen von nichtflüchtigen Speicherzellen
US7247304B2 (en) * 2001-08-23 2007-07-24 Genmab A/S Methods of treating using anti-IL-15 antibodies
EP1331644B1 (de) * 2001-12-28 2007-03-14 STMicroelectronics S.r.l. Verfahren zur Regulierung der Sourcespannung während der Programmierung einer nichtflüchtigen Speicherzelle und dementsprechende Programmierungsschaltung
US6781884B2 (en) * 2002-03-11 2004-08-24 Fujitsu Limited System for setting memory voltage threshold
JP2004110871A (ja) * 2002-09-13 2004-04-08 Fujitsu Ltd 不揮発性半導体記憶装置
US6639824B1 (en) * 2002-09-19 2003-10-28 Infineon Technologies Aktiengesellschaft Memory architecture
KR100550790B1 (ko) * 2003-03-07 2006-02-08 주식회사 하이닉스반도체 플래시 메모리용 드레인 펌프
US6909638B2 (en) * 2003-04-30 2005-06-21 Freescale Semiconductor, Inc. Non-volatile memory having a bias on the source electrode for HCI programming
US6891758B2 (en) * 2003-05-08 2005-05-10 Micron Technology, Inc. Position based erase verification levels in a flash memory device
KR100688494B1 (ko) 2003-07-10 2007-03-02 삼성전자주식회사 플래시 메모리 장치
JP4278140B2 (ja) * 2003-09-03 2009-06-10 シャープ株式会社 半導体記憶装置
US7009887B1 (en) * 2004-06-03 2006-03-07 Fasl Llc Method of determining voltage compensation for flash memory devices
KR100606173B1 (ko) * 2004-08-24 2006-08-01 삼성전자주식회사 불휘발성 메모리 장치의 초기화 상태를 검증하는 방법 및장치
US7218570B2 (en) * 2004-12-17 2007-05-15 Sandisk 3D Llc Apparatus and method for memory operations using address-dependent conditions
JP4746326B2 (ja) * 2005-01-13 2011-08-10 株式会社東芝 不揮発性半導体記憶装置
KR100714485B1 (ko) * 2005-08-23 2007-05-07 삼성전자주식회사 비휘발성 반도체 메모리 장치
KR100735010B1 (ko) * 2005-09-08 2007-07-03 삼성전자주식회사 플래시 메모리 장치 및 그것을 위한 전압 발생회로
US20070140019A1 (en) * 2005-12-21 2007-06-21 Macronix International Co., Ltd. Method and apparatus for operating a string of charge trapping memory cells
KR101333503B1 (ko) * 2006-02-03 2013-11-28 삼성전자주식회사 프로그램 셀의 수에 따라 프로그램 전압을 조절하는 반도체메모리 장치 및 그것의 프로그램 방법
US7313018B2 (en) * 2006-03-08 2007-12-25 Macronix International Co., Ltd. Methods and apparatus for a non-volatile memory device with reduced program disturb
CN103280239B (zh) * 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8060806B2 (en) * 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8429493B2 (en) * 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
JP4504397B2 (ja) * 2007-05-29 2010-07-14 株式会社東芝 半導体記憶装置
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
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
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
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
JP2009301691A (ja) * 2008-06-17 2009-12-24 Renesas Technology Corp 不揮発性半導体記憶装置
JP2010055735A (ja) * 2008-07-31 2010-03-11 Panasonic Corp 半導体記憶装置
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified 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
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. 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
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8094509B2 (en) * 2008-10-30 2012-01-10 Spansion Llc Apparatus and method for placement of boosting cell with adaptive booster scheme
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
KR20100058166A (ko) * 2008-11-24 2010-06-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
KR20100084285A (ko) * 2009-01-16 2010-07-26 삼성전자주식회사 셀의 위치를 고려하여 니어-셀과 파-셀간 동작 전압의 차이를 보상하는 반도체 메모리 장치, 그를 포함하는 메모리 카드 및 메모리 시스템
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
WO2010089815A1 (ja) * 2009-02-06 2010-08-12 パナソニック株式会社 不揮発性半導体メモリ
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
US8004875B2 (en) * 2009-07-13 2011-08-23 Seagate Technology Llc Current magnitude compensation for memory cells in a data storage array
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
JP5259552B2 (ja) 2009-11-02 2013-08-07 株式会社東芝 不揮発性半導体記憶装置及びその駆動方法
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
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
KR101644979B1 (ko) * 2010-02-01 2016-08-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
US8619489B2 (en) * 2010-04-30 2013-12-31 Stmicroelectronics S.R.L. Driving circuit for memory device
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
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
CN103119656A (zh) * 2010-09-24 2013-05-22 株式会社东芝 非易失性半导体存储器件
JP5502773B2 (ja) * 2011-02-01 2014-05-28 株式会社東芝 不揮発性半導体記憶装置
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8923040B2 (en) * 2013-01-30 2014-12-30 Taiwan Semiconductor Manufacturing Co., Ltd. Accommodating balance of bit line and source line resistances in magnetoresistive random access memory
US9202579B2 (en) * 2013-03-14 2015-12-01 Sandisk Technologies Inc. Compensation for temperature dependence of bit line resistance
JP6149598B2 (ja) * 2013-08-19 2017-06-21 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
US9633742B2 (en) 2014-07-10 2017-04-25 Sandisk Technologies Llc Segmentation of blocks for faster bit line settling/recovery in non-volatile memory devices
US9728262B2 (en) * 2015-10-30 2017-08-08 Sandisk Technologies Llc Non-volatile memory systems with multi-write direction memory units
CN106297887B (zh) * 2016-07-27 2020-05-19 深圳市航顺芯片技术研发有限公司 一种提升eeprom存储器编程精度的升压电路及其方法
WO2019044061A1 (ja) * 2017-09-01 2019-03-07 ソニー株式会社 メモリの電源電圧を動的に制御するメモリコントローラ
US10199100B1 (en) * 2017-09-28 2019-02-05 Inston Inc. Sensing circuit and memory using thereof
CN110718257A (zh) * 2018-07-11 2020-01-21 西安格易安创集成电路有限公司 一种电压偏置电路及方法
US10910064B2 (en) * 2018-11-06 2021-02-02 Sandisk Technologies Llc Location dependent impedance mitigation in non-volatile memory
US10755788B2 (en) 2018-11-06 2020-08-25 Sandisk Technologies Llc Impedance mismatch mitigation scheme that applies asymmetric voltage pulses to compensate for asymmetries from applying symmetric voltage pulses
US10650898B1 (en) * 2018-11-06 2020-05-12 Sandisk Technologies Llc Erase operation in 3D NAND flash memory including pathway impedance compensation
US11205480B1 (en) * 2020-09-11 2021-12-21 Micron Technology, Inc. Ramp-based biasing in a memory device
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5402370A (en) * 1993-09-10 1995-03-28 Intel Corporation Circuitry and method for selecting a drain programming voltage for a nonvolatile memory
US5440405A (en) * 1992-09-02 1995-08-08 Ricoh Company, Ltd. Method and system for error correction using asynchronous digital facsimile protocol
US5497354A (en) * 1994-06-02 1996-03-05 Intel Corporation Bit map addressing schemes for flash memory
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3884820T2 (de) * 1987-07-29 1994-01-27 Toshiba Kawasaki Kk Nichtflüchtige Halbleiterspeichereinrichtung.
US5077691A (en) * 1989-10-23 1991-12-31 Advanced Micro Devices, Inc. Flash EEPROM array with negative gate voltage erase operation
US5557572A (en) * 1992-04-24 1996-09-17 Nippon Steel Corporation Non-volatile semiconductor memory device
US5420370A (en) * 1992-11-20 1995-05-30 Colorado School Of Mines Method for controlling clathrate hydrates in fluid systems
DE4328581A1 (de) * 1993-08-25 1995-03-02 Nico Pyrotechnik Nebelwurfkörper
US5422845A (en) * 1993-09-30 1995-06-06 Intel Corporation Method and device for improved programming threshold voltage distribution in electrically programmable read only memory array
US5477499A (en) * 1993-10-13 1995-12-19 Advanced Micro Devices, Inc. Memory architecture for a three volt flash EEPROM
US5440505A (en) * 1994-01-21 1995-08-08 Intel Corporation Method and circuitry for storing discrete amounts of charge in a single memory element

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440405A (en) * 1992-09-02 1995-08-08 Ricoh Company, Ltd. Method and system for error correction using asynchronous digital facsimile protocol
US5402370A (en) * 1993-09-10 1995-03-28 Intel Corporation Circuitry and method for selecting a drain programming voltage for a nonvolatile memory
US5497354A (en) * 1994-06-02 1996-03-05 Intel Corporation Bit map addressing schemes for flash memory
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells

Also Published As

Publication number Publication date
KR20010005825A (ko) 2001-01-15
ZA981131B (en) 1999-08-11
AU6252398A (en) 1998-10-22
JP4173555B2 (ja) 2008-10-29
KR100313746B1 (ko) 2001-11-16
DE19882265T1 (de) 2000-05-25
TW425557B (en) 2001-03-11
CN1251683A (zh) 2000-04-26
CN100392759C (zh) 2008-06-04
US5798966A (en) 1998-08-25
WO1998044510A1 (en) 1998-10-08
JP2001517350A (ja) 2001-10-02

Similar Documents

Publication Publication Date Title
DE19882265B4 (de) Flash-Speicher-VDS-Kompensationstechniken zum Verringern von Programmierschwankungen
DE69514450T2 (de) Prüfung eines nichtflüchtigen Speichers
DE69521882T2 (de) Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement
DE69706873T2 (de) Löschverfahren für mehrere-bits-pro-zelle flash -eeprom mit seitenmodus
DE69636063T2 (de) Verfahren zum Programmieren eines nichtflüchtigen Speichers
DE69603742T2 (de) Überlöschungskorrektur für flash-speicher mit überlöschungsbegrenzung und vermeidung von löschprüffehlern
DE60202077T2 (de) Spannungserhöhungs-schaltung mit bestimmung der versorgungsspannung zur kompensation von schwankungen der versorungsspannung beim lesen
DE69702256T2 (de) Verfahren für einen merhfachen, bits pro zelle flash eeprom, speicher mit seitenprogrammierungsmodus und leseverfahren
DE60001587T2 (de) Schaltungsausführung zur reduzierung des bitleitungslekcstroms bei programmierungs-und überlöschungskorrekturmodus in einem flash-eeprom
DE4433098C2 (de) Halbleiter-Permanentspeichervorrichtung
DE69614787T2 (de) Speichermatrix mit mehrzustandsspeicherzellen
DE69524913T2 (de) Nichtflüchtige Halbleiter-Speicherzelle mit Korrekturmöglichkeit einer überschriebenen Zelle, und Korrekturverfahren
DE4232025C2 (de) Elektrisch löschbarer und programmierbarer nichtflüchtiger Halbleiterspeicher mit automatischem Schreibprüfungs-Controller
DE69420651T2 (de) Korrekturstruktur für überlöschte Bits einer integrierten Halbleiterspeicherschaltung
DE60115716T2 (de) Weichprogrammierung und weichprogrammierverifikation von flash-speicherzellen
DE60127651T2 (de) Bitleitungs-Vorladungs- und -Entladungsschaltung zum Programmieren eines nichtflüchtigen Speichers
DE69511661T2 (de) Referenzschaltung
DE69122537T2 (de) EEPROM mit Schwellwertmessschaltung
DE69500143T2 (de) Schaltung zum Wählen von Redundanzspeicherbauelementen und diese enthaltende FLASH EEPROM
DE69417712T2 (de) Nichtflüchtige Halbleiter-Speichereinrichtung
DE3786819T2 (de) Nichtflüchtige Halbleiterspeicheranordnung.
DE102007041845A1 (de) Verfahren zum Betreiben eines integrierten Schaltkreises mit mindestens einer Speicherzelle
DE4207934A1 (de) Elektrisch loesch- und programmierbares, nichtfluechtiges speichersystem mit schreib-pruef-einsteller unter verwendung zweier bezugspegel
DE102005022611A1 (de) Programmierverfahren für ein nichtflüchtiges Speicherbauelement
DE102006003260A1 (de) Nichtflüchtiges Halbleiterspeicherbauelement mit Zellenkette

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G11C 1612

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee