RAM、ROM、emmc、iNand、SD卡、mmc 与 Nandflash 的区别

首先来一个大的分类:
在这里插入图片描述
这里有一个历史的遗留问题:

ROM :只读存储器,这个说法其实有点问题。(因为现在的 ROM 不仅可以读、也可以进行写)

  • 最早的ROM,确实是只能进行读。
  • 后来发展就可以进行写入了,不同的写入方式:熔丝技术(只能写入一次)、高电压写入(可以写很多次)。
  • 因为擦除方式的不同,又分为 紫外线擦除电擦除

eMMC是 embedded MultiMediaCard 的简称,即嵌入式多媒体卡, 是一种闪存卡的标准。

  • 它定义了基于嵌入式多媒体卡的存储系统的物理架构和访问接口及协议,具体由电子设备工程联合委员会JEDEC订立和发布。
  • 它是对MMC的一个拓展,具有体积小,功耗低,容量大等优点,非常适合用作智能手机、平板电脑、移动互联网设备等消费类电子设备的存储介质。

eMMC = NAND flash + 控制器 + 标准封装接口。

1、emmc 和 Nandflsah 的区别

eMMC是将 Nand FlashFlash ControllereMMC接口 等封装在一起的小型的存储系统。也就是说 emmc 当中包含 NandFlash。

也就是说 emmc 内部包含:Nand FlashFlash ControllereMMC接口 三部分。

emmc 将不同的 NandFlash 进行了统一的封装,留给我们开发者的是 emmc 协议emmc接口

在这里插入图片描述

这样做的好处是:

1、简化系统存储设计,降低开发复杂度。

  • 在以前,每次NAND技术换代的时候,手机客户端也要重新设计,手机制造商需要选择新的与NAND flash匹配的soc芯片,而soc厂商一般要针对这款NAND flash,重新设计soc芯片(主要是内部的nand flash ccontroller),这种方式十分麻烦。
  • 在推出emmc后,soc厂商只需要在芯片上加上一个可以与mmc标准通信的控制器(一般叫做sdmmc controller/sd controller),这个控制器可以支持某种/某几种emmc标准。同时emmc芯片封装好NAND flash,向外也提供一个统一的emmc 接口(如emmc 4.3/4.4),此时只要给soc芯片选定好一个emmc接口,连上二者即可通信了。
  • 以前需要双方都进行更换芯片设计,现在只需要 emmc 卡进行更换即可。

2、更新速度快。

  • 随着Nand Flash制程工艺的不断升级,主控的Flash Controller和FTL也需要不停的更新,才能支持新的Nand Flash。
  • 而eMMC将Flash Controller和Nand Flash封装在了一起,屏蔽了由于Nand Flash制程工艺而带来的差异,主控的controller和driver不需要做过多修改就能支持。

3、读写性能更好。

  • eMMC在Nand Flash的基础上,加入了Cache、Memory array等技术,大大提高了读写速度。

2、emmc、SD卡、TF 卡 与 MMC卡的区别

eMMC SD TF MMC都是在MMC基础上演化发展不同的规范,比如物理尺寸,封装,电压,管脚,位宽,时钟信号等不同,但都使用相同的总线规范。
SD卡强调的是安全.
MMC强调是多媒体
SDIO强调的是接口,使用MMC规范,但连接一般是WIFI,蓝牙等。

(1)MMC 卡:

  • MMC存贮卡只有 7pin,可以支持 MMCSPI 两种工作模式。MMC是一种通信协议,支持两种模式SPI和MMC。
  • MMC模式是标准的默认模式,具有MMC的全部特性。
  • SPI模式则是MMC存贮卡可选的第二种模式,这个模式是MMC协议的一个子集
    在这里插入图片描述

(2)SD卡:

  • 数字安全记忆卡(Secure Digital Memory Card),是用于移动设备的标准记忆卡。SD卡为 9Pin
  • SD卡数据传送和物理规范由MMC发展而来,大小和MMC差不多。
  • 长宽和MMC一样,比MMC稍微厚了一点。兼容性方面SD卡向下兼容多媒体卡,即 MMC卡(Multi Media Card)。
  • SD卡也有 SD模式SPI 模式,在各个工作模式下引脚定义如下:
  • SD模式:4-line1-line 两种模式

在这里插入图片描述
在这里插入图片描述
(3)TF卡

  • microSD卡,8 pin,外形以及在 SDSPI 工作模式下引脚定义如下。

在这里插入图片描述


eMMC和SD卡都是将闪存控制器和NAND Flash封装在一起,只是接口不同,eMMC一般是BGA封装,焊接在PCB上,SD卡单独封装

参考文章:
http://www.wowotech.net/basic_tech/emmc_intro.html
https://blog.csdn.net/sinat_27746419/article/details/73604520
https://blog.csdn.net/qq_45683435/article/details/104880980

版权声明:本文为CSDN博主「想文艺一点的程序员」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/vincent3678/article/details/122226578

生成海报
点赞 0

想文艺一点的程序员

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

nodemcu 模块用mciropython 使用SD卡

使用sd卡可以扩大8266的存储器,使用时候很重要的是接线。 其他很容易。下面程序就是初始化、挂载sd卡、读sd卡里面main.cpp里面的代码行。 import machine, sdcard, os from machine

stm32f103rct6串口接收字符控制LED闪烁

最近在学单片机的串口,首先从串口发送接收开始吧,串口发送比较简单,下面讲讲串口接收字符串的情况。 单片机型号用的是 stm32f103rct6,IDE版本是keil 5。本代码是操作寄存器

MDK 分散加载文件剖析(一)

1、何为分散加载? 1.1 简介 分散加载就是我们开发者能指定你的 代码 或者 数据变量 到指定的内存空间中运行。通知链接器把程序的某一部分连接在存储器的某个地址空间,我们可以通过编写一个分散加载文件来指定 ARM