SGPIO
Seriell allmän ingång/utgång (SGPIO) är en buss med fyra signaler (eller fyrtrådar) som används mellan en värdbussadapter (HBA) och ett bakplan . Av de fyra signalerna drivs tre av HBA och en av bakplanet. Vanligtvis är HBA en lagringskontroller placerad inuti en server, stationär, rack- eller arbetsstationsdator som samverkar med hårddiskar eller solid state-enheter för att lagra och hämta data. Det anses vara en förlängning av för generellt in-/utdata ( GPIO).
SGPIO-specifikationen underhålls av Small Form Factor Committee i SFF-8485- standarden. Internationella blinkande mönstertolkningar indikerar hur SGPIO-signaler tolkas till blinkande lysdioder (LED) på diskarrayer och lagringsbakplan.
Historia
SGPIO utvecklades som ett ingenjörssamarbete mellan amerikanska Megatrends Inc, vid den tidens tillverkare av bakplan, och LSI-Logic 2004. SGPIO publicerades senare av SFF-kommittén som specifikation SFF- 8485 .
Värdbussadaptrar
SGPIO-signalen består av 4 elektriska signaler; den kommer vanligtvis från en värdbussadapter (HBA). iPass-kontakter (vanligtvis SFF-8087 eller SFF-8484) bär både SAS/SATA elektriska anslutningar mellan HBA och hårddiskarna såväl som de 4 SGPIO-signalerna.
Bakplan med SGPIO-bussgränssnitt
Ett bakplan är ett kretskort med kontakter och strömkretsar i vilka hårddiskar är anslutna; de kan ha flera platser, som var och en kan fyllas med en hårddisk. Vanligtvis är bakplanet utrustat med lysdioder som genom sin färg och aktivitet indikerar kortplatsens status; vanligtvis kommer en kortplats LED att avge en viss färg eller blinkmönster för att indikera dess aktuella status.
SGPIO-tolkning och LED-blinkmönster
Även om många hårdvaruleverantörer definierar sitt eget proprietära LED-blinkmönster, kan den gemensamma standarden för SGPIO-tolkning och LED-blinkningsmönster hittas i IBPI- specifikationen .
På bakplan använder leverantörer vanligtvis 2 eller 3 lysdioder per kortplats - i båda implementeringarna indikerar en grön lysdiod närvaro och/eller aktivitet - för bakplan med 2 lysdioder per plats, den andra lysdioden indikerar status medan i bakplan med 3 Den andra och tredje lysdioden indikerar lokalisera och misslyckas .
Elektriska egenskaper hos SGPIO-bussen
SGPIO-bussen består av 4 signallinjer och har sitt ursprung i HBA, kallad initiator och slutar vid ett bakplan , kallat målet . Om ett bakplan (eller mål ) inte finns kan HBA fortfarande köra bussen utan att skada systemet; om en sådan finns kan den kommunicera tillbaka till HBA med den 4:e ledningen.
SGPIO-bussen är en öppen samlarbuss med 2,0 kΩ pull-up-motstånd placerade vid HBA och bakplanet - som på alla öppna samlarbussar överförs information av enheter på bussen som drar ledningarna till jord (GND) med en öppen kollektortransistor eller FET med öppen dränering .
Signalledningar för SGPIO-bussen
SClock
SGPIO-bussen har en dedikerad klocklinje som drivs av initiatorn (dess maximala klockfrekvens är 100 kHz), även om många implementeringar använder långsammare (vanligtvis 48 kHz).
SLoad
Denna linje är synkron med klockan och används för att indikera starten av en ny dataram; en ny SGPIO-ram indikeras av att SLoad är hög vid en stigande flank på en klocka efter att ha varit låg i minst 5 klockcykler. Följande 4 fallande klockflanker efter ett starttillstånd används för att överföra ett 4-bitars värde från HBA till bakplanet; definitionen av detta värde är proprietär och varierar mellan systemleverantörer.
SDataOut
Denna linje bär 3 bitar av data från HBA till bakplanet: den första biten bär vanligtvis aktivitet ; den andra biten bär lokalisera ; och den tredje biten bär misslyckas . Ett lågt värde för den första biten indikerar ingen aktivitet och ett högt värde indikerar aktivitet .
SDataIn
Denna linje används av bakplanet och indikerar något tillstånd på bakplanet tillbaka till HBA. Den första biten som är hög indikerar vanligtvis närvaron av en enhet. De två följande bitarna är vanligtvis oanvända och drivs lågt. Eftersom denna linje skulle vara hög för alla 3 bitarna när inget bakplan är anslutet, kan en HBA detektera närvaron av ett bakplan genom att den andra eller tredje biten av SDataIn drivs lågt.
SDataIn och SdataOut upprepas sedan med 3 klockor per enhet tills den sista enheten nås, och cykeln börjar om igen.
SGPIO implementering
Det finns variationer i hur SGPIO-bussen implementeras mellan leverantörer av HBA:er och lagringskontroller - vissa leverantörer kommer att skicka en kontinuerlig ström av data vilket är fördelaktigt för att snabbt uppdatera lysdioderna på ett bakplan efter att kablar har tagits bort och satts in igen, medan andra skickar data endast när det finns ett behov av att uppdatera LED-mönstret.
Antagande av SGPIO-specifikationen
SGPIO och SGPIO-specifikationen. är allmänt antagen och implementerad i produkter från de flesta stora HBA- och lagringskontrollerleverantörer som LSI , Intel , Adaptec , Nvidia , Broadcom , Marvell Technology Group och PMC-Sierra . De flesta produkter som skickas med stöd för SAS- och SATA -enheter stöder denna standard.
SGPIO timeout villkor
SGPIO-specifikationen kräver att målet stänger av alla indikatorer när SClock, SLoad och SDataOut har varit höga i 64 ms; i praktiken följs detta inte konsekvent av alla leverantörer. I vissa leverantörers implementeringar kan klockan också stoppas sporadiskt eller stoppas under eller mellan cykler. En annan – ganska opraktisk – variation mellan leverantörer är det tillstånd där klockan lämnas efter en cykel.
Bakplansimplementeringar av SGPIO-bussen
Tanken bakom denna specifikation var att kunna använda lågkostnads- CPLD eller mikrokontroller på ett bakplan för att driva lysdioder; i praktiken har det visat sig att det finns variationer i timing och tolkningar av bitarna mellan leverantörer, så en enkel CPLD skulle bara fungera för en specifik implementering som är noggrant testad med en produkt från en leverantör. [ citat behövs ] En mikrokontroller är mer långsam citat behövs användbar för detta ändamål, även om den anpassade 4-bitars SGPIO-gränssnittsbussen inte är implementerad på dem [ ] - sampling av 4-bitarslinjerna med hjälp av GPIOs 100 kHz bitoperationer är för [ förtydligande behövs ] för många lågkostnadsmikrokontroller att hantera samtidigt som de hanterar LED och andra funktioner. Längden på bitströmmen varierar mellan HBA eller lagringskontroller; vissa leverantörer kommer att stoppa bitströmmen när de når önskad enhet, medan andra kommer att klocka den hela vägen igenom. Vissa SAS-expanders bitströmmar kan vara så långa som 108 (36×3) bitar.
Den säkraste implementeringen som säkerställer kompatibilitet mellan alla HBA- och lagringskontrollerleverantörer är att använda en ASIC , specifikt en kombination av en mikrokontrollerkärna med ett hårdvaru-SGPIO-gränssnitt; detta koncept patenterades 2006 av AMI och implementerades i en serie bakplanskontrollchips med namnet MG9071, MG9072, MG9077 och MG9082 .
Dessa chips kommer att ta emot 1 eller 2 SGPIO-strömmar och driva lysdioder i enlighet därmed; det senaste chippet från AMI, MG9077, kan konfigureras med pull-up- och pull-down-motstånd för att anpassa sig till 16 olika konfigurationer av SGPIO-bussar och driva lysdioderna därefter. Sedan dessa kretsar finns tillgängliga från AMI använder stora OEM-tillverkare inklusive NEC , Hitachi , Supermicro , IBM , Sun Microsystems och andra dem på sina bakplan för att ta emot SGPIO-strömmar från en mängd olika HBA-leverantörer och inbyggda kontrollerchips för att konsekvent driva lysdioder med ett förutbestämt blinkmönster.
externa länkar
- SFF-8485 Specifikation för seriell GPIO-buss (SGPIO).
- SFF-dokument (dokument och specifikationer)