SCSI Enclosure Services

Most recent SCSI enclosure products support a protocol called SCSI Enclosure Services (SES). The initiator can communicate with the enclosure using a specialized set of SCSI commands to access power, cooling, and other non-data characteristics.

SES devices

There are two major classes of SES devices:

  • Attached enclosure services devices allow SES communication through a logical unit within one SCSI disk drive located in the enclosure. The disk-drive then communicates with the enclosure by some other method, the only commonly used one being Enclosure Services Interface (ESI). In fault-tolerant enclosures, more than one disk-drive slot has ESI enabled to allow SES communications to continue even after the failure of any of the disk-drives. The definition of the ESI protocols is owned by an ANSI committee and defined in their specifications ANSI SFF-8067 and SFF-8045.
  • Standalone enclosure services enclosures have a separate SES processor which occupies its own address on the SCSI bus. The protocol for this uses direct SCSI commands. An enclosure can be fault-tolerant by containing two SES processors.

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:

  • Minimum critical - 10.8 volts
  • Minimum noncritical - 11.4 volts
  • Maximum noncritical - 12.6 volts
  • Maximum critical - 13.2 volts

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
gollark: Well, you could make the water float.
gollark: Wait, you can push relevant stuff to *above* the "WATER" and that'll work, right?
gollark: Ah.
gollark: Do they only work in lines, or can you put something beside the "AND"s?
gollark: UNLESS you edit the source code/data or find an exploit allowing you to edit it anyway? MWAHAHAHAHAHASFAHFBSHAB SHFAHS FH ASFHAH sdas fjas fas f etcetera.

See also

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.