This Article 
 Bibliographic References 
 Add to: 
Dynamic In-Page Logging for B⁺-tree Index
July 2012 (vol. 24 no. 7)
pp. 1231-1243
Gap-Joo Na, Sungkyunkwan University, Suwon and the Electronics and Telecommunications Research Institute (ETRI), Daejon
Sang-Won Lee, Sungkyunkwan University, Suwon,
Bongki Moon, University of Arizona, Tucson
Unlike database tables, {\rm B}^{+}-tree indexes are hierarchical and their structures change over time by node splitting operations, which may propagate changes from one node to another. The node splitting operation is difficult for the basic In-Page Logging (IPL) scheme to deal with, because it involves more than one node that may be stored separately in different flash blocks. In this paper, we propose Dynamic IPL B^{+}\hbox{-}tree (d\hbox{-}IPL B^{+}\hbox{-}tree in short) as a variant of the IPL scheme tailored for flash-based {\rm B}^{+}-tree indexes. The d\hbox{-}IPL B^{+}\hbox{-}tree addresses the problem of frequent log overflow by allocating a log area in a flash block dynamically. It also avoids a page evaporation problem, imposed by the contemporary NAND flash chips, by introducing ghost nodes to d\hbox{-}IPL B^{+}\hbox{-}tree. This simple but elegant design of the d\hbox{-}IPL B^{+}\hbox{-}tree provides significant performance improvement over existing approaches. For a random insertion workload, the d\hbox{-}IPL B^{+}\hbox{-}tree outperformed a {\rm B}^{+}-tree with the plain IPL scheme by more than a factor of two in terms of page write and block erase operations.

[1] S.-W. Lee and B. Moon, "Design of Flash-Based DBMS: An In-Page Logging Approach," Proc. ACM SIGMOD Int'l Conf. Management of Data (SIGMOD '07), pp. 55-66, June 2007.
[2] G.-J. Na, B. Moon, and S.-W. Lee, "In-Page Logging B-Tree for Flash Memory," Proc. 14th Int'l Conf. Database Systems for Advanced Applications (DASFAA '09), pp. 755-758, Apr. 2009.
[3] C.-H. Wu, L.-P. Chang, and T.-W. Kuo, "An Efficient B-Tree Layer for Flash-Memory Storage Systems," ACM Trans. Embedded Computing Systems, vol. 6, no. 3,article 19, 2007.
[4] S. Nath and A. Kansal, "FlashDB: Dynamic Self-Tuning Database for NAND Flash," Proc. Sixth Int'l Conf. Information Processing in Sensor Networks (IPSN '07), pp. 410-419, Apr. 2007.
[5] Y. Li, B. He, Q. Luo, and K. Yi, "Tree Indexing on Flash Disks," Proc. IEEE Int'l Conf. Data Eng. (ICDE '09), pp. 1303-1306, Mar. 2009.
[6] Intel, "Understanding the Flash Translation Layer (FTL) Specification," Technical Report AP-684, Intel Corporation, Dec. 1998.
[7] M. Rosenblum and J.K. Ousterhout, "The Design and Implementation of a Log-Structured File System," Proc. ACM Symp. Operating System Principles, pp. 1-15, Sept. 1991.
[8] Samsung Electronics, "K9XXG08XXM Flash Memory Specification," technical report, 2007.
[9] Micron, "NAND Flash 101—An Introduction to NAND Flash and How to Design It In to Your Next Product," Technical Report TN-29-19, Apr. 2010.
[10] J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques. The Morgan Kaufmann Series in Data Management Systems, Morgan Kaufmann, 1993.
[11] S. Dillon, C. Beck, T. Kyte, J. Kallman, and H. Rogers, Beginning Oracle Programming. Wrox Press, 2003.
[12] N. Ponnekanti and H. Kodavalla, "Online Index Rebuild," Proc. ACM SIGMOD Int'l Conf. Management of Data (SIGMOD), pp. 529-538, June 2000.
[13] S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park, and H.-J. Song, "A Log Buffer Based Flash Translation Layer Using Fully Associative Sector Translation," ACM Trans. Embedded Computing Systems, vol. 6, no. 3,article 18, 2007.
[14] A. Ban and R. Hasharon, "Flash File System Optimized for Page-Mode Flash Technologies," U.S. Patent 5937425, Washington D.C., Aug. 1999.
[15] A. Birrell, M. Isard, C. Thacker, and T. Wobber, "A Design for High-Performance Flash Disks," ACM SIGOPS Operating Systems Rev., vol. 41, no. 2, pp. 88-93, Apr. 2007.
[16] J. Axboe and A.D. Brunelle, "Blktrace User Guide," axboeblktrace/, Feb. 2007.
[17] X.-Y. Hu, E. Eleftheriou, R. Haas, I. Iliadis, and R. Pletka, "Write Amplification Analysis in Flash-Based Solid State Drives," Proc. SYSTOR Israeli Experimental Systems Conf. (SYSTOR '09), pp. 1-9, May 2009.
[18] G. Drossel, "Methodologies for Calculating SSD Useable Life," Proc. Storage Developer Conf., Sept. 2009.
[19] H. Mehling, "Solid State Drives Take Out the Garbage," features/article. php/3850436Solid-State-Drives-Take-Out-the-Garbage.htm , Dec. 2009.

Index Terms:
Dynamic in-page logging, flash memory indexing, {\rm B}^{+}-tree.
Gap-Joo Na, Sang-Won Lee, Bongki Moon, "Dynamic In-Page Logging for B⁺-tree Index," IEEE Transactions on Knowledge and Data Engineering, vol. 24, no. 7, pp. 1231-1243, July 2012, doi:10.1109/TKDE.2011.32
Usage of this product signifies your acceptance of the Terms of Use.