DWPD指标:为何不再适用于大容量SSD?
固态硬盘(Solid State Drives, SSD)作为计算机行业中最具革命性的技术之一,凭借其更快的读写速度、增强的耐用性和能效,已经成为大多数用户的首选存储方案。然而,如同任何其他技术一样,SSD也面临自身的挑战,其中首要问题之一便是数据可靠性。由于电源故障、电压波动以及磨损和老化等因素,存储在SSD中的数据可能会遭到破坏。
SSD的存储介质是什么,它就是NAND闪存。那你知道NAND闪存是怎么工作的吗?其实,它就是由很多个晶体管组成的。这些晶体管里面存储着电荷,代表着我们的二进制数据,要么是“0”,要么是“1”。NAND闪存原理上是一个CMOS管,有两个栅极,一个是控制栅极(Control Gate), 一个是浮栅(Floating Gate). 浮栅的作用就是存储电荷,而浮栅与沟道之间的氧化层(Oxide Layer)的好坏决定着浮栅存储电荷的可靠性,也就是NAND闪存的寿命。

但是呢,这些晶体管的电荷可不是永久存在的。它们就像一群顽皮的孩子,喜欢跑来跑去。如果你经常让它们进行“擦除”和“写入”的操作(NAND闪存中,P/E Cycle,也称为擦除次数),它们就会觉得累,电荷的存储能力也会逐渐下降(浮栅与沟道之间的氧化层被磨损的越来越严重,导致浮栅中电子的控制越来越艰难)。直到有一天,它们再也不想存储电荷了,那这个时候,你的SSD的寿命也就差不多了。

所以呢,SSD寿命评估的底层机理,其实就是计算NAND闪存的擦除和写入次数(P/E Cycle)。每个晶体管都有一个固定的擦除和写入次数,就像我们的腿一样,跑多了会累,会磨损。当这些晶体管达到一定的磨损程度时,它们就再也存储不了电荷了,这时候你的SSD可就要退休了哦!
目前市面上主要流通的就是4种NAND类型:SLC、MLC、TLC、QLC。随着每个寿命从高到低依次是SLC>MLC>TLC>QLC,随着单个cell含有的bit数越多,NAND的可靠性也会有所降低。

SSD寿命评估的指标主要包括两个:DWPD(Drive Writes Per Day)和TBW(Total Bytes Written)。
DWPD,即每天可以写入SSD的数据量,是衡量SSD寿命的重要指标之一。一般来说,DWPD越大,SSD的寿命越长。另一个评估指标是TBW,即SSD在寿命周期内可以承受的总写入数据量。

DWPD和TBW都是用来衡量SSD寿命的指标,DWPD更关注每天的使用频率,而TBW则关注硬盘的总写入能力。一般来说,DWPD越大,TBW越大,SSD的寿命也越长。然而,这些指标只是评估SSD寿命的参考值,实际使用寿命还受到其他因素的影响,如工作负载、环境温度、SSD的写入策略等。
近期STH论坛公布了一项数据, 他们从二手渠道购买了1347块从数据中心退役的企业级SSD。从厂商分布来看, 大部分盘来自Solidigm(Intel前身SSD)

按照接口协议,这些样本主要是NVME SSD:

具体型号分布如下:

这些SSD对应的DWPD规格都集中在1-3。

按照实际使用的DWPD分布, 研究发现,大多数SSD的实际DWPD远低于它们的标称DWPD值。这意味着大多数SSD的实际使用情况远没有达到制造商规定的最恶劣情况下的工作负载。

按照不同容量对应的实际DWPD数据分析:
-
400GB SSD:400GB容量的SSD几乎达到了其标称的耐久性评级,但实际使用中仍然略低于标称值。这表明即使是较小容量的SSD,在实际使用中的耐久性仍然接近于标称值。
-
3.84TB SSD:3.84TB容量的SSD是研究中最大容量点,实际最大DWPD低于1 DWPD。这表明对于这种大容量SSD,一旦文件被写入并在之后被多次读取,对于高耐久性SSD的需求就会大大降低。

随着SSD容量的增加,传统的DWPD评级越来越不适用。耐久性仍然是一个重要指标,但在大规模SSD上,当前的DWPD体系感觉不太合适。大容量SSD不太可能经历连续的4KB随机写入,更多的读取和更接近顺序写入的工作负载更可能发生。4KB随机写作为最恶劣情况下的工作负载,并不是大多数SSD所经历的真实工作负载。实际上,SSD更可能经历大量的读取和更接近顺序写入的工作负载,尤其是在更大容量的SSD上。
现在是时候转向新的评价体系了,特别是在更大容量的SSD上,我们应该对传统的DWPD评级的重要性有新的认识。随着技术的发展,我们可能需要重新评估如何衡量SSD的耐久性和性能,以更好地适应现代工作负载的要求。
如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!
精彩推荐:
-
突破内存墙:DRAM的过去、现在与未来
-
E1.S接口如何解决SSD过热问题?
-
ZNS SSD是不是持久缓存的理想选择?
-
存储正式迈入超大容量SSD时代!
-
FMS 2024: 带来哪些存储技术亮点?
-
IEEE报告解读:存储技术发展趋势分析
-
什么?陶瓷也可以用来存储数据了?
-
都说固态硬盘寿命短,那么谁把使用寿命用完了吗?
-
内存原生CRAM技术将会颠覆计算存储的未来?
-
浅析SSD性能与NAND速率的关联
-
关于SSD LDPC纠错能力的基础探究
-
存储系统如何规避数据静默错误?
-
PCIe P2P DMA全景解读
-
深度解读NVMe计算存储协议
-
浅析不同NAND架构的差异与影响
-
SSD基础架构与NAND IO并发问题探讨
-
字节跳动ZNS SSD应用案例解析
-
CXL崛起:2024启航,2025年开启新时代
-
NVMe SSD:ZNS与FDP对决,你选谁?
-
浅析PCI配置空间
-
浅析PCIe系统性能
-
存储随笔《NVMe专题》大合集及PDF版正式发布!
相关文章:
DWPD指标:为何不再适用于大容量SSD?
固态硬盘(Solid State Drives, SSD)作为计算机行业中最具革命性的技术之一,凭借其更快的读写速度、增强的耐用性和能效,已经成为大多数用户的首选存储方案。然而,如同任何其他技术一样,SSD也面临自身的挑战…...
路由器的固定ip地址是啥意思?固定ip地址有什么好处
在当今数字化时代,路由器作为连接互联网的重要设备,扮演着举足轻重的角色。其中,路由器的固定IP地址是一个常被提及但可能让人困惑的概念。下面跟着虎观代理小二一起将深入探讨路由器的固定IP地址的含义,揭示其背后…...
Java——踩坑Arrays.asList()
坑1:不能直接使用 Arrsys.asList() 来转换基本类型数据 public static void test1(){// 1、不能直接使用asList来转换基本类型数组int[] arr {1, 2, 3};List list Arrays.asList(arr);System.out.printf("list:%s size:%s class:%s", list, list.size(…...
前缀列表(ip-prefix)配置
一. 实验简介 本来前缀列表是要和访问控制列表放在一起讲的,但是这里单拎出来是为了更详细的讲解两者的区别 1.前缀列表针对IP比访问控制更加灵活。 2.前缀列表在后面被引用时是无法对数据包进行过滤的 实验拓扑 二. 实验目的 R4路由器中只引入子网LoopBack的…...
每日OJ_牛客_电话号码(简单哈希模拟)
目录 牛客_电话号码(简单哈希模拟) 解析代码 牛客_电话号码(简单哈希模拟) 电话号码__牛客网 解析代码 #include <iostream> #include <unordered_map> #include <set> #include <string> using name…...
鸿蒙轻内核M核源码分析系列十二 事件Event
往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 轻内核M核源码分析系列一 数据结构-双向循环链表 轻内核M核源码分析系列二 数据结构-任务就绪队列 鸿蒙轻内核M核源码分析系列三 数据结构-任务排序链表 轻…...
基于 RocketMQ 的云原生 MQTT 消息引擎设计
作者:沁君 概述 随着智能家居、工业互联网和车联网的迅猛发展,面向 IoT(物联网)设备类的消息通讯需求正在经历前所未有的增长。在这样的背景下,高效和可靠的消息传输标准成为了枢纽。MQTT 协议作为新一代物联网场景中…...
AWVS/Acunetix Premium V24.8
前言 Acunetix Premium 是一款网络安全 漏洞扫描 工具,主要用于自动化网站漏洞扫描和管理。它的特点包括深度扫描和发现各种类型的漏洞(如 SQL 注入和跨站脚本),支持多种技术和平台,提供详尽的报告和修复建议…...
[数据集][目标检测]灭火器检测数据集VOC+YOLO格式3255张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):3255 标注数量(xml文件个数):3255 标注数量(txt文件个数):3255 标注…...
【技术警报】Redis故障启示录:当主节点宕机,如何避免数据“雪崩”?
在高并发的互联网世界中,Redis作为一个高性能的键值存储系统,常被用于缓存、消息队列等场景,为应用提速增效。然而,技术的光芒背后也隐藏着潜在的危机——今天,我们就来探讨一个真实发生的案例:Redis主节点…...
【基础】Three.js加载纹理贴图、加载外部gltf格式文件
1. 模型使用纹理贴图 const geometry new THREE.BoxGeometry(10, 10, 10);const textureLoader new THREE.TextureLoader(); // 创建纹理贴图加载器const texture textureLoader.load("/crate.gif"); // 加载纹理贴图const material new THREE.MeshLambertMater…...
【区块链 + 人才服务】FISCO BCOS 区块链实训和管理平台 | FISCO BCOS应用案例
中博数科 FISCO BCOS 区块链实训和管理平台主要应用于区块链领域的教育和实训,目的是为学生、教师等用户 提供高效的区块链技术学习和实践体验,同时也为学校提供了一套完整的区块链解决方案。 该平台提供了一套完整的区块链课程体系,包括理论…...
联众优车持续加大汽车金融服务投入与创新,赋能汽车消费新生态
近年来,中国汽车消费市场呈现出蓬勃发展的态势,而汽车金融服务作为降低购车门槛、优化购车体验的重要手段,正日益受到市场的青睐。《2023中国汽车消费趋势调查报告》显示,相较于前一年,今年选择汽车金融服务的市场消费…...
基于yolov8的西红柿检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
【算法介绍】 基于YOLOv8的西红柿检测系统是一种利用深度学习技术的创新应用,旨在通过自动化和智能化手段提高西红柿成熟度检测的准确性和效率。该系统采用YOLOv8算法,该算法是深度学习领域中的先进目标检测模型,具备实时检测和多目标识别的…...
PHP轻量级高性能HTTP服务框架 - webman
摘要 webman 是一款基于 workerman 开发的高性能 HTTP 服务框架。webman 用于替代传统的 php-fpm 架构,提供超高性能可扩展的 HTTP 服务。你可以用 webman 开发网站,也可以开发 HTTP 接口或者微服务。 除此之外,webman 还支持自定义进程&am…...
Python实现人工鱼群算法
博客目录 引言 什么是人工鱼群算法(AFSA)?人工鱼群算法的应用场景为什么使用人工鱼群算法? 人工鱼群算法的原理 人工鱼群算法的基本概念人工鱼的三种行为模式人工鱼群算法的流程人工鱼群算法的特点与优势 人工鱼群算法的实现步骤…...
【网络安全】密码学概述
1. 密码学概述 1.1 定义与目的 密码学是一门研究信息加密和解密技术的科学,其核心目的是确保信息在传输和存储过程中的安全性。密码学通过加密算法将原始信息(明文)转换成难以解读的形式(密文),只有拥有正…...
Java连接SSH
使用JSch库建立SSH连接 JSch是一个纯Java实现的SSH2库,可以用来建立安全的SSH连接。要使用JSch,首先需要将其依赖项添加到您的项目中。如果您使用Maven作为构建工具,可以在pom.xml文件中添加如下依赖: <dependency><gr…...
怎么取消MAC 输入首字母总是自动变大写
一、打开系统偏好设置 点击屏幕左上角的苹果图标()。 在弹出的菜单中选择“系统偏好设置”。偏好设置”。二、进入键盘设置 在系统偏好设置窗口中,找到并点击“键盘”选项。三、调整文本输入设置 在键盘设置窗口中,点击“文本…...
【无损检测】基于用深度学习的工业超声B-Scan 图像中的焊缝缺陷
Automated Weld Defect Detection in Industrial Ultrasonic B-Scan Images Using Deep Learning Abstract: 自动超声波检测(AUT)是一种无损检测(NDT)方法,广泛应用于具有重要经济意义的行业。为了确保对独有的 AUT 数…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...
