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模块都是一块很好的敲门砖。