R&D: EMT – Elegantly Measured Tanner for Key-Value Store on SSD
Investigate root cause of read amplification problem and propose elegantly measured tanner FTL (EMT-FTL) to mitigate internal fragmentation and read amplification with acceptable memory overhead.
This is a Press Release edited by StorageNewsletter.com on March 1, 2022 at 2:01 pmIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems has published, an article written by Tai Chang, Jen-Wei Hsieh, Tai-Chieh Chang, and Liang-Wei Lai, National Taiwan University of Science and Technology, Taipei, Taiwan.
Abstract: “With the emergence of big data era, NoSQL key-value database is considered as a promising candidate for replacing relational database management system (RDBMS). As cost per GB of flash memory is getting closer to HDD, high performance solid state drive (SSD) is regarded as the best substitute of HDD. However, there are still some issues that need to be taken into consideration. et al. have reported that applying key-value store to SSD with conventional FTL would incur internal fragmentation and further cause the degradation of device lifespan. Although they proposed KVFTL to deal with the above issues, their work gave rise to the read amplification problem. In this article, we investigate the root cause of the read amplification problem and propose elegantly measured tanner FTL (EMT-FTL) to mitigate internal fragmentation and read amplification with acceptable memory overhead. Different from KVFTL that slices a variable-sized value into multiple partitions (up to 20) of different sizes and manages them as a linked chain, EMT-FTL slices a value into 16 KiB full partitions with its remaining bytes treated as a fragment partition and appended to the fragment buffer. For a 64 GiB SSD with 16 KiB pages, the overall memory usage of EMT-FTL is only 8.81% of KVFTL. The experiments showed that EMT-FTL achieved almost the optimal space utilization as KVFTL did under most of traces and averagely improved the get performance by 78.57% (compared with KVFTL) under the traces with request sizes ranging from 1 byte to 16 KiB.“