[技术笔记] 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,即面向切面编程。 想象你是汉堡店的厨师,每一份汉堡都有好几层,这每一层都可以视作一个切面。现在有一位顾客想要品尝到不同风味肉馅的汉堡,如果按照传统的方…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
