Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/1247360.1247367guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

A transactional flash file system for microcontrollers

Published: 10 April 2005 Publication History

Abstract

We present a transactional file system for flash memory devices. The file system is designed for embedded microcontrollers that use an on-chip or on-board NOR flash device as a persistent file store. The file system provides atomicity to arbitrary sequences of file system operations, including reads, writes, file creation and deletion, and so on. The file system supports multiple concurrent transactions. Thanks to a sophisticated data structure, the file system is efficient in terms of read/write-operation counts, flash-storage overhead, and RAM usage. In fact, the file system typically uses several hundreds bytes of RAM (often less than 200) and a bounded stack (or no stack), allowing it to be used on many 16-bit microcontrollers. Flash devices wear out; each block can only be erased a certain number of times. The file system manages the wear of blocks to avoid early wearing out of frequently-used blocks.

References

[1]
{1} P. Cappelletti, C. Golla, P. Olivo, and E. Zanoni, Flash Memories. Kluwer, 1999.]]
[2]
{2} N. A. Takahiro Ohnakado and, "Review of device technologies of flash memories," IEICE Transactions on Electronics, vol. E84-C, no. 6, pp. 724-733, 2001.]]
[3]
{3} M. Rosenblum and J. K. Ousterhout, "The design and implementation of a log-structured file system," ACM Transactions on Computer Systems, vol. 10, no. 1, pp. 26-52, 1992.]]
[4]
{4} M. I. Seltzer, K. Bostic, M. K. McKusick, and C. Staelin, "An implementation of a log-structured file system for UNIX," in USENIX Winter 1993 Conference Proceedings, San Diego, California, Jan. 1993, pp. 307-326. {Online}. Available: citeseer.ist.psu.edu/seltzer93implementation.html]]
[5]
{5} A. Kawaguchi, S. Nishioka, and H. Motoda, "A flash-memory based file system," in Proceedings of the USENIX 1995 Technical Conference, New Orleans, Louisiana, Jan. 1995, pp. 155-164. {Online}. Available: http://www.usenix.org/publications/ library/proceedings/neworl/kawaguchi.html]]
[6]
{6} H.-J. Kim and S.-G. Lee, "An effective flash memory manager for reliable flash memory space management," IEICE Transactions on Information and Systems, vol. E85-D, no. 6, pp. 950-964, 2002.]]
[7]
{7} K. M. J. Lofgren, R. D. Norman, G. B. Thelin, and A. Gupta, "Wear leveling techniques for flash EEPROM systems," U.S. Patent 6 081 447, June 27, 2000.]]
[8]
{8} H. Dai, M. Neufeld, and R. Han, "ELF: An efficient log-structured flash file system for wireless micro sensor nodes," in Proceedings of the 2nd ACM Conference on Embedded Networked Sensor Systems (SenSys), Nov. 2004, pp. 176-187.]]
[9]
{9} D. Woodhouse, "JFFS: The journaling flash file system," July 2001, presented in the Ottawa Linux Symposium, July 2001 (no proceedings); a 12-page article available online from http://sources.redhat. com/jffs2/jffs2.pdf.]]
[10]
{10} (2002) YAFFS: Yet another flash filing system. Aleph One. Cambridge, UK. {Online}. Available: http://www.aleph1.co.uk/yaffs/index.html]]
[11]
{11} D. Gay, "Design of matchbox, the simple filing system for motes (version 1.0)," Aug. 2003, available online from http://www.tinyos.net/tinyos-1.x/doc/.]]
[12]
{12} D. Gay, "Matchbox: A simple filing system for motes (version 1.0)," Aug. 2003, available online from http://www.tinyos.net/tinyos-1.x/doc/.]]
[13]
{13} B. Liskov and R. Rodrigues, "Transactional file systems can be fast," in 11th ACM SIGOPS European Workshop, Leuven, Belgium, Sept. 2004.]]
[14]
{14} M. Seltzer and M. Stonebraker, "Transaction support in read optimized and write optimized file systems," in Proceedings of the 16th Conference on Very Large Databases, Brisbane, 1990.]]
[15]
{15} E. Gal and S. Toledo, "Algorithms and data structures for flash memories," July 2004, submitted to the ACM Computing Surveys.]]
[16]
{16} P. Torelli, "The Microsoft flash file system," Dr. Dobb's Journal, pp. 62-72, Feb. 1995. {Online}. Available: http://www.ddj.com]]
[17]
{17} S. Wells, R. N. Hasbun, and K. Robinson, "Sector-based storage device emulator having variable-sized sector," U.S. Patent 5 822 781, Oct. 13, 1998.]]
[18]
{18} J. R. Driscoll, N. Sarnak, D. D. Sleator, and R. E. Tarjan, "Making data structures persistent," Journal of Computer and System Sciences, vol. 38, no. 1, pp. 86-124, 1989.]]
[19]
{19} H. Kaplan, "Persistent data structures," in Handbook of Data Structures and Applications, D. P. Mehta and S. Sahni, Eds. CRC Press, 2004.]]
[20]
{20} D. Hitz, J. Lau, and M. Malcolm, "File system design for an NFS file server appliance," in Proceedings of the 1994 Winter USENIX Technical Conference , San Francisco, CA, Jan. 1994, pp. 235-245.]]
[21]
{21} F. Douglis, R. Caceres, M. F. Kaashoek, K. Li, B. Marsh, and J. A. Tauber, "Storage alternatives for mobile computers," in Proceedings of the First USENIX Symposium on Operating Systems Design and Implementation (OSDI), Monterey, California, Nov. 1994, pp. 25-37. {Online}. Available: citeseer. ist.psu.edu/douglis94storage.html]]
[22]
{22} P. L. Barrett, S. D. Quinn, and R. A. Lipe, "System for updating data stored on a flash-erasable, programmable, read-only memory (FEPROM) based upon predetermined bit value of indicating pointers," U.S. Patent 5 392 427, Feb. 21, 1995.]]
[23]
{23} W. J. Krueger and S. Rajagopalan, "Method and system for file system management using a flash-erasable, programmable, read-only memory," U.S. Patent 5 634 050, May 27, 1999.]]
[24]
{24} W. J. Krueger and S. Rajagopalan, "Method and system for file system management using a flash-erasable, programmable, read-only memory," U.S. Patent 5 898 868, Apr. 27, 1999.]]
[25]
{25} W. J. Krueger and S. Rajagopalan, "Method and system for file system management using a flash-erasable, programmable, read-only memory," U.S. Patent 6 256 642, July 3, 2001.]]
[26]
{26} A. Ban, "Flash file system," U.S. Patent 5 404 485, Apr. 4, 1995.]]
[27]
{27} A. Ban, "Flash file system optimized for page-mode flash technologies," U.S. Patent 5 937 425, Aug. 10, 1999.]]
[28]
{28} Intel Corporation, "Understanding the flash translation layer (FTL) specification," Application Note 648, 1998.]]
[29]
{29} M.-L. Chiang and R.-C. Chang, "Cleaning policies in mobile computers using flash memory," The Journal of Systems and Software, vol. 48, no. 3, pp. 213-231, 1999.]]
[30]
{30} M.-L. Chiang, P. C. Lee, and R.-C. Chang, "Using data clustering to improve cleaning performance for flash memory," Software--Practice and Experience , vol. 29, no. 3, 1999.]]
[31]
{31} M. Wu and W. Zwaenepoel, "eNVy: a non-volatile, main memory storage system," in Proceedings of the 6th international conference on Architectural support for programming languages and operating systems. ACM Press, 1994, pp. 86-97.]]
[32]
{32} T. Blackwell, J. Harris, and M. Seltzer, "Heuristic cleaning algorithms in log-structured file systems," in Proceedings of the 1995 USENIX Technical Conference , Jan. 1995, pp. 277-288.]]
[33]
{33} J. Wang and Y. Hu, "A novel reordering write buffer to improve write performance of log-structured file systems," IEEE Transactions on Computers, vol. 52, no. 12, pp. 1559-1572, Dec. 2003.]]
[34]
{34} J. N. Matthews, D. Roselli, A. M. Costello, R. Y. Wang, and T. E. Anderson, "Improving the performance of log-structured file systems with adaptive methods," in Proceedings of the 16th ACM Symposium on Operating System Principles (SOSP), Oct. 1997, pp. 238-251.]]
[35]
{35} N. Daberko, "Operating system including improved file management for use in devices utilizing flash memory as main memory," U.S. Patent 5 787 445, July 28, 1998.]]
[36]
{36} C.-H. Wu, L.-P. Chang, and T.-W. Kuo, "An efficient B-tree layer for flash-memory storage systems," in Proceedings of the 9th International Conference on Real-Time and Embedded Computing Systems and Applications (RTCSA), Tainan City, Taiwan, Feb. 2003, 20 pages.]]
[37]
{37} C.-H. Wu, L.-P. Chang, and T.-W. Kuo, "An efficient R-tree implementation over flash-memory storage systems," in Proceedings of the eleventh ACM international symposium on Advances in geographic information systems. ACM Press, 2003, pp. 17-24.]]

Cited By

View all
  • (2020)LOFFSProceedings of the 57th ACM/EDAC/IEEE Design Automation Conference10.5555/3437539.3437640(1-6)Online publication date: 20-Jul-2020
  • (2013)Extending SSD lifetime in database applications with page overwritesProceedings of the 6th International Systems and Storage Conference10.1145/2485732.2485747(1-12)Online publication date: 30-Jun-2013
  • (2013)Investigating hybrid SSD FTL schemes for Hadoop workloadsProceedings of the ACM International Conference on Computing Frontiers10.1145/2482767.2482793(1-10)Online publication date: 14-May-2013
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
ATEC '05: Proceedings of the annual conference on USENIX Annual Technical Conference
April 2005
588 pages

Publisher

USENIX Association

United States

Publication History

Published: 10 April 2005

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 27 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)LOFFSProceedings of the 57th ACM/EDAC/IEEE Design Automation Conference10.5555/3437539.3437640(1-6)Online publication date: 20-Jul-2020
  • (2013)Extending SSD lifetime in database applications with page overwritesProceedings of the 6th International Systems and Storage Conference10.1145/2485732.2485747(1-12)Online publication date: 30-Jun-2013
  • (2013)Investigating hybrid SSD FTL schemes for Hadoop workloadsProceedings of the ACM International Conference on Computing Frontiers10.1145/2482767.2482793(1-10)Online publication date: 14-May-2013
  • (2012)A flexible OS-based approach for characterizing solid-state disk enduranceProceedings of the 9th conference on Computing Frontiers10.1145/2212908.2212939(223-232)Online publication date: 15-May-2012
  • (2012)FlashLightACM Transactions on Embedded Computing Systems10.1145/2180887.218089511S:1(1-23)Online publication date: 1-Jun-2012
  • (2012)Improving server applications with system transactionsProceedings of the 7th ACM european conference on Computer Systems10.1145/2168836.2168839(15-28)Online publication date: 10-Apr-2012
  • (2011)A database in every sensorProceedings of the 9th ACM Conference on Embedded Networked Sensor Systems10.1145/2070942.2070974(316-332)Online publication date: 1-Nov-2011
  • (2010)MicrosearchACM Transactions on Embedded Computing Systems10.1145/1721695.17217099:4(1-29)Online publication date: 6-Apr-2010
  • (2010)Modeling and simulating flash based solid-state disks for operating systemsProceedings of the first joint WOSP/SIPEW international conference on Performance engineering10.1145/1712605.1712611(15-26)Online publication date: 28-Jan-2010
  • (2009)Enabling large-scale storage in sensor networks with the Coffee file systemProceedings of the 2009 International Conference on Information Processing in Sensor Networks10.5555/1602165.1602197(349-360)Online publication date: 13-Apr-2009
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media