Serial Presence Detect (SPD) es un proceso estandarizado de acceso automático a información de un módulo en la memoria RAM. Esta es la versión con comunicación serial. Existe una contraparte (menos utilizada) con comunicación en paralelo, llamada en inglés "Parallel Presence Detect" (PPD).
Información almacenada
El SPD está regulado por un estándar de JEDEC y en él se especifica el uso de un chip de memoria EEPROM. En esta memoria se usan los primeros 128 bytes para almacenar información esencial del módulo como es: parámetros de temporización, fabricante, número de serie y otros datos útiles acerca del módulo. Esta característica permite la configuración de la memoria de manera automática al determinar claramente las características de los módulos. Por ejemplo los módulos de memoria RAM equipados con SPD proveen información crítica de temporización como las latencias y los ciclos de lectura permitiendo un uso óptimo de la memoria sin intervención directa del usuario.
Protocolo de comunicación
El SPD utiliza varios comandos del protocolo de comunicación serial I²C para leer la información en la EEPROM de manera que sólo se utilizan dos pines para comunicación: uno para datos y el otro para la señal de reloj. Además se utilizan otras tres líneas para direccionar los chips EEPROM de los diferentes módulos en una tarjeta madre. El estándar I²C se utiliza comúnmente en las tarjetas madre para tareas de instrumentación como llevar datos de lecturas de voltaje, velocidad de ventiladores y mediciones de temperatura.
SPD-EPP "Enhanced Performance Profiles"
Los perfiles mejorados para rendimiento (EPP en inglés) son chips SPD en los cuales se almacenan datos adicionales que se pueden utilizar en tarjetas madre con "Overclocking". Estos chips guardan información en un espacio de memoria que generalmente permanece vacío (direcciones 99 a la 127) en la SPD normal.
Software lector de SPD
Algunos programas pueden leer y mostrar la información guardada en los chips SPD de la memoria RAM, incluyendo:
- En sistemas Linux, el programa de espacio de usuario decode-dimms.pl lm_sensors [1] decodifica e imprime información de cualquier módulo con SPD instalado en el equipo.
- LinuxBIOS lee y usa la información SPD para inicializar todos los controladores de memoria con temporizaciones, tamaño y otras propiedades.
- En sistemas Windows existen programas como CPU-Z, PCWizard, Everest, etc., que son capaces de mostrar la información del SPD.