Font Size: a A A

Research On Transaction Mechanism For Flash Device

Posted on:2016-11-17Degree:MasterType:Thesis
Country:ChinaCandidate:P ZhuFull Text:PDF
GTID:2428330473964913Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Transaction,a mechanism which is commonly used in database management system and file system.In traditional disk storage architecture,transactions are mainly implemented in high-level systems and applications.The separate implementation of transaction mechanism in these high-level systems and applications lead to not only the emergence of massive redundant work,but the rise of data error ratio.Providing transaction interfaces on storage layer can dramatically decrease complicacy of high-level systems and improve reliability of overall system.Copy on Write strategy is generally adopted to implement transaction mechanism in traditional disk,which is likely to cause data scattering and result in poor transaction operating performance.The out-of-place update strategy and high random read access speed properties make the flash memory become an ideal device to support transaction mechanism.Existing embedded transaction commit protocols in flash-based Solid State Drives(SSDs)improve transaction throughput effectively,however,high transaction track overhead and long system recovery time is caused in the meantime.In this paper,an embedded transaction protocol which adopts limited non-volatile memory in flash-based SSD is proposed.Considering the transplantation of embedded transaction protocols is bad,we design a general transaction protocol for flash memory in Linux general block device layer.The contributions are summarized as follows.Firstly,this paper analyzes that embedded transaction protocols request such characteristics as low transaction track overhead,uncorrelated transaction aborted ratio and fast system recovery.Meanwhile,low garbage collection cost is need to be ensured.In order to satisfy the above-mentioned requirements,an embedded transaction protocol inside SSD with limited non-volatile cache is proposed.To ensure fast system recovery after a power failure,non-persistent mapping table and the metadata of activate transactions are stored in non-volatile cache.Due to limited capacity of non-volatile memory,we design a dynamic allocation algorithm for non-volatile memory.And a hybrid storage method for long transaction in the real workloads is proposed.The embedded transaction protocol is implemented in TxSSD simulator.Experimental results demonstrate that our transaction protocol not only has better performance and shorter system recovery,but also can lengthen SSD service life.Secondly,considering the existing embedded transaction protocols are mostly implemented in FTL firmware,they are relative to flash memory hardware and have bad portability,we design a general transaction protocol(TxFlashLog)for flash memory.It uses the frame of FlashCache and redesigns the storage pattern of data by adopting Log-structured way.When system restarts,we can decide whether the last transaction is committed or not by scanning conversely data blocks.Experimental results show the performance of TxFlashLog is higher than that of WAL,and TxFlashLog is implemented in a module which can be loaded in Linux kernel.
Keywords/Search Tags:Flash Memory, Transaction, Consistency, Non-volatile Cache, General Property
PDF Full Text Request
Related items