2005 · 76 citations · 18 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureEmbedded SystemsStorage SystemsBlock StorageData Storage SystemsEmbedded Memory BlocksFile SystemsStorage ManagementEmbedded File SystemsEmbedded Storage SystemsFile System ArchitectureFile System DesignFile Systems For Flash MemoryFlash MemoryFlash Memory DevicesTransactions
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.
18
Making data structures persistent
James R. Driscoll, Neil Sarnak, Daniel D. Sleator et al. · 1986 · 704 citations
File system design for an NFS file server appliance
Dave Hitz, James Y. Lau, Michael A. Malcolm · 1994 · 472 citations
A flash-memory based file system
Atsuo Kawaguchi, Shingo Nishioka, Hiroshi MOTODA · 1995 · 423 citations
Michael Wu, Willy Zwaenepoel · ACM SIGPLAN Notices · 1994 · 321 citations