SGPIO - SGPIO
A entrada / saída serial de uso geral (SGPIO) é um barramento de quatro sinais (ou quatro fios) usado entre um adaptador de barramento de host (HBA) e um painel traseiro . Dos quatro sinais, três são conduzidos pelo HBA e um pelo painel traseiro. Normalmente, o HBA é um controlador de armazenamento localizado dentro de um servidor, desktop, rack ou estação de trabalho que faz interface com unidades de disco rígido ou unidades de estado sólido para armazenar e recuperar dados. É considerado uma extensão do conceito de entrada / saída de uso geral (GPIO).
A especificação SGPIO é mantida pelo Small Form Factor Committee no padrão SFF-8485 . A International Blinking Pattern Interpretation indica como os sinais SGPIO são interpretados em diodos emissores de luz (LEDs) piscando em matrizes de disco e planos posteriores de armazenamento.
História
SGPIO foi desenvolvido como uma colaboração de engenharia entre American Megatrends Inc, na época fabricantes de back-planes, e LSI-Logic em 2004. SGPIO foi posteriormente publicado pelo comitê SFF como especificação SFF-8485 .
Adaptadores de barramento host
O sinal SGPIO consiste em 4 sinais elétricos; normalmente se origina de um adaptador de barramento de host (HBA). Os conectores iPass (geralmente SFF-8087 ou SFF-8484) transportam conexões elétricas SAS / SATA entre o HBA e os discos rígidos, bem como os 4 sinais SGPIO.
Backplanes com interface de barramento SGPIO
Um backplane é uma placa de circuito com conectores e circuitos de alimentação aos quais os discos rígidos são conectados; eles podem ter vários slots, cada um deles preenchido com um disco rígido. Normalmente, o backplane está equipado com LEDs que, por sua cor e atividade, indicam o status do slot; normalmente, o LED de um slot emitirá uma determinada cor ou padrão de intermitência para indicar seu status atual.
Interpretação SGPIO e padrões de LED piscando
Embora muitos fornecedores de hardware definam seu próprio padrão de piscar de LED proprietário, o padrão comum para interpretação SGPIO e padrão de piscar de LED pode ser encontrado na especificação IBPI .
Em planos traseiros, os fornecedores usam normalmente 2 ou 3 LEDs por slot - em ambas as implementações, um LED verde indica presença e / ou atividade - para planos traseiros com 2 LEDs por slot, o segundo LED indica Status, enquanto em planos traseiros com 3 O segundo e o terceiro LEDs indicam localização e falha .
Características elétricas do barramento SGPIO
O barramento SGPIO consiste em 4 linhas de sinal e se origina no HBA, denominado iniciador, e termina em um backplane , denominado alvo . Se um backplane (ou destino ) não estiver presente, o HBA ainda pode conduzir o barramento sem nenhum dano ao sistema; se houver, ele pode se comunicar de volta com o HBA usando o 4º fio.
O barramento SGPIO é um barramento coletor aberto com resistores pull-up de 2,0 kΩ localizados no HBA e no backplane - como em qualquer barramento coletor aberto, as informações são transferidas por dispositivos no barramento puxando as linhas para o solo (GND) usando um transistor coletor ou FET de dreno aberto .
Linhas de sinal do barramento SGPIO
SClock
O barramento SGPIO tem uma linha de clock dedicada conduzida pelo iniciador (sua taxa de clock máxima é 100 kHz), embora muitas implementações usem outras mais lentas (normalmente 48 kHz).
SLoad
Esta linha é síncrona com o relógio e é usada para indicar o início de um novo quadro de dados; um novo quadro SGPIO é indicado por SLoad sendo alto em uma borda ascendente de um clock após ter estado baixo por pelo menos 5 ciclos de clock. As seguintes 4 bordas de clock decrescentes após uma condição de início são usadas para transportar um valor de 4 bits do HBA para o plano posterior; a definição desse valor é proprietária e varia entre os fornecedores do sistema.
SDataOut
Esta linha transporta 3 bits de dados do HBA para o backplane: o primeiro bit normalmente transporta atividade ; o segundo bit carrega localizar ; e o terceiro bit carrega falha . Um valor baixo para o primeiro bit indica nenhuma atividade e um valor alto indica atividade .
SDataIn
Esta linha é usada pelo backplane e indica alguma condição no backplane de volta ao HBA. O primeiro bit alto geralmente indica a presença de uma unidade. Os dois bits a seguir normalmente não são usados e são direcionados para baixo. Como essa linha seria alta para todos os 3 bits quando nenhum backplane está conectado, um HBA pode detectar a presença de um backplane pelo segundo ou terceiro bit do SDataIn sendo conduzido para baixo.
O SDataIn e o SdataOut então se repetem com 3 clocks por drive até que o último drive seja alcançado, e o ciclo começa novamente.
Implementação SGPIO
Existem variedades em como o barramento SGPIO é implementado entre fornecedores de HBAs e controladores de armazenamento - alguns fornecedores enviarão um fluxo contínuo de dados que é vantajoso para atualizar rapidamente os LEDs em um painel traseiro após os cabos serem removidos e reinseridos, enquanto outros enviam dados apenas quando houver necessidade de atualizar o padrão de LED.
Adoção da especificação SGPIO
SGPIO e as especificações SGPIO. é geralmente adotado e implementado em produtos da maioria dos principais fornecedores de HBA e controladores de armazenamento, como LSI , Intel , Adaptec , Nvidia , Broadcom , Marvell Technology Group e PMC-Sierra . A maioria dos produtos enviados com suporte para unidades SAS e SATA oferecem suporte a esse padrão.
Condições de tempo limite SGPIO
A especificação SGPIO exige que o alvo desligue todos os indicadores quando SClock, SLoad e SDataOut estiverem altos por 64 ms; na prática, isso não é seguido de forma consistente por todos os fornecedores. Além disso, em algumas implementações de fornecedores, o relógio pode ser interrompido esporadicamente ou interrompido durante ou entre os ciclos. Outra variação - bastante impraticável - entre fornecedores é o estado em que o relógio é deixado após um ciclo.
Implementações de backplane do barramento SGPIO
A ideia por trás dessa especificação era ser capaz de usar CPLDs ou microcontroladores de baixo custo em um backplane para acionar LEDs; na prática, descobriu-se que existem variações no tempo e nas interpretações dos bits entre os fornecedores, portanto, um CPLD simples funcionaria apenas para uma implementação específica totalmente testada com um produto de um fornecedor. Um microcontrolador é mais aplicável para esta finalidade, embora o barramento personalizado da interface SGPIO de 4 bits não seja implementado neles - a amostragem das linhas de 4 bits usando GPIOs operações de 100 kHz é muito lenta para muitos microcontroladores de baixo custo manipularem durante o manuseio LED e outras funções simultaneamente. O comprimento do fluxo de bits varia entre o HBA ou o controlador de armazenamento; alguns fornecedores interromperão o fluxo de bits ao atingir a unidade desejada, enquanto outros o farão todo o tempo. Alguns fluxos de bits do expansor SAS podem ter até 108 (36 × 3) bits.
A implementação mais segura que garante compatibilidade entre todos os HBA e fornecedores de controlador de armazenamento é usar um ASIC , especificamente, uma combinação de um núcleo de microcontrolador com uma interface SGPIO de hardware; este conceito foi patenteado em 2006 pela AMI e implementado em uma série de chips controladores de backplane denominados MG9071 , MG9072 , MG9077 e MG9082 .
Esses chips receberão 1 ou 2 fluxos SGPIO e conduzirão os LEDs de acordo; o chip mais recente da AMI, o MG9077 , pode ser configurado por resistores pull-up e pull-down para adotar 16 configurações diferentes de barramentos SGPIO e acionar os LEDs de acordo. Desde a disponibilidade desses chips da AMI, os principais OEMs, incluindo NEC , Hitachi , Supermicro , IBM , Sun Microsystems e outros estão usando-os em seus planos posteriores para receber os fluxos SGPIO de uma variedade de fornecedores de HBA e chips controladores integrados para acionar LEDs de maneira consistente com um padrão de intermitência predeterminado.
links externos
- Especificação SFF-8485 para barramento GPIO serial (SGPIO)
- Documentos SFF (documentos e especificações)