Características de la memoria RAM: Velocidad, latencia, Voltaje y overclocking


Características de la memoria RAM: Velocidad, latencia, Voltaje y overclocking.

La memoria es un componente bastante difícil de comprar en comparación con otras piezas, ya que de entrada tenemos tres parámetros en los que fijarnos: Frecuencia, latencias y voltaje. Los tres están íntimamente relacionados, ya que por norma general, en chips de la misma calidad, aumentar la frecuencia implica empeorar las latencias y viceversa. El voltaje es un mal necesario, cuanto más bajo a igualdad del resto de valores, mejor, haremos sufrir menos al controlador de memoria, tendremos un consumo un pelín más bajo, y para colmo ganamos margen para subir en caso de realizar overclock.

Como vemos en esta imagen hemos dividido la pegatina de características en 5 secciones:

  1. Es el tipo de memoria, en este caso DDR4.
  2. La capacidad de la memoria. En este caso nos indica que el pack está compuesto por 16GB en 4 módulos de 4 GB.
  3. Es la velocidad de la memoria. Este módulo tiene 2666 MHz.
  4. Es la latencia con un C15: 15-17-17-35.
  5. El voltaje de la memoria, al ser DDR4 ya vemos memorias con 1.20V.

Las latencias se suelen presentar de la forma X-X-X-XX. Para ver el significado vamos a verlo con un ejemplo. Por ejemplo, para cualquier de memoria podemos encontrarla con 15-15-15-30

Campo Valor de ejemplo  Descripción
CAS latency (CL) 15 Son los ciclos de reloj desde que se envía una dirección de columna a la memoria y el inicio de los datos que están almacenados en la misma. Es el tiempo que se tarda en leer el primer bit de memoria de una RAM con la fila correcta ya abierta.
Row Address to Column Address Delay (TRCD) 15 El número de ciclos de reloj necesarios desde que se abre una fila de memoria y se accede a las columnas de su interior. El tiempo para leer el primer bit de una memoria sin una fila activa es CL+TRCD.
Row Precharge Time (TRP) 15 El número de ciclos de reloj necesarios desde el envío de un comando de precarga y la apertura de la siguiente fila. El tiempo para leer el primer bit de una memoria si está abierta una fila distinta es CL+TRCD+TRP
Row Active Time (TRAS) 30 El número de ciclos de reloj necesarios entre un comando de activación de fila y el envío del comando de precarga. Este es el tiempo necesario para refrescar internamente una fila, solapándose con TRCD. En módulos SDRAM (Syncronous Dynamic RAM, lo habitual) este valor es simplemente CL+TRCD. En otro caso, es aproximadamente igual a (2 * CL)+TRCD.

Una pregunta muy habitual que nos hacéis es ¿En qué debemos fijarnos más entonces? La Respuesta es en todo: frecuencias y latencias. Haciendo hincapié en la primera latencia (CAS) que suele ser la más notoria. Dependiendo del benchmark puede ser más interesante memorias «lentas» con latencias muy ajustadas, o al revés, memorias muy rápidas aunque las latencias sean algo más relajadas. Como parámetro de comparación, suele ser interesante calcular la latencia efectiva, ya que al medirse en ciclos de reloj puede que lo que a primera vista parece peor latencia sea en realidad más elevada. Veamos a continuación como pasar una latencia de ciclos de reloj a nanosegundos.

Volviendo al ejemplo de antes, tenemos un kit trabajando a 2133MT/s, con una latencia CAS de 15 ciclos de reloj. ¿Cuánto es eso?

1/(2133*10^6 (mega))*10^9(nano)*15(ciclos)=7.03ns

Si lo cambiamos por un kit trabajando a 2666MT/s con la misma latencia.

1/(2666*10^6 (mega))*10^9(nano)*15(ciclos)=5.62ns

Es de esperar un rendimiento más alto, por la menor latencia efectiva. ¿Y si subimos ambas? ¿A 3000MT/s CL20 por ejemplo?

1/(3000*10^6 (mega))*10^9(nano)*20(ciclos)=6.66ns

Es de esperar un rendimiento superior, pero probablemente más bajo que en el primer caso. Como regla habitual, si los valores de latencia efectiva son cercanos, elegir el kit que más alta tenga la frecuencia, ya que la frecuencia afecta de forma directa al ancho de banda a memoria (que se calcula como bus x frecuencia), mientras que la latencia solo mejora eso, las latencias con distintas operaciones.

Es por todo esto que el overclock a memoria RAM es algo más complicado que en otros componentes, ya que es habitual que haya que empeorar las latencias al subir la frecuencia, y es complicado saber a priori si estamos ganando o perdiendo rendimiento con el cambio. Para colmo, los resultados en benchmarks no sintéticos tampoco suelen variar mucho.

Lo habitual en el overclock de RAM es, primeramente, subir la frecuencia lo máximo posible, sin tocar voltaje, empeorando todas las latencias del orden de un 25-33% para evitar inestabilidades por ese lado. Cuando llegamos al valor más alto, intentamos bajar latencias paulatinamente, subiendo el voltaje si es necesario, siempre manteniéndonos por debajo del voltaje base+0.1V (las restricciones de voltaje hoy en día son muy estrictas, ya que no solo se fuerza el módulo, también el controlador de memoria del procesador). Al final con suerte terminaremos con latencias similares a las de fábrica de nuestro módulo y frecuencias algo más elevadas.

Por ello, os recomendamos que sea siempre el último componente en realizarle overclock, ya que apenas vamos a notar mejora y evitaremos forzar aún más el componente.