Patent ID: 7701765

Claim:
A method for programming an array of non-volatile multilevel memory cells, each cell having a number of lower pages and an upper page, the method comprising: programming a first lower page of selected cells of a first word line; programming a second lower page of the selected cells of the first word line; programming a third lower page of the selected cells of the first word line; programming an upper page of the selected cells of the first word line; wherein performing the first, the second, and the third lower page programming and the upper page programming for the selected cells of the first word line includes alternating between performing the first, the second, and the third lower page programming and the upper page programming for cells associated with an even and an odd bit line; subsequently programming an upper page of selected cells of a second word line, the second word line adjacent the first word line; and reprogramming the upper page of the selected cells of the first word line after the upper page programming of the selected cells of the second word line has finished; wherein the method includes reprogramming the upper page of cells associated with even bit lines after the upper page programming of cells associated with odd bit lines has finished.