Taking Garbage Collection Overheads Off the Critical Path in SSDs

  • Myoungsoo Jung
  • Ramya Prabhakar
  • Mahmut Taylan Kandemir
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7662)


Solid state disks (SSDs) have the potential to revolutionize the storage system landscape, mostly due to their good random access performance, compared to hard disks. However, garbage collection (GC) in SSD introduces significant latencies and large performance variations, which renders widespread adoption of SSDs difficult. To address this issue, we present a novel garbage collection strategy, consisting of two components, called Advanced Garbage Collection (AGC) and Delayed Garbage Collection (DGC), that operate collectively to migrate GC operations from busy periods to idle periods. More specifically, AGC is employed to defer GC operations to idle periods in advance, based on the type of the idle periods and on-demand GC needs, whereas DGC complements AGC by handling the collections that could not be handled by AGC. Our comprehensive experimental analysis reveals that the proposed strategies provide stable SSD performance by significantly reducing GC overheads. Compared to the state-of-the-art GC strategies, P-FTL, L-FTL and H-FTL, our AGC+DGC scheme reduces GC overheads, on average, by about 66.7%, 96.7% and 98.2%, respectively.


Critical Path Idle Time Busy Period Garbage Collection Idle Period 
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.
    Caulfield, A.M., et al.: Understanding the impact of emerging non-volatile memories on high-performance, IO-intensive computing. In: SC (2010)Google Scholar
  2. 2.
    Kgil, T., Roberts, D., Mudge, T.: Improving NAND flash based disk caches. In: ISCA (2008)Google Scholar
  3. 3.
    Caulfield, A.M., Grupp, L.M., Swanson, S.: Gordon: Using flash memory to build fast, power-efficient clusters for data-intensive applications. In: ASPLOS (2009)Google Scholar
  4. 4.
    Lee, S.W., et al.: A case for flash memory SSD in enterprise database applications. In: FAST (2011)Google Scholar
  5. 5.
  6. 6.
    Micheloni, R., et al.: Inside NAND Flash Memories. Springer (2010)Google Scholar
  7. 7.
    Caulfield, A.M., et al.: Characterizing flash memory: Anomalies, observations,and applications. In: SC (2009)Google Scholar
  8. 8.
    Kang, J.U., et al.: A superblock-based flash translation layer for NAND flash memory. In: EMSOFT (2006)Google Scholar
  9. 9.
    Lee, S.W., et al.: FAST: An efficient flash translation layer for flash memory. In: EUC Workshops (2006)Google Scholar
  10. 10.
    Chang, L.P., Kuo, T.W.: Real-time garbage collection for flash-memory storage systems of real-time embedded systems. TECS (2004)Google Scholar
  11. 11.
    Choudhuri, S., Givargis, T.: Deterministic service guarantees for NAND flash using partial block cleaning. In: CODESS+ISSS (2008)Google Scholar
  12. 12.
    Kim, J., et al.: A space-efficient flash translation layer for Compact Flash systems. In: TCE (2002)Google Scholar
  13. 13.
    Jung, M., Yoo, J.: Scheduling garbage collection opportunistically to reduce worst-case I/O performance in SSDs. In: IWSSPS (2009)Google Scholar
  14. 14.
    ULINK technology,
  15. 15.
  16. 16.
    Intel, Seagate: Serial ATA Native Command Queuing: An Exciting New Performance Feature for Serial ATA. Intel and Seagate (July 2003)Google Scholar
  17. 17.
  18. 18.
    T10: Technical Committee T10 (2009),
  19. 19.
    Colarelli, D., Grunwald, D.: Massive arrays of idle disks for storage archives. In: SC (2002)Google Scholar
  20. 20.
    Mi, N., et al.: Efficient management of idleness in storage systems. The ACM Transactions on Storage Journal (2009)Google Scholar
  21. 21.
    Golding, R., et al.: Idleness is not sloth. In: USENIX ATC (1995)Google Scholar
  22. 22.
    Narayanan, D., et al.: Migrating server storage to SSDs: Analysis of tradeoffs. In: EuroSys (2009)Google Scholar
  23. 23.
    SNIA: IOTTA Repository (2006),
  24. 24.
    Kim, J.H., et al.: Incremental Merge Methods and Memory Systems Using the Same. U.S. Patent #2006004971A1 (January 5, 2006)Google Scholar
  25. 25.
    Narayanan, D., et al.: Everest: Scaling down peak loads through I/O off-loading. In: EuroSys (2008)Google Scholar
  26. 26.
    Samsung Electorincs: K9GAG0B0M. In: Data Sheet (2008)Google Scholar
  27. 27.
    Hu, X.Y.: et al.: Write amplification analysis in flash-based solid state drives. In: SYSTOR (2009)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2012

Authors and Affiliations

  • Myoungsoo Jung
    • 1
  • Ramya Prabhakar
    • 1
  • Mahmut Taylan Kandemir
    • 1
  1. 1.The Pennsylvania State UniversityUS

Personalised recommendations