您好,欢迎来到六九路网。
搜索
您的当前位置:首页SFF-8485

SFF-8485

来源:六九路网
Published

SFF Committee documentation may be purchased in electronic form.SFF specifications are available at ftp://ftp.seagate.com/sff.

SFF-8485 Revision 0.7

SFF CommitteeSFF-8485 Specification forSerial GPIO (SGPIO) Bus

Revision 0.71 February 2006

Secretariat: SFF Committee

Abstract: This document defines a Serial GPIO bus to be used in conjunction with Serial Attached SCSI (SAS) or Serial ATA (SATA).

This specification provides a common definition for systems manufacturers, system integrators, and suppliers. This is an internal working specification of the SFF Committee, an industry ad hoc group.

This specification is made available for public review, and written comments are solicited from readers. Comments received by the members will be considered for inclusion in future revisions of this document.Support: This document is supported by the identified member companies of the SFF Committee.

POINTS OF CONTACT:

Robert C ElliottHP

MC 140801PO Box 692000

Houston, TX 77269-2000Phone: 281-518-5037elliott@hp.com

I. Dal Allan

Chairman SFF Committee14426 Black Walnut CourtSaratoga, CA 95070

Phone: 408-867-6630endlcom@acm.org

Serial GPIO Bus 1

SFF-8485 Revision 0.7Published

EXPRESSION OF SUPPORT BY MANUFACTURERS

The following member companies of the SFF Committee voted in favor of this industry specification:

AdaptecBroadcomComaxEMCENDLFCI

FoxconnFujitsu CPA

Hewlett PackardHitachi GSTLSI LogicMolex

Sun Microsystems

The following SFF member companies voted no on the technical content of this industry specification:

Dell

The following member companies of the SFF Committee voted to abstain on this industry specification:

AmphenolEmulexInfineonIntelSeagate

Toshiba AmericaTyco AMPUnisys

Vitesse Semiconductor

2Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

REVISION HISTORY

R.1 Revision 0.1 (25 September 2003)

Initial version released to a few companies.

R.2 Revision 0.2 (2 October 2003)

Major cleanup to electricals and timing. Maximum frequency is 100 kHz. All signals are open-drain. Still need to decide where the interoperability point(s) is/are. The physical layer section is still very much subject to change. First release through SFF.

R.3 Revision 0.3 (25 January 2004)

Added a large minimum hold time so very slow receivers have a long time to sample the data. New: min 4400, max none, old: min 0, max 345.

Reduced the setup time from 250 ns to 200 ns.Removed the minimum rise and fall times.

Reduced the minimum fall time from 300 ns to 20 ns. This is the actively driven edge. 20 ns should be plenty of time even with a 100 pF load.

Changed high level from 4700 ns to 4400 ns; low from 4000 ns to 4700 ns. The low period should be longer to allow more after the falling edge where a receiver can sample data.

Removed separate transmit and receive versions of the high and low levels. Assume everything is slow enough that the interconnect need not be treated as a transmission line.

Corrected text on active bit polarity. 1 = LED on, 0 = LED off. Whether 1 means active or inactive is not mandated (though the SAS READY LED convention is recommended).Removed maximum hysteresis.

Removed “constant frequency” requirement.

Added advice about HBAs with more than 4 ports. Added brief discussion of backplane usage (where the bit stream from an expander is longer than 4).

Added notes about expected change to the port multiplier bit stream.

R.4 Revision 0.4 (25 May 2004)

Made SDataIn optional per request from John Lee at Intel (john.p.lee@intel.com).

Made the minimum bit stream length be four full drives, rather than 2 1/3 drives (the first bit position of the third drive). The target must still be prepared for a new SLoad at any time (the initiator might have been reset) but the usual dword stream should be a decent size.

Added advice to stop SClock low if the SGPIO initiator is still present, so targets can tell if the initiator is still present.

Reordered the chapters: 6) Physical, 7) Protocol, 8) Programming interface.

Added a SMP function programming interface. This could stand as its own SFF document; for now, it is proposed here.

R.5 Revision 0.5 (3 February 2005)

In the passive interconnect characteristics table, removed “Impedance RB” with a range of 45 ohm to 55 ohm.In the transmitter and receiver electrical characteristics table, changed “source impedance while driving low level RS” with a range of 45 ohm to 55 ohm into “Output current while driving low level IOL” with a range of 3 mA to 20 mA.Serial GPIO Bus

3

SFF-8485 Revision 0.7Published

Reduced reset timeout for target detecting SClock, SLoad, and SDataOut set to 1 to ms from 2 s. Removed SDataIn from the list (it only cares about signals from the SGPIO initiator when timing out the initiator).

Added a maximum period (minimum frequency) for SClock of 31.25 ms (32 Hz).Changed recommended default for FORCE ACTIVITY OFF from 1/2 sec to 1/8 sec.Changed recommended default for MAXIMUM ACTIVITY ON from 2 sec to 1/2 sec.Changed recommended default for STRETCH ON to 1/th.

Added more description of how MAXIMUM ACTIVITY ON, FORCE ACTIVITY OFF, and STRETCH OFF interact.Added warning note about toggling LEDs in unison.

Corrected COUNT description in the GPIO_TX_GP_CFG register.

Added that during normal mode (in the register descriptions), the SLoad pattern is 0000b.

Updated PCI-E SIOM pin names and signal assignments to match those chosen SIOM revision 0.7 and 0.9.Added “Suggested SGPIO usage model” chapter showing how the vendor-specific fields may be used.Added these rules previously describing SClock to also describe SLoad: “When not using the SGPIO bus (e.g., during a reset), the initiator shall set SLoad to 1 (i.e., tristate it). When using the SGPIO bus but

purposely not exchanging a bit stream, the initiator should set SLoad to 0. This lets the target know that the initiator is still present and has not been removed.”

Added this rule previously describing SClock to also describe SDataOut: “When not using the SGPIO bus (e.g., during a reset), the initiator shall set SDataOut to 1 (i.e., tristate it). support the corresponding drive number.”

R.6 Revision 0.6 (10 October 2005)

Made wording more consistent for the terms: “LED” vs. “indicator”, “assert” vs. “turn on” vs. “enable”.Renamed STRETCH OFF field to STRETCH ACTIVITY OFF and STRETCH ON field to STRETCH ACTIVITY ON.

Based on Dell comment, deleted “(informative)” from chapter 9. The pin assignments for SGPIO on the

various interfaces are normative. Added “(informative)” to chapter 10 to emphasize that the suggested SPIO usage is optional.

Changed SATA CABCON references to SATA 2.5 and updated the web site link to http://www.sata-io.org.Changed PCI Express Server IO Module references to PCI Express ExpressModule (the final name chosen).

R.7 Revision 0.7 (1 February 2006)

Updated to reflect Published status.

4Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

FOREWORD

The development work on this specification was done by the SFF Committee, an industry group. The

membership of the committee since its formation in August 1990 has included a mix of companies which are leaders across the industry.

When 2 1/2\" diameter disk drives were introduced, there was no commonality on external dimensions e.g. physical size, mounting locations, connector type, connector location, between vendors.

The first use of these disk drives was in specific applications such as laptop portable computers and system integrators worked individually with vendors to develop the packaging. The result was wide diversity, and incompatibility.

The problems faced by integrators, device suppliers, and component suppliers led to the formation of the SFF Committee as an industry ad hoc group to address the marketing and engineering considerations of the emerging new technology.

During the development of the form factor definitions, other activities were suggested because participants in the SFF Committee faced more problems than the physical form factors of disk drives. In November 1992, the charter was expanded to address any issues of general interest and concern to the storage industry. The SFF Committee became a forum for resolving industry issues that are either not addressed by the standards process or need an immediate solution.

Those companies which have agreed to support a specification are identified in the first pages of each SFF Specification. Industry consensus is not an essential requirement to publish an SFF Specification because it is recognized that in an emerging product area, there is room for more than one approach. By making the documentation on competing proposals available, an integrator can examine the alternatives available and select the product that is felt to be most suitable.

SFF Committee meetings are held during T10 weeks (see http://www.t10.org), and Specific Subject Working Groups are held at the convenience of the participants. Material presented at SFF Committee meetings

becomes public domain, and there are no restrictions on the open mailing of material presented at committee meetings.

Most of the specifications developed by the SFF Committee have either been incorporated into standards or adopted as standards by EIA (Electronic Industries Association), ANSI (American National Standards Institute) and IEC (International Electrotechnical Commission).

If you are interested in participating or wish to follow the activities of the SFF Committee, the signup for membership and/or documentation can be found at:

http://www.sffcommittee.com/ie/join.html

The complete list of SFF Specifications which have been completed or are currently being worked on by the SFF Committee can be found at:

ftp://ftp.seagate.com/sff/SFF-8000.TXT

If you wish to know more about the SFF Committee, the principles which guide the activities can be found at:

ftp://ftp.seagate.com/sff/SFF-8032.TXT

Suggestions for improvement of this specification will be welcome. They should be sent to the SFF Committee, 14426 Black Walnut Ct, Saratoga, CA 95070.

Serial GPIO Bus 5

SFF-8485 Revision 0.7Published

1 Scope

This document defines a Serial General Purpose Input Output (SGPIO) bus used in conjunction with Serial Attached SCSI (SAS) and Serial ATA (SATA).

1.1 Description of Clauses

Clause 1 (Scope) contains the Scope.

Clause 2 (References) contains Referenced and Related Standards and SFF Specifications.Clause 3 (General Description) contains a general description.

Clause 4 (Definitions and Conventions) contains definitions and conventions.Clause 5 (Overview) contains the overview.Clause 6 (Physical layer) defines the physical layer.Clause 7 (Protocol layer) defines the protocol.

Clause 8 (Programming interface) defines the programming interface.

Clause 9 (Applications) defines applications where SGPIO is used (SAS, SATA, and PCI Express).

Clause 10 (Suggested SGPIO usage (informative)) defines a usage model for the vendor-specific SDataOut and SDataIn bits.

6Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

2 References

2.1 Industry Documents

The following interface standards are relevant to this specification:

EIA/JEDEC JESD8-B Interface Standard for Nominal 3 V/3.3 V Supply Digital Integrated Circuits (LVTTL). See http://www.jedec.org.

IISO/IEC 14776-150 Serial Attached SCSI (SAS) standard (ANSI INCITS 376-2003). See http://www.iso.int, http://www.ansi.org, or http://www.incits.org (developed by T10 at http://www.t10.org).

ISO/IEC 14776-151 Serial Attached SCSI 1.1 (SAS-1.1) standard (ANSI INCITS 417-2006). See

http://www.iso.int, http://www.ansi.org, or http://www.incits.org (developed by T10 at http://www.t10.org).PCI Express ExpressModule Electromechanical Specification (PCI-EM) Revision 1.0. See http://www.pcisig.com.

Serial ATA (SATA) Revision 2.5. See http://www.sata-io.org.

2.2 SFF Specifications

There are several projects active within the SFF Committee. The complete list of specifications which have been completed or are still being worked on are listed in the specification at ftp://ftp.seagate.com/sff/SFF-8000.TXT.

2.3 Sources

Those who join the SFF Committee as an Observer or Member receive electronic copies of the minutes and SFF specifications (http://www.sffcommittee.com/ie/join.html).

Copies of ANSI standards may be purchased from the InterNational Committee for Information Technology Standards (http://tinyurl.com/c4psg).

Copies of SFF, ASC T10 (SCSI), T11 (Fibre Channel) and T13 (ATA) standards and standards still in development are available on the HPE version of CD_Access (http://tinyurl.com/85fts).

Serial GPIO Bus 7

SFF-8485 Revision 0.73 General Description

The environment for this SFF Specification includes any SAS or SATA disk cabinet.

8Published

Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

4 Definitions and Conventions4.1 Definitions

For the purpose of SFF Specifications, the following definitions apply:

4.1.1 optional: This term describes features which are not required by the SFF Specification. However, if any feature defined by the SFF Specification is implemented, it shall be done in the same way as defined by the Specification.

4.1.2 reserved: Where this term is used for bits, bytes, fields and code values; the bits, bytes, fields and code values are set aside for future standardization. The default value shall be zero. The originator is required to define a Reserved field or bit as zero, but the receiver should not check Reserved fields or bits for zero.4.1.3 vendor specific: This term is used to describe bits, bytes, fields, pins, signals, code values and features which are not described in this SFF Specification, and may be used in a way that varies between vendors.

4.2 Conventions

If there is a conflict between text and tables on a feature described as optional, the table shall be accepted as being correct.

A number of conditions, commands, sequence parameters, events, English text, states or similar terms are printed with the first letter of each word in uppercase and the rest lower-case; e.g., In, Out, Request Status. Any lower-case uses of these words have the normal American-English meaning.

The ISO convention of numbering is used (i.e., the thousands and higher multiples are separated by a space and a comma is used as the decimal point). Table 1 shows a comparison of the ISO and American numbering conventions.

Table 1 — ISO and American numbering conventions

ISO0,63,14159265

10001323462,95

American

0.63.141592651,0001,323,462.95

Serial GPIO Bus 9

SFF-8485 Revision 0.7Published

5 Overview

Serial General Purpose Input Output (SGPIO) is a method to serialize general purpose IO signals. SGPIO defines the communication between an initiator (e.g. a host bus adapter) and a target (e.g. a backplane holding disk drives). The target typically converts the output signals into multiple parallel LED signals and provides the input signals from general purpose inputs.

Both the initiator and the target may be composed of one or multiple chips. If multiple chips are used, they shall coordinate driving the bus signals to maintain compliance with this standard.Figure 1 depicts the SGPIO bus.

SClockSLoadSDataOutInitiatorSDataInSGPIO busTargetFigure 1 — SGPIO bus overview

Table 2 describes the signals used by SGPIO. All transmitters are open-drain.

Table 2 — SGPIO signals

SignalSClockSLoadSDataOutSDataIn

TransmitterInitiatorInitiatorInitiatorTarget

DescriptionClock signal.

Last clock of a bit stream; begin a new bit stream on the next clock.Serial data output bit stream.

Serial data input bit stream. SDataIn may not be supported by all SGPIO devices.

SGPIO typically accompanies a set of high-speed serial storage interfaces like SAS or SATA on a wide

connector (e.g., an internal 4-wide connector). The data bits exchanged are related to drives supported by the target and are typically related to specific lanes of the high-speed serial storage interface.

10Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

Figure 2 shows SGPIO being used in conjunction with SAS or SATA, where each physical link is attached to a single disk drive.

4-wide connector with sidebandsSGPIO initiatorSAS initiator and/or SATA hostSGPIOSAS or SATA drive 0SAS or SATA drive 1SAS or SATA drive 2SAS or SATA drive 3Figure 2 — SGPIO and SAS/SATA simple usage

Initiator4-wide connector with sidebandsSGPIO targetPhysical link 0Physical link 1Physical link 2Physical link 3Figure 3 shows SGPIO being used in conjunction with SAS or SATA, where some physical links are attached to SATA port multipliers, supporting multiple disk drives behind those physical links.

Initiator/hostSGPIOinitiator4-wide connectorwith sidebands4-wide connectorwith sidebandsSGPIOSGPIOtargetSATA portmultiplier 015SATAdrivesSASinitiatorand SATAhostSATAdrive 1SASdrive 2SATA portmultiplier 315SATAdrives4 physical links(3 SATA, 1 SAS)Either a port multiplier ora drive may be attachedto each physical linkFigure 3 — SGPIO and SATA port multiplier usage

Serial GPIO Bus 11

SFF-8485 Revision 0.7Published

6 Physical layer

6.1 Passive interconnect

Table 3 describes characteristics of the passive interconnect (i.e., cables, connectors, and/or backplanes) carrying SGPIO.

Table 3 — SGPIO passive interconnect characteristicsCharacteristic

Name

Minimum

Maximum

Skew between SClock and SLoad, SDataOut,

and SDataIn signal lines

Wire delay aCapacitance of the interconnect

aTSKEWTDELAYCB

--10 pF

10 ns50 ns100 pF

The target may transmit SDataIn based on the rising edge of SClock, so the wire delay affects the setup time of SDataIn to the falling edge of SClock.

6.2 Transmitter and receiver electrical characteristics

SGPIO signaling levels shall be compatible with 3.3V LVTTL technology (see LVTTL). Table 4 describes electrical characteristics of the SGPIO transmitters and receivers.

Table 4 — SGPIO transmitter and receiver electrical characteristics

Characteristic

Name

Minimum

Maximum

Low level (0) output voltageHigh level (1) output voltageOutput current while driving low level (0)

Low level (0) input voltageHigh level (1) input voltageHysteresis of Schmitt trigger inputsInput current with an input voltage between 330 mV and 3,24 V

Capacitance for initiatorCapacitance for target

VOLVOHIOLVILVIHVHYSIICICT

0,0 V2,4 V3 mA0,0 V2,0 V250 mV-10 µA--

0,4 V3,3 V20 mA0,8 V3,3 V-10 µA50 pF50 pF

SGPIO transmitters shall be open-drain (i.e., sink current) to transmit a low level (0) and be high-impedance (tristate) to transmit a high level (1)).SGPIO receivers shall be Schmitt triggered.

All signals shall include a 2 Kohm pullup to Vcc on both the initiator and target boards (i.e., parallel 2 Kohm resistors).

All signals shall be tristated after power on.

12Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

6.3 Timing requirements

Figure 4 depicts the basic input voltages and their relationship to the rise and fall times.

TRTVFIH MAXVIH MINVIL MAXVIL MINFigure 4 — Voltage and timing relationship

Figure 5 depicts the timing relationships between SClock and SLoad, SDataOut, and SDataIn at the transmitter and at the receiver.

At any point on the busTSCLKTSCLKHTSCLKLSClock@ VIHMIN@ VILMAXSLoad,SDataOut,@ VSDataInILMAXTSUTHTTSCLK measured @ the same level each timeTSCLKH measured @ Vmeasured @ VIHMINSCLKL ILMAXFigure 5 — Timing relationships

Serial GPIO Bus 13

SFF-8485 Revision 0.7Published

Table 5 describes SGPIO signal timing requirements.

Table 5 — SGPIO timing requirements

Characteristic

Name

Minimum

Maximum

SClock period (frequency)SClock high level time cSClock low level time cRise time cFall time a cSetup time to falling edge of SClock bHold time from falling edge of SClock babcde

TSCLKTSCLKHTSCLKLTRTFTSUTH

10000 ns(i.e., 100 kHz)4400 ns4700 nsnonenone200 ns4400 ns

31.25 ms(i.e., 32 Hz)nonenone300 ns20 nsnone dnone eThe minimum fall time is not specified, but systems may require slope-controlled output stages, series resistors, or series ferrites.

Transmitters may change SLoad, SDataOut, or SDataIn on the rising edge of SClock to meet setup and hold times on the falling edge of SClock.

The high time, low time, rise time, and fall time must add up to the minimum requirement for TSCLK.

Although there is no maximum setup time specified, it must not interfere with the minimum hold time for the preceding falling edge.

Although there is no maximum hold time specified, it must not interfere with the minimum setup time for the following falling edge.

14Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

7 Protocol layer7.1 Signal overview

Figure 6 shows the signal relationships between SClock (see 7.2), SLoad (see 7.3), SDataOut (see 7.4), and SDataIn (see 7.5).SClock(I to T)Bit streamBit stream...SLoad (I to T)Drive nL0L1Drive 0L2L3Drive 1Drive 2...SDataOut (I to T)SDataIn (T to I)ODn.2OD0.0OD0.1OD0.2OD1.0OD1.1OD1.2OD2.0OD2.1......IDn.2ID0.0ID0.1ID0.2ID1.0ID1.1ID1.2ID2.0ID2.1Transmit on Sample on rising edgefalling edgeFigure 6 — Signal relationships

The bit stream on SLoad, SDataOut and SDataIn shall be restarted the clock after SLoad is set to 1. The bit stream shall contain at least 4 drives’ worth of information. The bit stream need not be the same length every time and may end on any bit position starting with drive 3 bit 3.

Figure 7 shows the bit stream being restarted after 4 drives’ worth of information has been communicated (the minimum bit stream length).

SClock(I to T)Bit stream (4 drives)Bit stream (n drives)L0L1L2L3...SLoad(I to T)SDataOut(I to T)SDataIn(T to I)xL0L1L2L3(first time SLoad...may be reasserted)Drive 22.02.12.2Drive 00.00.10.2Drive 11.01.11.2Drive 22.02.12.2Drive 33.03.13.2Drive 00.00.10.2Drive 11.01.11.2Drive 33.03.13.2Drive 44.04.14.2Drive 55.05.1......x0.00.10.21.01.11.22.02.12.23.03.13.20.00.10.21.01.11.22.02.12.23.03.13.24.04.14.25.0Figure 7 — Repeating bit stream

If the target detects SClock, SLoad, and SDataOut set to 1 for ms (e.g., detects a reset), it shall disable (i.e., turn off) all indicators controlled by the SDataOut bit stream.

7.2 SClock

The initiator shall repeatedly toggle SClock at a frequency compliant with table 5.

The initiator should use the rising edge of SClock to transmit changes in SLoad and SDataOut. The target should use the rising edge of SClock to transmit changes in SDataIn.Serial GPIO Bus

15

SFF-8485 Revision 0.7Published

The target shall use the falling edge of SClock to latch SLoad and SDataOut. The initiator shall use the falling edge of SClock to latch SDataIn.

When not using the SGPIO bus (e.g., during a reset), the initiator shall set SClock to 1 (i.e., tristate it).When using the SGPIO bus but purposely not exchanging a bit stream, the initiator should set SClock to 0. This lets the target know that the initiator is still present and has not been removed.

7.3 SLoad

The SLoad signal indicates when the bit stream is ending and being restarted. The clock period during which SLoad is set to 1 is the last clock period of a bit stream.

After SLoad is set to 1, the initiator shall transmit a vendor-specific pattern in the next four bit positions on SLoad. Following that, the initiator shall set SLoad to 0 until it wants to restart the bit stream. The vendor-specific bits are intended to communicate drive-independent information to the target. The vendor-specific bits may change on each bit stream.Figure 8 shows the SLoad signal.

L0vendorspecific1L1vendorspecificL2vendorspecificL3vendorspecificAt least five0(s)Vendor-specificpatternFigure 8 — SLoad signal

After power on, the initiator may set SLoad to 1 with the first rising edge of SClock. If SClock was already high and vendor-specific bit 0 is also set to 1, the target is not synchronized with the initiator during the first bit stream. Therefore, the initiator should not set vendor-specific bit 0 to 1 during the first bit stream.

The initiator shall not restart a bit stream until the third bit position of the fourth drive (i.e., drive 3). The initiator should only set SLoad to 1 to restart a bit stream during the third bit position for a drive.

At least 5 consecutive bits of 0 are needed to distinguish the first SLoad of 1 value from possible 1 values for L0 to L3. To identify the start of a bit stream, the target should detect SLoad set to 0 for 5 or more bits then detect it set to 1.

When not using the SGPIO bus (e.g., during a reset), the initiator shall set SLoad to 1 (i.e., tristate it).When using the SGPIO bus but purposely not exchanging a bit stream, the initiator should set SLoad to 0. This lets the target know that the initiator is still present and has not been removed.

7.4 SDataOut

The SDataOut signal carries output bits associated with disk drives on the target backplane. It is intended to control indicators such as LEDs (e.g., activity, locate, and error indicators).

16Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

Figure 9 shows the SDataOut bits.

OD0.0activityOD0.1vendorspecific(e.g.,locate)Drive 0OD0.2vendorspecific(e.g.,error)OD0.0activityOD0.1vendorspecific(e.g.,locate)Drive 1Figure 9 — SDataOut bits

OD0.2vendorspecific(e.g.,error)Drive nThere are 3 output data bits for each drive. Table 6 defines the meaning of the SDataOut bit values.

Table 6 — SDataOut bit meaning

Signal

Description

01

Disable (i.e., turn off) the indicator (e.g., an LED)Enable (i.e., turn on) the indicator (e.g., an LED)

The first bit (i.e., ODn.0, the activity bit) is reserved for drive activity. An activity bit set to 1 specifies that the activity indicator shall be enabled (e.g., turn on an activity LED). An activity bit set to 0 specifies that the activity indicator shall be disabled (e.g., turn off an activity LED).

The activity bit should follow one of the patterns defined in SAS for the READY LED signal (see SAS-1.1):

a)Set to 0 while the drive is powered off or not present, 1 while powered on and idle, and toggles to 0

while processing a command; or

b)Set to 0 while the drive is powered off or not present, 0 while powered on and idle, and toggles to 1

while processing a command.One way to report activity is to set the activity bit to 0 (for the a) pattern) whenever a frame is transmitted to or received from the drive.

The second (i.e., ODn.1) and third (i.e., ODn.2) bits are vendor-specific, and are intended for controlling indicators like error and locate indicators. A value of 1 specifies that the associated indicator should be enabled; a value of 0 specifies that the associated indicator should be disabled. In the suggested

programming interface (see clause 8), bit 1 is used to control a locate indicator and bit 2 is used to control an error indicator.

The number of drives supported is dependent on the application (see clause 9). The initiator shall tristate SDataOut if it does not

When not using the SGPIO bus (e.g., during a reset), the initiator shall set SDataOut to 1 (i.e., tristate it). support the corresponding drive number.

7.5 SDataIn

The SDataIn signal carries input bits associated with disk drives on the target backplane. It is intended to report information such as drive presence detection (see SATA). SDataIn may not be supported by all initiators and targets.

Serial GPIO Bus 17

SFF-8485 Revision 0.7Published

Figure 10 shows the SDataIn bits.

ID0.0vendorspecificID0.1vendorspecificDrive 0ID0.2vendorspecificID1.0vendorspecificID1.1vendorspecificDrive 1Figure 10 — SDataIn bits

ID1.2vendorspecificDrive nThere are 3 input data bits for each drive.

All input bits are vendor-specific. They are intended to carry information like presence-detect.

The number of drives supported is dependent on the application (see clause 9). The target shall tristate SDataIn if it does not support the corresponding drive number. The initiator shall ignore SDataIn for drives it does not support.

18Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

8 Programming interface8.1 Introduction

Initiators should make available to software the ability to select the values to send values on:

a)Per-drive: OD0 (an optional override for the hardware-based activity tracker), OD1, and OD2b)L0, L1, L2, and L3,

and to retrieve the values most recently received on:

a)Per-drive: ID0, ID1, and ID2.

Although the interface to control these is vendor specific, a recommended interface is defined in this clause.

8.2 SAS SMP GPIO interface

8.2.1 SAS SMP GPIO interface overview

For SAS devices implementing SGPIO initiator(s) (e.g., expanders or HBAs), this clause defines an SMP function interface that may be used to interface to the SGPIO initiator. These functions may also be used to control parallel GPIOs; whether serial or parallel GPIOs are used is outside the scope of this specification.Figure 11 shows an example of how the SAS SMP function interface may be used with the SFF-8484

connector (see 9.2). When attached to a SAS expander device, the management application client uses the SAS SMP initiator port to send the SMP function over the SAS wide link to the SMP target port in the SAS expander device, controlling the SGPIO initiator in the expander device. When not attached to a SAS

expander (e.g., when attached directly to disk drives), the management application sends the SMP functions to a virtual SMP target port inside the SAS initiator device, controlling the SGPIO initiator in the SAS initiator device.

SAS initiator deviceSFF-8484 internal wide connectorSAS expander deviceSASSAS wide linkSMP functionrequest/responseto controlSGPIO initiator BSClockSLoadSDataOutSDataInSGPIO bus for the SAS wide link (generally not used when attached to an expander)Figure 11 — SAS SMP function example

SMP initiator portmanagementapplicationclientSGPIO initiator ASMP function request/responseto control SGPIO initiator ASMP target portSAS...SASSGPIO initiator BSClockSLoadSDataOutSDataInSGPIO bus for all the expander phys attached to drive baysSerial GPIO Bus 19

SFF-8485 Revision 0.7Published

Table 7 defines the SMP functions.

Table 7 — SMP functions for GPIO

Code

SMP function

Description

Request frame size (in bytes)

Response frame size (in bytes)

Reference

02h82h

READ GPIO REGISTERWRITE GPIO REGISTER

Read one or more GPIO registersWrite one or more GPIO registers

12variable

variable8

8.2.28.2.3

NOTE 1 - Some devices may implement these functions using vendor-specific function codes 50h for READ GPIO REGISTER and D0h for WRITE GPIO REGISTER.

8.2.2 READ GPIO REGISTER function

The READ GPIO REGISTER function returns the contents of one or more GPIO registers.Table 8 defines the request format.

Table 8 — READ GPIO REGISTER request

Byte\\Bit

012345

7

6

5

4

3

2

1

0

SMP FRAME TYPE (40h)

FUNCTION (02h)REGISTER TYPEREGISTER INDEXREGISTER COUNT

Reserved

7811

(MSB)

CRC

(LSB)

The SMP FRAME TYPE field shall be set to 40h.The FUNCTION field shall be set to 02h.

The REGISTER TYPE field specifies the bank of registers to read.

The REGISTER INDEX field specifies the index of the first register in the bank to read.

The REGISTER COUNT field specifies the number of registers starting with the specified index to read.

If the REGISTER TYPE field, REGISTER INDEX field, and/or REGISTER COUNT field specifies an unsupported value, the SMP target port shall return a function result of SMP FUNCTION FAILED in the response frame.The CRC field is defined in SAS-1.1.

20Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

Table 9 defines the response format.

Table 9 — READ GPIO REGISTER response

Byte\\Bit

01234

READ DATA (first register)

763210

SMP FRAME TYPE (41h)

FUNCTION (02h)FUNCTION RESULT

Reserved

7...n - 7

READ DATA (last register)

...

n - 4n - 3n

(MSB)

CRC

(LSB)

The SMP FRAME TYPE field shall be set to 41h.The FUNCTION field shall be set to 02h.

The FUNCTION RESULT field is defined in SAS-1.1.

For each register specified by the SMP request frame, the READ DATA field indicates the value of the register.The CRC field is defined in SAS-1.1.8.2.3 WRITE GPIO REGISTER function

The WRITE GPIO REGISTER function writes one or more GPIO registers.

Serial GPIO Bus 21

SFF-8485 Revision 0.7Published

Table 10 defines the request format.

Table 10 — WRITE GPIO REGISTER request

Byte\\Bit

012345

7

6

5

4

3

2

1

0

SMP FRAME TYPE (40h)

FUNCTION (82h)REGISTER TYPEREGISTER INDEXREGISTER COUNT

Reserved

78

WRITE DATA (first register)

11...n - 7

WRITE DATA (last register)

...

n - 4n - 3n

(MSB)

CRC

(LSB)

The SMP FRAME TYPE field shall be set to 40h.The FUNCTION field shall be set to 82h.

The REGISTER TYPE field specifies the bank of registers to write.

The REGISTER INDEX field specifies the index of the first register in the bank to write.

The REGISTER COUNT field specifies the number of registers starting with the specified index to write.

If the REGISTER TYPE field, REGISTER INDEX field, and/or REGISTER COUNT field specifies an unsupported value, the SMP target port shall return a function result of SMP FUNCTION FAILED in the response frame.For each register specified by the REGISTER TYPE field, REGISTER INDEX field, and REGISTER COUNT field, the WRITE DATA field specifies the value to be written.The CRC field is defined in SAS-1.1.

22Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

Table 11 defines the response format.

Table 11 — WRITE GPIO REGISTER response

Byte\\Bit

012347

7

6

5

4

3

2

1

0

SMP FRAME TYPE (41h)

FUNCTION (82h)FUNCTION RESULT

Reserved

(MSB)

CRC

(LSB)

The SMP FRAME TYPE field shall be set to 41h.The FUNCTION field shall be set to 82h.

The FUNCTION RESULT field is defined in SAS-1.1.The CRC field is defined in SAS-1.1.

8.3 GPIO register functionality

The SGPIO initiator includes two blink generators A and B that may be used to control the output patterns.The SGPIO initiator operates in one of two modes:

a)normal: drive-by-drive basis access to the SDataOut and SDataIn bit streams. Uses hardware-based

activity trackers and blink generators; and

b)general-purpose: bit-by-bit access to the SLoad, SDataOut and SDataIn bit streams.

The SGPIO initiator defaults to the normal mode, entering general-purpose mode only when requested. During normal mode, the SLoad pattern shall be 0000b.

8.4 GPIO registers

8.4.1 GPIO register overview

Table 12 defines the GPIO register types (i.e., banks).

Table 12 — GPIO register types

Register Type

Name

Description

Reference

00h01h02h03h04h05h - BFhC0h - FFh

GPIO_CFGGPIO_RXGPIO_RX_GPGPIO_TXGPIO_TX_GPReservedVendor-specific

Configuration registers

Receive registers (drive-by-drive)

General purpose receive registers (raw bit stream)Transmit registers (drive-by-drive)

General purpose transmit registers (raw bit stream)

8.4.28.4.38.4.58.4.48.4.6

Serial GPIO Bus 23

SFF-8485 Revision 0.7

8.4.2 GPIO configuration registers

8.4.2.1 GPIO configuration registers overview

Published

Table 13 defines the GPIO configuration registers.

Table 13 — GPIO register indexes for the GPIO_CFG register type

Register Index

Name

Description

Reference

00h01h02h - FFh

GPIO_CFG[0]GPIO_CFG[1]Reserved

Configuration register 0Configuration register 1

8.4.2.28.4.2.3

8.4.2.2 GPIO_CFG[0] register

Table 14 defines GPIO configuration register 0.

Table 14 — GPIO_CFG[0] register

Byte\\Bit

0123

GPIO ENABLE

763210

Reserved

Reserved

CFG REGISTER COUNT

SUPPORTED DRIVE COUNT

VERSION (0h)GP REGISTER COUNT

The VERSION field is read-only and shall be set to 0h.

A GPIO ENABLE bit set to one specifies that GPIO outputs and inputs be enabled. A GPIO ENABLE BIT set to zero specifies that GPIO outputs and inputs be disabled. A change from enabled to disabled shall not take effect until the current bit stream has completed.

The CFG REGISTER COUNT field is read-only and indicates the number of configuration registers.The GP REGISTER COUNT field is read-only and indicates the number of general purpose data registers.The SUPPORTED DRIVE COUNT field is read-only and indicates the number of supported drives.8.4.2.3 GPIO_CFG[1] register

Table 15 defines GPIO configuration register 1.

Table 15 — GPIO_CFG[1] register

Byte\\Bit

0123

BLINK GENERATOR RATE BFORCE ACTIVITY OFFSTRETCH ACTIVITY OFF

763210

Reserved

BLINK GENERATOR RATE AMAXIMUM ACTIVITY ONSTRETCH ACTIVITY ON

The VERSION field is read-only and shall be set to 0h.

24Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

The BLINK GENERATOR RATE B field specifies the rate for the second blink generator as defined in table 16.The BLINK GENERATOR RATE A field specifies the rate for the first blink generator as defined in table 16.

Table 16 — BLINK GENERATOR RATE A field and BLINK GENERATOR RATE B field

Code

Description

0h1h...Fh

1/8 s (default)2/8 s...16/8 s

The FORCE ACTIVITY OFF field, defined in table 17, specifies the minimum amount of time the SGPIO initiator shall disable the activity indicator (i.e., set the ODn.0 bit to zero) if it has been continually enabled for the interval specified in the MAXIMUM ACTIVITY ON field and if the DRIVE M+Y ACTIVITY field (see table 25 in 8.4.4) is set to 100b or 101b.

Table 17 — FORCE ACTIVITY OFF fieldCode

Description

0h1h...Fh

No minimum amount of time1/8 s (default)...15/8 s

The MAXIMUM ACTIVITY ON field, defined in table 18, specifies the maximum amount of time the SGPIO initiator is allowed to enable the activity indicator (i.e., set the ODn.0 bit to one) if the DRIVE M+Y ACTIVITY field (see table 25 in 8.4.4) is set to 100b or 101b. Once the SGPIO initiator reaches this time, it shall disable the activity indicator for at least as long as the time specified by the FORCE ACTIVITY OFF field.

Table 18 — MAXIMUM ACTIVITY ON fieldCode

Description

0h1h...2h...Fh

No maximum amount of time1/4 s...

2/4 s (default)...15/4 s

NOTE 2 - The SGPIO initiator should ensure that, if activity indicators for multiple drives are being toggled based on the MAXIMUM ACTIVITY ON field, they do not all toggle in unison or sequentially from one drive to the next adjacent drive (patterns that might be confused with other meanings). The activity should appear somewhat random.

The STRETCH ACTIVITY OFF field, defined in table 19, specifies the minimum amount of time the SGPIO initiator shall disable the activity indicator (i.e., set the ODn.0 bit to zero) if the DRIVE M+Y ACTIVITY field (see table 25 in 8.4.4) is set to 100b or 101b. If the activity indicator is being disabled due to the MAXIMUM ACTIVITY ON field, the

Serial GPIO Bus 25

SFF-8485 Revision 0.7Published

SGPIO initiator shall use the larger of the two times specified by the FORCE ACTIVITY OFF field (which has units of 8th of seconds) and the STRETCH ACTIVITY OFF field (which has units of th of seconds).

Table 19 — STRETCH ACTIVITY OFF fieldCode

Description

0h1h...Fh

No minimum amount of time (default)1/ s...15/ s

The STRETCH ACTIVITY ON field, defined in table 20, specifies the minimum amount of time the SGPIO initiator shall enable the activity indicator (i.e., set the ODn.0 bit to one) if the DRIVE M+Y ACTIVITY field (see table 25 in 8.4.4) is set to 100b or 101b.

Table 20 — STRETCH ACTIVITY ON field

Code

Description

0h1h...Fh

1/ s (default)2/ s...16/ s

Figure 12 shows the interactions of the FORCE ACTIVITY OFF field, the MAXIMUM ACTIVITY ON field, the STRETCH ACTIVITY OFF field, and the STRETCH ACTIVITY ON field.

The STRETCH ACTIVITY ON field ensures a minimum time the activity bit is 1:00000000000000000000000000001100000000000000000000000000000Actual activityActivity bit (ODn.0)00000000000000000000000000001111111111111111110000000000000Stretch On...The STRETCH ACTIVITY OFF field ensures a minimum time the activity bit is 0:Actual activityActivity bit (ODn.0)1111111111111111111111111111001111111111111111111111111111111111111111111111111111111110000000000000000001111111111111Stretch Off...The MAXIMUM ACTIVITY ON field limits the time the activity bit is 1:Actual activity11111111111111111111111111111111111111111111111111111111111Activity bit (ODn.0)11111111111111111111111111111000000000000000000000000111111Maximum Activity On time(the longer of)Force Activity Off timeStretch Off...There is no limit on the time the activity bit is 0:Actual activity00000000000000000000000000000000000000000000000000000000000Activity bit (ODn.0)00000000000000000000000000000000000000000000000000000000000NOTE: “Actual activity” may be determined by SOF and EOF....Figure 12 — Interaction of the FORCE ACTIVITY OFF, MAXIMUM ACTIVITY ON, STRETCH ACTIVITY OFF, and

STRETCH ACTIVITY ON fields

26Serial GPIO Bus

Published

8.4.3 GPIO receive registers

SFF-8485 Revision 0.7

Table 21 defines the GPIO receive registers.

Table 21 — GPIO register indexes for the GPIO_RX register typeRegister index

Name

Description

00h01hnnh

GPIO_RX[0]GPIO_RX[1]GPIO_RX[nn]

Receive for drives 0 through 3Receive for drives 4 through 7...

Table 22 defines the format of each GPIO receive register.

Table 22 — GPIO_RX[n] register

Byte\\Bit

0

7

6

5

4

3

2

1

DRIVE M+3 GPIO INPUT

0

Reserved

IDm+3.2IDm+3.1IDm+3.0

1Reserved

DRIVE M+2 GPIO INPUT

IDm+2.2IDm+2.1IDm+2.0

2Reserved

DRIVE M+1 GPIO INPUT

IDm+1.2IDm+1.1IDm+1.0

3Reserved

DRIVE M+0 GPIO INPUT

IDm+0.2IDm+0.1IDm+0.0

NOTE 3 - The endianness of each four-byte GPIO receive register is not pure big-endian, because the

highest numbered drive of the four appears in the first byte (byte 0) and the lowest numbered drive appears in the fourth byte (byte 3).

Each DRIVE M+Y GPIO INPUT field indicates the values received on the SDataIn bit stream for the corresponding drive (where M=4 x n).8.4.4 GPIO transmit registers

Table 23 defines the GPIO transmit registers.

Table 23 — GPIO register indexes for the GPIO_TX register typeRegister index

Name

Description

00h01hnnh

GPIO_TX[0]GPIO_TX[1]GPIO_TX[nn]

Transmit for drives 0 through 3Transmit for drives 4 through 7...

Serial GPIO Bus 27

SFF-8485 Revision 0.7Published

Table 24 defines the format of each GPIO transmit register.

Table 24 — GPIO_TX[n] register

Byte\\Bit

0123

7

6

DRIVE M+3 ACTIVITYDRIVE M+2 ACTIVITYDRIVE M+1 ACTIVITYDRIVE M+0 ACTIVITY

321

DRIVE M+3 ERRORDRIVE M+2 ERRORDRIVE M+1 ERRORDRIVE M+0 ERROR

0

DRIVE M+3 LOCATEDRIVE M+2 LOCATEDRIVE M+1 LOCATEDRIVE M+0 LOCATE

NOTE 4 - The endianness of each four-byte GPIO transmit register is not pure big-endian, because the

highest numbered drive of the four appears in the first byte (byte 0) and the lowest numbered drive appears in the fourth byte (byte 3).

The DRIVE M+Y ACTIVITY field, defined in table 25, controls the activity indicator for the corresponding drive (where M=4 x n). The DRIVE M+Y ACTIVITY field recommended default value is 101b.

Table 25 — DRIVE M+(0,1,2,3) ACTIVITY field

Code

Description

000b001b010b011b100b

Disable the activity indicator (i.e., set the ODn.0 bit to 0)Enable the activity indicator (i.e., set the ODn.0 bit to 1)

Select blink generator A, 50% duty cycle, on for the first half-cycle, off for the second half-cycleSelect blink generator A, 50% duty cycle, off for the first half-cycle, on for the second half-cycleBriefly enable (i.e., set the ODn.0 bit to 1) the activity indicator based on the end of activity (e.g., an EOF), subject to the FORCE ACTIVITY OFF field, the MAXIMUM ACTIVITY ON field, the STRETCH ACTIVITY OFF field, and the STRETCH ACTIVITY ON fields in the GPIO_CFG[1] register (see 8.4.2.3).

Briefly enable (i.e., set the ODn.0 bit to 1) the activity indicator based on the start of activity (e.g., an SOF), subject to the FORCE ACTIVITY OFF field, the MAXIMUM ACTIVITY ON field, the STRETCH ACTIVITY OFF field, and the STRETCH ACTIVITY ON fields in the GPIO_CFG[1] register (see 8.4.2.3).Select blink generator B, 50% duty cycle, on for the first half-cycle, off for the second half-cycleSelect blink generator B, 50% duty cycle, off for the first half-cycle, on for the second half-cycle

101b110b111b

The DRIVE M+Y LOCATE field, defined in table 26, controls the locate indicator for the corresponding drive (where M=4 x n). The DRIVE M+Y LOCATE field recommended default value is 00b.

Table 26 — DRIVE M+(0,1,2,3) LOCATE field

Code

Description

00b01b10b11b

Disable the locate indicator (i.e., set the ODn.1 bit to 0)(default)Enable the locate indicator (i.e., set the ODn.1 bit to 1)

Select blink generator A, 50% duty cycle, on for the first half-cycle, off for the second half-cycleSelect blink generator A, 50% duty cycle, off for the first half-cycle, on for the second half-cycle

28Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

The DRIVE M+Y ERROR field, defined in table 27, controls the error indicator for the corresponding drive (where M=4 x n). The DRIVE M+Y ERROR field recommended default value is 000b.

Table 27 — DRIVE M+(0,1,2,3) ERROR field

Code

Description

000b001b010b011b100b101b110b111b

Disable the error indicator (i.e., set the ODn.2 bit to 0)(default)Enable the error indicator (i.e., set the ODn.2 bit to 1)

Select blink generator A, 50% duty cycle, on for the first half-cycle, off for the second half-cycleSelect blink generator A, 50% duty cycle, off for the first half-cycle, on for the second half-cycleEnable the error indicator (i.e., set the ODn.2 bit to 0)

Select blink generator B, 50% duty cycle, on for the first half-cycle, off for the second half-cycleSelect blink generator B, 50% duty cycle, off for the first half-cycle, on for the second half-cycle

8.4.5 GPIO general purpose receive registers

8.4.5.1 GPIO general purpose receive registers overview

Table 28 defines the GPIO general purpose receive registers.

Table 28 — GPIO register indexes for the GPIO_RX_GP register type

Register index

Name

Description

00h01h02hnnh

GPIO_RX_GP_CFGGPIO_RX_GP[1]GPIO_RX_GP[2]GPIO_RX_GP[nn]

General purpose receive configurationGeneral purpose receive first 32 bitsGeneral purpose receive second 32 bits...

8.4.5.2 GPIO_RX_GP_CFG register

Table 29 defines the format of the GPIO general purpose receive configuration register.

Table 29 — GPIO_RX_GP_CFG register

Byte\\Bit

0

7

6

5

4

3

2

1

0

Reserved

123

COUNT

Reserved

The COUNT field is read-only and indicates the number of repetitions remaining. A COUNT field set to FFh indicates that infinite repetitions are remaining.

Serial GPIO Bus 29

SFF-8485 Revision 0.7

8.4.5.3 GPIO_RX_GP[1..n] register

Published

Table 30 defines the format of each GPIO general purpose receive register.

Table 30 — GPIO_RX_GP[1..n] register

Byte\\Bit

01

SDATAIN BIT PATTERN

763210

(last)

23

(first)

NOTE 5 - The endianness of each four-byte GPIO general purpose receive register is little-endian, because the highest numbered bit appears in the first byte (byte 0) and the lowest numbered bit appears in the fourth byte (byte 3).

The SDATAIN BIT PATTERN field contains the bits received on the SDataIn signal since the last SLoad.In GPIO_RX[1], bit 0 of byte 3 contains the first bit (i.e., ID0.0) and bit 7 of byte 0 contains the 32nd bit (i.e., ID10.1).

In GPIO_RX[2], bit 0 of byte 3 contains the 33rd bit (i.e., ID10.2) and bit 7 of byte 0 contains the th bit (i.e., ID21.0).

8.4.6 GPIO general purpose transmit registers

8.4.6.1 GPIO general purpose transmit registers overview

Table 31 defines the GPIO general purpose receive registers.

Table 31 — GPIO register indexes for the GPIO_TX_GP register type

Register index

Name

Description

00h01h02hnnh

GPIO_TX_GP_CFGGPIO_TX_GP[1]GPIO_TX_GP[2]GPIO_TX_GP[nn]

General purpose transmit configurationGeneral purpose transmit first 32 bitsGeneral purpose transmit second 32 bits...

8.4.6.2 GPIO_TX_GP_CFG register

Table 32 defines the format of the GPIO general purpose transmit configuration register.

Table 32 — GPIO_TX_GP_CFG register

Byte\\Bit

0

7

6

5

4

3

2

1

0

Reserved

123

COUNT

Reserved

SLOAD PATTERN

L3L2L1L0

30Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

The COUNT field specifies the number of times to transmit the specified SLoad pattern, transmit the

GPIO_TX_GP register contents, and receive into GPIO_RX_GP before resuming normal operation. A COUNT field set to FFh specifies that the general purpose operation repeat until the COUNT field is changed.The SLOAD PATTERN field specifies the four bit pattern to transmit on SLoad at the start of each general purpose bit stream. Bit 0 of the SLOAD PATTERN field corresponds to L0; bit 3 corresponds to L3.8.4.6.3 GPIO_TX_GP[1..n] registers

Table 33 defines the format of each GPIO general purpose transmit register.

Table 33 — GPIO_TX_GP[1..n] register

Byte\\Bit

01

SDATAOUT BIT PATTERN

763210

(last)

23

(first)

NOTE 6 - The endianness of each four-byte GPIO general purpose transmit register is little-endian, because the highest numbered bit appears in the first byte (byte 0) and the lowest numbered bit appears in the fourth byte (byte 3).

The SDATAOUT BIT PATTERN field specifies the bits to be transmitted on the SDataOut signal after SLoad.In GPIO_TX[1], bit 0 of byte 3 contains the first bit (i.e., OD0.0) and bit 7 of byte 0 contains the 32nd bit (i.e., OD10.1).

In GPIO_TX[2], bit 0 of byte 3 contains the 33rd bit (i.e., OD10.2) and bit 7 of byte 0 contains the th bit (i.e., OD21.0).

Serial GPIO Bus 31

SFF-8485 Revision 0.7Published

9 Applications

9.1 Applications overview

SGPIO may be used in several applications:

a)Serial Attached SCSI SAS 4i or Mini SAS 4i connector (see SAS-1.1, SFF-8484, SFF-8086, and

SFF-8087);

b)Serial Attached SCSI backplanes (see SAS-1.1);

c)Serial ATA internal 4 Lane connector (see SATA); andd)PCI Express Server IO Module (see SIOM).

NOTE 7 - SGPIO may or may not have been endorsed for such usage by the corresponding standards bodies/consortiums.

9.2 SAS 4i connector

Table 34 defines the SGPIO signal assignments for the SAS 4i connector (see SAS-1.1 and SFF-8484).

Table 34 — SAS 4i connector signal assignments for SGPIO

Pin

Signal

Sideband 0Sideband 1Sideband 2Sideband 3Sideband 4Sideband 5

SClockSLoadGroundGroundSDataOutSDataIn

NOTE 8 - The Sideband 0..5 signals are assigned to different signal pins for controllers (e.g., Sideband 0 is on pin 14) and backplanes (e.g., Sideband 0 is on pin 19). See SAS-1.1.

Table 35 defines the SGPIO signal assignments for the Mini SAS 4i connector (see SAS-1.1, SFF-8086, and SFF-8087).

Table 35 — Mini SAS 4i connector signal assignments for SGPIO

Pin

Signal

Sideband 0Sideband 1Sideband 2Sideband 3Sideband 4Sideband 5Sideband 6Sideband 7

SClockSLoadGroundGroundSDataOutSDataInReservedReserved

NOTE 9 - The Sideband 0..7 signals are assigned to different signal pins for controllers (e.g., Sideband 0 is on pin B8) and backplanes (e.g., Sideband 0 is on pin A8). See SAS-1.1.

32Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

Table 36 describes the relationship of the bits to the four SAS physical links using the same 4i connector.

Table 36 — SAS bit assignments

Bits

Usage

0 to 23 to 56 to to 11

SAS physical link 0SAS physical link 1SAS physical link 2SAS physical link 3

SATA port multiplier bits, if needed

12 to 1415 to 1718 to 2021 to 23...19112 to mor191 to m

SATA physical link 0, port multiplier device 1SATA physical link 1, port multiplier device 1SATA physical link 2, port multiplier device 1SATA physical link 3, port multiplier device 1...

SATA physical link 3, port multiplier device 15Vendor-specific

If the initiator does not know whether a physical link supports SATA, it shall terminate the bit stream after bit 11. If the initiator determines that the target supports SATA on one or more of the physical links, it shall provide bits for SATA port multipliers for each of the physical links (192 bits total). If some of the physical links are using SAS or are not using a port multiplier, the target shall ignore the additional bits (but the initiator shall still transmit tristated bits in those positions).

HBAs supporting more than 4 phys are expected to support multiple SGPIO busses (e.g., an HBA with 8 phys is expected to support 2 SGPIO initiators). The SClock and SLoad outputs may be shared to reduce pin count (e.g., from 8 pins to 6).

9.3 SAS backplane

SGPIO may be used from a SAS expander to communicate a bit stream for all the drives in a backplane. The bit stream is not limited to 4 drives as with the SAS 4i connector. For example, an 8 port expander might

employ a bit stream of 8 drives (one per phy). The SGPIO target would be designed to ignore the phys known not to be attached to drives.

SGPIO may also be used in a closed environment between an HBA and a backplane with a bitstream

supporting more than 4 drives. HBAs may be designed to output multiple 4-drive bit streams for use with SAS 4i cable assemblies and a single n-drive bit stream for use in closed environments.

Serial GPIO Bus 33

SFF-8485 Revision 0.7Published

9.4 SATA internal 4 Lane connector

Table 37 defines the SGPIO signal assignments for the SATA internal 4 Lane connector (see SATA and SFF-8484).

Table 37 — SATA internal 4 Lane connector signal assignments for SGPIO

Pin

Signal

SIDEBAND0SIDEBAND1SIDEBAND2SIDEBAND3SIDEBAND4SIDEBAND5

SClockSLoadGroundGroundSDataOutSDataIn

Table 38 describes the relationship of the bits to the SATA physical links using the same internal 4 Lane connector.

Table 38 — SATA bit assignments

Bits

Usage

0 to 23 to 56 to to 1112 to 1415 to 1718 to 2021 to 23...191192 to z

SATA physical link 0, port multiplier device 0SATA physical link 1, port multiplier device 0SATA physical link 2, port multiplier device 0SATA physical link 3, port multiplier device 0SATA physical link 0, port multiplier device 1SATA physical link 1, port multiplier device 1SATA physical link 2, port multiplier device 1SATA physical link 3, port multiplier device 1...

SATA physical link 3, port multiplier device 15Vendor-specific

If the SATA initiator supports port multipliers, the initiator shall provide bits for SATA port multipliers for each of the physical links (192 bits total). If some of the physical links are not using a port multiplier, the target shall ignore the additional bits (but the initiator shall still transmit tristated bits in those positions).

If the SATA initiator does not support port multipliers, the initiator shall provide bits 0 through 11 only and shall restart the bit stream with bit 12.

34Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

9.5 PCI Express ExpressModule

Table 39 defines the SGPIO signal assignments for the PCI Express ExpressModule (see PCI-EM).

Table 39 — PCI Express ExpressModule signal assignments for SGPIO

Pin

Signal

STOR_SB-1STOR_SB-2STOR_SB-3STOR_SB-4

SClockSDataOutSDataInSLoad

Table 40 describes the relationship of the bits to the SAS physical links using the same ExpressModule connector.

Table 40 — PCI Express bit assignmentsBits

Usage

0 to 23 to 56 to to 1112 to 1415 to 1718 to 2021 to 23...191192 to z

Internal drive physical link 0Internal drive physical link 1Internal drive physical link 2Internal drive physical link 3

SATA physical link 0, port multiplier device 1SATA physical link 1, port multiplier device 1SATA physical link 2, port multiplier device 1SATA physical link 3, port multiplier device 1...

SATA physical link 3, port multiplier device 15Vendor-specific

If the initiator does not know whether the target supports SATA, it shall terminate the bit stream after bit 11 and follow the rules for a SAS 4i connector (see 9.2). If the initiator determines that the target supports SATA on a physical link, it shall continue through bit 191 and follow the rules for a SATA internal 4 Lane connector (see 9.4).

Serial GPIO Bus 35

SFF-8485 Revision 0.7Published

10 Suggested SGPIO usage (informative)10.1 Suggested SGPIO usage overview

This clause defines suggested one possible usage model for the vendor-specific fields defined in this standard.

A local SGPIO environment is where the SGPIO initiator is in an HBA attached to a backplane of directly attached drives. Each drive is assumed to be attached via a drive bay. Each SGPIO bus corresponds to the 4 physical links on the SFF-8484 connector. The SGPIO bit stream is 12 bits long.

A remote SGPIO environment is where the HBA talks to an expander on a backplane, the expander provides the SGPIO initiator to control the drives attached to it, and the SMP functions described in this standard are used to access the SGPIO initiator. There is one SGPIO bus per expander device, corresponding to all the phys in the expander device (starting with phy 0). The SGPIO bit stream is a multiple of 12 bits (i.e., 4 bays) long. Each drive is assumed to be attached via a drive bay.

Each bay has a number from 1-16 which is physically presented to the user (e.g., on the outside of the enclosure).

The backplane provides 3 LEDs for each bay as described in table 41.

Table 41 — Bay LED meanings

Meaning

Code

On (1)

Off (0)

Blinking at 1 Hz with

Other pattern

50% duty cycle (0101...)

Mostly on, but off during activity:

configured &&online &&no activity

not configured ||

rebuilding ||

not online ||

capacity expansion ||

(inactive and not

RAID migration

rebuilding)

configured &&online &&activity &&!(rebuilding ||

capacity expansion ||RAID migration)

Blinking at 1 Hz with 50% duty cycle, alternating Locate and Error:selected &&(failed ||

predicted failure)

Activity

Locateselectednot selectednone

Errordrive has faileddrive is OKpredicted failure

10.2 SDataOut

The SGPIO SDataOut bit stream defined in table 42 controls 3 LEDs per bay. In table 42, m (0, 4, 8, or 12) is the lowest phy number of the four phys. The bay number (1-16) of each bay is determined by the Reverse Bay

36Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

Numbers bit and Group ID field in the SDataIn bit stream. The bays within each set of 4 bays are referred to as relative bays A, B, C, and D for coordinating the description in this standard.

Table 42 — SDataOut bit stream for set of 4 bays

Bit

Relative bay

Name

m.0m.1m.2m+1.0m+1.1m+1.2m+2.0m+2.1m+2.2m+3.0m+3.1m+3.2

DCBA

ActivityLocateErrorActivityLocateErrorActivityLocateErrorActivityLocateError

10.3 SDataIn

The SGPIO SDataIn bit stream defined in table 43 reports a mixture of bay-specific information (e.g. Drive Installed and Bay Present bits) and information that is related to the set of 4 bays rather than related to the

Serial GPIO Bus 37

SFF-8485 Revision 0.7Published

specific bay (e.g. Group ID and Reverse Bay Numbers). The bays within each set of 4 bays are referred to as relative bays A, B, C, and D for coordinating the description in this standard.

Table 43 — SDataIn bit stream for set of 4 bays

Bit

Relative Name

bay

Description

m.0m.1m.2m+1.0m+1.1m+1.2m+2.0m+2.1

AN/ABN/AC

Drive InstalledBay PresentGroup ID MSBDrive InstalledBay PresentGroup ID LSBDrive InstalledBay Present

0=installed, 1=not installed0=present, 1=not present

Identifies the range of bay numbers of these bays (see table 44)

0=installed, 1=not installed0=present, 1=not present

Identifies the range of bay numbers of these bays (see table 44)

0=installed, 1=not installed0=present, 1=not present

0=Bay D (i.e., bits m+3.x) maps to the lowest bay number and bay A (i.e., bits m+0.x) maps to the highest bay number

m+2.2N/AReverse Bay Numbers

1=Bay A (i.e., bits m+0.x) maps to the lowest bay number and bay D (i.e., bits m+3.x) maps to the highest bay number

m+3.0m+3.1

D

Drive InstalledBay Present

0=installed, 1=not installed0=present, 1=not present

Reserved for definition in future revisions of this standard.

m+3.2N/AReserved

Although currently reserved, the value of this bit from the SDataIn bit stream shall be included in the GPIO receive registers (see 8.4.3) by the SGPIO initiator.

A Drive Installed bit of 0 indicates that drive presence detect logic has determined a drive is present in the associated bay. This is based off detection of the voltage/ground pins. A bit of 1 indicates that presence detect logic has determined a drive is not present (or that no such logic exists).

Each Bay Installed bit indicates whether or not a bay exists in that position. If the bay does not exist, the Drive Installed bit shall be ignored and the SDataOut bits for that bay are ignored by the backplane and shall be set to 1 (tristate) by the SGPIO initiator.

The Group ID field indicates the range of bay numbers controlled by this set of bays and is specified in table 44. The MSB (bit m.2) is on the left and the LSB (bit m+1.2) is on the right.

Table 44 — Group ID field

Code

Description

11b10b01b00b

This set of bays has bay numbers 1-4.This set of bays has bay numbers 5-8.This set of bays has bay numbers 9-12.This set of bays has bay numbers 13-16.

38Serial GPIO Bus

PublishedSFF-8485 Revision 0.7

The Reverse Bay Numbers bit indicates the order the bay numbers are assigned to the set of 4 bays. A

Reserve Bay Numbers bit of 1 indicates that the bay numbers controlled by this set of bays are swapped (e.g., physical link 0 corresponds to the highest bay number controlled by this set of bays). A bit of 0 indicates they are not swapped (e.g., physical link 0 corresponds to the lowest bay number controlled by this set of bays).Table 45 shows how the Reverse Bay Numbers bit and Group ID field combine to define the bay numbers.

Table 45 — Bay numbersSDataIn bit values

Bay Reverse Bay Numbers

Group ID

Relative bay

number

A

111b

B2C3D4A

510b

B6C71b

D8A901b

B10C11D12A

1300b

B14C15D16A

411b

B3C2D1A

810b

B7C60b

D5A1201b

B11C10D9A

1600b

B15C14D

13

Serial GPIO Bus 39

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务