Top Banner
DREAM: Data Representation Aware of Damage to Extend the Lifetime of MLC NAND Flash Memory Ting Ye, Shenggang Wan, Changsheng Xie 10th USENIX Workshop On Hot Topics In Storage And File Systems (HotStorage '18) Boston, MA, USA, July 09-10, 2018 Xubin He Weijun Xiao
24

DREAM: Data Representation Aware of Damage to Extend the ...

Nov 29, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DREAM: Data Representation Aware of Damage to Extend the ...

DREAM: Data Representation Aware of Damage to Extend the Lifetime of MLC NAND Flash Memory

Ting Ye, Shenggang Wan,

Changsheng Xie

10th USENIX Workshop On Hot Topics In Storage And File Systems (HotStorage '18)Boston, MA, USA, July 09-10, 2018

Xubin He Weijun Xiao

Page 2: DREAM: Data Representation Aware of Damage to Extend the ...

Outline

• Motivation

• Background and related work

• DREAM design

• Evaluation

• Conclusions

Page 3: DREAM: Data Representation Aware of Damage to Extend the ...

NAND Flash Memory

$/GB:

lifetime:

Source: http://www.techinsights.com

Source: www.tuicool.com

Page 4: DREAM: Data Representation Aware of Damage to Extend the ...

MLC NAND flash memory cell

• The P/E operations can significantly damage the oxide layer.

• MLC NAND Flash memory cells suffer content-dependent memory damage.

Page 5: DREAM: Data Representation Aware of Damage to Extend the ...

Damage of different voltages

• The damage increases exponentially with the growth of voltage

• Damage of different voltages: V11<<V10<<V00<<V01

1.728x10-5

5.272x10-51.085x10-4

2.021x10-4

Data source: Jiangpeng Li, et al.(FAST’15)

Average damage:(1.728x10-5+ 5.272x10-5+ 1.085x10-4+2.021x10-4)/4 =9.515x10-5

V01 contributes:25%×2.021x10−4

9.515x10−5= 53.1%

Page 6: DREAM: Data Representation Aware of Damage to Extend the ...

Compression

compress

store

Flash page

I/O Unit

Original Memory Page

Compressed Data

Free space

Data compression ratio: r => Lifetime extends 1/r?

Page 7: DREAM: Data Representation Aware of Damage to Extend the ...

Data layouts

A wordline

Free space

ECC

Compressed data

• One bit of the free space is only used to eliminate the usage of high voltages in one single cell.

A wordline

TP0 TP2 TP1TP0:V11

TP1:V11 or V00

TP2:V11 , V10, V00 or V01

TP0:V11

TP1:V11 or V10

TP2:V11 , V10, V00 or V01TP0 TP2 TP1

Bits must be represented by the voltage of one single cell?

Data exchange

V11<<V10<<V00<<V01

Page 8: DREAM: Data Representation Aware of Damage to Extend the ...

Our solution

• Most of the damage is caused by high voltages.• If the usage of high voltages can be reduced, the average

damage will be significantly reduced.• Free space can be used to reduced the usage of high voltages.

• Free space can be get by data compression or found in OOB space.• Bits can be represented by voltage combinations of multiple cells.

Page 9: DREAM: Data Representation Aware of Damage to Extend the ...

Data Representation Aware of Damage (DREAM)

• Data representation• Using the voltage combinations of multiple cells instead of the

voltage of one single cell to represent bits

• Low-damage voltage combinations are used first.

• Data layout• Data is partitioned into zones• Additional metadata is stored in OOB space

Page 10: DREAM: Data Representation Aware of Damage to Extend the ...

DREAM

• Every m cells in a wordline form a group:(C1;C2; …;Cj; …;Cm)

C1 C2 Cm…

• Choosing the 2i lowest damage voltage combinations to represent i bits. (0≤i ≤ 2m)

• DREAM-m: m cells form a group

V1 V2 Vm…

Vj:V11, V10, V00, V01 (4 voltages) m-tuple: 4m voltage combinations

• All the m voltages of a group denoted by an m-tuple(V1;V2; …;Vj; …;Vm)

Page 11: DREAM: Data Representation Aware of Damage to Extend the ...

DREAM-2

Lowest-damage voltage combinations are used.

#BitsV1 V2 1 2 3

#BitsV1 V2 1 2 3

V11 V11 1 11 111 V10 V00 - - 000

V11 V10 0 10 110 V10 V01 - - 001

V11 V01 - 01 101 V10 V10 - - 010

V11 V00 - 00 100 V10 V11 - - 011

#BitsV1 V2 1 2 3

#BitsV1 V2 1 2 3

V11 V11 1 11 011 V11 V00 - - 111

V11 V10 0 10 010 V00 V11 - - 101

V10 V11 - 01 001 V10 V00 - - 110

V10 V10 - 00 000 V00 V10 - - 100

C1 C2

b1LSB

MSB b2

b3

Mapping table

V01 is used, but there is free

space left

V11<<V10<<V00<<V01

Page 12: DREAM: Data Representation Aware of Damage to Extend the ...

Voltage state transitions

• To limit the amplification of bit errors

• 12 flipped bits after using DREAM v.s. 10 flipped bits under traditional representation

①:adding additional electrons ②:electron leakage

:transition with one-bit data flip

: transition with two-bit data flip

Page 13: DREAM: Data Representation Aware of Damage to Extend the ...

Additional metadata A group can store i bits of data (0≤i ≤ 2m)

Ti group: to store i bits in the cell group.One certain voltage combination might represent different bits for different types of groups.

(V11 ;V10)

0 (T1 group)

10 (T2 group)

010 (T3 group)

Additional metadata: to record the type and size of zones

G1 G2 G𝑛𝑖

Zi

Ti group

C1 C2 Cm…

Zone: all the Ti groups are placed together to form zone Zi

Page 14: DREAM: Data Representation Aware of Damage to Extend the ...

Additional metadata

• Two constraints• The total capacity of all the zones should be large enough to store all the data.

• The total cells in all the zones should not exceed the cells of user space in a wordline.

• A target• to minimize the total damage of a page

• simplex method

Page 15: DREAM: Data Representation Aware of Damage to Extend the ...

Data layout in a wordline

• DREAM is applicable to both the data and the metadata.• Zone types and zone size depend on page size and data size

Data Zones Metadata Zones Additional Metadata

A wordline

Cells of User Space Cells of OOB Space

User space

The First Zone The Last Zone

A zone

The First Group The Last Group

Additional metadata Data Zone Sizes Data Zone Types Metadata Zone Sizes Metadata Zone Types Reserved Bits

Page 16: DREAM: Data Representation Aware of Damage to Extend the ...

Write

compress

buffered

A wordline

I/O Unit

Original Memory Page

Compressed Data

Free SpaceBuffer

re-encode DREAM-encoded Data

Page 17: DREAM: Data Representation Aware of Damage to Extend the ...

Read

Decompress

Decode

A wordline

Required page

Original Memory Page

Compressed Data

Free SpaceBuffer

FetchDREAM-encoded Data

Page 18: DREAM: Data Representation Aware of Damage to Extend the ...

Evaluation

• Theoretical Analysis • Improvement of lifetime

• Simulation

• Overall response time and throughput

Page 19: DREAM: Data Representation Aware of Damage to Extend the ...

Theoretical Analysis

• Lifetime: P/E cycles

• OOB space: 20% of the page size

• Compression ratio: ranges from 0.1 to 0.9

• Metadata size: ranges from 5% to 15% of the page size

Page 20: DREAM: Data Representation Aware of Damage to Extend the ...

Lifetime

Page 21: DREAM: Data Representation Aware of Damage to Extend the ...

Simulations• Purpose

• To evaluate the efficiency of DREAM

• Simulator

• disksim-4.0 with ssdmodel

R: ReadsW: WritesWR: Write ratiosARS:Average Request SizesB: Blocks per Plane

Page 22: DREAM: Data Representation Aware of Damage to Extend the ...

Simulation Results: Response time &Throughput

Page 23: DREAM: Data Representation Aware of Damage to Extend the ...

Conclusions

• We propose DREAM to extend the lifetime of MLC NAND Flash memory • Using the low-damage voltage combinations of multiple MLC cells instead of

the voltage of one single MLC cell to represent bits

• We develop a theoretical model.

• Extension of lifetime: over 25.8%

• Overhead is trivial and acceptable

• Overall response time and throughput are affected by 1.5%

Page 24: DREAM: Data Representation Aware of Damage to Extend the ...

Thanks!

Questions?