US2013343131A1PendingUtilityA1

Fast tracking for flash channels

42
Assignee: WU YINGQUANPriority: Jun 26, 2012Filed: Jun 26, 2012Published: Dec 26, 2013
Est. expiryJun 26, 2032(~6 yrs left)· nominal 20-yr term from priority
G11C 16/3454G11C 16/3418G11C 16/26G11C 11/5642
42
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An SSD controller dynamically adjusts read thresholds in an NVM to reduce errors due to device threshold voltage distribution shifts, thus improving performance, reliability, and/or cost of a storage sub-system, such as an SSD. In a first aspect, the controller periodically performs offline tracking on a portion of the NVM. The controller reads a representative sub-portion with current read thresholds. If the read meets a condition, then the controller reads the sub-portion with sample read thresholds, estimates the device threshold voltage distributions, and adjusts the current read thresholds of the portion to calculated new operating read thresholds of the sub-portion. In a second aspect, the portion includes data with a known statistical average number of zero and/or one bits.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 determining that a sub-portion of one or more portions of a Non-Volatile Memory (NVM) meets a condition when read in accordance with one or more current operating read thresholds;   adjusting the current operating read thresholds to new operating read thresholds in response to at least the determining; and   wherein data of the sub-portion has a known statistical average number of zero bits and a known statistical average number of one bits.   
     
     
         2 . The method of  claim 1 , wherein the condition comprises the read exceeding any one or more of a configurable target bit error rate and a configurable target disparity between a number of zero bits and a number of one bits. 
     
     
         3 . The method of  claim 1 , further comprising:
 producing the data of the sub-portion at least in part via scrambling such that scrambled data output from the producing has the known statistical average number of zero bits and the known statistical average number of one bits;   writing the scrambled data to the sub-portion; and   subsequent to the writing, reading the sub-portion in accordance with the current operating read thresholds.   
     
     
         4 . The method of  claim 1 , wherein the determining comprises:
 selecting one or more representative ones of the one or more portions, wherein the one or more portions are of a managed group of portions;   reading at least a respective sub-portion of each of the representative portions in accordance with respective ones of the current operating read thresholds; and   testing whether the reading of at least one of the respective sub-portions meets the condition.   
     
     
         5 . The method of  claim 4 ,
 wherein the adjusting comprises:
 reading the at least one of the respective sub-portions in accordance with sample read thresholds, 
 estimating new device threshold voltage distributions, based at least in part on at least some results of the reading the at least one of the respective sub-portions in accordance with the sample read thresholds, and 
 calculating the new operating read thresholds, based at least in part on at least some of the estimated new device threshold voltage distributions; and 
   further comprising, subsequent to the adjusting, performing one or more reads of one or more locations of the one or more portions in accordance with the new operating read thresholds.   
     
     
         6 . The method of  claim 5 , further comprising repeating any one or more of the determining, the adjusting, and the performing. 
     
     
         7 . The method of  claim 1 , wherein the determining is performed in response to a configurable timer. 
     
     
         8 . A system comprising:
 means for determining that a sub-portion of one or more portions of a Non-Volatile Memory (NVM) meets a condition when read in accordance with one or more current operating read thresholds;   means for adjusting the current operating read thresholds to new operating read thresholds in response to at least the means for determining; and   wherein data of the sub-portion has a known statistical average number of zero bits and a known statistical average number of one bits.   
     
     
         9 . The system of  claim 8 , wherein the condition comprises the read exceeding any one or more of a configurable target bit error rate and a configurable target disparity between a number of zero bits and a number of one bits. 
     
     
         10 . The system of  claim 8 , further comprising:
 means for producing the data of the sub-portion at least in part via scrambling such that scrambled data output from the means for producing has the known statistical average number of zero bits and the known statistical average number of one bits;   means for writing the scrambled data to the sub-portion; and   means for reading, operable subsequent to the means for writing, the sub-portion in accordance with the current operating read thresholds.   
     
     
         11 . The system of  claim 8 , wherein the means for determining comprises:
 means for selecting one or more representative ones of the one or more portions, wherein the one or more portions are of a managed group of portions;   means for reading at least a respective sub-portion of each of the representative portions in accordance with respective ones of the current operating read thresholds; and   means for testing whether at least one of the respective sub-portions read by the means for reading the at least a respective sub-portion meets the condition.   
     
     
         12 . The system of  claim 11 ,
 wherein the means for adjusting comprises:
 means for reading the at least one of the respective sub-portions in accordance with sample read thresholds, 
 means for estimating new device threshold voltage distributions, based at least in part on at least some results of the means for reading the at least one of the respective sub-portions in accordance with the sample read thresholds, and 
 means for calculating the new operating read thresholds, based at least in part on at least some of the estimated new device threshold voltage distributions; and 
   further comprising, means for performing, operable subsequent to the means for adjusting, one or more reads of one or more locations of the one or more portions in accordance with the new operating read thresholds.   
     
     
         13 . The system of  claim 12 , further comprising means for repeatedly operating any one or more of the means for determining, the means for adjusting, and the means for performing. 
     
     
         14 . The system of  claim 8 , wherein the means for determining is operable in response to a configurable timer. 
     
     
         15 . An apparatus comprising:
 read condition hardware logic circuitry enabled to determine that a sub-portion of one or more portions of a Non-Volatile Memory (NVM) meets a condition when read in accordance with one or more current operating read thresholds;   operating read threshold adjustment hardware logic circuitry enabled to adjust the current operating read thresholds to new operating read thresholds in response to at least the read condition hardware logic circuitry; and   wherein data of the sub-portion has a known statistical average number of zero bits and a known statistical average number of one bits.   
     
     
         16 . The apparatus of  claim 15 , wherein the condition comprises the read exceeding any one or more of a configurable target bit error rate and a configurable target disparity between a number of zero bits and a number of one bits. 
     
     
         17 . The apparatus of  claim 15 , further comprising:
 data scrambling hardware logic circuitry enabled to produce the data of the sub-portion at least in part via scrambling such that scrambled data output from the data scrambling hardware logic circuitry has the known statistical average number of zero bits and the known statistical average number of one bits; and   NVM interface control circuitry enabled to cause the NVM to write the scrambled data to the sub-portion, and further enabled to cause the NVM to read the sub-portion in accordance with the current operating read thresholds.   
     
     
         18 . The apparatus of  claim 17 , wherein the read condition hardware logic circuitry comprises:
 portion selection hardware logic circuitry enabled to select one or more representative ones of the one or more portions, wherein the one or more portions are of a managed group of portions, wherein the NVM interface control circuitry is further enabled to cause the NVM to read at least a respective sub-portion of each of the representative portions in accordance with respective ones of the current operating read thresholds; and   testing hardware logic circuitry enabled to test whether at least one of the respective sub-portions read in accordance with the respective current operating read thresholds meets the condition.   
     
     
         19 . The apparatus of  claim 18 ,
 wherein the operating read threshold adjustment hardware logic circuitry comprises:
 device threshold voltage distribution estimation hardware logic circuitry, wherein the NVM interface control circuitry is further enabled to cause the NVM to read the at least one of the respective sub-portions in accordance with sample read thresholds, and the device threshold voltage distribution estimation hardware logic circuitry is enabled to estimate new device threshold voltage distributions, based at least in part on at least some results of the read of the at least one of the respective sub-portions in accordance with the sample read thresholds, and 
 new operating read threshold calculation hardware logic circuitry enabled to calculate the new operating read thresholds, based at least in part on at least some of the estimated new device threshold voltage distributions; and 
   wherein, subsequent to operation of the operating read threshold adjustment hardware logic circuitry, one or more reads of one or more locations of the one or more portions are performed in accordance with the new operating read thresholds.   
     
     
         20 . The apparatus of  claim 19 , further comprising iteration control hardware logic circuitry enabled to activate repeated operation of any one or more of the read condition hardware logic circuitry and the operating read threshold adjustment hardware logic circuitry. 
     
     
         21 . The apparatus of  claim 15 , wherein the read condition hardware logic circuitry is operable in response to a configurable timer. 
     
     
         22 . A tangible computer readable medium having a set of instructions stored therein that when executed by a processing element cause the processing element to perform and/or control operations comprising:
 determining that a sub-portion of one or more portions of a Non-Volatile Memory (NVM) meets a condition when read in accordance with one or more current operating read thresholds;   adjusting the current operating read thresholds to new operating read thresholds in response to at least the determining; and   wherein data of the sub-portion has a known statistical average number of zero bits and a known statistical average number of one bits.   
     
     
         23 . The tangible computer readable medium of  claim 22 , wherein the condition comprises the read exceeding any one or more of a configurable target bit error rate and a configurable target disparity between a number of zero bits and a number of one bits. 
     
     
         24 . The tangible computer readable medium of  claim 22 , wherein the operations further comprise:
 producing the data of the sub-portion at least in part via scrambling such that scrambled data output from the producing has the known statistical average number of zero bits and the known statistical average number of one bits;   writing the scrambled data to the sub-portion; and   reading, subsequent to the writing, the sub-portion in accordance with the current operating read thresholds.   
     
     
         25 . The tangible computer readable medium of  claim 22 , wherein the determining comprises:
 selecting one or more representative ones of the one or more portions, wherein the one or more portions are of a managed group of portions;   reading at least a respective sub-portion of each of the representative portions in accordance with respective ones of the current operating read thresholds; and   testing whether the reading of at least one of the respective sub-portions meets the condition.   
     
     
         26 . The tangible computer readable medium of  claim 25 ,
 wherein the adjusting comprises:
 reading the at least one of the respective sub-portions in accordance with sample read thresholds, 
 estimating new device threshold voltage distributions, based at least in part on at least some results of the reading the at least one of the respective sub-portions in accordance with the sample read thresholds, and 
 calculating the new operating read thresholds, based at least in part on at least some of the estimated new device threshold voltage distributions; and 
   wherein the operations further comprise, subsequent to the adjusting, performing one or more reads of one or more locations of the one or more portions in accordance with the new operating read thresholds.   
     
     
         27 . The tangible computer readable medium of  claim 26 , wherein the operations further comprise repeating any one or more of the determining, the adjusting, and the performing. 
     
     
         28 . The tangible computer readable medium of  claim 22 , wherein the determining is performed in response to a configurable timer.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.