US9147491B1ActiveUtility

Adaptive read and write systems and methods for memory cells

Assignee: MARVELL WORLD TRADE LTDPriority: Nov 6, 2006Filed: May 9, 2014Granted: Sep 29, 2015
Est. expiryNov 6, 2026(~0.3 yrs left)· nominal 20-yr term from priority
G11C 11/5628G11C 16/34G11C 11/5642G11C 16/26G11C 2211/5634G11C 16/10G11C 16/28
46
PatentIndex Score
0
Cited by
26
References
20
Claims

Abstract

Adaptive memory read and write systems and methods are provided that may compute estimated means and variances of multi-level memory cells to facilitate writing and reading of data to and from the multi-level memory cells are described herein. The systems may include an apparatus comprising multi-level memory cells, and an estimation block configured to compute estimated means and variances of level distributions of the multi-level memory cells by processing signal samples provided by at least a subset of the multi-level memory cells, the estimated means and variances to be used to facilitate writing and/or reading of data to and/or from at least selected ones of the multi-level memory cells, the multi-level memory cells having M-levels where M is an integer greater than 1, and each of the level distributions is associated with a corresponding level of the M-levels.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for operating a memory array comprising multi-level memory cells, wherein the multi-level memory cells include (i) pilot cells having predetermined data and (ii) multi-level data memory cells to store user data, the method comprising:
 receiving (i) signal samples from one or more of the pilot cells, and (ii) signal samples from one or more of the multi-level data memory cells; 
 based on the signal samples from one or more of the pilot cells and without using signal samples from the multi-level data memory cells, computing (i) estimated mean values of level distributions of the multi-level memory cells and (ii) estimated variance values of level distributions of the multi-level memory cells; 
 based on the signal samples from one or more of the multi-level data memory cells and without using signal samples from the pilot cells, updating (i) the estimated mean values of level distributions of the multi-level memory cells and (ii) the estimated variance values of level distributions of the multi-level memory cells; 
 based on the updated estimated mean values of level distributions of the multi-level memory cells and the updated estimated variance values of level distributions of the multi-level memory cells, computing (i) optimal or near optimal mean values of level distributions of the multi-level memory cells and (ii) optimal or near optimal detection threshold values of level distributions of the multi-level memory cells; and 
 based on the optimal or near optimal mean values of level distributions of the multi-level memory cells, writing data in the multi-level data memory cells. 
 
     
     
       2. The method of  claim 1 , further comprising:
 based on the optimal or near optimal detection threshold values of level distributions of the multi-level memory cells, reading data from the multi-level data memory cells. 
 
     
     
       3. The method of  claim 1 , wherein:
 the multi-level memory cells have M-levels, wherein M is an integer greater than 1; and 
 each of the level distributions is associated with a corresponding level of the M-levels. 
 
     
     
       4. The method of  claim 3 , wherein computing the estimated mean values comprises computing an estimated mean value for each of the level distributions of the multi-level memory cells according to the equations:
     e   k   ′=r   k   −m   k−1 ( i ) 
     m   k ( i )= m   k−1 ( i )+μ m   ·e   k ′
 
 where for 0≦i≦M−1 and k is an integer greater than 0, r k  is a k-th signal sample associated with the predetermined data of one of the pilot cells, m k−1 (i) is an estimated mean of i-th level distribution for time k−1, e k ′ is an initial estimated error for time k, m k−1 (i) is an estimated mean of i-th level distribution for time k−1, and μ m  is a first adaptation constant. 
 
     
     
       5. The method of  claim 4 , wherein computing the estimated variance values comprises computing an estimated variance value for each of the level distributions of the multi-level memory cells according to the equations:
     e   k   =r   k   −m ( i ) 
   σ k   2 ( i )=σ k−1   2 ( i )+μ v ( e   k   ·e   k −σ k−1   2 ( i ))
 
 where e k  is a refined estimated error for time k based, at least in part, on the initial estimated error e k ′, σ k   2 (i) is an estimated variance of i-th level distribution for time k, σ k−1   2 (i) is an estimated variance of i-th level distribution for time k−1, and is a second adaptation constant. 
 
     
     
       6. The method of  claim 5 , further comprising:
 computing (M−1) slicer threshold values for the multi-level memory cells, wherein each of the (M−1) slicer threshold values is computed according to the equation: 
 
       
         
           
             
               
                 s 
                 ⁡ 
                 
                   ( 
                   w 
                   ) 
                 
               
               = 
               
                 
                   m 
                   ⁡ 
                   
                     ( 
                     w 
                     ) 
                   
                 
                 + 
                 
                   
                     
                       σ 
                       ⁡ 
                       
                         ( 
                         w 
                         ) 
                       
                     
                     
                       
                         σ 
                         ⁡ 
                         
                           ( 
                           w 
                           ) 
                         
                       
                       + 
                       
                         σ 
                         ⁡ 
                         
                           ( 
                           
                             w 
                             + 
                             1 
                           
                           ) 
                         
                       
                     
                   
                   ⁡ 
                   
                     [ 
                     
                       
                         m 
                         ⁡ 
                         
                           ( 
                           
                             w 
                             + 
                             1 
                           
                           ) 
                         
                       
                       - 
                       
                         m 
                         ⁡ 
                         
                           ( 
                           w 
                           ) 
                         
                       
                     
                     ] 
                   
                 
               
             
           
         
         where for 0≦w≦M−2, s(w) is an w-th slicer threshold, m(w) is an estimated mean for the w-th level distribution, σ(w) is a standard deviation for the w-th level distribution, σ(w+1) is a standard deviation for the (w+1)-th level distribution, and m(w+1) is an estimated mean for the (w+1)-th level distribution. 
       
     
     
       7. The method of  claim 6 , further comprising:
 employing a binary tree to determine to which of the M-levels each of the signal samples of the multi-level memory data cells and the pilot cells belong, wherein the computed slicer thresholds defines the binary tree. 
 
     
     
       8. The method of  claim 6 , wherein the estimated mean values of level distributions of the multi-level memory cells and the estimated variance values of level distributions of the multi-level memory cells is updated according to the equations:
     e   k   ′=r   k   ′−m   k−1 ( i ) 
     m   k ( i )= m   k−1 ( i )+μ m   ′·e   k ′
 
   σ k   2 ( i )=σ k−1   2 ( i )+μ v ′( e   k   ′·e   k ′−σ k−1   2 ( i ))
 
 where for 0≦i≦M−1 and k is an integer greater than 0, r k ′ is a k-th signal sample associated with the user data of one of the multi-level data memory cells, m k−1 (i) is an estimated mean of i-th level distribution for time k−1, e k ′ is an estimated error for time k, m k (i) is an estimated mean of i-th level distribution for time k, m k−1 (i) is an estimated mean of i-th level distribution for time k−1, and μ m ′ is a third adaptation constant, σ k   1   2 (i) is an estimated variance of i-th level distribution for time k, σ k−1   2 (i) is an estimated variance of i-th level distribution for time k−1, and μ v ′ is a fourth adaptation constant. 
 
     
     
       9. The method of  claim 8 , wherein:
 the first adaptation constant μ m  is greater than the third adaptation constant μ m ′, and the second adaptation constant μ v  is greater than the fourth adaptation constant μ v ′. 
 
     
     
       10. The method of  claim 1 , further comprising:
 setting initial mean values and initial variance values for the level distributions of the multi-level memory cells, 
 wherein computing (i) the estimated mean values of level distributions of the multi-level memory cells and (ii) the estimated variance values of level distributions of the multi-level memory cells further comprises
 based on the initial mean values and initial variance values for the level distributions of the multi-level memory cells, computing (i) the estimated mean values of level distributions of the multi-level memory cells and (ii) the estimated variance values of level distributions of the multi-level memory cells. 
 
 
     
     
       11. A system, comprising:
 multi-level memory cells including (i) pilot cells having predetermined data and (ii) multi-level data memory cells to store user data; 
 an estimation block configured to
 based on the signal samples from one or more of the pilot cells and without using signal samples from the multi-level data memory cells, compute (i) estimated mean values of level distributions of the multi-level memory cells and (ii) estimated variance values of level distributions of the multi-level memory cells, and 
 based on the signal samples from one or more of the multi-level data memory cells and without using signal samples from the pilot cells, update (i) the estimated mean values of level distributions of the multi-level memory cells and (ii) the estimated variance values of level distributions of the multi-level memory cells; 
 
 a computation block configured to, based on the updated estimated mean values of level distributions of the multi-level memory cells and the updated estimated variance values of level distributions of the multi-level memory cells, compute (i) optimal or near optimal mean values of level distributions of the multi-level memory cells and (ii) optimal or near optimal detection threshold values of level distributions of the multi-level memory cells; and 
 a write block configured to, based on the optimal or near optimal mean values of level distributions of the multi-level memory cells, write data in the multi-level data memory cells. 
 
     
     
       12. The system of  claim 11 , further comprising:
 a read block configured to, based on the optimal or near optimal detection threshold values of level distributions of the multi-level memory cells, read data from the multi-level memory cells. 
 
     
     
       13. The system of  claim 11 , wherein:
 the multi-level memory cells have M-levels, wherein M is an integer greater than 1; and 
 each of the level distributions is associated with a corresponding level of the M-levels. 
 
     
     
       14. The system of  claim 13 , wherein the estimation block is configured to compute the estimated mean values by computing an estimated mean value for each of the level distributions of the multi-level memory cells according to the equations:
     e   k   ′=r   k   −m   k−1 ( i ) 
     m   k ( i )= m   k−1 ( i )+μ m   ·e   k′ 
 
 where for 0≦i≦M−1 and k is an integer greater than 0, r k  is a k-th signal sample associated with the predetermined data of one of the pilot cells, m k−1 (i) is an estimated mean of i-th level distribution for time k−1, e k ′ is an initial estimated error for time k, m k−1 (i) is an estimated mean of i-th level distribution for time k−1, and μ m  is a first adaptation constant. 
 
     
     
       15. The system of  claim 14 , wherein the estimation block is configured to compute the estimated variance values by computing an estimated variance value for each of the level distributions of the multi-level memory cells according to the equations:
     e   k   =r   k   −m ( i ) 
   σ k   2 ( i )=σ k−1   2 ( i )+μ v ( e   k   ·e   k −σ k−1   2 ( i ))
 
 where e k  is a refined estimated error for time k based, at least in part, on the initial estimated error e k ′, σ k   2 (i) is an estimated variance of i-th level distribution for time k, σ k−1   2 (i) is an estimated variance of i-th level distribution for time k−1, and μ v  is a second adaptation constant. 
 
     
     
       16. The system of  claim 15 , wherein the estimation block is further configured to:
 compute (M−1) slicer threshold values for the multi-level memory cells, wherein each of the (M−1) slicer threshold values is computed according to the equation: 
 
       
         
           
             
               
                 s 
                 ⁡ 
                 
                   ( 
                   w 
                   ) 
                 
               
               = 
               
                 
                   m 
                   ⁡ 
                   
                     ( 
                     w 
                     ) 
                   
                 
                 + 
                 
                   
                     
                       σ 
                       ⁡ 
                       
                         ( 
                         w 
                         ) 
                       
                     
                     
                       
                         σ 
                         ⁡ 
                         
                           ( 
                           w 
                           ) 
                         
                       
                       + 
                       
                         σ 
                         ⁡ 
                         
                           ( 
                           
                             w 
                             + 
                             1 
                           
                           ) 
                         
                       
                     
                   
                   ⁡ 
                   
                     [ 
                     
                       
                         m 
                         ⁡ 
                         
                           ( 
                           
                             w 
                             + 
                             1 
                           
                           ) 
                         
                       
                       - 
                       
                         m 
                         ⁡ 
                         
                           ( 
                           w 
                           ) 
                         
                       
                     
                     ] 
                   
                 
               
             
           
         
         where for 0≦w≦M−2, s(w) is an w-th slicer threshold, m(w) is an estimated mean for the w-th level distribution, σ(w) is a standard deviation for the w-th level distribution, σ(w+1) is a standard deviation for the (w+1)-th level distribution, and m(w+1) is an estimated mean for the (w+1)-th level distribution. 
       
     
     
       17. The system of  claim 16 , wherein the estimation block is further configured to:
 employ a binary tree to determine to which of the M-levels each of the signal samples of the multi-level memory data cells and the pilot cells belong, wherein the computed slicer thresholds defines the binary tree. 
 
     
     
       18. The system of  claim 16 , wherein the estimated mean values of level distributions of the multi-level memory cells and the estimated variance values of level distributions of the multi-level memory cells is updated according to the equations:
     e   k   ′=r   k   ′−m   k−1 ( i ) 
     m   k ( i )= m   k−1 ( i )+μ m   ′·e   k ′
 
   σ k   2 ( i )=σ k−1   2 ( i )+μ v ′( e   k   ′·e   k ′−σ k−1   2 ( i ))
 
 where for 0≦i≦M−1 and k is an integer greater than 0, r k ′ is a k-th signal sample associated with the user data of one of the multi-level data memory cells, m k−1 (i) is an estimated mean of i-th level distribution for time k−1, e k ′ is an estimated error for time k, m k (i) is an estimated mean of i-th level distribution for time k, m k−1 (i) is an estimated mean of i-th level distribution for time k−1, and μ m ′ is a third adaptation constant, σ k   2 (i) is an estimated variance of i-th level distribution for time k, σ k−1   2 (i) is an estimated variance of i-th level distribution for time k−1, and μ v ′ is a fourth adaptation constant. 
 
     
     
       19. The system of  claim 18 , wherein:
 the first adaptation constant μ m  is greater than the third adaptation constant μ m ′, and 
 the second adaptation constant μ v  is greater than the fourth adaptation constant μ v ′. 
 
     
     
       20. The system of  claim 11 , wherein the estimation block is further configured to:
 set initial mean values and initial variance values for the level distributions of the multi-level memory cells, 
 wherein the estimation block is configured to compute (i) the estimated mean values of level distributions of the multi-level memory cells and (ii) the estimated variance values of level distributions of the multi-level memory cells by
 based on the initial mean values and initial variance values for the level distributions of the multi-level memory cells, computing (i) the estimated mean values of level distributions of the multi-level memory cells and (ii) the estimated variance values of level distributions of the multi-level memory cells.

Join the waitlist — get patent alerts

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

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