1. A method of programming for a non-volatile storage system, comprising: programming data as binary data into units of non-volatile storage elements that have not yet been programmed with multi-state data and have not yet been programmed with binary data a specific number of times; and transferring data from multiple units of non-volatile storage elements storing binary data to one target unit of non-volatile storage elements storing multi-state data using a multi-state programming process after the target unit has been previously programmed with binary data the specific number of times.