Hard drive enclosure

I understand that the recent Intel Thunderbolt controllers like those in the JHL series do not pass S.M.A.R.T. data through. An ASMMedia ASM2464PD might be the way to go for S.M.A.R.T, such as a ZikeDrive, OWC Express 1M2 or Acasis TBU405 Pro, although only the first and last have a fan.

A note on speed comparisons. An M4 Pro 1TB has reportedly RW speeds of around 6,000 MB/s. A top-tier Thunderbolt 4 might reach ~2,500MB/s and a USB 3.2 Gen 2 enclosure about 1,000MB/s.

For my “Redundant Array of Incredibly Inexpensive Devices” the last is still very fast, and the backups don’t run long enough to heat up the device enough to warrant additional cooling. The cheapo Orico snap-together enclosures i tend to use (when the drives aren’t in portable servers or in computers) have the JMicron JMS583 controller. These have smartmontools S.M.A.R.T. support to a degree, but are buggy.

Really? This would really surprise me because NVMe drives are pretty much just a PCIe connection and Thunderbolt is, at its core, an external PCIe bus. There should be no real difference between an NVMe drive connected directly to a motherboard’s M.2 slot and one connected via Thunderbolt.

On Macs for NVMe drives TB4 (USB4) and TB5 support SMART. USB3 does not.

I didn’t know that. I see that in the Eclectic Light Co’s article Which external drives have Trim and SMART support? Howard has written “SMART health indicators are normally supported over FireWire, Thunderbolt and USB4 connections, but not USB 3.x or lower”. Thanks for the info.

SMART began life as an ATA/SATA protocol. But these connections are not that common today. Internal SSDs are either directly connected (e.g. Apple Silicon) or use NVMe (most PCs). SATA, if used at all, is typically used on PCs for secondary storage, because it is so much slower than NVMe.

That having been said… FireWire’s data-level protocol is SCSI. SCSI doesn’t support SMART, per se, but it does have logging pages of data that report similar information. See also Wikipedia.

NVMe has its own version of SMART. (Wikipedia)

Thunderbolt and USB4 (which is Thunderbolt) are (as I mentioned above) effectively external PCIe buses. So it can support anything a PCIe bus does, including SMART (passing the NVMe or ATA data over that TB/PCIe connection as it would for a PCIe slot).

USB 2 and 3 don’t have SMART as a part of the mass-storage specification, but modern USB devices usually support the UAS (USB-attached-SCSI) protocol. This allows a connected computer to use SCSI protocols, including the logging pages that carry SMART-like data, instead of the old mass-storage spec, providing much better performance.

Most USB3 (and some USB2) enclosures support UAS. They will typically translate a hard drive’s (SATA-based) SMART data to the corresponding SCSI data. So a connected computer can get the data. For some reason, macOS has never included the host-side software to read that information, even though it supports SCSI and UAS. This means you need third-party software (like the open source SAT-SMART driver) in order to read that data and give it to the rest of macOS.

Surprisingly, according to Micromat, many USB NVMe enclosures do not translate SMART data to SCSI data, so SMART data won’t be available with them, even with the SAT-SMART device driver.

The SAT-SMART driver’s main code repository hasn’t changed since December 2016, so it isn’t useful today on modern versions of macOS, but a few publishers of drive utilities have made their own forks from the code to keep it compatible with current Macs and have made it available for use with their tools, including:

You may need to buy a license to one of the above products in order to legally get their version of the driver.

installation may be a little tricky (the DriveDx page I linked to includes the procedure), but once installed, the SMART data will be available to any software that makes the macOS API calls to read it.

5 Likes

Thanks for the absolutely terrific info here, David.

Do you have any suggestions for a decent Thunderbolt 4 nvme enclosure, with fan, along the lines @Brian is looking for?

Thanks David, it sounds like maybe the case’s controller chip is less of a concern for SMART, if I understood you.

I like DriveDX and I hope updates can continue, as the last update was 2 years ago. I didn’t know about Drive Scope 2, although DriveDX seems to have more features. Volitans SMART Utility mostly still works for basic info, but hasn’t had an update in 3 years and is not a Universal app.

For Thunderbolt or USB4 (which is Thunderbolt), yes. For USB 2 or 3, it will matter - if the bridge chip doesn’t provide the values, nothing in macOS will be able to get them.

But if a USB enclosure does provide the values, it will still require software support - like the SAT-SMART driver.

Regarding drive utilities, I don’t use any of these, so I can’t recommend one. I mentioned those two because they distribute their own private builds of SAT-SMART.

But once you have a driver like SAT-SMART installed, you should be able to see the SMART status in the normal Mac System Information app. Of course, System Information only says pass/fail. You need some other app (like the ones you mentioned) to view the details.

I feel like the entire discussion of SMART reporting needs some big red flags…

  • Not all SMART attributes are standardized; some remain vendor specific
  • There’s no SMART attribute for drive status, such as “drive is OK”, “drive is failing”. It is up to the host to interpret the attributes. For example, macOS may decide that attributes that exceed certain thresholds indicate a fail, but other software may say the same drive is OK. Or vice-versa.
  • You’d think that there’d be a complete different set of attributes for a solid state drive vs. one made of spinning metal, but note that the available attributes depend on the interface (ATA, SCSI, NMVe), not the drive type. So, if I’m understanding this correctly, a USB attached drive will have the same set of attributes whether the drive is SSD or HDD.

What we need is a Self-Monitoring, Analysis and Reporting Technology Enhanced Revision standard.

Thanks Simon and others for suggestions for an SSD case supporting SMART and fan. I’ll post another update as my research progresses.

The Anyoyo is a sister company of Acasis, according to an Amazon customer, which I guessed from the similar look. Acasis is another one I considered, but among very positive reviews some are very negative (including lack of responses to support needs), which makes me wonder about Anyoyo. MAIWO has mixed reviews too, with some saying the drive isn’t cooled very well.

While I will get a case supporting TB4 or USB4 for SMART, for the fan it seems like I have a choice between a variable/uncertain quality company, and someone established like OWC with a fanless external heat sink.

Maybe I’ll consider the fanless, USB4-based OWC Express 1M2, either bare or with with Auro Pro IV SSDs. Does anyone have experience with it and how well it passively cools? OWC themselves had no thermal data to share, but suggested maybe considering an external fan.

Not quite. In addition to its value, every SMART attribute has a small amount of metadata. According to Wikipedia, each attribute contains:

  • The attribute ID
  • Status flags
  • The threshold value
  • The “normalized” value. If the value is beyond the threshold (normally below, but may be above for some attributes) then the device should be assumed “failed”.
  • Vendor-specific data (usually containing the worst normalized value recorded and sometimes raw data)

So, you’re right that a SMART-reading application needs knowledge about what the attributes mean, and not all are standardized. But even without this knowledge, an app can compare each value against its threshold and report a problem if one or more of the standard attributes is on the wrong side of its threshold.

I assume this is what Apple’s simple “pass/fail” report does.

More robust apps, of course, are designed with as much vendor-specific knowledge as possible, including an understanding of the raw data and what values may indicate problems before the threshold has been crossed. That knowledge is what you’re paying for when you buy one of these apps.

Yes, but as I wrote above, USB doesn’t use SMART at all. So whatever you get will be the SCSI equivalent if the bridge board implements UAS. There are not nearly as many values, and they are pretty generic. For example:

  • Buffer over-run/under-run
  • Write error counter
  • Read error counter
  • Temperature
  • Start-stop cycle counter
  • Self-test results

These are far from the full set of attributes available via the ATA or NVMe. And of course, their accuracy will depend on how well the bridge chip can translate the ATA/NVMe attributes to their SCSI equivalents.

1 Like