Flash drive fast wear leveling
First Claim
Patent Images
1. A system comprising:
- a controller configured to allocate one or more memory blocks in a non-volatile memory for storing data, and to compare a number of identified erased memory blocks and faulty memory blocks to a threshold;
a logical-to-physical table populated with pointers to the memory blocks in the nonvolatile memory, wherein the controller is configured to initially allocate the memory blocks to store data according to the pointers in the logical-to-physical table; and
a wear-leveling table configured to store pointers to unallocated memory blocks in the non-volatile memory, wherein the unallocated memory blocks are previously allocated to store data by the controller according to the pointers in the logical-to-physical table, and wherein the controller is configured to identify one or more pointers in the wear-leveling table and to store data to the memory blocks associated with the identified pointers.
5 Assignments
0 Petitions
Accused Products
Abstract
A system for wear-leveling of a non-volatile memory may include a controller configured to allocate memory blocks in the non-volatile memory, a logical-to-physical table populated with pointers to memory blocks in the nonvolatile memory, and a wear-leveling table configured to store two or more pointers to unallocated memory blocks in the non-volatile memory. The unallocated memory blocks are previously allocated to store data by the controller according to the pointers in the logical-to-physical table. The controller is further configured to identify two or more pointers in the wear-leveling table and to store data to the two or more memory blocks associated with the identified pointers.
-
Citations
22 Claims
-
1. A system comprising:
-
a controller configured to allocate one or more memory blocks in a non-volatile memory for storing data, and to compare a number of identified erased memory blocks and faulty memory blocks to a threshold; a logical-to-physical table populated with pointers to the memory blocks in the nonvolatile memory, wherein the controller is configured to initially allocate the memory blocks to store data according to the pointers in the logical-to-physical table; and a wear-leveling table configured to store pointers to unallocated memory blocks in the non-volatile memory, wherein the unallocated memory blocks are previously allocated to store data by the controller according to the pointers in the logical-to-physical table, and wherein the controller is configured to identify one or more pointers in the wear-leveling table and to store data to the memory blocks associated with the identified pointers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus, comprising:
-
a wear-leveling table coupled with a flash memory comprising one or more memory blocks; a controller coupled with the flash memory, wherein the controller is configured to populate the wear-leveling table with pointers to the one or more memory blocks in the flash memory, wherein the pointers are associated with erased memory blocks or faulty memory blocks, and wherein the controller is further configured to store data to at least one memory blocks associated with at least one identified pointer, wherein the controller is further configured to compare a number of erased memory blocks and faulty memory blocks to a threshold; and a wear-leveling unit within the controller, wherein the wear-leveling unit is configured to identify the at least one pointer in the wear-leveling table. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable media, comprising instructions executable by a processor to perform operations comprising:
-
populating a wear-leveling table with pointers to one or more memory blocks in a flash memory, where the pointers are associated with erased memory blocks or memory blocks that are faulty; receiving a write command identifying a zone of the flash memory to store date; determining the wear-leveling table does not correspond to the identified zone; re-populating the wear-leveling table with pointers to memory blocks corresponding to the identified zone; identifying at least one pointer in the re-populated wear-leveling table associated with an erased memory block; and storing data to the memory block associated with the identified pointer. - View Dependent Claims (21, 22)
-
Specification