Certain storage media such as flash memories use write-asymmetric, multi-level storage elements. In such media, data is stored in a multi-level memory cell the contents of which can only be increased, or reset. The reset operation is expensive and should be delayed as much as possible. Mathematically, we consider the problem of writing a binary sequence into write-asymmetric q-ary cells, while recording the last r bits written. We want to maximize t, the number of possible writes, before a reset is needed. We introduce the term buffer code, to describe the solution to this problem. A buffer code is a code that remembers the r most recent values of a variable. We present the construction of a single-cell (n=1) buffer code that can store a binary (I=2) variable with t=lfloorq/2r-1rfloor+r-2 and a universal upper bound to the number of rewrites that a single-cell buffer code can have: tleslfloorq-1/lr-1rfloormiddotr+lfloorlogl{[(q-1) mod (lr-1)]+1}rfloor. We also show a binary buffer code with arbitrary n, q, r, namely, the code uses n q-ary cells to remember the r most recent values of one binary variable. The code can rewrite the variable t=(q-1)(n-2r+1)+r-1 times, which is asymptotically optimal in q and n. We then extend the code construction for the case r=2, and obtain a code that can rewrite the variable t=(q-1)(n-2)+1 times. When q=2, the code is strictly optimal.
[1]
P ? ? ? ? ? ? ? % ? ? ? ?
,
1991
.
[2]
Chris Heegard,et al.
On the capacity of permanent memory
,
1985,
IEEE Trans. Inf. Theory.
[3]
Carla Golla,et al.
Flash Memories
,
1999
.
[4]
Adi Shamir,et al.
How to Reuse a "Write-Once" Memory
,
1982,
Inf. Control..
[5]
A. J. Han Vinck,et al.
On the general defective channel with informed encoder and capacities of some constrained memories
,
1994,
IEEE Trans. Inf. Theory.
[6]
Womcodes constructed with projective geometries
,
.
[7]
Amy Hsiu-Fen Chou,et al.
Flash Memories
,
2000,
The VLSI Handbook.
[8]
A. Fiat,et al.
Generalized 'write-once' memories
,
1984,
IEEE Trans. Inf. Theory.
[9]
Jack K. Wolf,et al.
Coding for a write-once memory
,
1984,
AT&T Bell Laboratories Technical Journal.
[10]
G. G. Stokes.
"J."
,
1890,
The New Yale Book of Quotations.
[11]
Guido Torelli,et al.
On-chip error correcting techniques for new-generation flash memories
,
2003,
Proc. IEEE.
[12]
A. J. Han Vinck,et al.
On the Capacity of Generalized Write-Once Memory with State Transitions Described by an Arbitrary Directed Acyclic Graph
,
1999,
IEEE Trans. Inf. Theory.