三星 860 EVO SATA 固态硬盘是一款 2018 年推出的产品,而在 2019 年部分该型号固态硬盘的用户在 Linux 系统上开始遭遇硬盘问题。之后,人们发现 870 EVO 型号也有同样或非常类似的故障。自此开始,Linux 工程师针对这一问题进行了漫长的调查,如今工程师证实,针对这个问题的补丁已经被送到上游进行最终部署。
根据工程师的研究调查,860 和 870 固态硬盘上的 Queued Trim 命令在英特尔、ASmedia 和 Marvell SATA AHCI 控制器上会产生问题,尤其是对较旧的 AMD 系统影响最大。
因此在最新的补丁中,针对英特尔、ASMedia 和 Marvell SATA 控制器的 Queued Trims 已经被删除,而对较旧的 AMD 设备的 Native Command Queuing(NCQ)也已经被完全禁用,以对此前的硬盘故障进行修复。
这已经不是三星 800 系列的固态硬盘第一次发生这样的问题了,早在三星 840/850 硬盘上就遇到过类似的问题,而三星在推出 860 时还明确表示过 860 型号的 Queued Trim 适用于 Linux。但根据如今的调查显示,三星当初的说法还是不够准确的。
NCQ 是一项基于 SATA 的技术,允许系统根据工作负荷管理数据队列和传输以获得最佳性能。而 TRIM 允许硬盘智能地释放那些经评估不再需要的空间,以便存储设备在不丢失重要数据的情况下保存。这可以防止在之前使用过的空间中进行重写,TRIM 是一项被公认为对硬盘健康有益的技术。
有大量的用户仍在报告三星 860 和 870 固态硬盘与英特尔、ASmedia 或 Marvell SATA 控制器相结合的问题,根据已更新补丁的用户回报,在禁用 Queued Trim 后这些问题也随之消失。”
在补丁的提交说明中指出:”许多用户报告说,三星 860 和 870 固态硬盘在与 AMD/ATI 的 SATA 控制器结合时会遇到各种问题,只有完全禁用 NCQ 才能有效避免这些问题。无论主机 SATA 适配器供应商如何,始终为三星 860/870 固态硬盘禁用 NCQ 将导致适配器的 I/O 性能下降。为了限制对 ATI 适配器的性能影响,引入 ATA_HORKAGE_NO_NCQ_ON_ATI 标志可以仅对部分适配器强制禁用NCQ。”
鉴于三星 800 系列的固态硬盘所遇到的这些问题,为了稳定性和数据安全,Linux 用户最好还是不要使用三星 800 系列的固态硬盘,已经在使用的用户最好也尽快更换其他型号的固态硬盘。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/145345.html