Presentation is loading. Please wait.

Presentation is loading. Please wait.

Hanyang University Hyunok Oh Energy Optimal Bit Encoding for Flash Memory.

Similar presentations


Presentation on theme: "Hanyang University Hyunok Oh Energy Optimal Bit Encoding for Flash Memory."— Presentation transcript:

1 Hanyang University Hyunok Oh Energy Optimal Bit Encoding for Flash Memory

2 Contents  Motivational Example  Related Work  Cost compression algorithm to minimize energy consumption  Implementation  Experimental Results  Conclusion

3 Motivational Example Memory typeOperationTime(us)Energy(uJ) Intel MLC NOR 28F256L18 Program 00110.002.37 Program 01644.2314.77 Program 10684.5715.60 Program 1124.930.038 Energy consumption = 15.60 for 10101010… = 0.038 for 11111111… Y. Joo, etc. “Energy-Aware Data Compression for Multi-Level Cell (MLC) Flash Memory”, DAC 2007

4 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). 00 01 10 11 00 01 10 11 Bit pattern mapping for optimal energy consumption

5 Cost Compression Each letter has a cost Minimize the total cost rather than the size

6 Morse Code  Cost compression problem  Minimize the sending time  Morse code example  Cost( - ) = 3  Cost(. ) = 1  -.--.- : cost = 4 * 3 + 2 * 1 = 14 .-..-. : cost = 2 * 3 + 4 * 1 = 10  Example  Assume f(a,b,c,d) = (5,3,4,5)  Total cost = 61 if codeword for (a,b,c,d) is (…,..-,.-, -)  Total cost = 68 if codeword for (a,b,c,d) is (..,.-,-.,--)

7 How to find the mapping?

8 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 Optimal Prefix-Free Codes for Unequal Letter Costs”, IEEE Trans. Inform. Th., 44(5), pp. 1770-1781, Sept. 1998.

9 Relate Work  Modified JPEG compression procedure with the proposed energy-aware entropy coding for the MLC NOR flash

10 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

11 This presentation proposes an optimal cost compression algorithm.

12 Proposed Approach  Optimal solution  Compression speed = size compression speed  Utilize the existing size compression algorithms

13 Proposed Approach for MLC flash 0100101 1010101 …. 1101011 1011101 …. 1010011 … Size compressionCost compression 1101011 1011101 …. 1010011 … Size compression

14 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 xyzw 10… abcd C S O Size compression

15 Continue... If f(0) = 889 and f(1)=111 then the cost in C is minimal How to ?

16 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 C S 10… 11.. A B H(A)=1 p(0)=0.889 p(1)=0.111 p(0)=0.889 p(1)=0.111 10… A

17 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.

18 Proposed Cost Compression 0100101 1010101 …. 1101011 1011101 …. 1010011 … Adaptive Arithmetic Encoding Non-adaptive Arithmetic Decoding Any compression Algorithm is applicable Arithmetic coding and Huffman coding are applicable. Dictionary coding? Size compression Cost compression = Size decompression S O S C

19 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 unit Size compression Assign cost optimal probability Cost compression Write with header information No size reduction Page unit

20 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

21 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.

22 Probability Graphs

23 Cost Compression  Size decompression  Non-adaptive arithmetic coding is adopted  Decompress data with assigned optimal bit-pattern probabilities  Uses 4 bit patterns for 4-level MLC Flash Memory  First 2-Byte is assigned for header which has entropy information

24 Implementation – File Structure  2 bit header + 2 byte header  2bit header indicates how many bit-patterns are used.  2byte header indicates the size of the size compressed data for the entropy value 2-bit headerindicates 0011 and 00 are used 0111, 00, 01 are used 10All patterns are used 11No compression data Bit-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

25 Experiment – Energy

26 Experiment –Latency

27 Experiment –Endurance

28 Conclusion  Propose a fast and optimal cost compression algorithm  Using size compression algorithms  Energy, latency and endurance are improved by applying the cost compression algorithm  un-compressed file type : energy and latency reductions are 25% ~ 75%  compressed file type : energy and latency reductions are 1~10%  Limitation and future work  Overhead of compression algorithm is not considered for latency and energy consumption  We are currently developing a Huffman coding based algorithm.


Download ppt "Hanyang University Hyunok Oh Energy Optimal Bit Encoding for Flash Memory."

Similar presentations


Ads by Google