SGPIO - SGPIO
L'ingresso/uscita seriale per uso generico (SGPIO) è un bus a quattro segnali (oa quattro fili) utilizzato tra un adattatore bus host (HBA) e un backplane . Dei quattro segnali, tre sono pilotati dall'HBA e uno dal backplane. In genere, l'HBA è un controller di archiviazione situato all'interno di un server, desktop, rack o workstation che si interfaccia con unità disco rigido o unità a stato solido per archiviare e recuperare i dati. È considerato un'estensione del concetto di input/output generico (GPIO).
La specifica SGPIO è mantenuta dallo Small Form Factor Committee nello standard SFF-8485 . L' International Blinking Pattern Interpretation indica come i segnali SGPIO vengono interpretati in diodi emettitori di luce (LED) lampeggianti su array di dischi e backplane di archiviazione.
Storia
SGPIO è stato sviluppato come collaborazione ingegneristica tra American Megatrends Inc, all'epoca produttori di backplane, e LSI-Logic nel 2004. SGPIO è stato successivamente pubblicato dal comitato SFF come specifica SFF-8485 .
Adattatori bus host
Il segnale SGPIO è composto da 4 segnali elettrici; in genere proviene da un adattatore bus host (HBA). I connettori iPass (di solito SFF-8087 o SFF-8484) trasportano sia i collegamenti elettrici SAS/SATA tra l'HBA e i dischi rigidi, sia i 4 segnali SGPIO.
Backplane con interfaccia bus SGPIO
Un backplane è un circuito stampato con connettori e circuiti di alimentazione a cui sono collegati i dischi rigidi; possono avere più slot, ognuno dei quali può essere popolato con un disco rigido. Tipicamente il back-plane è dotato di LED che con il loro colore e la loro attività, indicano lo stato dello slot; in genere, il LED di uno slot emetterà un colore particolare o una sequenza di lampeggi per indicare il suo stato corrente.
Interpretazione SGPIO e pattern di lampeggio dei LED
Sebbene molti fornitori di hardware definiscano il proprio pattern di lampeggio LED proprietario, lo standard comune per l'interpretazione SGPIO e il pattern di lampeggio LED possono essere trovati nelle specifiche IBPI .
Sui backplane, i fornitori utilizzano in genere 2 o 3 LED per slot – in entrambe le implementazioni un LED verde indica presenza e/o attività – per backplane con 2 LED per slot, il secondo LED indica lo stato mentre nei backplane con 3 I LED il secondo e il terzo indicano Locate e Fail .
Caratteristiche elettriche del bus SGPIO
Il bus SGPIO è costituito da 4 linee di segnale e ha origine sull'HBA, denominato iniziatore e termina su un back-plane , denominato target . Se un back-plane (o target ) non è presente, l'HBA può comunque guidare il bus senza alcun danno al sistema; se ne esiste uno, può comunicare con l'HBA utilizzando il 4° filo.
Il bus SGPIO è un bus a collettore aperto con resistori di pull-up da 2.0 kΩ situati sull'HBA e sul backplane, poiché su qualsiasi bus a collettore aperto le informazioni vengono trasferite da dispositivi sul bus che mettono a terra le linee (GND) utilizzando un transistor a collettore o FET a drain aperto .
Linee di segnale del bus SGPIO
Slock
Il bus SGPIO ha una linea di clock dedicata pilotata dall'iniziatore (la sua frequenza di clock massima è di 100 kHz), sebbene molte implementazioni ne utilizzino di più lente (tipicamente 48 kHz).
SLoad
Questa linea è sincrona all'orologio ed è usata per indicare l'inizio di un nuovo frame di dati; un nuovo frame SGPIO è indicato da SLoad che è alto in corrispondenza di un fronte di salita di un clock dopo essere stato basso per almeno 5 cicli di clock. I seguenti 4 fronti di clock discendente dopo una condizione di avvio vengono utilizzati per trasportare un valore a 4 bit dall'HBA al back-plane; la definizione di questo valore è proprietaria e varia tra i fornitori di sistemi.
SDataOut
Questa linea trasporta 3 bit di dati dall'HBA al backplane: il primo bit normalmente svolge attività ; il secondo bit porta locate ; e il terzo bit porta fail . Un valore basso per il primo bit indica nessuna attività e un valore alto indica attività .
SDataIn
Questa linea è utilizzata dal back-plane e indica alcune condizioni sul back-plane all'HBA. Il primo bit alto indica comunemente la presenza di un'unità. I due bit seguenti sono in genere inutilizzati e guidati a livello basso. Poiché questa linea sarebbe alta per tutti e 3 i bit quando nessun backplane è connesso, un HBA può rilevare la presenza di un backplane dal secondo o terzo bit di SDataIn che viene portato a livello basso.
SDataIn e SdataOut si ripetono quindi con 3 clock per unità fino a raggiungere l'ultima unità e il ciclo ricomincia.
Implementazione SGPIO
Esistono varietà nel modo in cui il bus SGPIO viene implementato tra i fornitori di HBA e controller di archiviazione: alcuni fornitori invieranno un flusso continuo di dati che è vantaggioso per aggiornare rapidamente i LED su un backplane dopo che i cavi sono stati rimossi e reinseriti, mentre altri inviano dati solo quando è necessario aggiornare il modello LED.
Adozione della specifica SGPIO
SGPIO e le specifiche SGPIO. è generalmente adottato e implementato nei prodotti della maggior parte dei principali fornitori di HBA e controller di archiviazione come LSI , Intel , Adaptec , Nvidia , Broadcom , Marvell Technology Group e PMC-Sierra . La maggior parte dei prodotti forniti con supporto per unità SAS e SATA supportano questo standard.
Condizioni di timeout SGPIO
La specifica SGPIO richiede che il target spenga tutti gli indicatori quando SClock, SLoad e SDataOut sono alti per 64 ms; in pratica questo non è seguito in modo coerente da tutti i fornitori. Inoltre, nelle implementazioni di alcuni fornitori, l'orologio può essere interrotto sporadicamente o interrotto durante o tra i cicli. Un'altra variazione, piuttosto poco pratica, tra i fornitori è lo stato in cui l'orologio viene lasciato dopo un ciclo.
Implementazioni backplane del bus SGPIO
L'idea alla base di questa specifica era quella di poter utilizzare CPLD o microcontrollori a basso costo su un back-plane per pilotare i LED; in pratica, è stato riscontrato che ci sono variazioni nei tempi e nelle interpretazioni dei bit tra i fornitori, quindi un semplice CPLD funzionerebbe solo per un'implementazione specifica accuratamente testata con un prodotto di un fornitore. Un microcontrollore è più applicabile per questo scopo, sebbene il bus personalizzato dell'interfaccia SGPIO a 4 bit non sia implementato su di essi: il campionamento delle linee a 4 bit utilizzando operazioni GPIO a 100 kHz è troppo lento per molti microcontrollori a basso costo da gestire durante la gestione LED e altre funzioni contemporaneamente. La lunghezza del flusso di bit varia tra HBA o controller di archiviazione; alcuni fornitori interromperanno il flusso di bit quando raggiunge l'unità desiderata, mentre altri lo sincronizzano completamente. Alcuni flussi di bit di SAS-expander possono essere lunghi fino a 108 (36×3) bit.
L'implementazione più sicura che garantisce la compatibilità tra tutti i fornitori di HBA e controller di archiviazione consiste nell'utilizzare un ASIC , in particolare, una combinazione di un core di microcontrollore con un'interfaccia SGPIO hardware; questo concetto è stato brevettato nel 2006 da AMI e implementato in una serie di chip controller per backplane denominati MG9071 , MG9072 , MG9077 e MG9082 .
Questi chip riceveranno 1 o 2 flussi SGPIO e pilotano i LED di conseguenza; l'ultimo chip di AMI, l' MG9077 , può essere configurato tramite resistori pull-up e pull-down per adottare 16 diverse configurazioni di bus SGPIO e pilotare i LED di conseguenza. Poiché la disponibilità di questi chip da AMI, i principali OEM tra cui NEC , Hitachi , Supermicro , IBM , Sun Microsystems e altri li utilizzano sui loro backplane per ricevere i flussi SGPIO da una varietà di fornitori di HBA e chip di controller integrati per pilotare costantemente i LED con uno schema di lampeggio predeterminato.
link esterno
- Specifiche SFF-8485 per bus seriale GPIO (SGPIO)
- Documenti SFF (Documenti e Specifiche)