[技术笔记] 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,即面向切面编程。 想象你是汉堡店的厨师,每一份汉堡都有好几层,这每一层都可以视作一个切面。现在有一位顾客想要品尝到不同风味肉馅的汉堡,如果按照传统的方…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
