Estimating the remaining life of a Mac’s internal SSD

Last week I looked at how you can estimate the working life of an SSD using a measure of the total amount of data written to it, together with its TBW, the manufacturer’s estimate of the total that can be written to the SSD before failure is expected. This article updates and extends that for Apple’s internal SSDs in particular.

In the distant past, Apple has offered some models with internal SATA SSDs, but all more recent SSDs fitted by Apple are NVMe, which support a different set of SMART indicators. For my previous article, I referred to Wikipedia’s account of those indicators, particularly indicator 07 Data Units Written, explained there as being the “number of 512-byte data units the host has written to the controller.”

That isn’t correct. According to the NVMe Base Specification version 2.0, Data Units Written “contains the number of 512 byte data units the host has written to the controller as part of processing a User Data Out Command; this value does not include metadata. This value is reported in thousands (i.e., a value of 1 corresponds to 1,000 units of 512 bytes written) and is rounded up (e.g., one indicates that the number of 512 byte data units written is from 1 to 1,000, three indicates that the number of 512 byte data units written is from 2,001 to 3,000).”

Thus to calculate the Data Units Written in TB, take the value given for NVMe indicator 07, multiply it by 512, then divide it by 1,000,000,000.

However, Data Units Written isn’t a complete account of all data written to the SSD. It excludes metadata and may exclude writes performed by the SSD itself for wear-levelling purposes. For NVMe SSDs that support it, SMART attribute 05 may be more useful, as it gives the manufacturer’s estimate of the percentage of life used. As the NVMe specification explains, this “contains a vendor specific estimate of the percentage of NVM subsystem life used based on the actual usage and the manufacturer’s prediction of NVM life.”

This is the figure given by DriveDx as the SSD Lifetime Left Indicator, which will differ from any estimated from Data Units Written even if a TBW is available for that SSD.

The raw value given for percentage of life used is a true percentage, but can exceed 100% in the event that the SSD continues to function normally beyond the manufacturer’s estimate. For example, if the manufacturer gives a TBW for that SSD of 600 TB, but it has written 900 TB so far without failure, the percentage given would be 150%. The specification even allows percentages greater than 254%, which are all given as the raw value 255 for attribute 05. Unfortunately, there’s no equivalent indicator for ATA SSDs.

Conclusions

  • When assessing the remaining life of a Mac’s internal SSD, if it’s NVMe, use SMART indicator 05 as the percentage of the life used.
  • If indicator 05 isn’t available or in doubt, calculate data written from SMART indicator 07, multiplying the raw value by 512 and dividing by 1,000,000,000 to get the result in TB.