The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.04 - April (2013 vol.62)
pp: 784-797
Jung-Sang Ahn , Dept. of Comput. Sci., KAIST, Daejeon, South Korea
Dongwon Kang , Google Korea LLC., Seoul, South Korea
Dawoon Jung , Memory Div., Samsung Electron. Corp., Hwasung, South Korea
Jin-Soo Kim , Sch. of Inf. & Commun. Eng., Sungkyunkwan Univ., Suwon, South Korea
Seungryoul Maeng , Dept. of Comput. Sci., KAIST, Daejeon, South Korea
ABSTRACT
As NAND flash memory is gaining popularity as a storage medium for mobile embedded devices, many flash-aware file systems, flash-aware DBMSes, and flash translation layers (FTLs) require an flash-efficient index structure. This paper proposes a novel index structure called μ*-Tree which natively works on NAND flash memory, aiming at improving performance over B+-Tree. μ*-Tree stores all the nodes along the path from the root to the leaf into a single flash memory page in order to minimize the number of flash write operation when a node is updated. Furthermore, μ*-Tree has an adaptive page layout scheme which dynamically adjusts the page layout according to the workload characteristics on-the-fly. μ*-Tree also allows flash pages with different page layouts to coexist in the same tree. Our evaluation results with real workload traces show that μ*-Tree outperforms B+-Tree by up to 55 percent in terms of the time needed for flash operations. With a small in-memory cache of 32 KB, μ*-Tree improves the overall performance by up to five times compared to B+-Tree with the same cache size.
INDEX TERMS
tree data structures, cache storage, flash memories, mobile computing, NAND circuits, cache size, μ*-tree, ordered index structure, NAND flash memory, adaptive page layout scheme, mobile embedded devices, flash-aware file systems, flash-aware DBMS, flash translation layers, FTL, flash-efficient index structure, B+-tree, single flash memory page, flash write operation, in-memory cache, Ash, Layout, Vegetation, Indexes, Memory management, Electronic mail, Periodic structures, $({\rm B}^{+})$-Tree, NAND flash memory, index structure
CITATION
Jung-Sang Ahn, Dongwon Kang, Dawoon Jung, Jin-Soo Kim, Seungryoul Maeng, "μ*-Tree: An Ordered Index Structure for NAND Flash Memory with Adaptive Page Layout Scheme", IEEE Transactions on Computers, vol.62, no. 4, pp. 784-797, April 2013, doi:10.1109/TC.2012.20
REFERENCES
[1] Y.-G. Lee, D. Jung, D. Kang, and J.-S. Kim, "$\mu$ -ftl: A Memory-Efficient Flash Translation Layer Supporting Multiple Mapping Granularities," Proc. Int'l Conf. Embedded System Software (EMSOFT), 2008.
[2] 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 Computer Systems, vol. 6, no. 3, p. 18, 2007.
[3] M.-L. Chiang, P.C.H. Lee, and R.-C. Chang, "Using Data Clustering to Improve Cleaning Performance for Flash Memory," Software Practice and Experience, vol. 29, no. 3, pp. 267-290, 1999.
[4] S. Nath and A. Kansal, "FlashDB: Dynamic Self-Tuning Database for NAND Flash," Proc. Int'l Conf. Information Processing in Sensor Networks, 2007.
[5] G.J. Kim, S.C. Baek, H.S. Lee, H.D. Lee, and M.J. Joe, "LGeDBMS: A Small DBMS for Embedded System with Flash Memory," Proc. Int'l Conf. Very Large Data Bases (VLDB), 2006.
[6] R. Bayer and E. McCreight, "Organization and Maintenance of Large Ordered Indexes," Acta Informatica, vol. 1, no. 3, pp. 173-189, 1972.
[7] D. Comer, "Ubiquitous B-Tree," ACM Computing Surveys, vol. 11, no. 2, pp. 121-137, 1979.
[8] Samsung, "2gx8 Bit Nand Flash Memory (k9gag08u0m-p)," Samsung Electronics, 2009.
[9] Samsung, "2gx8 bit Nand Flash Memory (k9wag08u1a)," Samsung Electronics, 2009.
[10] A. Silberschatz, H.F. Korth, and S. Sudarshan, Database System Concepts. McGraw-Hill, 1997.
[11] D. Kang, D. Jung, J.-U. Kang, and J.-S. Kim, "$\mu$ -Tree: An Ordered Index Structure for Nand Flash Memory," Proc. Int'l Conf. Embedded System Software (EMSOFT), 2007.
[12] R.M. Corless, G.H. Gonnet, D.E.G. Hare, D.J. Jeffrey, and D.E. Knuth, "On the Lambert W Function," Advances in Computational Math., vol. 5, pp. 329-359, 1996.
[13] W.H. Press, B.P. Flannery, S.A. Teukolsky, and W.T. Vetterling, Numerical Recipes - The Art of Scientific Computing. Cambridge Univ. Press, 1992.
[14] C. Wu, T. Kuo, and L. Chang, "An Efficient B-tree Layer Implementation for Flash-Memory Storage Systems," ACM Trans. Embedded Computing Systems, vol. 6, no. 3, article 19, 2007.
[15] Y. Li, B. He, Q. Luo, and K. Yi, "Tree Indexing on Flash Disks," Proc. IEEE 25th Int'l Conf. Data Eng. (ICDE), 2009.
[16] D. Agrawal, D. Ganesan, R. Sitaraman, Y. Diao, and S. Singh, "Lazy-adaptive Tree: An Optimized Index Structure for Flash Devices," Proc. Int'l Conf. Very Large Data Bases (VLDB), 2009.
[17] S. Lin, D. Zeinalipour-Yazti, V. Kalogeraki, D. Gunopulos, and W.A. Najjar, "Efficient Indexing Data Structures for Flash-Based Sensor Devices," ACM Trans. Storage, vol. 2, no. 4, pp. 468-503, 2006.
347 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool