I have implemented a similar workaround to @fatordee:
$ sudo smartctl -a /dev/nvme0 (...) Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 3.00W - - 0 0 0 0 0 0 1 + 2.60W - - 1 1 1 1 0 0 2 + 1.70W - - 2 2 2 2 0 0 3 - 0.0250W - - 3 3 3 3 5000 9000 4 - 0.0025W - - 4 4 4 4 5000 44000 (...)
$ cat /etc/default/grub | grep latency GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=9000"
I used Ex_Lat from the state right before the last one, as per [1].
It's a less aggressive workaround, as this one just disables the lowest power state, instead of them all.
Seems to be working pretty well.
[1] https://wiki.archlinux.org/title/Solid_state_drive/NVMe#Controller_failure_due_to_broken_APST_support
I have implemented a similar workaround to @fatordee:
$ sudo smartctl -a /dev/nvme0
(...)
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 3.00W - - 0 0 0 0 0 0
1 + 2.60W - - 1 1 1 1 0 0
2 + 1.70W - - 2 2 2 2 0 0
3 - 0.0250W - - 3 3 3 3 5000 9000
4 - 0.0025W - - 4 4 4 4 5000 44000
(...)
$ cat /etc/default/grub | grep latency LINUX_DEFAULT= "quiet splash nvme_core. default_ ps_max_ latency_ us=9000"
GRUB_CMDLINE_
I used Ex_Lat from the state right before the last one, as per [1].
It's a less aggressive workaround, as this one just disables the lowest power state, instead of them all.
Seems to be working pretty well.
[1] https:/ /wiki.archlinux .org/title/ Solid_state_ drive/NVMe# Controller_ failure_ due_to_ broken_ APST_support