UFS和EMMC的区别--原理学习
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的区别--原理学习相关推荐
- UFS和eMMC闪存差异在哪?
首先我们需要知道UFS和eMMC各有什么技术特点,这里我们再用通俗的语言和大家分析一下,然后介绍这几项技术代表厂商分别都是谁,量产.成本又是一个怎样的情况.首先我们需要知道,一般一块闪存(就是我们常说 ...
- Redis主从复制原理学习
Redis主从复制原理学习总结 - 运维笔记 和Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的 ...
- Golang底层原理学习笔记(一)
LCY~~Golang底层原理学习笔记 1 源码调试 go源代码地址:GitHub - golang/go: The Go programming language 1.1 源码编译 现在的go语言大 ...
- SRAM SROM DRAM DROM DDR NAND FLASH EMMC的区别
SRAM SROM DRAM DROM DDR NAND FLASH EMMC的区别 RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保 ...
- 好东西——计算机原理学习(序)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/cc_net/article/details/10418711 序言 又有两年没有写Blog了, 这2 ...
- 计算机原理学习(1)
序言 又有两年没有写Blog了, 这2年从做windows phone 到 Android C++, 慢慢的很多观念也有所改变了.以前一心想做C#相关的工作,现在却感觉,什么语言都无所谓了.公司项目挺 ...
- 计算机原理学习(序)
转载地址:http://blog.csdn.net/cc_net/article/details/10418711 序言 又有两年没有写Blog了, 这2年从做windows phone 到 Andr ...
- 深度学习原理学习小结 - Self-Attention/Transformer
文章目录 深度学习原理学习小结 - Self-Attention/Transformer Self-Attention基本原理 引入 核心概念 计算方法 Transformer基本原理 知识补充 编码 ...
- 编译原理学习笔记2——高级程序设计语言概述
编译原理学习笔记2--高级程序设计语言概述 2.1常用的高级程序设计语言 2.2程序设计语言的定义 2.2.1语法 2.2.1语法 2.2.3程序语言的基本功能和层次机构 2.2.4程序语言成分的逻辑 ...
- Mybatis底层原理学习(二):从源码角度分析一次查询操作过程
在阅读这篇文章之前,建议先阅读一下我之前写的两篇文章,对理解这篇文章很有帮助,特别是Mybatis新手: 写给mybatis小白的入门指南 mybatis底层原理学习(一):SqlSessionFac ...
最新文章
- stream map方法_Java Stream中map和flatMap方法
- python软件开发的一般流程-django最快程序开发流程详解
- TypeScript学习笔记3:运算符
- 【Tools】git操作总结
- thinkphp5多级控制器是什么?怎么使用?
- Linux在文件第一行添加字符,使用shell命令给文件中每一行的前面、后面、指定列添加字符...
- 计算机网络基础高职pdf,高职《计算机网络基础》课程教学改革的思考.pdf
- 数值分析完整思维导图
- 无人机无线电干扰原理概论
- mysql视图唯一id_Mysql的视图、存储过程、函数、索引全解析
- c语言输入12行怎么输入,c语言中,定义什么型别的变数能同时储存数字跟字元,怎么输入...
- [TL-WDR7300] 如何当作交换机使用?
- JAVA生成九宫格图片 微信群头像(不限制张数)拿走即可用
- java怎么销毁session_「销毁session」java中session和cookie的创建与销毁
- java乐器培训班报名管理系统springboot+vue
- 2022年《国家职业教育智慧平台应用推广培训》课程-答案--(中职)已验证
- 年终盘点:管理之星物资检斤管理系统
- 贵州大学计算机研究生毕业收入,研究生毕业的你,收入如何?同学:勉强20万...
- linux篡改url命令,linux 使用curl命令访问url并模拟cookie
- 2018 Benelux Algorithm Programming Contest (BAPC 18) J-Janitor Troubles(计算几何公式)