{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,19]],"date-time":"2026-02-19T16:30:28Z","timestamp":1771518628457,"version":"3.50.1"},"reference-count":18,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2004,11,1]],"date-time":"2004-11-01T00:00:00Z","timestamp":1099267200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2004,11]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/1027794.1027801","type":"journal-article","created":{"date-parts":[[2005,8,2]],"date-time":"2005-08-02T08:38:10Z","timestamp":1122971890000},"page":"837-863","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":192,"title":["Real-time garbage collection for flash-memory storage systems of real-time embedded systems"],"prefix":"10.1145","volume":"3","author":[{"given":"Li-Pin","family":"Chang","sequence":"first","affiliation":[{"name":"National Taiwan University, Taipei, Taiwan"}]},{"given":"Tei-Wei","family":"Kuo","sequence":"additional","affiliation":[{"name":"National Taiwan University, Taipei, Taiwan"}]},{"given":"Shi-Wu","family":"Lo","sequence":"additional","affiliation":[{"name":"National Taiwan University, Taipei, Taiwan"}]}],"member":"320","published-online":{"date-parts":[[2004,11]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/REAL.1990.128747"},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the The 8th IEEE Real-Time and Embedded Technology and Applications Symposium.]]","author":"Chang L. P.","unstructured":"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.]] 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.]]"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/967900.968076"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the IEEE International Conference on Consumer Electronics.]]","author":"Chang L. P.","unstructured":"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.]] 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.]]"},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of IEEE International Symposium on Consumer Electronics.]]","author":"Chiang M. L.","unstructured":"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.]] 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.]]"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the USENIX Operating System Design and Implementation.]]","author":"Douglis F.","unstructured":"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.]] 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.]]"},{"key":"e_1_2_1_7_1","unstructured":"Journaling Flash File System (JFFS). http:\/\/sources.redhat.com\/jffs2\/jffs2-html\/.]]  Journaling Flash File System (JFFS). http:\/\/sources.redhat.com\/jffs2\/jffs2-html\/.]]"},{"key":"e_1_2_1_8_1","unstructured":"K9f2808u0b 16mb*8 NAND Flash Memory Data Sheet. Samsung Electronics Company.]]  K9f2808u0b 16mb*8 NAND Flash Memory Data Sheet. Samsung Electronics Company.]]"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the USENIX Technical Conference.]]","author":"Kawaguchi A.","unstructured":"Kawaguchi , A. , Nishioka , S. , and Motoda , H . 1995. A flash memory based file system . In Proceedings of the USENIX Technical Conference.]] Kawaguchi, A., Nishioka, S., and Motoda, H. 1995. A flash memory based file system. In Proceedings of the USENIX Technical Conference.]]"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the Computer Software and Applications Conference.]]","author":"Kim H. J.","unstructured":"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.]] 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.]]"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/321738.321743"},{"key":"e_1_2_1_12_1","unstructured":"Malik V. 2001a. JFFS---A Practical Guide. Available at http:\/\/www.embeddedlinuxworks.com\/ articles\/jffs_guide.html.]]  Malik V. 2001a. JFFS---A Practical Guide. Available at http:\/\/www.embeddedlinuxworks.com\/ articles\/jffs_guide.html.]]"},{"key":"e_1_2_1_13_1","unstructured":"Malik V. 2001b. JFFS2 is broken. In Mailing List of Memory Technology Device (MTD) Subsystem for Linux.]]  Malik V. 2001b. JFFS2 is broken. In Mailing List of Memory Technology Device (MTD) Subsystem for Linux.]]"},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the 10th Euromicro Workshop on Real-Time Systems.]]","author":"Molano A.","unstructured":"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.]] 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.]]"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/956676.956679"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/195473.195506"},{"key":"e_1_2_1_18_1","unstructured":"Yet Another Flash-Filing System (YAFFS). Aleph One Company.]]  Yet Another Flash-Filing System (YAFFS). Aleph One Company.]]"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1027794.1027801","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1027794.1027801","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:31:33Z","timestamp":1750264293000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1027794.1027801"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,11]]},"references-count":18,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2004,11]]}},"alternative-id":["10.1145\/1027794.1027801"],"URL":"https:\/\/doi.org\/10.1145\/1027794.1027801","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004,11]]},"assertion":[{"value":"2004-11-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}