SPC-4: Late letter ballot comment READ ATTRIBUTE

Kevin D Butt kdbutt at us.ibm.com
Fri Mar 29 10:41:50 PDT 2013


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

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:
cache=0b:
Medium not present:
cached attribute information exists;
The response should be NOT READY, MEDIUM NOT PRESENT
cached attribute information does not exist; 
The response should be NOT READY, MEDIUM NOT PRESENT
Medium present but MAM is not accessible:
cached attribute information exists; 
The response should be MEDIUM ERROR, LOGICAL UNIT NOT READY AUXILIARY 
MEMORY NOT ACCESSIBLE
cached attribute information does not exist; 
The response should be MEDIUM ERROR, LOGICAL UNIT NOT READY AUXILIARY 
MEMORY NOT ACCESSIBLE
Medium present but MAM is not operational 
The response should be MEDIUM ERROR, AUXILIARY MEMORY READ ERROR
cache=1b:
Medium not present:
cached attribute information exists; 
The response should be GOOD status with attributes returned.
cached attribute information does not exist; 
The response should be NOT READY, MEDIUM NOT PRESENT
Medium present but MAM is not accessible:
cached attribute information exists; 
The response should be GOOD status with attributes returned.
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>>
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



More information about the T10 mailing list