Partitioned Real-Time NAND Flash Storage Katherine Missimer and Rich West
Introduction 2
Introduction 3
Introduction 4
NAND Flash Memory Non-volatility Shock resistance Low power consumption Fast access time 5
NAND Flash Memory No in-place updates Non-volatility Reads & writes operate at Shock resistance different granularity than Low power erasures consumption Fast access time 6
SSD Internals 7
SSD Internals 8
SSD Internals 9
SSD Internals 10
SSD Internals 11
Observations 12
PaRT-FTL 13
PaRT-FTL 14
PaRT-FTL 15
PaRT-FTL Buffered pages 16
PaRT-FTL Buffered pages 17
PaRT-FTL Buffered pages 18
PaRT-FTL Buffered pages 19
PaRT-FTL Buffered pages 20
PaRT-FTL Buffered pages 21
PaRT-FTL Buffered pages 22
Real-Time Task Model Parameters for a task: # pages in read # pages in write read request period write request period 23
Real-Time Task Model Parameters for a task: # pages in read # pages in write read request period write request period A task does not account for the CPU computation time. These tasks exist on the flash translation layer and utilize the NAND bus. 24
Real-Time Task Model Parameters for a task: Read capacity: Write capacity: # pages in time to time to read request read a page decode a page 25
Real-Time Task Model Parameters for a task: Read capacity: Write capacity: # pages in time to write # write write request a page chips 26
Real-Time Task Model 27
Real-Time Task Model Encoding task when w > 0: time to encode a page # pages per # write time to write block chips a page 28
Real-Time Task Model Encoding task when w > 0: # pages per block write # pages in period write request 29
Real-Time Task Model Garbage collection task when w > 0: 30
NAND Flash Memory Garbage Collection 1. Write 3 flash pages of Logical Page Numbers (LPN): 0, 1, 2 31
NAND Flash Memory Garbage Collection 1. Write 3 flash pages of Logical Page Numbers (LPN): 0, 1, 2 2. Update LPN=0 32
NAND Flash Memory Garbage Collection 1. Write 3 flash pages of Logical Page Numbers (LPN): 0, 1, 2 2. Update LPN=0 3. GC triggered to reclaim Block 1000 33
NAND Flash Memory Garbage Collection 1. Write 3 flash pages of Logical Page Numbers (LPN): 0, 1, 2 2. Update LPN=0 3. GC triggered to reclaim Block 1000 4. Copy valid pages in victim block to a free block 34
NAND Flash Memory Garbage Collection 1. Write 3 flash pages of Logical Page Numbers (LPN): 0, 1, 2 2. Update LPN=0 3. GC triggered to reclaim Block 1000 4. Copy valid pages in victim block to a free block 5. Erase victim block 35
Real-Time Task Model Garbage collection task when w > 0: Over-provisioning 36
Real-Time Task Model Garbage collection task when w > 0: Over-provisioning GC victim block 37
Real-Time Task Model Garbage collection task when w > 0: time spent copying valid pages and erasing the victim block time before the next block needs to be reclaimed 38
Admission Control Read set: Write set: 39
Admission Control time to Read set: read a page minimum read period Write set: 40
Admission Control Read set: time to Write set: erase a block minimum period in all write, encoding and GC tasks 41
Admission Control Simulations # of task sets: 500 # of tasks per task set: 10 Each task makes 1-page read and 3-page write requests per period Periods are calculated based on generated utilizations 42
OpenSSD Cosmos Board 43
Experimental Results: PaRT-FTL Write requests Read requests 8 tasks 4 tasks make write requests: 12-page writes every 60 msec 4 tasks make read requests: 3-page reads every 15 msec 44
Experimental Results: WAO-GC Write requests Read requests 8 tasks 4 tasks make write requests: 12-page writes every 60 msec 4 tasks make read requests: 3-page reads every 15 msec 45
Experimental Results 46
Conclusion Contributions of PaRT-FTL: ● An FTL design that takes advantage of internal parallelism in SSDs ● A real-time task model for read and write requests on multiple flash chips ● Bounded and low-latency read requests that are not blocked by write requests or garbage collection 47
Recommend
More recommend