[技术笔记] 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,即面向切面编程。 想象你是汉堡店的厨师,每一份汉堡都有好几层,这每一层都可以视作一个切面。现在有一位顾客想要品尝到不同风味肉馅的汉堡,如果按照传统的方…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...