DE102013104196A1 - System und Verfahren mit dreidimensionaler nichtflüchtiger Speichervorrichtung und Direktzugriffsspeicher - Google Patents

System und Verfahren mit dreidimensionaler nichtflüchtiger Speichervorrichtung und Direktzugriffsspeicher Download PDF

Info

Publication number
DE102013104196A1
DE102013104196A1 DE201310104196 DE102013104196A DE102013104196A1 DE 102013104196 A1 DE102013104196 A1 DE 102013104196A1 DE 201310104196 DE201310104196 DE 201310104196 DE 102013104196 A DE102013104196 A DE 102013104196A DE 102013104196 A1 DE102013104196 A1 DE 102013104196A1
Authority
DE
Germany
Prior art keywords
bit
data
page
memory
random access
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.)
Pending
Application number
DE201310104196
Other languages
English (en)
Inventor
Byung Hei Jun
Dong-Hun KWAK
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020120047503A external-priority patent/KR20130123955A/ko
Priority claimed from KR1020120071715A external-priority patent/KR102020818B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102013104196A1 publication Critical patent/DE102013104196A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

Programmierverfahren für ein Speichersystem mit einen dreidimensionalen nichtflüchtigen Speicher mit Multi-Level-Speicherzellen und einem Direktzugriffsspeicher. Das Verfahren verwendet den Direktzugriffsspeicher, um auf verschiedene Arten ausgewählte Bits von Multi-Bit-Daten während des Programmierens einer Zeile von Speicherzellen in dem dreidimensionalen nichtflüchtigen Speicher zu speichern.

Description

  • Bezugnahme auf zugehörige Anmeldungen
  • Es wir die Priorität der Koreanischen Patentanmeldungen Nr. 10-2012-0071715 eingereicht am 02. Juli 2012 und Nr. 10-2012-0047503 , deren Gegenstand durch Bezugnahme mit umfasst ist in Anspruch genommen.
  • Hintergrund
  • Das erfindungsgemäße Konzept bezieht sich auf Speichersysteme, Halbleiterspeichervorrichtungen und Verfahren zum Programmieren von Halbleiterspeichervorrichtungen. Insbesondere bezieht sich das erfindungsgemäße Konzept auf Speichersysteme mit einer dreidimensionalen nichtflüchtigen Speichervorrichtung und Verfahren um diese zu programmieren.
  • Halbleiterspeichervorrichtungen können entsprechend ihrer Betriebsart als flüchtig oder nichtflüchtig klassifiziert werden. Flüchtige Speichervorrichtungen verlieren ohne Betriebsspannung ihre Daten und umfassen den statischen RAM (SRAM), dynamischen RAM (DRAM), synchronen DRAM (SDRAM) und Ähnliche. Nichtflüchtige Speicher können auch ohne angelegte Betriebsspannung die Daten erhalten und umfassen Nur-Lesespeicher (ROM), programmierbare Speicher (PROM), elektrisch programmierbare Speicher (EPROM), elektrisch lösch- und programmierbare ROM (EEPROM) und Flashspeicher, Phasen-Änderungsspeicher (PRAM), magnetische RAM (MRAM), Widerstandsspeicher (RRAM), ferroelektrische Speicher (FRAM) und Ähnliche.
  • Insbesondere Flashspeicher haben sich zu bedeutsamen nichtflüchtigen Speichern entwickelt und umfassen NOR Typen und NAND Typen.
  • In den letzten Jahren wurden sogenannte dreidimensionale Speicherarchitekturen und Strukturen vorgeschlagen um die Integrationsdichte von Flashspeichern weiter zu erhöhen. Ganz allgemein umfassen dreidimensionale Flashspeicher eine oder mehrere Halbleiterstrukturen bei denen Speicherzellen auf einem grundsätzlichen Substrat gestapelt sind. Verglichen mit gewöhnlichen zweidimensionalen (oder planaren) Speichern, bietet der dreidimensionale Speicher Vorteile im Hinblick auf Integration und Kosten. Jedoch muss die Zuverlässigkeit der dreidimensionalen Speicher verbessert werden.
  • Zusammenfassung
  • Gemäß einer Ausführungsform umfasst das erfindungsgemäße Konzept ein Verfahren zum Programmieren eines Speichersystems mit einem dreidimensionalen nichtflüchtigen Speicher mit einem Seitenpuffer und Multi-Levelspeicherzellen die entlang einer Zeilenrichtung angeordnet sind, und einem Direktzugriffspeicher. Das Verfahren umfasst; das Empfangen extern bereitgestellter Programmdaten, das Ermitteln ob die empfangenen Programmdaten alles Daten sind, die zu den Speicherzellen gehören und Multi-Pagedaten entsprechen, und nach dem Erfassen, dass die empfangenen Programmdaten komplette Daten sind, das Programmieren der Programmdaten durch das Laden der Multi-Pagedaten in den Seitenpuffer und dann gleichzeitiges Programmieren der Multi-Pagedaten von dem Seitenpuffer in die Speicherzellen, und ansonsten Speichern der empfangenden Programmdaten in dem Direktzugriffspeicher.
  • Gemäß einer anderen Ausführungsform stellt das erfindungsgemäße Konzept ein Verfahren zur Programmierung eines Speichersystems bereit mit einem Controller, einem dreidimensionalen nichtflüchtigen Speicher mit Seitenpuffer und Multi-Levelspeicherzellen die entlang einer Zeilenrichtung angeordnet sind, und einen Zuführzugriffsspeicher. Das Verfahren umfasst; das Empfangen extern bereitgestellter, Multi-Page-Programmdaten in dem Controller, das Speichern der empfangenen Programmdaten in dem Direktzugriffspeicher bis die in dem Direktzugriffspeicher gespeicherten Programmdaten komplette Daten sind die mit den Speicherzellen verknüpft sind und entsprechend der Multi-Pagedaten, Laden der Multi-Pagedaten in den Seitenpuffer, und gleichzeitig Programmieren der Multi-Pagedaten des Seitenpuffers in die Speicherzellen.
  • Gemäß einer anderen Ausführungsform umfasst das erfindungsgemäße Konzept ein Verfahren zum Programmieren eines Speichersystems mit einem Controller, einem dreidimensionalen nichtflüchtigen Speicher mit einem Seitenpuffer und N-Bit Speicherzellen die entlang einer Zeilenrichtung angeordnet sind und einem Direktzugriffspeicher. Das Verfahren umfasst; das Empfangen eines ersten Bit von N-Bitdaten in dem Controller und Speichern des ersten Bit der N-Bitdaten in den Direktzugriffspeicher, und nach dem Speichern des ersten Bit der N-Bitdaten in dem Direktzugriffspeicher, Empfangen eines zweiten Bit von N-Bitdaten in dem Controller, wobei die Kombination von wenigstens dem ersten Bit und zweitem Bit der N-Bitdaten alles Daten sind die mit den Speicherzellen verknüpft sind und Multi-Pagedaten entsprechen, Laden der Multi-Pagedaten in den Seitenpuffer, wobei das Laden der Multi-Pagedaten in den Seitenpuffer das Übertragen des ersten Bit der N-Bitdaten von dem Direktzugriffspeicher in den Seitenspeicher umfasst und das direkte Übertragen des zweiten Bit der N-Bitdaten von dem Controller zu dem Seitenpuffer durch Umgehung des Direktzugriffspeichers und gleichzeitiges Programmieren der Multi-Pagedaten von dem Seitenpuffer in den Speicherzellen.
  • Gemäß einer weiteren Ausführungsform umfasst das erfindungsgemäße Konzept ein Verfahren zum Programmieren eines Speichersystems mit einem Controller, einem dreidimensionalen nichtflüchtigen Speicher mit einem Seitenpuffer und entlang einer Zeilenrichtung angeordneter N-Bitspeicherzellen, und einem Direktzugriffspeicher. Das Verfahren umfasst; das Empfangen eines ersten Bit von N-Bitdaten in dem Controller, direktes Laden des ersten Bit der N-Bitdaten in den Seitenpuffer ohne durch den Direktzugriffspeicher hindurchzugehen und dann das Programmieren des ersten Bit der N-Bitdaten in die Speicherzellen, nach dem Programmieren des ersten Bit der N-Bitdaten in die Speicherzellen Empfangen eines zweiten Bit von N-Bitdaten in dem Controller und Speichern des zweiten Bit der N-Bitdaten in dem Direktzugriffspeicher, und nach dem Speichern des zweiten Bit der N-Bitdaten in dem Direktzugriffspeicher übertragen des zweiten Bit der N-Bitdaten von dem Direktzugriffspeicher in den Seitenspeicher, Empfangen eines dritten Bit von N-Bitdaten in dem Controller und direktes Laden des dritten Bit des N-Bitdaten in den Seitenspeicher ohne durch den Direktzugriffspeicher hindurchzugehen, wobei die Kombination des ersten Bit, des zweiten Bit und des dritten Bit der N-Bitdaten Gesamtdaten in Verbindung mit den Speicherzellen entspricht und mit den Multi-Seitendaten übereinstimmt sind und gleichzeitiges Programmieren des zweiten Bit und dritten Bit der N-Bitdaten von dem Seitenpuffer in die Speicherzellen.
  • Gemäß einer weiteren Ausführungsform umfasst das erfindungsgemäße Konzept ein Verfahren zum Programmieren eines Speichersystems mit einem Controller, einem dreidimensionalen nichtflüchtigen Speicher mit einem Seitenpuffer, N-Bitspeicherzellen, die entlang einer Zeilenrichtung angeordnet sind und einem Direktzugriffsspeicher. Das Verfahren umfasst; das Empfangen eines ersten Bit von N-Bitdaten in den Controller und Speichern des ersten Bit der N-Bitdaten in dem Direktzugriffsspeicher, Empfangen eines zweiten Bit von N-Bitdaten in dem Controller und Speichern des zweiten Bit von N-Bitdaten in dem Direktzugriffsspeicher, gleichzeitig Laden des ersten Bit und zweiten Bit der N-Bitdaten von dem Direktzugriffsspeicher in den Seitenpuffer, und dann gleichzeitiges Programmieren des ersten Bit und zweiten Bit der N-Bitdaten von dem Seitenpuffer in die Speicherzellen, Empfangen eines dritten Bit von N-Bitdaten in dem Controller nach dem gleichzeitigen Programmieren des ersten Bit und des zweiten Bits der N-Bitdaten von dem Seitenpuffer in die Speicherzellen, Speichern des dritten Bit der N-Bitdaten in dem Direktzugriffsspeicher, Laden des dritten Bit der N-Bitdaten von dem Direktzugriffsspeicher in den Seitenpuffer, und dann Programmieren des dritten Bit der N-Bitdaten von dem Seitenpuffer in die Speicherzellen, wobei die Kombination des ersten Bit, des zweiten Bit und des dritten Bit der N-Bitdaten alles mit den Speicherzellen verbundene Gesamtdaten sind und Multi-Seitendaten entsprechen.
  • Kurze Beschreibung der Figuren
  • Die oben beschriebenen und andere Merkmale und Eigenschaften dieses erfindungsgemäßen Konzepts werden unter Berücksichtigung der folgenden Beschreibung mit Bezugnahme auf die beiliegenden Figuren noch klarer.
  • 1 zeigt ein Blockdiagramm, das ein Speichersystem gemäß einer Ausführungsform des erfindungsgemäßen Konzepts zeigt.
  • 2 zeigt ein Flussdiagramm, das allgemein ein Programmierverfahren gemäß einer Ausführungsform des erfindungsgemäßen Konzepts zusammenfasst.
  • 3 zeigt ein Blockdiagramm, das den dreidimensionalen nichtflüchtigen Speicher (1100) aus 1 näher darstellt.
  • 4 zeigt ein Schaltungsdiagramm, das einen Speicherblock der Vielzahl der Speicherblöcke in dem Speicherzellenarray aus 3 darstellt.
  • 5 zeigt eine perspektivische Ansicht einer möglichen Struktur eines Speicherblocks aus 4.
  • 6 zeigt ein Diagramm, das eine Seitenstruktur von mit einer Wortleitung verbundenen Speicherzellen in dem Speicherblock aus 4 zeigt.
  • 7 zeigt ein Flussdiagramm, das ein Programmierverfahren einer Ausführungsform des erfindungsgemäßen Konzepts zusammenfasst.
  • 8 zeigt ein Diagramm, das ein Speichersystem gemäß 1 mehr darstellt, wie es gesteuert wird, um einen Programmablauf gemäß des Verfahrens aus 7 durchzuführen.
  • 9 zeigt ein Diagramm, das angelegte Spannungen während eines Programmablaufs eines dreidimensionalen nichtflüchtigen Speichers darstellt.
  • 10 zeigt ein Diagramm, das die Programmiereffekte von Spannungen darstellt, die während eines Betriebs des dreidimensionalen nichtflüchtigen Speichers angelegt sind.
  • 11 zeigt ein Flussdiagramm, das einen Programmieransatz unter Verwendung eines Direktzugriffsspeichers als Puffer in dem System von 1 zusammenfasst.
  • 12 und 13 zeigen Diagramme, welche Ausführungen, in denen das Speichersystem aus 1 einen Programmierbetrieb gemäß des Programmierverfahren aus 11 durchführt, näher darstellt.
  • 14 zeigt ein Flussdiagramm, das ein anderes Pufferprogrammierverfahren zusammenfasst, das den Direktzugriffsspeicher aus 1 gemäß einer Ausführungsform des erfindungsgemäßen Konzepts nutzt.
  • 15 und 16 zeigen Diagramme, welche Ausführungsformen, in denen das Speichersystem aus 1 einen Programmbetrieb gemäß des Programmierverfahren aus 14 durchführt, näher darstellen.
  • 17 zeigt ein Flussdiagramm, das ein anderes Pufferprogrammierverfahren unter Verwendung des Direktzugriffsspeicher aus 1 gemäß einer Ausführungsform des erfindungsgemäßen Konzepts zusammenfasst.
  • 18 zeigt ein Diagramm, in dem das Speichersystem aus 1 einen Programmierbetrieb gemäß des Programmierverfahren aus 17 durchführt, näher darstellt.
  • 19 zeigt ein Flussdiagramm, das ein anderes Pufferprogrammierverfahren zusammenfasst, welches den Direktzugriffsspeicher aus 1 gemäß einer Ausführungsform des erfindungsgemäßen Konzepts nutzt.
  • 20 und 21 zeigen Diagramme, die Ausführungsformen, in denen das Speichersystem aus 1 einen Programmierbetrieb gemäß des Programmierverfahren aus 19 durchführt, näher darstellen.
  • 22 zeigt ein Blockdiagramm, das eine der Seitenpuffereinheiten aus 3 näher darstellt.
  • 23, 25, 27, 29 und 31 stellen entsprechende Taktdiagramme dar, welche Beispiele von Signalen darstellen, die von einem Controller während des Programmierens gemäß einiger spezieller Ausführungsformen des erfindungsgemäßen Konzepts an einen dreidimensionalen nichtflüchtigen Speicher übertragen werden.
  • Die 24, 26, 28 und 30 zeigen entsprechende Tabellen, die Programmieradressansätze für einen dreidimensionalen nichtflüchtigen Speicher gemäß beispielhafter Programmabschnitte auflistet.
  • Die 32, 33 und 34 zeigen Blockdiagramme, die entsprechende Speichersysteme gemäß bestimmter Ausführungsformen des erfindungsgemäßen Konzepts darstellen.
  • 35 zeigt ein Diagramm, das eine Speicherkarte gemäß einer Ausführungsform des erfindungsgemäßen Konzepts zeigt.
  • 36 zeigt ein Diagramm, das ein Festkörperlaufwerk (SSD – Solid State Drive) gemäß einer Ausführungsform des erfindungsgemäßen Konzepts zeigt.
  • 37 zeigt ein Blockdiagramm, das ein Computersystem gemäß einer Ausführungsform des erfindungsgemäßen Konzepts darstellt.
  • Detaillierte Beschreibung
  • Ausführungsformen des erfindungsgemäßen Konzepts werden im Folgenden in weiterem Detail unter Bezugnahme auf die beiliegenden Figuren beschrieben. Das erfindungsgemäße Konzept kann jedoch auf verschiedene Arten verwirklicht werden und soll nicht allein auf die dargestellten Ausführungsformen beschränkt werden. Vielmehr dienen diese Ausführungsformen als Beispiele, damit diese Beschreibung gründlich und vollständig ist, so dass das erfindungsgemäße Konzept dem Fachmann vermittelt wird. Dementsprechend werden bekannte Verfahrensschritte, Elemente und Techniken im Hinblick auf einige Ausführungsformen des erfindungsgemäßen Konzepts nicht beschrieben. Solange nicht anderweitig angemerkt, bezeichnen die gleichen Bezugszeichen durch die Beschreibung und die Figuren hindurch auch gleiche Elemente. In den Figuren können die Größen und relativen Größen von Schichten und Gebieten aus Klarheitsgründen überzeichnet dargestellt sein.
  • Es ist klar, dass sowohl die Ausdrücke ”erster”, ”zweiter”, ”dritter”, usw. im Folgenden verwendet werden, um verschiedene Elemente, Komponenten, Gebiete, Schichten und/oder Abschnitte zu beschreiben. Diese Elemente, Komponenten, Gebiete, Schichten und/oder Abschnitte nicht auf diese Ausdrücke beschränkt werden sollen. Diese Ausdrücke dienen lediglich dazu, ein Element, Komponente, Gebiet, Schicht oder Abschnitt von einem anderen Gebiet, Schicht oder Abschnitt zu unterscheiden. Das heißt, ein erstes Element, Komponente, Gebiet, Schicht oder Abschnitt wie unten diskutiert, könnte auch als ein zweites Element, Komponente, Gebiet, Schicht oder Abschnitt bezeichnet werden, ohne von der Lehre des erfindungsgemäßen Konzepts abzuweichen.
  • Räumlich relative Ausdrücke, wie ”unterhalb”, ”unter”, ”unteres”, ”darunter”, ”darüber”, ”oberhalb” und ähnliches werden im Folgenden verwendet, um die Beziehung eines Elements oder einer Eigenschaft zu einem anderen Element oder Eigenschaft wie in den Figuren dargestellt, leichter zu beschreiben. Es ist klar, dass räumlich relative Ausdrücke auch verschiedene Ausrichtungen in der Vorrichtung in der Verwendung oder im Betrieb zusätzlich zu der in den Figuren dargestellten Ausrichtung umfassen sollen. Beispielsweise weist die Vorrichtung, die in den Figuren umgedreht dargestellt ist, während Elemente beschrieben sind als ”darunter” oder ”unterhalb” oder ”unter” anderer Elemente oder Eigenschaften sind dann als ”darüber” oder ”oberhalb” der anderen Elemente oder Eigenschaften ausgerichtet. Das heißt, beispielhafte Ausdrücke ”darunter” und ”unter” können beide Ausrichtungen von „darüber” oder „darunter” erfassen. Die Vorrichtung kann auch anders orientiert (90° gedreht oder in jeder anderen Orientierung) sein und die räumlich relativen Beschreibungen, wie sie im Folgenden verwendet werden, sollen dann entsprechend interpretiert werden. Zusätzlich soll auch klar sein, dass, falls eine Schicht als ”zwischen” zwei Schichten beschrieben wird, das nur die eine Schicht zwischen den zwei Schichten liegen kann, oder aber auch eine oder mehrere Zwischenschichten vorhanden sein können.
  • Die im Folgenden verwendete Terminologie dient lediglich dazu, die speziellen Ausführungsformen zu beschreiben und nicht um das erfindungsgemäße Konzept zu beschränken. Die im Folgenden verwendeten Einzahlformen ”Ein”, ”eines” und ”der, die, das” können, solange es der Zusammenhang nicht klar anders vorgibt, auch die Pluralformen umfassen. Es ist außerdem klar, dass die Ausdrücke ”umfasst” und/oder ”umfassen”, die im Folgenden in dieser Beschreibung verwendet werden, das Vorhandensein der genannten Eigenschaften, Zahlen, Schritte, Betriebsabläufen, Elementen und/oder Komponenten bezeichnet, jedoch nicht das Vorhandensein zusätzlicher einer oder mehrerer anderer Eigenschaften, Zahlen, Schritte, Betriebsabläufe, Elemente, Komponenten und/oder Gruppen davon ausschließt. Der im Folgenden verwendete Ausdruck ”und/oder” umfasst jede und alle Kombinationen der einen oder mehrere der entsprechend aufgeführten Ausdrücke. Auch wird der Ausdruck ”beispielhaft” verwendet, um auf ein Beispiel oder eine Darstellung hinzuweisen.
  • Es ist klar, dass, wenn ein Element oder eine Schicht als ”auf', ”verbunden mit”, ”gekoppelt mit”, oder ”benachbart zu” einem anderen Element oder Schicht bezeichnet wird, es direkt auf, verbunden, gekoppelt oder benachbart zu dem anderen Element oder Schicht sein kann oder aber auch Zwischenelemente oder Zwischenschichten vorhanden sein können. Im Gegenteil dazu, falls ein Element als ”direkt auf”, ”direkt verbunden mit”, ”direkt gekoppelt mit” oder ”direkt benachbart zu” einem anderen Element oder einer anderen Schicht bezeichnet wird, sollen keine Zwischenelemente oder Zwischenschichten vorhanden sein.
  • Solange nicht anders definiert, sollen alle Ausdrücke (inklusive der technischen und wissenschaftliche Ausdrücke) wie im Folgenden verwendet die gleiche Bedeutung haben, wie sie allgemein von einem Fachmann auf dem Gebiet des erfindungsgemäßen Konzepts verstanden wird. Es ist außerdem klar, dass die Ausdrücke wie sie in allgemein gebräuchlichen Wörterbüchern verwendet werden mit der Bedeutung, die konsistent mit ihrer Bedeutung im Zusammenhang mit dem Stand der Technik und/oder der vorliegenden Beschreibung zu verstehen ist und nicht in einer idealisierten oder überformalen Art zu interpretieren ist, es sei denn, es ist ausdrücklich so definiert.
  • 1 zeigt ein Blockdiagramm, das allgemein ein Speichersystem gemäß einer Ausführungsform des erfinderischen Konzepts darstellt. Bezugnehmend auf 1 umfasst ein Speichersystem 1000 einen dreidimensionalen nichtflüchtigen Speicher 1100, einen Zufallzugriffsspeicher 1200 und einen Controller 1300.
  • Der dreidimensionale nichtflüchtige Speicher 1100 kann Steuersignale CTRL, einen Befehl CMD, und eine Adresse ADDR von dem Controller 1300 empfangen und Daten mit dem Controller 1300 austauschen. Der dreidimensionale nichtflüchtige Speicher 1100 umfasst eine Vielzahl von Speicherzellen, die in Zeilenrichtung und in Spaltenrichtung und in einer Höhenrichtung senkrecht zum Substrat angeordnet sind. Das heißt, der dreidimensionale nichtflüchtige Speicher 1100 kann eine dreidimensionale Struktur aufweisen. Der dreidimensionale Speicher 1100 kann wenigstens einen aus ROM, PROM, EPROM, EEPROM, Flashspeicher, PRAM, MRAM, ReRAM oder FRAM enthalten. Um die Beschreibung einfach zu halten, wird das erfindungsgemäße Konzept anhand eines Flashspeichers, insbesondere eines dreidimensionalen NAND Flashspeicher beschrieben. Das erfindungsgemäße Konzept ist jedoch nicht hierauf beschränkt.
  • Der Direktzugriffsspeicher 1200 kann Kontrollsignale CTRL, einen Befehl CMD, und eine Adresse ADDR von dem Controller 1300 empfangen und Daten mit dem Controller 1300 austauschen. Der Direktzugriffsspeicher 1200 kann wenigstens einen von DRAM, SRAM, PRAM, MRAM, RRAM oder FRAM enthalten.
  • Der Controller 1300 kann den dreidimensionalen nichtflüchtigen Speicher 1100 und den Direktzugriffsspeicher 1200 steuern. Der Controller 1300 kann mit einer externen Vorrichtung EX kommunizieren. Beispielsweise kann der Controller 1300 mit einem externen Host kommunizieren. Der Controller 1300 kann von der externen Vorrichtung EX empfangene Daten in den dreidimensionalen nichtflüchtigen Speicher 1100 oder den Direktzugriffsspeicher 1200 programmieren und kann von dem dreidimensionalen nichtflüchtigen Speicher 1100 oder dem Direktzugriffsspeicher 1200 ausgelesene Daten an die externe Vorrichtung EX ausgeben.
  • 2 zeigt ein Ablaufdiagramm, das ein Programmierverfahren gemäß einer Ausbildungsform des erfindungsgemäßen Konzepts zusammenfasst. Als erstes werden Multi-Seitendaten empfangen (Silo). Die Multi-Seitendaten können Daten umfassen, die in Zeilenrichtung angeordnete Speicherzellen programmiert werden können. Die Multi-Seitendaten können zwei oder mehr Bits umfassen, die in die Speicherzelle programmiert werden. Beispielsweise können die Multi-Seitendaten ein niederwertigstes und ein hochwertigstes Bit enthalten, das in die Speicherzellen entlang der Zeilenrichtung zu programmieren ist.
  • Dann können die Multi-Bitdaten in die in Zeilenrichtung angeordneten Speicherzellen programmiert werden (S120). Die Multi-Bitdaten können gleichzeitig in die in Zeilenrichtung angeordneten Speicherzellen programmiert werden.
  • 3 zeigt ein Blockdiagramm, das die dreidimensionalen nichtflüchtigen Speicher 1100 aus 1 gemäß bestimmter Ausführungsformen des erfindungsgemäßen Konzepts näher darstellt. Bezugnehmend auf die 1 und 3 kann der dreidimensionale nichtflüchtige Speicher 1100 ein Speicherzellenarray 1110, einen Adressdekoder 1120, einen Seitenpuffer 1130 und eine Steuerlogik 1140 enthalten.
  • Das Speicherzellenarray 1110 kann mit dem Adressdekoder 1120 über Wortleitungen WL, Stringauswahlleitungen SSL, und Groundauswahlleitungen GSL und mit dem Seitenpuffer 1130 über Bitleitungen BL verbunden sein. Das Speicherzellenarray 1110 kann eine Vielzahl an Speicherblöcken BLK1 bis BLKz enthalten, von welchen jeder eine Vielzahl an Speicherzellen umfasst. In jedem der Speicherblöcke BLK1 bis BLKz können die Speicherzellen auf dem Substrat in Zeilenrichtung und Spaltenrichtung und in Höhenrichtung senkrecht zu dem Substrat angeordnet sein, so dass sich eine dreidimensionale Struktur ergibt. Jede der Speicherzellen kann zwei oder mehr Bits speichern.
  • Der Adressdekoder 1120 kann über Wortleitungen WL, die Stringauswahlleitungen SSL und die Groundauswahlleitungen GSL mit dem Speicherzellenarray 1110 verbunden sein. Der Adressdekoder 1120 kann in Reaktion auf die Steuerung der Steuerlogik 1140 arbeiten. Der Adressdekoder 1120 kann von einer externen Vorrichtung eine Adresse ADDR empfangen.
  • Der Adressdekoder 1120 kann ausgebildet sein, um eine Zeilenadresse der eingegebenen Adresse ADDR zu dekodieren. Der Adressdekoder 1120 kann unter Verwendung der dekodierten Zeilenadresse die Wortleitungen WL, die Stringauswahlleitungen SSL und die Groundauwahlleitungen GSL auswählen. Der Adressdekoder 1120 kann geeignet sein, um eine Spaltenadresse der eingegebenen Adresse ADDR zu dekodieren. Die dekodierte Spaltenadresse DCA kann an den Seitendekoder 1130 übertragen werden. Beispielweise kann der Adressdekoder 1120 Komponenten wie beispielsweise einen Zeilendekoder, einen Spaltendekoder, einen Adresspuffer usw. enthalten.
  • Der Seitenpuffer 1130 kann über die Bitleitungen BL mit dem Speicherzellenarray 1110 verbunden sein. Der Seitenpuffer 1130 kann in Reaktion auf die Steuerung der Steuerlogik 1140 hin arbeiten. Der Seitenpuffer 1130 kann in Reaktion auf die dekodierte Spaltenadresse DCA die Bitlines BL auswählen.
  • Der Seitenpuffer 1130 kann Daten von einem Controller 1300 empfangen, um sie in ein Speicherzellarray 1110 zu schreiben. Der Seitenpuffer 1130 kann Daten von dem Speicherzellarray 1110 auslesen, um diese zu dem Controller 1300 zu übertragen. Der Seitenpuffer 1130 kann Daten von einem ersten Speichergebiet des Speicherzellenarray 1110 auslesen, um sie in ein zweites Speichergebiet des Speicherzellarrays 1110 zu schreiben. Beispielsweise kann der Seitenpuffer 1130 geeignet sein, um einen Rückkopiervorgang durchzuführen.
  • Der Seitenpuffer 1130 kann eine Vielzahl an Seitenpuffereinheiten PU enthalten, die entsprechend mit den Bitlines BL verbunden sind. Die Seitenpuffereinheiten PU können die Bitlines BL in einem Programmvorgang unter Spannung setzen und Spannungen der Bitlines BL in einem Lesevorgang auslesen. Die Steuerlogik 140 kann mit dem Adressdekoder 1120 und dem Seitenpuffer 1130 verbunden sein. Die Steuerlogik 1140 kann geeignet sein, um einen Gesamtbetrieb des dreidimensionalen nichtflüchtigen Speichers 1100 zu steuern. Die Steuerlogik 1140 kann in Reaktion auf Steuersignale CTRL und einem Befehl CMD wie er von einer externen Vorrichtung übertragen wird arbeiten.
  • 4 zeigt ein Schaltungsdiagramm, das einen Speicherblock aus der Vielzahl der Speicherblöcke, die das Speicherzellarray aus 13 bilden, näher darstellt. Bezugnehmend auf 4, umfasst ein Speicherblock Zellstrings CS11, CS12, CS21 und CS22. Jeder der Zellstrings CS11, CS12, CS21 und CS22 können einen Stringauswahltransistor SST, einen Groundauswahltransistor GST und Speicherzellen MC1 bis MC6 die zwischen dem Stringauswahltransistor SST und dem Groundauwahltransistor GST verbunden sind, enthalten.
  • In den Zellstrings CS11, CS12, CS21 und CS22 sind die Controllgates der Groundauswahltransistoren GST gemeinsam mit einer Groundauswahlleitung GSL verbunden. Ein Ende der Groundauswahltransistoren GST sind entsprechend mit den Speicherzellen MC1 verbunden. Die anderen Enden der Groundauswahltransistoren GST sind gemeinsam mit einer gemeinsamen Sourceleitung CSL verbunden.
  • In den Zellsrtings CS11, CS12, CS21 und CS22 können die Speicherzellen MC1 gemeinsam mit einer Wortleitung WL1 verbunden sein, die Speicherzellen MC2 können gemeinsam mit einer Wortleitung WL2 verbunden sein, die Speicherzellen MC3 können gemeinsam mit einer Wortleitung WL3 verbunden sein, die Speicherzellen MC4 können gemeinsame mit einer Wortleitung WL4 verbunden sein, die Speicherzellen MC5 können gemeinsam mit einer Wortleitung WL5 verbunden sein und die Speicherzellen MC6 können gemeinsam mit einer Wortleitung WL6 verbunden sein. Die Steuergates der Stringauswahltransistoren SST in den Zellstrings CS11 und CS 12 können mit einer Strinauswahlleitung SSL1 verbunden sein und Steuergates der Stringauswahltransistoren SST in den Zellstrings CS21 und CS22 können mit einer Stringauswahlleitung SSL2 verbunden sein.
  • Ein Ende der Stringauswahltransistoren SST in den Zellstrings CS11 und CS21 können mit einer Begleitung BL verbunden sein, und die anderen Enden der Stringauswahltransistoren SST in den Zellstrings CS11 und CS21 können mit den Speicherzellen MC6 verbunden sein. Ein Ende der Stringauswahltransistoren SST in den Zellstrings CS11 und CS22 können mit einer Bitleitung BL2 verbunden sein, und andere Enden der Stringauswahltransistoren SST in den Zellstrings CS12 und CS22 können mit den Speicherzellen MC6 verbunden sein. Im Folgenden werden Zeilen, Spalten und Bauhöhen kurz beschrieben. Die Richtung, in die sich die Stringauswahlleitungen SSL1 und SSL2 erstrecken, ist die Zeilenrichtung. Die Zellstrings CS11 und CS12 sind entlang der Zeilenrichtung angeordnet und bilden eine erste Zeile. Die Zellstrings CS21 und CS22 sind entlang der Zeilenrichtung angeordnet und bilden eine zweite Zeile.
  • Eine Richtung, in die sich die Bitlines BL1 und BL2 erstrecken, ist die Spaltenrichtung. Die Zellstrings CS11 und CS21 sind entlang der Spaltenrichtung angeordnet und bilden eine erste Spalte. Die Zellstrings CS21 und CS22 sind entlang der Spaltenrichtung angeordnet und bilden eine zweite Spalte.
  • Die Richtung von den Groundauswahltransistoren GST zu den Stringauswahltransistoren SST entspricht einer Höhe. Die Speicherzellen MC1 bis MC6 bilden eine dreidimensionale Struktur, in der sie entlang einer Zeilenrichtung und einer Spaltenrichtung angeordnet und entlang einer Höhenrichtung gestapelt sind. Speicherzellen in der gleichen Höhe sind gemeinsam mit einer Wortleitung verbunden. Speicherzellen in verschiedenen Höhen sind mit verschiedenen Wortleitungen verbunden. Stringauswahltransistoren SST in derselben Zeile können gemeinsam mit einer Stringauswahlleitung SSL1 oder SSL2, und unabhängig davon können Stringauswahltransistoren SST in verschiedenen Zeilen gemeinsam mit Stringauswahlleitungen SSL1 und SSL2 verbunden sein. Stringauswahltransistoren SST in derselben Spalte können mit derselben Bitleitung BL1 oder BL2 verbunden sein und unabhängig davon können Stringauswahltransistoren SST in verschiedenen Spalten mit verschiedenen Bitleitungen BL1 und BL2 verbunden sein.
  • Jede der Speicherzellen MC1 bis MC6 können zwei oder mehr Bits speichern.
  • Das heißt die Speicherzellen MC1 bis MC6 können Multilevelzellen sein.
  • Gemäß beispielhafter Ausführungsformen gibt es ein Beispiel, in dem der Speicherblock BLKa vier Zellstrings CS11, CS12, CS21 und CS22 enthält, wie in 4 dargestellt. Die Anzahl der Zellstrings in dem Speicherblock BLKa sind jedoch nicht auf diese Ausführungsform beschränkt. Zwei oder mehr Zellstrings können entlang einer Zeile oder Spaltenrichtung bereit gestellt sein. Ein Beispiel, in dem jeder Zellstring Textspeicherzellen MC1 bis MC6 enthält. Die Anzahl der Speicherzellen in jedem Zellstring ist jedoch nicht auf diese Ausführungsform beschränkt. Jeder Zellstring kann zwei oder mehr Speicherzellen entlang der Höhenrichtung aufweisen.
  • Gemäß beispielhafter Ausführungsformen ist ein Beispiel, in dem die Groundauswahltransistoren GST gemeinsam mit einer Groundauswahlleitung GSL verbunden sind, wie in 4 dargestellt. Wie jedoch bei den Stringauswahltransistoren SST kann die Struktur der Speicherblöcke BLKa auch derart geändert werden, dass die Groundauswahltransistoren GST in derselben Zeile gemeinsam mit einer Groundauswahlleitung verbunden sind und Groundauswahltransistoren GST in verschiedenen Zeilen mit verschiedenen Groundauswahlleitungen verbunden sind.
  • In beispielhaften Ausführungsformen ist in 4 ein Beispiel in dem jeder Zellstring einen Stringauswahltransistor SST und einen Groundauswahltransistor GST enthält dargestellt. Jeder Zellstring kann jedoch auch zwei oder mehr Stringauswahltransistoren oder zwei oder mehr Groundauswahltransistoren enthalten.
  • Wenigstens eine der Speicherzellen MC1 bis MC6 in jedem Zellstring kann als Dummyspeicherzelle verwendet werden.
  • 5 zeigt eine perspektivische Ansicht einer möglichen Struktur, um den Speicherblock aus 4 zu realisieren. Bezugnehmend auf die 4 und 5 kann in dem Substrat 111 eine Vielzahl an gemeinsamen Sourcegebieten CSR, die sich entlang einer Zeilenrichtung erstrecken, bereitgestellt sein. Die gemeinsamen Sourcegebiete CRS können entfernt voneinander entlang einer Zeilenrichtung angeordnet sein. Die gemeinsamen Sourcegebiete CRS können gemeinsam verbunden sein, um eine gemeinsame Sourceleitung zu binden. Die gemeinsamen Sourceleitungen CSL können ein N-Typ Halbleitermaterial enthalten.
  • Zwischen den gemeinsamen Sourcegebieten CSR, kann entlang der Höhenrichtung (z. B. eine Richtung senkrecht zum Substrat 111) nacheinander eine Vielzahl an Isolationsmaterialien 112 und 112a bereitgestellt sein. Die Isolationsmaterialien 112 und 112a können entlang der Höhenrichtung entfernt voneinander angeordnet sein. Die Isolationsmaterialien 112 und 112a können einen Halbleiteroxidfilm als Isolationsmaterial umfassen. Das Isolationsmaterial 112a, das das Substrat 111 kontaktiert, kann eine geringere Dicke aufweisen als die anderen Isolationsmaterialien 112. Zwischen den gemeinsamen Sourcegebieten CSR, kann eine Vielzahl an Säulen PL angeordnet sein die entfernt voneinander in Zeilenrichtung und Spaltenrichtung angeordnet sein und die Vielzahl der Isolationsmaterialien 112 und 112a entlang der Föhnrichtung durchdringen. Beispielsweise können die Säulen PL das Substrat 111 durch die Isolationsmaterialien 112 und 112a hindurch kontaktieren. Jede der Säulen PL kann eine Kanalschicht 114 und ein inneres Material 115 aufweisen. Die Kanalschichten 114 können ein P-Typ Halbleitermaterial oder ein intrinsisches Halbleitermaterial aufweisen. Die inneren Materialien 115 können entsprechend ein Isolationsmaterial oder einen Luftspalt aufweisen. Zwischen den gemeinsamen Sourcegebieten CSR, sind auf freigelegten Oberflächen der Isolationsmaterialien 112 und 112a und den Säulen PL Informationsspeicherschichten 116 bereitgestellt. Die Informationsspeicherschichten 116 können durch das Einfangen oder Entladen von Ladungen Informationen speichern. Die Informationsspeicherschichten 116 können ONA (oxide-nitride-aluminum) oder ONO (oxide-nitride-oxide) enthalten.
  • Zwischen den gemeinsamen Sourcegebieten CSR und zwischen den Isolationsmaterialien 112 und 112a können leitfähige Materialien CM1 bis CM8 auf freigelegten Oberflächen der Informationsspeicherschichten 116 bereitgestellt sein. Das leitfähige Material CM8 der leitfähigen Materialien CM1 bis CM8 kann durch einen Stringauswahlleitungsschnitt separiert sein. Der Stringauswahlleitungsschnitt kann sich entlang der Zeilenrichtung erstrecken, um das leitfähige Material CM8 entlang der Spaltenrichtung zu trennen. Die leitfähigen Materialien CM1 bis CM8 können ein metallisches leitfähiges Material enthalten.
  • Die Informationsspeicherschichten 116, die auf einer oberen Oberfläche des auf einer obersten Schicht der Isolationsmaterialien 112 und 112a angeordnetes Isolationsmaterials, kann entfernt werden. Beispielsweise können die Informationsspeicherschichten 116 die auf den Seiten gegenüber der Säulen PL von den Seiten der Isolationsmaterialien 112 und 112a angeordnet sind, entfernt werden.
  • Eine Vielzahl an Senken 320 kann auf der Vielzahl der jeweiligen Säulen PL angeordnet sein. Die Senken 320 können ein N-Typ Halbleitermaterial (z. B. Silizium) enthalten. Die Senken 320 können sich bis zur Oberseite der Kanalschichten 114 der Säulen PL hin erstrecken.
  • Die Bitleitungen BL, die sich in die Säulenrichtung erstrecken, können auf den Senken 320 bereitgestellt sein, sodass sie entlang der Zeilenrichtung voneinander beabstandet sind.
  • Die Bitleitungen BL können mit den Senken 320 gekoppelt sein. Gemäß beispielhafter Ausführungsformen sind die Senken 320 und die Bitleitungen BL über Kontaktstöpsel (nicht gezeigt) miteinander verbunden. Die Bitleitungen BL können entsprechend ein metallisch leitfähiges Material enthalten.
  • Die Vielzahl der Säulen PL können zusammen mit den Informationsspeicherschichten 116 und der Vielzahl der leitfähigen Materialien CM1 bis CM8 eine Vielzahl an Zellstrings bilden. Jede der Säulen PL kann mit den Informationsspeicherschichten 116 und benachbarten leitfähigen Materialien CM1 bis CM8 einen Zellstring bilden.
  • Das leitfähige Material CM1 kann als Groundauswahlleitung GSL und als Controlgates der Groundauswahltransistoren GST genutzt werden. Die Informationsspeicherschichten 116 und zu dem leitfähigen Material CM1 benachbarte Abschnitte der Kanalschichten 114 können als Sperrisolationsschicht, als Ladungsfangschicht, als Tunnelisolationsschicht und als Kanal genutzt werden.
  • Das leitfähige Material CM2 kann als Wortleitung WL1 und als Gatesteuerung der Speicherzellen MC1 genutzt werden. Das leitfähige Material CM3 kann als Wortleitung WL2 und als Gatesteuerung der Speicherzellen MC2 genutzt werden. Das leitfähige Material CM4 kann als Wortleitung WL3 und als Gatesteuerung der Speicherzellen MC3 genutzt werden. Das leitfähige Material CM5 kann als Wortleitung WL4 und als Gatesteuerung der Speicherzellen MC4 genutzt werden. Das leitfähige Material CM6 kann als Wortleitung WL5 und als Gatesteuerung der Speicherzellen MC5 genutzt werden. Das leitfähige Material CM7 kann als Wortleitung WL6 und als Gatesteuerung der Speicherzellen MC6 genutzt werden.
  • Das leitfähige Material CM8 kann als Stringauswahlleitung SSL1 und SSL2 und als Steuergate der Stringauswahltransistoren SST genutzt werden.
  • Die Speicherzellen MC1 bis MC6 können eine dreidimensionale Struktur aufweisen, um auf dem Substrat 111 entlang der Zeilenrichtung und der Spaltenrichtung angeordnet zu sein und um in einer Höhenrichtung senkrecht zum Substrat 111 gestapelt zu sein. 6 zeigt ein Diagramm, das eine mögliche Seitenstruktur für eine Gruppe von Speicherzellen, die mit einer der in 4 gezeigten Wortleitungen verbunden ist. Gemäß bestimmter Ausführungsformen ist jede der Speicherzellen MC1 bis MC6 geeignet, um ein niederwertiges Bit (LSB), ein mittelwertiges Bit (CSB) und ein höchstwertiges Bit (MSB) zu speichern. Die Anzahl der in jeder Speicherzelle gespeicherten Bits ist jedoch nicht auf drei begrenzt. Beispielsweise können andere Speicherzellen geeignet sein, um 2,4 oder mehr als 4 Bits zu speichern.
  • Bezugnehmend auf die 4 und 6, sind die niederwertigen Bits in den Speicherzellen MC1 die zur ersten Zeile gehören gespeichert, wobei die Speicherzellen MC1 die mit der Wortleitung WL1 verbunden sind eine LSB Seite bilden, und die in den Speicherzellen MC1 gespeicherten CSBs eine CSB Seite bilden, und die in den Speicherzellen MC1 gespeicherten MSBs eine MSB Seite bilden.
  • In Speicherzellen MC1 gespeicherte LSBs, die zur zweiten Zeile gehören, mit einer Wortleitung WL1 verbundene Speicherzellen MC1 bilden eine LSB Seite, in Speicherzellen MC1 gespeicherte CSBs bilden eine CSB Seite und in Speicherzellen MC1 gespeicherte MSBs bilden eine MSB Seite.
  • Das heißt, ein Bit das in jede der Speicherzellen in einer Zeile gespeichert ist, bildet eine einzelne Seite. Speicherzellen einer Zeile bilden eine Multiseite mit einer Vielzahl an Einzelseiten. Die Multiseite kann alle in Speicherzellen einer Zeile programmierte Einzelseiten angeben.
  • 7 zeigt ein Flussdiagramm, das ein Programmierverfahren gemäß einer Ausführungsform des erfindungsgemäßen Konzepts zusammenfasst. Bezugnehmend auf die 1, 3 und 7 werden Programmdaten empfangen (S210). Zum Beispiel, können die Programmdaten von einer externen Vorrichtung EX einem Controller 1300 bereitgestellt werden.
  • Als Nächstes wird erfasst, ob die empfangenen Programmdaten den gesamten Daten, die in die entlang einer Zeilenrichtung angeordneten Speicherzellen programmiert sind (S220), entsprechen. In diesem Zusammenhang wird der Ausdruck „gesamte Daten” verwendet, um alle der in den Speicherzellen programmierten Daten zu bezeichnen. Das heißt, wenn eine Speicherzelle geeignet ist, um N-Bits zu speichern, umfassen die gesamten Daten alle der N-Bits, die in die Speicherzelle programmiert werden sollen. In dem angenommenen Arbeitsbeispiel umfassen die gesamten Daten LSBs, CSBs und MSBs, die in die entsprechenden Speicherzellen programmiert werden. Der Controller 1300 kann die Art der Programmdaten aufgrund der von einer externen Vorrichtung bereitgestellten entsprechenden Adresse (z. B. logische Adresse) ermitteln. Gemäß spezieller Ausführungsformen kann der Controller 1300 die Eingangsadressen in physikalische Adressen umwandeln und basierend auf der erhaltenen physikalischen Adresse die Art der Programmdaten ermitteln. Falls die Programmdaten nicht den gesamten Daten (S220 = No) entsprechen, wird ein Pufferprogrammiervorgang durchgerührt (S230). Das Pufferprogrammieren kann unter Verwendung des Direktzugriffsspeichers 1200 aus 1 durchgeführt werden. Der Pufferprogrammiervorgang wird unter Bezugnahme auf verschiedene folgende Ausführungsformen im zusätzlichen Detail beschrieben.
  • Falls die Programmdaten den gesamten Daten entsprechen (S220 = Ja), werden die gesamten Daten (z. B. Multi-Seitendaten) in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1100 geladen ohne durch den Direktzugriffsspeicher 1200 (S240) hindurch zu gehen. Der Controller 1300 kann dann die Multi-Seitendaten zu dem dreidimensionalen nichtflüchtigen Speicher 1100 übertragen, und der dreidimensionale nichtflüchtige Speicher 1100 kann die Multi-Seitendaten zu dem Seitenpuffer 1130 laden.
  • Die Multi-Seitendaten, die in den Seitenpuffer 1130 geladen wurden, können dann gleichzeitig in die entlang einer Zeilenrichtung des dreidimensionalen nichtflüchtigen Speichers 1100 angeordneten Speicherzellen programmiert werden (S250). Der dreidimensionale nichtflüchtige Speicher 1100 kann gleichzeitig die geladenen Multi-Seitendaten in die entlang einer Zeilenrichtung angeordneten Speicherzellen programmieren.
  • 8 zeigt ein Diagramm eines Beispiels indem ein Speichersystem aus 1 einen Programmablauf gemäß dem Programmierverfahren aus 7 durchführt.
  • Bezugnehmend auf die 7 und 8 können die Programmdaten PD1, PD2 und PD3 nacheinander von einer externen Vorrichtung (EX) empfangen werden. Die Programmdaten PD1, PD2 und PD3 entsprechen Multi-Seitendaten. Beispielsweise können LSB Daten PD1, CSB Daten PD2 und MSB Daten PD3 nacheinander empfangen werden. Die gesamten Daten, die in Speicherzellen entlang einer Zeilenrichtung angeordnet sind, können empfangen werden.
  • Die LSB Daten PD1, CSB Daten PD2 und MSB Daten PD3 können direkt in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1100 geladen werden ohne durch den Direktzugriffsspeicher 1200 hindurch zu gehen. Die LSB Daten PD1, CSB Daten PD2 und MSB Daten PD3 können direkt zu dem Seitenpuffer 1130 geladen werden und können gleichzeitig in Speicherzellen angeordnet entlang der Zeilenrichtung programmiert werden.
  • 9 zeigt ein Diagramm, das Spannungen darstellt, die während eines Programmiervorgangs eines dreidimensionalen nichtflüchtigen Speichers angewandt werden. In 9 bezeichnet die horizontale Achse eine Zeit T und bezeichnet eine vertikale Achse eine Spannung V. Bezugnehmend auf die 4 und 9 kann eine Programmierspannung VPGM an eine aus den Wortleitungen WL1 bis WL6 ausgewählten Wortleitung angelegt werden. Nachdem die Programmierspannung VPGM angelegt ist, werden nacheinander Verifizierungsspannungen VFY1 bis VFY7 an die ausgewählte Wortleitung angelegt. Die Verifizierungsspannungen VFY1 bis VFY7 können Spannungen entsprechen, um die Multi-Seitendaten gleichzeitig zu programmieren. Die Verifizierungsspannungen VFY1 bis VFY7 können Spannungen entsprechen, die genutzt werden, um festzustellen, ob Schwellspannungen der Speicherzellen Zielniveaus erreicht haben. Falls nach dem aufeinanderfolgenden Anlegen der Verifizierungsspannungen VFY1 bis VFY7 immer noch falsch programmierte Speicherzellen vorhanden sind, wird die Programmierspannung VPGM nochmals an die ausgewählte Wortleitung angelegt. In diesem Fall kann die Programmierspannung VPGM durch die Erhöhung ΔV erhöht werden. Danach werden die Verifizierungsspannungen VFY1 bis VFY7 nacheinander an die ausgewählte Wortleitung angelegt.
  • Die Programmierspannung VPGM und die Verifizierungsspannungen VFY1 bis VFY7 können iterativ angelegt werden bis die Speicherzellen programmiert sind. Ebenso kann die Programmierspannung VPGM durch die Erhöhung ΔV erhöht werden, falls immer die Programmierspannung VPGM iterativ angewandt wird. Das heißt, inkrementelles schrittweises Pulsprogrammieren wird durchgeführt.
  • 10 zeigt ein Diagramm, das Variationen der Speicherzellenschwellspannungen programmiert wie in den 9 dargestellten Verfahren, dargestellt. In 10 bezeichnet die horizontale Achse eine Schwellspannung und die vertikale Achse bezeichnet die Anzahl der Speicherzellen. Das heißt, 10 zeigt eine Variation der Schwellspannungsverteilungen von Speicherzellen MC.
  • Bezugnehmend auf die 9 und 10 können Speicherzellen mit einem Löschzustand E1 entsprechend auf einen Löschzustand E2 und Programmzustände P1 bis P7 programmiert werden.
  • Speicherzellen, die auf einen Löschzustand E2 programmiert sind (oder nicht programmiert) können programmiergesperrt sein. Speicherzellen, die auf den Programmzustand P1 programmiert sind können programmiergesperrt sein, nachdem ihre Schwellwertspannungen eine Verifizierungsspannung VFY1 erreichen.
  • Speicherzellen, die auf den Programmzustand P2 programmiert sind, können programmiergesperrt sein nachdem ihre Schwellwertspannungen eine Verifizierungsspannung VFY2 erreichen. Speicherzellen, die auf den Programmierzustand P3 programmiert sind, können programmiert gesperrt sein nachdem ihre Schwellspannungen eine Verifizierungsspannung VFY3 erreichen. Speicherzellen, die auf den Programmierzustand P4 programmiert sind, können programmiergesperrt sein, nachdem ihre Schwellspannung eine Verifizierungsspannung VFY4 erreicht. Speicherzellen, die auf den Programmzustand P5 programmiert sind, können programmiergesperrt sein, nachdem ihre Schwellspannungen eine Verifizierungsspannung VFY5 erreichen. Speicherzellen, die auf einen Programmierzustand P6 programmiert sind, können programmiergesperrt sein, nachdem ihre Schwellspannungen eine Verifizierungsspannung VFY6 erreichen. Speicherzellen, die auf den Programmzustand P7 programmiert sind, können programmiergesperrt sein, nachdem ihre Schwellspannung eine Verifizierungsspannung VFY7 erreicht.
  • Eine Kopplung kann auftreten, falls Speicherzellen von dem Löschzustand E1 auf die Programmierzustände P1 bis P7 programmiert werden. Um zu vermeiden, dass Schwellwertspannungen benachbarter Speicherzellen durch das Koppeln unbeabsichtigt geändert werden, programmieren bestimmte konventionelle NAND Flash Speicher nacheinander LSB, CSB und MSB Daten. In diesem Fall, können, da die Änderungen der Schwellspannungen erzeugt durch das einzelne Programmieren verringert werden, die Kopplungseffekte reduziert werden. Demgemäß kann die Änderung der Schwellspannungen benachbarter Speicherzellen reduziert werden.
  • Wie in 4 dargestellt, sind Speicherzellen auf gleicher Höhe in einem Speicherblock BLKa gemeinsam mit einer Wortleitung verbunden. Das heißt, eine Wortleitung wird geteilt. In diesem Fall, falls in Bezug auf eine erste Zeile von Zellstrings CS11 und CS12 ein Programmiervorgang durchgeführt wird, kann eine zweite Zeile an Zellstrings CS21 und CS22 durch die Programmierspannung und die Überschreitungsspannung eine Belastung erfahren. Vorausgesetzt mit der Struktur aus 4, wenn zuerst LSB und dann CSB und dann MSB nacheinander programmiert werden, erhöht sich die Anzahl der Programmierschritte (NOP), die die Zielspeicherzellen erfahren exponentiell, verglichen mit ähnlichen Programmierumständen in einem planaren NAND Flash Speicher.
  • Im Zusammenhang mit den Ausführungsformen des erfindungsgemäßen Konzepts, können LSB, CSB und MSB Daten gleichzeitig unter Verwendung des „gleichzeitige Programmierung”-Ansatzes programmiert werden. Das heißt, die Anzahl der Programmierschritte, die auf die Speicherzellen angewandt werden, können reduziert werden. Als Ergebnis können Ermüdungserscheinungen der Speicherzellen reduziert und die Zuverlässigkeit eines Speichersystems 100 verbessert werden.
  • Wie in 5 dargestellt, können die Informationsspeicherschichten 116 von leitfähigen Materialien CM2 bis CM7 welche als Wortleitungen WL1 bis WL6 und als Steuergate der Speicherzellen MC1 bis MC6 genutzt werden, umgeben sein. Die leitfähigen Materialien CM2 bis CM7 können als elektromagnetische Abschirmungen dienen. Obwohl die Schwellspannungen der Speicherzellen sich ändern, können die leitfähigen Materialien CM2 bis CM7, die als elektromagnetische Abschirmungen dienen, den Einfluss des Koppelns unterdrücken. Das heißt, wie in 9 dargestellt, obwohl die Schwellspannungen der Speicherzellen stark variieren, variieren die Schwellspannungen von benachbarten Speicherzellen nicht.
  • Das heißt, wie in 5 dargestellt, da die leitfähigen Materialien CM2 bis CM7 als elektromagnetische Abschirmungen, die die Informationsspeicherschichten 116 der Speicherzellen MC1 bis MC6 umgeben, verwendet werden können LSB, CSB und MSB gleichzeitig programmiert werden ohne eine Schwellwertabweichung aufgrund des Koppelns zu verursachen. In einer in den 4 und 5 dargestellten Struktur eines Speicherblocks BLKa, bei der LSB, CSB und MSB gleichzeitig programmiert werden, kann die Anzahl der Programmier (NOP) Schritte, die auf die Speicherzellen angewandt werden, reduziert werden. Das Speichersystem 1000 aus 1 mit verbesserter Zuverlässigkeit kann erreicht werden, indem die Programmierdaten unter Verwendung des Direktzugriffsspeichers 1200 als Puffer gespeichert werden und die Programmierung des dreidimensionalen nichtflüchtigen Speichers 1100 gemäß einer Multi-Seiteneinheit durchgeführt wird.
  • 11 zeigt ein Ablaufdiagramm, das ein Pufferprogrammierverfahren unter Verwendung eines Direktzugriffsspeichers 1200 aus 1 zusammenfasst wie es auf verschiedene Ausführungsformen des erfindungsgemäßen Konzepts angewandt werden kann. Bezugnehmend gemeinsam auf die 1, 3 und 11 werden Programmdaten empfangen (S310). Die Größe der empfangenen Programmdaten kann kleiner als eine definierte Gesamtdatengröße der vorhergegangen Diskussion sein. Die Programmdaten können durch den Controller 1300 von einer externen Vorrichtung EX bereitgestellt werden.
  • Die Programmdaten werden nun in den Direktzugriffsspeicher 1200 gespeichert (S320). Der Controller 1300 wird verwendet, um die Programmdaten in dem Direktzugriffsspeicher 1200 zu speichern.
  • Es wird nun ermittelt, ob die in dem Direktzugriffsspeicher 1200 aufgelaufenen Daten die gesamten Daten (z. B. alle Daten, die in die entlang der Zeilenrichtung angeordneten Speicherzellen zu programmieren sind) (S330). Beispielsweise falls eine Speicherzelle N-Bits speichert, wird erfasst ob alle der N-Bits, die in die entlang einer Zeilenrichtung angeordneten Speicherzellen zu programmieren sind, erhalten wurden. Der Controller 1300 kann verwendet werden, um zu vermitteln, ob die in dem Direktzugriffsspeicher 1200 angelaufenen Daten, den gesamten Daten entsprechen.
  • Falls die in dem Direktzugriffsspeicher 1200 aufgelaufenen Daten den gesamten Daten (z. B. Multi-Seitendaten) entsprechen (S330 = Ja), werden die Multi-Seitendaten, die in dem Direktzugriffsspeicher 1200 aufgelaufen sind dann in den Seitenpuffer 1130 des nichtflüchtigen Speichers 1100 geladen (S340). Danach werden die in den Seitenpuffer 1130 geladenen Multi-Seitendaten gleichzeitig in die Speicherzellen des dreidimensionalen nichtflüchtigen Speichers 1100 programmiert (S350).
  • Nachdem die in dem Direktzugriffsspeicher angehäuften Multi-Seitendaten in die Speicherzellen des dreidimensionalen nichtflüchtigen Speichers 1100 programmiert wurden, werden gemäß der beschriebenen Ausführungsformen die Daten routinemäßig von den Direktzugriffsspeicher 1100 gelöscht.
  • 12 zeigt ein Diagramm das eine Ausführungsform zeigt, in der das Speichersystem aus 1 einen Programmierbetrieb gemäß dem Programmierverfahren aus 11 durchführt. Bezugnehmend auf die 11 und 12 wird der Controller 1300 verwendet, um Programmdaten PD1, PD2 und PD3 wie sie von einer externen Vorrichtung EX empfangen wurden in dem Direktzugriffsspeicher zu speichern. Die Größe der empfangenen Programmdaten PD1, PD2 und PD3 kann geringer als die der „gesamten” Multi-Seitendaten sein. In bestimmten Ausführungsformen jedoch können die Programmdaten PD1, PD2 und PD3 LSB Daten, CSB Daten und MSB Daten entsprechen, die in Speicherzellen des dreidimensionalen nichtflüchtigen Speichers 1100 die entlang einer Zeilenrichtung angeordnet sind, gespeichert werden. Die LSB, CSB und MSB Daten PD1, PD2 und PD3 können unabhängig voneinander empfangen werden und müssen nicht zur gleichen Zeit empfangen werden.
  • Der Controller 1300 kann verwendet werden, um LSB, CSB und MSB Daten PD1, PD2 und PD3 die unabhängig voneinander empfangen wurden in dem Direktzugriffsspeicher 1200 zu speichern. Das heißt, der Controller 1300 kann verwendet werden, um von einer externen Vorrichtung EX in dem Direktzugriffsspeicher 1200 gespeichert zu werden, sodass alle der in dem Direktzugriffsspeicher 1200 angehäuften Daten einen definierten Satz an Multi-Seitendaten bildet.
  • Falls die MSB Daten PD3 in dem Direktzugriffsspeicher 1200 gespeichert werden, können die Daten PD1, PD2 und PD3, die in dem Direktzugriffsspeicher 1200 angehäuft sind, den Multi-Seitendaten entsprechen. Falls die Daten PD1, PD2 und PD3, die in dem Direktzugriffsspeicher 1200 angehäuft sind den Multi-Seitendaten entsprechen, kann der Controller 1300 die Daten PD1, PD2 und PD3, die in dem Direktzugriffsspeicher 1200 angehäuft sind, an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen.
  • Die Daten PD1, PD2 und PD3, die zu den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen wurden, können in den Seitenpuffer 1300 geladen werden. Danach kann der dreidimensionale nichtflüchtige Speicher 1100 die geladenen Daten PD1, PD2 und PD3 zur gleichen Zeit in Speicherzellen in einer Zeile laden.
  • In 12 wird ein Beispiel beschrieben, indem die von der externen Vorrichtung EX empfangenen Daten Einzelseitendaten sind. Von der externen Vorrichtung EX empfangene Daten müssen jedoch nicht auf Einzelseitendaten beschränkt sein. Falls die in den Direktzugriffsspeicher 1200 gespeicherten Daten Multi-Seitendaten entsprechen, kann der Controller 1300, die in dem Direktzugriffsspeicher 1200 akkumulierten Daten in den dreidimensionalen nichtflüchtigen Speicher 1100 programmieren unabhängig von der Größe der von der externen Vorrichtung EX empfangenen Daten.
  • 13 zeigt ein Diagramm, das eine andere Ausführungsform darstellt, in der ein Speichersystem aus 1 einen Programmierablauf gemäß dem Programmierverfahren aus 11 durchführt. Bezugnehmend auf die 11 und 13 werden LSB-Daten PD1 in einem Zufallzugriffsspeicher 1200 gespeichert. Während CSB-Daten PD2 in dem Direktzugriffspeicher 1200 gespeichert werden, werden die in dem Direktzugriffspeicher 1200 gespeicherten LSB-Daten PD1 in dem Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1100 geladen. Während MSB-Daten PD3 in dem Direktzugriffspeicher 1200 gespeichert werden, werden die CSB-Daten PD2 die in dem Direktzugriffspeicher 1200 gespeichert sind in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1100 geladen. Die in dem Direktzugriffspeicher 1200 gespeicherten MSB-Daten PD3 werden in dem Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speicher 1200 geladen. Danach werden die in dem Seitenpuffer 1130 geladenen Daten LSB, CSB, MSB, PD1, PD2 und PD3 gleichzeitig in die Speicherzellen (z. B. Speicherzellen, die entlang der Pfeilrichtung eines Speicherzellenarrays 1110 angeordnet sind) des dreidimensionalen nichtflüchtigen Speichers 1100 programmiert.
  • Während Seitendaten in den Direktzugriffsspeicher 1200 gespeichert werden, können Seitendaten, die in dem Direktzugriffsspeicher 1200 gespeichert sind, in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1100 geladen werden. In bestimmten Ausführungsformen wird die Zeitdauer während der die Seitendaten PD1, PD2 und PD3 in den Direktzugriffsspeicher 1200 gespeichert sind und die Zeitdauer während der die Seitendaten in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1100 von dem Direktzugriffsspeicher 1200 geladen werden überlappen. Das heißt, es ist möglich die benötigte Gesamtzeit, die notwendig ist, um die Daten in den Seitenpuffer 1130 des dreidimensionalen nicht flüchtigen Speichers 1100 zu laden, zu reduzieren.
  • 14 zeigt ein Flussdiagramm, das eine andere Ausführungsform in der ein Pufferprogrammierverfahren welches dem Direktzugriffsspeicher aus 1 in Bezug auf einen dreidimensionalen nichtflüchtigen Speicher verwendet zusammengefasst. Bezugnehmend auf die 1, 3 und 14 werden Programmdaten empfangen (S410). Die Größe der empfangenen Programmdaten, kann kleiner oder gleich der Größe der entsprechenden gesamten Daten sein. Es wird wieder angenommen, dass die „gesamten Daten” die Daten sind, die in einem entlang einer Zeilenrichtung angeordneten Satz an Speicherzellen zu programmieren ist. Wie oben, können die Programmdaten von einer externen Vorrichtung EX im Controller 1300 bereitgestellt werden.
  • Es wird ermittelt, ob die empfangenen Programmdaten zusammen mit den in dem Direktzugriffsspeicher 1200 angehäuften Daten die gesamten Daten (z. B. ob die empfangenen Programmdaten und die in dem Direktzugriffsspeicher 1200 angehäuften Daten einem definierten Satz an Multi-Seitendaten entsprechen) (S420). Hier wird angenommen, dass eine Speicherzelle geeignet ist um N-Bits zu speichern. Das heißt, falls (N – 1) Bits in jede der in Zeilenrichtung angeordneten Speicherzellen, die in dem Direktzugriffsspeicher 1200 angehäuft sind, programmiert werden sollen und ein Ntes-Bit empfangen wird, wird die Erfassung als gesamte Daten (S420 = Ja) positiv erfasst.
  • Zur Wiederholung, der Controller 1300 wird verwendet, um zu erfassen, ob die gesamten Daten vorhanden sind, inklusive der in dem Direktzugriffsspeicher 1200 akkumulierten Daten und den von der externen Vorrichtung EX empfangenen Programmdaten.
  • Falls die in dem Zugangszugriffsspeicher 1200 angehäuften Daten und die von der externen Vorrichtung EX empfangenen Programmdaten nicht den gesamten Daten (z. B. dass die Daten nicht den definierten Multi-Seitendaten entsprechen) entsprechen (S420 = Nein), dann werden die Programmdaten lediglich in dem Direktzugriffsspeicher 1200 (S430) gespeichert. Der Controller 1300 kann verwendet werden, um die Programmdaten in dem Direktzugriffsspeicher 1200 zu speichern.
  • Falls jedoch die in dem Direktzugriffsspeicher 1200 akkumulierten Daten und die von der externen Vorrichtung EX empfangenen Programmdaten den Multi-Seitendaten entsprechen (S420 = Ja), werden die in dem Direktzugriffsspeicher 1200 angehäuften Daten in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1100 geladen (S440). Und die empfangenen Programmdaten werden in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1100 geladen (S450). Der Controller 1300 kann verwendet werden, um die in dem Direktzugriffsspeicher 1200 angehäuften Daten oder die empfangenen Programmdaten zu dem dreidimensionalen nichtflüchtigen Speicher 1100 zu übertragen. In diesem Fall werden Multi-Seitendaten in den Seitenpuffer 1130 geladen.
  • Die in den Seitenpuffer 1130 geladenen Multi-Seitendaten können gleichzeitig in die in Zeilenrichtung angeordneten Speicherzellen des Speicherzellarrays 1110 des dreidimensionalen nichtflüchtigen Speichers 1100 programmiert werden.
  • 15 zeigt ein Diagramm, das eine Ausführungsform darstellt, in welcher das Speichersystem aus 1 einen Programmiervorgang gemäß dem Programmierverfahren aus 14 geführt. Bezugnehmend auf die 14 und 15 können LSB-Seitendaten PD1 und CSB-Seitendaten PD2 zusammen oder unabhängig voneinander dem Controller 1300 von einer externen Vorrichtung EX bereitgestellt werden. Die LSB-Seitendaten PD1 und CSB-Seitendaten PD2, können dem Controller 1300 unabhängig von der externen Vorrichtung EX bereitgestellt werden.
  • Wenn LSB-Seitendaten PD1 empfangen werden, können die Eingangsdaten und die in dem Direktzugriffsspeicher 1200 angehäuften Daten nicht den Multi-Seitendaten entsprechen. Der Controller 1300 kann daher die LSB-Seitendaten PD1 in dem Direktzugriffsspeicher 1200 speichern.
  • Wenn CSB-Seitendaten PD2 empfangen werden, können die Eingangsdaten und die in dem Direktzugriffsspeicher 1200 angehäuften Daten nicht den Multi-Seitendaten entsprechen. Der Controller 1300 kann daher die CSB-Seitendaten PD2 in dem Direktzugriffsspeicher 1200 speichern.
  • Wenn MSB-Seitendaten PD3 empfangen werden, können die Eingangsdaten und die in dem Direktzugriffsspeicher 1200 angehäuften Daten den Multi-Seitendaten entsprechen. Das heißt, der Controller 1300 kann die LSB- und CSB-Seitendaten PD1 und PD2, die in dem Direktzugriffsspeicher 1200 angehäuft sind, an einen dreidimensionalen nichtflüchtigen Speicher 1110 übertragen. Auch kann der Controller 1300 die MSB-Seitendaten PD3, die von der externen Vorrichtung EX eingegeben wurden, direkt an den dreidimensionalen nichtflüchtigen Speicher 1110 übertragen ohne durch den Direktzugriffsspeicher 1200 zu gehen.
  • Der dreidimensionale nicht flüchtige Speicher 1100 kann die Eingangsmultiseitendaten PD1, PD2 und PD3 in einen Seitenpuffer 1130 laden. Die in den Seitenpuffer 1130 geladenen Multi-Seitendaten PD1, PD2 und PD3, können gleichzeitig in entlang einer Zeilenrichtung angeordnete Speicherzellen des Speicherzellenarrays 10 programmiert werden.
  • 16 zeigt ein Diagramm, das eine andere Ausführungsform darstellt, in dem das Speichersystem aus 1 einen Programmiervorgang gemäß dem Programmierverfahren aus 14 durchführt. Bezugnehmend auf die 14 und 16 werden LSB-Seitendaten PD1 und CSB-Seitendaten PD2 in einer externen Vorrichtung EX unabhängig einem Controller 1300 zur Verfügung gestellt. CSB-Seitendaten PD2 und MSB-Seitendaten PD3, können in dem Controller 1300 auch zusammen von einer externen Vorrichtung bereitgestellt werden.
  • Wenn LSB-Seitendaten PD1 empfangen werden, können die Eingangsdaten und die in dem Direktzugriffsspeicher 1200 angehäuften Daten, den Multi-Seitendaten nicht entsprechen. In dem Fall speichert der Controller 1300 die LSB-Seitendaten PD1 in dem Direktzugriffsspeicher 1200.
  • Wenn die CSB-Seitendaten PD2 und MSB-Seitendaten PD3 empfangen werden, können die Eingangsdaten, die in dem Direktzugriffsspeicher 1200 angehäuften Daten, den Multi-Seitendaten entsprechen. In dem Fall beträgt der Controller 1300 die LSB-Seitendaten PD1, die in dem Direktzugriffsspeicher 1200 angehäuft sind, an einem dreidimensionalen nichtflüchtigen Speicher 1110. Der Controller 1300 kann die CSB-Seitendaten PD2 und MSB-Seitendaten PD3, die von der externen Vorrichtung EX eingegeben wurden, auch direkt an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen, ohne durch den Direktzugriffsspeicher 1200 zu gehen.
  • Der dreidimensionale nichtflüchtige Speicher 1300 kann die Multi-Seitendaten PD1, PD2 und PD3 in einen Seitenpuffer 1130 laden. Die Multi-Seitendaten PD1, PD2 und PD3, die in den Seitenpuffer 1130 geladen wurden, können gleichzeitig in die entlang einer Zeichenrichtung angeordneten Speicherzellen eines Speicherzellarrays 1110 programmiert werden.
  • Übereinstimmend in den 14, 15 und 16 beschriebenen Ausführungsformen ist der Direktzugriffsspeicher 1200 geeignet, um einen Teil der gesamten Daten (z. B. einen Teil der definierten Multi-Seitendaten) zu speichern. Das heißt, es ist möglich, die Speicherkapazität (oder Größe) des Direktzugriffsspeichers 1200, der dem Speichersystem 1000 aus 1 bereitgestellt sein muss, zu reduzieren.
  • 17 zeigt ein Ablaufdiagramm, das eine andere Ausführungsform eines Pufferprogrammierverfahren unter Verwendung des Direktzugriffsspeichers aus 1 zeigt. Bezugnehmend auf die 1, 3 und 17, werden Programmdaten empfangen (S510). Wie oben muss die Größe der empfangenen Programmdaten kleiner oder gleich der gesamten Daten sein, um in die entlang einer Zeilenrichtung angeordneten Speicherzellen programmiert werden zu können.
  • Wenigstens einmal wird erfasst, ob die empfangenen Programmdaten einen bestimmten Teil der definierten Multi-Seitendaten entspricht. In dem in 17 dargestellten Beispiel, zum Beispiel wird erfasst, ob die empfangenen Daten den LSB-Seitendaten entsprechen (S520), und dann wird erfasst, ob die empfangenen Daten den MSB-Seitendaten entsprechen (S530). Falls die empfangenen Programmdaten den LSB-Seitendaten entsprechen (S520 = Ja), werden die Programmdaten direkt in den Seitenpuffer 1230 des dreidimensionalen nichtflüchtigen Speichers 1100 geladen, ohne durch den Direktzugriffsspeicher 1200 zu den (S521). Dann werden die in den Seitenpuffer 1130 geladenen LSB-Seitendaten für die entlang einer Zeilenrichtung angeordneten Speicherzellen programmiert (S520).
  • Wenn die empfangenen Programmdaten nicht den LSB-Seitendaten entsprechen (S520 = Nein), dann wird erfasst, ob die empfangenen Daten den MSB-Seitendaten entsprechen (S530). Falls die empfangenen Programmdaten nicht den entsprechenden MSB-Seitendaten entsprechen (S530 = Nein), dann werden, falls die eingegebenen Programmdaten den CSB-Seitendaten entsprechen, die CSB-Seitendaten derart in den Direktzugriffsspeicher 1200 gespeichert (S531).
  • Wenn jedoch die empfangenen Programmdaten den MSB-Seitendaten entsprechen (S530 = Ja), werden die in dem Direktzugriffsspeicher 1200 akkumulierten Daten direkt in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers geladen (S540) und die empfangenen Programmdaten werden in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1300 geladen (S550). Die Controller 1300 kann daher verwendet werden, um die in den Direktzugriffsspeichers 1200 angehäuften CSB-Daten und die von der externen Vorrichtung EX empfangen MSB-Seitendaten zu den dreidimensionalen nichtflüchtigen Speicher 1300 zu übertragen. Der dreidimensionale nichtflüchtige Speicher 1300 kann die CSB- und MSB-Seitendaten in den Seitenpuffer 1130 laden.
  • Dann können die in den Seitenpuffer 1130 geladenen CSB- und MSB-Seitendaten die entlang einer Zeilenrichtung angeordneten Speicherzellen gleichzeitig programmiert werden (S560).
  • 18 zeigt ein Diagramm, das ein Beispiel darstellt, in dem das Speichersystem aus 1 einen Programmiervorgang gemäß einem in 17 gezeigten Programmierverfahren duldet. Bezugnehmend auf die 17 und 18 werden MSB-Seitendaten PD1, CSB-Seitendaten, PD2 und MSB-Seitendaten PD3 einem Controller 1300 von einer externen Vorrichtung und EX unabhängig zur Verfügung gestellt.
  • Wenn die LSB-Seitendaten empfangen werden, kann der Controller 1300 die eingegebenen LSB-Seitendaten direkt in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1300 laden, ohne durch den Direktzugriffsspeicher 1200 hindurch zu gehen. Die in den Seitenpuffer 1130 geladenen LSB-Seitendaten PD1 können in die entlang einer Zeilenrichtung angeordneten Speicherzellen programmiert werden.
  • Wenn CSB-Seitendaten PD2 empfangen werden, speichert der Controller 1300 in die eingegebenen CSB-Seitendaten in dem Direktzugriffsspeicher 1200.
  • Wenn MSB-Seitendaten PD3 empfangen werden, überträgt der Controller 1300 die in dem Direktzugriffsspeicher 1200 angehäuften CSB-Seitendaten PD2 zu dem dreidimensionalen nichtflüchtigen Speicher 1100. Der Controller 1200 kann die MSB-Seitendaten PD3 von der externen Vorrichtung EX auch direkt in dem dreidimensionalen nichtflüchtigen Speicher 1100 übertragen, ohne durch den Direktzugriffsspeicher 1200 hindurch zu treten. Der dreidimensionale nichtflüchtige Speicher 1100 kann die CSB- und MSB-Seitendaten in den Seitenpuffer 1130 anpumpen. Die in den Seitenpuffer 1130 geladenen CSB- und MSB-Seitendaten PD2 und PD3 können gleichzeitig in die entlang einer Zeilenrichtung angeordneten Speicherzellen eines Speicherzellenarrays 1110 gleichzeitig programmiert werden.
  • In den dargestellten Ausführungsformen können Einzel-Seitendaten der Multi-Seitendaten in dem Direktzugriffsspeicher 1200 gespeichert werden. Es ist dadurch möglich, die Speicherkapazität (oder Größe) des Direktzugriffsspeichers 1200 zu verringern.
  • In den dargestellten Ausführungsformen können die Programmdaten ein Teil der Einzel-Seitendaten sein und müssen nicht den gesamten Einzel-Seitendaten entsprechen. In diesem Fall kann der Controller 1300 verwendet werden, um den empfangenen Teil der Einzel-Seitendaten zu speichern bis die gesamten Einzel-Seitendaten empfangen wurden.
  • Zum Beispiel, wenn ein erster Teil der LSB-Daten empfangen wurde, kann der Controller 1300 verwendet werden, um den Teil der LSB-Daten in dem Zufallzugriffsspeicher 1200 zu speichern. Danach, falls die empfangenen Programmdaten und in die in dem Direktzugriffsspeicher 1200 akkumulierten Daten den LSB-Seitendatendaten entsprechen, kann der Controller 1300 die Programmdaten und die in dem Direktzugriffsspeicher 1200 angehäuften Daten in den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. Die empfangenen Programmdaten können direkt in den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen werden, ohne durch den Direktzugriffsspeicher 1200 hindurch zu gehen. Der Empfang der CSB-Seitendaten und der MSB-Seitendaten können gleichzeitig behandelt werden.
  • 19 zeigt ein Flussdiagramm, das eine andere Ausführungsform des Pufferprogrammierens unter Verwendung des Direktzugriffsspeichers aus 1 zusammenfasst. Bezugnehmend auf die 1, 3 und 19 werden Programmdaten empfangen (S610). Wie vorher kann die Größe der empfangenen Daten kleiner oder gleich der gesamten Daten sein, die entlang der Zeilenrichtung angeordneten Speicherzellen zu programmieren sind.
  • Es wird erfasst, ob die empfangenen Programmdaten zusammen mit dem Direktzugriffsspeicher akkumulierten Daten (kollektive Daten) einem ersten Teil der Multi-Seitendaten entsprechen (S620). Der Controller 1300 kann verwendet werden, um zu erfassen, ob die kollektiven Programmdaten einen ersten Teil der Multi-Seitendaten entsprechen. Beispielsweise kann der Controller 1300 erfassen, ob die kollektiven Programmdaten den LSB-Seitendaten entsprechen oder ob die kollektiven Programmdaten den LSB-Seitendaten und CSB-Seitendaten entsprechen.
  • Falls die kollektiven Programmdaten einen ersten Teil der Multi-Seitendaten (S620 = Ja) entsprechen, werden sie in dem Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1100 geladen (S630). In der in 19 dargestellten Ausführungsform können die kollektiven Programmdaten in den Seitenpuffer 1130 geladen werden, ohne durch den Direktzugriffsspeicher 1200 hindurch zu gehen. Die in den Seitenpuffer 1130 geladenen kollektiven Daten können in die Speicherzellen der entlang einer Zeilenrichtung angeordneten Speicherzellen des Speicherzellenarrays 1110 programmiert werden (S640).
  • Wenn jedoch die Kollektivprogrammdaten nicht dem ersten Teil der Multi-Seitendaten entsprechen (S620 = Nein), dann wird erfasst, ob die kollektiven Programmdaten einem zweiten Teil der Multi-Seitendaten entsprechen (S650). Der Controller 1300 wird wieder verwendet, um zu erfassen, ob die kollektiven Programmdaten den CSB-Seitendaten oder den MSB-Seitendaten entsprechen.
  • Falls die kollektiven Programmdaten den zweiten Teil der Multi-Seitendaten entsprechen (S650 = Ja), dann werden unter Verwendung der oben beschriebenen Schritte S630 und S640 der zweite Teil der Multi-Seitendaten gleichzeitig in die Speicherzellen des dreidimensionalen nichtflüchtigen Speichers 1100 programmiert.
  • Wenn jedoch die kollektiven Programmdaten nicht den zweiten Teil der Multi-Seitendaten entsprechen (S650 = Nein), dann werden die kollektiven Programmdaten in dem Direktzugriffsspeicher 1200 gespeichert (S660).
  • 20 zeigt ein Diagramm, das ein Beispiel darstellt, in dem das Speichersystem aus 1 einen Programmablauf gemäß dem in 19 gezeigten Programmierverfahren durchführt. Bezugnehmend auf die 19 und 20 kann ein erster Teil der Multi-Seitendaten LSB-Seitendaten PD1 und CSB-Seitendaten PD2 sein, und ein zweiter Teil davon können MSB-Seitendaten PD3 sein.
  • LSB-Seitendaten PD1 und CSB-Seitendaten PD2 können nacheinander in einen Direktzugriffsspeicher 1200 geladen werden. Die LSB-Seitendaten PD1 und die CSB-Seitendaten PD2, die in dem Direktzugriffsspeicher 1200 gespeichert sind, können in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1300 geladen werden, im in die entlang einer Zeilenrichtung angeordneten Speicherzellen eines Speicherzellarrays 1110 gleichzeitig programmiert zu werden.
  • Danach können MSB-Seitendaten PD3 in den Direktzugriffsspeicher 1200 gespeichert werden. Die in dem Direktzugriffsspeicher 1200 gespeicherten MSB-Seitendaten PD3 können in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen 1300 geladen werden, um in die entlang einer Zeilenrichtung angeordneten Speicherzellen des Speicherzellarrays 1110 gleichzeitig programmiert zu werden. Die MSB-Seitendaten PD3 können in die gleichen Speicherzellen programmiert werden, wie die, in die die LSB- und CSB-Seitendaten PD1 und PD2 programmiert sind.
  • 21 zeigt ein Diagramm, das ein weiteres Beispiel darstellt, in dem ein Speichersystem aus 1 einen Programmierablauf gemäß der in 19 gezeigten Programmiermethode durchführt. Bezugnehmend auf die 19 und 21 kann ein erster Teil der Multi-Seitendaten LSB-Seitendaten PD1 sein und zweiter Teil davon können CSB-Seitendaten PD2 und MSB-Seitendaten PD3 sein.
  • LSB-Seitendaten PD1 können in dem Direktzugriffsspeicher 1200 gespeichert werden. Die in dem Direktzugriffsspeicher 1200 gespeicherten LSB-Seitendaten PD1 können in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1300 geladen werden, um in die entlang einer Zeilenrichtung angeordneten Speicherzellen eines Speicherzellarrays 1110 programmiert zu werden.
  • Danach können CSB-Seitendaten PD2 und MSB-Seitendaten PD3 in dem Direktzugriffsspeicher 1200 gespeichert werden. Die CSB-Seitendaten und MSB-Seitendaten PD3, die in dem Direktzugriffsspeicher 1200 gespeichert sind, können in den Seitenpuffer 1130 des dreidimensionalen nichtflüchtigen Speichers 1300 geladen werden, um in die entlang einer Zeilenrichtung angeordneten Speicherzellen eines Speicherzellarrays 1110 gleichzeitig programmiert zu werden. Die CSB-Seitendaten PD2 und MSB-Seitendaten PD3 können die gleichen Speicherzellen, wie die, in denen die LSB-Seitendaten PD1 programmiert sind, programmiert werden.
  • Wenn eine Speicherzelle N-Bitdaten speichert, d. h. wenn eine Multi-Seite N separate Datenseiten enthält, kann jede Seite der einzelnen Multi-Seiten geteilt und programmiert werden. Zum Beispiel können einzelne Seiten eines ersten Teils einer Multi-Seite in Zeilenrichtung angeordneten Speicherzellen, die gleichzeitig programmiert werden und einzelne Seiten eines zweiten Teils der Multi-Seite kann außerdem die in Zeilenrichtung angeordnete Speicherzellen gleichzeitig programmiert werden. Gemäß der vorgehend dargestellten Ausführungsformen kann die Speicherkapazität (oder Größe) des Direktzugriffsspeichers 1200 verringert werden. Das heißt, ein Ausgleich zwischen der Anzahl der Programmierschritte, die die Speicherzellen eines dreidimensionalen nichtflüchtigen Speichers 1100 erfahren und die Speicherkapazität des Direktzugriffsspeichers 1200 können ausgewertet und durchgeführt werden.
  • 22 ist ein Blockdiagramm das eine der Seitenpuffereinheiten aus 3 darstellt. Bezugnehmend auf 22 kann eine Seitenpuffereinheit PU ein Cache-Latch 1131, ein LSB-Latch 1133, ein CSB-Latch 1135, und ein MSB-Latch 1137, und ein Sense-Latch 1139 enthalten.
  • Das Cache-Latch 1131 kann mit dem Controller 1300 Daten austauschen. Das Cache-Latch 1131 reagiert auf Dump-Signale Dump1, Dump2 und Dump3, die von der Steuerlogik 1140 bereitgestellt werden.
  • Während des Programmierens, kann das Cache-Latch 1131 Daten von dem Controller 1300 empfangen. Wenn das Dump-Signal Dump1 aktiviert wird überträgt das Cache-Latch 1131 gespeicherte Daten zu dem LSB-Latch 1133. Wenn das Dump-Signal Dump2 aktiviert wird überträgt das Cache-Latch 1131 gespeicherte Daten zu dem CSB-Latch 1135.
  • Wenn das Dump-Signal Dump3 aktiviert ist überträgt das Cache-Latch 1131 gespeicherte Daten zu dem MSB-Latch 1137. Beispielsweise können LSB-Seitendaten in das LSB-Latch 1133 geladen werden, CSB-Seitendaten können auf das CSB-Latch 1135 geladen werden und MSB-Seitendaten können auf das MSB-Latch 1137 geladen werden.
  • Das Sense-Latch 1139 kann mit einer Bitleitung verbunden sein. Während des Programmierens kann das Sense-Latch 1139 die Bitleitung BL entsprechend der in dem LSB-, CSB- und MSB-Latch es 1133, 1135 und 1137 gespeicherten Daten unter Spannung setzen. Während der Programmierverifizierung kann das Sense-Latch 1139 die Spannung der Bitleitung BL erfassen. Beispielsweise kann das Sense-Latch 1139 das Erfassungsergebnis entsprechend der in dem LSB-, CSB- und MSB-Latch 1133, 1135 und 1137 gespeicherten Daten anpassen.
  • 23 zeigt ein Taktdiagramm das ein Beispiel an Signalen darstellt, die von einem Controller während des Programmierens an einen dreidimensionalen flüchtigen Speicher übertragen werden. Bezugnehmend auf die 1, 22 und 23 überträgt ein Controller 1300 während eines ersten Zyklus C1 einen Programmbefehl 80 h zu einem dreidimensionalen nichtflüchtigen Speicher 1100.
  • Während eines zweiten Zyklus C2, sendet der Controller 1300 eine Adresse ADDR zu dem dreidimensionalen nichtflüchtigen Speicher 1100. Die Adresse ADDR kann entlang einer Zeilenrichtung angeordnete Speicherzellen des dreidimensionalen nichtflüchtigen Speichers 1100 bezeichnen.
  • Während eines dritten Zyklus C3, stellt der Controller 1300 LSB-Seitendaten PD1 einem dreidimensionalen nichtflüchtigen Speicher 1100 zur Verfügung. Die LSB-Seitendaten PD1 können von einer externen Vorrichtung EX bereitgestellte Daten sein oder Daten, die in dem Direktzugriffsspeicher 1200 gespeichert sind. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen LSB-Seitendaten PD1 in einem Cache-Latch 1131 speichern. Während eines vierten Zyklus C4 kann der Controller 1300 einen Dump-Befehl Dump dem dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. Der Dump-Befehl CMD kann Informationen darüber enthalten, dass die übertragenen Daten LSD Seitendaten PD1 sind. Der Dump-Befehl kann zusammen mit einer Adresse übertragen werden, die anzeigt, dass die übertragenen Daten LSB-Seitendaten PD1 sind. In Reaktion auf den Dump-Befehl CMD kann der dreidimensionale nichtflüchtige Speicher 500, die in dem Cache-Latch 1131 gespeicherten LSB-Seitendaten PD1 in einen LSB 1131 enthalten.
  • Während eines fünften Zyklus C5, kann der Controller 1300 CSB-Seitendaten PD2 zu einem dreidimensionalen nichtflüchtigen Speicher 1100 senden. Die CSB-Seitendaten PD2 können Daten entsprechen, die von einer externen Vorrichtung EX empfangen wurden oder aber Daten, die von dem Direktzugriffsspeicher 1200 übertragen wurden. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen CSB-Seitendaten PD2 in dem Cache-Latch 1131 speichern.
  • Während eines sechsten Zyklus C6, kann der Controller 1300 einen Dump-Befehl Dump zu dem dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. Der Dump-Befehl Dump kann Informationen darüber enthalten, dass die übertragenen Daten CSB-Seitendaten PD2 sind. Der Dump-Befehl Dump kann zusammen mit einer Adresse die anzeigt, dass die übertragenen Daten CSB Daten PD2 sind übertragen werden. In Reaktion auf den Dump-Befehl CMD kann der dreidimensionale nichtflüchtige Speicher 1100 die CSB-Seitendaten PD2, die in dem Cache-Latch 1131 gespeichert sind in ein CSB-Latch 1135 laden.
  • Während eines siebten Zyklus C7, kann der Controller 1300 MSB-Seitendaten PD3 zu dem dreidimensionalen nichtflüchtigen Speicher 1100 senden. Die MSB-Seitendaten PD3 können Daten sein, die von einer externen Vorrichtung EX empfangen wurden oder Daten, die von den Direktzugriffsspeicher 1200 übertragen wurden. Der dreidimensionale nichtflüchtige Speicher 1100 kann die MSB-Seitendaten PD2 im Cache-Latch 1131 speichern.
  • Während eines achten Zyklus C8, kann der Controller 1300 einen Dump-Befehl Dump an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. Der Dump-Befehl Dump kann Informationen darüber beinhalten, dass die übertragenen Daten MSB-Seitendaten PD3 sind. Der Dump-Befehl Dump kann zusammen mit einer Adresse übertragen werden, die anzeigt, dass die übertragenen Daten MSB-Seitendaten PD3 sind. In Reaktion auf den Dump-Befehl CMD, kann der dreidimensionale nichtflüchtige Speicher 1100 die in dem Cache-Latch 1131 gespeicherten MSB-Seitendaten PD3 auf ein MSB-Latch 1137 laden.
  • Während eines neuen Zyklus C9, kann der Controller 1300 einen Bestätigungsbefehl 10 h an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. In Reaktion zu dem Bestätigungsbefehl 10 h kann der dreidimensionale nichtflüchtige Speicher 1100 die jeweils in dem LSB-Latch 1133, dem CSB-Latch 1135 und dem MSB-Latch 1137 gespeicherten LSB-Seitendaten PD1, CSB-Seitendaten PD2 und MSB-Seitendaten PD3 in Zeilenrichtung angeordneten Speicherzellen gleichzeitig programmieren.
  • 24 zeigt eine Tabelle, die ein Programmadressierungsschema eines dreidimensionalen nichtflüchtigen Speichers, wie durch die Programmabfolge in 23 definiert, zeigt. Bezugnehmend auf 24 kann eine Adresse den entlang einer Zeilenrichtung angeordneten Speicherzellen zugewiesen werden. Das heißt, die in entlang einer Zeilenrichtung angeordneten Speicherzellen zu programmierenden LSB-Seitendaten PD1, CSB-Seitendaten PD2 und MSB-Seitendaten PD3 können entsprechend der gleichen Adresse programmiert werden. Jedoch müssen während eines Lesevorgangs in entlang einer Zeilenrichtung angeordneten Speicherzellen gespeicherten LSB-Seitendaten PD1, CSB-Seitendaten PD2 und MSB-Seitendaten PD3 entsprechend der verschiedenen Adressen ausgelesen werden. Das heißt, während dem Programmieren muss ein Adressschema verwendet werden, das von dem Adressschema während des Lesens verschieden ist.
  • Bezugnehmend auf die 23 und 24 kann eine Programmabfolge als ein entsprechendes Adressierungsschema verstanden werden und kann auf Ausführungsformen in denen LSB-Seitendaten PD1, CSB-Seitendaten PD2 und MSB-Seitendaten PD3 gleichzeitig programmiert werden, angewandt werden.
  • 25 zeigt ein Taktdiagramm eines anderen Beispiels von Signalen, die von einem Controller während des Programmierens zu einem dreidimensionalen nichtflüchtigen Speicher übertragen werden. Bezugnehmend auf die 1, 22 und 25 kann während eines ersten Zyklus C1 ein Controller 1300 einen Programmbefehl 80 h zu einem dreidimensionalen nichtflüchtigen Speicher 1100 übertragen.
  • Während eines zweiten Zyklus C2, kann der Controller 1300 eine erste Adresse ADDR1 zu dem dreidimensionalen nichtflüchtigen Speicher 1300 übertragen. Die erste Adresse ADDR1, kann LSB-Seitendaten und CSB-Seitendaten von entlang einer Zeilenrichtung angeordneten Speicherzellen eines dreidimensionalen nichtflüchtigen Speichers 1100 bezeichnen.
  • Während eines dritten Zyklus C3, kann der Controller 1300 LSB-Seitendaten PD1 dem dreidimensionalen nichtflüchtigen Speicher bereitstellen. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen LSB-Seitendaten PD1 in einem Cache-Latch 1131 speichern.
  • Während eines vierten Zyklus C4, kann der Controller 1300 einen Dump-Befehl Dump zu den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In Reaktion auf den Dump-Befehl CMD, kann der dreidimensionale nichtflüchtige Speicher 1100 in dem Cache-Latch 1131 gespeicherte LSB-Seitendaten PD1 in ein LSB-Latch 1133 laden.
  • Während eines fünften Zyklus C5, kann der Controller 1300 CSB-Seitendaten PD2 an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen CSB-Seitendaten PD2 in dem Cache-Latch 1131 speichern.
  • Während eines sechsten Zyklus C6, kann der Controller 1300 einen Dump-Befehl Dump zu dem dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In Reaktion auf den Dump-Befehl CMD, kann der dreidimensionale nichtflüchtige Speicher 1100 die in dem Cache-Latch 1131 gespeicherten CSB-Seitendaten PD2 in ein CSB-Latch 1135 speichern.
  • Während eines siebten Zyklus C7, kann der Controller 1300 einen Bestätigungsbefehl 10 h an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. In Reaktion auf den Bestätigungsbefehl 10 h kann der dreidimensionale nichtflüchtige Speicher 1100 die LSB-Seitendaten PD1 und die CSB-Seitendaten PD2 in entlang einer Zeilenrichtung angeordneten Speicherzellen gleichzeitig programmieren.
  • Während eines achten Zyklus C8, kann der Controller 1300 einen Programmierbefehl 80 h an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In beispielhaften Ausführungsformen, kann der Controller 1300 und der dreidimensionale nichtflüchtige Speicher 1100 eine Vielzahl an Vorgängen zwischen den Zyklen C7 und C8 durchführen. Unter der Steuerung des Controllers 1300 kann der dreidimensionale nichtflüchtige Speicher 1100 einen Eingangslesevorgang durchführen, in dem LSB-Seitendaten PD1, CSB-Seitendaten PD2 und von den entlang einer Zeilenrichtung angeordneten Speicherzellen liest und die gelesenen LSB-Seitendaten PD1 und CSB-Seitendaten PD2 in einem LSB-Latch 1133 und einem CSB-Latch 1135 entsprechend speichert.
  • Während eines neunten Zyklus C9, kann der Controller 1300 eine zweite Adresse ADDR2 an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. Die zweite Adresse ADDR2, kann MSB-Seitendaten der entlang einer Zeilenrichtung angeordneten Speicherzellen des dreidimensionalen nichtflüchtigen Speichers 1100 bezeichnen.
  • Während eines zehnten Zyklus C10, stellt der Controller 1300 MSB-Seitendaten PD3 dem dreidimensionalen nichtflüchtigen Speicher 1100 zur Verfügung. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen MSB-Seitendaten PD3 in dem Cache-Latch 1131 speichern.
  • Während eines elften Zyklus C11, kann der Controller 1300 einen Dump-Befehl Dump an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In Reaktion auf den Dump-Befehl CMD, kann der dreidimensionale nichtflüchtige Speicher 1100 die in dem Cache-Latch 1131 gespeicherten MSB-Seitendaten PD2 in ein MSB-Latch 1137 laden.
  • Während eines zwölften Zyklus C12, kann der Controller 1300 einen Bestätigungsbefehl 10 h an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. In Reaktion auf den Bestätigungsbefehl 10 h, kann der dreidimensionale nichtflüchtige Speicher 1100 außerdem die MSB-Seitendaten PD3 in Speicherzellen programmieren, in denen die LSB-Seitendaten PD1 und die CSB-Seitendaten PD2 programmiert sind.
  • 26 zeigt eine Tabelle, die ein anderes Programmadressschema eines dreidimensionalen nichtflüchtigen Speichers entsprechend der Programmsequenz aus 25 darstellt. Bezugnehmend auf 26 können zwei Adressen den entlang einer Zeilenrichtung angeordneten Speicherzellen zugewiesen werden. Das heißt, LSB-Seitendaten PD1 und CSB-Seitendaten PD2 die in entlang der Zeilenrichtung angeordnete Speicherzellen zu programmieren sind können entsprechend einer Adresse, und MSB-Seitendaten PD3 können entsprechend der anderen Adresse programmiert werden.
  • Die in Bezug auf die 25 und 26 beschriebene Programmsequenz und Adressschema kann auf Ausführungsformen angewandt werden, in denen die LSB-Seitendaten PD1 und CSB-Seitendaten PD2 gleichzeitig programmiert werden und die MSB-Seitendaten PD3 außerdem programmiert werden.
  • 27 zeigt ein Taktdiagramm eines anderen Beispiels von Signalen die auf den dreidimensionalen nichtflüchtigen Speicher von dem Controller während des Programmierens übertragen werden. Bezugnehmend auf die 1, 22 und 27 überträgt ein Controller 1300 während eines ersten Zyklus C1 einen Programmbefehl 80 h an den dreidimensionalen nichtflüchtigen Speicher 1100.
  • Während eines zweiten Zyklus C2, sendet der Controller 1300 eine erste Adresse ADDR1 an den dreidimensionalen nichtflüchtigen Speicher 1100. Die erste Adresse ADDR1, kann eine LSB-Seite bezeichnen.
  • Während eines dritten Zyklus C3, kann der Controller 1300 den dreidimensionalen nichtflüchtigen Speicher 1100 LSB-Seitendaten PD1 zur Verfügung stellen. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen LSB-Seitendaten PD1 in einem Cache-Latch 1131 speichern.
  • Während eines vierten Zyklus C4, kann der Controller 1300 einen Dump-Befehl Dump an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In Reaktion auf den Dump-Befehl CMD kann der dreidimensionale nichtflüchtige Speicher 1100 die LSB-Seitendaten PD3, die in dem Cache-Latch 1131 gespeichert sind, auf das LSB-Latch 1133 laden.
  • Während eines fünften Zyklus C5, kann der Controller 1300 eine zweite Adresse ADDR2 zu dem dreidimensionalen nichtflüchtigen Speicher 1100 senden. Die zweite Adresse ADDR2 kann eine CSB-Seite bezeichnen.
  • Während eines sechsten Zyklus C6, kann der Controller 1300 CSB-Seitendaten PD2 für den dreidimensionalen nichtflüchtigen Speicher 1100 bereitstellen. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen CSB-Seitendaten PD2 in einem Cache-Latch 1131 speichern.
  • Während eines siebten Zyklus C7, kann der Controller 1300 einen Dump-Befehl Dump an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In Reaktion auf den Dump-Befehl CMD, kann der dreidimensionale nichtflüchtige Speicher 1100 die in dem Cache-Latch 1131 gespeicherten CSB-Seitendaten PD2 auf ein CSB-Latch 1135 laden.
  • Während eines achten Zyklus C8, kann der Controller 1300 einen Bestätigungsbefehl 10 h an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. In Reaktion auf den Bestätigungsbefehl 10 h kann der dreidimensionale nichtflüchtige Speicher 1100 die LSB-Seitendaten PD1 und CSB-Seitendaten PD2 in entlang einer Zeilenrichtung angeordnete Speicherzellen gleichzeitig programmieren.
  • Während eines neunten Zyklus C9, kann der Controller 1300 einen Programmbefehl 80 h an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. Bevor der Programmbefehl 80 h gesendet wird, wird ein anfänglicher Lesevorgang aus geführt.
  • Während eines zehnten Zyklus C10, kann der Controller 1300 eine dritte Adresse ADDR3 an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. Die dritte Adresse ADDR3 kann eine MSB-Seite bezeichnen.
  • Während eines elften Zyklus C11, kann der Controller 1300 MSB-Seitendaten PD3 an den dreidimensionalen nichtflüchtigen Speicher 1100 zur Verfügung stellen. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen MSB-Seitendaten PD3 in einem Cache-Latch 1131 speichern.
  • Während eines zwölften Zyklus C12, kann der Controller 1300 einen Dump-Befehl Dump an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In Reaktion an den Dump-Befehl CMD, kann der dreidimensionale nichtflüchtige Speicher 1100 die in dem Cache-Latch 1131 gespeicherten MSB-Seitendaten PD3 in einem MSB-Latch 1137 speichern.
  • Während eines dreizehnten Zyklus C13, kann der Controller 1300 einen Bestätigungsbefehl 10 h an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. In Reaktion an den Bestätigungsbefehl 10 h kann der dreidimensionale nichtflüchtige Speicher 1100 außerdem die MSB-Seitendaten PD3 programmieren.
  • 28 zeigt eine Tabelle, die ein Programmadressschema für einen dreidimensionalen nichtflüchtigen Speicher, gemäß der Programmsequenz aus 27, zeigt. Bezugnehmend auf 28, können drei Adressen den entlang einer Zeilenrichtung angeordneten Speicherzellen zugewiesen werden. Das heißt, die in Zeilenrichtung angeordnete Speicherzellen zu programmierenden LSB-Seitendaten PD1, CSB-Seitendaten PD2 und MSB-Seitendaten PD3 können entsprechend ihrer verschiedenen Adressen programmiert werden.
  • Die Programmsequenz und das in Bezug auf die 27 und 28 beschriebene Adressschema kann auf Ausführungsformen angewandt werden, in denen LSB-Seitendaten PD1 und CSB-Seitendaten PD2 gleichzeitig programmiert werden und außerdem MSB-Seitendaten PD3 programmiert werden.
  • 29 zeigt ein Taktdiagramm, das ein weiteres Beispiel von Signalen, die von einem Controller beim Programmieren auf einen dreidimensionalen nichtflüchtigen Speicher übertragen werden, zeigt. Bezugnehmend auf die 1, 22 und 24 überträgt ein Controller 1300 einen Programmbefehl 80 h während eines ersten Zyklus C1 auf einem dreidimensionalen nichtflüchtigen Speicher 1100.
  • Während eines zweiten Zyklus C2, sendet der Controller 1300 eine erste Adresse ADDR1 an den dreidimensionalen nichtflüchtigen Speicher 1100. Die erste Adresse ADDR1 kann eine LSB-Seite bezeichnen.
  • Während eines dritten Zyklus C3, kann der Controller 1300 LSB-Seitendaten PD1 dem dreidimensionalen nichtflüchtigen Speicher 1100 zur Verfügung stellen. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen LSB-Seitendaten PD1 in einem Cache-Latch 1131 speichern.
  • Während eines vierten Zyklus C4, kann der Controller 1300 einen Dump-Befehl Dump an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In Reaktion auf den Dump-Befehl CMD, kann der dreidimensionale nichtflüchtige Speicher 1100, die in dem Cache-Latch 1131 gespeicherten LSB-Seitendaten PD1 auf ein LSB-Latch 1133 laden.
  • Während eines fünften Zyklus C5, kann der Controller 1300 einen Bestätigungsbefehl 10 h an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. In Reaktion auf den Bestätigungsbefehl 10 h kann der dreidimensionale nichtflüchtige Speicher 1100 die LSB-Seitendaten PD1 in Speicherzellen programmieren.
  • Während eines sechsten Zyklus C6, kann der Controller 1300 einen Programmbefehl 80 h an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. Bevor der Programmbefehl 80 h gesendet wird, wird ein Anfangslesevorgang ausgeführt.
  • Während eines siebten Zyklus C7, kann der Controller 1300 eine zweite Adresse ADDR2 an den dreidimensionalen nichtflüchtigen Speicher 1300 senden. Die zweite Adresse ADDR2 kann eine CSB-Seite und MSB-Seite bezeichnen.
  • Während eines achten Zyklus C8, kann der Controller 1300 CSB-Seitendaten PD2 bei dem dreidimensionalen nichtflüchtigen Speicher 1100 bereitstellen. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen CSB-Seitendaten PD2 in einem Cache-Latch 1131 speichern.
  • Während eines neunten Zyklus C9, kann der Controller 1300 einen Dump-Befehl Dump an den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In Reaktion auf den Dump-Befehl CMD, kann der dreidimensionale nichtflüchtige Speicher 1100 die in dem Cache-Latch 1131 gespeicherten CSB-Seitendaten PD2 in ein CSB-Latch 1135 laden.
  • Während eines zehnten Zyklus C10, kann der Controller 1300 MSB-Seitendaten PD3 für den dreidimensionalen nichtflüchtigen Speicher 1100 bereitstellen. Der dreidimensionale nichtflüchtige Speicher 1100 kann die eingegebenen MSB-Seitendaten PD3 in dem Cache-Latch 1131 speichern.
  • Während eines elften Zyklus C11, kann der Controller 1300 einen Dump-Befehl Dump auf den dreidimensionalen nichtflüchtigen Speicher 1100 übertragen. In Reaktion auf den Dump-Befehl CMD, kann der dreidimensionale nichtflüchtige Speicher 1100 die in dem Cache-Latch 1131 gespeicherten MSB-Seitendaten PD3 auf ein MSB-Latch 1137 laden.
  • Während eines zwölften Zyklus C12, kann der Controller 1300 einen Bestätigungsbefehl 10 h an den dreidimensionalen nichtflüchtigen Speicher 1100 senden. In Reaktion auf den Bestätigungsbefehl 10 h, kann der dreidimensionale nichtflüchtige Speicher 1100 gleichzeitig die CSB-Seitendaten PD2 und MSB-Seitendaten PD3 in Speicherzellen, in welchen die LSB-Seitendaten PD1 programmiert sind, gleichzeitig programmieren.
  • 30 zeigt eine Tabelle, die ein Programmadressschema für ein dreidimensionalen nichtflüchtigen Speicher entsprechend der in 29 gezeigten Programmsequenz darstellt.
  • Bezugnehmend auf 28, können zwei Adressen den entlang einer Zeilenrichtung angeordneten Speicherzellen zugewiesen werden. Das heißt, gemäß einer Adresse können LSB-Seitendaten PD1, die in Speicherzellen angeordnet entlang einer Zeilenrichtung zu programmieren sind, programmiert werden und entsprechend der anderen Adresse können CSB-Seitendaten PD2 und MSB-Seitendaten PD3 programmiert werden.
  • Die Programmsequenz und das bezugnehmend auf die 29 und 30 beschriebene Adressschema, können auf Ausführungsformen angewandt werden in denen LSB-Seitendaten PD1 programmiert werden und dann CSB-Seitendaten PD2 und MSB-Seitendaten PD3 zur gleichen Zeit außerdem programmiert werden.
  • 31 zeigt ein Taktdiagramm, das ein weiteres Beispiel von Signalen darstellt, die von einem Controller während des Programmierens zu einem dreidimensionalen nichtflüchtigen Speicher übertragen werden. Verglichen mit den Ausführungsformen von 29 beschrieben unter Bezugnahme auf 27 können LSB-Seitendaten PD1, CSB-Seitendaten PD2 und MSB-Seitendaten PD3 entsprechend verschiedener Adressen programmiert werden.
  • Das Adressschema entsprechend der Programmsequenz aus 31 entspricht der Tabelle aus 28.
  • 32 zeigt ein Blockdiagramm, das schematisch ein Speichersystem gemäß einer anderen Ausführungsform des erfindungsgemäßen Konzepts zeigt. Verglichen mit dem Speichersystem 1000 aus 1, kann ein Controller 2300 einen dreidimensionalen nichtflüchtigen Speicher 2100 und einen Direktzugriffsspeicher 2200 über einen gemeinsamen Bus steuern. Der dreidimensionale nichtflüchtige Speicher 2100 und der Direktzugriffsspeicher 2200, können zeitversetzt mit dem Controller 2300 kommunizieren.
  • In dem Direktzugriffsspeicher 2200 angehäufte Multi-Seitendaten können direkt in den dreidimensionalen nichtflüchtigen Speicher 2100 übertragen werden ohne durch den Controller 2300 hindurch zu gehen.
  • 33 zeigt ein Blockdiagramm, das schematisch ein Speichersystem gemäß einer weiteren Ausführungsform des erfindungsgemäßen Konzepts zeigt. Verglichen mit dem Speichersystem 1000 aus 1, kommuniziert ein dreidimensionaler nichtflüchtiger Speicher 3100 mit einem Controller 3300 über eine Vielzahl an Kanälen CH1 bis CHk. Jeder Kanal kann mit einer Vielzahl der dreidimensionalen nichtflüchtigen Speicherchips verbunden sein. Ein Direktzugriffsspeicher 3200 kann die in die dreidimensionalen nichtflüchtigen Speicherchips des dreidimensionalen nichtflüchtigen Speichers 3100 zu programmierenden Daten speichern. Falls Daten, die einen speziellen dreidimensionalen nichtflüchtigen Speicherchip, der in den Direktzugriffsspeicher 3200 angehäuften Daten den Multi-Seitendaten entspricht, können die Multi-Seitendaten in dem speziellen dreidimensionalen nichtflüchtigen Speicherchip programmiert werden.
  • In beispielhaften Ausführungsformen, wie unter Bezugnahme auf 32 beschrieben, kann der dreidimensionale nichtflüchtige Speicher 3100 und der Controller 3300 über einen gemeinsamen Bus miteinander verbunden sein und die Vielzahl der Kanäle CH1 bis CHk können den gemeinsamen Bus gemäß Zeitmultiplexverfahren nutzen.
  • Gemäß beispielhafter Ausführungsformen, wie in Bezug auf 32 beschrieben, können der dreidimensionale nichtflüchtige Speicher 3100 und der Direktzugriffsspeicher 3200 über einen gemeinsamen Bus mit dem Controller 3300 verbunden sein und mit dem Controller 3300 über ein Zeitmultiplexverfahren kommunizieren.
  • Wie der dreidimensionale nichtflüchtige Speicher 3100, kann der Direktzugriffsspeicher 3200 eine Vielzahl an Direktzugriffsspeicherchips enthalten. Die Vielzahl der Direktzugriffsspeicherchips kann mit dem Controller 3300 über eine Vielzahl an Kanälen oder einen gemeinsamen Kanal kommunizieren. Wenigstens einer der Direktzugriffsspeicherchips ist mit jedem Kanal verbunden. Wenn die Direktzugriffsspeicherchips über die Vielzahl an Kanälen mit dem Controller 3300 kommunizieren, entsprechen die Kanäle der Direktzugriffsspeicherchips den Kanälen CH1 bis CHk der entsprechenden dreidimensionalen nicht flüchten Speicherchips. Wenigstens ein Direktzugriffsspeicherchip, der mit einem Kanal verbunden ist, kann Daten speichern, die in wenigstens einen mit einem Kanal verbundenen dreidimensionalen nichtflüchtigen Speicherchip zu programmieren sind.
  • 34 zeigt ein Blockdiagramm, das schematisch ein Speichersystem gemäß einer weiteren Ausführungsform des erfindungsgemäßen Konzepts darstellt. Verglichen mit dem Speichersystem 1000 aus 1 umfasst das Speichersystem 4000 eine Vielzahl an Speichereinheiten MU und einen Controller 4300. Die Vielzahl der Speichereinheiten MU, können mit dem Controller 4300 über eine Vielzahl an Kanälen CH1 bis CHk kommunizieren.
  • Jede der Speichereinheiten MU kann wenigstens einen dreidimensionalen nichtflüchtigen Speicherchip 4100 und einen Direktzugriffsspeicher 4200 enthalten. In jeder Speichereinheit MU, kann wenigstens ein dreidimensionaler nichtflüchtiger Speicherchip 4100 und ein Direktzugriffsspeicher 4200 über einen gemeinsamen Kanal mit dem Controller 4300 kommunizieren. In jeder Speichereinheit MU kann wenigstens ein dreidimensionaler nichtflüchtiger Speicherchip 4100 und ein Direktzugriffsspeicher 4200 einen gemeinsamen Kanal nach einem Zeitmultiplexverfahren belegen.
  • 35 zeigt ein Diagramm, das eine Speicherkarte gemäß einer Ausführungsform des erfindungsgemäßen Konzepts darstellt. Bezugnehmend auf 35, umfasst eine Speicherkarte 5000 einen dreidimensionalen nichtflüchtigen Speicherchip 5100, einen Direktzugriffsspeicher 5200, einen Controller 5300, und einen Verbindungsanschluss 5400.
  • Der Direktzugriffsspeicher 5200, kann Daten speichern, die in dem dreidimensionalen nichtflüchtigen Speicher 5100 zu programmieren sind. Wenn die in dem Direktzugriffsspeicher 5200 angehäuften Daten den Multi-Seitendaten entsprechen, können die Multi-Seitendaten in dem dreidimensionalen nichtflüchtigen Speicher 5100 programmiert werden.
  • Die Speicherkarte 500, kann als Speicherkarte wie eine PC-Karte (PCMCIA), einer CF-Karte, einer SM(oder SMC)-Karte, einem Speicher-Stick, einer Multimediakarte (MMC, RS-MMC, MMCmicro), einer Security-Card (SD, miniSD, mircoSD, SDHC), einer Universalflash-Speichervorrichtung (UFS) usw. entsprechen.
  • 36 zeigt ein Diagramm, das ein Festkörperlaufwerk gemäß einer Ausführungsform des erfindungsgemäßen Konzepts zeigt. Bezugnehmend auf 36 umfasst ein Festkörperlaufwerk 6000 eine Vielzahl an dreidimensionalen nichtflüchtigen Speichern 6100, einen Direktzugriffsspeicher 6200, einen Controller 6300 und einen Verbindungsanschluss 6400.
  • Der Direktzugriffsspeicher 6200, kann die in den dreidimensionalen nichtflüchtigen Speicher zu programmierende Daten speichern. Wenn die einem Direktzugriffsspeicher 6200 angehäuften Daten den Multi-Seitendaten entsprechen, können die Multi-Seitendaten in die dreidimensionalen nichtflüchtigen Speicher 6100 programmiert werden.
  • 37 zeigt ein Blockdiagramm, das ein Computersystem gemäß einer Ausführungsform des erfindungsgemäßen Konzepts darstellt. Bezugnehmend auf 37 umfasst ein Computersystem 7000 eine zentrale Recheneinheit 7100, eine RAM 7200, eine Nutzerschnittstelle 7300, ein Modem 7400, einen Systembus 7500 und ein Speichersystem 7600.
  • Das Speichersystem 7600 kann elektrisch mit den Bauelementen 7100 bis 7400 über den Systembus 7500 verbunden sein. Daten, die über die Nutzerschnittstelle 7300, Daten, die von der zentralen Recheneinheit 7100 verarbeitet werden, oder Daten, die über das Modem 7400 empfangen werden, können in dem Speichersystem 7600 gespeichert werden.
  • Das Speichersystem 7600, kann eines der Speichersysteme 1000 bis 4000, wie sie in Bezug auf die 1 und 32 bis 34 beschrieben wurden, sein.
  • Wie im Zusammenhang mit den einzelnen Ausführungsformen des erfindungsgemäßen Konzepts erläutert, kann die Anzahl der Programmiervorgänge (NOP) die erzeugt werden, wenn Daten in die Speicherzellen der dreidimensionalen Speicherzelle programmiert werden, verringert werden. Demgemäß können Programmstörungen aufgrund von verbundenen Wortleitungen auf der gleichen Schicht während des Programmierens genauso wie Lesestörungen erzeugt, während der Programmierverifikation, verringert werden. Diese Ergebnisse verbessern die Speicherzellenlebensdauer. Als Ergebnis ist es möglich einen dreidimensionalen nichtflüchtigen Speicher mit verbesserter Zuverlässigkeit, ein Speichersystem mit dem dreidimensionalen nichtflüchtigen Speicher und ein Programmierverfahren dafür bereitzustellen.
  • Auch wenn das erfindungsgemäße Konzept in Bezug auf beispielhafte Ausführungsformen erläutert wurde, ist es klar für den Fachmann, dass verschiedene Änderungen und Modifikationen daran durchgefürt werden können, ohne von dem Umfang der folgenden Patentansprüche abzuweichen. Es ist dafür klar, dass die oben dargestellten Ausführungsformen nicht beschränkend, sondern lediglich beispielhaft zu verstehen sind.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 10-2012-0071715 [0001]
    • KR 10-2012-0047503 [0001]

Claims (20)

  1. Programmierverfahren für ein Speichersystem (1000) mit einem dreidimensionalen nichtflüchtigen Speicher (1100) mit einem Seitenpuffer (1130) und entlang einer Zeilenrichtung angeordneten Multi-Level-Speicherzellen, und einem Direktzugriffsspeicher (1200), umfassend: Empfangen extern bereitgestellter Programmdaten (S110); Erfassen, ob die empfangenen Programmdaten in Zusammenhang mit den Speicherzellen Gesamtdaten sind und den Multi-Seitendaten entsprechen; und nach dem Erfassen, dass die empfangenen Programmdaten den Gesamtdaten entsprechen. Programmieren der Programmdaten, in dem die Multi-Seitendaten in den Seitenpuffer geladen werden (S120) und dann gleichzeitiges Programmieren der Bits der Multi-Seitendaten von dem Seitenpuffer in die Speicherzellen (S250), Speichern der empfangenen Programmdaten in dem Direktzugriffsspeicher (1200).
  2. Programmierverfahren nach Anspruch 1, wobei die Multi-Level-Speicherzellen geeignet sind, wenigstens 3-Bitdaten derart zu speichern, dass die Gesamtdaten wenigstens eine niedrigstwertigste Bitseite (Least Significant Bit LSB), eine mittelwertige Bitseite (Central Significant Bit CSB), und eine höchstwertigste Bitseite (MSB) enthält.
  3. Programmierverfahren nach Anspruch 2, wobei das Programmieren der Programmdaten umfasst: Übertragen zu dem dreidimensionalen nichtflüchtigen Speicher eines Programmierbefehls mit einer entsprechenden Adresse, die anzeigt, dass die Speicherzellen entlang einer Zeilenrichtung angeordnet sind; nacheinander Übertragen zu dem dreidimensionalen nichtflüchtigen Speicher, der LSB-Seite, der CSB-Seite und der MSB-Seite; und Übertragen zu dem dreidimensionalen nichtflüchtigen Speicher eines Bestätigungsbefehls, der den Beginn eines Programmierbetriebs anzeigt.
  4. Programmierverfahren nach Anspruch 3, wobei der dreidimensionale nichtflüchtige Speicher (1100) außerdem ein Cache-Latch (1131) umfasst, das geeignet ist, um die LSB-Seite, die CSB-Seite und die MSB-Seite zu speichern, und das Programmieren der Programmdaten außerdem umfasst: nach dem Übertragen der entsprechenden LSB-Seite, CSB-Seite und MSB-Seite Übertragen eines Dump-Befehls zu dem dreidimensionalen nichtflüchtigen Speicher (1100) derart, dass der Cache-Latch eine der LSB-Seite, CSB-Seite und MSB-Seite in Reaktion auf den Dump-Befehl auf ein entsprechendes Latch lädt.
  5. Programmierverfahren nach Anspruch 1, wobei jede der Speicherzellen während des Programmierablaufs durch eine einzige Adresse identifiziert ist und während des Lesevorgangs durch zwei oder mehr verschiedene Adressen identifiziert wird.
  6. Programmierverfahren für ein Speichersystem (1000) mit einem Controller (1300), einem dreidimensionalen-nichtflüchtigen Speicher (1100), mit einem Seitenpuffer (1130) und Multi-Level-Speicherzellen, die entlang einer Zeilenrichtung angeordnet sind, und einem Direktzugriffsspeicher (1200), umfassend: Empfangen extern bereitgestellter Multi-Seiten, Programmdaten in dem Controller (S110); Speichern der empfangenen Programmdaten in dem Direktzugriffsspeicher bis die empfangenen Programmdaten, die in dem Direktzugriffsspeicher gespeichert sind, den Speicherzellen zugeordneten Gesamtdaten entsprechen und den Multi-Seitendaten entsprechen (S220); Laden der Multi-Seitendaten in den Seitenpuffer (S250); und Gleichzeitiges Programmieren der Multi-Seitendaten von dem Seitenpuffer in die Speicherzellen (S250).
  7. Programmierverfahren nach Anspruch 6, wobei die Speicherzellen geeignet sind, um wenigstens Drei-Bitdaten zu speichern, so dass die Gesamtdaten wenigstens eine niedrigstwertigste Bitseite (Least Significant Bit Page LSB), eine mittelwertige Bitseite (Central Significant Bit Page CSB) und ein höchstwertige Bit-Seite (Most Significant Bit MSB) enthält.
  8. Programmierverfahren nach Anspruch 7, außerdem umfassend: Übertragen zu dem dreidimensionalen nichtflüchtigen Speicher eines Programmbefehls mit einer entsprechenden Adresse, die anzeigt, dass die Speicherzellen entlang einer Zeilenrichtung angeordnet sind; nacheinander Übertragen der LSB-Seite, der CSB-Seite und der MSB-Seite von dem Controller zu dem dreidimensional nichtflüchtigen Speicher; und Übertragen eines Bestätigungsbefehls, der den Start eines Programmvorgangs anzeigt, der die LSB-Seite, die CSB-Seite und die MSB-Seite in den dreidimensionalen nichtflüchtigen Speicher programmiert.
  9. Programmierverfahren nach Anspruch 7, wobei das Laden der LSB-Seite, der CSB-Seite und der MSB-Seite von dem Direktzugriffsspeicher in den Seitenpuffer gleichzeitig durchgeführt wird.
  10. Programmierverfahren nach Anspruch 7, wobei das Laden der LSB-Seite von dem Direktzugriffsspeicher (1200) in den Seitenpuffer (1130) wenigstens teilweise durchgeführt wird, während die CSB-Seite von dem Controller empfangen wird, und das Laden der CSB-Seite von dem Direktzugriffsspeicher (1200) in den Seitenpuffer (1130) wenigstens teilweise durchgeführt wird, während die MSB-Seite von dem Controller (1300) empfangen wird.
  11. Programmierverfahren nach Anspruch 6, wobei jede der Speicherzellen während eines Programmiervorgangs durch eine einzige Adresse identifiziert ist und während eines Lesevorgangs durch zwei oder mehrere verschiedene Adressen identifiziert ist.
  12. Programmierverfahren durch ein Speichersystem (1000) mit einem Controller (1300), einem dreidimensionalen nichtflüchtigen Speicher (1100) mit einem Seitenpuffer (1130) und N-Bit-Speicherzellen, die entlang einer Zeilenrichtung angeordnet sind, und einen Direktzugriffsspeicher (1200) umfassend: Empfangen eines ersten Bit von N-Bitdaten in dem Controller und Speichern des ersten Bit der N-Bitdaten in den Direktzugriffsspeicher; nach dem Speichern des ersten Bit der N-Bitdaten in dem Direktzugriffsspeicher. Empfangen eines zweiten Bit der N-Bitdaten in dem Controller, wobei die Kombination von wenigstens dem ersten Bit und dem zweiten Bit der N-Bitdaten Gesamtdaten im Zusammenhang mit den Speicherzellen sind und den Multi-Seitendaten entsprechen. Laden der Multi-Seitendaten in den Seitenpuffer, wobei das Laden der Multi-Seiten in den Seitenpuffer das Übertragen des ersten Bit der N-Bitdaten von dem Direktzugriffsspeicher in den Seitenpuffer und das direkte Übertragen des zweiten Bit der N-Bitdaten von dem Controller in den Seitenpuffer durch Umgehen des Direktzugriffsspeichers umfasst; und gleichzeitiges Programmieren der Multi-Seitendaten von dem Seitenpuffer in die Speicherzellen.
  13. Programmierverfahren nach Anspruch 12, weiterhin umfassend: Nach dem Speichern des ersten Bit der N-Bitdaten in den Direktzugriffsspeicher (1200), Empfangen eines dritten Bit von N-Bitdaten in den Controller (1300), wobei die Kombination von wenigstens dem ersten Bit, dem zweiten Bit und dem dritten Bit von N-Bitdaten den Gesamtdaten in Verbindung mit den Speicherzellen entspricht und mit den Multi-Seitendaten übereinstimmt.
  14. Programmierverfahren nach Anspruch 13, wobei das Laden der Multi-Seitendaten in den Seitenpuffer außerdem das indirekte Übertragen des dritten Bit der N-Bitdaten von dem Controller (1300) in den Seitenpuffer durch Umgehen des Direktzugriffsspeichers (1200) umfasst.
  15. Programmierverfahren nach Anspruch 12, wobei das Übertragen des ersten Bit der N-Bitdaten von dem Direktzugriffsspeicher (1200) in den Seitenpuffer (1130) wenigstens teilweise auftritt, während das zweite Bit der N-Bitdaten direkt von dem Controller (1300) in den Seitenpuffer (1130) übertragen wird.
  16. Programmierverfahren nach Anspruch 12, wobei jede der Speicherzellen während eines Programmiervorgangs durch eine einzige Adresse identifiziert ist und während eines Lesevorgangs durch zwei oder mehr verschiedene Adressen identifiziert ist.
  17. Programmierverfahren für ein Speichersystem (1000) mit einem Controller (1300), einen dreidimensionalen nichtflüchtigen Speicher (1100) mit einem Seitenpuffer (1130) und N-Bit-Speicherzellen, die entlang einer Zeilenrichtung angeordnet sind, und einem Direktzugriffsspeicher (1200), umfassend: Empfangen eines ersten Bits von N-Bitdaten von dem Controller, direktes Laden des ersten Bits von N-Bitdaten in dem Seitenpuffer ohne durch den Direktzugriffsspeicher hindurch zu gehen, und dann Programmieren des ersten Bits der N-Bitdaten in die Speicherzellen; Nach dem Programmieren des ersten Bits der N-Bitdaten in die Speicherzellen, Empfangen eines zweiten Bits der N-Bitdaten in den Controller und Speichern des zweiten Bits der N-Bitdaten in dem Direktzugriffsspeicher; Nach dem Speichern des zweiten Bits der N-Bitdaten in den Direktzugriffsspeicher, Übertragen des zweiten Bits der N-Bitdaten von dem Direktzugriffsspeicher in den Seitenpuffer; Empfangen eines dritten Bits von Daten in den Controller und direktes Laden des dritten Bit der N-Bitdaten in den Seitenpuffer, ohne durch den Direktzugriffsspeicher hindurch zu gehen, wobei die Kombination des ersten Bits, des zweiten Bits und des dritten Bits der N-Bitdaten den Gesamtdaten in Verbindung mit den Speicherzellen entspricht und mit den Multi-Seitendaten übereinstimmt; und gleichzeitiges Programmieren des zweiten Bits und des dritten Bits der N-Bitdaten von dem Seitenpuffer in die Speicherzellen.
  18. Programmierverfahren nach Anspruch 15, wobei das Übertragen des zweiten Bits der N-Bitdaten von dem Direktzugriffsspeichers (1200) in den Seitenpuffer (1130) wenigstens teilweise auftritt, während das Drittbit der N-Bitdaten direkt zu dem Seitenpuffer übertragen wird.
  19. Programmierverfahren für ein Speichersystem (1000) mit einem Controller (1300), einem dreidimensionalen nichtflüchtigen Speicher (1100) mit einem Seitenpuffer (1130) und N-Bit-Speicherzellen, die entlang einer Zeilenrichtung angeordnet sind, und einem Direktzugriffsspeicher, umfassend: Empfangen eines ersten Bits von N-Bitdaten in dem Controller und Speichern des ersten Bits von N-Bitdaten in den Direktzugriffsspeicher; Empfangen eines zweiten Bits von N-Bitdaten von dem Controller und Speichern des zweiten Bits von N-Bitdaten in den Direktzugriffsspeicher; Gleichzeitiges Laden des ersten Bit und zweiten Bit der N-Bitdaten von dem Zufallzugriffsspeicher in den Seitenpuffer, und dann gleichzeitiges Programmieren des ersten Bit und zweiten Bit der N-Bitdaten von dem Seitenpuffer in die Speicherzellen; Nach dem gleichzeitigen Programmieren des ersten Bit und zweiten Bit der N-Bitdaten von dem Seitenpuffer in die Speicherzellen, Empfangen eines dritten Bit von N-Bitdaten in dem Controller, Speichern des dritten Bit von N-Bitdaten in den Direktzugriffsspeicher, Laden des dritten Bits der N-Bitdaten von dem Direktzugriffsspeicher in den Seitenpuffer, und dann Programmieren des dritten Bits der N-Bitdaten von dem Seitenpuffer in die Speicherzellen, wobei die Kombination des ersten Bit, des zweiten Bit und des dritten Bit der N-Bitdaten den Gesamtdaten in Verbindung mit den Speicherzellen entspricht und mit den Multi-Seitendaten übereinstimmt.
  20. Programmierverfahren nach Anspruch 19, wobei jede der Speicherzellen während eines Programmiervorgangs durch eine einzige Adresse identifiziert ist und während eines Lesevorgangs durch zwei oder mehr verschiedene Adressen identifiziert ist.
DE201310104196 2012-05-04 2013-04-25 System und Verfahren mit dreidimensionaler nichtflüchtiger Speichervorrichtung und Direktzugriffsspeicher Pending DE102013104196A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020120047503A KR20130123955A (ko) 2012-05-04 2012-05-04 3차원 불휘발성 메모리 및 랜덤 액세스 메모리를 포함하는 메모리 시스템 및 그것의 프로그램 방법
KR10-2012-0047503 2012-05-04
KR10-2012-0071715 2012-07-02
KR1020120071715A KR102020818B1 (ko) 2012-07-02 2012-07-02 3차원 불휘발성 메모리 및 3차원 불휘발성 메모리를 포함하는 메모리 시스템 및의 프로그램 방법

Publications (1)

Publication Number Publication Date
DE102013104196A1 true DE102013104196A1 (de) 2013-11-07

Family

ID=49384557

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310104196 Pending DE102013104196A1 (de) 2012-05-04 2013-04-25 System und Verfahren mit dreidimensionaler nichtflüchtiger Speichervorrichtung und Direktzugriffsspeicher

Country Status (4)

Country Link
US (2) US9606730B2 (de)
JP (1) JP6296696B2 (de)
CN (2) CN107093448B (de)
DE (1) DE102013104196A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102024850B1 (ko) * 2012-08-08 2019-11-05 삼성전자주식회사 3차원 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법
JP2015204126A (ja) 2014-04-16 2015-11-16 株式会社東芝 半導体記憶装置
US9536600B2 (en) * 2014-10-22 2017-01-03 International Business Machines Corporation Simultaneous multi-page commands for non-volatile memories
JP6453718B2 (ja) * 2015-06-12 2019-01-16 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
KR20170090262A (ko) * 2016-01-28 2017-08-07 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
JP2018005959A (ja) * 2016-06-30 2018-01-11 東芝メモリ株式会社 メモリシステムおよび書き込み方法
US10325657B2 (en) 2017-01-25 2019-06-18 Samsung Electronics Co., Ltd. Non-volatile memory devices and methods of programming the same
KR102400098B1 (ko) 2017-01-25 2022-05-23 삼성전자주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 프로그램 방법
KR20190006680A (ko) * 2017-07-11 2019-01-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
WO2020042011A1 (en) 2018-08-29 2020-03-05 Yangtze Memory Technologies Co., Ltd. Programming of memory cells in three-dimensional memory devices
CN111199767B (zh) * 2018-11-16 2022-08-16 力旺电子股份有限公司 非易失性存储器良率提升的设计及测试方法
CN109903799B (zh) * 2019-01-29 2021-08-03 华中科技大学 一种可变编程级数的三维闪存阵列单元操作方法
US10922010B2 (en) * 2019-03-25 2021-02-16 Micron Technology, Inc. Secure data removal
WO2020220280A1 (en) 2019-04-30 2020-11-05 Yangtze Memory Technologies Co., Ltd. Three-dimensional memory device with embedded dynamic random-access memory
WO2020232571A1 (en) * 2019-05-17 2020-11-26 Yangtze Memory Technologies Co., Ltd. Cache program operation of three-dimensional memory device with static random-access memory
CN110326047A (zh) * 2019-05-17 2019-10-11 长江存储科技有限责任公司 具有静态随机存取存储器的三维存储器件的数据缓冲操作
KR20240011867A (ko) 2019-05-17 2024-01-26 양쯔 메모리 테크놀로지스 씨오., 엘티디. 정적 랜덤 액세스 메모리가 있는 3차원 메모리 디바이스
KR20210017908A (ko) * 2019-08-09 2021-02-17 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11309032B2 (en) 2019-11-26 2022-04-19 Samsung Electronics Co., Ltd. Operating method of memory system including memory controller and nonvolatile memory device
JP6759440B2 (ja) * 2019-11-28 2020-09-23 キオクシア株式会社 メモリシステム
DE102021113450A1 (de) 2020-08-13 2022-02-17 Samsung Electronics Co., Ltd. Seitenpufferschaltungen und diese enthaltende nichtflüchtige Speichervorrichtungen
US11726671B2 (en) * 2021-06-24 2023-08-15 Micron Technology, Inc. Memory access mode selection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120047503A (ko) 2010-11-04 2012-05-14 건국대학교 산학협력단 세포사멸 유도 활성을 갖는 칼콘 유도체
KR20120071715A (ko) 2010-12-23 2012-07-03 주식회사 신창전기 노브와 홀더가 일체로 형성된 차량용 스위치

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3979486B2 (ja) * 2001-09-12 2007-09-19 株式会社ルネサステクノロジ 不揮発性記憶装置およびデータ格納方法
US7178004B2 (en) 2003-01-31 2007-02-13 Yan Polansky Memory array programming circuit and a method for using the circuit
US7148538B2 (en) 2003-12-17 2006-12-12 Micron Technology, Inc. Vertical NAND flash memory array
JP2008021335A (ja) * 2004-10-18 2008-01-31 Matsushita Electric Ind Co Ltd 不揮発性記憶装置、不揮発性記憶装置の書込み方法およびコントローラ
KR100713984B1 (ko) * 2005-09-15 2007-05-04 주식회사 하이닉스반도체 멀티-플레인 구조를 갖는 비휘발성 메모리 장치의 프로그램방법
JP5142478B2 (ja) * 2006-04-13 2013-02-13 株式会社東芝 半導体記憶装置
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
KR100805840B1 (ko) 2006-09-01 2008-02-21 삼성전자주식회사 캐시를 이용한 플래시 메모리 장치 및 그것의 프로그램방법
KR100894809B1 (ko) * 2006-09-22 2009-04-24 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
US7450426B2 (en) 2006-10-10 2008-11-11 Sandisk Corporation Systems utilizing variable program voltage increment values in non-volatile memory program operations
KR100819102B1 (ko) 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
KR100919556B1 (ko) 2007-08-10 2009-10-01 주식회사 하이닉스반도체 상 변화 메모리 장치
JP2009054246A (ja) 2007-08-28 2009-03-12 Toshiba Corp 半導体記憶装置
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US7865658B2 (en) 2007-12-31 2011-01-04 Sandisk Il Ltd. Method and system for balancing host write operations and cache flushing
JP2009282678A (ja) 2008-05-21 2009-12-03 Hitachi Ltd フラッシュメモリモジュール及びストレージシステム
KR101552209B1 (ko) 2008-10-17 2015-09-11 삼성전자주식회사 멀티 비트를 프로그램하는 가변 저항 메모리 장치
US20100302856A1 (en) 2009-05-29 2010-12-02 Sung Hoon Ahn Nonvolatile memory device and method of programming and reading the same
KR101605827B1 (ko) * 2009-08-24 2016-03-23 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR101617810B1 (ko) * 2009-08-24 2016-05-03 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR101616099B1 (ko) * 2009-12-03 2016-04-27 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
KR20110092090A (ko) * 2010-02-08 2011-08-17 삼성전자주식회사 불 휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
US8355280B2 (en) * 2010-03-09 2013-01-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
JP5631750B2 (ja) * 2010-03-19 2014-11-26 株式会社東芝 複合メモリ
EP2596501A1 (de) * 2010-07-21 2013-05-29 MOSAID Technologies Incorporated Mehrseitiges programmschema für einen flash-speicher

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120047503A (ko) 2010-11-04 2012-05-14 건국대학교 산학협력단 세포사멸 유도 활성을 갖는 칼콘 유도체
KR20120071715A (ko) 2010-12-23 2012-07-03 주식회사 신창전기 노브와 홀더가 일체로 형성된 차량용 스위치

Also Published As

Publication number Publication date
CN107093448B (zh) 2020-09-29
US20160253099A1 (en) 2016-09-01
JP2013235645A (ja) 2013-11-21
CN107093448A (zh) 2017-08-25
CN103383861B (zh) 2018-04-27
CN103383861A (zh) 2013-11-06
US9606730B2 (en) 2017-03-28
JP6296696B2 (ja) 2018-03-20
US9606731B2 (en) 2017-03-28
US20150301941A1 (en) 2015-10-22

Similar Documents

Publication Publication Date Title
DE102013104196A1 (de) System und Verfahren mit dreidimensionaler nichtflüchtiger Speichervorrichtung und Direktzugriffsspeicher
DE112017001761B4 (de) NAND-Struktur mit Stufenauswahl-Gate-Transistoren
DE102013108456B4 (de) Nichtflüchtige Speichervorrichtung und Programmierverfahren
DE102015105858A1 (de) Halbleitervorrichtungen mit Peripherieschaltungsbereich und einem ersten und einem zweiten Speicherbereich, sowie zugehörige Programmierverfahren
DE102013108907A1 (de) Nichtflüchtige Speichervorrichtung mit nahen/fernen Speicherzellengruppierungen und Datenverarbeitungsverfahren
DE102013200952A1 (de) Halbleiterspeichervorrichtung
DE112016004760T5 (de) System und Verfahren für direktes Schreiben auf einen MLC-Speicher
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102018105685A1 (de) Multi-Zustands-Programm, das gesteuertes schwaches Boosten für einen nichtflüchtigen Speicher verwendet
DE102014101267A1 (de) Speichersystem mit nichtflüchtiger Speichervorrichtung und Programmierverfahren davon
DE102011054181A1 (de) Nichtflüchtige Speichervorrichtung und Ausleseverfahren davon
DE102012109612A1 (de) Nichtflüchtige Speichervorrichtung, Programmierungsverfahren für nichtflüchtige Speichervorrichtungen und Speichersystem, das eine nichtflüchtiger Speichervorrichtung umfasst
DE102011089880A1 (de) Verfahren zum Programmieren eines Speicherblocks eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speichersystem
DE102013108491A1 (de) Nichtflüchtige Speichervorrichtung und Betriebsverfahren mit variablen Speicherzellenzustandsdefinitionen
DE102008005338A1 (de) Integrierter Schaltkreis mit einer Speicherzellenanordnung und Verfahren zum Lesen eines Speicherzellenzustands unter Verwendung einer Mehrzahl von Teil-Leseoperationen
DE112016000654T5 (de) Mehrzustands-Programmierung für nichtflüchtigen Speicher
DE112016003568B4 (de) Intelligente Überprüfung bzw. Verifizierung zur Programmierung nicht-flüchtiger Speicher
DE102018105623A1 (de) Zustandsabhängige Abtastschaltungen und Abtastoperationen für Speichervorrichtungen
DE102020105946A1 (de) Speicherzellen-fehlform-abschwächung
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE102013100596A1 (de) Nichtflüchtige Speichervorrichtung, Speichersystem mit demselben und Blockverwaltungsverfahren, sowie Programmier- und Löschverfahren davon
DE112014004781B4 (de) Umgruppieren und Überspringen von Zyklen in einem nichtflüchtigen Speicher
DE102020105991A1 (de) SUBBLOCK-GRÖßENREDUKTION FÜR NICHTFLÜCHTIGE 3D-SPEICHER
DE112020000174T5 (de) Adaptive vpass für 3d-flash-speicher mit paarkettenstruktur
DE102020107504A1 (de) Nichtflüchtiges speicher-array, das zur leistungsverbesserung von beiden seiten angesteuert wird

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication