US2020012561A1PendingUtilityA1

System and method for adaptive multiple read of nand flash

Assignee: LU GUANGMINGPriority: Jul 22, 2014Filed: Sep 17, 2019Published: Jan 9, 2020
Est. expiryJul 22, 2034(~8 yrs left)· nominal 20-yr term from priority
Inventors:Guangming Lu
G11C 11/5642G11C 29/028G06F 11/1012H03M 13/09G11C 29/42H03M 13/3707G06F 11/1068G11C 29/52H03M 13/3769G11C 16/26H03M 13/2951G11C 16/28G11C 2029/0411H03M 13/1108H03M 13/6325H03M 13/1111H03M 13/2906G11C 29/021H03M 13/3723
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method for adaptive multiple read of NAND flash memory. A solid state drive may employ adaptive multiple-read to perform enhanced performance error correction using soft decisions without a performance penalty that otherwise might result from performing unnecessary reads. The soft decision error correcting algorithm may employ lookup tables containing log likelihood ratios. The method may include performing one or more read operations to obtain one or more raw data words for a code word, attempting to decode the code words using the one or more raw data words, and performing additional read operations when the decoding attempt fails. This process may be repeated until a decoding attempt succeeds.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for reading data, the method comprising:
 performing a first read operation on a first plurality of flash memory cells, at a first reference voltage, to form a first raw data word;   executing a first error correction code decoding attempt with the first raw data word;   when the first error correction code decoding attempt succeeds:
 outputting a decoded data word generated by the first error correction code decoding attempt; and 
   when the first error correction code decoding attempt does not succeed:
 performing a second read operation on the first plurality of flash memory cells, at a second reference voltage, to form a second raw data word; and 
 executing a second error correction code decoding attempt with the first raw data word and the second raw data word. 
   
     
     
         2 . The method of  claim 1 , wherein the performing of the first read operation comprises storing the first raw data word in a buffer, the buffer having sufficient capacity to store the first raw data word and the second raw data word. 
     
     
         3 . The method of  claim 1 , wherein the performing of the second error correction code decoding attempt comprises fetching, from a first lookup table, a log likelihood ratio corresponding to:
 a bit of the first raw data word; and   a corresponding bit of the second raw data word.   
     
     
         4 . The method of  claim 1 , further comprising,
 when the second error correction code decoding attempt succeeds:
 outputting a decoded data word generated by the second error correction code decoding attempt; and 
   when the second error correction code decoding attempt does not succeed:
 performing a third read operation on the first plurality of flash memory cells, at a third reference voltage, to form a third raw data word; and 
 executing a third error correction code decoding attempt with the first raw data word, the second raw data word, and the third raw data word. 
   
     
     
         5 . The method of  claim 4 , wherein the performing of the third error correction code decoding attempt comprises fetching, from a second lookup table, a log likelihood ratio corresponding to:
 a bit of the first raw data word;   a corresponding bit of the second raw data word; and   a corresponding bit of the third raw data word.   
     
     
         6 . The method of  claim 1 , further comprising:
 performing a third read operation on a second plurality of flash memory cells, at the first reference voltage, to form a third raw data word, the second plurality of flash memory cells being in one page of flash memory with the first plurality of flash memory cells; and   when the first error correction code decoding attempt does not succeed:
 performing a fourth read operation on the second plurality of flash memory cells, at the second reference voltage, to form a fourth raw data word. 
   
     
     
         7 . The method of  claim 6 , further comprising:
 when the second error correction code decoding attempt succeeds:
 performing a third error correction code decoding attempt with the third raw data word and the fourth raw data word. 
   
     
     
         8 . The method of  claim 7 , further comprising:
 when the third error correction code decoding attempt succeeds:
 outputting a decoded data word generated by the third error correction code decoding attempt; and 
   when the third error correction code decoding attempt does not succeed:
 performing a fifth read operation on the second plurality of flash memory cells, at a third reference voltage, to form a fifth raw data word; and 
 executing a fourth error correction code decoding attempt with the third raw data word, the fourth raw data word, and the fifth raw data word. 
   
     
     
         9 . A solid state drive, comprising:
 flash memory; and   a processing circuit,   the processing circuit being configured to:   perform a first read operation on a first plurality of flash memory cells, at a first reference voltage, to form a first raw data word;   execute a first error correction code decoding attempt with the first raw data word;   when the first error correction code decoding attempt succeeds:
 output a decoded data word generated by the first error correction code decoding attempt; and 
   when the first error correction code decoding attempt does not succeed:
 perform a second read operation on the first plurality of flash memory cells, at a second reference voltage, to form a second raw data word; and 
 execute a second error correction code decoding attempt with the first raw data word and the second raw data word. 
   
     
     
         10 . The solid state drive of  claim 9 , wherein the performing of the first read operation comprises storing the first raw data word in a buffer, the buffer having sufficient capacity to store the first raw data word and the second raw data word. 
     
     
         11 . The solid state drive of  claim 9 , wherein the performing of the second error correction code decoding attempt comprises fetching, from a first lookup table, a log likelihood ratio corresponding to:
 a bit of the first raw data word; and   a corresponding bit of the second raw data word.   
     
     
         12 . The solid state drive of  claim 9 , wherein the processing circuit is further configured to:
 when the second error correction code decoding attempt succeeds:
 output a decoded data word generated by the second error correction code decoding attempt; and 
   when the second error correction code decoding attempt does not succeed:
 perform a third read operation on the first plurality of flash memory cells, at a third reference voltage, to form a third raw data word; and 
 execute a third error correction code decoding attempt with the first raw data word, the second raw data word, and the third raw data word. 
   
     
     
         13 . The solid state drive of  claim 12 , wherein the performing of the third error correction code decoding attempt comprises fetching, from a second lookup table, a log likelihood ratio corresponding to:
 a bit of the first raw data word;   a corresponding bit of the second raw data word; and   a corresponding bit of the third raw data word.   
     
     
         14 . The solid state drive of  claim 9 , wherein the processing circuit is further configured to:
 perform a third read operation on a second plurality of flash memory cells, at the first reference voltage, to form a third raw data word, the second plurality of flash memory cells being in one page of flash memory with the first plurality of flash memory cells; and   when the first error correction code decoding attempt does not succeed:
 perform a fourth read operation on the second plurality of flash memory cells, at the second reference voltage, to form a fourth raw data word. 
   
     
     
         15 . The solid state drive of  claim 14 , wherein the processing circuit is further configured to:
 when the second error correction code decoding attempt succeeds:
 perform a third error correction code decoding attempt with the third raw data word and the fourth raw data word. 
   
     
     
         16 . The solid state drive of  claim 15 , wherein the processing circuit is further configured to:
 when the third error correction code decoding attempt succeeds:
 output a decoded data word generated by the third error correction code decoding attempt; and 
   when the third error correction code decoding attempt does not succeed:
 perform a fifth read operation on the second plurality of flash memory cells, at a third reference voltage, to form a fifth raw data word; and 
 execute a fourth error correction code decoding attempt with the third raw data word, the fourth raw data word, and the fifth raw data word.

Join the waitlist — get patent alerts

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

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