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.


Block Size Priority Queue External Memory Internal Memory Sparse Graph 
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.
    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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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,
  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