Block reuse for memory operations
First Claim
1. An apparatus comprising:
- one or more storage elements comprising one or more storage regions; and
a controller configured to;
manage a metadata structure and a metadata change structure, wherein the metadata structure stores metadata relating to the one or more storage regions, the metadata describing mappings of physical addresses to logical addresses, and the metadata change structure comprises a queue of changes to be made to the metadata structure;
perform an availability check that determines whether to reallocate one or more presently allocated storage regions identified in the metadata change structure, wherein reallocation of presently allocated storage regions identified in the metadata change structure does not release reallocated storage regions to a free memory group of storage regions that are not identified in the metadata change structure; and
reallocate a storage region from the one or more presently allocated storage regions based on the availability check.
5 Assignments
0 Petitions
Accused Products
Abstract
Apparatuses, systems, and methods are disclosed for block reuse for memory operations. An apparatus may include one or more storage elements and a controller. A controller may be configured to manage a metadata structure and a metadata change structure. In certain embodiments, the metadata structure stores metadata relating to the one or more storage regions and the metadata change structure stores changes to be made to the metadata structure. A controller may be configured to perform an availability check to determine if one or more presently allocated storage regions identified in a metadata change structure are reusable. A controller may be configured to allocate one of a storage region from one or more presently allocated storage regions and a free storage region from a free memory group based on an availability check.
11 Citations
18 Claims
-
1. An apparatus comprising:
-
one or more storage elements comprising one or more storage regions; and a controller configured to; manage a metadata structure and a metadata change structure, wherein the metadata structure stores metadata relating to the one or more storage regions, the metadata describing mappings of physical addresses to logical addresses, and the metadata change structure comprises a queue of changes to be made to the metadata structure; perform an availability check that determines whether to reallocate one or more presently allocated storage regions identified in the metadata change structure, wherein reallocation of presently allocated storage regions identified in the metadata change structure does not release reallocated storage regions to a free memory group of storage regions that are not identified in the metadata change structure; and reallocate a storage region from the one or more presently allocated storage regions based on the availability check. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
handling a plurality of memory requests, wherein changes to be made to a metadata structure that stores metadata relating to the plurality of memory requests are queued by a metadata change structure, the metadata describing mappings of physical addresses to logical addresses; reallocating a presently allocated storage region without releasing the reallocated storage region to a free memory group of storage regions that are not identified in the metadata change structure, in response to a first memory request in the plurality of memory requests, based on the presently allocated storage region satisfying a validity threshold and a reallocation threshold, wherein the presently allocated storage region is identified in the metadata change structure; and allocating a free storage region from the free memory group in response to a second memory request in the plurality of memory requests based on a determination that no presently allocated storage regions satisfy the validity threshold and the reallocation threshold. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. An apparatus comprising:
-
means for storing changes to a metadata structure, wherein metadata in the metadata structure describes a mapping of physical addresses to logical addresses, and the means for storing changes to the metadata structure comprises a queue of changes to be made to the metadata structure; means for comparing an amount of data stored on a previously allocated storage region against a validity threshold; means for wear leveling for the previously allocated storage region based on a reuse counter associated with the previously allocated storage region being less than a reallocation threshold, the reallocation threshold defining a limit for how many times a presently allocated storage region can be reallocated; and means for reallocating the presently allocated storage region without releasing the presently allocated storage region to a free memory group of storage regions that are not identified in the metadata change structure, based on the comparison of the presently allocated storage region against the validity threshold and the reallocation threshold, wherein the presently allocated storage region is identified in the means for storing changes to the metadata structure, prior to reallocating the presently allocated storage region.
-
Specification