Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2750482.2750503acmotherconferencesArticle/Chapter ViewAbstractPublication PagesfastConference Proceedingsconference-collections
Article

F2FS: a new file system for flash storage

Published: 16 February 2015 Publication History

Abstract

F2FS is a Linux file system designed to perform well on modern flash storage devices. The file system builds on append-only logging and its key design decisions were made with the characteristics of flash storage in mind. This paper describes the main design ideas, data structures, algorithms and the resulting performance of F2FS.
Experimental results highlight the desirable performance of F2FS; on a state-of-the-art mobile system, it outperforms EXT4 under synthetic workloads by up to 3.1× (iozone) and 2× (SQLite). It reduces elapsed time of several realistic workloads by up to 40%. On a server system, F2FS is shown to perform better than EXT4 by up to 2.5× (SATA SSD) and 1.8× (PCIe SSD).

References

[1]
Unsorted block image file system. http://www.linux-mtd.infradead.org/doc/ubifs.html.
[2]
Using databases in android: SQLite. http://developer.android.com/guide/topics/data/data-storage.html#db.
[3]
Yet another flash file system. http://www.yaffs.net/.
[4]
A. B. Bityutskiy. JFFS3 design issues. http://www.linux-mtd.infradead.org, 2005.
[5]
M.-L. Chiang, P. C. Lee, and R.-C. Chang. Using data clustering to improve cleaning performance for flash memory. Software-Practice and Experience, 29(3):267-290, 1999.
[6]
J. Engel and R. Mertens. LogFS-finally a scalable flash file system. In Proceedings of the International Linux System Technology Conference, 2005.
[7]
A. Gupta, Y. Kim, and B. Urgaonkar. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings, volume 44. ACM, 2009.
[8]
S. Jeong, K. Lee, S. Lee, S. Son, and Y. Won. I/O stack optimization for smartphones. In Proceedings of the USENIX Anual Technical Conference (ATC), pages 309-320, 2013.
[9]
W. K. Josephson, L. A. Bongo, K. Li, and D. Flynn. DFS: A file system for virtualized flash storage. ACM Transactions on Storage (TOS), 6(3):14:1- 14:25, 2010.
[10]
J.-U. Kang, J. Hyun, H. Maeng, and S. Cho. The multi-streamed solid-state drive. In 6th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 14), Philadelphia, PA, 2014. USENIX Association.
[11]
A. Kawaguchi, S. Nishioka, and H. Motoda. A flash-memory based file system. In Proceedings of the USENIX Anual Technical Conference (ATC), pages 155-164, 1995.
[12]
H. Kim, N. Agrawal, and C. Ungureanu. Revisiting storage for smartphones. ACM Transactions on Storage (TOS), 8(4):14, 2012.
[13]
J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho. A space-efficient flash translation layer for compactflash systems. IEEE Transactions on Consumer Electronics, 48(2):366-375, 2002.
[14]
J. Kim, H. Shim, S.-Y. Park, S. Maeng, and J.-S. Kim. Flashlight: A lightweight flash file system for embedded systems. ACM Transactions on Embedded Computing Systems (TECS), 11(1):18, 2012.
[15]
R. Konishi, Y. Amagai, K. Sato, H. Hifumi, S. Kihara, and S. Moriai. The Linux implementation of a log-structured file system. ACM SIGOPS Operating Systems Review, 40(3):102-107, 2006.
[16]
S. Lee, D. Shin, Y.-J. Kim, and J. Kim. LAST: locality-aware sector translation for NAND flash memory-based storage systems. ACM SIGOPS Operating Systems Review, 42(6):36-42, 2008.
[17]
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 (TECS), 6(3):18, 2007.
[18]
A. Mathur, M. Cao, S. Bhattacharya, A. Dilger, A. Tomas, and L. Vivier. The new ext4 filesystem: current status and future plans. In Proceedings of the Linux Symposium, volume 2, pages 21-33. Citeseer, 2007.
[19]
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 ACM Symposium on Operating Systems Principles (SOSP), pages 238-251, 1997.
[20]
R. McDougall, J. Crase, and S. Debnath. Filebench: File system microbenchmarks. http://www.opensolaris.org, 2006.
[21]
C. Min, K. Kim, H. Cho, S.-W. Lee, and Y. I. Eom. SFS: Random write considered harmful in solid state drives. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST), pages 139-154, 2012.
[22]
W. D. Norcott and D. Capps. Iozone filesystem benchmark. URL: www.iozone.org, 55, 2003.
[23]
Y. Oh, E. Kim, J. Choi, D. Lee, and S. H. Noh. Optimizations of LFS with slack space recycling and lazy indirect block update. In Proceedings of the Annual Haifa Experimental Systems Conference, page 2, 2010.
[24]
C. Park, W. Cheon, J. Kang, K. Roh, W. Cho, and J.-S. Kim. A reconfigurable FTL (flash translation layer) architecture for NAND flash-based applications. ACM Transactions on Embedded Computing Systems (TECS), 7(4):38, 2008.
[25]
S. Qiu and A. L. N. Reddy. NVMFS: A hybrid file system for improving random write in nand-flash SSD. In IEEE 29th Symposium on Mass Storage Systems and Technologies, MSST 2013, May 6-10, 2013, Long Beach, CA, USA, pages 1-5, 2013.
[26]
O. Rodeh, J. Bacik, and C. Mason. Btrfs: The linux b-tree filesystem. ACM Transactions on Storage (TOS), 9(3):9, 2013.
[27]
M. Rosenblum and J. K. Ousterhout. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems (TOCS), 10(1):26-52, 1992.
[28]
J. Wang and Y. Hu. WOLF: A novel reordering write buffer to boost the performance of log-structured file systems. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST), pages 47-60, 2002.
[29]
W. Wang, Y. Zhao, and R. Bunt. Hylog: A high performance approach to managing disk layout. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST), pages 144-158, 2004.
[30]
J. Wilkes, R. Golding, C. Staelin, and T. Sullivan. The HP AutoRAID hierarchical storage system. ACM Transactions on Computer Systems (TOCS), 14(1):108-136, 1996.
[31]
D. Woodhouse. JFFS: The journaling flash file system. In Proceedings of the Ottawa Linux Symposium, 2001.

Cited By

View all
  • (2024)MetisProceedings of the 22nd USENIX Conference on File and Storage Technologies10.5555/3650697.3650705(123-140)Online publication date: 27-Feb-2024
  • (2024)BIZA: Design of Self-Governing Block-Interface ZNS AFA for Endurance and PerformanceProceedings of the ACM SIGOPS 30th Symposium on Operating Systems Principles10.1145/3694715.3695953(313-329)Online publication date: 4-Nov-2024
  • (2024)Design and Implementation of Deduplication on F2FSACM Transactions on Storage10.1145/366273520:4(1-50)Online publication date: 29-Apr-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
FAST'15: Proceedings of the 13th USENIX Conference on File and Storage Technologies
February 2015
386 pages
ISBN:9781931971201

Sponsors

  • USENIX Assoc: USENIX Assoc

In-Cooperation

Publisher

USENIX Association

United States

Publication History

Published: 16 February 2015

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)MetisProceedings of the 22nd USENIX Conference on File and Storage Technologies10.5555/3650697.3650705(123-140)Online publication date: 27-Feb-2024
  • (2024)BIZA: Design of Self-Governing Block-Interface ZNS AFA for Endurance and PerformanceProceedings of the ACM SIGOPS 30th Symposium on Operating Systems Principles10.1145/3694715.3695953(313-329)Online publication date: 4-Nov-2024
  • (2024)Design and Implementation of Deduplication on F2FSACM Transactions on Storage10.1145/366273520:4(1-50)Online publication date: 29-Apr-2024
  • (2024)Can ZNS SSDs be Better Storage Devices for Persistent Cache?Proceedings of the 16th ACM Workshop on Hot Topics in Storage and File Systems10.1145/3655038.3665946(55-62)Online publication date: 8-Jul-2024
  • (2024)LazyBarrier: Reconstructing Android IO Stack for Barrier-Enabled Flash StorageProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640370(601-615)Online publication date: 27-Apr-2024
  • (2024)CrossPrefetch: Accelerating I/O Prefetching for Modern StorageProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 110.1145/3617232.3624872(102-116)Online publication date: 27-Apr-2024
  • (2023)FlashAlloc: Dedicating Flash Blocks by ObjectsProceedings of the VLDB Endowment10.14778/3611479.361152416:11(3266-3278)Online publication date: 24-Aug-2023
  • (2023)The Security War in File Systems: An Empirical Study from A Vulnerability-centric PerspectiveACM Transactions on Storage10.1145/360602019:4(1-26)Online publication date: 3-Oct-2023
  • (2023)zCeph: Achieving High Performance On Storage System Using Small Zoned ZNS SSDProceedings of the 38th ACM/SIGAPP Symposium on Applied Computing10.1145/3555776.3577758(1342-1351)Online publication date: 27-Mar-2023
  • (2022)When F2FS meets address remappingProceedings of the 14th ACM Workshop on Hot Topics in Storage and File Systems10.1145/3538643.3539755(31-36)Online publication date: 27-Jun-2022
  • Show More Cited By

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media