Parallel all the time PLANE NE L LEVEL PARALLELISM E EXPLORATION - - PowerPoint PPT Presentation

parallel all the time
SMART_READER_LITE
LIVE PREVIEW

Parallel all the time PLANE NE L LEVEL PARALLELISM E EXPLORATION - - PowerPoint PPT Presentation

Parallel all the time PLANE NE L LEVEL PARALLELISM E EXPLORATION F FOR H HIGH PERFORMANCE S SOL OLID ST D STATE D DRIVES S Congming Gao , Liang Shi, Jason Chun Xue, Cheng Ji, Jun Yang, Youtao Zhang Chongqing University; East China


slide-1
SLIDE 1

Parallel all the time

PLANE NE L LEVEL PARALLELISM E EXPLORATION F FOR H HIGH PERFORMANCE S SOL OLID ST D STATE D DRIVES S

Congming Gao , Liang Shi, Jason Chun Xue, Cheng Ji, Jun Yang, Youtao Zhang Chongqing University; East China Normal University; City University of Hong Kong; University of Pittsburgh

slide-2
SLIDE 2

Outline

Background

Problem Statement SPD: From Plane to Die Parallelism Exploration

  • Overview
  • Die Level Write Construction
  • Die Level GC

Experiment Setup Results Conclusion

slide-3
SLIDE 3

Parallel Organization

Controller

Chip Chip Chip Chip

Channel Level Parallelism

Chip Chip Chip Chip

Channel

1 2 3 4 1

Chip Level Parallelism

2

Die

Plane Plane

3 4

Die Level Parallelism Plane Level Parallelism

Internal Parallelism

The last mile

slide-4
SLIDE 4

Controller Design

Chip Chip Chip Chip

Host interface

1 1

Flash Translation Layer Logical Address Physical Address

FTL DA GC WL

2 2

Data Allocation

1 2 9 10 5 6 13 14 3 4 11 12 7 8 15 16

Channel1 Channel2 Chip Die Plane

Channel First Chip Second Die Third Plane Last

[Jung et al. USENIX HotStorage'12] 3 3 4

Wear leveling prolongs the flash lifespan

4

finish

Read Write Erase

...... GC is time consuming

slide-5
SLIDE 5

Advanced Commands

Advanced commands, including interleaving command, copy-back command and multi-plane command, are used to exploit internal parallelism of SSDs.

IO Bus Die 0 Die 1 Command and address transfer Data transfer Write data Data accessing different dies in the same chip can be processed in parallel

Interleaving Command NO Restriction

slide-6
SLIDE 6

Advanced Commands

Advanced commands, including interleaving command, copy-back command and multi-plane command, are used to exploit internal parallelism of SSDs.

IO Bus Plane 0 Command and address transfer Data transfer Write data Copy-back disabled

Copy-back Command NO Restriction

Read data Plane 1 Copy-back enabled time saving

slide-7
SLIDE 7

Advanced Commands

Advanced commands, including interleaving command, copy-back command and multi-plane command, are used to exploit internal parallelism of SSDs.

IO Bus Plane 0 Plane 1 Command and address transfer Data transfer Write data Data accessing different planes in the same die can be processed in parallel

Multi-plane Command Restrictions

Same type Same in-plane address

slide-8
SLIDE 8

Outline

Background

Problem Statement

SPD: From Plane to Die Parallelism Exploration

  • Overview
  • Die Level Write Construction
  • Die Level GC

Experiment Setup Results Conclusion

slide-9
SLIDE 9

Problem Statement

Due to the restrictions of multi-plane command, plane level parallelism is hard to exploit.

Based on the restrictions of multi-plane command, operations that access the same die can be categorized into one of the following four cases:

Case 1: Operations are issued to one plane only (Single Write ); Case 2: Two different types of operations are issued to the two planes of the die; Case 3: Two same type operations with unaligned in-plane addresses are issued to the two planes of the die (Unaligned Writes ); Case 4: Two same type operations with aligned in-plane addresses are issued to the two planes (Parallel Writes ).

Case 1, 2 & 3 result in the poor plane level parallelism of SSDs.

It can not be avoided when two different types of operations are being issued.

It can be degraded to Case 1

slide-10
SLIDE 10

Problem Statement

The percentages of three cases are collected and presented: Observation 1:

Plane level parallelism is far from well utilized;

Observation 2:

A large percentage of write operations issued to the die are unaligned write operations (including Single Write and Un-aligned Writes).

slide-11
SLIDE 11

Problem Statement

Un-aligned write points W1 and W2 are processed sequentially

WP WP Aligning WPs Aligned WPs

W1 and W2 are processed in parallel But space is wasted. Host Writes:

slide-12
SLIDE 12

Problem Statement

Moving Pages

Write points in new blocks still are un-aligned GC: Valid pages are moved sequentially due to un-aligned in-plane addresses. GCs are activated simultaneously

slide-13
SLIDE 13

Problem Statement

how to align write points in each die

so that multi-plane command can be used to exploit plane level parallelism

For host writes and GCs,

slide-14
SLIDE 14

Outline

Background Problem Statement

SPD: From Plane to Die Parallelism Exploration

  • Overview
  • Die Level Write Construction
  • Die Level GC

Experiment Setup Results Conclusion

slide-15
SLIDE 15

Overview

We strive to design a write construction scheme to align the write points in each die.

SPD, an SSD from plane to die framework Assuming there are 2 planes in a die:

  • Die-Write: evicting 2 dirty pages

at each time;

  • Die-Read: reading 2 pages if

possible;

  • Die-GC: reclaiming victim blocks

in 2 planes simultaneously.

slide-16
SLIDE 16

Die Level Write Construction

Two Goals:

  • 1. The amount of data issued to a die should be a multiple of N pages

(assuming there are N planes in a die);

  • 2. The starting locations of data should be aligned for all the planes in the same die.

SSD buffer evicts a multiple of N dirty pages from one die at a time A plane level dynamic allocation scheme is adopted

[Tavakkol et al. 2016]

Buffer Supported Die-Write

slide-17
SLIDE 17

Buffer Supported Die-Write

Organization of write buffer and the die level write construction

  • A die queue is maintained;
  • Dirty pages are stored based
  • n their die number;
  • Only die list containing at least

2 pages are selected.

Based on dynamic plane level data allocation,

Die-Write is constructed!!!

slide-18
SLIDE 18

Die Level GC

Traditional GC: 1. Victim block selection; 2. Valid page movement; 3. Victim block erase Two Goals

  • 1. Aligning write points of all planes when GCs are activated;
  • 2. Reducing the time cost of valid page movement.

Die-GC:

1 The selection process takes the N

aligned blocks as a GC unit;

2 Die-Read and Die-Write are used

to align write points;

3 4 Erase operations are executed in

parallel without additional cost.

slide-19
SLIDE 19

Outline

Background Problem Statement SPD: From Plane to Die Parallelism Exploration

  • Overview
  • Die Level Write Construction
  • Die Level GC

Experiment Setup

Results Conclusion

slide-20
SLIDE 20

Experiment Setup

 Parameters of Simulated SSD  Buffer Setting:

 Size: 1/1000 of the footprint of evaluated workloads;  Page organization within a die list: LRU

 Evaluated Workloads

slide-21
SLIDE 21

Experiment Setup

 Baseline-D: Dirty pages are evicted to different dies for exploiting die level parallelism;  Baseline-P: Based on Baseline-D, dirty pages accessing different planes in the same die are

evicted at a time;

 TwinBlk: Aligning write points of planes in the same die through sending data to different

planes in a round-robin policy;

 ParaGC: Aligning write points of active blocks in different planes for reducing the time cost

  • f valid page movement during GC process;

 Proposed SPD: Evaluated Schemes:

slide-22
SLIDE 22

Outline

Background Problem Statement SPD: From Plane to Die Parallelism Exploration

  • Overview
  • Die Level Write Construction
  • Die Level GC

Experiment Setup

Results

Conclusion

slide-23
SLIDE 23

Results

Results without GC—Latency: SPD achieves more than 15% write latency decrease compared with Baseline-D. All dirty pages can be supported by multi-plane command. Read Latencies of five evaluated schemes are similar.

slide-24
SLIDE 24

Results

Results without GC—Plane Utilization: Plane utilization is increased by 36.5% compared with Baseline-D All planes of SSD can be accessed in parallel for most workloads.

slide-25
SLIDE 25

Results

Results without GC—Buffer Hit Ratio: The average buffer hit ratio is reduced by only 1.92%

slide-26
SLIDE 26

Results

Results with GC—Total GC Cost: The write latency is reduced by 48.61%, 47.65%, 42.05%, and 28.58% compared with Baseline-D, Baseline-P, TwinBlk, and ParaGC, on average. The read latencies of five schemes are similar The total GC cost is reduced by 36.4%, on average.

slide-27
SLIDE 27

Results

GC Evaluation—Average GC Cost: SPD has the minimal GC cost compared with TwinBlk and ParaGC; The GC cost of SPD is similar to that of Baseline-D and Baseline-P. 1 2

slide-28
SLIDE 28

Results

GC Evaluation—GC Count and GC Induced Erases: GC count is reduced in the range of 32.9% to 50.1%, compared with Baseline-D. The number of erase operations is reduced by 13.43% and 10.04% compared with TwinBlk and ParaGC.

slide-29
SLIDE 29

Results

Sensitive Study—Buffer Size: With larger buffer size, the write latencies of all schemes can be further reduced; Stable write latency reduction is achieved by SPD with different buffer sizes. 1 2

slide-30
SLIDE 30

Resutls

Sensitive Study—Four Planes: Compared with Baseline-D, SPD achieves 65.6% write latency reduction, on average

slide-31
SLIDE 31

Conclusion

Two components are designed in the framework: Die-Write and Die-GC.

Aligning the write points of all planes in the same die all the time.

The experimental results show that SPD effectively improves write performance of SSDs by 48.61% on average without impacting read performance .

slide-32
SLIDE 32

Thanks

Q & A