Resistive memories are considered a promising memory technology enabling high storage densities with in-memory computing capabilities. However, the readout reliability of resistive memories is impaired due to the inevitable existence of wire resistance, resulting in the sneak path problem. Parallel reading of an entire crossbar row can minimize, or eliminate, the multi-path problem in single-cell reading, which is one of the causes of sneak path. But, the inevitable wire resistances can lead to undesirable voltage drops, another reason for the sneak path problem (which in some cases is referred to as the IR drop problem). In short, the need for a solution to the sneak path problem poses a critical bottleneck for adoption of resistive memories.
Aspects of the present disclosure can be better understood with reference to the following drawings. It is noted that the elements in the drawings are not necessarily to scale, with emphasis instead being placed on clearly illustrating the principles of the embodiments. In the drawings, like reference numerals designate like or corresponding, but not necessarily the same, elements throughout the several views.
Resistive memories are considered a promising memory technology enabling high storage densities with in-memory computing capabilities. However, the readout reliability of resistive memories is impaired due to the inevitable existence of wire resistance, resulting in the sneak path problem. Motivated by this problem, this disclosure studies polar coding over channels with different reliability levels, termed non-stationary polar codes, and provides a technique improving its bit error rate (BER) performance. This disclosure then applies the framework of non-stationary polar codes to the crossbar array and evaluates its BER performance under three modeling approaches, namely binary symmetric channels (BSCs), binary asymmetric channels (BSCs), and asymmetric Gaussian channels. Finally, this disclosure proposes a technique for biasing the proportion of high-resistance states in the crossbar array and show its advantage in reducing further the BER. Several simulations are carried out using a SPICE-like simulator, exhibiting significant reduction in BER.
Reference will now be made in detail to the description of the embodiments as illustrated in the drawings. The words “comprising,” “having,” “containing,” and “including,” and other forms thereof, are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items.
It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. Although any systems and methods similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present disclosure, the preferred, systems, and methods are now described.
Embodiments of the present disclosure will be described hereinafter with reference to the accompanying drawings in which like numerals represent like elements throughout the several figures, and in which example embodiments are shown. Embodiments of the claims may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. The examples set forth herein are non-limiting examples and are merely examples among other possible examples.
Emerging nonvolatile memories (NVMs), such as phase change memory (PCRAM), ferroelectric memory (FeRAM), spin transfer torque magnetic memory (STT-MRAM), and resistive memory (RRAM), have shown high potential as alternatives for floating-gate-based nonvolatile memories. RRAMs are considered the best candidate for the next generation nonvolatile memory due to their high reliability, fast access speed, multilevel capabilities and stack-ability creating 3D memory architectures. To achieve higher density, access devices such as transistors, diodes and selectors are removed. However, a main disadvantage of the selector-less (gate-less) crossbar-based memories is the sneak path effects which limit the readability of the array.
In resistive memories, the high/low cell resistance represents the stored bit. In order to retrieve the stored data, resistive sensing (reading) techniques are adopted. In this disclosure, a parallel reading of an entire crossbar row is adopted (see
This disclosure includes structures that can utilize polar coding for channels with different reliability levels, which can be termed non-stationary polar codes. The ordering of the channels can also be utilized. This disclosure proposes an ordering with a competitive performance numerically. The framework of non-stationary polar codes can be applied to the sneak path problem and demonstrates significant improvement in terms of bit error rate (BER). Array cells can be modeled as either binary symmetric channels (BSCs) or as binary asymmetric channels (BACs) and compare their BER performances. This disclosure also includes a technique for biasing the number of high-resistance values in the crossbar through puncturing, and shows that the proposed technique can help reduce the BER in certain scenarios.
Notation: Vectors are denoted with lower-case bold letters. A permutation it over the integers {0, . . . , N−1} is denoted as π=[π(0), . . . , π(N−1)], where π(j) is the image of j under π. For a vector x=[x0, . . . , xN−1], xπ denotes the vector x=[xπ(0), . . . , xπ(N−1)].
For a binary input discrete memoryless channel (B-DMC), W with output alphabet , denote its transition probabilities by W(y|x),x∈{0,1},y∈, and define the symmetric capacity I(W) as
Arikan's polar transformation, as described in “Channel polarization: A method for constructing capacity achieving codes for symmetric binary-input memoryless channels,” manufactures out of N independent copies of a given B-DMC channel, a second set of N synthesized binary-input channels. The channels can show a polarization effect, namely, as N becomes large, the symmetric capacities of the synthesized channels tend towards 0 or 1 for all but a vanishing fraction.
The basic polarization transformation, illustrated in
where y0∈0, y1∈1, and u0,u1∈{0,1}. One can denote this single-step transformation by (W0, W1)(W′, W″). The transformation preserves the average symmetric capacity, while exhibiting a polarization effect.
I(W′)+I(W″)=I(W0)+I(W1).
I(W′)≤I(Wi)≤I(W″),i=0,1. (3)
The Bhattacharya parameter of a binary discrete memoryless channel W:{0,1}→, denoted by Z(W) is a measure of the reliability of W, and has been used to bound the error probability of polar codes in “Channel polarization: A method for constructing capacity achieving codes for symmetric binary-input memoryless channels.” The parameter Z(W) is defined as
(ii) Equality (4) holds with equality iff W0 or W1 is a binary erasure channel.
(iii) Equality (6) holds with equality iff both W0 and W1 are binary symmetric channels.
Lemma 2 can indicate that reliability improves under a single-step channel transformation in the sense that
Z(W′)+Z(W″)≤Z(W0)+Z(W1),
with equality iff W0 or W1 is a binary erasure channel (BEC).
The single-step transformation, as described in (2), can be generalized to the case of N=2n binary, memory-less, but not necessarily stationary channels {Wi}i=0N−1. In particular, let Wm,i denote the i-th bit channel after m levels of polarization of the sequence {Wi}i=0N−1, where W0,iWi, i=0, . . . , N−1. Applying Arikan's polar construction results in a collection of synthesized channels, such that, for any level 1≤l≤n for 0≤j<2l−1, 0<m<2n−l, we have
(Wl−1,2
The fraction of non-polarized channels can approach 0, e.g., for every 0<a<b<1,
In the asymptotic regime where the blocklength N is large, the effective average symmetric capacity
is achievable. Moreover, the polar coding scheme can be constructed based on Arikan's channel polarization transformation in combination with certain permutations at each polarization level. The present disclosure describes the performance of non-stationary polar codes in the finite blocklength regime.
A. Polar Code Encoding and Decoding
Let u=[u0, u1, . . . , uN−1] and x=[x0, x1, . . . , xN−1] be the input and the output of a length-N polar code, respectively, with N=2n for some integer n. The polar transformation is given by
where the symbol ⊗n on denotes the n-th Kronecker power operator. When n=1,N=2, the basic polarization transformation is applied to two independent channels W0:{0,1}→0 and W1:{0,1}→1, resulting in two channels, W′:{0,1}→0×1 and W″:{0,1}→0×1×{0,1} given by
where y0∈0, y1∈1, and u0, u1∈{0,1}. One can denote this single-step transformation by (W0, W1)(W′, W″). After polar encoding, one obtains N synthesized channels {W(i)Wn,i, 0≤i≤N−1}. A polar code of dimension k transmits k information bits in the k synthesized channels with the highest I(W(i))(denote the corresponding information set by or I), and N−k arbitrary but fixed bits in the remaining N−k synthesized channels (denoted by ). Decoding of polar codes is carried out using successive cancellation decoding (SCD) as in “Channel polarization: A method for constructing capacity achieving codes for symmetric binary-input memoryless channels,” taking into account the appropriate likelihood ratios of the original channels.
Remark 1. The information set of a non-stationary polar code can be determined as long as I(W(i)) are computed. However, their computational complexities can be difficult to manage. The reliability parameters of the synthesized channels can be approximated efficiently by Z(W(i)) using (4) and (5) in Lemma 2. Call this method the Bhattacharyya bound approach. Let Zn,i denote the Bhattacharyya parameter of channel Wn,i. Then, apply the following recursion: for level 1≤l≤n, for 0≤j<2l−1 and 0≤m<2n−l, one has
Z
l−1,2
m+j
=Z
l−1,2
m+j+Zl−1,2
Z
l−1,2
m+2
+j=Z
l−1,2
m+j+Zl−1,2
where {Z0,i, 0≤i<N} are the initial channel Bhattacharyya parameters. The indices of the lowest N−k values in the set of N final stage values form the set F. This algorithm is an evolution of the Bhattacharyya parameters of channels from right to left (see
B. Role of the Channel Ordering
The performance of polar codes can depend on the synthesized channels (of the information set I(W(i)), described e.g., in “Channel polarization: A method for constructing capacity achieving codes for symmetric binary-input memoryless channels.” As illustrated in
where I(Wπ(i)) is the symmetric capacity of the i-th synthesized channel under permutation π and π, its information set.
Remark 2. The permutation π can be defined such that zπ=x, or equivalently z=xπ−1. Then, zπ(i)=xi, implying that symbol xi goes through channel Wπ(i), for 0≤i<N. Correspondingly, a reverse permutation can be utilized for the output of the channels.
In some examples, a method includes the encoder 106 performing the linear operation, comprising: generating a polar encoded representation, e.g., x, comprising a length-N polar code from the at least one vector of the information to be stored; and generating an output, e.g., z, using at least one permutation that is based at least in part on the statistical characterization analysis and applying a channel dependent permutation to the polar encoded representation. The controller 103 can be configured to cause the output, e.g., z, to be stored in the nonvolatile memory.
The controller 103 can receive stored information, e.g., y, stored in a nonvolatile memory. The decoder 109 can generate a second polar encoded representation, e.g., the vector y′=[yπ(0), . . . , yπ(N−1)]=yπ, by undoing one or more permutation(s). The decoder 109 can include a polar decoder that can generate a polar decoded representation, e.g., û, by performing polar decoding on the second polar encoded representation. As shown in
Remark 3. In general, the channel symmetric capacities can be given in any arbitrary order. In this case, in order to study the effect of permutations in a canonical way, one can apply the composition permutation πord∘π to the output x, where πord is a permutation that orders the channels in increasing order of symmetric capacities: that is I(Wπ
Next, it is shown that some channel orderings are equivalent after polarization.
Definition 3. Given N B-DMC {Wi}i=0N−1, an equivalence class of permutations over {0, . . . , N−1} can include all channel permutations π such that the n-level polarization process of the channels {Wπ(i)}i=0N−1 results in the same symmetric capacities.
Lemma 4. The number of permutation classes is at most
Proof: Consider the two single-step transformations (W0, W1)(W1′, W1″) and (W1, W0)(W2′, W2″). From (1) and (2), one has
where the second equality is obtained by a change of variable. On the other hand,
From (9) and (10), obtain I(W1′)=I(W2″). From (3), it follows I(W1′)=I(W2′). Thus, the single-step transformation is symmetric in the sense that exchanging the order of W0 and W1 does not impact the symmetric capacities of the synthesized channels. It follows that for N=2n channels, permuting channel W2i and channel W2i+1, for
does not change the symmetric capacities of the synthesized channels obtained at the end of the polarization process. Extending the above reasoning to level 2, permuting
results in the same symmetric capacities of the synthesized bit channels. At level 3, one can permute
without changing the symmetric capacities. Similar observation applies to all polarization levels l, for 1≤l≤n. Thus, the number of permutation classes is upper bounded by
Remark 4. Equivalent classes of permutations can be equally defined in terms of the Battacharaya parameters instead of symmetric capacities, and the statement of Lemma 4 holds.
Example 1.
Example 1 shows that in the finite blocklength regime, the ordering of the channels matters, depending on the code rate. For N=4 BECs with different erasure probabilities, Proposition 1 determines the best ordering depending on the target rate.
Proposition 1. Consider N=4 BECs with parameters such that ϵ1, 1≤i≤4. Then, the permutation πord∘π, where π=[0,3,1,2] satisfies (8).
Extending the analysis in Proposition 1 is not tractable. This disclosure considers the bit-reversal permutation defined below and explores the performance under bit-reversal permutation through various numerical examples.
Definition 5. Define ψ to be the bit-reversal permutation. For each integer i∈{0, . . . , 2n−1}, ψ(i) is the integer obtained by reversing the binary representation of i. That is, let i=Σj=1nbj2j−1, then ψ(i)=Σj=1nbj2n−1. As an example, when N=8, ψ=[0,4,2,6,1,5,3,7], as illustrated in
From the proof of Proposition 1 and Lemma 4, when ϵ0=ϵ1, or ϵ2=ϵ3, then ψ satisfies (8) and is optimal, which coincides with Example 1.
Example 2. Consider N binary symmetric channels (BSCs) with varying cross-over probabilities, linearly spaced and centered at value p∈{0.05, 0.065, 0.08, 0.095, 0.11}, with maximum deviation of 0:045. A rate 1/2 and a block size N=210 can be considered. The performance of a regular polar code designed for the average BSC channel can be evaluated, with pavg satisfying N(1−h(pavg))=Σi=0N−1(1−h(pi)), where h(·) is the binary entropy function and pi's are the cross-over probabilities of the channels. The default ordering of the channels is such that the channels' Bhattacharya parameters are ordered in a descending order (e.g., decreasing order of pi's). This disclosure evaluates the performance with the default ordering (no permutation) and the performance with the bit-reversal permutation. This disclosure also evaluates the performance obtained by averaging 200 random permutations. For each scenario, the frame error rate (FER) and the bit error rate (BER) with non-systematic encoding and systematic encoding, for 104 runs, is evaluated.
Based on the observation that bit-reversal permutation achieves competitive BER numerically, one can choose to apply π=ψ for the disclosed non-stationary polar codes, so as to mitigate the sneak path problem in crossbar arrays.
A. General Framework
As outlined in the introduction, the memory cells (e.g., crossbar array cells) can exhibit different reliability levels. For this reason, this disclosure proposes the application of non-stationary polar codes to address the problem. A two-step approach can be applied:
Example 3.
B. Binary Asymmetric Channel Modeling
The array cells can be modeled as BSCs. Analyzing further the uncoded error distribution, as one may infer from
Example 4.
C. Punctured Polar Codes
Techniques described herein can enhance the BER performance in some scenarios. The sneak paths exist through the cells having low resistances, causing inter-cell interference. Having more high resistances in the array can help mitigate the sneak path problem. To leverage this intuition, one can investigate the use of a (punctured) polar code of a shorter length, say N−Np, while storing high resistances in the corresponding punctured Np cells in the array. Clearly, there is a trade-off between two opposite factors: puncturing reduces the number of redundant codeword symbols, hence degrading the performance of polar codes, while high resistances decrease the sneak path effect resulting in fewer read errors. The following investigates the application of the above approach to the crossbar array.
A punctured polar code can be obtained from the N-length parent polar code using a binary puncturing vector w=[w0, w1, wN−1], where the zeros imply the punctured positions. One can note that the information set should be recomputed as in Remark 1, when considering puncturing. Punctured polar codes have been investigated by many works, and several efficient puncturing patterns have been proposed in the literature, for example by K. Niu, K. Chen, and J.-R. Lin in “Beyond turbo codes: Rate-compatible punctured polar codes,” in IEEE Int. Conf. on Communications (ICC). IEEE, 2013, pp. 3423-3427. Additional details are provided in the Appendix of U.S. Provisional Application No. 62/968,260 entitled “Beyond turbo codes: Rate-compatible punctured polar codes,” which is hereby incorporated by reference in its entirety.
An empirically good puncturing algorithm, termed quasi-uniform puncturing (QUP), polar codes can outperform the performance of turbo codes in WCDMA (Wideband Code Division Multiple Access) or LTE (Long Term Evolution) wireless communication systems in the large range of code lengths. According to some examples herein, QUP can be adopted as a puncturing pattern.
Definition 6. The QUP is described as follows:
Example 5. Let N=8, Np=3. The initial puncturing vector is w=[0, 0, 0, 1, 1, 1, 1, 1]. After bit-reversal permutation, the puncturing vector becomes w=[0, 1, 0, 1, 0, 1, 1, 1].
By employing QUP in conjunction with the permutation πord ∘ψ, puncturing Np positions corresponds to not using the Np cells with the worst reliability levels for data storage. By placing high-resistance values (e.g., 1's) in the punctured locations, one can increase the frequency of 1's in the codeword by
Lemma 7. For a punctured polar code length of N−Np, the frequency of 1's in the array is given by
Example 6.
Motivated by the sneak path problem in resistive memories, this disclosure studied polar coding over channels with different reliability levels. In particular, it was argued that the channels' ordering is important and proposed a channel ordering whose attractive performance was shown numerically. The disclosed framework can be applied to the sneak path problem in resistive memories. Simulation results on SPICE-like resistive crossbar showed significant bit-error rate performance improvement, especially for low uncoded BER. Additionally, two approaches to further lower the BER were proposed. The first approach relies on a more accurate channel modeling. The second approach consists in biasing the frequency of high-resistance values in the array so as to mitigate the sneak path occurrences. One can note that while each cell was modeled individually as a BSC (or a BAC), the cost of such modeling can be amortized by using the same characterization over several crossbar arrays, which makes the model parameters costs justifiable from a practical perspective. Moreover, it is possible to cluster multiple cells together in a way to reduce the number of overall crossbar model parameters.
A. Proof of Proposition 1
Proof: Assume that ϵ1≥ϵ2≥ϵ3≥ϵ4. As for a BEC W, Z( )=1−I(W), we can equivalently study the Bhattacharya parameters. By Lemma 4, it can be checked that we need only consider three (3) different permutations.
Analysis: Note that Σi=03Zπ
Z
π
(0)
−Z
π
(1)=(1−ϵ1)(1−ϵ2(ϵ3+ϵ4)+(ϵ1−ϵ3)(ϵ4−ϵ2)+(1−ϵ3)(1−ϵ4)(ϵ1+ϵ2)≥0,
Z
π
(2)
−Z
π
(3)=ϵ1ϵ3+ϵ2ϵ4−2ϵ1ϵ2ϵ3ϵ4≥0.
It follows that Zπ
Z
π
(3)≤min(Zπ
Z
π
(3)≤min(Zπ
Given the exact expressions of the Battacharaya parameters, we can determine the permutation satisfying (8), depending on the size of e.g., depending on the code rate. Clearly, except for the rate 1/2, all permutations satisfy (8). For example, if R=1/4, we choose the same best channel corresponding to Zπ
It follows that Zπ
Although embodiments have been described herein in detail, the descriptions are by way of example. The features of the embodiments described herein are representative and, in alternative embodiments, certain features and elements can be added or omitted. Additionally, modifications to aspects of the embodiments described herein can be made by those skilled in the art without departing from the spirit and scope of the present invention defined in the following claims, the scope of which are to be accorded the broadest interpretation so as to encompass modifications and equivalent structures.
The term “substantially” is meant to permit deviations from the descriptive term that don't negatively impact the intended purpose. Descriptive terms are implicitly understood to be modified by the word substantially, even if the term is not explicitly modified by the word substantially.
It should be noted that ratios, concentrations, amounts, and other numerical data may be expressed herein in a range format. It is to be understood that such a range format is used for convenience and brevity, and thus, should be interpreted in a flexible manner to include not only the numerical values explicitly recited as the limits of the range, but also to include all the individual numerical values or sub-ranges encompassed within that range as if each numerical value and sub-range is explicitly recited. To illustrate, a concentration range of “about 0.1% to about 5%” should be interpreted to include not only the explicitly recited concentration of about 0.1 wt % to about 5 wt %, but also include individual concentrations (e.g., 1%, 2%, 3%, and 4%) and the sub-ranges (e.g., 0.5%, 1.1%, 2.2%, 3.3%, and 4.4%) within the indicated range. The term “about” can include traditional rounding according to significant figures of numerical values. In addition, the phrase “about ‘x’ to “y′” includes “about ‘x’ to about “y′”.
This application claims priority to and the benefit of, U.S. Provisional Application No. 62/968,260, filed on Jan. 31, 2020, entitled “NON-STATIONARY POLAR CODES FOR RESISTIVE MEMORIES,” the entire contents of which is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62968260 | Jan 2020 | US |