Efficient implementation of a multi-dimensional index structure over flash memory storage systems

Flash memory is widely used in the storage system. The direct use of multi-dimensional index structure over flash memory would introduce a large number of redundant writes since such index structure requires fine-grained updates intensively. K-D-B-tree is a classic multi-dimensional index structure. In this paper, the implementation of K-D-B-tree over flash memory, namely F-KDB, is proposed to handle fine-grained updates. In F-KDB, a K-D-B-tree node is represented as a collection of logs (termed as logging entries) to efficiently process the updates of the node. Since the collecting and parsing of all the relevant logging entries to construct a node could degrade the query performance, a Workload Adaptive (WA) online algorithm is proposed to improve the query performance. A series of experiments are conducted to demonstrate the efficiency of F-KDB over flash memory. The response times of insertion/deletion are significantly reduced and the overall performance of F-KDB is improved.

[1]  Allan Borodin,et al.  An optimal on-line algorithm for metrical task system , 1992, JACM.

[2]  Hiroshi Motoda,et al.  A Flash-Memory Based File System , 1995, USENIX.

[3]  Michael Wu,et al.  eNVy: a non-volatile, main memory storage system , 1994, ASPLOS VI.

[4]  Kai Li,et al.  Storage alternatives for mobile computers , 1994, OSDI '94.

[5]  Jianliang Xu,et al.  StableBuffer: optimizing write performance for DBMS applications on flash devices , 2010, CIKM '10.

[6]  Tei-Wei Kuo,et al.  An adaptive striping architecture for flash memory storage systems of embedded systems , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[7]  Vijay V. Vazirani,et al.  Approximation Algorithms , 2001, Springer Berlin Heidelberg.

[8]  R. Orlandic,et al.  Implementing KDB-trees to support high-dimensional data , 2001, Proceedings 2001 International Database Engineering and Applications Symposium.

[9]  Tei-Wei Kuo,et al.  Real-time garbage collection for flash-memory storage systems of real-time embedded systems , 2004, TECS.

[10]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[11]  Sandy Irani,et al.  The Problem of Renting versus Buying , 1994 .

[12]  Byunggu Yu,et al.  KDB/sub KD/-tree: a compact KDB-tree structure for indexing multidimensional data , 2003, Proceedings ITCC 2003. International Conference on Information Technology: Coding and Computing.

[13]  Tei-Wei Kuo,et al.  An efficient B-tree layer implementation for flash-memory storage systems , 2007, TECS.

[14]  Allan Borodin,et al.  An optimal online algorithm for metrical task systems , 1987, STOC.

[15]  J. T. Robinson,et al.  The K-D-B-tree: a search structure for large multidimensional dynamic indexes , 1981, SIGMOD '81.

[16]  Ruei-Chuan Chang,et al.  Managing flash memory in personal communication devices , 1997, ISCE '97. Proceedings of 1997 IEEE International Symposium on Consumer Electronics (Cat. No.97TH8348).

[17]  Jianliang Xu,et al.  Flash-Optimized B+-Tree , 2010, Journal of Computer Science and Technology.

[18]  Red Hat JFFS : The Journalling Flash File System , 2001 .