MEMORY PROGRAMMING
First Claim
1. A method for iteratively writing contents to memory locations, the method comprising:
- receiving desired contents for a memory location to write through a plurality of write signals, desired accuracy for the memory location, and conditions on a number of iterations to the memory location;
initializing a statistical model associated with the memory location and an iterations counter;
selecting one of the write signals to be applied to the memory location, the selecting responsive to the desired contents, the desired accuracy, the iterations counter, the conditions on the number of iterations, and the statistical model;
applying the write signal to the memory location;
reading current contents of the memory location;
determining whether to continue with an other iteration or to halt, the determining responsive to the current contents of the memory location, the desired contents, the desired accuracy, the iterations counter and the conditions on the number of iterations; and
in response to determining to continue with an other iteration;
updating the statistical model based on the desired contents, the desired accuracy, the iterations counter, the current contents of the memory location, and the statistical model; and
performing the selecting, the applying, the reading, and the determining.
6 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and devices for iteratively writing contents to memory locations are provided. A statistical model is used to determine a sequence of pulses to write desired contents to a memory location. The contents can be expressed as a resistance value in a range to store one or more bits in a memory cell. For phase change memory, an adaptive reset pulse and one or more annealing pulses are selected based on a desired resistance range. Reading the resistance value of the memory cell can provide feedback to determine adjustments in an overall pulse application strategy. The statistical model and a look up table can be used to select and modify pulses. Adaptively updating the statistical model and look up table may reduce the number of looping iterations to shift the resistance value of the memory cell into the desired resistance range.
94 Citations
20 Claims
-
1. A method for iteratively writing contents to memory locations, the method comprising:
-
receiving desired contents for a memory location to write through a plurality of write signals, desired accuracy for the memory location, and conditions on a number of iterations to the memory location; initializing a statistical model associated with the memory location and an iterations counter; selecting one of the write signals to be applied to the memory location, the selecting responsive to the desired contents, the desired accuracy, the iterations counter, the conditions on the number of iterations, and the statistical model; applying the write signal to the memory location; reading current contents of the memory location; determining whether to continue with an other iteration or to halt, the determining responsive to the current contents of the memory location, the desired contents, the desired accuracy, the iterations counter and the conditions on the number of iterations; and in response to determining to continue with an other iteration; updating the statistical model based on the desired contents, the desired accuracy, the iterations counter, the current contents of the memory location, and the statistical model; and performing the selecting, the applying, the reading, and the determining. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for iteratively writing contents to memory locations, the system comprising:
-
a write apparatus to interpret one or more write control signals, generate a write signal, and apply the write signal to store desired contents at a selected memory location; a read apparatus to read current contents of the selected memory location; and write control circuitry in communication with the write apparatus and the read apparatus, the write control circuitry comprising; an iterations counter to count a number of write attempts; halt logic to determine when to stop writing; a statistical model block to store a statistical model of the memory location; and a write signal selector to select the one or more write control signals responsive to the desired contents, a desired accuracy, the iterations counter, conditions on a number of iterations, the statistical model, and the current contents of the memory location.
-
-
9. A method for programming a phase change memory (PCM) cell, comprising:
-
receiving a desired resistance range for the PCM cell, the PCM cell having a state with a resistance value; and looping to determine adjustments to the resistance value of the PCM cell, the looping comprising; reading the resistance value of the PCM cell; applying an annealing pulse in response to determining that the resistance value of the PCM cell is greater than the desired resistance range, the annealing pulse shaped responsive to the resistance value of the PCM cell and the desired resistance range; applying an adjustable reset pulse to reset the state of the PCM cell in response to determining that the resistance value of the PCM cell is less than the desired resistance range, the adjustable reset pulse shaped responsive to the desired resistance range; and repeating the looping until one or more termination criteria are met. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification