IP Library Granted Patent US 8,953,372
Granted Patent B2
US 8,953,372 · App. 13/936,622 · Granted Feb 10, 2015

Memory device readout using multiple sense times

Inventors: Avraham Poza Meir (Rishon Le-Zion, IL); Barak Baum (Givatayim, IL); Naftali Sommer (Rishon Le-Zion, IL)
Assignee: Apple Inc.
G06F11/1008G11C7/06G11C8/08G11C11/4091G11C11/5642G11C13/004G11C13/0061G11C16/26G11C16/349G11C27/005G11C8/12G11C29/00G11C2211/5641
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,953,372
App. No.
13/936,622
Granted
Feb 10, 2015
Kind
B2
Abstract

A method for data storage includes storing data in a group of analog memory cells by writing respective storage values into the memory cells in the group. One or more of the memory cells in the group are read using a first readout operation that senses the memory cells with a first sense time. At least one of the memory cells in the group is read using a second readout operation that senses the memory cells with a second sense time, longer than the first sense time. The data stored in the group of memory cells is reconstructed based on readout results of the first and second readout operations.

Claims (49)

1. A method, comprising:

evaluating a condition with respect to a read operation that is to be performed by a memory, wherein the memory includes a plurality of memory cells;

selecting one of a first read command and a second read command dependent upon the evaluated condition, wherein the first read command reads stored values at a first accuracy and the second read command reads stored values at a second accuracy, wherein the second accuracy is finer than the first accuracy; and

sending the selected read command to the memory.

2. The method of claim 1 , wherein the first read command has a first execution time, and the second read command has a second execution time, wherein the second execution time is greater than the first execution time.

3. The method of claim 1 , wherein the first read command causes the stored values to be sensed for a first period of time, and the second read command causes the stored values to be sensed for a second period of time, the second period of time longer than the first period of time.

4. The method of claim 1 , wherein the first read command causes the stored values to be read using a first number of read thresholds, and the second read command causes the stored values to be read using a second number of read thresholds, wherein the second number of read thresholds is greater than the first number of read thresholds.

5. The method of claim 4 , wherein the first read command produces hard metrics associated with the read values, and the second read command produces soft metrics associated with the read values.

6. The method of claim 1 , wherein evaluating the condition comprises assessing a wear level of at least a portion of the memory cells.

7. The method of claim 6 , wherein the wear level is represented by a number of program and erase cycles undergone by the at least a portion of the memory cells.

8. The method of claim 6 , wherein the wear level is represented by a retention period for data stored in the at least a portion of the memory cells.

9. The method of claim 1 , wherein evaluating the condition comprises determining that at least one memory cell of the memory may potentially interfere with one or more of the memory cells to be read.

10. The method of claim 9 , wherein the second read command is selected responsive to a determination that at least one memory cell of the memory may potentially interfere with one or more of the memory cells to be read.

11. The method of claim 10 , wherein the second read command causes an interference cancellation process to be performed.

12. The method of claim 10 , wherein the first read command does not cause interference processing to be performed.

13. The method of claim 1 , wherein evaluating the condition and selecting one of the read commands comprises selecting the first read command responsive to a determination that the read operation reads stored values from potentially-interfering memory cells.

14. The method of claim 1 , wherein evaluating the condition and selecting one of the read commands comprises selecting the second read command responsive to a failure to successfully read the stored values using the first read command.

15. The method of claim 14 , wherein the stored values are encoded with an error correction code (ECC) and the failure comprises a failure to successfully decode the ECC with a result of the first read command.

16. The method of claim 15 , wherein results of both the first read command and the second read command are used to decode the ECC.

17. The method of claim 1 , wherein evaluating the condition and selecting one of the read commands comprises selecting the first read command responsive to a determination that results of the read operation will be used to estimate a statistical distribution of values stored in at least a portion of the memory.

18. The method according to claim 1 , wherein evaluating the condition and selecting one of the read commands comprises selecting the first read command responsive to a determination that results of the read operation will be used to verify the storage values previously written to the memory cells.

19. The method according to claim 1 , wherein evaluating the condition and selecting the one of the read commands comprises selecting the first read command responsive to a determination that the read operation reads a first level of a multi-level memory cell, and selecting the second read command responsive to a determination that the read operation reads a second level from the multi-level memory cell.

20. The method of claim 1 , wherein evaluating the condition and selecting the one of the read commands comprises selecting the first read command responsive to a determination that at least a portion of the memory cells are at the beginning of a life cycle.

21. An apparatus, comprising:

a processor configured to:

evaluate a condition with respect to a read operation that is to be performed by a memory, wherein the memory is comprised of a plurality of memory cells;

select one of a first read command and a second read command dependent upon the evaluated condition, wherein the first read command reads values stored in the memory at a first accuracy and the second read command reads the values stored in the memory at a second accuracy, wherein the second accuracy is finer than the first accuracy; and

an interface coupled to the processor, the interface configured to send the selected command to the memory.

22. The apparatus of claim 21 , wherein the apparatus is part of a memory controller.

23. The apparatus of claim 21 , wherein the apparatus is part of a memory device that comprises the memory.

24. The apparatus of claim 21 , wherein the first read command has a first execution time, and the second read command has a second execution time, wherein the second execution time is greater than the first execution time.

25. The apparatus of claim 21 , wherein the first read command causes the stored values to be sensed for a first period of time, and the second read command causes the stored values to be sensed for a second period of time, the second period of time longer than the first period of time.

26. The apparatus of claim 21 , wherein the first read command causes the stored values to be read using a first number of read thresholds, and the second read command causes the stored values to be read using a second number of read thresholds, wherein the second number of read thresholds is greater than the first number of read thresholds.

27. The apparatus of claim 26 , wherein the first read command produces hard metrics associated with the read values, and the second read command produces soft metrics associated with the read values.

28. The apparatus of claim 21 , wherein evaluating the condition comprises assessing a wear level of at least a portion of the memory cells.

29. The apparatus of claim 28 , wherein the wear level is represented by a number of program and erase cycles undergone by the at least a portion of the memory cells.

30. The apparatus of claim 28 , wherein the wear level is represented by a retention period for data stored in the at least a portion of the memory cells.

31. The apparatus of claim 21 , wherein evaluating the condition comprises determining that at least one memory cell of the memory may potentially interfere with one or more of the memory cells to be read.

32. The apparatus of claim 31 , wherein the second read command is selected responsive to a determination that at least one memory cell of the memory may potentially interfere with one or more of the memory cells to be read.

33. The apparatus of claim 32 , wherein the second read command causes an interference cancellation process to be performed.

34. The apparatus of claim 32 , wherein the first read command does not cause interference processing to be performed.

35. The apparatus of claim 21 , wherein evaluating the condition and selecting one of the read commands comprises selecting the first read command responsive to a determination that the read operation reads stored values from potentially-interfering memory cells.

36. The apparatus of claim 21 , wherein evaluating the condition and selecting one of the read commands comprises selecting the second read command responsive to a failure to successfully read the stored values using the first read command.

37. The apparatus of claim 33 , wherein the stored values are encoded with an error correction code (ECC) and the failure comprises a failure to successfully decode the ECC with a result of the first read command.

38. The apparatus of claim 37 , wherein results of both the first read command and the second read command are used to decode the ECC.

39. The apparatus of claim 21 , wherein evaluating the condition and selecting one of the read commands comprises selecting the first read command responsive to a determination that results of the read operation will be used to estimate a statistical distribution of values stored in at least a portion of the memory.

40. The apparatus of claim 21 , wherein evaluating the condition and selecting one of the read commands comprises selecting the first read command responsive to a determination that results of the read operation will be used to verify the storage values previously written to the memory cells.

41. The apparatus of claim 21 , wherein evaluating the condition and selecting the one of the read commands comprises selecting the first read command responsive to a determination that the read operation reads a first level of a multi-level memory cell, and selecting the second read command responsive to a determination that the read operation reads a second level from the multi-level memory cell.

42. The apparatus of claim 21 , wherein evaluating the condition and selecting the one of the read commands comprises selecting the first read command responsive to a determination that at least a portion of the memory cells are at the beginning of a life cycle.

Continuity (6)
Continuation 13284909 · Oct 30, 2011
Continuation In Part 13214257 · Aug 22, 2011
Continuation In Part 12405275 · Mar 17, 2009
Provisional Application 61119929 · Dec 4, 2008
Provisional Application 61037327 · Mar 18, 2008
Related Publication 20130297989A1 · Nov 7, 2013