Dav*_* C. 8 usb hard-drive sata
我最近将自制的外置硬盘从 1TB 升级到 3TB。在这样做时,我了解到它的桥接板不支持大于 2TB 的驱动器。我必须得到一个更新的案例才能支持这个驱动器。
有谁知道为什么这应该是真的?
从SATA接口的角度来看,应该没有问题。识别块的 LBA-28 系统强加了 128GiB 的限制(假设通常的 512 字节块),但 10 多年来,这一直不是一个严重的问题。从那以后的一切(包括所有 SATA 设备)都支持 LBA-48,最高可达 128PiB,因此应该可以轻松支持 3TB。
我知道 MBR 分区表存在 2TB 限制的问题,但这不应该影响 SATA-USB 桥接芯片,因为它(或应该)只是在两个协议之间转换磁盘块。
我认为这可能只是芯片制造商变得懒惰的情况,将 32 位整数用于真正需要支持 48 位值的应用程序。真的那么简单(和 IMO,不可原谅)还是我还缺少其他东西?
只是好奇,但我还无法从任何地方通过谷歌搜索答案。
好的,我在 30 分钟后回答我自己的问题。我无法停止寻找原因,我想我找到了。它不是支持 48 位块地址的 ATA 规范。它实际上是USB规范。
根据维基百科 ( http://en.wikipedia.org/wiki/USB_mass_storage_device_class#Device_access),USB大容量存储类实现了 SCSI 透明命令集。查看各种 SCSI 读取命令(https://www.seagate.com/files/staticfiles/support/docs/manual/Interface%20manuals/100293068j.pdf,第 3.15 至 3.19 节)我看到有几个不同版本的命令:
在这一点上,我认为答案是明确的。最初的芯片没有实现 64 位地址的调用,认为没有意义。然后当 3TB 驱动器可用时,它们得到增强以支持 64 位地址调用。
归档时间: |
|
查看次数: |
1265 次 |
最近记录: |