Rank Modulation with Multiplicity

Similar documents
Infinite Sequences and Series

IP Reference guide for integer programming formulations.

w (1) ˆx w (1) x (1) /ρ and w (2) ˆx w (2) x (2) /ρ.

SECTION 1.5 : SUMMATION NOTATION + WORK WITH SEQUENCES

It is always the case that unions, intersections, complements, and set differences are preserved by the inverse image of a function.

Optimization Methods MIT 2.098/6.255/ Final exam

(A sequence also can be thought of as the list of function values attained for a function f :ℵ X, where f (n) = x n for n 1.) x 1 x N +k x N +4 x 3

The Boolean Ring of Intervals

An Introduction to Randomized Algorithms

Beurling Integers: Part 2

Axioms of Measure Theory

Recursive Algorithm for Generating Partitions of an Integer. 1 Preliminary

THE ASYMPTOTIC COMPLEXITY OF MATRIX REDUCTION OVER FINITE FIELDS

Seunghee Ye Ma 8: Week 5 Oct 28

A sequence of numbers is a function whose domain is the positive integers. We can see that the sequence

Analysis of Algorithms. Introduction. Contents

Optimally Sparse SVMs

CS / MCS 401 Homework 3 grader solutions

62. Power series Definition 16. (Power series) Given a sequence {c n }, the series. c n x n = c 0 + c 1 x + c 2 x 2 + c 3 x 3 +

1 Hash tables. 1.1 Implementation

Lecture XVI - Lifting of paths and homotopies

Lecture 1: Basic problems of coding theory

Best Optimal Stable Matching

Sequences A sequence of numbers is a function whose domain is the positive integers. We can see that the sequence

# fixed points of g. Tree to string. Repeatedly select the leaf with the smallest label, write down the label of its neighbour and remove the leaf.

The multiplicative structure of finite field and a construction of LRC

RADICAL EXPRESSION. If a and x are real numbers and n is a positive integer, then x is an. n th root theorems: Example 1 Simplify

Classification of problem & problem solving strategies. classification of time complexities (linear, logarithmic etc)

18.657: Mathematics of Machine Learning

4.3 Growth Rates of Solutions to Recurrences

Math 155 (Lecture 3)

Lecture 14: Graph Entropy

The Maximum-Likelihood Decoding Performance of Error-Correcting Codes

Discrete-Time Systems, LTI Systems, and Discrete-Time Convolution

Disjoint set (Union-Find)

Lecture Overview. 2 Permutations and Combinations. n(n 1) (n (k 1)) = n(n 1) (n k + 1) =

Sequences. Notation. Convergence of a Sequence

A NEW APPROACH TO SOLVE AN UNBALANCED ASSIGNMENT PROBLEM

The Random Walk For Dummies

6.3 Testing Series With Positive Terms

Theorem: Let A n n. In this case that A does reduce to I, we search for A 1 as the solution matrix X to the matrix equation A X = I i.e.

The Growth of Functions. Theoretical Supplement

Product measures, Tonelli s and Fubini s theorems For use in MAT3400/4400, autumn 2014 Nadia S. Larsen. Version of 13 October 2014.

Recurrence Relations

Pairs of disjoint q-element subsets far from each other

Efficient GMM LECTURE 12 GMM II

Rank Modulation for Flash Memories

Commutativity in Permutation Groups

MA131 - Analysis 1. Workbook 3 Sequences II

Notes #3 Sequences Limit Theorems Monotone and Subsequences Bolzano-WeierstraßTheorem Limsup & Liminf of Sequences Cauchy Sequences and Completeness

6 Integers Modulo n. integer k can be written as k = qn + r, with q,r, 0 r b. So any integer.

10.6 ALTERNATING SERIES

Hoggatt and King [lo] defined a complete sequence of natural numbers

4 The Sperner property.

A New Solution Method for the Finite-Horizon Discrete-Time EOQ Problem

PROBABILITY LOGIC: Part 2

Math 61CM - Solutions to homework 3

Hashing and Amortization

End-of-Year Contest. ERHS Math Club. May 5, 2009

Introduction to Optimization Techniques. How to Solve Equations

Linear Programming and the Simplex Method

Recursive Algorithms. Recurrences. Recursive Algorithms Analysis

Riemann Sums y = f (x)

The Choquet Integral with Respect to Fuzzy-Valued Set Functions

Chapter 6 Infinite Series

CS 270 Algorithms. Oliver Kullmann. Growth of Functions. Divide-and- Conquer Min-Max- Problem. Tutorial. Reading from CLRS for week 2

LONG SNAKES IN POWERS OF THE COMPLETE GRAPH WITH AN ODD NUMBER OF VERTICES

Math 475, Problem Set #12: Answers

Upper bound for ropelength of pretzel knots

Notes on Snell Envelops and Examples

Nonuniform Codes for Correcting Asymmetric Errors

subcaptionfont+=small,labelformat=parens,labelsep=space,skip=6pt,list=0,hypcap=0 subcaption ALGEBRAIC COMBINATORICS LECTURE 8 TUESDAY, 2/16/2016

Lesson 10: Limits and Continuity


HOMEWORK 2 SOLUTIONS

NEW FAST CONVERGENT SEQUENCES OF EULER-MASCHERONI TYPE

3.2 Properties of Division 3.3 Zeros of Polynomials 3.4 Complex and Rational Zeros of Polynomials

Estimation for Complete Data

Pb ( a ) = measure of the plausibility of proposition b conditional on the information stated in proposition a. & then using P2

Section 1.1. Calculus: Areas And Tangents. Difference Equations to Differential Equations

Lecture 27. Capacity of additive Gaussian noise channel and the sphere packing bound

Lecture Notes for Analysis Class

Lecture 2. The Lovász Local Lemma

Advanced Stochastic Processes.

Weakly Connected Closed Geodetic Numbers of Graphs

Exponents. Learning Objectives. Pre-Activity

MA131 - Analysis 1. Workbook 9 Series III

MA131 - Analysis 1. Workbook 2 Sequences I

Simple Polygons of Maximum Perimeter Contained in a Unit Disk

Lecture 11: Channel Coding Theorem: Converse Part

FLOOR AND ROOF FUNCTION ANALOGS OF THE BELL NUMBERS. H. W. Gould Department of Mathematics, West Virginia University, Morgantown, WV 26506, USA

If a subset E of R contains no open interval, is it of zero measure? For instance, is the set of irrationals in [0, 1] is of measure zero?

CHAPTER 10 INFINITE SEQUENCES AND SERIES

Confidence interval for the two-parameter exponentiated Gumbel distribution based on record values

6.003 Homework #3 Solutions

The Local Harmonious Chromatic Problem

CHAPTER 1 SEQUENCES AND INFINITE SERIES

Spectral Partitioning in the Planted Partition Model

Design and Analysis of Algorithms

6 Sample Size Calculations

Transcription:

Rak Modulatio with Multiplicity Axiao (Adrew) Jiag Computer Sciece ad Eg. Dept. Texas A&M Uiversity College Statio, TX 778 ajiag@cse.tamu.edu Abstract Rak modulatio is a scheme that uses the relative order of cell levels to represet data. Its applicatios iclude flash memories, phase-chage memories, etc. A extesio of rak modulatio is studied i this paper, where multiple cells ca have the same rak. We focus o the rewritig of data based o this ew scheme, ad study its basic properties. I. INTRODUCTION Rak modulatio is a scheme that uses the relative order of cell levels to represet data []. Its applicatios iclude flash memories, phase-chage memories (PCMs), etc. The cell level correspods to the cell s charge level for flash memories ad the cell s electrical resistace for PCMs, ad is a real umber. Cosider cells c, c,..., c whose levels are l, l,..., l, respectively, where l i = l j whe i = j. Let (a, a,..., a ) be a permutatio of the set {,,..., }, such that l a > l a > > l a. The for i, the cell c ai has the i-th highest level ad is said to have rak i. The rak modulatio scheme uses the raks of cells (istead of the real values of the cell levels) to represet data; amely, the iformatio bits are mapped to the permutatio (a, a,..., a ) []. Rak modulatio ca make it simpler ad more robust to program flash memory cells, where the cell levels are oly allowed to mootoically icrease durig the programmig process. For PCMs, if the cells are programmed oly through crystallizatio without the reset operatio (which ca happe for multi-level cells or rewritig codes), the same beefit ca be obtaied. It is also robust agaist asymmetric oise i cell levels, such as the charge-leakage oise of flash memories ad the log-term cell crystallizatio oise of PCMs. There has bee a umber of works studyig rak modulatio[], [], [7], [8] ad its error-correctig codes [], [], [], []. I this paper, we study a extesio of rak modulatio, where multiple cells ca have the same rak. The geeral idea is that we see cells of similar levels as havig the same rak, ad see cells of sufficietly differet levels as havig differet raks. There are aturally various ways to defie the similarity of cell levels, icludig the followig oe. Let ad δ be two parameters, where δ 0. For cells whose levels ca be ordered as l a l a l a, we require that for i <, either l ai l ai+ δ or l ai l ai+ >. The for i <, if l ai l ai+ δ, we say the cells c ai ad c ai+ have the same rak; if l ai l ai+ >, we say they have differet raks. For example, assume δ = 0., = 0., = 8 ad (l,..., l 8 ) = (0.8,.,., 0., 0.,.,.,.8). Yue Wag Computer Sciece ad Eg. Dept. Texas A&M Uiversity College Statio, TX 778 yuewag@cse.tamu.edu The (a,..., a 8 ) = (,,, 8, 7,,, ), ad (l a,..., l a8 ) = (.,.,.,.8,., 0.8, 0., 0.); so the cells c, c have rak, c, c 8, c 7 have rak, c has rak, ad c, c have rak. (We may further boud the maximum differece betwee the levels of the cells of the same rak.) Here the parameter esures the cell levels for differet raks are sufficietly apart so that they ca tolerate oise better, ad δ is chose appropriately so that the cell levels for the same rak ca be programmed successfully with high probability. Allowig cells to have the same rak ca help achieve higher storage capacity. Ad sice the gap betwee the cell levels of differet raks does ot have a specific required value i particular it is ot upper bouded the cells ca still be programmed easily without the risk of charge overshootig (as log as the cell levels of each idividual rak are programmed well.) We ca use the same low-rak-to-high-rak method to program cells as i []. Note that whe δ = = 0, as o two cells ca practically have exactly the same level, the scheme is reduced to the origial rak modulatio where every cell has a distict rak []. Let S = {(s, s,..., s k ) k ; s i {,,..., } ad s i for i k; k i= s i = {,..., }; s i s j = for i = j}. Every elemet (s, s,..., s k ) i S is a partitio of the set {,,..., }. We use (s, s,..., s k ) to deote the cells raks, where for i k, the cells with idices i s i have the rak i. (For the previous example, we have (s, s,..., s k ) = ({, }, {, 7, 8}, {}, {, }).) The data are represeted by the elemets of S. Note that the difficulty of programmig cells varies for the differet elemets of S. It is simple to program two cells ito differet raks sice we oly eed the gap betwee their levels to be sufficietly large; but it is more challegig to program cells ito the same rak because their levels eed to be similar. The more cells share the same rak, the more difficult it is to program them. I the followig, we cosider oly the elemets of S where every rak accommodates at most λ cells; that is, let S,λ = {(s, s,..., s k ) S i, s i λ}, ad we use oly the elemets of S,λ to represet data. The parameter λ determies the tradeoff betwee the complexity of cell programmig ad the storage capacity. We call the scheme rak modulatio with multiplicity λ. I this paper, we focus o the rewritig of data based o the ew rak modulatio scheme. We study its basic properties, icludig the rewritig cost, optimal ways to chage rak-

S, λ 0 0 0 0 0 0 8 0 0 0 λ= λ= λ= λ= 0 0 7 8 9 0 Fig.. The value of S,λ for λ =,,,. modulatio states, ad the expasio of rak-modulatio states give the rewritig cost. II. RANK MODULATION WITH MULTIPLICITY λ I this sectio, we defie the cocepts o rak modulatio with multiplicity λ i particular those related to rewritig ad study some basic properties. A. Basic Cocepts The rak modulatio with multiplicity λ uses the elemets i S,λ, called rak-modulatio states, to represet data. Let L = {0,,..., L } deote the alphabet of the stored data. The there is a surjective map D : S,λ L, such that the rak-modulatio state s = (s, s,..., s k ) S,λ represets the data D(s) L. The umber of stored iformatio bits, log L, ca be maximized by lettig L = S,λ ; ad by lettig L < S,λ, the cost of rewritig data ca be reduced. Example. Let =, λ =. The S,λ = {({}, {}, {}), ({}, {}, {}), ({}, {}, {}), ({}, {}, {}), ({}, {}, {}), ({}, {}, {}), ({}, {, }), ({}, {, }), ({}, {, }), ({, }, {}), ({, }, {}), ({, }, {})}. So S, =. Up to log iformatio bits ca be stored. The geeral value of S,λ ca be computed by recursio: S,λ = mi{,λ} i= ( i ) S i,λ for > 0; ad S 0,λ =. We show S,λ for ad λ =,,, i Fig.. For the rewritig of data, we cosider the memory model where the cell levels ca oly icrease, ot decrease []. For flash memories, this is the way cells are programmed via charge ijectio (without the expesive block erasure operatio). For PCMs, whe the cells are programmed to oly become more ad more crystallized (without the RESET operatio), the same model ca be applied. Let us defie the basic operatio we ca use to chage the rak-modulatio state, i order to rewrite data. The basic operatio is a push operatio, where we either push a cell to a higher rak (if there are fewer tha λ cells of that rak), or push the cell to the top so that it has a higher rak tha all the other cells. More specifically, let s = (s, s,..., s k ) S,λ be a rak-modulatio state. For ay i, j such that i < j k ad s i < λ, if s j >, with a push operatio, we ca chage s to (s,..., s i {p},..., s j \ {p},..., s k ) for some p s j ; if s j =, we ca chage s to (s,..., s i {p},..., s j, s j+,..., s k ) with p beig the oly elemet i s j. Ad for ay i {,,..., k} such that s i >, we ca chage s to ({p}, s,..., s i \ {p},..., s k ) for some p s i. For ay i {,,..., k} such that s i =, we ca chage s to ({p}, s,..., s i, s i+,..., s k ) with p beig the oly elemet i s i. (Note that if λ =, the push operatio here is reduced to the push-to-top operatio for the origial rak modulatio scheme [].) For rewritig data, it is desirable to icrease the cell levels as little as possible with each rewrite, so that more rewrites ca be performed before the cell levels reach the maximum limit. (After that, the block erasure or RESET operatio will be eeded to lower the cell levels back to the miimum value.) So i this sectio, we cosider the cost of chagig the rakmodulatio state from s to s as the miimum umber of push operatios eeded to chage s to s, which we deote by d(s, s ). We call d(s, s ) the uweighted rewritig cost. (A weighted versio of the rewritig cost will be studied i the ext sectio.) It is ot hard to see that max s,s S,λ d(s, s ) =. A example of s ad s that achieve this maximum uweighted rewritig cost, d(s, s ) =, is s = ({},..., {i }, {i}, {i + },..., {}) ad s = ({},..., {i }, {i + },..., {}, {i}) for some i <. (Every cell except c i eeds to be pushed oce to chage s to s.) B. Uweighted Rewritig Cost Give two rak-modulatio states s, s S,λ, we cosider how to compute the uweighted rewritig cost d(s, s ), ad how to chage s to s with this miimum umber of push operatios. For the special case λ =, the aswer is kow []: give s = (s, s,..., s ) ad s = (s, s,..., s ), let φ : {,,..., } {,,..., } be a bijective map such that for i =,,...,, we have s i = s φ(i) ; let r be the miimum iteger i {,,..., } such that φ(r + ) < φ(r + ) < < φ(); the we have d(s, s ) = r, ad the way to chage the rakmodulatio state from s to s with r push operatios is to sequetially pushed the cells with their idices i s r, s r,..., s to the top.

For the case λ, we use a tool called virtual levels. Defiitio. Give a rak-modulatio state s = (s, s,..., s k ) S,λ, a realizatio of s is a vector (v, v,..., v ) N that satisfies two coditios: () i k ad j, j s i, we have v j = v j ; () i < i k, j s i ad j s i, we have v j > v j. We call v i the virtual level of the cell c i, for i =,,...,. Defiitio. Let v = (v, v,..., v ) be a realizatio of s S,λ, ad let v = (v, v,..., v ) be a realizatio of s S,λ. The Hammig distace betwee v ad v, deoted by H(v, v ), is H(v, v ) = {i i, v i = v i }. Ad we say v domiates v if two coditios are satisfied: () for i =,,...,, we have v i v i; () we have {v i i, v i max j v j} {v, v,..., v }. We deote v domiates v by v v. Lemma. Let λ. Let s, s S,λ be two rak-modulatio states, let v = (v, v,..., v ) be a realizatio of s, ad let x be a o-egative iteger. The, s ca be chaged ito s by at most x push operatios if ad oly if there exists a realizatio v = (v, v,..., v ) of s such that v v ad H(v, v ) x. Proof: First, assume that s ca be chaged ito s by y x push operatios. We will costruct a correspodig realizatio v of s as follows. Iitially, for i =,,...,, let v i = v i. The for i =,,..., y, if the i-th push operatio pushes a cell c j to the same rak as aother cell c j, the assig to v j the value of v j. Otherwise, the i-th push operatio pushes a cell c j to a rak that is higher tha all the other cells; i this case, let z = max b v b, ad we assig to v j the value z +. The, let v = (v, v,..., v ). It is simple to see that v is a realizatio of s ad v v. Sice at most y cells are pushed, at least y cells have the same virtual levels i v ad v ; so we have H(v, v ) y x. Now cosider the other directio. Assume that there exists a realizatio v = (v, v,..., v ) of s such that v v ad H(v, v ) x. We will show how to chage s to s with H(v, v ) push operatios. We first partitio {v, v,..., v } ito two subsets A ad B as follows: A = {v i i, v i > max j v j}; B = {v i i, v i max j v j}. Sice v v, we kow that B {v, v,..., v }. Here B is the set of virtual levels that are retaied whe we chage s ito s, ad A is the set of virtual levels i v that are higher tha ay virtual level i v. For coveiece, we shall deote A as A = {a, a,..., a A } such that a < a < < a A, ad deote B as B = (b, b,..., b B ) such that b > b > > b B. We chage the rak-modulatio state from s to s as follows. Iitially, for i =,,...,, let the cell c i have the virtual level v i. We will push the cells to higher virtual levels, ad the rakmodulatio state which is determied by the virtual levels of the cells will chage accordigly. We push the cells usig the followig two steps: ) For i =,,..., A, push the cells i {c j j, v j = a i} to the virtual level a i. ) For i =,,..., B, push the cells i {c j j, v j < v j = b i} to the virtual level b i. Durig the above two steps, we will use the followig method to make sure that for i =,,..., B, there is always at least oe cell of the virtual level b i : Whe we are to push a cell c i from the virtual level j B to j > j, if c i is the oly cell of virtual level j at that momet, the before pushig c i, we first push a cell i {c z z, v z = j } to the virtual level j. (Note that if that cell is also the oly cell of its ow virtual level at that momet, the the same rule applies. So there ca be a chai reactio of cell pushig of this type. But this chai reactio will stop somewhere because the virtual level of the cocered cell keeps decreasig.) I the above process, we push every cell at most oce. Whe the above process eds, the cells have virtual levels (v, v,..., v ), which is a realizatio of s. A cell c i ( i ) is pushed if ad oly if v i = v i ; ad if it is pushed, it is pushed directly to the virtual level v i. So the umber of push operatios equals H(v, v ). We ow show that these H(v, v ) push operatios are all valid operatios for the rak-modulatio states. Step ) cosists of the push-totop operatios, ad we sequetially push the cells to higher ad higher raks; clearly, the umber of cells at the virtual level a i (for i A ) is ever more tha λ at ay momet. Step ) cosists of the operatios that push a cell to a higher ad existig rak; ad sice we process the virtual levels b, b,..., b B sequetially (from high to low), whe we process the virtual level b i (for i B ), all the cells that are origially at level b i have already bee pushed up; so as we push cells from below ito the level b i, there will be o more tha λ cells i that level. So we have chaged s ito s with H(v, v ) x valid push operatios. Theorem. Let λ. Let s = (s, s,..., s k ) S,λ ad s = (s, s,..., s k ) S,λ be two rak-modulatio states,

let v = (v, v,..., v ) be a realizatio of s, ad defie V as V = {u u is a realizatio of s, u v}. The we have d(s, s ) = mi H(v, u). u V Furthermore, defie v = (v, v,..., v ) as follows: ) Let h k = max j s k v j. i s k, let v i = h k. ) For i = k, k,...,, do: If max j s i v j > h i +, the let h i = max j s i v j ; if max j s i v j h i + < max j v j, the let h i = mi{v j j, v j > h i +}; if max j s i v j h i + ad h i + max j v j, the let h i = h i + +. i s i, let v i = h i. The we have v V ad H(v, v ) = mi u V H(v, u). Proof: Lemma leads to d(s, s ) = mi u V H(v, u). Whe we assig values to (v, v,..., v ) (which are virtual levels for the cells correspodig to the rak-modulatio state s ), we are sequetially assigig virtual levels to the cells with idices i s k, s k,..., s ; ad for i = k, k,...,, we give the cells with idices i s i a virtual level that is as small as possible, as log as the coditio v V is satisfied. A proof by iductio ca show that compared to all the realizatios of s i V, here each h i ( i k ) ad therefore each virtual level v i ( i ) is idividually miimized, ad a cell is pushed oly whe ecessary. (Sice the cells are pushed oly upward, miimizig h i is a greedy ad optimal approach for miimizig h i, h i,..., h ad for miimizig the umber of cells that eed to be pushed.) So H(v, v ) = mi u V H(v, u). Theorem shows how to fid the realizatio v for s such that v domiates v (the realizatio of s) ad H(v, v ) = d(s, s ). The proof of Lemma shows give such a realizatio v, how to chage the rak-modulatio state from s to s with d(s, s ) push operatios. By combiig them, we ca ot oly compute d(s, s ), but also trasform s to s with the miimum uweighted rewritig cost. For simplicity, we skip the presetatio of the algorithm. We show a example below. Example. Suppose λ =, = 8, s = ({, }, {7}, {, }, {, 8}, {}), s = ({, }, {}, {}, {7, 8}, {, }). We let v = (,,,,,,, ) be a realizatio of s. (See Fig..) The by Theorem, we get the realizatio v = (, 7, 7,,,,, ) of s. (It ca be see that v v.) So we get d(s, s ) = H(v, v ) =. The by the steps specified i the proof of Lemma, we get the push operatios that chage s ito s. (See Fig., where the push operatios are show as arrows, ad the umbers beside arrows represet their order.) C. Sizes of Spheres For a rak-modulatio state s S,λ ad a uweighted rewritig cost r 0, we defie the sphere of uweighted radius r cetered at s as θ(s, r) {u S,λ d(s, u) = r}, Fig.. virtual level realizatio of rak modulatio state ({,},{7},{,},{,8},{}) 7 8 7 8 realizatio of rak modulatio state virtual level ({,},{},{},{7,8},{,}) Chage rak-modulatio state from s to s with d(s, s ) pushes. ad defie the ball of uweighted radius r cetered at s as β(s, r) {u S,λ d(s, u) r}. Clearly, β(s, r) = r i=0 θ(s, i). Kowig the sizes of spheres ad balls is useful for aalyzig the performace of rewritig. For example, whe the states i S,λ are used to represet data of the alphabet L, if the rak-modulatio state is curretly s S,λ, for the ext rewrite, the uweighted rewritig cost i the worst case is at least mi{r r 0, β(s, r) L }. We show how to compute θ(s, r) for s S,λ ad 0 r. If λ =, we have θ(s, r) =! ( r)!! ( r+)! for r ad θ(s, 0) = []. So i the followig, we cosider λ. Fix a realizatio v = (v, v,..., v ) for s = (s, s,..., s k ) say the realizatio where the cells have virtual levels from to k ad we see that for ay s S,λ, Theorem fids a uique realizatio v = (v, v,..., v ) for s such that v v, H(v, v ) = d(s, s ) ad every virtual level v i ( i ) is miimized. So to compute θ(s, r), the umber of states i the sphere θ(s, r), we ca equivaletly compute the umber of such uique realizatios (of the states i θ(s, r)), because they have a oe to oe correspodece. Let σ,σ,...,σ κ ad X be κ + mutually disjoit sets of cells, where σ i λ for i κ ad X = x {0,,..., }. For i =,...,κ, we assig the virtual level κ + i to the cells i the set σ i. Let δ {0,,..., }, t {,,..., λ}, γ {x, x +,..., } ad tag {0, } be give parameters. Let R deote the set of realizatios (that is, assigmets of virtual levels to the x + i= κ σ i cells) that we ca chage this curret realizatio ito, give the followig costraits: ) We obtai a realizatio i R by pushig γ x cells i i= κ σ i to higher virtual levels, ad by assigig the x cells i X to the virtual levels betwee ad κ + δ. Every cell is pushed or assiged at most oce. For the realizatio i R, every virtual level has at most λ cells. ) For a realizatio i R, the maximum virtual level that has a cell is level κ + δ, ad exactly t cells are i that virtual level κ + δ. ) For a realizatio i R, if a cell i i= κ σ i is pushed to a level j {,,...,κ + δ}, or if a cell i X is assiged to a level j {,,...,κ + δ}, the for this realizatio 7

i R, either some cell is i the virtual level j, or j κ ad some cell i σ κ+ j is i the level j. ) If tag =, the o cell i X ca be assiged to the virtual level uless for this realizatio i R, some cell i σ κ is i the virtual level. We use f ( σ, σ,..., σ κ ; x; δ; t; γ; tag) to deote the cardiality of R. We ca see that the sphere size θ(s, r) = r λ δ=0 t= f ( s, s,..., s k ; 0; δ; t; r; 0). We show how to use recursio to compute the value of f ( σ, σ,..., σ κ ; x; δ; t; γ; tag). For simplicity, we oly itroduce the mai recursio, ad skip itroducig the values of f ( σ, σ,..., σ κ ; x; δ; t; γ; tag) for the boudary cases. (The boudary values ca be obtaied easily.) To chage the give realizatio to a realizatio i R, say that we push y cells i σ κ to the maximum virtual level k + δ, push cells i σ κ to the virtual levels,,..., k + δ, ad assig y cells i X to the virtual level. Note that oce y,, y are fixed, the umber of cells i level becomes fixed, ad we do ot eed to cosider it furthermore. So we get the recursio: If tag = 0, the let P {(y,, y ) Z 0 y < t; 0 σ κ ; 0 y mi{x, λ σ κ + y + }; either y + < σ κ or y + = σ κ ad y > 0 }, let P {(y,, y ) Z 0 y mi{t, σ κ }; = σ κ y ; y = 0}, let P {(y,, y ) Z y = t; 0 σ κ ; 0 y mi{x, λ σ κ + y + }; either y + < σ κ or y + = σ κ ad y > 0 }, ad let P {(y,, y ) Z y = t; = σ κ t 0; y = 0}. If tag =, the let P {(y,, y ) Z 0 y < t; 0 < σ κ y ; 0 y mi{x, λ σ κ + y + }}, let P {(y,, y ) Z 0 y mi{t, σ κ }; = σ κ y ; y = 0}, let P {(y,, y ) Z y = t; 0 < σ κ t; 0 y mi{x, λ σ κ + y + }}, ad let P {(y,, y ) Z y = t; = σ κ t 0; y = 0}. We have f ( σ, σ,..., σ κ ; x; δ; t; γ; tag) = (y,,y ) P y ) y ) f ( σ, σ,, σ κ ; x + y ; δ; t y ; γ y y ; 0) + (y,,y ) P y ) y ) f ( σ, σ,, σ κ ; x + ; δ; t y ; γ y ; ) + (y,,y ) P y ) y σ κ ; x + y ; δ ; z; γ y y ; 0) + (y,,y ) P y ) y σ κ ; x + ; δ ; z; γ y ; ). Give ay s S,λ ad r, the time complexity of computig the sphere size θ(s, r) usig the above recursio is O( λ ). Due to the space limitatio, we skip the proof of the followig theorem. ) z λ f ( σ, σ,, ) z λ f ( σ, σ,, Theorem 7. The above recursio correctly computes θ(s, r). III. WEIGHTED REWRITING COST We have studied the uweighted rewritig cost, where every push operatio is cosidered to have cost oe. I practice, however, the operatios ca have differet cost values: a push operatio that icreases the cell level less is more preferable tha a push operatio that icreases the cell level more. So i this sectio, we preset the defiitio of weighted rewritig cost, which measures the cost of push operatios based o how much they icrease the cell levels. As a combiatorial defiitio, we use the help of virtual levels. Let s = (s, s,..., s k ) S,λ ad s S,λ be two rak-modulatio states. Let v = (v, v,..., v ) be the uique realizatio of s such that {v, v,..., v } = {,,..., k}. Let V {u u is a realizatio of s, u v}. By the previous aalysis, we kow that a sequece of push operatios that chages the rak-modulatio state from s to s also chages the realizatio from v to some u V (ad vice versa). Virtual levels are a reasoable simplificatio of real cell levels. So we defie the weighted rewritig cost of chagig s ito s as w(s, s ) = mi (u,u,...,u ) V i= (u i v i ). Let v = (v, v,..., v ) be the uique realizatio of s that is geerated by Theorem. It has bee show that v miimizes the virtual level of every cell; so we have w(s, s ) = i= (v i v i) = mi i= (u,...,u ) V (u i v i ). Ad it is ot hard to see that max s,s S,λ w(s, s ) = ( ). Give a state s S,λ ad a iteger r 0, we ca defie the sphere of weighted radius r cetered at s as Θ(s, r) {u S,λ w(s, u) = r}. The sphere size, Θ(s, r), ca be computed with a similar recursio as the oe i the previous sectio. For simplicity we skip the details. ACKNOWLEDGMENT This work was supported i part by the NSF CAREER Award CCF-077 ad the NSF grat ECCS-08007. REFERENCES [] A. Barg ad A. Mazumdar, Codes i permutatios ad error correctio for rak modulatio, i Proc. IEEE Iteratioal Symposium o Iformatio Theory (ISIT), pp. 8-88, Jue 00. [] F. Zhag, H. Pfister ad A. Jiag, LDPC codes for rak modulatio i flash memories, i Proc. ISIT, pp. 89-8, Jue 00. [] A. Jiag, R. Mateescu, M. Schwartz ad J. Bruck, Rak modulatio for flash memories, i IEEE Trasactios o Iformatio Theory, vol., o., pp. 9-7, Jue 009. [] A. Jiag, M. Schwartz ad J. Bruck, Correctig charge-costraied errors i the rak modulatio scheme, i IEEE Trasactios o Iformatio Theory, vol., o., pp. -0, Ma00. [] M. Schwartz, Costat-weight Gray codes for local rak modulatio, i Proc. ISIT, pp. 89-87, Jue 00. [] I. Tamo ad M. Schwartz, Correctig limited-magitude errors i the rak-modulatio scheme, i Proc. ITA Workshop, Feb. 00. [7] Z. Wag ad J. Bruck, Partial rak modulatio for flash memories, i Proc. ISIT, pp. 8-88, Jue 00. [8] Z. Wag, A. Jiag ad J. Bruck, O the capacity of bouded rak modulatio for flash memories, i Proc. ISIT, pp. -8, 009.