envy - a non-volatile main memory storage system
DESCRIPTION
TRANSCRIPT
![Page 1: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/7.jpg)
eNVy architectureeNVy architecture
![Page 8: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/9.jpg)
eNVy architecture (Cont’)eNVy architecture (Cont’) Write operationWrite operation
![Page 10: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/10.jpg)
eNVy architecture (Cont’)eNVy architecture (Cont’) SegmentSegment
erase unit in eNVyerase unit in eNVy
![Page 11: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/11.jpg)
eNVy architecture (Cont’)eNVy architecture (Cont’) CleaningCleaning
![Page 12: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/14.jpg)
Cleaning policy (Cont’)Cleaning policy (Cont’)
![Page 15: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/19.jpg)
Cleaning policy (Cont’)Cleaning policy (Cont’)
PerformancePerformance
![Page 20: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/21.jpg)
SimulationSimulation
Simulation environmentSimulation environment
![Page 22: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/23.jpg)
Simulation (Cont’)Simulation (Cont’)
ThroughputThroughput
![Page 24: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/24.jpg)
Simulation (Cont’)Simulation (Cont’)
LatencyLatency
![Page 25: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/26.jpg)
ContentsContents
IntroductionIntroduction eNVy architectureeNVy architecture Cleaning policyCleaning policy SimulationSimulation Hardware ExtensionsHardware Extensions ConclusionConclusion
![Page 27: eNVy - A Non-Volatile Main Memory Storage System](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012405/548260025806b515058b4665/html5/thumbnails/28.jpg)
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