DE112010000955T5 - NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung - Google Patents

NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung Download PDF

Info

Publication number
DE112010000955T5
DE112010000955T5 DE112010000955T DE112010000955T DE112010000955T5 DE 112010000955 T5 DE112010000955 T5 DE 112010000955T5 DE 112010000955 T DE112010000955 T DE 112010000955T DE 112010000955 T DE112010000955 T DE 112010000955T DE 112010000955 T5 DE112010000955 T5 DE 112010000955T5
Authority
DE
Germany
Prior art keywords
sector
decoder
row
nand flash
sectors
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.)
Withdrawn
Application number
DE112010000955T
Other languages
English (en)
Inventor
Jin-Ki Kim
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.)
Mosaid Technologies Inc
Original Assignee
Mosaid 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 Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Publication of DE112010000955T5 publication Critical patent/DE112010000955T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/14Word line organisation; Word line lay-out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • 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
    • 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
    • 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/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output

Landscapes

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

Abstract

Eine NAND-Flash-Speichervorrichtung wird offenbart. Die NAND-Flash-Speichervorrichtung enthält ein NAND-Flash-Speicherfeld, das als eine Mehrzahl von Sektoren definiert ist. Eine Zeilendecodierung wird in zwei Stufen ausgeführt. Die erste Stufe wird ausgeführt, welche auf alle Sektoren anwendbar ist. Dies kann verwendet werden, um beispielsweise einen Block auszuwählen. Die zweite Stufe wird für einen bestimmten Sektor ausgeführt, um beispielsweise eine Seite innerhalb eines Blockes in dem bestimmten Sektor auszuwählen. Lese- und Programmieroperationen finden mit einer Auflösung von einer Seite innerhalb eines Sektors statt, während eine Löschoperation mit einer Auflösung von einem Block innerhalb eines Sektors stattfindet.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Vergünstigungen der vorläufigen US Anmeldung Nr. 61/157,594, angemeldet am 5. März 2009, sowie der US Anmeldung Nr. 12/495,089, angemeldet am 30. Juni 2009, deren Inhalte hiermit jeweils durch Verweis vollumfänglich aufgenommen werden.
  • GEBIET
  • Es wird eine NAND-Flash-Speichervorrichtung offenbart.
  • HINTERGRUND
  • Bei konventionellen NAND-Flash-Speichern wird ein Löschen blockweise durchgeführt. Im Gegensatz dazu finden Lese- und Programmierungoperationen seitenweise statt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Beispielhafte Ausführungsformen werden nun unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 ein Blockdiagramm einer typischen Speicherkern-Architektur in einem NAND-Flash-Speicher ist;
  • 2 ein Blockdiagramm einer beispielhaften NAND-Flash-Vorrichtung ist, innerhalb der eine der hier beschriebenen NAND-Kernarchitekturen implementiert werden könnte;
  • 3 ein Blockdiagramm einer Speicherkern-Architektur für einen NAND-Flash-Speicher gemäß einer beispielhaften Ausführungsform ist;
  • 4 ein Blockdiagramm einer Speicherkern-Architektur in einem NAND-Flash-Speicher gemäß einer beispielhaften Ausführungsform ist;
  • Die 5 und 6 für die beispielhafte Ausführungsform aus 3 eine Operation für das Lesen einer einzelnen Seite bzw. mehrerer Seiten zeigen;
  • 7 ein Blockdiagramm einer Speicherkern-Architektur in einem NAND-Flash-Speicher gemäß einer beispielhaften Ausführungsform ist;
  • 8 ein Blockdiagramm eines globalen Zeilendecoders gemäß einer beispielhaften Ausführungsform ist;
  • 9 ein Schaltungsdiagramm einer beispielhaften Implementierung eines einzelnen Blockdecoders aus 8 ist;
  • 10 ein Blockdiagramm einer anderen beispielhaften Implementierung eines einzelnen Blockdecoders aus 8 ist;
  • 11 ein Blockdiagramm eines lokalen Zeilendecoders gemäß einer beispielhaften Ausführungsform ist;
  • 12 ein Schaltungsdiagramm einer beispielhaften Implementierung eines einzelnen Sektordecoders aus 10 ist;
  • 13 ein Zeitdiagramm für Lesen gemäß einer beispielhaften Ausführungsform ist;
  • 14 ein Zeitdiagramm für Programmieren gemäß einer beispielhaften Ausführungsform ist; und
  • 15 ein Zeitdiagramm für Löschen gemäß einer beispielhaften Ausführungsform ist.
  • DETAILLIERTE BESCHREIBUNG
  • 1 illustriert eine Speicherkern-Architektur in einem NAND-Flash-Speicher. Der NAND-Flash-Speicherkern umfasst ein NAND-Speicherzellenfeld 100, einen Zeilendecoder 102 und eine Seitenpufferschaltung 103 und einen Spaltendecoder 104. Der Zeilendecoder 102 ist mit dem NAND-Speicherzellenfeld 100 durch einen Satz von Wortleitungen verbunden, wobei in 1 der Einfachheit halber nur eine Wortleitung 106 gezeigt ist. Die Seitenpufferschaltung 103 ist mit dem NAND-Speicherzellenfeld 100 über einen Satz von Bit-Leitungen verbunden, wobei in 1 der Einfachheit halber nur eine Bit-Leitung 108 gezeigt ist.
  • Die Zellenfeldstruktur des NAND-Flash-Speichers enthält einen Satz von n löschbaren Blöcken. Jeder Block ist in m programmierbare Seiten (Zeilen) unterteilt.
  • Das Löschen für die Speicherkern-Architektur aus 1 erfolgt blockweise. Im Gegensatz dazu finden Lese- und Programmieroperationen seitenweise statt.
  • Ein NAND-Flash-Speicher, der die Kernarchitektur des Flash aus 1 hat, leidet zumindest unter drei Beschränkungen. Erstens können Bits nur programmiert werden, nachdem ein Ziel-Speicherfeld gelöscht wurde. Zweitens kann jede Zelle nur einer begrenzten Anzahl von Löschungen standhalten, wonach sie Daten nicht mehr zuverlässig speichern kann. In anderen Worten, es besteht eine Begrenzung in der Anzahl von Lösch- und Programmierzyklen für Zellen (d. h. in der Lebensdauer, typischerweise bei 10.000~100.000 Zyklen). Drittens ist die minimale löschbare Feldgröße viel größer als die minimale programmierbare Größe des Feldes. Wegen dieser Limitierungen werden ausgeklügelte Datenstrukturen und Algorithmen implementiert, um Flash-Speicher effektiv zu verwenden.
  • Wenn der Flash-Controller ein Datenschreiben oder eine Datenmodifikation in selbst nur einem kleinen Teil der Seite anfordert, wird typischerweise der die zu modifizierende Seite enthaltende Block auf einen freien (leeren) Block umprogrammiert, der durch einen Reklamationsprozess der Löscheinheit deklariert ist. In diesem Fall werden gültige Seiten, die Originaldaten in dem ursprünglichen Block enthalten, in den ausgewählten freien Block kopiert. Danach wird der neue Block, der in einer Seite mit Originaldaten in dem Rest der Seiten modifizierten Daten aufweist, durch ein virtuelles Abbildungssystem in dem Flash-Controller auf die gültige Blockadresse umabgebildet. Der ursprüngliche Block ist nun obsolet und wird durch den Reklamationsprozess der Löscheinheit als ein freier Block deklariert, nachdem er gelöscht wurde.
  • Die limitierte Anzahl von Lösch-Programmier-Zyklen (Lebensdauer) beschränkt die Lebenszeit einer Flashvorrichtung. Es wäre vorteilhaft eine Lebenszeit zu haben, die so lang wie möglich ist, und dies hängt von dem Zugriffsmuster auf die Flashvorrichtung ab. Wiederholtes und häufiges Überschreiben einer einzelnen Zelle oder einer geringen Anzahl von Zellen wird bald den Beginn von Fehlern mit sich bringen und so die nützliche Lebenszeit der Vorrichtung schnell beenden.
  • Wenn darüber hinaus in einem Flash-Speichersystem mit mehreren Flash-Bauelementen eine signifikant ungleichmäßige Nutzung der Bauelemente in dem Flash-Speichersystem auftritt, dann wird ein Bauelement ein Lebenszeitende zu einem Zeitpunkt erreichen, an dem andere Bauelemente noch eine signifikante Restlebenszeit aufweisen. Wenn das eine Bauelement ein Lebenszeitende erreicht, kann es sein, dass das gesamte Speichersystem ersetzt werden muss und dies reduziert die Lebenszeit des Flash-Speichersystems stark.
  • Wenn Überschreibungen gleichmäßig auf alle Zellen der Vorrichtung verteilt werden können, wird der Eintritt von Fehlern soweit als möglich verzögert werden, wodurch die Lebenszeit der Vorrichtung maximiert wird. Um die Lebenszeit der Vorrichtung durch gleichmäßige Verwendung über alle Zellen der Vorrichtung hinweg zu verlängern, wurden vielerlei Beanspruchungsausgleichstechnologien und -algorithmen vorgeschlagen und in Flash-Speichersystemen implementiert. Im Laufe der Zeit wurden die Zellenfelder von NAND-Flash so miniaturisiert, dass sie den Punkt erreicht haben, an dem zu erwarten ist, dass eine weitere Reduktion in der Prozesstechnologie die maximale Anzahl von Lösch-Programmier-Zyklen drastisch reduziert.
  • Gemäß einem breiten Aspekt, wird ein NAND-Flash-Speicherkern mit mehrstufiger Zeilendecodierung offenbart.
  • Gemäß einen weiteren breiten Aspekt, wird eine NAND-Flash-Speichervorrichtung bereitgestellt, die umfasst: periphere Schaltungen, Eingangs/Ausgangs-Kontaktflächen, einen Hochspannungsgenerator; einen NAND-Flash-Speicherkern, der umfasst: ein NAND-Speicherzellenfeld, welches eine Mehrzahl von Zeilen bei einer Mehrzahl von Spalten umfasst, wobei die Zellen in einer Mehrzahl von Sektoren angeordnet sind, so dass jeder Sektor die Zellen einer Mehrzahl der Spalten enthält; wobei die Zellen in einer Mehrzahl von Blöcken angeordnet sind, so dass jeder Block Zellen einer Mehrzahl der Zeilen enthält; wobei das NAND-Speicherzellenfeld für ein Löschen bei einer Auflösung von einem Block innerhalb eines Sektors konfiguriert ist und für ein Lesen und Programmieren bei einer Auflösung von einer Zeile innerhalb eines Sektors konfiguriert ist.
  • Gemäß einem weiteren breiten Aspekt wird ein Verfahren in einem NAND-Flash-Speicherkern bereitgestellt, das umfasst: Durchführen einer mehrstufigen Zeilendecodierung. Wegen des Größenunterschieds zwischen Lesen/Programmieren und Löschen führen die oben beschriebenen Blockkopieroperationen zu unnötigen Programmieroperationen, weil nicht betroffene Daten in den Seiten des Blocks zusammen mit den modifizierten Daten in den neuen Block erneut programmiert (kopiert) werden. Es könnte sich eine dramatische Verlängerung der Lebenszeit der Vorrichtung ergeben, wenn die minimale löschbare Feldgröße kleiner wäre als ein gesamter Block.
  • 2 ist ein Blockdiagramm einer Vorrichtung 150, die ein NAND-Flash-Speicherbauelement 152 enthält. Das NAND-Flash-Speicherbauelement 152 hat einen Speicherkern mit mehrstufiger Zeilendecodierung, der im Allgemeinen durch 158 bezeichnet wird. Zusätzlich weist das NAND-Flash-Speicher-Bauelement 152 eine periphere Schaltung 154, Eingangs- und Ausgangskontaktflächen 156 und Hochspannungsgenerator(en) 160 auf. Die periphere Schaltung 154 kann beispielsweise einen oder mehrere Eingangs- und Ausgangspuffer für Adressen und Daten, Eingangspuffer für Steuerungs- und Befehlssignale, eine State-Maschine mit einem Befehlsdecoder, einen Adresszähler, Zeilen- und Spaltenvordecoder sowie Statusregister umfassen. Die Vorrichtung 150 kann jede Vorrichtung sein, die eine Verwendung für ein NAND-Flash-Speicher-Bauelement 152 hat. Konkrete Beispiele umfassen ein mobiles Gerät, einen Memorystick, eine Kamera, ein Festkörperplattenlaufwerk sowie einen MP3-Spieler. Das Flash-Bauelement 152 kann einen permanenten Teil der Vorrichtung 150 bilden oder es kann entfernbar sein. Detaillierte beispielhafte Implementierungen des Speicherkerns mit mehrstufiger Zeilendecodierung werden nachfolgend beschrieben. Allgemeiner werden sämtliche Speicherkerne mit mehrstufiger Zeilendecodierung betrachtet. Das Zellenfeld wird aus Sektoren gebildet, wobei jeder Sektor eine Mehrzahl von Spalten aus Zellen enthält. Die Zellen bilden auch Blöcke, wobei jeder Block eine Mehrzahl von Zeilen enthält, die auch als Seiten bezeichnet werden. In einigen Ausführungsformen umfasst ein mehrstufiges Zeilendecodieren das Ausführen einer ersten Stufe der Zeilendecodierung für alle diese Sektoren und für jeden einzelnen Sektor das Ausführen einer zweiten Stufe der Zeilendecodierung nur für diesen Sektor. In einigen Ausführungsformen wird eine Löschung innerhalb des Speicherkerns mit einer Auflösung von einem Block innerhalb eines Sektors ausgeführt und Lese- und Löschoperationen finden mit einer Auflösung von einer Zeile innerhalb eines Sektors statt.
  • Bezugnehmend auf 3 wird eine Kernarchitektur gemäß einer beispielhaften Ausführungsform gezeigt. Die Kernarchitektur enthält ein NAND-Speicher-Zellenfeld, das in Form zumindest zweier NAND-Speicherzellensektoren implementiert ist, die nachfolgend einfach als „Sektoren” bezeichnet werden, wobei in dem illustrierten Beispiel vier Sektoren 200, 202, 204, 206 gezeigt sind. Das NAND-Speicherzellenfeld ist aus einer Mehrzahl von Blöcken gebildet, die wiederum aus Seiten gebildet werden, die auch als Zeilen bezeichnet werden. Die Zellen eines jeden Sektors des NAND-Speicherzellenfelds sind auch in Spalten (nicht gezeigt) angeordnet. Die Zeilendecodierungsfunktionalität wird durch einen globalen Zeilendecoder 208 bereitgestellt, der eine Zeilendecodierung auf Blockebene durchführt, in Kombination mit einem Satz von lokalen Zeilendecodern 210, 212, 214, 216, die eine Decodierung auf der Ebene einer durch den globalen Zeilendecoder ausgewählten Seite innerhalb eines Blockes durchführen. Allgemeiner, der globale Zeilendecoder 208 führt eine erste Stufe der Zeilendecodierung aus, um eine Untermenge der Mehrzahl von Zeilen auszuwählen. In hier im Detail beschriebenen beispielhaften Ausführungsformen sind die auswählbaren Untermengen kontinuierliche Blöcke, aber das muss nicht in allen Implementierungen der Fall sein. Die lokalen Zeilendecoder 210, 212, 214, 216 führen eine zweite Stufe der Zeilendecodierung aus, um eine Zeile innerhalb der Untermenge der Mehrzahl von durch den globalen Zeilendecoder 208 ausgewählten Zeilen auszuwählen. Die lokalen Zeilendecoder 210, 212, 214, 216 enthalten für jeden entsprechenden Sektor 200, 202, 204, 206 einen assoziierten lokalen Zeilendecoder und führen die Seitenauswahl lokal in dem assoziierten Sektor aus. Eine Seitenpufferfunktionalität ist durch vier Seitenpufferschaltungen 220, 222, 224, 226, einer für jeden Sektor 200, 202, 204, 206, implementiert. Eine Spaltendecodierungsfunktionalität ist durch vier Spaltendecoder 221, 223, 225, 227, einen für jeden Sektor 200, 202, 204, 206, implementiert.
  • Eine Leseoperation wird bei einer Auflösung von einer Seite innerhalb eines Blockes innerhalb eines Sektors ausgeführt. Eine Programmieroperation wird ebenfalls bei einer Auflösung von einer Seite innerhalb eines Blockes innerhalb eines Sektors ausgeführt. Eine Löschoperation wird bei der Auflösung von einem Block innerhalb eines Sektors ausgeführt.
  • Für eine Leseoperation wird der globale Zeilendecoder 208 verwendet, um einen Block aus der Mehrzahl von Blöcken des NAND-Speicherzellenfelds auszuwählen. Die Sektorenauswahl wird durchgeführt, indem mittels der Seitenpufferschaltung und dem mit dem gewünschten Speichersektor assoziierten Spaltendecoder eine Spaltenauswahl durchgeführt wird. Dies kann beispielsweise dadurch erreicht werden, dass ein Speichercontroller die assoziierte Seitenpufferschaltung und den Zeilendecoder aktiviert und/oder Spaltendecodersignale an die assoziierte Seitenpufferschaltung und den Spaltendecoder gesendet werden. Eine Seitenauswahl wird durch den mit dem ausgewählten Sektor assoziierten lokalen Zeilendecoder durchgeführt. Auf diese Weise kann eine ausgewählte Seite innerhalb eines ausgewählten Blocks innerhalb eines ausgewählten Sektors gelesen werden. Während einer Leseoperation werden die Daten der ausgewählten Seite innerhalb des ausgewählten Blocks und innerhalb des ausgewählten Sektors gelesen und in einen Leseverstärker (nicht gezeigt) und die Seitenpufferschaltung des ausgewählten Sektors gesichert. Danach werden die in der Seitenpufferschaltung gespeicherten Daten sequenziell durch den assoziierten Spaltendecoder ausgelesen und beispielsweise in einem globalen Puffer (nicht gezeigt) gespeichert.
  • Für eine Löschoperation wird der globale Zeilendecoder 208 verwendet, um einen Block aus der Mehrzahl von Blöcken des NAND-Speicherzellenfelds auszuwählen. Die Sektorenauswahl wird durchgeführt, indem mit der Seitenpufferschaltung und dem mit dem gewünschten Speichersektor assoziierten Spaltendecoder eine Spaltenauswahl vorgenommen wird. Dann wird ein zugehöriges Löschsignal angelegt. Auf diese Weise kann ein ausgewählter Block innerhalb eines ausgewählten Sektors gelöscht werden.
  • Für eine Programmieroperation wird der globale Zeilendecoder 208 verwendet, um einen Block aus der Mehrzahl von Blöcken des NAND-Speicherzellenfelds auszuwählen. Die Sektorenauswahl wird durchgeführt, indem mit der Seitenpufferschaltung und dem mit dem gewünschten Speichersektor assoziierten Spaltendecoder eine Spaltenauswahl vorgenommen wird. Die Seitenauswahl wird durch den mit dem ausgewählten Sektor assoziierten lokalen Zeilendecoder ausgeführt. Dann wird der Inhalt der mit dem ausgewählten Sektor assoziierten Seitenpufferschaltung in die ausgewählte Seite innerhalb des ausgewählten Blocks innerhalb des ausgewählten Sektors programmiert. Während einer Programmieroperation werden die Eingangsdaten (beispielsweise aus einer globalen Pufferschaltung, nicht gezeigt) sequenziell über den assoziierten Spaltendecoder in die Seitenpufferschaltung des ausgewählten Sektors geladen. Die in der Seitenpufferschaltung gesicherten Eingangsdaten werden dann in die ausgewählte Seite des ausgewählten Sektors programmiert.
  • 4 zeigt ein anderes Beispiel für eine Kernarchitektur gemäß einer beispielhaften Ausführungsform. Diese beispielhafte Ausführungsform ist ähnlich zu 2 und gleiche Komponenten wurden unter Verwendung gleicher Bezugszahlen bezeichnet. Die beispielhafte Ausführungsform von 4 weist einen Blockvordecoder 230 auf, der durch die Blockdecoderleitungen 231 mit dem globalen Zeilendecoder 208 verbunden ist. Der globale Zeilendecoder 208 ist mit dem Speicherfeld über eine Mehrzahl von Blockleitungen, eine pro Block, verbunden, wenngleich in dem illustrierten Beispiel nur eine Blockleitung 240 gezeigt ist. Die Blockleitungen sind mit allen lokalen Zeilendecodern 210, 212, 214, 216 gemeinsam verbunden. Jeder lokale Zahlendecoder 210, 212, 214, 216 wird auch über einen entsprechenden Satz von Seitendecoderleitungen 233, 235, 237, 239 von einem entsprechenden Seitendecoder 232, 234, 236, 238 getrieben. Jeder lokale Zeilendecoder 210, 212, 214, 216 ist mit dem korrespondierenden Sektor über eine Mehrzahl von Wortleitungen verbunden, wobei pro Sektor nur einige gezeigt und mit 211, 213, 215, 219 bezeichnet sind.
  • Im Betrieb wandelt der Blockvordecoder 230 eine Eingab, beispielsweise von einem Speichercontroller, in ein passendes Signal auf den Blockdecoderleitungen 231 um, um einen bestimmten Block auszuwählen. Der globale Zeilendecoder 208 wählt eine der Blockleitungen aus. Um eine bestimmte Seite innerhalb eines bestimmten Sektors auszuwählen, wird der Seitendecoder des assoziierten Sektors (einer der Seitendecoder 232, 234, 236, 238) aktiviert und verwendet, um die bestimmte Seite innerhalb des ausgewählten Blocks auszuwählen.
  • Ein Beispiel für eine Auswahl eines einzelnen Sektors ist in 5 bildlich dargestellt, die die Auswahl einer Seite innerhalb eines Blocks für den lokalen Zeilendecoder 210 zeigt. In einigen beispielhaften Ausführungsformen ist die Schaltung konfiguriert, um eine gleichzeitige Aktivierung mehrerer Seitendecoder zu ermöglichen. In derartigen beispielhaften Ausführungsformen kann innerhalb des ausgewählten Blocks die Auswahl einer entsprechenden Seite innerhalb mehrerer Sektoren durch Aktivierung mehrerer Seitendecoder ermöglicht werden. Ein Beispiel für die Auswahl mehrerer Sektoren ist in 6 gezeigt, die die Auswahl einer Zeile innerhalb eines Blockes durch jeden der Zeilendecoder 210 und 214 zeigt. Die Blockleitung wählt einen der Blöcke innerhalb aller Sektoren aus, während die Seitendecoderleitungen eine der Seiten (d. h. Wortleitungen) innerhalb des ausgewählten Blockes in jedem Sektor auswählen.
  • In dieser beispielhaften Ausführungsform wird das Ergebnis einer Leseoperation sein, dass eine oder mehrere Seitenpufferschaltungen ausgelesene Daten enthalten. Der Inhalt dieser Seitenpufferschaltungen wird dann individuell ausgelesen. Das Ergebnis einer Programmieroperation wird sein, dass der Inhalt einer oder mehrerer Seitenpufferschaltungen gleichzeitig programmiert wird. Typischerweise wird dem eine Folge von Operationen zum Schreiben in Seitenpuffer vorausgehen, wodurch die mehreren Seitenpufferschaltungen sequenziell beschrieben werden.
  • 7 zeigt eine detailliertere Kernarchitektur gemäß einer beispielhaften Ausführungsform, wobei diese beispielhafte Ausführungsform wiederum ähnlich zu 3 ist und gleiche Komponenten unter Verwendung gleicher Bezugszahlen bezeichnet wurden. In 7, wie bei anderen Blockdiagrammen, sind bestimmte Komponenten (wie beispielsweise Spaltendecoder) nicht gezeigt, um zu vermeiden, dass Merkmale der beispielhaften Ausführungsformen verdeckt werden. In dem Beispiel umfasst ein NAND-Kern (dies kann die gesamte Kernarchitektur der Vorrichtung, eine Ebene oder eine Bank sein) vier Sektoren und die Seitengröße jedes Sektors beträgt 512 Bytes. Allgemeiner beträgt die Seitengröße jedes Sektors wenigstens 1 Byte. In diesem Beispiel liegen 2048 Blöcke vor, die zusammen mit 217 bezeichnet werden. Jeder Block ist in vier Sektoren aufgeteilt. Der globale Zeilendecoder 208 ist mit allen lokalen Zeildendecodern 210, 212, 214, 216 gemeinsam über 2048 Blockleitungen (nicht gezeigt), eine pro Block, verbunden. Jeder Block hat 32 Seiten.
  • Eine beispielhafte Implementierung des globalen Zeilendecoders 208 aus 7 ist in 8 bildlich dargestellt. Der globale Zeilendecoder 208 hat einen entsprechenden Blockdecoder für jeden Block, nämlich 2048 Blockdecoder, die zusammen mit 209 bezeichnet sind und zu der Anzahl der Blöcke korrespondieren. Jeder der Blockdecoder ist mit den Blockdecoderleitungen 231 verbunden. In diesem Beispiel umfassen die Blockdecoderleitungen 231 Leitungen xp, xq, xr, xt zum Führen der Blockdecoder-Adresssignale Xp, Xq, Xr und Xt. Xp, Xq, Xr und Xt sind die vordecodierten Leitungen. Xp korrespondiert zu den Adressen A0~A2. Xq korrespondiert zu den Adressen A3~A5. Xr korrespondiert zu den Adressen A6~A8. Xt korrespondiert zu den Adressen A9~A10. Jeder Blockdecoder treibt eine entsprechende Blockleitung (nicht gezeigt). Der Blockdecoder, der mit dem durch die Adresssignale auf den Blockdecoderleitungen 231 indizierten Block assoziiert ist, treibt die entsprechende Blockleitung in einen ausgewählten Zustand und alle anderen Blockleitungen befinden sich in einem nichtausgewählten Zustand.
  • Eine beispielhafte Schaltungsimplementierung eines einzelnen Blockdecoders ist in 9 bildlich dargestellt. Es ist zu bemerken, dass es viele Variationen für die Schaltungsimplementierung für den Blockdecoder gibt, und das solche Variationen für den Fachmann leicht erkennbar sein sollten.
  • Die Schaltung hat eine Verriegelungsschaltung für Blockdecoderadressen mit einem Verriegelungsschaltungsausgang BDLCH_out, der auf 0 V zurückgesetzt wird, wenn der RST_BD hoch ist (tatsächlich ein kurzer Puls) und verriegelt wird, wenn der LCHBD hoch ist (was ein kurzer Puls sein kann), mit gültig vordecodierten Adresssignalen von Xp, Xq, Xr und Xt (Blockdecoderleitungen), die an dem NAND-Logikgatter 303 empfangen werden. Detaillierte Timing-Informationen sind in den 12, 13 und 14 nachfolgend beschrieben.
  • Der Blockdecoder weist eine lokale Ladungspumpe 300 auf, die ein Hochvolt-Schalter-Schaltkreis ist, um während der Lese-, Programmier- und Löschoperationen Spannungen bereitzustellen. Die lokale Ladungspumpe 300 enthält einen n-Kanal-Durchgangstransistor 352 vom Verarmungs-Typ, einen systemeigenen n-Kanal diodenverbundenen Treibertransistor 354, einen n-Kanal Entkopplungstransistor 356 mit hoher Durchbruchsspannung, einen n-Kanal-Clamp-Transistor 358 mit hoher Durchbruchspannung, ein NAND-Logikgatter 360 sowie einen Kondensator 362. Das NAND-Logikgatter 360 hat einen Eingangsanschluss zum Empfang des Ausgangs BDLCH_out der Verriegelungsschaltung und einen anderen Eingangsanschluss zum Empfang eines Kontrollsignals OSC zum Treiben eines Anschlusses des Kondensator 362. Der Durchgangstransistor 352 wird durch das Komplement des Signals HVen gesteuert, das als HVenb bezeichnet wird. Die gemeinsamen Anschlüsse des Entkopplungstransistors 356 und des Clamp-Transistors 358 sind an die Hochspannung Vhv gekoppelt.
  • Das endgültige Ausgangssignal BD_out eines jeden Blockdecoders ist gemeinsam mit allen lokalen Zeilendecodern verbunden, beispielsweise wie in 9 dargestellt.
  • Nun wird der Betrieb der lokalen Ladungspumpe 350 beschrieben. Während einer Leseoperation befindet sich HVenb auf dem hohen Logikniveau und OSC wird auf dem niedrigen Logikniveau gehalten. Deshalb sind die Schaltungselemente 352, 354, 356 und 358 inaktiv und der Ausgangsanschluss BD_out spiegelt das bei BDLCH_out erscheinende Logikniveau wider. Während einer Programmieroperation befindet sich HVenb auf dem niedrigen Logikniveau und OSC darf zwischen dem hohen und dem niedrigen Logikniveau bei einer vorbestimmten Frequenz oszillieren. Wenn der Ausgang BDLCH_out der Verriegelungsschaltung sich auf dem hohen Logikniveau befindet, dann wird der Kondensator 362 wiederholt Ladung auf seinem anderen Anschluss ansammeln und die angesammelte Ladung über den Treibertransistor 354 entladen. Der Entkopplungstransistor 356 isoliert Vhv von der getriebenen Spannung an dem Gate des Treibertransistors 354. Der Clamp-Transistor 358 hält das Spannungsniveau des Ausgangsanschlusses BD_out bei ungefähr Vhn + Vth, wobei Vth die Schwellenspannung des Clamp-Transistors 358 ist. Die in 9 gezeigte lokale Ladungspumpe 300 ist eine beispielhafte Schaltung, die verwendet werden kann, um Signale auf Spannungsniveaus zu treiben, die höher sind als die Versorgungsspannung Vcc, aber Fachleute werden verstehen, das andere Ladungspumpenschaltungen verwendet werden können, die eine ähnliche oder äquivalente Effektivität aufweisen. Die nachfolgende Tabelle 1 zeigt beispielhafte Bias-Bedingungen für die lokale Ladungspumpe 300 während Lese- und Programmieroperationen. TABELLE 1
    Lesen Programmieren
    ausgewählt nicht ausgewählt ausgewählt nicht ausgewählt
    BDLCH_out Vcc Vss Vcc Vss
    HVenb Vss Vss Vss Vss
    OSC Oszillation Oszillation Oszillation Oszillation
    Vhn Vread7 (~7 V) Vread7 (~7 V) ~Vpgm (14 V~18 V) ~Vpgm (14 V~18 V)
    BD_out Vread7 (~7 V) + Vth Vss Vpgm (14 V~18 V) + Vth Vss
  • Das Ausgangssignal BD_out des Blockdecoders wird auf Vhv angehoben, wenn der Ausgang BDLCH_out der Verriegelungsschaltung des Blockdecoders auf Vcc liegt, HVenb bei 0 V liegt und OSC oszilliert.
  • Bezugnehmend auf 10 verwendet ein anderes Beispiel für einen Blockdecoder einen Blockauswahltransistor. Vhwl ist eine Hochspannungsquelle, die basierend auf Operationen verschiedene Niveaus aufweist. In dieser beispielhaften Ausführungsform wird die Treibbarkeit von BD_out durch die Größe des Blockauswahltransistors und nicht durch die lokale Ladungspumpe bestimmt. Daher liefert diese Schaltung eine stärkere Treibbarkeit im Falle einer hohen Anzahl lokaler Zeilendecoder in dem NAND-Speicherkern.
  • 11 zeigt bildhaft ein Beispiel eines lokalen Zeilendecoders. Der lokale Zeilendecoder hat 2048 Sektordecoder, zusammen mit 500 bezeichnet, einen pro Block. Diese werden als Sektordecoder bezeichnet, weil eine Seite innerhalb eines Sektors ausgewählt wird, im Gegensatz zu einer Seite innerhalb des gesamten Speicherfeldes. Die Eingaben für die lokalen Zeilendecoder sind die Seitendecoderleitungen, die in dem illustrierten Beispiel eine String-Auswahl (SS), Wortleitungs-Auswahlsignale S0–S31 (eines pro Wortleitung) sowie eine Masseauswahl (GS) umfassen. Die Wortleitungs-Auswahlsignale S0–S31 sind gemeinsam mit den Sektordecodern verbunden.
  • Nun bezugnehmend auf 12 wird eine beispielhafte Schaltung für einen einzelnen Sektordecoder beschrieben. Die String-Auswahlleitung SSL, die Wortleitungen WL0 bis WL31 und die Masseauswahlleitung GSL werden durch gemeinsame Signale SS, S0 bis S31 und GS über die Durchgangstransistoren TSS, TS0 bis TS31 und TGS getrieben, die gemeinsam durch das Ausgangssignal BB_out des assoziierten Blockdecoders getrieben werden. Die Seitendecoderleitungen, nämlich das String-Ausgangssignal SS, das Masseauswahlsignal GS und die gemeinsamen String-Decodier-Signale S0 bis S31 werden durch den Seitendecoder bereitgestellt.
  • Im Betrieb ist der BB_out-Eingang aller korrespondierenden Sektordecoder für den ausgewählten Block aktiviert. Das wird einen Sektordecoder für diesen Block in jedem Sektor umfassen. Für alle übrigen Blöcke, die nicht ausgewählt wurden, ist BB_out aller korrespondierenden Sektordecoder deaktiviert. Bei einem Sektor, für den eine Operation auszuführen ist, werden innerhalb dieses Sektors alle Sektordecoder gemeinsam durch gemeinsame Seitendecoderleitungen gesteuert. Es kann einen oder mehrere Sektoren geben, für die eine Operation auszuführen ist. Für einen Sektor, für den keine Operation auszuführen ist, sind alle der gemeinsamen Seitendecoderleitungen inaktiv, so dass alle der gemeinsam verbundenen Sektordecoder inaktiv sind. Für einen Sektordecoder der sowohl durch ein BD_out in einem ausgewählten Zustand sowie durch aktive Seitendecoderleitungen ausgewählt ist, bewirkt der Sektordecoder, dass eine entsprechend ausgewählte Wortleitung (eine aus WL0 bis WL31) in einem ausgewählten Zustand ist, während die verbleibenden Wortleitungen in einem nicht ausgewählten Zustand sind.
  • Tabelle 2 zeigt einen beispielhaften Satz von Bias-Bedingungen für den Blockdecoder, den lokalen Zellendecoder und das NAND-Zellenfeld während des Lesens, Programmierens und Löschens. Es versteht sich, dass alle Werte abhängig von Zellencharakteristika und Prozesstechnologie variieren können.
    Lesen Programmieren Laschen
    Ausgewählter globaler Zeilendecoder: BD_out Vread7 (~7 V) + Vth Vpgm + Vth Vcc
    nichtausgewählter globaler Zeilendecoder: BD_out Vss (0 V) Vss (0 V) Vss (0 V)
    Lokaler Decoder im ausgewählten Sektor
    SS Vread (4~5 V) 2 V ~ Vcc Schwebend und Vcc–Vth (selbst-treibend)
    Ausgewählter SI Vss (0 V) Vpgm (14 V~18 V) Vss (0 V)
    Nichtausgewählter SI Vread (4~5 V) Vpass (8 V~12 V) -
    SSL Vread (4~5 V) 2 V~Vcc Schwebend und selbst-treibend (70–90% von Vers)
    Ausgewählte WLi Vss (0 V) Vpgm (14 V~18 V) Vss (0 V)
    Nichtausgewählte WLi Vread (4~5 V) Vpass (8 V~12 V) -
    GS Vread (4~5 V) Vss (0 V) Schwebend und Vcc–Vth (selbst-treibend)
    GSL Vread (4~5 V) Vss (0 V) Schwebend und selbst-treibend (70–90% von Vers)
    Bitleitungen Vorgeladen und gelesen Vss (0 V) für Programmieren & Vcc für Programmiersperrung Clamp auf Vers-0,6 V
    Zellensubstrat Vss (0 V) Vss (0 V) Vers (~20 V)
    Lokaler Decoder im nichtausgewählten Sektor
    SS Vss (0 V) Vss (0 V) Vss (0 V)
    Alle Si Vss (0 V) Vss (0 V) Vss (0 V)
    GS Vss (0 V) Vss (0 V) Vss (0 V)
    SSL Vss (0 V) Vss (0 V) Vss (0 V)
    Alle WLi Vss (0 V) Vss (0 V) Vss (0 V)
    GSL Vss (0 V) Vss (0 V) Vss (0 V)
    Bitleitungen Vss (0 V) Vss (0 V) Vss (0 V)
    Zellensubstrat Vss (0 V) Vss (0 V) Vss (0 V)
  • Mit dieser beispielhaften Ausführungsform können entweder eine einzelne Sektoroperation oder mehrere Sektoroperationen ausgeführt werden. Für Leseoperationen können ein Lesen auf einer Seite eines einzelnen Sektors sowie ein paralleles Lesen auf je einer Seite von bis zu vier Sektoren ausgeführt werden. Allgemeiner wird die maximale Anzahl von Sektoren, die parallel gelesen werden können, durch die Anzahl von Sektoren in dem NAND-Speicherkern bestimmt. Für Programmieroperationen können ein Programmieren auf einer Seite eines einzelnen Sektors sowie ein paralleles Programmieren auf je einer Seite von bis zu vier Sektoren ausgeführt werden. Allgemeiner wird die maximale Anzahl von Sektoren, die parallel programmiert werden können, durch die Anzahl der Sektoren in dem NAND-Speicherkern bestimmt. Für Löschoperationen können ein Löschen eines einzelnen Sektorblocks sowie ein paralleles Löschen von bis zu vier Sektorblöcken ausgeführt werden. Allgemeiner wird die maximale Anzahl von Sektoren, die parallel gelöscht werden können, durch die Anzahl der Sektoren in dem NAND-Speicherkern bestimmt.
  • 13 zeigt ein Beispiel für das Timing einer Leseoperation gemäß einiger beispielhafter Ausführungsformen. Die Spannung-Bias-Bedingungen während des Lesens sind für dieses Beispiel in Tabelle 2 oben für dieses Beispiel definiert. Alle Signale jedes nicht ausgewählten Sektors verbleiben bei 0 V. Dieses Operationstiming beruht auf der Verwendung des in 9 gezeigten Blockdecoders.
  • 14 zeigt ein Beispiel für das Timing einer Programmieroperation gemäß einiger beispielhafter Ausführungsformen. Die Spannung-Bias-Bedingungen während des Programmierens sind für dieses Beispiel in Tabelle 2 oben für dieses Beispiel definiert. Alle Signale jedes nicht ausgewählten Sektors verbleiben bei 0 V. Dieses Operationstiming beruht auf der Verwendung des in 9 gezeigten Blockdecoders.
  • 15 zeigt ein Beispiel für ein Timing einer Löschoperation gemäß einiger beispielhafter Ausführungsformen. Die Spannung-Bias-Bedingungen während des Löschens sind für dieses Beispiel in Tabelle 2 oben definiert. Alle Signale in nichtausgewählten Sektoren verbleiben bei 0 V. Dieses Operationstiming beruht auf der Verwendung des in 9 gezeigten Blockdecoders.
  • In den 13, 14, 15 ist Sel_Si die Kurzform für irgendein „ausgewähltes” Si-Eingangssignal (wobei Si = {S0... S31}). Unsel_Si ist die Kurzform für irgendein „nichtausgewähltes” Si-Eingangssignal (wobei Si = {S0... S31}). Sel_WLi ist die Kurzform für irgendein „ausgewähltes” Wortleitungssignal (wobei WLi = {WL0... WL31}). Unsel_WLi ist die Kurzform für irgendein „nichtausgewähltes” Wortleitungssignal (wobei WLi = {WL0... WL31}).
  • Man wird verstehen, dass wenn hier ein Element als „verbunden” oder an ein anderes Element „gekoppelt” bezeichnet wird, es direkt verbunden oder an das andere Element gekoppelt sein kann oder dazwischen liegende Elemente vorhanden sein können. Wenn im Gegensatz dazu ein Element hier als „direkt verbunden” oder „direkt” an ein anderes Element „gekoppelt” bezeichnet wird, dann sind keine dazwischen legenden Elemente vorhanden. Andere zur Beschreibung der Beziehung zwischen Elementen verwendete Worte sollten auf ähnliche Weise interpretiert werden (d. h. „zwischen” gegenüber „unmittelbar zwischen”, „benachbart” gegenüber „unmittelbar benachbart”, usw.).
  • Bestimmte Anpassungen und Modifikationen der beschriebenen Ausführungsformen können erfolgen. Daher werden die oben diskutierten Ausführungsformen als illustrativ und nicht beschränkend betrachtet.

Claims (27)

  1. NAND-Flash-Speicherkern mit mehrstufiger Zeiledecodierung.
  2. NAND-Flash-Speicherkern gemäß Anspruch 1, umfassend: ein NAND-Speicherzellenfeld, umfassend eine Mehrzahl von Sektoren, wobei jeder Sektor eine Mehrzahl von Spalten und eine Mehrzahl von Zeilen aufweist; einen globalen Zeilendecoder, der eine erste Stufe einer Zeilendecodierung für alle Sektoren durchführt; für jeden Sektor einen korrespondierenden lokalen Zeilendecoder, der eine zweite Stufe der Zeilendecodierung nur für diesen Sektor durchführt.
  3. NAND-Flash-Speicherkern gemäß Anspruch 2, wobei: das NAND-Speicherzellenfeld eine Mehrzahl von Blöcken umfasst, wobei jeder Block eine Mehrzahl von Zeilen umfasst und jede Zeile Speicherzellen von jedem der Sektoren umfasst; der globale Zeilendecoder eine Zeilendecodierung durchführt, um einen Block aus der Mehrzahl von Blöcken auszuwählen.
  4. NAND-Flash-Speicherkern gemäß Anspruch 3, der konfiguriert ist um Lese- und Programmieroperationen bei einer Auflösung von einer Zeile innerhalb eines Sektors durchzuführen und um Löschungsoperationen bei einer Auflösung von einem Block innerhalb eines Sektors durchzuführen.
  5. NAND-Flash-Speicherkern gemäß Anspruch 2, wobei: die Mehrzahl von Sektoren des NAND-Speicherzellenfeldes und die lokalen Zeilendecoder in einem Layout angeordnet sind, bei dem sich Zeilendecoder und die korrespondierenden Sektoren des NAND-Speicherzellenfelds abwechseln.
  6. NAND-Flash-Speicherkern gemäß Anspruch 1, weiterhin umfassend: für jeden Sektor eine korrespondierende Seitenpufferschaltung.
  7. NAND-Flash-Speicherkern gemäß Anspruch 1, weiterhin umfassend: einen korrespondierenden Seitendecoder für jeden Sektor.
  8. NAND-Flash-Speicherkern gemäß Anspruch 1, weiterhin umfassend: einen korrespondierenden Spaltendecoder für jeden Sektor.
  9. NAND-Flash-Speicherkern gemäß Anspruch 1, weiterhin umfassend: Verbindungen zwischen dem globalen Zeilendecoder und den lokalen Zeilendecodern, die eine Mehrzahl von Blockleitungen umfassen, von denen jede mit allen lokalen Zeilendecodern gemeinsam verbunden ist.
  10. NAND-Flash-Speicherkern gemäß Anspruch 9 wobei der globale Zeilendecoder umfasst: eine Mehrzahl von Blockdecodern, die jeweils so mit Blockdecoderleitungen gemeinsam verbunden sind, dass jeder Blockdecoder mit einer der Mehrzahl von Blockleitungen verbunden ist.
  11. NAND-Flash-Speicherkern gemäß Anspruch 10, weiterhin umfassend: einen Block-Vordecoder, der eine Adresse oder einen Teil einer Adresse empfängt und auf den Blockdecoderleitungen eine Blockdecoderausgabe erzeugt; den globalen Zeilendecoder, der eine Mehrzahl von Blockdecodern umfasst, die gemeinsam mit den Blockdecoderleitungen verbunden sind.
  12. NAND-Flash-Speicherkern gemäß Anspruch 1, weiterhin umfassend: für jeden der lokalen Zeilendecoder, Verbindungen zwischen dem lokalen Zeilendecoder und dem NAND-Speicherzellenfeld, die eine Mehrzahl von Wortleitungen umfassen, wobei jede Wortleitung den lokalen Zeilendecoder mit Speicherzellen einer assoziierten Zeile in dem korrespondierenden Sektor verbindet.
  13. NAND-Flash-Speicherkern gemäß Anspruch 1, weiterhin umfassend: für jeden Sektor einen korrespondierenden Seitendecoder, der mit dem lokalen Zeilendecoder dieses Sektors über Seitendecoderleitungen verbunden ist.
  14. NAND-Flash-Speicherkern gemäß Anspruch 13, wobei jeder lokale Zeilendecoder eine Mehrzahl von Sektordecodern umfasst, wobei die Sektordecoder eines gegebenen lokalen Seitendecoders gemeinsam mit dem Seitendecoderleitungen des Seitendecoders für diesen Sektor verbunden sind.
  15. NAND-Flash-Speicherkern gemäß Anspruch 1, wobei die Mehrzahl von Sektoren aus n Sektoren besteht und der NAND-Flash-Speicherkern konfiguriert ist, um: Lese- und Programmieroperationen für einen ausgewählten einzigen Sektor auszuführen; und Lese- und Programmieroperationen parallel für eine ausgewählte Mehrzahl von Sektoren bis hin zu allen n Sektoren durchzuführen.
  16. NAND-Flash-Speicherkern gemäß Anspruch 2, wobei: der NAND-Flash-Speicherkern konfiguriert ist, um Lese- und Programmieroperationen für einen ausgewählten einzigen Sektor durchzuführen, indem: der globale Zeilendecoder die erste Stufe der Zeilendecodierung ausführt, um eine Untermenge der Mehrzahl von Zeilen auszuwählen; der korrespondierende lokale Zeilendecoder des ausgewählten einzelnen Sektors die zweite Stufe der Zeilendecodierung ausführt, um eine Zeile innerhalb der Untermenge der Mehrzahl von Zeilen auszuwählen, die durch den globalen Zeilendecoder ausgewählt wurden; und der NAND-Flash-Speicherkern konfiguriert ist, um Lese- und Programmieroperationen parallel für eine ausgewählte Mehrzahl von Sektoren bis hin zu allen n Sektoren auszuführen, indem: der globale Zeilendecoder die erste Stufe der Zeilendecodierung ausführt, um eine Untermenge der Mehrzahl von Zeilen auszuwählen, und für jeden Sektor der ausgewählten Mehrzahl von Sektoren der korrespondierende lokale Zeilendecoder des Sektors die zweite Stufe der Zeilendecodierung ausführt, um eine Zeile innerhalb der Untermenge der Mehrzahl von Zeilen auszuwählen, die durch den globalen Zeilendecoder ausgewählt wurden.
  17. NAND-Flash-Speicherkern gemäß Anspruch 7, umfassend: Seitendecoderleitungen, die jeden Seitendecoder mit dem korrespondierenden lokalen Zeilendecoder verbinden; wobei der NAND-Flash-Speicherkern konfiguriert ist, um Lese- und Programmieroperationen für einen ausgewählten einzelnen Sektor auszuführen, indem: der globale Zeilendecoder eine erste Stufe der Zeilendecodierung ausführt, um eine Untermenge der Mehrzahl von Zeilen auszuwählen; der Seitendecoder des ausgewählten einzelnen Sektors eine Adresse oder einen Teil einer Adresse empfängt und auf den Seitendecoderleitungen eine Seitendecoderausgabe erzeugt; der korrespondierende lokale Zeilendecoder des ausgewählten einzelnen Sektors die zweite Stufe der Zeilendecodierung ausführt, um eine Zeile innerhalb der Untermenge der Mehrzahl von Zeilen, die durch den globalen Zeilendecoder ausgewählt wurden, als eine Funktion der Seitendecoderausgabe auszuwählen; für eine Leseoperation der Inhalt der ausgewählten Zeile des ausgewählten Sektors in die korrespondierende Seitenpufferschaltung übertragen wird; für eine Programmieroperation der Inhalt der korrespondierenden Seitenpufferschaltung an die ausgewählte Zeile des ausgewählten Sektors übertragen wird; zur Ausführung von Lese- und Programmieroperationen in parallel für eine ausgewählte Mehrzahl von Sektoren bis hin zu allen n Sektoren, eine erste Stufe der Zeilendecodierung durch den globalen Zeilendecoder ausgeführt wird, um eine Untermenge der Mehrzahl von Zeilen auszuwählen, und für jeden Sektor der ausgewählten Mehrzahl von Sektoren: der Seitendecoder des Sektors eine Adresse oder einen Teil einer Adresse empfängt und auf den Seitendecoderleitungen eine Seitendecoderausgabe erzeugt; der korrespondierende lokale Zeilendecoder des Sektors die zweite Stufe der Zeilendecodierung ausführt, um eine Zeile innerhalb der Untermenge der Mehrzahl von Zeilen, die durch den globalen Zeilendecoder ausgewählt wurden, als eine Funktion der Seitendecoderausgabe auszuwählen; für eine Leseoperation der Inhalt der ausgewählten Zeile in die korrespondierende Seitenpufferschaltung übertragen wird; für eine Programmieroperation der Inhalt der korrespondierenden Seitenpufferschaltung in die ausgewählte Zeile des ausgewählten Sektors übertragen wird.
  18. NAND-Flash-Speicherkern gemäß Anspruch 3, der konfiguriert ist um: eine Löschoperation für einen ausgewählten Block innerhalb eines ausgewählten einzelnen Sektors auszuführen; und parallel für eine ausgewählte Mehrzahl von Sektoren bis hin zu allen n Sektoren ein Löschen für einen ausgewählten Block auszuführen.
  19. NAND-Flash-Speichervorrichtung, umfassend den NAND-Flash-Speicherkern gemäß Anspruch 1.
  20. NAND-Flash-Speichervorrichtung, umfassend: periphere Schaltungen, Eingabe/Ausgabekontaktflächen, sowie einen Hochspannungsgenerator; einen NAND-Flash-Speicherkern, umfassend: ein NAND-Speicherzellenfeld, umfassend eine Mehrzahl von Zeilen bei einer Mehrzahl von Spalten, wobei die Zellen in einer Mehrzahl von Sektoren angeordnet sind, wobei jeder Sektor die Zellen einer Mehrzahl der Spalten umfasst; wobei die Zellen in einer Mehrzahl von Blöcken angeordnet sind, wobei jeder Block Zellen einer Mehrzahl der Zeilen umfasst; das NAND-Speicherzellenfeld, das für ein Löschen mit einer Auflösung von einem Block innerhalb eines Sektors konfiguriert ist, und das für Lesen und Programmieren mit einer Auflösung von einer Zeile innerhalb eines Sektors konfiguriert ist.
  21. NAND-Flashvorrichtung gemäß Anspruch 20, wobei der NAND-Flash-Speicherkern umfasst: einen globalen Zeilendecoder, der eine erste Stufe einer Zeilendecodierung für alle Sektoren ausführt; für jeden Sektor einen korrespondierenden lokalen Zeilendecoder, der eine zweite Stufe der Zeilendecodierung nur für diesen Sektor ausführt.
  22. Verfahren in einem NAND-Flash-Speicherkern, umfassend: Ausführen einer mehrstufigen Zeilendecodierung.
  23. Verfahren gemäß Anspruch 22 zur Verwendung in einem NAND-Flash-Speicherkern, der ein NAND-Speicherzellenfeld umfasst, das eine Mehrzahl von Sektoren enthält, wobei jeder Sektor eine Mehrzahl von Spalten und eine Mehrzahl von Zeilen enthält, wobei das Verfahren umfasst: Ausführen einer ersten Stufe einer Zeilendecodierung für alle der Sektoren; Aausführen einer zweiten Stufe der Decodierung für zumindest einen Sektor.
  24. Verfahren gemäß Anspruch 23 zur Verwendung in dem NAND-Flash-Speicherkern, der eine Mehrzahl von Blöcken umfasst, wobei jeder Block eine Mehrzahl von Zeilen umfasst, wobei jede Zeile Speicherzellen aus jedem der Sektoren umfasst, wobei: das Ausführen der ersten Stufe der Zeilendecodierung ein Ausführen einer Zeilendecodierung zum Auswählen eines Blockes aus der Mehrzahl von Blöcken umfasst.
  25. Verfahren gemäß Anspruch 24, weiterhin umfassend: Ausführen von Lese- und Programmieroperationen bei einer Auflösung von einer Zeile innerhalb eines Sektors; Ausführen von Löschoperationen bei einer Auflösung von einem Block innerhalb eines Sektors.
  26. Verfahren nach Anspruch 24 zur Verwendung in dem NAND-Flash-Speicherkern, in dem die Mehrzahl der Sektoren aus n Sektoren besteht, wobei das Verfahren weiterhin umfasst: Ausführen von Lese- und Programmieroperationen bei einer Auflösung von einer Zeile innerhalb eines Sektors für einen ausgewählten einzelnen Sektor; und Ausführen von parallelen Lese- und Programmieroperationen bei einer Auflösung von einer Zeile innerhalb eines Sektors für eine ausgewählte Mehrzahl von Sektoren bis hin zu allen n Sektoren.
  27. Verfahren gemäß Anspruch 24, weiterhin umfassend: Ausführen von Lese- und Programmieroperationen für einen ausgewählten einzelnen Sektor, indem: die erste Stufe der Zeilendecodierung ausgeführt wird, um eine Untermenge der Mehrzahl von Zeilen auszuwählen; die zweite Stufe der Zeilendecodierung ausgeführt wird, um eine Zeile innerhalb der ausgewählten Untermenge der Mehrzahl von Zeilen auszuwählen; und Lese- und Programmieroperationen parallel für eine ausgewählte Mehrzahl von Sektoren bis hin zu allen n Sektoren ausgeführt werden, indem: der globale Zeilendecoder die erste Stufe der Zeilendecodierung ausführt, um eine Untermenge der Mehrzahl von Zeilen auszuwählen, und für jeden Sektor der ausgewählten Mehrzahl von Sektoren die zweite Stufe der Zeilendecodierung ausgeführt wird, um eine Zeile innerhalb der ausgewählten Untermenge der Mehrzahl von Zeilen auszuwählen.
DE112010000955T 2009-03-05 2010-03-03 NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung Withdrawn DE112010000955T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15759409P 2009-03-05 2009-03-05
US61/157,594 2009-03-05
US12/495,089 2009-06-30
US12/495,089 US8189390B2 (en) 2009-03-05 2009-06-30 NAND flash architecture with multi-level row decoding
PCT/CA2010/000260 WO2010099597A1 (en) 2009-03-05 2010-03-03 Nand flash architecture with multi-level row decoding

Publications (1)

Publication Number Publication Date
DE112010000955T5 true DE112010000955T5 (de) 2012-07-19

Family

ID=42678143

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010000955T Withdrawn DE112010000955T5 (de) 2009-03-05 2010-03-03 NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung

Country Status (9)

Country Link
US (2) US8189390B2 (de)
EP (1) EP2404299A4 (de)
JP (1) JP2012519347A (de)
KR (1) KR20110132584A (de)
CN (1) CN102341864B (de)
CA (1) CA2754062A1 (de)
DE (1) DE112010000955T5 (de)
TW (1) TWI443661B (de)
WO (1) WO2010099597A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416609B2 (en) * 2010-02-15 2013-04-09 Micron Technology, Inc. Cross-point memory cells, non-volatile memory arrays, methods of reading a memory cell, methods of programming a memory cell, methods of writing to and reading from a memory cell, and computer systems
US8958244B2 (en) 2012-10-16 2015-02-17 Conversant Intellectual Property Management Inc. Split block decoder for a nonvolatile memory device
US9704580B2 (en) 2012-10-22 2017-07-11 Conversant Intellectual Property Management Inc. Integrated erase voltage path for multiple cell substrates in nonvolatile memory devices
US9030879B2 (en) 2012-11-15 2015-05-12 Conversant Intellectual Property Management Incorporated Method and system for programming non-volatile memory with junctionless cells
US10403766B2 (en) 2012-12-04 2019-09-03 Conversant Intellectual Property Management Inc. NAND flash memory with vertical cell stack structure and method for manufacturing same
KR102021808B1 (ko) 2012-12-04 2019-09-17 삼성전자주식회사 3차원 구조의 메모리 셀 어레이를 포함하는 불휘발성 메모리
US9007834B2 (en) 2013-01-10 2015-04-14 Conversant Intellectual Property Management Inc. Nonvolatile memory with split substrate select gates and hierarchical bitline configuration
US9202931B2 (en) 2013-03-14 2015-12-01 Conversant Intellectual Property Management Inc. Structure and method for manufacture of memory device with thin silicon body
US9025382B2 (en) 2013-03-14 2015-05-05 Conversant Intellectual Property Management Inc. Lithography-friendly local read circuit for NAND flash memory devices and manufacturing method thereof
US9214235B2 (en) 2013-04-16 2015-12-15 Conversant Intellectual Property Management Inc. U-shaped common-body type cell string
CN104217751A (zh) * 2013-06-03 2014-12-17 辉达公司 一种存储器
CN106486144B (zh) * 2015-08-31 2019-05-14 旺宏电子股份有限公司 存储器结构
KR102302591B1 (ko) * 2015-09-22 2021-09-15 삼성전자주식회사 사이즈를 감소시킨 로우 디코더 및 이를 포함하는 메모리 장치
US9847133B2 (en) * 2016-01-19 2017-12-19 Ememory Technology Inc. Memory array capable of performing byte erase operation
US10713136B2 (en) 2017-09-22 2020-07-14 Qualcomm Incorporated Memory repair enablement
CN107993687B (zh) * 2018-01-12 2023-08-11 成都信息工程大学 一种存储器电路
KR102442337B1 (ko) * 2018-05-14 2022-09-13 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법
CN112346646B (zh) * 2019-08-06 2023-05-23 天津光电通信技术有限公司 高速大容量存储器及写入、读取和擦除方法
IT201900021165A1 (it) 2019-11-14 2021-05-14 St Microelectronics Srl Dispositivo di memoria non volatile con un decodificatore di riga asimmetrico e metodo di selezione di linee di parola

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960000616B1 (ko) * 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
US5621690A (en) * 1995-04-28 1997-04-15 Intel Corporation Nonvolatile memory blocking architecture and redundancy
EP0782145B1 (de) * 1995-12-29 2000-05-10 STMicroelectronics S.r.l. Löschverfahren für einen nicht flüchtigen Speicher
US5896340A (en) * 1997-07-07 1999-04-20 Invox Technology Multiple array architecture for analog or multi-bit-cell memory
JP3905979B2 (ja) * 1998-06-03 2007-04-18 株式会社東芝 不揮発性半導体メモリ
JP3999900B2 (ja) * 1998-09-10 2007-10-31 株式会社東芝 不揮発性半導体メモリ
EP1028433B1 (de) * 1999-02-10 2004-04-28 SGS-THOMSON MICROELECTRONICS s.r.l. Nichtflüchtiger Mehrpegelspeicher und Leseverfahren dafür
JP3920501B2 (ja) * 1999-04-02 2007-05-30 株式会社東芝 不揮発性半導体記憶装置及びそのデータ消去制御方法
EP1047077A1 (de) 1999-04-21 2000-10-25 STMicroelectronics S.r.l. Nichtflüchtige Speicheranordnung mit doppelter hierarchischer Dekodierung
US6088287A (en) * 1999-08-23 2000-07-11 Advanced Micro Devices, Inc. Flash memory architecture employing three layer metal interconnect for word line decoding
US6662263B1 (en) * 2000-03-03 2003-12-09 Multi Level Memory Technology Sectorless flash memory architecture
US6950336B2 (en) * 2000-05-03 2005-09-27 Emosyn America, Inc. Method and apparatus for emulating an electrically erasable programmable read only memory (EEPROM) using non-volatile floating gate memory cells
TW540053B (en) * 2000-07-13 2003-07-01 Samsung Electronics Co Ltd Row decoder of a NOR-type flash memory device
EP1229550B1 (de) * 2001-02-05 2009-09-30 STMicroelectronics S.r.l. Löschverfahren für einen Flash-Speicher
KR100418521B1 (ko) * 2001-06-11 2004-02-11 삼성전자주식회사 계층적 섹터구조를 갖는 불휘발성 반도체 메모리 장치
US6704241B1 (en) * 2002-09-06 2004-03-09 Winbond Electronics Corporation Memory architecture with vertical and horizontal row decoding
US7009910B2 (en) * 2001-08-23 2006-03-07 Winbond Electronics Corporation Semiconductor memory having a flexible dual-bank architecture with improved row decoding
KR100463197B1 (ko) * 2001-12-24 2004-12-23 삼성전자주식회사 멀티-페이지 프로그램 동작, 멀티-페이지 읽기 동작,그리고 멀티-블록 소거 동작을 갖는 낸드 플래시 메모리장치
EP1327992B1 (de) * 2002-01-11 2005-03-30 STMicroelectronics S.r.l. Architektur eines Flash-EEPROMs, der gleichzeitig während des Löschens oder Programmierens von einem oder mehreren anderen Sektoren, lesbar ist.
KR100481857B1 (ko) * 2002-08-14 2005-04-11 삼성전자주식회사 레이아웃 면적을 줄이고 뱅크 마다 독립적인 동작을수행할 수 있는 디코더를 갖는 플레쉬 메모리 장치
KR100546342B1 (ko) * 2003-07-12 2006-01-26 삼성전자주식회사 반복적으로 배치되는 프리-디코딩된 신호선들의레이아웃을 개선시키는 로우 디코더 구조, 이를 구비한반도체 메모리 장치, 및 그 방법
JP2005302139A (ja) * 2004-04-09 2005-10-27 Nec Electronics Corp 半導体記憶装置
WO2005109440A1 (ja) * 2004-05-12 2005-11-17 Spansion Llc 半導体装置及びその制御方法
JP4135680B2 (ja) * 2004-05-31 2008-08-20 ソニー株式会社 半導体記憶装置および信号処理システム
JP2006331501A (ja) * 2005-05-24 2006-12-07 Toshiba Corp 半導体記憶装置
KR100669349B1 (ko) * 2005-12-02 2007-01-16 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
KR100830575B1 (ko) * 2006-09-26 2008-05-21 삼성전자주식회사 플래시 메모리 장치 및 그것의 멀티-블록 소거 방법
JP2008108382A (ja) * 2006-10-26 2008-05-08 Toshiba Corp 不揮発性半導体記憶装置
US7577059B2 (en) * 2007-02-27 2009-08-18 Mosaid Technologies Incorporated Decoding control with address transition detection in page erase function
KR101519061B1 (ko) * 2008-01-21 2015-05-11 삼성전자주식회사 하나의 고전압 레벨 쉬프터를 공유하는 로우 디코더를 갖는플래쉬 메모리 장치

Also Published As

Publication number Publication date
US8189390B2 (en) 2012-05-29
US20100226179A1 (en) 2010-09-09
CN102341864B (zh) 2015-02-11
TWI443661B (zh) 2014-07-01
JP2012519347A (ja) 2012-08-23
CA2754062A1 (en) 2010-09-10
TW201106358A (en) 2011-02-16
EP2404299A4 (de) 2013-03-27
EP2404299A1 (de) 2012-01-11
US8854884B2 (en) 2014-10-07
WO2010099597A1 (en) 2010-09-10
US20120218829A1 (en) 2012-08-30
CN102341864A (zh) 2012-02-01
KR20110132584A (ko) 2011-12-08

Similar Documents

Publication Publication Date Title
DE112010000955T5 (de) NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung
DE19860871B4 (de) Leistungsunabhängiger Halbleiterspeicherbaustein und Verfahren zur Ansteuerung von dessen Wortleitungen
DE19880311B3 (de) Nichtflüchtige Speicherstruktur
DE3900798C2 (de) Verfahren zum Programmieren eines elektrisch löschbaren und programmierbaren Nur-Lese-Speichers
DE102005017012B4 (de) NOR-Flashspeicherbauelement, zugehöriges Speichersystem und Programmierverfahren
DE102007002248B4 (de) Nichtflüchtiges Halbleiter-Speicherbauelement und Verfahren zum Löschen eines Flash-Speicherbauelements
DE10225398B4 (de) Halbleiterspeichervorrichtung mit Speicherzellenarrays, die zum Durchführen eines wahlfreien Zugriffs in der Lage ist
DE60220590T2 (de) Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers
DE102005029875B4 (de) Flash-Speichervorrichtung mit verbesserter Vorprogammierfunktion und Verfahren zum Steuern eines Vorprogrammierbetriebs darin
DE4233248C2 (de) Nicht-flüchtige Halbleiterspeichereinrichtung und Verfahren zum blockweisen Löschen von Daten in einer nicht-flüchtigen Halbleiterspeichereinrichtung
DE60318714T2 (de) System und verfahren zur steuerung einer löschspannung während des löschens mehrerer sektoren eines flash-speichers
DE102005028642A1 (de) Flash-Speicherbauelemt mit verbesserter Löschfunktion und Verfahren zur Steuerung einer Löschoperation desselben
DE102006058380A1 (de) Flash-Speicherbauelement und Verfahren zur Steuerung einer Löschoperation desselben
DE10241356A1 (de) Nichtflüchtige Halbleiterspeichervorrichtung mit verbesserter Programmierungssperreigenschaft und Programmierungsverfahren dafür
DE4014117A1 (de) Elektrisch loeschbarer programmierbarer festwertspeicher mit nand-zellenbloecken
DE10329627B4 (de) Flash-Speicherbaustein
DE102007041845A1 (de) Verfahren zum Betreiben eines integrierten Schaltkreises mit mindestens einer Speicherzelle
DE112005000866T5 (de) Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen
DE102007006292A1 (de) Halbleiterspeicherbauelement mit Programmierspannungsgenerator und Verfahren zum Programmieren desselben
DE102007061406A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speicherkarte
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE112004003023B4 (de) Halbleiterbauelement und Verfahren zum Steuern des Halbleiterbauelements
DE69833348T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE19911101C2 (de) Nicht-flüchtige Halbleiterspeichervorrichtung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

R081 Change of applicant/patentee

Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT IN, CA

Free format text: FORMER OWNER: MOSAID TECHNOLOGIES INC., OTTAWA, ONTARIO, CA

Effective date: 20141120

R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

Effective date: 20141120

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee