Hacker News new | ask | show | jobs
by qwertox 1550 days ago
I was confronted with this last Saturday and ended up following this how-to.

I simply couldn't believe that their tool required a PS/2 keyboard, when most modern Mainboards no longer have such a port.

In any case, updating the firmware didn't fix the issue that my 980 Pro NVMes (all 4 of them) only have a write speed of between 400 and 500 MB/s (read is at ~6.7 GB/s), using Ubuntu 20.04.

A WD_BLACK SN850 NVMe manages to write at 3.8 GB/s in the same slot (Ryzen 9 5950X on ASUS Pro WS X570-ACE)

BTW: I faced the same keyboard issue a month ago when I wanted to use another Samsung tool to erase a Evo 870 SSD for RMA with the Secure Erase feature.

2 comments

> updating the firmware didn't fix the issue that my 980 Pro NVMes (all 4 of them) only have a write speed of ...

In order to see spec sheet read/write speeds you can/should bypass the filesystem and the buffer cache. On Linux you can write directly to the device node (make sure to enable O_DIRECT and make your write sizes big enough).

EDIT: added a quote to clarify context

nvme set-feature -f 6 -v 1 /dev/nvme0n1 (feature:0x6 (Volatile Write Cache))

dd if=/dev/zero of=~/testfile bs=10000M count=1 oflag=direct -> 1.4 GB/s

dd if=/dev/zero of=~/testfile bs=1000M count=10 oflag=direct -> 3.7 GB/s

dd if=/dev/zero of=~/testfile bs=100M count=100 oflag=direct -> 3.7 GB/s

dd if=/dev/zero of=~/testfile bs=10M count=1000 oflag=direct -> 4.0 GB/s

dd if=/dev/zero of=~/testfile bs=1M count=10000 oflag=direct -> 3.6 GB/s

nvme set-feature -f 6 -v 0 /dev/nvme0n1

dd if=/dev/zero of=~/testfile bs=10000M count=1 oflag=direct -> 412 MB/s

dd if=/dev/zero of=~/testfile bs=1000M count=10 oflag=direct -> 556 MB/s

dd if=/dev/zero of=~/testfile bs=100M count=100 oflag=direct -> 553 MB/s

dd if=/dev/zero of=~/testfile bs=10M count=1000 oflag=direct -> 482 MB/s

dd if=/dev/zero of=~/testfile bs=1M count=10000 oflag=direct -> 267 MB/s

The values I got in my first post were obtained through Ubuntu's "Disks" application which has a benchmarking dialog.

"~/testfile" looks suspiciously like a file mounted on a filesystem. What happens if you bypass the filesystem?
They need concurrency at the flash level. Disabling write cache prevents it from clawing the concurrency out of single-threaded requests.

If flush works properly, a volatile write cache in the SSD is good for you.

Is this a non-sequitur or are you trying to somehow explain the difference between the two drives noted in the comment you are replying to?
Maybe there's hope. I just got a regular 980 (not Pro) last week, which was showing around 660-680 MB/s write speed on both direct disk (and through file system). Just moments ago downloaded the new firmware and ran the installer, and suddenly: 1.8 GB/s on direct disk. I'm using dd if=/dev/zero of=/dev/nvme0n1 bs=1000M count=100 to test the direct access speed.

BTW, I followed the wget & cpio route from the how-to and ran the "fumagician" binary just fine on the headless box over ssh, no need to PS/2 anything.