Partitioned Real-Time NAND Flash Storage Katherine Missimer and Rich - - PowerPoint PPT Presentation
Partitioned Real-Time NAND Flash Storage Katherine Missimer and Rich - - PowerPoint PPT Presentation
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
Introduction
2
Introduction
3
Introduction
4
NAND Flash Memory
5
Non-volatility Shock resistance Low power consumption Fast access time
NAND Flash Memory
Non-volatility Shock resistance Low power consumption Fast access time No in-place updates Reads & writes operate at different granularity than erasures
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
16
Buffered pages
PaRT-FTL
17
Buffered pages
PaRT-FTL
18
Buffered pages
PaRT-FTL
19
Buffered pages
PaRT-FTL
20
Buffered pages
PaRT-FTL
21
Buffered pages
PaRT-FTL
22
Buffered pages
Real-Time Task Model
Parameters for a task:
23
# pages in read request # pages in write request read period write period
Real-Time Task Model
Parameters for a task:
24
# pages in read request # pages in write request read period write period A task does not account for the CPU computation time. These tasks exist on the flash translation layer and utilize the NAND bus.
Real-Time Task Model
Parameters for a task: Read capacity: Write capacity:
25
# pages in read request time to read a page time to decode a page
Real-Time Task Model
Parameters for a task: Read capacity: Write capacity:
26
# pages in write request time to write a page # write chips
Real-Time Task Model
27
Real-Time Task Model
Encoding task when w > 0:
28
time to write a page # pages per block # write chips time to encode a page
Real-Time Task Model
Encoding task when w > 0:
29
# pages per block # pages in write request write period
Real-Time Task Model
Garbage collection task when w > 0:
30
NAND Flash Memory Garbage Collection
31
1. Write 3 flash pages of Logical Page Numbers (LPN): 0, 1, 2
NAND Flash Memory Garbage Collection
32
1. Write 3 flash pages of Logical Page Numbers (LPN): 0, 1, 2 2. Update LPN=0
NAND Flash Memory Garbage Collection
33
1. Write 3 flash pages of Logical Page Numbers (LPN): 0, 1, 2 2. Update LPN=0 3. GC triggered to reclaim Block 1000
NAND Flash Memory Garbage Collection
34
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
NAND Flash Memory Garbage Collection
35
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
Real-Time Task Model
Garbage collection task when w > 0:
36
Over-provisioning
Real-Time Task Model
Garbage collection task when w > 0:
Over-provisioning GC victim block
37
Real-Time Task Model
time before the next block needs to be reclaimed
Garbage collection task when w > 0:
time spent copying valid pages and erasing the victim block
38
Admission Control
Read set: Write set:
39
Admission Control
Read set: Write set:
40
minimum read period time to read a page
Admission Control
Read set: Write set:
41
minimum period in all write, encoding and GC tasks time to erase a block
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
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
Write requests Read requests
Experimental Results: WAO-GC
45
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
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