本文转载自: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的区别--原理学习【转】的更多相关文章

  1. GIS原理学习目录

    GIS原理学习目录 内容提要 本网络教程是教育部“新世纪网络课程建设工程”的实施课程.系统扼要地阐述地理信息系统的技术体系,重点突出地理信息系统的基本技术及方法. 本网络教程共分八章:第一章绪论,重点 ...

  2. 计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理

    前言 对于我们80后来说,最早接触计算机应该是在95年左右,那个时候最流行的一个词语是多媒体. 依旧记得当时在同学家看同学输入几个DOS命令就成功的打开了一个游戏,当时实在是佩服的五体投地.因为对我来 ...

  3. XGBoost原理学习总结

    XGBoost原理学习总结 前言 ​ XGBoost是一个上限提别高的机器学习算法,和Adaboost.GBDT等都属于Boosting类集成算法.虽然现在深度学习算法大行其道,但很多数据量往往没有太 ...

  4. IIS原理学习

    IIS 原理学习 首先声明以下内容是我在网上搜索后整理的,在此只是进行记录,以备往后查阅只用. IIS 5.x介绍 IIS 5.x一个显著的特征就是Web Server和真正的ASP.NET Appl ...

  5. zookkeper原理学习

    zookkeper原理学习  https://segmentfault.com/a/1190000014479433   https://www.cnblogs.com/felixzh/p/58692 ...

  6. 转:SVM与SVR支持向量机原理学习与思考(一)

    SVM与SVR支持向量机原理学习与思考(一) 转:http://tonysh-thu.blogspot.com/2009/07/svmsvr.html 弱弱的看了看老掉牙的支持向量机(Support ...

  7. Android自复制传播APP原理学习(翻译)

     Android自复制传播APP原理学习(翻译) 1 背景介绍 论文链接:http://arxiv.org/abs/1511.00444 项目地址:https://github.com/Tribler ...

  8. (转)由su和su -的区别谈学习linux运维方法

    由su和su -的区别谈学习linux运维方法 原文:http://blog.51cto.com/oldboy/1053606 由su和su -的区别谈学习linux运维方法一例 老男孩Linux培训 ...

  9. Dubbo原理学习

    Dubbo源码及原理学习 阿里中间件团队博客 Dubbo官网 Dubbo源码解析 Dubbo源码解析-掘金 Dubbo源码解析-赵计刚 Dubbo系列 源码总结+最近感悟

随机推荐

  1. Docker 在转发端口时的这个错误Error starting userland proxy: mkdir /port/tcp:0.0.0.0:3306:tcp:172.17.0.2:3306: input/output error.

    from:https://www.v2ex.com/amp/t/463719 系统环境是 Windows 10 Pro,Docker 版本 18.03.1-ce,电脑开机之后第一次运行 docker ...

  2. uvm设计分析——field automation

    uvm中的field_automation主要实现了class中的基础元素的copy,compare等函数, 实现方式分为两种:1)用户注册,field系列宏:uvm内部调用static status ...

  3. GameObject.Find与Transform.Find的区别

    1.GameObject.Find 函数原型: public static GameObject Find(string name); 说明:1.GameObject只能查找到active的物体 2. ...

  4. linux本地机上传文件到服务器

    最近工作全部切换到了linux环境下,就是吃喝拉撒全在linux下,微信,web端,qq,web端,-------,各种socket编程,网络通讯- 本地linux机从阿里云下载文件

  5. html5常用数学 公式的用法

    <script>        // alert(Math.PI);        // alert(Math.floor(3.16));    // var a=Math.ceil(3. ...

  6. codeforces 980C Posterized

    题意: 255个像素格子,可以把这个255个分组,每组的大小不能超过k. 给出n个像素,要求每个像素用这组的key代表,并且表示出来的字典序要最小. 思路: 感谢js教本智障. 很自然的会想到贪心,也 ...

  7. sqlyog下载

    sqlyog下载(附注册码):http://www.onlinedown.net/soft/24926.htm

  8. 如何避免Scrum敏捷开发团队反思会形式化,海星法介绍

    如何避免Scrum敏捷开发团队反思会形式化? 迭代压力很大,根本没时间,而且,反思会上大家都在互相推脱责任,会议成了“批斗大会”,所以团队的人都觉得这个会很鸡肋. 很多团队在开反思会时是这么干的:产品 ...

  9. JustOj 1415: 字符串解压

    题目描述 豆豆非常调皮,总喜欢把一样的东西摆在一起,然后用神奇的猫爪功把他们揉成一团. 比如一堆A,就会被揉成个数+A. 这就是豆豆的字符串压缩算法了. 比如给豆豆一个字符串:ABBCCCDDDDEE ...

  10. Oracle中字符串连接的实现方法

    1.和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样. 例如: SELECT '工号为'||FNumber||'的员工姓名为 ...