Level Aware Data Placement Technique for Hybrid NAND Flash Storage of Log-Structured Merge-Tree Based Key-Value Store System

A log-structured merge-tree-based key value store (LSMKV) is an append-only database for storing and retrieving unstructured data, especially in a write-intensive environment. This database uses hierarchical components to store and manage data. Upper-level components have a shorter data lifespan and a higher access locality than lower-level components. Hence, the data access latency of the upper-level components significantly affects the performance of the entire database. Hybrid solid-state drives (SSD) composed of media with different access speeds can improve the performance of an LSMKV by storing the upper-level components using a fast storage space. However, many hybrid SSDs use fast storage spaces to store data that are frequently allocated to the same logical address; they are not suitable for storing append-only component data, which are allocated to adjacent logical addresses. This article proposes a hybrid SSD-management method to reduce the data access latency of append-only LSMKVs and increase the durability of hybrid SSDs. The proposed method allocates the data of upper-level components to a fast storage space using the level information of the data as a hint. This study utilizes dynamic data separation to determine the components to be placed in the fast storage space, NAND block management to store the data with similar lifespans in the same fast NAND block, and a data-relocation method to migrate long-lived data from the fast NAND region to another NAND region. Experimental results indicate that the proposed method reduces the average I/O latency by an average of 12% and increases the device durability by an average of 22%.

[1]  Andrea C. Arpaci-Dusseau,et al.  WiscKey: Separating Keys from Values in SSD-conscious Storage , 2016, FAST.

[2]  Jong-Min Jeong,et al.  A Mixed Flash Translation Layer Structure for SLC-MLC Combined Flash Memory System , 2008 .

[3]  Patrick E. O'Neil,et al.  The log-structured merge-tree (LSM-tree) , 1996, Acta Informatica.

[4]  Wei Tan,et al.  Write-Optimized Indexing for Log-Structured Key-Value Stores , 2014 .

[5]  Chen Luo,et al.  LSM-based storage techniques: a survey , 2018, The VLDB Journal.

[6]  Mohammed Azmi Al-Betar,et al.  A survey of techniques for architecting SLC/MLC/TLC hybrid Flash memory–based SSDs , 2018, Concurr. Comput. Pract. Exp..

[7]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[8]  Jin-Soo Kim,et al.  LevelDB-Raw: Eliminating file system overhead for optimizing performance of LevelDB engine , 2017, 2017 19th International Conference on Advanced Communication Technology (ICACT).

[9]  Li-Pin Chang,et al.  Hybrid solid-state disks: Combining heterogeneous NAND flash in large SSDs , 2008, 2008 Asia and South Pacific Design Automation Conference.

[10]  C. Xie,et al.  A Light-weight Compaction Tree to Reduce I / O Amplification toward Efficient Key-Value Stores , 2017 .

[11]  Youyou Lu,et al.  FlashKV: Accelerating KV Performance with Open-Channel SSDs , 2017, ACM Trans. Embed. Comput. Syst..

[12]  M. N. Vora,et al.  Hadoop-HBase for large-scale data , 2011, Proceedings of 2011 International Conference on Computer Science and Network Technology.

[13]  Sungjin Lee,et al.  FlexFS: A Flexible Flash File System for MLC NAND Flash Memory , 2009, USENIX Annual Technical Conference.

[14]  Dongkun Shin,et al.  ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer , 2010, J. Syst. Archit..

[15]  Kai Ren,et al.  SlimDB: A Space-Efficient Key-Value Storage Engine For Semi-Sorted Data , 2017, Proc. VLDB Endow..

[16]  Wei Xie,et al.  ASA-FTL: An adaptive separation aware flash translation layer for solid state drives , 2017, Parallel Comput..

[17]  Dongkun Shin,et al.  Storage architecture and software support for SLC/MLC combined flash memory , 2009, SAC '09.

[18]  Li-Pin Chang,et al.  KVSSD: Close integration of LSM trees and flash translation layer for write-efficient KV store , 2018, 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[19]  Tilmann Rabl,et al.  CaSSanDra: An SSD boosted key-value store , 2014, 2014 IEEE 30th International Conference on Data Engineering.

[20]  Minyoung Sung,et al.  Asymmetric flash volume management , 2012, IEEE Transactions on Consumer Electronics.

[21]  Sang-Won Lee,et al.  A Hybrid Flash Memory SSD Scheme for Enterprise Database Applications , 2010, 2010 12th International Asia-Pacific Web Conference.

[22]  Youngjae Kim,et al.  FlashSim: A Simulator for NAND Flash-Based Solid-State Drives , 2009, 2009 First International Conference on Advances in System Simulation.

[23]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

[24]  Dongkun Shin,et al.  NAND Flash-Based Disk Cache Using SLC/MLC Combined Flash Memory , 2010, 2010 International Workshop on Storage Network Architecture and Parallel I/Os.

[25]  Song Jiang,et al.  LSM-trie: An LSM-tree-based Ultra-Large Key-Value Store for Small Data Items , 2015, USENIX Annual Technical Conference.

[26]  Taejin Kim,et al.  Fully Automatic Stream Management for Multi-Streamed SSDs Using Program Contexts , 2019, FAST.