_From: Hale Landis@SEAGATE X3T9.2/93-167 _Date: 11-03-93 10:32:34 PM _Subject: ATA-2 Power Management (for review only) At the 29 Sep 93 SFF / ATA WG meetings in Milpitas, CA, I was talked into rewriting the Power Management command sections of the ATA specification. Later I joined the group of people helping Steve Finch edit the ATA-2 document. I have prepared the following command descriptions in the proposed ATA-2 command description format. What I present here are the many sections of the ATA-2 document that describe the Power Management Feature Set. A Feature Set is a set of commands or functions that comprise an optional ATA feature (another Feature Set is Read/Set/Write Multiple). I have used x.x, y.y and z.z to represent the section numbers because the section numbers of the ATA-2 document are not assigned yet. Also note that some sentences in this document are from the ATA 4.0 document and my spell checker tells me that there are several words in these sentences that are not real words! First, here is the ATA-2 section that describes the command description format. ============================================================ z.z Command Description Format Each command description in this document includes the following information: Type, Protocol, Inputs, Outputs, Prerequisites, Description, and Errors. TYPE Type defines command category this command belongs to. PROTOCOL Type defines the command protocol this command uses. INPUTS Inputs define the Command Block registers used to pass command parameters to the drive. OUTPUTS Outputs define the information returned by this command in the Command Block registers. PREREQUISITES Prerequisites define any required prerequisite commands or state that must exist before this command can be executed. DESCRIPTION Description is a detailed description of the command's processing. ERRORS Errors define the error conditions that may be signaled by this command. ============================================================ Second, here are the sections that introduce the Power Management Feature Set. ============================================================ x.x. Power Management Feature Set The Power Management Feature Set permits a host to modify the behavior of a drive in a manner which reduces the power required to operate. The Power Management Feature Set provides a set of commands and a timer that enable a drive to implement low power consumption modes. A drive that implements the Power Management feature shall implement the following minimum set functions: 1) A Standby timer 2) Idle command 3) Idle Immediate command 4) Sleep command 5) Standby command 6) Standby Immediate command Additional vendor unique commands and functions are allowed. x.x.1 Power modes The lowest power consumption when the drive is powered on occurs in Sleep Mode. When in Sleep Mode, the drive requires a reset to be activated. The time to respond could be as long as 30 seconds. In Standby Mode the drive interface is capable of accepting commands, but as the media is not immediately accessible, it could take the drive as long as 30 seconds to respond. In Idle Mode the drive is capable of responding immediately to media access requests. A drive in Idle Mode may take longer to complete the execution of a command because it may have to activate some circuitry. In Active mode the drive is capable of responding immediately to media access requests, and commands complete execution in the shortest possible time. During the execution of a media access command a drive shall be in Active mode. x.x.2 Commands The Check Power Mode command allows a host to determine if a drive is currently in, going to or leaving Standby mode. The Idle and Idle Immediate commands move a drive to Idle mode immediately from the Active or Standby modes. The Idle command also sets the Standby Timer count and enables or disables the Standby Timer. The Sleep command moves a drive to Sleep mode. The drive's interface becomes inactive at the completion of the Sleep command. A reset is required to move a drive out of Sleep mode. When a drive exits Sleep mode it may enter Active, Idle or Standby mode. The mode selected by the drive is based on the type of reset received and on vendor unique implementation. The Standby and Standby Immediate commands move a drive to Standby mode immediately from the Active or Idle modes. x.x.3 Standby timer The Standby timer provides a method for the drive to automatically enter Standby mode from either Active or Idle mode following a host programmed period of inactivity. If the Standby timer is enabled and if the drive is in the Active or Idle mode, the drive waits for the specified time period and if no command is received, the drive automatically enters the Standby mode. If the Standby Timer is disabled, the drive will not automatically enter Standby mode. x.x.4 Active to Idle mode transition The transition from Active to Idle mode is vendor specified. A drive may immediately enter Idle mode at the completion of a media access command or there may be a vendor specified delay before Idle mode is entered. It is possible that the Standby timer may be enable for a time period that is less than the normal automatic Active to Idle mode time period. In this case, the drive may move directly from Active to Standby mode. x.x.5 Status In the Active, Idle and Standby modes, the drive shall have Ready status and shall be ready to accept any command. In Sleep mode, the drive's interface is not active. A host shall not attempt to read the drive's status or issue commands to the drive. x.x.6 Power Mode transitions Figure ? shows the minimum set of mode transitions that shall be implemented. ----------------------+ | +--------1-------- ACTIVE -------3---------+ | | | | | +------4-------> <------4-------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | V | | V 5 | IDLE <----------------2--------------- STANDBY | | | -----------------3--------------> | | | | | | | | | | | | | | | | | | | | +-------5--------> SLEEP <------5-------+ | | | <---------------------+ | Resets ------6-----+ 6 | | | | V V (see Path 6) Path 1: An Idle command, Idle Immediate command or vendor unique implementation moves the drive to Idle mode. Path 2: An Idle command or Idle Immediate command moves the drive to Idle mode. Path 3: A Standby command, Standby Immediate or Standby timer expiration moves the drive to Standby mode. Path 4: A Media access command moves the drive to Active mode. Path 5: A Sleep command moves the drive to Sleep mode. Path 6: A reset, either hardware or software, moves the drive to Active, Idle or Standby as specify by the drive vendor. Figure ?. Power Management Modes ============================================================ Third, here are the command description sections. ============================================================ y.y. CHECK POWER MODE TYPE Optional - Power Management Feature Set. PROTOCOL Non-data command. INPUTS None. OUTPUTS The Sector Count register is set to 0 (00h) if the drive is going to, in or leaving Standby mode. The Sector Count register is set to 255 (FFh) if the drive is in Active or Idle mode. PREREQUISITES None. DESCRIPTION If the drive is in, going to, or recovering from the Standby Mode the drive shall set BSY, set the Sector Count register to 0 (00h), clear BSY, and assert INTRQ. If the drive is in Active or Idle Mode, the drive shall set BSY, set the Sector Count register to 255 (FFh), clear BSY, and assert INTRQ. ERRORS Command Abort - The drive does not support the Power Management command set. ------------------------------------------------------------ y.y. IDLE TYPE Optional - Power Management Feature Set. PROTOCOL Non-data command. INPUTS The value in the Sector Count register when the IDLE command is issued shall determine the time period programmed into the Standby Timer. See Table ??. +---------------------+------------------------------+ | Sector Count | Corresponding | | Register contents | Timeout Period | +---------------------+------------------------------+ | 0 (00h) | Timeout Disabled | | 1 - 240 (01h-F0h) | (value * 5) seconds | | 241 - 251 (F1h-FBh) | ((value - 240) * 30) minutes | | 252 (FCh) | 21 minutes | | 253 - 254 (FDh-FEh) | ((value * 6) hours | | 255 (FFh) | 21 minutes 15 seconds | +---------------------+------------------------------+ Table ?? - Automatic Standby Timer Periods OUTPUTS None. PREREQUISITES None. DESCRIPTION This command causes the drive to set BSY, enter the Idle Mode, clear BSY, and assert INTRQ. INTRQ is asserted even though the drive may not have fully transitioned to Idle Mode. If the Sector Count register is non-zero then the Standby Timer shall be enabled. The value in the Sector Count register shall be used to determine the time programmed into the Standby Timer. If the Sector Count register is zero then the Standby Timer is disabled. ERRORS Command Abort - The drive does not support the Power Management command set. ------------------------------------------------------------ y.y. IDLE IMMEDIATE TYPE Optional - Power Management Feature Set. PROTOCOL Non-data command. INPUTS None. OUTPUTS None. PREREQUISITES None. DESCRIPTION This command causes the drive to set BSY, enter the Idle Mode, clear BSY, and assert INTRQ. INTRQ is asserted even though the drive may not have fully transitioned to Idle Mode. ERRORS Command Abort - The drive does not support the Power Management command set. ------------------------------------------------------------ y.y. SLEEP TYPE Optional - Power Management Feature Set. PROTOCOL Non-data command. INPUTS None. OUTPUTS None. PREREQUISITES None. DESCRIPTION This command is the only way to cause the drive to enter Sleep Mode. This command causes the drive to set BSY, prepare to enter Sleep mode, clear BSY and assert INTRQ. The host shall read the Status register in order to clear the interrupt and allow the drive to enter Sleep mode. In Sleep mode the interface becomes inactive. The host shall not attempt to access the Command Block registers while the drive is in Sleep mode. Because some host systems may not read the Status register and clear the interrupt, a drive may automatically deassert INTRQ and enter Sleep mode after a vendor specified time period of not less than 2 seconds. The only way to recover from Sleep Mode is with a software reset or a hardware reset. A drive shall not power on in Sleep Mode nor remain in Sleep Mode following a reset sequence. ERRORS Command Abort - The drive does not support the Power Management command set. ------------------------------------------------------------ y.y. STANDBY TYPE Optional - Power Management Feature Set. PROTOCOL Non-data command. INPUTS The value in the Sector Count register when the STANDBY command is issued shall determine the time period programmed into the Standby Timer. See Table ??. +---------------------+------------------------------+ | Sector Count | Corresponding | | Register contents | Timeout Period | +---------------------+------------------------------+ | 0 (00h) | Timeout Disabled | | 1 - 240 (01h-F0h) | (value * 5) seconds | | 241 - 251 (F1h-FBh) | ((value - 240) * 30) minutes | | 252 (FCh) | 21 minutes | | 253 - 254 (FDh-FEh) | ((value * 6) hours | | 255 (FFh) | 21 minutes 15 seconds | +---------------------+------------------------------+ Table ?? - Automatic Standby Timer Periods OUTPUTS None. PREREQUISITES None. DESCRIPTION This command causes the drive to set BSY, enter the Standby Mode, clear BSY, and assert INTRQ. INTRQ is asserted even though the drive may not have fully transitioned to Standby Mode. If the Sector Count register is non-zero then the Standby Timer shall be enabled. The value in the Sector Count register shall be used to determine the time programmed into the Standby Timer. If the Sector Count register is zero then the Standby Timer is disabled. ERRORS Command Abort - The drive does not support the Power Management command set. ------------------------------------------------------------ y.y. STANDBY IMMEDIATE TYPE Optional - Power Management Feature Set. PROTOCOL Non-data command. INPUTS None. OUTPUTS None. PREREQUISITES None. DESCRIPTION This command causes the drive to set BSY, enter the Standby Mode, clear BSY, and assert INTRQ. INTRQ is asserted even though the drive may not have fully transitioned to Standby Mode. ERRORS Command Abort - The drive does not support the Power Management command set. -- Hale Landis (Hale_Landis@notes.seagate.com) ------------------------------------------------------------------------- Seagate Technology - 920 Disc Drive - Scotts Valley, CA 95066 USA Main Phone 408-438-6550 - Email Problems postmaster@notes.seagate.com Technical Support: BBS 408-438-8771 Fax 408-438-8137 Voice 408-438-8222 -------------------------------------------------------------------------