Patent ID: 8184479

Claim:
A method for programming non-volatile storage, comprising: determining a trigger voltage; performing a first phase of an iterative programming process, the first phase includes programming a first group of non-volatile storage elements together with a second group of non-volatile storage elements, the iterative programming process includes alternately applying one or more programming pulses and one or more verify pulses to at least a portion of the first group of non-volatile storage elements and the second group of non-volatile storage elements, each non-volatile storage element of the first group of non-volatile storage elements is in communication with a different even control line of one or more even control lines, each non-volatile storage element of the second group of non-volatile storage elements is in communication with a different odd control line of one or more odd control lines, the one or more even control lines and the one or more odd control lines are arranged in an interleaving manner; detecting that a programming voltage associated with the one or more programming pulses has reached the trigger voltage; and performing a second phase of the iterative programming process, the second phase includes programming the first group of non-volatile storage elements at a different time than the second group of non-volatile storage elements, the second phase is performed subsequent to the first phase, the second phase is performed in response to the detecting that a programming voltage has reached the trigger voltage.