81

蛋蛋读UFS之一:UFS简介

 5 years ago
source link: http://www.10tiao.com/html/609/201806/2652241154/1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我们知道,我们电脑由三大件组成:CPU,内存和硬盘。CPU用以计算和控制,内存用以临时存储程序运行时所需的数据(掉电数据丢失),而硬盘用以长久保存数据(掉电数据不丢失)。


我们每天使用的手机,其本质是一个移动的小型计算机,同样由三大件组成:CPU,内存和存储设备。其中的存储设备相当于电脑的硬盘,用以长久保存手机上的数据,比如视频、照片、音乐、系统等数据。


电脑的硬盘有机械硬盘(HDD)和固态硬盘(SSD),前者是机械存储设备,存储介质是磁盘;而后者是电子存储设备,存储介质是闪存。我们不可能在小小的手机中塞入一个机械设备,所以手机上的存储设备只能是电子存储设备,存储介质也都是闪存。


现在是人手一个手机的时代,手机成了人们身体的一部分,一天不带手机,就感觉缺少了什么,吃嘛嘛不香。



因此,人们对手机的要求也越来越高: 速度要快,容量要大,流畅不卡顿…
为了让手机更快,手机厂商使用更快、更多核的CPU,加大系统内存(4GB不够用6GB,6GB不够用8GB),使用更快的存储设备。无论是电脑还是手机,三驾马车(CPU,内存和存储设备)中,跑得最慢的就是存储设备了。CPU和内存的快步向前,促使最慢的存储设备也需要努力跟上,不然再快的CPU和再大容量的内存,你的手机用起来还是让你觉得不爽。


近年来,由于闪存技术的应用和发展,无论是电脑上的硬盘,还是手机中的存储设备,都在变得越来越快。


电脑上,从HDD 到SSD,从SATA SSD到PCIe SSD,硬盘是越来越快;


手机上,从SD卡,到eMMC卡,再到UFS卡,存储卡的速度也是越来越快。现在一般手机配的是eMMC,旗舰高端手机配的是UFS。



我们这个系列的主角UFS已登场。为什么UFS是主角?为什么我要带大家去了解UFS? 因为,UFS将是未来一段时间内手机存储的主流,我们有必要去了解UFS以及其相关的技术。


那么,什么是UFS?Universal Flash Storage,通用闪存存储。它有两个意思,一是指手机存储接口协议,类似SATA,PCIe/NVMe;二是使用该协议的存储设备。后面文章出现UFS,读者请根据上下文理解。


为什么说UFS是手机存储的未来?无他,快也!


大家感受一下:



UFS最新标准是UFS3.0,于2018年1月30日发布。它最大带宽可以达到2163MB/s!4倍SATA3.0的速度 (600MB/s),超过PCIe3.0x2的速度(2GB/s单向速度)。


不过,目前市面上的UFS产品还是UFS2.0/2.1,其最大带宽1081MB/s,也是秒杀一般的SSD。


UFS协议是JEDEC(www.jedec.org)组织制定的,三星、海力士、东芝等公司力捧。下面是UFS协议的发展历程:



我们可以看到,UFS协议一直在大踏步的朝着更高更快的目标前进。


UFS为什么能那么快?


首先,它在数据信号传输上,使用的是差分串行传输。这是UFS快的基础。所有的高速传输总线,如SATA,PCIe,SAS,都是串行差分信号。串行,可以使用更快的时钟(时钟信息可以嵌在数据流中);差分信号,即用两根信号线上的电平差表示0或者1。与单端信号传输相比,差分信号抗干扰能力强,能提供更宽的带宽(跑得更快)。打个比方,假设用两个信号线上电平差表示0和1,具体来讲,差值大于0,表示1,差值小于0,表示0。如果传输过程中存在干扰,两个线上加了近乎同样大小的干扰电平,两者相减,差值几乎不变,你大爷还是你大爷。但对单端信号传输来说,就很容易受干扰,比如0-1V表示0,1-3V表示1,一个本来是0.8V的电压,加入干扰,变成1.5V,相当于0变成1,数据就出错了,你大妈已经不是你大妈了。抗干扰能力强,因而可以用更快的速度进行数据传输,从而能提供更宽的带宽了。


UFS的前辈是eMMC,使用的是并行数据传输。并行最大的问题是速度上不去,因为一旦时钟上去,干扰就变大,信号完整性无法保证。


其次,UFS和PCIe一样,支持多通道数据传输,目前最多支持两个通道。多通道可以让UFS在成本、功耗和性能之间做取舍。


还有,它是全双工工作模式,就是读写可以并行。它的前辈eMMC是半双工,读写不能同时进行。



要让UFS速度快,这些基础设施是必须的。但要充分利用底层高速数据传输通道,还需要上层数据传输协议配合。就好比我们现在有一条又宽敞又平坦的高速公路,我们需要一辆高速的汽车行驶在上面。你如果让一辆拖拉机在上面跑,高速公路算是白修了。


UFS协议上层,怎样来充分发挥底层速度快的优势呢?


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


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


半双工+同步


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


全双工+异步



由于支持命令队列,主机一下可以发若干个命令给设备,如上图,主机一下发了一个写命令W1和读命令R2给设备。设备可以并行处理这两个命令,由于协议支持全双工操作,主机传输写命令W1的数据给设备的同时,设备也可以把读命令R2的数据返回给主机。后面命令R3,R4,W5…的处理方式类似。


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



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


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


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



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


行文至此,让我不由的想起去年那事件。


同一款手机,有人UFS和eMMC混着卖,手机还卖一个价钱,真是无德!UFS和eMMC,速度差异那么大(见下图,来自网络),价格能一样吗?你系统再优化,能把eMMC顺序读写速度优化到401MB/s?别扯什么用户体验,用户都被耍猴了,体验还能好?水能载舟,亦能覆舟,不要太得意忘形。



如果说eMMC是手机中的HDD,那么UFS就是手机中的SSD。UFS取代eMMC成为主流手机存储协议,这是毫无疑问的。不过,UFS一统天下的道路上还有一个拦路虎,那就是NVMe。有人说,NVMe不是SSD的协议标准吗?没错,不过,我要提醒大家的是,苹果现在手机中存储协议是NVMe而不是UFS。在短期,UFS和NVMe会分别在安卓和苹果手机中存在。长期来说,UFS和NVMe是二分天下,还是合二为一,我们只能拭目以待了。



在本章结束前,给大家看看UFS(BGA形式)的实物图:



大小如大拇指手指盖大小。麻雀虽小,五脏俱全。UFS存储芯片内部封装了UFS控制器和闪存阵列,和SSD结构很相似。不过和SSD相比,由于它的容量更小,因此闪存die比较少,闪存的通道数也少。另外,出于功耗和成本考虑,UFS芯片一般是不带DRAM的架构。



UFS芯片内部设计与实现不是我们本系列的重点,本系列后续文章将专注于UFS协议。



(五位业界精英历时2年创作,一本完全原创,不靠贴代码、翻译手册凑张数的专业书籍,请长按下面二维码购买电子书+作者签名纸质版)


看闪存、AI、区块链、物联网好文,点击文末“阅读原文”或登陆

 www.ssdfans.com


ssdfans微信群介绍

闪存技术群

覆盖5000多位全球华人圈闪存技术精英

存储群

全闪存、软件定义存储SDS、超融合

AI群

讨论人工智能和GPU、FPGA、CPU异构计算

区块链群

区块链技术与产业讨论

物联网群

联网、5G技术与产业讨论

市场群

闪存等存储产品报价、行情、渠道分享

ASIC-FPGA群

芯片和FPGA硬件技术讨论群

存储介质群

DRAM、NAND、3D XPoint等各类存储介质讨论

固件测试群

固件和测试技术讨论

销售群

全国DRAM、NAND、SSD等供应商、采购商交流

招聘群

存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来

高管群

各大闪存相关存储公司高管和创始人、投资人

各地分群

江浙沪、北京、广东、四川、陕西、湖北、台湾、山东、美国


想加入这些群,长按或扫描下面二维码加nanoarchplus为微信好友,介绍你的姓名-单位-职务注明群名,拉你进群。




About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK