Characterizing the Performance of Flash Memory Storage Devices and Its Impact on Algorithm Design

  • Deepak Ajwani
  • Itay Malinger
  • Ulrich Meyer
  • Sivan Toledo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5038)


Initially used in digital audio players, digital cameras, mobile phones, and USB memory sticks, flash memory may become the dominant form of end-user storage in mobile computing, either completely replacing the magnetic hard disks or being an additional secondary storage. We study the design of algorithms and data structures that can exploit the flash memory devices better. For this, we characterize the performance of NAND flash based storage devices, including many solid state disks. We show that these devices have better random read performance than hard disks, but much worse random write performance. We also analyze the effect of misalignments, aging and past I/O patterns etc. on the performance obtained on these devices. We show that despite the similarities between flash memory and RAM (fast random reads) and between flash disk and hard disk (both are block based devices), the algorithms designed in the RAM model or the external memory model do not realize the full potential of the flash memory devices. We later give some broad guidelines for designing algorithms which can exploit the comparative advantages of both a flash memory device and a hard disk, when used together.


Hard Disk Memory Device Access Pattern External Memory Magnetic Hard Disk 
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)CrossRefMathSciNetGoogle Scholar
  2. 2.
    Ajwani, D., Malinger, I., Meyer, U., Toledo, S.: Characterizing the performance of flash memory storage devices and its impact on algorithm design. Max Planck Institut für Informatik, Research report no. MPI-I-2008-1-001Google Scholar
  3. 3.
    Ajwani, D., Meyer, U., Osipov, V.: Improved external memory BFS implementations. In: ALENEX 2007, pp. 3–12 (2007)Google Scholar
  4. 4.
    Birrell, A., Isard, M., Thacker, C., Wobber, T.: A design for high-performance flash disks. SIGOPS Oper. Syst. Rev. 41(2), 88–93 (2007)CrossRefGoogle Scholar
  5. 5.
    Chen, P.M., Patterson, D.A.: A new approach to I/O performance evaluation—self-scaling I/O benchmarks, predicted I/O performance. In: ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pp. 1–12, 10–14 (1993)Google Scholar
  6. 6.
    Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: FOCS, pp. 285–297. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  7. 7.
    Gal, E., Toledo, S.: Algorithms and data structures for flash memories. ACM Computing Surveys 37, 138–163 (2005)CrossRefGoogle Scholar
  8. 8.
    Goldberg, A., Werneck, R.: Computing point-to-point shortest paths from external memory. In: ALENEX 2005, SIAM, Philadelphia (2005)Google Scholar
  9. 9.
    Lee, S.-W., Moon, B.: Design of flash-based DBMS: An in-page logging approach. In: Chan, C.Y., Ooi, B.C., Zhou, A. (eds.) SIGMOD Conference, pp. 55–66. ACM, New York (2007)Google Scholar
  10. 10.
    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
  11. 11.
    Myers, D., Madden, S.: On the use of NAND flash disks in high-performance relational databases. Manuscript (2007)Google Scholar
  12. 12.
    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, Springer, Heidelberg (2004)Google Scholar
  13. 13.
    Wu, C.-H., Chang, L.-P., Kuo, T.-W.: An efficient R-tree implementation over flash-memory storage systems. In: Proceedings of the eleventh ACM international symposium on Advances in geographic information systems, pp. 17–24. ACM Press, New York (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Deepak Ajwani
    • 1
  • Itay Malinger
    • 2
  • Ulrich Meyer
    • 3
  • Sivan Toledo
    • 4
  1. 1.Max Planck Institut für InformatikSaarbrückenGermany
  2. 2.Tel Aviv UniversityTel AvivIsrael
  3. 3.Johann Wolfgang Goethe UniversitätFrankfurt a.M.Germany
  4. 4.Massachusetts Institute of TechnologyMassachusettsUSA

Personalised recommendations