Wear leveling for low-wear areas of low-latency random read memory
First Claim
1. A storage system for storing client data, the storage system comprising:
- at least one low-latency random read memory (LLRRM) device, the LLRRM device comprising a plurality of active erase-units that store client data and a plurality of free erase-units that do not store client data;
active and free wear count (WC) data structures, the active WC data structure comprising an entry for each active EU in the LLRRM device, the free WC data structure comprising a plurality of entries for a plurality of free EUs in the LLRRM device, each entry in the active and free WC data structures comprising a wear count associated with an EU, the wear count indicating a number of erase cycles performed on the EU; and
a wear leveling module executed by a processor, the wear leveling module configured for;
selecting a pair of EUs for performing wear leveling, the selected pair comprising an active EU and a free EU that are selected based on the information in the active and free WC data structures; and
performing wear leveling on the selected pair by copying client data from the active EU to the free EU.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein are method and apparatus for performing wear leveling of erase-units of an LLRRM device that considers all active erase-units. Wear counts of all active erase-units (containing client data) and free erase-units (not containing client data) are tracked. Wear counts are used to determine low-wear active erase-units having relatively low wear counts and high-wear free erase-units having relatively high wear counts. In some embodiments, data contents of low-wear active erase-units are transferred to high-wear free erase-units, whereby the low-wear active erase-units are converted to free erase-units and may later store different client data which may increase the current rate of wear for the erase-unit. The high-wear free erase-units are converted to active erase-units that store client data that is infrequently erased/written, which may reduce the current rate of wear for the erase-unit. As such, wear is spread more evenly among erase-units of the LLRRM device.
-
Citations
27 Claims
-
1. A storage system for storing client data, the storage system comprising:
-
at least one low-latency random read memory (LLRRM) device, the LLRRM device comprising a plurality of active erase-units that store client data and a plurality of free erase-units that do not store client data; active and free wear count (WC) data structures, the active WC data structure comprising an entry for each active EU in the LLRRM device, the free WC data structure comprising a plurality of entries for a plurality of free EUs in the LLRRM device, each entry in the active and free WC data structures comprising a wear count associated with an EU, the wear count indicating a number of erase cycles performed on the EU; and a wear leveling module executed by a processor, the wear leveling module configured for; selecting a pair of EUs for performing wear leveling, the selected pair comprising an active EU and a free EU that are selected based on the information in the active and free WC data structures; and performing wear leveling on the selected pair by copying client data from the active EU to the free EU. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A storage system for storing client data, the storage system comprising:
-
at least one low-latency random read memory (LLRRM) device, the LLRRM device comprising a plurality of active erase-units that store client data and a plurality of free erase-units that do not store client data; active and free wear count (WC) data structures, the active WC data structure comprising an entry for each active EU in the LLRRM device, the free WC data structure comprising a plurality of entries for a plurality of free EUs in the LLRRM device, each entry in the active and free WC data structures comprising a wear count associated with an EU, the wear count indicating a number of erase cycles performed on the EU; and a wear leveling module executed by a processor, the wear leveling module configured for; initiating wear leveling upon determining that a variance of two predetermined wear counts in the active and free WC data structures exceeds a predetermined variance threshold; and upon wear leveling being initiated, performing wear leveling on a selected pair of EUs comprising an active EU and a free EU by copying client data from the active EU to the free EU. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A storage system for storing client data, the storage system comprising:
-
at least one low-latency random read memory (LLRRM) device, the LLRRM device comprising a plurality of active erase-units that store client data and a plurality of free erase-units that do not store client data; active and free wear count (WC) data structures, the active WC data structure comprising an entry for each active EU in the LLRRM device, the free WC data structure comprising a plurality of entries for a plurality of free EUs in the LLRRM device, each entry in the active and free WC data structures comprising a wear count associated with an EU, the wear count indicating a number of erase cycles performed on the EU; and a wear leveling module executed by a processor, the wear leveling module configured for; selecting for wear leveling an active EU having a wear count within the lowest 10% of wear counts in the active WC data structure and a free active EU having a wear count within the highest 10% of wear counts in the free WC data structure; and performing wear leveling by copying client data from the active EU to the free EU. - View Dependent Claims (20, 21, 22)
-
-
23. A method for performing wear leveling in a storage system for storing client data, the storage system comprising at least one low-latency random read memory (LLRRM) device, the LLRRM device comprising a plurality of active erase-units that store client data and a plurality of free erase-units that do not store client data, the method comprising:
-
maintaining active and free wear count (WC) data structures, the active WC data structure comprising an entry for each active EU in the LLRRM device, the free WC data structure comprising a plurality of entries for a plurality of free EUs in the LLRRM device, each entry in the active and free WC data structures comprising a wear count associated with an EU, the wear count indicating a number of erase cycles performed on the EU; selecting a pair of EUs for performing wear leveling, the selected pair comprising an active EU and a free EU that are selected based on the information in the active and free WC data structures; and performing wear leveling on the selected pair by copying client data from the active EU to the free EU. - View Dependent Claims (24, 25, 26, 27)
-
Specification