Background operations and power loss expected

Truong Nguyen - SISA tru.nguyen at sisa.samsung.com
Fri Oct 7 01:09:26 PDT 2011


Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1110070_f.htm">HTML-formatted message</a>

Here is the representative text from SAM5r07 sub-clause 5.5:
"Some commands initiate background operations that are processed after
the command is no longer in the task set (i.e., status has been returned
for the command) (e.g., a SEND DIAGNOSTIC command when used to initiate
a background self-test (see SPC-4) or a write command when write cache
is enabled (see SBC-3)). Background operations may be aborted by power
on, hard reset, or logical unit reset. Background operations shall not
be aborted by I_T nexus loss or power loss expected."
The Send Diagnostic initiated background self test is described as an
example of a "background operation" as defined by SAM-5. This is
distinct from the "device specific background function" as defined in
SPC4r32, which explicitly excludes the Send Diagnostic initiated
background self test.
SAM5r07 defines "background operations" as follows:
"3.1.9 background operation: An operation started by a command that
continues processing after the command is no longer in the task set."
This definition would seem to define a background operation as those
initiated by the application client.
Here is the relevant text from SPC4r32, with the power loss expected
event handling introduced by 10-144r3:
"An application client may request that a device server abort a
self-test that is being performed in the background mode by sending a
SEND DIAGNOSTIC command with the SELF-TEST CODE field set to 100b (i.e.,
abort background self-test function). A SCSI target device shall not
abort a self-test being performed in the background mode as the result
of an I_T nexus loss event (see SAM-4). A SCSI target device shall abort
a self-test being performed in the background mode as the result of a
power loss expected event (see SAM-4)."
10-144r3 introduced the notion that a power loss expected event shall
not abort the background self-test, which appears to conflict with
SAM5r07 (and SAM4).
Truong
________________________________
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Gerry
Houlder
Sent: Wednesday, October 05, 2011 11:15 AM
To: T10 Reflector
Subject: Re: Background operations and power loss expected
We tend to think of the device self-test that is kicked off via a SEND
DIAGNOSTIC command to be a host initiated background task, whereas most
other background tasks (e.g., background medium scan) are device
initiated. I think this accounts for the conflict. 
Perhaps SAM-5 should change wording to "Target device initiated
background operations shall not be aborted ...". I think the SEND
DIAGNOSTIC command case is the only host initiated background operation
that is defined in SCSI.
On Wed, Oct 5, 2011 at 12:14 PM, Truong Nguyen - SISA
<tru.nguyen at sisa.samsung.com> wrote:
In 10-144r3 (SPC:4 Self-test and SEND DIAGNOSTIC command clean-up), text
was added to the Self-test operations Background mode model clause,
specifying changes regarding power loss expected handling. Specifically,
in sub-clause 5.8.4.3 Background mode (SPC-4r32), the following text was
added:
"A SCSI target device shall abort a self-test being performed in the
background mode as the result of a power loss expected event (see
SAM-4)."
However, in SAM-4r14 (and in SAM-5r07), the following text is present in
sub-clause 5.5 Command lifetime:
"Background operations shall not be aborted by I_T nexus loss or power
loss expected."
When a power loss expected event occurs, which is the correct behaviour
in terms of the background self-test? Should it be aborted or not be
aborted?
Thanks,
Truong Nguyen
Samsung Information Systems



More information about the T10 mailing list