970 PRO NVMe alike with REAL Linux support!?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

MrCalvin

IT consultant, Denmark
Aug 22, 2016
87
15
8
51
Denmark
www.wit.dk
I'm looking for a 970 PRO NVMe alike drive with real Linux support!
Samsung says their drives are working on Linux but are only optimized for Windows performance and their firmware update tool only runs on Windows.

Shouldn't we punish them by not buying their drives until they change their point of view? ("us" who use Linux ;-))

What alternatives do I have?
WD Black does have the speed, but I'm not convinced the endurance matches.
 
Last edited:

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,394
511
113
I believe samsung provide firmware ISOs that can be applied outside of the OS. They also provide a linux-based version of their magician tool but I believe it only works with the enterprise drives.
SSD Tools & Software | Download | Samsung V-NAND SSD

Intel of course make NVMe drives and generally have better support for linux; they also provide a firmware update ISO for all their drives as well as the isdct command line tool for drive management. I haven't tried using it to update the firmware but I have used it with the optane and P4101 NVMe drives.

Micron aren't as prominent in the NVMe space but they do provide OS-agnostic firmware ISOs as well as a command line version of their storage executive tool (which is thankfully nowhere near as stupidly bloated as their java + webserver GUI version). Last I looked it required a login to download though. In the consumer space, I believe some of the crucial drives are able to have their firmware updated via fwupd but I think those are only SATA.
 

MrCalvin

IT consultant, Denmark
Aug 22, 2016
87
15
8
51
Denmark
www.wit.dk
Good questions, it's just what they say on their homepage.But they only make Windows utils/software And in the early days I remember Samsung SSD's had some compatibility problems with Linux. So it seems Linux might not be a prioritization. But nonetheless I just order a 970 Pro for my Debian Buster box all pros and cons considered.
 

alex_stief

Well-Known Member
May 31, 2016
884
312
63
38
How exactly are the drives optimized for Windows?
My guess would be caching in memory. With drivers installed in Windows, these SSDs can pull some rather unrealistic numbers in synthetic benchmarks.
 

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,394
511
113
I'm running buster on a 970 evo myself for one of my workstations - never had any problems with it, although they do seem expensive. I wouldn't have any great qualms about buying a micron drive, and I'm quite liking the P4101's in my new server build (two M2s in RAID1) which are far cheaper than the 970 pro drives in the UK at least (1TB P4101 = £200, 1TB 970 pro = £300).

Most of the tier 2 vendors like WD and HP don't seem to provide any linux-based methods for updating firmware which is a shame since their new crops of drives seem to perform well without costing the earth.

The SSD landscape has changed significantly in the last decade though; firmware updates are few and far between and are usually for quirks and niggles rather than wholesale feature or performance changes. I'm one of those people that was immunised against must-upgradeitis at an early age so I've got dozens of drives that I've never updated the firmware on.
 

Patriot

Moderator
Apr 18, 2011
1,450
789
113
My PM981 loved linux... just get me the bin file and you can flash any firmware through sgtools
 
  • Like
Reactions: MrCalvin

mattlach

Active Member
Aug 1, 2014
323
89
28
There is nothing wrong with using Samsung's current lineup under linux. They work great. And their "Samsung Magician" or whatever the tool is called now is just plan garbage. No need to install it even if you run Windows.

That said, I think they are overpriced.

If I were shopping for an NVMe SSD today, I'd probably buy the Phison PS5012-E12 based Inland Premium 1TB drive sold at Microcenter.

It was down to $92 for a while, but has since come up to $107.

It is a TLC drive but it has amazing write endurance and a large write cache so performance is supposedly great, and it is a fantastic bang for the buck.
 

mattlach

Active Member
Aug 1, 2014
323
89
28
I'm running buster on a 970 evo myself for one of my workstations - never had any problems with it, although they do seem expensive. I wouldn't have any great qualms about buying a micron drive, and I'm quite liking the P4101's in my new server build (two M2s in RAID1) which are far cheaper than the 970 pro drives in the UK at least (1TB P4101 = £200, 1TB 970 pro = £300).

Most of the tier 2 vendors like WD and HP don't seem to provide any linux-based methods for updating firmware which is a shame since their new crops of drives seem to perform well without costing the earth.

The SSD landscape has changed significantly in the last decade though; firmware updates are few and far between and are usually for quirks and niggles rather than wholesale feature or performance changes. I'm one of those people that was immunised against must-upgradeitis at an early age so I've got dozens of drives that I've never updated the firmware on.
Yeah, EVO drives are fine these days.

Write endurance really isn't a problem with any SSD anymore. I have some EVO drives mirrored in ZFS in my server. They take a beating and continue working just fine.

I'm even considering using a few of those Inland Premium drives from Microcenter (which are TLC drives) as cache devices under ZFS. I am completely not concerned about write endurance.

The only downside with TLC drives tends to be that writes tend to slow down once you exhaust the MLC cache. In normal use they reallocate the data to TLC during idle time, but if you do persistent long term writes, eventually you run out of MLC write cache, and things slow down a lot.
 

mattlach

Active Member
Aug 1, 2014
323
89
28
My PM981 loved linux... just get me the bin file and you can flash any firmware through sgtools
Huh,

Those are the same tools I used to update my HP SAS expander a while back I think. I didn't realize they could be used for all sorts of things.
 

Patriot

Moderator
Apr 18, 2011
1,450
789
113
Huh,

Those are the same tools I used to update my HP SAS expander a while back I think. I didn't realize they could be used for all sorts of things.
To be fair, I have not tested on a nvme drive, but I would be surprised if there was not an opensource path. It is what I use to flash sas and sata drives though.
 

MrCalvin

IT consultant, Denmark
Aug 22, 2016
87
15
8
51
Denmark
www.wit.dk
FYI just got a confirmation from Kingston that they only provide firmware upgrades through there Windows tools "SSD manager", even for there enterprise drives like DC500M.
It's my understanding that Linux is the most used server OS. Minimum must be a bootable ISO, but that's actually kind of a pain too!

In regards to e.g. Samsung and "they run fine on Linux". Sure they run on Linux, any drive does these days, but if they run at half performance of what you see in all the Windows benchmark, would you notice?
With today's complex SSD controllers and caching algorithms very small changes in the system environment can have dramatically changes in performance. I bed all manufacturers optimize their firmware for Windows benchmarks.
 

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,394
511
113
My Intel P4101 certainly exceeded its stated maximum write performance under an fio torture-test.

As Patriot points out, nvme-cli should be able to manage firmware on a great deal of drives (if not all - it should be a part of the standard IIRC). I've not seen anyone saying that SSD perf on samsung drives under linux are slower than windows...
 

alex_stief

Well-Known Member
May 31, 2016
884
312
63
38
Isn't the stated write endurance a minimum rather than a maximum? I.e. if your drive fails within the warranty period at less than TBW, you get a replacement. So the manufacturers would be well advised to give a conservative estimate for write endurance.
 

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,394
511
113
dd isn't a good indicator of IO performance - like Patriot said, use fio! dd is single-threaded so you're never going to get beyond a queue depth of 1, and it frequently runs into the limits of the CPU. Were you running dd with a 512kB block size like TPU were using? dd's default block size will be 512bytes.

Annoyingly TPU don't list what software they're using to perform their synthetic tests, but yes there's lot of different variables in play, not least of all the filesystem. fio can run on windows though, so it's possible to run the same test fio against the same disc/partition in linux and windows (albeit with different filesystems).
 
Last edited:

Patriot

Moderator
Apr 18, 2011
1,450
789
113
So you are mad that your sync Q1 results in linux are less than Q 128 results in windows?
That is actually pretty impressive results for DD considering how much it sucks.


iodepth=1 or 2 depending...
numjobs is threads = core count, so say you have a 16 thread box leave iodepth one and set jobs to 16.
start with qdepth around 16 and go up to 64 and see what your max is. bs 4k is iops, 128k is throughput.

sudo fio --name=randwrite --ioengine=libaio --iodepth=1 --rw=randwrite --bs=128k --direct=0 --size=4096M --numjobs=16 --runtime=240 --group_reporting
 
Last edited:

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,394
511
113
That is actually pretty impressive results for DD considering how much it sucks.
I'd tend to agree!

I generally prefer to either use or adapt the various fio test scripts rather than wrangling with complicated options since it makes running repeated benches easier IMHO. The standard ssd-test.fio script uses 4k blocks against a 10GB test file and QD4 by default but as you can see it's easy to tweak.

Code:
# Do some important numbers on SSD drives, to gauge what kind of
# performance you might get out of them.
#
# Sequential read and write speeds are tested, these are expected to be
# high. Random reads should also be fast, random writes are where crap
# drives are usually separated from the good drives.
#
# This uses a queue depth of 4. New SATA SSD's will support up to 32
# in flight commands, so it may also be interesting to increase the queue
# depth and compare. Note that most real-life usage will not see that
# large of a queue depth, so 4 is more representative of normal use.
#
[global]
bs=4k
ioengine=libaio
iodepth=4
size=10g
direct=1
runtime=60
directory=/mount-point-of-ssd
filename=ssd.test.file

[seq-read]
rw=read
stonewall

[rand-read]
rw=randread
stonewall

[seq-write]
rw=write
stonewall

[rand-write]
rw=randwrite
stonewall
I just remembered that the primary author of fio, Jens Axboe, is Danish so it's not only a better tool for the job but also your patriotic duty.
 
Last edited: