skip to main content
article

Real-time garbage collection for flash-memory storage systems of real-time embedded systems

Published:01 November 2004Publication History
Skip Abstract Section

Abstract

Flash-memory technology is becoming critical in building embedded systems applications because of its shock-resistant, power economic, and nonvolatile nature. With the recent technology breakthroughs in both capacity and reliability, flash-memory storage systems are now very popular in many types of embedded systems. However, because flash memory is a write-once and bulk-erase medium, we need a translation layer and a garbage-collection mechanism to provide applications a transparent storage service. In the past work, various techniques were introduced to improve the garbage-collection mechanism. These techniques aimed at both performance and endurance issues, but they all failed in providing applications a guaranteed performance. In this paper, we propose a real-time garbage-collection mechanism, which provides a guaranteed performance, for hard real-time systems. On the other hand, the proposed mechanism supports non-real-time tasks so that the potential bandwidth of the storage system can be fully utilized. A wear-leveling method, which is executed as a non-real-time service, is presented to resolve the endurance problem of flash memory. The capability of the proposed mechanism is demonstrated by a series of experiments over our system prototype.

References

  1. Baker, T. P. 1990. A stack-based resource allocation policy for real-time process. In Proceedings of the 11th IEEE Real-Time System Symposium.]]Google ScholarGoogle ScholarCross RefCross Ref
  2. Chang, L. P. and Kuo, T. W. 2002. An adaptive striping architecture for flash memory storage systems of embedded systems. In Proceedings of the The 8th IEEE Real-Time and Embedded Technology and Applications Symposium.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Chang, L. P. and Kuo, T. W. 2004. An efficient management scheme for large-scale flash-memory storage systems. In Proceedings of the ACM Symposium on Applied Computing.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Chang, L. P., Kuo, T. W., and Lo, S. W. 2001. A dynamic-voltage-adjustment mechanism in reducing the power comsumption in flash memory storage systems for portable devices. In Proceedings of the IEEE International Conference on Consumer Electronics.]]Google ScholarGoogle Scholar
  5. Chiang, M. L., Paul, C. H., and Chang, R. C. 1997. Manage flash memory in personal communicate devices. In Proceedings of IEEE International Symposium on Consumer Electronics.]]Google ScholarGoogle Scholar
  6. Douglis, F., Caceres, R., Kaashoek, F., Li, K., Marsh, B., and Tauber, J. 1994. Storage alternatives for mobile computers. In Proceedings of the USENIX Operating System Design and Implementation.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Journaling Flash File System (JFFS). http://sources.redhat.com/jffs2/jffs2-html/.]]Google ScholarGoogle Scholar
  8. K9f2808u0b 16mb*8 NAND Flash Memory Data Sheet. Samsung Electronics Company.]]Google ScholarGoogle Scholar
  9. Kawaguchi, A., Nishioka, S., and Motoda, H. 1995. A flash memory based file system. In Proceedings of the USENIX Technical Conference.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Kim, H. J. and Lee, S. G. 1999. A new flash memory management for flash storage system. In Proceedings of the Computer Software and Applications Conference.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Liu, C. L. and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. J. ACM 7, 3 (July).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Malik, V. 2001a. JFFS---A Practical Guide. Available at http://www.embeddedlinuxworks.com/ articles/jffs_guide.html.]]Google ScholarGoogle Scholar
  13. Malik, V. 2001b. JFFS2 is broken. In Mailing List of Memory Technology Device (MTD) Subsystem for Linux.]]Google ScholarGoogle Scholar
  14. Molano, A., Rajkumar, R., and Juvva, K. 1998. Dynamic disk bandwidth management and metadata pre-fetching in a real-time filesystem. In Proceedings of the 10th Euromicro Workshop on Real-Time Systems.]]Google ScholarGoogle Scholar
  15. Rosenblum, M. and Ousterhout, J. K. 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst. 10.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Wu, C. H., Chang, L. P., and Kuo, T. W. 2003. An efficient r-tree implementation over flash-memory storage systems. In Proceedings of the ACM 11th International Symposium on Advances on Geographic Information Systems.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Wu, M. and Zwaenepoel, W. 1994. envy: A non-volatile, main memory storage system. In Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Yet Another Flash-Filing System (YAFFS). Aleph One Company.]]Google ScholarGoogle Scholar

Index Terms

  1. Real-time garbage collection for flash-memory storage systems of real-time embedded systems

            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

            • Published in

              cover image ACM Transactions on Embedded Computing Systems
              ACM Transactions on Embedded Computing Systems  Volume 3, Issue 4
              November 2004
              203 pages
              ISSN:1539-9087
              EISSN:1558-3465
              DOI:10.1145/1027794
              Issue’s Table of Contents

              Copyright © 2004 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 November 2004
              Published in tecs Volume 3, Issue 4

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader