F2FS文件系统既然被华为证实很好用,其他厂商为何不跟进?
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(双曲屏)