IP Library Granted Patent US 9,069,659
Granted Patent B1
US 9,069,659 · App. 13/733,774 · Granted Jun 30, 2015

Read threshold determination using reference read threshold

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 9,069,659
App. No.
13/733,774
Granted
Jun 30, 2015
Kind
B1
Abstract

A non-transitory computer readable medium that stores instructions for: reading a first group of flash memory cells using a reference read threshold to obtain multiple read results; processing the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value; estimating at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and reading a second group of flash memory cells using the at least one actual read threshold to provide actual read results.

Claims (76)

1. A non-transitory computer readable medium that stores instructions for:

calculating a reference read threshold in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;

reading a first group of flash memory cells using the reference read threshold to obtain multiple read results;

processing the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value;

estimating at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and

reading a second group of flash memory cells using the at least one actual read threshold to provide actual read results.

2. The non-transitory computer readable medium according to claim 1 that stores instructions for processing the multiple read results by calculating the distribution of values of the read results.

3. The non-transitory computer readable medium according to claim 1 that stores instructions for processing the multiple read results by counting the number of read results of the certain value.

4. The non-transitory computer readable medium according to claim 1 that stores instructions for estimating the at least one actual read threshold by applying an estimation function on at least one of (i) the number of read results of the certain value and (ii) distribution information about the distribution of values of the read results.

5. The non-transitory computer readable medium according to claim 4 , wherein the estimation function is a linear function.

6. The non-transitory computer readable medium according to claim 4 , wherein the estimation function is a polynomial function.

7. The non-transitory computer readable medium according to claim 4 , wherein the estimation function is a minimum means square estimating function.

8. The non-transitory computer readable medium according to claim 4 that stores instructions for updating the estimation function in response to the actual read results.

9. The non-transitory computer readable medium according to claim 1 that stores instructions for:

performing an initial read of an initial group of flash memory cells to obtain initial read results; and

selecting the reference read threshold in response to the initial read results.

10. The non-transitory computer readable medium according to claim 9 that stores instructions for evaluating a state of the initial group of flash memory cells in response to the initial read results; wherein the selecting of the reference read threshold is responsive to the state of the initial group of flash memory cells.

11. The non-transitory computer readable medium according to claim 1 that stores instructions for:

performing an initial read of an initial group of flash memory cells to obtain initial read results;

processing the initial read results by performing at least one out of calculating a distribution of values of the initial read results and counting a number of initial read results of a certain value; and

selecting the reference read threshold in response to at least one out of the distribution of values of the initial read results and the number of initial read results of the certain value.

12. The non-transitory computer readable medium according to claim 1 that stores instructions for selecting the reference read threshold based upon a physical characteristic of the first group of memory cells.

13. The non-transitory computer readable medium according to claim 12 , wherein the physical characteristic represents a location of the first group of flash memory cells.

14. The non-transitory computer readable medium according to claim 12 , wherein the physical characteristic represents a state of the first group of flash memory cells.

15. The non-transitory computer readable medium according to claim 1 that stores instructions for calculating the reference read threshold.

16. The non-transitory computer readable medium according to claim 1 that stores instructions for:

calculating each reference read threshold out of multiple reference read thresholds in response to the information about read threshold voltages of the plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; wherein the multiple reference read thresholds comprise the reference read thresholds; and

reading the first group of flash memory cells using multiple reference read thresholds to obtain the multiple read results.

17. A non-transitory computer readable medium that stores instructions for:

calculating a reference read threshold by: obtaining information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; and finding, in response to the information, the reference read threshold that when used during read attempts, minimizes a number of read errors;

reading a first group of flash memory cells using the reference read threshold to obtain multiple read results;

processing the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value;

estimating at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and

reading a second group of flash memory cells using the at least one actual read threshold to provide actual read results.

18. A non-transitory computer readable medium that stores instructions for:

calculating each reference read threshold out of a plurality of reference read thresholds in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;

reading a first group of flash memory cells using the plurality of reference read thresholds to obtain a plurality of sets of read results, one set of read results per each flash memory cell of the first group of flash memory cells;

processing the plurality of sets of read results by performing at least one out of: calculating a distribution of values of the plurality of sets of read results and counting a number of sets of read results of a given value;

estimating at least one actual read threshold to be used during future read attempts in response to at least one of the distribution of values of the plurality of sets of read results and the number of sets of read results of the given value.

19. A non-transitory computer readable medium that stores instructions for: acquiring information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; selecting, calculating or finding a reference read threshold per one or more groups of flash memory cells; calculating, based upon the information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells, and for each group of flash memory cells out of the plurality of flash memory cells, one or more suggested read thresholds; reading the flash memory cells of different groups, using the reference read threshold associated with each group, to provide read results; counting, for each group of flash memory cells of the plurality of flash memory cells, a number of read results of a certain value; and finding, per each suggested read threshold, an estimating function that will map the numbers of read result of the certain value per each group to the suggested read threshold.

20. A system, comprising:

a flash memory controller that is arranged to read a first group of flash memory cells using a reference read threshold to obtain multiple read results;

a host computer that is arranged to:

calculate the reference read threshold in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;

process the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value; and

estimate at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and

wherein the flash memory controller is also arranged to read a second group of flash memory cells using the at least one actual read threshold to provide actual read results.

21. A system, comprising:

a flash memory controller that is arranged to:

calculate a reference read threshold in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;

read a first group of flash memory cells using the reference read threshold to obtain multiple read results;

process the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value;

estimate at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and

read a second group of flash memory cells using the at least one actual read threshold to provide actual read results.

22. A system comprising:

a flash memory controller that is arranged to read a first group of flash memory cells using a plurality of reference read thresholds to obtain a plurality of sets of read results, one set of read results per each flash memory cell of the first group of flash memory cells; and

a host computer that is arranged to:

calculate each reference read threshold of the plurality of reference read thresholds in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;

process the plurality of sets of read results by performing at least one out of:

calculating a distribution of values of the plurality of sets of read results and counting a number of sets of read results of a given value; and

estimate at least one actual read threshold to be used during future read attempts in response to at least one of the distribution of values of the plurality of sets of read results and the number of sets of read results of the given value.

23. A system comprising:

a flash memory controller that is arranged to calculate each reference read threshold of a plurality of reference read thresholds in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; read a first group of flash memory cells using the plurality of reference read thresholds to obtain a plurality of sets of read results, one set of read results per each flash memory cell of the first group of flash memory cells; to process the plurality of sets of read results by performing at least one out of: calculating a distribution of values of the plurality of sets of read results and counting a number of sets of read results of a given value; and estimate at least one actual read threshold to be used during future read attempts in response to at least one of the distribution of values of the plurality of sets of read results and the number of sets of read results of the given value.

24. A system comprising: a flash memory controller that is arranged to acquire information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; select, calculate or find a reference read threshold per one or more groups of flash memory cells; calculate, based upon the information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells, and for each group of flash memory cells out of the plurality of flash memory cells, one or more suggested read thresholds; read the flash memory cells of different groups, using the reference read threshold associated with each group, to provide read results; count, for each group of flash memory cells of the plurality of flash memory cells, a number of read results of a certain value; and find, per each suggested read threshold, an estimating function that will map the numbers of read result of the certain value per each group to the suggested read threshold.

25. A method comprising:

calculating each reference read threshold of a plurality of reference read thresholds in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;

reading a first group of flash memory cells using the plurality of reference read thresholds to obtain a plurality of sets of read results, one set of read results per each flash memory cell of the first group of flash memory cells;

processing the plurality of sets of read results by performing at least one out of: calculating a distribution of values of the plurality of sets of read results and counting a number of sets of read results of a given value;

estimating at least one actual read threshold to be used during future read attempts in response to at least one of the distribution of values of the plurality of sets of read results and the number of sets of read results of the given value.

26. A method comprising: acquiring information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; selecting, calculating or finding a reference read threshold per one or more groups of flash memory cells; calculating, based upon the information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells, and for each group of flash memory cells out of the plurality of flash memory cells, one or more suggested read thresholds; reading the flash memory cells of different groups, using the reference read threshold associated with each group, to provide read results; counting, for each group of flash memory cells of the plurality of flash memory cells, a number of read results of a certain value; and finding, per each suggested read threshold, an estimating function that will map the numbers of read result of the certain value per each group to the suggested read threshold.

27. A method comprising:

calculating a reference read threshold in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;

reading a first group of flash memory cells using the reference read threshold to obtain multiple read results;

processing the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value;

estimating at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and

reading a second group of flash memory cells using the at least one actual read threshold to provide actual read results.

Assignments (9)
MERGER Recorded Mar 3, 2023
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED; BROADCOM INTERNATIONAL PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 062952/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
To: BROADCOM INTERNATIONAL PTE. LTD.
Reel/Frame 053771/0901 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2017
From: KREOS CAPITAL IV (EXPERT FUND) LIMITED
To: DENSBITS TECHNOLOGIES LTD.
Reel/Frame 041339/0921 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2016
From: DENSBITS TECHNOLOGIES LTD.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 037622/0224 →
SECURITY INTEREST Recorded Mar 18, 2015
From: DENSBITS TECHNOLOGIES LTD.
To: KREOS CAPITAL IV (EXPERT FUND) LIMITED
Reel/Frame 035222/0547 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2014
From: SABBAG, EREZ; WEINGARTEN, HANAN; PINKOVICH, EVGENI
To: DENSBITS TECHNOLOGIES LTD.
Reel/Frame 034193/0730 →
SECURITY INTEREST Recorded Jul 30, 2014
From: DENSBITS TECHNOLOGIES LTD.
To: KREOS CAPITAL IV (EXPERT FUND) LIMITED
Reel/Frame 033444/0628 →