[NAND Flash 5.2] SLC、MLC、TLC、QLC、PLC NAND_闪存颗粒类型

依公知及经验整理,原创保护,禁止转载。

专栏 《深入理解NAND Flash》

<<<< 返回总目录 <<<<

前言

在这里插入图片描述
闪存最小物理单位是 Cell, 一个Cell 是一个晶体管。

闪存是通过晶体管储存电子来表示信息的。在晶体管上加入了浮动栅贮存电子。数据是01取决于在硅底板上形成的浮动栅中是否有电子。有电子为0,无电子为1.

根据闪存颗粒区分,存储器有 SLC、MLC、TLC、QLC、PLC 五种类型。目前主流的是 TLC 颗粒固态, QLC 也已经上市了, 目前还只有固态硬盘里有QLC

1 SLC颗粒

英文全称(Single-Level Cell——SLC)即单层式储存

SLC 一个 cell存储1bit的数据,其速度快,价格贵,寿命长。擦写寿命约为10万次。SLC 颗粒固态现在已停产。目前只有一些工业控制类的闪存产品会用到SLC NAND,但容量都比较小, 像2GB~4GB。对于原始的SLC闪存而言,一个存储单元需保留一比特数据,非01,判断起来非常简单。SLC闪存速度快、寿命长,但容量小、每GB容量成本过高,不适合家用电脑的固态硬盘。

在这里插入图片描述

左图没有电流,表示program状态,表示数值0

右图有电流,表示erase状态,表示数值1

不同状态下,是因为Floating Gate里的电子数目不同,导致导通电压不同,从而表示数据。具体原理参考前一讲:闪存的物理结构_NAND_Flash工作原理。

2 MLC 颗粒

英文全称(Multi-Level Cell——MLC)即多层式储存

MLC一个cell存储 2 个bit的数据,单个cell存储的容量扩大了100%。

其速度一般、价格一般、寿命一般。擦写寿命约为5000-10000次。MLC颗粒固态目前快要淡出市场。

MLC闪存可以在每个存储单元中可表示00011011四种状态,浮栅层中的电荷数等级需要更加精细化。

把上文中的字母和数字用`包起来,中文不变。

在这里插入图片描述
上面四张图分别表示 4 种状态。

后面 TLC、QLC、PLC 同理。
在这里插入图片描述
由上图可以看到,MLCSLC 虽然使用相同的电压值,但是电压之间的阀值被分成了 4

到了TLC闪存(3比特/单元),状态数量达到 8 种,而 QLC 闪存( 4 比特/单元)的状态数量高达 16 种。

3 TLC颗粒

英文全称(Trinary-Level Cell——TLC)即三层式储存
在这里插入图片描述
图. TLCQLCPLC 表示的状态

TLC 一个 cell 存储 3 个bit的数据,单个 cell 存储的容量扩大了 50%

其速度慢、价格便宜、寿命短。擦写寿命约为 500-3000 次。TLC 颗粒固态是现在SSD 产品的主流。

TLC闪存可以在每个存储单元中可表示 000、001、010、011、100、101、110、111 八种状态。

4 QLC颗粒

英文全称(Quadruple-Level Cell——QLC)四层存储单元

在这里插入图片描述
QLC 一个 cell 存储 4 bit 的数据,相比上一代容量增加 33%P/E寿命也更短,理论擦写次数仅 1000 次。目前市场上已经量产。像长江存储的致钛系列就有 QLC 固态,三星的 870 QVO.

QLC 闪存可以在每个存储单元中存储 4 比特数据,即 0000000100100011010001010110011110001001101010111100110111101111 十六种状态。

QLC 更适合作为大容量存储介质。 随着主流消费类 SSD 容量迈入 512GB 及以上,QLC SSD 未来将更迅速地替代机械硬盘市场。

与传统 HDD 相比,QLC SSD 更具性能优势。在企业级领域, QLC SSD 将为服务器带来更低的读延迟,使其更适用读取密集型应用,比如大数据、机器学习。在消费级领域,QLC 将率先在大容量U盘,闪存卡和 SSD 中普及。

QLC 也给主控带来了很大的挑战

1. 对芯片纠错能力要求更高

2. 更高并行度

3. 支持更高的闪存接口速度

扩展:QLC 闪存给SSD主控带来了很大的难题?

5 PLC 颗粒

英文全称(Penta-Level Cell NNAD——PLC), 五层存储单元
在这里插入图片描述
PLC 一个 cell 存储 5 bit 的数控, 相比上一代容量增加 25%。全球首款PLC SSD 已研发成功面世。

PLC 闪存可以在每个存储单元中可表示 0000000001000100001100100001010011000111010000100101010010110110001101011100111110000100011001010011101001010110110101111100011001110101101111100111011111011111 三十二种状态。

PLC(第五代) 是 Intel 出售 NAND 部门给 海力士 之前研发出来的,实际上是相当超前的, 毕竟 QLC (第四代) 还没有成为主流。 现在主流的还是 TLC (第三代)。

其他大厂还没有推进 PLC, 可能是还不看好吧。

Solidigm 是独树一帜,别人都觉得你 QLC 还没稳住呢, 就去捣鼓 PLC 了。而 Solidigm 就是这么我行我素,颇有的像:

他人笑我太痴颠, 我笑他人看不穿

PLC 带来了什么变化?

  • PLC 容量提升

  • PLC 延时增长

  • PLC 寿命下降

  • PLC 误码率 RBER 提高

PLC NAND 发展阻碍?

虽然 PLC 充满了浪漫的梦想,但现实是 PLC SSD 要想量产,难上青天。目前都没有一个清晰的量产时间表。

不是说单个存储元存的 bit 数越多越好吗, 这么好的研究成果为啥不能发展起来呢?

其实不然, 千鸟在林不如一鸟在手。再好的东西, 要有相应的技术来实现量产才行。不然就只能束之高阁。

3D XPoint 内存 就是因为成本居高不小,被束之高阁。 赢得了性能,跑输了市场。

新的 PLC NAND 闪存, 需要有闪存控制器来支援。

目前业内尚未有控制器公司对外宣称可以支持 PLC NAND。市场上当前主流的SSD控制器主要都是基于 ARM Cortex-R8 Core,提供 4K LDPC ECC 纠错能力。可预见的是 QLCRBER 会显著升高,需要主控有更高的纠错能力,需要更强大的 ARM 处理器支持实时高速运算,目前还没有量产。

所以,PLC SSD 的未来还充满悬念? 是雪藏襁褓还是石破天惊,静待时光的答案吧?

扩展: PLC NAND 虽来但远

总结

增加Cell比特数为哪般?
NAND FLASHSLC -> MLC -> TLC -> QLC-> PLC,每个单元存储的比特数增加,这样晶圆的存储密度会成倍提高,但对应的整卡可写入/擦除次数(P/E Cycle)也降低(意味着寿命也越短),读写性能会越差。最重要的单位GB的成本会更低,芯片的成本是和面积直接相关的。面积越小,一个晶圆切出的Die(片)数目就更多,单Die的成本就降下来了。

各大原厂孜孜不倦地提高每个单元的比特数,目的就是为了减少成本,成本才是王道!
参考

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/326925.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring AI和Ollama

概述 Spring AI 不仅提供了与 OpenAI 进行API交互&#xff0c;同样支持与 Ollama 进行API交互。Ollama 是一个发布在GitHub上的项目&#xff0c;专为运行、创建和分享大型语言模型而设计&#xff0c;可以轻松地在本地启动和运行大型语言模型。 Docker环境安装Ollama 1.获取D…

vue3 的内置组件汇总

官方给出的说明&#xff1a; Fragment: Vue 3 组件不再要求有一个唯一的根节点&#xff0c;清除了很多无用的占位 div。Teleport: 允许组件渲染在别的元素内&#xff0c;主要开发弹窗组件的时候特别有用。Suspense: 异步组件&#xff0c;更方便开发有异步请求的组件。 一、fr…

MyBatis - 批量更新(update foreach)报错

在使用mybatis执行批量更新(update foreach)数据的时候报错如下&#xff1a; org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; c…

矩阵的乘法

首先矩阵的乘法定义如下&#xff1a; #include <stdio.h> int main() { int i 0; int j 0; int arr[20][20] { 0 }; int str[20][20] { 0 }; int s[20][20] { 0 }; int n1 0; int n2 0; int m2 0; int z 0; int m1 0;…

Danil Pristupov Fork(强大而易用的Git客户端) for Mac/Windows

在当今软件开发领域&#xff0c;团队协作和版本控制是非常重要的方面。在这个过程中&#xff0c;Git成为了最受欢迎的版本控制工具之一。然而&#xff0c;对于Git的使用&#xff0c;一个好的客户端是至关重要的。 今天&#xff0c;我们要为大家介绍一款强大而易用的Git客户端—…

基于X86的助力智慧船载监控系统

船载综合监控系统结合雷达、AIS、CCTV、GPS等探测技术&#xff0c;以及高度融合的实时态势与认知技术&#xff0c;实现对本船以及范围内船舶的有效监控&#xff0c;延伸岸基监控中心监管范围&#xff0c;保障行船安全&#xff0c;为船舶安全管理部门实现岸基可控的数据通信和动…

JavaScript——BOM中所有对象的常用属性和方法【万字长篇超宝典】

目录 什么是BOM&#xff1f; BOM中的对象 一、window对象 1、控制台打印方法 2、弹窗相关方法 &#xff08;1&#xff09;、alert( )提示框 &#xff08;2&#xff09;、confrim( )交互框 &#xff08;3&#xff09;、prompt( )输入框 3、窗口打开关闭的方法 &#…

密码学入门 古老的围栏密码技术

1、简述 由于隐私和安全的重要性不断增加&#xff0c;已经开发了多种加密方法和技术来保护我们的敏感数据。随着时间的推移而演变&#xff0c;从经典密码学发展到现代密码学。 在本文中&#xff0c;我们将了解一种被称为围栏密码技术的技术&#xff0c;涵盖其加密和解密过程及其…

k8s声明式资源管理

三种常见的项目发布方式 1、蓝绿发布 2、金丝雀发布&#xff08;灰度发布&#xff09; 3、滚动发布 应用程序升级&#xff0c;面临的最大的问题是新旧业务之间的切换&#xff0c;立项-----定稿------需求发布-----开发------测试------发布&#xff0c;测试之后上线&#x…

OpenHarmony底座升级指南(3.2升级4.0)

前言 本文旨在帮助开发者完成底座升级&#xff0c;文中主要以OpenHarmony 3.2 release 升级至OpenHarmony 4.0 release为模板描述。 一、流程概览&#xff1a; 1.1 准备工作 在准备阶段&#xff0c;需要完整收集所有的定制化修改&#xff0c;明确修改人&#xff1b;并且要将…

CTFshow web入门web127-php特性30

开启环境: extract() 函数从数组中将变量导入到当前的符号表&#xff0c;使用数组键名作为变量名&#xff0c;使用数组键值作为变量值 举例就是?a2&#xff0c;就会变成$a2&#xff0c;这里ctf_show有个_需要构造&#xff0c;前面说过php中变量名只有数字字母下划线&#xff…

Demo:基于elementplus的弹窗嵌套表单进行二次封装

基于elementplus的弹窗嵌套表单进行二次封装 所见即所得&#xff1a;简单封装方便工作 ProForm.vue代码&#xff1a; <!--* Author: 忆往昔* LastEditTime: 2024-01-6 14:36:00* email: 15871856064163.com --> <template><div class"penk-form-contain…