DE102016214657A1 - Speichervorrichtung, die betrieben wird, um Datenverlust zu verhindern, wenn Kommunikation unterbrochen wird - Google Patents

Speichervorrichtung, die betrieben wird, um Datenverlust zu verhindern, wenn Kommunikation unterbrochen wird Download PDF

Info

Publication number
DE102016214657A1
DE102016214657A1 DE102016214657.2A DE102016214657A DE102016214657A1 DE 102016214657 A1 DE102016214657 A1 DE 102016214657A1 DE 102016214657 A DE102016214657 A DE 102016214657A DE 102016214657 A1 DE102016214657 A1 DE 102016214657A1
Authority
DE
Germany
Prior art keywords
host
buffer
memory
data
volatile memory
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
DE102016214657.2A
Other languages
English (en)
Inventor
Jeong-Woo Park
Younwon Park
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 DE102016214657A1 publication Critical patent/DE102016214657A1/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/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Eine Speichervorrichtung, die umfasst: wenigstens einen nicht-flüchtigen Speicher; einen Puffer; und eine Speichersteuerung, die konfiguriert ist zum: Empfangen von Daten von einem Host; Speichern der Daten in dem Puffer; und Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher in Reaktion auf ein Fehlen der Kommunikation mit dem Host für eine Referenzzeitdauer.

Description

  • QUERVERWEIS ZU VERWANDTEN ANMELDUNGEN
  • Die Anmeldung beansprucht nach 35 U.S.C. § 119 Priorität auf die koreanische Patentanmeldung Nr. 10-2015-0113391 , welche am 11. August 2015 im koreanischen Amt für geistiges Eigentum eingereicht wurde, deren kompletter Inhalt hiermit hierin aufgenommen wird.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft Datenspeicherung, und insbesondere eine Ausgestaltung und eine Operation, die in der Lage sind, Datenverlust in der Speichervorrichtung zu verhindern.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Derzeit werden verschiedene Arten von elektronischen Vorrichtungen verwendet. Eine elektronische Vorrichtung führt seine eigenen Funktionen nach Operationen von mehreren elektrischen/elektronischen Schaltungen durch, die darin enthalten sind. In einigen Fällen kann ein Fehler in einer Operation einer Schaltung auftreten, und eine elektronische Vorrichtung kann ungewöhnlich arbeiten. Allerdings verwenden die meisten elektronischen Vorrichtungen ein ”Wiederherstellungs-Schema”, um die ungewöhnlichen Operationen aufzulösen und zum normalen Betrieb zurück zu kehren.
  • Eine Speichervorrichtung ist ein Beispiel einer solchen elektronischen Vorrichtung. Die Speichervorrichtung speichert Daten oder gibt Daten aus, während sie mit einem Host kommuniziert. Die Speichervorrichtung stellt einen Speicherdienst gemäß Operationen von elektrischen/elektronischen Schaltungen zur Verfügung, die darin enthalten sind.
  • In einigen Fällen kann beim Verbinden (interfacing) zwischen der Speichervorrichtung und dem Host ein Fehler auftreten, und die Kommunikation zwischen der Speichervorrichtung und dem Host kann unterbrochen werden. Ein Kommunikationsprotokoll, das angepasst ist zum Ankoppeln zwischen der Speichervorrichtung und kann dem Host, kann ein Wiederherstellungs-Schema verwenden, um die unterbrochene Kommunikation zu lösen.
  • Auch, wenn das Wiederherstellungs-Schema durchgeführt wird, muss der Fehler beim Koppeln nicht vollständig wiederhergestellt sein. Im schlimmsten Fall können Daten verloren gehen, die in der Speichervorrichtung gespeichert sind. Der Datenverlust kann Zuverlässigkeit einer Speichervorrichtung oder eines Speichersystems verschlechtern. Ferner kann ein Benutzer der Speichervorrichtung oder des Speichersystems Schaden davontragen, wenn Daten verloren gehen.
  • ZUSAMMENFASSUNG
  • Einige Ausführungsformen umfassen eine Speichervorrichtung, die umfasst: wenigstens einen nichtflüchtigen Speicher; einen Puffer; und eine Speichersteuerung, die konfiguriert ist zum: Empfangen von Daten von einem Host; Speichern der Daten in dem Puffer; und
    Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher in Reaktion auf ein Fehlen der Kommunikation mit dem Host für eine Referenzzeitdauer.
  • Einige Ausführungsformen umfassen eine Speichervorrichtung, die umfasst: wenigstens einen nichtflüchtigen Speicher; einen Puffer; und eine Speichersteuerung, die konfiguriert ist zum: Empfangen von Daten von einem Host; Speichern der Daten in dem Puffer; und Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher, ohne einen Befehl, der von dem Host zur Verfügung gestellt wird.
  • Einige Ausführungsformen umfassen eine Speichervorrichtung, die umfasst: wenigstens einen nichtflüchtigen Speicher; einen Puffer; und eine Speichersteuerung, die konfiguriert ist zum: Empfangen von Daten von einem Host; Speichern der Daten in dem Puffer; und Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher bevor ein Rücksetzbefehl von dem Host empfangen wird und ohne Empfangen eines Entleer-Befehls von dem Host.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obige und andere Aufgaben und Merkmale werden von der folgenden Beschreibung, mit Bezug auf die folgenden Figuren klarwerden, wobei gleiche Bezugszeichen sich auf gleiche Teile, durchgehend in den verschiedenen Figuren beziehen, es sei denn dies wird anderweitig beschrieben, und wobei folgendes gilt:
  • 1 ist ein Blockdiagramm, das ein Speichersystem mit einer Speichervorrichtung gemäß einer Ausführungsform zeigt;
  • 2 ist ein Flussdiagramm, das beispielhafte Operationen zeigt, die in einem Speichersystem aus 1 durchgeführt werden;
  • 3 ist ein Flussdiagramm, das einen Fall beschreibt, in dem Daten, die in einem Puffer gespeichert sind, verloren werden, als die Kommunikation zwischen einem Host und einer Speichervorrichtung unterbrochen wird;
  • 4 ist ein Flussdiagramm, das Operationen zum Erhalten von Daten beschreibt, die in einem Puffer einer Speichervorrichtung aus 1 gespeichert sind, gemäß einer Ausführungsform;
  • 5 ist ein Blockdiagramm, das ein Speichersystem zeigt, das eine Speichervorrichtung gemäß einer Ausführungsform umfasst;
  • 6 ist ein Flussdiagramm, das eine Operation einer Speichervorrichtung aus 5 beschreibt;
  • 7 ist ein Konzeptdiagramm, das eine Operation einer Speichervorrichtung aus 5 beschreibt;
  • 8 ist ein Blockdiagramm, das ein Speichersystem zeigt, das eine Speichervorrichtung gemäß einer Ausführungsform umfasst;
  • 9 ist ein konzeptuelles Diagramm, das einen Prozess zum Verwalten einer Zeitgeber-Schaltung in einer Speichervorrichtung aus 8 beschreibt;
  • 10 und 11 sind Konzeptdiagramme zum Beschreiben eines Verfahrens zum Durchführen einer Entleer-Operation, basierend auf einem Verstreichen einer Referenzzeitdauer in einer Speichervorrichtung aus 8;
  • 12 ist ein konzeptuelles Diagramm, das einen Prozess zum Speichern von Zuordnungs-Daten in einer Speichervorrichtung aus 8 beschreibt;
  • 13 ist ein konzeptionelles Diagramm zum Beschreiben eines Prozesses zum Einstellen eines Wertes einer Referenzzeitdauer in einer Speichervorrichtung aus 1;
  • 14 ist ein Blockdiagramm, das ein elektronisches System mit einer Speichervorrichtung gemäß einer Ausführungsform und Schnittstellen davon umfasst; und
  • 15 ist ein Blockdiagramm, das eine Computervorrichtung mit einer Speichervorrichtung zeigt, gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • All die oben erwähnten Merkmale und die folgende Beschreibung sind vorgesehen, ein besseres Verständnis der Ausführungsformen zu vermitteln. Das heißt, Ausführungsformen sollten nicht auf die speziellen hierin dargelegten Ausführungsformen beschränkt verstanden werden, sondern können verschiedene Formen annehmen. Die folgenden Ausführungsformen sind lediglich Beispiele für die vollständige Offenbarung der Konzepte, und werden beschrieben, um ein Verständnis der Konzepte an den Fachmann zu vermitteln. Deshalb, wenn es viele Möglichkeiten zum Implementieren der Komponenten, Operationen oder dergleichen von einigen Ausführungsformen gibt, können in anderen Ausführungsformen diese Komponenten, Operationen, oder dergleichen mit jeder dieser Möglichkeiten implementiert werden.
  • Falls eine Ausführungsform in einer Konfiguration beschrieben wird, die spezifische Komponente(n) oder einen Prozess umfasst/enthält, können bestimmte Operation(en), andere Komponente(n) oder andere Operation(en) weiter enthalten sein. Das heißt, die hierin verwendeten Begriffe sind nur dazu bestimmt, die bestimmten Ausführungsformen zu beschreiben, und sollen nicht den Umfang aller Ausführungsformen beschränken. Ferner enthalten die Beispiele zum besseren Verständnis der Ausführungsformen deren komplementären Ausführungsformen.
  • Die hierin verwendeten Begriffe haben die Bedeutungen, die der Fachmann auf diesem Gebiet allgemein verstehen würde. Die Begriffe sind allgemein so auszulegen, dass sie konsistent mit der Bedeutung für einen Fachmann in der Technik sind. Darüber hinaus sollten die hierin verwendeten Begriffe nicht im übermäßig idealen oder formalen Sinn interpretiert werden, sofern sie nicht ausdrücklich so hierin definiert werden. Im Folgenden werden Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • 1 ist ein Blockdiagramm, das ein Speichersystem zeigt, das eine Speichervorrichtung gemäß einer Ausführungsform umfasst. Ein Speichersystem 1000 kann einen Host 1100 und eine Speichervorrichtung 1200 umfassen.
  • Der Host 1100 kann konfiguriert sein zum Bereitstellen eines Befehls CMD an die Speichervorrichtung 1200. Der Host 1100 kann konfiguriert sein zum Austauschen von Daten DAT mit der Speichervorrichtung 1200. Der Host 1100 kann konfiguriert sein zum Empfangen einer Antwort RSP von der Speichervorrichtung 1200.
  • In einem Beispiel für eine Kommunikation zwischen dem Host 1100 und der Speichervorrichtung 1200, wenn die Daten DAT Schreibdaten enthalten, kann der Host 1100 konfiguriert sein zum Bereitstellen der Speichervorrichtung 1200 mit dem Befehl CMD, der einen Schreibbefehl umfasst und die Daten DAT umfassen die Schreibdaten. Der Host 1100 kann konfiguriert sein zum Erkennen, dass die Schreibdaten in der Speichervorrichtung 1200 gespeichert sind, basierend auf der Antwort RSP, die von der Speichervorrichtung 1200 bereitgestellt wird. In einem anderen Beispiel, wenn die Daten DAT Lesedaten umfassen, kann der Host 1100 konfiguriert sein zum Bereitstellen des Befehls CMD einschließlich eines Lesebefehls an die Speichervorrichtung 1200. Der Host 1100 kann konfiguriert sein zum Empfangen der Daten DAT, einschließlich der Lesedaten von der Speichervorrichtung 1200. Dementsprechend kann das Speichersystem 1000 konfiguriert sein zum Bereitstellen eines Speicherdienstes an einen Benutzer.
  • In einigen Ausführungsformen kann der Host 1100 implementiert sein zum Umfassen von einem oder mehreren Prozessorkernen. In bestimmten Ausführungsformen kann der Host 1100 einen allgemeinen Prozessor, einen speziellen Prozessor und/oder einen Anwendungsprozessor umfassen. Der Host 1100 kann selbst ein Prozessor sein, oder kann eine elektronische Vorrichtung oder ein System sein, die/das einen Prozessor umfasst. In anderen Ausführungsformen kann der Host 1100 jede elektronische Vorrichtung sein, die an die Speichervorrichtung 1200 über eine der Kommunikationsverbindungen gekoppelt ist, die nachfolgend beschrieben sind und konfiguriert ist zum Speichern von Daten in der Speichervorrichtung 1200.
  • Die Speichervorrichtung 1200 kann einen oder mehrere nicht-flüchtige Speicher 1210, einen Puffer 1230 und eine Speichersteuerung 1250 umfassen. Jeder der nicht-flüchtigen Speicher 1210 kann einen Speicherbereich zum Speichern der Daten DAT umfassen, die von dem Host 1100 bereitgestellt werden. In einigen beispielhaften Ausführungsformen, wenn jeder der nicht-flüchtigen Speicher 1210 einen NAND-Typ-Flashspeicher umfasst, kann jeder der nicht-flüchtigen Speicher 1210 ein Speicherzellenfeld umfassen, das entlang mehrerer Wortleitungen und mehreren Bitleitungen gebildet ist.
  • Die obige beispielhaften Ausführungsform beschränkt jedoch nicht die vorliegende Offenbarung. Jeder der nicht-flüchtigen Speicher 1210 kann eine oder mehrere von verschiedenen nicht-flüchtigen Speichern umfassen, wie beispielsweise einen Phasenänderungs-Direktzugriffsspeicher (PRAM), einen magneto-resistiven RAM (MRAM), einen resistiven RAM (ReRAM), einen ferroelektrischen RAM (FRAM), einen nanofloating Gate-Speicher (NFGM) oder ein Polymer-Direktzugriffsspeicher (PoRAM) und/oder dergleichen. Eine Konfiguration eines jeden der nicht-flüchtigen Speicher 1210 kann gleich oder verschieden sein innerhalb einer einzelnen Speichervorrichtung 1200.
  • Der Puffer 1230 kann konfiguriert sein zum temporären Speichern von Daten in den nicht-flüchtigen Speichern 1210. Zum Beispiel kann der Puffer 1230 konfiguriert sein zum Puffern der Daten DAT, die von dem Host 1100 bereitgestellt werden. Die Daten DAT können dann aus dem Puffer 1230 an die nicht-flüchtige Speicher 1210 bereitgestellt werden. In einigen Ausführungsformen kann der Puffer 1230 als ein Cache-Speicher der Speichervorrichtung 1200 operieren.
  • In einigen Ausführungsformen kann der Puffer 1230 einen oder mehrere von verschiedenen flüchtigen Speichern umfassen, wie beispielsweise einen statischen RAM (SRAM), einen dynamischen RAM (DRAM), einen synchronen DRAM (SDRAM), und/oder dergleichen. Jedoch sind andere Ausführungsformen nicht darauf beschränkt. Der Puffer 1230 kann mit anderen Arten von Speichern realisiert werden, die zufällig zugänglich und geeignet für den Betrieb bei hoher Geschwindigkeit geeignet sind.
  • In einigen Ausführungsformen kann der Host 1100 konfiguriert sein zum Beliefern der Speichervorrichtung 1200 mit dem Befehl CMD einschließlich eines ”Spül-Befehls” (”flush command”) zum Entleeren (flush) von Daten, die temporär in dem Puffer 1230 gepuffert sind, in die nicht-flüchtigen Speicher 1210. In einigen Ausführungsformen, wenn Kommunikation zwischen dem Host 1100 und der Speichervorrichtung 1200 unterbrochen wird, können Daten, die in dem Puffer 1230 zwischengespeichert werden, an den nichtflüchtigen Speicher 1210 bereitgestellt werden, ohne einen Entleer-Befehl, der von dem Host 1100 bereitgestellt wird. Solche Ausführungsformen werden nachstehend im Detail beschrieben.
  • In 1 ist die Speichervorrichtung 1200 so dargestellt, dass sie den Puffer 1230 umfasst. Jedoch sind andere Ausführungsformen nicht auf die Konfiguration aus 1 beschränkt. In einigen Ausführungsformen kann der Puffer 1230 aus der Speichervorrichtung 1200 getrennt sein. In einigen Ausführungsformen kann ein anderer Speicher als der Puffer 1230 verwendet werden, der in einer elektronischen Vorrichtung/System enthalten ist. In einigen Ausführungsformen kann der Puffer 1230 kann in der Speichersteuerung 1250 enthalten sein.
  • Die Speichersteuerung 1250 kann konfiguriert sein zum Steuern des Gesamtbetriebs der Speichervorrichtung 1200. Die Speichersteuerung 1250 kann konfiguriert sein zum Steuern der nicht-flüchtigen Speicher 1210 und des Puffers 1230. Unter der Steuerung der Speichersteuerung 1250, können die Daten DAT, die von dem Host 1100 bereitgestellt werden oder die Daten, die in dem Puffer 1230 zwischengespeichert werden, in den nicht-flüchtigen Speichern 1210 gespeichert werden, oder die Daten, die in den nichtflüchtigen Speichern 1210 gespeichert sind, können an den Host 1100 bereitgestellt werden.
  • In einigen Ausführungsformen kann der Host 1100 und die Speichervorrichtung 1200 konfiguriert sein zum Kommunizieren miteinander in Übereinstimmung mit einer oder mehreren von verschiedenen Schnittstellenprotokollen, wie zum Beispiel Universal-Serial-Bus (USB), Small-Computer-System-Interface (SCSI), Peripheral-Component-Interconnect-Express (PCIe), nicht-flüchtiger Express-Speicher (NVMe), Mobile-PCIe (M-PCIe), Advanced-Technology-Attachment (ATA), Parallel-ATA (PATA), Serial-ATA (SATA), Serial-Attached-SCSI (SAS), integrierte Antriebselektronik (IDE), Universal-Flash-Speicher (UFS), Firewire, und/oder dergleichen. In anderen Ausführungsformen können der Host 1100 und die Speichervorrichtung 1200 jeweils konfiguriert sein zum Kommunizieren über einen Speicher-Bus, wie beispielsweise ein Bus zwischen einem Prozessor und dem Systemspeicher. In noch anderen Ausführungsformen können der Host 1100 und die Speichervorrichtung 1200 jeweils über ein Kommunikationsnetzwerk kommunizieren, wie beispielsweise ein Ethernet-Netzwerk, ein Fibre-Channel-Netzwerk, das Internet oder dergleichen. Der Host 1100 und die Speichervorrichtung 1200 können konfiguriert sein zum Kommunizieren der zugehörigen Befehls CMD, Daten DAT und Antwort RSP als geeignet für die jeweilige Kommunikationsverbindung/Schnittstelle, wie verwendet wird.
  • In einigen Ausführungsformen, wenn die Kommunikation zwischen dem Host 1100 und der Speichervorrichtung 1200 nicht während einer Referenzzeitdauer auftritt, können die Daten unter der Steuerung der Speichersteuerung 1250, die in dem Puffer 1230 zwischengespeichert werden, in den nicht-flüchtigen Speichern 1210 gespeichert werden (d. h. in die nicht-flüchtigen Speicher 1210 ”entleert” werden). Wie oben beschrieben, kann eine solche ”Entleer-Operation” durchgeführt werden, ohne den Entleer-Befehl, der von dem Host 1100 zur Verfügung gestellt wird. Besondere Ausführungsformen werden nachstehend beschrieben.
  • 2 ist ein Flussdiagramm, das beispielhafte Operationen zeigt, die in einem Speichersystem aus 1 durchgeführt werden. Beispielhafte Operationen, die in 2 beschrieben sind, können sich auf temporäres Puffern von Daten, die von dem Host 1100 bereitgestellt werden, in dem Puffer 1230 beziehen, und dann Speichern der gepufferten Daten in den nicht-flüchtigen Speichern 1210, anstatt sofortiges Speichern von Daten in den nicht-flüchtigen Speichern 1210, die von dem Host 1100 bereitgestellt werden. Die beispielhaften Operationen, die in 2 beschrieben sind, können einen ”Puffern”-Schritt und einen ”Entleeren”-Schritt umfassen.
  • Im Operation S10, kann der Host 1100 einen Schreibbefehl CMDw an die Speichersteuerung 1250 liefern. Der Host 1100 kann die Speichersteuerung 1250 mit Schreibdaten DATw entsprechend dem Schreibbefehl CMDw beliefern.
  • In Operation S11, kann die Speichersteuerung 1250 die Schreibdaten DATw zu dem Puffer 1230 liefern, basierend auf den Schreibbefehl CMDw. Der Puffer 1230 kann die Schreibdaten DATw temporär puffern, unter der Steuerung der Speichersteuerung 1250.
  • Wenn der Puffer 1230 die Schreibdaten DATw speichert, kann die Speichersteuerung 1250 in Operation S12 eine Pufferantwort RSPb an den Host 1100 bereitstellen. Der Host 1100 kann erkennen, dass Speichern der Schreibdaten DATw abgeschlossen ist, basierend auf der Pufferantwort RSPb.
  • Operationen S10 bis S12 können ein Teil oder alles des Pufferschritts sein; jedoch können in anderen Ausführungsformen zusätzliche Schritte durchgeführt werden. In dem Pufferschritt können die Schreibdaten DATw, die von dem Host 1100 bereitgestellt werden, in dem Puffer 1230 zwischengespeichert werden, und der Host 1100 kann eine Schreibanfrage, basierend auf der Pufferantwort RSPb abschließen.
  • Im Operation S13, kann der Host 1100 einen Entleer-Befehl CMDf an die Speichersteuerung 1250 liefern. Der Entleer-Befehl CMDF kann verwendet werden, um die Schreibdaten DATw, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 zu entleeren. In einigen Ausführungsformen kann der Puffer 1230 einen flüchtigen Speicher umfassen. Um dementsprechend die Schreibdaten DATw zu erhalten, unabhängig von einem Zustand einer Stromversorgung, können die Schreibdaten DATw in den nicht-flüchtigen Speichern 1210 gespeichert werden (d. h. in die nichtflüchtigen Speicher 1210 entleert werden), in Reaktion auf den Entleer-Befehl CMDf. Zum Beispiel kann der Host 1100 den Entleer-Befehl CMDf an die Speichersteuerung 1250 beliefern, basierend auf der verfügbaren Kapazität und Leistung des Puffers 1230.
  • In Operation S15, kann die Speichersteuerung 1250 den Puffer 1230 und die nicht-flüchtigen Speicher 1210 steuern, basierend auf dem Entleer-Befehl CMDf. In Operation S16 kann der Puffer 1230 die Schreibdaten DATw, die in dem Puffer 1230 gespeichert sind, in die nicht-flüchtigen Speicher 1210 entleeren, unter der Steuerung der Speichersteuerung 1250, und die nicht-flüchtigen Speicher 1210 können diese Schreibdaten DATw unter der Steuerung der Speichersteuerung 1250 speichern.
  • Wenn die nicht-flüchtigen Speicher 1230 die Schreibdaten DATw speichern, kann die Speichersteuerung 1250 in Operation S17 speichert eine Entleer-Antwort RSPf an den Host 1100 bereitstellen. Der Host 1100 kann erkennen, dass die Schreibdaten DATw in den nicht-flüchtige Speichern 1210 gespeichert sind, auf Grundlage der Entleer-Antwort RSPF.
  • Operationen S13 bis S17 können ein Teil oder der ganze Pufferschritt sein. In dem Entleerschritt können die Schreibdaten DATw schließlich in den nichtflüchtigen Speichern 1210 gespeichert werden, und die Entleer-Operation kann abgeschlossen werden auf Grundlage der Entleer-Antwort RSPF.
  • Wie unter Bezugnahme auf 2 beschrieben, kann die Speichersteuerung 1250 die Schreib-Operation steuern, die die Entleer-Operation begleitet. Im Hinblick auf den Host 1100 kann die Leistung verbessert erscheinen, wenn die Schreibdaten DATw in dem Puffer 1230 gespeichert werden, im Vergleich zum sofortigen Speichern der Schreibdaten DATw in den nicht-flüchtigen Speichern 1210.
  • Selbstverständlich kann in einigen Fällen die Speichersteuerung 1250 eine Schreib-Operation steuern, um sofort die Schreibdaten DATw in den nicht-flüchtigen Speichern 1210 zu speichern, ohne die Schreibdaten DATw in dem Puffer 1230 zu puffern, entsprechend einer Anfrage des Hosts 1100. Zum Beispiel kann die Art und Weise der Schreib-Operation basierend auf einer Policy des Hosts 1100 ausgewählt werden.
  • Obwohl Puffern der Schreibdaten DATw und Entleeren der Schreibdaten DATw so beschrieben wurden, dass es durch den Puffer 1230 unter Steuerung der Speichersteuerung 1250 durchgeführt wird, kann in anderen Ausführungsformen die Speichersteuerung 1250 eine andere Rolle haben. Zum Beispiel anweisen kann die Speichersteuerung 1250 lediglich den Puffer 1230 dazu anweisen, die Schreibdaten DATw in den nicht-flüchtigen Speichern 1210 zu speichern.
  • 3 ist ein Flussdiagramm, das einen Fall beschreibt, in dem Daten, die in einem Puffer gespeichert sind, verloren werden, als die Kommunikation zwischen einem Host und einer Speichervorrichtung unterbrochen wird. Der Fall aus 3 kann sich auf temporäres Puffern von Daten beziehen, die von dem Host 1100 in den Puffer 1230 zur Verfügung gestellt werden.
  • Ähnlich wie unter Bezugnahme auf 2 beschrieben, können Operationen S20 bis S22 ein Teil oder die Gesamtheit eines Pufferschritts sein. In Operation S20 kann der Host 1100 die Speichersteuerung 1250 mit einem Schreibbefehl CMDw und Schreibdaten DATw beliefern, entsprechend dem Schreibbefehl CMDw. In Operation S21 kann der Puffer 1230 die Schreibdaten DATw temporär puffern, unter der Steuerung der Speichersteuerung 1250. In Betrieb S22 kann die Speichersteuerung 1250 die Pufferantwort RSPb an den Host 1100 in Reaktion auf Speichern der Schreibdaten DATw in dem Puffer 1230 bereitstellen. Der Host 1100 kann erkennen, dass Speichern der Schreibdaten DATw abgeschlossen ist, basierend auf der Pufferantwort RSPb.
  • Danach, bevor eine Entleer-Operation durchgeführt wird, kann in Operation S23 ein Fehler auftreten beim Koppeln (interfacing) zwischen dem Host 1100 und der Speichersteuerung 1250. Wenn der Fehler auftritt, kann die Kommunikation zwischen dem Host 1100 und der Speichersteuerung 1250 unterbrochen werden. Beispielsweise kann durch den Schnittstellenfehler, Datenausgabe von dem Host 1100 nicht an die Speichersteuerung 1250 bereitgestellt werden, oder eine Antwortausgabe von der Speichersteuerung 1250 kann nicht an den Host 1100 bereitgestellt werden. In einigen Fällen, aufgrund des Schnittstellenfehlers, kann eine Befehlsausgabe von dem Host 1100 nicht an die Speichersteuerung 1250 bereitgestellt werden.
  • Wenn der Schnittstellenfehler auftritt, kann ein ”Wiederherstellungs-Schema” operieren, gemäß einem Schnittstellenprotokoll, das für die Kommunikation zwischen dem Host 1100 und der Speichersteuerung 1250 verwendet wird. Die Wiederherstellungs-Schema kann operieren, so dass die unterbrochene Kommunikation zwischen dem Host 1100 und der Speichersteuerung 1250 gelöst wird. Jedoch kann in einigen Fällen, auch wenn das Wiederherstellungs-Schema durchgeführt wird, der Fehler nicht vollständig behoben werden, und die Kommunikation kann nicht auftreten.
  • In einigen Ausführungsformen, wenn die Kommunikation zwischen dem Host 1100 und der Speichersteuerung 1250 nicht während einer Referenzzeitdauer Tref auftritt, kann in Operation S24, der Host 1100 ein Rücksetzbefehl CMDs ausgeben. Der Rücksetzbefehl CMDs kann ausgegeben werden, um eine Operation der Speichervorrichtung 1200 aus 1 zurücksetzen, einschließlich des einen oder der mehreren nicht-flüchtigen Speicher 1210, dem Puffer 1230 und der Speichersteuerung 1250.
  • In Operation S25 können eine Operation von wenigstens der nicht-flüchtigen Speicher 1210, des Puffers 1230, der Speichersteuerung 1250 und/oder einer beliebigen Kombination davon in Reaktion auf den Rücksetzbefehl CMDs zurückgesetzt werden. Wenn eine Operation der Speichervorrichtung 1200 zurückgesetzt wird, können Operationszustände von Komponenten, die in der Speichervorrichtung 1200 enthalten sind, initialisiert werden, als ob die Speichervorrichtung 1200 ausgeschaltet und dann wieder eingeschaltet werden würde. Dementsprechend kann eine Ursache des Kommunikationsfehlers beseitigt werden, und die Kommunikation zwischen dem Host 1100 und der Speichersteuerung 1250 kann wiederaufgenommen werden.
  • Wie jedoch oben beschrieben ist, kann in einigen Ausführungsformen der Puffer 1230 einen flüchtigen Speicher umfassen. Aus diesem Grund, wenn eine Operation des Puffers 1230 zurückgesetzt wird, bevor die Spül-Operation durchgeführt wird, können die Schreibdaten DATw, die in dem Puffer 1230 temporär gespeichert sind verloren werden. Solch ein Datenverlust kann die Zuverlässigkeit der Speichervorrichtung 1200 verschlechtern.
  • Beispielsweise kann in Operation S26, der Host 1100 einen Lesebefehl CMDr an die Speichersteuerung 1250 bereitstellen, um die Schreibdaten DATw zu lesen. Da jedoch die Schreibdaten DATw, die vorübergehend in dem Puffer 1230 gespeichert wurden, verloren gegangen sind, können keine Daten gelesen werden. In einigen Fällen können in Operation S27 Abfalldaten (d. h. DATw' oder DATw''), die sich von den beabsichtigten Schreibdaten DATw unterscheiden, aus dem Puffer 1230 oder den nicht-flüchtigen Speichern 1210 gelesen werden.
  • Wenn die beabsichtigten Schreibdaten DATw nicht gelesen werden, kann der Host 1100 nicht normal arbeiten. In dem schlimmsten Fall, kann ein Fehler auftreten bei einem Integritätstest durch den Host 1100, und eine Operation des Hosts 1100 kann komplett gestoppt werden (so genannte ”Kernel-Panik”). Dementsprechend kann ein Benutzer Schaden erleiden.
  • In einigen Ausführungsformen, um die Schreibdaten DATw davor zu schützen, verloren zu gehen aufgrund der Kommunikationsunterbrechung, kann der Kommunikationsfehler vorhergesagt werden, und die Schreibdaten DATw, die in dem Puffer 1230 gepuffert sind, können in die nicht-flüchtigen Speicher 1210 im Voraus entleert werden. Besondere Ausführungsformen werden nachstehend beschrieben.
  • 4 ist ein Flussdiagramm, das Operationen zum Erhalten von Daten beschreibt, die in einem Puffer einer Speichervorrichtung aus 1 gespeichert sind, gemäß einer Ausführungsform.
  • Ähnlich wie unter Bezugnahme auf 2 beschrieben, können Operationen S100 bis S110 ein Teil oder die Gesamtheit eines Pufferschritts sein. In Operation S100 kann der Host 1100 die Speichersteuerung 1250 mit einem Schreibbefehl CMDw und Schreibdaten DATw beliefern, entsprechend dem Schreibbefehl CMDw. In Operation S105 kann der Puffer 1230 die Schreibdaten DATw temporär puffern, unter der Steuerung der Speichersteuerung 1250. In Betrieb S110 kann die Speichersteuerung 1250 eine Pufferantwort RSPb an den Host 1100 in Reaktion auf Speichern der Schreibdaten DATw in dem Puffer 1230 bereitstellen. Der Host 1100 kann erkennen, dass Speichern der Schreibdaten DATw abgeschlossen ist, basierend auf der Pufferantwort RSPb.
  • Danach, bevor eine Entleer-Operation durchgeführt wird, kann in Operation S115 ein Fehler auftreten beim Koppeln (interfacing) zwischen dem Host 1100 und der Speichersteuerung 1250. Wenn der Fehler auftritt, kann die Kommunikation zwischen dem Host 1100 und der Speichersteuerung 1250 unterbrochen werden. Dementsprechend muss die Speichersteuerung 1250 keinen Befehl oder Daten von dem Host 1100 erhalten. In einigen Fällen muss die Speichersteuerung 1250 keine Antwort zu dem Host 1100 übertragen. Andere Arten von Kommunikationsfehler können auftreten.
  • In einigen Ausführungsformen, wenn die Kommunikation mit dem Host 1100 nicht während einer ersten Referenzzeitdauer Tref1 auftritt, kann die Speichersteuerung 1250 den Puffer 1230 und die nicht-flüchtigen Speicher 1210 steuern, so dass die Schreibdaten DATw, die vorübergehend in dem Puffer 1230 gespeichert sind, in die nicht-flüchtigen Speicher 1210 entleert werden. Das heißt, obwohl der Entleer-Befehl CMDf (siehe 2) nicht von dem Host 1100 bereitgestellt wird, kann die Entleer-Operation unter der Steuerung der Speichersteuerung 1250 im voraus durchgeführt werden.
  • Wenn die Kommunikation mit dem Host 1100 während der ersten Referenzzeitdauer Tref1 unterbrochen wird, ist es wahrscheinlich, dass ein Kommunikationsfehler auftritt. Dementsprechend kann in einigen Ausführungsformen die Speichersteuerung 1250 vorhersagen, dass der Fehler auftritt, und kann den Puffer 1230 und die nicht-flüchtigen Speicher 1210 so steuern, dass die Schreibdaten DATw entleert werden, bevor der Rücksetzbefehl CMDs vom Host 1100 bereitgestellt wird. Gemäß diesen beispielhaften Ausführungsformen, da die Schreibdaten DATw in den nicht-flüchtigen Speichern 1210 gespeichert sind, kann der Verlust der die Schreibdaten DATw aufgrund des Rücksetzbefehls CMDs verhindert werden.
  • Wie nachfolgend beschrieben wird, kann in einigen Ausführungsformen die Speichervorrichtung 1200 aus 1 einen Zeitgeber enthalten. Der Zeitgeber kann vorgesehen werden, um zu bestimmen, ob die erste Referenzzeitdauer Tref1 verstreicht, nachdem die Kommunikation unterbrochen wird. In Operation S120 kann der Zeitgeber ein Ablaufsignal EXP in Reaktion auf ein Verstreichen der ersten Referenzzeitdauer Tref1 erzeugen. Das Ablaufsignal EXP kann darauf hindeuten, dass die erste Referenzzeitdauer Tref1 verstrichen ist, nachdem die Kommunikation unterbrochen ist.
  • In Operation S125 können die Schreibdaten DATw, die in dem Puffer 1230 zwischengespeichert sind, in die nichtflüchtigen Speicher 1210 entleert werden, basierend auf dem Ablaufsignal EXP. Dementsprechend können, bevor eine Operation der Speichervorrichtung 1200 zurückgesetzt wird, die Schreibdaten DATw in den nichtflüchtigen Speichern 1210 erhalten bleiben.
  • Danach, wenn die Kommunikation zwischen dem Host 1100 und der Speichersteuerung 1250 nicht während einer zweiten Referenzzeitdauer Tref2 auftritt, kann in Operation S130, der Host 1100 den Rücksetzbefehl CMDs ausgeben. In Operation S135 können eine Operation von wenigstens der nicht-flüchtigen Speicher 1210, des Puffers 1230, der Speichersteuerung 1250 und/oder einer beliebigen Kombination davon in Reaktion auf den Rücksetzbefehl CMDs zurückgesetzt werden. Doch im Gegensatz zu dem Beispiel aus 3, können die Schreibdaten DATw nicht verloren gehen.
  • Dementsprechend, wenn der Host 1100 den Lesebefehl CMDr an die Speichersteuerung 1250 bereitstellt, zum Lesen der Schreibdaten DATw in Operation S140, können die Schreibdaten DATw, die in den nicht-flüchtigen Speichern 1210 gespeichert sind, normal in Operation S145 gelesen werden. Der Host 1100 kann in der Regel basierend auf den beabsichtigten Schreibdaten DATw operieren. Zu diesem Zweck kann die erste Referenzzeitdauer Tref1 so eingestellt werden, dass sie kürzer als die zweite Referenzzeitdauer Tref2 ist. Einstellen der ersten Referenzzeitdauer Tref1 wird nachstehend beschrieben.
  • Entsprechend einigen Ausführungsformen kann die Speichervorrichtung 1200 vorhersagen, ob ein Fehler bei der Kommunikation mit dem Host 1100 auftritt, basierend auf einem Verstreichen der ersten Referenzzeitdauer Tref1. Weiterhin, bevor die Speichervorrichtung 1200 durch den Rücksetzbefehl CMDR des Hosts 1100 nach einem Verstreichen der zweiten Referenzzeitdauer Tref2 zurücksetzt wird, kann die Speichervorrichtung 1200 die Schreibdaten DATw, die in dem Puffer 1230 gepuffert sind, in den nichtflüchtigen Speichern 1210 erhalten. Dementsprechend kann Verlust der Schreibdaten DATw verhindert werden und die Zuverlässigkeit der Speichervorrichtung 1200 kann verbessert werden.
  • 5 ist ein Blockdiagramm, das ein Speichersystem zeigt, das eine Speichervorrichtung gemäß einer Ausführungsform umfasst. Ein Speichersystem 2000 kann einen Host 1100 und eine Speichervorrichtung 2200 umfassen. Die Speichervorrichtung 2200 kann einen oder mehrere nicht-flüchtige Speicher 1210, einen Puffer 1230 und eine Speichersteuerung 2250 umfassen.
  • Ausgestaltungen und Operationen des Hosts 1100, der nicht-flüchtigen Speicher 1210 und des Puffers 1230 wurden mit Bezug auf 1 beschrieben. Die Speichervorrichtung 2200 und die Speichersteuerung 2250 können jeweils identisch oder ähnlich konfiguriert sein und operieren, wie die Speichervorrichtung 1200 und die Speichersteuerung 1250, wie sie beschrieben sind in 1 bis 4. Der Kürze halber werden redundante Beschreibungen des Hosts 1100, der Speichervorrichtung 2200, der nicht-flüchtigen Speicher 1210, des Puffers 1230 und der Speichersteuerung 2250 weggelassen.
  • In einigen Ausführungsformen kann die Speichersteuerung 2250 eine Zeitgeber-Schaltung 2251 umfassen. Die Zeitgeber-Schaltung 2251 kann konfiguriert sein zum Erzeugen eines Ablaufsignals EXP, wenn Kommunikation zwischen dem Host 1100 und der Speichersteuerung 2250 nicht während einer Referenzzeitdauer auftritt (z. B. die erste Referenzzeitdauer Tref1 aus 4). Das Ablaufsignal EXP kann darauf hindeuten, dass die erste Referenzzeitdauer Tref1 verstrichen ist, nachdem die Kommunikation unterbrochen ist. Der Speichersteuerung 2250 kann die nicht-flüchtigen Speicher 1210 und den Puffer 1230 basierend auf dem Ablaufsignal EXP steuern.
  • Wenn die Kommunikation mit dem Host 1100 während der ersten Referenzzeitdauer Tref1 unterbrochen wird, ist es wahrscheinlich, dass ein Kommunikationsfehler aufgetreten ist. In einigen Ausführungsformen, wie unter Bezugnahme auf 4 beschrieben, kann die Speichersteuerung 2250 konfiguriert sein zum Steuern der nicht-flüchtigen Speicher 1210 und des Puffers 1230, so dass Daten, die in dem Puffer 1230 gespeichert sind, in die nicht-flüchtigen Speicher 1210 entleert werden, basierend auf dem Ablaufsignal EXP. Entsprechend kann Datenverlust verhindert werden.
  • Die Zeitgeber-Schaltung 2251 kann als Hardware implementiert werden. Alternativ können einige oder ganze Teile von Operationen der Zeitgeber-Schaltung 2231 als Software Implementiert werden. Die Hardware-Implementierung kann verschiedene analoge Schaltungen und/oder Logikschaltungen umfassen zum Zählen einer verstrichenen Zeit, Rücksetzen/Laden der Zeitgeber-Schaltung 2251, Erzeugen des Ablaufsignals EXP oder dergleichen. Die Software-Implementierung kann einen Befehlscode enthalten, der durch die Speichersteuerung 2250 ausgeführt wird. Umsetzung von Funktionen des Zeitgebers ist dem Fachmann auf dem Gebiet bekannt, und eine detaillierte Beschreibung wird im Folgenden weggelassen.
  • In 5 wird dargestellt, dass die Speichersteuerung 2250 die Zeitgeber-Schaltung 2251 enthält. Jedoch sind andere Ausführungsformen nicht auf die Konfiguration aus 5 beschränkt. In einigen Ausführungsformen kann die Zeitgeber-Schaltung 2251 separat von der Speichersteuerung 2250 innerhalb der Speichervorrichtung 2200 vorgesehen sein. In einigen Ausführungsformen kann die Zeitgeber-Schaltung 2251 separat von der Speichervorrichtung 2200 vorgesehen sein.
  • 6 ist ein Flussdiagramm, das eine Operation einer Speichervorrichtung aus 5 beschreibt. Um besser zu verstehen, wird 5 zusammen mit 6 beschrieben.
  • Eine Operation, die in 6 beschrieben wird, kann mit Kommunikation zwischen dem Host 1100 und der Speichervorrichtung 2200 starten. Wenn ein Fehler nicht beim Verbinden zwischen dem Host 1100 und der Speichervorrichtung 2200 auftritt, können ein Befehl CMD, Daten DAT, und eine Antwort RSP normal zwischen dem Host 1100 und der Speichervorrichtung ausgetauscht werden.
  • In Operation S210 kann bestimmt werden, ob die Kommunikation zwischen dem Host 1100 und der Speichervorrichtung 2200 auftritt. Bestimmung der Operation S210 kann durch die Zeitgeber-Schaltung 2251 und/oder die Speichersteuerung 2250 durchgeführt werden. Zum Beispiel kann die Speichersteuerung 2250 ein Signal an die Zeitgeber-Schaltung 2251 übertragen, das angibt, dass Kommunikation auftrat, nachdem ein Befehl CMD, Daten DAT, oder eine Antwort RSP empfangen oder übertragen wurde.
  • Wenn die Kommunikation zwischen dem Host 1100 und der Speichervorrichtung 2200 auftritt, kann in Operation S220 eine Operation der Zeitgeber-Schaltung 2251 initialisiert werden. Wenn beispielsweise die Zeitgeber-Schaltung 2251 konfiguriert ist zum Zählen eines Wertes, der sich von '0' erhöht, kann ein Zeitgeber der Zeitgeber-Schaltung 2251 initialisiert werden, um einen Wert von '0' in Operation S220 zu haben. Alternativ, wenn die Zeitgeber-Schaltung 2251 konfiguriert ist zum Zählen eines Wertes, der von einem Wert der ersten Referenzzeitdauer Tref1 beginnt und sich auf '0' verringert, kann ein Zeitgeber der Zeitgeber-Schaltung 2251 initialisiert werden, um den Wert der ersten Referenzzeitdauer Tref1 zu haben in Operation S220.
  • In einigen Ausführungsformen, wenn die Kommunikation nicht während der ersten Referenzzeitdauer Tref1 auftritt, kann eine Entleer-Operation im Voraus durchgeführt werden, um Daten zu erhalten, die in dem Puffer 1230 zwischengespeichert sind. Wenn jedoch die Kommunikation normal durchgeführt wird, muss die Entleer-Operation nicht erforderlich sein. Dementsprechend kann in Operation S220 Zählen eines Verstreichens der Zeit initialisiert werden.
  • Andererseits wird, wenn die Kommunikation nicht zwischen dem Host 1100 und der Speichervorrichtung 2200 auftritt, kann die Zeitgeber-Schaltung 2251 ohne Initialisierung operieren. Dementsprechend kann in Operation S230 bestimmt werden, ob der erste Referenzzeitdauer Tref1 abläuft. Bestimmung der Operation S230 kann durch die Zeitgeber-Schaltung 2251 und/oder die Speichersteuerung 2250 durchgeführt werden. Wenn die erste Referenzzeitdauer Tref1 noch nicht abläuft, kann bestimmt werden, ob die Kommunikation in Operation S210 auftritt.
  • Indessen, wenn die erste Referenzzeitdauer Tref1 abläuft oder abgelaufen ist, während die Kommunikation nicht zwischen dem Host 1100 und der Speichervorrichtung 2200 auftritt, ist es wahrscheinlich, dass ein Fehler aufgetreten ist. Beispielsweise kann die Zeitgeber-Schaltung 2251 einen Wert von '0' oder Tref1 erreichen, abhängig von der Ausgestaltung der Zeitgeber-Schaltung 2251. In diesem Fall kann in Operation S240 2251 die Zeitgeber-Schaltung das Ablaufsignal EXP erzeugen. Weiterhin können Daten, die in dem Puffer 1230 zwischengespeichert sind, an die nicht-flüchtigen Speicher 1210 entleert werden, basierend auf dem Ablaufsignal EXP. Entsprechend kann Datenverlust verhindert werden.
  • 7 ist ein Konzeptdiagramm, das eine Operation einer Speichervorrichtung aus 5 beschreibt. Um besser zu verstehen, wird 5 zusammen mit 7 beschrieben.
  • Die Zeitgeber-Schaltung 2251 kann operieren, basierend darauf, ob der Befehl CMD, die Daten DAT, und die Antwort RSP zwischen dem Host 1100 und der Speichervorrichtung 2200 ausgetauscht werden. Wenn die Kommunikation zwischen dem Host 1100 und der Speichervorrichtung 2200 auftritt, kann eine Operation der Zeitgeber-Schaltung 2251 Initialisiert werden (Operation ➀). Auf der anderen Seite, wenn die Kommunikation zwischen dem Host 1100 und der Speichervorrichtung 2200 nicht während einer Referenzzeitdauer stattfindet (z. B. die erste Referenzzeitdauer Tref1 aus 4), kann die Zeitgeber-Schaltung 2251 ein Ablaufsignal EXP erzeugen (Operation ➁).
  • Wenn das Ablaufsignal EXP erzeugt wird, können Daten, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 entleert werden (Operation ➂). Dementsprechend, selbst wenn eine Operation der Speichervorrichtung 2200 von dem Rücksetzbefehl CMDs zurückgesetzt wird (siehe 4), das von dem Host 1100 ausgegeben wird, kann ein Datenverlust verhindert werden.
  • 8 ist ein Blockdiagramm, das ein Speichersystem zeigt, das eine Speichervorrichtung gemäß einer beispielhaften Ausführungsform umfasst. Ein Speichersystem 3000 kann einen Host 1100 und eine Speichervorrichtung 3200 umfassen. Die Speichervorrichtung 3200 kann einen oder mehrere nicht-flüchtige Speicher 1210, einen Puffer 1230 und eine Speichersteuerung 3250 umfassen.
  • Ausgestaltungen und Operationen des Hosts 1100, der nicht-flüchtigen Speicher 1210 und des Puffers 1230 wurden mit Bezug auf 1 beschrieben. Die Speichervorrichtung 3200 und die Speichersteuerung 3250 können jeweils identisch oder ähnlich konfiguriert sein und operieren, wie die Speichervorrichtung 1200 und die Speichersteuerung 1250, wie sie beschrieben sind in 1 bis 4. Die Zeitgeber-Schaltung 3251 kann identisch oder ähnlich konfiguriert sein und operieren, wie die Zeitgeber-Schaltung 2251, wie sie beschrieben ist in 5. Der Kürze halber werden redundante Beschreibungen des Hosts 1100, der Speichervorrichtung 3200, der nicht-flüchtigen Speicher 1210, des Puffers 1230, der Speichersteuerung 3250, und der Zeitgeber-Schaltung 3251 weggelassen.
  • In einigen Ausführungsformen kann die Speichersteuerung 3250 einen Host-Schnittstellenmanager 3253, einen Speicherschnittstellenmanager 3255, einen Puffermanager 3257 und einen Prozessor 3259 umfassen. Die Zeitgeber-Schaltung 3251 kann in der Speichersteuerung 3250 enthalten sein, wie in 8 gezeigt. Alternativ kann die Zeitgeber-Schaltung 3251 separat von der Speichersteuerung 3250 vorgesehen sein.
  • Der Host-Schnittstellenmanager 3253 kann konfiguriert sein zum Verarbeiten des Verbindens (interfacing) mit dem Host 1100. Beispielsweise kann ein Host-Schnittstellenmanager 3253 eine Schnittstellen-Schaltung für die Kommunikation mit dem Host 1100 umfassen. Beispielsweise kann der Host-Schnittstellenmanager 3253 einen Befehls-Parser zum Parsen des Befehls CMD umfassen, der von dem Host 110 bereitgestellt wird.
  • Der Host-Schnittstellenmanager 3253 kann konfiguriert sein zum Verarbeiten des Verbindens (interfacing) mit den nicht-flüchtigen Speichern 1210. Zum Beispiel kann der Speicherschnittstellenmanager 3255 einen Stream-Puffer zur Verwaltung von Datenströmen umfassen. Beispielsweise kann eine Flash-Übersetzungs-Schicht in dem Speicherschnittstellenmanager 3255 zur Verfügung gestellt werden, um Daten zwischen dem Host-Schnittstellenmanager 3253 und dem Speicherschnittstellenmanager 3255 richtig zu verarbeitet.
  • Der Puffermanager 3257 kann konfiguriert sein zum Verwalten einer Operation des Puffers 1230. Beispielsweise 3257 kann der Puffermanager den Puffer 1230 steuern, so dass die Daten DAT, die vom Host 1100 bereitgestellt werden, in dem Puffer 1230 zwischengespeichert werden. Der Puffermanager 3257 kann Daten, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 entleert werden.
  • Der Prozessor 3259 kann konfiguriert sein zum Durchführen von verschiedenen arithmetischen Operationen und/oder logischen Operationen zum Verarbeiten der gesamten Operationen der Speichersteuerung 3250. Der Prozessor 3259 kann konfiguriert sein zum Durchführen von Operationen zum Operieren von wenigstens dem Host-Schnittstellenmanager 3253, dem Speicherschnittstellenmanager 3255, dem Puffermanager 3257 und/oder einer beliebigen Kombination davon. In einigen Ausführungsformen kann der Prozessor 3259 kann konfiguriert sein zum Durchführen von Operationen zum Steuern der Zeitgeber-Schaltung 3251.
  • Der Prozessor 3259 kann einen oder mehrere Prozessorkerne umfassen, die konfiguriert sind zum Durchführen einer arithmetischen Operation und/oder einer logischen Operation. Zum Beispiel kann der Prozessor 3259 kann einen Prozessorkern (d. h. Einzelkern) umfassen, oder kann zwei oder mehrere Prozessorkerne (d. h. Multi-Kern) umfassen. Die Anzahl der Prozessorkerne kann verschiedenartig geändert oder modifiziert werden, unter Berücksichtigung von Nutzung, Leistung und Größe der Speichervorrichtung 3200. In anderen Ausführungsformen kann der Prozessor 3259 mit mehreren Prozessoren implementiert werden.
  • Komponenten, die in der Speichersteuerung 3250 enthalten sind, können miteinander verbunden werden und miteinander kommunizieren. Beispielhafte Ausführungsformen können auf verschiedene Weise modifiziert werden, gemäß Kommunikation der enthaltenen Komponenten in der Speichersteuerung 3250. Nachstehend werden einige weitere Ausführungsformen beschrieben.
  • 9 ist ein konzeptuelles Diagramm, das einen Prozess zum Verwalten einer Zeitgeber-Schaltung in einer Speichervorrichtung aus 8 beschreibt. Um besser zu verstehen, wird 8 zusammen mit 9 beschrieben.
  • Wenn die Kommunikation zwischen dem Host 1100 und der Speichervorrichtung 3200 normal durchgeführt wird, kann der Host-Schnittstellenmanager 3253 wenigstens den Befehl CMD, die Daten DAT, die Antwort RSP und/oder jede Kombination davon mit dem Host 1100 austauschen. Auf der anderen Seite, wenn die Kommunikation nicht zwischen dem Host 1100 und der Speichervorrichtung 3200 auftritt, kann der Host-Schnittstellenmanager 3253 nicht den Befehl CMD, die Daten DAT, und die Antwort RSP mit dem Host 1100 austauschen.
  • In einigen Ausführungsformen, wenn die Kommunikation zwischen dem Host-Schnittstellenmanager 3253 und dem Host 1100 auftritt, kann der Host-Schnittstellenmanager 3253 die Zeitgeber-Schaltung 3251 darüber informieren, dass die Kommunikation auftritt (Pfad
    Figure DE102016214657A1_0002
    ). Wie mit Bezug auf Operation S220 aus 6 und Operation ➀ aus 7 beschrieben, kann eine Operation der Zeitgeber-Schaltung 3251 in Reaktion auf die Kommunikation initialisiert werden. Das heißt, in dieser Ausführungsform kann die Zeitgeber-Schaltung 3251 ihre Initialisierung von selbst verwalten.
  • In einigen Ausführungsformen, wenn die Kommunikation zwischen dem Host-Schnittstellenmanager 3253 und dem Host 1100 auftritt, kann der Host-Schnittstellenmanager 3253 den Prozessor 3259 darüber informieren, dass die Kommunikation auftritt (Pfad
    Figure DE102016214657A1_0003
    ). Der Prozessor 3259 kann eine Operation der Zeitgeber-Schaltung 3251 initialisieren, in Reaktion auf das Auftreten der Kommunikation (Pfad
    Figure DE102016214657A1_0004
    ). Das heißt, in dieser Ausführungsform kann der Prozessor 3259 einige Anweisungen ausführen und kann verschiedene Operationen durchführen, um Initialisierung der Zeitgeber-Schaltung 3251 zu verwalten.
  • Wenn indessen die Kommunikation nicht zwischen dem Host-Schnittstellenmanager 3253 und dem Host 1100 auftritt, kann der Host-Schnittstellenmanager 3253 die Zeitgeber-Schaltung 3251 und/oder den Prozessor 3259 nicht über das Auftreten der Kommunikation informieren. In diesem Fall kann die Zeitgeber-Schaltung 3251 ohne Initialisierung operieren. Wenn eine Referenzzeitdauer (z. B. die erste Referenzzeitdauer Tref1 aus 4) abläuft oder abgelaufen ist, ohne Initialisierung, kann das Ablaufsignal EXP (siehe 7) erzeugt werden.
  • 10 ist ein Konzeptdiagramm zum Beschreiben eines Verfahrens zum Durchführen einer Entleer-Operation, basierend auf einem Verstreichen einer Referenzzeitdauer in einer Speichervorrichtung aus 8. Um besser zu verstehen, wird 8 zusammen mit 10 beschrieben.
  • Wie oben beschrieben, in einigen Ausführungsformen, wenn eine Referenzzeitdauer (z. B. die erste Referenzzeitdauer Tref1 aus 4) abläuft oder abgelaufen ist, kann die Zeitgeber-Schaltung 3251 ein Ablaufsignal EXP erzeugen. Das Ablaufsignal EXP kann darauf hindeuten, dass die erste Referenzzeitdauer Tref1 verstrichen ist, nachdem Kommunikation unterbrochen ist. Dementsprechend können Daten, die in dem Puffer 1230 zwischengespeichert sind, an die nicht-flüchtigen Speicher 1210 entleert werden, basierend auf dem Ablaufsignal EXP.
  • In einigen Ausführungsformen kann das Ablaufsignal EXP, das von der Zeitgeber-Schaltung 3251 erzeugt wird, an den Host-Schnittstellenmanager 3253 bereitgestellt werden (Pfad
    Figure DE102016214657A1_0005
    ). Der Host-Schnittstellenmanager 3253 kann ein Entleer-Signal FL an den Puffermanager 3257 in Reaktion auf das Ablaufsignal EXP bereitstellen (Pfad
    Figure DE102016214657A1_0006
    ). Der Puffermanager 3257 kann den Puffer 1230 in Reaktion auf das Entleer-Signal FL steuern, so dass die Daten, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 entleert werden. Zum Beispiel kann der Host-Schnittstellenmanager 3253 operieren, als ob der Host-Schnittstellenmanager 3253 den Entleer-Befehl CMDF (siehe 2) vom Host 1100 in Reaktion auf das Ablaufsignal EXP empfängt.
  • In einigen Ausführungsformen kann das Ablaufsignal EXP, das von der Zeitgeber-Schaltung 3251 erzeugt wird, an den Puffermanager 3257 bereitgestellt werden (Pfad
    Figure DE102016214657A1_0007
    ). Der Puffermanager 3257 kann den Puffer 1230 in Reaktion auf das Ablaufsignal EXP steuern, so dass die Daten, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 entleert werden. Das heißt, in dieser Ausführungsform kann der Puffermanager 3257 das Ablaufsignal EXP direkt ohne Eingriff des Host-Schnittstellenmanagers 3253 empfangen.
  • 11 ist ein Konzeptdiagramm zum Beschreiben eines Verfahrens zum Durchführen einer Entleer-Operation, basierend auf einem Verstreichen einer Referenzzeitdauer in einer Speichervorrichtung aus 8. Um besser zu verstehen, wird 8 zusammen mit 11 beschrieben.
  • Im Gegensatz zu den oben beschriebenen, muss in einigen Ausführungsformen die Zeitgeber-Schaltung 3251 das Ablaufsignal EXP nicht erzeugen. Stattdessen kann der Prozessor 3259 eine Operation der Zeitgeber-Schaltung 3251 (Pfad
    Figure DE102016214657A1_0008
    ) überwachen, und der Prozessor 3259 kann das Ablaufsignal EXP erzeugen, basierend darauf, ob eine Referenzzeitdauer (z. B. die erste Referenzzeitdauer Tref1 aus 4) in der Zeitgeber-Schaltung 3251 verstreicht. In solchen Ausführungsformen könnte die Zeitgeber-Schaltung 3251 nur ein Verstreichen der Zeit zählen.
  • In einigen Ausführungsformen kann das Ablaufsignal EXP, das von dem Prozessor 3259 erzeugt wird, an den Host-Schnittstellenmanager 3253 bereitgestellt werden (Pfad
    Figure DE102016214657A1_0009
    ). Der Host-Schnittstellenmanager 3253 kann ein Entleer-Signal FL an den Puffermanager 3257 in Reaktion auf das Ablaufsignal EXP bereitstellen (Pfad
    Figure DE102016214657A1_0010
    ). Der Puffermanager 3257 kann den Puffer 1230 in Reaktion auf das Entleer-Signal FL steuern, so dass die Daten, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 entleert werden.
  • In einigen Ausführungsformen kann das Ablaufsignal EXP, das von dem Prozessor 3259 erzeugt wird, an den Puffermanager 3257 bereitgestellt werden (Pfad
    Figure DE102016214657A1_0011
    ). Der Puffermanager 3257 kann den Puffer 1230 in Reaktion auf das Ablaufsignal EXP steuern, so dass die Daten, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 entleert werden.
  • Vorstehend wurden verschiedene Ausführungsformen beschrieben. Jedoch sind die obigen Ausführungsformen vorgesehen, um ein besseres Verständnis zu vermitteln, und andere Ausführungsformen sind nicht auf die bestimmten oben beschriebenen Ausführungsformen beschränkt. Andere Ausführungsformen können auf verschiedene Weise geändert oder modifiziert werden, um die Daten, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 zu entleeren, in Reaktion auf Ablauf der Referenzzeitdauer, bevor eine Operation der Speichervorrichtung zurückgesetzt wird.
  • 12 ist ein konzeptuelles Diagramm, das einen Prozess zum Speichern von Zuordnungs-Daten in einer Speichervorrichtung aus 8 beschreibt. Um besser zu verstehen, wird 8 zusammen mit 12 beschrieben.
  • In einigen Ausführungsformen kann der Puffermanager 3257 das Entleer-Signal FL von dem Host-Schnittstellenmanager 3253 empfangen. In einigen Ausführungsformen kann der Puffermanager 3257 das Ablaufsignal EXP von der Zeitgeber-Schaltung 3251 und/oder dem Prozessor 3259 empfangen. Der Puffermanager 3257 kann die Schreibdaten DATw, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 durch den Speicherschnittstellenmanager 3255 in Reaktion auf das Entleer-Signal FL und/oder das Ablaufsignal EXP entleeren.
  • Wenn die Schreibdaten DATw in die nicht-flüchtigen Speicher 1210 entleert werden, können Zuordnungs-Daten MAP in den nichtflüchtigen Speichern 1210 unter der Steuerung der Speichersteuerung 3250 gespeichert werden. Die Zuordnungs-Daten MAP können Daten umfassen, die einer Korrespondenzbeziehung zwischen den Schreibdaten DATw und einem Speicherplatz zugeordnet ist, wo die Schreibdaten DATw in den nicht-flüchtigen Speichern 1210 gespeichert sind. Zum Beispiel können die Zuordnungs-Daten MAP als Zuordnungstabelle gespeichert werden, die eine Zuordnungsbeziehung zwischen einer logischen Adresse des Speicherplatzes, wo die Schreibdaten DATw gespeichert sind, und den Schreibdaten DATw entsprechend der logischen Adresse angibt.
  • Zum Beispiel können die Zuordnungs-Daten MAP durch Aktualisierung von allen vorhandenen Zuordnungs-Daten erzeugt werden, die sich auf Speicherplätze von anderen Daten beziehen, die zuvor in den nicht-flüchtigen Speichern 1210 gespeichert waren. Alternativ können die Zuordnungs-Daten MAP getrennt von den vorhandenen Zuordnungs-Daten erzeugt werden.
  • Wenn der Host 1100 Zugriff auf die Schreibdaten DATw anfordert, können die Zuordnungs-Daten MAP durch die Speichersteuerung 3250 bezeichnet werden. Beispielsweise nachdem eine Operation der Speichervorrichtung 3200 zurückgesetzt wird in Reaktion auf den Rücksetzbefehl CMDs (siehe 4), können die Zuordnungs-Daten MAP in den Puffer 1230 geladen werden. Wenn der Host 1100 Zugriff auf die Schreibdaten DATw anfordert, können die Speichersteuerung 3250 den Speicherplatz verstehen, wo die Schreibdaten DATw mit Bezug auf die geladenen Zuordnungs-Daten MAP gespeichert sind. Dementsprechend kann die Speichersteuerung 3250 den Host 1100 mit den Daten DAT beliefern, einschließlich der Schreibdaten DATw.
  • 13 ist ein konzeptionelles Diagramm zum Beschreiben eines Prozesses zum Einstellen eines Wertes einer Referenzzeitdauer in einer Speichervorrichtung aus 1. Um besser zu verstehen, wird 1 zusammen mit 13 beschrieben.
  • Wie oben beschrieben, kann die erste Referenzzeitdauer Tref1 verwendet werden, um Daten, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 zu entleeren. Beispielsweise kann ein Wert der ersten Referenzzeitdauer Tref1 in den nicht-flüchtigen Speichern 1210 gespeichert werden. In einigen Ausführungsformen kann die Speichersteuerung 1250 sich auf den Wert der ersten Referenzzeitdauer Tref1 beziehen, die in den nicht-flüchtigen Speichern 1210 gespeichert ist. In einigen Ausführungsformen kann der Wert der ersten Referenzzeitdauer Tref1, der in den nicht-flüchtigen Speichern 1210 gespeichert ist, in den Puffer 1230 geladen werden, und dann kann die Speichersteuerung 1250 sich auf den Wert der ersten Referenzzeitdauer Tref1 beziehen, die dem Puffer 1230 geladen ist.
  • Die erste Referenzzeitdauer Tref1 kann eingestellt werden kann, um kürzer als die zweite Referenzzeitdauer Tref2 zu sein (siehe 4). Dies ist, weil die Daten, die in dem Puffer 1230 zwischengespeichert sind, in die nicht-flüchtigen Speicher 1210 entleert werden müssen, bevor eine Operation der Speichervorrichtung durch den Rücksetzbefehl CMDs zurückgesetzt wird (siehe 4).
  • Dementsprechend kann der Wert der ersten Referenzzeitdauer Tref1 bestimmt werden, unter Berücksichtigung von Zeit, die genommen wird, um irgendeine Operation durchzuführen, bevor eine Operation der Speichervorrichtung 1200 zurückgesetzt wird. Beispielsweise kann die erste Referenzzeitdauer Tref1 einen Wert haben, der kleiner oder gleich einem Wert ist, der durch Subtrahieren eines Zeitwertes, der genommen wird, um die in dem Puffer 1230 zwischengespeicherten Daten in die nicht-flüchtigen Speicher 1210 zu entleeren, und eines Zeitwertes, der genommen wird, um die Ausführung des Befehls CMD zu vervollständigen, der nicht durch die Speichersteuerung 1250 verarbeitet wurde, von dem Wert der zweiten Referenzzeitdauer Tref2. Beispielsweise kann der Wert der zweiten Referenzzeitdauer Tref2 basierend auf einer Management-Policy des Hosts 1100 bestimmt werden. Zum Beispiel kann die Speichervorrichtung 1200 Informationen erkennen, die mit Ressourcennutzung und Leistung der Komponenten zusammenhängen, die in der Speichervorrichtung 1200 enthalten ist, und kann die oben genannten Zeitdauerwerte basierend auf den erkannten Informationen berechnen.
  • Jedoch sind die obigen Beispiele vorgesehen, um ein besseres Verständnis zu vermitteln, und andere Ausführungsformen sind nicht auf die oben beschriebenen Ausführungsformen beschränkt. Der Wert der ersten Referenzzeitdauer Tref1 kann verschiedenartig geändert oder modifiziert werden, um die Entleer-Operation richtig abzuschließen, bevor eine Operation der Speichervorrichtung 1200 zurückgesetzt wird.
  • Der Wert der ersten Referenzzeitdauer Tref1 kann auf verschiedene Arten festgelegt werden. In einigen Ausführungsformen, wenn die Speichervorrichtung 1200 hergestellt wird, können die nicht-flüchtigen Speicher 1210 einen geeigneten Wert der ersten Referenzzeitdauer Tref1 im Voraus speichern. In einigen Ausführungsformen, wenn die Speichervorrichtung 1200 hochgefahren wird und/oder wenn eine Operation der Speichervorrichtung 1200 initialisiert wird, kann die erste Referenzzeitdauer Tref1 eingestellt werden. Alternativ kann, wenn eine Verbindungsstart-Operation (link startup operation) 1200 zwischen der Speichervorrichtung und dem Host 1100 durchgeführt wird, die erste Referenzzeitdauer Tref1 eingestellt werden. In einigen Ausführungsformen kann die erste Referenzzeitdauer Tref1 während einer Operation der Speichervorrichtung 1200 eingestellt werden.
  • In einigen Ausführungsformen kann der Host 1100 den richtigen Wert des ersten Referenzzeitdauer Tref1 bereitstellen. In einigen Ausführungsformen kann der Host 1100 den Wert der zweiten Referenzzeitdauer Tref2 zu der Speichersteuerung 1250 liefern, und die Speichersteuerung 1250 kann den richtigen Wert der ersten Referenzzeitdauer Tref1 basierend auf dem Wert der zweiten Referenzzeitdauer Tref2 berechnen. Einige zusätzliche Kommunikationsprotokolle können definiert werden, um den Wert der ersten Referenzzeitdauer Tref1 und/oder den Wert der zweiten Referenzzeitdauer Tref2 zwischen dem Host 1100 und der Speichersteuerung 1250 zu übertragen.
  • Der Wert der ersten Referenzzeitdauer Tref1 kann festgesetzt werden. Alternativ kann der Wert der ersten Referenzzeitdauer Tref1 basierend auf einer Betriebsumgebung oder Leistung der Speichervorrichtung 1200 variiert werden. Oder andere Ausführungsformen können verschiedene Modifikationen oder Änderungen haben.
  • Einige Ausführungsformen umfassen eine Speichervorrichtung, die einen Datenverlust verhindern kann, auch wenn die Kommunikation mit einem Host unterbrochen wird. Die Speichervorrichtung gemäß einigen Ausführungsformen kann verhindern, dass die Daten verloren gehen, die in einem Puffer gespeichert sind, wenn die Kommunikation mit dem Host nicht während einer Referenzzeitdauer auftritt.
  • In einigen Ausführungsformen kann eine Speichervorrichtung einen oder mehrere nicht-flüchtige Speicher, eine Speichersteuerung und einen Puffer umfassen. Die Speichersteuerung kann die nicht-flüchtigen Speicher steuern, so dass von Daten, die einem Host zur Verfügung gestellt werden, in den nicht-flüchtigen Speichern gespeichert wird. Der Puffer kann die Daten temporär speichern, die in den nicht-flüchtigen Speichern gespeichert werden sollen. Die Speichersteuerung kann eine Zeitgeber-Schaltung umfassen, die konfiguriert ist zum Erzeugen eines Ablaufsignals, wenn die Kommunikation mit dem Host nicht während einer Referenzzeitdauer auftritt. Die Speichersteuerung kann in Reaktion auf das Ablaufsignal die Daten, die in dem Puffer zwischengespeichert sind, in die nicht-flüchtigen Speicher entleeren.
  • In einigen Ausführungsformen kann eine Speichervorrichtung einen oder mehrere nicht-flüchtige Speicher, einen Puffer, eine Zeitgeber-Schaltung und eine Speichersteuerung umfassen. Die nicht-flüchtigen Speicher können Daten speichern, die von einem Host bereitgestellt werden. Der Puffer kann die Daten temporär speichern, die in den nicht-flüchtigen Speichern gespeichert werden sollen. Die Zeitgeber-Schaltung kann ein Ablaufsignal erzeugen, wenn die Kommunikation mit dem Host nicht während der Referenzzeitdauer auftritt. Der Speichersteuerung kann die nicht-flüchtigen Speicher und den Puffer basierend auf dem Ablaufsignal steuern. Die Speichersteuerung kann einen Rücksetzbefehl von dem Host erhalten, so dass eine Operation von wenigstens einem der nicht-flüchtigen Speicher, dem Puffer, der Speichersteuerung und jeder beliebigen Kombination davon zurückgesetzt wird, wenn die Kommunikation mit dem Host während einer zweiten Referenzzeitdauer nicht auftritt. Die erste Referenzzeitdauer kann kürzer als die zweite Referenzzeitdauer sein.
  • In einigen Ausführungsformen kann eine Speichervorrichtung einen oder mehrere nicht-flüchtige Speicher, einen Puffer, und eine Speichersteuerung umfassen. Der Puffer kann Daten vorübergehend speichern, die von dem Host empfangen werden und in den nicht-flüchtigen Speichern gespeichert werden sollen. Die Speichersteuerung kann die nicht-flüchtigen Speicher und den Puffer steuern, so dass die Daten, die in dem Puffer zwischengespeichert sind, in den nicht flüchtigen Speichern gespeichert werden, wenn keine Kommunikation mit dem Host während einer Referenzzeitdauer auftritt. Eine Operation zum Speichern der Daten, die vorübergehend in dem Puffer in den nichtflüchtigen Speichern gespeichert sind, kann durchgeführt werden, ohne einem von dem Host zur Verfügung gestellten Befehl.
  • 14 ist ein Blockdiagramm, das ein elektronisches System mit einer Speichervorrichtung gemäß einer Ausführungsform und Schnittstellen davon umfasst. Ein elektronisches System 4000 kann in einer Datenverarbeitungsvorrichtung implementiert werden, die in der Lage ist, eine Schnittstelle zu verwenden oder zu unterstützen, die von einer Mobile-Industry-Processor-Interface-(MIPI-)Allianz vorgeschlagen wird. Zum Beispiel kann das elektronische System 4000 eine von verschiedenen elektronischen Vorrichtungen sein, wie etwa ein tragbares Kommunikations-Terminal, ein persönlicher digitaler Assistent (PDA), ein tragbarer Multimedia-Player (PMP), ein Smartphone, ein Tablett, eine tragbare (wearable) Vorrichtung und/oder dergleichen.
  • Das elektronische System 4000 kann einen Anwendungsprozessor 4100, eine Anzeige 4220 und einen Bildsensor 4230 umfassen. Der Anwendungsprozessor 4100 kann einen DigRF-Master 4110, einen Display-Serial-Interface-(DSI-)Host 4120, einen Camera-Serial-Interface-(CSI-)Host 4130, und eine physikalische Schicht (PHY) 4140 umfassen.
  • Der DSI-Host 4120 kann konfiguriert sein zum Kommunizieren mit einer DSI-Vorrichtung 4225 der Anzeige 4220 in Übereinstimmung mit DSI. Zum Beispiel kann ein optischer Serialisierer SER in dem DSI-Host 4120 implementiert werden. Zum Beispiel kann ein optischer Deserialisierer DES in der DSI-Vorrichtung 4225 implementiert werden.
  • Der CSI-Host 4130 kann konfiguriert sein zum Kommunizieren mit einer CSI-Vorrichtung 4235 des Bildsensors 4230 in Übereinstimmung mit CSI. Zum Beispiel kann ein optischer Deserialisierer DES in der CSI-Vorrichtung 4130 implementiert werden. Zum Beispiel kann ein optischer Serialisierer SER in der CSI-Vorrichtung 4235 implementiert werden.
  • Das elektronische System 4000 kann des Weiteren einen Funkfrequenz-(RF-)Chip 4240 zum Ermöglichen einer Kommunikation zwischen dem Anwendungsprozessor 4100 und anderen externen RF/Drahtlos-Vorrichtungen oder Systemen. Der RF-Chip 4240 kann eine physikalische Schicht 4242, einen DigRF-Slave 4244 und eine Antenne 4246 umfassen. Zum Beispiel können die physikalische Schicht 4242 des RF-Chips 4240 und die physikalische Schicht 4140 des Anwendungsprozessors 4100 konfiguriert sein zum gegenseitigen Austauschen von Daten in Übereinstimmung mit einer DigRF-Schnittstelle, die von der MIPI-Allianz vorgeschlagen wird.
  • Das elektronische System 4000 kann des Weiteren einen Arbeitsspeicher 4250 und einen eingebetteten/Kartenspeicher 4255 umfassen. Der Arbeitsspeicher 4250 und der eingebettete/Kartenspeicher 4255 können konfiguriert sein zum Speichern von Daten, die von dem Anwendungsprozessor 4100 empfangen werden. Darüber hinaus können der Arbeitsspeicher 4250 und der eingebettete/Kartenspeicher 4255 konfiguriert sein zum Beliefern des Anwendungsprozessor 4100 mit den Daten, die in den Arbeitsspeicher 4250 und dem eingebetteten/Kartenspeicher 4255 gespeichert sind.
  • Der Arbeitsspeicher 4250 kann konfiguriert sein zum temporären Speichern von Daten, die von dem Anwendungsprozessor 4100 verarbeitet wurden oder verarbeitet werden sollen. Der Arbeitsspeicher 4250 kann einen flüchtigen Speicher umfassen, wie beispielsweise einen SRAM, einen DRAM, einen SDRAM oder dergleichen, und/oder einen nichtflüchtigen Speicher umfassen, wie einen Flash-Speicher, einen PRAM, einen MRAM, einen ReRAM, einen FRAM, NFGM, PoRAM oder dergleichen.
  • Der eingebettete/Kartenspeicher 4255 kann konfiguriert sein zum Speichern von Daten, unabhängig von einem Zustand einer Stromversorgung. Der eingebettete/Kartenspeicher 4255 kann einen oder mehrere nicht-flüchtige Speicher, eine Speichersteuerung und einen Puffer umfassen. Zum Beispiel kann der eingebettete/Kartenspeicher 4255 wenigstens einen von nichtflüchtigen Speichern umfassen, wie einen Flash-Speicher, einen PRAM, einen MRAM, einen ReRAM, einen FRAM, NFGM, PoRAM und/oder dergleichen. Zum Beispiel kann der eingebettete/Kartenspeicher 4255 eine oder mehrere von Vorrichtungen sein, wie beispielsweise eine Secure-Digital-(SD-)Karte, eine eingebettete Multimediakarte (eMMC) und/oder dergleichen.
  • Der eingebettete/Kartenspeicher 4255, der Arbeitsspeicher 4250, und oder andere Speichervorrichtungen können auf Basis von wenigstens einer Ausführungsform, wie die hier beschriebenen implementiert werden. Wenn beispielsweise die Kommunikation mit einem Host (z. B. dem Anwendungsprozessor 4100) nicht während einer Referenzzeitdauer (z. B. der ersten Referenzzeitdauer Tref1 aus 4) auftritt, kann der eingebettete/Kartenspeicher 4255 Daten, die in einem Puffer gespeichert sind, in die nichtflüchtigen Speichern entleeren. Solch eine Entleer-Operation kann durchgeführt werden, ohne einen Entleer-Befehl, der von dem Host, d. h. dem Anwendungsprozessor 4100 bereitgestellt wird.
  • Gemäß den einigen Ausführungsformen kann der eingebettete/Kartenspeicher 4255 vorhersagen, ob ein Fehler in der Kommunikation mit dem Host auftritt. Bevor der eingebettete/Kartenspeicher 4255 durch den Host zurückgesetzt wird, kann der eingebettete/Kartenspeicher 4255 die in dem Puffer gespeicherten Daten erhalten. Dementsprechend kann Datenverlust verhindert werden und die Zuverlässigkeit des eingebetteten/Kartenspeichers 4255 verbessert werden. Weiterhin können ein fehlerhafter Betrieb oder eine Betriebsunterbrechung verhindert werden.
  • Das elektronische System 4000 kann konfiguriert sein zum Kommunizieren mit einem externen System über ein Kommunikationsmodul, wie beispielsweise eine weltweite Interoperabilität für Mikrowellenzugriff 4260, ein drahtloses lokales Netzwerk 4262, ein Ultrabreitband 4264 und/oder dergleichen. Das elektronische System 4000 kann des Weiteren einen Lautsprecher 4270 und ein Mikrofon 4275 für die Verarbeitung von Sprachinformationen umfassen. Das elektronische System 4000 kann des Weiteren eine globale Positionsbestimmungssystem-Vorrichtung 4280 für die Verarbeitung von Positionsinformationen umfassen. Das elektronische System 4000 kann des Weiteren einen Brückenchip 4290 zum Verwalten von Verbindungen mit Peripheriegeräten umfassen.
  • 15 ist ein Blockdiagramm, das eine Computervorrichtung mit einer Speichervorrichtung zeigt, gemäß einer Ausführungsform. Eine Computervorrichtung 5000 kann eine zentrale Verarbeitungseinheit 5100, einen Arbeitsspeicher 5200, eine Speichervorrichtung 5300, einen Kommunikationsblock 5400, eine Benutzerschnittstelle 5500 und einen Bus 5600 umfassen. Beispielsweise kann die Computervorrichtung 5000 eine von verschiedenen elektronischen Vorrichtungen sein, wie beispielsweise ein Personal Computer, eine Workstation, ein Server, ein Notebook-Computer, ein Tablet, und/oder dergleichen.
  • Die zentrale Verarbeitungseinheit 5100 kann konfiguriert sein zum Steuern des Gesamtbetriebs der Computervorrichtung 5000. Die zentrale Verarbeitungseinheit 5100 kann konfiguriert sein zum Durchführen von verschiedenen Arten von arithmetischen Operationen und/oder logischen Operationen. Beispielsweise kann der Host 5100 einen allgemeinen Prozessor, einen speziellen Prozessor und/oder einen Anwendungsprozessor umfassen.
  • Der Arbeitsspeicher 5200 kann konfiguriert sein zum Austauschen von Daten mit der zentralen Verarbeitungseinheit 5100. Der Arbeitsspeicher 5200 kann konfiguriert sein zum temporären Speichern von Daten, die in einer Operation der Computervorrichtung 5000 verwendet werden. Der Arbeitsspeicher kann als ein Puffer oder ein Cache der Computervorrichtung 5000 verwendet werden. Beispielsweise kann der Arbeitsspeicher 5200 ein flüchtiges Speichersystem umfassen, wie beispielsweise einem SRAM, einem DRAM, einem SDRAM, und/oder dergleichen. Der Arbeitsspeicher 5200 kann ein oder mehrere Speichermodule oder eine oder mehrere Speicherpakete umfassen. In einigen Ausführungsformen kann der Arbeitsspeicher 5200 nicht-flüchtige Speichermodule umfassen.
  • Der eingebettete/Kartenspeicher 5300 kann konfiguriert sein zum Speichern von Daten, unabhängig von einem Zustand einer Stromversorgung. Die Speichervorrichtung 4300 kann einen oder mehrere nicht-flüchtige Speicher, eine Speichersteuerung und einen Puffer umfassen. Zum Beispiel kann die Speichervorrichtung 5300 wenigstens einen Flash-Speicher, einen PRAM, einen MRAM, einen ReRAM, einen FRAM, NFGM, PoRAM und/oder dergleichen umfassen. Zum Beispiel kann die Speichervorrichtung 5300 ein Speichermedium umfassen, wie beispielsweise ein Festkörperlaufwerk (SSD).
  • Die Speichervorrichtung 5300 kann implementiert werden, basierend auf einer Ausführungsform ähnlich zu wenigstens einer der hierin beschrieben Ausführungsformen. Wenn die Kommunikation mit einem Host (z. B. dem Anwendungsprozessor 5100) nicht während einer Referenzzeitdauer (z. B. der ersten Referenzzeitdauer Tref1 aus 4) auftritt, kann die Speichervorrichtung 5300 Daten, die in einem Puffer gespeichert sind, in die nichtflüchtigen Speichern entleeren. Solch eine Entleer-Operation kann durchgeführt werden, ohne einen Entleer-Befehl, der von dem Host bereitgestellt wird.
  • Gemäß einigen Ausführungsformen kann die Speichervorrichtung 5300 vorhersagen, ab ein Fehler in der Kommunikation mit dem Host auftritt. Die Speichervorrichtung 5300 kann konfiguriert sein zum Erhalten der Daten, die in dem Puffer gespeichert sind, bevor die Speichervorrichtung 5300 durch den Host zurückgesetzt wird. Dementsprechend kann Datenverlust verhindert werden und die Zuverlässigkeit der Speichervorrichtung 5300 verbessert werden. Weiterhin können ein fehlerhafter Betrieb oder eine Betriebsunterbrechung verhindert werden.
  • Der Kommunikationsblock 5400 kann konfiguriert sein zum Kommunizieren mit einer externen Vorrichtung, die außerhalb der Computervorrichtung 5000 angeordnet ist, unter der Steuerung der zentralen Verarbeitungseinheit 5100. Der Kommunikationsblock 5400 kann konfiguriert sein zum Kommunizieren mit einer externen Vorrichtung in Übereinstimmung mit einem oder mehreren von verschiedenen drahtlosen Kommunikationsprotokollen, wie Long-Term-Evolution (LTE), WiMax, globales System für Mobilkommunikation (GSM), Codemultiplex-Vielfachzugriff CDMA, Bluetooth, Nahfeld-Kommunikation (NFC), Wireless-Fidelity (WiFi), Radiofrequenz-Identifikation (RFID), und dergleichen, und/oder eines oder mehrere von verschiedenen drahtgebundenen Kommunikationsprotokollen, wie beispielsweise Übertragungssteuerprotokoll/Internetprotokoll (TCP/IP), USB, SCSI, ATA, PATA, SATA, SAS, IDE, Firewire, und/oder dergleichen.
  • Die Benutzeroberfläche 5500 kann konfiguriert sein zum Vermitteln der Kommunikation zwischen einem Benutzer und der Computervorrichtung 5000 unter der Steuerung der zentralen Verarbeitungseinheit 5100. Zum Beispiel kann die Benutzerschnittstelle 5500 eine oder mehrere der verschiedenen Eingabe-Schnittstellen umfassen, wie zum Beispiel eine Tastatur, eine Maus, eine Tastatur, einen Knopf, ein Touch-Panel, ein Touch-Screen, ein Touchpad, ein Touch-Ball, eine Kamera, ein Mikrophon, einen Gyroskop-Sensor, einen Schwingungssensor und/oder dergleichen. Des Weiteren kann die Benutzerschnittstelle 5500 eine oder mehrere von verschiedenen Ausgabe-Schnittstellen umfassen, wie beispielsweise eine Flüssigkristallanzeige(LCD-)Vorrichtung, eine Leuchtdioden-(LED-)Anzeigevorrichtung, eine organische LED(OLED)-Anzeigevorrichtung, eine Aktivmatrix-OLED-(AMOLED-)Anzeigevorrichtung, einen Lautsprecher, einen Motor, und/oder dergleichen.
  • Der Bus 5600 kann konfiguriert sein zum Bereitstellen eines Kommunikationspfads zwischen den Komponenten der Computervorrichtung 5000. Die Komponenten der Computervorrichtung 5000 können Daten miteinander austauschen, basierend auf einem Busformat des Busses 5600. Beispielsweise kann das Busformat eines oder mehrere der verschiedenen Protokolle umfassen, wie beispielsweise USB, SCSI, PCIe, NVMe, ATA, PATA, SATA, SAS, IDE, UFS, und/oder dergleichen.
  • Schaltungen, Chips und Vorrichtungen gemäß den hierin beschriebenen Ausführungsformen können unter Verwendung von verschiedenen Arten von Halbleiterpaketen montiert werden. Beispielsweise können Schaltungen, Chips und Vorrichtungen gemäß den hierin beschriebenen Ausführungsformen in verschiedenen Formen von Halbleiterpaketen verpackt werden, wie Package-on-Package (PoP), Ball-Grid-Arrays (BGAs), Chip-Scale-Packages (CSP), Kunststoff-Chipträger (PLCC), Kunststoff-Dual in-line Package (PDIP), Würfel-in-Waferform, Chip-on-Board (COB), Keramik-Dual in-line Package (CERDIP), Kunststoff-Metrik-Quad-Flat-Pack (MQFP), dünnes Quad-Flat-Pack (TQFP), Small-Outline-IC (SOIC), Small-Outline-Package (SSOP), Thin-Small-Outline-Package (TSOP), System-in-Package (SIP), Multi-Chip-Package (MCP), Wafer-Level hergestelltes Paket (WFP), oder Wafer-Level-verarbeitetes Stack-Pakage (WSP) und/oder dergleichen.
  • Gemäß einigen Ausführungsformen kann eine Speichervorrichtung vorhersagen, ob ein Fehler in der Kommunikation mit einem Host auftritt. Wenn die Kommunikation mit dem Host durch den Fehler unterbrochen wird, kann die Speichervorrichtung verhindern, dass Daten verloren gehen, die in einem Puffer gespeichert sind, bevor die Speichervorrichtung durch den Host zurückgesetzt wird. Dementsprechend kann der Host stabil mit der Speichervorrichtung kommunizieren, und die Zuverlässigkeit der Speichervorrichtung kann verbessert werden.
  • Die Konfiguration, die in jedem der Konzeptdiagramme dargestellt ist, sei nur von der konzeptionellen Sicht zu verstehen. Um ein besseres Verständnis der Ausführungsformen zu vermitteln, sind Formen, Strukturen und Größen jeder Komponente in jedem konzeptionellen Diagramm übertrieben oder reduziert gezeigt. Eine Konfiguration, die tatsächlich implementiert ist, kann eine unterschiedliche physikalische Form von der in jedem Konzeptdiagramm dargestellten haben. Kein konzeptionelles Diagramm soll die physikalische Form der Komponenten begrenzen.
  • Eine Gerätekonfiguration, die in jedem Blockdiagramm gezeigt ist, ist vorgesehen, um ein besseres Verständnis der Ausführungsformen zu liefern. Jeder Block kann aus kleineren Blöcken gemäß Funktionen gebildet werden. Alternativ können mehrere Blöcke gemäß einem größeren Block gemäß einer Funktion bilden. Das heißt, dass der Geist oder der Umfang von anderen Ausführungsformen nicht auf die Ausgestaltung beschränkt ist, die in einem Blockdiagramm dargestellt ist.
  • Oben wurden Ausführungsformen basieren auf besonders beschriebenen Ausführungsformen beschrieben. Jedoch können andere Ausführungsformen sich von den vorstehenden besonderen Ausführungsformen gemäß der Natur der Technik unterscheiden. Daher sollte es selbstverständlich sein, dass die obigen speziellen Ausführungsformen beschreibende und veranschaulichende Ansichten sind, statt einschränkende Ansichten. Das heißt, die Ausführungsformen umfassen die Variationen und Modifikationen der speziellen hierin beschriebenen Ausführungsformen.
  • Dementsprechend ist ein modifiziertes oder technisch verändertes Konzept in dem Umfang der untenstehenden Ansprüche enthalten, ohne vom Umfang oder dem Geiste der Ausführungsformen abzuweichen. Der Umfang der Ausführungsformen sei nicht auf die obigen speziellen Ausführungsformen beschränkt.
  • 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
    • KR 10-2015-0113391 [0001]

Claims (20)

  1. Speichervorrichtung, die umfasst: wenigstens einen nicht-flüchtigen Speicher; einen Puffer; und eine Speichersteuerung, die konfiguriert ist zum: Empfangen von Daten von einem Host; Speichern der Daten in dem Puffer; und Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher in Reaktion auf ein Fehlen der Kommunikation mit dem Host für eine Referenzzeitdauer.
  2. Speichervorrichtung nach Anspruch 1, wobei: die Speichersteuerung eine Zeitgeber-Schaltung umfasst, die konfiguriert ist zum Erzeugen eines Ablaufsignals, wenn die Kommunikation mit dem Host nicht während der Referenzzeitdauer auftritt; und die Speichersteuerung des Weiteren konfiguriert ist zum Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher in Reaktion auf das Ablaufsignal.
  3. Speichervorrichtung nach Anspruch 1, wobei die Speichersteuerung des Weiteren konfiguriert ist zum Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher, bevor ein Rücksetzbefehl von dem Host empfangen wird.
  4. Speichervorrichtung nach Anspruch 1, wobei die Kommunikation mit dem Host wenigstens Empfangen eines Befehls von dem Host, Empfangen der Daten von dem Host und/oder Übertragen einer Antwort an den Host umfasst.
  5. Speichervorrichtung nach Anspruch 1, wobei die Speichersteuerung umfasst: einen Host-Schnittstellenmanager, der konfiguriert ist zum Verbinden (interface) mit dem Host; einen Speicherschnittstellenmanager, der konfiguriert ist zum Verbinden (interface) mit dem wenigstens einen nicht-flüchtigen Speicher; einen Puffermanager, der konfiguriert ist zum Verwalten einer Operation des Puffers; und einen Prozessor, der konfiguriert ist zum Operieren von wenigstens dem Host-Schnittstellenmanager, dem Speicherschnittstellenmanager und/oder dem Puffermanager.
  6. Speichervorrichtung nach Anspruch 5, wobei: die Speichersteuerung des Weiteren eine Zeitgeber-Schaltung umfasst, die konfiguriert ist zum Erzeugen eines Ablaufsignals, wenn die Kommunikation mit dem Host nicht während der Referenzzeitdauer auftritt; die Speichersteuerung des Weiteren konfiguriert ist zum Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher in Reaktion auf das Ablaufsignal; und der Prozessor des Weiteren konfiguriert ist zum Initialisieren einer Operation der Zeitgeber-Schaltung in Reaktion auf eine Kommunikation zwischen dem Host-Schnittstellenmanager und dem Host.
  7. Speichervorrichtung nach Anspruch 6, wobei der Prozessor des Weiteren konfiguriert ist zum Initialisieren der Zeitgeber-Schaltung in Reaktion auf die Kommunikation zwischen dem Host-Schnittstellenmanager und dem Host.
  8. Speichervorrichtung nach Anspruch 6, wobei der Host-Schnittstellenmanager des Weiteren konfiguriert ist zum Initialisieren der Zeitgeber-Schaltung in Reaktion auf das Auftreten der Kommunikation zwischen dem Host-Schnittstellenmanager und dem Host.
  9. Speichervorrichtung nach Anspruch 6, wobei der Puffermanager des Weiteren konfiguriert ist zum Steuern des Puffers, so dass die Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher in Reaktion auf das Ablaufsignal entleert werden.
  10. Speichervorrichtung nach Anspruch 6, wobei der Host-Schnittstellenmanager des Weiteren konfiguriert ist zum Übertragen eines Entleer-Signals an den Puffermanager in Reaktion auf das Ablaufsignal.
  11. Speichervorrichtung nach Anspruch 10, wobei der Puffermanager des Weiteren konfiguriert ist zum Steuern des Puffers, so dass die Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher in Reaktion auf das Entleer-Signal entleert werden.
  12. Speichervorrichtung nach Anspruch 1, wobei die Speichersteuerung konfiguriert ist zum Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher, ohne dass ein Befehl von dem Host empfangen wird.
  13. Speichervorrichtung nach Anspruch 1, wobei die Speichersteuerung des Weiteren konfiguriert ist zum Steuern des wenigstens einen nicht-flüchtigen Speichers, so dass Zuordnungs-Daten, die den entleerten Daten zugeordnet sind, in dem wenigstens einen nicht-flüchtigen Speicher gespeichert sind, wobei die Zuordnungs-Daten einen Speicherplatz anzeigen, wo die entleerten Daten in dem wenigstens einen nicht-flüchtigen Speicher gespeichert sind.
  14. Speichervorrichtung nach Anspruch 1, die des Weiteren umfasst: eine Zeitgeber-Schaltung, die konfiguriert ist zum Erzeugen eines Ablaufsignals, wenn die Kommunikation mit dem Host nicht während der Referenzzeitdauer auftritt, wobei die Speichersteuerung des Weiteren konfiguriert ist zum Entleeren der Daten in dem Puffer, basierend auf dem Ablaufsignal.
  15. Speichervorrichtung nach Anspruch 1, wobei die Speichersteuerung des Weiteren konfiguriert ist zum Empfangen eines Wertes der Referenzzeitdauer von dem Host.
  16. Speichervorrichtung nach Anspruch 1, wobei: die Referenzzeitdauer als eine erste Referenzzeitdauer bezeichnet wird; und die Speichersteuerung des Weiteren konfiguriert ist zum: Empfangen eines Wertes einer zweiten Referenzzeitdauer von dem Host, und Berechnen eines Wertes der ersten Referenzzeitdauer, basierend auf dem Wert der zweiten Referenzzeitdauer.
  17. Speichervorrichtung nach Anspruch 16, wobei die erste Referenzzeitdauer kleiner oder gleich einer Zeit ist, die verwendet wird, um die Daten in dem Puffer in den nicht-flüchtigem Speichern zu speichern und einer Zeit, die verwendet wird, um Ausführung eines Befehls zu vervollständigen, der nicht durch die Speichersteuerung verarbeitet wird, die von der zweiten Referenzzeitdauer subtrahiert wird.
  18. Speichervorrichtung, die umfasst: wenigstens einen nicht-flüchtigen Speicher; einen Puffer; und eine Speichersteuerung, die konfiguriert ist zum: Empfangen von Daten von einem Host; Speichern der Daten in dem Puffer; und Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher, ohne einen Befehl, der von dem Host zur Verfügung gestellt wird.
  19. Speichervorrichtung nach Anspruch 18, wobei die Speichersteuerung des Weiteren konfiguriert ist zum: Steuern des wenigstens einen nicht-flüchtigen Speichers, so dass Zuordnungs-Daten, die den entleerten Daten zugeordnet sind, in dem wenigstens einen nicht-flüchtigen Speicher gespeichert sind, wobei die Zuordnungs-Daten einen Speicherplatz anzeigen, wo die entleerten Daten in dem wenigstens einen nicht-flüchtigen Speicher gespeichert sind; Empfangen eines Rücksetzbefehls von dem Host und Rücksetzen von wenigstens einem des wenigstens einem nicht-flüchtigen Speicher, des Puffers, und der Speichersteuerung; und Kommunizieren mit dem Host, basierend auf den Zuordnungs-Daten und den entleerten Daten, die in dem wenigstens einem nicht-flüchtigen Speicher gespeichert sind, nach Rücksetzen des wenigstens einen von dem wenigstens einem nicht-flüchtigen Speicher, dem Puffer, und der Speichersteuerung.
  20. Speichervorrichtung, die umfasst: wenigstens einen nicht-flüchtigen Speicher; einen Puffer; und eine Speichersteuerung, die konfiguriert ist zum: Empfangen von Daten von einem Host; Speichern der Daten in dem Puffer; und Entleeren der Daten in dem Puffer in den wenigstens einen nicht-flüchtigen Speicher bevor ein Rücksetzbefehl von dem Host empfangen wird und ohne Empfangen eines Entleer-Befehls von dem Host.
DE102016214657.2A 2015-08-11 2016-08-08 Speichervorrichtung, die betrieben wird, um Datenverlust zu verhindern, wenn Kommunikation unterbrochen wird Pending DE102016214657A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0113391 2015-08-11
KR1020150113391A KR102396441B1 (ko) 2015-08-11 2015-08-11 통신 중단시 데이터 손실을 방지하도록 동작하는 스토리지 장치

Publications (1)

Publication Number Publication Date
DE102016214657A1 true DE102016214657A1 (de) 2017-02-16

Family

ID=57908269

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016214657.2A Pending DE102016214657A1 (de) 2015-08-11 2016-08-08 Speichervorrichtung, die betrieben wird, um Datenverlust zu verhindern, wenn Kommunikation unterbrochen wird

Country Status (3)

Country Link
US (1) US10599341B2 (de)
KR (1) KR102396441B1 (de)
DE (1) DE102016214657A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102478558B1 (ko) * 2020-07-15 2022-12-16 (주) 헬로팩토리 고객 만족도 조사 수행 시스템
US11561729B2 (en) * 2020-08-19 2023-01-24 Micron Technology, Inc. Write determination counter

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150113391A (ko) 2014-03-28 2015-10-08 (주)이지정보기술 전기자동차 충전장치의 소비전력 절감 시스템

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5895488A (en) 1997-02-24 1999-04-20 Eccs, Inc. Cache flushing methods and apparatus
US6065088A (en) 1998-08-31 2000-05-16 International Business Machines Corporation System and method for interrupt command queuing and ordering
JP4927339B2 (ja) 2005-02-23 2012-05-09 株式会社日立製作所 記憶制御装置及びその制御方法
US7724604B2 (en) * 2006-10-25 2010-05-25 Smart Modular Technologies, Inc. Clock and power fault detection for memory modules
US8370562B2 (en) 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
US20130086311A1 (en) 2007-12-10 2013-04-04 Ming Huang METHOD OF DIRECT CONNECTING AHCI OR NVMe BASED SSD SYSTEM TO COMPUTER SYSTEM MEMORY BUS
US8271737B2 (en) * 2009-05-27 2012-09-18 Spansion Llc Cache auto-flush in a solid state memory device
US8468318B2 (en) 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
KR101736384B1 (ko) * 2010-09-29 2017-05-16 삼성전자주식회사 비휘발성 메모리 시스템
US8578100B1 (en) 2010-11-08 2013-11-05 Western Digital Technologies, Inc. Disk drive flushing write data in response to computed flush time
US9047178B2 (en) * 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9552175B2 (en) * 2011-02-08 2017-01-24 Diablo Technologies Inc. System and method for providing a command buffer in a memory system
US20130135816A1 (en) 2011-11-17 2013-05-30 Futurewei Technologies, Inc. Method and Apparatus for Scalable Low Latency Solid State Drive Interface
US9304901B2 (en) 2013-03-14 2016-04-05 Datadirect Networks Inc. System and method for handling I/O write requests
US20160011965A1 (en) * 2013-03-15 2016-01-14 Seagate Technology Llc Pass through storage devices
KR101569049B1 (ko) * 2013-03-15 2015-11-20 시게이트 테크놀로지 엘엘씨 패스 스루 스토리지 디바이스들
US9430412B2 (en) 2013-06-26 2016-08-30 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over Ethernet-type networks
US10824553B2 (en) * 2015-04-24 2020-11-03 Toshiba Memory Corporation Memory device that controls timing of receiving write data from a host
US10275164B2 (en) * 2015-05-27 2019-04-30 Nutech Ventures Enforcing persistency for battery-backed mobile devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150113391A (ko) 2014-03-28 2015-10-08 (주)이지정보기술 전기자동차 충전장치의 소비전력 절감 시스템

Also Published As

Publication number Publication date
KR102396441B1 (ko) 2022-05-10
US10599341B2 (en) 2020-03-24
KR20170019239A (ko) 2017-02-21
US20170046083A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
US11573915B2 (en) Storage device for interfacing with host and method of operating the host and the storage device
US20190369892A1 (en) Method and Apparatus for Facilitating a Trim Process Using Auxiliary Tables
DE102018110012A1 (de) Speichervorrichtung, die in der Lage ist Jobs ohne Eingreifen eines Prozessors zu verwalten
DE112011106013T5 (de) System und Verfahren für den intelligenten Datentransfer von einem Prozessor in ein Speicheruntersystem
DE112015000378T5 (de) Selektives Rückkopieren für einen auf einem Chipplättchen gepufferten nichtflüchtigen Speicher
DE102009037984A1 (de) Speichervorrichtung für eine Hierarchische Speicherarchitektur
US10645164B1 (en) Consistent latency for solid state drives
US10416895B2 (en) Storage devices managing duplicated data based on the number of operations
US20230244616A1 (en) Data processing system allocating memory area in host as extension of memory and operating method thereof
US20170269870A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
TWI454922B (zh) 記憶體儲存裝置及其記憶體控制器與資料寫入方法
US20220100425A1 (en) Storage device, operating method of storage device, and operating method of computing device including storage device
DE112017006704T5 (de) Systemspeicher mit punkt-zu-punkt-verbindung, die komprimierten verkehr transportiert
CN106663059A (zh) 功率感知填充
DE102022107778A1 (de) Adressübersetzung an einer zielnetzwerk-schnittstellenvorrichtung
DE112020005044T5 (de) Zonenanhang-befehlsplanung basierend auf zonenzustand
DE102016214657A1 (de) Speichervorrichtung, die betrieben wird, um Datenverlust zu verhindern, wenn Kommunikation unterbrochen wird
US9971549B2 (en) Method of operating a memory device
CN108628760A (zh) 原子写命令的方法与装置
DE102021117355A1 (de) SSD-verwaltete Host-Schreib-Atomizität mit beliebiger Übertragungslänge
DE102018121994A1 (de) Vorrichtung und verfahren zum zugreifen auf einen in-band-speicher, das datenschutz verwendet
US11861219B2 (en) Buffer to reduce write amplification of misaligned write operations
CN108628761A (zh) 原子命令执行方法与装置
TW201508631A (zh) 記憶體元件、資訊處理裝置及資訊處理方法
TWI503841B (zh) 寫入方法、記憶體控制器與記憶體儲存裝置

Legal Events

Date Code Title Description
R012 Request for examination validly filed