Diagnosing the Source of the Error
Before attempting fixes, you must determine if the issue is hardware-related or a software conflict introduced by the recent update. The most reliable way to identify the root cause is by examining the kernel ring buffer. Open a terminal and run the following command to filter for storage-related errors:dmesg | grep -iE 'nvme|ata|sd|error'
If you see messages indicating "I/O error," "sector," or "NVMe reset failed," the kernel is struggling to communicate with the SSD. This often happens when a new Linux kernel version does not properly initialize the specific NVMe controller found in 11th Gen Intel ASUS laptops. Another common symptom is the system freezing or becoming extremely sluggish during write operations, which suggests the drive is entering a recovery mode due to bad sectors or controller firmware issues.
It is also crucial to check if the file system itself has become corrupted. Run the following command to verify the integrity of your root partition (replace /dev/nvme0n1p2 with your actual root partition identifier):
sudo fsck /dev/nvme0n1p2
If fsck reports errors, it will attempt to fix them automatically, but you may need to reboot afterward. If the file system is clean, the issue is almost certainly driver-level. For users experiencing similar connectivity issues where the drive is recognized but behaves erratically, reviewing guides on Linux Not Displaying NVME SSD Partitions: Possible Solutions can provide additional context on how the kernel enumerates storage devices.
Updating or Downgrading the Kernel
Since the error occurred after an update, the most likely culprit is the new Linux kernel. Ubuntu 22.04 uses the HWE (Hardware Enablement) stack, which provides newer kernels for older hardware support. However, sometimes these newer kernels introduce regressions for specific laptop models like the Vivobook S15. To test if the current kernel is the problem, you can boot into an older kernel version from the GRUB menu. Restart your computer and holdShift while selecting Advanced options for Ubuntu. Choose a kernel version dated before the update that triggered the issue. If the SSD works correctly in the older kernel, you have confirmed a kernel regression.
You can then choose to stay on the older kernel temporarily or wait for a point release that includes a fix. Alternatively, you can try installing the latest HWE kernel if the current one is outdated, though this is less common for 11th Gen Intel chips which are generally well-supported in standard 5.15 or 6.2 kernels. To manage kernel versions safely, ensure you have enough disk space and use the apt package manager to install or remove specific kernel headers and images.
Adjusting NVMe Controller Parameters
ASUS laptops with 11th Gen Intel processors often face NVMe power management conflicts. The default power-saving state for the NVMe controller might be incompatible with the drive's firmware, leading to read/write timeouts. You can mitigate this by passing specific kernel parameters at boot. Edit the GRUB configuration file by running:sudo nano /etc/default/grub
Find the line starting with GRUB_CMDLINE_LINUX_DEFAULT. Inside the quotes, add the following parameter:
nvme_core.default_ps_max_latency_us=0
This setting disables aggressive power saving states for the NVMe controller, which often resolves intermittent I/O errors. After adding the parameter, save the file and update GRUB by running:
sudo update-grub
Reboot your system. If the errors persist, you might also try disabling ASPM (Active State Power Management) entirely by adding pcie_aspm=off to the same line. This is a more drastic measure but can help isolate power management as the cause. Note that disabling power management may slightly increase battery drain.
Checking Firmware and BIOS Updates
While Ubuntu handles the OS side, the SSD's firmware and the laptop's BIOS play a critical role in stability. ASUS frequently releases BIOS updates that include microcode for NVMe controllers. Check the ASUS support website for your specific Vivobook S15 S533 model and download the latest BIOS and SSD firmware updates. Install these updates carefully, preferably while plugged into AC power. A mismatched BIOS and SSD firmware version can cause the operating system to misinterpret status registers, leading to false read/write errors. If you recently updated Windows alongside Ubuntu, ensure that Fast Startup is disabled in Windows, as it can lock the NVMe drive in a hibernated state that Linux cannot easily access. For those dealing with broader storage performance issues, such as significant slowdowns rather than outright errors, consulting Linux SSD Showing Significant Slow Write Speeds: A Tech Support Guide might offer complementary solutions regarding I/O schedulers and block layer tuning.Verifying Hardware Health
If software fixes fail, the SSD itself may be failing. Usesmartctl from the smartmontools package to check the drive's health attributes. Install the tool if necessary:
sudo apt install smartmontools
Then run:
sudo smartctl -a /dev/nvme0n1
Look for the "Media Errors" or "Uncorrectable Sector Count" fields. If these values are increasing, the drive is physically degrading. In this case, back up your data immediately and consider replacing the SSD. Software troubleshooting cannot repair physical NAND flash degradation.
Frequently Asked Questions
Can I recover data if the SSD shows read errors?
If the file system is intact but individual files are unreadable, you can use tools like ddrescue to clone the drive to a healthy storage medium. Avoid writing any new data to the affected SSD to prevent further corruption. For complex partition table issues, refer to guides on recovering overwritten partition tables.
Why does the error happen only after waking from suspend?
This is a classic sign of NVMe power management conflicts. The drive fails to wake up from its low-power state correctly. Adding the nvme_core.default_ps_max_latency_us=0 kernel parameter usually resolves this specific symptom by forcing the drive to remain active.
Is it safe to disable ASPM on my ASUS laptop?
Yes, it is safe. Disabling ASPM prevents the PCIe link from entering deep sleep states, which stabilizes communication with the NVMe drive. The trade-off is a minor increase in power consumption, which is acceptable if system stability is prioritized over battery life.
How do I know if my SSD firmware needs updating?
Check the current firmware version using smartctl -a /dev/nvme0n1 and compare it with the version listed on the manufacturer's website. If a newer version is available, download the update utility from the vendor and follow their instructions, ensuring you have a full backup first.
What should I do if fsck finds too many errors?
If fsck reports thousands of errors, the file system structure may be severely damaged. Do not ignore these warnings. Attempt to mount the drive in read-only mode to extract critical data, then reformat the drive if it is still under warranty. Consider professional data recovery services if the data is irreplaceable.