G06F3/061

Flushless Transactional Layer

Writing data to storage utilizing a diverged thread for asynchronous write operations is provided. On a first thread, an analysis engine analyzes and identifies changed information to write to storage and an I/O manager copies the writes into buffers and places the buffers into a queue, while on a second thread, a flushless transactional layer (FTL) drive executes the writes to storage. By allowing the analysis to continue and enqueue writes on a first thread while the writes are written to storage on a second thread, the CPU and I/O of the system are utilized in parallel. Accordingly, efficiency of the computing device is improved.

Memory system and method for controlling nonvolatile memory
11709597 · 2023-07-25 · ·

According to one embodiment, when receiving a write request to designate a first block number and a first logical address from a host, a memory system determines a first location in a first block having the first block number, to which data from the host is to be written, and writes the data from the host to the first location of the first block. The memory system updates a first address translation table managing mapping between logical addresses and in-block physical addresses of the first block, and maps a first in-block physical address indicative of the first location to the first logical address.

Storing zones in a zone namespace on separate planes of a multi-plane memory device
11709605 · 2023-07-25 · ·

A processing device in a memory system receives requests to perform a plurality of memory access operations at a memory device configured with a zone namespace having a plurality of zones, the memory device comprising a plurality of planes, wherein each zone of the plurality of zones is associated with a respective plane of the plurality of planes. The processing device further concurrently performs the plurality of memory access operations on data stored in different zones of the plurality of zones, wherein the different zones are associated with different planes of the plurality of planes.

SOLID STATE DRIVE DEVICES AND STORAGE SYSTEMS HAVING THE SAME
20180011633 · 2018-01-11 ·

A solid state drive (SSD) device includes a first nonvolatile memory package, a second nonvolatile memory package, and a controller. The first nonvolatile memory package includes a first buffer chip and a plurality of first nonvolatile memory chips. The second nonvolatile memory package includes a plurality of second nonvolatile memory chips. The controller controls the first nonvolatile memory package and the second nonvolatile memory package. The first buffer chip communicates a first address signal and a first data with the controller, and selectively communicates the first data with one of the plurality of first nonvolatile memory chips and the plurality of second nonvolatile memory chips based on the first address signal.

DISTRIBUTED DATA SET ENCRYPTION AND DECRYPTION

An apparatus includes a processor component of a first node device caused to receive data block encryption data and an indication of size of an encrypted data block distributed to the first node device for decryption, and in response to the data set being of encrypted data: receive an indication of the quantity of sub-blocks within the encrypted data block, and a hashed identifier for each data sub-block; use the data block encryption data to decrypt the encrypted data block to regenerate data set portions from the data sub-blocks; analyze the hashed identifier of each data sub-block to determine whether all data set portions are distributed to the first node device for processing; and in response to a determination that at least one data set portion is to be distributed to a second node device for processing, transmit the at least one data set portion to the second node device.

Multi-tier write allocation

Techniques are provided for multi-tier write allocation. A storage system may store data within a multi-tier storage environment comprising a first storage tier (e.g., storage devices maintained by the storage system), a second storage tier (e.g., a remote object store provided by a third party storage provider), and/or other storage tiers. A determination is made that data (e.g., data of a write request received by the storage system) is to be stored within the second storage tier. The data is stored into a staging area of the first storage tier. A second storage tier location identifier, for referencing the data according to a format utilized by the second storage tier, is assigned to the data and provided to a file system hosting the data. The data is then destaged from the staging area into the second storage tier, such as within an object stored within the remote object store.

WRITE TRACKING FOR MEMORIES

In various examples, device comprises a memory and a memory controller. The memory controller comprises a write tracking buffer. The memory controller to: receive a write request bound for the memory, store an entry associated with the write request in the write tracking buffer, and determine an access pattern of the memory. The access pattern indicates a high or a low write bandwidth of the memory. The memory controller to execute the write request bound for the memory based on the determined memory access pattern, complete execution of the write request, and responsive to completing execution of the write request, free the entry associated with the write request from the write tracking buffer.

Method, device and computer program for data storage
11709596 · 2023-07-25 · ·

Techniques involve: selecting a stream from a plurality of streams having respective update frequencies, the update frequency of the selected stream matching an update frequency of to-be-written data; determining a label of the data based on a label of the selected stream; and sending a write request for the data to a storage system, the write request comprising the label of the data, so that the storage system performs a write operation for the data based on the stream identified by the label. Accordingly, a write amplification factor can be reduced, thereby increasing the effective life of a storage device and improving read and write performance of the storage system.

File storage and computer system that creates new chunks after an update
11709628 · 2023-07-25 · ·

In file storage, a CPU is configured to: divide a file into a plurality of chunks, execute encoding processing on at least one of the chunks to obtain an encoded chunk, and store in cloud storage a plurality of chunks of the file including the encoded chunk; acquire, when receiving a read command of which target is data of a part of a file stored in the cloud storage, a read target chunk including data, which is a target of the read command, from the cloud storage; and execute, when an encoded chunk is included in the read target chunk, decoding processing on the encoded chunk, identify data that is a read target from the read target chunk including the chunk having been subjected to decoding processing, and hand over the identified data to a command source of the read command.

Input/output size control between a host system and a memory sub-system
11709632 · 2023-07-25 · ·

A memory sub-system configured to dynamically determine input/output sizes of write commands based on a media physical layout of a memory sub-system. The memory sub-system can identify, dynamically in response to write commands being selected for execution in media units of the memory sub-system, a portion of a media layout that maps from logical addresses identified by the write commands in the logical address space to physical addresses of memory units in the media units. Based on the media layout, an input/output size for a next write command is identified and transmitted to the host system in a response. The host system generates the next write command and configures the amount of data to be written through the next write command based on based on the input/output size identified in the response.