# SES-2 Enclosure Management

The introduction of Serial Attached SCSI (SAS) as the most recent evolution of SCSI required redefining the related standard for enclosure management, called SCSI Enclosure Services. SES-2, or SCSI Enclosure Management 2 first revision, was introduced in 2002 and is now at revision 20. SES-2 SCSI Enclosure Services (SES) permit the management and sense the state of power supplies, cooling devices, LED displays, indicators, individual drives, and other non-SCSI elements installed in an enclosure. SES2 alerts users about drive, temperature and fan failures with an audible alarm and a fan failure LED.

## SES-2 commands

The SES-2 command set uses the SCSI SEND DIAGNOSTIC and RECEIVE DIAGNOSTIC RESULTS commands to obtain configuration information for the enclosure and to set and sense standard bits for each element installed in the enclosure. The SEND DIAGNOSTIC command is used to send control information to internal or external LED indicators or to instruct one enclosure element to change its state or perform an operation.
The application client has two mechanisms for accessing the enclosure service process:
    a) Directly to a standalone enclosure services process, for example an enclosure controller chip. SCSI conditions communicated directly include hard reset, logical unit Reset and I_T nexus loss.
    b) Indirectly through a LUN of another peripheral device – for example a drive within the enclosure. The drive will communicate with the Enclosure through the Enclosure Services Interface. In this case the only SCSI device condition communicated through the LUN is hard reset.

## Subenclosures

The SES-2 process handles a single primary subenclosure or multiple subenclosures. In the second case, one primary subenclosure will manage all the other secondary subenclosures.

## Thresholds

Like SES, SES-2 establishes two types of thresholds for elements with limited sensing capability, like voltage, temperature, current etcetera: critical and warning. So for example in the case of temperature we may have:
* High critical threshold: 57c
* High warning threshold: 50c
* Low warning threshold: 7c
* Low critical threshold: 0c
When managed values fall within the warning range, the SES-2 processor will communicate a warning signal to the application client, typically a Host Bus Adapter (HBA). When values fall outside acceptable ranges, depending from the commands supported by the device server, the sense code shall be HARDWARE FAILURE or ENCLOSURE FAILURE.

## Reporting methods

SES-2 lists four types of reporting methods:
* Polling
* Polling based on the limited completion function
* CHECK CONDITION status
* Asynchronous event notification

## The standard

If you are a member of the T10 working group, the Standard, controlled by the T10 technical committee, can be found at:
http://www.t10.org/cgi-bin/ac.pl?t=f&f=ses2r19a.pdf
Due to INCITS policy changes the SCSI T10 drafts for released standards are no longer available online for non-T10 members and must be purchased from INCITS at http://www.incits.org . See the official INCITS policy at http://www.incits.org/rd1/INCITS_RD1.pdf .

## Alternative technologies

SES-2 over I²C is still used for storage backplanes enclosure management, although a competing method for enclosure management communication is now becoming prominent. Serial GPIO (SGPIO), provides a simpler, less expensive solution and is now more widespread than SES-2.

## Existing products using SES-2

American Megatrends’ Backplane controllers, the MG9071 and MG9072 can used either SES-2 or SGPIO for enclosure management with a simple configuration selection.