Online Paging for Flash Memory Devices

  • Annamária Kovács
  • Ulrich Meyer
  • Gabriel Moruz
  • Andrei Negoescu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5878)


We propose a variation of online paging in two-level memory systems where pages in the fast cache get modified and therefore have to be explicitly written back to the slow memory upon evictions. For increased performance, up to α arbitrary pages can be moved from the cache to the slow memory within a single joint eviction, whereas fetching pages from the slow memory is still performed on a one-by-one basis. The main objective in this new α-paging scenario is to bound the number of evictions. After providing experimental evidence that α-paging can improve the performance of flash-memory devices in the context of translation layers we turn to the theoretical connections between α-paging and standard paging. We give lower bounds for deterministic and randomized α-paging algorithms. For deterministic algorithms, we show that an adaptation of LRU is strongly competitive, while for the randomized case we show that by adapting the classical Mark algorithm we get an algorithm with a competitive ratio larger than the lower bound by a multiplicative factor of approximately 1.7.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ajwani, D., Beckmann, A., Jacob, R., Meyer, U., Moruz, G.: On computational models for flash memory devices. In: Proc. 8th International Symposium on Experimental Algorithms, pp. 16–27 (2009)Google Scholar
  2. 2.
    EasyCo: Managed flash technology,
  3. 3.
    Gal, E., Toledo, S.: Algorithms and data structures for flash memories. ACM Computing Surveys 37(2), 138–163 (2005)CrossRefGoogle Scholar
  4. 4.
    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
  5. 5.
    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
  6. 6.
    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
  7. 7.
    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
  8. 8.
    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
  9. 9.
    Li, Y., He, B., Luo, Q., Yi, K.: Tree indexing on flash disks. In: Proc. 25th International Conference on Data Engineering, 1303-1306 (2009)Google Scholar
  10. 10.
    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
  11. 11.
    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
  12. 12.
    Sleator, D.D., Tarjan, R.E.: Amortized efficiency of list update and paging rules. Communications of the ACM 28(2), 202–208 (1985)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Karlin, A.R., Manasse, M.S., Rudolph, L., Sleator, D.D.: Competitive snoopy caching. Algorithmica 3, 77–119 (1988)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Fiat, A., Karp, R.M., Luby, M., McGeoch, L.A., Sleator, D.D., Young, N.E.: Competitive paging algorithms. Journal of Algorithms 12(4), 685–699 (1991)MATHCrossRefGoogle Scholar
  15. 15.
    McGeoch, L.A., Sleator, D.D.: A strongly competitive randomized paging algorithm. Algorithmica 6(6), 816–825 (1991)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Achlioptas, D., Chrobak, M., Noga, J.: Competitive analysis of randomized paging algorithms. Theoretical Computer Science 234(1-2), 203–218 (2000)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Albers, S.: Online algorithms: a survey. Mathematical Programming 97(1-2), 3–26 (2003)MATHMathSciNetGoogle Scholar
  18. 18.
    Borodin, A., El-Yaniv, R.: Online computation and competitive anlysis. Cambridge University Press, Cambridge (1998)Google Scholar
  19. 19.
    Belady, L.A.: A study of replacement algorithms for virtual-storage computer. IBM Systems Journal 5(2), 78–101 (1966)CrossRefGoogle Scholar
  20. 20.
    Kovács, A., Meyer, U., Moruz, G., Negoescu, A.: Online paging for flash memory devices. Technical report, Goethe-Universität Frankfurt am Main (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Annamária Kovács
    • 1
  • Ulrich Meyer
    • 1
  • Gabriel Moruz
    • 1
  • Andrei Negoescu
    • 1
  1. 1.Institut für InformatikGoethe-Universität Frankfurt am MainGermany

Personalised recommendations