资讯
HOME
资讯
正文内容
路由闪存NAND坏块 忆联带你读懂闪存原理与颗粒类型
发布时间 : 2025-05-09
作者 : 小编
访问数量 : 23
扫码分享至微信

忆联带你读懂闪存原理与颗粒类型

NAND 闪存作为如今各种电子设备中常见的非易失性存储器,存在于固态硬盘(SSD)、USB闪存驱动器和智能手机存储等器件。而随着电脑终端、企业存储、数据中心、甚至汽车配件等应用场景要求的多样化,NAND闪存的存储方式和堆叠技术也在持续演进。

本文忆联将围绕闪存颗粒相关的概念以及发展趋势做介绍。

NAND闪存单元

NAND闪存基于浮栅晶体管,通过其中所存储的电荷量表示不同的数据。NAND 闪存由NAND闪存单元(cell)组成,每个单元包含一个浮栅晶体管、一个源极和一个漏极。

简易的NAND闪存单元示意图

在最简单的形式中,当浮栅充电时,它被识别为“编程”状态并标记为0。当浮栅没有电荷时,它被识别为“擦除”状态并标记为1。

浮栅内部捕获的电子数量与单元晶体管的阈值电压成正比。若捕获大量电子,晶体管则实现高阈值电压;若捕获少量电子,则形成低阈值电压。

如果周围的电路没有改变,浮栅处于绝缘状态,其存储的电荷就保持状态不变,即使器件断电后数据也不会丢失。因此,NAND闪存便具备了非易失性。

然而,NAND闪存每个单元的编程/擦除(Program/Erase,简称P/E)次数是有限的。在电压作用下,电子在硅衬底和浮栅之间穿过氧化物实现移动的过程,称作“隧穿”。这个过程会造成隧道氧化层上的应力并且逐步破坏氧化层,因此浮栅最终将无法保持电荷,届时闪存单元也无法使用,将被归入坏块池。

NAND闪存类型

根据每个单元可以存储的位数,NAND闪存类型可以进一步分为SLC、MLC、TLC和QLC。

各NAND闪存类型的单元状态

SLC(Single-Level Cell,单层单元):每个存储单元仅存储一个比特的信息,即0或1。由于每个单元只有2种状态,SLC NAND闪存的存储密度较低,但具有快速的写入速度、耐久的P/E次数,成本也最高。

MLC(Multi-Level Cell,多层单元):每个存储单元可以存储多个比特,通常是2个或4个比特。这里是相对于SLC而言,仅指存储两个比特的多层单元,其具有4种单元状态。

TLC(Triple-Level Cell,三层单元):每个存储单元可以存储3比特,具有8种单元状态。

QLC(Quad-Level Cell,四层单元):每个存储单元可以存储4比特,具有16种单元状态。

通过在每个单元中存储更多的比特,MLC、TLC和QLC NAND 闪存的存储密度依次提高、成本下降、芯片外观尺寸也大大缩减,但相应地,数据写入速度变慢、P/E次数减少。

目前业内早已在研制PLC(Penta-Level Cell,五层单元),即每个存储单元可存储5比特信息,进一步提升存储密度并降低成本。但同时,对存储单元划分越来越多的电压阈值,读写操作对电压以及电子数量的精确度要求就越高,由此进一步对性能以及损坏率带来了挑战。

颗粒优缺点

基于各类型存储单元的闪存颗粒,在性能、使用寿命和成本等方面的对比如下表所示。

单从成本角度考虑,QLC颗粒显然最具有优势,但是实际由于其电压状态较多,控制的难度较大,进而带来了颗粒稳定性和耐久性的问题。因此,四种颗粒的性能和寿命反而是依次下降的。

以SSD存储为例,选用颗粒时忆联建议可以参考如下几个原则:

性能和可靠性要求:如果对这两方面要求较高,那么可以考虑SLC颗粒的高耐用性和快速读写性能。此类高要求常见于金融、医疗、军事设备等行业,但由于市面上SLC颗粒已经很难见到,这类颗粒往往需要定制。

性价比要求:对于存储容量和成本都有一定要求的情况下,可以考虑MLC颗粒,其具备相对合理的容量/价格比,常见于消费电子、普通企业服务器等行业。

存储密度要求:如果对存储密度有要求,也不需要极致压缩成本,可选用TLC颗粒,常见于云存储、大数据分析等场景。

海量存储要求:QLC颗粒可以以极低成本实现海量数据存储,部分应用如数据中心、云存储等特定场景可以考虑此类颗粒。

因此,根据应用场景的特定需求,用户可以灵活选用不同的闪存颗粒,实现在存储容量、读写性能、寿命和成本上的平衡。

3D NAND发展趋势

伴随着存储密度的持续提升,NAND闪存设计制造也正在经历从平面到立体、从2D到3D的演进。

2D NAND的容量取决于单Die上容纳的单元数量以及每个单元可以存储的比特,其发展很容易遇到瓶颈。而相较于2D NAND的水平堆叠,3D NAND更像摩天大楼,利用纵向维度,把闪存颗粒在立体空间内进行多层垂直堆叠。

从具体设计和实现上来看,3D NAND也更多地采用电荷捕获型结构(charge trap)而不再单纯沿用浮栅设计,或将电流路径从单晶硅通道提升为多晶硅通道等,扩大了空间。

3D NAND技术已广泛应用于终端SSD,可以大幅度优化性能、功耗、耐用性以及成本,借助纠正技术和均衡算法也进一步提高了存储系统的可靠性,满足数据中心、云计算和更多的关键应用场景下的存储需求。

聚焦于SSD存储领域,硬盘的性能和稳定性在很大程度上取决于其主控制器与NAND颗粒之间的协同工作方式。作为硬盘的大脑,主控制器将精确控制NAND的所有操作并通过算法优化来延长SSD的整体寿命与性能提升。

忆联自研存储控制器芯片目前已支持SLC、MLC、TLC与QLC全部四种颗粒,且前三者已实现产品化。关于主控的更多介绍,请关注忆联后续的专题文章。

NAND和闪存转换层(FTL)

我们使用的固态硬盘(SSD),U盘等存储设备,有别于机械硬盘,其实际存储颗粒为NAND。而NAND存储颗粒受其物理特性影响必然存在坏块,同时也不能直接写0写1。

NAND有别于机械硬盘,主要体现在一下几个方面。

一,如果你想往某个区域存储一个字节的数据,比如0x55,首先需要确认当前区域是没有写入过数据的,也就是必须是全部0xFF的,因为NAND写入的时候每个bit只能从1变成0,不能从0变成1。如果不是全FF,则需要擦除操作,讲该区域全部变成0xFF,才可以写入你想要的0x55写进去。

二,NAND还存在另外一个特性是数据容易出错,写进去的是0x55,回读可能是0x5A,这时候需要ECC算法将错误的数据纠正过来,ECC算法比较复杂,在此不论述。

三,NAND存储颗粒的擦写次数是有限的,一般一个块也就是3000次左右,不能无线擦写。

四,NAND存储颗粒是存在坏块的,也就是实际物理地址上的某个区域是不能正常存储数据的。

这些特性都导致电脑不能向机械硬盘一样直接操作NAND。比如我们的电脑管理了全部文件内容,管理这些文件内容的功能叫文件系统。类似FAT文件系统会在固定的区域存储所有的文件信息,包括文件名,大小,作者等,例如存储在地址0里面。而我们需要频繁的修改文件,那么地址0存储的文件信息就需要频繁的更新,假如存储地址0对应NAND地址0,那么这块控件将很快达到其擦写次数寿命,导致损坏,我们的文件信息就会发生错乱。而且NAND不接受直接写入,必须先擦除再写入,还需要记录NAND中的坏块在哪里,避免写入已经坏掉的区域。读取的时候还需要进行ECC纠错,防止数据出错,这都会大大增加系统的负担,是不会被厂家接受的。大家都懒,谁愿意为了你的问题而改变自己呢,除非你给钱。

FTL闪存转换增这时候被提出来了,其作用就是文件系统和NAND之间的沟通桥梁。对于文件系统来说,它操作的实际第一对象是FTL,依然向机械硬盘一样管理所有的数据,不需要变动,什么都不需要改,除了问题一定是你的,因为我没改。这样系统方恨开心。但是管理NAND的脏活累活就得FTL来做了,谁让SSD等厂家想卖钱呢。

FTL算法,其实就是一种逻辑地址到物理地址的映射。当文件系统发送指令要写入或者更新一个特定的逻辑页时,FTL实际上是把数据写入到一个不同的空闲物理页并更新映射表(逻辑地址和物理地址的关联数据),并把这个页上包含的"旧数据"标记为"无效"(更新后的数据已经写入新的物理地址,旧地址的数据自然就失效了)。正是因为FTL的存在,操作系统才能把SSD当成机械硬盘那样操作,因此FTL转换的性能也就直接影响SSD的性能表现,而且FTL算法也是影响SSD寿命及稳定性的决定因素之一。

FTL还需要管理坏块,磨损均衡(与NAND寿命直接相关),ECC算法等功能,只有这样才能伪装的自己是一个机械硬盘,别人才会用你。

相关问答

emmc与 nand flash哪个好?

1、NANDFlash是一种存储介质,要在上面读写数据,外部要加主控和电路设计。2、eMMC是NANDflash+主控IC,对外的接口协议与SD、TF卡类似;对厂家而言简化了电...

回收op是什么意思?

是指用户不可操作的容量,大小为SSD实际容量减去用户可用容量。op的作用:一般用于优化操作:比如WL(磨损平衡)、GC(垃圾回收)、坏块映射等。增加闪存使用...

如何根据u盘固件相关主控参数对译码表修复u盘,提取数据 - ah...

U盘硬件故障导致的不认盘,里面的资料可以恢复的几率是很高的。flash闪存内的数据一般不会丢失,如果仅是主控板部分故障,简单的维修好主控部分就可以...

如何根据u盘固件相关主控参数对译码表修复u盘,提取数据 - YG...

U盘硬件故障导致的不认盘,里面的资料可以恢复的几率是很高的。flash闪存内的数据一般不会丢失,如果仅是主控板部分故障,简单的维修好主控部分就可以...

CF卡损坏怎么恢复?

你现在应该做的是立即备份已经恢复出来的数据没有恢复出来的基本就是损毁了CF卡所采用的nand颗粒等级往往是很低的写入寿命很短一旦出现坏块并且正好写入...

程序员在写代码的时候bug太多会给计算机造成损坏吗?为什么?

原则上程序员写代码调试对于计算机的冲击是有限的,但编程来讲不是什么都是绝对的,如果是windows编程写的代码对于cpu或者硬盘有非常大的冲击,也会造成计算机损...

固态硬盘到底能用几年?

一般认为,固态硬盘的寿命应该在5年以上。通常情况下,固态硬盘的使用寿命取决于以下几个因素:1.NAND闪存的耐用性:固态硬盘的大部分存储空间由NAND闪存组...

在线的大神有没有谁了解,哪里有固体废弃物存储箱一般需要多...

[回答]从上图可以看出,eMMC存储器里面的主要存储单元是NANDFlash,她的结构及生产工艺,不能保证每个存储单元是好的,会随机产生无效块。这些无效块无法确定...

 朴健泰  阳泉郊区 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部