Patent classifications
G06F3/0685
TECHNOLOGIES FOR DYNAMIC ACCELERATOR SELECTION
Technologies for dynamic accelerator selection include a compute sled. The compute sled includes a network interface controller to communicate with a remote accelerator of an accelerator sled over a network, where the network interface controller includes a local accelerator and a compute engine. The compute engine is to obtain network telemetry data indicative of a level of bandwidth saturation of the network. The compute engine is also to determine whether to accelerate a function managed by the compute sled. The compute engine is further to determine, in response to a determination to accelerate the function, whether to offload the function to the remote accelerator of the accelerator sled based on the telemetry data. Also the compute engine is to assign, in response a determination not to offload the function to the remote accelerator, the function to the local accelerator of the network interface controller.
Managing container-image layers
Container-image layers can be managed. For example, a computing device can determine a first score for a first layer of a container image and a second score for a second layer of the container image. The computing device can determine that the first score corresponds to a first storage destination among several possible storage destinations. The computing device can also determine that the second score corresponds to a second storage destination among the possible storage destinations. The second storage destination can be different from the first storage destination. The computing device can then store (i) the first layer in the first storage destination based on the first layer being correlated to the first score, and (ii) the second layer in the second storage destination based on the second layer being correlated to the second score.
STORAGE DEVICE, AN OPERATION METHOD OF A STORAGE SYSTEM INCLUDING THE STORAGE DEVICE, AND A HOST DEVICE CONTROLLING THE STORAGE DEVICE
A storage device including: a nonvolatile memory device including a first, second and third area; and a controller to receive a first write command including a first logical block address from a host, to receive first data corresponding to the first logical block address in response to the first write command, and store the first data in the nonvolatile memory device, when the first write command includes area information, the controller stores the first data in the first area or the second area based on the area information, when the first write command does not include the area information, the controller stores the first data. in the third area, each of the first area and the second area includes memory cells each storing “n” bits (n being a positive integer), and the third area includes memory cells each storing “m” bits (m being a positive integer greater than n).
Storage device, an operation method of a storage system including the storage device in which data stored in apinned buffer area and a non-pinned buffer area is flushed according to a flush request/policy, and a host device controlling the storage device
A storage device including: a nonvolatile memory device including a first, second and third area; and a controller to receive a first write command including a first logical block address from a host, to receive first data corresponding to the first logical block address in response to the first write command, and store the first data in the nonvolatile memory device, when the first write command includes area information, the controller stores the first data in the first area or the second area based on the area information, when the first write command does not include the area information, the controller stores the first data in the third area, each of the first area and the second area includes memory cells each storing “n” bits (n being a positive integer), and the third area includes memory cells each storing “m” bits (m being a positive integer greater than n).
SELECTIVE BOOT CONTROLLER FOR RESILIENT STORAGE MEMORY
A storage device for booting a host computing device includes a first storage memory region having a first storage memory controller, a second storage memory region having a second storage memory controller, and a resilient boot controller. The resilient boot controller is configured to store boot code in the first storage memory region, prevent write access by the host computing device through the first storage memory controller to the first storage memory region, detect a reset of the host computing device through the input/output interface, copy at least a portion of the boot code from the first storage memory region to the second storage memory region, responsive to detection of the reset of the host computing device, and enable read access of the copied boot code by the host computing device through the second storage memory controller of the second storage memory region, responsive to the copy operation.
SYSTEMS, METHODS, AND APPARATUS FOR COMPUTATIONAL STORAGE FUNCTIONS
Provided are systems, methods, and apparatuses for managing functions for storage devices. The method can include: determining one or more functions associated with a first device and determining one or more corresponding function types for the functions; grouping the functions based on the function types using a group name; and providing the group name to a second device for use in connection with an associated application, wherein the storage device comprises a computational storage (CS) device.
SYSTEMS AND METHODS FOR PROFILING HOST-MANAGED DEVICE MEMORY
The disclosed computer-implemented method may include (1) receiving, at a storage device via a cache-coherent interconnect, a first request to access data at one or more host addresses of a coherent memory space of an external host processor, (2) updating, in response to the first request, one or more statistics associated with accessing the data at the one or more host addresses, (3) receiving, at the storage device via the cache-coherent interconnect, a second request to perform an operation associated with the one or more statistics, and (4) using the one or more statistics to perform the operation. Various other methods, systems, and computer-readable media are also disclosed.
Efficient Read By Reconstruction
A method for efficient reads by reconstruction may determining an expected read latency for reading data from a primary read location of a plurality of storage devices, determining an expected reconstruction latency for reconstructing the data using reconstruction data, wherein portions of the reconstruction data are stored at a plurality of alternative read locations of the plurality of storage devices, reading the portions of the reconstruction data from the plurality of alternative read locations of the plurality of storage devices, and reconstructing the data stored at the primary read location using the reconstruction data, wherein the expected reconstruction latency is lower than the expected read latency.
RAID Storage System with a Protection Pool of Storage Units
A storage node can include one or more processors and one or more storage disks, where the one or more storage disks include one or more local physical extents (PEs) that are local to the storage node. The storage node can include a protection pool driver executed by the one or more processors to run in a kernel space of the storage node, where the protection pool driver includes a local disk manager (LDM) and an array group module (AGRP). The LDM can be configured to manage the one or more local PEs at the one or more storage disks. The AGRP can include a number of storage arrays, where each of the storage arrays includes one or more virtual disks, where each of the one or more virtual disks is associated to at least a local PE or an external PE external to the storage node.
SEMICONDUCTOR STORAGE DEVICE WITH VOLATILE AND NONVOLATILE MEMORIES TO ALLOCATE BLOCKS TO A MEMORY AND RELEASE ALLOCATED BLOCKS
A semiconductor storage device includes a first memory area configured in a volatile semiconductor memory, second and third memory areas configured in a nonvolatile semiconductor memory, and a controller which executes following processing. The controller executes a first processing for storing a plurality of data by the first unit in the first memory area, a second processing for storing data outputted from the first memory area by a first management unit in the second memory area, and a third processing for storing data outputted from the first memory area by a second management unit in the third memory area.