一、前言
存储器件作为系统中存储数据的物理单元,承担着非常重要的责任,它的运行状态时刻影响着整个系统的运行效率,存储容量和数据安全。所以整个产业针对存储器件的寿命,稳定性,容量,性能以及价格等方面进行着长期持续的探索与改进,进而衍生出了多种多样的存储器件应用于不同阶段和不同场景需求的系统。
而手机系统场景尤其复杂,对存储性能(包括IO的带宽,延迟和稳定性)的要求更加严苛。那么应对如此高要求的手机系统,存储器件在手机系统中是如何应用和发展呢?下面我们一探究竟。
二.UFS与NVMe全面对比
首先,我们可以知道,目前手机系统主流的存储器件有两种,一种是安卓手机使用的UFS,另外一种是苹果用的NVMe。我们依次介绍:
2.1UFS简介
UFS,Universal Flash Storage,通用闪存存储。为什么现在主流使用UFS呢?很简单,就是快。我们看下主流2lan的UFS,其顺序读的数据传输速率可以达到4.2GB/s:
UFS为什么这么快呢,对比手机以前使用的eMMC,有如下优势:
UFS采用差分串行传输,而eMMC采用并行数据传输。并行最大的问题是速度上不去,因为一旦时钟频率提升,干扰就变大,信号完整性无法保证。随着时钟频率越来越高,高速串行传输的优势就很明显了。
支持多通道数据传输(目前是两通道),多通道可以让UFS在成本,功耗和性能之间做取舍。
UFS是全双工工作模式,意味着读写可以并行。而eMMC是半双工,读写是不能同时进行的。
UFS支持命令队列,可以异步处理命令,而eMMC无命令队列,只能进行同步处理。
综合串行,多通道,全双工和异步的巨大优势,UFS流行也是大势所趋。
UFS(全双工+串行)vs eMMC(半双工+并行)
2.2 NVMe简介
NVMe是专门为高速闪存芯片设计的协议,主要是为企业级和数据中心的PCIe SSD设计的接口标准,来充分发挥闪存的性能。NVMe通讯协议+PCIe总线协议是实现高速SSD性能的基础,为什么这种组合可以充分发挥SSD的性能呢?
在NVMe之前,除了自成体系的SCSI协议(SAS SSD),其它SSD基本用的是AHCI+SATA协议。其实AHCI和SATA是为HDD服务的,而且SATA是由PATA进化而来,也是使用到了我们前面提到的高速串行的全双工传输。奈何SSD具有更低的延迟和更高的性能,SATA已经严重制约了SSD的速度,此时就需要PCIe了。
相比SATA/SAS,我们先看下PCIe到底有多快:
常见的4 lan的PCIe4.0 SSD,传输速度就可达7GB/s
那么,如果把SATA换成PCIe是不是就可以了,有NVMe什么事情呢?这就需要看SATA的难兄难弟AHCI了,如果不用NVMe,老旧的AHCI同样会严重制约SSD性能。下面的对比图可以看到AHCI与NVMe的差距了: