Abstract:
An electronic system includes a computational storage device comprising a computing circuit and a memory device, wherein the computing circuit is configured to perform an offloading computing operation, and the memory device is configured to store an offloading program for the offloading computing operation, and a host configured to transmit, in response to an offloading request from a virtual machine, an offloading-related command for controlling the offloading computing operation and management information about the offloading program to the computational storage device. The computational storage device is configured to delete the offloading program based on the management information.
Abstract:
A storage system includes: an interconnector; a plurality of storage devices connected to the interconnector and configured to store data; a host device connected to the interconnector, and configured to: set a plurality of erasure coding schemes that are different from each other, and determine a target erasure coding scheme corresponding to original data to be stored in the plurality of storage devices among the plurality of erasure coding schemes, based on device characteristics of the plurality of storage devices or data characteristics of the original data; and an erasure coding controller configured to: divide the original data into a plurality of data blocks corresponding to the target erasure coding scheme, and generate one or more parity blocks corresponding to the target erasure coding scheme, by encoding the plurality of data blocks.
Abstract:
A method of programming a non-volatile memory device including a plurality of strings arranged in rows and columns comprises activating all or a part of selection lines in one column at the same time depending upon data to be programmed, driving a bit line corresponding to the one column with a bit line program voltage, and repeating the activating and the driving until bit lines corresponding to the columns are all driven.
Abstract:
In a method of writing data in a storage device, a data write request is received from a host device. Spatial information is received from a spatial sensor included in the storage device based on the data write request. A logical storage area management table is updated based on the data write request and the spatial information such that target data to be stored is written into a target storage area corresponding to the spatial information among a plurality of logical storage areas. A program command and the target data are transmitted to a nonvolatile memory such that the target data is programmed into a physical storage area in the nonvolatile memory corresponding to the target storage area.
Abstract:
A method is provided to operate a storage device including a storage controller and a plurality of nonvolatile memory devices. A plurality of original data blocks are received at the storage controller from a host. An original parity block is generated based on the original data blocks. The original data blocks and the original parity block are stored in respective ones of the nonvolatile memory devices, wherein a first original data block of the original data blocks is stored in a first one of the nonvolatile memory devices, and wherein the original parity block is stored in a second one of the nonvolatile memory devices. A new data block corresponding to the first original data block is received at the storage controller from the host after storing the original data blocks and the original parity block. The new data block is stored in the first nonvolatile memory device. A new parity block is generated at the second nonvolatile memory device based on the original parity block and based on differences between the first original data block and the new data block.
Abstract:
A method of operating a storage server which includes a plurality of storage devices and a storage node configured to control the plurality of storage devices is provided. The method includes grouping first virtual machines based on workload characteristics of the first virtual machines, to generate a virtual machine group table; receiving, from first storage devices, attribute information of the first storage devices, the first storage devices being allocated to the first virtual machines; collecting recovery information from the first storage devices; generating a recovery sequence table by determining recovery sequences based on the virtual machine group table, the attribute information, and the recovery information; and providing a corresponding recovery sequence to a second storage device of the plurality of storage devices, based on the recovery sequence table, the second storage device being allocated to a new second virtual machine different from the first virtual machines.
Abstract:
In a storage system, a first computational storage device may be configured to store first data used to execute a program, and a second computational storage device may be configured to store second data used to execute the program. The second computational storage device may be configured to receive the program offloaded from the host device, bring the first data from the first computational storage device, and execute the program using a plurality of data including the first data and the second data.
Abstract:
A method is provided to operate a storage device including a storage controller and a plurality of nonvolatile memory devices. A plurality of original data blocks are received at the storage controller from a host. An original parity block is generated based on the original data blocks. The original data blocks and the original parity block are stored in respective ones of the nonvolatile memory devices, wherein a first original data block of the original data blocks is stored in a first one of the nonvolatile memory devices, and wherein the original parity block is stored in a second one of the nonvolatile memory devices. A new data block corresponding to the first original data block is received at the storage controller from the host after storing the original data blocks and the original parity block. The new data block is stored in the first nonvolatile memory device. A new parity block is generated at the second nonvolatile memory device based on the original parity block and based on differences between the first original data block and the new data block.
Abstract:
Methods of operating storage systems that include a plurality of solid state drives, and the storage systems, are described. For example, a method may include, configuring the plurality of solid state drives into an erasure coding set for applying erasure coding, monitoring a reliability status of each of the plurality of solid state drives, selecting at least one solid state drive whose reliability status is lower than a reference value from among the plurality of solid state drives to exclude the at least one solid state drive from the erasure coding set, and constructing a replication set for applying data protection of a replication method by using the at least one solid state drive excluded from the erasure coding set.
Abstract:
An electronic device includes a host device and a plurality of storage devices. The host device includes a processor and a baseboard management controller (BMC). Each of the plurality of storage devices includes a storage controller and a micro controller unit (MCU). The processor and the storage controller support in-band communication, and the BMC and the MCU support out-of-band communication. The BMC receives monitoring data from the MCU of each of the plurality of storage devices based on the out-of-band communication. The processor allocates a first workload among one or more workloads to a first storage device among the plurality of storage devices, based on a monitoring data set including the monitoring data. The first storage device executes the first workload based on the in-band communication.