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.
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Journaling Flash File System (JFFS). http://sources.redhat.com/jffs2/jffs2-html/.]]Google Scholar
- K9f2808u0b 16mb*8 NAND Flash Memory Data Sheet. Samsung Electronics Company.]]Google Scholar
- Kawaguchi, A., Nishioka, S., and Motoda, H. 1995. A flash memory based file system. In Proceedings of the USENIX Technical Conference.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- Liu, C. L. and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. J. ACM 7, 3 (July).]] Google ScholarDigital Library
- Malik, V. 2001a. JFFS---A Practical Guide. Available at http://www.embeddedlinuxworks.com/ articles/jffs_guide.html.]]Google Scholar
- Malik, V. 2001b. JFFS2 is broken. In Mailing List of Memory Technology Device (MTD) Subsystem for Linux.]]Google Scholar
- 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 Scholar
- Rosenblum, M. and Ousterhout, J. K. 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst. 10.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Yet Another Flash-Filing System (YAFFS). Aleph One Company.]]Google Scholar
Index Terms
- Real-time garbage collection for flash-memory storage systems of real-time embedded systems
Recommendations
An efficient garbage collection policy for flash memory based swap systems
ICCSA'07: Proceedings of the 2007 international conference on Computational science and its applications - Volume Part IMobile computing devices use flash memory as a secondary storage because it has many attractive features such as small size, fast access speeds, shock resistance, and light weight. Mobile computing devices exploit a swap system to extend a limited main ...
An efficient garbage collection for flash memory-based virtual memory systems
As more consumer electronics adopt monolithic kernels, NAND flash memory is used for the swap space in virtual memory systems. While flash memory has the advantages of low-power consumption, shock-resistance and non-volatility, it requires garbage ...
Locality and Duplication-Aware Garbage Collection for Flash Memory-Based Virtual Memory Systems
CIT '10: Proceedings of the 2010 10th IEEE International Conference on Computer and Information TechnologyAs embedded systems adopt monolithic kernels, NAND flash memory is used for swap space of virtual memory systems. While flash memory has the advantages of low-power consumption, shock-resistance and non-volatility, it requires garbage collections due to ...
Comments