Patent ID: 9514823
Filing Date: 2016-12-06
CPC Classification: G11C

Claim Text:
1. A method for programming flash memory, comprising: applying a first set of consecutive pulses to flash memory cells in one or more flash memory devices to program the flash memory cells to a predetermined target voltage level using a first pulse increment, a magnitude of each consecutive pulse of the first set being incremented by the first pulse increment, a width of each consecutive pulse of the first set being set to a first pulse width; receiving, after the first set of consecutive pulses are applied, a program failed status returned by the one or more flash memory devices, indicating that the programming of the flash memory cells to the predetermined target voltage level is incomplete; adjusting, without user interaction and in response to the program failed status, the first pulse increment to an adjusted pulse increment; and applying a second set of consecutive pulses to the flash memory cells to program the flash memory cells to the predetermined target voltage level using the adjusted pulse increment, a magnitude of each consecutive pulse of the second set being incremented by the adjusted pulse increment, a width of each consecutive pulse of the second set being set to a second pulse width, wherein the second pulse width is different than the first pulse width.