Macbook SSD is toast

  • DNS Benchmark v2 Release 5 with Consultant License
    Guest:
    If you own any earlier release of our DNS Benchmark you may immediately download its release #5 replacement. Running an earlier release will detect the new release and help you upgrade.

    Although this release is cosmetic, appearance matters and affects ease of use. The biggest change, as seen in the image above, is that the DNS Benchmark now has a traditional Windows application menu to more fully expose its many features. This release is also "Consultant License Aware" and GRC will now issue a Consultant version when owners have previously purchased four "Personal Use" licenses. If you have previously purchased four DNSB licenses, or if you wish to upgrade your "Personal Use" license to Consultant, GRC's purchase process will direct you through that process.
    /Steve.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

    /Steve.
  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)

allusive

Member
Feb 23, 2026
8
1
I have a 2014 Macbook Pro, a hand-me-down. After running Linux happily on it for 2 years, I began seeing a few complaints from fsck.ext4.
So I ran smartctl on it and learned it will die "in the next 24 hours".

I stopped using the internal SSD immediately and I've been using an external 2.5" SSD for my OS ever since. Of course, MacOS refuses to install on the internal SSD.
But months later I'm still able to use the drive sporadically.

For anyone who's never seen this before, here is what a truly failing SSD looks like.

Model Family: Apple SD/SM/TS...E/F/G SSDs
Device Model: APPLE SSD SM0256F
User Capacity: 251,000,193,024 bytes [251 GB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: Solid State Device

=== START OF READ SMART DATA SECTION ===

SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
No failed Attributes found.

SMART Attributes Data Structure revision number: 40
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x001a 200 200 000 Old_age Always - 0
5 Reallocated_Sector_Ct 0x0033 100 100 000 Pre-fail Always - 0
9 Power_On_Hours 0x0032 096 096 000 Old_age Always - 19091
12 Power_Cycle_Count 0x0032 081 081 000 Old_age Always - 18199
169 Unknown_Apple_Attrib 0x0013 253 253 010 Pre-fail Always - 1598071770880
173 Wear_Leveling_Count 0x0036 099 099 100 Old_age Always FAILING_NOW 11768409688887
174 Host_Reads_MiB 0x0022 099 099 000 Old_age Always - 219823541
175 Host_Writes_MiB 0x0022 099 099 000 Old_age Always - 46578021
192 Power-Off_Retract_Count 0x0012 099 099 000 Old_age Always - 532
194 Temperature_Celsius 0x0022 060 060 000 Old_age Always - 40 (Min/Max 3/77)
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x001a 200 200 000 Old_age Always - 0
240 Unknown_SSD_Attribute 0x0022 100 100 000 Old_age Always - 0
 
I've had drives die with no SMART errors, and drives live on for 20+
years with SMART boot errors that interrupt the BIOS boot screen
with an "imminent death" warning.

There are many threads on how inappropriate SMART is for us out
here to interpret, even though SMART may be useful for the drive
vendors to do stuff with internally in a proprietary way that we will
never know.

- - - - -

Can you get that data off the drive, if it's important?

If yes, then can you do that and move on?

If not, can you run:

SPINRITE NORAMTEST LEVEL 2 DYNASTAT 0 NOREWRITE

Run that over and over, watching how long it takes, hopefully getting
quicker and quicker on subsequent runs, as it encourages the drive
to heal, I ran for 2 weeks, from twice a day to as quickly as 4 times
a day - wahoo!

Then, ddrescue over and over to recover as much data as possible,
I ran it 3 times and was satisfied.

The drive may never recover, but you may get the data, if it's important.

Let us know what you do.

Thanks.
 
Let us know what you do.
I initially began comparing the shasum's of files on the drive to those in backups, which were about 99.9% the same.
So I think the files are largely OK and I didn't need ddrescue.

This week I filled the drive with unique data, rebooted to clear out any cached in-RAM sectors, and then compared the drive's contents to the unique pattern, and it was the same. So even though SMART is saying the drive is at Death's Door, it seems OK.
 
Yup, SMART seems useful for the firmware to lay with, but not useful
for the host or users to do anything with, certainly not unambiguously
interpreted and make decisions on.

Backblaze is an enigma, claiming they remove drives on SMART
errors, never test them to confirm, and a significant number of drives
fail without SMART errors.

So it's a crapshoot out there.

- - - - -

I'm still curious how long a 1st run, then continuously repeated runs,
then some final run two weeks later takes, does SpinRite cause the
drive to 'fix' some access errors without rewriting unreadable sectors,
the runs getting briefer and briefer on each immediate repeat, as
problems reading get resolved?

SPINRITE NORAMTEST LEVEL 2 DYNASTAT 0 NOREWRITE
 
Yup, SMART seems useful for the firmware to lay with, but not useful
for the host or users to do anything with
I've done a new test.

First, I rewrote all sectors like so:

sudo dd if=/dev/sda of=/dev/sda bs=1G status=progress

Then I rebooted, remounted the partition and rechecked the unique data. There was no change, it was all still valid. So maybe the file errors I saw months ago were just due to overly quick shut-downs or something.

BTW I don't currently have a copy of Spinrite. I'm using Linux and the SSD is a proprietary Apple device so running it might be a small challenge. I assume a VM would be required.
 
Last edited:
For anyone who's never seen this before, here is what a truly failing SSD looks like.

There's only one piece of info from the SMART data that matters:

175 Host_Writes_MiB 0x0022 099 099 000 Old_age Always - 46578021
IOW, this 250GB SSD has seen 46.5 TB of writes. It's at end-of-life and there's no way to save it. The good news is that SSDs that are simply worn out seldom fail catastrophically. You typically can still read all the data, but it takes massive error correction by the drive and it's very slow. Back up the data you care about and toss it in the trash.

I don't know what exactly is generating the

"SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
No failed Attributes found."

It could be smartctl or it could be the drive itself. It's a NVMe-based drive so it doesn't follow standard ATA error messages. But if I get messages like the ones you're seeing, I would tend to believe them.
 
  • Like
Reactions: allusive
SSDs that are simply worn out seldom fail catastrophically. You
typically can still read all the data, but it takes massive error
correction by the drive and it's very slow

I can testify to getting 100% of the data 100% of the time, with full
SpinRite Level 5 getting no errors on an SSD that transferred data at
5 MB/s.

Yeouch!