Update Migration: An Efficient B+ Tree for Flash Storage

  • Chang Xu
  • Lidan Shou
  • Gang Chen
  • Cheng Yan
  • Tianlei Hu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5982)


More and more evidence indicates that flash storage is a potential substitute for magnetic disk in the foreseeable future. Due to the high-speed random reads, flash storage could improve the performance of DBMS significantly in OLTP applications. However, previous research has shown that small-to-moderate random overwrites on flash are particularly expensive, which implies that the conventional DBMS is not ready to run on the flash storage. In this paper, we propose the design of a variant of B+ tree for flash storage, namely the Update-Migration B+ tree. In the UM-B+ tree, small quantity of updates will be migrated, rather than being executed directly, to its parent node in the form of update records when a dirty node is evicted from main memory. Further accesses to the child node will cause the update records stored in the parent node to be executed when reading the child node from the permanent storage (flash). We propose the detailed structure and operations of UM-B+ tree. We also discuss expanding the UM-B+ tree to the transaction system based on the Aries/IM. Experiments confirm that our proposed UM-B+ tree significantly reduces the random overwrites of B+ tree in a typical OLTP workloads, therefore securing a significant performance improvement on flash storage.


Leaf Node Internal Node Child Node Parent Node Range Search 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Gray, J., Fitzgerald, B.: Flash disk opportunity for sever applications. ACM Queue 6(4), 18–23 (2008)CrossRefGoogle Scholar
  2. 2.
    Lai, S.K.: Flash memories: Successes and challenges. IBM Journal of Research and Developmen 52(4-5), 529–535 (2008)CrossRefGoogle Scholar
  3. 3.
    Lee, S.W., Moon, B.: Design of flash-based dbms: an in-page logging approach. In: SIGMOD Conference, pp. 55–66 (2007)Google Scholar
  4. 4.
    Bouganim, L., Jónsson, B.T., Bonnet, P.: uFLIP: Understanding Flash IO Patterns. In: CIDR (2009)Google Scholar
  5. 5.
    Wu, C.-H., Chang, L.-P., Kuo, T.-W.: An Efficient B-Tree Layer for Flash-Memory Storage Systems. In: Chen, J., Hong, S. (eds.) RTCSA 2003. LNCS, vol. 2968, pp. 409–430. Springer, Heidelberg (2004)Google Scholar
  6. 6.
    Lee, H.-S., Park, S., Song, H.-J., Lee, D.-H.: An Efficient Buffer Management Scheme for Implementing a B-Tree on NAND Flash memory. In: Lee, Y.-H., Kim, H.-N., Kim, J., Park, Y.W., Yang, L.T., Kim, S.W. (eds.) ICESS 2007. LNCS, vol. 4523, pp. 181–192. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Xiang, X., Yue, L., Liu, Z., Wei, P.: A reliable B-tree implementation over flash memory. In: SAC, pp. 1487–1491 (2008)Google Scholar
  8. 8.
    Li, Y., He, B., Luo, Q., Yi, K.: Tree Indexing on Flash Disks. In: ICDE, pp. 1303–1306 (2009)Google Scholar
  9. 9.
    Na, G.-J., Moon, B., Lee, S.-W.: In-Page Logging B-Tree for Flash Memory. In: DASFAA, pp. 755–758 (2009)Google Scholar
  10. 10.
    Agrawal, D., Ganesan, D., Sitaraman, R., Diao, Y., Singh, S.: Lazy-Adaptive Tree: An Optimized Index Structure for Flash Devices. PVLDB 2(1), 361–372 (2009)Google Scholar
  11. 11.
    O’Neil, P.E., Cheng, E., Gawlick, D., O’Neil, E.J.: The Log-Structured Merge-Tree (LSM-Tree). Acta Inf. 33(4), 351–385 (1996)CrossRefGoogle Scholar
  12. 12.
    Mohan, C.: Concurrency Control and Recovery Methods for B+-Tree Indexes: ARIES/KVL and ARIES/IM. In: Performance of Concurrency Control Mechanisms in Centralized Database Systems, pp. 248–306 (1996)Google Scholar
  13. 13.
    Kornacker, M., Mohan, C., Hellerstein, J.M.: Concurrency and Recovery in Generalized Search Trees. In: SIGMOD Conference, pp. 67–72 (1997)Google Scholar
  14. 14.
    Mohan, C., Levine, F.E.: ARIES/IM: An Efficient and High Concurrency Index Management Method Using Write-Ahead Logging. In: SIGMOD Conference, pp. 371–380 (1992)Google Scholar
  15. 15.
    Mohan, C., Haderle, D.J., Lindsay, B.G., Pirahesh, H., Schwarz, P.M.: ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging. ACM Trans. Database Syst. 17(1), 94–162 (1992)CrossRefGoogle Scholar
  16. 16.
    Lehman, P., Yao, S.: Efficient locking for concurrent operationson B-trees. ACM Trans Database Sys. 6(4), 650–670 (1981)zbMATHCrossRefGoogle Scholar
  17. 17.
    Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J.D., Manasse, M.S., Panigrahy, R.: Design Tradeoffs for SSD Performance. In: USENIX Annual Technical Conference, pp. 57–70 (2008)Google Scholar
  18. 18.
    Sagiv, Y.: Concurrent Operations on B-Trees with Overtaking. In: PODS, pp. 28–37 (1985)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Chang Xu
    • 1
  • Lidan Shou
    • 1
  • Gang Chen
    • 1
  • Cheng Yan
    • 1
  • Tianlei Hu
    • 1
  1. 1.College of Computer Science departmentZhe Jiang UniversityHang zhouChina

Personalised recommendations