Patent ID: 7474565

Claim:
A method of programming a memory cell in a first state having a maximum initial threshold voltage to one of a plurality of states having a higher target threshold voltage relative to the maximum initial threshold voltage, wherein there is a cue threshold voltage between the maximum initial threshold voltage and the target threshold voltage, the memory cell having a drain, the method comprising: (a) applying a drain voltage in a form of a programming pulse having a first width to the drain of the cell; (b) determining whether the cell has reached the cue threshold voltage; (c) if the cell has reached the cue threshold voltage, changing the programming pulse width from the first pulse width to a second pulse width, the second pulse width being smaller than the first pulse width; and (d) after step (b), if the cell has not reached the cue threshold voltage, increasing the drain voltage and repeating from step (a) with the increased drain voltage.