当前位置: 首页 > news >正文

非易失性存储技术综合对比:EEPROM、NVRAM、NOR Flash、NAND Flash和SD卡

非易失性存储技术综合对比:EEPROM、NVRAM、NOR Flash、NAND Flash和SD卡

读写性能对比

存储类型读取速度写入速度随机访问能力最小操作单位
NVRAM极快(~10ns)极快(~10ns)极优(字节级)字节
EEPROM中等(~100ns)慢(~5ms/字节)优(字节级)字节
NOR Flash快(~50ns)慢(~5ms/页)好(字节读)字节读/块擦
NAND Flash中等(~25μs/页)中等(~300μs/页)差(页级)页(2-16KB)
SD卡中等到快(~25MB/s)中等(~10MB/s)差(块级)扇区(512B)

可靠性与寿命

存储类型擦写次数数据保持错误率环境耐受性
NVRAM几乎无限(>10^16)数年-数十年极低
EEPROM高(~10^6次)>10年
NOR Flash中(~10^5次)>10年中高
NAND Flash低(~10^4次)5-10年高(需ECC)
SD卡低(~3000-10000次)5-10年高(内置ECC)中(需物理保护)

容量与成本

存储类型典型容量范围单位容量成本物理尺寸集成度
NVRAM1KB-1MB极高
EEPROM1KB-1MB
NOR Flash1MB-256MB
NAND Flash1GB-数TB
SD卡8GB-1TB最低大(可移动)最高

接口与使用难度

存储类型常见接口控制复杂度软件支持要求替换难度
NVRAM并行/SPI简单中等
EEPROMI²C/SPI简单简单
NOR Flash并行/SPI/QSPI中等中等
NAND Flash8/16位并行/SPI复杂高(需FTL/文件系统)中等
SD卡SD/SPI中等高(需文件系统)极简单

典型应用场景

  • NVRAM: 关键配置数据、安全参数、需要频繁更新的小数据
  • EEPROM: 设备校准参数、配置设置、序列号、中等频率更新的小数据
  • NOR Flash: 启动代码、固件存储、需XIP执行的程序
  • NAND Flash: 大量数据存储、操作系统、应用程序存储
  • SD卡: 用户数据、可移动存储、日志记录、多媒体文件、数据交换

综合推荐

  • 关键小数据、高可靠性要求: NVRAM或EEPROM
  • 代码存储与执行: NOR Flash
  • 大容量、成本敏感应用: NAND Flash
  • 需要可移动性: SD卡
  • 混合架构: 使用NOR Flash引导 + NAND Flash存储 + EEPROM/NVRAM配置

在实际嵌入式系统设计中,通常会根据应用需求结合使用多种存储技术,以平衡性能、可靠性、容量和成本的需求。

Flash存储的均匀磨损管理

Flash存储(包括NOR Flash和NAND Flash)由于擦写次数有限,确实需要进行均匀磨损(Wear Leveling)管理。这是Flash存储管理中一项关键技术,尤其对于经常写入的系统至关重要。

为什么需要均匀磨损

  1. 有限的擦写寿命:每个存储单元只能承受有限次数的擦写操作(NOR Flash约10万次,NAND Flash约1万次)

  2. 不均衡使用问题:在没有特殊管理的情况下,某些区域(如文件系统元数据区)可能频繁写入,而其他区域很少使用

  3. 早期故障风险:如果不进行管理,高频使用区域会提前达到擦写上限,导致整个存储设备报废,即使大部分存储单元仍可用

均匀磨损的主要技术

  1. 静态均衡

    • 将逻辑地址映射到不同物理块,让静态数据占用不同物理位置
    • 定期移动很少更改的数据(如固件代码),释放低擦写计数的块
  2. 动态均衡

    • 跟踪每个擦除块的擦写次数
    • 写入数据时优先使用擦写次数较低的块
    • 数据更新时将新数据写入不同物理位置
  3. 保留块技术

    • 预留一定比例的存储空间作为替换区
    • 当某块接近擦写上限时,将其标记为坏块并使用保留块替换

实现方式

  • FTL (Flash Translation Layer):在NAND Flash中常用,管理逻辑地址到物理地址的映射

  • 文件系统级别:如JFFS2、YAFFS、F2FS等专为Flash设计的文件系统自带均匀磨损算法

  • 硬件控制器:现代SSD、eMMC以及部分高端SD卡在硬件控制器中集成均匀磨损功能

均匀磨损的挑战

  • 性能开销:数据移动和映射管理带来额外操作延迟
  • RAM需求:需要存储映射表和擦写计数信息
  • 电源故障保护:防止映射表损坏导致数据丢失

在实际嵌入式系统中,对于大容量存储(NAND Flash、SD卡)几乎总是需要均匀磨损策略;而对于小容量存储(如启动NOR Flash),可通过合理应用设计(减少写操作,数据分区)来延长寿命。

相关文章:

  • ORACLE RAC环境REDO日志量突然增加的分析
  • 大麦(Hordeum vulgare)中 BAHD 超家族酰基转移酶-文献精读129
  • 面试真题 - 高并发场景下Nginx如何优化
  • Vue百日学习计划Day21-23天详细计划-Gemini版
  • 【GESP】C++三级真题 luogu-B3867 [GESP202309 三级] 小杨的储蓄
  • 使用Pinia持久化插件-persist解决刷新浏览器后数据丢失的问题
  • Oracle 的 ASSM 表空间
  • 【论文阅读】A Survey on Multimodal Large Language Models
  • 《Immunity》(IF=25.5)| scATAC、scRNA-seq、scVDJ-seq联合分析B细胞亚群
  • TCP连接状态说明
  • 嵌入式软件的分层架构
  • Cookie、Session、Token
  • 关于此站点更改通知.top域名后期将统一更换为snowytime.cn访问,其余top访问进入过渡期
  • 使用 Kotlin 和 Jetpack Compose 开发 Wear OS 应用的完整指南
  • Elasticsearch 性能优化面试宝典
  • Redis设计与实现——分布式Redis
  • 【从设置到上传的全过程】本地多个hexo博客,怎么设置ssh才不会互相影响
  • RAID学习笔记
  • vue 模板二次开发准备
  • WebXR教学 09 项目7 使用python从0搭建一个简易个人博客
  • 柬埔寨果农:期待柬埔寨榴莲走进中国市场
  • “先增聘再离任”又添一例,景顺长城基金经理鲍无可官宣辞职
  • 2025年上海科技节开幕,人形机器人首次登上科学红毯
  • 公示资费套餐、规范营销行为,今年信息通信行业将办好这十件实事
  • 一箭六星,朱雀二号改进型遥二运载火箭发射成功
  • 法律顾问被控配合他人诈骗酒店资产一审判8年,二审辩称无罪