Crucial MX100 SSD permanently locked to read-only after unstable data connection despite external dedicated power

Deja vu, I’ve just been in this place before…

So yeah, it seems that the MX100 has pretty much the same problem as the M550 (go read the thread I linked to above for most of the information on this issue).

Of course, the main difference in this instance is that it seems to also occur with an unstable data connection even if you have external dedicated power which was the opposite of what occurred with the M550 where that was lacking power but had a reliable data connection.

What happened this time is that I was using a SATA-USB 3.0 adapter plugged into a USB 3.0 hub that itself had a dedicated 5v 1.5a AC adapter. However, the USB 3.0’s data connection was plugged into a 3ft passive USB 3.0 cable which itself was then plugged into a 15ft active USB 3.0 cable (which then plugged into my PC located in another room) which seems to have maybe been a bit too long.

That being said, the transferring of data to the SSD seemed to occur without issue and it wasn’t until I tried to unmount it before physically unplugging it that problems occurred whereby it just wasn’t able to unmount for some reason and threw up an error saying as much, all while the USB adapter’s activity light remained blinking indicating activity of some sort. After multiple attempts to see if it was just a fluke, I waited and left it plugged in for an hour and tried unmounting again at which point it it unmounted without issue but, when plugging the disk back in via SATA on a different computer, I found it permanently locked to read-only.

So yeah, I think the lesson here is to simply not connect Crucial/Micron SATA SSDs externally… or just don’t use Crucial/Micron at all.

Oh and, not-so fun fact: there’s no way to re-write the firmware since trying to downgrade or re-install the same firmware via Crucial’s provided live ISO just results in the firmware updater saying that there’s aren’t any drives that need updating.

For reference, there was only one other USB device plugged into that USB hub, and it was just a 6ft USB 2.0 type-A to 2.0 type-B that plugged into my monitor for my monitor’s own built-in powered USB ports (those ports receive power from the monitor even if the USB type-B cable is unplugged, implying that this really should not have mady any difference, and I only use it for mouse, keyboard, and an at-the-time vacant card reader).

I wonder if it’s possible this is some misdirected part of the SATA specification aimed at spinning HDDs? Specifically flagging a block as “bad” when encountering a filesystem error there.
If NAND drives are flagging blocks as expired from filesystem requests, it could lead to these sudden read-only lockout deaths, as the drive thinks it’s run out of spare and data, despite no internal program-fail-count, erase-fail-count, or raw-read-error-rate flags.

But, that’s just my p𝑜rk brain ramblings.

Also, I would think a long/surface smart test should actually PE cycle and check each unused nand block once, reenabling any mis-flagged blocks, and retiring any newly found bad blocks… Maybe also integrating that with the trim/active wear leveling that drives do, to reduce unnecessary PE cycles in the process?
But maybe there is some good reason you can’t do that, besides the obvious engineering cost and -1 hp per long.

Necro rant

Sorry for bumping an old topic, but I’d like to share that I have a Teamgroup EX2 SSD with several reallocated sectors, a reduced reserve block count, and 0 read and program errors.
I suspect this may be something to do with the OS flagging bad sectors to the drive on file system/software error, and the drive incorrectly flagging these bad sectors as actually bad, but I have no real evidence to back this up. It’s just wild speculation from the lack of wear on the drive, and lack of indicators that the drive it’s self encountered a problem internally.
The drive was plugged in internally via sata, btrfs formatted, had no errors until trying to read a chunk of video, and had fairly low total lifetime writes.

On the other hand, I have a very heavily thrashed Micron 1100 2TB from the ebay glut that clearly shows a program fail count and reallocated nand count of 1. Whether this is a genuine nand block fail in this case or hardware error, I do not know.

Smart Data

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x0032 100 100 050 Old_age Always - 0
5 Reallocated_Sector_Ct 0x0032 100 100 050 Old_age Always - 15
9 Power_On_Hours 0x0032 100 100 050 Old_age Always - 3287
12 Power_Cycle_Count 0x0032 100 100 050 Old_age Always - 278
160 Unknown_Attribute 0x0032 100 100 050 Old_age Always - 0
161 Unknown_Attribute 0x0033 100 100 050 Pre-fail Always - 88
163 Unknown_Attribute 0x0032 100 100 050 Old_age Always - 34
164 Unknown_Attribute 0x0032 100 100 050 Old_age Always - 6114
165 Unknown_Attribute 0x0032 100 100 050 Old_age Always - 12
166 Unknown_Attribute 0x0032 100 100 050 Old_age Always - 3
167 Unknown_Attribute 0x0032 100 100 050 Old_age Always - 7
168 Unknown_Attribute 0x0032 100 100 050 Old_age Always - 5050
169 Unknown_Attribute 0x0032 100 100 050 Old_age Always - 100
175 Program_Fail_Count_Chip 0x0032 100 100 050 Old_age Always - 0
176 Erase_Fail_Count_Chip 0x0032 100 100 050 Old_age Always - 0
177 Wear_Leveling_Count 0x0032 100 100 050 Old_age Always - 0
178 Used_Rsvd_Blk_Cnt_Chip 0x0032 100 100 050 Old_age Always - 15
181 Program_Fail_Cnt_Total 0x0032 100 100 050 Old_age Always - 0
182 Erase_Fail_Count_Total 0x0032 100 100 050 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 050 Old_age Always - 25
194 Temperature_Celsius 0x0022 100 100 050 Old_age Always - 26
195 Hardware_ECC_Recovered 0x0032 100 100 050 Old_age Always - 0
196 Reallocated_Event_Count 0x0032 100 100 050 Old_age Always - 0
197 Current_Pending_Sector 0x0032 100 100 050 Old_age Always - 15
198 Offline_Uncorrectable 0x0032 100 100 050 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x0032 100 100 050 Old_age Always - 0
232 Available_Reservd_Space 0x0032 100 100 050 Old_age Always - 88
241 Total_LBAs_Written 0x0030 100 100 050 Old_age Offline - 123310
242 Total_LBAs_Read 0x0030 100 100 050 Old_age Offline - 207569
245 Unknown_Attribute 0x0032 100 100 050 Old_age Always - 75077

SMART Error Log Version: 1
No Errors Logged