DE102010053557B4 - NAND-Programmiertechnik - Google Patents

NAND-Programmiertechnik Download PDF

Info

Publication number
DE102010053557B4
DE102010053557B4 DE102010053557.5A DE102010053557A DE102010053557B4 DE 102010053557 B4 DE102010053557 B4 DE 102010053557B4 DE 102010053557 A DE102010053557 A DE 102010053557A DE 102010053557 B4 DE102010053557 B4 DE 102010053557B4
Authority
DE
Germany
Prior art keywords
programming
memory cells
word line
programmed
nand
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.)
Active
Application number
DE102010053557.5A
Other languages
English (en)
Other versions
DE102010053557A1 (de
Inventor
Akira Goda
Andrew Bickler
Haitao Liu
Tomoharu Tanaka
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 DE102010053557A1 publication Critical patent/DE102010053557A1/de
Application granted granted Critical
Publication of DE102010053557B4 publication Critical patent/DE102010053557B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

Verfahren, um ein NAND-Speicher-Array zu programmieren, umfassend: eine Wortleitung (WL3) des NAND-Speicher-Arrays auszuwählen, um zumindest zwei Speicherzellen (201), die mit der Wortleitung gekoppelt sind, zu programmieren, wobei die Wortleitung (WL3) mit einer Vielzahl an Speicherzellen (201, 202) gekoppelt ist; die zumindest zwei Speicherzellen (201), die mit der Wortleitung (WL3) gekoppelt sind, zu programmieren, indem eine Programmierspannung Vpgm als ein Doppelimpuls an die Wortleitung angelegt wird, wenn ein Datenmuster, das mit den zumindest zwei zu programmierenden Speicherzellen (201) verbunden ist, ein zweiseitiges Column-Stripe-(CS2)-Datenmuster ist, wobei eine erste Speicherzelle der zumindest zwei Speicherzellen (201) von dem ersten Programmierspannungsimpuls programmiert wird, und eine zweite Speicherzelle der zumindest zwei Speicherzellen (201) von dem zweiten Programmierspannungsimpuls programmiert wird; und die zumindest zwei Speicherzellen (201), die mit der Wortleitung (WL3) gekoppelt sind, zu programmieren, indem eine Programmierspannung Vpgm als ein Einzelimpuls an die Wortleitung angelegt wird, wenn ein Datenmuster, das mit den zumindest zwei zu programmierenden Speicherzellen (201) verbunden ist, kein zweiseitiges Column-Stripe-(CS2)-Datenmuster ist.

Description

  • TECHNISCHES GEBIET
  • Hierin beschriebene Ausführungsformen richten sich im Allgemeinen an das Gebiet von Programmiertechniken für NAND-Speicher-Arrays, und insbesondere an Programmiertechniken zur Beseitigung eines Programm-Stör-Fehlers, der auf einem Datenmuster basiert.
  • US 2008/0055994 A1 offenbart ein Verfahren zum Programmieren von nichtflüchtigem Speicher, das umfasst: Programmieren eines ersten nichtflüchtigen Speicherelements in einer ersten NAND-Kette, wobei die erste NAND-Kette eine erste Gruppe nichtflüchtiger Speicherelemente, eine zweite Gruppe nichtflüchtiger Speicherelemente und ein nichtflüchtiges Grenzspeicherelement, das sich zwischen der ersten Gruppe nichtflüchtiger Speicherelemente und der zweiten Gruppe nichtflüchtiger Speicherelemente befindet, enthält, wobei die erste Gruppe nichtflüchtiger Speicherelemente ein erstes nichtflüchtiges Speicherelement enthält, wobei das Programmieren des ersten nichtflüchtigen Speicherelements das Herstellen eines ersten Programmzustands für das erste nichtflüchtige Speicherelement umfasst.
  • US 2008/0074923 A1 offenbart eine Flash-Speichereinrichtung und ein Verfahren zum Programmieren derselben. Die Flash-Speichervorrichtung enthält eine Anordnung von Speicherzellen, die durch eine Vielzahl von Bitleitungen und eine Vielzahl von Wortleitungen geschnitten werden. Eine Seitenpufferschaltung enthält eine Vielzahl von Latches, die mit einer geraden virtuellen Bitleitung und einer ungeraden virtuellen Bitleitung gekoppelt sind. Die Seitenpufferschaltung ist so konfiguriert, dass sie Daten in das Array von Speicherzellen in Abhängigkeit von einer Auswahlschaltung lädt, die so strukturiert ist, dass sie zumindest einige der Bitleitungen mit der Vielzahl von Zwischenspeichern der Seitenpufferschaltung elektrisch koppelt.
  • US 6181599 B1 offenbart eine Programmstörung in einem Flash-Speicher-Array, die durch Anlegen eines Spannungspegels, der von dem Schwellenwert einer zuvor programmierten Zelle bis zur Wortleitung dieser Zelle während der Programmierung von nachfolgenden Zellen auf derselben Bitleitung abhängt, reduziert wird. Durch das Anlegen höherer Spannungen an Wortleitungen, die nicht ausgewählte programmierte Speicherzellen mit höheren Schwellenspannungen enthalten, wird die Programmstörung aufgrund dieser höheren Schwellenzellen reduziert.
  • HINTERGRUND
  • 1 zeigt ein vereinfachtes schematisches Diagramm eines beispielhaften Teils eines Column-Stripe-Musters für ein Speicher-Array 100 eines NAND-Flash-Speichergeräts.
  • Bei 1 ist eine Serie von NAND-Speicherketten 120 in Speicher-Array 100 angeordnet und mit Bitleitungen BL0–BL5 und Source-Leitungen SL (von denen lediglich eine Source-Leitung SL gezeigt ist) gekoppelt. Bei jeder NAND-Speicherkette 120 ist eine Serie von Floating Gate-, oder Floating Node-, FET-Speicherzellen 102 Source-zu-Drain miteinander gekoppelt, um eine NAND-Speicherkette 120 (typischerweise mit 8, 16, 32 oder mehr Zellen) zu bilden. Jede Floating Gate/Node-FET-Speicherzelle 102 weist einen Gate-Isolator-Stapel auf, der über einem Kanalgebiet gebildet ist. Um weiter Betrieb zu ermöglichen, ist jede NAND-Speicherkette 120 von Speicher-Array 100 in einem Isolationsgraben (nicht gezeigt) gebildet, wobei es dem Substrat eines jeden Isolationsgrabens ermöglicht wird, zur Programmierung und Löschung auf wohlbekannte Art und Weise individuell vorgespannt zu werden.
  • Wortleitungen WL0–WL65 kreuzen die NAND-Speicherketten 120 und koppeln die Steuer-Gates von Speicherzellen 102 in benachbarten Speicherketten 120, um eine einzelne Speicherzelle 102 in jeder NAND-Speicherkette 120 freizugeben oder auszuwählen. Bei jeder NAND-Speicherkette 120 sind störstoffdotierte Gebiete (typischerweise ein N+ Störstoff) zwischen jedem Gate-Isolator-Stapel gebildet, um die Source- und Drain-Gebiete der benachbarten Speicherzellen 102 zu bilden, die zusätzlich als Verbinder arbeiten, um die Zellen der NAND-Kette 120 miteinander zu koppeln. Bei einer beispielhaften alternativen Ausführungsform sind die N+-dotierten Gebiete weggelassen und ein einzelnes Kanalgebiet ist unter einer NAND-Speicherkette 120 gebildet, wobei die individuellen Speicherzellen 102 gekoppelt werden. Jede NAND-Speicherkette 120 ist gekoppelt, um Gates 104 auszuwählen, die an beiden Enden einer jeden NAND-Speicherkette 120 gebildet sind, und um gegenüberliegende Enden einer jeden NAND-Speicherkette 120 mit einer Bitleitung (bit line) BL und mit einer Source-Leitung (source line) SL selektiv zu koppeln. Die Auswahl-Gates 104 sind je mit Gate-Auswahlleitungen gekoppelt, d. h. Auswahl-Gate-Drain (select gate drain) SDS und Auswahl-Gate-Source (select gate source) SGS, die die Kopplung von NAND-Speicherketten 120 mit den Bitleitungen BL bzw. Source-Leitungen SL über Auswahl-Gates 104 steuern.
  • Auf NAND-Speicher-Array 100 wird auf wohlbekannte Art und Weise durch einen Zeilen-Decoder (nicht gezeigt) zugegriffen, der eine Zeile von Speicherzellen aktiviert, indem er eine bestimmte Wort-Auswahlleitung WL auswählt, die mit den Gates der Speicherzellen-Zeile gekoppelt ist. Wortleitungen WL, die mit den Gates der nicht ausgewählten Speicherzellen einer jeden NAND-Speicherkette 120 gekoppelt sind, werden ebenfalls betrieben. Die nicht ausgewählten Speicherzellen einer jeden NAND-Speicherkette 120 werden jedoch typischerweise von einer höheren Gatespannung betrieben, um sie als Leit-Transistoren zu betreiben, wobei es ihnen ermöglicht wird, Strom auf eine Art zu leiten, die von ihren gespeicherten Datenwerten uneingeschränkt ist. Strom fließt dann von der Source-Leitung SL durch jede Floating Gate/Node-Speicherzelle der in Serie geschalteten NAND-Speicherkette zu der Column-Bitleitung BL. Der Strom, der in den entsprechenden Bitleitungen BL fließt, ist lediglich durch die gespeicherten Datenwerte der Zeile ausgewählter Speicherzellen eingeschränkt. Eine Column-Page von Bitleitungen wird ausgewählt und erkannt, und dann werden individuelle Datenwörter aus den erkannten Datenwörtern von der Column-Page ausgewählt und von dem Speichergerät kommuniziert.
  • Bei einigen beispielhaften Ausführungsformen ist NAND-Speicher-Array 100 derart konfiguriert, dass geradzahlige Bitleitungen (d. h. BL0, BL2, BL4 etc.) als Teil einer geradzahligen Column-Page konfiguriert sind, und ungeradzahlige Bitleitungen (d. h. BL1, BL3 etc.) als Teil einer ungeradzahligen Column-Page konfiguriert sind. Bei anderen beispielhaften Ausführungsformen ist NAND-Speicher-Array 100 als ein Array ohne eine geradzahlige und ungeradzahlige Column-Page-Anordnung konfiguriert.
  • Die herkömmliche Programmiertechnik für Flash/EEPROM-Speicher programmiert ein Bit oder eine Zeile (herkömmlicherweise als eine Page bezeichnet) eines NAND-Speicher-Arrays indem eine Programmierspannung oder Serie von Programmierspannungsimpulsen an die Steuer-Gates der ausgewählten Speicherzellen angelegt wird, und indem die ausgewählten Speicherzellen programmiert (oder blockiert) werden, um entweder zu programmieren (auf logische „0” setzen, indem eine Ladung an dem Floating Gate oder Floating Node einer Speicherzelle eingeführt wird) oder zu blockieren (nicht programmieren, herkömmlicherweise soll die Zelle gelöscht und auf logische „1” gesetzt bleiben), indem ihre Kanäle entweder mit einer Programm- oder Blockierspannung gekoppelt werden.
  • Bei herkömmlichen Programmieroperationen bei Flash/EEPROM-Speicher-Arrays mit NAND-Architektur, wie z. B. von NAND-Speicher-Array 100 dargestellt, ist eine Programmierspannung mit einer Wortleitung WL gekoppelt, die mit dem Gate der ausgewählten Speicherzelle einer NAND-Speicherkette 120 gekoppelt ist. Die Wortleitungen WL, die mit den Gates der nicht ausgewählten Speicherzellen einer jeden NAND-Speicherkette 120 gekoppelt sind, werden ebenfalls von einer Leit-Gatespannung Vpass betrieben, um die nicht ausgewählten Speicherzellen der Speicherkette 120 als Leit-Transistoren zu betreiben, und um einen Kanal von Trägern mittels kapazitiver Kopplung in den nicht ausgewählten Speicherzellen zu generieren, sodass die nicht ausgewählten Speicherzellen Strom auf eine Art leiten, die von ihren entsprechenden gespeicherten Datenwerten relativ uneingeschränkt ist. Die NAND-Speicherkette 120 wird dann typischerweise mit einer Bitleitung BL (oder einer Source-Leitung SL) gekoppelt, auf der eine Programmspannung platziert ist. Die angelegte Leit-Spannung Vpass ermöglicht ebenfalls ein Generieren eines Kanals von Trägern in der NAND-Speicherkette 120 und ermöglicht es der Speicherzelle, die zur Programmierung ausgewählt wurde, über diesen Kanal von Trägern mit der Bitleitung BL (oder der Source-Leitung SL) zu koppeln, wobei ein Feld über die zur Programmierung ausgewählte Speicherzelle angelegt wird, das Träger dazu veranlasst, zu dem Floating Gate oder der Ladungseinfangschicht zu tunneln, wobei das Schwellenspannungsniveau Vt der ausgewählten Speicherzelle geändert und der Datenwert gespeichert wird. Wenn eine Programm-Blockier-Spannung auf der gekoppelten Bitleitung BL oder Source-Leitung SL platziert wird (auch als Boosting bezeichnet), wird das von der Programm-Blockier-Spannung generierte, angelegte Feld als zum Tunneln von Trägern zu dem Floating Gate/Node als nicht ausreichend ausgewählt und kein Datenwert wird programmiert und die Speicherzelle verbleibt in dem gelöschten Zustand.
  • Nach einer Programmierung der ausgewählten Speicherzelle(n) wird dann eine Verifizierungsoperation durchgeführt, um zu bestätigen, dass die Daten erfolgreich programmiert wurden. Wenn die programmierte(n) Speicherzelle(n) des Löschblockes nicht verifiziert werden, werden der Programm- und Verifizierungszyklus solange wiederholt, bis die Daten erfolgreich programmiert sind oder eine ausgewählte Anzahl an Iterationen verstrichen ist und die Programmieroperation als fehlgeschlagen gilt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Hierin offenbarte Ausführungsformen werden exemplarisch und in keiner Weise einschränkend in den Figuren der begleitenden Zeichnungen veranschaulicht, bei denen sich gleiche Bezugsnummern auf ähnliche Elemente beziehen, und bei denen:
  • 1 ein vereinfachtes schematisches Diagramm eines beispielhaften Teils eines Column-Stripe-Musters für ein Speicher-Array 100 eines NAND-Flash-Speichergeräts zeigt;
  • 2 ein vereinfachtes schematisches Diagramm eines Teils eines Column-Stripe-Musters eines NAND-Speicher-Arrays 200 zeigt, um ein zweiseitiges Column-Stripe-(CS2)-Datenmuster besser zu veranschaulichen;
  • 3A3C jeweils Schnittzeichnungen von drei Kanälen 301303 darstellen, die unterschiedliche Datenmuster gemäß dem hierin offenbarten Gegenstand bilden;
  • 4 eine beispielhafte Ausführungsform eines Programmierprozesses, der CS2-Datenmuster während einer Programmierung gemäß dem hierin offenbarten Gegenstand ergibt, einem herkömmlichen Programmierprozess gegenüberstellt;
  • 5 eine weitere beispielhafte Ausführungsform eines Programmierprozesses, der CS2-Datenmuster während einer Programmierung gemäß dem hierin offenbarten Gegenstand ergibt, einem herkömmlichen Programmierprozess gegenüberstellt;
  • 6A und 6B jeweils einen Programmierfortschritt eines NAND-Arrays darstellen, und 15 die relative Wahrscheinlichkeit eines CS2-Datenmusters während einer Programmierung gemäß dem hierin offenbarten Gegenstand;
  • 7 ein Ablaufdiagramm einer beispielhaften Ausführungsform eines Programmierprozesses einer Page eines NAND-Speicher-Arrays zeigt, basierend auf einer Bestimmung von Fortschritt durch den Programmierprozess (eine Schleifenzählung) gemäß dem hierin offenbarten Gegenstand;
  • 8 eine Darstellung des Prozesses von Ablaufdiagramm von 6 ist, wenn die Bestimmung zur Verwendung der Doppelimpuls-Programmiertechnik auf Fortschritt durch den Programmierprozess (d. h. eine Schleifenzählung) basiert;
  • 9 ein Ablaufdiagramm einer beispielhaften Ausführungsform eines Programmierprozesses einer Page eines NAND-Speicher-Arrays zeigt, basierend auf einer Bestimmung von, die auf einer Bestimmung des Betrages der Programmierspannung Vpgm gemäß dem hierin offenbarten Gegenstand basiert;
  • 10 ein Ablaufdiagramm einer beispielhaften Ausführungsform eines Programmierprozesses einer Page eines NAND-Speicher-Arrays zeigt, basierend auf einer Bestimmung von, die auf der Erkennung eines CS2-Datenmusters gemäß dem hierin offenbarten Gegenstand basiert;
  • 11 eine beispielhafte Schaltkreiskonfiguration darstellt, um ein CS2-Datenmuster gemäß dem hierin offenbarten Gegenstand zu erkennen; und
  • 12 ein Produkt darstellt, umfassend: ein computerlesbares Medium auf dem Befehle gespeichert sind, die, wenn sie ausgeführt werden, zu irgendeinem oder einer Kombination der hierin offenbarten beispielhaften Prozesse führen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Hierin beschriebene Ausführungsformen von Techniken betreffen Programmiertechniken zur Programmierung eines NAND-Speicher-Arrays, um Programm-Stör-Fehler, die mit einem bestimmten Datenmuster verbunden sind, zu beseitigen. In der folgenden Beschreibung werden zahlreiche spezifische Details angeführt, um ein gründliches Verständnis hierin offenbarter Ausführungsformen bereitzustellen.
  • Der hierin offenbarte Gegenstand betrifft Programmiertechniken zur Programmierung eines NAND-Speicher-Arrays, um Programm-Stör-Fehler für ein bestimmtes Datenmuster zu beseitigen. Wenn ein NAND-Speicher-Array, wie z. B. das in 1 gezeigte beispielhafte NAND-Array, in einer Column-Page-Anordnung konfiguriert ist, bei der geradzahlige Bitleitungen (NAND-Speicherketten) Teil einer 20 geradzahligen Column-Page sind und ungeradzahlige Bitleitungen (NANDSpeicherketten) Teil einer ungeradzahligen Column-Page sind, kann die Boosting-Effizienz eines Kanals während einer Programmierung vermindert sein, wenn ein nicht geboosteter Kanal (bei ungefähr 0 V) sich zu beiden Seiten eines geboosteten Kanals (bei ungefähr 6 V) befindet, d. h. wenn sich der geboostete Kanal direkt zwischen zwei nicht geboosteten Kanälen befindet, was wahrscheinlich einen Programm-Stör-Fehler hervorruft. Das Datenmuster, bei dem sich ein geboosteter Kanal direkt zwischen zwei nicht geboosteten Kanälen befindet, wird hierin als ein zweiseitiges Column-Stripe-(CS2)-Datenmuster bezeichnet. Eine Verminderung der Boosting-Effizienz wird durch die kapazitive Kopplung zwischen dem geboosteten Kanal und den benachbarten nicht geboosteten Kanälen hervorgerufen. Zusätzlich kann das zwischen dem geboosteten Kanal und den benachbarten nicht geboosteten Kanälen unterschiedliche Potential ein elektrisches Feld entwickeln, das einen Anschlussverlust hervorrufen kann, der zu einem Verlust der Boosting-Spannung führt. Somit erhöht das Auftreten eines CS2-Datenmusters die Wahrscheinlichkeit eines Programm-Stör-Fehlers. Von einem CS2-Datenmuster hervorgerufene Programm-Stör-Fehler werden hierin als CS2-Stör-Fehler bezeichnet.
  • 2 zeigt ein vereinfachtes schematisches Diagramm eines Teils eines Column-Stripe-Musters eines NAND-Speicher-Arrays 200, um ein zweiseitiges Column-Stripe-(CS2)-Datenmuster besser zu veranschaulichen. Der in 2 gezeigte Teil von NAND-Speicher-Array 200 beinhaltet lediglich sechs Bitleitungen BL1–BL6 und lediglich sechs Wortleitungen WL1–WL6. Andere Leitungen, wie z. B. Auswahl-Leitungen, sind der Klarheit von 2 halber in 2 nicht gekennzeichnet. Die ungeradzahligen Bitleitungen BL1, BL3 und BL5 sind derart angeordnet, dass sie Teil einer ungeradzahligen Column-Page sind, und die geradzahligen Bitleitungen BL2, BL4 und BL6 sind derart angeordnet, dass sie Teil einer geradzahligen Column-Page sind. Es sollte selbstverständlich sein, dass Speicher-Array 200 zum Zwecke der Veranschaulichung dient und es sollte nicht als einschränkend verstanden werden, und es sollte selbstverständlich sein, dass andere Ausführungsformen eines NAND-Speicher-Arrays ein dem in 2 dargestellten ähnliches zweiseitiges Column-Stripe-Datenmuster beinhalten könnten.
  • Um ein CS2-Datenmuster zu veranschaulichen, wird eine Situation betrachtet, bei der eine Programmierspannung Vpgm von ungefähr 20 V an Wortleitung WL3 angelegt ist, um Speicherzellen 201 zu programmieren. Wortleitung WL3 ist ebenfalls mit mehreren anderen Speicherzellen 202 gekoppelt, die bei diesem Beispiel nicht programmiert werden sollen. Speicherzellen 201, die programmiert werden sollen und in diesem Fall Teil einer geradzahligen Column-Page sind, sind durch einen Kreis, der durch eine durchgezogene Linie gebildet wird, angezeigt. Speicherzellen 202, die nicht programmiert werden sollen, sind durch einen Kreis, der durch eine gestrichelte Linie gebildet wird, angezeigt. Die Speicherzellen 202, die mit Bitleitungen BL1, BL3 und BL5 gekoppelt sind, sind Teil einer ungeradzahligen Column-Page. Speicherzelle 202, die mit Bitleitung BL6 gekoppelt ist, ist Teil der geradzahligen Column-Page. Da Speicherzellen 201 programmiert werden sollen, ist der unter den beiden Speicherzellen 201 verlaufende Kanal auf wohlbekannte Art und Weise durch ihre entsprechenden Bitleitungen mit 0 V gekoppelt. Die entlang von Bitleitungen BL2 und BL4 gezeigten Hatch-Blöcke stellen Kanäle dar, die mit 0 V gekoppelt wurden. Im Gegensatz zu Speicherzellen 201 sind die unter Speicherzellen 202, die nicht programmiert werden sollen, verlaufenden Kanäle potentialfrei, da die Auswahl-Gates an diesen Bitleitungen ausgeschaltet sind und durch kapazitive Kopplung mit den WL-Spannungen von Vpass bei ungefähr 10 V auf ungefähr 6 V geboostet sind. Bitleitungen BL1, BL3 und BL5 sind blockiert, da die ungeradzahlige Page nicht ausgewählt ist. Bitleitung BL6 ist blockiert, da ihre Programmierung abgeschlossen ist. Demnach stellen die entlang von Bitleitungen BL1, BL3, BL5 und BL6 gezeigten Hatch-Blöcke Kanäle dar, die auf ungefähr 6 V geboostet wurden. Ein CS2-Datenmuster ist innerhalb des Bereichs angezeigt, der von einer durchgezogenen Linie umschlossen ist.
  • 3A stellt eine Schnittzeichnung von drei Kanälen 301303 dar, die ein CS2-Datenmuster gemäß dem hierin offenbarten Gegenstand bilden. Insbesondere Kanal 302, der auf ungefähr 6 V geboostet ist, befindet sich direkt zwischen Kanälen 301 und 303, die nicht geboostet sind und sich bei 0 V befinden, um programmiert zu werden. Die in 3A dargestellten Kanäle 301303 entsprechen den mit Bitleitungen BL2–BL4 gekoppelten Kanälen. Die Boosting-Effizienz von Kanal 302 ist aufgrund der kapazitiven Kopplung, wie durch Kondensatoren 304 dargestellt, zwischen geboostetem Kanal 302 und den benachbarten nicht geboosteten Kanälen 301 und 303 vermindert. Zusätzlich kann das zwischen geboostetem Kanal 302 und den benachbarten nicht geboosteten Kanälen 301 und 303 unterschiedliche Potential ein elektrisches Feld entwickeln, das einen Anschlussverlust, wie von Pfeilen 305 dargestellt, hervorrufen kann, der zu einem Verlust der Boosting-Spannung führt.
  • Zu Beginn des Programmierprozesses, wenn das NAND-Speicher-Array, wie z. B. NAND-Speicher-Array 100 in 1, vollständig unprogrammiert ist, ist die Wahrscheinlichkeit eines CS2-Datenmusters relativ hoch. Wenn die Programmierung fortschreitet und mehr NAND-Speicher-Array programmiert ist, beginnt sich die Wahrscheinlichkeit eines CS2-Datenmusters allmählich zu verringern (abhängig von der Größe des Speicher-Arrays), und die Wahrscheinlichkeit für ein einseitiges Column-Stripe-(CS1)-Datenmuster (3B) oder ein null-seitiges Column-Stripe-(CS0)-Datenmuster (3C) steigt. 3B stellt eine Schnittzeichnung von drei Kanälen 306308 dar, die ein CS1-Datenmuster gemäß dem hierin offenbarten Gegenstand bilden. Kanäle 306 und 307 sind auf ungefähr 6 V geboostet und Kanal 308 ist nicht geboostet und befindet sich bei ungefähr 0 V. 3C stellt eine Schnittzeichnung von drei Kanälen 309, 310 und 311 dar, die alle auf ungefähr 6 V geboostet sind. Für ein CS1-Datenmuster ist die Boosting-Effizienz nicht derart vermindert wie für ein CS2-Datenmuster. Für ein CS0-Datenmuster ist die Boosting-Effizienz nicht vermindert.
  • Demnach stellt der hierin offenbarte Gegenstand einen Programmierprozess bereit, der CS2-Datenmuster während einer Programmierung ergibt, und dabei eine Boosting-Effizienz eines Kanals während einer Programmierung verbessert, indem CS2-Stör-Fehler beseitigt werden.
  • 4 stellt eine beispielhafte Ausführungsform eines Programmierprozesses, der CS2-Datenmuster während einer Programmierung gemäß dem hierin offenbarten Gegenstand ergibt, einem herkömmlichen Programmierprozess gegenüber. Bei 4 ist eine beispielhafte Anordnung von Bitleitungen für eine geradzahlige und eine ungeradzahlige Page-Architektur bei 401 dargestellt. Bitleitungen für die geradzahlige Page sind als durchgezogene Linien dargestellt und Bitleitungen für die ungeradzahlige Page sind als gestrichelte Linien dargestellt. Bei diesem Beispiel soll die geradzahlige Page programmiert und verifiziert werden. Bei 402 in 4 wird jede andere geradzahlige Bitleitung (d. h. die als even_0 benannten Bitleitungen) während eines ersten Programmierimpulses Pgm_e0 programmiert. Während eines zweiten Programmierimpulses Pgm_e1 werden die als even_1 benannten Bitleitungen programmiert. Ein Fortschritt durch den Programmierprozess wird durch den Pfeil oben in der Mitte von 4 angezeigt. Alle Bitleitungen der geradzahligen Page werden gemeinsam verifiziert. Durch diesen Ansatz gibt es keine CS2-Datenmuster, die einen Programm-Stör-Fehler hervorrufen können. Dieselbe Technik würde für eine Programmierung der Bitleitungen der ungeradzahligen Page verwendet. Das heißt, dass die Bitleitungen der ungeradzahligen Page auf alternierende Art und Weise gruppiert würden und jede Gruppe würde segmentweise programmiert werden. Alle Bitleitungen der ungeradzahligen Page würden gemeinsam verifiziert. Im Gegensatz dazu würde bei 403 in 4 ein herkömmlicher Programmierprozess alle Bitleitungen der geradzahligen Page (benannt als sowohl even_0 als auch even_1) während eines einzigen Programmimpulses Pgm_e programmieren. Ein Fortschritt durch den herkömmlichen Programmierprozess wird durch den Pfeil oben rechts von 4 angezeigt. Durch den herkömmlichen Ansatz gibt es CS2-Datenmuster, die einen Programm-Stör-Fehler hervorrufen können.
  • 5 stellt eine weitere beispielhafte Ausführungsform eines Programmierprozesses, der CS2-Datenmuster während einer Programmierung gemäß dem hierin offenbarten Gegenstand ergibt, einem herkömmlichen Programmierprozess gegenüber. Bei 5 ist eine beispielhafte Anordnung von Bitleitungen für eine Gesamt-Bitleitungs-Architektur bei 501 dargestellt. Um den Programmierprozess gemäß dem hierin offenbarten Gegenstand zu veranschaulichen, wurden die Bitleitungen als BL_0, BL_1 und BL_2 benannt. Bei 502 in 5 wird jede als BL_0 benannte Bitleitung während eines ersten Programmierimpulses Pgm_0 programmiert. Während eines zweiten Programmierimpulses Pgm_1 wird jede als BL_1 benannte Bitleitung programmiert. Während eines dritten Programmierimpulses Pgm_2 wird jede als BL_2 benannte Bitleitung programmiert. Ein Fortschritt durch den Programmierprozess wird durch den Pfeil oben in der Mitte von 5 angezeigt. Alle Bitleitungen werden dann gemeinsam verifiziert. Durch diesen Ansatz gibt es keine CS2-Datenmuster, die einen Programm-Stör-Fehler hervorrufen können. Im Gegensatz dazu würde bei 503 in 5 ein herkömmlicher Programmierprozess alle Bitleitungen während eines einzigen Programmimpulses Pgm programmieren. Ein Fortschritt durch den herkömmlichen Programmierprozess wird durch den Pfeil oben rechts von 5 angezeigt. Durch den herkömmlichen Ansatz gibt es CS2-Datenmuster, die einen Programm-Stör-Fehler hervorrufen können.
  • 6A und 6B stellen jeweils einen Programmierfortschritt eines NAND-Arrays und die relative Wahrscheinlichkeit eines CS2-Datenmusters während einer Programmierung gemäß dem hierin offenbarten Gegenstand dar. Beim Ursprung in 6A beginnt der Programmierprozess eines NAND-Arrays, wie z. B. NAND-Array 100 in 1. Bei einem Extrem sind die beiden Column-Pages des NAND-Arrays vollständig unprogrammiert; folglich ist die Wahrscheinlichkeit eines CS2-Datenmusters (3A) sehr hoch, wie von der Position einer relativen Wahrscheinlichkeitskurve 601 nahe des Ursprungs von 6B dargestellt. Es sollte dennoch selbstverständlich sein, dass der Programmierprozess nicht mit dem vollständig umprogrammierten NAND-Array beginnen muss. Da die Wahrscheinlichkeit eines CS2-Datenmusters sehr hoch ist, verwendet der Programmierprozess eine relativ geringe Vpgm, um das Risiko eines CS2-Stör-Fehlers zu verringern. Die relativ geringe Vpgm ist auf der linken Seite von 6A als ein relativ geringer Spannungsimpuls dargestellt (d. h. ein kurzer senkrechter Strich). Nach einem Programmierimpuls wird eine Verifizierung auf eine wohlbekannte Art und Weise nach einem Programmierimpuls durchgeführt, wie von einer Reihe von Verifizierungsimpulsen dargestellt.
  • Wenn die Programmierung in 6A fortschreitet, zeigt 6B, dass sich die Wahrscheinlichkeit eines CS2-Datenmusters allmählich zu verringern beginnt. In einigen Fällen, kann, wenn die Programmierung fortschreitet, ein CS2-Datenmuster (3A) auftreten. In anderen Fällen kann ein einseitiges Column-Stripe-(CS1)-Datenmuster (3B) auftreten, oder ein null-seitiges Column-Stripe-(CS0)-Datenmuster (3C) kann auftreten. Zur gleichen Zeit während die Programmierung fortschreitet, wird die Vpgm-Spannung allmählich erhöht, um die erhöhte Programmierspannung zu ergeben, die zum Programmieren einer Speicherzelle erforderlich ist, wenn mehr Speicher-Array programmiert ist. Während dieser Phase des Programmierprozesses wird eine Einzelimpuls-Programmiertechnik verwendet, wie von dem Bereich links des Bereichs angezeigt, der von der gestrichelten Linie umschlossen wird, die sich zwischen 6A und 6B erstreckt.
  • Wenn der Programmierprozess fortschreitet beginnt sich an irgendeinem Punkt während des Programmierprozesses die Wahrscheinlichkeit eines CS2-Datenmusters schneller zu verringern und, wie von dem Bereich angezeigt, der innerhalb der gestrichelten Linie umschlossen wird, die sich zwischen 6A und 6B erstreckt, wird eine Doppelimpuls-Programmiertechnik gemäß dem hierin offenbarten Gegenstand verwendet, die die verringerte Wahrscheinlichkeit von CS2-Datenmustern ergibt, und die eine Boosting-Effizienz eines Kanals während der Programmierung verbessert und die Wahrscheinlichkeit von CS2-Stör-Fehlern verringert. Die Doppelimpuls-Technik gemäß dem hierin offenbarten Gegenstand verwendet zwei Programmierimpulse, um zwei Speicherzellen, die durch einen Kanal getrennt sind, der eine geboostete (Blockier)-Spannung (d. h. 3A) aufweist, der Reihe nach zu programmieren. Das heißt unter Bezugnahme auf 3A, dass, wenn ein CS2-Datenmuster vorhanden ist, ein erster Programmierimpuls verwendet wird, um die mit Kanal 301 verbundene Speicherzelle zu programmieren, und ein zweiter Programmierimpuls verwendet wird, um die mit Kanal 303 verbundene Speicherzelle zu programmieren. Während die Doppelimpuls-Programmiertechnik den Programmierprozess verlängert, verringert die Doppelimpuls-Programmiertechnik zweckmäßigerweise die Wahrscheinlichkeit von CS2-Stör-Fehlern indem CS1-Datenmuster erzeugt werden.
  • Wenn der Programmierprozess weitergeht, wird die Wahrscheinlichkeit eines CS2-Datenmusters relativ gering, auch wenn die Programmierspannung Vpgm allmählich erhöht wurde, aber das Risiko eines CS2-Stör-Fehlers ist gering. Folglich wird die Doppelimpuls-Programmiertechnik nicht benötigt und der Programmierprozess kehrt zu einer Einzelimpuls-Programmiertechnik zurück. Dieser Teil des Programmierprozesses wird von dem Bereich rechts des Bereichs angezeigt, der von der gestrichelten Linie umschlossen wird, die sich zwischen 6A und 6B erstreckt.
  • Zu Beginn des Programmierprozesses eines NAND-Arrays ist die Wahrscheinlichkeit, auf ein CS2-Datenmuster zu treffen, relativ hoch, sodass die Doppelimpuls-Programmiertechnik des hierin offenbarten Gegenstandes für den gesamten Programmierprozess verwendet werden könnte; da jedoch eine geringere Programmierspannung Vpgm verwendet wird, ist die Wahrscheinlichkeit eines CS2-Stör-Fehlers relativ gering. Folglich können die Vorteile der verringerten Wahrscheinlichkeit für einen CS2-Stör-Fehler, die durch Verwendung der Doppelimpuls-Programmiertechnik erhalten werden, von dem Anstieg der Gesamtzeit des Programmierprozesses aufgewogen werden.
  • Gemäß dem hierin offenbarten Gegenstand gibt es drei Haupttechniken, die verwendet werden können, um zu bestimmen, wann die Doppelimpuls-Programmiertechnik während eines NAND-Programmierprozesses verwendet werden sollte. Die erste Haupttechnik basiert auf dem Fortschritt des Programmierprozesses, wie auf einer Schleifenzählung basierend, d. h. die Anzahl an Programmimpulsen, die eine bestimmte Page empfangen soll. Die zweite Haupttechnik zum Bestimmen, warm die Doppelimpuls-Programmiertechnik verwendet werden sollte, basiert auf einem relativen Betrag der Programmierspannung Vpgm. Die dritte Haupttechnik basiert auf der Erkennung eines CS2-Datenmusters. Es sollte selbstverständlich sein, dass andere Techniken zum Bestimmen, wann die Doppelimpuls-Programmiertechnik verwendet werden sollte, auf einer Kombination von zumindest zwei oder mehr der drei Haupttechniken basieren könnten.
  • 7 zeigt ein Ablaufdiagramm 700 einer beispielhaften Ausführungsform eines Programmierprozesses einer Page eines NAND-Speicher-Arrays, basierend auf einer Bestimmung von Fortschritt durch den Programmierprozess (eine Schleifenzählung) gemäß dem hierin offenbarten Gegenstand. 8 ist eine Darstellung des Prozesses von Ablaufdiagramm 700 von 7, wenn die Bestimmung zur Verwendung der Doppelimpuls-Programmiertechnik auf Fortschritt durch den Programmierprozess (d. h. eine Schleifenzählung) basiert. Bei Schritt 701 beginnt der Programmierprozess und eine variable Schleifenzählung wird auf 1 gesetzt. Wie hierin verwendet, ist eine Schleifenzählung die Anzahl an Programmimpulsen, die eine bestimmte Page empfangen soll. Der Prozess fließt zu Schritt 702, wo bestimmt wird, ob die Schleiferzählung, d. h. die Anzahl an durch den Programmierprozess geleiteten Programmierungen einer Column-Page eines NAND-Speicher-Arrays, eine vorab bestimmte Anzahl k überschreitet und kleiner ist als eine vorab bestimmte Anzahl n. Bei einer beispielhaften Ausführungsform könnten die bestimmten, für k und n gewählten Werte von beobachteten Herstellungsabweichungen innerhalb einer gegebenen Herstellungsmenge abhängen, die zu einem NAND-Speicher-Array beitragen, das anfällig für einen CS2-Stör-Fehler ist. Bei einer weiteren beispielhaften Ausführungsform könnten die bestimmten, für k und n gewählten Werte von beobachteten Herstellungsabweichungen abhängen, die über große Herstellungsmengen genommen werden, die zu einem NAND-Speicher-Array beitragen, das anfällig für einen CS2-Stör-Fehler ist.
  • Wenn bei Schritt 702 eine Schleifenzählung entweder kleiner als k oder größer als n ist, fließt der Prozess zu Schritt 709, wo die NAND-Column-Page unter Verwendung einer herkömmlichen Einzelimpuls-Programmiertechnik programmiert wird. Schritt 709 entspricht dem Bereich links oder dem Bereich rechts des Bereichs, der von der gestrichelten Linie umschlossen wird, die sich zwischen 6A und 6B erstreckt. Dies ist ebenfalls von Bereich 801 in 8 dargestellt. Wenn Schritt 709 dem Bereich links des Bereichs entspricht, der von der gestrichelten Linie umschlossen wird, die sich zwischen 6A und 6B erstreckt, ist die Wahrscheinlichkeit eines CS2-Datenmusters relativ hoch, aber die Wahrscheinlichkeit eines CS2-Stör-Fehlers ist relativ gering, da die Programmierspannung Vpgm relativ gering ist. Dies ist ebenfalls von Bereich 802 in 8 dargestellt. Wenn Schritt 709 dem Bereich rechts des Bereichs entspricht, der von der gestrichelten Linie umschlossen wird, die sich zwischen 6A und 6B erstreckt, ist die Programmierspannung Vpgm relativ hoch, aber die Wahrscheinlichkeit eines CS2-Stör-Fehlers ist relativ gering, da die Wahrscheinlichkeit eines CS2-Datenmusters relativ gering ist.
  • Wenn bei Schritt 702 eine Schleifenzählung größer als k und kleiner als n ist, fließt der Prozess zu Schritt 703, wo die erste Hälfte der NAND-Column-Page programmiert wird, während die zweite Hälfte der NAND-Column-Page blockiert wird. Das heißt, dass, wenn der Prozess von Schritt 702 zu Schritt 703 fließt, bestimmt wurde, die hierin offenbarte Doppelimpuls-Programmiertechnik zu verwenden, da sowohl die Wahrscheinlichkeit eines CS2-Datenmusters relativ hoch ist, als auch die Programmierspannung Vpgm relativ hoch ist; folglich ist die Wahrscheinlichkeit eines CS2-Stör-Fehlers relativ hoch, wenn eine herkömmliche Einzelimpuls-Programmiertechnik verwendet wird. Sobald Schritt 703 abgeschlossen ist, geht der Ablauf zu Schritt 704 weiter, wo die zweite Hälfte der NAND-Column-Page programmiert wird, während die erste Hälfte der NAND-Column-Page blockiert wird. Schritte 703 und 704 entsprechen dem Bereich, der innerhalb der gestrichelten Linie umschlossen wird, die sich zwischen 6A und 6B erstreckt. Dies ist ebenfalls von Bereich 803 in 8 dargestellt.
  • Ungeachtet dessen, welchen Pfad der Prozessablauf von Schritt 702 genommen hat, wird die Programmierung bei Schritt 705 verifiziert. Der Ablauf geht zu Schritt 706 weiter, wo bestimmt wird, ob die in Schritten 703 und 704 oder Schritt 709 durchgeführte Programmierung verifiziert ist. Wenn bei Schritt 706 bestimmt wird, dass die Programmierung verifiziert ist, geht der Ablauf zu Schritt 708 weiter, wo der Programmierprozess der Page des NAND-Speicher-Arrays abgeschlossen ist. Wenn bei Schritt 706 bestimmt wird, dass die Programmierung nicht verifiziert ist, geht der Ablauf zu Schritt 707 weiter, wo bestimmt wird, ob der Programmierprozess für die Column-Page abgeschlossen ist, d. h. ob die Schleiferzählung der Anzahl an Zeilen p in der Column-Page entspricht. Wenn bei Schritt 707 bestimmt wird, dass die Schleifenzählung nicht p entspricht, dann geht der Ablauf zu Schritt 710 weiter, wo die Schleiferzählung erhöht wird. Der Ablauf geht dann zu Schritt 702 weiter. Wenn bei Schritt 707 bestimmt wird, dass die Schleiferzählung p entspricht, dann geht der Ablauf zu Schritt 708 weiter, wo der Programmierprozess der Page des NAND-Speicher-Arrays abgeschlossen ist.
  • 9 zeigt ein Ablaufdiagramm 900 einer beispielhaften Ausführungsform eines Programmierprozesses einer Page eines NAND-Speicher-Arrays, basierend auf einer Bestimmung von, die auf einer Bestimmung des Betrages der Programmierspannung Vpgm gemäß dem hierin offenbarten Gegenstand basiert. Bei Schritt 901 beginnt der Programmierprozess und eine variable Schleifenzählung wird auf 1 gesetzt. Der Prozess fließt zu Schritt 902, wo bestimmt wird, ob die Programmspannung Vpgm größer als Spannung A und kleiner als Spannung B ist. Bei einer beispielhaften Ausführungsform könnten die bestimmten, für A und B gewählten Werte von beobachteten Herstellungsabweichungen innerhalb einer gegebenen Herstellungsmenge abhängen, die zu einem NAND-Speicher-Array beitragen, das anfällig für einen CS2-Stör-Fehler ist. Bei einer weiteren beispielhaften Ausführungsform könnten die bestimmten, für A und B gewählten Werte von beobachteten Herstellungsabweichungen abhängen, die über große Herstellungsmengen genommen werden, die zu einem NAND-Speicher-Array beitragen, das anfällig für einen CS2-Stör-Fehler ist.
  • Wenn bei Schritt 902 Programmspannung Vpgm entweder kleiner als A oder größer als B ist, fließt der Prozess zu Schritt 909, wo die NAND-Column-Page unter Verwendung einer herkömmlichen Einzelimpuls-Programmiertechnik programmiert wird. Schritt 909 entspricht dem Bereich links oder dem Bereich rechts des Bereichs, der von der gestrichelten Linie umschlossen wird, die sich zwischen 7A und 7B erstreckt.
  • Wenn bei Schritt 902 Programmspannung Vpgm größer als A und kleiner als B ist, fließt der Prozess zu Schritt 903, wo die erste Hälfte der NAND-Column-Page programmiert wird, während die zweite Hälfte der NAND-Column-Page blockiert wird. Das heißt, dass, wenn der Prozess von Schritt 902 zu Schritt 903 fließt, entschieden wurde, die hierin offenbarte Doppelimpuls-Programmiertechnik zu verwenden, da sowohl die Wahrscheinlichkeit eines CS2-Datenmusters relativ hoch ist, als auch die Programmierspannung Vpgm relativ hoch ist; folglich ist die Wahrscheinlichkeit eines CS2-Stör-Fehlers relativ hoch, wenn eine herkömmliche Einzelimpuls-Programmiertechnik verwendet wird. Sobald Schritt 903 abgeschlossen ist, geht der Ablauf zu Schritt 904 weiter, wo die zweite Hälfte der NAND-Column-Page programmiert wird, während die erste Hälfte der NAND-Column-Page blockiert wird. Schritte 903 und 904 entsprechen dem Bereich, der von der gestrichelten Linie umschlossen wird, die sich zwischen 6A und 6B erstreckt.
  • Ungeachtet dessen, welchen Pfad der Ablauf von Schritt 902 genommen hat, wird die Programmierung bei Schritt 905 verifiziert. Der Ablauf geht zu Schritt 906 weiter, wo die in Schritten 903 und 904 oder Schritt 909 durchgeführte Programmierung verifiziert wird. Wenn bei Schritt 906 bestimmt wird, dass die Programmierung verifiziert ist, geht der Ablauf zu Schritt 908 weiter, wo der Programmierprozess der Page des NAND-Speicher-Arrays abgeschlossen ist. Wenn bei Schritt 906 bestimmt wird, dass die Programmierung nicht verifiziert ist, geht der Ablauf zu Schritt 907 weiter, wo bestimmt wird, ob der Programmierprozess für die Column-Page abgeschlossen ist, d. h. ob die Schleiferzählung der Anzahl an Zeilen p in der Column-Page entspricht. Wenn bei Schritt 907 bestimmt wird, dass die Schleiferzählung nicht p entspricht, dann geht der Ablauf zu Schritt 910 weiter, wo die Schleifenzählung erhöht wird. Der Ablauf geht dann zu Schritt 902 weiter. Wenn bei Schritt 907 bestimmt wird, dass die Schleifenzählung p entspricht, dann geht der Ablauf zu Schritt 908 weiter, wo der Programmierprozess der Page des NAND-Speicher-Arrays abgeschlossen ist.
  • 10 zeigt ein Ablaufdiagramm 1000 einer beispielhaften Ausführungsform eines Programmierprozesses einer Page eines NAND-Speicher-Arrays, basierend auf einer Bestimmung von, die auf der Erkennung eines CS2-Datenmusters gemäß dem hierin offenbarten Gegenstand basiert.
  • 11 stellt eine beispielhafte Schaltkreiskonfiguration dar, um ein CS2-Datenmuster gemäß dem hierin offenbarten Gegenstand zu erkennen. Bei 11 ist eine Vielzahl PMOS-Serienschaltkreise zwischen Vcc und einer CS2-Datenmuster-Erkennungsleitung gekoppelt. Wenn irgendeiner der PMOS-Serienschaltkreise leitfähig ist, ist CS2-Datenmuster-Erkennungsleitung mit Vcc gekoppelt. Spezieller ist ein erster PMOS-Serienschaltkreis durch PMOS-Transistoren 1101 und 1102 gebildet. Wenn das auf Bitleitungen BL0e (geradzahlig), BL0o (ungeradzahlig), BL1e und BL1o erscheinende Datenmuster ein CS2-Datenmuster bildet, sind beide Transistoren 1101 und 1102 leitfähig und eine CS2-Datenmuster-Erkennungsleitung ist mit Vcc gekoppelt. Bei einer beispielhaften Ausführungsform ist eine CS2-Datenmuster-Erkennungsleitung für eine Schleifenzählung zwischen k und n freigegeben, bei der k und n vorab bestimmte Werte sind, die sich auf die Anzahl an Zeilen einer Column-Page beziehen. Bei einer weiteren beispielhaften Ausführungsform ist eine CS2-Datenmuster-Erkennungsleitung freigegeben, wenn Programmierspannung Vpgm zwischen A und B liegt, bei der A und B vorab bestimmte Werte sind.
  • Bei Schritt 1001 in 10 beginnt der Programmierprozess und eine variable Schleifenzählung wird auf 1 gesetzt. Der Prozess fließt zu Schritt 1002, wo bestimmt wird, ob die Schleifenzählung, d. h. die Anzahl an durch den Programmierprozess geleiteten Programmierungen einer Column-Page eines NAND-Speicher-Arrays, eine vorab bestimmte Anzahl k überschreitet und kleiner ist als eine vorab bestimmte Anzahl n. Bei einer beispielhaften Ausführungsform könnten die bestimmten, für k und n gewählten Werte von beobachteten Herstellungsabweichungen innerhalb einer gegebenen Herstellungsmenge abhängen, die zu einem NAND-Speicher-Array beitragen, das anfällig für einen CS2-Stör-Fehler ist. Bei einer weiteren beispielhaften Ausführungsform könnten die bestimmten, für k und n gewählten Werte von beobachteten Herstellungsabweichungen abhängen, die über große Herstellungsmengen genommen werden, die zu einem NAND-Speicher-Array beitragen, das anfällig für einen CS2-Stör-Fehler ist.
  • Wenn bei Schritt 1002 eine Schleifenzählung entweder kleiner als k oder größer als n ist, fließt der Prozess zu Schritt 1012, wo die NAND-Column-Page unter Verwendung einer herkömmlichen Einzelimpuls-Programmiertechnik programmiert wird. Wenn bei Schritt 1002 eine Schleifenzählung größer als k und kleiner als n ist, fließt der Prozess zu Schritt 1003, wo der CS2-Detektor aufgerufen wird, und es wird bestimmt, ob ein CS2-Datenmuster in der vorherigen Schleife erkannt wurde. Wenn bei Schritt 1003 bestimmt wird, dass ein CS2-Datenmuster in der vorherigen Schleife nicht erkannt wurde, geht der Ablauf zu Schritt 1012 weiter, wo die NAND-Column-Page unter Verwendung einer herkömmlichen Einzelimpuls-Technik programmiert wird. Wenn bei Schritt 1003 bestimmt wird, dass ein CS2-Datenmuster in der vorherigen Schleife erkannt wurde, geht der Ablauf zu Schritt 1004 weiter, wo ein CS2-Datenmuster-Erkennungsprozess stattfindet. Der Ablauf geht zu Schritt 1005 weiter, wo bestimmt wird, ob eine CS2-Datenmuster-Erkennung erkannt wurde. Wenn bei Schritt 1005 ein CS2-Datenmuster nicht erkannt wurde, geht der Ablauf zu Schritt 1012 weiter.
  • Wenn bei Schritt 1005 ein CS2-Datenmuster erkannt wurde, geht der Ablauf zu Schritt 1006 weiter, wo die erste Hälfte der NAND-Column-Page programmiert wird, während die zweite Hälfte der NAND-Column-Page blockiert wird. Sobald Schritt 1006 abgeschlossen ist, geht der Ablauf zu Schritt 1007 weiter, wo die zweite Hälfte der NAND-Column-Page programmiert wird, während die erste Hälfte der NAND-Column-Page blockiert wird.
  • Ungeachtet dessen, ob der Prozessablauf von Schritt 1007 oder von Schritt 1012 kommt, wird die Programmierung bei Schritt 1008 verifiziert. Der Ablauf geht zu Schritt 1009 weiter, wo bestimmt wird, ob die in Schritten 1006 und 1007 oder Schritt 1012 durchgeführte Programmierung verifiziert ist. Wenn bei Schritt 1009 bestimmt wird, dass die Programmierung verifiziert ist, geht der Ablauf zu Schritt 1001 weiter, wo der Programmierprozess der Page des NAND-Speicher-Arrays abgeschlossen ist. Wenn bei Schritt 1009 bestimmt wird, dass die Programmierung nicht verifiziert ist, geht der Ablauf zu Schritt 1010 weiter, wo bestimmt wird, ob der Programmierprozess für die Column-Page abgeschlossen ist, d. h. ob die Schleifenzählung der Anzahl an Zeilen p in der Column-Page entspricht. Wenn bei Schritt 1010 bestimmt wird, dass die Schleifenzählung nicht p entspricht, dann geht der Ablauf zu Schritt 1013 weiter, wo die Schleiferzählung erhöht wird. Der Ablauf geht dann zu Schritt 1002 weiter. Wenn bei Schritt 1010 bestimmt wird, dass die Schleifenzählung p entspricht, dann geht der Ablauf zu Schritt 1011 weiter, wo der Programmierprozess der Page des NAND-Speicher-Arrays abgeschlossen ist.
  • Wie in Verbindung mit 11 beschrieben, könnte eine CS2-Erkennung als eine Funktion der Schleifenzählung und/oder des Betrages der Programmierspannung Vpgm freigegeben werden.
  • Obwohl die hierin offenbarten Programmiertechniken in Verbindung mit Datenmustern beschrieben wurden, die bei NAND-Speicher-Arrays auftreten, die in geradzahligen und ungeradzahligen Column-Pages konfiguriert sind, sollte es zusätzlich selbstverständlich sein, dass die hierin offenbarten Programmiertechniken ebenfalls auf Datenmuster angewendet werden können, die bei NAND-Speicher-Arrays auftreten, die nicht in geradzahligen und ungeradzahligen Column-Pages konfiguriert sind.
  • 12 stellt ein Produkt 1200 dar, umfassend: ein computerlesbares Medium 1201 auf dem Befehle gespeichert sind, die, wenn sie ausgeführt werden, zu irgendeinem oder einer Kombination der hierin offenbarten beispielhaften Prozesse führen. Bei einer beispielhaften Ausführungsform umfasst Produkt 1200 ein magnetisches Speichergerät, ist aber nicht darauf beschränkt. Bei einer weiteren beispielhaften Ausführungsform umfasst Produkt 1200 ein optisches Speichergerät, ist aber nicht darauf beschränkt. Bei noch einer weiteren beispielhaften Ausführungsform umfasst Produkt 1200 ein Speichergerät auf Elektrobasis, ist aber nicht darauf beschränkt.

Claims (13)

  1. Verfahren, um ein NAND-Speicher-Array zu programmieren, umfassend: eine Wortleitung (WL3) des NAND-Speicher-Arrays auszuwählen, um zumindest zwei Speicherzellen (201), die mit der Wortleitung gekoppelt sind, zu programmieren, wobei die Wortleitung (WL3) mit einer Vielzahl an Speicherzellen (201, 202) gekoppelt ist; die zumindest zwei Speicherzellen (201), die mit der Wortleitung (WL3) gekoppelt sind, zu programmieren, indem eine Programmierspannung Vpgm als ein Doppelimpuls an die Wortleitung angelegt wird, wenn ein Datenmuster, das mit den zumindest zwei zu programmierenden Speicherzellen (201) verbunden ist, ein zweiseitiges Column-Stripe-(CS2)-Datenmuster ist, wobei eine erste Speicherzelle der zumindest zwei Speicherzellen (201) von dem ersten Programmierspannungsimpuls programmiert wird, und eine zweite Speicherzelle der zumindest zwei Speicherzellen (201) von dem zweiten Programmierspannungsimpuls programmiert wird; und die zumindest zwei Speicherzellen (201), die mit der Wortleitung (WL3) gekoppelt sind, zu programmieren, indem eine Programmierspannung Vpgm als ein Einzelimpuls an die Wortleitung angelegt wird, wenn ein Datenmuster, das mit den zumindest zwei zu programmierenden Speicherzellen (201) verbunden ist, kein zweiseitiges Column-Stripe-(CS2)-Datenmuster ist.
  2. Verfahren nach Anspruch 1, wobei das zweiseitige Column-Stripe-(CS2)-Datenmuster eine nicht zu programmierende Speicherzelle (202), die sich direkt zwischen den zwei zu programmierenden Speicherzellen (201) befindet, einen mit der nicht zu programmierenden Speicherzelle (202) verbundenen Kanal mit einer angelegten Boost-Spannung und die mit den beiden zu programmierenden Speicherzellen (201) verbundenen Kanäle (301303) mit einer angelegten Programmierspannung umfasst.
  3. Verfahren nach Anspruch 2, weiter umfassend, dass die Programmierspannung Vpgm als der Doppelimpuls an die Wortleitung (WL3) angelegt wird, wenn eine mit der Programmierung des NAND-Speicher-Arrays verbundene Schleifenzählung größer als ein erster vorab bestimmter Wert und kleiner als ein zweiter vorab bestimmter Wert ist; und dass die Programmierspannung Vpgm als der Einzelimpuls an die Wortleitung angelegt wird, wenn die mit der Programmierung des NAND-Arrays verbundene Schleifenzählung kleiner als der erste vorab bestimmte Wert und größer als der zweite vorab bestimmte Wert ist.
  4. Verfahren nach Anspruch 3, weiter umfassend, dass die Programmierspannung Vpgm als der Doppelimpuls an die Wortleitung (WL3) angelegt wird, wenn ein Betrag der Programmierspannung Vpgm größer als ein erster vorab bestimmter Betrag und kleiner als ein zweiter vorab bestimmter Betrag ist; und dass die Programmierspannung Vpgm als der Einzelimpuls an die Wortleitung angelegt wird, wenn der Betrag der Programmierspannung Vpgm kleiner als der erste vorab bestimmte Betrag und größer als der zweite vorab bestimmte Betrag ist.
  5. Verfahren nach Anspruch 2, weiter umfassend, dass die Programmierspannung Vpgm als der Doppelimpuls an die Wortleitung (WL3) angelegt wird, wenn ein Betrag der Programmierspannung Vpgm größer als ein erster vorab bestimmter Betrag und kleiner als ein zweiter vorab bestimmter Betrag ist; und dass die Programmierspannung Vpgm als der Einzelimpuls an die Wortleitung angelegt wird, wenn der Betrag der Programmierspannung Vpgm kleiner als der erste vorab bestimmte Betrag und größer als der zweite vorab bestimmte Betrag ist.
  6. Verfahren nach Anspruch 5, weiter umfassend, dass die Programmierspannung Vpgm als der Doppelimpuls an die Wortleitung (WL3) angelegt wird, wenn eine mit der Programmierung des NAND-Speicher-Arrays verbundene Schleifenzählung größer als ein erster vorab bestimmter Wert und kleiner als ein zweiter vorab bestimmter Wert ist; und dass die Programmierspannung Vpgm als der Einzelimpuls an die Wortleitung angelegt wird, wenn die mit der Programmierung des NAND-Arrays verbundene Schleifenzählung kleiner als der erste vorab bestimmte Wert und größer als der zweite vorab bestimmte Wert ist.
  7. Verfahren nach Anspruch 2, weiter umfassend, dass die Programmierspannung Vpgm als der Doppelimpuls an die Wortleitung (WL3) angelegt wird, wenn das zweiseitige Column-Stripe-(CS2)-Datenmuster erkannt wird; und dass die Programmierspannung Vpgm als der Einzelimpuls an die Wortleitung angelegt wird, wenn das zweiseitige Column-Stripe-(CS2)-Datenmuster nicht erkannt wird.
  8. Verfahren, um ein NAND-Speicher-Array zu programmieren, umfassend: eine Wortleitung (WL3) des NAND-Speicher-Arrays auszuwählen, um zumindest zwei Speicherzellen (201), die mit der Wortleitung (WL3) gekoppelt sind, zu programmieren, wobei die Wortleitung (WL3) mit einer Vielzahl an Speicherzellen (201, 202) gekoppelt ist; ein zweiseitiges Column-Stripe-(CS2)-Datenmuster zu erkennen, wobei das zweiseitige Column-Stripe-(CS2)-Datenmuster eine nicht zu programmierende Speicherzelle (202), die sich direkt zwischen den zwei zu programmierenden Speicherzellen (201) befindet, einen mit der nicht zu programmierenden Speicherzelle (202) verbundenen Kanal mit einer angelegten Boost-Spannung und die mit den beiden zu programmierenden Speicherzellen (201) verbundenen Kanäle (301303) mit einer angelegten Programmierspannung umfasst; die zumindest zwei Speicherzellen (201), die mit der Wortleitung gekoppelt sind, zu programmieren, indem eine Programmierspannung Vpgm als ein Doppelimpuls an die Wortleitung angelegt wird, wenn ein Datenmuster, das mit zumindest zwei zu programmierenden Speicherzellen (201) verbunden ist, das zweiseitige Column-Stripe-(CS2)-Datenmuster ist; und die zumindest zwei Speicherzellen (201), die mit der Wortleitung gekoppelt sind, zu programmieren, indem eine Programmierspannung Vpgm als ein Einzelimpuls an die Wortleitung angelegt wird, wenn ein Datenmuster, das mit den zumindest zwei zu programmierenden Speicherzellen (201) verbunden ist, kein zweiseitiges Column-Stripe-(CS2)-Datenmuster ist.
  9. Verfahren nach Anspruch 8, wobei einer erste Speicherzelle der zumindest zwei Speicherzellen von dem ersten Programmierspannungsimpuls programmiert wird, und eine zweite Speicherzelle der zumindest zwei Speicherzellen (201) von dem zweiten Programmierspannungsimpuls programmiert wird.
  10. Verfahren nach Anspruch 9, weiter umfassend, dass die Programmierspannung Vpgm als der Doppelimpuls an die Wortleitung (WL3) angelegt wird, wenn eine mit der Programmierung des NAND-Speicher-Arrays verbundene Schleifenzählung größer als ein erster vorab bestimmter Wert und kleiner als ein zweiter vorab bestimmter Wert ist; und dass die Programmierspannung Vpgm als der Einzelimpuls an die Wortleitung angelegt wird, wenn die mit der Programmierung des NAND-Arrays verbundene Schleifenzählung kleiner als der erste vorab bestimmte Wert und größer als der zweite vorab bestimmte Wert ist.
  11. Verfahren nach Anspruch 10, wobei das NAND-Speicher-Array eine geradzahlige Column-Page und eine ungeradzahlige Column-Page umfasst, wobei, wenn die nicht zu programmierende Speicherzelle (201) einen Teil der geradzahligen Column-Page umfasst, die zwei zu programmierenden Speicherzellen (201) einen Teil der ungeradzahligen Column-Page umfassen, und wobei, wenn die nicht zu programmierende Speicherzelle (202) einen Teil der ungeradzahligen Column-Page umfasst, die zwei zu programmierenden Speicherzellen (201) einen Teil der geradzahligen Column-Page umfassen.
  12. Verfahren nach Anspruch 9, weiter umfassend, dass die Programmierspannung Vpgm als der Doppelimpuls an die Wortleitung (WL3) angelegt wird, wenn ein Betrag der Programmierspannung Vpgm größer als ein erster vorab bestimmter Betrag und kleiner als ein zweiter vorab bestimmter Betrag ist; und dass die Programmierspannung Vpgm als der Einzelimpuls an die Wortleitung angelegt wird, wenn der Betrag der Programmierspannung Vpgm kleiner als der erste vorab bestimmte Betrag und größer als der zweite vorab bestimmte Betrag ist.
  13. Verfahren nach Anspruch 12, wobei das NAND-Speicher-Array eine geradzahlige Column-Page und eine ungeradzahlige Column-Page umfasst, wobei, wenn die nicht zu programmierende Speicherzelle (202) einen Teil der geradzahligen Column-Page umfasst, die zwei zu programmierenden Speicherzellen (201) einen Teil der ungeradzahligen Column-Page umfassen, und wobei, wenn die nicht zu programmierende Speicherzelle (202) einen Teil der ungeradzahligen Column-Page umfasst, die zwei zu programmierenden Speicherzellen (201) einen Teil der geradzahligen Column-Page umfassen.
DE102010053557.5A 2009-12-22 2010-12-06 NAND-Programmiertechnik Active DE102010053557B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/644,408 2009-12-22
US12/644,408 US8102712B2 (en) 2009-12-22 2009-12-22 NAND programming technique

Publications (2)

Publication Number Publication Date
DE102010053557A1 DE102010053557A1 (de) 2012-03-08
DE102010053557B4 true DE102010053557B4 (de) 2018-02-22

Family

ID=43531606

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010053557.5A Active DE102010053557B4 (de) 2009-12-22 2010-12-06 NAND-Programmiertechnik

Country Status (5)

Country Link
US (1) US8102712B2 (de)
CN (1) CN102103889B (de)
DE (1) DE102010053557B4 (de)
GB (2) GB2476549B (de)
TW (1) TWI559326B (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8102712B2 (en) 2009-12-22 2012-01-24 Intel Corporation NAND programming technique
US8982631B2 (en) 2010-02-09 2015-03-17 Micron Technology, Inc. Programming methods and memories
KR101222063B1 (ko) * 2011-02-28 2013-01-15 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작방법
US8837219B2 (en) * 2011-09-30 2014-09-16 Ememory Technology Inc. Method of programming nonvolatile memory
KR20130101858A (ko) * 2012-03-06 2013-09-16 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
CN103366826B (zh) * 2012-04-06 2016-03-30 北京兆易创新科技股份有限公司 一种nand闪存芯片及其棋盘格检查时的芯片编程方法
US9171626B2 (en) 2012-07-30 2015-10-27 Micron Technology, Inc.. Memory devices and programming memory arrays thereof
JP2015041402A (ja) * 2013-08-23 2015-03-02 株式会社東芝 不揮発性半導体記憶装置、及びデータ書き込み方法
WO2019046106A1 (en) 2017-08-29 2019-03-07 Micron Technology, Inc. DEVICES AND SYSTEMS WITH CHAIN DRIVERS COMPRISING HIGH BANNED MATERIAL AND METHODS OF FORMATION

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181599B1 (en) * 1999-04-13 2001-01-30 Sandisk Corporation Method for applying variable row BIAS to reduce program disturb in a flash memory storage array
US20080055994A1 (en) * 2004-06-15 2008-03-06 Guterman Daniel C Concurrent programming of non-volatile memory
US20080074923A1 (en) * 2006-09-22 2008-03-27 Samsung Electronics Co., Ltd. Flash memory device and method of programming the same

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6977842B2 (en) * 2003-09-16 2005-12-20 Micron Technology, Inc. Boosted substrate/tub programming for flash memories
US7161833B2 (en) * 2004-02-06 2007-01-09 Sandisk Corporation Self-boosting system for flash memory cells
JP4405292B2 (ja) * 2004-03-22 2010-01-27 パナソニック株式会社 不揮発性半導体記憶装置及びその書き込み方法
US20060067127A1 (en) * 2004-09-30 2006-03-30 Matrix Semiconductor, Inc. Method of programming a monolithic three-dimensional memory
US7349258B2 (en) * 2005-12-06 2008-03-25 Sandisk Corporation Reducing read disturb for non-volatile storage
US7649791B2 (en) * 2006-03-28 2010-01-19 Andrea Martinelli Non volatile memory device architecture and corresponding programming method
US7450421B2 (en) * 2006-06-02 2008-11-11 Sandisk Corporation Data pattern sensitivity compensation using different voltage
US7716415B2 (en) 2006-08-01 2010-05-11 Sandisk Il Ltd. Method of avoiding errors in flash memory
US7440323B2 (en) * 2006-11-02 2008-10-21 Sandisk Corporation Reducing program disturb in non-volatile memory using multiple boosting modes
KR100845135B1 (ko) * 2006-12-22 2008-07-09 삼성전자주식회사 불휘발성 메모리 장치에서의 프로그램 방법 및 이를 위한불휘발성 메모리 장치
US7869273B2 (en) * 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7830718B2 (en) 2007-11-21 2010-11-09 Micron Technology, Inc. Mitigation of data corruption from back pattern and program disturb in a non-volatile memory device
US8130556B2 (en) 2008-10-30 2012-03-06 Sandisk Technologies Inc. Pair bit line programming to improve boost voltage clamping
US8102712B2 (en) 2009-12-22 2012-01-24 Intel Corporation NAND programming technique

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181599B1 (en) * 1999-04-13 2001-01-30 Sandisk Corporation Method for applying variable row BIAS to reduce program disturb in a flash memory storage array
US20080055994A1 (en) * 2004-06-15 2008-03-06 Guterman Daniel C Concurrent programming of non-volatile memory
US20080074923A1 (en) * 2006-09-22 2008-03-27 Samsung Electronics Co., Ltd. Flash memory device and method of programming the same

Also Published As

Publication number Publication date
TWI559326B (zh) 2016-11-21
DE102010053557A1 (de) 2012-03-08
CN102103889B (zh) 2015-08-12
GB2476549B (en) 2012-07-11
GB201020735D0 (en) 2011-01-19
GB2476549A (en) 2011-06-29
US20110149654A1 (en) 2011-06-23
CN102103889A (zh) 2011-06-22
GB201201447D0 (en) 2012-03-14
TW201131580A (en) 2011-09-16
GB2487833A (en) 2012-08-08
GB2487833B (en) 2012-10-31
US8102712B2 (en) 2012-01-24

Similar Documents

Publication Publication Date Title
DE102010053557B4 (de) NAND-Programmiertechnik
DE112017004208B4 (de) 3d-nand mit teilblocklöschen
DE112017001761B4 (de) NAND-Struktur mit Stufenauswahl-Gate-Transistoren
DE602004005211T2 (de) Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen
DE60214023T2 (de) Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus
DE112015003834B4 (de) Abtasten mehrerer referenzpegel in nichtflüchtigen speicherelementen
DE10002266B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE112017003298T5 (de) Schema für das Herunterfahren von Wortleitungen zum Entfernen von Restelektronen
DE112019000164T5 (de) Speichervorrichtung mit verbundenen wortleitungen zur schnellen programmierung
DE112019000152T5 (de) Verschachteltes programmieren und prüfen in nichtflüchtigem speicher
DE102005057553A1 (de) Nicht volatiles Speicherbauelement und Verfahren zur Verhinderung eines Heisse-Elektronen-Programmier-Störungsphänomens
DE102018105685A1 (de) Multi-Zustands-Programm, das gesteuertes schwaches Boosten für einen nichtflüchtigen Speicher verwendet
DE112018006212T5 (de) Verfahren und System zur Reduktion einer Programmierungsstörungsverschlechterung in einem Flash-Speicher
DE112018003426T5 (de) Reduzieren der lesestörung der art durch injektion heisser elektronen in 3d-speichervorrichtung mit verbundenen sourceendauswahlgates
DE112019000157T5 (de) Speichervorrichtung mit von nand-ketten getrennten bitleitungen zur schnellen programmierung
DE102005031892B4 (de) Verfahren zum Programmieren von Multi-Bit-Charge-Trapping-Speicherzellenanordnungen und Speicherbauelement
DE112004002851B4 (de) Halbleitervorrichtung und Programmierverfahren
DE102022113174A1 (de) Proaktive aktualisierung der randdatenwortleitung für halbkreis-drain-side-select-gate
DE102006035241B4 (de) Nichtflüchtiges Speicherbauelement, Programmierverfahren und Speichersystem
DE112004003023B4 (de) Halbleiterbauelement und Verfahren zum Steuern des Halbleiterbauelements
DE102022102593A1 (de) Speicherprogrammierung mit selektiv übersprungenen verifizierungsimpulsen zur leistungsverbesserung
DE112019007183T5 (de) ReRAM-Speicherzelle mit Doppelwortleitungssteuerung
DE102021106907A1 (de) Lochvorladeschema mit gate-induzierter drain-leckstromerzeugung
DE602004009078T2 (de) Speicherordnung
DE102006041806A1 (de) Verfahren und Schaltung zum Löschen einer nichtflüchtigen Speicherzelle

Legal Events

Date Code Title Description
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final