Patent ID: 8391051

Claim:
A method of programming a nonvolatile memory element including a first electrode, a second electrode, and a variable resistance layer which (i) is disposed between and in contact with the first electrode and the second electrode, (ii) has a resistance state that reversibly changes based on electrical signals having different polarities and provided between the first electrode and the second electrode, and (iii) includes an oxygen-deficient transition metal oxide layer, said method comprising: a first writing process of applying a first voltage having a first polarity between the first electrode and the second electrode so as to set the variable resistance layer to a low resistance state corresponding to first logical information; a second writing process of applying a second voltage having a second polarity between the first electrode and the second electrode so as to set the variable resistance layer to a first high resistance state in which a resistance value is higher than a resistance value in the low resistance state, the second polarity being different from the first polarity; and a partial write process of applying a third voltage having the first polarity between the first electrode and the second electrode after said second writing process so as to set the variable resistance layer to a second high resistance state in which a resistance value is (i) higher than the resistance value in the low resistance state and (ii) lower than the resistance value in the first high resistance state, the third voltage having an absolute value that is lower than an absolute value of the first voltage, and the second high resistance state corresponding to second logical information different from the first logical information.