DE102013100596B4 - Non-volatile memory system with programming and erasing methods and block management methods - Google Patents
Non-volatile memory system with programming and erasing methods and block management methods Download PDFInfo
- Publication number
- DE102013100596B4 DE102013100596B4 DE102013100596.9A DE102013100596A DE102013100596B4 DE 102013100596 B4 DE102013100596 B4 DE 102013100596B4 DE 102013100596 A DE102013100596 A DE 102013100596A DE 102013100596 B4 DE102013100596 B4 DE 102013100596B4
- Authority
- DE
- Germany
- Prior art keywords
- block
- state
- memory
- data
- invalid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
- G11C11/5635—Erasing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/82—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Verfahren, das Folgendes aufweist:ein Überschreiben einer Speicherzelle, welche m-Bit-Daten speichert, um n-Bit-Daten zu speichern, wobei n kleiner als oder gleich m ist, wobei die Speicherzelle einen einer ersten Mehrzahl von Programmzuständen hat, wenn sie die m-Bit-Daten speichert, und wobei die Speicherzelle einen einer zweiten Mehrzahl von Programmzuständen hat, wenn sie die n-Bit-Daten speichert, wobei die zweite Mehrzahl von Programmzuständen wenigstens einen Programmzustand (EP1; EP2; EST) aufweist, der nicht in der ersten Mehrzahl von Programmzuständen ist, und wobei der wenigstens eine Programmzustand (EP1; EP2; EST) eine Schwellenspannungsverteilung hat, die höhere Schwellenspannungen aufweist als die Schwellenspannungsverteilungen der ersten Mehrzahl von Programmzuständen.A method comprising:overwriting a memory cell that stores m-bit data to store n-bit data, where n is less than or equal to m, the memory cell having one of a first plurality of program states when stores the m-bit data, and wherein the memory cell has one of a second plurality of program states when storing the n-bit data, the second plurality of program states having at least one program state (EP1; EP2; EST) that is not in the first plurality of program states, and wherein the at least one program state (EP1; EP2; EST) has a threshold voltage distribution that has higher threshold voltages than the threshold voltage distributions of the first plurality of program states.
Description
HINTERGRUNDBACKGROUND
Die erfinderischen Konzepte, welche hierin beschrieben sind, beziehen sich auf ein Verfahren für eine nichtflüchtige Speichervorrichtung und ein Speichersystem.The inventive concepts described herein relate to a method for a non-volatile memory device and a memory system.
Eine Halbleiterspeichervorrichtung ist in entweder flüchtig (hierauf wird hierin nachstehend als flüchtige Speichervorrichtung Bezug genommen) oder nichtflüchtig (hierauf wird hierin nachstehend als nichtflüchtige Speichervorrichtung Bezug genommen) klassifiziert. Eine nichtflüchtige Speichervorrichtung hält Inhalte, welche darin gespeichert sind, auch bei einem Abschalten. Eine Speicherzelle in der nichtflüchtigen Speichervorrichtung ist entweder einmal programmierbar oder wiederprogrammiert gemäß der Herstellungstechnologie, welche verwendet wird. Nichtflüchtige Speichervorrichtungen werden verwendet, um Programme oder Mikrocode in einer breiten Vielfalt von Anwendungen in dem Computer, in der Luftfahrt, in der Telekommunikation und in der Unterhaltungselektronikindustrie zu speichern.A semiconductor memory device is classified into either volatile (hereinafter referred to as a volatile memory device) or non-volatile (hereinafter referred to as a non-volatile memory device). A non-volatile memory device retains contents stored therein even when powered off. A memory cell in the non-volatile memory device is either once programmable or reprogrammed according to the manufacturing technology used. Non-volatile memory devices are used to store programs or microcode in a wide variety of applications in the computing, aerospace, telecommunications, and consumer electronics industries.
Aus der
Aus der
KURZFASSUNGSHORT VERSION
Einige beispielhafte Ausführungsformen beziehen sich auf ein Verfahren zum Verwalten eines Speichers.Some example embodiments relate to a method for managing memory.
In einer Ausführungsform weist das Verfahren ein Überschreiben einer Speicherzelle auf, welche m-Bit-Daten speichert, um n-Bit-Daten zu speichern, wobei n kleiner als oder gleich m ist. Die Speicherzelle hat einen einer ersten Mehrzahl von Programmierzuständen, wenn sie die m-Bit-Daten speichert, und die Speicherzelle hat einen einer zweiten Mehrzahl von Programmierzuständen, wenn sie die n-Bit-Daten speichert. Die zweite Mehrzahl von Programmierzuständen weist wenigstens einen Programmierzustand auf, der nicht in der ersten Mehrzahl von Programmierzuständen ist. Der wenigstens eine Programmzustand hat eine Schwellenspannungsverteilung, die höhere Schwellenspannungen aufweist als die Schwellenspannungsverteilungen der ersten Mehrzahl von Programmzuständen.In one embodiment, the method includes overwriting a memory cell storing m-bit data to store n-bit data, where n is less than or equal to m. The memory cell has one of a first plurality of programming states when storing the m-bit data and the memory cell has one of a second plurality of programming states when storing the n-bit data. The second plurality of programming states includes at least one programming state that is not in the first plurality of programming states. The at least one program state has a threshold voltage distribution that has higher threshold voltages than the threshold voltage distributions of the first plurality of program states.
In einer Ausführungsform hat der Programmierzustand, der nicht in der ersten Mehrzahl von Programmierzuständen ist, eine Schwellenspannungsverteilung größer als die Schwellenverteilungen der ersten Mehrzahl von Zuständen.In one embodiment, the programming state that is not in the first plurality of programming states has a threshold voltage distribution greater than the threshold distributions of the first plurality of states.
In einer Ausführungsform weist die zweite Mehrzahl von Programmierzuständen mehr als einen Programmierzustand auf, der nicht in der ersten Mehrzahl von Programmierzuständen ist.In one embodiment, the second plurality of programming states includes more than one programming state that is not in the first plurality of programming states.
In einer Ausführungsform weist das Verfahren weiterhin ein Überschreiben der Speicherzelle auf, welche n-Bit-Daten speichert, um p-Bit-Daten zu speichern, wobei p kleiner als oder gleich n ist. Die Speicherzelle hat eine dritte Mehrzahl von Speicherzuständen, wenn sie die p-Bit-Daten speichert, und die dritte Mehrzahl von Programmierzuständen weist wenigstens einen Programmierzustand auf, der nicht in der ersten Mehrzahl und der zweiten Mehrzahl von Programmierzuständen ist. In einer Ausführungsform ist p gleich zu n. In einer anderen Ausführungsform ist p kleiner als n.In one embodiment, the method further comprises overwriting the memory cell storing n-bit data to store p-bit data, where p is less than or equal to n. The memory cell has a third plurality of storage states when storing the p-bit data, and the third plurality of programming states includes at least one programming state that is not in the first plurality and the second plurality of programming states. In one embodiment, p is equal to n. In another embodiment, p is less than n.
In einer Ausführungsform ist der Speicher, welcher die Speicherzelle aufweist, in Blöcke von Speicherzellen unterteilt, und das Verfahren weist weiterhin ein Bestimmen auf, ob ein ungültiger Block, welcher die Speicherzelle aufweist, überschreibbar ist. Ein ungültiger Block speichert eine Grenzwertmenge von ungültigen Daten. Hier ist das Überschreiben erlaubt, wenn das Bestimmen bestimmt, dass der ungültige Block, welcher die Speicherzelle aufweist, überschreibbar ist.In one embodiment, the memory including the memory cell is partitioned into blocks of memory cells, and the method further includes determining whether an invalid block including the memory cell is overwritable. An invalid block stores a threshold amount of invalid data. Here, the overwriting is allowed when determining that the invalid block including the memory cell is overwritable.
In einer Ausführungsform bestimmt das Bestimmen basierend auf einer Anzahl von reinen bzw. freien Blöcken in dem Speicher, dass der ungültige Block überschreibbar ist.In one embodiment, the determining determines that the invalid block is overwritable based on a number of clean blocks in the memory.
In einer anderen Ausführungsform bestimmt das Bestimmen basierend auf einer Anzahl von freien Seiten in dem ungültigen Block, wobei jede freie Seite keine Daten speichert, dass der ungültige Block überschreibbar ist.In another embodiment, the determining determines that the invalid block is rewritable based on a number of free pages in the invalid block, each free page storing no data.
In einer Ausführungsform bestimmt das Bestimmen basierend auf einem Gesundheitszustand des ungültigen Blocks, dass der ungültige Block überschreibbar ist. Der Gesundheitszustand zeigt ein Niveau der Verschlechterung bzw. Schädigung des ungültigen Blocks an. In einer Ausführungsform kann der Gesundheitszustand auf einer Anzahl von Programmier- /Lösch-Zyklen basiert sein, welche der ungültige Block durchlaufen hat. In einer anderen Ausführungsform kann der Gesundheitszustand auf einer Bit-Fehlerrate für Daten, welche aus dem ungültigen Block ausgelesen werden, basiert sein.In one embodiment, the determining determines that the invalid block is rewritable based on a health of the invalid block. The health status indicates a level of degradation of the invalid block. In one embodiment, the health status may be based on a number of program/erase cycles that the invalid block has undergone. In another embodiment, the health status may be based on a bit error rate for data read from the invalid block.
In einer weiteren Ausführungsform bestimmt das Bestimmen basierend auf einer Anzahl von reinen Blöcken in dem Speicher und einem Gesundheitszustand des ungültigen Blocks, dass der ungültige Block überschreibbar ist.In another embodiment, the determining determines that the invalid block is rewritable based on a number of clean blocks in the memory and a health state of the invalid block.
In einer Ausführungsform weist ein Speicher die Speicherzelle auf, die Speicherzelle ist in Blöcke von Speicherzellen unterteilt, wobei jeder Block in Seiten unterteilt ist, und das Verfahren weist weiterhin ein Bestimmen auf, ob eine ungültige Seite, welche die Speicherzelle aufweist, überschreibbar ist. Die ungültige Seite speichert ungültig gemachte Daten. Hier ist das Überschreiben erlaubt, wenn das Bestimmen bestimmt, dass die ungültige Seite, welche die Speicherzelle aufweist, überschreibbar ist.In one embodiment, a memory comprises the memory cell, the memory cell is divided into blocks of memory cells, each block divided into pages, and the method further comprises determining whether an invalid page comprising the memory cell is overwritable. The invalid page stores invalidated data. Here, the overwriting is allowed when the determination determines that the invalid page that the memory cell has is overwritable.
In einer Ausführungsform bestimmt das Bestimmen basierend auf einer Anzahl von reinen Blöcken in dem Speicher, dass die ungültige Seite überschreibbar ist.In one embodiment, the determining determines that the invalid page is rewritable based on a number of clean blocks in the memory.
In einer Ausführungsform bestimmt das Bestimmen basierend auf einer Anzahl von freien Seiten in dem Block, welcher die ungültige Seite aufweist, wobei jede freie Seite keinerlei Daten speichert, dass die ungültige Seite überschreibbar ist.In one embodiment, the determining determines that the invalid page is rewritable based on a number of free pages in the block that includes the invalid page, where each free page does not store any data.
In einer Ausführungsform bestimmt das Bestimmen basierend auf einem Gesundheitszustand des Blocks, welcher die ungültige Seite aufweist, dass die ungültige Seite überschreibbar ist. Der Gesundheitszustand zeigt ein Niveau der Verschlechterung bzw. Schädigung des Blocks an. In einer Ausführungsform kann der Gesundheitszustand auf einer Anzahl von Programmier-/Lösch-Zyklen basiert sein, welche der ungültige Block durchlaufen hat. In einer anderen Ausführungsform kann der Gesundheitszustand auf einer Bit-Fehlerrate für Daten, welche aus dem ungültigen Block gelesen werden, basiert sein.In one embodiment, the determining determines that the invalid page is rewritable based on a health of the block that includes the invalid page. The health status indicates a level of deterioration of the block. In one embodiment, the health status may be based on a number of program/erase cycles that the invalid block has undergone. In another embodiment, the health status may be based on a bit error rate for data read from the invalid block.
In einer Ausführungsform bestimmt das Bestimmen basierend auf einer Anzahl von reinen Seiten in dem Block, welcher die ungültige Seite aufweist und einem Gesundheitszustand des Blocks, dass die ungültige Seite überschreibbar ist.In one embodiment, the determining determines that the bad page is rewritable based on a number of clean pages in the block that includes the bad page and a health state of the block.
In einer Ausführungsform weist das Verfahren weiterhin ein Speichern eines ersten Indikators bzw. einer ersten Anzeige auf, der bzw. die anzeigt, dass die Speicherzelle überschreibbar ist, wenn das Bestimmen bestimmt, dass die Speicherzelle überschreibbar ist. Das Speichern kann den ersten Indikator in einer Tabelle eines Speichercontrollers bzw. einer Speichersteuerung und/oder dem Speicher speichern. Der Speichercontroller ist konfiguriert, um den Speicher zu steuern.In one embodiment, the method further comprises storing a first indicator indicating that the memory cell is overwritable if the determining determines that the memory cell is overwritable. The storing may store the first indicator in a table of a memory controller and/or the memory. The memory controller is configured to control the memory.
In einer Ausführungsform weist das Verfahren zusätzlich ein Speichern eines zweiten Indikators bzw. einer zweiten Anzeige auf, der bzw. die nach dem Überschreiben anzeigt, dass die Speicherzelle überschrieben worden ist. Das Speichern eines zweiten Indikators speichert den zweiten Indikator in einer Tabelle des Speichercontrollers und/oder dem Speicher.In one embodiment, the method additionally includes storing a second indicator that, after being overwritten, indicates that the memory cell has been overwritten. Storing a second indicator stores the second indicator in a table of the memory controller and/or memory.
In einer Ausführungsform weist das Verfahren auch ein Speichern eines dritten Indikators bzw. einer dritten Anzeige auf, welcher bzw. welche eine Anzahl von Malen anzeigt, die die Speicherzelle überschrieben worden ist seit sie das letzte Mal nach dem Überschreiben gelöscht worden ist. Das Speichern eines dritten Indikators speichert den dritten Indikator in einer Tabelle eines Speichercontrollers und/oder dem Speicher.In one embodiment, the method also includes storing a third indicator that indicates a number of times the memory cell has been overwritten since it was last erased after being overwritten. Storing a third indicator stores the third indicator in a table of a memory controller and/or the memory.
Einige beispielhafte Ausführungsformen beziehen sich auf ein Speichersystem.Some example embodiments relate to a memory system.
In einer Ausführungsform weist das Speichersystem einen Speicher und einen Controller auf. Der Speicher weist wenigstens einen Speicherstring bzw. Speicherstrang (memory string) auf und der Speicherstrang weist eine Mehrzahl von Speicherzellen, welche in Serie verbunden sind, auf. Die Mehrzahl von Speicherzellen ist vertikal hinsichtlich eines Substrats angordnet und die Mehrzahl von Speicherzellen sind in wenigstens eine erste Gruppe von Speicherzellen und eine zweite Gruppe von Speicherzellen unterteilt. Die erste Gruppe von Speicherzellen ist weiter von dem Substrat angeordnet als die zweite Gruppe von Speicherzellen. Der Controller bzw. die Steuerung ist konfiguriert, um Daten in die Mehrzahl von Speicherzellen basierend auf einem ersten Satz von Schwellenspannungsverteilungen zu programmieren, und der Controller ist konfiguriert, um Daten in Speicherzellen der ersten Gruppe basierend auf einem zweiten Satz von Schwellenspannungsverteilungen zu überschreiben. Eine Menge von überschriebenen Daten in einer Speicherzelle der ersten Gruppe ist kleiner oder gleich zu einer Menge von programmierten Daten. Der zweite Satz von Schwellenspannungsverteilungen weist wenigstens eine Schwellenspannungsverteilung auf, die nicht in dem ersten Satz von Schwellenverteilungen ist.In one embodiment, the storage system includes a memory and a controller. The memory has at least one memory string and the memory string has a plurality of memory cells connected in series. The plurality of memory cells are arranged vertically with respect to a substrate, and the plurality of memory cells are divided into at least a first group of memory cells and a second group of memory cells. The first group of memory cells is located farther from the substrate than the second group of memory cells. The The controller is configured to program data into the plurality of memory cells based on a first set of threshold voltage distributions and the controller is configured to overwrite data into memory cells of the first group based on a second set of threshold voltage distributions. An amount of overwritten data in a memory cell of the first group is less than or equal to an amount of programmed data. The second set of threshold voltage distributions has at least one threshold voltage distribution that is not in the first set of threshold distributions.
In einer Ausführungsform ist der Controller konfiguriert, um Speicherzellen in der zweiten Gruppe nicht zu überschreiben.In one embodiment, the controller is configured not to overwrite memory cells in the second group.
In einer Ausführungsform ist der Controller konfiguriert, um Daten in Speicherzellen der zweiten Gruppe basierend auf einem dritten Satz von Schwellenspannungsverteilungen zu überschreiben. Eine Menge von überschriebenen Daten in einer Speicherzelle der zweiten Gruppe ist kleiner als oder gleich zu einer Menge von programmierten Daten. Der dritte Satz von Schwellenspannungsverteilungen weist wenigstens eine Schwellenspannungsverteilung auf, die nicht in dem ersten Satz von Schwellenspannungsverteilungen ist.In one embodiment, the controller is configured to overwrite data in memory cells of the second group based on a third set of threshold voltage distributions. An amount of overwritten data in a memory cell of the second group is less than or equal to an amount of programmed data. The third set of threshold voltage distributions has at least one threshold voltage distribution that is not in the first set of threshold voltage distributions.
In einer Ausführungsform unterscheidet sich der dritte Satz von Schwellenverteilungen von dem zweiten Satz von Schwellenverteilungen.In one embodiment, the third set of threshold distributions differs from the second set of threshold distributions.
In einer Ausführungsform ist der Controller konfiguriert, um die Speicherzellen der ersten Gruppe derart zu überschreiben, dass m-Bit-Daten wenigstens teilweise durch Schwellenspannungsverteilungen in wenigstens zwei Speicherzellen der ersten Gruppe repräsentiert werden.In one embodiment, the controller is configured to overwrite the memory cells of the first group such that m-bit data is at least partially represented by threshold voltage distributions in at least two memory cells of the first group.
In einer Ausführungsform weisen die wenigstens zwei Speicherzellen der ersten Gruppe Speicherzellen an verschiedenen vertikalen Örtlichkeiten innerhalb ihrer jeweiligen Speicherstränge auf.In one embodiment, the at least two memory cells of the first group have memory cells at different vertical locations within their respective memory lanes.
In einer Ausführungsform weist der Speicher eine Mehrzahl von Speichersträngen auf und die Speicherzellen der Mehrzahl von Speichersträngen sind in Blöcke unterteilt. Der Controller ist konfiguriert, um Zustandsinformationen für wenigstens einen der Blöcke zu speichern. Die Zustandsinformationen zeigen einen eines reinen Zustands, eines programmierten Zustands, eines ungültigen Zustands, eines überschreibbaren Zustands und eines überschriebenen Zustands an. Der reine Zustand zeigt an, dass der Block gelöscht ist, der programmierte Zustand zeigt an, dass der Block gültige Daten speichert, der ungültige Zustand zeigt an, dass der Block ungültige Daten speichert, der überschreibbare Zustand zeigt an, dass ein Überschreiben von ungültigen Daten, welche in dem Block gespeichert sind, ohne ein Löschen des Blocks erlaubt ist, und der überschriebene Zustand zeigt an, dass wenigstens ein Abschnitt der Daten, welche in dem Block gespeichert sind, ohne ein Löschen des Blocks überschrieben worden ist.In one embodiment, the memory has a plurality of memory threads and the memory cells of the plurality of memory threads are divided into blocks. The controller is configured to store state information for at least one of the blocks. The state information indicates one of a clean state, a programmed state, an invalid state, a rewritable state, and an overwritten state. The pure state indicates the block is erased, the programmed state indicates the block stores valid data, the invalid state indicates the block stores invalid data, the rewritable state indicates an overwrite of invalid data stored in the block is allowed without erasing the block, and the overwritten state indicates that at least a portion of the data stored in the block has been overwritten without erasing the block.
In einer Ausführungsform ist der Controller konfiguriert, um ein Ändern der Zustandsinformationen für den Block in den überschreibbaren Zustand nur zu erlauben, wenn ein gegenwärtiger Zustand des Blocks der ungültige Zustand ist.In one embodiment, the controller is configured to allow changing the state information for the block to the rewritable state only when a current state of the block is the invalid state.
In einer Ausführungsform ist der Controller konfiguriert, um Daten in dem Block nur zu überschreiben, wenn die Zustandsinformationen des Blocks den überschreibbaren Zustand anzeigen.In one embodiment, the controller is configured to overwrite data in the block only when the block's state information indicates the overwriteable state.
In einer Ausführungsform ist der Controller konfiguriert, um die Zustandsinformationen des Blocks nach einem Überschreiben des Blocks in dem überschriebenen Zustand zu ändern.In one embodiment, the controller is configured to change the state information of the block after overwriting the block in the overwritten state.
In einer Ausführungsform ist der Controller konfiguriert, um eine Überschreibanzahl zu speichern, wenn die Zustandsinformationen den überschriebenen Zustand anzeigen, wobei die Überschreibanzahl eine Anzahl von Malen anzeigt, seitdem der Block zuletzt gelöscht wurde.In one embodiment, the controller is configured to store a rewrite count when the state information indicates the overwritten state, the rewrite count indicating a number of times since the block was last erased.
In einer Ausführungsform ist der Controller konfiguriert, um die Zustandsinformationen in dem Speicher zu speichern. In einer Ausführungsform ist der Controller konfiguriert, um die Zustandsinformationen in einer Seite des Blocks zu speichern.In one embodiment, the controller is configured to store the state information in memory. In one embodiment, the controller is configured to store the state information in a page of the block.
In einer Ausführungsform ist der Controller konfiguriert, um die Zustandsinformationen in dem Controller zu speichern.In one embodiment, the controller is configured to store the state information in the controller.
In einer Ausführungsform zeigt der überschriebene Zustand an, dass der Block gültige Daten speichert.In one embodiment, the overwritten state indicates that the block stores valid data.
In einer Ausführungsform zeigt der überschriebene Zustand an, dass der Block weniger Daten pro Speicherzelle speichert als während des programmierten Zustands gespeichert sind.In one embodiment, the overwritten state indicates that the block stores less data per memory cell than is stored during the programmed state.
KURZE BESCHREIBUNG DER FIGURENBRIEF DESCRIPTION OF THE FIGURES
Die obigen und andere Aufgaben und Merkmale werden aus der folgenden Beschreibung unter Bezugnahme auf die folgenden Figuren offensichtlich werden, worin gleiche Bezugszeichen sich auf gleiche Teile über die gesamten Figuren hinweg beziehen, soweit nicht anders spezifiziert, und worin:
-
1 ein Blockschaltbild ist, welches ein Speichersystem gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
2 ein Diagramm ist, welches einen Speicherblock in1 gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
3 eine Querschnittsansicht eines Speicherblocks in2 gemäß einer Ausführungsform der erfinderischen Konzepte ist; -
4 ein vergrößertes Diagramm ist, welches einen von Zelltransistoren in3 veranschaulicht; -
5 ein Konzeptdiagramm ist, welches veranschaulicht, wie ein Speicherblock überschrieben wird; -
6 ein Diagramm ist, welches eine Überschreiboperation gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
7 ein Diagramm ist, welches eine Überschreiboperation gemäß einer anderen Ausführungsform der erfinderischen Konzepte veranschaulicht; -
8 ein Diagramm ist, welches eine Überschreiboperation veranschaulicht, welche folgend auf eine 3-Bit-Programmieroperation gemäß einer Ausführungsform der erfinderischen Konzepte ausgeführt wird; -
9 ein Diagramm ist, welches eine Überschreiboperation in8 gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
10 ein Diagramm ist, welches eine Überschreiboperation in8 gemäß einer anderen Ausführungsform der erfinderischen Konzepte veranschaulicht; -
11 ein Diagramm ist, welches eine Programmieroperation veranschaulicht, welche in einem multidimensionalen Modulationsschema durch eine Überschreiboperation nach einer 3-Bit-Programmieroperation ausgeführt wird; -
12 ein Diagramm ist, welches eine Programmieroperation in11 gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
13 ein Konzeptdiagramm ist, welches schematisch ein Programmierverfahren gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
14 ein Konzeptdiagramm ist, welches schematisch ein Programmierverfahren gemäß einer anderen Ausführungsform der erfinderischen Konzepte veranschaulicht, -
15 ein Konzeptdiagramm ist, welches schematisch ein Programmierverfahren gemäß noch einer anderen Ausführungsform der erfinderischen Konzepte veranschaulicht; -
16 ein Flussdiagramm ist, welches ein Blockverwaltungsverfahren gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
17 ein Diagramm ist, welches ein Blockmodus-Bestimmungsverfahren gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
18 ein Diagramm ist, welches ein Blockmodus-Bestimmungsverfahren gemäß einer anderen Ausführungsform der erfinderischen Konzepte veranschaulicht; -
19 ein Diagramm ist, welches ein Blockmodus-Speicherverfahren gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
20 ein Flussdiagramm ist, welches ein Löschverfahren eines Speichersystems gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
21 ein Flussdiagramm ist, welches ein Löschverfahren eines Speichersystems gemäß einer anderen Ausführungsform der erfinderischen Konzepte veranschaulicht, -
22 ein Diagramm ist, welches schematisch eine Lebensdauer eines Blocks gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
23 ein Diagramm ist, welches eine nichtflüchtige Speichervorrichtung in1 gemäß einer Ausführungsform der erfinderischen Konzepte zeigt; -
24 ein Schaltbild ist, welches einen von Blöcken in23 veranschaulicht, -
25 eine Tabelle ist, welche eine Korrelation zwischen der Anzahl von Extrazuständen und einer Löschfrequenzverringerung bzw. Löschhäufigkeitsverringerung veranschaulicht, wenn alle Zellen eines Blocks eines Speichersystems einen Extrazustand haben; -
26 eine Tabelle ist, welche eine Korrelation zwischen der Anzahl von Extrazuständen und einer Löschfrequenzverringerung veranschaulicht, wenn die Hälfte von Zellen eines Blocks eines Speichersystems einen Extrazustand haben; -
27 ein Blockschaltbild ist, welches schematisch ein Speichersystem gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
28 ein Blockschaltbild ist, welches schematisch eine Speicherkarte gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
29 ein Blockschaltbild ist, welches schematisch ein moviNAND gemäß einer Ausführungsform der erfinderischen Konzepte zeigt; -
30 ein Blockschaltbild ist, welches schematisch ein Festkörperlaufwerk gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; -
31 ein Blockschaltbild ist, welches schematisch ein Berechnungssystem bzw. Computersystem, welches ein SSD in30 gemäß einer Ausführungsform der erfinderischen Konzepte aufweist, veranschaulicht; -
32 ein Blockschaltbild ist, welches schematisch eine elektronische Vorrichtung, welche ein SSD in30 gemäß einer Ausführungsform der erfinderischen Konzepte aufweist, veranschaulicht; -
33 ein Blockschaltbild ist, welches schematisch ein Serversystem, welches ein SSD in30 gemäß einer Ausführungsform der erfinderischen Konzepte aufweist, veranschaulicht; -
34 ein Blockschaltbild ist, welches schematisch eine Mobilvorrichtung gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht; und -
35 ein Blockschaltbild ist, welches schematisch eine handgeführte elektronische Vorrichtung gemäß einer Ausführungsform der erfinderischen Konzepte veranschaulicht.
-
1 Figure 12 is a block diagram illustrating a memory system according to an embodiment of the inventive concepts; -
2 is a diagram showing a block of memory in1 illustrated according to an embodiment of the inventive concepts; -
3 a cross-sectional view of a memory block in2 is according to an embodiment of the inventive concepts; -
4 is an enlarged diagram showing one of cell transistors in3 illustrated; -
5 Figure 12 is a conceptual diagram illustrating how a memory block is overwritten; -
6 Figure 12 is a diagram illustrating an overwrite operation according to an embodiment of the inventive concepts; -
7 Figure 12 is a diagram illustrating an overwrite operation according to another embodiment of the inventive concepts; -
8th Figure 12 is a diagram illustrating an overwrite operation performed following a 3-bit programming operation according to an embodiment of the inventive concepts; -
9 is a diagram showing an overwrite operation in8th illustrated according to an embodiment of the inventive concepts; -
10 is a diagram showing an overwrite operation in8th illustrated according to another embodiment of the inventive concepts; -
11 Fig. 12 is a diagram illustrating a program operation performed in a multidimensional modulation scheme by an overwrite operation after a 3-bit program operation; -
12 is a diagram representing a programming operation in11 illustrated according to an embodiment of the inventive concepts; -
13 12 is a conceptual diagram schematically illustrating a programming method according to an embodiment of the inventive concepts; -
14 12 is a conceptual diagram schematically illustrating a programming method according to another embodiment of the inventive concepts. -
15 12 is a conceptual diagram schematically illustrating a programming method according to yet another embodiment of the inventive concepts; -
16 Figure 12 is a flow chart illustrating a block management method according to an embodiment of the inventive concepts; -
17 12 is a diagram illustrating a block mode determination method according to an embodiment of the inventive concepts; -
18 12 is a diagram illustrating a block mode determination method according to another embodiment of the inventive concepts; -
19 Figure 12 is a diagram illustrating a block mode storage method according to an embodiment of the inventive concepts; -
20 Figure 12 is a flow chart illustrating an erasing method of a memory system according to an embodiment of the inventive concepts; -
21 Figure 12 is a flow chart illustrating an erasing method of a memory system according to another embodiment of the inventive concepts. -
22 Fig. 12 is a diagram schematically illustrating a lifetime of a block according to an embodiment of the inventive concepts; -
23 is a diagram showing a non-volatile memory device in1 according to an embodiment of the inventive concepts; -
24 is a circuit diagram showing one of blocks in23 illustrates -
25 Figure 12 is a table illustrating a correlation between the number of extra states and an erase frequency reduction when all cells of a block of a memory system have an extra state; -
26 Figure 12 is a table illustrating a correlation between the number of extra states and an erase frequency reduction when half of cells of a block of a memory system have an extra state; -
27 Figure 12 is a block diagram schematically illustrating a memory system according to an embodiment of the inventive concepts; -
28 Figure 12 is a block diagram schematically illustrating a memory card according to an embodiment of the inventive concepts; -
29 Fig. 12 is a block diagram schematically showing a moviNAND according to an embodiment of the inventive concepts; -
30 Figure 12 is a block diagram schematically illustrating a solid state drive according to an embodiment of the inventive concepts; -
31 is a block diagram which schematically shows a computing system or computer system which has an SSD in30 according to an embodiment of the inventive concepts; -
32 Fig. 12 is a block diagram schematically showing an electronic device including an SSD in30 according to an embodiment of the inventive concepts; -
33 is a block diagram that schematically shows a server system that has an SSD in30 according to an embodiment of the inventive concepts; -
34 Figure 12 is a block diagram schematically illustrating a mobile device according to an embodiment of the inventive concepts; and -
35 12 is a block diagram schematically illustrating a handheld electronic device according to an embodiment of the inventive concepts.
DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION
Ausführungsformen werden im Detail unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden. Die erfinderischen Konzepte können jedoch in vielen unterschiedlichen Formen ausgeführt werden und sollten nicht als nur auf die veranschaulichten Ausführungsformen beschränkt angesehen werden. Vielmehr sind diese Ausführungsformen als Beispiele vorgesehen, so dass diese Offenbarung sorgfältig und vollständig sein wird, und das Konzept des erfinderischen Konzepts Fachleuten vollständig vermitteln wird. Demzufolge werden bekannte Vorgänge, Elemente und Techniken hinsichtlich einigen der Ausführungsformen des erfinderischen Konzepts nicht beschrieben. Sofern nicht anders angemerkt, bezeichnen gleiche Bezugszeichen gleiche Elemente über die beigefügten Zeichnungen und die schriftliche Beschreibung hinweg und demnach werden Beschreibungen nicht wiederholt werden. In den Zeichnungen können die Größen und relativen Größen von Schichten und Bereichen für die Klarheit übertrieben bzw. überzogen sein.Embodiments will be described in detail with reference to the accompanying drawings. However, the inventive concepts may be embodied in many different forms and should not be construed as limited only to the illustrated embodiments. Rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the concept of the inventive concept to those skilled in the art. Accordingly, well-known processes, elements, and techniques regarding some of the embodiments of the inventive concept will not be described. Unless otherwise noted, like reference numbers refer to like elements throughout the accompanying drawings and written description, and accordingly descriptions will not be repeated. In the drawings, the sizes and relative sizes of layers and regions may be exaggerated for clarity.
Es wird verstanden werden, dass, obwohl der Wortlaut erster/erste/erstes, zweiter/zweite/zweites, dritter/dritte/drittes etc. hierin verwendet werden kann, um verschiedene Elemente, Komponenten bzw. Bestandteile, Bereiche, Schichten und/oder Sektionen zu beschreiben, diese Elemente, Komponenten bzw. Bestandteile, Bereiche, Schichten und/oder Sektionen durch diese Wortlaute nicht beschränkt werden sollten. Diese Wortlaute werden verwendet, um ein Element, eine Komponente bzw. einen Bestandteil, einen Bereich, eine Schicht und/oder eine Sektion von einem anderen Element, Komponente bzw. Bestandteil, Bereich, Schicht und/oder Sektion zu unterscheiden. Demnach könnte ein erstes Element, Komponente bzw. Bestandteil, Bereich, Schicht und/oder Sektion, welcher/welche/welches untenstehend diskutiert wird, als ein zweites Element, Komponente bzw. Bestandteil, Bereich, Schicht und/oder Sektion bezeichnet werden, ohne von den Lehren des vorliegenden erfinderischen Konzepts abzuweichen.It will be understood that although the wording first/first, second/second/second, third/third/third etc. may be used herein to denote various elements, components, regions, layers and/or sections to describe, these elements, components, regions, layers and/or sections should not be limited by these language. These words are used to distinguish one element, component, region, layer, and/or section from another element, component, region, layer, and/or section. Thus, a first element, component, region, layer, and/or section discussed below could be referred to as a second element, component, region, layer, and/or section, without deriving from to deviate from the teachings of the present inventive concept.
Räumlich relative Wortlaute wie beispielsweise „darunter“, „unterhalb“, „niedriger“, „unter“, „über“, „oberer“ und dergleichen können hierin zur Erleichterung der Beschreibung verwendet werden, um ein Element oder eine Beziehung eines Merkmals zu (einem) anderen Element(en) oder Merkmal(en) zu beschreiben, wie in den Figuren veranschaulicht ist. Es wird verstanden werden, dass die räumlichen relativen Wortlaute vorgesehen sind, um verschiedene Orientierungen der Vorrichtung in Verwendung oder im Betrieb zusätzlich zu den Orientierungen, welche in den Figuren veranschaulicht sind, zu erfassen. Wenn beispielsweise die Vorrichtung in den Figuren umgedreht wird, würden Elemente, welche beschrieben sind, als „unterhalb“ oder „darunter“ oder „unter“ anderen Elementen oder Merkmalen dann „über“ den anderen Elementen oder Merkmalen orientiert sein. Demnach können die beispielhaften Wortlaute „unterhalb“ und „unter“ sowohl eine Orientierung überhalb als auch unterhalb erfassen. Die Vorrichtung kann anderweitig orientiert sein (um 90 Grad gedreht oder unter anderen Orientierungen) und die räumlich relativen Beschreibungen, welche hierin verwendet werden, können dementsprechend interpretiert werden. Zusätzlich wird es auch verstanden werden, dass wenn auf eine Schicht Bezug genommen wird als „zwischen“ zwei Schichten, es die einzige Schicht zwischen den zwei Schichten sein kann oder eine oder mehrere dazwischenliegende Schichten auch anwesend sein können.Spatially relative terms such as "below," "below," "lower," "below," "above," "upper," and the like, may be used herein for ease of description to indicate an element or relationship of a feature to (a ) other element(s) or feature(s) as illustrated in the figures. It will be understood that the spatial relative wording is intended to capture different orientations of the device in use or operation in addition to the orientations illustrated in the figures. For example, if the device in the figures is turned over, elements described as being oriented "below" or "below" or "below" other elements or features would then be oriented "above" the other elements or features. Thus, the example phrases “beneath” and “below” can capture both an above and below orientation. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly. Additionally, it will also be understood that when a layer is referred to as "between" two layers, it may be the only layer between the two layers, or one or more intervening layers may also be present.
Die Terminologie, welche hierin verwendet wird, ist nur zum Zwecke des Beschreibens bestimmter Ausführungsformen und ist nicht vorgesehen, um für das erfinderische Konzept beschränkend zu sein. Wie hierin verwendet, sind die Singularformen „einer/eine/eines“ und „der/die/das“ vorgesehen, um ebenso die Pluralformen zu umfassen, sofern der Kontext bzw. Zusammenhang nicht deutlich Anderes anzeigt. Es wird weiterhin verstanden werden, dass die Wortlaute „weist auf‟ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bzw. Bestandteilen spezifizieren, jedoch die Anwesenheit oder Hinzufügung von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten bzw. Bestandteilen und/oder Gruppen davon nicht ausschlie-ßen. Wie hierin verwendet, umfasst der Wortlaut „und/oder“ irgendeine und alle Kombinationen von einem oder mehreren der zugehörigen aufgelisteten Gegenstände. Ebenso ist der Wortlaut „beispielhaft“ vorgesehen, um sich auf ein Beispiel oder eine Veranschaulichung zu beziehen.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the inventive concept. As used herein, the singular forms “a/an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the phrases "comprises" and/or "comprising" when used in this specification specify the presence of recited features, integers, steps, operations, elements and/or components , but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and/or groups thereof. As used herein, the wording “and/or” includes any and all combinations of one or more of the related listed items. Likewise, the wording “exemplary” is provided to refer to an example or illustration.
Es wird verstanden werden, dass wenn auf ein Element oder eine Schicht Bezug genommen wird als „auf‟, „verbunden mit“, „gekoppelt mit“ oder „benachbart zu“ einem anderen Element oder einer anderen Schicht, es direkt auf, verbunden mit, gekoppelt oder benachbart zu dem anderen Elemet oder der anderen Schicht sein kann oder dazwischen liegende Elemente oder Schichten gegenwärtig sein können. Im Gegensatz hierzu sind, wenn auf ein Element Bezug genommen wird als „direkt auf‟ „direkt verbunden mit“ „direkt gekoppelt mit“ oder „direkt benachbart zu“ einem anderen Element oder Schicht, keine dazwischen angeordneten Elemente oder Schichten gegenwärtig.It will be understood that when an element or layer is referred to as "on", "connected to", "coupled to" or "adjacent to" another element or layer, it is directly on, connected to, may be coupled to or adjacent to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as "directly on," "directly connected to," "directly coupled to," or "directly adjacent to" another element or layer, no intervening elements or layers are present.
Soweit nicht anderweitig definiert, haben alle Wortlaute (einschließlich technischer und wissenschaftlicher Wortlaute), welche hierin verwendet werden, dieselbe Bedeutung, wie sie allgemein durch einen Fachmann, zu welchem das Gebiet des erfinderischen Konzepts gehört, verstanden werden. Es wird weiterhin verstanden werden, dass Wortlaute, wie beispielsweise diejenigen Wortlaute, welche in allgemein verwendeten Wörterbüchern definiert sind, interpretiert werden sollen, als eine Bedeutung habend, welche konsistent mit ihrer Bedeutung in dem Kontext des relevanten Fachgebiets und/oder der vorliegenden Beschreibung ist, und nicht in einem idealisierten oder übermäßig formalen Sinn interpretiert werden werden, soweit nicht ausdrücklich hierin so definiert.Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by a person skilled in the art to which the field of the inventive concept belongs. It will be further understood that words, such as those words defined in commonly used dictionaries, should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and/or the present specification, and are not to be construed in an idealized or overly formal sense, except as expressly defined herein.
Die wenigstens eine nichtflüchtige Speichervorrichtung 100 gemäß einer Ausführungsform des erfinderischen Konzepts kann ein NAND Flashspeicher, ein vertikaler NAND (VNAND = Vertical NAND)-Flashspeicher, ein NOR Flashspeicher, ein resistiver Schreib- und Lesespeicher (RRAM = Resistive Random Access Memory), ein Phasenübergangs RAM (PRAM = Phase-Change RAM), ein magnetoresistiver RAM (MRAM = Magnetoresistive RAM), ein ferroelektrischer RAM (FRAM = Ferroelectric RAM), ein Spin-Drehmoment-Übertrags RAM (STT-RAM = Spin Transfer Torque), oder dergleichen sein. Weiterhin kann die nichtflüchtige Speichervorrichtung 100 gemäß einer Ausführungsform der erfinderischen Konzepte implementiert sein, so dass sie eine dreidimensionale Anordnungsstruktur bzw. Matrixstruktur hat. Die erfinderischen Konzepte sind anwendbar auf eine Flashspeichervorrichtung, in welcher eine Ladungsspeicherschicht aus einem leitfähigen Floating-Gate gebildet ist, und auf einen Ladungseinfang-Flash (CTF = Charge Trap Flash)-Speicher, in welchem eine Ladungsspeicherschicht aus einem isolierenden Film bzw. einer isolierenden Schicht gebildet ist. Untenstehend kann zur Erleichterung der Beschreibung angenommen werden, dass eine nichtflüchtige Speichervorrichtung 100 eine vertikale NAND (VNAND)-Flashspeichervorrichtung ist, welche eine dreidimensionale Anordnungsstruktur hat.The at least one
Die nichtflüchtige Speichervorrichtung 100 kann eine Mehrzahl von Speicherblöcken BLK1 bis BLKz aufweisen, von welchen sich jeder in eine Richtung (eine zweite Richtung) rechtwinklig zu einem Substrat erstreckt. Hierin kann das Substrat in einer ersten und einer dritten Richtung gebildet sein. Hierin können die erste bis dritte Richtung rechtwinklig zueinander sein. Jeder der Speicherblöcke BLK1 bis BLKz kann eine Mehrzahl von Unterblöcken (nicht gezeigt) aufweisen. Die Unterblöcke können verschiedene strukturelle Eigenschaften oder elektrische Eigenschaften haben.The
Jeder der Speicherblöcke BLK1 bis BLKz kann wenigstens einen String bzw. Strang aufweisen, welcher eine Mehrzahl von Speicherzellen hat, welche durch ein Aufeinanderstapeln wenigstens einer Strangauswahlleitung, einer Mehrzahl von Wortleitungen und wenigstens einer Masseauswahlleitung in einer rechtwinkligen Richtung zu dem Substrat gebildet sind. Hierin kann jede Speicherzelle mit einer entsprechenden Bitleitung verbunden sein und speichert jeweils wenigstens ein Bit.Each of the memory blocks BLK1 to BLKz may include at least one string having a plurality of memory cells formed by stacking at least one string select line, a plurality of word lines and at least one ground select line in a direction perpendicular to the substrate. Herein, each memory cell may be connected to a corresponding bit line and stores at least one bit at a time.
Was wenigstens eine der Speicherzellen betrifft, kann eine m-Bit-Programmieroperation (m ist eine natürliche Zahl) durchgeführt werden, und dann kann eine n-Bit-Programmieroperation (n ist eine reelle Zahl) durch eine Überschreiboperation durchgeführt werden. Hierin weist die Überschreiboperation ein Programmieren eines früheren Zustandes auf, welcher bei der m-Bit-Programmieroperation programmiert wurde, so dass er wenigstens einen Extrazustand hat, welcher eine höhere Schwellenspannungsverteilung hat als der frühere Zustand. M-Bit-Daten, welche durch den früheren Zustand definiert sind, werden nach dem Durchführen der n-Bit-Programmieroperation durch die Überschreiboperation ungültig. Das heißt sozusagen, dass n-Bit-Daten, welche in der Speicherzelle gespeichert sind, die n-Bit-Programmieroperation erfahren haben, nachdem die m-Bit-Programmieroperation Daten, welche gültig sind, gespeichert hat.As for at least one of the memory cells, an m-bit (m is a natural number) programming operation can be performed, and then an n-bit (n is a real number) programming operation can be performed by an overwrite operation. Herein, the overwrite operation comprises programming a previous state that was programmed in the m-bit programming operation to have at least one extra state that has a higher threshold voltage distribution than the previous state. M-bit data defined by the previous state becomes invalid after performing the n-bit program operation by the overwrite operation. That is to say, n-bit data stored in the memory cell has undergone the n-bit program operation after the m-bit program operation has stored data that is valid.
In beispielhaften Ausführungsformen ist die Anzahl der früheren Zustände, welche durch die m-Bit-Programmieroperation programmiert wurden, 2^m und n kann kleiner sein als m.In exemplary embodiments, the number of prior states programmed by the m-bit programming operation is 2^m and n may be less than m.
In anderen beispielhaften Ausführungsformen kann n gleich oder kleiner als m sein. In noch einer anderen Ausführungsform kann n gleich oder größer als m sein.In other example embodiments, n may be equal to or less than m. In yet another embodiment, n can be equal to or greater than m.
Ein VNAND, in welchem obere Speicherzellen, welche mit oberen Wortleitungen verbunden sind, mehrere Programmierzustände haben als untere Speicherzellen, welche mit unteren Wortleitungen verbunden sind, ist in der
Weitere und detailliertere Beschreibungen der Speicherblöcke BLK1 bis BLKz sind in den U.S. Patentanmeldungen mit den Nr.
Der Speichercontroller 200 kann einen Gesamtbetrieb der flüchtigen Speichervorrichtung 100 wie beispielsweise eine Programmieroperation, eine Leseoperation und eine Löschoperation steuern. Der Speichercontroller 200 kann ein Überschreib-Verwaltungsmodul bzw. Überschreib-Managementmodul 220 und ein Blockverwaltungsmodul bzw. Blockmanagementmodul 240 aufweisen.The
Das Überschreib-Verwaltungsmodul 220 kann eine Ausführung einer Überschreiboperation verwalten bzw. managen. In beispielhaften Ausführungsformen verwaltet das Überschreib-Verwaltungsmodul 220 die Ausführung der Überschreiboperation durch die Einheit von einem Block, Unterblock oder einer Seite. Beispielsweise kann das Überschreib-Verwaltungsmodul 220 die Ausführung einer Überschreiboperation auf jedem Speicherblock beurteilen und eine Überschreibanzahl von jedem Speicherblock verwalten, wenn eine Schreiboperation ausgeführt wird. Beispielsweise kann das Überschreib-Verwaltungsmodul 220 beurteilen, ob eine Überschreiboperation auf einem der Speicherblöcke BLK1 bis BLKz durchgeführt werden kann. Wenn eine Überschreiboperation auf einem Block möglich ist, kann das Überschreib-Verwaltungsmodul 220 eine Programmieroperation auf dem Block durch eine Überschreiboperation durchführen und eine Überschreibanzahl entsprechend dem überschriebenen Speicherblock aktualisieren und speichern. Hierin kann, ob eine Ausführung der Überschreiboperation durchgeführt werden soll gemäß einem Zustand (beispielsweise einem Datenzustand oder einem Gesundheitszustand) eines Blocks bestimmt werden, welcher mit der Löschmöglichkeit verbunden ist. Das heißt, ein Block, welcher für eine Überschreiboperation geeignet ist, speichert Daten, welche durch eine Firmware, welche auf dem Speichercontroller arbeitet, ungültig gemacht wurden.The
In beispielhaften Ausführungsformen kann gemäß einem Datenzustand jedes Speicherblocks bestimmt werden, ob die Ausführung der Überschreiboperation auszuführen ist. Beispielsweise kann eine Überschreiboperation auf einem Speicherblock durchgeführt werden, wenn Daten, welche in dem Speicherblock gespeichert sind, ungültige Daten sind, oder wenn die Anzahl von ungültigen Seiten in dem Speicherblock über einem Referenzwert ist.In example embodiments, whether to perform the execution of the overwrite operation may be determined according to a data state of each memory block. For example, an overwrite operation may be performed on a memory block when data stored in the memory block is invalid data or when the number of invalid pages in the memory block is above a reference value.
In anderen beispielhaften Ausführungsformen kann gemäß einem Gesundheitszustand jedes Speicherblocks bestimmt werden, ob eine Ausführung der Überschreiboperation durchzuführen ist. Beispielsweise kann eine Überschreiboperation auf einem Speicherblock durchgeführt werden, wenn eine Programmier-/Lösch-Zyklusanzahl des Speicherblocks unter einem Referenzwert ist.In other example embodiments, it may be determined according to a health state of each memory block whether to perform the rewrite operation execution. For example, an overwrite operation may be performed on a memory block when a program/erase cycle count of the memory block is below a reference value.
In beispielhaften Ausführungsformen kann das Überschreib-Verwaltungsmodul 220 eine Überschreibanzahl durch bzw. über den Block, den Unterblock oder die Seite des Blocks verwalten.In example embodiments, the
Das Blockverwaltungsmodul 240 kann die Speicherblöcke BLK1 bis BLKz basierend auf der Überschreibanzahl verwalten. Beispielsweise kann das Blockverwaltungsmodul 240 einen Speicherblock löschen, wenn eine Überschreibanzahl des Speicherblocks über einem Referenzwert ist.The
Ein herkömmliches Speichersystem kann konfiguriert sein, so dass es einen Speicherblock gemäß einem Datenzustand oder einer Programmier-/Lösch-Zyklenanzahl löscht. Andererseits kann das Speichersystem 10 der erfinderischen Konzepte konfiguriert sein, so dass es eine Überschreiboperation vor einer Löschoperation bestimmt und dass es dann einen Speicherblock basierend auf einer Überschreibanzahl löscht. Verglichen mit dem herkömmlichen Speichersystem kann das Speichersystem 10 der erfinderischen Konzepte die Anzahl von Löschoperationen eines Speicherblocks verringern. Demnach kann das Speichersystem 10 der erfinderischen Konzepte die Zuverlässigkeit, welche mit einer Löschoperation verbunden ist, verbessern.A conventional memory system can be configured to erase a memory block according to a data state or a program/erase cycle count. On the other hand, the
Das Speichersystem 10 der erfinderischen Konzepte kann eine Incremental Step Pulse Erase (ISPE)-Zyklusanzahl, welche benötigt wird, um einen Löschzustand zu erreichen, durch ein Durchführen einer Überschreiboperation vor der Löschoperation, verringern.The
In
Ein Speicherblock gemäß einer Ausführungsform des erfinderischen Konzepts kann derart konfiguriert sein, dass zwei Wortleitungen in einer Schicht zwischen zwei Wortleitungsschnitten zu einer zusammengeführt werden. In anderen Worten gesagt kann der Speicherblock gemäß einer Ausführungsform der erfinderischen Konzepte als eine zusammengeführte Wortleitungsstruktur konfiguriert sein.A memory block according to an embodiment of the inventive concept may be configured such that two word lines in a layer are merged into one between two word line cuts. In other words, according to an embodiment of the inventive concepts, the memory block may be configured as a merged word line structure.
Eine Mehrzahl von Dotierungsbereichen 131 bis 133, welche sich entlang der ersten Richtung erstrecken, können in dem Substrat 111 vorgesehen sein. Die Dotierungsbereiche 131 bis 133 können voneinander entlang einer dritten Richtung beabstandet sein. Hierin nachstehend kann auf die Dotierungsbereiche 131 bis 133 jeweils Bezug genommen werden als ein erster Dotierungsbereich 131, ein zweiter Dotierungsbereich 132 und ein dritter Dotierungsbereich 133.A plurality of
Der erste bis dritte Dotierungsbereich 131 bis 133 kann einen zweiten Leitfähigkeitstyp unterschiedlich von dem Substrat 111 haben. Beispielsweise können der erste bis dritte Dotierungsbereich 131 bis 133 vom n-Typ sein. Hierin nachstehend wird angenommen, dass der erste bis dritte Dotierungsbereich 131 bis 133 vom n-Typ ist. Die Dotierungsbereiche 131 bis 133 sind jedoch nicht auf den n-Typ beschränkt.The first to
Zwischen zwei benachbarten Bereichen des ersten und dritten Dotierungsbereichs 131 bis 133 kann eine Mehrzahl von isolierenden Materialien bzw. Isoliermaterialien 112 und 112a aufeinanderfolgend auf dem Substrat 111 entlang einer zweiten Richtung (d.h. einer Richtung rechtwinklig zu dem Substrat 111) vorgesehen sein. Die Isoliermaterialien 112 und 112a können entlang der zweiten Richtung beabstandet sein. Die Isoliermaterialien 112 und 112a können sich entlang einer ersten Richtung erstrecken. Beispielsweise können die Isoliermaterialien 112 und 112a ein Isoliermaterial wie beispielsweise einen Siliziumoxidfilm aufweisen. Das Isoliermaterial 112a, welches das Substrat 111 kontaktiert bzw. mit dem Substrat 111 in Kontakt steht, kann in der Dicke dünner sein als andere Isoliermaterialien 112.Between two adjacent portions of the first and
Zwischen zwei benachbarten Bereichen des ersten bis dritten Dotierungsbereiches 131 bis 133 kann eine Mehrzahl von Säulen PL nacheinanderfolgend entlang der ersten Richtung angeordnet sein, so dass sie die Mehrzahl von Isoliermaterialien 112 und 112a entlang der zweiten Richtung durchdringt. Beispielsweise können die Säulen PL mit dem Substrat 111 in Kontakt stehen, so dass sie die Isoliermaterialien 112 und 112a durchdringen.Between two adjacent portions of the first to
In beispielhaften Ausführungsformen können die Säulen PL jeweils aus einer Mehrzahl von Schichten gebildet sein. Jede der Säulen PL kann einen Kanalfilm 114 und ein inneres Material 115 aufweisen. In jeder der Säulen PL kann der Kanalfilm 114 gebildet sein, so dass er das innere Material 115 umgibt.In exemplary embodiments, the pillars PL may each be formed from a plurality of layers. Each of the pillars PL may include a
Die Kanalfilme 114 können ein Halbleitermaterial (beispielsweise Silizium) aufweisen, welches einen ersten Leitfähigkeitstyp hat. Beispielsweise können die Kanalfilme 114 ein Halbleitermaterial aufweisen (beispielsweise Silizium), welches denselben Typ wie das Substrat 111 hat. Untenstehend wird angenommen, dass die Kanalfilme 114 ein p-Typ Silizium aufweisen. Die erfinderischen Konzepte sind jedoch nicht hierauf beschränkt. Beispielsweise können die Kanalfilme einen intrinsischen Halbleiter aufweisen, welcher ein Nichtleiter ist.The
Die inneren Materialien 115 können ein Isoliermaterial aufweisen. Beispielsweise können die inneren Materialien 115 ein Isoliermaterial wie beispielsweise Siliziumoxid aufweisen. Alternativ können die inneren Materialien 115 einen Luftspalt aufweisen.The
Zwischen zwei benachbarten Bereichen des ersten bis dritten Dotierungsbereichs 131 bis 133 können Informationsspeicherfilme 116 an freiliegenden Oberflächen der Isoliermaterialien 112 und 112 und der Säulen PL vorgesehen sein. In beispielhaften Ausführungsformen kann eine Dicke des Informationsspeicherfilms 116 kleiner sein als ein Abstand zwischen den Isoliermaterialien 112 und 112a. Eine Breite des Informationsspeicherfilms 116 kann in inverser Proportionalität zu einer Tiefe bzw. Höhe der Säule stehen. Beispielsweise ist die Breite des Informationsspeicherfilms 116 umso breiter je tiefer die Säule PL gemessen von einer Drain 151 ist.Between two adjacent areas of the first to
Zwischen zwei benachbarten Bereichen des ersten bis dritten Dotierungsbereichs 131 bis 133 und zwischen den Isoliermaterialien 112 und 112a können leitfähige Materialien CM an freiliegenden Oberflächen der Informationsspeicherfilme 116 vorgesehen sein. Ein leitfähiges Material CM kann zwischen einem Informationsspeicherfilm, welcher an einer unteren Oberfläche eines oberen Isoliermaterials der Isoliermaterialien 112 und 112a vorgesehen ist, und einem Informationsspeicherfilm 116, welcher an einer oberen Oberfläche eines unteren Isoliermaterials davon vorgesehen ist, vorgesehen sein. In beispielhaften Ausführungsformen können die leitfähigen Materialien ein metallisches leitfähiges Material aufweisen. Die leitfähigen Materialien CM können ein nichtmetallisches leitfähiges Material wie beispielsweise Polysilizium aufweisen.Conductive materials CM may be provided on exposed surfaces of the
In beispielhaften Ausführungsformen können Informationsspeicherfilme 116, welche an einer oberen Oberfläche eines Isoliermaterials vorgesehen sind, welches an der obersten Schicht der Isoliermaterialien 112 und 112a platziert ist, entfernt werden. In beispielhaften Ausführungsformen können Informationsspeicherfilme 116, welche an Seiten gegenüber den Säulen PL unter den Seiten der Isoliermaterialien 112 und 112 vorgesehen sind, entfernt werden.In exemplary embodiments,
Eine Mehrzahl von Drains 151 kann auf der Mehrzahl von Säulen PL vorgesehen sein. Die Drains 151 können ein Halbleitermaterial (beispielsweise Silizium) aufweisen, welches beispielsweise einen zweiten Leitfähigkeitstyp hat. Die Drains 151 können ein n-Typ Halbleitermaterial (beispielsweise Silizium) aufweisen. Untenstehend wird angenommen, dass die Drain 151 n-Typ Silizium aufweisen. Die erfinderischen Konzepte sind jedoch nicht darauf beschränkt. Die Drains 151 können zu der Oberseite der Kanalfilme 114 der Säulen PL erstreckt sein.A plurality of
Bitleitungen BL, welche sich in der zweiten Richtung erstrecken, können auf den Drains 151 vorgesehen sein, so dass sie voneinander entlang der ersten Richtung beabstandet sind. Die Bitleitungen BL können mit den Drains 151 gekoppelt sein. In beispielhaften Ausführungsformen können die Drains 151 und die Bitleitungen BL über Kontaktstecker (contact plugs, nicht gezeigt) verbunden sein. Die Bitleitungen können ein metallisches leitfähiges Material aufweisen. Alternativ können die Bitleitungen BL ein nichtmetallisches leitfähiges Material, wie beispielsweise Polysilizium aufweisen.Bit lines BL extending in the second direction may be provided on the
Die Mehrzahl von Säulen PL kann zusammen mit den Informationsspeicherfilmen 116 und der Mehrzahl von leitfähigen Materialien vertikale Stränge bilden. Jede der Säulen PL kann einen vertikalen Strang mit Informationsspeicherfilmen 116 und benachbarten leitfähigen Materialien bilden.The plurality of pillars PL may form vertical strands together with the
Jeder der vertikalen Stränge kann eine Mehrzahl von Zelltransistoren (oder Speicherzellen), welche in einer vertikalen Richtung zu dem Substrat 111 gestapelt sind, aufweisen. In
Die Informationsspeicherfilme 116 können sich zu oberen Oberflächen und unteren Oberflächen des leitfähigen Materials CM von Bereichen zwischen den leitfähigen Materialien CM und der Säule PL erstrecken. Jeder der Informationsspeicherfilme 116 kann einen ersten bis dritten Unterisolierfilm 117, 118 und 119 aufweisen. In den Zelltransistoren CT können Kanalfilme 114 der Säulen PL das gleiche p-Typ Silizium wie ein Substrat 111 aufweisen.The
Der Kanalfilm 114 kann als ein Körper des Zelltransistors CT agieren. Der Kanalfilm 114 kann in einer Richtung rechtwinklig zu dem Substrat 111 gebildet sein. Demnach kann der Kanalfilm 114 der Säulen PL als ein vertikaler Körper des Kanalfilms 114 agieren. Kanäle, welche an dem Kanalfilm 114 der Säule PL gebildet sind, können als vertikale Kanäle agieren.The
Die leitfähigen Materialien CM können als Gates (oder Steuergates) agieren. Der erste Unterisolierfilm 117 benachbart zu den Säulen PL kann als ein Tunnelisolierfilm agieren. Beispielsweise kann der erste Unterisolierfilm 117 benachbart zu der Säule PL jeweils einen thermischen Oxidfilm aufweisen. Die ersten Unterisolierfilme 117 können jeweils einen Siliziumoxidfilm aufweisen.The conductive materials CM can act as gates (or control gates). The first
Die zweiten Unterisolierfilme 118 können als Ladungsspeicherfilme agieren. Beispielsweise können die zweiten Unterisolierfilme 118 jeweils als Ladungseinfangfilme agieren. Beispielsweise können die zweiten Unterisolierfilme 118 jeweils einen Nitridfilm oder einen Metalloxidfilm (beispielsweise einen Aluminiumoxidfilm, einen Hafniumoxidfilm etc.) aufweisen. Die zweiten Unterisolierfilme 118 können einen Siliziumnitridfilm aufweisen.The second
Die dritten Unterisolierfilme 119 benachbart zu den leitfähigen Materialien können als Sperrisolierfilme agieren. In beispielhaften Ausführungsformen können die dritten Unterisolierfilme 119 aus einer einzigen Schicht oder mehreren Schichten gebildet sein. Die dritten Unterisolierfilme 119 können ein hochdielektrischer Film (beispielsweise ein Aluminiumoxidfilm, ein Hafniumoxidfilm etc.) sein, welcher eine dielektrische Konstante hat, die größer ist als diejenige des bzw. der ersten und zweiten Unterisolierfilm(e) 117 und 118. Die dritten Unterisolierfilme 119 können jeweils einen Siliziumoxidfilm aufweisen.The third
In beispielshaften Ausführungsformen können die ersten bis dritten Unterisolierfilme 117 bis 119 ONO (Oxid-Nitrid-Oxid) aufbauen bzw. konstituieren. Das heißt, die Mehrzahl von leitfähigen Materialien CM, welche als Gates agieren (oder als Steuergates), die dritten Unterisolierfilme 119, welche als Sperrisolierfilme agieren, die zweiten Unterisolierfilme 118, welche als Ladungsspeicherfilme agieren, die ersten Unterisolierfilme 117, welche als Tunnelisolierfilme agieren und die Kanalfilme 114, welche als vertikale Körper agieren, können eine Mehrzahl von Zelltransistoren CT konstituieren bzw. aufbauen, welche in einer Richtung rechtwinklig zu dem Substrat 111 geschichtet sind. Beispielhaft können die Zelltransistoren CT ein Ladungsfallentyp-Zelltransistor sein.In exemplary embodiments, the first to third
Die leitfähigen Materialien können sich entlang der ersten Richtung erstrecken, so dass sie mit der Mehrzahl von Säulen PL verbunden sind. Die leitfähigen Materialien können leitfähige Leitungen konstituieren, welche Zelltransistoren CT der Säulen PL in derselben Zeile verbinden. In beispielhaften Ausführungsformen können die leitfähigen Materialien CM auchals eine Strang-Auswahlleitung, eine Masse-Auswahlleitung oder eine Wortleitung, gemäß der Höhe verwendet werden .The conductive materials may extend along the first direction to be connected to the plurality of pillars PL. The conductive materials may constitute conductive lines connecting cell transistors CT of the pillars PL in the same row. In exemplary embodiments, the conductive materials CM can also be used as a string select line, a ground select line, or a word line according to the height.
Die Anzahl von Programmierzuständen in demselben Schwellenspannungsfensterbereich hängt davon ab, wie breit die Schwellenspannungsverteilung jedes Programmierzustands ist. Die Schwellenspannungsverteilung jedes Programmierzustands kann gemäß Örtlichkeiten bzw. Platzierungen von Wortleitungen in einem vertikalen Strang bestimmt werden. Beispielsweise kann jede von Speicherzellen MC4 bis MC7, welche mit oberen Wortleitungen WL4 bis WL7 verbunden ist, einen von fünf Zuständen E, P1, P2, P3 und EP1 nach einer Überschreiboperation haben. Jede von Speicherzellen MC0 bis MC3, welche mit unteren Wortleitungen WL0 bis WL3 verbunden sind, kann einen von vier Zuständen E, P1, P2 und P3 nach einer normalen Programmieroperation haben. Hierin kann jede der Speicherzellen MC4 bis MC7 programmiert sein, so dass sie einen Extrazustand EP1 gemäß Daten durch eine Überschreiboperation hat.The number of programming states in the same threshold voltage window range depends on how wide the threshold voltage distribution of each programming state is. The threshold voltage distribution of each programming state can be determined according to locations of word lines in a vertical string. For example, each of memory cells MC4 through MC7 connected to upper word lines WL4 through WL7 can have one of five states E, P1, P2, P3 and EP1 after an overwrite operation. Each of memory cells MC0 through MC3 connected to lower word lines WL0 through WL3 can have one of four states E, P1, P2 and P3 after a normal programming operation. Herein, each of the memory cells MC4 to MC7 can be programmed to have an extra state EP1 according to data by an overwrite operation.
Wie in
In beispielhaften Ausführungsformen kann die Anzahl von Überschreiboperationen, welche auf Speicherzellen anwendbar ist, welche mit den oberen Wortleitungen WL4 bis WL7 verbunden sind, unterschiedlich zu derjenigen sein, welche auf Speicherzellen anwendbar ist, welche mit unteren Wortleitungen WL0 bis WL3 verbunden sind. Beispielsweise kann die Anzahl von Überschreiboperationen, welche auf Speicherzellen, welche mit den oberen Wortleitungen WL4 bis WL7 verbunden sind, anwendbar ist, „1“ sein, während die Speicherzellen, welche mit den unteren Wortleitungen WL0 bis WL3 verbunden sind, nicht überschrieben werden können. Dies kann durch den Speichercontroller 200 gesteuert werden.In exemplary embodiments, the number of overwrite operations applicable to memory cells connected to upper wordlines WL4-WL7 may be different than that applicable to memory cells connected to lower wordlines WL0-WL3. For example, the number of overwrite operations applicable to memory cells connected to upper word lines WL4 to WL7 may be "1", while memory cells connected to lower word lines WL0 to WL3 cannot be overwritten. This can be controlled by the
In beispielhaften Ausführungsformen kann, wenn der Spannungsfensterbereich für eine Schwellenspannungsverteilung von Programmierzuständen breit genug ist, eine Single Level Cell (SLC)-Programmieroperation als eine zweite Überschreiboperation weiterhin auf Speicherzellen ausgeführt werden, welche bereits durch die erste Überschreiboperation programmiert sind. Acht Wortleitungen WL0 bis WL7 sind in
Die erfinderischen Konzepte können eine Überschreiboperation durchführen, in welcher Speicherzellen programmiert werden, so dass sie unterschiedliche Zustandsanzahlen gemäß einer Wortleitungsplatzierung in einem vertikalen Strang haben.The inventive concepts can perform an overwrite operation in which memory cells are programmed to have different state counts according to wordline placement in a vertical string.
Die Speicherzellen, welche mit den oberen Wortleitungen verbunden sind, und die Speicherzellen, welche mit den unteren Wortleitungen verbunden sind, sind jeweils als obere Blocks und untere Blocks festgesetzt bzw. bestimmt und sind jeweils unabhängig voneinander löschbar. In einem Speichersystem, welches einen VNAND und einen Speichercontroller, welcher einen Gesamtbetrieb des VNAND steuert, aufweist, kann die Überschreiboperation durchgeführt werden, nachdem ein oberer Block durch eine Löschübersetzungsschicht (FTL = Flash Translation Layer), welcher auf dem Speichercontroller ausgeführt wird, für ungültig erklärt worden ist.The memory cells connected to the upper word lines and the memory cells connected to the lower word lines are set as upper blocks and lower blocks, respectively, and are erasable independently of each other. In a memory system that has a VNAND and a memory controller that controls an overall operation of the VNAND, the overwrite operation may be performed after an upper block is invalidated by an erase translation layer (FTL = Flash Translation Layer) running on the memory controller has been explained.
Wie in
In
In beispielhaften Ausführungsformen kann der erste Zustand S1' den höchsten Zustand S3 einschließen, wie in
Wie in
Mit der oben beschriebenen Überschreiboperation können, wie in
Wie unter Bezugnahme auf die
Wie unter Bezugnahme auf die
Nachdem eine Multi-Bit-Programmieroperation eines Speicherblocks ausgeführt ist, kann eine Einzel-Bit-Programmieroperation durch eine Überschreiboperation ausgeführt werden. Die erfinderischen Konzepte sind jedoch nicht darauf beschränkt. Nachdem eine Multi-Bit-Programmieroperation ausgeführt ist, kann eine Programmieroperation in einem Multi-Dimensions-Modulationsschema durch eine Überschreiboperation durchgeführt werden. Hierin bedeutet das Multi-Dimensions-Modulationsschema, dass ein Datenwert, welcher gespeichert werden soll, kodiert wird und das kodierte Ergebnis in eine erwünschte (oder alternativ eine vorbestimmte) Anzahl von Speicherzellen programmiert wird. Das Multi-Dimensions-Modulationsschema ist in der
Die m-Bit-Programmieroperation kann durchgeführt werden unter Verwendung von 2m Zuständen TS1 bis TS2m. Nach der m-Bit-Programmieroperation kann die n-Bit-Programmieroperation unter Verwendung wenigstens eines Extrazustands TS2m + 1 durchgeführt werden, wenn eine Überschreiboperation benötigt wird (oder wenn eine Überschreib-Bedingung erfüllt ist).The m-bit programming operation can be performed using 2 m states TS1 to TS2 m . After the m-bit programming operation, the n-bit programming operation can be performed using at least one extra state TS2 m +1 if an overwrite operation is needed (or if an overwrite condition is met).
In beispielhaften Ausführungsformen kann die Überschreib-Bedingung (oder Bedingung für die Überschreiboperation) durch den Block verwaltet bzw. gemanagt werden. Beispielsweise kann die Anzahl von reinen Blöcken (oder freien Blöcken), in welchen Daten nicht gespeichert sind, unter den Blöcken für die Überschreib-Bedingung verwendet werden.In exemplary embodiments, the overwrite condition (or condition for the overwrite operation) may be managed by the block. For example, the number of clean blocks (or free blocks) in which data is not stored among the blocks for the overwrite condition can be used.
In beispielhaften Ausführungsformen kann die Überschreib-Bedingung durch den Unterblock verwaltet werden. Beispielsweise kann die Anzahl von Unterblöcken, welche ungültige Daten haben, unter den Unterblöcken für die Überschreib-Bedingung verwendet werden.In example embodiments, the overwrite condition may be managed by the sub-block. For example, the number of sub-blocks having invalid data among the sub-blocks can be used for the overwrite condition.
In beispielhaften Ausführungsformen kann die Überschreib-Bedingung durch die Seite verwaltet werden. Beispielsweise kann die Anzahl von ungültigen Seiten für die Überschreib-Bedingung verwendet werden.In exemplary embodiments, the overwrite condition may be managed by the page. For example, the number of invalid pages can be used for the overwrite condition.
In beispielhaften Ausführungsformen kann n kleiner als m sein. In anderen Ausführungsformen kann n kleiner als oder gleich zu m sein.In example embodiments, n may be less than m. In other embodiments, n may be less than or equal to m.
In anderen beispielhaften Ausführungsformen kann n gleich zu oder größer als m sein.In other exemplary embodiments, n can be equal to or greater than m.
Das Programmierverfahren der erfinderischen Konzepte kann ein Durchführen einer Überschreiboperation aufweisen, in welcher ein m-Bit-programmierter vorangehender Zustand in wenigstens einen Extrazustand verschoben wird, welcher eine höhere Schwellenspannung hat als der vorangehende Zustand. Als ein Ergebnis der Überschreiboperation werden die Daten, welche durch die vorangehenden Zustände definiert sind, ungültig, und die Daten, welche durch die Überschreiboperation programmiert werden, sind gültig.The programming method of the inventive concepts may include performing an overwrite operation in which an m-bit programmed previous state is shifted to at least one extra state, which has a higher threshold voltage than the previous state. As a result of the overwrite operation, the data defined by the previous states becomes invalid and the data programmed by the overwrite operation is valid.
Mit dem Programmierverfahren der erfinderischen Konzepte kann, nachdem eine n-Bit-Programmieroperation durch eine Überschreiboperation ausgeführt ist, eine Überschreiboperation einmal mehr ausgeführt werden. Dies kann von der Breite der Schwellenspannungsverteilung jedes programmierten Zustandes nach einer m-Bit-Programmieroperation und dem Schwellenspannungsfenster für mögliche Programmzustände abhängen.With the programming method of the inventive concepts, after an n-bit programming operation is performed by an overwrite operation, an overwrite operation can be performed once more. This may depend on the width of the threshold voltage distribution of each programmed state after an m-bit programming operation and the threshold voltage window for possible program states.
Die m-Bit-Programmieroperation kann durchgeführt werden unter Verwendung von 2m Zuständen TS1 bis TS2m. Die erfinderischen Konzepte sind jedoch nicht darauf beschränkt. Eine Programmieroperation vor einer Überschreiboperation kann unter Verwendung einer Mehrzahl von Zuständen vor einer Überschreiboperation durchgeführt werden.The m-bit programming operation can be performed using 2 m states TS1 to TS2 m . However, the inventive concepts are not limited to this. A programming operation prior to an overwrite operation may be performed using a plurality of states prior to an overwrite operation.
Es wird verstanden werden, dass in den beispielhaften Ausführungsformen, welche hierein beschreiben sind, wie beispielsweise hinsichtlich der
In Operation S110 kann ein Überschreib-Verwaltungsmodul 220 (es sei Bezug genommen auf
Beispielsweise kann der Blockmodus einen normalen Blockmodus und einen Überschreib-Blockmodus (oder einen überschreibbereiten Zustandsmodus) aufweisen. Der normale Blockmodus kann einen Modus anzeigen, dass ein Block bei einer Programmieroperation m-Bit-programmiert wird. Der Überschreib-Blockmodus kann einen Modus anzeigen, dass eine n-Bit-Programmieroperation unter Verwendung einer Überschreiboperation bei einer Programmieroperation durchgeführt wird.For example, the block mode may include a normal block mode and an overwrite block mode (or an overwrite ready state mode). The normal block mode may indicate a mode that a block is m-bit programmed in a programming operation. The rewrite block mode may indicate a mode that an n-bit program operation is performed using an overwrite operation in a program operation.
Die Informationen, welche mit der Löschmöglichkeit verbunden sind, welche einen Blockzustand anzeigt, kann aus einer Mapping-Tabelle eines Speichercontrollers 200 (es sei Bezug genommen auf
Wenn eine Änderung des Blockmodus nicht benötigt wird, kann in Operation S 120 ein Blockverwaltungsmodul 240 einen Block unter Verwendung des normalen Blockmodus verwalten. Wenn eine Änderung des Blockmodus benötigt wird, kann in Operation S 130 das Blockverwaltungsmodul 240 einen Block unter Verwaltung des Überschreib-Blockmodus verwalten. Das heißt, dass bei einer Programmieroperation des Überschreib-Blockmodus eine 1-Bit-Programmieroperation durch eine Überschreiboperation (es sei Bezug genommen auf die
In beispielhaften Ausführungsformen können Informationen, welche einen geänderten Blockmodus anzeigen, in bzw. bei einer Seite eines entsprechenden Blockes oder einer Metaregion bzw. einem Metabereich der nichtflüchtigen Speichervorrichtung 100 durch eine Mapping-Tabelle gespeichert werden.In exemplary embodiments, information indicative of a changed block mode may be stored in a page of a corresponding block or meta-region of
Mit dem Blockverwaltungsverfahren der erfinderischen Konzepte ist es möglich, einen Blockmodus in einen Überschreib-Blockmodus zu ändern, wo eine Programmieroperation durch eine Überschreiboperation gemäß einem Blockzustand durchgeführt wird.With the block management method of the inventive concepts, it is possible to change a block mode to a rewrite block mode where a programming operation is performed by an overwrite operation according to a block state.
In beispielhaften Ausführungsformen können die Blockmodus-Informationen einen eines Bit-Werts, welcher einem normalen Blockmodus und eines Bit-Werts, welcher einem Überschreibmodus entspricht, aufweisen. Demzufolge speichert der Blockmodus-Bereich 101 Indikatoren bzw. Anzeigen, welche einen Zustand des Blocks anzeigen. Dies wird detaillierter untenstehend beschrieben werden. Die Blockmodus-Informationen können weiterhin Informationen aufweisen, welche mit einer Anzahl von Überschreibungen eines Blocks verbunden sind. Hierin kann diese Überschreibanzahl eine ganze Zahl sein, welche eine Anzahl von Überschreiboperationen anzeigt, welche innerhalb eines Blocks ausgeführt sind, seit der Block das letzte Mal gelöscht wurde. Ebenso können Seiteninformationen für eine Überschreiboperation auf jeder Seite in dem reservierten Datenbereich gespeichert werden, wenn eine Überschreiboperation auf einer Seitenbasis durchgeführt wird. Die Seiteninformationen können nämlich dieselben sein wie die Blockmodus-Informationen, jedoch auf einer Seitenbasis. Ebenso können zusätzlich oder alternativ Unterblock-Informationen, dieselben wie die Blockmodus-Informationen, gespeichert werden.In example embodiments, the block mode information may include one of a bit value corresponding to a normal block mode and a bit value corresponding to an overwrite mode. Accordingly, the block mode area 101 stores indicators showing a state of the block. This will be described in more detail below. The block mode information may further include information associated with a number of overwrites of a block. Herein, this rewrite count may be an integer indicating a number of rewrite operations performed within a block since the block was last erased. Also, page information for an overwrite operation can be stored in the reserved data area on each page when an overwrite operation is performed on a page basis. Namely, the page information may be the same as the block mode information but on a page basis. Also, additionally or alternatively, sub-block information, the same as the block mode information, may be stored.
In einer beispielhaften Ausführungsform kann eine Überschreiboperation auf einem Block ausgeführt werden, wenn die Anzahl von reinen Blöcken in einer nichtflüchtigen Speichervorrichtung 100 unter einem Referenzwert ist, und ein Programmierbefehl für einen Block, der vorangehend eine Programmieroperation erfährt (beispielsweise eine m-Bit-Programmieroperation) und ein Speichern von ungültigen Daten eingegeben wird. Der Referenzwert in dieser und anderen Ausführungsformen kann ein Designparameter sein, welcher durch eine empirische Studie bestimmt wird.In an exemplary embodiment, an overwrite operation may be performed on a block when the number of clean blocks in
In einer beispielhaften Ausführungsform kann eine Überschreiboperation eines Blocks durchgeführt werden, wenn die Anzahl von Seiten des programmierten Blocks, welche ungültige Daten speichern, über einem Referenzwert ist und ein Programmierbefehl für bzw. auf eine ungültige Seite des Blocks empfangen wird.In an exemplary embodiment, a block overwrite operation may be performed when the number of pages of the programmed block storing invalid data is above a reference value and a programming command to an invalid page of the block is received.
In einer beispielhaften Ausführungsform kann eine Überschreiboperation eines Blocks durchgeführt werden, wenn ein Verschlechterungsniveau eines Blocks, welcher vorangehend eine Programmieroperation erfährt (eines programmierten Blocks), geringer ist als ein Referenzwert und ein Programmierbefehl für einen Block, welcher ungültige Daten aufweist, eingegeben bzw. zugeführt wird. Hierin kann es bedeuten, dass das Verschlechterungsniveau niedriger ist als der Referenzwert, dass es möglich ist, eine Überschreiboperation durchzuführen.In an exemplary embodiment, an overwrite operation of a block may be performed when a degradation level of a block previously undergoing a program operation (a programmed block) is less than a reference value and a program command for a block including invalid data is input becomes. Herein, the deterioration level being lower than the reference value may mean that it is possible to perform an overwrite operation.
In beispielhaften Ausführungsformen kann eine Überschreiboperation eines Blocks durchgeführt werden, wenn eine Überschreibanzahl des Blocks geringer ist als ein maximaler Wert und ein Programmierbefehl für den Block, welcher ungültige Daten aufweist, empfangen wird.In exemplary embodiments, a block rewrite operation may be performed when a block rewrite count is less than a maximum value and a program command for the block having invalid data is received.
In einer beispielhaften Ausführungsform kann eine Überschreiboperation eines Blocks ausgeführt werden, wenn die Bit-Fehlerrate (BER = Bit Error Rate) von Daten, welche aus dem Block über ein Zeitfenster ausgelesen werden, geringer ist als ein Grenzwert. Hier zeigt BER einen Gesundheitszustand des Blocks an.In an example embodiment, an overwrite operation of a block may be performed if the bit error rate (BER) of data read from the block over a time window is less than a threshold. Here, BER indicates a health status of the block.
In einer Ausführungsform kann, wenn eine der oben diskutierten Bedingungen auftritt, das Überschreib-Verwaltungsmodul 220 einen Block, welcher ungültige Daten aufweist, in Operation S215 in einen Überschreib-Blockmodus versetzen.In one embodiment, when any of the conditions discussed above occurs, the
In einer anderen Ausführungsform müssen mehr als eine der Bedingungen erfüllt sein, um ein Überschreiben zu erlauben. Und in einer weiteren Ausführungsform müssen alle der Bedingungen erfüllt sein, um ein Überschreiben zu erlauben.In another embodiment, more than one of the conditions must be met to allow overwriting. And in another embodiment, all of the conditions must be met to allow overwriting.
In Operation S220 kann eine n-Bit-Programmieroperation auf einem Block, welcher eine m-Bit-Programmieroperation erfahren hat und ungültige Daten aufweist, durch eine Überschreiboperation nach einem Empfangen eines Programmierbefehls für die n-Bit-Programmieroperation durchgeführt werden. In beispielhaften Ausführungsformen kann die Überschreiboperation eine Single-Level-Programmieroperation sein, welche mit den
Ein Überschreib-Verwaltungsmodul 220 kann eine Überschreibanzahl eines Blocks in der nichtflüchtigen Speichervorrichtung 100 speichern. Hierin kann die Überschreibanzahl für jeden Block durch eine Tabelle in dem Speichercontroller gespeichert werden oder die Überschreibanzahl kann bei bzw. in einer Seite jedes Blocks gespeichert werden (S230). In Operation S240 kann ein Block-Verwaltungsmodul 240 eine Löschoperation eines Blocks basierend auf der gespeicherten Überschreibanzahl in Antwort auf die Eingabe eines Löschbefehls durchführen. Beispielsweise kann eine Löschoperation ausgeführt werden, wenn die Überschreibanzahl eines Blocks mehr als 1 ist. Hierin kann eine Löschoperation in einer ISPE-Art durchgeführt werden. Wenn ein Block noch keine Überschreiboperation erfahren hat, kann eine Löschoperation auf einem Block nicht durchgeführt werden.A
Obwohl in
Mit einem Beispiel des Löschverfahrens der erfinderischen Konzepte kann eine Überschreiboperation durchgeführt werden bevor ein Block gelöscht wird.With an example of the erase method of the inventive concepts, an overwrite operation can be performed before a block is erased.
In Operation kann S310 kann ein Block-Verwaltungsmodul S320 (es sei Bezug genommen auf
Wenn die Anzahl von reinen Blöcken geringer ist als der Referenzwert, kann in Operation S315 das Block-Verwaltungsmodul 220 einen Block, welcher ungültige Daten aufweist, in einen Überschreib-Blockmodus setzen. Der Block, welcher in den Überschreib-Blockmodus gesetzt ist, ist in einem überschreibbereiten Zustand. Dann wird ein Programmierbefehl für eine Überschreiboperation eingegeben bzw. zugeführt und die Überschreiboperation wird selektiv auf dem Block in einem überschreibbereiten Zustand durchgeführt. Hierin wird durch ein Überschreib-Verwaltungsmodul 220 (es sei Bezug genommen auf
Gemäß dem Betriebsverfahren der erfinderischen Konzepte kann eine Überschreiboperation durchgeführt werden, wenn die Anzahl von reinen Blöcken in einer nichtflüchtigen Speichervorrichtung unter einem Referenzwert ist.According to the operating method of the inventive concepts, an overwrite operation may be performed when the number of clean blocks in a non-volatile memory device is below a reference value.
In Operation S420 kann der programmierte Block in einen überschreibbereiten Zustand eintreten. Der überschreibbereite Zustand kann gemäß einem Datenzustand eines entsprechenden Blocks in einer Bezugnahme auf das Verschlechterungsniveau eines entsprechenden Blocks oder die Anzahl von reinen Blöcken bestimmt werden. Ein Block, welcher den überschreibbereiten Zustand hat, kann durch eine Überschreiboperation programmiert werden.In operation S420, the programmed block may enter a ready-to-rewrite state. The rewrite-ready state may be determined according to a data state of a corresponding block in reference to the degradation level of a corresponding block or the number of clean blocks. A block that is in the overwrite-ready state can be programmed by an overwrite operation.
In Operation S430 kann der Block, welcher eine Überschreiboperation erfahren hat, in einen löschbereiten Zustand eintreten. Der löschbereite Zustand kann gemäß einer Überschreibanzahl eines entsprechenden Blocks bestimmt werden. Ein Block, welcher den löschbereiten Zustand hat, kann gelöscht werden. Hierin kann eine Löschoperation in einer ISPE-Art durchgeführt werden.In operation S430, the block that has undergone an overwrite operation may enter a state ready for erasure. The erase-ready state may be determined according to a rewriting count of a corresponding block. A block that is in the ready-to-delete state can be deleted. Herein, an erase operation can be performed in an ISPE manner.
In Operation S440 kann beurteilt werden, ob eine Löschoperation erfolgreich ist. Wenn die Löschoperation vorübergeht, kann in Operation S410 ein vollendet gelöschter Block in dem programmierbereiten Zustand eintreten. Wenn die Löschoperation fehlschlägt, kann ein entsprechender Block als ein schlechter Block klassifiziert werden.In operation S440, it can be judged whether an erase operation is successful. If the erase operation is temporary, a completely erased block in the ready-to-program state may enter in operation S410. If the erase operation fails, a corresponding block can be classified as a bad block.
Gemäß der obigen Beschreibung kann ein Block nacheinanderfolgend einen Zustandswechsel von einem programmierbereiten Zustand zu einem überschreibbereiten Zustand und einen Zustandswechsel von einem überschreibbereiten Zustand zu einem löschbereiten Zustand erfahren.According to the above description, a block may sequentially undergo a state transition from a ready-to-program state to a ready-to-rewrite state and a state transition from a ready-to-overwrite state to a ready-to-erase state.
Ein Block kann einen programmierten Zustand, welcher gültige Daten aufweist, und einen ungültigen Zustand, welcher ungültige Daten aufweist zwischen dem programmierbereiten Zustand und dem überschreibbereiten Zustand haben. In dem programmierten Zustand kann jede Speicherzelle in dem Block m-Bit-Daten speichern. Ein Block kann einen überschriebenen Zustand zwischen dem überschreibbereiten Zustand und dem löschbereiten Zustand haben. In dem überschriebenen Zustand kann jede Speicherzelle in dem Block n-Bit-Daten speichern.A block may have a programmed state containing valid data and an invalid state containing invalid data between the ready-to-program state and the ready-to-rewrite state. In the programmed state, each memory cell in the block can store m-bit data. A block can have an overwritten state between the ready-to-overwrite state and the ready-to-erase state. In the overwritten state, each memory cell in the block can store n-bit data.
Auf einem anderen Wege ausgedrückt kann ein Block einen Lebenszyklus haben, welcher wie folgt voranschreitet: reiner Zustand (beispielsweise ist der Block gelöscht und bereit, programmiert zu werden oder Normalmodus), programmierter Zustand (Block mit gültigen Daten programmiert), ungültiger Zustand (Block speichert ungültige Daten), überschreibbarer Zustand (Block speichert ungültige Daten und erfüllt eine oder mehrere der oben diskutierten Bedingungen derart, dass ein Überschreiben der ungültigen Daten ohne Löschen des Blocks erlaubt ist), überschriebener Zustand (der Block ist ohne ein Löschen gemäß einer der beispielhaften Ausführungsformen überschrieben worden und speichert gültige Daten), und zurück zu dem reinen Zustand. Zustandsindikatoren bzw. Zustandsanzeigen können in einer Tabelle in dem Blockmodus-Bereich 101 durch den Speichercontroller 200 gespeichert werden, um den Zustand des Blocks anzuzeigen. Zusätzlich können die Zustandsindikatoren in einer Tabelle in dem Speichercontroller 200 wie beispielsweise in einer Flash-Übersetzungsschicht (FTL = Flash Translation Layer) gespeichert werden, um eine effizientere Steuerung des Speichers 100 vorzusehen. Durch ein Speichern oder Downloaden der Zustandsindikatoren in den Speichercontroller 200 kann der Speichercontroller 200 nämlich schneller auf die Zustandsinformationen zugreifen. Die Anzahl von Überschreibungen kann auch bei dem Speichercontroller 200 gespeichert werden.Put another way, a block can have a lifecycle that progresses as follows: clean state (e.g., the block is erased and ready to be programmed or normal mode), programmed state (block programmed with valid data), invalid state (block saves invalid data), rewritable state (block stores invalid data and satisfies one or more of the conditions discussed above such that overwriting the invalid data is allowed without erasing the block), overwritten state (the block is without erasure according to any of the exemplary embodiments been overwritten and stores valid data) and back to the pure state. State indicators may be stored in a table in block mode area 101 by
Durch ein Prüfen des Zustands eines Blocks steuert der Speichercontroller 200 angemessen ein Durchführen von Operationen auf dem Block. Beispielsweise und wie aus der obigen Beschreibung des Blocklebenszyklus anerkannt werden wird, ändert der Speichercontroller 200 den Zustand eines Blocks auf überschreibbar nur, wenn der Block in dem ungültigen Zustand ist, und überschreibt Daten in einem Block nur, wenn die Zustandsinformationen den überschreibbaren Zustand anzeigen. Sobald der Block überschrieben ist, ändert der Speichercontroller 200 den Zustand des Blocks auf überschrieben, was auch anzeigt, dass die Daten gültig sind. Weiterhin zeigt in den Ausführungsformen, in denen die Überschreibdaten weniger Bits als die überschriebenen Daten repräsentieren der überschriebene Zustand ähnlich an, dass der Block weniger Daten pro Speicherzelle speichert als er während beispielsweise des programmierten Zustands gespeichert hat. Nachdem er einen Speicherblock überschrieben hat, kann der Speichercontroller 200 dann die Überschreibanzahl speichern, welche die Anzahl von Malen anzeigt, die der Block seit der letzten Löschung überschrieben worden ist. Wie anerkannt werden wird, weist, in Ausführungsformen, in denen ein Block mehr als einmal vor einem Löschen überschrieben werden kann, der Lebenszyklus zusätzliche ungültige, überschreibbare und überschriebene Zustände auf. Wo beispielsweise ein Block zweimal überschrieben werden kann, ist der Lebenszyklus wie folgt: reiner Zustand, programmierter Zustand, ungültiger Zustand, überschreibbarer Zustand, überschriebener Zustand, ungültiger Zustand, überschreibbarer Zustand, überschriebener Zustand, und zurück zu dem reinen Zustand. Durch ein Überprüfen der Überschreibanzahl bestimmt der Speichercontroller 200, ob in den ersten überschreibbaren Zustand einzutreten ist und das erste Überschreiben durchzuführen ist, oder ob in den zweiten überschreibbaren Zustand einzutreten ist und das zweite Überschreiben durchzuführen ist. Basierend auf dieser Bestimmung programmiert der Speichercontroller 200 die Speicherzellen in dem Block, so dass sie unterschiedliche Zustände erreichen.By checking the state of a block, the
In einer Ausführungsform können die Programmier- und Verify- bzw. Vergleichsspannungen für den normalen und verschiedene Überschreib-Zustände in einer Tabelle gespeichert werden. Die Tabelle kann in dem Speicher 100 gespeichert werden und/oder kann in dem Speichercontroller 200 gespeichert werden. Zusätzlich oder alternativ können diese Spannungen in die Schaltung des Speichercontrollers 200 verbindungsprogrammiert bzw. fest verdrahtet werden. Auf dieselbe Art und Weise können andere Spannungen (beispielsweise Spannungen zum Auslesen von Daten), welche sich abhängig von dem normalen und verschiedenen Überschreib-Zuständen ändern, in der Tabelle gespeichert werden oder in den Speichercontroller 200 verbindungsprogrammiert bzw. fest verdrahtet werden.In one embodiment, the program and verify voltages for the normal and various overwrite states may be stored in a table. The table may be stored in
Während sie in den beispielhaften Ausführungsformen obenstehend als auf einer Blockbasis gespeichert beschrieben werden, können die Zustandsinformationen anstelle dessen oder zusätzlich auf einer Seitenbasis und/oder einer Unterblockbasis an bzw. in dem Speicher 100 und optional an bzw. in dem Speichercontroller 200 gespeichert werden.While described above as being stored on a block basis in the exemplary embodiments, the state information may instead or additionally be stored on
Es wird anerkannt werden, dass Ausführungsformen, welche obenstehend beschrieben sind, auf verschiedenen Wegen kombiniert werden können. Beispielsweise können die Ausführungsformen des Überschreibens nur der Speicherzellen weiter von dem Substrat mit den Ausführungsformen betreffend den Block-Lebenszyklus und die Zustandsinformationen kombiniert werden. Dies ist aber nur eine beispielhafte Kombination und viel mehrere werden leicht offensichtlich sein.It will be appreciated that embodiments described above can be combined in various ways. For example, the embodiments of overwriting only the memory cells further from the substrate may be combined with the embodiments related to block life cycle and state information. However, this is just one example combination and many more will be readily apparent.
Sich nun
Die Speicherzellanordnung 110 kann eine Mehrzahl von Speicherblöcken BLK1 bis BLKz (z ist eine ganze Zahl von 2 oder mehr) aufweisen. Jeder der Speicherblöcke BLK1 bis BLKz kann Strukturen bilden, welche entlang einer zweiten Richtung (oder einer vertikalen Richtung) in bzw. auf einer Ebene, welche sich entlang einer ersten und dritten Richtung erstreckt, gestapelt bzw. geschichtet sind.The
Jeder Block kann eine Mehrzahl von vertikalen Strängen aufweisen, welche sich in einer vertikalen Richtung zu dem Substrat erstrecken. Jeder vertikale Strang kann eine Mehrzahl von Speicherzellen aufweisen, welche entlang einer vertikalen Richtung zu dem Substrat geschichtet sind. Speicherzellen können auf dem Substrat entlang Zeilen und Spalten vorgesehen sein und können eine dreidimensionale Struktur bilden, welche in einer vertikalen Richtung zu dem Substrat geschichtet ist. In beispielhaften Ausführungsformen kann die Speicherzellanordnung 110 eine Mehrzahl von Speicherzellen aufweisen, von welchen jede ein oder mehrere Bits von Daten speichert.Each block may have a plurality of vertical strands extending in a direction vertical to the substrate. Each vertical lane may include a plurality of memory cells stacked along a direction vertical to the substrate. Memory cells can be provided on the substrate along rows and columns and can form a three-dimensional structure layered in a vertical direction to the substrate. In example embodiments,
Die Block-Gating-Schaltung 120 kann mit der Speicherzellanordnung 110 durch Strang-Auswahlleitungen SSL, Wortleitungen WL und Masse-Auswahlleitungen GSL verbunden sein. Die Block-Gating-Schaltung 120 kann mit dem Adressdekoder 130 durch Strangleitungen SS, Auswahlleitungen S und Masseleitungen GS verbunden sein. Die Block-Gating-Schaltung 120 kann mit einem Blockauswahlsignal BSS von dem Adressdekoder 130 vorgesehen sein.
Die Block-Gating-Schaltung 120 kann einen Block der Speicherzellanordnung in Antwort auf das Blockauswahlsignal BSS auswählen. Die Block-Gating-Schaltung 120 kann elektrisch Strang-Auswahlleitungen SSL, Wortleitungen WL und eine Masse-Auswahlleitung oder Masse-Auswahlleitungen GSL des ausgewählten Blocks mit den Strangleitungen SS, den Auswahlleitungen S und der Masseleitung oder Masseleitungen GS verbinden.The
Der Adressdekoder 130 kann mit der Block-Gating-Schaltung 120 durch die Strangleitungen SS, die Auswahlleitungen S und die Masseleitung oder Masseleitungen GS verbunden sein. Der Adressdekoder 130 kann konfiguriert sein, so dass er in Antwort auf die Steuerung der Steuerlogik 150 arbeitet. Der Adressdekoder 130 kann eine Adresse ADDR von einer externen Vorrichtung empfangen.The
Der Adressdekoder 130 kann konfiguriert sein, um eine Zeilenadresse der Eingabeadresse ADDR zu dekodieren. Der Adressdekoder 130 kann das Blockauswahlsignal BSS basierend auf einer dekodierten Blockadresse der dekodierten Zeilenadresse erzeugen. Der Adressdekoder 130 kann konfiguriert sein, um eine Auswahlleitung, welche der dekodierten Zeilenadresse entspricht, unter den Auswahlleitungen S auszuwählen. Der Adressdekoder 130 kann konfiguriert sein, um eine Strangleitung und eine Masseleitung entsprechend der dekodierten Zeilenadresse unter den Strangleitungen SS und der Masseleitung oder den Masseleitungen GS auszuwählen.The
Der Adressdekoder 130 kann konfiguriert sein, um eine Spaltenadresse der Eingabeadresse ADDR zu dekodieren. Der Adressdekoder 130 kann die dekodierte Spaltenadresse DCA zu der Lese-/Schreibschaltung 140 übertragen.The
In beispielhaften Ausführungsformen kann der Adressdekoder 130 einen Zeilendekoder, welcher eine Zeilenadresse dekodiert, einen Spaltendekoder, welcher eine Spaltenadresse dekodiert, einen Adresspuffer, welcher eine Eingabeadresse ADDR speichert, und dergleichen aufweisen.In exemplary embodiments,
Die Lese-/Schreibschaltung 140 kann mit der Speicherzellanordnung 110 durch Bitleitungen BL verbunden sein. Die Lese-/Schreibschaltung 140 kann konfiguriert sein, so dass sie Daten mit einer externen Vorrichtung austauscht. Die Lese-/Schreibschaltung 140 kann in Antwort auf die Steuerung der Steuerlogik 150 arbeiten. Die Lese-/Schreibschaltung 140 kann mit der dekodierten Spaltenadresse DCA von dem Adressdekoder 130 versehen werden bzw. vorgesehen sein. Die Lese-/Schreibschaltung 140 kann die Bitleitungen BL in Antwort auf die dekodierte Spaltenadresse DCA auswählen.Read/
In beispielhaften Ausführungsformen kann die Lese-/Schreibschaltung Daten von einer externen Vorrichtung empfangen, um sie an bzw. in der Speicherzellanordnung 110 zu speichern. Die Lese-/Schreibschaltung 140 kann Daten aus der Speicherzellanordnung 110 auslesen, um sie zu der externen Vorrichtung auszugeben. Die Lese-/Schreibschaltung 140 kann Daten aus einem ersten Speicherbereich der Speicherzellanordnung 110 auslesen, um sie in einem zweiten Speicherbereich der Speicherzellanordnung 110 zu speichern. Das heißt, die Lese-/Schreibschaltung 140 kann eine Copy-Back-Operation durchführen.In example embodiments, the read/write circuitry may receive data from an external device for storage on the
In beispielhaften Ausführungsformen kann die Lese-/Schreibschaltung Elemente wie beispielsweise einen Seitenpuffer (oder bezeichnet als Seitenregister), eine Spaltenauswahlschaltung, einen Datenpuffer und dergleichen aufweisen. Alternativ kann die Lese-/Schreibschaltung 140 Elemente wie beispielsweise einen Leseverstärker, einen Schreibtreiber, eine Spaltenauswahlschaltung, einen Datenpuffer und dergleichen aufweisen.In exemplary embodiments, the read/write circuitry may include elements such as a page buffer (or referred to as a page register), column select circuitry, a data buffer, and the like. Alternatively, read/
Die Steuerlogik 150 kann mit dem Adressdekoder 130 und der Lese-/Schreibschaltung 140 verbunden sein. Die Steuerlogik 150 kann konfiguriert sein, so dass sie einen Gesamtbetrieb der nichtflüchtigen Speichervorrichtung 100 steuert. Die Steuerlogik 150 kann eine erste Programmierlogik 151 und eine zweite Programmierlogik 152 aufweisen. Die erste Programmierlogik 151 kann eine m-Bit-Programmieroperation (m ist eine ganze Zahl größer als 1) mit Hinsicht auf Speicherzellen, welche mit oberen Wortleitungen (beispielsweise WL4 bis WL7 in
Die nichtflüchtige Speichervorrichtung 100 des erfinderischen Konzepts kann eine n-Bit-Programmieroperation hinsichtlich m-Bit-programmierter Speicherzellen unter Verwendung einer Überschreiboperation durchführen.The
Jeder der Stränge ST1 bis ST4 kann zwei seriell verbundene Strang-Auswahltransistoren SST1 und SST2 aufweisen, welche jeweils mit Strang-Auswahlleitungen SSL1 und SSL2 verbunden sind. In beispielhaften Ausführungsformen kann wenigstens einer der Strang-Auswahltransistoren SST1 und SST2 programmiert sein, so dass er eine Schwellenspannung steuert. Jeder der Stränge ST1 bis ST4 kann zwei seriell verbundene Masseauswahltransistoren GST1 und GST2 aufweisen, welche jeweils mit Masseauswahlleitungen GSL1 und GSL2 verbunden sind. In beispielhaften Ausführungsformen kann wenigstens einer der Masseauswahltransistoren GST1 und GST2 programmiert sein, so dass er eine Schwellenspannung steuert.Each of the strings ST1 to ST4 may have two serially connected string select transistors SST1 and SST2 connected to string select lines SSL1 and SSL2, respectively. In exemplary embodiments, at least one of string select transistors SST1 and SST2 may be programmed to control a threshold voltage. Each of the strings ST1 to ST4 can have two serially connected ground selection transistors GST1 and GST2, which are connected to ground selection lines GSL1 and GSL2, respectively. In exemplary embodiments, at least one of ground select transistors GST1 and GST2 may be programmed to control a threshold voltage.
In der Gleichung 1 zeigt m die Anzahl von Bits pro Speicherzelle an, s zeigt die Anzahl von Extrazuständen über 2m Zustände hinaus an und p zeigt den Prozentsatz von Speicherzellen an, welche einen Extrazustand in einem Speicherblock haben.In
Eine Löschfrequenzverringerung ERS _Freq_reduction aufgrund einer Überschreiboperation kann die folgende Gleichung 2 erfüllen.
Bezug nehmend auf
Eine Durchschnittsanzahl von Programmieroperationen, welche ausgeführt wird, bis eine Löschoperation durchgeführt wird, kann durch die folgende Gleichung 3 ausgedrückt werden.
In der Gleichung 3 zeigt m die Anzahl von Bits pro Speicherzelle an, si zeigt die Anzahl von Extrazuständen über 2m hinausgehend bei einem Unterblock (oder die SLC überschreibbare Anzahl pro Zelle bei einem i-ten Unterblock) an, pi zeigt einen Abschnitt des i-ten Unterblocks eines Blocks an und N zeigt die Anzahl von Unterblöcken, welche mit verschiedenen Anzahlen überschreibbar sind, an.In
Eine Löschfrequenz ERS _Freq, welche benötigt wird, wenn die gleiche Anzahl von Seiten geschrieben ist, kann die folgende Gleichung 4 erfüllen.
Eine Löschfrequenzverringerung ERS _Freq_reduction aufgrund einer Überschreiboperation kann die folgende Gleichung 5 erfüllen.
Ein Speichersystem gemäß einer Ausführungsform des erfinderischen Konzepts kann eine Löschzyklusanzahl durch ein Durchführen einer Überschreiboperation vor einer Löschoperation und eine Antwortzeit verringern, welche von dann ist, wann ein Programmierbefehl empfangen wird bis dann, wann eine Programmieroperation vollendet ist.A memory system according to an embodiment of the inventive concept can reduce an erase cycle number by performing an overwrite operation before an erase operation and a response time, which is from when a programming command is received to when a programming operation is completed.
Während ein herkömmliches Speichersystem eine lange Löschzeit hat, kann das Speichersystem des erfinderischen Konzepts eine Löschzeit verringern. Weiterhin kann die Zuverlässigkeit/ISPE-Zyklus, welche bzw. welcher mit einer Löschoperation verbunden ist, verbessert werden.While a conventional storage system has a long erase time, the storage system of the inventive concept can reduce an erase time. Furthermore, the reliability/ISPE cycle associated with an erase operation can be improved.
Die erfinderischen Konzepte sind auf verschiedene Vorrichtungen anwendbar.The inventive concepts are applicable to various devices.
Die nichtflüchtige Speichervorrichtung 1100 kann optional mit einer hohen Spannung Vpp von außerhalb versorgt werden. Der Speichercontroller 1200 kann mit der nichtflüchtigen Speichervorrichtung 1100 über eine Mehrzahl von Kanälen verbunden sein. Der Speichercontroller 1200 kann wenigstens eine zentrale Verarbeitungseinheit (CPU = Central Processing Unit) 1210, einen Pufferspeicher 1220, eine ECC-Schaltung 1230, einen ROM 1240, ein Host-Interface bzw. eine Host-Schnittstelle 1250 und eine Speicher-Schnittstelle 1260 aufweisen. Obwohl in
Eine detaillierte Beschreibung des Speichersystems ist im U.S. Patent Nr. 8,027,184 und der U.S. Patentpublikation Nr. 2010/0082890 offenbart, deren gesamte Inhalte hierin durch Bezugnahme mit eingebunden sind.A detailed description of the memory system can be found in U.S. Pat. U.S. Patent No. 8,027,184 and U.S. Pat. Patent Publication No. 2010/0082890, the entire contents of which are incorporated herein by reference.
Die Pufferspeichervorrichtung 2200 kann verwendet werden, um vorübergehend Daten, welche während des Betriebs der Speicherkarte 2000 erzeugt werden, zu speichern. Die Pufferspeichervorrichtung 2200 kann unter Verwendung eines DRAM oder eines SRAM implementiert werden. Der Speichercontroller 2300 kann mit dem Flashspeicher 2100 über eine Mehrzahl von Kanälen verbunden sein. Der Speichercontroller 2300 kann zwischen einem Host und dem Flashspeicher 2100 verbunden sein. Der Speichercontroller 2300 kann konfiguriert sein, um auf den Flashspeicher 2100 in Antwort auf eine Anfrage von dem Host zuzugreifen.
Der Speichercontroller 2300 kann wenigstens einen Mikroprozessor 2310, eine Host-Schnittstelle 2320 und eine Flash-Schnittstelle 2330 aufweisen. Der Mikroprozessor 2310 kann konfiguriert sein, um Firmware zu treiben. Die Host-Schnittstelle 2320 kann mit dem Host über ein Kartenprotokoll (beispielsweise SD/MMC) für Datenaustausch zwischen dem Host und der Speicherkarte 2000 eine Schnittstelle bilden. Die Speicherkarte 2000 ist auf Multimediakarten (MMCs), Security Digitals (SDs), Mini SDs, Speichersticks, Smartmedia und Trans-Flashkarten anwendbar.The
Eine detaillierte Beschreibung der Speicherkarte 2000 ist in der U. S. Patentveröffentlichung Nr.
Die NAND-Flashspeichervorrichtung 3100 kann eine Einzeldatenraten (SDR) NAND-Flashspeichervorrichtung oder eine Doppeldatenraten (DDR) NAND-Flashspeichervorrichtung sein. In beispielhaften Ausführungsformen kann die NAND-Flashspeichervorrichtung 3100 NAND-Flashspeicherchips aufweisen. Hierin kann die NAND-Flashspeichervorrichtung 3100 durch ein Schichten der NAND-Flashspeicherchips bei bzw. in einem Gehäuse bzw. Package (beispielsweise FBGA, Fine-Pitch Ball Grid Array) etc. implementiert sein.The NAND
Der Controller 3200 kann mit der Flashspeichervorrichtung 3100 über eine Mehrzahl von Kanälen verbunden sein. Der Controller 3200 kann wenigstens einen Controllerkern 3210, eine Host-Schnittstelle 3220 und eine NAND-Schnittstelle 3230 aufweisen. Der Controller 3210 kann einen Gesamtbetrieb der moviNAND-Vorrichtung 3000 steuern.The
Die Host-Schnittstelle 3220 kann konfiguriert sein, um eine MMC-Schnittstelle zwischen dem Controller 3210 und einem Host durchzuführen. Die NAND-Schnittstelle 3230 kann konfiguriert sein, um zwischen der NAND-Flashspeichervorrichtung 3100 und dem Controller 3200 eine Schnittstelle zu bilden. In beispielhaften Ausführungsformen kann die Host-Schnittstelle 3220 eine parallele Schnittstelle (beispielsweise eine MMC-Schnittstelle) sein. In anderen beispielhaften Ausführungsformen kann die Host-Schnittstelle 3250 der moviNAND-Vorrichtung 3000 eine serielle Schnittstelle sein (beispielsweise UHS-II, UFS, etc.).The
Die moviNAND-Vorrichtung 3000 kann Leistungsversorgungsspannungen Vcc und Vccq von dem Host empfangen. Hierin kann die Leistungsversorgungsspannung Vcc (ungefähr 3 V) der NAND-Flashspeichervorrichtung 3100 und der NAND-Schnittstelle 3230 zur Verfügung gestellt werden, während die Leistungsversorgungsspannung Vccq (ungefähr 1,8 V/3V) dem Controller 3200 zur Verfügung gestellt werden kann. In beispielhaften Ausführungsformen kann eine externe hohe Spannung Vpp optional der moviNAND-Vorrichtung 3000 zur Verfügung gestellt werden.The
Die moviNAND-Vorrichtung 3000 gemäß einer Ausführungsform des erfinderischen Konzepts kann vorteilhaft sein, um Massendaten zu speichern, so wie sie auch eine verbesserte Lesecharakteristik haben kann. Die moviNAND-Vorrichtung 3000 gemäß einer Ausführungsform des erfinderischen Konzepts ist auf kleine und mobile Niedrigleistungs-Produkte (beispielsweise ein Galaxy S, iPhone etc.) anwendbar.The
Die moviNAND-Vorrichtung 3000, welche in
Das erfinderische Konzept ist auf ein Festkörperlaufwerk (SSD = Solid State Drive) anwendbar.The inventive concept is applicable to a solid state drive (SSD).
Die Flashspeichervorrichtungen 4100 können optional mit einer hohen Spannung Vpp von außerhalb versorgt werden. Der SSD-Controller 4200 kann mit den Flashspeichervorrichtungen 4100 über eine Mehrzahl von Kanälen CH1 bis CHi verbunden sein. Der SSD-Controller 4200 kann wenigstens eine CPU 4210, eine Host-Schnittstelle 4220, einen Pufferspeicher 4230 und eine Flash-Schnittstelle 4240 aufweisen.The flash memory devices 4100 can optionally be supplied with a high voltage Vpp from the outside. The
Unter der Steuerung der CPU 4210 kann die Host-Schnittstelle 4220 Daten mit einem Host durch das Kommunikationsprotokoll austauschen. In beispielhaften Ausführungsformen kann das Kommunikationsprotokoll das Advanced Technology Attachment (ATA)-Protokoll aufweisen. Das ATA-Protokoll kann eine Serial Advanced Technology Attachment (SATA)-Schnittstelle, eine Parallel Advanced Technology Attachment (PATA)-Schnittstelle, eine External SATA (ESATA)-Schnittstelle und dergleichen aufweisen. In anderen beispielhaften Ausführungsformen kann das Kommunikationsprotokoll das Universal Serial Bus (USB)-Protokoll aufweisen. Daten, welche von oder zu dem Host durch die Host-Schnittstelle 4220 zu empfangen sind oder zu übertragen sind, können durch den Pufferspeicher 4230 ohne ein Durchlaufen eines CPU-Bus unter der Steuerung der CPU 4210 geliefert werden.Under the control of the
Der Pufferspeicher 4230 kann verwendet werden, um vorübergehend Daten, welche zwischen einer externen Vorrichtung und den Flashspeichervorrichtungen 4100 übertragen werden, zu speichern. Der Pufferspeicher 4230 kann verwendet werden, um Programme, welche durch die CPU 4210 auszuführen sind, zu speichern. Der Pufferspeicher 4230 kann unter Verwendung eines SRAM oder eines DRAM implementiert sein. Der Pufferspeicher 4230 in
Die Flash-Schnittstelle 4240 kann konfiguriert sein, um zwischen dem SSD-Controller 4200 und den Flashspeichervorrichtungen 4100, welche als Speichervorrichtungen verwendet werden, eine Schnittstelle zu bilden. Die Flash-Schnittstelle 4240 kann konfiguriert sein, um NAND-Flashspeicher, One-NAND-Flashspeicher, Multilevel-Flashspeicher oder Singlelevel-Flashspeicher zu unterstützen.The
Das SSD 400 gemäß einer Ausführungsform der erfinderischen Konzepte kann die Zuverlässigkeit von Daten durch ein Speichern von Zufallsdaten bei einer Programmieroperation verbessern. Eine detailliertere Beschreibung des SSD 4000 ist im U.S. Patent Nr.
Die CPU 5100 kann mit einem Systembus verbunden sein. Die nichtflüchtige Speichervorrichtung 5200 kann Daten speichern, welche verwendet werden, um das Computersystem 5000 zu treiben bzw. betreiben. Hierin können die Daten eine Startbefehlssequenz oder eine Basis I/O-System (BIOS)-Sequenz aufweisen. Der RAM 5300 kann vorübergehend Daten speichern, welche während der Ausführung der CPU 5100 erzeugt werden. Die I/O-Vorrichtung 5400 kann mit dem Systembus durch eine I/O-Vorrichtungsschnittstelle wie beispielsweise Tastaturen, Zeigevorrichtungen (beispielsweise Maus), Monitore, Modems und dergleichen verbunden sein. Das SSD 5500 kann eine lesbare Speichervorrichtung sein und kann gleich wie das SSD 4000 der
Der Prozessor 6100 kann auf den RAM 6300 zugreifen, um Firmware-Codes oder andere Codes auszuführen. Ebenso kann der Prozessor 6100 auf den ROM 6200 zugreifen, um feste Befehlssequenzen wie beispielsweise eine Startbefehlssequenz und eine Basis I/O-System (BIOS)-Sequenz auszuführen. Die Flash-Schnittstelle 6400 kann konfiguriert sein, um eine Schnittstelle zwischen der elektronischen Vorrichtung 6000 und dem SSD 6500 zu bilden. Das SSD 6500 kann von der elektronischen Vorrichtung 6000 abnehmbar sein. Das SSD 6500 kann gleich wie das SSD 4000 der
Die elektronische Vorrichtung 6000 kann Mobiltelefone, persönliche digitale Assistenten (PDAs = Personal Digital Assistants), digitale Kameras, Camcorder, tragbare Audio-Player (beispielsweise MP3) und tragbare Media-Spieler (PMPs = Portable Media Players) aufweisen.
Der Server 7100 kann ein Anwendungs-Kommunikationsmodul 7110, ein Datenverarbeitungsmodul 7120, ein Upgrade-Modul 7130, ein Planungszentrum 7140, ein Lokal-Ressourcen-Modul 7150 und ein Reparations-Informationsmodul 7160 aufweisen. Das Anwendungs-Kommunikationsmodul 7110 kann konfiguriert sein, um mit einem Computersystem, welches mit einem Netzwerk und dem Server 7100 verbunden ist, zu kommunizieren, oder es dem Server 7100 zu ermöglichen, mit dem SSD 7200 zu kommunizieren. Das Anwendungs-Kommunikationsmodul 7110 kann Daten oder Informationen, welche durch eine Verwender-Schnittstelle vorgesehen sind, zu dem Datenverarbeitungsmodul 7120 übertragen.The
Das Datenverarbeitungsmodul 7120 kann mit dem Lokal-Ressourcenmodul 7150 verbunden sein. Hier kann das Lokal-Ressourcenmodul 7150 eine Liste von Reparaturwerkstätten/Händlern/technische Informationen für einen Verwender auf der Basis von Informationen oder Daten, welche dem Server 7100 zugeführt werden, vorsehen. Das Upgrade-Modul 7130 kann mit dem Datenverarbeitungsmodul 7120 eine Schnittstelle bilden. Basierend auf Informationen oder Daten, welche von dem SSD 7200 empfangen werden, kann das Upgrade-Modul 7130 Upgrades einer Firmware, eines Reset-Codes, eines Diagnosesystems oder andere Informationen über elektronische Anwendungen bzw. Einrichtungen durchführen.The
Das Planungszentrum 7140 kann Echtzeit-Optionen für den Verwender basierend auf Informationen oder Daten, welche dem Server 7100 zugeführt werden, vorsehen. Das Reparatur-Informationsmodul 7160 kann mit dem Datenverarbeitungsmodul 7120 eine Schnittstelle bilden. Das Reparatur-Informationsmodul 7160 kann verwendet werden, um reparaturbezogene Informationen (beispielsweise Audio-, Video- oder Dokumenten-Files) für den Verwender vorzusehen. Das Datenverarbeitungsmodul 7120 kann Informationen bezogen auf die Informationen, welche von dem SSD 7200 empfangen werden, packen. Die gepackten Informationen können zu den SSD 7200 übertragen werden oder können dem Verwender angezeigt werden.
Die erfinderischen Konzepte sind auf mobile Produkte (beispielsweise Smartphones, Mobiltelefone etc.) anwendbar.The inventive concepts are applicable to mobile products (e.g. smartphones, mobile phones, etc.).
Die Speichereinheit 8300 kann wenigstens ein DRAM 8310 und wenigstens eine nichtflüchtige Speichervorrichtung 8330 wie beispielsweise moviNAND oder eMMC aufweisen. Die nichtflüchtige Speichervorrichtung 8330 kann eine Überschreiboperation vor einer Löschoperation durchführen, wie unter Bezugnahme auf die
Eine detaillierte Beschreibung der mobilen Vorrichtung ist in den
Das erfinderische Konzept ist auf Tablet-Produkte anwendbar.The inventive concept is applicable to tablet products.
Die handgeführte elektronische Vorrichtung 1000 kann eine tragbare elektronische Vorrichtung einschließlich eines handgeführten Computers, eines Tablet-Computers, eines Mobiltelefons, eines Mediaplayers, eines PDA oder einer Kombination von zweien oder mehreren davon sein. Hierin kann das wenigstens eine computerlesbare Medium 9020 eine Überschreiboperation vor einer Löschoperation durchführen, wie unter Bezugnahme auf die
Ein Speichersystem oder eine Speichervorrichtung gemäß der erfinderischen Konzepte können in verschiedenen Typen von Gehäusen angebracht sein. Beispiele der Gehäuse des Speichersystems oder der Speichervorrichtung gemäß dem erfinderischen Konzept können Package on Package (PoP), Ball Grid Arrays (BGAs), Chip Scale Packages (CSPs), Plastic Leaded Chip Carrier (PLCC), Plastic Dual In-line Package (PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board (COB), Ceramic Dual In-line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flat Pack (TQFP), Small Outline Integrated Circuit (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline Package (TSOP), System In Package (SIP), Multi Chip Package (MCP), Wafer-level Fabricated Package (WFP), und Wafer-level Processed Stack Package (WSP) aufweisen.A storage system or storage device according to the inventive concepts can be mounted in different types of housings. Examples of the packages of the memory system or the memory device according to the inventive concept can be Package on Package (PoP), Ball Grid Arrays (BGAs), Chip Scale Packages (CSPs), Plastic Leaded Chip Carrier (PLCC), Plastic Dual In-line Package (PDIP ), Die in Waffle Pack, Die in Wafer Form, Chip On Board (COB), Ceramic Dual In-line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flat Pack (TQFP), Small Outline Integrated Circuit (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline Package (TSOP), System In Package (SIP), Multi Chip Package (MCP), Wafer-level Fabricated Package (WFP), and Wafer-level Processed Stack Package (WSP) have.
Claims (32)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0008370 | 2012-01-27 | ||
KR1020120008370A KR101832934B1 (en) | 2012-01-27 | 2012-01-27 | Nonvolatile memory device, memory system having the same and block management method, programming method and erasing method thereof |
US13/746,640 US8891300B2 (en) | 2012-01-27 | 2013-01-22 | Nonvolatile memory device, memory system having the same and block managing method, and program and erase methods thereof |
US13/746,640 | 2013-01-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102013100596A1 DE102013100596A1 (en) | 2013-08-01 |
DE102013100596B4 true DE102013100596B4 (en) | 2023-09-07 |
Family
ID=48783849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102013100596.9A Active DE102013100596B4 (en) | 2012-01-27 | 2013-01-22 | Non-volatile memory system with programming and erasing methods and block management methods |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103226975B (en) |
DE (1) | DE102013100596B4 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015069241A (en) * | 2013-09-26 | 2015-04-13 | キヤノン株式会社 | Image processing apparatus, control apparatus, control method therefor, and program |
CN106601297A (en) * | 2015-10-14 | 2017-04-26 | 旺宏电子股份有限公司 | Apparatus and method for improving threshold voltage distribution of nonvolatile storage apparatus |
KR20170056767A (en) * | 2015-11-13 | 2017-05-24 | 에스케이하이닉스 주식회사 | Memory system and operating method of memory system |
JP2018005959A (en) * | 2016-06-30 | 2018-01-11 | 東芝メモリ株式会社 | Memory system and writing method |
US10083742B2 (en) * | 2016-09-26 | 2018-09-25 | Intel Corporation | Method and apparatus for programming non-volatile memory using a multi-cell storage cell group to provide error location information for retention errors |
US10521375B2 (en) * | 2017-06-22 | 2019-12-31 | Macronix International Co., Ltd. | Controller for a memory system |
CN109213433A (en) * | 2017-07-07 | 2019-01-15 | 华为技术有限公司 | The method and apparatus that data are written in flash memory device |
KR102457662B1 (en) * | 2017-10-31 | 2022-10-25 | 삼성전자주식회사 | Operation method of memory controller and operation method of storage device |
KR20220019574A (en) * | 2020-08-10 | 2022-02-17 | 에스케이하이닉스 주식회사 | Semiconductor memory device and operating method thereof |
EP4184332A1 (en) * | 2021-11-17 | 2023-05-24 | Samsung Electronics Co., Ltd. | Storage controller and storage device including the same |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106836A1 (en) | 2005-11-10 | 2007-05-10 | Jeong-Woo Lee | Semiconductor solid state disk controller |
US20070201274A1 (en) | 2000-01-06 | 2007-08-30 | Super Talent Electronics Inc. | Cell-Downgrading and Reference-Voltage Adjustment for a Multi-Bit-Cell Flash Memory |
DE102008003055A1 (en) | 2007-01-23 | 2008-07-31 | Hynix Semiconductor Inc., Ichon | Flash memory device and method of operating the same |
US7509588B2 (en) | 2005-12-30 | 2009-03-24 | Apple Inc. | Portable electronic device with interface reconfiguration mode |
US20090310415A1 (en) | 2008-06-11 | 2009-12-17 | Jin Beom-Jun | Non-volatile memory devices including vertical nand strings and methods of forming the same |
US20100010040A1 (en) | 2008-07-11 | 2010-01-14 | Lyn Howard Jones | Triazol Derivatives Useful For The Treatment of Diseases |
US20100062715A1 (en) | 2008-09-09 | 2010-03-11 | Samsung Electronic Co., Ltd. | Portable electronic apparatus functioning as pen-table and computer system using the same |
US20100078701A1 (en) | 2008-09-30 | 2010-04-01 | Samsung Electronics Co., Ltd. | Three-dimensional microelectronic devices including repeating layer patterns of different thicknesses |
US20100082890A1 (en) | 2008-09-30 | 2010-04-01 | Jin Gyu Heo | Method of managing a solid state drive, associated systems and implementations |
US20100117141A1 (en) | 2008-11-13 | 2010-05-13 | Samsung Electronics Co., Ltd. | Memory cell transistors having limited charge spreading, non-volatile memory devices including such transistors, and methods of formation thereof |
US20100140685A1 (en) | 2008-12-10 | 2010-06-10 | Pil-Kyu Kang | Nonvolatile Memory Devices |
US20100199081A1 (en) | 2009-01-30 | 2010-08-05 | Samsung Electronics Co., Ltd. | Apparatus and method for downloading contents using an interior mass storage in a portable terminal |
US20100213527A1 (en) | 2009-02-25 | 2010-08-26 | Sunil Shim | Integrated Circuit Memory Devices Having Selection Transistors with Nonuniform Threshold Voltage Characteristics |
US20100224929A1 (en) | 2009-03-06 | 2010-09-09 | Samsung Electronics Co., Ltd. | Nonvolatile memory device |
US20100306583A1 (en) | 2009-05-26 | 2010-12-02 | Yong-June Kim | Memory Systems and Defective Block Management Methods Related Thereto |
US20100309237A1 (en) | 2009-06-09 | 2010-12-09 | Samsung Electronics Co., Ltd. | Method and device for driving a plurality of display devices |
US20100315875A1 (en) | 2009-02-02 | 2010-12-16 | Samsung Electronics Co., Ltd. | Non-volatile memory device having vertical structure and method of operating the same |
US20100322000A1 (en) | 2009-06-19 | 2010-12-23 | Samsung Electronics Co., Ltd. | Programming methods for three-dimensional memory devices having multi-bit programming, and three-dimensional memory devices programmed thereby |
US20110013458A1 (en) | 2009-07-20 | 2011-01-20 | Samsung Electronics Co., Ltd. | Memory devices supporting simultaneous programming of multiple cells and programming methods thereof |
US20110018036A1 (en) | 2009-07-22 | 2011-01-27 | Samsung Electronics Co., Ltd. | Vertical non-volatile memory device and method of fabricating the same |
KR20110037962A (en) | 2008-05-21 | 2011-04-13 | 인사이트 코포레이션 | Salts of 2-fluoro-n-methyl-4-[7-(quinolin-6-yl-methyl)-imidazo[1,2-b][1,2,4]triazin-2-yl]benzamide and processes related to preparing the same |
KR20110037961A (en) | 2008-06-23 | 2011-04-13 | 스미또모 가가꾸 가부시키가이샤 | Polymeric compound containing metal complex residue and element comprising same |
US8027194B2 (en) | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
US20120268988A1 (en) | 2011-04-22 | 2012-10-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device including memory cell array with upper and lower word line groups |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4005761B2 (en) * | 2000-06-09 | 2007-11-14 | 株式会社東芝 | Semiconductor memory device |
JP4017573B2 (en) | 2003-07-17 | 2007-12-05 | 沖電気工業株式会社 | diode |
JP5170845B2 (en) | 2006-03-06 | 2013-03-27 | 日本電気株式会社 | Semiconductor memory device and operation method thereof |
KR101544607B1 (en) * | 2008-10-28 | 2015-08-17 | 삼성전자주식회사 | Memory device and program method thereof |
US8040713B2 (en) * | 2009-01-13 | 2011-10-18 | Seagate Technology Llc | Bit set modes for a resistive sense memory cell array |
KR101230918B1 (en) | 2010-07-16 | 2013-02-07 | 중앙대학교 산학협력단 | Anti-Cancer Composition Comprising Extract from Hylocereus undatus |
-
2013
- 2013-01-22 DE DE102013100596.9A patent/DE102013100596B4/en active Active
- 2013-01-28 CN CN201310031305.4A patent/CN103226975B/en active Active
Patent Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
US20070201274A1 (en) | 2000-01-06 | 2007-08-30 | Super Talent Electronics Inc. | Cell-Downgrading and Reference-Voltage Adjustment for a Multi-Bit-Cell Flash Memory |
US20070106836A1 (en) | 2005-11-10 | 2007-05-10 | Jeong-Woo Lee | Semiconductor solid state disk controller |
US7509588B2 (en) | 2005-12-30 | 2009-03-24 | Apple Inc. | Portable electronic device with interface reconfiguration mode |
DE102008003055A1 (en) | 2007-01-23 | 2008-07-31 | Hynix Semiconductor Inc., Ichon | Flash memory device and method of operating the same |
KR20110037962A (en) | 2008-05-21 | 2011-04-13 | 인사이트 코포레이션 | Salts of 2-fluoro-n-methyl-4-[7-(quinolin-6-yl-methyl)-imidazo[1,2-b][1,2,4]triazin-2-yl]benzamide and processes related to preparing the same |
US20090310415A1 (en) | 2008-06-11 | 2009-12-17 | Jin Beom-Jun | Non-volatile memory devices including vertical nand strings and methods of forming the same |
KR20110037961A (en) | 2008-06-23 | 2011-04-13 | 스미또모 가가꾸 가부시키가이샤 | Polymeric compound containing metal complex residue and element comprising same |
US20100010040A1 (en) | 2008-07-11 | 2010-01-14 | Lyn Howard Jones | Triazol Derivatives Useful For The Treatment of Diseases |
US20100062715A1 (en) | 2008-09-09 | 2010-03-11 | Samsung Electronic Co., Ltd. | Portable electronic apparatus functioning as pen-table and computer system using the same |
US20100078701A1 (en) | 2008-09-30 | 2010-04-01 | Samsung Electronics Co., Ltd. | Three-dimensional microelectronic devices including repeating layer patterns of different thicknesses |
US20100082890A1 (en) | 2008-09-30 | 2010-04-01 | Jin Gyu Heo | Method of managing a solid state drive, associated systems and implementations |
US20100117141A1 (en) | 2008-11-13 | 2010-05-13 | Samsung Electronics Co., Ltd. | Memory cell transistors having limited charge spreading, non-volatile memory devices including such transistors, and methods of formation thereof |
US20100140685A1 (en) | 2008-12-10 | 2010-06-10 | Pil-Kyu Kang | Nonvolatile Memory Devices |
US20100199081A1 (en) | 2009-01-30 | 2010-08-05 | Samsung Electronics Co., Ltd. | Apparatus and method for downloading contents using an interior mass storage in a portable terminal |
US20100315875A1 (en) | 2009-02-02 | 2010-12-16 | Samsung Electronics Co., Ltd. | Non-volatile memory device having vertical structure and method of operating the same |
US20100213527A1 (en) | 2009-02-25 | 2010-08-26 | Sunil Shim | Integrated Circuit Memory Devices Having Selection Transistors with Nonuniform Threshold Voltage Characteristics |
US20100224929A1 (en) | 2009-03-06 | 2010-09-09 | Samsung Electronics Co., Ltd. | Nonvolatile memory device |
US20100306583A1 (en) | 2009-05-26 | 2010-12-02 | Yong-June Kim | Memory Systems and Defective Block Management Methods Related Thereto |
US20100309237A1 (en) | 2009-06-09 | 2010-12-09 | Samsung Electronics Co., Ltd. | Method and device for driving a plurality of display devices |
US20100322000A1 (en) | 2009-06-19 | 2010-12-23 | Samsung Electronics Co., Ltd. | Programming methods for three-dimensional memory devices having multi-bit programming, and three-dimensional memory devices programmed thereby |
US20110013458A1 (en) | 2009-07-20 | 2011-01-20 | Samsung Electronics Co., Ltd. | Memory devices supporting simultaneous programming of multiple cells and programming methods thereof |
US20110018036A1 (en) | 2009-07-22 | 2011-01-27 | Samsung Electronics Co., Ltd. | Vertical non-volatile memory device and method of fabricating the same |
US20120268988A1 (en) | 2011-04-22 | 2012-10-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device including memory cell array with upper and lower word line groups |
KR20120119779A (en) | 2011-04-22 | 2012-10-31 | 삼성전자주식회사 | Nonvolatile memory device |
Also Published As
Publication number | Publication date |
---|---|
DE102013100596A1 (en) | 2013-08-01 |
CN103226975B (en) | 2018-05-01 |
CN103226975A (en) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102013100596B4 (en) | Non-volatile memory system with programming and erasing methods and block management methods | |
US8891300B2 (en) | Nonvolatile memory device, memory system having the same and block managing method, and program and erase methods thereof | |
DE102018125128B4 (en) | Non-volatile memory device, method of operating a non-volatile memory device and memory device using the same | |
DE102014101267B4 (en) | Storage system with non-volatile storage device and programming method thereof | |
DE102008005338B4 (en) | An integrated circuit having a memory cell array and a method of reading a memory cell state using a plurality of sub-read operations | |
DE60319437T2 (en) | NON-VOLATILE SEMICONDUCTOR MEMORY WITH CYCLE COUNTER VALVES STORING LARGE DEFICIENCIES | |
DE102011055714B4 (en) | A method of programming a non-volatile memory device | |
DE102017104257A1 (en) | Cell current based bit line voltage | |
DE102013108456B4 (en) | Non-volatile memory device and programming method | |
DE102014103125A1 (en) | A method and apparatus for optimizing the Log Likelihood Ratio (LLR) used for a nonvolatile memory device and for correcting errors in a nonvolatile memory device | |
DE102012112354A1 (en) | Memory device and nonvolatile memory device and method of operation thereof | |
DE112008001151B4 (en) | Multi-bit programming device and method for multi-bit programming | |
DE112019000165T5 (en) | SIMULTANEOUSLY PROGRAMMING MULTIPLE CELLS FOR NON-VOLATILE STORAGE DEVICES | |
DE102011054181A1 (en) | Non-volatile memory device and readout method thereof | |
DE102013108491A1 (en) | Programming method for e.g. flash memories in digital systems, involves programming data into non-volatile memory cells of buffer area by programming operation, invalidating data stored in memory cells, and redefining delete state | |
DE102017104283A1 (en) | DELETED SPEED BASED WORD CONTROL | |
DE102012104713A1 (en) | Non-volatile memory device and erase method | |
DE102013109235A1 (en) | An abnormal word line detector flash memory system and method for detecting an abnormal word line | |
DE102014100161A1 (en) | Storage system and method of operation thereof | |
DE102008033511A1 (en) | Method for programming a flash memory, flash memory and flash memory system | |
DE102010037064A1 (en) | A nonvolatile memory device and system and method of programming a nonvolatile memory device | |
DE102015011991A1 (en) | Coding scheme for vertical 3D flash memory | |
DE102019124668A1 (en) | TRANSISTOR THRESHOLD VOLTAGE HOLDING IN 3D MEMORY | |
DE112016002631T5 (en) | Memory function status monitoring | |
DE102020107504A1 (en) | NON-VOLATILE MEMORY ARRAY THAT IS DRIVEN BY BOTH SIDES TO IMPROVE PERFORMANCE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division |