DE69424176T2 - Schaltung und verfahren zum wählen einer drain-programmierspannung für einen nichtflüchtigen speicher - Google Patents

Schaltung und verfahren zum wählen einer drain-programmierspannung für einen nichtflüchtigen speicher

Info

Publication number
DE69424176T2
DE69424176T2 DE69424176T DE69424176T DE69424176T2 DE 69424176 T2 DE69424176 T2 DE 69424176T2 DE 69424176 T DE69424176 T DE 69424176T DE 69424176 T DE69424176 T DE 69424176T DE 69424176 T2 DE69424176 T2 DE 69424176T2
Authority
DE
Germany
Prior art keywords
voltage
drain
circuit
programming voltage
vdp
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
DE69424176T
Other languages
English (en)
Other versions
DE69424176D1 (de
Inventor
E. Atwood
Brennan, Jr.
Albert Fazio
E. Landgraf
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 DE69424176D1 publication Critical patent/DE69424176D1/de
Application granted granted Critical
Publication of DE69424176T2 publication Critical patent/DE69424176T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage

Landscapes

  • Read Only Memory (AREA)

Description

    GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf das Gebiet von Computerspeichern. Insbesondere bezieht sich die Erfindung auf eine Schaltung und ein Verfahren zur Auswahl einer Drain-Programmierspannung für einen nicht-flüchtigen Floating-Gate-Speicher zur Kompensation von Unterschieden in der Programmierfähigkeit.
  • HINTERGRUND DER ERFINDUNG
  • Zumindest eine Art von früheren Flash-löschbaren und elektrisch-programmierbaren Nur-Lese-Speichern ("Flash EPROM") verwendet Speicherzellen, die als Floating-Gates bezeichnete elektrisch isolierte Gates haben. Informationen werden in den Speicherzellen in Form einer Ladung auf den Floating-Gates gespeichert. Fig. 1 zeigt die Struktur einer Speicherzelle 10, die bei einer Art eines früheren Flash- EPROM verwendet wird. Speicherzelle 10 weist ein Drain- Gebiet 13 und ein Source-Gebiet 14 in einem Substrat 15 auf. Source-Gebiet 14 und Drain-Gebiet 13 sind asymmetrisch dotiert mit einem Arsendotierstoff und Source-Gebiet 14 ist zusätzlich dotiert mit einem Phosphor-Dotierstoff. Ein Polysilicium-Floating-Gate 12 ist generell oberhalb und zwischen diesen Gebieten angeordnet und von diesen Gebieten durch eine Isolierschicht 16 isoliert. Floating-Gate 12 wird am Ende der Bearbeitung von Isolierschichten vollständig umgeben und befindet sich daher elektrisch auf schwimmendem Potential. Ein zweites Gate (d. h. ein Steuergate) 11 ist über dem Floating-Gate 12 angeordnet und hergestellt aus einer zweiten Schicht aus Polysilicium. Eine zweite Isolierschicht 17 trennt das Floating-Gate 12 vom Steuer-Gate 11.
  • Die Speicherzellen dieses früheren Flash-EPROM werden durch heiße Elektroneninjektion programmiert. Jede der Speicherzellen ist ein MOS-Transistor mit einem Floating-Gate. Im Siliciumkanal werden energetische Elektronen gebildet.
  • Die Elektronen werden in das Floating-Gate angezogen und eingefangen, wodurch die Schwellenspannung dieser Speicherzelle geändert wird. Die Schwellenspannung ist der Mindestwert der Spannung, die an das Steuergate angelegt werden muß, bevor die Speicherzelle "ein"-geschaltet wird, um eine Leitung zwischen ihrem Source-Gebiet und Drain-Gebiet zu ermöglichen. Die Schwellenspannungscharakteristik der Speicherzelle wird von der Menge der Ladung gesteuert, die auf dem Floating-Gate der Speicherzelle gehalten wird. Eine solche Zelle wird jetzt als "programmiert" bezeichnet. Die Programmiercharakteristiken einer Zelle sind exponentiell bezüglich der Zeit.
  • Speicherzelle 10 wird programmiert (d. h. Negativladen des Floating-Gates) durch Kopplung des Steuer-Gates 11 an ein Gate-Programmierpotential von etwa +12 Volt, des Drain- Gebietes 13 an ein Drain-Programmierpotential von angenähert +7 Volt und des Source-Gebietes 14 an Erde. Unter diesen Bedingungen findet eine Kanalinjektion heißer Elektronen durch Oxidschicht 16 statt. Die im Floating-Gate 12 der Speicherzelle 10 befindlichen Elektronen bewirken einen Anstieg der Schwellenspannung der Speicherzelle 10. Speicherzelle 10 ist jetzt programmiert auf eine programmierte Schwellenspannung V TP.
  • Um Zelle 10 zu löschen, läßt man Drain-Gebiet 13 schwimmen, Steuer-Gate 11 wird geerdet und ein Löschpotential von angenähert +12 Volt wird an das Source-Gebiet 14 angelegt. Unter diesen Bedingungen wird Ladung vom Floating-Gate 12 zum Source-Gebiet 14 getunnelt. Dieses entfernt die Elektronen vom Floating-Gate 12 der Speicherzelle 10, wodurch die Schwellenspannung der Speicherzelle 10 abfällt. Speicherzelle 10 ist jetzt gelöscht und hat eine Löschschwellwertspannung VTE.
  • Um Zelle 10 zu lesen, wird ein positives Leepotential, das kleiner als das einen Ladungstransfer zum Floating-Gate 12 bewirkende Potential ist, an das Steuer-Gate 11 angelegt (z. B. 5 Volt), und ein Potential (z. B. 1 Volt) wird an das Drain-Gebiet 13 angelegt. Ein durch das Bauelement fließender Strom wird abgetastet, um festzustellen, ob Floating- Gate 12 negativ geladen ist oder nicht.
  • Die Geschwindigkeit, mit der Speicherzelle 10 programmiert wird, hängt weitgehend von der Programmierfähigkeit der Zelle 10 und der an die Zelle 10 angelegten Programmierspannung ab. Die Programmierfähigkeit von Zelle 10 beeinflußt die programmierte Schwellenspannung VTP der Zelle. Einer der die Programmierfähigkeit der Zelle beeinflussenden Faktoren ist die effektive Kanallänge Leff der Zelle. Ein anderer Faktor ist die Peripherieschaltung, welche die Programmieroperation mit der Zelle 10 durchführt. Der Einfachheit halber kann die effektive Kanallänge Leff der Zelle als Quantifizierung der Prozeßveränderlichen und anderer Veränderlichen angesehen werden. Beispielsweise tragen lithographische, Ätz- und Diffusionsprozesse alle zu den Prozeßvariablen bei. Fig. 2A zeigt die Beziehung der Schwellenspannung Vt der Speicherzelle 10 während der Programmierung bezüglich der Programmierzeit und der effektiven Kanallänge Leff.
  • In Fig. 2A ist die Kurve 21 ein Beispiel für die Beziehung zwischen der Schwellenspannung der Programmierzeit der Zelle 10, wenn die effektive Kanallänge Leff der Zelle 10 0,3 um beträgt. Kurve 22 zeigt die Beziehung zwischen der Schwellenspannung und Programmierzeit der Zelle 10, wenn die effektive Kanallänge Leff der Zelle 10 0,4 um beträgt. Wie aus Fig. 2A zu sehen ist, wird die Programmierzeit der Zelle 10 zum Erreichen der gleichen Schwellenspannung entsprechend länger, wenn die effektive Kanallänge Leff relativ größer wird, sofern die Programmierspannungen der Zelle 10 ungeändert bleiben.
  • Ein Nachteil eines bekannten Flash-EPROM besteht darin, daß es von Zelle zu Zelle Änderungen in der effektiven Kanallänge und Schwankungen in der mittleren effektiven Kanallänge des Flash-EPROM von Chip zu Chip und von Fabrikationscharge zu Fabrikationscharge gibt. Mit anderen Worten, ein Flash-EPROM, der in einer Fabrikationscharge hergestellt wird, hat typischerweise eine andere mittlere effektive Kanallänge als ein Flash-EPROM, der in einer anderen Fabrikationscharge hergestellt ist. Dies ist so, obwohl beide Flash-EPROMs von dem gleichen Typ sind. Wie oben gesagt, sind diese Unterschiede in der effektiven Kanallänge und mittleren effektiven Kanallänge durch Prozeßvariable und andere Schwankungen begründet. Der Unterschied in der mittleren effektiven Kanallänge von Flash-EPROMs bewirkt typischerweise, daß sich die Programmierzeit von Flash-EPROM zu Flash-EPROM ändert, wenn die bekannten Flash-EPROMs bei unterschiedlichen effektiven Kanallängen unter Verwendung der gleichen Programmierspannungen programmiert werden. Die Programmierzeit einer Floating-Gate-Flash-EPROM-Zelle ändert sich umgekehrt zu der während des Programmierens an das Drain-Gebiet der Zelle angelegten Drain-Programmierspannung.
  • Fig. 2B zeigt die Beziehung der Schwellenspannung Vt der Speicherzelle 10 während des Programmierens mit Bezug auf die Programmierzeit und die Programmierspannung-Drain VD, die an die Speicherzelle 10 angelegt wird. Speicherzelle 10 hat eine vorgegebene Programmierfähigkeit in Fig. 2B. In Fig. 2B ist Kurve 23 eine Darstellung der Beziehung zwischen der Schwellenspannung und der Programmierzeit der Zelle 10, wenn die Drain-Programmierspannung VD angenähert 6 Volt ist. Kurve 24 stellt die Beziehung zwischen der Schwellenspannung und der Programmierzeit der Zelle 10 dar, wenn die Drain-Programmierspannung VD etwa 5 Volt beträgt. Wie aus Fig. 2B zu sehen ist, wird die Programmierzeit für die Zelle 10 bis zum Erreichen der gleichen Schwellenspannung bei gleicher Programmierfähigkeit der Speicherzelle 10 entsprechend kürzer, wenn die Drain-Programmierspannung VD relativ höher wird.
  • Fig. 3 zeigt die Schaltungsanordnung einer bekannten Drain-Programmierspannungserzeugungsschaltung 30 zum Erzeugen einer Drain-Programmierspannung zum Programmieren von Speicherzellen eines bekannten Flash-EPROMs. Sobald die Drain-Programmierspannungserzeugungsschaltung 30 hergestellt ist, kann die von Schaltung 30 erzeugte Drain-Programmierspannung nicht mehr eingestellt werden, um eine Schwankung in der effektiven Kanallänge Leff des bekannten Flash-EPROMs zu kompensieren.
  • Bekannte Flash-EPROMs weisen typischerweise inhaltsadressierbare Speicher("CAM")-Zellen auf. Die CAM-Zellen werden typischerweise zum Ausführen gewisser Konfigurations- und Managementfunktionen verwendet. Die CAM-Zellen können programmiert werden, um die Flash-EPROMS in Bezug auf die Bauelementenoperationen zu konfigurieren. Die CAM-Zellen können auch zum Aktivieren (oder Deaktiven) von Redundanzzellen und Referenzzellen in Bezug auf das Hauptspeicher- Array verwendet werden. Die CAM-Zellen werden typischerweise mit der Konfigurationsinformation programmiert, bevor der Flash-EPROM als Endprodukt den Endbenutzer erreicht.
  • Ein Beispiel einer bekannten Anordnung ist in US-A-4 954 990 (Vider) beschrieben.
  • KURZFASSUNG VON AUFGABEN DER ERFINDUNG
  • Die Aufgabe der Erfindung ist es, eine Schaltung und ein Verfahren zur Auswahl einer Drain-Programmierspannung für einen nicht-flüchtigen Speicher und zum Messen einer Programmierfähigkeit des nicht-flüchtigen Speichers nach Herstellung und dann zum Einstellen der Drain-Programmierspannung für den nicht-flüchtigen Speicher entsprechend der gemessenen Programmierfähigkeit derart zur Verfügung zu stellen, daß der nicht-flüchtige Speicher auf eine vorgegebene programmierte Schwellenspannung innerhalb einer vorgegebenen Programmierzeit programmiert werden kann.
  • Gemäß der Erfindung ist ein auf einem einzelnen Substrat befindlicher nicht-flüchtiger Speicher vorgesehen, der ein Speicher-Array mit wenigstens einer Speicherzelle aufweist, wobei die Speicherzelle ein Drain-Gebiet, ein Source-Gebiet, ein Steuer-Gate und ein Floating-Gate aufweist, gekennzeichnet durch:
  • a) eine mit einer Programmierspannungsquelle (VPP) und dem Drain-Gebiet der Speicherzelle gekoppelte Drain-Programmierspannungserzeugungsschaltung zum Bereitstellen einer Drain-Programmierspannung (VDP) an das Dram-Gebiet der Speicherzelle während der Programmierung der Speicherzelle;
  • b) eine mit der Drain-Programmierspannungserzeugungsschaltung gekoppelte Steuerschaltung zum Steuern der Drain- Programmierspannungserzeugungsschaltung derart, daß diese die Drain-Programmierspannung (VDP) veranlaßt, in Bezug auf eine Prozeßänderung oder eine andere Variation, die eine Programmierfähigkeit der Speicherzelle beeinflußt, derart zu variieren, daß die Speicherzelle bei einer vorgegebenen Gate-Programmierspannung für eine vorgegebene Programmierzeit so programmiert wird, daß sie innerhalb eines vorgegebenen Bereichs einer vorgegebenen Schwellenspannung ist, wobei die Steuerschaltung einen Steuerwert speichert, der den Spannungspegel der Drain-Programmierspannung (VDP) bestimmt, wobei der Spannungspegel der Drain-Programmierspannung (VDP) geändert wird, indem der Steuerwert in der Steuerschaltung geändert wird, wobei der Steuerwert geändert werden kann, nachdem der Steuerwert in der Steuerschaltung eingestellt ist.
  • Ferner ist gemäß der vorliegenden Erfindung ein Verfahren zum Einstellen einer Drain-Programmierspannung eines nicht-flüchtigen Speichers vorgesehen, das gekennzeichnet ist durch:
  • a) das Einstellen eines ersten Werts, der einem ersten Spannungspegel der Drain-Programmierspannung (VDP) entspricht;
  • b) das Senden des ersten Werts an eine Drain-Programmierspannungserzeugungsschaltung des nicht-flüchtigen Speichers derart, daß die Drain-Programmierspannungserzeugungsschaltung die Drain-Programmierspannung (VDP) gemäß dem ersten Wert erzeugt;
  • c) das Auswählen einer Mehrzahl von Speicherzellen des nicht-flüchtigen Speichers zum Programmieren, indem die Drain-Programmierspannung (VDP) an die ausgewählte Mehrzahl von Speicherzellen für eine vorgegebene Programmierzeit angelegt wird;
  • d) das Messen einer Schwellenspannung (VT) einer der ausgewählten Speicherzellen nach der Programmierung;
  • e) das Vergleichen der gemessenen Schwellenspannung (VT) mit einer vorgegebenen programmierten Schwellenspannung (VTP) für den nicht-flüchtigen Speicher;
  • f) sofern der Spannungspegel der gemessenen Schwellenspannung (VP) nicht innerhalb eines vorgegebenen Bereichs der vorgegebenen programmierten Schwellenspannung (VTP) liegt, das Ändern der Drain-Programmierspannung (VDP), indem der erste Wert geändert wird und die Schritte b) bis f) wiederholt werden;
  • g) wenn der Spannungspegel der gemessenen Schwellenspannung (VT) sich innerhalb des vorgegebenen Bereichs der vorgegebenen programmierten Schwellenspannung (VTP) befindet, das Speichern des ersten Werts in dem nicht-flüchtigen Speicher, um konstant die Drain-Programmierspannungserzeugungsschaltung so zu steuern, daß sie die Drain-Programmierspannung (VDP) in Übereinstimmung mit dem ersten Wert derart erzeugt, daß der nicht-flüchtige Speicher auf die vorgegebene programmierte Schwellenspannung (VTP) innerhalb der vorgegebenen Programmierzeit programmiert wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung ist beispielsweise und ohne Beschränkung hierauf dargestellt in den Figuren der beglei tenden Zeichnungen, in denen gleiche Bezugszeichen ähnliche Elemente bezeichnen und in welchen:
  • Fig. 1 eine schematische Ansicht einer Floating-Gate- Speicherzelle eines Flash-EPROMs ist;
  • Fig. 2A ein Spannungs-Zeit-Diagramm ist, in welchem die Schwellenspannung der Speicherzelle gemäß Fig. 1 mit Bezug auf die Programmierzeit und die effektive Kanallänge der Speicherzelle dargestellt ist;
  • Fig. 2B ist ein anderes Spannungs-Zeit-Diagramm, das die Schwellenspannung der Speicherzelle gemäß Fig. 1 mit Bezug auf die Programmierzeit und die Drain-Programmierspannung an der Speicherzelle während des Programmierens darstellt;
  • Fig. 3 ist ein Schaltbild einer bekannten Drain-Programmierspannungserzeugungsschaltung für einen Flash-EPROM;
  • Fig. 4 ist ein Blockschaltbild eines Flash-EPROM, der eine Drain-Programmierspannungserzeugungsschaltung, Konfigurationslogik und Konfigurationszellen enthält;
  • Fig. 5 ist ein Blockschaltbild des Flash-EPROM gemäß Fig. 4, verbunden mit einem Testsystem;
  • Fig. 6A und 6B sind Ablaufdiagramme, welche das Verfahren zum Einstellen des Spannungspegels der Drain-Programmierspannung zeigen;
  • Fig. 7 ist ein Schaltbild der Drain-Programmierspannungserzeugungsschaltung gemäß Fig. 4;
  • Fig. 8 ist ein Blockschaltbild der Konfigurationslogik und der Konfigurationszellen gemäß Fig. 4;
  • Fig. 9 ist ein Schaltbild eines anderen Ausführungsbeispiels der Drain-Programmierspannungserzeugungsschaltung gemäß Fig. 4.
  • DETAILBESCHREIBUNG
  • Fig. 4 ist ein Blockschaltbild von Flash-EPROM 40, der eine Drain-Programmierspannungserzeugungsschaltung 50 und eine Konfigurationslogik 51 aufweist. Flash-EPROM 40 enthält ein Speicher-Array 41, das aus Floating-Gate-Flash-EPROM- Zellen aufgebaut ist, die an Adressen Daten speichern. Bei einem Ausführungsbeispiel speichert das Speicher-Array 41 8 Megabits an Daten. Bei einem anderen Ausführungsbeispiel speichert das Speicher-Array 41 16 Megabits an Daten. Bei alternativen Ausführungsbeispielen können Speicher-Arrays 41 kleiner oder größer sein. Flash-EPROM 40 kann bei verschiedenen Typen von Computersystemen verwendet werden.
  • Wie weiter unten genauer beschrieben werden wird, wird die Drain-Programmierspannung zum Programmieren von Speicherzellen des Flash-EPROM 40 nach Fabrikation ausgewählt, um zu helfen, große Schwankungen in Programmierzeiten und programmierten Schwellenspannungen zwischen Flash-EPROM 40 und anderen Flash-EPROMs zu vermeiden.
  • Die Programmierfähigkeit von Flash-EPROM 40 wird zunächst nach der Herstellung von Flash-EPROM 40 gemessen. Die Drain-Programmierspannung wird danach entsprechend der gemessenen Programmierfähigkeit von Flash-EPROM 40 derart eingestellt, daß Flash-EPROM 40 auf eine vorgegebene programmierte Schwellenspannung bei einer vorgegebenen Gate- Programmierspannung für eine vorgegebene Programmierzeit programmiert wird.
  • Bei einem Ausführungsbeispiel speichert jede der Speicherzellen im Speicher-Array 41 ein einziges Datenbit zu einem Zeitpunkt. Bei einem anderen Ausführungsbeispiel speichert jede der Speicherzellen im Speicher-Array 41 Mehrfach- Daten-Bits gleichzeitig. Bei einem Ausführungsbeispiel befindet sich die Schaltung des Flash-EPROM 40 gemäß Fig. 4 auf einem einzigen Substrat und verwendet CMOS-Schaltung.
  • Flash-EPROM 40 weist einen X-Decodierer 42 und einen Y- Decodierer 43 auf, die mit dem Speicher-Array 41 gekoppelt sind. X-Decodierer 42 ist der Zeilendecodierer für das Speicher-Array 41, und Y-Decodierer 43 ist der Spaltendecodierer für Speicher-Array 41.
  • Flash-EPROM 40 weist auch eine chip-eigene Steuerschaltung 46 auf, welche die Speicheroperationen des Flash-EPROM 40 steuert. Steuerschaltung 46 weist ein Adreßlatch zum Verriegeln der von einer (nicht gezeigten) externen Schaltung über Bus 60 an X- und Y-Decodierer 42 und 43 angelegten Adressen auf. Steuerschaltung 46 weist auch mit dem Speicher-Array 41 über Bus 61 und Y-Torschaltung 44 gekoppelte Datenpuffer zum Puffern der vom Speicher-Array 41 gelesenen Daten oder der in das Speicher-Array 41 an Adressen zu programmierenden Daten auf. Ferner weist Steuerschaltung 46 auch eine Schreibzustandsschaltung und eine Befehlszustandsschaltung auf. Die Schreibzustandsschaltung schaltet Flash- EPROM 40 durch mehrstufige Sequenzen, um Speicher-Array 41 mit nur einem auslösenden Befehl von der externen Schaltung aus zu programmieren oder zu löschen. Die Befehlszustandsschaltung decodiert jeden erhaltenen Befehl und erzeugt die richtigen Steuersignale für die Schreibzustandsschaltung.
  • Steuerschaltung 46 ist so angeordnet, daß sie externe Adressen über Adreßbus 62 und Daten und Befehle über Datenbus 63 erhält. Steuerschaltung 46 legt auch Daten an die externe Schaltung über Datenbus 63 an. Steuerschaltung 46 erhält ein Chip-Aktivierungssignal , ein Ausgabeaktivierungssignal und ein Schreibaktivierungssignal . Das Chip-Aktivierungssignal wird zur Bauelemeritenauswahl von Flash-EPROM 40 verwendet. Das Ausgabeaktivierungssignal ist die Ausgabesteuerung für Flash-EPROM 40 in Abhängigkeit von der Bauelementenauswahl. Das Schreibaktivierungssignal ermöglicht ein Schreiben zum Steuern der Schaltung 46, während das Chip-Aktivierungssignal aktiv niedrig ist.
  • Steuerschaltung 46 ist auch mit einem -Pin gekoppelt. Der -Pin liefert ein Abschalt-Steuersignal an die Steuerschaltung 46. Das Abschalt-Steuersignal ist ein aktiv niedriges Signal, welches bewirkt, daß der Flash-EPROM 40 in den Abschaltmodus eintritt. Flash-EPROM 40 kehrt zu den nor malen Operationsmoden zurück, wenn das aktive -Signal unterbrochen wird.
  • Steuerschaltung 46 weist auch eine Testmodusschaltung 47 auf. Testmodusschaltung 47 bewirkt, daß Flash-EPROM 40 in den Testmodus eintritt, wenn eine hohe Spannung von angenähert 12 Volt an den -Pin des Flash-EPROMs angelegt wird. Im Testmodus können eine Reihe von Tests durchgeführt werden, um zu bestimmen, ob Flash-EPROM 40 seine Bauelementenspezifikationen erfüllt. Wie in Fig. 5 gezeigt ist, dient ein externes Testsystem 85 zur Steuerung der Testschaltung 46 zum Konfigurieren von Flash-EPROM 40 während der und nach den Tests.
  • Flash-EPROM 40 weist auch eine Drain-Programmierspannungserzeugungsschaltung 50 und eine Konfigurationslogik 51 auf. Drain-Programmierspannungserzeugungsschaltung 50 erzeugt eine Drain-Programmierspannung VDP, die an das Drain von ausgewählten Speicherzellen des Speicher-Array 41 während des Programmierens angelegt wird. Nach der Herstellung von Flash-EPROM 40, jedoch vor der Auslieferung an den Endbenutzer, wird die Konfiguration zur Logik 51 zum Einstellen des Spannungspegels der von der Schaltung 50 erzeugten Drain-Programmierspannung VDP verwendet.
  • Prozeßvariationen und andere Schwankungen von Flash- EPROM zu Flash-EPROM führen zu Unterschieden in Programmierfähigkeiten zwischen Flash-EPROMs. Verschiedene Spannungspegel der Drain-Programmierspannung VDP können die Wirkung haben, (1) die anderenfalls schnellen Programmierzellen zu verlangsamen oder (2) die anderenfalls langsamen Programmierzellen schneller zu machen. Durch Auswahl einer Ziel- Programmierzeit und einer Ziel-Programmierschwellenspannung und danach Verwendung der Spannungserzeugungsschaltung 50 und der Konfigurationslogik 51 zum Erzeugen und Auswählen einer geeigneten Drain-Programmierspannung VDP für Flash- EPROM 40 können die tatsächliche Programmierzeit und die programmierte Schwellenspannung des Flash-EPROM 40 eng an die Ziel-Programmierzeit und die Ziel-Programmierschwellenspannung angenähert werden. Dies trägt dazu bei, sicherzustellen, daß die Abweichung von der Ziel-Programmierfähigkeit des Flash-EPROM 40 kompensiert wird. Dieses Verfahren hilft bei Anwendung auf einen Produktionsablauf von Flash- EPROMs, die Unterschiede in der Programmierfähigkeit unter den Flash-EPROMs zu minimieren. Mit anderen Worten, die Programmierzeiten und die Programmierschwellenspannungen der Flash-EPROMs werden einheitlicher und enger der Ziel-Programmierzeit und der Ziel-Programmierschwellenspannung angenähert.
  • Flash-EPROM 40 weist auch Konfigurationszellen 45 auf. Konfigurationszellen 45 sind peripher zum Speicher-Array 41 angeordnet. Konfigurationslogik 51 und Spannungserzeugungsschaltung 50 bewirken in Verbindung mit Konfigurationszellen 45, daß eine Drain-Programmierspannung VDP für Flash-EPROM 40 ausgewählt wird. Jede der Konfigurationszellen 45 ist eine CAM-Zelle.
  • Flash-EPROM 40 weist auch andere Konfigurationszellen (nicht gezeigt) zusätzlich zu den Konfigurationszellen 45 auf.
  • VPP ist die Programmier/Lösch-Versorgungsspannung für Flash-EPROM 40. VPP ist auch mit der Drain-Programmierspannungserzeugungsschaltung 50 gekoppelt. Vcc ist die Bauelemente-Spannungsversorgung für Flash-EPROM 40, VSS ist Erde. Bei einem Ausführungsbeispiel ist VPP etwa 12,0 Volt und VCC angenähert 5,0 Volt. Die Speicheroperationen des Flash-EPROM 40 umfassen Lesen, Programmieren und Löschen.
  • Nach der Herstellung von Flash-EPROM 40, jedoch vor dessen Auslieferung an den Endverbraucher, wird Flash-EPROM 40 mit Testsystem 85 verbunden, um die richtige Drain-Programmierspannung VDP gemäß Darstellung in Fig. 5 zu bestimmen. Testsystem 85 ist ein Computergesteuertes Testsystem. Testsystem 85 läßt Flash-EPROM 40 in den Testmodus eintreten. Testsystem 85 sendet die gleichen Befehle, Adressen und Daten an Flash-EPROM 40 über Busse 62-63, um die richtige Drain-Programmierspannung VDP für Flash-EPROM 40 zu bestimmen. Das Verfahren zum Bestimmen und Einstellen der richtigen Drain-Programmierspannung VDP wird durch ein Softwareprogramm implementiert, welches in dem Testsystem 85 ausgeführt wird.
  • Nachdem das Testsystem 85 den Eintritt des Flash-EPROM 40 in den Testmodus bewirkt hat, beginnt, wie in den Fig. 6A und 6B gezeigt ist, der Prozeß mit Schritt 101, bei dem das Testsystem 85 die maximale programmierte Schwellenspannung VTPMAX und die minimale programmierte Schwellenspannung VTPMIN für den Flash-EPROM 40 einstellt. Die VTPMAX-Spannung stellt die höchste programmierte Schwellenspannung dar, die für den Flash-EPROM 40 zulässig ist. Die VTPMIN-SPannung stellt die für Flash-EPROM 40 niedrigste zulässige programmierte Schwellenspannung dar. Durch Einstellen der VTPMAX und VTPMIN-Spannung wird ein Spannungsfenster geschaffen, welches der aktuellen programmierten Schwellenspannung VT des Flash- EPROM 40 ein Spannungsfenster zur Änderung innerhalb dieses Spannungsfensters zur Verfügung stellt. Bei einem Ausführungsbeispiel ist die VTPMAX-Spannung auf 6,8 Volt und die VTPMIN-Spannung auf 6,0 Volt eingestellt.
  • Die programmierte Schwellenspannung VT sollte wenigstens etwa 5,0 Volt sein. Um Flash-EPROM 40 vor Alterung zu schützen, sollte die anfänglich programmierte Schwellenspannung höher als 5,0 Volt eingestellt sein. Alterung bedeutet, daß die programmierte Schwellenspannung VT während der Lebensdauer von Flash-EPROM 40 abfallen kann.
  • Das durch die VTPMAX und VTPMIN-Spannung definierte Spannungsfenster wird gebildet, um der tatsächlich programmierten Schwellenspannung der Speicherzellen des Flash-EPROM 40 einen Variationsbereich zur Verfügung zu stellen. Dies geschieht, da die Programmierfähigkeit von einer Speicherzelle zur anderen Speicherzelle innerhalb des einen Flash- EPROM 40 schwanken kann.
  • Der Spannungspegel der VTPMAX-Spannung wird so gewählt, daß sie die Speicherzellen beim Programmieren nicht überlastet. Der Spannungspegel der VTPMIN-Spannung wird so gewählt, daß sie nicht dazu führt, daß die programmierten Speicherzellen als gelöschte Zellen mißverstanden werden.
  • Testsystem 85 stellt danach im Schritt 102 die Gate-Programmierspannung VIP auf einen vorgegebenen Wert. Nach einem Ausführungsbeispiel wird die Gate-Programmierspannung VGP auf angenähert 12 Volt eingestellt. Testsystem 85 stellt dann die Programmierzeit TP für Flash-EPROM 40 im Schritt 103 auf einen vorgegebenen Wert ein.
  • Bei einem Ausführungsbeispiel ist die Programmierzeit TP innerhalb eines Bereichs von zwei Mikrosekunden bis drei Mikrosekunden eingestellt. Bei einem alternativen Ausführungsbeispiel kann die Programmierzeit TP innerhalb eines Bereichs zwischen vier Mikrosekunden und sechs Mikrosekunden eingestellt sein.
  • Testsystem 85 bewirkt, daß die Drain-Programmierspannungserzeugungsschaltung 50 im Schritt 104 die Drain-Programmierspannung VDP über Konfigurationslogik 51 erzeugt. Testsystem 85 steuert Konfigurationslogik 51, um den Spannungspegel der von der Drain-Programmierspannungserzeugungsschaltung 50 erzeugten VDP-Spannung einzustellen. Das System 85 greift über Steuerschaltung 46 und Bus 65 auf Konfigurationslogik 51 zu, um die Einstellung des Spannungspegels der VDP-Spannung zu steuern. Die VDP-Spannung kann auf verschiedenen Spannungspegeln eingestellt werden. Die Spannungspegel der VDP-Spannung können gleichmäßig oder ungleichmäßig verteilt eingestellt sein.
  • Bei einem Ausführungsbeispiel ist die VDP-Spannung auf vier unterschiedliche Spannungspegel eingestellt. Bei diesem Ausführungsbeispiel ist der niedrigste Spannungspegel der VDP-Spannung auf 5,1 Volt eingestellt. Der zweite Spannungspegel der VDP-Spannung ist auf 5,6 Volt eingestellt. Die Differenz in den Spannunsgpegeln beträgt 0,5 Volt. Der drit te Spannungspegel der VDP-Spannung wird auf 5,8 Volt eingestellt. Die Differenz in den Spannungspegeln beträgt 0,2 Volt. Der vierte Spannungspegel VDP-Spannung ist auf 6,2 Volt eingestellt. Die Differenz der Spannungspegel ist 0,4 Volt. Die ungleichen Schritte der Spannungspegel ermöglichen ein rasches Hochfahren auf die wahrscheinlichsten Spannungspegel mit einer Feinauflösung für die Programmierzeit TP. Bei einem alternativen Ausführungsbeispiel können die vier Spannungspegel der VDP-Spannung in gleichmäßigen Schritten von 5,1 Volt bis 6,2 Volt eingestellt werden.
  • Bei einem anderen Ausführungsbeispiel kann die VDP-Spannung auf acht verschiedene Spannungsniveaus eingestellt werden. Bei einem weiteren Ausführungsbeispiel kann die VDP- Spannung auf 16 unterschiedliche Spannungspegel eingestellt werden. Bei einem wiederum anderen Ausführungsbeispiel können die unterschiedlichen Spannungspegel der VDP-Spannung von 5,2 Volt bis 6,6 Volt eingestellt werden. Je mehr Spannungspegel die VDP-Spannung hat, um so feiner kann die Auflösung der Programmierzeit Tp sein.
  • Anfänglich bewirkt das Testsystem 85, daß die Konfigurationslogik 51 im Schritt 104 beim höchsten Spannungspegel der VDP-Spannung beginnt. Bei diesem Schritt sendet das Testsystem 85 einen dem höchsten Spannungswert der VDP-Spannung zugehörigen Steuerwert an Konfigurationslogik 51 über Steuerschaltung 46 und Bus 65. Konfigurationslogik 51 steuert dann die Drain-Programmierspannungserzeugungsschaltung 50 derart, daß sie eine VDP-Spannung entsprechend dem Steuerwert in Konfigurationslogik 51 generiert. Bei einem anderen Ausführungsbeispiel bewirkt das Testsystem 85 im Schritt 104, daß die Konfigurationslogik 51 bei dem niedrigsten Spannungspegel der VDP-Spannung beginnt.
  • Im Schritt 105 wählt Testsystem 85 eine Zeile von Speicherzellen im Speicher-Array 41 des Flash-EPROM 40 zum Programmieren aus. Testsystem 85 wählt die Zeile aus. Bei einem Ausführungsbeispiel enthält eine Speicherzeile im Speicher- Array 41 des Flash-EPROM 40 8. 192 ("8K") Speicherzellen.
  • Testsystem 85 wählt die Speicherzeilen zum Einstellen der Drain-Programmierspannurig VDP während eines Bauelementen-Charakterisierungsprozesses von Flash-EPROM 40 aus. Mit anderen Worten, die ausgewählten Zeilen sind bei diesem Prozeß vorselektierte Zeilen. Diese vorselektierten Zeilen, die bei dem Bauelementen-Charakterisierungsprozeß ausgewählt werden, stellen die Array-Verteilung von Speicher-Array 41 dar.
  • In Schritt 106 bestimmt Testsystem 85, ob die ausgewählte Zeile des Speicher-Array 41 eine unprogrammierte Zeile ist. Wenn die ausgewählte Zeile keine unprogrammierte Zeile ist, so geht das Testsystem 85 zum Schritt 117, bei dem Flash-EPROM 40 ausgesondert wird.
  • Bei einem alternativen Ausführungsbeispiel kann die ausgewählte Zeile eine leicht programmierte Zeile sein.
  • Wenn die ausgewählte Zeile im Schritt 106 eine unprogrammierte Speicherzeile ist, so rückt der Prozeß zum Schritt 107 weiter, bei dem Testsystem 85 Steuerschaltung 46 veranlaßt, die ausgewählte Speicherzeile zu programmieren. Testsystem 85 bewirkt, daß die vorgegebene Gate-Programmierspannung VGP an das Gate der ausgewählten Zeile angelegt wird. Testsystem 85 steuert die Steuerschaltung 46, um die an das Gate der ausgewählten Zeile anzulegen. Testsystem 85 bewirkt auch, daß die von der Drain-Programmierspannungserzeugungsschaltung 50 erzeugte VDP-Spannung an das Drain der Speicherzellen der ausgewählten Zeile angelegt wird. Wie oben beschrieben, wird der Spannungspegel der Drain-Programmierspannung VDP vom Testsystem 85 über Konfigurationslogik 51 eingestellt. Testsystem 85 triggert dann Steuerschaltung 46 des Flash-EPROM 40, um die Programmieroperation der ausgewählten Zeile für die vorgegebene Zeit TP zu steuern. Testsystem 85 bewirkt, daß die Steuerschaltung 46 das Programmieren der ausgewählten Zeile für die vorgegebene Pro grammierzeit TP steuert. Steuerschaltung 46 tut dies durch Änderung der Pulsbreite der VGP und VDP-Spannungen, die an der ausgewählten Zeile angelegt werden. Die Programmieroperation endet dann am Ende der vorgegebenen Programmierzeit TP. Die vorgegebene Programmierzeit TP wird in der Steuerschaltung 46 gespeichert.
  • Im Schritt 108 stellt Testsystem 85 über Steuerschaltung 46 die programmierte Schwellenspannung VT jeder der Speicherzellen der ausgewählten Zeile fest. Testsystem 85 bestimmt die höchste Schwellenspannung VTH und die niedrigste Schwellenspannung VTL unter den programmierten Speicherzellen der ausgewählten Zeile. Im Schritt 109 vergleicht Testsystem 85 die VTH-Spannung mit der maximalen programmierten Schwellenspannung VTPMAX. Testsystem 85 vergleicht auch die VTL-Spannung mit der minimalen programmierten Schwellenspannung VTPMIN.
  • Im Schritt 110 bestimmt Testsystem 85, ob die VTL und TTH-Spannungen innerhalb des von den VTPMAX und VTPMIN-Spannungen definierten Spannungsfensters liegen. Wenn die VTH und VTL-Spannungen innerhalb des Spannungsfensters von VTPMAX und VTPMIN-Spannungen liegen, so geht der Prozeß über in den Schritt 120, bei dem der Steuerwert in Konfigurationslogik 51 (der den Spannungspegel der VDP-Spannung bestimmt) dann in Konfigurationszellen 45 gespeichert wird. Der Prozeß endet dann mit dem Schritt 121.
  • Wie am besten aus Fig. 4 zu sehen ist, sind Konfigurationszellen 45 über Bus 64 mit Konfigurationslogik 51 gekoppelt. Konfigurationszellen 45 speichern den Steuerwert in einer nicht-flüchtigen Weise. Konfigurationszellen 45 sind für den Endbenutzer transparent und können nur vom Testsystem 85 zugegriffen werden.
  • Durch Speichern des Steuerwerts in Konfigurationszellen 45 wird die Drain-Programmierspannungsserzeugungsschaltung 50 konstant gesteuert, um die VDP-Spannung auf dem vom Steuerwert bestimmten Spannungspegel zu erzeugen, nachdem Flash- EPROM 40 den Testmodus verlassen hat. Dies gewährleistet, daß die Drain-Programmierspannung VDP geeignet auf die Programmierfähigkeit der Speicherzellen von Flash-EPROM 40 zugeschnitten ist.
  • Wenn im Schritt 110 festgestellt wird, daß die VTH und VTL-Spannungen nicht innerhalb des von den VTPMAX und VTPMIN- Spannungen definierten Spannungsfensters liegen, so bewegt sich Testsystem 85 zum Schritt 111, bei dem eine andere Beurteilung getroffen wird, um festzustellen, ob die VTL- Spannung niedriger als die VTPMIN-Spannung und die VTH-Spannung höher als die VTPMAX-Spannung ist. Ist dies der Fall, so wird Flash-EPROM 40 im Schritt 117 als defekt bezeichnet. Ist dies nicht der Fall, so läuft der Prozeß zum Schritt 112 weiter, bei dem Testsystem 85 bestimmt, ob die VTL-Spannung höher als die VTPMIN-Spannung und die VTH-Spannung höher als die VTPMAX-Spannung ist. Ist dies beim Schritt 117 nicht der Fall, so wird Flash-EPROM 40 als defekt gekennzeichnet.
  • Wenn im Schritt 112 die VTL-Spannung und die VTH-Spannung höher als die VTPMIN-Spannung bzw. die VTPMAX-Spannung festgestellt wird, bewegt sich der Prozeß zum Schritt 115, bei dem die VDP-Spannung mit der VDPMIN-Spannung verglichen wird. Die VDPMIN-Spannung ist der niedrigste Spannungspegel, der für die VDP-Spannung eingestellt ist. Wenn im Schritt 115 die VDP-Spannung gleich der VDPMIN-Spannung ist, so wird im Schritt 117 Flash-EPROM 40 als defekt bezeichnet. Ist dies nicht der Fall, so wird die VDP-Spannung im Schritt 116 auf den nächsten Spannungspegel für die VDP-Spannung vermindert, und Schritt 105 wird der nächste Schritt zur Wiederholung des Prozesses, bis die richtige VDP-Spannung für Flash-EPROM 40 gefunden worden ist.
  • Fig. 7 zeigt die Schaltungsanordnung der Drain-Programmierspannungserzeugungsschaltung 70 gemäß einem Ausführungsbeispiel der Drain-Programmierspannungserzeugungsschaltung 50 gemäß Fig. 4. Fig. 7 zeigt auch eine Flash-EPROM-Zelle 81, mit der Schaltung 70 über einen Ladetransistor 80 gekop pelt ist. Flash-EPROM-Zelle 81 ist eine der Speicherzellen des Speicher-Array 41 gemäß Fig. 4. Ladetransistor 80 ist auch mit der Programmierspannung VDP gekoppelt. Ladetransistor 80 ist ein N-Kanal-Transistor. Das Gate des Ladetransistors 80 ist mit einem Ausgangsknoten 70a der Drain-Programmierspannungserzeugungsschaltung 70 zur Aufnahme einer Gate- Spannung VPN verbunden. Die Gate-Spannung VPN steuert den Ladetransistor 80 zum Anlegen der Drain-Programmierspannung VDP an das Drain-Gebiet der Zelle 81 während des Programmierens. Der Spannungspegel der VDP-Spannung ist daher gleich demjenigen der VPN-Spannung minus der Schwellenspannung des Ladetransistors 80. Daher folgt die VDP-Spannung der VPN- Spannung.
  • Die Drain-Programmierspannungserzeugungsschaltung 70 enthält (1) eine von P-Kanal-Transistoren 71-72 und 75-77 gebildete Stromspiegelschaltung, (2) eine von N-Kanaltransistoren 73 und 74 gebildete Source-Folgerschaltung und (3) eine von einem P-Kanaltransistor 78 und drei zueinander parallel geschalteten P-Kanaltransistoren 79a bis 79c gebildete Spannungseinstellschaltung. Das Source jedes der Transistoren 79a-79c ist mit dem Drain des Transistors 78 gekoppelt. Das Drain jedes der Transistoren 79a-79c ist mit Erde gekoppelt. Jeder der Transistoren 79a-79c ist gateseitig mit einem von drei Auswahlsignalen SEL1 bis SEL3 beaufschlagt. Die Auswahlsignale SEL1-SEL3 schalten ihre zugehörige Transistoren 79a-79c ein oder aus. Die Auswahlsignale werden von Konfigurationslogik 51 in Fig. 4 angelegt.
  • Die von Transistoren 71-72 und 75-77 gebildete Stromspiegelschaltung ist mit der VPP-Spannung und Erde gekoppelt und erzeugt einen I&sub2;-Strom, der über die Source-Folgerschaltung aus Transistoren 73-74 an die Spannungseinstellschaltung aus Transistoren 78-79c angelegt wird. Die Stärke des I&sub2;-Stroms ist eine Funktion eines I&sub2;-Stroms, der durch Transistoren 75-77 fließt. Die Stärke des I&sub1; hängt Von der Größe der Transistoren 75-77 ab. Wie in Fig. 7 zu sehen ist, ist jeder der Transistoren 75-77 so geschaltet, daß er in der Schaltung als ein Widerstand wirkt. Wenn der I&sub1;-Strom genau eingestellt ist, ist auch der von der Stromspiegelschaltung erzeugte I&sub2;-Strom genau eingestellt. Transistoren 75-77 sind konstant durchgeschaltet.
  • Wie oben beschrieben, hängt der I&sub1;-Strom von der Größe der Transistoren 75-77 ab. Durch Einstellen der Größe der Transistoren 75-77 während der Fabrikation kann der I&sub1;-Strom daher geändert werden. Daher wirken Transistoren 75-77 als eine Stromeinstellschaltung der Stromspiegelschaltung.
  • Wie oben beschrieben, weist die Source-Folgerschaltung der Schaltung 70 N-Kanal-Transistoren 73-74 auf. Das Drain des Transistors 73 ist mit der VPP-Spannung, dessen Source mit dem Ausgangsknoten 70a und dessen Gate mit dem Drain von Transistor 73 der Stromspiegelschaltung gekoppelt. Das Drain von Transistor 74 ist mit dem Gate von Transistor 73, dessen Source mit der Spannungseinstellschaltung und dessen Gate mit dem Ausgangsknoten 70a gekoppelt. Die Funktion der Source-Folgerschaltung aus Transistoren 73-74 ist es, eine positive Rückkopplungsschleife für den Ausgangsknoten 70a bereitzustellen, welche den Spannungspegel der VPM-Spannung am Ausgangsknoten 70a rasch lädt und auf den Spannungspegel stellt, der von den durchgeschalteten der Transistoren 78- 79c plus der Schwellenspannung von Transistor 74 eingestellt ist.
  • Wie in Fig. 7 zu sehen ist, werden Transistoren 79a-79c selektiv von den SEL1-SEL3-Signalen durchgeschaltet, um den Spannungspegel der an Flash-EPROM-Zelle 81 angelegten VDP- Spannung einzustellen. Einer der Vorteile der Schaltung besteht darin, daß sie die effektive Kanallänge der Speicherzellen des Flash-EPROM 40 nicht zu kennen braucht.
  • Fig. 8 ist ein Blockschaltbild der Kombination aus Konfigurationszellen 45 und Konfigurationslogik 51. In Fig. 8 enthalten Konfigurationszellen 45 die Konfigurationszellen 45a bis 45b. Konfigurationslogik 51 weist Konfigurations register 51a-51c und Multiplexer 51d-51f auf. Konfigurationsregister 51a und Konfigurationszelle 45b sind mit Multiplexer 51d gekoppelt. Konfigurationsregister 51b und Konfigurationszelle 45c sind mit Multiplexer 51e und Konfigurationsregister 51c und Konfigurationszelle 45d sind mit Multiplexer 51f gekoppelt. Multiplexer 51d-51f erzeugen die SEL1-SEL3-Auswahlsignale, die an die Gates von Transistoren 79a-79c der Drain-Programmierspannungserzeugungsschaltung 70 angelegt werden. Konfigurationszelle 45a steuert die Auswahl der SEL1-SEL3-Signale entweder der Konfigurationsregister 51-51c oder Konfigurationszellen 45b-45d. Nach der Herstellung von Flash-EPROM 40 sind alle Konfigurationszellen 45a- 45d in gelöschtem Zustand. Dies bewirkt, daß jeder der Multiplexer 51d-51f den Ausgang seines entsprechenden Konfigurationsregisters 51a-51c als sein Ausgangssignal wählt. Auf Konfigurationsregister 51a-51c wird von dem Testsystem 85 (Fig. 5) über Steuerschaltung 46 während des Testmodus von Flash-EPROM 40 zugegriffen, um den Spannungspegel VDP-Spannung einzustellen. Testsystem 85 sendet den Steuerwert, der bewirkt, daß Drain-Programmierspannungserzeugungsschaltung 50 die VDP-Spannung in Abhängigkeit von dem Steuerwert erzeugt. Der Steuerwert wird dann angelegt, um zu SEL1-SEL3- Signalen von Konfigurationsregistern Ela-51c zu werden. Wenn die geeignete VDP-Spannung erzeugt wird, wird der Steuerwert in Konfigurationszellen 45b-45d eingespeichert. Konfigurationszelle 45a ist dann so programmiert, daß sie jedem der Multiplexer 51d-51f die entsprechende der Konfigurationszellen 45b-45d als seinen Ausgang auswählt. Wenn nicht, wird der Steuerwert in Registern 51a-51c vom Testsystem 85 (Fig. 5) eingestellt, das bewirkt, daß die VDP-Spannung wieder erzeugt wird, bis der richtige Spannungspegel der VDP-Spannung bestimmt wird. Der Steuerwert ist ein 3-Bit-Binärwert.
  • Fig. 9 zeigt eine Drain-Programmierspannungserzeugungsschaltung 130, welche eine andere Ausführungsform der Drain- Programmierspannungerzeugungsschaltung 50 ist. Wie aus Fig. 7 und 9 zu sehen ist, ist Schaltung 130 ähnlich derjenigen der Schaltung 70 ausgebildet; mit der Ausnahme, daß vier Transistoren 140a bis 140d in Schaltung 130 parallelgeschaltet sind. Dies ermöglicht der Drain-Programmier-Spannungserzeugungsschaltung 130, zusätzliche Spannungspegel von VDP zu erzeugen.

Claims (12)

1. Ein auf einem einzelnen Substrat befindlicher nichtflüchtiger Speicher, der ein Speicher-Array (41) mit wenigstens einer Speicherzelle enthält, wobei die Speicherzelle ein Drain-Gebiet, ein Source-Gebiet, ein Steuer-Gate und ein Floating-Gate aufweist, gekennzeichnet durch:
a) eine mit einer Programmierspannungsquelle (VPP) und dem Drain-Gebiet der Speicherzelle gekoppelte Drain-Programmierspannungserzeugungsschaltung (50) zum Bereitstellen einer Drain-Programmierspannung (VDP) an das Drain-Gebiet der Speicherzelle während der Programmierung der Speicherzelle;
b) eine mit der Drain-Programmierspannungserzeugungsschaltung (50) gekoppelte Steuerschaltung (46) zum Steuern der Drain-Programmierspannungserzeugungsschaltung derart, daß diese die Drain-Programmierspannung (VDP) veranlaßt, in Bezug auf eine Prozeßänderung oder eine andere Variation, die eine Programmierfähigkeit der Speicherzelle beeinflußt, derart zu variieren, daß die Speicherzelle bei einer vorgegebenen Gate-Programmierspannung für eine vorgegebene Programmierzeit so programmiert wird, daß sie innerhalb eines vorgegebenen Bereichs einer vorgegebenen Schwellenspannung ist, wobei die Steuerschaltung (46) einen Steuerwert speichert, der den Spannungspegel der Drain-Programmierspannung (VDp) bestimmt, wobei der Spannungspegel der Drain-Programmierspannung (VDP) geändert wird, indem der Steuerwert in der Steuerschaltung (46) geändert wird, wobei der Steuerwert geändert werden kann, nachdem der Steuerwert in der Steuerschaltung (46) eingestellt ist.
2. Der nicht-flüchtige Speicher nach Anspruch 1, wobei die Drain-Programmierspannungs-Erzeugungsschaltung (50, 70) ferner eine Spannungseinstellschaltung (78-79c) zum Einstellen des Spannungspegels der Drain-Programmierspannung (VDP) in Übereinstimmung mit dem Steuerwert aufweist, wobei die Span nungseinstellschaltung so eingekoppelt ist, daß sie den Steuerwert aus der Steuerschaltung (47) empfängt.
3. Der nicht-flüchtige Speicher nach Anspruch 2, wobei die Spannungseinstellschaltung (78-79c) der Drain-Programmierspannungserzeugungsschaltung (50, 70) ferner eine Mehrzahl von Transistoren (79a-79c) aufweist, die parallel geschaltet sind, wobei jeder der Mehrzahl von Transistoren ein mit der Steuerschaltung gekoppeltes Gate aufweist, wobei die Steuerschaltung selektiv eine bestimmte Kombination der Mehrzahl von Transistoren gemäß dem Steuerwert aus der Steuerschaltung einschaltet.
4. Der nicht-flüchtige Speicher nach Anspruch 3, ferner aufweisend:
i) eine mit der Programmierspannungsquelle (VPP) gekoppelte Stromspiegelschaltung (71-72, 75-77) zum Bereitstellen eines im wesentlichen konstanten ersten Stromes;
ii) eine mit 1) der Programmierspannungsquelle (VPP), 2) der Stromspiegelschaltung (71-72, 75-77), 3) der Spannungseinstellschaltung (78-79c) und 4) einem Ausgang (70a) der Drain-Programmierspannungserzeugungsschaltung (50, 70) gekoppelte Source-Folger-Schaltung (73-74) zum Bereitstellen des ersten Stroms an die Spannungseinstellschaltung und zum Ändern und Einstellen des Ausgangsknotens (70a) der Drain- Programmierspannungserzeugungsschaltung (50, 70) auf die Drain-Programmierspannung (VDP), wobei die Source-Folger- Schaltung (73-74) als positive Rückkopplungsschleife dient, um ein schnelles Aufladen des Ausgangsknotens (70a) auf die Drain-Programmierspannung (VDP) zu unterstützen.
5. Der nicht-flüchtige Speicher nach Anspruch 1, wobei die Speicherzelle eine elektrisch löschbare und elektrisch programmierbare Nur-Lese-Speicherzelle ist.
6. Der nicht-flüchtige Speicher nach Anspruch 1, wobei die Speicherzelle eine Mehrzahl von Datenbits gleichzeitig speichern kann.
7. Der nicht-flüchtige Speicher nach Anspruch 1, wobei der vorgegebene Bereich etwa 1 Volt ist.
8. Ein Verfahren zum Einstellen einer Drain-Programmierspannung eines nicht-flüchtigen Speichers, gekennzeichnet durch:
a) das Einstellen eines ersten Werts (104), der einem ersten Spannungspegel der Drain-Programmierspannung (VDP) entspricht;
b) das Senden des ersten Werts an eine Drain-Programmierspannungserzeugungsschaltung (50) des nicht-flüchtigen Speichers derart, daß die Drain-Programmierspannungserzeugungsschaltung (50) die Drain-Programmierspannung (VDP) gemäß dem ersten Wert erzeugt;
c) das Auswählen einer Mehrzahl von Speicherzellen des nicht-flüchtigen Speichers zum Programmieren, indem die Drain-Programmierspannung (VDP) an die ausgewählte Mehrzahl von Speicherzellen für eine vorgegebene Programmierzeit (107) angelegt wird;
d) das Messen einer Schwellenspannung (VT) einer der ausgewählten Speicherzellen nach der Programmierung (108);
e) das Vergleichen der gemessenen Schwellenspannung (VT) mit einer vorgegebenen programmierten Schwellenspannung (VTP) für den nicht-flüchtigen Speicher (109)
f) sofern der Spannungspegel der gemessenen Schwellenspannung (VP) nicht innerhalb eines vorgegebenen Bereichs der vorgegebenen programmierten Schwellenspannung (VTP) liegt, das Ändern der Drain-Programmierspannung (VDP), indem der erste Wert geändert wird und die Schritte b) bis f) wiederholt werden (116, 100a);
g) wenn der Spannungspegel der gemessenen Schwellenspannung (VT) sich innerhalb des vorgegebenen Bereichs der vorgegebenen programmierten Schwellenspannung (VTP) befindet, das Speichern des ersten Werts in dem nicht-flüchtigen Speicher, um konstant die Drain-Programmierspannungserzeugungsschaltung (50) so zu steuern, daß sie die Drain-Programmierspannung (VDP) in Übereinstimmung mit dem ersten Wert derart erzeugt, daß der nicht-flüchtige Speicher auf die vorgegebene programmierte Schwellenspannung (VTP) innerhalb der vorgegebenen Programmierzeit (120) programmiert wird.
9. Das Verfahren nach Anspruch 8, ferner umfassend den Schritt des selektiven Einschaltens einer bestimmten Kombination der Mehrzahl von Transistoren (79a-79c) einer Spannungseinstellschaltung (78-79c) der Drain-Programmierspannungserzeugungsschaltung (50, 70) in Übereinstimmung mit dem ersten Wert derart, daß die Drain-Programmierspannungserzeugungsschaltung (50) die Drain-Programmierspannung (VDP) in Übereinstimmung mit dem ersten Wert erzeugt.
10. Das Verfahren nach Anspruch 8, wobei der nicht-flüchtige Speicher ein elektrisch löschbarer und elektrisch programmierbarer Nur-Lese-Speicher (40) ist.
11. Das Verfahren nach Anspruch 8, wobei der vorgegebene Bereich ungefähr 1 Volt ist.
12. Ein nicht-flüchtiger Speicher nach Anspruch 1, wobei die Drain-Programmierspannungserzeugungsschaltung (50, 70) einen steuerbaren Widerstand aufweist, der in Übereinstimmung mit einer effektiven Kanallänge der Speicherzelle derart variiert, daß die Drain-Programmierspannungserzeugungsschaltung (50, 70) die Drain-Programmierspannung (VDP) erzeugt, die außerdem in Bezug auf die effektive Kanallänge der Speicherzelle variiert, wobei die Drain-Programmierspannungserzeugungsschaltung (50, 70) ferner eine Mehrzahl von parallel geschalteten Transistoren (79a-79c)zum Bereitstellen des steuerbaren Widerstands aufweist, wobei der steuerbare Widerstand ausgewählt wird, indem eine bestimmte Kombination der Mehrzahl von Transistoren (79a-79c) selektiv eingeschaltet wird.
DE69424176T 1993-09-10 1994-08-31 Schaltung und verfahren zum wählen einer drain-programmierspannung für einen nichtflüchtigen speicher Expired - Lifetime DE69424176T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/119,738 US5402370A (en) 1993-09-10 1993-09-10 Circuitry and method for selecting a drain programming voltage for a nonvolatile memory
PCT/US1994/009936 WO1995007536A1 (en) 1993-09-10 1994-08-31 Circuitry and method for selecting a drain programming voltage for a nonvolatile memory

Publications (2)

Publication Number Publication Date
DE69424176D1 DE69424176D1 (de) 2000-05-31
DE69424176T2 true DE69424176T2 (de) 2000-12-14

Family

ID=22386068

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69431735T Expired - Lifetime DE69431735D1 (de) 1993-09-10 1994-08-31 Nichtflüchtiger Speicher
DE69424176T Expired - Lifetime DE69424176T2 (de) 1993-09-10 1994-08-31 Schaltung und verfahren zum wählen einer drain-programmierspannung für einen nichtflüchtigen speicher

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69431735T Expired - Lifetime DE69431735D1 (de) 1993-09-10 1994-08-31 Nichtflüchtiger Speicher

Country Status (8)

Country Link
US (1) US5402370A (de)
EP (2) EP0722609B1 (de)
JP (1) JP3667756B2 (de)
KR (1) KR100261525B1 (de)
AU (1) AU7680894A (de)
DE (2) DE69431735D1 (de)
SG (1) SG47058A1 (de)
WO (1) WO1995007536A1 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
FR2718273B1 (fr) * 1994-03-31 1996-05-24 Sgs Thomson Microelectronics Mémoire intégrée avec circuit de maintien de la tension de colonne.
US5600593A (en) * 1994-12-06 1997-02-04 National Semiconductor Corporation Apparatus and method for reducing erased threshold voltage distribution in flash memory arrays
US6353554B1 (en) 1995-02-27 2002-03-05 Btg International Inc. Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell
US5627784A (en) * 1995-07-28 1997-05-06 Micron Quantum Devices, Inc. Memory system having non-volatile data storage structure for memory control parameters and method
US5801985A (en) 1995-07-28 1998-09-01 Micron Technology, Inc. Memory system having programmable control parameters
US5945705A (en) * 1995-08-01 1999-08-31 Advanced Micro Devices, Inc. Three-dimensional non-volatile memory
US5672524A (en) * 1995-08-01 1997-09-30 Advanced Micro Devices, Inc. Three-dimensional complementary field effect transistor process
DE19542029C1 (de) * 1995-11-10 1997-04-10 Siemens Ag Verfahren zum selbsttätigen Ermitteln der nötigen Hochspannung zum Programmieren/Löschen eines EEPROMs
US6005806A (en) * 1996-03-14 1999-12-21 Altera Corporation Nonvolatile configuration cells and cell arrays
DE69633912D1 (de) * 1996-03-29 2004-12-30 St Microelectronics Srl Anordnung zum Generieren einer Spannung als Funktion der Leitfähigkeit einer Elementarzelle, insbesondere für nichtflüchtige Speicher
JP3093649B2 (ja) * 1996-09-05 2000-10-03 九州日本電気株式会社 不揮発性半導体メモリ装置
US5687116A (en) * 1996-10-09 1997-11-11 Programmable Microelectronics Corp. Programming pulse ramp control circuit
US6052306A (en) * 1996-11-04 2000-04-18 Siemens Aktiengesellschaft Method and device for automatic determination of the required high voltage for programming/erasing an EEPROM
US5798966A (en) * 1997-03-31 1998-08-25 Intel Corporation Flash memory VDS compensation techiques to reduce programming variability
US6141247A (en) * 1997-10-24 2000-10-31 Micron Technology, Inc. Non-volatile data storage unit and method of controlling same
US6147908A (en) * 1997-11-03 2000-11-14 Cypress Semiconductor Corp. Stable adjustable programming voltage scheme
US6128221A (en) * 1998-09-10 2000-10-03 Taiwan Semiconductor Manufacturing Co., Ltd. Circuit and programming method for the operation of flash memories to prevent programming disturbances
US6028790A (en) * 1999-01-07 2000-02-22 Macronix International Co., Ltd. Method and device for programming a non-volatile memory cell by controlling source current pulldown rate
KR100629962B1 (ko) * 1999-06-23 2006-09-29 주식회사 하이닉스반도체 플래쉬 메모리 셀의 드레인 전압 발생 회로
EP1128391A1 (de) * 2000-02-22 2001-08-29 STMicroelectronics S.r.l. Verfahren und Schalterkreisarchitekur zur Prüfung einer integrierten Schaltung mit einem programmierbaren, nicht-flüchtigen Speicher
US6292399B1 (en) * 2000-07-03 2001-09-18 Advanced Micro Devices, Inc. Method and low-power circuits used to generate accurate drain voltage for flash memory core cells in read mode
EP1176603A1 (de) * 2000-07-26 2002-01-30 STMicroelectronics S.r.l. Nichtflüchtiger Speicher mit einer Ladungspumpe mit einer geregelten Spannung
JP4167640B2 (ja) * 2004-10-14 2008-10-15 シャープ株式会社 不揮発性メモリのプログラム電圧決定方法
JP2010055735A (ja) * 2008-07-31 2010-03-11 Panasonic Corp 半導体記憶装置
KR100996108B1 (ko) * 2009-01-21 2010-11-22 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR101082692B1 (ko) 2009-12-31 2011-11-15 주식회사 하이닉스반도체 반도체 메모리 장치 및 이의 프로그램 방법
US9741436B2 (en) 2010-07-09 2017-08-22 Seagate Technology Llc Dynamically controlling an operation execution time for a storage device
US20130007348A1 (en) * 2011-07-01 2013-01-03 Apple Inc. Booting Raw Memory from a Host

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163021A (en) * 1989-04-13 1992-11-10 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US4954990A (en) 1989-05-30 1990-09-04 Cypress Semiconductor Corp. Programming voltage control circuit for EPROMS
JP2606941B2 (ja) * 1990-02-19 1997-05-07 富士通株式会社 不揮発性メモリの書込み回路
US5218571A (en) * 1990-05-07 1993-06-08 Cypress Semiconductor Corporation EPROM source bias circuit with compensation for processing characteristics
JP3247402B2 (ja) * 1991-07-25 2002-01-15 株式会社東芝 半導体装置及び不揮発性半導体記憶装置

Also Published As

Publication number Publication date
JP3667756B2 (ja) 2005-07-06
JPH09502828A (ja) 1997-03-18
EP0722609B1 (de) 2000-04-26
US5402370A (en) 1995-03-28
KR100261525B1 (ko) 2000-07-15
SG47058A1 (en) 1998-03-20
EP0982738B1 (de) 2002-11-13
EP0982738A1 (de) 2000-03-01
EP0722609A1 (de) 1996-07-24
AU7680894A (en) 1995-03-27
DE69424176D1 (de) 2000-05-31
WO1995007536A1 (en) 1995-03-16
DE69431735D1 (de) 2002-12-19

Similar Documents

Publication Publication Date Title
DE69424176T2 (de) Schaltung und verfahren zum wählen einer drain-programmierspannung für einen nichtflüchtigen speicher
DE69521882T2 (de) Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement
DE69030959T2 (de) EEPROM mit Referenzzelle
DE69526210T2 (de) Flash-speicher mit adaptiver abtastung
DE69524507T2 (de) Selbst-Programmierschaltung für eine nicht-flüchtige Speicheranordnung
DE4110371C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE60301839T2 (de) Nichtflüchtiger Halbleiterspeicher und Verfahren zu dessen Betrieb
DE102005030661B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Verfahren zum Betreiben und Herstellen eines nichtflüchtigen Halbleiterspeicherbauelementes
DE102005037287B3 (de) Nicht-flüchtiger Halbleiterspeicher und Verfahren zum Bestimmen einer Lesespannung zum Auslesen von Daten aus derartigen Speichern
DE69614787T2 (de) Speichermatrix mit mehrzustandsspeicherzellen
DE60101319T2 (de) Temperaturkompensierter vorspannungsgenerator
DE10052326B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE69511661T2 (de) Referenzschaltung
DE10002266B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE3855735T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE19612666C2 (de) Verfahren und Vorrichtung zur Programmierung eines nichtflüchtigen Halbleiterspeichers mit Zellen in NAND-Struktur
DE4302223C2 (de) Nicht-flüchtige Halbleiterspeichereinrichtung sowie Herstellungsverfahren dafür
DE68929389T2 (de) Speichersystem und Verfahren zu seinem Gebrauch
DE19983565B4 (de) Interner Auffrisch-Modus für eine Flash-Speicherzellenmatrix
DE4207934A1 (de) Elektrisch loesch- und programmierbares, nichtfluechtiges speichersystem mit schreib-pruef-einsteller unter verwendung zweier bezugspegel
DE19724221B4 (de) Nichtflüchtiger Speicher
DE4232025A1 (de) Elektrisch loeschbarer und programmierbarer nichtfluechtiger halbleiterspeicher mit automatischem schreibpruefungs-controller
DE69411762T2 (de) Flash-EEPROM mit redundanter Speicherzellenmatrix
DE69317937T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE68922841T2 (de) Halbleiterspeicheranordnung, fähig um Datendegradierung einer nichtausgewählten Zelle zu verhindern.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition