Dynamic allocation of buffers for eviction procedures
AssigneeMicron Technology, Inc.
InventorsSaira Samar Malik, Taeksang Song, Chinnakrishnan Ballapuram
Life of this patent
Estimating the term…
Abstract
Methods, systems, and devices for cache management in a memory subsystem are described. A device may determine to perform an eviction procedure for a bank of a volatile memory that operates as a cache for a non-volatile memory. The eviction procedure may save data from the bank of the volatile memory to the non-volatile memory. The device may determine an activity status for at least one buffer in a pool of buffers that are coupled with the volatile memory and the non-volatile memory. The device may select the at least one buffer in the pool of buffers for the eviction procedure for the bank of the volatile memory based at least in part on the activity status for that buffer.
Claims25
An apparatus, comprising:
- a non-volatile memory;
- a volatile memory comprising multiple banks and configured to operate as a cache for the non-volatile memory;
- a pool of buffers coupled with the non-volatile memory and the volatile memory;
- and
- an interface controller coupled with the non-volatile memory and the volatile memory, the interface controller operable to cause the apparatus to:
- determine to perform an eviction procedure for a bank of the multiple banks, wherein the eviction procedure comprises saving data from the bank of the volatile memory to the non-volatile memory;
- and
- select, from the pool of buffers, a buffer for the eviction procedure for the bank of the volatile memory based at least in part on an activity status for the buffer.
An apparatus, comprising:
- a non-volatile memory;
- a volatile memory comprising multiple banks and configured to operate as a cache for the non-volatile memory;
- and
- an interface controller coupled with the non-volatile memory and the volatile memory, the interface controller comprising logic operable to:
- receive information for a row in a bank of the volatile memory that is selected to undergo a procedure that saves data from the row to the non-volatile memory;
- determine, from a pool of buffers, a buffer for the procedure based at least in part on a flag for the buffer indicating that the buffer is available;
- and
- communicate, based at least in part on determining the buffer, a control signal to select the buffer for the procedure for the row in the bank of the volatile memory.
A method performed by a memory device, the method comprising:
- determining to perform an eviction procedure for a bank of a volatile memory that operates as a cache for a non-volatile memory, wherein the eviction procedure saves data from the bank of the volatile memory to the non-volatile memory;
- determining an activity status for at least one buffer in a pool of buffers coupled with the volatile memory and the non-volatile memory;
- and
- selecting a buffer from the pool of buffers for the eviction procedure for the bank of the volatile memory based at least in part on the activity status for that buffer.
Dependencies are inferred from the claim text.