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系列 源码总结+最近感悟
随机推荐
- python--教你做个最简单的tcp通信。。
TCP协议:建立在IP协议之上的,TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由I ...
- JDBC连接自定义sqlserver数据库实例名(多个实例)
java语言中,通过jdbc访问sqlserver2005(2008)数据库默认实例可以按常用的写法来写url连接.代码如下: <span style="font-size:12px; ...
- Git branch 分支与合并分支
Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master 新建一 ...
- 关于windows中80端口被占用
很奇怪,windows7系统中的80端口被pid 为4 的system进程监听. 尝试关闭IIS功能,并在这期间进行过多次重启,均无效. 后来依照这篇文件解决的:https://www.jianshu ...
- [7] Windows内核情景分析---线程同步
基于同步对象的等待.唤醒机制: 一个线程可以等待一个对象或多个对象而进入等待状态(也叫睡眠状态),另一个线程可以触发那个等待对象,唤醒在那个对象上等待的所有线程. 一个线程可以等待一个对象或多个对象, ...
- Steam API调试
概览 经过这些年,Steam 已经成长为一款大型应用程序,提供多款调试用单独模块及方法.本文将尽量向您呈现这些模块与方法,帮助您充分利用 Steam 与 Steamworks,减少烦恼. Steam ...
- Robot - 1. robot framework环境搭建
Fom:https://www.cnblogs.com/puresoul/p/3854963.html 一. robot framework环境搭建: 官网:http://robotframework ...
- 使用Oozie中workflow的定时任务重跑hive数仓表的历史分期调度
在数仓和BI系统的开发和使用过程中会经常出现需要重跑数仓中某些或一段时间内的分区数据,原因可能是:1.数据统计和计算逻辑/口径调整,2.发现之前的埋点数据收集出现错误或者埋点出现错误,3.业务数据库出 ...
- 转:【专题四】自定义Web浏览器
前言: 前一个专题介绍了自定义的Web服务器,然而向Web服务器发出请求的正是本专题要介绍的Web浏览器,本专题通过简单自定义一个Web浏览器来简单介绍浏览器的工作原理,以及帮助一些初学者揭开浏览器这 ...
- urlopen和urlretrieve
import urllib import re url = "https://www.duitang.com/search/?kw=%E9%AC%BC%E6%80%AA&type=f ...