DE102020103570A1 - Host-definierte bandbreitenzuweisung für ssd-aufgaben - Google Patents

Host-definierte bandbreitenzuweisung für ssd-aufgaben Download PDF

Info

Publication number
DE102020103570A1
DE102020103570A1 DE102020103570.5A DE102020103570A DE102020103570A1 DE 102020103570 A1 DE102020103570 A1 DE 102020103570A1 DE 102020103570 A DE102020103570 A DE 102020103570A DE 102020103570 A1 DE102020103570 A1 DE 102020103570A1
Authority
DE
Germany
Prior art keywords
host
information
logic
storage media
persistent storage
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
DE102020103570.5A
Other languages
English (en)
Inventor
Shirish Bahirat
John Rudelic
Mary GOODMAN
Michael Allison
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 DE102020103570A1 publication Critical patent/DE102020103570A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Semiconductor Memories (AREA)

Abstract

Eine Ausführungsform einer Halbleitervorrichtung kann Technologie zum Bereitstellen von Platzierungsoptionsinformationen als Reaktion auf eine Host-Abfrage an einen Host und zum Erzeugen eines Namenraums zum Zugreifen auf persistente Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen beinhalten. Andere Ausführungsformen werden offenbart und beansprucht.

Description

  • TECHNISCHES GEBIET
  • Ausführungsformen betreffen allgemein Speicherungssysteme. Insbesondere betreffen Ausführungsformen eine Host-definierte Bandbreitenzuweisung für Festkörperlaufwerk(SSD: Solid State Drive)-Aufgaben.
  • HINTERGRUND
  • Ein SSD kann nichtflüchtige Speichertechnologie (NVM-Technologie; NVM: Non-Volatile Memory) beinhalten. Ein Zugriff auf die Inhalte des SSD kann mit einem Protokoll wie etwa NVM EXPRESS (NVMe), Revision 1.3, veröffentlicht Mai 2017 (nvmexpress.org), unterstützt werden. Die Open-Channel Solid State Drives (OCSSD) Spezifikation, Revision 2.0, veröffentlicht am 29. Januar 2018 (http://lightnvm.io), beschreibt eine physische Seitenadressierung-Befehlssatz-Erweiterung für die NVMe-Spezifikation.
  • Figurenliste
  • Die verschiedenen Vorteile der Ausführungsformen werden einem Fachmann durch Lesen der folgenden Spezifikation und der beigefügten Ansprüche und durch Bezugnahme auf die folgenden Zeichnungen ersichtlich, in denen Folgendes gilt:
    • 1 ist ein Blockdiagramm eines Beispiels eines elektronischen Speicherungssystems gemäß einer Ausführungsform;
    • 2 ist ein Blockdiagramm eines Beispiels einer Halbleitervorrichtung gemäß einer Ausführungsform;
    • 3A bis 3C sind Flussdiagramme eines Beispiels eines Verfahrens zum Verwalten von Speicherung gemäß einer Ausführungsform;
    • 4 ist eine veranschaulichende Tabelle von Beispielen verschiedener SSD-Verwaltungsmerkmale gemäß einer Ausführungsform;
    • 5 ist ein Blockdiagramm eines Beispiels einer elektronischen Verarbeitungssystemvorrichtung gemäß einer Ausführungsform;
    • 6 ist ein Blockdiagramm eines anderen Beispiels eines elektronischen Verarbeitungssystems gemäß einer Ausführungsform;
    • 7 ist ein veranschaulichendes Diagramm eines Beispiels einer Abbildung von Anwendungen zu Speicherungseinheiten gemäß einer Ausführungsform;
    • 8 ist ein Blockdiagramm eines Beispiels eines Rechensystems gemäß einer Ausführungsform; und
    • 9 ist ein Blockdiagramm eines Beispiels eines SSD gemäß einer Ausführungsform.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Verschiedene hierin beschriebene Ausführungsformen können eine Speicherkomponente und/oder eine Schnittstelle zu einer Speicherkomponente beinhalten. Derartige Speicherkomponenten können flüchtigen und/oder nichtflüchtigen (NV) Speicher beinhalten. Ein flüchtiger Speicher kann ein Speicherungsmedium sein, das Leistung zum Aufrechterhalten des Zustands von durch das Medium gespeicherten Daten benötigt. Nichtbeschränkende Beispiele für flüchtigen Speicher können verschiedene Typen von Direktzugriffsspeicher (RAM), wie etwa dynamischen RAM (DRAM) oder statischen RAM (SRAM), einschließen. Ein spezieller Typ von DRAM, der in einem Speichermodul verwendet werden kann, ist synchroner dynamischer RAM (SDRAM). Bei speziellen Ausführungsformen kann DRAM einer Speicherkomponente einem Standard entsprechen, der durch Joint Electron Device Engineering Council (JEDEC) veröffentlicht ist, wie etwa JESD79F für Doppeldatenraten(DDR)-SDRAM, JESD79-2F für DDR2-SDRAM, JESD79-3F für DDR3-SDRAM, JESD79-4A für DDR4-SDRAM, JESD209 für Low-Power-DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3, und JESD209-4 für LPDDR4 (diese Standards sind auf jedec.org verfügbar). Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden und Kommunikationsschnittstellen der Speicherungseinrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden.
  • NVM kann ein Speicherungsmedium sein, das keine Leistung zum Aufrechterhalten des Zustands von durch das Medium gespeicherten Daten benötigt. Bei einer Ausführungsform kann die Speichereinrichtung eine blockadressierbare Speichereinrichtung beinhalten, wie etwa auf NAND- oder NOR-Technologien basierende. Eine Speichereinrichtung kann auch nichtflüchtige Einrichtungen einer zukünftigen Generation beinhalten, wie etwa eine dreidimensionale (3D) Kreuzungspunktspeichereinrichtung oder andere Byte-adressierbare nichtflüchtige Speichereinrichtungen mit ortsfestem Schreiben. Bei einer Ausführungsform kann die Speichereinrichtung eine Speichereinrichtung sein oder solche beinhalten, die Chalkogenidglas, Mehrfachschwellenebene-NAND-Flash-Speicher, NOR-Flash-Speicher, Einzel- oder Mehrfachebenen-Phasenwechselspeicher (PCM: Phase Change Memory), einen resistiven Speicher, Nanodrahtspeicher, Ferroelektrischer-Transistor-RAM (FeTRAM), antiferroelektrischen Speicher, magnetoresistiven RAM (MRAM), der Memristor-Technologie integriert, resistiven Speicher, einschließlich der MetallOxid-Basis, den Sauerstoffleerstellenbasis- und den Leitfähige-Brücke-RAM (CB-RAM) oder Spin-Transfer-Torque(STT)-MRAM, eine auf spintronischem Magnetübergangspeicher basierende Einrichtung, eine Magnettunnelübergang(MTJ)-basierte Einrichtung, eine DW(Domänenwand)- und SOT(Spin-Orbit-Transfer)-basierte Einrichtung, eine thyristorbasierte Speichereinrichtung, eine Kombination von beliebigen der obigen oder einen anderen Speicher verwendet. Die Speichereinrichtung kann auf den Die selbst und/oder ein gekapseltes Speicherprodukt verweisen. Bei speziellen Ausführungsformen kann eine Speicherkomponente mit nichtflüchtigem Speicher einem oder mehreren durch JEDEC erlassenen Standards, wie etwa JESD218, JESD219, JESD220-1, JESD223B, JESD223-1 oder einem anderen geeigneten Standard entsprechen (die hier zitierten JEDEC-Standards sind auf jedec.org verfügbar).
  • Jetzt unter Bezugnahme auf 1 kann eine Ausführungsform eines elektronischen Speicherungssystems 10 persistente Speicherungsmedien 12, eine Steuerung 11, die kommunikativ mit den persistenten Speicherungsmedien 12 gekoppelt ist, und Logik 13, die kommunikativ mit der Steuerung 11 gekoppelt ist, beinhalten, um als Reaktion auf eine Host-Abfrage einem Host Platzierungsoptionsinformationen bereitzustellen und einen Namenraum zum Zugreifen auf die persistenten Speicherungsmedien 12 basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen zu erzeugen. Beispielsweise können die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen. Bei manchen Ausführungsformen kann die Logik 13 ferner dazu ausgelegt sein, Datenplatzierungsinformationen zum Host zu kommunizieren, einen Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum einzustellen, Invaliditätsinformationen zum Host zu kommunizieren und/oder Defragmentierungsbandbreitenanforderungsinformationen zum Host zu kommunizieren. Bei einer beliebigen der Ausführungsformen hierin können die persistenten Speicherungsmedien 12 NAND-Medien umfassen. Bei manchen Ausführungsformen kann sich die Logik 13 in verschiedenen Komponenten, einschließlich der Steuerung 11, befinden oder mit diesen kolokalisiert sein (z. B. auf demselben Die).
  • Ausführungsformen von jeder der obigen Steuerung 11, der persistenten Speicherungsmedien 12, der Logik 13 und anderer Systemkomponenten können in Hardware, Software oder einer beliebigen geeigneten Kombination davon implementiert sein. Zum Beispiel können Hardwareimplementierungen konfigurierbare Logik beinhalten, wie etwa zum Beispiel programmierbare Logikarrays (PLAs), feldprogrammierbare Gate-Arrays (FPGAs), komplexe programmierbare Logikvorrichtungen (CPLD) oder Logikhardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie, wie etwa zum Beispiel Technologie mit anwendungsspezifischer integrierter Schaltung (ASIC), komplementärem Metalloxidhalbleiter (CMOS) oder Transistor-Transistor-Logik (TTL), oder einer beliebigen Kombination davon. Ausführungsformen der Steuerung 11 können eine Universalsteuerung, eine Spezialsteuerung, eine Speicherungssteuerung, einen Speicherungsmanager, eine Speichersteuerung, einen Mikrocontroller, einen Universalprozessor, einen Spezialprozessor, eine Zentralverarbeitungseinheit (CPU) usw. beinhalten.
  • Alternativ oder zusätzlich können alle oder Teile dieser Komponenten in einem oder mehreren Modulen als ein Satz von Logikanweisungen implementiert sein, die in einem maschinen- oder computerlesbaren Speicherungsmedium, wie etwa einem Direktzugriffspeicher (RAM), Nur-Lese-Speicher (ROM), programmierbaren ROM (PROM), Firmware, Flash-Speicher usw., die durch einen Prozessor oder eine Recheneinrichtung ausgeführt werden sollen, gespeichert sind. Zum Beispiel kann Computerprogrammcode zum Ausführen der Operationen der Komponenten in einer beliebigen Kombination von einer oder mehreren Betriebssystem(OS)-anwendbaren/-geeigneten Programmiersprachen geschrieben sein, einschließlich einer objektorientierten Programmiersprache, wie etwa PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen, und herkömmlicher prozeduraler Programmiersprachen, wie etwa der Programmiersprache „C“, oder ähnlicher Programmiersprachen. Beispielsweise können die persistenten Speicherungsmedien 12 oder ein anderer Systemspeicher einen Satz von Anweisungen speichern, die bei Ausführung durch die Steuerung 11 veranlassen, dass das System 10 eine oder mehrere Komponenten, ein oder mehrere Merkmale oder einen oder mehrere Aspekte des Systems 10 implementiert (z. B. die Logik 13, die als Reaktion auf die Host-Abfrage dem Host die Platzierungsoptionsinformationen bereitstellt, den Namenraum zum Zugreifen auf die persistenten Speicherungsmedien 12 basierend auf den Host-bereitgestellten Isolationsgranularitätsinformationen erzeugt usw.).
  • Jetzt 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 beinhalten, wobei die Logik 22 zumindest teilweise in konfigurierbarer Logik und/oder Hardwarelogik mit fester Funktionalität implementiert wird. Die mit dem einen oder den mehreren Substraten 21 gekoppelte Logik 22 kann dazu ausgelegt sein, als Reaktion auf eine Host-Abfrage einem Host Platzierungsoptionsinformationen bereitzustellen und einen Namenraum zum Zugreifen auf persistente Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen zu erzeugen. Beispielsweise können die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen. Bei manchen Ausführungsformen kann die Logik 22 ferner dazu ausgelegt sein, Datenplatzierungsinformationen zum Host zu kommunizieren, einen Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum einzustellen, Invaliditätsinformationen zum Host zu kommunizieren und/oder Defragmentierungsbandbreitenanforderungsinformationen zum Host zu kommunizieren. Bei einer beliebigen der Ausführungsformen hierin können die persistenten Speicherungsmedien NAND-Medien umfassen. Bei manchen Ausführungsformen kann die mit dem einen oder den mehreren Substraten 21 gekoppelte Logik 22 Transistorkanalgebiete beinhalten, die in dem einen oder den mehreren Substraten 21 positioniert sind.
  • Ausführungsformen der Logik 22 und anderer Komponenten der Vorrichtung 20 können in Hardware, Software oder einer beliebigen Kombination davon implementiert werden, einschließlich zumindest einer teilweisen Implementierung in Hardware. Zum Beispiel können Hardwareimplementierungen konfigurierbare Logik, wie etwa zum Beispiel PLAs, FPGAs, CPLDs oder Logikhardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie, wie etwa zum Beispiel ASIC-, CMOS- oder TTL-Technologie oder einer beliebigen Kombination davon, beinhalten. Zusätzlich können Teile dieser Komponenten in einem oder mehreren Modulen als ein Satz von Logikanweisungen implementiert sein, die in einem maschinen- oder computerlesbaren Speicherungsmedium, wie etwa RAM, ROM, PROM, Firmware, Flash-Speicher usw., die durch einen Prozessor oder eine Recheneinrichtung ausgeführt werden sollen, gespeichert sind. Zum Beispiel kann Computerprogrammcode zum Ausführen der Operationen der Komponenten in einer beliebigen Kombination von einer oder mehreren OS-anwendbaren/-geeigneten Programmiersprachen geschrieben sein, einschließlich einer objektorientierten Programmiersprache, wie etwa PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen, und herkömmlicher prozeduraler Programmiersprachen, wie etwa der Programmiersprache „C“, oder ähnlicher Programmiersprachen.
  • Die Vorrichtung 20 kann einen oder mehrere Aspekte des Verfahrens 30 (3A bis 3C) oder beliebige der hierin besprochenen Ausführungsformen implementieren. Bei manchen Ausführungsformen kann die veranschaulichte Vorrichtung 20 das eine oder die mehreren Substrate 21 (z. B. Silizium, Saphir, Galliumarsenid) und die Logik 22 (z. B. ein Transistor-Array und andere Integrierte-Schaltung-/IC-Komponenten), die mit dem (den) Substrat(en) 21 gekoppelt ist, beinhalten. Die Logik 22 kann zumindest teilweise in konfigurierbarer Logik oder Logikhardware mit fester Funktionalität implementiert werden. In einem Beispiel kann die Logik 22 Transistorkanalgebiete beinhalten, die in dem (den) Substrat(en) 21 positioniert (z. B. eingebettet) sind. Somit ist die Grenzfläche zwischen der Logik 22 und dem (den) Substrat(en) 21 möglicherweise kein abrupter Übergang. Die Logik 22 kann auch als eine Epitaxialschicht enthaltend angesehen werden, die auf einem anfänglichen Wafer des Substrats (der Substrate) 21 aufgewachsen wird.
  • Jetzt mit Bezug auf die 3A bis 3C kann eine Ausführungsform eines Verfahrens 30 zum Verwalten von Speicherung bei Block 31 Bereitstellen als Reaktion auf eine Host-Abfrage, von Platzierungsoptionsinformationen an einen Host und bei Block 32 Erzeugen eines Namenraums zum Zugreifen auf persistente Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen beinhalten. Beispielsweise können die Host-bereitgestellten Isolationsgranularitätsinformationen bei Block 33 entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen. Manche Ausführungsformen des Verfahrens 30 können ferner bei Block 34 Kommunizieren von Datenplatzierungsinformationen zum Host, bei Block 35 Einstellen eines Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum, bei Block 36 Kommunizieren von Invaliditätsinformationen zum Host und/oder bei Block 37 Kommunizieren von Defragmentierungsbandbreitenanforderungsinformationen zum Host beinhalten. Bei einer beliebigen der Ausführungsformen hierin können die persistenten Speicherungsmedien bei Block 38 NAND-Medien umfassen.
  • Ausführungsformen des Verfahrens 30 können zum Beispiel in einem System, einer Vorrichtung, einem Computer, einer Einrichtung usw., wie etwa den hierin beschriebenen, implementiert werden. Insbesondere können Hardwareimplementierungen des Verfahrens 30 konfigurierbare Logik, wie etwa zum Beispiel PLAs, FPGAs, CPLDs oder Logikhardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie, wie etwa zum Beispiel ASIC-, CMOS- oder TTL-Technologie oder einer beliebigen Kombination davon, beinhalten. Alternativ oder zusätzlich kann das Verfahren 30 in einem oder mehreren Modulen als ein Satz von Logikanweisungen implementiert sein, die in einem maschinen- oder computerlesbaren Speicherungsmedium, wie etwa RAM, ROM, PROM, Firmware, Flash-Speicher usw., die durch einen Prozessor oder eine Recheneinrichtung ausgeführt werden sollen, gespeichert sind. Zum Beispiel kann Computerprogrammcode zum Ausführen der Operationen der Komponenten in einer beliebigen Kombination von einer oder mehreren OS-anwendbaren/-geeigneten Programmiersprachen geschrieben sein, einschließlich einer objektorientierten Programmiersprache, wie etwa PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen, und herkömmlicher prozeduraler Programmiersprachen, wie etwa der Programmiersprache „C“, oder ähnlicher Programmiersprachen.
  • Zum Beispiel kann das Verfahren 30 auf einem computerlesbaren Medium implementiert werden, wie in Verbindung mit Beispielen 23 bis 29 unten beschrieben. Ausführungsformen oder Teile des Verfahrens 30 können in Firmware, Anwendungen (z. B. durch eine Anwendungsprogrammierungsschnittstelle (API)) oder Treibersoftware, die auf einem Betriebssystem (OS) läuft, implementiert werden. Zusätzlich dazu könnten Logikanweisungen Assembler-Anweisungen, Befehlssatzarchitektur(ISA)-Anweisungen, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Zustandseinstellungsdaten, Konfigurationsdaten für einen integrierten Schaltkreis, Zustandsinformationen, die einen elektronischen Schaltkreis personalisieren, und/oder andere strukturelle Komponenten beinhalten, die nativ zu Hardware sind (z. B. Host-Prozessor, Zentralverarbeitungseinheit/CPU, Mikrocontroller usw.).
  • Manche Ausführungsformen können vorteilhafterweise eine verbesserte Datenverwaltung bereitstellen, einschließlich Host-definierter NAND-Kanalbandbreitenzuweisung zur Speicherbereinigung, Medienverwaltungsaufgaben und Datenplatzierungsauswahl. Manche Ausführungsformen können Probleme mit Architekturkonvergenz überwinden. Beispielsweise kann in herkömmlichen SSDs eine Vielfalt von Technologien verschiedene Probleme in einem SSD mit erheblicher Überlappung ansprechen und den Schwerpunkt auf das Ansprechen eines Teils von Problemen wie etwa Dienstgüte (QoS: Quality of Service) und Lebensdauerverwaltung legen. Zum Beispiel sind NVMe-Sets, EA-Determinismussteuerungen und Direktplatzierung Beispiele für Technologien, die QoS und/oder Lebensdauerverwaltung ansprechen.
  • EA-Determinismus legt das Laufwerk in einen deterministischen Modus, erlaubt aber keine Speicherbereinigung oder Medienverwaltungsaufgaben. EA-Determinismus ist ein Add-On-Merkmal für NVMe-Sets. Die NVMe-Sets minimieren rauschbehaftete Nachbarschaftseffekte. Diese Merkmale nutzen die SSD-Fähigkeit jedoch in einem Binärmodus (z. B. alles oder nichts) und können nicht selbständig arbeiten.
  • Mit variierenden Realwelt-Arbeitslasten kann das Vorhersagen der Zeit, die dem deterministischen Modus zugewiesen wird, schwierig sein. Eine zufällige Arbeitslast braucht mehr Defragmentierung (Defrag). Eine sequenzielle Arbeitslast wird nicht viel Defrag erfordern. Eine gemischte Arbeitslast wird ein anderes Timing aufweisen. Nachdem das Laufwerk in einen nicht deterministischen Modus gelegt wird, wird Defrag möglicherweise die Backend-Bandbreite nicht optimal verbrauchen.
  • Direktplatzierung zieht ein Host-Overhead zum Verwalten von Tabellenabbildungen und Dateiübersetzungsschicht(FTL)-Algorithmen bei einer CPU-Ebene auf sich, was die CPU-Bandbreite zur Anwendungsverwendung senkt. Manche Kunden sind hinsichtlich Open Channel optimistisch, während andere auf Industrieannahme warten.
  • In der Praxis ist die Technologie zum Verwalten eines SSD viel fortgeschrittener und komplexer als das einfache Kennen der Arbeitslasttypen. Manche Endbenutzer können bevorzugen, verschiedene SSD-Probleme auf ihre eigene Weise zu lösen. Verschiedene Merkmalsmengen können manche SSD-Probleme auf eine Top-Down-Weise ansprechen. Beispielsweise können Zonen, Streams, Namenräume, Sets, Lebensdauergruppen, Open Channel (z. B. OCSSD) und Anzahl anderer Technologien den Schwerpunkt auf das Reduzieren oder Minimieren von Schreibverstärkung und Verbessern der QoS legen. Viele dieser Lösungen überlappen und arbeiten orthogonal zueinander.
  • Jetzt mit Bezug auf 4 zeigt eine veranschaulichende Tabelle verschiedene SSD-Verwaltungsmerkmale bezüglich der Garantie von SSD-QoS und des Maximierens von SSD-Lebensdauer mit Abhängigkeitsüberlappung zwischen den verschiedenen Merkmalen, die durch ein Kreuzschraffurmuster in dem Tabelleneintrag angegeben ist. Wie in 4 gezeigt, kann eine erhebliche Überlappung zwischen einer Anzahl von Merkmalen vorhanden sein. Sich ändernde Attribute in einem Merkmal können ein anderes Merkmal beeinflussen. Beispielsweise ist Lebensdauergruppe eine Funktion von Sets, Namenräume können mit EA-Determinismus in Beziehung stehen, und so weiter. Manche anderen Technologien können erfordern, dass der Host entweder vollständig für das Steuern von Laufwerkverhalten verantwortlich ist (z. B. OCSSD: der Host platziert die Daten physisch zum Die, Set: der Host platziert Daten physisch zum Kanal usw.), oder können die Datenplatzierung zum SSD vollständig isolieren. Ein Problem mit der Open-Channel-Technologie besteht in der Komplexität und der erhöhten Host-CPU-Ressourcennutzung, die zum Verwalten von Datenplatzierung und NAND-Medienverwaltung erforderlich ist. Ein Problem mit der isolierten SSD-Technologie besteht in der Abhängigkeit, dass der Host Daten physisch in die verfügbare NAND-Die-Topologie platziert, was in unvorhersehbarer Performanz resultieren kann. Die verschiedenen in 4 identifizierten Merkmale sprechen verschiedene spezifische Probleme an, sind aber möglicherweise nicht flexibel genug, um andere Probleme oder eine breite Vielfalt gleichzeitiger, miteinander konkurrierender Bedürfnisse anzusprechen (z. B. Kunde A: Suchen nach Sets, Kunde B: Suchen nach Stream; Kunde C: Suchen nach FTL-Lite, Kunde D: Suchen nach Streams usw.).
  • Vorteilhafterweise können manche Ausführungsformen eine einzige und einfache Lösung bereitstellen, um ein oder mehrere der obigen Probleme anzusprechen. Manche Ausführungsformen können beispielsweise eine Option zum Ausführen der FTL entweder an der Host- oder der Einrichtungsebene bereitstellen, was vorteilhafterweise Flexibilität zum Steuern von Datenplatzierung und Defrag durch den Host bereitstellt. Insbesondere können manche Ausführungsformen Technologie zum Steuern von Defrag und Medienverwaltungsaufgaben bereitstellen, indem einem Host ermöglicht wird, die Backend-Bandbreite zu Medienverwaltungsaufgaben zu steuern. Manche Ausführungsformen können auch Technologie beinhalten, um der Einrichtung und dem Host zu ermöglichen, Informationen auszutauschen, die einen intelligenten Entscheidungsfindungsprozess über Defrag und Host-Bandbreitenzuweisung ermöglichen, die Einrichtungsperformanz an allen Ebenen garantieren können. Manche anderen Systeme können verschiedene NAND-Verwaltungsmerkmale bereitstellen, bei denen die FTL an der Host-Ebene aufrechterhalten wird (z. B. Fokussieren auf Medienverwaltung). Im Gegensatz dazu können manche Ausführungsformen die Ausführung der FTL an der Einrichtungs- oder der Host-Ebene ermöglichen und können den Schwerpunkt auf Datenverwaltung legen.
  • Jetzt mit Bezug auf 5 kann eine Ausführungsform eines elektronischen Verarbeitungssystems 50 einen Host 51, eine Speicherungseinrichtung 52 (z. B. ein SSD) und ein Modul zur verbesserten Datenverwaltung 53, das kommunikativ zwischen dem Host 51 und der Einrichtung 52 gekoppelt ist, beinhalten. Bei manchen Ausführungsformen kann die verbesserte Datenverwaltung 53 einem Kommunikationskanal des Hosts 51 eine Einrichtung 52 zur verbesserten Datenverwaltung bereitstellen, einschließlich zum Beispiel 1) Invaliditätsraten im Laufe der Zeit; 2) Optimale Datenplatzierungsoptionen basierend auf a) Leseanforderungen, b) Schreibanforderungen, c) Datenlebensspanne und/oder d) Isolationsanforderungen; und/oder 3) Bandbreitenzuweisung für a) den Host, b) Defrag und/oder c) Medienverwaltung.
  • Vorteilhafterweise können manche Ausführungsformen eine für den Host transparente FTL-Implementierung bereitstellen. Manche Ausführungsformen können Technologie beinhalten, die dem Host ermöglicht, Daten in einem Namenraum durch Spezifizieren einer Isolationsgranularität (z. B. basierend auf Anwendungsanforderungen) physisch zu platzieren. Der Host kann verfügbare Platzierungsoptionen unter Verwendung einer Log-Seite abfragen. Der Host kann dann entweder eine Kanal-, Die- oder Bandisolation auswählen. Die Speicherungseinrichtung kann Datenplatzierungseinzelheiten zurück zu dem Host kommunizieren. Bei manchen Ausführungsformen kann der Host die Indirektionsgranularität in dem obigen Namenraum spezifizieren (z. B. Die-Ebene-Indirektion, Bandebene-Indirektion, 4K-Indirektion, 64K-Indirektion usw.). Bei manchen Ausführungsformen kann die Einrichtung Invaliditäts- und Defrag-Bandbreitenanforderungen zu dem Host kommunizieren. Der Host kann die Daten von der Einrichtung nutzen, um die Datenplatzierung zu optimieren und eine spezifische Bandbreite für Defrag zuzuweisen. Die Einrichtung kann dann die Host-Eingabe/Ausgabe(E/A) und Defrag an der Host-definierten Bandbreitenebene drosseln.
  • Manche Ausführungsformen können vorteilhafterweise eine Notwendigkeit dafür eliminieren, dass der Host die volle FTL aufrechterhält. Manche Ausführungsformen können auch eine Notwendigkeit oder Abhängigkeit, dass eine Kombination mehrerer Merkmale eine spezifische Notwendigkeit erfüllt, eliminieren. Manche Ausführungsformen können Technologie bereitstellen, damit der Host direkt die Datenplatzierung und Defrag steuert, um unterschiedliche Systemebenenanforderungen zu erzielen. Manche Ausführungsformen können dem Host ermöglichen, sich auf das Optimieren von Datenplatzierung anstatt der Verwaltung des gesamten SSD zu fokussieren. Manche Ausführungsformen können Technologie beinhalten, die der Einrichtung ermöglicht, den Host anzuleiten, optimale Datenplatzierungsentscheidungen zu treffen. Manche Ausführungsformen können auch die Verfügbarkeit eines SSD aufrechterhalten, um den Vorteil einer Anzahl anderer Technologien auszunutzen, wie etwa gezonter Namenraum und Open Channel. Bei manchen Ausführungsformen muss der Host Direktplatzierung nicht wählen, sondern kann die Wahl zu der Einrichtung verschieben, und die Einrichtung wird dem Host die Platzierungsinformationen bereitstellen. Falls erforderlich, kann der Host eine kleine Abbildungstabelle oder Abfrageinformationen an den Host verwalten. Manche Ausführungsformen können vorteilhafterweise ein Transportsystem erzeugen, das einem SSD und dem Host weiterhin ermöglichen wird, unter Verwendung ihrer eigenen jeweiligen Stärken zusätzliche Innovation bereitzustellen.
  • Wie oben besprochen, können manche Ausführungsformen mit den technischen Fähigkeiten eines Open-Channel-SSD kompatibel sein, um eine Hosthandhabbare FTL bereitzustellen. Dies ermöglicht dem Host, Daten für QoS-, Lebensdauer-, Schreibverstärkungs- (WA) und Datenisolationsvorteile perfekt zu platzieren. Zusätzlich dazu erfordern manche Ausführungsformen nicht, dass der Host die volle FTL aufrechterhält, stellen jedoch vorteilhafterweise einen Vorteil zum Verwalten von Datenplatzierung und Bandbreitenzuweisung bereit.
  • Jetzt mit Bezug auf 6 kann eine Ausführungsform eines elektronischen Verarbeitungssystems 60 einen Host-Abschnitt 61, einen Speicherungseinrichtungsabschnitt 62 (z. B. ein SSD) und eine verbesserte Datenverwaltungsschnittstelle 63, die kommunikativ zwischen dem Host-Abschnitt 61 und dem Einrichtungsabschnitt 62 gekoppelt ist, beinhalten. Der Host-Abschnitt 61 kann eine Arbeitslastoptimierungs-Engine 64 beinhalten. Der Einrichtungsabschnitt kann Host-Steuerung-und-Zugriffsverwaltung-Technologie 65, Einrichtungszugriff-API-Technologie 66 und Einrichtungsfunktionalität-Open-Channel-Technologie 67 beinhalten. Der Einrichtungsabschnitt 62 kann ferner Datenverwaltungstechnologie 68 einschließlich einer transparenten FTL zum Host und einrichtungsverwaltete FTL-Medienverwaltung-Technologie 69 beinhalten. Wie in 6 veranschaulicht, kann der Host-Abschnitt 61 über der gestrichelten Linie einen Host-Treiber und eine Host-Anwendungssoftware beinhalten, die die Arbeitsoptimierungs-Engine 64 beinhaltet (z. B. einschließlich einer Datenplatzierungsoptimierungs-Engine). Die Engine 64 kann die Entscheidungen zum Erzielen einer optimalen Performanz unter Verwendung der verbesserten Datenverwaltungsschnittstelle 63 treffen.
  • Die Arbeitsoptimierungs-Engine 64 kann eine Entscheidung beinhalten, wie etwa für eine sequenzielle schreibintensive Anwendung mit einer Invaliditätsrate von 500 MB, dass keine Defrag-Bandbreite für diese Anwendung benötigt wird. Der Einrichtungsabschnitt 62 kann eine Option zur optimalen Datenplatzierung (z. B. wie etwa Gruppe, Paralleleinheit (PU), Chunk und Kapazität) über die Schnittstelle 63 bereitstellen und der Host-Abschnitt 61 kann Datenbefehle starten. Für eine andere Anwendung, die leseintensiv ist, kann der Host-Abschnitt 61 wählen, eine Kanalisolation von anderen Anwendungen bereitzustellen. Im Fall irgendeiner Lebensdauerverwaltungsoperation kann der Einrichtungsabschnitt 62 eine Empfehlung für Datenverlagerungsanforderungen und -optionen bereitstellen.
  • Die Schnittstelle 63 kann zum Beispiel Technologie für Folgendes beinhalten: 1) Der Host-Abschnitt 61 bekommt eine Log-Seite bezüglich gegenwärtig verfügbarer Platzierungsoptionen; 2) Der Einrichtungsabschnitt 62 stellt gegenwärtige Optionen über Log-Daten bereit; der Host-Abschnitt 61 kann diese Daten verwalten und die Daten für die nächste Platzierung nutzen, um Verwaltungsbefehle zu minimieren; 3) Der Host-Abschnitt 61 fügt einen Namenraum mit Attributen an (z. B. Arbeitslasttyp, erwartete Bandbreite für Host-E/As, erwartete Bandbreite für Defrag usw.); 4) Der Einrichtungsabschnitt 62 sendet ein asynchrones Ereignis zum Host-Abschnitt 61, falls mehr Defrag-Bandbreite benötigt wird; 5) Die Host-Datenplatzierungsoptimierungs-Engine (z. B. Teil der Engine 64) fragt gegenwärtige Invaliditätstabellen und -rate ab, um eine zukünftige Datenplatzierung zu optimieren; 6) Nutzen von On-the-Fly-Lese- und -Schreibisolationen am Host-Abschnitt 61 (z. B. da der Host-Abschnitt 61 physische Datenplatzierungen abfragen kann); 7) Sichtbarmachen von Überversorgungsbefürfnissen für den Host-Abschnitt 61 und Host-Ebenenoptimierung kann durchgeführt werden; 8) Der Einrichtungsabschnitt 62 nutzt Programmieren/Löschen(P/E)-Zyklen gemeinsam mit dem Host-Abschnitt 61 für optimale Datenplatzierungsentscheidungen; und 9) Der Host-Abschnitt 61 definiert einen Indirektionsmodus für einen Namenraum oder eine Zone.
  • Jetzt mit Bezug auf 7 zeigt eine Ausführungsform einer veranschaulichenden Speicherungsabbildung ein Beispiel dafür, wie unterschiedliche Anwendungen in einer einzelnen Speicherungseinrichtung organisiert sein können. Jeder Block entspricht einer beliebigen Speicherungseinheit. Beispielsweise kann jeder Block einem Die oder einer Gruppe von Dies entsprechen. Wie veranschaulicht, kann eine sequenzielle Anwendung zu einer Speicherungseinheit abgebildet werden. Eine Anwendung, die Zufallsdaten mit hoher Überversorgung beinhaltet, kann zu zwei Speicherungseinheiten abgebildet werden. Eine Anwendung, die eine Bandbreite mit hoher Performanz erfordert, kann zu vier Speicherungseinheiten abgebildet werden. Eine leseintensive Anwendung mit hoher Bandbreitenanforderung kann zu vier Speicherungseinheiten abgebildet werden. Eine schreibeintensive Anwendung mit geringer Bandbreitenanforderung kann zu zwei Speicherungseinheiten abgebildet werden. Jede der Anwendungen kann logisch und physisch voneinander isoliert sein.
  • Vorteilhafterweise beinhalten manche Ausführungsformen Technologie, die dem Host ermöglicht, auf Anwendungsanforderungen zu fokussieren und die Platzierungen und Bandbreiten zu optimieren, anstatt das gesamte SSD zu verwalten. 7 zeigt ein Beispiel dafür, wie der Host unterschiedliche Anwendungsanforderungen optimieren kann, wobei verschiedene Anwendungstypen zu einem Die oder einer Gruppe von Dies auf eine sehr flexible Weise abgebildet werden.
  • Die hierin besprochene Technologie kann in verschiedenen Rechensystemen bereitgestellt werden (z. B. einschließlich einer nicht mobilen Recheneinrichtung wie etwa einem Desktop, einer Arbeitsstation, einem Server, einem Rack-System usw., einer mobilen Recheneinrichtung, wie etwa einem Smartphone, einem Tablet, einem ultramobilen Personal Computer (UMPC), einem Laptop-Computer, einer ULTRABOOK-Recheneinrichtung, einer Smartwatch, einer Smart-Brille, einem Smart-Armband usw., und/oder einer Client/Edge-Einrichtung wie etwa einer Internet-der-Dinge(IdD)-Einrichtung (z. B. einem Sensor, einer Kamera usw.)).
  • Jetzt mit Bezug auf 8 kann eine Ausführungsform eines Rechensystems 100 einen oder mehrere Prozessoren 102-1 bis 102-N beinhalten (die vorliegend allgemein als „Prozessoren 102“ oder „Prozessor 102“ bezeichnet werden). Die Prozessoren 102 können über eine Verbindung oder einen Bus 104 kommunizieren. Jeder Prozessor 102 kann verschiedene Komponenten beinhalten, von denen manche zur Verständlichkeit nur unter Bezugnahme auf den Prozessor 102-1 besprochen werden. Dementsprechend kann jeder der verbleibenden Prozessoren 102-2 bis 102-N die gleichen oder ähnliche Komponenten beinhalten, die unter Bezugnahme auf den Prozessor 102-1 besprochen werden.
  • Bei manchen Ausführungsformen kann der Prozessor 102-1 einen oder mehrere Prozessorkerne 106-1 bis 106-M (die vorliegend als „Kerne 106“ oder allgemeiner als „Kern 106“ bezeichnet werden), einen Cache 108 (der bei verschiedenen Ausführungsformen ein gemeinsam genutzter Cache oder ein privater Cache sein kann) und/oder einen Router 110 beinhalten. Die Prozessorkerne 106 können auf einem einzelnen Integrierte-Schaltung(IC)-Chip implementiert sein. Darüber hinaus kann der Chip einen oder mehrere gemeinsam genutzte und/oder private Caches (wie etwa Cache 108), Busse oder Verbindungen (wie etwa einen Bus oder eine Verbindung 112), Logik 170, Speichersteuerungen oder andere Komponenten beinhalten.
  • Bei manchen Ausführungsformen kann der Router 110 zum Kommunizieren zwischen verschiedenen Komponenten des Prozessors 102-1 und/oder des Systems 100 verwendet werden. Darüber hinaus kann der Prozessor 102-1 mehr als einen Router 110 beinhalten. Des Weiteren kann die Mehrzahl von Routern 110 derart in Kommunikation stehen, dass Datarouting zwischen verschiedenen Komponenten innerhalb oder außerhalb des Prozessors 102-1 ermöglicht wird.
  • Der Cache 108 kann Daten (z. B. einschließlich Anweisungen) speichern, die durch eine oder mehrere Komponenten des Prozessors 102-1, wie etwa die Kerne 106, genutzt werden. Der Cache 108 kann zum Beispiel Daten, die in einem Speicher 114 gespeichert sind, für einen schnelleren Zugriff durch die Komponenten des Prozessors 102 lokal cachen. Wie in 8 gezeigt, kann sich der Speicher 114 über die Verbindung 104 in Kommunikation mit den Prozessoren 102 befinden. Bei manchen Ausführungsformen kann der Cache 108 (der gemeinsam genutzt sein kann) verschiedene Ebenen aufweisen, der Cache 108 kann zum Beispiel ein Cache mittlerer Ebene und/oder ein Cache letzter Ebene (LLC: Last-Level-Cache) sein. Außerdem kann jeder der Kerne 106 einen Level-1(L1)-Cache (116-1) (der vorliegend allgemein als „L1-Cache 116“ bezeichnet ist) beinhalten. Verschiedene Komponenten des Prozessors 102-1 können mit dem Cache 108 direkt, über einen Bus (z. B. den Bus 112) und/oder eine Speichersteuerung oder einen Hub kommunizieren.
  • Wie in 8 gezeigt, kann der Speicher 114 über eine Speichersteuerung 120 mit anderen Komponenten des Systems 100 gekoppelt sein. Der Speicher 114 kann flüchtigen Speicher beinhalten und kann synonym als Hauptspeicher bezeichnet werden. Obwohl die Speichersteuerung 120 als zwischen der Verbindung 104 und dem Speicher 114 gekoppelt gezeigt ist, kann sich die Speichersteuerung 120 an anderer Stelle im System 100 befinden. Zum Beispiel kann bei manchen Ausführungsformen die Speichersteuerung 120 oder Teile davon in einem der Prozessoren 102 bereitgestellt sein.
  • Das System 100 kann über eine Netzwerkschnittstelle 128 mit anderen Einrichtungen/Systemen/Netzwerken kommunizieren das sich z. B. über eine drahtgebundene oder drahtlose Schnittstelle mit einem Computernetzwerk und/oder der Cloud 129 in Kommunikation befindet). Beispielsweise kann die Netzwerkschnittstelle 128 eine Antenne (nicht gezeigt) beinhalten, um drahtlos (z. B. über eine Institute of Electrical and Electronics Engineers (IEEE) 802.11-Schnittstelle (einschließlich IEEE 802.11a/b/g/n/ac usw.), Zellularschnittstelle, 3G, 4G, LTE, BLUETOOTH usw.) mit dem Netzwerk/der Cloud 129 zu kommunizieren.
  • Das System 100 kann auch eine nichtflüchtige (NV) Speicherungseinrichtung, wie etwa ein SSD 120, beinhalten, die über eine SSD-Steuerungslogik 125 mit der Verbindung 104 gekoppelt ist. Daher kann die Logik 125 den Zugriff durch verschiedene Komponenten des Systems zum SSD 130 steuern. Obwohl die Logik 125 als direkt mit der Verbindung 104 in 8 gekoppelt gezeigt ist, kann die Logik 125 ferner alternativ über einen Speicherungsbus/ein Speicherungs-Interconnect (wie etwa dem SATA(Serial Advanced Technology Attachment)-Bus, PCI(Peripheral Component Interconnect) (oder PCI-EXPRESS(PCIe)-Schnittstelle), NVM-EXPRESS(NVMe) usw.) mit einer oder mehreren anderen Komponenten des Systems 100 kommunizieren (zum Beispiel, wenn der Speicherungsbus mit dem Interconnect 104 über eine andere Logik wie eine Busbrücke, Chipsatz usw. gekoppelt ist). Zusätzlich dazu kann die Logik 125 in Speichersteuerungslogik (wie etwa jene, die unter Bezug auf 9 besprochen ist) integriert oder auf derselben Integrierte-Schaltung(IC)-Einrichtung in verschiedenen Ausführungsformen (z. B. auf derselben IC-Einrichtung wie das SSD 103 oder in demselben Gehäuse wie das SSD 130) bereitgestellt sein. Das SSD 130 kann OCSSD-kompatibel sein oder kann anderweitig Technologie beinhalten, um einem Host/einem Mandanten/einer Anwendung direkten Zugriff zum NAND-Die und/oder eine feiner granulierte Datenplatzierungssteuerung zu ermöglichen.
  • Ferner können die Logik 125 und/oder das SSD 130 mit einem oder mehreren Sensoren (nicht gezeigt) zum Empfangen von Informationen (z. B. in Form eines oder mehrerer Bits oder Signale) gekoppelt sein, um den Status von dem einen oder den mehreren Sensoren oder durch diese detektierte Werte anzugeben. Dieser (diese) Sensor(en) kann (können) in der Nähe von Komponenten des Systems 100 (oder anderen hierin besprochenen Rechensystemen) bereitgestellt sein, einschließlich der Kerne 106, der Verbindungen 104 oder 112, Komponenten außerhalb des Prozessors 102, des SSD 130, des SSD-Busses, des SATA-Busses, der Logik 125, der Logik 160 usw., um Variationen verschiedener Faktoren zu erfassen, die das Leistungsverhalten/thermisches Verhalten des Systems/der Plattform beeinflussen, wie etwa Temperatur, Betriebsfrequenz, Betriebsspannung, Leistungsverbrauch und/oder Inter-Kern-Kommunikationsaktivität usw.
  • Wie in 8 veranschaulicht, kann das SSD 130 Logik 160 beinhalten, die sich in demselben Gehäuse wie das SSD 130 befinden und/oder vollständig auf einer Leiterplatte (PCB) des SSD 130 integriert sein kann. Das System 100 kann eine weitere Logik 170 außerhalb des SSD 130 beinhalten. Vorteilhafterweise können die Logik 160 und/oder die Logik 170 Technologie zum Implementieren eines oder mehrerer Aspekte des Verfahrens 30 (3A bis 3C), des Systems 50, des Systems 60 und/oder beliebiger der hierin besprochenen verbesserten Datenverwaltungsmerkmale beinhalten. Beispielsweise kann die Logik 160 Technologie zum Bereitstellen von Platzierungsoptionsinformationen an die Prozessoren 102 als Reaktion auf eine Abfrage von den Prozessoren 102 und zum Erzeugen eines Namenraums zum Zugreifen auf das SSD 130 basierend auf durch die Prozessoren 102 bereitgestellten Isolationsgranularitätsinformationen beinhalten. Beispielsweise können die Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen. Bei manchen Ausführungsformen kann die Logik 160 ferner dazu ausgelegt sein, Datenplatzierungsinformationen zu den Prozessoren 102 zu kommunizieren, einen Indirektionsmodus basierend auf durch die Prozessoren 102 bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum einzustellen, Invaliditätsinformationen zu den Prozessoren 102 zu kommunizieren und/oder Defragmentierungsbandbreitenanforderungsinformationen zu den Prozessoren 102 zu kommunizieren. Die Logik 170 kann zum Beispiel Technologie zum Implementieren der Host-Einrichtungs-/Computersystem-/Agentenaspekte der verschiedenen hierin beschriebenen Ausführungsformen beinhalten (z. B. Anfordern von Informationen vom SSD 130, Kommunizieren von Informationen zum SSD 130 usw.).
  • Bei anderen Ausführungsformen kann das SSD 130 mit (einer) beliebigen persistenten Speicherungstechnologie/-medien ersetzt werden. Bei manchen Ausführungsformen kann die Logik 160/170 mit einem oder mehreren Substraten (z. B. Silizium, Saphir, Galliumarsenid, Leiterplatte (PCB) usw.) gekoppelt sein und kann Transistorkanalgebiete beinhalten, die in dem einen oder den mehreren Substraten positioniert sind. Bei anderen Ausführungsformen kann das SSD 130 zwei oder mehr Typen von persistenten Speicherungsmedien beinhalten und kann als ein Hybrid-SSD angesehen werden. Beispielsweise kann der Großteil der Speicherung NAND sein und das SSD kann ferner einen schnelleren, zugreifbaren (z. B. Byte-adressierbaren) NVM mit kleinerer Granularität wie etwa INTEL-3DXP-Medien (die z. B. genutzt werden können, um den Transferpuffer zu implementieren) beinhalten. Das SSD 130 kann alternativ oder zusätzlich persistenten flüchtigen Speicher (z. B. batterie- oder kondensatorgesicherten DRAM oder SRAM) beinhalten. Manche SSDs können zum Beispiel PLI(POWER LOSS IMMINENT)-Technologie mit energiespeichernden Kondensatoren beinhalten. Die energiespeichernden Kondensatoren können genug Energie (Leistung) bereitstellen, um jegliche im Gange befindliche Befehle abzuschließen und zu gewährleisten, dass jegliche Daten in den DRAMs/SRAMs zu den nichtflüchtigen NAND-Medien übergeben werden. Die Kondensatoren können als Backup-Batterien für das SSD agieren. Wie in 8 gezeigt, können Merkmale oder Aspekte der Logik 160 und/oder der Logik 170 im System 100 verteilt sein und/oder können mit verschiedenen Komponenten des Systems 100 kolokalisiert/integriert sein.
  • 9 veranschaulicht ein Blockdiagramm verschiedener Komponenten des SSD 130 gemäß einer Ausführungsform. Wie in 9 veranschaulicht, kann sich die Logik 160 an verschiedenen Orten wie etwa innerhalb des SSD 130 oder einer Steuerung 382 usw. befinden und kann ähnliche Technologie wie in Verbindung mit 8 besprochen beinhalten. Das SSD 130 beinhaltet eine Steuerung 382 (die im Gegenzug einen oder mehrere Prozessorkerne oder Prozessoren 384 und eine Speichersteuerungslogik 386 beinhaltet), einen Cache 138, RAM 388, eine Firmwarespeicherung 390 und ein oder mehrere Speichermodule oder -Dies 392-1 bis 392-N (die NAND-Flash, NOR-Flash oder andere Typen von nichtflüchtigem Speicher beinhalten können). Die Speichermodule 392-1 bis 392-N sind über einen oder mehrere Speicherkanäle oder -busse mit der Speichersteuerungslogik 386 gekoppelt. Außerdem kommuniziert das SSD 130 über eine Schnittstelle (wie etwa eine SATA-, SAS-, PCIe-, NVMe-Schnittstelle usw.) mit der Logik 125. Ein/e oder mehrere der unter Bezugnahme auf die 1-8 besprochenen Merkmale/Aspekte/Operationen können durch eine oder mehrere der Komponenten von 9 durchgeführt werden. Die Prozessoren 384 und/oder die Steuerung 382 können Daten, die in die Speichermodule 392-1 bis 392-N geschrieben oder aus diesen gelesen werden, komprimieren/dekomprimieren (oder anderweitig eine Komprimierung/Dekomprimierung von diesen verursachen). Außerdem können ein/e oder mehrere der Merkmale/Aspekte/Operationen der 1-8 in die Firmware 390 programmiert werden. Ferner kann die SSD-Steuerungslogik 125 auch die Logik 160 beinhalten.
  • Zusätzliche Anmerkungen und Beispiele:
  • Beispiel 1 beinhaltet eine Halbleitervorrichtung zur Verwendung mit persistenten Speicherungsmedien, die ein oder mehrere Substrate umfasst, und Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, wobei die Logik zumindest teilweise in konfigurierbarer Logik und/oder Hardwarelogik mit fester Funktionalität implementiert ist, die Logik mit dem einen oder den mehreren Substraten gekoppelt ist, um als Reaktion auf eine Host-Abfrage einem Host Platzierungsoptionsinformationen bereitzustellen und einen Namenraum zum Zugreifen auf persistente Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen zu erzeugen.
  • Beispiel 2 beinhaltet die Vorrichtung eines der Beispiele 1 und 3 bis 8, wobei die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen.
  • Beispiel 3 beinhaltet die Vorrichtung eines der Beispiele 1 bis 2 und 4 bis 8, wobei die Logik ferner dazu ausgelegt ist, Datenplatzierungsinformationen zum Host zu kommunizieren.
  • Beispiel 4 beinhaltet die Vorrichtung eines der Beispiele 1 bis 3 und 5 bis 8, wobei die Logik ferner dazu ausgelegt ist, einen Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum einzustellen.
  • Beispiel 5 beinhaltet die Vorrichtung eines der Beispiele 1 bis 4 und 6 bis 8, wobei die Logik ferner dazu ausgelegt ist, Invaliditätsinformationen zum Host zu kommunizieren.
  • Beispiel 6 beinhaltet die Vorrichtung eines der Beispiele 1 bis 5 und 7 bis 8, wobei die Logik ferner dazu ausgelegt ist, Defragmentierungsbandbreitenanforderungsinformationen zum Host zu kommunizieren.
  • Beispiel 7 beinhaltet die Vorrichtung eines der Beispiele 1 bis 6 und 8, wobei die persistenten Speicherungsmedien NAND-Medien umfassen.
  • Beispiel 8 beinhaltet die Vorrichtung eines der Beispiele 1 bis 7, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik Transistorkanalgebiete beinhaltet, die in dem einen oder den mehreren Substraten positioniert sind.
  • Beispiel 9 beinhaltet ein elektronisches Speicherungssystem 10, das persistente Speicherungsmedien, eine Steuerung, die kommunikativ mit den persistenten Speicherungsmedien gekoppelt ist, und Logik, die kommunikativ mit der Steuerung gekoppelt ist, beinhaltet, um als Reaktion auf eine Host-Abfrage einem Host Platzierungsoptionsinformationen bereitzustellen und einen Namenraum zum Zugreifen auf die persistenten Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen zu erzeugen.
  • Beispiel 10 beinhaltet das System eines der Beispiele 9 und 11 bis 15, wobei die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen.
  • Beispiel 11 beinhaltet das System eines der Beispiele 9 bis 10 und 12 bis 15, wobei die Logik ferner dazu ausgelegt ist, Datenplatzierungsinformationen zum Host zu kommunizieren.
  • Beispiel 12 beinhaltet das System eines der Beispiele 9 bis 11 und 13 bis 15, wobei die Logik ferner dazu ausgelegt ist, einen Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum einzustellen.
  • Beispiel 13 beinhaltet das System eines der Beispiele 9 bis 12 und 14 bis 15, wobei die Logik ferner dazu ausgelegt ist, Invaliditätsinformationen zum Host zu kommunizieren.
  • Beispiel 14 beinhaltet das System eines der Beispiele 9 bis 13 und 15, wobei die Logik ferner dazu ausgelegt ist, Defragmentierungsbandbreitenanforderungsinformationen zum Host zu kommunizieren.
  • Beispiel 15 beinhaltet das System eines der Beispiele 9 bis 14, wobei die persistenten Speicherungsmedien NAND-Medien umfassen.
  • Beispiel 16 beinhaltet ein Verfahren zum Verwalten von Speicherung, umfassend Bereitstellen von Platzierungsoptionsinformationen als Reaktion auf eine Host-Abfrage an einen Host und Erzeugen eines Namenraums zum Zugreifen auf persistente Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen.
  • Beispiel 17 beinhaltet das Verfahren eines der Beispiele 16 und 18 bis 22, wobei die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen.
  • Beispiel 18 beinhaltet das Verfahren eines der Beispiele 16 bis 17 und 19 bis 22, ferner umfassend Kommunizieren von Datenplatzierungsinformationen zum Host.
  • Beispiel 19 beinhaltet das Verfahren eines der Beispiele 16 bis 18 und 20 bis 22, ferner umfassend Einstellen eines Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum.
  • Beispiel 20 beinhaltet das Verfahren eines der Beispiele 16 bis 19 und 21 bis 22, ferner umfassend Kommunizieren von Invaliditätsinformationen zum Host.
  • Beispiel 21 beinhaltet das Verfahren eines der Beispiele 16 bis 20 und 22, wobei die Logik ferner dazu ausgelegt ist, Defragmentierungsbandbreitenanforderungsinformationen zum Host zu kommunizieren.
  • Beispiel 22 beinhaltet das Verfahren eines der Beispiele 16 bis 21, wobei die persistenten Speicherungsmedien NAND-Medien umfassen.
  • Beispiel 23 beinhaltet mindestens ein computerlesbares Speicherungsmedium, das einen Satz von Anweisungen umfasst, die bei Ausführung durch eine Recheneinrichtung veranlassen, dass die Recheneinrichtung als Reaktion auf eine Host-Abfrage einem Host Platzierungsoptionsinformationen bereitstellt und einen Namenraum zum Zugreifen auf persistente Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen erzeugt.
  • Beispiel 24 beinhaltet das mindestens eine computerlesbare Speicherungsmedium eines der Beispiele 23 und 25 bis 29, wobei die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen.
  • Beispiel 25 beinhaltet das mindestens eine computerlesbare Speicherungsmedium eines der Beispiele 23 bis 24 und 26 bis 29, das einen weiteren Satz von Anweisungen umfasst, die bei Ausführung durch die Recheneinrichtung veranlassen, dass die Recheneinrichtung Datenplatzierungsinformationen zum Host kommuniziert.
  • Beispiel 26 beinhaltet das mindestens eine computerlesbare Speicherungsmedium eines der Beispiele 23 bis 25 und 27 bis 29, das einen weiteren Satz von Anweisungen umfasst, die bei Ausführung durch die Recheneinrichtung veranlassen, dass die Recheneinrichtung einen Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum einstellt.
  • Beispiel 27 beinhaltet das mindestens eine computerlesbare Speicherungsmedium eines der Beispiele 23 bis 26 und 28 bis 29, das einen weiteren Satz von Anweisungen umfasst, die bei Ausführung durch die Recheneinrichtung veranlassen, dass die Recheneinrichtung Invaliditätsinformationen zum Host kommuniziert.
  • Beispiel 28 beinhaltet das mindestens eine computerlesbare Speicherungsmedium eines der Beispiele 23 bis 27 und 29, das einen weiteren Satz von Anweisungen umfasst, die bei Ausführung durch die Recheneinrichtung veranlassen, dass die Recheneinrichtung Defragmentierungsbandbreitenanforderungsinformationen zum Host kommuniziert.
  • Beispiel 29 beinhaltet das mindestens eine computerlesbare Speicherungsmedium eines der Beispiele 23 bis 28, wobei die persistenten Speicherungsmedien NAND-Medien umfassen.
  • Beispiel 30 beinhaltet eine Speicherungsverwaltungsvorrichtung, die Mittel zum Bereitstellen von Platzierungsoptionsinformationen als Reaktion auf eine Host-Abfrage an einen Host und Mittel zum Erzeugen eines Namenraums zum Zugreifen auf persistente Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen umfasst.
  • Beispiel 31 beinhaltet das Verfahren eines der Beispiele 30 und 32 bis 36, wobei die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen.
  • Beispiel 32 beinhaltet das Verfahren eines der Beispiele 30 bis 31 und 33 bis 36, ferner umfassend Mittel zum Kommunizieren von Datenplatzierungsinformationen zum Host.
  • Beispiel 33 beinhaltet das Verfahren eines der Beispiele 30 bis 32 und 34 bis 36, ferner umfassend Mittel zum Einstellen eines Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum.
  • Beispiel 34 beinhaltet das Verfahren eines der Beispiele 30 bis 33 und 35 bis 36, ferner umfassend Mittel zum Kommunizieren von Invaliditätsinformationen zum Host.
  • Beispiel 35 beinhaltet das Verfahren eines der Beispiele 30 bis 34 und 36, wobei die Logik ferner ausgelegt ist zu Mittel zum Kommunizieren von Defragmentierungsbandbreitenanforderungsinformationen zum Host.
  • Beispiel 36 beinhaltet das Verfahren eines der Beispiele 30 bis 35, wobei die persistenten Speicherungsmedien NAND-Medien umfassen.
  • Ausführungsformen sind zur Verwendung mit allen Typen von Chips mit Halbleiter-Integrierte-Schaltung(„IC“)-Chips anwendbar. Beispiele für diese IC-Chips beinhalten unter anderem Prozessoren, Steuerungen, Chipsatzkomponenten, programmierbare Logik-Arrays (PLAs), Speicherchips, Netzwerkchips, Systems-auf-Chip (SoC), SSD/NAND-Steuerung-ASICs und dergleichen. Zusätzlich dazu sind in manchen der Zeichnungen Signalleiterleitungen mit Linien dargestellt. Manche können unterschiedlich sein, um mehr konstituierende Signalpfade anzuzeigen, weisen eine Nummernbezeichnung auf, um eine Anzahl von Signalpfadbestandteilen anzugeben, und/oder weisen Pfeile an einem oder mehreren Enden auf, um die primäre Informationsflussrichtung anzugeben. Dies sollte jedoch nicht in einschränkender Weise ausgelegt werden. Vielmehr kann ein derartiges hinzugefügtes Detail in Verbindung mit einem oder mehreren Ausführungsbeispielen verwendet werden, um ein einfacheres Verständnis einer Schaltung zu ermöglichen. Jegliche dargestellten Signalleitungen, ob sie zusätzliche Information aufweisen oder nicht, können tatsächlich ein oder mehrere Signale umfassen, die in mehreren Richtungen laufen können, und können mit einer beliebigen geeigneten Art von Signalschema implementiert werden, z. B. digitalen oder analogen Leitungen, die mit differenziellen Paaren, optischen Faserleitungen und/oder Single-Ended-Leitungen, implementiert werden.
  • Es sind möglicherweise beispielhafte Größen/Modelle/Werte/Bereiche gegeben worden, obwohl Ausführungsformen nicht auf dieselben beschränkt sind. Wenn sich Herstellungstechniken (z. B. Photolithographie) im Laufe der Zeit weiterentwickeln, wird erwartet, dass Einrichtungen kleinerer Größe hergestellt werden könnten. Zusätzlich dazu sind wohlbekannte Leistungs-/Masseverbindungen zu IC-Chips und anderen Komponenten möglicherweise in den Figuren zur Vereinfachung und Besprechung dargestellt oder nicht, um gewisse Aspekte der Ausführungsformen nicht unklar zu machen. Ferner können Anordnungen in Blockdiagrammform gezeigt sein, um zu vermeiden, Ausführungsformen unklar zu machen, und auch angesichts der Tatsache, dass Einzelheiten im Bezug auf die Implementierung derartiger Blockdiagrammanordnungen in hohem Maße von der Plattform abhängen, innerhalb der die Ausführungsform implementiert werden soll, das heißt, derartige Einzelheiten sollten wohl im Geltungsbereich eines Fachmanns sein. Wo spezifische Einzelheiten (z. B. Schaltungen) dargelegt sind, um Ausführungsbeispiele zu beschreiben, sollte es einem Fachmann ersichtlich sein, dass Ausführungsformen ohne diese spezifischen Einzelheiten oder mit einer Variation davon praktiziert werden können. Die Beschreibung soll somit als veranschaulichend anstatt einschränkend angesehen werden.
  • Der Ausdruck „gekoppelt“ kann hierin verwendet werden, um sich auf einem beliebigen Typ von Beziehung, direkt oder indirekt, zwischen den fraglichen Komponenten zu beziehen, und kann für elektrische, mechanische, fluide, optische, elektromagnetische, elektromechanische oder andere Verbindungen anwendbar sein. Zusätzlich können die Begriffe „erster“, „zweiter“ usw. hierin nur zur Erleichterung der Diskussion verwendet werden und tragen keine besondere zeitliche oder chronologische Bedeutung, sofern nicht anders angegeben.
  • Wie in dieser Anmeldung und den Ansprüchen verwendet, kann eine Liste von Gegenständen, die durch den Ausdruck „eines oder mehrere von“ verbunden sind, eine beliebige Kombination der aufgelisteten Begriffe bedeuten. Zum Beispiel können die Phrasen „eines oder mehrere von A, B und C“ und „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 auf dem Gebiet werden aus der vorstehenden Beschreibung erkennen, dass die umfassenden Techniken der Ausführungsformen in einer Vielzahl von Formen implementiert werden können. Obwohl die Ausführungsformen in Verbindung mit speziellen Beispielen dafür beschrieben worden sind, sollte daher der wahre Schutzumfang der Ausführungsformen nicht auf diese beschränkt sein, da andere Modifikationen für den Fachmann bei Studie der Zeichnungen, der Beschreibung und der folgenden Ansprüche offensichtlich werden.

Claims (24)

  1. Halbleitervorrichtung zur Verwendung mit persistenten Speicherungsmedien, die Folgendes umfasst: ein oder mehrere Substrate; und Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, wobei die Logik zumindest teilweise in konfigurierbarer Logik und/oder Hardwarelogik mit fester Funktionalität implementiert ist, wobei die Logik mit dem einen oder den mehreren Substraten gekoppelt ist zum: Bereitstellen von Platzierungsoptionsinformationen als Reaktion auf eine Host-Abfrage an einen Host; und Erzeugen eines Namenraums zum Zugreifen auf persistente Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen.
  2. Vorrichtung nach Anspruch 1, wobei die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen.
  3. Vorrichtung nach einem der Ansprüche 1 bis 2, wobei die Logik ferner ausgelegt ist zum: Kommunizieren von Datenplatzierungsinformationen zum Host.
  4. Vorrichtung nach einem der Ansprüche 1 bis 3, wobei die Logik ferner ausgelegt ist zum: Einstellen eines Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei die Logik ferner ausgelegt ist zum: Kommunizieren von Invaliditätsinformationen zum Host.
  6. Vorrichtung nach einem der Ansprüche 1 bis 5, wobei die Logik ferner ausgelegt ist zum: Kommunizieren von Defragmentierungsbandbreitenanforderungsinformationen zum Host.
  7. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei die persistenten Speicherungsmedien NAND-Medien umfassen.
  8. Vorrichtung nach einem der Ansprüche 1 bis 7, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik Transistorkanalgebiete beinhaltet, die in dem einen oder den mehreren Substraten positioniert sind.
  9. Elektronisches Speicherungssystem, das Folgendes umfasst: persistente Speicherungsmedien; eine Steuerung, die kommunikativ mit den persistenten Speicherungsmedien gekoppelt ist; und Logik, die kommunikativ mit der Steuerung gekoppelt ist, zum: Bereitstellen von Platzierungsoptionsinformationen als Reaktion auf eine Host-Abfrage an einen Host; und Erzeugen eines Namenraums zum Zugreifen auf die persistenten Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen.
  10. System nach Anspruch 9, wobei die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen.
  11. System nach einem der Ansprüche 9 bis 10, wobei die Logik ferner ausgelegt ist zum: Kommunizieren von Datenplatzierungsinformationen zum Host.
  12. System nach einem der Ansprüche 9 bis 11, wobei die Logik ferner ausgelegt ist zum: Einstellen eines Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum.
  13. System nach einem der Ansprüche 9 bis 12, wobei die Logik ferner ausgelegt ist zum: Kommunizieren von Invaliditätsinformationen zum Host.
  14. System nach einem der Ansprüche 9 bis 13, wobei die Logik ferner ausgelegt ist zum: Kommunizieren von Defragmentierungsbandbreitenanforderungsinformationen zum Host.
  15. System nach einem der Ansprüche 9 bis 14, wobei die persistenten Speicherungsmedien NAND-Medien umfassen.
  16. Verfahren zur Verwaltung von Speicherung, das Folgendes umfasst: Bereitstellen von Platzierungsoptionsinformationen als Reaktion auf eine Host-Abfrage an einen Host; und Erzeugen eines Namenraums zum Zugreifen auf persistente Speicherungsmedien basierend auf Host-bereitgestellten Isolationsgranularitätsinformationen.
  17. Verfahren nach Anspruch 16, wobei die Host-bereitgestellten Isolationsgranularitätsinformationen entweder Kanal-, Die- oder Bandisolationsinformationen entsprechen.
  18. Verfahren nach Anspruch 16, das ferner Folgendes umfasst: Kommunizieren von Datenplatzierungsinformationen zum Host.
  19. Verfahren nach Anspruch 16, das ferner Folgendes umfasst: Einstellen eines Indirektionsmodus basierend auf Host-bereitgestellten Indirektionsgranularitätsinformationen für den Namenraum.
  20. Verfahren nach Anspruch 16, das ferner Folgendes umfasst: Kommunizieren von Invaliditätsinformationen zum Host.
  21. Vorrichtung nach Anspruch 16, wobei die Logik ferner ausgelegt ist zum:: Kommunizieren von Defragmentierungsbandbreitenanforderungsinformationen zum Host.
  22. Verfahren nach Anspruch 16, wobei die persistenten Speicherungsmedien NAND-Medien umfassen.
  23. Maschinenlesbares Medium bzw. maschinenlesbare Medien, die Folgendes umfassen: mehrere Anweisungen, die als Reaktion darauf, dass sie auf einer Recheneinrichtung ausgeführt werden, die Recheneinrichtung dazu veranlassen, das Verfahren nach einem der Ansprüche 16-22 durchzuführen.
  24. Vorrichtung, die Folgendes umfasst: die Mittel zum Durchführen der Verfahren nach einem der Ansprüche 16-22.
DE102020103570.5A 2019-02-19 2020-02-12 Host-definierte bandbreitenzuweisung für ssd-aufgaben Pending DE102020103570A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/278,819 2019-02-19
US16/278,819 US10949120B2 (en) 2019-02-19 2019-02-19 Host defined bandwidth allocation for SSD tasks

Publications (1)

Publication Number Publication Date
DE102020103570A1 true DE102020103570A1 (de) 2020-08-20

Family

ID=66696793

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020103570.5A Pending DE102020103570A1 (de) 2019-02-19 2020-02-12 Host-definierte bandbreitenzuweisung für ssd-aufgaben

Country Status (3)

Country Link
US (1) US10949120B2 (de)
CN (1) CN111580747A (de)
DE (1) DE102020103570A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11726679B2 (en) * 2019-11-05 2023-08-15 Western Digital Technologies, Inc. Applying endurance groups to zoned namespaces
US20210182166A1 (en) * 2019-12-12 2021-06-17 Western Digital Technologies, Inc. Zoned namespace management of non-volatile storage devices
US11860791B2 (en) * 2020-04-24 2024-01-02 Netapp, Inc. Methods for managing input-output operations in zone translation layer architecture and devices thereof
US11354188B2 (en) 2020-09-23 2022-06-07 SK Hynix Inc. Data processing system including host with reliability management of memory systems and method for the same
US11449443B2 (en) 2020-10-16 2022-09-20 Western Digital Technologies, Inc. Identification and classification of write stream priority
JP2022094705A (ja) * 2020-12-15 2022-06-27 キオクシア株式会社 メモリシステムおよび制御方法
US11537293B2 (en) 2021-02-18 2022-12-27 Western Digital Technologies, Inc. Wear leveling methods for zoned namespace solid state drive
US11874771B2 (en) 2022-05-16 2024-01-16 Western Digital Technologies, Inc. Multiple indirection sizes for logical-to-physical translation tables

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6444917B2 (ja) * 2016-03-08 2018-12-26 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
US11294594B2 (en) * 2017-08-07 2022-04-05 Kioxia Corporation SSD architecture supporting low latency operation
CN109656833B (zh) * 2017-10-12 2022-11-11 慧荣科技股份有限公司 数据储存装置
US10866740B2 (en) * 2018-10-01 2020-12-15 Western Digital Technologies, Inc. System and method for performance-based multiple namespace resource allocation in a memory

Also Published As

Publication number Publication date
US20190179570A1 (en) 2019-06-13
CN111580747A (zh) 2020-08-25
US10949120B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
DE102020103570A1 (de) Host-definierte bandbreitenzuweisung für ssd-aufgaben
DE102019116213A1 (de) Qualität von für Enterprise-Halbleiterlaufwerke optimierten dienstbasierten Arbitrierungen
DE112020001833T5 (de) Netzwerkschnittstelle für Datentransport in heterogenen Rechenumgebungen
DE112011106078B4 (de) Verfahren, Vorrichtung und System zur Implementierung eines mehrstufigen Arbeitsspeichers mit Direktzugriff
DE102020133262A1 (de) Arbeitslastscheduler für Speicherzuweisung
DE102020127924A1 (de) Gemeinschaftlich verwendeter speicherraum unter vorrichtungen
DE112018000228T5 (de) System und Verfahren zur Verarbeitung und Arbitrierung von Übermittlungs- und Beendigungswarteschlangen
DE112018004251T5 (de) Adaptive vorrichtungsdienstqualität durch host-speicherpufferbereich
DE112017003334T5 (de) Lastreduzierte nichtflüchtige speicherschnittstelle
DE112017001471T5 (de) Mehrebenen-speichermanagement
DE102013104198A1 (de) Multi-CPU-System und Computersystem mit demselben
DE102019102883A1 (de) Technologien zum Bewegen von Arbeitslasten zwischen Hardwarewarteschlangenmanagern
DE102008030205A1 (de) Speichermatrix auf mehr als einem Die
DE112020007201T5 (de) Speicherzuordnung für verteilte Verarbeitungsvorrichtungen
DE102020132768A1 (de) Rückgängigmachen und erneutes ausführen von weicher post-package-reparatur
DE102019120573A1 (de) Technologien zur rechnerischen speicherung über ablade-kernel-erweiterungen
DE102016204283A1 (de) Datenspeichervorrichtungen, Datenverarbeitungssysteme, die diese aufweisen, Verfahren zum Betreiben und Verfahren zum Herstellen derselben.
DE102022107778A1 (de) Adressübersetzung an einer zielnetzwerk-schnittstellenvorrichtung
US11074004B2 (en) Tenant-based telemetry for persistent storage media
DE102018110704A1 (de) Speicherungsvorrichtung für ein vorausgehendes Verwalten einer Schreibdaten zuzuweisenden physischen Adresse
DE102020119017A1 (de) Ausgang aus Eingangswarteschlangen mit Gerechtigkeit auf Zeitstempelbasis
DE102022124530A1 (de) Speicherpoolmanagement
DE102019112291A1 (de) Verbessertes speicherungsmodell für ein computersystem mit persistentem systemspeicher
DE102021122233A1 (de) Beschleuniger-controller-hub
DE102022129936A1 (de) Techniken zur Erweiterung des Systemspeichers durch Nutzung des verfügbaren Gerätespeichers