Abstract:
A computational storage device includes a control module, and a nonvolatile memory connected to the control module. The nonvolatile memory is configured to store a plurality of graph data elements, which comprises a plurality of nodes and a plurality of edges that connect at least a portion of the plurality of nodes to each other, in a first memory area and a second memory area each having a plurality of blocks and having different read speeds. The control module is configured to store a first graph data element of the plurality of graph data elements having a relatively high degree of association with one node of the plurality of nodes in the first memory area, and store a second graph data element of the plurality of graph data elements having a relatively low degree of association with the one node of the plurality of nodes in the second memory area.
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.
Abstract:
A computational storage device includes a control module, and a nonvolatile memory connected to the control module. The nonvolatile memory is configured to store a plurality of graph data elements, which comprises a plurality of nodes and a plurality of edges that connect at least a portion of the plurality of nodes to each other, in a first memory area and a second memory area each having a plurality of blocks and having different read speeds. The control module is configured to store a first graph data element of the plurality of graph data elements having a relatively high degree of association with one node of the plurality of nodes in the first memory area, and store a second graph data element of the plurality of graph data elements having a relatively low degree of association with the one node of the plurality of nodes in the second memory area.
Abstract:
A computational storage device that is configured to be electrically connected to a host, comprising: a power management integrated circuit that is configured to distribute power; a storage that is configured to store data using a first voltage provided from the power management integrated circuit; a computing module that is configured to perform an operation that is allocated by the host using a second voltage provided from the power management integrated circuit; and a performance monitoring module that is configured to monitor a first workload, a first amount of computation, and/or a first power state of the storage and/or is configured to monitor a second workload, a second amount of computation, and/or a second power state of the computing module and is configured to send a request for additional power to the host based on a monitoring result that is generated by the performance monitoring module.
Abstract:
A storage device includes a non-volatile memory including a plurality of namespaces including a plurality of logical blocks; and a storage controller configured to, for each of the plurality of namespaces, check a capacity that is a number of allocable logical blocks, among the plurality of logical blocks, and a size that is a sum of a number of currently allocated logical blocks, among the plurality of logical blocks, and the number of allocable logical blocks, detect a first namespace, among the plurality of namespaces, by using the capacity and the size, and provide at least a portion of the allocable logical blocks of a second namespace, among the plurality of namespaces, to the first namespace.
Abstract:
A storage device includes; a memory, a management circuit configured to manage an offloading program table and a count table, and a computing circuit configured to perform a processing operation using the offloading program table, the count table, and the memory. The management circuit is further configured to, in response to a first offloading program and a first offloading request, selectively store the first offloading program in the offloading program table in accordance with a determination of whether an offloading program identical to the first offloading program is stored in the offloading program table, and update the count table storing a first count indicating a remaining number of processing operations using the first offloading program.
Abstract:
A matching key search method of a server system including a storage device, the storage device including a nonvolatile memory device and a buffer memory. The matching key search method includes receiving a search command for a keyword from a host, reading data from a memory area of the memory device corresponding to an address included in the search command and storing the read data in the buffer memory, determining whether the read data matches the keyword, transmitting a result of the determining to the host without transmitting the read data to the host, and generating a matching key table with reference to the result of the determining and storing the generated matching key table in the buffer memory.