Adaptive read and write systems and methods for memory cells
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-modifiedWhat 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.