General_Cool

Distinguished
99% sure an SSD of mine is dead. Windows 10 disk management says the drive cannot be read due to a fatal device hardware failure. In Windows 11 it shows up in explorer but gives an I/O device error and disk management claims that its a RAW format with 0 bytes. Tried doing TestDisk and I either don't know what I'm doing or the program can't get the job done since every time it begins data recovery it freezes and I have to restart my PC (both the command line version and the GUI version).

Any hope for data recovery? Can I do it at home or do I have to bring it in to a shop?
 

General_Cool

Distinguished

General_Cool

Distinguished
SMART is a firmware module, so it does look like firmware panic, although it appears to be reporting the correct capacity.
Hence why I'm somewhat confused...
I'd think that if the drive was completely toast it wouldn't be detecting it at all, let alone showing its capacity. Disk management even shows the device status as healthy. Windows just can't access the data on it, hence why read and write and NAND are showing up as blank on the CDI.

Next steps? Should I attempt to format it into an NTFS or will that just detonate it?
 

USAFRet

Titan
Moderator
Hence why I'm somewhat confused...
I'd think that if the drive was completely toast it wouldn't be detecting it at all, let alone showing its capacity. Disk management even shows the device status as healthy. Windows just can't access the data on it, hence why read and write and NAND are showing up as blank on the CDI.

Next steps? Should I attempt to format it into an NTFS or will that just detonate it?
Given that the data is apparently already backed up elsewhere, try anything and everything.
Can't make it any worse.
 
Hence why I'm somewhat confused...
I'd think that if the drive was completely toast it wouldn't be detecting it at all, let alone showing its capacity. Disk management even shows the device status as healthy. Windows just can't access the data on it, hence why read and write and NAND are showing up as blank on the CDI.

Next steps? Should I attempt to format it into an NTFS or will that just detonate it?
I think the drive is in a state that will not permit access to your data. If the drive's "mapping tables" cannot be read by the firmware, then the drive won't be able to find your data.
 

General_Cool

Distinguished
I'll go ahead and give this a try.
I think the drive is in a state that will not permit access to your data. If the drive's "mapping tables" cannot be read by the firmware, then the drive won't be able to find your data.
Windows 10 is not giving the same errors as Windows 11. Windows 10 cannot mount the device in device management (but can check its properties and recognizes that its a disk, albeit unknown and not initialized), chkdsk/mountvol can't find it and neither can file explorer, but CDI can find it. Windows 11 when attempting to access it via file explorer gives an I/O error and disk management just shows it as a RAW disk with no errors and 100% storage capacity. Why would two different operating systems treat the device completely differently if its failed?
 

General_Cool

Distinguished
CDI can export the raw SMART and Identify Device data blocks (512 bytes each) in text format. This is the info that BIOS and Windows sees.

If you can paste this text into a code block, we could analyse it more closely.

These "ROM mode" screenshots show you how various other SSDs behave when their firmware panics:

http://vlo.name:3000/hw/ssd/rommode/
----------------------------------------------------------------------------
(04) Crucial_CT525MX300SSD1
----------------------------------------------------------------------------
Model : Crucial_CT525MX300SSD1
Firmware : M0CR040
Serial Number : ****
Disk Size : 525.1 GB (8.4/137.4/525.1/4294967.2)
Buffer Size : Unknown
Queue Depth : 32
# of Sectors : 1025610768
Rotation Rate : ---- (SSD)
Interface : Serial ATA
Major Version : ACS-3
Minor Version : ACS-3 Revision 5
Transfer Mode : SATA/600 | SATA/600
Power On Hours : Unknown
Power On Count : Unknown
Temperature : Unknown
Health Status : Unknown
Features : S.M.A.R.T., APM, NCQ, TRIM, DevSleep, GPL
APM Level : 00FEh [ON]
AAM Level : ----
Drive Letter :

-- IDENTIFY_DEVICE ---------------------------------------------------------
0 1 2 3 4 5 6 7 8 9
000: 0440 3FFF C837 0010 0000 0000 003F 0000 0000 0000
010: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
020: 0000 0000 0000 204D 3043 5230 3430 4372 7563 6961
030: 6C5F 4354 3532 354D 5833 3030 5353 4431 2020 2020
040: 2020 2020 2020 2020 2020 2020 2020 8010 4001 2F00
050: 4001 0000 0000 0007 3FFF 0010 003F FC10 00FB A110
060: FFFF 0FFF 0000 0007 0003 0078 0078 0078 0078 4DB8
070: 0000 0000 0000 0000 0000 001F 950E 00C6 014C 004C
080: 07F8 006D 7069 7409 6163 7069 B409 6163 407F 0000
090: 0000 00FE 0000 0000 0000 0000 0000 0000 0000 0000
100: 9410 3D21 0000 0000 0000 0008 4000 0000 500A 0751
110: 169B BEBD 0000 0000 0000 0000 0000 0000 0000 411E
120: 401C 0000 0000 0000 0000 0000 0000 0000 0000 6137
130: 6133 3731 3100 0000 0000 0000 0000 0000 0000 0000
140: 0000 0000 0000 0000 0000 0000 0000 4D54 4644 4441
150: 4B35 3235 5442 5220 0000 0000 0000 0000 0000 A5A5
160: 0000 0000 0000 0000 0000 0000 0000 0000 0003 0001
170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
200: 0000 0000 0000 0000 0000 0000 0035 0000 0000 4000
210: 0000 0000 0000 0001 0000 0000 0000 0001 0000 0000
220: 0000 0000 10FF 0000 0000 0000 0000 0000 0000 0000
230: 9410 3D21 0000 0000 0001 00FF 0000 0000 0000 0000
240: 0000 0000 0000 4000 0000 0000 0000 0000 0000 0000
250: 0000 0000 0000 0000 0000 7EA5

-- SMART_READ_DATA ---------------------------------------------------------
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
000: CF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

-- SMART_READ_THRESHOLD ----------------------------------------------------
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
Page 181 of the ATA standard defines the meanings of the words in the Identify Device data block.

ATA/ATAPI Command Set - 4 (ACS-4) - 14 Nov 2017:
https://standards.incits.org/apps/g...egister-INCITS-529-Comments-due-1-30-2018.pdf

This is the Identify Device data block with the data grouped in 16-bit words with decimal word numbers.

Code:
Offset(o) 00   01   02   03   04   05   06   07   08   09

00000000  0440 3FFF C837 0010 0000 0000 003F 0000 0000 0000  .@?ÿÈ7.......?......
00000010  FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000020  0000 0000 0000 204D 3043 5230 3430 4372 7563 6961  ...... M0CR040Crucia
00000030  6C5F 4354 3532 354D 5833 3030 5353 4431 2020 2020  l_CT525MX300SSD1
00000040  2020 2020 2020 2020 2020 2020 2020 8010 4001 2F00                €.@./.
00000050  4001 0000 0000 0007 3FFF 0010 003F FC10 00FB A110  @.......?ÿ...?ü..û¡.
00000060  FFFF 0FFF 0000 0007 0003 0078 0078 0078 0078 4DB8  ÿÿ.ÿ.......x.x.x.xM¸
00000070  0000 0000 0000 0000 0000 001F 950E 00C6 014C 004C  ............•..Æ.L.L
00000080  07F8 006D 7069 7409 6163 7069 B409 6163 407F 0000  .ø.mpit.acpi´.ac@...
00000090  0000 00FE 0000 0000 0000 0000 0000 0000 0000 0000  ...þ................
00000100  9410 3D21 0000 0000 0000 0008 4000 0000 500A 0751  ”.=!........@...P..Q
00000110  169B BEBD 0000 0000 0000 0000 0000 0000 0000 411E  .›¾½..............A.
00000120  401C 0000 0000 0000 0000 0000 0000 0000 0000 6137  @.................a7
00000130  6133 3731 3100 0000 0000 0000 0000 0000 0000 0000  a3711...............
00000140  0000 0000 0000 0000 0000 0000 0000 4D54 4644 4441  ..............MTFDDA
00000150  4B35 3235 5442 5220 0000 0000 0000 0000 0000 A5A5  K525TBR ..........¥¥
00000160  0000 0000 0000 0000 0000 0000 0000 0000 0003 0001  ....................
00000170  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000  ....................
00000180  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000  ....................
00000190  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000  ....................
00000200  0000 0000 0000 0000 0000 0000 0035 0000 0000 4000  .............5....@.
00000210  0000 0000 0000 0001 0000 0000 0000 0001 0000 0000  ....................
00000220  0000 0000 10FF 0000 0000 0000 0000 0000 0000 0000  .....ÿ..............
00000230  9410 3D21 0000 0000 0001 00FF 0000 0000 0000 0000  ”.=!.......ÿ........
00000240  0000 0000 0000 4000 0000 0000 0000 0000 0000 0000  ......@.............
00000250  0000 0000 0000 0000 0000 7EA5                      ..........~¥

These examples are in accordance with the standard:

Words 23 - 26 -> 204D 3043 5230 3430 -> "M0CR040" --- firmware version

Words 27 - 46 -> 4372 7563 6961 6C5F 4354 3532 354D 5833 3030 5353 4431 2020 2020 2020 2020 2020 2020 2020 2020 2020 -> "Crucial_CT525MX300SSD1<18 spaces>" -- model

Originally I thought that words 83 and 84 were bad, but it turns out that the text ("acpi") is pure coincidence.

The SMART data are obviously all zeros, so that's a genuine problem.
 
Last edited:
This section is defined as "vendor specific", which means that a manufacturer can choose to fill it with their own uniquely defined parameters. "MTFDDAK525TBR" is a Micron part number. Perhaps this section could be used to identify fakes?

Code:
Offset(o) 00   01   02   03   04   05   06   07   08   09

00000120  401C 0000 0000 0000 0000 0000 0000 0000 0000 6137  @.................a7
00000130  6133 3731 3100 0000 0000 0000 0000 0000 0000 0000  a3711...............
00000140  0000 0000 0000 0000 0000 0000 0000 4D54 4644 4441  ..............MTFDDA
00000150  4B35 3235 5442 5220 0000 0000 0000 0000 0000 A5A5  K525TBR ..........¥¥

This is the same section for my MX500 SSD:

Code:
120: 401C 0000 0000 0000 0000 0000 0000 0000 0029 4372  @................)Cr
130: 7563 6961 6C20 0000 0000 0000 0000 0000 0000 0000  ucial ..............
140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000  ....................
150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000  ....................

... and this is the tail end of the SMART READ DATA block:

Code:
180: 00 00 4D 33 43 52 30 34 33 20 00 00 2A 01 00 00  ..M3CR043 ..*...
190: 53 4D 32 32 35 39 42 34 37 52 52 00 7F 04 00 00  SM2259B47RR.....

It contains the firmware version (M3CR043) and flash controller part number (SM2259). "B47R" is the NAND type.
 
Last edited: