160 likes | 351 Views
236601 - Coding and Algorithms for Memories Lecture 7. Class Overview. What have we studied so far? Background on memories Flash memories: properties, structure and constraints Rewriting codes – WOM codes Other Rewriting Codes What’s next? Rank modulation codes ECC and constrained codes
E N D
Class Overview • What have we studied so far? • Background on memories • Flash memories: properties, structure and constraints • Rewriting codes – WOM codes • Other Rewriting Codes • What’s next? • Rank modulation codes • ECC and constrained codes • Wear leveling & memory management • Coding for Storage • HW 2 – due May 1st
Flash Memory Cell 3 2 1 Can only add water (charge) 0
The Leakage Problem 3 2 Error! 1 0
The Overshooting Problem 3 2 1 0 Need to erase the whole block
Possible Solution – Iterative Programming 3 2 Slow… 1 0
Relative Vs. Absolute Values Less errors More retention 0 1 Jiang, Mateescu, Schwartz, Bruck, “Rank modulation for Flash Memories”, 2008
The New Paradigm Rank Modulation Absolute values Relative values Single cell Multiple cells Physical cell Logical cell
1 2 3 4 Rank Modulation Ordered set of n cells Assume discrete levels Relative levels define a permutation Basic operation: push-to-the-top 1 4 3 2 Overshoot is not a concern Writing is much faster Increased reliability (data retention)
permutation in lexicographical order FACTORADIC decimal [Lehmer 1906, Laisant 1888] 0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0 0 0 0 1 1 0 1 1 2 0 2 1 0 1 2 3 4 5 New Number Representation System an-1…a3a2a1 = an-1·(n-1)! + … +a3·3!+ a2·2!+a1·1! 0 ≤ai ≤i
1 2 3 1 2 3 3 1 2 3 1 2 2 3 1 2 3 1 2 1 3 2 1 3 3 2 1 3 2 1 1 3 2 1 3 2 1 2 3 Gray Codes for Rank Modulation The problem: Is it possible to transition between all permutations? Find cycle through n! states by push-to-the-top transitions n=3 3 cycles 1 2 3 Transition graph, n=3
1 2 3 3 1 2 2 3 1 2 1 3 3 2 1 1 3 2 ~ (n-1)! Gray Codes for Arbitrary n • Recursive construction: • Keep bottom cell fixed • (n-1)! transitions with others 1 3 2 3 1 2 2 1 3 2 3 1 3 2 1 1 2 3 444444 4 1 2 1 4 2 2 4 1 2 1 4 1 2 4 4 2 1 333333 3 4 2 4 3 2 2 3 4 2 4 3 4 2 3 3 2 4 1 1 1 1 1 1 1 2 3 4 1 2 3 4
Gray Codes for Arbitrary n 1 3 2 3 1 2 2 1 3 2 3 1 3 2 1 1 2 3 444444 4 1 2 1 4 2 2 4 1 2 1 4 1 2 4 4 2 1 333333 3 4 2 4 3 2 2 3 4 2 4 3 4 2 3 3 2 4 111111 4 1 3 4 3 1 1 4 1 3 4 3 3 3 4 1 1 4 222222
Rewriting with Rank Modulation • If we represent n! symbols then in the worst case we apply n-1 push-to-the-top operations to transfer from one permutation to another • Problem: Is it possible to use less push-to-the-top operations in case less than n! symbols are represented? • Rank Modulation Rewriting code (RMRC) (n,M) consists of • Update function: E: Sn×[M] -> Sn • Decoding function D: Sn-> [M]
1 2 3 1 2 3 3 1 2 3 1 2 2 3 1 2 3 1 2 1 3 2 1 3 3 2 1 3 2 1 1 3 2 1 3 2 Rewriting with Rank Modulation • Definition: The cost of changing s1 into s2,α(s1->s2), is the min number of push-to-the-top operations needed to change s1 to s2 • Ex: α([123]->[213]) = 1, α([123]->[321]) = 2 • The rewriting cost of a RMRC is the maximum update cost • The transition graph Gn=(Vn,En) • Vn = Sn, En ={(s1,s2) : α(s1->s2)=1} • The ballor radius r: Br(s)={ s’ : α(s->s’) ≤ r } • The sphereor radius r: Sr(s)={ s’ : α(s->s’) = r } • The balls and the sphere sizes do not depend on rBr,Sr
Rewriting with Rank Modulation • For n,M, define r(n,M) to be the smallest integer such that Br(n,M) ≥ M • Lemma (Lower Bound): For any RMRC (n,M), its rewriting cost is at least r(n,M) • Upper bound on the rewriting cost is given by a construction