Several owners of the Samsung 860 EVO SATA SSD began experiencing problems with their drives in Linux about two years ago. Later, it was discovered that the 870 EVO model had the same or a very similar fault. Meanwhile, Linux engineers claimed that they were investigating the issue, and while it took some time, it was confirmed earlier today that patches for the issue had been sent upstream for final deployment.
According to the research, Queued Trim commands on the 860 and 870 SSDs are producing troubles on Intel, ASmedia, and Marvell SATA AHCI controllers, with the problem affecting older AMD systems the most.
As a result, Queued Trims have been removed in the latest patch for Intel, ASMedia, and Marvell SATA controllers, and Native Command Queuing (NCQ) has been disabled outright for older AMD workstations as a fix for the problem.
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.”
NCQ is a SATA-based technology that allows the system to manage data queuing and transportation based on workload for optimal performance. TRIM, on the other hand, allows the drive to intelligently free up space that is no longer assessed to be required for the storage device to keep without losing important data. This prevents rewriting in previously used spaces and is generally seen to be beneficial to drive health.
Surprisingly, Queued TRIM appears to have been removed on all Samsung 800 series SSDs, but the South Korean company reportedly informed Linux that it wasn’t required for devices other than the 840 and 850 drives. User feedback on the 860 and 870 drives, on the other hand, suggests differently.
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.”
As a result, if you’re a Linux user, it’s generally advisable to avoid any Samsung 800 series SATA SSDs.
Bugzilla is the source of this information.