ACM Home Page
Please provide us with feedback. Feedback
NANDFS: a flexible flash file system for RAM-constrained systems
Full text PdfPdf (380 KB)
Source
International Conference on Compilers, Architecture and Synthesis for Embedded Systems archive
Proceedings of the seventh ACM international conference on Embedded software table of contents
Grenoble, France
SESSION: Flash memory table of contents
Pages 285-294  
Year of Publication: 2009
ISBN:978-1-60558-627-4
Authors
Aviad Zuck  Tel-Aviv University, Tel-Aviv, Israel
Ohad Barzilay  Tel-Aviv University, Tel-Aviv, Israel
Sivan Toledo  Tel-Aviv University, Tel-Aviv, Israel
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 51,   Downloads (12 Months): 51,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1629335.1629374
What is a DOI?

ABSTRACT

NANDFS is a flash file system that exposes a memory-performance tradeoff to system integrators. The file system can be configured to use a large amount of RAM, in which case it delivers excellent performance. In particular, when NANDFS is configured with the same amount of RAM that YAFFS2 uses, the performance of the two file systems is comparable (YAFFS2 is a file system that is widely used in embedded Linux and other embedded environments). But YAFFS2 and other state-of-the-art flash file systems allocate RAM dynamically and do not provide the system builder with a way to limit the amount ofmemory that they allocate. NANDFS, on the other hand, allows the system builder to configure it to use a specific amount of RAM. The performance of NANDFS degrades when the amount of RAM it uses shrinks, but the degradation is graceful, not catastrophic. NANDFS is able to provide this flexibility thanks to a novel data structure that combines a coarsegrained logical-to-physical mapping with a log-structured file system.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
D. Ajwani, I. Malinger, U. Meyer, and S. Toledo. Characterizing the performance of flash memory storage devices and its impact on algorithm design. In Proc. of the 7th Intl. Workshop on Experimental Algorithms (WEA), volume 5038 of LNCS, pages 208--219, 2008.
 
2
G. Bartels and T. Mann. Cloudburst: A Compressing, Log-Structured Virtual Disk for Flash Memory. Technical Report 2001-001, Compaq Systems Research Center, 2001.
 
3
A. Ben-Aroya and S. Toledo. Competitive analysis of flash-memory algorithms. In Proceedings of the 14th European Symposium on Algorithms, volume 4168 of Lecture Notes in Computer Science, pages 100--111, 2006.
 
4
A. Birrell, M. Isard, C. Thacker, and T. Wobber. A design for high-performance flash disks. ACM SIGOPS Operating Systems Review, 41:88--93, 2007.
 
5
J. Bonwick, M. Ahrens, V. Henson, M. Maybee, and M. Shellenbaum. The Zettabyte File System. Technical report, Technical report, Sun Microsystems.
 
6
H. Dai, M. Neufeld, and R. Han. ELF: an efficient log-structured flash file system for micro sensor nodes. In Proceedings of the 2nd international conference on Embedded networked sensor systems (SenSys '04), pages 176--187, Baltimore, MD, USA, 2004.
 
7
W. de Jonge, M. F. Kaashoek, and W. C. Hsieh. The logical disk: A new approach to improving file systems. In SOSP, pages 15--28, 1993.
 
8
W. de Jonge, M. F. Kaashoek, and W. C. Hsieh. The logical disk: A new approach to improving file systems. In SOSP, pages 15--28, 1993.
 
9
D. Kang, D. Jung, J. Kang, and J. Kim. ¼-tree: an ordered index structure for NAND flash memory. In Proceedings of the 7th ACM & IEEE International Conference on Embedded Software, pages 144--153, 2007.
 
10
A. Kawaguchi, S. Nishioka, and H. Motoda. A flash-memory based file system. Proceedings of the USENIX 1995 Technical Conference, 1995.
 
11
H. Kim and S. Ahn. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of the 6th USENIX Conference on File and Storage Technologies, pages 239--252, 2008.
 
12
J. Kim, J. Kim, S. Noh, S. Min, and Y. Cho. A space-efficient flash translation layer for CompactFlash systems. IEEE Transactions on Consumer Electronics, 48:366--375, 2002.
 
13
S. Lee and B. Moon. Design of flash-based DBMS: an in-page logging approach. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 55--66, 2007.
 
14
S.-W. Lee, B. Moon, C. Park, J.-M. Kim, and S.-W. Kim. A case for flash memory SSD in enterprise database applications. In Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, pages 1075--1086, Vancouver, Canada, 2008.
 
15
S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park, and H.-J. Song. A log buffer-based flash translation layer using fully-associative sector translation. ACM Transactions on Embedded Computing Systems, 6(3):18-1-18-27, 2007.
 
16
S. Lim and K. Park. An efficient NAND flash file system for flash memory storage. IEEE Transactions on Computers, 55:906--912, 2006.
 
17
S. Lin, D. Zeinalipour-Yazti, V. Kalogeraki, D. Gunopulos, and W. Najjar. Efficient indexing data structures for flash-based sensor devices. ACM Transactions on Storage, 2:468--503, 2006.
 
18
B. Liskov and R. Rodrigues. Transactional file systems can be fast. In 11th ACM SIGOPS European Workshop, Leuven, Belgium, Sept. 2004.
 
19
G. Mathur, P. Desnoyers, D. Ganesan, and P. Shenoy. Capsule: an energy-optimized object storage system for memory-constrained sensor devices. In Proceedings of the 4th ACM International Conference on Embedded Networked Sensor Systems (SenSys), pages 195--208, 2006.
 
20
R. Morris. Counting large numbers of events in small registers. Communications of the ACM, 21:840--842, 1978.
 
21
S. Mullender and A. Tanenbaum. Immediate Files. Software - Practice and Experience, 14(4):365--368, 1984.
 
22
S. Nath and A. Kansal. FlashDB: dynamic self-tuning database for NAND flash. In Proceedings of the 6th International Conference on Information Processing in Sensor Networks (IPSN), pages 410--419, 2007.
 
23
A. One. YAFFS: Yet another flash filing system. http://www.yaffs.net, 2002.
 
24
S.-Y. Park, D. Jung, J.-U. Kang, J.-S. Kim, and J. Lee. CFLRU: a replacement algorithm for flash memory. In Proc. of CASES, pages 234--241, 2006.
 
25
V. Prabhakaran, T. Rodeheffer, and L. Zhou. Transactional flash. In Proc. Symposium on Operating Systems Design and Implementation (OSDI), San Diego, CA, Dec, 2008.
 
26
D. M. Ritchie and K. Thompson. The UNIX time-sharing system. AT&T TECH J, 57:1905--1930, 1978.
 
27
M. Rosenblum and J. K. Ousterhout. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems, 10:26--52, 1992.
 
28
M. I. Seltzer and M. Stonebraker. Transaction support in read optimizied and write optimized file systems. In Proceedings of the 16th International Conference on Very Large Data Bases (VLDB), pages 174--185, 1990.
 
29
D. Woodhouse. JFFS: The Journalling Flash File System. Ottawa Linux Symposium, available at http://sourceware.org/jffs2/, 2001.
 
30
C.-H. Wu, T.-W. Kuo, and L. P. Chang. An efficient B-tree layer implementation for flash-memory storage systems. ACM Transactions on Embedded Computing Systems, 6:19-1-19-23, 2007.