1. A non-volatile NAND-flash semiconductor memory device which is configured to execute at least one of a pre-program operation and a post-program operation before and after an erase operation, respectively, each of the pre-program and post-program operations including applying a program voltage to a subset of a plurality of word lines defining a word line block of the memory device.