"文件系统"是存储和组织数据的方法,可以笼统理解为文件存放的"格式"。在 windows 平台大家比较常见的是 FAT16/32、NTFS,在 Linux 平台的文件系统类型就很多了,EXT2、EXT3、EXT4、NFS、SMB 都有。而现在安卓阵营普遍使用的文件系统是 EXT4,正在有向 F2FS 转变的趋势。
F2FS(Flash Friendly File System,直译为闪存友好型文件系统)最早是三星电子的金载极设计给 Linux 内核的系统使用的,其具体提升在优化引索速度,提升小文件传输速度,大幅提升随机读写性能,但现在有空间占用稍大和轻微的兼容性问题。
伴随着该技术的工程师从三星跳槽到摩托罗拉,最后跳到了华为,这个技术也先后在 Moto 和华为 / 荣耀的机型上大规模使用。最早在 2013 年的 Moto X 上,已经使用了 F2FS 文件系统(当年的 moto 确实很有前瞻性)。但比较特殊的是,三星手机的官方系统,反而还在使用传统的 EXT4 文件系统,而一加 3T 的官方系统已经在用 F2FS 了。
比起厂家,第三方开发者就要热心很多了,2014 年已经有 XDA 的玩家把 F2FS 文件系统用在索尼 Xperia Z1 的第三方内核上了,CM13 以上的系统和很多第三方 ROM 都已经在用 F2FS 了。
F2FS 作为一个软件技术,它最感人的地方在于,它不但可以用在 UFS 上,也可以用在性能孱弱、已经"过气"的 eMMC 上,大幅提升随机读写性能,老旧机型也能因此受益。想体验新文件系统的老机型用户,可以通过 TWRP recovery 进行手动转换。
结果汇总
这里 6 部机型中,最新的三星 S8+ 和小米 6 确认是采用了 UFS 2.1 闪存。年纪"最老"的一加 3T,是唯一采用 HS-G3 单通道闪存的产品。但注意,这里的华为 P10、荣耀 V9 和一加 3T 都使用了 F2FS 文件系统(从三星内部人员消息得知,同系列的 KLUCG4J1EB-B0B1 是 64G 的 UFS 2.1,KLUDG8J1EB-B0B1 很可能就是 UFS 2.1)。
虽然 F2FS 文件系统会有一定的加成,但在顺序读 / 写测试,特别是持续写入性能,依旧是和闪存类型与容量直接挂钩的。而在随机读取,特别是随机写入上,F2FS 带来的提升简直就是压倒性的(可以套用调侃:大多数人的努力程度之低,根本用不着拼先天天赋)。当中,虽然荣耀 V9 和一加 3T 的闪存容量相同,但前者成绩高了一倍,这里主要原因很可能是闪存单双通道上的先天差别。
一人成文,难免会有疏漏,还有望各位机友的交流和指正,跑分库链接可戳这里。愿天下再也没有抽中 eMMC 的爱国者。