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