SAF-TE
In computer storage, SAF-TE (abbreviated from SCSI Accessed Fault-Tolerant Enclosure) is an industry standard to interface an enclosure to a (parallel) SCSI subsystem to gain access to information or control for various elements and parameters. These include temperature, fan status, slot status (populated/empty), door status, power supplies, alarms, and indicators (e.g. LEDs, LCDs).[1] Practically, any given SAF-TE device will only support a subset of all possible sensors or controls.[2]
Scope
Many RAID controllers can utilize a SAF-TE "activated" backplane by detecting a swapped drive (after a defect) and automatically starting a rebuild. A passive subsystem usually requires a manual rescan and rebuild.
A SAF-TE device (SEP) is represented as a SCSI processor device that is polled every few seconds by e.g. the RAID controller software.[1] Due to the low overhead required, impact on bus performance is negligible.[3] For SAS or Fibre Channel systems, SAF-TE is replaced by the more standardized SCSI Enclosure Services (SES).
The most widely used version was defined in the SAF-TE Interface Specification Intermediate Review R041497, released on April 14, 1997 by nStor (now part of Seagate Technology) and Intel.
Command interface
Status requests are performed as READ BUFFER SCSI commands, enclosure action requests as WRITE BUFFER commands.[2]
Command type | Opcode | mandatory / optional | Command | Description |
---|---|---|---|---|
READ BUFFER | 00h | m | Read enclosure configuration | inquire about system components in the enclosure |
01h | m | Read enclosure status | inquire about operational status of enclosure components | |
02h | o | Read usage statistics | fetch information about total usage time and number of power-cycles | |
03h | o | Read device insertions | returns information on how many times a device has been inserted into each enclosure slot | |
04h | m | Read device slot status | returns information on the current state of each slot | |
05h | o | Read global flags | read global flags from processor | |
WRITE BUFFER | 10h | m | Write device slot status | updates state of the slots, essentially drives LEDs, alarms etc. |
11h | o | Set SCSI ID | set the SCSI ID of any device on the channel | |
12h | m | Perform slot operation | prepare a slot for insertion or removal (electronically or mechanically) | |
13h | o | Set fan speed | set rotational speed for each fan | |
14h | o | Activate power supply | turn a power supply on or off | |
15h | m | Send global flags | send global flags to processor (audible alarm; indicators for global failure, global warning, enclosure power, fan/cooling failure, power failure, drive failure, drive warning, array failure, array warning; enclosure lock; enclosure identification) |
See also
- International Blinking Pattern Interpretation (IBPI)
- SGPIO (Serial General Purpose Input/Output)
- SCSI Enclosure Services (SES)
- bioctl § SAF-TE
- hw.sensors
References
- SAF-TE IR 1.0 Introduction
- SAF-TE IR 3.0 SAF-TE Interface
- SAF-TE IR 2.0 SCSI Specification
External links
- www
.safte .org - SAF-TE as part of Intel's IPMI
- SAF-TE Intermediate Review R041497
- Alexander Motin (September 22, 2011). "Enclosure Management in FreeBSD" (PDF).