DE102019134289B4 - Reparatur von undichten speicherlöchern an der fertigungsverbindung - Google Patents

Reparatur von undichten speicherlöchern an der fertigungsverbindung Download PDF

Info

Publication number
DE102019134289B4
DE102019134289B4 DE102019134289.9A DE102019134289A DE102019134289B4 DE 102019134289 B4 DE102019134289 B4 DE 102019134289B4 DE 102019134289 A DE102019134289 A DE 102019134289A DE 102019134289 B4 DE102019134289 B4 DE 102019134289B4
Authority
DE
Germany
Prior art keywords
memory
memory cells
word line
dummy
channels
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
DE102019134289.9A
Other languages
English (en)
Other versions
DE102019134289A1 (de
Inventor
Xiang Yang
Gerrit Jan Hemink
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, INC. (N.D.GES.D. STAATES, US
Original Assignee
Western Digital Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE102019134289A1 publication Critical patent/DE102019134289A1/de
Application granted granted Critical
Publication of DE102019134289B4 publication Critical patent/DE102019134289B4/de
Active 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • 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/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/025Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/14Dummy cell management; Sense reference voltage generators
    • 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/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1202Word line control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1204Bit line control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage

Landscapes

  • Read Only Memory (AREA)

Abstract

Speichervorrichtung, umfassend:ein Speicherarray (200) mit Speicherkanälen (122, 124), wobei jeder Speicherkanal Speicherzellen (204) und eine Fertigungsverbindung (112) aufweist, wobei wenigstens eine an die Fertigungsverbindung (112) angrenzende Blindwortleitung (108, 110) mit Blindspeicherzellen (114, 116, 118, 120) gekoppelt ist, die keine Benutzerdaten speichern und die in den Speicherkanälen eingeschlossen sind; undeine Steuerung, die eingerichtet ist, um:die Speicherzellen (204) der Speicherkanäle (122, 124) mit Benutzerdaten zu programmieren;eine Anzahl von Speicherzellen (204) zu erfassen, die als Reaktion darauf, dass die Speicherzellen (204) einen Schwellenwert erfüllen, nicht korrekt mit den Benutzerdaten programmiert wurden;Bitleitungen zu bestimmen, die den Speicherzellen (204) entsprechen, die nicht korrekt mit den Benutzerdaten programmiert wurden;eine Schwellenspannung für bestimmte Blindspeicherzellen (114, 116, 118, 120) von Speicherkanälen (122, 124), die mit den bestimmten Bitleitungen verbunden sind, auf der mindestens einen an die Fertigungsverbindung (112) angrenzenden Blindwortleitung (108, 110) zu erhöhen (512), wobei eine Schwellenspannung von anderen als den bestimmten Blindspeicherzellen (114, 116, 118, 120) nicht erhöht wird, wobei die bestimmten Blindspeicherzellen (114, 116, 118, 120) in den Speicherkanälen (122, 124) angeordnet sind, die mit den bestimmten Bitleitungen verbunden sind; undwobei die Schwellenspannung für die bestimmten Blindspeicherzellen (114, 116, 118, 120) eingerichtet ist, um Verluststrom zwischen benachbarten Speicherkanälen (122, 124) zu reduzieren.

Description

  • HINTERGRUND
  • Moderne Speichervorrichtungen erweitern die Grenzen der Fertigungstechnologie, indem sie Speicherzellen in immer kleinere Bereiche packen. Die Dichte der Speicherzellen in einer Speichervorrichtung kann so dicht werden, dass Elektronenverluste zu Speicherausfällen beitragen.
  • Bei Speichervorrichtungen mit hoher Dichte besteht das Problem, dass sie oft eine oder mehrere Fertigungsverbindungen in dem Speicherarray aufweisen. Diese Fertigungsverbindungen ermöglichen eine höhere Dichte von Speicherzellen und damit Speichervorrichtungen mit höherer Kapazität. Leider kann das Vorhandensein einer Fertigungsverbindung zu Problemen führen.
  • Ein bekanntes Problem ist, dass die Fertigungsverbindung Verluste zwischen benachbarten Speicherzeichenketten in einem hochdichten Speicherzellenarray aufweisen kann, insbesondere bei Herstellungsfehlern. Speicherzeichenketten werden hierin auch als „Speicherkanäle“ bezeichnet. Dieser Verlust kann zu Programmierproblemen und/oder ungenauen Ergebnissen beim Programmieren oder Lesen des Speichers führen.
  • US 2016 / 0 351 236 A1 betrifft eine Halbleiterspeichervorrichtung mit Ketten von Speicherzellen, die zwischen Auswahltransistoren gekoppelt sind, wobei eine Schaltung zum Löschen und Programmieren der Auswahltransistoren und der Speicherzellen vorgesehen ist. US 9 508 441 B1 betrifft eine Speichervorrichtung mit mehreren NAND-Ketten, die mit Wortleitungen verbundene Speicherzellen und mit Auswahlleitungen verbundene Auswahltransistoren aufweisen, wobei während Abschnitten von Programmieroperationen an Auswahlleitungen eine Spannung, die ein negatives Niveau aufweist, angelegt wird. US 2017 / 0 330 631 A1 betrifft ein Speichersystem mit Blöcken von Speicherzellen, die Daten-Speicherzellen und Blindspeicherzellen einschließen, wobei als Teil von Speicheroperationen eine temperaturabhängige Gate-Spannung an einige oder alle Blindspeicherzellen angelegt wird, um Programmierstörungen zu verringern. US 9 460 799 B1 betrifft die Wiederherstellung von teilweise programmierten Blöcken eines nichtflüchtigen Speichers.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • Um die Diskussion über ein bestimmtes Element oder eine bestimmte Handlung leicht zu identifizieren, beziehen sich die wichtigsten Ziffern in einem Bezugszeichen auf die Nummer der Figur, in der dieses Element zum ersten Mal eingeführt wird.
    • 1 veranschaulicht Speicherkanäle 100 gemäß einer Ausführungsform.
    • 2 veranschaulicht ein FLASH-Speicherarray 200 gemäß einer Ausführungsform.
    • 3 veranschaulicht einen Programmierprozess für Speicherzellen 300 gemäß einer Ausführungsform.
    • 4 veranschaulicht eine Schwellenspannungsverteilung 400 gemäß einer Ausführungsform.
    • 5 veranschaulicht einen Speicherkanal-Reparaturprozess 500 gemäß einer Ausführungsform.
    • 6 veranschaulicht eine Schwellenspannungsverteilung 600 gemäß einer Ausführungsform.
    • 7 veranschaulicht einen Speicherkanal-Reparaturprozess 700 gemäß einer Ausführungsform.
    • 8 veranschaulicht einen Speicherkanal-Reparaturprozess 800 gemäß einer Ausführungsform.
    • 9 veranschaulicht einen Speicherkanal-Reparaturprozess 900 gemäß einer Ausführungsform.
    • 10 ist ein Blockdiagramm einer exemplarischen Speichervorrichtung in einer Ausführungsform.
    • 11 veranschaulicht ein Steuersignal 1100 gemäß einer Ausführungsform.
    • 12 veranschaulicht ein Steuersignal 1200 gemäß einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • Erfindungsgemäß werden eine Speichervorrichtung, eine Steuerung und eine Vorrichtung mit den Merkmalen der unabhängigen Ansprüche bereitgestellt; abhängige Ansprüche betreffen bevorzugte Ausführungsformen. Hierin offenbart sind Ausführungsformen einer Speichervorrichtung, die ein Speicherarray mit einer Fertigungsverbindung aufweist. Eine „Fertigungsverbindung“ ist ein Bereich entlang eines Speicherkanals, der dazu eingerichtet ist, einen Teil des Speicherkanals elektrisch und physikalisch entweder mit einem anderen Teil des Speicherkanals, einem Teil eines anderen Speicherkanals und/oder einer anderen Komponente in einer nichtflüchtigen Speicherstruktur zu verbinden. In bestimmten exemplarischen Ausführungsformen verbindet eine Fertigungsverbindung elektrisch und physikalisch zwei Enden von zwei verschiedenen Speicherkanälen, die jeweils in unterschiedlichen Phasen eines Fertigungsprozesses hergestellt werden. Eine Blindwortleitung ist eine Wortleitung, die mit Speicherzellen verbunden ist, die keine Datenbits speichern (Blindspeicherzellen). Ein Speicherkanal ist ein Weg für den Ladungsfluss, der durch Transistorvorrichtungen in Reihe geschaltet wird. In bestimmten Ausführungsformen verbindet ein Speicherkanal eine Bitleitung und eine Quellleitung elektrisch in einer Speichervorrichtung, wie dargestellt und im Folgenden näher erläutert.
  • Die Speichervorrichtungssteuerung kann dazu eingerichtet werden, eine Erfassungsspannung an eine mit einer Vielzahl von Bitleitungen gekoppelte Wortleitung anzulegen und eine Anzahl von Bitleitungen zu zählen, die eine erste Art von Reaktion auf die Erfassungsspannung aufweisen. Unter der Voraussetzung, dass die Anzahl der Bitleitungen einen eingerichteten Wert überschreitet, werden Speicherzellen auf mindestens einer Blindwortleitung neben der Fertigungsverbindung mit einer bestimmten Schwellenspannung programmiert. Bei einer Schwellenspannung einer transistorbasierten Speicherzelle handelt es sich um eine Gatespannung, oberhalb derer die Speicherzelle Strom zwischen ihrem Quell- und Drain-Bereich leitet.
  • 1 zeigt ein Beispiel für einen Zwischenspeicherkanal-Verluststrom für zwei verschiedene Zustände benachbarter Speicherkanäle 100 in einem Speicherarray. Ein Speicherkanal 122 weist eine Kanalvorspannung von 0 V und der andere Speicherkanal 124 weist eine Kanalvorspannung von VBLC, z. B. -0,3 V, auf. Aufgrund eines Herstellungsfehlers sind die beiden Speicherkanäle (schwach) elektrisch miteinander gekoppelt. Der Potenzialgradient zwischen den Kanälen bewirkt, dass Strom (gestrichelte Linie) aus dem Kanal des Speicherkanals 124 in den Kanal des Speicherkanals 122 gelangt. Der Verlust tritt in der Fertigungsverbindung 112 zwischen der oberen Blindwortleitung 110 auf einer Drainseite 104 des Speicherarrays und der unteren Blindwortleitung 108 auf einer Quellseite 102 des Speicherarrays auf. Aufgrund des Verluststroms erkennen die Sensorschaltungen für die Speicherkanäle die falsch programmierten Spannungen an den Speicherzellen der zur Programmierung 106 ausgewählten Wortleitung während der Programmprüfung. Dies kann zu Programmierfehlern für beliebige Speicherzellen auf der Quellseite 102 der Speicherkanäle führen, die vom Zwischenspeicherkanal-Verluststrom betroffen sind.
  • Die obere Blindwortleitung 110 umfasst die Blindspeicherzelle 114 und die Blindspeicherzelle 116. Die untere Blindwortleitung 108 umfasst die Blindspeicherzelle 118 und die Blindspeicherzelle 120. Der Zwischenspeicherkanal-Verluststrom kann durch Anheben der Schwellenspannung einer oder mehrerer dieser Speicherzellen erheblich reduziert werden, wie im Folgenden näher erläutert wird.
  • 2 zeigt eine aktuell programmierte Speicherzelle 204, d. h. eine Speicherzelle, die sich im Prozess der Programmierung befindet, in einem FLASH-Speicherarray 200. Es werden verschiedene bekannte Merkmale wie Bitleitungen (Blnx), Quellleitung 202 und Steuergates (Drainseite-Auswahlgate 206 und Quellseite-Auswahlgate 210) dargestellt. Der mit der Bitleitung Bln gekoppelte Speicherkanal 122 ist ungehindert, und die aktuell programmierte Speicherzelle 204 ist mit der zur Programmierung 106 ausgewählten Wortleitung, z. B. WL0, gekoppelt. Die mit den Bitleitungen Bln+1 und Bln+2 usw. gekoppelten Speicherkanäle sind blockiert. Speicherzellen auf der Quellseite 102 befinden sich in dem jeweiligen Zustand, in dem sie zuvor programmiert wurden. Die Speicherzellen auf der Drainseite 104 befinden sich noch im gelöschten Zustand (Er). In diesem Beispiel werden die Blindspeicherzelle 114, die Blindspeicherzelle 116, die Blindspeicherzelle 118 und die Blindspeicherzelle 120 jeweils in einem niederschwelligen Spannungszustand programmiert. Der Potenzialgradient zwischen den Speicherkanälen von BLn+1 und BLn führt zu einer Ladungsmigration 208 und einem Zwischenspeicherkanal-Verluststrom 212. Dies kann die Programmierung von Speicherzellen auf der Quellseite 102 beeinträchtigen.
  • 3 ist ein Flussdiagramm, das eine Ausführungsform eines Programmierprozesses für Speicherzellen 300 veranschaulicht. Der Programmierprozess für Speicherzellen 300 kann von einer Steuerung durchgeführt werden, z. B. einer Steuerung in einem Solid-State-Laufwerk (SSD). Bei Block 302 werden die PROGRAMM-Spannung (Vpgm) und der Programmzähler (PC) auf Anfangswerte gesetzt. V(pgm) ist die PROGRAMM-Spannung, die bei dem ersten Durchlauf des Programmierprozesses für Speicherzellen 300 an die ausgewählte Wortleitung angelegt wird. Diese PROGRAMM-Spannung kann während des Prozesses iterativ erhöht werden. Der Programmzähler verfolgt, wie viele Programmimpulse angelegt wurden, sodass die Programmierung abgebrochen werden kann, wenn die Speicherzelle nicht innerhalb einer zulässigen Anzahl von Programmimpulsen arbeitet.
  • In einer Ausführungsform wird bei Block 302 auch ein Anfangswert für die Verstärkungsspannungen festgelegt. Der Wert der Verstärkungsspannungen kann von der Höhe der PROGRAMM-Spannung abhängen. Wenn beispielsweise die PROGRAMM-Spannung während des Prozesses an Größe zunimmt, kann auch die Höhe der Ladespannung angehoben werden.
  • Der Wert der Verstärkungsspannungen kann von der Lage der Wortleitung im Verhältnis zu der für die Programmierung ausgewählten Wortleitung abhängen. Je nach Implementierung ist die Höhe der Verstärkungsspannung (auf einer beliebigen Programmschleife) für Drainseite-Wortleitungen kleiner, größer oder gleich der Verstärkungsspannung für Quellseite-Wortleitungen. Darüber hinaus kann in einigen Implementierungen die Verwendung einer etwas größeren Verstärkungsspannung auf Wortleitungen in der Nähe der ausgewählten Leitung dazu beitragen, den Potenzialgradienten im Speicherzeichenkettenkanal in der Nähe der ausgewählten Wortleitung zu reduzieren und damit das Auftreten von heißen Elektronen im Kanal zu reduzieren.
  • Bei Block 304 werden die Kanäle von programmgesperrten Speicherzeichenketten vorgeladen. Dies wird im Folgenden als Vorladephase bezeichnet. Die Vorladephase kann das Anlegen einer oder mehrerer Vorladespannungen im Kanal der programmgesperrten Speicherzeichenketten einschließen. Die Höhe der Vorladespannung besteht normalerweise nicht gleichmäßig über den gesamten Kanal von der Quellleitung zur Bitleitung. Die Vorladephase kann somit zu einem Potenzialgradienten in einem programmgesperrten Speicherzeichenkettenkanal in der Nähe der zur Programmierung ausgewählten Wortleitung führen.
  • Bei Block 306 wird die Spannung in den Kanälen von programmgesperrten Speicherzeichenketten erhöht (dies kann einfach als „Kanalverstärkung“ bezeichnet werden). Eine programmgesperrte Speicherzeichenkette ist eine, die keine zu programmierende Speicherzelle aufweist. Das heißt, der Programmimpuls, der auf die ausgewählte Wortleitung angewendet werden soll, soll die Schwellenspannung von Speicherzellen auf einer nicht ausgewählten Speicherzeichenkette nicht verändern. Die Verstärkung der Kanäle von programmgesperrten Speicherzeichenketten hilft, Programmstörungen zu vermeiden.
  • Bei Block 308 wird ein Programmimpuls (z. B. Programmierspannung) an die ausgewählte Wortleitung angelegt, während die Kanäle der programmgesperrten Speicherzeichenketten verstärkt werden. Außerdem kann eine „Programmfreigabe“-Spannung an Bitleitungen angelegt werden, die Speicherzeichenketten zugeordnet sind und eine Speicherzelle zum Empfangen der Programmierung aufweisen. Mit dem Empfangen der Programmierung bedeutete dies, dass die Speicherzelle ihre Schwellenspannung verändert haben sollte. Für einige Architekturen könnte die Programmsperrspannung etwa 2,2 V betragen, aber dies kann je nach Design variieren. Bitleitungen, die den zu programmierenden Speicherzellen zugeordnet sind, werden auf einer Programmfreigabespannung gehalten. Für einige Implementierungen könnte die Programmfreigabespannung etwa 0 V betragen, aber dies kann je nach Design variieren.
  • Bei Block 310 wird ein Verifizierungsprozess durchgeführt. Bei dem Entscheidungsblock 312 wird bestimmt, ob die Schwellenspannung einer Speicherzelle so verifiziert wurde, dass sie über der endgültigen Soll-Schwellenspannung, Vverify, wie in 4 dargestellt, für diese Speicherzelle liegt (der Wert, der den Wert darstellt, der in der Speicherzelle gespeichert werden soll). Es ist möglicherweise nicht erforderlich, zu überprüfen, ob die Schwellenspannung jeder Speicherzelle für einen bestimmten Zustand innerhalb des entsprechenden Schwellenspannungsbereichs liegt. Die Fehlerkorrektur kann für einige Speicherzellen, die unter ihrer Soll-Schwellenspannung liegen, korrigierend wirken, Vverify. Die Fehlerkorrektur kann auch für einige Speicherzellen, die überprogrammiert sind, korrigiert werden, z. B. Speicherzellen, die eine Schwellenspannung oberhalb von Vdetect in 4 aufweisen.
  • Wenn die Verifizierung positiv verläuft, ist der Programmiervorgang bei Block 314 erfolgreich abgeschlossen (Status=erfolgreich). Wenn nicht alle Speicherzellen verifiziert sind, wird bestimmt, ob der Programmschleifenzähler (PC) kleiner als ein Maximalwert PC(MAX) ist. Der Wert PC(MAX) kann beispielsweise in einigen Implementierungen zwischen drei und sechs liegen.
  • Wenn der Programmzähler (PC) nicht kleiner als die maximale Anzahl (Entscheidungsblock 316) ist, dann ist der Programmablauf fehlgeschlagen (Block 318). Ist der Programmzähler (PC) kleiner als ein Maximalwert (z. B. 6), so wird der Programmzähler (PC) um 1 erhöht und die Programmierspannung Vpgm auf den nächsten Wert bei Block 320 angehoben. In einigen Ausführungsformen werden die Verstärkungsspannungen auch bei Block 320 erhöht. Nach Block 320 kehrt der Prozess zu Block 304 zurück, um den nächsten Programmimpuls vorzubereiten und auf die ausgewählte Wortleitung anzuwenden.
  • Nach Abschluss des Programmierdurchgangs können die Daten aus den Speicherzellen mit gelesenen Referenzspannungen ausgelesen werden, die innerhalb der programmierten Schwellenspannungsverteilungen der Speicherzellen liegen. Durch Testen, ob die Schwellenspannung einer bestimmten Speicherzelle über oder unter einer oder mehreren der ausgelesenen Referenzspannungen liegt, kann das System den gespeicherten Wert bestimmen, der durch die Schwellenspannung einer Speicherzelle dargestellt wird.
  • Wenn die Speicherzelle aufgrund der zuvor beschriebenen Zwischenspeicherkanal-Verlusteffekte nicht korrekt programmiert ist, hat Vpgm seinen höchsten Wert erreicht und die Schwellenspannung auf der Speicherzelle ist höher als die einer normal programmierten Speicherzelle. Dies führt zu einer Verteilung der Schwellenspannungen an Speicherzellen in einem bestimmten Speicherbereich (z. B. einem FLASH-Speicherblock), wie sie beispielsweise in den Schwellenspannungsverteilungen 400 von 4 dargestellt sind, wenn eine bestimmte Anzahl von Speicherzellen eine höhere Schwellenspannung aufweist als bei einer erfolgreich programmierten Speicherzelle, könnten diese Zellen von Fachleuten als überprogrammierte Speicherzellen bezeichnet werden.
  • Eine Spannung auf einer ausgewählten Wortleitung, die erfolgreich programmierte Speicherzellen veranlassen würde, durch Überwindung ihrer Schwellenspannung Strom zu leiten, führt nicht zu einer Leitung durch Speicherzellen, die aufgrund von Zwischenspeicherkanal-Verlust nicht korrekt programmiert wurden, da die Schwellenspannung dieser letzteren Speicherzellen höher als normal ist und sie als überprogrammierte Zellen bezeichnet werden könnten. Eine an die Wortleitung angelegte Erfassungsspannung Vdetect bewirkt eine Leitung in den erfolgreich programmierten Speicherzellen, nicht aber in den Speicherzellen, die aufgrund von Zwischenspeicherkanal-Verlust nicht korrekt programmiert wurden. Die Spannung Vdetect wird im Folgenden als die an eine Wortleitung angelegte „Erfassungsspannung“ bezeichnet und dient zur Erfassung von Speicherzellen, die aufgrund von Zwischenspeicherkanal-Verlust überprogrammiert sind.
  • 5 veranschaulicht einen Speicherkanal-Reparaturprozess 500 in einer Ausführungsform. Das Programmieren von Speicherzellen in einem Speicherblock erfolgt in der Regel von der Quellseite zur Drainseite des Speicherarrays. Eine Erfassungsspannung wird auf eine Wortleitung (Block 502) angewendet, um Speicherkanäle zu erfassen, die von dem Zwischenspeicherkanal-Verlust nicht betroffen waren (erfolgreich programmiert). Anschließend wird eine Zählung vorgenommen (z. B. „Bitscan“), um eine Anzahl von Bitleitungen zu bestimmen, die auf die Erfassungsspannung (Block 504) reagieren. Optional kann der dem Bitscan unterzogene Speicherbereich zunächst mit einem zufälligen Bitmuster (Block 506) programmiert (initialisiert) werden. Der Unterschied zwischen einer Gesamtzahl von Bitleitungen auf der Wortleitung und denen, die auf die Erfassungsspannung reagiert haben, ist die Anzahl der Speicherzellen, die aufgrund von Zwischenspeicherkanal-Verlust nicht korrekt programmiert wurden.
  • Liegt die Zählung (Entscheidungsblock 508) unter einem tolerierbaren Schwellenwert, endet der Prozess ohne Reparatur. Andernfalls wird die Reparatur durchgeführt (Block 510), indem zunächst festgestellt wird, welche Bitleitungen nicht auf die Erfassungsspannung reagiert haben (die „abweichenden Bitleitungen“).
  • Die Daten-Latches für diese abweichenden Bitleitungen können dann (zum Beispiel) auf „0“ gesetzt werden; und die Daten-Latches für andere Bitleitungen entlang der Wortleitung können auf „1“ gesetzt werden (oder den entgegengesetzten logischen Wert von dem, auf was auch immer die Bitleitungen mit hoher Schwellenspannung eingestellt wurden). Bei abweichenden Bitleitungen mit einem entsprechenden Daten-Latch auf „0“ kann die Steuerung die zu programmierenden Bitleitungen als solche im „0“-Zustand (Programmzustand) identifizieren, während alle anderen Bitleitungen in den „1“-Zustand (Sperrzustand) versetzt und nicht programmiert werden.
  • Eine oder mehrere der Speicherzellen entlang der oberen und unteren Blindwortleitungen, neben der Fertigungsverbindung in den abweichenden Bitleitungen, werden dann in einen Spannungszustand mit hoher Schwellenspannung programmiert (Block 512).
  • 6 zeigt ein Beispiel für eine Schwellenspannungsverteilung 600 für Speicherzellen auf Blindwortleitungen neben einer Fertigungsverbindung nach dem Speicherkanal-Reparaturprozess 500. Speicherzellen auf den Blindwortleitungen neben der Fertigungsverbindung, auf Speicherkanälen, die von Zwischenspeicherkanal-Verlust nicht betroffen sind, haben die typische Schwellenspannungsverteilung 602 für solche in der Implementierung verwendeten Blindspeicherzellen (diese ist unterschiedlich). Andere Speicherzellen auf den Blindwortleitungen neben der Fertigungsverbindung, auf Speicherkanälen, die von der Zwischenspeicherkanal-Verlust (den abweichenden Bitleitungen) betroffen sind, haben eine höhere Schwellenspannungsverteilung 604. In einer Ausführungsform ist diese höhere Schwellenspannungsverteilung 604 im Durchschnitt etwa 2,5 V höher als bei den Speicherzellen auf den nicht betroffenen Speicherkanälen.
  • Der in 7 dargestellte Speicherkanal-Reparaturprozess 700 veranschaulicht eine mögliche Optimierung, bei der die Erfassung und Reparatur für einen Speicherbereich nur bei der Programmierung einer Wortleitung in der Programmierreihenfolge durchgeführt wird. Diese eine Wortleitung könnte die erste Wortleitung in der Programmierreihenfolge sein, z. B. Wortleitung 0 (siehe Entscheidungsblock 702). Bei anderen Wortleitungen in der Programmierreihenfolge wird die Erfassung/Reparatur nicht durchgeführt.
  • Der in 8 dargestellte Speicherkanal-Reparaturprozess 800 veranschaulicht eine weitere mögliche Optimierung, bei der die Erfassung und Reparatur unter der Voraussetzung erfolgt, dass ein Programmvorgang fehlschlägt (Entscheidungsblock 802). Die Reparatur kann bei einem ersten Programmfehler oder nach einer voreingestellten Anzahl von Programmfehlern im Speicherbereich oder für Speicherzellen in einer bestimmten Wortleitung durchgeführt werden.
  • Der in 9 dargestellte Speicherkanal-Reparaturprozess 900 veranschaulicht eine Variation, bei der ein Programmfehler oder zu viele Programmfehler dazu führen, dass ein Speicherbereich (z. B. Speicherblock) gesichert (Block 902) und vorübergehend als „schlecht“ (Block 904) und nicht verwendbar gekennzeichnet wird. Anschließend wird der Erfassungs- und Reparaturprozess durchgeführt und nach erfolgreichem Abschluss wird der Block als „gut“ für die Verwendung gekennzeichnet (Block 906).
  • 10 ist ein Blockdiagramm einer exemplarischen Speichervorrichtung. Die Speichervorrichtung kann einen oder mehrere Speicher-Dies 1004 enthalten. Das Speicher-Die 1004 enthält eine Speicherstruktur 1006 aus Speicherzellen, wie etwa eine Anordnung von Speicherzellen, die hierin als Speicherarray bezeichnet wird, eine Adresssteuerung 1008 und Lese-/Schreibschaltungen 1032. Auf die Speicherstruktur 1006 kann durch Wortleitungen über einen Zeilendecoder 1030 und durch Bitleitungen über einen Spaltendecoder 1034 zugegriffen werden. Die Lese-/Schreibschaltungen 1032 enthalten mehrere Abtastblöcke SB1, SB2, ..., SBp (Abtastschaltungsanordnung) und ermöglichen das parallele Lesen oder Programmieren einer Seite von Speicherzellen. Üblicherweise ist eine Lese-/Schreibsteuerung 1022 in der gleichen Speichervorrichtung (z. B. einer entfernbaren Speicherkarte) wie das eine oder die mehreren Speicher-Dies 1004 enthalten. Befehle und Daten werden zwischen der Host-Vorrichtung 1036 und der Lese-/Schreibsteuerung 1022 über einen Datenbus 1020 und zwischen der Steuerung und einem oder mehreren Speicher-Dies 1004 über die Leitungen 1018 übertragen.
  • Die Speicherstruktur 1006 kann 2D (in einer einzigen Fertigungsebene ausgelegt) oder 3D (in mehreren Fertigungsebenen ausgelegt) sein. Die Speicherstruktur 1006 kann ein oder mehrere Arrays von Speicherzellen aufweisen, einschließlich eines 3D-Arrays. In einer Ausführungsform kann die Speicherstruktur 1006 eine monolithische dreidimensionale Speicherstruktur (3D-Array) aufweisen, in der mehrere Speicherebenen über (und nicht in) einem einzelnen Substrat, wie beispielsweise einem Wafer, ohne dazwischenliegende Substrate ausgebildet sind. Die Speicherstruktur 1006 kann jede Art von nichtflüchtigem Speicher umfassen, der monolithisch in einer oder mehreren physikalischen Ebenen von Arrays von Speicherzellen ausgebildet ist, die über einen aktiven Bereich verfügen, der über einem Siliziumsubstrat angeordnet ist. Die Speicherstruktur 1006 kann sich in einer nichtflüchtigen Speichervorrichtung befinden, die Schaltungen aufweist, die dem Betrieb der Speicherzellen zugeordnet sind, ganz gleich, ob sich die zugehörige Schaltung oberhalb oder innerhalb des Substrats befindet.
  • Die Adresssteuerung 1008 arbeitet mit den Lese-/Schreibschaltungen 1032 zusammen, um Speicheroperationen an Speicherzellen der Speicherstruktur 1006 auszuführen, und schließt eine Zustandsmaschine 1010, einen Adressdecoder 1012, einen Temperaturregler 1038 und eine Leistungssteuerung 1016 ein. Die Zustandsmaschine 1010 stellt eine Steuerung von Speicheroperationen auf Chip-Ebene bereit. Ein Speicherbereichswahlschalter 1014 kann z. B. zum Programmieren von Parametern vorgesehen sein, wie weiter unten beschrieben wird.
  • Der Adressdecoder 1012 stellt eine Adressschnittstelle zwischen der vom Host oder einer Lese-/Schreibsteuerung 1022 verwendeten Adresse und der vom Zeilendecoder 1030 und Spaltendecoder 1034 verwendeten Hardwareadresse bereit. Die Leistungssteuerung 1016 steuert die Leistung und Spannungen, die den verschiedenen Steuerleitungen während des Speicherbetriebs zugeführt werden. Die Leistungssteuerung 1016 und/oder Lese-/Schreibschaltungen 1032 können Treiber für Wortleitungen, Source-Gate-Auswahl-Transistoren (SGS-Transistoren), Drain-Gate-Auswahl-Transistoren (DGS-Transistoren), Bitleitungen, Substrate (in 2D-Speicherstrukturen), Ladepumpen und Quellleitungen einschließen. Die Leistungssteuerung 1016 kann daher verschiedene Erstspannungsgeneratoren (z. B. die Treiber) einschließen, um die hierin beschriebenen Spannungen zu erzeugen. Die Abtastblöcke können Bitleitungstreiber und Abtastverstärker in einem Ansatz einschließen.
  • In einigen Implementierungen können einige der Komponenten kombiniert werden. In verschiedenen Ausführungen können eine oder mehrere der Komponenten (allein oder in Kombination), die sich von der Speicherstruktur 1006 unterscheiden, als mindestens eine Steuerschaltung oder Steuerung betrachtet werden, die zur Durchführung der hierin beschriebenen Techniken eingerichtet ist. Beispielsweise kann eine Steuerschaltung eine beliebige oder eine Kombination aus Adresssteuerung 1008, Zustandsmaschine 1010, Adressdecoder 1012, Spaltendecoder 1034, Leistungssteuerung 1016, Steuerprozessor 1028, Fehlerkorrektureinheit 1002, Leseblöcken SB1, SB2, ..., SBp, Lese-/Schreibschaltungen 1032, Lese-/Schreibsteuerung 1022 und so weiter enthalten.
  • Die Lese-/Schreibsteuerung 1022 kann einen Steuerprozessor 1028, Speichervorrichtungen (Speicher) wie den Nur-Lese-Speicher 1024 und den flüchtigen Speicher 1026 der Steuerung und andere in der Technik bekannte Funktionseinheiten umfassen.
  • Die Speichervorrichtungen der Lese-/Schreibsteuerung 1022 können einen Code umfassen, wie beispielsweise einen Satz von Anweisungen, und der Steuerprozessor 1028 ist betreibbar, um den Satz von Anweisungen auszuführen und Aspekte der hierin beschriebene Funktionalität bereitzustellen. Alternativ oder zusätzlich kann der Steuerprozessor 1028 auf Code aus der Speicherstruktur 1006 zugreifen, wie beispielsweise auf einen reservierten Bereich von Speicherzellen in einer oder mehreren Wortleitungen.
  • Beispielsweise kann Code von der Lese-/Schreibsteuerung 1022 verwendet werden, um auf die Speicherstruktur 1006 für Programmier- (Schreib-), Lese- und Rückstellvorgänge zuzugreifen. Der Code kann Bootcode und Steuercode (z. B. einen Satz von Anweisungen) einschließen. Der Bootcode ist eine Software, die die Lese-/Schreibsteuerung 1022 während eines Boot- oder Startvorgangs initialisiert und der Lese-/Schreibsteuerung 1022 den Zugriff auf die Speicherstruktur 1006 ermöglicht. Der Code kann von der Lese-/Schreibsteuerung 1022 verwendet werden, um eine oder mehrere Speicherstrukturen zu steuern. 11 veranschaulicht exemplarisch die Steuersignale 1100 zur Erfassung von Speicherkanälen, die von Zwischenspeicherkanal-Verlust während der Programmierung betroffen sind, wie hierin in Verbindung mit bestimmten Ausführungsformen beschrieben. 12 veranschaulicht exemplarisch die Steuersignale 1200 zur Durchführung der Speicherkanalreparatur wie hierin in Verbindung mit bestimmten Ausführungsformen beschrieben. Erfahrene Fachleute werden die verschiedenen Signalbezeichnungen und Phasen der dargestellten Programmierung erkennen, und diese müssen nicht weiter ausgearbeitet werden.
  • In einer Ausführungsform ruft der Steuerprozessor 1028 beim Hochfahren den Bootcode aus dem Nur-Lese-Speicher 1024 oder der Speicherstruktur 1006 der Steuerung zur Ausführung ab, und der Bootcode initialisiert die Systemkomponenten und lädt den Steuercode in den flüchtigen Speicher der Steuerung 1026. Sobald der Steuercode in den flüchtigen Speicher der Steuerung 1026 geladen ist, wird er durch den Steuerprozessor 1028 ausgeführt. Der Steuercode enthält Treiber zum Durchführen grundlegender Aufgaben, wie beispielsweise Steuern und Zuweisen von Speicher, Priorisieren der Verarbeitung von Befehlen und Steuern von Eingabe- und Ausgabeports.
  • Im Allgemeinen kann der Steuercode Anweisungen zur Konfiguration einer oder mehrerer Steuerungen zur Ausführung der hierin beschriebenen Funktionen enthalten. Zum Beispiel kann der Steuercode einen Sequenzer implementieren, um das Timing (Start- und Stoppzeiten, Dauer, Abstand usw.) der verschiedenen hier beschriebenen Aktionen zu steuern.
  • In einer Ausführungsform ist die Hostvorrichtung 1036 eine Computervorrichtung (z. B. Laptop, Desktop, Smartphone, Tablet, Digitalkamera), die einen oder mehrere Prozessoren, eine oder mehrere prozessorlesbare Speichervorrichtungen (RAM, ROM, Flash-Speicher, Festplattenlaufwerk, Solid State Memory) beinhaltet, die prozessorlesbaren Code (z. B. Software) zum Programmieren der Lese-/Schreibsteuerung 1022 speichern, um die hierin beschriebenen Verfahren auszuführen. Der Host kann auch zusätzlichen Systemspeicher, eine oder mehrere Ein-/Ausgabeschnittstellen und/oder eine oder mehrere Ein-/Ausgabevorrichtungen in Kommunikation mit dem einem oder den mehreren Prozessoren sowie andere in der Technik bekannte Komponenten einschließen.
  • Der Speicherbereichswahlschalter 1014 kann ein nichtflüchtiger Speicher wie ein NAND-Flash-Speicher oder ein anderer Typ sein, der eine Speicherabbildung oder eine Adresstranslationstabelle implementiert. Zugehörige Schaltungen sind üblicherweise für den Betrieb der Speicherelemente und für die Kommunikation mit den Speicherelementen erforderlich. Als nicht einschränkende Beispiele können Speichervorrichtungen Schaltungen aufweisen, die zum Steuern und Treiben von Speicherelementen verwendet werden, um Funktionen wie Programmieren und Lesen auszuführen. Diese zugehörige Schaltung kann sich auf demselben Substrat wie die Speicherelemente und/oder auf einem separaten Substrat befinden. Zum Beispiel kann eine Steuerung für Schreib-/Lesevorgänge des Speichers auf einem separaten Steuerungschip und/oder auf demselben Substrat wie die Speicherelemente angeordnet sein.
  • Ein Fachmann wird erkennen, dass die offenbarten Techniken und Vorrichtungen nicht auf die beschriebenen zweidimensionalen und dreidimensionalen beispielhaften Strukturen beschränkt sind, sondern alle relevanten Speicherstrukturen in dem Geist und Umfang der Technologie abdecken, wie hier beschrieben und wie es von einem Fachmann verstanden wird.
  • Innerhalb dieser Offenbarung können verschiedene Elemente (die unterschiedlich als „Einheiten“, „Schaltkreise“, andere Komponenten usw. bezeichnet werden können) als „eingerichtet“ beschrieben oder beansprucht werden, um eine oder mehrere Aufgaben oder Operationen auszuführen. Diese Formulierung-[Element] eingerichtet zum [Ausführen einer oder mehrerer Aufgaben]-wird hierin verwendet, um sich auf die Struktur zu beziehen (d. h. etwas Physisches, wie eine elektronische Schaltung). Genauer gesagt, wird diese Formulierung verwendet, um anzuzeigen, dass diese Struktur so angeordnet ist, um die eine oder mehreren Aufgaben während des Betriebs durchzuführen. Eine Struktur kann als „eingerichtet“ bezeichnet werden, um eine Aufgabe auszuführen, auch wenn die Struktur momentan nicht betrieben wird. Eine „Kreditverteilungsschaltung, die eingerichtet ist zum Verteilen von Guthaben auf eine Vielzahl von Prozessorkernen“, soll beispielsweise eine integrierte Schaltung abdecken, die über eine Schaltung zum Ausführen dieser Funktion während des Betriebs verfügt, auch wenn die betreffende integrierte Schaltung derzeit nicht verwendet wird (z. B. ist kein Netzteil daran angeschlossen). Somit bezieht sich ein Element, das als „eingerichtet zum“ Durchführen einer Aufgabe beschrieben oder rezitiert wird, auf etwas Physisches, wie z. B. eine Vorrichtung, eine Schaltung, einen Speicher zum Speichern von Programmanweisungen, die zum Durchführen der Aufgabe ausführbar sind usw. Diese Formulierung wird hierin nicht verwendet, um auf etwas Immaterielles hinzuweisen.
  • Der Ausdruck „eingerichtet zum“ bedeutet nicht „konfigurierbar zum.“ Ein unprogrammiertes FPGA zum Beispiel würde nicht als „eingerichtet zum“ Ausführen einer bestimmten Funktion betrachtet werden, obwohl es nach der Programmierung „konfigurierbar zum“ Ausführen dieser Funktion sein kann.
  • Wie hierin verwendet, wird der Ausdruck „basierend auf“ verwendet, um einen oder mehrere Faktoren zu beschreiben, die eine Bestimmung beeinflussen. Dieser Ausdruck schließt nicht die Möglichkeit aus, dass zusätzliche Faktoren die Bestimmung beeinflussen können. Das heißt, eine Bestimmung kann ausschließlich auf bestimmten Faktoren oder auf den bestimmten Faktoren sowie anderen, nicht spezifizierten Faktoren basieren. Betrachten wir die Formulierung „A basierend auf B bestimmen“. Dieser Satz besagt, dass B ein Faktor ist, der zur Bestimmung von A verwendet wird oder der die Bestimmung von A beeinflusst. Dieser Satz schließt nicht aus, dass die Bestimmung von A auch auf einem anderen Faktor, wie beispielsweise C, basieren kann. Diese Formulierung gilt auch für eine Ausführungsform, in der A ausschließlich auf der Grundlage von B bestimmt wird. Wie hierin verwendet, ist die Formulierung „basierend auf“ gleichbedeutend mit der Formulierung „basierend zumindest teilweise auf.“
  • Wie hierin verwendet, beschreibt die Formulierung „als Reaktion auf“ einen oder mehrere Faktoren, die einen Effekt auslösen. Diese Formulierung schließt nicht die Möglichkeit aus, dass zusätzliche Faktoren den Effekt beeinflussen oder anderweitig auslösen können. Das heißt, ein Effekt kann ausschließlich als Reaktion auf diese Faktoren oder als Reaktion auf die festgelegten Faktoren sowie andere, nicht festgelegte Faktoren auftreten. Betrachten wir die Formulierung „A als Reaktion auf B ausführen“. Dieser Satz besagt, dass B ein Faktor ist, der die Leistung von A auslöst. Dieser Satz schließt nicht aus, dass die Ausführung von A auch als Reaktion auf einen anderen Faktor, wie beispielsweise C, erfolgen kann. Diese Formulierung gilt auch für eine Ausführungsform, bei der A ausschließlich als Reaktion auf B ausgeführt wird.
  • Wie hierin verwendet, werden die Begriffe „erste/erster/erstes“, „zweite/zweiter/zweites“ usw. als Bezeichnungen für die anschließenden Substantive verwendet, und implizieren keine Art von Ordnung (z. B. räumlich, zeitlich, logisch usw.), sofern nicht anders angegeben. Beispielsweise können in einer Registerdatei mit acht Registern die Begriffe „erstes Register“ und „zweites Register“ verwendet werden, um auf zwei beliebige der acht Register zu verweisen, und nicht beispielsweise nur auf die logischen Register 0 und 1.
  • Bei der Verwendung in den Ansprüchen wird der Begriff „oder“ als inklusiv und nicht als exklusiv verwendet. Beispielsweise bedeutet die Formulierung „mindestens einer von x, y oder z“ einen von x, y und z sowie eine beliebige Kombination davon.

Claims (20)

  1. Speichervorrichtung, umfassend: ein Speicherarray (200) mit Speicherkanälen (122, 124), wobei jeder Speicherkanal Speicherzellen (204) und eine Fertigungsverbindung (112) aufweist, wobei wenigstens eine an die Fertigungsverbindung (112) angrenzende Blindwortleitung (108, 110) mit Blindspeicherzellen (114, 116, 118, 120) gekoppelt ist, die keine Benutzerdaten speichern und die in den Speicherkanälen eingeschlossen sind; und eine Steuerung, die eingerichtet ist, um: die Speicherzellen (204) der Speicherkanäle (122, 124) mit Benutzerdaten zu programmieren; eine Anzahl von Speicherzellen (204) zu erfassen, die als Reaktion darauf, dass die Speicherzellen (204) einen Schwellenwert erfüllen, nicht korrekt mit den Benutzerdaten programmiert wurden; Bitleitungen zu bestimmen, die den Speicherzellen (204) entsprechen, die nicht korrekt mit den Benutzerdaten programmiert wurden; eine Schwellenspannung für bestimmte Blindspeicherzellen (114, 116, 118, 120) von Speicherkanälen (122, 124), die mit den bestimmten Bitleitungen verbunden sind, auf der mindestens einen an die Fertigungsverbindung (112) angrenzenden Blindwortleitung (108, 110) zu erhöhen (512), wobei eine Schwellenspannung von anderen als den bestimmten Blindspeicherzellen (114, 116, 118, 120) nicht erhöht wird, wobei die bestimmten Blindspeicherzellen (114, 116, 118, 120) in den Speicherkanälen (122, 124) angeordnet sind, die mit den bestimmten Bitleitungen verbunden sind; und wobei die Schwellenspannung für die bestimmten Blindspeicherzellen (114, 116, 118, 120) eingerichtet ist, um Verluststrom zwischen benachbarten Speicherkanälen (122, 124) zu reduzieren.
  2. Speichervorrichtung nach Anspruch 1, wobei das Erfassen der Anzahl von Speicherzellen (204), die nicht korrekt programmiert wurden, das Subtrahieren einer ersten Anzahl von Bitleitungen, die den Schwellenwert nicht erfüllen, von einer Gesamtzahl von Bitleitungen auf einer Wortleitung (106) umfasst.
  3. Speichervorrichtung nach Anspruch 1, wobei die Steuerung ferner eingerichtet ist, um: eine Erfassungsspannung anzulegen (502), die einer höchst erfolgreichen Programmschwellenspannung entspricht, und die Anzahl der Speicherzellen (204) zu bestimmen, die als Reaktion auf einen Programmierfehler nicht korrekt programmiert wurden.
  4. Speichervorrichtung nach Anspruch 3, wobei die Steuerung ferner eingerichtet ist, um: als Reaktion auf den Programmierfehler eine Datensicherung in einem Speicherbereich durchzuführen (902), in dem der Programmierfehler aufgetreten ist; den Speicherbereich als nicht zur Verwendung verfügbar zu kennzeichnen; die Schwellenspannung für die mindestens eine Blindspeicherzelle (114, 116, 118, 120) auf der mindestens einen an die Fertigungsverbindung (112) angrenzenden Blindwortleitung (108, 110) zu erhöhen; und den Speicherbereich als zur Verwendung verfügbar zu kennzeichnen.
  5. Speichervorrichtung nach Anspruch 3, wobei die Steuerung ferner eingerichtet ist, um: die Anzahl der Speicherzellen (204) zu erfassen, die nur für eine einzelne bestimmte Wortleitung (106) einer Vielzahl von Wortleitungen des Speicherarrays (200) nicht korrekt programmiert wurden.
  6. Speichervorrichtung nach Anspruch 5, wobei die einzelne bestimmte Wortleitung (106) die Wortleitung 0 (WL0) ist.
  7. Speichervorrichtung nach Anspruch 5, wobei die Steuerung ferner eingerichtet ist, um: die Anzahl der Speicherzellen (204) zu bestimmen, die nicht korrekt programmiert wurden, unter der Bedingung, dass der Programmierfehler auf der einzelnen bestimmten Wortleitung (106) auftritt.
  8. Speichervorrichtung nach Anspruch 1, wobei die Steuerung ferner eingerichtet ist, um: einen Bereich des Speicherarrays (200), der die Speicherkanäle (122, 124) umfasst, mit einem zufälligen Datenmuster zu initialisieren (506).
  9. Steuerung, die eingerichtet ist, um: Speicherzellen eines eine Fertigungsverbindung (112) umfassenden Speicherarrays (200) durch Einstellen von Schwellenspannungen an den Speicherzellen (204) mit Benutzerdaten zu programmieren, wobei das Speicherarray (200)Speicherkanäle (122, 124) aufweist, wobei jeder Speicherkanal Speicherzellen (204) und eine Fertigungsverbindung (112) aufweist, wobei wenigstens eine an die Fertigungsverbindung (112) angrenzende Blindwortleitung (108, 110) mit Blindspeicherzellen (114, 116, 118, 120) gekoppelt ist, die keine Benutzerdaten speichern und die in den Speicherkanälen (122, 124) eingeschlossen sind; eine Anzahl von Speicherzellen (204) zu erfassen, die als Reaktion auf das Anlegen (502) einer Erfassungsspannung an mindestens eine Wortleitung (106) des Speicherarrays (200) nicht korrekt programmiert wurden; eine oder mehrere Bitleitungen zu bestimmen (510), die den Speicherzellen (204) entsprechen, die nicht korrekt mit Benutzerdaten programmiert wurden; und eine Schwellenspannung für bestimmte Blindspeicherzellen (114, 116, 118, 120) von Speicherkanälen (122, 124), die mit den bestimmten Bitleitungen verbunden sind, an der mindestens einen an die Fertigungsverbindung (112) angrenzenden Blindwortleitung (108, 110) zu erhöhen (512), um Speicherkanäle (122, 124) der Speicherzellen (204) zu reparieren, die nicht korrekt mit den Benutzerdaten programmiert wurden, wobei eine Schwellenspannung von anderen als den bestimmten Blindspeicherzellen (114, 116, 118, 120) nicht erhöht wird, wobei die bestimmten Blindspeicherzellen (114, 116, 118, 120) in den Speicherkanälen (122, 124) angeordnet sind, die mit den bestimmten Bitleitungen verbunden sind.
  10. Steuerung nach Anspruch 9, wobei das Erfassen der Anzahl der Speicherzellen (204), die nicht korrekt programmiert wurden, das Subtrahieren einer ersten Anzahl von Bitleitungen, die nicht auf die Erfassungsspannung reagieren, von einer Gesamtzahl von Bitleitungen umfasst, die der Erfassungsspannung unterzogen wurden.
  11. Steuerung nach Anspruch 9, wobei die Erfassungsspannung eine höchste erfolgreiche Programmschwellenspannung für die Speicherzellen (204) erfüllt.
  12. Steuerung nach Anspruch 11, die ferner eingerichtet ist, um: als Reaktion auf einen Programmierfehler eine Datensicherung in einem Speicherbereich durchzuführen (902), in dem der Programmierfehler aufgetreten ist; Speicherkanäle (122, 124) zu reparieren, die den Speicherzellen (204) entsprechen, die nicht korrekt programmiert wurden; die Anzahl der Speicherzellen (204) zu erfassen, die als Reaktion auf das Anwenden (502) der Erfassungsspannung auf mindestens eine zur Programmierung ausgewählte Wortleitung (106) nicht programmiert wurden; und den Speicherbereich als zur Verwendung verfügbar zu kennzeichnen.
  13. Steuerung nach Anspruch 11, die ferner eingerichtet ist, um: die Anzahl der Speicherzellen (204) zu erfassen, die nur für eine einzelne bestimmte Wortleitung einer Vielzahl von Wortleitungen (106) des Speicherarrays (200) nicht korrekt programmiert wurden.
  14. Steuerung nach Anspruch 13, wobei die einzelne bestimmte Wortleitung (106) die Wortleitung 0 (WL0) ist.
  15. Steuerung nach Anspruch 13, die ferner eingerichtet ist, um: die Anzahl der Speicherzellen (204) zu bestimmen, die nicht korrekt programmiert wurden, unter der Bedingung, dass ein Programmierfehler auf der einzelnen bestimmten Wortleitung (106) auftritt.
  16. Steuerung nach Anspruch 9, die ferner eingerichtet ist, um: einen Bereich des Speicherarrays (200), der die Speicherzellen (204) umfasst, mit einem zufälligen Datenmuster zu initialisieren (506).
  17. Vorrichtung, umfassend: Speichermittel, die Speicherzellen (204) und eine Fertigungsverbindung (112) umfassen, wobei das Speichermittel Speicherkanäle (122, 124) aufweist, wobei jeder Speicherkanal Speicherzellen (204) und eine Fertigungsverbindung (112) aufweist, wobei wenigstens eine an die Fertigungsverbindung (112) angrenzende Blindwortleitung (108, 110) mit Blindspeicherzellen (114, 116, 118, 120) gekoppelt ist, die keine Benutzerdaten speichern und die in den Speicherkanälen (122, 124) eingeschlossen sind; Mittel zum Erfassen einer Anzahl von Speicherzellen (204), die als Reaktion auf das Anlegen einer Erfassungsspannung an mindestens eine Wortleitung (106) der Speichermittel nicht korrekt mit Benutzerdaten programmiert wurden; und Mittel zum Erhöhen einer Schwellenspannung für bestimmte Blindspeicherzellen (114, 116, 118, 120) von Speicherkanälen (122, 124), die mit den bestimmten Bitleitungen verbunden sind, an der mindestens einen an die Fertigungsverbindung (112) angrenzenden Blindwortleitung (108, 110), um Speicherkanäle der Speicherzellen (204) zu reparieren, die nicht korrekt mit den Benutzerdaten programmiert wurden, wobei eine Schwellenspannung von anderen als den bestimmten Blindspeicherzellen (114, 116, 118, 120) nicht erhöht wird, wobei die bestimmten Blindspeicherzellen (114, 116, 118, 120) in den Speicherkanälen (122, 124) angeordnet sind, die mit den bestimmten Bitleitungen verbunden sind.
  18. Vorrichtung nach Anspruch 17, ferner umfassend: Mittel zum Durchführen einer Sicherung von Daten aus den Speichermitteln; und Mittel zum Reparieren von Speicherkanälen (122, 124) entsprechend den Speicherzellen (204), die nicht korrekt programmiert wurden.
  19. Vorrichtung nach Anspruch 17, ferner umfassend: Mittel zum Erfassen der Anzahl der Speicherzellen (204), die nur für eine einzelne bestimmte Wortleitung einer Vielzahl von Wortleitungen des Speichermittels nicht korrekt programmiert wurden.
  20. Vorrichtung nach Anspruch 19, wobei die einzelne bestimmte Wortleitung (106) die Wortleitung 0 (WL0) ist.
DE102019134289.9A 2019-03-14 2019-12-13 Reparatur von undichten speicherlöchern an der fertigungsverbindung Active DE102019134289B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/354,034 US10910083B2 (en) 2019-03-14 2019-03-14 Leaky memory hole repair at fabrication joint
US16/354,034 2019-03-14

Publications (2)

Publication Number Publication Date
DE102019134289A1 DE102019134289A1 (de) 2020-09-17
DE102019134289B4 true DE102019134289B4 (de) 2024-06-20

Family

ID=72241043

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019134289.9A Active DE102019134289B4 (de) 2019-03-14 2019-12-13 Reparatur von undichten speicherlöchern an der fertigungsverbindung

Country Status (3)

Country Link
US (1) US10910083B2 (de)
CN (1) CN111696616B (de)
DE (1) DE102019134289B4 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9460799B1 (en) 2015-11-24 2016-10-04 Sandisk Technologies Llc Recovery of partially programmed block in non-volatile memory
US9508441B1 (en) 2015-07-07 2016-11-29 Samsung Electronics Co., Ltd. Memory device and memory system
US20160351236A1 (en) 2015-05-29 2016-12-01 SK Hynix Inc. Semiconductor device and operating method thereof
US20170330631A1 (en) 2016-05-11 2017-11-16 Sandisk Technologies Inc. Dummy word line control scheme for non-volatile memory

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8134871B2 (en) * 2009-08-05 2012-03-13 Sandisk Technologies Inc. Programming memory with reduced pass voltage disturb and floating gate-to-control gate leakage
US9563504B2 (en) * 2014-12-05 2017-02-07 Sandisk Technologies Llc Partial block erase for data refreshing and open-block programming
US9547571B2 (en) * 2015-05-20 2017-01-17 Sandisk Technologies Llc Block behavior tracking in a memory system
US9530517B2 (en) * 2015-05-20 2016-12-27 Sandisk Technologies Llc Read disturb detection in open blocks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160351236A1 (en) 2015-05-29 2016-12-01 SK Hynix Inc. Semiconductor device and operating method thereof
US9508441B1 (en) 2015-07-07 2016-11-29 Samsung Electronics Co., Ltd. Memory device and memory system
US9460799B1 (en) 2015-11-24 2016-10-04 Sandisk Technologies Llc Recovery of partially programmed block in non-volatile memory
US20170330631A1 (en) 2016-05-11 2017-11-16 Sandisk Technologies Inc. Dummy word line control scheme for non-volatile memory

Also Published As

Publication number Publication date
DE102019134289A1 (de) 2020-09-17
US20200294615A1 (en) 2020-09-17
CN111696616A (zh) 2020-09-22
US10910083B2 (en) 2021-02-02
CN111696616B (zh) 2023-10-24

Similar Documents

Publication Publication Date Title
DE112019000164B4 (de) Speichervorrichtung mit verbundenen wortleitungen zur schnellen programmierung
DE112017001761B4 (de) NAND-Struktur mit Stufenauswahl-Gate-Transistoren
DE69603742T2 (de) Überlöschungskorrektur für flash-speicher mit überlöschungsbegrenzung und vermeidung von löschprüffehlern
DE602004005211T2 (de) Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen
DE112015003834B4 (de) Abtasten mehrerer referenzpegel in nichtflüchtigen speicherelementen
DE602005003924T2 (de) Programmierung nicht-flüchtiger speicher
DE60001587T2 (de) Schaltungsausführung zur reduzierung des bitleitungslekcstroms bei programmierungs-und überlöschungskorrekturmodus in einem flash-eeprom
DE112019000157B4 (de) Speichervorrichtung mit von nand-ketten getrennten bitleitungen zur schnellen programmierung
DE112018006212T5 (de) Verfahren und System zur Reduktion einer Programmierungsstörungsverschlechterung in einem Flash-Speicher
DE112017002776T5 (de) Nichtflüchtiger Speicher mit angepasster Steuerung vom Typ der Störinjektion während der Programmüberprüfung für eine verbesserte Programmleistung
DE102018105623B4 (de) Zustandsabhängige Abtastschaltungen und Abtastoperationen für Speichervorrichtungen
DE102018105685A1 (de) Multi-Zustands-Programm, das gesteuertes schwaches Boosten für einen nichtflüchtigen Speicher verwendet
DE102010053557B4 (de) NAND-Programmiertechnik
DE69411762T2 (de) Flash-EEPROM mit redundanter Speicherzellenmatrix
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE112016000654T5 (de) Mehrzustands-Programmierung für nichtflüchtigen Speicher
DE102020105946A1 (de) Speicherzellen-fehlform-abschwächung
DE102012104648A1 (de) Techniken zur Verifikation einer Verlässlichkeit eines Speichers
DE102020116188A1 (de) Verbesserung der sourceseitigen vorladung und verstärkung für das programmieren in umgekehrter reihenfolge
DE112019005518T5 (de) Mehrzustandsprogrammierung in einer speichervorrichtung mit schleifenabhängiger bitleitungsspannung während der verifizierung
DE112004002851B4 (de) Halbleitervorrichtung und Programmierverfahren
DE112019000159T5 (de) Ramp-down-abtastung zwischen programmspannung und prüfspannung in einer speichervorrichtung
DE102022113174A1 (de) Proaktive aktualisierung der randdatenwortleitung für halbkreis-drain-side-select-gate
DE60016104T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE112004003023B4 (de) Halbleiterbauelement und Verfahren zum Steuern des Halbleiterbauelements

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE

Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R081 Change of applicant/patentee

Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC., SAN JOSE, CALIF., US

R081 Change of applicant/patentee

Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

Free format text: FORMER OWNER: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATES DELAWARE), MILPITAS, CA, US