查看原文
其他

科普:eMMC会被UFS淘汰吗?

IP与SoC设计 2022-04-29

提起eMMC,可能有不少小伙伴觉得还挺熟悉。闪存,用途广,离生活也比较近。随着技术的进步,越来越多的移动电子产品采用UFS而非eMMC,这种趋势给人一种eMMC是否要被淘汰,是否达到极限的感觉。今天我们就结合资料,来讲讲eMMC和UFS。


eMMC是什么


eMMC(Embedded Multi Media Card),是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。它由一个嵌入式存储解决方案组成,带有MMC(多媒体卡)接口、快闪存储器设备及主控制器。eMMC具有快速、可升级的性能,可以说它是在NAND闪存芯片的基础上,额外集成了控制器,并将二者“打包”封装封成一颗BGA芯片,从而减少了对PCB主板的空间占用,也是移动设备中普及度最高的存储单元。


针对Flash的特性,其内部已经包含了Flash管理技术,包括错误探测和纠正,flash平均擦写,坏块管理,掉电保护等技术。



eMMC内部是把NAND Flash芯片(Flash内存阵列)、Device Controller芯片(也叫Flash控制器、eMMC控制器)封装在一块。Flash控制器负责管理内存,并且提供标准接口,使得EMMC能够自动调整主机与从机的工作方式,没有位数限制,不需要处理其他繁杂的NAND Flash兼容性和管理问题,同时,控制器是其他应用和多媒体总线之间的联系介质,它能在应用程序总线和标准多媒体总线之前完成协议转换。


eMMC整体架构


速度:


eMMC4.4的读取速度大约为104MB/s、eMMC 4.5则为200MB/s,eMMC 5.0存储产品,其读取速度为400MB/s,而eMMC 5.1规范来说,其理论带宽为600MB/s左右。然而,其性能潜力已经基本到达瓶颈。



各组成部分


 NAND Flash


NAND Flash是一种非易失性的存储器,通常在嵌入式系统中用于存放系统、应用和数据等,类似与 PC 系统中的硬盘。


eMMC在内部对NAND Flash划分了几个主要区域,如下所示:



1、BOOT Area Partition 1&2


此分区主要是为了支持从eMMC启动系统而设计的。


该分区的数据,在 eMMC 上电后,可以通过很简单的协议就可以读取出来。同时,大部分的 SOC 都可以通过 GPIO 或者 FUSE 的配置,让 ROM 代码在上电后,将 eMMC BOOT 分区的内容加载到 SOC 内部的 SRAM 中执行。


2、RPMB Partition


RPMB 是 Replay Protected Memory Block 的简称,它通过 HMAC SHA-256 和 Write Counter 来保证保存在 RPMB 内部的数据不被非法篡改。


在实际应用中,RPMB 分区通常用来保存安全相关的数据,例如指纹数据、安全支付相关的密钥等。


3、General Purpose Partition 1~4


此区域则主要用于存储系统或者用户数据。General Purpose Partition 在芯片出厂时,通常是不存在的,需要主动进行配置后,才会存在。


4、User Data Area


此区域则主要用于存储系统和用户数据。


User Data Area通常会进行再分区,例如Android系统中,通常在此区域分出boot、system、userdata等分区。


 Flash Controller


NAND Flash直接接入Host时,Host端通常需要有NAND Flash Translation Layer,即NFTL或者NAND Flash 文件系统来做坏块管理、ECC等的功能。


eMMC则在其内部集成了Flash Controller,用于完成擦写均衡、坏块管理、ECC校验等功能。相比于直接将NAND Flash接入到Host端,eMMC屏蔽了NAND Flash的物理特性,可以减少Host端软件的复杂度,让Host端专注于上层业务,省去对NAND Flash进行特殊的处理。同时,eMMC通过使用Cache、Memory Array等技术,在读写性能上也比NAND Flash要好很多。



 标准接口


eMMC与Host之间的通信线,如下:



总线上信号用途如下:


(1)CLK

用于同步的时钟信号。


(2)Data Strobe

此信号是从Device端输出的时钟信号,频率和CLK信号相同,用于同步从Device端输出的数据。该信号在eMMC 5.0中引入。


(3)CMD

此信号用于发送Host的command和Device的response。


(4)DAT0-7

eMMC的双向数据总线,用于主机和设备之间的数据通信。它工作在应对快速的命令传输的推挽模式。DAT线在某一时刻只能支持单向传输,只能被设备或eMMC HOST一方控制。默认下,当用户上电或者复位的时候,仅能用DAT0一根线传输数据。同时,用户可以自己配置想要使用的DAT线的数量,也可以选择4根或者8根。当用户选择4根时,eMMC设备会断DAT1-3的内部上拉,如果用户选择的是8根,那么同理会断开DAT1-7的上拉。


Host与eMMC之间的通信都是Host以一个Command开始发起的。针对不同的Command,Device会做出不同的响应。



eMMC的操作模式


eMMC的五种操作模式:开机模式、ID辨识模式、中断模式、数据传输模式、无效模式。



什么是UFS


UFS,即Universal Flash Storage,中文名为“通用闪存存储”。此内存扩展标准是UFSHCI标准JESD223的扩展。UFSHCI标准定义了UFS驱动程序和UFS主机控制器之间的接口。除寄存器接口外,它还定义了系统内存中的数据结构,用于交换数据,控制和状态信息。此外,UFSHCI标准定义了这些层内的协议层结构和抽象实体。


通用内存可以将设备内部工作内存移动到系统内存中,从而降低整体系统成本并提高设备性能。


UFS是一种高性能接口,设计用于需要最小化功耗的应用,包括智能手机和平板电脑等移动系统以及汽车应用。


其高速串行接口和优化协议可显着提高吞吐量和系统性能。


数据传输形式:


 ·eMMC为半双工结构,同一时间下只能读取或者写入,但是UFS是全双工结构,既可以读取又可以写入。


 ·UFS使用的是差分传输结构,而eMMC使用的是单线传输形式需要考虑噪声容限等指标,且信号电平要高于UFS,因此速率受限不如UFS。


具体的速率比较如下,eMMC与UFS:


eMMC与UFS相比,其总线数量太多,但最终处理都是要变为串行机器码的,所以如果eMMC协议没有革新,则被UFS取代只是时间问题。况且因为温度导致的时序飘移等情况,在eMMC5.1版本下,为了优化在HS400模式下这个问题,专门增加了strobe这个引脚来自适应时序对其,如果eMMC再升高传输模式,则就需要做出新的改变。



eMMC与UFS总线传输形式


总线传输形式不一样,虽然都是同步传输方式,即就是都需要时钟信号作为参考;


 ·eMMC使用8条数据总线做复用(地址和数据,发送和接收),外加命令线以及新增的STROBE线;需要的IO口很多,比较复杂;


 ·UFS需要两组差分线,一条是时钟线就可以了,并且是双向数据发送接收,全双工;IO口配置也比较简单,就像USB3.0一样。





UFS传输协议:


UFS卡架构基于最先进的行业验证协议:移动行业处理器接口(MIPI)的M-PHY和UniPro,物理层和链路层采用JEDEC联盟标准,命令层采用SCSI命令。


UFS使用UniPro作为数据链路层。UniPro仅支持点对点链接,因为它们需要设备所需的最高数据速率。


UFS主机UniPro IP的主要组件是AXI接口,UFS主机控制器接口,UFS传输协议层(UTP),传输层,网络层,数据链路层,PHY适配器层和M-PHY。



UFS应用电路:


1)连接在CLK线上的电阻的目的是通过阻尼减少信号失真和EMI。


作为切换信号的CLK提供高功率谱,因此,阻尼电阻可以通过降低CLK信号的转换速率来降低现象。根据系统环境,该值可在0到47Ω之间选择。从实际角度来看,如果CLK迹线被布线为带状线或在内层,则可以去除串联阻尼电阻。


2)电源电容


电源引脚电容用来退耦以及储能。



eMMC与UFS的比较


eMMC的设计概念,就是为了简化内存储器的使用,将NAND Flash芯片和控制芯片合二为一。客户只需要采购eMMC芯片,放进裝置中,不需处理其它繁复的NAND Flash兼容性和管理问题。


它的最大优点是缩短新产品的上市周期和研发成本,加速产品的推陈出新速度,且相对便宜。


eMMC便宜的一大原因就是标准化。标准就可以大规模生产,大规模流通,大规模压货,大规模使用。产量增大,成本自然就低。所以eMMC的大规模性就决定了他的成本很有优势。eMMC便宜的另一大原因是内部使用MLC而不是SLC。实际上SLC的成本要远高于MLC的,但市场上流通的Nand很多还是SLC,为什么?因为MLC“质量”太差了,太容量出现坏块和翻转等,所以广泛使用的Nand还都是SLC的。因此它可以做到容量大、使用简单、价格便宜。

Tip:


·SLC

SLC(Single-Level Cell,单层单元)SSD在每个单元中存储一个Bit,这种设计提高了耐久性、准确性和性能。对于企业的关键应用程序和存储服务,SLC是首选的闪存技术。当然,它的价格最高。


·MLC

MLC(Multi-Level Cell,多层单元)架构可以为每个单元存储2个Bit。尽管在存储单元中存储多个Bit似乎能够很好地利用空间,在相同空间内获得更大容量,但它的代价是使用寿命降低,可靠性降低。相对而言,MLC SSD使得在PC和笔记本电脑上增加闪存成为可能。


UFS采用串行数据传输技术,只有两个数据通道但速率超越eMMC,工作模式为全双工模式,同一条通道允许读写传输,而且读写能够同时进行,传输效率效率提高。不论是数据传输技术,还是工作模式,UFS都全面领先于eMMC。


在目前智能手机的性能框架下,无论是UFS还是eMMC都无法发挥其理论速率,但总体而言,全双工模式、串行数据传输技术的UFS优于半双工模式、并行数据传输eMMC是毋庸置疑的。从未来的发展趋势来看,UFS显然比eMMC更加适合移动设备,也更加符合移动设备的发展进程。


但就现阶段来看,eMMC也不会马上被淘汰,更低的成本、更大的产量以及足够使用的性能还能适用于目前的移动设备。UFS也并非万能,综合各种因素,还不足以完全覆盖eMMC使用领域。eMMC的目标应用是对存储容量有较高要求的工业级及消费类电子产品,现在的许多车载电子、智能电视、AI Speaker、Wearable、VR/AR 以及Automotive已经逐步抛弃Nor或Nand,使用更为先进的eMMC芯片。


UFS相比于eMMC的优势:


1)抗EMI和串扰


如果从差分导体外部引入EMI或串扰,则将其同等地添加到反相和非反相信号。


因此,接收器电路极大地降低了干扰或串扰的幅度。


2)降低EMI和串扰


差分对中的两个信号产生(理想情况下)幅度相等但极性相反的电磁场。


这适用于UFS卡,并确保两个导体的发射在很大程度上相互抵消。


3)更好的信噪比


UFS卡中的差分信号可以使用较低的电压,并且由于提高了抗噪声性能,仍然保持足够的信噪比(SNR),而SD卡中的单端信号需要稳定的高电压以确保足够的SNR。


4)接收器电路的复杂性降低


将差分信号集成到UFS卡中,确定逻辑状态更简单,就像比较反相和非反相信号的电压一样。


然而,在SD卡的单端系统中,接收器电路更复杂,应考虑参考电压的值以及变化和容差。


5)专业物理/链接和命令层的优点



IP供应商详情可见:https://www.ip-soc.com/vendors(点进阅读原文进入)





本文综合自网络


参考资料:

1、https://blog.csdn.net/wangteng12345678/article/details/110311519

2、https://blog.csdn.net/wangguchao/article/details/102859553

作者:口袋里のInit

3、https://blog.csdn.net/u014645605/article/details/52061034

4、https://zhuanlan.zhihu.com/p/132387921

作者:朱有鹏

5、https://www.zhihu.com/people/icmaxhong-wang-ban-dao-ti

参考宏旺半导体部分内容

本文内容仅代表作者观点,不代表平台观点。

如有任何异议,欢迎联系我们。


往期精彩回顾




2021年的第一场雪!英特尔2020年Q4财报解读



使用抽象外壳提高动态功能交换解决方案的开发效率


博文速递:Physical Design Verification


2021年全球半导体产业研究报告


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存