Characterizing the Performance of Flash Memory Storage Devices and Its Impact on Algorithm Design
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.
KeywordsHard Disk Memory Device Access Pattern External Memory Magnetic Hard Disk
Unable to display preview. Download preview PDF.
- 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.Ajwani, D., Meyer, U., Osipov, V.: Improved external memory BFS implementations. In: ALENEX 2007, pp. 3–12 (2007)Google Scholar
- 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.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
- 8.Goldberg, A., Werneck, R.: Computing point-to-point shortest paths from external memory. In: ALENEX 2005, SIAM, Philadelphia (2005)Google Scholar
- 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
- 11.Myers, D., Madden, S.: On the use of NAND flash disks in high-performance relational databases. Manuscript (2007)Google Scholar
- 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