Question on SAT re: translation of STANDBY

Bill.Martin at emulex.com Bill.Martin at emulex.com
Thu Feb 5 12:30:32 PST 2009


* 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).
	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



More information about the T10 mailing list