Misplaced Pages

Enclosure Services Interface

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Enclosure Services Interface" – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this message)

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:

ESI interface

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 name Function
SEL_0/D0 Data bus bit 0
SEL_1/D1 Data bus bit 1
SEL_2/D2 Data bus bit 2
SEL_3/D3 Data bus bit 3
SEL_4/-ENCL_ACK The enclosure clocks this to acknowledge a read or write data transfer
SEL_5/-DSK_RD The disk-drive clocks this to send a NIBL of data to the enclosure
SEL_6/-DSK_WR The 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:

Phase Function
Discovery phase Disk-drive tests that the enclosure is SFF-8067 compliant
Command phase Disk-drive sends the SCSI CDB to the enclosure (similar to the write phase)
Either Read phase Disk-drive sends diagnostic page data to the enclosure
or Write phase Disk-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.

Category: