SCSI Enclosure Services (SES) is a protocol for more modern SCSI enclosure products. An initiator can communicate with the enclosure using a specialized set of SCSI commands to access power, cooling, and other non-data characteristics.[1]
There are two major classes of SES devices:
The SCSI initiator communicates with an SES device using two SCSI commands: Send Diagnostic and Receive Diagnostic Results. Some universal SCSI commands such as Inquiry are also used with standalone enclosure services to perform basic functions such as initial discovery of the devices.
The SCSI Send Diagnostic and Receive Diagnostic Results commands can be addressed to a specific SES element in the enclosure. There are many different element codes defined to cover a wide range of devices. The most common SES elements are power supply, cooling fan, temperature sensor, and UPS. The SCSI command protocols assume that there may be more than one of each device type so they must be each given an 8-bit address.
When an SES controller is interrogated for the status of an SES element, the response includes a 4-bit element status code. The most common element status codes are: 1h=OK, 2h=critical, 3h=warning, 5h=not installed.
Some SES elements, such as voltage sensors, current sensors, and temperature sensors, have a thresholding function. This allows an enclosure to detect and report unacceptable environmental conditions. The SCSI standard allows for two different threshold levels, noncritical (warning) and critical. Also, each threshold has a minimum and maximum value. So for example the threshold values for the 12 volt power-supply could be set as follows:
Threshold values are set by a Send Diagnostic command to the Threshold Out diagnostic page (05h). Threshold values can be interrogated by a Receive Diagnostic Results command to the Threshold In diagnostic page (05h) with the PCV bit set to one.
A larger SCSI storage enclosure may contain multiple subenclosures. The subenclosure with address 00h is designated the primary subenclosure and can return information about the other subenclosures.
SCSI attached enclosure services is a computer protocol used mainly with disk storage enclosures. It allows a host computer to communicate with the enclosure to access its power, cooling, and other non-data characteristics. The host computer communicates with the disks in the enclosure via a SCSI interface which may be Parallel SCSI, FC-AL, SAS, or SSA. One of the disk devices located in the enclosure is set up to allow SCSI Enclosure Services (SES) communication through a logical unit. The disk-drive then communicates with the SES processor in the enclosure, usually via Enclosure Services Interface (ESI), or a protocol called DSI for SSA enclosures. The data sent over the ESI or DSI interface is simply the contents of a SCSI command and the response to that command.
Only two SCSI commands are implemented by attached enclosure services devices:
SCSI command | Operation code | Comment | |
---|---|---|---|
RECEIVE DIAGNOSTIC RESULTS | 1Ch | Mandatory | |
SEND DIAGNOSTIC | 1Dh | Mandatory |
SCSI standalone enclosure services is a computer protocol used mainly with disk storage enclosures. It allows a host computer to communicate with the enclosure to access its power, cooling, and other non-data characteristics.
The host computer communicates with one or more SCSI Enclosure Services (SES) controllers in the enclosure via a SCSI interface which may be Parallel SCSI, FC-AL, SAS, or SSA. Each SES controller has a SCSI identity (address) and so can accept direct SCSI commands.
The following SCSI commands are implemented by standalone enclosure services devices:
SCSI command | Operation code | Comment | |
---|---|---|---|
ACCESS CONTROL IN | 86h | Optional | |
ACCESS CONTROL OUT | 87h | Optional | |
CHANGE ALIASES | A4h | Optional | |
INQUIRY | 12h | Mandatory | |
LOG SELECT | 4Ch | Optional | |
LOG SENSE | 4Dh | Optional | |
MAINTENANCE IN | A3h | See note 1 | |
MAINTENANCE OUT | A4h | See note 1 | |
MODE SELECT | 15h/55h | Optional | |
MODE SENSE | 1Ah/5Ah | Optional | |
PERSISTENT RESERVE IN | 5Eh | Optional | |
PERSISTENT RESERVE OUT | 5Fh | Optional | |
READ BUFFER | 3Ch | Optional | |
RECEIVE DIAGNOSTIC RESULTS | 1Ch | Mandatory | |
REDUNDANCY GROUP IN | BAh | See note 1 | |
REDUNDANCY GROUP OUT | BBh | See note 1 | |
REPORT ALIASES | A3h | Optional | |
REPORT DEVICE IDENTIFIER | A3h | Optional | |
REPORT LUNS | A0h | Mandatory | |
REPORT PRIORITY | A3h | Optional | |
REPORT SUPPORTED OPERATION CODES | A3h | Optional | |
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS | A3h | Optional | |
REPORT TARGET PORT GROUPS | A3h | Optional | |
REPORT TIMESTAMP | A3h | Optional | |
REQUEST SENSE | 03h | Mandatory | |
SEND DIAGNOSTIC | 1Dh | Mandatory | |
SET DEVICE IDENTIFIER | A4h | Optional | |
SET PRIORITY | A4h | Optional | |
SET TARGET PORT GROUPS | A4h | Optional | |
SET TIMESTAMP | A4h | Optional | |
SPARE IN | BCh | See note 1 | |
SPARE OUT | BDh | See note 1 | |
TEST UNIT READY | 00h | Mandatory | |
VOLUME SET IN | BEh | See note 1 | |
VOLUME SET OUT | BFh | See note 1 | |
WRITE BUFFER | 3Bh | Optional |