Some additional information running smartctl 7.1 on macOS 10.15 (Catalina)+
Behaviour / output varies if SSD types are different, e.g. NVMe vs SATA/SATA Express
NVMe
MacBookPro14,3 (NVMe) 512GB SM0512L
, smartctl
actually can retrieve a field named Data Units Written
which is equivalent to Total LBAs Written
.
Link Width: x4
Link Speed: 8.0 GT/s
# smartctl output
smartctl -a /dev/disk0
smartctl 7.1 2019-12-30 r5022 [Darwin 19.5.0 x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number: APPLE SSD SM0512L
Serial Number: C0281xxxxxxxx2
Firmware Version: CXS5EA0Q
PCI Vendor/Subsystem ID: 0x144d
IEEE OUI Identifier: 0x002538
Controller ID: 2
Number of Namespaces: 1
Local Time is: Thu Jul 2 12:05:31 2020 AEST
Firmware Updates (0x06): 3 Slots
Optional Admin Commands (0x0006): Format Frmw_DL
Optional NVM Commands (0x001f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat
Maximum Data Transfer Size: 256 Pages
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 6.00W - - 0 0 0 0 5 5
1 - 0.0400W - - 1 1 1 1 210 1200
2 - 0.0050W - - 2 2 2 2 1900 5300
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 35 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 1%
Data Units Read: 45,208,642 [23.1 TB]
Data Units Written: 44,739,539 [22.9 TB]
Host Read Commands: 1,440,047,433
Host Write Commands: 833,678,921
Controller Busy Time: 1,952
Power Cycles: 7,356
Power On Hours: 1,190
Unsafe Shutdowns: 47
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Read Error Information Log failed: NVMe admin command:0x02/page:0x01 is not supported
SATA / SATA Express via AHCI
(Mid 2015) MacBookPro11,5 (under SATA/SATA Express but still PCIe based SSD) 512GB SM0512G
- physical interconnect - PCI
- AHCI 1.30 though
175 Host_Writes_MiB
is the key.
terrywang@ninja:~$ smartctl -a /dev/disk0
smartctl 7.1 2019-12-30 r5022 [Darwin 19.5.0 x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Apple SD/SM/TS...E/F/G SSDs
Device Model: APPLE SSD SM0512G
Serial Number: S------------63
LU WWN Device Id: 5 002538 900000000
Firmware Version: BXW1SA0Q
User Capacity: 500,277,790,720 bytes [500 GB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: Solid State Device
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 4c
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Thu Jul 2 12:17:35 2020 AEST
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: ( 0) seconds.
Offline data collection
capabilities: (0x53) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No 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: ( 10) minutes.
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 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 098 098 000 Old_age Always - 5303
12 Power_Cycle_Count 0x0032 067 067 000 Old_age Always - 32789
169 Unknown_Apple_Attrib 0x0013 239 239 010 Pre-fail Always - 3629423527808
173 Wear_Leveling_Count 0x0032 196 196 100 Old_age Always - 21484011576
174 Host_Reads_MiB 0x0022 099 099 000 Old_age Always - 26175030
175 Host_Writes_MiB 0x0022 099 099 000 Old_age Always - 19170887
192 Power-Off_Retract_Count 0x0012 099 099 000 Old_age Always - 48
194 Temperature_Celsius 0x0022 073 018 000 Old_age Always - 27 (Min/Max 9/82)
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
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]
Warning! SMART Selective Self-Test Log Structure error: invalid SMART checksum.
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
255 0 65535 Read_scanning was never started
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.
Samsung SSDs - How Magician software calculates health status
Samsung Magician simply use a SSD's TBW as health indicator, for example, 850 EVO 250GB (designed TBW 75GB)
2.56TB / 75TB = 3.41% of its designed capacity.
NOTE: On Linux (or Windows), S.M.A.R.T. - ID 241 Total LBAs Written
is the one to look at, but please be aware it reports the number of 512-byte sectors, you'll need to do math to convert to TB or TiB.
Formula: (Total_LBAs_Written * sector size) / 1024^4 = TiB
Convert TiB to TB (facepalm) / TBW -> % designed lifespan
OS-X-SAT-SMART-Driver
andDriveDx
) are both currently broken in this regard. The former is no longer in active development, and withDriveDx
you have to unplug / replug your device for it to work.DriveDX
is no longer partially broken.