US2013339574A1PendingUtilityA1

Variability aware wear leveling

Assignee: FRANCESCHINI MICHELEPriority: Jun 18, 2012Filed: Jul 20, 2012Published: Dec 19, 2013
Est. expiryJun 18, 2032(~5.9 yrs left)· nominal 20-yr term from priority
G06F 12/0292G06F 2212/7211G06F 12/0246G06F 12/16G06F 2212/7201
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are presented that include determining, for data to be written to a nonvolatile memory, a location in the nonvolatile memory to which the data should be written based at least on one or more wear metrics corresponding to the location. The one or more wear metrics are based on measurements of the location. The measurements estimate physical wear of the location. The techniques further include writing the data to the determined location in the nonvolatile memory. The techniques may be performed by methods, apparatus (e.g., a memory controller), and computer program products.

Claims

exact text as granted — not AI-modified
1 .- 23 . (canceled) 
     
     
         24 . An apparatus, comprising:
 a memory controller configured to perform at least the following:   determining, for data to be written to a nonvolatile memory, a location in the nonvolatile memory to which the data should be written based at least on one or more wear metrics corresponding to the location, where the one or more wear metrics are based on measurements of the location, the measurements estimating physical wear of the location; and   writing the data to the determined location in the nonvolatile memory.   
     
     
         25 . The apparatus of  claim 24 , wherein:
 determining further comprises determining, based on one or more wear metrics corresponding at least to first and second locations in the nonvolatile memory, whether the data should be written to the first location in the nonvolatile memory or written to the second location in the nonvolatile memory; and   writing further comprises writing, responsive to the determining, the data to one of the first location or the second location in the nonvolatile memory.   
     
     
         26 . The apparatus of  claim 25 , wherein the determining whether the data should be written to the first location in the nonvolatile memory or written to the second location in the nonvolatile memory is based on a swap probability that is a function of wear as indicated by the one or more wear metrics for both the first and second locations. 
     
     
         27 . The apparatus of  claim 26 , wherein the determining whether the data should be written to the first location in the nonvolatile memory or written to the second location in the nonvolatile memory further comprises calculating a probability of a swap for the first location based on wear as indicated by a wear metric corresponding to the first location, and, in response to the calculated probability indicating a swap should be performed, selecting one or more candidate locations, and selecting one of the candidate locations as the second location according to the one or more wear metrics of the one or more candidate locations and of the first location. 
     
     
         28 . The apparatus of  claim 27 , wherein the memory controller is further configured to perform determining one or more average values for the one or more wear metrics of all of the locations in the nonvolatile memory, and wherein calculating a probability of a swap for the first location based on wear as indicated by a wear metric corresponding to the first location further comprises calculating a probability of the swap for the first location based on one or more values of wear as indicated by the one or more wear metrics corresponding to the first location as compared to the one or more average values. 
     
     
         29 . The apparatus of  claim 24 , wherein:
 determining further comprises determining, based on one or more wear metrics corresponding to more than two locations in the nonvolatile memory, to which one of the more than two locations the data should be written; and   writing further comprises writing, responsive to the determining, the data to the one location in the nonvolatile memory.   
     
     
         30 . The apparatus of  claim 25 , wherein the determining whether the data should be written to the first location in the nonvolatile memory or written to the second location in the nonvolatile memory further comprises determining based at least on a wear metric corresponding to the first location that data should be written to the second location, and, in response, selecting one or more candidate locations having less wear than wear of the first location according to one or more wear metrics of the one or more candidate locations and the first location, and selecting one of the candidate locations as the second location. 
     
     
         31 . The apparatus of  claim 30 , wherein:
 selecting one or more candidate locations further comprises selecting one of the candidate locations responsive to amount of wear as indicated by the one or more wear metrics and physical placement of the candidate locations.   
     
     
         32 . The apparatus of  claim 25 , further comprising the nonvolatile memory, the nonvolatile memory accessible by the memory controller, and wherein the nonvolatile memory comprises a storage-class memory. 
     
     
         33 . The apparatus  claim 32 , wherein the storage-class memory comprises a phase-change memory. 
     
     
         34 . The apparatus of  claim 25 , wherein each location in the nonvolatile memory comprises a set of memory cells written at the same time, as part of a single write operation. 
     
     
         35 . The apparatus of  claim 24 , further comprising the nonvolatile memory, the nonvolatile memory accessible by the memory controller, wherein the nonvolatile memory comprises Flash memory comprising pages of memory organized into blocks, and wherein locations in the nonvolatile memory are pages of the nonvolatile memory. 
     
     
         36 . The apparatus of  claim 35 , wherein determining further comprises:
 collecting a candidate pool of pages; and   performing a probabilistic page selection based at least on one or more wear metrics of the pages in the candidate pool to select one page of the candidate pool of pages as the location to which the data should be written.   
     
     
         37 . The apparatus of  claim 36 , wherein selecting a candidate pool of pages comprises selecting active pages in active blocks as well as erased pages in active blocks. 
     
     
         38 . The apparatus of  claim 36 , wherein performing a probabilistic page selection further comprises determining a probability of selecting a particular page for a block as a function of the wear metric of the page as well as a difference in indices of the page and a current active page in the block. 
     
     
         39 . The apparatus of  claim 36 , wherein performing a probabilistic page selection further comprises excluding blocks not writable at a time the write of data to the location is to be performed. 
     
     
         40 . The apparatus of  claim 36 , wherein performing a probabilistic page selection further comprises skipping any active pages having a wear metric less than a wear metric of a certain percentage of pages based on a global cumulative distribution of wear metric of all pages. 
     
     
         41 . The apparatus of  claim 35 , wherein determining a location in the nonvolatile memory to which the data should be written based at least on a wear metric corresponding to the location comprises:
 determining the location should be within a page in a block with poor wear metrics in response to the data determined to be static data; or   determining the location should be to a page in a block with good wear metrics in response to the data determined to be dynamic data.   
     
     
         42 . The apparatus of  claim 35 , wherein the memory controller is further configured to perform, during garbage collection of blocks of the Flash memory, selecting blocks to be erased based on wear metrics of the blocks, the wear metrics for a block corresponding to an aggregate wear metric of all pages in the block. 
     
     
         43 . The apparatus of  claim 42 , wherein blocks with values of wear metrics not meeting a threshold are not collected. 
     
     
         44 . The apparatus of  claim 35 , wherein the Flash memory comprises NAND Flash memory. 
     
     
         45 . The apparatus of  claim 24 , wherein the one or more estimated metrics comprise at least one of measured bit-error rate, number of defects, write or read latency, read and write power, or storage capacity, and a value of the one or more wear metrics changes with an amount of usage of the location.

Join the waitlist — get patent alerts

Track US2013339574A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.