IP Library Granted Patent US 8,937,838
Granted Patent B2
US 8,937,838 · App. 13/691,113 · Granted Jan 20, 2015

Finding optimal read thresholds and related voltages for solid state memory

Inventors: Xiangyu Tang (San Jose, CA); Lingqi Zeng (Turlock, CA); Jason Bellorado (San Clara, CA); Frederick K. H. Lee (Mountain View, CA); Arunkumar Subramanian (Santa Clara, CA)
Assignee: SK hynix memory solutions inc.
G11C16/26
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,937,838
App. No.
13/691,113
Granted
Jan 20, 2015
Kind
B2
Abstract

An expected value associated with stored values in solid state storage, as well as a set of three or more points are obtained where the three or more points include a voltage and a value associated with stored values. Two points having ratios closest to the expected value are selected from the set. A voltage is determined based at least in part on the selected two points and the expected value.

Claims (75)

1. A system, comprising:

a storage read interface; and

a voltage calculator configured to:

obtain an expected value associated with stored values in solid state storage;

obtain a set of three or more points, wherein the three or more points include a voltage and a value associated with stored values;

select, from the set, two points having ratios closest to the expected value; and

determine a voltage based at least in part on the selected two points and the expected value.

2. The system of claim 1 , wherein the expected value includes one or more of the following: a ratio of ones to zeros, a ratio of zeros to ones, a number of ones, or a number of zeros.

3. The system of claim 1 , wherein the voltage calculator is configured to determine the voltage by: determining an intersection between a first line at the expected value and a second line which includes the selected two points.

4. The system of claim 1 , wherein:

the voltage calculator is configured to determine the voltage by: determining the voltage at an i th iteration; and

the voltage calculator is further configured to: determine, at a j th iteration, a voltage, including by:

selecting, from the set, a point having a ratio closest to the expected value; and

adjusting the voltage of the selected point, having the ratio closest to the expected value, by an offset.

5. The system of claim 4 , wherein the voltage calculator is configured to adjust by: adjusting in a direction that is expected to produce a ratio that is closer to the expected value.

6. The system of claim 4 , wherein:

in the event a last point in the set is one of the selected two points, the voltage calculator is configured to determine the voltage at the i th iteration; and

in the event the last point in the set is not one of the selected two points, the voltage calculator is configured to determine the voltage at the j th iteration.

7. A system, comprising:

a storage read interface; and

a voltage calculator configured to:

obtain a set of three or more points, wherein the three or more points include a voltage and a number of flipped bits associated with solid state memory;

determine a slope of a line formed by each pair of points in the set;

select, based at least in part on the determined slopes, a pair of points from the set which have the steepest line; and

determine a voltage based at least in part on the selected pair of points.

8. The system of claim 7 , wherein the number of flipped bits includes one or more of the following: a number of bits flipped from one to zero or a number of bits flipped from zero to one.

9. The system of claim 7 , wherein the voltage calculator is configured to obtain by:

reading, via the a storage read interface, the solid state memory at a first read threshold to obtain a first number of read-back values;

reading, via the a storage read interface, the solid state memory at a second read threshold to obtain a second number of read-back values; and

determining a first coordinate by taking a difference between the first number of read-back values and the second number of read-back values.

10. The system of claim 9 , wherein the voltage calculator is further configured to obtain by:

determining a second coordinate by taking an average of the first read threshold and the second read threshold.

11. The system of claim 9 , wherein the first number of read-back values includes one or more of the following: a number of zeros or a number of ones.

12. A system, comprising:

a storage read interface; and

a voltage calculator configured to:

obtain a voltage corresponding to an expected value associated with stored values;

obtain a voltage corresponding to a local minimum, between a first local maximum and a second local maximum, in a distribution of voltages; and

generate a voltage bounded by the voltage corresponding to the expected value and the voltage corresponding to the local minimum.

13. The system of claim 12 , wherein the value includes one or more of the following: a ratio of ones to zeros, a ratio of zeros to ones, a number of ones, or a number of zeros.

14. The system of claim 12 , wherein the voltage calculator is configured to generate by: determining an average of the voltage corresponding to the expected value and the voltage corresponding to the local minimum.

15. A method, comprising:

obtaining an expected value associated with stored values in solid state storage;

obtaining a set of three or more points, wherein the three or more points include a voltage and a value associated with stored values;

selecting, from the set, two points having ratios closest to the expected value; and

using a voltage calculator to determine a voltage based at least in part on the selected two points and the expected value.

16. The method of claim 15 , wherein the expected value includes one or more of the following: a ratio of ones to zeros, a ratio of zeros to ones, a number of ones, or a number of zeros.

17. The method of claim 15 , wherein using the voltage calculator to determine the voltage includes determining an intersection between a first line at the expected value and a second line which includes the selected two points.

18. The method of claim 15 , wherein:

using the voltage calculator to determine the voltage includes determining the voltage at an i th iteration; and

the method further includes determining, at a j th iteration, a voltage, including by:

selecting, from the set, a point having a ratio closest to the expected value; and

adjusting the voltage of the selected point, having the ratio closest to the expected value, by an offset.

19. The method of claim 18 , wherein adjusting includes adjusting in a direction that is expected to produce a ratio that is closer to the expected value.

20. The method of claim 18 , wherein:

in the event a last point in the set is one of the selected two points, the voltage at the i th iteration is determined; and

in the event the last point in the set is not one of the selected two points, the voltage at the j th iteration is determined.

21. A method, comprising:

obtaining a set of three or more points, wherein the three or more points include a voltage and a number of flipped bits associated with solid state memory;

determining a slope of a line formed by each pair of points in the set;

selecting, based at least in part on the determined slopes, a pair of points from the set which have the steepest line; and

using a voltage calculator to determine a voltage based at least in part on the selected pair of points.

22. The method of claim 21 , wherein the number of flipped bits includes one or more of the following: a number of bits flipped from one to zero or a number of bits flipped from zero to one.

23. The method of claim 21 , wherein obtaining includes:

reading, via the a storage read interface, the solid state memory at a first read threshold to obtain a first number of read-back values;

reading, via the a storage read interface, the solid state memory at a second read threshold to obtain a second number of read-back values; and

determining a first coordinate by taking a difference between the first number of read-back values and the second number of read-back values.

24. The method of claim 23 , wherein obtaining further includes determining a second coordinate by taking an average of the first read threshold and the second read threshold.

25. The method of claim 23 , wherein the first number of read-back values includes one or more of the following: a number of zeros or a number of ones.

26. A method, comprising:

obtaining a voltage corresponding to an expected value associated with stored values;

obtaining a voltage corresponding to a local minimum, between a first local maximum and a second local maximum, in a distribution of voltages; and

using a voltage calculator to generate a voltage bounded by the voltage corresponding to the expected value and the voltage corresponding to the local minimum.

27. The method of claim 26 , wherein the value includes one or more of the following: a ratio of ones to zeros, a ratio of zeros to ones, a number of ones, or a number of zeros.

28. The method of claim 26 , wherein using the voltage calculator to generate includes determining an average of the voltage corresponding to the expected value and the voltage corresponding to the local minimum.

Assignments (2)
CHANGE OF NAME Recorded Feb 26, 2013
From: LINK_A_MEDIA DEVICES CORPORATION
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 029881/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2013
From: TANG, XIANGYU; ZENG, LINGQI; BELLORADO, JASON; LEE, FREDERICK K.H.; SUBRAMANIAN, ARUNKUMAR
To: LINK_A_MEDIA DEVICES CORPORATION
Reel/Frame 029788/0098 →
Continuity (2)
Provisional Application 61585174 · Jan 10, 2012
Related Publication 20130176775A1 · Jul 11, 2013