|
https://superuser.com/questions/ ... 711a4bac16c8097414d
This was a much more complex issue than I anticipated. I will explain what is wrong here, so others will know what to do in case the problem is encountered.
The actual root cause of this issue is that the SATA controllers on the USB-SATA adapters are not hardware controllers but software emulators of SATA controllers.
This causes the following behavior:
A HDD over 2TB initialized and formatted on a normal PC/Server SATA controller will not be correctly detected by the SATA-USB adapter fake software controller.
A HDD over 2TB initialized and formatted on the adapter's fake software controller will not be correctly detected by any standard SATA ports.
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.
Technically, this problem has to do with how the software controller interprets the drive's sectors. Somehow the controller ignores the fact that the drive has 4k sectors and assumes it's based on 512b sectors, causing the software to over-count the physical sectors of the HDD.
Practically, all adapters with software controllers are incompatible with the actual SATA spec and miss-translate the sector information.
这是一个比我预期复杂得多的问题。我将解释这里的错误所在,以便其他人在遇到该问题时知道该怎么做。
这个问题的实际根本原因在于,USB-SATA 转接器上的 SATA 控制器并非硬件控制器,而是 SATA 控制器的软件模拟器。
这导致了以下行为:
在普通 PC/服务器 SATA 控制器上初始化和格式化的超过 2TB 的 HDD,将无法被 SATA-USB 转接器的假软件控制器正确检测到。
在转接器的假软件控制器上初始化和格式化的超过 2TB 的 HDD,将无法被任何标准 SATA 端口正确检测到。
该问题的实际解决方案是使用具有硬件 SATA 控制器的 SATA-USB 转接器。例如,安克(Anker)制造的转接器具有硬件控制器,并且能够正确处理在普通 SATA 端口上初始化的超过 2TB 的 SATA 驱动器。
从技术上讲,这个问题与软件控制器如何解释驱动器的扇区有关。不知何故,控制器忽略了驱动器具有 4K 扇区的事实,并假设它基于 512B 扇区,导致软件对 HDD 的物理扇区计数过多。
实际上,所有具有软件控制器的转接器都与实际的 SATA 规范不兼容,并错误地翻译了扇区信息。 |
评分
-
查看全部评分
|