Extended Copy command error reporting
david.black at emc.com
Wed Oct 16 16:10:09 PDT 2013
Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1310163_f.htm">HTML-formatted message</a>
The high-level intent is:
ILLEGAL REQUEST indicates that nothing happened before the error was detected
(e.g., no change to stored data).
COPY ABORTED indicates that something may have happened before the error was
detected (e.g., stored data may have been changed).
In this context, the verb "processing" refers to doing the actions indicated
by the segment descriptor. There is no requirement to validate all the
segment descriptors before processing any of them.
For an out of range LBA error with an ILLEGAL REQUEST sense key, additional
information can be provided via a field pointer in the sense data to indicate
the block count field in the segment descriptor that caused the problem.
From: owner-t10 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Paul Hughes
Sent: Wednesday, October 16, 2013 1:55 PM
To: t10 at t10.org
Subject: Extended Copy command error reporting
I'm uncertain how some types of Extended Copy errors should be reported, for
example whether the copy manager should set the sense key to COPY ABORTED or
In SPC-4 rev 36i, section 184.108.40.206 states:
Errors may occur during processing of an EXTENDED COPY command before GOOD
status is returned because the IMMED bit is set to one or the first segment
descriptor is processed. These errors include CRC or parity errors while
transferring the EXTENDED COPY command, invalid parameters in the CDB or
parameter data, invalid segment descriptors, and inability of the copy
manager to continue operating. In the event of such an exception condition,
the copy manager shall:
a) terminate the EXTENDED COPY command with CHECK CONDITION status;
b) set the sense key to a value that describes the exception condition (i.e.,
not COPY ABORTED); and
c) not return a value in the INFORMATION field (see 4.5.4).
and section 220.127.116.11 states:
Errors may occur after the copy manager has begun processing segment
descriptors or GOOD status has been returned because the IMMED bit was set to
one. These errors include invalid parameters in segment descriptors, invalid
segment descriptors, unavailable CSCDs referenced by CSCD descriptors,
inability of the copy manager to continue operating, and errors reported by a
CSCD. If the copy manager receives CHECK CONDITION status from a CSCD, then
it shall recover the sense data associated with the exception condition and
clear any ACA condition associated with the CHECK CONDITION status.
In both sections, "invalid segment descriptors" is mentioned -- does this
imply that a copy manager can either validate all segment descriptors before
processing the first segment descriptor or validate segment descriptors as
they are processed. I'm also confused what "processing segment descriptors"
means, since it apparently determines whether the sense key is set to COPY
ABORTED or not. Does processing a segment descriptor mean that the copy
manager has begun to issue commands to one or more CSCDs?
For example, how should a copy manager report the following errors?
1) A segment descriptor references a destination CSCD that is write
2) A segment descriptor attempts to copy a range of blocks that exceeds the
maximum LBA of either the source or destination CSCD.
If the copy manager is able to validate all segment descriptors before
starting any copy operations, then it seems Section 18.104.22.168 applies, and the
copy manager shall not set the sense key to COPY ABORTED. However reporting
ILLEGAL REQUEST, LOGICAL BLOCK ADDRESS OUT OF RANGE doesn't specify which
CSCD's maximum LBA was exceeded.
Senior Software Engineer, SolidFire, Inc.
e: phughes at solidfire.com
Advancing the way the world uses the
More information about the T10