Phase change memory adaptive programming
AssigneeMicron Technology, Inc.
InventorJun Liu
Life of this patent
Estimating the term…
Abstract
Some embodiments include methods and apparatus having a module configured to program a memory cell using a signal to cause the memory cell to have a programmed resistance value, to adjust a programming parameter value of the signal if the programmed resistance value is outside a target resistance value range, and to repeat at least one of the programming and the adjusting if the programmed resistance value is outside the target resistance value range, the signal including a different programming parameter value each time the programming is repeated.
Claims10
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.
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 to obtain a first adjusted current value for use in a first repeated programming if a first programmed resistance value is less than a target resistance value, the target resistance value being a value within the target resistance value range, wherein the first programmed resistance value corresponds to the programmed resistance value of the memory cell before the first repeated programming is performed;
- and
- decreasing the first adjusted current value by a second adjusted current amount to obtain a second adjusted current value for use in a second repeated programming if a second programmed resistance value is greater than the target resistance value, wherein the second programmed resistance value corresponds to the programmed resistance value of the memory cell after the first repeated programming is performed, and wherein the first adjusted current amount is greater than the second adjusted current amount.
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:
- decreasing the current value by a first adjusted current amount to obtain a first adjusted current value for use in a first repeated programming if a first programmed resistance value is greater than a target resistance value, the target resistance value being a value within the target resistance value range, wherein the first programmed resistance value corresponds to the programmed resistance value of the memory cell before the first repeated programming is performed;
- and
- increasing the first adjusted current value by a second adjusted current amount to obtain a second adjusted current value for use in a second repeated programming if a second programmed resistance value is less than the target resistance value, wherein the second programmed resistance value corresponds to the programmed resistance value of the memory cell after the first repeated programming is performed, and wherein the first adjusted current amount is greater than the second adjusted current amount.
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 adjust the current value includes one of increasing and decreasing the current value by an adjusted current amount, and wherein the adjusted current amount is a function of a slope of a resistance versus current curve of the memory cell and a difference between a target resistance value and the programmed resistance value, the target resistance value being a value within the target resistance value range, wherein the slope is calculated based on a first point and a second point of the curve, wherein the first point corresponds to a resistance value greater than the target resistance value, and wherein the second point corresponds to a resistance value less than the target resistance value.
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, 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 adjust the current value includes one of increasing and decreasing the current value by an adjusted current amount, and wherein the adjusted current amount is a function of a slope of a resistance versus current curve of the memory cell and a difference between a target resistance value and the programmed resistance value, the target resistance value being a value within the target resistance value range, wherein increasing the current value by the adjusted current amount is performed if the programmed resistance value is less than the target resistance value, and wherein decreasing the current value by the adjusted current amount is performed if the programmed resistance value is greater than the target resistance value.
An apparatus comprising:
- memory cells;
- and
- a module configured to:
- program at least one memory cell of the memory cells using a first signal to cause the at least one memory cell to have an initial resistance value;
- program the at least one memory cell using a second signal to cause the at least one memory cell to have a programmed resistance value;
- adjust 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 at least one memory cell using the first signal, programming the at least one 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, the module configured to increase 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 to decrease the current value by the first adjusted current amount if the programmed resistance value is greater than a target resistance value.
Dependencies are inferred from the claim text.