DE102020126409A1 - Speichervorrichtung zum Speichern von Modellinformationen, die Speichervorrichtung enthaltendes Speichersystem und Betriebsverfahren des Speichersystems - Google Patents

Speichervorrichtung zum Speichern von Modellinformationen, die Speichervorrichtung enthaltendes Speichersystem und Betriebsverfahren des Speichersystems Download PDF

Info

Publication number
DE102020126409A1
DE102020126409A1 DE102020126409.7A DE102020126409A DE102020126409A1 DE 102020126409 A1 DE102020126409 A1 DE 102020126409A1 DE 102020126409 A DE102020126409 A DE 102020126409A DE 102020126409 A1 DE102020126409 A1 DE 102020126409A1
Authority
DE
Germany
Prior art keywords
model
storage device
model information
storage
machine learning
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
DE102020126409.7A
Other languages
English (en)
Inventor
Jungmin Seo
Byeonghui Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102020126409A1 publication Critical patent/DE102020126409A1/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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

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)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Eine Speichervorrichtung enthält ein Speichermedium, das Modellinformationen eines Maschinenlernmodells speichert; und einen Speichercontroller, der eine Operation der Speichervorrichtung unter Verwendung des Maschinenlernmodells steuert. Der Speichercontroller liest beim Empfangen eines Abrufbefehls zum Extrahieren der Modellinformationen aus dem Speichermedium von einer Host-Vorrichtung die Modellinformationen als Reaktion auf den Abrufbefehl aus dem Speichermedium und überträgt die Modellinformationen an die Host-Vorrichtung.

Description

  • Querverweis auf ähnliche Anmeldungen
  • Diese Anmeldung beansprucht die Priorität unter 35 U.S.C. § 119 der am 07. Februar 2020 beim Koreanischen Amt für Geistiges Eigentum eingereichten koreanischen Patentanmeldung Nr. 10-2020-0015210 , deren Gesamtheit durch Verweis hierin aufgenommen ist.
  • Hintergrund
  • Die vorliegende Offenbarung bezieht sich auf Speichervorrichtungen, die Speichervorrichtungen enthaltende Speichersysteme und Betriebsverfahren der Speichersysteme und insbesondere auf Speichervorrichtungen zum Speichern von Modellinformationen eines Maschinenlernmodells, die Speichervorrichtungen enthaltende Speichersysteme und Betriebsverfahren der Speichersysteme.
  • Ein nichtflüchtiger Speicher kann gespeicherte Daten sichern, selbst wenn eine Leistung unterbrochen ist. In letzter Zeit sind Speichervorrichtungen, die flash-basierte nichtflüchtige Speicher enthalten, wie eingebettete Multimediakarten (eMMC), ein Universal-Flash-Speicher (UFS), ein Festkörperlaufwerk (SSD) und Speicherkarten, am häufigsten zum Speichern oder Bewegen einer großen Datenmenge verwendet worden.
  • Speichervorrichtungen können Bedingungsinformationen, die für interne Operationen der Speichervorrichtungen erforderlich sind, durch Verwenden eines gespeicherten Maschinenlernmodells erhalten. Eine Speichervorrichtung kann zum Beispiel eine Bedingung zum Planen einer Speicherbereinigungsoperation unter Verwendung eines Maschinenlernmodells erfassen. Allerdings besteht das Problem darin, dass eine Speichervorrichtung gemäß dem Stand der Technik womöglich nicht imstande ist, ein im Voraus bei der Herstellung gespeichertes Maschinenlernmodell zu aktualisieren.
  • Kurzfassung
  • Ausführungsformen der erfinderischen Konzepte sehen eine Speichervorrichtung, die zur durchgehenden Verwendung von Modellinformationen eines Maschinenlernmodells zwischen unterschiedlichen Speichervorrichtungen imstande ist, ein die Speichervorrichtung enthaltendes System und ein Betriebsverfahren des Speichersystems vor.
  • Ausführungsformen der erfinderischen Konzepte sehen eine Speichervorrichtung vor, die ein Speichermedium, das Modellinformationen eines Maschinenlernmodells speichert; und einen Speichercontroller, der eine Operation der Speichervorrichtung unter Verwendung des Maschinenlernmodells steuert, enthält. Der Speichercontroller liest beim Empfangen eines Abrufbefehls zum Extrahieren der Modellinformationen aus dem Speichermedium von einer Host-Vorrichtung die Modellinformationen als Reaktion auf den Abrufbefehl aus dem Speichermedium und überträgt die Modellinformationen an die Host-Vorrichtung.
  • Ausführungsformen des erfinderischen Konzepts sehen ferner ein Speichersystem vor, das eine erste Speichervorrichtung und eine zweite Speichervorrichtung, die jeweils Modellinformationen eines Maschinenlernmodells speichern; und eine Host-Vorrichtung, die Operationen der ersten Speichervorrichtung und der zweiten Speichervorrichtung verwaltet, enthält. Die Host-Vorrichtung überträgt einen Abrufbefehl zum Extrahieren der Modellinformationen an die erste Speichervorrichtung, wenn die erste Speichervorrichtung in einem Fehlerzustand ist. Die erste Speichervorrichtung extrahiert die in der ersten Speichervorrichtung gespeicherten Modellinformationen als Reaktion auf den Abrufbefehl und überträgt die Modellinformationen an die Host-Vorrichtung.
  • Ausführungsformen der erfinderischen Konzepte sehen ferner ein Betriebsverfahren eines Speichersystems, das eine Mehrzahl an Speichervorrichtungen und eine Host-Vorrichtung, die Operationen der Mehrzahl an Speichervorrichtungen zu verwaltet, enthält, vor. Das Verfahren enthält das Bestimmen, durch die Host-Vorrichtung, dass eine erste Speichervorrichtung aus der Mehrzahl an Speichervorrichtungen, die Modellinformationen zu einem Maschinenlernmodell speichert, in einem Fehlerzustand ist; das Übertragen, durch die Host-Vorrichtung, eines Abrufbefehls zum Extrahieren der Modellinformationen an die erste Speichervorrichtung; das Übertragen, durch die erste Speichervorrichtung, der Modellinformationen an die Host-Vorrichtung als Reaktion auf den Abrufbefehl; und das Neuanordnen, durch die Host-Vorrichtung, der Modellinformationen in einer zweiten Speichervorrichtung aus der Mehrzahl an Speichervorrichtungen mit Ausnahme der ersten Speichervorrichtung.
  • Ausführungsformen der erfinderischen Konzepte sehen außerdem ein Speichersystem vor, das eine Mehrzahl an Speichervorrichtungen, die jeweils Modellinformationen eines Maschinenlernmodells speichern; und eine Host-Vorrichtung, die Operationen der Mehrzahl an Speichervorrichtungen verwaltet, enthält. Die Host-Vorrichtung extrahiert die Modellinformationen einer fehlerhaften Speichervorrichtung aus der Mehrzahl an Speichervorrichtungen und überträgt die extrahierten Modellinformationen an eine andere Speichervorrichtung aus der Mehrzahl an Speichervorrichtungen, wobei sich die andere Speichervorrichtung in einem normalen Betriebszustand befindet.
  • Figurenliste
  • Für ein deutlicheres Verständnis der Ausführungsformen der erfinderischen Konzepte sorgt die folgende, detaillierte Beschreibung in Verbindung mit den beigefügten Zeichnungen, wobei:
    • 1 ein Blockdiagramm eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 2A ein Blockdiagram darstellt, das eine Speichervorrichtung nach Ausführungsformen der erfinderischen Konzepte zeigt;
    • 2B ein Diagramm einer auf die Speichervorrichtung aus 2A geladenen Modellausführvorrichtung nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 3 ein Blockdiagramm eines Speichermediums einer Speichervorrichtung nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 4 ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 5A und 5B Diagramme eines Formats eines Abrufbefehls und eines Formats einer Antwort gemäß dem Abrufbefehl nach Ausführungsformen der erfinderischen Konzepte darstellen;
    • 6 ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 7 ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 8 ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 9 ein Diagramm eines Formats eines Ablagebefehls nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 10 ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 11 ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte darstellt;
    • 12A und 12B Flussdiagramme eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte darstellen; und
    • 13 ein Blockdiagramm eines Systems, auf welches das Speichersystem nach Ausführungsformen der erfinderischen Konzepte angewandt werden kann, darstellt.
  • Detaillierte Beschreibung der Ausführungsformen
  • Nachfolgend werden Ausführungsformen der erfinderischen Konzepte mit Bezug auf die beigefügten Zeichnungen ausführlich beschrieben.
  • Wie auf dem Gebiet der erfinderischen Konzepte herkömmlich, können Ausführungsformen in Bezug auf Blöcke, die eine beschriebene Funktion oder Funktionen ausführen, beschrieben und dargestellt werden. Diese Blöcke, die hierin als Einheiten oder Module oder Ähnliches bezeichnet werden können, werden durch analoge und/oder digitale Schaltungen, wie Logik-Gates, integrierte Schaltungen, Mikroprozessoren, Mikrocontroller, Speicherschaltungen, passive elektronische Komponenten, aktive elektronische Komponenten, optische Komponenten, festverdrahtete Schaltungen und Ähnliches, umgesetzt und können wahlweise durch Firmware und/oder Software angetrieben werden. Die Schaltungen können zum Beispiel in einem oder in mehreren Halbleiterchips oder auf Substratträgern, wie einer Leiterplatte und Ähnlichem, ausgeführt sein. Die Schaltungen, die einen Block ausbilden, können durch dedizierte Hardware oder durch einen Prozessor (z.B. einen oder mehrere programmierte Mikroprozessoren und zugehörige Schaltkreise) oder durch eine Kombination aus dedizierter Hardware, um einige Funktionen des Blocks durchzuführen, und einem Prozessor, um andere Funktionen des Blocks durchzuführen, umgesetzt werden. Jeder Block der Ausführungsformen kann physikalisch in zwei oder mehr interagierende und diskrete Blöcke aufgeteilt werden, ohne dabei vom Umfang der erfinderischen Konzepte abzuweichen. Gleichermaßen können die Blöcke der Ausführungsformen physikalisch zu mehreren komplexen Blöcken kombiniert werden, ohne dabei vom Umfang der erfinderischen Konzepte abzuweichen.
  • 1 stellt ein Blockdiagramm eines Speichersystems 1000 nach Ausführungsformen der erfinderischen Konzepte dar.
  • Das Speichersystem 1000 kann zum Beispiel als ein Computer (PC), ein Datenserver, ein netzgebundener Speicher (NAS), eine Internet-der-Dinge(IoT)-Vorrichtung oder eine tragbare elektronische Vorrichtung umgesetzt sein. Die tragbare elektronische Vorrichtung kann zum Beispiel einen Laptop, ein Mobiltelefon, ein Smartphone, ein Tablet, einen Personal Digital Assistant (PDA), einen Enterprise Digital Assistant (EDA), eine digitale Standbildkamera, eine digitale Videokamera, eine Audiovorrichtung, einen tragbaren Multimediaplayer (PMP), eine persönliche Navigationsvorrichtung (PND), einen MP3-Player, eine Handspielekonsole, ein E-Book oder eine tragbare Vorrichtung unter verschiedenen anderen Vorrichtungen enthalten.
  • Bezugnehmend auf 1 kann das Speichersystem 1000 eine erste bis k-te Speichervorrichtung 10_1, 10 2 bis 10_k (d.h. 10_1 bis 10_k) und eine Host-Vorrichtung 20 enthalten. Die Host-Vorrichtung 20 kann den Gesamtbetrieb des Speichersystems 1000 verwalten. Zum Beispiel kann k eine natürlich Zahl von 3 oder mehr sein, die erfinderischen Konzepte sind jedoch nicht darauf beschränkt, da das Speichersystem 1000 zwei Speichervorrichtungen, die mit einer Host-Vorrichtung 20 verbunden sind, enthalten kann.
  • In einer Ausführungsform kann das Speichersystem 1000 ein Speichersystem für eine redundante Anordnung kostengünstiger Festplatten (RAID) sein und die erste bis k-te Speichervorrichtung 10_1 bis 10_k können einen RAID-Bereich ausbilden. Das heißt, die Host-Vorrichtung 20 kann eine RAID-Wiederherstellung unter Verwendung von Daten, die einen RAID-Stripe und eine RAID-Parität ausbilden, in der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k durchführen. In einer Ausführungsform kann die Host-Vorrichtung 20 eine RAID-Wiederherstellung basierend auf XOR-Operationen unter Verwendung der Daten und der RAID-Parität durchführen.
  • Alternativ können die erste bis k-te Speichervorrichtung 10_1 bis 10_k in einer Ausführungsform Speichervorrichtungen sein, in denen dieselbe Anwendung ausgeführt wird.
  • In 1 enthält das Speichersystem 1000 die erste bis k-te Speichervorrichtung 10_1 bis 10_k, die mit einer Host-Vorrichtung 20 verbunden sind, die erfinderischen Konzepte sind jedoch nicht darauf beschränkt. Das Speichersystem 1000 kann eine Mehrzahl an unterschiedlichen Host-Vorrichtungen oder eine mit den jeweiligen Host-Vorrichtungen verbundene Mehrzahl an Speichervorrichtungen enthalten.
  • Die erste bis k-te Speichervorrichtung 10_1 bis 10_k kann jegliche Art von Speichervorrichtung sein, die zum Speichern von Daten imstande ist. In einer Ausführungsform können die erste bis k-te Speichervorrichtung 10_1 bis 10_k Festkörperlaufwerks(SSD)-Vorrichtungen sein, die erfinderischen Konzepte sind jedoch nicht darauf beschränkt.
  • Die erste bis k-te Speichervorrichtung 10_1 bis 10_k können unter Verwendung eines Maschinenlernmodells jeweils Informationen zu für das Durchführen der internen Operationen der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k erforderlichen Bedingungen erhalten. Die erste bis k-te Speichervorrichtung 10_1 bis 10_k können zum Beispiel die internen Operationen der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k jeweils unter Verwendung des Maschinenlernmodells planen oder können jeweils zur Durchführung der internen Operationen der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k erforderliche Schwellenwerte erhalten.
  • In einer Ausführungsform kann die Host-Vorrichtung 20 als ein Anwendungsprozessor (AP) oder ein Ein-Chip-System (SoC) umgesetzt sein. Die Host-Vorrichtung 20 kann durch eine Host-Schnittstelle (wie zum Beispiel die in 2 gezeigte Host-Schnittstelle 130) mit der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k kommunizieren.
  • Die Host-Vorrichtung 20 kann einen Befehl CMD zum Steuern der Operation einer jeden der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k an jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k übertragen. Die Host-Vorrichtung 20 kann zum Beispiel einen Schreibbefehl zum Schreiben von Daten in jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k an jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k übertragen oder kann einen Lesebefehl zum Lesen der Daten aus jeder der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k an jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k übertragen.
  • In einer Ausführungsform kann die Host-Vorrichtung 20 einen Abrufbefehl GCMD zum Extrahieren von Modellinformationen MI des Maschinenlernmodells aus jeder der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k an jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k übertragen. In einer Ausführungsform kann die Host-Vorrichtung 20 einen Ablagebefehl PCMD zum Anordnen der Modellinformationen MI des Maschinenlernmodells in jeder der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k an jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k übertragen. Das Maschinenlernmodell kann zum Beispiel ein künstliches neuronales Netzwerk enthalten.
  • In einer Ausführungsform können die Modellinformationen MI Modelldaten und Modellmetadaten enthalten. Die Modelldaten können zum Beispiel eine Modellarchitektur und Modellparameter enthalten und die Modellmetadaten können Daten zu der Präzision eines Modells, der Trainingszeit des Modells und der Menge an Trainingsdaten des Modells enthalten.
  • Die Host-Vorrichtung 20 des Speichersystems 1000 kann die Modellinformationen MI des Maschinenlernmodells, die in einer Speichervorrichtung aus der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k, die als in einem Fehlerzustand bestimmt ist, extrahieren. Die Host-Vorrichtung 20 kann die extrahierten Modellinformationen MI an eine Speichervorrichtung aus der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k, die in einem normalen Zustand (d.h. einem normalen Betriebszustand) ist, übertragen. Die extrahierten Modellinformationen MI können in der Speichervorrichtung im normalen Zustand angeordnet sein. Somit kann das Speichersystem 1000, wenn die Verwendung einer spezifischen Speichervorrichtung unter der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k unmöglich ist, die Modellinformationen in einer neuen Speichervorrichtung anordnen, wodurch die Modellinformationen MI des Maschinenlernmodells zwischen (oder in) unterschiedlichen Speichervorrichtungen durchgehend verwendet werden.
  • Außerdem kann die Host-Vorrichtung 20 einen Modell-Trainingsbefehl an jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k übertragen und jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k kann eine Maschinenlernmodell-Trainingsoperation als Reaktion auf den Modell-Trainingsbefehl durchführen. Die Host-Vorrichtung 20 kann einen Modell-Inferenzbefehl an jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k übertragen und jede der ersten bis k-ten Speichervorrichtung 10_1 bis 10_kkann eine Maschinenlernmodell-Inferenzoperation als Reaktion auf den Modell-Inferenzbefehl durchführen.
  • 2A stellt ein Blockdiagram dar, das eine Speichervorrichtung 10 nach Ausführungsformen der erfinderischen Konzepte zeigt. 2B stellt ein Diagramm einer auf die Speichervorrichtung 10 aus 2A geladenen Modellausführvorrichtung 125 nach Ausführungsformen der erfinderischen Konzepte dar. Die Speichervorrichtung 10 aus 2A kann eine der ersten bis n-ten Speichervorrichtung 10_1 bis 10_n aus 1 sein.
  • Die Speichervorrichtung 10 kann eine Flash-Speichervorrichtung enthalten, die einen oder mehrere Flash-Speicherchips enthält. Die Speichervorrichtung 10 kann zum Beispiel eine Mehrzahl an NAND-Speicherchips enthalten, die Daten nichtflüchtig speichern.
  • In einer Ausführungsform kann die Speichervorrichtung 10 ein eingebetteter Speicher sein, der im Speichersystem (z.B. 1000 aus 1) eingebettet ist. Die Speichervorrichtung 10 kann zum Beispiel eine eingebettete Multimediakarte (eMMC®) oder eine eingebettete Universal-Flash-Speicher(UFS)-Speichervorrichtung sein. In einer Ausführungsform kann die Speichervorrichtung 10 ein aus dem Speichersystem 1000 entfernbarer externer Speicher sein. Die Speichervorrichtung 10 kann zum Beispiel eine UFS-Speicherkarte, eine CompactFlash®(CF)-Karte, eine Security-Digital™(SD)-Karte, eine Micro-Secure-Digital(Micro-SD)-Karte, eine Mini-Secure-Digital(Mini-SD)-Karte, Extreme-Digital(xD) oder ein Memory Stick™ (MS) sein.
  • Bezugnehmend auf 2A kann die Speichervorrichtung 10 einen Speichercontroller 100 und ein Speichermedium 200 enthalten. Die Speichervorrichtung 10 kann ferner andere Komponenten, wie zum Beispiel einen Pufferspeicher und eine Leistungsverwaltungsschaltung, enthalten. Die Speichervorrichtung 10 kann auf das Speichermedium 200 zugreifen oder angeforderte Operationen als Reaktion auf den von der Host-Vorrichtung (z.B. 20 aus 1) vorgesehenen Befehl CMD durchführen.
  • Der Speichercontroller 100 kann den Betrieb des Speichermediums 200 durch einen Kanal CH steuern. Der Speichercontroller 100 kann zum Beispiel Daten in das Speichermedium 200 schreiben oder Daten aus dem Speichermedium 200 lesen.
  • Der Speichercontroller 100 kann einen Prozessor 110, einen Speicher 120, eine Host-Schnittstelle 130 und eine Speicherschnittstelle 140 enthalten. Der Prozessor 110, der Speicher 120, die Host-Schnittstelle 130 und die Speicherschnittstelle 140 können über einen Bus 150 miteinander kommunizieren. Der Speichercontroller 100 kann ferner andere Komponenten enthalten.
  • Der Prozessor 110 kann den Gesamtbetrieb des Speichercontrollers 100 steuern. Der Prozessor 110 kann eine zentrale Verarbeitungseinheit oder einen Mikroprozessor enthalten. In einer Ausführungsform kann der Prozessor 110 als ein Multikernprozessor, zum Beispiel ein Doppelkernprozessor oder ein Vierkernprozessor, umgesetzt sein.
  • Der Prozessor 110 kann Firmware zum Antreiben des Speichercontrollers 100 ausführen. Die Firmware kann in den Speicher 120 geladen und ausgeführt werden. Der Prozessor 110 kann zum Beispiel eine Freispeichersammlung zum Verwalten des Speichermediums 200 oder eine Flash-Übersetzungsschicht zum Durchführen einer Adressenzuordnung, eines Abnutzungsgrades etc. durch Ausführen der Firmware zum Antreiben des Speichercontrollers 100 durchführen.
  • Der Speicher 120 kann unter der Steuerung des Prozessors 110 operieren. Der Speicher 120 kann als ein Arbeitsspeicher, Cache-Speicher oder Pufferspeicher des Prozessors 110 verwendet werden. Software, Firmware und Daten zum Steuern des Speichercontrollers 100 können in den Speicher 120 geladen werden. Der Speicher 120 kann als ein flüchtiger Speicher, wie ein dynamischer Direktzugriffsspeicher (DRAM) oder statischer Direktzugriffsspeicher (SRAM), umgesetzt sein. Alternativ kann der Speicher 120 als ein resistiver Speicher, wie ein RRAM, PRAM oder MRAM, umgesetzt sein. Eine Modellinformationen-Ausführvorrichtung 121, eine Modellinformationen-Anordnungsvorrichtung 123 und die Modellausführvorrichtung 125 können zum Beispiel in den Speicher 120 geladen werden.
  • Der Prozessor 110 kann Modellinformationen, die auf eine Anforderung hin aus der Host-Vorrichtung 20 extrahiert werden sollen, aus einer Datenbank DB des Speichermediums 200 lesen und kann die gelesenen Modellinformationen durch Ausführen der Modellinformationen-Ausführvorrichtung 121 an die Host-Vorrichtung 20 übertragen. Der Prozessor 110 kann Modellinformationen, die auf eine Anforderung hin angeordnet werden sollen, aus der Host-Vorrichtung 20 durch Ausführen der Modellinformationen-Anordnungsvorrichtung 123 in die Datenbank DB des Speichermediums 200 schreiben.
  • Bezugnehmend auf 2A und 2B kann die Modellausführvorrichtung 125 eine Modellinferenzvorrichtung 125_1 und eine Modelltrainingsvorrichtung 125 2 enthalten. Der Prozessor 110 kann Aufgaben gemäß einer Zugriffsanforderung der Host-Vorrichtung 20 und Hintergrundaufgaben oder Vordergrundaufgaben zum Verwalten der Speichervorrichtung 10 durch Ausführen der Modellinferenzvorrichtung 125_1 unter Verwendung der Modellinformationen planen. Der Prozessor 110 kann zum Beispiel eine Speicherbereinigungsoperation durch Ausführen der Modellinferenzvorrichtung 125_1 unter Verwendung der Modellinformationen planen. Zusätzlich kann der Prozessor 110 verschiedene Schwellenwerte und Parameter, die für den Betrieb der Speichervorrichtung 10 verwendet werden, durch Ausführen der Modellinferenzvorrichtung 125_1 unter Verwendung der Modellinformationen erhalten.
  • Ferner kann der Prozessor 110 ein in der Speichervorrichtung 10 gespeichertes Maschinenlernmodell durch Ausführen der in den Speicher 120 geladenen Modeltrainingsvorrichtung 125_2 trainieren und der Trainingsgrad des Maschinenlernmodells kann sich erhöhen.
  • Bezugnehmend auf 2A kann die Host-Schnittstelle 130 eine Kommunikation mit der Host-Vorrichtung 20 durchführen. Die Host-Schnittstelle 130 kann zum Beispiel eine physikalische Verbindung zwischen der Host-Vorrichtung 20 und der Speichervorrichtung 10 vorsehen. Die Host-Schnittstelle 130 kann als Reaktion auf ein Übertragungsformat der Host-Vorrichtung 20, das heißt, ein Busformat, die Größe der mit der Speichervorrichtung 10 ausgetauschten Daten einstellen oder das Format von mit der Speichervorrichtung 10 ausgetauschten Befehlen umwandeln.
  • Die Host-Schnittstelle 130 kann zum Beispiel an die Host-Vorrichtung 20 zu übertragende Modellinformationen derart formatieren, dass sie dem Übertragungsformat der Host-Vorrichtung 20 entsprechen. Zusätzlich kann die Host-Schnittstelle 130 die von der Host-Vorrichtung 20 empfangenen Modellinformationen (z.B. MI aus 1) derart formatieren, dass sie dem internen Format der Speichervorrichtung 10 entsprechen.
  • Das Busformat der Host-Vorrichtung 20 kann zum Beispiel als mindestens eines von einem Universal Serial Bus (USB), einer Small Computer System Interface (SCSI), einem Peripheral Component Interconnection (PCI) Express, einem AT Attachment (ATA), einem Parallel AT Attachment (PATA), einem Serial AT Attachment (SATA) und einer Serial Attached SCSI (SAS) konfiguriert sein. Ein in der Host-Vorrichtung 20 angebrachtes Protokoll für einen nichtflüchtigen Speicherexpress (NVMe), das Daten durch Verwenden eines PCI-Expresses austauscht, kann auf die Host-Schnittstelle 130 angewandt werden.
  • Die Speicherschnittstelle 140 kann Daten mit dem Speichermedium 200 austauschen. Die Speicherschnittstelle 140 kann Daten über den Kanal CH in das Speichermedium 200 schreiben und die Daten über den Kanal CH aus dem Speichermedium 200 lesen. Die Speicherschnittstelle 140 kann zum Beispiel Modellinformationen durch den Kanal CH an das Speichermedium 200 übertragen und kann die Modellinformationen durch den Kanal CH vom Speichermedium 200 empfangen. In einer Ausführungsform können die im Speichermedium 200 gespeicherten Modellinformationen derart formatiert werden, dass die aus der Host-Vorrichtung 20 empfangenen Modellinformationen MI einem Speicherformat im Innern der Speichervorrichtung 10 entsprechen.
  • Das Speichermedium 200 kann einen Flash-Speicher enthalten und der Flash-Speicher kann ein 2D-NAND-Speicherarray oder ein 3D- (oder vertikales) NAND(VNAND)-Speicherarray enthalten. Das 3D-Speicherarray ist eine Schaltung, die Arrays von Speicherzellen, die einen auf einem Siliziumsubstrat angeordneten aktiven Bereich aufweisen, oder Operationen der Speicherzellen zugeordnet ist und ist auf dem Substrat oder mindestens einer physikalischen Ebene einer im Substrat ausgebildeten Schaltung monolithisch ausgebildet. Der Begriff „monolithisch“ bedeutet, dass Schichten einer jeden Ebene, die das Array ausbilden, direkt über den Schichten einer jeden unteren Ebene des Arrays gestapelt sind.
  • In einer Ausführungsform enthält das 3D-Speicherarray vertikale NAND-Ketten, die derart in eine vertikale Richtung angeordnet sind, dass mindestens eine Speicherzelle über der anderen Speicherzelle positioniert ist. Die mindestens eine Speicherzelle kann eine Ladungseinfangschicht enthalten.
  • Die U.S.-Patentveröffentlichungen Nr. 7.679.133, 8.553.466, 8.654.587 und 8.559.235 und die U.S.-Patentanmeldungsveröffentlichung Nr. 2011/0233648 beschreiben entsprechende Konfigurationen eines 3D-Speicherarrays, das eine Mehrzahl an Ebenen enthält und Wortleitungen und/oder Bitleitungen zwischen den Ebenen gemeinsam nutzt, und können hierin in den Entgegenhaltungen kombiniert sein.
  • In Ausführungsformen kann das Speichermedium 200 verschiedene andere Arten von nichtflüchtigen Speichern enthalten. Das Speichermedium 200 kann zum Beispiel einen nichtflüchtigen Speicher enthalten und der nichtflüchtige Speicher kann verschiedene Arten von Speichern verwenden, wie zum Beispiel einen magnetischen RAM (MRAM), Spin-Transfer-Torque-MRAM, leitfähigen Bridging-RAM (CBRAM), ferroelektrischen RAM (FeRAM), Phasen-RAM (PRAM), resistiven RAM, Nanoröhren-RAM, Polymer-RAM (PoRAM), Nano-Floating-Gate-Speicher (NFGM), holografischen Speicher, molekularen Elektronikspeicher und Isolierwiderstand-Veränderungsspeicher, unter anderem.
  • 3 stellt ein Blockdiagramm des Speichermediums 200 einer Speichervorrichtung nach Ausführungsformen der erfinderischen Konzepte dar.
  • Bezugnehmend auf 3 kann das Speichermedium 200 ein Speicherzellenarray 210, einen Adressendekodierer 220, einen Spannungsgenerator 230, einen Steuerlogikblock (z.B. eine Steuerschaltung oder einen Controller) 240, eine Seitenpufferschaltung 250 und eine Eingabe/Ausgabe-Schaltung 260 enthalten. Obwohl nicht dargestellt, kann das Speichermedium 200 ferner eine Eingabe/Ausgabe-Schnittstelle enthalten.
  • Das Speicherzellenarray 210 kann mit Wortleitungen WL, String-Auswahlleitungen SSL, Masseauswahlleitungen GSL und Bitleitungen BL verbunden sein. Das Speicherzellenarray 210 kann durch die Wortleitungen WL, die String-Auswahlleitungen SSL und die Masseauswahlleitungen GSL mit dem Adressendekodierer 220 verbunden sein und kann durch die Bitleitungen BL mit der Seitenpufferschaltung 250 verbunden sein.
  • Das Speicherzellenarray 210 kann eine Mehrzahl an Speicherblöcken BLK1, BLK2 bis BLKn (d.h. BLK1 bis BLKn) enthalten. Das Speichermedium 200 kann eine Löschoperation in Einheiten von Speicherblöcken durchführen.
  • Jeder der Speicherblöcke BLK1 bis BLKn kann eine Mehrzahl an Speicherzellen und eine Mehrzahl an Auswahltransistoren enthalten. Die Speicherzellen können mit den Wortleitungen WL verbunden sein und die Auswahltransistoren können mit den String-Auswahlleitungen SSL oder den Masseauswahlleitungen GSL verbunden sein. Die Speicherzellen eines jeden der Speicherblöcke BLK1 bis BLKn können Einzelpegelzellen, die 1-Bit-Daten speichern, oder Multipegelzellen, die M-Bit-Daten (M ist 2 oder eine ganze Zahl größer als 2) speichern, enthalten.
  • Das Speicherzellenarray 210 kann eine Modelldatenbank DB enthalten und Modellinformationen können in der Modelldatenbank DB gespeichert sein. Die Modellinformationen können zum Beispiel Modelldaten und Modellmetadaten enthalten. Die Modelldaten können eine Modellarchitektur und Modellparameter enthalten und die Modellmetadaten können Daten zu der Präzision eines Modells, der Trainingszeit des Modells und der Menge an Trainingsdaten des Modells enthalten.
  • Der Adressendekodierer 220 kann einen der Mehrzahl an Speicherblöcken BLK1 bis BLKn des Speicherzellenarrays 210 auswählen, kann eine der Wortleitungen WL des ausgewählten Speicherblocks auswählen und kann eine der Mehrzahl an String-Auswahlleitungen SSL auswählen.
  • Der Spannungsgenerator 230 kann verschiedene Arten von Spannungen zum Durchführen von Programmier-, Lese- und Löschoperationen des Speicherzellenarrays 210 basierend auf einem Spannungssteuersignal CTRL_Vol erzeugen. Zum Beispiel kann der Spannungsgenerator 230 eine Wortleitungsspannung VWL erzeugen, wie zum Beispiel eine Programmierspannung, eine Lesespannung, eine Durchgangsspannung, eine Löschverifikationsspannung oder eine Programmverifikationsspannung. Außerdem kann der Spannungsgenerator 230 eine String-Auswahlleitungsspannung und eine Masseauswahlleitungsspannung basierend auf dem Spannungssteuersignal CTRL_Vol erzeugen und kann eine Löschspannung, die an das Speicherzellenarray 210 übermittelt werden soll, erzeugen.
  • Der Steuerlogikblock 240 kann verschiedene Steuersignale zum Durchführen der Programmier-, Lese- und Löschspannungen des Speicherzellenarrays 210 basierend auf einem internen Befehl ICMD, einer Adresse ADDR und einem Steuersignal CTRL ausgeben. Der Steuerlogikblock 240 kann eine Reihenadresse X-ADDR an den Adressendekodierer 220 übermitteln, eine Spaltenadresse Y-ADDR an die Seitenpufferschaltung 250 übermitteln und das Spannungssteuersignal CTRL_Vol an den Spannungsgenerator 230 übermitteln.
  • Die Seitenpufferschaltung 250 kann abhängig von einem Betriebsmodus als ein Schreibtreiber oder ein Erfassungsverstärker operieren. Während der Leseoperation kann die Seitenpufferschaltung 250 die Bitleitung BL der ausgewählten Speicherzelle unter der Steuerung des Steuerlogikblocks 240 erfassen. Die Seitenpufferschaltung 250 kann die in den Zwischenspeichern gespeicherten Daten unter der Steuerung des Steuerlogikblocks 240 an die Eingabe/Ausgabe-Schaltung 260 abladen.
  • Die Eingabe/Ausgabe-Schaltung 260 kann den internen Befehl ICMD, die Adressen ADDR, das Steuersignal CTRL und die Daten DATA, die durch eine Eingabe/Ausgabe-Leitung I/O von außerhalb des Speichermediums 200 vorgesehen werden, vorübergehend speichern. Die Eingabe/Ausgabe-Schaltung 260 kann gelesene Daten des Speichermediums 200 vorübergehend speichern und die gelesenen Daten durch die Eingabe/Ausgabe-Leitung I/O zu einer festgelegten Zeit nach außerhalb ausgeben.
  • 4 stellt ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte dar. 5A und 5B stellen jeweils Diagramme eines Formats des Abrufbefehls GCMD und eines Formats einer Antwort gemäß dem Abrufbefehl GCMD nach Ausführungsformen der erfinderischen Konzepte dar. 4 stellt ein Diagramm einer Operation zum Extrahieren von in der Speichervorrichtung 10 gespeicherten Modellinformationen dar. Zum Beispiel können Operationen S130 und S140 durch einen Prozessor der Speichervorrichtung 10 durch Ausführen der in einen Speicher 120 geladenen Modellinformationen-Ausführvorrichtung 121 durchgeführt werden.
  • Bezugnehmend auf 4 bestimmt die Host-Vorrichtung 20 in Operation S110, ob die Speichervorrichtung 10 in einem Fehlerzustand ist. Die Host-Vorrichtung 20 kann zum Beispiel bestimmen, dass die Speichervorrichtung 10 im Fehlerzustand ist, wenn eine Eingabe zum Ersetzen der Speichervorrichtung 10 von einem Benutzer empfangen wird. Alternativ kann die Host-Vorrichtung 20 in einem Fall, in dem die Speichervorrichtung 100 die Leseoperation und die Schreiboperation nicht durchführt, oder in einem Fall, in dem die Speichervorrichtung 100 lediglich die Leseoperation durchführt, aber die Anzahl an schlechten Blöcken der Speichervorrichtung 10 einen Schwellenwert übersteigt, bestimmen, dass die Speichervorrichtung 10 im Fehlerzustand ist. Alternativ kann die Host-Vorrichtung 20 als Reaktion auf das Empfangen eines Signals von der Speichervorrichtung 10, das angibt, dass die Speichervorrichtung 10 im Fehlerzustand ist, bestimmen, dass die Speichervorrichtung 10 im Fehlerzustand ist.
  • Wenn die Speichervorrichtung 10 als im Fehlerzustand bestimmt wird, überträgt die Host-Vorrichtung 20 den Abrufbefehl GCMD in Operation S120 an die Speichervorrichtung 10. Das Speichersystem nach den erfinderischen Konzepten ist jedoch nicht darauf beschränkt und selbst wenn die Speichervorrichtung 10 als im normalen Zustand anstatt im Fehlerzustand bestimmt wird, kann die Host-Vorrichtung 20 den Abrufbefehl GCMD an die Speichervorrichtung 10 übertragen, um die Modellinformationen aus der Speichervorrichtung 10 zu extrahieren.
  • Bezugnehmend auf 4, 5A und 5B überträgt die Host-Vorrichtung 20 in Operation S120 den Abrufbefehl GCMD an die Speichervorrichtung 10. In einer Ausführungsform kann der Abrufbefehl GCMD eine Befehlsidentifikationsvorrichtung (ID) und eine Modellidentifikationsvorrichtung (ID) enthalten. Die Befehlsidentifikationsvorrichtung kann zum Beispiel angeben, ob ein Befehl der Abrufbefehl GCMD oder der Ablagebefehl PCMD ist und die Modellidentifikationsvorrichtung kann ein Extraktionsmodell unter in der Speichervorrichtung 10 gespeicherten Modellen angeben.
  • In Operation S130 extrahiert die Speichervorrichtung 10 die Modellinformationen aus einer Modelldatenbank. Die Modellinformationen zu diesem Zeitpunkt können einem Format im Innern der Speichervorrichtung 10 entsprechen.
  • In Operation S140 überträgt die Speichervorrichtung 10 die Modellinformationen MI, die dem Abrufbefehl GCMD entsprechen, an die Host-Vorrichtung 20. Die Modellinformationen MI können Modelldaten und Modellmetadaten enthalten. Die Modelldaten können zum Beispiel eine Modellarchitektur und Modellparameter enthalten und die Modellmetadaten können Informationen zu der Präzision eines Modells oder dem Trainingsgrad des Modells enthalten. Die Informationen zum Trainingsgrad des Modells können die Trainingszeit des Modells oder die Menge an Trainingsdaten des Modells enthalten.
  • Zu diesem Zeitpunkt kann die Speichervorrichtung 10 einen Antwortcode zusammen mit den Modellinformationen MI übertragen. Der Antwortcode kann ein Durchführergebnis einer Operation gemäß dem von der Host-Vorrichtung 20 vorgesehenen Abrufbefehl GCMD angeben. Die Speichervorrichtung 10 kann zum Beispiel den Antwortcode gemäß einem Ergebnis einer Bestimmung, ob ein Maschinenlernmodell, das den aus der Speichervorrichtung 10 extrahierten Modellinformationen entspricht, die Zuverlässigkeitsbedingung gemäß dem Abrufbefehl GCMD erfüllt, übertragen. Wenn das Modell die Zuverlässigkeitsbedingung nicht erfüllt, überträgt die Speichervorrichtung 10 womöglich lediglich den Antwortcode, der angibt, dass das Model die Zuverlässigkeitsbedingung nicht erfüllt, ohne die Modellinformationen MI zu übertragen.
  • In einer Ausführungsform kann die Speichervorrichtung 10 in Operation S140 die Modellinformationen MI durch einen Datenpin unter einer Mehrzahl an Ausgabepins, die mit der Host-Vorrichtung 20 verbunden sind, übertragen. Wenn es allerdings unmöglich ist, den Datenpin der Speichervorrichtung 10 zu verwenden, kann die Speichervorrichtung 10 die Modellinformationen MI durch einen anderen Pin unter der Mehrzahl an Ausgabepins als den Datenpin übertragen. Zum Beispiel kann die Speichervorrichtung 10 die Modellinformationen MI durch einen Ausgabepin zum Übertragen von Informationen zu der Leistung der Speichervorrichtung 10 übertragen.
  • In Operation S150 überträgt die Host-Vorrichtung 10 die Modellinformationen MI an eine andere Speichervorrichtung als die Speichervorrichtung 10, um die Modellinformationen MI anzuordnen. Die andere Speichervorrichtung kann im normalen Zustand sein. Wenn zum Beispiel die erste Speichervorrichtung 10_1 unter der ersten bis k-ten Speichervorrichtung 10_1 bis 10_k aus 1 als im Fehlerzustand bestimmt wird, kann die Host-Vorrichtung 20 die in der ersten Speichervorrichtung 10_1 gespeicherten Modellinformationen MI extrahieren, um die Modellinformationen MI an die zweite Speichervorrichtung 10 2 zu übertragen.
  • In einer Ausführungsform können die Speichervorrichtung 10 und die andere Speichervorrichtung Speichervorrichtungen sein, die mit derselben Host-Vorrichtung 20 verbunden sind und von derselben Host-Vorrichtung 20 gesteuert werden. Zum Beispiel können die Speichervorrichtung 10 und die andere Speichervorrichtung zusammen einen RAID-Bereich ausbilden. Alternativ können die Speichervorrichtung 10 und die andere Speichervorrichtung in einer Ausführungsform Speichervorrichtungen sein, auf denen dieselbe Anwendung ausgeführt wird. Dementsprechend kann das Speichersystem nach den erfinderischen Konzepten, wenn die Verwendung einer spezifischen Speichervorrichtung unter einer Mehrzahl an Speichervorrichtungen unmöglich ist, die Modellinformationen MI einer Speichervorrichtung in einem Fehlerzustand zu einer anderen Speichervorrichtung, die zur Ausführung desselben Maschinenlernmodells imstande ist, anordnen, wodurch die Modellinformationen MI des Maschinenlernmodells zwischen unterschiedlichen Speichervorrichtungen (oder durch jene) durchgehend verwendet werden.
  • 6 stellt ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte dar und stellt Details zu Operation S110 aus 4 dar. Operation S110 kann Operationen S111 bis S117 enthalten.
  • Bezugnehmend auf 6 bestimmt eine Host-Vorrichtung (wie Host-Vorrichtung 20 aus 1) in Operation S111, ob eine Speichervorrichtung (wie Speichervorrichtung 10 aus 2A) zur Durchführung einer Schreiboperation imstande ist, und bestimmt in Operation S113, ob die Speichervorrichtung zur Durchführung einer Leseoperation imstande ist. Wenn die Host-Vorrichtung bestimmt, dass die Speichervorrichtung zur Durchführung von sowohl der Schreiboperation (Nein in Operation S111) als auch der Leseoperation (Nein in Operation S113) nicht imstande ist, bestimmt die Host-Vorrichtung in Operation S117, dass die Speichervorrichtung in einem Fehlerzustand ist. Zum Beispiel kann die Speichervorrichtung ein Signal, das angibt, dass die Speichervorrichtung zur Durchführung von sowohl der Schreiboperation als auch der Leseoperation nicht imstande ist, an die Host-Vorrichtung übertragen und wenn die Host-Vorrichtung das Signal empfängt, kann die Host-Vorrichtung bestimmen, dass die Speichervorrichtung zur Durchführung von sowohl der Schreiboperation als auch der Leseoperation nicht imstande ist und dass die Speichervorrichtung im Fehlerzustand ist.
  • Wenn die Speichervorrichtung zur Durchführung von lediglich der Leseoperation (nur zum Lesen) imstande ist (Ja in Operation S113), bestimmt die Host-Vorrichtung in Operation S115, ob die Anzahl an schlechten Blöcken der Speichervorrichtung einen Schwellenwert übersteigt. Wenn die Speichervorrichtung zur Durchführung von lediglich der Leseoperation imstande ist, kann die Speichervorrichtung ein Signal übertragen, das angibt, dass die Speichervorrichtung zur Durchführung von lediglich der Leseoperation imstande ist, und wenn die Host-Vorrichtung das Signal empfängt, kann die Host-Vorrichtung bestimmen, dass die Speichervorrichtung zur Durchführung von lediglich der Leseoperation imstande ist, und Operation S115 durchführen.
  • In einer Ausführungsform kann der Schwellenwert, der ein Bezug für die Anzahl an schlechten Blöcken ist, ein vorgegebener Wert sein. Alternativ kann der Schwellenwert ein Wert sein, der adaptiv variiert, wenn sich der Verwendungszeitraum der Speichervorrichtung verändert. Zum Beispiel kann ein Maschinenlernmodell, das den Schwellenwert, welcher der Bezug zur Bestimmung des Fehlerzustands der Speichervorrichtung ist, ableitet, in der Speichervorrichtung gespeichert sein und ein Prozessor der Speichervorrichtung kann den Schwellenwert durch Ausführen einer Modellausführvorrichtung erhalten.
  • Wenn ein schlechter Block in einem Speichermedium auftritt, kann die Speichervorrichtung eine Wiederherstellungsoperation zum Ersetzen des schlechten Blocks mit einem Ersatzblock durchführen. Wenn sich allerdings die Anzahl an schlechten Blöcken unter einer Mehrzahl an Speicherblöcken erhöht und den Schwellenwert übersteigt, kann die Speichervorrichtung auf Schwierigkeiten bei der Durchführung der Wiederherstellungsoperation zum Wiederherstellen von Daten der schlechten Blöcke stoßen. Dementsprechend bestimmt die Host-Vorrichtung, wenn die Anzahl an schlechten Blöcken der Speichervorrichtung den Schwellenwert übersteigt, in Operation S117, dass die Speichervorrichtung im Fehlerzustand ist. Zum Beispiel kann die Speichervorrichtung die Host-Vorrichtung mit Informationen zu der gegenwärtigen Anzahl an schlechten Blöcken versorgen und die Host-Vorrichtung kann basierend auf den Informationen bestimmen, ob sich die Anzahl an schlechten Blöcken erhöht und den Schwellenwert übersteigt.
  • Die Speichervorrichtung nach den erfinderischen Konzepten ist jedoch nicht auf das Betriebsverfahren aus 6 beschränkt, da die Speichervorrichtung Informationen dazu, ob die Speichervorrichtung im normalen Zustand oder im Fehlerzustand ist, an die Host-Vorrichtung übermitteln kann. In dieser Ausführungsform, wenn die Speichervorrichtung selbst bestimmt, dass die Speichervorrichtung im Fehlerzustand ist, kann die Speichervorrichtung ein Signal, das den Fehlerzustand angibt, an die Host-Vorrichtung übermitteln und die Host-Vorrichtung kann durch Empfangen des Signals bestimmen, dass die Speichervorrichtung im Fehlerzustand ist.
  • Wenn die Host-Vorrichtung in Operation S117 bestimmt, dass die Speichervorrichtung im Fehlerzustand ist, kann die Host-Vorrichtung Operation S120 aus 4 durchführen.
  • 7 stellt ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte dar und stellt Details zu Operation S140 aus 4 dar. Operation S140 kann Operationen S141 bis S145 enthalten. Zum Beispiel kann Operation S140 von einem Prozessor, wie Prozessor 110 der Speichervorrichtung 10, durch Ausführen einer in den Speicher 120 geladenen Modellinformationen-Ausführvorrichtung, wie der Modellinformationen-Ausführvorrichtung 121, durchgeführt werden.
  • Bezugnehmend auf 7 bestimmt die Speichervorrichtung 10 in Operation S141, ob die Zuverlässigkeit eines Maschinenlernmodells gemäß extrahierten Modellinformationen eine Übertragungsbedingung erfüllt. Die Zuverlässigkeit des Modells kann durch Berücksichtigen von mindestens einem von der Präzision des Modells, dem Trainingsgrad des Modells und der Größe des Modells bestimmt werden. In einer Ausführungsform kann die Speichervorrichtung 10 durch Bestimmen, ob die Präzision des Modells größer oder gleich einem Schwellenwert ist, bestimmen, ob die Zuverlässigkeit des Modells die Übertragungsbedingung erfüllt. In einer Ausführungsform kann der Schwellenwert, der ein Bezug für die Präzision des Modells ist, ein vorgegebener Wert sein. Zusätzlich kann die Speichervorrichtung 10 durch Bestimmen, ob die Trainingsmenge des Modells größer oder gleich dem Schwellenwert ist, bestimmen, ob das Modell die Zuverlässigkeit erfüllt, und kann außerdem durch Bestimmen, ob die Größe des Modells, die umgekehrt proportional zu der Ausführungsgeschwindigkeit des Modells ist, kleiner oder gleich dem Schwellenwert ist, bestimmen, ob das Modell die Zuverlässigkeit erfüllt.
  • Wenn die Zuverlässigkeit des Modells die Bedingung erfüllt (Ja in Operation S141), formatiert die Speichervorrichtung 10 die extrahierten Modellinformationen derart, dass sie einem Übertragungsformat entsprechen, und überträgt die formatierten extrahierten Modellinformationen in Operation S143 an die Host-Vorrichtung. Wenn allerdings das Übertragungsformat und das interne Format der Speichervorrichtung 10 dasselbe sind, führt die Speichervorrichtung 10 keine separate Formatierungsoperation durch.
  • Wenn im Gegensatz dazu die Zuverlässigkeit des Modells die Bedingung nicht erfüllt (Nein in Operation S142), überträgt die Speichervorrichtung 10 in Operation S145 ein Ergebnis einer Bestimmung der Zuverlässigkeit des Modells. Zum Beispiel überträgt die Speichervorrichtung 10 in Operation S145 einen Antwortcode, der Informationen dazu enthält, dass die Zuverlässigkeit des Modells die Übertragungsbedingung nicht erfüllt.
  • 8 stellt ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte dar. 9 stellt ein Diagramm eines Formats des Ablagebefehls PCMD nach Ausführungsformen der erfinderischen Konzepte dar. 8 stellt ein Diagramm einer Operation zum Ablegen von Modellinformationen in der Speichervorrichtung 10 dar. Zum Beispiel kann Operation S230 von einem Prozessor, wie Prozessor 110 der Speichervorrichtung 10, durch Ausführen einer in den Speicher 120 geladenen Modellinformationen-Anordnungsvorrichtung, wie Modellinformationen-Anordnungsvorrichtung 123, durchgeführt werden.
  • Bezugnehmend auf 8 und 9 überträgt die Host-Vorrichtung 20 in Operation S210 den Ablagebefehl (engl. Put Command) PCMD an die Speichervorrichtung 10. In einer Ausführungsform kann der Ablagebefehl PCMD eine Befehlsidentifikationsvorrichtung (ID), eine Befehlsoption und eine Modellidentifikationsvorrichtung (ID) enthalten. Die Befehlsidentifikationsvorrichtung kann zum Beispiel angeben, ob der Befehl ein Abrufbefehl oder der Ablagebefehl PCMD ist, und die Modellidentifikationsvorrichtung kann ein Maschinenlernmodell angeben, das auf der Speichervorrichtung 10 anzuordnenden Modellinformationen entspricht.
  • Die Befehlsoption kann Informationen zu einem Verfahren zum Anordnen von im Anschluss an den Ablagebefehl PCMD übertragenen Modellinformationen enthalten. Zum Beispiel kann die Befehlsoption eine Option des Ablagebefehls PCMD hinsichtlich dessen, ob die im Anschluss an den Ablagebefehl PCMD übertragenen Modellinformationen in der Speichervorrichtung 10 gespeichert werden sollen, ob die übertragenen Modellinformationen in der Speichervorrichtung 10 gemäß einem Ergebnis eines Vergleichs der übertragenen Modellinformationen mit in der Speichervorrichtung 10 angeordneten Modellinformationen angeordnet werden sollen, oder ob die übertragenen Modellinformationen ohne Vergleichen der übertragenen Modellinformationen mit den in der Speichervorrichtung 10 angeordneten Modellinformationen in der Speichervorrichtung 10 angeordnet werden sollen, bedeuten. Zu diesem Zeitpunkt kann das Anordnen der Modellinformationen das Speichern der Modellinformationen für eine Verwendung, wenn ein entsprechendes Maschinenlernmodell ausgeführt wird, bedeuten.
  • In Operation S220 überträgt die Host-Vorrichtung 20 die Modellinformationen an die Speichervorrichtung 10. Zu diesem Zeitpunkt können die Modellinformationen aus einer anderen Speichervorrichtung als der Speichervorrichtung 10 extrahierte Modellinformationen sein.
  • Die Modellinformationen können dieselben sein wie die in 5B gezeigte Konfiguration der Modellinformationen. Das heißt, die Modellinformationen können Modelldaten und Modellmetadaten enthalten. Die Modelldaten können zum Beispiel eine Modellarchitektur und Modellparameter enthalten und die Modellmetadaten können Daten zu der Präzision eines Modells, der Trainingszeit des Modells und der Menge an Trainingsdaten des Modells enthalten.
  • In Operation S230 speichert die Speichervorrichtung 10 die Modellinformationen. Die in der Speichervorrichtung 10 gespeicherten Modellinformationen können Modellinformationen sein, die von der Host-Vorrichtung 20 empfangen werden und in ein internes Format der Speichervorrichtung 10 formatiert werden. In einer Ausführungsform kann die Speichervorrichtung 10 die Modellinformationen gemäß einer Befehlsoperation des Ablagebefehls PCMD vorübergehend in der Speichervorrichtung 10 speichern, kann die Modellinformationen gemäß einem Ergebnis eines Vergleichs der Modellinformationen mit den in der Speichervorrichtung 10 angeordneten Modellinformationen in der Speichervorrichtung 10 anordnen oder kann die Modellinformationen ohne Vergleichen der Modellinformationen mit den in der Speichervorrichtung 10 angeordneten Modellinformationen in der Speichervorrichtung 10 anordnen.
  • In Operation S240 überträgt die Speichervorrichtung 10 einen Antwortcode. Der Antwortcode kann ein Ergebnis einer Durchführung einer Operation gemäß dem von der Host-Vorrichtung 20 vorgesehenen Ablagebefehl PCMD angeben. Zum Beispiel kann der Antwortcode ein Ergebnis darüber angeben, ob die im Anschluss an den Ablagebefehl PCMD übertragenen Modellinformationen MI in der Speichervorrichtung 10 gespeichert sind.
  • 10 stellt ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte dar und stellt Details zu Operation S230 aus 8 dar. Operation S230 kann Operationen S231 bis S237 enthalten. Zum Beispiel kann Operation S230 von einem Prozessor, wie Prozessor 110, einer in 2A gezeigten Speichervorrichtung durch Ausführen einer in einen Speicher 120 geladenen Modellinformationen-Anordnungsvorrichtung, wie Modellinformationen-Anordnungsvorrichtung 123, durchgeführt werden.
  • Bezugnehmend auf 10 bestimmt die Speichervorrichtung in Operation S231 basierend auf von einer Host-Vorrichtung empfangenen Modellinformationen, ob der Trainingsgrad eines Maschinenlernmodells größer oder gleich einem Bezugswert ist. Zum Beispiel können Modellmetadaten der Modellinformationen Informationen zu der Trainingszeit des Modells oder der Menge an Trainingsdaten des Modells enthalten und die Speichervorrichtung kann basierend auf den Modellmetadaten bestimmen, ob der Trainingsgrad des Maschinenlernmodells größer oder gleich dem Bezugswert ist. In einer Ausführungsform kann der Bezugswert, der ein Bezug für den Trainingsgrad des Modells ist, ein vorgegebener Wert sein.
  • Wenn der Trainingsgrad des Modells größer oder gleich dem Bezugswert ist (Ja in Operation S231), speichert die Speichervorrichtung in Operation S233 die empfangenen Modellinformationen in einem Speichermedium (d.h. ordnet diese darin an). Zu diesem Zeitpunkt können die im Speichermedium angeordneten Modellinformationen in ein Format im Innern der Speichervorrichtung formatierte Modellinformationen sein.
  • Wenn im Gegensatz dazu der Trainingsgrad des Modells kleiner ist als der Bezugswert (Nein in Operation S231), führt die Speichervorrichtung in Operation S235 eine Modelltrainingsoperation unter Verwendung der empfangen Modellinformationen durch. Die Speichervorrichtung kann den Trainingsgrad des Maschinenlernmodells, das den empfangenen Modellinformationen entspricht, durch Durchführen der Modelltrainingsoperation erhöhen. Die Speichervorrichtung kann zum Beispiel den Trainingsgrad derart erhöhen, dass der Trainingsgrad des Modells größer oder gleich dem Bezugswert ist. Zum Beispiel kann Operation S235 durch einen Prozessor, wie Prozessor 110, der Speichervorrichtung aus 2A durch Ausführen einer in den Speicher 120 geladenen Modelltrainingsvorrichtung, wie Modelltrainingsvorrichtung 125, durchgeführt werden.
  • In Operation S237 speichert die Speichervorrichtung die modifizierten Modellinformationen im Speichermedium (d.h. ordnet diese darin an). Während die Modelltrainingsoperation in Operation S235 durchgeführt wird, können die Modellinformationen modifiziert werden. Zum Beispiel können die Modelldaten und/oder Modellmetadaten, die in den Modellinformationen enthalten sind, in Operation S235 modifiziert werden und die modifizierten Modellinformationen können in Operation S237 im Speichermedium angeordnet werden.
  • Das Speichersystem nach den erfinderischen Konzepten kann einen Trainingsgrad eines Modells bestimmen, wenn Modellinformationen einer anderen Speichervorrichtung in einer spezifischen Speichervorrichtung angeordnet werden, und kann eine zusätzliche Modelltrainingsoperation durchführen, wenn der Trainingsgrad des Modells einen Bezugswert nicht erfüllt. Somit kann das Speichersystem die Performance des Maschinenlernmodells durch Durchführen einer zusätzlichen Modelltrainingsoperation, wenn die Modellinformationen in der Speichervorrichtung platziert werden, sicherstellen.
  • 11 stellt ein Flussdiagramm eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte dar und stellt Details zu Operationen S230 und S240 aus 8 dar. Operation S230A enthält Operationen S231A und S233A und Operation S240 enthält Operationen S241 und S243. Operation S230A kann zum Beispiel durch einen Prozessor, wie Prozessor 110, einer Speichervorrichtung aus 2A durch Ausführen einer in den Speicher 120 geladenen Modellinformationen-Anordnungsvorrichtung, wie Modellinformationen-Anordnungsvorrichtung 123, durchgeführt werden.
  • Bezugnehmend auf 11 bestimmt die Speichervorrichtung in Operation S231A, ob die Zuverlässigkeit eines Maschinenlernmodells, das von einer Host-Vorrichtung empfangenen Modellinformationen entspricht, höher ist als die Zuverlässigkeit eines Maschinenlernmodells, das in der Speichervorrichtung gespeicherten Modellinformationen entspricht. Zum Beispiel kann die Zuverlässigkeit des Modells durch Berücksichtigen von mindestens einem der Präzision des Modells, dem Trainingsgrad des Modells und der Größe des Modells bestimmt werden.
  • Wenn die Zuverlässigkeit des Modells, das den empfangenen Modellinformationen entspricht, höher ist als die Zuverlässigkeit des bestehenden Modells (Ja in Operation S231A), speichert die Speichervorrichtung in Operation S233A die empfangenen Modellinformationen in einem Speichermedium (d.h. ordnet diese darin an). Zu diesem Zeitpunkt können die im Speichermedium abgelegten Modellinformationen in ein Format im Innern der Speichervorrichtung formatierte Modellinformationen sein. In Operation S241 überträgt die Speichervorrichtung einen Antwortcode, der einen Anordnungserfolg der empfangenen Modellinformationen angibt.
  • Währenddessen, wenn die Zuverlässigkeit des Modells, das den empfangenen Modellinformationen entspricht, kleiner ist als die Zuverlässigkeit des bestehenden Modells, kann die Speichervorrichtung die bestehenden Modellinformationen aufrechterhalten, ohne die empfangenen Modellinformationen zu speichern. In Operation S243 kann die Speichervorrichtung einen Antwortcode eines Anordnungsfehlers der empfangen Modellinformationen übertragen.
  • Das Speichersystem nach den erfinderischen Konzepten kann die Zuverlässigkeit des bestehenden Modells mit der Zuverlässigkeit eines neuen Modells vergleichen, wenn neue Modellinformationen einer anderen Speichervorrichtung in einer spezifischen Speichervorrichtung angeordnet werden, und kann, wenn das neue Modell als effizienter bestimmt wird, die neuen Modellinformationen anordnen. Somit kann das Speichersystem eine Operation zum Speichern von Modellinformationen mit niedriger Performance in der Speichervorrichtung verhindern und die Performance des Maschinenlernmodells der Speichervorrichtung kann gewährleistet werden.
  • 12A und 12B stellen Flussdiagramme eines Betriebsverfahrens eines Speichersystems nach Ausführungsformen der erfinderischen Konzepte dar. Zum Beispiel können Operationen S320 und S330 aus 12A durch einen Prozessor, wie Prozessor 110, der Speichervorrichtung 10 durch Ausführen einer in einen Speicher 120 geladenen Modelltrainingsvorrichtung, wie der in 2B gezeigten Modelltrainingsvorrichtung 125_2, durchgeführt werden und Operationen S420 und S430 aus 12B können durch den Prozessor der Speichervorrichtung 10 durch Ausführen einer in den Speicher geladenen Modellinferenzvorrichtung, wie Modellinferenzvorrichtung 125_1, durchgeführt werden.
  • Bezugnehmend auf 12A überträgt die Host-Vorrichtung 20 in Operation S310 einen Modelltrainingsbefehl an die Speichervorrichtung 10. In Operation S320 liest die Speichervorrichtung 10 als Reaktion auf den Modelltrainingsbefehl Modellinformationen aus einem Speichermedium. In Operation S330 führt die Speichervorrichtung 10 eine Modelltrainingsoperation unter Verwendung der gelesenen Modellinformationen durch. Während die Modelltrainingsoperation durchgeführt wird, kann sich der Trainingsgrad eines Maschinenlernmodells erhöhen und die Präzision des Maschinenlernmodells kann sich erhöhen. Das Speichersystem nach den erfinderischen Konzepten kann das Maschinenlernmodell im Innern der Speichervorrichtung 10 trainieren und kann die Modelltrainingsoperation periodisch durchführen.
  • Bezugnehmend auf 12B überträgt die Host-Vorrichtung 20 in Operation S410 einen Modellinferenzbefehl an die Speichervorrichtung 10. Der Modellinferenzbefehl kann zum Beispiel ein Befehl zum Aktivieren eines entsprechenden Maschinenlernmodells sein.
  • In Operation S420 liest die Speichervorrichtung 10 als Reaktion auf den Modellinferenzbefehl Modellinformationen aus dem Speichermedium. In Operation S430 führt die Speichervorrichtung 10 eine Modellinferenzoperation unter Verwendung der gelesenen Modellinformationen durch. Die Speichervorrichtung 10 kann Aufgaben gemäß einer Zugriffsanforderung von der Host-Vorrichtung 20 durch die Modellinferenzoperation planen oder kann verschiedene Schwellenwerte und Parameter, welche für die Operation der Speichervorrichtung 10 verwendet werden, erhalten.
  • Zusätzlich zu dem Modelltrainingsbefehl und dem Modellinferenzbefehl, die in 12A und 12B beschrieben werden, kann die Host-Vorrichtung 20 verschiedene Befehle im Zusammenhang mit dem Maschinenlernmodell an die Speichervorrichtung 10 übertragen. Zum Beispiel kann die Host-Vorrichtung 20 einen Befehl zum Erhalten der Anzahl an gegenwärtig in die Speichervorrichtung 10 heruntergeladenen Maschinenlernmodellen und von Informationen zu Maschinenlernmodellen an die Speichervorrichtung 10 übertragen und die Speichervorrichtung 10 kann die Anzahl der gegenwärtig heruntergeladenen Maschinenlernmodelle und die Informationen der Maschinenlernmodelle als Reaktion auf den Befehl an die Host-Vorrichtung 20 übertragen.
  • Allerdings kann die Speichervorrichtung 10 nach den erfinderischen Konzepten die Modelltrainingsoperation allein durchführen, selbst wenn die Speichervorrichtung 10 nach den erfinderischen Konzepten keinen Modelltrainingsbefehl von der Host-Vorrichtung 20 empfängt. Wenn zum Beispiel bestimmt wird, dass der Trainingsgrad des Modells kleiner ist als ein interner Bezugstrainingsgrad, kann die Speichervorrichtung 10 die Modelltrainingsoperation an dem darin gespeicherten Maschinenlernmodell durchführen, der Trainingsgrad des Maschinenlernmodells kann sich erhöhen und die Präzision des Maschinenlernmodells kann sich erhöhen.
  • Außerdem kann die Speichervorrichtung 10 die Modellinferenzoperation allein durchführen, selbst wenn die Speichervorrichtung 10 keinen Modellinferenzbefehl von der Host-Vorrichtung 20 empfängt. Zum Beispiel kann die Host-Vorrichtung 20 die Modellinferenzoperation unter Verwendung eines Maschinenlernmodells, das einer internen Operation entspricht, durchführen, um die interne Operation durchzuführen.
  • 13 stellt ein Blockdiagramm eines Systems, auf welches das Speichersystem 1000 nach Ausführungsformen der erfinderischen Konzepte angewandt wird, dar.
  • Bezugnehmend auf 13 kann das Speichersystem 1000 die Host-Vorrichtung 20 und die Speichervorrichtung 10 enthalten und die Host-Vorrichtung 20 kann Modellinformationen von der Speichervorrichtung 10 empfangen. Die Host-Vorrichtung 20 kann die Modellinformationen an ein Cloud-System 2000 übertragen. Die an das Cloud-System 2000 übertragenen Modellinformationen können Modellinformationen sein, die von der Speichervorrichtung 10 empfangen werden und in ein Übergangsformat, das dem Cloud-System 2000 entspricht, formatiert werden.
  • Ein Modellspeicher 3000 einer Cloud-Umgebung kann die Modellinformationen des Maschinenlernmodells verwalten und die Modellinformationen gemäß einer Anforderung des Speichersystems 1000 vorsehen. Das Speichersystem 1000 kann die Modellinformationen aus dem Modellspeicher 3000 herunterladen.
  • In 13 wird lediglich ein Speichersystem 1000 als mit dem Cloud-System 2000 verbunden gezeigt, allerdings kann eine Mehrzahl an Speichersystemen mit dem Cloud-System 2000 verbunden sein. Der Modellspeicher 3000 der Cloud-Umgebung kann Modellinformationen für jeden Typ der Mehrzahl an Speichersystemen verwalten. Dementsprechend können die Modellinformationen des Speichersystems 1000 an ein anderes Speichersystem übertragen werden, oder umgekehrt, Modellinformationen eines anderen Speichersystems können aus dem Speichersystem 1000 heruntergeladen werden. Wenn zum Beispiel die Laufzeit des Speichersystems 1000 als abgelaufen erachtet wird, können Modellinformationen des Speichersystems 1000 durch das Cloud-System 2000 in anderen Speichersystemen recycelt werden.
  • Obwohl die erfinderischen Konzepte mit Bezug auf Ausführungsformen davon besonders gezeigt und beschrieben worden sind, versteht es sich, dass verschiedene Änderungen in Form und Details darin vorgenommen werden können, ohne dabei von der Idee und Umfang der nachfolgenden Ansprüche abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 1020200015210 [0001]

Claims (20)

  1. Speichervorrichtung, aufweisend: ein Speichermedium, das Modellinformationen eines Maschinenlernmodells speichert; und einen Speichercontroller, der konfiguriert ist, eine Operation der Speichervorrichtung unter Verwendung des Maschinenlernmodells zu steuern, wobei der Speichercontroller beim Empfangen, von einer Host-Vorrichtung, eines Abrufbefehls zum Extrahieren der Modellinformationen aus dem Speichermedium ferner konfiguriert ist, die Modellinformationen als Reaktion auf den Abrufbefehl aus dem Speichermedium zu lesen und die Modellinformationen an die Host-Vorrichtung zu übertragen.
  2. Speichervorrichtung nach Anspruch 1, wobei der Abrufbefehl einen Befehlsidentifikator und einen Identifikator des Maschinenlernmodells aufweist.
  3. Speichervorrichtung nach Anspruch 1, wobei die Modellinformationen Modelldaten und Modellmetadaten aufweisen, wobei die Modelldaten eine Modellarchitektur des Maschinenlernmodells und Modellparameter des Maschinenlernmodells aufweisen, und wobei die Modellmetadaten Informationen zu einer Präzision des Maschinenlernmodells und einen Trainingsgrad des Maschinenlernmodells aufweisen.
  4. Speichervorrichtung nach Anspruch 3, wobei der Speichercontroller ferner konfiguriert ist, basierend auf mindestens der Präzision oder dem Trainingsgrad zu bestimmen, ob eine Zuverlässigkeit des Maschinenlernmodells eine Übertragungsbedingung erfüllt, und in einem Fall, in dem die Zuverlässigkeit des Maschinenlernmodells die Übertragungsbedingung erfüllt, die Modellinformationen derart zu formatieren, dass sie einem Übertragungsformat entsprechen, und die formatierten Modellinformationen an die Host-Vorrichtung zu übertragen.
  5. Speichervorrichtung nach Anspruch 1, wobei der Speichercontroller beim Empfangen, von einer Host-Vorrichtung, eines Ablagebefehls zum Anordnen der Modellinformationen und von neuen Modellinformationen ferner konfiguriert ist, die neuen Modellinformationen als Reaktion auf den Ablagebefehl im Speichermodul zu speichern.
  6. Speichervorrichtung nach Anspruch 5, wobei der Ablagebefehl einen Befehlsidentifikator, eine Befehlsoption, die Informationen aufweist, die angeben, wie die neuen Modellinformationen angeordnet werden sollen, und einen Identifikator eines Maschinenlernmodells, das den neuen Modellinformationen entspricht, aufweist.
  7. Speichervorrichtung nach Anspruch 5, wobei in einem Fall, in dem ein Trainingsgrad eines Maschinenlernmodells, das den neuen Modellinformationen entspricht, kleiner ist als ein Bezugswert, der Speichercontroller ferner konfiguriert ist, das Maschinenlernmodell, das den neuen Modellinformationen entspricht, unter Verwendung der neuen Modellinformationen zu trainieren, und modifizierte Modellinformationen durch das Training des Maschinenlernmodells, das den neuen Modellinformationen entspricht, im Speichermedium zu speichern.
  8. Speichervorrichtung nach Anspruch 5, wobei der Speichercontroller ferner konfiguriert ist, die neuen Modellinformationen nach einem Ergebnis eines Vergleichs einer Modellzuverlässigkeit eines Maschinenlernmodells, das den neuen Modellinformationen entspricht, und einer Modellzuverlässigkeit des Maschinenlernmodells, das dem im Speichermedium gespeicherten Maschinenlernmodell entspricht, im Speichermedium zu speichern.
  9. Speichervorrichtung nach Anspruch 1, wobei der Speichercontroller beim Empfangen, von einer Host-Vorrichtung, eines Modelltrainingsbefehls ferner konfiguriert ist, das Maschinenlernmodell als Reaktion auf den Modelltrainingsbefehl zu trainieren.
  10. Speichersystem, aufweisend: eine erste Speichervorrichtung und eine zweite Speichervorrichtung, die jeweils Modellinformationen eines Maschinenlernmodells speichern; und eine Host-Vorrichtung, die konfiguriert ist, Operationen der ersten Speichervorrichtung und der zweiten Speichervorrichtung zu verwalten, wobei die Host-Vorrichtung ferner konfiguriert ist, einen Abrufbefehl zum Extrahieren der Modellinformationen an die erste Speichervorrichtung zu übertragen, wenn die erste Speichervorrichtung in einem Fehlerzustand ist, und wobei die erste Speichervorrichtung ferner konfiguriert ist, die in der ersten Speichervorrichtung gespeicherten Modellinformationen als Reaktion auf den Abrufbefehl zu extrahieren und die Modellinformationen an die Host-Vorrichtung zu übertragen.
  11. Speichersystem nach Anspruch 10, wobei die Host-Vorrichtung ferner konfiguriert ist, den Abrufbefehl zum Extrahieren der Modellinformationen an die erste Speichervorrichtung zu übertragen, wenn die erste Speichervorrichtung nicht imstande ist, eine Datenleseoperation und eine Datenschreiboperation durchzuführen.
  12. Speichersystem nach Anspruch 10, wobei die Host-Vorrichtung ferner konfiguriert ist, den Abrufbefehl zum Extrahieren der Modellinformationen an die erste Speichervorrichtung zu übertragen, wenn die erste Speichervorrichtung imstande ist, lediglich eine Datenleseoperation und nicht eine Datenschreiboperation durchzuführen, und eine in der ersten Speichervorrichtung enthaltene Anzahl an schlechten Blöcken einen Schwellenwert übersteigt.
  13. Speichersystem nach Anspruch 10, wobei die Host-Vorrichtung ferner konfiguriert ist, einen Ablagebefehl zum Anordnen der Modellinformationen und der aus der ersten Speichervorrichtung extrahierten Modellinformationen an die zweite Speichervorrichtung zu übertragen.
  14. Speichersystem nach Anspruch 13, wobei in einem Fall, in dem ein Trainingsgrad eines Maschinenlernmodells, das den Modellinformationen entspricht, kleiner ist als ein Bezugswert, die zweite Speichervorrichtung ferner konfiguriert ist, das Maschinenlernmodell, das den mit dem Ablagebefehl übertragenen Modellinformationen entspricht, unter Verwendung der mit dem Ablagebefehl übertragenen Modellinformationen zu trainieren, und modifizierte Modellinformationen durch das Training des Maschinenlernmodells, das den mit dem Ablagebefehl übertragenen Modellinformationen entspricht, in der zweiten Speichervorrichtung zu speichern.
  15. Speichersystem nach Anspruch 13, wobei in einem Fall, in dem eine Modellzuverlässigkeit der mit dem Ablagebefehl übertragenen Modellinformationen höher ist als eine Modellzuverlässigkeit der in der zweiten Speichervorrichtung gespeicherten Modellinformationen, die zweite Speichervorrichtung ferner konfiguriert ist, die mit dem Ablagebefehl übertragenen Modellinformationen zu speichern, und in einem Fall, in dem die Modellzuverlässigkeit der mit dem Ablagebefehl übertragenen Modellinformationen niedriger ist als die Modellzuverlässigkeit der in der zweiten Speichervorrichtung gespeicherten Modellinformationen, die zweite Speichervorrichtung ferner konfiguriert ist, einen Antwortcode eines Anordnungsoperationsversagens nach dem Ablagebefehl an die Host-Vorrichtung zu übertragen.
  16. Betriebsverfahren eines Speichersystems, das eine Mehrzahl an Speichervorrichtungen und eine Host-Vorrichtung, die konfiguriert ist, Operationen der Mehrzahl an Speichervorrichtungen zu verwalten, aufweist, wobei das Betriebsverfahren aufweist: Bestimmen, durch die Host-Vorrichtung, dass eine erste Speichervorrichtung aus der Mehrzahl an Speichervorrichtungen, die Modellinformationen zu einem Maschinenlernmodell speichert, in einem Fehlerzustand ist; Übertragen, durch die Host-Vorrichtung, eines Abrufbefehls zum Extrahieren der Modellinformationen an die erste Speichervorrichtung; Übertragen, durch die erste Speichervorrichtung, der Modellinformationen an die Host-Vorrichtung als Reaktion auf den Abrufbefehl; und Neuanordnen, durch die Host-Vorrichtung, der Modellinformationen in einer zweiten Speichervorrichtung aus der Mehrzahl an Speichervorrichtungen mit Ausnahme der ersten Speichervorrichtung.
  17. Betriebsverfahren nach Anspruch 16, wobei das Bestimmen der ersten Speichervorrichtung im Fehlerzustand aufweist: Bestimmen, ob die erste Speichervorrichtung zum Durchführen einer Schreiboperation imstande ist; Bestimmen, ob die erste Speichervorrichtung zum Durchführen einer Leseoperation imstande ist; und Bestimmen, dass die erste Speichervorrichtung im Fehlerzustand ist, wenn die erste Speichervorrichtung nicht zum Durchführen der Schreiboperation und der Leseoperation imstande ist.
  18. Betriebsverfahren nach Anspruch 16, wobei das Übertragen der Modellinformationen aufweist: Bestimmen, ob eine Zuverlässigkeit des Maschinenlernmodells eine Übertragungsbedingung erfüllt, basierend auf mindestens einem von einer Präzision des Maschinenlernmodells und einem Trainingsgrad des Maschinenlernmodells, die in den Modellinformationen enthalten sind; und in einem Fall, in dem die Zuverlässigkeit des Maschinenlernmodells die Übertragungsbedingung erfüllt, Formatieren der Modellinformationen derart, dass sie einem Übertragungsformat entsprechen, und Übertragen der formatierten Modellinformationen an die Host-Vorrichtung.
  19. Betriebsverfahren nach Anspruch 16, wobei das Neuanordnen der Modellinformationen aufweist: die Host-Vorrichtung, die einen Ablagebefehl zum Anordnen der Modellinformationen und die Modellinformationen in die zweite Speichervorrichtung überträgt; und die zweite Speichervorrichtung, welche die Modellinformationen als Reaktion auf den Ablagebefehl speichert.
  20. Betriebsverfahren nach Anspruch 19, wobei das Speichern der Modellinformationen aufweist: Trainieren des Maschinenlernmodells unter Verwendung der Modellinformationen; und Speichern von durch das Training des Maschinenlernmodells modifizierten Modellinformationen.
DE102020126409.7A 2020-02-07 2020-10-08 Speichervorrichtung zum Speichern von Modellinformationen, die Speichervorrichtung enthaltendes Speichersystem und Betriebsverfahren des Speichersystems Pending DE102020126409A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200015210A KR102304929B1 (ko) 2020-02-07 2020-02-07 모델 정보를 저장하는 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템 및 스토리지 시스템의 동작 방법
KR10-2020-0015210 2020-02-07

Publications (1)

Publication Number Publication Date
DE102020126409A1 true DE102020126409A1 (de) 2021-08-12

Family

ID=76968856

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020126409.7A Pending DE102020126409A1 (de) 2020-02-07 2020-10-08 Speichervorrichtung zum Speichern von Modellinformationen, die Speichervorrichtung enthaltendes Speichersystem und Betriebsverfahren des Speichersystems

Country Status (4)

Country Link
US (1) US11740829B2 (de)
KR (1) KR102304929B1 (de)
CN (1) CN113254369A (de)
DE (1) DE102020126409A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023085819A1 (en) * 2021-11-12 2023-05-19 Samsung Electronics Co., Ltd. Method and system for adaptively streaming artificial intelligence model file
KR102484073B1 (ko) * 2021-11-22 2023-01-02 삼성전자주식회사 스토리지 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200015210A (ko) 2018-08-03 2020-02-12 에스케이텔레콤 주식회사 LoRa 네트워크 서비스 방법 및 장치, LoRa 네트워크 단말장치의 통신 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892276B2 (en) 2002-11-26 2005-05-10 Lsi Logic Corporation Increased data availability in raid arrays using smart drives
US9239786B2 (en) 2012-01-18 2016-01-19 Samsung Electronics Co., Ltd. Reconfigurable storage device
US20160148115A1 (en) 2014-11-26 2016-05-26 Microsoft Technology Licensing Easy deployment of machine learning models
US10225365B1 (en) 2014-12-19 2019-03-05 Amazon Technologies, Inc. Machine learning based content delivery
US10254751B2 (en) * 2015-06-05 2019-04-09 Uptake Technologies, Inc. Local analytics at an asset
US20170169358A1 (en) 2015-12-09 2017-06-15 Samsung Electronics Co., Ltd. In-storage computing apparatus and method for decentralized machine learning
CN107316083B (zh) 2017-07-04 2021-05-25 北京百度网讯科技有限公司 用于更新深度学习模型的方法和装置
KR20190043411A (ko) 2017-10-18 2019-04-26 삼성전자주식회사 스토리지 장치, 스토리지 장치를 포함하는 컴퓨팅 시스템, 그리고 스토리지 장치의 동작 방법
US10394706B2 (en) 2017-11-02 2019-08-27 Western Digital Technologies, Inc. Non-volatile storage with adaptive command prediction
US10459844B2 (en) 2017-12-21 2019-10-29 Western Digital Technologies, Inc. Managing flash memory read operations
US20190250998A1 (en) 2018-02-14 2019-08-15 Commvault Systems, Inc. Machine-learning based data object retrieval
US20210141697A1 (en) 2018-03-06 2021-05-13 DinoplusAI Holdings Limited Mission-Critical AI Processor with Multi-Layer Fault Tolerance Support
US10296258B1 (en) 2018-03-09 2019-05-21 Pure Storage, Inc. Offloading data storage to a decentralized storage network
CN110502184B (zh) 2018-05-17 2021-01-05 杭州海康威视系统技术有限公司 一种存储数据的方法、读取数据的方法、装置及系统
US11010314B2 (en) * 2018-10-30 2021-05-18 Marvell Asia Pte. Ltd. Artificial intelligence-enabled management of storage media access
US11475255B2 (en) * 2019-08-30 2022-10-18 Kabushiki Kaisha Toshiba Method for adaptive context length control for on-line edge learning

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200015210A (ko) 2018-08-03 2020-02-12 에스케이텔레콤 주식회사 LoRa 네트워크 서비스 방법 및 장치, LoRa 네트워크 단말장치의 통신 방법

Also Published As

Publication number Publication date
KR102304929B1 (ko) 2021-09-24
US20210247924A1 (en) 2021-08-12
KR20210101062A (ko) 2021-08-18
US11740829B2 (en) 2023-08-29
CN113254369A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
DE102020112512A1 (de) Datenspeichergerät und Betriebsverfahren dafür
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE102019117787B4 (de) Speichervorrichtung und Betriebsverfahren derselben
DE102013016609A1 (de) Vorrichtung und Verfahren für ein Storage Class Memory mit niedrigem Energieverbrauch, niedriger Latenz und hoher Kapazität
DE102012112354A1 (de) Speichervorrichtung und nichtflüchtige Speichervorrichtung sowie Betriebsverfahren davon
DE112008001151B4 (de) Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren
DE102019128491A1 (de) Betriebsverfahren für Open-Channel-Speichervorrichtung
DE102016009807A1 (de) Korrelieren von physikalischen seitenadressen für soft-decision-dekodierung
DE102008036822A1 (de) Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem
DE112020005787T5 (de) Verbesserte dateisystem-unterstützung für zonen-namespace-speicher
DE102018123880A1 (de) Adaptive Verwaltung von Zwischenspeichern
DE102017114078A1 (de) Fehlerabschwächung für 3d-nand-flash-speicher
DE112019000161T5 (de) Speicher-cache-verwaltung
DE102021118940A1 (de) Speichersteuerung und speichereinrichtung mit derselben
DE102018123494A1 (de) Speichervorrichtung, die zum aktualisieren einesfeldprogrammierbaren gate-arrays ausgestaltetist, und betriebsverfahren dafür
DE102020126409A1 (de) Speichervorrichtung zum Speichern von Modellinformationen, die Speichervorrichtung enthaltendes Speichersystem und Betriebsverfahren des Speichersystems
DE112021000776T5 (de) Verwaltung von schreib-operationen in einer nichtflüchtigen speichervorrichtung unter verwendung eines variablen vor-lese-spannungspegels
DE102019135863A1 (de) Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren
DE112016002305T5 (de) Reduktion der Schreibverstärkung in einem Objektspeicher
DE102021006246A1 (de) Doppelt verschachtelte Programmierung einer Speichervorrichtung in einem Speicher-Untersystem
DE102022101607A1 (de) Verwaltung der hostspeicherpufferzuweisung
DE102019127080A1 (de) Speichersystem und Betriebsverfahren dafür
DE112021001848T5 (de) Mehrere pinkonfigurationen von speichervorrichtungen
DE102021121974A1 (de) Speicher-steuereinheit und speichersystem, welches diese enthält
DE102022209756A1 (de) Speichervorrichtung und speichersystem zum programmieren von daten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009440000

Ipc: G06F0013140000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0013140000

Ipc: G06F0013120000

R016 Response to examination communication