¿RAM paralela sin gran cantidad de pines?

16

En la década de 1970, Texas Instruments tenía una gama de productos ahora descontinuada que llamaron GRAM (y leía solo GROM equivalente) que era básicamente un chip de memoria estándar con dirección y datos multiplexados en 8 pines. Comenzaría una operación enviando al chip dos bytes de dirección y luego, cada vez que pulsara el pin de lectura o escritura, leería o escribiría un byte usando el bus, luego incrementaría el contador interno de direcciones. El resultado fue un chip de memoria que era casi tan rápido (al menos para operaciones de acceso secuencial) como un chip de memoria paralelo estándar, pero que solo necesita un paquete de 16 pines, en lugar de los paquetes de 28 pines que necesitaban otros recuerdos similares del día .

Hoy en día, para aplicaciones similares, es muy probable que use la memoria serial con acceso SPI, pero el problema es que tales memorias son bastante lentas (la mayoría tiene un rendimiento máximo de aproximadamente 20Mbit / s; algunas funcionan tan rápido como el doble de eso, pero no he encontrado nada más rápido que eso), mientras que un equivalente moderno de esas partes de TI podría ser mucho más rápido que eso, permitiendo fácilmente el acceso a más de 100 Mbit / s.

¿Existe algo que todavía esté en producción y que se comporte de manera similar a esos chips TI? Lo más cercano que puedo encontrar hoy son piezas personalizadas, por ejemplo, el VLSI VS23S010D , que combina un dispositivo de memoria que admite el tipo de interfaz que estoy buscando junto con un controlador de pantalla, que pone el número de pines de hasta 48 pines. Idealmente estoy buscando algo en un paquete de 14 o 16 pines (creo que 14 es el mínimo realista: 2x de potencia, 8x de datos, reloj, selección de dirección, lectura de bytes, escritura de bytes).

Jules
fuente
El microcontrolador MC68HC11 tenía una molesta dirección multiplexada + bus de datos similar a lo que usted describe, tal memoria sería increíble para eso.
tubería
pero el 68HC11 solo mezclaba A0..7; A8..15 todavía eran pines separados.
amI

Respuestas:

19

La solución estándar apropiada es probablemente QSPI (también llamada QPI, o también SQI). Es algo así como una extensión de la interfaz SPI, pero usa cuatro bits de datos (quad, de ahí la Q en el acrónimo) (IO0 / IO1 / IO2 / IO3) en lugar de una sola señal para cada dirección (MISO / MOSI).

Por lo tanto, los chips son muy pequeños (normalmente SO-8) y la interfaz es muy eficiente: debe enviar la dirección para cada comando de lectura o escritura, pero luego puede leer varios bytes en ráfaga, cuatro bits en cada ciclo de reloj. La velocidad máxima del reloj es típicamente ~ 104MHz para flash. Se puede hacer aún más rápido usando una señalización de velocidad de datos dual (cuatro bits en cada borde del reloj, tanto ascendente como descendente: por lo tanto, ocho bits en cada ciclo de reloj, por lo general, los chips flash alcanzarán un máximo de 80MHz en este modo).

Las hojas de datos del chip proporcionarán todos los detalles sobre el significado / uso exacto de cada señal. Para ilustrar, aquí hay un diagrama de tiempo de comando de lectura (en modo de velocidad de datos única, y tomado de esta hoja de datos ):

ingrese la descripción de la imagen aquí

Aquí, verá que necesita 14 ciclos de reloj para obtener el primer byte (a 80MHz, significa un tiempo de acceso de 175ns). Pero si necesita más bytes, simplemente agregue 2 ciclos por byte (25ns). Por lo tanto, leer en ráfaga lo hará mucho más rápido que un típico chip paralelo de 70ns o incluso 45ns.

Puede encontrar fácilmente piezas de flash NOR de muchos fabricantes, utilizando esta interfaz. Tenga en cuenta que sus rendimientos (velocidad máxima, recuento de ciclos ficticios) y características (E / S cuádruple o solo E / S dual, compatibilidad con DDR) variarán, así que consulte la hoja de datos.

La RAM es un poco más difícil de encontrar, pero aún está disponible, especialmente de Microchip (por ejemplo, 23LC512 ), ON semi (por ejemplo, N01S818HA ) e ISSI (por ejemplo, IS62WVS2568GBLL-45 ). Sin embargo, son más lentos que el flash. Pero el ISSI que sugiero anteriormente todavía sube a 45MHz (velocidad de datos única) con aparentemente un ciclo de lectura mínimo que necesita 11 relojes para el primer byte. O dicho de otra manera: 200ns + 45ns por byte (rendimiento de 180Mbit / s), lo cual no está mal y excede la velocidad GRAM que indicó.

Además, tenga en cuenta que muchas MCU de gama alta (de NXP, ST, ...) admiten esta interfaz en hardware.

oscuro
fuente
Sí, esto parece exactamente lo que buscaba. Gracias. :)
Jules
Otra interfaz bastante similar es el bus SD de 4 bits.
Dmitry Grigoryev
@DmitryGrigoryev Eso es correcto. Sin embargo, no creo que pueda encontrar chips RAM adheridos a esto. Probablemente solo haya chips flash NAND (eMMC).
tenue
@dim: mi entendimiento (basado en las interfaces QSPI de ST) es que son de lectura / escritura (no solo de lectura) - RAM vs Flash tampoco debería importar mucho
ThreePhaseEel
@ThreePhaseEel Tienes razón: en los chips ST, la interfaz QSPI se puede configurar en uno de dos modos: modo indirecto (activa comandos al chip configurando explícitamente algunos registros) y modo mapeado en memoria (la interfaz flash se traduce automáticamente accesos de memoria en comandos de lectura). En el modo de mapeo de memoria, el manual de referencia dice explícitamente que solo se permite la lectura. Sin embargo, en modo indirecto, puede enviar cualquier comando que desee (lectura / escritura / lo que sea), como mencionó. Lo editaré en consecuencia.
tenue
2

Estoy publicando esto como otra respuesta porque es algo totalmente diferente.

Hay otra interfaz, pero menos común, que también se adapta muy bien a su descripción: HyperBus , diseñada por Cypress (es propietaria).

Este usa DDR a velocidades mucho más altas (hasta 166MHz) y un bus de 8 bits. Entonces puede alcanzar 2666 Mbit / s (¡guau!), Lo que deja a QSPI muy por detrás. También está diseñado para DRAM de mayor densidad en lugar de SRAM, por lo que puede encontrar chips de 8M x 8 (frente a 256k x 8 para la SRAM QSPI ISSI mencionada en la otra publicación). Utiliza solo 12 señales (excluidos los voltajes de alimentación).

Aquí hay un producto HyperRAM de ISSI: IS66WVH8M8ALL . También hay productos HyperFlash que puedes encontrar.

Pero estamos en otra categoría de productos. Es más costoso, menos fácil de obtener, los chips suelen ser BGA y la interfaz es un poco más compleja (debido a la alta velocidad y DDR). Además, menos MCU admiten esto.

oscuro
fuente
Hay versiones de 8 bits de QSPI flash de múltiples proveedores que son bastante similares a "HyperBus" en términos de rendimiento.
Timmy Brolin