Compared to UFS flash storage, eMMC has weaker performance. The mixed use of these two types of flash storage in the same model of phone has left some consumers dissatisfied. In response, manufacturers claim that through optimization, eMMC products can also provide an excellent experience. What exactly does this optimization entail? Based on previous promotions, it can be inferred that it is due to the use of a more advanced file system – F2FS.
Many friends may not pay much attention to the file system of the storage device. However, in practical use, one inevitably feels the differences between various file systems – the most intuitive being compatibility issues, such as an NTFS formatted hard drive being unable to write when plugged into a Mac, or Windows XP being unable to recognize exFAT file systems, etc. Why do storage devices choose different file systems? Can a superior file system really optimize eMMC to the level of UFS? Let’s discuss this issue together today.
What Is the Use of File Systems?
We know that before using hard drives, USB drives, and other storage devices, they need to be formatted. During formatting, many file systems can be chosen. For example, in Windows, you can format to NTFS, FAT32, etc.; in Linux, you can format to Ext3, Ext4, etc.; and in macOS, you can format to HFS+, APFS, etc. These different file systems all share a common purpose: to organize the data on the storage device, making it easier for the operating system and users to recognize and manipulate.
For example, on HDDs, data is stored in sectors. What are sectors? The platters of an HDD are concentric circles, which are divided into small sectors, where data is stored. These sectors hold data, but the operating system does not directly allow users to access each sector – recognizing different sectors relies on physical addresses. As a user, facing physical addresses like “01DE” or “02FD” is completely unhelpful. When searching for content, people usually look in folders named after the content rather than searching for sector addresses.
To organize sectors into various files and folders that users can easily understand, the file system plays a crucial role. We know that organizing a dance performance with dozens of people can be complex, let alone organizing countless sectors. Different operating systems organize data in various ways, giving rise to a multitude of file systems.
These different file systems also have distinct characteristics, with some being better than others. For example, everyone is familiar with FAT32 and NTFS; NTFS is clearly more advanced than FAT32 – FAT32 cannot create partitions larger than 2TB or store files larger than 4GB, while NTFS can easily do both. Additionally, in terms of security, NTFS supports file encryption, permission control, and journaling, while FAT32 does not. Moreover, NTFS also has a significant performance advantage over FAT32. Therefore, if the file system is more advanced, it can indeed “optimize” the storage device to a higher level.
F2FS: A File System Born for Flash Storage
The choice of file system is significant. For example, in today’s world where large-capacity hard drives are popular and security is emphasized, hard drives used in Windows systems are typically formatted as NTFS. However, for longevity and compatibility (since NTFS journaling leads to more read/write requests, which is detrimental to flash memory lifespan), USB drives and memory cards are often formatted as FAT32. What file system is commonly used in Android phones? We know that Android is based on Linux, thus inheriting many of Linux’s characteristics, and most Android devices’ flash storage follows Linux’s mainstream file system, formatted as Ext4.
Ext4 is an excellent file system that supports unlimited subdirectories, multi-block allocation, journaling, and other advanced features. However, is it suitable for mobile phones? Not necessarily. Ext4 first appeared in 2006, when storage media were predominantly HDDs. Now, Android devices use flash storage, and Ext4 has not been optimized much for flash.
The physical structures of HDDs and flash storage are vastly different, and data organization is also dissimilar. In terms of physical structure, flash storage does not have sectors, so it requires an FTL layer to simulate HDD sectors to achieve compatibility with file systems. Since the file system has not been optimized for flash, efficiency can be affected. So, is there a file system optimized for flash? Yes, F2FS is.
The full name of the F2FS file system is “Flash Friendly File System”; as the name suggests, this file system is specifically designed for flash storage. This file system comes from Samsung and was supported by the Linux kernel at the end of 2012, and naturally, it can be used on Android devices. F2FS has indeed made many optimizations for flash, the most important of which is reading and writing based on flash blocks, significantly improving the random read/write performance of small files.
Can eMMC Really Be Optimized to UFS?
So, can eMMC using F2FS achieve performance comparable to UFS? Here, we provide some test data comparing eMMC 5.1 and UFS 2.1 flash storage with different combinations of Ext4 and F2FS file systems. Note that besides the type of flash and file system, test data can also be influenced by factors such as the quality of flash chips, whether encryption algorithms are enabled, and whether the flash was overwritten during testing; thus, the data is for reference only.
It can be seen that F2FS does indeed outperform Ext4, allowing eMMC 5.1 to exceed UFS 2.1 in random write performance. However, in terms of sustained read/write speed, UFS 2.1 still leads significantly. UFS 2.1 paired with F2FS achieves very ideal test results, with random write performance even ten times that of UFS 2.1 using Ext4. Whether for eMMC or UFS, switching to F2FS results in significant improvements, with the performance boost being even greater for UFS when using F2FS.
Can we say that F2FS can optimize eMMC to UFS? This needs to be viewed from different aspects. In terms of random read/write performance, eMMC using F2FS can indeed compete with UFS using Ext4.
This performance is crucial for app launch speeds; some Android devices using F2FS on eMMC have comparable app launch speeds to those using UFS in competing models. However, the physical bottleneck of eMMC cannot be compensated for by F2FS – eMMC has slow sustained read/write speeds and operates in half-duplex mode, meaning it can only read or write data at any given time, not both simultaneously. In complex application environments, eMMC will still be a bottleneck. Therefore, UFS paired with F2FS is the optimal performance solution.
Nonetheless, despite F2FS’s high performance, currently, there are not many devices using F2FS – even Samsung itself has not adopted it in Android devices. This is because F2FS still has some controversies; some argue that it may shorten the lifespan of flash storage. Certain Motorola models that used F2FS experienced significant performance degradation after a period of time.
Regardless, UFS clearly outperforms eMMC in hardware specifications. While eMMC using F2FS may surpass UFS using Ext4 in some aspects, it cannot conceal the fact that it has lower hardware specifications – UFS can switch to F2FS, but eMMC cannot become UFS. Currently, there are not many devices using both UFS and F2FS; if flash performance is a significant concern, UFS is still the better choice, regardless of whether it uses Ext4 or F2FS file systems.
Source: PConline