skip to main content
research-article

Analytic Models of SSD Write Performance

Published:01 March 2014Publication History
Skip Abstract Section

Abstract

Solid-state drives (SSDs) update data by writing a new copy, rather than overwriting old data, causing prior copies of the same data to be invalidated. These writes are performed in units of pages, while space is reclaimed in units of multipage erase blocks, necessitating copying of any remaining valid pages in the block before reclamation. The efficiency of this cleaning process greatly affects performance under random workloads; in particular, in SSDs, the write bottleneck is typically internal media throughput, and write amplificationdue to additional internal copying directly reduces application throughput.

We present the first nearly-exact closed-form solution for write amplification under greedy cleaning for uniformly-distributed random traffic, validate its accuracy via simulation, and show that its inaccuracies are negligible for reasonable block sizes and overprovisioning ratios. In addition, we also present the first models which predict performance degradation for both LRW (least-recently-written) cleaning and greedy cleaning under simple nonuniform traffic conditions; simulation results show the first model to be exact and the second to be accurate within 2%. We extend the LRW model to arbitrary combinations of random traffic and demonstrate its use in predicting cleaning performance for real-world workloads.

Using these analytic models, we examine the strategy of separating “hot” and “cold” data, showing that for our traffic model, such separation eliminates any loss in performance due to nonuniform traffic. We then show how a system which segregates hot and cold data into different block pools may shift free space between these pools in order to achieve improved performance, and how numeric methods may be used with our model to find the optimum operating point, which approaches a write amplification of 1.0 for increasingly skewed traffic. We examine online methods for achieving this optimal operating point and show a control strategy based on our model which achieves high performance for a number of real-world block traces.

References

  1. Agarwal, R. and Marrow, M. 2010. A closed-form expression for write amplification in NAND flash. In Proceedings of the IEEE GLOBECOM Workshop on Application of Communication Theory to Emerging Memory Technologies. IEEE, 1846--1850.Google ScholarGoogle Scholar
  2. Baek, S., Choi, J., Lee, D., and Noh, S. H. 2007. Model and validation of block cleaning cost for flash memory. In Proceedings of the International Workshop on Embedded Computer Systems: Architectures, Modeling, and Simulation. Lecture Notes in Computer Science, vol. 4599, Springer-Verlag, Berlin, 46--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ban, A. 2004. Wear leveling of static areas in flash memory. U.S. Patent 6,732,221, filed June 1, 2001, and issued May 4, 2004.Google ScholarGoogle Scholar
  4. Bates, K. and McNutt, B. 2007. OLTP Application I/O. UMass Trace Repository. http://traces.cs.umass.edu.Google ScholarGoogle Scholar
  5. Ben-Aroya, A. and Toledo, S. 2006. Competitive analysis of flash-memory algorithms. In Proceedings of the 14th Annual European Symposium on Algorithms (ESA’06). Lecture Notes in Computer Science, vol. 4168, Springer-Verlag, Berlin, 100--111. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Blackwell, T., Harris, J., and Seltzer, M. 1995. Heuristic cleaning algorithms in log-structured file systems. In Proceedings of the USENIX Technical Conference. USENIX Association, 277--288. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Boboila, S. and Desnoyers, P. 2011. Performance models of flash-based solid-state drives for real workloads. In Proceedings of the IEEE Symposium on Massive Storage Systems and Technologies. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bux, W. 2009. Performance evaluation of the write operation in flash-based solid-state drives. IBM Res. rep. RZ 3757, IBM.Google ScholarGoogle Scholar
  9. Bux, W. and Iliadis, I. 2010. Performance of greedy garbage collection in flash-based solid-state drives. Perform. Eval. 67, 11, 1172--1186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Chang, L. 2007. On efficient wear leveling for large-scale flash-memory storage systems. In Proceedings of the ACM Symposium on Applied Computing. ACM, 1126--1130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Chang, L. and Kuo, T. 2002. An adaptive striping architecture for flash memory storage systems of embedded systems. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’02). IEEE Computer Society, 187. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Chiang, M. and Chang, R. 1999. Cleaning policies in mobile computers using flash memory. J. Syst. Softw. 48, 3, 213--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Chiang, M.-L., Lee, P. C. H., and Chuan Chang, R. 1997. Managing flash memory in personal communication devices. In Proceedings of the International Symposium on Consumer Electronics (ISCE’97). IEEE, 177--182.Google ScholarGoogle Scholar
  14. Chung, T.-S., Park, D.-J., Park, S., Lee, D.-H., Lee, S.-W., and Song, H.-J. 2009. A survey of flash translation layers. J. Syst. Architec. 55, 5--6, 332--343. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Desnoyers, P. 2012. Analytic modeling of SSD write performance. In Proceedings of the 5th Annual International Systems and Storage Conference (SYSTOR’12). ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Gal, E. and Toledo, S. 2005. Algorithms and data structures for flash memories. ACM Comput. Surv. 37, 2, 138--163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Hsieh, J., Kuo, T., and Chang, L. 2006. Efficient identification of hot data for flash memory storage systems. ACM Trans. Storage 2, 1, 22--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Hu, X., Eleftheriou, E., Haas, R., Iliadis, I., and Pletka, R. 2009. Write amplification analysis in flash-based solid state drives. In Proceedings of the Israeli Experimental Systems Conference (SYSTOR’09). ACM, 1--9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hu, X.-Y. and Haas, R. 2010. The fundamental limit of flash random write performance: Understanding, analysis and performance modelling. IBM Res. rep. RZ 3771, IBM Research - Zurich.Google ScholarGoogle Scholar
  20. Jung, S., Lee, Y., and Song, Y. 2010. A process-aware hot/cold identification scheme for flash memory storage systems. IEEE Trans. Consumer Electron. 56, 2, 339--347. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Kim, H. and Lee, S. 2002. An effective flash memory manager for reliable flash memory space management. IEICE Trans. Inform. Syst. 85, 6, 950--964.Google ScholarGoogle Scholar
  22. Lee, H., Yun, H., and Lee, D. 2009. HFTL: Hybrid flash translation layer based on hot data identification for flash memory. IEEE Trans. Consumer Electron. 55, 4, 2005--2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Lee, S.-W., Park, D.-J., Chung, T.-S., Lee, D.-H., Park, S., and Song, H.-J. 2007. A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans. Embed. Comput. Syst. 6, 3, 18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Lin, W.-H. and Chang, L.-P. 2012. Dual greedy: Adaptive garbage collection for page-mapping solid-state disks. In Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE). 117--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Matthews, J. N., Roselli, D., Costello, A. M., Wang, R. Y., and Anderson, T. E. 1997. Improving the performance of log-structured file systems with adaptive methods. In Proceedings of the 16th ACM Symposium on Operating Systems Principles. ACM, 238--251. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Menon, J. and Stockmeyer, L. 1998. An age-threshold algorithm for garbage collection in log-structured arrays and file systems. In High Performance Computing Systems and Applications, J. Schaeffer Ed., The Springer International Series in Engineering and Computer Science, vol. 478. Springer US, 119--132.Google ScholarGoogle Scholar
  27. Narayanan, D., Donnelly, A., and Rowstron, A. 2008. Write off-loading: Practical power management for enterprise storage. In Proceedings of the USENIX Conference on File and Storage Technologies. USENIX Association, 1--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Park, D. and Du, D. 2011. Hot data identification for flash-based storage systems using multiple bloom filters. In Proceedings of the IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST). 1--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Qi, F. and Guo, B.-N. 2009. Sharp inequalities for the PSI function and harmonic numbers. arXiv e-print 0902.2524.Google ScholarGoogle Scholar
  30. Robinson, J. T. 1996. Analysis of steady-state segment storage utilizations in a log-structured file system with least-utilized segment cleaning. SIGOPS Oper. Syst. Rev. 30, 4, 29--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Rosenblum, M. 1992. The design and implementation of a log-structured file system. Ph.D. dissertation, University of California, Berkeley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Rosenblum, M. and Ousterhout, J. K. 1991. The design and implementation of a log-structured file system. In Proceedings of the ACM Symposium on Operating Systems Principles. ACM, 1--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Wang, J. and Hu, Y. 2002. WOLF - A novel reordering write buffer to boost the performance of log-structured file systems. In Proceedings of the Conference on File and Storage Technologies. USENIX Association, 47--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Wu, M. and Zwaenepoel, W. 1994. eNVy: A non-volatile, main memory storage system. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). ACM Press, 86--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Xiang, L. and Kurkoski, B. 2012. An improved analytic expression for write amplification in NAND flash. In Proceedings of the International Conference on Computing, Networking and Communications (ICNC). IEEE, 497--501.Google ScholarGoogle Scholar

Index Terms

  1. Analytic Models of SSD Write Performance

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!