48
Partitioned Real-Time NAND Flash Storage Katherine Missimer and Rich West

Partitioned Real-Time NAND Flash Storage - RTSS 20182018.rtss.org/wp-content/uploads/2018/12/5-1.pdf · 2018-12-18 · Admission Control Simulations # of task sets: 500 # of tasks

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Partitioned Real-Time NAND Flash Storage

Katherine Missimer and Rich West

Introduction

2

© CircuitsToday

© Eric Risberg AP

Introduction

3© Chesky_W © Mapping Ignorance

© Analytics Vidhya© CircuitsToday

© Eric Risberg AP

Introduction

4

© The Robotics Institute

© Chesky_W © Mapping Ignorance

© Analytics Vidhya© CircuitsToday

© Eric Risberg AP

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

Page writes for different ways/chips are buffered.

PaRT-FTL

17

Buffered pages

When a block of buffered data is written to each flash chip in Way 1, the write set rotates to Way 2.

PaRT-FTL

18

Buffered pages

PaRT-FTL

19

Buffered pages

When updating a partially flushed stripe of data, the old pages that are in the buffer are marked as invalid.

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 toread a page

time todecode a page

Real-Time Task Model

Parameters for a task:

Read capacity: Write capacity:

26

# pages in write request

time to write a page

# writechips

Real-Time Task Model

27

Real-Time Task Model

Encoding task when w > 0:

28

time to write a page

# pages per block

# writechips

time toencode 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 toread a page

Admission Control

Read set:

Write set:

41minimum period in all write, encoding and GC tasks

time toerase 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 requests8 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

48

Thank you!