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