NVMe SSDs: Standby Mode Issue

Created on: January 3, 2020
Last updated: February 25, 2020

Drive type: NVMe SSDs running macOS 10.13 or later (as boot volumes)

  • Aura Pro X
  • Aura Pro X2
  • Aura N 

Please note that some customers have reported an issue with our NVMe based SSDs that relates to use of a lesser known macOS 'Sleep' behavior called ’Standby Mode.' By default, some Mac models will enter Standby mode after they have been sleeping for 3 hours. The issue we are investigating is a system crash which can sometimes occur while attempting to wake a Mac from this Standby mode. Afterward a panic log will be displayed. The top few lines of the log will look similar to the code shown below

*** Panic Report ***

panic(cpu 2 caller 0xffffff7f9c8e082a): nvme: "IONVMeController::HandleControllerPowerOff, ShutdownNVMe() completed with status = 0xe00002c9\n"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/IONVMeFamily/IONVMeFamily-356.30.6/IONVMeController.cpp:2011

While we cannot always reproduce it, we have identified the issues being related to Apple's NVMe system resources. We have submitted a bug report to our contact at Apple, and are concurrently evaluating the possibility of a driver-level solution for our customers. In the meantime, please use the simple workaround below to prevent your system from entering Standby mode when it is sleeping.

Workaround

  1. Open the Terminal app
  2. Type the following: 

    sudo pmset -a standby 0 

  3. Press Return
  4. Quit the Terminal

This prevents the computer from entering Standby mode while the computer is in normal Sleep mode. From this point, allowing the computer to return to sleep and then waking the computer, should prevent the kernel panic from occurring. Initial findings suggest this will not significantly impact battery power or related issues. The system should behave as it normally does. To confirm that the above setting was properly set open the macOS System Report, select the 'Power' item in the sidebar, and then check the 'Standby Enabled' value. It should say 0.