Efficient search for optimal read thresholds in flash memory

US9697075B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9697075-B2
Application numberUS-201514847037-A
CountryUS
Kind codeB2
Filing dateSep 8, 2015
Priority dateSep 8, 2015
Publication dateJul 4, 2017
Grant dateJul 4, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method includes storing data encoded with an ECC in a group of memory cells by writing respective storage values to the memory cells. Multiple sets of readout results are read from the memory cells by comparing the storage values to one or more threshold combinations, each including multiple read thresholds. A plurality of partial syndromes of the ECC is computed, each partial syndrome computed over the readout results that were read using a respective threshold combination. A respective syndrome is calculated for each threshold combination, in at least a subset of all possible threshold combinations, based on one or more of the partial syndromes associated with that threshold combination. A preferred threshold combination is selected, from among the threshold combinations, for which a weight of the respective syndrome is minimal, by processing less than all the partial syndromes associated with all the possible threshold combinations.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: storing data encoded with an Error Correction Code (ECC) in a group of memory cells of a Flash memory device, by converting the data into analog voltages indicative of the data, and writing the analog voltages to the memory cells in the group; reading from the memory cells in the group multiple sets of readout results, by comparing the analog voltages of the memory cells to threshold combinations, each comprising multiple read thresholds that are positioned at respective voltages; determining a plurality of partial syndromes of the ECC, wherein each partial syndrome is determined over the readout results that were read using a respective threshold combination from a respective subset of the memory cells; determining a respective syndrome for each threshold combination in at least a subset of all possible threshold combinations, based on one or more of the partial syndromes that are associated with that threshold combination; identifying a preferred threshold combination, for which a weight of the respective syndrome is the smallest out of all the possible threshold combinations, by processing less than all the partial syndromes associated with all the possible threshold combinations; and recovering the data stored in the group of memory cells using the preferred threshold combination. 2. The method according to claim 1 , wherein identifying the preferred threshold combination comprises identifying a given threshold combination in which the weight of the respective syndrome falls below a predefined weight threshold, and in response to identifying the given threshold combination searching for the preferred threshold combination only among threshold combinations in a vicinity of the identified threshold combination. 3. The method according to claim 2 , wherein searching in the vicinity of the identified threshold combination comprises transitioning between adjacent threshold combinations by changing a position of only one of the read thresholds. 4. The method according to claim 1 , wherein identifying the preferred threshold combination comprises scanning the threshold combinations in an order in which adjacent threshold combinations differ in a position of only one read threshold, and wherein determining the syndrome comprises calculating the syndrome based on a previous syndrome calculated in a previously scanned threshold combination. 5. The method according to claim 1 , wherein determining the syndrome comprises simultaneously determining multiple syndromes, corresponding to respective different threshold combinations. 6. The method according to claim 1 , wherein determining the syndrome comprises accumulating syndrome weights corresponding to portions of the syndrome that are determined separately, and terminating determining the syndrome if the accumulated weight exceeds a maximal weight threshold. 7. The method according to claim 6 , wherein each of the portions is associated with a respective dedicated maximal weight threshold. 8. The method according to claim 6 , wherein identifying the preferred threshold combination is carried out in multiple iterations, wherein determining the syndrome comprises determining the maximal weight threshold in one iteration based on a syndrome weight determined in a previous iteration. 9. The method according to claim 6 , wherein determining the syndrome comprises processing the portions in an order that maximizes saturation-indicative information that the accumulated weight bears. 10. The method according to claim 1 , wherein identifying the preferred threshold combination comprises identifying an invalid position of one of the read thresholds, which causes syndrome saturation regardless of positions of other thresholds, and excluding, from the subset of threshold combinations, a threshold combination that contains the invalid position. 11. The method according to claim 1 , wherein identifying the preferred threshold combination is carried out in multiple iterations, wherein each iteration starts with the threshold combination selected in a previous iteration, and wherein positions of the read thresholds in a given iteration are determined at a resolution finer than in the previous iteration. 12. An apparatus, comprising: an interface configured to communicate with a Flash memory device comprising multiple memory cells; and storage circuitry, configured to: store data encoded with an Error Correction Code (ECC) in a group of the memory cells, by converting the data into analog voltages indicative of the data, and writing the analog voltages to the memory cells in the group; read from the memory cells in the group multiple sets of readout results, by comparing the analog voltages of the memory cells to threshold combinations, each comprising multiple read thresholds that are positioned at respective voltages; determine a plurality of partial syndromes of the ECC, wherein each partial syndrome is determined over the readout results that were read using a respective threshold combination from a respective subset of the memory cells; determine a respective syndrome for each threshold combination in at least a subset of all possible threshold combinations, based on one or more of the partial syndromes that are associated with that threshold combination; identify a preferred threshold combination, for which a weight of the respective syndrome is the smallest out of all the possible threshold combinations, by processing less than all the partial syndromes associated with all the possible threshold combinations; and recover the data stored in the group of memory cells using the preferred threshold combination. 13. The apparatus according to claim 12 , wherein the storage circuitry is configured to identify a given threshold combination in which the weight of the respective syndrome falls below a predefined weight threshold, and, in response to identifying the given threshold combination, to search for the preferred threshold combination only among threshold combinations in a vicinity of the identified threshold combination. 14. The apparatus according to claim 13 , wherein the storage circuitry is configured to transition between adjacent threshold combinations by changing a position of only one of the read thresholds. 15. The apparatus according to claim 12 , wherein the storage circuitry is configured to scan the threshold combinations in an order in which adjacent threshold combinations differ in a position of only one read threshold, and to determine the syndrome based on a previous syndrome determined in a previously scanned threshold combination. 16. The apparatus according to claim 12 , wherein the storage circuitry is configured to simultaneously determine multiple syndromes, corresponding to respective different threshold combinations. 17. The apparatus according to claim 12 , wherein the storage circuitry is configured to determine the syndrome by accumulating syndrome weights corresponding to portions of the syndrome that are determined separately, and to terminate determining the syndrome if the accumulated weight exceeds a maximal weight threshold. 18. The apparatus according to claim 17 , wherein the storage circuitry is configured to process the portions in an order that minimizes an average number of the portions processed before terminating calculation of the syndrome. 19. The apparatus according to claim 12 , wherein the storage circuitry is configured to identify an invalid position of one of the read thresholds, which causes syndrome

Assignees

Inventors

Classifications

  • using differential sensing or reference cells, e.g. dummy cells · CPC title

  • G11C7/14Primary

    Dummy cell management; Sense reference voltage generators · CPC title

  • Sensing or reading circuits; Data output circuits · CPC title

  • in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9697075B2 cover?
A method includes storing data encoded with an ECC in a group of memory cells by writing respective storage values to the memory cells. Multiple sets of readout results are read from the memory cells by comparing the storage values to one or more threshold combinations, each including multiple read thresholds. A plurality of partial syndromes of the ECC is computed, each partial syndrome comput…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G11C7/14. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).