ATA Power Management SATA Device Initiated Power Management DIPM - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

ATA Power Management SATA Device Initiated Power Management DIPM

Description:

Can be tied to drive PM: Standby, Sleep, Idle. SATA interface PM has three states ... Drive PM Sleep, Standby, Idle. If PARTIAL Disabled. X_RDY. 10. 10-5-04. e04149-r0 ... – PowerPoint PPT presentation

Number of Views:747
Avg rating:3.0/5.0
Slides: 11
Provided by: western5
Category:

less

Transcript and Presenter's Notes

Title: ATA Power Management SATA Device Initiated Power Management DIPM


1
ATA Power ManagementSATA Device Initiated Power
Management (DIPM)
ATA/ATAPI T13 / e04149-r0
  • John Masiewicz
  • Western Digital
  • john.masiewicz_at_wdc.com
  • 949-672-7686

John Masiewicz
2
Background
  • SATA Interface Power Management
  • Applies to SATA Phy block only
  • Independent of drive power management
  • Can be tied to drive PM Standby, Sleep, Idle
  • SATA interface PM has three states
  • ACTIVE Phy ready, full power, TX/RX on
  • PARTIAL reduced power, resumes in under 10 us
  • SLUMBER reduced power, resumes in under 10 ms

3
Background
Active
PMREQ_P Primitive
PMREQ_S Primitive
COMWAKE OOB Signal
COMWAKE OOB Signal
SLUMBER
PARTIAL
X
  • Entering PARTIAL or SLUMBER
  • Host or device may send PMREQ_P or PMREQ_S
  • To resume from PARTIAL or SLUMBER, either host
    or device
  • Sends COMWAKE OOB, Receives COMWAKE response, and
    moves to Phy ready.
  • Resumes right where it left off
  • Main question is WHEN should a Device initiate
    SATA PM?

4
Implementation
  • IDENTIFY DEVICE
  • Word 76, Bit 9
  • If 1, Device supports receipt of host initiated
    interface PM
  • Word 78, Bit 3
  • If 1, Device supports initiating interface PM
  • Word 79, Bit 3
  • If 1, Device initiating interface PM is enabled.
  • SET FEATURES command to enable/disable

5
Host Initiated Power Management
  • Host Initiated Interface PM (HIPM)
  • Device should be able to respond to PMREQ_P,
    PMREQ_S COMWAKE, and change Phy Power
    Management state.
  • Device should not NAK PM requests from host.
  • If host issues PMREQ while commands are queued,
    it is better to enter PM and then issue COMWAKE
    to host when a released command is ready for data
    transfer.
  • Exception, data is ready to transfer when PMREQ
    received, and device sends X_RDY (not NAK).
  • Very simple if no commands are outstanding.
  • Device will not exit PM, wait for Host COMWAKE

6
Device Initiated Power Management
  • Device Initiated Interface PM (DIPM)
  • If enabled, Device is manages SATA Interface
    power
  • Based on Command Status and Partial/Slumber
    timers
  • Programmable timers allow for more / less
    aggressive models.
  • Implement two timers
  • Partial Timer (Typically 1-5 ms ?)
  • Slumber Timer (Typically 5-100 ms ?)
  • HW or FW timers, and same timer feature can be
    used for both.
  • May be host programmable, (SET FEATURES or VSC
    commands?)
  • An implementation algorithm is proposed here that
    implements DIPM without new commands or Serial
    Transport Features.

7
Device Initiated Interface PM
  • Recommended DIPM Algorithm
  • Following assumptions are made
  • Device must support SATA PM protocol. (PMREQ_P,
    PMREQ_S)
  • Timer (HW/FW) be used for Partial/Slumber timers.
  • COMWAKE or Phy Ready interrupt to inform link of
    Resume.
  • COMRESET detection still functional while in PM
    modes
  • Some start / Stop Device Initiated PM
    timer/function
  • Algorithm based

8
Device Initiated Interface PM
  • Recommended DIPM Algorithm, continue
  • PARTIAL timer
  • Clear/Stop Partial timer when a transfer starts,
    TX or RX.
  • Load/Start Partial timer when a transfer is
    complete, TX or RX.
  • When timer expires
  • Initiate PARTIAL state.
  • If PARTIAL successful, Load/Start SLUMBER timer.
  • SLUMBER timer
  • When timer expires
  • Transmit COMWAKE to go to ACTIVE.
  • Initiate PMREQ_S to go to SLUMBER state.
  • If host NAKs Slumber, restart PARTIAL timer.

9
Device Initiated Interface PM
Drive PM Sleep, Standby, Idle
POWER UP
SLUMBER STATE
Host or Device COMWAKE
Host PMACK
Host or Device COMWAKE
Host PMNAK
Device COMWAKE
SLUMBER timer Expired
ACTIVE3 Device Init PARTIAL Send PMREQ_P
ACTIVE4 Device Init SLUMBER Send PMREQ_S
Host PMACK
ACTIVE1 Load/Start PARTIAL Timer
PARTIAL1 Load/Start SLUMBER Timer
PARTIAL2 Device Init ACTIVE State
PARTIAL timer Expired
X_RDY
If PARTIAL Disabled
No Commands Pending
Command Received
Rx, Tx Start or Host PMNAK
ACTIVE2 Stop PARTIAL Timer
Device Initiated SATA power management state
machine
10
Device Initiated Interface PM
  • Recommended DIPM, Advantages
  • Easy to implement Vendor Independent
  • No new commands or Serial Transport functions
  • Actions that may start Device Initiated Interface
    PM
  • Any SATA specific Phy PM (Shown in state machine)
  • PATA PM Commands (Shown in state machine)
  • Vendor specific drive PM modes
  • ATA Advance Power Management timer (??)
  • Of course host can initiate PM state change
    anytime
  • Includes PM retry with timers
  • Easily expanded for future mobile enhancements
  • Inter and Intra-command DIPM
Write a Comment
User Comments (0)
About PowerShow.com