【重点】【NAND】聊聊固态硬盘SSD的寿命及其影响因素
固态硬盘是由主控芯片、存储颗粒芯片组成的闪存设备,固体硬盘的英文简称是SSD,如果是移动用的固态硬盘,则其英文简称为PSSD。
固态硬盘SSD分工业级和消费级等,目前,工业级固态硬盘SSD通常采用MLC闪存,而消费级固态硬盘SSD基本上使用TLC闪存,而今年来QLC正闪亮登场,未来可能在消费级固态硬盘SSD应用有不错的表现。
这里刚好引出一个问题,闪存类型主要有哪些类型,哪些类型的闪存适合用在固态硬盘SSD上?它们对固态硬盘SSD的使用寿命有影响吗?以此为引子,介入谈谈大家都比较关心的固态硬盘SSD的使用寿命问题。
01 闪存类型
NAND闪存类型主要有SLC(单层单元)、MLC(多层单元)、TLC(三层单元)和QLC(立体堆叠多层存储单元)。

- SLC:Single-Level Cell,1bit/cell,充电值有0和1,结构简单,速度快、寿命长,执行效果高,但同容量的价格在上述类型中是最贵的,价格约为MLC的3倍以上。SLC的擦写寿命约10万次。
- MLC:Multi-Level Cell,2bit/cell,即充电值有00、01、10、11四个,显然,MLC比SLC需要稍微多一点的访问时间,用抽屉来形容,SLC有两个抽屉,MLC有四个抽屉。MLC的速度适中,比SLC慢,但比TLC和QLC快,价格当然比SLC便宜不少,擦写寿命约3000~10000次擦写寿命。
- TLC:Trinary-Level Cell,3bit/cell,充电值为111、110、100、101、011、010、001、000。每个单元存放数据比SLC多3倍,比MLC多1/2,而TLC速度比MLC要慢,擦写寿命短(约500-1000次擦写寿命,随着技术的提升,好的TLC擦写寿命据说可以提升到了3000次),优势是价格低。
- QLC:Quad-Level Cell,4bit/cell(每个Cell单元存储4位电荷),共有16种状态,因而QLC单位存储密度更大,达到TLC的2倍存储密度,单颗芯片的容量自然比较高,然而QLC的电压更难控制,其写入速度比TLC更慢,可靠性、稳定性及擦写寿命比TLC也更差。
在SSD产品中,消费级的SSD大多数采用TLC闪存颗粒,在高容量的消费级SSD中开始有采用QLC的。而在工业级的SSD中,采用MLC比较合适。军工级估计可以考虑SLC。
02 固态硬盘SSD的擦写寿命
固态硬盘SSD采用NAND Flash存储数据,由于所述NAND Flash的特性,它们在物理结构上是由一个个的“块”来组成的,每个“块”都有一定的擦除寿命(P/E)。对于不同类型的闪存,其块的擦写寿命是有差别的,SLC擦写寿命>MLC擦写寿命>TLC擦写寿命>QLC擦写寿命。当某个“块”的擦写寿命达到了,这个“块”便损坏了,也就成了我们所说的“坏块”。一般情况下,每个固态硬盘SSD都会预留一定的块用作储备块,即“冗余块”,当出现“坏块”时,主控会将“坏块”屏蔽,而将某个“冗余块”启封来使用,保证固态硬盘SSD正常使用。
随着存储技术的发展,擦写寿命还有提升的空间。
| 特性 | SLC | MLC | eMLC | TLC | QLC |
| 每单元位数 | 1 | 2 | 2 | 3 | 4 |
| P/E擦写寿命 | 100000 | 3000~10000 | 10000 | 一般≤1000,注意目前据说可提升到3000 | 150~300 |
| 每位成本 | 很高 | 中等 | 中等 | 低 | 很低 |
| 数据安全保持时间 | 10年 | 1年 | 1年 | 1年 | 1年 |
| 擦除时间 | 2ms | 3ms to 4ms | 6ms | 10ms | >10ms |
对于擦写次数P/E,以TLC为例,假设它的擦写次数也就1000次,有人就当心是不是将数据存入并删除这个动作操作1000次,这块SSD就坏了呢?不是这么理解的,要是这么理解,SSD也太容易坏了吧!
对于固态硬盘SSD,读取数据是不影响使用寿命的,而写入才与擦写联系起来,才会影响使用寿命。以128G的采用TLC闪存的固态硬盘SSD,完全写入1000次(按1000次P/E来计算),则这块固态硬盘SSD的写入重量为128*1000GB=128000GB,如果每天都写满128G,那么它的理论使用寿命是2.7年。(完全写入:因为有文件管理系统,负载均衡算法)
固态硬盘理论使用寿命(年)计算公式=(实际容量*P/E次数)/(每天实际写入容量*365)。
事实上,有几个人每天都往一个固态硬盘中写入并擦除这么多数据?一个较大容量的固态硬盘用上5~10年是大概率的事情,不用过于担心擦写寿命。

03 固态硬盘寿命的另外隐形杀手浮出水面
固态硬盘寿命与擦写次数有关,这个无可争议,但也不用过分担心,固态硬盘自身的主控有很多方式可以优化块擦写状况的,这里不作具体介绍,普通消费者也不用了解主控那些复杂的控制原理、方式。
影响固态硬盘的另外隐形杀手是过热和突然断电。
先来说说过热这个问题,由于闪存颗粒的特性,固态硬盘SSD的耐热能力是比不上机械硬盘的,温度过高,会引发电子芯片中的电子迁移现象,极大地缩短固态硬盘闪存颗粒的寿命,一点造成过热损伤,在物理结构上来说是不可逆的损伤。固态硬盘SSD在出厂前一般都要进行高低温测试,如70°C~75°C的高温测试。
突然断电(包括突然停电、硬关机等)算是一个比较常见的隐形杀手,固态硬盘SSD其实比较怕突然断电,因为固态硬盘是通过电信号擦除写入数据的,频繁的突然断电可能会令数据出现丢失的现象。
如果需要为电脑换装固态硬盘,可以推荐以下品牌的一些固态硬盘,多为TLC固态硬盘。
电脑升级、加装M.2 NVMe PCIe3.0固态硬盘(SSD),选购无忧,提升电脑性能
电脑加装M.2 NVMe PCIe4.0固态硬盘(SSD),升级选购,提升性能无忧
相关文章:
【重点】【NAND】聊聊固态硬盘SSD的寿命及其影响因素
固态硬盘是由主控芯片、存储颗粒芯片组成的闪存设备,固体硬盘的英文简称是SSD,如果是移动用的固态硬盘,则其英文简称为PSSD。 固态硬盘SSD分工业级和消费级等,目前,工业级固态硬盘SSD通常采用MLC闪存,而消…...
数据库约束
文章目录 1. 简介2. 代码演示3. 外键约束4. 外键删除和更新行为 1. 简介 概念:约束时作用于表中子段上的规则,用于限制存储在表中的shuju目的:保证数据库中数据的正确、有效性和完整性分类: 约束描述关键字非空约束限制该字段不…...
Unity实现MQTT服务器
首先下载MqttNet:MqttNet下载地址 解压好后使用vs打开,并生成.dll文件(我这里下载的是4.1.2.350版本) 然后再/Source/MQTTnet/bin/Debug/net452 文件夹中找到生成的文件 新建unity工程,创建Plugins文件夹࿰…...
Linux(centos) 下 Mysql 环境安装
linux 下进行环境安装相对比较简单,可还是会遇到各种奇奇怪怪的问题,我们来梳理一波 安装 mysql 我们会用到下地址: Mysql 官方文档的地址,可以参考,不要全部使用 https://dev.mysql.com/doc/refman/8.0/en/linux-i…...
决策树(Decision Tree)
决策树的定义: 分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型: 内部结点(internal node)和叶结点(leaf node࿰…...
解决 PaddleClas 下载预训练模型报错 ModuleNotFoundError No module named ‘ppcls‘ 的问题
当我们在使用 PaddleClas 进行预训练模型下载时,可能会遇到一个报错,报错信息为 ModuleNotFoundError: No module named ppcls。这个错误通常是因为 Python 解释器无法找到名为 ppcls 的模块,而我们的代码中正尝试导入它。让我们一起来解决这…...
视觉化洞察:为什么我们需要数据可视化?
为什么我们需要数据可视化?这个问题在信息时代变得愈发重要。数据,如今已成为生活的一部分,我们每天都在产生大量的数据,从社交媒体到购物记录,从健康数据到工作表现,数据无处不在。然而,数据本…...
C语言函数概述——拜佛代码
函数是一种可重用的代码块,用于执行特定任务或完成特定功能函数作用:对具备相同逻辑的代码进行封装,提高代码的编写效率,实现对代码的重用函数作用演示代码: #include <stdio.h>// 定义函数 void func() {print…...
防火墙日志分析工具
防火墙提供对进入组织网络的网络流量的来源和类型的可见性,这使得防火墙日志成为重要的信息源,包括所有连接的源地址、目标地址、协议和端口号等详细信息,此信息可以提供对未知安全威胁的见解,是威胁管理中的重要工具。 防火墙日…...
Autofac中多个类继承同一个接口,如何注入?与抽象工厂模式相结合
多个类继承同一个接口,如何注入?与抽象工厂模式相结合 需求: 原来是抽象工厂模式,多个类继承同一个接口。 现在需要使用Autofac进行选择性注入。 Autofac默认常识: Autofac中多个类继承同一个接口,默认是最后一个接口注入的类。 解决方案:(约定大于配…...
Django系列之日志配置
如何配置 settings.py 文件中增加如下日志模块 """logger 配置""" LOGGING {version: 1,disable_existing_loggers: False, # 是否去掉目前项目中其他地方中以及使用的日志功能,但是将来我们可能会引入第三方的模块,里…...
四轴飞行器传感器(SimulinkMatlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
学习 使用pandas库 DataFrame 使用
1 、 数据排序 sort_values()函数 by:要排序的名称或名称列表, sorted_df df.sort_values(byAge,ascendingFalse) 由大到小排序; sorted_df df.sort_values(byAge) 由小到大排序; # 创建一个示例数据帧 data {Name: [Tom, Nick, John…...
C++字符串详解
C 大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的 string 类。string 类处理起字符串来会方便很多,完全可以代替C语言中的字符数组或字符串指针。 string 是 C 中常用的一个类,它非常重要,我们…...
vant2 van-calendar组件增加清除按钮和确定按钮
利用自定义插槽增加一个清除按钮 <van-calendar ref"fTime1" select"selectTimePicker" confirm"changeTimePicker" :default-date"null" :show-confirm"false" v-model"timePickerShow" type"range&quo…...
Spring redis使用报错Read timed out排查解决
文章目录 使用场景报错信息解决方式 使用场景 我们使用redis作为缓存服务,缓存一些业务数据,如路口点位信息、渠化信息、设备信息等有一些需要实时计算的数据,缓存在redis里,如实时信号周期相位、周期内过车数量等有需要不同服务…...
C语言每日一练-------Day(9)
本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 今日练习题关键字:字符个数统计 多数元素 投票法 💓博主csdn个人主页…...
SpringCloud(十)——ElasticSearch简单了解(三)数据聚合和自动补全
文章目录 1. 数据聚合1.1 聚合介绍1.2 Bucket 聚合1.3 Metrics 聚合1.4 使用 RestClient 进行聚合 2. 自动补全2.1 安装补全包2.2 自定义分词器2.3 自动补全查询2.4 拼音自动补全查询2.5 RestClient 实现自动补全2.5.1 建立索引2.5.2 修改数据定义2.5.3 补全查询2.5.4 解析结果…...
二叉查找树(binary search tree)(难度7)
C数据结构与算法实现(目录) 答案在此:二叉查找树(binary search tree)(答案) 写在前面 部分内容参《算法导论》 基本接口实现 1 删除 删除值为value的第一个节点 删除叶子节点1 删除叶子节…...
windows环境装MailHog
背景:win10系统,windows 宝塔,laravel 项目,邮件相关需要装一个MailHog 下载地址:https://sourceforge.net/projects/mailhog.mirror/ 直接下载,下载后双击运行就可以了,系统可能提示”不信任“…...
Cogito-v1-preview-llama-3B高性能:vLLM Serving + OpenAI兼容API部署教程
Cogito-v1-preview-llama-3B高性能:vLLM Serving OpenAI兼容API部署教程 1. 引言:为什么选择Cogito模型? 如果你正在寻找一个既强大又实用的语言模型,Cogito-v1-preview-llama-3B绝对值得关注。这个模型在同等规模的开源模型中…...
EVA-01应用实战:5个场景教你用Qwen2.5-VL处理工作学习中的图片难题
EVA-01应用实战:5个场景教你用Qwen2.5-VL处理工作学习中的图片难题 1. 引言:当视觉理解遇上机甲美学 想象一下,你正在处理一份满是手写笔记的文档照片,或者需要快速理解一张复杂的数据图表。传统方法可能需要你手动输入文字、反…...
G-Helper实战指南:华硕笔记本性能调优与硬件管理深度解析
G-Helper实战指南:华硕笔记本性能调优与硬件管理深度解析 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix,…...
MyLD2410:面向LD2410毫米波传感器的Arduino/ESP32嵌入式C++库
1. 项目概述MyLD2410 是一款专为 HLK-LD2410B 和 HLK-LD2410C 毫米波存在检测传感器设计的嵌入式 C 库,面向 Arduino 与 ESP32 平台构建。该库完全自主开发,不依赖任何第三方驱动或中间件,具备高度可移植性——可在所有支持 HardwareSerial 的…...
libpng 官方参考库中的这两个严重漏洞已存在30年之久
聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士安全研究人员披露了位于 libpng 官方参考库中的两个严重漏洞。libpng 是便携式网络图形格式的官方参考库。这些漏洞影响了跨越数十年开发历程的多个版本,可能允许攻击者触发进程崩…...
javaweb大学生校园跑腿服务系统的设计与实现沙箱支付
目录同行可拿货,招校园代理 ,本人源头供货商沙箱支付功能概述核心功能模块技术实现要点测试注意事项项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 沙箱支付功能概述 在JavaWeb校园跑…...
【通信】基于UCB的多智能体多臂老虎机算法降低 OBSS 干扰、提升系统吞吐量与公平性附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。👇 关注我领取海量matlab电子书和数学建模资料🍊个人信条:格物致知,完整Matl…...
告别复杂设置!这款开源IPTV播放器带来极简体验
告别复杂设置!这款开源IPTV播放器带来极简体验 【免费下载链接】iptvnator :tv: Cross-platform IPTV player application with multiple features, such as support of m3u and m3u8 playlists, favorites, TV guide, TV archive/catchup and more. 项目地址: ht…...
11款独特开源字体,让你的创意设计焕发生机
11款独特开源字体,让你的创意设计焕发生机 【免费下载链接】HoYo-Glyphs Constructed scripts by HoYoverse 米哈游的架空文字 项目地址: https://gitcode.com/gh_mirrors/ho/HoYo-Glyphs 在数字创作领域,字体是视觉表达的核心元素。然而…...
openclaude:模型接入 Code 工具链
作为一名长期关注人工智能工程化落地的开发者,我深知本地大模型在隐私保护和成本控制上的优势,但往往苦于缺乏像 Claude Code 那样强大的工具调用能力。很多时候,我们拥有强大的模型(如 DeepSeek、Ollama 本地部署)&am…...
