找回密码
 注册
搜索
查看: 360|回复: 0

[电脑数码] 都说固态硬盘寿命短,那么有谁把使用寿命用完了吗?

[复制链接]
发表于 2022-2-2 05:45 PM | 显示全部楼层 |阅读模式


0.jpg

都说固态硬盘寿命短,那么有谁把使用寿命用完了吗?

作者 / 北极

我的工作是做操作系统存储驱动相关的东西,包括文件系统、存储驱动、USB 都接触过,把盘写坏了的事情还是遇到过不少次的。

如果把写坏的盘做一个汇总,可以总结以下几个特点:

1. 基本上都是不出名的小厂的盘,大厂尤其是 Intel 的盘在压力测试下也没出过问题,Intel 的盘不仅耐用,并且掉电丢数据的情况也很少。

2. 新产品更容易坏,比如 NVMe 刚出来的时候,各种杂牌子的盘很多,坏的也多,但过了一段时间以后,NVMe 的稳定性比第一批盘要好。这个规则也适用于 SATA-SSD(以下简称 SSD),但是因为 SSD 已经比较成熟了,所以 SSD 的问题相对于 NVMe 来说要少一些。

3. 操作系统上层操作很难写坏一个盘,因为盘自身带缓存,解决方法是发送硬件的 flush(SYNC)命令,并且不要使用 TRIM 命令。

早年(大概 8 年前)SSD 刚开始普及的时候,杂牌子的 SSD 比较多,国外客户更是什么样的盘都有,寄过来一些故障盘,发现在持续烤机一段时间(大概一个月)以后,性能开始下降,文件系统(RTOS 上的)性能从 200MB/s 左右下降到不到 100MB/s,这个时候盘已经快要坏了,大版本 release 测试的时候发现性能有下降,会用不同的盘测一下,如果是某个特定的盘的问题,那么就会把这个盘从测试环境里取出来,不再继续使用。这些盘年代久远,印象不太深刻。

我印象深刻的是两年前我写坏过一个 NVMe 盘,盘不是我买的,但是因为我们文件系统的性能距离官方数据有一定差距,并且想研究一下 TRIM(DISCARD)的影响,我就拿过来研究了一下(顺便说一下,有几个回答里有人提到过这个品牌,这个品牌名声一般)。为了避免硬件缓存的影响,我每次测试之前,会全盘写一遍 0x55,再写一遍 0xAA,每写一段就发一个 SYNC 命令,这样能迫使硬件缓存完全失效,并且会完全消耗一次 PE 次数。写完一遍 55/AA 之后,再进行后续性能测试(以每次 256KB 的数据块写 2GB 的内容)。

这个 NVMe 盘(PCI-E)裸写的速度大概是 700-800MB/s,在我反复擦写 0x55/0xAA 大概 5 次左右的时候,盘的写速度突然掉到 200MB/s,之后一直就保持在这个速度上了。

基本上可以认为这个盘已经坏了。

评论有人说 SSD 跟 NVMe 是一种东西,不应该这么比,我回答里的 SSD 特指 SATA-SSD,二者的主控并不一样,NVMe 刚流行的那两年,因为主控问题导致 NVMe 挂掉的盘很多,第一批 NVMe 的主控技术并不好。主控对闪存的性能和寿命影响是很大的。


所以,要问固态盘快要坏了的时候是什么现象,那么首先可能遇到的是掉速问题,频繁擦写(尤其是写一轮 55/AA)可能会导致固态盘的负载均衡算法失灵;也可能会零碎的丢失一些数据,但考虑到盘本身很大,如果不是像 Chia 那样 P 盘的话,未必能发现异常的数据块。

正常使用,尤其是用大厂的盘,一般不会有什么问题,我手头的 Intel SSD 730 Series 240GB,是 2014 年买的,作为系统盘使用至今没有任何问题。但另外一块 SanDisk 的 1T SSD,用了不到 4 年,已经有好几块坏快了(但还能用)。但是大厂的东西,贵是真的贵,一分钱一分货,十分钱两分货


写废盘的测试流程(注:绕过文件系统,直接操作驱动):

1. 申请 256KB 的固定缓存;

2. 缓存填充 0x55,从第一个扇区写到最后一个扇区;

2.1. 每写完 1G,发送一次硬件 Flush 命令(NVMe:Flush Cmd 0x00,SATA:ATA_CMD_FLUSH 0xE7/0xEA)

3. 缓存填充 0xAA,从第一个扇区写到最后一个扇区;

3.1. 每写完 1G,发送一次硬件 Flush 命令(同上)

4. 准备 1-2GB 的内存,按偏移量对 0x100 求余填充数据

5. 计时,写入数据,计算性能

6. 计时,读取数据,计算性能,校验

7. 发送 Flush 命令,并重复 4-6 步骤多次(>5)求平均数

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|www.hutong9.net

GMT-5, 2024-4-28 10:09 AM , Processed in 0.134028 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表