DE102021118940A1 - MEMORY CONTROL AND STORAGE DEVICE WITH THE SAME - Google Patents
MEMORY CONTROL AND STORAGE DEVICE WITH THE SAME Download PDFInfo
- Publication number
- DE102021118940A1 DE102021118940A1 DE102021118940.3A DE102021118940A DE102021118940A1 DE 102021118940 A1 DE102021118940 A1 DE 102021118940A1 DE 102021118940 A DE102021118940 A DE 102021118940A DE 102021118940 A1 DE102021118940 A1 DE 102021118940A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- area
- slc
- memory
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- 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/5642—Sensing or reading circuits; Data output 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
Eine Speichereinrichtung kann mindestens eine Speichervorrichtung, die mindestens einen ersten Single-Level-Zellen(SLC)-Bereich), einen zweiten SLC-Bereich und mindestens einen Multi-Level-Zellen(MLC)-Bereich) enthält, wobei der erste SLC-Bereich eine höhere Datenlesegeschwindigkeit als der zweite SLC-Bereich aufweist und der zweite SLC-Bereich eine höhere Datenlesegeschwindigkeit als der mindestens eine MLC-Bereich aufweist; und eine Speichersteuerung, die eingerichtet ist, um Daten aus der Speichervorrichtung zu lesen und die Migration der Daten zwischen dem ersten SLC-Bereich, dem zweiten SLC-Bereich und dem mindestens einem MLC-Bereich zu steuern.A memory device may include at least one memory device including at least a first single-level cell (SLC) area, a second SLC area, and at least one multi-level cell (MLC) area, the first SLC area has a higher data read speed than the second SLC area and the second SLC area has a higher data read speed than the at least one MLC area; and a memory controller configured to read data from the memory device and to control the migration of the data between the first SLC area, the second SLC area and the at least one MLC area.
Description
HINTERGRUNDBACKGROUND
Verschiedene beispielhafte Ausführungsformen der erfindungsgemäßen Konzepte beziehen sich auf Speichersteuerungen, Speichereinrichtungen mit einem nichtflüchtigen Speicher, der die Speichersteuerung enthält, und/oder Verfahren zum Betrieb der Speichersteuerungen, usw.Various exemplary embodiments of the inventive concepts relate to memory controllers, memory devices with a non-volatile memory containing the memory controller and/or methods for operating the memory controllers, etc.
Ein Flash-Speicher speichert Daten durch Änderung der Schwellenspannung von Speicherzellen und liest die Daten mit einem gewünschten und/oder vorgegebenen Lesepegel. In letzter Zeit sind Speichereinrichtungen mit Flash-Speicher, wie Solid-State-Laufwerke (SSD), Speicherkarten usw., weit verbreitet. Der Grund dafür ist, dass der Flash-Speicher ein nichtflüchtiges Bauelement ist, das die gewünschten Merkmale, wie z. B. einen geringen Stromverbrauch und einen hohen Integrationsgrad, aufweist.A flash memory stores data by changing the threshold voltage of memory cells and reads the data at a desired and/or predetermined reading level. Recently, flash memory storage devices such as solid state drives (SSD), memory cards, etc. have become widespread. This is because flash memory is a non-volatile device that has the desired characteristics, such as memory. B. has a low power consumption and a high degree of integration.
Um die von einem Host übertragenen Schreibdaten im Flash-Speicher zu speichern, werden die Schreibdaten entsprechend den Merkmalen der Schreibdaten in einem Speicherblock eines Single-Level-Zellen-Bereichs oder in einem Speicherblock eines Multi-Level-Zellen-Bereichs gespeichert.In order to store the write data transferred from a host in the flash memory, the write data is stored in a memory block of a single-level cell area or in a memory block of a multi-level cell area according to the characteristics of the write data.
ZUSAMMENFASSUNGSUMMARY
Verschiedene beispielhafte Ausführungsformen der erfindungsgemäßen Konzepte bieten Speichersteuerungen mit verbesserter Leistung, Systeme, die die Speichersteuerung enthalten, und/oder Betriebsverfahren dafür.Various exemplary embodiments of the inventive concepts provide memory controllers with improved performance, systems incorporating the memory controller, and/or methods of operation therefor.
Aspekte mindestens einer beispielhaften Ausführungsform der erfindungsgemäßen Konzepte sehen Speichereinrichtungen, bei denen ein Speicherbereich in Abhängigkeit von und/oder auf der Grundlage von Nutzungsmerkmalen der Daten geändert wird, Systeme, die die Speichereinrichtung enthalten, und/oder Betriebsverfahren dafür, vor.Aspects of at least one example embodiment of the inventive concepts provide storage devices in which a storage area is changed depending on and/or based on usage characteristics of the data, systems that include the storage device, and/or methods of operation therefor.
Mindestens eine beispielhafte Ausführungsform der erfindungsgemäßen Konzepte sieht eine Speichereinrichtung vor, die eine Speichervorrichtung enthält, die mindestens einen ersten Single-Level-Zellen(SLC)-Bereich, einen zweiten SLC-Bereich und mindestens einen Multi-Level-Zellen(MLC)-Bereich enthält, wobei der erste SLC-Bereich eine höhere Datenlesegeschwindigkeit als der zweite SLC-Bereich aufweist, und der zweite SLC-Bereich eine höhere Datenlesegeschwindigkeit als der mindestens eine MLC-Bereich aufweist, und eine Speichersteuerung, die eingerichtet ist, um Daten aus der Speichervorrichtung zu lesen und die Migration der Daten zwischen dem ersten SLC-Bereich, dem zweiten SLC-Bereich und dem mindestens einen MLC-Bereich zu steuern.At least one example embodiment of the inventive concepts provides a memory device that includes a memory device that includes at least a first single-level cell (SLC) array, a second SLC array, and at least one multi-level cell (MLC) array contains, wherein the first SLC area has a higher data read speed than the second SLC area, and the second SLC area has a higher data read speed than the at least one MLC area, and a memory controller that is set up to read data from the memory device to read and to control the migration of the data between the first SLC area, the second SLC area and the at least one MLC area.
Mindestens eine beispielhafte Ausführungsform der erfindungsgemäßen Konzepte sieht ein Betriebsverfahren einer Speichersteuerung vor, enthaltend: Lesen von Daten aus einem SLC-Bereich einer Speichervorrichtung; und Migrieren der Daten zu einem MLC-Bereich der Speichervorrichtung auf der Grundlage einer Schreibzeitreihenfolge der Daten und einer Lesezählung der Daten, wobei die Schreibzeitreihenfolge eine Reihenfolge angibt, in der die Daten in den SLC-Bereich geschrieben wurden, und die Lesezählung eine Anzahl von Malen angibt, zu denen die Daten gelesen wurden.At least one exemplary embodiment of the inventive concepts provides an operating method of a memory controller, including: reading data from an SLC area of a memory device; and migrating the data to an MLC area of the storage device based on a write time order of the data and a read count of the data, wherein the write time order indicates an order in which the data was written to the SLC area and the read count indicates a number of times indicates for which the data was read.
Mindestens eine beispielhafte Ausführungsform der erfindungsgemäßen Konzepte sieht eine Speichersteuerung vor, die eine Verarbeitungsschaltung enthält, die eingerichtet ist, um eine Leseanforderung für Daten zu übertragen, die in einem ersten SLC-Bereich, einem zweiten SLC-Bereich oder einem MLC-Bereich gespeichert sind, die in einer Speichervorrichtung enthalten sind, wobei der erste SLC-Bereich eine höhere Datenlesegeschwindigkeit als der zweite SLC-Bereich aufweist und der zweite SLC-Bereich eine höhere Datenlesegeschwindigkeit als der MLC-Bereich aufweist; und einen Speicherplatz der Daten in der Speichervorrichtung auf der Grundlage von Nutzungsmerkmalen der Daten zu ändern.At least one example embodiment of the inventive concepts provides a memory controller including processing circuitry configured to transmit a read request for data stored in a first SLC area, a second SLC area, or an MLC area, included in a memory device, wherein the first SLC area has a higher data reading speed than the second SLC area and the second SLC area has a higher data reading speed than the MLC area; and change a location of the data in the storage device based on usage characteristics of the data.
Es sei darauf hingewiesen, dass die Merkmale der beispielhaften Ausführungsformen der erfindungsgemäßen Konzepte nicht darauf beschränkt sind und dass andere Merkmale im Zusammenhang mit den beispielhaften Ausführungsformen der erfindungsgemäßen Konzepte für einen Fachmann aus den folgenden Beschreibungen ersichtlich sind.It should be noted that the features of the exemplary embodiments of the inventive concepts are not limited thereto and that other features related to the exemplary embodiments of the inventive concepts will be apparent to those skilled in the art from the following descriptions.
Figurenlistecharacter list
Die vorstehenden und andere Aspekte und Merkmale der beispielhaften Ausführungsformen der erfindungsgemäßen Konzepte werden durch die detaillierte Beschreibung beispielhafter Ausführungsformen davon unter Bezugnahme auf die beigefügten Zeichnungen, deutlicher werden, in denen zeigen:
-
1 ein schematisches Blockdiagramm eines Speichersystems nach einigen beispielhaften Ausführungsformen; -
2 ein Blockdiagramm, das eine Speichersteuerung von1 nach mindestens einer beispielhaften Ausführungsform veranschaulicht; -
3 ein Blockdiagramm, das eine Speichervorrichtung von1 nach mindestens einer beispielhaften Ausführungsform veranschaulicht; -
4 ein Blockdiagramm, das eine Speichersteuerung, wie in1 gezeigt, nach mindestens einer beispielhaften Ausführungsform veranschaulicht; -
5 ein konzeptionelles Diagramm, das die dynamische Zuweisung einer Speichervorrichtung, wie in3 gezeigt, nach mindestens einer beispielhaften Ausführungsform veranschaulicht; -
6 ein Diagramm, das den Betrieb eines Speichersystems nach einigen beispielhaften Ausführungsformen veranschaulicht; -
7 ein Diagramm, das den Betrieb eines Speichersystems nach einigen beispielhaften Ausführungsformen veranschaulicht; -
8 ein Ablaufdiagramm eines Betriebsverfahrens einer Speichersteuerung nach einigen beispielhaften Ausführungsformen; -
9 ein Blockdiagramm eines Speichersystems nach mindestens einer beispielhaften Ausführungsform der erfindungsgemäßen Konzepte; -
10 ein Blockdiagramm eines Beispiels derSpeichervorrichtung 220 von1 nach mindestens einer beispielhaften Ausführungsform; und -
11 ein Diagramm, das ein System veranschaulicht, in dem dieSpeichereinrichtung 200 von1 nach mindestens einer beispielhaften Ausführungsform eingesetzt wird.
-
1 12 is a schematic block diagram of a memory system according to some example embodiments; -
2 a block diagram showing a memory controller of1 illustrated according to at least one example embodiment; -
3 FIG. 14 is a block diagram showing a memory device of FIG1 after at least one exemplary embodiment; -
4 a block diagram showing a memory controller as in1 shown illustrated according to at least one example embodiment; -
5 a conceptual diagram showing the dynamic allocation of a memory device, as in3 shown illustrated according to at least one exemplary embodiment; -
6 12 is a diagram illustrating operation of a memory system according to some example embodiments; -
7 12 is a diagram illustrating operation of a memory system according to some example embodiments; -
8th -
9 14 is a block diagram of a memory system according to at least one example embodiment of the inventive concepts; -
10 12 is a block diagram of an example ofmemory device 220 of FIG1 according to at least one exemplary embodiment; and -
11 a diagram illustrating a system in which thememory device 200 of FIG1 according to at least one example embodiment.
AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION
Nachfolgend werden verschiedene beispielhafte Ausführungsformen der erfindungsgemäßen Konzepte unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.Various exemplary embodiments of the inventive concepts are described below with reference to the accompanying drawings.
Bezugnehmend auf
Die Speichereinrichtung 200 kann Speichermedien zum Speichern von Daten nach mindestens einer Anforderung vom Host 100 usw. enthalten. Beispielsweise kann die Speichereinrichtung 200 mindestens eines der folgenden Elemente enthalten: ein Solid-State-Laufwerk (SSD), einen eingebetteten Speicher und/oder einen entfernbaren externen Speicher usw., ist aber nicht darauf beschränkt. Wenn die Speichereinrichtung 200 ein SSD ist, kann die Speichereinrichtung 200 eine Vorrichtung sein, die beispielsweise dem Non-Volatile Memory Express (NVMe) Standard usw. entspricht, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Wenn die Speichereinrichtung 200 ein eingebetteter Speicher und/oder ein externer Speicher ist, kann die Speichereinrichtung 200 eine Vorrichtung sein, die dem Universal-Flash-Speicher (UFS) und/oder dem Standard für eingebettete Multi-Media-Karten (eMMC) entspricht, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Der Host 100 und die Speichereinrichtung 200 sind jeweils in der Lage, mindestens ein Paket nach einem verwendeten Datenspeicherstandardprotokoll zu erzeugen und/oder zu übertragen.The
Wenn die Speichervorrichtung 220 der Speichereinrichtung 200 mindestens einen Flash-Speicher enthält, kann der Flash-Speicher ein zweidimensionales (2D) NAND-Speicherarray und/oder ein dreidimensionales (3D) (oder vertikales NAND (VNAND)) Speicherarray enthalten. Ein weiteres Beispiel ist, dass die Speichereinrichtung 200 auch andere Arten von nichtflüchtigen Speichern enthalten kann. So können beispielsweise ein magnetischer Direktzugriffsspeicher (MRAM), ein MRAM mit Spin-Transfer-Drehmoment, ein Conductive-Bridging-RAM (CBRAM), ein ferroelektrischer RAM (FeRAM), ein Phasen-RAM (PRAM), ein resistiver RAM und verschiedene andere Speichertypen als Speichereinrichtung 200 verwendet werden.When the
Nach mindestens einer beispielhaften Ausführungsform können die Host-Steuerung 110 und der Host-Speicher 120 als separate Halbleiterchips ausgeführt sein. Außerdem können in einigen beispielhaften Ausführungsformen die Host-Steuerung 110 und der Host-Speicher 120 auf demselben Halbleiterchip integriert sein. Beispielsweise kann die Host-Steuerung 110 eines von mehreren Modulen sein, die in einem Anwendungsprozessor enthalten sind, und der Anwendungsprozessor kann als Ein-Chip-System (SoC) usw. ausgeführt sein. Als weiteres Beispiel kann der Host-Speicher 120 ein eingebetteter Speicher sein, der im Anwendungsprozessor vorgesehen ist, oder ein nichtflüchtiger Speicher oder ein Speichermodul außerhalb des Anwendungsprozessors, usw., aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.According to at least one example embodiment, the
Die Host-Steuerung 110 kann einen Vorgang des Speicherns von Daten (z. B. Schreibdaten) des Host-Speichers 120 in der Speichervorrichtung 220 und/oder des Abrufens von Daten (z. B. Lesedaten) aus der Speichervorrichtung 220 im Host-Speicher 120 verwalten.The
Die Speichersteuerung 210 kann eine Host-Schnittstelle 211, eine Speicherschnittstelle 212 und/oder eine Steuereinheit 213 (z. B. Steuerschaltungen, Steuerverarbeitungsschaltungen usw.) enthalten, doch sind die beispielhaften Ausführungsformen darauf nicht beschränkt. Die Speichersteuerung 210 kann ferner eine Flash-Übersetzungsschicht (FTL) 214, einen Paketmanager 215, einen Pufferspeicher 216, eine Fehlerkorrekturcode(ECC)-Engine 217, eine Advanced-Encryption-Standard(AES)-Engine 218 und/oder einen Migrationsmanager 300 usw. enthalten, doch sind die beispielhaften Ausführungsformen hierauf nicht beschränkt und können beispielsweise eine größere oder geringere Anzahl von Bestandteilen und/oder alternative Komponenten enthalten, wie das Weglassen der ECC-Engine 217 und/oder der AES-Engine 218 und/oder die Verwendung einer anderen Verschlüsselungs-/Entschlüsselungs-Engine usw. Die Speichersteuerung 210 kann ferner einen Speicher (nicht dargestellt) enthalten, in den die FTL 214 geladen wird, und die Steuereinheit 213 kann die FTL 214 ausführen, um einen Datenschreiboperation, einen Datenleseoperation, einen Datenlöschoperation, einen Verschleißausgleichsoperation usw. in Bezug auf die Speichervorrichtung 220 zu steuern, aber die beispielhaften Ausführungsformen sind hierauf nicht beschränkt. Nach einigen beispielhaften Ausführungsformen kann die Speichersteuerung 210 als Verarbeitungsschaltung implementiert werden, oder mit anderen Worten, die in der Speichersteuerung 210 enthaltene Verarbeitungsschaltung kann in der Lage sein, die Funktionalität der Speichersteuerung 210, der Host-Schnittstelle 211, der Speicherschnittstelle 212, der Steuereinheit 213, der FTL 214, des Paketmanagers 215, des Pufferspeichers 216, der ECC-Engine 217, der AES-Engine 218 und/oder eines Migrationsmanagers 300 usw. auszuführen. Der Verarbeitungsschaltkreis kann Hardware, wie z. B. Prozessoren, Prozessorkerne, Logikschaltungen, Speichereinrichtungen usw.; eine Hardware/Software-Kombination, wie z. B. mindestens einen Prozessorkern, der Software ausführt und/oder einen beliebigen Befehlssatz usw. ausführt; oder eine Kombination davon enthalten. So kann die Verarbeitungsschaltung insbesondere ein FPGA (Field Programmable Gate Array), eine programmierbare Logikeinheit, eine anwendungsspezifische integrierte Schaltung (ASIC), ein Ein-Chip-System (SoC, System-on-Chip) usw. enthalten, ist aber nicht darauf beschränkt.The
Die Host-Schnittstelle 211 kann ein Paket an den Host 100 senden und/oder ein Paket von dem Host 100 usw. empfangen. Ein vom Host 100 an die Hostschnittstelle 211 gesendetes Paket kann einen Befehl und/oder Daten enthalten, die in die Speichervorrichtung 220 geschrieben werden sollen, und ein von der Hostschnittstelle 211 an den Host 100 gesendetes Paket kann eine Antwort auf den Befehl und/oder die aus der Speichervorrichtung 220 gelesene Daten usw. enthalten. Die Speicherschnittstelle 212 kann Daten, die in die Speichervorrichtung 220 geschrieben werden sollen, an die Speichervorrichtung 220 übertragen und/oder aus der Speichervorrichtung 220 gelesene Daten empfangen, ist jedoch nicht darauf beschränkt. Die Speicherschnittstelle 212 kann so implementiert werden, dass sie Standardkonventionen wie Hin- und Herschalten (Toggle) und/oder ONFI usw. entspricht, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.The
Die FTL 214 kann verschiedene Funktionen durchführen, z. B. Adresszuordnung, Abnutzungsausgleich und/oder Speicherbereinigung (Garbage Collection) usw. Bei der Adresszuordnung wird eine vom Host 100 empfangene logische Adresse in eine physische Adresse umgewandelt, die zur tatsächlichen Speicherung von Daten in der Speichervorrichtung 220 verwendet wird. Abnutzungsausgleich ist eine Operation, die es ermöglicht, dass in der Speichervorrichtung 220 enthaltene Blöcke gleichmäßig genutzt werden, wodurch eine übermäßige Verschlechterung eines bestimmten Blocks verringert und/oder verhindert wird, und kann beispielsweise durch die Verwendung von Firmware zum Ausgleich von Löschzählungen physischer Blöcke implementiert werden, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Speicherbereinigung ist eine Operation zur Sicherung der nutzbaren Kapazität in der Speichervorrichtung 220 durch Kopieren gültiger Daten eines aktuellen Blocks in einen neuen Block und Löschen der im aktuellen Block gespeicherten Daten usw.The
Der Paketmanager 215 kann ein Paket gemäß einem Protokoll einer mit dem Host 100 ausgehandelten Schnittstelle generieren und/oder verschiedene Arten von Informationen aus einem vom Host 100 empfangenen Paket analysieren, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.The
Der Pufferspeicher 216 kann vorübergehend Daten speichern, die in die Speichervorrichtung 220 geschrieben und/oder aus ihr gelesen werden sollen, usw. Der Pufferspeicher 216 kann in der Speichersteuerung 210 vorgesehen sein, kann sich aber auch außerhalb und/oder extern zu der Speichersteuerung 210 befinden, wobei die beispielhaften Ausführungsformen darauf nicht beschränkt sind.
Die ECC-Engine 217 kann eine Fehlererkennungs- und/oder -korrekturfunktion für aus der Speichervorrichtung 220 gelesene Daten durchführen, ist jedoch nicht darauf beschränkt. Genauer gesagt kann die ECC-Engine 217 Paritätsbits in Bezug auf Schreibdaten erzeugen, die in die Speichervorrichtung 220 geschrieben werden sollen, und die erzeugten Paritätsbits können in der Speichervorrichtung 220 zusammen mit den Schreibdaten usw. gespeichert werden. Wenn Daten aus der Speichervorrichtung 220 gelesen werden, kann die ECC-Engine 217 einen Fehler in den gelesenen Daten unter Verwendung der aus der Speichervorrichtung 220 gelesenen Paritätsbits zusammen mit den gelesenen Daten korrigieren und die fehlerkorrigierten gelesenen Daten usw. ausgeben.The
Wenn die Speichersteuerung 210 Daten von der Speichervorrichtung 220 empfängt, kann die ECC-Engine 217 die empfangenen Daten dekodieren, um zu prüfen, ob eine Fehlerkorrektur möglich ist, die Anzahl der Fehler in den empfangenen Daten prüfen und/oder bestimmen und die Anzahl der Fehler an den Migrationsmanager 300 melden, wenn die Fehlerkorrektur möglich ist. Wenn die Fehlerkorrektur nicht möglich ist, kann die ECC-Engine 217 die Steuereinheit 213 darüber informieren, dass die Fehlerkorrektur nicht möglich ist, und steuern, dass die Daten über die Steuereinheit 213 erneut aus der Speichervorrichtung 220 gelesen werden (z. B. einen Lese-Wiederholungsversuch durchführen usw.). Die AES-Engine 218 kann mindestens eine Verschlüsselungsoperation und/oder eine Entschlüsselungsoperation in Bezug auf Daten durchführen, die in die Speichersteuerung 210 eingegeben werden, wobei ein symmetrischer Schlüsselalgorithmus usw. verwendet wird, wobei die beispielhaften Ausführungsformen jedoch nicht darauf beschränkt sind und beispielsweise eine oder mehrere beispielhafte Ausführungsformen eine andere Form der Verschlüsselung/Entschlüsselung usw. verwenden können.When the
Ein Temperatursensor 219 kann eine Betriebstemperatur der Speichervorrichtung 220 erfassen. Das heißt, eine Änderung der Betriebstemperatur von mindestens einer Speicherzelle der Speichervorrichtung 220 kann erfasst werden. In einigen beispielhaften Ausführungsformen kann die Speichersteuerung 210 den Temperatursensor 219 nicht enthalten und/oder der Temperatursensor 219 kann als Teil der Speichervorrichtung 220 usw. implementiert sein, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.A
Der Migrationsmanager 300 kann einen Datenspeicherplatz in der Speichervorrichtung 220 entsprechend und/oder basierend auf den Nutzungsmerkmalen der Daten ändern. Die Änderung des Datenspeicherplatzes kann während einer Leerlaufperiode einer auf der Speichervorrichtung 220 durchgeführten Operation erfolgen, ist aber nicht darauf beschränkt. Nach einigen beispielhaften Ausführungsformen kann der Leerlaufzeitraum ein Zeitraum sein, in dem eine Hintergrundoperation der Speichervorrichtung 220 durchgeführt wird, ist aber nicht darauf beschränkt.The
Unter Bezugnahme auf
So können beispielsweise eine SLC, eine MLC und eine TLC entsprechend der Menge der in einer Speicherzelle zu speichernden Daten klassifiziert werden. Dementsprechend kann ein Teil der Daten (z. B. Metadaten) in den Bereich 1 401 und/oder den Bereich 2 402, z. B. einen SLC-Bereich, programmiert werden, und die übrigen Daten, mit Ausnahme der Metadaten, können in den Bereich 3 403, z. B. einen Nicht-SLC-Bereich, usw. programmiert werden, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.For example, an SLC, an MLC, and a TLC can be classified according to the amount of data to be stored in a memory cell be graced. Accordingly, part of the data (e.g. metadata) can be divided into
Nach mindestens einer beispielhaften Ausführungsform sind die Geschwindigkeiten, mit denen ein Schreib- und/oder Leseoperation in dem Bereich 1 401 und dem Bereich 2 402 durchgeführt wird, höher als die in dem Bereich 3 403. Mit anderen Worten sind die Schreib- und/oder Leseoperationsgeschwindigkeiten in SLC-Bereichen höher als in MLC-Bereichen, TLC-Bereichen, QLC-Bereichen usw. Daten, die entsprechend einem Muster des Hosts 100 häufig geändert werden, können im Bereich 1 401 und/oder im Bereich 2 402 aufgrund der höheren Geschwindigkeit dieser Bereiche gespeichert werden, und Daten, die nicht häufig geändert werden, können im Bereich 3 403 gespeichert werden, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.According to at least one exemplary embodiment, the speeds at which a write and/or read operation is performed in
Nach einigen beispielhaften Ausführungsformen können sowohl der Bereich 1 401 als auch der Bereich 2 402 SLC-Bereiche sein, aber die Geschwindigkeit, mit der ein Leseoperation im Bereich 1 401 durchgeführt wird, kann höher eingestellt werden als die Lesegeschwindigkeit im Bereich 2 402, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Das heißt, eine Datenlesegeschwindigkeit im Bereich 1 401 kann höher sein als die Lesegeschwindigkeit im Bereich 2 402. Darüber hinaus kann die Datenlesegeschwindigkeit in dem Bereich 2 402 höher als die Datenlesegeschwindigkeit des Nicht-SLC-Bereichs, z. B. des Bereichs 3 403, usw. sein.According to some exemplary embodiments, both
Nach einigen beispielhaften Ausführungsformen kann der Leseoperation im Bereich 1 401 in gewünschten und/oder voreingestellten kleinen Chunk-Einheiten durchgeführt werden, z. B. in sehr kleinen Dateneinheiten von etwa 4 KB oder 8 KB, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Nach einigen beispielhaften Ausführungsformen kann der Leseoperation im Bereich 2 402 in Einheiten von mehreren Seiten usw. durchgeführt werden, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.According to some example embodiments, the read operation in
Wenn Daten gelesen werden, indem ein SLC-Bereich in mindestens zwei Bereiche (z. B. dem Bereich 1 401 und dem Bereich 2 402 usw.) entsprechend und/oder auf der Grundlage von Nutzungsmerkmalen der Daten unterteilt wird, kann die Speichersteuerung 210 die Daten mit einer höheren Geschwindigkeit lesen und gleichzeitig die Zuverlässigkeit der Speichervorrichtung 220 sicherstellen, wodurch die Leistung der Speichereinrichtung 200 verbessert wird.When data is read by dividing an SLC area into at least two areas (eg,
In mindestens einer beispielhaften Ausführungsform des erfindungsgemäßen Konzepts können der Bereich 1 401, der Bereich 2 402 und der Bereich 3 403 nach einigen beispielhaften Ausführungsformen als ein erster SLC-Bereich 401, ein zweiter SLC-Bereich 402 und ein MLC-Bereich 403 bezeichnet werden, sind aber nicht darauf beschränkt, und können nach einigen beispielhaften Ausführungsformen als ein Ortswarteschlangenbereich 401, ein verbleibender SLC-Bereich 402 und ein MLC-Bereich 403 bezeichnet werden. Oder der Bereich 1 401, der Bereich 2 402 und der Bereich 3 403 können als SLC-Bereich 401 für schnelles Lesen, als SLC-Bereich 402 für normales Lesen und als MLC-Bereich 403 usw. bezeichnet werden. Es wird deutlich, dass der Umfang der beispielhaften Ausführungsformen der erfindungsgemäßen Konzepte durch die vorstehenden Bezeichnungen nicht eingeschränkt ist.In at least one exemplary embodiment of the inventive concept,
Zum Lesen von Daten mit hoher Geschwindigkeit, wie vorstehend beschrieben, kann der Migrationsmanager 300 entsprechend und/oder basierend auf den Nutzungsmerkmalen der Daten einen Datenspeicherbereich der Speichervorrichtung 220 ändern. Die Nutzungsmerkmale der Daten können beispielsweise mindestens eine von einer Schreibzeit, wenn die Daten in die Speichervorrichtung 220 geschrieben werden, einer kürzlichen Lesezeit, einer Lesezählung und/oder einer Datenfehlerrate usw. enthalten, aber die beispielhaften Ausführungsformen sind hierauf nicht beschränkt.To read data at high speed, as described above, the
Nach einigen beispielhaften Ausführungsformen kann der Migrationsmanager 300 Daten, die in den Bereich 1 401 geschrieben wurden, beibehalten, wenn eine Schreibzeit kleiner als eine Migrationsschwellenzeit THw ist. Das heißt der Migrationsmanager 300 kann die Daten des Bereichs 1 401 in den Bereich 2 402 und/oder den Bereich 3 403 migrieren, wenn die Daten für eine lange Zeit und/oder basierend auf der Migrationsschwellenzeit THw geschrieben wurden, und/oder kann die geschriebenen Daten im Bereich 1 401 beibehalten, wenn die Daten für eine lange Zeit und/oder basierend auf der Migrationsschwellenzeit THw, usw. nicht geschrieben wurden.According to some example embodiments,
Nach einigen beispielhaften Ausführungsformen kann der Migrationsmanager 300 die Daten in den Bereich 2 402 und/oder den Bereich 3 403 usw. migrieren, wenn eine Lesezählung der Daten in den Bereich 1 401, die der Lesezählung (z. B. Zugriffe usw.) angibt, geringer als eine Migrationsschwellenwertzählung THRC (z. B. eine Lesezählungsschwelle usw.) ist. Das heißt, der Migrationsmanager 300 kann die Daten in dem Bereich 1 401 beibehalten, wenn die Daten häufig gelesen werden (wenn die Lesezählung groß ist) und/oder basierend auf dem Migrationsschwellenwert THRC, und die Daten von dem Bereich 1 401 zu dem Bereich 2 402 und/oder dem Bereich 3 403 usw. migrieren, wenn die Daten kaum gelesen werden und/oder basierend auf dem Migrationsschwellenwert THRC.According to some example embodiments, the
Nach einigen beispielhaften Ausführungsformen kann der Migrationsmanager 300 sogar Daten, die in dem Bereich 2 402 und/oder dem Bereich 3 430 gespeichert sind, in den Bereich 1 401 migrieren, wenn eine Lesezählung größer und/oder gleich der Migrationsschwellenwertzahl THRC ist, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.According to some example embodiments, the
Nach einigen beispielhaften Ausführungsformen kann der Migrationsmanager 300 die Daten im Bereich 1 401 und/oder im Bereich 2 402 entsprechend der Schreibzeitreihenfolge (z. B. in der Reihenfolge, in der die Daten geschrieben wurden usw.), in der die Daten in die Speichervorrichtung 220 geschrieben wurden in den Bereich 3 403 migrieren. Wenn jedoch die Lesezählung der Daten die Migrationsschwellenwertzählung THRC übersteigt, können die Daten, die als gegenwärtig häufig verwendete Daten bestimmt werden, in dem Bereich 1 401 und/oder dem Bereich 2 402 beibehalten werden, ohne in den Bereich 3 403 usw. migriert zu werden, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Nach mindestens einer beispielhaften Ausführungsform kann unter der Schreibzeit und der Lesezählung zuerst die Lesezählung berücksichtigt werden, aber die beispielhaften Ausführungsformen sind hierauf nicht beschränkt.According to some example embodiments, the
Nach einigen beispielhaften Ausführungsformen können Daten im Speicherbereich 1 401 gespeichert werden, wenn die Anzahl der gelesenen Daten größer oder gleich einer ersten Migrationsschwellenwertzahl THRC1 ist, und können im Speicherbereich 2 402 gespeichert werden, wenn die Anzahl der gelesenen Daten kleiner als die erste Migrationsschwellenwertzahl THRC1, aber größer oder gleich einer zweiten Migrationsschwellenwertzahl THRC2 ist. In diesem Fall kann der erste Migrationsschwellenwert THRC1 größer als der zweite Migrationsschwellenwert THRC2 (z. B. THRC1>THRC2 sein), aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.According to some example embodiments, data may be stored in
Unter Bezugnahme auf
Wenn beispielsweise eine Größe R1 des Bereichs 1 401 und/oder eine Größe R2 des Bereichs 2 402 groß ist und eine Größe R3 des Bereichs 3 403 klein ist, kann die Raumnutzungsrate der Speichervorrichtung 220 reduziert und/oder ineffizient sein, was zu einer Verringerung der gesamten Datenspeicherkapazität der Speichervorrichtung 220 führt. Die Raumnutzungsrate kann ein Verhältnis eines verwendeten Bereichs zu allen Bereichen, z. B. R1, R2 und R3 usw., sein (wie in
Wenn die Größe R1 des Bereichs 1 401 und/oder die Größe R2 des Bereichs 2 402 im Vergleich zu einer gewünschten Speichergröße und/oder im Verhältnis zu den anderen Bereichen einer Speichervorrichtung klein ist, kann die Migration eines Teils der in dem Bereich 1 401 und/oder dem Bereich 2 402 gespeicherten Daten in den Bereich 3 403 häufiger auftreten, um einen effektiven Platz des Bereichs 1 401 und/oder des Bereichs 2 402 zu sichern, was zu einer Verschlechterung der Leistung der Speichereinrichtung 200 führt. Daher ist es erwünscht und/oder notwendig, die Größe des Bereichs 1 401, des Bereichs 2 und des Bereichs 3 403 angemessen zu wählen.If the size R1 of
Nach einigen beispielhaften Ausführungsformen kann der Blockmanager 310 entsprechend und/oder basierend auf der Datenzugriffstendenz, der Datenzugriffshistorie und/oder dem Datenzugriffsmuster der Speichereinrichtung 200 einen oder mehrere der Bereiche, z. B. den Bereich 1 401, den Bereich 2 402 und/oder den Bereich 3 403 usw., dynamisch zuweisen. Darüber hinaus kann der Blockmanager 310 nach einigen beispielhaften Ausführungsformen einen oder mehrere der Bereiche, z. B. den Bereich 1 401, den Bereich 2 402 und/oder den Bereich 3 403 usw., entsprechend und/oder basierend auf einer Benutzereinstellung (z. B. Konfiguration usw.) der Speichereinrichtung 200 statisch zuweisen.According to some example embodiments, the
Unter Bezugnahme auf
Die Daten können in der Schreibzeitreihenfolge gespeichert werden, in der die Daten in den SLC-Bereich geschrieben wurden, z. B. in der Reihenfolge SLC1, SLC2, SLC3, SLC4 und SLC5 usw. Die Daten werden in der Reihenfolge, in der sie geschrieben wurden, in den Bereich 3 403 migriert, aber die beispielhaften Ausführungsformen sind nicht darauf beschränkt. So können beispielsweise die Daten der SLC1, die am frühesten geschrieben wurden, zuerst in den dritten Bereich 403 migriert werden.The data can be stored in the write-time order in which the data was written to the SLC area, e.g. B. in the order SLC1, SLC2, SLC3, SLC4 and SLC5, etc. The data is migrated to
Doch selbst wenn die Daten eines SLC früher geschrieben wurden, kann der Migrationsmanager 300 die Daten des SLC nicht in den Bereich 3 403 migrieren, sondern die Daten im Bereich 1 401 und/oder im Bereich 2 402 (z. B. dem ursprünglichen Bereich) beibehalten, wenn die Daten häufig von der Speichersteuerung 210 gelesen werden. Das heißt, dass nach einigen beispielhaften Ausführungsformen, wenn eine Lesezählung von in dem Bereich 1 401 gespeicherten Daten größer oder gleich einer Migrationsschwellenwertzählung THRC ist, die Daten in dem Bereich 1 401 beibehalten werden können, indem die Lesezählung über eine Schreibzeitfolge berücksichtigt wird. Wenn beispielsweise die Daten von SLC4 häufig gelesen werden, werden die Daten von SLC4 im Bereich 1 401 beibehalten und/oder kontinuierlich beibehalten, selbst wenn Daten kontinuierlich nach SLC5 empfangen werden. Nach einigen beispielhaften Ausführungsformen kann der Migrationsmanager 300 zunächst die am wenigsten verwendeten Daten in den Bereich 3 403 migrieren, aber die beispielhaften Ausführungsformen sind nicht darauf beschränkt. Wenn beispielsweise eine Zeit, die seit einem letzten Lesezeitpunkt von in dem Bereich 1 401 und/oder dem Bereich 2 402 usw. (z. B. den SLC-Bereichen usw.) gespeicherten Daten verstrichen ist, eine Migrationsschwellenzeit THR überschreitet, kann der Migrationsmanager 300 die Daten von dem Bereich 1 401 und/oder dem Bereich 2 402 usw. in den Bereich 3 403 (z. B. eine oder mehrere der Nicht-SLC-Bereiche usw.) migrieren.However, even if an SLC's data was written earlier, the
Bezugnehmend auf
Ebenso können die im dritten Bereich 403 gespeicherten Daten in den Bereich 1 401 zurück migriert werden, wenn die Anzahl der gelesenen Daten den Migrationsschwellenwert THRC überschreitet (nicht dargestellt).Likewise, the data stored in the third area 403 can be migrated back to
Bezugnehmend auf
Nach einigen beispielhaften Ausführungsformen kann die Speichersteuerung in der Operation S13 prüfen, ob die gelesenen Daten (im Folgenden als Daten bezeichnet) in einem SLC-Bereich, z. B. dem Bereich 1 401 usw., gespeichert wurden. Als Reaktion auf die Feststellung der Speichersteuerung, dass die Daten in einem SLC-Bereich, z. B. dem Bereich 1 401 usw., gespeichert wurden, wird in der Operation S14 die Anzahl der Fehler in den Daten überprüft.According to some exemplary embodiments, the memory controller may check in operation S13 whether the read data (hereinafter referred to as data) is in an SLC area, e.g. B. the
Wenn die Speichersteuerung feststellt, dass die Anzahl der Fehler in den Daten geringer als ein gewünschter Fehlerschwellenwert ist, prüft und/oder bestimmt die Speichersteuerung in der Operation S15 eine Schreibzeit, die dem Zeitpunkt entspricht, zu dem die Daten in die Speichervorrichtung geschrieben wurden. Wenn die Speichersteuerung feststellt, dass die seit dem Schreibzeitpunkt verstrichene Zeit kleiner als eine Migrationsschwellenwertzeit THW ist, behält die Speichersteuerung in der Operation S16 die Daten in dem SLC-Bereich, z.B. dem Bereich 1 401, usw. bei.If the memory controller determines that the number of errors in the data is less than a desired error threshold, in operation S15 the memory controller examines and/or determines a write time that corresponds to the time at which the data was written to the memory device. If the memory controller determines that the elapsed time from the write time is less than a migration threshold time THW, the memory controller retains the data in the SLC area, e.g.,
Wenn die Speichersteuerung feststellt, dass die Anzahl der Fehler in den Daten größer oder gleich dem Fehlerschwellenwert THER ist, prüft die Speichersteuerung in der Operation S17 einen Lesezähler der Daten. Wenn die Daten nicht in dem Bereich 1 401 gespeichert werden (z. B. nicht in Reaktion auf Operation S13) und die Daten in dem Bereich 2 402 oder dem Bereich 3 403 usw. gespeichert werden, überwacht die Speichersteuerung in der Operation S17 außerdem kontinuierlich einen Lesezähler der Daten.If the memory controller determines that the number of errors in the data is greater than or equal to the error threshold THER, the memory controller checks a read counter of the data in operation S17. In addition, if the data is not stored in
Wenn die Speichersteuerung feststellt, dass die Anzahl der gelesenen Daten einen Migrationsschwellenwert THRC in der Operation S17 überschreitet, stellt die Speichersteuerung fest, dass die Daten noch in Gebrauch sind, und behält daher in der Operation S16 den aktuellen Speicherzustand bei, wenn die Daten in dem Bereich 1 401 gespeichert sind, und/oder die Speichersteuerung migriert die Daten in den Bereich 1 401, wenn die Daten in dem Bereich 2 402 oder dem Bereich 3 403 in der Operation S18 gespeichert sind. Das heißt, wenn die Daten im Gebrauch sind und häufig gelesen werden, werden die Daten in dem Bereich 1 401 gehalten und/oder in den Bereich 1 401 migriert, usw., aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.If the memory controller determines that the amount of data read exceeds a migration threshold THRC in operation S17, the memory controller determines that the data is still in use and therefore maintains the current memory state in operation S16 if the data is in the
Wenn die Speichersteuerung jedoch feststellt, dass die Anzahl der gelesenen Daten unter einem Migrationsschwellenwert THTC liegt, stellt die Speichersteuerung fest, dass die Daten nicht in Gebrauch sind, und migriert daher in der Operation S19 die Daten in den Bereich 2 402 oder den Bereich 3 403 usw.However, if the memory controller determines that the amount of data read is below a migration threshold TH TC , the memory controller determines that the data is not in use and therefore migrates the data to
Nach mindestens einer beispielhaften Ausführungsform kann die Speichervorrichtung 220 einen ersten bis achten Pin P11 bis P18, eine Speicherschnittstellenschaltung 221, eine Steuerlogikschaltung 222 und/oder ein Speicherzellenarray 400 usw. enthalten.According to at least one example embodiment,
Die Speicherschnittstellenschaltung 221 kann ein Chip-Freigabesignal nCE von der Speichersteuerung 210 über den ersten Stift P11 empfangen, ist aber nicht darauf beschränkt. Die Speicherschnittstellenschaltung 221 kann entsprechend dem Chip-Freigabesignal nCE über den zweiten bis achten Pin P12 bis P18 Signale an die Speichersteuerung 210 senden und/oder von dieser empfangen, ist aber nicht darauf beschränkt. Wenn sich das Chip-Freigabesignal nCE beispielsweise in einem freigegebenen Zustand befindet (z. B. ein Low-Pegel), kann die Speicherschnittstellenschaltung 221 über den zweiten bis achten Stift P12 bis P18 Signale an die Speichersteuerung 210 übertragen und/oder von dieser empfangen, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.
Die Speicherschnittstellenschaltung 221 kann ein Befehls-Latch-Freigabesignal CLE, ein Adress-Latch-Freigabesignal ALE und/oder ein Schreibfreigabesignal nWE usw. von der Speichersteuerung 210 über den zweiten bis vierten Stift P12 bis P14 empfangen, ist aber nicht darauf beschränkt. Die Speicherschnittstellenschaltung 221 kann ein Datensignal DQ von der Speichersteuerung 210 empfangen und/oder das Datensignal DQ über den siebten Stift P17 an die Speichersteuerung 210 senden, ist aber nicht darauf beschränkt. Ein Befehl CMD, eine Adresse ADDR und/oder Daten usw. können über das Datensignal DQ übertragen werden. Das Datensignal DQ kann beispielsweise über eine Mehrzahl von Datensignalleitungen übertragen werden, ist aber nicht darauf beschränkt und kann beispielsweise seriell auf einer einzigen Datensignalleitung übertragen werden. In diesem Fall kann der siebte Stift P17 eine Mehrzahl von Stiften enthalten, die einer Mehrzahl von Datensignalen entsprechen.The
Die Speicherschnittstellenschaltung 221 kann den Befehl CMD aus dem Datensignal DQ empfangen, das während eines Freigabeabschnitts (z. B. bei einem High-Pegel-Zustand) des Befehls-Latch-Freigabesignals CLE auf der Grundlage von Umschaltzeiten des Schreibfreigabesignals nWE empfangen wird, ist aber nicht darauf beschränkt. Die Speicherschnittstellenschaltung 221 kann die Adresse ADDR aus dem Datensignal DQ empfangen, das während eines Freigabeabschnitts (z. B. bei einem High-Pegel-Zustand) des Adress-Latch-Freigabesignals ALE auf der Grundlage der Umschaltzeitpunkte des Schreibfreigabesignals nWE empfangen wird, ist jedoch nicht darauf beschränkt.The
In mindestens einer beispielhaften Ausführungsform kann das Schreibfreigabesignal nWE auf einem statischen Zustand (z. B. einem High- oder einem Low-Pegel) gehalten werden und danach zwischen dem Hoch- und dem Low-Pegel umgeschaltet werden, aber die beispielhaften Ausführungsformen sind nicht darauf beschränkt. Zum Beispiel kann das Schreibfreigabesignal nWE in einem Abschnitt hin- und hergeschaltet werden, in dem der Befehl CMD und/oder die Adresse ADDR übertragen wird/werden. Dementsprechend kann die Speicherschnittstellenschaltung 221 den Befehl CMD und/oder die Adresse ADDR auf der Grundlage der Umschaltzeitpunkte des Schreibfreigabesignals nWE usw. erhalten.In at least one example embodiment, the write enable signal nWE may be maintained at a static state (e.g., a high or a low level) and thereafter toggled between the high and low levels, but the example embodiments are not dependent on this limited. For example, the write enable signal nWE may be toggled in a section where the command CMD and/or the address ADDR is/are being transmitted. Accordingly, the
Die Speicherschnittstellenschaltung 221 kann ein Lesefreigabesignal nRE von der Speichersteuerung 210 über den fünften Pin P15 empfangen, ist aber nicht darauf beschränkt. Die Speicherschnittstellenschaltung 221 kann über den sechsten Pin P16 ein Daten-Strobe-Signal DQS von der Speichersteuerung 210 empfangen und/oder das Daten-Strobe-Signal DQS an die Speichersteuerung 210 senden, ist jedoch nicht darauf beschränkt.
In einer Daten DATA-Ausgabeoperation der Speichervorrichtung 220 kann die Speicherschnittstellenschaltung 221 das Lesefreigabesignal nRE, das hin- und herschaltet, über den fünften Pin P15 empfangen, bevor die Daten DATA ausgegeben werden, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Die Speicherschnittstellenschaltung 221 kann ein Daten-Strobe-Signal DQS, das hin- und herschaltet, auf der Grundlage des Hin- und Herschaltens des Lesefreigabesignals nRE erzeugen, ist aber nicht darauf beschränkt. Zum Beispiel kann die Speicherschnittstellenschaltung 221 das Daten-Strobe-Signal DQS erzeugen, das nach einer gewünschten und/oder vorbestimmten Verzögerungszeit (z.B. tDQSRE) ab einer Toggel-Startzeit des Lesefreigabesignals nRE hin- und herzuschalten beginnt. Die Speicherschnittstellenschaltung 221 kann das Datensignal DQ, das die Daten DATA enthält, auf der Grundlage einer Umschaltzeit des Daten-Strobe-Signals DQS übertragen, ist aber nicht darauf beschränkt. Dementsprechend können die Daten DATA mit der Hin-und-Herschaltungs-Timing des Daten-Strobe-Signals DQS abgeglichen und an die Speichersteuerung 210 usw. übertragen werden.In a data DATA output operation of the
In einer Daten DATA-Eingabeoperation der Speichervorrichtung 220, wenn das Datensignal DQ, das die Daten DATA enthält, von der Speichersteuerung 210 empfangen wird, kann die Speicherschnittstellenschaltung 221 das Daten-Strobe-Signal DQS, das zusammen mit den Daten DATA hin- und herschaltet, von der Speichersteuerung 210 empfangen. Die Speicherschnittstellenschaltung 221 kann die Daten DATA aus dem Datensignal DQ auf der Grundlage des Hin-und-Herschaltungs-Timings des Daten-Strobe-Signals DQS erhalten, ist aber nicht darauf beschränkt. Beispielsweise kann die Speicherschnittstellenschaltung 221 die Daten DATA durch Abtasten des Datensignals DQ bei einer ansteigenden Flanke und einer abfallenden Flanke des Daten-Strobe-Signals DQS erhalten, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.In a data DATA input operation of the
Die Speicherschnittstellenschaltung 221 kann ein Bereit/Besetzt-Ausgabesignal nR/B über den achten Pin P18 an die Speichersteuerung 210 übertragen, ist aber nicht darauf beschränkt. Die Speicherschnittstellenschaltung 221 kann über das Bereit/Besetzt-Ausgabesignal nR/B usw. Zustandsinformationen der Speichervorrichtung 220 an die Speichersteuerung 210 übermitteln. Wenn sich die Speichervorrichtung 220 in einem belegten Zustand befindet (d.h. während die internen Operationen der Speichervorrichtung 220 durchgeführt werden), kann die Speicherschnittstellenschaltung 221 das Bereit/Besetzt-Ausgabesignal nR/B, das den belegten Zustand anzeigt, an die Speichersteuerung 210 usw. übertragen. Wenn sich die Speichervorrichtung 220 in einem Bereitschaftszustand befindet (z.B. wenn die internen Operationen der Speichervorrichtung 220 nicht ausgeführt werden und/oder abgeschlossen sind), kann die Speicherschnittstellenschaltung 221 das Bereit/Besetzt-Ausgabesignal nR/B, das den Bereitschaftszustand anzeigt, an die Speichersteuerung 210 usw. übertragen. Während die Speichervorrichtung 220 beispielsweise als Reaktion auf einen Seitenlesebefehl die Daten DATA aus dem Speicherzellenarray 400 liest, kann die Speicherschnittstellenschaltung 22 das Bereit/Besetzt-Ausgabesignal nR/B, das den Besetzt-Zustand (z. B. einen Low-Pegel) anzeigt, an die Speichersteuerung 210 übertragen, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Während die Speichervorrichtung 220 beispielsweise als Reaktion auf einen Programmbefehl die Daten DATA in das Speicherzellenarray 400 programmiert, kann die Speicherschnittstellenschaltung 221 das Bereit/Besetzt-Ausgabesignal nR/B, das den Besetzt-Zustand anzeigt, an die Speichersteuerung 210 usw. übertragen .The
Die Steuerlogikschaltung 222 kann im Allgemeinen verschiedene Operationen der Speichervorrichtung 220 steuern. Die Steuerlogikschaltung 222 kann das von der Speicherschnittstellenschaltung 221 erhaltene CMD-Befehls- und/oder Adressen-ADDR-Signal empfangen. Die Steuerlogikschaltung 222 kann Steuersignale zur Steuerung anderer Komponenten der Speichervorrichtung 220 entsprechend und/oder auf der Grundlage des empfangenen CMD-Befehls und/oder des Adressen-ADDR-Signals erzeugen. So kann die Steuerlogikschaltung 222 beispielsweise verschiedene Steuersignale zum Programmieren der Daten DATA in das Speicherzellenarray 400 und/oder zum Lesen der Daten DATA aus diesem Feld usw. erzeugen.
Das Speicherzellenarray 400 kann die von der Speicherschnittstellenschaltung 221 erhaltenen Daten DATA unter der Steuerung der Steuerlogikschaltung 222 speichern, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Das Speicherzellen-Array 400 kann die gespeicherten Daten DATA unter der Steuerung der Steuerlogikschaltung 222 an die Speicherschnittstellenschaltung 221 ausgeben, ist aber nicht darauf beschränkt.The
Das Speicherzellenarray 400 kann eine Mehrzahl von Speicherzellen enthalten. Bei der Mehrzahl von Speicherzellen kann es sich zum Beispiel um Flash-Speicherzellen handeln. Die beispielhaften Ausführungsformen der erfindungsgemäßen Konzepte sind jedoch nicht darauf beschränkt, und die Speicherzellen können resistive RAM (RRAM)-Zellen, ferroelektrische RAM(FRAM)-Zellen, Phasenwechsel-RAM(PRAM)-Zellen, Thyristor-RAM(TRAM)-Zellen und/oder magnetische RAM(MRAM)-Zellen usw. sein. Einige beispielhafte Ausführungsformen der erfindungsgemäßen Konzepte werden nachstehend in Bezug auf beispielhafte Ausführungsformen beschrieben, bei denen die Speicherzellen NAND-Flash-Speicherzellen sind, aber die beispielhaften Ausführungsformen sind nicht darauf beschränkt.The
Die Speichersteuerung 210 kann eine Mehrzahl von Stiften, z. B. einen ersten bis achten Stift P21 bis P28 usw., und mindestens eine Steuerungs-Schnittstellenschaltung 211 usw. enthalten. Der erste bis achte Pin P21 bis P28 können dem ersten bis achten Pin P11 bis P18 der Speichervorrichtung 220 entsprechen, sind aber nicht darauf beschränkt.The
Die Steuerungs-Schnittstellenschaltung 410 kann das Chip-Freigabesignal nCE über den ersten Pin P21 an die Speichervorrichtung 220 übertragen, ist aber nicht darauf beschränkt. Die Steuerungs-Schnittstellenschaltung 410 kann über den zweiten bis achten Pin P22 bis P28 Signale an die Speichervorrichtung 220, die durch das Chip-Freigabesignal nCE ausgewählt wird, senden und/oder von ihr empfangen, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.The
Die Steuerungs-Schnittstellenschaltung 410 kann das Befehls-Latch-Freigabesignal CLE, das Adress-Latch-Freigabesignal ALE und/oder das Schreibfreigabesignal nWE über den zweiten bis vierten Stift P22 bis P24 an die Speichervorrichtung 220 übertragen, ist jedoch nicht darauf beschränkt. Die Steuerungs-Schnittstellenschaltung 410 kann das Datensignal DQ über den siebten Pin P27 an die Speichervorrichtung 220 senden und/oder von dieser empfangen, ist aber nicht darauf beschränkt.The
Die Steuerungs-Schnittstellenschaltung 410 kann das Datensignal DQ einschließlich des Befehls CMD und/oder der Adresse ADDR zusammen mit dem Schreibfreigabesignal nWE, das hin- und herschaltet, an die Speichervorrichtung 220 übertragen, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Die Steuerungs-Schnittstellenschaltung 410 kann das Befehls-Latch-Freigabesignal CLE übertragen, das sich im freigegebenen Zustand befindet, um das Datensignal DQ einschließlich des Befehls CMD an die Speichervorrichtung 220 zu übertragen, und das Adress-Latch-Freigabesignal ALE übertragen, das sich im freigegebenen Zustand befindet, um das Datensignal DQ einschließlich der Adresse ADDR an die Speichervorrichtung 220 usw. zu übertragen.The
Die Steuerungs-Schnittstellenschaltung 410 kann das Lesefreigabesignal nRE über den fünften Pin P25 an die Speichervorrichtung 220 übertragen, ist aber nicht darauf beschränkt. Die Steuerungs-Schnittstellenschaltung 410 kann das Daten-Strobe-Signal DQS von der Speichervorrichtung 220 empfangen und/oder das Daten-Strobe-Signal DQS von der Speichervorrichtung 220 über den sechsten Pin P26 senden, ist aber nicht darauf beschränkt.The
In einer DATA- Datenausgabeoperation der Speichervorrichtung 220 kann die Steuerungs-Schnittstellenschaltung 410 das Lesefreigabesignal nRE erzeugen, das hin-und herschaltet, und das Lesefreigabesignal nRE an die Speichervorrichtung 220 übertragen, ist aber nicht darauf beschränkt. Beispielsweise kann die Steuerungs-Schnittstellenschaltung 410 das Lesefreigabesignal nRE erzeugen, das von einem statischen Zustand (z. B. einem High-Pegel oder einem Low-Pegel) in einen Hin-und-Herschaltungs-Zustand wechselt, bevor die Daten DATA ausgegeben werden, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Dementsprechend kann die Speichervorrichtung 220 das Daten-Strobe-Signal DQS erzeugen, das auf der Grundlage des Lesefreigabesignals nRE hin- und herschaltet. Die Steuerungs-Schnittstellenschaltung 410 kann das Datensignal DQ einschließlich der Daten DATA von der Speichervorrichtung 220 zusammen mit dem Daten-Strobe-Signal DQS, das hin- und herschaltet, empfangen. Die Steuerungs-Schnittstellenschaltung 410 kann die Daten DATA aus dem Datensignal DQ auf der Grundlage des Hin-und-Herschaltungs-Timings des Daten-Strobe-Signals DQS erhalten, aber die beispielhaften Ausführungsformen sind hierauf nicht beschränkt.In a DATA data output operation of
Bei einer DATA-Dateneingabeoperation der Speichervorrichtung 220 kann die Steuerungs-Schnittstellenschaltung 410 das Daten-Strobe-Signal DQS, das hin- und herschaltet erzeugen, usw. Beispielsweise kann die Steuerungs-Schnittstellenschaltung 410 das Daten-Strobe-Signal DQS erzeugen, das von einem statischen Zustand (z. B. einem High-Pegel oder einem Low-Pegel) in einen Hin-und-Herschaltungs-Zustand wechselt, bevor die Daten DATA übertragen werden, ist aber nicht darauf beschränkt. Die Steuerungs-Schnittstellenschaltung 410 kann das Datensignal DQ einschließlich der Daten DATA an die Speichervorrichtung 220 auf der Grundlage von Umschaltzeitpunkten des Daten-Strobe-Signals DQS usw. übertragen.In a DATA data input operation of
Die Steuerungs-Schnittstellenschaltung 410 kann das Bereit/Besetzt-Ausgabesignal nR/B von der Speichervorrichtung 220 über den achten Pin P28 empfangen, ist aber nicht darauf beschränkt. Die Steuerungs-Schnittstellenschaltung 410 kann Zustandsinformationen der Speichervorrichtung 220 auf der Grundlage des Bereit/Besetzt-Ausgabesignals nR/B usw. identifizieren.The
Die Speichereinrichtung 200 kann einen Lesebefehl über einen Datenbus DQ übertragen und kann prüfen, ob die Speichervorrichtung 220 bereit ist, eine Leseoperation auf der Grundlage des Bereit/Besetzt-Ausgabesignals nR/B durchzuführen, ist aber nicht darauf beschränkt. Wenn die Speichervorrichtung 220 bereit ist, die Leseoperation durchzuführen, kann die Speichereinrichtung 200 die aus dem Speicherzellenarray 400 gelesenen Daten über den Datenbus DQ usw. ausgeben. Das heißt, die Speichereinrichtung 200 kann basierend auf einem Zeitintervall von der Übertragung des Lesebefehls bis zur Ausgabe des Bereit/Besetzt-Ausgabesignals nR/B und eines Signals über den Datenbus DQ usw. prüfen, ob die gelesenen Daten aus einem ersten Bereich (z.B. einem Ortswarteschlangenbereich) und/oder einem verbleibenden Bereich gelesen wurden.The
Die Speichereinrichtung 200 kann eine Mehrzahl von Kanälen CH1 bis CHm unterstützen, und die Speichervorrichtung 220 und/oder die Speichersteuerung 210 können über die Mehrzahl von Kanälen CH1 bis CHm usw. angeschlossen sein. Beispielsweise kann die Speichereinrichtung 200 als eine Speichereinrichtung, wie z. B. ein Solid-State-Laufwerk (SSD), ausgeführt sein, ist aber nicht darauf beschränkt.The
Die Speichervorrichtung 220 kann eine Mehrzahl von nichtflüchtigen Speichervorrichtungen enthalten. Jede der nichtflüchtigen Speichervorrichtungen kann über einen entsprechenden Weg mit einem von mehreren Kanälen usw. verbunden sein. Beispielsweise können die nichtflüchtigen Speichervorrichtungen über Wege mit einem ersten Kanal verbunden sein und über Wege mit einem zweiten Kanal verbunden sein, sind aber nicht darauf beschränkt. In mindestens einer beispielhaften Ausführungsform kann jede der nichtflüchtigen Speichervorrichtungen als eine Speichereinheit ausgeführt sein, die in der Lage ist, nach einem individuellen Befehl von der Speichersteuerung 210 zu arbeiten, ist aber nicht darauf beschränkt. Zum Beispiel kann jede der nichtflüchtigen Speichervorrichtungen als ein Chip oder ein Würfel ausgeführt sein, aber die erfindungsgemäßen Konzepte sind darauf nicht beschränkt.
Die Steuerlogikschaltung 420 kann im Allgemeinen verschiedene Operationen in der Speichervorrichtung 400 steuern. Die Steuerlogikschaltung 420 kann als Reaktion auf einen Befehl CMD und/oder ein Adressensignal ADDR von der Speicherschnittstellenschaltung 410 verschiedene Steuersignale ausgeben. Zum Beispiel kann die Steuerlogikschaltung 420 ein Spannungssteuersignal CTRL_vol, eine Zeilenadresse X-ADDR und/oder eine Spaltenadresse Y-ADDR usw. ausgeben.In general, the
Das Speicherzellenarray 430 kann eine Mehrzahl von Speicherblöcken BLK1 bis BLKz (z ist eine positive ganze Zahl) enthalten, und jeder der Mehrzahl von Speicherblöcken BLK1 bis BLKz kann eine Mehrzahl von Speicherzellen enthalten. Das Speicherzellenarray 430 kann über Bitleitungen BL mit der Seitenpuffereinheit 440 und über Wortleitungen WL, Strang-Auswahlleitungen SSL und/oder Masse-Auswahlleitungen GSL usw. mit dem Zeilendekodierer 460 verbunden sein.The
In mindestens einer beispielhaften Ausführungsform kann das Speicherzellenarray 430 ein 3D-Speicherzellenarray enthalten, und das 3D-Speicherzellenarray kann eine Mehrzahl von NAND-Strängen enthalten. Jeder der NAND-Stränge kann Speicherzellen enthalten, die mit den Wortleitungen verbunden sind, die vertikal auf einem Substrat gestapelt sind. Das US-Patent Nr.
Die Seitenpuffereinheit 440 (z.B. Seitenpuffer, Seitenpufferschaltung usw.) kann eine Mehrzahl von Seitenpuffern PB1 bis PBn (n ist eine ganze Zahl größer oder gleich 3) enthalten, und die Mehrzahl von Seitenpuffern PB1 bis PBn kann mit den Speicherzellen über die Bitleitungen BL verbunden sein. Die Seitenpuffereinheit 440 kann mindestens eine der Bitleitungen BL in Reaktion auf die Spaltenadresse Y-ADDR auswählen. Die Seitenpuffereinheit 440 kann entsprechend dem Betriebsmodus als Schreibtreiber und/oder als Leseverstärker arbeiten. Zum Beispiel kann die Seitenpuffereinheit 440 während einer Programmoperation eine Bitleitungsspannung, die den zu programmierenden Daten entspricht, an eine ausgewählte Bitleitung anlegen. Während einer Leseoperation kann die Seitenpuffereinheit 440 die in einer Speicherzelle gespeicherten Daten ablesen, indem sie einen Strom und/oder eine Spannung einer ausgewählten Bitleitung abtastet.The page buffer unit 440 (e.g. page buffer, page buffer circuit, etc.) may include a plurality of page buffers PB1 to PBn (n is an integer greater than or equal to 3), and the plurality of page buffers PB1 to PBn may be connected to the memory cells via the bit lines BL . The
Der Spannungsgenerator 450 kann auf der Grundlage des Spannungssteuersignals CTRL_vol verschiedene Arten von Spannungen zur Durchführung der Programmoperation, der Leseoperation, einer Löschoperation usw. erzeugen. Zum Beispiel kann der Spannungsgenerator 450 eine Programmspannung, eine Lesespannung, eine Programmverifizierungsspannung, eine Löschspannung oder ähnliches als Wortleitungsspannung VWL usw. erzeugen.The
Der Zeilendekodierer 460 kann als Reaktion auf die Zeilenadresse X-ADDR eine der Wortleitungen WL und eine der Strang-Auswahlleitungen SSL auswählen. Beispielsweise kann der Zeilendekodierer 460 während der Programmoperation die Programmspannung und/oder die Programmverifizierungsspannung an die ausgewählte Wortleitung anlegen und während der Leseoperation die Lesespannung an die ausgewählte Wortleitung anlegen, ist aber nicht darauf beschränkt.The
Ein System 1000 von
Bezugnehmend auf
Der Hauptprozessor 1100 kann die Gesamtoperation des Systems 1000 und insbesondere den Betrieb der anderen Komponenten des Systems 1000 steuern. Der Hauptprozessor 1100 kann als Mehrzweckprozessor, dedizierter Prozessor, Anwendungsprozessor oder ähnliches ausgeführt sein.The
Der Hauptprozessor 1100 kann einen oder mehrere Steuereinheitskerne 1110 und eine Steuerung 1120 zur Steuerung der Speicher 1020a und 1020b und/oder der Speichereinrichtungen 1010a und 1010b usw. enthalten. Nach mindestens einer beispielhaften Ausführungsform kann der Hauptprozessor 1100 ferner einen Beschleunigerblock 1130 enthalten, der eine dedizierte Schaltung für Hochgeschwindigkeitsdatenoperationen ist, wie z. B. eine Datenoperation der künstlichen Intelligenz (KI) usw., aber nicht darauf beschränkt ist. Der Beschleunigerblock 1130 kann eine Grafikverarbeitungseinheit (GPU), eine neuronale Verarbeitungseinheit (NPU) und/oder eine Datenverarbeitungseinheit (DPU) usw. enthalten und kann als Chip ausgeführt sein, der physisch von den anderen Komponenten des Hauptprozessors 1100 unabhängig ist, ist aber nicht darauf beschränkt.
Die Speicher 1020a und 1020b können als Hauptspeichervorrichtungen des Systems 1000 verwendet werden und können flüchtige Speicher wie SRAM und/oder DRAM, aber auch nichtflüchtige Speicher wie Flash-Speicher, PRAM und/oder RRAM usw. enthalten. Die Speicher 1020a und 1020b können im gleichen Gehäuse wie der Hauptprozessor 1100 implementiert sein, sind aber nicht darauf beschränkt.
Die Speichereinrichtungen 1010a und 1010b können als nichtflüchtige Speichereinrichtungen fungieren, die Daten unabhängig davon speichern, ob sie mit Leistung versorgt werden oder nicht, und können eine relativ größere Speicherkapazität als die Speicher 1200a und 1200b aufweisen. Die Speichereinrichtungen 1010a und 1010b können Speichersteuerungen 1200a und 1200b sowie nichtflüchtige Speicher (NVM) 1300a und 1300b enthalten, die Daten unter der Steuerung der Speichersteuerungen 1200a und 1200b speichern, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Die NVM-Speicher 1300a und 1300b können 2D- und/oder 3D-V-NAND-Flash-Speicher, aber auch andere Arten von NVMs wie PRAM und/oder RRAM usw. enthalten.
Die Speichereinrichtungen 1010a und 1010b können im System 1000 enthalten sein, um physisch vom Hauptprozessor 1100 getrennt zu sein, oder sie können im selben Gehäuse wie der Hauptprozessor 1100 enthalten sein. Darüber hinaus können die Speichereinrichtungen 1010a und 1010b die gleiche Form wie eine Speicherkarte aufweisen und daher über eine Schnittstelle wie die nachstehend zu beschreibende Verbindungsschnittstelle 1480 lösbar mit den anderen Komponenten des Systems 1000 verbunden werden. Die Speichereinrichtungen 1010a und 1010b können Vorrichtungen sein, auf die Standardkonventionen wie Universal Flash Storage (UFS) angewendet werden, sind aber nicht darauf beschränkt.
Die Bilderfassungsvorrichtung 1410 kann ein Standbild oder ein bewegtes Bild (z. B. ein Video usw.) aufnehmen und kann eine Kamera, einen Camcorder und/oder eine Webcam usw. enthalten.
Die Benutzereingabevorrichtung 1420 kann verschiedene Arten von Dateneingaben von einem Benutzer des Systems 1000 empfangen und kann ein Touchpad, ein Tastenarray, eine Tastatur, eine Maus und/oder ein Mikrofon usw. enthalten.
Der Sensor 1430 kann verschiedene Arten von physikalischen Größen erfassen, die von der Außenseite des Systems 1000 erhalten werden können, und die erfassten physikalischen Größen in elektrische Signale umwandeln. Der Sensor 1430 kann ein Temperatursensor, ein Drucksensor, ein Beleuchtungssensor, ein Positionssensor, ein Beschleunigungssensor, ein Biosensor und/oder ein Gyroskop usw. sein.The
Die Kommunikationsvorrichtung 1440 kann die Übertragung und den Empfang von Signalen mit anderen Vorrichtungen außerhalb des Systems 1000 entsprechend verschiedener Kommunikationsprotokollen durchführen. Die Kommunikationsvorrichtung 1440 kann eine Antenne, einen Transceiver und/oder ein Modem usw. enthalten.The
Die Anzeige 1450 und der Lautsprecher 1460 können als Ausgabevorrichtungen fungieren, die visuelle und akustische Informationen an einen Benutzer des Systems 1000 ausgeben.The
Die Leistungsversorgungseinrichtung 1470 kann die von einer im System 1000 eingebauten Batterie (nicht dargestellt) und/oder einer externen Leistungsversorgung gelieferte Leistung in geeigneter Weise umwandeln und die umgewandelte Leistung jeder Komponente des Systems 1000 zuführen.The
Die Verbindungsschnittstelle 1480 kann das System 1000 und eine externe Vorrichtung verbinden, das Daten mit dem System 1000 austauschen kann, wenn es mit dem System 1000 verbunden ist. Die Verbindungsschnittstelle 1480 kann entsprechend verschiedenen Schnittstellenverfahren implementiert werden, wie Advanced Technology Attachment (ATA), Serial ATA (SATA), External SATA (e-SATA), Small-Computer Small-Interface (SCSI), Serial Attached SCSI (SAS), Peripheral Component Interconnection (PCI), PCI express (PCIe), NVM express (NVMe), IEEE 1394, Universal Serial Bus (USB), eine Secure-Digital-Karte (SD), eine Multi-Media-Karte (MMC), eine eingebettete Multi-Media-Karte (eMMC), Universal-Flash-Speicher (UFS), eingebettetes UFS (eUFS), eine Compact-Flash-Kartenschnittstelle (CF) und dergleichen.
Obwohl verschiedene beispielhafte Ausführungsformen der erfindungsgemäßen Konzepte vorstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben wurden, sind die erfindungsgemäßen Konzepte nicht darauf beschränkt und können in verschiedenen unterschiedlichen Formen verwirklicht werden. Fachleute werden verstehen, dass die beispielhaften Ausführungsformen der erfindungsgemäßen Konzepte in anderen spezifischen Formen umgesetzt werden können, ohne vom technischen Geist oder den wesentlichen Merkmalen der erfindungsgemäßen Konzepte abzuweichen. Dementsprechend sollten die hier dargelegten beispielhaften Ausführungsformen nur als Beispiele und nicht als Einschränkung betrachtet werden.Although various exemplary embodiments of the inventive concepts have been described above with reference to the accompanying drawings, the inventive concepts are not limited thereto and can be embodied in various different forms. Those skilled in the art will appreciate that the example embodiments of the inventive concepts may be embodied in other specific forms without departing from the spirit or essential characteristics of the inventive concepts. Accordingly, the example embodiments set forth herein should be considered by way of example only and not limitation.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent Literature Cited
- US 7679133 [0085]US7679133 [0085]
- US 8553466 [0085]US8553466 [0085]
- US 8654587 [0085]US8654587 [0085]
- US 8559235 [0085]US8559235 [0085]
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0156774 | 2020-11-20 | ||
KR1020200156774A KR20220069543A (en) | 2020-11-20 | 2020-11-20 | Storage system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102021118940A1 true DE102021118940A1 (en) | 2022-05-25 |
Family
ID=81452881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021118940.3A Pending DE102021118940A1 (en) | 2020-11-20 | 2021-07-22 | MEMORY CONTROL AND STORAGE DEVICE WITH THE SAME |
Country Status (4)
Country | Link |
---|---|
US (1) | US11567685B2 (en) |
KR (1) | KR20220069543A (en) |
CN (1) | CN114518843A (en) |
DE (1) | DE102021118940A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220099848A (en) * | 2021-01-07 | 2022-07-14 | 에스케이하이닉스 주식회사 | Controller and memory system having the controller |
US20220229574A1 (en) * | 2021-01-20 | 2022-07-21 | Micron Technology, Inc. | Data migration techniques |
US11526286B1 (en) * | 2021-06-29 | 2022-12-13 | Amazon Technologies, Inc. | Adaptive snapshot chunk sizing for snapshots of block storage volumes |
JP2023045033A (en) * | 2021-09-21 | 2023-04-03 | キオクシア株式会社 | memory system |
US11853572B2 (en) * | 2022-05-05 | 2023-12-26 | Western Digital Technologies, Inc. | Encoding-aware data routing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7679133B2 (en) | 2007-11-08 | 2010-03-16 | Samsung Electronics Co., Ltd. | Vertical-type non-volatile memory devices |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US8559235B2 (en) | 2010-08-26 | 2013-10-15 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, operating method thereof and memory system including the same |
US8654587B2 (en) | 2010-08-11 | 2014-02-18 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices, channel boosting methods thereof, programming methods thereof, and memory systems including the same |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078794B2 (en) | 2000-01-06 | 2011-12-13 | Super Talent Electronics, Inc. | Hybrid SSD using a combination of SLC and MLC flash memory arrays |
US9536970B2 (en) | 2010-03-26 | 2017-01-03 | Samsung Electronics Co., Ltd. | Three-dimensional semiconductor memory devices and methods of fabricating the same |
KR101861170B1 (en) | 2011-08-17 | 2018-05-25 | 삼성전자주식회사 | Memory system including migration manager |
US8977803B2 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US9176862B2 (en) * | 2011-12-29 | 2015-11-03 | Sandisk Technologies Inc. | SLC-MLC wear balancing |
TWI606336B (en) | 2016-04-21 | 2017-11-21 | 慧榮科技股份有限公司 | Memory device and control unit thereof, and data storage method for memory device |
KR20180031289A (en) * | 2016-09-19 | 2018-03-28 | 삼성전자주식회사 | Storage device and method of operating the storage device |
US10372531B2 (en) * | 2017-01-05 | 2019-08-06 | Texas Instruments Incorporated | Error-correcting code memory |
CN107608625B (en) | 2017-08-11 | 2020-09-11 | 记忆科技(深圳)有限公司 | Method for improving reading performance of fixed storage equipment |
US10545685B2 (en) | 2017-08-30 | 2020-01-28 | Micron Technology, Inc. | SLC cache management |
US10372342B2 (en) | 2017-10-02 | 2019-08-06 | Western Digital Technologies, Inc. | Multi-level cell solid state device and method for transferring data between a host and the multi-level cell solid state device |
US10698610B2 (en) | 2018-02-23 | 2020-06-30 | Western Digital Technologies, Inc. | Storage system and method for performing high-speed read and write operations |
US11288011B2 (en) * | 2020-03-26 | 2022-03-29 | Western Digital Technologies, Inc. | Non-volatile memory array with write failure protection for multi-level cell (MLC) storage elements using coupled writes |
-
2020
- 2020-11-20 KR KR1020200156774A patent/KR20220069543A/en unknown
-
2021
- 2021-07-16 US US17/377,901 patent/US11567685B2/en active Active
- 2021-07-22 DE DE102021118940.3A patent/DE102021118940A1/en active Pending
- 2021-11-19 CN CN202111376486.5A patent/CN114518843A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7679133B2 (en) | 2007-11-08 | 2010-03-16 | Samsung Electronics Co., Ltd. | Vertical-type non-volatile memory devices |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US8654587B2 (en) | 2010-08-11 | 2014-02-18 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices, channel boosting methods thereof, programming methods thereof, and memory systems including the same |
US8559235B2 (en) | 2010-08-26 | 2013-10-15 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, operating method thereof and memory system including the same |
Also Published As
Publication number | Publication date |
---|---|
US11567685B2 (en) | 2023-01-31 |
KR20220069543A (en) | 2022-05-27 |
US20220164123A1 (en) | 2022-05-26 |
CN114518843A (en) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102014204716B4 (en) | Non-volatile memory device and programming method for an operating system (OS) image | |
DE102021118940A1 (en) | MEMORY CONTROL AND STORAGE DEVICE WITH THE SAME | |
DE102017128939A1 (en) | System and method for dynamically and adaptively merging interrupts | |
DE102015012566A1 (en) | MULTILAYER CONCEPT FOR LOGICAL STORAGE MANAGEMENT | |
DE112016004629T5 (en) | Data coding techniques for a device | |
DE102008033518B4 (en) | Data processing method for a solid-state disk control unit, solid-state disk control unit and data storage element | |
DE112020000139T5 (en) | NAME SPACES NOT SEQUENTIALLY DIVIDED INTO ZONES | |
DE102020130044A1 (en) | TECHNIQUES FOR PREVENTING READ INTERFERENCE IN NAND MEMORY | |
DE102016009807A1 (en) | CORRELING PHYSICAL SIDE ADDRESSES FOR SOFT DECISION DECODING | |
DE102013016609A1 (en) | Apparatus and method for a low energy, low latency and high capacity storage class memory | |
DE112018005505T5 (en) | METHOD AND DEVICE FOR SPECIFICATING READ-VOLTAGE DISPLACEMENTS FOR A READ COMMAND | |
DE102008036822A1 (en) | Method for storing data in a solid state memory, solid state memory system and computer system | |
DE112018000230T5 (en) | System and method for speculative instruction execution using the control memory buffer | |
DE112019005511T5 (en) | KEEP WRITE COMMANDS IN ZONED NAME SPACES | |
DE112019000161T5 (en) | MEMORY CACHE MANAGEMENT | |
DE102020211544A1 (en) | CONTROL, OPERATING PROCEDURES OF THE CONTROL AND STORAGE DEVICE WITH THE SAME | |
DE112016000696B4 (en) | Scheduling scheme(ta) for a multi-chip memory device | |
DE112020005787T5 (en) | IMPROVED FILE SYSTEM SUPPORT FOR ZONE NAMESPACE STORAGE | |
DE112020005395T5 (en) | CAPACITY EXPANSION FOR STORAGE SUBSYSTEMS | |
DE112021000776T5 (en) | MANAGEMENT OF WRITE OPERATIONS IN A NON-VOLATILE MEMORY DEVICE USING A VARIABLE READ-OUT VOLTAGE LEVEL | |
DE102021130730A1 (en) | Storage controller and storage device each using a fragmentation ratio and method of operation therefor | |
DE102021006246A1 (en) | Doubly nested programming of a memory device in a memory subsystem | |
DE102022101607A1 (en) | HOST MEMORY BUFFER ALLOCATION MANAGEMENT | |
DE102022102980A1 (en) | OPERATIONAL TECHNIQUES OF DATA MOVEMENT | |
DE112021001848T5 (en) | MULTIPLE PIN CONFIGURATIONS OF STORAGE DEVICES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |