Patent ID: 7236402

Claim:
A method for programming/erasing a non-volatile memory (NVM), comprising: initiating an erase operation of at least a portion of the NVM using a first erase voltage; selecting a first read current/voltage threshold; determining a first actual read current/voltage of the at least the portion of the NVM; comparing the first actual read current/voltage and the first read current/voltage threshold; if the first actual read current/voltage is lower than the first read current/voltage threshold, performing the following steps: applying at least one erase pulse to the at least the portion of the NVM; selecting a second read current/voltage threshold; determining a second actual read current/voltage of the at least the portion of the NVM; comparing the second actual read current/voltage and the second read current/voltage threshold; and if the second actual read current/voltage is not lower than the second read current/voltage threshold, completing the erase operation, wherein the first read current/voltage threshold and the second read current/voltage threshold are different.