Saturday, February 18, 2023

I'd prefer not to update firmware for Samsung SSD on Linux

I setup my 3rd Beelink server at home that I use for benchmarks. The first two came with Kingston NVMe SSD and this one has an Intel (670p, 512G). The IOPs I got from the Intel SSD is about half of what I got from the Kingston for 4kb random read tests with queue depth = 1, and then I noticed the Kingston devices are at 99% and 69% of their endurance limit so I decided to replace all three.

I first tried a Samsung 980 Pro with heatsink but the heatsink is too tall for the Beelink. Next up was a Samsung 980 Pro without the heatsink and that fits. But then I remembered that Samsung 980 and 990 firmware has been in the news so I tried to see whether a firmware update was available.

Alas, updating firmware for a Samsung SSD on Linux might turn anyone into Bartleby the Scrivener, as in you might get frustrated and begin saying I prefer not to. Eventually I realized I should confirm there was a firmware update available before wasting time and learned I have the latest revision which claims to have fixed the endurance problem. This states that the 5B2QGXA7 firmware revision has the fix, and my device has that.

If I have to revisit this in the future I might just open my Windows gaming laptop and do the update there because it has a spare m.2 NVMe slot.

Notes for my future self:

  • To determine the firmware revision: sudo nvme fw-log /dev/nvme0
  • Samsung firmware is here which includes the latest revision strings and 5B2QGXA7 is latest for the 980 Pro.
  • Samsung Magician DC might run on Linux. There is a version (see here) from 2015 -- found thanks to this story. I can still run it on Ubuntu 22.04 today but did not try to install firmware with it. A user guide, perhaps even the correct one, is here. At a minimum I would need to follow the advice from here to extract the firmware bits from the ISO.
  • A nice answer to How do I update Samsung SSD firmware on Linux is here. While useful it might leave you thinking I'd prefer not to.
  • Linux has a useful tool for doing firmware updates (fwupdmgr, see here). Alas, most Samsung devices don't seem to support it.

No comments:

Post a Comment

RocksDB on a big server: LRU vs hyperclock, v2

This post show that RocksDB has gotten much faster over time for the read-heavy benchmarks that I use. I recently shared results from a lar...