CATA: A Garbage Collection Scheme for Flash Memory File Systems

  • Longzhe Han
  • Yeonseung Ryu
  • Keunsoo Yim
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4159)


The problem of flash memory is that it cannot be overwritten unless erased in advance. In order to avoid having to erase during every update, non-in-place-update schemes have been widely used. In case of non-in-place update mechanism, garbage collection is needed to reclaim the obsolete space. In this paper, we study a new garbage collection scheme to reduce its cost such as the number of erase operations and the number of data copies. The proposed scheme determines the victim blocks by exploiting usage information of data blocks such as age, utilization and erase count. In addition, the proposed scheme predicts the future I/O workload and controls the number of victims to avoid disturbing the normal I/O operations. Experimental results show that the proposed scheme can perform well especially when the degree of locality is high.


Garbage Collection Migration Cost Garbage Collector NAND Flash Request Arrival 
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.
    Yaffs (yet another flash filing system),
  2. 2.
    Box, G., Jenkins, G.: Time Series Analysis: Forecasting and Control. Holden-Day (1976)Google Scholar
  3. 3.
    Chandra, A., Gong, W., Shenoy, P.: Dynamic resource allocation for shared data centers using online measurements (2002)Google Scholar
  4. 4.
    Chiang, M., Chang, R.: Cleaning policies in mobile computers using flash memory. Journal of Systems and Software 48(3), 213–231 (1999)CrossRefGoogle Scholar
  5. 5.
    Chiang, M., Lee, P., Chang, R.: Using data clustering to improve cleaning performance for flash memory. Software Practice and Experience 29(3), 267–290 (1999)CrossRefGoogle Scholar
  6. 6.
    Chung, T., Park, D., Ryu, Y., Hong, S.: Lstaff: System software for large block flash memory. In: Baik, D.-K. (ed.) AsiaSim 2004. LNCS (LNAI), vol. 3398, pp. 704–710. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Douglis, F., Caceres, R., Kaashoek, F., Li, K., Marsh, B., Tauber, J.: Storage alternatives for mobile computers. In: Proceedings of the 1st Symposium on Operating Systems Design and Implementation (1994)Google Scholar
  8. 8.
    Samsung Electronics. 256m x 8bit / 128m x 16bit nand flash memory,
  9. 9.
    Kawaguchi, A., Nishioka, S., Motoda, H.: Flash memory based file system. In: Proceedings of USENIX 1995, pp. 155–164 (1995)Google Scholar
  10. 10.
    Kim, H., Lee, S.: An effective flash memory manager for reliable flash memory space management. IEICE Trans. Information and Systems E85-D(6), 950–964 (2002)Google Scholar
  11. 11.
    Marsh, B., Douglis, F., Krishnan, P.: Flash memory file caching for mobile computers. In: Proceedings of the 27th Hawaii International Conference on Systems Sciences (1994)Google Scholar
  12. 12.
    Rosenblum, M., Ousterhout, J.K.: The design and implementation of a log-structured file system. ACM Trans. Computer Systems 10(1), 26–52 (1992)CrossRefGoogle Scholar
  13. 13.
    Ryu, Y., Lee, K.: Improvement of space utilization in nand flash memory storages. In: Yang, L.T., Zhou, X.-s., Zhao, W., Wu, Z., Zhu, Y., Lin, M. (eds.) ICESS 2005. LNCS, vol. 3820, pp. 766–775. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    Woodhouse, D.: Jffs: The journalling flash file system. In: Proceedings of the Ottawa Linux Symposium (2001)Google Scholar
  15. 15.
    Wu, M., Zwanepoel, W.: envy: A non-volatile, main memory storage system. In: Proceedings of the 6th Internation Conference on Architectural Support for Programming Languages and Operating Systems (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Longzhe Han
    • 1
  • Yeonseung Ryu
    • 1
  • Keunsoo Yim
    • 2
  1. 1.Department of Computer SoftwareMyongji UniversityYongin, Gyeonggi-doKorea
  2. 2.Computing Lab.Samsung Advanced Institute of TechnologyYongin, Gyeonggi-doKorea

Personalised recommendations