WEAR LEVELING IN SOLID STATE DEVICES
First Claim
1. A method comprising:
- receiving, at a memory controller in a storage system, a request to delete data from the storage system;
determining a wear count value associated with a memory block among a plurality of memory blocks of the storage system;
determining whether the wear count value associated with the memory block satisfies a threshold wear count value; and
in response to determining that the wear count value associated with the memory block satisfies the threshold wear count value;
causing, by the memory controller, deletion of data from the memory block.
8 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present disclosure provide a memory-efficient mechanism for identifying memory blocks with a low wear count. More particularly, embodiments of the present disclosure provide a mechanism for identifying a memory block whose wear count is within the bottom p % of all wear counts associated with memory blocks in a storage system. If a memory controller performs the garbage collection operation on a memory block whose wear count is within the bottom p % of all wear counts, then the memory controller is expected to utilize the remaining memory blocks (e.g., memory blocks whose wear count is within the upper (100-p)% of all wear counts) efficiently and level the wear count of at least the remaining memory blocks.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, at a memory controller in a storage system, a request to delete data from the storage system; determining a wear count value associated with a memory block among a plurality of memory blocks of the storage system; determining whether the wear count value associated with the memory block satisfies a threshold wear count value; and in response to determining that the wear count value associated with the memory block satisfies the threshold wear count value; causing, by the memory controller, deletion of data from the memory block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A storage system comprising:
-
a plurality of memory blocks; and a memory controller; wherein the memory controller is configured to; receive a request to delete data from the storage system; determine a wear count value associated with a memory block among a plurality of memory blocks of the storage system; determine whether the wear count value associated with the memory block satisfies a threshold wear count value; and when the wear count value is determined to be associated with the memory block satisfies the threshold wear count value, update the wear count value associated with the memory block to an updated wear count value, and cause deletion of data from the memory block. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system comprising:
-
means for receiving a request to delete data from a storage system; means for determining a wear count value associated with a memory block among a plurality of memory blocks of the storage system; means for determining whether the wear count value associated with the memory block satisfies a threshold wear count value; in response to determining that the wear count value associated with the memory block satisfies the threshold wear count value; means for updating the wear count value associated with the memory block to an updated wear count value by increasing the wear count value; and means for causing deletion of data from the memory block. - View Dependent Claims (19)
-
-
20. A non-transitory machine-readable medium including machine-executable instructions thereon that, when executed by a processor, perform a method comprising:
-
receiving a request to delete data from a storage system; determining a wear count value associated with a memory block among a plurality of memory blocks of the storage system; determining whether the wear count value associated with the memory block satisfies a threshold wear count value; and in response to determining that the wear count value associated with the memory block satisfies the threshold wear count value; causing deletion of data from the memory block; in response to determining that the wear count value associated with the memory block does not satisfy the threshold wear count value; determining whether a counter satisfies a threshold number of attempts to identify a memory block associated with a wear count that satisfies the threshold wear count value; and in response to determining that the counter satisfies the threshold number of attempts; selecting randomly a second memory block from the plurality of memory blocks of the storage system; and causing deletion of data from the second memory block.
-
Specification