Patent ID: 8477523

Claim:
A method comprising: programming memory cell using a first signal to cause the memory cell to have an initial resistance value; programming the memory cell using a second signal to cause the memory cell to have a programmed resistance value; adjusting a programming parameter value of the second signal if the programmed resistance value is outside a target resistance value range, wherein adjusting the programming parameter value includes adjusting a current value; and if the programmed resistance value is outside the target resistance value range, repeating at least one of programming the memory cell using the first signal, programming the memory cell using the second signal, and adjusting the programming parameter value of the second signal, wherein the second signal includes a different programming parameter value each time the programming is repeated, wherein adjusting includes increasing the current value by a first adjusted current amount if the programmed resistance value is less than a target resistance value, the target resistance value being a value within the target resistance value range, and wherein adjusting includes decreasing the current value by the first adjusted current amount if the programmed resistance value is greater than a target resistance value.