DE102019112751A1 - Selektives hintergrund-datenauffrischen für ssd - Google Patents

Selektives hintergrund-datenauffrischen für ssd Download PDF

Info

Publication number
DE102019112751A1
DE102019112751A1 DE102019112751.3A DE102019112751A DE102019112751A1 DE 102019112751 A1 DE102019112751 A1 DE 102019112751A1 DE 102019112751 A DE102019112751 A DE 102019112751A DE 102019112751 A1 DE102019112751 A1 DE 102019112751A1
Authority
DE
Germany
Prior art keywords
storage media
host
persistent storage
data
flags
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
DE102019112751.3A
Other languages
English (en)
Inventor
Michael Mesnier
Sanjeev Trika
Anand Ramalingam
Jonathan Hughes
Piotr Wysocki
Kapil Karkra
Brennan Watt
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102019112751A1 publication Critical patent/DE102019112751A1/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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Abstract

Eine Ausführungsform einer Halbleitervorrichtung kann Technologie zum selektiven Bestimmen einer Menge von Daten für Hintergrundauffrischen mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf einem persistenten Speicherungsmedium als eine Hintergrundoperation umfassen. Es werden andere Ausführungsformen offenbart und beansprucht.

Description

  • TECHNISCHES GEBIET
  • Ausführungsformen betreffen allgemein Speicherungssysteme. Insbesondere betreffen Ausführungsformen selektives Hintergrund-Datenauffrischen für ein Halbleiterlaufwerk (SSD).
  • STAND DER TECHNIK
  • Eine Speicherungsvorrichtung wie ein SSD kann nichtflüchtige Speicher- bzw. NVM-Medien umfassen. Bei einigen NVM-Medien können Schreiboperationen verglichen mit Leseoperationen mehr Zeit in Anspruch nehmen und/oder mehr Energie verbrauchen. Einige NVM-Medien können eine begrenzte Anzahl von Schreiboperationen aufweisen, die an jeder Speicherstelle ausgeführt werden können. Zugriff auf die Inhalte einiger SSD-Vorrichtungen kann mit einem Protokoll wie NVM EXPRESS (NVMe), Revision 1.3, publiziert im Mai 2017 (nvmexpress.org), unterstützt werden.
  • Figurenliste
  • Die verschiedenen Vorteile der Ausführungsformen werden für Fachleute bei Durchsicht der folgenden Beschreibung und der angefügten Ansprüche und durch Bezugnahme auf die folgenden Zeichnungen ersichtlich. Es zeigen:
    • 1 eine Blockdarstellung eines Beispiels für ein elektronisches Speicherungssystem gemäß einer Ausführungsform;
    • 2 eine Blockdarstellung eines Beispiels für eine Halbleitervorrichtung gemäß einer Ausführungsform;
    • 3A bis 3B Flussdiagramme eines Beispiels für ein Verfahren zur Steuerung von Speicherung gemäß einer Ausführungsform;
    • 4 eine Blockdarstellung eines Beispiels für ein SSD gemäß einer Ausführungsform; und
    • 5 eine Blockdarstellung eines Beispiels für ein elektronisches Verarbeitungssystem gemäß einer Ausführungsform.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Verschiedene hier beschriebene Ausführungsformen können eine Speicherkomponente und/oder eine Schnittstelle zu einer Speicherkomponente umfassen. Solche Speicherkomponenten können flüchtigen und/oder nichtflüchtigen Speicher umfassen. Nichtflüchtiger Speicher kann ein Speicherungsmedium sein, das keine Stromversorgung benötigt, um den Zustand von durch das Medium gespeicherten Daten aufrechtzuerhalten. Bei einer Ausführungsform kann die Speichervorrichtung eine blockadressierbare Speichervorrichtung umfassen, wie etwa die auf NAND- oder NOR-Technologien basierenden. Eine Speichervorrichtung kann auch nichtflüchtige Vorrichtungen der zukünftigen Generation umfassen, wie etwa eine dreidimensionale (3D-) Kreuzpunktspeichervorrichtung oder andere byteadressierbare nichtflüchtige Write-in-Place-Speichervorrichtungen. In einer Ausführungsform kann die Speichervorrichtung aus Speichervorrichtungen bestehen oder solche aufweisen, die verwenden: Chalcogenid-Glas, Multi-Schwellwert-NAND-Flash-Speicher, NOR-Flash-Speicher, Ein- oder Mehrebenen-Phasenwechselspeicher (Phase Change Memory, PCM), resistiven Speicher, Nanodrahtspeicher, Direktzugriffsspeicher mit ferroelektrischem Transistor (Ferroelectric Transistor Random Access Memory, FeTRAM), anti-ferroelektrischen Speicher, magnetoresistiven RAM(MRAM)-Speicher, der Memristor-Technologie enthält, resistiven Speicher, der Metalloxid-basierten, Sauerstofffehlstellen-basierten und Leitungsbrücken-Direktzugriffsspeicher (Conductive Bridge Random Access Memory, CB-RAM) enthält, oder Spin-Transfer-Drehmoment-MRAM (Spin Transfer Torque MRAM, (STT)-MRAM), eine Spintronik-Magnetübergangsspeicher-basierte Vorrichtung, eine Magnettunnelübergang (Magnetic Tunneling Junction, MTJ)-basierte Vorrichtung, eine Domänenwand- (Domain Wall, DW) und Spin-Bahn-Transfer (Spin Orbit Transfer, SOT)-basierte Vorrichtung, eine Thyristor-basierte Speichervorrichtung oder eine Kombination der obigen oder anderer nichtflüchtiger Speicherarten. Die Speichervorrichtung kann das Halbleiterplättchen selbst und/oder ein paketiertes Speicherprodukt bezeichnen. In besonderen Ausführungsformen kann eine Speicherkomponente mit nichtflüchtigem Speicher einem oder mehreren der Standards entsprechen, die vom Joint Electron Device Engineering Council (JEDEC) veröffentlicht wurden, etwa JESD218, JESD219, JESD220-1, JESD223B, JESD223-1, oder einem anderen geeigneten Standard (die hier zitierten JEDEC-Standards sind unter jedec.org erhältlich).
  • Flüchtiger Speicher kann ein Speichermedium sein, das Strom erfordert, um den Zustand der vom Medium gespeicherten Daten zu erhalten. Nicht einschränkende Beispiele für flüchtigen Speicher können verschiedene Arten von RAM beinhalten, etwa dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory, DRAM) oder statischen Direktzugriffsspeicher (Static Random Access Memory, SRAM). Eine bestimmte Art von DRAM, die in einem Speichermodul zum Einsatz kommen kann, ist der synchrone dynamische Direktzugriffsspeicher (Synchronous Dynamic Random Access Memory, SDRAM). In besonderen Ausführungsformen kann der DRAM einer Speicherkomponente einem Standard entsprechen, der von JEDEC veröffentlicht wurde, etwa JESD79F für DDR SDRAM, JESD79-2F für DDR2 SDRAM, JESD79-3F für DDR3 SDRAM, JESD79-4A für DDR4 SDRAM, JESD209 für Niedrigenergie (Low Power)-DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3 und JESD209-4 für LPDDR4 (diese Standards sind unter jedec.org erhältlich). Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden, und Kommunikationsschnittstellen der Speichervorrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden.
  • Nunmehr mit Bezug auf 1 kann eine Ausführungsform eines elektronischen Speicherungssystems 10 persistente Speicherungsmedien 11 und einen kommunikativ mit den persistenten Speicherungsmedien 11 gekoppelten Controller 12 umfassen. Der Controller 12 kann Logik 13 umfassen zum selektiven Bestimmen einer Menge von Daten für Hintergrundauffrischen mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien 11 als eine Hintergrundoperation. Ohne auf Operationstheorie beschränkt zu sein, können einige Ausführungsformen vorteilhafterweise Doppel-Scrubbing (wie z. B. nachfolgend ausführlicher erläutert) verringern. Zum Beispiel können die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien 11 umfassen, die durch einen Host gescrubbt werden (z. B. zuvor gescrubbt wurden oder zu scrubben sind). Bei einigen Ausführungsformen kann die Logik 13 ausgelegt sein zum Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind (z. B. auf der Basis von Stream-Informationen, Warteschlangeninformationen usw., die der Schreiboperation zugeordnet sind). Bei einigen Ausführungsformen kann die Logik 13 ferner ausgelegt sein zum Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien 11 zugeordnet sind, und Sperren des Hintergrund-Datenauffrischens (BDR) für die eine oder mehreren Regionen der persistenten Speicherungsmedien 11 auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags. Zum Beispiel kann jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien 11 entsprechen, und jede der einen oder mehreren Regionen kann einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien 11 entsprechen. Bei beliebigen der vorliegenden Ausführungsformen können die persistenten Speicherungsmedien 11 ein SSD umfassen. Bei einigen Ausführungsformen kann sich die Logik 13 in verschiedenen Komponenten, darunter dem Controller 12 (z. B. auf einem selben Chip) befinden oder damit zusammen angeordnet sein.
  • Ausführungsformen jeweils der obigen persistenten Speicherungsmedien 11, des obigen Controllers 12, der obigen Logik 13 und anderer Systemkomponenten können in Hardware, Software oder einer beliebigen geeigneten Kombination davon implementiert werden. Hardwareimplementierungen wären zum Beispiel konfigurierbare Logik, wie zum Beispiel PLA (programmierbare Logikarrays), FPGA (Field Programmable Gate Arrays), CPLD (Complex Programmable Logic Devices) oder Logikhardware mit fester Funktionalität, die Schaltungstechnologie verwendet, wie zum Beispiel Technologie des Typs ASIC (anwendungsspezifische integrierte Schaltung), CMOS (Komplementär-Metalloxidhalbleiter) oder TTL (Transistor-Transistor-Logik) oder eine beliebige Kombination davon. Ausführungsformen des Controllers 12 können einen Vielzweckcontroller, einen Spezialcontroller (z. B. einen Speichercontroller, einen Speicherungs-Controller, einen NVM-Controller usw.), einen Mikrocontroller, einen Prozessor, eine Zentralprozessoreinheit (CPU), einen Mikroprozessor usw. umfassen.
  • Alternativ oder zusätzlich dazu können alle diese Komponenten oder Teile davon in einem oder mehreren Modulen als ein Satz von Logikbefehlen implementiert sein, der auf einem maschinen- oder computerlesbaren Speicherungsmedium gespeichert ist, etwa einem Direktzugriffsspeicher (Random Access Memory, RAM), einem Festwertspeicher (Read Only Memory, ROM), einem programmierbaren ROM (PROM), Firmware, einem Flash-Speicher usw., um von einem Prozessor oder einer Datenverarbeitungsvorrichtung ausgeführt zu werden. Zum Beispiel kann ein Computerprogrammcode zum Ausführen der Operationen der Komponenten in jeder beliebigen Kombination von einer oder mehreren für das Betriebssystem (OS) anwendbaren/geeigneten Programmiersprache(n), einschließlich einer objektbezogenen Programmiersprache wie PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen sowie herkömmlichen prozeduralen Programmiersprachen wie die Programmiersprache „C“ oder ähnlichen Programmiersprachen, geschrieben sein. Beispielsweise können die persistenten Speichermedien 11 oder anderer Systemspeicher einen Satz von Befehlen speichern, die bei Ausführung durch den Prozessor 12 bewirken, dass das System 10 ein(e) oder mehrere Komponenten, Merkmale oder Aspekte des Systems 10 implementiert (z. B. die Logik 13, selektives Bestimmen der Menge von Daten für Hintergrund-Auffrischen auf der Basis der Host-bereitgestellten Informationen, Auffrischen der bestimmten Menge von Daten als eine Hintergrundoperation usw.).
  • Nunmehr mit Bezug auf 2 kann eine Ausführungsform einer Halbleitervorrichtung 20 ein oder mehrere Substrate 21 und mit dem einen oder den mehreren Substraten 21 gekoppelte Logik 22 umfassen, wobei die Logik 22 mindestens teilweise in konfigurierbarer Logik und/oder Logikhardware mit fester Funktionalität implementiert ist. Die mit dem einen oder den mehreren Substraten 21 gekoppelte Logik 22 kann ausgelegt sein zum selektiven Bestimmen einer Menge von Daten für Hintergrundauffrischen mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf einem persistenten Speicherungsmedium als Hintergrundoperation. Zum Beispiel können die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien umfassen, die durch einen Host gescrubbt werden. Bei einigen Ausführungsformen kann die Logik 22 ausgelegt sein zum Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind (z. B. auf der Basis von Stream-Informationen, Warteschlangeninformationen usw., die der Schreiboperation zugeordnet sind). Bei einigen Ausführungsformen kann die Logik 22 ferner ausgelegt sein zum Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind, und Sperren von BDR für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags. Zum Beispiel kann jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entsprechen, und jede der einen oder mehreren Regionen kann einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entsprechen. Bei beliebigen der vorliegenden Ausführungsformen können die persistenten Speicherungsmedien ein SSD umfassen. Bei einigen Ausführungsformen kann die mit dem einen oder den mehreren Substraten 21 gekoppelte Logik 22 Transistorkanalregionen umfassen, die in dem einen oder den mehreren Substraten 21 positioniert sind.
  • Ausführungsformen von Logik 22 und anderen Komponenten der Vorrichtung 20 können in Hardware, Software oder einer beliebigen Kombination davon implementiert sein, einschließlich einer wenigstens teilweisen Implementierung in Hardware. Beispielsweise können Hardwareimplementierungen konfigurierbare Logik wie beispielsweise PLAs, FPGAs, CPLDs oder Logikhardware mit fester Funktionalität, die Schaltungstechnologie nutzen, zum Beispiel ASIC, CMOS oder TTL-Technologie, oder eine beliebige Kombination davon, aufweisen. Zusätzlich dazu können Teile dieser Komponenten in einem oder mehreren Modulen implementiert sein, etwa einem Satz von Logikbefehlen, der auf einem maschinen- oder computerlesbaren Speichermedium gespeichert ist, wie etwa RAM, ROM, PROM, Firmware, Flash-Speicher usw., um von einem Prozessor oder einer Datenverbeitungsvorrichtung ausgeführt zu werden. Zum Beispiel kann ein Computerprogrammcode zum Ausführen der Operationen der Komponenten in jeder beliebigen Kombination von einer oder mehreren für das OS anwendbaren/geeigneten Programmiersprache(n), einschließlich einer objektbezogenen Programmiersprache wie PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen sowie herkömmlichen prozeduralen Programmiersprachen wie die Programmiersprache „C“ oder ähnlichen Programmiersprachen, geschrieben sein.
  • Die Vorrichtung 20 kann einen oder mehrere Aspekte des Verfahrens 30 (3A bis 3B) oder eine beliebige der hier erörterten Ausführungsformen implementieren. In manchen Ausführungsformen kann die dargestellte Vorrichtung 20 das eine oder die mehreren Substrate 21 (z. B. Silizium, Saphir, Gallium-Arsenid) und die Logik 22 (z. B. Transistoranordnung oder andere integrierte Schaltung/IC-Komponenten), die mit dem/den Substrat(en) 21 gekoppelt sind, aufweisen. Die Logik 22 kann wenigstens teilweise in konfigurierbarer Logik oder Hardwarelogik mit fester Funktionalität implementiert sein. In einem Beispiel kann die Logik 22 Transistorkanalregionen aufweisen, die innerhalb des/der Substrate(s) 21 angeordnet (z. B. eingebettet) sind. Somit kann die Schnittstelle zwischen der Logik 22 und dem/den Substrat(en) 21 keinen abrupten Übergang darstellen. Die Logik 22 kann auch betrachtet werden als eine Epitaxieschicht umfassend, die auf einem anfänglichen Wafer des/der Substrate(s) 21 aufgewachsen ist.
  • Nunmehr mit Bezuf auf 3A bis 3B kann eine Ausführungsform eines Verfahrens 30 zum Steuern von Speicherung Folgendes umfassen: selektives Bestimmen einer Menge von Daten für Hintergrundauffrischen mindestens teilweise auf der Basis von host-bereitgestellten Informationen in Block 31 und Auffrischen der bestimmten Menge von Daten auf einem persitenten Speicherungsmedium als Hintergrundoperation in Block 32. Die host-bereitgestellten Informationen können zum Beispiel in Block 33 Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien umfassen, die durch den Host gescrubbt werden. Einige Ausführungsformen des Verfahrens 30 können in Block 34 Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen umfassen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind (z. B. auf der Basis von Stream-Informationen, Warteschlangeninformationen usw., die der Schreiboperation zugeordnet sind). Einige Ausführungsformen des Verfahrens 30 können ferner in Block 35 Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind, und in Block 36 Sperren von BDR für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags umfassen. Zum Beispiel kann jedes des einen oder der mehreren Flags in Block 37 einem Bit der persistenten Speicherungsmedien entsprechen, und jede der einen oder mehreren Regionen kann in Block 38 einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entsprechen. Bei beliebigen der vorliegenden Ausführungsformen können die persistenten Speicherungsmedien in Block 39 eine SSD umfassen.
  • Ausführungsformen des Verfahrens 30 können in einem System, einer Vorrichtung, einem Computer, einem Gerät usw. implementiert sein, wie sie hier beschrieben sind. Insbesondere können Hardwareimplementierungen des Verfahrens 28 konfigurierbare Logik wie beispielsweise PLAs, FPGAs, CPLDs oder Logikhardware mit fester Funktionalität, die Schaltungstechnologie nutzt, zum Beispiel ASIC, CMOS oder TTL-Technologie, oder eine beliebige Kombination davon aufweisen. Alternativ oder zusätzlich dazu kann das Verfahren 30 in einem oder mehreren Modulen als ein Satz von Logikbefehlen implementiert sein, der auf einem maschinen- oder computerlesbaren Speichermedium gespeichert ist, etwa RAM, ROM, PROM, Firmware, Flash-Speicher usw., um von einem Prozessor oder einer Datenverarbeitungsvorrichtung ausgeführt zu werden. Zum Beispiel kann ein Computerprogrammcode zum Ausführen der Operationen der Komponenten in jeder beliebigen Kombination von einer oder mehreren für das OS anwendbaren/geeigneten Programmiersprache(n), einschließlich einer objektbezogenen Programmiersprache wie PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen sowie herkömmlichen prozeduralen Programmiersprachen wie die Programmiersprache „C“ oder ähnlichen Programmiersprachen, geschrieben sein.
  • Beispielsweise kann das Verfahren 30 auf einem computerlesbaren Medium wie im Zusammenhang mit den Beispielen 20 bis 25 weiter unten beschrieben implementiert sein. Ausführungsformen oder Abschnitte des Verfahrens 30 können in Firmware, Anwendungen (z. B. über eine Anwendungsprogrammierschnittstelle (Application Programming Interface, API)) oder Treibersoftware, die auf einem Betriebssystem (OS) läuft, implementiert sein. Zusätzlich könnten Logikanweisungen Assembler-Anweisungen, ISA-Anweisungen (Instruction Set Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Zustandssetzdaten, Konfigurationsdaten für integrierte Schaltkreise, Zustandsinformationen, die elektronische Schaltkreise und/oder andere strukturelle Komponenten personalisieren, die für Hardware nativ sind (z. B. Hostprozessor, Zentralverarbeitungseinheit/CPU, Mikrocontroller usw.) aufweisen.
  • Nunmehr mit Bezug auf 4 kann eine Ausführungsform eines SSD 40 einen NVM-Controller 42 und NVM-Medien 44 (z. B. Medien auf NAND-Basis, PCM-Medien, Intel-3D-XPOINT-Speicher usw.) umfassen. Zum Beispiel kann der NVM-Controller 42 Logik und Technologie umfassen, damit das SSD 40 mit NVMe kompatibel wird. Der NVM-Controller 42 kann ferner ausgelegt sein zum selektiven Bestimmen einer Menge von Daten für Hintergrundauffrischen mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den NVM-Medien 44 als Hintergrundoperation. Zum Beispiel können die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den NVM-Medien 44 umfassen, die durch einen Host gescrubbt werden. Bei einigen Ausführungsformen kann der NVM-Controller 42 ausgelegt sein zum Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind (z. B. auf der Basis einer Stream-Kennung (ID), Warteschlangen-ID usw., die der Schreiboperation zugeordnet ist). Bei einigen Ausführungsformen kann der NVM-Controller 42 ferner ausgelegt sein zum Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der NVM-Medien 44 zugeordnet sind, und Sperren von BDR für die eine oder mehreren Regionen der NVM-Medien 44 auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags. Zum Beispiel kann jedes des einen oder der mehreren Flags einem Bit der NVM-Medien 44 entsprechen, und jede der einen oder mehreren Regionen kann einer Wiederbeanspruchungseinheit der NVM-Medien 44 entsprechen.
  • Ausführungsformen des NVM-Controllers 42, der NVM-Medien 44 und anderer Komponenten des SSD 40 können in Hardware, Software oder einer beliebigen Kombination davon implementiert werden, einschließlich mindestens einer teilweisen Implementierung in Hardware. Zum Beispiel können Hardwareimplementierungen konfigurierbare Logik umfassen, wie zum Beispiel PLA, FPGA, CPLD oder Logikhardware mit fester Funktionalität, die Schaltungstechnologie wie z. B. ASIC-, CMOS- oder TTL-Technologie oder eine beliebige Kombination davon verwendet. Außerdem können Teile dieser Komponenten in einem oder mehreren Modulen als ein Satz von Logikbefehlen implementiert sein, der auf einem maschinen- oder computerlesbaren Speichermedium gespeichert ist, etwa RAM, ROM, PROM, Firmware, Flash-Speicher usw., um von einem Prozessor oder einer Datenverarbeitungsvorrichtung ausgeführt zu werden. Zum Beispiel kann ein Computerprogrammcode zum Ausführen der Operationen der Komponenten in jeder beliebigen Kombination von einer oder mehreren für das OS anwendbaren/geeigneten Programmiersprache(n), einschließlich einer objektbezogenen Programmiersprache wie PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen sowie herkömmlichen prozeduralen Programmiersprachen wie die Programmiersprache „C“ oder ähnlichen Programmiersprachen, geschrieben sein.
  • Einige Ausführungsformen können vorteilhafterweise selektives BDR für ein SSD bereitstellen. Ohne auf Operationstheorie oder bestimmte Implentierungen beschränkt zu sein, kann, wenn Daten in einigen Speicherungssystemen gespeichert werden, eine Integritätsprüfung (z. B. eine Prüfsumme oder ein Digest) berechnet und zusammen mit den Daten gespeichert werden, um etwaige zukünftige Datenverfälschung zu detektieren. Laufwerk-Scrubbing kann sich auf einen Prozess des Prüfens der Integrität von Daten durch Rücklesen der Daten, Neuberechnen der Prüfsumme/des Digest und Vergleichen des Ergebnisses mit dem Original beziehen. Übliche Integritätsprüfungen wären CRC-32C-Prüfsummen und MD5-Hashes. Bei Verwendung im Kontext von Objektspeicherung (z. B. CEPH, HDFS, SWIFT, usw.) kann es bei einigen anderen SSD zu Doppel-Scrubbing an Benutzerdaten kommen. Zum Beispiel können die Benutzerdaten einmal durch das SSD „gescrubbt“ werden (was z. B. auch als Hintergrund-Datenauffrischen oder BDR bezeichnet wird) und auch ein zweites Mal durch Hostsoftware (SW) gescrubbt werden (was z. B. auch als Laufwerk-Scrubbing bezeichnet wird).
  • Das Doppel-Scrubbing kann zweimal so viel Scrubbing-bezogenen Verkehr an Benutzerdaten erzeugen, was zu mehr Lesestörung, Datenrandomisierung, Zusatzschreibvorgängen und Störungen von Vordergrundeingabe-/-ausgabe (E/A) führen kann, was sich auf Leistungsfähigkeit, Lebensdauer (z. B. zusätzliche Schreibverstärkung) und Dienstgüte (QoS) auswirkt. Zum Beispiel kann ein SSD BDR durchführen, um ruhende Daten zu schützen, während die Host-SW Scrubbing zum Beispiel durchführen kann, um vor Ausfällen im Speicherungs-Stapel (sowohl Hardware HW) als auch SW) zu schützen. Selbst wenn ein SSD garantieren könnte, dass niemals Daten in dem SSD verfälscht werden, kann Host-SW immer noch Scrubbing durchführen, um Fehler zu detektieren, die im Stapel auftreten können (z. B. Bugs im OS, einem Vorrichtungstreiber usw.), bevor die Daten das SSD erreichen. Einige Objektspeicherungssysteme können versuchen, Fehlerraten sogar über die eines einzelnen SSD hinaus zu verringern. Zum Beispiel können einige Objektspeicherungssysteme zusätzliche Aktionen unternehmen, um proaktiv potentielle Probleme zu finden und zu lösen. In vielen Fällen kann Host-SW in der Lage sein, sich von verlorenen Benutzerdaten (z. B. über löschungscodierte und replizierte Kopien) zu erholen und die Erholung auf SSD-Ebene kann redundant und unnötig sein. Vorteilhafterweise können einige Ausführungsformen solches Doppel-Scrubbing verringern oder beseitigen und Speicherungssystemleistungsfähigkeit (z. B. Geschwindigkeit, Stromverbrauch usw.), Lebensdauer und/oder QoS verbessern.
  • Einige Ausführungsformen können Hostunterstütztes selektives Auffrischen für eine SSD-Vorrichtung bereitstellen. Mit selektivem Auffrischen kann die Host-SW angeben, welche Seiten bereits durch den Host-SW gescrubbt sind. Zum Beispiel kann die Host-SW Informationen oder Hinweise bereitstellen, die dem SSD angeben, dass die identifizierten Seiten nicht durch das SSD aufgefrischt werden müssen (z. B. als Vorschlag, im Gegensatz zu einer Direktive). Seiten, die durch die Host-SW nicht gescrubbt werden (z. B. Dateisystem-Metadaten usw.) können über normale Auffrischprozesse im SSD (z. B. BDR) aufgefrischt werden. Um Datenintegrität von Ende zu Ende sicherzustellen, kann immer noch Scubbing auf Host-SW-Ebene benutzt werden und kann nicht mit nur SSD-Auffrischen ersetzt werden (was z. B. Verfälschung auf SSD-Ebene und keinerlei Verfälschung im Netzwerk- oder SW-Stapel detektieren kann). Vorteilhafterweise können einige Ausführungsformen Benutzerdaten nur einmal durch die Host-SW scrubben und Benutzerdatenauffrischung (z. B. BDR) kann im SSD gesperrt sein. Die Host-SW kann immer noch angemessen das System vor Datenausfällen schützen, um eine erwünschte Rate unkorrigierbarer Bitfehler (UBER) zu erzielen. Einige Ausführungsformen des selektiven BDR können vorteilhafterweise Scrubbing-bezogenen Verkehr um bis zu 50% verringern (z. B. in Fällen, in denen Daten bereits durch die Host-SW gescrubbt werden), was zu weniger Lesestörung, weniger Datenrandomisierung, weniger Schreibvorgängen und weniger Störungen von Vordergrund-E/A führt und die Leistungsfähigkeit, Lebensdauer und/oder QoS signifikant verbessern kann.
  • Nunmehr mit Bezug auf 5 kann eine Ausführungsform eines elektronischen Verarbeitungssystems 50 eine Hostvorrichtung 51 mit Host-SW 52 umfassen, die kommunikativ mit einem SSD 54 mit selektiver BDR-Technologie wie hier beschrieben gekoppelt ist. Zum Beispiel kann das SSD 54 dem Speicherungssystem 10 (1) ähnlich sein, kann Merkmale der Vorrichtung 20 (2) implementieren, kann einen oder mehrere Aspekte des Verfahrens 30 ( 3A bis 3B) implementieren und/oder kann dem SSD 40 (4) ähnlich sein. Zum Beispiel können Aspekte der selektiven BDR-Technologie in einem SSD-Controller 55 mit geeigneter Hardware und SSD-Firmware (FW) implementiert werden.
  • Die SSD-FW kann einzelne Seiten auffrischen und kann Seiten über Chips hinweg verlagern (z. B. versetzen) (z. B., um BDR durchzuführen). Die Versetzung kann durch die SSD-FW eingeteilt werden, wenn Seiten mit zu vielen Lesevorgängen (z. B. LeseStörung) oder zu vielen Leseneuversuchen angetroffen werden. Periodisch (z. B. einmal pro Woche) kann das gesamte Laufwerk aufgefrischt (z. B. gelesen) werden, und schlechte Seiten können je nach Bedarf versetzt werden. Bei Ausführungsformen des SSD 54 kann, wenn die Host-SW 52 einen Schreibvorgang ausgibt, die Hostvorrichtung 51 einen Hinweis senden, der spezifiziert, ob der Schreibvorgang Daten enthält, die über BDR aufgefrischt werden sollten (z. B. können Benutzerdaten, die bereits durch die Host-SW 52 geschützt werden, kein BDR erfordern). Zum Beispiel können Streams, E/A-Warteschlangen, Hinweise der Datensatzverwaltung (DSM), die mit bestimmten Schreiboperationen weitergeleitet werden, oder andere Mechanismen durch die Hostvorrichtung 51 verwendet werden, um die Informationen dem SSD 54 bereitzustellen. Zum Beispiel können für Nicht-Vorrichtungs-aufzufrischende Daten M Streams und für Vorrichtungs-aufzufrischende Daten N Streams verwendet werden. Wenn die Host-SW 52 ihr Scrub durchführt, kann das Scrub einfach als bedarfsgesteuerte Lesevorgänge am SSD 54 erscheinen. Wenn irgendwelche schlechte Seiten angetroffen werden, können die schlechten Seiten für Versetzung im SSD 54 markiert werden. Wenn das SSD 54 keine bedarfsgesteuerte Versetzung durchführt, kann die Host-SW 52 angeben, dass die Versetzungsanforderung eine Scrubbing-Anforderung ist und dass die Versetzung für die identifizierten Seiten eingeteilt werden sollte.
  • Bei einigen Ausführungsformen kann die SSD-FW ein zusätzliches Bit Informationen verwalten, das persistent im SSD 54 für jede Seite in der Schreibanforderung von der Host-SW 52 gespeichert wird. Das Zusatzbit kann angeben, ob die zugeordnete Seite durch das SSD 54 aufzufrischende Daten enthält. Wenn die SSD-FW später ihr BDR durchführt, kann die SSD-FW dieses Bit Informationen für jede Seite konsultieren. Bei einigen Ausführungsformen kann BDR an Sammlungen von Seiten ausgeführt werden, die als Wiederbeanspruchungseinheit bezeichnet werden können. Einige Ausführungsformen können ein einziges Bit pro Wiederbeanspruchungseinheit speichern (z. B. im Gegensatz zu einem Bit pro Seite). Das einzige Bit kann als BDR-Hinweis-Flag bezeichnet werden (z. B. weil die SSD-FW immer noch auf der Basis von Faktoren/Gesichtspunkten außer dem BDR-Hinweis-Flag entscheiden kann, BDR an der Einheit auszuführen). Wenn das BDR-Hinweis-Flag auf 1 gesetzt ist, kann die SSD-FW zum Beispiel reguläres BDR an der Wiederbeanspruchungseinheit ausführen. Andernfalls kann BDR für die zugeordnete Wiederbeanspruchungseinheit gesperrt werden. Bei einigen Ausführungsformen können alle Seiten in einer Wiederbeanspruchungseinheit mit derselben BDR-Richtlinie behandelt werden (entweder ein oder aus auf der Basis des BDR-Hinweis-Flags). Einige Ausführungsformen können dafür ausgelegt sein, für Implementierungen der Flash-Transaktionsschicht (FTL) auf Host-Softwarebasis zu funktionieren, die eine Verwaltungs-API oberen Schichten freilegen. Zum Beispiel können einige Ausführungsformen SW erlauben, BDR für jede FTL-Indirektionseinheit zu steuern/zu unterstützen.
  • Einige Ausführungsformen können durch Bezugnahme auf den nachfolgenden Pseudocode besser verständlich werden, der bestimmen kann, ob eine Wiederbeanspruchungseinheit aufgefrischt werden sollte, indem das gespeicherte Flag/Bit BDR_Hinweis untersucht wird:
    While (true)
     {
     Schnappschuss der ältesten geschriebenen
    Wiederbeanspruchungseinheit im System falls
     (BDR_Hinweis==1)
    Warten (BDR_Periode / Anz. geschriebener
    Wiederbeanspruchungseinheiten)
     If (offene Wiederbeanspruchungseinheit war für die
     Zeit BDR Periode / 2 offen)&&
     (BDR_Hinweis==1)
     {
     Abbruch und Versetzen der offenen
     Wiederbeanspruchungseinheit 
     }
     Else if (älteste Wiederbeanspruchungseinheiten
    werden immer noch geschrieben und älteste
    Wiederbeanspruchungseinheit && BDR_Hinweis==1)
     {
       Versetzen der ältesten Wiederbean       spruchungseinheit

      }
     Else
     {
       //Kein BDR durchzuführen, weil dies eine
       Schreib-Arbeitslast voller Spanne sein kann
       //oder weil BDR für diese
       Wiederbeanspruchungseinheit gesperrt wurde 

     }
     }
  • Als Anschauungsbeispiel für einen Host-SW-Benutzungsfall kann einmal pro Woche die Host-SW (z. B. CEPH- und SWIFT-Objektspeicherung) das gesamte SSD scrubben (z. B. lesen) und CRC/MD5-Digests nur an den Benutzerdaten berechnen. Die Host-SW (Dateisystemcode) kann in Vielfachen von 4 KB-Seiten lesen. Ungefähr 5% dieser Seiten können Dateisystem-Metadaten (z. B. als Anschauungsbeispiel) enthalten, und 95% enthalten Benutzerdaten (z. B. repliziert oder löschungscodiert). Gemäß einigen Ausführungsformen können nur Metadaten (die z. B. durch das Cluster nicht repliziert oder löschungscodiert werden) BDR-Schutz im SSD erhalten. Bei den übrigen 95% der Seiten, die im SSD gespeichert sind, kann BDR gesperrt sein, und Schutz kann stattdessen nur in Form von Replikation oder Löschungscodierung von SW auf Cluster-Ebene kommen.
  • Da die Benutzerdaten bereits durch Cluster-Software (z. B. über Replikation oder Löschungscodierung) geschützt sein können, können die Benutzerdaten höherem UBER im SSD standhalten, während Metadaten (die z. B. nicht durch Host-SW geschützt wird) niedrigeres UBER erfordern oder daraus Nutzen ziehen können. Für die meisten Anwendungen sollte dementsprechend die Host-SW reguläre Scrubbing-Operationen ausführen, um ihre Benutzerdaten innerhalb der zulässigen UBER von Ende zu Ende zu halten. Wenn Host-SW ihr reguläres Scrubben nicht durchführt (z. B. die Host-SW-Scrubbing-Prozesse aus einem bestimmten Grund gesperrt sind), kann die Leseleistungsfähigkeit von Benutzerdaten beeinträchtigt sein oder Benutzerdaten können im SSD fehlschlagen und undetektiert bleiben, bis ein bedarfsgesteuertes LESEN angetroffen wird, wobei in diesem Fall Daten im Fluge rekonstruiert werden müssen. Bei einigen Ausführungsformen kann die SSD-FW den BDR-Hinweis für Seiten/Wiederbeanspruchungseinheiten, die durch den Host nach einem gewissen Schwellenzeitraum, einer Anzahl von Zugriffen usw. nicht gescrubbt wurden, ignorieren (oder die SSD-SW kann z. B. periodisch den BDR-Hinweis setzen, um BDR auf der Basis eines oder mehrerer eines Timers, Zählers usw. für alle Seiten/Wiederbeanspruchungseinheiten freizugeben).
  • Bei einigen Ausführungsformen führt das Sperren von BDR (das z. B. für das Versetzen von fehlschlagenden Seiten im SSD verantwortlich sein kann) nicht zu übermäßigen Fehlschlägen im SSD, weil schlechte Seiten immer noch in dem SSD versetzt werden. Die Versetzungen werden einfach durch Host-SW-Lesevorgänge (z. B. Scrubbing) ausgelöst, anstelle regulärer BDR-Prozesse (z. B. auf Timer-Basis) im SSD. Ausführungsformen des SSD mit selektiver BDR-Technologie werden immer noch in der Lage sein, zu detektieren, wann eine Seite fehlschlägt (z. B. als Folge eines Host-SW-Scrubbing/Lesens dieser Seite, das auf zu viele Neuversuche stößt), und das SSD wird die Seite versetzen, wenn es notwendig ist. Die Host-SW kann eine Variable/einen Parameter für das erwartete UBER von einer Region mit gesperrtem BDR unterhalten, so dass der Host seine Scrubbing-Häufigkeit dementsprechend setzen kann (z. B. um das gewünschte UBER zu erreichen). Zur Entdeckung des erwarteten UBER kann eine beliebige geeignete Technik verwendet werden (z. B. kann ein Spezifikationsblatt das UBER auflisten, ein Verwaltungsbefehl an das Laufwerk kann das UBER zurückgeben usw.). Bei einigen Ausführungsformen kann die Host-SW einen gewünschten Wert des UBER für eine Region des Laufwerks spezifizieren, und das SSD kann seine BDR-Häufigkeit entsprechend einstellen. Anstelle eines Bit (wobei BDR für eine Region einfach EIN oder AUS ist) kann zum Beispiel bei einigen Ausführungsformen das BDR-Hinweis-Flag Mehr Werte unterstützen, die mehr als nur zwei Ebenen des BDR entsprechen können.
  • Zusätzliche Anmerkungen und Beispiele
  • Beispiel 1 kann ein elektronisches Speicherungssystem beinhalten, umfassend: persistente Speicherungsmedien; und einen kommunikativ mit den persistenten Speicherungsmedien gekoppelten Controller, wobei der Controller Logik für Folgendes umfasst: selektives Bestimmen einer Menge von Daten zur Hintergrund-Auffrischung mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien als eine Hintergrundoperation.
  • Beispiel 2 kann das System von Beispiel 1 beinhalten, wobei die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien, die durch einen Host aufgefrischt werden, umfassen.
  • Beispiel 3 kann das System von Beispiel 2 beinhalten, wobei die Logik ferner zu Folgendem dient: Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind.
  • Beispiel 4 kann das System von Beispiel 2 beinhalten, wobei die Logik ferner zu Folgendem dient: Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind; und Sperren des Hintergrund-Datenauffrischens für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder entsprechenden mehreren Flags.
  • Beispiel 5 kann das System von Beispiel 4 beinhalten, wobei jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entspricht und wobei jede der einen oder mehreren Regionen einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entspricht.
  • Beispiel 6 kann das System nach einem der Beispiele 1 bis 5 beinhalten, wobei die persistenten Speicherungsmedien ein Halbleiterlaufwerk umfassen.
  • Beispiel 7 kann eine Halbleitervorrichtung beinhalten, umfassend: ein oder mehrere Substrate; und mit dem einen oder den mehreren Substraten gekoppelte Logik, wobei die Logik mindestens teilweise in konfigurierbarer Logik und/oder Hardwarelogik fester Funktionalität implementiert ist, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik zu Folgendem dient: selektives Bestimmen einer Menge von Daten zur Hintergrund-Auffrischung mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien als eine Hintergrundoperation.
  • Beispiel 8 kann die Vorrichtung von Beispiel 7 beinhalten, wobei die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien, die durch einen Host aufgefrischt werden, umfassen.
  • Beispiel 9 kann die Vorrichtung von Beispiel 8 beinhalten, wobei die Logik ferner zu Folgendem dient: Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind.
  • Beispiel 10 kann die Vorrichtung von Beispiel 8 beinhalten, wobei die Logik ferner zu Folgendem dient: Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind; und Sperren des Hintergrund-Datenauffrischens für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags.
  • Beispiel 11 kann die Vorrichtung von Beispiel 10 beinhalten, wobei jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entspricht und wobei jede der einen oder mehreren Regionen einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entspricht.
  • Beispiel 12 kann die Vorrichtung nach einem der Beispiele 7 bis 11 beinhalten, wobei die persistenten Speicherungsmedien ein Halbleiterlaufwerk umfassen.
  • Beispiel 13 kann die Vorrichtung nach einem der Beispiele 7 bis 12 beinhalten, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik Transistorkanalregionen umfasst, die in dem einen oder den mehreren Substraten positioniert sind.
  • Beispiel 14 kann ein Verfahren zur Steuerung von Speicherung beinhalten, umfassend: selektives Bestimmen einer Menge von Daten zur Hintergrund-Auffrischung mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien als eine Hintergrundoperation.
  • Beispiel 15 kann das Verfahren von Beispiel 14 beinhalten, wobei die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien umfassen, die durch einen Host gescrubbt werden.
  • Beispiel 16 kann das Verfahren von Beispiel 15 beinhalten, ferner umfassend: Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind.
  • Beispiel 17 kann das Verfahren von Beispiel 15 beinhalten, ferner umfassend: Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind; und Sperren des Hintergrund-Datenauffrischens für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags.
  • Beispiel 18 kann das Verfahren von Beispiel 17 beinhalten, wobei jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entspricht und wobei jede der einen oder mehreren Regionen einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entspricht.
  • Beispiel 19 kann das Verfahren nach einem der Beispiele 14 bis 18 beinhalten, wobei die persistenten Speicherungsmedien ein Halbleiterlaufwerk umfassen.
  • Beispiel 20 kann mindestens ein computerlesbares Speichermedium beinhalten, das eine Menge von Anweisungen umfasst, die, wenn sie durch eine Datenverarbeitungsvorrichtung ausgeführt werden, die Datenverarbeitungsvorrichtung zu Folgendem veranlassen: selektivem Bestimmen einer Menge von Daten zur Hintergrundauffrischung mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien als eine Hintergrundoperation.
  • Beispiel 21 kann das mindestens eine computerlesbare Speicherungsmedium von Beispiel 20 beinhalten, wobei die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien, die durch einen Host gescrubbt werden, umfassen.
  • Beispiel 22 kann das mindestens eine computerlesbare Speicherungsmedium von Beispiel 21 beinhalten, das eine weitere Menge von Anweisungen umfasst, die, wenn sie durch die Datenverarbeitungsvorrichtung ausgeführt werden, die Datenverarbeitungsvorrichtung zu Folgendem veranlassen: Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind.
  • Beispiel 23 kann das mindestens eine computerlesbare Speicherungsmedium von Beispiel 21 beinhalten, das eine weitere Menge von Anweisungen umfasst, die, wenn sie durch die Datenverarbeitungsvorrichtung ausgeführt werden, die Datenverarbeitungsvorrichtung zu Folgendem veranlassen: Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind; und Sperren des Hintergrund-Datenauffrischens für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags.
  • Beispiel 24 kann das mindestens eine computerlesbare Speicherungsmedium von Beispiel 23 beinhalten, wobei jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entspricht und wobei jede der einen oder mehreren Regionen einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entspricht.
  • Beispiel 25 kann das mindestens eine computerlesbare Speicherungsmedium nach einem der Beispiele 20 bis 24 beinhalten, wobei die persistenten Speicherungsmedien ein Halbleiterlaufwerk umfassen.
  • Beispiel 26 kann eine Speicherungs-Steuerungsvorrichtung beinhalten, umfassend: Mittel zum selektiven Bestimmen einer Menge von Daten zur Hintergrundauffrischung mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Mittel zum Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien als eine Hintergrundoperation.
  • Beispiel 27 kann die Vorrichtung von Beispiel 26 beinhalten, wobei die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien, die durch einen Host gescrubbt werden, umfassen.
  • Beispiel 28 kann die Vorrichtung von Beispiel 27 beinhalten, ferner umfassend: Mittel zum Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind.
  • Beispiel 29 kann die Vorrichtung von Beispiel 27 beinhalten, ferner umfassend: Mittel zum Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind, und Mittel zum Sperren von Hintergrund-Datenauffrischen für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags.
  • Beispiel 30 kann die Vorrichtung von Beispiel 29 beinhalten, wobei jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entspricht und wobei jede der einen oder mehreren Regionen einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entspricht.
  • Beispiel 31 kann die Vorrichtung nach einem der Beispiele 26 bis 30 beinhalten, wobei die persistenten Speicherungsmedien ein Halbleiterlaufwerk umfassen.
  • Ausführungsformen sind zur Verwendung mit allen Arten von Halbleiter-Chips mit integrierten Schaltungen (IC) einsetzbar. Beispiele für diese IC-Chips sind Prozessoren, Steuerungen, Chipsatz-Komponenten, programmierbare Logik-Arrays (PLAs), Speicher-Chips, Netzwerk-Chips, Systeme auf einem Chip (SoCs), ASICs zur SSD/NAND-Steuerung und dergleichen, sind aber nicht darauf beschränkt. Des Weiteren sind in einigen der Zeichnungen Signalleiterleitungen durch Linien dargestellt. Einige können anders sein, um mehr Signalwegbestandteile anzuzeigen, weisen ein Zahlenzeichen auf, um eine Anzahl von Signalwegbestandteilen anzuzeigen, und/oder weisen an einem oder mehreren Enden Pfeile auf, um die primäre Richtung des Informationsflusses anzuzeigen. Dies sollte jedoch nicht in einer beschränkenden Weise ausgelegt werden. Stattdessen kann ein derartiges hinzugefügtes Detail in Verbindung mit einer oder mehreren beispielhaften Ausführungsformen verwendet werden, um das Verständnis einer Schaltung zu erleichtern. Alle dargestellten Signalleitungen, weisen sie nun zusätzliche Informationen auf oder nicht, können tatsächlich ein oder mehrere Signale umfassen, die sich in mehreren Richtungen bewegen, und können mit einer beliebigen geeigneten Art von Signalschema umgesetzt sein, z. B. digitale oder analoge Leitungen, umgesetzt in unterschiedlichen Paaren, Glasfaserleitungen und/oder Single-Ended-Leitungen.
  • Beispielhafte Größen/Modelle/Werte/Bereiche können angegeben sein, obwohl Ausführungsformen nicht auf diese beschränkt sind. Da sich Herstellungstechniken (z. B. Fotolithografie) mit der Zeit weiterentwickeln, ist anzunehmen, dass Geräte von geringerer Größe hergestellt werden könnten. Des Weiteren können in den Figuren zwecks Einfachheit der Darstellung und Beschreibung allgemein bekannte Netz/Masse-Verbindungen zu IC-Chips und weiteren Komponenten gezeigt sein oder nicht, so dass bestimmte Aspekte der Ausführungsformen nicht verundeutlicht werden. Ferner können Anordnungen in Form eines Blockschaltplans gezeigt sein, um das Verundeutlichen von Ausführungsformen zu vermeiden und außerdem in Hinsicht auf die Tatsache, dass Einzelheiten in Bezug auf die Umsetzung derartiger Blockschaltplananordnungen stark von der Plattform abhängen, mit der die Ausführungsform umzusetzen ist, d. h. diese Einzelheiten sollten ohne Weiteres in der Kompetenz von Fachleuten liegen. Wenn spezielle Details (z. B. Schaltungen) dargelegt sind, um beispielhafte Ausführungsformen zu beschreiben, sollte für Fachleute ersichtlich sein, dass Ausführungsformen ohne diese speziellen Details oder mit Varianten davon umgesetzt werden können. Die Beschreibung soll somit als veranschaulichend und nicht als beschränkend betrachtet werden.
  • Der Begriff „gekoppelt“ kann im Vorliegenden verwendet sein, um eine beliebige Art des Verhältnisses, ob direkt oder indirekt, zwischen den betreffenden Komponenten zu bezeichnen, und kann für elektrische, mechanische, fluidische, optische, elektromagnetische, elektromechanische oder andere Verbindungen gelten. Des Weiteren können die Begriffe „erstes“, „zweites“ usw. im Vorliegenden nur dafür verwendet sein, die Erläuterung zu unterstützen, und haben keine temporale oder chronologische Bedeutung, es sei denn, anderes ist angegeben.
  • Wie in der vorliegenden Anmeldung und in den Ansprüchen verwendet, kann eine Liste von Posten, die durch den Ausdruck „eines oder mehrere von“ verbunden werden, eine beliebige Kombination der aufgelisteten Begriffe bedeuten. Zum Beispiel können der Ausdruck „eines oder mehrere von A, B und C“ und der Ausdruck „eines oder mehrere von A, B oder C“ beide A; B; C; A und B; A und C; B und C; oder A, B und C bedeuten.
  • Fachleute werden aus der vorausgegangenen Beschreibung erkennen, dass die breiten Techniken der Ausführungsformen in einer Vielfalt von Formen umgesetzt werden können. Deshalb soll, obwohl die Ausführungsformen in Verbindung mit konkreten Beispielen davon beschrieben wurden, der wahre Geltungsbereich der Ausführungsformen nicht darauf beschränkt werden, da sich Fachleuten aus einem Studium der Zeichnungen, der Beschreibung und der folgenden Ansprüche weitere Modifizierungen erschließen werden.
  • Claims (25)

    1. Elektronisches Speicherungssystem, umfassend: persistente Speicherungsmedien; und einen kommunikativ mit den persistenten Speicherungsmedien gekoppelten Controller, wobei der Controller Logik für Folgendes umfasst: selektives Bestimmen einer Menge von Daten zur Hintergrund-Auffrischung mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien als eine Hintergrundoperation.
    2. System nach Anspruch 1, wobei die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien, die durch einen Host aufgefrischt werden, umfassen.
    3. System nach Anspruch 2, wobei die Logik ferner zu Folgendem dient: Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind.
    4. System nach Anspruch 2, wobei die Logik ferner zu Folgendem dient: Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind; und Sperren des Hintergrund-Datenauffrischens für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags.
    5. System nach Anspruch 4, wobei jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entspricht und wobei jede der einen oder mehreren Regionen einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entspricht.
    6. System nach einem der Ansprüche 1 bis 5, wobei die persistenten Speicherungsmedien ein Halbleiterlaufwerk umfassen.
    7. Halbleitervorrichtung, umfassend: ein oder mehrere Substrate; und mit dem einen oder den mehreren Substraten gekoppelte Logik, wobei die Logik mindestens teilweise in konfigurierbarer Logik und/oder Hardwarelogik fester Funktionalität implementiert ist, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik zu Folgendem dient: selektivem Bestimmen einer Menge von Daten zur Hintergrund-Auffrischung mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien als eine Hintergrundoperation.
    8. Vorrichtung nach Anspruch 7, wobei die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien, die durch einen Host aufgefrischt werden, umfassen.
    9. Vorrichtung nach Anspruch 8, wobei die Logik ferner zu Folgendem dient: Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind.
    10. Vorrichtung nach Anspruch 8, wobei die Logik ferner zu Folgendem dient: Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind; und Sperren des Hintergrund-Datenauffrischens für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags.
    11. Vorrichtung nach Anspruch 10, wobei jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entspricht und wobei jede der einen oder mehreren Regionen einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entspricht.
    12. Vorrichtung nach einem der Ansprüche 7 bis 11, wobei die persistenten Speicherungsmedien ein Halbleiterlaufwerk umfassen.
    13. Vorrichtung nach einem der Ansprüche 7 bis 12, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik Transistorkanalregionen umfasst, die in dem einen oder den mehreren Substraten positioniert sind.
    14. Verfahren zur Steuerung von Speicherung, umfassend: selektives Bestimmen einer Menge von Daten zur Hintergrund-Auffrischung mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien als eine Hintergrundoperation.
    15. Verfahren nach Anspruch 14, wobei die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien umfassen, die durch einen Host aufgefrischt werden.
    16. Verfahren nach Anspruch 15, ferner umfassend: Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind.
    17. Verfahren nach Anspruch 15, ferner umfassend: Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind; und Sperren des Hintergrund-Datenauffrischens für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags.
    18. Verfahren nach Anspruch 17, wobei jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entspricht und wobei jede der einen oder mehreren Regionen einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entspricht.
    19. Verfahren nach einem der Ansprüche 14 bis 18, wobei die persistenten Speicherungsmedien ein Halbleiterlaufwerk umfassen.
    20. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien, das eine Menge von Anweisungen umfasst, die, wenn sie durch eine Datenverarbeitungsvorrichtung ausgeführt werden, die Datenverarbeitungsvorrichtung zu Folgendem veranlassen: selektivem Bestimmen einer Menge von Daten zur Hintergrund-Auffrischung mindestens teilweise auf der Basis von host-bereitgestellten Informationen und Auffrischen der bestimmten Menge von Daten auf den persistenten Speicherungsmedien als eine Hintergrundoperation.
    21. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach Anspruch 20, wobei die host-bereitgestellten Informationen Informationen in Bezug auf Daten auf den persistenten Speicherungsmedien, die durch einen Host aufgefrischt werden, umfassen.
    22. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach Anspruch 21, das eine weitere Menge von Anweisungen umfasst, die, wenn sie durch die Datenverarbeitungsvorrichtung ausgeführt werden, die Datenverarbeitungsvorrichtung zu Folgendem veranlassen: Identifizieren der host-bereitgestellten Informationen auf der Basis von Informationen, die einer durch den Host eingeleiteten Schreiboperation zugeordnet sind.
    23. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach Anspruch 21, das eine weitere Menge von Anweisungen umfasst, die, wenn sie durch die Datenverarbeitungsvorrichtung ausgeführt werden, die Datenverarbeitungsvorrichtung zu Folgendem veranlassen: Setzen eines oder mehrerer Flags auf der Basis der host-bereitgestellten Informationen, wobei das eine oder die mehreren Flags jeweils einer oder mehreren Regionen der persistenten Speicherungsmedien zugeordnet sind; und Sperren des Hintergrund-Datenauffrischens für die eine oder mehreren Regionen der persistenten Speicherungsmedien auf der Basis jeweiliger Zustände des entsprechenden einen oder der entsprechenden mehreren Flags.
    24. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach Anspruch 23, wobei jedes des einen oder der mehreren Flags einem Bit der persistenten Speicherungsmedien entspricht und wobei jede der einen oder mehreren Regionen einer Wiederbeanspruchungseinheit der persistenten Speicherungsmedien entspricht.
    25. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach einem der Ansprüche 20 bis 24, wobei die persistenten Speicherungsmedien ein Halbleiterlaufwerk umfassen.
    DE102019112751.3A 2018-06-28 2019-05-15 Selektives hintergrund-datenauffrischen für ssd Pending DE102019112751A1 (de)

    Applications Claiming Priority (2)

    Application Number Priority Date Filing Date Title
    US16/021,722 US11137916B2 (en) 2018-06-28 2018-06-28 Selective background data refresh for SSDs
    US16/021,722 2018-06-28

    Publications (1)

    Publication Number Publication Date
    DE102019112751A1 true DE102019112751A1 (de) 2020-01-02

    Family

    ID=65229451

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102019112751.3A Pending DE102019112751A1 (de) 2018-06-28 2019-05-15 Selektives hintergrund-datenauffrischen für ssd

    Country Status (3)

    Country Link
    US (1) US11137916B2 (de)
    CN (1) CN110658982A (de)
    DE (1) DE102019112751A1 (de)

    Families Citing this family (4)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US11099925B2 (en) * 2018-07-10 2021-08-24 EMC IP Holding Company LLC Datacenter preemptive measures for improving protection using IoT sensors
    US11106528B2 (en) 2018-10-10 2021-08-31 EMC IP Holding Company LLC Datacenter IoT-triggered preemptive measures using machine learning
    US11334253B2 (en) 2018-12-07 2022-05-17 Intel Corporation Storage system that provides protection levels at stored data item granularity
    CN112148377B (zh) * 2020-09-28 2023-02-10 深圳忆联信息系统有限公司 EFI Shell环境下防止SSD异常掉电的方法和装置

    Family Cites Families (4)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US8046551B1 (en) * 2008-08-14 2011-10-25 Emc Corporation Techniques for processing I/O requests
    US8843808B2 (en) * 2011-06-30 2014-09-23 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method to flag a source of data corruption in a storage subsystem using persistent source identifier bits
    US8750042B2 (en) * 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
    US9053808B2 (en) * 2012-06-21 2015-06-09 Sandisk Technologies Inc. Flash memory with targeted read scrub algorithm

    Also Published As

    Publication number Publication date
    US20190042114A1 (en) 2019-02-07
    CN110658982A (zh) 2020-01-07
    US11137916B2 (en) 2021-10-05

    Similar Documents

    Publication Publication Date Title
    DE102019112751A1 (de) Selektives hintergrund-datenauffrischen für ssd
    DE112016004629T5 (de) Datencodiertechniken für eine Vorrichtung
    DE102019111132A1 (de) Speichereinrichtung, die Hostspeicher nutzt und Betriebsverfahren dafür
    DE102018214010A1 (de) Verfahren und Vorrichtung zur Reduzierung von unbemerkten Datenfehlern in nichtflüchtigen Speichersystemen
    DE112016005858T5 (de) Techniken zum Ausschalten von Ausgangsstromschienen für eine Speicherungsvorrichtung
    DE112015000378T5 (de) Selektives Rückkopieren für einen auf einem Chipplättchen gepufferten nichtflüchtigen Speicher
    DE102017120960A1 (de) Mehrkanal-Speicheroperationen auf der Grundlage von Bitfehlerraten
    DE102020132768A1 (de) Rückgängigmachen und erneutes ausführen von weicher post-package-reparatur
    DE102020116316A1 (de) Prioritätsbasierte batterie-zuordnung für ressourcen während leistungsausfall
    DE102018123670A1 (de) Speicherungssystem, Rechensystem und Verfahren dafür
    DE112016000696B4 (de) Ablaufplanungsschema(ta) für eine Mehrchip-Speichervorrichtung
    DE112020000143T5 (de) Ssd-system, das einschaltzyklus-basierten read-scrub verwendet
    DE112020005350T5 (de) Aktualisieren von korrigierenden lesespannung-offsetwerten in nichtflüchtigen direktzugriffsspeichern
    DE102018204931A1 (de) Dauerhaftes Caching eines arbeitsspeicherseitigen Cache-Inhalts
    DE102020103372A1 (de) Proaktive verringerung der neulese-auslösung
    DE112012006454T5 (de) Ruhezustand auf der Basis von Seitenquellcode
    DE102019118631A1 (de) Speichervorrichtung, welche eine Wartungsarbeit unabhängig ohne Befehl des Host initiiert, und elektronisches System mit derselben
    DE102021117355A1 (de) SSD-verwaltete Host-Schreib-Atomizität mit beliebiger Übertragungslänge
    DE112021000474T5 (de) Durchführung einer Medienverwaltungsoperation basierend auf einer Änderung eines Schreibmodus eines Datenblocks in einem Cache
    DE102020116190A1 (de) Slc-/qlc-doppelprogrammierung und ressourcenfreigabe
    DE102020132758A1 (de) Leistungsfähigkeits-konfigurierbare nichtflüchtige speichermenge
    DE112020005099T5 (de) Konstruktion einer blockvorrichtung
    DE102021129138A1 (de) Abdeckungsbasierte komprimierung mit geringer komplexität
    DE102022101260A1 (de) Ereignismechanismus zur Fehlererkennung
    DE112022002494T5 (de) Datenspeicherungsvorrichtung und verfahren zur dateibasierten interrupt-zusammenführung