Storage device, storage system including the same, and operating method of the storage system
By managing multiple storage devices through a host device, determining fault status, and extracting and deploying machine learning model information, the problem of storage devices being unable to update models is solved, enabling continuous use of model information and normal operation of the devices.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SAMSUNG ELECTRONICS CO LTD
- Filing Date
- 2021-02-05
- Publication Date
- 2026-06-05
Smart Images

Figure CN113254369B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] Priority is claimed to Korean Patent Application No. 10-2020-0015210, filed on February 7, 2020, with the Korean Intellectual Property Office, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This disclosure relates to a storage device, a storage system including the storage device, and a method of operating the storage system; more specifically, it relates to a storage device for storing model information of a machine learning model, a storage system including the storage device, and a method of operating the storage system. Background Technology
[0004] Non-volatile memory retains stored data even when power is off. Recently, storage devices, including flash-based non-volatile memory (eMMC, UFS, SSD, and memory cards), have been widely used to store or move large amounts of data.
[0005] Storage devices can use stored machine learning models to obtain the conditional information required for their internal operations. For example, a storage device can use a machine learning model to obtain the conditions for scheduling garbage collection operations. However, a problem exists that storage devices based on current technology may not be able to update the machine learning models pre-stored during manufacturing. Summary of the Invention
[0006] Embodiments of the present invention provide a storage device capable of continuously using model information of machine learning models across different storage devices, a storage system including the storage device, and a method for operating the storage system.
[0007] An embodiment of the present invention provides a storage device comprising: a storage unit storing model information of a machine learning model; and a storage controller using the machine learning model to control the operation of the storage device. Upon receiving a fetch command from a host device for retrieving the model information from the storage unit, the storage controller, in response to the fetch command, reads the model information from the storage unit and sends the model information to the host device.
[0008] An embodiment of the present invention also provides a storage system comprising: a first storage device and a second storage device, both storing model information of machine learning models; and a host device that manages the operations of the first storage device and the second storage device. When the first storage device is in a fault state, the host device sends a retrieval command to the first storage device for extracting the model information. In response to the retrieval command, the first storage device extracts the model information stored in the first storage device and sends the model information to the host device.
[0009] An embodiment of the present invention also provides a method for operating a storage system, the storage system including multiple storage devices and a host device, the host device managing the operation of the multiple storage devices. The method includes: the host device determining that a first storage device storing model information of a machine learning model among the multiple storage devices is in a fault state; the host device sending a retrieval command to the first storage device for extracting the model information; the first storage device responding to the retrieval command sending the model information to the host device; and the host device distributing the model information in a second storage device among the multiple storage devices other than the first storage device.
[0010] An embodiment of the present invention also provides a storage system comprising: a plurality of storage devices, each storing model information of a machine learning model; and a host device that manages the operation of the plurality of storage devices. The host device extracts the model information from a faulty storage device among the plurality of storage devices and sends the extracted model information to the other storage devices that are operating normally. Attached Figure Description
[0011] The embodiments of the present invention will become clearer from the following detailed description taken in conjunction with the accompanying drawings, in which:
[0012] Figure 1 A block diagram of a storage system according to an embodiment of the present invention is shown;
[0013] Figure 2A A block diagram of a storage device according to an embodiment of the present invention is shown;
[0014] Figure 2B The loading of an embodiment of the present invention is shown. Figure 2A A diagram of the model runner on the storage device;
[0015] Figure 3A block diagram of a storage device in a storage device according to an embodiment of the present invention is shown;
[0016] Figure 4 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown;
[0017] Figure 5A and Figure 5B A diagram illustrating the format of an acquisition command and the format of a response according to an embodiment of the present invention is shown.
[0018] Figure 6 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown;
[0019] Figure 7 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown;
[0020] Figure 8 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown;
[0021] Figure 9 A diagram illustrating the format of a placement command according to an embodiment of the present invention is shown;
[0022] Figure 10 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown;
[0023] Figure 11 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown;
[0024] Figure 12A and Figure 12B A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown;
[0025] Figure 13 A block diagram of a storage system to which embodiments of the present invention can be applied is shown. Detailed Implementation
[0026] In the following, embodiments of the inventive concept will be described in detail with reference to the accompanying drawings.
[0027] As is conventional in the field of this invention, embodiments can be described and illustrated according to blocks that implement one or more described functions. These blocks, which may be referred to herein as units or modules, are physically implemented by analog and / or digital circuitry (such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuitry, etc.) and may optionally be driven by firmware and / or software. The circuitry may, for example, be implemented in one or more semiconductor chips or on a substrate support such as a printed circuit board. The circuitry constituting a block can 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 for performing certain functions of the block and a processor for performing other functions of the block. Without departing from the scope of this invention, each block of an embodiment may be physically divided into two or more interactive and discrete blocks. Similarly, without departing from the scope of this invention, the blocks of an embodiment may be physically combined into more complex blocks.
[0028] Figure 1 A block diagram of a storage system 1000 according to an embodiment of the present invention is shown.
[0029] Storage system 1000 can be implemented as, for example, a personal computer (PC), a data server, network attached storage (NAS), an Internet of Things (IoT) device, or a portable electronic device. Portable electronic devices may include, for example, laptops, mobile phones, smartphones, tablet PCs, personal digital assistants (PDAs), enterprise digital assistants (EDAs), digital still cameras, digital video cameras, audio equipment, portable multimedia players (PMPs), personal navigation devices (PNDs), MP3 players, handheld game consoles, e-readers or wearable devices, and various other devices.
[0030] Reference Figure 1 The storage system 1000 may include first to kth 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 can manage the overall operation of the storage system 1000. For example, k may be a natural number of 3 or greater, but the inventive concept is not limited thereto. For example, the storage system 1000 may include two storage devices connected to a host device 20.
[0031] In this embodiment, the storage system 1000 may be a Redundant Array of Inexpensive Disks (RAID) storage system, and the first storage devices 10_1 to the k-th storage devices 10_k may constitute a RAID zone. That is, the host device 20 can use the RAID parity bits from the first storage devices 10_1 to the k-th storage devices 10_k and the data constituting the RAID stripe to perform RAID recovery. In this embodiment, the host device 20 can use the data and the RAID parity bits to perform RAID recovery based on an XOR operation.
[0032] Alternatively, in an embodiment, the first storage device 10_1 to the kth storage device 10_k may be storage devices running the same application.
[0033] exist Figure 1 In this invention, storage system 1000 includes first storage devices 10_1 to kth storage devices 10_k connected to a host device 20, but the inventive concept is not limited thereto. Storage system 1000 may include multiple different host devices, or multiple storage devices connected to various host devices.
[0034] The first storage device 10_1 to the kth storage device 10_k can be any type of storage device capable of storing data. In an embodiment, the first storage device 10_1 to the kth storage device 10_k can be a solid-state drive (SSD) device; however, the inventive concept is not limited thereto.
[0035] The first storage device 10_1 to the kth storage device 10_k can each obtain information about the conditions required to execute the internal operations of the first storage device 10_1 to the kth storage device 10_k using a machine learning model. For example, the first storage device 10_1 to the kth storage device 10_k can each schedule the internal operations of the first storage device 10_1 to the kth storage device 10_k using a machine learning model, or the thresholds required to execute the internal operations of the first storage device 10_1 to the kth storage device 10_k can each be obtained.
[0036] In this embodiment, the host device 20 may be implemented as an application processor (AP) or a system-on-a-chip (SoC). The host device 20 can communicate via a host interface (such as, for example...) Figure 2A The host interface 130 shown communicates with the first storage device 10_1 to the kth storage device 10_k.
[0037] The host device 20 can send a command CMD to each of the first storage devices 10_1 to the kth storage device 10_k to control the operation of each of the first storage devices 10_1 to the kth storage device 10_k. For example, the host device 20 can send a write command to each of the first storage devices 10_1 to the kth storage device 10_k to write data to each of the first storage devices 10_1 to the kth storage device 10_k, or it can send a read command to each of the first storage devices 10_1 to the kth storage device 10_k to read data from each of the first storage devices 10_1 to the kth storage device 10_k.
[0038] In one embodiment, host device 20 may send a get command (GCMD) to each of the first storage devices 10_1 to the kth storage device 10_k to extract the model information MI of the machine learning model from each of the first storage devices 10_1 to the kth storage device 10_k. In another embodiment, host device 20 may send a put command (PCMD) to each of the first storage devices 10_1 to the kth storage device 10_k to place the model information MI of the machine learning model in each of the first storage devices 10_1 to the kth storage device 10_k. For example, the machine learning model may include an artificial neural network.
[0039] In this embodiment, the model information (MI) may include model data and model metadata. For example, model data may include model architecture and model parameters, and model metadata may include data about model accuracy, data about model training time, and data about the amount of training data.
[0040] The host device 20 of the storage system 1000 can extract model information MI of machine learning models stored in storage devices identified as being in a faulty state, from the first storage device 10_1 to the kth storage device 10_k. The host device 20 can send the extracted model information MI to the storage devices in a normal state (i.e., normal operating state) from the first storage device 10_1 to the kth storage device 10_k. The extracted model information MI can be deployed in the storage devices in a normal state. Therefore, when a specific storage device from the first storage device 10_1 to the kth storage device 10_k becomes unavailable, the storage system 1000 can deploy the model information MI in a new storage device, thereby enabling continuous use of the machine learning model information MI across different storage devices (or across different storage devices).
[0041] Furthermore, host device 20 can transmit model training commands to each of the first storage devices 10_1 to the kth storage device 10_k, and each of the first storage devices 10_1 to the kth storage device 10_k can perform machine learning model training operations in response to the model training commands. Host device 20 can also transmit model inference commands to each of the first storage devices 10_1 to the kth storage device 10_k, and each of the first storage devices 10_1 to the kth storage device 10_k can perform machine learning model inference operations in response to the model inference commands.
[0042] Figure 2A A block diagram of a storage device 10 according to an embodiment of the present invention is shown. Figure 2B The loading of an embodiment of the present invention is shown. Figure 2A A diagram of the model runner 125 on the storage device 10. Figure 2A Storage device 10 can be Figure 1 One of the first storage device 10_1 to the kth storage device 10_k.
[0043] Storage device 10 may include a flash memory device having one or more flash memory chips. For example, storage device 10 may include multiple NAND memory chips that non-volatilely store data.
[0044] In an embodiment, storage device 10 may be embedded in a storage system (e.g., Figure 1 The embedded memory in (1000) is used. For example, storage device 10 can be an embedded multimedia card (eMMC). ® This can be a UFS (Universal Flash Memory) or embedded universal flash memory (UFS) storage device. In embodiments, storage device 10 can be an external memory that can be removed from storage system 1000. For example, storage device 10 can be a UFS memory card, a compact flash memory (CF) card, a secure digital card (SD) card, a micro-secure digital card (Micro-SD) card, a mini-secure digital card (Mini-SD) card, an extreme digital (xD) card, or a memory stick (MS).
[0045] Reference Figure 2A Storage device 10 may include storage controller 100 and storage device 200. Storage device 10 may also include other components, such as buffer memory and power management circuitry. Storage device 10 can respond to requests from a host device (e.g., ...). Figure 1 The command CMD provided in section 20) is used to access storage device 200 or perform the requested operation.
[0046] The storage controller 100 can control the operation of the storage device 200 through the channel CH. For example, the storage controller 100 can write data to the storage device 200 or read data from the storage device 200.
[0047] The storage controller 100 may include a processor 110, a memory 120, a host interface 130, and a memory interface 140. The processor 110, memory 120, host interface 130, and memory interface 140 may communicate with each other via a bus 150. The storage controller 100 may also include other components.
[0048] Processor 110 can control the overall operation of storage controller 100. Processor 110 may include a central processing unit or a microprocessor. In embodiments, processor 110 may be implemented as a multi-core processor, such as a dual-core processor or a quad-core processor.
[0049] Processor 110 can run firmware for driving storage controller 100. This firmware can be loaded into memory 120 and run. For example, processor 110 can perform garbage collection for managing storage device 200 or a flash translation layer for performing address mapping, wear leveling, etc., by running the firmware for driving storage controller 100.
[0050] Memory 120 can operate under the control of processor 110. Memory 120 can be used as working memory, cache memory, or buffer memory of processor 110. Software, firmware, and data used to control memory controller 100 can be loaded into memory 120. Memory 120 can be implemented as a volatile memory such as dynamic random access memory (DRAM) or static random access memory (SRAM). Alternatively, memory 120 can be implemented as a resistive memory such as RRAM, PRAM, or MRAM. For example, model information extractor 121, model information arranger 123, and model runner 125 can be loaded into memory 120.
[0051] The processor 110 can read the model information requested by the host device 20 from the model database DB of the storage device 200 by running the model information extractor 121, and send the read model information to the host device 20. The processor 110 can write the model information requested by the host device 20 to the model database DB of the storage device 200 by running the model information arranger 123.
[0052] Reference Figure 2A and Figure 2BThe model runner 125 may include a model inferencer 125_1 and a model trainer 125_2. The processor 110 can schedule tasks based on access requests from the host device 20, as well as background or foreground tasks for managing the storage device 10, by running the model inferencer 125_1 using model information. For example, the processor 110 can schedule garbage collection operations by running the model inferencer 125_1 using model information. Furthermore, the processor 110 can obtain various thresholds and parameters for operations on the storage device 10 by running the model inferencer 125_1 using model information.
[0053] Furthermore, the processor 110 can train the machine learning model stored in the storage device 10 by running the model trainer 125_2 loaded in the memory 120, and the training level of the machine learning model can be increased. As the training level of the machine learning model increases, the accuracy of the machine learning model can increase.
[0054] Reference Figure 2A The host interface 130 can communicate with the host device 20. For example, the host interface 130 can provide a physical connection between the host device 20 and the storage device 10. The host interface 130 can adjust the size of the data exchanged with the storage device 10, or convert the format of the commands exchanged with the storage device 10 in response to the transmission format (i.e., bus format) of the host device 20.
[0055] For example, host interface 130 can format the model information to be sent to host device 20 into a transmission format corresponding to host device 20. Furthermore, host interface 130 can also format the model information received from host device 20 (e.g., Figure 1 The MI is formatted as the internal format corresponding to storage device 10.
[0056] The bus format of host device 20 can be configured as at least one of, for example, Universal Serial Bus (USB), Small Computer System Interface (SCSI), Fast Peripheral Component Interconnect (PCI), AT Attachment (ATA), Parallel AT Attachment (PATA), Serial AT Attachment (SATA), and Serial Attached SCSI (SAS). A Fast Non-Volatile Memory (NVMe) protocol installed on host device 20 that exchanges data using Fast PCI can be applied to host interface 130.
[0057] The memory interface 140 can exchange data with the storage device 200. The memory interface 140 can write data to the storage device 200 via the channel CH, and read data from the storage device 200 via the channel CH. For example, the memory interface 140 can send model information to the storage device 200 via the channel CH, and can also receive model information from the storage device 200 via the channel CH. In an embodiment, the model information stored in the storage device 200 can be formatted such that the model information MI received from the host device 20 corresponds to the storage format within the storage device 10.
[0058] Storage device 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. A 3D memory array is a circuit associated with the operation of an array or memory cells having active regions disposed on a silicon substrate, and the 3D memory array is monolithically formed on or in at least one physical layer of the circuitry formed on the substrate. The term "monolithically" means that each layer constituting the array is directly stacked on top of each layer of the next lower layer of the array.
[0059] In one embodiment, the 3D memory array includes vertically arranged NAND strings such that at least one memory cell is positioned above another memory cell. At least one memory cell may include a charge trapping layer.
[0060] U.S. Patent Publications Nos. 7,679,133, 8,553,466, 8,654,587, and 8,559,235, as well as U.S. Patent Application Publication No. 2011 / 0233648, describe appropriate configurations of 3D memory arrays comprising multiple levels and sharing word lines and / or bit lines between levels, and the cited documents may be incorporated herein by reference.
[0061] In embodiments, storage device 200 may include various other types of non-volatile memory. For example, storage device 200 may include non-volatile memory, and the non-volatile memory may employ various types of memory such as: magnetic RAM (MRAM), spin-torque MRAM, conductive bridge RAM (CBRAM), ferroelectric RAM (FeRAM), phase RAM (PRAM), resistive RAM, nanotube RAM, polymer RAM (PoRAM), nanofloating gate memory (NFGM), holographic memory, molecular electronics memory, and insulator resistance change memory, etc.
[0062] Figure 3A block diagram of a storage device 200 in a storage device according to an embodiment of the present invention is shown.
[0063] Reference Figure 3 The storage device 200 may include a storage cell array 210, an address decoder 220, a voltage generator 230, a control logic block (e.g., control circuitry or a controller) 240, a page buffer circuit 250, and an input / output circuit 260. Although not shown, the storage device 200 may also include an input / output interface.
[0064] The memory cell array 210 can be connected to the word line WL, the serial select line SSL, the ground select line GSL, and the bit line BL. The memory cell array 210 can be connected to the address decoder 220 via the word line WL, the serial select line SSL, and the ground select line GSL, and can be connected to the page buffer circuit 250 via the bit line BL.
[0065] The storage cell array 210 may include multiple storage blocks BLK1, BLK2 to BLKn (i.e., BLK1 to BLKn). The storage device 200 may perform erase operations on a block-by-block basis.
[0066] Each of the memory blocks BLK1 to BLKn may include multiple memory cells and multiple select transistors. Memory cells may be connected to word lines WL, and select transistors may be connected to serial select line SSL or ground select line GSL. The memory cells of each of the memory blocks BLK1 to BLKn may include a single-level cell storing 1 bit of data or a multi-level cell storing M bits of data (M is an integer of 2 or greater than 2).
[0067] Storage cell array 210 may include a model database DB, and model information may be stored in the model database DB. Model information may include, for example, model data and model metadata. Model data may include model architecture and model parameters, and model metadata may include data about model accuracy, data about model training time, and data about the amount of training data.
[0068] Address decoder 220 can select one of multiple memory blocks BLK1 to BLKn in memory cell array 210, select one of the word lines WL of the selected memory block, and select one of multiple string selection lines SSL.
[0069] Voltage generator 230 can generate various types of voltages for performing programming, reading, and erasing operations on memory cell array 210 based on the voltage control signal CTRL_Vol. For example, voltage generator 230 can generate word line voltages VWL such as programming voltage, read voltage, pass voltage, erase verification voltage, or programming verification voltage. Furthermore, voltage generator 230 can generate serial select line voltage and ground select line voltage based on the voltage control signal CTRL_Vol, and can generate the erase voltage to be provided to memory cell array 210.
[0070] Control logic block 240 can output various control signals for performing programming, reading, and erasing operations on memory cell array 210 based on internal command ICMD, address ADDR, and control signal CTRL. Control logic block 240 can provide row address X-ADDR to address decoder 220, column address Y-ADDR to page buffer circuit 250, and voltage control signal CTRL_Vol to voltage generator 230.
[0071] Page buffer circuit 250 can be used as a write driver or a sense amplifier depending on the operating mode. During a read operation, page buffer circuit 250 can sense the bit line BL of the selected memory cell under the control of control logic block 240. The sensed data can be stored in a latch located inside page buffer circuit 250. Page buffer circuit 250 can also dump the data stored in the latch to input / output circuit 260 under the control of control logic block 240.
[0072] The input / output circuit 260 can temporarily store internal commands ICMD, address ADDR, control signals CTRL, and data DATA provided from outside the storage device 200 via input / output lines I / O. The input / output circuit 260 can also temporarily store read data from the storage device 200 and output the read data to the outside via input / output lines I / O at specified times.
[0073] Figure 4 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown. Figure 5A and Figure 5B The diagrams show the format of the acquisition command GCMD and the format of the response according to the acquisition command GCMD, respectively, according to an embodiment of the present invention. Figure 4 A diagram illustrates the operation of retrieving model information stored in storage device 10. For example, operations S130 and S140 can be executed by the processor of storage device 10 by running model information extractor 121 loaded in memory 120.
[0074] Reference Figure 4In operation S110, the host device 20 determines whether the storage device 10 is in a fault state. For example, when it receives input from the user to replace the storage device 10, the host device 20 may determine that the storage device 10 is in a fault state. Alternatively, if the storage device 10 does not perform read and write operations, or if the storage device 10 only performs read operations and the number of bad blocks in the storage device 10 exceeds a threshold, the host device 20 may determine that the storage device 10 is in a fault state in response to receiving a signal from the storage device 10 indicating that the storage device 10 is in a fault state.
[0075] When storage device 10 is determined to be in a fault state, in operation S120, host device 20 sends a GCMD acquisition command to storage device 10. However, the storage system according to the present invention is not limited to this, and even if storage device 10 is determined to be in a normal state rather than a fault state, host device 20 can still send a GCMD acquisition command to storage device 10 to extract model information from storage device 10.
[0076] Reference Figure 4 and Figure 5A In operation S120, the host device 20 sends an acquisition command GCMD to the storage device 10. In an embodiment, the acquisition command GCMD may include a command identifier (ID) and a model identifier (ID). For example, the command identifier may indicate whether the command is an acquisition command GCMD or a placement command PCMD, and the model identifier may indicate the model to be retrieved from the models stored in the storage device 10.
[0077] In operation S130, storage device 10 retrieves model information from the model database. This model information can then correspond to the format within storage device 10.
[0078] In operation S140, storage device 10 sends model information MI corresponding to the acquisition command GCMD to host device 20. Model information MI may include model data and model metadata. For example, model data may include model architecture and model parameters, and model metadata may include information about model accuracy or about the level of model training. Information about the level of model training may include the model's training time or the amount of training data.
[0079] At this time, storage device 10 can send the response code along with the model information MI, such as Figure 5BAs shown. The response code can indicate the result of an operation performed according to the GCMD retrieval command provided from the host device 20. For example, the storage device 10 can send a response code based on a determination made according to the GCMD retrieval command whether the machine learning model corresponding to the model information retrieved from the storage device 10 meets the reliability conditions. When the model does not meet the reliability conditions, the storage device 10 can send only a response code indicating that the model does not meet the reliability conditions, without sending the model information MI.
[0080] In this embodiment, during operation S140, the storage device 10 can transmit the model information MI via a data pin among the plurality of output pins connected to the host device 20. However, when the data pin of the storage device 10 is unavailable, the storage device 10 can transmit the model information MI via a pin other than the data pin among the plurality of output pins. For example, the storage device 10 can transmit the model information MI via an output pin used to transmit information about the power of the storage device 10.
[0081] In operation S150, host device 20 sends model information MI to other storage devices besides storage device 10 to arrange the model information MI. These other storage devices can be in a normal state. For example, when... Figure 1 When the first storage device 10_1 among the first storage devices 10_1 to the kth storage device 10_k is determined to be in a fault state, the host device 20 can extract the model information MI stored in the first storage device 10_1 and send the model information MI to the second storage device 10_2.
[0082] In an embodiment, storage device 10 and the other storage devices may be storage devices connected to and controlled by the same host device 20. For example, storage device 10 and the other storage devices may form a RAID region together. Alternatively, in an embodiment, storage device 10 and the other storage devices may be storage devices running the same application. Therefore, when a specific storage device among multiple storage devices is unavailable, the storage system according to the present invention can distribute the model information MI of the faulty storage device to other storage devices capable of running the same machine learning model, thereby enabling continuous use of the model information MI of the machine learning model across different storage devices (or by different storage devices).
[0083] Figure 6 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown, and a flowchart illustrating... Figure 4 Details of operation S110. Operation S110 may include operations S111 to S117.
[0084] Reference Figure 6In operation S111, the host device (such as, Figure 1 The host device 20 in the middle) determines the storage device (such as, Figure 2A The host device determines whether the storage device 10 can perform a write operation, and in operation S113, it determines whether the storage device can perform a read operation. When the host device determines that the storage device cannot perform a write operation ("No" in operation S111) and a read operation ("No" in operation S113), in operation S117, the host device determines that the storage device is in a fault state. For example, the storage device can send a signal to the host device indicating that the storage device cannot perform a write operation and a read operation, and when the host device receives the signal, the host device can determine that the storage device cannot perform a write operation and a read operation, and determine that the storage device is in a fault state.
[0085] When the storage device can only perform read operations (read-only) ("Yes" in operation S113), in operation S115, the host device determines whether the number of bad blocks on the storage device exceeds a threshold. When the storage device can only perform read operations, the storage device can send a signal indicating that the storage device can only perform read operations, and when the host device receives the signal, the host device can determine that the storage device can only perform read operations and execute operation S115.
[0086] In this embodiment, the threshold used as a reference for the number of bad blocks may be a preset value. Alternatively, the threshold may be a value that adaptively changes with the usage period (i.e., usage time) of the storage device. For example, a machine learning model that infers the threshold as a reference for determining the fault state of the storage device may be stored in the storage device, and the processor of the storage device may obtain the threshold by running the model runner.
[0087] When bad blocks appear in a storage device, the storage device can perform a recovery operation by replacing the bad blocks with spare blocks. However, when the number of bad blocks among multiple storage blocks increases and exceeds a threshold, the storage device may have difficulty performing the recovery operation to recover the data in the bad blocks. Therefore, when the number of bad blocks in the storage device exceeds the threshold, in operation S117, the host device determines that the storage device is in a faulty state. For example, the storage device can provide the host device with information about the current number of bad blocks, and based on this information, the host device can determine whether the number of bad blocks has increased and exceeded the threshold.
[0088] However, the storage device conceived according to the present invention is not limited to Figure 6The operating method could be such that the storage device provides information to the host device regarding whether the storage device is in a normal or faulty state. In this embodiment, when the storage device determines on its own whether it is in a faulty state, it can provide a signal indicating the faulty state to the host device, and the host device can determine that the storage device is in a faulty state by receiving this signal.
[0089] When the host device determines that the storage device is in a faulty state during operation S117, the host device can execute... Figure 4 Operation S120.
[0090] Figure 7 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown, and a flowchart illustrating... Figure 4 Details of operation S140. Operation S140 may include operations S141 to S145. For example, operation S140 may be executed by a processor (such as processor 110 of storage device 10) by running a model information extractor (such as model information extractor 121 loaded in memory 120).
[0091] Reference Figure 7 In operation S141, the storage device 10 determines whether the reliability of the machine learning model meets the transmission conditions based on the extracted model information. The reliability of the model can be determined by considering at least one of the model's accuracy, the model's training level, and the model's size. In an embodiment, the storage device 10 can determine whether the model's reliability meets the transmission conditions by determining whether the model's accuracy is greater than or equal to a threshold. In an embodiment, the threshold used as a reference for the model's accuracy can be a preset value. Furthermore, the storage device 10 can determine whether the model's reliability meets the transmission conditions by determining whether the model's training level is greater than or equal to a threshold, and can also determine whether the model's reliability meets the transmission conditions by determining whether the model's size, which is inversely proportional to the speed of model operation, is less than or equal to a threshold.
[0092] When the reliability of the model meets the transmission condition ("Yes" in operation S141), in operation S143, the storage device 10 formats the extracted model information into a format corresponding to the transmission format and sends the formatted extracted model information to the host device. However, when the transmission format and internal format of the storage device 10 are the same, the storage device 10 does not perform a separate formatting operation.
[0093] On the other hand, when the reliability of the model does not meet the transmission conditions ("No" in operation S142), in operation S145, the storage device 10 sends a result determining the reliability of the model. For example, in operation S145, the storage device 10 sends a response code that includes information that the reliability of the model does not meet the transmission conditions.
[0094] Figure 8 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown. Figure 9 A diagram illustrating the format of the placement command PCMD according to an embodiment of the present invention is shown. Figure 8 A diagram illustrating the operation of placing model information in storage device 10 is shown. For example, operation S230 can be performed by a processor (such as processor 110 of storage device 10) by running a model information arranger (such as model information arranger 123 loaded in memory 120).
[0095] Reference Figure 8 and Figure 9 In operation S210, the host device 20 sends a placement command PCMD to the storage device 10. In an embodiment, the placement command PCMD may include a command identifier (ID), command options, and a model identifier (ID). For example, the command identifier may indicate whether the command is a fetch command GCMD or a placement command PCMD, and the model identifier may indicate a machine learning model corresponding to the model information to be placed on the storage device 10.
[0096] Command options may include information about the method of arranging model information sent after the placement command PCMD. For example, command options may indicate the following options for the placement command PCMD: whether to temporarily store the model information sent after the placement command PCMD in storage device 10; whether to arrange the sent model information in storage device 10 based on the result of comparing the sent model information with the model information arranged in storage device 10; or whether to arrange the sent model information in storage device 10 without comparing the sent model information with the model information arranged in storage device 10. In this case, the arrangement of model information may indicate that the model information used when running the corresponding machine learning model is stored in storage device 10.
[0097] In operation S220, the host device 20 sends 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.
[0098] Model information can be compared with Figure 5B The configuration of the model information shown is the same. That is, model information can include model data and model metadata. For example, model data can include model architecture and model parameters, and model metadata can include data about model accuracy, data about model training time, and data about the amount of training data.
[0099] In operation S230, storage device 10 stores model information. The model information stored in storage device 10 may be model information received from host device 20 and formatted in the internal format of storage device 10. In embodiments, storage device 10 may temporarily store model information according to the command options of placement command PCMD; may arrange model information in storage device 10 according to the result of comparing model information with model information arranged in storage device 10; or may arrange model information in storage device 10 without comparing model information with model information arranged in storage device 10.
[0100] In operation S240, storage device 10 sends a response code. The response code can indicate the result of the operation performed according to the placement command PCMD provided from host device 20. For example, the response code can indicate whether the model information MI sent after the placement command PCMD was stored in storage device 10.
[0101] Figure 10 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown, and a flowchart illustrating... Figure 8 Details of operation S230. Operation S230 may include operations S231 to S237. For example, operation S230 may be performed by a processor (such as, Figure 2A The processor 110 of the storage device shown executes by running a model information arranger (such as a model information arranger 123 loaded in memory 120).
[0102] Reference Figure 10 In operation S231, the storage device determines whether the training level of the machine learning model is greater than or equal to a reference value based on the model information received from the host device. For example, the model metadata in the model information may include information about the model training time or information about the amount of model training data, and the storage device can determine whether the training level of the machine learning model is greater than or equal to the reference value based on the model metadata. In this embodiment, the reference value used as a reference for the training level of the model may be a preset value.
[0103] When the training level of the model is greater than or equal to the reference value ("Yes" in operation S231), in operation S233, the storage device stores (i.e., arranges) the received model information in the storage device. At this time, the model information arranged in the storage device can be model information formatted in the internal format of the storage device.
[0104] On the other hand, when the model's training level is less than the reference value ("No" in operation S231), in operation S235, the storage device performs a model training operation using the received model information. The storage device can increase the training level of the machine learning model corresponding to the received model information by performing the model training operation. For example, the storage device can increase the training level so that the model's training level is greater than or equal to the reference value. For example, operation S235 can be performed by a processor (such as...). Figure 2A The processor 110 of the storage device executes by running a model trainer (such as model trainer 125_2 loaded into memory 120).
[0105] In operation S237, the storage device stores (i.e., arranges) the modified model information in the storage device. When the model training operation is performed in operation S235, the model information can be modified. For example, in operation S235, at least one of the model data and model metadata included in the model information can be modified, and in operation S237, the modified model information can be arranged in the storage device.
[0106] The storage system conceived according to the present invention can determine the training level of a model when model information from other storage devices is placed in a specific storage device, and can perform additional model training operations when the training level of the model does not meet a reference value. Therefore, when model information is placed in a storage device, the storage system can ensure the performance of the machine learning model by performing additional model training operations.
[0107] Figure 11 A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown, and a flowchart illustrating... Figure 8 Details of another example of operation S230 (S230A) and details of operation S240 are provided. Operation S230A includes operations S231A and S233A, and operation S240 includes operations S241 and S243. For example, operation S230A can be performed by a processor (such as...) Figure 2A The processor 110 of the storage device executes by running a model information arranger (such as a model information arranger 123 loaded in memory 120).
[0108] Reference Figure 11 In operation S231A, the storage device determines whether the reliability of the machine learning model corresponding to the model information received from the host device is higher than the reliability of the machine learning model corresponding to the 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 accuracy, the degree of training of the model, and the size of the model.
[0109] When the reliability of the model corresponding to the received model information is higher than the reliability of the existing model ("Yes" in operation S231A), in operation S233A, the storage device stores (i.e., arranges) the received model information in the storage device. At this time, the model information stored in the storage device can be model information formatted according to the internal format of the storage device. In operation S241, the storage device sends a response code indicating that the received model information has been successfully arranged.
[0110] Simultaneously, when the reliability of the model corresponding to the received model information is lower than or equal to the reliability of the existing model, the storage device can retain the existing model information without storing the received model information. In operation S243, the storage device can send a response code indicating that the received model information deployment failed.
[0111] The storage system based on the present invention can compare the reliability of existing models with that of new models when deploying new model information from other storage devices into a specific storage device, and can deploy the new model information when the new model is determined to be more efficient. Therefore, the storage system can prevent the storage of low-performance model information in storage devices and can guarantee the performance of the machine learning models on the storage devices.
[0112] Figure 12A and Figure 12B A flowchart illustrating an operation method of a storage system according to an embodiment of the present invention is shown. For example, Figure 12A Operations S320 and S330 can be performed by a processor (such as processor 110 of storage device 10) by running a model trainer (such as one loaded in memory 120). Figure 2B The model trainer shown is 125_2) used to perform the training, and Figure 12B Operations S420 and S430 can be executed by the processor of storage device 10 by running a model inferencer (such as model inferencer 125_1 loaded in memory).
[0113] Reference Figure 12A In operation S310, the host device 20 sends a model training command to the storage device 10. In operation S320, the storage device 10 reads model information from the storage device in response to the model training command. In operation S330, the storage device 10 performs a model training operation using the read model information. Because the model training operation is performed, the training level of the machine learning model can be increased, and the accuracy of the machine learning model can be increased. The storage system according to the present invention can train a machine learning model within the storage device 10 and can perform model training operations periodically.
[0114] Reference Figure 12BIn operation S410, the host device 20 sends a model inference command to the storage device 10. For example, the model inference command could be a command to activate the corresponding machine learning model.
[0115] In operation S420, storage device 10 reads model information from storage device in response to a model inference command. In operation S430, storage device 10 performs model inference operation using the read model information. Storage device 10 can schedule tasks through model inference operation based on access requests from host device 20, or it can obtain various thresholds and parameters for the operation of storage device 10.
[0116] Apart from Figure 12A and Figure 12B In addition to the model training and model inference commands described herein, host device 20 may also send various commands related to machine learning models to storage device 10. For example, host device 20 may send a command to storage device 10 to obtain the number of machine learning models currently downloaded to storage device 10 and information about the machine learning models, and storage device 10 may respond to the command by sending the number of machine learning models currently downloaded and information about the machine learning models back to host device 20.
[0117] However, even if the storage device 10 according to the present invention does not receive a model training command from the host device 20, the storage device 10 according to the present invention can still perform the model training operation itself. For example, when it is determined that the training level of the model is less than the internal reference training level, the storage device 10 can perform a model training operation on the machine learning model stored therein, thereby increasing the training level of the machine learning model and increasing the accuracy of the machine learning model.
[0118] Furthermore, even if the storage device 10 does not receive model inference commands from the host device 20, the storage device 10 can still perform model inference operations on its own. For example, to perform an internal operation, the host device 20 can use the learning model corresponding to that internal operation to perform the model inference operation.
[0119] Figure 13 A block diagram of a storage system 1000 applying an embodiment of the concept according to the present invention is shown.
[0120] Reference Figure 13 The storage system 1000 may include a host device 20 and a storage device 10, and the host device 20 may receive model information from the storage device 10. The host device 20 may send model information to the cloud system 2000. The model information sent to the cloud system 2000 may be model information received from the storage device 10 and formatted in a transmission format corresponding to the cloud system 2000.
[0121] The model storage 3000 in the cloud environment can manage model information for machine learning models and provide model information upon request from the storage system 1000. The storage system 1000 can download model information from the model storage 3000.
[0122] exist Figure 13 The diagram only shows one storage system 1000 connected to the cloud system 2000; however, multiple storage systems can be connected to the cloud system 2000. The model storage 3000 in the cloud environment can manage various types of model information from multiple storage systems. Therefore, model information from storage system 1000 can be transferred to other storage systems, or conversely, model information from other storage systems can be downloaded from storage system 1000. For example, when the lifespan of storage system 1000 is deemed to have expired, its model information can be recycled to other storage systems via the cloud system 2000.
[0123] Although the inventive concept has been specifically shown and described with reference to embodiments thereof, it should be understood that various changes in form and detail may be made without departing from the spirit and scope of the appended claims.
Claims
1. A storage device, comprising: A storage device that stores model information of a machine learning model; as well as A storage controller configured to control the operation of the storage device using the machine learning model. The storage controller is further configured to: upon receiving a retrieve command from the host device for extracting the model information from the storage device, send the model information to the host device. Specifically, when the model training operation of the storage controller is performed, the model information changes. The model information includes model data and model metadata. The model metadata includes information about the accuracy of the machine learning model and the degree of training of the machine learning model. The storage controller is further configured to: determine whether the reliability of the machine learning model meets the transmission conditions based on at least one of the accuracy and the training level, and If the reliability of the machine learning model satisfies the transmission condition, the model information is formatted to correspond to the transmission format, and the formatted model information is sent to the host device.
2. The storage device according to claim 1, wherein, The acquisition command includes a command identifier and an identifier for the machine learning model.
3. The storage device according to claim 1, in, The model data includes the model architecture of the machine learning model and the model parameters of the machine learning model.
4. The storage device according to claim 1, wherein, The storage controller is further configured to, upon receiving a placement command for arranging model information and new model information from the host device, store the new model information in the storage device in response to the placement command.
5. The storage device according to claim 4, wherein, The placement command includes a command identifier, command options, and an identifier for the machine learning model corresponding to the new model information. The command options include information indicating how to place the new model information.
6. The storage device according to claim 4, wherein, The storage controller is further configured to: train a machine learning model corresponding to the new model information using the new model information when the training level of the machine learning model corresponding to the new model information is less than a reference value; and The modified model information, obtained by training a machine learning model corresponding to the new model information, is stored in the storage device.
7. The storage device according to claim 4, wherein, The storage controller is further configured to store the new model information in the storage device based on a comparison of the model reliability of the machine learning model corresponding to the new model information with the model reliability of the machine learning model corresponding to the model information stored in the storage device.
8. The storage device according to claim 1, wherein, The storage controller is also configured to train the machine learning model in response to a model training command received from the host device.
9. A storage system, comprising: A first storage device and a second storage device, both of which store model information of machine learning models; as well as The host device is configured to manage the operation of the first storage device and the operation of the second storage device. The host device is further configured to: when the first storage device is in a fault state, send a retrieval command to the first storage device for extracting the model information, and The first storage device is further configured to: retrieve the model information stored in the first storage device in response to the acquisition command, and send the model information to the host device. Specifically, when the model training operation is performed within the first storage device, the model information changes. The host device is further configured to send a placement command for arranging the model information to the second storage device, as well as the model information extracted from the first storage device. The second storage device is further configured to: train the machine learning model corresponding to the model information sent with the placement command using the model information sent with the placement command when the training level of the machine learning model corresponding to the model information is less than a reference value; and The modified model information, which is obtained by training the machine learning model corresponding to the model information sent along with the placement command, is stored in the second storage device.
10. The storage system according to claim 9, wherein, The host device is further configured to send the acquisition command for extracting the model information to the first storage device when the first storage device cannot perform data read and data write operations.
11. The storage system according to claim 9, wherein, The host device is further configured to send the acquisition command for extracting the model information to the first storage device when the first storage device can only perform data read operations but cannot perform data write operations and the number of bad blocks included in the first storage device exceeds a threshold.
12. The storage system according to claim 9, wherein, The second storage device is further configured to: store the model information sent with the placement command if the model reliability of the machine learning model corresponding to the model information sent with the placement command is higher than the model reliability of the machine learning model corresponding to the model information stored in the second storage device. The second storage device is further configured to send a response code indicating a failure of the placement operation according to the placement command to the host device if the model reliability of the machine learning model corresponding to the model information sent with the placement command is lower than or equal to the model reliability of the machine learning model corresponding to the model information stored in the second storage device.
13. A method of operating a storage system, the storage system comprising a plurality of storage devices and a host device, the host device being configured to manage the operation of the plurality of storage devices, the method comprising: The host device determines that the first storage device among the plurality of storage devices storing model information of machine learning models is in a fault state; The host device sends a retrieval command to the first storage device to extract the model information; The first storage device sends the model information to the host device in response to the acquisition command; as well as The host device stores the model information in a second storage device, which is separate from the first storage device, among the plurality of storage devices. The sending of the model information includes: Based on at least one of the accuracy of the machine learning model included in the model information and the training level of the machine learning model, it is determined whether the reliability of the machine learning model meets the transmission conditions; and If the reliability of the machine learning model satisfies the transmission condition, the model information is formatted to correspond to the transmission format, and the formatted model information is sent to the host device.
14. The operating method according to claim 13, wherein, The determination that the first storage device is in a faulty state includes: Determine whether the first storage device is capable of performing a write operation; Determine whether the first storage device is capable of performing a read operation; and When the first storage device cannot perform the write operation and the read operation, the first storage device is determined to be in the fault state.
15. The operating method according to claim 13, wherein, The arrangement of the model information includes: The host device sends a placement command for arranging the model information and the model information to the second storage device; and The second storage device stores the model information in response to the placement command.
16. The operating method according to claim 15, wherein, The storage of the model information includes: The machine learning model is trained using the model information; and Store the model information that has been modified by training the machine learning model.