我们知道,我们电脑由三大件组成: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协议。

转自:http://www.sohu.com/a/233821761_505795

UFS和eMMC简介与区别相关推荐

  1. UFS和eMMC闪存差异在哪?

    首先我们需要知道UFS和eMMC各有什么技术特点,这里我们再用通俗的语言和大家分析一下,然后介绍这几项技术代表厂商分别都是谁,量产.成本又是一个怎样的情况.首先我们需要知道,一般一块闪存(就是我们常说 ...

  2. MIPI C-PHY/D-PHY/ UFS/ SDIO/eMMC/DP/eDP/DDR5/LPDDR5/I3C/PCIE/Automotive Ethernet/Serdes......测试方案

    MIPI C-PHY/D-PHY/ UFS/ SDIO/eMMC/DP/eDP/DDR5/LPDDR5/I3C/PCIE/Automotive Ethernet/Serdes-测试方案介绍_Reete ...

  3. eMMC5.1入门教程【1】eMMC简介与协议概览,有引脚详细定义很多是NC,参照STM32的FLASH写保护机制,emmc也有因为他是FLASH 的升级版本

    目录 1 eMMC简介 1.1eMMC的外观图与引脚说明图 1.2eMMC的定义 1.3eMMC的基础操作 2 eMMC5.1协议 2.1 eMMC5.1协议文档的获取 2.2 eMMC的初始化 2. ...

  4. UFS 1-UFS架构简介1

    UFS 1-UFS架构简介 1 UFS是什么? 1.1 UFS 1.2 一般特征 1.2.1 Target performance 1.2.2 Target host applications 1.2 ...

  5. eMMC5.1入门教程【1】eMMC简介与协议概览

    目录 1 eMMC简介 1.1eMMC的外观图与引脚说明图 1.2eMMC的定义 1.3eMMC的基础操作 2 eMMC5.1协议 2.1 eMMC5.1协议文档的获取 2.2 eMMC的初始化 2. ...

  6. Computer:路由器、交换机、猫Modem的简介、区别之详细攻略

    Computer:路由器.交换机.猫Modem的简介.区别之详细攻略 目录 路由器.交换机的简介 交换机 路由器 猫Modem 外置式Modem的软件安装 外置式Modem的硬件安装 路由器.交换机. ...

  7. Database之SQLSever:SQL命令实现查询之多表查询、嵌套查询、分页复杂查询,删除表内重复记录数据、连接(join、left join和right join简介及其区别)等案例之详细攻略

    Database之SQLSever:SQL命令实现查询之多表查询.嵌套查询.分页复杂查询,删除表内重复记录数据.连接(join.left join和right join简介及其区别)等案例之详细攻略 ...

  8. Cookie和Session简介与区别

    1.Cookie和Session简介与区别 在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 ...

  9. sklearn之pipeline:pipeline函数/make_pipeline函数的简介及其区别联系、使用技巧、案例应用之详细攻略

    sklearn之pipeline:pipeline函数/make_pipeline函数的简介及其区别联系.使用技巧.案例应用之详细攻略 目录 sklearn.pipeline函数简介 1.Why pi ...

  10. ML:机器学习模型可解释性之explainability和interpretability区别的简介、区别解读、案例理解之详细攻略

    ML:机器学习模型可解释性之explainability和interpretability区别的简介.区别解读.案例理解之详细攻略 目录 机器学习模型可解释性之explainability和inter ...

最新文章

  1. 并发--基本的线程机制
  2. SDUT _2117 数据结构实验之链表二:逆序建立链表
  3. eslint 换行_ESLint代码风格检测
  4. [ActionScript 3.0] AS3中的位图(BitmapData)应用
  5. 教你手工检测SQL注入
  6. uniapp打包安装后提示_本应用使用HBuilderX 2.8.12 或对应的cli版本编译,而手机端SDK版本是2.8.13---基于Vue的uniapp手机端_前端UI_uview工作笔记007
  7. LeetCode数据库 180. 连续出现的数字
  8. [导入]一个很有个性的网站??
  9. ubuntu 安装GPU黑屏 修改GRUB_手把手教你Windows+Linux双系统的安装与卸载
  10. 软件测试简历上的职业技能怎么写,软件测试岗位个人简历个人技能范文
  11. java视频生成缩略图_Java中使用ffmpeg生成视频缩略图
  12. bzoj5336: [TJOI2018]party【状压dp】
  13. javascript 删除节点
  14. Absible#Ansible-Playbook的任务控制
  15. 云时代编程语言Ballerina发布,TIOBE9月排行榜PHP排名在边缘飘摇(2019/09/16)
  16. 不同风格吉他曲目收录
  17. springboot中Error creating bean with name ‘keyExpiredListener‘ defined in f
  18. linux用户和组管理的实验报告,linux用户管理任务实验报告
  19. 哪个牌子的护眼台灯比较好?2022秋季最佳护眼灯推荐
  20. mysql学生班级老师_MySQL全方位练习(学生表 教师表 课程表 分数表)

热门文章

  1. EFF希望NSA销毁长达14年的电话监控记录
  2. matlab 函数pdf怎么用_PDF文档怎么进行批量旋转?调整页面用迅捷PDF转换器
  3. 网络篇 OSPF的DR与BDR的选举-48
  4. Python计算长方形面积(带参数函数demo)
  5. VMware Workstation 错误:“以独占方式锁定此配置文件失败。另一个正在运行的VMware进程可能正在使用配置文件。”的解决方法
  6. 自学软件测试需要多久?能掌握吗?
  7. OpenDDS的动态绑定bind_config传输配置和实例
  8. 华光昱能光知识-细说MPO光纤跳线那些事
  9. 联想一体机用u盘装linux教程,联想一体机如何用u盘装系统
  10. Unix/Linux中/usr目录的由来