1. A method of operating a non-volatile storage device, the method comprising: programming memory cells having reversible resistance storage elements to a first data state, a second data state, a third data state, and a fourth data state having progressively lower resistances, including skipping a data state when SETTING a first of the reversible resistance storage elements from its current data state to a data state at least two data states away, the skipping comprising: i) applying a first set of programming conditions for SETTING from the current data state to the immediate next data state; ii) applying a second set of programming conditions for SETTING from the immediate next data state to the data state two states away from the current data state; and iii) applying the second set of programming conditions for SETTING directly from the current data state to the data state two states away from the current data state.