System for programming non-volatile memory with self-adjusting maximum program loop
AssigneeSanDisk Corporation
InventorsJun Wan, Jeffrey W. Lutze
Life of this patent
Estimating the term…
Abstract
The maximum allowable number of voltage programming pulses to program memory elements of a non-volatile memory device is adjusted to account for changes in the memory elements which occur over time. Programming pulses are applied until the threshold voltage of one or more memory elements reaches a certain verify level, after which a defined maximum number of additional pulses may be applied to other memory elements to allow them to also reach associated target threshold voltage levels. The technique enforces a maximum allowable number of programming pulses that can change over time as the memory is cycled.
Claims26
A non-volatile storage system, comprising:
- at least a first non-volatile storage element, and at least a second non-volatile storage element;
- and
- one or more managing circuits in communication with the at least a first non-volatile storage element, and with the at least a second non-volatile storage element, the one or more managing circuits receive a request to program data, and, responsive to the request, program the at least a first non-volatile storage element to reach a first verify level using a series of voltage pulses, detect when the at least a first non-volatile storage element has reached the first verify level, and, enforce, responsive to the detecting, a maximum allowable number of additional voltage pulses to be used in programming at least a second non-volatile storage element to reach a second verify level.
A non-volatile storage system, comprising:
- non-volatile storage elements;
- and
- one or more managing circuits in communication with the non-volatile storage elements, the one or more managing circuits receive a request to program data, and, responsive to the request, perform one or more initial program cycles for a set of said non-volatile storage elements until a first subset of said non-volatile storage elements has reached a first verify level, and perform one or more additional program cycles for said set of non-volatile storage elements subsequent to said first subset of said non-volatile storage elements reaching said first verify level, said one or more additional program cycles not to exceed a predefined maximum number of additional program cycles.
A non-volatile storage system, comprising:
- non-volatile storage elements;
- and
- one or more managing circuits in communication with the non-volatile storage elements, the one or more managing circuits receive a request to program data, and, responsive to the request, perform one or more initial program cycles for a set of said non-volatile storage elements, determine that a first subset of said non-volatile storage elements has reached a first verify level, determine a number of initial program cycles performed when said first subset of said non-volatile storage elements has reached said first verify level, determine a maximum number of additional program cycles based on said number of initial program cycles, and perform one or more additional program cycles for said set of non-volatile storage elements subsequent to said first subset of said non-volatile storage elements reaching said first verify level, said one or more additional program cycles not to exceed a maximum number of additional program cycles.
A non-volatile storage system, comprising:
- a set of non-volatile storage elements;
- and
- one or more managing circuits in communication with the non-volatile storage elements, the one or more managing circuits receive a request to program data, and, responsive to the request, detect when at least a first non-volatile storage element in the set of non-volatile storage elements has reached a first verify level after voltage pulses have been applied thereto, and enforce, responsive to the detecting, a maximum allowable number of voltage pulses to be applied to at least a second non-volatile storage element in the set of non-volatile storage elements to cause the at least a second non-volatile storage element to reach a second verify level.
Dependencies are inferred from the claim text.