Coding and Algorithms for Memories Lecture 9 1
Constrained Codes for Memories 2
Compare cell levels with a threshold (or a sequence of thresholds) fixed threshol d Read Cycle of Flash Memories
Charge Leakage voltage drift in one direction Fixed threshold vs dynamic threshold Dynamic reading thresholds reduces the BER A balanced vector satisfies #0’s = #1’s Balanced Codes: Motivation 4
In writing, half of cells store 0 and the other half store 1 In reading, the n/2 cells with lower voltages are read as 0 The other n/2 cells with higher voltages are read as 1 Relative ranking is most likely preserved 5 fixed threshol d
In writing, half of cells store 0 and the other half store 1 In reading, the n/2 cells with lower voltages are read as 0 The other n/2 cells with higher voltages are read as 1 Relative ranking is most likely preserved Balanced Codes: Motivation fixed fixed threshol d
In writing, half of cells store 0 and the other half store 1 In reading, the n/2 cells with lower voltages are read as 0 The other n/2 cells with higher voltages are read as 1 Relative ranking is most likely preserved Balanced Codes: Motivation dynamic threshold fixed dynamic fixed threshol d
Balanced Codes: Problems Problems: 1.How to guarantee that at most half of the cells have value 1? 2.How to guarantee that exactly half of the cells have value 3.Problem 1 for two dimensional array 8
Memristors 9 L.O. Chua, “Memristor – The Missing Circuit Element,” IEEE Trans., 1971 ResistorCapacitor InductorMemristor
Practical Memristors 2008 Hewlett Packard 10 D.B. Strukov et al, “The missing memristor found,” Nature, 2008 R ON R OFF Voltage [V] Current [mA]
Crossbar Arrays 11
12 VgVg RLRL VoVo c ij c ij =0 high resistance low current sensed c ij =1 low resistance high current sensed
13 VgVg RLRL VoVo 0 c ij =0 high resistance low current sensed c ij =1 low resistance high current sensed Desired Path Sneak Path 1
An array A has a sneak path of length 2k+1 affecting the (i,j) cell if – a ij =0 a – There exist r 1,…,r k and c 1,…c k such that a ic 1 = a r 1 c 1 = a r 1 c 2 = ⋯ = a r k c k = a r k j = 1 a An array A satisfies the sneak-path constraint if it has no sneak paths and then is called a sneak-path free array
Characterization of Sneak Paths An array A has an isolated zero-rectangle if it contains a rectangle with exactly a single zero An array satisfies the isolated zero-rectangle constraint if it has no isolated zero-rectangles and is called an isolated zero-rectangle free array Theorem: The sneak path constraint and the isolated zero-rectangle constraint are equivalent
Characterization of Sneak Paths An array A has an isolated zero-rectangle if there is a rectangle with exactly a single zero An array satisfies the isolated zero-rectangle constraint if it has no isolated zero-rectangles and is called an isolated zero-rectangle free array Theorem: The sneak path constraint and the isolated zero-rectangle constraint are equivalent Lemma: An array is an isolated zero-rectangle free array iff the 1s in every two rows either completely overlap or are disjoint
Characterization of Sneak Paths Theorem: The sneak path constraint and the isolated zero-rectangle constraint are equivalent Lemma: An array is an isolated zero-rectangle free array iff the 1s in every two rows either completely overlap or are disjoint
Number of Sneak Paths Arrays N(m,n) = number of m ⅹ n isolated 0-rectangle free arrays Lemma 1: Lemma 2: S(k,l) = number of ways to partition k elements into l nonempty subsets aka the Strirling number of second kind 18
Number of Sneak Paths Arrays N(m,n) = number of m ⅹ n isolated 0-rectangle free arrays Lemma 1: Lemma 2: N(m,n) ≈ (m+n)log(m+n) 19