UFS和EMMC的区别--原理学习【转】
本文转载自:https://blog.csdn.net/shenjin_s/article/details/79761425
UFS PK EMMC
UFS作为目前安卓智能手机最先进的非易失存储器(NVM)已经广泛应用在很多手机OEM的旗舰机型上,并会逐渐取代eMMC的地位。它不仅给智能手机带来更高的读写速度更可靠的稳定性,同时M-PHY, UniPro和对SCSI命令集的支持,也大大简化了设计的复杂度,从而缩短了手机上市的时间。
UFS不仅具有SSD同级别的读写速度、异步IO接口和可靠的SCSI架构,同时还具有eMMC的低功耗的特点。
读者可以通过下面这个表格来理解UFS对比eMMC和SATA3的到底有哪些优势。其中需要强调的是虽然eMMC5.1已经支持Command Queue,但是由于eMMC硬件接口的局限性,无论是全双工还是并发性方面上,都无法和UFS2.0媲美,笔者会在后面的文章里详细介绍。
到此为止,上面都是UFS自己吹的,那么我们就来看看所谓的UFS到底有多快,看下图。
目前市场上主流的UFS2.0,单lane能够支持到最高600MB/S,如果是双lane设计那么可以跑到1200MB/S,对比eMMC HS400模式只能跑到400MB/S(这还是eMMC可以支持的最大理论值)确实有了显著的提高。后续更高级的UFS3.0版本还会跑到更快的双通道2400MB/S。让笔者觉得惊讶的是,如果按照M-PHY的标准,UFS完全可以支持到4个Lane,那岂不是会跑到4800MB/S,copy个电影只需要半秒钟,哈哈。
但实际情况,UFS也不会每时每刻都玩命跑的,总得让人歇歇不是,所以UFS在实际运行过程中速度是变化的(话说变速跑更TM累,有一次变速跑累成狗,心里那叫一个万马奔腾,后来被国足女将口头鼓励了一下,心气儿才平复许多)。至于速度是多少,大家看下图就一目了然了,需要稍微解释的是PWM就是脉宽调制,HS-G3就是High Speed Gear 3的意思。
UFS这么英明神武,为啥eMMC就不行泥??
因为eMMC是并口,一是快速并行接口同步就是一个瓶颈了,再就是即便同步问题解决了,信号之间的串扰也是无法避免的。
但是我们的UFS就不一样了,他是异步串行接口,而且人家还是差分的。所以在同步和干扰不是问题的前提下,UFS可以尽量提高自己的时钟频率,而且UFS是全双工的(eMMC只是半双工的),再加上UFS2.0的Command Queue的feature跑到如此高的速度也就在情理之中了。
最后来看一下eMMC和UFS的模块示意图。
UFS需要三路(三鹿(⊙﹏⊙)b)电源,VCC,VCCQ和VCCQ2。 VCC是3.3V和1.8V供电的(如果是1.8V的电压供电需要接charge pump电路)负责给NAND Array供电,VCCQ是core电压1.2V,VCCQ2是IO电压1.8V。
再看eMMC,只有两路电VCC和VCCQ。VCC 3.3V同样给NAND Array供电,剩下的core电压,IO电压都是由VCCQ供的(VCC是1.8或者3.3V)。
如果我们细心对比,eMMC的core电压最低1.8V,UFS的core电压只有1.2V,从这个角度来说UFS是比eMMC还要省电的。
到此,笔者本着文章短小精悍的原则,就先到说这里了。后续笔者会借UFS这块砖给大伙儿引出MIPI这块玉,介绍一下M-PHY和UniPro的知识,因为了解M-PHY和UniPro不光能打开UFS这扇门,而且对理解LCD,Camera和BaseBand的LLI模块都是一块很好的敲门砖。
UFS和EMMC的区别--原理学习【转】的更多相关文章
- GIS原理学习目录
GIS原理学习目录 内容提要 本网络教程是教育部“新世纪网络课程建设工程”的实施课程.系统扼要地阐述地理信息系统的技术体系,重点突出地理信息系统的基本技术及方法. 本网络教程共分八章:第一章绪论,重点 ...
- 计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理
前言 对于我们80后来说,最早接触计算机应该是在95年左右,那个时候最流行的一个词语是多媒体. 依旧记得当时在同学家看同学输入几个DOS命令就成功的打开了一个游戏,当时实在是佩服的五体投地.因为对我来 ...
- XGBoost原理学习总结
XGBoost原理学习总结 前言 XGBoost是一个上限提别高的机器学习算法,和Adaboost.GBDT等都属于Boosting类集成算法.虽然现在深度学习算法大行其道,但很多数据量往往没有太 ...
- IIS原理学习
IIS 原理学习 首先声明以下内容是我在网上搜索后整理的,在此只是进行记录,以备往后查阅只用. IIS 5.x介绍 IIS 5.x一个显著的特征就是Web Server和真正的ASP.NET Appl ...
- zookkeper原理学习
zookkeper原理学习 https://segmentfault.com/a/1190000014479433 https://www.cnblogs.com/felixzh/p/58692 ...
- 转:SVM与SVR支持向量机原理学习与思考(一)
SVM与SVR支持向量机原理学习与思考(一) 转:http://tonysh-thu.blogspot.com/2009/07/svmsvr.html 弱弱的看了看老掉牙的支持向量机(Support ...
- Android自复制传播APP原理学习(翻译)
Android自复制传播APP原理学习(翻译) 1 背景介绍 论文链接:http://arxiv.org/abs/1511.00444 项目地址:https://github.com/Tribler ...
- (转)由su和su -的区别谈学习linux运维方法
由su和su -的区别谈学习linux运维方法 原文:http://blog.51cto.com/oldboy/1053606 由su和su -的区别谈学习linux运维方法一例 老男孩Linux培训 ...
- Dubbo原理学习
Dubbo源码及原理学习 阿里中间件团队博客 Dubbo官网 Dubbo源码解析 Dubbo源码解析-掘金 Dubbo源码解析-赵计刚 Dubbo系列 源码总结+最近感悟
随机推荐
- struts2实现jQuery的异步交互
struts2中jQuery的异步交互有两种方式: 1)是利用构造字符串的方式来实现: 使用该方法主要是在服务器端根据前端的请求,返回一个字符串信息,然后前端的jQuery通过解析该字符串信息得到对应 ...
- java的移位运算详解(举例说明)
1)java中无符号右移:>>>,下面是一个int型的负数,然后每次移动一位. int k = -0x123;System.out.println(Integer.toBinaryS ...
- <2>基本表达式和语句
1.基本表达式 1: =, +, -, *, /, 赋值,加减剩除; lua 没有 c/c++的缩写表达式 += -= *=, ++, --; 2: () 改变运算的优先级; 3: 字符串对象加法.. ...
- SnmpTools配置
上网搜索了很多文档,但是snmptools一直没有配置好,原因就是64机器,网上的说法大多直接复制过来的,或者就没有考虑64位机器.经过仔细搜索和测试,一下是详细的配置过程: Index 安装 如果是 ...
- css解决无论页面长短footer永远置底
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- STL容器之map
[1]map容器 map 是关联容器.容器中的每一个元素都是由一个键值和一个数据值组成的. set 是一个集合它以其元素作为键值(同一个键值只能出现一次),且默认以升序排列. list 是一个顺序容器 ...
- kali长时间未使用导致数字签名过期无法更新源解决办法
kali长时间未使用,数字签名会过期,从而导致无法更新源. apt-get update:从源(Source)服务器那里下载最新的软件包列: apt-get upgrade:对已经安装的软件包本身进行 ...
- 批量下载网站图片的Python实用小工具(下)
引子 在 批量下载网站图片的Python实用小工具 一文中,讲解了开发一个Python小工具来实现网站图片的并发批量拉取.不过那个工具仅限于特定网站的特定规则,本文将基于其代码实现,开发一个更加通用的 ...
- numpy 数据处理
np.meshgrid() meshgrid 传入两个一维数组,返回第一个二维数组用第一个传入的一维数组为行,第二个传入的一维数组为列返回的第二个数组是以第二个传入的一维数组为行,第一个一维数组为列 ...
- 转:[C# 开发技巧]如何防止程序多次运行
转载自:http://www.cnblogs.com/zhili/p/OnlyInstance.html 一.引言 最近发现很多人在论坛中问到如何防止程序被多次运行的问题的,如: http://soc ...