In the NAND flash-based solid state drive (SSD), there are a write buffer and a flash translation layer (FTL) to increase the performance and the lifetime. To design the write buffer and FTL for SSD, previous studies have tried to increase overall SSD performance by parallel I/O and garbage collection overhead reduction. Recent works have proposed pattern-based managements, which uses the request size and read- or write-intensiveness to apply different policies to each type of data. However, there are still some issues to increase SSD performance. At first, read and write requests can occur at the same location, and patterns of blocks can be changed. Additionally, while various FTL show different performances for a specific workload, they can be expressed by some common factors, and an appropriate FTL policy can be found. In this dissertation, we will address these issues for a better performance of the SSD.
·SUPA: A Single Unified Read-Write Buffer and Pattern-Change-Aware FTL: In our observation, the locations of read and write requests are closely related. Since many read and write requests occur at the same location, handling both clean and dirty blocks together can increase the performance. Additionally, the pattern of each type of data can be changed. With pattern changes, policy switching overhead can be occurred. As the first work of this dissertation, we propose SUPA, a single unified read-write buffer and pattern-change-aware FTL on multi-channel SSD architecture. In order to increase both read and write hit ratios on the buffer based on locality, we use a single unified read-write buffer for both clean and dirty blocks. With proposed buffer, we can increase buffer hit ratio up to 8.0% and reduce 33.6% and 7.5% of read and write latencies, respectively. To handle pattern-changed blocks, we add a pattern handler between the buffer and the FTL, which monitors channel status and handles data by applying one of the two different policies according to the pattern changes. With pattern change handling process, we can reduce 1.0% and 15.4% of read and write latencies, respectively. In total, our evaluations show that SUPA can get up to 2.0 and 3.9 times less read and write latency, respectively, without loss of lifetime in comparison to previous works.
·A Unified FTL for Multi-Channel SSD using Data-Characteristic-Dependent Configurations with Parallelism, Mapping Method, and Associativity: For increasing SSD performance, previous FTL works have tried to increase parallel I/O and reduce garbage collection overheads. For their own purposes, FTL policies are developed in various ways, and each FTL policy shows different performance for each workload. In our observation, although FTL policies are varied, they can be expressed by several common factors that have a big impact on the performance of the SSD. Additionally, among various FTL policies, an appropriate FTL policy can be found for each workload. As the second work of this dissertation, we propose a unified FTL for multi-channel SSD, including expression of FTL policies in terms of parallelism, mapping method, and associativity, and selection of an appropriate FTL policy depending on data characteristics. At first, we express various FTL policies according to their mapping method, parallelism, and associativity, and listed available policies on the specific SSD. With these FTL policies, we select an appropriate FTL policy with workload’s I/O size, read- and write-intensiveness, and hotness distribution, that are from the buffer. In this process, mapping methods and parallelisms are determined according to the I/O size and the read- and write-intensiveness, and associativities are determined according to the I/O size and the hotness distribution. With our FTL selection method, we can get more shorter latencies than using an arbitrary FTL policy, and they show 4.7% differences on average from FTL policies with the shortest latencies.