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

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

Mysql BLOB类型介绍

BLOB类型的字段用于存储二进制数据 在MySQL中,BLOB类型,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储的大小不同。 TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

nginx介绍及常用功能

什么是nginx nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务。 Apache:重量级的,不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这些都决定了Apache不可能成为高性能WEB服务器  nginx:

多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信

目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds  总结  fd_set操作接口  timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充  获取新连接 注意点 -- 通信时的调用函数 添加新fd到

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器