A method for programming a nand flash memory device

A method for programming a NAND flash memory is provided to assure threshold voltage distribution margin of a multi level cell by reducing interference between memory cells, by changing a program operation. According to a method for programming a NAND flash memory, the flash memory device having a number of word lines between a drain selection line and a source selection line is provided. An LSB(Least Significant Bit) program operation to store least significant data bit from the word line adjacent to the source selection line to the word line adjacent to the drain selection line is performed. An MSB(Most Significant Bit) program operation to store most significant bit data from the word line adjacent to the source selection line to the word line adjacent to the drain selection line is performed. Memory cells connected to an even bit line among memory cells connected to one word line is programmed first and then memory cells connected to an odd bit line is programmed during the LSB program operation or the MSB program operation.