Which file system does Android use? I have read both ext4 and YAFFS2.
Android originally used YAFFS2
as the file system. After Android 2.3, the file system became ext4
.
YAFFS2
is usually used for NAND
flash in embedded systems such as mobile phones. It includes wear-leveling and a GC mechanism
specifically for NAND
flash, but it is only single-threaded.
According to an ARS Technica article, the reason that Android switched to ext4
from YAFFS2
for its file system is because YAFFS2
is single-threaded, and "would likely have been a bottleneck on dual-core systems." Android, even back in 2010 was looking forward when many cores could be used in Smartphones. Looking back, it was obvious that this was the right decision. Smartphones went to Dual Core around the time of Galaxy S2
. More recently most Smart Phones are released in Quad-Core configuration, with 6 and 8 core configurations on the horizon.