On Computational Models for Flash Memory Devices

  • Deepak Ajwani
  • Andreas Beckmann
  • Riko Jacob
  • Ulrich Meyer
  • Gabriel Moruz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5526)


Flash memory-based solid-state disks are fast becoming the dominant form of end-user storage devices, partly even replacing the traditional hard-disks. Existing two-level memory hierarchy models fail to realize the full potential of flash-based storage devices. We propose two new computation models, the general flash model and the unit-cost model, for memory hierarchies involving these devices. Our models are simple enough for meaningful algorithm design and analysis. In particular, we show that a broad range of existing external-memory algorithms and data structures based on the merging paradigm can be adapted efficiently into the unit-cost model. Our experiments show that the theoretical analysis of algorithms on our models corresponds to the empirical behavior of algorithms when using solid-state disks as external memory.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aggarwal, A., Vitter, J.S.: The Input/Output complexity of sorting and related problems. Communications of the ACM 31(9), 1116–1127 (1988)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Meyer, U., Sanders, P., Sibeyn, J.F. (eds.): Algorithms for Memory Hierarchies, Advanced Lectures [Dagstuhl Research Seminar], March 10-14, 2002. Springer, Heidelberg (2003)Google Scholar
  3. 3.
    Vitter, J.S.: Algorithms and Data Structures for External Memory. Now Publishers (2008)Google Scholar
  4. 4.
    Lee, S.W., Moon, B.: Design of flash-based DBMS: an in-page logging approach. In: SIGMOD Conference, pp. 55–66 (2007)Google Scholar
  5. 5.
    Lee, S.W., Moon, B., Park, C., Kim, J.M., Kim, S.W.: A case for flash memory ssd in enterprise database applications. In: Proc. ACM SIGMOD international conference on Management of data, pp. 1075–1086 (2008)Google Scholar
  6. 6.
    Myers, D.: On the use of NAND flash memory in high-performance relational databases. Master’s thesis, Massachussets Institute of Technology (2008)Google Scholar
  7. 7.
    Matthews, J., Trika, S., Hensgen, D., Coulson, R., Grimsrud, K.: Intel® turbo memory: Nonvolatile disk caches in the storage hierarchy of mainstream computer systems. ACM Transactions on Storage 4(2), 1–24 (2008)CrossRefGoogle Scholar
  8. 8.
    Gal, E., Toledo, S.: Algorithms and data structures for flash memories. ACM Computing Surveys 37(2), 138–163 (2005)CrossRefGoogle Scholar
  9. 9.
    Wu, C.H., Chang, L.P., Kuo, T.W.: An efficient R-tree implementation over flash-memory storage systems. In: Proc. 11th ACM International Symposium on Advances in Geographic Information Systems, pp. 17–24 (2003)Google Scholar
  10. 10.
    Wu, C.H., Kuo, T.W., Chang, L.P.: An efficient B-tree layer implementation for flash-memory storage systems. ACM Transactions on Embedded Computing Systems 6(3) (2007)Google Scholar
  11. 11.
    Li, Y., He, B., Luo, Q., Yi, K.: Tree indexing on flash disks. In: Proc. 25th International Conference on Data Engineering (2009) (to appear)Google Scholar
  12. 12.
    Barnat, J., Brim, L., Edelkamp, S., Sulewski, D., Šimeček, P.: Can flash memory help in model checking? In: Proc. 13th International Workshop on Formal Methods for Industrial Critical Systems, pp. 159–174 (2008)Google Scholar
  13. 13.
    Goldberg, A.V., Werneck, R.: Computing point-to-point shortest paths from external memory. In: Proc. 7th Workshop on Algorithm Engineering and Experiments, pp. 26–40 (2005)Google Scholar
  14. 14.
    Sanders, P., Schultes, D., Vetter, C.: Mobile route planning. In: Halperin, D., Mehlhorn, K. (eds.) ESA 2008. LNCS, vol. 5193, pp. 732–743. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Ajwani, D., Malinger, I., Meyer, U., Toledo, S.: Characterizing the performance of flash memory storage devices and its impact on algorithm design. In: McGeoch, C.C. (ed.) WEA 2008. LNCS, vol. 5038, pp. 208–219. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  16. 16.
    Birrell, A., Isard, M., Thacker, C., Wobber, T.: A design for high-performance flash disks. ACM SIGOPS Operating Systems Review 41(2), 88–93 (2007)CrossRefGoogle Scholar
  17. 17.
    Bouganim, L., Jónsson, B.P., Bonnet, P.: uFLIP: Understanding Flash IO Patterns. In: Proc. 4th biennial conference on innovative data systems, CIDR (2009)Google Scholar
  18. 18.
    Arge, L.: The buffer tree: A technique for designing batched external data structures. Algorithmica 37(1), 1–24 (2003)MathSciNetCrossRefMATHGoogle Scholar
  19. 19.
    Arge, L., Bender, M.A., Demaine, E.D., Holland-Minkley, B., Munro, J.I.: An optimal cache-oblivious priority queue and its application to graph algorithms. SIAM J. Comput. 36(6), 1672–1695 (2007)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Brodal, G.S., Fagerberg, R.: Funnel heap - a cache oblivious priority queue. In: Bose, P., Morin, P. (eds.) ISAAC 2002. LNCS, vol. 2518, pp. 219–228. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  21. 21.
    Brodal, G.S., Katajainen, J.: Worst-case efficient external-memory priority queues. In: Arnborg, S. (ed.) SWAT 1998. LNCS, vol. 1432, pp. 107–118. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  22. 22.
    Mehlhorn, K., Meyer, U.: External-memory breadth-first search with sublinear I/O. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 723–735. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  23. 23.
    Dementiev, R., Kettner, L., Sanders, P.: STXXL: standard template library for XXL data sets. Software: Practice and Experience 38(6), 589–637 (2008)Google Scholar
  24. 24.
    Easy Computing Company: Managed flash technology, http://www.easyco.com/mft/
  25. 25.
    Ajwani, D., Meyer, U., Osipov, V.: Improved external memory BFS implementation. In: Proc. 9th Workshop on Algorithm Engineering and Experiments, pp. 3–12 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Deepak Ajwani
    • 1
  • Andreas Beckmann
    • 2
  • Riko Jacob
    • 3
  • Ulrich Meyer
    • 2
  • Gabriel Moruz
    • 2
  1. 1.Department of Computer ScienceAarhus UniversityDenmark
  2. 2.Institut für InformatikGoethe-Universität Frankfurt am MainGermany
  3. 3.Computer Science DepartmentTU MünchenGermany

Personalised recommendations