单片机中NVM和FLASH的区别

Flash是NVM的一种具体实现技术,而NVM是一个更广义的类别。

NVM(非易失性存储器)是一个大类,Flash(闪存)是这个大类下最流行、应用最广泛的一个子类。


核心概念对比

特性 NVM (Non-Volatile Memory) Flash (闪存)
定义 广义概念:所有断电后数据不会丢失的存储器。 狭义概念 :一种基于 浮栅MOS管 技术的、以块为单位擦除 的NVM。
关系 ,是上级类别。 ,是NVM的一种主流技术实现。
擦写单位 因技术而异(字节、块等)。 必须按"块/扇区"擦除,写入可以按字节/字。这是关键特点。
关键特性 非易失性是其唯一共同点。 非易失性 + 电可擦写 + 高密度 + 低成本
寿命 差异巨大,从一次写入到近乎无限。 有限(约1万-10万次擦写),需要磨损均衡管理。
在单片机中的角色 可以是程序存储器、数据存储器或配置存储器。 现代单片机中最主要的程序存储器和数据存储器

详细解释与在单片机中的应用

1. NVM - 非易失性存储器

这是一个统称,只要断电后数据不丢,都叫NVM。在单片机世界里,常见的NVM包括:

  • Mask ROM (掩膜ROM): 出厂时数据固化,不可更改。成本极低,用于完全定型的大批量产品。

  • PROM (可编程ROM): 用户可编程一次。

  • EPROM (可擦除PROM): 用紫外线擦除,可重复编程。

  • EEPROM (电可擦除PROM)可以按字节擦写,非常方便,但容量小、成本高。常用于存储需要频繁修改的少量数据(如系统配置、密码)。

  • Flash: 我们下面重点讲的技术。

  • 新型NVM: 如FRAM(铁电)、MRAM(磁阻)、RRAM(阻变)等,性能更好但尚未完全普及。

2. Flash - 闪存

Flash是当前单片机绝对主流的NVM技术,它本身又主要分为两类:

  • NOR Flash

    • 特点 : 支持 "芯片内执行" ,CPU可以直接从NOR Flash中取指令运行(XIP)。

    • 接口: 类似SRAM,有独立的地址和数据总线。

    • 在单片机中绝大多数单片机的程序存储器就是NOR Flash。你写的代码就烧录在这里面,单片机上电后直接从这里面读取指令执行。

  • NAND Flash

    • 特点 : 密度极高、成本低、速度快,但 不支持XIP,有坏块,需要驱动管理。

    • 接口: 通常为串行或并行IO接口,更像访问设备。

    • 在单片机中 : 单片机内部集成较少,通常作为 外部大容量数据存储器(比如SD卡、eMMC的核心就是NAND Flash)。一些高端单片机会集成一部分用于存文件系统或日志数据。

3. 单片机中的典型架构

现代单片机(如STM32, AVR, PIC32)的存储结构很好地展示了这两者的关系:

  • 主存储器 (Main Flash Memory)

    • 类型 : 这是 NOR Flash

    • 用途 : 存储程序代码常量数据

    • 特点: 擦写速度较慢(毫秒级),寿命有限(约1万次)。所以程序运行时不会频繁写这里。

  • 用户数据区 / DFlash / EEPROM 仿真区

    • 类型 : 通常也是 另一块独立的Flash (可能是NOR或专用数据Flash),或者真正的EEPROM

    • 用途 : 存储需要掉电保存的用户数据(如设备参数、校准值、运行记录)。

    • 特点 : 为了频繁写,这块区域通常被分成更小的扇区,并可能由软件库(如EEPROM仿真驱动)实现磨损均衡,以延长使用寿命。

  • 选项字节 / 配置字

    • 类型 : 一小块特殊的 Flash 或 OTP(一次可编程)存储器

    • 用途: 配置单片机硬件特性(如看门狗、保护位、时钟源)。


总结要点

  1. 包含关系NVM ⊃ Flash。Flash是NVM家族中最成功的"明星成员"。

  2. 关键区别 : Flash必须 "先擦后写" ,且擦除以 "块" 为单位。而像EEPROM这样的NVM可以 "按字节擦写"

  3. 单片机中的应用

    • 写的固件程序 ,存放在 Flash (NOR型) 中。

    • 程序运行时产生的、需要掉电保存的数据 ,通常也存放在一块专用的 Flash 里,或者少数单片机有独立的 EEPROM

    • 当调用 EEPROM.write() 这类函数时,底层操作的很可能就是一块用Flash模拟的EEPROM区域。

当在单片机数据手册上看到"Flash Memory"时,就知道它指的是那个存你程序代码的主要非易失性存储器;而"NVM"这个词则是对所有这类不掉电存储器的总称,Flash是它的核心组成部分。

相关推荐
逐步前行5 小时前
STM32_TIM_寄存器操作
stm32·单片机·嵌入式硬件
0南城逆流06 小时前
【STM32】知识点介绍七:PWM功能
stm32·单片机·嵌入式硬件
智者知已应修善业6 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
我是一棵无人问荆的小草7 小时前
单片机通电后延迟启动策略
单片机·嵌入式硬件
坏柠7 小时前
ESP32-S3 蓝牙 BLE 从零到一:广播、服务、特征,用一个智能灯的例子全讲透
嵌入式硬件
日更嵌入式的打工仔7 小时前
UART RX为什么要上拉
单片机
三佛科技-1873661339710 小时前
FT32F030F6AP7高性能32位RISC内核MCU解析(兼容STM32F030K6TP7)
stm32·单片机·嵌入式硬件
LCMICRO-1331084774611 小时前
长芯微LDC90810完全P2P替代ADC128D818,是一款八通道系统监控器,专为监控复杂系统状态而设计。
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模数转换芯片adc
嵌入式老菜鸟qq12524277311 小时前
关于S2-LP休眠
单片机·嵌入式硬件·mcu·射频工程
SUNNYSPY00111 小时前
65R310-ASEMI超结MOS管TO-252封装
单片机