Key-value SSDs have shown promise in various domains, as their ability to index key-value data inside the disk itself can remove either all or most of the need to maintain and transfer indexing data to and from the host system. However, some KVSSDs suffer from an issue that will likely be a sticking point in the road to adoption; they can't efficiently store small values. This work first adapts a previously-existing key-value SSD FTL onto a realistic SSD performance model using NVMeVirt, a software defined SSD emulator. Then, we introduce an improved FTL wherein the key-value SSD can handle much smaller key-value pairs with increased performance and without excessive space amplification. Our improved FTL, while being able to store significantly smaller key-value pairs, outperforms the existing scheme across a range of tests and metrics. For example, in write-heavy tests our FTL outperforms the original scheme by up to 2×, with a 90% reduction in write amplification.
This work was supported by an Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korean government (MSIT) (No. RS-2021-II211363), an Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korean government (MSIT) (No. RS-2024-00349594), an Institute of Information & communications Technology Planning & Evaluation (IITP) under the Artificial Intelligence Convergence Innovation Human Resources Development (IITP- 2024-RS-2023-00255968) grant funded by the Korea government(MSIT), and Samsung Electronics.