Dying SSD
Crucial M4
I believe this SSD is dying since Windows will randomly blue screen after some time. Interestingly, the computer fails to boot afterwards until a full power cycle of the computer (ie. flipping the power supply switch off and on).
After one of these BSOD events, I booted into Linux and found the drive in a read-only state even when mounted as rw. When iterating over all the files, I get the following errors:
# dmesg # After running 'find | tail' to iterate over all file listings
[ 2.779403] ata10: SATA max UDMA/133 abar m512@0xf7110000 port 0xf7110180 irq 59
[ 3.269481] ata10: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 3.269924] ata10.00: ATA-9: M4-CT064M4SSD2, 070H, max UDMA/100
[ 3.269928] ata10.00: 125045424 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[ 3.270436] ata10.00: configured for UDMA/100
[ 160.455028] ata10.00: exception Emask 0x10 SAct 0x3 SErr 0x1390002 action 0xe frozen
[ 160.455243] ata10.00: irq_stat 0x88400000, interface fatal error, PHY RDY changed
[ 160.455766] ata10: SError: { RecovComm PHYRdyChg 10B8B Dispar BadCRC TrStaTrns }
[ 160.456232] ata10.00: failed command: READ FPDMA QUEUED
[ 160.456785] ata10.00: cmd 60/00:00:08:41:07/01:00:00:00:00/40 tag 0 ncq 131072 in
[ 160.457783] ata10.00: status: { DRDY }
[ 160.458343] ata10.00: failed command: READ FPDMA QUEUED
[ 160.458818] ata10.00: cmd 60/08:08:f0:d2:64/00:00:00:00:00/40 tag 1 ncq 4096 in
[ 160.459883] ata10.00: status: { DRDY }
[ 160.460454] ata10: hard resetting link
[ 161.183274] ata10: SATA link down (SStatus 0 SControl 300)
[ 164.468273] ata10: hard resetting link
[ 164.956796] ata10: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 164.957630] ata10.00: configured for UDMA/100
[ 164.957643] ata10: EH complete
[ 274.151510] ata10.00: exception Emask 0x10 SAct 0x3 SErr 0x1390002 action 0xe frozen
[ 274.151672] ata10.00: irq_stat 0x88400000, interface fatal error, PHY RDY changed
[ 274.152065] ata10: SError: { RecovComm PHYRdyChg 10B8B Dispar BadCRC TrStaTrns }
[ 274.152481] ata10.00: failed command: READ FPDMA QUEUED
[ 274.152895] ata10.00: cmd 60/08:00:a8:b1:b6/00:00:02:00:00/40 tag 0 ncq 4096 in
[ 274.153730] ata10.00: status: { DRDY }
[ 274.154153] ata10.00: failed command: READ FPDMA QUEUED
[ 274.154574] ata10.00: cmd 60/00:08:50:5d:65/01:00:00:00:00/40 tag 1 ncq 131072 in
[ 274.155465] ata10.00: status: { DRDY }
[ 274.155917] ata10: hard resetting link
[ 274.877700] ata10: SATA link down (SStatus 0 SControl 300)
[ 278.164775] ata10: hard resetting link
[ 278.655222] ata10: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 278.656040] ata10.00: configured for UDMA/100
[ 278.656054] ata10: EH complete
The SMART output is:
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-24-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Crucial/Micron RealSSD m4/C400/P400
Device Model: M4-CT064M4SSD2
Serial Number: 00000000121009082266
LU WWN Device Id: 5 00a075 109082266
Firmware Version: 070H
User Capacity: 64,023,257,088 bytes [64.0 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, 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: Sun Feb 19 00:45:04 2017 UTC
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: (0x80) Offline data collection activity
was never started.
Auto Offline Data Collection: Enabled.
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: ( 295) 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: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 4) minutes.
Conveyance self-test routine
recommended polling time: ( 3) minutes.
SCT capabilities: (0x003d) 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 050 Pre-fail Always - 0
5 Reallocated_Sector_Ct 0x0033 099 099 010 Pre-fail Always - 0 (0 2)
9 Power_On_Hours 0x0032 100 100 001 Old_age Always - 8579
12 Power_Cycle_Count 0x0032 100 100 001 Old_age Always - 1034
170 Grown_Failing_Block_Ct 0x0033 099 099 010 Pre-fail Always - 64
171 Program_Fail_Count 0x0032 100 100 001 Old_age Always - 124
172 Erase_Fail_Count 0x0032 100 100 001 Old_age Always - 0
173 Wear_Leveling_Count 0x0033 098 098 010 Pre-fail Always - 72
174 Unexpect_Power_Loss_Ct 0x0032 100 100 001 Old_age Always - 12
181 Non4k_Aligned_Access 0x0022 100 100 001 Old_age Always - 1207 375 832
183 SATA_Iface_Downshift 0x0032 100 100 001 Old_age Always - 0
184 End-to-End_Error 0x0033 100 100 050 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 001 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 001 Old_age Always - 0
189 Factory_Bad_Block_Ct 0x000e 100 100 001 Old_age Always - 49
194 Temperature_Celsius 0x0022 100 100 000 Old_age Always - 0
195 Hardware_ECC_Recovered 0x003a 100 100 001 Old_age Always - 0
196 Reallocated_Event_Count 0x0032 100 100 001 Old_age Always - 64
197 Current_Pending_Sector 0x0032 100 100 001 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 100 100 001 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 100 100 001 Old_age Always - 0
202 Perc_Rated_Life_Used 0x0018 098 098 001 Old_age Offline - 2
206 Write_Error_Rate 0x000e 100 100 001 Old_age Always - 124
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
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.
The SSD is read-only:
root@ClonezillaAlt:/mnt/disk/Users/Leo/Desktop# mount
/dev/sde2 on /mnt/disk type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)
root@ClonezillaAlt:/mnt/disk/Users/Leo/Desktop# ls
desktop.ini
root@ClonezillaAlt:/mnt/disk/Users/Leo/Desktop# rm desktop.ini
root@ClonezillaAlt:/mnt/disk/Users/Leo/Desktop# echo "test" > test.txt
bash: test.txt: No such file or directory
root@ClonezillaAlt:/mnt/disk/Users/Leo/Desktop# ls
desktop.ini
Kingston 64GB
When my Kingston 64GB started failing, I took a dump of the SMART output just for future reference. Unlike a traditional disk, the Reallocated_Sector_Ct
value does not go up, possibly because this SSD does not support sector relocation. It's also interesting to note that the SMART values make it appear to be fine, this disk was on its death bed.
If your SMART output looks like the one below, it is probably toast. This one died a few days after where I couldn't successfully create an image from it.
smartctl 5.43 2012-05-01 r3539 [x86_64-linux-3.2.0-2-amd64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: JMicron based SSDs
Device Model: KINGSTON SNV425S264GB
Serial Number: 07MA20047524
Firmware Version: C091126a
User Capacity: 64,023,257,088 bytes [64.0 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Wed Oct 3 19:19:41 2012 UTC
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: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 30) seconds.
Offline data collection
capabilities: (0x1b) 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.
No 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: ( 1) minutes.
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 0x000b 100 100 050 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0
3 Unknown_Attribute 0x0007 100 100 050 Pre-fail Always - 0
5 Reallocated_Sector_Ct 0x0013 100 100 050 Pre-fail Always - 0
7 Unknown_Attribute 0x000b 100 100 050 Pre-fail Always - 0
8 Unknown_Attribute 0x0005 100 100 050 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 11087
10 Unknown_Attribute 0x0013 100 100 050 Pre-fail Always - 0
12 Power_Cycle_Count 0x0012 100 100 000 Old_age Always - 626
168 SATA_Phy_Error_Count 0x0012 100 100 000 Old_age Always - 294
175 Bad_Cluster_Table_Count 0x0003 100 100 010 Pre-fail Always - 2
192 Unexpect_Power_Loss_Ct 0x0012 100 100 000 Old_age Always - 0
194 Temperature_Celsius 0x0022 042 100 020 Old_age Always - 42 (Min/Max 34/42)
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
240 Unknown_Attribute 0x0013 100 100 050 Pre-fail Always - 0
170 Bad_Block_Count 0x0003 100 100 010 Pre-fail Always - 3 185 30
173 Erase_Count 0x0012 100 100 000 Old_age Always - 7352 16898 9172
SMART Error Log Version: 1
ATA Error Count: 1002 (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 1002 occurred at disk power-on lifetime: 11087 hours (461 days + 23 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 00 18 01 00 e0 Error: UNC at LBA = 0x00000118 = 280
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 18 01 00 e0 08 00:03:09.900 READ DMA
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
ef 03 45 00 00 00 a0 08 00:03:09.900 SET FEATURES [Set transfer mode]
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
c8 00 08 18 01 00 e0 08 00:03:09.900 READ DMA
Error 1001 occurred at disk power-on lifetime: 11087 hours (461 days + 23 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 00 18 01 00 e0 Error: UNC at LBA = 0x00000118 = 280
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 18 01 00 e0 08 00:03:09.900 READ DMA
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
ef 03 45 00 00 00 a0 08 00:03:09.900 SET FEATURES [Set transfer mode]
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
c8 00 08 18 01 00 e0 08 00:03:09.900 READ DMA
Error 1000 occurred at disk power-on lifetime: 11087 hours (461 days + 23 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 00 18 01 00 e0 Error: UNC at LBA = 0x00000118 = 280
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 18 01 00 e0 08 00:03:09.900 READ DMA
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
ef 03 45 00 00 00 a0 08 00:03:09.900 SET FEATURES [Set transfer mode]
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
c8 00 08 18 01 00 e0 08 00:03:09.900 READ DMA
Error 999 occurred at disk power-on lifetime: 11087 hours (461 days + 23 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 00 18 01 00 e0 Error: UNC at LBA = 0x00000118 = 280
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 18 01 00 e0 08 00:03:09.900 READ DMA
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
ef 03 45 00 00 00 a0 08 00:03:09.900 SET FEATURES [Set transfer mode]
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
c8 00 08 18 01 00 e0 08 00:03:09.900 READ DMA
Error 998 occurred at disk power-on lifetime: 11087 hours (461 days + 23 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 00 18 01 00 e0 Error: UNC at LBA = 0x00000118 = 280
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 18 01 00 e0 08 00:03:09.900 READ DMA
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
ef 03 45 00 00 00 a0 08 00:03:09.900 SET FEATURES [Set transfer mode]
ec 00 00 00 00 00 a0 08 00:03:09.900 IDENTIFY DEVICE
c8 00 08 18 01 00 e0 08 00:03:09.900 READ DMA
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 11087 -
# 2 Extended offline Completed without error 00% 9255 -
Device does not support Selective Self Tests/Logging