0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

EMMC基础知识简介

冬至子 来源:木马男孩 作者:木马男孩 2023-07-03 15:52 次阅读

eMMC 是 embedded MultiMediaCard 的简称。MultiMediaCard,即 MMC, 是一种闪存卡(Flash Memory Card)标准,它定义了 MMC 的架构以及访问Flash Memory 的接口和协议。而 eMMC 则是对 MMC 的一个拓展,以满足更高标准的性能、成本、体积、稳定、易用等的需求。

eMMC 的整体架构如下图片所示:

图片

图片:eMMC 整体架构

eMMC 内部主要可以分为 Flash Memory、Flash Controller 以及 Host Interface 三大部分。

Flash Memory

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

目前,绝大部分手机和平板等移动设备中所使用的 eMMC 内部的 Flash Memory 都属于 NAND Flash,关于 NAND Flash 的更多细节可以参考 Flash Memory 章节。

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

图片

图片:eMMC 内部分区

  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 等分区。

更多 eMMC 分区相关的细节,请参考 eMMC 分区管理 章节。

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 要好很多。

图片

图片:NAND Flash 与 eMMC

Host Interface

eMMC 与 Host 之间的连接如下图所示:

图片

图片:eMMC Interface

各个信号的用途如下所示:

CLK

用于同步的时钟信号

Data Strobe

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

CMD

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

DAT0-7

用于传输数据的 8 bit 总线。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NAND
    +关注

    关注

    16

    文章

    1546

    浏览量

    134799
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162001
  • GPIO
    +关注

    关注

    16

    文章

    1135

    浏览量

    50580
  • SRAM控制器
    +关注

    关注

    0

    文章

    11

    浏览量

    5861
  • emmc
    +关注

    关注

    6

    文章

    180

    浏览量

    52018
收藏 人收藏

    评论

    相关推荐

    eMMC的相关基础知识(1)

    引言:eMMC是一种使用非常广泛的存储器件,从消费电子,工业领域,到车规等级,以其性能优良,高可靠性,调试便捷等等特点,成为芯片最小系统构建不可或缺的一员,本节介绍eMMC的相关基础知识
    发表于 08-15 11:46 4927次阅读
    <b class='flag-5'>eMMC</b>的相关<b class='flag-5'>基础知识</b>(1)

    eMMC的相关基础知识(2)

    如图7-1所示,eMMC系统包含五种操作模式.
    发表于 08-15 11:47 1577次阅读
    <b class='flag-5'>eMMC</b>的相关<b class='flag-5'>基础知识</b>(2)

    单片机基础知识简介

    单片机基础知识简介
    发表于 08-05 21:10

    DAQ基础知识简介

    DAQ基础知识简介.
    发表于 10-29 19:34

    DAQ基础知识简介

    DAQ基础知识简介
    发表于 11-01 20:53

    PLC基础知识简介

    PLC基础知识简介:在自动化控制领域,PLC 是一种重要的控制设备。目前,世界上有200 多厂家生产300多品种PLC 产品,应用在汽车(23%)、粮食加工(16.4%)、化学/制药(14.6%)、金
    发表于 07-05 17:43 126次下载

    DAQ基础知识简介

    DAQ基础知识简介 本节主要介绍数据采集技术的基本知识点,包拪以下三个方面的内容:1. 一个完整数据采集系统的基本组成部分2. NI提供了基于哪些平台
    发表于 03-26 11:30 32次下载

    PCB基础知识简介

    PCB基础知识简介 PCB的英文全称:Printed Circuie Board,中文全称是:印制线路板 PCB是英文(Printed Circuie Board)印制线路板的简称。通常把在绝
    发表于 04-07 16:23 3646次阅读

    PLC基础知识简介

    PLC基础知识简介 在自动化控制领域,PLC是一种重要的控制设备。目前,世界上有200多厂家生产300多品种PLC产品,应用在汽车(23%)、粮
    发表于 06-20 11:52 1066次阅读

    三极管基础知识及检测方法简介

    三极管基础知识及检测方法简介 一、晶体管基础
    发表于 11-28 10:49 1505次阅读

    安规电容基础知识简介

    安规电容基础知识简介内容有什么是安规电容、X 电容和Y电容,它们用在电源滤波器里,起到电源滤波作用,分别对共模,差模工扰起滤波作用。
    发表于 11-28 11:35 1505次阅读

    FPGA基础知识简介

    FPGA基础知识简介 FPGA技术的发展历史纵观数字集成电路的发展历史,经历了从电子管、晶体管、小规模集成电路到大规模以及超大规模集成
    发表于 02-09 08:34 1282次阅读

    ISO和CMM基础知识简介

    ISO和CMM基础知识简介 摘要:本文抛开以往比较 CMM 和 ISO 两种质量管理体系时仅从体系本身的特点上入手的套路,尝试从两种体系在组
    发表于 04-13 17:01 9873次阅读

    matlab基础知识简介

    介绍了matlab的变量,函数,文件等基础知识
    发表于 12-17 17:01 10次下载

    MATLAB基础知识MATLAB的简介,编程环境和基本操作的详细概述

    MATLAB基础知识MATLAB的简介,编程环境和基本操作的详细概述
    的头像 发表于 06-02 10:18 7095次阅读
    MATLAB<b class='flag-5'>基础知识</b>MATLAB的<b class='flag-5'>简介</b>,编程环境和基本操作的详细概述