La Interpretación Internacional de Patrones de Parpadeo (IBPI) es un estándar interno de hardware informático. Define dos elementos:
La especificación SFF-8489 del Small Form Factor Special Interest Group definió la IBPI en 2011. [1] La SGPIO se ha adoptado en toda la industria del almacenamiento y ha reemplazado en gran medida a protocolos propietarios como SCSI Enclosure Services (SES) y SAF-TE . Sin embargo, cabe señalar que tanto la IBPI como la SGPIO subyacente documentan prácticas comunes en lugar de proporcionar requisitos; el registro de cambios completo para la versión 0.4 de IPBI es "Cambios de texto realizados para identificar esta especificación como una alternativa, en lugar de la única". [1]
Los estados de las unidades o ranuras pueden ser, por ejemplo, vacío , fallido , reconstruyendo , etc. El estado de una unidad o ranura está determinado por el adaptador de bus del host y normalmente se transmite a la placa base a través de señales SGPIO en un cable.
En una arquitectura de sistema típica, el adaptador de bus host (HBA) se conecta a una placa base a través de un cable iPass 4× [ aclaración necesaria ] . Las señales SGPIO pasan por el interior de este cable, como una banda lateral. [2]
Luego, la placa base puede conectarse opcionalmente al controlador de administración de la placa base de una placa madre a través de un I²C o SMBus .
El bus SGPIO consta de 4 señales eléctricas. Se origina (o es impulsado por) un iniciador , normalmente un adaptador de bus host o un expansor SAS ( Serial_Attached_SCSI ), y llega a un destino , normalmente una placa base.
SGPIO se utiliza normalmente junto con cables SAS o SATA, donde cada puerto físico está conectado a una única unidad de disco.
La figura siguiente muestra la relación entre SClock, SLoad y los dos bits de datos denominados SDataOut y SDataIn. Se inicia una trama SGPIO después de que SLoad haya estado bajo durante al menos 5 ciclos de SClock.
Tras el inicio de una nueva trama SGPIO, se envían 3 bits por unidad desde el iniciador a la línea SDataOut. Simultáneamente, el destino envía 3 bits a la línea SDataIn. Tanto el iniciador como el destino utilizan el reloj de flanco ascendente para transmitir los cambios en SLoad, SDataOut y SDataIn.
La figura muestra SGPIO para 4 ranuras de unidad (12 relojes), que es el mínimo permitido. La secuencia SGPIO puede ser más grande y no es raro que la secuencia consista en datos de ranura para 12, 24 o 36 unidades/ranuras en el caso de un expansor.
Los 3 bits por unidad se ilustran e interpretan de la siguiente manera:
El primer bit (ODn.0) se utiliza exclusivamente para representar la actividad. El segundo y tercer bit, Localizar (ODn.1) y Fallar (ODn.2), se utilizan directamente para representar un estado de localización y fallo de la unidad.
El flujo SGPIO original estaba pensado para una implementación de bajo costo y está limitado a la capacidad de representar LED de actividad , localización y falla . SGPIO se volvió popular y fue adoptado por los proveedores de placas base y placas base HBA en 2004, y se volvió cada vez más popular después del soporte de los fabricantes de hardware.
Con la llegada de los discos duros SAS/SATA, las placas base no suelen variar mucho entre los sistemas de gama baja y alta, salvo por la incorporación de un puerto físico adicional en el caso de SAS. Como no resulta económico para los proveedores de sistemas diseñar placas base independientes para los sistemas de gama alta y baja, el estándar SGPIO se hizo popular también en los sistemas de gama media y alta.
En los sistemas de gama alta, los iniciadores pueden proporcionar información de estado útil adicional, como la reconstrucción de unidades y la predicción de fallos de las unidades. No existía ningún estándar para representar estas condiciones en la especificación SGPIO original, al mismo tiempo que los proveedores de componentes estaban realizando esfuerzos para elaborar una variedad de adiciones al estándar. Esto dio como resultado la especificación IBPI, que utiliza frecuencias de parpadeo de bits en el flujo SGPIO para representar estados adicionales de las unidades.
En la especificación SGPIO hay 3 bits por ranura (o disco duro). En esta sección se describe cómo se interpreta cada uno de estos bits según la especificación IBPI.
Solo el bit de actividad se interpreta de forma independiente de los otros dos bits. Los otros dos bits ( localizar y fallar ) se pueden interpretar en combinación entre sí en el caso especial en el que ambos bits se activan de forma fija . En cualquier otro caso, los bits de localizar y fallar se interpretan de forma independiente.
Tenga en cuenta que las condiciones interpretadas descritas en esta sección solo se utilizan para determinar la condición de los bits y no describen cómo se controlan los LED en función de estas condiciones.
Cuando el disco duro de una ranura en particular no está presente o se ha quitado, la actividad de esa ranura no tiene significado y no debe interpretarse. Dado que aún podría ser deseable localizar la ranura o indicar una falla, los bits de Localizar y Fallar pueden tener significado para una ranura en particular, incluso si la unidad física no está presente.
La siguiente sección describe cómo se debe interpretar el bit de actividad según la especificación IBPI.
La siguiente sección muestra cómo deben interpretarse los bits de localización y falla según la especificación IBPI.
El estándar IBPI define interpretaciones para implementaciones de 2 y 3 LED como se muestra en la Figura 3.
Esta tabla resume las tablas individuales definidas anteriormente en una sola tabla para mayor claridad.
El 5 de agosto de 2008 se publicó por primera vez un borrador de especificación, basado en el artículo de Wikipedia en ese momento. [1] American Megatrends (AMI) anunció un producto que implementaba IBPI en enero de 2009. [3] Después de algunas revisiones en 2011, como la identificación de IBPI como una alternativa, se adoptó la revisión 0.4 en noviembre de 2011. Cuatro empresas votaron a favor del estándar: AMI, Hewlett-Packard , Molex y Sandisk . Todas las demás se abstuvieron. [1]