Patent ID: 8395930

Claim:
A method of programming a variable resistance element including: a first electrode; a second electrode; and a metal oxide disposed between the first electrode and the second electrode and having a resistance value that increases or decreases according to an electric pulse applied between the first electrode and the second electrode, wherein the metal oxide includes, in a stacking structure, a first oxide layer connected to the first electrode and a second oxide layer connected to the second electrode, the second oxide layer having an oxygen content percentage higher than that of the first oxide layer, said method of programming a variable resistance element comprising: applying a writing voltage pulse having a first polarity between the first and second electrodes to change the resistance state of the metal oxide from high to low so as to render the resistance state a write state; applying an erasing voltage pulse having a second polarity different from the first polarity between the first and second electrodes to change the resistance state of the metal oxide from low to high so as to render the resistance state an erase state; applying an initial voltage pulse having the second polarity between the first and second electrodes before said applying of a writing voltage pulse is performed for a first time, to change a resistance value of an initial state of the metal oxide, and applying again an initial voltage pulse having the second polarity between the first and second electrodes in the case where: the resistance state of the metal oxide fails to change from high to low even when the writing voltage pulse is applied between the first and second electrodes; or the resistance state of the metal oxide fails to change from low to high even when the erasing voltage pulse is applied between the first and second electrodes, wherein R 0 >RH>RL and |V 0 |>|Ve|≧|Vw| are satisfied where R 0 is the resistance value of the initial state of the metal oxide, RL is the resistance value of the write state, RH is the resistance value of the erase state, V 0 is a voltage value of the initial voltage pulse, Vw is a voltage value of the write voltage pulse, and Ve is a voltage value of the erasing voltage pulse.