Question Best solution for GPT External SATA-to-USB Adapter problem

gggirlgeek

Distinguished
Oct 10, 2010
125
2
18,685
I have many large HDD's and a few SSD's in 3 systems so I often need to access drives with a USB 3.0 enclosure or adapter. All my drives are being converted to GPT, where I've now discovered there is a problem accessing them from a different interface (whether USB or SATA or Nvme) if they were not initiated and formatted on that interface. Troubleshooting an inaccessible drive lead me here. The proposed solution:
The actual solution to the problem is to use a SATA-USB adapter that has a hardware SATA controller. For example, the adapter made by Anker has a hardware controller and will correctly function with SATA drives over 2TB initialized on a normal SATA port.....

...Practically, all adapters with software controllers are incompatible with the actual SATA spec and miss-translate the sector information.

If this is the best solution can someone recommend an affordable external adapter and/or enclosure to use? (Under $200, preferably under $100.)

Another idea would be to add eSATA ports to all of my computers and never use anything but eSATA connections externally again. Kind of ridiculous we'd need to go to this extreme. Laptops are going to be a challenge. Practically everyone has old HDD's sitting around. How is this problem not well known?

Now I'm scared to death to touch my hard drives externally at all.
 

gggirlgeek

Distinguished
Oct 10, 2010
125
2
18,685
3rd question:
When does this problem occur: When reading from the drive, writing to the drive, booting from the drive, or just detecting the drive and its partitions?

My most common scenario is needing to recover backups, or play media on an external computer, or access the drive connected to the router via USB. I normally would delete and add files too when I was unaware of this problem.
 
Where did you find this "Anker" info? "Hardware controllers" and "software controllers" are nonsensical terms when used in the current context. The reason that a file system that was set up via a SATA interface may not be seen via USB is that some USB-SATA bridge firmware is configured with a sector size of 4096 bytes.

USB adapters silently change sector size:
https://www.klennet.com/notes/2018-04-14-usb-and-sector-size.aspx
 

gggirlgeek

Distinguished
Oct 10, 2010
125
2
18,685
Where did you find this "Anker" info? "Hardware controllers" and "software controllers" are nonsensical terms when used in the current context. The reason that a file system that was set up via a SATA interface may not be seen via USB is that some USB-SATA bridge firmware is configured with a sector size of 4096 bytes.

USB adapters silently change sector size:
https://www.klennet.com/notes/2018-04-14-usb-and-sector-size.aspx

Exactly. Did you read the information I sourced? 4096-byte-sector-size is what he said. Are you saying a "hardware SATA controller" wouldn't be the remedy? If not, what is?
 
These external USB enclosures all have a bridge IC. That's hardware. Within this hardware is a USB device and a SATA host. Both are hardware. It is the firmware in the enclosure that determines whether the USB device tells the USB host controller in your computer that the device has configured itself for 512 byte or 4096 byte sectors. There are no "software controllers".

Your computer talks to the enclosure using SCSI-over-USB protocol, while the bridge talks to the HDD or SSD using normal SATA protocol. The bridge translates between these two protocols.

In short, you just need to find an enclosure that is configured with a 512-byte sector size. Good luck, though, because most vendors of these products won't know what you are talking about.
 

gggirlgeek

Distinguished
Oct 10, 2010
125
2
18,685
Your linked source says:
How to fix the problem?

  1. Put the drive back where it was formatted. If it was the enclosure, put it back into the enclosure. If the drive was connected to a SATA port of a desktop PC, connect it back to the SATA port.
  2. Copy data someplace away.
  3. Put the drive where you intend to use it.
  4. Re-partition and re-format the drive to match the new sector size.

That is a lot of work if you have a full 8TB drive to access. It also doesn't provide a long-term solution, which is what I'm asking for. I need to be able to access drives outside of my current system. It comes up a lot and was very easy until now. (What changed for me is that I'm upgrading my old MBR system to a GPT system. I can't avoid GPT any longer.)

I wanted to pull my 8TB media HDD drive today and let my husband use it in an external enclosure so he could watch TV while I take the Plex server offline and upgrade it. It might be days before I can connect that drive over SATA again. None of my other PC's have room for a 3.5" drive inside (that's how the new cases are now.)

Another common scenario is investigating a drive corruption. Normally I drill down into my live USB rescue disk and access the drive over USB so I can eliminate OS configurations from the equation.

What is everyone else who's tech savvy doing about this?
 

gggirlgeek

Distinguished
Oct 10, 2010
125
2
18,685
Also, what's the story with "eSata combo ports" or "eSATAp"? Would the controller use the SCSI-over-USB or SATA protocol? And if it's USB then why bother with eSata? Why not just use a Sata-to-USB cable? (Maybe they are only relevant with USB 2.0?)

Another question: What about connecting HDD's over internal USB 3.0 ports and using them permanently? I know there are PCI-E cards that can do this. In my experience USB 3.0 transfers go the same speed as Sata on HDD's because the HDD is the bottleneck.

There has got to be a better way to do this. I can't believe every geek isn't screaming about it.
 

TRENDING THREADS