Patent classifications
G06F12/0871
Performing a media management operation based on changing a write mode of a data block in a cache
A method includes receiving, by a processing device, an indication that a media management operation performed with respect to a block of a memory sub-system satisfies a performance condition, wherein the block maintains first data stored using a first write mode, in response to receiving the indication, determining, by the processing device, that a cache block of a cache area of the memory sub-system satisfies an endurance condition, wherein the cache block maintains second data stored using a second write mode, and changing, by the processing device, a write mode for the cache block from the second write mode to the first write mode responsive to determining that the cache block satisfies the endurance condition.
Systems and methods for decoding error correcting codes with historical decoding information
Systems and methods are provided for decoding data read from non-volatile storage devices. A method may comprise receiving a chunk of data read from a physical location of a non-volatile storage device and searching a memory for soft information associated with the physical location using a unique identifier associated with the physical location. The soft information may be generated from one or more previous decoding processes on previous data from the physical location. The method may further comprise retrieving the soft information identified by the unique identifier associated with the physical location from the memory, decoding the chunk of data with the soft information indicating reliability of bits in the chunk of data and updating the soft information with decoding information generated during the decoding.
Systems and methods for decoding error correcting codes with historical decoding information
Systems and methods are provided for decoding data read from non-volatile storage devices. A method may comprise receiving a chunk of data read from a physical location of a non-volatile storage device and searching a memory for soft information associated with the physical location using a unique identifier associated with the physical location. The soft information may be generated from one or more previous decoding processes on previous data from the physical location. The method may further comprise retrieving the soft information identified by the unique identifier associated with the physical location from the memory, decoding the chunk of data with the soft information indicating reliability of bits in the chunk of data and updating the soft information with decoding information generated during the decoding.
Adaptive cache
Described apparatuses and methods form adaptive cache lines having a configurable capacity from hardware cache lines having a fixed capacity. The adaptive cache lines can be formed in accordance with a programmable cache-line parameter. The programmable cache-line parameter can specify a capacity for the adaptive cache lines. The adaptive cache lines may be formed by combining respective groups of fixed-capacity hardware cache lines. The quantity of fixed-capacity hardware cache lines included in respective adaptive cache lines may be based on the programmable cache-line parameter. The programmable cache-line parameter can be selected in accordance with characteristics of the cache workload.
Storage device using cache buffer and method of operating the same
A storage device capable of maintaining consistency of data for the same address may include a memory device including a plurality of memory blocks, a buffer memory device including a plurality of cache buffers temporarily storing data previously received from a host, and a memory controller configured to receive a write request and a write data from the host and configured to control the buffer memory device and the memory device to store a previously received data, stored in one of the plurality of cache buffers with a logical address that matches a logical address of the write data, in the memory device before the write request is processed.
Cache grouping for increasing performance and fairness in shared caches
A method includes monitoring one or more metrics for each of a plurality of cache users sharing a cache, and assigning each of the plurality of cache users to one of a plurality of groups based on the monitored one or more metrics.
Address hashing in a multiple memory controller system
In an embodiment, a system may support programmable hashing of address bits at a plurality of levels of granularity to map memory addresses to memory controllers and ultimately at least to memory devices. The hashing may be programmed to distribute pages of memory across the memory controllers, and consecutive blocks of the page may be mapped to physically distant memory controllers. In an embodiment, address bits may be dropped from each level of granularity, forming a compacted pipe address to save power within the memory controller. In an embodiment, a memory folding scheme may be employed to reduce the number of active memory devices and/or memory controllers in the system when the full complement of memory is not needed.
Address hashing in a multiple memory controller system
In an embodiment, a system may support programmable hashing of address bits at a plurality of levels of granularity to map memory addresses to memory controllers and ultimately at least to memory devices. The hashing may be programmed to distribute pages of memory across the memory controllers, and consecutive blocks of the page may be mapped to physically distant memory controllers. In an embodiment, address bits may be dropped from each level of granularity, forming a compacted pipe address to save power within the memory controller. In an embodiment, a memory folding scheme may be employed to reduce the number of active memory devices and/or memory controllers in the system when the full complement of memory is not needed.
DISTRIBUTED RESOURCE CACHING
Embodiments are directed to distributed resource caching. A file system that includes cache volumes and agents that may be associated with clients of the file system may be provided. A cache allocation for each agent may be determined based on a capacity of the cache volumes and a number of the agents such that each cache allocation is associated with tokens that each represent a reserved portion of free space in the cache volumes. Storage jobs may be provided to the agents. Data associated with the storage jobs may be stored in the cache volumes. The cache allocation for each agent may be reduced based on the data stored for each agent.
DISTRIBUTED RESOURCE CACHING
Embodiments are directed to distributed resource caching. A file system that includes cache volumes and agents that may be associated with clients of the file system may be provided. A cache allocation for each agent may be determined based on a capacity of the cache volumes and a number of the agents such that each cache allocation is associated with tokens that each represent a reserved portion of free space in the cache volumes. Storage jobs may be provided to the agents. Data associated with the storage jobs may be stored in the cache volumes. The cache allocation for each agent may be reduced based on the data stored for each agent.