DS-RAID for Ssds Jaeho Kim(Presenter), Jongmin Lee, Jongmoo Choi, Donghee Lee, Sam H
Total Page:16
File Type:pdf, Size:1020Kb
Efficient Parity Update Scheme DS-RAID for SSDs Jaeho Kim(Presenter), Jongmin Lee, Jongmoo Choi, Donghee Lee, Sam H. Noh University of Seoul, Dankook University, Hongik University (in Seoul, Korea) Motivation: Enhanced Reliability for SSDs Problems Problem with current SSDs: low reliability High error rate and limited erase count of flash memory Typical RAID-5 [Logical Block Number (LBN) based striping)]: Parity update burden Multi-level cell (MLC) flash memory aggravates problem Small write problem: read old data, calculate parity, write new data One solution: provide RAID-5 configuration with chips Added burden when adopting RAID-5 configuration to SSDs: Out-of-place update comprising the SSD device Reliable SSD With LBN-based striping MUST keep (new) updated page in SAME chip as old page Lower performance & reliability, higher cleaning cost, decreased lifetime RAID-5 configuration Our solution: Dynamic Striping-RAID (DS-RAID) RAID-5 DS-RAID FCC: Flash memory Channel Logical Block Number (LBN) based striping Controller Physical Page Number (PPN) based striping Host PPN: Physical Page Number Need Stripe map table in RAID Controller Dx: User data, Px: Parity No need for Stripe map table Must read old data & old parity interface SP: Sub-stripe Parity No need to read old data & old parity May result in particular chips being written All chips are written to evenly to more frequently (skewed writes) SSD & RAID Controller RAID-5 reliability for new small writes (even Window of vulnerability for new small writes Stripe map table Write buffer Parity generator without non-volatile RAM) FCC FCC FCC FCC FCC Stripe 0 Stripe 1 Chip 0 Chip 1 Chip 2 Chip 3 Chip 4 Chip # : PPN PPN PPN PPN PPN 0 : 0 0 : 1 PPN 1 : 0 1 : 1 0 D0 0 D1 0 D2 0 D3 0 P0 2 : 0 2 : 1 1 D4 1 D5 1 D6 1 P1 1 D7 Stripe map table 3 : 0 3 : 1 B0 2 2 2 2 2 4 : 0 4 : 1 3 Stripe 0 Stripe 1 3 3 3 3 0 : 0 0 : 2 1 : 2 1 : 1 2 : 2 2 : 1 3 : 2 3 : 3 4 : 2 4 : 1 Chip 0 Chip 1 Chip 2 Chip 3 Chip 4 Updated data Chip 0 Chip 1 Chip 2 Chip 3 Chip 4 PPN PPN PPN PPN PPN PPN PPN PPN PPN PPN 0 D0 0 D1 0 D2 0 D3 0 P0 0 D0 0 D1 0 D2 0 D3 0 P0 1 D4 1 D5 1 D6 1 P1 1 D7 D1’ D2’ D3’ D4’ 1 D4 1 D5 1 D6 1 P1 1 D7 0 B 2 D4’ 2 D1’ 2 D2’ 2 D3’ 2 P0’ B0 2 D1’ 2 D2’ 2 D3’ 2 D4’ 2 P2 3 3 3 3 3 3 3 3 3 3 P1’ Always written to evenly Skewed writes lead to reduced lifetime Lifetime leading to even wear out 4 data writes + 2 data reads + 1 parity read + 2 parity writes Extra I/Os : eg. 2 data reads + 1 parity read + 1 parity write 4 data writes + 1 parity write Extra I/Os compared to DS-RAID leading Performance to reduced performance More writes compared to DS-RAID leading Sub-stripe parity scheme Cleaning cost to higher cleaning cost For write requests smaller than stripe size Guarantee RAID-5 reliability via Sub-stripe Parity Chip 0 Chip 1 Chip 2 Chip 3 Chip 4 Chip 0 Chip 1 Chip 2 Chip 3 Chip 4 PPN PPN PPN PPN PPN New data PPN PPN PPN PPN PPN 0 D0 0 D1 0 D2 0 D3 0 P0 0 D0 0 D1 0 D2 0 D3 0 P0 1 D4 1 D5 1 D6 1 P1 1 D7 1 D4 1 D5 1 D6 1 P1 1 D7 . B0 2 . B0 2 2 2 2 2 2 D8 2 D9 2 D8 D9 2 D8 D9 SP 3 3 3 3 3 3 3 3 3 3 Window of vulnerability: Parity can be calculated even small writes must wait until stripe fills up Reliability for incomplete stripes before parity is calculated Evaluation Platform and Results Relative to RAID-5 Evaluation platform Postmark Workload SSD Extension for DiskSim 1.2 Random write Postmark: 1.6MB (Avg. write size) 1 Random write: 12KB (Avg. write size) Parameter Value Parameter Value 0.8 Number of chips 8 Planes per chip 8 0.6 Blocks per plane 2048 Pages per block 64 0.4 Includes Over provision space 5% Page size 4KB 0.2 • Parity writes 0 Stripe size 32KB Stripe Consists of 8 pages • Writes for cleaning Normalized Results Normalized Avg. Response Writes Due to Extra Writes Time Requests • Sub-stripe parity writes This work was supported in part by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MEST) (No. R0A-2007-000-20071-0), by the Korea Science and Engineering Foundation (KOSEF) grant funded by the Korea government (MEST) (No. 2009-0085883), and by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education, Science and Technology(2010-0025282). 10th USENIX Conference on File and Storage Technologies (FAST’12) .