White Papers
Windows is targeting to create and mandate a Directed power framework (DFx) for
devices which do not adequately power down the driver and device in a specified
time-frame (Microsoft is currently targeting this to be set to two minutes). Exact
functionality of this behavior is not yet provided.
All devices must support entrance into D3 Hot mode. Upon entrance into D3 hot, the
device must transition to the D3 cold state, to allow the bus controller to enter low
power state. If the device maintains entrance into the D3 hot state, the host
controller, as well as subsequent higher-level components and SOC will not be able
to enter lower a power state.
D3 Hot
The D3 Hot state is the device state for which the device is in near full power off
mode but can still communicate to the bus controller for status and context. Devices
in D3 Hot can re-enumerate through the software operations and not require
hardware interactions. The D3 Hot state indicates that the device requires power to
maintain system state configuration data in a refresh manner (memory, CPU cycles,
and so on.).
D3 Cold
The D3 Cold state is the device state for which all power has been removed from the
device. The device may be able to draw limited power from non-standard channels.
• Devices in the D3 Cold state require hardware methods to reset the device and
provide enumeration. The D3 Cold state indicates that the device does not
require external power and will self-gate power and the context will be saved in
a non-volatile manner.
For more information, see: https://docs.microsoft.com/en-us/windows-
hardware/drivers/kernel/device-sleeping-states#d3cold
Identification
Each device must enumerate, through ACPI or driver methods, a full list of
capabilities and requirements as described by Microsoft. This includes the ability to
support the D3 Hot or D3 Cold device state.
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/wdm/ns-
wdm-_device_capabilities
SOFTWARE REQUIREMENTS
Finally, all software applications and services installed onto a system must be aware
of Modern Standby functionality and concepts as well. Software applications must be