手机存储必须要了解的UFS基础知识

描述

在手机中有三大件组成:CPU、内存DDR、存储设备(EMMC/UFS等),内存用以临时存储程序运行时所需的数据(掉电数据丢失),而存储设备用以长久保存数据(掉电数据不丢失)。

在手机上,从SD卡到EMMC、再到UFS卡,存储卡的速度是越来越快,现在一般手机的配置是EMMC,而旗舰手机的配置是UFS,很明显UFS将会是未来一段时间的手机存储的主流,快是唯一的原因。

SD卡

所谓的UFS即Universal Flash storage,通用闪存存储,这一概念通常代表2个意思:

(1)手机存储接口协议,类似于SATA,PCIE/NVME等概念;

(2)使用该协议的存储设备;

UFS相比较EMMC的速度很快,其最重要的就是它的信号是差分传输,这个是信号传输UFS数据传输快的基础。所有的高速传输线,比如SATA、PCie、SAS,都是串行差分信号。

串行信号可以使用更快的时钟(时钟信息可以嵌在数据流中),差分信号,即用两根信号线上的电平差0或者1。

与单端信号传输相比,差分信号的抗干扰能力更强,能提供更宽的带宽。其次,UFS和PCIE一样,支持多通道数据传输,目前最多支持两个通道,多通道可以让UFS在成本、功耗和性能之间做取舍。

SD卡

UFS支持命令队列,就是主机一下可以发很多个命令下去,然后UFS设备支持并行和乱序执行,谁先完成谁先返回状态。这种命令处理方式叫做异步命令处理。而它的前辈eMMC,是不支持命令队列的,命令一个一个执行,或者一包一包(每个包里面含有若干个命令)执行,前面命令没有执行完成,后面的命令是不能发下去的。这种命令处理方式叫做同步命令处理。

我们来比较一下“全双工+异步命令处理”和“半双工+同步命令处理”两者命令处理方式和命令执行效率。

半双工+同步

SD卡

主机发了一个写命令W1给设备,然后主机把数据写到设备;由于是同步传输模式,命令处理是一个一个处理的,所以在发读命令R2之前,必须等前一个写命令W1完成;同样,在发送写命令W3之前,必须等R2命令完成。

全双工+异步

SD卡

由于支持命令队列,主机一下可以发若干个命令给设备,如上图,主机一下发了一个写命令W1和读命令R2给设备。设备可以并行处理这两个命令,由于协议支持全双工操作,主机传输写命令W1的数据给设备的同时。

设备也可以把读命令R2的数据返回给主机。后面命令R3,R4,W5…的处理方式类似。

再形象一点,我们以搬运货物的例子来比较一下eMMC和UFS命令执行方式:

SD卡

现在的手机,应用非常丰富,你要一边斗地主,一边听歌,还要聊微信,多线程操作。由于全双工和命令队列的存在,UFS处理命令的效率大大提高,给用户极好的体验。

前面我们拿UFS和eMMC做了几个对比,但我好像忘了说什么是eMMC。有人可能懵逼,什么是eMMC?

eMMC,Embedded Multi Media Card,和UFS一样,也是JEDEC制定的移动存储协议,它是UFS前一代协议标准。

SD卡

eMMC最新标准是2015年发布的eMMC5.1,最高速度是400MB/s。JEDEC已经有了UFS,不确定会不会再发布新的eMMC标准。毕竟,并行传输的eMMC由于受限于物理信号,速度想要有个质的飞跃是不太现实。




审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分