|
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.
|
|