After executing operation 558, method 500 proceeds to decision 560 which determines whether the erase was performed successfully on the unit of memory. When it is determined that the erase was not performed successfully, method 500 may advance directly from decision 560 to operation 508, thereby indicating that the unit of memory is retired. According to the present embodiment, a single erase failure may result in the retirement of the unit of memory. However, according to alternate embodiments, a unit of memory may be retired after two erase failures, three erase failures, etc., depending on the desired approach. In such embodiments, the number of erase failures for a given unit of memory may be stored in a lookup table, e.g., to be compared to a threshold upon each iteration of performing decision 560.
Referring still to FIG. 5, when decision 560 determines that the erase was performed successfully, method 500 proceeds to decision 562. Decision 562 determines whether the current unit of memory has been erased at least a predetermined number of times. According to an exemplary approach, decision 562 may determine whether the unit of memory has been erased three times, however according to other approaches, decision 562 may determine whether the unit of memory has been erased one, two, four, five, N, etc. times. Multiple erase operations performed on a unit of memory may improve the condition of the unit of memory, preferably to the extent that it no longer meets a retirement condition. The number of erase operations performed on a unit of memory may be stored in a lookup table, whereby decision 562 may access the lookup table to determine whether the unit of memory has been erased at least the predetermined number of times.