SSD可靠性分析前传之NAND闪存可靠性概览

简介: 按照剧情发展的规律,在进入正片之前都会有前传来交代事件的背景,所以在介绍SSD可靠性之前,咱们也先来个前传哈。



第一幕:NAND基础背景
NAND根据cell包含bit的数目分为SLC、MLC、TLC,
NAND里面所有cell的状态采用VT分布图展示,如下图,
SLC包含1 bit,有1,0两个状态,
MLC包含2 bit,有11,10,00,01四个状态,
TLC包含3 bit,有111,011,001,101,100,000,010,110八个状态。

注:横坐标:NAND cell的阈值电压Vt;  纵坐标:每一个Vt对应的bit数目。


介绍完NAND cell的状态,再来show一下NAND的基本操作(以最简单的SLC为例)。


读(Read):

如上图所示,这是对单一cell进行read的基本操作。 在控制栅极(CG, 也是WL)加上0V的电压,源极(Source)端加上0V以及漏极(Drain, 也是BL)加上1V,然后通过源极与漏极之间电流Icell的大小来判断cell的状态(0或者1)。


A点的状态代表存在Icell,所以Cell处于“开态”(ON),称为Erased;


B点的状态代表不存在Icell或者Icell很小且可忽略,所以Cell处于“关态”(OFF),称为Programmed。


如果对NAND cell阵列操作,原理图如下:


如果Cell C处于Erased, 对应BL的Sense电路会感应到有电流;

在需要read的target Page的WL上面加一个R1(一个较小的电压),其他WL的加VpassR, BL方向加1V,



如果Cell C处于Programmed, 对应BL的Sense电路不会感应到有电流。

写(Program):

在控制栅CG加上一个高压20V,基底接0V, 由于电场的存在以及隧穿效应,电子会被俘获在浮栅FG,也就完成了单个Cell的Program操作。


Program之后cell的状态为“0”。



擦除(Erase):
在控制栅CG接0V,基底加上一个高压20V, 由于电场的存在以及隧穿效应,电子逃离浮栅FG,也就完成了单个Cell的Erase操作。


Erase之后cell的状态为“1”。


需要注意的是,Read、Program都是以Page为最小基本操作单位,而Erase以Block为最小基本操作单位。


第二幕:NAND可靠性概览
对NAND可靠性影响很大的效应主要有:Read disturb,Program disturb,P/E Endurance以及Data Retention。


1. Read Disturb
我们在第一幕介绍Read操作的时候提到,Read过程中,需要在Non-Target WL上加一个VpassR, 如果对一个Block里面的Page连续Read很多次的话,就相当于在某一WL一直会有VpassR的Stress。


如下图,Cell D 由于VpassR长时间的Stress, 会引起浮栅FG弱的电子注入,因为Read disturb主要影响Erased状态的cell,进而表现在Vt图中L0向右飘移。


在SSD中,针对Read disturb有优化措施,就是尽量避免持续读同一Block的Page,如果在进行了长时间的读操作之后,会加入Erase/Program操作,减小Read stress。

提一下SILC效应:
SILC(Stress Induced Leakage Current)是压力诱导漏电流,由于Stress的影响,在Gate氧化层做成缺陷,缺陷会俘获电子。


2. Program Disturb
在Program时,需要在WL加一个高压20V左右,由于高压的存在会造成其他BL上电子隧穿进入浮栅,再加上由于缺陷引起漏电以及GIDL效应的存在,最后的结果就是Program cell周围的Cell的Vt会向右偏移。


这里简单说一下GIDL效应:
GIDL(gated-induce drain leakage) 是指栅诱导漏极泄漏电流,当栅漏交叠区处栅漏电压 VDG很大时,交叠区界面附近硅中电子在价带和导带之间发生带带隧穿形成电流,我们把这种电流称之为 GIDL 隧穿电流。随着栅氧化层越来越薄,GIDL 隧穿电流急剧增加。

3. P/E Endurance
评判一颗NAND的寿命,P/E cycle是一个关键参数。在不断写入与擦除的过程中,器件的氧化层会慢慢变薄,电子的隧穿效应会更容易,最后造成的现象就是VT向右偏移。


4. Data Retention
在NAND经历一段高温测试之后,电子会逃离浮栅,造成Vt向左偏移。在加上SILC的影响,Vt出现偏移。


【结论】

总结一下这几种效应的VT分布图,如下:



相关文章
|
存储 缓存 固态存储
SSD的原理和结构简介
SSD如淡雅之兰花,寻求内外统一,内涵与外在俱佳,除了英俊潇洒的外表,内在的魅力同样不可抵挡。
|
监控 调度 开发工具
IO神器blktrace使用介绍
## 前言 1. blktrace的作者正是block io的maintainer,开发此工具,可以更好的追踪IO的过程。 2. blktrace 结合btt可以统计一个IO是在调度队列停留的时间长,还是在硬件上消耗的时间长,利用这个工具可以协助分析和优化问题。 ## blktrace的原理 一个I/O请求的处理过程,可以梳理为这样一张简单的图: ![](http://image
22475 0
|
存储 编解码 算法
准循环 LDPC 码(QC-LDPC) | 带你读《5G-NR信道编码》之九
本节将为你介绍准循环 LDPC 码(QC-LDPC)的基本内容。
16284 2
准循环 LDPC 码(QC-LDPC) | 带你读《5G-NR信道编码》之九
|
存储 固态存储 Linux
BLOCK 层这么多参数都是什么意思?!
每个 request queue 会维护一个 struct queue_limits 结构来描述对应的块设备的硬件参数,这些参数描述了硬件存储单元的组织方式,会影响 block layer 的很多行为,其中部分参数在 `/sys/block//queue/` 下导出 ```c struct request_queue { struct queue_limits limits; ... } `
5365 1
|
固态存储 IDE 开发工具
【实战经验分享】如何对SSD固态硬盘下发SCSI command?
目前可以供用来下发SCSI/ATA Command的工具有很多,比如BusHound, Hdparm, Sg3, Msecli等。其中Msecli是Micron自己的专门用来管理Micron SSD的命令行接口, 对于其他家的SSD是无效的。我们这里主要用的Sg3这个工具
|
数据库
TortoiseSVN 执行清理( cleanUp )失败的解决方案
目前我们这边的内网代码是通过 TortoiseSVN 进行版本管理的,平时用着也挺好的,没碰到什么大问题。
1717 0
TortoiseSVN 执行清理( cleanUp )失败的解决方案
|
3月前
|
人工智能 缓存 运维
重磅发布丨云监控 AI Agent 可观测,企业生产级 Agent 首选全域观测平台
AI Agent 可观测是面向企业生产级 Agent 的全域观测平台,提供从接入、建模、分析到 Agentic Ops 的全域观测和分析能力,帮助企业彻底打开 Agent 的黑箱,实现 Agent 执行过程的可追踪、可诊断、可优化。
855 35
|
Cloud Native 网络协议 安全
Gartner 魔力象限:混合网格防火墙 2025
Gartner Magic Quadrant for Hybrid Mesh Firewall 2025
444 0
|
10月前
|
存储 机器学习/深度学习 人工智能
智能宠物设备端侧AI技术深度解析:从模型压缩到实时响应
随着宠物经济兴起,智能设备迎来发展机遇。本文聚焦端侧AI在宠物识别中的应用,探讨模型压缩、硬件适配与性能优化技术,解决识别不准、响应慢等痛点,助力开发者打造高效、低功耗的智能宠物产品,实现毫秒级精准识别。
729 3

热门文章

最新文章