Nvme drive firmware and speed test

Currently using a Samsung 970 EVO Plus nvme drive. While performance is ok I was looking at seeing if I can make it any faster.

Output from nvme-cli gives me

                Generic               SN                   Model                                    Namespace  Usage                      Format           FW Rev
--------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- --------
/dev/nvme0n1          /dev/ng0n1            S4EVNX0T907731W      Samsung SSD 970 EVO Plus 500GB           0x1        131.03  GB / 500.11  GB    512   B +  0 B   2B2QEXM7

Wondering two things is it worth updating firmware? Or looking at other settings to get best performance.

Yes, you can try to choose more performant I/O scheduler for each type of disk SSD / HDD / NVME, by creating that file + reboot:

/etc/udev/rules.d/96-scheduler.rules

# IO scheduler
# Algorithm to manage disk IO requests and balance it with other CPU loads.

# HDD
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="mq-deadline"

# SSD
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq"

# NVMe SSD
ACTION=="add|change", KERNEL=="nvme0n[0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none"

For nvme best performance is usually achieved using none, like in file above.

you have to wait linux6.8 :

1 Like

No, what i’ve advised above is already available and much better than defaults was (at least last time i’ve checked, maybe it’s changed), however yeah 6.8 should probably improve it a bit further.