ssd caching

3
Page 1 SSD Caching: Improving Read Performance 06/11/2022 SSD caching P1 RAM Block Cache (nx10TB) ~1% Disk Storage (nxPB) RAM Block Cache (nxTB) Disk Storage (nxPB) SSD Block Cache (nx10TB) SSD Drive installed in the Node

Upload: israel-gold

Post on 12-Feb-2017

113 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SSD Caching

SSD Caching: Improving Read Performance

05/01/2023 SSD caching

P1

RAMBlock Cache(nx10TB)

~1%

DiskStorage(nxPB)

RAMBlock Cache

(nxTB)

DiskStorage(nxPB)

SSDBlock Cache(nx10TB)

SSD Drive installed in the Node

Page 2: SSD Caching

SSD Caching: Read Only Cache

05/01/2023 SSD Caching

Write

GetReadDisca rd

HDD

Block Cache

ssd_addr = { ssd_id, LBA}

SDD

hdd_addr = { hdd_id, LBA }

SSD Map• SSD block status• block_addr->ssd_addr

SDD Daemon

block_addr = { volume_id, LBA }

SSD is NOT a write-thru cache(Never write to HDD)

SSD caches only “clean” blocks(HDD and SSD block are identical)

Provides the same integrity guarantees as HDD

SSD failure does not affect correctness (I/O redirected to HDD)

Page 3: SSD Caching

System Requirements

05/01/2023 SSD Caching

Performance and Integrity Add/remove SSD drives on the fly Minimize SSD Cache Map in RAM Save SSD Map at Shutdown Restore SSD Map on node bring up

after boot/hot-upgrade/node-failure Control SSD write to balance I/O

activity • Accelerate fill-up• Control SSD lifetime• Prevent long read queuing delay

SSD must provide the same integrity guarantees as reading from HDD,

SSD read latency is linearly related to the amount of data read

The problem: arrange SSD data layout to minimize amount of data read and at the same time satisfy integrity requirements