Reserved field validation
Douglas Gilbert
dougg at torque.net
Fri May 27 19:39:09 PDT 2005
* From the T10 Reflector (t10 at t10.org), posted by:
* Douglas Gilbert <dougg at torque.net>
*
Rich,
I don't think there is a way to find out definitively
if a device checks reserved fields but there is
something close.
In SPC-2 INQUIRY had a CmdDt bit to show "command support
data". This included a mask returned by the device
for every SCSI command it supported. A set bit indicated
that the corresponding position in the command was
interpreted by the device.
In SPC-3, CmdDt was removed and a new SCSI command called
REPORT SUPPORTED OPERATION CODES was added that provided
a similar function. Additionally it could handle SCSI
commands that used a service action (i.e. where not
simply defined by cdb[0]).
Alas, support for these features is thin on the ground
in my experience. I have a Fujitsi disk that supports
the INQUIRY CmdDt feature. I have not seen any device
that supports REPORT SUPPORTED OPERATION CODES.
Here is the output from decoding the response to an
INQUIRY with the CmdDt bit set on a MAM 3184 disk:
Supported command list:
00 00 00 00 00 01 Test Unit Ready
01 00 00 00 00 01 Rezero Unit
03 00 00 00 ff 01 Request Sense
04 1f ff 00 00 01 Format Unit
07 00 00 00 00 01 Reasssign Blocks
08 1f ff ff ff 01 Read (6)
0a 1f ff ff ff 01 Write (6)
0b 1f ff ff 00 01 Seek (6)
12 03 ff 00 ff 01 Inquiry
15 11 00 00 ff 01 Mode Select
16 1e 00 00 00 01 Reserve
17 1e 00 00 00 01 Release
1a 08 ff 00 ff 01 Mode Sense
1b 01 00 00 01 01 Start/Stop Unit
1c 00 00 ff ff 01 Receive Diagnostic
1d 17 00 ff ff 01 Send Diagnostic
25 00 ff ff ff ff 00 00 01 01 Read Capacity
28 08 ff ff ff ff 00 ff ff 01 Read (10)
2a 08 ff ff ff ff 00 ff ff 01 Write (10)
2b 00 ff ff ff ff 00 00 00 01 Seek (10)
2e 00 ff ff ff ff 00 ff ff 01 Write Verify
2f 02 ff ff ff ff 00 ff ff 01 Verify
35 02 ff ff ff ff 00 ff ff 01 Synchronize Cache
37 00 1d 00 00 00 00 ff ff 01 Read Defect Data
3b 0f ff ff ff ff ff ff ff 01 Write Buffer
3c 0f ff ff ff ff ff ff ff 01 Read Buffer
3e 02 ff ff ff ff 00 ff ff 01 Read Long
3f 00 ff ff ff ff 00 ff ff 01 Write Long
40 00 01 7f 00 00 00 00 ff 01 Change Definition
41 02 ff ff ff ff 00 ff ff 01 Write Same
4c 03 00 00 00 00 00 ff ff 01 Log Select
4d 01 ff 00 00 ff ff ff ff 01 Log Sense
55 11 00 00 00 00 00 ff ff 01 Mode Select (10)
56 10 00 ff 00 00 00 00 00 01 Reserve (10)
57 10 00 ff 00 00 00 00 00 01 Release (10)
5a 08 ff 00 00 00 00 ff ff 01 Mode Sense (10)
5e 1f 00 00 00 00 00 ff ff 01 Persistent reserve in
5f 1f ff 00 00 00 00 ff ff 01 Persistent reserve out
a0 00 00 00 00 00 ff ff ff ff 00 01 Report luns
a3 1f 00 00 00 00 ff ff ff ff 00 01 Maintenance (in)
a4 1f 00 00 00 00 ff ff ff ff 00 01 Maintenance (out)
b7 1d 00 00 00 00 ff ff ff ff 00 01 Read defect data(12)
Application clients could be a fair bit smarter with
information like this (assuming it is accurate).
I hope SCSI device firmware folks are reading ...
Doug Gilbert
*
* 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