DE102021118940A1 - Speichersteuerung und speichereinrichtung mit derselben - Google Patents

Speichersteuerung und speichereinrichtung mit derselben Download PDF

Info

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
Application number
DE102021118940.3A
Other languages
English (en)
Inventor
Hwan Kim
Jea-young Kwon
Jae-Kun Lee
Song Ho Yoon
Sil Wan CHANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102021118940A1 publication Critical patent/DE102021118940A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel 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.

Description

  • HINTERGRUND
  • 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.
  • 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.
  • 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.
  • ZUSAMMENFASSUNG
  • Verschiedene beispielhafte Ausführungsformen der erfindungsgemäßen Konzepte bieten Speichersteuerungen mit verbesserter Leistung, Systeme, die die Speichersteuerung enthalten, und/oder Betriebsverfahren dafür.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Figurenliste
  • 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 von 1 nach mindestens einer beispielhaften Ausführungsform veranschaulicht;
    • 3 ein Blockdiagramm, das eine Speichervorrichtung von 1 nach mindestens einer beispielhaften Ausführungsform veranschaulicht;
    • 4 ein Blockdiagramm, das eine Speichersteuerung, wie in 1 gezeigt, nach mindestens einer beispielhaften Ausführungsform veranschaulicht;
    • 5 ein konzeptionelles Diagramm, das die dynamische Zuweisung einer Speichervorrichtung, wie in 3 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 der Speichervorrichtung 220 von 1 nach mindestens einer beispielhaften Ausführungsform; und
    • 11 ein Diagramm, das ein System veranschaulicht, in dem die Speichereinrichtung 200 von 1 nach mindestens einer beispielhaften Ausführungsform eingesetzt wird.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachfolgend werden verschiedene beispielhafte Ausführungsformen der erfindungsgemäßen Konzepte unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • 1 ist ein schematisches Blockdiagramm eines Speichersystems nach einigen beispielhaften Ausführungsformen. 2 ist ein Blockdiagramm, das eine Speichersteuerung von 1 im Detail darstellt. 3 ist ein Blockdiagramm, das eine Speichervorrichtung von 1 im Detail nach mindestens einer beispielhaften Ausführungsform darstellt.
  • Bezugnehmend auf 1 kann ein Host-Speichersystem 10 mindestens einen Host 100 und/oder mindestens eine Speichereinrichtung 200 usw. enthalten, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt, und das Host-Speichersystem 10 kann beispielsweise eine größere oder geringere Anzahl von Bestandteilen usw. enthalten. Die Speichereinrichtung 200 kann mindestens eine Speichersteuerung 210 und/oder mindestens eine Speichervorrichtung (z. B. eine nichtflüchtige Speichervorrichtung 220) usw. enthalten, ist aber nicht darauf beschränkt. Nach mindestens einer beispielhaften Ausführungsform der erfindungsgemäßen Konzepte kann der Host 100 (z. B. eine Host-Vorrichtung, eine externe Vorrichtung, eine Computervorrichtung, eine Benutzervorrichtung usw.) mindestens eine Host-Steuerung 110 und/oder mindestens einen Host-Speicher 120 usw. umfassen. Der Host-Speicher 120 kann als Pufferspeicher zur vorübergehenden Speicherung von Daten fungieren, die an die Speichereinrichtung 200 übertragen werden sollen und/oder von diesem übertragen werden, ist aber nicht darauf beschränkt.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Unter Bezugnahme auf 3 kann die Speichervorrichtung 220 eine Mehrzahl von Bereichen (z. B. Speicherbereichen, Speicherbereichen, Speicherchips usw.), wie den Bereichen 401, 402 und 403 usw., enthalten, die entsprechend und/oder auf der Grundlage einer Zellen-Level klassifiziert sind, aber die beispielhaften Ausführungsformen sind hierauf nicht beschränkt, und die Speichervorrichtung 220 kann beispielsweise mehr als drei Speicherbereiche, weniger als drei Speicherbereiche usw. enthalten. Die mehreren Bereiche 401, 402 und 403 usw. können jeweils mehrere Speicherblöcke enthalten und können jeweils gleich oder unterschiedlich verwaltet werden, usw., aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Nach einigen beispielhaften Ausführungsformen kann der Bereich 1 401 durch ein erstes Single-Level-Zellen(SLC)-Verfahren verwaltet werden, der Bereich 2 402 kann durch ein zweites SLC-Verfahren verwaltet werden, und der Bereich 3 403 kann ein Bereich sein, in dem Daten von 2 Bit oder mehr in einer Zelle gespeichert werden, usw., aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Der Bereich 3 403 kann beispielsweise durch eine Multi-Level-Zellen(MLC)-Konfiguration und/oder ein MLC-Verfahren, eine Triple-Level-Zellen(TLC)-Konfiguration und/oder ein TLC-Verfahren und/oder eine Quad-Level-Zellen(QLC)-Konfiguration und/oder ein QLC-Verfahren usw. verwaltet werden, doch sind die beispielhaften Ausführungsformen hierauf nicht beschränkt. Nach mindestens einer beispielhaften Ausführungsform ist jede der Zellen der MLC, TLC und/oder QLC in der Lage, zwei oder mehr Datenbits in einer Zelle usw. zu speichern.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 4 ist ein Blockdiagramm, das eine Speichersteuerung, wie in 1 gezeigt, nach mindestens einer beispielhaften Ausführungsform im Detail darstellt. 5 ist ein Konzeptdiagramm, das die dynamische Zuweisung einer Speichereinrichtung, wie in 3 dargestellt, nach mindestens einer beispielhaften Ausführungsform veranschaulicht. Die Beschreibung von 4 und 5 konzentriert sich auf die Unterschiede zu 2, und redundante Beschreibungen werden der Kürze und Klarheit halber weggelassen.
  • Unter Bezugnahme auf 4 und 5 kann eine Speichersteuerung 210' ferner einen Blockmanager 310 enthalten, ist aber nicht darauf beschränkt. Der Blockmanager 310 kann statisch und/oder dynamisch Größen eines oder mehrerer Speicherbereiche entsprechend einem Anwendungsverfahren zuweisen, z. B. Bereich 1 401, Bereich 2 402 und/oder Bereich 3 403 usw..
  • 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 5 beschrieben).
  • 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.
  • 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.
  • 6 ist ein Diagramm, das den Betrieb eines Speichersystems nach einigen beispielhaften Ausführungsformen veranschaulicht. 7 ist ein Diagramm, das den Betrieb eines Speichersystems nach einigen beispielhaften Ausführungsformen veranschaulicht. Der Einfachheit und Klarheit halber werden in 6 und 7 ein erster Bereich, ein zweiter Bereich und ein dritter Bereich als Bereich 1, Bereich 2 und Bereich 3 dargestellt und beschrieben, aber die beispielhaften Ausführungsformen sind nicht darauf beschränkt, und es kann beispielsweise eine größere oder geringere Anzahl von Bereichen in einer Speichervorrichtung usw. verwendet werden.
  • Unter Bezugnahme auf 6 kann die Speichervorrichtung 220 in einen SLC-Bereich, der den Bereich 1 410 und den Bereich 2 402 enthält, und einen MLC-Bereich, der dem Bereich 3 403 entspricht, wie vorstehend unter Bezugnahme auf 3 beschrieben, unterteilt werden, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt.
  • 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.
  • 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.
  • Bezugnehmend auf 7 kann der Migrationsmanager 300 nach einigen beispielhaften Ausführungsformen Daten, die in dem Bereich 2 402 gespeichert sind, zurück in den Bereich 1 401 (z. B. den ursprünglichen Bereich usw.) migrieren, wenn die Anzahl der gelesenen Daten den Migrationsschwellenwert THRC überschreitet. Mit anderen Worten, der Migrationsmanager 300 kann Daten, die in einem ersten SLC-Bereich gespeichert sind, in einen zweiten SLC-Bereich migrieren (z. B. verschieben usw.), wenn eine Lesezählung der Daten den Migrationsschwellenwert THRC überschreitet. Im dargestellten Beispiel können die Daten von dem Bereich 2 402 in den Bereich 1 401 migriert werden, wenn davon ausgegangen wird, dass der Migrationsschwellenwert THRC 2000 beträgt, d. h. wenn die Anzahl der gelesenen Daten von SLC5 2000 beträgt, wobei die beispielhaften Ausführungsformen jedoch nicht darauf beschränkt sind. Wenn jedoch die Anzahl der gelesenen Daten von SLC6 1000 und die Anzahl der gelesenen Daten von TLC 1500 und 500 beträgt und somit unter dem Migrationsschwellenwert THRC liegt, können die Daten von SLC6 und TLC in den Bereichen 2 und 3, in denen die Daten ursprünglich gespeichert wurden, beibehalten werden, wobei die beispielhaften Ausführungsformen hierauf nicht beschränkt sind.
  • 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).
  • 8 ist ein Ablaufdiagramm eines Betriebsverfahrens einer Speichersteuerung nach einigen beispielhaften Ausführungsformen.
  • Bezugnehmend auf 8 sendet die Speichersteuerung in der Operation S11 mindestens einen Lesebefehl an eine Speichervorrichtung. In Operation S12 werden, wenn Daten, die nach dem Lesebefehl aus der Speichervorrichtung gelesen wurden, empfangen werden, Fehler in den empfangenen Daten dekodiert und die Anzahl der Fehler usw. überprüft.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 9 ist ein Blockdiagramm eines Speichersystems nach mindestens einer beispielhaften Ausführungsform der erfindungsgemäßen Konzepte. Bezugnehmend auf 9 kann eine Speichervorrichtung 220 eine Speichervorrichtung 220 und/oder eine Speichersteuerung 210 usw. enthalten, ist aber nicht darauf beschränkt. Die Speichervorrichtung 220 kann einer oder mehreren der nichtflüchtigen Speichervorrichtungen NVM11 bis NVMmn usw. entsprechen, die mit der Speichersteuerung 200 auf der Grundlage eines einer Mehrzahl von Kanälen CH1 bis CHm von 10 kommunizieren, aber die beispielhaften Ausführungsformen sind darauf nicht beschränkt. Die Speichersteuerung 210 kann der Speichersteuerung 200 von 1 entsprechen, ist aber nicht darauf beschränkt.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 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.
  • 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 .
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 10 ist ein Blockdiagramm eines Beispiels der Speichervorrichtung 220 von 1 nach mindestens einer beispielhaften Ausführungsform. Bezugnehmend auf 10 kann eine Speichervorrichtung 400 eine Steuerlogikschaltung 420, ein Speicherzellenarray 430, eine Seitenpuffereinheit 440, einen Spannungsgenerator 450 und/oder einen Zeilendekodierer 460 usw. enthalten, ist aber nicht darauf beschränkt. Die Speichervorrichtung 400 kann ferner die Speicherschnittstellenschaltung 410 und eine Spaltenlogik, einen Vordekodierer, einen Temperatursensor, einen Befehlsdekodierer, einen Adressdekodierer usw. enthalten. Nach einigen beispielhaften Ausführungsformen kann die Steuerlogikschaltung 420 als Verarbeitungsschaltung implementiert sein, oder mit anderen Worten, die in der Steuerlogikschaltung 420 enthaltene Verarbeitungsschaltung kann in der Lage sein, die Funktionalität der Steuerlogikschaltung 420, des Speicherzellenarrays 430, der Seitenpuffereinheit 440, des Spannungsgenerators 450, des Zeilendekodierers 460, der Speicherschnittstellenschaltung 410 usw. auszuführen. Die Verarbeitungsschaltung kann Hardware wie Prozessoren, Prozessorkerne, Logikschaltungen, Speichereinrichtungen usw., eine Hardware/Software-Kombination wie mindestens einen Prozessorkern, der Software ausführt und/oder einen beliebigen Befehlssatz usw. ausführt, oder eine Kombination davon umfassen. So kann die Verarbeitungsschaltung insbesondere ein FPGA (Field Programmable Gate Array), eine programmierbare Logikeinheit, eine anwendungsspezifische integrierte Schaltung (ASIC), ein Ein-Chip-System (SoC) usw. enthalten, ist aber nicht darauf 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.
  • 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.
  • 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. 7,679,133 , das US-Patent Nr. 8,553,466 , das US-Patent Nr. 8,654,587 , das US-Patent Nr. 8,559,235 und die US-Anmeldung Nr. 2011/0233648 sind durch Bezugnahme in ihrer Gesamtheit hierin enthalten. In mindestens einer beispielhaften Ausführungsform kann das Speicherzellenarray 430 ein 2D-Speicherzellenarray enthalten, und das 2D-Speicherzellenarray kann eine Mehrzahl von NAND-Strängen enthalten, die in Zeilen- und Spaltenrichtung usw. angeordnet sind.
  • 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.
  • 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.
  • 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.
  • 11 ist ein Diagramm, das ein System veranschaulicht, in dem die Speichereinrichtung 200 von 1 nach mindestens einer beispielhaften Ausführungsform eingesetzt wird.
  • Ein System 1000 von 11 nach mindestens einer beispielhaften Ausführungsform kann ein mobiles System wie ein Mobiltelefon, ein Smartphone, ein Tablet, ein Personal Computer (PC), eine am Körper tragbare Vorrichtung, eine Vorrichtung für die Gesundheitsfürsorge und/oder eine Internet-of-Things-Vorrichtung (IoT) usw. sein, ist aber nicht darauf beschränkt. Das System 1000 von 11 ist jedoch nicht notwendigerweise auf das mobile System beschränkt und kann ein Laptop, ein Server, ein Mediaplayer und/oder eine Fahrzeugvorrichtung wie ein Navigationssystem usw. sein.
  • Bezugnehmend auf 11 kann das System 1000 einen Hauptprozessor 1100, Speicher 1020a und 1020b sowie Speichereinrichtungen 1010a und 1010b enthalten und darüber hinaus mindestens eine Bildaufnahmevorrichtung 1410, eine Benutzereingabevorrichtung 1420, einen Sensor 1430, eine Kommunikationsvorrichtung 1440, eine Anzeige 1450, einen Lautsprecher 1460, eine Leistungsversorgungsvorrichtung 1470 und/oder eine Verbindungsschnittstelle 1480 usw. enthalten.
  • 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.
  • 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.
  • 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.
  • Die Anzeige 1450 und der Lautsprecher 1460 können als Ausgabevorrichtungen fungieren, die visuelle und akustische Informationen an einen Benutzer des Systems 1000 ausgeben.
  • 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.
  • 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.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 7679133 [0085]
    • US 8553466 [0085]
    • US 8654587 [0085]
    • US 8559235 [0085]

Claims (20)

  1. Speichereinrichtung, umfassend: 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.
  2. Speichereinrichtung nach Anspruch 1, wobei die Speichersteuerung ferner eingerichtet ist, um: die Migration der Daten zwischen dem ersten SLC-Bereich, dem zweiten SLC-Bereich und dem MLC-Bereich auf der Grundlage von Merkmalen der Daten zu steuern.
  3. Speichereinrichtung nach Anspruch 2, wobei die Merkmale der Daten mindestens eines von einer Schreibzeit der in die Speichervorrichtung programmierten Daten, einer Lesezählung der Daten oder beliebige Kombinationen davon umfassen.
  4. Speichereinrichtung nach Anspruch 3, wobei die Speichersteuerung ferner eingerichtet ist, um: die auf dem zweiten SLC-Bereich oder dem MLC-Bereich gespeicherten Daten auf den ersten SLC-Bereich als Reaktion darauf zu migrieren, dass eine Anzahl von in den Daten enthaltenen Fehlern kleiner als ein Fehlerschwellenwert ist und eine Schreibzeit der Daten kleiner als eine Migrationsschwellenwertzeit ist.
  5. Speichereinrichtung nach Anspruch 3, wobei die Speichersteuerung ferner eingerichtet ist, um: die auf dem zweiten SLC-Bereich oder dem MLC-Bereich gespeicherten Daten als Reaktion auf eine Anzahl von Fehlern, die in den Daten enthalten sind, die größer oder gleich einem Fehlerschwellenwert ist, und eine Lesezählung der Daten, die kleiner als ein Migrationsschwellenwert ist, aufrechtzuerhalten.
  6. Speichereinrichtung nach Anspruch 3, wobei die Speichersteuerung weiterhin eingerichtet ist, um: als Reaktion darauf, dass die Lesezählung der Daten größer oder gleich einer Migrationsschwellenwertzahl ist, die in dem zweiten SLC-Bereich oder dem MLC-Bereich gespeicherten Daten in den ersten SLC-Bereich zu migrieren, und die im ersten SLC-Bereich gespeicherten Daten beizubehalten.
  7. Speichereinrichtung nach Anspruch 1, wobei die Speichersteuerung ferner eingerichtet ist, um: die Größen des ersten SLC-Bereichs, des zweiten SLC-Bereichs und des MLC-Bereichs der Speichervorrichtung auf der Grundlage eines Datenzugriffsmusters der Speichersteuerung dynamisch anzupassen.
  8. Speichereinrichtung nach Anspruch 1, wobei der MLC-Bereich mindestens eine von einer Multi-Level-Zelle, einer Triple-Level-Zelle, einer Quad-Level-Zelle oder einer beliebige Kombinationen davon umfasst.
  9. Betriebsverfahren für eine Speichersteuerung, umfassend: 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, die die Daten gelesen wurden.
  10. Betriebsverfahren nach Anspruch 9, wobei der SLC-Bereich ferner einen Ortswarteschlangenbereich; und das Verfahren ferner Speichern der Daten in dem lokalen Warteschlangenbereich auf der Grundlage der Merkmale der Daten umfasst.
  11. Speichersteuerung, umfassend: Verarbeitungsschaltungen, die eingerichtet sind, 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.
  12. Speichersteuerung nach Anspruch 11, wobei die Verarbeitungsschaltung ferner eingerichtet ist, um: die Daten von der Speichervorrichtung als Reaktion auf die Leseanforderung zu empfangen; Fehler in den empfangenen Daten zu korrigieren und die Anzahl der in den empfangenen Daten enthaltenen Fehler zu bestimmen; und den Speicherort der empfangenen Daten auf der Grundlage der ermittelten Anzahl von Fehlern zu ändern.
  13. Speichersteuerung nach Anspruch 11, wobei die Nutzungsmerkmale der Daten mindestens eine von einer Schreibzeit der Daten, einer letzten Lesezeit, einer Lesezählung, einer Fehlerrate oder beliebige Kombinationen davon umfassen.
  14. Speichersteuerung nach Anspruch 13, wobei die Verarbeitungsschaltung ferner eingerichtet ist, um: die Daten von dem ersten SLC-Bereich zum zweiten SLC-Bereich oder zum MLC-Bereich als Reaktion darauf, dass der Lesezählerstand kleiner als ein Migrationsschwellenwert ist, zu migrieren.
  15. Speichersteuerung nach Anspruch 12, wobei die Verarbeitungsschaltung ferner eingerichtet ist, um: als Reaktion darauf, dass die empfangenen Daten nicht korrigierbar sind, eine zweite Leseanforderung der Daten an die Speichervorrichtung zu senden.
  16. Speichersteuerung nach Anspruch 13, wobei die Verarbeitungsschaltung ferner eingerichtet ist, um: als Reaktion darauf, dass der Speicherort der Daten der erste SLC-Bereich ist und eine Schreibzeit der Daten kleiner als eine Migrationsschwellenwertzeit ist, den Speicherort der Daten im ersten SLC-Bereich beizubehalten.
  17. Speichersteuerung nach Anspruch 11, wobei die Verarbeitungsschaltung ferner eingerichtet ist, um: als Reaktion darauf, dass der Speicherort der Daten nicht der erste SLC-Bereich ist, basierend auf einer Lesezählung der Daten, die größer oder gleich einer Migrationsschwellenwertzählung ist, die Daten in den ersten SLC-Bereich zu migrieren.
  18. Speichersteuerung nach Anspruch 11, wobei die Verarbeitungsschaltung ferner eingerichtet ist, um: auf der Grundlage einer Schreibzeitreihenfolge der Daten Daten des ersten SLC-Bereichs oder des zweiten SLC-Bereichs in den MLC-Bereich zu migrieren.
  19. Speichersteuerung nach Anspruch 18, wobei die Verarbeitungsschaltung ferner eingerichtet ist, um: als Reaktion auf eine Lesezählung der Daten, die einen Migrationsschwellenwert überschreitet, die Daten in den ersten SLC-Bereich zu migrieren.
  20. Speichersteuerung nach Anspruch 11, wobei die Verarbeitungsschaltung ferner eingerichtet ist, um: die Größen des ersten SLC-Bereichs, des zweiten SLC-Bereichs und des MLC-Bereichs auf der Grundlage eines Datenzugriffsmusters dynamisch anzupassen.
DE102021118940.3A 2020-11-20 2021-07-22 Speichersteuerung und speichereinrichtung mit derselben Pending DE102021118940A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0156774 2020-11-20
KR1020200156774A KR20220069543A (ko) 2020-11-20 2020-11-20 스토리지 장치, 스토리지 컨트롤러 및 이를 포함하는 스토리지 시스템

Publications (1)

Publication Number Publication Date
DE102021118940A1 true DE102021118940A1 (de) 2022-05-25

Family

ID=81452881

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021118940.3A Pending DE102021118940A1 (de) 2020-11-20 2021-07-22 Speichersteuerung und speichereinrichtung mit derselben

Country Status (4)

Country Link
US (1) US11567685B2 (de)
KR (1) KR20220069543A (de)
CN (1) CN114518843A (de)
DE (1) DE102021118940A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220099848A (ko) * 2021-01-07 2022-07-14 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
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 (ja) * 2021-09-21 2023-04-03 キオクシア株式会社 メモリシステム
US11853572B2 (en) * 2022-05-05 2023-12-26 Western Digital Technologies, Inc. Encoding-aware data routing

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 (ko) 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
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 (zh) 2016-04-21 2017-11-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
KR20180031289A (ko) * 2016-09-19 2018-03-28 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10372531B2 (en) * 2017-01-05 2019-08-06 Texas Instruments Incorporated Error-correcting code memory
CN107608625B (zh) 2017-08-11 2020-09-11 记忆科技(深圳)有限公司 一种提升固存储设备读性能的方法
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
KR20220069543A (ko) 2022-05-27
US11567685B2 (en) 2023-01-31
CN114518843A (zh) 2022-05-20
US20220164123A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
DE102014204716B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren für ein Betriebssystem(OS)-Image
DE102021118940A1 (de) Speichersteuerung und speichereinrichtung mit derselben
DE112018000181T5 (de) System und verfahren für die schnelle ausführung von kapselinternen befehlen
DE102017128939A1 (de) System und Verfahren zum dynamischen und adaptiven Zusammenführen von Interrupts
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE102015012566A1 (de) Mehrlagenkonzept für logische speicherungsverwaltung
DE112016004629T5 (de) Datencodiertechniken für eine Vorrichtung
DE102008033518B4 (de) Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement
DE112020000139T5 (de) Nicht sequentiell in zonen aufgeteilte namensräume
DE102016009807A1 (de) Korrelieren von physikalischen seitenadressen für soft-decision-dekodierung
DE102013016609A1 (de) Vorrichtung und Verfahren für ein Storage Class Memory mit niedrigem Energieverbrauch, niedriger Latenz und hoher Kapazität
DE112018005505T5 (de) Verfahren und vorrichtung zur spezifikation von lese-spannungsversetzungen für einen lesebefehl
DE102008036822A1 (de) Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem
DE112018000230T5 (de) System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers
DE112019000161T5 (de) Speicher-cache-verwaltung
DE112020005787T5 (de) Verbesserte dateisystem-unterstützung für zonen-namespace-speicher
DE102020211544A1 (de) Steuerung, betriebsverfahren der steuerung und speichergerät mit derselben
DE112016000696B4 (de) Ablaufplanungsschema(ta) für eine Mehrchip-Speichervorrichtung
DE112020005395T5 (de) Kapazitätserweiterung für speicher-untersysteme
DE112021000776T5 (de) Verwaltung von schreib-operationen in einer nichtflüchtigen speichervorrichtung unter verwendung eines variablen vor-lese-spannungspegels
DE102022101607A1 (de) Verwaltung der hostspeicherpufferzuweisung
DE102021130730A1 (de) Speichercontroller und Speicherungsvorrichtung, die jeweils ein Fragmentierungsverhältnis verwenden, und Betriebsverfahren dafür
DE102022102980A1 (de) Operationsstechniken der datenverlagerung
DE112021001848T5 (de) Mehrere pinkonfigurationen von speichervorrichtungen
DE112021000474T5 (de) Durchführung einer Medienverwaltungsoperation basierend auf einer Änderung eines Schreibmodus eines Datenblocks in einem Cache

Legal Events

Date Code Title Description
R012 Request for examination validly filed