Samsung 860/870 SSDs Continue Causing Problems For Linux Users
While Samsung has explicitly stated before that queued TRIM works for Samsung 860 SSDs on Linux and thus leading to only older Samsung 840/850 drives being blocked from queued TRIM usage, that turns out to be inaccurate and now more quirks are added for the Samsung 860 and 870 series SSDs on Linux.
Linux kernels of the past three years have allowed queued TRIM for the Samsung 860 while blocking its usage for 840/850 drives. However, many users continue to find issues under Linux with the 860 and 870 drives.
Queued now via the Linux kernel block subsystem is adding to the blacklist the Samsung 860/870 series to disable queued trim. "There is a large number of users which is still reporting issues with the Samsung 860 and 870 SSDs combined with Intel, ASmedia or Marvell SATA controllers and all reporters also report these problems going away when disabling queued trims."
However, if using a Samsung 860/870 with an AMD chipset, it's even worse. A new blacklist entry is going to outright disable native command queuing (NCQ) for the Samsung 860 and 870 SSDs when using an AMD chipset. Outright disabling NCQ on these drives will hurt performance on affected systems.
The commit notes, "Many users are reporting that the Samsung 860 and 870 SSD are having various issues when combined with AMD/ATI (vendor ID 0x1002) SATA controllers and only completely disabling NCQ helps to avoid these issues. Always disabling NCQ for Samsung 860/870 SSDs regardless of the host SATA adapter vendor will cause I/O performance degradation with well behaved adapters. To limit the performance impact to ATI adapters, introduce the ATA_HORKAGE_NO_NCQ_ON_ATI flag to force disable NCQ only for these adapters."
In other words, Linux users are best off just trying to avoid the Samsung 860 and Samsung 870 series drives. These patches are now on their way to the mainline Linux kernel.
Linux kernels of the past three years have allowed queued TRIM for the Samsung 860 while blocking its usage for 840/850 drives. However, many users continue to find issues under Linux with the 860 and 870 drives.
Queued now via the Linux kernel block subsystem is adding to the blacklist the Samsung 860/870 series to disable queued trim. "There is a large number of users which is still reporting issues with the Samsung 860 and 870 SSDs combined with Intel, ASmedia or Marvell SATA controllers and all reporters also report these problems going away when disabling queued trims."
However, if using a Samsung 860/870 with an AMD chipset, it's even worse. A new blacklist entry is going to outright disable native command queuing (NCQ) for the Samsung 860 and 870 SSDs when using an AMD chipset. Outright disabling NCQ on these drives will hurt performance on affected systems.
The commit notes, "Many users are reporting that the Samsung 860 and 870 SSD are having various issues when combined with AMD/ATI (vendor ID 0x1002) SATA controllers and only completely disabling NCQ helps to avoid these issues. Always disabling NCQ for Samsung 860/870 SSDs regardless of the host SATA adapter vendor will cause I/O performance degradation with well behaved adapters. To limit the performance impact to ATI adapters, introduce the ATA_HORKAGE_NO_NCQ_ON_ATI flag to force disable NCQ only for these adapters."
In other words, Linux users are best off just trying to avoid the Samsung 860 and Samsung 870 series drives. These patches are now on their way to the mainline Linux kernel.
70 Comments