LOFFS: A Low-Overhead File System for Large Flash Memory on Embedded Devices

Emerging applications like machine learning in embedded devices (e.g., satellite and vehicles) require huge storage space, which recently stimulates the widespread deployment of large-capacity flash memory in IoT devices. However, existing embedded file systems fall short in managing large-capacity storage efficiently for excessive memory consumption and poor booting performance. In this paper, we propose a novel embedded file system, LOFFS, to tackle the above issues and manage large-capacity NAND flash on resource-limited embedded devices. We redesign the space management mechanisms and construct hybrid file structures to achieve high performance with minimum resource occupation. We have implemented LOFFS in Linux, and the experimental results show that LOFFS outperforms YAFFS by 55.8% on average with orders of magnitude reductions on memory footprint.

[1]  Javier González,et al.  LightNVM: The Linux Open-Channel SSD Subsystem , 2017, FAST.

[2]  Jin-Soo Kim,et al.  FlashLight , 2012, ACM Trans. Embed. Comput. Syst..

[3]  Chao Wu,et al.  Lightweight Data Compression for Mobile Flash Storage , 2017, TECS.

[4]  Sivan Toledo,et al.  NANDFS: a flexible flash file system for RAM-constrained systems , 2009, EMSOFT '09.

[5]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[6]  Bianca Schroeder,et al.  Evaluating File System Reliability on Solid State Drives , 2019, USENIX Annual Technical Conference.

[7]  Philip Levis,et al.  The nesC language: a holistic approach to networked embedded systems , 2003, SIGP.

[8]  David Woodhouse,et al.  JFFS : The Journalling Flash File System , 2001 .

[9]  Chao Chen,et al.  TripImputor: Real-Time Imputing Taxi Trip Purpose Leveraging Multi-Sourced Urban Data , 2018, IEEE Transactions on Intelligent Transportation Systems.

[10]  Youyou Lu,et al.  FlashKV: Accelerating KV Performance with Open-Channel SSDs , 2017, ACM Trans. Embed. Comput. Syst..

[11]  Ethan L. Miller,et al.  Adding aggressive error correction to a high-performance compressing flash file system , 2009, EMSOFT '09.

[12]  Sertac Karaman,et al.  The Blackbird Dataset: A large-scale dataset for UAV perception in aggressive flight , 2018, ISER.

[13]  Wei Wang,et al.  ReconFS: a reconstructable file system on flash storage , 2014, FAST.

[14]  Joo Young Hwang,et al.  F2FS: A New File System for Flash Storage , 2015, FAST.

[15]  Joonwon Lee,et al.  ScaleFFS: A scalable log-structured flash file system for mobile multimedia systems , 2008, TOMCCAP.

[16]  Yang Li,et al.  Non-Volatile Memory Based Page Swapping for Building High-Performance Mobile Devices , 2017, IEEE Transactions on Computers.

[17]  Jörn Engel,et al.  LogFS-finally a scalable flash file system , 2005 .

[18]  Yue Xu,et al.  Tumbler: Energy Efficient Task Scheduling for Dual-Channel Solar-Powered Sensor Nodes , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[19]  Sivan Toledo,et al.  A Transactional Flash File System for Microcontrollers , 2005, USENIX Annual Technical Conference, General Track.

[20]  Michael Neufeld,et al.  ELF: an efficient log-structured flash file system for micro sensor nodes , 2004, SenSys '04.

[21]  Haibo Chen,et al.  Performance and protection in the ZoFS user-space NVM file system , 2019, SOSP.

[22]  Peter I. Corke,et al.  Data collection, storage, and retrieval with an underwater sensor network , 2005, SenSys '05.

[23]  Philip Levis,et al.  Multiprogramming a 64kB Computer Safely and Efficiently , 2017, SOSP.

[24]  Tei-Wei Kuo,et al.  Rethinking I/O request management over eMMC-based solid-state drives , 2015, RACS.