Flash memory is rapidly being deployed as a data storage medium for embedded systems and tablet computers due to its shock resistance, fast access, and low power consumption, etc. However, it has some intractable characteristics, such as erase-before-write, asymmetric read/write/erase speed, and a limited number of write/erase cycles. Due to these hardware limitations, magnetic disk-based systems and applications can hardly make full use of the advantages of flash memory when adopting it directly for storage. For example, the frequent changes of B-tree can degrade the performance and negatively influence the lifespan of flash memory. Most state-of-the-art studies on flash-aware index design focused mainly on buffer and storage mechanisms whereby they can obtain efficient I/Os to flash memory. In this paper, we identify the problems inherent in the related studies, and then introduce the concepts of lazy-split, modify-two-node, and semi-clean, which make possible the construction of a novel index solution, the Lazy-Split B+-tree (LSB+-tree). In detail, by their introduction, the first concept of LSB+-tree can efficiently reduce the number of node splits, the second can reduce the number of node modifications, and the last can make a further improvement on buffer space utilization and flash writes reduction.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Tax calculation will be finalised during checkout.
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
Tax calculation will be finalised during checkout.
Samsung Electronics (2012) NAND flash memory. http://www.samsung.com/sec/business/semiconductor/products/Products.html
Chung T-S, Park D-J, Park S et al. (2009) A survey of flash translation layer. J Syst Archit 55:332–343
Lee S-W, Park D-j, Chung T-S et al. (2007) A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans Embed Comput Syst 6(3):18
Lofgren KMJ, Norman RD, Thelin GB, Gupta A (2003) Wear leveling technique for flash EEPROM systems. United States patent No 6,594,183
Lee S-W, Moon B (2007) Design of flash-based DBMS: an in-page logging approach. In: Proceedings of the 2007 ACM SIGMOD international conference on management of data, pp 55–66
Kim Y-R, Whang K-Y, Song I-Y (2010) Page-differential logging: an efficient and DBMS-independent approach for storing data into flash memory. In: Proceedings of the 2010 ACM SIGMOD international conference on management of data, Indianapolis, Indiana, 6–11 June, pp 363–374
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 6(3):19
Nath S, Kansal A (2007) FlashDB: dynamic self-tuning database for NAND flash. In: Proceedings of the 6th international conference on information processing in sensor networks, Cambridge, MA, USA, pp 410–419
Agrawal D, Ganesan D, Sitaraman RK et al. (2009) Lazy-adaptive tree: an optimized index structure for flash devices. VLDB J 2(1):361–372
Kang D, Jung D, Kang J-u, Kim J-s (2007) μ-Tree: an ordered index structure for NAND flash memory. In: Proceedings of ACM conference on embedded systems software, pp 144–153
Na G-J, Moon B, Lee S-W (2011) IPL B+-tree for flash memory database systems. J Inf Sci Eng 27(1):111–147
Nath S, Gibbons PB (2010) Online maintenance of very large random samples on flash storage. VLDB J 19(1):67–90
Li Y, He B, Yang RJ et al. (2010) Tree indexing on solid state drives. VLDB J 3:1195–1206
Jørgensen MV, Rasmussen RB, Šaltenis S, Schjønning C (2011) FB-Tree: AB+-tree for flash-based SSDs. In: Proceedings of the 15th symposium on international database engineering and applications, Lisbon, Portugal, pp 34–42
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
Roh H, Kim W-C, Kim S, Park S (2009) A B-tree index extension to enhance response time and the life cycle of flash memory. Inf Sci 179(18):3136–3161
Yin S, Pucheral P, Meng X (2009) A sequential indexing scheme for flash-based embedded systems. In: Proceedings of the 12th international conference on extending database technology, Saint-Petersburg, Russia, pp 588–599
On ST, Hu H, Li Y, Xu J (2009) Lazy-update B+-tree for flash devices. In: Proceedings of the 10th international conference on mobile data management, Taipei, Taiwan, pp 323–328
Park S-Y, Jung D, Kang J-U et al. (2006) CFLRU: a replacement algorithm for flash memory. In: Proceedings of the 2006 international conference on compilers, architecture and synthesis for embedded systems, 23–25 October, Seoul, Korea, pp 234–241
Jung H, Shim H, Park S et al. (2008) LRU-WSR: integration of LRU and writes sequence reordering for flash memory. IEEE Trans Consum Electron 54(3):1215–1223
Li Z, Jin P, Su X et al. (2009) CCF-LRU: a new buffer replacement algorithm for flash memory. IEEE Trans Consum Electron 55(3):1351–1359
Tang X, Meng X (2010) ACR: an adaptive cost-aware buffer replacement algorithm for flash storage devices. In: Proceedings of the international conference on mobile data management, Kansas City, Missouri, USA, pp 33–42
Ou Y, Härder T (2010) Clean first or dirty first: a cost-aware self-adaptive buffer replacement policy. In: Proceedings of the 14th international database engineering and applications symposium (IDEAS 2010), 16–18 August, Montreal, Quebec, Canada, pp 7–14
Ou Y, Härder T, Jin P (2010) CFDC: a flash-aware buffer management algorithm for database systems. In: Proceedings of the 14th East European conference on advances in databases and information systems. Springer, Berlin, pp 435–449
Neapolitan R, Naimipour K (2009) Foundations of algorithms, 4th edn. Jones & Bartlett, Boston
The preliminary version of this paper titled “FlashB-Tree: A Novel B-Tree Index Scheme for Solid State Drives” was published in the proceedings of the ACM Research in Applied Computation Symposium (ACM RACS 2011), pages 50–55, ACM New York, NY, USA, Nov., 2011.
About this article
Cite this article
Jin, R., Cho, HJ., Lee, SW. et al. Lazy-split B+-tree: a novel B+-tree index scheme for flash-based database systems. Des Autom Embed Syst 17, 167–191 (2013). https://doi.org/10.1007/s10617-013-9123-4
- Splitting policy
- Replacement algorithm
- Index manager
- Flash memory