Enclosure Services Interface

The Enclosure Services Interface (ESI) is a computer protocol used in SCSI enclosures. This is part of a chain of connections that allows a host computer to communicate with the enclosure to access its power, cooling, and other non-data characteristics. This overall approach is called SCSI attached enclosure services:

The host computer communicates with the disks in the enclosure via a Serial SCSI interface (which may be either FC-AL or SAS). One of the disk devices located in the enclosure is set up to allow SCSI Enclosure Services (SES) communication through a LUN. The disk-drive then communicates with the SES processor in the enclosure via ESI. The data sent over the ESI interface is simply the contents of a SCSI command and the response to that command.

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.

ESI electrical interface

The ESI interface was designed to make use of the seven existing "SEL_n" address signals which are used at power-on time for establishing the address (ALPA) of a disk-drive. An extra eighth signal called "-PARALLEL ESI" is used to switch the function of the SEL_n signals.

Signal nameFunction
SEL_0/D0Data bus bit 0
SEL_1/D1Data bus bit 1
SEL_2/D2Data bus bit 2
SEL_3/D3Data bus bit 3
SEL_4/-ENCL_ACKThe enclosure clocks this to acknowledge a read or write data transfer
SEL_5/-DSK_RDThe disk-drive clocks this to send a NIBL of data to the enclosure
SEL_6/-DSK_WRThe disk-drive clocks this to receive a NIBL of data from the enclosure

ESI command sequence

A SCSI Send Diagnostic command or Receive Diagnostic Results command is sent from the host computer to the disk-drive to initiate an SES transfer. The Disk-drive then asserts "-PARALLEL ESI" to begin this sequence of ESI bus phases:

PhaseFunction
Discovery phaseDisk-drive tests that the enclosure is SFF-8067 compliant
Command phaseDisk-drive sends the SCSI CDB to the enclosure (similar to the write phase)
EitherRead phaseDisk-drive sends diagnostic page data to the enclosure
orWrite phaseDisk-drive receives diagnostic page data from the enclosure

Finally, the disk-drive deasserts "-PARALLEL ESI".

The above sequence is just a simple implementation of a 4-bit wide parallel interface which is used to execute a SCSI transaction. If the CDB is for a Send Diagnostic command then the data is sent to a SCSI diagnostic page in the enclosure. If the CDB is for a SCSI Receive Diagnostic Results command then the data is received from a SCSI diagnostic page. No other CDB types are allowed.

Alternatives to ESI

There are two common alternatives ESI:

Specifications

The definition of the ESI protocols is owned by an ANSI committee and defined in their specifications ANSI SFF-8067 and ANSI SFF-8045.

gollark: If you want a server to dial, the esolangs <#627203797021753394>s channel is `YanksTowelBegin`.
gollark: `++help tele`
gollark: Or, er, about 8.
gollark: 8 of them are opted in to apiotelephony™.
gollark: <https://discordapp.com/oauth2/authorize?&client_id=509849474647064576&scope=bot&permissions=68608>
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.