最近,由于某些手机混用eMMC和UFS闪存,因此关于手机闪存的话题,关注度一下子飙高。和UFS闪存相比,eMMC的性能更弱,同一型号的手机混用这两种规格的闪存,让一些消费者感到了不满。对此,厂商称通过优化eMMC的产品也可以获得优秀的体验。这个优化到底是怎么回事?根据以往的一些宣传,可以推断出是由于手机闪存使用了更先进的文件系统——F2FS。
手机的闪存越来越引人关注
对于手机闪存的文件系统很多朋友或许并不太关注,但在使用上不可避免地会感受到不同文件系统之间的区别。最直观的莫过于兼容问题,例如NTFS文件系统的硬盘插到Mac电脑中无法写入,WinXP无法辨别exFAT文件系统等等。为什么手机闪存会选择不同的文件系统?一个优秀的手机闪存文件系统真的能把eMMC优化成UFS吗?今天就一起来谈谈这问题吧!
文件系统有啥用?
我们知道,在使用硬盘、U盘等储存器之前需要进行格式化,而格式化的时候会看到有很多文件系统可以选择。例如,在Win系统下可以把格式化为NTFS、FAT32等等;在Linux下可以格式化为Ext3、Ext4等等;在macOS中可以格式化为HFS+、APFS等等。这些不同的文件系统都有着一个共同的作用,那就是组织起储存器上的数据让操作系统和用户更容易辨认和操作。
格式化的时候,就可以看到不同的文件系统
例如,在HDD硬盘上数据是由扇区来储存的。什么是扇区?HDD的盘片是一个同心圆,把圆分成一个个小小的扇形,数据在这些扇形中储存,这些扇形就被称之为扇区。扇区储存着数据,但是操作系统并不会直接让用户访问一个个扇区,辨认不同的扇区靠的是物理地址,作为一个用户,面对着“01DE”“02FD”这样的物理地址,压根就无从下手。
硬盘盘片上的扇区
要把扇区组织起来变成用户易于理解的各种文件、文件夹,就得文件系统来发挥作用了。不同的操作系统组织数据的方式各不相同,于是就诞生了各种各样的文件系统。
这些不同的文件系统,特性也不尽相同,而且还有这优劣之分。例如大家非常熟悉的FAT32和NTFS,NTFS就明显要比FAT32更加先进FAT32无法建立起2T以上的分区、储存4G以上的文件,而NTFS则可以轻松做到;在安全方面,NTFS支持文件加密、权限控制等特性,还支持日志,而FAT32则都不支持。另外,在性能方面,NTFS对FAT32也是有着明显优势。因此,如果文件系统更先进,的确可以把手机闪存“优化”得更上一个档次。
专为闪存而生的文件系统F2FS
文件系统的选择是有讲究的。例如在大容量硬盘流行、注重安全性的今天,在Win系统中使用的硬盘基本都会格式化成NTFS;而为了寿命和兼容性的考虑(NTFS的日志会请求更多读写,对闪存寿命不利),U盘、存储卡又往往格式化成为FAT32。安卓手机闪存又普遍使用什么文件系统呢?我们知道安卓基于Linux,因此也继承了Linux的很多特性,大多数安卓手机闪存都跟随了Linux的主流文件系统,格式化成为了Ext4。
安卓一般使用的是Ext4文件系统
Ext4是一种很优秀的文件系统,它支持无限子目录、多块分配、日志记录等先进特性。不过,它是否适合手机?还真不一定。Ext4在2006年首次出现,当时的储存介质普遍还是HDD。而现在安卓机使用的都是手机闪存,Ext4并没有针对手机闪存作太多的优化。
HDD和手机闪存的结构天差地别,数据的组织也并不一样。在物理结构上,手机闪存并不存在扇区,因此需要经由FTL层来模拟HDD的扇区以实现对文件系统的兼容。加上文件系统没有对手机闪存作什么优化,所以效率会受到影响。那么有没有为手机闪存作优化的文件系统?F2FS便是了。
闪存结构和HDD不同,需要FTL层和文件系统对话
F2FS文件系统的全称是“Flash Friendly File System”,看名字就知道,这是专门为手机闪存而生的文件系统。这个文件系统来自三星,在2012年底被Linux内核所支持,自然也能够用于安卓机上。F2FS的确做了很多针对手机闪存的优化,最重要的就是基于手机闪存的块来进行读写,小文件的随机读写性能大大提高。
一些产品已经使用了专为闪存而生的F2FS文件系统
由于F2FS对手机闪存有优化,而安卓机又使用闪存作为存储介质,所以得到了一些手机厂商和玩家的青睐。目前已经有一些ROM支持/使用了F2FS,例如刷机玩家很熟悉的CM/LinegeOS,华为部分机型的EMUI,以及魅族部分机型的Flyme等等。某些厂商没有使用UFS手机闪存而是使用了eMMC,但同时使用了F2FS,通过文件系统来提升读写性能,这或许就是“eMMC优化成UFS”这观点的由来。
eMMC真能优化成UFS?
那么eMMC使用F2FS,到底能不能获得和UFS同等的性能?这里为大家提供一些测试数据,分别是eMMC 5.1、UFS 2.1两种手机闪存,Ext4、F2FS两种文件系统不同的组合。注意,除了手机闪存类型和文件系统,测试数据还会受到手机闪存颗粒优劣、加密算法是否开启、测试时闪存是否覆盖写入等因素的影响,数据仅供参考。
可以看到,F2FS的确比Ext4性能更高,甚至能让eMMC 5.1在随机写入性能超过UFS 2.1。不过,在持续读写速度方面,UFS 2.1仍要遥遥领先。而USF 2.1配合F2FS,取得了非常理想的测试成绩,在随机写入方面甚至能十倍于采用Ext 4的UFS 2.1。无论是eMMC还是UFS,换用后F2FS,都有明显提升,而UFS换用F2FS的提升幅度更大,性能表现更加完美。
那能不能说F2FS能让eMMC优化成UFS?这要分开不同方面看。在随机读写性能方面,使用F2FS的eMMC的确可以媲美Ext4的UFS。这个性能对App的开启速度很重要,某些使用F2FS的eMMC安卓机在App开启速度方面,就因此不输使用UFS的竞品机型。但是,eMMC的物理瓶颈,是无法依靠F2FS来补全的——eMMC持续读写速度慢,而且是半双工,每通道同一时间只能读数据或者写数据,不能同时读写。在复杂的应用环境下,eMMC依然会是瓶颈。因此,UFS搭配F2FS,才是最完美的性能方案。
UFS支持全双工,硬件规格更高
尽管F2FS性能很高,但目前使用F2FS的设备不多,甚至连三星自己也没在安卓机中使用。这是因为F2FS还存在一些争议,有观点认为它会缩短闪存的寿命,摩托罗拉某些机型使用过F2FS,一段时间后性能大幅下滑。或许某些厂商找到了比较好的解决方案,才毅然使用F2FS吧!
尽管性能更高,但大部分厂商尚未推行F2FS,刷机玩家可以在TWRP Recovery中手动转换
总结
无论如何UFS从硬件规格上明显优于eMMC,eMMC使用F2FS后或许能在某些方面胜过使用Ext4的UFS,但仍不能掩盖硬件规格更低的事实。UFS可以换用F2FS,eMMC却是变不了UFS的。目前同时使用UFS和F2FS的设备不多,如果很看重手机闪存性能,那还是UFS更值得选购,无论用的是Ext4还是F2FS文件系统。
|