Functional Description
5.16.7.2
Power State Transitions
5.16.7.2.1
Partial and Slumber State Entry/Exit
The partial and slumber states save interface power when the interface is idle. The
SATA controller defines PHY layer power management (as performed via primitives) as
a driver operation from the host side, and a device proprietary mechanism on the
device side. The SATA controller accepts device transition types, but does not issue any
transitions as a host. All received requests from a SATA device will be ACKed.
When an operation is performed to the SATA controller such that it needs to use the
SATA cable, the controller must check whether the link is in the Partial or Slumber
states, and if so, must issue a COM_WAKE to bring the link back online. Similarly, the
SATA device must perform the same action.
5.16.7.2.2
5.16.7.2.3
Device D1, D3 States
These states are entered after some period of time when software has determined that
no commands will be sent to this device for some time. The mechanism for putting a
device in these states does not involve any work on the host controller, other then
sending commands over the interface to the device. The command most likely to be
used in ATA/ATAPI is the “STANDBY IMMEDIATE” command.
Host Controller D3HOT State
After the interface and device have been put into a low power state, the SATA host
controller may be put into a low power state. This is performed via the PCI power
management registers in configuration space. There are two very important aspects to
note when using PCI power management.
1. When the power state is D3, only accesses to configuration space are allowed. Any
attempt to access the memory or I/O spaces will result in master abort.
2. When the power state is D3, no interrupts may be generated, even if they are
enabled. If an interrupt status bit is pending when the controller transitions to D0,
an interrupt may be generated.
When the controller is put into D3, it is assumed that software has properly shut down
the device and disabled the ports. Therefore, there is no need to sustain any values on
the port wires. The interface will be treated as if no device is present on the cable, and
power will be minimized.
When returning from a D3 state, an internal reset will not be performed.
5.16.7.2.4
5.16.7.3
Non-AHCI Mode PME# Generation
When in non-AHCI mode (legacy mode) of operation, the SATA controller does not
generate PME#. This includes attach events (since the port must be disabled), or
interlock switch events (via the SATAGP pins).
SMI Trapping (APM)
Device 31:Function2:Offset C0h (see Section 14.1.37) contain control for generating
SMI# on accesses to the IDE I/O spaces. These bits map to the legacy ranges (1F0–
1F7h, 3F6h, 170–177h, and 376h) and native IDE ranges defined by PCMDBA, PCTLBA,
SCMDBA an SCTLBA. If the SATA controller is in legacy mode and is using these
addresses, accesses to one of these ranges with the appropriate bit set causes the
cycle to not be forwarded to the SATA controller, and for an SMI# to be generated. If an
access to the Bus-Master IDE registers occurs while trapping is enabled for the device
being accessed, then the register is updated, an SMI# is generated, and the device
activity status bits (Section 14.1.38) are updated indicating that a trap occurred.
182
Datasheet