How does MS Windows 10/11 handle suspend on modern laptops without ACPI S3 (suspend to RAM) but with disk encryption?

  Kiến thức lập trình

On modern Intel-based laptops the traditional “suspend to RAM” (STR), using the ACPI S3 BIOS functionality, has been removed. Instead systems are doing ACPI S0, which results in the CPU keeping beeing powered when I close the laptop lid. This heats up my bag when the “sleeping” laptop is in its usual neoprene sleeve.

During “just close the laptop lid” sleep

  • in ACPI S3, the battery would decrease only 1% or so per day.

  • in ACPI S0, the battery percentage decreases by approx. 1% per hour.

My guess is that Windows will wake up from S0 after some time and then “suspend to disk”, reducing power usage. A problem with suspend to disk, of course, exists when the disk is encrypted. The encryption key cannot be stored in RAM anymore (as in S0/S3) and if we store it to disk it could be read by a threat actor (something like an “evil maid attack”). There could be the possibility of using CMOS NVRAM or some sort of secure enclave? Again, this could be attacked.

My questions:

  1. Is it true that current Windows versions switch from ACPI S0 to suspend to disk? After which time?
  2. If so, where are disk encryption keys stored?
  3. Is Windows somehow able to reduce power usage in ACPI S0 to a sustainable level, and if so, how? I did my tests (resulting in the 0.7%-1% measurements above) on two laptops (HP, Dell) but under Linux.

I have searched for answers on these questions but could not find much. I would like to have reliable information on these questions, perhaps even with references to documentation I might have overlooked.

Tried: run laptop, measure battery percentage, close lid. Wait overnight. Open lid.

Expected: ACPI S3 was active, computer comes back immediately, <1% battery loss.

What happened: ACPI S0 was active, computer hot in its neoprene sleeve, 10% battery loss heating my bag. Manufacturers said, Intel and Microsoft made them remove ACPI S3 from their BIOS.