2R: Efficiently Isolating Cold Pages in Flash Storages.

2020 
Given skewed writes common in databases, the conventional 1R-Greedy FTL incurs huge write amplification, most of which is contributed by cold pages amounting to 80% of data. Since 1R-Greedy manages all flash blocks in one region at no type distinction, cold pages will be mixed with non-cold ones in the same blocks, spread across blocks over time, and thus repeatedly relocated upon garbage collections.In this paper, we propose "two region" FTL (2R in short); with two flash regions of normal and cold, it focuses on isolating cold pages into cold region and thus preventing their repetitive relocations. 2R has two versions. The optimized version, 2R-FIFO, can further prevent the problem of false cold pages in the basic version, 2R-Greedy, by taking FIFO instead of Greedy as its victim selection policy. 2R is unique in that all its design decisions, including page placement and migration between regions, cold page identification, victim block selection, and space allocation among regions, capitalize on workload characteristics such as write skews, temporal locality, and frozen pages. Thanks to the principled approach, 2R is, unlike the existing hot/cold separation FTLs, a statistics-free and practical solution which can efficiently and effectively separate cold pages using only two regions.Experimental results using a real OpenSSD as well as trace-driven simulations confirm that 2R-FIFO can, compared to 1R-Greedy, halve the write amplification in two OLTP benchmarks, TPC-C and LinkBench, thereby doubling IO performance and transaction throughput. In particular, as flash storage becomes nearly full, 2R-FIFO starts outperforming 1R-Greedy by 4x or more.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    20
    References
    0
    Citations
    NaN
    KQI
    []