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

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

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

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

Hanyang UniversityHyunok Oh

Energy Optimal Bit Encoding for Flash Memory

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

Contents

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

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

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

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

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

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

Cost Compression

• Each letter has a cost• Minimize the total cost rather than the size

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

Morse Code

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

How to find the mapping?

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

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.

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

Relate Work

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

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

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

This presentation proposes an optimal cost compression algorithm.

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

Proposed Approach

Optimal solution Compression speed = size compression speed

Utilize the existing size compression algorithms

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

Proposed Approach for MLC flash

01001011010101

….

11010111011101

….

1010011…

Size compression Cost compression

11010111011101

….

1010011…

Size compression

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

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

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

Continue...

• If f(0) = 889 and f(1)=111 then the cost in C is minimal

• How to ?

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

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

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

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.

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

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

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

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

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

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

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

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.

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

Probability Graphs

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

Cost Compression

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

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

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

Experiment – Energy

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

Experiment –Latency

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

Experiment –Endurance

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

Conclusion