Skip to main content
Log in

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

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Douglis F, Caceres R (1994) Storage alternatives for mobile computers. In: Proc the first symposium operating systems design and implementation (OSDI-l 94), pp 25–37

    Google Scholar 

  2. Robinson JT (1981) The K-D-B-tree: A search structure for large multidimensional dynamic indexes. In: Proc ACM SIGMOD international conf on management of data, pp 10–18

    Google Scholar 

  3. Chiang ML, Paul CH, Chang RC (1997) Manage flash memory in personal communicate devices. In: Proc of international symposium on consumer electronics (ISCE’97), pp 177–182

    Google Scholar 

  4. Li Y, Xu J, Choi B, Hu H (2010) StableBuffer: optimizing write performance for DBMS applications on flash devices. In: Proc the 19th ACM international conference on information and knowledge management (CIKM ’10)

    Google Scholar 

  5. On ST, Hu H, Li Y, Xu J (2010) Flash-optimized B+-tree. J Comput Sci Technol 5:507–520

    Google Scholar 

  6. Intel Corporation (1998) Understanding the flash translation layer specification. http://www.intel.com/design/flcomp/applnots/297816.htm. Accessed Oct 2007

  7. Intel Corporation (1995). Technical Report. Ftl logger exchanging data with ftl systems

  8. Wu CH, Kuo TW, Chang LP (2007) An efficient b-tree layer implementation for flash-memory storage systems. ACM Trans Embed Comput Syst. doi:10.1145/1275986.1275991

    Google Scholar 

  9. WoodHouse D (2001) JFFS: The journaling flash file system. In: Proc of the Ottawa Linux symposium

    Google Scholar 

  10. Bityutskiy AB (2005) JFFS3 design issues. Version 0.32 (draft), http://www.linux-mtd.infradead.org/tech/JFFS3design.pdf. Accessed June 2009

  11. Alpha One Limited (2001) Yet another flash filing system. http://www.yaffs.net/yaffs-overview, Accessed Oct 2007

  12. Chang LP, Kuo TW, Lo SW (2004) Real-time garbage collection for flash-memory storage systems of real-time embedded systems. ACM Trans Embed Comput Syst 3:4

    Article  Google Scholar 

  13. Kawaguchi A, Nishioka S, Motoda H (1995) A flash-memory based file system. In: Proc of the 1995 USENIX technical conference, pp 155–164

    Google Scholar 

  14. Wu M, Zwaenepoel W (1994) eNVy: a non-volatile main memory storage system. In: Proc of the sixth international conference on architectural support for programming languages and operating systems, pp 86–97

    Chapter  Google Scholar 

  15. Chang LP, Kuo TW (2002) An adaptive striping architecture for flash memory storage systems of embedded systems. In: Proc of real-time and embedded technology and applications symposium (RTAS’08), pp 187–196

    Chapter  Google Scholar 

  16. Bentley JL (1975) Multidimensional binary search trees used for associative searching. Commun ACM 18:509–517

    MATH  Google Scholar 

  17. Orlandic R, Yu B (2001) Implementation KDB-trees to support high-dimensional data. In: Proc 2001 international database engineering & applications symposium (IDEAS), pp 58–67

    Chapter  Google Scholar 

  18. Yu B, Bailey T (2003) KDBKD-tree: a compact KDB-tree structure for indexing multidimensional data. In: Proc computer and communication (ITCC’ 03)

    Google Scholar 

  19. Vazirani VV (2001) Approximation algorithm. Springer, Berlin

    Google Scholar 

  20. Borodin A, Linial N, Saks M (1987) An optimal on-line algorithm for metrical task systems. In: Proc of the 19th ann. ACM symp on theory of computing, pp 373–382

    Google Scholar 

  21. Irani S, Ramanathan D (1998) The problem of renting versus buying. Personal communication

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pei Zhao.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Li, G., Zhao, P., Yuan, L. et al. Efficient implementation of a multi-dimensional index structure over flash memory storage systems. J Supercomput 64, 1055–1074 (2013). https://doi.org/10.1007/s11227-011-0679-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-011-0679-0

Keywords

Navigation