[技术笔记] 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,即面向切面编程。 想象你是汉堡店的厨师,每一份汉堡都有好几层,这每一层都可以视作一个切面。现在有一位顾客想要品尝到不同风味肉馅的汉堡,如果按照传统的方…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
ArcGIS Pro+ArcGIS给你的地图加上北回归线!
今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等,设置经线、纬线都以10间隔显示。 2、需要插入背会归线…...
