Drive behavior issue when START STOP unit forces drive to idle power condition

Penokie, George George.Penokie at lsi.com
Thu Jun 5 11:01:16 PDT 2008


* From the T10 Reflector (t10 at t10.org), posted by:
* "Penokie, George" <George.Penokie at lsi.com>
*
Gerry,	(Rob - Look at the end of this)
You should know better than to take things out of context and then start
making all kinds of assumptions. The entire statement from SBC-3 is:
If the START STOP UNIT command is processed with the POWER CONDITION field
set to FORCE_IDLE_0 or FORCE_STANDBY_0, then the device server shall:
a) force the specified timer to zero, cause the logical unit to transition to
the specified power condition, and return control of the power condition to
the device server; or
b) terminate a START STOP UNIT command that selects a timer that is not
supported by the device server or a timer that is not active. The device
server shall terminate the command with CHECK CONDITION status with the sense
key set to ILLEGAL REQUEST and the additional sense code set
to INVALID FIELD IN CDB.
You seems to be ignoring the rest of the sentence that states "cause the
logical unit to transition to the specified power condition, and return
control of the power condition to the device server". It quit clearly states
that the power control is turned back over to the device server. If the mode
page timers have been disabled what would be to the point!
If you read the description of how Power Conditions 1, 2, and 3 are stated
(see below) you will see that it describes how the timers are "disabled" and
that the power conditions are no longer under the "control" of the logical
unit. (looks like we do have a logical unit verse device server wording that
needs to be fixed but that does not effect anything).
If the START STOP UNIT command is processed with the POWER CONDITION field
set to ACTIVE, IDLE, or STANDBY, then:
a) the logical unit shall transition to the specified power condition; and
b) the device server shall disable the idle condition timer if it is active
(see SPC-4) and disable the standby condition timer if it is active (see
SPC-4) until another START STOP UNIT command is processed that returns
control of the power condition to the logical unit, or a logical unit reset
occurs.
And even if you still refuse to accept that the wording is clear power
condition 7 has only one purpose and that is to instruct the device server
(or logical unit if you prefer) to start using the timers again. This is
currently stated incorrectly (more on this below) as:
If the START STOP UNIT command is processed with the POWER CONDITION field
set to LU_CONTROL, then the device server shall enable the idle condition
timer if it is active (see SPC-4) and disable the standby condition timer if
it is active (see SPC-4).
Now I have to go off on a tangent.
The "disable" in the above is not correct. This statement was rewritten
between revision 15 and 15a of SBC-2. However, I can find no letter ballot
comments or proposals that requests such a change. (Rob can you look into
this)
The correct wording as stated in SBC-2 r15 was:
If the START STOP UNIT command is issued with the POWER CONDITIONS field set
to LU_CONTROL, then the device server shall enable the idle condition timer
and the standby condition timer if they are active (see SPC-3).
In SBC-2 r15a it was changed to:
If the START STOP UNIT command is received with the POWER CONDITION field set
to LU_CONTROL, then the device server shall enable the idle condition timer
if it is active (see SPC-3) and disable the standby condition timer if it is
active (see SPC-3).
For that change to be correct the "disable" should be "enable".
Bye for now,
George Penokie
LSI Corporation
3033 41st St. NW
Suite 100
Rochester, MN 55901
507-328-9017
george.penokie at lsi.com
-----Original Message-----
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of
Gerry.Houlder at seagate.com
Sent: Thursday, June 05, 2008 9:38 AM
To: t10 at t10.org
Subject: RE: Drive behavior issue when START STOP unit forces drive to idle
power condition
* From the T10 Reflector (t10 at t10.org), posted by:
* Gerry.Houlder at seagate.com
*
I looked at Power Condition codes Ah and Bh. The description for these codes
is "force xxx condition timer to zero". I interpret this to mean setting the
associated timer to 0 and the timer value stays set to zero.
The effect of this is to force the device to that idle mode immediately after
the completion of every command. Everyone I talk to thinks this behavior is
horrible (big performance hit, extra wear on mechanical parts, more power
consumption than staying in active condition if commands arrive at intervals
of 1 second apart or less).
If you are saying that the intent of these two condition codes is to force
the drive immediately to a particular power condition but leave all timers on
mode page 1Ah active, same timer value as currently set in the timers, and
the timers will restart after completion of the next command that changes
power conditon to active then I would concede this does what I want. The
current description sure doesn't say this, however.
Does anyone actually implement these options? If so, how did you interpret
the behavior?
I see the current behavior description of these two options as completely
undesireable.
(a) I would propose obsoleting these if others feel the same way and
implementing a new bit to achieve the behavior I want (a reply from Fred
Knight suggested this).
(b)  I could also redefine power condition options Ah and Bh to do what I
want if no one has actually implemented them as described today. Since this
would require canvassing the industry for implementions first, this seems
more risky.
	     "Penokie, George"
	     <George.Penokie at l
	     si.com>							To
	     No Phone Info	       "Gerry.Houlder at seagate.com"
	     Available		       <Gerry.Houlder at seagate.com>,
				       "t10 at t10.org" <t10 at t10.org>
									cc
	     06/02/2008 05:10
	     PM 						   Subject
				       RE: Drive behavior issue when START
				       STOP unit forces drive to idle
				       power condition
Gerry,
The ability to use the Start/Stop Unit command in cooperation with the Power
Condition mode page is already defined in the Start/Stop Unit command. The
Power Condition field codes Ah and Bh allow the application to force a change
to a different power condition without disabling the timers.
In addition, if the application does use the Start/Stop Unit command to
control the power conditions manually using Power Conditions 1h, 2h, or 3h it
can switch over to using the Power Condition mode page any time by issuing a
Start/Stop Unit command with the Power Condition set to 7h.
Bye for now,
George Penokie
LSI Corporation
3033 41st St. NW
Suite 100
Rochester, MN 55901
507-328-9017
george.penokie at lsi.com
-----Original Message-----
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of
Gerry.Houlder at seagate.com
Sent: Thursday, May 29, 2008 3:55 PM
To: t10 at t10.org
Subject: Drive behavior issue when START STOP unit forces drive to idle power
condition
* From the T10 Reflector (t10 at t10.org), posted by:
* Gerry.Houlder at seagate.com
*
While working on my additional idle power conditions proposal (08-184) I
encountered this issue with using START STOP UNIT command to force the drive
to idle mode.
Situation: initiator sends START STOP UNIT command that forces drive to idle
power condition. As defined today, this action disables any timers on the
Power Condition Mode page (page 0x1A) that happen to be enabled. Later a
media access command causes the drive to transition to active state to
process the command. Since the timers are disabled, the drive will stay in
active state until another START STOP UNIT command is sent.
Problem: With multi-initiator systems, will all the initiators know to send a
START STOP UNIT command to put the drive back to idle to conserve power?
If not, a drive that at least one initiator thinks is in an idle power
condition (conserving power) may actually be in active power condition for
long periods of time.
Possible solution: change the START STOP UNIT command behavior so that
sending the command causes the drive to transition immediately to the
requested power condition but don't disable the timers. Then if the drive
goes to active power condition to process a media access command, it will
still go to idle  power condition based on the timers. This would at least
limit the unnecessary active time of the drive to the values set in the
timers.
I'd like to hear what other companies think of this situation. Will drives
always be fully manged in a multi-initiator system so the stated problem will
not be an issue or should something be changed to limit the impact of this
issue? Are there existing implementations that use the current START STOP
UNIT behavior? If not, perhaps we can consider changing the behavior.
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org



More information about the T10 mailing list