Programming Differently Sized Margins and Sensing with Compensations at Select States for Improved Read Operations in Non-Volatile Memory
First Claim
1. A method of reading non-volatile storage, comprising:
- receiving a request to read a first non-volatile storage element;
reading a second non-volatile storage element in response to said request, said second non-volatile storage element adjacent said first non-volatile storage element and capable of storing data in at least four physical states;
applying a first reference to read said first non-volatile storage element at a level between a first programmed state and a second programmed state;
applying a second reference to read said first non-volatile storage element at a level between said second programmed state and said third programmed state;
determining data of said first non-volatile storage element using a result of applying said first reference at a first level and a result of applying said second reference at a second level when said second non-volatile storage element is in a first subset of said physical states; and
determining data of said first non-volatile storage element using a result of applying said first reference at said first level and a result of applying said second reference at a third level when said second non-volatile storage element is in a second subset of said physical states.
3 Assignments
0 Petitions
Accused Products
Abstract
Non-volatile memory read operations compensate for floating gate coupling when the apparent threshold voltage of a memory cell may have shifted. A memory cell of interest can be read using a reference value based on a level of charge read from a neighboring memory cell. Misreading the neighboring cell may have greater effects in particular programming methodologies, and more specifically, when reading the neighboring cell for particular states or charge levels in those methodologies. In one embodiment, memory cells are programmed to create a wider margin between particular states where misreading a neighboring cell is more detrimental. Further, memory cells are read in one embodiment by compensating for floating gate coupling based on the state of a neighboring cell when reading at certain reference levels but not when reading at other reference levels, such as those where a wider margin has been created.
198 Citations
25 Claims
-
1. A method of reading non-volatile storage, comprising:
-
receiving a request to read a first non-volatile storage element; reading a second non-volatile storage element in response to said request, said second non-volatile storage element adjacent said first non-volatile storage element and capable of storing data in at least four physical states; applying a first reference to read said first non-volatile storage element at a level between a first programmed state and a second programmed state; applying a second reference to read said first non-volatile storage element at a level between said second programmed state and said third programmed state; determining data of said first non-volatile storage element using a result of applying said first reference at a first level and a result of applying said second reference at a second level when said second non-volatile storage element is in a first subset of said physical states; and determining data of said first non-volatile storage element using a result of applying said first reference at said first level and a result of applying said second reference at a third level when said second non-volatile storage element is in a second subset of said physical states. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of reading a first non-volatile storage element capable of storing data in a plurality of states, comprising:
-
reading charge information from a second non-volatile storage element; if said charge information indicates one or more predetermined levels of programming of said second non-volatile storage element, reading data from said first non-volatile storage element without using compensation for coupling between said first non-volatile storage element and said second non-volatile storage element when reading at a level between a first programmed state and a second programmed state and using compensation for coupling between said first and second non-volatile storage elements when reading at a level between said second programmed state and a third programmed state; if said charge information does not indicate said one or more predetermined levels of programming of said second non-volatile storage element, reading data from said first non-volatile storage element without using compensation for coupling between said first and second non-volatile storage elements when reading at a level between said first and second programmed states and without using compensation for coupling between said first and second non-volatile storage elements when reading at said level between said second and third programmed states. - View Dependent Claims (15)
-
-
16. A method of programming non-volatile storage, comprising:
-
programming a first group of non-volatile storage elements from a set of non-volatile storage elements to a first programmed state, said first programmed state associated with a first range of threshold voltages; programming a second group of non-volatile storage elements from said set to a second programmed state, said second programmed state adjacent said first programmed state and associated with a second range of threshold voltages, said second range of threshold voltages is separated from said first range of threshold voltages by a first margin; and programming a third group of non-volatile storage elements from said set to a third programmed state, said third programmed state adjacent said second programmed state and associated with a third range of threshold voltages, said third range of threshold voltages separated from said second range of threshold voltages by a second margin smaller than said first margin. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A method of programming non-volatile storage, comprising:
-
programming a plurality of non-volatile storage elements to a plurality of physical states including an erased state, a first programmed state, a second programmed state, and a third programmed state, said second programmed state corresponds to threshold voltages between threshold voltages corresponding to said first programmed state and threshold voltages corresponding to said third programmed state; verifying whether non-volatile storage elements of said plurality to be programmed to said first state have reached a first target level corresponding to said first state; verifying whether non-volatile storage elements of said plurality to be programmed to said second sate have reached a second target level corresponding to said second state, said second target level is spaced from said first target level by a first amount; and verifying whether non-volatile storage elements of said plurality to be programmed to said third state have reached a third verify level corresponding to said third state, said third target level is spaced from said second target level by a second amount. - View Dependent Claims (23, 24, 25)
-
Specification