SSD Caching

  • View
    74

  • Download
    0

Embed Size (px)

Text of SSD Caching

Presentation

SSD Caching: Improving Read Performance9/7/2016SSD cachingP1RAMBlock Cache(nx10TB)~1%DiskStorage(nxPB) RAMBlock Cache(nxTB)DiskStorage(nxPB) SSDBlock Cache(nx10TB)

SSD Drive installed in the Node

Page #

9/7/2016

1

SSD Caching: Read Only Cache9/7/2016SSD Caching

WriteGetReadDisca rdHDDBlock Cache

ssd_addr = { ssd_id, LBA}SDD

hdd_addr = { hdd_id, LBA }

SSD MapSSD block statusblock_addr->ssd_addrSDD Daemonblock_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 HDDSSD failure does not affect correctness (I/O redirected to HDD)

Page #

9/7/2016

2

System Requirements9/7/2016SSD CachingPerformance and IntegrityAdd/remove SSD drives on the flyMinimize SSD Cache Map in RAMSave SSD Map at ShutdownRestore SSD Map on node bring up after boot/hot-upgrade/node-failureControl SSD write to balance I/O activity Accelerate fill-upControl SSD lifetimePrevent long read queuing delaySSD must provide the same integrity guarantees as reading from HDD,SSD read latency is linearly related to the amount of data readThe problem: arrange SSD data layout to minimize amount of data read and at the same time satisfy integrity requirements

Page #

9/7/2016

3