Sujet : Re: errors using new Samsung 870 EVO SSD
De : wbe (at) *nospam* UBEBLOCK.psr.com.invalid (Winston)
Groupes : comp.unix.bsd.freebsd.miscDate : 15. Sep 2024, 07:40:44
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <yded5lju6r.fsf@UBEblock.psr.com>
References : 1
User-Agent : Gnus/5.13 (Gnus v5.13)
I previously wrote (in part):
It looks like there's some kind of compatibility or interface problem.
Aug 21 03:01:24: (ada0:ahcich0:0:0:0): CAM status: Auto-Sense Retrieval Failed
Aug 21 03:01:24: (ada0:ahcich0:0:0:0): Error 5, Unretryable error
...
Aug 21 03:01:25: (ada0:ahcich0:0:0:0): CAM status: ATA Status Error
...
Aug 21 03:01:26: (ada0:ahcich0:0:0:0): CAM status: Uncorrectable parity/CRC error
----------
Here's smartctl -x output, keeping only what looked "interesting"/relevant:
...
0x06 0x018 4 64 --- Number of Interface CRC Errors
Careful reading of the error messages and check of smartctl info
indicated to me some kind of data/interface/compatibility error, not a
read/write problem in the SSD.
Google search turned up various Samsung 860 and 870 EVO articles.
What I've determined:
* It's not a bad data cable:
Some of the articles suggested the problem might be a bad cable.
I ordered two new ones (SATA III).
Result: no improvement.
That's as I expected, since I was pretty sure my cables were good,
but it was cheap to try.
* Fix 1:
Based on the articles I read, this problem with Samsung 870 EVO and
860 EVO SSDs appears to affect not just FreeBSD, but *BSD and at
least some Linuxes.
The solution/workaround (at least for FreeBSD) is to disable command
queueing ("camcontrol negotiate $theSSD -T disable").
* Fix 2:
Connect the SSD with a USB-to-SATA adapter cable.
I found such a cable in stock at Best Buy for $12.
Perhaps this works because there's no command queueing over USB.
As a side note, instead of turning off tagged queueing, I also tried
reducing the number of tags from 32 to 2. Didn't help: the errors
continued to happen.
Maybe some day Samsung will come out with new firmware that fixes this
problem.
Is this something I should post to bugzilla (it's not a FreeBSD bug,
though) or to some FreeBSD forum (which one)? Google no longer gets
USENET, so I don't expect this article would be found by Google search.
HTH,
-WBE