Question on SAT re: translation of STANDBY

Gerry.Houlder at seagate.com Gerry.Houlder at seagate.com
Thu Feb 5 14:45:30 PST 2009


* From the T10 Reflector (t10 at t10.org), posted by:
* Gerry.Houlder at seagate.com
*
To answer the question at the end of Bill's email, part of the description
below (fron SBC-3 r17) has been deemed WRONG and is fixed with the wording
changes of 09-054r1. I have added in-line comment pointing out the WRONG
item. Certainly any SAT changes should conform to the 09-054 wording.
In my reading of SAT-2 rev. 6, Table 45 doesn't have any reference at all
to enabling or disabling the standby timer (i.e., setting Count field to
any particular value) in the description of the START STOP UNIT command
translation. Table 46 does set the Count field to zero if the Start bit is
set to zero but there is no reference to a specific action to re-enable the
standby timer when the Start bit is set to one (which should make the drive
active, and reinitialize and start the standby timer if it was enabled in
the mode page per SBC-3). Is this the issue you are pointing out?
	     Bill.Martin at emule						   
	     x.com							   
	     Sent by:							To 
	     owner-t10 at t10.org	       <James.C.Hatfield at seagate.com>	   
	     No Phone Info						cc 
	     Available		       <MOverby at nvidia.com>,		   
				       <Narayan.Ayalasomayajula at emulex.com 
				       >, <owner-t10 at t10.org>,		   
	     02/05/2009 02:30	       <t10 at t10.org>			   
	     PM 						   Subject 
				       RE: Question on SAT re: translation 
				       of STANDBY			   
* From the T10 Reflector (t10 at t10.org), posted by:
* Bill.Martin at Emulex.Com
*
Jim:
Here is the issue:
>From SBC3r17, the standby condition timer is disabled and not re-enabled on
the receipt of a START STOP UNIT command as follows:
	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.
	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).
>GAH: The "disable standby condition timer" should be "enable standby
condition timer".
	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.
.....
At issue here is that with SAT-2 as defined, if a START STOP UNIT command
is processed with the POWER CONDITION field set to ACTIVE, IDLE, or
STANDBY, the standby timer is not disabled until the a START STOP UNIT with
the POWER CONDITION field set to START_VALID and the start bit set to one.
If you follow the SBC standard, the timer is not automatically enabled on
exit from the standby state if the standby state was entered from a START
STOP UNIT command.
Another question is whether the wording under the paragraph about the
CONDITION field set to LU_CONTROL should have the standby condition timer
enabled rather than disabled.
Thanks for any input,
Bill Martin
Emulex
Office of Technology
Industry Standards
916 772-3658
916 765-6875 (Cell)
bill.martin at emulex.com
-----Original Message-----
From: James.C.Hatfield at seagate.com [mailto:James.C.Hatfield at seagate.com]
Sent: Thursday, February 05, 2009 9:27 AM
To: Martin, Bill
Cc: MOverby at nvidia.com; Ayalasomayajula, Narayan; owner-t10 at t10.org;
t10 at t10.org
Subject: RE: Question on SAT re: translation of STANDBY
The way that I read and understand it is
- if STANDBY IMMEDIATE is issued, you go immediately to PM2:Standby
- once you are already in PM2:Standby, the Standby timer is meaningless
      because you are already in the state that the timer would take you
to.
- 'meaningless in PM2:Standby' does NOT mean that the device disables the
standby timer.
      It means that the timer expiring would have no discernable effect.
      It needs to automatically remain enabled when you come out of
PM2:Standby
      for when the device starts executing commands again.
----------------------------
Now, for the translation in question....
If the standby timer must be disabled, then the translation should be
changed to
use STANDBY with a zero timer value. This is equivalent to STANDBY
IMMEDIATE
with the side effect of zeroing (i.e., disabling) the standby timer.
----------------------------------
Thank You !!!
-----------------------------------------------------------------
Jim Hatfield
Seagate Technology LLC
   e-mail:  James.C.Hatfield at seagate.com
   s-mail:  389 Disc Drive;  Longmont, CO 80503 USA
   voice:  720-684-2120
   fax....:  720-684-2766
==========================================
	     Bill.Martin at emule
	     x.com
	     Sent by:							To
	     owner-t10 at t10.org	       <MOverby at nvidia.com>, <t10 at t10.org>
	     No Phone Info						cc
	     Available		       <Narayan.Ayalasomayajula at emulex.com
				       >
								   Subject
	     02/05/2009 09:24	       RE: Question on SAT re: translation
	     AM 		       of STANDBY
I have not seen any response on this, and would like to come to some
closure as to whether there is something that needs modification in SAT-2
related to this issue.	I would like to resolve this before the next
meeting, so that we know if this is a late letter ballot comment.
Thanks,
Bill Martin
Emulex
Office of Technology
Industry Standards
916 772-3658
916 765-6875 (Cell)
bill.martin at emulex.com
From: Martin, Bill
Sent: Saturday, January 31, 2009 2:07 PM
To: 'Mark Overby'; t10 at t10.org
Cc: Ayalasomayajula, Narayan
Subject: RE: Question on SAT re: translation of STANDBY
Mark:
I have looked in ATA8-ACS, and I cannot find the wording that mandates
this.  There is no count field in the STANDBY IMMEDIATE command, but there
is nothing to indicate that the timer is disabled when the device
transitions back to active.  The SCSI command requires that the timer be
disabled until another START STOP UNIT command is received.
Bill Martin
Emulex
Office of Technology
Industry Standards
916 772-3658
916 765-6875 (Cell)
bill.martin at emulex.com
From: Mark Overby [mailto:MOverby at nvidia.com]
Sent: Friday, January 30, 2009 9:13 AM
To: Martin, Bill; t10 at t10.org
Cc: Ayalasomayajula, Narayan
Subject: Re: Question on SAT re: translation of STANDBY
Issuing STANDBY IMMEDIATE forces the timer to be disable until you return
to the active state. (It has an equivalent behavior of the timer going to
zero immediately) (I’m excluding the unload feature of the standby
immediate for simplicity). So I believe it accomplishes what was expected.
Also, when that translation was first created – no timers were supported.
On 1/29/09 11:36 PM, "Bill.Martin at Emulex.Com" <Bill.Martin at Emulex.Com>
wrote:
SAT2r6 states in table 45 that if the power condition is 03 – standby then
“If the ATA flush command was sent (step 2) and completes
without error, then the SATL shall send an ATA STANDBY IMMEDIATE command to
the ATA device;”
However, SBCr17 states that if a 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.
This requires disabling the standby condition timer. This would require
setting the count field to zero in the STANDBY command sent to the ATA
device.
Was there a reason for not setting the count field to zero, or was this an
oversight?  I did not find any comment addressing this in the letter ballot
comments.
Thanks,
Bill Martin
Emulex
Office of Technology
Industry Standards
916 772-3658
916 765-6875 (Cell)
bill.martin at emulex.com
This email message is for the sole use of the intended recipient(s) and may
contain confidential information.  Any unauthorized review, use, disclosure
or distribution is prohibited.	If you are not the intended recipient,
please contact the sender by reply email and destroy all copies of the
original message.
*
* 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