zoukankan      html  css  js  c++  java
  • eMMC特性分析

    eMMC(embedded MultiMedia Card)是MMC协会制定,针对手机和平板电脑的内嵌式存储器标准规范。

    1、背景介绍

    纵观Nand Flash发展史,最开始闪存市场被三星和东芝霸占,各闪存生产商没有一套统一的设计标准。为了反抗三星和东芝的霸权,在旧金山IDF论坛上成立了ONFI(Open Nand Flash Interface)联盟,主要是其他闪存生产商联合起来抢三星和东芝的蛋糕。参与ONFI联盟的包括Intel,Micron,Hynix, SanDisk等厂家,他们制定了ONFI标准。三星和东芝也联合起来,制定了Toggle标准。同时,三星允许东芝生产和制造自己旗下的OneNAND和Flex-OneNAND闪存芯片,东芝开放自己的LBA-NAND和mobileLBA-NAND闪存芯片技术给三星。Nand Flash世界进入了ONFI和Toggle楚汉相争的时代。

    ONFI同步模式下使用时钟,数据、命令、地址都要与时钟同步。但是DQS,Clock都不是差分信号,所以边沿容易受干扰。

    Toggle同步模式下不使用时钟,写数据用DQS差分信号跳变沿触发,读数据根据主控发的REN差分信号跳变沿发读请求,DQS跳变沿输出数据。

    Nand Flash的标准不统一严重拖累了产品的研发周期,而且各Nand Flash无法保持兼容,因此无法顺利地实现器件替代。

    MMC协会看到了这些痛点,因此,革命性地制定了eMMC标准,eMMC中集成了一个控制器,它提供标准接口并管理Nand Flash。

    简言之,eMMC通过集成一个控制器,统一了对外的接口标准,把各Nand Flash的差异屏蔽在了eMMC内部,由各制造商自己解决,在手机和平板电脑领域结束了纷争。这也印证了计算机领域的一个真理——所有的问题都可以通过增加一个中间层解决。

    2、eMMC和Nand Flash

    Nand Flash通常需要在Host侧通过软件实现Flash Translation Layer用于坏块处理、擦写均衡、ECC校验等功能,所以Nand Flash驱动比较复杂。

    eMMC则在其内部实现了FTL层的功能,这样Host侧的eMMC驱动实现就相对简单了。

    3、eMMC总线

    eMMC采用串行差分信号进行数据传输,数据传输位宽可配置,默认为1位,即DAT0有效;可以配置为4位或者8位。

    CLK - 同步时钟信号

    Data Strobe - eMMC卡输出的同步时钟信号,在eMMC通过DAT信号线输出数据时,锁存数据

    CMD - 同MMC/SD协议,Host发送的Command和eMMC卡回复的Response只通过CMD信号交互

    DAT0~7 - 数据传输信号

    4、eMMC存储区

    eMMC内部将Flash Memory划分为几个区域:

    4.1、Boot Area Partition

    当系统上电时,通过特定的时序,可以让系统从主备启动分区启动。

    4.2、RPMB(Replay Protected Memory Block) Partition

    RPMB通过HMAC SHA-256和Write Counter来保证保存在RPMB内部的数据不被非法篡改。

    在实际应用中,RPMB分区通常用来保存安全相关的数据,例如指纹数据、安全支付相关的密钥等。

    4.3、GPP(General Purpose Partition)

    默认情况下,GPP分区是不存在的,需要通过软件进行特殊的配置,才能激活GPP分区。

    4.4、UDA(User Data Area)

    此区域通常用来存放系统和用户数据,很多应用场景中,只有User Data Area区域被使用。UDA区域通常使用MBR或者GPT格式进行分区。

  • 相关阅读:
    区块链入门
    上海美食餐厅
    《OD学hadoop》20160910某旅游网项目实战
    《OD学hadoop》20160904某旅游网项目实战
    《OD学hadoop》20160903某旅游网项目实战
    qt5-自定义类
    qt5-Qt Creator使用
    qt5-QPushButton按钮
    qt5-工程文件的介绍--快捷键
    电路分析-电阻
  • 原文地址:https://www.cnblogs.com/justin-y-lin/p/12262854.html
Copyright © 2011-2022 走看看