Managing redundancy contexts in storage devices using eviction and restoration
AssigneeMicron Technology, Inc.
InventorsJames P. Crowley, Yuriy Pavlenko, Karl D. Schuh
Life of this patent
Estimating the term…
Abstract
A controller selects a redundancy context for eviction in response to a request for a redundancy context. The redundancy context includes buffer data and an identifier. The redundancy context is evicted by instructing a redundancy component to send the buffer data and identifier to a memory component to store in a buffer as an evicted context. The controller instructs the memory component to provide the evicted context for storage in a controller buffer. A new redundancy context is allocated to the requester following the eviction.
Claims20
A computer-implemented method comprising:
- receiving a first request to allocate a portion of a first memory as a redundancy context, wherein the first memory includes a plurality of redundancy contexts temporarily storing data used to calculate redundancy values for the data;
- selecting an idle redundancy context for eviction in response to the first request, wherein the idle redundancy context includes a first buffer of data and a context identifier;
- evicting contents of the idle redundancy context by sending the first buffer of data and the context identifier to a memory component of a second memory;
- retrieving the contents of the evicted context from the memory component of the second memory;
- storing the retrieved contents of the evicted context in a second buffer;
- and
- allocating the portion of the first memory as a new redundancy context in response to the first request and the eviction.
A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:
- receive a first request to allocate a portion of a first memory as a redundancy context, wherein the first memory includes a plurality of redundancy contexts temporarily storing data used to calculate redundancy values for the data;
- select an idle redundancy context for eviction in response to the first request, wherein the idle redundancy context includes a first buffer of data and a context identifier;
- evict contents of the idle redundancy context by sending the first buffer of data and the context identifier to a memory component of a second memory;
- retrieve the contents of the evicted context from the memory component of the second memory;
- store the retrieved contents of the evicted context in a second buffer;
- and
- allocate the portion of the first memory as a new redundancy context in response to the first request and the eviction.
A system comprising:
- a memory component;
- and
- a processing device, coupled to the memory component, configured to:
- receive a first request to allocate a portion of a first memory as a redundancy context, wherein the first memory includes a plurality of redundancy contexts temporarily storing data used to calculate redundancy values for the data;
- select an idle redundancy context for eviction in response to the first request, wherein the idle redundancy context includes a first buffer of data and a context identifier;
- evict contents of the idle redundancy context by sending the first buffer of data and the context identifier to a memory component of a second memory;
- retrieve the contents of the evicted context from the memory component of the second memory;
- store the retrieved contents of the evicted context in a second buffer;
- and
- allocate the portion of the first memory as a new redundancy context in response to the first request and the eviction,
- receive a second request, the second request directed to the contents of the evicted context;
- restore the contents of the evicted context stored in the third second buffer to an available redundancy context;
- and
- provide the restored redundancy context in response to the second request.
Dependencies are inferred from the claim text.