SCSI Send Diagnostic Command
The SCSI Send Diagnostic command is used to instruct a target device to perform a self-test on a specific LUN. The CDB structure is:
bit→ |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|---|
0 |
Operation code = 1Dh |
|||||||
1 |
SELF-TEST CODE |
PF |
Reserved |
SelfTest |
DevOfl |
UnitOfl |
||
2 |
Reserved |
|||||||
3–4 |
Parameter list length |
|||||||
5 |
Control |
|||||||
The special parameter fields in the CDB have the following meaning:
- PF - Page Format:
- 0 - SCSI-1 compliant (vendor-specific)
- 1 - SCSI-2 compliant (addresses a particular SCSI diagnostic page) as defined in the parameter list. In this case the Send Diagnostic command is usually followed by a Receive Diagnostic Results command.
- SelfTest if this bit is one then the device runs its default self-test. The device will then return either good status or a check condition. This version of the command is usually followed by a Receive Diagnostic Results command. If the SelfTest bit is zero then the device performs a special diagnostic operation as specified in the parameter list.
- DevOfL - Device Off-Line - used in high-availability applications - if this is one then the target is allowed to perform diagnostic operations that could cause it to fail read/write operations to the same from other initiators.
- UnitOfL - Unit Off-Line - similar to DevofL but refers to all LUNs