DE102015116905B4 - Hochlinearer Analog-Digital-Wandler und Verfahren für nichtflüchtigen Speicher - Google Patents

Hochlinearer Analog-Digital-Wandler und Verfahren für nichtflüchtigen Speicher Download PDF

Info

Publication number
DE102015116905B4
DE102015116905B4 DE102015116905.3A DE102015116905A DE102015116905B4 DE 102015116905 B4 DE102015116905 B4 DE 102015116905B4 DE 102015116905 A DE102015116905 A DE 102015116905A DE 102015116905 B4 DE102015116905 B4 DE 102015116905B4
Authority
DE
Germany
Prior art keywords
ramp voltage
voltage
digital
ramp
programmable
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
DE102015116905.3A
Other languages
English (en)
Other versions
DE102015116905A1 (de
Inventor
Raul-Adrian Cernea
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of DE102015116905A1 publication Critical patent/DE102015116905A1/de
Application granted granted Critical
Publication of DE102015116905B4 publication Critical patent/DE102015116905B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/005Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • 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/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/18Bit line organisation; Bit line lay-out
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/50Analogue/digital converters with intermediate conversion to time interval
    • H03M1/56Input signal compared with linear ramp

Landscapes

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

Abstract

Nichtflüchtiger Speicher, umfassend:einen Analog-Digital-(ADC-)Wandler zur Digitalisierung einer analogen Spannung in eines von N gleichen digitalen Intervallen, die zwischen ersten und zweiten vorbestimmten Spannungswerten (V1) bzw. (V2) eingegrenzt sind;wobei der ADC-Wandler ferner umfasst:einen Taktgeber, der eine Serie von gleichen Taktzyklen hat;einen Rampenspannungsgenerator zur Erzeugung eines Rampenspannungspegels, der in N Taktzyklen von V1 auf V2 linear ansteigt, so dass der Rampenspannungspegel in einem x-ten Taktzyklus ein digitaler Pegel der Rampenspannung in einem entsprechenden x-ten digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 ist;einen Komparator zum Vergleichen des Spannungspegels der Rampenspannung mit dem der analogen Spannung;einen Zähler zum Zählen einer Anzahl von Taktzyklen (x'), wenn der Rampenspannungspegel von V1 angestiegen ist, um dem analogen Spannungspegel zu entsprechen; undwobei ein Digitalwert des analogen Spannungspegels als das entsprechende x'-te digitale Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 erzeugt wird; wobei der Rampenspannungsgenerator ferner umfasst:einen Kondensator;eine programmierbare Konstantstromquelle;eine lineare Rampenspannung, die durch die programmierbare Konstantstromquelle erzeugt wird, die den Kondensator lädt; undeinen programmierbaren DAC-Widerstand; wobeider programmierbare Konstantstrom proportional zu einem Widerstand des programmierbaren DAC-Widerstands ist; wobeidie Rampenspannung eine Rampenrate hat, die proportional zu dem programmierbaren DAC-Widerstand der Widerstandgröße R(x) in einem Bereich zwischen R(1) bis R(N) ist;ferner umfassend:ein Steuermodul zur Steuerung der Operationen des Rampenspannungsgenerators und des Zählers, wobei die Operationen umfassen:Setzen des programmierbaren DAC-Widerstands auf R(N), damit Rampenspannungsgenerator eine nichtkalibrierte Rampenspannung generiert;Bewirken, dass der Zähler eine Anzahl von Taktzyklen (K) zählt, damit die nichtkalibrierte Rampenspannung von V1 auf V2 ansteigt; undZurücksetzen des programmierbaren DAC-Widerstands proportional zu K, damit der Rampenspannungsgenerator eine kalibrierte Rampenspannung mit einem Spannungspegel generiert, der in N Taktzyklen von V1 auf V2 ansteigt.

Description

  • HINTERGRUND
  • Diese Anmeldung betrifft allgemein Techniken bei der Handhabung von Spannungen in Halbleitervorrichtungen, wie etwa in zwei- oder dreidimensionalen nichtflüchtigen Halbleiterspeichern, und insbesondere einen Analog-Digital-(ADC-)Wandler und ein im Speicher verwendetes Verfahren zur Digitalisierung von Spannungen.
  • Ein Festkörperspeicher mit der Fähigkeit zur nichtflüchtigen Speicherung von Ladung, insbesondere in Form eines EEPROMs und Flash-EEPROM, verkapselt als Karte mit kleinem Formfaktor, ist seit kurzem erste Wahl bei der Speicherung unter einer Vielzahl von mobilen und tragbaren Vorrichtungen, insbesondere für Informationsgeräte und Unterhaltungselektronikprodukte. Im Gegensatz zum RAM (Direktzugriffsspeicher), der auch ein Festkörperspeicher ist, ist ein Flash-Speicher nicht flüchtig und behält seine gespeicherten Daten auch nach der Abschaltung der Stromversorgung. Außerdem ist im Gegensatz zum ROM (Nur-Lese-Speicher) der Flash-Speicher wiederbeschreibbar ähnlich wie eine Plattenspeichervorrichtung. Trotz der höheren Kosten findet der Flash-Speicher in Massenspeicheranwendungen zunehmend Verwendung.
  • Ein Flash-EEPROM ist mit einem EEPROM (elektrisch löschbarer und programmierbarer Nur-Lese-Speicher) insofern vergleichbar, als es ein nichtflüchtiger Speicher ist, der gelöscht werden kann und in dessen Speicherzellen neue Daten geschrieben oder „programmiert“ werden können. Beide nutzen ein leitendes (unverbundenes) Floating-Gate in einer Feldeffekttransistorstruktur, das über einem Kanalbereich in einem Halbleitersubstrat zwischen Source- und Drain-Bereich angeordnet ist. Ein Steuer-Gate ist dann über dem Floating-Gate vorgesehen. Die Schwellspannungskennlinie des Transistors wird durch die Ladungsmenge gesteuert, die im Floating-Gate gehalten wird. Das heißt, bei einem gegebenen Ladungspegel im Floating-Gate ist eine entsprechende Spannung (Schwelle) vorhanden, die an das Steuer-Gate angelegt werden muss, bevor der Transistor „eingeschaltet“ wird, um zwischen seinem Source- und Drain-Bereich leitend zu werden. In einem Flash-Speicher, wie etwa einem Flash-EEPROM, können ganze Blöcke von Speicherzellen gleichzeitig gelöscht werden.
  • Das Floating-Gate kann einen Bereich von Ladungen halten und kann daher auf jeden Schwellspannungspegel innerhalb eines Schwellspannungsfenster programmiert werden. Die Größe des Schwellspannungsfensters ist durch den kleinsten und größten Schellpegel der Vorrichtung begrenzt, die wiederum dem Bereich der Ladungen entsprechen, die in das Floating-Gate programmiert werden können. Das Schwellfenster hängt im Allgemeinen von den Eigenschaften, den Betriebsbedingungen und dem Betriebsverlauf der Speichervorrichtung ab. Jeder bestimmte auflösbare Schwellspannungspegelbereich im Fenster kann prinzipiell verwendet werden, um einen bestimmten Speicherzustand der Zelle zu bezeichnen.
  • Zur Verbesserung der Lese- und Programmierleistung werden mehrere Ladungsspeicherelementen oder Speichertransistoren in einem Array parallel gelesen oder programmiert. Somit wird eine Speicherelemente-„Seite“ zusammen gelesen oder programmiert. In bestehenden Speicherarchitekturen enthält eine Zeile in der Regel mehrere verschachtelte Seiten, oder sie kann eine Seite bilden. Alle Speicherelemente einer Seite werden zusammen gelesen oder programmiert.
  • Nichtflüchtige Speichervorrichtungen werden auch aus Speicherzellen mit einer dielektrischen Schicht zum Speichern von Ladung hergestellt. Anstelle der zuvor beschriebenen leitenden Floating-Gate-Elemente wird eine dielektrische Schicht verwendet. Eine dielektrische ONO-Schicht erstreckt sich über den Kanal zwischen Source und Drain-Diffusionen. Die Ladung für ein Datenbit befindet sich in der dielektrischen Schicht angrenzend an den Drain, und die Ladung für das andere Datenbit befindet sich in der dielektrischen Schicht angrenzend an die Source. Zum Beispiel kann eine nichtflüchtige Speicherzelle ein Ladungseinfang-Dielektrikum haben, das zwischen zwei Siliziumdioxidschichten sandwichartig angeordnet ist. Mehrzustands-Datenspeicherung erfolgt durch getrenntes Auslesen der Binärzustände der räumlich getrennten Ladungsspeicherbereiche im Dielektrikum.
  • Um die Spannungen für Speicheroperationen, wie etwa Programmier- und Bestätigungsoperationen sowie jegliche Leseoperationen, bereitzustellen, ist ein Spannungsgenerator erforderlich, der in der Lage ist, die bei Bedarf verschiedenen Gleichspannungspegel zu generieren. Darüber hinaus hängen die Operationen meist von den Schwellen der FET- und EEPROM-Vorrichtungen ab, aus denen die Schaltungen und die Speicherzellen bestehen. Die Schwellen dieser FET- und EEPROM-Vorrichtungen ändern sich mit der Temperatur. Um die Regelmäßigkeit im Betrieb zu erhalten, muss ein gängiger Typ dieser Vorrichtungen mit einer Betriebsspannung versorgt werden, die einen negativen Temperaturkoeffizienten hat.
  • US-Patentschrift US 2004/0062085 A1 offenbart einen On-Chip-Spannungsgenerator mit derartigen Fähigkeiten. Der Spannungsgenerator ist mit einer analogen Schaltungsanordnung implementiert, die erheblichen Raum auf dem Chip einnimmt.
  • US-Patentschrift US 2008/0031066 A1 und US-Patentschrift US 2008/0159000 A1 offenbaren beide On-Chip-Spannungsgeneratoren, die auch analog sind.
  • „A 3bit/Cell 32Gb NAND Flash Memory at 34nm with 6MB/s Program Throughput and with Dynamic 2b/Cell Blocks Configuration Mode for a Program Throughput increase up to 13MB/s“, ISSCC-Konferenz 2010, Sitzung 24, DRAM und FLASH-MEMORIES, 24.7, Digest of Technical Papers, pp. 444-445, offenbart einen Spannungsgenerator mit einer digitalen Komponente, bei dem die Berechnung die Suche nach Werten aus verschiedenen gespeicherten Tabellen erfordert.
  • Bestehende Spannungsgeneratoren setzen die Verwendung von Digital-Analog-Wandlern und einer zugehörigen Schaltungsanordnung voraus, um Spannungen mit und ohne Temperaturkoeffizienten zu addieren und zu subtrahieren, um Endspannungen mit negativen Temperaturkoeffizienten zu generieren. Diese Implementierungen sind in der Regel teuer, komplex, ressourcenintensiv und voluminös.
  • US-Patent US 8334796 B2 offenbart einen On-Chip-Gleichspannungsgenerator zur Generierung von linearen Gleichspannungen mit einem programmierbaren negativen Temperaturkoeffizienten. Der verwendete ADC ist ein Standard-Flash-ADC. In der Praxis ist der Flash-ADC jedoch infolge von Ungleichmäßigkeit der einzelnen Komparatoren des ADC nichtlinear.
  • Daher besteht ein allgemeiner Bedarf an einem On-Chip-Spannungsgenerator, der kompakt und kostengünstig zu implementieren und flexibel in der Programmierbarkeit ist. Insbesondere ein Bedarf an einem On-Chip-Spannungsgenerator, der einen hochlinearen ADC hat.
  • DE 102010050957 A1 offenbart eine Analog-zu-digital-Abtasteinheit, die eine gemäß einem Taktsignal stufenförmige Spannungsrampe mit einem zu wandelnden Spannungspegel vergleicht, um einen digitalen Wert für den Spannungspegel zu bestimmen. US 2014/0097881 A1 offenbart einen Spannungsgenerator, der eine Rampenspannung mittels eines Kondensators, der durch eine Stromquelle geladen wird, erzeugt. US 2011/0289376 A1 betrifft eine Speichervorrichtung, die einen Konvolutionskode verwendet, um Informationen zu speichern bzw. zu lesen.
  • ZUSAMMENFASSUNG
  • Erfindungsgemäß werden ein nichtflüchtiger Speicher und ein Verfahren mit den Merkmalen der unabhängigen Ansprüche bereitgestellt. Abhängige Ansprüche betreffen bevorzugte Ausführungsformen.
  • Ein nichtflüchtiger Speicher hat einen ADC, der eine analoge Spannung in einem duch V1 und V2 begrenzten Bereich in N Intervalle digitalisiert, was zu einer digitalen Vx führt, wobei x zwischen 1 und N liegt. Eine Rampenspannung Vramp(x), die entsprechend kalibriert ist, um in x=1 bis N Taktzyklen von V1 auf V2 linear anzusteigen, wird verwendet, um die analoge Spannung abzutasten. Vx ist dann durch Vx = Vramp (x) gegeben.
  • Der ADC umfasst einen Taktgeber, der eine Serie von gleichen Taktzyklen hat; einen Rampenspannungsgenerator zur Generierung eines Rampenspannungspegels, der in N Taktzyklen von V1 auf V2 linear ansteigt, so dass der Rampenspannungspegel in einem x-ten Taktzyklus ein digitaler Pegel der Rampenspannung in einem entsprechenden x-ten digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 ist; einen Komparator zum Vergleichen des Spannungspegels der Rampenspannung mit dem der analogen Spannung; einen Zähler zum Zählen einer Anzahl von Taktzyklen (x'), wenn das Rampenspannungspegel von V1 angestiegen ist, um dem analogen Spannungspegel zu entsprechen; und wobei ein Digitalwert des analogen Spannungspegels als das entsprechende x'-te digitale Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 erzeugt wird.
  • Die Rampenspannung wird durch einen Konstantstrom, der einen Kondensator lädt, bereitgestellt und hat eine Steigung proportional zu einem DAC-Widerstand R(x), der von 1 bis N programmierbar ist. In einem Kalibriermodus wird R(x) auf N gesetzt, was zu K Taktzyklen führt, die von V1 bis V2 reichen. In einem anschließenden Normalmodus wird der DAC-Widerstand auf R(K) zurückgesetzt, was zu einer kalibrierten Rampenspannung führt, die in N Taktzyklen von V1 auf V2 ansteigen würde.
  • Ein Verfahren zum Betreiben eines solchen nichtflüchtigen Speichers umfasst: Bereitstellen eines analogen Spannungspegels, der in einen von N gleichen digitalen Intervallen zu digitalisieren ist, die zwischen ersten und zweiten vorbestimmten Spannungswerten (V1) bzw. (V2) eingegrenzt sind; Bereitstellen eines Takts mit einer Serie von gleichen Taktzyklen; Bereitstellen einer Rampenspannung mit einem Spannungspegel, der in N Taktzyklen von V1 auf V2 linear ansteigt, so dass der Rampenspannungspegel in einem x-ten Taktzyklus ein digitaler Pegel der Rampenspannung in einem entsprechenden x-ten digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 ist; Vergleichen des Spannungspegels der Rampenspannung mit dem der analogen Spannung; Zählen einer Anzahl von Taktzyklen (x'), wenn der Rampenspannungspegel von V1 angestiegen ist, um dem analogen Spannungspegel zu entsprechen; und Digitalisieren des analogen Spannungspegels, so dass dieser im entsprechenden x'-ten digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 liegt.
  • Der Vorteil des vorliegenden nichtflüchtigen Speichers ist, dass sein ADC eine größere Linearität, einfachere Hardware und Flächeneffizienz hat.
  • Verschiedene Aspekte, Vorteile, Merkmale und Ausführungsformen sind in der folgenden Beschreibung ihrer Ausführungsbeispielen enthalten, wobei die Beschreibung in Verbindung mit den beigefügten Zeichnungen gelesen werden sollte. Alle Patente, Patentanmeldungen, Artikel, andere Publikationen, Dokumente und diesbezügliche Dinge werden hierbei durch Bezugnahme in ihrer Gesamtheit für alle Zwecke aufgenommen. Bei irgendeinem Widerspruch oder irgendeiner Unstimmigkeit in der Definition oder der Verwendung der Begriffe zwischen irgendwelchen der aufgenommenen Veröffentlichungen, Dokumente oder Dinge und der vorliegenden Anmeldung sind diejenigen der vorliegenden Anmeldung ausschlaggebend.
  • Weitere Merkmale und Vorteile gehen aus der folgenden ausführlichen Beschreibung hervor, die in Verbindung mit den beigefügten Zeichnungen gelesen werden sollte.
  • Figurenliste
    • 1 zeigt schematisch die hauptsächlichen Hardwarekomponenten eines Speichersystems, die für die Implementierung des vorliegenden Gegenstands geeignet sind.
    • 2 zeigt schematisch eine nichtflüchtige Speicherzelle.
    • 3 zeigt die Beziehung zwischen dem Source-Drain-Strom ID und der Steuer-Gatespannung VCG.
    • 4A zeigt schematisch eine Kette von Speicherzellen, die in einer NAND-Kette organisiert sind.
    • 4B zeigt ein Beispiel eines NAND-Arrays 210 von Speicherzellen, die in einer NAND-Ketten 50 organisiert sind, wie etwa in 4A gezeigt.
    • 5 zeigt eine Seite von Speicherzellen, die in der NAND-Konfiguration organisiert sind und die parallel gelesen oder programmiert werden.
    • 6 zeigt eine Schrägprojektion eines Teils eines 3D-NAND-Speichers.
    • 7 zeigt eine herkömmliche Technik zum Programmieren einer 4-Zustands-Speicherzelle in einen Zielspeicherzustand.
    • 8 zeigt einen verbesserten On-Chip-Spannungsgenerator.
    • 9A zeigt die Bandabstand-Referenzgenerierungsschaltung, die das analoge Vptat als vordefinierte lineare Funktion der erfassten Temperatur T in Grad Kelvin (K) erzeugt.
    • 9B zeigt ein Diagramm der analogen Vptat(T).
    • 10 zeigt den in 8 gezeigten Spannungsgenerator detaillierter.
    • 11 zeigt einen in 10 gezeigten herkömmlichen ADC (Analog-Digital-Wandler) detaillierter.
    • 12 zeigt einen idealisierten Temperaturcode, Tcode, der vom Codierer des in 8 gezeigten ADC ausgegeben wird.
    • 13 zeigt eine Temperaturcode, Tcode, der vom Codierer eines nichtlinearen ADC ausgegeben wird.
    • 14 zeigt einen hochlinearen ADC.
    • 15(A) ist ein Diagramm, das die Rampenspannung Vramp als Funktion der durch den programmierbaren Rampengenerator generierten Zeit zeigt.
    • 15(B) ist ein Diagramm, das zusammen mit 15(A) die Rampenspannung Vramp als Funktion des Taktzyklus zeigt.
    • 15(C) ist eine alternative Achse des Diagramms von 15(A), das die Rampenspannung Vramp in Abhängigkeit von T (Temperatur) zeigt.
    • 16 zeigt ein Beispiel des programmierbaren Rampengenerators detaillierter.
    • 17 zeigt den in 14 gezeigten Rampenzähler detaillierter.
    • 18 ist ein Flussdiagramm, das ein Verfahren zum Betreiben eines nichtflüchtigen Speichers zeigt, in dem eine analoge Spannung digitalisiert wird.
  • AUSFÜHRLICHE BESCHREIBUNG
  • SPEICHERSYSTEM
  • 1 zeigt schematisch die wesentlichen Hardwarekomponenten eines Speichersystems, das für die Implementierung des vorliegenden Gegenstands geeignet ist. Das Speichersystem 90 arbeitet typischerweise mit einem Host 80 über eine Host-Schnittstelle. Das Speichersystem kann in Form eines entfernbaren Speichers, wie etwa eine Speicherkarte, oder in Form eines eingebetteten Speichersystems auftreten. Das Speichersystem 90 weist einen Speicher 102 auf, dessen Operationen durch einen Controller 100 gesteuert werden. Der Speicher 102 umfasst ein oder mehrere Arrays von nichtflüchtigen Speicherzellen, die über eine oder mehrere integrierte Schaltungschips verteilt sind. Der Controller 100 kann Schnittstellenschaltungen 110, einen Prozessor 120, einen ROM (Nur-Lese-Speicher) 122, einen RAM (Direktzugriffsspeicher) 130, einen programmierbaren nichtflüchtigen Speicher 124 und weitere Komponenten aufweisen. Der Controller ist typischerweise als eine ASIC (anwendungsspezifische integrierte Schaltung) ausgebildet, und die Komponenten, die in einer solchen ASIC enthalten sind, sind im Allgemeinen von der jeweiligen Anwendung abhängig.
  • Was den Speicherabschnitt 102 betrifft, so umfassen Halbleiterspeichervorrichtungen flüchtige Speichervorrichtungen, wie etwa dynamische Direktzugriffsspeicher-(„DRAM“-)Vorrichtungen oder statische Direktzugriffsspeicher-(„SRAM“-)Vorrichtungen, nichtflüchtige Speichervorrichtungen, wie etwa Widerstands-Direktzugriffsspeicher („ReRAM“), einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher („EEPROM“), einen Flash-Speicher (der auch als eine EEPROM-Untergruppe angesehen werden kann), ferroelektrische Direktzugriffsspeicher („FRAM“) und magnetoresistive Direktzugriffsspeicher („MRAM“) und andere Halbleiterelemente, die Information speichern können. Jeder Typ von Speichervorrichtung hat unterschiedliche Konfigurationen. Zum Beispiel können Flash-Speichervorrichtungen in einer NAND- oder NOR-Konfiguration konfiguriert sein.
  • Die Speichervorrichtungen können aus passiven und/oder aktiven Elementen in beliebigen Kombinationen bestehen. Als nicht einschränkendes Beispiel umfassen passive Halbleiterspeicherelemente Folgendes: ReRAM-Vorrichtungselemente, die in einigen Ausführungsformen ein Widerstandsschaltspeicherelement enthalten, wie etwa eine Antisicherung, Phasenänderungsmaterial usw., und gegebenenfalls ein steuerndes Element, wie etwa eine Diode usw. Weiterhin als nicht einschränkendes Beispiel umfassen aktive Halbleiterspeicherelemente Folgendes: EEPROM- und Flash-Speichervorrichtungselemente, die in einigen Ausführungsformen Elemente aufweisen, die einen Ladungsspeicherbereich, wie etwa ein Floating-Gate, leitfähige Nanopartikel oder ein dielektrisches Ladungsspeichermaterial enthalten.
  • Mehrere Speicherelemente können so konfiguriert sein, dass sie in Reihe geschaltet sind, oder so, dass jedes Element Einzelzugriff ermöglicht. Als ein nicht einschränkendes Beispiel enthalten etwa Flash-Speichervorrichtungen in einer NAND-Konfiguration (NAND-Speicher) üblicherweise in Reihe geschaltete Speicherelemente. Ein NAND-Speicherarray kann so konfiguriert sein, dass das Array aus mehreren Speicherketten besteht, bei dem eine Kette aus mehreren Speicherelementen besteht, die eine einzige Bitleitung gemeinsam benutzen und auf die als Gruppe zugegriffen werden kann. Alternativ können Speicherelemente so konfiguriert sein, dass jedes Element einzeln zugänglich ist, z.B. ein NOR-Speicherarray. NAND- und NOR-Speicherkonfigurationen sind Beispiele dafür, und Speicherelemente können auch anders konfiguriert sein.
  • Die Halbleiterspeicherelemente, die sich in und/oder über einem Substrat befinden, können in zwei oder drei Dimensionen angeordnet sein, wie etwa eine zweidimensionale Speicherstruktur oder eine dreidimensionale Speicherstruktur.
  • In einer zweidimensionalen Speicherstruktur sind die Halbleiterspeicherelemente in einer einzigen Ebene bzw. Speichervorrichtungshöhe angeordnet. Typischerweise sind in einer zweidimensionalen Speicherstruktur Speicherelemente in einer Ebene (z.B. in einer x-z-Richtungsebene) angeordnet, die sich im Wesentlichen parallel zu einer Hauptoberfläche eines Substrats erstreckt, das die Speicherelemente trägt. Das Substrat kann ein Wafer sein, über oder in dem die Schicht der Speicherelemente ausgebildet ist, oder es kann ein Trägersubstrat sein, das an den Speicherelementen angebracht wird, nachdem sie ausgebildet worden sind. Als nicht einschränkendes Beispiel kann das Substrat einen Halbleiter wie etwa Silicium aufweisen.
  • Die Speicherelemente können in den einzelnen Speichervorrichtungsebenen in einem geordneten Array angeordnet sein, wie etwa in einer Vielzahl von Zeilen und/oder Spalten angeordnet sein. Allerdings können die Speicherelemente in nicht regelmäßigen oder nichtorthogonalen Konfigurationen angeordnet sein. Die Speicherelemente können jeweils zwei oder mehr Elektroden oder Kontaktleitungen haben, wie etwa Bitleitungen und Wortleitungen.
  • Ein dreidimensionales Speicherarray ist so angeordnet, dass die Speicherelemente mehrere Ebenen bzw. Speichervorrichtungshöhen einnehmen, wodurch eine Struktur in drei Dimensionen entsteht (d.h. in der x-, y- und z-Richtung, wobei die y-Richtung im Wesentlichen senkrecht ist und die x- und z-Richtung im Wesentlichen parallel zur Hauptoberfläche des Substrats sind).
  • Als nichteinschränkendes Beispiel kann eine dreidimensionale Speicherstruktur als Stapel von mehreren zweidimensionalen Speichervorrichtungsebenen vertikal angeordnet sein. Als ein weiteres nichteinschränkendes Beispiel kann ein dreidimensionales Speicherarray als mehrere vertikale Spalten angeordnet sein (z.B. Spalten, die sich im Wesentlichen senkrecht zu der Hauptoberfläche des Substrats erstrecken, d.h. in der y-Richtung), wobei jede Spalte mehrere Speicherelemente in jeder Spalte hat. Die Spalten können in einer zweidimensionalen Konfiguration angeordnet sein, z.B. in einer x-z-Ebene, was zu einer dreidimensionalen Anordnung von Speicherelementen führt, wo sich Elemente auf mehreren vertikal gestapelten Speicherebenen befinden. Andere Konfigurationen von Speicherelementen in drei Dimensionen können auch ein dreidimensionales Speicherarray bilden.
  • Als nichteinschränkendes Beispiel können in einem dreidimensionalen NAND-Speicherarray die Speicherelemente miteinander gekoppelt sein, um eine NAND-Kette in einer einzelnen horizontalen (z.B. x-z-)Speichervorrichtungsebene zu bilden. Alternativ können die Speicherelemente miteinander gekoppelt sein, um eine vertikale NAND-Kette zu bilden, die mehrere horizontale Speichervorrichtungsebenen durchquert. Andere dreidimensionale Konfigurationen sind vorstellbar, bei denen einige NAND-Ketten Speicherelemente in einer einzelnen Speicherebene enthalten, während andere Ketten Speicherelemente enthalten, die sich durch mehrere Speicherebenen erstrecken. Dreidimensionale Speicherarrays können auch in einer NOR-Konfiguration und in einer ReRAM Konfiguration ausgeführt sein.
  • Typischerweise sind in einem monolithischen dreidimensionalen Speicherarray eine oder mehrere Speichervorrichtungsebenen oberhalb eines einzelnen Substrats ausgebildet. Gegebenenfalls kann das monolithische dreidimensionale Speicherarray auch eine oder mehrere Speicherschichten zumindest teilweise in dem einzigen Substrat enthalten. Als nicht einschränkendes Beispiel kann das Substrat einen Halbleiter wie etwa Silicium aufweisen. In einem monolithischen dreidimensionalen Array sind die Schichten, die jede Speichervorrichtungsebene des Arrays bilden, typischerweise auf den darunterliegenden Speichervorrichtungsebenen des Arrays ausgebildet. Schichten benachbarter Speichervorrichtungsebenen eines monolithischen dreidimensionalen Speicherarrays können jedoch gemeinsam genutzt werden oder Zwischenschichten zwischen Speichervorrichtungsebenen haben.
  • Dann wiederum können zweidimensionale Arrays getrennt ausgebildet und dann gemeinsam gekapselt sein, um eine nichtmonolithische Speichervorrichtung mit mehreren Speicherschichten zu bilden. Beispielsweise können nichtmonolithische Stapelspeicher dadurch hergestellt werden, dass Speicherebenen auf getrennten Substraten ausgebildet und dann die Speicherebenen übereinander gestapelt werden. Die Substrate können vor dem Stapeln gedünnt oder von den Speichervorrichtungsebenen entfernt werden, aber da die Speichervorrichtungsebenen zuerst auf getrennten Substraten ausgebildet worden sind, sind die resultierenden Speicherarrays keine monolithischen dreidimensionalen Speicherarrays. Ferner können mehrere zweidimensionale Speicherarrays oder dreidimensionale Speicherarrays (monolithische oder nichtmonolithische) auf getrennten Chips ausgebildet und dann gemeinsam gekapselt werden, um eine Stapel-Chip-Speichervorrichtung zu bilden.
  • Eine entsprechende Schaltungsanordnung ist typischerweise für den Betrieb der Speicherelemente und für die Kommunikation mit den Speicherelementen erforderlich. Als nichteinschränkende Beispiele können Speichervorrichtungen eine Schaltungsanordnung zum Steuern und Ansteuern von Speicherelementen haben, um solche Funktionen wie Programmieren und Lesen durchzuführen. Diese zugehörige Schaltungsanordnung kann sich auf dem gleichen Substrat wie die Speicherelemente und/oder auf einem separaten Substrat befinden. Zum Beispiel kann sich ein Controller für Speicherlese/schreiboperationen auf einem getrennten Controller-Chip und/oder auf dem gleichen Substrat wie die Speicherelemente befinden.
  • Man wird anerkennen, dass das Folgende nicht auf die beschriebenen zweidimensionalen und dreidimensionalen beispielhaften Strukturen beschränkt ist, sondern alle relevanten Speicherstrukturen in den hierin beschriebenen Erfindungsgedanken und Schutzbereich einschließt.
  • PHYSISCHE SPEICHERSTRUKTUR
  • 2 zeigt schematisch eine nichtflüchtige Speicherzelle. Die Speicherzelle 10 kann durch einen Feldeffekttransistor mit einer Ladungsspeichereinheit 20, wie etwa ein Floating-Gate oder eine (dielektrische) Ladungsauffangschicht, implementiert sein. Die Speicherzelle 10 weist auch eine Source 14, einen Drain 16 und ein Steuer-Gate 30 auf.
  • Heute werden viele kommerziell erfolgreiche nichtflüchtige Festkörperspeichervorrichtungen verwendet. Diese Speichervorrichtungen können verschiedene Typen von Speicherzellen haben, wobei jeder Typ ein oder mehrere Ladungsspeicherelemente hat.
  • Typische nichtflüchtige Speicherzellen sind u.a. EEPROM und Flash-EEPROM. Außerdem gibt es Beispiele von Speichervorrichtungen, die dielektrische Speicherelemente nutzen.
  • In der Praxis wird der Speicherzustand einer Zelle gewöhnlich durch Erfassen des Leitungsstrom über die Source- und Drain-Elektrode der Zelle gelesen, wenn eine Referenzspannung an das Steuer-Gate angelegt wird. Somit kann für jede gegebene Ladung am Floating-Gate einer Zelle ein entsprechender Leitungsstrom in Bezug auf eine feste Referenz-Steuer-Gatespannung detektiert werden. Ebenso definiert der in das Floating-Gate einprogrammierbare Ladungsbereich ein entsprechendes Schwellspannungsfenster oder ein entsprechendes Leitungsstromfenster.
  • Alternativ ist es anstelle der Detektion des Leitungsstroms in einem partitionierten Stromfenster möglich, die Schwellspannung für einen gegebenen zu testenden Speicherzustand festzulegen und zu detektieren, ob der Leitungsstrom niedriger oder höher als ein Schwellstrom (Zellenlese-Referenzstrom) ist. In einer Ausführung erfolgt die Detektion des Leitungsstroms relativ zu einem Schwellstrom durch Überprüfung der Geschwindigkeit, mit der der Leitungsstrom über die Kapazität der Bitleitung entladen wird.
  • 3 zeigt die Beziehung zwischen dem Source-Drain-Strom ID und der Steuer-Gatespannung VCG für vier unterschiedliche Ladungen Q1-Q4, die das Floating-Gate zu jeder Zeit speichern kann. Bei fester Drain-Vorspannung stellen die vier durchgezogenen ID-VCG-Kurven vier der sieben möglichen Ladungspegel dar, die in ein Floating-Gate einer Speicherzelle einprogrammiert werden können und die jeweils vier möglichen Speicherzuständen entsprechen. Zum Beispiel kann das Schwellspannungsfenster einer Population von Zellen von 0,5 V bis 3,5 V reichen. Sieben mögliche programmierte Speicherzustände „0“, „1“, „2“, „3“, „4“, „5“, „6“ und ein gelöschter Zustand (nicht gezeigt) können durch Partitionierung des Schwellfensters in Intervallen von jeweils 0,5 V in Bereiche abgegrenzt werden. Zum Beispiel kann, wenn ein Referenzstrom IREF von 2 µA verwendet wird, wie gezeigt, die mit Q1 programmierte Zelle als in einem Speicherzustand „1“ befindlich angesehen werden, da ihre Kurve den IREF im Bereich des Schwellfensters schneidet, das durch VCG = 0,5V und 1,0V begrenzt ist. Analog dazu ist Q4 in einem Speicherzustand „5“.
  • Wie aus der obigen Beschreibung ersichtlich ist, gilt: Je mehr Zustände eine Speicherzelle speichern soll, umso feiner ist ihr Schwellfenster eingeteilt. Zum Beispiel kann eine Speichervorrichtung Speicherzellen mit einem Schwellfenster haben, das von -1,5V bis 5V reicht. Dies stellt eine maximale Breite von 6,5V dar. Wenn die Speicherzelle 16 Zustände speichern soll, kann jeder Zustand im Schwellfenster von 200 mV bis 300 mV einnehmen. Somit ist eine höhere Präzision bei Programmier- und Leseoperationen erforderlich, um die erforderliche Auflösung erzielen zu können.
  • NAND-STRUKTUR
  • 4A zeigt schematisch eine Kette von Speicherzellen, die in einer NAND-Kette organisiert sind. Eine NAND-Kette 50 umfasst eine Serie von Speichertransistoren M1, M2, ... Mn (z.B. n = 4, 8, 16 oder größer), die durch ihre Sources und Drains verkettet sind. Ein Paar Freigabetransistoren S1, S2 steuert die Verbindung der Speichertransistorkette mit der Außenwelt über den Source-Anschluss 54 bzw. den Drain-Anschluss 56 der NAND-Kette. In einem Speicherarray ist, wenn der Source-Freigabetransistor S1 eingeschaltet ist, der Source-Anschluss mit einer Source-Leitung gekoppelt (siehe 5). Ebenso ist, wenn der Drain-Freigabetransistor S2 eingeschaltet ist, der Drain-Anschluss der NAND-Kette mit einer Bitleitung des Speicherarrays gekoppelt. Jeder Speichertransistor 10 in der Kette fungiert als Speicherzelle. Er hat ein Ladungsspeicherelement 20, um eine gegebene Ladungsmenge zu speichern, um einen gewünschten Speicherzustand darstellen. Ein Steuer-Gate 30 jedes Speichertransistors ermöglicht die Steuerung der Lese- und Schreiboperationen. Wie in 5 zu sehen ist, sind die Steuer-Gates 30 der entsprechenden Speichertransistoren einer NAND-Kettenzeile alle mit der gleichen Wortleitung verbunden. Ebenso führt ein Steuer-Gate 32 jedes der Freigabetransistoren S1, S2 die Steuerung des Zugriffs auf die NAND-Kette über ihren Source-Anschluss 54 bzw. ihren Drain-Anschluss 56 durch. Ebenso sind die Steuer-Gates 32 der entsprechenden Freigabetransistoren einer NAND-Kettenzeile alle mit der gleichen Freigabeleitung verbunden.
  • Wenn ein adressierter Speichertransistor 10 in einer NAND-Kette bei der Programmierung gelesen oder bestätigt wird, wird sein Steuer-Gate 30 mit einer geeigneten Spannung versorgt. Gleichzeitig wird der Rest der nichtadressierten Speichertransistoren in der NAND-Kette 50 durch Anlegen einer ausreichenden Spannung an ihre Steuer-Gates vollständig eingeschaltet. Auf diese Weise wird ein leitender Weg von der Source des einzelnen Speichertransistors zum Source-Anschluss 54 der NAND-Kette effektiv erzeugt und ebenso für den Drain des einzelnen Speichertransistors zum Drain-Anschluss 56 der Zelle.
  • 4B zeigt ein Beispiel eines NAND-Arrays 210 von Speicherzellen, die aus NAND-Ketten 50 bestehen, wie etwa die in 4A gezeigte. Entlang jeder Spalte von NAND-Ketten ist eine Bitleitung wie etwa die Bitleitung 36 mit dem Drain-Anschluss 56 jeder NAND-Kette gekoppelt. Entlang jeder Bank von NAND-Ketten ist eine Source-Leitung, wie etwa die Source-Leitung 34 mit den Source-Anschlüssen 54 jeder NAND-Kette gekoppelt. Auch die Steuer-Gates entlang einer Speicherzellenzeile in einer Bank von NAND-Ketten sind mit einer Wortleitung wie etwa der Wortleitung 42 verbunden. Die Steuer-Gates entlang einer Zeile von Freigabetransistoren in einer Bank von NAND-Ketten sind mit einer Freigabeleitung wie etwa der Freigabeleitung 44 verbunden. Eine ganze Zeile von Speicherzellen in einer Bank von NAND-Ketten kann durch entsprechende Spannungen in den Wortleitungen und Freigabeleitungen der Bank von NAND-Ketten adressiert werden.
  • 5 zeigt eine Seite von Speicherzellen, die in der NAND-Konfiguration organisiert sind und die parallel gelesen oder programmiert werden. 5 zeigt im Wesentlichen eine Bank von NAND-Ketten 50 im Speicherarray 210 von 4B, wo das Detail jeder NAND-Kette explizit dargestellt ist, wie in 4A gezeigt. Eine physische Seite, wie etwa die Seite 60, ist eine Gruppe von Speicherzellen, die zum parallelen Lesen oder Programmieren freigegeben sind. Dies erfolgt durch eine entsprechende Seite von Leseverstärkern 212. Die Leseergebnisse werden in einem entsprechenden Satz von Zwischenspeichern 214 zwischengespeichert. Jeder Leseverstärker kann mit einer NAND-Kette über eine Bitleitung gekoppelt sein. Die Seite wird durch die Steuer-Gates der Zellen der Seite freigegeben, die mit einer Wortleitung 42 zusammengeschaltet sind, und auf jede Zelle kann mittels eines Leseverstärker zugegriffen werden, auf den über eine Bitleitung 36 zugegriffen werden kann. Zum Beispiel wenn die Seite der Zellen 60 gelesen oder programmiert wird, wird eine Lesespannung bzw. Programmierspannung an die gemeinsamen Wortleitung WL3 zusammen mit geeigneten Spannungen in den Bitleitungen angelegt. Eine Chip-Ebenen-Steuerschaltungsanordnung 220 hat eine Zustandsmaschine 222, die die Speicheroperationen steuert.
  • 6 zeigt eine Schrägprojektion eines Teils eines 3-D-NAND-Speichers. Eine alternative Anordnung zu einem zweidimensionalen (2-D-)NAND-Array ist ein dreidimensionales (3-D-)Array. Im Gegensatz zu 2-D-NAND-Arrays, die entlang einer planaren Fläche eines Halbleiter-Wafers ausgebildet sind, erstrecken sich 3-D-Arrays von der Waferoberfläche nach oben und weisen im Allgemeinen Stapel bzw. Spalten von Speicherzellen auf, die sich nach oben erstrecken. Verschiedene 3-D-Anordnungen sind möglich. In einer Anordnung ist eine NAND-Kette vertikal ausgebildet, mit einem Ende (z.B. Source) auf der Waferoberfläche und mit dem anderen Ende (z.B. Drain) oben. In einer anderen Anordnung ist eine NAND-Kette in einer U-Form ausgebildet, so dass beide Enden der NAND-Kette oben zugänglich sind und somit Verbindungen zwischen solchen Ketten erleichtert werden.
  • PHYSISCHE ORGANISATION DES SPEICHERS
  • Ein Unterschied zwischen Flash-Speicher und anderen Speichertypen besteht darin, dass eine Zelle aus dem gelöschten Zustand programmiert wird. Das heißt, das Floating-Gate wird zuerst von der Ladung befreit. Durch Programmierung wird dann eine gewünschte Ladungsmenge wieder dem Floating-Gate hinzugefügt. Es unterstützt nicht das Entfernen eines Teils der Ladung vom Floating-Gate, um von einem mehr programmierten Zustand in einen geringerem überzugehen. Dies bedeutet, dass aktualisierte Daten vorhandene Daten nicht überschreiben können und in eine vorher unbeschriebene Stelle geschrieben werden.
  • Ferner bedeutet Löschen, dass alle Ladungen vom Floating-Gate Zelle für Zelle oder sogar Seite für Seite zu löschen sind. Aus diesem Grund ist es umständlich und sehr langsam Zelle für Zelle oder Seite für Seite zu löschen. In der Praxis wird das Speicherzellenarray in eine große Anzahl von Blöcken von Speicherzellen aufgeteilt. Wie üblich für Flash-EEPROM-Systeme ist der Block die Löscheinheit. Das heißt, jeder Block enthält die minimale Anzahl von Speicherzellen, die zusammen gelöscht werden. Während die Ansammlung einer großen Anzahl von Zellen in einem parallel zu löschenden Block die Löschleistung verbessert, erfordert ein großer Block auch die Behandlung einer größeren Anzahl von Aktualisierungsdaten und veralteten Daten.
  • Jeder Block ist in der Regel in eine Anzahl von physischen Seiten aufgeteilt. Eine logische Seite ist eine Programmier- oder Leseeinheit, die eine Anzahl von Bits enthält, die gleich der Anzahl von Zellen in einer physischen Seite ist. In einem Speicher, der ein Bit pro Zelle speichert, speichert eine physische Seite eine logische Datenseite. In einem Speicher, der zwei Bits pro Zelle speichert, speichert eine physische Seite zwei logische Seiten. Die Anzahl der logischen Seiten, die in einer physischen Seite gespeichert sind, spiegelt somit die Anzahl der pro Zelle gespeicherten Bits wieder. In einer Ausführungsform können die einzelnen Seiten in Segmente aufgeteilt sein, und die Segmente können die geringste Anzahl von Zellen enthalten, die gleichzeitig als Grundprogrammieroperation geschrieben werden, Eine oder mehrere logische Seiten von Daten werden in der Regel in einer Zeile von Speicherzellen gespeichert. Eine Seite kann einen oder mehrere Sektoren speichern. Ein Sektor enthält Benutzerdaten und Overhead-Daten.
  • PROGRAMMIERVORGANG
  • 7 zeigt eine herkömmliche Technik zum Programmieren einer 4-Zustands-Speicherzelle in einen Zielspeicherzustand. Programmierschaltungen legen im Allgemeinen eine Reihe von Programmierimpulsen an eine ausgewählte Wortleitung an. Auf diese Weise kann eine Seite von Speicherzellen, deren Steuer-Gates mit der Wortleitung gekoppelt sind, gemeinsam programmiert werden. Die verwendete Programmierimpulsfolge kann eine zunehmende Periode oder Amplitude haben, um den sich akkumulierenden Elektronen entgegenzuwirken, die in die Ladungsspeichereinheit der Speicherzelle einprogrammiert sind. Eine Programmierspannung VPGM wird an die Wortleitung einer zu programmierenden Seite angelegt. Die Programmierspannung VPGM ist eine Reihe aus Programmierspannungsimpulsen in Form einer Treppenwellenform, beginnend mit einem Anfangsspannungspegel, VPGM0. Jede Zelle auf der zu programmierenden Seite wird dieser Serie von Programmierspannungsimpulsen ausgesetzt, mit dem Versuch, bei jedem Impuls dem Ladungsspeicherelement der Zelle inkrementelle Ladungen hinzuzufügen. Zwischen Programmierimpulsen wird die Zelle zurückgelesen, um ihre Schwellspannung zu bestimmen. Der Rückleseprozesses kann eine oder mehrere Leseoperationen erfordern. Bei einem 4-Zustands-Speicher gibt es drei Lesebestätigungspunkte V1, V2 und V3, um die vier möglichen Zustände zu unterscheiden. Die Programmierung stoppt bei der Zelle, wenn bestätigt worden ist, dass ihre Schwellspannung innerhalb des Schwellspannungsbereichs entsprechend dem Zielzustand absinkt. Immer wenn eine Speicherzelle der Seite in ihren Zielzustand programmiert worden ist, wird sie für die Programmierung gesperrt, während die anderen Zellen weiterhin der Programmierung ausgesetzt sind, bis für alle Zellen der Seite die Programmierung bestätigt ist. Eine Methode zur Programmiersperrung einer Speicherzelle besteht darin, ihre Bitleitungsspannung während des Programmierens von 0V auf VCC zu erhöhen. Auf diese Weise wird selbst dann, wenn am Steuer-Gate der Zelle eine Programmierspannung anliegt, die effektive Programmierspannung am Floating-Gate durch die VCC reduziert, wodurch die weitere Programmierung der Zelle gesperrt ist.
  • SPANNUNGSERZEUGUNG FÜR SPEICHEROPERATIONEN
  • Um die Spannungen für Speicheroperationen, wie etwa die in 7 gezeigten Programmier- und Bestätigungsoperationen, sowie für jegliche Leseoperationen bereitzustellen, ist ein Spannungsgenerator erforderlich, der die verschiedenen Gleichspannungspegel nach Bedarf generieren kann. Darüber hinaus sind die Operationen meist abhängig von den Schwellen der FET- und EEPROM-Vorrichtungen, aus denen die Schaltungen und die Speicherzellen bestehen. Die Schwellwerte dieser FET- und EEPROM-Vorrichtungen ändern sich mit der Temperatur. Um die Regelmäßigkeit im Betrieb zu erhalten, muss ein gängiger Typ dieser Vorrichtungen mit einer Betriebsspannung versorgt werden, die einen negativen Temperaturkoeffizienten hat. Es ist ein Spannungsgenerator mit der Fähigkeit für programmierbare Gleichspannungspegel und Temperaturkoeffizienten erwünscht, der dennoch kompakt und vielseitig anwendbar ist.
  • Ein Beispiel ist ein On-Chip-Gleichspannungsgenerator. Eine temperaturabhängige Gleichspannung wird von einer On-Chip-Temperaturanzeige digital abgeleitet, ein programmierbares digitales Wort, um den Temperaturkoeffizienten zu steuern, und ein programmierbares digitales Wort, um den digitalen Pegel zu setzen. Das digitale Ergebnis wird an den vorliegenden verbesserten Digital-Analog-Wandler (DAC) angelegt, um eine analoge Gleichspannung mit einem negativen Temperaturkoeffizienten zu generieren. Diese Spannungen können an die Wortleitung im Flash-Speicher angelegt werden und folgen der Schwellspannung der Speicherzelle, die einen negativen Temperaturkoeffizienten hat, so dass die Differenz zwischen der Gate-Spannung und der Schwellspannung über die Temperatur konstant ist.
  • 8 zeigt einen verbesserten On-Chip-Spannungsgenerator. Der Spannungsgenerator 300 ist auf einem integrierten Schaltungschip 102 hergestellt, wie etwa eine nichtflüchtige Speichervorrichtung, um Gleichspannungen zu liefern, um die Vorrichtung zu betreiben. Wie später beschrieben wird, wird der Spannungsgenerator 300 implementiert, indem die erforderliche Ausgangsspannungsfunktion in digitaler Form berechnet wird, bevor sie in eine analoge Ausgangsspannung Vout umgewandelt wird. Aufgrund der digitalen Verarbeitung kann der Spannungsgenerator in einer relativ einfachen und kompakten Weise implementiert werden und dennoch für Programmierbarkeit zugänglich sein.
  • Der Spannungsgenerator 300 ist entsprechend programmierbar, um über einen Ausgang 301 eine Spannung Vout zu liefern, die aus einem Bereich von vordefinierten diskreten Gleichspannungspegeln auswählbar ist. Die Vout wird mit einem Temperaturkoeffizienten generiert, der aus einem Bereich von vordefinierten diskreten Temperaturkoeffizienten wählbar ist. Der Spannungsgenerator 300 gibt Vout als eine lineare Funktion der Temperatur aus, bei der die Neigung oder die Geschwindigkeit der Änderung der linearen Funktion der Temperaturkoeffizient ist.
  • Ein On-Chip-Temperatursensor 280 in Form eines PTAT-Generators liefert ein Maß für die Temperatur des Chips und hat einen Ausgang 281, der eine analoge Spannung, Vptat (Temperatur-zu-Spannung), ausgibt. Der Temperatursensor 280 umfasst eine Bandabstandsreferenzgenerierungsschaltung 282.
  • 9A zeigt die Bandabstandsreferenzgenerierungsschaltung, die die analoge Vptat als vordefinierte lineare Funktion der abgetasteten Temperatur T in Grad Kelvin (K) erzeugt. Die Bandabstandsreferenzschaltung erzeugt einen Strom I. Wenn I über einen Widerstand R fließt, generiert er die PTAT-Spannung Vptat(T).
  • 9B zeigt ein Diagramm der analogen Vptat(T). Bis zu einer annähernd ersten Ordnung ist die PTAT-Spannung Vptat(T) linear mit der Temperatur T. Wenn die Temperatur steigt, nimmt auch Vptat(T) zu.
  • Der Spannungsgenerator 300 gibt Vout über einen vorgegebenen Betriebstemperaturbereich von TL bis TH aus. In der Praxis ist der Temperaturbereich der Betriebstemperaturbereich, in dem der Chip erwartungsgemäß funktioniert. Beispielsweise gilt bei einem Speicherchip: TL = -40°C und TH = 85°C. Die entsprechende PTAT-Spannung ist dann Vptat(TL) bzw. Vptat(TH).
  • 10 zeigt den in 8 gezeigten Spannungsgenerator detaillierter. Der Spannungsgenerator 300 enthält einen Analog-Digital-Wandler (ADC) 310, einen digitalen Regler 340 und einen Digital-Analog-Wandler (DAC)/Treiber 380. Man erkennt, dass der Spannungsgenerator 300 kompakt und einfach ist, wobei die größte Kompliziertheit einfach in digitaler Form bearbeitet wird. Im Wesentlichen werden die durch den in 8 gezeigten Sensor 280 erfassten analogen Temperaturen durch den ADC 310 in Quanten von Temperaturstufen digitalisiert, und jedes Quantum oder jede Stufe wird mit einem binären Code, Tcode, codiert. Der digitale Regler 340 berechnet die gewünschte Spannungsfunktion in digitaler Form. Am Ende wird das berechnete Ergebnis durch den DAC/Treiber 380 wieder in eine analoge Vout umgewandelt.
  • Der ADC 310 hat einen Eingang 281 zum Empfangen der Vptat(T), die eine analoge Spannung ist, die proportional zur absoluten Temperatur ist und durch den in 8 gezeigten PTAT-Generatortemperatursensor 280 ausgegeben wird. Der ADC 310 dient dazu, die vom Temperatursensor ausgegebene analoge Spannung Vptat(T) in ein digitales Temperaturcodewort Tcode zwischen TL und TH umzuwandeln.
  • In herkömmlicher Ausführung ist der ADC eine Standard-Flash-ADC, der eine Bank von Komparatoren aufweist, die gleich beabstandete Referenzspannungen, die von einer Referenzwiderstandskette abgegriffen werden, mit einer Spannung vergleichen, die proportional zur absoluten Temperatur (PTAT) ist. Der herkömmliche ADC vergleicht Vptat(T) mit verschiedenen Abgriffspunkten an der Referenzwiderstandskette und gibt einen thermometergemäßen digitalen Code aus, der wiederum unter Verwendung eines Thermometer-Binärcodierers in einen Binärcode umgewandelt wird. Das binäre Ausgangssignal ist eine digitale Darstellung der Temperatur. Somit wird der Betriebstemperaturbereich zwischen TL und TH quantisiert, und jede Quantenstufe wird durch einen Tcode dargestellt. Der digitalisierte erfasste Temperaturwert wird dann durch ein an einem Ausgang 311 ausgegebenes Tcode-Wort dargestellt.
  • Der Digitalregler 340 berechnet die Ausgangsspannung des Spannungsgenerators auf digitale Weise. Er empfängt den Tcode über eine Leitung 311 vom ADC und führt eine Spannungsregelung durch, um ein errechnetes Codewort, Vouti,n, auszugeben. Der DAC/Treiber 380 wandelt das berechneten Codewort Vouti,n in eine entsprechende analoge Vout um, die an einem Ausgang 301 erscheint.
  • US 8.334.796 offenbart einen On-Chip-Gleichspannungsgenerator zum Generieren von linearen Gleichspannungen mit einem programmierbaren negativen Temperaturkoeffizienten. Die gesamte Offenbarung der US 8.334.796 wird hierin durch Bezugnahme aufgenommen. Der verwendete ADC ist ein Standard-Flash-ADC.
  • 11 zeigt einen in 10 gezeigten herkömmlichen ADC (Analog-Digital-Wandler) detaillierter. Ein 3-Bit-Beispiel des ADC 310 ist der Einfachheit halber dargestellt, obwohl im Allgemeinen der ADC ein L-Bit-ADC ist, bei dem 2L = N, Anzahl der digitalen Intervalle. Eine Bitanzahlgeneralisierung ist trivial. Grundsätzlich befindet sich zwischen Masse und einer temperaturunabhängigen Stromquelle 334 eine Referenzwiderstandskette, die aus Rbase 332, R0, R1, R2, ..., R6 mit gleich beabstandeten Spannungsabgriffen Ref0, Ref1, Ref2, ..., Ref6 besteht. Rbase 332 wird so gesetzt, dass die Spannung in Ref0 auf Vptat(T1) liegt und in Ref6 auf Vptat(T2). Auf diese Weise wirkt die Referenzwiderstandskette als Spannungsteiler, der den Temperaturbereich T1 bis T2 im Wesentlichen in 7 Abstufungen T2 teilt.
  • Die Bank von Komparatoren bildet zusammen mit der Referenzwiderstandskette einen Flash-ADC. Die analoge Eingangs-Vptat vom Temperatursensor wird über eine Leitung 281 empfangen und wird auf jeder Ebene der Widerstandskette jeweils mit den Spannungen in Ref0 bis Ref6 verglichen. Zum Beispiel hat der Flash-ADC in der untersten Ebene ein Modul 340, das einen Komparator 344 aufweist, der Vptat mit der Spannung in Ref0 vergleicht. Wenn Vptat steigt, invertiert jeder der Komparatoren, so dass ein Thermometercode entsteht.
  • 12 zeigt einen idealisierten Temperaturcode, Tcode, der vom Codierer des in 8 gezeigten ADC ausgegeben wird. Die Komparatorergebnisse vom ADC-Modul 340 aller Ebenen werden in einen Codierer 324 eingegeben, der den 3-Bit-Tcode ausgibt, der die digitale Temperatur zwischen T1 und T2 darstellt, die der detektierten Vptat entspricht. Der Bereich des ADC 310 wird durch den niedrigsten und den höchsten Referenzabgriff Ref0 bzw. Ref6 begrenzt. Sobald VPTAT über Ref6 steigt, ist der höchste Komparator im ADC invertiert, und daher sättigt sich der Ausgang des ADC als dessen maximaler Ausgangscode. Beispielsweise erstreckt sich der quantisierte Temperaturbereich von TL = -40°C bis TH = 85°C. Dieser Bereich wird durch einen 5-Bit-Flash-ADC mit 31 Komparatoren quantisiert.
  • In der Praxis ist jedoch der in 10 gezeigte Flash-ADC infolge der Ungleichmäßigkeit der einzelnen Komparatoren des ADC nichtlinear.
  • 13 zeigt einen Temperaturcode, Tcode, der vom Codierer eines nichtlinearen ADC ausgegeben wird. Die Nichtlinearität ist eine Fehlerquelle. Dies kann durch einen Vergleich des VPTAT-Werts zwischen dem in 12 gezeigten idealen ADC und dem in 13 gezeigten nichtlinearen ADC veranschaulicht werden. Bei einem Wert T gibt der ideale ADC „001“ als Tcode aus, aber der nichtlinearen ADC gibt „010“ als Tcode aus.
  • HOCI-ILINEARER ADC
  • Anstatt eine herkömmliche Bank von Komparatoren mit einer Kette von Referenzwiderständen zu verwenden, wird eine lineare Rampenspannung verwendet, um die analoge Spannung Taktzyklus für Taktzyklus abzutasten. Die lineare Rampenspannung steigt in N Taktzyklen von einer ersten Spannungsgrenze auf eine zweite Spannungsgrenze. Der digitale Wert der Analogspannung wird ermittelt, indem der der Taktzyklus festgestellt wird, bei dem die Rampenspannung gleich der Analogspannung ist.
  • 14 zeigt einen hochlinearen ADC. Der Analog-Digital-Wandler, ADC, 310 digitalisiert die analoge Eingangs-Vptat(T) zwischen zwei Grenzen VL und VH in eines von N Intervallen und codiert die digitalisierte Vptat(T) dann in einen digitalen Tcode(T). Der ADC 310 enthält einen programmierbaren Rampengenerator 330, eine Rampenzähler 360 und einen Codierer 370, die der Steuerung eines Steuermoduls 380 unterliegen.
  • 15(A) i ist ein Diagramm, das die Rampenspannung Vramp als Funktion der durch den programmierbaren Rampengenerator generierten Zeit zeigt. Die Rampenspannung Vramp ist bei tL auf VL und steigt in N Taktzyklen linear auf VL bei tH.
  • 15(B) ist ein Diagramm, das zusammen mit 15(A) die Rampenspannung Vramp als Funktion des Taktzyklus zeigt. Die Rampenspannung Vramp ist beim Zählwert 0 des Taktzyklus auf VL und steigt linear auf VH beim Zählwert N.
  • 15(C) ist eine alternative Achse des Diagramms von 15(A), die die Rampenspannung Vramp in Abhängigkeit von T (Temperatur) zeigt. Die Rampenspannung Vramp ist bei TL auf VL und steigt linear auf VH bei TH.
  • Die Rampenspannung, Vramp, wird vom Rampenzähler 350 verwendet, um die Spannung Vptat(T) bei einer in 9B gezeigten gegebenen T abzutasten. Wenn der Rampenzähler 350 bis zum x-ten Taktzyklus zählt, wenn Vramp die gleiche Amplitude wie Vptat(T) erreicht, dann ist die entsprechende Temperatur proportional gegeben durch Tx = (x/N) (TH-TL).
  • Der Codierer 370 wird dann verwendet, um Tx in Tcode zu codieren, der ein Mehr-Bit-Codewort ist.
  • 16 zeigt ein Beispiel des programmierbaren Rampengenerators detaillierter. Der programmierbare Rampengenerator 330 generiert eine lineare Spannung, indem ein konstanter Strom verwendet wird, um einen Kondensator zu laden. Der Konstantstrom ist durch eine Widerstands-DAC-Schaltung programmierbar. Der programmierbare Rampengenerator 330 enthält einen Stromspiegel 332, wobei I in einem ersten Stromzweig 340 in einen zweiten Stromzweig 334 gespiegelt wird.
  • Der Strom I im zweiten Stromzweig 334 ist dort, wo der Konstantstrom I einen Kondensator 336 entlädt, und die Ladespannung Vramp wird von einem mit dem Kondensator 336 verbundenen Ausgangsknoten 338 abgegeben. Daher gilt: Δ Vramp = ( I Δ t ) /C
    Figure DE102015116905B4_0001
  • Der Strom I im ersten Stromzweig 340 wird durch einen Transistor 342 in Reihe mit einem Widerstand 344 zur Masse gesteuert. Ein Knoten 346 zwischen dem Transistor 342 und dem Widerstand 342 hat eine Spannung V 1 = IR
    Figure DE102015116905B4_0002
  • Diese Spannung V1 wird durch eine programmierbare Referenzspannungsschaltung gesteuert. Die programmierbare Referenzspannungsschaltung hat eine Konstantstromquelle 350, die einen Strom I0 in einen programmierbaren Widerstands-DAC 352 mit einer programmierbaren Widerstandsgröße RDAC einspeist. Ein Knoten 354 zwischen dem DAC 352 und der Konstantstromquelle 350 hat eine Spannung V DAC ( y ) = I 0 R DAC ( y ) = I 0 yr
    Figure DE102015116905B4_0003
  • Wobei y = 1, 2, 3, ... und r eine Einheitswiderstandsgröße des DAC ist.
  • Ein Operationsverstärker 356 vergleicht V1 mit VDAC(y) und steuert den Transistor 342 entsprechend, um die beiden Spannungen auszugleichen, so dass V DAC ( y ) = V 1
    Figure DE102015116905B4_0004
  • Kombiniert man die Gleichungen 1, 2, 3 und 4, so folgt: I 0 yr = IR = C Δ Vramp/ Δ t I 0 yr = C Δ Vramp/x τ
    Figure DE102015116905B4_0005
    wobei τ eine Taktperiode ist.
  • KALIBRIERUNG DES PROGRAMMIERBAREN RAMPENGENERATORS
  • Wir nehmen an, dass N = 128 und der programmierbare Widerstand des DAC gegeben ist mit y=1 bis 128. In einem nichtkalibrierten Zustand gibt der programmierbare Rampengenerator eine nichtkalibrierte Vramp1 aus, die nicht unbedingt genau N=128 Taktzyklen zwischen VL und VH entspricht.
  • In einem Kalibrierungsmodus des programmierbaren Rampengenerators 330 wird der DAC zu einem DAC(128) programmiert, der eine Widerstandsgröße von 128r bereitstellt. Dies erzeugt eine Rampenspannung, Vramp1, die K Taktzyklen braucht, um von VL auf VH anzusteigen. Daher gilt: I 0 128r = C Δ Vramp1/K τ
    Figure DE102015116905B4_0006
  • In einem Normalmodus des programmierbaren Rampengenerators 330 ist eine kalibrierte Rampenspannung, Vramp, erwünscht, die N=128 Taktzyklen braucht, um von VL auf VH anzusteigen. Da die Gleichung 4, was den Austausch zwischen den beiden Taktzykluszählungen betrifft, symmetrisch ist, kann der DAC im Normalbetrieb auf DAC(K) mit einer Widerstandgröße Kr zurückgesetzt werden. Dies würde bedeuten, dass die folgende Gleichung gleichermaßen gilt: I 0 Kr = C Δ Vramp/128 τ
    Figure DE102015116905B4_0007
  • Und die kalibrierte Vramp braucht dann N=128 Taktzyklen, um wie gewünscht von VL auf VH aufzusteigen. Diese Vramp kann dann verwendet werden, um Vptat abzutasten und zu digitalisieren.
  • 17 zeigt den in 14 gezeigten Rampenzähler detaillierter. Der Rampenzähler 360 enthält einen Zähler 362 zum Zählen einer Anzahl von Taktzyklen von einem Taktsignal CLK über einen Eingang 363. Der Zähler 362 beginnt das Zählen als Antwort auf ein START-Signal und beendet das Zählen als Antwort auf ein STOP-Signal. Die START- und STOP-Signale stammen von den Ausgängen der beiden Komparatoren 364 bzw. 366. Der Komparator 364 vergleicht eine ankommende Spannung Vramp1 oder Vramp von einer Eingangsleitung 365 mit der Referenzspannung VL und aktiviert das START-Signal, wenn Übereinstimmung vorliegt. Der Komparator 366 vergleicht eine erste Eingangsspannung auf einer Leitung 365 mit einer zweiten Eingangsspannung auf einer Leitung 367.
  • Während des Kalibriermodus vergleicht der Komparator 364 Vramp1 mit VL und aktiviert das START-Signal, um das Zählen des Zählers 362 zu starten, wenn Übereinstimmung vorliegt. Der Komparator 366 vergleicht Vramp1 mit VH und aktiviert das STOP-Signal, um den Zähler 362 zu stoppen, wenn Übereinstimmung vorliegt. An dieser Stelle wird der Zählwert K ausgegeben und verwendet, um den DAC im programmierbaren Rampengenerator 330 zurückzusetzen.
  • Im normalen Betriebsmodus vergleicht der Komparator 364 Vramp mit VL und aktiviert das START-Signal, um das Zählen des Zählers 362 zu starten, wenn Übereinstimmung vorliegt. Der Komparator 366 vergleicht Vramp mit Vptat und aktiviert das STOP-Signal, um das Zählen zu stoppen, wenn Übereinstimmung vorliegt. An dieser Stelle wird der Zählwert x ausgegeben. Dies bedeutet, dass in dem Bereich, der von VL bis VH reicht und der in N=128 Intervalle unterteilt worden ist, bestimmt wird, dass Vptat im x-ten Intervall liegt. Dies ergibt dann die digitalisierte Vramp.
  • Die Operationen des Kalibriermodus und des Normalmodus des programmierbaren Rampengenerators 330 und des Rampenzählers 360 werden durch das Steuermodul 380 gesteuert (siehe 14).
  • 18 ist ein Flussdiagramm, das ein Verfahren zum Betreiben eines nichtflüchtigen Speichers zeigt, in dem eine analoge Spannung digitalisiert wird.
  • SCHRITT 400: Betreiben eines nichtflüchtigen Speichers durch Bereitstellung eines analogen Spannungspegels, der in eines von N gleichen digitalen Intervallen digitalisiert wird, die zwischen ersten und zweiten vorgegebenen Spannungspegeln (V1) bzw. (V2) eingegrenzt sind. Übergang zu Schritt 410.
  • Schritt 410: Bereitstellen eines Taktes mit einer Serie von gleichen Taktzyklen. Übergang zu Schritt 420.
  • SCHRITT 420: Bereitstellen einer Rampenspannung mit einem Spannungspegel, der in N Taktzyklen von V1 auf V2 linear steigt, so dass der Rampenspannungspegel in einem x-ten Taktzyklus ein digitaler Pegel der Rampenspannung in einem entsprechenden x-ten digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 ist. Übergang zu Schritt 430.
  • Schritt 430: Vergleichen des Spannungspegels der Rampenspannung mit der analogen Spannung. Übergang zu Schritt 440.
  • Schritt 440: Zählen einer Anzahl von Taktzyklen (x'), wenn der Rampenspannungspegel von V1 angestiegen ist, um dem analogen Spannungspegel zu entsprechen. Übergang zu Schritt 450.
  • Schritt 450: Digitalisieren des analogen Spannungspegels als das entsprechende x-'te digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2.
  • SCHLUSSFOLGERUNG
  • Die vorstehende ausführliche Beschreibung ist zum Zwecke der Veranschaulichung und Beschreibung erfolgt. Sie soll weder erschöpfend sein noch das Obige auf die genaue offenbarte Form beschränken. Im Lichte der vorstehenden Lehre sind viele Modifikationen und Variationen möglich. Die beschriebenen Ausführungsformen wurden gewählt, um die betreffenden Prinzipien und ihre praktische Anwendung zu erklären, um dadurch anderen zu ermöglichen, die verschiedenen Ausführungsformen am besten zu nutzen, und mit verschiedenen Modifikationen, wie sie für die bestimmte beabsichtigte Verwendung geeignet sind. Der Schutzbereich soll durch die hier beigefügten Ansprüche definiert werden.

Claims (11)

  1. Nichtflüchtiger Speicher, umfassend: einen Analog-Digital-(ADC-)Wandler zur Digitalisierung einer analogen Spannung in eines von N gleichen digitalen Intervallen, die zwischen ersten und zweiten vorbestimmten Spannungswerten (V1) bzw. (V2) eingegrenzt sind; wobei der ADC-Wandler ferner umfasst: einen Taktgeber, der eine Serie von gleichen Taktzyklen hat; einen Rampenspannungsgenerator zur Erzeugung eines Rampenspannungspegels, der in N Taktzyklen von V1 auf V2 linear ansteigt, so dass der Rampenspannungspegel in einem x-ten Taktzyklus ein digitaler Pegel der Rampenspannung in einem entsprechenden x-ten digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 ist; einen Komparator zum Vergleichen des Spannungspegels der Rampenspannung mit dem der analogen Spannung; einen Zähler zum Zählen einer Anzahl von Taktzyklen (x'), wenn der Rampenspannungspegel von V1 angestiegen ist, um dem analogen Spannungspegel zu entsprechen; und wobei ein Digitalwert des analogen Spannungspegels als das entsprechende x'-te digitale Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 erzeugt wird; wobei der Rampenspannungsgenerator ferner umfasst: einen Kondensator; eine programmierbare Konstantstromquelle; eine lineare Rampenspannung, die durch die programmierbare Konstantstromquelle erzeugt wird, die den Kondensator lädt; und einen programmierbaren DAC-Widerstand; wobei der programmierbare Konstantstrom proportional zu einem Widerstand des programmierbaren DAC-Widerstands ist; wobei die Rampenspannung eine Rampenrate hat, die proportional zu dem programmierbaren DAC-Widerstand der Widerstandgröße R(x) in einem Bereich zwischen R(1) bis R(N) ist; ferner umfassend: ein Steuermodul zur Steuerung der Operationen des Rampenspannungsgenerators und des Zählers, wobei die Operationen umfassen: Setzen des programmierbaren DAC-Widerstands auf R(N), damit Rampenspannungsgenerator eine nichtkalibrierte Rampenspannung generiert; Bewirken, dass der Zähler eine Anzahl von Taktzyklen (K) zählt, damit die nichtkalibrierte Rampenspannung von V1 auf V2 ansteigt; und Zurücksetzen des programmierbaren DAC-Widerstands proportional zu K, damit der Rampenspannungsgenerator eine kalibrierte Rampenspannung mit einem Spannungspegel generiert, der in N Taktzyklen von V1 auf V2 ansteigt.
  2. Nichtflüchtiger Speicher nach Anspruch 1, wobei der ADC Teil eines nichtflüchtigen Speichers zur Digitalisierung einer temperaturabhängigen Spannung von einem Temperatursensor in einen digitalen Temperaturcode ist; und der digitale Temperaturcode durch einen Spannungsgenerator des nichtflüchtigen Speichers verwendet wird, um Temperatur zu kompensieren.
  3. Nichtflüchtiger Speicher nach Anspruch 1, wobei: der nichtflüchtige Speicher eine Vielzahl von Speicherzellen aufweist; und der ADC zur Digitalisierung einer Spannung dient, die dem Lesen der Speicherzellen zugeordnet ist.
  4. Nichtflüchtiger Speicher nach Anspruch 3, wobei: die Vielzahl von Speicherzellen in einem zweidimensionalen Array organisiert ist.
  5. Nichtflüchtiger Speicher nach Anspruch 3, wobei: die Vielzahl von Speicherzellen in einem dreidimensionalen Array organisiert ist.
  6. Nichtflüchtiger Speicher nach Anspruch 3, wobei: der nichtflüchtige Speicher eine Vielzahl von Speicherzellen aufweist; und die Vielzahl von Speicherzellen in einer NAND-Architektur angeordnet ist.
  7. Nichtflüchtiger Speicher, umfassend: einen Taktgeber, der eine Serie von gleichen Taktzyklen hat; einen Rampenspannungsgenerator zur Erzeugung eines Rampenspannungspegels, der in N Taktzyklen von V1 auf V2 linear ansteigt, so dass der Rampenspannungspegel in einem x-ten Taktzyklus ein digitaler Pegel der Rampenspannung in einem entsprechenden x-ten digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 ist; einen Komparator zum Vergleichen des Spannungspegels der Rampenspannung mit dem einer analogen Spannung; einen Zähler zum Zählen einer Anzahl von Taktzyklen (x'), wenn der Rampenspannungspegel von V1 angestiegen ist, um dem analogen Spannungspegel zu entsprechen; und wobei ein Digitalwert des analogen Spannungspegels als das entsprechende x'-te digitale Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 erzeugt wird; wobei der Rampenspannungsgenerator ferner umfasst: einen Kondensator; eine programmierbare Konstantstromquelle; eine lineare Rampenspannung, die durch die programmierbare Konstantstromquelle erzeugt wird, die den Kondensator lädt; und einen programmierbaren DAC-Widerstand; wobei der programmierbare Konstantstrom proportional zu einem Widerstand des programmierbaren DAC-Widerstands ist; wobei die Rampenspannung eine Rampenrate hat, die proportional zu dem programmierbaren DAC-Widerstand der Widerstandgröße R(x) in einem Bereich zwischen R(1) bis R(N) ist; ferner umfassend: ein Steuermodul zur Steuerung der Operationen des Rampenspannungsgenerators und des Zählers, wobei die Operationen umfassen: Setzen des programmierbaren DAC-Widerstands auf R(N), damit Rampenspannungsgenerator eine nichtkalibrierte Rampenspannung generiert; Bewirken, dass der Zähler eine Anzahl von Taktzyklen (K) zählt, damit die nichtkalibrierte Rampenspannung von V1 auf V2 ansteigt; und Zurücksetzen des programmierbaren DAC-Widerstands proportional zu K, damit der Rampenspannungsgenerator eine kalibrierte Rampenspannung mit einem Spannungspegel generiert, der in N Taktzyklen von V1 auf V2 ansteigt.
  8. Verfahren zum Betreiben eines nichtflüchtigen Speichers, umfassend: Bereitstellen eines analogen Spannungspegels, der in eines von N gleichen digitalen Intervallen zu digitalisieren ist, die zwischen ersten und zweiten vorbestimmten Spannungswerten (V1) bzw. (V2) eingegrenzt sind; Bereitstellen eines Taktes mit einer Serie von gleichen Taktzyklen; Bereitstellen einer Rampenspannung mit einem Spannungspegel, der in N Taktzyklen von V1 auf V2 linear ansteigt, so dass der Rampenspannungspegel in einem x-ten Taktzyklus ein digitaler Pegel der Rampenspannung in einem entsprechenden x-ten digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 ist; Vergleichen des Spannungspegels der Rampenspannung mit dem der analogen Spannung; Zählen einer Anzahl von Taktzyklen (x'), wenn der Rampenspannungspegel von V1 angestiegen ist, um dem analogen Spannungspegel zu entsprechen; und Digitalisieren des analogen Spannungspegels, so dass dieser im entsprechenden x'-ten digitalen Intervall der N gleichen digitalen Intervalle zwischen V1 und V2 liegt; wobei: das Bereitstellen einer Rampenspannung ferner umfasst: Laden eines Kondensators mit einer programmierbaren Konstantstromquelle, um die Rampenspannung bereitzustellen; ferner umfassend: Bereitstellen eines programmierbaren DAC-Widerstandes; und proportionales Setzen einer Widerstandsgröße des programmierbaren DAC-Widerstands, um den programmierbaren Konstantstrom zu programmieren; wobei: die Rampenspannung eine Rampenrate hat, die proportional zu dem programmierbaren DAC-Widerstand der Widerstandsgröße R(x) in einem Bereich zwischen R(1) und R(N) ist; wobei gilt: Setzen des programmierbaren DAC-Widerstands auf R(N), um eine nichtkalibrierte Rampenspannung zu generieren; Zählen einer Anzahl von Taktzyklen (K), damit die nichtkalibrierte Rampenspannung von V1 auf V2 ansteigt; und Zurücksetzen des programmierbaren DAC-Widerstands proportional zu K, um eine kalibrierte Rampenspannung mit einem Spannungspegel zu generieren, der in N Taktzyklen von V1 auf V2 ansteigt.
  9. Verfahren nach Anspruch 8, wobei: die Analogspannung eine temperaturabhängige Spannung von einem Temperatursensor in dem nichtflüchtigen Speicher ist; und die digitalisierte Spannung durch einen Spannungsgenerator des nichtflüchtigen Speichers verwendet wird, um Temperatur zu kompensieren.
  10. Verfahren nach Anspruch 9, wobei: die Vielzahl von Speicherzellen in einem zweidimensionalen Array organisiert ist.
  11. Verfahren nach Anspruch 9, wobei: die Vielzahl von Speicherzellen in einem dreidimensionalen Array organisiert ist.
DE102015116905.3A 2014-10-07 2015-10-05 Hochlinearer Analog-Digital-Wandler und Verfahren für nichtflüchtigen Speicher Expired - Fee Related DE102015116905B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/508,274 US9373408B2 (en) 2014-10-07 2014-10-07 Highly linear analog-to-digital converter and method for nonvolatile memory
US14/508,274 2014-10-07

Publications (2)

Publication Number Publication Date
DE102015116905A1 DE102015116905A1 (de) 2016-04-07
DE102015116905B4 true DE102015116905B4 (de) 2021-04-22

Family

ID=55531328

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015116905.3A Expired - Fee Related DE102015116905B4 (de) 2014-10-07 2015-10-05 Hochlinearer Analog-Digital-Wandler und Verfahren für nichtflüchtigen Speicher

Country Status (3)

Country Link
US (1) US9373408B2 (de)
CN (1) CN105490680B (de)
DE (1) DE102015116905B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014112001A1 (de) * 2014-08-21 2016-02-25 Infineon Technologies Austria Ag Integrierte Schaltung mit einem Eingangstransistor einschließlich einer Ladungsspeicherstruktur
US9837168B1 (en) 2016-09-15 2017-12-05 Globalfoundries Inc. Word line voltage generator for programmable memory array
CN109411001B (zh) * 2017-08-15 2021-07-06 华邦电子股份有限公司 快闪存储器存储装置及其读取方法
CN110197681B (zh) * 2018-02-27 2021-04-27 上海磁宇信息科技有限公司 一种mram读出电路
US11144824B2 (en) * 2019-01-29 2021-10-12 Silicon Storage Technology, Inc. Algorithms and circuitry for verifying a value stored during a programming operation of a non-volatile memory cell in an analog neural memory in deep learning artificial neural network
US11934824B2 (en) 2019-09-05 2024-03-19 Micron Technology, Inc. Methods for performing processing-in-memory operations, and related memory devices and systems
US11693657B2 (en) 2019-09-05 2023-07-04 Micron Technology, Inc. Methods for performing fused-multiply-add operations on serially allocated data within a processing-in-memory capable memory device, and related memory devices and systems
US11829729B2 (en) * 2019-09-05 2023-11-28 Micron Technology, Inc. Spatiotemporal fused-multiply-add, and related systems, methods and devices
US11537861B2 (en) 2020-06-23 2022-12-27 Micron Technology, Inc. Methods of performing processing-in-memory operations, and related devices and systems

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040062085A1 (en) * 2002-10-01 2004-04-01 Sandisk Corporation Voltage generation circuitry having temperature compensation
US20080031066A1 (en) * 2006-08-04 2008-02-07 Prajit Nandi Method and system for independent control of voltage and its temperature co-efficient in non-volatile memory devices
US20080159000A1 (en) * 2006-12-29 2008-07-03 Jun Li Method for controlling voltage in non-volatile memory systems
DE102010050957A1 (de) * 2009-11-12 2011-06-16 Numonyx B.V. Verfahren und Vorrichtung zur Fehlerkorrektur in einem Speicher
US20110289376A1 (en) * 2010-05-19 2011-11-24 Marco Maccarrone Enhanced multilevel memory
US8334796B2 (en) * 2011-04-08 2012-12-18 Sandisk Technologies Inc. Hardware efficient on-chip digital temperature coefficient voltage generator and method
US20140097881A1 (en) * 2012-10-10 2014-04-10 Texas Instruments Incorporated Balanced auxiliary on time generator for multiphase stackable constant on time control architecture

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2780674B2 (ja) * 1995-06-20 1998-07-30 日本電気株式会社 不揮発性半導体記憶装置
US7782674B2 (en) * 2007-10-18 2010-08-24 Micron Technology, Inc. Sensing of memory cells in NAND flash
US7864589B2 (en) * 2008-08-14 2011-01-04 Micron Technology, Inc. Mitigation of runaway programming of a memory device
CN103297048A (zh) * 2012-03-01 2013-09-11 深圳市蓝韵实业有限公司 自校准的ad转换器及ad转换方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040062085A1 (en) * 2002-10-01 2004-04-01 Sandisk Corporation Voltage generation circuitry having temperature compensation
US20080031066A1 (en) * 2006-08-04 2008-02-07 Prajit Nandi Method and system for independent control of voltage and its temperature co-efficient in non-volatile memory devices
US20080159000A1 (en) * 2006-12-29 2008-07-03 Jun Li Method for controlling voltage in non-volatile memory systems
DE102010050957A1 (de) * 2009-11-12 2011-06-16 Numonyx B.V. Verfahren und Vorrichtung zur Fehlerkorrektur in einem Speicher
US20110289376A1 (en) * 2010-05-19 2011-11-24 Marco Maccarrone Enhanced multilevel memory
US8334796B2 (en) * 2011-04-08 2012-12-18 Sandisk Technologies Inc. Hardware efficient on-chip digital temperature coefficient voltage generator and method
US20140097881A1 (en) * 2012-10-10 2014-04-10 Texas Instruments Incorporated Balanced auxiliary on time generator for multiphase stackable constant on time control architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Marotta, G. G. [et al.]: A 3bit/Cell 32Gb NAND Flash Memory at 34nm with 6MB/s Program Throughput and with Dynamic 2b/Cell Blocks Configuration Mode for a Program Throughput Increase up to 13MB/s. In: Digest of technical papers, ISSCC, 2010, S. 444-446. – ISSN 978-1-4244-6034-2 *

Also Published As

Publication number Publication date
CN105490680B (zh) 2018-12-04
US20160099073A1 (en) 2016-04-07
US9373408B2 (en) 2016-06-21
CN105490680A (zh) 2016-04-13
DE102015116905A1 (de) 2016-04-07

Similar Documents

Publication Publication Date Title
DE102015116905B4 (de) Hochlinearer Analog-Digital-Wandler und Verfahren für nichtflüchtigen Speicher
DE60202077T2 (de) Spannungserhöhungs-schaltung mit bestimmung der versorgungsspannung zur kompensation von schwankungen der versorungsspannung beim lesen
DE112017004208B4 (de) 3d-nand mit teilblocklöschen
DE602005004253T2 (de) Speicher, bei dem zum Lesen an die Wortleitung eine Spannungs-Rampe angelegt wird, die mit einem Stromgenerator erzeugt wird
DE112015003761T5 (de) Teilblocklöschung zur datenaktualisierung
DE60018875T2 (de) MRAM mit Leseverstärkern
DE3925153C2 (de)
DE102008005338B4 (de) Integrierter Schaltkreis mit einer Speicherzellenanordnung und Verfahren zum Lesen eines Speicherzellenzustands unter Verwendung einer Mehrzahl von Teil-Leseoperationen
DE112016003636T5 (de) Unter-Block-Modus für nichtflüchtigen Speicher
DE102008032058A1 (de) Mehrpegel-Phasenänderungsspeicher und verwandte Verfahren
CN107039081A (zh) 快速设置低压降调节器
DE4343722A1 (de) Präzisions-Referenzspannungsschaltung
DE102008007685B4 (de) Integrierte Schaltung und Verfahren zum Betreiben einer integrierten Schaltung
DE4232025A1 (de) Elektrisch loeschbarer und programmierbarer nichtfluechtiger halbleiterspeicher mit automatischem schreibpruefungs-controller
DE102018129517A1 (de) Leseverstärker mit negativer schwellenwerterfassung für nicht-flüchtige speicher
DE102007019789A1 (de) Verfahren zum Zugreifen auf eine Speicherzelle in einem integrierten Schaltkreis, Verfahren zum Ermitteln eines Satzes von Wortleitungsspannung-Identifikatoren in einem integrierten Schaltkreis, Verfahren zum Klassifizieren von Speicherzellen in einem integrierten Schaltkreis, Verfahren zum Ermitteln einer Wortleitungsspannung zum Zugreifen auf eine Speicherzelle in einem integrierten Schaltkreis und integrierte Schaltkreise
DE102010037978A1 (de) Nichtflüchtiger Speicher mit prädiktiver Programmierung
DE102018123918A1 (de) Zustandsabhängige Abtastschaltungen und Vorladevorgänge für Speichervorrichtungen
DE102021115501A1 (de) Leseaktualisierung zur verbesserung der leistung bei datenerhaltung für nichtflüchtigen speicher
DE112016000654T5 (de) Mehrzustands-Programmierung für nichtflüchtigen Speicher
DE102019133296A1 (de) Magnetischer direktzugriffspeicher mit wahlschalterspannungskompensation
DE102020105991A1 (de) SUBBLOCK-GRÖßENREDUKTION FÜR NICHTFLÜCHTIGE 3D-SPEICHER
DE112004000588B4 (de) Schneller und genauer Spannungshochsetzer und Verfahren zum Erzeugen einer Hochsetzspannung
DE112019005518T5 (de) Mehrzustandsprogrammierung in einer speichervorrichtung mit schleifenabhängiger bitleitungsspannung während der verifizierung
DE102018106111A1 (de) Selektives Boosting von Strom in Speicherkanälen basierend auf einem Datenmuster oder physischen Nicht-Uniformitäten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: SANDISK TECHNOLOGIES LLC, PLANO, US

Free format text: FORMER OWNER: SANDISK TECHNOLOGIES INC., MILPITAS, CALIF., US

R082 Change of representative

Representative=s name: PROCK, THOMAS, DIPL.-ING. (FH) DR., GB

Representative=s name: MARKS & CLERK LLP, GB

Representative=s name: DEHNS GERMANY, DE

R081 Change of applicant/patentee

Owner name: SANDISK TECHNOLOGIES LLC, PLANO, US

Free format text: FORMER OWNER: SANDISK TECHNOLOGIES INC., MILPITAS, CALIF., US

R082 Change of representative

Representative=s name: MARKS & CLERK LLP, GB

Representative=s name: DEHNS GERMANY, DE

R082 Change of representative

Representative=s name: DEHNS GERMANY, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee