SCSI Send Diagnostic Command

From Wikipedia, the free encyclopedia

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→
↓byte
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