SCSI Enclosure Services

From HandWiki
Revision as of 17:13, 6 February 2024 by JStaso (talk | contribs) (fixing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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:

  • 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 command Operation code Comment
RECEIVE DIAGNOSTIC RESULTS 1Ch Mandatory
SEND DIAGNOSTIC 1Dh Mandatory

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 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

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

References