Discussion:
[smartmontools-support] Question about standby timer & standby command.
jonghwan Choi
2017-04-14 09:33:16 UTC
Permalink
Hi all

Sorry to bother you.



4.16.2 Power management commands
The CHECK POWER MODE command (see 7.3) allows a host to determine if a
device is in, going to, or leaving
Active mode, Standby mode, or Idle mode. The CHECK POWER MODE command shall
not change the power
mode or affect the operation of the Standby timer.
The IDLE command (see 7.13) and IDLE IMMEDIATE command (see 7.14) move a
device to Idle mode
immediately from the Active mode or Standby mode. The IDLE command also
sets the Standby timer count (i.e.,
enables or disables the Standby timer).
The STANDBY command (see 7.45) and STANDBY IMMEDIATE command (see 7.46)
move a device to
Standby mode immediately from the Active mode or Idle mode. The STANDBY
command also sets the Standby
timer count.
The SLEEP command (see 7.43) moves a device to Sleep mode. The device's
interface becomes inactive (see
the applicable transport standard) after the device reports command
completion for the SLEEP command. A
device only transitions from Sleep mode after processing a hardware reset
or a software reset.


4.16.3 Standby timer
The Standby timer provides a method for the device to enter Standby mode
from either Active mode or Idle mode
following a host programmed period of inactivity. If:
a) the Standby timer is enabled;
b) the device is in the Active mode or the Idle mode; and
c) the Standby timer expires,
then the device enters the Standby mode if no media access command is
received.
If a media access command is received and the Standby timer is enabled, the
Standby timer is:
a) reinitialized to the value specified by the most recent IDLE command
(see 7.13) or STANDBY command
(see 7.45); and
b) started.
If the Standby timer is disabled, the device may automatically enter
Standby mode after a vendor specific time
has expired for a vendor specific reason.


I have a question about Standby timer.

According to ACS spec, the device can enter into Standby mode.
"The STANDBY command (see 7.45) and STANDBY IMMEDIATE command (see 7.46)
move a device to
Standby mode immediately from the Active mode or Idle mode. The STANDBY
command also sets the Standby
timer count."

What I understood is :
If the standby command is executed with sector count zero(disable standby
timer), it enters the standby mode immediately)
But If the standby command is executed with sector count non-zero, it does
not enter the standby mode immediately but it enters the standby mode when
the timer expires.
(The standby command is executed as a standby timer when the sector count
is not zero.)

Is it right that I understood it?

Thanks
Best Regards.!
Dan Lukes
2017-04-17 05:24:31 UTC
Permalink
"The STANDBY command (see 7.45) and STANDBY IMMEDIATE command (see 7.46) move a device to Standby mode immediately from the Active mode or Idle mode. The STANDBY command also sets the Standby timer count."
...
But If the standby command is executed with sector count non-zero, it does
not enter the standby mode immediately but it enters the standby mode when
the timer expires.
I understand it different way. STANDBY (IMMEDIATE) command puts disk
into Standby mode regardless the timer setting operation (e.g. all the
times). Moreover it can modify Standby Time Counter configuration.

If you wish not to put drive into Standby use IDLE (IMMEDIATE) command
instead.
Is it right that I understood it?
Such question is rather meaningless ;-)

Most important question is - how the author of particular drive firmware
has understood it.

Dan
Christian Franke
2017-04-17 11:45:47 UTC
Permalink
Post by Dan Lukes
"The STANDBY command (see 7.45) and STANDBY IMMEDIATE command (see 7.46) move a device to Standby mode immediately from the Active mode or Idle mode. The STANDBY command also sets the Standby timer count."
...
But If the standby command is executed with sector count non-zero, it does
not enter the standby mode immediately but it enters the standby mode when
the timer expires.
I understand it different way. STANDBY (IMMEDIATE) command puts disk
into Standby mode regardless the timer setting operation (e.g. all the
times). Moreover it can modify Standby Time Counter configuration.
Correct. Both commands causes drive to enter standby mode. The STANDBY
command also modifies the timer configuration.

These commands exist since the early days. Quote from X3T10/791D
Revision 4c (ATA[-1], 1994):

"
9.25 Standby
This command causes the drive to enter the Standby Mode. ...

If the Sector Count Register is non-zero then the automatic power down
sequence shall be enabled and the timer will begin counting down when the
drive returns to Idle mode. If the Sector Count Register is zero then the
automatic power down sequence shall be disabled.

9.26 Standby immediate
This command causes the drive to enter the Standby Mode. ...
"

The peculiar mapping of Standby Timeout to Sector Count value was later
added in ATA-2 (1996) and is still the same in recent ACS-4 draft (April
2017).

AFAICS there is still no command which could modify the standby timer
configuration without affecting the power mode itself.

Regards,
Christian

Loading...