## Rank modulation for flash memories (2009)

### Cached

### Download Links

Citations: | 50 - 30 self |

### BibTeX

@MISC{Jiang09rankmodulation,

author = {Anxiao (Andrew) Jiang and Robert Mateescu and Moshe Schwartz and Jehoshua Bruck},

title = {Rank modulation for flash memories},

year = {2009}

}

### OpenURL

### Abstract

We explore a novel data representation scheme for multilevel flash memory cells, in which a set of n cells stores information in the permutation induced by the different charge levels of the individual cells. The only allowed charge-placement mechanism is a “push-to-the-top” operation, which takes a single cell of the set and makes it the top-charged cell. The resulting scheme eliminates the need for discrete cell levels, as well as overshoot errors, when programming cells. We present unrestricted Gray codes spanning all possible n-cell states and using only “push-to-the-top” operations, and also construct balanced Gray codes. One important application of the Gray codes is the realization of logic multilevel cells, which is useful in conventional storage solutions. We also investigate rewriting schemes for random data modification. We present both an optimal scheme for the worst case rewrite performance and an approximation scheme for the average-case rewrite performance.

### Citations

1026 |
A method for the construction of minimum redundancy codes
- Huffman
- 1952
(Show Context)
Citation Context ...ll the possible rewrites, the expected rewrite cost is always less than , the average codeword length. The optimal prefix-free code cannot be constructed with a greedy algorithm like the Huffman code =-=[19]-=-, because the internal nodes in different layers of the full permutation tree have different degrees, making the distribution of the vertex degrees in the code tree initially unknown. The Huffman code... |

733 |
The art of computer programming. Volume 3. Sorting and searching
- Knuth
- 1973
(Show Context)
Citation Context ...pproach similar to the simple algorithms described in [27] requires . This can be improved to by using merge–sort counting, or a binary search tree, or modular arithmetic, all techniques described in =-=[25]-=-. This can be further improved to [30], by using the special data structure of Dietz [7]. In [30] linear time complexity is also achieved by departing from lexicographic ordering. A linear time comple... |

121 |
On the capacity of computer memories with defects
- Heegard, Gamal
- 1983
(Show Context)
Citation Context ... [17], [32], [36], which are codes for effective rewriting of a single variable stored in cells that have irreversible state transitions. The study in this area also includes defective memories [16], =-=[18]-=-, where defects (such as “stuck-at faults”) randomly happen to memory cells and how to store the maximum amount of information is considered. In all the above codes, unlike rank modulation, the states... |

96 | Pulse code communications - Gray - 1953 |

90 | A server of combinatorial Gray codes
- Savage
- 1997
(Show Context)
Citation Context ...nimal with respect to some cost function, thus creating a traversal of the state space that is minimal in total cost. For a comprehensive survey of combinatorial Gray codes, the reader is referred to =-=[33]-=-. One application of the Gray codes is the realization of logic multilevel cells with rank modulation. The traversal of states by the Gray code is mapped to the increase of the cell level in a classic... |

57 |
Generalized “ write-once” memories
- Fiat, Shamir
- 1984
(Show Context)
Citation Context ...data. Both floating codes and buffer codes use the flash cells in a conventional way, namely, the fixed discrete cell levels. Floating codes are an extension of the write-once memory (WOM) codes [6], =-=[10]-=-, [11], [17], [32], [36], which are codes for effective rewriting of a single variable stored in cells that have irreversible state transitions. The study in this area also includes defective memories... |

44 |
Two inequalities implied by unique decipherability
- McMillan
- 1956
(Show Context)
Citation Context ...evident that the success of this proof strategy hinges on the existence of for every , which we now turn to consider. The following lemma is an application of the well-known Kraft–McMillan inequality =-=[29]-=-. Lemma 23: Let be nonnegative integers. There exists a set of prefix sequences with exactly prefix sequences of length , for (i.e., there are leaves in layer of the code tree ), if and only if This s... |

40 | Floating codes for joint information storage in write asymmetric memories
- Jiang, Bohossian, et al.
(Show Context)
Citation Context ... efficient rewriting schemes for rank modulation. Since it is costly to erase and reprogram cells, we try to maximize the number of times data can be rewritten between two erase operations [4], [21], =-=[22]-=-. For rank modulation, the key is to minimize the highest charge level of cells. We present two rewriting schemes that are, respectively, optimized for the worst case and the average-case performance.... |

37 | A dynamic programming algorithm for constructing optimal prefix-free codes for unequal letter costs
- Golin, Rote
- 1998
(Show Context)
Citation Context ...and nonlinear costs were presented. When the letters of the encoding alphabet have unequal lengths, only exponential-time algorithms are known, and it is not known yet whether this problem is NP-hard =-=[12]-=-. To construct prefix-free codes for our problem, which minimize the average codeword length, we present a dynamic-programming algorithm of time complexity . Note that without loss of generality, we c... |

36 |
Optimal algorithms for list indexing and subset rank
- Dietz
- 1989
(Show Context)
Citation Context ...d to by using merge–sort counting, or a binary search tree, or modular arithmetic, all techniques described in [25]. This can be further improved to [30], by using the special data structure of Dietz =-=[7]-=-. In [30] linear time complexity is also achieved by departing from lexicographic ordering. A linear time complexity is finally achieved in [28], by using the fact that the word size has to be in orde... |

35 |
Permutation generation methods
- Sedgewick
- 1997
(Show Context)
Citation Context ...e a simple algorithm for generating the list of permutations. Efficient generation of permutations has been the subject of much research as described in the general survey [33], and the more specific =-=[34]-=- (and references therein). In [34], the transitions we use in this paper are called “nested cycling,” and the algorithms cited there produce lists that are not Gray codes since some of the permutation... |

33 |
On the capacity of generalized write-once memory with state transitions described by an arbitrary directed acyclic graph
- Fu, Vinck
- 1999
(Show Context)
Citation Context ...Both floating codes and buffer codes use the flash cells in a conventional way, namely, the fixed discrete cell levels. Floating codes are an extension of the write-once memory (WOM) codes [6], [10], =-=[11]-=-, [17], [32], [36], which are codes for effective rewriting of a single variable stored in cells that have irreversible state transitions. The study in this area also includes defective memories [16],... |

32 |
Permutation modulation
- Slepian
- 1965
(Show Context)
Citation Context ...imum amount of information is considered. In all the above codes, unlike rank modulation, the states of different cells do not relate to each other. Also related is the work on permutation codes [3], =-=[35]-=-, used for data transmission or signal quantization. The paper is organized as follows: Section II describes a Gray code that is cyclic and complete (i.e., it spans the entire symmetric group of permu... |

30 |
On the capacity of permanent memory
- Heegard
- 1985
(Show Context)
Citation Context ...loating codes and buffer codes use the flash cells in a conventional way, namely, the fixed discrete cell levels. Floating codes are an extension of the write-once memory (WOM) codes [6], [10], [11], =-=[17]-=-, [32], [36], which are codes for effective rewriting of a single variable stored in cells that have irreversible state transitions. The study in this area also includes defective memories [16], [18],... |

28 |
Permutation codes for sources
- Berger, Jelinek, et al.
- 1972
(Show Context)
Citation Context ...e maximum amount of information is considered. In all the above codes, unlike rank modulation, the states of different cells do not relate to each other. Also related is the work on permutation codes =-=[3]-=-, [35], used for data transmission or signal quantization. The paper is organized as follows: Section II describes a Gray code that is cyclic and complete (i.e., it spans the entire symmetric group of... |

28 |
Coding for a write-once memory
- Wolf, Wyner, et al.
- 1984
(Show Context)
Citation Context ...s and buffer codes use the flash cells in a conventional way, namely, the fixed discrete cell levels. Floating codes are an extension of the write-once memory (WOM) codes [6], [10], [11], [17], [32], =-=[36]-=-, which are codes for effective rewriting of a single variable stored in cells that have irreversible state transitions. The study in this area also includes defective memories [16], [18], where defec... |

26 | Ranking and unranking permutations in linear time
- Myvold, Ruskey
(Show Context)
Citation Context ...ms described in [27] requires . This can be improved to by using merge–sort counting, or a binary search tree, or modular arithmetic, all techniques described in [25]. This can be further improved to =-=[30]-=-, by using the special data structure of Dietz [7]. In [30] linear time complexity is also achieved by departing from lexicographic ordering. A linear time complexity is finally achieved in [28], by u... |

25 | Snake-in-the-box codes for rank modulation
- Yehezkeally, Schwartz
- 2012
(Show Context)
Citation Context ...ing rank-modulation codes and codes for rewriting that are robust to uncertainties in the information symbol’s probability distribution. Some of these problems have been addressed in some recent work =-=[24]-=-. APPENDIX In this appendix, we prove Theorem 28. The general approach is similar to the proof of Theorem 26, so we only specify some details that are relatively important here. We define the followin... |

22 |
Linear binary code for writeonce memories
- Cohen, Godlewski, et al.
- 1986
(Show Context)
Citation Context ...s of data. Both floating codes and buffer codes use the flash cells in a conventional way, namely, the fixed discrete cell levels. Floating codes are an extension of the write-once memory (WOM) codes =-=[6]-=-, [10], [11], [17], [32], [36], which are codes for effective rewriting of a single variable stored in cells that have irreversible state transitions. The study in this area also includes defective me... |

22 | Joint coding for flash memory storage
- Jiang, Bruck
- 2008
(Show Context)
Citation Context ...ormance. Rank modulation is a new storage scheme and differs from existing data storage techniques. There has been some recent work on coding for flash memories. Examples include floating codes [22], =-=[23]-=-, which jointly record and rewrite multiple variables, and buffer codes [4], [37], that keep a log of the recent modifications of data. Both floating codes and buffer codes use the flash cells in a co... |

20 | Buffer coding for asymmetric multi-level memory
- Bohossian, Jiang, et al.
- 2007
(Show Context)
Citation Context ...investigate efficient rewriting schemes for rank modulation. Since it is costly to erase and reprogram cells, we try to maximize the number of times data can be rewritten between two erase operations =-=[4]-=-, [21], [22]. For rank modulation, the key is to minimize the highest charge level of cells. We present two rewriting schemes that are, respectively, optimized for the worst case and the average-case ... |

16 |
Programming analog computational memory elements to 0.2% accuracy over 3.5 decades using a predictive method
- Bandyopadhyay, Serrano, et al.
(Show Context)
Citation Context ...to quantize the charge level readings to symbols from the discrete alphabet. Fast and accurate programming schemes for multilevel flash memories are a topic of significant research and design efforts =-=[2]-=-, [14], [31]. All these and other works share the attempt to iteratively program a cell to an exact prescribed charge level in a minimal number of programming cycles. As mentioned above, flash memory ... |

14 |
On the general defective channel with informed encoder and capacities of some constrained memories
- Kuznetsov, Vinck
- 1994
(Show Context)
Citation Context ... [11], [17], [32], [36], which are codes for effective rewriting of a single variable stored in cells that have irreversible state transitions. The study in this area also includes defective memories =-=[16]-=-, [18], where defects (such as “stuck-at faults”) randomly happen to memory cells and how to store the maximum amount of information is considered. In all the above codes, unlike rank modulation, the ... |

14 | On the generalization of error-correcting WOM codes
- Jiang
- 2007
(Show Context)
Citation Context ...tigate efficient rewriting schemes for rank modulation. Since it is costly to erase and reprogram cells, we try to maximize the number of times data can be rewritten between two erase operations [4], =-=[21]-=-, [22]. For rank modulation, the key is to minimize the highest charge level of cells. We present two rewriting schemes that are, respectively, optimized for the worst case and the average-case perfor... |

8 |
Sur la numération factorielle, application aux permutations,” Bulletin de la Société Mathématique de
- Laisant
(Show Context)
Citation Context ...hat we call b-factoradic, induced by the balanced -RMGC construction. 1) Review of the Factoradic Numbering System: The factoradic is a mixed radix numbering system. The earliest reference appears in =-=[26]-=-. Lehmer [27] describes algorithms that make the correspondence between permutations and factoradic. Any integer number can be represented in the factoradic system by the digits , where for , and the ... |

8 |
Teaching combinatorial tricks to a computer
- Lehmer
- 1960
(Show Context)
Citation Context ...-factoradic, induced by the balanced -RMGC construction. 1) Review of the Factoradic Numbering System: The factoradic is a mixed radix numbering system. The earliest reference appears in [26]. Lehmer =-=[27]-=- describes algorithms that make the correspondence between permutations and factoradic. Any integer number can be represented in the factoradic system by the digits , where for , and the weight of is ... |

8 |
Buffer codes for multilevel flash memory
- Yaakobi, Siegel, et al.
- 2008
(Show Context)
Citation Context ...torage techniques. There has been some recent work on coding for flash memories. Examples include floating codes [22], [23], which jointly record and rewrite multiple variables, and buffer codes [4], =-=[37]-=-, that keep a log of the recent modifications of data. Both floating codes and buffer codes use the flash cells in a conventional way, namely, the fixed discrete cell levels. Floating codes are an ext... |

7 |
Program schemes for multilevel Flash memories
- Grossi, Lanzoni, et al.
- 2003
(Show Context)
Citation Context ...antize the charge level readings to symbols from the discrete alphabet. Fast and accurate programming schemes for multilevel flash memories are a topic of significant research and design efforts [2], =-=[14]-=-, [31]. All these and other works share the attempt to iteratively program a cell to an exact prescribed charge level in a minimal number of programming cycles. As mentioned above, flash memory techno... |

5 |
Binary and multilevel Flash cells,” Flash Memories
- Eitan, Roy
- 1999
(Show Context)
Citation Context ...igital Object Identifier 10.1109/TIT.2009.2018336 To keep up with the ever-growing demand for denser storage, the multilevel flash cell concept is used to increase the number of stored bits in a cell =-=[8]-=-. Instead of the usual single-bit flash memories, where each cell is in one of two states (erased/programmed), each multilevel flash cell stores one of levels and can be regarded as a symbol over a di... |

4 | Optimal prefix codes for infinite alphabets with nonlinear costs
- Baer
- 2008
(Show Context)
Citation Context ...ength prefix-free code, and many variations of it have been studied. In [20], the Huffman code construction was generalized, assuming that the vertex-degree distribution in the code tree is given. In =-=[1]-=-, prefix-free codes for infinite alphabets and nonlinear costs were presented. When the letters of the encoding alphabet have unequal lengths, only exponential-time algorithms are known, and it is not... |

4 |
Linear-time ranking of permutations,” Algorithms-ESA
- Mares, Straka
- 2007
(Show Context)
Citation Context ...ed to [30], by using the special data structure of Dietz [7]. In [30] linear time complexity is also achieved by departing from lexicographic ordering. A linear time complexity is finally achieved in =-=[28]-=-, by using the fact that the word size has to be in order to represent numbers up to , and by hiding rich data structures in integers of this size. 2) B-Factoradic—A New Numbering System: We will now ... |

3 |
Flash memory reliability,” Flash Memories
- Cappelletti, Modelli
- 1999
(Show Context)
Citation Context ...ly handled in single-level flash memories may become more pronounced and translate into higher error rates in stored data. One such relevant example is errors that originate from low memory endurance =-=[5]-=-, by which a drift of threshold levels in aging devices may cause programming and read errors. We therefore propose the rank-modulation scheme, whose aim is to eliminate both the problem of overshooti... |

3 |
Combinatorial analysis and computers
- Hall, Knuth
- 1965
(Show Context)
Citation Context ...ng. The digits are in this case the number of elements smaller than that are to the right of . They are therefore inversion counts, and the factoradic representation is an inversion table (or vector) =-=[15]-=-. There is a large literature devoted to the study of ranking permutations from a complexity perspective. Translating between factoradic and decimal representation can be done in Authorized licensed u... |

3 |
A 144-Mb, eight-level NAND Flash memory with optimized pulsewidth programming
- Nobukata
- 2000
(Show Context)
Citation Context ... the charge level readings to symbols from the discrete alphabet. Fast and accurate programming schemes for multilevel flash memories are a topic of significant research and design efforts [2], [14], =-=[31]-=-. All these and other works share the attempt to iteratively program a cell to an exact prescribed charge level in a minimal number of programming cycles. As mentioned above, flash memory technology d... |

2 |
Generalized Huffman trees
- Hwang
- 1979
(Show Context)
Citation Context ...s, making the distribution of the vertex degrees in the code tree initially unknown. The Huffman code is a well-known variable-length prefix-free code, and many variations of it have been studied. In =-=[20]-=-, the Huffman code construction was generalized, assuming that the vertex-degree distribution in the code tree is given. In [1], prefix-free codes for infinite alphabets and nonlinear costs were prese... |

2 | et al., “A 144-Mb, eight-level NAND flash memory with optimized pulsewidth programming - Nobukata - 2000 |

1 | Personal communication - Etzion - 2007 |

1 | Error-correcting codes for rank modulation,” 2008, in preparation - Jiang, Schwartz, et al. |