作为三星 pm9a1 固态 0e 报错/数据损坏的早期、二度受害者,谈谈科学的预判和检测方法

2022-09-12 14:19:45 +08:00
 wangyuyang3

  看了《三星这次所谓大批量爆出固态损坏,可能也没那么严重?》( https://www.v2ex.com/t/879351 )这个帖子有感而发,感受到许多朋友对自己使用类似型号的三星固态感到不安(即便目前 0e 没有计数),以及迫切地想要实锤自己会不会翻车。因此发个帖子简单陈述一下我这个倒霉蛋的实践经验,供各位参考。

1 、问题表现:从 S.M.A.R.T 几个相关属性的性质以及相互关系作为切入口
  这次三星固态翻车,主要表征可以从三个属性反馈出来:
  03 可用备用空间
  0E 媒体与数据完整性错误计数
  0F 错误日志项数

( 1 ) 0e 报错或数据丢失是因为 03 可用备用空间耗尽?非也。
  时常看到一些网友这样描述:可用备用空间是用来纠错的,会有自然损耗,但如果耗尽了备用空间,那么一些数据错误就无法纠正过来,最后引发文件物理损坏的严重后果。
  事实上,这种解释让我很困惑,因为我两次翻车出现数据丢失的时候,0E/0F 计数疯涨,但是 03 可用备用空间依然十分充裕。例如我本周的这次翻车,03 计数为 93%,但已经丢了好几个文件了。
  换句话说,三星这次报 0e 和数据损坏,压根不是因为用于纠错的备用空间用完,而是压根没有纠错就坏了?

( 2 )本次问题的重点——0e 媒体与数据完整性错误计数及其对应的实际危害
  顾名思义。这个计数表示 SSD 中文件在读取过程中出现的不可纠正错误的次数,反映到 windows 事件查看器对应的日志即 disk 错误(报:在 SSD 上检测到一个不正确的区块)。这种报错对应的实际问题包括但不限于:
  a.以视频文件为例,如果是文件头信息丢失,视频就直接损坏打不开了,视频文件的几个核心属性全部丢失,必须用一些视频恢复软件重新编码才能恢复;如果是文件中段数据丢失,那么就表现为:视频可以正常打开,但是播放到某个位置突然卡住了,然后播放器直接崩溃,此时可以拖进度条跳过损坏的区域;
  b.以 Vmware 虚拟机虚拟磁盘文件为例,部分损坏并不影响虚拟机的正常运行,但当用到虚拟机克隆功能时会做虚拟磁盘全盘数据校验,报循环冗余检查,提示无法克隆。
  c.对于分卷压缩文件,表现为 WinRAR 等压缩软件在执行解压时直接报循环冗余检查,无法正常解压;
  d.对于其他通常的单体文件:通常表现为无法正常使用特定软件打开,可能同时出现无法从 SSD 复制或移动到其他硬盘的情况,但这种检验方法并不可靠,文件可以打开不代表没有坏一小部分;某天可能反复尝试无法复制或移动出去,但第二天突然又可以移出了……但这并不代表它起死回生了,实测下来数据本身可能还是存在部分永久性损坏的;
  e.对于系统运行稳定性来说:到了 ssd 癌症晚期阶段,很容易发现系统存在莫名其妙的卡顿,windows 事件查看器的 disk 报错已经爆表了;甚至最严重的情况下,系统引导文件可以直接损坏,GG 。
  ……

( 3 )关于 0E 和 0F 的关系——0F 不重要
  显而易见,0F 包含 0E ,媒体与数据完整性错误只是日志记载错误中的一种,可能还有别的错误类型,所以 0F 在本次翻车事件中意义不大;实际上,在大部分情况下,本次翻车 0E 和 0F 计数基本上相等,也就是除了文件直接损坏并不会报别的错误。


2 、涉及的设备型号和固件?——固件修复论不可信
  型号方面,这里我不再费工夫收集整理了,大家可以直接 google 一下 chiphell/nga/贴吧等论坛,或者看看外语论坛的相关讨论。
  但对于固件,很多评论指出升级到 XX 固件就好了,0e 计数不再增加了,这类断言我个人是觉得非常可疑的:
  ( 1 )即便已经出现 0e 计数,不动固件,0e 也不是每天都必然增加,需要你是个倒霉蛋,正好每天都读取到某个损坏的文件,才会报错,才会增加计数;你如果不触发损坏的文件,损坏实际上已经悄然发生,只是你恰好死活找不到损坏的究竟是谁……
  我现在二度翻车就遇到这么个情况,一个 60GB 的虚拟机磁盘已经暴毙,但最近连着好几天都再也没有 disk 错误,0e 也不增加,但我难道能一叶障目,忽略已经产生的损失和未来压根无法预判的随机损失吗?
  ( 2 )各种型号固件能否升级本身没用通行方案。像我这里用的 OEM 版本的 980pro——pm9a1 ,固件压根不是三星提供的,而是联想提供的第三方固件。整个 SSD 都无法通过 Samsung Magician 控制。我这边最新翻车的型号和固件分别为:SAMSUNG MZVL22T0HBLB-00BL/8L2QGXB7 ,固件版本查下来是联想于今年 3 月份释出的新版固件(至于是否有升级更新我压根找不到……我看到的都是 thinkpad 的技术支持页,而自己机器对应的官方页面并没有更新)。这种情况下,你让我怎么升级固件?。。
  ( 3 )更何况,三星压根没有正式公布这个问题及其本质原因,更遑论在固件更新日志中明确提示这一问题的解决。根据软硬件安全的基本常识,无论时软件 bug 还是安全漏洞,如果一个补丁包是用于解决生产环境的某个灾难性问题的,三星难道会悄咪咪地发布而不予以任何通告吗?如果固件更新真能解决 0e ,恐怕三星早就拿个大喇叭到处喊了,毕竟早期预防总好过未来无尽的售后成本和品牌形象贬损吧?


3 、问题触发条件?能否预判?
( 1 )问题触发条件——没有规律可循
  有些人新盘到手没几天就暴毙,像我这种都是用了半年左右(通电 3000-5000 小时,写入 /读取 60TB 左右),才暴毙。这种都是看运气。
  我也曾 too young too simple ,常常为这价值 2000 多的小片片感到自责和懊悔。
  是不是我不够爱惜?是我下手太重了吗?是因为我经常搞音视频后期 /剪辑、折腾虚拟机的原因吗?是因为我有长期不关机的习惯吗?我想了想,根本不至于……
  我第一次翻车是在今年 3 月份,去年 10 月才买的联想游戏主机标配的三星 pm9a1 ;实际运行时间应该在几千小时,数据写入 /读取分别不会超过 100TB 。但发现翻车的时候,为时已晚,情况已经非常严重了——时常感到系统卡顿,0e 计数已经飙到几千了,除去不重要的系统文件和游戏数据,最终排查下来损失了近 100GB 关键资料(大部分是单体高价值大视频文件)。
  那个时候我作为早期受害者也很费解,因为当时网上压根没有多少先例可循。和维修师傅聊到这个,他也表示很诧异,表示很少见到三星旗舰 SSD 直接暴毙的。
  我暗自叫苦:我 tm 运气这么好花了 2 万多摇到的搭载三星 2TB 旗舰固态的“高端”游戏主机,就这么脆弱?你在逗我吧……

( 2 )能否预判?——压根不存在预判的可能性,等待你的只有突然暴毙
  朋友们,很能理解你“我应该不会这么倒霉吧”的侥幸心理和迫切想要亡羊补牢的情绪,但别忘了 0e 媒体与数据完整性错误计数本身的性质和含义,有没有一种可能,它本身就代表着死亡?
  试想一下,你每天都试图从 S.M.A.R.T 属性值找到迹象,但你等的究竟是什么?难道是某个先兆吗?你等的分明就是 0e 计数本身的上升,只有这个数字才能让你知道真有问题了(上文已经指出“备用空间”计数不可靠)。但这种上升本来就代表数据已经发生永久丢失了,你这不是在预判死亡,而是等待死亡,然后验尸。


4 、本文重中之重:谈谈如何在暴毙早期及时发现问题
  看到这里,相信你已经摆正心态,明确检测问题的目标不是发现濒临死亡的迹象,而是探索已经死亡的文件尸体。目前来说,可靠的检测有以下几种:
  ( 1 )结合本文第 1 段第( 2 )节提出的问题表征,日常使用过程中提高发现问题的敏锐度,别一个报错一晃就过去了压根没看到,那就 G 了。
  ( 2 )抛弃 Diskgenius 、HD Tune Pro 的扫描功能,使用 Hard Disk Sentinel 6.01.4 PRO 的“扩展的自测试”以及“表面测试”功能。
  对于扩展的自测试,如非 OEM 产品,支持调用 Samsung Magician ,应该也有类似的官方检测功能。
  对于表面测试功能,选择测试类型为“读测试”,在“配置”选项卡中勾选“顺序测试”、“随意测试”、“蝴蝶式测试”、“颠倒顺序测试”,测试次数可以选择两次,这样比较容易排查出问题。
  表面测试完成后,如发现有红块,可以左键单击红块,勾选左下角“检测扇区文件信息”,就可以轻松定位已经损坏的文件。相应的,测试过程中的报错均会如实反映到 windows 事件查看器的 disk 报错以及同时导致 0E/0F 计数跟着增长。
  由于读取测试不会伤及 SSD 寿命,所以可以养成时常检测的习惯。
  ★相反:Hard Disk Sentinel 6.01.4 PRO 能扫出的错误区块,使用 Diskgenius 、HD Tune Pro 的扫描功能不一定能扫出,应该就是后两者检测功能对 SSD 的支持程度、检测方式细化程度不足。但如果问题已经到了极其严重的程度,那请放心,后两个软件也能扫出红块。
  ( 3 )养成每周筛选排查 windows 事件管理器的 disk/Disk 日志的习惯,及时发现数据错误。同时周期性地测试大文件、某个游戏地文件路径整体复制到其他硬盘,测试看是否会出现无法读取源文件的报错。
  ( 4 )如果出现大型文件已经损坏无法迁移出去的情况,可以尝试一下 chkdsk /r 这个 cmd 命令,或许有修复的机会
  (修复时需要锁定、卸除硬盘,可以 PE 上执行)
  (此处修复不是指文件从损坏恢复到完好如初,而仅仅是可以移动出 SSD 了,具体是否有损失还需要个案分析。)


5 、结语
  这次三星固态翻车的问题,目前从原理上看 tm 就是个黑箱,官方还处在昏睡状态,没有预判方法。
  不要幻想它像人的糖尿病似的可以在早期通过体检找到相应指标,随后予以补救。记住,0e 本身就是死亡,重点在于死的是什么文件。
  如果 0e 已经有计数,“计数短期内不再增长”不是你摆烂的理由。能售后换新就赶紧去换吧,不要赌自己运气好。

  对于创意工作者,工程文件什么的都得长点心,处理好了赶紧转存机械硬盘。
  对于虚拟机使用者,要提防整个虚拟机磁盘损坏的风险,定期快照存到其他硬盘。
  对于单纯用来装系统或者放大型游戏的朋友,我只能说,我很羡慕你可以闲庭信步,处变不惊……

4595 次点击
所在节点    SSD
24 条回复
1194129822
2022-09-20 22:53:32 +08:00
有用,我一个备用盘,测一下 20 个坏块。
1194129822
2022-09-20 22:55:49 +08:00
@eightsheep 没必要升级,我 7301Q 的时候固态写了快 100T 都没什么问题,升到 7401 ,7601 后 G 了。
kevin335200
2022-10-02 18:31:31 +08:00
中招序列号我收集了一下,见 https://www.chiphell.com/thread-2443478-1-1.html
序列号第八位第九位为出厂年月
KagurazakaKotori
2022-10-05 10:00:08 +08:00
22 年 6 月出厂的 PM9A1 2T MZVL22T0HBLB-00B00 ,S677NX0T ,出厂 7601Q 固件,测出来没问题
查了一圈好像 22 年出厂的盘出问题的很少

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/879433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX