Soft programming non-volatile memory utilizing individual verification and additional soft programming of subsets of memory cells
First Claim
1. A method of soft programming non-volatile memory, comprising:
- applying one or more soft programming pulses to a set of non-volatile storage elements until said set is verified as soft programmed;
inhibiting soft programming of a first subset of said set of non-volatile storage elements after said set is verified as soft programmed; and
applying one or more additional soft programming pulses to a second subset of said set of non-volatile storage elements while inhibiting soft programming of said first subset.
3 Assignments
0 Petitions
Accused Products
Abstract
A set of non-volatile storage elements is divided into subsets for soft programming in order to more fully soft-program slower soft programming elements. The entire set of elements is soft-programmed until verified as soft programmed (or until a first subset of elements is verified as soft programmed while excluding a second subset from verification). After the set is verified as soft programmed, a first subset of elements is inhibited from further soft programming while additional soft programming is carried out on a second subset of elements. The second subset can include slower soft programming elements. The second subset can then undergo soft programming verification while excluding the first subset from verification. Soft programming and verifying for the second subset can continue until it is verified as soft programmed. Different step sizes can be used for increasing the size of the soft programming signal, depending on which subset is being soft programmed and verified.
-
Citations
46 Claims
-
1. A method of soft programming non-volatile memory, comprising:
-
applying one or more soft programming pulses to a set of non-volatile storage elements until said set is verified as soft programmed;
inhibiting soft programming of a first subset of said set of non-volatile storage elements after said set is verified as soft programmed; and
applying one or more additional soft programming pulses to a second subset of said set of non-volatile storage elements while inhibiting soft programming of said first subset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method of soft programming non-volatile memory, comprising:
-
applying a soft programming voltage to each non-volatile storage element in a set of non-volatile storage elements;
verifying whether said set of non-volatile storage elements is soft programmed;
repeating said applying and verifying until said set of non-volatile storage elements is verified as soft programmed;
applying said soft programming voltage to each non-volatile storage element in a subset of said set of non-volatile storage elements after verifying that said set of non-volatile storage elements is soft programmed; and
verifying whether said subset of non-volatile storage elements is soft programmed. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A method of soft programming non-volatile memory, comprising:
-
applying one or more soft programming pulses to a plurality of sets of non-volatile storage elements, said one or more soft programming pulses are applied until said plurality of sets of non-volatile storage elements is verified as soft programmed;
inhibiting soft programming of a first subset of non-volatile storage elements in each set of non-volatile storage elements after said plurality of sets is verified as soft programmed; and
applying one or more additional soft programming pulses to a second subset of non-volatile storage elements in each set of non-volatile storage elements while inhibiting soft programming of said first subset in each set. - View Dependent Claims (32, 33, 34, 35, 36)
-
-
29. The method of 28, further comprising:
verifying whether said plurality of sets of non-volatile storage elements is soft programmed in between applying each of said one or more soft programming pulses. - View Dependent Claims (30, 31)
-
37. A method of soft programming non-volatile memory, comprising:
-
applying one or more soft programming pulses to each non-volatile storage element in a plurality of NAND strings;
verifying soft programming of said plurality of NAND strings;
repeating said applying and verifying until a predetermined number of said plurality of NAND strings are verified as soft programmed;
inhibiting soft programming of a first subset of non-volatile storage elements in each NAND string; and
applying one or more additional soft programming pulses to a second subset of non-volatile storage elements in each NAND string after said predetermined number of NAND strings are verified as soft programmed. - View Dependent Claims (38, 39, 40, 41)
-
-
42. A method of soft programming non-volatile memory, comprising:
-
programming each non-volatile storage element in a set of non-volatile storage elements until said set is verified as having reached a target level;
stopping programming of each non-volatile storage element in a first subset of said set of non-volatile storage elements after said set is verified as having reached said target level; and
continuing to program each non-volatile storage element in a second subset of said set of non-volatile storage elements after stopping programming of each non-volatile storage element in said first subset. - View Dependent Claims (43, 44, 45, 46)
-
Specification