Patent ID: 7352630

Claim:
A method of performing a program operation of a non-volatile memory device, the method comprising: (a) programming selected memory cells of the non-volatile memory device; (b) reading data bits from the selected memory cells; (c) performing a first column scan operation by sequentially selecting predetermined sub-units of the data bits and determining whether any of the selected memory cells is inadequately programmed based on the selected sub-units; (d) upon determining that at least one of the selected memory cells is inadequately programmed and before selecting all of the predetermined sub-units of the data bits in the first column scan operation, performing a second column scan operation to detect a total number of the selected memory cells that are inadequately programmed; (e) upon determining that the total number of the selected memory cells that are inadequately programmed is less than a number that can be corrected by an error correcting circuit, terminating the program operation with a program pass status; and (f) terminating the second column scan operation upon determining that the total number of inadequately programmed memory cells is greater than the number that can be corrected by the error correcting circuit.