eNVy - A Non-Volatile Main Memory Storage System

28
eNVy : A Non-Volatil eNVy : A Non-Volatil e, Main Memory Stora e, Main Memory Stora ge System ge System Michael Wu and Willy Zwaenepoel. Michael Wu and Willy Zwaenepoel. Proceedings of the 6th Symposium on Architectural S Proceedings of the 6th Symposium on Architectural S upport for Programming Languages and Operating Syst upport for Programming Languages and Operating Syst ems, October 1994 ems, October 1994 Speaker : Ha do young Speaker : Ha do young

description

 

Transcript of eNVy - A Non-Volatile Main Memory Storage System

Page 1: eNVy - A Non-Volatile Main Memory Storage System

eNVy : A Non-Volatile, Main eNVy : A Non-Volatile, Main Memory Storage SystemMemory Storage System

Michael Wu and Willy Zwaenepoel.Michael Wu and Willy Zwaenepoel.

Proceedings of the 6th Symposium on Architectural Support for PrograProceedings of the 6th Symposium on Architectural Support for Programming Languages and Operating Systems, October 1994mming Languages and Operating Systems, October 1994

Speaker : Ha do youngSpeaker : Ha do young

Page 2: eNVy - A Non-Volatile Main Memory Storage System

ContentsContents

IntroductionIntroduction Traditional storage systemTraditional storage system Comparison of storage tech.Comparison of storage tech. Overviews on eNVyOverviews on eNVy

eNVy architectureeNVy architecture Cleaning policyCleaning policy SimulationSimulation Hardware ExtensionsHardware Extensions ConclusionConclusion

Page 3: eNVy - A Non-Volatile Main Memory Storage System

IntroductionIntroduction

Traditional storage systemTraditional storage system use magnetic diskuse magnetic disk

difficult to reduce access timedifficult to reduce access time SolutionsSolutions

cache, write buffer, RAID array…cache, write buffer, RAID array…

Alternative approachAlternative approach persistent storage system using solid-persistent storage system using solid-

state memoriesstate memories

Page 4: eNVy - A Non-Volatile Main Memory Storage System

Introduction (Cont’)Introduction (Cont’)

Comparison of storage tech.Comparison of storage tech.

envy : read 180 ns / write 200 nsenvy : read 180 ns / write 200 ns

Page 5: eNVy - A Non-Volatile Main Memory Storage System

Introduction (Cont’)Introduction (Cont’)

Overviews on eNVyOverviews on eNVy large persistent storage system built on top of large persistent storage system built on top of

Flash memoryFlash memory as a simple linear array of non-volatile memoryas a simple linear array of non-volatile memory overcomeovercome

bulk erase naturebulk erase nature write, erase time > read timewrite, erase time > read time lifetimelifetime

Page 6: eNVy - A Non-Volatile Main Memory Storage System

ContentsContents IntroductionIntroduction eNVy architectureeNVy architecture

featuresfeatures SRAM as write bufferSRAM as write buffer segmentsegment cleaningcleaning

Cleaning policyCleaning policy SimulationSimulation Hardware ExtensionsHardware Extensions ConclusionConclusion

Page 7: eNVy - A Non-Volatile Main Memory Storage System

eNVy architectureeNVy architecture

Page 8: eNVy - A Non-Volatile Main Memory Storage System

eNVy architecture (Cont’)eNVy architecture (Cont’)

FeaturesFeatures manage data in page levelmanage data in page level use page tableuse page table copy-on-write schemecopy-on-write scheme

in-place update using SRAM as write bufferin-place update using SRAM as write buffer small amount of battery backed SRAM small amount of battery backed SRAM

page table / write buffer page table / write buffer optimized cleaning alg.optimized cleaning alg.

Page 9: eNVy - A Non-Volatile Main Memory Storage System

eNVy architecture (Cont’)eNVy architecture (Cont’) Write operationWrite operation

Page 10: eNVy - A Non-Volatile Main Memory Storage System

eNVy architecture (Cont’)eNVy architecture (Cont’) SegmentSegment

erase unit in eNVyerase unit in eNVy

Page 11: eNVy - A Non-Volatile Main Memory Storage System

eNVy architecture (Cont’)eNVy architecture (Cont’) CleaningCleaning

Page 12: eNVy - A Non-Volatile Main Memory Storage System

ContentsContents IntroductionIntroduction eNVy architectureeNVy architecture Cleaning policyCleaning policy

Cleaning costCleaning cost Greedy methodGreedy method Locality gatheringLocality gathering Hybrid methodHybrid method

SimulationSimulation Hardware ExtensionsHardware Extensions ConclusionConclusion

Page 13: eNVy - A Non-Volatile Main Memory Storage System

Cleaning policyCleaning policy

Cleaning policy decidesCleaning policy decides which segments to cleanwhich segments to clean when to cleanwhen to clean where to write new datawhere to write new data

Three different cleaning strategiesThree different cleaning strategies greedy methodgreedy method locality gatheringlocality gathering hybrid methodhybrid method

Page 14: eNVy - A Non-Volatile Main Memory Storage System

Cleaning policy (Cont’)Cleaning policy (Cont’)

Page 15: eNVy - A Non-Volatile Main Memory Storage System

Cleaning policy (Cont’)Cleaning policy (Cont’) Flash Cleaning costFlash Cleaning cost

# of Flash program operations by cleaning alg.# of Flash program operations by cleaning alg. depends on segment utilization (u)depends on segment utilization (u)

Segment utilization : Segment utilization : percentage of storage percentage of storage space actually occupied by space actually occupied by live datalive data

Page 16: eNVy - A Non-Volatile Main Memory Storage System

Cleaning policy (Cont’)Cleaning policy (Cont’)

Greedy methodGreedy method OperationOperation

clean the most invalidated segmentclean the most invalidated segment tends to clean segments in a FIFO ordertends to clean segments in a FIFO order

good for uniform distributiongood for uniform distribution

Page 17: eNVy - A Non-Volatile Main Memory Storage System

Cleaning policy (Cont’)Cleaning policy (Cont’) Locality gatheringLocality gathering

OperationOperation heuristicheuristic

frequency X cleaning costfrequency X cleaning cost data redistributiondata redistribution

to lower utilizations of hot seg.to lower utilizations of hot seg. locality gatheringlocality gathering

hot data → lower # seg.hot data → lower # seg. cold data → higher # seg.cold data → higher # seg.

locality preservationlocality preservation seg.↔write buf : record seg. #seg.↔write buf : record seg. #

use high localitiesuse high localities swap seg. for even wearingswap seg. for even wearing

Page 18: eNVy - A Non-Volatile Main Memory Storage System

Cleaning policy (Cont’)Cleaning policy (Cont’)

Hybrid methodHybrid method partitionpartition

Several adjoining segmentsSeveral adjoining segments locality gathering between partitionslocality gathering between partitions greedy method within each partitiongreedy method within each partition

Page 19: eNVy - A Non-Volatile Main Memory Storage System

Cleaning policy (Cont’)Cleaning policy (Cont’)

PerformancePerformance

Page 20: eNVy - A Non-Volatile Main Memory Storage System

ContentsContents IntroductionIntroduction eNVy architectureeNVy architecture Cleaning policyCleaning policy SimulationSimulation

Simulation environmentSimulation environment ThroughputThroughput LatencyLatency LifetimeLifetime

Hardware ExtensionsHardware Extensions ConclusionConclusion

Page 21: eNVy - A Non-Volatile Main Memory Storage System

SimulationSimulation

Simulation environmentSimulation environment

Page 22: eNVy - A Non-Volatile Main Memory Storage System

Simulation (Cont’)Simulation (Cont’) WorkloadWorkload

I/O workload by TPC-A database benchmarkI/O workload by TPC-A database benchmark Simulation ParametersSimulation Parameters

Page 23: eNVy - A Non-Volatile Main Memory Storage System

Simulation (Cont’)Simulation (Cont’)

ThroughputThroughput

Page 24: eNVy - A Non-Volatile Main Memory Storage System

Simulation (Cont’)Simulation (Cont’)

LatencyLatency

Page 25: eNVy - A Non-Volatile Main Memory Storage System

Simulation (Cont’)Simulation (Cont’)

LifetimeLifetime 10000 TPS simulation10000 TPS simulation most modern computer equipment lifespanmost modern computer equipment lifespan

3 ~ 5 years3 ~ 5 years

Page 26: eNVy - A Non-Volatile Main Memory Storage System

ContentsContents

IntroductionIntroduction eNVy architectureeNVy architecture Cleaning policyCleaning policy SimulationSimulation Hardware ExtensionsHardware Extensions ConclusionConclusion

Page 27: eNVy - A Non-Volatile Main Memory Storage System

Hardware extensionsHardware extensions

Multiple program and erase Multiple program and erase operationoperation Concurrent operationConcurrent operation

Hardware atomic transaction supportHardware atomic transaction support data in Flashdata in Flash

invalidated but not destroyedinvalidated but not destroyed can just roll back from Flashcan just roll back from Flash

Page 28: eNVy - A Non-Volatile Main Memory Storage System

ConclusionConclusion

Flash is becoming important storage mediuFlash is becoming important storage mediumm

More portable and better performanceMore portable and better performance

eNVy provides an efficient interface to a hieNVy provides an efficient interface to a high speed, Flash-based storage systemgh speed, Flash-based storage system