1. A method for programming non-volatile storage, comprising: performing multiple programming processes for a plurality of non-volatile storage elements, each of said programming process operates to program at least a subset of said non-volatile storage elements to a set of target conditions using program pulses; and for at least a subset of said programming processes: identifying a program pulse associated with achieving a particular result for a respective programming process and using said identified program pulse to adjust programming for a subsequent programming process for said non-volatile storage elements.