SCSI Enclosure Services explained

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]

SES devices

There are two major classes of SES devices:

SES commands

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.

SES elements

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.

SES element thresholds

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.

Subenclosures

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

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.

Implemented commands

Only two SCSI commands are implemented by attached enclosure services devices:

SCSI commandOperation codeComment
RECEIVE DIAGNOSTIC RESULTS1ChMandatory
SEND DIAGNOSTIC1DhMandatory

SCSI standalone enclosure services

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.

Implemented commands

The following SCSI commands are implemented by standalone enclosure services devices:

SCSI command Operation code Comment
ACCESS CONTROL IN86hOptional
ACCESS CONTROL OUT87hOptional
CHANGE ALIASESA4hOptional
INQUIRY12hMandatory
LOG SELECT4ChOptional
LOG SENSE4DhOptional
MAINTENANCE INA3hSee note 1
MAINTENANCE OUTA4hSee note 1
MODE SELECT15h/55hOptional
MODE SENSE1Ah/5AhOptional
PERSISTENT RESERVE IN5EhOptional
PERSISTENT RESERVE OUT5FhOptional
READ BUFFER3ChOptional
RECEIVE DIAGNOSTIC RESULTS1ChMandatory
REDUNDANCY GROUP INBAhSee note 1
REDUNDANCY GROUP OUTBBhSee note 1
REPORT ALIASESA3hOptional
REPORT DEVICE IDENTIFIERA3hOptional
REPORT LUNSA0hMandatory
REPORT PRIORITYA3hOptional
REPORT SUPPORTED OPERATION CODESA3hOptional
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONSA3hOptional
REPORT TARGET PORT GROUPSA3hOptional
REPORT TIMESTAMPA3hOptional
REQUEST SENSE03hMandatory
SEND DIAGNOSTIC1DhMandatory
SET DEVICE IDENTIFIERA4hOptional
SET PRIORITYA4hOptional
SET TARGET PORT GROUPSA4hOptional
SET TIMESTAMPA4hOptional
SPARE INBChSee note 1
SPARE OUTBDhSee note 1
TEST UNIT READY00hMandatory
VOLUME SET INBEhSee note 1
VOLUME SET OUTBFhSee note 1
WRITE BUFFER3BhOptional
Note 1: The initiator needs to send a SCSI inquiry to interrogate the SCCS bit which says whether the SES controller has this command.

See also

Notes and References

  1. Web site: INCITS 518-2017 - Information Technology - SCSI Enclosure Services - 3 (SES-3) . 2023-12-20 . webstore.ansi.org.