This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Endurance-Limited Memories: Capacity and Codes

Yeow Meng Chee, , Michal Horovitz, , Alexander Vardy, ,
Van Khu Vu, and Eitan Yaakobi
Parts of the results in this paper were presented in the International Symposium on Information Theory and Its Applications, Oct 2018 [5], and in IEEE Information Theory Workshop, August 2019 [6].Yeow Meng Chee is with the Department of Industrial Systems Engineering and Management, National University of Singapore, Singapore (email: [email protected]). Michal Horovitz is with the Department of Computer Science, Tel-Hai College, and The Galilee Research Institute - Migal, Kiryat Shmona 11016, Upper Galilee Israel (e-mail: [email protected]).Alexander Vardy is with the Department of Electrical and Computer Engineering and the Department of Computer Science and Engineering, University of California San Diego, La Jolla, CA 92093 USA (e-mail: [email protected]). Van Khu Vu is with the Department of Industrial Systems Engineering and Management, National University of Singapore, Singapore (email: [email protected]). Eitan Yaakobi is with the Computer Science Department, Technion — Israel Institute of Technology, Haifa 3200003, Israel (e-mail: [email protected]).
Abstract

Resistive memories, such as phase change memories and resistive random access memories have attracted significant attention in recent years due to their better scalability, speed, rewritability, and yet non-volatility. However, their limited endurance is still a major drawback that has to be improved before they can be widely adapted in large-scale systems.

In this work, in order to reduce the wear out of the cells, we propose a new coding scheme, called endurance-limited memories (ELM) codes, that increases the endurance of these memories by limiting the number of cell programming operations. Namely, an \ell-change tt-write ELM code is a coding scheme that allows to write tt messages into some nn binary cells while guaranteeing that each cell is programmed at most \ell times. In case =1\ell=1, these codes coincide with the well-studied write-once memory (WOM) codes. We study some models of these codes which depend upon whether the encoder knows on each write the number of times each cell was programmed, knows only the memory state, or even does not know anything. For the decoder, we consider these similar three cases. We fully characterize the capacity regions and the maximum sum-rates of three models where the encoder knows on each write the number of times each cell was programmed. In particular, it is shown that in these models the maximum sum-rate is logi=0(ti)\log\sum_{i=0}^{\ell}{t\choose i}. We also study and expose the capacity regions of the models where the decoder is informed with the number of times each cell was programmed. Finally we present the most practical model where the encoder read the memory before encoding new data and the decoder has no information about the previous states of the memory.

I Introduction

Emerging resistive memory technologies, such as resistive random access memories (ReRAM) and phase-change memories (PCM), have the potential to be the future’s universal memories. They combine several important attributes starting from the speed of SRAM, the density of DRAM, and the non-volatility of flash memories. However, they fall short in their write endurance, which significantly increases their bit error rate (BER). Hence, solving the limited endurance of these memories is crucial before they can be widely adapted in large-scale systems [10, 19, 29].

Resistive memories are non-volatile memories which are composed of cells. The information is stored in the cells by changing their resistance. They combine the following two properties of DRAM and flash memories. Similarly to flash memories and unlike DRAM they are non-volatile memories and thus they don’t require refresh operations. Furthermore, like DRAM and unlike flash memories they are rewritable without an erase operation. The main challenge that has remained to be solved in order to make these memories a legitimate candidate as a universal memory is their limited write endurance, which is the goal of this paper.

Endurance is defined as the number of set/reset cycles to switch the state of cells in ReRAM while it is still reliable. Owing to its importance, there are many researches which test and characterize the endurance of ReRAM in order to show a strong dependence on material of cells, cell size, [17, 27], and program operation [23]. To improve the endurance of ReRAM, recent research have focused on the structure and material of devices [17, 26] and programming schemes [7, 23]. In this work, we present a scheme to use rewriting code to improve the endurance lifetime of ReRAM.

Previous works have offered different solutions to combat the write endurance of resistive memories. In [13], the authors proposed to use locally repairable codes (LRC) in order to construct codes with small rewriting locality in order to mitigate both the problems of endurance and power consumption. In [28], the authors proposed mellow writes, a technique which is targeted to reduce the wear-out of the writes rather than reducing the number of writes. Lastly, several other works proposed coding schemes which correct stuck-at cells; see e.g. [15, 20, 25].

In order to combat the limited write endurance in resistive memories, this paper proposes to study the following new family of codes, called endurance-limited memory (ELM) codes. Assume there are nn binary cells and tt messages that are required to be stored in these cells sequentially. Assume also that each cell can be programmed at most 1\ell\geqslant 1 times. Then, we seek to find the set of achievable rates, i.e., the capacity region, and design code constructions for this model. Note that for =1\ell=1, we get the classical problem of write-once memory (WOM) codes [3, 11, 12, 18, 22, 24]. Besides that, if t,t\leqslant\ell, the coding scheme is trivial. Hence, in this work, we only focus on the cases where t>>1t>\ell>1. Note that a trivial lower bound on the maximum sum-rate is min{t,}\min\{t,\ell\}, which achieved by writing with rate 11 in the first min{t,}\min\{t,\ell\} writes and with rate 0 in the remaining writes.

Let us consider first the case where =2\ell=2 and t=3t=3. A naive solution is to use a two-write WOM code for the first two writes and then write nn more bits on the third write. The maximum sum-rate using this solution will be log(3)+1=log(6)\log(3)+1=\log(6), while, as will be shown in the paper, the maximum sum-rate in this case is log(7)\log(7). The intuition behind this is as follows. Let p1p_{1} be the probability to program a cell on the first write, so we assume that p1np_{1}n cells are programmed. Then, on the second and third writes we have a two-write WOM code problem for the p1np_{1}n programmed cells, and for the (1p1)n(1-p_{1})n non-programmed cells, we can write twice on them so no coding is needed. The maximum sum-rate is achieved for p1=3/7p_{1}=3/7. However, it is still a challenging task to design specific code constructions that can approach sum-rate of log(7)\log(7).

There are several models of ELM codes which can be studied. These models are distinguishable by the information that is available to the encoder and the decoder. In particular, for the encoder, we consider three cases which depend upon whether the encoder knows the number of times each cell was programmed, encoder informed all (EIA), only the current state of the cell, encoder informed partially (EIP), or no information about the cells state, encoder uninformed (EU). The decoder will also have three cases, corresponding to the same information that is available to the encoder. Thus, by considering all combinations of the above three cases for the encoder and the decoder, it is possible to define and study nine models, EX:DYEX:DY, where X,Y{IA,IP,U}X,Y\in\{IA,IP,U\}. The rest of this paper is organized as follows. In Section II, we formally define the models studied in this paper and discuss some basic observations. In Section III, we study the capacity regions and the maximum sum-rates of the EIA models, and also present capacity achieving codes. We prove that the capacity region of all EIA models, are the same, for both ϵ\epsilon-error and zero-error cases. In the next two sections, we discuss the EIP:DIA model. In Section IV, we study the capacity region of this model for the ϵ\epsilon-error case, and in Section V, we compare between this model and the EIA models. Then, we discuss the EU:DIA and the EIP:DU models in Sections VI and VII, respectively. Finally, we conclude our results and discuss a future work in Section VIII.

II Definitions and Preliminaries

In this section, we formally define the nine models of ELM codes, and we state some simple propositions. Assume that each cell can be programmed at most \ell times, so if the encoder attempts to program a cell more than \ell times then it will not change its value. For the EIA models, we assume that the encoder will not try to program a cell that has already been programmed \ell times before the current write. We see this as an extension of the WOM model for =1\ell=1. These models will be defined both for the zero-error and the ϵ\epsilon-error cases.

For a positive integer aa, the set {0,,a1}\{0,\ldots,a-1\} is defined by [a][a]. Throughout this paper, we assume that the number of cells is nn. We use the vector notation 𝒄[2]n{\boldsymbol{c}}\in[2]^{n} to represent the cell-state vector of the nn memory cells, and the vector 𝒗[+1]n{\boldsymbol{v}}\in[\ell+1]^{n}, which will be called the cell-program-count vector, to represent the number of times each cell was programmed. Note that the state of a cell is the parity of the number of times it was programmed. Thus, if the encoder (or the decoder) knows the cell-program-count vector 𝒗{\boldsymbol{v}}, in particular it knows the cell-state vector 𝒄{\boldsymbol{c}} as well. For a vector 𝒗[+1]n{\boldsymbol{v}}\in[\ell+1]^{n}, we denote by 𝒗2{\langle{\boldsymbol{v}}\rangle}_{2} the length-nn binary vector which satisfies 𝒗2,k=𝒗k(mod 2){\langle{\boldsymbol{v}}\rangle}_{2,k}={\boldsymbol{v}}_{k}(\bmod\ 2) for all k[n]k\in[n], and we say that 𝒗2{\langle{\boldsymbol{v}}\rangle}_{2} equals to 𝒗{\boldsymbol{v}} modulo 22. The complement of a binary vector 𝒄{\boldsymbol{c}} is denoted by 𝒄¯\overline{{\boldsymbol{c}}}. The all ones, zeros vector will be denoted by 1, 𝟎\bf 0, respectively. For two length-nn vectors 𝒂{\boldsymbol{a}} and 𝒃{\boldsymbol{b}}, 𝒂+𝒃{\boldsymbol{a}}+{\boldsymbol{b}} is the vector obtained by pointwise addition. If 𝒂{\boldsymbol{a}} and 𝒃{\boldsymbol{b}} are binary vectors 𝒂𝒃{\boldsymbol{a}}\oplus{\boldsymbol{b}} is the vector obtained by pointwise addition modulo 22.

For a cell-program-count vector 𝒗[+1]n{\boldsymbol{v}}\in[\ell+1]^{n} and a new cell-state vector 𝒄[2]n{\boldsymbol{c}}\in[2]^{n} to be programmed to the cells, we define by N(𝒗,𝒄)[+1]nN({\boldsymbol{v}},{\boldsymbol{c}})\in[\ell+1]^{n} and f(𝒗,𝒄)[2]nf({\boldsymbol{v}},{\boldsymbol{c}})\in[2]^{n} the result of programming the new cell-state vector 𝒄{\boldsymbol{c}}. That is, N(𝒗,𝒄)N({\boldsymbol{v}},{\boldsymbol{c}}) is the new cell-program-count vector after programming 𝒄{\boldsymbol{c}}, f(𝒗,𝒄)f({\boldsymbol{v}},{\boldsymbol{c}}) is the new cell-state vector, and they are formally defined as follows. N(𝒗,𝒄)k=𝒗kN({\boldsymbol{v}},{\boldsymbol{c}})_{k}={\boldsymbol{v}}_{k} if 𝒄k=𝒗k(mod 2){\boldsymbol{c}}_{k}={\boldsymbol{v}}_{k}(\bmod\ 2), and otherwise N(𝒗,𝒄)k=min{,𝒗k+1}N({\boldsymbol{v}},{\boldsymbol{c}})_{k}=\min\{\ell,{\boldsymbol{v}}_{k}+1\}, where the index kk for a vector means its kk-th element. Similarly, f(𝒗,𝒄)k=𝒄kf({\boldsymbol{v}},{\boldsymbol{c}})_{k}={\boldsymbol{c}}_{k} if 𝒗k<{\boldsymbol{v}}_{k}<\ell, and otherwise f(𝒗,𝒄)k=𝒗k(mod 2)f({\boldsymbol{v}},{\boldsymbol{c}})_{k}={\boldsymbol{v}}_{k}(\bmod\ 2). Note that N(𝒗,𝒄)2=f(𝒗,𝒄){\langle N({\boldsymbol{v}},{\boldsymbol{c}})\rangle}_{2}=f({\boldsymbol{v}},{\boldsymbol{c}}), i.e., f(𝒗,𝒄)f({\boldsymbol{v}},{\boldsymbol{c}}) equals to N(𝒗,𝒄)N({\boldsymbol{v}},{\boldsymbol{c}}) modulo 22. We are ready now to define all models studied in this paper.

Definition 1

. An [n,t,;M1,,Mt]EX:DY,𝒑e[n,t,\ell;M_{1},\dots,M_{t}]^{EX:DY,{\boldsymbol{p}}_{e}} \ell-change tt-write Endurance-Limited Memory (ELM) code with error-probability vector 𝒑e=(pe1,,pet){\boldsymbol{p}}_{e}=(p_{e_{1}},\ldots,p_{e_{t}}), where X,Y{IA,IP,U}X,Y\in\{IA,IP,U\}, is a coding scheme comprising of nn binary cells and is defined by tt encoding and decoding maps (j,𝒟j)(\mathcal{E}_{j},\mathcal{D}_{j}) for 1jt1\leqslant j\leqslant t. For the map j\mathcal{E}_{j}, Im(j)Im(\mathcal{E}_{j}) is its image, where by definition Im(0)={(0,,0)}Im(\mathcal{E}_{0})=\{(0,\ldots,0)\}.

Furthermore, for j[t+1]j\in[t+1], let NjN_{j} and Im(j)Im^{*}(\mathcal{E}_{j}) be the sets of all state-program-count vectors, cell-state vectors which can be obtained after the first jj writes, respectively. Formally, for 1j{1\leqslant j}, Nj={N(𝒗,𝒄):𝒄Im(j),𝒗Nj1}N_{j}=\{N({\boldsymbol{v}},{\boldsymbol{c}}):{\boldsymbol{c}}\in Im(\mathcal{E}_{j}),{\boldsymbol{v}}\in N_{j-1}\}, where N0={(0,,0)}N_{0}=\{(0,\ldots,0)\}, and Im(j)={𝒗2:𝒗Nj}.Im^{*}(\mathcal{E}_{j})=\{{\langle{\boldsymbol{v}}\rangle}_{2}:{\boldsymbol{v}}\in N_{j}\}. Note that for the EIA models Im(j)=Im(j)Im^{*}(\mathcal{E}_{j})=Im(\mathcal{E}_{j}). The domain and the range of the encoding maps are defined as follows:

  1. (1)

    for the EIA models, j:[Mj]×Nj1[2]n,\mathcal{E}_{j}:[M_{j}]\times N_{j-1}\to[2]^{n}, such that for all (m,𝒗)[Mj]×Nj1(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1} it holds that 𝒗+(𝒗2j(m,𝒗))[+1]n{\boldsymbol{v}}+\left({\langle{\boldsymbol{v}}\rangle}_{2}\oplus\mathcal{E}_{j}(m,{\boldsymbol{v}})\right)\in[\ell+1]^{n}.

  2. (2)

    for the EIP models, j:[Mj]×Im(j1)[2]n\mathcal{E}_{j}:[M_{j}]\times Im^{*}(\mathcal{E}_{j-1})\to[2]^{n}.

  3. (3)

    for the EU models, j:[Mj][2]n.\mathcal{E}_{j}:[M_{j}]\to[2]^{n}.

For a message mm we denote by Im(x)I_{m}(x) the indicator function, where Im(x)=0I_{m}(x)=0 if m=xm=x, and otherwise Im(x)=1I_{m}(x)=1. Additionally, for a message m[Mj]m\in[M_{j}], Pr(m)Pr(m) is the probability of programming a message mm on the jj-th write, and for 𝒗Nj1{\boldsymbol{v}}\in N_{j-1}, Pr(𝒗)Pr({\boldsymbol{v}}) is the probability to have cell-program-count vector 𝒗{\boldsymbol{v}} before the jj-th write. The nine models are defined as follows. For all 1jt1\leqslant j\leqslant t,

  1. (1)

    if (X,Y)=(IA,IA)(X,Y)=(IA,IA) then

    𝒟j:{(j(m,𝒗),𝒗):m[Mj],𝒗Nj1}[Mj],\mathcal{D}_{j}:\{(\mathcal{E}_{j}(m,{\boldsymbol{v}}),{\boldsymbol{v}}):m\in[M_{j}],{\boldsymbol{v}}\in N_{j-1}\}\to[M_{j}],
    (m,𝒗)[Mj]×Nj1Pr(m)Pr(𝒗)Im(𝒟j(j(m,𝒗),𝒗))pej,\sum_{(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1}}Pr(m)Pr({\boldsymbol{v}})\cdot I_{m}\left(\mathcal{D}_{j}(\mathcal{E}_{j}(m,{\boldsymbol{v}}),{\boldsymbol{v}})\right)\leqslant p_{e_{j}},
  2. (2)

    if (X,Y)=(IA,IP)(X,Y)=(IA,IP) then

    𝒟j:{(j(m,𝒗),𝒗2):m[Mj],𝒗Nj1}[Mj],\mathcal{D}_{j}:\{(\mathcal{E}_{j}(m,{\boldsymbol{v}}),{\langle{\boldsymbol{v}}\rangle}_{2}):m\in[M_{j}],{\boldsymbol{v}}\in N_{j-1}\}\to[M_{j}],
    (m,𝒗)[Mj]×Nj1Pr(m)Pr(𝒗)Im(𝒟j(j(m,𝒗),𝒗2))pej,\sum_{(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1}}Pr(m)Pr({\boldsymbol{v}})\cdot I_{m}\left(\mathcal{D}_{j}(\mathcal{E}_{j}(m,{\boldsymbol{v}}),{\langle{\boldsymbol{v}}\rangle}_{2})\right)\leqslant p_{e_{j}},
  3. (3)

    if (X,Y)=(IA,U)(X,Y)=(IA,U) then

    𝒟j:Im(j)[Mj],\mathcal{D}_{j}:Im(\mathcal{E}_{j})\to[M_{j}],
    (m,𝒗)[Mj]×Nj1Pr(m)Pr(𝒗)Im(𝒟j(j(m,𝒗)))pej,\sum_{(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1}}Pr(m)Pr({\boldsymbol{v}})\cdot I_{m}\left(\mathcal{D}_{j}(\mathcal{E}_{j}(m,{\boldsymbol{v}}))\right)\leqslant p_{e_{j}},
  4. (4)

    if (X,Y)=(IP,IA)(X,Y)=(IP,IA) then

    𝒟j:{(f(𝒗,j(m,𝒗2)),𝒗):m[Mj],𝒗Nj1}[Mj],\mathcal{D}_{j}:\{(f({\boldsymbol{v}},\mathcal{E}_{j}(m,{\langle{\boldsymbol{v}}\rangle}_{2})),{\boldsymbol{v}}):m\in[M_{j}],{\boldsymbol{v}}\in N_{j-1}\}\to[M_{j}],
    (m,𝒗)[Mj]×Nj1Pr(m)Pr(𝒗)Im(𝒟j(f(𝒗,j(m,𝒗2)),𝒗))pej,\sum_{(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1}}Pr(m)Pr({\boldsymbol{v}})\cdot I_{m}\left(\mathcal{D}_{j}(f({\boldsymbol{v}},\mathcal{E}_{j}(m,{\langle{\boldsymbol{v}}\rangle}_{2})),{\boldsymbol{v}})\right)\leqslant p_{e_{j}},
  5. (5)

    if (X,Y)=(IP,IP)(X,Y)=(IP,IP) then

    𝒟j:{(f(𝒗,j(m,𝒗2)),𝒗2):m[Mj],𝒗Nj1}[Mj],\mathcal{D}_{j}:\{(f({\boldsymbol{v}},\mathcal{E}_{j}(m,{\langle{\boldsymbol{v}}\rangle}_{2})),{\langle{\boldsymbol{v}}\rangle}_{2}):m\in[M_{j}],{\boldsymbol{v}}\in N_{j-1}\}\to[M_{j}],
    (m,𝒗)[Mj]×Nj1Pr(m)Pr(𝒗)Im(𝒟j(f(𝒗,j(m,𝒗2)),𝒗2))pej,\sum_{(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1}}Pr(m)Pr({\boldsymbol{v}})\cdot I_{m}\left(\mathcal{D}_{j}(f({\boldsymbol{v}},\mathcal{E}_{j}(m,{\langle{\boldsymbol{v}}\rangle}_{2})),{\langle{\boldsymbol{v}}\rangle}_{2})\right)\leqslant p_{e_{j}},
  6. (6)

    if (X,Y)=(IP,U)(X,Y)=(IP,U) then

    𝒟j:Im(j)[Mj],\mathcal{D}_{j}:Im^{*}(\mathcal{E}_{j})\to[M_{j}],
    (m,𝒗)[Mj]×Nj1Pr(m)Pr(𝒗)Im(𝒟j(f(𝒗,j(m,𝒗2))))pej,\sum_{(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1}}Pr(m)Pr({\boldsymbol{v}})\cdot I_{m}\left(\mathcal{D}_{j}(f({\boldsymbol{v}},\mathcal{E}_{j}(m,{\langle{\boldsymbol{v}}\rangle}_{2})))\right)\leqslant p_{e_{j}},
  7. (7)

    if (X,Y)=(U,IA)(X,Y)=(U,IA) then

    𝒟j:{(f(𝒗,j(m)),𝒗):m[Mj],𝒗Nj1}[Mj],\mathcal{D}_{j}:\{(f({\boldsymbol{v}},\mathcal{E}_{j}(m)),{\boldsymbol{v}}):m\in[M_{j}],{\boldsymbol{v}}\in N_{j-1}\}\to[M_{j}],
    (m,𝒗)[Mj]×Nj1Pr(m)Pr(𝒗)Im(𝒟j(f(𝒗,j(m))𝒗))pej,\sum_{(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1}}Pr(m)Pr({\boldsymbol{v}})\cdot I_{m}\left(\mathcal{D}_{j}(f({\boldsymbol{v}},\mathcal{E}_{j}(m)){\boldsymbol{v}})\right)\leqslant p_{e_{j}},
  8. (8)

    if (X,Y)=(U,IP)(X,Y)=(U,IP) then

    𝒟j:{(f(𝒗,j(m)),𝒗2):m[Mj],𝒗Nj1}[Mj],\mathcal{D}_{j}:\{(f({\boldsymbol{v}},\mathcal{E}_{j}(m)),{\langle{\boldsymbol{v}}\rangle}_{2}):m\in[M_{j}],{\boldsymbol{v}}\in N_{j-1}\}\to[M_{j}],
    (m,𝒗)[Mj]×Nj1Pr(m)Pr(𝒗)Im(𝒟j(f(𝒗,j(m))𝒗2))pej,\sum_{(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1}}Pr(m)Pr({\boldsymbol{v}})\cdot I_{m}\left(\mathcal{D}_{j}(f({\boldsymbol{v}},\mathcal{E}_{j}(m)){\langle{\boldsymbol{v}}\rangle}_{2})\right)\leqslant p_{e_{j}},
  9. (9)

    if (X,Y)=(U,U)(X,Y)=(U,U) then

    𝒟j:Im(j)[Mj],\mathcal{D}_{j}:Im^{*}(\mathcal{E}_{j})\to[M_{j}],
    (m,𝒗)[Mj]×Nj1Pr(m)Pr(𝒗)Im(𝒟j(f(𝒗,j(m))))pej.\sum_{(m,{\boldsymbol{v}})\in[M_{j}]\times N_{j-1}}Pr(m)Pr({\boldsymbol{v}})\cdot I_{m}\left(\mathcal{D}_{j}(f({\boldsymbol{v}},\mathcal{E}_{j}(m)))\right)\leqslant p_{e_{j}}.

If pej=0p_{e_{j}}=0 for all 1jt1\leqslant j\leqslant t, then the code is called a zero-error ELM code and is denoted by [n,t,;M1,,Mt]EX:DY,z[n,t,\ell;M_{1},\ldots,M_{t}]^{EX:DY,z}.

The rate on the jj-th write of an [n,t,;M1,,Mt]EX:DY,𝒑e[n,t,\ell;M_{1},\dots,M_{t}]^{EX:DY,{\boldsymbol{p}}_{e}} ELM code, X,Y{IA,IP,U}X,Y\in\{IA,IP,U\}, is defined as Rj=logMjnR_{j}=\frac{\log M_{j}}{n}, and the sum-rate is the sum of the individual rates on all writes, Rsum=j=1tRjR_{sum}=\sum_{j=1}^{t}R_{j}. A rate tuple 𝐑=(R1,,Rt){\mathbf{R}}=(R_{1},\ldots,R_{t}) is called ϵ\epsilon-error achievable in model EX:DYEX:DY, if for all ϵ>0\epsilon>0 there exists an [n,t,;M1,,Mt]EX:DY,𝒑e[n,t,\ell;M_{1},\ldots,M_{t}]^{{EX:DY},{\boldsymbol{p}}_{e}} ELM code with error-probability vector 𝒑e=(pe1,,pet)(ϵ,,ϵ){\boldsymbol{p}}_{e}=(p_{e_{1}},\ldots,p_{e_{t}})\leqslant(\epsilon,\ldots,\epsilon), such that logMjnRjϵ\frac{\log M_{j}}{n}\geqslant R_{j}-\epsilon. The rate tuple 𝐑{\mathbf{R}} will be called zero-error achievable if for all 1jt1\leqslant j\leqslant t, pej=0p_{e_{j}}=0. The ϵ\epsilon-error capacity region of the EX:DY model is the set of all ϵ\epsilon-error achievable rate tuples, that is,

𝒞t,EX:DY,ϵ={(R1,,Rt)|(R1,,Rt) is ϵ-error achievable},{\cal{C}}^{EX:DY,\epsilon}_{t,\ell}=\{(R_{1},\dots,R_{t})|\text{$(R_{1},\ldots,R_{t})$ is $\epsilon$-error achievable}\},

and the ϵ\epsilon-error maximum sum-rate will be denoted by t,EX:DY,ϵ{\cal R}^{EX:DY,\epsilon}_{t,\ell}. The zero-error capacity region 𝒞t,EX:DY,z{\cal{C}}_{t,\ell}^{EX:DY,z} and the zero-error maximum sum-rate t,EX:DY,z{\cal R}_{t,\ell}^{EX:DY,z} are defined similarly. We say that 𝐑𝐑{\mathbf{R}}\leqslant{\mathbf{R}}^{\prime} for 𝐑=(R1,,Rt){\mathbf{R}}=(R_{1},\ldots,R_{t}) and 𝐑=(R1,,Rt){\mathbf{R}}^{\prime}=(R_{1}^{\prime},\ldots,R_{t}^{\prime}) if RjRjR_{j}\leqslant R_{j}^{\prime} for all 1jt1\leqslant j\leqslant t, and 𝐑<𝐑{\mathbf{R}}<{\mathbf{R}}^{\prime} if 𝐑𝐑{\mathbf{R}}\leqslant{\mathbf{R}}^{\prime} and 𝐑𝐑{\mathbf{R}}\neq{\mathbf{R}}^{\prime}.

According to these definitions it is easy to verify the following relations. For g{z,ϵ}g\in\{z,\epsilon\} and X,Y{IA,IP,U}X,Y\in\{IA,IP,U\} it holds that

𝒞t,EU:DY,g𝒞t,EIP:DY,g𝒞t,EIA:DY,g,\displaystyle{\cal{C}}^{EU:DY,g}_{t,\ell}\subseteq{\cal{C}}^{EIP:DY,g}_{t,\ell}\subseteq{\cal{C}}^{EIA:DY,g}_{t,\ell},
𝒞t,EX:DU,g𝒞t,EX:DIP,g𝒞t,EX:DIA,g,and\displaystyle{\cal{C}}^{EX:DU,g}_{t,\ell}\subseteq{\cal{C}}^{EX:DIP,g}_{t,\ell}\subseteq{\cal{C}}^{EX:DIA,g}_{t,\ell},\text{and}
𝒞t,EX:DY,z𝒞t,EX:DY,ϵ.\displaystyle{\cal{C}}^{EX:DY,z}_{t,\ell}\subseteq{\cal{C}}^{EX:DY,\epsilon}_{t,\ell}.

Similar connections hold for the maximum sum-rates.

Note that if t\ell\geqslant t then all problems are trivial since it is possible to program all cells on each write, so the capacity region in all models is [0,1]t[0,1]^{t} and the maximum sum-rate is tt. For =1,\ell=1, we get the classical and well-studied WOM codes [3, 11, 12, 18, 22, 24]. In this case, we also notice that the IA and IP models are the same for both the encoder and the decoder. The capacity region and the maximum sum-rate in most of these cases are known; see e.g. [11, 12, 18, 24]. In the rest of this paper, and unless stated otherwise, we assume that 1<t1\leqslant\ell<t.

II-A Related Work

The EIA models of ELM codes studied in this paper are strongly related to non-binary WOM codes and their modified versions studied in [9, 12, 14, 4]. In these EIA models, we can treat every cell as an (+1)(\ell+1)-ary cell, where it is only possible to increase its level by one on each write, while its maximum level is \ell. In non-binary WOM codes, each cell has qq levels and its level can not be decreased[9, 12]. In a write \ell-step-up memory[4], a special version of the non-binary WOM code, each cell has qq levels and each time we write a cell, its level can be increased by at most some value \ell. Recently, Kobayashi et al. [14] also studied a modified version of non-binary WOM codes, called write constrained memories, where there is a cost on each state transition. Yet, these codes are not identical and we can not apply previous results to solve the models of ELM codes. In fact, our results on EIA models are useful to obtain an explicit formula of the capacity region of write \ell-step-up memory codes. We also note that some models of ELM codes, such as the EIP:DU model, are much different from previous models and are difficult to solve.

Moreover, our proposed ELM coding scheme is also related to the cooling code which is used to control the peak temperature of an interconnect[2, 3]. In [2], cooling codes are proposed to avoid all hottest wires and in [3], cooling codes are shown to be equivalent to two-write binary WOM codes. Later in this work, we will use cooling codes as two-write binary WOM codes in order to construct our ELM codes. Now, we discuss the ability of our ELM codes to control the peak temperature of an interconnection. In fact, using our coding scheme in this work, we can control the maximal number of switches in each wire. We note that the temperature of each wire is closely related to the number of switches in each wire. And thus, we can control the peak temperature of each wire.

Recently, the EIA:DIA model of ELM is shown to be useful for two-dimensional (2D) weight-constrained code scheme [16]. In a 2D weight-constrained code, each codeword is an array of size m×nm\times n where the number of 1 symbols in each row and each column is limited by pnpn and qmqm, respectively. The encoder and decoder know the values of all the mnmn bits. We can view this 2D weight-constrained code as we write mm messages in ReRAM where each cell can be switched at most qmqm times and both encoder and decoder know all previous messages.

II-B Our Contribution

In this work, we propose a novel scheme of rewriting code to improve the endurance lifetime of ReRAM, called endurance limited memories (ELM) code. In \ell-change tt-write ELM codes, each cell can be programmed at most \ell times during the writing of tt messages. In the case that \ell is much smaller than tt, we can significantly improve the lifetime of the memories. Depending upon whether the encoder (E) and decoder (D) know the number of times each cell is programmed (IA), the current state of each cell (IP), or have no information on the state of each cell (U), we present and investigate all nine models EX:DYEX:DY where X,Y{IA,IP,U}X,Y\in\{IA,IP,U\}. We note that the most practical model to increase the endurance of ReRAM is the EIP:DU model. However, for the theoretical interest, we study all nine models in this paper. Furthermore, although the EIA models are not suitable for improving the endurance of ReRAM, they have several applications, including write \ell-step-up memories and two-dimensional weight-constrained codes. We expect that we can see other applications of all nine models of ELM codes in near future.

In Section III, all three EIA models are investigated in both cases, ϵ\epsilon-error and zero-error. We first provide the capacity region and the maximum sum-rate of these models. The techniques are used to achieve the results on the capacity regions in Theorems  2 and 3 are similar to those used in [12] for WOM codes. To achieve the explicit formula of the maximum sum-rate in Theorem  4, we need a new simple technique. We then present several constructions of ELM codes for the EIA models. To construct these codes, we need some new ideas even though we also use several special families of WOM codes as components of our ELM codes. In Section IV, we use a known technique in information theory to obtain the capacity region of the EIP:DIA model. The capacity region of all EIA models is compared to the EIP:DIA model in Section V. Using the same technique carefully, we can also find the capacity region of the EU:DIA model in Section VI. Finally, in Section VII, we study the most practical model for ReRAM, the EIP:DU model. Although several good bounds on the maximum sum-rate are presented, these bounds are not tight and finding an exact formula of the maximum sum-rate of the EIP:DU model is still an open problem. To achieve some good constructive lower bounds, we provide several constructions of EIP:DU ELM codes for the zero-error case. These results are novel and we need different original methods to achieve them.

III The EIA Models

In this section, we explore the capacity region and the maximum sum-rate of the EIA models for both the ϵ\epsilon-error and the zero-error cases. We also propose capacity achieving codes for these cases.

For each j[t+1]j\in[t+1], we let 𝒄j{\boldsymbol{c}}_{j} denote the binary length-nn vector which represents the cell-state vector after the jj-th write, where 𝒄0=𝟎{\boldsymbol{c}}_{0}=\bf 0. Recall that in the EIA models, on the jj-th write the encoder knows the number of times each cell was programmed before the current write. That is, the encoder receives as an input a length-nn cell-program-count vector N(𝒄j1)[+1]nN({\boldsymbol{c}}_{j-1})\in[\ell+1]^{n} that represents the number of times each cell was programmed so far. Next, for all tt and ,\ell, we define the region 𝒞t,{\cal{C}}_{t,\ell} and in Theorem 2, we prove that this is the capacity region of all the EIA models.

For 1jt1\leqslant j\leqslant t and i[+1]i\in[\ell+1], iji\leqslant j, let pj,i[0,0.5]p_{j,i}\in[0,0.5], be the probability to program a cell on the jj-th write, given that this cell has been already programmed ii times. We define pj,j=pj,=0p_{j,j}=p_{j,\ell}=0 for 1jt1\leqslant j\leqslant t, and let Qj,iQ_{j,i} be the probability that a cell has been programmed exactly ii times on the first jj writes. Formally, Qj,iQ_{j,i} is defined recursively by using pj,ip_{j,i} and pj,i1p_{j,i-1} as follows:

Qj,i={Qj1,i(1pj,i)+Qj1,i1pj,i1,if i>0,Qj1,i(1pj,i),if i=0,\begin{array}[]{rl}Q_{j,i}&=\begin{cases}Q_{j-1,i}(1-p_{j,i})+Q_{j-1,i-1}p_{j,i-1},&\text{if }i>0,\\ Q_{j-1,i}(1-p_{j,i}),&\text{if }i=0,\end{cases}\\ \end{array} (1)

where for j=0j=0 we set Q0,0=1Q_{0,0}=1 otherwise Q0,i=0Q_{0,i}=0. The rates region 𝒞t,{\cal{C}}_{t,\ell} is defined as follows:

𝒞t,={(R1,,Rt)|1jt:Rji=0min{,j}1Qj1,ih(pj,i),i[]:pj,i[0,0.5], andQj,i is defined in (1)},\begin{array}[]{ll}{\cal{C}}_{t,\ell}=\Big{\{}(R_{1},\ldots,R_{t})|\forall 1\leqslant j\leqslant t:R_{j}\leqslant\sum_{i=0}^{\min\{\ell,j\}-1}Q_{j-1,i}h(p_{j,i}),\\ \hskip 34.44434pt\forall i\in[\ell]:p_{j,i}\in[0,0.5],\text{ and}\ Q_{j,i}\text{ is defined in (\ref{eq:EIA:DIqProbFunc})}\Big{\}},\end{array} (2)

where in this paper h(x),H(X)h(x),H(X) is the binary entropy function where 0x10\leqslant x\leqslant 1, XX is a random variable, respectively.

Note that for =1\ell=1, it is possible to verify that we get the capacity region of WOM [11, 18, 24]. It is also readily verified that the maximum sum-rate is achieved with pj,i=0.5p_{j,i}=0.5 for all tj+1it-j+1\geqslant\ell-i, since tj+1t-j+1 is the number of the remaining writes, and i\ell-i is the number of times the cell can be programmed. Thus, if tj+1it-j+1\geqslant\ell-i then we can program the cell with probability 0.50.5 to obtain the maximum rate. The next theorem proves that for 2t12\leqslant\ell\leqslant t-1, 𝒞t,{\cal{C}}_{t,\ell} is the capacity region of the \ell-change tt-write ELM in all EIA models, and thus we denote this capacity by 𝒞t,EIA{\cal{C}}_{t,\ell}^{EIA}, and the maximum sum-rate by t,EIA{\cal R}_{t,\ell}^{EIA}.

Theorem 2

. The rates region 𝒞t,{\cal{C}}_{t,\ell} is the capacity region of the \ell-change tt-write ELM in all EIA models for both ϵ\epsilon-error and zero-error cases. That is, for all g{z,ϵ}g\in\{z,\epsilon\} and Y{IA,IP,U}Y\in\{IA,IP,U\}, 𝒞t,EIA:DY,g=𝒞t,.{\cal{C}}_{t,\ell}^{EIA:DY,g}={\cal{C}}_{t,\ell}.

Proof:

Recall that by the definitions of the models

𝒞t,EIA:DU,z𝒞t,EIA:DIP,z𝒞t,EIA:DIA,z𝒞t,EIA:DIA,ϵ,and\displaystyle{\cal{C}}^{EIA:DU,z}_{t,\ell}\subseteq{\cal{C}}^{EIA:DIP,z}_{t,\ell}\subseteq{\cal{C}}^{EIA:DIA,z}_{t,\ell}\subseteq{\cal{C}}^{EIA:DIA,\epsilon}_{t,\ell},\text{and}
𝒞t,EIA:DU,z𝒞t,EIA:DU,ϵ𝒞t,EIA:DIP,ϵ𝒞t,EIA:DIA,ϵ.\displaystyle{\cal{C}}^{EIA:DU,z}_{t,\ell}\subseteq{\cal{C}}^{EIA:DU,\epsilon}_{t,\ell}\subseteq{\cal{C}}^{EIA:DIP,\epsilon}_{t,\ell}\subseteq{\cal{C}}^{EIA:DIA,\epsilon}_{t,\ell}.

The rest of the proof consists of two parts. The first part, called the direct part, proves that 𝒞t,𝒞t,EIA:DU,z{\cal{C}}_{t,\ell}\subseteq{\cal{C}}_{t,\ell}^{EIA:DU,z}, and in the second, called the converse part, we prove that 𝒞t,EIA:DIA,ϵ𝒞t,{\cal{C}}_{t,\ell}^{EIA:DIA,\epsilon}\subseteq{\cal{C}}_{t,\ell}. The direct part is proved in Subsection III-A for the zero-error case of the EIA:DU model, while the converse part is proved in Subsection III-B for the ϵ\epsilon-error case of the EIA:DIA model. ∎

Next, we seek to present the capacity region of the EIA models in a recursive form. While we see this representation of the capacity region more intuitive, it will also help us in finding the maximum sum-rate of this model. For all t1t\geqslant 1 and 1\ell\geqslant 1, let 𝒞^t,{\widehat{{\cal{C}}}}_{t,\ell} be the following region which is defined recursively as follows. For t>1t>\ell\geqslant 1

𝒞^t,={\displaystyle\widehat{{\cal{C}}}_{t,\ell}=\Big{\{} (R1,,Rt)|R1h(p),p[0,0.5],\displaystyle(R_{1},\ldots,R_{t})|R_{1}\leqslant h(p),p\in[0,0.5],
for 2jt,RjpRj+(1p)Rj′′,\displaystyle\text{for }2\leqslant j\leqslant t,R_{j}\leqslant pR_{j}^{\prime}+(1-p)R_{j}^{\prime\prime},
(R2,,Rt)𝒞^t1,1 and (R2′′,,Rt′′)𝒞^t1,},\displaystyle(R_{2}^{\prime},\ldots,R_{t}^{\prime})\in\widehat{{\cal{C}}}_{t-1,\ell-1}\text{ and }(R_{2}^{\prime\prime},\ldots,R_{t}^{\prime\prime})\in\widehat{{\cal{C}}}_{t-1,\ell}\Big{\}}, (3)

where for all t1\ell\geqslant t\geqslant 1 we set 𝒞^t,=[0,1]t\widehat{{\cal{C}}}_{t,\ell}=[0,1]^{t} and 𝒞^t,0={𝟎}\widehat{{\cal{C}}}_{t,0}=\{\bf 0\}.

Theorem 3

. For all tt and \ell, 𝒞^t,=𝒞t,\widehat{{\cal{C}}}_{t,\ell}={{\cal{C}}}_{t,\ell}.

Proof:

For the first direction, we prove by induction on tt that for all 1\ell\geqslant 1, if 𝐑=(R1,,Rt)=𝒞^t,{\mathbf{R}}=(R_{1},\ldots,R_{t})=\widehat{{\cal{C}}}_{t,\ell} then 𝐑𝒞t,EIA:DIA,ϵ{\mathbf{R}}\in{\cal{C}}^{EIA:DIA,\epsilon}_{t,\ell}. Since 𝒞t,EIA:DIA,ϵ=𝒞t,{\cal{C}}^{EIA:DIA,\epsilon}_{t,\ell}={{\cal{C}}}_{t,\ell}, we conclude that 𝒞^t,𝒞t,\widehat{{\cal{C}}}_{t,\ell}\subseteq{{\cal{C}}}_{t,\ell}.

The base of the induction is tt\leqslant\ell for all 1\ell\geqslant 1. These cases are readily verified. For the induction step, let 𝐑=(R1,R2,,Rt)𝒞^t,{\mathbf{R}}=(R_{1},R_{2},\ldots,R_{t})\in\widehat{{\cal{C}}}_{t,\ell}, 1<t1\leqslant\ell<t, such that R1=h(p)R_{1}=h(p) for p[0,0.5]p\in[0,0.5] and for 2jt2\leqslant j\leqslant t Rj=pRj+(1p)Rj′′R_{j}=pR_{j}^{\prime}+(1-p)R_{j}^{\prime\prime} where (R2,R3,,Rt)𝒞^t1,1(R_{2}^{\prime},R_{3}^{\prime},\ldots,R_{t}^{\prime})\in\widehat{{\cal{C}}}_{t-1,\ell-1} and (R2′′,R3′′,,Rt′′)𝒞^t1,(R_{2}^{\prime\prime},R_{3}^{\prime\prime},\ldots,R_{t}^{\prime\prime})\in\widehat{{\cal{C}}}_{t-1,\ell}. By the induction hypothesis, (R2,R3,,Rt)𝒞t1,1EIA:DI(R_{2}^{\prime},R_{3}^{\prime},\ldots,R_{t}^{\prime})\in{\cal{C}}^{EIA:DI}_{t-1,\ell-1} and (R2′′,R3′′,,Rt′′)𝒞t1,EIA:DI(R_{2}^{\prime\prime},R_{3}^{\prime\prime},\ldots,R_{t}^{\prime\prime})\in{\cal{C}}^{EIA:DI}_{t-1,\ell}. Thus, we have two codes: C1C_{1} - an (1)(\ell-1)-change (t1)(t-1)-write ELM code which achieves the rate tuple (R2,R3,,Rt)(R_{2}^{\prime},R_{3}^{\prime},\ldots,R_{t}^{\prime}) and C2C_{2} - an \ell-change (t1)(t-1)-write ELM code which achieves the rate tuple (R2′′,R3′′,,Rt′′)(R_{2}^{\prime\prime},R_{3}^{\prime\prime},\ldots,R_{t}^{\prime\prime}). Then, we can design an \ell-change tt-write ELM code, such that on the first write the encoder programs a cell with probability pp for p[0,0.5]p\in[0,0.5], and then on the next writes it applies C1C_{1} for the cells that were programmed on the first write, and C2C_{2} for the other cells. Thus, the rate tuple 𝐑{\mathbf{R}} is achieved.

The second direction, 𝒞t,𝒞^t,{{\cal{C}}}_{t,\ell}\subseteq\widehat{{\cal{C}}}_{t,\ell}, is proved by induction on tt, that is, for each t1t\geqslant 1 we prove that 𝒞t,𝒞^t,{{\cal{C}}}_{t,\ell}\subseteq\widehat{{\cal{C}}}_{t,\ell} for all 1t1\leqslant\ell\leqslant t. The base of the induction, t=1t=1 and =1\ell=1, is trivial. The induction assumption is that for each 1t11\leqslant\ell^{\prime}\leqslant t-1, 𝒞t1,𝒞^t1,{{\cal{C}}}_{t-1,\ell^{\prime}}\subseteq\widehat{{\cal{C}}}_{t-1,\ell^{\prime}}. For the induction step, let 𝐑=(R1,R2,,Rt)𝒞t,{\mathbf{R}}=(R_{1},R_{2},\ldots,R_{t})\in{{\cal{C}}}_{t,\ell} which is achieved by the probabilities pj,ip_{j,i}. Denote by 𝐑=(R2,R3,,Rt)𝒞t1,1{\mathbf{R}}^{\prime}=(R_{2}^{\prime},R_{3}^{\prime},\ldots,R_{t}^{\prime})\in{{\cal{C}}}_{t-1,\ell-1} the rate tuple which is attained by the probabilities pj,i=pj+1,i+1p^{\prime}_{j,i}=p_{j+1,i+1}, and by 𝐑′′=(R2′′,R3′′,,Rt′′)𝒞t1,{\mathbf{R}}^{\prime\prime}=(R_{2}^{\prime\prime},R_{3}^{\prime\prime},\ldots,R_{t}^{\prime\prime})\in{{\cal{C}}}_{t-1,\ell} the rate tuple which is attained by the probabilities pj,i′′=pj+1,ip^{\prime\prime}_{j,i}=p_{j+1,i}. Recall that we define 𝒞^t1,t=𝒞^t1,t1\widehat{{\cal{C}}}_{t-1,t}=\widehat{{\cal{C}}}_{t-1,t-1}, and 𝒞^t1,0={𝟎}\widehat{{\cal{C}}}_{t-1,0}=\{\bf 0\}. It can be easily verified that for all jj, 2jt2\leqslant j\leqslant t, Rj=p1,0Rj+(1p1,0)Rj′′R_{j}=p_{1,0}R_{j}^{\prime}+(1-p_{1,0})R_{j}^{\prime\prime}. By the induction hypothesis, 𝐑𝒞^t1,1{\mathbf{R}}^{\prime}\in\widehat{{\cal{C}}}_{t-1,\ell-1} and 𝐑′′𝒞^t1,{\mathbf{R}}^{\prime\prime}\in\widehat{{\cal{C}}}_{t-1,\ell}. Thus, by defining p=p1,0p=p_{1,0} we get a recursive form for 𝐑{\mathbf{R}}, and we can conclude that 𝒞t,𝒞^t,{{\cal{C}}}_{t,\ell}\subseteq\widehat{{\cal{C}}}_{t,\ell}. ∎

Next, using the result from Theorem 3, it is possible to find the maximum sum-rate of the EIA models, t,EIA{\cal R}^{EIA}_{t,\ell}.

Theorem 4

. For all tt and \ell,

t,EIA=logi=0(ti),{\cal R}^{EIA}_{t,\ell}=\log\sum_{i=0}^{\ell}{t\choose i},

and this value is achieved for

p1,0=p=i=01(t1i)i=0(ti),p_{1,0}=p=\frac{\sum_{i=0}^{\ell-1}{t-1\choose i}}{\sum_{i=0}^{\ell}{t\choose i}},

where p1,0p_{1,0}, pp are defined in Equations (2), (III) in 𝒞t,{\cal{C}}_{t,\ell}, 𝒞^t,\widehat{{\cal{C}}}_{t,\ell}, respectively. For example, if =2\ell=2 the maximum sum-rate is achieved for p1,0=p=2tt2+t+2p_{1,0}=p=\frac{2t}{t^{2}+t+2}.

Proof:

First, we prove that t,EIAlogi=0(ti){\cal R}^{EIA}_{t,\ell}\leqslant\log\sum_{i=0}^{\ell}{\binom{t}{i}} by counting all the possible sequences of tt messages. We describe each possible sequence as a table of tt rows and nn columns, where nn is the number of cells. Note that different sequences will be mapped to different matrices. Recall, that every cell can be programmed at most \ell times. Thus, the number of different possible matrices is (i=0(ti))n,\left(\sum_{i=0}^{\ell}{\binom{t}{i}}\right)^{n}, and the upper bound is proved.

Next we assure that this upper bound is indeed tight. We prove this result by using the recursive formula for the capacity 𝒞^t,\widehat{{\cal{C}}}_{t,\ell} described in Equation (III). For =1\ell=1, W\ellM is the binary WOM, and this upper bound, log(t+1)\log(t+1) is known to be tight, and achieved for p=1/(t+1)p=1/(t+1) [11, 9, 24]. That is, the maximum sum-rate of one-change tt-write W\ellM is equal to logi=0(ti)=log(t+1)\log\sum_{i=0}^{\ell}{t\choose i}=\log(t+1). Let us denote Xt,=i=0(ti)X_{t,\ell}=\sum_{i=0}^{\ell}{t\choose i} and p=Xt1,1Xt,p=\frac{X_{t-1,\ell-1}}{X_{t,\ell}}. Note that by the properties of the binomial coefficients, Xt,=Xt1,1+Xt1,X_{t,\ell}=X_{t-1,\ell-1}+X_{t-1,\ell}. Therefore, 1p=Xt1,Xt,1-p=\frac{X_{t-1,\ell}}{X_{t,\ell}}. By using the recursive formula for the capacity 𝒞^t,\widehat{{\cal{C}}}_{t,\ell} described in Equation (III), we are only left to prove that for all 2t12\leqslant\ell\leqslant t-1,

logXt,=h(p)+plogXt1,1+(1p)logXt1,.\log X_{t,\ell}=h(p)+p\log X_{t-1,\ell-1}+(1-p)\log X_{t-1,\ell}.

This relation holds since

h(p)+plogXt1,1+(1p)logXt1,=p(log(Xt,Xt1,1)+log(Xt1,1))+(1p)(log(Xt,Xt1,)+log(Xt1,))=plogXt,+(1p)log(Xt,)=log(Xt,).\begin{array}[]{l}h(p)+p\log X_{t-1,\ell-1}+(1-p)\log X_{t-1,\ell}\\ =p\left(\log\left(\frac{X_{t,\ell}}{X_{t-1,\ell-1}}\right)+\log(X_{t-1,\ell-1})\right)\\ +(1-p)\left(\log\left(\frac{X_{t,\ell}}{X_{t-1,\ell}}\right)+\log(X_{t-1,\ell})\right)\\ =p\log X_{t,\ell}+(1-p)\log(X_{t,\ell})\\ =\log(X_{t,\ell}).\end{array}

III-A The EIA:DU Model - Constructions and Direct Part of Theorem 2

In this subsection, we study the EIA:DU model, that is, encoder informed all and decoder uninformed. Our main contribution is a construction of a capacity-achieving \ell-change tt-write EIA:DU-ELM code for the zero-error case, which assures that 𝒞t,𝒞t,EIA:DU,z{\cal{C}}_{t,\ell}\subseteq{\cal{C}}_{t,\ell}^{EIA:DU,z}. That is, the direct part of Theorem 2 is proved.

Let us start with the first non-trivial case of t=3t=3 and =2\ell=2. Thus, we want to prove that 𝒞3,2𝒞3,2EIA:DU,z{\cal{C}}_{3,2}\subseteq{\cal{C}}_{3,2}^{EIA:DU,z}. Recall that,

𝒞3,2={(R1,R2,R3)|\displaystyle{\cal{C}}_{3,2}=\Big{\{}(R_{1},R_{2},R_{3})| R1h(p1,0),\displaystyle R_{1}\leqslant h(p_{1,0}),
R21p1,0+p1,0h(p2,1),\displaystyle R_{2}\leqslant 1-p_{1,0}+p_{1,0}h(p_{2,1}),
R31p1,0p2,1, and p1,0,p2,1[0,0.5]}.\displaystyle R_{3}\leqslant 1-p_{1,0}p_{2,1},\text{ and }p_{1,0},p_{2,1}\in[0,0.5]\Big{\}}.

which is achieved by setting p3,0=p3,1=p2,0=0.5p_{3,0}=p_{3,1}=p_{2,0}=0.5 in Equation (2). The next theorem states the existence of a construction of ELM codes for this case.

Theorem 5

. For any ϵ>0\epsilon>0 and p1,0,p2,0,p2,1[0,0.5]p_{1,0},p_{2,0},p_{2,1}\in[0,0.5], there exists an explicit construction of a zero-error two-change three-write EIA:DU-ELM code satisfying R1h(p1,0)ϵR_{1}\geqslant h(p_{1,0})-\epsilon, R2(1p1,0)h(p2,0)+p1,0h(p2,1)ϵR_{2}\geqslant(1-p_{1,0})h(p_{2,0})+p_{1,0}h(p_{2,1})-\epsilon, and R3(1p1,0p2,1)ϵR_{3}\geqslant(1-p_{1,0}p_{2,1})-\epsilon.

Before presenting our construction for two-change three-write EIA:DU-ELM codes, we introduce the following family of WOM codes. We then use these WOM codes as component codes in our construction of EIA:DU-ELM codes. Note that the WOM codes we use for our construction are given for nn\to\infty, and thus our constructions for ELM codes use such nn.

Definition 6

. An [n,2;M1,M2]qEI:DU,z[n,2;M_{1},M_{2}]_{q}^{EI:DU,z} two-write qq-ary EI:DU WOM code for the zero-error case is a coding scheme comprising of nn qq-ary cells. It consists of two pairs of encoding and decoding maps (q,1,𝒟q,1)(\mathcal{E}_{q,1},\mathcal{D}_{q,1}) and (q,2,𝒟q,2)(\mathcal{E}_{q,2},\mathcal{D}_{q,2}) which are defined as follows:

  1. (1)

    q,1:[M1][q]n\mathcal{E}_{q,1}:[M_{1}]\to[q]^{n} and 𝒟q,1:Im(q,1)[M1]\mathcal{D}_{q,1}:Im(\mathcal{E}_{q,1})\to[M_{1}] such that for all m1[M1]m_{1}\in[M_{1}], 𝒟q,1(q,1(m1))=m1\mathcal{D}_{q,1}(\mathcal{E}_{q,1}(m_{1}))=m_{1}.

  2. (2)

    q,2:[M2]×Im(q,1)[q]n\mathcal{E}_{q,2}:[M_{2}]\times Im(\mathcal{E}_{q,1})\to[q]^{n} and 𝒟q,2:Im(q,2)[M2]\mathcal{D}_{q,2}:Im(\mathcal{E}_{q,2})\to[M_{2}] such that for all (m2,𝒄)[M2]×Im(q,1)(m_{2},{\boldsymbol{c}})\in[M_{2}]\times Im(\mathcal{E}_{q,1}), q,2(m2,𝒄)𝒄\mathcal{E}_{q,2}(m_{2},{\boldsymbol{c}})\geqslant{\boldsymbol{c}} and 𝒟q,2(q,2(m2,𝒄))=m2\mathcal{D}_{q,2}(\mathcal{E}_{q,2}(m_{2},{\boldsymbol{c}}))=m_{2}.

We say that 𝒑=(p0,p1,,pm1){\boldsymbol{p}}=(p_{0},p_{1},\ldots,p_{m-1}) is a probability vector if i=0m1pi=1\sum_{i=0}^{m-1}p_{i}=1 and pi0p_{i}\geqslant 0 for all i[m]i\in[m]. We distinguish between an error-probability vector that is used in Definition 1, and a probability vector. An error-probability vector is a vector of error-probabilities, and not a probability vector, i.e., the sum of the elements of an error-probability vector does not need be 1. For two positive integers n,qn,q and a probability vector 𝒑=(p0,p1,,pq1){\boldsymbol{p}}=(p_{0},p_{1},\ldots,p_{q-1}), we denote by (n,𝒑)\mathcal{B}(n,{\boldsymbol{p}}) the set of all length-nn qq-ary vectors of constant composition 𝒘=(w0,,wq1){\boldsymbol{w}}=(w_{0},\ldots,w_{q-1}), where wi=pinw_{i}=p_{i}n for i[q]i\in[q] 111We assume here that pip_{i} is a rational number and nn is large enough such that pinp_{i}n is an integer for i[q]i\in[q].. Let pj,ikp_{j,i\rightarrow k} be the probability that on the jj-th write, a cell in state ii is programmed to state kk, kik\geqslant i.

A family of two-write qq-ary capacity-achieving EI:DU WOM codes was constructed recently by Shpilka [22]. Particularly, given ϵ>0\epsilon>0 and probability vectors 𝒑1,0,𝒑2,0,,𝒑2,q2{\boldsymbol{p}}_{1,0},{\boldsymbol{p}}_{2,0},\ldots,{\boldsymbol{p}}_{2,q-2}, Shpilka [22] constructed a family of two-write qq-ary EI:DU WOM codes that match these probability vectors on the first and second writes. We state this result formally.

Lemma 7

.[22] For all (j,i){(1,0),(2,0),(2,1),,(2,q2)}(j,i)\in\{(1,0),(2,0),(2,1),\ldots,(2,q-2)\}, let 𝒑j,i=(pj,ii,pj,ii+1,,pj,iq1){\boldsymbol{p}}_{j,i}=(p_{j,i\rightarrow i},p_{j,i\rightarrow i+1},\ldots,p_{j,i\rightarrow q-1}) be a probability vector. Then, for all ϵ>0\epsilon>0 there exists an [n,2;M1,M2]qEI:DU,z[n,2;M_{1},M_{2}]_{q}^{EI:DU,z} two-write qq-ary EI:DU WOM code satisfying:

  1. Im(q,1)(n,𝒑1,0)Im(\mathcal{E}_{q,1})\subseteq\mathcal{B}(n,{\boldsymbol{p}}_{1,0}) and R1=logM1nh(𝒑1,0)ϵ.R_{1}=\frac{\log M_{1}}{n}\geqslant h({\boldsymbol{p}}_{1,0})-\epsilon.

  2. For all 𝒄1Im(q,1){\boldsymbol{c}}_{1}\in Im(\mathcal{E}_{q,1}), m2[M2]m_{2}\in[M_{2}], and 𝒄2=q,2(m2,𝒄1){\boldsymbol{c}}_{2}=\mathcal{E}_{q,2}(m_{2},{\boldsymbol{c}}_{1}), the following condition holds. For i[q]i\in[q], let 𝒄2i{\boldsymbol{c}}^{i}_{2} be a length-w1,iw_{1,i}, w1,i=np1,0iw_{1,i}=np_{1,0\rightarrow i}, substring of 𝒄2{\boldsymbol{c}}_{2} at all locations kk with value ii before the second write, that is, 𝒄1,k=i{\boldsymbol{c}}_{1,k}=i. Then, 𝒄2i(w1,i,𝒑2,i){\boldsymbol{c}}^{i}_{2}\in\mathcal{B}(w_{1,i},{\boldsymbol{p}}_{2,i}). Furthermore, R2=logM2ni=0q2p1,0ih(𝒑2,i)ϵ.R_{2}=\frac{\log M_{2}}{n}\geqslant\sum_{i=0}^{q-2}p_{1,0\rightarrow i}h({\boldsymbol{p}}_{2,i})-\epsilon.

We refer to the family of WOM codes from Lemma 7 as an [n,2;M1,M2]qEI:DU(ϵ,𝒑1,0,𝒑2,0,,𝒑2,q2)[n,2;M_{1},M_{2}]_{q}^{EI:DU}(\epsilon,{\boldsymbol{p}}_{1,0},{\boldsymbol{p}}_{2,0},\ldots,{\boldsymbol{p}}_{2,q-2}) WOM code, where M1=2R1nM_{1}=2^{R_{1}n} and M2=2R2nM_{2}=2^{R_{2}n} are determined as the maximal possible values based on ϵ\epsilon, which tends to zero, and the probability vectors 𝒑j,i{\boldsymbol{p}}_{j,i}.

For the case q=2q=2, for shorthand, given p1,01=pp_{1,0\rightarrow 1}=p we denote these codes by [n,2;M1,M2]EI:DU,z(ϵ,p)[n,2;M_{1},M_{2}]^{EI:DU,z}(\epsilon,p) (where p2,01=0.5p_{2,0\rightarrow 1}=0.5).

Furthermore, using cooling codes, the work in [2] provides the following family of binary WOM codes.

Lemma 8

. For all p[0,0.5]p\in[0,0.5] and ϵ>0\epsilon>0, there exists a two-write binary WOM code [n,2;M1,M2]EI:DU,z(ϵ,p)[n,2;M_{1},M_{2}]^{EI:DU,z}(\epsilon,p) such that M1=i=0τ(ni)M_{1}=\sum_{i=0}^{\tau}{n\choose i} and M2=2nτ1M_{2}=2^{n-\tau-1}, where τ=pn\tau=pn. Therefore, for any ϵ>0\epsilon>0, there exists nn such that R1=logM1nh(p)ϵR_{1}=\frac{\log M_{1}}{n}\geqslant h(p)-\epsilon and R2=logM2n1pϵR_{2}=\frac{\log M_{2}}{n}\geqslant 1-p-\epsilon.

We are now ready to present a construction of two-change three-write EIA:DU-ELM codes which establishes the result in Theorem 5.

Construction 9

. Given p1,0,p2,0,p2,1[0,0.5]p_{1,0},p_{2,0},p_{2,1}\in[0,0.5] and ϵ>0\epsilon>0, we construct an [n,3,2;M1,M2,M3]EIA:DU,z[n,3,2;M_{1},M_{2},M_{3}]^{EIA:DU,z} ELM code where Mj=2nRjM_{j}=2^{nR_{j}} for j=1,2,3j=1,2,3 such that R1h(p1,0)ϵR_{1}\geqslant h(p_{1,0})-\epsilon, R2(1p1,0)h(p2,0)+p1,0h(p2,1)ϵR_{2}\geqslant(1-p_{1,0})h(p_{2,0})+p_{1,0}h(p_{2,1})-\epsilon, and R3(1p1,0p2,1)ϵR_{3}\geqslant(1-p_{1,0}p_{2,1})-\epsilon. We use the following two WOM codes.

  1. 1.

    Let 𝒑1,0=(p1,00,p1,01,p1,02)=(1p1,0,p1,0,0){\boldsymbol{p}}_{1,0}=(p_{1,0\rightarrow 0},p_{1,0\rightarrow 1},p_{1,0\rightarrow 2})=(1-p_{1,0},p_{1,0},0), 𝒑2,0=(p2,00,p2,01,p2,02)=(0,p2,0,1p2,0){\boldsymbol{p}}_{2,0}=(p_{2,0\rightarrow 0},p_{2,0\rightarrow 1},p_{2,0\rightarrow 2})=(0,p_{2,0},1-p_{2,0}), and 𝒑2,1=(p2,11,p2,12)=(1p2,1,p2,1){\boldsymbol{p}}_{2,1}=(p_{2,1\rightarrow 1},p_{2,1\rightarrow 2})=(1-p_{2,1},p_{2,1}). Let C1C_{1} be an [n,2;M1,M2]3EI:DU,z(ϵ,𝒑1,0,𝒑2,0,𝒑2,1)[n,2;M_{1},M_{2}]_{3}^{EI:DU,z}(\epsilon,{\boldsymbol{p}}_{1,0},{\boldsymbol{p}}_{2,0},{\boldsymbol{p}}_{2,1}) two-write ternary EI:DU WOM code from Lemma 7 with two pairs of encoder/decoder (3,1,𝒟3,1)(\mathcal{E}_{3,1},\mathcal{D}_{3,1}) and (3,2,𝒟3,2)(\mathcal{E}_{3,2},\mathcal{D}_{3,2}).

  2. 2.

    Let ρ1=p1,0p2,1\rho_{1}=p_{1,0}p_{2,1}, and C2C_{2} be an [n,2;M1,M3]EI:DU,z(ϵ,ρ1)[n,2;M_{1}^{\prime},M_{3}]^{EI:DU,z}(\epsilon,\rho_{1}) two-write binary EI:DU WOM code from Lemma 8 with two pairs of encoder/decoder (2,1,𝒟2,1)(\mathcal{E}_{2,1},\mathcal{D}_{2,1}) and (2,2,𝒟2,2)(\mathcal{E}_{2,2},\mathcal{D}_{2,2}).

The three pairs of encoder/decoder mappings (jEIA:DU,𝒟jEIA:DU)(\mathcal{E}^{EIA:DU}_{j},\mathcal{D}^{EIA:DU}_{j}) for j=1,2,3j=1,2,3 are defined as follows.

  1. First write: 1EIA:DU(m1)=3,1(m1)\mathcal{E}^{EIA:DU}_{1}(m_{1})=\mathcal{E}_{3,1}(m_{1}) for all m1[M1]m_{1}\in[M_{1}]. Similarly, 𝒟1EIA:DU(𝒄1)=𝒟3,1(𝒄1)\mathcal{D}^{EIA:DU}_{1}({\boldsymbol{c}}_{1})=\mathcal{D}_{3,1}({\boldsymbol{c}}_{1}). Note that since we chose the probability to program level 2 in the first write of C1C_{1} to be zero, the output of the encoder 3,1\mathcal{E}_{3,1} is indeed a binary vector, so 1EIA:DU\mathcal{E}^{EIA:DU}_{1} and 𝒟1EIA:DU\mathcal{D}^{EIA:DU}_{1} are well defined.

  2. Second write: The idea is to use the second write encoder 3,2\mathcal{E}_{3,2} of C1C_{1} with the probability vectors 𝒑2,0{\boldsymbol{p}}_{2,0} and 𝒑2,1{\boldsymbol{p}}_{2,1}, and notice that here we write all cells to levels 1 or 2. Then, we can view this “ternary word” as a binary word. Let 𝒄1=(c1,1,,c1,n)Im(1EIA:DU){\boldsymbol{c}}_{1}=(c_{1,1},\ldots,c_{1,n})\in Im(\mathcal{E}^{EIA:DU}_{1}) be the cell-state vector after the first write, and note that this is a binary vector. The encoder/decoder (2EIA:DU,𝒟2EIA:DU)(\mathcal{E}^{EIA:DU}_{2},\mathcal{D}^{EIA:DU}_{2}) are defined formally as follows. For all (m2,𝒄1)[M2]×Im(1EIA:DU)(m_{2},{\boldsymbol{c}}_{1})\in[M_{2}]\times Im(\mathcal{E}^{EIA:DU}_{1}),

    𝒄2=2EIA:DU(m2,𝒄1)=𝒄2(mod2),{\boldsymbol{c}}_{2}=\mathcal{E}^{EIA:DU}_{2}(m_{2},{\boldsymbol{c}}_{1})={\boldsymbol{c}}_{2}^{\prime}(\bmod 2),

    where 𝒄2=3,2(m2,𝒄1)[3]n{\boldsymbol{c}}_{2}^{\prime}=\mathcal{E}_{3,2}(m_{2},{\boldsymbol{c}}_{1})\in[3]^{n}. Furthermore, for all 𝒄2Im(2EIA:DU){\boldsymbol{c}}_{2}\in Im(\mathcal{E}^{EIA:DU}_{2}),

    𝒟2EIA:DU(𝒄2)=𝒟3,2(𝒄2)=m2,\mathcal{D}^{EIA:DU}_{2}({\boldsymbol{c}}_{2})=\mathcal{D}_{3,2}({\boldsymbol{c}}^{\prime}_{2})=m_{2},

    where 𝒄2=21𝒄2{\boldsymbol{c}}_{2}^{\prime}=2\cdot\textbf{1}-{\boldsymbol{c}}_{2}, that is, c2,i=1c^{\prime}_{2,i}=1 if c2,i=1c_{2,i}=1 and c2,i=2c^{\prime}_{2,i}=2 if c2,i=0c_{2,i}=0.

  3. Third write: Let 𝒄2{\boldsymbol{c}}_{2} be the cell-state vector after the second write. We note that the encoder on the third write knows the program-count vector 𝒗2[3]n{\boldsymbol{v}}_{2}\in[3]^{n}, but the decoder does not have this information. Among the nn cells, there are ρ1n\rho_{1}n cells which have been programmed twice, where ρ1=p1,0p2,1\rho_{1}=p_{1,0}p_{2,1}, and therefore (only) these cells cannot be programmed on this write. Hence, the encoder can interpret the vector 𝒗2{\boldsymbol{v}}_{2} as a length-nn binary vector indicating for each cell whether it can be programmed on this write. We denote this vector by 𝒄2′′{\boldsymbol{c}}^{\prime\prime}_{2}, so 𝒄2,i′′=1{\boldsymbol{c}}^{\prime\prime}_{2,i}=1 if and only if 𝒗2,i=2{\boldsymbol{v}}_{2,i}=2. We will use the code C2C_{2} to encode and decode on this write, and we denote by 𝒄¯\bar{{\boldsymbol{c}}} the bitwise complement of a binary vector 𝒄{\boldsymbol{c}}. Specifically, the encoder/decoder mappings are defined as follows. For all m3[M3]m_{3}\in[M_{3}] and 𝒗2N2{\boldsymbol{v}}_{2}\in N_{2},

    3EIA:DU(m3,𝒗2)=2,2(m3,𝒄2′′)¯.\mathcal{E}_{3}^{EIA:DU}(m_{3},{\boldsymbol{v}}_{2})=\overline{\mathcal{E}_{2,2}(m_{3},{\boldsymbol{c}}^{\prime\prime}_{2})}.

    Furthermore, for all 𝒄3Im(3EIA:DU){\boldsymbol{c}}_{3}\in Im(\mathcal{E}_{3}^{EIA:DU}),

    𝒟3EIA:DU(𝒄3)=𝒟2,2(𝒄3¯).\mathcal{D}_{3}^{EIA:DU}({\boldsymbol{c}}_{3})=\mathcal{D}_{2,2}(\overline{{\boldsymbol{c}}_{3}}).

To illustrate Construction 9, we present the following example.

Example 1

. Let n=7,p1,0=3/7,p2,0=1/2,n=7,p_{1,0}=3/7,p_{2,0}=1/2, and p2,1=1/3p_{2,1}=1/3, we construct a [7,3,2;M1,M2,M3]EIA:DU,z[7,3,2;M_{1},M_{2},M_{3}]^{EIA:DU,z} three-change two-write ELM code as follows. In the first write, we encode a message m1m_{1} to obtain a binary vector of length 7, e.g., 𝒄1=(1,1,1,0,0,0,0){\boldsymbol{c}}_{1}=(1,1,1,0,0,0,0). In the second write, to encode a message m2m_{2}, in the first step, we use the second write encoder 3,2\mathcal{E}_{3,2} of the ternary code C1C_{1} in Lemma 7 with probability 𝒑2,0=(0,1/2,1/2){\boldsymbol{p}}_{2,0}=(0,1/2,1/2) and 𝒑2,1=(2/3,1/3){\boldsymbol{p}}_{2,1}=(2/3,1/3) to obtain 𝒄2=3,2(𝒄1,m2){\boldsymbol{c}}_{2}^{\prime}=\mathcal{E}_{3,2}({\boldsymbol{c}}_{1},m_{2}), e.g., 𝒄2=(2,1,1,1,1,2,2){\boldsymbol{c}}_{2}^{\prime}=(2,1,1,1,1,2,2). In the second step, we can replace symbol 2 by symbol 0 in the vector 𝒄2{\boldsymbol{c}}_{2}^{\prime} to obtain the binary vector 𝒄2=(0,1,1,1,1,0,0){\boldsymbol{c}}_{2}=(0,1,1,1,1,0,0). So, 𝒄2{\boldsymbol{c}}_{2} is the output in the second write. We observe that it is not difficult to decode the vector 𝒄2{\boldsymbol{c}}_{2} to obtain the message m2m_{2}. In the last write, the encoder has all information and know that the first cell is programmed twice and the program-count vector is 𝒗2=(2,1,1,1,1,0,0){\boldsymbol{v}}_{2}=(2,1,1,1,1,0,0). The encoder also view the vector 𝒗2{\boldsymbol{v}}_{2} as a binary vector 𝒄2′′=(1,0,0,0,0,0,0){\boldsymbol{c}}_{2}^{\prime\prime}=(1,0,0,0,0,0,0) where the first cell (=1) is not programmable. Using the second-write encoder 2,2\mathcal{E}_{2,2} of the EIU:DI WOM code C2C_{2}, we can encode the message m3m_{3} to obtain 𝒄3=2,2(m3,𝒄2′′){\boldsymbol{c}}_{3}^{\prime}=\mathcal{E}_{2,2}(m_{3},{\boldsymbol{c}}_{2}^{\prime\prime}), e.g., 𝒄3=(1,0,0,0,1,1,1){\boldsymbol{c}}_{3}^{\prime}=(1,0,0,0,1,1,1). We now take the bitwise complement of 𝒄3{\boldsymbol{c}}_{3}^{\prime} to obtain 3EIA:DU(m3,𝒗2)=𝒄3=(0,1,1,1,0,0,0)\mathcal{E}_{3}^{EIA:DU}(m_{3},{\boldsymbol{v}}_{2})={\boldsymbol{c}}_{3}=(0,1,1,1,0,0,0). So, all the three messages are 𝒄1=(1,1,1,0,0,0,0),𝒄2=(0,1,1,1,1,0,0),{\boldsymbol{c}}_{1}=(1,1,1,0,0,0,0),{\boldsymbol{c}}_{2}=(0,1,1,1,1,0,0), and 𝒄3=(0,1,1,1,0,0,0){\boldsymbol{c}}_{3}=(0,1,1,1,0,0,0). ∎

We now present the proof of Theorem 5.

Proof:

Let Rj(Ci)R_{j}(C_{i}) be the rate of the WOM code CiC_{i} on the jj-th write. For any ϵ>0\epsilon>0 and p1,0,p2,0,p2,1[0,0.5]p_{1,0},p_{2,0},p_{2,1}\in[0,0.5], we choose the codes C1C_{1} and C2C_{2} in Construction 9 to satisfy

R1(C1)h(𝒑1,0)ϵ=h(p1,0)ϵ,R_{1}(C_{1})\geqslant h({\boldsymbol{p}}_{1,0})-\epsilon=h(p_{1,0})-\epsilon,

where 𝒑1,0=(1p1,0,p1,0,0){\boldsymbol{p}}_{1,0}=(1-p_{1,0},p_{1,0},0).

R2(C1)\displaystyle R_{2}(C_{1}) p1,00h(𝒑2,0)+p1,01h(𝒑2,1)ϵ\displaystyle\geqslant p_{1,0\rightarrow 0}h({\boldsymbol{p}}_{2,0})+p_{1,0\rightarrow 1}h({\boldsymbol{p}}_{2,1})-\epsilon
(1p1,0)h(p2,0)+p1,0h(p2,1)ϵ,\displaystyle\geqslant(1-p_{1,0})h(p_{2,0})+p_{1,0}h(p_{2,1})-\epsilon,

and

R2(C2)1ρ1ϵ=1p1,0p2,1ϵ.R_{2}(C_{2})\geqslant 1-\rho_{1}-\epsilon=1-p_{1,0}p_{2,1}-\epsilon.

The result follows from the fact that the rate tuple of the two-change three-write ELM code is (R1(C1),R2(C1),R2(C2))(R_{1}(C_{1}),R_{2}(C_{1}),R_{2}(C_{2})). ∎

The solution for the case t=3,=2t=3,\ell=2 is generalized for any tt and \ell in the following theorem.

Theorem 10

. For all tt and ,\ell, 𝒞t,𝒞t,EIA:DU,z{\cal{C}}_{t,\ell}\subseteq{\cal{C}}^{EIA:DU,z}_{t,\ell}, that is, for any ϵ>0\epsilon>0 and a rate tt-tuple (R1,,Rt)𝒞t,(R_{1},\ldots,R_{t})\in{\cal{C}}_{t,\ell}, there exists a zero-error \ell-change tt-write EIA:DU ELM code CC such that its rate on the jj-th write is at least RjϵR_{j}-\epsilon for all 1jt1\leqslant j\leqslant t, that is, Rj(C)RjϵR_{j}(C)\geqslant R_{j}-\epsilon.

To prove Theorem 10, we construct a zero-error \ell-change tt-write ELM code. The idea is to generalize Construction 9. Hence, for any given jj, we use qq-ary EI:DU WOM code from Lemma 7 to program all cells up to the two highest levels q1q-1 and q2q-2. So, the decoder can look at q1q-1 as 0 and q2q-2 as 1 to decode the original message. We now present the construction formally as follows.

Construction 11

. Given pj,i[0,0.5]p_{j,i}\in[0,0.5], for all i[+1]i\in[\ell+1], 1jt1\leqslant j\leqslant t, and ϵ>0\epsilon>0, we construct an [n,t,;M1,,Mt]EIA:DU,z[n,t,\ell;M_{1},\ldots,M_{t}]^{EIA:DU,z} ELM code where M1=(np1,0n)M_{1}={n\choose p_{1,0}n} and Mj=2nRjM_{j}=2^{nR_{j}} for 2jt2\leqslant j\leqslant t such that Rji=0m1Qj1,ih(pj,i)ϵR_{j}\geqslant\sum_{i=0}^{m-1}Q_{j-1,i}h(p_{j,i})-\epsilon, where Qj1,iQ_{j-1,i} is defined in Equation (1). The tt pairs of encoder/decoder mappings (jEIA:DU,𝒟jEIA:DU)(\mathcal{E}_{j}^{EIA:DU},\mathcal{D}_{j}^{EIA:DU}) are defined as follows.

  1. First write: Given p1,0p_{1,0}, we program all words of length nn, weight p1,0np_{1,0}n as on the first write of Construction 9. Hence, M1=(np1,0n)M_{1}={n\choose p_{1,0}n} and the rate on the first write satisfies R1h(p1,0)ϵR_{1}\geqslant h(p_{1,0})-\epsilon.

  2. jj-th write, 2jt2\leqslant j\leqslant t: Let m=min{j,}m=\min\{j,\ell\}. We denote the cell-state vector and the cell-program-count vector after the j1j-1 writes by 𝒄j1=(cj1,1,,cj1,n)Im(j1EIA:DU){\boldsymbol{c}}_{j-1}=(c_{j-1,1},\ldots,c_{j-1,n})\in Im(\mathcal{E}^{EIA:DU}_{j-1}) and 𝒗j1=(vj1,1,,vj1,n)(n,𝒒j1)[m]n{\boldsymbol{v}}_{j-1}=(v_{j-1,1},\ldots,v_{j-1,n})\in\mathcal{B}(n,{\boldsymbol{q}}_{j-1})\subset[m]^{n}, respectively, where 𝒒j1=(Qj1,0,Qj1,1,,Qj1,m1){\boldsymbol{q}}_{j-1}=(Q_{j-1,0},Q_{j-1,1},\ldots,Q_{j-1,m-1}) and Qj,iQ_{j,i} are defined in Equation (1). To program on the jj-th write, we use the two-write (2m+1)(2m+1)-ary WOM code from Lemma 7, [n,2;M1,j,M2,j]2m+1EI:DU,z(ϵ,𝒑1,0,𝒑2,0,𝒑2,1,,𝒑2,2m1)[n,2;M_{1,j},M_{2,j}]_{2m+1}^{EI:DU,z}(\epsilon,{\boldsymbol{p}}_{1,0},{\boldsymbol{p}}_{2,0},{\boldsymbol{p}}_{2,1},\ldots,{\boldsymbol{p}}_{2,2m-1}) where 𝒑1,0=(𝒒j1,0,0,,0){\boldsymbol{p}}_{1,0}=({\boldsymbol{q}}_{j-1},0,0,\ldots,0)

    and for all i[m1]i\in[m-1], 𝒑2,i=(p2,ii,,p2,i2m)=(0,,0,pj,i,1pj,i){\boldsymbol{p}}_{2,i}=(p_{2,i\rightarrow i},\ldots,p_{2,i\rightarrow 2m})=(0,\ldots,0,p_{j,i},1-p_{j,i}) if ii is even and 𝒑2,i=(p2,ii,,p2,i2m)=(0,,0,1pj,i,pj,i){\boldsymbol{p}}_{2,i}=(p_{2,i\rightarrow i},\ldots,p_{2,i\rightarrow 2m})=(0,\ldots,0,1-p_{j,i},p_{j,i}) if ii is odd. As in Lemma 7, M2,j=2RjnM_{2,j}=2^{R_{j}n} where Rji=0m1Qj1,ih(𝒑2,i)ϵ=i=0m1Qj1,ih(pj,i)ϵR_{j}\geqslant\sum_{i=0}^{m-1}Q_{j-1,i}h({\boldsymbol{p}}_{2,i})-\epsilon=\sum_{i=0}^{m-1}Q_{j-1,i}h(p_{j,i})-\epsilon since 𝒑2,i=(p2,ii,,p2,i2m)=(0,,0,1pj,i,pj,i){\boldsymbol{p}}_{2,i}=(p_{2,i\rightarrow i},\ldots,p_{2,i\rightarrow 2m})=(0,\ldots,0,1-p_{j,i},p_{j,i}) or 𝒑2,i=(p2,ii,,p2,i2m)=(0,,0,pj,i,1pj,i){\boldsymbol{p}}_{2,i}=(p_{2,i\rightarrow i},\ldots,p_{2,i\rightarrow 2m})=(0,\ldots,0,p_{j,i},1-p_{j,i}). Hence, on the jj-th write, we choose Mj=M2,j=2RjnM_{j}=M_{2,j}=2^{R_{j}n}. We denote the two pairs of the encoder/decoder of the used WOM code by (m,1,𝒟m,1)(\mathcal{E}_{m,1},\mathcal{D}_{m,1}) and (m,2,𝒟m,2)(\mathcal{E}_{m,2},\mathcal{D}_{m,2}). The idea is to push all cells to the two highest levels and view the obtained word as a binary word. Hence, to decode correctly, the decoder only needs to know the cell-state vector after the jj-th write which is a binary word. We now define the encoder/decoder (jEIA:DU,𝒟jEIA:DU)(\mathcal{E}_{j}^{EIA:DU},\mathcal{D}_{j}^{EIA:DU}) formally as follows. For all each mj[Mj]m_{j}\in[M_{j}] and 𝒗j1Im(m,1){\boldsymbol{v}}_{j-1}\in Im(\mathcal{E}_{m,1})

    𝒄j=jEIA:DU(mj,𝒗j1)=𝒄j(mod2),{\boldsymbol{c}}_{j}=\mathcal{E}^{EIA:DU}_{j}(m_{j},{\boldsymbol{v}}_{j-1})={\boldsymbol{c}}_{j}^{\prime}(\bmod 2),

    where 𝒄j=m,2(mj,𝒗j1)[2m+1]n{\boldsymbol{c}}_{j}^{\prime}=\mathcal{E}_{m,2}(m_{j},{\boldsymbol{v}}_{j-1})\in[2m+1]^{n}. Furthermore, for all 𝒄jIm(jEIA:DU){\boldsymbol{c}}_{j}\in Im(\mathcal{E}^{EIA:DU}_{j}),

    𝒟jEIA:DU(𝒄j)=𝒟m,2(𝒄j)=mj,\mathcal{D}^{EIA:DU}_{j}({\boldsymbol{c}}_{j})=\mathcal{D}_{m,2}({\boldsymbol{c}}^{\prime}_{j})=m_{j},

    where cj,i=2m1c^{\prime}_{j,i}=2m-1 if cj,i=1c_{j,i}=1 and cj,i=2mc^{\prime}_{j,i}=2m if cj,i=0c_{j,i}=0.

Proof:

Given all parameters as in Construction 11, the rate of this ELM code on the first write is R1h(p1,0)ϵR_{1}\geqslant h(p_{1,0})-\epsilon. Now, we consider the jj-th write. Since we used the WOM code in Lemma 7 to program the jj-th write of the ELM code, the rate on this write is exactly the rate on the second write of the used WOM code. Hence, the rate in the jj-th write of the ELM code is Rji=0m1Qj1,ih(pj,i)ϵR_{j}\geqslant\sum_{i=0}^{m-1}Q_{j-1,i}h(p_{j,i})-\epsilon. ∎

Remark 1

. In this section, we provide an explicit construction of zero-error two-change three-write EIA:DU ELM code and generalize the result to construct a zero-error \ell-change tt-write EIA:DU ELM code. Since Shpilka [22] provided a pair of polynomial time encoding/decoding algorithms of a family of two-write WOM codes, the encoder and decoder in Theorem 10 also run in polynomial time. As shown in Theorem 10, using these constructions, we can achieve any rate in the capacity region and thus achieve the maximum sum-rate when the length nn tends to infinity. However, for a fixed value of nn, we can only achieve a high sum-rate but can not achieve the maximum sum-rate. Furthermore, Shpilka’s technique only works for large block length[22]. Hence, for small value of block length nn, we need other constructions to obtain a high sum-rate, for example, Construction 19 that will be presented later.

III-B The EIA:DIA Model - Converse Part of Theorem 2

In this section, we prove the converse part of Theorem 2 for the EIA:DIA model ϵ\epsilon-error case. That is, we prove that 𝒞t,EIA:DIA,ϵ𝒞t,{\cal{C}}_{t,\ell}^{EIA:DIA,\epsilon}\subseteq{\cal{C}}_{t,\ell}.

For this direction we need to prove that if there exists an [n,t,;M1,,Mt]EIA:DIA,𝒑e[n,t,\ell;M_{1},\ldots,M_{t}]^{EIA:DIA,{\boldsymbol{p}}_{e}} ELM code where 𝒑e=(pe1,,pet){\boldsymbol{p}}_{e}=(p_{e_{1}},\ldots,p_{e_{t}}), then

(logM1nϵ1,logM2nϵ2,,logMtnϵt)𝒞t,,\left(\frac{\log M_{1}}{n}-\epsilon_{1},\frac{\log M_{2}}{n}-\epsilon_{2},\ldots,\frac{\log M_{t}}{n}-\epsilon_{t}\right)\in{{\cal{C}}}_{t,\ell},

where (ϵ1,ϵ2,,ϵt)(\epsilon_{1},\epsilon_{2},\ldots,\epsilon_{t}) tends to 𝟎\bf 0 if 𝒑e{\boldsymbol{p}}_{e} tends to 𝟎\bf 0 and nn tends to infinity. In our proof ϵj=H(pej)+pejlog(Mj)n\epsilon_{j}=\frac{H(p_{e_{j}})+p_{e_{j}}\log(M_{j})}{n}, and therefore ϵj0\epsilon_{j}\to 0 when pej0p_{e_{j}}\to 0 and nn\to\infty.

Let XjX_{j} be a length-nn binary vector where Xj,k=1X_{j,k}=1 if and only if the kk-th cell is intended to be programmed on the jj-th write. Similarly, YjY_{j}, is a length-nn binary vector, where Yj,k=1Y_{j,k}=1 if and only if the value of the kk-th cell was successfully changed on the jj-th write, that is, Yj=𝒄j𝒄j1Y_{j}={\boldsymbol{c}}_{j}\oplus{\boldsymbol{c}}_{j-1}. Note that the encoder knows the number of times each cell was programmed. Therefore, we can assume that a cell is not intended to be programmed more than \ell times. Furthermore, the decoder also knows the number of times each cell was programmed. Thus we assume that Xj=YjX_{j}=Y_{j} where XjX_{j} is the encoded word and YjY_{j} is the input of the decoder.

Let S1,,StS_{1},\ldots,S_{t} be independent random variables, where SjS_{j} is uniformly distributed over the messages set [Mj][M_{j}], and S^j\hat{S}_{j} is the decoding result on the jj-th write. Let VjV_{j} be an independent random variable on NjN_{j}, the set of all cell-programs-count vectors after the first jj writes. The data processing yields the following Markov chain:

Sj|Vj1 — Xj|Vj1 — Yj|Vj1 — S^j|Vj1S_{j}|V_{j-1}\text{ --- }X_{j}|V_{j-1}\text{ --- }Y_{j}|V_{j-1}\text{ --- }\hat{S}_{j}|V_{j-1}

and therefore, I(Xj;Yj|Vj1)I(Sj;S^j|Vj1).I(X_{j};Y_{j}|V_{j-1})\geqslant I(S_{j};\hat{S}_{j}|V_{j-1}).

Additionally,

I(Sj;S^j|Vj1)=H(Sj|Vj1)H(Si|S^j,Vj1)H(Sj)H(Sj|S^j)log(Mj)H(pej)pejlog(Mj).\begin{array}[]{ll}I(S_{j};\hat{S}_{j}|V_{j-1})&=H(S_{j}|V_{j-1})-H(S_{i}|\hat{S}_{j},V_{j-1})\\ &\geqslant H(S_{j})-H(S_{j}|\hat{S}_{j})\\ &\geqslant\log(M_{j})-H(p_{e_{j}})-p_{e_{j}}\log(M_{j}).\end{array}

The first inequality follows from the independence of Vj1V_{j-1} and SjS_{j} which implies that H(Sj|Vj1)=H(Sj)H(S_{j}|V_{j-1})=H(S_{j}), and from the fact that conditioning does not increase the entropy. The second inequality follows from Fano’s inequality [8, p. 38] H(Sj|S^j)H(pej)+pejlog(Mj)H(S_{j}|\hat{S}_{j})\leqslant H(p_{e_{j}})+p_{e_{j}}\log(M_{j}).

Let LL be an index random variable, which is uniformly distributed over the index set [n][n]. Since LL is independent of all other random variables we get

1nI(Xj;Yj|Vj1)1nH(Yj|Vj1)(a)1nk=0n1H(Yj,k|Vj1,k)=(b)H(Yj,L|Vj1,L,L)(c)H(Yj,L|Vj1,L)=i=0Pr(Vj1,L=i)H(Yj,L|Vj1,L=i)=(d)i=01Pr(Vj1,L=i)H(Yj,L|Vj1,L=i),\begin{array}[]{ll}\dfrac{1}{n}I(X_{j};Y_{j}|V_{j-1})&\leqslant\dfrac{1}{n}H(Y_{j}|V_{j-1})\\ &\overset{(a)}{\leqslant}\dfrac{1}{n}\sum_{k=0}^{n-1}H(Y_{j,k}|V_{j-1,k})\\ &\overset{(b)}{=}H(Y_{j,L}|V_{j-1,L},L)\\ &\overset{(c)}{\leqslant}H(Y_{j,L}|V_{j-1,L})\\ &=\sum_{i=0}^{\ell}Pr(V_{j-1,L}=i)H(Y_{j,L}|V_{j-1,L}=i)\\ &\overset{(d)}{=}\sum_{i=0}^{\ell-1}Pr(V_{j-1,L}=i)H(Y_{j,L}|V_{j-1,L}=i),\end{array}

where steps (a)(a) and (c)(c) follow from the fact that entropy of a vector is not greater than the sum of the entropies of its components, and conditioning does not increase the entropy. Step (b)(b) follows from the fact that

H(Yj,L|Vj1,L,L)=k=0n1Pr(L=k)H(Yj,k|Vj1,L,L=k)=1nk=0n1H(Yj,k|Vj1,k),\begin{array}[]{ll}H(Y_{j,L}|V_{j-1,L},L)&=\sum_{k=0}^{n-1}Pr(L=k)H(Y_{j,k}|V_{j-1,L},L=k)\\ &=\dfrac{1}{n}\sum_{k=0}^{n-1}H(Y_{j,k}|V_{j-1,k}),\end{array}

and step (d)(d) follows from H(Yj,L|Vj1,L=)=0H(Y_{j,L}|V_{j-1,L}=\ell)=0.

Now, we set pj,i=Pr(Xj,L=1|Nj1,L=i)=Pr(Yj,L=1|Nj1,L=i)p_{j,i}=Pr(X_{j,L}=1|N_{j-1,L}=i)=Pr(Y_{j,L}=1|N_{j-1,L}=i), and thus we can conclude that Qj,i=Pr(Nj,L=i)Q_{j,i}=Pr(N_{j,L}=i) where Qj,iQ_{j,i} is calculated in Equation (1), and then

log(Mj)nϵj1nI(Xj;Yj|Nj1)i=01Pr(Nj1,L=i)H(Yj,L|Nj1,L=i)=i=01Qj1,ih(pj,i),\begin{array}[]{ll}\dfrac{\log(M_{j})}{n}-\epsilon_{j}&\leqslant\dfrac{1}{n}I(X_{j};Y_{j}|N_{j-1})\\ &\leqslant\sum_{i=0}^{\ell-1}Pr(N_{j-1,L}=i)H(Y_{j,L}|N_{j-1,L}=i)\\ &=\sum_{i=0}^{\ell-1}Q_{j-1,i}h\left(p_{j,i}\right),\end{array}

where ϵj=H(pej)+pejlog(Mj)n\epsilon_{j}=\frac{H(p_{e_{j}})+p_{e_{j}}\log(M_{j})}{n}, and the converse part is implied.

By Theorem 10 in Subsection III-A and by the proof of the converse part in Subsection III-B we completed the proof of Theorem 2. Furthermore by Theorem 4 we conclude the following corollary.

Corollary 12

. For all tt and \ell, 𝒞t,=𝒞^t,{\cal{C}}_{t,\ell}=\widehat{{\cal{C}}}_{t,\ell} is the capacity region for all the EIA models for both the zero-error and the ϵ\epsilon-error cases and is denoted by 𝒞t,EIA{\cal{C}}_{t,\ell}^{EIA}. The maximum sum-rate of all the EIA models is t,EIA=logi=0(ti){\cal R}^{EIA}_{t,\ell}=\log\sum_{i=0}^{\ell}{t\choose i}.

IV The Capacity of the EIP:DIA Model

In this section we discuss the capacity region and the maximum sum-rate of the EIP:DIA model. Recall that if =1\ell=1 then by definition, EIP is equivalent to EIA and this model is equivalent to the known WOM model. Thus, in this section we assume that >1\ell>1. We focus on the ϵ\epsilon-error case and present the capacity region of this model. The zero-error case is harder to solve, and is left for future research. However the ϵ\epsilon-error case provides an upper bound for the zero-error case. Note that the EU:DI WOM model is simpler than the EIP:DIA ELM model, and even though its exact capacity for the zero-error case is still not known for general tt.

As done in the EIA models, let us denote by 𝒄j{\boldsymbol{c}}_{j}, j[t+1]j\in[t+1], the length-nn binary vector which represents the memory state after the jj-th write, where 𝒄0=𝟎{\boldsymbol{c}}_{0}=\bf 0.

For 1jt1\leqslant j\leqslant t and i[+1]i\in[\ell+1], we define the probabilities pj,0p_{j,0}, pj,1p_{j,1}, and Qj,iQ_{j,i} as follows. pj,kp_{j,k} is the probability of programming a cell on the jj-th write given that the value of this cell was kk, k{0,1}k\in\{0,1\}, and Qj,iQ_{j,i} is the probability of a cell to be programmed exactly ii times after the first jj writes. Additionally, let Qj,e,Qj,oQ_{j,e},Q_{j,o} be the probability of a cell to be programmed an even, odd number of times after the first jj writes, respectively. Formally, Qj,iQ_{j,i} is defined recursively by using the probabilities pj,0p_{j^{\prime},0} and pj,1p_{j^{\prime},1} for jjj^{\prime}\leqslant j. We now assume that \ell is even. The case of an odd \ell is defined similarly. We define Qj,iQ_{j,i} for j>0j>0 as follows. For even i0i\geqslant 0,

Qj,i={Qj1,i1pj,1+Qj1,i(1pj,0),if 0<i<,Qj1,i1pj,1+Qj1,i,if i=,Qj1,i(1pj,0),if i=0,\begin{array}[]{rl}Q_{j,i}&=\begin{cases}Q_{j-1,i-1}p_{j,1}+Q_{j-1,i}(1-p_{j,0}),&\text{if }0<i<\ell,\\ Q_{j-1,i-1}p_{j,1}+Q_{j-1,i},&\text{if }i=\ell,\\ Q_{j-1,i}(1-p_{j,0}),&\text{if }i=0,\end{cases}\end{array} (4)

and for odd i>0i>0, Qj,i=Qj1,i1pj,0+Qj1,i(1pj,1)Q_{j,i}=Q_{j-1,i-1}p_{j,0}+Q_{j-1,i}(1-p_{j,1}). The base j=0j=0, is Q0,0=1Q_{0,0}=1 and Q0,i=0Q_{0,i}=0 for i>0i>0. Furthermore, let Qj,e=i=0/2Qj,2iQ_{j,e}=\sum_{i=0}^{\ell/2}Q_{j,2i} and Qj,o=i=1/2Qj,2i1Q_{j,o}=\sum_{i=1}^{\ell/2}Q_{j,2i-1}.

Next, we define the rates region 𝒞~t,\widetilde{{\cal{C}}}_{t,\ell} which will be proved to be the capacity region of the EIP:DIA model for the ϵ\epsilon-error case. We present here the definition for even \ell, while the odd case is defined similarly.

𝒞~t,={(R1,R2,,Rt)|1jt:RjQj1,oh(pj,1)+(Qj1,eQj1,)h(pj,0),pj,0,pj,1[0,0.5] andQj,e,Qj,o,Qj, are defined above}.\begin{array}[]{ll}\widetilde{{\cal{C}}}_{t,\ell}=\Big{\{}(R_{1},R_{2},\ldots,R_{t})|&\forall 1\leqslant j\leqslant t:\\ &R_{j}\leqslant Q_{j-1,o}h(p_{j,1})+(Q_{j-1,e}-Q_{j-1,\ell})h(p_{j,0}),\\ &p_{j,0},p_{j,1}\in[0,0.5]\text{ and}\ Q_{j,e},Q_{j,o},Q_{j,\ell}\text{ are defined above}\Big{\}}.\\ \end{array}\noindent (5)

For example, for t=3,=2t=3,\ell=2, we have that

𝒞~3,2=𝒞3,2={\displaystyle\widetilde{{\cal{C}}}_{3,2}={\cal{C}}_{3,2}=\Big{\{} (R1,R2,R3)|R1h(p1,0),\displaystyle(R_{1},R_{2},R_{3})|R_{1}\leqslant h(p_{1,0}),
R21p1,0+p1,0h(p2,1),\displaystyle\hskip 4.30554ptR_{2}\leqslant 1-p_{1,0}+p_{1,0}h(p_{2,1}),
R31p1,0p2,1,and p1,0,p2,1[0,0.5]},\displaystyle\hskip 4.30554ptR_{3}\leqslant 1-p_{1,0}p_{2,1},\text{and }p_{1,0},p_{2,1}\in[0,0.5]\Big{\}},

which is achieved by substituting p3,0=p3,1=p2,0=0.5p_{3,0}=p_{3,1}=p_{2,0}=0.5 in Equations (2) and (5). Using the region 𝒞~t,\widetilde{{\cal{C}}}_{t,\ell}, the next theorem characterizes the capacity region of the EIP models for the ϵ\epsilon-error case.

Theorem 13

. The rates region 𝒞~t,\widetilde{{\cal{C}}}_{t,\ell} is the capacity region of tt-write \ell-change ELM EIP:DIA model for the ϵ\epsilon-error case. That is, 𝒞~t,=𝒞t,EIP:DIA,ϵ\widetilde{{\cal{C}}}_{t,\ell}={\cal{C}}_{t,\ell}^{EIP:DIA,\epsilon}.

Proof:

To show the achievable region, we should prove that for each ϵ>0\epsilon>0 and (R1,R2,,Rt)𝒞~t,(R_{1},R_{2},\ldots,R_{t})\in\widetilde{{\cal{C}}}_{t,\ell}, there exists an
[n,t;M1,,Mt]t,EIP:DIA,𝒑e[n,t;M_{1},\ldots,M_{t}]_{t,\ell}^{EIP:DIA,{\boldsymbol{p}}_{e}} ELM code, where for all 1jt1\leqslant j\leqslant t, logMjnRjϵ\frac{\log M_{j}}{n}\geqslant R_{j}-\epsilon and 𝒑e=(pe1,,pet)(ϵ,,ϵ){\boldsymbol{p}}_{e}=(p_{e_{1}},\ldots,p_{e_{t}})\leqslant(\epsilon,\ldots,\epsilon). We use the well-known random channel-coding theorem [8, p. 200] on each write. We describe the encoding and decoding on each write.

The jj-th write presents a DMC with the input length-nn binary vector XjX_{j} and the output is (Zj1,Yj)(Z_{j-1},Y_{j}), where Zj1[+1]nZ_{j-1}\in[\ell+1]^{n} represents the times each cell was programmed before the jj-th write, and Yj[2]nY_{j}\in[2]^{n} represent the state of the memory after the jj-th write. Let xj=Xj,kx_{j}=X_{j,k}, zj=Zj1,kz_{j}=Z_{j-1,k}, and yj=Yj,ky_{j}=Y_{j,k} for some index kk. By the random coding theorem, for nn large enough, the following region is achievable

{(R1,,Rt)|1jt,RjI(xj;yj)}.\begin{array}[]{ll}\Big{\{}(R_{1},\ldots,R_{t})|&\forall 1\leqslant j\leqslant t,R_{j}\leqslant I(x_{j};y_{j})\Big{\}}.\end{array}

By the definitions and notations of the probabilities pj,ip_{j^{\prime},i^{\prime}} and Qj,iQ_{j^{\prime},i^{\prime}},

I(xj;(zj1,yj))\displaystyle I(x_{j};(z_{j-1},y_{j})) =H(zj1,yj)H(zj1,yj|xj)\displaystyle{=}H(z_{j-1},y_{j})-H(z_{j-1},y_{j}|x_{j})
=H(zj1)+H(yj|zj1)H(zj1,yj|xj)\displaystyle=H(z_{j-1})+H(y_{j}|z_{j-1})-H(z_{j-1},y_{j}|x_{j})
=(a)H(zj1)+H(yj|zj1)H(zj1)\displaystyle\overset{(a)}{=}H(z_{j-1})+H(y_{j}|z_{j-1})-H(z_{j-1})
=H(yj|zj1)\displaystyle=H(y_{j}|z_{j-1})
=i=0Pr(zj1=i)H(yj|zj1=i)\displaystyle=\sum_{i=0}^{\ell}Pr(z_{j-1}=i)H(y_{j}|z_{j-1}=i)
=(b)i=01Pr(zj1=i)H(yj|zj1=i)\displaystyle\overset{(b)}{=}\sum_{i=0}^{\ell-1}Pr(z_{j-1}=i)H(y_{j}|z_{j-1}=i)
=i=1/2(Qj1,2i1h(pj,1)+Qj1,2i2h(pj,0))\displaystyle=\sum_{i=1}^{\ell/2}\left(Q_{j-1,2i-1}h\left(p_{j,1}\right)+Q_{j-1,2i-2}h\left(p_{j,0}\right)\right)
=Qj1,oh(pj,1)+(Qj1,eQj1,)h(pj,0).\displaystyle=Q_{j-1,o}h(p_{j,1})+(Q_{j-1,e}-Q_{j-1,\ell})h(p_{j,0}).

Step (a)(a) follows from H((zj1,yj)|xi)=H(zj1|xj)H((z_{j-1},y_{j})|x_{i})=H(z_{j-1}|x_{j}) since yjy_{j} is a function of xj,zj1x_{j},z_{j-1}, and H(zj1|xj)=H(zj1)H(z_{j-1}|x_{j})=H(z_{j-1}) because zj1z_{j-1} is independent on xjx_{j}. Step (b)(b) is implied by H(yj|zj1=)=0H(y_{j}|z_{j-1}=\ell)=0.

Hence, we can achieve the region 𝒞~t,\widetilde{{\cal{C}}}_{t,\ell} for the \ell-change tt-write W\ellM EIP:DIA model for the ϵ\epsilon-error case.

The proof of the converse part, 𝒞t,EIP:DIA,ϵ𝒞~t,{\cal{C}}_{t,\ell}^{EIP:DIA,\epsilon}\subseteq\widetilde{{\cal{C}}}_{t,\ell}, is similar to the proof of this part in Theorem 2, and hence is deferred to Appendix A. ∎

We could also present a family of capacity achieving codes using the binary erasure channel (BEC). Note that on the jj-th write, both the encoder and the decoder know 𝒄j1{\boldsymbol{c}}_{j-1}, the state of the memory before writing the new data, while the decoder also knows 𝒗j1{\boldsymbol{v}}_{j-1}, the number of times each cell was programmed before the jj-th write. Therefore, the encoder on the jj-th write treats the one and the zero cells separately. On the cells with value one, the encoder writes zero with probability pj,1p_{j,1} (for example by using a constant weight code), while for the zero cells, the decoder knows which cells have been already programmed \ell times before the jj write. Thus, the encoding on the zero cells can be represented as encoding over BEC with erasure probability Q/QeQ_{\ell}/Q_{e}. The capacity of the BEC with erasure probability π\pi and probability α\alpha for occurrence one in the encoded vector is (1π)h(α)(1-\pi)h(\alpha) [8, p. 188]. By substituting pj,0=αp_{j,0}=\alpha and π=Q/Qe\pi=Q_{\ell}/Q_{e}, we get the rate on the jj-th write Qj1,oh(pj,1)+(Qj1,eQj1,)h(pj,0)Q_{j-1,o}h(p_{j,1})+(Q_{j-1,e}-Q_{j-1,\ell})h(p_{j,0}).

The following theorem is an immediate result deduced by the definitions of 𝒞~t,\widetilde{{\cal{C}}}_{t,\ell} and 𝒞t,{{\cal{C}}}_{t,\ell} and Theorems 2 and 13.

Theorem 14

. For =2\ell=2 the capacity region of the EIP:DIA model for the epsilon error case is equal to the capacity region for the EIA models, i.e., 𝒞t,2EIP:DIA,ϵ=𝒞t,2EIA{\cal{C}}_{t,2}^{EIP:DIA,\epsilon}={\cal{C}}_{t,2}^{EIA}.

In Section V, we compare between the EIP:DIA model which was discussed in this section, and the EIA models, which were presented in Section III.

V A Comparison between the EIA Models and the EIP:DIA Model

In this section we compare between the EIA models and the EIP:DIA model. The capacity of the EIA models, 𝒞t,EIA:DY,g{\cal{C}}^{EIA:DY,g}_{t,\ell} for g{z,ϵ}g\in\{z,\epsilon\} and Y{IA,IP,U}Y\in\{IA,IP,U\}, was stated in Section III to be equal to 𝒞t,{\cal{C}}_{t,\ell}, while in Section IV we presented the capacity region of the EIP:DIA model for the ϵ\epsilon-error case, 𝒞~t,=𝒞t,EIP:DIA,ϵ\widetilde{{\cal{C}}}_{t,\ell}={\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}.

The next theorem proves that for t>3t>\ell\geqslant 3 the maximum sum-rate of the EIP:DIA model for the epsilon-error case is smaller than the maximum sum-rate of the EIA models. Hence, the capacity region 𝒞t,EIP:DIA,ϵ{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell} is a proper subset of the capacity region 𝒞t,EIA{\cal{C}}^{EIA}_{t,\ell} for these parameters. Recall that for =2\ell=2 these regions were shown to be the same in Theorem 14, and therefore the maximum sum-rates of these models for =2\ell=2 are the same too.

Theorem 15

. For t>3t>\ell\geqslant 3, t,EIP:DIA,ϵ<t,EIA{\cal R}^{EIP:DIA,\epsilon}_{t,\ell}<{\cal R}^{EIA}_{t,\ell}, and hence 𝒞t,EIP:DIA,ϵ𝒞t,EIA{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}\subsetneq{\cal{C}}^{EIA}_{t,\ell}.

Proof:

Let 𝐑~=(R~1,R~2,,R~t)\widetilde{{\mathbf{R}}}=(\widetilde{R}_{1},\widetilde{R}_{2},\ldots,\widetilde{R}_{t}) be a rate tuple which achieves the maximum sum-rate t,EIP:DIA,ϵ{\cal R}^{EIP:DIA,\epsilon}_{t,\ell}, and we denote by p~j,0{\widetilde{p}}_{j,0}, p~j,1{\widetilde{p}}_{j,1}, and Q~j,i\widetilde{Q}_{j,i}, 1jt1\leqslant j\leqslant t and i[+1]i\in[\ell+1], the probabilities which attain 𝐑~\widetilde{{\mathbf{R}}} in 𝒞~t,\widetilde{{\cal{C}}}_{t,\ell}.

Now we present a rate tuple 𝐑=(R1,R2,,Rt)𝒞t,>𝐑~{{\mathbf{R}}}=({R}_{1},{R}_{2},\ldots,{R}_{t})\in{{\cal{C}}}_{t,\ell}>\widetilde{{\mathbf{R}}}. Then, we conclude that 𝐑𝒞t,EIA𝒞t,EIP:DIA,ϵ{\mathbf{R}}\in{\cal{C}}^{EIA}_{t,\ell}\setminus{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}, which implies that t,EIP:DIA,ϵ<t,EIA{\cal R}^{EIP:DIA,\epsilon}_{t,\ell}<{\cal R}^{EIA}_{t,\ell} and 𝒞t,EIP:DIA,ϵ𝒞t,EIA{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}\subsetneq{\cal{C}}^{EIA}_{t,\ell}.

We assume now that \ell is even, while the proof for the odd case is similar. Since 𝐑~\widetilde{{\mathbf{R}}} is maximal rate tuple we have p~t1,0=p~t,0=p~t,1=0.5\widetilde{p}_{t-1,0}=\widetilde{p}_{t,0}=\widetilde{p}_{t,1}=0.5. For all jj and ii, 1jt21\leqslant j\leqslant t-2 and i[]i\in[\ell], we define pj,i=p~j,ip_{j,i}=\widetilde{p}_{j,i^{\prime}} where i=imod2i^{\prime}=i\mod 2. In addition, for all i[1]i\in[\ell-1], pt1,i=0.5p_{t-1,i}=0.5, pt1,1=p~t1,1p_{t-1,\ell-1}=\widetilde{p}_{t-1,1}, and for all ii, pt,i=0.5p_{t,i}=0.5.

Thus, for all jj and ii, 1jt21\leqslant j\leqslant t-2 and i[]i\in[\ell], Rj=R~jR_{j}=\widetilde{R}_{j} and Qj,i=Q~j,iQ_{j,i}=\widetilde{Q}_{j,i}. For the (t1)(t-1)-th write we have, Rt1=1Q~t2,1Q~t2,+Q~t2,1h(p~t1,1){R}_{t-1}=1-\widetilde{Q}_{t-2,\ell-1}-\widetilde{Q}_{t-2,\ell}+\widetilde{Q}_{t-2,\ell-1}h(\widetilde{p}_{t-1,1}) while R~t1=Q~t2,oh(p~t1,1)+(Q~t2,eQ~t2,)\widetilde{R}_{t-1}=\widetilde{Q}_{t-2,o}h(\widetilde{p}_{t-1,1})+(\widetilde{Q}_{t-2,e}-\widetilde{Q}_{t-2,\ell}), and for the last write Rt=R~t=1Q~t1,{R}_{t}=\widetilde{R}_{t}=1-\widetilde{Q}_{t-1,\ell}.

Now we prove that p~t1,1<0.5\widetilde{p}_{t-1,1}<0.5 which immediately implies that Rt1>R~t1{R}_{t-1}>\widetilde{R}_{t-1} and thus completes the proof. Recall that R~t=1Q~t1,=1Q~t2,Q~t2,1p~t1,1\widetilde{R}_{t}=1-\widetilde{Q}_{t-1,\ell}=1-\widetilde{Q}_{t-2,\ell}-\widetilde{Q}_{t-2,\ell-1}\widetilde{p}_{t-1,1}. Thus, given the probabilities for the first t2t-2 writes, in order to achieve the maximal rate tuple 𝐑~\widetilde{{\mathbf{R}}}, we have to maximize R~t1+R~t\widetilde{R}_{t-1}+\widetilde{R}_{t}. That is, we choose p~t1,1\widetilde{p}_{t-1,1} which maximizes Q~t2,oh(p~t1,1)Q~t2,1p~t1,1\widetilde{Q}_{t-2,o}h(\widetilde{p}_{t-1,1})-\widetilde{Q}_{t-2,\ell-1}\widetilde{p}_{t-1,1}. The derivative is Q~t2,0log(1p~t1,1p~t1,1)Q~t2,1\widetilde{Q}_{t-2,0}\log(\frac{1-\widetilde{p}_{t-1,1}}{\widetilde{p}_{t-1,1}})-\widetilde{Q}_{t-2,\ell-1}, and the maximum is obtained for p~t1,1=1/(1+2Q~t2,1/Q~t2,o)\widetilde{p}_{t-1,1}=1/(1+2^{{\widetilde{Q}_{t-2,\ell-1}}/{\widetilde{Q}_{t-2,o}}}). Since 𝐑~\widetilde{{\mathbf{R}}} is maximal and t>3t>\ell\geqslant 3, we have Q~t2,1>0{\widetilde{Q}}_{t-2,\ell-1}>0, and therefore p~t1,10.5\widetilde{p}_{t-1,1}\neq 0.5. ∎

We can summarize the results regrading the capacity region of the EIP:DIA model in the following corollary.

Corollary 16

For all t>t>\ell the following holds

𝒞t,EIP:DIA,ϵ=𝒞~t,𝒞t,=𝒞t,EIA.{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}=\widetilde{{\cal{C}}}_{t,\ell}\subseteq{{\cal{C}}}_{t,\ell}={\cal{C}}^{EIA}_{t,\ell}.

Furthermore,

  • For t>=2t>\ell=2 all these regions are equal, in particular, 𝒞t,2EIP:DIA,ϵ=𝒞t,2EIA{\cal{C}}^{EIP:DIA,\epsilon}_{t,2}={\cal{C}}^{EIA}_{t,2}.

  • For t>3t>\ell\geqslant 3, 𝒞t,EIP:DIA,ϵ𝒞t,EIA{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}\subsetneq{\cal{C}}^{EIA}_{t,\ell} and t,EIP:DIA,ϵ<t,EIA{\cal R}^{EIP:DIA,\epsilon}_{t,\ell}<{\cal R}^{EIA}_{t,\ell}.

VI The Capacity of EU:DIA Model

In this section we study the EU:DIA model for the ϵ\epsilon-error case, and provide the capacity region of this model. As in the EIP:DIA model, the capacity region for the zero-error case and the exact maximum sum-rate are left for future research.

For 1jt1\leqslant j\leqslant t and i[+1]i\in[\ell+1], let pjp_{j} be the probability of programming a cell on the jj-th write, and Qj,iQ_{j,i} denotes the probability of a cell to be programmed exactly ii times on the first jj writes. Additionally, let Qj,e,Qj,oQ_{j,e},Q_{j,o} be the probabilities of a cell to be programmed even, odd number of times on the first jj writes, respectively. Formally, Qj,iQ_{j,i} is defined recursively by using pjp_{j^{\prime}} probabilities for jjj^{\prime}\leqslant j. For j1j\geqslant 1,

Qj,i={Qj1,i1pj+Qj1,i(1pj),if 0<i,Qj1,i1pj+Qj1,i,if i=,Qj1,i(1pj),if i=0,\begin{array}[]{rl}Q_{j,i}&=\begin{cases}Q_{j-1,i-1}p_{j}+Q_{j-1,i}(1-p_{j}),&\text{if }0<i\leqslant\ell,\\ Q_{j-1,i-1}p_{j}+Q_{j-1,i},&\text{if }i=\ell,\\ Q_{j-1,i}(1-p_{j}),&\text{if }i=0,\end{cases}\end{array} (6)

where Q0,0=1Q_{0,0}=1 and Q0,i=0Q_{0,i}=0 for i>0i>0.

Then, we define the region 𝒞¯t,\overline{{\cal{C}}}_{t,\ell} which is proved later in this section to be the capacity region 𝒞t,EU:DIA,ϵ{\cal{C}}_{t,\ell}^{EU:DIA,\epsilon}.

𝒞¯t,={(R1,R2,,Rt)|1jt:Rjh(pj)Qj1,h(pj),pj[0,0.5],Qj, is defined above}.\begin{array}[]{ll}\overline{{\cal{C}}}_{t,\ell}=\Big{\{}(R_{1},R_{2},\ldots,R_{t})|&\forall 1\leqslant j\leqslant t:\\ &R_{j}\leqslant h(p_{j})-Q_{j-1,\ell}h(p_{j}),\\ &p_{j}\in[0,0.5],\ Q_{j,\ell}\text{ is defined above}\Big{\}}.\\ \end{array}\noindent (7)

The next theorems establish the capacity region of the EU:DIA model for the ϵ\epsilon-error case and compare between this model and the EIP:DIA model. The techniques applied for the EU:DIA model are very similar to the proofs in Section IV. The proofs of Theorems 17 and 18 are similar to the proofs of Theorems 13 and 15, respectively. Therefore, these proofs are moved to Appendix A.

Theorem 17

. The rates region 𝒞¯t,\overline{{\cal{C}}}_{t,\ell} is the capacity region of tt-write \ell-change ELM EU:DIA model for the ϵ\epsilon-error case. That is, 𝒞¯t,=𝒞t,EU:DIA,ϵ\overline{{\cal{C}}}_{t,\ell}={\cal{C}}_{t,\ell}^{EU:DIA,\epsilon}.

Theorem 18

. For t>2t>\ell\geqslant 2, t,EU:DIA,ϵ<t,EIP:DIA,ϵ{\cal R}^{EU:DIA,\epsilon}_{t,\ell}<{\cal R}^{EIP:DIA,\epsilon}_{t,\ell}, and hence 𝒞t,EU:DIA,ϵ𝒞t,EIP:DIA,ϵ{\cal{C}}^{EU:DIA,\epsilon}_{t,\ell}\subsetneq{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}.

VII The EIP:DU Model

In this section, we study the EIP:DU model and its sum-rate. First, we note that 𝒞t,EIP:DU,ϵ𝒞t,EIP:DIA,ϵ{\cal{C}}^{EIP:DU,\epsilon}_{t,\ell}\subseteq{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell} for all t,t,\ell, and thus,

t,EIP:DU,ϵt,EIP:DIA,ϵlogi=0(ti).{\cal R}^{EIP:DU,\epsilon}_{t,\ell}\leqslant{\cal R}^{EIP:DIA,\epsilon}_{t,\ell}\leqslant\log\sum_{i=0}^{\ell}{t\choose i}. (8)

That is, we obtain an upper bound of the maximum sum-rate t,EIP:DU,ϵ{\cal R}^{EIP:DU,\epsilon}_{t,\ell}. Note that for t>3t>\ell\geqslant 3 this upper bound is not tight (Theorem 15). We are now interested in some good lower bounds for the maximum sum-rate. Our goal is to provide several constructions with high sum-rate. We first present a general construction for the zero-error case and then show how to obtain higher sum-rate for the ϵ\epsilon-error case with t=3,=2t=3,\ell=2.

The following construction provides a family of \ell-change tt-write EIP:DU ELM codes for the zero-error case.

Construction 19

. Let (k1,,k)(k_{1},\dots,k_{\ell}) be such that 1kit1\leqslant k_{i}\leqslant t for 1i1\leqslant i\leqslant\ell and i=1ki=t.\sum_{i=1}^{\ell}k_{i}=t. Let [n,ki;Mji+1,,Mji+ki]EI:DU,z[n,k_{i};M_{j_{i}+1},\ldots,M_{j_{i}+k_{i}}]^{EI:DU,z} be a binary kik_{i}-write EI:DU WOM code for 1i1\leqslant i\leqslant\ell with sum-rate RiR_{i} where j1=0j_{1}=0 and ji=r=1i1krj_{i}=\sum_{r=1}^{i-1}k_{r}. Each of which consists of nn bits and kik_{i} pairs of encoding and decoding maps (ji+hEI:DU,𝒟ji+hEI:DU)(\mathcal{E}^{EI:DU}_{j_{i}+h},\mathcal{D}^{EI:DU}_{j_{i}+h}) for 1hki1\leqslant h\leqslant k_{i}. We define an [n,t,;M1,,Mt]EIP:DU,z[n,t,\ell;M_{1},\ldots,M_{t}]^{EIP:DU,z} \ell-change tt-write ELM code consists of nn bits and tt pairs of encoders and decoders (jEIP:DU,𝒟jEIP:DU)(\mathcal{E}^{EIP:DU}_{j},\mathcal{D}^{EIP:DU}_{j}) where jEIP:DU=jEI:DU\mathcal{E}^{EIP:DU}_{j}=\mathcal{E}^{EI:DU}_{j} and 𝒟jEIP:DU=𝒟jEI:DU\mathcal{D}^{EIP:DU}_{j}=\mathcal{D}^{EI:DU}_{j} for 1jt1\leqslant j\leqslant t.

The maximum sum-rate of the ELM codes from Construction 19 is Rsumi=1log(ki+1)ϵR_{sum}\geqslant\sum_{i=1}^{\ell}\log(k_{i}+1)-\epsilon since for 1i1\leqslant i\leqslant\ell, Rilog(ki+1)ϵ/R_{i}\geqslant\log(k_{i}+1)-\epsilon/\ell and Rsum=i=1RiR_{sum}=\sum_{i=1}^{\ell}R_{i}. Hence, in order to maximize the sum-rate, our goal is to maximize the value of i=1log(ki+1)\sum_{i=1}^{\ell}\log(k_{i}+1) given that i=1ki=t\sum_{i=1}^{\ell}k_{i}=t. Assume that t=k+rt=k\ell+r, r[]r\in[\ell], then this maximum value will be achieved when choosing k1==kr=k+1k_{1}=\cdots=k_{r}=k+1 and kr+1==k=kk_{r+1}=\cdots=k_{\ell}=k. The next corollary summarizes this result.

Corollary 20

. For all tt and \ell, where t=k+rt=k\ell+r, r[]r\in[\ell],

t,EIP:DU,z\displaystyle{\cal R}_{t,\ell}^{EIP:DU,z} rlog(k+2)+(r)log(k+1)\displaystyle\geqslant r\log(k+2)+(\ell-r)\log(k+1)
=log(t+1)+(tmod)log(1+1t+1).\displaystyle=\ell\log\left(\left\lfloor\frac{t}{\ell}\right\rfloor+1\right)+(t\bmod\ell)\log\left(1+\frac{1}{\left\lfloor\frac{t}{\ell}\right\rfloor+1}\right).
Proof:

We choose (k1,,k)(k_{1},\ldots,k_{\ell}) such that k1==kr=k+1k_{1}=\cdots=k_{r}=k+1 and kr+1==k=kk_{r+1}=\cdots=k_{\ell}=k and thus i=1ki=t\sum_{i=1}^{\ell}k_{i}=t. We note that k=tk=\left\lfloor\frac{t}{\ell}\right\rfloor and r=tmodr=t\mod\ell. Since we presented in Construction 19 an [n,t,;M1,,Mt]EIP:DU,z[n,t,\ell;M_{1},\ldots,M_{t}]^{EIP:DU,z} \ell-change tt-write ELM code with sum-rate Rsum=i=1Rirlog(k+2)+(r)log(k+1)ϵR_{sum}=\sum_{i=1}^{\ell}R_{i}\geqslant r\log(k+2)+(\ell-r)\log(k+1)-\epsilon for any ϵ>0\epsilon>0, we obtain the result in Corrollary 20. ∎

From the above corollary, we have a lower bound of the maximum sum-rate of the EIP:DU model. Recall that t,EIP:DU,zt,EIA=logi=0(ti){\cal R}^{EIP:DU,z}_{t,\ell}\leqslant{\cal R}^{EIA}_{t,\ell}=\log\sum_{i=0}^{\ell}{t\choose i}, that is the exact maximum sum-rate of the EIA model is an upper bound of the maximum sum-rate of the EIP:DU model. Hence, we obtain a lower bound and an upper bound of the maximum sum-rate of the EIP:DU ELM model. We note that when tt\leqslant\ell, we always achieve the full capacity, that is, the maximum sum-rate is tt. When t>t>\ell, the maximum sum-rate is difficult to compute exactly and there is a gap between the above lower and upper bounds. We illustrate the results for =2,t[3,25]\ell=2,t\in[3,25] in the following figure.

Refer to caption
Figure 1: The upper and lower bounds of the maximum sum-rates of the EIP:DU ELM codes when =2,t[3,25]\ell=2,t\in[3,25].

The following result shows that for =2\ell=2 the sum-rate of the ELM code from Construction 19 is already close to the upper bound when tt is large and nn\to\infty.

Proposition 21

. For =2\ell=2 and t3t\geqslant 3, t,2EIP:DU,zt,2EIA1{\cal R}^{EIP:DU,z}_{t,2}\geqslant{\cal R}^{EIA}_{t,2}-1.

Proof:

Recall that t,2EIA=logi=02(ti)=logt2+t+22.{\cal R}^{EIA}_{t,2}=\log\sum_{i=0}^{2}{t\choose i}=\log\frac{t^{2}+t+2}{2}. When tt is even, there exists a positive integer t1t_{1} such that t=2t1t=2t_{1}. In this case,

t,2EIP:DU,z2log(t1+1)=log(t12+2t1+1){\cal R}^{EIP:DU,z}_{t,2}\geqslant 2\log(t_{1}+1)=\log(t_{1}^{2}+2t_{1}+1)

and,

t,2EIA=log4t12+2t1+12.{\cal R}^{EIA}_{t,2}=\log\frac{4t_{1}^{2}+2t_{1}+1}{2}.

Hence,

t,2EIAt,2EIP:DU,zlog4t12+2t1+12(t12+2t1+1)log2=1.{\cal R}^{EIA}_{t,2}-{\cal R}^{EIP:DU,z}_{t,2}\leqslant\log\frac{4t_{1}^{2}+2t_{1}+1}{2(t_{1}^{2}+2t_{1}+1)}\leqslant\log 2=1.

When tt is odd, there exists a positive integer t2t_{2} such that t=2t2+1.t=2t_{2}+1. In this case,

t,2EIP:DU,zlog(t2+1)+log(t2+2)=log(t22+3t2+2){\cal R}^{EIP:DU,z}_{t,2}\geqslant\log(t_{2}+1)+\log(t_{2}+2)=\log(t_{2}^{2}+3t_{2}+2)

and,

t,2EIA=log4t22+6t2+42.{\cal R}^{EIA}_{t,2}=\log\frac{4t_{2}^{2}+6t_{2}+4}{2}.

Hence,

t,2EIAt,2EIP:DU,zlog4t22+6t2+42(t22+3t2+2)log2=1.{\cal R}^{EIA}_{t,2}-{\cal R}^{EIP:DU,z}_{t,2}\leqslant\log\frac{4t_{2}^{2}+6t_{2}+4}{2(t_{2}^{2}+3t_{2}+2)}\leqslant\log 2=1.

In conclusion, the proposition is proven. ∎

We note that when t=3t=3 and =2\ell=2, the maximum achievable sum-rate of the codes in Construction 19 is log62.585\log 6\approx 2.585, while the upper bound is log72.807.\log 7\approx 2.807. Lastly, we show how to improve this result for the ϵ\epsilon-error case.

The main ideas of the following construction are as follows. On the first two writes, we follow exactly the first two writes of Construction 9 which is a construction for a two-change three-write EIA:DU ELM code. After the second write, there are ρ1n\rho_{1}n cells which were programmed twice, where ρ1=p1,0p2,1.\rho_{1}=p_{1,0}p_{2,1}. However, while the encoder in the EIA:DU model knows these positions, the encoder in the third write in the EIP:DU model does not know these positions. In order to overcome this difficulty, we use the following family of binary EU:DU WOM codes.

Definition 22

. An [n,2;M1,M2]2EU:DU,(pe1,pe2)(p1,p2)[n,2;M_{1},M_{2}]_{2}^{EU:DU,(p_{e_{1}},p_{e_{2}})}(p_{1},p_{2}) two-write binary EU:DU WOM code is a coding scheme comprising of nn bits. It consists of two pairs of encoding and decoding maps (jEU:DU,𝒟jEU:DU)(\mathcal{E}_{j}^{EU:DU},\mathcal{D}_{j}^{EU:DU}) for j=1,2j=1,2. For the map jEU:DU\mathcal{E}_{j}^{EU:DU}, Im(jEU:DU)Im(\mathcal{E}_{j}^{EU:DU}) is its image and Im(jEU:DU)Im^{*}(\mathcal{E}_{j}^{EU:DU}) is the set of all the cell-state vectors which can be obtained after the jj-th write. We note that Im(0EU:DU)=Im(0EU:DU)={(0,,0)}Im(\mathcal{E}_{0}^{EU:DU})=Im^{*}(\mathcal{E}_{0}^{EU:DU})=\{(0,\ldots,0)\} and Im(2EU:DU)={max{𝒄1,𝒄2} where 𝒄iIm(iEU:DU):i=1,2}Im^{*}(\mathcal{E}_{2}^{EU:DU})=\{\max\{{\boldsymbol{c}}_{1},{\boldsymbol{c}}_{2}\}\text{ where }{\boldsymbol{c}}_{i}\in Im(\mathcal{E}_{i}^{EU:DU}):i=1,2\}. The encoding and decoding maps are defined as follows. For j=1,2j=1,2,

jEU:DU:[Mj](n,(1pj,pj))\mathcal{E}_{j}^{EU:DU}:[M_{j}]\to\mathcal{B}(n,(1-p_{j},p_{j}))

and

𝒟jEU:DU:Im(jEU:DU)[Mj]\mathcal{D}_{j}^{EU:DU}:Im^{*}(\mathcal{E}_{j}^{EU:DU})\to[M_{j}]

such that for all m[Mj]m\in[M_{j}],

(m,𝒄)[Mj]×Im(j1EU:DU)Pr(m)Pr(𝒄)Im(𝒟jEU:DU(max{𝒄,jEU:DI(m)}))pei.\sum_{\hskip 52.743pt(m,{\boldsymbol{c}})\in[M_{j}]\times Im^{*}({\cal E}_{j-1}^{EU:DU})}Pr(m)Pr({\boldsymbol{c}})I_{m}\left({\cal D}_{j}^{EU:DU}(\max\{{\boldsymbol{c}},{\cal E}_{j}^{EU:DI}(m)\})\right)\leqslant p_{e_{i}}.

Two-write binary EU:DU WOM codes have been studied for a long time [24]. Recently, in [12] several constructions of EU:DU WOM codes were presented. Assume that there exists a capacity achieving code for the ZZ channel, then the following result for EU:DU WOM codes can be received based upon the constructions from [12].

Lemma 23

.[12] For all 0p1,p20.50\leqslant p_{1},p_{2}\leqslant 0.5 and ϵ>0\epsilon>0 there exists an [n,2;M1,M2]EU:DU,(0,ϵ)[n,2;M_{1},M_{2}]^{EU:DU,(0,\epsilon)} two-write binary EU:DU WOM code satisfying:

  1. 𝒄1(n,(1p1,p1)){\boldsymbol{c}}_{1}\in\mathcal{B}(n,(1-p_{1},p_{1})), and R1=logM1nh(p1)ϵ.R_{1}=\frac{\log M_{1}}{n}\geqslant h(p_{1})-\epsilon.

  2. 𝒄2(n,(1p2,p2)){\boldsymbol{c}}_{2}\in\mathcal{B}(n,(1-p_{2},p_{2})), and R2=logM2nh(p1p2)p2h(p1)ϵR_{2}=\frac{\log M_{2}}{n}\geqslant h(p_{1}p_{2})-p_{2}h(p_{1})-\epsilon,

where 𝒄iIm(iEU:DU){\boldsymbol{c}}_{i}\in Im(\mathcal{E}_{i}^{EU:DU}) for i=1,2i=1,2.

We refer to the family of WOM codes from Lemma 23 as an [n,2;M1,M2]qEU:DU,(0,ϵ)(ϵ,p1,p2)[n,2;M_{1},M_{2}]_{q}^{EU:DU,(0,\epsilon)}(\epsilon,p_{1},p_{2}) WOM code, where M1=2R1nM_{1}=2^{R_{1}n} and M2=2R2nM_{2}=2^{R_{2}n} are determined as the maximal possible values based on ϵ\epsilon, which tends to zero, and the probabilities p1p_{1} and p2p_{2}.

We are now ready to present a construction of two-change three-write EIP:DU ELM code.

Construction 24

. Given p1,0,p2,0,p2,1,p3[0,0.5]p_{1,0},p_{2,0},p_{2,1},p_{3}\in[0,0.5], we use the following two codes:

  • An [n,3,2;M1,M2,M3]EIA:DU,z[n,3,2;M_{1},M_{2},M^{\prime}_{3}]^{EIA:DU,z} code from Construction 9 with the first two pairs of encoder/decoder (iEIA:DU,𝒟iEIA:DU)(\mathcal{E}^{EIA:DU}_{i},\mathcal{D}^{EIA:DU}_{i}) for i=1,2.i=1,2.

  • An [n,2;M1,M3]EU:DU,(0,ϵ))(ϵ,ρ1,p3)[n,2;M^{\prime}_{1},M_{3}]^{EU:DU,(0,\epsilon))}(\epsilon,\rho_{1},p_{3}) two-write binary EU:DU WOM code from Lemma 23, ρ1=p1,0p2,1\rho_{1}=p_{1,0}p_{2,1}, with the pair of encoder/decoder in the second write (2EU:DU,𝒟2EU:DU).(\mathcal{E}_{2}^{EU:DU},\mathcal{D}_{2}^{EU:DU}).

We construct an [n,3,2;M1,M2,M3]EIP:DU,(0,0,ϵ)[n,3,2;M_{1},M_{2},M_{3}]^{EIP:DU,(0,0,\epsilon)} two-change three-write EIP:DU ELM code where its 3 pairs of encoding/decoding maps (jEIP:DU,𝒟jEIP:DU)(\mathcal{E}^{EIP:DU}_{j},\mathcal{D}^{EIP:DU}_{j}) for j=1,2,3j=1,2,3 are defined as follows.

  1. (1)

    For i=1,2i=1,2, iEIP:DU=iEIA:DU\mathcal{E}^{EIP:DU}_{i}=\mathcal{E}^{EIA:DU}_{i} and 𝒟iEIP:DU=𝒟iEIA:DU\mathcal{D}^{EIP:DU}_{i}=\mathcal{D}^{EIA:DU}_{i}. That is, the first two writes of this EIP:DU ELM code are exactly the same as the first two writes of the EIA:DU ELM code from Construction 9.

  2. (2)

    After the first two writes, we note that ρ1n\rho_{1}n cells are already programmed twice, and thus can not be programmed this time. Hence, we use the pair of encoder/decoder (2EU:DU,𝒟2EU:DU)(\mathcal{E}_{2}^{EU:DU},\mathcal{D}_{2}^{EU:DU}) to encode/decode information. The pair of encoder/decoder in the third write is defined formally as follows:

    3EIP:DU:[M3]×Im(2EIP:DU)[2]n\mathcal{E}^{EIP:DU}_{3}:[M_{3}]\times Im^{*}(\mathcal{E}^{EIP:DU}_{2})\to[2]^{n}

    such that for all m3[M3]m_{3}\in[M_{3}] and 𝒄2Im(2EIP:DU){\boldsymbol{c}}_{2}\in Im^{*}(\mathcal{E}^{EIP:DU}_{2}), 3EIP:DU(m3,𝒄2)=2EU:DU(m3)¯.\mathcal{E}^{EIP:DU}_{3}(m_{3},{\boldsymbol{c}}_{2})=\overline{\mathcal{E}_{2}^{EU:DU}(m_{3})}. Furthermore,

    𝒟3EIP:DU:Im(3EIP:DU)[M3]\mathcal{D}^{EIP:DU}_{3}:Im^{*}(\mathcal{E}_{3}^{EIP:DU})\to[M_{3}]

    such that for all 𝒄3Im(3EU:DU),{\boldsymbol{c}}_{3}^{*}\in Im^{*}(\mathcal{E}_{3}^{EU:DU}), 𝒟3EIP:DU(𝒄3)=𝒟2EU:DU(𝒄3¯)=m3.\mathcal{D}^{EIP:DU}_{3}({\boldsymbol{c}}_{3}^{*})=\mathcal{D}^{EU:DU}_{2}(\overline{{\boldsymbol{c}}_{3}^{*}})=m_{3}.

On the first two writes, it is clear that R1h(p1,0)ϵR_{1}\geqslant h(p_{1,0})-\epsilon and R2(1p1,0)h(p2,0)+p1,0h(p2,1)ϵR_{2}\geqslant(1-p_{1,0})h(p_{2,0})+p_{1,0}h(p_{2,1})-\epsilon. In the third write, R3h(p1,0p2,1p3)p3h(p1,0p2,1)ϵR_{3}\geqslant h(p_{1,0}p_{2,1}p_{3})-p_{3}h(p_{1,0}p_{2,1})-\epsilon.

In conclusion, we constructed a two-change three-write EIP:DU ELM code satisfying R1h(p1,0)ϵR_{1}\geqslant h(p_{1,0})-\epsilon, R2(1p1,0)h(p2,0)+p1,0h(p2,1)ϵR_{2}\geqslant(1-p_{1,0})h(p_{2,0})+p_{1,0}h(p_{2,1})-\epsilon and R3h(p1,0p2,1p3)p3h(p1,0p2,1)ϵR_{3}\geqslant h(p_{1,0}p_{2,1}p_{3})-p_{3}h(p_{1,0}p_{2,1})-\epsilon for all ϵ>0\epsilon>0.

Therefore, the following region is achievable for the ϵ\epsilon-error case:

C3,2EIP:DU={\displaystyle C^{EIP:DU}_{3,2}=\{ (R1,R2,R3):R1h(p1,0),\displaystyle(R_{1},R_{2},R_{3}):R_{1}\leqslant h(p_{1,0}),
R2(1p1,0)h(p2,0)+p1,0h(p2,1),\displaystyle R_{2}\leqslant(1-p_{1,0})h(p_{2,0})+p_{1,0}h(p_{2,1}),
R3h(p1,0p2,1p3)p3h(p1,0p2,1),\displaystyle R_{3}\leqslant h(p_{1,0}p_{2,1}p_{3})-p_{3}h(p_{1,0}p_{2,1}),
p1,0,p2,0,p2,1,p3[0,1]}.\displaystyle p_{1,0},p_{2,0},p_{2,1},p_{3}\in[0,1]\}.

The sum-rate of the above code is Rsum=R1+R2+R3h(p1,0)+(1p1,0)h(p2,0)+p1,0h(p2,1)+h(p1,0p2,1p3)p3h(p1,0p2,1)ϵR_{sum}=R_{1}+R_{2}+R_{3}\geqslant h(p_{1,0})+(1-p_{1,0})h(p_{2,0})+p_{1,0}h(p_{2,1})+h(p_{1,0}p_{2,1}p_{3})-p_{3}h(p_{1,0}p_{2,1})-\epsilon for any ϵ>0\epsilon>0. By choosing p1,0=3/7,p2,0=1/2,p2,1=2/3p_{1,0}=3/7,p_{2,0}=1/2,p_{2,1}=2/3, and p3=1/2p_{3}=1/2, we obtain the sum-rate Rsum=R1+R2+R32.64.R_{sum}=R_{1}+R_{2}+R_{3}\approx 2.64.

Remark 2

. In this section, we construct a family of zero-error \ell-change tt-write EIP:DU ELM codes for any \ell and tt. Using some efficient encoding/decoding algorithms of the well-known binary tt-write EI:DU WOM codes, we can encode/decode our EIP:DU ELM codes efficiently in polynomial time. When nn tends to infinity, we can obtain some codes with high sum-rate and thus get a lower bound on the maximal sum-rate of the EIP:DU model. We note that the lower bound is not tight even though it is close to the upper bound. We actually improve the lower bound for the ϵ\epsilon-error case when =2\ell=2 and t=3t=3 in Construction 24. Using some known polynomial time encoding/decoding algorithms of a two-write EU:DU WOM code in Lemma 23[12], the encoding and decoding algorithms in Construction 24 also run in polynomial time. Since the exact capacity region and the maximum sum-rate of the EIP:DU model are not known yet, we expect to have better constructions in near future.

VIII Conclusion

In this paper, we have proposed and studied a new coding scheme, called ELM codes. This family of codes can be used to increase the endurance of resistive memories by rewriting codes. This new family of rewriting codes generalizes the well-known WOM codes. We investigated the coding schemes of nine different models which depend upon the knowledge of the encoder and the decoder. In all these models, we focused on the capacity region and the achievable maximum sum-rate. In several important models, we also presented constructions of ELM codes with high sum-rate and some constructions of capacity-achieving codes. For future work, we are interested in practical constructions of capacity-achieving codes with efficient encoding/decoding algorithms, especially in the EIP:DU model.

Appendix A

Theorem 13 - the converse part.

The rates region 𝒞~t,\widetilde{{\cal{C}}}_{t,\ell} is a superset of the capacity region of tt-write \ell-change ELM EIP:DIA model for the ϵ\epsilon-error case. That is, 𝒞t,EIP:DIA,ϵ𝒞~t,.{\cal{C}}_{t,\ell}^{EIP:DIA,\epsilon}\subseteq\widetilde{{\cal{C}}}_{t,\ell}.

Proof:

Let SjS_{j}, S^j\hat{S}_{j}, VjV_{j}, 1jt1\leqslant j\leqslant t, and LL be defined as in the proof of the converse part in Theorem 2. Thus, exactly as proved in Theorem 2, we have I(Xj;Yj|Vj1)I(Sj;S^j|Vj1)I(X_{j};Y_{j}|V_{j-1})\geqslant I(S_{j};\hat{S}_{j}|V_{j-1}), I(Sj;S^j|Vj1)log(Mj)H(pej)pejlog(Mj)I(S_{j};\hat{S}_{j}|V_{j-1})\geqslant\log(M_{j})-H(p_{e_{j}})-p_{e_{j}}\log(M_{j}), and

1nI(Xj;Yj|Vj1)i=01Pr(Vj1,L=i)H(Yj,L|Vj1,L=i).\dfrac{1}{n}I(X_{j};Y_{j}|V_{j-1})\leqslant\sum_{i=0}^{\ell-1}Pr(V_{j-1,L}=i)H(Y_{j,L}|V_{j-1,L}=i).

Now, we set pj,0=Pr(Xj,L=1|Vj1,Lmod2=0)p_{j,0}=Pr(X_{j,L}=1|V_{j-1,L}\mod 2=0) and similarly pj,1=Pr(Xj,L=0|Vj1,Lmod2=1)p_{j,1}=Pr(X_{j,L}=0|V_{j-1,L}\mod 2=1). Thus, for even i<i<\ell H(Yj,L|Vj1,L=i)=H(pj,0)H(Y_{j,L}|V_{j-1,L}=i)=H(p_{j,0}), and for odd i<i<\ell H(Yj,L|Vj1,L=i)=H(pj,1)H(Y_{j,L}|V_{j-1,L}=i)=H(p_{j,1}). We also define for i[+1]i\in[\ell+1] Qj,i=Pr(Vj,L=i)Q_{j,i}=Pr(V_{j,L}=i), and we note that Qj,iQ_{j,i} can be calculated as in Equation (4), and we use the notations Qj,oQ_{j,o} and Qj,eQ_{j,e} as defined above. Then,

log(Mj)nϵj1nI(Xj;Yj|Vj1)i=01Pr(Vj1,L=i)H(Yj,L|Vj1,L=i)=i=1/2(Qj1,2i1h(pj,1)+Qj1,2i2h(pj,0))=h(pj,1)i=1/2Qj1,2i1+h(pj,0)i=1/2Qj1,2i2=Qj1,oh(pj,1)+(Qj1,eQj1,)h(pj,0),\begin{array}[]{ll}\dfrac{\log(M_{j})}{n}-\epsilon_{j}&\leqslant\dfrac{1}{n}I(X_{j};Y_{j}|V_{j-1})\\ &\leqslant\sum_{i=0}^{\ell-1}Pr(V_{j-1,L}=i)H(Y_{j,L}|V_{j-1,L}=i)\\ &=\sum_{i=1}^{\ell/2}\left(Q_{j-1,2i-1}h\left(p_{j,1}\right)+Q_{j-1,2i-2}h\left(p_{j,0}\right)\right)\\ &=h\left(p_{j,1}\right)\sum_{i=1}^{\ell/2}Q_{j-1,2i-1}+h\left(p_{j,0}\right)\sum_{i=1}^{\ell/2}Q_{j-1,2i-2}\\ &=Q_{j-1,o}h\left(p_{j,1}\right)+(Q_{j-1,e}-Q_{j-1,\ell})h\left(p_{j,0}\right),\end{array}

where ϵj=H(pej)+pejlog(Mj)n\epsilon_{j}=\frac{H(p_{e_{j}})+p_{e_{j}}\log(M_{j})}{n}, and the claim is implied. ∎

Theorem 17.

The rates region 𝒞¯t,\overline{{\cal{C}}}_{t,\ell} is the capacity region of tt-write \ell-change ELM EU:DIA model for the ϵ\epsilon-error case. That is, 𝒞¯t,=𝒞t,EU:DIA,ϵ\overline{{\cal{C}}}_{t,\ell}={\cal{C}}_{t,\ell}^{EU:DIA,\epsilon}.

Proof:

To show the achievable region, we should prove that for each ϵ>0\epsilon>0 and (R1,R2,,Rt)𝒞¯t,(R_{1},R_{2},\ldots,R_{t})\in\overline{{\cal{C}}}_{t,\ell}, there exists an
[n,t;M1,,Mt]t,EU:DIA,𝒑e[n,t;M_{1},\ldots,M_{t}]_{t,\ell}^{EU:DIA,{\boldsymbol{p}}_{e}} ELM code, where for all 1jt1\leqslant j\leqslant t, logMjnRjϵ\frac{\log M_{j}}{n}\geqslant R_{j}-\epsilon and 𝒑e=(pe1,,pet)(ϵ,,ϵ){\boldsymbol{p}}_{e}=(p_{e_{1}},\ldots,p_{e_{t}})\leqslant(\epsilon,\ldots,\epsilon). We use the well-known random channel-coding theorem [8, p. 200] on each write. We describe the encoding and decoding on each write.

The jj-th write presents a DMC with the input length-nn binary vector XjX_{j} and the output is (Zj1,Yj)(Z_{j-1},Y_{j}), where Zj1[+1]nZ_{j-1}\in[\ell+1]^{n} represents the times each cell was programmed before the jj-th write, and Yj[2]nY_{j}\in[2]^{n} represent the state of the memory after the jj-th write. Let xj=Xj,kx_{j}=X_{j,k}, zj=Zj1,kz_{j}=Z_{j-1,k}, and yj=Yj,ky_{j}=Y_{j,k} for some index kk. By the random coding theorem, for nn large enough, the following region is achievable

{(R1,,Rt)|1jt,RjI(xj;yj)}.\begin{array}[]{ll}\Big{\{}(R_{1},\ldots,R_{t})|&\forall 1\leqslant j\leqslant t,R_{j}\leqslant I(x_{j};y_{j})\Big{\}}.\end{array}

By the definitions and notations of the probabilities pjp_{j^{\prime}} and Qj,iQ_{j^{\prime},i^{\prime}},

I(xj;(zj1,yj))\displaystyle I(x_{j};(z_{j-1},y_{j})) =H(zj1,yj)H(zj1,yj|xj)\displaystyle{=}H(z_{j-1},y_{j})-H(z_{j-1},y_{j}|x_{j})
=H(zj1)+H(yj|zj1)H(zj1,yj|xj)\displaystyle=H(z_{j-1})+H(y_{j}|z_{j-1})-H(z_{j-1},y_{j}|x_{j})
=(a)H(zj1)+H(yj|zj1)H(zj1)\displaystyle\overset{(a)}{=}H(z_{j-1})+H(y_{j}|z_{j-1})-H(z_{j-1})
=H(yj|zj1)\displaystyle=H(y_{j}|z_{j-1})
=i=0Pr(zj1=i)H(yj|zj1=i)\displaystyle=\sum_{i=0}^{\ell}Pr(z_{j-1}=i)H(y_{j}|z_{j-1}=i)
=(b)i=01Pr(zj1=i)H(yj|zj1=i)\displaystyle\overset{(b)}{=}\sum_{i=0}^{\ell-1}Pr(z_{j-1}=i)H(y_{j}|z_{j-1}=i)
=i=11Qj1,ih(pj)\displaystyle=\sum_{i=1}^{\ell-1}Q_{j-1,i}h\left(p_{j}\right)
=(1Qj1,)h(pj).\displaystyle=\left(1-Q_{j-1,\ell}\right)h\left(p_{j}\right).

Step (a)(a) follows from H((zj1,yj)|xi)=H(zj1|xj)H((z_{j-1},y_{j})|x_{i})=H(z_{j-1}|x_{j}) since yjy_{j} is a function of xj,zj1x_{j},z_{j-1}, and H(zj1|xj)=H(zj1)H(z_{j-1}|x_{j})=H(z_{j-1}) because zj1z_{j-1} is independent on xjx_{j}. Step (b)(b) is implied by H(yj|zj1=)=0H(y_{j}|z_{j-1}=\ell)=0. Hence, we can achieve the region 𝒞~t,\widetilde{{\cal{C}}}_{t,\ell} for the \ell-change tt-write W\ellM EIP:DIA model for the ϵ\epsilon-error case.

The proof of the converse part is similar to the proof of this part in Theorem 2. Let SjS_{j}, S^j\hat{S}_{j}, VjV_{j}, 1jt1\leqslant j\leqslant t, and LL be defined as in the proof of the converse part in Theorem 2. Thus, exactly as proved in Theorem 2, we have I(Xj;Yj|Vj1)I(Sj;S^j|Vj1)I(X_{j};Y_{j}|V_{j-1})\geqslant I(S_{j};\hat{S}_{j}|V_{j-1}), I(Sj;S^j|Vj1)log(Mj)H(pej)pejlog(Mj)I(S_{j};\hat{S}_{j}|V_{j-1})\geqslant\log(M_{j})-H(p_{e_{j}})-p_{e_{j}}\log(M_{j}), and

1nI(Xj;Yj|Vj1)i=01Pr(Vj1,L=i)H(Yj,L|Vj1,L=i).\dfrac{1}{n}I(X_{j};Y_{j}|V_{j-1})\leqslant\sum_{i=0}^{\ell-1}Pr(V_{j-1,L}=i)H(Y_{j,L}|V_{j-1,L}=i).

Now, we set pj=Pr(Xj,L=1)p_{j}=Pr(X_{j,L}=1). Thus, for i<i<\ell H(Yj,L|Vj1,L=i)=h(pj)H(Y_{j,L}|V_{j-1,L}=i)=h(p_{j}). We also define for i[+1]i\in[\ell+1] Qj,i=Pr(Vj,L=i)Q_{j,i}=Pr(V_{j,L}=i) and we note that Qj,iQ_{j,i} can be calculated as in Equation (4). Then

log(Mj)nϵj1nI(Xj;Yj|Vj1)i=01Pr(Vj1,L=i)H(Yj,L|Vj1,L=i)=i=11Qj1,ih(pj)=(1Qj1,)h(pj),\begin{array}[]{ll}\dfrac{\log(M_{j})}{n}-\epsilon_{j}&\leqslant\dfrac{1}{n}I(X_{j};Y_{j}|V_{j-1})\\ &\leqslant\sum_{i=0}^{\ell-1}Pr(V_{j-1,L}=i)H(Y_{j,L}|V_{j-1,L}=i)\\ &=\sum_{i=1}^{\ell-1}Q_{j-1,i}h\left(p_{j}\right)=\left(1-Q_{j-1,\ell}\right)h\left(p_{j}\right),\\ \end{array}

where ϵj=H(pej)+pejlog(Mj)n\epsilon_{j}=\frac{H(p_{e_{j}})+p_{e_{j}}\log(M_{j})}{n}, and the theorem is implied. ∎

Theorem 18.

For t>2t>\ell\geqslant 2, t,EU:DIA,ϵ<t,EIP:DIA,ϵ{\cal R}^{EU:DIA,\epsilon}_{t,\ell}<{\cal R}^{EIP:DIA,\epsilon}_{t,\ell}, and hence 𝒞t,EU:DIA,ϵ𝒞t,EIP:DIA,ϵ{\cal{C}}^{EU:DIA,\epsilon}_{t,\ell}\subsetneq{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}.

Proof:

Let 𝐑¯=(R¯1,R¯2,,R¯t)\overline{{\mathbf{R}}}=(\overline{R}_{1},\overline{R}_{2},\ldots,\overline{R}_{t}) be a rate tuple which achieves the maximum sum-rate t,EU:DIA,ϵ{\cal R}^{EU:DIA,\epsilon}_{t,\ell}, and we denote by p¯j{\overline{p}}_{j} and Q¯j,i\overline{Q}_{j,i}, 1jt1\leqslant j\leqslant t and i[+1]i\in[\ell+1], the probabilities which attain 𝐑¯\overline{{\mathbf{R}}} in 𝒞¯t,\overline{{\cal{C}}}_{t,\ell}.

Now we present a rate tuple 𝐑~=(R~1,R~2,,R~t)𝒞~t,>𝐑¯\widetilde{{\mathbf{R}}}=(\widetilde{R}_{1},\widetilde{R}_{2},\ldots,\widetilde{R}_{t})\in{\widetilde{{\cal{C}}}}_{t,\ell}>\overline{{\mathbf{R}}}. Then, we conclude that 𝐑~𝒞t,EIP:DIA,ϵ𝒞t,EU:DIA,ϵ\widetilde{{\mathbf{R}}}\in{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}\setminus{\cal{C}}^{EU:DIA,\epsilon}_{t,\ell}, which implies that t,EU:DIA,ϵ<t,EIP:DIA,ϵ{\cal R}^{EU:DIA,\epsilon}_{t,\ell}<{\cal R}^{EIP:DIA,\epsilon}_{t,\ell} and 𝒞t,EU:DIA,ϵ𝒞t,EIP:DIA,ϵ{\cal{C}}^{EU:DIA,\epsilon}_{t,\ell}\subsetneq{\cal{C}}^{EIP:DIA,\epsilon}_{t,\ell}.

We assume now that \ell is even, while the proof for the odd case is similar. Since 𝐑¯\overline{{\mathbf{R}}} achieves maximum sum-rate we have p¯t=0.5\overline{p}_{t}=0.5. For all jj and ii, 1jt21\leqslant j\leqslant t-2 and i[]i\in[\ell], we define p~j,0=p~j,1=p¯j\widetilde{p}_{j,0}=\widetilde{p}_{j,1}=\overline{p}_{j}. In addition, p~t1,0=0.5\widetilde{p}_{t-1,0}=0.5, p~t1,1=p¯t1\widetilde{p}_{t-1,1}=\overline{p}_{t-1}, and p~t,0=p~t,1=0.5\widetilde{p}_{t,0}=\widetilde{p}_{t,1}=0.5.

Thus, for all jj and ii, 1jt21\leqslant j\leqslant t-2 and i[]i\in[\ell], R~j=R¯j\widetilde{R}_{j}=\overline{R}_{j} and Q~j,i=Q¯j,i\widetilde{Q}_{j,i}=\overline{Q}_{j,i}. For the (t1)(t-1)-th write we have, R~t1=Q¯t2,oh(p¯t1)+(Q¯t2,eQ¯t2,)\widetilde{R}_{t-1}=\overline{Q}_{t-2,o}h(\overline{p}_{t-1})+(\overline{Q}_{t-2,e}-\overline{Q}_{t-2,\ell}) while R¯t1=(1Q¯t2,)h(p¯t1)\overline{R}_{t-1}=(1-\overline{Q}_{t-2,\ell})h(\overline{p}_{t-1}), and for the last write R~t=R¯t=1Q¯t1,\widetilde{R}_{t}=\overline{R}_{t}=1-\overline{Q}_{t-1,\ell},

Now we prove that p¯t1<0.5\overline{p}_{t-1}<0.5 which immediately implies that R~t1>R¯t1\widetilde{R}_{t-1}>\overline{R}_{t-1} and thus completes the proof. Recall that R¯t=1Q¯t1,=1Q¯t2,Q¯t2,1p¯t1\overline{R}_{t}=1-\overline{Q}_{t-1,\ell}=1-\overline{Q}_{t-2,\ell}-\overline{Q}_{t-2,\ell-1}\overline{p}_{t-1}. Thus, given the probabilities for the first t2t-2 writes, in order to achieve the maximal rate tuple 𝐑¯\overline{{\mathbf{R}}} we have to maximize R¯t1+R¯t\overline{R}_{t-1}+\overline{R}_{t}. That is, we choose p¯t1\overline{p}_{t-1} which maximizes (1Q¯t2,)h(p¯t1)Q¯t2,1p¯t1(1-\overline{Q}_{t-2,\ell})h(\overline{p}_{t-1})-\overline{Q}_{t-2,\ell-1}\overline{p}_{t-1}. The derivative is (1Q¯t2,)log(1p¯t1,1p¯t1,1)Q¯t2,1(1-\overline{Q}_{t-2,\ell})\log(\frac{1-\overline{p}_{t-1,1}}{\overline{p}_{t-1,1}})-\overline{Q}_{t-2,\ell-1}, and the maximum is obtained for p¯t1=1/(1+2Q¯t2,1/(1Q¯t2,))\overline{p}_{t-1}=1/(1+2^{{\overline{Q}_{t-2,\ell-1}}/({1-\overline{Q}_{t-2,\ell}})}). Since 𝐑¯\overline{{\mathbf{R}}} is maximal and t>2t>\ell\geqslant 2, we have Q¯t2,1>0{\overline{Q}}_{t-2,\ell-1}>0, and therefore p¯t10.5\overline{p}_{t-1}\neq 0.5.

References

  • [1]
  • [2] Y. M. Chee, T. Etzion, H. M. Kiah and A. Vardy, “Cooling codes: Thermal-management coding for high-performance interconnects,” IEEE Trans. Inform. Theory, vol. 64, no. 4, pp. 3062–3085, Apr. 2018.
  • [3] Y. M. Chee, H. M. Kiah, A. Vardy, and E. Yaakobi, “Explicit constructions of finite-length WOM codes,” IEEE Trans. Inform. Theory, vol. 66, no. 5, pp. 2669–2682, May 2020.
  • [4] Y. M.  Chee, H. M. Kiah, A.  J.  Han Vinck, V. K.  Vu, and E.  Yaakobi, “Coding for write \ell-step-up memories,” Proc. IEEE Int. Symp. on Inform. Theory, pp. 1597–1601, Jul. 2019.
  • [5] Y. M. Chee, M. Horovitz, A. Vardy, H. K. Vu, and E. Yaakobi, “Codes for endurance-limited memories,” Proc. Int. Symp. on Inform. Theory and Its App., Singapore, Oct. 2018.
  • [6] Y. M. Chee, M. Horovitz, A. Vardy, H. K. Vu, and E. Yaakobi, “Endurance-limited memories with informed decoder,” Proc. IEEE Inform. Theory Workshop, Visby, Sweden, Aug. 2019.
  • [7] Y. Chen et al., “Robust high-resistance state and improved endurance of HfOX resistive memory by suppression of current overshoot,” IEEE Electron Device Letters, Vol.  32, no.  11, Nov. 2011.
  • [8] T. M. Cover and J. A. Thomas, Elements of Information Theory, 2nd Edition, John Wiley & Sons, 2012.
  • [9] F. Fu and A. J. H. Vinck, “On the capacity of generalized write-once memory with state transitions described by an arbitrary directed acyclic graph,” IEEE Trans. Inform. Theory, vol. 45, no. 1, pp. 308–313, Jan. 1999.
  • [10] A.  Grossi et al., “Resistive RAM Endurance: Array-Level characterization and correction techniques targeting deep learning applications,” IEEE Trans. Electron Devices, vol. 66, no. 3, pp. 1281–1288, Mar. 2019.
  • [11] C. Heegard, “On the capacity of permanent memory,” IEEE Trans. Inform. Theory, vol. 31, no. 1, pp. 34–42, Jan. 1985.
  • [12] M. Horovitz and E. Yaakobi, “On the capacity of write-once memories,” IEEE Trans. Inform. Theory, vol. 63, no. 8, pp. 5124–5137, Aug. 2017.
  • [13] Y. Kim, A. A. Sharma, R. Mateescu, S. H. Song, Z. Z. Bandic, J. A. Bain, and B. V. K. Vijaya Kumar, “Locally rewritable codes for resistive memories,” IEEE J. Selected Areas in Comm., vol. 34, no. 9, pp. 2470–2485, Sep. 2016.
  • [14] T.  Kobayashi, H.  Morita, and A.  Manada, “On the capacity of write-constrained memories,” IEEE Trans. Inform. Theory, vol.  64, no.  7, pp.  5101–5109, Jul. 2018.
  • [15] R. Maddah, R. Melhem, and S. Cho, “RDIS: Tolerating many stuck-at faults in resistive memory,” IEEE Trans. Computers, vol. 64, no. 3, pp. 847–861, Mar. 2015.
  • [16] D. C. Nguyen, VK. Vu, and C. Kui, “Two-dimensional weight-constrained codes for crossbar resistive memory arrays,” IEEE Communication Letters, vol. 25, no. 5, pp. 1435–1438, May. 2020.
  • [17] A. Rana, “Endurance and Cycle-to-cycle Uniformity Improvement in Tri-Layered CeO2/Ti/CeO2 Resistive Switching Devices by Changing Top Electrode Material,” Scientific Reports, vol.  7, no.  39539, Jan.  2017.
  • [18] R. L. Rivest and A. Shamir, “How to reuse a write-once memory,” Inform. and Contr., vol. 55, no. 1–3, pp. 1–19, Dec. 1982.
  • [19] G.  Sassine, “Sub-pJ consumption and short latency time in RRAM arrays for high endurance applications,” 2018 IEEE Int. Reliability Physics Symp. (IRPS), pp. 1–5, Mar. 2018.
  • [20] S. Schechter, G.H. Loh, K. Strauss, and D. Burger, “Use ECP, not ECC, for hard failures in resistive memories,” Proc. of the 37th Annual Int. Symp. on Comp. Arch., pp. 141–152, Saint-Malo, France, 2010.
  • [21] A. Shpilka, “New constructions of WOM codes using the Wozencraft ensemble,” IEEE Trans. Inform. Theory, Vol. 59, No. 7, 2013.
  • [22] A. Shpilka, “Capacity-achieving multiwrite WOM codes,” IEEE Trans. Inform. Theory, Vol. 60, No. 3, pp.1481–1487, 2014.
  • [23] G. Wang et al., “Improving resistance uniformity and endurance of resistive switching memory by accurately controlling the stress time of pulse program operation,” Appl. Phys. Lett., vol. 106, no. 092103, Mar. 2015.
  • [24] J. K. Wolf, A. D. Wyner, J. Ziv, and J. Korner, “Coding for a write-once memory,” AT&T Bell Labs. Tech. J., vol. 63, no. 6, pp. 1089–1112, 1984.
  • [25] C. Xu, D. Niu, Y. Zheng, S. Yu, and Y. Xie, “Impact of cell failure on reliable cross-point resistive memory design,” ACM Trans. Des. Autom. Electron. Syst., vol. 20, no. 4, pp. 63:1–63:21, Sep. 2015.
  • [26] F. Yuan et al., “Conduction mechanism and improved endurance in HfO2-Based RRAM with nitridation treatment,” Nanoscale Res. Lett., vol. 12, no. 574, Oct. 2017.
  • [27] F. Zahoor,T. Z.  Azni Zulkifli, and F. A.  Khanday, “Resistive random access memory (RRAM): an overview of materials, switching mechanism, performance, multilevel cell (mlc) storage, modeling, and applications,” Nanoscale Res. Lett. vol. 15, no.  90, Apr. 2020.
  • [28] L. Zhang, B. Neely, D. Franklin, D. Strukov, Y. Xie, and F. T. Chong, “Mellow writes: Extending lifetime in resistive memories through selective slow write backs,” 2016 ACM/IEEE 43rd Annual Int. Symp. on Comp. Arch., pp.  519–531, Jun. 2016.
  • [29] M. Zhao et al., “Characterizing endurance degradation of incremental switching in analog RRAM for neuromorphic systems,” 2018 IEEE Int. Electron Devices Meeting (IEDM), pp. 468–471, Dec. 2018.