断电的固态硬盘数据能放多久?
近日收到一个网友的提问,在这里粗浅表达一下见解:
“网传固态硬盘断电后数据只能放一年,一年之后就会损坏。但是我有一个固态硬盘已经放了五六年了(上次通电还是在2018年左右,我读初中的时候),锁在柜子里一直没动过,今天偶然想起来就翻出来插上电脑看了看,发现里面的文件都还在(试了几个文件,都未损坏)。这是为什么?那个固态硬盘数据能放一年的说法是真是假呢?”
首先,强调下在JEDEC规范中,的确有断电数据保持的时间要求:
-
消费级SSD要求在30度环境断电保持1年
-
企业级SSD要求在40度环境断电保持3个月
这里需要注意的是,这个要求都是基于SSD寿命磨损末期的条件。如果是新盘写了数据,断电保存,理论上比这个时间要长很多。厂商虽然不会在产品手册里明确写新盘断电数据保持时间,根据小编的经验,对于大品牌的SSD,通常3-5年不成问题。

如果文件损坏,常见可能是发生了Media Error,这就得先了解下JEDEC规范中对UBER的定义。SSD UBER(Uncorrectable Bit Error Rate)是指固态硬盘(SSD)在应用了任意特定的错误纠正机制后依然产生的每比特读取的数据错误数量占总读取数量的比例。

SSD UBER是描述SSD硬盘的一项重要参数,用于衡量SSD的稳定性和可靠性。它反映了SSD在读取过程中出现不可修复的数据错误的概率,即SSD的读取错误率。企业级SSD的UBER要比消费级UEBR高一个量级。目前厂家基本都可以做到10^-17甚至更高,部分SSD产品可以到10^-19.
在实际应用中,SSD UBER的数值越低,表示SSD的稳定性越高,数据读取的可靠性也越好。因此,对于需要高稳定性和高可靠性的应用场景,选择SSD UBER较低的SSD硬盘是更为可靠的选择。
发生Media Error不可修复的错误,在SSD产品中是非常常见的故障。不可避免会出现media error坏块,不能要求SSD不出错,重要数据一定要记得有数据备份!重要数据一定要记得有数据备份!重要数据一定要记得有数据备份!
NAND介质Media error产生,通常是跟Read disturb(读干扰),Program disturb(写干扰),P/E Endurance以及Data Retention有关,我们可以简单介绍下机理。
本文主要以SLC/MLC/TLC基础入手,从基本原理解释NAND的一些可靠性问题,万变不离其宗。
第一幕: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阵列操作,原理图如下:

在需要read的target Page的WL上面加一个R1(一个较小的电压),其他WL的加VpassR, BL方向加1V,
如果Cell C处于Erased, 对应BL的Sense电路会感应到有电流;
如果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可靠性影响很大的效应主要有: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分布图,如下:

NAND技术扩展阅读:
浅析3D NAND多层架构的可靠性问题
深度剖析:大容量QLC SSD为何遭疯抢?
详细解读QLC SSD无效编程问题
论文解读:NAND闪存中读电压和LDPC纠错码的高效设计
如果真的发生了盘的故障,也可以尝试修复:SSD数据错误如何修复?
如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!
精彩推荐:
-
2024 Q3 NAND闪存价格|企业级依然猛涨,消费级放缓
-
CXL-GPU: 全球首款实现百ns以内的低延迟CXL解决方案
-
万字长文|下一代系统内存数据加速接口SDXI解读
-
数据中心:AI范式下的内存挑战与机遇
-
WDC西部数据闪存业务救赎之路,会成功吗?
-
属于PCIe 7.0的那道光来了~
-
深度剖析:AI存储架构的挑战与解决方案
-
浅析英伟达GPU NCCL P2P与共享内存
-
3D NAND原厂:哪家芯片存储效率更高?
-
大厂阿里、字节、腾讯都在关注这个事情!
-
磁带存储:“不老的传说”依然在继续
-
浅析3D NAND多层架构的可靠性问题
-
SSD LDPC软错误探测方案解读
-
关于SSD LDPC纠错能力的基础探究
-
存储系统如何规避数据静默错误?
-
PCIe P2P DMA全景解读
-
深度解读NVMe计算存储协议
-
浅析不同NAND架构的差异与影响
-
SSD基础架构与NAND IO并发问题探讨
-
字节跳动ZNS SSD应用案例解析
-
CXL崛起:2024启航,2025年开启新时代
-
NVMe SSD:ZNS与FDP对决,你选谁?
-
浅析PCI配置空间
-
浅析PCIe系统性能
-
存储随笔《NVMe专题》大合集及PDF版正式发布!
相关文章:
断电的固态硬盘数据能放多久?
近日收到一个网友的提问,在这里粗浅表达一下见解: “网传固态硬盘断电后数据只能放一年,一年之后就会损坏。但是我有一个固态硬盘已经放了五六年了(上次通电还是在2018年左右,我读初中的时候),…...
Neo4j安装
下载地址:Neo4j Deployment Center - Graph Database & Analytics 1.安装jdk,Neo4j 3.0需要jdk8,2.3.0之前的版本建议jdk7。Neo4j最新版本5.21.2,对应jdk版本17 2.将下载的zip文件解压到合适路径。 3.设置环境变量NEO4J_H…...
基于Java+SpringMvc+Vue技术的就医管理系统设计与实现系统(源码+LW+部署讲解)
目录 界面展示 第六章 部分代码实现 6.1 Spring boot 配置代码 6.2 用户管理及登录登出代码 6.3 Md5 加密算法代码 6.4 部分数据库代码 六、论文参考: 七、其他案例: 系统介绍: 就医管理系统,也称为医院管理系统&#…...
Transformer学习过程中常见的问题与解决方案 - Transformer教程
在机器学习领域,Transformer模型已经成为了处理自然语言处理(NLP)任务的主流工具。然而,在学习和使用Transformer的过程中,很多人会遇到各种各样的问题。今天我们就来聊一聊Transformer学习过程中常见的问题以及对应的…...
Linux进程间通信:匿名管道 命名管道
Linux进程间通信:匿名管道 &命名管道 一、进程间通信目的二、什么是管道三、匿名管道创建3.1 系统调用原型3.2 匿名管道创建 四、内核创建匿名管道过程五、匿名管道性质5.1 匿名管道的4种特殊情况5.2 匿名管道的5种特性5.3 测试源代码 六、命名管道6.1 创建命名…...
【数据结构】(C语言):二叉搜索树(不使用递归)
二叉搜索树: 非线性的,树是层级结构。基本单位是节点,每个节点最多2个子节点。有序。每个节点,其左子节点都比它小,其右子节点都比它大。每个子树都是一个二叉搜索树。每个节点及其所有子节点形成子树。可以是空树。 …...
Fastapi在docekr中进行部署之后,uvicorn占用的CPU非常高
前一段接点小活,做点开发,顺便学了学FASTAPI框架,对比flask据说能好那么一些,至少并发什么的不用研究其他的asgi什么的,毕竟不是专业开发,能少研究一个东西就省了很多的事。 但是部署的过程中突然之间在do…...
Pandas数据可视化宝典:解锁图形绘制与样式自定义的奥秘
Pandas数据可视化宝典:解锁图形绘制与样式自定义的奥秘 引言 数据可视化是将数据以图形或图像的形式展示出来,使复杂的数据更容易被人类理解和分析。在数据分析、商业智能、科学研究等领域,数据可视化都扮演着至关重要的角色。Pandas作为一…...
2024前端面试真题【JS篇】
DOM DOM:文本对象模型,是HTML和XML文档的编程接口。提供了对文档的结构化的表述,并定义可一种方式可以使从程序中对该结构进行访问,从而改变文档的结构、样式和内容。 DOM操作 创建节点:document.createElement()、do…...
axios使用sm2加密数据后请求参数多了双引号解决方法
axios使用sm2加密数据后请求参数多了双引号解决 背景问题描述解决过程 背景 因项目安全要求,需对传给后端的入参加密,将请求参数加密后再传给后端 前期将axios降低到1.6.7后解决了问题,但最近axios有漏洞,安全要求对版本升级&…...
MybatisPlus 核心功能
MybatisPlus 核心功能 文章目录 MybatisPlus 核心功能1. 条件构造器1.1 QueryWrapper1.2 LambdaQueryWrapper(推荐)1.3 UpdateWrapper1.4 LambdaUpdateWrapper 2. 自定义SQL3. Service接口 1. 条件构造器 当涉及到查询或修改语句时,MybatisP…...
vivado EQUIVALENT_DRIVER_OPT、EXCLUDE_PLACEMENT
Vivado工具将所有逻辑上等效的信号的驱动程序合并为单个驱动程序 在逻辑优化过程中指定-merge_equivalent_drivers选项时 (opt_design)。请参阅《Vivado Design Suite用户指南:实施》中的此链接 (UG904)[参考文献20]了…...
docker也能提权??内网学习第6天 rsync未授权访问覆盖 sudo(cve-2021-3156)漏洞提权 polkit漏洞利用
现在我们来说说liunx提权的操作:前面我们说了环境变量,定时任务来进行提权的操作 rsync未授权访问覆盖 我们先来说说什么是rsync rsync是数据备份工具,默认是开启的873端口 我们在进行远程连接的时候,如果它没有让我们输入账号…...
TF卡病毒是什么?如何防范和应对?
在存储芯片及存储卡领域,TF卡病毒是一个备受关注的话题。在本文中,拓优星辰将详细解释TF卡病毒的含义、来源以及如何防范和应对这一问题,帮助客户更好地了解和处理TF卡病毒的风险。 1. TF卡病毒的含义 TF卡病毒是指针对TF存储卡(T…...
window对象监听浏览器页签之间的切换状态;前端监听浏览器切换页签的触发时机
window对象监听浏览器页签之间的切换状态 记录两种办法 第一种:会将任何鼠标点进或点出浏览器的操作监听;同页面也会触发 // 窗口获得焦点时的回调函数 function onWindowFocus() {console.log(窗口获得焦点);querySubmit() } // 窗口失去焦点时的回调函…...
MySQL 条件函数/加密函数/转换函数
条件函数 IF(): 如果条件为真,返回一个值,否则返回另一个值。 -- 示例:根据员工的薪水返回薪水等级 SELECT name, salary, IF(salary < 3000, Low, IF(salary BETWEEN 3000 AND 7000, Medium, High)) AS salary_level FROM employ…...
初学SpringMVC之接收请求参数及数据回显
pom.xml 文件导入 lombok 的依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.34</version></dependency> Controller 表示这是一个控制器 RequestParam 表示从前端接收…...
Java链表LinkedList经典题目
一.LinkedList的方法 首先先看一下链表的方法: 方法解释boolean add(E e)尾插void add(int index, E element)将 e 插入到 index 位置boolean addAll(Collection c)尾插 c 中的元素E remove(int index)删除 index 位置元素boolean remove(Object o)删除遇到的第一…...
【cocos creator】2.x,伪3d拖拽,45度视角,60度视角,房屋装扮
伪3d拖拽,45度视角,60度视角 工程下载:(待审核) https://download.csdn.net/download/K86338236/89530812 dragItem2.t s import mapCreat2 from "./mapCreat2";const {ccclass, property } = cc._decorator; /*** 拖拽类,挂在要拖拽的节点上*/ @ccclass export…...
【thingsbord源码编译】 显示node内存不足
编译thingsbord显示报错 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory问题原因分析 重新安装java版本 编译通过...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...
