iPhone一直都是使用NVMe协议的闪存,而安卓手机从eMMC协议闪存一直升级到现在的UFS3.1协议闪存。一些安卓旗舰机型基本使用了UFS3.1协议闪存,而档次稍微低一些的甚至还在使用UFS2.1、2.2或者干脆eMMC混用 。
要了解他们的不同,首先我们需要知道什么是闪存
闪存是一种断电不丢失信息的半导体存储芯片,一枚硬币大小的芯片就可以容纳高达1TB的数据。闪存一种取代传统磁性存储介质的一种介质,也是硬盘现代技术。
我们常常能在很多地方看到闪存的存在,比如SSD硬盘、SD卡、U盘、手机、平板电脑、MP3等等。体积小、重量轻、抗震防潮性能好都是它的优点,但它最大的优势在于读写速度快,功耗低。
现代闪存的基本单元是CTF单元,即Charge Trap Flash memory cell,译为带电荷的陷阱。其实就是一个浮栅晶体管,由于半导体的特性,浮栅晶体管断电时能保存电子,当电子数高于某个值时就表示0,而低于这个值就表示1。
浮栅晶体管的工作原理非常像可以自动上水的水塔,水位低于某个值时浮漂因为重力原因拉紧开关元件接通抽水机电源。当水位高于临界值时浮漂就会松开这时继开关元件就会断电。
所不同的是在浮栅晶体管的P极施加一定电压浮栅中保留的电子会因为量子遂穿逃逸出来,还原成“1”的属性。
在浮栅晶体管的控制极上施加一定电压则会让电子因为注入到浮栅中,电子数达到量后就表示“0”的属性。
一个个囚禁电子的球笼堆叠在一起就变成了一栋栋巨大的多层住宅,每一个房间都是一个记忆体。
这么多记忆体所组成的复杂结构需要通过某种方式方法来进行管理,这些就是闪存的标准和规范,是一整套围绕芯片、软件、硬件的技术,提供与内存的交互,版本规格越高,内存工作得就越快。
协议对于闪存的影响非常大
影响闪存读写性能主要有闪存颗粒、存储协议以及文件系统。不同的闪存颗粒的读写性能、寿命、稳定性是不同的,目前主流的闪存颗粒有TLC、MLS、SLC。手机普遍闪存普遍采用MLC和TLC,SLC的发热和价格让人有点望而却步。但毫无疑问闪存颗粒才是一切后续的基础,即使使用同样的协议,闪存颗粒不同读写速度方面也会存在一定的差异。
协议对于闪存的读写性能的影响是非常直观的,这就好比让一辆设计时速可以达到300Km/h的法拉利跑在一条限速100Km/h的公路上。所以协议对于闪存的读写速度提升具有革命性的意义,但协议的提升离不开操作系统的支持。
手机上目前比较常用的文件系统是F2Fs、EXT4,而华为使用EROFs,苹果使用APFs。文件系统可以大大提升闪存的随机读写的能力,比如让你去屯了很多货的仓库找某一样东西,你可能找一天也找不到,而文件系统可以让你快速准确的找到你想要的东西。
NVMe规范在随机写入和读取块上比其他规范更具有优势,尤其是在不断读取和生成一堆4KB小文件的操作系统特别有用,这也是iPhone一直采用NVMe的原因。苹果公司虽然不能将整个SSD塞入iPhone中,但苹果修改NVMe规范定制开发了自己的PCIe控制器。
但如果真的拿UFS3.1和NVME做比较还真的就很难判断出来,因为平台不一样,所运行的系统不一样,运行的软件也不一样。只能说各有千秋吧。
|