DE102020200513A1 - Speichereinrichtung und verfahren zum betreiben derselben - Google Patents

Speichereinrichtung und verfahren zum betreiben derselben Download PDF

Info

Publication number
DE102020200513A1
DE102020200513A1 DE102020200513.3A DE102020200513A DE102020200513A1 DE 102020200513 A1 DE102020200513 A1 DE 102020200513A1 DE 102020200513 A DE102020200513 A DE 102020200513A DE 102020200513 A1 DE102020200513 A1 DE 102020200513A1
Authority
DE
Germany
Prior art keywords
block
refresh
data
target block
signal
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
DE102020200513.3A
Other languages
English (en)
Inventor
Won Jae Choi
Ki Chang Gwon
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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020190058302A external-priority patent/KR102683296B1/ko
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of DE102020200513A1 publication Critical patent/DE102020200513A1/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • 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
    • 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
    • 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/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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching 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/26Sensing or reading circuits; Data output circuits

Landscapes

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

Abstract

Die vorliegende Technologie betrifft eine Speichereinrichtung und ein Verfahren zum Betreiben der Speichereinrichtung. Die Speichereinrichtung enthält einen Zielblockmanager, der konfiguriert ist, um eine Zielblockadresse zu speichern, an der eine Auffrischungsoperation durchgeführt werden soll, und ein Auffrischungssignal für den Zielblock, der zu der Zielblockadresse korrespondiert, auszugeben, wenn ein automatischer Auffrischungsbefehl empfangen wird, und einen Datenübertragungscontroller, der konfiguriert ist, um ein Übertragungssignal und ein Puffersteuersignal zum Übertragen von Daten zwischen dem Zielblock oder dem Pufferblock und der temporären Pufferschaltung als Reaktion auf das Auffrischungssignal auszugeben.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht die Priorität gemäß 35 U.S.C. § 119(a) für die am 17. Mai 2019 eingereichte koreanische Patentanmeldung Nr. 10-2019-0058302 , deren gesamte Offenbarung hier durch Verweis in ihrer Gesamtheit aufgenommen wird.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft eine Speichereinrichtung und ein Verfahren zum Betreiben der Speichereinrichtung, und insbesondere eine Speichereinrichtung, die in der Lage ist, eine Auffrischungsoperation d.h. einen Auffrischungsbetrieb durchzuführen, und ein Speichersystem, das die Speichereinrichtung enthält.
  • Verwandter Sachstand
  • Ein Speichersystem ist eine Einrichtung, die Daten unter der Steuerung einer Host-Einrichtung, wie z.B. eines Computers, eines Smartphones oder eines Smart Pads, speichert. Das Speichersystem kann eine Speichereinrichtung, die Daten speichert, und einen Speicher-Controller umfassen, der die Speichereinrichtung gemäß einer Anforderung von dem Host steuert. Die Speichereinrichtung kann in eine flüchtige Speichereinrichtung und eine nichtflüchtige Speichereinrichtung gemäß einem Verfahren zum Speichern und Aufrechterhalten bzw. Halten von Daten unterteilt werden. Eine flüchtige Speichereinrichtung ist eine Speichereinrichtung, in der gespeicherte Daten gelöscht werden, wenn eine Energieversorgung unterbrochen wird, und eine nichtflüchtige Speichereinrichtung ist eine Speichereinrichtung, in der gespeicherte Daten auch dann aufrechterhalten werden können, wenn eine Energieversorgung unterbrochen wird.
  • Dabei kann die nichtflüchtige Speichereinrichtung einen Festwertspeicher d.h. Nur-Lese-Speicher (ROM), ein programmierbares ROM (PROM), ein elektrisch programmierbares ROM (EPROM), ein elektrisch löschbares und programmierbares ROM (EEPROM), einen Flash-Speicher, ein Phasenwechsel-RAM (PRAM), ein magnetisches RAM (MRAM), ein resistives RAM (RRAM), ein ferroelektrisches RAM (FRAM) und dergleichen umfassen.
  • Die in der nichtflüchtigen Speichereinrichtung gespeicherten Daten müssen im Idealfall dauerhaft aufrechterhalten bleiben, aber die gespeicherten Daten können sich im Laufe der Zeit aufgrund einer physikalischen Eigenschaft einer Speicherzelle, in der die Daten gespeichert sind, ändern.
  • ZUSAMMENFASSUNG
  • Eine Ausführungsform der vorliegenden Offenbarung stellt eine Speichereinrichtung, die in der Lage ist, eine Auffrischungsoperation durchzuführen, um ein Ändern von Daten zu verhindern, die in einer nichtflüchtigen Speichereinrichtung gespeichert sind, und ein Verfahren zum Betreiben der Speichereinrichtung, bereit.
  • Eine Speichereinrichtung gemäß einer Ausführungsform der gegenwärtigen Offenbarung enthält einen Zielblock, der Daten speichern kann, einen Pufferblock, der die Daten des Zielblocks während einer Auffrischungsoperation des Zielblocks vorübergehend speichern kann, eine temporäre Pufferschaltung d.h. eine Schaltung eines temporären Puffers, die konfiguriert ist, um die Daten des Zielblocks oder des Pufferblocks als Reaktion auf ein Puffersteuersignal vorübergehend zu speichern oder auszugeben, einen Zielblockmanager, der konfiguriert ist, um eine Zielblockadresse des Zielblocks, an dem die Auffrischungsoperation durchgeführt werden soll, zu speichern und ein Auffrischungssignal für den Zielblock gemäß der Zielblockadresse auszugeben, wenn ein automatischer Auffrischungsbefehl empfangen wird, einen Datenübertragungs-Controller, der konfiguriert ist, um ein erstes Übertragungssignal oder ein zweites Übertragungssignal und das Puffersteuersignal zum Übertragen der Daten zwischen dem Zielblock oder dem Pufferblock und der temporären Pufferschaltung als Reaktion auf das Auffrischungssignal auszugeben, einen Blocklösch-Controller, der konfiguriert ist, um ein erstes Löschsignal und das Puffersteuersignal zum Löschen des Zielblocks auszugeben, wenn die Daten des Zielblocks von der temporären Pufferschaltung zu dem Pufferblock übertragen werden, und der konfiguriert ist, um ein zweites Löschsignal und das Puffersteuersignal zum Löschen des Pufferblocks auszugeben, wenn die Daten des Zielblocks von der temporären Pufferschaltung zurück zu dem Zielblock übertragen werden, und eine Betriebsschaltung, die konfiguriert ist, um Lese-, Programmier- oder Löschbetriebsspannungen zu dem Zielblock oder dem Pufferblock als Reaktion auf das erste oder zweite Übertragungssignal oder das erste oder zweite Löschsignal zu übertragen.
  • Eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung enthält einen Zielblock, der Daten speichern kann, einen Pufferblock, der die Daten des Zielblocks während einer Auffrischungsoperation des Zielblocks vorübergehend speichern kann, eine temporäre Pufferschaltung, die konfiguriert ist, um die Daten des Zielblocks oder des Pufferblocks als Reaktion auf ein Puffersteuersignal vorübergehend zu speichern oder auszugeben, einen Zielblockmanager, der konfiguriert ist, um eine Zielblockadresse des Zielblocks, an dem die Auffrischungsoperation durchgeführt werden soll, zu speichern und zu aktualisieren und wiederholt ein Auffrischungssignal für den Zielblock auszugeben, das zu einer aktualisierten Zielblockadresse korrespondiert, bis ein Auffrischungsendbefehl empfangen wird, wenn ein Selbstauffrischungsbefehl empfangen wird, einen Datenübertragungs-Controller, der konfiguriert ist, um ein erstes Übertragungssignal oder ein zweites Übertragungssignal und das Puffersteuersignal zum Übertragen der Daten zwischen dem Zielblock oder dem Pufferblock und der temporären Pufferschaltung als Reaktion auf das Auffrischungssignal auszugeben, einen Blocklöschcontroller, der konfiguriert ist, um ein erstes Löschsignal und das Puffersteuersignal zum Löschen des Zielblocks auszugeben, wenn die Daten des Zielblocks von der temporären Pufferschaltung zu dem Pufferblock übertragen werden, und der konfiguriert ist, um ein zweites Löschsignal und das Puffersteuersignal zum Löschen des Pufferblocks auszugeben, wenn die Daten des Zielblocks von der temporären Pufferschaltung zurück zu dem Zielblock übertragen werden, und eine Betriebsschaltung, die konfiguriert ist, um Lese-, Programmier- oder Löschbetriebsspannungen zu dem Zielblock oder dem Pufferblock als Reaktion auf das erste oder zweite Übertragungssignal oder das erste oder zweite Löschsignal zu übertragen.
  • Eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung enthält einen Zielblock, der Daten speichern kann, einen Pufferblock, der die Daten des Zielblocks während einer Auffrischungsoperation des Zielblocks vorübergehend speichern kann, eine temporäre Pufferschaltung, die konfiguriert ist, um die Daten des Zielblocks oder des Pufferblocks vorübergehend zu speichern oder auszugeben, eine Auffrischungsbefehl-Bestimmungseinrichtung, die konfiguriert ist, um einen automatischen Auffrischungsbefehl, einen Selbstauffrischungsbefehl oder einen Auffrischungsendbefehl zu empfangen und ein Selbstauffrischungssignal, ein Selbstauffrischungsstartsignal oder ein Selbstauffrischungsendsignal gemäß dem empfangenen Befehl auszugeben, einen Zielblockmanager, der konfiguriert ist, um eine Zielblockadresse eines nächsten Blocks zu speichern, wenn eine automatische Auffrischungsoperation oder eine Selbstauffrischungsoperation des Zielblocks beendet ist, und der konfiguriert ist, um ein Auffrischungssignal zum Steuern der Auffrischungsoperation gemäß dem automatischen Auffrischungsbefehl, dem Selbstauffrischungsbefehl oder dem Auffrischungsendbefehl auszugeben, einen Datenübertragungs-Controller, der konfiguriert ist, um die Datenübertragung zwischen dem Zielblock, dem Pufferblock und der temporären Pufferschaltung als Reaktion auf das Auffrischungssignal zu steuern, und einen Blocklösch-Controller, der konfiguriert ist, um eine Löschoperation des Zielblocks oder des Pufferblocks gemäß einer Reihenfolge, in der die Daten von der temporären Pufferschaltung zum Pufferblock oder zum Zielblock übertragen werden, zu steuern.
  • Ein Verfahren zum Betreiben einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung enthält Übertragen von Daten eines Zielblocks zu einer temporären Pufferschaltung, wenn ein automatischer Auffrischungsbefehl empfangen wird, Programmieren der zu der temporären Pufferschaltung übertragenen Daten zu einem Pufferblock, Löschen des Zielblocks, Übertragen der zu dem Pufferblock programmierten Daten zu der temporären Pufferschaltung, Programmieren der zu der temporären Pufferschaltung übertragenen Daten zurück zu dem Zielblock und Löschen des temporären Pufferblocks.
  • Ein Verfahren zum Betreiben einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung beinhaltet ein Übertragen von Daten eines Zielblocks an eine temporäre Pufferschaltung, wenn ein Selbstauffrischungsbefehl empfangen wird, Programmieren der an die temporäre Pufferschaltung übertragenen Daten auf einen Pufferblock, Löschen des Zielblocks, Übertragen der auf den Pufferblock programmierten Daten an die temporäre Pufferschaltung, Programmieren der an die temporäre Pufferschaltung übertragenen Daten zurück auf den Zielblock, Löschen des temporären Pufferblocks und Aktualisieren einer Adresse eines nächsten Blocks des Zielblocks auf einen nächsten Zielblock. Diese Verfahrensschritte werden wiederholt, bis ein Auffrischungsendbefehl empfangen wird.
  • Die vorliegende Technologie kann eine Änderung der Daten, die in der Speichereinrichtung gespeichert sind, verhindern, indem die in der Speichereinrichtung gespeicherten Daten aufgefrischt werden, und somit kann die vorliegende Technologie die Zuverlässigkeit der Speichereinrichtung verbessern.
  • Figurenliste
    • 1 ist ein Diagramm zum Beschreiben eines Speichersystems gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 2 ist ein Diagramm zum spezifischen Beschreiben eines Refresh-Controllers (nachstehend auch als Auffrischungs-Controller bezeichnet) gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 3 ist ein Diagramm zum spezifischen Beschreiben einer Speichereinrichtung gemäß einer ersten Ausführungsform der vorliegenden Offenbarung.
    • 4 ist ein Diagramm zum spezifischen Beschreiben einer in 3 dargestellten Steuerungslogik und einem Verfahren zum Betreiben derselben.
    • 5A und 5B sind Diagramme zum Beschreiben einer Auffrischungsoperation einer Speichereinrichtung, die eine Ebene enthält.
    • 6 ist ein Diagramm zum Beschreiben eines Verfahrens zum Verwalten einer Zielblockadresse, die in einem Zielblockmanager gespeichert ist.
    • 7 ist ein Diagramm zum Beschreiben eines Speicherzellen-Arrays, das eine Vielzahl von Ebenen enthält.
    • 8 und 9 sind Diagramme zum Beschreiben einer Auffrischungsoperation einer Speichereinrichtung, die eine Vielzahl von Ebenen enthält.
    • 10 ist ein Diagramm zum spezifischen Beschreiben der Auffrischungsoperation gemäß der ersten Ausführungsform der vorliegenden Offenbarung.
    • 11 ist ein Diagramm zum spezifischen Beschreiben einer Speichereinrichtung gemäß einer zweiten Ausführungsform der vorliegenden Offenbarung.
    • 12 ist ein Diagramm zum spezifischen Beschreiben einer Auffrischungsoperation gemäß der zweiten Ausführungsform der vorliegenden Offenbarung.
    • 13 ist ein Diagramm zum spezifischen Beschreiben einer Speichereinrichtung gemäß einer dritten Ausführungsform der vorliegenden Offenbarung.
    • 14 ist ein Diagramm zum spezifischen Beschreiben einer Konfiguration eines Speicherblocks.
    • 15 und 16 sind Diagramme zum Beschreiben einer Auffrischungsoperation gemäß einer vierten Ausführungsform der vorliegenden Offenbarung.
    • 17 bis 21 sind Diagramme zum Beschreiben einer Auffrischungsoperation gemäß einer fünften Ausführungsform der vorliegenden Offenbarung.
    • 22 ist ein Blockdiagramm zum Beschreiben eines Speicherkartensystems, auf das eine Speichereinrichtung und ein Speicher-Controller der vorliegenden Offenbarung angewendet werden.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Spezifische strukturelle oder funktionelle Beschreibungen von Ausführungsformen gemäß dem Konzept, die in der vorliegenden Spezifikation oder Anwendung offenbart werden, werden nur veranschaulicht, um die Ausführungsformen gemäß dem Konzept der vorliegenden Offenbarung zu beschreiben. Die Ausführungsformen gemäß dem Konzept der vorliegenden Offenbarung können in verschiedenen Formen d.h. Ausbildungen ausgeführt werden, und die Beschreibungen sind nicht auf die in der vorliegenden Spezifikation oder Anwendung beschriebenen Ausführungsformen beschränkt.
  • Da auf die Ausführungsformen gemäß dem Konzept der vorliegenden Offenbarung verschiedene Modifikationen und Änderungen angewendet werden können und die Ausführungsformen nach dem Konzept der vorliegenden Offenbarung verschiedene Ausbildungen aufweisen können, werden die spezifischen Ausführungsformen in den Zeichnungen veranschaulicht und in der vorliegenden Spezifikation oder Anwendung beschrieben. Es sei jedoch darauf hingewiesen, dass die Ausführungsformen gemäß dem Konzept der vorliegenden Offenbarung nicht als auf eine bestimmte Offenbarungsform beschränkt ausgelegt werden und alle Änderungen, Äquivalente oder Substitute einschließen, die nicht von dem Grundgedanken und dem technischen Umfang der vorliegenden Offenbarung abweichen.
  • Während Begriffe wie „erste“, „zweite“ und/oder dergleichen verwendet werden, um verschiedene Komponenten zu beschreiben, sollten solche Komponenten nicht auf die voranstehend beschriebenen Begriffe beschränkt werden. Die voranstehend beschriebenen Begriffe werden nur verwendet, um eine Komponente von einer anderen Komponente zu unterscheiden. Beispielsweise kann eine erste Komponente als eine zweite Komponente bezeichnet werden, und ähnlich kann eine zweite Komponente als eine erste Komponente bezeichnet werden, ohne von dem Anwendungsbereich gemäß dem Konzept der vorliegenden Offenbarung abzuweichen.
  • Es sei darauf hingewiesen, dass, wenn eine Komponente als mit einer anderen Komponente „verbunden“ oder „gekoppelt“ bezeichnet wird, die Komponente direkt mit dem anderen Element verbunden oder gekoppelt sein kann oder eine oder mehrere dazwischenliegende Komponenten ebenfalls vorhanden sein können. Im Gegensatz dazu sollte verstanden werden, dass, wenn eine Komponente als „direkt verbunden“ oder „direkt gekoppelt“ mit einer anderen Komponente bezeichnet wird, keine dazwischenliegende Komponente vorhanden ist. Andere Ausdrücke, die Beziehungen zwischen Komponenten beschreiben, wie beispielsweise „~ zwischen“, „unmittelbar ~ zwischen“ oder „angrenzend an ~“, „direkt angrenzend an ~“ und dergleichen, sollten ähnlich ausgelegt werden.
  • Die in der vorliegenden Spezifikation verwendeten Begriffe werden lediglich dazu verwendet, eine spezifische Ausführungsform zu beschreiben und sind nicht darauf gerichtet, die vorliegende Offenbarung einzuschränken. Ein singulärer Ausdruck enthält einen pluralen Ausdruck, es sei denn, der Kontext zeigt etwas anderes an. In der vorliegenden Spezifikation sollte verstanden werden, dass ein Begriff „enthalten“, „aufweisen“ oder dergleichen anzeigt, dass ein in der vorliegenden Spezifikation beschriebenes Merkmal, eine Zahl, ein Schritt, eine Operation, eine Komponente, ein Teil oder eine Kombination davon vorhanden ist, aber nicht die Möglichkeit des Vorhandenseins oder der Hinzufügung eines oder mehrerer anderer Merkmale, Zahlen, Schritte, Operationen, Komponenten, Teile oder Kombinationen davon ausschließt.
  • Soweit nicht anders definiert, haben alle hier verwendeten Begriffe, einschließlich technischer oder wissenschaftlicher Terminologien, eine Bedeutung, die von Durchschnittsfachleuten, auf die sich die vorliegende Offenbarung bezieht, allgemein verstanden wird. Die in herkömmlich verwendeten Wörterbüchern definierten Begriffe sollten so ausgelegt werden, dass sie die gleichen Bedeutungen aufweisen, wie sie im Zusammenhang mit dem betreffenden Sachstand ausgelegt würden, und sollten, sofern in der vorliegenden Spezifikation nicht eindeutig anders definiert, nicht so ausgelegt werden, dass sie idealistische oder übermäßig formale Bedeutungen aufweisen.
  • Beim Beschreiben der Ausführungsform wird die Beschreibung von technischen Inhalten, die im technischen Bereich der vorliegenden Offenbarung gut bekannt sind und die sich nicht direkt auf die vorliegende Offenbarung beziehen, weggelassen. Dies ist darauf gerichtet, das Wesentliche der vorliegenden Offenbarung durch Weglassen unnötiger Beschreibung klarer zu offenbaren.
  • Nachfolgend werden Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die beigefügten Zeichnungen ausführlich beschrieben, so dass Durchschnittsfachleute, auf die sich die vorliegende Offenbarung bezieht, den technischen Grundgedanken der vorliegenden Offenbarung ausführen können.
  • 1 ist ein Diagramm zum Beschreiben eines Speichersystems gemäß einer Ausführungsform der vorliegenden Offenbarung.
  • Unter Bezugnahme auf 1 kann das Speichersystem 1000 eine Speichereinrichtung 1100, in der Daten gespeichert werden, und einen Speicher-Controller 1200, der die Speichereinrichtung als Reaktion auf eine Anforderung von einem Host 2000 steuern kann, enthalten.
  • Die Speichereinrichtung 1100 kann als Reaktion auf die Steuerung des Speicher-Controllers 1200 arbeiten. Die Speichereinrichtung 1100 kann eine Vielzahl von Speicherblöcken enthalten, die Daten speichern. Die Speicherblöcke können eine Vielzahl von Speicherzellen enthalten. Die Speichereinrichtung 1100 kann aus einem NAND-Flash-Speicher, einem vertikalen NAND-Flash-Speicher, einem NOR-Flash-Speicher, einem resistiven Random Access Memory (RRAM), einem Phasenänderungsspeicher (PRAM), einem magnetoresistiven Random Access Memmory (MRAM), einem ferroelektrischen Random Access Memory (FRAM), einem Spin-Transfer-Drehmoment-Random Access Memory (STT-RAM) oder dergleichen konfiguriert sein. In der vorliegenden Spezifikation wird davon ausgegangen, dass die Speichereinrichtung 1100 ein NAND-Flash-Speicher ist.
  • Der Speicher-Controller 1200 kann die Speichereinrichtung 1100 als Reaktion auf eine Anfrage bzw. An- oder Aufforderung von dem Host 2000 steuern und kann eine Hintergrundoperation zum Verwalten der Speichereinrichtung 1100 ohne die Anfrage von dem Host 2000 durchführen. Beispielsweise kann der Speicher-Controller 1200 eine Hintergrundoperation wie Abnutzungsausgleich (Wear Leveling) oder Freispeichersammlung (Garbage Collection) durchführen.
  • Der Speicher-Controller 1200 kann Firmware wie beispielsweiseeine Flash-Übersetzungsschicht (Flash Translation Layer; FTL) zum Steuern der Kommunikation zwischen dem Host 2000 und der Speichereinrichtung 1100 vollziehen. Die Flash-Übersetzungsschicht kann Daten und eine logische Blockadresse von dem Host 2000 empfangen und kann die logische Blockadresse in eine physikalische Blockadresse umwandeln. Zu diesem Zweck kann der Speicher-Controller 1200 eine logischphysikalische Adresszuordnungstabelle der logischen Blockadresse und der physikalischen Adresse speichern und verwalten.
  • Der Speicher-Controller 1200 kann die Speichereinrichtung 1100 steuern, dass eine Programmoperation, eine Leseoperation, eine Löschoperation oder dergleichen gemäß einer Anfrage von dem Host 2000 durchführt wird. Während der Programmoperation kann der Speicher-Controller 1200 einen Programmbefehl, die physikalische Blockadresse und Daten an der Speichereinrichtung 1100 bereitstellen. Während der Leseoperation kann der Speicher-Controller 1200 einen Lesebefehl und die physikalische Blockadresse an der Speichereinrichtung 1100 bereitstellen. Während der Löschoperation kann der Speicher-Controller 1200 einen Löschbefehl und die physikalische Blockadresse an der Speichereinrichtung 1100 bereitstellen.
  • Der Speicher-Controller 1200 kann einen Pufferspeicher (nicht gezeigt) für das Austauschen von Daten zwischen dem Host 2000 und der Speichereinrichtung 1100 enthalten. Der Pufferspeicher kann innerhalb des Speicher-Controllers 1200 enthalten sein oder außerhalb des Speicher-Controllers 1200 angeordnet werden. Beispielsweise kann der Speicher-Controller 1200 die Dateneingabe von dem Host 2000 vorübergehend in dem Pufferspeicher speichern und dann die in dem Pufferspeicher vorübergehend gespeicherten Daten an die Speichereinrichtung 1100 übertragen. Darüber hinaus kann der Pufferspeicher als Operationsspeicher und Cache-Speicher des Speicher-Controllers 1200 verwendet werden und kann Codes oder Befehle speichern, die von dem Speicher-Controller 1200 vollzogen werden. Beispielsweise kann der Pufferspeicher durch einen dynamischen Random Access Memory (DRAM), wie einem Doppel-Datenrate-Synchron-Dynamic Random Access Memory (DDR-SDRAM), einem DDR4-SDRAM, einem Niedrigleistung-Doppel-Datenrate4-(LPDDR4)-SDRAM, einem Grafik-Doppel-Datenrate-(GDDR)-SDRAM, einem Niedrigleistung-DDR (LPDDR) oder einem Rambus-Dynamic-Random Access Memory (DRAM) oder einem statischen Random Access Memory (SRAM) implementiert werden.
  • In der vorliegenden Ausführungsform kann der Speicher-Controller 1200 einen Auffrischungscontroller 1300 enthalten, um die in der Speichereinrichtung 1100 gespeicherten Daten aufrechtzuerhalten. Das heißt, der Speicher-Controller 1200 kann verschiedene Auffrischungsbefehle ausgeben, so dass die Speichereinrichtung 1100 die Auffrischungsoperation durchführen kann, und zu diesem Zeitpunkt kann der Auffrischungscontroller 1300 verwendet werden.
  • Eine Konfiguration des Speicher-Controllers 1200, die in der Lage ist, die voranstehend beschriebene Auffrischungsoperation zu steuern, wird nachstehend speziell beschrieben.
  • 2 ist ein Diagramm zum spezifischen Beschreiben eines Auffrischungscontrollers gemäß einer Ausführungsform der vorliegenden Offenbarung.
  • Wie in 2 dargestellt, kann der Auffrischungscontroller 1300 einen automatischen Auffrischungscontroller 1310 und einen Selbstauffrischungscontroller 1320 enthalten.
  • Der automatische Auffrischungscontroller 1310 kann einen automatischen Auffrischungsbefehl CMD_AR ausgeben, der die Speichereinrichtung 1100 veranlasst, eine Auffrischungsoperation für einen ausgewählten Speicherblock durchzuführen. Mit anderen Worten, der automatische Auffrischungsbefehl CMD_AR kann ein Befehl zum Durchführen einer Auffrischungsoperation für einen ausgewählten Zielblock sein.
  • Daher kann die Steuereinrichtung 1100 die Auffrischungsoperation nach dem Durchführen der Auffrischungsoperation für den Zielblock, der ein Auffrischungszielblock ist, als Reaktion auf den automatischen Auffrischungsbefehl CMD_AR, beenden. Hier kann der Zielblock als Opferblock bezeichnet werden, aber in der folgenden Ausführungsform wird der Auffrischungszielblock als Zielblock definiert.
  • Der automatische Auffrischungscontroller 1310 kann aktiviert werden, wenn die Hintergrundoperation durchgeführt wird oder wenn sich die Speichereinrichtung 1100 in einem Ruhezustand befindet. Zu diesem Zweck kann der automatische Auffrischungscontroller 1310 eine Statusbestimmungseinrichtung 1311 zum Bestimmen eines Status d.h. eines Zustands der Speichereinrichtung 1100 enthalten. Beispielsweise kann die Statusbestimmungseinrichtung 1311 ein Statusprüfsignal an die Speichereinrichtung 1100 ausgeben. Wenn das von der Speichereinrichtung 1100 empfangene Statussignal anzeigt, dass sich alle Statussignale in dem Ruhezustand befinden, kann die Statusbestimmungseinrichtung 1311 ein automatisches Auffrischungsfreigabesignal d.h. ein Signal für eine automatische Auffrischungsoperation zum Durchführen der automatischen Auffrischungsoperation erzeugen. Der automatische Auffrischungscontroller 1310 kann den automatischen Auffrischungsbefehl CMD_AR an die Speichereinrichtung 1100 ausgeben, wenn die Statusbestimmungseinrichtung 1311 das automatische Auffrischungsfreigabesignal erzeugt.
  • Der Selbstauffrischungscontroller 1320 kann einen Selbstauffrischungsbefehl CMD_SR und einen Auffrischungsendbefehl CMD_FIN ausgeben. Der Selbstauffrischungsbefehl CMD_SR kann ein Befehl sein, der die Speichereinrichtung 1100 veranlasst, eine Auffrischungsoperation durchzuführen, während die Speicherblöcke selbst ohne einen zusätzlichen Auffrischungsbefehl ausgewählt werden, und der Auffrischungsendbefehl CMD_FIN kann ein Befehl zum Beenden der von der Speichereinrichtung 1100 durchgeführten Selbstauffrischungsoperation sein. Beispielsweise kann die Speichereinrichtung 1100 nach dem Durchführen der Auffrischungsoperation für den Zielblock als Reaktion auf den Selbstauffrischungsbefehl CMD_SR einen nächsten Zielblock neu auswählen, auch wenn kein zusätzlicher Auffrischungsbefehl von dem Speichercontroller 1300 empfangen wird, und kann eine Auffrischungsoperation für den neu ausgewählten Zielblock selbst durchführen. Das heißt, die Speichereinrichtung 1100 kann die Auffrischungsoperation kontinuierlich durchführen, während sie den Zielblock ändert, bis sie den Auffrischungsendbefehl CMD_FIN von einem Selbstauffrischungscontroller 1320 empfängt. Der Selbstauffrischungscontroller 1320 kann den Auffrischungsendbefehl CMD_FIN ausgeben, wenn eine normale Operationsanfrage von dem Host 2000 aus 1 empfangen wird oder wenn eine andere Hintergrundoperation durchgeführt werden soll.
  • Der Selbstauffrischungscontroller 1320 kann auch aktiviert werden, wenn sich die Speichereinrichtung 1100 in dem Ruhezustand befindet, und kann daher die Statusbestimmungseinrichtung, die in dem automatischen Auffrischungscontroller 1310 enthalten ist, teilen.
  • Wenn beispielsweise eine andere Hintergrundoperation als die Auffrischungsoperation nicht durchgeführt wird, kann der Auffrischungscontroller 1300 den Selbstauffrischungscontroller 1320 aktivieren. Wenn eine andere Hintergrundoperation durchgeführt wird, ist die Zeit, während der die Auffrischungsoperation durchgeführt wird, kurz, und daher kann der Auffrischungscontroller 1300 den Selbstauffrischungscontroller 1310 aktivieren.
  • 3 zeigt den Auffrischungscontroller 1300, der sowohl den automatischen Auffrischungscontroller 1310 als auch den Selbstauffrischungscontroller 1320 enthält. Der Auffrischungscontroller 1300 kann jedoch nur den automatischen Auffrischungscontroller 1310 und den Selbstauffrischungscontroller 1320 gemäß dem Speichersystem 1000 aus 1 in einer Ausführungsform enthalten.
  • 3 ist ein Diagramm zum spezifischen Beschreiben einer Speichereinrichtung gemäß einer ersten Ausführungsform der vorliegenden Offenbarung.
  • Unter Bezugnahme auf 3 zeigt die erste Ausführungsform einen Speicherbaustein 1100, der in der Lage ist, als Reaktion auf einen automatischen Auffrischungsbefehl CMD_AR eine Auffrischungsoperation durchzuführen.
  • Die Speichereinrichtung 1100 kann ein Speicherzellen-Array 100, eine Steuerlogik 200, eine Betriebsschaltung 300 und eine temporäre Pufferschaltung 400 enthalten.
  • Das Speicherzellen-Array 100 kann die ersten bis z-ten Speicherblöcke BLK1 bis BLKz enthalten, in denen Daten gespeichert werden. Jeder der ersten bis z-ten Speicherblöcke BLK1 bis BLKz kann eine Vielzahl von Speicherzellen enthalten und konfiguriert sein, um einander gleich zu sein. Jeder beliebige Block der ersten bis z-ten Speicherblöcke BLK1 bis BLKz kann als Zielblock T_BLK ausgewählt werden und ein anderer Block kann als Pufferblock B_BLK ausgewählt werden. Der Zielblock T_BLK kann ein Speicherblock sein, an dem eine Auffrischungsoperation durchgeführt werden soll, und der Pufferblock B_BLK kann ein Speicherblock sein, der in der Lage ist, Daten des Zielblocks T_BLK während der Auffrischungsoperation des Zielblocks T_BLK vorübergehend zu speichern. Daher kann eine Adresse des Zielblocks T_BLK während der Auffrischungsoperation variabel sein, und eine Adresse des Pufferblocks B_BLK kann für die Auffrischungsoperation festgesetzt d.h. festgelegt werden. Das heißt, jeder beliebige Block für die Auffrischungsoperation unter den ersten bis z-ten Speicherblöcken BLK1 bis BLKz kann als Pufferblock B_BLK festgelegt werden.
  • Die Steuerlogik 200 kann konfiguriert werden, um Steuersignale zum Durchführen einer automatischen Auffrischungsoperation als Reaktion auf einen automatischen Auffrischungsbefehl CMD_AR auszugeben. Spezifisch kann die Steuerlogik 200 einen Zielblockmanager 210, einen Datenübertragungscontroller 220 und einen Blocklösch-Controller 230 enthalten. Darüber hinaus kann die Steuerlogik 200 auch eine Konfiguration zum Ausführen einer normalen Programm-, Lese- oder Löschoperation enthalten. Die Steuerlogik 200 kann als Hardware, Software oder als eine Kombination aus Hardware und Software implementiert werden. Beispielsweise kann die Steuerlogik 200 eine Steuerlogikschaltung sein, die in Übereinstimmung mit einem Algorithmus und/oder einem Prozessor, der Steuerlogikcodevollzieht, arbeitet.
  • Der Zielblockmanager 210 kann ein Auffrischungssignal zum Starten der Auffrischungsoperation ausgeben, wenn der automatische Auffrischungsbefehl CMD_AR empfangen wird. Der Datenübertragungscontroller 220 kann während der Auffrischungsoperation ein Übertragungssignal TRAN und ein Puffersteuersignal B_SIG zum Lesen von Daten des Zielblocks T_BLK oder des Pufferblocks B_BLK oder zum Programmieren von Daten in dem Zielblock T_BLK oder in dem Pufferblock B_BLK ausgeben. Der Blocklösch-Controller 230 kann während der Auffrischungsoperation ein Löschsignal ERA und das Puffersteuersignal B_SIG zum Löschen des Zielblocks T_BLK oder des Pufferblocks B_BLK ausgeben.
  • Die Betriebsschaltung 300 kann als Reaktion auf das Übertragungssignal TRAN oder das Löschsignal ERA Betriebsspannungen Vop zum Durchführen der Lese- oder Programmoperation erzeugen und ausgeben. Wenn beispielsweise während der Auffrischungsoperation Daten aus dem Zielblock T_BLK gelesen werden, kann die Betriebsschaltung 300 die Betriebsspannungen Vop zum Durchführen der Leseoperation an den Zielblock T_BLK übertragen. Beim Lesen von Daten aus dem Pufferblock B_BLK während der Auffrischungsoperation kann die Betriebsschaltung 300 die Betriebsspannungen Vop zum Durchführen der Leseoperation an den Pufferblock B_BLK übertragen. Beim Programmieren von Daten in dem Zielblock T_BLK während der Auffrischungsoperation kann die Betriebsschaltung 300 die Betriebsspannungen Vop zum Durchführen der Programmoperation an den Zielblock T_BLK übertragen. Beim Programmieren von Daten in dem Pufferblock B_BLK während der Auffrischungsoperation kann die Betriebsschaltung 300 die Betriebsspannungen Vop zum Durchführen der Programmoperation an den Pufferblock B_BLK übertragen.
  • Die temporäre Pufferschaltung 400 kann erste bis m-te Seitenpuffer PB1 bis PBm enthalten. Die ersten bis m-ten Seitenpuffer PB1 bis PBm können über Bitleitungen mit den ersten bis z-ten Speicherblöcken BLK1 bis BLKz verbunden werden, um Daten DATA zu senden und zu empfangen. Beispielsweise können die ersten bis m-ten Seitenpuffer PB1 bis PBm als Reaktion auf das Puffersteuersignal B_SIG während der Auffrischungsoperation die aus dem Zielblock T_BLK gelesenen Daten vorübergehend speichern und die vorübergehend gespeicherten Daten an den Pufferblock B_BLK übertragen. Im Gegensatz dazu kann der erste bis m-te Seitenpuffer PB1 bis PBm als Reaktion auf das Puffersteuersignal B_SIG während der Auffrischungsoperation die aus dem Pufferblock B_BLK gelesenen Daten vorübergehend speichern und die vorübergehend gespeicherten Daten an den Zielblock T_BLK übertragen.
  • Ein Betriebsverfahren der voranstehend beschriebenen Geräte während der Auffrischungsoperation wird nachstehend spezifisch beschrieben.
  • 4 ist ein Diagramm zum spezifischen Beschreiben der in 3 dargestellten Steuerungslogik und einem Verfahren zum Betreiben derselben.
  • Unter Bezugnahme auf 4 kann der Zielblockmanager 210 die Adresse des Zielblocks T_BLK speichern. Wenn der automatische Auffrischungsbefehl CMD_AR empfangen wird, kann der Zielblockmanager 210 ein Auffrischungssignal REF_S ausgeben, um die automatische Auffrischungsoperation zusammen mit der Adresse (nachstehend als Zielblockadresse bezeichnet) des Zielblocks T_BLK durchzuführen. Die Zielblockadresse kann auf eine Adresse eines Blocks neben einem Block festgelegt werden, an dem die Auffrischungsoperation durchgeführt wird. Beispielsweise kann die Zielblockadresse sequentiell in Übereinstimmung mit einer vorgegebenen Reihenfolge oder entsprechend dem aktuellen Zustand der Speicherblöcke ausgewählt werden. Wenn beispielsweise die automatische Auffrischungsoperation für einen ersten Speicherblock BLK1 durchgeführt wird, kann eine Adresse eines zweiten Speicherblocks BLK2, der ein nächstes Auffrischungsziel ist, als eine Zielblockadresse festgelegt werden, wenn die automatische Auffrischungsoperation für den ersten Speicherblock BLK1 beendet ist. Daher kann der Zielblockmanager 210, wenn der automatische Auffrischungsbefehl CMD-AR empfangen wird, das Auffrischungssignal REF_S zum Auffrischen des Speicherblocks, der einer im Voraus festgelegten Zielblockadresse entspricht, ausgeben.
  • Der Datenübertragungscontroller 220 kann als Reaktion auf das Auffrischungssignal REF_S (①) die Daten, die in dem Zielblock T_BLK gespeichert sind, an die temporäre Pufferschaltung 400 übertragen und ein erstes Übertragungssignal 1TRAN und das Puffersteuersignal B_SIG zum Übertragen (②) der Daten, die vorübergehend in der temporären Pufferschaltung 400 gespeichert sind, an den Pufferblock B_BLK ausgeben. Beispielsweise kann das erste Übertragungssignal 1TRAN ein Signal zum Lesen der Daten des Zielblocks T_BLK und dann zum Programmieren der Daten, die vorübergehend in der temporären Pufferschaltung 400 gespeichert sind, an den Pufferblock B_BLK sein, und das Puffersteuersignal B_SIG kann ein Signal zum Erfassen und vorübergehenden Speichern der Daten des Zielblocks T_BLK und dann zum Übertragen der vorübergehend gespeicherten Daten an den Pufferblock B_BLK sein.
  • Nachdem die Betriebsschaltung 300 die Betriebsspannungen Vop zum Lesen des Zielblocks T_BLK als Reaktion auf das erste Übertragungssignal 1TRAN ausgegeben hat, kann die Betriebsschaltung 300 die Betriebsspannungen Vop zum Programmieren der Daten des Zielblocks T_BLK, die in der temporären Pufferschaltung 400 vorübergehend gespeichert sind, an den Pufferblock B_BLK ausgeben. Das heißt, die Betriebsschaltung 300 kann als Reaktion auf das erste Übertragungssignal 1TRAN die Betriebsspannungen Vop zum Rückkopieren der Daten, die in dem Zielblock T_BLK gespeichert sind, in den Pufferblock B_BLK ausgeben. Beispielsweise können die Betriebsspannungen Vop, die als Reaktion auf das erste Übertragungssignal 1TRAN ausgegeben werden, eine Lesespannung, eine Lesebestätigungsspannung bzw. Lesepassspannung, eine Programmspannung, eine Programmbestätigungsspannung d.h. Programmpassspannung und eine Programmprüfspannung enthalten.
  • Wenn alle in dem Zielblock T_BLK gespeicherten Daten gemäß dem ersten Übertragungssignal 1TRAN und dem Puffersteuersignal B_SIG an den Pufferblock B_BLK übertragen sind, kann der Datenübertragungscontroller 220 ein erstes Übertragungsendsignal 1FIN_T an den Blocklösch-Controller 230 ausgeben.
  • Der Blocklösch-Controller 230 kann ein erstes Löschsignal 1ERA und das Puffersteuersignal B_SIG zum Löschen (③) des Zielblocks T_BLK ausgeben, wenn das erste Übertragungsendsignal 1FIN_T eingegeben wird.
  • Die Betriebsschaltung 300 kann als Reaktion auf das erste Löschsignal 1ERA die Betriebsspannungen Vop zum Löschen des Zielblocks T_BLK ausgeben. Beispielsweise können die Betriebsspannungen Vop, die als Reaktion auf das erste Löschsignal 1ERA ausgegeben werden, eine Löschspannung, eine Löschbestätigungsspannung und eine Löschprüfspannung enthalten. Alternativ kann die Betriebsschaltung 300 je nach Verfahren, nach dem die Löschoperation durchgeführt wird, alle Wortleitungen auf Masse legen oder eine Spannung von 0 V an die Wortleitungen anlegen, statt dessen kann die Betriebsschaltung 300 die Betriebsspannungen Vop nicht an die mit dem Zielblock T_BLK verbundenen Wortleitungen anlegen.
  • Wenn der Zielblock T_BLK entsprechend dem ersten Löschsignal 1ERA und dem Puffersteuersignal B_SIG gelöscht wird, kann der Blocklösch-Controller 230 ein Löschendsignal FIN_E an den Datenübertragungscontroller 220 ausgeben.
  • Der Datenübertragungscontroller 220 kann als Reaktion auf das Löschendsignal FIN_E (@) die in dem Pufferblock B_BLK gespeicherten Daten an die temporäre Pufferschaltung 400 übertragen und ein zweites Übertragungssignal 2TRAN und das Puffersteuersignal B_SIG zum Übertragen (⑤) der in der temporären Pufferschaltung 400 vorübergehend gespeicherten Daten an den Zielblock T_BLK ausgeben. Beispielsweise kann das zweite Übertragungssignal 2TRAN ein Signal zum Lesen der Daten des Pufferblocks B_BLK und dann zum Programmieren der Daten sein, die vorübergehend in der temporären Pufferschaltung 400 zum Zielblock T_BLK gespeichert sind, und das Puffersteuersignal B_SIG kann ein Signal zum Erfassen und vorübergehenden Speichern der Daten des Pufferblocks B_BLK und dann zum Übertragen der vorübergehend gespeicherten Daten zum Zielblock T_BLK sein.
  • Nachdem die Betriebsschaltung 300 die Betriebsspannungen Vop zum Lesen des Pufferblocks B_BLK als Reaktion auf das zweite Übertragungssignal 2TRAN ausgegeben hat, kann die Betriebsschaltung 300 die Betriebsspannungen Vop zum Programmieren der Daten des Pufferblocks B_BLK, die vorübergehend in der temporären Pufferschaltung 400 gespeichert sind, an den Zielblock T_BLK ausgeben. Das heißt, die Betriebsschaltung 300 kann als Reaktion auf das zweite Übertragungssignal 2TRAN die Betriebsspannungen Vop zum Rückkopieren der in dem Pufferblock B_BLK gespeicherten Daten in den Zielblock T_BLK ausgeben. Beispielsweise können die Betriebsspannungen Vop, die als Reaktion auf das zweite Übertragungssignal 2TRAN ausgegeben werden, eine Lesespannung, eine Lesebestätigungsspannung, eine Programmspannung, eine Programmbestätigungsspannung und eine Programm-Verifikations- d.h. Prüfspannung enthalten.
  • Wenn alle in dem Pufferblock B_BLK gespeicherten Daten gemäß dem zweiten Übertragungssignal 2TRAN und dem Puffersteuersignal B_SIG an den Zielblock T_BLK übertragen sind, kann der Datenübertragungscontroller 220 ein zweites Übertragungsendsignal 2FIN_T an den Blocklösch-Controller 230 ausgeben.
  • Der Blocklösch-Controller 230 kann ein zweites Löschsignal 2ERA und das Puffersteuersignal B_SIG zum Löschen (⑥) des Pufferblocks B_BLK ausgeben, wenn das zweite Übertragungsendsignal 2FIN_T eingegeben wird.
  • Die Betriebsschaltung 300 kann als Reaktion auf das zweite Löschsignal 2ERA die Betriebsspannungen Vop zum Löschen des Pufferblocks B_BLK ausgeben. Beispielsweise können die Betriebsspannungen Vop, die als Reaktion auf das zweite Löschsignal 2ERA ausgegeben werden, eine Löschspannung, eine Löschdurchlaufspannung und eine Löschverifizierungsspannung enthalten. Alternativ kann die Betriebsschaltung 300 je nach Verfahren, nach welcher die Löschoperation durchgeführt wird, alle Wortleitungen auf Masse legen oder eine Spannung von 0 V an die Wortleitungen anlegen, statt dessen kann die Betriebsschaltung 300 die Betriebsspannungen Vop nicht an die mit dem Zielblock T_BLK verbundenen Wortleitungen anlegen.
  • Wenn der Pufferblock B_BLK gemäß dem zweiten Löschsignal 2ERA und dem Puffersteuersignal B_SIG gelöscht wird, kann der Blocklösch-Controller 230 ein Adresszählsignal ADD_C an einen Zielblockmanager 210 ausgeben.
  • Wenn das Adresszählsignal ADD_C eingegeben wird, kann der Zielblockmanager 210 die Adresse des Blocks, für die die Auffrischungsoperation beendet wurde, auf eine Adresse des nächsten Blocks aktualisieren und dann die automatische Auffrischungsoperation beenden.
  • 5A und 5B sind Diagramme zum Beschreiben einer Auffrischungsoperation einer Speichereinrichtung mit einer Ebene.
  • 5A zeigt eine Auffrischungsoperation, die in der gleichen Ebene durchgeführt wurde, und 5B zeigt eine Position, an der Daten vor und nach der Auffrischungsoperation gespeichert werden.
  • Unter Bezugnahme auf 5A kann das Speicherzellen-Array 110 eine Ebene enthalten, und die Ebene kann eine Vielzahl von Speicherblöcken enthalten. In 5A sind die ersten bis sechsten Speicherblöcke BLK1 bis BLK6 in der Ebene enthalten, aber die Anzahl der Speicherblöcke, die in der Ebene enthalten sind, ist nicht darauf beschränkt. Jeder der ersten bis sechsten Speicherblöcke BLK1 bis BLK6 kann eine Vielzahl von Seiten enthalten, und jede der Seiten kann eine Vielzahl von Speicherzellen enthalten.
  • In 5A wird angenommen, dass der erste bis fünfte Speicherblock BLK1 bis BLK5 Speicherblöcke zum Speichern von Daten sind und der sechste Speicherblock BLK6 ein Speicherblock ist, der zum Durchführen einer Auffrischungsoperation zugewiesen ist. Das heißt, der sechste Speicherblock BLK6, der zum Durchführen der Auffrischungsoperation zugewiesen ist, kann der Pufferblock B_BLK aus 4 sein. Daher kann der sechste Speicherblock BLK6 den Löschstatus bevor die Auffrischungsoperation durchgeführt wurde und nachdem die Auffrischungsoperation durchgeführt wurde, beibehalten.
  • Wenn der vierte Speicherblock BLK4 unter dem ersten bis fünften Speicherblock BLK1 bis BLK5 der Zielblock T_BLK von 4 ist, können die Daten, die in dem vierten Speicherblock BLK4 gespeichert sind, ein vierter Auffrischungsdatenblock REF_Data4 sein. Unter Bezugnahme auf 4 und 5A wird eine Auffrischungsoperation des vierten Speicherblocks BLK 4 spezifisch nachstehend beschrieben.
  • Der Datenübertragungscontroller 220 kann als Reaktion auf das Auffrischungssignal REF_S (①) vierte Auffrischungsdaten, die in dem vierten Speicherblock BLK4 gespeichert sind, an die temporäre Pufferschaltung 400 übertragen und kann ein erstes Übertragungssignal 1TRAN und ein Puffersteuersignal B_SIG zum Übertragen (②) der Daten, die in der temporären Pufferschaltung 400 vorübergehend gespeichert sind, an den sechsten Speicherblock BLK6 ausgeben.
  • Nachdem die Betriebsschaltung 300 als Reaktion auf das erste Übertragungssignal 1TRAN Betriebsspannungen Vop zum Lesen des vierten Speicherblocks BLK4 ausgibt, kann die Betriebsschaltung 300 Betriebsspannungen Vop zum Programmieren der Daten des vierten Speicherblocks BLK4, die vorübergehend in der temporären Pufferschaltung 400 gespeichert sind, an den sechsten Speicherblock BLK6 ausgeben. Das heißt, die Betriebsschaltung 300 kann als Reaktion auf das erste Übertragungssignal 1TRAN die Betriebsspannungen Vop zum Rückkopieren der Daten, die in dem vierten Speicherblock BLK4 gespeichert sind, in den sechsten Speicherblock BLK6 ausgeben. Beispielsweise können die Betriebsspannungen Vop, die als Reaktion auf das erste Übertragungssignal 1TRAN ausgegeben werden, eine Lesespannung, eine Lesebestätigungsspannung, eine Programmspannung, eine Programmbestätigungsspannung und eine Programmverifikationsspannung enthalten.
  • Wenn alle in dem vierten Speicherblock BLK4 gespeicherten Daten entsprechend dem ersten Übertragungssignal 1TRAN und dem Puffersteuersignal B_SIG an den sechsten Speicherblock BLK6 übertragen werden, kann der Datenübertragungscontroller 220 ein erstes Übertragungsendsignal 1FIN_T an den Blocklösch-Controller 230 ausgeben.
  • Wenn der vierte Speicherblock BLK4 gelöscht wird, kann der Blocklösch-Controller 230 ein Löschendsignal FIN_E an den Datenübertragungscontroller 220 ausgeben. Die Datenübertragungssteuerung 220 kann die in dem sechsten Speicherblock BLK6 gespeicherten Daten als Reaktion auf das Löschendsignal FIN_E (③) an die temporäre Pufferschaltung 400 übertragen und ein zweites Übertragungssignal 2TRAN und das Puffersteuersignal B_SIG zum Übertragen (@) der in der temporären Pufferschaltung 400 vorübergehend gespeicherten Daten an den vierten Speicherblock BLK4 ausgeben.
  • Nachdem die Betriebsschaltung 300 die Betriebsspannungen Vop zum Lesen des sechsten Speicherblocks BLK6 als Reaktion auf das zweite Übertragungssignal 2TRAN ausgegeben hat, kann die Betriebsschaltung 300 die Betriebsspannungen Vop zum Programmieren der Daten des sechsten Speicherblocks BLK6, die vorübergehend in der temporären Pufferschaltung 400 gespeichert sind, an den vierten Speicherblock BLK4 ausgeben. Das heißt, die Betriebsschaltung 300 kann als Reaktion auf das zweite Übertragungssignal 2TRAN die Betriebsspannungen Vop zum Rückkopieren der in dem vierten Speicherblock BLK4 gespeicherten Daten in den sechsten Speicherblock BLK6 ausgeben. Beispielsweise können die Betriebsspannungen Vop, die als Reaktion auf das zweite Übertragungssignal 2TRAN ausgegeben werden, eine Lesespannung, eine Lesebestätigungsspannung, eine Programmspannung, eine Programmbestätigungsspannung und eine Programmverifikationsspannung enthalten.
  • Wenn alle Daten, die in dem sechsten Speicherblock BLK6 gespeichert sind, entsprechend dem zweiten Übertragungssignal 2TRAN und dem Puffersteuersignal B_SIG über die temporäre Pufferschaltung 400 an den vierten Speicherblock BLK4 übertragen sind, kann der Datenübertragungscontroller 220 ein zweites Übertragungsendsignal 2FIN_T an den Blocklösch-Controller 230 ausgeben.
  • Der Blocklösch-Controller 230 kann ein zweites Löschsignal 2ERA und das Puffersteuersignal B_SIG zum Löschen des sechsten Speicherblocks BLK6 ausgeben, wenn das zweite Übertragungsendsignal 2FIN_T eingegeben wird.
  • Die Betriebsschaltung 300 kann Betriebsspannungen Vop zum Löschen des sechsten Speicherblocks BLK6 als Reaktion auf das zweite Löschsignal 2ERA ausgeben. Beispielsweise können die Betriebsspannungen Vop, die als Reaktion auf das zweite Löschsignal 2ERA ausgegeben werden, eine Löschspannung, eine Löschbestätigungsspannung (Erase Pass Voltage) und eine Löschverifizierungsspannung enthalten. Alternativ kann die Betriebsschaltung 300 je nach Verfahren, nach welchem die Löschoperation durchgeführt wird, alle Wortleitungen in einen Schwebungszustand versetzen oder kann eine Spannung von 0 V an die Wortleitungen anlegen, statt dessen die Betriebsschaltung 300 die Betriebsspannungen Vop nicht an die Wortleitungen, die mit dem vierten Speicherblock BLK4 verbunden sind, anlegen kann.
  • Wenn der sechste Speicherblock BLK6 gemäß dem zweiten Löschsignal 2ERA und dem Puffersteuersignal B_SIG gelöscht wird, kann der Blocklösch-Controller 230 ein Adresszählsignal ADD_C an einen Zielblockmanager 210 ausgeben.
  • Wenn das Adresszählsignal ADD_C eingegeben wird, kann der Zielblockmanager 210 die Adresse des Blocks, für den die Auffrischungsoperation beendet wurde, auf eine Adresse des nächsten Blocks aktualisieren und dann die automatische Auffrischungsoperation beenden.
  • Bei der bestehenden Auffrischungsoperation werden die Daten, die in dem Zielblock T-BLK programmiert sind, gelesen und an den Speicher-Controller ausgegeben, und dann wird die Programmoperation auf dem Zielblock unter Verwendung der in den Speicher-Controller gelesenen Daten ausgeführt. Bei der Auffrischungsoperation gemäß der vorliegenden Ausführungsform werden die in dem Zielblock T_BLK programmierten Daten jedoch vorübergehend in dem Pufferblock B_BLK gespeichert, ohne an den Speicher-Controller ausgegeben zu werden, und dann können die in den Pufferblock B_BLK programmierten Daten neu programmiert werden.
  • Infolgedessen kann die Auffrischungsoperation gemäß der vorliegenden Offenbarung innerhalb der Speichereinrichtung ohne Dateneingabe und -ausgabe zwischen der Speichereinrichtung und dem Speicher-Controller durchgeführt werden. Daher erzeugt der Speicher-Controller keine Mapping-Daten d.h. Abbildungsdaten zur Neuprogrammierung der Daten, die auf den Zielblock programmiert sind. Somit entstehen keine Kosten zum Erzeugen und Verwalten der Abbildungsdaten während der Auffrischungsoperation.
  • 6 ist ein Diagramm zum Beschreiben eines Verfahrens zum Verwalten einer Zielblockadresse, die in einem Zielblockmanager gespeichert ist.
  • Unter Bezugnahme auf 6 kann der Zielblockmanager 210 eine Zielblockadresse speichern und aktualisieren. Wenn beispielsweise eine Adresse eines ersten Speicherblocks BLK1 als Zielblockadresse gespeichert wird, kann eine Auffrischungsoperation auf dem ersten Speicherblock BLK1 durchgeführt werden. Wenn die Auffrischungsoperation des ersten Speicherblocks BLK1 beendet ist, kann der Zielblockmanager 210 die Zielblockadresse von dem ersten Speicherblock BLK1 in eine Adresse des zweiten Speicherblocks BLK2 ändern. Bei der automatischen Auffrischungsoperation gemäß der ersten Ausführungsform kann nur eine Auffrischungsoperation für einen ausgewählten Zielblock T_BLK durchgeführt werden. Wenn die Auffrischungsoperation des ausgewählten Zielblocks T_BLK beendet ist, kann daher nur die Zielblockadresse auf die Adresse des Speicherblocks BLK2 für die nächste Auffrischungsoperation aktualisiert werden und die automatische Auffrischungsoperation beendet werden.
  • Die Zielblockadresse für die nächste Auffrischungsoperation kann sequentiell in Übereinstimmung mit einer vorgegebenen Reihenfolge ausgewählt werden, kann jedoch unter Berücksichtigung des aktuellen Zustands der Speicherblöcke, die in der Speichereinrichtung enthalten sind, ausgewählt werden. Beispielsweise kann unter der Vielzahl von Speicherblöcken, die in der Speichereinrichtung enthalten sind, eine Adresse eines Speicherblocks, an dem die nächste Auffrischung durchgeführt werden soll, als nächste Zielblockadresse ausgewählt werden, basierend auf einer Zeit, zu der die Programmoperation durchgeführt wird. Spezifischer gesagt kann die Adresse des Speicherblocks in der Reihenfolge einer verstrichenen Zeit ab einem Zeitpunkt, zu dem die Programmoperation ausgeführt wird, ausgewählt werden.
  • 7 ist ein Diagramm zum Beschreiben eines Speicherzellen-Arrays mit mehreren Ebenen. Unter Bezugnahme auf 7 kann das Speicherzellen-Array 100 einer ausgewählten Speichereinrichtung eine Vielzahl von Ebenen Ebene 1 (Plane1), Ebene 2 (Plane2), Ebene 3 (Plane3) und Ebene 4 (Plane4) enthalten. Wenn das Speicherzellen-Array 100 beispielsweise die erste bis vierte Ebene Ebene 1, Ebene 2, Ebene 3 und Ebene 4 umfasst, kann ein Pufferblock B_BLK auf jede der ersten bis vierten Ebenen Ebene 1, Ebene 2, Ebene 3 und Ebene 4 gesetzt werden oder in mindestens einer Ebene der ersten bis vierten Ebene Ebene 1, Ebene 2, Ebene 3 und Ebene 4 gesetzt werden. Wenn beispielsweise jede der ersten bis vierten Ebenen Ebene 1, Ebene 2, Ebene 3 und Ebene 4 einen ersten bis sechsten Speicherblock BLK1 bis BLK6 enthält, können der erste bis fünfte Speicherblock BLK1 bis BLK5 zum Speichern normaler Daten (oder Benutzerdaten) und der sechste Speicherblock BLK6 zum vorübergehenden Speichern von Daten eines Zielblocks T_BLK während einer Auffrischungsoperation verwendet werden. Daher kann der Pufferblock B_BLK immer in einem Löschstatus aufrechterhalten werden, bevor die Auffrischungsoperation durchgeführt wird.
  • Wenn sich der Zielblock T_BLK und der Pufferblock B_BLK in derselben Ebene befinden, können Daten mit Hilfe der temporären Pufferschaltung 400 übertragen werden, die gemeinsam mit dem Zielblock T_BLK und dem Pufferblock B_BLK verbunden ist, wie voranstehend unter Bezugnahme auf 4 beschrieben.
  • Wenn der Zielblock T_BLK und der Pufferblock B_BLK in verschiedenen Ebenen enthalten sind, können Daten über verschiedene temporäre Pufferschaltungen übertragen werden. Das Datenübertragungsverfahren wird in diesem Fall nachstehend spezifisch beschrieben.
  • 8 und 9 sind Diagramme zum Beschreiben einer Auffrischungsoperation einer Speichereinrichtung mit einer Vielzahl von Ebenen.
  • Unter Bezugnahme auf 8 wird die Konfiguration eines Speicherzellen-Arrays 100 mit mehreren Ebenen Ebene 1 und Ebene 2 (Ebene = Plane) und den temporären Pufferschaltungen 400_1 und 400_2 beschrieben, bevor die Aktualisierungsoperation beschrieben wird.
  • Eine erste temporäre Pufferschaltung 400_1 kann mit einer ersten Ebene Plane1 (Ebene 1) verbunden werden, und die erste temporäre Pufferschaltung 400_1 kann selektiv mit allen Speicherblöcken BLK1 bis BLK6 verbunden werden, die in der ersten Ebene Ebene1 enthalten sind. Die erste temporäre Pufferschaltung 400_1 kann als Reaktion auf ein Datenausgangssignal D_OUT Daten an die ersten Datenleitungen DL_a ausgeben.
  • Eine zweite temporäre Pufferschaltung 400_2 kann mit einer zweiten Ebene Plane2 verbunden werden, und die zweite temporäre Pufferschaltung 400_2 kann selektiv mit allen Speicherblöcken BLK1 bis BLK6 verbunden werden, die in der zweiten Ebene Plane2 enthalten sind. Die zweite temporäre Pufferschaltung 400_2 kann als Reaktion auf ein Dateneingangssignal D_IN Daten, die in zweite Datenleitungen DL-b geladen sind, vorübergehend speichern. Die ersten Datenleitungen DL_a und die zweiten Datenleitungen DL_b können miteinander verbunden sein.
  • In der voranstehend beschriebenen Struktur wird die Auffrischungsoperation unter der Annahme, dass der vierte Speicherblock BLK4 der ersten Ebene Ebene 1 (Plane 1) ein Zielblock T_BLK und der sechste Speicherblock BLK6 der zweiten Ebene Ebene 2 (Plane 2) ein Pufferblock B_BLK ist, nachstehend beschrieben.
  • Daten REF_Data4, die in dem vierten Speicherblock BLK4 der ersten Ebene Plane1 gespeichert sind, können an die erste temporäre Pufferschaltung 400_1 übertragen werden. Wenn beispielsweise das Datenausgangssignal D_OUT in die erste temporäre Pufferschaltung 400_1 eingegeben wird, kann die erste temporäre Pufferschaltung 400_1 die vorübergehend gespeicherten Daten REF_Data4 über die erste Datenleitung DL_a ausgeben.
  • Da die ersten Datenleitungen DL_a und die zweiten Datenleitungen DL_b miteinander verbunden sind, kann die zweite temporäre Pufferschaltung 400_2 als Reaktion auf das Dateneingangssignal D_IN die Daten REF_Data4, die in den zweiten Datenleitungen DL_b geladen sind, vorübergehend speichern.
  • Die in der zweiten temporären Pufferschaltung 400_2 vorübergehend gespeicherten Daten REF_Data4 können in den sechsten Speicherblock BLK6, der zu dem Pufferblock B_BLK der zweiten Ebene Plane2 korrespondiert, programmiert werden.
  • Als nächstes kann eine Löschoperation des vierten Speicherblocks BLK4, der in der ersten Ebene Plane1 (Ebene 1) enthalten ist, durchgeführt werden.
  • Unter Bezugnahme auf 9 können, wenn die Löschoperation des vierten Speicherblocks BLK4, der in der ersten Ebene Plane1 enthalten ist, beendet ist, die Daten REF_Data4, die in dem sechsten Speicherblock BLK6 der zweiten Ebene Plane2 programmiert sind, über die zweite temporäre Pufferschaltung 400_2, die zweiten Datenleitungen DL_b, die ersten Datenleitungen DL_a und die erste temporäre Pufferschaltung 400_1 wieder in den vierten Speicherblock BLK4, der ein Zielblock der ersten Ebene Plane1 ist, zurückkopiert werden.
  • Wenn die Daten REF_Data4 in dem vierten Speicherblock BLK4 der ersten Ebene Plane1 umprogrammiert werden, kann eine Löschoperation des sechsten Speicherblocks BLK6 entsprechend dem Pufferblock B_BLK der zweiten Ebene Plane2 durchgeführt werden.
  • 10 ist ein Diagramm zum spezifischen Beschreiben der Auffrischungsoperation gemäß der ersten Ausführungsform der vorliegenden Offenbarung.
  • Unter Bezugnahme auf 10, da die Auffrischungsoperation gemäß der ersten voranstehend beschriebenen Ausführungsform eine automatische Auffrischungsoperation ist, kann die Auffrischungsoperation beendet werden, wenn die Auffrischungsoperation eines ausgewählten Zielblocks abgeschlossen ist, ohne die Auffrischungsoperation des nächsten Blocks durchzuführen.
  • Daher kann die automatische Auffrischungsoperation wie nachstehend durchgeführt werden.
  • Wenn ein automatischer Auffrischungsbefehl von einem Speicher-Controller (S901) empfangen wird, kann ein Speicherbaustein Daten eines Zielblocks in eine temporäre Pufferschaltung (S902) lesen. Wenn es sich bei der Speichereinrichtung um eine nichtflüchtige Speichereinrichtung handelt, kann die Leseoperation in einer Seiteneinheit von Daten durchgeführt werden, die in dem Zielblock enthalten sind.
  • Im Anschluss an Schritt S902 können die Daten, die in der temporären Pufferschaltung gespeicherten sind, in einen Pufferblock (S903) programmiert werden.
  • Wenn die Daten in den Pufferblock programmiert werden (S903), kann eine Löschoperation des Zielblocks durchgeführt werden (S904).
  • Im Anschluss an Schritt S904 werden die Daten des Pufferblocks in die temporäre Pufferschaltung gelesen und vorübergehend gespeichert (S905) werden, und die Daten der temporären Pufferschaltung können in den Zielblock umprogrammiert werden (S906).
  • Wenn die Daten auf den Zielblock umprogrammiert werden, kann eine Löschoperation des Pufferblocks für die Auffrischungsoperation des nächsten Zielblocks durchgeführt werden (S907), und eine nächste Zielblockadresse kann aktualisiert werden (S908).
  • Wenn die nächste Zielblockadresse aktualisiert wird, kann die Auffrischungsoperation durch automatischen Auffrischungsbefehl beendet werden.
  • 11 ist ein Diagramm zum spezifischen Beschreiben einer Speichereinrichtung gemäß einer zweiten Ausführungsform der vorliegenden Offenbarung.
  • Unter Bezugnahme auf 11 zeigt die zweite Ausführungsform eine Speichereinrichtung 1100, die in der Lage ist, als Reaktion auf einen Selbstauffrischungsbefehl CMD_SR eine Auffrischungsoperation durchzuführen. Die Selbstauffrischungsoperation kann ausgeführt werden, während die Speichereinrichtung 1100 selbst eine Zielblockadresse aktualisiert, bis ein Auffrischungsendbefehl CMD_FIN von einem Zeitpunkt an empfangen wird, zu dem der Selbstauffrischungsbefehl CMD_SR empfangen wird.
  • In einer in 11 gezeigten Konfiguration sind die verbleibenden Konfigurationen mit Ausnahme eines Zielblockmanagers 210 die gleichen wie die voranstehend unter Bezugnahme auf 4 beschriebenen, so dass eine sich wiederholende Beschreibung wegfällt.
  • In der zweiten Ausführungsform kann der Zielblockmanager 210 wenn der Selbstauffrischungsbefehl CMD_SR eingegeben wird, ein Auffrischungssignal REF_S ausgeben, um die Auffrischungsoperation des Zielblocks T_BLK zu starten. Wenn die Auffrischungsoperation des Zielblocks T_BLK abgeschlossen ist, kann der Blocklösch-Controller 230 das Adresszählsignal ADD_C an den Zielblockmanager 210 ausgeben, und der Zielblockmanager 210 kann eine Zielblockadresse, die zu dem Zielblock T_BLK korrespondiert, an dem die Auffrischungsoperation abgeschlossen ist, auf eine Adresse aktualisieren, die zu einem Zielblock korrespondiert, an dem die nächste Auffrischung durchgeführt wird.
  • Wenn der Auffrischungsendbefehl CMD_FIN nicht empfangen wird, kann der Zielblockmanager 210 das Auffrischungssignal REF_S ausgeben, um die Auffrischungsoperation für die aktualisierte Zielblockadresse durchzuführen.
  • Der Datenübertragungscontroller 220 und der Blocklösch-Controller 230 können das erste oder zweite Übertragungssignal 1TRAN oder 2TRAN, das erste oder zweite Löschsignal 1ERA oder 2ERA und das Puffersteuersignal B_SIG ausgeben, um die Auffrischungsoperation für den neu geänderten Zielblock durchzuführen.
  • Wenn der Auffrischungsendbefehl CMD_FIN empfangen wird, kann der Zielblockmanager 210 die Auffrischungsoperation bis zu dem Zielblock T_BLK ausführen, in dem die Auffrischungsoperation gerade läuft, die nächste Zielblockadresse aktualisieren und dann die Auffrischungsoperation beenden. Wenn beispielsweise der Auffrischungsendbefehl CMD_FIN empfangen wird, kann der Zielblockmanager 210 als Reaktion auf das Adresszählsignal ADD_C die Zielblockadresse aktualisieren und dann möglicherweise nicht das Auffrischungssignal REF_S ausgeben, um die Selbstauffrischungsoperation zu beenden.
  • 12 ist ein Diagramm zum spezifischen Beschreiben der Auffrischungsoperation gemäß der zweiten Ausführungsform der vorliegenden Offenbarung.
  • Unter Bezugnahme auf 12, wenn ein Selbstauffrischungsbefehl an die Speichereinrichtung (S1101) empfangen wird, kann die Speichereinrichtung eine Auffrischungsoperation für einen Zielblock durchführen (siehe 12). Die Auffrischungsoperation für den Zielblock kann ebenso wie die voranstehend unter Bezugnahme auf 10 beschriebenen Schritte S902 bis S908 durchgeführt werden.
  • Wenn die Auffrischungsoperation des Zielblocks beendet ist, kann die Speichereinrichtung feststellen, ob ein Auffrischungsendbefehl empfangen wird (S1103).
  • Wenn der Aktualisierungsendbefehl nicht empfangen wird (N), kann der Speicherbaustein die Schritte S902 bis S908 von 10 wiederholen, während er die Adresse des Zielblocks ändert.
  • Wenn der Auffrischungsendbefehl empfangen wird (J), kann die Speichereinrichtung die Selbstauffrischungsoperation beenden.
  • 13 ist ein Diagramm zum spezifischen Beschreiben einer Speichereinrichtung gemäß einer dritten Ausführungsform der vorliegenden Offenbarung.
  • Unter Bezugnahme auf 13 zeigt die dritte Ausführungsform eine Speichereinrichtung 1100, das zum Unterstützen sowohl der automatische Auffrischungsoperation als auch der in der ersten und zweiten Ausführungsform beschriebenen Selbstauffrischungsoperation in der Lage ist.
  • In einer in 13 gezeigten Konfiguration sind die verbleibenden Konfigurationen mit Ausnahme einer Auffrischungsbefehl-Bestimmungseinrichtung210_1 und eines Zielblockmanagers 210 die gleichen wie die voranstehend unter Bezugnahme auf 4 oder 11 beschriebenen, so dass eine sich wiederholende Beschreibung wegfällt.
  • In der dritten Ausführungsform kann die Auffrischungsbefehl-Bestimmungseinrichtung 210_1 verschiedene Signale in Übereinstimmung mit den eingegebenen Auffrischungsbefehlen ausgeben. Beispielsweise kann die Auffrischungsbefehl-Bestimmungseinrichtung 210_1 ein automatisches Auffrischungssignal AR_S ausgeben, wenn der automatische Auffrischungsbefehl CMD_AR eingegeben wird, kann ein Selbstauffrischungssignal ausgeben, wenn der Selbstauffrischungsbefehl CMD_SR ausgegeben wird, und kann das Selbstauffrischungsendsignal SR_F ausgeben, wenn der Auffrischungsendbefehl CMD_FIN eingegeben wird.
  • Da der Zielblockmanager 210 verwendet wird, um das automatische Auffrischungssignal AR_S, das Selbstauffrischungssignal SR_S und das Selbstauffrischungsendsignal SR_F zu unterscheiden, können das automatische Auffrischungssignal AR_S, das Selbstauffrischungssignal SR_S und das Selbstauffrischungsendsignal SR_F über verschiedene Leitungen ausgegeben werden, die zwischen der Auffrischungsbefehl-Bestimmungseinrichtung 210_1 und dem Zielblockmanager 210 verbunden sind.
  • Wenn das automatische Auffrischungssignal AR_S eingegeben wird, kann der Zielblockmanager 210 das Auffrischungssignal REF_S ausgeben, um die Auffrischungsoperation des Zielblocks T_BLK durchzuführen. Wenn das Auffrischungssignal REF_S als Reaktion auf das automatische Auffrischungssignal AR_S ausgegeben wird, kann der Zielblockmanager 210 die Zielblockadresse als Reaktion auf das Adresszählsignal ADD_C aktualisieren und dann die Auffrischungsoperation beenden, ohne das Auffrischungssignal REF_S auszugeben.
  • Wenn das Selbstauffrischungssignal SR_S eingegeben wird, kann der Zielblockmanager 210 das Auffrischungssignal REF_S ausgeben, um die Auffrischungsoperation des Zielblocks T_BLK durchzuführen. Wenn das Auffrischungssignal REF_S als Reaktion auf das Selbstauffrischungssignal SR_S ausgegeben wird, kann der Zielblockmanager 210 die Zielblockadresse als Reaktion auf das Adresszählsignal ADD_C aktualisieren und dann die Auffrischungsoperation durch wiederholtes Ausgeben des Auffrischungssignals REF_S fortsetzen.
  • Wenn das Selbstauffrischungsendsignal SR_F eingegeben wird, kann der Zielblockmanager 210 die Zielblockadresse aktualisieren und dann die Selbstauffrischungsoperation beenden, ohne das Auffrischungssignal REF_S auszugeben.
  • Wenn die Speichereinrichtung durch eine nichtflüchtige Speichereinrichtung implementiert ist, kann die Auffrischungsoperation auch in einer Seiteneinheit durchgeführt werden, da die nichtflüchtige Speichereinrichtung in einer Seiteneinheit arbeitet. Ein Verfahren zum Durchführen der Auffrischungsoperation in einer Seiteneinheit wird spezifisch wie nachstehend beschrieben.
  • 14 ist ein Diagramm zum spezifischen Beschreiben einer Konfiguration eines Speicherblocks.
  • Unter Bezugnahme auf 14 können eine erste Auswahlleitung, Wortleitungen und eine zweite Auswahlleitung, die parallel zueinander angeordnet sind, mit dem Speicherblock BLKz verbunden werden. Die Wortleitungen können beispielsweise parallel zueinander zwischen der ersten und zweiten Auswahlleitung angeordnet sein. Dabei kann die erste Auswahlleitung eine Source-Auswahlleitung SSL sein, und die zweite Auswahlleitung kann eine Drain-Auswahlleitung DSL sein.
  • Spezifischer gesagt, kann der Speicherblock BLKz eine Vielzahl von Strings d.h. Ketten ST enthalten, die zwischen den Bitleitungen BL1 bis BLm und einer Source-Leitung SL verbunden sind. Die Bitleitungen BL1 bis BLm können jeweils mit den Strings ST verbunden sein, und die Source-Leitung SL kann gemeinsam mit den Strings ST verbunden sein. Da die Strings ST konfiguriert sein können, um zueinander identisch zu sein, wird ein String ST, die mit der ersten Bitleitung BL1 verbunden ist, als Beispiel spezifisch beschrieben.
  • Der String ST kann einen Source-Auswahltransistor SST, mehrere Speicherzellen F1 bis F16 und einen Drain-Auswahltransistor DST enthalten, die zwischen der Source-Leitung SL und der ersten Bitleitung BL1 in Reihe geschaltet sind. Ein String ST kann mindestens einen der beiden Source-Auswahltransistoren SST und DST sowie Speicherzellen enthalten, deren Anzahl größer ist als die Anzahl der in der Figur gezeigten Speicherzellen F1 bis F16, und auch Speicherzellen, deren Anzahl größer ist als die Anzahl der Speicherzellen F1 bis F16, können in dem String ST enthalten sein.
  • Eine Source des Source-Auswahltransistors SST kann mit der Source-Leitung SL verbunden werden und ein Drain des Drain-Auswahltransistors DST kann mit der ersten Bitleitung BL1 verbunden werden. Zwischen dem Source-Auswahltransistor SST und dem Drain-Auswahltransistor DST können die Speicherzellen F1 bis F16 in Reihe geschaltet werden. Gates der Source-Auswahltransistoren SST, die in verschiedenen Strings ST enthalten sind, können mit der Source-Auswahlleitung SSL verbunden werden und Gates der Drain-Auswahltransistoren DST können mit der Drain-Auswahlleitung DSL verbunden werden, und Gates der Speicherzellen F1 bis F16 können mit einer Vielzahl von Wortleitungen WL1 bis WL16 verbunden werden. Eine Gruppe von Speicherzellen, die mit derselben Wortleitung unter den Speicherzellen, die in den verschiedenen Strings ST enthalten sind, verbunden sind, kann als physikalische Seite PPG bezeichnet werden. Daher kann der physikalische Block PPG so viele wie die Anzahl der Wortleitungen WL1 bis WL16 in dem Speicherblock BLKz enthalten sein.
  • Eine Speicherzelle kann ein Datenbit speichern. Dies wird allgemein als Single-Level-Cell (Einzel-Niveau-Zelle; SLC)-Verfahren bezeichnet. In diesem Fall kann eine physische Seite PPG eine logische Seite mit Daten speichern. Eine logische Datenseite kann so viele Datenbits enthalten, wie die Anzahl der Speicherzellen, die in einer physischen Seiten-PPG enthalten sind. Alternativ kann eine Speicherzelle zwei oder mehr Datenbits speichern. In diesem Fall kann eine physische Seite PPG zwei oder mehr logische Seiten mit Daten speichern. Ein Verfahren, bei der zwei Datenbits in einer Speicherzelle gespeichert werden, wird als Multi-Level-Cell (Mehrfach-Niveau-Zellen-; MLC)-Verfahren bezeichnet. In letzter Zeit, da die Anzahl der in einer Speicherzelle gespeicherten Datenbits zunimmt, wird ein Verfahren, bei dem drei Datenbits in einer Speicherzelle gespeichert werden, als Triple-Level-Cell (Dreifach-Niveau-Zellen-; TLC)-Verfahren bezeichnet, und ein Verfahren, bei dem vier Datenbits in einer Speicherzelle gespeichert werden, wird als Quadruple-Level-Cell (Vierfach-Niveau-Zellen-; QLC)-Verfahren bezeichnet. Darüber hinaus wird ein Speicherzellenverfahren entwickelt, bei dem eine Vielzahl von Datenbits gespeichert werden.
  • Da ein Verfahren, bei dem zwei Datenbits in einer Speicherzelle gespeichert werden, in den letzten Jahren weit verbreitet war, wird eine Auffrischungsoperation einer Speichereinrichtung, die durch ein Triple-Level-Cell (TLC)-Verfahren gesteuert wird, als ein Beispiel in einer vierten, nachstehend beschriebenen Ausführungsform beschrieben.
  • 15 und 16 sind Diagramme zum Beschreiben der Auffrischungsoperation gemäß der vierten Ausführungsform der vorliegenden Offenbarung. Es wird angenommen, dass ein erster Speicherblock BLK1 ein Zielblock T_BLK ist und ein z-ter Speicherblock BLKz ein Pufferblock B_BLK ist.
  • Unter Bezugnahme auf 15 können für den Fall einer Speichereinrichtung, das durch ein Triple-Level-Cell (TLC)-Verfahren betrieben wird, drei Teile der logischen Seitendaten in jeder der physikalischen Seiten PPG1 bis PPGi gespeichert werden, die in dem Zielblock T_BLK enthalten sind. Beispielsweise können die ersten logischen Seitendaten LPG1 Daten des niederwertigsten Bits (LSB bzw. LSB DATA) sein, können die zweiten logischen Seitendaten LPG2 Daten des mittleren Bits (CSB) sein, können die dritten logischen Seitendaten LPG3 Daten des höchstwertigen Bits (MSB bzw. MSAB DATA) sein.
  • Da während der Auffrischungsoperation die ersten bis dritten logischen Seitendaten LPG1 bis LPG3 jeweils beibehalten werden müssen, kann eine temporäre Pufferschaltung 400 mindestens drei Zwischenspeicher L1 bis L3 zum Speichern der ersten bis dritten logischen Seitendaten LPG1 bis LPG3 enthalten. Beispielsweise kann jeder Seitenpuffer, der in der temporären Pufferschaltung 400 enthalten ist, mindestens drei Zwischenspeicher L1 bis L3 enthalten.
  • Während der Auffrischungsoperation können die ersten logischen Seitendaten LPG1, die in der ersten physikalischen Seite PPG1 gespeichert sind, zu dem ersten Zwischenspeicher L1 der temporären Pufferschaltung 400 übertragen werden, die zweiten logischen Seitendaten LPG2, die in der ersten physikalischen Seite PPG1 gespeichert sind, können zu dem zweiten Zwischenspeicher L2 der temporären Pufferschaltung 400 übertragen werden, und die dritten logischen Seitendaten LPG3, die in der ersten physikalischen Seite PPG1 gespeichert sind, können zu dem dritten Zwischenspeicher L3 der temporären Pufferschaltung 400 übertragen werden.
  • Dabei können der Zielblock T_BLK, der ein Ziel der Auffrischungsoperation ist, und eine Adresse der ersten physischen Seite PPG1, die in dem Zielblock T_BLK enthalten ist, in einem Zielblockmanager 210 gespeichert werden. Beispielsweise ändert sich eine Adresse des Zielblocks T_BLK nicht, bis die Auffrischungsoperation aller physischen Seiten PPG1 bis PPGi, die in dem Zielblock T_BLK enthalten sind, abgeschlossen ist.
  • Unter Bezugnahme auf 16 können, wenn die in der ersten physikalischen Seite PPG1 gespeicherten ersten bis dritten logischen Seitendaten LPG1 bis LPG3 jeweils in den ersten bis dritten Zwischenspeichern L1 bis L3 der temporären Pufferschaltung 400 gespeichert sind, die ersten bis dritten logischen Seitendaten LPG1 bis LPG3, die in den ersten bis dritten Zwischenspeichern L1 bis L3 der temporären Pufferschaltung 400 gespeichert sind, in die erste physikalischen Seite PPG1 des Blocks BLKz, der als Pufferblock B_BLK ausgewählt ist, programmiert werden.
  • Wenn alle Daten der ersten bis dritten logischen Seite LPG1 bis LPG3 in der ersten physischen Seite PPG1 des Pufferblocks B_BLK programmiert sind, kann eine Adresse einer Zielseite T_PPG des Zielblockmanagers 210 auf eine Adresse der zweiten physischen Seite PPG2 aktualisiert werden, die eine physische Seite ist, an der die nächste Auffrischung durchgeführt werden soll.
  • Wenn bei einem solchen Verfahren die Daten aller physischen Seiten PPG1 bis PPGi, die in dem Zielblock T_BLK enthalten sind, zurück in den Pufferblock B_BLK kopiert werden, kann eine Löschoperation des Zielblocks T_BLK durchgeführt werden.
  • Eine Operation zum Übertragen der Daten des Pufferblocks B_BLK an den Zielblock T_BLK kann auch in Einheiten von logischen Seiten durchgeführt werden, die in jeder physischen Seite gespeichert sind. Wenn alle Daten des Pufferblocks B_BLK an den Zielblock T_BLK übertragen werden und der Pufferblock B_BLK gelöscht wird, kann die Adresse des Zielblocks T_BLK, die in dem Zielblockmanager 210 gespeichert ist, auf die Adresse eines Blocks aktualisiert werden, an dem die nächste Auffrischung durchgeführt werden soll.
  • 17 bis 21 sind Diagramme zum Beschreiben einer Auffrischungsoperation gemäß einer fünften Ausführungsform der vorliegenden Offenbarung.
  • Unter Bezugnahme auf 17 zeigt 17 ein Betriebsverfahren in einem Fall, in dem ein Aussetzungsbefehl CMDs während einer Auffrischungsoperation eines Zielblocks empfangen wird.
  • Der Aussetzungsbefehl CMDs kann ein Befehl sein, der von einem Speicher-Controller während einer Operation einer Speichereinrichtung empfangen wird, und kann ein Befehl sein, der vor einer Operation vollzogen werden muss, die gerade in der Speichereinrichtung abläuft. Wenn also der Aussetzungsbefehl CMDs empfangen wird, während die Auffrischungsoperation in der Speichereinrichtung durchgeführt wird, wird die Auffrischungsoperation vorübergehend ausgesetzt, und der Aussetzungsbefehl CMDs kann vollzogen werden. Wenn die Operation, die zu dem Aussetzungsbefehl CMDs korrespondiert, beendet ist, kann die ausgesetzte Auffrischungsoperation wieder aufgenommen werden. In der fünften Ausführungsform kann eine Zielseite, in der die Auffrischungsoperation abgeschlossen ist, so verwaltet werden, dass die Auffrischungsoperation von einer physikalischen Seite aus, wo die Auffrischungsoperation ausgesetzt ist, wieder aufgenommen werden kann. Die fünfte Ausführungsform wird im Einzelnen wie nachstehend beschrieben.
  • Wenn die Aktualisierungsoperation des Zielblocks gestartet wird, kann N (N ist eine positive ganze Zahl), die zu einer Adresse der physikalischen Seite korrespondiert, als Anfangswert auf 1 gesetzt werden (S1601).
  • Eine Leseoperation einer N-ten Zielseite, die in dem Zielblock enthalten ist, kann durchgeführt werden (S1602), und die von der N-ten Zielseite gelesenen Daten können in einer N-ten Pufferseite eines Pufferblocks programmiert werden (S1603). Hier bedeutet die N-te Zielseite eine physikalische Seite, die für die Auffrischungsoperation aus einer Vielzahl von physikalischen Seiten, die in dem Zielblock enthalten sind, ausgewählt wird, und die N-te Pufferseite bedeutet eine physikalische Seite, die ausgewählt wird, um Daten der Zielseite unter einer Vielzahl von physikalischen Seiten, die in dem Pufferblock enthalten sind, vorübergehend zu speichern.
  • Als nächstes kann bestimmt werden, ob die N-te Zielseite die letzte Seite der in dem Zielblock enthaltenen physischen Seiten ist (S1604).
  • Wenn die N-te Zielseite die letzte Seite ist (J), da die Daten aller physischen Seiten des Zielblocks in den Pufferblock kopiert werden, kann eine Löschoperation des Zielblocks durchgeführt werden (S1701).
  • Wenn der Zielblock gelöscht wird, können die Pufferseiten, die in dem Pufferblock enthalten sind, gelesen werden (S1702), und die gelesenen Daten können auf die Zielseiten des Zielblocks umprogrammiert werden (S1703).
  • Als nächstes wird die Löschoperation des Pufferblocks für die nächste Auffrischungsoperation durchgeführt (S1704), und eine Adresse des nächsten Zielblocks kann aktualisiert werden (S1705).
  • Die voranstehend beschriebenen Schritte S1601 bis S1604 und S1701 bis S1705 können ähnlich wie der in der ersten bis vierten Ausführungsform beschriebenen Auffrischungsoperation durchgeführt werden.
  • In Schritt S1604, wenn die N-te Zielseite nicht die letzte Seite in dem Zielblock (N) ist, kann eine Adresse der nächsten physikalischen Seite, die in dem Zielblock enthalten ist, auf eine Adresse der nächsten Zielseite (S1605) aktualisiert werden. Das heißt, in Schritt S1605, wenn alle Daten der ausgewählten Zielseite auf die ausgewählte Pufferseite übertragen werden, kann ein Rückkopier-Fortschrittsstatus der physischen Seiten in Echtzeit gespeichert werden, indem die Adresse der physischen Seite, die ein Datenübertragungsziel ist, auf die Adresse der nächsten physischen Seite aktualisiert wird.
  • Es kann bestimmt werden, ob ein Aussetzungsbefehl CMDs eingegeben wird (S1606).
  • Wenn der Aussetzungsbefehl CMDs nicht eingegeben wird (N), können die Schritte S1602 bis S1606 wiederholt werden, während die Adresse der Zielseite aktualisiert wird.
  • Wenn die Auffrischungsoperation des Zielblocks abgeschlossen ist, während die Schritte S1602 bis S1606 wiederholt werden, kann die Auffrischungsoperation beendet werden. Wenn jedoch der Aussetzungsbefehl CMDs eingegeben wird, bevor die Auffrischungsoperation des Zielblocks abgeschlossen ist, kann die gegenwärtig ausgeführte Auffrischungsoperation vorübergehend ausgesetzt werden (S1607).
  • Wenn die Auffrischungsoperation ausgesetzt wird, kann der eingegebene Aussetzungsbefehl CMDs ausgeführt werden (S1608).
  • Wenn die Operation, die zu dem Aussetzungsbefehl CMDs korrespondiert, beendet ist, kann die Speichereinrichtung die Auffrischungsoperation von der Zielseite aus wieder aufnehmen, wo die Auffrischungsoperation gemäß einer Adresse einer Zielseite, die schließlich gespeichert wird, ausgesetzt wird (S1609). Da beispielsweise die Adresse der Zielseite, die schließlich gespeichert wird, eine Adresse der physikalischen Seite ist, deren Rückkopieroperation nicht abgeschlossen ist, kann eine Leseoperation von einer Seite, die zu einer gespeicherten Adresse einer physikalischen Seite korrespondiert, erneut durchgeführt werden (S1602).
  • Da die Leseoperation von der physischen Seite, deren Adresse gespeichert ist, erneut durchgeführt werden kann, auch wenn die Auffrischungsoperation vorübergehend ausgesetzt ist, kann durch Speichern der Adresse der nächsten physischen Seite bei jedem Zurückkopieren der physischen Seiten wie voranstehend beschrieben eine Zeitspanne verkürzt werden, während der Lese- und Programmoperationen der physischen Seiten, auf denen die Rückkopieroperation in dem Zielblock vorab abgeschlossen ist, erneut durchgeführt werden.
  • Schritt S1606 des Überprüfens, ob der Aussetzungsbefehl CMDs eingegeben wurde, kann jederzeit während der Ausführung der Auffrischungsoperation durchgeführt werden und muss nicht, wie gezeigt, unmittelbar nach Schritt S1605 durchgeführt werden. Beispielsweise kann Schritt SUS1 zum Prüfen, ob der Aussetzungsbefehl CMDs eingegeben wurde, durchgeführt werden, bevor die Auffrischungsoperation gestartet wird und Schritt S1602 zum Lesen einer ersten Zielseite durchgeführt wird. In diesem Fall wird, wenn festgestellt wird, dass der Aussetzungsbefehl CMDs eingegeben wird, die Auffrischungsoperation vorübergehend ausgesetzt, und es kann eine Operation, die zu dem Aussetzungsbefehl CMDs korrespondiert, durchgeführt werden. Wenn die Operation, die zu dem Aussetzungsbefehl CMDs korrespondiert, abgeschlossen ist, wird die ausgesetzte Auffrischungsoperation wieder aufgenommen und Schritt S1602 kann durchgeführt werden. Wenn in Schritt SUS1 festgestellt wird, dass der Aussetzungsbefehl nicht eingegeben wurde, kann Schritt S1602 ausgeführt werden. Wie voranstehend beschrieben, können die Schritte SUS2 bis SUS5 zum Bestätigen, ob der Aussetzungsbefehl CMDs eingegeben wurde, jederzeit während der Aktualisierungsoperation durchgeführt werden.
  • Das heißt, während des Zurückkopierens der Seiten wie in Schritt S1606 kann die Auffrischungsoperation vorübergehend ausgesetzt und der Aussetzungsbefehl CMDs vollzogen werden. Zu einem Zeitpunkt jedoch, zu dem die Auffrischungsoperation gestartet wird oder bevor oder nachdem die Blocklöschoperation durchgeführt wurde, kann eine Operationszeit weiter verkürzt werden, wenn der Aussetzungsbefehl CMDs wie in den Schritten SUS1 bis SUS5 vollzogen wird. Wenn beispielsweise der Aussetzungsbefehl CMDs während des Rückkopierens von Seiten ausgeführt wird (im Fall von Schritt S1606), müssen die Adressen eines Speicherblocks und einer Seite, auf der der Rückkopieroperation ausgesetzt ist, gespeichert werden. Wenn der Aussetzungsbefehl CMDs jedoch vor oder nach der Blocklöschoperation durchgeführt wird, weil nur die Adresse des Speicherblocks gespeichert wird, kann sich die Operationszeit verkürzen.
  • Ein Betriebsverfahren nach der fünften Ausführungsform wird anhand einer physikalischen Seite beispielhaft wie nachstehend beschrieben.
  • Unter Bezugnahme auf 18 ist ein erster Speicherblock BLK1 ein Zielblock, und es kann eine Leseoperation zum Zurückkopieren von Daten einer zweiten physikalischen Seite PPG2 in einen Pufferblock durchgeführt werden. Unter der Annahme, dass die Rückkopieroperation in der Reihenfolge einer Adresse einer physikalischen Seite durchgeführt wird, bedeutet die Tatsache, dass die Leseoperation der zweiten physikalischen Seite PPG2 durchgeführt wird, dass die Rückkopieroperation einer ersten physikalischen Seite PPG1 abgeschlossen ist. Daher kann eine Adresse des ersten Speicherblocks BLK1 in Übereinstimmung mit einem Zielblock T_BLK, und eine Adresse der zweiten physischen Seite PPG2 als Zielseite T_PPG, die ein Rückkopierziel ist, in einem Zielblockmanager 210 gespeichert werden.
  • Bezogen auf 19 können, wenn alle in der zweiten physikalischen Seite PPG2 des ersten Speicherblocks BLK1 gespeicherten ersten bis dritten logischen Seitendaten LPG1 bis LPG3 an erste bis dritte Zwischenspeicher L1 bis L3 einer temporären Pufferschaltung 400 übertragen werden, die in den ersten bis dritten Zwischenspeichern L1 bis L3 gespeicherten logischen Seitendaten jeweils auf die zweite physikalische Seite PPG2 eines z-ten Speicherblocks BLKz programmiert werden.
  • Wenn ein Aussetzungsbefehl eingegeben wird, während die ersten logischen Seitendaten LPG1 auf die zweite physikalische Seite PPG2 des z-ten Speicherblocks BLKz programmiert sind, wird eine Programmoperation für die zweite physikalische Seite PPG2 des z-ten Speicherblocks BLKz vorübergehend ausgesetzt, und es kann eine Operation, die zu dem Aussetzungsbefehl korrespondiert, durchgeführt werden. Da zu diesem Zeitpunkt nicht alle Daten der ersten bis dritten logischen Seite LPG1 bis LPG3 auf die zweite physikalische Seite PPG2 des z-ten Speicherblocks BLKz zurückkopiert werden, kann eine Adresse der Zielseite T_BLK, die in einem Zielblockmanager 210 gespeichert ist, als erster Speicherblock BLK1 und eine Adresse einer Zielseite T_PPG als zweite physikalische Seite PPG2 beibehalten werden.
  • Unter Bezugnahme auf 20 kann die Speichereinrichtung, wenn die Operation in Übereinstimmung mit dem Aussetzungsbefehl beendet ist, mit der Leseoperation der zweiten physikalischen Seite PPG2 des ersten Speicherblocks BLK1 gemäß den Adressen des Zielblocks T_BLK und der Zielseite T_PPG, die in dem Zielblockmanager 210 gespeichert sind, fortfahren. Das heißt, da die erste physische Seite PPG1 des ersten Speicherblocks BLK1 im Voraus auf die erste physische Seite PPG1 des z-ten Speicherblocks BLKz zurückkopiert wird, kann eine doppelte Ausführung des Rückkopieroperation der ersten physischen Seite PPG1 verhindert werden.
  • Unter Bezugnahme auf 21, kann eine Steuerlogik 200_1 ferner einen Adressvergleicher enthalten, der eine Blockadresse, an der gerade eine Auffrischungsoperation durchgeführt wird, mit einer Blockadresse, die zusammen mit dem Aussetzungsbefehl eingegeben wird, vergleicht, da ein Aussetzungsbefehl für denselben Block wie ein Zielblock, an dem eine Auffrischungsoperation durchgeführt wird, eingegeben werden kann.
  • Beispielsweise kann der Adressvergleicher 240 ein Ergebnis eines Adressvergleichs gemäß einem Typ des Aussetzungsbefehls ausgeben, und ein Zielblockmanager 210 kann gemäß dem von dem Adressvergleicher 240 ausgegebenen Ergebnis bestimmen, ob die Auffrischungsoperation des Zielblocks, an dem die Auffrischungsoperation gerade durchgeführt wird, vollständig beendet oder die Auffrischungsoperation an demselben Zielblock nach dem Ausführen einer Aussetzungsoperation wieder aufgenommen werden soll.
  • 22 ist ein Blockdiagramm zum Beschreiben eines Speicherkartensystems, auf das eine Speichereinrichtung und ein Speicher-Controller der vorliegenden Offenbarung angewendet werden.
  • Unter Bezugnahme auf 22 kann das Speicherkartensystem 3000 einen Speicher-Controller 1200 und eine Speichereinrichtung 1100 enthalten.
  • Der Speicher-Controller 1200 ist mit der Speichereinrichtung 1100 verbunden. Der Speicher-Controller 1200 ist für den Zugriff auf die Speichereinrichtung 1100 konfiguriert. Beispielsweise ist der Speicher-Controller 1200 konfiguriert, um Lese-, Lösch- und Hintergrundoperationen der Speichereinrichtung 1100 zu steuern. Der Speicher-Controller 1200 ist konfiguriert, um eine Schnittstelle zwischen der Speichereinrichtung 1100 und einem Host-Host bereitzustellen. Der Speicher-Controller 1200 ist konfiguriert, um die Firmware zum Steuern der Speichereinrichtung 1100 anzusteuern. Die Speichereinrichtung 1100 kann genauso implementiert werden wie die Speichereinrichtung 1100, die unter Bezugnahme auf 4, 11, 13 oder 21 beschrieben wird.
  • Der Speicher-Controller 1200 kann einen automatischen Auffrischungsbefehl, einen Selbstauffrischungsbefehl oder einen Auffrischungsendbefehl an die Speichereinrichtung 1100 ausgeben, wie in der ersten bis fünften Ausführungsform, die voranstehend beschrieben sind, ausgeben und kann einen Aussetzungsbefehl gemäß einer Anfrage des Hosts ausgeben.
  • Das Speicherkartensystem 3000 kann mit einer externen Einrichtung (z.B. dem Host) nach einem bestimmten Kommunikationsstandard kommunizieren. Beispielsweise ist der in dem Speicherkartensystem 3000 enthaltene Speicher-Controller 1200 konfiguriert, um mit einer externen Einrichtung über mindestens einen von verschiedenen Kommunikationsstandards wie einen universellen seriellen Bus (USB), eine Multi-Media-Karte (MMC), eine eingebettete MMC (eMMC), eine Peripherie-Komponenten-Verbindung (PCI), ein PCI-Express (PCI-E), ein Advanced-Technology-Attachment (ATA), ein Serial-ATA, ein Parallel-ATA, ein Small-Computer-System-Interface (SCSI), ein Enhanced-Small-Disk-Interface (ESDI), eine integrierte Laufwerkselektronik (IDE), Fire-Wire, ein Universal-Flash-Storage (UFS), Wi-Fi, Bluetooth und ein NVMe zu kommunizieren.
  • Die Speichereinrichtung 1100 kann beispielsweise als verschiedene nichtflüchtige Speicherelemente implementiert werden, wie ein elektrisch löschbares und programmierbares ROM (EEPROM), ein NAND-Flash-Speicher, ein NOR-Flash-Speicher, ein Phasenwechsel-RAM (PRAM), ein resistives RAM (ReRAM), ein ferroelektrisches RAM (FRAM) und ein Spin-Transfer-Drehmoment-RAM (STT-MRAM).
  • Der Speicher-Controller 1200 und die Speichereinrichtung 1100 können in eine Halbleitereinheit integriert werden, um eine Speicherkarte zu konfigurieren. Beispielsweise können der Speicher-Controller 1200 und die Speichereinrichtung 1100 in einem einzigen Halbleiterbaustein integriert sein, um eine Speicherkarte wie eine PC-Karte (Personal Computer Memory Card International Association (PCMCIA)), eine Compact-Flash-Karte (CF), eine Smart-Media-Karte (SM oder SMC), einen Speicherstick, eine Multimedia-Karte (MMC, RS-MMC, MMC micro oder eMMC), eine SD-Karte (SD, miniSD, microSD oder SDHC) und einen Universal-Flash-Speicher (UFS) zu konfigurieren.
  • Obwohl in der detaillierten Beschreibung der vorliegenden Offenbarung spezifische Ausführungsformen beschrieben werden, können an diesen Ausführungsformen verschiedene Änderungen und Modifikationen vorgenommen werden, ohne von dem Umfang und technischen Grundgedanken der vorliegenden Offenbarung abzuweichen. Daher sollte der Umfang der vorliegenden Offenbarung nicht auf die voranstehend beschriebenen Ausführungsformen beschränkt sein und sollte durch die Äquivalente der Ansprüche der vorliegenden Offenbarung sowie der folgenden Ansprüche bestimmt werden.
  • Obwohl die vorliegende Offenbarung unter Bezugnahme auf eine begrenzte Anzahl von möglichen Ausführungsformen und Zeichnungen beschrieben wurde, ist die vorliegende Offenbarung nicht auf die voranstehend beschriebenen Ausführungsformen beschränkt, und es können verschiedene Änderungen und Modifikationen an der offengelegten Beschreibung von Durchschnittsfachleuten, auf die sich die vorliegende Offenbarung bezieht, vorgenommen werden.
  • Daher sollte sich der Umfang der vorliegenden Offenbarung nicht auf die beschriebenen Ausführungsformen beschränken und durch die Äquivalente der Ansprüche sowie die folgenden Ansprüche bestimmt werden.
  • In den voranstehend beschriebenen Ausführungsformen können alle Schritte wahlweise durchgeführt oder weggelassen werden. Darüber hinaus müssen die Schritte in jeder Ausführungsform nicht in der dargestellten Reihenfolge durchgeführt werden und können umgekehrt werden. Zudem sind die in der vorliegenden Spezifikation offengelegten Ausführungsformen der vorliegenden Offenbarung und die Zeichnungen lediglich spezifische Beispiele, die den technischen Inhalt der vorliegenden Spezifikation leicht beschreiben und das Verständnis der vorliegenden Spezifikation erleichtern, und schränken den Anwendungsbereich der vorliegenden Spezifikation nicht ein. Das heißt, dass für Durchschnittsfachleute, auf die sich die vorliegende Offenbarung bezieht, offensichtlich ist, dass andere Änderungsbeispiele, die auf dem technischen Grundgedanken der vorliegenden Offenbarung basieren, möglich sind.
  • Zudem offenbaren die vorliegende Spezifikation und die Zeichnungen eine bevorzugte Ausführungsform der vorliegenden Offenbarung. Obwohl spezifische Begriffe verwendet werden, werden sie in allgemeiner Bedeutung verwendet, um den technischen Inhalt der vorliegenden Offenbarung leicht zu beschreiben und das Verständnis der vorliegenden Offenbarung zu erleichtern, und sind nicht dazu gedacht, den Anwendungsbereich der vorliegenden Offenbarung einzuschränken. Für Durchschnittsfachleute, auf die sich die vorliegende Offenbarung bezieht, ist es offensichtlich, dass zusätzlich zu den hier offengelegten Ausführungsformen weitere Änderungsbeispiele, die auf dem technischen Grundgedanken der vorliegenden Offenbarung basieren, ausgeführt werden können.
  • 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 1020190058302 [0001]

Claims (26)

  1. Speichereinrichtung, umfassend: einen Zielblock, der in der Lage ist, Daten zu speichern; einen Pufferblock, der in der Lage ist, die Daten des Zielblocks während einer Auffrischungsoperation des Zielblocks vorübergehend zu speichern; eine temporäre Pufferschaltung, die konfiguriert ist, um als Reaktion auf ein Puffersteuersignal die Daten des Zielblocks oder des Pufferblocks vorübergehend zu speichern oder auszugeben; einen Zielblockmanager, der konfiguriert ist, um eine Zielblockadresse des Zielblocks, an dem die Auffrischungsoperation durchgeführt werden soll, zu speichern und ein Auffrischungssignal für den Zielblock, der zu der Zielblockadresse korrespondiert, auszugeben, wenn ein automatischer Auffrischungsbefehl empfangen wird; einen Datenübertragungscontroller, der konfiguriert ist, um ein erstes Übertragungssignal oder ein zweites Übertragungssignal und das Puffersteuersignal zum Übertragen der Daten zwischen dem Zielblock oder dem Pufferblock und der temporären Pufferschaltung als Reaktion auf das Auffrischungssignal auszugeben; einen Blocklösch-Controller, der konfiguriert ist, um ein erstes Löschsignal und das Puffersteuersignal zum Löschen des Zielblocks auszugeben, wenn die Daten des Zielblocks von der temporären Pufferschaltung zu dem Pufferblock übertragen werden, und der konfiguriert ist, um ein zweites Löschsignal und das Puffersteuersignal zum Löschen des Pufferblocks auszugeben, wenn die Daten des Zielblocks von der temporären Pufferschaltung zu dem Zielblock übertragen werden; und eine Betriebsschaltung, die konfiguriert ist, um Lese-, Programmier- oder Löschbetriebsspannungen als Reaktion auf das erste oder zweite Übertragungssignal oder das erste oder zweite Löschsignal an den Zielblock oder den Pufferblock zu übertragen.
  2. Speichereinrichtung gemäß Anspruch 1, wobei der Zielblockmanager die Zielblockadresse, die zu dem Zielblock korrespondiert, speichert und die Zielblockadresse mit einer Adresse eines nächsten Zielblocks aktualisiert, wenn die Auffrischungsoperation des Zielblocks beendet ist.
  3. Speichereinrichtung gemäß Anspruch 2, wobei der Zielblockmanager eine Zielseitenadresse speichert und aktualisiert, die zu einer Zielseite, an der die Auffrischungsoperation unter einer Vielzahl von in dem Zielblock enthaltenen Seiten durchgeführt werden soll, korrespondiert.
  4. Speichereinrichtung gemäß Anspruch 1, wobei der Datenübertragungscontroller nach Ausgeben des ersten Übertragungssignals und des Puffersteuersignals ein erstes Übertragungsendsignal ausgibt, so dass die Daten von dem Zielblock zu der temporären Pufferschaltung übertragen werden und die Daten von der temporären Pufferschaltung zu dem Pufferblock übertragen werden, als Reaktion auf das Auffrischungssignal, und nach Ausgeben des zweiten Übertragungssignals und des Puffersteuersignals ein zweites Übertragungsendsignal ausgibt, so dass die Daten von dem Pufferblock zu der temporären Pufferschaltung übertragen werden und die Daten von der temporären Pufferschaltung zu dem Zielblock übertragen werden, wenn ein Löschendsignal von dem Blocklösch-Controller empfangen wird.
  5. Speichereinrichtung gemäß Anspruch 4, wobei der Blocklösch-Controller das erste Löschsignal zum Löschen des Zielblocks als Reaktion auf das erste Übertragungsendsignal ausgibt und das zweite Löschsignal zum Löschen des Pufferblocks als Reaktion auf das zweite Übertragungsendsignal ausgibt.
  6. Speichereinrichtung gemäß Anspruch 5, wobei der Blocklösch-Controller das Löschendsignal an den Datenübertragungscontroller ausgibt, wenn eine Löschoperation des Zielblocks beendet ist, und ein Adresszählsignal an den Zielblockmanager ausgibt, wenn eine Löschoperation des Pufferblocks beendet ist.
  7. Speichereinrichtung gemäß Anspruch 6, wobei der Zielblockmanager die Zielblockadresse mit der Adresse eines nächsten Zielblocks aktualisiert und die Auffrischungsoperation beendet, wenn das Adresszählsignal empfangen wird.
  8. Speichereinrichtung gemäß Anspruch 1, wobei die Betriebsschaltung die Lesebetriebsspannungen zum Übertragen der Daten von dem Zielblock zu der temporären Pufferschaltung ausgibt und die Programmbetriebsspannungen zum Übertragen der in der temporären Pufferschaltung gespeicherten Daten zu dem Pufferblock als Reaktion auf das erste Übertragungssignal ausgibt.
  9. Speichereinrichtung gemäß Anspruch 1, wobei die Betriebsschaltung die Lesebetriebsspannungen zum Übertragen der Daten von dem Pufferblock zu der temporären Pufferschaltung ausgibt und die Programmbetriebsspannungen zum Übertragen der in der temporären Pufferschaltung gespeicherten Daten zu dem Zielblock als Reaktion auf das zweite Übertragungssignal ausgibt.
  10. Speichereinrichtung gemäß Anspruch 1, wobei die Betriebsschaltung die Löschbetriebsspannungen zum Löschen des Zielblocks als Reaktion auf das erste Löschsignal ausgibt und die Löschbetriebsspannungen zum Löschen des Pufferblocks als Reaktion auf das zweite Löschsignal ausgibt.
  11. Speichereinrichtung gemäß Anspruch 1, wobei, wenn eine Vielzahl von Teilen von logischen Seitendaten in einer Zielseite, die in dem Zielblock enthalten ist, gespeichert wird, die temporäre Pufferschaltung eine Vielzahl von Zwischenspeichern zum Speichern der Vielzahl von jeweiligen Teilen von logischen Seitendaten enthält.
  12. Speichereinrichtung gemäß Anspruch 11, wobei die temporäre Pufferschaltung die Vielzahl der jeweiligen Teile der logischen Seitendaten, die in den Zwischenspeichern enthalten sind, an Seiten, die in dem Pufferblock enthalten sind, überträgt.
  13. Speichereinrichtung gemäß Anspruch 1, wobei mindestens einer der Speicherblöcke als Pufferblock festgelegt ist.
  14. Speichereinrichtung gemäß Anspruch 13, wobei, wenn eine Vielzahl von Ebenen, von denen jede eine Vielzahl von Speicherblöcken enthält, in der Speichereinrichtung enthalten sind, der Pufferblock auf jede der Ebenen gesetzt wird oder auf mindestens eine Ebene unter den Ebenen gesetzt wird.
  15. Speichereinrichtung, umfassend: einen Zielblock, der in der Lage ist, Daten zu speichern; einen Pufferblock, der in der Lage ist, die Daten des Zielblocks während einer Auffrischungsoperation des Zielblocks vorübergehend zu speichern; eine temporäre Pufferschaltung, die konfiguriert ist, um als Reaktion auf ein Puffersteuersignal die Daten des Zielblocks oder des Pufferblocks vorübergehend zu speichern oder auszugeben; einen Zielblockmanager, der konfiguriert ist, um eine Zielblockadresse des Zielblocks, auf dem die Auffrischungsoperation durchgeführt werden soll, zu speichern und zu aktualisieren und wiederholt ein Auffrischungssignal für den Zielblock, der zu einer aktualisierten Zielblockadresse korrespondiert, auszugeben, bis ein Auffrischungsendbefehl empfangen wird, wenn ein Selbstauffrischungsbefehl empfangen wird; einen Datenübertragungscontroller, der konfiguriert ist, um ein erstes Übertragungssignal oder ein zweites Übertragungssignal und das Puffersteuersignal zum Übertragen der Daten zwischen dem Zielblock oder dem Pufferblock und der temporären Pufferschaltung als Reaktion auf das Auffrischungssignal auszugeben; einen Blocklöschcontroller, der konfiguriert ist, um ein erstes Löschsignal und das Puffersteuersignal zum Löschen des Zielblocks auszugeben, wenn die Daten des Zielblocks von der temporären Pufferschaltung zu dem Pufferblock übertragen werden, und der konfiguriert ist, um ein zweites Löschsignal und das Puffersteuersignal zum Löschen des Pufferblocks auszugeben, wenn die Daten des Zielblocks von der temporären Pufferschaltung zu dem Zielblock übertragen werden; und eine Betriebsschaltung, die konfiguriert ist, um Lese-, Programmier- oder Löschbetriebsspannungen als Reaktion auf das erste oder zweite Übertragungssignal oder das erste oder zweite Löschsignal an den Zielblock oder den Pufferblock zu übertragen.
  16. Speichereinrichtung gemäß Anspruch 15, wobei der Zielblockmanager wiederholt das Auffrischungssignal ausgibt, bis der Auffrischungsendbefehl empfangen wird, wenn der Selbstauffrischungsbefehl empfangen wird.
  17. Speichereinrichtung gemäß Anspruch 15, wobei der Zielblockmanager die aktualisierte Zielblockadresse speichert und die Auffrischungsoperation beendet, wenn der Auffrischungsendbefehl empfangen wird.
  18. Speichereinrichtung, umfassend: einen Zielblock, der in der Lage ist, Daten zu speichern; einen Pufferblock, der in der Lage ist, die Daten des Zielblocks während einer Auffrischungsoperation des Zielblocks vorübergehend zu speichern; eine temporäre Pufferschaltung, die konfiguriert ist, um die Daten des Zielblocks oder des Pufferblocks vorübergehend zu speichern oder auszugeben; eine Auffrischungsbefehl-Bestimmungseinrichtung, die konfiguriert ist, um einen automatischen Auffrischungsbefehl, einen Selbstauffrischungsbefehl oder einen Auffrischungsendbefehl zu empfangen und gemäß dem empfangenen Befehl ein Selbstauffrischungssignal, ein Selbstauffrischungsstartsignal oder ein Selbstauffrischungsendsignal auszugeben; einen Zielblockmanager, der konfiguriert ist, um eine Zielblockadresse eines nächsten Blocks zu speichern, wenn eine automatische Auffrischungsoperation oder eine Selbstauffrischungsoperation des Zielblocks beendet ist, und der konfiguriert ist, um ein Auffrischungssignal zum Steuern der Auffrischungsoperation gemäß dem automatischen Auffrischungsbefehl, Selbstauffrischungsbefehl oder dem Auffrischungsendbefehl auszugeben; einen Datenübertragungscontroller, der konfiguriert ist, um die Datenübertragung zwischen dem Zielblock, dem Pufferblock und der temporären Pufferschaltung als Reaktion auf das Auffrischungssignal zu steuern; und einen Blocklösch-Controller, der konfiguriert ist, um eine Löschoperation des Zielblocks oder des Pufferblocks gemäß einer Reihenfolge, in der die Daten von der temporären Pufferschaltung an den Pufferblock oder den Zielblock übertragen werden, zu steuern.
  19. Speichereinrichtung gemäß Anspruch 18, wobei die Auffrischungsbefehl-Bestimmungseinrichtung das Selbstauffrischungssignal zum Durchführen der Auffrischungsoperation auf dem Zielblock ausgibt, wenn der automatische Auffrischungsbefehl empfangen wird, das Selbstauffrischungssignal zum Durchführen der Auffrischungsoperation auf dem Zielblock ausgibt und dann nacheinander die Auffrischungsoperation durch Auswählen des nächsten Blocks als den Zielblock durchführt, wenn der Selbstauffrischungsbefehl empfangen wird, und das Selbstauffrischungsendsignal zum Beenden der Auffrischungsoperation nach Durchführen der Auffrischungsoperation nur bis zu einem aktuell ausgewählten Zielblock ausgibt, wenn der Auffrischungsendbefehl nach der Ausführung des Selbstauffrischungsbefehls empfangen wird.
  20. Verfahren zum Betreiben einer Speichereinrichtung, wobei das Verfahren umfasst: Übertragen von Daten eines Zielblocks an eine temporäre Pufferschaltung, wenn ein automatischer Auffrischungsbefehl empfangen wird; Programmieren der an die temporäre Pufferschaltung übertragenen Daten in einen Pufferblock; Löschen des Zielblocks; Übertragen der in den Pufferblock programmierten Daten an die temporäre Pufferschaltung; Programmieren der Daten, die an die temporäre Pufferschaltung übertragen werden, zu dem Zielblock; und Löschen des temporären Pufferblocks.
  21. Verfahren gemäß Anspruch 20, ferner umfassend: Aktualisieren auf eine Adresse eines nächsten Zielblocks nach dem Löschen des temporären Pufferblocks.
  22. Verfahren gemäß Anspruch 21, wobei das Übertragen von Daten eines Zielblocks an eine temporäre Pufferschaltung umfasst, dass jeweilige Teile von logischen Seitendaten, die in einer Zielseite des Zielblocks gespeichert sind, in verschiedenen Zwischenspeichern gespeichert werden, die in der temporären Pufferschaltung enthalten sind.
  23. Verfahren gemäß Anspruch 22, wobei das Programmieren der Daten, die an die temporäre Pufferschaltung übertragen werden, an einen Pufferblockumfasst, dass die jeweiligen Teile von logischen Seitendaten, die in den verschiedenen Zwischenspeichern der temporären Pufferschaltung gespeichert sind, auch als dieselben logischen Seitendaten in einer ausgewählten Seite des Pufferblocks programmiert werden.
  24. Verfahren gemäß Anspruch 23, wobei die logischen Seitendaten, die in den Pufferblock programmiert werden, auch als die gleichen logischen Seitendaten an die Zielseite des Zielblocks durch die temporäre Pufferschaltung programmiert werden.
  25. Verfahren zum Betreiben einer Speichereinrichtung, wobei das Verfahren ein wiederholtes Ausführen, bis ein Auffrischungsendbefehl empfangen wird, von Folgendem umfasst: Übertragen von Daten eines Zielblocks an eine temporäre Pufferschaltung, wenn ein Selbstauffrischungsbefehl empfangen wird; Programmieren der an die temporäre Pufferschaltung übertragenen Daten in einen Pufferblock; Löschen des Zielblocks; Übertragen der in den Pufferblock programmierten Daten an die temporäre Pufferschaltung; Programmieren der Daten, die an die temporäre Pufferschaltung übertragen werden, zu dem Zielblock; Löschen des temporären Pufferblocks; und Aktualisieren einer Adresse eines nächsten Blocks des Zielblocks auf einen nächsten Zielblock.
  26. Verfahren gemäß Anspruch 25, ferner umfassend: Bestimmen, ob ein Auffrischungsbefehl der Selbstauffrischungsbefehl oder ein automatischer Auffrischungsbefehl ist, vor dem Übertragen der Daten des Zielblocks an die temporäre Pufferschaltung, wenn der Auffrischungsbefehl empfangen wird.
DE102020200513.3A 2019-05-17 2020-01-17 Speichereinrichtung und verfahren zum betreiben derselben Pending DE102020200513A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190058302A KR102683296B1 (ko) 2019-05-17 메모리 장치 및 이의 동작 방법
KR10-2019-0058302 2019-05-17

Publications (1)

Publication Number Publication Date
DE102020200513A1 true DE102020200513A1 (de) 2020-11-19

Family

ID=73019095

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020200513.3A Pending DE102020200513A1 (de) 2019-05-17 2020-01-17 Speichereinrichtung und verfahren zum betreiben derselben

Country Status (4)

Country Link
US (1) US11061616B2 (de)
CN (1) CN111951859B (de)
DE (1) DE102020200513A1 (de)
SG (1) SG10202000544WA (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240185905A1 (en) * 2021-03-26 2024-06-06 Intel Corporation A memory device, a memory module, a computing system, a method for erasing a memory portion of a memory device and a method for generating an erase request

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3863330B2 (ja) 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
US6396744B1 (en) * 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
EP2077559B1 (de) * 2007-12-27 2012-11-07 Hagiwara Solutions Co., Ltd. Aktualisierungsverfahren für einen Flash-Speicher
US7925807B2 (en) * 2008-05-27 2011-04-12 Microsoft Corporation Dynamic microcode for non-volatile memory
US20100195393A1 (en) * 2009-01-30 2010-08-05 Unity Semiconductor Corporation Data storage system with refresh in place
KR20120005823A (ko) * 2010-07-09 2012-01-17 주식회사 하이닉스반도체 플래시 메모리 장치 및 그의 동작 방법
KR101212738B1 (ko) * 2010-10-29 2012-12-14 에스케이하이닉스 주식회사 리프레쉬 제어회로 및 이를 포함하는 반도체 메모리 장치 및 리프레쉬 제어방법
JP5651457B2 (ja) * 2010-12-15 2015-01-14 株式会社東芝 半導体記憶装置
KR101893143B1 (ko) * 2011-03-16 2018-08-31 삼성전자주식회사 비휘발성 메모리 장치, 그것의 프로그램 방법 및 읽기 방법, 및 그것을 포함하는 메모리 시스템
TWI523030B (zh) * 2012-01-09 2016-02-21 群聯電子股份有限公司 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置
US8908443B1 (en) 2014-05-27 2014-12-09 Sandisk Technologies Inc. Storage device and method for performing a self-refresh operation
KR102292183B1 (ko) * 2014-11-07 2021-08-25 삼성전자주식회사 불휘발성 메모리의 동작 방법 및 불휘발성 메모리를 포함하는 스토리지 장치의 동작 방법
KR102568203B1 (ko) * 2016-02-23 2023-08-21 삼성전자주식회사 비휘발성 메모리 장치
KR102644275B1 (ko) * 2016-05-19 2024-03-06 삼성전자주식회사 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법
CN107544748B (zh) * 2016-06-28 2020-06-16 建兴储存科技(广州)有限公司 固态储存装置及其数据写入方法
KR102540765B1 (ko) * 2016-09-07 2023-06-08 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US10839886B2 (en) * 2018-06-11 2020-11-17 Western Digital Technologies, Inc. Method and apparatus for adaptive data retention management in non-volatile memory

Also Published As

Publication number Publication date
US20200363993A1 (en) 2020-11-19
CN111951859A (zh) 2020-11-17
US11061616B2 (en) 2021-07-13
KR20200132566A (ko) 2020-11-25
CN111951859B (zh) 2024-01-05
SG10202000544WA (en) 2020-12-30

Similar Documents

Publication Publication Date Title
DE102019116520A1 (de) Datenspeichersysteme und -verfahren für eine verbesserte datenumlagerung basierend auf lesepegelspannungen, die mit einer fehlerwiederherstellung verbunden sind
DE102011086098B4 (de) Parallele Speicherlese- und Speicherschreib-Operationen in einem Speicher mit serieller Schnittstelle
DE102011089880B4 (de) Verfahren zum Programmieren eines Speicherblocks eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speichersystem
DE112014006118B4 (de) Spekulatives Vorab-Holen von in einem Flash-Speicher gespeicherten Daten
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE102013020269A1 (de) Umordnen des Zurückschickens für einen Host-Lesebefehl basierend auf der Zeitschätzung des Abschlusses eines Flash-Lesebefehls
DE112019005369T5 (de) Verfahren zum umschalten zwischen herkömmlicher ssd und open-channel-ssd ohne datenverlust
DE102021115374A1 (de) Abschwächung des in zonen unterteilten namensraums unter verwendung des unterblock-modus
DE102011085988A1 (de) Speicheranweisungen umfassend Parameter zum Beeinflussen eines Betriebszustands eines Speichers
DE112020001937T5 (de) Vorausschauender datenvorabruf in einer datenspeicher-vorrichtung
DE112020005787T5 (de) Verbesserte dateisystem-unterstützung für zonen-namespace-speicher
DE112020006215T5 (de) Blockfamilien-basierte Fehlervermeidung für Speichervorrichtungen
DE102020202379A1 (de) Speichersystem, speicher-controller und deren betriebsverfahren
DE102019135863A1 (de) Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren
DE112014000311T5 (de) Absichern der Inhalte einer Speichereinheit
DE112019007666T5 (de) Schreibpuffersteuerung in einem verwalteten Speichersystem
DE102005035137A1 (de) Nichtflüchtiges Speicherbauelement, Informationsverarbeitungsvorrichtung und zugehöriges Steuerverfahren
DE112020005395T5 (de) Kapazitätserweiterung für speicher-untersysteme
DE102022101609A1 (de) Sehr kleine zonenunterstützung für speicherungsvorrichtungen
DE102021006246A1 (de) Doppelt verschachtelte Programmierung einer Speichervorrichtung in einem Speicher-Untersystem
DE102020200513A1 (de) Speichereinrichtung und verfahren zum betreiben derselben
DE112021000474T5 (de) Durchführung einer Medienverwaltungsoperation basierend auf einer Änderung eines Schreibmodus eines Datenblocks in einem Cache
DE112021001848T5 (de) Mehrere pinkonfigurationen von speichervorrichtungen
DE102019133027A1 (de) Datenspeichersysteme und -verfahren für selbstadaptive chipfreigabeeinrichtungszeit
DE102022212920A1 (de) Speichervorrichtung und verfahren zum betreiben der speichervorrichtung