Font Size: a A A

Exploring Inherent Features Of Flash Memory For SSD-based Cache Optimization

Posted on:2018-08-07Degree:DoctorType:Dissertation
Country:ChinaCandidate:C LiFull Text:PDF
GTID:1368330566451341Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
With the big data era coming,applications require much higher performance and reliability of the storage systems.The I/O performance bottleneck of traditional disk-based storage is becoming more prominent.As a new kind of storage device,NAND flash-based Solid-State Drives(SSDs)have some advantages such as non-volatile,power efficiency,and high performance,etc.Adopting SSD-based cache in front of disk-based storage is very cost effective,thus attracting wide attention in both academia and industry.However,the SSDbased caching system still faces many challenges due to the unique features of flash memory.On one hand,since flash memory can only sustain a limited number of Program/Erase cycles,frequent SSD write accesses can wear out the cache device and may lead to data loss.On the other hand,to deal with some features of flash memory such as read/write asymmetry and no support for in-place update,SSD adopts algorithms like Flash Translation Layer(FTL)and built-in cache management to serve the user I/O requests,which play a key role in improving the performance and lifetime of an SSD.Therefore,optimizing the SSD-based cache management scheme and algorithms inside the SSD to build high-performance and reliable SSD cache systems is an important research topic.Enterprise-scale applications commonly adopt SSD-based write-through caches upon disk-based RAID system to improve the storage access performance while guaranteeing the high reliability.However,the conventional write-through policy cannot effectively accelerate the random write accesses.What's worse,frequent writes to the SSD cache lead to being quickly worn out,which causes high costs and performance.To address this problem,KDD,an efficient SSD caching policy,was presented to improve the cache performance and endurance by exploiting the content locality of workloads.The key idea behind KDD is to compute the deltas on cache write hits and compactly store the compressed deltas in SSD to significantly reduce the cache writes,and improve the random write performance by postponing the parity update on RAID storage.A prototype system of KDD is built with some optimizations,which dynamically partitions the cache space for data and deltas for space-efficiency,integrates the mapping information of data and deltas for fast index,and adopts a circular persistent log for metadata to make the cache persistent with low overhead.Experimental results show that KDD can effectively boost the storage access performance,and extend the SSD lifetime by up to a factor of 6.85 compared to the previous cache policy.Adopting a host-side SSD cache with write-back policy can notably reduce the write latency,however,it fails to ensure date consistency and durability under SSD failures.To address this problem,HHC: a Hybrid Host Cache scheme,was proposed to provide close to write-back performance while achieving high reliability in the caching layer by combining SSD and HDDs.The main idea behind HHC is to protect the dirty cached data in SSD by redundantly storing them in the HDD in a log-structured manner,which fully leverages the high sequential write bandwidth of HDDs and improve the reliability of caching layer,and adopt batched and asynchronous logging scheme by utilizing the semantics of write barrier to alleviate the adverse interference between logging and user write accesses while ensuring data consistency and reliability.Theoretical reliability analysis based on Mean Time To Data Loss(MTTDL)shows that caching layer in HHC can achieve much higher reliability than the backend storage array.Experimental evaluation based on macro-benchmarks shows that HHC reaches comparable performance compared to the write-back policy,and significantly outperforms the write-through policy.Traditional page replacement algorithms aim to achieve high cache hit ratios while ignoring the unique features of the flash memory,thus failing to effectively improve the performance of flash-based SSDs.To address this problem,a flash-aware page replacement policy GASA(Ghost-cache assisted and Self-tuning Algorithm),was presented to improve the SSD's performance by taking the asymmetric read/write performance into account.The main idea behind GASA is to reduce the flash write count by evicting cold clean pages preferentially while prolonging residence of hot dirty pages in the cache,and adopt a ghost buffer to identify the potential hot pages and avoid their early evictions to achieve high cache hit ratios.A simple yet effective scheme was used to tune the size of the ghost buffer automatically to adapt to different workloads.Experimental results based on real-world traces show that GASA can improve both the performance and lifetime of the SSD compared to the LRU algorithm,and compared to other flash-aware page replacement algorithms,GASA can offer a better trade-off between the hit ratio and flash write count,thus achieving the best access performance in most cases.SSDs employ the FTL to translate logical addresses to physical addresses in flash memory,called address translation.Modern page-level FTLs persistently store the entire address mapping table in separate flash pages which is called translation pages,and exploit the access locality by selectively caching the recently used mappings in the built-in SRAM to accelerate the address translation.However,a large number of extra accesses to translation pages can degrade the performance and lifetime of an SSD.To address this problem,a Log-aware synergized scheme for page-level FTL,was presented to reduce the extra overheads by exploiting the partial programmability of SLC flash pages.The contribution of LSFTL consists of two key elements.Firstly,in-place logging policy decreases garbage collection overhead via reserving a small portion of each translation page as a logging area to hold multiple updates to the entries of that translation page.Secondly,log-aware flush back policy selectively evicts multiple dirty cache lines that share the same translation page in a single transaction,thus reducing the number of translation page updates while guaranteeing the utilization of the log area.Extensive experimental results of trace-driven simulations show,by significantly reducing the extra overheads caused by translation page accesses,LSFTL can notably improve both the performance and lifetime of the SSD.
Keywords/Search Tags:Flash Memory, Solid-State Drive(SSD), Storage System Optimization, Flash Translation Layer(FTL), Cache Management, Performance, Reliability
PDF Full Text Request
Related items