目录
一、norflash介绍
1.简介
NOR Flash,也称为NOR型闪存,是一种非易失性存储器(NVM),它可以在不需要持续电力供应的情况下保留存储的数据。NOR Flash以其高可靠性和直接执行代码(eXecute In Place, XIP)的能力而著称,这使得它成为嵌入式系统和某些特定应用的理想选择,我们常用的片内flash通常都是norflash,STM32的代码在片内flash中运行,而不是在片内RAM里面。
2.特性
-
直接执行代码:NOR Flash允许代码直接在闪存芯片内执行,无需先将其加载到RAM中。这大大加快了启动速度,并减少了系统对RAM的需求。
-
快速读取:NOR Flash具有更快的读取速度和更低的读取延迟。这使得它在需要快速访问数据的应用中更为适用。
-
随机访问:NOR Flash支持字节级别的随机访问,允许对单个字节或字进行读写操作。
-
高可靠性:NOR Flash具有较高的耐久性和数据保持能力,可以在多种环境下稳定工作。
-
缺点:成本相对较高,并且写入和擦除速度相对较慢。
3.工作原理
NOR Flash的每个存储单元都连接到输出端,构成NOR电路结构,通过MOS电路进行数据的存储和读取,可以长时间保存数据,不需要维持持续的电流输入。存储单元由一对P型和N型MOS电晶体组成,形成双稳态电路。通过输入脉冲的高低电平来控制电荷的存储和释放。
扇区是NOR Flash擦除的最小单位,NOR Flash每次最少擦除一个扇区,每个扇区的大小不是固定,有可能是 16KB,也可能是64KB,例如STM32F429的主存储器,分为两个bank,每个bank分为12个扇区,前 4 个扇区为 16KB 大小,第五个扇区是 64KB 大小,剩下的 7 个扇区都是 128K 大小,总共 1M 字节。
二、nandflash介绍
1.简介
NAND Flash是一种非易失性存储器,内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。
2.特性
- 容量与密度:NAND Flash的结构使其能够提供极高的单元密度,从而达到高存储密度23。
- 数据总线:数据、地址采用同一总线,实现串行读取。
- 读取速度:随机读取速度相对较慢。
- 尺寸与引脚:芯片尺寸小,引脚少,是位成本(bit cost)最低的固态存储器。
- 失效块:芯片包含有失效块,其数目取决于存储器密度,但失效块不会影响有效块的性能。
- 管理方式:需要特殊的系统接口来管理23。
- 数据完整性:由于存储在NAND中的数据容易发生错误,所以通常采取一定的算法对数据进行编码和解码,以验证数据是否出错。
3.工作原理
- 基本结构:NAND Flash由许多存储单元组成,每个存储单元可以存储一个或多个比特的数据。这些存储单元被分为页(Page)和块(Block),每页通常为2KB或4KB,每块通常为128KB或256KB。
- 存储原理:NAND Flash使用电荷量来存储数据。每个存储单元中的栅极上存储了一定数量的电子,表示为1或0。当需要读取或写入数据时,通过对栅极施加适当的电压来控制电荷量。具体来说,Flash的基本组成单元是浮栅晶体管,其状态可以用来指示二进制的0或1。写操作就是往晶体管中注入电子,使之充电;擦除操作则是把晶体管中的电子排出,使之放电。
- 读取操作:读取操作通过施加一定的电压来检测栅极上的电荷量。如果电荷量高于某个阈值,表示存储单元为1;如果低于阈值,表示存储单元为0,读取的最小单位是页。
- 写入操作:写入操作分为擦除和写入两个步骤。
- 擦除:Flash存储单元只能整体擦除,即擦除一个块中的所有页。擦除操作通过施加高压来清空存储单元中的电荷。
- 写入:NAND Flash存储器中的页是其最小可编程单位,通常大小为2KB、4KB或8KB。写入数据时,FLASH 的写操作具有只可以写 0,不能写 1 的特性,所以,在写数据的时候,必须先擦除 block(擦除后,block 数据全部为 1)。
- 坏块管理:由于NAND Flash存储单元的不可靠性,会出现一些坏块。为了保证数据的可靠性和存储空间的利用率,NAND Flash使用坏块管理算法来跳过坏块,将其标记并不再使用。
三、norflash和nandflash的区别
1.读取方面
norflash的最小读取单位是字节(Byte),nandflash的最小读取单位是页(Page)。
2.擦除方面
norflash的最小擦除单位是扇区(SECTOR),nandflash的最小擦除单位是块(Block)。
3.写入方面
norflash的最小写入单位是字节(Byte),nandflash的最小写入单位是页(Page)。
4.速度方面
norflash的读取速度更快,nandfalsh的写入速度更快。
5.寿命和可靠性
norflash具有较高的可靠性和耐久性,适用于存储关键数据和固件。nandfalsh在存储密度方面表现出色,但相对于NOR Flash,其寿命和可靠性较低,更适合用于存储大容量数据。
6.成本方面
norflash由于其内部复杂的结构,导致其成本相对较高。nandfalsh由于其高存储密度,使得单位容量的成本相对较低。