¿RAM paralela sin gran cantidad de pines?

En la década de 1970, Texas Instruments tenía una gama de productos ahora descontinuada que llamaron GRAM (y GROM equivalente de solo lectura) que era básicamente un chip de memoria estándar con dirección y datos todos 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 de direcciones interno. 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 necesitaba un paquete de 16 pines, en lugar de los paquetes de 28 pines que necesitaban otras memorias similares del día. .

Hoy en día, para aplicaciones similares, probablemente usaría con mayor frecuencia memoria serial con acceso SPI, pero el problema es que tales memorias son bastante lentas (la mayoría tiene un rendimiento máximo de alrededor de 20 Mbit/s; algunas funcionan al doble de esa velocidad, 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 un acceso de 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 en día son piezas con fines personalizados, 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 eleva el número de pines hasta 48 pines. Idealmente, busco 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, byte de lectura, byte de escritura).

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

Respuestas (2)

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

Entonces, los chips son muy pequeños (generalmente 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 suele ser de ~104 MHz para flash. Se puede hacer aún más rápido utilizando una señalización de velocidad de datos dual (cuatro bits en cada borde del reloj, tanto ascendente como descendente: ocho bits en cada ciclo de reloj; por lo general, los chips flash alcanzarán un máximo de 80 MHz 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 80 MHz, significa un tiempo de acceso de 175 ns). Pero si necesita más bytes, simplemente agregue 2 ciclos por byte (25ns). Por lo tanto, la lectura en ráfaga lo hará mucho más rápido que un chip paralelo flash típico de 70ns o incluso de 45ns.

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

La memoria 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 flash. Pero el ISSI que sugiero arriba todavía sube a 45 MHz (velocidad de datos única) aparentemente con un ciclo de lectura mínimo que necesita 11 relojes para el primer byte. O dicho de otra forma: 200ns + 45ns por byte (180Mbit/s de rendimiento), que no está nada mal, y supera la velocidad en GRAM que indicas.

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

Sí, esto parece exactamente lo que estaba buscando. Gracias. :)
Otra interfaz bastante similar es el bus SD de 4 bits.
@DmitryGrigoryev Así es. Pero no creo que puedas encontrar chips de RAM que se adhieran a esto. Es probable que solo haya chips flash NAND (eMMC).
@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ían importar mucho
@ThreePhaseEel Tiene razón: en los chips ST, la interfaz QSPI se puede configurar en uno de dos modos: modo indirecto (usted activa comandos al chip configurando algunos registros explícitamente) y modo de memoria asignada (la interfaz flash traduce automáticamente accesos a memoria en comandos de lectura). En el modo de asignación 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 (leer/escribir/cualquier otra cosa), como mencionó. Editaré en consecuencia.
FYI: Las tarjetas MicroSD usan la misma interfaz QSPI, desde 50 MHz en adelante hasta los últimos estándares de velocidad.
@Sparky, la interfaz pjysical se ve similar, pero los comandos ciertamente no se parecen al diagrama anterior. Hay CRC y esas cosas... Y no encontrarás una RAM con interfaz SD, como ya dije en los comentarios.
También hay versiones de 8 bits de memorias flash QSPI disponibles ahora. Si realmente necesita impulsar el rendimiento, a costa de 4 pines más.

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

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

Este usa DDR a velocidades mucho más altas (hasta 166 MHz) y un bus de 8 bits. Entonces puedes alcanzar los 2666 Mbit/s (¡guau!), lo que deja muy atrás a QSPI. 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 el ISSI QSPI SRAM mencionado en la otra publicación). Utiliza solo 12 señales (voltajes de alimentación excluidos).

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

Pero estamos en otra categoría de productos. Es más caro, 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.

Hay versiones de 8 bits de flash QSPI de varios proveedores que son bastante similares a "HyperBus" en términos de rendimiento.