Ke Shi
Chao Xu
Flash Memory Storage
state ∈{0,…,ℓ}
cell stores a state
block ∼106 cells
Operations
increase a state
= single cell update
set a state to 0
= clear entire block
Abstract memory cell (AMC): stores a value in N
- Read: read the number in the cell
- Update: increase the cell by a number in {0,…,ℓ}
Zn={0,1,2,…,n−1}
1 rewrite = 1 AMC update
Store a number in Zn use AMCs
Store a number in Zn use AMCs
store y∈Zn by storing x∈Nt
s∈Znt a fixed vector
2
4
3
1
D(x)=(1,2,3,4)⋅(1,7,2,9)(mod12)=9
Example:
AMC storage
1 rewrite = 1 AMC update
D(x)=(1,2,3,4)⋅(1,7,2,9)(mod12)=9
Example:
AMC storage
D(x)=(1,2,5,4)⋅(1,7,2,9)(mod12)=1
2
4
3
1
5
1 AMC update per rewrite is possible if and only if
1 rewrite = 1 AMC update
1 AMC update per rewrite is possible if and only if
t should be as small as possible to save space
For a fixed ℓ and n, how large must t be?
A⊆Zn is a ℓ-covering of U,
If U⊆⋃i∈ASiℓ.
U=Zn most of the time.
We omit ℓ when it is clear
A segment of length ℓ with slope i.
Find a small ℓ-covering A⊆Zn
n=7,ℓ=3
S1
S3
S4
Zn
S2
S5
S6
5
4
6
0
1
3
5
0
1
4
5
0
3
2
6
0
2
4
6
0
1
3
2
0
1
3
2
4
5
6
0
S0
0
n=7,ℓ=3
Zn
1
4
5
0
3
2
6
0
1
3
2
4
5
6
0
A={3,4}
A
S3
S4
Find a small ℓ-covering A⊆Zn
n=7,ℓ=3
Zn
1
4
5
0
3
2
6
0
1
3
2
4
5
6
0
f(n,ℓ) is the size of the smallest ℓ-covering of Zn.
f(7,3)≤∣A∣=2
2=⌈37−1⌉≤
A={3,4}
Find a small ℓ-covering A⊆Zn
Combinatorial: What is the correct bound for f(n,ℓ)?
Algorithmic: How to find a small ℓ-covering?
f(n,ℓ)=⌈ℓn−1⌉?
No.
f(16,5)>3=⌈516−1⌉
Klove et. al. multiple papers in the 2010s: f(n,ℓ) for ℓ=2,3,4
Chen et. al. 2013: f(n,ℓ)≤ℓn1+o(1)
f(n,ℓ)=O(ℓnlognloglogn)
if ℓ is neither too small nor too large
Koiliaris & Xu 2019
f(n,ℓ)=O(ℓnlognloglogn)
A O(f(n,ℓ)logn) size ℓ-covering can be found in time
O~(ℓn)+no(1)
There exist examples where
f(n,ℓ)=Ω(ℓnloglognlogn)
f(n,ℓ)=O(ℓnlognloglogn)
* ℓ is not too small and not too large.
*
A more refined analysis of φ(n,ℓ).
A more refined analysis of covering.
Given S⊆2U.
A collection of sets in S covers U is a set cover.
Formally, if S′⊆S such that U=⋃X∈S′X, then S′ is a set cover of U.
ℓ-covering as set cover
U=Zn
Si={ij(modn)∣j≤ℓ}
S={Si∣i∈Zn}
An algebraic special case
(naively) apply to ℓ-covering?
p a large prime, n=2p,ℓ=p−1. p only covered by Sp.
f∗(n,ℓ) the smallest ℓ-covering of Zn∗ such that all segments has slope in Zn∗.
Covering Zn∗ with Zn∗ slope segments
Every elment in Zn∗ is covered by φ(n,ℓ) segments with slope in Zn∗.
Constants c,u≥1
π(ℓ)≥c1logℓℓ (Prime Number Theorem)
ω(n)≤c2loglognlogn.
ω(n)≤2π(ℓ) if ℓ≥clogn for sufficiently large n.
π(n): number of primes no larger than n
ω(n): number of distinct prime factors of n
Using the fact about φ(n,ℓ).
We can cover Zn,d with f∗(dn,ℓ) segments in Zn,d.
We can cover Zn∗ with f∗(n,ℓ) segments in Zn∗.
Zn
We can cover Zn,d with f∗(dn,ℓ) segments in Zn,d.
Zn
d∣x
We can cover Zn∗ with f∗(n,ℓ) segments in Zn∗.
We can cover Zn,d with f∗(dn,ℓ) segments in Zn,d.
Zn
d∣x
Zn,d
We can cover Zn∗ with f∗(n,ℓ) segments in Zn∗.
We can cover Zn,d with f∗(dn,ℓ) segments in Zn,d.
Zn
d∣x
Zn,d
Zdn∗
We can cover Zn∗ with f∗(n,ℓ) segments in Zn∗.
Cover of Zdn∗ using Zdn∗ lifts to a cover of Zn,d using Zn,d
d(n)=nO(loglogn1)
σ(n)=O(nloglogn)
Desired bound unless ℓ is too large.
Larger Cover
ℓ=4
Theorem:
If ℓ is large, d≤ℓ′, then each element in Zn,d is covered Ω(nℓφ(n)) times by segments with slope in Zn∗.
Theorem:
If ℓ is large, each element in Zn∗ is covered Ω(nℓφ(n)) times by segments with slope in Zn∗.
f†(n,ℓ) the smallest ℓ-covering of ⋃d∣n,d≤ℓ′Zn,d such that all segments has slope in Zn∗.
What's the relation between f(n,ℓ) and f†(n,ℓ)?
If d∣n, then d=d1d2, where d1∣m, and d2≤ℓ′.
How large is d(m)?
f(n,ℓ)=O(ℓnlognloglogn)
f(n,ℓ)=O(ℓnlognloglogn)
Better bound for f(n,ℓ)?
What about ℓ-covering of arbitrary set X⊆Zn?
Other interesting groups, e.g. Zn×Zm.
Thank you
Limited-magnitude errors:
Jiang A., Langberg M., Schwartz M., Bruck J.: Trajectory codes for flash memory. IEEE Trans. Inf. Theory 59(7), 4530–4541 (2013).
Sieve theory:
Alina Carmen Cojocaru, M Ram Murty, et al. An introduction to sieve methods and their applications, volume 66. Cambridge University Press, 2006.
References