Compensating for coupling during read operations on non-volatile memory
First Claim
Patent Images
1. A method for reading non-volatile storage, comprising:
- performing a read process for a set of non-volatile storage elements using a set of one or more read compare points, said read process provides a set of read data;
determining whether said read data has one or more errors;
determining whether an error correction process is able to correct said one or more errors;
correcting said one or more errors using said error correction process if said error correction process is able to correct said one or more errors; and
performing a data recovery process if said error correction process is not able to correct said one or more errors, said data recovery process comprises reading non-volatile storage elements adjacent to said a set of non-volatile storage elements, adjusting said one or more read compare points for at least a subset of said set of non-volatile storage elements based on reading of said non-volatile storage elements adjacent to said set of non-volatile storage elements and performing another one or more read processes for said set of non-volatile storage elements using said adjusted one or more read compare points.
3 Assignments
0 Petitions
Accused Products
Abstract
Shifts in the apparent charge stored on a floating gate (or other charge storing element) of a non-volatile memory cell can occur because of the coupling of an electric field based on the charge stored in adjacent floating gates (or other adjacent charge storing elements). The problem occurs most pronouncedly between sets of adjacent memory cells that have been programmed at different times. To compensate for this coupling, the read process for a given memory cell will take into account the programmed state of an adjacent memory cell.
303 Citations
42 Claims
-
1. A method for reading non-volatile storage, comprising:
-
performing a read process for a set of non-volatile storage elements using a set of one or more read compare points, said read process provides a set of read data;
determining whether said read data has one or more errors;
determining whether an error correction process is able to correct said one or more errors;
correcting said one or more errors using said error correction process if said error correction process is able to correct said one or more errors; and
performing a data recovery process if said error correction process is not able to correct said one or more errors, said data recovery process comprises reading non-volatile storage elements adjacent to said a set of non-volatile storage elements, adjusting said one or more read compare points for at least a subset of said set of non-volatile storage elements based on reading of said non-volatile storage elements adjacent to said set of non-volatile storage elements and performing another one or more read processes for said set of non-volatile storage elements using said adjusted one or more read compare points. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for reading non-volatile storage, comprising:
-
performing a read process for a set of non-volatile storage elements, said read process includes using a set of reference values to determine a set of read data stored in said set of non-volatile storage elements;
determining that said read data has one or more errors that cannot be corrected by an error correction process; and
performing a data recovery process for said set of non-volatile storage elements that includes using a set of offsets with said reference values to determine a corrected set of read data, said offsets are chosen on an individual basis for said set of non-volatile storage elements based on status of respective adjacent storage elements to said set of non-volatile storage elements. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-volatile memory system, comprising:
-
a set of non-volatile storage elements; and
one or more managing circuits in communication with said set of non-volatile storage elements, said one or more managing circuits perform a read process for a set of non-volatile storage elements using a set of reference values to determine said set of read data stored in said set of non-volatile storage elements, said one or more managing circuits capable of determining that said read data has one or more errors that cannot be corrected by an error correction process and performing a data recovery process if said error correction process is not able to correct said one or more errors, said data recovery process comprises reading non-volatile storage elements adjacent to said a set of non-volatile storage elements and adjusting at least a subset of said reference values based on reading of said non-volatile storage elements adjacent to said set of non-volatile storage elements and performing another one or more read processes for said set of non-volatile storage elements using said adjusted reference values. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A method for reading a set of non-volatile storage elements, comprising:
-
for each non-volatile storage element of at least a subset of said non-volatile storage elements, determining an offset from a predetermined set of offsets based on a charge level stored in an adjacent storage element; and
performing a set of read processes for said set of non-volatile storage elements, each read process of said set uses a different one of said predetermined set of offsets and is performed on all of said set of non-volatile storage elements, there is at least one read process for each offset, each of at least said subset of said set of non-volatile storage element provides final data from an appropriate one of said read processes associated with said offset determined for the respective non-volatile storage element. - View Dependent Claims (35, 36, 37)
-
-
38. A flash memory system, comprising:
-
a set of flash memory elements arranged in columns and rows using a set of bit lines and word lines, each flash memory element in a common column is connected to a common bit line, each flash memory element in a common row is connected to a common word line;
one or more write control circuits in communication with said set of flash memory elements, said one or more write control circuits simultaneously program flash memory elements connected to a particular word line on all of said set of bit lines; and
read circuits in communication with said bit lines to determine a quantity related to one of two or more adjacent flash memory elements along respective bit lines, said read circuits determine an offset for each flash memory element connected to said particular word line from a predetermined set of offsets based on a charge level stored in an adjacent flash memory element, said read circuits perform a set of read processes for said flash memory element connected to said particular word line, each read process uses a different one of said predetermined set of offsets, each of at least a subset of said flash memory elements connected to said particular word line provides final data from an appropriate one of said read processes associated with the offset determined for the respective flash memory element. - View Dependent Claims (39, 40, 41, 42)
-
Specification