MMC/SD/eMMC/SDIO介绍

2023-10-29 13:10
文章标签 介绍 sd mmc emmc sdio

本文主要是介绍MMC/SD/eMMC/SDIO介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述发展历程

MMC是MultiMediaCard(多媒体存储卡的简称),于1997年由西门子和Sandisk推出,从本质上看,它是一种用于固态非易失性存储的内存卡(memory card)规范,定义了诸如卡的形态、尺寸、容量、电器信号、和主机之间的通信协议等方方面面的内容。

SD卡基于MMC发展而来,两者都是基于Nand Flash技术,二者最初的外观也很类似,SD卡比MMC卡厚0.7mm。

早期 SD 卡对 MMC 卡的兼容性较强,多数支持 SD 卡插槽的设备都可以同时支持 MMC 卡,反之只有 MMC 卡插槽的设备不能够支持 SD 卡。

随着 MMC 卡和 SD 卡的发展竞争,二者之间的差异越来越大,走向了截然不同的发展方向。

发展到今天, MMC 卡基本退出了历史舞台,转而走向了嵌入式领域,推出了 eMMC(embedded MMC) 标准,在嵌入式存储方面应用广泛。

SD 卡在移动存储卡领域的地位越发稳固,不断向大容量和高速度方向发展,推出了一系列接口标准,目前最新的理论传输速率已达 985MB/s。

二、MMC介绍

MMC卡(MultiMediaCard)的设计目标是提供一种“广泛应用于电子玩具、pda、照相机、智能手机、数字录音机、MP3播放器、寻呼机等等领域”的通用低成本数据存储和通信媒体。

2.1 MMC重要版本演进

2.1.1 MMC 1.x/2.x版本阶段

从目前可检索到的 MMC 技术文档来看,MMC 初始 1.0 版本的 Spec 在 1996 年就已经制定完成,1997 年推出相关产品。
从 1.0 到 2.0 版本的发展阶段在 1996-2000 年,该阶段 MMC 卡的形态及技术规格没有大的变化,主要是一些内部功能性的演进。
这个阶段 MMC 卡的主要特性:

  • Size:24mm x 32mm x 1.4mm
  • Pins:7pins
  • Bus Width:1bit
  • Bus Mode:MMC mode & SPI mode
  • Voltage:2.7 - 3.6V Clock:0 – 20MHz

外观大概是这个样子(图片来自网络):
MMC

2.1.2 MMC v3.x 版本阶段

v3.0 版本是 MMC 发展历史上一个重要的版本,该版本相对于 1.0/2.0 版本有重大变化。
但是由于 v3.0 版本在内部寄存器定义中有严重错误,v3.0 版本很快被更新为 v3.1,并且 v3.0 版本被废弃。

v3.1 版本新增了两个重要特性:

  1. 引入 Low Voltage 规格,支持 1.65 - 1.95V 工作电压
  2. 增加 multiple block read/write 特性,提升 Performance

v3.3 版本也是一个重要的版本,该版本新增 RS-MMC(Reduced Size MMC)规格,制定 24mm x 18mm x 1.4mm 尺寸规格,将 MMC 卡的大小减少近一半。
RS-MMC 只是物理尺寸的定义,硬件接口没有变化,外观大概这个样子(图片来自网络):
在这里插入图片描述

2.1.3 MMC v4.x 版本阶段

v4.x 系列版本从 2004 年开始发布,v4.x 是 MMC 最为流行的版本,也是目前为止持续时间最长的版本,从 2004 年 v4.1 发布到 2013 v5.0 发布共持续了 9 年。
其间,JEDEC (Joint Electron Device Engineering Council 电子元件工业联合会)采用 MMC4.1 标准作为 JEDEC 的闪存卡标准;
随后 MMCA(Multi Media Card Association 快闪记忆卡标准组织)正式并入 JEDEC,MMC 标准由 JEDEC 主导推进。
目前,从 JEDEC 官方站点可以下载到的 MMC 最早版本为 v4.1,其直接继承自 MMCA 的 MMC v4.1 版本。

2.1.3.1 MMC v4.1 版本

鉴于之前版本的 MMC 卡性能较差,v4.1 版本增加了以下重要的特性以提升性能并做到向后兼容:

  1. 工作频率支持三种模式:0-20MHz、0-26MHz、0-52MHz
  2. Bus Width 支持三种模式:1/4/8bits
  3. 定义了最低 Performance 标准:2.4MB/s
  4. 向后兼容 v3.x 版本 MMC(1 bit data bus,multicard systems)
  5. MMC mode 只支持 one card per MMC bus
  6. SPI mode 支持 MMC Chip Select Signal,可实现 multiple cards per MMC bus
  7. 提升 MMC 卡的存储容量

符合 v4.1 版本规格的 MMC 卡称为 HS MMC(High Speed MMC),由于 bus width 变化,所以 HS MMC 卡的接口增加了 6pins,变成 13pins
v4.1 版本对市场上的 MMC 产品进行了明确的划分,定义了两种 MMC 卡类型:MMCplus 和 MMCmobile,只有符合相应规格的卡片才能使用 MMCplus 或 MMCmobile logo。
MMCplus 和 MMCmobile 应用于不同的使用场景,均向后兼容 v3.x 20MHz clock 的工作模式。

2.1.3.1.1 MMCplus 规格

MMCplus规格:

  • size:24mm x 32mm x 1.4mm,全尺寸
  • Voltage:2.7 - 3.6V
  • Pins:13pins
  • bus width:1/4/8bits
  • Bus Mode:MMC mode & SPI mode
  • Clock:26MHz(52MHz 可选)
  • Performance:不低于 2.4MB/s

其外观如下图所示:
在这里插入图片描述

2.1.3.1.2 MMCmobile 规格

MMCmobile 规格:

  • size:24mm x 18mm x 1.4mm,符合 RS-MMC 标准
  • Voltage:2.7 - 3.6V/1.65 - 1.95V,支持 Low Voltage 模式
  • Pins:13pins
  • bus width:1/4/8bits
  • Bus Mode:MMC mode & SPI mode
  • Clock:26MHz(52MHz 可选)
  • Performance:不低于 2.4MB/s

其外观如下图所示:
在这里插入图片描述

2.1.3.1.3 MMCmicro 规格

Samsung 于 2004 年底发布了一款 MMCmirco 卡,该卡不同于 MMC Spec 中定义的 MMCplus 和 MMCmobile 规格,其尺寸降低至:12mm x 14mm x 1.1mm,大概为 RS-MMC 的 1/3。
MMCmicro 是 Samsung 发布的第三方规格,初期并没有收录到 MMC 标准中,依靠 Samsung 自身的影响力及其轻巧的尺寸占有一定的市场地位。
随后,MMCA协会也正式发布了 MMCmicro 的技术规范。在 2005 年 6 月底于瑞士苏黎世举行的 MMCA 夏季大会上,MMCA 全体参会成员一致同意将 MMCmicro 卡确立为 MMCA 新一代标准。
继 2004 年底 MMCA 发布 MMCplus 卡和 MMCmobile 卡之后,全新的微小尺寸的 MMCmicro 卡可谓是 MMC 技术的新一代标准。

MMCmicro 卡外观如下图所示:
在这里插入图片描述

2.1.3.2 MMC v4.2 版本

v4.1 版本定义的寻址方式为 Byte 寻址,理论上可以支持最大容量为 4GB。
v4.2 版本增加了 sector 寻址模式,每个 sector 为 512Byte,小于 2GB 容量的卡采用 Byte 寻址模式,大于 2GB 容量的卡采用 sector 寻址模式。
同时 v4.2 版本将 Low Voltage 工作电压范围修改为 1.7 - 1.95V

2.1.3.3 MMC v4.3 版本

v4.3 版本也是 MMC 发展史上一个具有里程碑式意义的版本,该版本引入了 eMMC 规格定义,支持 eMMC boot 启动功能,进入嵌入式领域。
重新定义了 CID 寄存器的格式,以区分 Device 是 eMMC 还是 MMC Card。
虽然 MMC Spec 并没有正式收录 MMCmicro 卡的规格,但是在 v4.3 Spec 还是增加定义了 MMCmicro 的 signal input capacitance(信号输入电容标准)。

2.1.3.4 MMC v4.4x 版本

v4.4 版本一个重要的改动是加入了 DDR(Dual Data Rate)模式,即信号的双边采样,在 clock 的上升沿和下降沿都会采样一次数据。
DDR mode 将理论传输速率提升了一倍,达到 104MB/s。
v4.4 版本还新增了 RPMB(Replay Protected Memory Block)功能,用于实现数据的加密读写。RPMB 主要用于系统一些关键私密的数据的存储。
接下来的 v4.41 版本主要增加了 Background Operations 和 High Priority Interrupt 两个可选的功能,不强制要求实现。

  • Background Operations 赋予 MMC/eMMC 执行后台操作的能力
  • High Priority Interrupt 允许 MMC/eMMC 的某些命令执行允许被更高优先级的任务中断
2.1.3.5 MMC v4.5x 版本

v4.5 版本是 MMC 发展史上另一个里程碑式的版本,该版本封面正式移除了 MMCA 的 logo,只保留了 JEDEC 的 logo,MMCA 退出历史舞台。
同时 v4.5 版本移除了 MMC Card 的支持,只保留 eMMC 的规格定义,MMC Card 也退出了历史舞台,进入了 eMMC 标准时代。
v4.5 版本其他重要的改进包括:

  • 增加 HS200 mode,将工作频率提高到 200MHz,理论传输速率可达 200MB/s
  • 增加 Cache 功能,进一步提升 eMMC 的性能。

2.1.4 eMMC v5.x 版本阶段

该阶段 eMMC 的发展的主要方向在于提升性能。
2013 年发布的 v5.0 版本增加了 HS400 mode,在 HS200 的基础上增加 DDR mode(信号双边采样),将理论传输速率提升至 400MB/s。
2015 年发布的 v5.1 版本增加了 Command Queue 功能,优化 eMMC 内部的操作效率,提升 eMMC 整体的 Performance。
v5.1 版本同时发布了一个 Command Queue Host Controller Interface(CQHCI)标准,用于 Host 端实现 Command Queue 硬件支持的设计标准。
另外 v5.1 版本新增了 HS400ES mode,在 HS400 mode 的基础上提高了 CMD Responce 接收到可靠性。

2.2 eMMC发展趋势

MMC 发展到今天,只剩下嵌入式应用的 eMMC 标准,但是在 2015 年 v5.1 版本发布后,已经有 4 年没有更新标准了。
eMMC 如果想进一步提升性能,就需要采用更高频率的 clock,对于 eMMC 使用的并行接口而言,可能会遇到信号完整性等方面的瓶颈。
2016 年 JEDEC 发布的 UFS 存储标准采用差分串行总线取代了 eMMC 的并行接口,可以达到远超 eMMC 的性能,有替代 eMMC 的趋势。
目前在高端手持移动设备领域,UFS 正在逐步替代 eMMC;在车机、低成本/低端的手持设备以及其他一些嵌入式设备中,eMMC 还占有较高的应用比例。
eMMC 和 UFS 目前都是 JEDEC 在维护开发,不存在竞争关系,从现状看,eMMC 再推出革命性的版本升级的可能性不大。
因此,可以猜测未来的发展趋势:
eMMC 可能会逐步被 UFS 取代,成为过时的技术;eMMC 也会长期存在于一些低成本或对存储性能要求不高的设备上。

三、SD介绍

SD(Secure Digital Memory Card) 卡是在 MMC 卡基础 上发展起来的,中文名称为:安全数字存储卡。
SD 卡发布之初,与 MMC 卡的最大区别就在安全(Secure)上,其支持 SDMI 标准,可提供保护 SD 卡上存储的音乐版权等功能。
SD 卡于 1999 年开发研制,Panasonic、Sandisk 和 Toshiba 于 2000 年成立了 SDA(SD Association) 协会主导 SD 卡的标准制定。
到目前为止,SD 卡的标准已经发展到 v7.0,在移动存储卡领域已经占据主导性地位。

3.1 SD重要版本演进

3.1.1 SD v1.xx版本阶段

v1.xx 版本阶段从 2000 年开始,持续到 2006 年 v2.xx 版本发布。
也许是受益于后发优势,SD 卡在初始 v1.00 版本就支持了双电压操作模式和 1/4bits bus width,上市之初其被市场接纳程度就超过同期的 MMC卡。
SD卡初始发布的 v1.00 版本规格的主要特性有:

  • Size:24mm x 32mm x 2.1mm(Normal)/24mm x 32mm x 1.4mm(Thin)
  • Pins:9pins
  • Bus Width:1/4bits
  • Bus Mode:SD mode & SPI mode
  • Voltage:2.0 - 3.6V/1.6 - 3.6V
  • Clock:0 – 25MHz
  • Performance:10MB/s

为了应对 RS-MMC 的市场竞争,2003 年由 SanDisk 率先推出了 miniSD,尺寸为:21.5mm x 20mm x 1.4mm,号称当时最小尺寸的 Nand 存储卡。
SD卡 和 MMC 卡在竞争中向前发展,2004 年发布的 SD v1.10 版本的主要竞争对手是 MMC v4.x 标准。
SD v1.10 引入了 High Speed mode,将 Clock 频率提升到 0 - 50MHz,最大理论 Performance 为 25MB/s,兼容 MMC v2.11 标准。
同时推出 TransFlash Card(又称 T-Flash 或者 TF 卡),后来统一为 microSD 卡。
microSD 的尺寸只有:11mm x 15mm x 1mm。
至此,SD 的物理尺寸一共有三种:SD、miniSD、microSD,在后来的市场筛选中只保留了 SD 和 mircoSD 两种标准,也就是现在可以买到的两种 SD 卡(如下图所示)。
在这里插入图片描述

3.1.2 SD v2.xx版本阶段

SD 卡和 MMC 卡类似,在三个方向发展进化:速度,容量,尺寸。
v1.xx 版本阶段,SD 卡的尺寸规格已基本定型,2006 年推出的 v2.00 标准将 SD 卡的容量扩展到 32GB,将 SD 卡容量分为 SD/SDHC 两种规格:

  • SD:Standard Capacity SD Memory Card,指 2GB 及以下容量的 SD 卡
  • SDHC:High Capacity SD Memory Card,指 2GB – 32GB 容量的 SD 卡

3.1.3 SD v3.xx版本阶段

2009 年开始发布的 v3.xx 版本是 SD 卡发展历史上很重要的一个阶段,虽然现在 SD 卡标准已发展到 v7.xx,但是 v3.xx 依然非常流行。
v3.xx 在 v2.xx 版本的基础上有如下重大更新:

  • 新增 SDXC 容量标准,SDXC 规格的 SD 卡容量为 32GB – 2TB
  • 引入 UHS-I (Ultra High Speed)总线标准,将 Clock 提升到 208MHz,最高理论传输速率为 104MB/s

到 v3.xx 版本,SD 卡基本分类:

  • 容量:SD(0-2GB),SDHC(2 - 32GB),SDXC(32GB – 2TB)
  • 速度:Default(0 - 25MHz),High Speed mode (0 - 50MHz),UHS - I(0 -208MHz)

3.1.4 SD v4.xx版本阶段

从 v3.xx 版本到 v4.xx 版本,可以算作 SD 卡发展到一个分水岭。
在 v3.xx 版本,SD 卡支持的 Bus 规格都是 4bits 宽度的并行总线,最高工作频率达到 208MHz,理论传输速率可达 104MB/s。
和 eMMC 遇到的问题一样,v3.xx 版本的 SD 标准想进一步提高传输速率的话,4bits 的并行总线会成为其阻力。
因此 v4.xx 版本引入了 UHS-II mode,该 mode 使用了低电压串行差分总线技术,将理论传输速率提升至 312MB/s,支持全双工模式,单路理论速率为 1.56Gbps。

3.1.5 快速发展阶段

v4.20 版本之后,SD 标准进入了一个快速发展阶段,下面这张 SD 技术演进图可以很好地展示其发展脉络。
在这里插入图片描述
v5.xx 版本统一了 SD 卡容量和速度的分类规范
v6.xx 版本引入了新的速度模式,UHS-III,将理论传输速率提升至 524MB/s
v7.xx 版本在速度和容量都有升级,推出了 SDUC 容量规格,总线传输支持 PCIe,理论传输速率提升到 940MB/s

3.2 SD 发展趋势

从 SD 标准的技术发展现状和市场现有的 SD 卡产品来看,标准的制定已经远远领先于产品技术的发展。
当下 SD 卡的发展方向无非就是更大的容量和更快的速度,这两个发展方向都依赖于固态存储的技术进步。
SD 标准已经将传输管道做得足够粗,接下来就看各 SD 卡厂商如何填满这个粗管道,有效利用其传输性能。

四、SDIO介绍

SDIO(Secure Digital Input and Output)安全数字输入输出卡定义了一种外设接口。它是在SD卡接口的基础上发展而来,可以兼容之前的SD卡,并可以连接SDIO接口设备,比如:蓝牙、WIFI、照相机等。
SDIO和SD卡规范间的一个重要区别是增加了低速标准。低速卡的目标应用是以最小的硬件开支支持低速I/O能力。低速卡支持类似调制解调器、条码扫描仪和GPS接收器等应用。

SDIO特点:
①与多媒体卡系统规格书版本4.2全兼容。支持三种不同的数据总线模式:1位(默认)、4位和8位。
②与较早的多媒体卡系统规格版本全兼容(向前兼容)。
③与SD存储卡规格版本2.0全兼容。
④与SDI/O卡规格版本2.0全兼容:支持两种不同的数据总线模式:1位(默认)和4位。
⑤完全支持CE-ATA功能(与CE-ATA数字协议版本1.1全兼容)。8位总线模式下数据传输速率可达48MHz。
⑥数据和命令输出使能信号,用于控制外部双向驱动器。

五、总结

MMC 和 SD 作为两种同源的存储技术经历了 20 多年的发展,到今天走向两个不同的技术路线。
MMC 发展为 eMMC 标准面向嵌入式存储领域,SD 在移动存储领域深耕。
从二者目前的发展趋势看,eMMC 正在被更先进的 UFS 技术标准取代,SD 的发展前景似乎更为广阔。
技术的发展日新月异,随着 5G 和云存储技术的发展,无处不在的高速网络连接和越来越低的云存储成本将是必然的趋势。
这些技术进步将会对 UFS/eMMC/SD 等本地存储技术造成什么样的冲击,我们拭目以待。

参考:
MMC & SD 发展历史
SD/SDIO/EMMC

这篇关于MMC/SD/eMMC/SDIO介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/300868

相关文章

揭秘未来艺术:AI绘画工具全面介绍

📑前言 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。在艺术创作领域,AI技术同样展现出了其独特的魅力。今天,我们就来一起探索这个神秘而引人入胜的领域,深入了解AI绘画工具的奥秘及其为艺术创作带来的革命性变革。 一、AI绘画工具的崛起 1.1 颠覆传统绘画模式 在过去,绘画是艺术家们通过手中的画笔,蘸取颜料,在画布上自由挥洒的创造性过程。然而,随着AI绘画工

20.Spring5注解介绍

1.配置组件 Configure Components 注解名称说明@Configuration把一个类作为一个loC容 器 ,它的某个方法头上如果注册7@Bean , 就会作为这个Spring容器中的Bean@ComponentScan在配置类上添加@ComponentScan注解。该注解默认会扫描该类所在的包下所有的配置类,相当于之前的 <context:component-scan>@Sc

C++标准模板库STL介绍

STL的六大组成部分 STL(Standard Template Library)是 C++ 标准库中的一个重要组成部分,提供了丰富的通用数据结构和算法,使得 C++ 编程变得更加高效和方便。STL 包括了 6 大类组件,分别是算法(Algorithm)、容器(Container)、空间分配器(Allocator)、迭代器(Iterator)、函数对象(Functor)、适配器(Adapter)

一二三应用开发平台应用开发示例(4)——视图类型介绍以及新增、修改、查看视图配置

调整上级属性类型 前面为了快速展示平台的低代码配置功能,将实体文件夹的数据模型上级属性的数据类型暂时配置为文本类型,现在我们调整下,将其数据类型调整为实体,如下图所示: 数据类型需要选择实体,并在实体选择框中选择自身“文件夹” 这时候,再点击生成代码,平台会报错,提示“实体【文件夹】未设置主参照视图”。这是因为文件夹选择的功能页面,同样是基于配置产生的,因为视图我们还没有配置,所以会报错。

49-1 内网渗透 - Bypass UAC介绍

一、Bypass UAC         用户账户控制(UAC)是Windows操作系统的一种安全机制,旨在防止未经授权的应用程序自动安装并防止非授权修改系统设置。它确保应用程序和任务通常在非管理员账户的安全上下文中运行,除非明确需要管理员权限,用户才会被提示确认。         对于非RID 500的管理员用户(除了内置的Administrator账户),当他们登录时,系统会为其分配两个访

okhttp3的详细介绍

这篇文章说下OkHttp的基本用法,是最新的3哦,如果你曾经在网上搜索OkHttp怎么使用发现有些类没有了可能是因为人家说的是2。首先说下OkHttp3是Java和Android都能用,Android还有一个著名网络库叫Volley,那个只有Android能用。导入自己到入jar包,别漏了okio:okhttp-3.3.0.jarokio-1.8.0.jarmaven方式:<dependen

Retrofit详细介绍

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51910837 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的收货! 一、Retrofit 是什么? Retrofit is a type-safe HTTP client for Android and java. Retrofit 是与 Web 服务器提

Retrofit介绍案例

Retrofit这东西我就不多做解释了,反正最近应用很广,基本都快和OkHttp一起成为安卓的事实网络访问标准框架了。   这么好的一个东西,官网文档实在是不算太好,说的不太清晰。按官网的经常会有“Could not locate ResponseBody converter for”问题。 反正折腾了一番,终于跑出来了一个例子。这里把正确的例子写出来,方便大家参考。 首先要注意

okclient2详细介绍

在 Java 程序中经常需要用到 HTTP 客户端来发送 HTTP 请求并对所得到的响应进行处理。比如屏幕抓取(screen scraping)程序通过 HTTP 客户端来访问网站并解析所得到的 HTTP 文档。在 Java 服务端程序中也可能需要使用 HTTP 客户端来与第三方 REST 服务进行集成。随着微服务(microservices)的流行,HTTP 成为不同服务之间的标准集成方式。H

Hbase特性介绍

1、什么是Hbase。 是一个高可靠性、高性能、列存储、可伸缩、实时读写的分布式数据库系统。 适合于存储非结构化数据,基于列的而不是基于行的模式 如图:Hadoop生态中HBase与其他部分的关系。 2、关系数据库已经流行很多年,并且Hadoop已经有了HDFS和MapReduce,为什么需要HBase? Hadoop可以很好地解决大规模数据的离线批量处理问题,但是,受限于Hadoo