Techniques for improving performance of the FAST (fully-associative sector translation) flash translation layer
A Flash Translation Layer (FTL) emulates a block device interface on top of flash memory to support traditional disk-based file systems. Due to the erase-beforewrite feature of flash memory, an FTL usually performs outof- place updates and uses a cleaning procedure to reclaim obsolete data. The FAST (Fully-Associative Sector Translation) FTL is one of the most well-known FTLs and has been used in many previous studies. It reserves a small portion of the flash storage as the log area and uses the blocks in this area (i.e., log blocks) to accommodate data overwrites. Among all the log blocks, one (called the SW log block) is used to accommodate sequential overwrites, while the others (called RW log blocks) are used to accommodate random overwrites. In this paper, two techniques are proposed to reduce the cleaning cost and hence to improve the performance of FAST. The first technique reduces the cost of RW log block reclamation by utilizing efficiency-driven cleaning policies, and the second technique replaces high-cost SW log block reclamation with low-cost RW log block reclamation. We have implemented the proposed techniques on the FAST FTL as well as the HFTL, an FTL based on FAST. The simulation results on six real/benchmark-based workloads show that the proposed techniques significantly reduce the cleaning cost, by up to 97.64% in FAST and 66.80% in HFTL, demonstrating the effectiveness of the proposed techniques1.