Patent ID: 8773902

Claim:
A method for performing a programming operation for a group of non-volatile storage elements in communication with a word line, comprising: performing a programming portion of a program-verify iteration of the programming operation, the performing the programming portion comprises: applying N successive programming pulses to the word line, the group comprises N adjacent sets of non-volatile storage elements, each of the N adjacent sets comprises N adjacent non-volatile storage elements, and N is a natural number of three or more; and for each of the N successive programming pulses, selecting one of the non-volatile storage elements in each of the N adjacent sets according to a pattern which indicates a relative position of the selected one of the non-volatile storage elements in each of the N adjacent sets, the relative position is different for each of the N adjacent sets, allowing the selected one of the non-volatile storage elements in each of the N adjacent sets to program if a threshold voltage of the selected one of the non-volatile storage elements in each of the N adjacent sets has not yet reached a target verify level, and prohibiting unselected non-volatile storage elements in each of the N adjacent sets from programming regardless of whether threshold voltages of the unselected non-volatile storage elements in each of the N adjacent sets have reached respective target verify levels; and subsequently performing a verify operation of the program-verify iteration for the group.