Patent ID: 8107298

Claim:
A method for programming a set of storage elements with binary data in a non-volatile storage system, the method comprising: receiving write data at one or more managing circuits for use in a programming operation in which a plurality of program-verify iterations are performed, the one or more managing circuits store the write data in data latches, and manage a plurality of sense modules which includes first and second sets of sense modules; at a start of the programming operation, for each sense module in the first set of sense modules, communicating data from the one or more managing circuits to the sense module to set a data node (FLG) in the sense module to a first binary value in response to which a respective storage element is inhibited from programming, and for each sense module in the second set of sense modules, communicating data from the one or more managing circuits to the sense module to set a data node (FLG) in the sense module to a second binary value, opposite the first binary value, in response to which a respective storage element is not inhibited from programming; for each sense module in the second set of sense modules, the one or more managing circuits obtain data from the sense module which indicates that its data node maintains the second binary value, until the respective storage element is verified to complete programming in a respective program-verify iteration of the plurality of program-verify iterations, in response to which the sense module flips its data node to the first binary value, and the one or more managing circuits obtain data from the sense module which indicates that its data node has been flipped to the first binary value; and without referring to the data latches, the one or more managing circuits determine that the programming operation is completed in response to obtaining the data from each sense module in the second set of sense modules which indicates that its data node has been flipped to the first binary value.