SAF-TE
In computer storage, SAF-TE (abbreviated from SCSI Accessed Fault-Tolerant Enclosure) is an industry standard to interface an enclosure in-band to a (parallel) SCSI subsystem in order 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
[edit]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
[edit]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
[edit]- International Blinking Pattern Interpretation (IBPI)
- Out-of-band signaling
- SGPIO (Serial General Purpose Input/Output)
- SCSI Enclosure Services (SES)
- bioctl § SAF-TE
- hw.sensors
References
[edit]External links
[edit]- 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).