)
事先声明本文不用于任何商业行为仅用于本人学习与记录。所有截图版权均属于《Embedded Multi-Media Card (e•MMC) Electrical Standard (5.1)》欢迎点赞、收藏、转发分享给朋友禁止未经书面授权的复制、搬运、二次剪辑。如有引用请注明出处。标准规范仍然以《Embedded Multi-Media Card (e•MMC) Electrical Standard (5.1)》为准写在最前往后个人见解部分均用实线框出来。欢迎来到eMMC5.1系列相信大部分移动存储固件小伙伴首先接触的就是eMMC协议eMMC作为一个很老的协议了至今还在发光发热他绝对不是没有用的现在很多视频监控低端机等等用的都是eMMC可以简单类比TF卡(SD卡)一个是插进去的而eMMC是焊上去的。eMMC我认为最与UFS以及现在主流存储比如SATA/PCIE不同的是其完全不走SCSI命令有自己一套独特可CommondECSD等对于刚学习的小伙伴来说他其实内容不少。但是存储的基本知识都是共通的当你掌握了任意一个存储协议看其他的就会有一种噢~这个我见过的感觉那么废话不多说开始eMMC5.1的学习讲解前言本标准由 JEDEC 与 MMC 协会下文简称 MMCA共同制定。 JEDEC 在 MMCA 基础规范的基础上进行适配将其用于嵌入式场景并命名为eMMC。本标准旨在定义 e・MMC 的电气接口、工作环境以及使用规范为系统设计人员提供设计指导。本标准同时定义了一套工具集包含一组宏函数与算法用于降低设计导入工作量。引言eMMC 是一种托管型存储器可存储程序代码与数据专为移动设备设计。 eMMC 旨在满足移动设备所需的性能与功能特性同时保持低功耗。eMMC 器件具备多项特性既能在大批量数据传输时提供高吞吐也能适配代码访问场景中更为常见的小粒度随机数据读写性能同时内置多项安全功能。eMMC 通信基于一套先进的 11 信号总线对应的通信协议在本标准中定义称为eMMC 模式。eMMC 标准仅适用于嵌入式器件但这套协议与命令最初是为可插拔卡器件开发的。规范虽已更新删除了所有针对可插拔器件的描述但仍保留部分功能用于保证向后兼容。本文档用词约定shall / will表示标准中的强制要求should表示推荐要求但不作强制may表示可选特性器件可实现也可不实现不影响合规性由实现方自行决定。嵌入式多媒体器件产品标准eMMC 5.1源自 JEDEC 委员会投票文件 JCB-15-01由 JC-64.1 电气规范与命令协议分委会牵头制定1 范围本文档完整定义 eMMC 电气接口、工作环境以及使用规范同时提供设计指南并定义一套由宏函数、算法组成的工具集用以降低设计导入开销。2 规范性引用文件下列规范性文件中的条款通过本文引用构成本标准的条款。对于注日期的引用文件其后续的修改单、修订版本均不适用于本标准。但鼓励依据本标准订立协议的各方酌情考虑使用下述引用文件的最新版本。未注日期的引用文件适用其最新版本。 INCITST10 委员会SPC-4SPC SCSI 基础命令集3 术语和定义本规范中通用术语缩写约定如下地址空间定义映射主机地址空间eMMC 器件内可由主机软件通过读命令访问的区域。厂商私有专用地址空间eMMC 器件内主机软件无法通过读命令访问的区域。该区域存放厂商自定义内部管理数据这类数据可在出厂时烧入或是器件运行过程中生成例如存储厂商固件、映射表。该区域不包含任何主机下发给器件的数据或数据片段。未映射主机地址空间eMMC 器件内主机软件无法通过读命令访问的区域不包含厂商私有专用地址空间。该区域可能存放旧数据或者主机数据副本。Block若干字节是基本数据传输单元CID器件识别寄存器CLK时钟信号CMD命令线或 eMMC 总线命令扩展命令记作 CMDXXCRC循环冗余校验CSD器件特定数据寄存器DAT数据线 Data StrobeHS400 模式下使用的回传时钟信号DISCARD这是一条性能类命令主机可通过该命令标记不再需要的存储区域器件无需执行实际擦除动作。 注如需真正删除数据请参见 TRIM 命令。DDR双倍数据速率DSR驱动级寄存器D-VDD缓存存储器的正电源电压D-VSS缓存存储器的电源地D-VDDQ缓存存储器 I/O 的正电源电压D-VSSQ缓存存储器 I/O 的电源地e・MMC嵌入式多媒体卡缓存功能为可选特性仅支持单路 VDDi 引脚e²・MMC支持 e・MMC 缓存特性、并且带有三路 VDDi 引脚的 e・MMC 器件Empty Task Queue空任务队列指器件任务队列中没有就绪或待处理任务的状态ERASE块擦除操作该操作不需要执行实际的 NAND 物理擦除Flash一种可多次编程的非易失性存储器Group由多个写块组成是组合擦除与写保护的单位HS200高速接口时序模式200MHz 单数据速率总线最高带宽 200MB/s支持 1.8V 或 1.2V I/OHS400高速 DDR 接口时序模式200MHz 双倍数据速率总线最高带宽 400MB/s支持 1.8V 或 1.2V I/OISI码间干扰特指某一类噪声LOW、HIGH二进制接口电平状态各自对应规定的电压等级NSAC用于定义数据访问时间中与时钟频率相关系数的最坏情况值Non-Persistent存储器件的一部分区域掉电重启后内容会丢失MSB、LSB最高有效位 / 最低有效位OCR工作条件寄存器open-drain开漏一种逻辑接口工作模式。依靠外部电阻或电流源将接口电平上拉至高电平内部晶体管负责拉低至低电平 payload净数据push-pull推挽一种逻辑接口工作模式使用一对互补晶体管将接口电平驱动至高电平或低电平QSR队列状态寄存器RCA相对器件地址寄存器Reset复位指参数为 0x00000000 或 0xF0F0F0F0 的 CMD0、硬件复位或 CMD15ROM只读存储器RPMB重放保护存储块SSO同步开关输出特指某一类噪声Secure Purge安全清除。该操作作用于可寻址位置。执行该操作时会清除未映射主机地址空间内的全部数据清除动作依据 EXT_CSD 中安全擦除类型参数执行。根据上下文操作对象可以是一个或多个写块、写保护组。 注安全清除的定义与存储介质工艺相关上述定义基于 NAND 闪存。更多详情可参阅 DoD 5220.22-M Sanitizing method、DoD 5220.22M 文档以及 NIST SP 800-88。SQS发送队列状态。将 SQS 位置 1 发送 CMD13用于查询 QSR 寄存器 stuff bit填充位填充 0 比特保证命令与响应帧长度固定TAAC定义数据访问时间中与时间相关的系数three-state driver三态驱动器驱动电路具备三种输出状态高电平、低电平、高阻态高阻态下接口不驱动电平token令牌代表一条命令的码字TRIM该命令用于清除一个写组内的数据。执行 TRIM 之后对应区域读出来的值应为 0。它主要用作数据擦除命令作为性能命令可参考 DISCARDTuning Process调谐流程通常由主机执行用来寻找数据输入信号的最佳采样点。器件可按照 HS200 模式规范提供调谐数据块UI单位间隔即单个比特的标称时长。例如200MHz SDR 模式下 UI5ns200MHz DDR 模式下 UI2.5nsUTC协调世界时V_DD单电源器件下代表公共电源V_CCV_CCQ在讨论功耗电流时代表 V_CC 与 V_CCQ 的总消耗电流V_SS器件内核的电源地V_CC内核正电源电压V_CCQI/O 正电源电压V_CC可以理解为给eMMC各个元器件外设供电的。V_CCQ是给data线供电的也就是真正传输的01电平。V_SSQI/O 电源地Write Protection, Permanent永久写保护一种禁止写入与擦除的机制一旦开启无法撤销Write Protection, Power-on上电型写保护一种禁止写入与擦除的机制开启后只有发生掉电重启或者通过复位引脚复位器件时该保护才会解除Write protection, Temporary临时写保护可开启、可关闭的写入擦除禁止机制4 系统特性e・MMC 器件是一种托管型存储器定义了一套对存储阵列进行间接访问的机制。这类间接访问通常由独立控制器实现。间接访问的优势在于存储器器件可以自主执行多项后台存储管理任务无需主机软件参与从而简化主机侧的闪存管理层。e・MMC 器件支持以下特性系统电压范围VCC 和 VCCQ见表 111 线总线时钟、数据选通信号、1 位命令线、8 位数据总线以及硬件复位时钟频率范围0~200MHz三种不同数据总线位宽模式1 位默认、4 位、8 位数据保护机制密码保护永久写保护上电写保护临时写保护多种带错误保护的读写模式单块多块数据清除命令Erase擦除TrimSanitize安全擦除掉电时的数据保护机制可通过专用应用命令实现定制化方案省电睡眠模式增强主机与器件的通信机制用以提升性能断电通知高优先级中断HPI后台操作分区功能增强区域实时时钟分区属性上下文管理系统数据标记打包命令器件动态容量可选易失性缓存缓存增强屏障封装壳温检测命令队列增强数据选通封装壳温检测Boot Areas在指定启动模式下可以自动流式输出数据重放保护存储块的带签名访问机制两类大容量器件512 字节小扇区器件、4KB 大扇区器件该章节为先导章节了解有印象即可后面所有的都会涉及到~