切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 2672阅读
  • 10回复

[综合]eMMC真能优化成UFS?谈谈手机闪存的文件系统 [复制链接]

上一主题 下一主题
离线waban2006
 

发帖
6358
M币
16617
专家
0
粉丝
58
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2017-07-14
和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在2006年首次出现,当时的储存介质普遍还是HDD。而现在安卓机使用的都是闪存,Ext4并没有针对闪存作太多的优化。
HDD和闪存的结构天差地别,数据的组织也并不一样。在物理结构上,闪存并不存在扇区,因此需要经由FTL层来模拟HDD的扇区以实现对文件系统的兼容。加上文件系统没有对闪存作什么优化,所以效率会受到影响。那么有没有为闪存作优化的文件系统?F2FS便是了。
[url=http://img1.mydrivers.com/img/20170714/0a10f2b2d3144995805de2f79280b78e.png][/url]

F2FS文件系统的全称是“Flash Friendly FileSystem”,看名字就知道,这是专门为闪存而生的文件系统。这个文件系统来自三星,在2012年底被Linux内核所支持,自然也能够用于安卓机上。F2FS的确做了很多针对闪存的优化,最重要的就是基于闪存的块来进行读写,小文件的随机读写性能大大提高。
eMMC真能优化成UFS?
那么eMMC使用F2FS,到底能不能获得和UFS同等的性能?这里为大家提供一些测试数据,分别是eMMC 5.1、UFS2.1两种闪存,Ext4、F2FS两种文件系统不同的组合。注意,除了闪存类型和文件系统,测试数据还会受到闪存颗粒优劣、加密算法是否开启、测试时闪存是否覆盖写入等因素的影响,数据仅供参考。
可以看到,F2FS的确比Ext4性能更高,甚至能让eMMC 5.1在随机写入性能超过UFS 2.1。不过,在持续读写速度方面,UFS2.1仍要遥遥领先。而USF 2.1配合F2FS,取得了非常理想的测试成绩,在随机写入方面甚至能十倍于采用Ext 4的UFS2.1。无论是eMMC还是UFS,换用后F2FS,都有明显提升,而UFS换用F2FS的提升幅度更大,性能表现更加完美。
那能不能说F2FS能让eMMC优化成UFS?这要分开不同方面看。在随机读写性能方面,使用F2FS的eMMC的确可以媲美Ext4的UFS。
这个性能对App的开启速度很重要,某些使用F2FS的eMMC安卓机在App开启速度方面,就因此不输使用UFS的竞品机型。但是,eMMC的物理瓶颈,是无法依靠F2FS来补全的——eMMC持续读写速度慢,而且是半双工,每通道同一时间只能读数据或者写数据,不能同时读写。在复杂的应用环境下,eMMC依然会是瓶颈。因此,UFS搭配F2FS,才是最完美的性能方案。
不过,尽管F2FS性能很高,但目前使用F2FS的设备不多——甚至连三星自己也没在安卓机中使用。这是因为F2FS还存在一些争议,有观点认为它会缩短闪存的寿命,摩托罗拉某些机型使用过F2FS,一段时间后性能大幅下滑。
无论如何,UFS从硬件规格上,明显优于eMMC。eMMC使用F2FS后,或许能在某些方面胜过使用Ext4的UFS,但仍不能掩盖硬件规格更低的事实——UFS可以换用F2FS,eMMC却是变不了UFS的。目前同时使用UFS和F2FS的设备不多,如果很看重闪存性能,那还是UFS更值得选购——无论用的是Ext4还是F2FS文件系统
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
关键词: eMMCUFS闪存
离线rtfm

发帖
12658
M币
-2384
专家
3
粉丝
48
只看该作者 1楼 发表于: 2017-07-14
请登录后查看
离线blueflash

发帖
3267
M币
609
专家
4
粉丝
30
只看该作者 2楼 发表于: 2017-07-14
请登录后查看
离线wang52510

发帖
1649
M币
78
专家
53
粉丝
44
只看该作者 3楼 发表于: 2017-07-14
请登录后查看
离线zgzsx

发帖
12939
M币
1830
专家
0
粉丝
10
只看该作者 4楼 发表于: 2017-07-14
请登录后查看
离线zhongjb

发帖
484
M币
197
专家
1
粉丝
10
只看该作者 5楼 发表于: 2017-07-14
请登录后查看
离线527945545

发帖
3550
M币
274
专家
2
粉丝
105
只看该作者 6楼 发表于: 2017-07-14
请登录后查看
离线墨雨

发帖
7421
M币
2343
专家
2
粉丝
152
只看该作者 7楼 发表于: 2017-07-14
请登录后查看
离线qja1111
发帖
479
M币
3
专家
1
粉丝
9
只看该作者 8楼 发表于: 2017-07-14
请登录后查看
离线930275107

发帖
295
M币
-187
专家
1
粉丝
6
只看该作者 9楼 发表于: 2017-07-14
请登录后查看
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
 
上一个 下一个