Flash-based solid state devices (SSDs) have been very popular in storage markets due to high performance and low energy. However, the increasing capacity impedes efficient logical to physical address translation in a page-level flash translation layer (FTL). Existing schemes usually employ a small built-in RAM to cache mapping information to accelerate the address translation. Since only a fraction of the mapping table can be cached, a large number of extra operations to flash memory are required for cache management and garbage collection, degrading the performance and lifetime of an SSD. In this paper, we first apply analytical models to investigate the key factors that incur extra operations. Then, we propose an efficient page-level FTL, named TPFTL, to minimize the extra operations. TPFTL employs a two-level LRU list with space-efficient optimizations to organize cached mapping entries and a workload-adaptive loading policy combined with an efficient replacement policy to increase the cache hit ratio and reduce the writebacks of replaced dirty entries. Finally, evaluation results of extensive trace-driven simulations show that compared to the state-of-the-art FTLs, TPFTL significantly reduces the extra operations caused by address translation, achieving reductions on system response time and write amplification by up to 27.1% and 32.2%, respectively.
Journaling file systems have been widely adopted to support applications which demand data consistency.However,we observed that the overhead of journaling can cause up to 48.2% performance drop under certain workloads. The emerging high-performance, byte-addressable Non-volatile Memory (NVM) has the potential to minimize such overhead by being used as the journal device. The traditional journaling mechanism based on block devices is nevertheless unsuitable for NVM due to the write amplification of metadata journal we observed.In this paper,we propose a fine-grained metadata journal mechanism to fully utilize NVM so that the overhead of journaling can be significantly reduced. Based on the observation that conventional block-based metadata journal contains up to 90% clean metadata, we design a fine-grained journal format for byte-addressable NVM which contains only modified metadata.Moreover,we redesign the process of transaction commit, checkpointing and recovery in journaling file systems utilizing the new journal format. Therefore, the overhead of journaling can be reduced without compromising the file system consistency. To evaluate our fine-grained metadata journaling mechanism, we have implement a journaling file system prototype based on Ext4 and JBD2 in Linux. Experimental results show that our NVM-based fine-grained metadata journaling is up to 15.8x faster than the traditional approach under FileBench workloads.
Write amplification is a critical factor that limits the stable performance of flash-based storage systems. To reduce write amplification, this paper presents a new technique that cooperatively manages data in flash storage and nonvolatile memory (NVM). Our scheme basically considers NVM as the cache of flash storage, but allows the original data in flash storage to be invalidated if there is a cached copy in NVM, which can temporarily serve as the original data. This scheme eliminates the copy-out operation for a substantial number of cached data, thereby enhancing garbage collection efficiency. Simulated results show that the proposed scheme reduces the copy-out overhead of garbage collection by 51.4% and decreases the standard deviation of response time by 35.4% on average. Measurement results obtained by implementing the proposed scheme in BlueDBM , an open-source flash development platform developed by MIT, show that the proposed scheme reduces the execution time and IOPS by 2-21% and 3-18%, respectively, for the workloads that we considered.