[RESPONDED] Eyeing Samsung 990 Pro SSD for incoming Ryzen DIY. Ideas/feedback?

Hello all,

I’m expecting a batch 5 DIY Ryzen machine in the next few weeks, so I figure it’s time to look for a SSD for it.

It’s going to be a Fedora-only system, use case is a general Linux “workstation”: Various dev tools, some VMs, and the occasional youtube watching; nothing “special” in terms of storage requirements.

I’m currently leaning towards a Samsung, mainly because there exists an - albeit hacky - way of updating firmware from Linux:

Thinking of a 2TB 990 Pro model. Any ideas, counterpoint(s) to that, would be grateful to hear.

Fedora uses RPM? (I’m not a Linux user). If so, also check out the Solidigm P44Pro. Similar class SSD to the Samsung 990Pro. Solidigm has a management tool for Linux.

1 Like

I’ve got a few of these 2TB 990 Pros and am using them with Linux. The firmware update hack is super simple and works like a charm, though they are currently shipping with the latest firmware and thus it’s not really necessary.

The devices themselves (once updated) have been rock solid - fast, no issues with heat, reliable.

2 Likes

Thanks @Greg_White for the valuable info. :slight_smile:

you didn’t mention usecase. if you’re not a videographer working with massive files daily, speed isn’t going to be very important. in that case, i would rather take a solidigm p44 pro, which is marginally slower, but has slightly better power efficiency, which is more important in a laptop.

same price right now for the 2tb model, but i’ve seen it dip down to $100 a few times in the last month. might be worth waiting for the upcoming amazon sale

1 Like

Thanks for the comments @Scott_H @Greg_White

@umbra yes I should have mentioned that (will edit in a bit). TL;DR: General use case Linux/Fedora-only machine,

I’ve only used Samsung and WD SSDs on my machines (“fleet” of 2 FWs in the household for now, and previously various ThinkPads going back decades). From what I’m reading so far about the P44 Pro it might be time to give that a try.

One point that I noticed in the reddit thread you linked; this message says

Solidigm has their own windows drivers that boost performance

Gives me a little pause, as I’m old enough to remember Winmodems. OK, stretching this more than a bit, but since Windows isn’t in the picture here, I’m more concerned about how well it behaves/performs with Linux, and a Windows focus is a weak negative signal to me. As in, “we chose to put resources on the Windows driver instead of the firmware”.

But not a blocker, it’s not like any other manufacturer (aside from Intel, apparently, in the past, before they unloaded that business) caters that much to Linux at least for non-datacenter SSDs.

Keep them (the comments) coming folks! @Loell_Framework , if it’s ok I’ll go ahead and remove [Solved], I meant this as a RFC thread so there’s no specific “solution” I’m looking for.

@Greg_White if it’s not any trouble, could you check what the native block size for the P990 Pro might be?

sudo smartctl -c /dev/nvme0n1

I came across this post from @qemu-system-x86_64 here:

I’ve tried searching online for what the block size options might be for the P990 Pro but haven’t had any luck.

I’d appreciate any insight.

nvme -id-ns -H /dev/nvme0n1 | less

The LBA format in use or available will be displayed at the bottom.

For compatibility, manufacturers usually factory set SSDs to 512n/512e format and must manually switch to 4Kn format, at least today’s non-enterprise SSDs mostly do this.

As I understand it, this has to do with the manufacturer’s preset security protection. Waking up the specific sleep state allows the nvme-cli tool to briefly gain permission to change the LBA format.

Attached are some of the things I saw when I first encountered this problem:

https://github.com/linux-nvme/nvme-cli/issues/816

https://forums.lenovo.com/t5/ThinkPad-T400-T500-and-newer-T-series-Laptops/nvme-format-failing-with-4096-sector-size/m-p/5043069?page=2

https://community.wd.com/t/sn750-cannot-format-using-the-nvme-command/254374/8

https://bbs.archlinux.org/viewtopic.php?id=257661

1 Like
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.6.0-rc5-GTW1+] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       Samsung SSD 990 PRO 2TB
Serial Number:                      S73WNJ0W518620Y
Firmware Version:                   3B2QJXD7
PCI Vendor/Subsystem ID:            0x144d
IEEE OUI Identifier:                0x002538
Total NVM Capacity:                 2,000,398,934,016 [2.00 TB]
Unallocated NVM Capacity:           0
Controller ID:                      1
NVMe Version:                       2.0
Number of Namespaces:               1
Namespace 1 Size/Capacity:          2,000,398,934,016 [2.00 TB]
Namespace 1 Utilization:            269,592,584,192 [269 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            002538 4531416ba9
Local Time is:                      Fri Oct 13 08:38:47 2023 EDT
Firmware Updates (0x16):            3 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x0055):     Comp DS_Mngmt Sav/Sel_Feat Timestmp
Log Page Attributes (0x2f):         S/H_per_NS Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg Log0_FISE_MI
Maximum Data Transfer Size:         512 Pages
Warning  Comp. Temp. Threshold:     82 Celsius
Critical Comp. Temp. Threshold:     85 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     9.39W       -        -    0  0  0  0        0       0
 1 +     9.39W       -        -    1  1  1  1        0     200
 2 +     9.39W       -        -    2  2  2  2        0    1000
 3 -   0.0400W       -        -    3  3  3  3     2000    1200
 4 -   0.0050W       -        -    4  4  4  4      500    9500

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        37 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    16,631,769 [8.51 TB]
Data Units Written:                 40,108,218 [20.5 TB]
Host Read Commands:                 441,702,348
Host Write Commands:                166,169,023
Controller Busy Time:               419
Power Cycles:                       219
Power On Hours:                     392
Unsafe Shutdowns:                   71
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               37 Celsius
Temperature Sensor 2:               53 Celsius

Error Information (NVMe Log 0x01, 16 of 64 entries)
No Errors Logged

Read Self-test Log failed: Invalid Field in Command (0x002)

Thanks for circling back! So, I suppose this means that the 990 Pro only supports 512 :frowning:

Thanks!

@Matt_Hartley obviously not a high priority thing, but this might be something for the BIOS backlog: BIOS option to lift the NVM FORMAT block to allow format/reconfiguration.

2 Likes

Nothing to add at this moment, but tracking this.

1 Like

Just to understand more, what exactly is the advantage provided by 4k over 512 LBA? And is it noticable for normal usecases?

(edit: summary: Linux firmware update path trumps other factors, and on that better the devil I (think I) know)

TBH I was only vaguely aware of this before looking into this choice of SSD. From what I’ve been able to glean online, SSDs only have marginal performance gains from the so-called 4Kn feature. It seems to have started in/have more of a performance impact with rotating storage.

Having said that, my intuition is still that removing a layer of abstraction between the OS/filesystem and the device has to also have benefits on flash wear. When touching one file, especially for small files, only that file’s block would be affected, reducing the need to go and update (further erase/write cycles) more blocks for references to other files’ contents in the filesystem structures.

Having said that, I still went with the Samsung over the Solidigm. When looking at Linux-accessible firmware, the P44 has no firmware updates (not Linux-specific - just hasn’t needed any, yet). That’s not an issue in itself, but this seems to also be a model that completely breaks from some of the Intel tech that SK Hynix bought and is completely in-house. So without any track record of Linux support (even if, like Samsung, it’s accidental), I didn’t want to take the risk of needing Windows to update firmware in the future.

So we don’t have anything solid backing this theory up?

There’s some thin evidence of a small performance gain, for example:

Then again I found the second link through this thread, where it’s far less clear:

So yeah, overall I’ll err on the side of having a reasonable Linux firmware update path over this.

1 Like

More available space, 4KB is a common block size in modern file systems, and I’m not sure, but it seems like the Linux kernel also processes data in 4KB units.