G06F3/0646

TRANSFERRING DATA BETWEEN SOLID STATE DRIVES (SSDs) VIA A CONNECTION BETWEEN THE SSDs
20220100693 · 2022-03-31 ·

A first solid state drive (SSD) includes a built-in network interface device configured to communicate via a network fabric, and a second SSD includes a built-in network interface device configured to communicate via the network fabric. A connection is opened between the first SSD and the second SSD over the network fabric, where the first SSD is further communicatively coupled to the second SSD further over an interconnect associated with a host computer. The first SSD encapsulates a non-volatile memory over fabric (NVMe-oF) command to transfer data between the first SSD and the second SSD in a capsule and sends the capsule to the second SSD over the connection. The second SSD executes the NVMe command to transfer the data between the first SSD and the second SSD over the connection according to an NVMe-oF communication protocol and without transferring any of the data to the host computer.

LARGE DATA READ TECHNIQUES
20220113970 · 2022-04-14 ·

Devices and techniques are disclosed herein for more efficiently exchanging large amounts of data between a host and a storage system. In an example, a read command can optionally include a read-type indicator. The read-type indicator can allow for exchange of a large amount of data between the host and the storage system using a single read command.

SYSTEM AND METHOD FOR MAPPING OBJECTS TO REGIONS

An illustrative embodiment disclosed herein is an apparatus including a processor and a memory. In some embodiments, the memory includes programmed instructions that, when executed by the processor, cause the apparatus to store a first object and a second object in a first region based on the first object and the second object having a first policy. In some embodiments, the memory includes programmed instructions that, when executed by the processor, cause the apparatus to store a third object in a second region based on the third object having a second policy. In some embodiments, a virtual disk includes the first region and the second region.

Command bus in memory

The present disclosure includes apparatuses and methods related to a command bus in memory. A memory module may be equipped with multiple memory media types that are responsive to perform various operations in response to a common command. The operations may be carried out during the same clock cycle in response to the command. An example apparatus can include a first number of memory devices coupled to a host via a first number of ports and a second number of memory devices each coupled to the first number of memory devices via a second number of ports, wherein the second number of memory devices each include a controller, and wherein the first number of memory devices and the second number of memory devices can receive a command from the host to perform the various (e.g., the same or different) operations, sometime concurrently.

Sampling fingerprints in bins

In some examples, a system associates a plurality of buffers in a memory with respective multiple bins of a fingerprint index in persistent storage. The system computes fingerprints for incoming data units, and selects, based on an adaptive sampling indication, a subset of the fingerprints. The system adds fingerprint index entries corresponding to the selected subset of the fingerprints to a respective subset of the multiple bins, wherein adding a fingerprint index entry to a bin of the respective subset of the multiple bins comprises adding the fingerprint index entry to the buffer of the bin.

Storage system and method for user-defined data archiving

A storage system and method for user-defined data archiving are provided. In one embodiment, the method comprises: receiving a write command from a host; determining whether the storage system received an indicator from the host indicating that data of the write command is archive data; in response to determining that the storage system received the indicator, storing the data in the multi-level memory cells; and in response to determining that the storage system did not receive the indicator, storing the data in the single-level memory cells. Other embodiments are provided.

Self-clearing data move assist (DMA) engine

Aspects include receiving a request from a requesting system to move data from a source memory on a source system to a target memory on a target system. The receiving is at a first hardware engine configured to access the source memory and the target memory. In response to receiving the request, the first hardware engine reads the data from the source memory and writes the data to the target memory. In response to the reading being completed, the first hardware engine transmits a data clearing request to a second hardware engine that is configured to access the source memory. The data clearing request specifies a location of the data in the source memory to be cleared.

Multi-actuator storage device with actuator selection

A multi-actuator storage device includes separate actuators that can be used to access a storage medium. A property of a request can be analyzed to determine which actuator to use to access data associated with the request. For example, high-priority requests can be handled by an actuator designated for random I/O requests, whereas low-priority requests can be handled by an actuator designated for sequential I/O requests. Writes can be treated as low-priority requests. In a particular embodiment, a priority bit can be used to determine which actuator is used to access the data.

Mode handling in multi-protocol devices

Aspects of a multi-protocol storage device including a controller are provided which handle mode switches after a shutdown resulting in a large amount of unfinished work by phasing the work during and after initialization. The controller operates in a first mode such as an SD mode and a second mode such as a NVMe mode. In the event of a shutdown in the second mode resulting in unfinished work, the controller initializes in the first mode. During initialization, the controller determines whether a completion time for the unfinished work exceeds an initialization time in the first mode. When the completion time exceeds the initialization time, the controller performs a first portion of the work during initialization and postpones performance of at least a second portion of the unfinished work until after initialization. As a result, initialization timeouts in the first mode due to the unfinished work may be avoided.

Data read method, data storage method, electronic device, and computer program product
11836382 · 2023-12-05 · ·

Embodiments of the present disclosure relate to a data read method, a data storage method, an electronic device, and a computer program product. The data read method includes: receiving a data read request, the data read request comprising a data identifier associated with target data; determining a storage device of the target data based on the data identifier; and acquiring the target data from the storage device based on the data identifier. The data storage method includes: receiving a data storage request, the data storage request comprising a data identifier associated with data to be stored; determining, based on the data identifier, a target storage device for the data to be stored; and storing, based on the data identifier, the data to be stored to the target storage device. With the technical solutions of the present disclosure, a named data network with good performance and efficient operation can be achieved.