A method of programming a nonvolatile memory device includes (i) providing
a nonvolatile memory cell comprising a diode in series with at least one
metal oxide, (ii) applying a first forward bias to change a resistivity
state of the metal oxide from a first state to a second state; (iii)
applying a second forward bias to change a resistivity state of the metal
oxide from a second state to a third state; and (iv) applying a third
forward bias to change a resistivity state of the metal oxide from a
third state to a fourth state. The fourth resistivity state is higher
than the third resistivity state, the third resistivity state is lower
than the second resistivity state, and the second resistivity state is
lower than the first resistivity state.