F2FS是针对NAND快闪记忆体的文件系统,对小文件读写速度的提升帮助很大。既然现在手机上都是NAND快闪记忆体,为什么其他手机厂商不跟进这一技术,难道是华为申请了专利?


首先,网上明确说了f2fs是三星develop的,华为应该只是代码贡献。这也是为啥现在华为自己做了erofs,自己用的原因,毕竟f2fs还不全是自己的。

因为之前只了解ssd,大体上ssd分成两层,一层是上层系统的ntfs或者ext4,一层是ftl。现在的手机用的快闪记忆体和ssd原理相同,但是ftl没有ssd那么强大,应该是ufs或者emmc控制器带的。

ext4格式是08年的东西,本质上和ntfs一样。由于pc的ssd有强大的主控,甚至是arm核心的主控,所以ext4或者ntfs在电脑上带来的问题比在手机上推断要少一些。

由于手机没有那么强的主控,所以ftl是emmc控制器或者ufs控制器实现的。例如pc上ssd,1tb甚至可以配1gb ram来做cache和储存ftl,但128g的手机恐怕emmc控制器无法集成128mb ram,所以可以推测用的是块级别映射的类似bast或者fast演算法的ftl设计。

现在f2fs大概是考虑到这方面的问题,所以可以带来提升。详细的内容暂时我不深入了,但是指控f2fs降低寿命恐怕站不住脚——写入速度越慢证明内部操作越多,越快一般意味著内部操作更少。

至于详细机制,我有空深入研究一下写一下。

至于为什么别的厂商不用,对于没有研发能力的厂商来说纯属正常,但是为何三星没有用,还需要看,毕竟众所周知三星自己做flash,也自己做ssd主控,应该不缺乏技术。我个人推测是兼容性问题——三星可能直接在ufs层面做匹配ext4的优化,那么没有必要使用f2fs。

至于小米这种公司,自己没用f2fs时科普缺点,用了之后科普性能。我个人根据自己的知识推断说f2fs影响寿命应该是为了黑而黑,这种联合上层os的fs和下层ftl的优化商业级产品很常见,很多年前的fusion io就直接做了包含ftl的fs来直接操作nand裸片,用于作为硬碟和内存的中间层级,京东是他们的客户。

fs带来的兼容性问题,大家在fat32到ntfs是应该遇到过,我的黑苹果台式机用hfsplus经常挂分区,后来升级apfs就没这个问题。

传统fs一般是针对机械硬碟设计的,估计除了apfs可能考虑ssd更多以外,ntfs和ext系统在其发布之时,ssd恐怕还是用的ram加电池的昂贵做法。其最初的架构设计完全不可能预测到ssd和nand的读写特点。

未来展望一下的话,英特尔的3d xpoint就不需要ftl,实现了按bit读写。倘若这种nand技术得到广泛应用,未来的手机也不需要f2fs。

至于为什么有研发能力的厂子例如三星不用,估计可能是考虑到兼容性问题,毕竟不同fs就连文件名长度和文件最大路径长度都不一致(例如部分hfs的文件夹复制到ntfs后会有路径过场无法删除的问题),三星又不怕别人卡ufs,所以不需要。华为是有自己的存储业务的,并且业内也算有名。至于没有研发能力的厂商,就只能跟进友商铺开之后,确定友商用了没问题,才敢自己用。毕竟从英文全称flash friendly file system来看,不大可能会伤寿命,应该是属于友商章口就来。


中兴已经跟进了,看来中兴要放大招了!!!

最新天机AXON 10Pro(双曲屏)

漂亮的外观

高端的定位

3000左右实惠的价格

号称20个月不卡

F2FS文件系统

大禹编译器

大家是不是有种很熟悉的感觉(就缺一个晶元了)


其他的不清楚,目前的发展不清楚。仅凭个人经历说明。

我只知道在两年前F2FS的可靠性还是不怎么样的。当时用的一加一,没事就刷机玩。经常逛XDA论坛所以知道F2FS只需要内核支持就行了,想用就去刷支持的内核。我也确实刷过。只给data分区用F2FS没出过什么问题,但是一旦system分区也用F2FS就会出现无故死机然后强制关机后系统无法启动的问题。当时就猜测F2FS格式有BUG啥的。网上的各种文章和各个手机厂商的实践也证明了这一点。我敢肯定HW不是第一个用F2FS的厂商。在HW之前就有很多厂商在data分区采用F2FS格式了。但是在system分区用F2FS格式HW可能是第一个(或许第二,还有个星星星)。个人猜测可能是HW根据F2FS的特点修改了系统或者内核,以更好的支援F2FS,或者HW纯粹就是大胆?


因为其他公司没有文件系统的专家

这不是说F2FS很复杂,或是一定要专家才能转用文件系统,问题是其他厂商还是商业机构,大部分还是等于PC组装厂的级数。要他们在实际产品上用一样还未确保没问题,还可能要自己去开发的东西?产品经理放过你,老板也不会

实际例子:F2FS以前的垃圾回收令一加3T变慢,结果5T用回ext4。以前的F2FS也不支援援硬体加密,也没有fsck 这些都要工程师处理,也会做成产品可能延迟发售

华为会用,因为聘了开发这东西的人;Google会用,因为那个人到Google工作了;其他厂商不会用,因为不用这东西去弄最简可行产品

要他们用一个他们不熟悉的东西,只有三个可能:

  1. 有人背书,比如Google,或是微软
  2. 没有其他选择
  3. 出事的问题不大

F2FS正好三项都不符合(AOSP在Android 9才在定义里提到F2FS,EXT4从2008已经广泛被用,文件系统出广泛问题也不用再卖手机了)


Pixel3跟进了,后续安卓机应该都会跟上。

刚看到新闻,特意上来打华黑的脸。


推荐阅读:
相关文章