A circuit and method for self-converging programming of a charge storage
memory cell, such as NROM or floating gate flash. The method includes
determining a data value from one of more than two data values to be
stored in the memory cell, and applying a gate voltage to the control
gate at one of a predetermined set of gate voltage levels selected in
response to the determined data value. Programming parameters are
controlled to establish a self-converging threshold state that is
determined by the selected gate voltage. In this manner, the threshold
voltage converges on a target threshold corresponding with the determined
data value for the memory cell. Program verify operations are reduced or
eliminated in various embodiments, reducing the overall time required for
the program operation, and improving device performance. A second portion
of the program operation can include verify operations to improve
threshold margins across the array.