What determines whether S.M.A.R.T. data can be retrieved from an external USB drive

external hard drivehard drivesmartusb

Not so long ago I was confident that I understood why information like the temperature and the other hard drive S.M.A.R.T. data could not be retrieved from an external hard drive.

My understanding was that this was because …

  1. The original protocol used to connect an external drive via USB did not include a mechanism to extract the S.M.A.R.T. data. In other words, there was no way for the software to extract S.M.A.R.T. data. There was no way it could ask for it.

  2. Changing the "mass storage USB attachment protocol" … I don't know what the official protocol title is … to allow for retrieving the S.M.A.R.T. data would not help because there would still be no support for this "enhancement" in the SATA or PATA to USB controllers I purchased over the years.

In other words, I thought all external USB attach hardware lacked support for S.M.A.R.T. because when the hardware was created the software did not support it. So it just was not going to work. Ever.

It turns out I was wrong, or at best only partially correct.

I have found that when I use the Windows software test tool HD Tune Pro that it can extract S.M.A.R.T. data from three different USB external enclosures. All of them use SATA drives but I have no idea whether or not that is pertinent. All I know is I am still not able to see S.M.A.R.T. data using HD Tune Pro with any of my USB external enclosures for PATA drives.

Can anyone tell me what the full story is? I can never seem to track down information about

  1. The "mass storage USB attachment protocol". Heck, I don't even know what the proper name is for the protocol used to "talk to" a USB attached external hard drive.

  2. What software utilities support retrieving S.M.A.R.T. from an external USB hard drive.

  3. What hardware … which external USB hard drive controllers … support retrieving the S.M.A.R.T. data from the drive. Is SATA versus PATA actually pertinent in any way?
    (Please understand that I am asking "which hardware" in general sense. I am not fishing for the name of any particular manufacturer's enclosure product. Maybe I am asking about controller chipsets? I don't know enough to narrow this down further.)

  4. A timeline of what was supported approximately when would be "nice to have".

Bottom line question I'm trying to ask is, "What's up with this?"

Note: Yes, I suppose I could just go out and try to dig into the source code for an open source tool such as smartmontools to learn more about this. But I am hoping that this will not be the only option available to me.

Best Answer

According to this answer to pass the SMART commands through to the hard drive SAT (SCSI ATA Translation) is used.

Thus, only if your enclosure supports SAT and your software knows how to send the commands (i.e. for OS X you need the kernel extension mentioned in that answer) you can get the SMART status of the external drive.

Although this may not be the only option to get the SMART status, as I could not retrieve the SMART status for a drive in an enclosure using a Sunplus Technology USB to SATA bridge in OS X - but from the same combination of HDD and enclosure I could successfully get the SMART data using Windows XP and HDDScan (see Appendix A on that site for supported controller chips)

Related Question