SAT TEST UNIT READY command translation

Mark Overby MOverby at nvidia.com
Thu Aug 18 16:33:35 PDT 2005


* From the T10 Reflector (t10 at t10.org), posted by:
* "Mark Overby" <MOverby at nvidia.com>
*
To maintain compatibility with SBC-2 (our mantra), I'm in agreement with
Wayne. The SATL has to be consistent.

Option A for me.

-----Original Message-----
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Bellamy,
Wayne
Sent: Thursday, August 18, 2005 11:10 AM
To: Sheffield, Robert L; Evans, Mark; dougg at torque.net; t10 at t10.org
Subject: RE: SAT TEST UNIT READY command translation

* From the T10 Reflector (t10 at t10.org), posted by:
* "Bellamy, Wayne" <Wayne.Bellamy at hp.com>
*
Since the application client is "SCSI" I definitely take the position of
"item A" mentioned by Bob. The host (storage management agent) may
performing checking with media access commands (or any variety of
commands) to ascertain this state does exist before recommending
satisfactory device removal (just one example). Also, if "any
command...say INQUIRY (translated to ATA IDENTIFY DEVICE) or TEST UNIT
READY or REQUEST SENSE causes the non-packet ATA device to spin-up there
may be many ramifications and things to consider/discuss due to the
"polling" nature of such commands.

My vote = item A (safest)

wayne
     

-----Original Message-----
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of
Sheffield, Robert L
Sent: Thursday, August 18, 2005 12:08 PM
To: Evans, Mark; dougg at torque.net; t10 at t10.org
Subject: RE: SAT TEST UNIT READY command translation


* From the T10 Reflector (t10 at t10.org), posted by:
* "Sheffield, Robert L" <robert.l.sheffield at intel.com>
*
Mark,

I believe SBC-2 states that the logical unit shall enter the STOPPED
state after processing a START STOP UNIT with START=0, and I believe
that is often (normally) the state a drive is in immediately after
power-on.

What makes this different from the ATA "Standby" state is the way the
device responds to a media access command.

When a SCSI drive is in the STOPPED state, it will terminate the command
with CHECK CONDITION status with a sense key of NOT READY and the
additional sense code set to LOGICAL UNIT NOT READY, INITIALIZING
COMMAND REQUIRED.

When an ATA drive is in the STANDBY state and it receives a media access
command, it will auto-spinup and execute the command (taking longer than
usual).

For SAT, I'm wondering whether it is appropriate to equate the ATA
STANDBY state to the SCSI STOPPED state. If we do, there are two options
for handling receipt of a media access command while the SATL/ATA device
is in the STOPPED/STANDBY state: A - the SATL "remembers" that the drive
is supposed to be in the STOPPED state and returns CHECK CONDITION
status without accessing the drive, or B - the SATL goes ahead and
issues a media access command to the drive which causes it to spin-up
(enter the ACTIVE state) and execute the command.

Option (A) could be considered a serious burden for a SATL that doesn't
want to maintain persistent data independent of what can be stored on
the medium. Option (B) violates SBC-2 (maybe that's OK as long as SAT
documents it well?).

The only other option I can think of is to reject any command that

Bob

-----Original Message-----
From: Evans, Mark [mailto:Mark_Evans at maxtor.com] 
Sent: Thursday, August 18, 2005 8:10 AM
To: dougg at torque.net; t10 at t10.org
Cc: Sheffield, Robert L
Subject: RE: SAT TEST UNIT READY command translation

Hello,

I'm not sure what is trying to be solved here.  First off, though the
IDLE and STANDBY states are described in SPC, SBC, and SAS (the current
descriptions are based on proposals from me), no SCSI applications of
which I am aware use these states or their corresponding timers.  This
is reflected in the fact that most (if not all) SCSI hard drives do not
implement these states or timers.  I would be happy to make these states
obsolete the next time I write a proposal to update the relevant clauses
in the above standards.  Removing these states would muchly simplify the
state diagrams and descriptions.

With these facts in mind, I mapped only the START bit when I made my
proposal for SAT, as this is what SCSI application DO use for target
power management.  The equivalent ATA state to START = 0 is initiated by
a STANDBY command with a value of zero in Sector Count (i.e., causing
the device to transition to the ATA STANDBY state and disabling the
timer).

The NOTIFY (ENABLE SPINUP) primitive is outside the scope of the SAT
discussion.  Exactly how this primitive is generated inside a box is
magic (aka., "vendor specific").  Quoting SAS 1.1, "...the selection of
when and how often to transmit NOTIFY (ENABLE SPINUP) is outside the
scope of this standard."  How a SATL deals with the primitive is also
magic and outside the scope of the SAT standard.

So, what is the problem?

Regards,

Mark Evans
Maxtor Corporation
500 McCarthy Boulevard
Milpitas, CA  95035

office phone:  408-894-5310
email address:  mark_evans at maxtor.com

-----Original Message-----
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Douglas
Gilbert
Sent: Thursday, August 18, 2005 6:33 AM
To: t10 at t10.org
Cc: robert.l.sheffield at intel.com
Subject: RE: SAT TEST UNIT READY command translation

* From the T10 Reflector (t10 at t10.org), posted by:
* Douglas Gilbert <dougg at torque.net>
*
"Sheffield, Robert L" <robert.l.sheffield at intel.com> wrote:

> This has the result that a SCSI logical unit represented by the SATL
> will never be in the STOPPED state. So, even though the SATL processed

> a START STOP UNIT command with START=0, the device as perceived by the

> SCSI application client will be in the SCSI STANDBY state. The
> response to TEST UNIT READY (assuming no
> errors) should be GOOD status.

That would be consistent.
I have made a small web page to summarize power conditions
(states) across several (draft) standards:
http://www.torque.net/sg/power.html

In the context of SAS there is another power condition (actually
two) to consider: ACTIVE_WAIT. For a SAS disk this is like the STOPPED
state. Media access commands are bounced with NOT READY: LOGICAL UNIT
NOT READY, NOTIFY (ENABLE SPINUP) REQUIRED. One (or more) link layer
NOTIFY (ENABLE SPINUP) primitives are required (from an initiator or an
expander) to transition the SAS disk to ACTIVE power condition. A SAS
transport can also hold a SATA disk in a state similar to ACTIVE_WAIT.
So if there is a SAT layer in a SAS enclosure/expander how will this new
state be reported and transitioned?

> Question: does this cause problems for any SCSI applications
> - that a SAT logical unit will never go into the STOPPED state?

I don't think so.

Doug Gilbert
*
* 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
*
* 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