나는 나에게 이상한 점을 발견했습니다.
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 오류가 발생하여 데이터를 읽을 수 없습니다. RMA를 하기로 결정해서 hdparm
보안 삭제를 실행 하고 shred
버렸습니다. 소형(500GB Samsung EVO) SSD이기 때문에 상대적으로 속도가 빠릅니다. 나는 또 다른 것을 실행했고 smartctl -t short
... 그것은 스스로 "수정"되었습니다.
드라이브에는 여전히 ATA Error Count: 207
다음과 같은 속성이 있습니다.
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
SMART 테스트가 갑자기 "자체적으로 수정"되는 원인은 무엇입니까? 드라이브가 더 이상 신뢰할 수 없는 것 같아요? 하지만 삼성이 테스트를 통과하지 못했기 때문에 지금 당장 반품할지는 의문입니다...
편집: 이야기의 완성도를 높이기 위해 삼성은 드라이브를 새 드라이브로 교체했습니다.
답변1
데이터는 오류 수정 정보와 함께 저장되어 여러 비트 오류를 수정하고 (더 많은) 비트 오류를 감지할 수 있습니다.
간단한 경우는 4명의 다수결입니다.
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로 변환되므로 예약된 블록의 약 4분의 1이 사용될 것으로 예상되므로 대략 500개 정도가 될 것입니다. FAILING_NOW
이 속성은 블록의 10%가 남을 때(예: 약 50개) 상태로 들어갑니다.
그렇습니다. SSD는 읽기 실패 외에도 재할당된 섹터가 많기 때문에 약간 이상하다고 생각합니다.