Calibrating optimal read levels
US-9576671-B2 · Feb 21, 2017 · US
US9905302B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9905302-B2 |
| Application number | US-201414549532-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 20, 2014 |
| Priority date | Nov 20, 2014 |
| Publication date | Feb 27, 2018 |
| Grant date | Feb 27, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A plurality of flash memory wordlines of a flash storage device are divided into a plurality of wordline groups based on read error counts associated with the wordlines and a plurality of read level offsets. Each wordline group is associated with one of a plurality of read level offsets determined while dividing the plurality of flash memory wordlines, and associations between the plurality of read level offsets and the plurality of wordline groups are stored for use in connection with read levels to read the flash memory wordlines of the respective wordline groups.
Opening claim text (preview).
What is claimed is: 1. A machine-implemented method, the method comprising: dividing a plurality of flash memory wordlines of a flash storage device into a plurality of wordline groups based on read error counts associated with the wordlines and a plurality of read level offsets; associating each wordline group with one of the plurality of read level offsets determined while dividing the plurality of flash memory wordlines; and storing associations between the plurality of read level offsets and the plurality of wordline groups for use in connection with read levels to read the flash memory wordlines of the respective wordline groups. 2. The machine-implemented method of claim 1 , wherein each of the plurality of wordline groups comprises consecutively ordered wordlines of a flash memory block. 3. The machine-implemented method of claim 1 , wherein dividing the plurality of flash memory wordlines into the plurality of wordline groups comprises: selecting respective permutations of consecutive wordline subgroups from within a predetermined set of wordline candidate groups based on a minimum of total error counts associated with the respective permutations, the consecutive wordline subgroups each being associated with a read level offset corresponding to a minimum of error counts associated with a plurality of possible read level offsets. 4. The machine-implemented method of claim 3 , wherein dividing the plurality of flash memory wordlines into the plurality of wordline groups comprises: (a) selecting first and second consecutive candidate wordline groups from the predetermined set of candidate wordline groups; (b) providing a plurality of subgroup permutations for the selected first and second consecutive candidate wordline groups, each subgroup permutation comprising multiple consecutive wordline subgroups of wordlines spanning the first and second consecutive wordline groups; (c) for each wordline subgroup of a respective subgroup permutation, identifying from the plurality of possible read level offsets a respective read level offset that when used with the read level to read the wordlines in the wordline subgroup generates the least number of errors for the wordline subgroup; and (d) choosing one of the plurality of subgroup permutations having a lowest total error count for consecutive wordline subgroups in the subgroup permutation based on the identified read level offsets for the consecutive wordline subgroups, wherein the plurality of wordline groups are based at least in part on one or more read level offsets corresponding to the selected one of the plurality of subgroup permutations. 5. The machine-implemented method of claim 4 , wherein dividing the plurality of flash memory wordlines into the plurality of wordline groups further comprises: (e) storing an association between a first of the consecutive wordline subgroups in the chosen subgroup permutation and a corresponding identified read level offset; and (f) repeating steps (a) through (e) using a second of the consecutive wordline subgroups in the chosen subgroup permutation as the first consecutive candidate wordline group and a next candidate group from the predetermined set of candidate wordline groups as the second consecutive candidate wordline group, the repeating ending when associations have been stored for all wordlines in the predetermined set of candidate wordline groups. 6. The machine-implemented method of claim 5 , wherein dividing the plurality of flash memory wordlines into the plurality of wordline groups further comprises: repeating steps (a) through (f) until wordline boundaries of the consecutive wordline subgroups do not change from one iteration to a next iteration, or until an overall bit error rate measured based on identified read level offsets for the consecutive wordline subgroups does not change from one iteration to a next iteration, or a certain number of iterations is reached. 7. The machine-implemented method of claim 3 , wherein each consecutive wordline subgroup of a respective permutation is generated based on an interleaving of consecutive wordlines within the predetermined set of candidate wordline groups. 8. The machine-implemented method of claim 1 , wherein dividing the plurality of flash memory wordlines into the plurality of wordline groups comprises: selecting respective permutations of consecutive wordline subgroups from within a predetermined set of candidate groups based on selecting a minimum of maximum error counts associated with the respective permutations, the consecutive wordline subgroups each being associated with a read level offset corresponding to a minimum of respective error counts associated with a plurality of possible read level offsets. 9. The machine-implemented method of claim 8 , wherein dividing the plurality of flash memory wordlines into the plurality of wordline groups comprises: (a) selecting first and second consecutive candidate wordline groups from the predetermined set of candidate groups; (b) providing a plurality of subgroup permutations for the selected first and second consecutive candidate wordline groups, each subgroup permutation comprising multiple consecutive wordline subgroups of wordlines spanning the first and second consecutive wordline groups; (c) for each consecutive wordline subgroup of a respective subgroup permutation, determining a maximum error count associated with reading wordlines in the wordline subgroup for each possible read level offset used with the read level to read the wordlines of the wordline subgroup, and selecting from the plurality of possible read level offsets a read level offset corresponding to the minimum of the determined maximum error counts for the wordline subgroup; (d) for each subgroup permutation, determining a maximum error count of the error counts associated with the wordline subgroups of the subgroup permutation; and (e) choosing one of the plurality of subgroup permutations having a minimum of the determined maximum error counts. 10. The machine-implemented method of claim 9 , wherein dividing the plurality of flash memory wordlines into the plurality of wordline groups further comprises: (f) storing an association between a first of the consecutive wordline subgroups in the chosen subgroup permutation and a corresponding identified read level offset; and (g) repeating steps (a) through (f) using a second of the consecutive wordline subgroups in the chosen subgroup permutation as the first consecutive candidate wordline group and a next candidate group from the predetermined set of candidate groups as the second consecutive candidate wordline group, the repeating ending when associations have been stored for all wordlines in the predetermined set of candidate groups. 11. The machine-implemented method of claim 10 , wherein dividing the plurality of flash memory wordlines into the plurality of wordline groups further comprises: repeating steps (a) through (g) until wordline boundaries of the consecutive wordline subgroups do not change from one iteration to a next iteration, or until an overall bit error rate measured for the consecutive wordline subgroups does not change from one iteration to a next iteration, or a certain number of iterations is reached. 12. The machine-implemented method of claim 3 , further comprising: generating an error count table, each error count in the table being indexed based on a respective read level offset and a respective flash memory wordline; and generating a respective normalized read level offset group based on: indexing the error count table by a plurality of consecutive flash memory wordlines to identify corresponding read level
Sensing or reading circuits; Data output circuits · CPC title
Sensing or reading circuits; Data output circuits · CPC title
Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.