P
US9063874B2ActiveUtilityPatentIndex 83

Apparatus, system, and method for wear management

Assignee: FUSION IO INCPriority: Nov 10, 2008Filed: Mar 15, 2013Granted: Jun 23, 2015
Est. expiryNov 10, 2028(~2.3 yrs left)· nominal 20-yr term from priority
Inventors:ZHONG HAOPLASSON NED DWOOD ROBERTHYUN JEA WOONGSUN HAIRONG
G11C 29/42G11C 29/832G06F 11/3055G11C 16/349G06F 2211/109G11C 16/3422G06F 11/1008G11C 16/04G11C 16/3495G11C 2029/1208G06F 12/0246G11C 29/82G06F 11/108G06F 11/3034G11C 2029/0411G06F 11/141G11C 29/88G11C 16/3418
83
PatentIndex Score
14
Cited by
73
References
21
Claims

Abstract

A storage module is configured to determine a health metric of a storage division of a solid-state storage medium. The health metric may comprise a combination of factors, including, but not limited to: wear level, performance (e.g., program time, erase time, and the like), error rate, and the like. A wear level module may configure storage operations to reduce the wear rate of storage divisions having poor health metrics and/or heath metrics that are degrading more quickly than other storage divisions. Reducing wear rate may include deferring grooming operations, delaying use for storage operations, temporarily retiring the storage division, or the like. Storage divisions may be brought back into service at normal use rates in response determining that other portions of the storage media have been worn to the point that they exhibit similar health and/or reliability characteristics.

Claims

exact text as granted — not AI-modified
We claim: 
     
       1. A method, comprising:
 determining an average error rate of storage operations performed across a plurality of sections of a solid-state storage medium; 
 identifying a section of the solid-state storage medium having an error rate that differs from the determined average error rate by more than a threshold; and 
 managing storage operations performed on the solid-state storage medium such that a program count for the identified section diverges from a program count of other sections of the solid-state storage medium. 
 
     
     
       2. The method of  claim 1 , wherein managing the storage operations comprises relocating valid data from the identified section and deferring a reclamation operation on the identified section. 
     
     
       3. The method of  claim 1 , wherein managing the storage operations comprises identifying a storage request pertaining to cold data, and storing the cold data on the identified section. 
     
     
       4. The method of  claim 1 , further comprising indicating that the identified section is out-of-service. 
     
     
       5. The method of  claim 4 , further comprising indicating that the identified section is in service and available for storing data in response to determining that a differential between the error rate of the identified section and a new average error rate of the solid-state storage medium determined after performing a plurality of storage operations on the solid-state storage medium is within the threshold. 
     
     
       6. The method of  claim 1 , further comprising:
 determining an updated average error rate of the solid-state storage medium subsequent to identifying the section; and 
 managing storage operations performed on the solid-state storage medium such that a usage rate of the identified section converges with a usage rate of the other sections of the solid-state storage medium in response to determining that the error rate of the identified section differs from the updated average error rate by less than the threshold. 
 
     
     
       7. The method of  claim 1 , further comprising:
 recording data indicating that the identified section is a reduced wear section of the solid-state storage medium; and 
 accessing the recorded data to manage the storage operations performed on the solid-state storage medium. 
 
     
     
       8. The method of  claim 7 , further comprising recording the data on a non-volatile storage medium. 
     
     
       9. The method of  claim 1 , wherein the error rate of a section of the solid-state storage medium is based on one or more of a raw bit error rate of read operations performed on the section, a program time for writing data to the section, and an erase time of the section. 
     
     
       10. An apparatus, comprising:
 a reliability analysis module configured to determine an aggregate bit error rate of a solid-state storage medium and to identify a storage division of the solid-state storage medium having a bit error rate that deviates from the aggregate bit error rate by more than a threshold; and 
 a wear management module configured to adapt storage operations performed on the solid-state storage medium to cause an erase count of the identified storage division to differ from erase counts of other storage divisions of the solid-state storage medium, 
 wherein each of the reliability analysis module and the wear management module comprise one or more of logic hardware and executable code, the executable code stored on a computer readable storage medium. 
 
     
     
       11. The apparatus of  claim 10 , further comprising a reliability monitoring module configured to determine bit error rates of storage divisions of the solid-state storage medium, wherein the storage division bit error rates are based on bit errors corresponding to operations performed on the storage divisions. 
     
     
       12. The apparatus of  claim 10 , further comprising a groomer module configured to prepare storage divisions for use by relocating valid data from the storage divisions and initializing the storage divisions, wherein the groomer module is configured to prepare the identified storage division for reuse by relocating valid data from the identified storage division and delaying initialization of the identified storage division. 
     
     
       13. The apparatus of  claim 10 , further comprising a log storage module configured to queue storage divisions for data storage operations, wherein the log storage module is configured to remove the identified storage division from the queue. 
     
     
       14. The apparatus of  claim 13 , wherein the log storage module is configured to queue the identified storage division in a reduced usage queue, and to schedule a storage operation on a storage division in the reduced usage queue in response to receiving a storage request pertaining to low-usage data. 
     
     
       15. The apparatus of  claim 13 , wherein the log storage module is configured to queue storage divisions in an ordered queue, the ordered queue comprising the identified storage division, wherein the log storage module is further configured to reorder the ordered queue such that the identified storage division is at an end of the ordered queue. 
     
     
       16. The apparatus of  claim 10 , wherein the reliability analysis module is configured to retire the identified storage division, and to remove the identified storage division from retirement in response to determining that a difference between the health metric of the identified storage division and an updated aggregate health metric corresponding to respective health metrics of the storage divisions of the solid-state storage medium is less than the threshold. 
     
     
       17. A system, comprising:
 means for identifying a first set of a plurality of solid-state storage sections having storage error rates that differ from storage error rates of a second set of the plurality of solid-state storage sections by more than a threshold; 
 means for receiving requests to perform storage operations on the solid-state storage sections; and 
 means for varying usage of the plurality of solid-state storage sections in servicing the requests to modify usage of the first set of solid-state storage sections such that erase counts on the solid-state storage sections of the first set differ as compared to erase counts of solid-state storage sections in the second set. 
 
     
     
       18. The system of  claim 17 , further comprising means for determining storage error rates of the solid-state storage sections comprising means for monitoring one or more of bit error rates for read operations performed on the respective solid-state storage sections, bit error rates for program operations performed on the respective solid-state storage sections, program times of the respective solid-state storage sections, and erase times of the respective solid-state storage sections. 
     
     
       19. The system of  claim 18 , further comprising:
 means for determining updated storage error rates of solid-state storage sections of the second set of storage sections; and 
 means for selecting a storage section for removal from the first set and inclusion in the second set in response to determining that a storage error rate of the selected storage section is within a deviation threshold of the updated storage error rates of the solid-state storage sections in the second set. 
 
     
     
       20. The system of  claim 17 , further comprising means for grooming solid-state storage sections for reuse comprising means for delaying reuse of solid-state storage sections in the first set. 
     
     
       21. The system of  claim 17 , further comprising means for queuing storage operations on the solid-state storage sections configured to prevent storage operations from being queued to the solid-state storage sections in the first set.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.