Variable initial program voltage magnitude for non-volatile storage
First Claim
1. A method for programming non-volatile storage, comprising:
- performing multiple programming processes for a plurality of non-volatile storage elements, each of said programming process operates to program at least a subset of said non-volatile storage elements to a set of target conditions using program pulses; and
for at least a subset of said programming processes;
identifying a program pulse associated with achieving a particular result for a respective programming process and using said identified program pulse to adjust programming for a subsequent programming process for said non-volatile storage elements.
3 Assignments
0 Petitions
Accused Products
Abstract
Multiple programming processes are performed for a plurality of non-volatile storage elements. Each of the programming process operates to program at least a subset of said non-volatile storage elements to a set of target conditions using program pulses. In one embodiment, a first programming pass includes soft programming and additional programming passes include the programming of data. In another embodiment, all of the programming process include programming data. For at least a subset of said programming processes, a program pulse associated with achieving a particular result for a respective programming process is identified. The identified program pulse is used to adjust programming for a subsequent programming process.
66 Citations
21 Claims
-
1. A method for programming non-volatile storage, comprising:
-
performing multiple programming processes for a plurality of non-volatile storage elements, each of said programming process operates to program at least a subset of said non-volatile storage elements to a set of target conditions using program pulses; and for at least a subset of said programming processes;
identifying a program pulse associated with achieving a particular result for a respective programming process and using said identified program pulse to adjust programming for a subsequent programming process for said non-volatile storage elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for programming non-volatile storage, comprising:
-
performing multiple programming passes for a plurality of non-volatile storage elements, each of said passes operates to program at least a subset of said non-volatile storage elements to a set of target conditions using program pulses; and for at least a subset of said programming passes;
identifying a program pulse at which a predetermined number of one or more non-volatile storage elements reach a target threshold voltage and setting an initial magnitude for program pulses used in a subsequent programming pass based on said identified program pulse.
-
-
15. A method for programming non-volatile storage, comprising:
-
performing a first programming process for a plurality of non-volatile storage elements, said first programming process operates to program at least a subset of said non-volatile storage elements to a first set of one or more target conditions using a set of program pulses; identifying a program pulse of said first programming process at which a predetermined number of one or more non-volatile storage elements reach said first set of one or more target conditions; and performing a second programming process for said plurality of non-volatile storage elements, said second programming process operates to program at least some of said non-volatile storage elements to a second set of one or more targets using a program pulse signal that has an initial magnitude based on said identified program pulse. - View Dependent Claims (16, 17)
-
-
18. A method for programming non-volatile storage, comprising:
-
erasing a plurality of non-volatile storage elements; soft programming said plurality of non-volatile storage elements after said erasing, said soft programming includes applying a set of program pulses to control gates of said non-volatile storage elements; identifying a program pulse for which a predetermined number of said non-volatile storage elements complete said soft programming; adjusting a data programming process based on said number of programming pulses; and programming a first subset of said non-volatile storage elements using said adjusted data programming process. - View Dependent Claims (19, 20, 21)
-
Specification