[技术笔记] Flash选型之基础知识芯片分类
1、按照接口分类
分为 Serial串口Flash 和 Parallel并口Flash;
市场大量使用Serial Flash;价格便宜;已满足系统对数据读写速度的要求;
Serial Flash已经可以代表 NOR Flash;
小知识:
1)在整个存储IC芯片类里,NOR Flash占比1%;(统计数据2018年)
2)在整个存储IC芯片类里,DRAM和NAND Flash 共占比98%;(统计数据2018年)
2、按照内部结构分类
分为NOR Flash、NAND Flash
2.1 NOR Flash特点
1)地址和数据线,是分开的;
2)存储容量低,当前镁光最高1Gbit
3)同容量,NOR价格高于NAND;
4)启动方式不同,NOR Flash在启动时 ,处理器直接从地址0开始读取数据,因为支持XIP,所以代码可以直接在NOR flash上执行,无需复制到内部内存SRAM。
2.2 NAND Falsh特点
1)地址和数据共用,如下图(5)所示
2)存储容量高,当前三星最高1Tbit
3)同容量,NOR价格高于NAND;
4)启动方式不同,NAND Flash在启动时 ,需要NAND Flash 先从NAND Flash存储的前4Kb数据自动拷贝到片内SRAM,处理器再从SRAM的地址0开始读取数据
3、NOR Flash和NAND Flash的区别
3.1 NOR Flash特点
1)NOR擦除和写的时间(5秒) 比 NNAND时间(4ms)长
2)读速度 快于 NAND Flash
3)功耗高(具体型号举例)
4)稳定性高(相比NAND Flash)NOR 发生位交换(1bit位数据会发生反转)的次数,低于NAND Flash
5)可擦除次数10万次
6)擦除时间长,因为内部块比较大,是NAND flash的8倍
7)NAND的单元尺寸,是NOR的一半
8)NAND价格低于NOR,相同单元尺寸,NAND存储密度更高
9)使用方便,连接引脚后就可以使用
10)适用于程序存储
11)NOR可以随机读取存储区内的数据,NAND只能按块读取(因为NAND Flash地址与数据共用数据总线,不支持单bit读取)
12)块坏了,NOR Flash无法使用
13)相同点:
NOR和NAND的相同点就是 擦除都是按块进行的
NOR和NAND Flash可以1改写为0,不能0改写为1,需要擦除后整块才能为1
3.2 NAND Falsh特点
1)NOR擦除时间(5秒) 比 NNAND时间长(4ms)
2)读速度 慢于 NOR
3)可擦除次数100万次
4)可靠性低于NOR
NOR 发生位交换(1bit位数据会发生反转)的次数,低于NAND Flash,所以,NAND Flash需要采用ECC错误修正算法/EDC错误探测算法
5)使用繁琐,不同厂商存取方式是不同的;如果使用,需要先写入驱动,然后读写
6)适用于数据存储
7)块坏了,跳过去,仍可以使用

图(1) NAND和NOR的性能列表
小知识:
NOR和NAND结构的不同
东芝的舛冈富士雄先生在1984年发明了NOR, 1986发明了NAND。但是,由于目前主流的闪存是NAND,所以笔者并未十分关注NOR。下面我们在确认NOR和NAND工作差异的同时,再比较二者的市场规模。
NOR 和NAND存储器的区别如下图4所示。下图4使用的术语解说如下所示:
Cell(存储单元):通过存储、释放电子,使存储器工作。
Word Line(字线):用于选择存储单元的信号线。
Source Line(源线):用于释放位线(Bit Line)电压的排线。

图2:黄色部分为“存储单元”。NOR 和NAND的区别。
由于NOR型的位线和源线都与各自的存储单元相连,因此可以读取一比特(Bit)单位的数据。此外,虽然可以随机进行高速读取,但写入速度较慢。同时,由于各存储单元都需要源线,因此难以实现较高的集成度。
另一方面,就NAND而言,位线和源线与多个存储单元相连接,所以多个存储单元可以同时写入、擦除数据,且速度较快!但是,无法进行一比特单位的读取。此外,由于NOR不需要存储单元的源线,因此易于实现高集成化。
由于NOR 和NAND具有如上所述的优势和劣势,因此如上图2所示,NOR用于存储程序、NAND用于存储大容量的数据。
//==============================================//
4、NAND Flash内部分类解析
NAND Falsh共分为传统4类+1类
传统4类:SLC NAND Falsh、MLC NAND Falsh、TLC NAND Falsh、QLC NAND Falsh。
1类:新增3D NAND Flash,容量更高。
5、NAND Flash分类项解析
Q:存储容量排行榜?
A:从少到多--判定标准:单元位数越多,存储容量越大。
SLC(1bit单元)-->MLC(2bit单元)-->TLC(3bit单元)-->QLC(4bit单元)
1bit单元:1个存储单元里存放 1bit数据
2bit单元:1个存储单元里存放2bit数据
3bit单元:1个存储单元里存放3bit数据
4bit单元:1个存储单元里存放4bit数据
Q:擦写次数排行榜?
A:擦写次数,从短到长--判定标准:P/E周期越高,可擦写次数越多(擦写次数多意味着耐久性高)因为,擦除和写入的一个单元的时间就是P/E周期
QLC-->TLC-->MLC-->SLC
图(3)NAND Flash分类
Q:4类 NAND Flash的特色?
SLC(单层式存储):可擦写次数高,意味着耐久性强;价格高;256Gbit价格?
MLC:可擦写次数略低于SLC,也就是耐久性低于SLC;价格相比较SLC更为便宜;256Gbit价格?
TLC:可擦写次数低于MLC,也就是耐久性低于MLC;价格相比较MLC更为便宜;256Gbit价格?
QLC:可擦写次数低于TLC,也就是耐久性最低;价格相比较TLC更为便宜;
Q:4类 NAND Flash的应用领域?
SLC:宇航、服务器(可擦写次数高,意味着耐久性强)
MLC:服务器、工业
TLC:工业、消费业(特别是消费级领域均衡且性价比最高的方案,当前消费级大容量SSD采用的就是TLC,通过京东SSD的介绍信息能查找到数据,如下图)
QLC:消费业(逆袭的可能,成为消费业的主流最佳方案)



小知识:
1)镁光的MLC NAND Flash容量有256Gbit、512Gbit 两种;
2)3D NAND Flash,业界最高记录是三星 NAND Flash,最高可达1Tbit
Q: NOR Flash和NAND Flash引脚区别
A:如下图所示

图(4)NOR Flash内部结构框图 图(5)NAND Flash内部结构框图

图(6)NOR Flash的引脚名称 图(7)NAND Flash的引脚名称
小知识:
1)NOR Flash容量相比NAND Flash小一些,镁光的NOR Flash最高为2Gbit;
参考链接1:【存储干货】一文读懂NAND闪存SLC、MLC、TLC、QLC与3D NAND - 知乎
参考链接2:涨知识!NorFlash与NandFlash有什么区别? - 知乎
参考链接3:nand flash和nor flash - 知乎
相关文章:
[技术笔记] Flash选型之基础知识芯片分类
1、按照接口分类 分为 Serial串口Flash 和 Parallel并口Flash; 市场大量使用Serial Flash;价格便宜;已满足系统对数据读写速度的要求; Serial Flash已经可以代表 NOR Flash; 小知识: 1)在…...
Jenkins常用插件安装及全局配置
Jenkins常用插件安装及全局配置 前言 Jenkins是一个流行的持续集成工具,通过安装适用的插件,可以扩展Jenkins的功能,并与其他工具和系统集成。本文将介绍一些常用的Jenkins插件以及安装和配置的步骤。通过安装和配置这些常用插件…...
C++初学者:如何优雅地写程序
我喜欢C语言的功能强大,简洁,我也喜欢C#的语法简单,清晰,写起来又方便好用。 一、为什么不用C语言写程序。 C语言用来做题目,考试研究是很方便的,但是用来写程序做软件,你就会发现,…...
图论- 最小生成树
一、最小生成树-prim算法 1.1 最小生成树概念 一幅图可以有很多不同的生成树,比如下面这幅图,红色的边就组成了两棵不同的生成树: 对于加权图,每条边都有权重(用最小生成树算法的现实场景中,图的边权重…...
LeetCode刷题记(一):1~30题
1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以…...
芒果YOLOv5改进89:卷积SPConv篇,即插即用,去除特征图中的冗余,FLOPs 和参数急剧下降,提升小目标检测
芒果专栏 基于 SPConv 的改进结构,改进源码教程 | 详情如下🥇 👉1. SPConv 结构、👉2. CfSPConv 结构 💡本博客 改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 即插即用 结构。博客 包括改进所需的 核心结构代码 文件 YOLOv5改进专栏完整目录链接:…...
Linux:详解TCP报头类型
文章目录 温习序号的意义序号和确认序号报文的类型 TCP报头类型详解ACK: 确认号是否有效SYN: 请求建立连接; 我们把携带SYN标识的称为同步报文段FIN: 通知对方, 本端要关闭了PSH: 提示接收端应用程序立刻从TCP缓冲区把数据读走RST: 对方要求重新建立连接; 我们把携带RST标识的称…...
【Leetcode】top 100 二分查找
35 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。 基础写法!!!牢记…...
Redis高级面试题-2024
说说你对Redis的理解 Redis是一个基于Key-Value存储结构的开源内存数据库,也是一种NoSQL数据库。 它支持多种数据类型,包括String、Map、Set、ZSet和List,以满足不同应用场景的需求。 Redis以内存存储和优化的数据结构为基础,提…...
HarmonyOS 应用开发之FA模型与Stage模型应用组件
应用配置文件概述(FA模型) 每个应用项目必须在项目的代码目录下加入配置文件,这些配置文件会向编译工具、操作系统和应用市场提供描述应用的基本信息。 应用配置文件需申明以下内容: 应用的软件Bundle名称,应用的开发…...
6个黑科技网站,永久免费
1、http://mfsc123.com https://www.mfsc123.com 一个非常赞的免费商用素材导航网站。 收集了各种免费、免版权的图片、插画、视频、视频模板、音乐、音效、字体、图标网站。 再也不用担心版权问题,都能免费商用,自媒体作者必备。 而且还在每个网站…...
Linux 内核优化简笔 - 高并发的系统
简介 Linux 服务器在高并发场景下,默认的内核参数无法利用现有硬件,造成软件崩溃、卡顿、性能瓶颈。 当然,修改参数只是让Linux更好软件的去利用已有的硬件资源,如果硬件资源不够也无法解决问题的。而且当硬件资源不足的时候&am…...
整型之韵,数之舞:大小端与浮点数的内存之旅
✨✨欢迎👍👍点赞☕️☕️收藏✍✍评论 个人主页:秋邱’博客 所属栏目:人工智能 (感谢您的光临,您的光临蓬荜生辉) 1.0 整形提升 我们先来看看代码。 int main() {char a 3;char b 127;char …...
变量作用域
变量作用域 标识符的作用域是定义为其声明在程序里的可应用范围, 或者即是我们所说的变量可见性。换句话说,就好像在问你自己,你可以在程序里的哪些部分去访问一个制定的标识符。变量可以是局部域或者全局域。 全局变量与局部变量 定义在函数内的变量有局部作用域,在一个…...
数据结构:链表的双指针技巧
文章目录 一、链表相交问题二、单链表判环问题三、回文链表四、重排链表结点 初学双指针的同学,请先弄懂删除链表的倒数第 N 个结点。 并且在学习这一节时,不要将思维固化,认为只能这样做,这里的做法只是技巧。 一、链表相交问题 …...
用WHERE命令可以在命令行搜索文件
文章目录 用WHERE命令可以在命令行搜索文件概述笔记没用的小程序END 用WHERE命令可以在命令行搜索文件 概述 想确认PATH变量中是否存在某个指定的程序(具体是在PATH环境变量中给出的哪个路径底下?). 开始不知道windows有where这个命令, 还自己花了2个小时写了一个小程序. 后…...
持续交付/持续部署流水线介绍(CD)
目录 一、概述 二、典型操作流程 2.1 CI/CD典型操作流 2.2 CI/CD操作流程说明 2.3 总结 三、基于GitHubDocker的持续交付/持续部署流水线(公有云) 3.1 基于GitHubDocker的持续交付/持续部署操作流程示意图 3.2 GitHubDocker持续交付/持续部署流水…...
第四百三十八回
文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 们在上一章回中介绍了"不同平台上换行的问题"相关的内容,本章回中将介绍如何在页面上显示蒙板层.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们…...
Python学习:面相对象
面向对象 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实…...
SSM学习——Spring AOP与AspectJ
Spring AOP与AspectJ 概念 AOP的全称为Aspect-Oriented Programming,即面向切面编程。 想象你是汉堡店的厨师,每一份汉堡都有好几层,这每一层都可以视作一个切面。现在有一位顾客想要品尝到不同风味肉馅的汉堡,如果按照传统的方…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
JS红宝书笔记 - 3.3 变量
要定义变量,可以使用var操作符,后跟变量名 ES实现变量初始化,因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符,可以创建一个全局变量 如果需要定义…...
Python环境安装与虚拟环境配置详解
本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...
