Estoy tratando de entender cómo funciona internamente la memoria DDR SDRAM, y me estoy quedando atascado en un punto clave: cuántos bits salen realmente de una matriz de células y por qué.
Según tengo entendido, se accede a una sola celda en la matriz de condensadores 2d especificando las filas & Dirección en el bus de direcciones. Este bit de lectura se envía luego desde el pin de datos del módulo. Hasta ahora todo bien.
Ahora, cuando veo este diagrama enlace , vemos que 32 bits salen de la matriz de celdas, no solo un bit. ¿Cómo se hace esto? ¿Y por qué?
Mi explicación es que, dado que se trata de un chip DDR x16, se deben enviar 16 bits de datos, por lo que necesita al menos 16 bits en cada "ubicación" de la matriz de celdas. Y como es DDR, debe tener otros 16 bits en la misma ubicación para emitir en el flanco descendente del reloj, este total de 32 bits (capacitores) en cada fila x ubicación de la matriz de celdas de la columna.
De esos 32 bits, 16 se seleccionan para ir a los pines de datos según el bit COL0 (que es parte de la dirección), y la otra mitad sale al borde descendente del reloj, y así es como "DDR" se ha logrado.
Con esta explicación, DDR2 tendría 64 bits (condensadores) por celda, y dos bits COL0 y COL1 para seleccionar la palabra de 16 bits que se enviará. El siguiente borde descendente vería salir una de las palabras de 16 bits restantes. Y el siguiente ciclo de reloj (que en realidad es 2 veces la frecuencia debido a DDR2) emitirá las últimas dos palabras.
¿Es correcta esta explicación? ¿Cada ubicación de memoria en la matriz de celdas en realidad contiene múltiples bits proporcionales al ancho del bus de datos del chip, así como para los próximos flancos descendentes y ciclos de reloj?
Gracias