Patent ID: 7310271

Claim:
A method for programming a non-volatile memory device including a plurality of memory cells, the method comprising: (a) applying a first voltage to a first word line to program a plurality of memory cells associated with the first word line, the first word line being one of word lines in a word line switching unit that is coupled to a memory cell block, the word line switching unit having N word lines, each word line being associated with a plurality of memory cells; (b) determining whether or not the first word line is an N th word line in the word line switching unit, the N th word line being a word line that is provided closest to a drain select line; (c) if the first word line is determined not to be the N th word line, applying a first program-verify voltage to the first word line to determine whether or not the programming has been successful; (d) if the programming is determined to have been successful in the step (c), applying the first voltage to a second word line in the word line switching unit to program a plurality of memory cells associated with the second word line; and (e) if the first word line is determined to be the N th word line in the step (b), applying a second program-verify voltage to the first word line to determine whether or not the programming has been successful.