«

关于固态硬盘长时间不通电导致系统蓝屏、数据丢失的亲身体验

izilzty 发布于 阅读:5773


因为众所周知的原因,我已经两年没有回老家了,今年打算趁着身体刚恢复回家看望一下家里人。

到家后打开电脑,让Windows开始跑自动更新,然后我就去干别的了。当时电脑的状态非常正常,开机也是秒开,就没有特别在意。
一个小时以后事情忙完了,回来一看更新也完成了,就正常重启电脑准备更新,结果,问题就出现了...

第一次重启正常,然而就在第二次重启的时候,电脑在开机Logo那里卡了五分钟左右才能进系统。当时心里想,这破Windows又有什么新BUG了?上网查了一圈,好像最近没有出什么会开机卡住的BUG,于是我开始打开事件查看器看日志。

打开日志以后,发现在开机时有几个发出了对设备 \Device\RaidPort0 的重置错误,每次出现的间隔时间忘记了,但是总共一直持续了五分钟左右,应该就是它导致的开机卡在Logo。继续往后翻,又发现有设备 \Device\Harddisk0\DR0 有一个不正确的区块错误,当时心里想着:凉凉,这硬盘坏了,这大过年的去哪买啊。再打开CDI看了一下SMART信息,很奇怪,只有介质与数据完整性错误计数有一些数值,其他的像可用备用空间已用寿命百分比都很正常。

因为之前一直在为过年没电脑用而发愁,但是看见这个结果就冷静下来想了一下:介质与数据完整性错误计数的大概含义是主控在从闪存颗粒读取数据的时候出现错误,而且ECC也恢复不了,就等于数据已经丢失了;而可用备用空间是满的,则表示还没有闪存块被替换,也就是说这块固态目前仅仅是读取出错了,而写入还是正常的。

这时候,我才想起来了,固态是有断电数据保留时间,因为之前要么用的都是机械盘装系统,要么就是电脑经常开机,根本没把这个问题放在眼里,想着谁会几年不开电脑呢,结果这次就中招了。

在网上查了一下,固态的数据断电数据保留时间标准一般是在30℃温度下一年,如果温度降低保存时间还可以变长,但是这个时间是会根据闪存的磨损改变的,也就是固态写入次数越多,断电数据保留时间就会越短,具体时间多少也没法计算,因为每块闪存的磨损和制造差异都是不一样的。这就印证了我之前的猜想,我这块盘是笔记本拆下来的CA1-8D128-HP 128GB,目前已经写入了7TB左右,CDI显示剩余寿命还有92%,应该已经是有一些磨损了,再加上两年没开机,某些块数据丢失了也情有可原。

经过上面一番折腾,现在系统开机是直接蓝屏,显示错误WHEA_UNCORRECTABLE_ERROR,估计是重要的系统文件出问题了。

就像上面所说,出现介质与数据完整性错误计数位置的数据是没办法修复的,那就只有重装系统了。因为这个盘只是装了系统,除了桌面上的数据以外没有其他的数据了,桌面上的数据还可以读取,只有个别出现问题,所以损失还算小。在重装系统之前在PE里扫了一下坏块,果真有很多的红色块,每次出现红色块介质与数据完整性错误计数的计数就会加一,表示主控真的尽力了...

保险起见,在重装系统前,我把硬盘用DG全盘清零,又用Pmagic安全擦除了一次,再扫一下坏道,这次就没有红色块了,可用备用空间也没有减少,介质与数据完整性错误计数也没有增加。之后装好系统用了几天,没有再出现什么问题。

有些小伙伴可能会说固态扫坏道没有用怎么怎么,这其实也是要分情况的,绝大部分坏道扫描软件的工作原理就是和操作系统一样,把每个扇区的数据都读一遍,如果超时或者返回错误则显示为红色的坏道,这在判断问题上还是很大帮助的,因为如果连坏道检测软件都读不了的扇区,系统自然也读不了。

看来装固态的电脑还是要经常开机的(SLC和MLC颗粒的断电数据保留时间会比TLC之后的颗粒长很多),不过需要注意,这个开机还不能是只开几分钟就关机,因为主控需要时间搬运数据来给数据“加热”,所以建议开机时间长一些并且全盘读取一次(扫描一次坏道或者把所有数据复制一次之类的操作),一些详细信息可以参考这两个网页:

https://www.bilibili.com/read/cv9017139
https://www.reddit.com/r/hardware/comments/e16vf1/does_ssd_really_require_periodic_power_to/