DE102011085781A1 - Speichersystem, Verfahren zum Betreiben eines Speichersystems und Steuereinheit - Google Patents

Speichersystem, Verfahren zum Betreiben eines Speichersystems und Steuereinheit Download PDF

Info

Publication number
DE102011085781A1
DE102011085781A1 DE102011085781A DE102011085781A DE102011085781A1 DE 102011085781 A1 DE102011085781 A1 DE 102011085781A1 DE 102011085781 A DE102011085781 A DE 102011085781A DE 102011085781 A DE102011085781 A DE 102011085781A DE 102011085781 A1 DE102011085781 A1 DE 102011085781A1
Authority
DE
Germany
Prior art keywords
memory
metadata
control unit
cache register
nand flash
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.)
Withdrawn
Application number
DE102011085781A
Other languages
English (en)
Inventor
Hee-Seok HONG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102011085781A1 publication Critical patent/DE102011085781A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)

Abstract

Ein Speichersystem (100) umfasst einen NAND-Flashspeicher (120) mit einem Cache-Register (121) und Speicherzellen (122), wobei der NAND-Flashspeicher (120) dazu ausgebildet ist, Daten in den Speicherzellen (122) über das Cache-Register (121) zu speichern, und eine Steuereinheit (110) mit einem Arbeitsspeicher (111), wobei die Steuereinheit (110) dazu ausgebildet ist, den NAND-Flashspeicher (120) zu steuern und Metadaten in dem Arbeitsspeicher (111) zu speichern, wobei die Steuereinheit (110) dazu ausgebildet ist, das Cache-Register (121) zum Speichern der Metadaten anzusteuern, wenn das Speichersystem (100) in einen Bereitschaftsmodus eintritt

Description

  • Die Erfindung betrifft ein Speichersystem, ein Verfahren zum Betreiben eines Speichersystems und eine Steuereinheit.
  • Ein Speichersystem, das für ein tragbares Gerät, wie ein Mobiltelefon, verwendet wird, kann einen Bereitschaftsmodus (Standby-Modus) unterstützen, um den Energieverbrauch zu reduzieren. Zum Beispiel kann ein Speichersystem im Bereitschaftsmodus bei mindestens einem Teil der Schaltkreise die Energie abschalten, wodurch sich der Energieverbrauch verringert. Um jedoch die Batterielebensdauer des tragbaren Geräts zu verlängern, ist es wünschenswert, den Energieverbrauch noch weiter zu reduzieren.
  • Die der Erfindung zugrunde liegende technische Aufgabe liegt darin, ein Speichersystem, ein Verfahren zum Betreiben eines Speichersystems und eine Steuereinheit zur Verfügung zu stellen, die dazu geeignet sind, den Energieverbrauch in einem Bereitschaftsmodus zu reduzieren und/oder eine Modusumschaltung zwischen einem Normalmodus und dem Bereitschaftsmodus schnell durchzuführen.
  • Die Erfindung löst diese Aufgabe dadurch, dass sie ein Speichersystem mit den Merkmalen des Anspruch 1, 19 oder 21, ein Verfahren zum Betreiben eines Speichersystems mit den Merkmalen des Anspruch 8 und eine Steuereinheit mit den Merkmalen des Anspruch 17 zur Verfügung stellt.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprüchen angeführt, deren Wortlaut hiermit durch Bezugnahme zum Inhalt dieser Beschreibung gemacht wird, um unnötige Textwiederholungen zu vermeiden.
  • Vorteilhafte Ausführungsformen der Erfindung, wie sie nachfolgend ausführlich beschrieben werden, sind in den Zeichnungen dargestellt, in denen:
  • 1 ein Blockdiagramm zeigt, das ein Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • 2A bis 2C Schaubilder zeigen, die Beispiele eines Schreibbefehlscodes und eines Lesebefehlscodes darstellen.
  • 3 ein Blockdiagramm zeigt, das einen NAND-Flashspeicher in einem Speichersystem von 1 darstellt.
  • 4 ein Schaubild zeigt, das ein Beispiel einer Speicherkapazität eines NAND-Flashspeichers von 3 darstellt.
  • 5 ein Blockdiagramm zeigt, das ein Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • 6 ein Blockdiagramm zeigt, das ein Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • 7 ein Blockdiagramm zeigt, das ein Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • 8A bis 8D Blockdiagramme zeigen, die Beispiele eines Busprotokolls eines Speichersystems nach mindestens einer beispielhaften Ausführungsform darstellen.
  • 9 ein Flussbild zeigt, das ein Verfahren zum Betreiben eines Speichersystems darstellt, wenn das Speichersystem von einem Normalmodus in einen Bereitschaftsmodus übergeht.
  • 10 ein Flussbild zeigt, das ein Verfahren zum Betreiben eines Speichersystems darstellt, wenn das Speichersystem von einem Bereitschaftsmodus in einen Normalmodus übergeht.
  • 11 ein Blockdiagramm zeigt, das ein Computersystem mit einem Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • 12 ein Blockdiagramm zeigt, das ein Festkörperlaufwerk (SSD, Solid State Drive) mit einem Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • 13 ein Blockdiagramm zeigt, das ein Mobilsystem mit einem Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • Die begleitenden Zeichnungen sind nicht als maßstabsgetreu anzusehen, sofern dies nicht ausdrücklich angegeben ist.
  • In der Beschreibung der Figuren beziehen sich gleiche Bezugszeichen auf gleiche Elemente.
  • Es versteht sich, dass, wenn ein Element als mit einem anderen Element ”verbunden” oder ”gekoppelt” bezeichnet ist, es direkt mit dem anderen Element verbunden oder gekoppelt sein kann oder dazwischen liegende Elemente vorhanden sein können. Wenn hingegen ein Element als mit einem anderen Element ”direkt verbunden” oder ”direkt gekoppelt” bezeichnet ist, sind keine dazwischen liegenden Elemente vorhanden. Sofern andere Worte zum Beschreiben der Beziehung zwischen Elementen verwendet sind, sind sie in gleicher Weise zu interpretieren (z. B. ”zwischen” und ”direkt zwischen”, ”benachbart” und ”direkt benachbart” usw.).
  • Es ist auch anzumerken, dass in einigen alternativen Ausführungen die angegebenen Funktionen/Wirkungen in anderer Reihenfolge als in den Figuren angegeben erfolgen können. Zum Beispiel können zwei aufeinander folgend gezeigte Figuren tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder sie können sogar in umgekehrter Reihenfolge ausgeführt werden, was von den jeweiligen Funktionen/Wirkungen abhängig ist.
  • 1 ist ein Blockdiagramm, das ein Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • Mit Bezug zu 1 beinhaltet ein Speichersystem 100 eine Steuereinheit 110, einen NAND-Flashspeicher 120 und einen Kanal 130.
  • Die Steuereinheit 110 kann Operationen des Speichersystems 100 und/oder des NAND-Flashspeichers 120 steuern. Zum Beispiel kann die Steuereinheit 110 eine Programmoperation, eine Leseoperation und eine Löschoperation des NAND-Flashspeichers 120 steuern. Die Steuereinheit 110 kann einen Arbeitsspeicher 111, eine Kompressionseinheit 117, eine Fehlerkorrekturcode(ECC)-Einheit 112, eine NAND-Schnittstelleneinheit 113 und ein Steuergerät 114 umfassen.
  • Der Arbeitsspeicher 111 kann Metadaten zum Betreiben des Speichersystems 100 und/oder der Steuereinheit 110 speichern. Der Arbeitsspeicher 111 kann ein flüchtiges Speicherelement sein, das gespeicherte Daten verliert, wenn die Energiezufuhr unterbrochen wird. Zum Beispiel kann der Arbeitsspeicher 111 durch einen statischen Direktzugriffspeicher (SRAM, Static Random Access Memory), einen dynamischen Direktzugriffspeicher (DRAM, Dynamic Random Access Memory) usw. ausgebildet sein.
  • Die Metadaten können von der Steuereinheit 110 in einem Normalmodus verwendet werden und können im Bereitschaftsmodus nicht verwendet werden. Die Metadaten können während des Betriebs der Steuereinheit 110 erzeugt und/oder verarbeitet werden. Zum Beispiel können die Metadaten einen Wert eines Spezialfunktionsregisters der Steuereinheit 110, eine beim Betrieb der Steuereinheit 110 erklärte Variable, Informationen über die Kapazität des NAND-Flashspeichers 120, Informationen über die Anzahl an Einheiten im NAND-Flashspeicher 120 (z. B. eine Anzahl an Speicherzellen), Informationen über den Kanal 130, Informationen über eine Adresse von Benutzerdaten, Informationen über eine Zeit zur Anlage von Benutzerdaten, Informationen über einen Standard der Benutzerdaten usw. umfassen.
  • Die Kompressionseinheit 117 kann Daten komprimieren, die vom Arbeitsspeicher 111 oder einem anderen Speicher (nicht gezeigt) bereitgestellt sind, und kann komprimierte Daten über die NAND-Schnittstelleneinheit 113 und den Kanal 130 an den NAND-Flashspeicher 120 geben. Die Kompressionseinheit 117 kann komprimierte Daten vom NAND-Flashspeicher 120 empfangen und kann aus den komprimierten Daten ursprüngliche Daten zurückgewinnen. Zum Beispiel können, wenn das Speichersystem 100 in den Bereitschaftsmodus eintritt, die im Arbeitsspeicher 111 gespeicherten Metadaten von der Kompressionseinheit 117 komprimiert werden und können dann in einem Cache-Register 121 des NAND-Flashspeichers 120 gespeichert werden. Wenn das Speichersystem 100 aus dem Bereitschaftsmodus aufgeweckt wird, können die im Cache-Register 121 gespeicherten Metadaten von der Kompressionseinheit 117 dekomprimiert werden und können dann erneut im Arbeitsspeicher 111 gespeichert werden. Die Kompressionseinheit 117 kann verschiedene Arten von Kompressionsoperationen und/oder Dekompressionsoperationen durchführen. In manchen Ausführungsformen können die Kompressionsoperation und die Dekompressionsoperation vom Steuergerät 114 ausgeführt werden, und die Steuereinheit 110 kann ohne eine separate Kompressionseinheit ausgebildet sein.
  • Die ECC-Einheit 112 kann basierend auf Daten, die vom Arbeitsspeicher 111 oder einem anderen Speicher (nicht gezeigt) bereitgestellt sind, einen Fehlerkorrekturcode erzeugen und kann den Fehlerkorrekturcode über die NAND-Schnittstelleneinheit 113 und den Kanal 130 an den NAND-Flashspeicher 120 geben. Die ECC-Einheit 112 kann einen Fehlerkorrekturcode vom NAND-Flashspeicher 120 empfangen und kann basierend auf dem Fehlerkorrekturcode Daten zurückgewinnen. Auf diese Weise können ursprüngliche Daten exakt zurückgewonnen werden, auch wenn während einer Datenübertragung oder Datenspeicherung ein Fehler auftritt. Die Steuereinheit 110 kann mit oder ohne die ECC-Einheit 112 ausgebildet sein.
  • Wenn das Speichersystem 100 in den Bereitschaftsmodus eintritt, kann die Kompressionseinheit 117 Metadaten komprimieren, die sie vom Arbeitsspeicher 111 empfangen hat, und die ECC-Einheit 112 kann basierend auf den komprimierten Metadaten einen Fehlerkorrekturcode erzeugen. Der Fehlerkorrekturcode kann über die NAND-Schnittstelleneinheit 113 und den Kanal 130 zum Cache-Register 121 des NAND-Flashspeichers 120 übertragen und darin gespeichert werden. Wenn das Speichersystem 100 aus dem Bereitschaftsmodus aufgeweckt wird, kann die ECC-Einheit 112 über den Kanal 130 und die NAND-Schnittstelleneinheit 113 den Fehlerkorrekturcode vom Cache-Register 121 empfangen und kann die komprimierten Metadaten basierend auf dem empfangenen Fehlerkorrekturcode zurückgewinnen. Die Kompressionseinheit 117 kann die komprimierten Metadaten von der ECC-Einheit 112 empfangen und kann die komprimierten Metadaten dekomprimieren, um die Metadaten an den Arbeitsspeicher 111 zu geben. Obwohl 1 ein Beispiel darstellt, bei dem die Kompressionseinheit 117 zwischen dem Arbeitsspeicher 111 und der ECC-Einheit 112 gelegen ist, kann in manchen Ausführungsformen die Kompressionseinheit 117 zwischen der ECC-Einheit 112 und der NAND-Schnittstelleneinheit 113 gelegen sein. In diesem Fall kann ein Fehlerkorrekturcode von der ECC-Einheit 112 basierend auf den im Arbeitsspeicher 111 gespeicherten Metadaten erzeugt werden und der Fehlerkorrekturcode kann von Kompressionseinheit 117 komprimiert werden, um den komprimierten Fehlerkorrekturcode zum Cache-Register 121 des NAND-Flashspeichers 120 zu geben.
  • Die NAND-Schnittstelleneinheit 113 kann eine Schnittstelle zwischen der Steuereinheit 110 und dem NAND-Flashspeicher 120 ausbilden. Zum Beispiel kann die NAND-Schnittstelleneinheit 113 vom Steuergerät 114 angesteuert werden, um Daten, die vom Arbeitsspeicher 111 oder einem anderen Speicher (nicht gezeigt) bereitgestellt sind, in den NAND-Flashspeicher 120 zu schreiben, oder um gespeicherte Daten aus dem NAND-Flashspeicher 120 zu lesen.
  • Das Steuergerät 114 kann Operationen der Steuereinheit 110 steuern. Zum Beispiel kann das Steuergerät 114 die Steuereinheit 110 so steuern, dass eine Schreiboperation ausgeführt wird, die Daten in den NAND-Flashspeicher 120 schreibt, oder eine Leseoperation, die Daten aus dem NAND-Flashspeicher 120 liest. Weiter kann das Steuergerät 114 eine Bereitschaftsmodus-Eintrittsoperation aus dem Normalmodus in den Bereitschaftsmodus oder eine Aufweckoperation vom Bereitschaftsmodus in den Normalmodus ausführen.
  • Der NAND-Flashspeicher 120 kann Daten speichern, die über den Kanal 130 von der Steuereinheit 110 bereitgestellt worden sind. Der NAND-Flashspeicher 120 kann das Cache-Register 121 und Speicherzellen 122 aufweisen. Während der Schreiboperation können von der Steuereinheit 110 bereitgestellte Daten vorübergehend im Cache-Register 121 gespeichert werden, und die im Cache-Register 121 gespeicherten Daten können seitenweise in die Speicherzellen 122 einprogrammiert werden. Während der Leseoperation können in den Speicherzellen 122 gespeicherte Daten vorübergehend seitenweise im Cache-Register 121 gespeichert werden und die im Cache-Register 121 gespeicherten Daten können an die Steuereinheit 110 ausgegeben werden. Zum Beispiel kann das Cache-Register 121 durch eine Mehrzahl von Flip-Flops oder eine Mehrzahl von Zwischenspeichern (Latches) ausgebildet sein. Die Speicherzellen 122 können in einer Matrixform aus einer Mehrzahl von Spalten und einer Mehrzahl von Zeilen angeordnet sein. Gemäß mindestens einer beispielhaften Ausführungsform kann der NAND-Flashspeicher 120 das Cache-Register 121 in verschiedener Größe und Anzahl aufweisen. Zum Beispiel kann der NAND-Flashspeicher 120 zwei Cache-Register beinhalten, von denen jedes eine Größe aufweist, die zu einer Seite der Speicherzellen 122 korrespondiert.
  • Der Kanal 130 kann Wege für einen Befehl, eine Adresse, Daten usw. zwischen der Steuereinheit 110 und dem NAND-Flashspeicher 120 bereitstellen. Der Kanal 130 kann eine Mehrzahl von Eingangs-/Ausgangs(I/O)-Leitungen I/O 0, I/O 1 und I/O 7 umfassen. Zum Beispiel können der Befehl, die Adresse und Eingabedaten von der Steuereinheit 110 zum NAND-Flashspeicher 120 über die Eingangs-/Ausgangs(I/O)-Leitungen I/O 0, I/O 1 und I/O 7 mit einer Datenbreite von 8 Bit übertragen werden und Ausgabedaten können vom NAND-Flashspeicher 120 zur Steuereinheit 110 über die Eingangs-/Ausgangs(I/O)-Leitungen I/O 0, I/O 1 und I/O 7 mit einer Datenbreite von 8 Bit übertragen werden.
  • Obwohl es in 1 nicht dargestellt ist, kann der Kanal 130 weiter eine Steuerleitung zum Übertragen eines Steuersignals umfassen. Zum Beispiel kann die Steuerleitung ein Befehlszwischenspeicherfreigabe(CLE, Command Latch Enable)-Signal, ein Adressenzwischenspeicherfreigabe(ALE, Address Latch Enable)-Signal, ein Chipfreigabe(/CE)-Signal, ein Lesefreigabe(/RE)-Signal, ein Schreibfreigabe(/WR)-Signal, ein Schreibschutz(/WP)-Signal, ein Bereit-/Belegt(R/B)-Ausgabesignal, ein Energieversorgungs(VCC)-Signal, ein Masse(VSS)-Signal usw. übertragen. Obwohl 1 darstellt, dass der Kanal 130 acht Eingangs-/Ausgangs(I/O)-Leitungen I/O 0, I/O 1 und I/O 7 aufweist, kann der Kanal 130 in manchen Ausführungsformen eine oder mehrere Eingangs-/Ausgangs-Leitungen aufweisen.
  • Nachfolgend wird eine Modusumschaltung des Speichersystems 100 vom Normalmodus in den Bereitschaftsmodus oder vom Bereitschaftsmodus in den Normalmodus beschrieben.
  • Wenn das Speichersystem 100 in den Bereitschaftsmodus eintritt, kann das Steuergerät 114 den Arbeitsspeicher 111 so ansteuern, dass er Metadaten zur NAND-Schnittstelleneinheit 113 führt. In manchen Ausführungsformen kann die ECC-Einheit 112 aus den aus dem Arbeitsspeicher 111 gelesenen Metadaten einen Fehlerkorrekturcode erzeugen und der Fehlerkorrekturcode kann der NAND-Schnittstelleneinheit 113 zugeführt werden. Die Metadaten können von der Kompressionseinheit 117 komprimiert werden und die komprimierten Metadaten können der NAND-Schnittstelleneinheit 113 zugeführt werden. Die NAND-Schnittstelleneinheit 113 kann vom Steuergerät 114 so angesteuert werden, dass sie einen Schreibbefehlscode erzeugt, der die Metadaten beinhaltet. Der Schreibbefehlscode kann dem NAND-Flashspeicher 120 über den Kanal 130 zugeführt werden. Der NAND-Flashspeicher 120 kann den Schreibbefehlscode durch den Kanal 130 empfangen und in Abhängigkeit vom Schreibbefehlscode die Metadaten im Cache-Register 121 speichern. Der Schreibbefehlscode kann den NAND-Flashspeicher 120 informieren, dass die Metadaten in das Cache-Register 121 zu speichern sind und nicht in die Speicherzellen 122 einprogrammiert werden sollen. Auf diese Weise kann der NAND-Flashspeicher 120 in Abhängigkeit vom Schreibbefehlscode die Metadaten im Cache-Register 121 speichern und kann die Metadaten nicht in die Speicherzellen 122 einprogrammieren. Der Schreibbefehlscode wird nachfolgend mit Bezug zu den 2A bis 2C ausführlich beschrieben.
  • Da die Metadaten im Bereitschaftsmodus im Cache-Register 121 des NAND-Flashspeichers 120 gespeichert werden, kann das Speichersystem 100 dem Arbeitsspeicher 111 im Bereitschaftsmodus keine Energie zuführen. Dementsprechend kann der Energieverbrauch während des Bereitschaftsmodus reduziert werden.
  • In einigen Ausführungsformen können die Energieversorgung für das Cache-Register 121 und die Energieversorgung für die Speicherzellen 122 unabhängig gesteuert werden. In diesem Fall kann im Bereitschaftsmodus das Cache-Register 121 kontinuierlich mit Energie versorgt werden und die Speicherzellen 122 können nicht mit Energie versorgt werden. Dementsprechend kann der Energieverbrauch im Bereitschaftsmodus weiter reduziert werden.
  • Wenn das Speicherelement 100 aus dem Bereitschaftsmodus aufgeweckt wird, kann die NAND-Schnittstelleneinheit 113 vom Steuergerät 114 so angesteuert werden, dass es einen Lesebefehlscode erzeugt. Der NAND-Flashspeicher 120 kann den Lesebefehlscode durch den Kanal 130 empfangen und kann die im Cache-Register 121 gespeicherten Metadaten ausgeben. Die Steuereinheit 110 kann die Metadaten durch den Kanal 130 empfangen und kann die Metadaten im Arbeitsspeicher 111 speichern. Die Steuereinheit 110 kann basierend auf den im Arbeitsspeicher 111 gespeicherten Metadaten Operationen des Normalmodus ausführen (z. B. eine Programmoperation, eine Leseoperation oder eine Löschoperation).
  • Dementsprechend kann eine Modusumschaltung zwischen dem Normalmodus und dem Bereitschaftsmodus schnell durchgeführt werden, weil die Metadaten in das Cache-Register 121 anstatt in die Speicherzellen 122 eingeschrieben werden können, wenn das Speicherelement 100 in den Bereitschaftsmodus eintritt, und die Metadaten aus dem Cache-Register 121 anstatt aus den Speicherzellen 122 ausgelesen werden können, wenn das Speicherelement 100 aus dem Bereitschaftsmodus aufgeweckt wird.
  • Wie oben beschrieben kann im Speichersystem 100 nach mindestens einer beispielhaften Ausführungsform der Arbeitsspeicher 111 ohne Energieversorgung sein, da die Metadaten des Arbeitsspeichers 111 im Cache-Register 121 des NAND-Flashspeichers 120 gespeichert werden können, wodurch der Energieverbrauch im Bereitschaftsmodus verringert ist. Weiter können im Speichersystem 100 nach mindestens einer beispielhaften Ausführungsform die Operation zum Eintritt in den Bereitschaftsmodus und die Aufweckoperation schnell durchgeführt werden, da die Metadaten in das Cache-Register 121 anstatt die Speicherzellen 122 geschrieben oder daraus gelesen werden können.
  • Der Arbeitsspeicher 111 und das Steuergerät 114 können im gleichen Chip ausgebildet sein oder sie können in separaten Chips ausgebildet sein. Obwohl 1 das Speichersystem 100 so darstellt, dass es den NAND-Flashspeicher 120 beinhaltet, kann das Speichersystem 100 in einigen Ausführungsformen anstelle von oder zusammen mit dem NAND-Flashspeicher 120 einen PRAM-Speicher (Phase-Change Random Access Memory), einen RRAM-Speicher (Resistance Random Access Memory), einen NFGM-Speicher (Nano Floating Gate Memory), einen PoRAM-Speicher (Polymer Random Access Memory), einen MRAM-Speicher (Magnetic Random Access Memory), einen FRAM-Speicher (Ferroelectric Random Access Memory), einen NOR-Flashspeicher usw. beinhalten. Obwohl 1 das Speichersystem 100 so darstellt, dass es einen NAND-Flashspeicher 120 beinhaltet, kann das Speichersystem 100 eine Mehrzahl von NAND-Flashspeichern 120 beinhalten. In einem Fall, bei dem das Speichersystem 100 eine Mehrzahl von NAND-Flashspeichern aufweist, kann das Speichersystem 100 einen oder mehrere Kanäle zwischen der Steuereinheit 110 und der Mehrzahl von NAND-Flashspeichern aufweisen.
  • Die 2A bis 2C zeigen Schaubilder, die Beispiele eines Schreibbefehlscodes und eines Lesebefehlscodes darstellen.
  • 2A stellt ein Beispiel eines Schreibbefehlscodes und eines Lesebefehlscodes dar, die ein typisches NAND-Schnittstellenprotokoll verwenden.
  • Mit Bezug zu 2A beinhaltet ein Schreibbefehlscode 210a ein erstes Befehlsfeld 211a, ein erstes Adressfeld 212a und ein Eingangsdatenfeld 213a. Das erste Befehlsfeld 211a kann mit einem seriellen Dateneingabebefehl gefüllt sein (z. B. 80h). In einigen Ausführungsformen kann das erste Adressfeld 212a einen NULL-Status aufweisen oder kann mit ”NULL” gefüllt sein. Zum Beispiel können alle Bits des ersten Adressfelds 212a mit Logikpegeln im Low-Zustand, das heißt einem niedrigen Pegel, oder High-Zustand (Hi-Z, High Impedance), das heißt einem hohen Pegel, verknüpft sein. In anderen Ausführungsformen kann das erste Adressfeld 212a mit einer spezifischen Bitstruktur gefüllt sein, die angibt, dass Daten in einem Cache-Register zu speichern sind. In noch weiteren Ausführungsformen können Daten im ersten Adressfeld 212a ignoriert werden. Das Eingangsdatenfeld 213a kann mit Metadaten gefüllt sein, die im Arbeitsspeicher gespeichert sind, wie es in 1 dargestellt ist. Zum Beispiel kann das Eingangsdatenfeld 213a mit Metadaten bis zu einem Umfang von einer Seite (z. B. 8 K-Bytes) gefüllt sein.
  • Wenn ein Speichersystem 100 von 1 in einen Bereitschaftsmodus eintritt, kann eine Steuereinheit 110 von 1 den Schreibbefehlscode 210a zu einem NAND-Flashspeicher 120 von 1 übertragen und kann einen Seitenprogrammbestätigungsbefehl (z. B. 10h) nicht übertragen, nachdem der Schreibbefehlscode 210a übertragen worden ist. Da der NAND-Flashspeicher 120 von 1 den Schreibbefehlscode 210a empfängt, ohne dass er den Seitenprogrammbestätigungsbefehl empfängt, kann der NAND-Flashspeicher 120 von 1 die Metadaten des Eingangsdatenfelds 213a im Cache-Register 121 von 1 speichern, ohne die Metadaten in Speicherzellen 122 von 1 zu programmieren.
  • Eine Lesebefehlscode 220a kann ein zweites Befehlsfeld 221a, ein zweites Adressfeld 222a, ein drittes Befehlsfeld 223a, ein drittes Adressfeld 224a, ein viertes Befehlsfeld 225a und ein Ausgabedatenfeld 226a aufweisen. Zum Beispiel kann das zweite Befehlsfeld 221a mit ”00h” gefüllt sein, das zweite Adressfeld 224a kann mit ”NULL” oder einer spezifischen Struktur gefüllt sein, das dritte Befehlsfeld 223a kann mit ”05h” gefüllt sein, das dritte Adressfeld 224a kann mit ”NULL” oder einer spezifischen Struktur gefüllt sein und das vierte Befehlsfeld 225a kann mit ”E0h” gefüllt sein, Das Ausgabedatenfeld 226a kann mit Metadaten gefüllt sein, die im Cache-Register 121 von 1 gespeichert sind. Zum Beispiel kann das Ausgabedatenfeld 226a mit Metadaten bis zu einem Umfang von einer Seite (z. B. 8 K-Bytes) gefüllt sein.
  • Wenn das Speichersystem 100 von 1 aus dem Bereitschaftsmodus aufgeweckt wird, kann die Steuereinheit 110 von 1 einen Lesebestätigungsbefehl (z. B. 30h) nicht an den NAND-Flashspeicher 120 von 1 übertragen und kann das zweite Befehlsfeld 221a, das zweite Adressfeld 222a, das dritte Befehlsfeld 223a, das dritte Adressfeld 224a und das vierte Befehlsfeld 225a, die mit Werten gefüllt sind, wie es oben beschrieben ist, übertragen. Dann kann der NAND-Flashspeicher 120 von 1 eine Seite aus den Speicherzellen 122 von 1 an das Cache-Register 121 von 1 nicht lesen und kann das Ausgangsdatenfeld 226a mit den im Cache-Register 121 von 1 gespeicherten Metadaten füllen, um die Metadaten an die Steuereinheit 110 von 1 bereitzustellen.
  • 2B stellt ein Beispiel eines Schreibbefehlscodes in zwei Ebenen und eines Lesebefehlscodes in zwei Ebenen dar, die ein typisches NAND-Schnittstellenprotokoll verwenden. Ein NAND-Flashspeicher, der die in 2B dargestellten Schreibbefehlscodes und Lesebefehlscodes verwendet, kann eine Programmoperation in zwei Ebenen und eine Leseoperation in zwei Ebenen unterstützen.
  • Mit Bezug zu 2B beinhaltet ein Schreibbefehlscode 210b ein erstes Befehlsfeld 211b, ein erstes Adressfeld 212b, ein erstes Eingangsdatenfeld 213b, ein zweites Befehlsfeld 214b, ein zweites Adressfeld 215b und ein zweites Eingangsdatenfeld 216b. Zum Beispiel kann der erste Befehl 211b mit ”80h” gefüllt sein, das erste Adressfeld 212b kann mit ”NULL” oder einer spezifischen Struktur gefüllt sein, das zweite Befehlsfeld 214b kann mit ”81h” gefüllt sein, das zweite Adressfeld 215b kann mit ”NULL” oder einer spezifischen Struktur gefüllt sein. Das erste Eingangsdatenfeld 213b und das zweite Eingangsdatenfeld 216b können mit Metadaten gefüllt sein, die im Arbeitsspeicher 111 von 1 gespeichert sind. Zum Beispiel können das erste Eingangsdatenfeld 213b und das zweite Eingangsdatenfeld 216b jeweils mit Metadaten bis zum Umfang einer Seite gefüllt sein.
  • Wenn ein Speichersystem 100 von 1 in einen Bereitschaftsmodus eintritt, kann eine Steuereinheit 110 von 1 den Schreibbefehlscode 210b zu einem NAND-Flashspeicher 120 von 1 übertragen und kann weder einen Seitenprogrammblindbefehl (z. B. 11h) noch einen Seitenprogrammbefehl (z. B. 10h) übertragen. Da der NAND-Flashspeicher 120 von 1 den Schreibbefehlscode 210b empfängt, ohne dass er den Seitenprogrammblindbefehl und den Seitenprogrammbefehl empfängt, kann der NAND-Flashspeicher 120 von 1 die Metadaten des ersten Eingangsdatenfelds 213a und des zweiten Eingangsdatenfelds 216b im Cache-Register 121 von 1 speichern, ohne die Metadaten in Speicherzellen 122 von 1 zu programmieren.
  • Ein Lesebefehlscode 220b kann ein drittes Befehlsfeld 221b, ein drittes Adressfeld 222b, ein viertes Befehlsfeld 223b, ein viertes Adressfeld 224b, ein fünftes Befehlsfeld 225b, ein erstes Ausgabedatenfeld 226b, ein sechstes Befehlsfeld 227b, ein fünftes Adressfeld 228b, ein siebtes Befehlsfeld 229b, ein sechstes Adressfeld 230b, ein achtes Befehlsfeld 231b und ein zweites Ausgabedatenfeld 232b aufweisen. Zum Beispiel kann das dritte Befehlsfeld 221b mit ”00h” gefüllt sein, das dritte Adressfeld 222b kann mit ”NULL” oder einer spezifischen Struktur gefüllt sein, das vierte Befehlsfeld 223b kann mit ”05h” gefüllt sein, das vierte Adressfeld 224b kann mit ”NULL” oder einer spezifischen Struktur gefüllt sein, das fünfte Befehlsfeld 225b kann mit ”E0h” gefüllt sein, das sechste Befehlsfeld 227b kann mit ”00h” gefüllt sein, das fünfte Adressfeld 228b kann mit ”NULL” oder einer spezifischen Struktur gefüllt sein, das siebte Befehlsfeld 229b kann mit ”05h” gefüllt sein, das sechste Adressfeld 230b kann mit ”NULL” oder einer spezifischen Struktur gefüllt sein und das achte Befehlsfeld 231b kann mit ”E0h” gefüllt sein. Das erste Ausgabedatenfeld 226b und das zweite Ausgabedatenfeld 232b können mit Metadaten gefüllt sein, die im Cache-Register 121 von 1 gespeichert sind. Zum Beispiel können in einem Fall, bei dem der NAND-Flashspeicher 120 von 1 zwei Cache-Register beinhalten kann, von denen jedes einen Umfang aufweist, der zu einer Seite der Speicherzellen 122 von 1 korrespondiert, das erste Ausgabedatenfeld 226b und das zweite Ausgabedatenfeld 232b mit Metadaten gefüllt sein, die jeweils entsprechend in den beiden Cache-Registern gespeichert sind.
  • Wenn das Speichersystem 100 von 1 aus dem Bereitschaftsmodus aufgeweckt wird, kann die Steuereinheit 110 von 1 einen Lesebestätigungsbefehl (z. B. 30h) an den NAND-Flashspeicher 120 von 1 nicht übertragen und kann das dritte Befehlsfeld 221b, das dritte Adressfeld 222b, das vierte Befehlsfeld 223b, das vierte Adressfeld 224b und das fünfte Befehlsfeld 225b, die mit Werten gefüllt sind, wie es oben beschrieben ist, übertragen. Dann kann der NAND-Flashspeicher 120 von 1 eine Seite aus den Speicherzellen 122 von 1 an ein Cache-Register nicht lesen und kann das erste Ausgangsdatenfeld 226b mit den in dem einen Cache-Register gespeicherten Metadaten füllen, um die Metadaten an die Steuereinheit 110 von 1 bereitzustellen. Danach kann die Steuereinheit 110 von 1 das sechste Befehlsfeld 227b, das fünfte Adressfeld 228b, das siebte Befehlsfeld 229b, das sechste Adressfeld 230b und das achte Befehlsfeld 231b, die mit Werten gefüllt sind, wie es oben beschrieben ist, übertragen. Dann kann der NAND-Flashspeicher 120 von 1 eine Seite aus den Speicherzellen 122 von 1 an ein anderes Cache-Register nicht lesen und kann das zweite Ausgangsdatenfeld 232b mit den in dem anderen Cache-Register gespeicherten Metadaten füllen, um die Metadaten an die Steuereinheit 110 von 1 bereitzustellen.
  • 2C stellt ein Beispiel eines Schreibbefehlscodes und eines Lesebefehlscodes dar, die zu einem Befehlssatz eines typischen NAND-Schnittstellenprotokolls addiert werden.
  • Mit Bezug zu 2C beinhaltet ein Schreibbefehlscode 210c ein erstes Befehlsfeld 211c und ein Eingangsdatenfeld 213c. Das erste Befehlsfeld 211c kann mit einem neuen Befehlswert gefüllt sein, der im Befehlssatz des typischen NAND-Schnittstellenprotokolls nicht definiert ist. Zum Beispiel kann der neue Befehlswert ein Wert von einem Byte sein, außer ”00h”, ”05h”, ”10h”, ”11h”, ”30h”, ”35h”, ”60h”, ”70h”, ”7Bh”, ”80h”, ”81h”, ”85h”, ”90h”, ”D0h”, ”E0h”, ”F1h”, ”FFh” usw. Das Eingangsdatenfeld 213c kann mit Metadaten gefüllt sein, die im Arbeitsspeicher 111 von 1 gespeichert sind. Zum Beispiel kann das Eingangsdatenfeld 213c mit Metadaten bis zu einem Umfang von einer Seite oder mehr gefüllt sein.
  • Wenn ein Speichersystem 100 von 1 in einen Bereitschaftsmodus eintritt, kann eine Steuereinheit 110 von 1 den Schreibbefehlscode 210c zu einem NAND-Flashspeicher 120 von 1 übertragen. Dann kann der NAND-Flashspeicher 120 von 1 die Metadaten des Eingangsdatenfelds 213c in einem Cache-Register 121 von 1 speichern, ohne die Metadaten in Speicherzellen 122 von 1 zu programmieren.
  • Ein Lesebefehlscode 220c kann ein zweites Befehlsfeld 221c und ein Ausgabedatenfeld 226c aufweisen. Das zweite Befehlsfeld 221c kann mit einem neuen Befehlswert gefüllt sein, der im Befehlssatz des typischen NAND-Schnittstellenprotokolls nicht definiert ist. Zum Beispiel kann der neue Befehlswert ein Wert von einem Byte sein, außer ”00h”, ”05h”, ”10h”, ”11h”, ”30h”, ”35h”, ”60h”, ”70h”, ”7Bh”, ”80h”, ”81h”, ”85h”, ”90h”, ”D0h”, ”E0h”, ”F1h”, ”FFh” usw. Das Ausgabedatenfeld 226c kann mit Metadaten gefüllt sein, die im Cache-Register 121 von 1 gespeichert sind. Zum Beispiel kann das Ausgabedatenfeld 226c mit Metadaten bis zu einem Umfang von einer Seite oder mehr gefüllt sein.
  • Wenn das Speichersystem 100 von 1 aus dem Bereitschaftsmodus aufgeweckt wird, kann die Steuereinheit 110 von 1 das zweite Befehlsfeld 221c, das mit Werten gefüllt ist, wie es oben beschrieben ist, übertragen. Dann kann der NAND-Flashspeicher 120 von 1 eine Seite aus den Speicherzellen 122 von 1 an das Cache-Register 121 von 1 nicht lesen und kann das Ausgangsdatenfeld 226c mit den im Cache-Register 121 von 1 gespeicherten Metadaten füllen, um die Metadaten an die Steuereinheit 110 von 1 bereitzustellen.
  • 3 zeigt ein Blockdiagramm, das einen NAND-Flashspeicher in einem Speichersystem von 1 darstellt.
  • Mit Bezug zu 3 beinhaltet ein NAND-Flashspeicher 120 ein Cache-Register 121, Speicherzellen 122, einen Eingangs-/Ausgangs-Schaltkreis 123, einen Adressenschaltkreis 124 und einen Steuerschaltkreis 125.
  • Der Eingangs-/Ausgangs-Schaltkreis 123 kann mit einem Kanal 130 von 1 gekoppelt sein und eine Mehrzahl von Eingangs-/Ausgangs(I/O)-Leitungen I/O 0, I/O 1 und I/O 7 umfassen. Der Eingangs-/Ausgangs-Schaltkreis 123 kann von einer Steuereinheit 110 von 1 durch die Mehrzahl von Eingangs-/Ausgangs(I/O)-Leitungen I/O 0, I/O 1 und I/O 7 einen Befehl CMD, eine Adresse ADDR und Eingangsdaten DATA empfangen und kann durch die Mehrzahl von Eingangs-/Ausgangs(I/O)-Leitungen I/O 0, I/O 1 und I/O 7 Ausgangsdaten DATA zur Steuereinheit 110 von 1 übertragen. Der Eingangs-/Ausgangs-Schaltkreis 123 kann dem Steuerschaltkreis 125 den von der Steuereinheit 110 von 1 empfangenen Befehl CMD zuführen, kann dem Adressenschaltkreis 124 die von der Steuereinheit 110 von 1 empfangene Adresse ADDR zuführen, dem Cache-Register 121 die von der Steuereinheit 110 von 1 empfangenen Eingangsdaten DATA zuführen und kann der Steuereinheit 110 von 1 die vom Cache-Register 121 empfangenen Ausgangsdaten DATA zuführen.
  • Der Adressenschaltkreis 124 kann die von der Steuereinheit 110 von 1 empfangene Adresse ADDR über den Eingangs-/Ausgangs-Schaltkreis 123 zwischenspeichern und decodieren, um eine Zeile der Speicherzellen 122 und/oder eine Spalte des Cache-Registers 121 auszuwählen.
  • Der Steuerschaltkreis 125 kann Operationen des NAND-Flashspeichers 120 in Abhängigkeit vom Befehl CMD, der von der Steuereinheit 110 von 1 über den Eingangs-/Ausgangs-Schaltkreis 123 empfangen worden ist, steuern. Der Steuerschaltkreis 125 kann eine Wortleitungsspannung erzeugen, wie eine Programmierspannung, eine Passspannung, eine Verifizierungsspannung, eine Lesespannung usw. Der Steuerschaltkreis 125 kann ein Steuersignal C/S von der Steuereinheit 110 von 1 empfangen. Zum Beispiel kann der Steuerschaltkreis 125 ein CLE-Signal, ein ALE-Signal, ein /CE-Signal, ein /RE-Signal, ein /WE-Signal, ein /WP-Signal, ein R/B-Signal usw. empfangen.
  • In einigen Ausführungsformen kann der Steuerschaltkreis 125 dem Cache-Register 121 durch einen Energieversorgungsweg 126, der ausschließlich für das Cache-Register 121 genutzt wird, Energie zuführen. Zum Beispiel kann der Steuerschaltkreis 125 dem Cache-Register 121 durch den Energieversorgungsweg 126 in einem Bereitschaftsmodus Energie zuführen, und kann die Energie zu mindestens einem Teil der Schaltkreise mit Ausnahme des Cache-Registers 121 des NAND-Flashspeichers 120 im Bereitschaftsmodus abschalten. Insbesondere können die Speicherzellen 122 im Bereitschaftsmodus nicht mit Energie versorgt werden.
  • Die von der Steuereinheit 110 von 1 über den Eingangs-/Ausgangs-Schaltkreis 123 empfangenen Eingangsdaten DATA können in das Cache-Register 121 geladen werden und die in das Cache-Register 121 geladenen Eingangsdaten DATA können seitenweise in die Speicherzellen 122 einprogrammiert werden. Die Ausgangsdaten DATA können seitenweise aus den Speicherzellen 122 in das Cache-Register 121 gelesen werden und können über den Eingangs-/Ausgangs-Schaltkreis 123 vom Cache-Register 121 zur Steuereinheit 110 von 1 geführt werden.
  • Beim Eintritt in den Bereitschaftsmodus können über den Eingangs-/Ausgangs-Schaltkreis 123 von der Steuereinheit 110 von 1 empfangene Metadaten DATA im Cache-Register 121 gespeichert werden und können in die Speicherzellen 122 nicht einprogrammiert werden. Beim Aufwecken aus dem Bereitschaftsmodus kann eine Datenleseoperation aus den Speicherzellen 122 in das Cache-Register 121 nicht durchgeführt werden und die im Cache-Register 121 gespeicherten Metadaten DATA können über den Eingangs-/Ausgangs-Schaltkreis 123 der Steuereinheit 110 von 1 zugeführt werden.
  • 4 zeigt ein Schaubild, das ein Beispiel einer Speicherkapazität eines NAND-Flashspeichers von 3 darstellt.
  • Mit Bezug zu 4 können in einem Beispiel eines NAND-Flashspeichers Speicherzellen 122 ungefähr 4.152 Blöcke aufweisen, wobei jeder ungefähr 128 Seiten umfasst. Auf diese Weise können die Speicherzellen 122 519k Seiten umfassen, wobei jede einen Umfang von (8k + 640) Bytes aufweist. Mit anderen Worten, die Speicherzellen 122 können einen Umfang von 35.811 Megabits aufweisen. Ein Cache-Register 121 kann einen Umfang von einer Seite oder (8k + 640) Bytes aufweisen.
  • In einigen Ausführungsformen kann der NAND-Flashspeicher ein Cache-Register mit einem Umfang von einer Seite aufweisen. In anderen Ausführungsformen kann der NAND-Flashspeicher eine Mehrzahl von Cache-Registern beinhalten, wobei jedes einen Umfang von einer Seite aufweist. In noch anderen Ausführungsformen kann der NAND-Flashspeicher ein oder mehrere Cache-Register beinhalten, wobei jedes einen Umfang von zwei Seiten oder mehr aufweist.
  • 5 zeigt ein Blockdiagramm, das ein Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • Mit Bezug zu 5 beinhaltet ein Speichersystem 100a eine Steuereinheit 110a, einen NAND-Flashspeicher 120a und einen Kanal 130a. Das Speichersystem 100a von 5 kann ähnlich ausgebildet sein wie ein Speichersystem 100 von 1 mit Ausnahme des Kanals 130a und von Schaltkreisen, die mit dem Kanal 130a gekoppelt sind.
  • Der Kanal 130a zwischen der Steuereinheit 110a und dem NAND-Flashspeicher 120a kann eine Eingangs-/Ausgangs-Leitung I/O umfassen. Die Steuereinheit 110a kann ein serielles Signal durch Serialisieren eines Befehls, einer Adresse und/oder von Eingangsdaten unter Verwendung einer ersten Serialisierer-Deserialisierer(SERDES)-Einheit 115a, die in einer NAND-Schnittstelleneinheit 113a enthalten ist, zum NAND-Flashspeicher 120a übertragen und der NAND-Flashspeicher 120a kann das serielle Signal unter Verwendung einer zweiten SERDES-Einheit 126 deserialisieren. Weiter kann der NAND-Flashspeicher 120a ein serielles Signal durch Serialisieren von Ausgabedaten, die vom Cache-Register 121 bereitgestellt worden sind, unter Verwendung der zweiten SERDES-Einheit 126 an die Steuereinheit 110a übertragen und die Steuereinheit 110a kann das serielle Signal unter Verwendung der ersten SERDES-Einheit 115a deserialisieren. Dementsprechend kann die Anzahl an Signalleitungen des Kanals 130a zwischen der Steuereinheit 110a und dem NAND-Flashspeicher 120a reduziert werden.
  • 6 zeigt ein Blockdiagramm, das ein Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • Mit Bezug zu 6 beinhaltet ein Speichersystem 100b eine Steuereinheit 110b, einen NAND-Flashspeicher 120b und einen ersten Kanal 130 und einen zweiten Kanal 140. Das Speichersystem 100b kann ähnlich wie ein Speichersystem 100 von 1 ausgebildet sein, mit der Ausnahme, dass das Speichersystem 100b weiter den zweiten Kanal 140 beinhaltet.
  • Der zweite Kanal 140 kann ausschließlich zum Übertragen von Metadaten zwischen der Steuereinheit 110b und dem NAND-Flashspeicher 120b genutzt werden. Wenn zum Beispiel das Speichersystem 100b in einen Bereitschaftsmodus eintritt, können die in einem Arbeitsspeicher 111 gespeicherten Metadaten durch den zweiten Kanal 140 zu einem Cache-Register 121 übertragen werden. Wenn das Speichersystem 100b aus dem Bereitschaftsmodus aufgeweckt wird, können die im Cache-Register 121 gespeicherten Metadaten durch den zweiten Kanal 140 zum Arbeitsspeicher 111 übertragen werden.
  • In einigen Ausführungsformen kann der zweite Kanal 140 eine Eingangs-/Ausgangs-Leitung umfassen. Wenn in diesem Fall der Bereitschaftsmodus eingenommen wird, können die im Arbeitsspeicher 111 gespeicherten Metadaten durch eine erste SERDES-Einheit, die in einer NAND-Schnittstelleneinheit 113b enthalten ist, serialisiert werden und die serialisierten Metadaten können von einer zweiten SERDES-Einheit, die im NAND-Flashspeicher 120b enthalten ist, deserialisiert werden. Beim Aufwecken aus dem Bereitschaftsmodus können die im Cache-Register 121 gespeicherten Metadaten von der zweiten SERDES-Einheit serialisiert werden und die serialisierten Metadaten können von der ersten SERDES-Einheit deserialisiert werden. in anderen Ausführungsformen kann der zweite Kanal 140 eine Mehrzahl von Eingangs-/Ausgangs-Leitungen umfassen.
  • Wie oben beschrieben kann die Übertragung von Metadaten schnell durchgeführt werden, da das Speichersystem 100b nach mindestens einer beispielhaften Ausführungsform den Kanal 140 umfassen kann, der ausschließlich für die Metadaten verwendet wird. Weiter kann eine Modusumschaltung zwischen einem Normalmodus und dem Bereitschaftsmodus schnell durchgeführt werden.
  • 7 zeigt ein Blockdiagramm, das ein Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • Mit Bezug zu 7 beinhaltet ein Speichersystem 100c eine Steuereinheit 110c, eine Mehrzahl von NAND-Flashspeichern 120-1, 120-2 und 120-n und eine Mehrzahl von Kanälen 130-1, 130-2 und 130-n. Im Vergleich zu einem Speichersystem 100 von 1 kann das Speichersystem 100c von 7 weiter einen oder mehrere NAND-Flashspeicher und einen oder mehrere Kanüle umfassen.
  • Eine Mehrzahl von Cache-Registern 121-1, 121-2 und 121-n, die in der Mehrzahl von NAND-Flashspeichern 120-1, 120-2 und 120-n enthalten sind, können über die Mehrzahl von Kanälen 130-1, 130-2 und 130-n unabhängig angesteuert werden oder sie können gleichzeitig angesteuert werden. Metadaten können in Abhängigkeit von der Kapazität und der Anzahl an in der Steuereinheit 110c vorhandenen Arbeitsspeichern, der Kapazität und Anzahl an Cache-Registern 121-1, 121-2 und 121-n, ob eine in der Steuereinheit 110c vorhandene Kompressionseinheit die Metadaten komprimiert, der Kompressionsrate der Kompressionseinheit usw. auf verschiedene Weise von der Steuereinheit 110c zu den Cache-Registern 121-1, 121-2 und 121-n übertragen und darin gespeichert werden.
  • Zum Beispiel beträgt in einem Fall, bei dem die Steuereinheit 110c einen ersten bis vierten Arbeitsspeicher beinhaltet, wobei jeder eine Kapazität von 64 K-Bytes aufweist, die Kompressionsrate der Kompressionseinheit 112, das Speichersystem 100c beinhaltet einen ersten bis achten NAND-Flashspeicher und jedes der ersten bis achten Cache-Register, die jeweils in einem der ersten bis achten NAND-Flashspeicher enthalten sind, weist einen Umfang von 16 K-Bytes auf, im ersten Arbeitsspeicher gespeicherte Metadaten können im ersten und zweiten Cache-Register gespeichert werden, im zweiten Arbeitsspeicher gespeicherte Metadaten können im dritten und vierten Cache-Register gespeichert werden, im dritten Arbeitsspeicher gespeicherte Metadaten können im fünften und sechsten Cache-Register gespeichert werden und im vierten Arbeitsspeicher gespeicherte Metadaten können im siebten und achten Cache-Register gespeichert werden. In diesem Fall können in einem Bereitschaftsmodus der erste bis vierte Arbeitsspeicher, die in der Steuereinheit 110c enthalten sind, jeweils nicht mit Energie versorgt werden.
  • In einem anderen Fall, bei dem die Steuereinheit 110c einen ersten bis vierten Arbeitsspeicher beinhaltet, wobei jeder eine Kapazität von 64 K-Bytes aufweist, beträgt die Kompressionsrate der Kompressionseinheit 1/2, das Speichersystem 100c beinhaltet einen ersten bis vierten NAND-Flashspeicher und jedes der ersten bis vierten Cache-Register, die jeweils in einem der ersten bis vierten NAND-Flashspeicher enthalten sind, weist einen Umfang von 16 K-Bytes auf, im ersten Arbeitsspeicher gespeicherte Metadaten können im ersten und zweiten Cache-Register gespeichert werden und im zweiten Arbeitsspeicher gespeicherte Metadaten können im dritten und vierten Cache-Register gespeichert werden. In diesem Fall können in einem Bereitschaftsmodus der erste und zweite Arbeitsspeicher nicht mit Energie versorgt werden und der dritte und vierte Arbeitsspeicher können kontinuierlich mit Energie versorgt werden.
  • Wie oben beschrieben, je mehr NAND-Flashspeicher 120-1, 120-2 und 120-n das Speichersystem 100c umfasst, desto mehr Arbeitsspeicher in der Steuereinheit 110c können während des Bereitschaftsmodus nicht mit Energie versorgt werden. Dementsprechend kann der Energieverbrauch weiter reduziert werden.
  • Obwohl 7 ein Beispiel des Speichersystems 100c darstellt, das die Mehrzahl von Kanälen 130-1, 130-2 und 130-n zwischen der Steuereinheit 110c und der Mehrzahl von NAND-Flashspeichern 120-1, 120-2 und 120-n beinhaltet, kann in einigen Ausführungsformen das Speichersystem 100c einen Kanal zwischen der Steuereinheit 110c und der Mehrzahl von NAND-Flashspeichern 120-1, 120-2 und 120-n beinhalten.
  • Die 8A bis 8D zeigen Blockdiagramme, die Beispiele eines Busprotokolls eines Speichersystems nach mindestens einer beispielhaften Ausführungsform darstellen.
  • 8A stellt ein Busprotokoll zwischen einer NAND-Schnittstellensteuereinheit 110 und einem NAND-Flashspeicher 120 dar. Die NAND-Schnittstellensteuereinheit 110 kann ein Steuersignal C/S und ein Adresssignal ADDR durch eine Steuersignalleitung bzw. eine Adresssignalleitung zum NAND-Flashspeicher 120 übertragen. Zum Beispiel kann das Steuersignal C/S ein CLE-Signal, ein ALE-Signal, ein /CE-Signal, ein /RE-Signal, ein /WE-Signal, ein /WP-Signal, ein R/B-Signal usw. beinhalten. Von der NAND-Schnittstellensteuereinheit 110 zum NAND-Flashspeicher 120 und vom NAND-Flashspeicher 120 zur NAND-Schnittstellensteuereinheit 110 können Daten DQ in beide Richtungen übertragen werden.
  • Mit Bezug zu 8B kann eine NAND-Schnittstellensteuereinheit 110 paketbasierte Steuersignale und Adresssignale C/A PACKET an einen NAND-Flashspeicher 120 übertragen. Daten DQ können in beide Richtungen übertragen werden.
  • Mit Bezug zu 8C kann eine NAND-Schnittstellensteuereinheit 110 paketbasierte Steuersignale, Adresssignale und Schreibsignale C/A/WD PACKET an einen NAND-Flashspeicher 120 übertragen. Ausgabedaten Q können vom NAND-Flashspeicher 120 zur NAND-Schnittstellensteuereinheit 110 in eine Richtung übertragen werden.
  • Mit Bezug zu 8D kann eine NAND-Schnittstellensteuereinheit 110 Steuersignale C/S an einen NAND-Flashspeicher 120 übertragen. Befehl, Adresse und Daten C/A/DQ können in beide Richtungen übertragen werden.
  • 9 zeigt ein Flussbild, das ein Verfahren zum Betreiben eines Speichersystems darstellt, wenn das Speichersystem von einem Normalmodus in einen Bereitschaftsmodus übergeht.
  • Mit Bezug zu den 1 und 9 kann das Speichersystem 100 kontinuierlich in einem Normalmodus betrieben werden (S61), wenn nicht bestimmt ist, dass das Speichersystem 100 in einen Bereitschaftsmodus eintritt (S62: NEIN).
  • Das Speichersystem 100 kann bestimmen, ob es in Abhängigkeit von einem internen oder externen Signal (S62) in den Bereitschaftsmodus eintritt. In einigen Ausführungsformen kann das Speichersystem 100 eine Zeitdauer messen, während der ein externes Eingangssignal nicht angelegt ist, wobei ein Zählwerk oder ein Taktgeber verwendet wird, der in einer Steuereinheit 110 oder einem NAND-Flashspeicher 120 vorgesehen ist. Wenn die gemessene Zeitdauer eine vorgegebene Zeitdauer überschreitet, kann das Speichersystem 100 entscheiden, ob es in einen Bereitschaftsmodus eintritt. in anderen Ausführungsformen kann das Speichersystem 100 entscheiden, ob es gemäß Umgebungsinformationen, wie verbleibender Energie in einer Batterie, in den Bereitschaftsmodus eintritt. In noch weiteren Ausführungsformen kann das Speichersystem 100 ein Bereitschaftsmodus-Eintrittssignal von einem externen Host empfangen, um zu entscheiden, ob es in den Bereitschaftsmodus eintritt. In noch weiteren Ausführungsformen kann das Speichersystem 100 ein Signal empfangen, das von einer Eingabeeinrichtung erzeugt ist (z. B., wenn ein Benutzer eine Taste an einem Mobiltelefon drückt), um zu entscheiden, ob es in den Bereitschaftsmodus eintritt.
  • Wenn bestimmt ist, dass das. Speichersystem 100 in den Bereitschaftsmodus eintritt (S62: JA), kann die Steuereinheit 110 Metadaten aus einem Arbeitsspeicher 111 lesen und kann einen Schreibbefehlscode erzeugen, der die Metadaten beinhaltet (S63). Zum Beispiel kann der Schreibbefehlscode ein Format aufweisen, wie es in den 2A bis 2C dargestellt ist, oder er kann nur die Metadaten beinhalten.
  • Die Steuereinheit 110 kann den Schreibbefehlscode zum NAND-Flashspeicher 120 übertragen, so dass die Metadaten in das Cache-Register 121 eingeschrieben werden (S64). Zum Beispiel kann der Schreibbefehlscode zum NAND-Flashspeicher 120 durch eine Mehrzahl von Eingangs-/Ausgangs-Leitungen I/O 0, I/O 1 und I/O 7 übertragen werden, die in einem Kanal 130 vorgesehen sind, durch eine serielle Eingangs-/Ausgangs-Leitung I/O, die in einem Kanal 130a vorgesehen ist, wie es in 5 dargestellt ist, oder durch einen Kanal 140, der ausschließlich für die Metadaten genutzt wird, wie es in 6 dargestellt ist. In einem anderen Beispiel kann der Schreibbefehlscode zu einer Mehrzahl von NAND-Flashspeichern 120-1, 120-2 und 120-n durch eine Mehrzahl von Kanälen 130-1, 130-2 und 130-n übertragen werden, wie es in 7 dargestellt ist.
  • Sobald die Metadaten im Cache-Register 121 gespeichert sind, kann das Speichersystem 100 im Bereitschaftsmodus arbeiten (S65). Während des Bereitschaftsmodus kann die Steuereinheit 110 die Energie zum Arbeitsspeicher 111 abschalten, wodurch sich der Energieverbrauch verringert. In einigen Ausführungsformen kann das Speichersystem mindestens zu einem Teil der Schaltkreise mit Ausnahme des Cache-Registers 121 und des NAND-Flashspeichers 120 die Energie abschalten, wodurch sich der Energieverbrauch weiter verringert.
  • 10 zeigt ein Flussbild, das ein Verfahren zum Betreiben eines Speichersystems darstellt, wenn das Speichersystem von einem Bereitschaftsmodus in einen Normalmodus übergeht.
  • Mit Bezug zu den 1 und 10 kann das Speichersystem 100 kontinuierlich in einem Bereitschaftsmodus betrieben werden (S71), wenn nicht bestimmt ist, dass das Speichersystem 100 in einen Normalmodus eintritt (S72: NEIN).
  • Das Speichersystem 100 kann bestimmen, ob es in Abhängigkeit von einem internen oder externen Signal (S72) in den Normalmodus eintritt. In einigen Ausführungsformen kann das Speichersystem 100 ein Signal empfangen, das von einer Eingabeeinrichtung erzeugt ist (z. B., wenn ein Benutzer eine Taste an einem Mobiltelefon drückt), um zu entscheiden, ob es in den Normalmodus eintritt. In anderen Ausführungsformen, wenn ein Mobiltelefon, das das Speichersystem 100 beinhaltet, eine Anfrage eines Anrufs basierend auf einem Pilotsignal empfängt, kann das Speichersystem 100 entscheiden, ob es in den Normalmodus eintritt. In noch anderen Ausführungsformen kann das Speichersystem 100 ein Wecksignal von einem externen Host empfangen, um zu entscheiden, ob es in den Normalmodus eintritt. In noch anderen Ausführungsformen, wenn eine Steuereinheit 110 Daten vom Host empfängt, kann das Speichersystem 100 entscheiden, ob es in den Normalmodus eintritt.
  • Wenn bestimmt ist, dass das Speichersystem 100 in den Normalmodus eintritt (S72: JA), kann die Steuereinheit 110 einen Lesebefehlscode erzeugen (S73). Zum Beispiel kann der Lesebefehlscode ein Format aufweisen, wie es in den 2A bis 2C dargestellt ist.
  • Der NAND-Flashspeicher 120 kann in einem Cache-Register 121 gespeicherte Metadaten in Abhängigkeit vom Lesebefehlscode zur Steuereinheit 110 übertragen (S74). Zum Beispiel können die Metadaten durch eine Mehrzahl von Eingangs-/Ausgangs-Leitungen I/O 0, I/O 1 und I/O 7, die in einem Kanal 130 vorgesehen sind, durch eine serielle Eingangs-/Ausgangs-Leitung I/O, die in einem Kanal 130a vorgesehen ist, wie es in 5 dargestellt ist, oder durch einen Kanal 140, der ausschließlich für die Metadaten genutzt wird, wie es in 6 dargestellt ist, zur Steuereinheit 110 übertragen werden.
  • Die Steuereinheit 110 kann die aus dem Cache-Register 121 gelesenen Metadaten in einen Arbeitsspeicher 111 schreiben (S75).
  • Sobald die Metadaten im Arbeitsspeicher 111 gespeichert sind, kann das Speichersystem 100 im Normalmodus arbeiten (S76). Da die Metadaten aus dem Cache-Register 121 statt aus Speicherzellen 122 gelesen werden, kann das Speichersystem 100 eine Modusumschaltung vom Bereitschaftsmodus zum Normalmodus schnell ausführen. In einigen Ausführungsformen können die Metadaten einen Bootcode oder einen Aufweckcode umfassen und die Steuereinheit 110 kann eine Aufweckoperation unter Verwendung des Bootcodes oder des Aufweckcodes durchführen.
  • 11 zeigt ein Blockdiagramm, das ein Computersystem mit einem Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • Mit Bezug zu 11 umfasst ein Computersystem 300 ein Speichersystem 100 und einen Host 310.
  • Das Speichersystem 100 kann eine Hostschnittstelleneinheit 116 umfassen, die eine Schnittstelle zum Host 310 bildet. Die Hostschnittstelleneinheit 116 kann ein Datenübertragungsprotokoll verwenden, das dem Host 310 zugeordnet ist, um mit dem Host 310 durch einen Kanal 320 zu kommunizieren. Zum Beispiel kann die Hostschnittstelleneinheit 116 mindestens eines von verschiedenen Schnittstellenprotokollen bereitstellen, wie Universal-Serial-Bus (USB), Multi-Media-Card (MMC), Peripheral-Component-Interconnect-Express (PCI-E), Small-Computer-System-Interface (SCSI), Serial-Attached-SCSI (SAS), Serial-Advanced-Technology-Attachment (SATA), Parallel-Advanced-Technology-Attachment (PATA), Enhanced-Small-Disk-Interface (ESDI), Integrated-Drive-Electronics-(IDE) usw.
  • Das Speichersystem 100 kann als Speicherkarte, Festkörperlaufwerk (SSD) usw. ausgebildet sein. Zum Beispiel kann das Speichersystem 100 eine Speicherkarte sein, wie eine MMC-Karte, eine sichere digitale Speicherkarte (SD-Karte), eine Mikro-SD-Karte, ein Speicherstick, eine ID-Karte, eine Personal-Computer-Memory-Cardinternational-Association(PCMCIA)-Karte, eine Chipkarte, eine USB-Karte, eine Smart-Karte (Smartcard), eine Campact-Flash(CF)-Karte usw.
  • In einigen Ausführungsformen kann das Speichersystem 100 mit dem Host 310 gekoppelt sein, wie mit einem Mobiltelefon, einem Smartphone, einem Personal-Digital-Assistant (PDA), das heißt einem persönlichen digitalen Assistenten, einem tragbaren Multimediaabspielgerät (PMP), einer Digitalkamera, einer tragbaren Spielekonsole, einem Musikabspielgerät, einem Personalcomputer (PC), einem Laptopcomputer, einem Camcorder, einem Videoabspielgerät, einem Digitalfernsehgerät usw.
  • In einigen Ausführungsformen kann das Speichersystem 100 und/oder Komponenten des Speichersystems 100 in verschiedenen Formen verpackt sein, wie Package-on-Package (PoP), Kugelgitteranordnung (Ball Grid Array, BGA), Chip-Scale-Package (CSP), Plastic-Leaded-Chip-Carrier (PLCC), Plastic-Dual-in-line-Package (PDIP), Diein-Waffle-Pack, Die-in-Wafer-Form, Chip-on-Board (COB), Ceramic-Dual-in-line-Package (CERDIP), Plastic-Metric-Quad-Flat-Pack (MQFP), Thin-Quad-Flat-Pack (TQFP), Small-Outline-IC (SOIC), Shrink-Small-Outline-Package (SSOP), Thin-Small-Outline-Package (TSOP), System-in-Package (SIP), Multi-Chip-Package (MCP), Wafer-Level-Fabricated-Package (WFP) oder Wafer-Level-Processed-Stack-Package (WSP).
  • 12 zeigt ein Blockdiagramm, das ein Festkörperlaufwerk (SSD) mit einem Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • Mit Bezug zu 12 umfasst ein Festkörperlaufwerk 400 eine Steuereinheit 410, eine Mehrzahl von NAND-Flashspeichern 460-1, 460-2 und 460-n und eine Mehrzahl von Kanälen 450-1, 450-2 und 450-n. Die Steuereinheit 410 kann ein Steuergerät 421, eine Kompressionseinheit 422, eine ECC-Einheit 423, eine Speichersteuereinheit 424, einen Arbeitsspeicher 430 und eine NAND-Schnittstelleneinheit 440 umfassen.
  • Wenn das Festkörperlaufwerk 400 in einen Bereitschaftsmodus eintritt, kann die Steuereinheit 410 im Arbeitsspeicher 430 gespeicherte Metadaten durch die Mehrzahl von Kanälen 450-1, 450-2 und 450-n in die Mehrzahl von NAND-Flashspeichern 460-1, 460-2 und 460-n schreiben. Wenn das Festkörperlaufwerk 400 aus dem Bereitschaftsmodus aufgeweckt wird, kann die Steuereinheit 410 in einer Mehrzahl von Cache-Registern, die in der Mehrzahl von NAND-Flashspeichern 460-1, 460-2 und 460-n vorgesehen sind, gespeicherte Metadaten durch die Mehrzahl von Kanälen 450-1, 450-2 und 450-n empfangen und kann die empfangenen Metadaten im Arbeitsspeicher 430 speichern. Dementsprechend kann das Festkörperlaufwerk 400 den Energieverbrauch reduzieren und kann eine Modusumschaltung schnell durchführen.
  • In einigen Ausführungsformen kann die Steuereinheit 410 eine Energieversorgung für die Mehrzahl von NAND-Flashspeichern 460-1, 460-2 und 460-n durch eine Mehrzahl von Energiesteuerleitungen 480-1, 480-2 und 480-n steuern. Zum Beispiel kann die Steuereinheit 410 (z. B. eine SSD-Steuereinheit) durch die Mehrzahl von Energiesteuerleitungen 480-1, 480-2 und 480-n die Mehrzahl von NAND-Flashspeichern 460-1, 460-2 und 460-n so ansteuern, dass Energieschaltkreise außer für die Cache-Register im Bereitschaftsmodus abgeschaltet werden.
  • In einigen Ausführungsformen kann das Festkörperlaufwerk 400 weiter eine Hostschnittstelleneinheit 470 umfassen, die eine Schnittstelle zum Host 500 bildet, und kann mit dem Host 500 verbunden sein, wie mit einem Mobiltelefon, einem Smartphone, einem Personal-Digital-Assistant (PDA), das heißt einem persönlichen digitalen Assistenten, einem tragbaren Multimediaabspielgerät (PMP), einer Digitalkamera, einer tragbaren Spielekonsole, einem Musikabspielgerät, einem Personalcomputer (PC), einem Laptopcomputer, einem Camcorder, einein Videoabspielgerät, einem Digitalfernsehgerät usw.
  • Obwohl 12 ein Beispiel darstellt, in dem der Arbeitsspeicher 430 außerhalb eines Chips ausgebildet ist, in dem das Steuergerät 421 ausgebildet ist, können in einigen Ausführungsformen der Arbeitsspeicher 430 und das Steuergerät 421 im gleichen Chip ausgebildet sein. Obwohl 12 ein Beispiel darstellt, in dem die Steuereinheit 410 eine separate Speichersteuereinheit 424 beinhaltet, kann in einigen Ausführungsformen die Speichersteuereinheit 424 im Arbeitsspeicher 430 oder dem Steuergerät 421 integriert sein.
  • 13 zeigt ein Blockdiagramm, das ein Mobilsystem mit einem Speichersystem nach mindestens einer beispielhaften Ausführungsform darstellt.
  • Mit Bezug zu 13 umfasst ein Mobilsystem 600 einen Prozessor 610, einen Speicher 620, eine. Benutzerschnittstelle 630, ein Modem 660 (z. B. Baseband-Chipset) und ein Speichersystem 640.
  • Der Prozessor 610 kann verschiedene Computerfunktionen durchführen, wie Ausführen spezifischer Software zum Durchführen spezifischer Berechnungen oder Aufgaben. Zum Beispiel kann der Prozessor 610 ein Mikroprozessor, eine Zentraleinheit (CPU), ein digitaler Signalprozessor oder dergleichen sein. Der Prozessor 610 kann über einen Bus 650, wie einen Adressenbus, einen Steuerbus und/oder einen Datenbus, mit dem Speicher 620 gekoppelt sein. Zum Beispiel kann der Speicher 620 als DRAM, mobiles DRAM, SRAM, PRAM, FRAM, RRAM und/oder MRAM ausgebildet sein. Der Prozessor 610 kann mit einem Erweiterungsbus, wie einem Peripheral-Component-Interconnect(PCI)-Bus, das heißt einem Bus zum Anschließen von Peripheriegeräten, gekoppelt sein. Dementsprechend kann der Prozessor 610 die Benutzerschnittstelle 630, die mindestens eine Eingabeeinrichtung, wie eine Tastatur, eine Maus usw. und mindestens eine Ausgabeeinrichtung, wie eine Anzeigeeinrichtung, einen Drucker usw. umfasst, steuern. Das Modem 660 kann drahtlos mit einem externen Gerät kommunizieren. Ein NAND-Flashspeicher 642 kann vom Prozessor 610 verarbeitete Daten oder über ein Modem 660 empfangene Daten speichern. Das Mobilsystem 600 kann weiter eine Energieversorgung, ein Anwendungs-Chipset, einen Kamerabildprozessor (CIS) usw. umfassen.
  • Wie oben beschrieben, kann der Energieverbrauch im Bereitschaftsmodus verringert werden und eine Modusumschaltung kann schnell durchgeführt werden, da Metadaten in einem Cache-Register des Flashspeichers 642 gespeichert werden, wenn das Speichersystem 640 in einen Bereitschaftsmodus eintritt.

Claims (23)

  1. Speichersystem (100), aufweisend: – einen NAND-Flashspeicher (120) mit einem Cache-Register (121) und Speicherzellen (122), wobei der NAND-Flashspeicher (120) dazu ausgebildet ist, Daten in den Speicherzeilen (122) über das Cache-Register (121) zu speichern, und – eine Steuereinheit (110) mit einem Arbeitsspeicher (111), wobei die Steuereinheit (110) dazu ausgebildet ist, den NAND-Flashspeicher (120) zu steuern und Metadaten in dem Arbeitsspeicher (111) zu speichern, – wobei die Steuereinheit (110) dazu ausgebildet ist, das Cache-Register (121) zum Speichern der Metadaten anzusteuern, wenn das Speichersystem (100) in einen Bereitschaftsmodus eintritt.
  2. Speichersystem nach Anspruch 1, wobei die Steuereinheit dazu ausgebildet ist, den NAND-Flashspeicher derart anzusteuern, dass dieser die Metadaten nicht in den Speicherzellen speichert, wenn das Speichersystem in den Bereitschaftsmodus eintritt.
  3. Speichersystem nach Anspruch 1 oder 2, wobei der NAND-Flashspeicher dazu ausgebildet ist, die Metadaten aus dem Arbeitsspeicher zu lesen und die Metadaten in Abhängigkeit von einem Schreibbefehl in das Cache-Register zu schreiben, der durch die Steuereinheit erzeugt wird, wenn das Speichersystem in den Bereitschaftsmodus eintritt.
  4. Speichersystem nach Anspruch 3, wobei die Steuereinheit dazu ausgebildet ist, den Schreibbefehl derart zu erzeugen, dass: – ein Adressfeld, das in einem Code des Schreibbefehls enthalten ist, einen NULL-Zustand aufweist und/oder – ein Code des Schreibbefehls kein Adressfeld aufweist und/oder – ein Code des Schreibbefehls anzeigt, dass die Metadaten, die aus dem Arbeitsspeicher gelesen worden sind, nur in den Cachespeicher zu schreiben sind, und sich von einem Code eines normalen Schreibbefehls unterscheidet, der anzeigt, dass normale Daten über den Cachespeicher in die Speicherzellen zu schreiben sind.
  5. Speichersystem nach einem der Ansprüche 1 bis 4, wobei der NAND-Flashspeicher dazu ausgebildet ist, die Metadaten aus dem Cache-Register zu lesen und die Metadaten in Abhängigkeit von einem Lesebefehl in den Arbeitsspeicher zu schreiben, der durch die Steuereinheit erzeugt wird, wenn das Speichersystem aus dem Bereitschaftsmodus aufgeweckt wird.
  6. Speichersystem nach einem der Ansprüche 1 bis 5, wobei – die Speicherzellen in einer Matrixform aus einer Mehrzahl von Spalten und einer Mehrzahl von Zeilen angeordnet sind und – das Cache-Register mit einer der Mehrzahl von Spalten oder einer der Mehrzahl von Zeilen korrespondiert.
  7. Speichersystem nach einem der Ansprüche 1 bis 6, wobei das Speichersystem derart ausgebildet ist, dass die Speicherzellen während des Bereitschaftsmodus nicht mit Energie versorgt sind.
  8. Verfahren zum Betreiben eines Speichersystems mit einer Steuereinheit (110) und einem NAND-Flashspeicher (120), wobei der NAND-Flashspeicher (120) ein Cache-Register (121) und Speicherzellen (122) aufweist, die Steuereinheit (110) einen Arbeitsspeicher (111) aufweist, der NAND-Flashspeicher (120) dazu ausgebildet ist, Daten in den Speicherzellen (122) über das Cache-Register (121) zu speichern, die Steuereinheit (110) dazu ausgebildet ist, den NAND-Flashspeicher (120) zu steuern und Metadaten in dem Arbeitsspeicher (111) zu speichern, wobei das Verfahren aufweist: – Lesen der Metadaten aus dem Arbeitsspeicher (111) unter Verwendung des NAND-Flashspeichers (120), wenn das Speichersystem in einen Bereitschaftsmodus eintritt, – Erzeugen eines Schreibbefehls unter Verwendung der Steuereinheit (110), – Erzeugen eines Schreibbefehlscodes durch Einfügen der gelesenen Metadaten in einen Code des Schreibbefehls unter Verwendung der Steuereinheit (110) und – Schreiben der Metadaten in das Cache-Register (121) in Abhängigkeit von dem Schreibbefehlscode unter Verwendung des NAND-Flashspeichers (120).
  9. Verfahren nach Anspruch 8, wobei die Metadaten nicht in die Speicherzellen geschrieben werden, wenn das Speichersystem in den Bereitschaftsmodus eintritt.
  10. Verfahren nach Anspruch 8 oder 9, wobei ein Adressfeld, das in dem Schreibbefehlscode enthalten ist, einen NULL-Zustand aufweist.
  11. Verfahren nach einem der Ansprüche 8 bis 10, wobei der Schreibbefehlscode kein Adressfeld beinhaltet.
  12. Verfahren nach einem der Ansprüche 8 bis 11, wobei der Schreibbefehlscode anzeigt, dass die Metadaten, die aus dem Arbeitsspeicher gelesen worden sind, nur in den Cachespeicher zu schreiben sind, und sich der Schreibbefehlscode von einem Code eines normalen Schreibbefehls unterscheidet, der anzeigt, dass normale Daten über den Cachespeicher in die Speicherzellen zu schreiben sind.
  13. Verfahren nach einem der Ansprüche 8 bis 12, wobei – die Speicherzellen in einer Matrixform aus einer Mehrzahl von Spalten und einer Mehrzahl von Zeilen angeordnet sind und – das Cache-Register mit einer der Mehrzahl von Spalten oder einer der Mehrzahl von Zeilen korrespondiert.
  14. Verfahren nach einem der Ansprüche 8 bis 13, wobei das Speichersystem in den Bereitschaftsmodus eintritt, nachdem die Metadaten in das Cache-Register geschrieben worden sind, und wobei das Verfahren weiter aufweist: – Erzeugen eines Aufwach-Befehls, nachdem das Speichersystem in den Bereitschaftsmodus eintritt.
  15. Verfahren nach Anspruch 14, weiter aufweisend: – Erzeugen eines Lesebefehls zum Lesen der Metadaten aus dem Cache-Register in Abhängigkeit von dem Aufwach-Befehl unter Verwendung der Steuereinheit.
  16. Verfahren nach Anspruch 15, weiter aufweisend: – Schreiben der Metadaten, die aus dem Cache-Register gelesen worden sind, in den Arbeitsspeicher.
  17. Steuereinheit (110), aufweisend: – ein Steuergerät (114), das dazu ausgebildet ist, ausgeschaltet zu werden, wenn es in einen Bereitschaftsmodus eintritt, – einen Arbeitsspeicher (111), der dazu ausgebildet ist, Metadaten des Steuergeräts (114) zu speichern, und – eine Schnittstelle (113) für einen nichtflüchtigen Speicher, die dazu ausgebildet ist, eine Schnittstelle zwischen dem Steuergerät (114) und einem nichtflüchtigen Speicher (120) zu bilden, – wobei das Steuergerät (114) für den Fall, dass es in den Bereitschaftsmodus eintritt, dazu ausgebildet ist, – einen Befehlscode zum Speichern der Metadaten in einem Cache-Register (121) des nichtflüchtigen Speichers (120) und nicht in Speicherzellen (122) des nichtflüchtigen Speichers (120) zu erzeugen und – den Befehlscode dem nichtflüchtigen Speicher (120) zur Verfügung zu stellen.
  18. Steuereinheit nach Anspruch 17, wobei der Arbeitsspeicher und das Steuergerät in getrennten Chips oder auf einem einzelnen Chip realisiert sind.
  19. Speichersystem, aufweisend: – eine Steuereinheit (110) mit einem Arbeitsspeicher (111), der dazu ausgebildet ist, Metadaten zu speichern, wobei die Steuereinheit (110) dazu ausgebildet ist, eine Flashspeichereinheit (120) mit einer Mehrzahl von Speicherzellen (122) und einem Cache-Register (121) zu steuern, so dass, wenn sich das Speichersystem in einem Bereitschaftsmodus befindet, die Steuereinheit (110) einen Bereitschaftsschreibbefehl erzeugt, der der Flashspeichereinheit (120) anzeigt, die Metadaten in dem Cache-Register (121) und nicht in der Mehrzahl von Speicherzellen (122) zu speichern.
  20. Speichersystem nach Anspruch 19, weiter aufweisend: – die Flashspeichereinheit, wobei: – das Cache-Register dazu ausgebildet ist, Daten zu speichern, die in die Mehrzahl von Speicherzellen zu schreiben sind, und – das Speichersystem derart ausgebildet ist, dass es, wenn es in den Bereitschaftsmodus eintritt, Energie für das Cache-Register bereitstellt und für den Arbeitsspeicher bereitgestellte Energie reduziert.
  21. Speichersystem, aufweisend: – eine Flashspeichereinheit (120) mit einer Mehrzahl von Speicherzellen (122) und einem Cache-Register (121), das dazu ausgebildet ist, Daten zu speichern, die in die Mehrzahl von Speicherzellen (122) zu schreiben sind, wobei die Flashspeichereinheit (120) dazu ausgebildet ist, durch eine Steuereinheit (110) gesteuert zu sein, wobei die Steuereinheit (110) einen Arbeitsspeicher (111) aufweist, der Metadaten speichert, so dass, wenn sich das Speichersystem in einem Bereitschaftsmodus befindet, die Flashspeichereinheit (120) in Abhängigkeit von einem Schreibbefehl, der von der Steuereinheit (110) empfangen wird, die Metadaten in dem Cache-Register (121) und nicht in der Mehrzahl von Speicherzellen (122) speichert.
  22. Speichersystem nach Anspruch 21, weiter aufweisend: – die Speichereinheit, wobei – das Cache-Register dazu ausgebildet ist, Daten zu speichern, die in die Mehrzahl von Speicherzellen zu schreiben sind, und – das Speichersystem derart ausgebildet ist, dass es, wenn es in den Bereitschaftsmodus eintritt, Energie für das Cache-Register bereitstellt und für den Arbeitsspeicher bereitgestellte Energie reduziert.
  23. Speichersystem nach einem der Ansprüche 19 bis 22, wobei das Speichersystem derart ausgebildet ist, dass es, wenn es in den Bereitschaftsmodus eintritt, – keine Energie für den Arbeitsspeicher bereitstellt und/oder – keine Energie für die Mehrzahl von Speicherzellen bereitstellt.
DE102011085781A 2010-11-05 2011-11-04 Speichersystem, Verfahren zum Betreiben eines Speichersystems und Steuereinheit Withdrawn DE102011085781A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100109495A KR101844346B1 (ko) 2010-11-05 2010-11-05 메모리 시스템 및 메모리 시스템의 동작 방법
KRKR10-2010-0109495 2010-11-05

Publications (1)

Publication Number Publication Date
DE102011085781A1 true DE102011085781A1 (de) 2012-05-10

Family

ID=45971325

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011085781A Withdrawn DE102011085781A1 (de) 2010-11-05 2011-11-04 Speichersystem, Verfahren zum Betreiben eines Speichersystems und Steuereinheit

Country Status (6)

Country Link
US (1) US8880781B2 (de)
JP (1) JP2012104110A (de)
KR (1) KR101844346B1 (de)
CN (1) CN102467468B (de)
DE (1) DE102011085781A1 (de)
TW (1) TW201225087A (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9223642B2 (en) * 2013-03-15 2015-12-29 Super Talent Technology, Corp. Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance
JP5446439B2 (ja) * 2008-07-24 2014-03-19 富士通株式会社 通信制御装置、データ保全システム、通信制御方法、およびプログラム
CN105897859B (zh) * 2016-03-25 2021-07-30 北京书生云科技有限公司 一种存储系统
US9424896B2 (en) * 2012-06-22 2016-08-23 Nxp B.V. Method and system for fast initialization of a memory unit
KR102107723B1 (ko) 2012-12-03 2020-05-07 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
CN103942504B (zh) * 2013-01-17 2018-04-06 银灿科技股份有限公司 可携式储存装置及其数据安全控制方法
CN104007934B (zh) * 2013-02-26 2019-02-05 联想(北京)有限公司 终端设备以及存储单元控制方法
JP2015022516A (ja) * 2013-07-19 2015-02-02 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
KR102126436B1 (ko) * 2013-12-20 2020-06-24 삼성전자주식회사 저장 장치 및 그것의 래치 관리 방법
US9632562B2 (en) 2014-11-20 2017-04-25 Qualcomm Incorporated Systems and methods for reducing volatile memory standby power in a portable computing device
CN104580751B (zh) * 2015-01-30 2018-01-05 惠州Tcl移动通信有限公司 一种移动终端及其microSD卡的控制方法及系统
US9934858B2 (en) * 2015-04-30 2018-04-03 Sandisk Technologies Llc Use of dummy word lines for metadata storage
CN105159862B (zh) * 2015-09-14 2018-05-25 北京兆易创新科技股份有限公司 一种降低读功耗的方法
KR102407437B1 (ko) * 2015-12-30 2022-06-10 삼성전자주식회사 불휘발성 메모리 모듈을 포함하는 메모리 시스템 및 전자 장치
US10467020B2 (en) 2016-02-26 2019-11-05 Toshiba Memory Corporation Memory device, and information-processing device
CN105915637A (zh) * 2016-06-07 2016-08-31 厦门纳网科技股份有限公司 一种基于存储系统服务器的远程自动待机及唤醒方法
US9996471B2 (en) * 2016-06-28 2018-06-12 Arm Limited Cache with compressed data and tag
US10504204B2 (en) * 2016-07-13 2019-12-10 Semiconductor Energy Laboratory Co., Ltd. Electronic device
CN106293534A (zh) * 2016-08-12 2017-01-04 深圳市金泰克半导体有限公司 一种具有多种工作模式的固态硬盘及其实现方法
US11853104B2 (en) 2019-06-27 2023-12-26 Netapp, Inc. Virtual machine backup from computing environment to storage environment
US11544107B2 (en) * 2020-04-17 2023-01-03 Western Digital Technologies, Inc. Storage system and method for multiprotocol handling
US20220004399A1 (en) * 2020-07-03 2022-01-06 Mediatek Inc. Dynamic loading neural network inference at dram/on-bus sram/serial flash for power optimization
US11726544B2 (en) 2020-07-03 2023-08-15 Mediatek Inc. Dynamic agent for multiple operators optimization
KR102497130B1 (ko) * 2021-11-11 2023-02-07 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
TWI823519B (zh) * 2022-08-15 2023-11-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11149788A (ja) * 1997-11-17 1999-06-02 Oki Electric Ind Co Ltd 半導体記憶装置及びその制御方法
JP2003030993A (ja) * 2001-07-17 2003-01-31 Toshiba Corp 半導体記憶装置
ITRM20020493A1 (it) * 2002-10-02 2004-04-03 St Microelectronics Srl Memoria cam non volatile di tipo and.
KR100598379B1 (ko) * 2003-09-08 2006-07-06 삼성전자주식회사 컴퓨터 시스템 및 그 제어방법
JP4531020B2 (ja) * 2006-08-01 2010-08-25 ルネサスエレクトロニクス株式会社 半導体集積回路
US8185706B2 (en) * 2008-04-30 2012-05-22 Apple Inc. Copyback optimization for memory system
JP2010198127A (ja) * 2009-02-23 2010-09-09 Toshiba Corp 半導体記憶デバイス及びその制御方法
JP5060574B2 (ja) * 2010-03-16 2012-10-31 株式会社東芝 メモリシステム
US11232022B2 (en) * 2010-10-29 2022-01-25 Samsung Electronics Co., Ltd. Memory system, data storage device, user device and data management method thereof having a data management information matching determination

Also Published As

Publication number Publication date
KR101844346B1 (ko) 2018-04-02
KR20120048073A (ko) 2012-05-15
JP2012104110A (ja) 2012-05-31
US8880781B2 (en) 2014-11-04
CN102467468B (zh) 2016-11-23
US20120117311A1 (en) 2012-05-10
TW201225087A (en) 2012-06-16
CN102467468A (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
DE102011085781A1 (de) Speichersystem, Verfahren zum Betreiben eines Speichersystems und Steuereinheit
CN110045913B (zh) 垃圾收集的方法、记忆装置及其控制器和电子装置
DE102009037984B4 (de) Speichereinheit für eine hierarchische Speicherarchitektur
DE112014005346B4 (de) Temperaturbasierte Flashspeichersystemerhaltung
KR101824227B1 (ko) 메모리 시스템 및 그것의 프로그램 방법
DE112016004629T5 (de) Datencodiertechniken für eine Vorrichtung
DE112017005887T5 (de) Speichersystem und Verfahren zur thermischen Drosselung über eine Befehlsarbitrierung
DE112015000378T5 (de) Selektives Rückkopieren für einen auf einem Chipplättchen gepufferten nichtflüchtigen Speicher
DE102018214010A1 (de) Verfahren und Vorrichtung zur Reduzierung von unbemerkten Datenfehlern in nichtflüchtigen Speichersystemen
TWI495998B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
TWI615711B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
DE102018130164A1 (de) Speicherungsvorrichtung mit programmierten zellenspeicherungsdichtenmodi, die eine funktion einer speicherungsvorrichtungskapazitätsnutzung sind
DE102020211544A1 (de) Steuerung, betriebsverfahren der steuerung und speichergerät mit derselben
DE112020004958T5 (de) Dynamische zonenaktivgrenze für offenen zns
DE102018115199A1 (de) Verfahren zur maximierung der frequenz während einer datenintegritätsprüfung auf einem physischen schnittstellenbus
DE102019120573A1 (de) Technologien zur rechnerischen speicherung über ablade-kernel-erweiterungen
DE112020005044T5 (de) Zonenanhang-befehlsplanung basierend auf zonenzustand
DE102019105876A1 (de) Einseitige soft-lesevorgänge
DE112020005395T5 (de) Kapazitätserweiterung für speicher-untersysteme
DE112019007666T5 (de) Schreibpuffersteuerung in einem verwalteten Speichersystem
DE112021000474T5 (de) Durchführung einer Medienverwaltungsoperation basierend auf einer Änderung eines Schreibmodus eines Datenblocks in einem Cache
DE112020005096T5 (de) Gewichtung von lesebefehlen an zonen in speicherungsvorrichtungen
DE112019005506T5 (de) Systeme und verfahren zum finden einer letzten guten seite in einem offenen nand-block
DE102022209756A1 (de) Speichervorrichtung und speichersystem zum programmieren von daten
DE102022203891A1 (de) Steuerung und betriebsverfahren davon

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination