Patent ID: 8391070
Filing Date: 2013-03-05
Classification: G11C

Abstract:
1. A system that programs data in a memory component, comprising: the memory component comprising a plurality of memory elements to facilitate data storage; and a program component that: employs a set of N program verify levels to facilitate progressive program pulse of a selected group of memory elements to respectively program each of the selected memory elements to a charge level that is at or above a target program verify level that corresponds to a specified data state, wherein N is an integer greater than 1 and wherein the Nth program verify level is the target program verify level, based at least in part on predefined programming criteria; applies a program pulse to the selected group of memory elements to program the selected group of memory elements to a first program verify level and applies at least one other program pulse to a subset of the selected group of memory elements that are below at least one other program verify level to program the subset of the selected group of memory elements to at least one other program verify level based on respective charge levels; sets the first program verify level, selects the group of memory elements, sets a first set of program parameters associated with a first program pulse, and applies the first program pulse to the selected group of memory elements to facilitate an increase in charge levels stored in respective memory elements in the selected group of memory elements so that all or substantially all of the selected memory elements contain a charge level that is at or above the first program verify level; adjusts the first program verify level to the at least one other program verify level that corresponds to a higher charge level than or equal to the first program verify level, evaluates the group of memory elements to identify and select memory elements that have a respective charge level below the at least one other program verify level to define the subset of the group of memory elements that have a charge level that is below the at least one other program verify level, sets at least one other set of program parameters associated with the at least one other program pulse, and applies the at least one other program pulse to the selected subset of the group of memory elements to facilitate an increase in charge levels stored in respective memory elements in the selected subset of the group of memory elements so that all or substantially all of the selected memory elements contain a charge level that is at or above the at least one other program verify level; and evaluates the group of memory elements to identify and select memory elements of the group of memory elements to a second subset that have a respective charge level that is at or above the at least one other program verify level after applying the first program pulse to facilitate an increase in charge levels in the group at or above the first program verify level and before applying the at least one other program pulse to facilitate an increase in charge levels of the selected subset of the group at or above the at least one other program verify level.