An Empirical Study of F2FS on Mobile Devices
Yu Liang
1
, Chenchen Fu
1
, Yajuan Du
1
, Aosong Deng
2
, Mengying Zhao
3
, Liang Shi
2
, and Chun Jason Xue
1
1
Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong
2
College of Computer Science, Chongqing University, Chongqing, China
3
College of Computer Science, ShanDong University, Shandong, China
Abstract—Flash Friendly File System (F2FS) is getting pop-
ular among mobile devices. However, lack of empirical and
comprehensive analysis for characteristics of F2FS prohibits
better application of F2FS. In this paper, we present a set
of comprehensive experimental studies on mobile devices and
show several counterintuitive observations on F2FS, including
imprecise hot/cold data separation, unexpected trigger condition
of background GC, impact of fragmentation on read performance
and impact of readahead by fragments and available space. Based
on these observations, we further provide several pilot solutions
to improve the performance of these mobile devices. The objective
is to inspire researchers and users to pay attention to F2FS
characteristics, and further optimize its performance.
Index Terms—F2FS; Fragmentation; Readahead; Hot/Cold
Data Separation; Background GC.
I. INTRODUCTION
Flash Friendly File System (F2FS) has become one of the
default file systems in Linux kernel since version 3.8. Because
of the good performance and flash friendly characteristics such
as hot/cold data separation for improving Garbage Collection
(GC) performance of flash devices, F2FS is popular among
manufacturers and consumers. Up to now, there are 11 models
of mobile devices utilizing this file system, including Moto
Z, Huawei Mate9, Google Nexus9, etc, as listed in Table
I. Some devices use ext4 file system, but they support the
transformation from ext4 to F2FS, such as Nexus6p, Oneplus
One, etc.
Existing works aim at solving a specific problem related to
F2FS characteristics. Park et al. [1] presented the fragmenta-
tion phenomenon of F2FS and provided a defragmentation
method during GC. Park et al. [2] discussed the conflicts
between sleep mode and background GC and further proposed
a background GC scheme to solve this problem. Generally
speaking, there are two challenges to perform a comprehen-
sive analysis on F2FS. First, there are no cross-layer tools
to perform a systematic analysis. A systematic study needs
to collect information from virtual file system (VFS) layer,
file system layer and page cache. Second, a comprehensive
analysis of F2FS characteristics should consider the impact on
other layers of Linux kernel and the overall performance of
mobile system. To the best of our knowledge, there is currently
no empirical and comprehensive study to present all important
characteristics of F2FS, which limits further improvement of
F2FS-based mobile systems.
This paper presents a set of empirical and comprehensive
studies on several characteristics of F2FS. Linux kernel is
TABLE I
THE MANUFACTURE DATE OF MOBILE DEVICES WITH F2FS. [3]
Mobile devices with F2FS Manufacture Date
Huawei Mate9 2016
Huawei P9 2016
Huawei Honor 8/V8 2016
Oneplus 3T 2016
Moto Z 2016
Moto E LTE 2015
Google Nexus9 2014
Moto X family 2013/2014/2015
Moto G family 2013/2014
Motorola Droid family 2013
Moto MSM8960 JBBL devices 2012
annotated and recompiled to gather the information needed
for this study. For example, to draw the read patterns of
applications, we collect the ino, index and size of every read
operation in VFS layer. To figure out the details of F2FS
characteristics, we print the information from file system layer.
In this way, real and correct data can be collected from the
mobile devices. From the experimental results, we identify
four main observations about F2FS:
• The default definition of data hotness is imprecise. For
example, the experimental results show that in cold data
type, there are some data with high update frequency.
This definition may bring negative impact on GC perfor-
mance of flash devices;
• The trigger condition of background GC of F2FS be-
comes limited when sleep scheme is introduced into
mobile devices. This may result in an unexpected cost
of foreground GC for reclaiming space, and degraded
performance of mobile devices;
• The fragmentation of F2FS is severer with increased num-
ber of write operations. The sequential read performance
will be degraded by fragments;
• F2FS cannot fully utilize the advantage of the readahead
technique because the hit ratio of readahead is largely
degraded by fragments and GC operations in F2FS.
Based on these observations, this paper further proposes
several pilot solutions for existing problems. The objective
is to inspire researchers and practitioners to pay attention to
these F2FS characteristics which may result in performance
degradation.
The rest of this paper is organized as follows. Section II
describes an overview of Android I/O stack and background
of F2FS. Section III to Section VI present and analyze four978-1-5386-1898-1/17/$31.00
c
2017 IEEE