1. A method comprising: programming a 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; 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 the programming parameter value includes adjusting a pulse fall time value of the second signal, and adjusting includes increasing the pulse fall time value by a first adjusted time amount if the programmed resistance value is greater than a target resistance value, the target resistance value being a value within the target resistance value range, and wherein adjusting includes decreasing the pulse fall time value by the first adjusted time amount if the programmed resistance value is less than the target resistance value.