참고 :이 질문은 이전에 주제를 벗어난 것으로 마감되었습니다. 토론을 읽을 수 있습니다 . 여기에 묻는 나의 이유는 다음과 같습니다.
- 이 드라이브는 잠비아 시골의 학교를위한 오프라인 콘텐츠 캐시 서버에 있습니다.
- 서버는 디스크 이미지로 작성되며 모든 컨텐츠를 교체 할 수 있습니다.
- 잠비아의 학교는 예산이 제한되어 있고 많은 학교가 있기 때문에 저렴해야합니다.
- 또한 나쁜 길에서 갈아 타려면 8 시간이 걸리기 때문에 신뢰성이 있어야합니다.
- 여기에 어떤 드라이브가 "초 저속 쓰레기"가 아닌지 물어볼 수는 없습니다.
- 우리는 이러한 기준을 충족시키는 드라이브에 대한 자체 연구 및 실험을 수행하고 있습니다.
- 불량 섹터를 덮어 써서 (자동 재 할당) 불량 섹터를 복구 할 수없는 것은 내 가정을 무시하고 그 이유를 알고 싶었습니다.
- 보안 지우기가 불량 섹터를 해결할 수 있다고 생각했지만 드라이브를 폐기하기 전에 다른 사람들의 의견을 원했습니다.
- SMART 데이터에서 실패를 예측할 수있는 내용이 누락되었을 수 있다고 생각했습니다.
이것은 Kingston 240GB SSD 디스크로 약 3 개월 동안 현장에서 정상적으로 작동했으며 갑자기 불량 섹터를 개발했습니다.
smartctl 5.41 2011-06-09 r3365 [i686-linux-3.2.20-net6501-121115-1cw] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: KINGSTON SVP200S3240G
Serial Number: 50026B7228010E5C
LU WWN Device Id: 5 0026b7 228010e5c
Firmware Version: 502ABBF0
User Capacity: 240,057,409,536 bytes [240 GB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ACS-2 revision 3
Local Time is: Tue Mar 5 17:10:24 2013 CAT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x02) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 0) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 48) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x0021) SCT Status supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 084 084 050 Pre-fail Always - 10965286670575
5 Reallocated_Sector_Ct 0x0033 100 100 003 Pre-fail Always - 16
9 Power_On_Hours 0x0032 000 000 000 Old_age Always - 46823733462185
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 127
171 Unknown_Attribute 0x0032 000 000 000 Old_age Always - 0
172 Unknown_Attribute 0x0032 000 000 000 Old_age Always - 0
174 Unknown_Attribute 0x0030 000 000 000 Old_age Offline - 131
177 Wear_Leveling_Count 0x0000 000 000 000 Old_age Offline - 1
181 Program_Fail_Cnt_Total 0x0032 000 000 000 Old_age Always - 0
182 Erase_Fail_Count_Total 0x0032 000 000 000 Old_age Always - 0
187 Reported_Uncorrect 0x0032 000 000 000 Old_age Always - 49900
194 Temperature_Celsius 0x0022 033 078 000 Old_age Always - 33 (Min/Max 21/78)
195 Hardware_ECC_Recovered 0x001c 120 120 000 Old_age Offline - 235163887
196 Reallocated_Event_Count 0x0033 100 100 003 Pre-fail Always - 16
201 Soft_Read_Error_Rate 0x001c 120 120 000 Old_age Offline - 235163887
204 Soft_ECC_Correction 0x001c 120 120 000 Old_age Offline - 235163887
230 Head_Amplitude 0x0013 100 100 000 Pre-fail Always - 100
231 Temperature_Celsius 0x0013 100 100 010 Pre-fail Always - 0
233 Media_Wearout_Indicator 0x0000 000 000 000 Old_age Offline - 363
234 Unknown_Attribute 0x0032 000 000 000 Old_age Always - 208
241 Total_LBAs_Written 0x0032 000 000 000 Old_age Always - 208
242 Total_LBAs_Read 0x0032 000 000 000 Old_age Always - 1001
SMART Error Log not supported
SMART Self-test Log not supported
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
이제 디스크의 특정 위치에 불량 블록이 있습니다.
root@iPad2:~# badblocks /dev/sda -v
Checking blocks 0 to 234431063
Checking for bad blocks (read-only test): 8394752 done, 1:15 elapsed
8394756 done, 1:21 elapsed
8394757 done, 1:23 elapsed
8394758 done, 1:24 elapsed
8394759 done, 1:27 elapsed
...
190882871one, 29:49 elapsed
190882888one, 29:53 elapsed
190882889one, 29:54 elapsed
190882890one, 29:56 elapsed
190882891one, 29:58 elapsed
done
Pass completed, 80 bad blocks found.
반복 가능한 것처럼 보이고 자동 재 할당이 실패하므로 다음과 같이 작성하여 수정할 수 없습니다.
root@iPad2:~# badblocks /dev/sda -wvf 8394756 8394756
/dev/sda is apparently in use by the system; badblocks forced anyway.
Checking for bad blocks in read-write mode
From block 8394756 to 8394756
Testing with pattern 0xaa: 8394756
done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: done
Reading and comparing: done
Testing with pattern 0x00: done
Reading and comparing: done
Pass completed, 1 bad blocks found.
그리고 시스템 로그에 다음과 같은 오류가 발생합니다.
ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
ata1.00: irq_stat 0x40000000
ata1.00: failed command: READ FPDMA QUEUED
ata1.00: cmd 60/08:00:08:30:00/00:00:01:00:00/40 tag 0 ncq 4096 in
res 51/40:08:08:30:00/00:00:01:00:00/40 Emask 0x409 (media error) <F>
ata1.00: status: { DRDY ERR }
ata1.00: error: { UNC }
ata1.00: configured for UDMA/133
sd 0:0:0:0: [sda] Unhandled sense code
sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda] Sense Key : Medium Error [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
01 00 30 08
sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 01 00 30 08 00 00 08 00
end_request: I/O error, dev sda, sector 16789512
Buffer I/O error on device sda, logical block 2098689
ata1: EH complete
이제이 디스크에서 자동 재 할당이 실패하는 이유를 이해하지 못합니다. smartctl
출력은 모두 나에게 벌금을 보인다. 16 개 섹터 만 재 할당되었는데, 그다지 많지는 않습니다. 이 드라이브가 섹터 재 할당을 거부하는 합법적 인 이유를 알 수 없습니다. 이 SSD 모델이 고장 났거나 잘못 설계 되었습니까?
노트:
- Kingston의 문서에 따르면 속성 174는 "예기치 않은 전력 손실"입니다.
- 131 예기치 않은 전력 손실이 상당히 나쁩니다.
- 속성 187 (Reported_Uncorrect)은 가능한 최대 65535 중에서 49900입니다.
- 최고 온도는 78 ℃에서 꽤 높습니다
가장 흥미로운 SMART 카운터 는이 드라이브에 Kingston에 의해 숨겨져 있습니다. 그러나 속성 196에서 예비 섹터 수를 추정 할 수 있습니다. Reallocated_Event_Count. 정규화 된 값에 대해 다음 공식이 있습니다.
100 -(100* RBC / MRC)
RBC = Retired Block Count (Grown)
MRE = Maximum reallocation count
정규화 된 값이 100이므로 이는 RBC << MRE임을 의미하므로 재 할당 할 수있는 모든 섹터를 소진 할 수 없습니다.