The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4...

43
The Devil is in the Details: Implemen1ng Flash Page Reuse with WOM Codes Fabio Margaglia, Gala Yadgar, Eitan Yaakobi, Yue Li, Assaf Schuster, André Brinkmann Johannes Gutenberg University, Mainz Technion California Ins1tute of Technology

Transcript of The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4...

Page 1: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

The$Devil$is$in$the$Details:$Implemen1ng$Flash$Page$Reuse$with$WOM$Codes$Fabio$Margaglia,$Gala$Yadgar,$Eitan$Yaakobi,$Yue$Li,$Assaf$Schuster,$André$Brinkmann$Johannes$Gutenberg$University,$Mainz$

Technion$

California$Ins1tute$of$Technology$

$

Page 2: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Flash$Page$Reuse$and$WOM$Codes$are$a$popular$topic$

$•  Grupp$et$al.$“Characterizing$flash$memory:$Anomalies,$observa1ons,$and$applica1ons.”$MICRO‘09.$

•  Jagmohan$et$al.$“Write$amplifica1on$reduc1on$in$NAND$flash$through$mul1Zwrite$coding.”$MSST’10$•  Yaakobi$et$al.$“Error$characteriza1on$and$coding$schemes$for$flash$memories.”$GLOBECOM$’10$$

•  Jacobvitz$et$al.$“Wri1ng$cosets$of$a$convolu1onal$code$to$increase$the$life1me$of$flash$memory.”$Allerton$’12$

•  Luojie$et$al.$“WOM$codes$reduce$write$amplifica1on$in$NAND$flash$memory.”$GLOBECOM$’12$•  Kaiser$et$al.$“Extending$SSD$life1me$in$database$applica1ons$with$page$overwrites.”$SYSTOR$‘13$

•  Berman$et$al.$“Re1redZpage$u1liza1on$in$writeZonce$memory$–$a$coding$perspec1ve.”$ISIT’13.$

•  Odeh$et$al.$“NAND$flash$architectures$reducing$write$amplifica1on$through$mul1Zwrite$codes.”$MSST$‘14$$

•  Gad$et$al.$“Rewri1ng$flash$memories$by$message$passing.”$ISIT$’15$$•  Yaakobi$et$al.$“When$do$WOM$codes$improve$the$erasure$factor$in$flash$memories?”$ISIT$’15$$

•  Margaglia$et$al.$“Improving$MLC$flash$performance$and$endurance$with$extended$P/E$cycles.”$MSST$’15$$

•  Yadgar$et$al.$“Write$once,$get$50%$free:$Saving$SSD$erase$costs$using$WOM$codes.”$FAST$‘15$$

$

23.2.2016 | Fabio Margaglia 2

Page 3: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

23.2.2016 | Fabio Margaglia 3

Program Interference? Page

Order?

NOP? Can you apply WOM to MLC?

Image$courtesy$of$$lekkyjustdoit$at$FreeDigitalPhotos.net$$

Page 4: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

23.2.2016 | Fabio Margaglia 4

YES, you can!

However: “The Devil is in the Details!”

5 lessons learned

Page 5: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

NAND$Flash$tradi1onal$assump1ons:$

Background$

23.2.2016 | Fabio Margaglia 5

1111$1111$1111$ 1101$1001$0111$ 0101$1001$0100"Erase$Program$

1111$1111$1111$Program$

0 ↛ 1!!

To$save$the$erase$opera1on$reprogram$with:$

Reprogram$

block

page 5page 4

page 127

page 1

page 3page 2

page 0

page 126

.

.

.

Opera)on" Granularity" Effect"

Program$ Page$ Clear$arbitrary$bits$

Erase$ Block$ Reset$all$bits$

Page 6: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

0 ↛ 1!!

Write$Once$Memory$Codes$

23.2.2016 | Fabio Margaglia 6

Plain"bits" 1st"gen" 2nd"gen"00$ 111$ 000$

01$ 110$ 001$

10$ 101$ 010$

11$ 011$ 100$

[Rivest$and$Shamir,$’82]$

•  encode$n$bits$with$m$bits,$where$m$>$n#•  encodings$organized$into$reprogram$compa1ble$genera1ons$

01$ 11$

110$ 010$

Example:$

Reprogram$

10$Erase$ Program$

WOM$Codes$ensure$

Page 7: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

What$about$MLC?$

23.2.2016 | Fabio Margaglia 7

Page 8: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

In$MLC$1$physical$cell$represents$2$bits$

Every$MLC$is$characterized$by$Vth$$

•  4$states$$•  program$opera1ons$increase$Vth$

•  erase$opera1ons$reset$Vth$

•  Reprogramming$may$cause$program$disturbance$between$bits$[Grupp$et.$al,$MICRO$2009][Margaglia$et.$al,$MSST$2014]$

$

MLC$–$Mul1$Level$Cell$

23.2.2016 | Fabio Margaglia 8

Vth

11 10 00 01

R1 R2 R3

Program

Erase

WOM$codes$are$not$enough$

Page 9: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Mapping$bits$to$pages$

23.2.2016 | Fabio Margaglia 9

Block$page$0$page$1$page$2$page$3$page$4$

page$125$page$126$page$127$

Vth

11 10 00 01

R1 R2 R3

Low$Page$ High$Page$

The$bits$of$a$single$MLC$are$mapped$to$2$independent$pages$

Program$disturbance$across$pages$

. . .

Page 10: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Siglead$SigNASII$NAND$Tester$

•  Mul1ple$manufacturers$

•  Mul1ple$feature$sizes$

Setup$for$the$analysis$of$MLC$chips$

23.2.2016 | Fabio Margaglia 10

Page 11: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

LowZHigh$(LH)$Programming$scheme$

23.2.2016 | Fabio Margaglia 11

ER$(11)$

ER$(11)$

Temp$(0X)$

ER$(11)$

P1$(10)$

P2$(00)$

P3$(01)$

1$ 0$

1$ 0$ 1$0$

Low$Bit$Program$

High$Bit$Program$

L$ H$

Vth

Vth

Vth

Page 12: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Vth

Vth

Vth

LowZLowZHigh$(LLH)$Reprogramming$Scheme$

23.2.2016 | Fabio Margaglia 12

ER$(11)$

P1$(10)$

P2$(00)$

P3$(01)$

1$ 0

1$ 0$ 1$0$

Low$Bit$Program$(1)$

High$Bit$Program$

1$ 0$

Low$Bit$Program$(2)$

0$

ER$(11)$

Temp$(0X)$

H$L$

Temp$(0X)$

ER$(11)$

ER$(11)$

WOM"Encoding"0 ↛ 1!

!Vth

Page 13: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Block$Life$Cycle$with$LLH$Reprogramming$

23.2.2016 | Fabio Margaglia 13

Clean

Erase Erase

Program L1 Program H

: empty page : programmed page : reprogrammed page

Used

Progr.$Order$

Program L1

Partially Used

Progr.$Order$

Reused

Program L2 Program H

Progr.$Order$

Use WOM Use WOM

Page 14: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Lesson$I$Page$reprogram$in$MLC$is$possible,$

but$only$for$half$of$the$pages.$

23.2.2016 | Fabio Margaglia 14

Page 15: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

LLH$Reprogramming$and$cell$wear$

23.2.2016 | Fabio Margaglia 15

Page 16: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

1.00E-05

1.00E-04

1.00E-03

1.00E-02

0 500 1000 1500 2000 2500 3000

Baseline

L1

L2

H

BER$for$LLH$Scheme$–$Chip$A$16nm$

23.2.2016 | Fabio Margaglia 16

BER$

P/E$Cycles$

ECC$Correc1on$

Chip$is$unusable$

Page 17: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

1.00E-05

1.00E-04

1.00E-03

1.00E-02

0 500 1000 1500 2000 2500 3000

Baseline

LLH 20%

LLH 40%

LLH 60%

BER$for$LLH$par1al$applica1on$–$Chip$A$16nm$$

23.2.2016 | Fabio Margaglia 17

BER$

P/E$Cycles$

ECC$Correc1on$

Page 18: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

LongZterm$cell$wear$with$LLH$Reprogramming$

23.2.2016 | Fabio Margaglia 18

1.00E-05

1.00E-04

1.00E-03

1.00E-02

0 1000 2000 3000

Baseline

LLH 20%

LLH 40%

LLH 60%

BER$

P/E$Cycles$

Rela1ve$reduc1on$of$P/E$cycles$to$reach$BER=10Z3$

5.00E-04

6.00E-04

7.00E-04

8.00E-04

9.00E-04

1.00E-03

2500 2600 2700 2800 2900 3000

Baseline

LLH 20%

LLH 40%

LLH 60%

BER$

P/E$Cycles$

Part."applica)on" A16" B16" B27" B29"

60%$ 8.5%$ 7%$ 8%$ 8.5%$

40%$ 5.2%$ 5%$ 6%$ 5.5%$

20%$ 1%$ 3%$ 2.5%$ 3%$

Page 19: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Lesson$II$LLH$reprogramming$applied$for$a$por1on$of$the$life1me$causes$only$

minor$longZterm$cell$wear$

23.2.2016 | Fabio Margaglia 19

Page 20: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

FTL$Architecture$

23.2.2016 | Fabio Margaglia 20

Page 21: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Prototype$

23.2.2016 | Fabio Margaglia 21

Jasmine$OpenSSD$board$www.openssdZproject.org$$•  ARM7TDMI$single$core$•  SATA$interface$•  64MB$DRAM$•  Samsung$35nm$MLC$

66'

+RVW,QWHUIDFH/RJLF

&RQWUROOHU

)7/

0DSSLQJ�7DEOHV

+RVW,QWHUFRQQHFW

)ODVK�&KLS

)ODVK�&KLS

)ODVK�&KLS

)ODVK�&KLS

)ODVK�&KLS

)ODVK�&KLS

Application

Modify$only$the$FTL$

Page 22: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Block$Life$Cycle$with$LLH$Reprogramming$

23.2.2016 | Fabio Margaglia 22

Clean

Erase Erase

Used

Program L1 Program H

Partially Used

Program L1

Reused

Program L2 Program H

: empty page : programmed page : reprogrammed page

Page 23: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Block$Life$Cycle$with$LLH$Reprogramming$

23.2.2016 | Fabio Margaglia 23

Clean

Erase Erase

Used

Program L1 Program H

Partially Used

Program L1

Reused

Program L2 Program H

: empty page : programmed page : reprogrammed page

Cold$Data$

$$

Hot$Data$•  Fast$invalida1on$of$low$pages$for$max$reuse$•  Minimize$life1me$of$WOM$encoded$data$

Page 24: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

WOM$overhead$

23.2.2016 | Fabio Margaglia 24

•  Polar WOM Codes •  DRAM Buffers

Plain"bits" 1st"gen" 2nd"gen"

00$ 111$ 000$

01$ 110$ 001$

10$ 101$ 010$

11$ 011$ 100$

Page 25: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Polar$WOM$Codes$

Probabilis1c$codes$introduced$in$[Burshtein$and$Strugatski,$IT$`13]$

Already$proposed$for$Reusable$SSD$in$[Yadgar$et.$al,$FAST$`15]$

•  Complexity$�$LDPC$ECC$(could$be$accelerated$in$HW)$

•  1st$write$!$no$overhead$

•  2nd$write$!$100%$overhead$

23.2.2016 | Fabio Margaglia 25

Page 26: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

DRAM$Buffers$

23.2.2016 | Fabio Margaglia 26

User Data

Block$

DRAM$

1st$write$ 2nd$write$ENCODER$

100%$overhead$

Block$INVALID$

INVALID$

INVALID$

INVALID$

INVALID$

INVALID$

User Data

DRAM$

Page 27: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Puvng$it$all$together..$

23.2.2016 | Fabio Margaglia 27

Clean$Blks$

Used$Blks$

User Data

GC$

Ac1ve$Blk$

DRAM$

Page 28: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Puvng$it$all$together..$

23.2.2016 | Fabio Margaglia 28

Clean$Blks$

Used$Blks$

Cold User Data

GC$

Hot User Data

Reused$Blks$

Part.$Used$Blks$

GC$

Ac1ve$Blk$ Ac1ve$Blk$

DRAM$DRAM$

Page 29: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Demo$

23.2.2016 | Fabio Margaglia 29

•  Visualization of the SSD internal status •  SSDPlayer [Yadgar, Shor, Yaakobi, and Shuster, HotStorage ’15] •  Replay of OpenSSD run of MSR Cambridge trace •  Small device

Page 30: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

23.2.2016 | Fabio Margaglia 30

hwp://www.cs.technion.ac.il/~gala/LLHZFTLZMSR/LLHZFTLZMSR.html$

Page 31: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Evalua1on:$Number$of$Erasures$and$Life1me$

23.2.2016 | Fabio Margaglia 31

Page 32: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Standard$SSD$

Best$Case$Reduc1on$in$Erasures$

23.2.2016 | Fabio Margaglia 32

! = !! !

!Reusable$SSD$[Yadgar$et.$al,$FAST$2015]$

!! = !! + !2

= 23!!

!The$Devil$is$in$the$Details$

!!! = !! + !4

= 45!!

!

Logical$Writes$

Pages$per$Block$

Reuse$all$pages$with$100%$WOM$overhead$

!33%$Reduc1on

Reuse$only$low$pages$with$100%$WOM$overhead$

!20%$Reduc1on

#$Erasures$

Page 33: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Erasures$Reduc1on$normalized$to$Baseline$

23.2.2016 | Fabio Margaglia 33

0.7

0.75

0.8

0.85

0.9

0.95

1

1.05

1.1

1.15

1.2

OP 7%

OP 28%

Baseline

Best Case

MSR$Cambridge$Traces$ FIU$Traces$ Synthe1c$Traces$

Depending$on$the$

amount$of$hot$data$

Page 34: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

!"#$%&!!"#!!"#$%!!"#ℎ!!!" = ! + !4 !! !"#$%&!!"#!!"#$%!!"#ℎ!!" = !!

!

Best$case$when$using$LLH$Reprogramming$for$40%$life1me$(T):$

Life1me$

23.2.2016 | Fabio Margaglia 34

10%$more$writes$over$the$life1me$

P/E$Cycles$

!"#$%!!"#$%&!!"#!!"#$% = 0.4 ∙ ! ∙ ! + !4 + 0.6 ∙ ! ∙ ! = 1.1 ∙ ! ∙ !!!

Page 35: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Erasures$Reduc1on$and$Life1me$

23.2.2016 | Fabio Margaglia 35

Part."applica)on" A16" B16" B27" B29"

40%$ 5.2%$ 5%$ 6%$ 5.5%$

Life1me$reduc1on$due$to$increased$BER$

P/E$Cycles$

10%$increase$!$$<$5%$

5.00E-04

6.00E-04

7.00E-04

8.00E-04

9.00E-04

1.00E-03

2500 2600 2700 2800 2900 3000

Baseline

LLH 20%

LLH 40%

LLH 60%

BER$

P/E$Cycles$

LongZterm$cell$wear$

Page 36: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Lesson$III$LLH$reprogramming$reduces$erasures,$but$this$does$not$necessarily$translate$to$a$

substan1al$life1me$increase.$

23.2.2016 | Fabio Margaglia 36

Page 37: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Evalua1on:$Energy$and$Latency$

23.2.2016 | Fabio Margaglia 37

Page 38: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Single$Opera1ons$

23.2.2016 | Fabio Margaglia 38

We$have$less$erasures,$but$single$read$and$write$opera1ons$become$more$expensive$(both$for$energy$and$for$latency):$

Write$WOM$encoded$data$•  Requires$read$of$previous$content$

•  WOM$overhead$for$second$writes$(use$half$flash$bandwidth)$

Read$WOM$encoded$data$•  WOM$overhead$for$data$wriwen$with$second$write$(use$half$flash$

bandwidth)$

$

Page 39: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Energy$and$Latency$normalized$to$Baseline$

23.2.2016 | Fabio Margaglia 39

0.9

0.95

1

1.05

1.1

1.15

1.2

1.25

1.3

OP 7%

OP 28%

Baseline

MSR$Cambridge$

0.9

0.95

1

1.05

1.1

1.15

1.2

1.25

1.3

MSR$Cambridge$ FIU$ Synthe1c$

Energy$ Latency$

Page 40: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Lesson$IV$The$extra$energy$consumed$by$read$and$write$opera1ons$is$larger$than$that$saved$in$erase$

opera1ons.$

Lesson$V$The$extra$1me$consumed$by$read$and$write$

opera1ons$does$not$increase$latency.$

On$the$contrary,$small$latency$reduc1ons$are$possible$

23.2.2016 | Fabio Margaglia 40

Page 41: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Lessons$learned:$I.  Reprogramming$possible$in$MLC$

II.  Modest$longZterm$wear$

III.  Less$erasures,$$limited$life1me$increase$

IV.  Energy$consump1on$increases$

V.  Limited$effect$on$latency$

Conclusions$

23.2.2016 | Fabio Margaglia 41

Where$to$go$from$here?$•  Manufacturers$support$

•  Applica1on$specific$reprogramming$[Margaglia$et$al.$MSST$2015]$$

•  MLC$specific$WOM$codes$

$

•  TLC,$oneZshot$programming?$

Page 42: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned

Thanks for Your Attention

Questions?

Page 43: The$Devil$is$in$the$Details:$ Implemen1ng$Flash$Page$Reuse ... · 23.2.2016 | Fabio Margaglia 4 YES, you can However: “The Devil is in the Details!” 5 lessons learned