无法通过 USB 正确检测 SSD 功能(旋转/丢弃)

无法通过 USB 正确检测 SSD 功能(旋转/丢弃)

我在 Thinkpad W520 上使用 Ubuntu 16.04,内核为 4.10.0-20-generic(hwe-edge)。我有两个 SSD 驱动器:一个闪存 USB 3.0 棒和一个 SATA Samsung 850 EVO SSD。当我将它们连接到 USB(闪存棒直接连接,SSD 位于 Orico 2.5 英寸 SATA3.0 HDD 外壳内)时,内核将它们检测为旋转设备(lsblk -o name,rota 显示 1,/sys/block/<device>/queue/rotational 也显示)。

当我通过 eSATA 直接连接 SSD 时,它可以正确检测到旋转 = 0。

通过 USB 连接时如何纠正此问题?这很重要,因为例如 BTRFS 在检测到 SSD 驱动器时会自动启用一些特定于 SSD 的优化,并且它检测此问题的方式是通过查询 sysfs 中的旋转属性。我可以将我的 BTRFS 分区添加到 fstab 并在那里为 BTRFS 添加 SSD 选项,但这听起来像是黑客行为。

此外,当通过 USB 连接 SSD 时,无法检测到 SSD 的 DISCARD 功能(lsblk -D 显示 DISC-GRAN 和 DISC-MAX 为 0)。

答案1

我偶然发现了这个帖子,他们解释说这种情况发生是因为 USB-SATA 控制器不支持此功能。看来你必须为 SSD 购买特殊的 SATA 外壳。

带有 USB 3.0 外壳的 Trim 和 SSD 不起作用 - 不支持 UASP?

相关内容