Presentation - 32nd International Conference on Massive Storage

Transcription

Presentation - 32nd International Conference on Massive Storage
Incremental Redundancy to Reduce
Data Retention Errors in Flash-based SSDs
31st Interna+onal Conference on Massive Storage Systems and Technology Heejin Park, Jaeho Kim, Jongmoo Choi, Donghee Lee, Sam H. Noh
University of Seoul, Dankook University, Hongik University
1 Outline
§ 
§ 
§ 
§ 
Introduction & Approach
Estimate Error and Period
Effective OPS size and Hot/Cold Separation
Experiments & Conclusion
Massive Storage Systems and Technology (MSST’15) 2 Flash-based SSD
•  Flash based SSD is widely used in many areas
–  Computer system
–  Mobile devices
•  Why flash memory?
– 
– 
– 
– 
– 
Superior performance
Low power consumption
Shock resistance
Small size
Light weight
•  Multi bit-cell
–  Low price
–  Reliability issues are being magnified
Massive Storage Systems and Technology (MSST’15) 3 Reliability of SSD
retenTon errors From: Hagop Nazarian and Sylvain Dubois, Crossbar “The drive for SSDs: What’s holding back NAND flash?” From: Cai, et al, “Error PaRerns in MLC NAND Flash Memory: Measurement, CharacterizaTon, and Analysis”, DATE’ 12 •  Manufacturing process is being developed
–  Endurance decreases
–  High bit error rate (short retention period)
–  More serious in MLC & TLC
•  Types of error in NAND flash based SSDs
–  Program error
–  Read error
–  Retention error (dominant error)
ß Our work is focused on here Massive Storage Systems and Technology (MSST’15) 4 Cause of Retention Error
Floating gate
Control Gate
Source
Channel
• 
Drain
Retention error
–  Errors due to long data retention period
–  Leaking of injected electrons
–  Shifting of threshold voltages
Traps charges in floating gate
11 10 01 00 Vth REF 0 REF 1 REF 2 Massive Storage Systems and Technology (MSST’15) 5 Problem of Retention Error
ECC
01011001
01010001
00101111 00101101 Earlier stage of SSD ECC
01011001
01110001
00101101 01000011 00001111 Can not correct!
Later stage of SSD Massive Storage Systems and Technology (MSST’15) 6 Existing Solutions
ECC
01011001
01110101
00101101 01000011 OOB
•  Strong ECC
Page
–  Reinforce the error correction capability
•  Require considerable OOB space
•  The errors in cold data can’t be corrected
•  Hurts performance and energy efficiency
Massive Storage Systems and Technology (MSST’15) Page
ECC
ECC
OOB
7 Existing Solutions (Cont.)
page with errors 10110001111010
ECC
new page 10111001011010
ECC
read and correct periodically monitoring
10111001011010 ECC
10110001111010
write other page •  Data scrubbing
–  Rewrite data after reading and correcting by using ECC
•  Extra reads, writes, and erase operations
•  Hurts performance and lifetime
Massive Storage Systems and Technology (MSST’15) 8 (Log scale)
Raw Bit Error Rate Observation
1.0E-­‐03 1.0E-­‐04 Correctable by ECC Errors are low when..
- lower P/E cycles
- lower retention period
1.0E-­‐05 1.0E-­‐06 P/E cycles 1500 6000 1.0E-­‐07 1.0E-­‐08 0 100 200 3000 12000 300 400 Time (day)
From : Cai, et al. “Error PaRerns in MLC NAND Flash Memory: Measurement, CharacterizaTon, and Analysis,” in Proc. DATE ’12 •  Retention errors increases as
–  P/E cycles increases
–  Time goes on
Massive Storage Systems and Technology (MSST’15) 9 Our Approach
ECC
01011001
01010001
00101111 00101101 Earlier stage of SSD ECC
Parity
01110001
01011001
01010001
00101101 00001101 01000011 Later stage of SSD •  Write parity considering P/E cycles & reten>on period Massive Storage Systems and Technology (MSST’15) 10 Our Approach (Cont.)
1.0E-­‐08 UPER 1.0E-­‐12 Safe level (1.0E-­‐15)
UPER
1.0E-­‐16 1.0E-­‐20 1.0E-­‐24 1.0E-­‐28 Scrubbing
1.0E-­‐32 1.0E-­‐36 0 Safe period
Data
200 400 600 Time (day)
800 1000 Data
Rewrite by scrubbing •  Safe level : error rate level which is considered unsafe (1.0E-­‐15) •  Safe period : duraCon of the error rate under safe level Massive Storage Systems and Technology (MSST’15) 11 Our Approach (Cont.)
1.0E-­‐08 UPER 1.0E-­‐12 Safe level (1.0E-­‐15)
1.0E-­‐16 UPER
UPER Parity wriBen (IR)
1.0E-­‐20 1.0E-­‐24 1.0E-­‐28 Scrubbing
Scrubbing
1.0E-­‐32 1.0E-­‐36 0 Safe period
Extended safe period
200 400 Delayed scrubbing Data
Parity
Data
600 Time (day)
800 1000 Parity
Data
Rewrite by scrubbing •  Incremental Redundancy (IR)
–  When error rate reached at safe level, write parities dynamically
–  Incrementally reinforce the data recovery capability
Massive Storage Systems and Technology (MSST’15) 12 How to apply parity?
Massive Storage Systems and Technology (MSST’15) 13 IR with Dynamic Vertical Stripe
Chip 0
•  Construct stripe dynamically
–  Reserve some pages
SSD controller
Host
interface
FTL
Chip 1
IR scheme
Chip 2
Chip 3
…
…
…
…
D0
D4
D8
D12
P0
D1
D5
D9
D13
P1
D2
D6
D10
D14
P2
D3
D7
D11
D15
P3
…
…
…
…
D16
D20
D24
D28
D32
D17
D21
D25
D29
D33
D18
D22
D26
D30
D34
D19
D23
D27
D31
D35
…
…
…
…
: Valid page
Px
Dx
: Invalid page
: Parity page
•  Reserved Pages
–  Hot Block
•  Handle write requests
–  Cold Block (stripe)
•  Write parities when safe period expires •  Reinforce error correct capability
•  Low overhead
–  Parity update cost
–  GC cost
: Reserved page
Massive Storage Systems and Technology (MSST’15) 14 Operation of Vertical Stripe
PBN 0 PBN 0 New block D0
D4
D8
D12
P0
D0
D4
D8
D12
P0
D0`
D8`
•  Write operation
– 
– 
– 
– 
Invalidate old data
New data is written to new page
Old data still exist until GC operation
Parity does not need to be updated
Update D0, D8 PBN 0 PBN 0 New block D4
D12
D0
D4
D8
D12
P0
Erase PBN 0 •  GC operation
– 
– 
– 
– 
– 
Unit of victim is block
Valid data are migrated
Parity & invalid data disappear
Can be done as general GC
Does not need to reconstruct stripe
Massive Storage Systems and Technology (MSST’15) 15 Outline
§ 
§ 
§ 
§ 
Introduction & Approach
Estimate Error and Period
Effective OPS size and Hot/Cold Separation
Experiments & Conclusion
Massive Storage Systems and Technology (MSST’15) 16 Analysis of Error Rate
Raw Bit Error Rate
1.0E+00 1.0E-­‐01 100 6000 1.0E-­‐02 P/E cycles 1500 12000 3000 24000 •  Estimate raw bit error rate
1.0E-­‐03 1.0E-­‐04 1.0E-­‐05 –  Key factors of aggravating retention error
P/E cycles Time (day)
–  Make formula form via curve fitting
1.0E-­‐06 1.0E-­‐07 dr : deterioraCon rate funcCon c : P/E cycles d : day 1.0E-­‐08 0 100 200 300 400 Time (day)
•  Compare error rate before and after striping
• 
Uncorrectable Page Error Rate
• 
Uncorrectable Page Error Rate with stripe
-­‐ CPER : Correctable Page Error Rate -­‐ CSER : Correctable Stripe Error Rate Massive Storage Systems and Technology (MSST’15) 17 Safe Period & CG Period
•  Safe period
–  Safe period (Tsafe) : duration of the error rate under safe level
–  Extended safe period (Tesafe) : safe period with parity
Data
Data
Parity
Safe period
Time Extended safe period
-­‐ RBER threshold makes UPER = safe level(1.0E-­‐15) •  GC period
–  Tgc : duration until data will be selected as victim of GC
Data
Time GC period
Selected as vicTm of GC Pu : update probability u : uClizaCon Massive Storage Systems and Technology (MSST’15) 18 When the parity should be written?
•  Write parity when
–  Error rate exceeds safe level before garbage collection
–  Data retention period reaches at safe period
Massive Storage Systems and Technology (MSST’15) 19 Safe Period vs. GC Period •  GC period < safe period
Safe period
GC period
Time Garbage collection
Data
…
u : uClizaCon of block •  GC period > safe period
Data scrubbing
Data
Dwrite : writes by host Dscrub : writes by scrubbing …
Safe period
GC period
Time IR can be used to extend safe period Massive Storage Systems and Technology (MSST’15) 20 Extended Safe Period vs. GC Period •  GC period < extended safe period
Extended safe period
GC period
Time Garbage collection
Data
…
u : uClizaCon of block considering space of pariCes •  GC period > extended safe period
Data scrubbing
Data
…
Extended safe period
GC period
Dwrite : writes by host Dscrub : writes by scrubbing Dparity : parity writes Massive Storage Systems and Technology (MSST’15) Time 21 Outline
§ 
§ 
§ 
§ 
Introduction & Approach
Estimate Error and Period
Effective OPS size and Hot/Cold Separation
Experiments & Conclusion
Massive Storage Systems and Technology (MSST’15) 22 Wasted OPS
Free Block Pool Data 0.2 Scrubbing before GC Used Block Pool ….. Safe period
GC period
Wasted a
Write Wday= 1% 0.15 0.1 0.05 0 Time 4k 5k 6k 7k 8k 9k 10k P/E cycles
•  OPS (Over Provisioning Space)
–  The rest of total space except user space
•  GC period > safe period (or extended safe period)
–  Data scrubbing generates free space before GC operation
–  OPS can not be fully used
•  In case of Hot/Cold Separation, wasted OPS can be reassigned
Massive Storage Systems and Technology (MSST’15) 23 Configuration of Hot/Cold
(1-­‐r) ·∙ Total Writes r ·∙ Total Writes Cold area
Hot area
(1-­‐s) * User Space s ·∙ User Space OPS needs to be separated into 2 parts for hot and cold
We initially set optimal o which is found by Desnoyers
From: Desnoyers, “Analytic Models of SSD write Performance,” ACM Transactions on Storage
Cold OPSOPS Area Hot OPS
(1-­‐o) ·∙ OPS o ·∙ OPS Tune Then tune the o as effective ops size which is suited to safe period
Massive Storage Systems and Technology (MSST’15) 24 OPS Tuning
Scrubbing Safe period
GC period
Safe period < GC period WAFcold_scrub Garbage collec>on GC period < Safe period WAFhot_GC Cold area Safe period
GC period
Hot area wasted OPS Cold OPS
Hot OPS
(1-­‐o) ·∙ OPS o ·∙ OPS Tune Cold OPS
Hot OPS
effecTve OPS o ·∙ OPS + wasted OPS •  If scrubbing occurred one area
–  Wasted OPS can reassigned the other area
Massive Storage Systems and Technology (MSST’15) 25 Definition of WAF
(1-­‐r) ·∙ Total Writes r ·∙ Total Writes Cold area
Hot area
(1-­‐s) * User Space Hot Cold GC GC GC Scrub Scrub GC Scrub Scrub s ·∙ User Space WAF Massive Storage Systems and Technology (MSST’15) 26 Outline
§ 
§ 
§ 
§ 
Introduction & Approach
Estimate Error and Period
Effective OPS size and Hot/Cold Separation
Experiments & Conclusion
Massive Storage Systems and Technology (MSST’15) 27 Experiment Setup
•  Page-mapping FTL simulator
–  With data scrubbing
•  Workloads
–  Synthetic workload (Random & Hot/Cold)
–  Real workload from MSR cambridge
–  Wday means the ratio of updated data per day in user data space.
•  Setting
– 
– 
– 
– 
– 
– 
SSD capacity = 128GB, user space = 80% (initialized)
Page size = 4k
Stripe size = PPB (Page Per Block) = 128
ECC (correct 8 bits / detect 16 bits per codeword)
Page is composed of 8 codewords
GC policy = LRW (Least Recently Written)
Massive Storage Systems and Technology (MSST’15) 28 Scrub 16 Scrub 16 Scrub 12 IR 12 IR 12 IR 8 4 WAF 16 WAF WAF Random workload
8 4 0 8 4 0 0 2K 3K 4K 5K 6K 7K 8K 9K 10K P/E cycles 2K 3K 4K 5K 6K 7K 8K 9K 10K P/E cycles 2K 3K 4K 5K 6K 7K 8K 9K 10K P/E cycles ( Wday = 1% ) ( Wday = 0.5% ) ( Wday = 0.25% ) •  As data are less updated
Scrub : convenConal scrubbing IR : our proposal –  GC period is more longer
–  The safe period expires on lower P/E cycles (GC period > Safe period)
–  WAF increases on earlier stage
•  As P/E cycles increases
–  WAF continuously increases (safe period becomes shorter)
Massive Storage Systems and Technology (MSST’15) 29 Scrub 16 Scrub 16 Scrub 12 IR 12 IR 12 IR 8 WAF 16 WAF WAF Hot/Cold Workload
8 8 4 4 4 0 0 0 2k 3k 4k 5k 6k 7k 8k 9k 10k P/E cycles 2k 3k 4k 5k 6k 7k 8k 9k 10k P/E cycles 2k 3k 4k 5k 6k 7k 8k 9k 10k P/E cycles ( Wday = 1% ) ( Wday = 0.5% ) ( Wday = 0.25% ) •  Trends are similar to random workload
–  As Wday is small, GC period become longer
•  WAF starts to soar for Scrubbing, but for IR
•  IR can release additional writes by scrubbing
Massive Storage Systems and Technology (MSST’15) 30 Real Workload
WAF 10 model(Scrub) 8 sim(Scrub) 6 model(IR) sim(IR) 4 2 0 hm0 mds0 mds1 rsrch0 stg0 stg1 wdev0 web0 Workload •  Configuration
•  6K P/E cycles
•  Derive parameters (s, r, Wday)
•  Results of simulation and model are similar
•  WAF decreases when IR is applied
•  Extended safe period
•  Decrease additional writes by scrubbing
•  More opportunities to be refreshed by writes
Name hm0 mds0 mds1 rsrch0 stg0 stg1 wdev0 web0 s 0.014 0.002 0.002 0.002 0.004 0.002 0.003 0.006 r 0.990 0.986 0.824 0.991 0.991 0.979 0.991 0.992 Avg. Wday 3.19% 1.09% 0.22% 1.54% 2.20% 0.84% 1.03% 1.70% Effect of OPS tuning
10
8
0.6
6
0.4
4
2
0.2
2
0
0
8
0.6
6
0.4
4
0.2
0
OPS ratio
0.8
0.8
2K 3K 4K 5K 6K 7K 8K 9K 10K
1
2K 3K 4K 5K 6K 7K 8K 9K 10K
P/E cycles
( Wday = 1% ) WAF
10
WAF
OPS ratio
1
0
P/E cycles
( Wday = 0.5% ) •  Scrubbing occurs in cold area optimally assigned OPS wasted
•  WAF can be lowered by reassigning wasted OPS
–  Decreases WAF of hot area
•  When the scrubbing also occurs in hot area
–  Total OPS cannot fully used
Massive Storage Systems and Technology (MSST’15) 32 Conclusion
•  Retention error is a serious issue and must be handled
•  IR writes parity dynamically to
–  Reinforce data correct capability
–  Extend the safe period of data
•  IR can be a promising solution
–  With little overhead for striping
–  Data scrubbing operation can be delayed
–  Additional writes by scrubbing can be reduced
Massive Storage Systems and Technology (MSST’15) 33 Thank you
Massive Storage Systems and Technology (MSST’15) 34 

Similar documents