NVMe broken?#

tail -f /var/log/syslog
[449965.894170] blk_update_request: critical medium error, dev nvme1n1, sector 2000409088 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[449965.897907] blk_update_request: critical medium error, dev nvme1n1, sector 2000409088 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[449965.897912] Buffer I/O error on dev nvme1n1, logical block 250051136, async page read
sudo -i
smartctl -a /dev/nvme1n1 | rg 'overall-health self-assessment'

https://bbs.archlinux.org/viewtopic.php?pid=1959161#p1959161

apt install fwupd
fwupdmgr refresh
fwupdmgr get-updates
# No updatable devices

Well… Nothing to do here. Let’s wait and see. Meanwhile, I’ll use nvme1n1 as a temporary media storage.

default_ps_max_latency_us#

https://www.tekbyte.net/fixing-nvme-ssd-problems-on-linux/

According to the Arch Wiki setting the

nvme_core.default_ps_max_latency_us=0

kernel paramter completely disables APST.

Remember to update grub, then reboot and verify

update-grub
reboot
cat /sys/module/nvme_core/parameters/default_ps_max_latency_us

Let’s wait and see. ;)

badblocks#

As always, the Arch Wiki is the best resource.

Warning

DESTRUCTIVE -w flag!

badblocks -wsv -b 4096 -o ~/bad_blocks_nvme1n1 /dev/nvme1n1

Resulted in

Checking for bad blocks in read-write mode
From block 0 to 250051157
Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: done
Reading and comparing: done
Testing with pattern 0x00: done
Reading and comparing: done
Pass completed, 0 bad blocks found. (0/0/0 errors)

create fs, disable automount#

I used gparted to create a GPT partition table and create a file system.

fsck /dev/nvme1n1p1

cat <<'EOF' >> /etc/fstab
UUID=34d2ce1c-0b23-4830-985c-acfa4991df07 /g               ext4    defaults 0       1
EOF

mount -a
mount | rg nvme1
df /g