SPI Flash,NOR Flash,NAND Flash,eMMC对比

SPIFlash和NORFlash是两种非易失性存储器,SPIFlash是使用SPI接口的NORFlash,常用于数据存储和设备间数据交换。NORFlash允许芯片内执行,适合代码存储,而NANDFlash有更高的存储密度和更快的写入速度,适用于大量数据存储。SPIFlash比NORFlash接口简单、成本低,但速度较慢。NANDFlash的擦除单元小,擦除速度快,但需要额外的主控接口。在选择时,需根据读写速度、成本和数据量需求来决定。

快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存卡与U盘。闪存是非易失性的存储器,所以单就保存数据而言, 它是不需要消耗电力的。

与硬盘相比,闪存也有更佳的动态抗震性。这些特性正是闪存被移动设备广泛采用的原因。闪存还有一项特性:当它被制成储存卡时非常可靠,即使浸在水中也足以抵抗高压与极端的温度。闪存的写入速度往往明显慢于读取速度。

SPI FLASH

首先它是个Flash,Flash是什么东西就不多说了(非易失性存储介质),分为NOR和NAND两种(NOR和NAND的区别本篇不做介绍)。SPI一种通信接口。那么严格的来说SPI Flash是一种使用SPI通信的Flash,即,可能指NOR也可能是NAND。但现在大部分情况默认下人们说的SPI Flash指的是SPI NorFlash。早期Norflash的接口是parallel的形式,即把数据线和地址线并排与IC的管脚连接。但是后来发现不同容量的Norflash不能硬件上兼容(数据线和地址线的数量不一样),并且封装比较大,占用了较大的PCB板位置,所以后来逐渐被SPI(串行接口)Norflash所取代。同时不同容量的SPI Norflash管脚也兼容封装也更小。,至于现在很多人说起NOR flash直接都以SPI flash来代称。

SPI FLASH与NOR FLASH的区别 详解SPI FLASH与NOR FLASH的不一样

NorFlash根据数据传输的位数可以分为并行(Parallel,即地址线和数据线直接和处理器相连)NorFlash和串行(SPI,即通过SPI接口和处理器相连)NorFlash;区别主要就是:1、SPI NorFlash每次传输一bit位的数据,parallel连接的NorFlash每次传输多个bit位的数据(有x8和x16bit两种); 2、SPI NorFlash比parallel便宜,接口简单点,但速度慢。

NandFlash是地址数据线复用的方式,接口标准统一(x8bit和x16bit),所以不同容量再兼容性上基本没什么问题。但是目前对产品的需求越来越小型化以及成本要求也越来越高,所以SPI NandFlash渐渐成为主流,并且采用SPI NANDFlash方案,主控也可以不需要传统NAND控制器,只需要有SPI接口接口操作访问,从而降低成本。另外SPI NandFlash封装比传统的封装也小很多,故节省了PCB板的空间。

今天主要说下SPI NorFlash。

二、有毛用啊

节省成本,减小封装,存储数据。

三、怎么用啊

怎么用说白了对于Flash就是读写擦,也就是实现flash的驱动。先简单了解下spi flash的物理连接。

之前介绍SPI的时候说过,SPI接口目前的使用是多种方式(具体指的是物理连线有几种方式),Dual SPI、Qual SPI和标准的SPI接口(这种方式肯定不会出现在连接外设是SPI Flash上,这玩意没必要全双工),对于SPI Flash来说,主要就是Dual和Qual这两种方式。具体项目具体看了,理论上在CLK一定的情况下, 线数越多访问速度也越快。我们项目采用的Dual SPI方式,即两线。

当前涉及到具体的SPI flash芯片类型了,所以必须也得参考flash的datasheet手册了。我们以W25Q64JVSSIQ为例。

这是基本信息的介绍,然后看下具体IO的定义

这个是WSON封装的管脚定义,其他详细信息参考datasheet。

硬件驱动的话也是和芯片强相关的,因为读写擦都是和硬件时序相关的,所以必须得参考硬件datasheet手册。

上面的datasheet都详细说明了每个操作的时序周期发送的命令。上图中,第一列是指令名称,第二列是指令编码,第三列及以后的指令功能与对应的指令有关。带括号的字节内容为flash向主机返回的字节数据,不带括号则是主机向flash发送字节数据。

A0A23:flash内部存储器地址;MID0MID7:制造商ID;ID0ID15:flash芯片ID;D0D7:flash内部存储的数据;dummy:指任意数据。

比如获取deviceID:

表示该命令由这四个字节组成,其中dummy意为任意编码,即这三个字节必须得发数据,但这些数据是任意的,上图命令列表中带括号的字节数据表示由FLASH返回给主机的响应,可以看到deviceID命令的第5个字节为从机返回的响应,(ID7~ID0),即返回设备的ID号。

代码如下:

uint32_t Get_Flash_DeviceID(void)

{

uint8_t deviceID= 0x00;

spiflashReset();

spi_write( 0xAB);

spi_write( Dummy);

spi_write( Dummy);

spi_write( Dummy);

deviceID = spi_write( Dummy);

spi_write( Dummy);

spiflashSet() ;

return deviceID;

}

NOR FLASH
  NOR Flash是一种非易失闪存技术,是Intel在1988年创建。

是现在市场上两种主要的非易失闪存技术之一。Intel于1988年首先开发出NOR Flash 技术,彻底改变了原先由EPROM(Erasable Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrically Erasable Programmable Read - Only Memory)一统天下的局面。紧接着,1989年,东芝公司发表了NAND Flash 结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。NAND的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于Flash的管理需要特殊的系统接口。通常读取NOR的速度比NAND稍快一些,而NAND的写入速度比NOR快很多,在设计中应该考虑这些情况。——《ARM嵌入式Linux系统开发从入门到精通》 李亚峰 欧文盛 等编著 清华大学出版社 P52 注释 API Key

性能比较

flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。

由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。

执行擦除时块尺寸的不同进一步拉大了NOR和NAND之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。

l 、NOR的读速度比NAND稍快一些。

2、 NAND的写入速度比NOR快很多。

3 、NAND的4ms擦除速度远比NOR的5s快。

4 、大多数写入操作需要先进行擦除操作。

5 、NAND的擦除单元更小,相应的擦除电路更少。

此外,NAND的实际应用方式要比NOR复杂的多。NOR可以直接使用,并可在上面直接运行代码;而NAND需要I/O接口,因此使用时需要驱动程序。不过当今流行的操作系统对NAND结构的Flash都有支持。此外,Linux内核也提供了对NAND结构的Flash的支持。

详解

NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。

像“flash存储器”经常可以与相“NOR存储器”互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。

NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理需要特殊的系统接口。

SPI FLASH与NOR FLASH的区别
  1、SPI Flash (即SPI Nor Flash)是Nor Flash的一种;

2、NOR Flash根据数据传输的位数可以分为并行(Parallel)NOR Flash和串行(SPI)NOR Flash;

3、SPI Nor Flash每次传输一个bit位的数据,parallel Nor Flash每次传输多个bit位的数据(有x8和x16bit两种);

4、SPI Nor Flash比parallel便宜,接口简单点,但速度慢。

SPI FLASH是指外接口符合SPI协议,也就是串口。

NOR FLASH与NAND 是相对的,指的是芯片内部的串型和并行。

SPI FLASH是NOR FLASH的一种。

NOR Flash

NOR Flash需要很长的时间进行抹写,但是它提供完整的寻址与数据总线,并允许随机存取存储器上的任何区域,这使的它非常适合取代老式的ROM芯片。当时ROM芯片主要用来存储几乎不需更新的代码,例如电脑的BIOS或机上盒(Set-top Box)的固件。NOR Flash可以忍受一万到一百万次抹写循环,它同时也是早期的可移除式快闪存储媒体的基础。CompactFlash本来便是以NOR Flash为基础的,虽然它之后跳槽到成本较低的 NAND Flash。

NAND Flash

NAND Flash式东芝在1989年的国际固态电路研讨会(ISSCC)上发表的, 要在NandFlash上面读写数据,要外部加主控和电路设计。NAND Flash具有较快的抹写时间, 而且每个存储单元的面积也较小,这让NAND Flash相较于NOR Flash具有较高的存储密度与较低的每比特成本。同时它的可抹除次数也高出NOR Flash十倍。然而NAND Flash 的I/O接口并没有随机存取外部地址总线,它必须以区块性的方式进行读取,NAND Flash典型的区块大小是数百至数千比特。

因为多数微处理器与微控制器要求字节等级的随机存取,所以NAND Flash不适合取代那些用以装载程序的ROM。从这样的角度看来,NAND Flash比较像光盘、硬盘这类的次级存储设备。NAND Flash非常适合用于储存卡之类的大量存储设备。第一款创建在NAND Flash基础上的可移除式存储媒体是SmartMedia,此后许多存储媒体也跟着采用NAND Flash,包括MultiMediaCard、Secure Digital、Memory Stick与xD卡。

EMMC

emmc存储器eMMC (Embedded Multi Media Card) 为MMC协会所订立的,eMMC 相当于 NandFlash+主控IC ,对外的接口协议与SD、TF卡一样,主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。这些特点对于希望通过缩小光刻尺寸和降低成本的NAND供应商来说,同样的重要。

eMMC由一个嵌入式存储解决方案组成,带有MMC(多媒体卡)接口、快闪存储器设备(Nand Flash)及主控制器,所有都在一个小型的BGA 封装。接口速度高达每秒52MBytes,eMMC具有快速、可升级的性能。同时其接口电压可以是 1.8V或者是 3.3V。

参考:
https://www.jdwx.info/article-991-1.html
http://m.elecfans.com/article/778203.html

<think>我们正在讨论NAND FlasheMMC对比、特点应用。根据引用内容,我们可以总结如下: 1. **NAND Flash**: - 是一种非易失性存储技术,属于闪存的一种。 - 特点:容量大、成本低、读写速度相对较慢(相对于NOR Flash),但比硬盘快。 - 缺点:需要复杂的控制器管理(坏块管理、ECC校验、磨损均衡等),否则容易出错。 - 应用:大容量数据存储,如SSD、U盘、SD卡等。 2. **eMMC (Embedded Multi Media Card)**: - 是在NAND Flash基础上集成了Flash控制器的封装形式。 - 特点:将NAND Flash芯片控制器集成在一个BGA封装中,对外提供标准接口(eMMC协议)。 - 优点:简化了主机端的设计,主机无需关心NAND Flash的物理特性,由控制器处理坏块管理、ECC、磨损均衡等。同时,通过使用缓存等技术,提高了读写性能。 - 应用:广泛应用于智能手机、平板电脑、嵌入式设备等作为主存储。 **对比**: - **结构差异**:NAND Flash是裸片,需要外部控制器;eMMC则是NAND Flash+控制器的完整解决方案。 - **使用复杂度**:使用NAND Flash需要主机端有专门的驱动坏块管理等算法;而eMMC对主机来说就像操作一个块设备,简单易用。 - **性能**:eMMC由于集成了控制器并优化,通常比直接使用NAND Flash性能更好。 - **成本**:eMMC由于集成度高,成本相对较高,但节省了主机端开发成本。 **应用场景**: - **NAND Flash**:适用于需要大容量存储且主机有能力管理NAND复杂性的场景,如SSD(SSD内部有自己的控制器)、高端嵌入式系统。 - **eMMC**:适用于对开发周期简化设计有要求的嵌入式设备,如手机、平板、物联网设备等。 **引用内容支持**: - 引用[1]指出:eMMC集成了Flash控制器,减少了Host端软件的复杂度,并提到eMMC在读写性能上比NAND Flash要好。 - 引用[3]指出:eMMC在需要高性能较大容量的场景中更为合适,但成本也相对较高。 - 引用[4]指出:eMMC是基于NAND的“集成化方案”。 根据以上信息,我们可以组织回答如下: </think>### NAND FlasheMMC 深度对比分析 #### 🧠 **核心结构差异** | **特性** | **NAND Flash** | **eMMC (Embedded MMC)** | |------------------|------------------------------------|----------------------------------| | **本质** | 裸存储芯片 | **NAND Flash + 集成控制器** | | **控制器** | 依赖外部主控(如SoC)管理 | 内置独立控制器(协议/坏块管理/ECC)[^1] | | **接口** | 原始并行/串行接口 | 标准eMMC协议接口(类似SD卡) | | **复杂度** | 主机需实现坏块管理/均衡算法 | 主机仅操作逻辑块设备(免驱动)[^1] | --- #### ⚡ **性能与技术特性对比** 1. **读写性能** - **NAND Flash**: - 理论带宽高(如ONFI 3.0达400MB/s) - 实际受限于主控能力,**随机读写性能弱** - 计算公式:$$ \text{实际吞吐量} = \frac{\text{页大小}}{\text{页读取时间} + \text{缓存时间}} $$ - **eMMC**: - 集成缓存优化随机性能(eMMC 5.1达250MB/s) - 支持**命令队列(CMDQ)** 提升并发效率[^1] 2. **可靠性与寿命** | **指标** | NAND Flash | eMMC | |---------------|---------------------|---------------------| | 坏块管理 | 需软件实现 | 控制器自动处理[^1] | | ECC校验 | 依赖外部算法 | 内置强ECC引擎 | | 磨损均衡 | 主机负责 | 控制器动态分配[^1] | | **寿命(P/E)** | SLC: 10万次 | TLC: 500-3000次 | | | MLC: 3千-1万次 | | 3. **功耗与成本** - **NAND Flash**: - 芯片成本低($/GB) - **系统总成本高**(需额外主控/开发投入)[^3] - **eMMC**: - 单位成本高约20-30% - **功耗优化显著**(休眠电流低至100μA)[^4] --- #### 🌐 **应用场景对比** | **场景** | **推荐方案** | **原因** | |-------------------------|---------------------|-----------------------------------| | 消费电子(手机/平板) | ✅ eMMC | 即插即用,简化设计周期[^3] | | 工业嵌入式系统 | ️ 按需求选择 | 高可靠性选SLC NAND + 定制主控[^2] | | 大容量存储(>128GB) | ✅ NAND Flash阵列 | 成本敏感,可扩展性强[^4] | | 启动设备(Bootloader) | ✅ eMMC | 分区管理安全(RPMB/Boot分区)[^1] | > 💡 **典型案例**: > - 智能手机:eMMC作为系统存储(安卓早期机型) > - SSD固态硬盘:NAND Flash阵列 + 高性能主控 > - 物联网设备:SPI NAND(成本敏感) vs eMMC(性能需求)[^3] --- #### 🔮 **技术演进趋势** 1. **NAND Flash发展方向** - 3D堆叠技术(176层以上)提升密度 - QLC/TLC占比上升(成本驱动) 2. **eMMC替代方案** - **UFS**:取代eMMC(手机旗舰机) - **NVMe**:高性能场景替代方案 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AiFool

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值