Flash存储器(二):SPI NAND Flash与SPI NOR Flash
目录
一.存储架构
二.接口与封装
三.特性对比
四.典型应用场景
4.1 SPI NOR Flash
4.2 SPI NAND Flash
五.技术演进与市场趋势
六.选择建议
6.1 选择SPI NOR的场景
6.2 选择SPI NAND的场景
SPI NAND Flash和SPI NOR Flash是嵌入式设备中常用的存储器。下面通过全面对比分析来了解它们。
一.存储架构
1.SPI NOR Flash
基于NOR结构,每个存储单元独立寻址,支持随机访问(类似RAM)。其接口早期为并行(Parallel)形式,后因引脚兼容性和体积问题转向SPI串行接口。
2.SPI NAND Flash
基于NAND结构,采用页-块存储管理,地址和数据线复用,需按页或块顺序读写。在传统并行NAND基础上集成SPI接口和ECC纠错模块,简化了控制器设计。
二.接口与封装
1.SPI NOR
通常采用SOIC或WSON封装,引脚少(如8引脚),体积小,兼容不同容量芯片。
2.SPI NAND
封装更小(如WSON8 8x6mm),支持更大容量(1Gb~4Gb),内置ECC纠错,减少主控负担。
三.特性对比
| 序号 | 特性 | SPI NOR Flash | SPI NAND Flash |
|---|---|---|---|
| 1 | 读取速度 | (1)随机读取快(微秒级),适合代码执行。 (2)一般可达50-166MB/s(QSPI/DTR模式) | (1)顺序读取快,随机读取较慢(需页预读) (2)一般可达26-83MB/s(预读取/ECC优化) |
| 2 | 写入/擦除速度 | (1)写入慢(毫秒级),擦除以扇区为单位(典型30ms) (2)一般为0.1-2MB/s(单字节/扇区操作) | (1)写入快(页级操作),擦除以块为单位(典型2ms) (2)一般为20-35MB/s(页编程模式) |
| 3 | 擦写寿命 | 约10万次(如GD25系列) | 10万次以上(车规级GD5F系列) |
| 4 | 容量与成本 | 容量相对较小(512Kb 至 2Gb),单位成本高 | 容量大(1Gb 至 8Gb),单位成本低 |
| 5 | 功耗 | 低功耗设计(如GD25NE系列读功耗降低50%) | 较高(因ECC模块和频繁操作),但整体优化后仍具竞争力 |
四.典型应用场景
4.1 SPI NOR Flash
1.代码存储与执行
嵌入式系统启动代码(如STM32外接W25X16)、智能手机基带处理器代码存储。
2.低功耗设备
可穿戴设备(GD25NE系列支持1.2V SoC,功耗减半)。
3.实时控制
工业PLC、汽车仪表盘(需快速随机读取响应)。
4.2 SPI NAND Flash
1.大容量数据存储
智能电视固件、监控摄像头视频缓存(1Gb容量满足高密度需求)。
2.车载电子
智能座舱、Tbox(GD5F系列通过AEC-Q100认证,耐宽温)。
3.物联网网关
日志存储、OTA升级(内置ECC和FTL简化设计,如天微电子方案)。
五.技术演进与市场趋势
1.SPI NOR Flash
(1)低电压与高性能
兆易创新GD25NE系列支持双电压(1.8V核心+1.2V IO),适配下一代低功耗SoC。
(2)功能安全
车规级产品通过ISO 26262认证,满足ASIL-D要求。
2.SPI NAND Flash
(1)高可靠性与集成化
内置FTL(Flash Translation Layer)实现坏块管理、磨损均衡,适合RTOS精简系统(如工业控制、无人机)。
(2)车规与国产化
兆易创新GD5F系列全产业链国产化,填补车用大容量存储空白。
六.选择建议
6.1 选择SPI NOR的场景
需快速启动、低延迟代码执行(如STM32启动代码)、小容量配置(32Mb~256Mb)、功耗敏感设备(如医疗传感器)。
例如,兆易GD25NE256H(256Mb,双电压)用于智能手表。
6.2 选择SPI NAND的场景
大容量数据存储(≥1Gb)、频繁擦写(如日志记录)、空间受限设计(如车载模块)。
例如,兆易GD5F4GQ6(4Gb,车规级)用于智能座舱数据存储。
相关文章:
Flash存储器(二):SPI NAND Flash与SPI NOR Flash
目录 一.存储架构 二.接口与封装 三.特性对比 四.典型应用场景 4.1 SPI NOR Flash 4.2 SPI NAND Flash 五.技术演进与市场趋势 六.选择建议 6.1 选择SPI NOR的场景 6.2 选择SPI NAND的场景 SPI NAND Flash和SPI NOR Flash是嵌入式设备中常用的存储器。下面通过全面对…...
Git Flow
Git Flow深度解析:企业级分支管理实战指南 前言 在持续交付时代,分支策略决定团队协作效率。Git Flow作为经典的分支管理模型,被Apache、Spring等知名项目采用。2023年JetBrains开发者调查报告显示,Git Flow仍是中大型项目最常用…...
吃透LangChain(五):多模态输入与自定义输出
多模态数据输入 这里我们演示如何将多模态输入直接传递给模型。我们目前期望所有输入都以与OpenAl 期望的格式相同的格式传递。对于支持多模态输入的其他模型提供者,我们在类中添加了逻辑以转换为预期格式。 在这个例子中,我们将要求模型描述一幅图像。 …...
C++ `unique_ptr` 多线程使用
C unique_ptr 多线程使用 一、核心结论 操作同一个 unique_ptr:必须加锁(所有权转移是非原子操作)访问被管理对象:若对象非线程安全,仍需额外同步独立 unique_ptr 实例:不同线程操作不同实例时无需加锁 二…...
Flink介绍——实时计算核心论文之Kafka论文详解
引入 我们通过S4和Storm论文的以下文章,已经对S4和Storm有了不错的认识: S4论文详解S4论文总结Storm论文详解Storm论文总结 不过,在讲解这两篇论文的时候,我们其实没有去搞清楚对应的流式数据是从哪里来的。虽然S4里有Keyless …...
MQTTClient.c的线程模型与异步事件驱动
MQTTClient.c的线程模型与异步事件驱动 1. 多线程架构设计 MQTTClient.c通过分离网络I/O和用户逻辑线程实现异步通信,核心设计如下: sequenceDiagramparticipant 主线程 as 主线程(用户调用)participant 发送队列 as 发送队列pa…...
《Learning Langchain》阅读笔记3-基于 Gemini 的 Langchain如何从LLMs中获取特定格式
纯文本输出是有用的,但在某些情况下,我们需要 LLM 生成结构化输出,即以机器可读格式(如 JSON、XML 或 CSV)或甚至以编程语言(如 Python 或 JavaScript)生成的输出。当我们打算将该输出传递给其他…...
AI Agents系列之构建多智能体系统
🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页: https://lizheng.blog.csdn.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创…...
OJ笔试强训_1至24天
OJ笔试强训 Day01 [NOIP2010]数字统计_牛客题霸_牛客网 点击消除_牛客题霸_牛客网 两个数组的交集_牛客题霸_牛客网 Day02 牛牛的快递_牛客题霸_牛客网 最小花费爬楼梯_牛客题霸_牛客网 数组中两个字符串的最小距离__牛客网 Day03 简写单词_牛客题霸_牛客网 dd爱框框_…...
3款顶流云电脑与传统电脑性能PK战:START云游戏/无影云/ToDesk云电脑谁更流畅?
这里写目录标题 一、前言二、本地机器配置环境三、START云游戏/无影云/ToDesk云电脑配置对比3.1 START云游戏3.2 无影云个人版3.3 ToDesk云电脑 四、本地电脑与云电脑性能实战4.1 游戏场景体验4.1.1 本地电脑测试4.1.2 云电脑测试英雄联盟黑神话悟空其他游戏 4.2 主流设计场景体…...
java IO/NIO/AIO
(✪▽✪)曼波~~~~!让曼波用最可爱的赛马娘方式给你讲解吧!(⁄ ⁄•⁄ω⁄•⁄ ⁄) 🎠曼波思维导图大冲刺(先看框架再看细节哦): 📚 解释 Java 中 IO、NIO、AIO 的区别和适用场景: …...
java输出、输入语句
先创建一个用于测试的java 编写程序 #java.util使java标准库的一个包,这里拉取Scanner类 import java.util.Scanner;public class VariableTest {public static void main(String[] args) {#创建一个 Scanner 对象Scanner scanner new Scanner(System.in);System.…...
宏基因组产品升级——抗菌肽数据库APD
抗菌肽(Antimicrobial Peptides,简称AMPs)是一类存在于多种生物体中的天然分子。它们在抵御微生物感染中扮演着重要角色,发挥着先天免疫反应的作用。抗菌肽功能分类广泛,包括:抗菌,抗生物膜&…...
大数据面试问答-Spark
1. Spark 1.1 Spark定位 "Apache Spark是一个基于内存的分布式计算框架,旨在解决Hadoop MapReduce在迭代计算和实时处理上的性能瓶颈。 1.2 核心架构 Spark架构中有三个关键角色: Driver:解析代码生成DAG,协调任务调度&a…...
线程池七个参数的含义
Java中的线程池里七个参数的以及其各自的含义 面试题:说一下线程池七个参数的含义? 所谓的线程池的 7 大参数是指,在使用 ThreadPoolExecutor 创建线程池时所设置的 7 个参数,如以下源码所示: public ThreadPoolExe…...
Windows suwellofd 阅读器-v5.0.25.0320
Windows suwellofd 阅读器 链接:https://pan.xunlei.com/s/VOO7tUkTHHTTjSe39CeVkUHbA1?pwd3ibx# OFD(Open Fixed-layout Document) , 数科OFD阅读器支持国标版式、可信阅读、是电子发票、电子证照,电子病历等电子文件理想阅读工具。 多格…...
三大等待和三大切换
三大等待 1、三大等待:等待的方式有三种:强制等待,隐性等待,显性等待。 1、强制等待:time.sleep(2),秒 优点:使用简单缺点:等待时间把握不准,容易造成时间浪费或者等待时…...
告别定时任务!用Dagster监听器实现秒级数据响应自动化
在数据管道开发中,我们经常面临需要根据外部事件触发计算任务的场景。传统基于时间的调度方式存在资源浪费和时效性不足的问题。本文将通过Dagster的**传感器(Sensor)**功能,演示如何构建事件驱动的数据处理流程。 场景模拟&…...
一文读懂WPF系列之MVVM
WPF MVVM 什么是MVVMWPF为何使用MVVM机制WPFMVVM 的实现手段 INotifyPropertyChanged数据绑定的源端通知原理 PropertyChanged事件双向绑定的完整条件常见疑惑问题 什么是MVVM 翻译全称就是 model-view-viewmodel 3部分内容 以wpf的概念角度来解释就是 数据库数据源模型…...
【Unity】打包TextMeshPro的字体
前言 在Unity中,TextMeshPro与常规 Text 组件相比提供了更高级的文本呈现功能,TextMesh Pro 可以处理各种语言,包括中文。我们可以轻松地在 Unity 项目中使用中文,而不必担心字体和布局问题。TextMeshPro需要的字体资源就需要我们…...
51单片机实验五:A/D和D/A转换
一、实验环境与实验器材 环境:Keli,STC-ISP烧写软件,Proteus. 器材:TX-1C单片机(STC89C52RC)、电脑。 二、 实验内容及实验步骤 1.A/D转换 概念:模数转换是将连续的模拟信号转换为离散的数字信…...
使用VHD虚拟磁盘安装双系统,避免磁盘分区
前言 很多时候,我们对现在的操作系统不满意,就想要自己安装一个双系统 但是安装双系统又涉及到硬盘分区,非常复杂,容易造成数据问题 虚拟机的话有经常用的不爽,这里其实有一个介于虚拟机和双系统之间的解决方法,就是使用虚拟硬盘文件安装系统. 相当于系统在机上…...
Kafka消费者端重平衡流程
重平衡的完整流程需要消费者 端和协调者组件共同参与才能完成。我们先从消费者的视角来审视一下重平衡的流程。在消费者端,重平衡分为两个步骤:分别是加入组和等待领导者消费者(Leader Consumer)分配方案。这两个步骤分别对应两类…...
Django之modelform使用
Django新增修改数据功能优化 目录 1.新增数据功能优化 2.修改数据功能优化 在我们做数据优化处理之前, 我们先回顾下传统的写法, 是如何实现增加修改的。 我们需要在templates里面新建前端的页面, 需要有新增还要删除, 比如说员工数据的新增, 那需要有很多个输入框, 那html…...
云轴科技ZStack入选中国人工智能产业发展联盟《大模型应用交付供应商名录》
2025年4月8日至9日,中国人工智能产业发展联盟(以下简称AIIA)第十四次全体会议暨人工智能赋能新型工业化深度行(南京站)在南京召开。工业和信息化部科技司副司长杜广达,中国信息通信研究院院长、中国人工智能…...
写论文时降AIGC和降重的一些注意事项
‘ 写一些研究成果,英文不是很好,用有道翻译过来句子很简单,句型很单一。那么你会考虑用ai吗? 如果语句太正式,高级,会被误判成aigc ,慎重选择ai润色。 有的话就算没有用ai生成,但…...
AI 编程工具—如何在 Cursor 中集成使用 MCP工具
AI 编程工具—如何在 Cursor 中集成使用 MCP工具 这里我们给出了常用的MCP 聚合工具,也就是我们可以在这些网站找MCP服务 这是一个MCP Server共享平台,用户可以在上面发布和下载MCP Server配置。在这里可以选择你需要的MCP 服务。 如果你不知道你的mcp 对应的server 名称也不…...
基础算法篇(5)(蓝桥杯常考点)—动态规划(C/C++)
文章目录 动态规划前言线性dp路径类dp经典线性dp背包问题分类01背包问题完全背包问题多重背包分组背包问题混合背包问题多维费用的背包问题区间dp 动态规划 前言 在竞赛中,如果遇到动态规划的题目,只要不是经典题型,那么大概率就是以压轴题的…...
MLLMS_KNOW尝鲜版
背景(个人流水账,可毫不犹豫跳过) 最近项目中有涉及到小物体检测的内容,昨天晚上讨论的时候有提出是否可以将关注区域放大的idea,不过后来没有就着这个东西深入,结果好巧不巧地,今天关注到这篇…...
《软件设计师》复习笔记(12.2)——成本管理、配置管理
目录 一、项目成本管理 1. 定义 2. 主要过程 3. 成本类型 4. 其他概念 真题示例: 二、软件配置管理 1. 定义 2. 主要活动 3. 配置项 4. 基线(Baseline) 5. 配置库类型 真题示例: 一、项目成本管理 1. 定义 在批准…...
