SPC-4: Late letter ballot comment READ ATTRIBUTE

Gerry Houlder gerry.houlder at seagate.com
Fri Mar 29 12:03:43 PDT 2013


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

Reading through all of your explanations, it seems like it is getting
complicated. Maybe it would be easier to express the rules as a table with
4 columns:
cache bit (0 or 1), Medium present (yes or no), MAM accessible (yes or no),
Attribute Information exists (yes or no);
plus a description column that explains the response for each case? There
seems to be about 4 possible responses to be doled out among the possible
cases.
On Fri, Mar 29, 2013 at 12:41 PM, Kevin D Butt <kdbutt at us.ibm.com> wrote:
> I have noticed an issue with SPC-4 READ ATTRIBUTE command and the new
> CACHE bit. The definition seems to be incomplete and misses the case where
> cache=1b, the medium is present but there is no attribute data cached.
>
> I am requesting a late letter ballot comment to address this issue of
> cache=1b, MAM inaccessible, and not attribute information is cached.
>
> SPC-4 in the beginning of the READ ATTRIBUTE command should be modified to
> read:
>
> If the medium is present<< and the cache bit is set to zero>> but the
> medium auxiliary memory is not accessible, the READ ATTRIBUTE command shall
> be terminated with CHECK CONDITION status, with the sense key set to MEDIUM
> ERROR, and the additional sense code set to LOGICAL UNIT NOT READY,
> AUXILIARY MEMORY NOT ACCESSIBLE.
>
> If the medium auxiliary memory is not operational, the READ ATTRIBUTE
> command shall be terminated with CHECK CONDITION status, with the sense key
> set to MEDIUM ERROR, and the additional sense code set to AUXILIARY MEMORY
> READ ERROR.
>
> and in the description of the CACHE bit:
>
> A CACHE bit set to one specifies that, if medium is not present, then the
> device server may report attribute information cached from the most
> recently mounted medium. A CACHE bit set to zero specifies that the
> device server shall not report attribute information cached from the most
> recently mounted medium. The READ ATTRIBUTE command shall be terminated
> with CHECK CONDITION status, with the sense key set to NOT READY, and the
> additional sense code set to MEDIUM NOT PRESENT if the CACHE bit set to:
> a) zero, and medium auxiliary memory is not accessible because there is no
> medium present; or
> b) one, and the device server does not have a cache of attribute
> information read from the most recently mounted medium <<and the medium
> is not present>>.
>
> <<The READ ATTRIBUTE command shall be terminated with CHECK CONDITION
> status, with the sense key set to MEDIUM ERROR, and the additional sense
> code set to LOGICAL UNIT NOT READY, AUXILIARY MEMORY NOT ACCESSIBLE is the
> cache bit is set to one and the device server does not have a cache of
> attribute information read from the most recently mounted medium and the
> medium auxiliary memory is not accessible.>>
>
> If medium is mounted and the CACHE bit is supported, then <<attribute
> information shall be reported for the mounted medium and >>the CACHE bit
> shall be ignored.
>
> Attribute information from cache may or may not be the complete set of
> attribute information from the most recently mounted medium. The device
> server shall clear cached attribute information at the start of a medium
> load.
>
> ==== Explanation ====
> Since the requirement is "shall clear cached attribute information at the
> start of a medium load" it is possible, even if cache=1b, to have no cached
> attributes when medium is present and MAM is not accessible.	This would be
> during the first part of the load.  This case was previously ignored when
> the cache bit was brought in.
>
> The unique conditions are:
>
>    1. cache=0b:
>	1. Medium not present:
>	   1. cached attribute information exists;*
>	   The response should be NOT READY, MEDIUM NOT PRESENT*
>	   2. cached attribute information does not exist;*
>	   The response should be NOT READY, MEDIUM NOT PRESENT*
>	2. Medium present but MAM is not accessible:
>	   1. cached attribute information exists;*
>	   The response should be MEDIUM ERROR, LOGICAL UNIT NOT READY
>	   AUXILIARY MEMORY NOT ACCESSIBLE*
>	   2. cached attribute information does not exist;*
>	   The response should be MEDIUM ERROR, LOGICAL UNIT NOT READY
>	   AUXILIARY MEMORY NOT ACCESSIBLE*
>	3. Medium present but MAM is not operational*
>	The response should be MEDIUM ERROR, AUXILIARY MEMORY READ ERROR*
>    2. cache=1b:
>	1. Medium not present:
>	   1. cached attribute information exists;*
>	   The response should be GOOD status with attributes returned.*
>	   2. cached attribute information does not exist;*
>	   The response should be NOT READY, MEDIUM NOT PRESENT*
>	2. Medium present but MAM is not accessible:
>	   1. cached attribute information exists;*
>	   The response should be GOOD status with attributes returned.*
>	   2. cached attribute information does not exist;*
>	   The response should be MEDIUM ERROR, LOGICAL UNIT NOT READY
>	   AUXILIARY MEMORY NOT ACCESSIBLE
>	   <<Note that this case is not specified in the standard, but is
>	   what logically follows>>*
>	3. Medium present but MAM is not operational*
>	The response should be MEDIUM ERROR, AUXILIARY MEMORY READ ERROR*
>
>
> Kevin D. Butt
> SCSI & Fibre Channel Architect, Tape Firmware
> Data Protection & Retention
> MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
> Tel: 520-799-5280
> Fax: 520-799-2723 (T/L:321)
> Email address: kdbutt at us.ibm.com
> http://www-03.ibm.com/servers/storage/



More information about the T10 mailing list