Hanyang University Hyunok Oh Energy Optimal Bit Encoding for Flash Memory.
-
Upload
alexander-warner -
Category
Documents
-
view
219 -
download
0
Transcript of Hanyang University Hyunok Oh Energy Optimal Bit Encoding for Flash Memory.
Hanyang UniversityHyunok Oh
Energy Optimal Bit Encoding for Flash Memory
Contents
Motivational Example Related Work Cost compression algorithm to minimize energy consumption Implementation Experimental Results Conclusion
Motivational Example
Memory type Operation Time(us) Energy(uJ)
Intel MLCNOR 28F256L18
Program 00 110.00 2.37
Program 01 644.23 14.77
Program 10 684.57 15.60
Program 11 24.93 0.038
Energy consumption = 15.60 for 10101010… = 0.038 for 11111111…
Y. Joo, etc. “Energy-Aware Data Compression forMulti-Level Cell (MLC) Flash Memory”, DAC 2007
Energy/Time Minimization Problem Minimize the total energy/time in the compressed data
Example Let f(x) be the number of occurrence of symbol x in {00, 01, 10, 11}. Assume that f(00,01,10,11) = (50, 25,25,0). The energy consumption is (=2.37*50+14.77*25+15.60*25). The energy consumption is 430.4 (= 2.37*25+14.77*25+0.038*25) if bit
patterns (00,01,10,11) change to (11,01,00,11).
00011011
00011011
Bit pattern mapping for optimal energy consumption
Cost Compression
• Each letter has a cost• Minimize the total cost rather than the size
Morse Code
How to find the mapping?
Related Work
• Given cost (c1, …, cr) and probability (p1,…,pn)• Find a tree T* with n leaves with minimum cost over all trees with n leaves• (c1,c2,c3) = (1,1,2)• (p1,p2,p3,p4,p5) = (9/10, 1/40, 1/40, 1/40, 1/40)
– (a) is optimal• (p1,p2,p3,p4,p5) = (1/5, 1/5, 1/5, 1/5, 1/5)
M. Golin, G. Rote, ”A Dynamic Programming Algorithm for Constructing OptimalPrefix-Free Codes for Unequal Letter Costs”, IEEE Trans. Inform. Th.,44(5), pp. 1770-1781, Sept. 1998.
Relate Work
Cost Compression
• Constructing Optimal Prefix-Free Codes with Unequal Letter Costs– Unknown whether it is NP or not– ILP (Integer Linear Programming)– Dynamic Programming– Heuristics
This presentation proposes an optimal cost compression algorithm.
Proposed Approach
Optimal solution Compression speed = size compression speed
Utilize the existing size compression algorithms
Proposed Approach for MLC flash
01001011010101
….
11010111011101
….
1010011…
Size compression Cost compression
11010111011101
….
1010011…
Size compression
Example• Assume that the size compressed data is
– Original data size is 10000 while the compressed one is 500.• Assume that cost(0) = 1 and cost(1)=3
– Let f(0) and f(1) represent the frequencies of “0” and “1” in C• Problem formulation
– Size constraint• |C| <= |O|
– Minimize cost• 1*f(0)+3*f(1)
– Entropy conservation since we cannot compress C smaller than S.• H(C) >= 1/2• -(p(0)log(p(0)) + p(1)log(p(1))) >= 0.5• p(0)+p(1) = 1
– p(0) = 0.889, p(1) = 0.111
xyzwxyzw 10…abcd
CS
O Size compression
Continue...
• If f(0) = 889 and f(1)=111 then the cost in C is minimal
• How to ?
Size Decompression• Arithmetic coding
– If there are 889 of 0’ and 111 of 1’ in data A then arithmetic coding compresses data A to data B.
• The entropy of data B = 1– If the arithmetic decoding decompresses data B with p(0)=0.889 and
p(1)=0.111 then data A is obtained.– If the arithmetic decoding decompresses data S with p(0)=0.889 and
p(1)=0.111 then f(0)=889 and f(1)=111 in data C obtained.• Assume that the entropy of data S = 1
10…abcd
CS
10…11..
AB
H(A)=1
p(0)=0.889p(1)=0.111
p(0)=0.889p(1)=0.111
10…
A
Cost Compression for Minimal Data
• Equivalent to size decompression– Arithmetic decoding with given p(0) and p(1)
generates data in which the probabilities of 0 and 1 are p(0) and p(1) from source data(H=1) regardless of the source data.
Proposed Cost Compression
01001011010101
….
11010111011101
….
1010011…
Adaptive Arithmetic Encoding
Non-adaptiveArithmetic Decoding
Any compressionAlgorithm is applicable
Arithmetic coding and Huffman coding are applicable.Dictionary coding?
Size compression
Cost compression =Size decompression
SO
S
C
Cost Minimization for Flash Memory Proposed framework
Write operation is performed by page unit in flash memory Skip the cost compression if no size reduction is achieved by the size compression Compression(or entropy) information must be saved in some place
Compressed data
Page unitSize compression
Assign cost optimal
probabilityCost compression
Write with header information
No size reduction Page unit
Implementation – Size compression
Adaptive arithmetic coding Any size compression algorithm is applicable Compress data almost reach the best compression ratio Compression process is done in a fully sequential manner, symbol
after symbol
Assignment of Cost Optimal Bit-Pattern Probability There are 4 bit patterns : 00, 01, 10, 11 Incremental and Common-Mode Costs are considered for each bit-pattern The number of used bit patterns increases as entropy value increases Linearize the probability into 7 sections in order to construct a table for the
entropy and the probability.
Probability Graphs
Cost Compression
Implementation – File Structure
2-bit header indicates
00 11 and 00 are used
01 11, 00, 01 are used
10 All patterns are used
11 No compression
dataBit-pattern information header
(a)
(b)
Number of compressed data
(a) is used for no compression mode
(b) is used when 2-bit header is not 11
Experiment – Energy
Experiment –Latency
Experiment –Endurance
Conclusion