Patent ID: 8473923

Claim:
A method of identifying portions of a non-volatile memory that are likely to contain unreliable data, wherein the non-volatile memory and a controller are part of a non-volatile system, the method comprising: the controller storing a first pointer that points to a first location of a first addressable unit of data that has been or is to be programmed first into the non-volatile memory, wherein the first addressable unit of data forms part of a plurality of addressable units of data of a command or command sequence for programming such addressable units of data; if a power cycle or an abort does not occur prior to programming a last one of the addressable units of data of the command or command sequence, the controller storing a second pointer that is associated with a location of the last addressable unit of data; and if the power cycle or the abort occurs prior to programming the last addressable unit of data of the command or command sequence, the controller searching for the first pointer and a second pointer that points to a second location of the last one of the addressable units or immediately after such last addressable unit to verify that the addressable units of data associated with the command or command sequence, including the first and second addressable units of data, were programmed, wherein verifying comprises identifying one or more blocks as partially programmed as a result of finding the first pointer and not finding the second pointer.