Detección de presencia en serie

Forma estandarizada de acceder automáticamente a la información sobre un módulo de memoria

En informática , la detección de presencia en serie ( SPD ) es una forma estandarizada de acceder automáticamente a la información sobre un módulo de memoria . Los módulos SIMM de 72 pines anteriores incluían cinco pines que proporcionaban cinco bits de datos de detección de presencia en paralelo (PPD), pero el estándar DIMM de 168 pines cambió a una detección de presencia en serie para codificar más información. [1]

Cuando se enciende una computadora moderna común y corriente, comienza realizando una prueba automática de encendido (POST). Desde aproximadamente mediados de la década de 1990, este proceso incluye la configuración automática del hardware presente en ese momento. SPD es una función del hardware de memoria que permite que la computadora sepa qué memoria está presente y qué tiempos de memoria utilizar para acceder a ella.

Algunas computadoras se adaptan a los cambios de hardware de manera completamente automática. En la mayoría de los casos, existe un procedimiento opcional especial para acceder a los parámetros del BIOS , para ver y posiblemente realizar cambios en las configuraciones. Es posible controlar cómo la computadora utiliza los datos SPD de la memoria: para elegir configuraciones, modificar selectivamente los tiempos de la memoria o posiblemente anular por completo los datos SPD (consulte overclocking ).

Información almacenada

Para que un módulo de memoria admita SPD, las normas JEDEC exigen que determinados parámetros se encuentren en los 128 bytes inferiores de una EEPROM ubicada en el módulo de memoria. Estos bytes contienen parámetros de sincronización, fabricante, número de serie y otra información útil sobre el módulo. Los dispositivos que utilizan la memoria determinan automáticamente los parámetros clave del módulo al leer esta información. Por ejemplo, los datos SPD en un módulo SDRAM pueden proporcionar información sobre la latencia CAS para que el sistema pueda configurarla correctamente sin la intervención del usuario.

El firmware de la EEPROM SPD se accede mediante SMBus , una variante del protocolo I2C . Esto reduce la cantidad de pines de comunicación en el módulo a solo dos: una señal de reloj y una señal de datos. La EEPROM comparte pines de tierra con la RAM, tiene su propio pin de alimentación y tiene tres pines adicionales (SA0–2) para identificar la ranura, que se utilizan para asignar a la EEPROM una dirección única en el rango 0x50–0x57. No solo se pueden compartir las líneas de comunicación entre 8 módulos de memoria, sino que el mismo SMBus se usa comúnmente en las placas base para tareas de monitoreo del estado del sistema, como leer voltajes de la fuente de alimentación, temperaturas de la CPU y velocidades de los ventiladores.

Las EEPROM SPD también responden a las direcciones I 2 C 0x30–0x37 si no han sido protegidas contra escritura, y una extensión (serie TSE) utiliza las direcciones 0x18–0x1F para acceder a un sensor de temperatura opcional en chip. Todos esos valores son direcciones I 2 C de siete bits formadas por un prefijo de código de identificación de tipo de dispositivo (DTIC) con SA0-2: para leer (1100) desde la ranura 3, se utiliza 110 0011 = 0x33. Con un bit R/W final forma el código de selección de dispositivo de 8 bits. [2] Nótese que la semántica de slot-id es diferente para las operaciones de protección contra escritura: para ellas no pueden ser pasadas por los pines SA en absoluto. [3]

Antes de SPD, los chips de memoria se detectaban con detección de presencia paralela (PPD). PPD utilizaba un pin independiente para cada bit de información, lo que significaba que solo se podía almacenar la velocidad y la densidad del módulo de memoria debido al espacio limitado para los pines.

Memoria SDRAM de tipo SDR

Dispositivo de memoria en un módulo SDRAM , que contiene datos SPD (en un círculo rojo)

La primera especificación SPD fue emitida por JEDEC y ajustada por Intel como parte de su especificación de memoria PC100 introducida en 1998. [4] [5] [6] La mayoría de los valores especificados están en forma decimal codificada en binario . El nibble más significativo puede contener valores de 10 a 15 y, en algunos casos, se extiende más allá. En tales casos, las codificaciones para 1, 2 y 3 se utilizan en su lugar para codificar 16, 17 y 18. Un nibble más significativo de 0 se reserva para representar "indefinido".

La ROM SPD define hasta tres tiempos de DRAM, para tres latencias CAS especificadas por bits establecidos en el byte 18. Primero viene la latencia CAS más alta (reloj más rápido), luego dos latencias CAS más bajas con velocidades de reloj progresivamente más bajas.

Contenido de SPD para SDR SDRAM [7]
BytePocoNotas
(dic.)(maleficio.)76543210
00x00Número de bytes presentesNormalmente 128
10x01log 2 (tamaño de la EEPROM SPD)Normalmente 8 (256 bytes)
20x02Tipo de memoria básica (4: SPD SDRAM)
30x03Bits de dirección de fila del banco 2 (0–15)Bits de dirección de fila del banco 1 (1–15)El banco 2 es 0 si es el mismo que el banco 1
40x04Bits de dirección de la columna del banco 2 (0–15)Bits de dirección de la columna del banco 1 (1–15)El banco 2 es 0 si es el mismo que el banco 1
50x05Número de bancos de RAM en el módulo (1–255)Comúnmente 1 o 2
60x06Ancho de datos del módulo en bytes bajosComúnmente 64 o 72 para DIMM ECC
70x07Ancho de datos del módulo byte alto0, a menos que el ancho sea ≥ 256 bits
80x08Nivel de voltaje de interfaz de este conjunto (no es el mismo que el voltaje de suministro de V cc ) (0–4)Descodificado por búsqueda en la tabla
90x09Nanosegundos (0–15)Décimas de nanosegundos (0,0–0,9)Tiempo de ciclo de reloj en la latencia CAS más alta
100x0aNanosegundos (0–15)Décimas de nanosegundos (0,0–0,9)Tiempo de acceso a SDRAM desde el reloj (t AC )
110x0bTipo de configuración DIMM (0–2): no ECC, paridad, ECCBúsqueda en tabla
120x0cSerPeriodo de actualización (0–5): 64, 256, 128, 32, 16, 8 kHzRequisitos de actualización
130x0dBanco 2 2×Ancho de SDRAM principal del banco 1 (1–127, generalmente 8)Ancho de los dispositivos SDRAM de datos del banco 1. El banco 2 puede tener el mismo ancho o el doble del ancho si se establece el bit 7.
140x0eBanco 2 2×Ancho de SDRAM ECC del banco 1 (0–127)Ancho de los dispositivos SDRAM ECC/paridad del banco 1. El banco 2 puede tener el mismo ancho o el doble del ancho si se configura el bit 7.
150x0fRetardo de reloj para lecturas de columnas aleatoriasNormalmente 1
160x10Página8421Longitudes de ráfaga admitidas (mapa de bits)
170x11Bancos por dispositivo SDRAM (1–255)Generalmente 2 o 4
180x127654321Latencias CAS admitidas (mapa de bits)
190x136543210Latencias CS admitidas (mapa de bits)
200x146543210Latencias WE admitidas (mapa de bits)
210x15RedundanteReloj diferencialDatos registradosDatos almacenados en búferPLL en tarjetaDirección registrada.Dirección almacenada en búfer.Mapa de bits de características del módulo de memoria
220x16Tolerancia superior de Vcc ( voltaje de suministro)Tolerancia de voltaje de alimentación ( Vcc ) más bajaEscritura/1 ráfaga de lecturaPrecargar todoPrecarga automáticaPrecarga temprana de RASSoporte de mapa de bits para funciones de chip de memoria
230x17Nanosegundos (4–18)Décimas de nanosegundos (0–9: 0,0–0,9)Tiempo de ciclo de reloj en latencia CAS media
240x18Nanosegundos (4–18)Décimas de nanosegundos (0–9: 0,0–0,9)Tiempo de acceso a los datos desde el reloj (t AC )
250x19Nanosegundos (1–63)0,25 ns (0-3: 0,00-0,75)Tiempo de ciclo de reloj con latencia CAS corta.
260x1aNanosegundos (1–63)0,25 ns (0-3: 0,00-0,75)Tiempo de acceso a los datos desde el reloj (t AC )
270x1bNanosegundos (1–255)Tiempo mínimo de precarga de fila (t RP )
280x1cNanosegundos (1–255)Retardo mínimo entre filas activas y filas activas (t RRD )
290x1dNanosegundos (1–255)Retardo mínimo de RAS a CAS (t RCD )
300x1eNanosegundos (1–255)Tiempo mínimo de precarga activa ( tRAS )
310x1f512 MB256 MB128 MB64 MB32 MB16 MB8 MB4 MiBDensidad de bancos de módulos (mapa de bits). Se establecen dos bits si los bancos son de diferente tamaño.
320x20Signo (1: −)Nanosegundos (0–7)Décimas de nanosegundos (0–9: 0,0–0,9)Hora de configuración de la dirección/comando desde el reloj
330x21Signo (1: −)Nanosegundos (0–7)Décimas de nanosegundos (0–9: 0,0–0,9)Tiempo de retención de dirección/comando después del reloj
340x22Signo (1: −)Nanosegundos (0–7)Décimas de nanosegundos (0–9: 0,0–0,9)Hora de configuración de entrada de datos desde el reloj
350x23Signo (1: −)Nanosegundos (0–7)Décimas de nanosegundos (0–9: 0,0–0,9)Tiempo de retención de entrada de datos después del reloj
36–610x24–0x3dReservadoPara una futura estandarización
620x3eRevisión importante (0–9)Revisión menor (0–9)Nivel de revisión del SPD; p. ej., 1.2
630x3fSuma de comprobaciónSuma de bytes 0–62, no negada
64–710x40–47Fabricante JEDEC id.Almacenado en formato little-endian, relleno con ceros finales
720x48Ubicación de fabricación del móduloCódigo específico del proveedor
73–900x49–0x5aNúmero de pieza del móduloASCII, relleno con espacio
91–920x5b–0x5cCódigo de revisión del móduloCódigo específico del proveedor
930x5dDecenas de años (0–9: 0–90)Años (0–9)Fecha de fabricación (AAAA)
940x5eDecenas de semanas (0–5: 0–50)Semanas (0–9)
95–980x5f–0x62Número de serie del móduloCódigo específico del proveedor
99–1250x63–0x7fDatos específicos del fabricantePodría mejorarse el perfil de rendimiento
1260x7e0x66 [ sic ] para 66 MHz, 0x64 para 100 MHzCompatibilidad con frecuencia Intel
1270x7fCLK0CLK1CLK3CLK390/100 °CCL3CL2AP concurrenteMapa de bits de funciones de Intel

Memoria SDRAM DDR

El formato DDR DIMM SPD es una extensión del formato SDR SDRAM. En general, los rangos de parámetros se reescalan para adaptarse a velocidades más altas.

Contenido de SPD para DDR SDRAM [8]
BytePocoNotas
(dic.)(maleficio.)76543210
00x00Número de bytes escritosNormalmente 128
10x01log 2 (tamaño de la EEPROM SPD)Normalmente 8 (256 bytes)
20x02Tipo de memoria básica (7 = DDR SDRAM)
30x03Bits de dirección de fila del banco 2 (0–15)Bits de dirección de fila del banco 1 (1–15)El banco 2 es 0 si es el mismo que el banco 1.
40x04Bits de dirección de la columna del banco 2 (0–15)Bits de dirección de la columna del banco 1 (1–15)El banco 2 es 0 si es el mismo que el banco 1.
50x05Número de bancos de RAM en el módulo (1–255)Comúnmente 1 o 2
60x06Ancho de datos del módulo en bytes bajosComúnmente 64 o 72 para DIMM ECC
70x07Ancho de datos del módulo byte alto0, a menos que el ancho sea ≥ 256 bits
80x08Nivel de voltaje de interfaz de este conjunto (no es el mismo que el voltaje de suministro de V cc ) (0–5)Descodificado por búsqueda en la tabla
90x09Nanosegundos (0–15)Décimas de nanosegundos (0,0–0,9)Tiempo de ciclo de reloj en la latencia CAS más alta.
100x0aDécimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de acceso a SDRAM desde el reloj (t AC )
110x0bTipo de configuración DIMM (0–2): no ECC, paridad, ECCBúsqueda en tabla
120x0cSerPeriodo de actualización (0–5): 64, 256, 128, 32, 16, 8 kHzRequisitos de actualización
130x0dBanco 2 2×Ancho de la SDRAM primaria del banco 1 (1–127)Ancho de los dispositivos SDRAM de datos del banco 1. El banco 2 puede tener el mismo ancho o el doble del ancho si se establece el bit 7.
140x0eBanco 2 2×Ancho de SDRAM ECC del banco 1 (0–127)Ancho de los dispositivos SDRAM ECC/paridad del banco 1. El banco 2 puede tener el mismo ancho o el doble del ancho si se configura el bit 7.
150x0fRetardo de reloj para lecturas de columnas aleatoriasNormalmente 1
160x10Página8421Longitudes de ráfaga admitidas (mapa de bits)
170x11Bancos por dispositivo SDRAM (1–255)Normalmente 4
180x1243.532.521.51Latencias CAS admitidas (mapa de bits)
190x136543210Latencias CS admitidas (mapa de bits)
200x146543210Latencias WE admitidas (mapa de bits)
210x15incógnitaReloj diferencialHabilitación externa del interruptor FETHabilitación del interruptor FET integradoPLL en tarjetaRegistradoalmacenado en búferMapa de bits de características del módulo de memoria
220x16AP rápidoPrecarga automática concurrenteTolerancia superior de Vcc ( voltaje de suministro)Tolerancia de voltaje de alimentación ( Vcc ) más bajaIncluye controlador débilMapa de bits de características del chip de memoria
230x17Nanosegundos (0–15)Décimas de nanosegundos (0,0–0,9)Tiempo de ciclo de reloj en latencia CAS media.
240x18Décimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de acceso a los datos desde el reloj (t AC )
250x19Nanosegundos (0–15)Décimas de nanosegundos (0,0–0,9)Tiempo de ciclo de reloj con latencia CAS corta.
260x1aDécimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de acceso a los datos desde el reloj (t AC )
270x1bNanosegundos (1–63)0,25 ns (0–0,75)Tiempo mínimo de precarga de fila (t RP )
280x1cNanosegundos (1–63)0,25 ns (0–0,75)Retardo mínimo entre filas activas y filas activas (t RRD )
290x1dNanosegundos (1–63)0,25 ns (0–0,75)Retardo mínimo de RAS a CAS (t RCD )
300x1eNanosegundos (1–255)Tiempo mínimo de precarga activa ( tRAS )
310x1f512 MB256 MB128 MB64 MB32 MB16 MiB/
4 GiB
8 MiB/
2 GiB
4 MiB/
1 GiB
Densidad de bancos de módulos (mapa de bits). Se establecen dos bits si los bancos son de diferente tamaño.
320x20Décimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Hora de configuración de la dirección/comando desde el reloj
330x21Décimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de retención de dirección/comando después del reloj
340x22Décimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Hora de configuración de entrada de datos desde el reloj
350x23Décimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de retención de entrada de datos después del reloj
36–400x24–0x28ReservadoInformación de superconjunto
410x29Nanosegundos (1–255)Tiempo mínimo de actividad a actividad/actualización (t RC )
420x2aNanosegundos (1–255)Tiempo mínimo de actualización a activo/actualización (t RFC )
430x2bNanosegundos (1–63, o 255: sin máximo)0,25 ns (0–0,75)Tiempo máximo de ciclo de reloj (t CK máx.)
440x2cCentésimas de nanosegundos (0,01–2,55)Sesgo máximo, DQS a cualquier DQ. (t DQSQ máx.)
450x2dDécimas de nanosegundos (0,0–1,2)Centésimas de nanosegundos (0,00–0,09)Factor de sesgo de retención de datos de lectura (t QHS )
460x2eReservadoPara una futura estandarización
470x2fAlturaAltura del módulo DIMM, consulta en la tabla
48–610x30–0x3dReservadoPara una futura estandarización
620x3eRevisión importante (0–9)Revisión menor (0–9)Nivel de revisión SPD, 0.0 o 1.0
630x3fSuma de comprobaciónSuma de bytes 0–62, no negada
64–710x40–47Fabricante JEDEC id.Almacenado en formato little-endian, relleno con ceros finales
720x48Ubicación de fabricación del móduloCódigo específico del proveedor
73–900x49–0x5aNúmero de pieza del móduloASCII, relleno con espacio
91–920x5b–0x5cCódigo de revisión del móduloCódigo específico del proveedor
930x5dDecenas de años (0–90)Años (0–9)Fecha de fabricación (AAAA)
940x5eDecenas de semanas (0–50)Semanas (0–9)
95–980x5f–0x62Número de serie del móduloCódigo específico del proveedor
99–1270x63–0x7fDatos específicos del fabricantePodría mejorarse el perfil de rendimiento

Memoria SDRAM DDR2

El estándar DDR2 SPD introduce una serie de cambios, pero es similar al anterior. Una eliminación notable es la compatibilidad confusa y poco utilizada con módulos DIMM con dos filas de tamaños diferentes.

Para los campos de tiempo de ciclo (bytes 9, 23, 25 y 49), que están codificados en BCD , se definen algunas codificaciones adicionales para el dígito de las décimas para representar con exactitud algunos tiempos comunes:

Extensiones BCD DDR2
MaleficioBinarioSignificado
A10100,25 ( 14 )
B10110,33 ( 13 )
do11000,66 ( 23 )
D11010,75 ( 34 )
mi11100.875 ( 78 , extensión XMP de Nvidia)
F1111Reservado
Contenido de SPD para SDRAM DDR2 [9]
BytePocoNotas
DicMaleficio76543210
00x00Número de bytes escritosNormalmente 128
10x01log 2 (tamaño de la EEPROM SPD)Normalmente 8 (256 bytes)
20x02Tipo de memoria básica (8 = DDR2 SDRAM)
30x03ReservadoBits de dirección de fila (1–15)
40x04ReservadoBits de dirección de columna (1–15)
50x05Altura vertical¿Pila?¿ConC?Rangos −1 (1–8)Comúnmente 0 o 1, es decir 1 o 2
60x06Ancho de datos del móduloComúnmente 64 o 72 para DIMM ECC
70x07Reservado
80x08Nivel de voltaje de interfaz de este conjunto (no es el mismo que el voltaje de suministro de V cc ) (0–5)Descodificado por consulta en tabla.
Normalmente 5 = SSTL 1,8 V
90x09Nanosegundos (0–15)Décimas de nanosegundos (0,0–0,9)Tiempo de ciclo de reloj en la latencia CAS más alta.
100x0aDécimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de acceso a SDRAM desde el reloj (t AC )
110x0bTipo de configuración DIMM (0–2): no ECC, paridad, ECCBúsqueda en tabla
120x0cSerPeriodo de actualización (0–5): 64, 256, 128, 32, 16, 8 kHzRequisitos de actualización
130x0dAncho de SDRAM primaria (1–255)Comúnmente 8 (módulo construido a partir de ×8 partes) o 16
140x0eAncho de SDRAM ECC (0–255)Ancho de los dispositivos SDRAM con paridad/ECC de banco. Normalmente 0 u 8.
150x0fReservado
160x1084Longitudes de ráfaga admitidas (mapa de bits)
170x11Bancos por dispositivo SDRAM (1–255)Generalmente 4 u 8
180x12765432Latencias CAS admitidas (mapa de bits)
190x13Reservado
200x14Mini-UDIMMMini-RDIMMMicro-DIMMSO DIMMMemoria UDIMMemoria RAM DDR3Tipo de DIMM de este ensamblaje (mapa de bits)
210x15El módulo es una sonda de análisis.Habilitación externa del interruptor FETMapa de bits de características del módulo de memoria
220x16Incluye controlador débilMapa de bits de características del chip de memoria
230x17Nanosegundos (0–15)Décimas de nanosegundos (0,0–0,9)Tiempo de ciclo de reloj en latencia CAS media.
240x18Décimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de acceso a los datos desde el reloj (t AC )
250x19Nanosegundos (0–15)Décimas de nanosegundos (0,0–0,9)Tiempo de ciclo de reloj con latencia CAS corta.
260x1aDécimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de acceso a los datos desde el reloj (t AC )
270x1bNanosegundos (1–63)1/4 ns (0–0,75)Tiempo mínimo de precarga de fila (t RP )
280x1cNanosegundos (1–63)1/4 ns (0–0,75)Retardo mínimo entre filas activas y filas activas (t RRD )
290x1dNanosegundos (1–63)1/4 ns (0–0,75)Retardo mínimo de RAS a CAS (t RCD )
300x1eNanosegundos (1–255)Tiempo mínimo de precarga activa ( tRAS )
310x1f512 MB256 MB128 MB16 GB8 GB4 GB2 GB1 GBTamaño de cada rango (mapa de bits).
320x20Décimas de nanosegundos (0,0–1,2)Centésimas de nanosegundos (0,00–0,09)Hora de configuración de la dirección/comando desde el reloj
330x21Décimas de nanosegundos (0,0–1,2)Centésimas de nanosegundos (0,00–0,09)Tiempo de retención de dirección/comando después del reloj
340x22Décimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de configuración de entrada de datos desde el estroboscopio
350x23Décimas de nanosegundos (0,0–0,9)Centésimas de nanosegundos (0,00–0,09)Tiempo de retención de entrada de datos después del estroboscopio
360x24Nanosegundos (1–63)0,25 ns (0–0,75)Tiempo mínimo de recuperación de escritura ( tWR )
370x25Nanosegundos (1–63)0,25 ns (0–0,75)Retardo de comando de lectura y escritura interna (t WTR )
380x26Nanosegundos (1–63)0,25 ns (0–0,75)Retardo del comando de lectura interna para precargar (t RTP )
390x27ReservadoReservado para "características de la sonda de análisis de memoria"
400x28t RC ns fraccionario (0–5):
0, 0,25, 0,33, 0,5, 0,66, 0,75
t RFC ns fraccionarios (0–5):
0, 0,25, 0,33, 0,5, 0,66, 0,75
t RFC + 256 nsAmpliación de los bytes 41 y 42.
410x29Nanosegundos (1–255)Tiempo mínimo de actividad a actividad/actualización (t RC )
420x2aNanosegundos (1–255)Tiempo mínimo de actualización a activo/actualización (t RFC )
430x2bNanosegundos (0–15)Décimas de nanosegundos (0,0–0,9)Tiempo máximo de ciclo de reloj (tCK máx .)
440x2cCentésimas de nanosegundos (0,01–2,55)Máximo sesgo, DQS a cualquier DQ. (t DQSQ máx.)
450x2dCentésimas de nanosegundos (0,01–2,55)Factor de sesgo de retención de datos de lectura (t QHS )
460x2eMicrosegundos (1–255)Tiempo de rebloqueo del PLL
47–610x2f–0x3dReservadoPara una futura estandarización.
620x3eRevisión importante (0–9)Revisión menor (0,0–0,9)Nivel de revisión SPD, normalmente 1.0
630x3fSuma de comprobaciónSuma de bytes 0–62, no negada
64–710x40–47Fabricante JEDEC IDLittle-endian almacenado, relleno de ceros final
720x48Ubicación de fabricación del móduloCódigo específico del proveedor
73–900x49–0x5aNúmero de pieza del móduloASCII, relleno con espacio (limitado a (,-,), A–Z, a–z, 0–9, espacio)
91–920x5b–0x5cCódigo de revisión del móduloCódigo específico del proveedor
930x5dAños desde 2000 (0–255)Fecha de fabricación (AAAA)
940x5eSemanas (1–52)
95–980x5f–0x62Número de serie del móduloCódigo específico del proveedor
99–1270x63–0x7fDatos específicos del fabricantePodría mejorarse el perfil de rendimiento

Memoria SDRAM DDR3

El estándar DDR3 SDRAM renueva y simplifica significativamente el diseño de los contenidos de SPD. En lugar de una serie de campos de nanosegundos codificados en BCD, se especifican algunas unidades de "base de tiempo" con alta precisión y varios parámetros de tiempo se codifican como múltiplos de esa unidad base. [10] Además, se ha abandonado la práctica de especificar diferentes valores de tiempo en función de la latencia CAS; ahora hay un solo conjunto de parámetros de tiempo.

La revisión 1.1 permite que algunos parámetros se expresen como un valor de "base de tiempo media" más una corrección de "base de tiempo fina" (con signo, −128 + 127). Generalmente, la base de tiempo media es 1/8 ns (125 ps) y la base de tiempo fina es 1, 2,5 o 5 ps. Para compatibilidad con versiones anteriores que carecen de la corrección, el número de la base de tiempo media se suele redondear hacia arriba y la corrección es negativa. Los valores que funcionan de esta manera son:

Parámetros de temporización de dos partes de la DDR3 SPD
Byte de MTBByte FTBValor
1234t CK min, período de reloj mínimo
1635t AA min, tiempo mínimo de latencia CAS
1836t RCD mín., retardo mínimo de RAS# a CAS#
2037t RP min, retraso mínimo de precarga de fila
21, 2338t RC min, retardo mínimo de activo a activo/precarga
Contenido de SPD para SDRAM DDR3 [11] [12]
BytePocoNotas
DicMaleficio76543210
00x00Excluir serial del CRCTotal de bytes SPD (undef/256)Bytes SPD utilizados (undef/128/176/256)
10x01Revisión importante del SPDRevisión menor del SPD1.0, 1.1, 1.2 o 1.3
20x02Tipo de memoria básica (11 = DDR3 SDRAM)Tipos de chips de RAM
30x03ReservadoTipo de móduloTipo de módulo; por ejemplo, 2 = DIMM sin búfer, 3 = SO-DIMM, 11=LRDIMM
40x04Bits de dirección del banco−3log 2 (bits por chip)−28Cero significa 8 bancos, 256 Mibit.
50x05Bits de dirección de fila: 12Bits de dirección de columna −9
60x06Reservado1,25 V1,35 VNo 1,5 VVoltajes de módulos admitidos. 1,5 V es el valor predeterminado.
70x07rangos−1log 2 (bits de E/S/chip)−2Organización del módulo
80x08Bits ECC (001=8)log 2 (bits de datos)−30x03 para DIMM de 64 bits, no ECC.
90x09Dividendo, picosegundos (1–15)Divisor, picosegundos (1–15)Base de tiempo fina, dividendo/divisor
100x0aDividendo, nanosegundos (1–255)Base de tiempo media, dividendo/divisor; comúnmente 1/8
110x0bDivisor, nanosegundos (1–255)
120x0cTiempo mínimo de ciclo t CK minEn múltiplos de MTB
130x0dReservado
140x0e1110987654Latencias CAS admitidas (mapa de bits)
150x0f18171615141312
160x10Tiempo mínimo de latencia CAS, t AA minEn múltiplos de MTB; por ejemplo, 80/8 ns.
170x11Tiempo mínimo de recuperación de escritura, tWR minEn múltiplos de MTB; por ejemplo, 120/8 ns.
180x12Tiempo de retardo mínimo de RAS a CAS, t RCD minEn múltiplos de MTB; por ejemplo, 100/8 ns.
190x13Tiempo mínimo de retardo activo de fila a fila, t RRD minEn múltiplos de MTB; por ejemplo, 60/8 ns.
200x14Tiempo mínimo de precarga de fila, t RP minEn múltiplos de MTB; por ejemplo, 100/8 ns.
210x15t RC mín, bits 11:8t RAS mín., bits 11:8Los 4 bits superiores de los bytes 23 y 22
220x16Mínimo activo por tiempo, t RAS min, bits 7:0En múltiplos de MTB; por ejemplo, 280/8 ns.
230x17Mínimo activo a activo/actualizado, t RC min, bits 7:0En múltiplos de MTB; por ejemplo, 396/8 ns.
240x18Retardo mínimo de recuperación de actualización, t RFC min, bits 7:0En múltiplos de MTB; por ejemplo, 1280/8 ns.
250x19Retardo mínimo de recuperación de actualización, t RFC min, bits 15:8
260x1aRetardo mínimo interno de escritura a lectura, t WTR minEn múltiplos de MTB; por ejemplo, 60/8 ns.
270x1bRetardo mínimo de lectura interna para precarga, t RTP minEn múltiplos de MTB; por ejemplo, 60/8 ns.
280x1cReservadot FAW mín., bits 11:8En múltiplos de MTB; por ejemplo, 240/8 ns.
290x1dRetardo mínimo de cuatro ventanas de activación t FAW min, bits 7:0
300x1eDLL desactivadoRZQ/7RZQ/6Las características opcionales de SDRAM admiten mapas de bits
310x1fPASRODTsASRETR 1×ETR (95 °C)Opciones de actualización y temperatura de SDRAM
320x20PresentePrecisión (por determinar; actualmente 0 = indefinido)¿Está presente el sensor térmico DIMM?
330x21No estándar.Conteo de dadosCarga de señalTipo de dispositivo SDRAM no estándar (por ejemplo, matriz apilada)
340x22Corrección mínima de t CK (nuevo para 1.1)Múltiplo firmado de FTB, agregado al byte 12
350x23Corrección mínima de t AA (nuevo para 1.1)Múltiplo firmado de FTB, agregado al byte 16
360x24Corrección mínima del RCD ( nuevo para 1.1)Múltiplo firmado de FTB, agregado al byte 18
370x25Corrección mínima de t RP (nuevo para 1.1)Múltiplo firmado de FTB, agregado al byte 20
380x26Corrección mínima de t RC (nuevo para 1.1)Múltiplo firmado de FTB, agregado al byte 23
39–400x27–0x28ReservadoPara una futura estandarización.
410x29Específico del proveedort MAWRecuento máximo de activación (MAC) (no probado/700k/600k/.../200k/reservado/∞)Para mitigación de golpes de martillo
42–590x2a–0x3bReservadoPara una futura estandarización.
600x3cAltura del módulo, mm (1–31, >45)Altura nominal del módulo
610x3dEspesor de la espalda, mm (1–16)Espesor frontal, mm (1–16)Espesor del módulo, valor = ceil(mm) − 1
620x3eDiseñoRevisiónNúmero de diseño JEDECDiseño de referencia JEDEC utilizado (11111=ninguno)
63–1160x3f–0x74Sección específica del móduloDiferencias entre registrado/sin búfer
1170x75Identificación del fabricante del módulo, lsbyteAsignado por JEP-106
1180x76Identificación del fabricante del módulo, msbyte
1190x77Ubicación de fabricación del móduloCódigo específico del proveedor
1200x78Decenas de añosAñosAño de fabricación (BCD)
1210x79Decenas de semanasSemanasSemana de fabricación (BCD)
122–1250x7a–0x7dNúmero de serie del móduloCódigo específico del proveedor
126–1270x7e–0x7fDispositivo de protección contra sobretensiones CRC-16Incluye los bytes 0–116 o 0–125; consulte el byte 0 bit 7
128–1450x80–0x91Número de pieza del móduloSubconjunto ASCII, rellenado con espacios
146–1470x92–0x93Código de revisión del móduloDefinido por el proveedor
148–1490x94–0x95Identificación del fabricante de DRAMA diferencia del fabricante del módulo
150–1750x96–0xAFDatos específicos del fabricante
176–2550xB0–0xFFDisponible para uso del cliente

La capacidad de memoria de un módulo se puede calcular a partir de los bytes 4, 7 y 8. El ancho del módulo (byte 8) dividido por la cantidad de bits por chip (byte 7) da la cantidad de chips por fila. Esto se puede multiplicar por la capacidad por chip (byte 4) y la cantidad de filas de chips en el módulo (generalmente 1 o 2, a partir del byte 7).

Memoria SDRAM DDR4

El estándar DDR4 SDRAM "Anexo L" para SPD cambia el módulo EEPROM utilizado. En lugar de las antiguas EEPROM de 256 bytes compatibles con AT24C02, JEDEC ahora define un nuevo tipo no estándar EE1004 con dos páginas a nivel de SMBus, cada una con 256 bytes. La nueva memoria todavía utiliza las antiguas direcciones 0x50–0x57, pero ahora se utilizan dos direcciones adicionales en 0x36 (SPA0) y 0x37 (SPA1) para recibir comandos para seleccionar la página actualmente activa para el bus, una forma de conmutación de bancos . [13] Internamente, cada página lógica se divide a su vez en dos bloques físicos de 128 bytes cada uno, lo que suma un total de cuatro bloques y 512 bytes. [14] La semántica restante para los rangos de direcciones "especiales" sigue siendo la misma, aunque la protección contra escritura ahora se aborda por bloques y ahora se requiere un alto voltaje en SA0 para cambiar su estado. [15]

El Anexo L define algunos diseños diferentes que se pueden incorporar a una plantilla de 512 bytes (de los cuales se define un máximo de 320 bytes), según el tipo de módulo de memoria. Las definiciones de bits son similares a las de DDR3. [14]

Contenido de SPD para SDRAM DDR4 [16]
BytePocoNotas
DicMaleficio76543210
00x00Bytes SPD utilizados
10x01Revisión n del SPDGeneralmente 0x10, 0x11, 0x12
20x02Tipo de memoria básica (12 = DDR4 SDRAM)Tipos de chips de RAM
30x03ReservadoTipo de móduloTipo de módulo; por ejemplo, 2 = DIMM sin búfer, 3 = SO-DIMM, 11=LRDIMM
40x04Bits del grupo bancarioBits de dirección del banco−2Capacidad total de SDRAM por chip en megabitsCero significa que no hay grupos bancarios, 4 bancos, 256 Mibit.
50x05ReservadoBits de dirección de fila: 12Bits de dirección de columna −9
60x06Tipo de paquete SDRAM primarioConteo de dadosReservadoCarga de señal
70x07ReservadoVentana de activación máxima (tMAW)Recuento máximo de activación (MAC)Características opcionales de SDRAM
80x08ReservadoOpciones de actualización y temperatura de SDRAM
90x09Reparación de paquetes posteriores (PPR)PPR blandoReservadoOtras características opcionales de SDRAM
100x0aTipo de paquete SDRAMNúmero de dados −1Relación de densidad de DRAMCarga de señalTipo de paquete SDRAM secundario
110x0bReservadoBandera resistenteBandera operableTensión nominal del módulo, VDD
120x0cReservadoMezcla de rangosRangos de paquetes por DIMM−1Ancho del dispositivo SDRAMOrganización del módulo
130x0dReservadoAmpliación del ancho del busAncho del bus primarioAncho del bus de memoria del módulo en bits
140x0eSensor térmicoReservadoMódulo sensor térmico
150x0fReservadoTipo de módulo base extendido
160x10Reservado
170x11ReservadoBase de tiempo media (MTB)Base de tiempo fina (FTB)Medido en ps.
180x12Tiempo mínimo de ciclo de SDRAM, t CKAVG minEn múltiplos de MTB; por ejemplo, 100/8 ns.
190x13Tiempo máximo de ciclo de SDRAM, t CKAVG máx.En múltiplos de MTB; por ejemplo, 60/8 ns.
200x141413121110987Máscara de bits compatible con latencias CAS
210x152221201918171615Máscara de bits compatible con latencias CAS
220x163029282726252423Máscara de bits compatible con latencias CAS
230x17Rango CL bajoReservado363534333231Máscara de bits compatible con latencias CAS
240x18Tiempo mínimo de latencia CAS, t AA minEn múltiplos de MTB; por ejemplo, 1280/8 ns.
250x19Tiempo de retardo mínimo de RAS a CAS, t RCD minEn múltiplos de MTB; por ejemplo, 60/8 ns.
260x1aTiempo mínimo de retardo de precarga de fila, t RP minEn múltiplos de MTB; por ejemplo, 60/8 ns.
270x1bNibbles superiores para t RAS min y t RC min
280x1cTiempo mínimo de retardo de precarga activa, t RAS min byte menos significativoEn múltiplos de MTB
290x1dTiempo mínimo de retardo de activo a activo/actualización, t RC min byte menos significativoEn múltiplos de MTB
300x1eTiempo mínimo de retardo de recuperación de actualización, t RFC1 min byte menos significativoEn múltiplos de MTB
310x1fTiempo mínimo de retardo de recuperación de actualización, t RFC1 min byte más significativoEn múltiplos de MTB
320x20Tiempo mínimo de retardo de recuperación de actualización, t RFC2 min byte menos significativoEn múltiplos de MTB
330x21Tiempo mínimo de retardo de recuperación de actualización, t RFC2 min byte más significativoEn múltiplos de MTB
340x22Tiempo mínimo de retardo de recuperación de actualización, t RFC4 min byte menos significativoEn múltiplos de MTB
350x23Tiempo mínimo de retardo de recuperación de actualización, t RFC4 min byte más significativoEn múltiplos de MTB
360x24Reservadot FAW min mordisco más significativo
370x25Tiempo mínimo de retardo de activación de cuatro ventanas, t FAW min byte menos significativoEn múltiplos de MTB
380x26Tiempo mínimo de retardo de activación para activación, t RRD_S min, grupo de bancos diferenteEn múltiplos de MTB
390x27Tiempo mínimo de retardo de activación para activación, t RRD_L min, mismo grupo de bancosEn múltiplos de MTB
400x28Tiempo de retardo mínimo de CAS a CAS, t CCD_L min, mismo grupo de bancosEn múltiplos de MTB
410x29Mordisco superior para t WR min
420x2aTiempo mínimo de recuperación de escritura, tWR minEn múltiplos de MTB
430x2bNibbles superiores para t WTR min
440x2cTiempo mínimo de escritura a lectura, t WTR_S min, grupo de bancos diferenteEn múltiplos de MTB
450x2dTiempo mínimo de escritura a lectura, t WTR_L min, mismo grupo de bancosEn múltiplos de MTB
49–590x2e–0x3bReservadoSección de configuración base
60–770x3c–0x4dConector a mapeo de bits de SDRAM
78–1160x4e–0x74ReservadoSección de configuración base
1170x75Desplazamiento fino para el tiempo de retardo mínimo de CAS a CAS, t CCD_L min, mismo bancoMultiplicador de complemento a dos para unidades FTB
1180x76Desplazamiento fino para el tiempo mínimo de activación para activar el tiempo de retardo, t RRD_L min, mismo grupo de bancosMultiplicador de complemento a dos para unidades FTB
1190x77Desplazamiento fino para el tiempo de retardo de activación mínimo, t RRD_S min, grupo de bancos diferenteMultiplicador de complemento a dos para unidades FTB
1200x78Desplazamiento fino para el tiempo mínimo de retardo de activo a activo/actualización, t RC minMultiplicador de complemento a dos para unidades FTB
1210x79Compensación fina para el tiempo mínimo de retardo de precarga de fila, t RP minMultiplicador de complemento a dos para unidades FTB
1220x7aDesplazamiento fino para el tiempo de retardo mínimo de RAS a CAS, t RCD minMultiplicador de complemento a dos para unidades FTB
1230x7bCompensación fina para tiempo de latencia CAS mínimo, t AA minMultiplicador de complemento a dos para unidades FTB
1240x7cDesplazamiento fino para el tiempo de ciclo máximo de SDRAM, t CKAVG máx.Multiplicador de complemento a dos para unidades FTB
1250x7dDesplazamiento fino para el tiempo de ciclo mínimo de SDRAM, t CKAVG minMultiplicador de complemento a dos para unidades FTB
1260x7eCódigo de redundancia cíclica (CRC) para la sección de configuración base, byte menos significativoAlgoritmo CRC16
1270x7fCódigo de redundancia cíclica (CRC) para la sección de configuración base, byte más significativoAlgoritmo CRC16
128–1910x80–0xbfSección específica del móduloDepende de la familia de módulos de memoria (UDIMM, RDIMM, LRDIMM)
192–2550xc0–0xffParámetros específicos de la arquitectura de memoria híbrida
256–3190x100–0x13fBloque de parámetros de función extendida
320–3210x140–0x141Fabricante del móduloVéase JEP-106
3220x142Ubicación de fabricación del móduloCódigo de ubicación de fabricación definido por el fabricante
3230x143Año de fabricación del móduloRepresentado en código decimal binario (BCD)
3240x144Semana de fabricación de módulosRepresentado en código decimal binario (BCD)
325–3280x145–0x148Número de serie del móduloFormato definido por el fabricante para un número de serie único en todos los números de pieza
329–3480x149–0x15cNúmero de pieza del móduloNúmero de pieza ASCII, los dígitos no utilizados deben configurarse en 0x20
3490x15dCódigo de revisión del móduloCódigo de revisión definido por el fabricante
350–3510x15e–0x15fCódigo de identificación del fabricante de DRAMVéase JEP-106
3520x160Paso a paso de DRAMPaso definido por el fabricante o 0xFF si no se utiliza
353–3810x161–0x17dDatos específicos del fabricante
382–3830x17e–0x17fReservado

Memoria SDRAM DDR5

Tabla preliminar para DDR5, basada en la especificación JESD400-5. [17]

La DDR5 amplía la tabla SPD a 1024 bytes. La SPD de la DDR5 utiliza el bus I3C .

Contenido de SPD para SDRAM DDR5
BytePocoNotas
DicMaleficio76543210
00x00Número de bytes en el dispositivo SPD
10x01Revisión de SPD para parámetros de configuración base
20x02Byte clave/tipo de protocolo de comando de bus host
30x03Byte clave/tipo de módulo
40x04Primera densidad y paquete de SDRAM
50x05Primer direccionamiento de SDRAM
60x06Primer ancho de E/S de SDRAM
70x07Primeros grupos de bancos SDRAM y bancos por grupo de bancos
80x08Segunda densidad y paquete de SDRAM
90x09Segundo direccionamiento de SDRAM
100x0aSegundo ancho de E/S de SDRAM
110x0bSegundos grupos de bancos SDRAM y bancos por grupo de bancos
120x0cCaracterísticas opcionales de SDRAM
130x0dOpciones térmicas y refrescantes
140x0eReservado
150x0fReservado
160x10Voltaje nominal de SDRAM, VDD

Extensiones

El estándar JEDEC sólo especifica algunos de los bytes SPD. Los datos verdaderamente críticos caben en los primeros 64 bytes, [8] [9] [18] [19] [20] mientras que parte del resto se reserva para la identificación del fabricante. Sin embargo, generalmente se proporciona una EEPROM de 256 bytes. El espacio restante se ha utilizado de diversas formas.

Perfiles de rendimiento mejorados (EPP)

La memoria generalmente viene con recomendaciones de sincronización conservadoras en la ROM SPD, para garantizar la funcionalidad básica en todos los sistemas. Los entusiastas a menudo dedican un tiempo considerable a ajustar manualmente las sincronizaciones de la memoria para lograr una mayor velocidad.

Enhanced Performance Profiles es una extensión de SPD, desarrollada por Nvidia y Corsair , que incluye información adicional para un funcionamiento de mayor rendimiento de la DDR2 SDRAM , incluidos voltajes de suministro e información de sincronización de comandos no incluidos en la especificación JEDEC SPD. La información EPP se almacena en la misma EEPROM, pero en los bytes 99–127, que no son utilizados por la DDR2 SPD estándar. [21]

Uso de ROM SPD EPP
BytesTamañoPerfiles completosPerfiles abreviados
99–1035Encabezado del EPP
104–1096Perfil FP1Perfil AP1
110–1156Perfil AP2
116–1216Perfil FP2Perfil AP3
122–1276Perfil AP4

Los parámetros están diseñados especialmente para adaptarse al controlador de memoria de los chipsets nForce 5 , nForce 6 y nForce 7. Nvidia fomenta la compatibilidad con EPP en el BIOS de sus chipsets de placa base de gama alta. Esto tiene como objetivo proporcionar " overclocking con un solo clic " para obtener un mejor rendimiento con el mínimo esfuerzo.

El nombre de Nvidia para la memoria EPP que ha sido calificada por su rendimiento y estabilidad es "memoria preparada para SLI". [22] El término "memoria preparada para SLI" ha causado cierta confusión, ya que no tiene nada que ver con el video SLI . Se puede usar memoria EPP/SLI con una sola tarjeta de video (incluso una tarjeta que no sea Nvidia), y se puede ejecutar una configuración de video SLI con múltiples tarjetas sin memoria EPP/SLI.

Una versión ampliada, EPP 2.0, también admite memoria DDR3. [23]

Perfil de memoria Intel Extreme (XMP)

Una extensión JEDEC SPD similar, desarrollada por Intel, fue desarrollada para módulos DIMM SDRAM DDR3 , que luego se utilizó también en módulos SDRAM DDR4 y DDR5 . XMP utiliza los bytes 176–255, que no están asignados por JEDEC, para codificar tiempos de memoria de mayor rendimiento. [24]

Más tarde, AMD desarrolló AMP, una tecnología equivalente a XMP, para su uso en su línea "Radeon Memory" de módulos de memoria optimizados para su uso en plataformas AMD. [25] [26] Además, los desarrolladores de placas base implementaron sus propias tecnologías para permitir que sus placas base basadas en AMD leyeran perfiles XMP: MSI ofrece A-XMP, [27] ASUS tiene DOCP (Direct Over Clock Profile) y Gigabyte tiene EOCP (Extended Over Clock Profile). [28]

Uso de ROM XMP SPD [29]
Bytes DDR3TamañoUsar
176–18410Encabezado XMP
185–21933Perfil XMP 1 (configuración "entusiasta")
220–25436Perfil XMP 2 (configuración "extrema")

El encabezado contiene los siguientes datos. Lo más importante es que contiene un valor de "base de tiempo media" MTB, como un número racional de nanosegundos (los valores comunes son 1/8, 1/12 y 1/16 ns). Muchos otros valores de tiempo posteriores se expresan como un número entero de unidades MTB.

También se incluye en el encabezado la cantidad de DIMM por canal de memoria que el perfil está diseñado para soportar; incluir más DIMM puede no funcionar bien.

Bytes de encabezado XMP [29]
Bytes DDR3PedazosUsar
1767:0Byte 1 del número mágico XMP 0x0C
1777:0Byte 2 del número mágico XMP 0x4A
1780Perfil 1 habilitado (si es 0, deshabilitado)
1Perfil 2 habilitado
3:2Perfil 1 DIMM por canal (1–4 codificados como 0–3)
5:4Perfil 2 DIMM por canal
7:6Reservado
1793:0Número de versión secundaria de XMP (x.0 o x.1)
7:4Número de versión principal de XMP (0.x o 1.x)
1807:0Dividendo de base temporal media para el perfil 1
1817:0Divisor de base de tiempo medio para el perfil 1 (MTB = dividendo/divisor ns)
1827:0Dividendo de base de tiempo media para el perfil 2 (por ejemplo, 8)
1837:0Divisor de base de tiempo medio para el perfil 2 (por ejemplo, 1, lo que da MTB = 1/8 ns)
1847:0Reservado
Bytes del perfil XMP [29]
Byte 1 de DDR3Byte 2 de DDR3PedazosUsar
1852200Tensión del módulo Vdd en vigésimas (0,00 o 0,05)
4:1Décimas de voltaje del módulo Vdd (0,0–0,9)
6:5Unidades de voltaje del módulo Vdd (0–2)
7Reservado
1862217:0Período mínimo de reloj SDRAM t CK min (unidades MTB)
1872227:0Tiempo mínimo de latencia CAS t AA min (unidades MTB)
1882237:0Latencias CAS admitidas (mapa de bits, 4–11 codificados como bits 0–7)
1892246:0Latencias CAS admitidas (mapa de bits, 12–18 codificados como bits 0–6)
7Reservado
1902257:0Tiempo mínimo de latencia de escritura CAS t CWL min (unidades MTB)
1912267:0Tiempo mínimo de retardo de precarga de fila t RP min (unidades MTB)
1922277:0Tiempo de retardo mínimo de RAS a CAS t RCD min (unidades MTB)
1932287:0Tiempo mínimo de recuperación de escritura t WR min (unidades MTB)
1942293:0t RAS min nibble superior (bits 11:8)
7:4t RC min nibble superior (bits 11:8)
1952307:0Tiempo mínimo de retardo de precarga activa t RAS min bits 7:0 (unidades MTB)
1962317:0Tiempo mínimo de retardo de activo a activo/actualización t RC min bits 7:0 (unidades MTB)
1972327:0Intervalo de actualización promedio máximo t REFI lsbyte (unidades MTB)
1982337:0Intervalo de actualización promedio máximo t REFI msbyte (unidades MTB)
1992347:0Tiempo mínimo de retardo de recuperación de actualización t RFC min lsbyte (unidades MTB)
2002357:0Tiempo mínimo de retardo de recuperación de actualización t RFC min msbyte (unidades MTB)
2012367:0Tiempo mínimo de retardo del comando de precarga de lectura interna t RTP min (unidades MTB)
2022377:0Tiempo mínimo de retardo de fila activa a fila activa t RRD min (unidades MTB)
2032383:0t FAW min nibble superior (bits 11:8)
7:4Reservado
2042397:0Tiempo de retardo de ventana de activación mínimo de cuatro bits t FAW min 7:0 (unidades MTB)
2052407:0Tiempo mínimo de retardo de comando de lectura y escritura interna t WTR min (unidades MTB)
2062412:0Ajuste del tiempo de respuesta del comando de escritura a lectura (0 a 7 ciclos de reloj)
3Escriba para leer el signo de ajuste de giro del comando (0=tracción, 1=extracción)
6:4Ajuste del tiempo de respuesta del comando de lectura a escritura (0 a 7 ciclos de reloj)
7Signo de ajuste de giro del comando de lectura para escritura (0=tracción, 1=extracción)
2072422:0Ajuste del tiempo de respuesta de comandos consecutivos (0 a 7 ciclos de reloj)
3Señal de ajuste de giro consecutivo (0 = entrada, 1 = salida)
7:4Reservado
2082437:0Modo de velocidad CMD del sistema. 0 = JTAG predeterminado; de lo contrario, en unidades peculiares de MTB × tCK / ns.
Por ejemplo, si MTB es 1/8 ns, entonces se expresa en unidades de 1/8 de ciclo de reloj.
2092447:0Rendimiento de actualización automática de SDRAM.
La versión estándar 1.1 indica que la documentación está pendiente de publicación.
210–218245–2537:0Reservado
2192547:0Código de personalidad reservado y específico del proveedor.

Todos los datos anteriores son para DDR3 (XMP 1.1); las especificaciones DDR4 aún no están disponibles.

Perfiles extendidos de AMD para overclocking (EXPO)

Los perfiles extendidos para overclocking (EXPO) de AMD son una extensión JEDEC SPD desarrollada para módulos DIMM DDR5 para aplicar un perfil de overclocking automático con un solo clic a la memoria del sistema. [30] [31] Los módulos DIMM con certificación EXPO de AMD incluyen tiempos optimizados que optimizan el rendimiento de sus procesadores Zen 4. [32] A diferencia del estándar cerrado XMP de Intel, el estándar EXPO es abierto y libre de regalías. [31] Se puede utilizar en plataformas Intel. [31] En el lanzamiento en septiembre de 2022, hay 15 kits de RAM de socios con certificación EXPO disponibles que alcanzan hasta 6400 MT/s. [33]

Memoria específica del proveedor

Un mal uso habitual es escribir información en determinadas regiones de memoria para vincular módulos de memoria específicos del proveedor a un sistema específico. Se sabe que Fujitsu Technology Solutions hace esto. Agregar un módulo de memoria diferente al sistema generalmente da como resultado un rechazo u otras contramedidas (como presionar F1 en cada arranque).

02 0E 00 01-00 00 00 EF-02 03 19 4D-BC 47 C3 46 ...........MGF53 43 00 04-EF 4F 8D 1F-00 01 70 00-01 03 C1 CF SC...O....p.....

Esta es la salida de un módulo de memoria de 512 MB de Micron Technologies, con la marca Fujitsu-Siemens Computers. Observe la cadena "FSC". El BIOS del sistema rechaza los módulos de memoria que no tienen esta información a partir del desplazamiento 128h.

Algunas laptops AMD de Packard Bell también usan este método, en este caso los síntomas pueden variar pero puede provocar un cursor parpadeante en lugar de un patrón de pitidos. Por cierto, esto también puede ser un síntoma de corrupción del BIOS. [34] Aunque actualizar una de 2 GB a una de 4 GB también puede generar problemas.

Lectura y escritura de información del SPD

Los fabricantes de módulos de memoria escriben la información SPD en la EEPROM del módulo. Las BIOS de las placas base leen la información SPD para configurar el controlador de memoria. Existen varios programas que pueden leer y modificar la información SPD en la mayoría de los conjuntos de chips de las placas base, pero no en todos.

La lectura y escritura de información SPD independiente del chipset se realiza accediendo directamente a la EEPROM de la memoria con el hardware y el software programadores de EEPROM.

Un uso no tan común para los portátiles antiguos es como lectores SMBus genéricos, ya que la EEPROM interna del módulo se puede desactivar una vez que la BIOS la ha leído, de modo que el bus está esencialmente disponible para su uso. El método utilizado es bajar las líneas A0, A1 para que la memoria interna se apague, lo que permite que el dispositivo externo acceda al SMBus. Una vez hecho esto, una compilación personalizada de Linux o una aplicación DOS pueden acceder al dispositivo externo. Un uso común es recuperar datos de los chips de memoria del panel LCD para adaptar un panel genérico a un portátil propietario. En algunos chips, también es una buena idea separar las líneas de protección contra escritura para que los chips integrados no se borren durante la reprogramación. Una técnica relacionada es reescribir el chip en las cámaras web que a menudo se incluyen con muchos portátiles, ya que la velocidad del bus es sustancialmente mayor e incluso se puede modificar para que se puedan volver a leer chips compatibles con 25x para clonar posteriormente la uEFI en caso de que falle un chip.

Lamentablemente, esto solo funciona en DDR3 y versiones inferiores, ya que la DDR4 utiliza una seguridad diferente y, por lo general, solo se puede leer. Es posible utilizar una herramienta como SPDTool o similar y reemplazar el chip por uno que tenga la línea WP libre para que se pueda modificar in situ. En algunos chipsets, puede aparecer el mensaje "¿Controlador SMBus incompatible?", por lo que también se evita la lectura.

Control de LED RGB

Algunos módulos de memoria (especialmente en PC para juegos ) [39] admiten LED RGB que se controlan mediante comandos SMBus propietarios. Esto permite el control del color de los LED sin conectores ni cables adicionales. Los controladores de kernel de varios fabricantes necesarios para controlar las luces han sido explotados para obtener acceso que abarca desde el acceso completo a la memoria del kernel hasta el control del puerto de E/S y MSR en numerosas ocasiones solo en 2020. [40] [41] [42]

En equipos más antiguos

Algunos equipos más antiguos requieren el uso de módulos SIMM con detección de presencia paralela (más comúnmente llamados simplemente detección de presencia o PD). Algunos de estos equipos utilizan codificación PD no estándar, en particular las computadoras IBM y las impresoras Hewlett-Packard LaserJet y otras.

Véase también

Referencias

  1. ^ Thomas P. Koenig; Nathan John (3 de febrero de 1997), "La detección de presencia serial lista para ser el centro de atención", Electronic News , 43 (2153)
  2. ^ Sección 4.1.4 de la Norma JEDEC 21-C "Definición de la EEPROM de detección de presencia en serie (SPD) TSE2002av con sensor de temperatura (TS) para aplicaciones de módulos de memoria"
  3. ^ "TN-04-42: Protección contra escritura mediante detección de presencia en serie del módulo de memoria" (PDF) . Micron .
  4. ^ Dean Kent (24 de octubre de 1998). "Guía de Ram". Tom's Hardware .
  5. ^ Shimpi, Anand Lal. "SDRAM PC100: una introducción". www.anandtech.com .
  6. ^ Nota de aplicación INN-8668-APN3: Estándares de datos SPD de SDRAM, memorytesters.com
  7. ^ Especificación de detección de presencia en serie (SPD) de PC SDRAM (PDF) , 1.2A, diciembre de 1997, pág. 28
  8. ^ ab Norma JEDEC 21-C sección 4.1.2.4 "SPD para SDRAM DDR"
  9. ^ ab Norma JEDEC 21-C sección 4.1.2.10 "SPD específicos para SDRAM DDR2"
  10. ^ "Comprensión de la tabla de detección de presencia en serie (SPD) DDR3".
  11. ^ JESD21-C Anexo K: Detección de presencia en serie para módulos SDRAM DDR3, versión 4, revisión SPD 1.1
  12. ^ JESD21-C Anexo K: Detección de presencia en serie para módulos SDRAM DDR3, versión 6, revisión SPD 1.3
  13. ^ Delvare, Jean. «[PATCH] eeprom: Nuevo controlador ee1004 para memoria DDR4». LKML . Consultado el 7 de noviembre de 2019 .
  14. ^ ab JEDEC. "Anexo L: Detección de presencia en serie (SPD) para módulos SDRAM DDR4" (PDF) .
  15. ^ JEDEC. «Especificación de dispositivos EE1004 y TSE2004 (borrador)» (PDF) . Consultado el 7 de noviembre de 2019 .
  16. ^ JESD21-C Anexo L: Detección de presencia en serie para módulos SDRAM DDR4, versión 5
  17. ^ "JESD400-5B (JESD400-5B)". jedec . 2023 . Consultado el 31 de diciembre de 2023 .
  18. ^ Sección 4.1.2.11 del estándar JEDEC 21-C "Detección de presencia en serie (SPD) para módulos SDRAM DDR3"
  19. ^ Norma JEDEC 21-C sección 4.1.2 "NORMA DE DETECCIÓN DE PRESENCIA EN SERIE, Norma general"
  20. ^ Sección 4.1.2.5 del estándar JEDEC 21-C "PD específicos para DRAM síncrona (SDRAM)"
  21. ^ Especificación de diseño de perfiles de rendimiento mejorados DDR2 UDIMM (PDF) , Nvidia , 12 de mayo de 2006 , consultado el 5 de mayo de 2009
  22. ^ http://www.nvidia.com/docs/CP/45121/sli_memory.pdf [ URL básica PDF ]
  23. ^ Perfiles de rendimiento mejorados 2.0 (págs. 2 y 3)
  24. ^ "¿Qué es Intel Extreme Memory Profile (Intel XMP)?". Intel . Consultado el 26 de septiembre de 2022 .
  25. ^ "Tecnología de perfil de memoria: amplíe su memoria RAM". AMD . 2012 . Consultado el 8 de enero de 2018 .
  26. ^ Martin, Ryan (23 de julio de 2012). «AMD presenta su AMP equivalente a XMP: eTeknix». eTeknix . Consultado el 8 de enero de 2018 .
  27. ^ "MSI es la primera marca del mundo en habilitar A-XMP en Ryzen para obtener el mejor rendimiento de DDR4 y lanza nuevos modelos". MSI . 21 de marzo de 2017 . Consultado el 8 de enero de 2018 .
  28. ^ Tradesman1 (26 de agosto de 2016). "¿Qué significa XMP, DOCP, EOCP? - Resuelto - Memoria". Foros de hardware de Tom . Consultado el 8 de enero de 2018 .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  29. ^ abc "Especificación Intel Extreme Memory Profile (XMP), Rev 1.1" (PDF) . Intel . Octubre de 2007. Archivado desde el original (PDF) el 6 de marzo de 2012 . Consultado el 25 de mayo de 2010 .
  30. ^ "Perfiles extendidos de AMD para overclocking". AMD . Consultado el 26 de septiembre de 2022 .
  31. ^ abc Roach, Jacob (6 de septiembre de 2022). "¿Qué es AMD EXPO y debería tenerlo mi DDR5?". Digital Trends . Consultado el 26 de septiembre de 2022 .
  32. ^ Bonshor, Gavin (30 de agosto de 2022). "Tecnología de memoria AMD EXPO: perfiles de overclocking con un solo clic para Ryzen 7000". AnandTech . Consultado el 26 de septiembre de 2022 .
  33. ^ "AMD anuncia la tecnología EXPO para overclocking de memoria DDR5". VideoCardz . 30 de agosto de 2022 . Consultado el 26 de septiembre de 2022 .
  34. ^ "Actualización de RAM del Packard Bell LJ65". Foro de hardware de Tom . 9 de enero de 2014.
  35. ^ "dmidecode: ¿Para qué sirve?". Linux.com | La fuente de información sobre Linux . 29 de noviembre de 2004.
  36. ^ "decodificar atenuadores (1)". Página de manual de Debian . Consultado el 16 de diciembre de 2020 .
  37. ^ "decodificar-dimms". www.freebsd.org . Consultado el 24 de enero de 2021 .
  38. ^ "HWiNFO - Información y diagnóstico de sistemas profesionales". HWiNFO .
  39. ^ "Memoria DDR4 serie VENGEANCE RGB PRO | Memoria de escritorio | CORSAIR". www.corsair.com . Consultado el 26 de noviembre de 2020 .
  40. ^ ActiveCyber. Escalada de privilegios locales del controlador RGB Viper (informe técnico). CVE - 2019-18845 – a través de MITRE Corporation.
  41. ^ ActiveCyber. Escalada de privilegios locales del controlador CORSAIR iCUE (CVE-2020-8808) (informe técnico). CVE - 2020-8808 – a través de MITRE Corporation.
  42. ^ ActiveCyber. ACTIVE-2020-003: Escalada de privilegios locales del controlador de control de iluminación Trident Z (informe técnico). CVE - 2020-12446 – a través de MITRE Corporation.
  • Detección de presencia en serie estándar, estándar general
  • SPD Rev1.0 para DDR SDRAM
  • SPD Rev1.2 para SDRAM DDR2
  • SPD Rev1.3 para SDRAM DDR2
  • ESPECIALIDAD DDR2-1066 SDRAM
  • Paquete de Linux i2c-tools
  • Instrucciones sobre cómo utilizar lm-sensors o i2c-tools para leer los datos Archivado el 19 de mayo de 2007 en Wayback Machine.
  • Rendimiento de la memoria: 16 GB DDR3-1333 a DDR3-2400 en Ivy Bridge IGP con G.Skill: explicación de los distintos valores de sincronización
Obtenido de "https://es.wikipedia.org/w/index.php?title=Detección_de_presencia_en_serie&oldid=1251390839"