Skip to main content
Log in

Stochastic modeling and optimization of garbage collection algorithms in solid-state drive systems

  • Published:
Queueing Systems Aims and scope Submit manuscript

Abstract

Markov chains and mean-field analysis are powerful tools and widely used for performance analysis in large-scale computer and communication systems. In this paper, we consider the application of Markov modeling and mean-field analysis to solid-state drives (SSDs). SSDs are now widely deployed in mobiles, desktops, and data centers due to their high I/O performance and low energy consumption. In particular, we focus on characterizing the performance–durability tradeoff of garbage collection (GC) algorithms in SSDs. Specifically, we first develop a stochastic Markov chain model to capture the I/O dynamics of large-scale SSDs, then adapt mean-field analysis to derive the asymptotic steady state, based on which we are able to easily analyze the performance–durability tradeoff of a large family of GC algorithms. We further prove the model convergence and generalize the model for all types of workload. Inspired by this model, we also propose a randomized greedy algorithm (RGA) which has a single tunable parameter to trade between performance and durability. Using trace-driven simulation on DiskSim with SSD add-ons, we demonstrate how RGA can be parameterized to realize the performance–durability tradeoff.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J.D., Manasse, M., Panigrahy, R.: Design tradeoffs for SSD performance. In: Proceedings of USENIX ATC (2008) NULL

  2. Assar, M., Nemazie, S., Estakhri, P.: Flash Memorymass storage architecture incorporation wear leveling technique. US patent 5,479,638 (1995)

  3. Ban, A.: Wear leveling of static areas in flash memory. US patent 6,732,221 (2004)

  4. Ben-Aroya, A., Toledo, S.: Competitive analysis of flash-memory algorithms. In: Proceedings of Annual European Symposium (2006)

  5. Benaïm, M., Boudec, J.Y.L.: A Class of mean field interaction models for computer and communication systems. Perform. Eval. 65(11), 823–838 (2008)

    Article  Google Scholar 

  6. Birrell, A., Isard, M., Thacker, C., Wobber, T.: A design for high-performance flash disks. ACM SIGOPS Oper. Syst. Rev. 41(2), 88–93 (2007)

    Article  Google Scholar 

  7. Bruce, R.H., Bruce, R.H., Cohen, E.T., Christie, A.J.: Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volitile flash Ram mass storage. US patent 6,000,006 (1999)

  8. Bucy, J.S., Schindler, J., Schlosser, S.W., Ganger, G.R.: The DiskSim simulation environment version 4.0 reference manual. Tech. Rep. CMUPDL-08-101, Carnegie Mellon University (2008)

  9. Bux, W., Iliadis, I.: Performance of greedy garbage collection in flash-based solid-state drives. Perform. Eval. 67(11), 1172–1186 (2010)

    Article  Google Scholar 

  10. Chang, L.P., Du, C.D.: Design and implementation of an efficient wear-leveling algorithm for solid-state-disk microcontrollers. ACM Trans. Des. Autom. Electron. Syst. 15(1), 6:1–6:36 (2009)

    Article  Google Scholar 

  11. Chang, L.P., Huang, L.C.: A Low-cost Wear-leveling Algorithm for Block-mapping Solid-state Disks. In: Proceedings of SIGPLAN/SIGBED Conference on LCTES (2011)

  12. Chang, Y.H., Hsieh, J.W., Kuo, T.W.: Improving flash wear-leveling by proactively moving static data. IEEE Tran. Comput. 59, 53–65 (2010)

    Article  Google Scholar 

  13. Chen, F., Koufaty, D.A., Zhang, X.: Understanding Intrinsic Characteristics and System Implications of Flash Memory Based Solid State Drives. In: Proceedings of ACM SIGMETRICS (2009)

  14. Chiang, M.L., Chang, R.C.: Cleaning policies in mobile computers using flash memory. J. Syst. Softw. 48(3), 213–231 (1999)

    Article  Google Scholar 

  15. Chiang, M.L., Lee, P.C.H., Chang, R.C.: Using data clustering to improve cleaning performance for flash memory. Softw. Pract. Exp. 29(3), 267–290 (1999)

    Article  Google Scholar 

  16. Chung, T.S., Park, D.J., Park, S., Lee, D.H., Lee, S.W., Song, H.J.: System software for flash memory: a survey. In: Proceedings of International Conferences on Embedded and Ubiquitous, Computing (2006)

  17. Chung, T.S., Park, D.J., Park, S., Lee, D.H., Lee, S.W., Song, H.J.: A survey of flash translation layer. J. Syst. Arch. 55(5–6), 332–343 (2009)

    Article  Google Scholar 

  18. Desnoyers, P.: Analytic modeling of SSD write performance. In: Proceedings of SYSTOR (2012)

  19. Enderle, R.: Revolution in January: EMC brings flash drives into the data center. http://www.itbusinessedge.com/blogs/rob/?p=184 (2008). Accessed 29 Mar 2014

  20. Estakhri, P., Assar, M., Reid, R., Alan, Iman, B.: Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volitile mass storage memory. US patent 5,835,935 (1998)

  21. Floyer, D.: Flash Pricing Trends Disrupt Storage. http://wikibon.org/wiki/v/Flash_Pricing_Trends_Disrupt_Storage (2010). Accessed 29 Mar 2014

  22. Gal, E., Toledo, S.: Algorithms and data structures for flash memories. ACM Comput. Surv. 37(2), 138–163 (2005)

    Article  Google Scholar 

  23. Grupp, L.M., Davis, J.D., Swanson, S.: The bleak future of NAND flash memory. In: Proceedings of USENIX FAST (2012)

  24. Gupta, A., Kim, Y., Urgaonkar, B.: DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In: Proceedings of ACM ASPLOS (2009)

  25. Gupta, A., Pisolkar, R., Urgaonkar, B., Sivasubramaniam, A.: Leveraging value locality in optimizing NAND flash-based SSDs. In: Proceedings of USENIX FAST (2011)

  26. Han, S.W.: Flash memory wear leveling system and method. US patent 6,016,275 (2000)

  27. Hess, K.: 2011: Year of the SSD? http://www.datacenterknowledge.com/archives/2011/02/17/2011-year-of-the-ssd/ (2011). Accessed 29 Mar 2014

  28. Hu, X.Y., Eleftheriou, E., Haas, R., Iliadis, I., Pletka, R.: Write amplification analysis in flash-based solid state drives. In: Proceedings of SYSTOR (2009)

  29. Jain, R., Chiu, D.M., Hawe, W.: A Quantitative measure of fairness and discrimination for resource allocation in shared computer systems. Technical Report DEC (1984)

  30. Jung, D., Chae, Y.H., Jo, H., Kim, J.S., Lee, J.: A group-based wear-leveling algorithm for large-capacity flash memory storage systems. In: Proceedings of International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (2007)

  31. Jung, M., Kandemir, M.: Revisiting widely held SSD expectations and rethinking system-level implications. In: Proceedings of the ACM SIGMETRICS/International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS ’13, pp. 203–216. ACM (2013)

  32. Kawaguchi, A., Nishioka, S., Motoda, H.: A flash-memory based file system. In: Proceedings of USENIX Technical Conference (1995)

  33. Kim, Y., Gupta, A., Urgaonkar, B., Berman, P., Sivasubramaniam, A.: HybridStore: a cost-efficient, high-performance storage system combining SSDs and HDDs. In: Proceedings of IEEE MASCOTS (2011)

  34. Lee, S.W., Park, D.J., Chung, T.S., Lee, D.H., Park, S., Song, H.J.: A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans. Embed. Comput. Syst. 6(3), 18 (2007)

    Article  Google Scholar 

  35. Li, Y., Lee, P.P.C., Lui, J.C.S.: Stochastic analysis on RAID reliability for solid-state drives. In: Proceedings of the 32nd IEEE International Symposium on Reliable Distributed Systems (2013)

  36. Li, Y., Lee, P.P.C., Lui, J.C.S.: Stochastic modeling of large-scale Solid-State Storage Systems: Analysis, Design Tradeoffs and Optimization. In: Proceedings of the ACM SIGMETRICS/international conference on Measurement and modeling of computer systems, SIGMETRICS ’13, pp. 179–190. ACM (2013)

  37. Lofgren, K.M.J., Norman, R.D., Thelin, G.B., Gupta, A.: Wear leveling techniques for flash EEPROM systems. US patent 6,850,443 (2005)

  38. Matthews, J., Trika, S., Hensgen, D., Coulson, R., Grimsrud, K.: Intel\(^{\rm R}\) turbo memory: nonvolatile disk caches in the storage hierarchy of mainstream computer systems. ACM Trans. Storage 4(2), 1–24 (2008)

    Article  Google Scholar 

  39. Micron Technology: Bad block management in NAND flash memory. Technical Note, TN-29-59 (2011)

  40. Micron Technology. http://www.micron.com/products/nand-flash. Accessed 29 Mar 2014

  41. Mitzenmacher, M.: Load balancing and density dependent jump Markov processes. In: Proceedings of IEEE FOCS (1996)

  42. Murugan, M., Du, D.: Rejuvenator: a static wear leveling algorithm for NAND flash memory with minimized overhead. In: Proceedings of IEEE MSST (2011)

  43. Park, C., Cheon, W., Kang, J., Roh, K., Cho, W., Kim, J.S.: A reconfigurable ftl (flash translation layer) architecture for nand flash-based applications. ACM Trans. Embed. Comput. Syst. 7(4), 38:1–38:23 (2008)

    Article  Google Scholar 

  44. Park, S., Kim, Y., Urgaonkar, B., Lee, J., Seo, E.: A comprehensive study of energy efficiency and performance of flash-based SSD. J. Syst. Arch. 57(4), 354–365 (2011)

    Article  Google Scholar 

  45. Polte, M., Simsa, J., Gibson, G.: Enabling enterprise solid state disks performance. In: 1st Workshop on Integrating Solid-state Memory into the Storage Hierarchy (2009)

  46. Qin, Z., Wang, Y., Liu, D., Shao, Z.: Demand-based block-level address mapping in large-scale NAND flash storage systems. In: Proceedings of IEEE/ACM/IFIP CODES+ISSS (2010)

  47. Storage Performance Council: http://traces.cs.umass.edu/index.php/Storage/Storage (2002). Accessed 29 Mar 2014

  48. Van Houdt, B.: A mean field model for a class of garbage collection algorithms in flash-based solid state drives. In: Proceedings of ACM SIGMETRICS (2013)

  49. Verma, A., Koller, R., Useche, L., Rangaswami, R.: SRCMap: Energy proportional storage using dynamic consolidation. In: Proceedings of USENIX FAST (2010). http://sylab.cs.fiu.edu/projects/srcmap/start. Accessed 29 Mar 2014

  50. Wells, S.E.: Method for wear leveling in a flash EEPROM memory. US patent 5,341,339 (1994)

Download references

Acknowledgments

The work of Yongkun Li was supported in part by National Nature Science Foundation of China under Grant No. 61303048, and the Fundamental Research Funds for the Central Universities under Grant No. WK0110000040. The work of Patrick P. C. Lee was partially supported by the seed grants from the CUHK MoE-Microsoft Key Laboratory of Human-centric Computing and Interface Technologies.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yongkun Li.

Additional information

An earlier conference version of the paper appeared in ACM SIGMETRICS 2013 [36]. In this journal version, we present all proofs, revise the presentation of mean-field model, analyze write amplification, and provide more rigorous arguments for our discussion throughout the paper.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Li, Y., Lee, P.P.C. & Lui, J.C.S. Stochastic modeling and optimization of garbage collection algorithms in solid-state drive systems. Queueing Syst 77, 115–148 (2014). https://doi.org/10.1007/s11134-014-9405-y

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11134-014-9405-y

Keywords

Mathematics Subject Classification

Navigation