mayo 18, 2012

Hybrid Memory Cube

La necesidad de mejorar la memoria

Las CPU avanzan a pasos agigantados, las GPU también lo hacen. El almacenamiento duplica su rendimiento cada dos años y mejora sus capacidades, e incluso hasta las placas base utilizan materiales cada vez más resistentes y eficientes. Y todo esto con un consumo energético que cada vez es menor.

Pero hay un componente que, en palabras de Intel, está cerca de llegar al límite: la memoria DRAM. Es cierto que sigue evolucionando (DDR1, DDR2 y DDR3 en la actualidad, DDR4 en un futuro) pero podría tener los años contados si el Hybrid Memory Cube tiene éxito. La razón es la estructura bidimensional de los módulos de memoria que requiere de lentos sistemas de conexión entre los diversos chips de memoria para interactuar entre ellos. “Lento”, entrecomillado, pues permite unos cuantos millones de lecturas de ceros y unos por segundo.

Así pues, ya tenemos uno de los componentes a mejorar: la memoria RAM y su estructura física. Necesitamos cambiar cómo está distribuida la estructura de la memoria, optimizándola y logrando un mejor rendimiento.

Hybrid Memory Cube está siendo desarrollada por Intel y Micron desde hace algunos meses. Al día de hoy tienen algunos prototipos funcionales con los que han conseguido tasas de transferencia de 1 Terabit por segundo (unos 128 GB/s) y minimizar el impacto energético hasta en siete veces, lo cual se dice pronto pero es una diferencia increíble. Intel dice que ya han conseguido prototipos de Hybrid Memory Cube diez veces más rápidos que DDR3.

¿En qué consiste Hybrid Memory Cube?

La memoria actual utiliza un buffer que es como un cajón por donde pasa todo el contenido que la memoria ha de tratar. Una vez que la información está en ese buffer cada chip de memoria se encarga, por su propia cuenta, de seleccionar qué información coger y almacenar. Esto es lo que tenemos que cambiar.

Supongamos ahora que en vez de tener los chips de memoria uno junto a otro los apilamos todos juntos, de forma que estén muy cerca, uno encima de otro, y puedan comunicarse muy rápidamente entre ellos. Tenemos una pequeña montaña de chips de memoria, una especie de torre de chips.


La idea de Intel, además de modificar la estructura bidimensional de la memoria (que los chips estén uno al lado del otro) y cambiarla a una tridimensional (chips montados uno encima del otro) es añadir una capa encargada de operar con la información de entrada y enviarla a cada chip de memoria. Nos olvidamos de que los chips de memoria tengan que buscar qué información almacenar, ahora habrá una capa que estará encargada de mandarles la información. Nos quitamos que ellos la busquen, nosotros se la damos. Bueno, la capa de lógica se la da.

Intel afirma haber conseguido cifras excelentes, transferencias de 1 Tbit por segundo y, lo que es más interesante aún, mejorar la eficiencia energética en torno a siete veces. Desde Micron afirman que pueden conseguir un ancho de banda quince veces mayor que el de la RAM actual, un rendimiento veinte veces mayor y algo a lo que generalmente no se le da la suficiente importancia, un 90% menos de espacio físico.

De ser ciertos todos estos datos podríamos estar hablando de uno de los grandes hitos en la evolución de los computadores en su corta historia de unos cincuenta años. Un hito comparable a la evolución de los procesadores multinúcleo o al almacenamiento flash en comparación con lo procesadores mononúcleo o el almacenamiento magnético.

Hybrid Memory Cube es, a día de hoy, un proyecto en desarrollo con una pinta interesantísima, pero prototipo al fin y al cabo. No hay fechas previstas de lanzamiento, ni mucho menos, y todo lo que podemos afirmar es que llegará algún día. Quizá dentro de cinco o diez años, tal vez veinte.


Memoria SRAM (Static Random Access Memory)

Es un tipo de memoria basada en semiconductores capaz de mantener los datos (mientras esté alimentada) sin necesidad de circuito de refresco. Es una memoria estática que está compaginada con el procesador para evitar estados de espera y es capaz de soportar velocidades de bus de 100 y 133MHz, alcanzando velocidad de hasta menos de 10ns.

Memoria FPM (Fast Page Mode)

Memoria que se incluía en los antiguos 386, 486 y primeros Pentium.

Alcanza velocidades de hasta 60 ns, se encuentra en los SIMM de 30 contactos y los posteriores de 72.

El controlador de memoria envía una sola dirección y recibe a cambio esa y varias consecutivas sin necesidad de generar todas las direcciones.


Memoria EDO (Extended Data Output)

Tiene tiempos de accesos de 40 o 30 ns lo que supone una mejora sobre su antecesora la FPM.

Es capaz de enviar direcciones a la vez pero direcciona la columna que va utilizar mientras que se lee la información de la columna anterior, dando como resultado una eliminación de estados de espera.

Permite mover un bloque completo de memoria a la memoria caché, mejorando así las prestaciones.

Se encuentra en los Pentium, Pentium Pro y primeros Pentium II en SIMM de 72 contactos y en los primeros DIMM de 168 contactos, funcionando a 5 y 3,3 voltios.



Memoria SDRAM (Synchronous DRAM)

Es un 20% más rápida que la EDO.

Entrelaza 2 o mas matrices asi mientras se accede, la siguiente se está preparando para el acceso.

SDRAM-II es también conocido como DDR DRAM o DDR SDRAM (Double Data Rate DRAM o SDRAM), permite leer y escribir datos a dos veces la velocidad bús.

Es una memoria asíncrona que se sincroniza con la velocidad del procesador, para obtener información en cada ciclo de reloj, evitando así los estados de espera.

Es capaza de soportar velocidades del bus a 100 y 133 MHz, alcanzando velocidades por debajo de 10 ns. Se encuentra mayoritariamente en los módulos DIMM de 168 contactos.

Memoria RRAM (memoria de acceso aleatorio resistente)

· Es una memoria no-volátil pero más resistente, esa tecnología tiene algunas similitudes con CBRAM (Son una de una serie de tecnologías que se están desarrollando para reemplazar la memoria flash, proporcionando una combinación de vida más largos, menor consumo de energía y una mejor densidad de memoria.) y la fase de cambio de memoria.


Memoria DDR SDRAM

· Memoria síncrona, envía los datos dos veces por cada ciclo de reloj, de este modo trabaja al doble de velocidad sin necesidad de aumentar la frecuencia de reloj.

· Se presenta en módulos DIMM de 184.

Hay varios tipos:

o PC2100 o DDR 266: funciona a un máx de 133 MHz.

o PC2700 o DDR 333: funciona a un máx de 166 MHz.

o PC3200 o DDR 400: funciona a un máx de 200 MHz.

Memoria DDR2-SDRAM

· Las memorias DDR 2 son una mejora de las memorias DDR (Double Data Rate), que permiten que los búferes de entrada/salida trabajen al doble de la frecuencia del núcleo, permitiendo que durante cada ciclo de reloj se realicen cuatro transferencias.

· Se encuentran en módulos DIMM de 240 contactos.

Hay varios tipos:

o PC2-4200 o DDR2-533: funciona a un máx de 533 MHz.

o PC2-5300 o DDR2-667: funciona a un máx de 667 MHz.

o PC2-6400 o DDR2-800: funciona a un máx de 800 MHz.

o PC2-8600 o DDR2-1066: funciona a un máx de 1066 MHz.


Memoria DDR3-SDRAM

· Las memorias DDR 3 son una mejora de las memorias DDR 2, mejora en el rendimiento a niveles de bajo voltaje, lo que lleva a consumir menos.

· Los módulos DIMM DDR 3 tienen 240 pines, el mismo número que DDR 2, pero los DIMMs sin incompatibles de físicamente porque la muesca está en distinto sitio.

Hay varios tipos:

o PC3-8600 o DDR3-1066: funciona a un máx de 1066 MHz

o PC3-10600 o DDR3-1333: funciona a un máx de 1333 MHz.

o PC3-12800 o DDR3-1600: funciona a un máx de 1600 MHz.



Modulos de Memoria RAM








Módulo SIMM (Single In-line Memory Module) Es un formato de módulos de memoria RAM impresas que se inserta en la placa de memoria o en un zócalo SIMM. La unidad para medir la velocidad de las memorias RAM es en Mega Hertz (MHz). En el caso de los SIMM su velocidad de trabajo era la misma que los microprocesadores del momento, esto es aproximadamente entre 25 MHZ y 33 MHz. Tiene dos versiones con 30 y con 72 pines. Es el formato más antiguo y tiene un bus de datos de 16 o 32 bits.

La unidad práctica para medir la capacidad de almacenamiento de una memoria SIMM es Kilobyte y el Megabyte. En este caso como hubo 2 versiones, estas varían de acuerdo al modelo y se comercializaron básicamente las siguientes capacidades:

Tipo de memoria

Capacidad en MegaBytes (MB)

SIMM 30 terminales

256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB

SIMM 72 terminales

4 MB, 8 MB, 16 MB, 32 MB, 64 MB

La unidad práctica para medir la capacidad de almacenamiento de una memoria SIMM esKiloByte (KB) y el MegaByte (MB). En este caso como hubo 2 versiones, estas varían de acuerdo al modelo y se comercializaron básicamente las siguientes capacidades:

Tipo de memoria

Capacidad en MegaBytes (MB)

SIMM 30 terminales

256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB

SIMM 72 terminales

4 MB, 8 MB, 16 MB, 32 MB, 64 MB

Usos específicos de la memoria SIMM

Los SIMM de 30 terminales se utilizaron básicamente en computadoras con microprocesadores de la familia Intel® 386 y 486.

Los SIMM de 72 terminales fueron posteriores a los SIMM de 30 terminales, pero algunas placas integraban ranuras para ambos. Se utilizaban en computadoras con básicamente procesadores de la familiaIntel 486 y Pentium .

Módulo DIMM (Dual In line Memory Module) Este nombre es debido a que sus contactos de cada lado son independientes, por lo tanto el contacto es doble en la tarjeta de memoria. son un tipo de memorias DRAM (RAM de celdas construidas a base de capacitores), las cuáles pueden tener chips de memoria en ambos lados de la tarjeta ó solo de un lado, Cuentan con un conector especial de 168 terminales para ranuras de la tarjeta principal (Motherboard), cabe destacar que la característica de las memorias de línea dual, es precursora de los estándares modernos RIMM y DDR-X, por ello, no es de extrañarse que también se les denomine DIMM - SDRAM tipo RIMM ó DIMM - SDRAM DDR-X.

Velocidad de la memoria DIMM – SDRAM

La unidad para medir la velocidad de las memorias RAM es en MegaHertz (MHz). En el caso de los DIMM - SDRAM, tiene varias velocidades de trabajo disponibles, la cuál se tiene que adaptar a la velocidad de trabajo del resto del sistema. Básicamente fueron las siguientes:

,Nombre asignado

Velocidad de la memoria (FSB: "Frontal Side Bus")

----

25 MHz, 33 MHz, 50 MHz

PC66

66 MegaHertz (MHz)

PC100

100 MHz

PC133

133 MHz

PC150

150 MHz


SO-DIMM

(Small Outline DIMM): Son módulos para los ordenadores portátiles, cuentan con 144 contactos y tienen un tamaño de aproximadamente la mitad de un módulo SIMM.


Parámetros de las Memorias

Velocidad de acceso

Se mide en nanosegundos y es la velocidad mínima que tarda la memoria en completar un acceso de memoria completo.

Velocidad de reloj

Se mide en MHz y es la velocidad que tarda el bus en completar un ciclo de reloj

Latencia

Es el tiempo transcurrido en ciclos de reloj entre que el controlador manda una petición para leer una parte de la memoria hasta que los datos salen a los pines de salida de la RAM.

Tasa de transferencia

Es la tasa máxima de datos que se pueden leer por cada ciclo de reloj. Se expresa en MB/s.

Dual/triple canal

Es una tecnología que habilita el uso simultáneo de dos o tres memorias habilitando dos o tres canales para las mismas.

Voltaje

Es el consumo de energía de una memoria RAM. Se mide en voltios (V)

Función de la Memoria RAM

La función principal de la memoria RAM es actuar de intermediario entre los programas en ejecución, y el registro del procesador, sirviendo los datos a éste, que se dedicará a realizar los cálculos pertinentes. La velocidad con la que la memoria ejecute las tareas, dependerá de la rapidez con que pueden enviar y recibir al o desde el bus (conexión de datos entre el microprocesador y las memorias) los datos que este le requiere, o sea, el tiempo que tardan entre que reciben el pedido de datos y el momento en el que lo entregan a su salida conectada al bus. La velocidad se mide en nanosegundos, la milmillonésima parte de un segundo o en MHZ.


Pirámide sobre el acceso a memoria y procesador.


Formato de la memoria RAM


Las muescas laterales sirven de sujeción una vez instalado el módulo, para que no pueda ser extraído por error.

La muesca del fondo sirve para evitar que se instale RAM no compatible en un zócalo que no le corresponde.

Los contactos o pines, son los puntos de unión entre nuestra RAM y la placa base, y el lugar por el que esta se comunica. Su número le indicará con precisión a un ojo experto el tipo de RAM con el que está tratando.

Los módulos o chips de memoria, son el corazón de la memoria, donde se almacena la información que está siendo tratada.

Historia


El hombre, a lo largo de toda su existencia, se ha visto con la necesidad de trabajar con datos, y uno de sus problemas principales ha sido siempre la velocidad con que la humanidad ejecuta sus labores, dependiendo de esto, es la productividad que obtendremos al final de todo. En el mundo de la programación, en la computación no podía ser menos.

Los comienzos de las memorias RAM resultaron ser muy rudimentarios. Uno de los primeros prototipos fue la memoria de núcleo Magnético, desarrollada entre 1949 y 1952. Bastidor con un montón de diminutos anillos fabricados en ferrita y cruzados por Múltiples y finos cables de cobre. Cada anillo representaba un bit. Una memoria de 32 KB, lo usual en aquella época, tenia 262.144 anillos de ferrita, lo cual, eran todos fabricados a mano.


La ferrita es un material que contiene partículas de óxido de hierro y que tiene una particularidad muy interesante, y es que se puede magnetizar conservando este estado durante bastante tiempo.

Para magnetizar una ferrita, se enhebra a través del anillo un hilo conductor y se hace pasar por él una corriente eléctrica. Al aplicar una intensidad suficiente, el anillo se magnetiza en el sentido del campo magnético inducido y, al suprimir dicha corriente inductora, la magnetización permanece.

Si aplicamos una corriente eléctrica en sentido contrario, ésta deberá ser de una intensidad suficiente para que la magnetización del anillo cambie de sentido, de lo contrario se resistirá y permanecerá invariable.

Reseña


La memoria RAM (Random Access Memory) es un dispositivo de almacenamiento, donde el computador guarda los datos que está utilizando en el momento presente. El almacenamiento es considerado temporal por que los datos y programas permanecen en ella mientras que la computadora este encendida o no sea reiniciada. Se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría de los software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo.

Físicamente, las memorias están constituidas por un conjunto de chips y circuitos integrados que suelen ir soldados en grupos, en plaquetas con pines o contactos.

Básicamente, se estructuran de 3 componentes: