Serial general purpose input/output (SGPIO) is a four-signal (or four-wire) bus used between a
host bus adapter
In computer hardware, a host controller, host adapter, or host bus adapter (HBA), connects a computer system bus, which acts as the host system, to other network and storage devices. The terms are primarily used to refer to devices for conne ...
(HBA) and a
backplane
A backplane (or "backplane system") is a group of electrical connectors in parallel with each other, so that each pin of each connector is linked to the same relative pin of all the other connectors, forming a computer bus. It is used as a back ...
. Of the four signals, three are driven by the HBA and one by the backplane. Typically, the HBA is a storage controller located inside a server, desktop, rack or workstation computer that interfaces with
hard disk drive
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with magne ...
s or
solid state drive
A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies to store data persistently, typically using flash memory, and functioning as secondary storage in the hierarchy of computer storage. It is ...
s to store and retrieve data. It is considered an extension of the
general-purpose input/output
A general-purpose input/output (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit (e.g. MCUs/ MPUs ) board which may be used as an input or output, or both, and is controllable by software.
GPIOs have no ...
(GPIO) concept.
The SGPIO specification is maintained by the
Small Form Factor Committee
The Small Form Factor Committee (SFF) is an ''ad hoc'' electronics industry group formed to quickly develop interoperability specifications (as a complement to the traditional standards process).
The SFF Committee was formed in 1990 to define the ...
in the
SFF-8485 standard. The
International Blinking Pattern Interpretation The International Blinking Pattern Interpretation (IBPI) is an internal computer hardware standard.
It defines two items:
# How SGPIO is interpreted into states for drives or slots on a backplane.
# How light emitting diodes (LEDs) on a backplane s ...
indicates how SGPIO signals are interpreted into blinking
light-emitting diode
A light-emitting diode (LED) is a semiconductor device that emits light when current flows through it. Electrons in the semiconductor recombine with electron holes, releasing energy in the form of photons. The color of the light (co ...
s (LEDs) on
disk array
A disk array is a disk storage system which contains multiple disk drives. It is differentiated from a disk enclosure, in that an array has cache memory and advanced functionality, like RAID, deduplication, encryption and virtualization.
Compo ...
s and storage back-planes.
History
SGPIO was developed as an engineering collaboration between American Megatrends Inc, at the time makers of back-planes, and LSI-Logic in 2004. SGPIO was later published by the SFF committee as specificatio
SFF-8485
Host bus adapters
The SGPIO signal consists of 4 electrical signals; it typically originates from a
host bus adapter
In computer hardware, a host controller, host adapter, or host bus adapter (HBA), connects a computer system bus, which acts as the host system, to other network and storage devices. The terms are primarily used to refer to devices for conne ...
(HBA). iPass connectors (Usually SFF-8087 or SFF-8484) carry both SAS/SATA electrical connections between the HBA and the hard drives as well as the 4 SGPIO signals.
Backplanes with SGPIO bus interface
A
backplane
A backplane (or "backplane system") is a group of electrical connectors in parallel with each other, so that each pin of each connector is linked to the same relative pin of all the other connectors, forming a computer bus. It is used as a back ...
is a circuit board with connectors and power circuitry into which hard drives are attached; they can have multiple slots, each of which can be populated with a hard drive. Typically the back-plane is equipped with
LEDs which by their color and activity, indicate the slot's status; typically, a slot's LED will emit a particular color or blink pattern to indicate its current status.
SGPIO interpretation and LED blinking patterns
Although many hardware vendors define their own proprietary LED blinking pattern, the common standard for SGPIO interpretation and LED blinking pattern can be found in the
IBPI The International Blinking Pattern Interpretation (IBPI) is an internal computer hardware standard.
It defines two items:
# How SGPIO is interpreted into states for drives or slots on a backplane.
# How light emitting diodes (LEDs) on a backplane s ...
specification.
On back-planes, vendors use typically 2 or 3 LEDs per slot – in both implementations a green LED indicates presence and/or activity – for back-planes with 2 LEDs per slot, the second LED indicates ''Status'' whereas in back-planes with 3 LEDs the second and third indicate ''Locate'' and ''Fail''.
Electrical characteristics of the SGPIO bus
The SGPIO bus consists of 4 signal lines and originates at the HBA, referred to as the ''initiator'' and ends at a
back-plane, referred to as the ''target''. If a back-plane (or ''target'') is not present the HBA may still drive the bus without any harm to the system; if one does exist, it can communicate back to the HBA using the 4th wire.
The SGPIO bus is an
open collector
An open collector is a common type of output found on many integrated circuits (IC), which behaves like a switch that is either connected to ground or disconnected. Instead of outputting a signal of a specific voltage or current, the output sig ...
bus with 2.0 kΩ pull-up resistors located at the HBA and the back-plane - as on any open collector bus information is transferred by devices on the bus pulling the lines to
ground (GND) using an open collector transistor or open drain
FET
The field-effect transistor (FET) is a type of transistor that uses an electric field to control the flow of current in a semiconductor. FETs (JFETs or MOSFETs) are devices with three terminals: ''source'', ''gate'', and ''drain''. FETs contr ...
.
Signal lines of the SGPIO bus
SClock
The SGPIO bus has a dedicated clock line driven by the initiator (its maximum clock rate is 100 kHz), although many implementations use slower ones (typically 48 kHz).
SLoad
This line is synchronous to the clock and is used to indicate the start of a new frame of data; a new SGPIO frame is indicated by SLoad being high at a rising edge of a clock after having been low for at least 5 clock cycles. The following 4 falling clock edges after a start condition is used to carry a
4-bit
In computer architecture, 4-bit integers, or other data units are those that are 4 bits wide. Also, 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, or data buses of that si ...
value from the HBA to the back-plane; the definition of this value is proprietary and varies between system vendors.
SDataOut
This line carries 3 bits of data from the HBA to the backplane: the first bit typically carries ''activity''; the second bit carries ''locate''; and the third bit carries ''fail''. A low value for the first bit indicates ''no activity'' and a high value indicates ''activity''.
SDataIn
This line is used by the back-plane and indicates some condition on the back-plane back to the HBA. The first bit being high commonly indicates the presence of a drive. The two following bits are typically unused, and driven low. Because this line would be high for all 3 bits when no backplane is connected, an HBA can detect the presence of a back-plane by the second or third bit of the SDataIn being driven low.
The SDataIn and SdataOut then repeats with 3 clocks per drive until the last drive is reached, and the cycle starts over again.
SGPIO implementation
There are varieties in how the SGPIO bus is implemented between vendors of HBAs and storage controllers - some vendors will send a continuous stream of data which is advantageous to quickly update the LEDs on a backplane after cables are removed and re-inserted, while others send data only when there is a need to update the LED pattern.
Adoption of the SGPIO specification
SGPIO and the SGPIO spec. is generally adopted and implemented in products from most major HBA and storage controller vendors such as
LSI,
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
,
Adaptec
Adaptec was a computer storage company and remains a brand for computer storage products. The company was an independent firm from 1981 to 2010, at which point it was acquired by PMC-Sierra, which itself was later acquired by Microsemi, which itse ...
,
Nvidia
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
,
Broadcom
Broadcom Inc. is an American designer, developer, manufacturer and global supplier of a wide range of semiconductor and infrastructure software products. Broadcom's product offerings serve the data center, networking, software, broadband, wirel ...
,
Marvell Technology Group and
PMC-Sierra
PMC-Sierra was a global fabless semiconductor company with offices worldwide that developed and sold semiconductor devices into the storage, communications, optical networking, printing, and embedded computing marketplaces.
On January 15, 2016, ...
. Most products shipping with support for
SAS and
SATA
SATA (Serial AT Attachment) is a computer bus interface that connects host bus adapters to mass storage devices such as hard disk drives, optical drives, and solid-state drives. Serial ATA succeeded the earlier Parallel ATA (PATA) standard t ...
drives support this standard.
SGPIO timeout conditions
The SGPIO spec calls for the target to turn off all indicators when SClock, SLoad and SDataOut have been high for 64 ms; in practice this is not consistently followed by all vendors. Also, in some vendors' implementations the clock may be halted sporadically or stopped during or between cycles. Another — rather impractical — variation between vendors is the state in which the clock is left after a cycle.
Backplane Implementations of the SGPIO bus
The idea behind this specification was to be able to use low cost
CPLDs or
microcontrollers
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programmabl ...
on a back-plane to drive LEDs; in practice, it has been found that there are variations in timing and interpretations of the bits between vendors, thus a simple CPLD would only work for a specific implementation thoroughly tested with one product from one vendor. A microcontroller is more applicable for this purpose, although the 4-bit SGPIO interface custom bus is not implemented on them - sampling of the 4-bit lines using
GPIO
A general-purpose input/output (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit (e.g. MCUs/ MPUs ) board which may be used as an input or output, or both, and is controllable by software.
GPIOs have no ...
s 100 kHz bit operations is too slow for many low-cost microcontrollers to handle whilst handling LED and other functions simultaneously. The length of the bit stream varies between HBA or storage controller; some vendors will stop the bit-stream when reaching the desired drive, while others will clock it all the way through. Some SAS-expander's bit streams may be as long as 108 (36×3) bits.
The safest implementation which ensures compatibility between all HBA and storage controller vendors is to use an
ASIC, specifically, a combination of a microcontroller core with a hardware SGPIO interface; this concept was patented in 2006 by
AMI
AMI or Ami may refer to:
Arts, entertainment and media
*AMI-tv, a Canadian TV channel
**AMI-télé, the French-language version
* AMI-audio, a Canadian audio broadcast TV service
*''Ami Magazine'', an Orthodox Jewish news magazine
Businesses ...
and implemented in a series of backplane controller chips named the
MG9071,
MG9072,
MG9077, and
MG9082.
These chips will receive 1 or 2 SGPIO streams and drive LEDs accordingly; the latest chip from AMI, the
MG9077, can be configured by pull-up and pull-down resistors to adopt to 16 different configurations of SGPIO buses and drive the LEDs accordingly. Since the availability of these chips from AMI, major
OEMs
An original equipment manufacturer (OEM) is generally perceived as a company that produces non-aftermarket parts and equipment that may be marketed by another manufacturer. It is a common industry term recognized and used by many professional or ...
including
NEC
is a Japanese multinational information technology and electronics corporation, headquartered in Minato, Tokyo. The company was known as the Nippon Electric Company, Limited, before rebranding in 1983 as NEC. It provides IT and network soluti ...
,
Hitachi,
Supermicro,
IBM,
Sun Microsystems, and others are using them on their back-planes to receive the SGPIO streams from a variety of HBA vendors and on-board controller chips to consistently drive LEDs with a pre-determined blinking pattern.
External links
SFF-8485Specification for Serial GPIO (SGPIO) Bus
SFF Documents(Documents & Specifications)
{{DEFAULTSORT:Sgpio
Serial buses
Communications protocols
SCSI
fi:GPIO
zh:GPIO