ISSN 1000-1239 CN 11-1777/TP

Journal of Computer Research and Development ›› 2017, Vol. 54 ›› Issue (6): 1326-1336.doi: 10.7544/issn1000-1239.2017.20170092

Special Issue: 2017计算机体系结构前言技术(一)专题

Previous Articles     Next Articles

A Key-Value Database Optimization Method Based on Raw Flash Device

Qin Xiongjun, Zhang Jiacheng, Lu Youyou, Shu Jiwu   

  1. (Department of Computer Science and Technology, Tsinghua University, Beijing 100084)
  • Online:2017-06-01

Abstract: In recent years, NoSQL key-value databases have been widely used. However, the current mainstream key-value databases are based either on disk, or on traditional file system and flash translation layer, which makes it difficult to utilize the characteristics of flash devices, and also limits I/O concurrency of flash devices. Moreover, garbage collection process under such kind of architecture is complex. This paper designs and implements Flashkv, a key-value data management architecture based on raw flash device. Flashkv doesn’t use file system and flash translation layer, instead, it’s space management and garbage collection are done by the management unit in the user mode. Flashkv makes full use of the concurrent features inside the flash device, and simplifies the garbage collection process and removes redundant function modules which exist in both traditional file system and flash translation layer, and also shortens the I/O path. This paper proposes I/O scheduling technology based on the characteristics of flash memory, which reduces read and write latency of flash memory and improves throughput. The user mode cache management technology is proposed, which reduces write amount and also the cost of frequent system calls. Test results show that Flashkv’s performance is 1.9 to 2.2 times that of levelDB and the write amount reduces by 60% to 65%.

Key words: key-value database, flash memory, raw device, data storage, lifespan

CLC Number: