伴随着半导体技术日新月异的蜕变,手机ROM的容量也突飞猛进。如今的旗舰手机,几乎已经找不到16GB ROM的存在,最新发布的iPhone 8/iPhone 8 Plus也将32GB版本砍掉,直接从64GB起步。而系统固件、App和各种文件容量的逐步增加,既对闪存容量提出了高要求,也对读取速度提出了高标准。在选购大存储容量机型的同时,我们也就不能忽视闪存的速度。在目前的手机市场,决定闪存速度的因素除了颗粒类型、系统优化外,不同传输协议的影响最为关键。
基于NAND的三大派系
我们评测中常常提到的ROM,也就是闪存(Flash Memory),手机上安装App的数据和缓存都会保存在ROM里,ROM速度越快,App加载和运行的速度自然也就越快。第一款商业性闪存是由Intel推出的NOR Flash芯片,后来东芝发布了NAND Flash。NAND Flash具有较快的读写速度,每个存储单元的面积也较小,逐渐占据了存储市场的主流,如今广泛用于PC上的SSD和手机的ROM,本质上都是NAND闪存。
▲随着手机ROM的增加,越来越多的用户不再使用microSD卡,一方面是因为手机ROM已经足够使用,另一方面则是microSD卡的读取速度大多不如NAND,体验参差不齐。
虽然手机ROM均是由NAND闪存颗粒构成,但由于颗粒类型和传输协议的不同,传输性能上也有了明显差异。在存储颗粒类型上,SLC、MLC和TLC究竟谁优谁劣的争论由来已久。SLC性能最出色,但由于成本较高,目前几乎没有手机使用;MLC性能够用,价格适中,寿命较长;TLC综合性能较低,价格低廉,寿命相对短。
▲虽然大部分用户都认为MLC颗粒更好一些,但随着制程的进步和TLC成本的逐步降低,TLC产品开始大量上市,MLC产品的份额难免被蚕食。
而在传输协议方面,eMMC、UFS和NVMe就是目前手机闪存市场上常见的三种,区别主要在于主控芯片、接口标准以及更底层的Flash芯片标准。如果将传输协议比作高速公路上限速不同的车道,那颗粒类型就是不同马力的车辆,由此产生的组合自然也就跑出了不同速度。
eMMC
eMMC是一个起源较早的技术,全称叫embedded MultiMedia Card。资深的手机玩家或许还记得过去部分手机上使用过的MMC存储卡,跟SD卡很类似。没错,eMMC就是在MMC基础上发展而来,和MMC一样沿用了8 bit的并行接口。2015年前几乎所有主流的智能手机和平板电脑都采用这种存储介质,在传输速率不高的时代,并行接口足够手机上使用了。
这一标准从eMMC 4.3一路发展到现在的5.1,改变的只是总线接口的带宽,目前,eMMC的总线接口主要以eMMC 4.4、eMMC 4.5、eMMC 5.0、eMMC 5.1为主,理论带宽分别为104MB/s、200MB/s、400MB/s和600MB/s,实际应用中的速度会稍有折扣。
▲采用并行接口的eMMC已经逐渐难以满足当下手机用户的需求,即便不断升级也不过是将单行道拓宽,无法高效地实现“双向通行”。
UFS
UFS的全称是Universal Flash Storage,也就是通用闪存存储。最早出现的UFS 1.1速度并不算块,理论带宽只有300MB/s。受成本和兼容性的限制,速度没有明显优势的UFS 1.1没有普及就销声匿迹了。JEDEC 发布了全新的USF 2.0标准,并出现了两个版本,其中UFS 2.0 HS-G2的理论带宽约为740MB/s,更快速的UFS 2.0 HS-G3理论带宽达到了1.5GB/s,是目前最快的 eMMC 5.1的2.5倍。UFS采用的是串行接口,支持同时读写数据,在待机状态下的功耗只有eMMC的一半左右。
2016年3月,JEDEC发布了UFS 2.1的闪存存储标准。相比UFS 2.0,速度标准没有任何变化,仍然为强制标准HS-G2,可选标准HS-G3。改进主要分为三部分:设备健康、性能优化和安全保护。对于闪存制造商而言,由于UFS 2.0已推出HS-G3对应的版本,UFS 2.1选用更低的标准不再有太多的意义。因此市面上UFS 2.1全部采用可选的HS-G3标准,即最高读写速率为1.5GB/s。
▲不同版本的eMMC和UFS协议对最高读写速率的影响十分明显
NVMe
NVMe(NVM Express)本是为了SSD而生,用以替代SSD上的SATA接口。2015年,苹果在iPhone 6s/iPhone 6s Plus上引入了MacBook上备受好评的NVMe协议,大容量版本更支持TLC/SLC混合缓存加速,让iPhone上的NAND闪存获得了媲美SSD的性能。和eMMC所用的SDIO接口不同,NVMe使用的是PCIe接口,这个PCIe并不是PC上的那个,而是基于MIPI M-PHY物理层的PCIe。相较传统的SCSI接口协议,NVMe协议具有高效率、低负载的特性,因此性能更高而且低延时。
三种协议真实表现
在了解了手机闪存中三种协议的优缺点后,再来看看它们都出现在哪些机型中,实际体验起来有什么差别。
NVMe是苹果为iPhone引入的,目前仅在iPhone 6s之后的机型中出现。很显然,这是苹果自己定制的技术,因为目前市面上没有可用的方案。在同一款iPhone上,不同容量的版本虽然采用的都是NVMe传输协议,但也存在MLC和TLC颗粒混用的情况。
以iPhone 7 Plus为例,32GB版本使用的是MLC颗粒,128GB和256GB版本则是TLC颗粒。在大容量版本上,NVMe提供了TLC/SLC混合缓存加速,将部分TLC模拟为SLC缓存进行加速,就导致了“皇帝版”和“乞丐版”之间的读写速度有了明显差异。通过PassMark测试分别测试iPhone 7 Plus 32GB、128GB和256GB版本的读写速度,32GB版本的读取速度和写入速度分别为691MB/s和39.6MB/s,256GB版本则达到了892MB/s和357MB/s。
▲凭借着从MacBook中引入的NVMe闪存的优势,苹果iPhone 6s/iPhone 6s Plus的闪存读写速度在当时几无对手。
好在iOS系统并不像Android那样开放,在非破解状态下既不可在手机上进行文件管理操作,连接电脑后也不能直接进行文件写入操作,所以在一般情况下,“乞丐版”的写入速度并没有令人感觉到和“皇帝版”拉开了明显差距。要知道,iPhone 7 Plus 128GB版本比32G版本贵了800元,这其中的差价已经足够买一台千元机了。
而刚刚面世的iPhone 8 Plus也有256GB版本和64GB版本可选,希望这次的“乞丐版”不再使用MLC颗粒,让购买的用户少花点钱,同样也能享受到“皇帝版”的待遇吧,毕竟和一台手机的使用周期相比,TLC的寿命已经够长了,而读写速度则能够明显提升用户体验。
▲从iPhone 6s开始,苹果在手机闪存上引入了NVMe协议(图中红色区域为闪存模块)。
UFS常见于Android阵营的高端旗舰机型中,有UFS 2.0 HS-G3和UFS 3.0 HS-G3两种。由于两者的最高读写速度一致,实际表现也十分接近,消费者很容易混淆。以三星Galaxy S8使用的东芝UFS 2.0协议的闪存(型号THGBF7G9L4LBATR,MLC颗粒)为例,实测最高读取速度为744.56MB/s,写入速度155.84MB/s,与三星Galaxy S8+使用的东芝UFS2.1闪存(型号THGAF4G9N4LBAIR,MLC颗粒)在读写速率上没有区别。然而,后者的顺序读取、顺序写入、随机读取、随机写入速度均比前者分别快40%、16%、120%、80%。在手机的日常操作中,我们恰恰需要大量读写小文件。随机读写操作占了绝大部分,而譬如拷贝高清电影的大文件读写操作反而很少。
除此之外,绝大多数的中低端手机还在使用着eMMC协议闪存,更低的成本、更大的产量以及够用的性能让它暂时还不会被淘汰,同时这些手机的闪存颗粒大多是价格相对便宜的TLC。通过AndroBench测试某款使用eMMC 5.1协议闪存的手机,其连续读写速度分别为226.51MB/s和87.8MB/s。
作为普通用户,如果厂商没有标明详细规格,该如何去判断它究竟用的是哪种协议呢?很简单,只要安装一个能够读取手机软件系统底层信息的App?Android终端模拟器就行。安装后输入“ls /proc/fs/*”(不含引号)后回车,出现的信息里面如果含有“sdd”,说明使用的是UFS闪存;出现的信息里面有“mmcblk”,则是eMMC闪存。
读写速度的影响
1.多任务执行响应速度更快
NVMe、UFS有专门串行接口,读写操作同时进行;能够动态调配队列任务,无需等待上一进程结束。相反,eMMC的读写操作必须分开执行,指令也是打包的,在执行多任务时eMMC自然要慢一步。
2.游戏加载速度更快
在预读大型游戏或大体积文件时,NVMe和UFS所需时间更短,载入一款游戏所需要的时间约为eMMC 5.0的1/3,相应在体验游戏时延迟更低,画面更流畅。比较明显的一个例子,使用iPhone 6和iPhone 6s分别运行《极品飞车》系列游戏,预读赛道地图时明显前者加载耗时更长一些,这里面除了不同处理器带来的影响外,闪存的读写速度差距也是主因之一。
3.连拍的照片写入更快
NVMe、UFS和eMMC体验上的区别还在于连续拍照上,连续拍照时NVMe、UFS能让照片写入、合成更快,eMMC拍摄时从按下快门到存储一张照片花费的时间更长,从而错失了拍摄良机。同时,现在十分流行的双摄手机在进行背景虚化或变焦拍摄时都有一个合成处理的过程,这个过程在高速闪存上进行时几乎是没有延迟的,而如果换到eMMC闪存上可能就会影响到用户的拍摄体验。
4.相册缩略图载入时间更短
当手机装满了几百张甚至上千张照片后,打开相册的图片缩略图就能很明显地比较加载的过程,这就是手机在读取闪存中的照片时跟不上刷新的速度造成的。优秀的手机屏幕时画面会随着滑动流畅载入,而差一点的手机就会有明显延迟甚至卡顿。
5.速度快了功耗也更低
NVMe、UFS闪存在相同的任务面前所花费的时间更短,更高的效率就意味着更低功耗。同时工作的时候UFS的功耗要比eMMC低出10%,日常工作中约能省35%的功耗。
总结
从近两年的手机闪存市场来看,UFS已经凭借不错的性能表现和尚可接受的价格,成为了旗舰机型的最佳选择,特别是已经曝光的UFS 3.0,理论最高读取速度对比前代暴涨1倍,达到了2400MB/s,是eMMC 5.1的6倍,十分让人期待。NMVe协议目前还只是出现在iPhone产品上,但性能已经得到了大家的肯定。反观eMMC已经出现后劲乏力的问题,即便eMMC 5.2的产品在不久将来出现,也无法突破并行接口瓶颈做出重大的提升。