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.
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Bates, K. and McNutt, B. 2007. OLTP Application I/O. UMass Trace Repository. http://traces.cs.umass.edu.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Bux, W. 2009. Performance evaluation of the write operation in flash-based solid-state drives. IBM Res. rep. RZ 3757, IBM.Google Scholar
- Bux, W. and Iliadis, I. 2010. Performance of greedy garbage collection in flash-based solid-state drives. Perform. Eval. 67, 11, 1172--1186. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Chiang, M. and Chang, R. 1999. Cleaning policies in mobile computers using flash memory. J. Syst. Softw. 48, 3, 213--231. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Desnoyers, P. 2012. Analytic modeling of SSD write performance. In Proceedings of the 5th Annual International Systems and Storage Conference (SYSTOR’12). ACM. Google Scholar
Digital Library
- Gal, E. and Toledo, S. 2005. Algorithms and data structures for flash memories. ACM Comput. Surv. 37, 2, 138--163. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Qi, F. and Guo, B.-N. 2009. Sharp inequalities for the PSI function and harmonic numbers. arXiv e-print 0902.2524.Google Scholar
- 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 Scholar
Digital Library
- Rosenblum, M. 1992. The design and implementation of a log-structured file system. Ph.D. dissertation, University of California, Berkeley. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Index Terms
Analytic Models of SSD Write Performance
Recommendations
Write amplification analysis in flash-based solid state drives
SYSTOR '09: Proceedings of SYSTOR 2009: The Israeli Experimental Systems ConferenceWrite amplification is a critical factor limiting the random write performance and write endurance in storage devices based on NAND-flash memories such as solid-state drives (SSD). The impact of garbage collection on write amplification is influenced by ...
Analytic modeling of SSD write performance
SYSTOR '12: Proceedings of the 5th Annual International Systems and Storage ConferenceSolid 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 multi-page erase ...
Does RAID Improve Lifetime of SSD Arrays?
Parity protection at the system level is typically employed to compose reliable storage systems. However, careful consideration is required when SSD-based systems employ parity protection. First, additional writes are required for parity updates. Second,...






Comments