首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >智能测试只运行了几次就修复了自己

智能测试只运行了几次就修复了自己
EN

Unix & Linux用户
提问于 2022-09-17 01:51:26
回答 1查看 195关注 0票数 1

我发现一些奇怪的事情:

代码语言:javascript
复制
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      8003         -
# 2  Extended offline    Completed: read failure       90%      8001         5907400
# 3  Extended offline    Completed: read failure       90%      8001         5907400
# 4  Extended offline    Completed: read failure       90%      8001         5907400
# 5  Extended offline    Completed: read failure       90%      8001         5907400
# 6  Short offline       Completed: read failure       80%      8001         5907400
# 7  Short offline       Completed: read failure       80%      8000         5907400
# 8  Extended offline    Completed without error       00%         1         -

我的驱动器抛出了大量ATA错误,数据无法读取。我决定让它,所以我运行hdparm安全擦除程序,以及抛出一个shred对它。由于这是一个小(500 is的三星EVO) SSD,它的速度相对较快。我又跑了一个smartctl -t short .它“修复”了自己。

驱动器仍然具有具有以下属性的ATA Error Count: 207

代码语言:javascript
复制
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   075   075   010    Pre-fail  Always       -       123
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       8004
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       27
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       4
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   075   075   010    Pre-fail  Always       -       123
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   075   075   010    Pre-fail  Always       -       123
187 Reported_Uncorrect      0x0032   099   099   000    Old_age   Always       -       207
190 Airflow_Temperature_Cel 0x0032   060   051   000    Old_age   Always       -       40
195 Hardware_ECC_Recovered  0x001a   199   199   000    Old_age   Always       -       207
199 UDMA_CRC_Error_Count    0x003e   099   099   000    Old_age   Always       -       1
235 Unknown_Attribute       0x0012   099   099   000    Old_age   Always       -       12
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       3737223587

是什么原因导致智能测试突然“修复”自己?我觉得这个驱动器不能再被信任了?然而,我怀疑三星现在会不会RMA,因为它没有失败.

编辑:为了完整的故事,三星确实更换了一个全新的驱动器。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-09-17 02:51:10

该数据与允许纠正多个比特错误的纠错信息一起存储,并检测(更高的)位错误数。

简单的情况是在四个双边投资条约中获得多数票:

代码语言:javascript
复制
0000 - '0', no error
0001 - '0', 1 error
0010 - '0', 1 error
0011 - uncorrectable
0100 - '0', 1 error
0101 - uncorrectable
0110 - uncorrectable
0111 - '1', 1 error
1000 - '0', 1 error
1001 - uncorrectable
1010 - uncorrectable
1011 - '1', 1 error
1100 - uncorrectable
1101 - '1', 1 error
1110 - '1', 1 error
1111 - '1', 0 errors

该方法允许修正1个错误,检测2个错误。如果你有3个错误,你会得到错误的结果。当然,实际的方法使用更大的组,所以它只将数据扩展了几个百分点,而不是4倍,还考虑到错误通常是聚集在一起的。

因此,一个“不可纠正的”错误不一定是坏媒体,它只是意味着数据现在是无法恢复的。覆盖数据可以很容易地修复这个问题,而我的怀疑就是发生了这样的事情。

在显示错误之前,通常会多次尝试读取错误。如果其中一次尝试成功,那么块将被重新映射,并显示在Used_Rsvd_Blk_Cnt_Tot中。由于123的原始值被转换为75,所以我预计大约有四分之一的保留块被使用,因此可能存在大约500个。当剩下10%的块时,该属性将进入FAILING_NOW状态,因此大约为50。

所以是的,我认为SSD有点不可靠,因为它除了读取失败之外,还恢复了一些重新分配的部门。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/717605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档