Font Size: a A A

Research On Performance Optimization Of Flash Memory Based Solid State Drives For Multiple Applications

Posted on:2022-02-03Degree:DoctorType:Dissertation
Country:ChinaCandidate:R P LiuFull Text:PDF
GTID:1488306536463834Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Thanks to the rapid development of Internet of things,artificial intelligence,and high-speed mobile networks,applications for various scenarios are becoming more and more versatile.These applications deliver unprecedented user experiences,but they generate huge amounts of data and put tremendous pressure on storage systems.In order to store the huge amount of data persistently,Solid State Drives(SSDs)are widely deployed in data centers,personal computers and embedded systems because of their large capacity,small size and anti-vibration.However,facing the rapid innovation of upper applications,the traditional storage software cannot continue to support these emerging applications to access data effectively,which limits the high throughput and low latency characteristics of SSDs.Especially,when multiple applications are accessing the same SSD device concurrently,the performance degradation of SSDs is further exacerbated due to the interference among multiple applications.Therefore,for multiple applications sharing the same SSD device,this thesis targets at improving the performance of SSDs through carefully optimizing the storage software.First,we propose the performance isolation mechanism of multiple applications in SSDs to reduce the access conflicts and improve the read and write performance.Then,a wear-leveling strategy is designed to prolong the lifespan of SSDs.Finally,DRAM-based data cache management is proposed to achieve fairness among multiple applications.The key contributions of this thesis are summarized in below.(1)To improve the read and write performance of SSDs,we revisit hardware isolation technologies.Instead of sharing all the flash channels,we allocate the specified number of flash channels for each applications.We show that an appropriate channel allocation strategy can effectively avoid access conflicts in the case of multi-application shared SSDs.Since the access patterns of multiple applications are diverse,we employ a machine learning algorithm to assist allocating flash channels.Besides,for each applications that allocated into the specified number of flash channles,we implement a hybrid flash page allocation strategy,to adapt to different access patterns and further improve the over performance of SSDs.(2)Due to the characteristics of hardware isolation,multiple applications only access the data in their own flash channels.However,different applications can write at different rates and in different patterns,which ages the flash channels at different rates.Since SSDs has limited write endurance,different wirting rates risks uneven aging in the SSD device and shorten lifespan of SSD device.We propose a novel wear-leveling scheme to balance the write counts across all the flash channels through swapping two allocated channels of the applications based on their erase times.Considering the overhead of the data migration when two applications swap the flash channels,we explore the interval of I/O requests,and migrate data at the idle time of the channels.(3)Conventional data cache management within SSDs mainly focuses on improving cache hit ratio,which causes data cache contention and sacrifices fairness among the multiple applications.In this thesis,we propose a DRAM-based over-provisioning(OP)cache management mechanism.In this thesis,we propose a two-stage fairness guarantee,including Static-OP stage and Dynamic-OP stage.Through providing a privilege for the unfair application continuously,we reduce data cache contention and improve fairness for modern SSDs.To minimize the overhead of writing back the extra data,we exploit the internal parallelism of SSDs and propose a novel parallel writing back strategy in Dynamic-OP stage.We evaluate the propose techniques in a trace-driven SSD simulator.The evaluation results suggest that the proposed flash channles allocation mechanism can effectively improve the performance and avoid access conflicts among multiple applications.The proposed wear-leveling scheme evenly distributes erase operations and prolong lifespan of SSDs.Moreover,the proposed fairness guarantee techniques can reduce data cache contention and improve fairness for SSDs.
Keywords/Search Tags:Solid State Drives (SSDs), Multiple Applications, Access Performance, Wear-Leveling, Fairness
PDF Full Text Request
Related items