Из любопытства я запустил GNU ddrescue
на жестком диске Seagate ST1000LM024 HN-M101MBB с известными поврежденными секторами, а затем визуализировал ddrescue
карты ddrescue с помощью ddrescueview.
Когда я увеличил масштаб, появилась эта интересная картина:
Зеленые промежутки (смежные хорошие сектора) часто имеют размер 2440 логических секторов (1249280 байт), а красные участки (поврежденные и, вероятно, физически поврежденные сектора) почти всегда имеют размер 1 физический сектор (4 логических сектора, 4096 байт).
Помня эту схему, я сделал расчет, чтобы оценить, сколько секторов будет на пути. Жесткий диск вращается со скоростью 5400 rotations per minute
, постоянная скорость чтения в этой части диска составляет около 109 mebibytes per second
(я проверял это на диске той же модели без плохих секторов), одна дорожка вращается на 360 degrees
, и логический сектор составляет 512 bytes
.
((109MiB/s / 5400rpm * 360 degrees) / 512 bytes) = 2480
Оценка показывает, что на затронутой трассе имеется около 2480 логических секторов. Шаблон происходит каждые 2444 логических сектора.
Это говорит о том, что физическое повреждение выглядит как очень тонкая полоса, направленная внутрь, практически касающаяся круга диска. Тонкая полоска умещается по дуге менее 0.001639°
. Этот ущерб, каким бы он ни был, кажется микроскопической раной.
Есть и другие характеристики модели, которые я не могу понять.
- Плохие сектора существуют только в первых 1/6 привода, внешних края, без четкой картины , где появляются полосы узоров.
- Образцы, кажется, не одна длинная рана; они больше похожи на пунктирную / пунктирную линию («┋»):
Почему повреждение выглядит так? Что может создать такую упорядоченную картину повреждений?
Ссылка
УМНЫЙ
# smartctl -a /dev/sdf
smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.3.0-0.bpo.1-amd64] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Seagate Momentus SpinPoint M8 (AF)
Device Model: ST1000LM024 HN-M101MBB
Serial Number: S314J90G121745
LU WWN Device Id: 5 0004cf 20f07d081
Firmware Version: 2BA30003
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 2.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 6
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Mar 19 10:02:27 2016 CDT
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: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 121) The previous self-test completed having
the read element of the test failed.
Total time to complete Offline
data collection: (12480) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No 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: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 208) minutes.
SCT capabilities: (0x003f) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 100 100 051 Pre-fail Always - 118722
2 Throughput_Performance 0x0026 252 252 000 Old_age Always - 0
3 Spin_Up_Time 0x0023 092 092 025 Pre-fail Always - 2494
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 96
5 Reallocated_Sector_Ct 0x0033 252 252 010 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 252 252 051 Old_age Always - 0
8 Seek_Time_Performance 0x0024 252 252 015 Old_age Offline - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 4188
10 Spin_Retry_Count 0x0032 252 252 051 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 21
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 102
13 Read_Soft_Error_Rate 0x003a 100 100 000 Old_age Always - 0
181 Program_Fail_Cnt_Total 0x0022 100 100 000 Old_age Always - 655675
191 G-Sense_Error_Rate 0x0022 100 100 000 Old_age Always - 56
192 Power-Off_Retract_Count 0x0022 100 100 000 Old_age Always - 25
193 Load_Cycle_Count 0x0032 089 089 000 Old_age Always - 111986
194 Temperature_Celsius 0x0002 058 050 000 Old_age Always - 42 (Min/Max 14/50)
195 Hardware_ECC_Recovered 0x003a 100 100 000 Old_age Always - 0
196 Reallocated_Event_Count 0x0032 252 252 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 037 037 000 Old_age Always - 10437
198 Offline_Uncorrectable 0x0030 252 252 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0036 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x002a 100 100 000 Old_age Always - 3688
240 Head_Flying_Hours 0x0032 100 100 000 Old_age Always - 4186
241 Total_LBAs_Written 0x0032 097 094 000 Old_age Always - 4770327
242 Total_LBAs_Read 0x0032 096 094 000 Old_age Always - 5931956
254 Free_Fall_Sensor 0x0032 252 252 000 Old_age Always - 0
SMART Error Log Version: 1
Warning: ATA error count 13458 inconsistent with error log pointer 4
ATA Error Count: 13458 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 13458 occurred at disk power-on lifetime: 4188 hours (174 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 08 28 ec cb e2 Error: UNC 8 sectors at LBA = 0x02cbec28 = 46918696
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 28 ec cb e2 08 00:02:49.684 READ DMA
b0 d5 01 00 4f c2 00 08 00:02:49.684 SMART READ LOG
ef 10 02 00 00 00 a0 08 00:02:49.684 SET FEATURES [Enable SATA feature]
27 00 00 00 00 00 e0 08 00:02:49.684 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 a0 08 00:02:49.684 IDENTIFY DEVICE
Error 13457 occurred at disk power-on lifetime: 4188 hours (174 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 08 28 ec cb e2 Error: UNC 8 sectors at LBA = 0x02cbec28 = 46918696
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 28 ec cb e2 08 00:02:49.681 READ DMA
b0 da 00 00 4f c2 00 08 00:02:49.681 SMART RETURN STATUS
ef 10 02 00 00 00 a0 08 00:02:49.681 SET FEATURES [Enable SATA feature]
27 00 00 00 00 00 e0 08 00:02:49.681 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 a0 08 00:02:49.681 IDENTIFY DEVICE
Error 13456 occurred at disk power-on lifetime: 4188 hours (174 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 08 28 ec cb e2 Error: UNC 8 sectors at LBA = 0x02cbec28 = 46918696
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 28 ec cb e2 08 00:02:49.677 READ DMA
b0 d1 01 01 4f c2 00 08 00:02:49.677 SMART READ ATTRIBUTE THRESHOLDS [OBS-4]
ef 10 02 00 00 00 a0 08 00:02:49.677 SET FEATURES [Enable SATA feature]
27 00 00 00 00 00 e0 08 00:02:49.677 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 a0 08 00:02:49.677 IDENTIFY DEVICE
Error 13455 occurred at disk power-on lifetime: 4188 hours (174 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 08 28 ec cb e2 Error: UNC 8 sectors at LBA = 0x02cbec28 = 46918696
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 28 ec cb e2 08 00:02:49.674 READ DMA
b0 d0 01 00 4f c2 00 08 00:02:49.674 SMART READ DATA
ef 10 02 00 00 00 a0 08 00:02:49.674 SET FEATURES [Enable SATA feature]
27 00 00 00 00 00 e0 08 00:02:49.674 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 a0 08 00:02:49.674 IDENTIFY DEVICE
Error 13454 occurred at disk power-on lifetime: 4188 hours (174 days + 12 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 08 28 ec cb e2 Error: UNC 8 sectors at LBA = 0x02cbec28 = 46918696
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 28 ec cb e2 08 00:02:49.670 READ DMA
ec 00 01 00 00 00 00 08 00:02:49.670 IDENTIFY DEVICE
ef 10 02 00 00 00 a0 08 00:02:49.670 SET FEATURES [Enable SATA feature]
27 00 00 00 00 00 e0 08 00:02:49.670 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 a0 08 00:02:49.670 IDENTIFY DEVICE
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed: read failure 90% 4101 933752
# 2 Short offline Completed: read failure 90% 4101 933752
# 3 Short offline Completed: read failure 90% 4101 1417744
# 4 Short offline Completed without error 00% 3607 -
# 5 Short offline Completed without error 00% 3002 -
# 6 Short offline Completed without error 00% 2338 -
# 7 Short offline Completed without error 00% 1044 -
# 8 Short offline Completed without error 00% 334 -
# 9 Short offline Completed without error 00% 0 -
SMART Selective self-test log data structure revision number 0
Note: revision number not 1 implies that no selective self-test has ever been run
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Completed_read_failure [90% left] (0-65535)
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.
ddrescue
mapfile
ddrescueview Галерея
Низкое разрешение
- Без увеличения
- Увеличить все повреждения
- Две полосы повреждения
- Те же две полосы повреждения, альтернативный уровень масштабирования
- Вторая группа повреждений
- Показаны отдельные сектора
Высокое разрешение
- Без увеличения
- Увеличить все повреждения
- Две полосы повреждения
- Нижняя полоса урона
- Нижняя полоса урона, альтернативный уровень масштабирования
- Нижняя полоса урона, еще один уровень увеличения
- Нижняя полоса урона, больше зум
- Нижняя полоса урона, еще больший зум
- Нижняя полоса урона, еще один уровень масштабирования