Patent ID: 8451667

Claim:
A method for programming a set of non-volatile storage elements, comprising: (a) performing a first plurality of iterations of a programming sequence, each iteration of the first plurality of iterations includes: (i) applying a programming pulse to the set of non-volatile storage elements while selecting a first set of pairs of adjacent non-volatile storage elements of the set for programming and inhibiting a second set of pairs of adjacent non-volatile storage elements of the set from programming, pairs of the first set are interleaved with pairs of the second set; and (ii) subsequently performing a verify operation for the first set of pairs of adjacent non-volatile storage elements, without performing a verify operation for the second set of pairs of adjacent non-volatile storage elements; and (b) after step (a), performing a second plurality of iterations of the programming sequence, each iteration of the second plurality of iterations includes: (i) applying a programming pulse to the set of non-volatile storage elements while selecting the second set of pairs of adjacent non-volatile storage elements of the set for programming and inhibiting the first set of pairs of adjacent non-volatile storage elements of the set from programming; and (ii) subsequently performing a verify operation for the second set of pairs of adjacent non-volatile storage elements, without performing a verify operation for the first set of pairs of adjacent non-volatile storage elements.