Patent ID: 8111554
Filing Date: 2012-02-07
Classification: G11C

Abstract:
1. A method for operating non-volatile storage elements, comprising: storing an indicator; reading the stored indicator; programming user data in a set of non-volatile storage elements using programming pulses having a first initial magnitude, wherein the first initial magnitude corresponds to the stored indicator and each non-volatile storage element stores multiple bits of data; calculating an error correction code from the user data; in response to a request to read the user data, reading the user data from the set of non-volatile storage elements after the programming step using programming pulses having the first initial magnitude, the reading comprises applying read reference voltages to the set of non-volatile storage elements to determine a data state of each of the non-volatile storage elements; checking the error correction code to determine a number of correctable bit errors of the user data which is read by the step of reading; changing the indicator to an updated indicator when the number of correctable bit errors exceeds a threshold; reading the updated indicator; and programming the set of non-volatile storage elements for multiple programming cycles using programming pulses having a second initial magnitude, wherein the second initial magnitude corresponds to the updated indicator, the second initial magnitude is different than the first initial magnitude.