1. Field of the Invention
The present invention relates generally to electronic circuits and devices having phase change memory, and particularly to odd/even invert coding for phase change memory with thermal crosstalk.
2. Description of the Related Art
In phase change memory (PCM), a phase change material, such as Germanium-Antimony-Telluride (GST) or other chalcogenide material, is used. However, it has been discovered that PCM can suffer from reliability problems. For example, the performance of a PCM cell can eventually degrade as the cell is continually set/reset. Thus, PCM has limited write endurance, hindering its widespread usage. Moreover, a critical reliability issue caused by PCM cell down scaling is thermal crosstalk, which leads to the change of a cell's state while its adjacent cells are being programmed by a high-current reset pulse.
Thus, an odd/even invert coding for phase change memory with thermal crosstalk solving the aforementioned problems is desired.
The odd/even invert coding for phase change memory with thermal crosstalk includes a cost model that captures Phase Change Memory (PCM) SET/RESET write asymmetries, as well as write disturbs commonly caused by thermal crosstalk. The cost is computed by counting the different types of transitions between the old and the new data to be written to PCM. An Odd/Even Invert data encoding/decoding algorithm makes intelligent decisions based on the cost model by taking into account the number of bit flips, write asymmetry, as well as write disturbs. The data encoding algorithm recodes the data on the fly based on selective inverting (even, odd, or full invert) to search for a minimum cost solution with the aim of reducing write activities and extending the PCM lifetime. A hardware architecture for the present encoding/decoding algorithm is presented, which requires only two bits storage overhead for coding, regardless of the width of data.
These and other features of the present invention will become readily apparent upon further review of the following specification and drawings.
Similar reference characters denote corresponding features consistently throughout the attached drawings.
The present odd/even invert coding for phase change memory (PCM) with thermal crosstalk uses an algorithm that is based on DCW (data-comparison-write). In DCW, input data to be written (w) is compared to the already programmed data (x), and only bit positions with different values (between old and new) are written. The cost of writing a data word w into the PCM can be formulated similar to CAFO (Cost Aware Flip Optimization) as:
Cost(w)=αT1→0+βT0→1+γT0→0+δT1→1, (1)
where α, β, γ, δ are the scaling factors for determining the cost and are based on the memory technology being modeled and the objective function being optimized. In equation (1), T1→0 represents the number of 1→0 transitions, where the old data bit, which has a value 1, is to be modified to 0 by the new data bit. Similarly, other Ti represent the corresponding marked transitions. The asymmetry of writing “0” or “1” can be captured through assigning different values to scaling factors (α, β). For example, in terms of current, α may be two times β, since writing “0” requires more current than writing “1”. Since the PCM does not require programming for matched transitions (T0→0, T1→1) based on DCW, their scaling factors (γ, δ) can be assigned a value of “0” and can be ignored in equation (1).
If the complement/invert of the data, i.e., (
Cost(
Equation (2) computes the cost based on the transitions in the original data to be written (w) and the old data value (x) at a location without inverting w. By counting the different types of transitions, these cost functions provide a simple, systematic, and powerful way of capturing write asymmetry and provide a means to make intelligent decisions to find a better cost, instead of the simple approach of counting the number of bit flips that is commonly used in conventional techniques.
Consider an 8-bit data word (w7, w6, w5, w4, w3, w2, w1, w0) to be written to PCM. We can partition the word into two 4-bit words, including an odd-bits word (w7, w5, w3, w1) and an even-bits word (w6, w4, w2, w0). To derive the cost model using odd and even inverted data bits, we can use the fact that any transition can be written as the sum of odd and even bit transitions. As an example, we can write T0→1=T0→1(odd)+T0→1(even). When only odd bit positions of a data word are inverted, then only the transitions at odd data bits are inverted, without affecting even bits transitions. Therefore, all the 1→0 transitions and 0→1 transitions in odd inverted data bits can be written as:
T1→0(odd-inverted)=T1→1(odd)+T1→0(even) and
T0→1(odd-inverted)=T0→0(odd)+T0→1(even).
By substituting these values in equation (1) and ignoring matching bits transition in equation (1) (since their scaling factors γ, δ are assigned a value of “0”), we derive the following cost model of writing odd inverted data bits:
Cost(
Based on the same argument, the cost model of writing even inverted data bits will be:
Cost(
Since the number of transitions will vary in equations (1-4) based on the operation performed on the data word to be written, we seek to select the operation (no invert, full invert, odd invert, even invert) that will lead to the least cost by selecting the one that provides the least number of transitions. In our proposed cost model, we count all the transitions (matching and non-matching) and differentiate them at a finer grain level based on the position of data bits (odd or even) to compute the cost of a particular encoding. The cost models in equations (1-4) provide us a simple and powerful tool to encode data bits in such a way as to reduce the number of bits to be written, which, in turn, extends the lifetime of PCM.
With respect to the odd/even invert algorithm, the present Odd/Even Invert encoding/decoding algorithm uses two auxiliary bits to store encoding information, as shown in Table 2. The algorithm computes the cost according to equations (1-4) and selects minimum encoding cost for the data, as shown in Algorithm 1 in Table 3. The decoding procedure is also very simple and is shown as Algorithm 2 in Table 4. The decoding process starts by reading the data from the PCM, and then the corresponding encoding bits are used to transform the read data to the original format.
To demonstrate the capabilities of the present algorithm, we will compare its performance with that of Flip-N-Write. For example, consider an 8-bit data w=11110101 to be written in place of the value x=01011011. Assuming values of α=β=1, γ=δ=0, the present approach will find the minimum cost of 1 for inverting only bits at odd positions. On the other hand, the Flip-N-Write approach will give a cost of 3, which is the result of inverting all bits, since the number of flips for the new value is more than N/2 (5 bit flips, where N is 8). Table 5 summarizes the results by showing the encoded data, as well as cost calculations for both approaches. Furthermore, by changing the values of scaling parameters, the present Odd/Even Invert algorithm can capture the asymmetry of PCM write operations (SET/RESET) and can explore the solution space effectively to find the minimum cost data encoding to extend the lifetime of the PCM.
The overall dataflow architecture 100 of the system is shown in
With respect to extension for thermal crosstalk, a critical reliability issue in PCM is the write disturb problem (also known as thermal crosstalk), which arises from inter-cell thermal heating during programming. When programming a PCM cell, in particular, undergoing a reset, the generated heat may disseminate to its neighbors, thus disturbing idle cells that have a stored value of “0”. A write operation will not cause any disturb problem if all cells in a memory line are updated concurrently. However, most of the existing techniques proposed to extend PCM lifetime only perform differential writes, where only bit positions that will flip will actually be written. These schemes leave many cells idle during writes, so disturbs may appear along a word-line. Write disturbs are different from resistance drift phenomena, which result in a resistance change even when a cell or its neighbor is not being accessed.
In order to take into account thermal crosstalk effect, we need to count the number of coupling transitions that induce disturbs and include them in the cost model proposed. Coupling transitions happen between two adjacent bits of inputs (e.g., x1x0w1w0, x2x1w2w1, x3x2w3w2, etc.), where (xn−1, xn−2, . . . , x1, x0) is the old data and (wn−1, wn−2, . . . , w1, w0) is the new data in data word W to be written to the PCM 106. Table 6 shows all sixteen possible coupling transitions among the data bits, where these transitions are being expressed as (Tx
The cost of writing a data word w in PCM described in equation (1) can be extended to include the thermal crosstalk effect as:
Cost(w)=αT1→0+βT0→1+γT0→0+δT1→1+k(T01→00+T10→00) (5)
where k is the scaling factor for coupling transitions in the cost function.
By inverting the data as shown in Table 6, the T01→00 and T01→11 transitions in original data will be converted to T01→11 and T01→00 in the inverted data, respectively. Based on the same logic and analyzing the disturb effect in this case, T01→11, T10→11 are the transitions in original data that may lead to thermal crosstalk if the inverted data is to be written instead (as shown in column number 2 of Table 6). Thus, we can extend the cost function of writing inverted data in equation (2) by including the coupling transitions as follows:
Cost(
When the data at odd bits positions is inverted, we need to consider two coupling transitions based on the pair of bits being considered. Considering the odd-even pair of bits, transitions (T01→10, T10→10) in the original data word will cause a disturb fault if only odd bits are inverted, whereas in the case for even-odd pair of bits, transitions (T01→01, T10→01) may cause disturbs in the case when only even bits are inverted. All these cases for the various inversions relative to the original data are highlighted in Table 6. Therefore, the cost of writing odd position inverted data bits by extending the cost function described in equation (3) to include coupling transitions that cause disturbs will be:
where Todd=(T01→10+T10→10)odd-even-pair+(T01→01+T10→01)even-odd-pair.
Similarly, the cost of writing even inverted data bits by extending the cost function described in equation (4) to include the coupling transitions will be:
where Teven=(T01→10+T10→10)even-odd-pair+(T01→01+T10→01)odd-even-pair.
An illustrative example with thermal crosstalk follows. To illustrate the impact of write disturb on choosing the right encoding, we will use Table 7 to demonstrate this matter. For example, consider an 8-bit data w=10001010 to be written in place of the value x=00100010. If the decision is made based only on the number of updates by setting the k parameter in equations (5-8) to 0, which will effectively exclude thermal crosstalk effects, then minimum cost encoding would be to invert odd bits, thus resulting in a cost of 2. However, if parameter k is set to 3 in equations (5-8), thus including the effect of write disturbs, the algorithm will choose to invert all bits, which will have a cost of 6 in this case, and all the pairs which may lead to disturb faults are eliminated.
Regarding encoding architecture with thermal crosstalk, the architecture for counting coupling transitions is shown in
It is to be understood that the present invention is not limited to the embodiments described above, but encompasses any and all embodiments within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
6862235 | Sakata et al. | Mar 2005 | B2 |
6965533 | Sakata et al. | Nov 2005 | B2 |
7505330 | Pawlowski et al. | Mar 2009 | B2 |
8386883 | Franceschini et al. | Feb 2013 | B2 |
Entry |
---|
K. Cai, “Vertical Constrained Coding for Phase-Change memory with Thermal Crosstalk,” In Proceedings of the IEEE International Conference on Computing, Networking and Communications, pp. 312-316, Feb. 2014. |
A. P. Ferreira, M. Zhou, S. Bock, B. Childers, R. Melhem, and D. Mosse, “Increasing PCM Main Memory Lifetime,” In Proceedings of the Conference on Design, Automation and Test in Europe, pp. 914-919, 2010. |
A. Mirhoseini et al., “Phase Change Memory Write Cost Minimization by Data Encoding”, IEEE Journal on Emerging and Selected Topics in Circuits and Systems, vol. 5, No. 1 (Mar. 2015), pp. 51-63. |
Number | Date | Country | |
---|---|---|---|
20170220266 A1 | Aug 2017 | US |