Storage device for storing model information, storage system including the storage device, and method of operating the storage system

The storage system addresses the challenge of updating and transferring machine learning models across devices by managing operations to transfer model information, ensuring continuous model usage and functionality.

DE102020126409B4Active Publication Date: 2025-10-16SAMSUNG ELECTRONICS CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE102020126409
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-02-07
Filing Date
2020-10-08
Publication Date
2025-10-16
Estimated Expiration
2040-10-08

AI Technical Summary

Technical Problem

Storage devices struggle to update or transfer machine learning models due to failure states, leading to discontinuity in model usage across different devices.

Method used

A storage system and method that allows a host device to manage operations of multiple storage devices, extracting and transferring model information from a failing device to a functioning one, ensuring continuous use of machine learning models by formatting and arranging model data and metadata across devices.

Benefits of technology

Ensures continuous operation of machine learning models by seamlessly transferring and updating model information between storage devices, maintaining model integrity and functionality even in failure scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Storage device (10), comprising: a storage medium (200) that stores model information of a machine learning model; and a memory controller (100) configured to control an operation of the memory device using the machine learning model, wherein the storage controller (100), upon receiving from a host device (20) a retrieval command for extracting the model information from the storage medium, is further configured to transmit the model information to the host device (20) in response to the retrieval command, where the model information is changed while a model training operation is performed, where the model information comprises model data and model metadata, wherein the model data comprises a model architecture of the machine learning model and model parameters of the machine learning model, and where the model metadata contains information about a precision of the machine learning model and a training level of the machine learning model.
Need to check novelty before this filing date? Find Prior Art

Description

background

[0001] The present disclosure relates to storage devices, storage systems including storage devices, and methods of operating the storage systems, and more particularly to storage devices for storing model information of a machine learning model, storage systems including the storage devices, and methods of operating the storage systems.

[0002] Non-volatile memory can protect stored data even when power is interrupted. Recently, storage devices containing flash-based non-volatile memory, such as embedded multimedia cards (eMMC), universal flash memory (UFS), solid-state drives (SSDs), and memory cards, have been most commonly used to store or move large amounts of data.

[0003] Storage devices can obtain condition information required for internal operations of the storage devices by using a stored machine learning model. For example, a storage device can detect a condition for scheduling a garbage collection operation using a machine learning model. However, the problem is that a prior art storage device may not be able to update a machine learning model stored in advance during manufacturing.

[0004] US 2019 / 0 114 078 A1 discloses: A storage device comprises a non-volatile storage device, a controller, a processor, and a memory interface. The non-volatile memory device comprises first memory blocks for storing a plurality of machine learning-based models and second memory blocks configured to store user data. The controller selects one of the machine learning-based models based on a model selection request. The processor loads model data associated with the selected model and schedules a task associated with the non-volatile memory device based on the selected model. The memory interface accesses the second memory blocks of the non-volatile memory device based on the scheduled tasks.

[0005] US 2004 / 0 103 246 A1 discloses: A method includes receiving a SMART indication from a data storage device belonging to a plurality of data storage devices configured as a RAID array. Data from the data storage device originating the SMART indication is replicated to a second data storage device. The second data storage device was not originally configured for data storage in the RAID array with the plurality of data storage devices. The data storage device originating the SMART indication is removed from the RAID array, so that the second data storage device and the plurality of data storage devices are configured as a RAID array.

[0006] BISHOP, Christopher M.: Pattern Recognition and Machine Learning. New York: Springer, 2006. P. 237. - ISBN 978-0-387-31073-2 refers to pattern recognition and machine learning.

[0007] WO 2019 / 173 075 A1 relates to a mission-critical artificial intelligence (AI) processor (MAIP) comprising several types of hardware elements (HEs), including one or more HEs configured to perform operations associated with multi-layer neural network (NN) processing, at least one spare HE, a data buffer to store correctly computed data in a previous layer of the multi-layer NN processing, and fault tolerance (FT) control logic.The FT control logic is configured to: determine an error in a current layer of NN processing associated with the HE; cause the correctly computed data in the previous layer of multi-layer NN processing to be copied or moved to the at least one replacement HE; and cause the at least one replacement HE to perform the current layer of NN processing using the at least one replacement HE and the correctly computed data in the previous layer of multi-layer NN processing. Summary

[0008] Embodiments of the inventive concepts provide a storage device capable of consistently using model information of a machine learning model between different storage devices, a system including the storage device, and a method of operating the storage system.

[0009] Embodiments of the inventive concepts provide a storage device including a storage medium storing model information of a machine learning model; and a storage controller that controls an operation of the storage device using the machine learning model. Upon receiving a retrieval command for extracting the model information from the storage medium from a host device, the storage controller reads the model information from the storage medium in response to the retrieval command and transmits the model information to the host device.

[0010] Embodiments of the inventive concept further provide a storage system including a first storage device and a second storage device, each storing model information of a machine learning model; and a host device that manages operations of the first storage device and the second storage device. The host device transmits a retrieval command for extracting the model information to the first storage device when the first storage device is in a fault state. The first storage device extracts the model information stored in the first storage device in response to the retrieval command and transmits the model information to the host device.

[0011] Embodiments of the inventive concepts further provide an operating method of a storage system including a plurality of storage devices and a host device managing operations of the plurality of storage devices. The method includes determining, by the host device, that a first storage device, among the plurality of storage devices, that stores model information about a machine learning model is in a faulty state; transmitting, by the host device, a retrieval command for extracting the model information to the first storage device; transmitting, by the first storage device, the model information to the host device in response to the retrieval command; and rearranging, by the host device, the model information in a second storage device, among the plurality of storage devices excluding the first storage device.

[0012] Embodiments of the inventive concepts also provide a storage system including a plurality of storage devices, each storing model information of a machine learning model; and a host device that manages operations of the plurality of storage devices. The host device extracts the model information of a faulty storage device from the plurality of storage devices and transmits the extracted model information to another storage device from the plurality of storage devices, the other storage device being in a normal operating state. Short description of the drawings

[0013] For a clearer understanding of the embodiments of the inventive concepts, the following detailed description in conjunction with the accompanying drawings provides: Fig. 1 illustrates a block diagram of a memory system according to embodiments of the inventive concepts; Fig. 2A is a block diagram illustrating a memory device according to embodiments of the inventive concepts; Fig. 2B is a diagram of a memory device made of Fig. 2A illustrates a loaded model executor according to embodiments of the inventive concepts; Fig. 3 illustrates a block diagram of a storage medium of a storage device according to embodiments of the inventive concepts; Fig. 4 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts; Fig. 5A and Fig. 5B illustrates diagrams of a format of a fetch command and a format of a response according to the fetch command, according to embodiments of the inventive concepts; Fig. 6 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts; Fig. 7 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts; Fig. 8 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts; Fig. 9 illustrates a diagram of a format of a filing command according to embodiments of the inventive concepts; Fig. 10 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts; Fig. 11 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts; Fig. 12A and Fig. 12B illustrate flowcharts of a method of operation of a memory system according to embodiments of the inventive concepts; and Fig. 13 illustrates a block diagram of a system to which the memory system according to embodiments of the inventive concepts may be applied. Detailed description of the embodiments

[0014] Embodiments of the inventive concepts will be described in detail below with reference to the accompanying drawings.

[0015] As is conventional in the field of inventive concepts, embodiments may be described and illustrated with respect to blocks that perform a described function or functions. These blocks, which may be referred to herein as units or modules or the like, are implemented by analog and / or digital circuits, such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hard-wired circuits and the like, and may optionally be driven by firmware and / or software. The circuits may, for example, be embodied in one or more semiconductor chips or on substrate carriers, such as a printed circuit board and the like. The circuits forming a block may be implemented by dedicated hardware or by a processor (e.g.one or more programmed microprocessors and associated circuitry) or by a combination of dedicated hardware to perform some functions of the block and a processor to perform other functions of the block. Each block of the embodiments may be physically divided into two or more interacting and discrete blocks without departing from the scope of the inventive concepts. Likewise, the blocks of the embodiments may be physically combined into multiple complex blocks without departing from the scope of the inventive concepts.

[0016] Fig. 1 illustrates a block diagram of a memory system 1000 according to embodiments of the inventive concepts.

[0017] The storage system 1000 may be implemented, for example, as a computer (PC), a data server, a network attached storage (NAS), an Internet of Things (IoT) device, or a portable electronic device. The portable electronic device may include, for example, a laptop, a mobile phone, a smartphone, a tablet, a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, a digital video camera, an audio device, a portable multimedia player (PMP), a personal navigation device (PND), an MP3 player, a handheld game console, an e-book, or a wearable device, among various other devices.

[0018] Referring to Fig. 1, the storage system 1000 may include first to k-th storage devices 10_1, 10_2 to 10_k (i.e., 10_1 to 10_k) and a host device 20. The host device 20 may manage the overall operation of the storage system 1000. For example, k may be a natural number of 3 or more, but the inventive concepts are not limited thereto, as the storage system 1000 may include two storage devices connected to a host device 20.

[0019] In one embodiment, storage system 1000 may be a redundant array of low-cost disks (RAID) storage system, and the first through k-th storage devices 10_1 through 10_k may form a RAID area. That is, host device 20 may perform RAID reconstruction using data constituting a RAID stripe and RAID parity in the first through k-th storage devices 10_1 through 10_k. In one embodiment, host device 20 may perform RAID reconstruction based on XOR operations using the data and RAID parity.

[0020] Alternatively, in one embodiment, the first to k-th storage devices 10_1 to 10_k may be storage devices in which the same application is executed.

[0021] In Fig. 1, the storage system 1000 includes the first to k-th storage devices 10_1 to 10_k connected to a host device 20, but the inventive concepts are not limited thereto. The storage system 1000 may include a plurality of different host devices or a plurality of storage devices connected to the respective host devices.

[0022] The first through k-th storage devices 10_1 through 10_k may be any type of storage device capable of storing data. In one embodiment, the first through k-th storage devices 10_1 through 10_k may be solid-state drives (SSDs), but the inventive concepts are not limited thereto.

[0023] The first to k-th storage devices 10_1 to 10_k may each obtain information on conditions required for performing the internal operations of the first to k-th storage devices 10_1 to 10_k using a machine learning model. For example, the first to k-th storage devices 10_1 to 10_k may each schedule the internal operations of the first to k-th storage devices 10_1 to 10_k using the machine learning model or may each obtain threshold values ​​required for performing the internal operations of the first to k-th storage devices 10_1 to 10_k.

[0024] In one embodiment, the host device 20 may be implemented as an application processor (AP) or a system-on-chip (SoC). The host device 20 may be connected to the host device 20 through a host interface (such as the one described in Fig. 2) communicate with the first to k-th storage devices 10_1 to 10_k.

[0025] The host device 20 may transmit a command CMD for controlling the operation of each of the first to k-th storage devices 10_1 to 10_k to each of the first to k-th storage devices 10_1 to 10_k. For example, the host device 20 may transmit a write command for writing data to each of the first to k-th storage devices 10_1 to 10_k to each of the first to k-th storage devices 10_1 to 10_k, or may transmit a read command for reading data from each of the first to k-th storage devices 10_1 to 10_k to each of the first to k-th storage devices 10_1 to 10_k.

[0026] In one embodiment, the host device 20 may transmit a retrieval command GCMD for extracting model information MI of the machine learning model from each of the first to k-th storage devices 10_1 to 10_k to each of the first to k-th storage devices 10_1 to 10_k. In one embodiment, the host device 20 may transmit a store command PCMD for placing the model information MI of the machine learning model in each of the first to k-th storage devices 10_1 to 10_k to each of the first to k-th storage devices 10_1 to 10_k. The machine learning model may include, for example, an artificial neural network.

[0027] In one embodiment, the model information MI may include model data and model metadata. For example, the model data may include a model architecture and model parameters, and the model metadata may include data about the precision of a model, the training time of the model, and the amount of training data of the model.

[0028] The host device 20 of the storage system 1000 can extract the model information MI of the machine learning model stored in a storage device from the first to k-th storage devices 10_1 to 10_k that is determined to be in a faulty state. The host device 20 can transfer the extracted model information MI to a storage device from the first to k-th storage devices 10_1 to 10_k that is in a normal state (i.e., a normal operating state). The extracted model information MI can be arranged in the storage device in the normal state. Thus, when the use of a specific storage device among the first to k-th storage devices 10_1 to 10_k is impossible, the storage system 1000 can arrange the model information in a new storage device, thereby consistently using the model information MI of the machine learning model between (or in) different storage devices.

[0029] Furthermore, the host device 20 may transmit a model training command to each of the first to k-th storage devices 10_1 to 10_k, and each of the first to k-th storage devices 10_1 to 10_k may perform a machine learning model training operation in response to the model training command. The host device 20 may transmit a model inference command to each of the first to k-th storage devices 10_1 to 10_k, and each of the first to k-th storage devices 10_1 to 10_k may perform a machine learning model inference operation in response to the model inference command.

[0030] Fig. 2A illustrates a block diagram showing a memory device 10 according to embodiments of the inventive concepts. Fig. 2B is a diagram of a memory device 10 Fig. 2A loaded model executor 125 according to embodiments of the inventive concepts. The memory device 10 of Fig. 2A, one of the first to n-th memory devices 10_1 to 10_n may be Fig. 1.

[0031] The storage device 10 may include a flash memory device containing one or more flash memory chips. For example, the storage device 10 may include a plurality of NAND memory chips that store data in a non-volatile manner.

[0032] In one embodiment, the storage device 10 may be an embedded memory included in the storage system (e.g., 1000 of Fig. 1). The storage device 10 may, for example, be an embedded multimedia card (eMMC ®) or an embedded Universal Flash Memory (UFS) storage device. In one embodiment, the storage device 10 may be an external memory removable from the storage system 1000. The storage device 10 may be, for example, a UFS memory card, a CompactFlash ® (CF) card, a Security Digital™ (SD) card, a Micro Secure Digital (Micro SD) card, a Mini Secure Digital (Mini SD) card, Extreme Digital (xD) or a Memory Stick™ (MS).

[0033] Referring to Fig. 2A, the storage device 10 may include a memory controller 100 and a storage medium 200. The storage device 10 may further include other components, such as a buffer memory and a power management circuit. The storage device 10 may access the storage medium 200 or perform requested operations in response to the command from the host device (e.g., 20 of Fig. 1) execute the CMD command provided.

[0034] The memory controller 100 can control the operation of the storage medium 200 through a channel CH. For example, the memory controller 100 can write data to the storage medium 200 or read data from the storage medium 200.

[0035] The memory controller 100 may include a processor 110, a memory 120, a host interface 130, and a memory interface 140. The processor 110, the memory 120, the host interface 130, and the memory interface 140 may communicate with each other via a bus 150. The memory controller 100 may further include other components.

[0036] Processor 110 may control the overall operation of memory controller 100. Processor 110 may include a central processing unit or a microprocessor. In one embodiment, processor 110 may be implemented as a multi-core processor, for example, a dual-core processor or a quad-core processor.

[0037] Processor 110 may execute firmware to drive memory controller 100. The firmware may be loaded into memory 120 and executed. For example, processor 110 may implement a free space collection to manage storage medium 200 or a flash translation layer to perform address mapping, wear rate, etc., by executing the firmware to drive memory controller 100.

[0038] Memory 120 may operate under the control of processor 110. Memory 120 may be used as a working memory, cache memory, or buffer memory of processor 110. Software, firmware, and data for controlling memory controller 100 may be loaded into memory 120. Memory 120 may be implemented as a volatile memory, such as dynamic random access memory (DRAM) or static random access memory (SRAM). Alternatively, memory 120 may be implemented as a resistive memory, such as RRAM, PRAM, or MRAM. A model information extractor 121, a model information arranger 123, and the model executor 125, for example, may be loaded into memory 120.

[0039] The processor 110 can read model information to be extracted from the host device 20 upon request from a database DB of the storage medium 200 and can transmit the read model information to the host device 20 by executing the model information extractor 121. The processor 110 can write model information to be arranged upon request from the host device 20 into the database DB of the storage medium 200 by executing the model information arranger 123.

[0040] Referring to Fig. 2A and Fig. 2B, the model executor 125 may include a model inferencer 125_1 and a model trainer 125_2. The processor 110 may schedule tasks according to an access request from the host device 20 and background tasks or foreground tasks for managing the storage device 10 by executing the model inferencer 125_1 using the model information. For example, the processor 110 may schedule a garbage collection operation by executing the model inferencer 125_1 using the model information. In addition, the processor 110 may obtain various thresholds and parameters used for operating the storage device 10 by executing the model inferencer 125_1 using the model information.

[0041] Furthermore, the processor 110 may train a machine learning model stored in the storage device 10 by executing the model trainer 125_2 loaded into the memory 120, and the training degree of the machine learning model may increase.

[0042] Referring to Fig. 2A, host interface 130 may perform communication with host device 20. For example, host interface 130 may provide a physical connection between host device 20 and storage device 10. Host interface 130 may adjust the size of data exchanged with storage device 10 or convert the format of commands exchanged with storage device 10 in response to a transmission format of host device 20, i.e., a bus format.

[0043] For example, the host interface 130 may format model information to be transmitted to the host device 20 in such a way that it corresponds to the transmission format of the host device 20. In addition, the host interface 130 may convert the model information received from the host device 20 (e.g., MI from Fig. 1) format them to match the internal format of the storage device 10.

[0044] The bus format of host device 20 may be configured, for example, as at least one of a Universal Serial Bus (USB), a Small Computer System Interface (SCSI), a Peripheral Component Interconnection (PCI) Express, an AT Attachment (ATA), a Parallel AT Attachment (PATA), a Serial AT Attachment (SATA), and a Serial Attached SCSI (SAS). A non-volatile memory express (NVMe) protocol implemented in host device 20 that exchanges data using PCI Express may be applied to host interface 130.

[0045] The storage interface 140 can exchange data with the storage medium 200. The storage interface 140 can write data to the storage medium 200 via the CH channel and read the data from the storage medium 200 via the CH channel. For example, the storage interface 140 can transmit model information to the storage medium 200 via the CH channel and can receive the model information from the storage medium 200 via the CH channel. In one embodiment, the model information stored in the storage medium 200 can be formatted such that the model information MI received from the host device 20 corresponds to a storage format inside the storage device 10.

[0046] The storage medium 200 may include flash memory, and the flash memory may include a 2D NAND memory array or a 3D (or vertical) NAND (VNAND) memory array. The 3D memory array is circuitry associated with arrays of memory cells having an active area arranged on a silicon substrate, or with operations of the memory cells, and is monolithically formed on the substrate or at least one physical level of circuitry formed in the substrate. The term "monolithic" means that layers of each level forming the array are stacked directly above the layers of each lower level of the array.

[0047] In one embodiment, the 3D memory array includes vertical NAND chains arranged in a vertical direction such that at least one memory cell is positioned above another memory cell. The at least one memory cell may include a charge trapping layer.

[0048] U.S. Patent Publication Nos. 7,679,133, 8,553,466, 8,654,587, and 8,559,235 and U.S. Patent Application Publication No. 2011 / 0233648 describe corresponding configurations of a 3D memory array including a plurality of levels and sharing word lines and / or bit lines between the levels, and may be combined in the references herein.

[0049] In embodiments, storage medium 200 may include various other types of non-volatile memory. For example, storage medium 200 may include non-volatile memory, and the non-volatile memory may use various types of memory, such as magnetic random access memory (MRAM), spin-transfer torque MRAM, conductive bridging RAM (CBRAM), ferroelectric RAM (FeRAM), phase shift random access memory (PRAM), resistive RAM, nanotube RAM, polymer RAM (PoRAM), nano-floating gate memory (NFGM), holographic memory, molecular electronics memory, and insulation resistance change memory, among others.

[0050] Fig. 3 illustrates a block diagram of the storage medium 200 of a storage device according to embodiments of the inventive concepts.

[0051] Referring to Fig. 3, the storage medium 200 may include a memory cell array 210, an address decoder 220, a voltage generator 230, a control logic block (e.g., a control circuit or controller) 240, a page buffer circuit 250, and an input / output circuit 260. Although not shown, the storage medium 200 may further include an input / output interface.

[0052] The memory cell array 210 may be connected to word lines WL, string select lines SSL, ground select lines GSL, and bit lines BL. The memory cell array 210 may be connected to the address decoder 220 through the word lines WL, the string select lines SSL, and the ground select lines GSL, and may be connected to the page buffer circuit 250 through the bit lines BL.

[0053] The memory cell array 210 may include a plurality of memory blocks BLK1, BLK2, to BLKn (ie, BLK1 to BLKn). The storage medium 200 may perform an erase operation in units of memory blocks.

[0054] Each of the memory blocks BLK1 to BLKn may include a plurality of memory cells and a plurality of selection transistors. The memory cells may be connected to the word lines WL, and the selection transistors may be connected to the string selection lines SSL or the ground selection lines GSL. The memory cells of each of the memory blocks BLK1 to BLKn may include single-level cells storing 1-bit data or multi-level cells storing M-bit data (M is 2 or an integer greater than 2).

[0055] The memory cell array 210 may contain a model database DB, and model information may be stored in the model database DB. The model information may include, for example, model data and model metadata. The model data may include a model architecture and model parameters, and the model metadata may include data on the precision of a model, the training time of the model, and the amount of training data of the model.

[0056] The address decoder 220 may select one of the plurality of memory blocks BLK1 to BLKn of the memory cell array 210, may select one of the word lines WL of the selected memory block, and may select one of the plurality of string selection lines SSL.

[0057] The voltage generator 230 can generate various types of voltages for performing programming, reading, and erasing operations of the memory cell array 210 based on a voltage control signal CTRL_Vol. For example, the voltage generator 230 can generate a word line voltage VWL, such as a programming voltage, a reading voltage, a pass voltage, an erase verification voltage, or a program verification voltage. Furthermore, the voltage generator 230 can generate a string select line voltage and a ground select line voltage based on the voltage control signal CTRL_Vol and can generate an erase voltage to be transmitted to the memory cell array 210.

[0058] Control logic block 240 may output various control signals for implementing the programming, reading, and erasing voltages of memory cell array 210 based on an internal command ICMD, an address ADDR, and a control signal CTRL. Control logic block 240 may transmit a row address X-ADDR to address decoder 220, a column address Y-ADDR to page buffer circuit 250, and the voltage control signal CTRL_Vol to voltage generator 230.

[0059] Page buffer circuit 250 may operate as a write driver or a sense amplifier depending on an operating mode. During the read operation, page buffer circuit 250 may sense the bit line BL of the selected memory cell under the control of control logic block 240. Page buffer circuit 250 may offload the data stored in the latches to input / output circuit 260 under the control of control logic block 240.

[0060] The input / output circuit 260 can temporarily store the internal command ICMD, the addresses ADDR, the control signal CTRL, and the data DATA provided through an input / output line I / O from outside the storage medium 200. The input / output circuit 260 can temporarily store read data from the storage medium 200 and output the read data to the outside through the input / output line I / O at a specified time.

[0061] Fig. 4 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts. Fig. 5A and Fig. 5B are diagrams illustrating a format of the GCMD call command and a format of a response according to the GCMD call command, according to embodiments of the inventive concepts, respectively. Fig. 4 illustrates a diagram of an operation for extracting model information stored in the storage device 10. For example, operations S130 and S140 may be performed by a processor of the storage device 10 by executing the model information extractor 121 loaded into a memory 120.

[0062] Referring to Fig. 4, in operation S110, the host device 20 determines whether the storage device 10 is in a fault state. For example, the host device 20 may determine that the storage device 10 is in the fault state when an input to replace the storage device 10 is received from a user. Alternatively, the host device 20 may determine that the storage device 10 is in the fault state in a case where the storage device 10 does not perform the read operation and the write operation, or in a case where the storage device 10 only performs the read operation but the number of bad blocks of the storage device 10 exceeds a threshold. Alternatively, the host device 20 may determine that the storage device 10 is in the fault state in response to receiving a signal from the storage device 10 indicating that the storage device 10 is in the fault state.

[0063] When the storage device 10 is determined to be in the error state, the host device 20 transmits the retrieval command GCMD to the storage device 10 in operation S120. However, the storage system according to the inventive concepts is not limited to this, and even when the storage device 10 is determined to be in the normal state rather than the error state, the host device 20 may transmit the retrieval command GCMD to the storage device 10 to extract the model information from the storage device 10.

[0064] Referring to Fig. 4, Fig. 5A and Fig. 5B, in operation S120, the host device 20 transmits the GCMD retrieval command to the storage device 10. In one embodiment, the GCMD retrieval command may include a command identifier (ID) and a model identifier (ID). For example, the command identifier may indicate whether a command is the GCMD retrieval command or the PCMD store command, and the model identifier may indicate an extraction model among models stored in the storage device 10.

[0065] In operation S130, the storage device 10 extracts the model information from a model database. The model information at this time may correspond to a format within the storage device 10.

[0066] In operation S140, storage device 10 transmits the model information MI corresponding to the retrieval command GCMD to host device 20. The model information MI may include model data and model metadata. The model data may include, for example, a model architecture and model parameters, and the model metadata may include information about the precision of a model or the training level of the model. The information about the training level of the model may include the training time of the model or the amount of training data of the model.

[0067] At this time, the storage device 10 may transmit a response code along with the model information MI. The response code may indicate a performance result of an operation according to the retrieval command GCMD provided by the host device 20. For example, the storage device 10 may transmit the response code according to a result of determining whether a machine learning model corresponding to the model information extracted from the storage device 10 satisfies the reliability condition according to the retrieval command GCMD. If the model does not satisfy the reliability condition, the storage device 10 may transmit only the response code indicating that the model does not satisfy the reliability condition without transmitting the model information MI.

[0068] In one embodiment, in operation S140, the storage device 10 may transmit the model information MI through a data pin among a plurality of output pins connected to the host device 20. However, if it is impossible to use the data pin of the storage device 10, the storage device 10 may transmit the model information MI through a pin other than the data pin among the plurality of output pins. For example, the storage device 10 may transmit the model information MI through an output pin for transmitting information about the performance of the storage device 10.

[0069] In operation S150, the host device 20 transmits the model information MI to a storage device other than the storage device 10 to arrange the model information MI. The other storage device may be in the normal state. For example, if the first storage device 10_1 among the first to k-th storage devices 10_1 to 10_k is Fig. 1 is determined to be in the error state, the host device 20 may extract the model information MI stored in the first storage device 10_1 to transfer the model information MI to the second storage device 10_2.

[0070] In one embodiment, storage device 10 and the other storage device may be storage devices connected to and controlled by the same host device 20. For example, storage device 10 and the other storage device may together form a RAID array. Alternatively, in one embodiment, storage device 10 and the other storage device may be storage devices running the same application.Accordingly, the storage system according to the inventive concepts can, when the use of a specific storage device among a plurality of storage devices is impossible, arrange the model information MI of a storage device in a faulty state to another storage device capable of executing the same machine learning model, thereby consistently using the model information MI of the machine learning model between (or by) different storage devices.

[0071] Fig. 6 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts and illustrates details of operation S110 Fig. 4. Operation S110 may contain operations S111 to S117.

[0072] Referring to Fig. 6 defines a host device (such as host device 20 of Fig. 1) in operation S111, whether a storage device (such as storage device 10 of Fig. 2A) is capable of performing a write operation, and determines in operation S113 whether the storage device is capable of performing a read operation. If the host device determines that the storage device is incapable of performing both the write operation (No in operation S111) and the read operation (No in operation S113), the host device determines in operation S117 that the storage device is in a fault state. For example, the storage device may transmit a signal indicating that the storage device is incapable of performing both the write operation and the read operation to the host device, and when the host device receives the signal, the host device may determine that the storage device is incapable of performing both the write operation and the read operation and that the storage device is in the fault state.

[0073] If the storage device is capable of performing only the read operation (Yes in operation S113), the host device determines in operation S115 whether the number of bad blocks of the storage device exceeds a threshold. If the storage device is capable of performing only the read operation, the storage device may transmit a signal indicating that the storage device is capable of performing only the read operation, and when the host device receives the signal, the host device may determine that the storage device is capable of performing only the read operation and perform operation S115.

[0074] In one embodiment, the threshold value, which is a reference for the number of bad blocks, may be a predetermined value. Alternatively, the threshold value may be a value that adaptively varies as the usage period of the storage device changes. For example, a machine learning model that derives the threshold value, which is the reference for determining the fault state of the storage device, may be stored in the storage device, and a processor of the storage device may obtain the threshold value by executing a model executor.

[0075] When a bad block occurs in a storage medium, the storage device may perform a recovery operation to replace the bad block with a spare block. However, if the number of bad blocks among a plurality of storage blocks increases and exceeds the threshold, the storage device may encounter difficulty in performing the recovery operation to restore data of the bad blocks. Accordingly, when the number of bad blocks of the storage device exceeds the threshold, the host device determines that the storage device is in a fault state in operation S117. For example, the storage device may provide the host device with information about the current number of bad blocks, and the host device may determine whether the number of bad blocks increases and exceeds the threshold based on the information.

[0076] However, the memory device according to the inventive concepts is not based on the operating method Fig. 6, because the storage device can transmit information about whether the storage device is in the normal state or in the error state to the host device. In this embodiment, when the storage device itself determines that the storage device is in the error state, the storage device can transmit a signal indicating the error state to the host device, and the host device can determine that the storage device is in the error state by receiving the signal.

[0077] If the host device determines in operation S117 that the storage device is in the error state, the host device may perform operation S120 from Fig. 4 carry out.

[0078] Fig. 7 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts and illustrates details of operation S140. Fig. 4. Operation S140 may include operations S141 through S145. For example, operation S140 may be performed by a processor, such as processor 110 of storage device 10, by executing a model information extractor, such as model information extractor 121, loaded into memory 120.

[0079] Referring to Fig. 7, in operation S141, the storage device 10 determines whether the reliability of a machine learning model satisfies a transfer condition according to extracted model information. The reliability of the model may be determined by considering at least one of the precision of the model, the training level of the model, and the size of the model. In one embodiment, the storage device 10 may determine whether the reliability of the model satisfies the transfer condition by determining whether the precision of the model is greater than or equal to a threshold. In one embodiment, the threshold, which is a reference for the precision of the model, may be a predetermined value.In addition, the storage device 10 can determine whether the model satisfies the reliability by determining whether the training amount of the model is greater than or equal to the threshold, and can also determine whether the model satisfies the reliability by determining whether the size of the model, which is inversely proportional to the execution speed of the model, is less than or equal to the threshold.

[0080] If the reliability of the model satisfies the condition (Yes in operation S141), the storage device 10 formats the extracted model information to conform to a transmission format and transmits the formatted extracted model information to the host device in operation S143. However, if the transmission format and the internal format of the storage device 10 are the same, the storage device 10 does not perform a separate formatting operation.

[0081] Conversely, if the reliability of the model does not satisfy the condition (No in operation S142), the storage device 10 transmits a result of determining the reliability of the model in operation S145. For example, in operation S145, the storage device 10 transmits a response code containing information that the reliability of the model does not satisfy the transmission condition.

[0082] Fig. 8 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts. Fig. 9 illustrates a diagram of a format of the PCMD storage instruction according to embodiments of the inventive concepts. Fig. 8 illustrates a diagram of an operation for storing model information in storage device 10. For example, operation S230 may be performed by a processor, such as processor 110 of storage device 10, by executing a model information arranger, such as model information arranger 123, loaded into memory 120.

[0083] Referring to Fig. 8 and Fig. 9, in operation S210, the host device 20 transmits the put command PCMD to the storage device 10. In one embodiment, the put command PCMD may include a command identifier (ID), a command option, and a model identifier (ID). For example, the command identifier may indicate whether the command is a fetch command or the put command PCMD, and the model identifier may indicate a machine learning model corresponding to model information to be placed on the storage device 10.

[0084] The command option may include information about a method for arranging model information transmitted following the PCMD storage command. For example, the command option may indicate an option of the PCMD storage command regarding whether the model information transmitted following the PCMD storage command should be stored in the storage device 10, whether the transmitted model information should be arranged in the storage device 10 according to a result of a comparison of the transmitted model information with model information arranged in the storage device 10, or whether the transmitted model information should be arranged in the storage device 10 without comparing the transmitted model information with the model information arranged in the storage device 10.At this point, arranging the model information may mean storing the model information for use when a corresponding machine learning model is executed.

[0085] In operation S220, the host device 20 transmits the model information to the storage device 10. At this time, the model information may be model information extracted from a storage device other than the storage device 10.

[0086] The model information can be the same as that in Fig. 5B shows the configuration of the model information. This means that the model information can include model data and model metadata. For example, the model data can include a model architecture and model parameters, and the model metadata can include data on the model's precision, the model's training time, and the amount of training data for the model.

[0087] In operation S230, the storage device 10 stores the model information. The model information stored in the storage device 10 may be model information received from the host device 20 and formatted into an internal format of the storage device 10. In one embodiment, the storage device 10 may temporarily store the model information in the storage device 10 according to a command operation of the store command PCMD, may arrange the model information in the storage device 10 according to a result of a comparison of the model information with the model information arranged in the storage device 10, or may arrange the model information in the storage device 10 without comparing the model information with the model information arranged in the storage device 10.

[0088] In operation S240, storage device 10 transmits a response code. The response code may indicate a result of performing an operation according to the storage command PCMD provided by host device 20. For example, the response code may indicate a result regarding whether the model information MI transmitted following the storage command PCMD is stored in storage device 10.

[0089] Fig. 10 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts and illustrates details of operation S230 Fig. 8. Operation S230 may include operations S231 to S237. For example, operation S230 may be performed by a processor, such as processor 110, of a Fig. 2A by executing a model information arranger loaded into a memory 120, such as model information arranger 123.

[0090] Referring to Fig. 10, in operation S231, the storage device determines whether the training degree of a machine learning model is greater than or equal to a reference value based on model information received from a host device. For example, model metadata of the model information may include information about the training time of the model or the amount of training data of the model, and the storage device may determine whether the training degree of the machine learning model is greater than or equal to the reference value based on the model metadata. In one embodiment, the reference value, which is a reference for the training degree of the model, may be a predetermined value.

[0091] If the training degree of the model is greater than or equal to the reference value (Yes in operation S231), the storage device stores the received model information in a storage medium (ie, arranges it therein) in operation S233. At this time, the model information arranged in the storage medium may be model information formatted into a format inside the storage device.

[0092] In contrast, if the training degree of the model is smaller than the reference value (No in operation S231), the storage device performs a model training operation using the received model information in operation S235. The storage device may increase the training degree of the machine learning model corresponding to the received model information by performing the model training operation. For example, the storage device may increase the training degree such that the training degree of the model is greater than or equal to the reference value. For example, operation S235 may be performed by a processor, such as processor 110, of the storage device. Fig. 2A by executing a model trainer loaded into memory 120, such as model trainer 125.

[0093] In operation S237, the storage device stores the modified model information in the storage medium (i.e., places it therein). While the model training operation is being performed in operation S235, the model information may be modified. For example, the model data and / or model metadata included in the model information may be modified in operation S235, and the modified model information may be placed in the storage medium in operation S237.

[0094] The storage system according to the inventive concepts can determine a training level of a model when model information from another storage device is placed in a specific storage device, and can perform an additional model training operation if the training level of the model does not meet a reference value. Thus, the storage system can ensure the performance of the machine learning model by performing an additional model training operation when the model information is placed in the storage device.

[0095] Fig. 11 illustrates a flowchart of a method of operation of a memory system according to embodiments of the inventive concepts and illustrates details of operations S230 and S240. Fig. 8. Operation S230A includes operations S231A and S233A, and operation S240 includes operations S241 and S243. Operation S230A may be performed, for example, by a processor, such as processor 110, a memory device Fig. 2A by executing a model information arranger loaded into memory 120, such as model information arranger 123.

[0096] Referring to Fig. 11, in operation S231A, the storage device determines whether the reliability of a machine learning model corresponding to model information received from a host device is higher than the reliability of a machine learning model corresponding to model information stored in the storage device. For example, the reliability of the model can be determined by considering at least one of the model's precision, the model's training level, and the model's size.

[0097] If the reliability of the model corresponding to the received model information is higher than the reliability of the existing model (Yes in operation S231A), the storage device stores the received model information in a storage medium (ie, arranges it therein) in operation S233A. At this time, the model information stored in the storage medium may be model information formatted in a format internal to the storage device. In operation S241, the storage device transmits a response code indicating arrangement success of the received model information.

[0098] Meanwhile, if the reliability of the model corresponding to the received model information is lower than the reliability of the existing model, the storage device may maintain the existing model information without storing the received model information. In operation S243, the storage device may transmit a response code indicating an alignment error of the received model information.

[0099] The storage system according to the inventive concepts can compare the reliability of the existing model with the reliability of a new model when new model information from another storage device is placed in a specific storage device, and can place the new model information if the new model is determined to be more efficient. Thus, the storage system can prevent an operation for storing low-performance model information in the storage device, and the performance of the machine learning model of the storage device can be ensured.

[0100] Fig. 12A and Fig. 12B illustrate flowcharts of a method of operation of a memory system according to embodiments of the inventive concepts. For example, operations S320 and S330 of Fig. 12A by a processor, such as processor 110, of the storage device 10 by executing a model trainer loaded into a memory 120, such as the one shown in Fig. 2B shown model trainer 125_2, and operations S420 and S430 from Fig. 12B may be performed by the processor of the storage device 10 by executing a model inferencer loaded into memory, such as model inferencer 125_1.

[0101] Referring to Fig. 12A, in operation S310, the host device 20 transmits a model training command to the storage device 10. In operation S320, the storage device 10 reads model information from a storage medium in response to the model training command. In operation S330, the storage device 10 performs a model training operation using the read model information. As the model training operation is performed, the training degree of a machine learning model may increase and the precision of the machine learning model may increase. The storage system according to the inventive concepts may train the machine learning model inside the storage device 10 and may periodically perform the model training operation.

[0102] Referring to Fig. 12B, in operation S410, the host device 20 transmits a model inference command to the storage device 10. The model inference command may be, for example, a command to activate a corresponding machine learning model.

[0103] In operation S420, storage device 10 reads model information from the storage medium in response to the model inference command. In operation S430, storage device 10 performs a model inference operation using the read model information. Storage device 10 may schedule tasks according to an access request from host device 20 through the model inference operation or may obtain various thresholds and parameters used for the operation of storage device 10.

[0104] In addition to the model training command and the model inference command described in Fig. 12A and Fig. 12B, the host device 20 may transmit various commands related to the machine learning model to the storage device 10. For example, the host device 20 may transmit a command to obtain the number of machine learning models currently downloaded to the storage device 10 and machine learning model information to the storage device 10, and the storage device 10 may transmit the number of currently downloaded machine learning models and the machine learning model information to the host device 20 in response to the command.

[0105] However, according to the inventive concepts, the storage device 10 can perform the model training operation alone, even if the storage device 10 does not receive a model training command from the host device 20. For example, if it is determined that the training level of the model is less than an internal reference training level, the storage device 10 can perform the model training operation on the machine learning model stored therein, the training level of the machine learning model can increase, and the precision of the machine learning model can increase.

[0106] Furthermore, the storage device 10 may perform the model inference operation alone even if the storage device 10 does not receive a model inference command from the host device 20. For example, the host device 20 may perform the model inference operation using a machine learning model corresponding to an internal operation to perform the internal operation.

[0107] Fig. 13 illustrates a block diagram of a system to which the storage system 1000 according to embodiments of the inventive concepts is applied.

[0108] Referring to Fig. 13, storage system 1000 may include host device 20 and storage device 10, and host device 20 may receive model information from storage device 10. Host device 20 may transmit the model information to a cloud system 2000. The model information transmitted to cloud system 2000 may be model information received from storage device 10 and formatted into a transition format corresponding to cloud system 2000.

[0109] A model storage 3000 of a cloud environment can manage the model information of the machine learning model and provide the model information according to a request of the storage system 1000. The storage system 1000 can download the model information from the model storage 3000.

[0110] In Fig.13, only one storage system 1000 is shown as connected to the cloud system 2000, however, a plurality of storage systems may be connected to the cloud system 2000. The model storage 3000 of the cloud environment may manage model information for each type of the plurality of storage systems. Accordingly, the model information of the storage system 1000 may be transferred to another storage system, or conversely, model information of another storage system may be downloaded from the storage system 1000. For example, if the lifespan of the storage system 1000 is deemed to have expired, the model information of the storage system 1000 may be recycled by the cloud system 2000 into other storage systems.

Claims

[1] Storage device (10) comprising: a storage medium (200) that stores model information of a machine learning model; and a memory controller (100) that is configured to control an operation of the storage device using the machine learning model, wherein the storage controller (100) is further configured, upon receiving a retrieval command from a host device (20) to extract the model information from the storage medium, to transmit the model information to the host device (20) in response to the retrieval command, where the model information is modified while a model training operation is being performed, where the model information includes model data and model metadata, wherein the model data includes a model architecture of the machine learning model and model parameters of the machine learning model, and where the model metadata contains information about the precision of the machine learning model and the training level of the machine learning model. [2] Storage device (10) according to claim 1, wherein the retrieval instruction comprises an instruction identifier and an identifier of the machine learning model. [3] Storage device (10) according to claim 1, wherein the storage controller (100) is further configured to determine, based on at least the precision or the training level, whether the reliability of the machine learning model satisfies a transfer condition, and in a case where the reliability of the machine learning model satisfies the transfer condition, to format the model information to conform to a transfer format and to transfer the formatted model information to the host device (20). [4] Storage device (10) according to claim 1, wherein the storage controller (100), upon receiving a file command for arranging the model information and new model information from a host device (20), is further configured to store the new model information in the storage module in response to the file command. [5] Storage device (10) according to claim 4, wherein the storage command includes a command identifier, a command option which includes information which specifies how the new model information is to be arranged, and an identifier of a machine learning model which corresponds to the new model information. [6] Storage device (10) according to claim 4, wherein in a case where a training level of a machine learning model corresponding to the new model information is less than a reference value, the storage controller (100) is further configured to train the machine learning model corresponding to the new model information using the new model information and to store modified model information in the storage medium (200) by training the machine learning model corresponding to the new model information. [7] Storage device (10) according to claim 4, wherein the storage controller (100) is further configured to store the new model information in the storage medium (200) according to the result of a comparison of a model reliability of a machine learning model corresponding to the new model information and a model reliability of the machine learning model corresponding to the machine learning model stored in the storage medium (200). [8] Storage device (10) according to claim 1, wherein the storage controller (100) is further configured, upon receiving a model training command from a host device (20), to train the machine learning model in response to the model training command. [9] Storage system comprising: a first storage device (10_1) and a second storage device (10_2), each storing model information of a machine learning model; and a host device (20) configured to manage operations of the first storage device and the second storage device (10_2), wherein the host device (20) is further configured to transmit a fetch command to extract the model information to the first storage device (10_1) when the first storage device (10_1) is in an error state dependent on the number of bad blocks of the storage device (10_1), and wherein the first storage device (10_1) is further configured to extract the model information stored in the first storage device (10_1) in response to the retrieval command and to transfer the model information to the host device, where the model information is modified while a model training operation is performed in the first storage device (10_1). [10] Storage system according to claim 9, wherein the host device (20) is further configured to transmit the retrieval command to extract the model information to the first storage device (10_1) when the first storage device (10_1) is unable to perform a data read operation and a data write operation. [11] Storage system according to claim 9, wherein the host device (20) is further configured to transmit the retrieval command to extract the model information to the first storage device (10_1) when the first storage device (10_1) is only capable of performing a data read operation and not a data write operation, and the number of bad blocks contained in the first storage device (10_1) exceeds a threshold. [12] Storage system according to claim 9, wherein the host device (20) is further configured to transmit a storage command to arrange the model information and the model information extracted from the first storage device (10_1) to the second storage device (10_2). [13] Storage system according to claim 12, wherein in a case where a training level of a machine learning model corresponding to the model information is less than a reference value, the second storage device (10_2) is further configured to train the machine learning model corresponding to the model information transmitted with the put command using the model information transmitted with the put command, and to store modified model information by training the machine learning model corresponding to the model information transmitted with the put command in the second storage device (10_2). [14] Storage system according to claim 12, wherein in a case where the model reliability of the model information transmitted with the put command is higher than the model reliability of the model information stored in the second storage device (10_2), the second storage device (10_2) is further configured to store the model information transmitted with the put command, and in a case where the model reliability of the model information transmitted with the put command is lower than the model reliability of the model information stored in the second storage device (10_2), the second storage device (10_2) is further configured to transmit a response code of an arrangement operation failure after the put command to the host device. [15] Operating method of a storage system (1000) comprising a plurality of storage devices and a host device (20) configured to manage operations of the plurality of storage devices, wherein the operating method comprises: Determine, by the host device (20), that a first storage device (10_1) from the plurality of storage devices that stores model information for a machine learning model is in an error state dependent on the number of bad blocks of the first storage device (10_1); Transmitted, through the host device (20), a retrieval command to extract the model information to the first storage device (10_1); The model information is transmitted, via the first storage device (10_1), to the host device (20) in response to the retrieval command; and Rearrange, by the host device (20), the model information into a second storage device (10_2) from the plurality of storage devices except the first storage device (10_1). [16] Operating method according to claim 15, wherein the determination of the first storage device in the fault state comprises: Determine whether the first storage device (10_1) is capable of performing a write operation; Determine whether the first storage device (10_1) is capable of performing a read operation; and Determine that the first storage device (10_1) is in an error state if the first storage device (10_1) is unable to perform the write operation and the read operation. [17] Operating method according to claim 15, wherein the transfer of the model information comprises: Determine whether the reliability of the machine learning model satisfies a transfer condition, based on at least one of the precision and training level of the machine learning model contained in the model information; and In a case where the reliability of the machine learning model meets the transfer condition, format the model information so that it conforms to a transfer format and transfer the formatted model information to the host device (20). [18] Operating method according to claim 15, wherein the rearrangement of the model information comprises: the host device (20), which transfers a storage command to arrange the model information and the model information to the second storage device (10_2); and the second storage device (10_2), which stores the model information in response to the dump command. [19] Operating method according to claim 18, wherein the storage of the model information comprises: Training the machine learning model using the model information; and Storing model information modified by training the machine learning model.

Citation Information

Patent Citations

  • Increased data availability with SMART drives

    US20040103246A1

  • Storage device, computing system including storage device and operating method of storage device

    US20190114078A1

  • Mission-critical ai processor with multi-layer fault tolerance support

    WO2019173075A1