Multi-tier detection and decoding in flash memories
First Claim
1. A method for processing data from a flash memory device, comprising the steps of:
- obtaining one or more initial read values for a given page of said flash memory device;
converting, in a first converting step, said one or more initial read values for said given page to a reliability value;
performing an initial decoding of said given page using said reliability value; and
if said initial decoding is not successful, performing the following steps;
obtaining one or more recovery read values using at least one additional read access of said flash memory device for one or more of said given page and at least one additional page of said flash memory device, wherein said given page and said at least one additional page comprise a plurality of bits, wherein said at least one additional page is in one or more of a same wordline and a different wordline as said given page, wherein said at least one additional read access comprises one or more of (i) reading substantially all of said at least one additional page in the same wordline as said given page;
(ii) reading substantially all of the same wordline as said given page a plurality of times; and
(iii) reading substantially all of one or more wordlines neighboring the same wordline as said given page;
converting, in a second converting step, said one or more initial read values and said one or more recovery read values to at least one regenerated reliability value; and
performing an additional decoding of said given page using said at least one regenerated reliability value.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus are provided for multi-tier detection and decoding in flash memory devices. Data from a flash memory device is processed by obtaining one or more read values for at least one bit in a given page of the flash memory device; converting the one or more read values for the at least one bit to a reliability value; performing an initial decoding of the at least one bit in a given page using the reliability value; and performing an additional decoding of the at least one bit in the given page if the initial decoding is not successful, wherein the additional decoding uses one or more of additional information for the given page and at least one value for at least one bit from at least one additional page.
70 Citations
30 Claims
-
1. A method for processing data from a flash memory device, comprising the steps of:
-
obtaining one or more initial read values for a given page of said flash memory device; converting, in a first converting step, said one or more initial read values for said given page to a reliability value; performing an initial decoding of said given page using said reliability value; and if said initial decoding is not successful, performing the following steps; obtaining one or more recovery read values using at least one additional read access of said flash memory device for one or more of said given page and at least one additional page of said flash memory device, wherein said given page and said at least one additional page comprise a plurality of bits, wherein said at least one additional page is in one or more of a same wordline and a different wordline as said given page, wherein said at least one additional read access comprises one or more of (i) reading substantially all of said at least one additional page in the same wordline as said given page;
(ii) reading substantially all of the same wordline as said given page a plurality of times; and
(iii) reading substantially all of one or more wordlines neighboring the same wordline as said given page;converting, in a second converting step, said one or more initial read values and said one or more recovery read values to at least one regenerated reliability value; and performing an additional decoding of said given page using said at least one regenerated reliability value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for processing data from a flash memory device, comprising:
-
obtaining one or more read values for a given page of said flash memory device; converting said one or more read values for said given page to a reliability value; performing an initial decoding of said given page using said reliability value; and if said initial decoding is not successful, performing the following steps; obtaining one or more recovery read values using at least one additional read access of said flash memory device for one or more of said given page and at least one additional page of said flash memory device, wherein said given page and said at least one additional page comprise a plurality of bits, wherein said at least one additional page is in one or more of a same wordline and a different wordline as said given page, wherein said at least one additional read access comprises one or more of (i) reading substantially all of said at least one additional page in the same wordline as said given page;
(ii) reading substantially all of the same wordline as said given page a plurality of times; and
(iii) reading substantially all of one or more wordlines neighboring the same wordline as said given page; andperforming an additional decoding of said given page, wherein said additional decoding comprises one or more of the following steps; regenerating said reliability value for said given page in a first regenerating step using at least one of said one or more recovery read values for said at least one additional page and decoding said given page using said regenerated reliability value, wherein said at least one additional page is in a same wordline as said given page; obtaining a quantized estimate of a voltage stored on a cell of said flash memory device storing said given page and decoding said given page based on said quantized estimate, wherein said quantized estimate of said voltage is used as said at least one of said one or more recovery read values; and regenerating said reliability value for said given page in a second regenerating step using at least one of said one or more recovery read values for said at least one additional page and decoding given page using said reliability value generated in the second regenerating step, wherein said at least one additional page is in a different wordline than said given page. - View Dependent Claims (21, 22, 23)
-
-
24. A flash memory system, comprising:
-
a reliability unit for converting (i) one or more initial read values for a given page to a reliability value, and (ii) said one or more initial read values and one or more recovery read values obtained using at least one additional read access of said flash memory device for one or more of said given page and at least one additional page of said flash memory device to at least one regenerated reliability value, wherein said at least one additional read access comprises one or more of (i) reading substantially all of said at least one additional page in the same wordline as said given page;
(ii) reading substantially all of the same wordline as said given page a plurality of times; and
(iii) reading substantially all of one or more wordlines neighboring the same wordline as said given page, and wherein said one or more recovery read values are obtained if an initial decoding of said given page is not successful; anda decoder for performing (i) said initial decoding of said given page using said reliability value; and
(ii) an additional decoding of said given page using said at least one regenerated reliability value if said initial decoding is not successful. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification