年年都有锂电池爆炸的案例,但因为三星Note7,大家补充了很多电池相关的知识。而最近某国内厂商的“闪存门”,也带动了一大波关于“闪存类型和文件系统”的科普,但看到UFS 2.0/2.1和eMMC,F2FS和EXT4等名词时,估计很多读者都会懵逼。趁着这个机会,为大家带来一些简单的小科普。

说到手机性能,大家第一时间想到的都是CPU和GPU性能,但闪存也是直接影响应用开启和游戏载入速度的元件。当中前者主要受随机读/写性能影响,后者主要受连续读/写性能影响。在2017年,对随机和顺序读写性能影响最大的因素之一,刚好是本篇科普的主角——文件系统和闪存类型。而这次闪存门,主要针对的是UFS和eMMC等闪存类型。

如何查看闪存类型

现在电脑使用的SSD、安卓手机上的eMMC、UFS,采用的都是Flash闪存技术,它们的主要区别在于控制器、接口以及闪存规格。从eMMC到UFS,主要是倍数级的速度提升,而从UFS 2.0到UFS 2.1的提升重点不在速度,而增加了设备健康状态描述和预防性维护等更先进的功能支持。只是东芝的THGA系列UFS 2.1产品上,还对随机读写性能进行了提升。

这几种闪存具体的历史缘由和技术差别,以及再往下的MLC、TLC颗粒等内容,下次有机会再另外成文,这里先不展开。但这里要注意的是,需要提前的电路设计才能让机器同时兼容UFS和eMMC,远不是简单替换闪存芯片的问题。这次的闪存门,很可能机器是产品设计之初,就已经做了后期更换闪存的准备了。

针对这次的闪存风波,主要集中在上面说的闪存规格上。最早的疑问也从“是eMMC,还是UFS”,慢慢延伸到“是UFS 2.0,还是UFS 2.1”。爱搞机在这里汇总了3种辨别的方法:

  1. 通过AndroBench等闪存速度测试软件,对机器的读写速度进行测试,间接性的闪存规格判定。最高速度在300MB/s以下的大几率都是eMMC,在500MB/s附近则可能是UFS 2.0,在700MB/s以上则较大可能是UFS 2.1了。

    图片来源@魔法师蛋小丁

  2. 在终端模拟器(同类型软件亦可)中输入ls /proc/fs/*,如上图,在/proc/fs/f2fs信息下,如果是sd为前缀,其闪存为UFS,如果开头为mmcblk,则为eMMC。

    小米6截图

  3. 如果想查看闪存类型,最直接的方法肯定是拆机直接看芯片的型号。而免拆机的最快方法,是使用终端模拟器(同类型应用也可以),输入cat /proc/scsi/scsi,在Vendor中就有标明闪存的型号(如上图)。这个方法无需root权限,但保不准以后厂商会特意屏蔽甚至作假,所以建议早查早截图。

大家可以对比网友汇总的表格,查看自己的华为/荣耀系列机型使用的闪存:

东芝和三星的UFS2.0/2.1闪存型号概略表(图源自知乎网友@墨韵GS,侵权即删)

而我们手上的V9(截图在下面的第二部分),用的是三星KLUDG8J1EB-B0B1。这个闪存型号在截稿时还未录入三星电子的官网。但爱搞机从三星内部人员消息得知,同系列的KLUCG4J1EB-B0B1是64G的UFS 2.1,这个KLUDG8J1EB-B0B1不出意味应该就是UFS 2.1了。

东芝eMMC产品型号表

三星eMMC产品型号表

UFS与eMMC,闪存类型对顺序读写速度的影响

6台旗舰的查询结果

256G版的小米MIX,UFS 2.0闪存(双通道),采用的是EXT4文件系统

64G版的华为P10,UFS 2.0闪存(双通道),采用F2FS文件系统

128G版的一加3T,UFS 2.0闪存(单通道),采用F2FS文件系统

F2FS与EXT4,文件系统对随机读写的影响

“文件系统”是存储和组织数据的方法,可以笼统理解为文件存放的“格式”。在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进行手动转换。大家可以在终端模拟器中通过mount的命令查看手机使用的文件系统。

结果汇总

这里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的爱国者。

linux 查看emmc分区表_如何查看闪存类型?UFS与F2FS简易科普相关推荐

  1. 手机闪存速度排行_有关手机闪存类型的一些知识

    华为p10闪存门至今令人记忆深刻,因此从我干这行开始,不管是家人或者客户,买来华为手机的第一件事,就是给测一测闪存读写速度,抽到奖还能换,也算是相当小心了. 首先我们需要知道,一般一块闪存(就是我们常 ...

  2. p10测试闪存软件怎么用,华为p10的闪存类型怎么查看?查看华为p10闪存教程

    原标题:华为p10的闪存类型怎么查看?查看华为p10闪存教程 最近,华为P10闪存类型存在差异的问题受到了不少网友的关注,因此,已经购买了华为P10的手机用户想知道:华为p10的闪存类型怎么查看?下面 ...

  3. 闪存驱动器_仅使用闪存驱动器即可测试Linux

    闪存驱动器 也许您听说过Linux,并对它感兴趣. 如此有趣,您想尝试一下. 但是您可能不知道从哪里开始. 您可能已经在网上做了一些研究,并且遇到了双重引导和虚拟化等术语. 这些术语对您可能毫无意义, ...

  4. 苹果7【】闪存测试软件,苹果iPhone手机闪存类型怎么查询【详解】

    如何查询苹果iPhone手机的闪存类型? 去年,苹果发布的iPhone6/6 Plus出现了频繁死机的情况,有业内人士分析,这与其采用了TLC以及MLC不同颗粒的闪存有关.那么,新款iPhone会不会 ...

  5. 苹果用什么软件测试闪存,对iPhone 6闪存不放心?两招教你识别闪存类型

    苹果每一代iPhone注定在任何时候都能成为热门话题,发布的时候是这样,上市疯抢是这样,而到了现在供货慢慢变得稳定之后,它还能冲上头条.不过这次苹果遇到的可是个不小的麻烦:iPhone 6和iPhon ...

  6. 闪存类型测试软件,轻松测闪存类型 测试软件P10Check上架谷歌商店

    华为P10闪存门到如今已经有一个月时间了,然而华为官方并没有针对这件事给出一个具体方案,而不少已经购买华为P10的网友目前也只能是继续等待结果了...不过从产业角度去看,华为P10的闪存混搭事件其实也 ...

  7. 【基础】 存储类:闪存类型SLC、MLC、TLC详解

    1.什么是NAND闪存 固态硬盘(SSD)的底层NAND架构因模型而异,NAND闪存的几种类型SLC.MLC.eMLC和TLC具备不同特性. 与机械硬盘(HDD)相比,SSD封装使存储子系统和阵列能够 ...

  8. 被SLC、MLC、TLC搞晕?一文了解所有闪存类型

    通常情况下,固态硬盘(SSD)的底层NAND架构会因模型而异.NAND 闪存的每种类型--SLC.MLC.eMLC和TLC--都有不同的特性,并因此对您的数据存储产生不同的影响,在这篇文章中,我们会讨 ...

  9. SDINDDH6-128G-ZA通用闪存存储器 - UFS WD/SD

    iNAND®IX EU312 EFD工业嵌入式闪存器件,具有Universal flash Storage (UFS) Version 2.1接口和3D NAND,为工业和监控应用提供高可靠性和耐用性 ...

最新文章

  1. Python:tkinter滚动抽奖器
  2. 两次深度debug经历,希望大家不要踩坑
  3. 实现值两者之间添加 , 、 | 等字符
  4. 机器学习(一)梯度下降算法的实现及过程分析
  5. 【20171108晚】BeEF 局域网中的一次实战演练(三)
  6. Rancher Labs联手NeuVector,提供容器管理与安全解决方案
  7. mysql插入图片_如何向MySQL中插入图片文件
  8. stc12c5a60s2制作4*4*4,光立方c语言程序怎么写,基于STC12c5a60s2单片机的3D显示屏设计...
  9. 用matlab产生hdb3码,MATLAB仿真 HDB3码程序
  10. 【2020年数据分析岗面试题】不断更新...(含自己的理解、思考和简答)
  11. 十五、方差分析--使用Python进行单因素方差分析(ANOVA)
  12. id: cannot find name for group ID 528
  13. 2021年12月苹果开发者证书配置
  14. 前端基础知识总结---CSS篇
  15. dede - 栏目中判断
  16. 使用安卓手机上的shh软件ConnectBot管理您的Linux服务器
  17. PingPong福贸外贸收款账户是如何收费的?
  18. 多次成功创业经验总结-我如何打造新品类战略公式
  19. 如何从 0 到 1 设计、构建移动分析架构
  20. 【ICML2022】可达性约束强化学习

热门文章

  1. 安装ubuntu18.04虚拟机太慢
  2. Python网络爬虫开发实战,微博宫格验证码的识别
  3. Python编程的10个经典错误及解决办法
  4. Spark中foreachRDD、foreachPartition和foreach解读
  5. 数值计算:设计算法的若干原则
  6. 以flash翻页方式展现图片的实现
  7. google的几个搜索业务
  8. 【opencv学习】【hough圆检测】
  9. [深度学习]生成对抗网络的实践例子
  10. vs中项目解决方案和项目的关系