Skip to main content
Log in

LSB-Tree: a log-structured B-Tree index structure for NAND flash SSDs

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

NAND flash memory has been widely used as a storage device for embedded systems because of its fast access speed, low power consumption, and lower noise compared to a hard disk. However, due to its unique characteristics such as the lack of an in-place update and asymmetric operation speed/unit, conventional disk-based systems and applications may experience severe performance degradation when NAND flash memory is used. When a disk-based index structure such as a B-Tree is implemented in flash memory-based storage systems, intensive overwrite operations, which are caused by record insertion, deletion, and reorganization, may result in severe performance degradation. Although several index structures have been proposed to overcome this problem, they suffer from frequent node splits, rapid increments of tree height, and poor space usage. In this paper, we propose a log-structured B-Tree index structure where a log node corresponding to a leaf node is allocated for updating the modified data, and then these data in the log node are stored in a single write operation. Our proposed index structure reduces additional write operations by deferring parent node changes. In addition, the index structure reduces the number of write operations by directly switching the log node to a leaf node if the data are sequentially inserted according to key order. Through various experiments, we show that our proposed index structure performs better than related techniques.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

References

  1. Chung T-S, Park D-J, Park S, Lee D-H, Lee S-W, Song H-J (2009) A survey of Flash Translation Layer. J Syst Archit 55(5–6):332–343. doi:10.1016/j.sysarc.2009.03.005

    Article  Google Scholar 

  2. Gal E, Toledo S (2005) Algorithms and data structures for flash memories. ACM Comput Surv (CSUR) 37(2):138–163. doi:10.1145/1089733.1089735

    Article  Google Scholar 

  3. Kawaguchi A, Nishioka S, Motoda H (1995) A flash-memory based file system. Paper presented at the proceedings of the USENIX 1995 technical conference proceedings (TCON’95), New Orleans, Louisiana

  4. Samsung Electronics (2010) K9LCG08U1M (32 Gb A-die NAND Flash Multi-Level-Cell) datasheet

  5. Kim J, Kim JM, Noh SH, Min SL, Cho Y (2002) A space-efficient flash translation layer for CompactFlash systems. IEEE Trans Consum Electron 48(2):366–375

    Article  Google Scholar 

  6. Lee S-W, Park D-J, Chung T-S, Lee D-H, Park S, Song H-J (2007) A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans Embed Comput Syst (TECS) 6(3). doi:10.1145/1275986.1275990

  7. Lee H-S, Yun H-S, Lee D-H (2009) HFTL: hybrid flash translation layer based on hot data identification for flash memory. IEEE Trans Consum Electron 55(4):2005–2011

    Article  Google Scholar 

  8. Comer D (1979) Ubiquitous B-tree. ACM Comput Surv (CSUR) 11(2):121–137. doi:10.1145/356770.356776

    Article  MATH  Google Scholar 

  9. Wu C-H, Kuo T-W, Chang L-P (2007) An efficient B-Tree layer implementation for flash-memory storage systems. ACM Trans Embed Comput Syst (TECS) 6(3)

  10. Agrawal D, Ganesan D, Sitaraman R, Diao Y, Singh S (2009) Lazy-adaptive Tree: an optimized index structure for flash devices. Paper presented at the VLDB ’09, Lyon, France, Aug 2009

  11. Lee H-S, Lee D-H (2010) An efficient index buffer management scheme for implementing a B-tree on NAND flash memory. Data Knowl Eng 69(9):901–916. doi:10.1016/j.datak.2010.03.004

    Article  Google Scholar 

  12. Bityuckiy AB (2005) JFFS3 design issues. Memory technology device (MTD) subsystem for Linux

  13. Kang D, Jung D, Kang J-U, Kim J-S (2007) \(\mu \)-Tree: an ordered index structure for NAND flash memory. Paper presented at the proceedings of the 7th ACM & IEEE international conference on embedded software (EMSOFT ’07), Salzburg, Austria, Sept 2007

  14. Batory DS (1981) B+ Trees and indexed sequential files: a performance comparison. Paper presented at the proceedings of the 1981 ACM SIGMOD international conference on management of data (SIGMOD ’81), Ann Arbor, Michigan, April 1981

  15. Ramakrishnan R, Gehrke J (1999) Database management systems. McGraw-Hill Inc., New York

    Google Scholar 

  16. Garcia-Molina H, Ullman JD, Widom J (2008) Database systems: the complete book. Prentice Hall Press, Upper Saddle River

    Google Scholar 

  17. Ahn J-S, Kang D, Jung D, Kim J-S, Maeng S (2013) \(\mu \)*-Tree: an ordered index structure for NAND flash memory with adaptive page layout scheme. IEEE Trans Comput 62(4):784–797

    Article  MathSciNet  Google Scholar 

  18. Rosenblum M, Ousterhout JK (1992) The design and implementation of a log-structured file system. ACM Trans Comput Syst (TOCS) 10(1):26–52. doi:10.1145/146941.146943

    Article  Google Scholar 

  19. O’Neil P, Cheng E, Gawlick D, O’Neil E (1996) The log-structured merge-tree (LSM-Tree). Acta Informatica 33(4):351–385. doi:10.1007/s002360050048

    Article  Google Scholar 

  20. The OpenSSD Project. http://www.openssd-project.org

  21. Hennessy JL, Patterson DA (2012) Computer architecture: a quantitative approach, 5th edn. Morgan Kaufmann, San Francisco

    Google Scholar 

Download references

Acknowledgments

This research was supported by Basic Science Research Program through the National Research of Korea (NRF) funded by the Ministry of Education (2010-0023636, 2013R1A1A2059663).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dong-Ho Lee.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kim, Bk., Lee, DH. LSB-Tree: a log-structured B-Tree index structure for NAND flash SSDs. Des Autom Embed Syst 19, 77–100 (2015). https://doi.org/10.1007/s10617-014-9139-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-014-9139-4

Keywords

Navigation