G06F12/0253

Implementing automatic rate control in a memory sub-system
11556258 · 2023-01-17 · ·

A processing device in a memory system identifies, while the memory device is in a first state condition, a plurality of workload conditions associated with the memory device, wherein the plurality of workload conditions comprise data reflecting a performance condition of the memory device. The processing device determines, while the memory device is in the first state condition, a host rate of a host system write performance for the memory device based on one or more workload conditions of the plurality of workload conditions. The processing device determines that one or more workload conditions of the plurality of workload conditions satisfies a first threshold criterion. Responsive to determining that the one or more workload conditions of the plurality of workload conditions satisfies the first threshold criterion, the processing device detects a change in a condition of the memory device from the first state to a second state. The processing device determines, while the memory device is in the second state condition, an adjusted host rate based on the host rate and a calculated adjustment value. The processing device uses the adjusted host rate to determine a credit consuming rate for a host write operation for the memory device.

Optimizing garbage collection that uses a logical-to-physical table search
11556467 · 2023-01-17 · ·

A method is described that includes determining, by a memory subsystem, that a garbage collection process is to be performed on a memory device and selecting a first candidate block stripe for folding into a first target block stripe in response to determining that the garbage collection process is to be performed. The method further includes determining, by the memory subsystem, that a physical-to-logical table stored in the first candidate block stripe is unavailable; reducing a write command rate, which controls a rate at which writes are fulfilled by the memory subsystem, in response to determining that the physical-to-logical table stored in the first candidate block stripe is unavailable; and performing folding of the first candidate block stripe into the first target block stripe using a logical-to-physical table.

AUTOMATIC MOVEMENT OF DEDUPED DATA TO ARCHIVAL TIERS OF CLOUD STORAGE BASED ON ACCESS PATTERNS
20230222057 · 2023-07-13 ·

A method, apparatus, and system manages an object in a storage provider that provides a plurality of storage classes of storage. The method may include receiving a request for transfer of the object comprising segments from a first storage class to a second storage class of the storage provider; storing metadata associated with the object; determining that each of the segments satisfies a data storage policy based on the access characteristics of each of the segments within the object, wherein the determining includes: determining that none of the segments are referenced by the new segment for a predetermined time period; determining that none of the segments are accessed for the predetermined time period from the last accessed time instance; and in response to determining that each of the segments satisfies the data storage policy, transferring the object from the first storage class to the second storage class of the storage provider.

Copy and restore of page in byte-addressable chunks of cluster memory

Disclosed are various embodiments for improving the resiliency and performance of cluster memory. First, a computing device can submit a write request to a byte-addressable chunk of memory stored by a memory host, wherein the byte-addressable chunk of memory is read-only. Then, the computing device can determine that a page-fault occurred in response to the write request. Next, the computing device can copy a page associated with the write request from the byte-addressable chunk of memory to the memory of the computing device. Subsequently, the computing device can free the page from the memory host. Then, the computing device can update a page table entry for the page to refer to a location of the page in the memory of the computing device.

Prediction based garbage collection

Apparatuses and methods can be related to performing prediction based garbage collection. Performing prediction based garbage collection can include performing a first instance of garbage collection, of the memory device, using a first circuitry of the controller and generating a prediction using a second circuitry of the controller. A confidence interval can also be generated for the prediction using the second circuitry of the controller. Responsive to determining that the confidence interval is greater than a threshold, a second instance of garbage collection, of the memory device, can be triggered using the first circuitry of the controller where the first instance of garbage collection is triggered before the second instance of garbage collection.

Global extension of a logical-to-physical region of a data storage device

A data storage device coupled to a controller. The controller is configured to determine whether a request to perform a data transfer operation has been received and determine whether a request to perform a garbage collection operation is necessary during the data transfer operation. The controller generates an extended logical-to-physical table (L2P) including information for the data transfer operation in response to determining the request to perform the data transfer operation has been received and the request to perform the garbage collection operation is necessary, transmits the extended L2P table to one or more peer data storage devices, and performs the garbage collection operation after transmitting the extended L2P table to the one or more peer data storage devices.

BALANCING UTILIZATION OF MEMORY POOLS OF PHYSICAL BLOCKS OF DIFFERING STORAGE DENSITIES

A non-volatile memory includes a plurality of physical blocks each including a respective plurality of cells, where each cell is individually capable of storing multiple bits of data. A controller for the non-volatile memory maintains dynamically resizable pools of physical blocks, including at least a low-density pool of physical blocks in which cells are configured to store a fewer number of bits and a high-density pool of physical blocks in which cells are configured to store a greater number of bits. The controller detects an imbalance in utilization between the low-density and high-density pools and, based on detection of the pool imbalance, restricts data placement in the low-density pool, enables garbage collection from the low-density pool back into the low-density pool to compact the low-density pool, and re-enables data placement to the low-density pool based on availability of a threshold number of free physical blocks in the low-density pool.

METHOD AND APPARATUS FOR PERFORMING ACCESS CONTROL OF MEMORY DEVICE WITH AID OF ADDITIONAL PHYSICAL ADDRESS INFORMATION
20230214320 · 2023-07-06 · ·

A method and apparatus for performing access control of a memory device with aid of additional physical address information are provided. The method includes: during a garbage collection procedure, reading valid data from a source block and writing the valid data into a destination block; updating at least one logical-to-physical address mapping table; receiving a first read request from a host device, wherein the first read request indicates reading at a first logical address; in response to the first read request, reading the valid data of the destination block according to the second physical address associated with the first logical address; receiving a second read request from the host device, wherein the second read request indicates reading at the first logical address; and in response to the second read request, reading the valid data of the source block according to the first physical address associated with the first logical address.

METHOD AND SYSTEM FOR MANAGING MEMORY LEAKS IN A LINEAR MEMORY MODEL

A method for managing memory leaks in a memory device includes grouping, by a garbage collection system, a plurality of similar memory allocations of the memory device into one or more Unique Fixed Identifiers (UFIs); identifying, by the garbage collection system, one of the one or more UFIs having a highest accumulated memory size and adding each of the plurality of memory allocations in the identified one of the one or more UFIs into a Potential Leak Candidate List (PLCL); identifying, by the garbage collection system, the memory leaks in the memory device by identifying unreferenced memory addresses associated with the plurality of memory allocations in the PLCL; and releasing, by the garbage collection system, the identified unreferenced memory addresses associated with the plurality of memory allocations corresponding to the memory leaks into the memory device.

Optimizing garbage collection based on survivor lifetime prediction
11550712 · 2023-01-10 · ·

A predictive method for scheduling of the operations is described. The predictive method utilizes data generated from computing an expected lifetime of the individual files or objects within the container. The expected lifetime of individual files or objects can be generated based on machine learning techniques. Operations such as garbage collection are scheduled at an epoch where computational efficiencies are realized for performing the operation.