using next generation nvram as a write buffer for flash … · 2019-05-23 · nvram write buffer...

37
Using Next Generation NVRAM as a Write Buffer for Flash M b d St D i Memory-based Storage Devices 한양대학교

Upload: others

Post on 09-Aug-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Using Next Generation NVRAM as a Write Buffer for Flash M b d St D iMemory-based Storage Devices

강 수 용강 수 용

한양대학교

Page 2: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Motivation

Solid-State Disk 성능낮은 random write 성능Random write에 대한 효율적 관리 필요

Device Sequential Random 8KB Price $ Power iops/$ iops/watt

SCSI 15k rpm 75 MBps 200 iops 500$ 15 watt 0.5 13

SATA 10k rpm 60 MBps 100 iops 150$ 8 watt 0.7 12

Flash - read 53 MBps 2,800 iops ?? 400$ 0.9 watt 7.0 3,100

Flash - write 36 MBps 27 iops ?? 400$ 0.9 watt 0.07 30

< Jim Gray, “Flash Disk Opportunity for Server-Application”, Microsoft Research, 2007 >

Page 3: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Motivation

플래시 메모리를 위한 차세대 NVRAM 의 활용플래시 메모리를 위한 차세대 NVRAM 의 활용

메타데이터 저장소로 활용메타데이터 저장소로 활용• Mapping info. 저장에 따른 부팅시간의 단축• 메타데이터에 대한 접근을 흡수

쓰기 버퍼로 활용• Flash memory에 대한 접근 횟수 감소• Random write 성능 향상

기타 방안으로 취급되어서는 안될 다른 활용 방안들기타 활용 방안들기타 활용 방안들

Page 4: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

NVRAM Write Buffer for Hard Disks

하드 디스크를 위한 쓰기 버퍼 알고리즘고려 사항• 시간 지역성

– 접근 횟수를 줄임– LRW (Least Recently Written page) 등– Metric : buffer hit ratioMetric : buffer hit ratio

• 공간 지역성– 접근 비용을 줄임– LST(Largest Segment per Track), CSCAN 등– Metric : delay

Stack Model : LRW + LSTStack Model : LRW + LSTWOW : LRW + CSCAN

Page 5: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Differences between HDD & SSD

H/W의 관점 ll kH/W의 관점 : well knownS/W의 관점 : Mapping Layer 의 존재

Mapping Layer의 형태: FTL, FilesystemMapping 방식: 블록 맵핑, 섹터 맵핑잦은 랜덤 쓰기 발생시 merge로 인한 성능 저하• Extra operations (erase, valid page copy) 발생

Page 6: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

NVRAM Write Buffer for Flash Memory

시간 지역성 고려시간 지역성 고려Try to increase the buffer hit ratio

Mapping 기법의 동작 특성 고려Mapping 기법의 동작 특성 고려Try to reduce the No. of extra operations

FLASH Memory

PRAM MRAM FRAMWrite Buffer

F T L

Page 7: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

How to reduce the number of extra operations?

Page 8: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Necessity of Page Clustering

write A3 ‘ to L1

write A4’ to L1

Data block

A1

A2

B1

B2

C2’

A2’… D1’ C1’ B2’ B1’ A4’ A3’

write B1’ to L2

write B2’ to L2

Merge A and L1A

A2

A3

A4

B

B2

B3

B4

D2’

A1’

D1’

… D1 C1 B2 B1 A4 A3

Page Level Management

(smart Copy)

write C1’ to L1

………..write A1’ to L1

A B

C1

C2

C3

D1

D2

D3D1

C1’

B2’D Cluster

D1’C Cluster

C1’B Cluster

B1’A Cluster

A1’ A2’

write A1’ to L1

write A2’ to L1

write A3’ to L1

write A4’ to L1

C

C4

D

D4

Log blockB1’

A4’

A3’

D2’ C2’ B2’ A3’ A4’

Block Level Management

write A4 to L1

write B1’ to L2

write B2’ to L2

Merge A and

Log block

NVRAM NVRAM Management

BAST FTL

Merge A and L1 (switch)

write C1’ to L1

………..L1 L2

Flash MemoryBAST FTL Operation

Flash Memory

Page 9: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Data Structure of Page Cluster

Cluster List Page List

Block Number Page Page Page…Cluster List Page List

Block Number

Block Number

Page Page Page

Page Page PageBlock Number Page Page Page

……

Block Number Page Page

Page 10: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Cluster-based Algorithm 1

LRU-CL t R tl U d (W itt ) Cl t fi tLeast Recently Used (Written) Cluster first클러스터의 recency를 고려하여 교체 클러스터를 선정Sequential write cluster list를 유지하여 우선적으로Sequential write cluster list를 유지하여 우선적으로교체대상으로 삼음

SequentialSequentialWrite Cluster

LRU Cl t Li t

MRU LRU

LRU Cluster List

Recency

Page 11: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Cluster-based Algorithm 2

LCLargest Cluster first클러스터의 크기만을 고려하여 교체 클러스터 선정

LRU Cluster Pointer Array1 2 3 4 61 62 63 64…..

Block number

Pinned

Cluster size

Block number

Pinned

Cluster size

Block number

Pinned

Cluster size

Block number

Pinned

Cluster size

Block number

Pi d

Block number

Pi d

Block number

Pi d

Block number

Pi d

Recency

Pinned

Cluster size

Pinned

Cluster size

Pinned

Cluster size

Pinned

Cluster size

y

……. ……. ……. …….

Size

Page 12: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Cluster-based Algorithm 3

Greedy-DualRecency와 cluster size를 동시에 고려Time * cluster size 의 값이 큰 클러스터를 교체 대상으로 선정Time * cluster size 의 값이 큰 클러스터를 교체 대상으로 선정

i i i i i i i i

LRU Cluster Pointer Array

1 2 3 4 61 62 63 64…..

Time Time Time Time Time Time Time Time…..

Block number

Pointer Array

Block numberBlock numberBlock number

Pinned

Cluster size

Time

Pinned

Cluster size

Time

Pinned

Cluster size

Time

Pinned

Cluster size

Time

Block number

Pinned

Block number

Pinned

Block number

Pinned

Block number

Pinned

Recency Pinned

Cluster size

Time

Pinned

Cluster size

Time

Pinned

Cluster size

Time

Pinned

Cluster size

Time

y

Size

Page 13: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Is there any off-line optimal algorithm?Is there any off line optimal algorithm?

Page 14: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Off-line Optimal Algorithm

We can knowWhen a page (or cluster) will be referenced again in the future

However, it is hard to knowHow many extra operations will occur in the future by replacing this page (or cluster) now

Possibility of finding an Optimal algorithmVery, very hard Maybe intractable!

Page 15: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Off-line Pseudo Optimal Algorithms

MIN-C (MIN Cluster)MIN-C (MIN Cluster)기존의 MIN 알고리즘을 클러스터에 적용• 미래에 가장 나중에 참조될 클러스터를 교체대상으로 선정미래에 가장 나중에 참조될 클러스터를 교체대상으로 선정• 다음에 참조될 거리 값(d)을 이용

d(B)=6

clusterA

clusterB

clusterC

clusterD

write buffer

e f d a g b d b c f e e …..

write sequence write buffer

d(A)=4, d(B)=6, d(C)=9, d(D)=7

victim cluster = Cvictim cluster C

Page 16: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Off-line Pseudo Optimal Algorithms

MIN CSMIN-CSMIN-C 정책에 Cluster size도 고려d(x)*s(x)

d(B)*s(B)=36

cluster A e f d a g b d b c f e e …..

( ) ( )

cluster B cluster C cluster Dsize=2

write buffer

e f d a g b d b c f e e …..

write sequence size=6 size=1 size=3

d(A)*s(A)=8, d(B)*s(B)=36, d(C)*s(C)=9, d(D)*s(D)=21

victim cluster = B

Page 17: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Off-Line Pseudo Optimal Algorithms

Careful conjectureCareful conjecture Optimal algorithm• Would be cluster-basedWould be cluster based• Would consider the

cluster size

MetricWhi h i i i bWhich one is more important metric between ‘Recency’ and ‘Cluster size’?M b t hi t f th b h i f MIN CSMaybe we can get hint from the behavior of MIN-CS

Page 18: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

“Recency” versus “Size” in MIN-CS

Size (rrank)

Recency (rank)

WB size= 0.5M WB size= 2M

Recency (rank)

Page 19: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

“Recency” versus “Size” in MIN-CS

Size (rrank)

Recency (rank)

WB size= 8M WB size= 16M

Recency (rank)

Page 20: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Performance ?

Page 21: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Workload

Sequential and cache insensitiveSequential and cache insensitive

Desktop Trace

Attribute Value

Filesystem FAT32

Attribute Value

Filesystem NTFS y

Running Application

Web surfing, emails sending / receiving, document typesetting, and gaming, multimedia file download

Running Application

Web surfing, emails sending / receiving, document typesetting, and gaming,multimedia file download

Duration One month

Locality 75 of total requests access 41 of total page's

Duration One month

Locality 75 of total requests access 23 of total page's

Total page written 14,147,956 Total page

written 58,545,851

Page 22: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Workload

Random and cache sensitiveRandom and cache sensitive

Database Trace

Attribute Value

Filesystem EXT2Filesystem EXT2

Running Application PostgreSQL

Duration One Week

Locality 75 of total requests access 6 of total page's

Total page written 16,659,675

Page 23: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Simulation

Underlying FTL: BASTMetrics

Write Buffer page hit ratioExtra Overhead for Extra Operations

• Erase, valid page copy

Page 24: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Results

FAT Trace

Page 25: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Results

NTFS trace

Page 26: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Results

TPCC trace

Page 27: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Write Buffer-Aware FTL ?

Page 28: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Observations and Insight

Observations클러스터 단위의 Flushing• Random write의 성질이 희석됨• FTL에서 Log block의 필요성이 낮아짐

로그블록 기반 FTL의 문제점합• 로그 블록에 쓴 이후에 데이터 블록과 병합하는 과정에서 smart

copy로 인한 오버헤드가 큼

InsightFlush되는 클러스터와 플래시 메모리의 데이터 블록을Flush되는 클러스터와 플래시 메모리의 데이터 블록을즉시 병합 Instant Merge operation

Page 29: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Smart Copy versus Instant Merge

Data block Log blockFree blockData block

4 valid page copies and 2 erases

0

21

013

000000

2

01

0

21

NVRAM

ClusterClusterCluster

3 3

Erase Erase Update Map

3

Erase

0

1

3

0

1

3

0

1

3

Smart copy of log block scheme FTL

Log block Data block

1 valid page copy and 1 erase333

01

Log block

0

2

Data block

1

3

Update Map

23

Erase

Instant Merge

Page 30: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Optimistic FTL

Be OPTIMIST!

“적절한 크기의 Write Buffer 가 있고, 클러스터 단위의버퍼교체정책을 사용할경우, Flush 되는클러스터는 충분히 많은페이지를 포함할 것이다”

AndUse Instant Merge

• No Log block except one for IM

Use only block mapping (No page mapping)

Page 31: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Optimistic FTL

1

2

Data block Log block(1)

(2) Victim Cluster2

3

4

3

4

10

11

(3)

(4)

5

6

(5)

(6)

7(7)

7

8(8) 17 24

20

Free block Data block

F 111

(10) Erase (9) Update map 21

22

Free

Free

12………

1

2

1

2

………

NVRAM Write Buffer

…………………………

Page 32: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Is it OK to be an Optimist ?p

Page 33: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Simulation Result

Page 34: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Simulation Result

Page 35: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Simulation Result

Page 36: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

BAST vs Optimistic FTL

Page 37: Using Next Generation NVRAM as a Write Buffer for Flash … · 2019-05-23 · NVRAM Write Buffer for Hard Disks 하드디스크를위한쓰기버퍼알고리즘 고려사항 • 시간지역성

Conclusion

SSD를 위한 쓰기버퍼 관리Page Clustering 필요클러스터 기반 교체정책 필요• Hit ratio와 Extra overhead 동시 고려• Ex. Greedy-Dual

찰• 최적 알고리즘에 대한 고찰 필요

WB-aware FTL 개발 필요E O ti i ti FTL• Ex. Optimistic FTL