MMC和eMMC的区别

news2024/9/25 13:20:55

MMC 和 eMMC 的区别

image

1. MMC

MMC(MultiMediaCard)是一种接口协议,定义了符合这一接口的内存器,称为 MMC 储存体或 MMC 卡。它是一种非易失性存储器件,广泛应用于消费类电子产品中。

1.1 外观及引脚定义

image

  • MMC卡共有七个触电(引脚),分为两种操作模式,分别为 MMC 模式与 SPI 模式。
  • 尺寸:(24mm*32mm*1.4mm)
  • 操作电压:2.7V ~ 3.6V
  • MMC卡 时钟频率是 20MHz,比 SD卡 少两个触电,只有1位数据带宽,所以最大传输速率为2.5MB/s。

2. eMMC

eMMC(Embedded MultiMedia Card)是 MMC 的一个扩展,专为嵌入式系统设计,主要用于手机或平板电脑等产品。eMMC 在封装中集成了一个控制器,提供标准接口并管理闪存,简化了终端产品存储器的设计。它由一个嵌入式存储解决方案组成,包括 MMC 接口、快闪存储器设备及主控制器,所有组件都在一个小型的 BGA 封装中。eMMC 的接口速度可以达到每秒400MB,具有快速、可升级的性能。

总结来说,MMC 是一种接口协议,而 eMMC 是基于该协议的嵌入式存储解决方案,包含了控制器和封装,适用于嵌入式系统中的存储需求。

3. emmc 和 Nandflash 的区别和联系

eMMC 是将 Nand Flash 和 Flash Controller 和 eMMC 接口等封装在一起的小型的存储系统。也就是说 eMMC 当中包含 NandFlash。

eMMC 将不同的 NandFlash 进行了统一的封装,留给我们开发者的是 eMMC 协议 和 eMMC 接口。

image

这样做的好处是:

3.1 简化系统存储设计,降低开发复杂度

在以前,每次 NAND 技术换代的时候,手机客户端也要重新设计,手机制造商需要选择新的与 NAND flash 匹配的 soc 芯片,而 soc 厂商一般要针对这款 NAND flash,重新设计 soc 芯片(主要是内部的 nand flash ccontroller),这种方式十分麻烦。

在推出 emmc 后,soc 厂商只需要在芯片上加上一个可以与 MMC标准通信的控制器(一般叫做 sdmmc controller/sd controller),这个控制器可以支持某种/某几种 eMMC 标准。同时 eMMC 芯片封装好 NAND flash,向外也提供一个统一的 eMMC 接口 (如 eMMC 4.3/4.4),此时只要给 soc 芯片选定好一个 eMMC 接口,连上二者即可通信了。

以前需要双方都进行更换芯片设计,现在只需要 eMMC 卡进行更换即可。

3.2 更新速度快

随着 Nand Flash 制程工艺的不断升级,主控的 Flash Controller 和 FTL 也需要不停的更新,才能支持新的 Nand Flash。

而 eMMC 将 Flash Controller 和 Nand Flash 封装在了一起,屏蔽了由于 Nand Flash 制程工艺而带来的差异,主控的 controller 和 driver 不需要做过多修改就能支持。

3.3 读写性能更好

eMMC 在 Nand Flash 的基础上,加入了 Cache、Memory array 等技术,大大提高了读写速度。

4. eMMC 与 SD卡 有什么不同?

eMMC(Embedded MultiMediaCard)和 SD卡(Secure Digital Card)都是基于 NAND 闪存技术的存储解决方案,但它们在设计、性能、应用和封装等方面有所不同。

以下是 eMMC 与 SD 卡的对比:

对比维度eMMCSD卡
构造嵌入式存储设备,集成在单个芯片中外部存储设备,通过卡槽和卡套安装
性能通常比 SD卡 更快,因为不需通过额外的通信层速度低于 eMMC,受限于卡套和卡槽通信
应用领域主要用于移动设备和嵌入式系统广泛用于数码相机、智能手机、平板电脑等消费电子产品
安全性不支持加密技术采用加密技术保护数据安全
成本通常比 SD卡 低,因为不需要额外的卡槽和卡套成本相对较高
封装类型BGA 封装,焊接在主板上通常为 TF卡 或 SD卡 形式,便于插入和移除
接口专用的 eMMC接 口通过 SDIO 接口或 SPI 模式通信

根据上述对比,eMMC 通常提供更好的性能和更低的成本,适合作为嵌入式系统的内部存储解决方案。而 SD卡 则因其便携性和通用性,适用于需要外部存储的多种消费电子产品。在选择两者时,应考虑具体的应用场景和性能需求。

4.1 SD卡 的外观及引脚定义

SD卡 为 Secure Digital Memory Card, 即安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备。它在 MMC 的基础上发展而来,增加了两个主要特色:SD卡 强调数据的安全,可以设定所储存的使用权限,防止数据被他人复制;另外一个特色就是传输速度比 2.11 版的 MMC卡 快。

image

  • 两个可选的通信协议:SD 模式和 SPI 模式

  • 可变时钟频率:0-25 MHz

  • 通信电压范围:2.0-3.6V

  • 工作电压范围:2.0-3.6V

  • 低电压消耗:自动断电及自动睡醒,智能电源管理

  • 数据寿命:10万次编程/擦除

  • 尺寸:24mm宽×32mm长×1.44mm厚

  • 正向兼容 MMC 卡

  • 卡片带电插拔保护

  • 具备写保护开关

  • SD卡 运行在 25MHz 的时钟频率上,数据带宽是4位,因此最大传输速率是12.5MB/s(12.5兆字节每秒)。

5. eMMC 在手机上通常如何实现数据读写操作?

eMMC(Embedded MultiMediaCard)在手机上实现数据读写操作的过程涉及多个步骤和协议。

5.1 数据读写流程

  1. 初始化和配置:手机的操作系统通过发送一系列命令来初始化 eMMC 设备,并配置必要的参数,如分配存储空间和设置工作模式。
  2. 数据传输:数据传输是以 block 为单位进行的,每个 block 后面跟随一个 CRC(循环冗余检查)校验。无论是读取还是写入操作,都允许单个或多个 block 的传输。对于多 block 传输,会在传输结束时发送一个停止命令(CMD12)。
  3. 读取操作:手机通过发送读取命令(CMD17 或 CMD18)指定要读取的 block 地址和数量。eMMC 设备响应后,按照指定的顺序发送数据块,并附加相应的 CRC 校验结果。
  4. 写入操作:手机发送写入命令(CMD24 或 CMD25)指定要写入的 block 地址和数据。eMMC 设备在接收到数据后执行 CRC 校验,并在校验成功后进行数据写入。写入完成后,eMMC 设备通过总线空闲信号(Busy signal)告知手机可以继续发送下一个 block 的数据。
  5. 错误处理:在数据传输过程中,如果发生错误,eMMC 设备会通过特定的响应命令通知手机。手机根据响应信息决定是否重试或采取其他措施。

5.2 性能优化和保护机制

  • eMMC 技术内置了 Flash Controller,负责完成擦写均衡、坏块管理和 ECC 校验等功能,提高了数据的可靠性和存储效率。
  • 高速的 eMMC5.1 标准允许实现高达 400MB/s 的顺序读取速度和 200MB/s 的顺序写入速度,这对于提高手机的数据处理速度至关重要。
  • eMMC 还支持高级错误校验与修正技术,以及可靠性增强功能,如硬件写保护和闪存控制器保护,确保数据的安全性和稳定性。

这些操作和机制共同确保了 eMMC 在手机上能够高效、稳定地处理数据读写任务。

6. 为什么 eMMC 适合嵌入式系统使用而不是普通 MMC?

eMMC(Embedded MultiMediaCard)是专门为嵌入式系统设计的存储解决方案,相比于普通的 MMC(MultiMediaCard),eMMC 具有以下优点,使其更适合嵌入式系统的使用:

  1. 集成度高:eMMC 将存储器芯片和控制器芯片集成在一起,形成单一的芯片,这种设计可以减小整体尺寸,提高集成度,降低成本。
  2. 专用接口:eMMC 使用标准 MMC 接口,这种接口专为嵌入式系统设计,可以提供稳定的数据传输和更好的电源管理。
  3. 性能优化:eMMC 内置了 ECC(Error Correction Code)和数据备份功能,这些技术提高了数据的可靠性,并且相对于普通 MMC,eMMC 的读写速度更快,尽管略逊于独立的 Flash 存储器,但对于嵌入式系统而言已经足够使用。
  4. 定制化分区:eMMC 支持特定的分区设计,如B OOT 分区和 RPMB(Replay Protected Memory Block)分区,这些分区有助于提高系统的启动效率和数据安全性。
  5. 功耗管理:eMMC 设计时考虑了低功耗的需求,适合用于移动设备和嵌入式系统,其功耗可能相对较低,有助于延长电池寿命。
  6. 成本效益:由于标准化生产和大规模流通,eMMC 的成本相对较低,适合大规模部署在消费电子和工业嵌入式系统中。

综上所述,eMMC 的高集成度、专用接口、性能优化、定制化分区、功耗管理和成本效益使其成为嵌入式系统的理想选择。普通 MMC 由于缺乏这些特性,通常不适用于对性能和集成度有较高要求的嵌入式系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1981470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件解析漏洞合集

IIS 解析漏洞 IIS6 目录解析 打开windows——server2003,在 wwwroot 目录下创建 1.asp ,在其中创建的所有文件都会在访问时以 asp 解析出来 畸形文件解析 在wwwroot目录下创建 2.asp;.jpg ,此文件上传时是 .jpg 后缀,但解析时由于 iis6 文…

transformer死亡9问

transformer死亡20问 1. Transformer为何使用多头注意力机制?2. Transformer为什么Q和K使用不同的权重矩阵生成,为何不能使用同一个值进行自身的点乘3. Transformer计算attention的时候为何选择点乘而不是加法?两者计算复杂度和效果上有什么区…

C#桌面开发(那些年你总走进误区的技术):异步多线程、异步事务与递归技术

1. 异步多线程 (Asynchronous Multithreading) 在C#桌面开发中,异步多线程是提高应用程序响应速度和性能的关键技术之一。以下是几个深入的技术点和示例代码。 1.1 使用async和await实现异步操作 C#的async和await关键字使得编写异步代码变得更加简单。以下是一个…

老司机也会翻车?通过自动建模技术轻松实现工程机械翻滚保护分析

什么是ROPS分析? ROPS分析,指的是"Roll-Over Protective Structure"(翻滚保护结构)的简称,这是一种用于评估和设计特殊设备(如前装载机、各种挖掘机、履带式推土机)的被动安全标准&am…

slam过程中每一帧的gt位姿如何计算

一般得到的每一帧数据类似如下: 4*4的变化矩阵,都属于相机到世界坐标系下的变化矩阵,如果是x,y,z和四元数也可以转换为这种4*4的矩阵。 第一帧为世界坐标系的原点,后续的位姿都基于这个原点进行变化。 def load_poses(path, n_im…

HCIA概述

一、OSI七层模型 1.物理层(七层) 定义物理设备的标准,主要对物理连接方式,电气特性,机械特性等制定统一标准,传输比特流,因此最小的传输单位——位(比特流)。 2.数据链…

差分专题的练习

神经&#xff0c;树状数组做多了一开始还想着用树状数组来查询差分数组&#xff0c;但是我们要进行所有元素的查询&#xff0c;直接过一遍就好啦 class Solution { public:int numberOfPoints(vector<vector<int>>& nums) {vector<int> c(105, 0);for (i…

Hadoop的安装和使用-2024年08月01日

Hadoop的安装和使用-2024年08月01日 1.创建Hadoop用户2.SSH登陆权限设置3.java的安装4.Hadoop单机安装配置5.Hadoop伪分布式安装配置 1.创建Hadoop用户 如果安装Ubuntu的时候不是用的“hadoop”用户&#xff0c;那么需要增加一个名为 hadoop的用户首先按ctrlaltt打开终端窗口&…

源代码加密防泄漏如何做?

源代码开发环境复杂&#xff0c;涉及的开发软件、文件类型庞杂多变&#xff0c;究竟有什么源代码加密防泄漏软件能够适应众多开发软件而不影响原有的工作效率&#xff1f; 相信这是很多IT管理员或者老板们都想要了解的问题&#xff0c;今天和行业内专业人士讨论&#xff0c;将…

【docker】虚拟化与docker基础

一、虚拟化 1.虚拟化概述 什么是虚拟化&#xff1f; 虚拟化&#xff1a;将应用程序和系统内核资源进行解耦&#xff0c;以操作系统级别进行隔离&#xff0c;目的是提高资源利用率 2、虚拟化的功能 将虚拟化的性能优化趋近于物理资源的性能&#xff0c;主要用于提高资源利用…

浏览器被360劫持了的解决办法

所有浏览器一打开就是360界面&#xff0c;查询资料解决 以谷歌浏览器为例&#xff1a;打开其exe的位置&#xff0c;将exe文件重命名&#xff0c;再次创建快捷方式即可

Kickstart自动安装系统

目录 一、Kickstart的介绍 1.1 为什么要使用Kickstart? 1.2 如何解决以上问题&#xff1f; 1.3 Kickstart的作用 二、实验环境 2.1 实验所需环境 2.2 测试所给的环境是否可用 三、安装Kickstart配置ks文件 3.1 安Kickstart 3.2 配置ks文件 3.2.1 使用图像配置工具配置…

日志采集格式

本实验需要两个虚拟机&#xff0c;一个用于配置&#xff0c;一个用于查看测试结果 node1主机上的配置 vim /etc/rsyslog.conf #添加配置&#xff0c;写入指定的日志格式 13 module(load"builtin:omfile" Template"HAHA") 14 $template HAHA,"%FROM…

Ceres Cuda加速

文章目录 一、简介二、准备工作三、实现代码四、实现效果参考资料一、简介 字Ceres2.2.1版本之后,作者针对于稠密矩阵的分解计算等操作进行了Cuda加速,因此这里就基于此项改动测试一下效果。 二、准备工作 1、首先是需要安装Cuda这个英伟达第三方库,https://developer.nvidi…

eclipse免安装版64位 2018版本(java开发软件)

前言 eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言&#xff0c;它只是一个框架和一组服务&#xff0c;用于通过插件组件构建开发环境。 一、下载地址 下载地址&#xff1a;分享文件&#xff1a;eclipse v2018.zip下载 二、安装步骤 1、下载解压后将…

日撸Java三百行(day13:链表)

目录 一、链表的基础知识 二、链表的代码实现 1.链表创建 2.链表遍历 3.链表定位查找 4.链表插入 5.链表删除 6.数据测试 7.完整的程序代码 总结 一、链表的基础知识 在之前顺序表的学习中&#xff0c;我们其实提到过链表。链表它是线性表在不同的物理存储方式下派生…

HarmonyOS 音视频之音频采集实战

HarmonyOS 音视频之音频采集实战 背景 应用开发过程中很多场景都有音频采集需求&#xff0c;比如聊天功能的发送语音功能&#xff0c;实时语音转文本功能&#xff0c;实时语音通话&#xff0c;实时视频通话等。在Android和iOS端&#xff0c;系统提供了两种形式&#xff1a; …

图+代码 | Bloom Filter实现及应用

什么是布隆过滤器&#xff08;Bloom Filter&#xff09;&#xff1f; 布隆过滤器是一种空间复杂度很低的概率型数据结构&#xff0c;用于判断一个元素是否在一个集合中。它有两种可能的返回结果&#xff1a; 元素可能在集合中&#xff1a;这可能是一个真阳性&#xff08;确实…

使用Variadic Templates(可变参数模板)实现printf

最近学习了C2.0版本的一些新的特性&#xff0c;利用Variadic Templates&#xff08;可变参数模板&#xff09;实现printf函数。 语言环境 Dev-C 5.11 并需要自己的环境是支持C11的&#xff0c;例如:Dev-C 5.11可以通过以下步骤进行修改&#xff1a; 源码 #include <io…

编程与AI:保持竞争力的策略

人工智能时代&#xff0c;程序员如何保持核心竞争力&#xff1f; 随着AIGC&#xff08;如chatgpt、midjourney、claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工…