1. A non-volatile storage system, comprising: a plurality of non-volatile storage elements; and one or more managing circuits in communication with said plurality of non-volatile storage elements, said one or more managing circuits perform multiple programming processes for the plurality of non-volatile storage elements, each of said programming processes include said one or more managing circuits programming at least a subset of said non-volatile storage elements to a set of target conditions using program pulses, for at least a subset of said programming processes said one or more managing circuits identify a program pulse associated with achieving a particular result for a respective programming process and use said identified program pulse to adjust programming for a subsequent programming process for said non-volatile storage elements.