Durante años, diseñar la memoria de un dispositivo IoT era una decisión relativamente sencilla. En muchos equipos bastaba con disponer de suficiente memoria Flash para almacenar el firmware y una pequeña cantidad de RAM para ejecutar el programa, gestionar las comunicaciones y procesar los datos procedentes de los sensores.
Sin embargo, esta situación está cambiando.
La llegada de Edge AI está aumentando de forma considerable las necesidades de memoria de muchos dispositivos electrónicos. Ya no se trata únicamente de ejecutar un firmware, leer un sensor y enviar un dato a la nube. Cada vez más equipos necesitan almacenar modelos de inteligencia artificial, procesar imágenes, trabajar con señales de audio, mantener grandes buffers de datos o ejecutar algoritmos de inferencia directamente en el dispositivo.
Esto obliga a replantear una pregunta fundamental durante el desarrollo del hardware:
¿Qué tipo de memoria necesita realmente el dispositivo y cuánta memoria será necesaria durante toda su vida útil?
Elegir una memoria insuficiente puede limitar las futuras funcionalidades del producto. Sobredimensionarla innecesariamente puede aumentar el coste, el consumo energético y la complejidad del diseño.
En este artículo analizamos cómo las necesidades de Edge AI están modificando la arquitectura de memoria de los dispositivos IoT, qué opciones existen actualmente y cuáles son los errores más habituales que conviene evitar durante el diseño electrónico.
¿Por qué las necesidades de memoria de los dispositivos IoT están cambiando?
Un dispositivo IoT tradicional puede tener unas necesidades de memoria relativamente reducidas. Un equipo encargado, por ejemplo, de medir temperatura y enviar periódicamente los datos suele necesitar almacenar el firmware, conservar algunos parámetros de configuración y mantener las variables necesarias durante su funcionamiento. También puede requerir memoria temporal para gestionar las comunicaciones o registrar un número limitado de eventos.
En este tipo de aplicaciones, la memoria integrada en el microcontrolador puede ser suficiente. La arquitectura es relativamente sencilla y la cantidad de información que debe almacenarse o procesarse al mismo tiempo suele ser limitada.
Sin embargo, la evolución hacia aplicaciones más complejas y la incorporación de Edge AI están modificando este planteamiento. El propio dispositivo puede tener que ejecutar algoritmos de procesamiento, gestionar librerías de comunicaciones y trabajar con grandes cantidades de datos procedentes de sensores.
Además, en algunos productos es necesario reservar memoria para diferentes elementos, como:
- Firmware y sistema operativo o RTOS.
- Librerías y protocolos de comunicación.
- Algoritmos y modelos de inteligencia artificial.
- Datos de sensores y buffers temporales.
- Resultados de inferencia y registros históricos.
- Actualizaciones OTA y futuras versiones del software.
La memoria deja así de ser un recurso secundario. Su capacidad, velocidad y organización pasan a formar parte de la arquitectura hardware del producto y pueden condicionar directamente sus posibilidades de evolución.
Más datos procesados localmente
Uno de los principales motivos de este cambio es el aumento del procesamiento local. En muchas aplicaciones IoT tradicionales, el dispositivo recogía los datos y los enviaba a un servidor o a la nube para realizar el análisis. Este enfoque reduce las necesidades de procesamiento y memoria dentro del propio equipo.
Sin embargo, cada vez más dispositivos incorporan capacidades de procesamiento local y Edge AI. El objetivo puede ser reducir la latencia, disminuir la dependencia de una conexión permanente o limitar la cantidad de datos que deben transmitirse. También puede resultar importante cuando existen requisitos relacionados con el consumo, los costes de comunicación o la privacidad de la información.
Como consecuencia, una parte mayor del trabajo se realiza directamente en el dispositivo. Este debe almacenar más información y mantener disponibles los recursos necesarios para procesarla. Por eso, la selección de memoria se convierte en una decisión cada vez más importante durante el diseño de dispositivos IoT y sistemas Edge AI.
Edge AI no solo necesita más potencia de cálculo
Cuando se habla de Edge AI, gran parte de la atención suele centrarse en el procesador. Es habitual comparar la capacidad de una CPU, un microcontrolador o MCU, una NPU, una GPU o un acelerador de inteligencia artificial para determinar qué plataforma puede ejecutar una determinada aplicación.
Sin embargo, disponer de un procesador más potente no garantiza por sí solo que un dispositivo IoT con Edge AI pueda ejecutar correctamente una aplicación de inteligencia artificial. El sistema también necesita una arquitectura de memoria capaz de almacenar el software y proporcionar los datos necesarios durante el procesamiento.
En otras palabras, al diseñar un sistema embebido para Edge AI, la elección del procesador y la selección de memoria deben realizarse de forma conjunta. La capacidad disponible, la velocidad de acceso y la cantidad de datos que deben mantenerse en memoria pueden condicionar directamente el rendimiento final del producto.
El modelo de inteligencia artificial también necesita memoria
Todo modelo de IA debe almacenarse en algún lugar dentro del dispositivo. Dependiendo de la aplicación, su tamaño puede variar desde unos pocos kilobytes hasta varios megabytes o incluso superar ampliamente esta cifra. Esto influye directamente en la cantidad de memoria no volátil que necesita el producto.
Pero el modelo de inteligencia artificial no es el único elemento que debe almacenarse. La memoria también debe reservar espacio para otros componentes necesarios para el funcionamiento del dispositivo, como:
- Firmware y bootloader.
- Configuraciones y datos persistentes.
- Certificados y elementos de seguridad.
- Actualizaciones OTA y futuras versiones del software.
Un error habitual durante el diseño de dispositivos IoT consiste en calcular únicamente el espacio ocupado por la versión actual del firmware. Esta decisión puede limitar la evolución del producto si posteriormente se incorporan nuevas funciones, modelos de IA más grandes o actualizaciones que requieren más memoria.
Por este motivo, la capacidad de almacenamiento debe definirse pensando tanto en las necesidades actuales como en la evolución prevista de la aplicación.
Los datos de entrada también ocupan memoria
El tamaño del modelo es importante, pero no determina por sí solo la cantidad de memoria necesaria en un sistema Edge AI. También hay que analizar qué tipo de información debe procesar el dispositivo y durante cuánto tiempo necesita mantenerla disponible.
No es lo mismo procesar una única lectura de temperatura que trabajar continuamente con una señal de vibración, varios segundos de audio, imágenes o un flujo de vídeo. A medida que aumenta la cantidad de datos y la complejidad del procesamiento, también crecen las necesidades de memoria RAM y buffers temporales.
Una aplicación de mantenimiento predictivo, por ejemplo, puede necesitar almacenar una ventana completa de datos procedentes de un acelerómetro antes de realizar una inferencia. Un sistema de reconocimiento de audio debe gestionar buffers para capturar y procesar continuamente las muestras. En una cámara inteligente, la arquitectura de memoria puede necesitar mantener varias imágenes o buffers disponibles durante las diferentes fases del procesamiento.
Por tanto, en muchas aplicaciones de Edge AI y dispositivos IoT inteligentes, el principal desafío no es únicamente almacenar el modelo de inteligencia artificial. También es necesario disponer de suficiente memoria para gestionar los datos de entrada mientras se procesan.
La arquitectura de memoria debe diseñarse teniendo en cuenta tanto el tamaño del modelo como el volumen de datos, los buffers necesarios y la velocidad con la que el procesador necesita acceder a la información. Esta decisión será fundamental para evitar cuellos de botella y conseguir un diseño electrónico preparado para las necesidades actuales y futuras del producto.
Puedo también crear una imagen o diagrama que muestre cómo se reparte la memoria entre firmware, modelo de IA, buffers y datos de entrada en un dispositivo Edge AI.
Las principales opciones de memoria en un dispositivo IoT
La arquitectura de memoria adecuada depende del tipo de producto, del procesador seleccionado y de las necesidades de la aplicación. No existe una tecnología que sea la mejor en todos los casos. Cada tipo de memoria responde a unas prioridades diferentes relacionadas con la capacidad, la velocidad, el consumo, la persistencia de los datos o la complejidad del diseño electrónico.
Por este motivo, al diseñar un dispositivo IoT o un sistema Edge AI, es habitual combinar varias tecnologías. La memoria interna puede utilizarse para las tareas más críticas, mientras que otros recursos se destinan al almacenamiento del firmware, los modelos de inteligencia artificial o grandes cantidades de datos.
SRAM: rápida y fundamental para el procesamiento
La SRAM suele actuar como memoria de trabajo del sistema. Es uno de los recursos más importantes para la ejecución de una aplicación, ya que permite mantener disponibles los datos que el procesador necesita utilizar de forma inmediata.
En un dispositivo IoT, la SRAM puede utilizarse para:
- Variables y datos de ejecución. Mantiene la información necesaria durante el funcionamiento de la aplicación.
- Pilas y estructuras internas. Permite gestionar llamadas a funciones, tareas y otros recursos utilizados por el software.
- Buffers temporales. Almacena datos mientras se reciben, procesan o transfieren entre diferentes partes del sistema.
- Procesamiento de señales. Resulta especialmente importante cuando deben analizarse muestras procedentes de sensores en tiempo real.
- Inferencia de Edge AI. Puede utilizarse para almacenar activaciones, datos temporales y otros recursos necesarios durante la ejecución de un modelo de inteligencia artificial.
Su principal ventaja es la velocidad. Sin embargo, la SRAM suele ofrecer una capacidad limitada y tiene un coste por bit superior al de otras tecnologías de memoria.
En dispositivos IoT sencillos, la SRAM integrada en el microcontrolador puede ser suficiente. Pero esta capacidad puede convertirse rápidamente en una limitación cuando el producto incorpora Edge AI, procesamiento de audio, visión artificial o algoritmos avanzados de procesamiento de sensores.
El problema de quedarse sin SRAM
Agotar la memoria de trabajo disponible puede afectar directamente a la estabilidad del dispositivo. Entre otros problemas, puede provocar:
- Fallos de ejecución. La aplicación puede no disponer del espacio necesario para completar determinadas tareas.
- Reinicios inesperados. Una falta de memoria puede provocar errores que obliguen al sistema a reiniciarse.
- Fragmentación. La gestión dinámica de memoria puede dejar espacios disponibles difíciles de aprovechar correctamente.
- Errores difíciles de reproducir. Algunos problemas aparecen únicamente en determinadas condiciones de carga o funcionamiento.
- Limitaciones para futuras funciones. Una arquitectura sin margen puede dificultar la incorporación de nuevas características.
Por eso, en el diseño de un producto electrónico no conviene utilizar prácticamente el 100 % de la SRAM disponible. Dejar un margen adecuado permite absorber variaciones en el funcionamiento y facilita la evolución futura del software.
Flash: firmware, modelos de IA y almacenamiento no volátil
La memoria Flash permite conservar la información aunque se interrumpa la alimentación. Por este motivo, es una pieza fundamental de la arquitectura de memoria de prácticamente cualquier dispositivo IoT.
Puede utilizarse para almacenar:
- Firmware y bootloader. Contiene el software necesario para iniciar y ejecutar el dispositivo.
- Modelos de inteligencia artificial. Permite mantener almacenados los modelos utilizados por aplicaciones de Edge AI.
- Parámetros y configuraciones. Conserva los ajustes necesarios entre diferentes ciclos de alimentación.
- Certificados y credenciales. Puede almacenar información necesaria para implementar comunicaciones y funciones de seguridad.
- Datos persistentes. Permite conservar determinados registros o valores que deben mantenerse cuando el dispositivo se apaga.
- Actualizaciones OTA. Puede ser necesario reservar espacio para descargar y almacenar nuevas versiones del firmware.
La Flash integrada resulta especialmente práctica en diseños compactos y dispositivos de menor complejidad. Sin embargo, las necesidades actuales pueden superar rápidamente la capacidad disponible dentro del propio microcontrolador.
Cuando el producto necesita almacenar modelos de IA, grandes cantidades de firmware o varias particiones para actualizaciones, puede ser necesario recurrir a memoria Flash externa.
Edge AI aumenta las necesidades de memoria Flash
Una aplicación IoT tradicional puede necesitar unos pocos megabytes para almacenar su firmware. La situación cambia cuando el producto incorpora nuevas funciones y debe reservar espacio adicional.
Por ejemplo, la capacidad necesaria puede aumentar por:
- Modelos de IA de mayor tamaño. Los modelos deben almacenarse permanentemente antes de cargarse para su ejecución.
- Varias versiones del firmware. Algunas estrategias de actualización requieren mantener simultáneamente la versión actual y una nueva imagen.
- Particiones para actualizaciones OTA. El proceso de actualización puede necesitar espacio adicional para garantizar una instalación segura.
- Datos y recursos adicionales. Bibliotecas, configuraciones, certificados u otros archivos también consumen capacidad.
Por este motivo, la memoria Flash no debería dimensionarse únicamente según el firmware actual. Es importante considerar las futuras versiones del producto y el margen necesario para su evolución.
PSRAM: una opción habitual para ampliar la memoria
La PSRAM se ha convertido en una solución frecuente en dispositivos embebidos que necesitan aumentar la capacidad de memoria sin recurrir todavía a arquitecturas más complejas basadas en SDRAM o DDR.
Puede resultar especialmente útil para:
- Buffers de imágenes. Permite almacenar temporalmente imágenes durante aplicaciones de visión artificial o procesamiento visual.
- Procesamiento de audio. Puede proporcionar espacio adicional para gestionar muestras y ventanas de datos.
- Grandes estructuras de datos. Facilita trabajar con información que no cabe en la SRAM interna del microcontrolador.
- Aplicaciones multimedia. Resulta útil cuando el dispositivo debe gestionar imágenes, audio u otros recursos de mayor tamaño.
- Procesos de Edge AI. Puede ampliar la memoria disponible para datos de entrada y determinados buffers utilizados durante la inferencia.
La PSRAM puede aumentar considerablemente la memoria disponible en un sistema embebido, pero presenta diferencias respecto a la SRAM interna en cuanto a rendimiento y comportamiento.
En plataformas que admiten este tipo de memoria, la PSRAM externa puede incorporarse al mapa de memoria del sistema y utilizarse con diferentes estrategias de asignación, aunque con determinadas restricciones respecto a la memoria interna.
Por este motivo, no todas las partes de la aplicación deberían utilizarse de la misma manera. Los datos más sensibles a la latencia pueden necesitar permanecer en la memoria interna, mientras que los grandes buffers pueden almacenarse en memoria externa. Esta distribución forma parte de la definición de una buena arquitectura de memoria para Edge AI.
SDRAM y DDR: cuando el dispositivo necesita más capacidad
Cuando una aplicación debe trabajar con grandes cantidades de información, la memoria integrada en el procesador y la PSRAM pueden dejar de ser suficientes. En estos casos, las tecnologías SDRAM y DDR permiten incorporar capacidades mucho mayores.
Son habituales en aplicaciones como:
- Visión artificial. El procesamiento de imágenes puede requerir varios buffers de gran tamaño.
- Gateways avanzados. Estos equipos pueden gestionar múltiples comunicaciones, protocolos y procesos simultáneamente.
- Linux embebido. Los sistemas operativos más complejos suelen requerir una cantidad considerable de memoria principal.
- Edge AI avanzado. Los modelos y los datos de entrada pueden superar las capacidades habituales de un microcontrolador.
- Procesamiento de vídeo. El almacenamiento temporal de fotogramas aumenta rápidamente las necesidades de memoria.
- Interfaces gráficas avanzadas. Las pantallas de alta resolución y los entornos gráficos pueden requerir grandes buffers.
Estas tecnologías permiten alcanzar capacidades elevadas y proporcionar un buen rendimiento. Sin embargo, también introducen nuevos requisitos durante el diseño de la PCB.
Más memoria implica mayor complejidad de diseño
La incorporación de memorias de mayor velocidad afecta directamente a la arquitectura hardware. Ya no basta con seleccionar un componente con suficiente capacidad. El diseño electrónico debe considerar aspectos relacionados con la interconexión entre el procesador y la memoria.
Entre ellos se encuentran:
- Integridad de señal. Las señales deben mantener unas condiciones adecuadas durante la transmisión a alta velocidad.
- Longitud de las pistas. En determinadas interfaces es necesario controlar y ajustar las diferencias entre recorridos.
- Impedancias. El diseño de las pistas debe adaptarse a los requisitos eléctricos de la interfaz.
- Timing. Las señales deben llegar en los intervalos temporales requeridos por la memoria y el procesador.
- Terminaciones. Puede ser necesario aplicar técnicas específicas para controlar reflexiones y otros problemas de señal.
- Alimentación. La memoria puede requerir tensiones concretas y una distribución adecuada de la alimentación.
- Layout de la PCB. La colocación de los componentes y el encaminamiento de las pistas adquieren una importancia crítica.
La decisión de utilizar SDRAM o DDR no afecta únicamente al software o al coste de los componentes. Puede modificar directamente la complejidad de todo el diseño de PCB y la arquitectura hardware del producto.
FRAM y MRAM: cuando importa la resistencia a las escrituras
Algunos dispositivos IoT necesitan guardar información con mucha frecuencia. En estas aplicaciones, la cantidad de escrituras puede convertirse en un factor tan importante como la capacidad disponible.
Por ejemplo, puede ser necesario almacenar:
- Contadores y acumulados. Guardan valores que se actualizan periódicamente durante la vida útil del dispositivo.
- Eventos y registros de funcionamiento. Permiten conservar información sobre el comportamiento del equipo.
- Estados del sistema. Facilitan recuperar determinadas condiciones después de un reinicio o pérdida de alimentación.
- Parámetros actualizados con frecuencia. Algunas configuraciones pueden modificarse repetidamente durante el funcionamiento.
En estos casos, la memoria Flash convencional puede no ser siempre la opción más adecuada. Tecnologías como FRAM o MRAM pueden resultar interesantes por sus características de escritura y conservación de datos.
Sin embargo, también presentan limitaciones relacionadas con la capacidad disponible y el coste. Por ello, su selección debe analizarse según los requisitos concretos de cada proyecto de diseño electrónico o sistema embebido.
Comparativa de tecnologías de memoria para dispositivos IoT y Edge AI
La siguiente tabla resume el papel que puede desempeñar cada tecnología dentro de una arquitectura de memoria:
| Tecnología | Función principal | Ventaja destacada | Limitación principal | Uso habitual |
|---|---|---|---|---|
| SRAM | Memoria de trabajo. | Muy rápida y adecuada para datos críticos. | Capacidad limitada y mayor coste por bit. | Ejecución, buffers y procesamiento. |
| Flash | Almacenamiento no volátil. | Conserva los datos sin alimentación. | No está diseñada para sustituir a la memoria RAM. | Firmware, modelos de IA y configuraciones. |
| PSRAM | Ampliación de memoria RAM. | Buena capacidad con una integración relativamente sencilla. | Menor rendimiento que la SRAM interna. | Buffers, imágenes, audio y Edge AI. |
| SDRAM / DDR | Grandes cantidades de memoria principal. | Alta capacidad y buen rendimiento. | Mayor complejidad en el diseño electrónico y la PCB. | Linux, vídeo, visión artificial y Edge AI avanzado. |
| FRAM / MRAM | Datos con escrituras frecuentes. | Características interesantes para aplicaciones específicas. | Capacidad y coste condicionados según la tecnología. | Registros, estados y parámetros. |
La clave no consiste en encontrar una memoria universalmente mejor, sino en definir qué función debe cumplir cada recurso dentro de la arquitectura de memoria del dispositivo IoT o sistema Edge AI.
¿Cuánta memoria necesita realmente un dispositivo Edge AI?
Esta es una de las preguntas más importantes al diseñar un dispositivo Edge AI. Sin embargo, no puede responderse únicamente mirando el tamaño del modelo de inteligencia artificial.
La memoria necesaria debe calcularse teniendo en cuenta toda la aplicación y los recursos que utiliza durante su funcionamiento. Un sistema puede disponer de espacio suficiente para almacenar el modelo en memoria Flash y, aun así, no tener suficiente memoria RAM para ejecutar correctamente la inferencia.
Por este motivo, la arquitectura de memoria de un sistema Edge AI debe analizar por separado las necesidades de almacenamiento permanente, la memoria de trabajo y los datos que deben mantenerse disponibles durante el procesamiento.
Memoria para el firmware y el software del dispositivo
El primer cálculo debe incluir todo el software necesario para que el producto funcione. No basta con medir únicamente el tamaño de la aplicación principal.
También es necesario tener en cuenta las librerías utilizadas, los drivers para controlar los periféricos, los protocolos de comunicación y, cuando corresponda, el sistema operativo o RTOS. A estos elementos pueden añadirse funciones de seguridad, certificados, mecanismos de actualización y el bootloader encargado de iniciar el sistema.
En conjunto, todos estos recursos determinan la cantidad de memoria Flash necesaria para el producto. Además, conviene dejar margen para futuras versiones del firmware. Un diseño electrónico que utiliza prácticamente toda la capacidad disponible puede limitar la incorporación de nuevas funciones durante la vida útil del dispositivo.
Memoria para el modelo de inteligencia artificial
El modelo también debe formar parte del cálculo. Su tamaño puede variar considerablemente según la arquitectura utilizada, el número de parámetros y la precisión con la que se almacenan los datos.
La cuantización puede tener un impacto importante en este punto. Un mismo modelo puede ocupar una cantidad de memoria muy diferente si utiliza formatos de menor precisión. Por este motivo, la optimización del modelo puede reducir de forma considerable las necesidades de almacenamiento y facilitar su integración en un microcontrolador o sistema embebido para Edge AI.
Sin embargo, conocer el tamaño del archivo del modelo no es suficiente. La cantidad de memoria necesaria durante su ejecución puede ser muy distinta.
Memoria necesaria durante la inferencia
Este es uno de los puntos más importantes al calcular la memoria para Edge AI. Durante la ejecución del modelo, el sistema necesita reservar espacio temporal para procesar la información.
Entre los recursos que pueden necesitar memoria de trabajo se encuentran:
- Datos de entrada. La información que recibe el modelo debe mantenerse disponible antes o durante su procesamiento.
- Resultados intermedios. Cada operación puede generar datos que serán utilizados por las siguientes etapas de la inferencia.
- Activaciones y tensores. Dependiendo de la arquitectura del modelo, estos recursos pueden representar una parte importante de la memoria necesaria.
- Buffers temporales. Las librerías y el motor de inferencia pueden necesitar espacios adicionales para realizar determinadas operaciones.
Por tanto, un modelo que ocupa 1 MB en memoria Flash no necesita necesariamente solo 1 MB para funcionar. El almacenamiento del modelo y la memoria necesaria para ejecutar la inferencia son dos requisitos diferentes.
En algunos proyectos, la memoria RAM disponible puede ser incluso el factor que determine si un modelo de inteligencia artificial puede ejecutarse o no sobre una determinada plataforma. Por eso, la selección del microcontrolador, la NPU o la memoria externa debe realizarse teniendo en cuenta el consumo real de memoria durante la ejecución.
Memoria para los datos de entrada
También es necesario calcular la cantidad de memoria que requieren los datos antes de ser procesados. Esta necesidad depende directamente del tipo de aplicación y puede variar enormemente entre un simple sensor y un sistema de visión artificial.
Una lectura de temperatura puede ocupar unos pocos bytes. En cambio, una imagen, varios segundos de audio o una ventana de datos procedente de un acelerómetro pueden necesitar buffers mucho mayores.
Por este motivo, antes de definir la arquitectura hardware y la memoria de un dispositivo Edge AI, conviene analizar algunos aspectos clave:
- Tipo de datos recibidos. No requieren los mismos recursos una señal de temperatura, audio, vibraciones, imágenes o vídeo.
- Cantidad de información simultánea. Es importante determinar cuántos datos deben mantenerse disponibles al mismo tiempo.
- Tiempo de almacenamiento. Algunos datos pueden procesarse inmediatamente, mientras que otros deben acumularse durante varios segundos.
- Número de buffers necesarios. Determinadas aplicaciones requieren varios buffers para capturar y procesar información de forma simultánea.
- Procesamiento por bloques. Dividir los datos en bloques más pequeños puede reducir considerablemente la memoria necesaria.
Esta última decisión puede cambiar por completo la arquitectura del sistema. Si la información puede procesarse progresivamente, es posible reducir la cantidad de memoria que debe mantenerse disponible. En cambio, si la aplicación necesita acceder simultáneamente a todo el conjunto de datos, las necesidades de RAM pueden crecer rápidamente.
Por tanto, calcular cuánta memoria necesita un dispositivo Edge AI no consiste únicamente en sumar el tamaño del firmware y del modelo de IA. Es necesario analizar cómo se almacenan, se mueven y se procesan los datos durante el funcionamiento real del producto.

La memoria también influye en el consumo energético
Añadir más memoria a un dispositivo IoT no afecta únicamente al coste o a la capacidad disponible. La arquitectura de memoria también puede influir directamente en el consumo energético y, por tanto, en la autonomía de los equipos alimentados por batería.
Una memoria externa puede requerir alimentación, realizar ciclos de lectura y escritura y mantener activa una interfaz de comunicación. Su impacto energético dependerá también de la frecuencia con la que el procesador necesita acceder a los datos y de los modos de bajo consumo disponibles.
Además, mover grandes cantidades de información entre el procesador y la memoria consume energía. Esto adquiere especial importancia en aplicaciones de Edge AI, visión artificial o procesamiento de señales, donde pueden producirse transferencias continuas de datos.
Por este motivo, al definir la arquitectura hardware de un dispositivo IoT, no basta con calcular cuánta memoria necesita la aplicación. También es necesario analizar cuándo se utiliza, cuánto tiempo permanece activa y cuántos datos deben desplazarse durante el funcionamiento.
Una buena selección de memoria puede ayudar a encontrar un equilibrio entre capacidad, rendimiento, consumo energético y autonomía.
Procesar cerca de los datos
Una de las tendencias del diseño de sistemas Edge AI consiste en reducir los movimientos innecesarios de información. Cada transferencia entre los diferentes recursos del sistema requiere tiempo y energía.
Si los datos deben desplazarse continuamente entre el sensor, la memoria, el procesador y un acelerador de IA, el consumo puede aumentar de forma considerable. Este efecto es especialmente relevante cuando el dispositivo procesa imágenes, audio o grandes cantidades de datos de sensores.
Por eso, la ubicación de la memoria y la forma en que se organiza el procesamiento forman parte de la arquitectura del producto. En algunos casos, mantener los datos cerca del recurso que debe procesarlos puede reducir transferencias y mejorar la eficiencia del sistema.
La arquitectura de memoria debe analizarse junto con la autonomía, la potencia de procesamiento, la velocidad de acceso y las necesidades de comunicación. Estas decisiones no son independientes y deben definirse conjuntamente desde las primeras fases del diseño electrónico.
En un dispositivo IoT con Edge AI, mover menos datos puede ser tan importante como disponer de un procesador más potente.

Errores habituales al diseñar la memoria de un dispositivo IoT
La selección de memoria puede condicionar el rendimiento, el consumo y la vida útil de un producto. Algunos problemas aparecen porque se calcula únicamente la capacidad necesaria en la primera versión del dispositivo, sin analizar cómo evolucionará la aplicación o cómo se comportará la memoria durante el funcionamiento real.
Dimensionar la memoria según el firmware actual
Uno de los errores más frecuentes consiste en seleccionar la memoria necesaria únicamente para la versión actual del software. Sin embargo, un dispositivo IoT puede incorporar con el tiempo nuevas funciones, protocolos de comunicación, actualizaciones o algoritmos más complejos.
En productos con Edge AI, también puede ser necesario utilizar modelos de inteligencia artificial de mayor tamaño. Diseñar con un margen demasiado reducido puede limitar rápidamente la evolución del equipo y obligar a realizar un rediseño de la arquitectura hardware.
Por eso, la capacidad debe calcularse pensando en las necesidades actuales, pero también en el crecimiento razonablemente previsto del producto.
Mirar solo la capacidad y olvidar el rendimiento
Dos memorias con la misma capacidad pueden ofrecer resultados completamente diferentes. La selección también debe tener en cuenta la velocidad de acceso, el ancho de banda, la latencia y la interfaz utilizada.
Esto es especialmente importante en visión artificial, procesamiento de audio y sistemas Edge AI. Una aplicación puede disponer de suficiente memoria para almacenar todos sus datos, pero seguir teniendo problemas si el procesador no puede acceder a ellos con la velocidad necesaria.
La capacidad responde a cuánto se puede almacenar. El rendimiento de la memoria determina, en cambio, con qué rapidez puede utilizarse esa información.
Olvidar la memoria necesaria durante la ejecución
El tamaño del firmware o del modelo de IA no permite calcular por sí solo la memoria necesaria. Durante el funcionamiento, la aplicación también necesita recursos temporales para ejecutar el software y procesar los datos.
Entre ellos pueden encontrarse:
- Memoria de ejecución. Utilizada por el programa, las tareas y las estructuras internas del sistema.
- Buffers temporales. Necesarios para recibir, almacenar y procesar datos.
- Resultados intermedios. Generados durante los algoritmos o la inferencia de inteligencia artificial.
- Datos de comunicación. Utilizados por protocolos y transferencias entre diferentes interfaces.
Este error puede hacer que una aplicación aparentemente compatible con un microcontrolador no funcione correctamente en el hardware final.
No prever las actualizaciones OTA
Las actualizaciones remotas son cada vez más habituales en los dispositivos IoT conectados. Dependiendo de la arquitectura utilizada, puede ser necesario descargar y almacenar temporalmente una nueva imagen de firmware antes de sustituir la versión anterior. Por ejemplo, algunas arquitecturas utilizan un slot secundario para almacenar la nueva imagen mientras el dispositivo continúa utilizando la versión situada en el slot principal.
Esto puede aumentar de forma considerable la memoria Flash necesaria. En algunos casos, la estrategia de actualización obliga a reservar espacio para mantener más de una imagen del firmware.
Si esta necesidad no se considera desde las primeras fases del diseño electrónico, incorporar actualizaciones OTA posteriormente puede resultar mucho más complejo.
Añadir memoria externa sin considerar el diseño de la PCB
La incorporación de memoria externa no consiste únicamente en conectar un nuevo componente al procesador. A medida que aumenta la velocidad de la interfaz, también crece la importancia del diseño físico de la placa.
Es necesario prestar atención a aspectos como:
- Routing de las señales. Las conexiones deben diseñarse de acuerdo con los requisitos de la interfaz.
- Impedancias y longitudes. Las pistas pueden necesitar un control específico para mantener la calidad de la señal.
- Plano de referencia. El retorno de las señales debe formar parte del análisis del diseño.
- Alimentación y desacoplo. La memoria necesita una distribución de potencia estable durante su funcionamiento.
Por tanto, la arquitectura de memoria forma parte del diseño completo de la PCB y debe analizarse junto con el resto de la arquitectura hardware.
Sobredimensionar la memoria sin necesidad
El error contrario también existe. Elegir la memoria con mayor capacidad disponible no garantiza un mejor diseño. Una selección excesiva puede aumentar el coste, el consumo energético, la complejidad del sistema y los riesgos relacionados con el suministro de componentes.
La mejor arquitectura de memoria para un dispositivo IoT o sistema Edge AI es la que proporciona el equilibrio adecuado entre capacidad, rendimiento, consumo, disponibilidad y coste. Dimensionar correctamente los recursos permite evitar tanto las limitaciones prematuras como el uso innecesario de componentes.
Cómo diseñar correctamente la arquitectura de memoria
Antes de seleccionar un microcontrolador, una memoria externa o cualquier otro componente, conviene definir cómo utilizará realmente la aplicación los recursos disponibles. La elección correcta no depende de una única cifra de capacidad, sino de la combinación entre almacenamiento, memoria de trabajo, rendimiento y evolución prevista.
Una metodología útil consiste en analizar cinco cuestiones desde las primeras fases del diseño de la arquitectura hardware.
1. ¿Qué información debe almacenar el dispositivo?
El primer paso consiste en identificar todo aquello que debe conservarse de forma permanente. Aquí no solo debe considerarse el software actual, sino también los recursos que forman parte del funcionamiento normal del producto.
Conviene calcular el espacio destinado al firmware, los modelos de inteligencia artificial cuando existan, las configuraciones, los registros históricos y cualquier dato que deba mantenerse después de apagar el dispositivo.
Este análisis permite definir una previsión inicial de las necesidades de memoria no volátil. También ayuda a decidir si resulta suficiente la memoria integrada o si el producto necesita almacenamiento adicional.
2. ¿Qué datos deben estar disponibles durante el funcionamiento?
El siguiente paso consiste en analizar la memoria que necesita la aplicación mientras está activa. Este cálculo debe realizarse teniendo en cuenta el peor escenario razonablemente previsto, y no únicamente el funcionamiento habitual.
Es necesario considerar los buffers, las imágenes, el audio, los datos procedentes de sensores y los recursos temporales utilizados por las diferentes tareas. También conviene analizar qué procesos pueden ejecutarse simultáneamente, ya que varias funciones activas al mismo tiempo pueden aumentar considerablemente la memoria necesaria.
Este punto resulta especialmente importante en sistemas multitarea y aplicaciones de Edge AI, donde la carga de memoria puede variar según el estado del dispositivo.
3. ¿Con qué rapidez necesita accederse a la información?
Una vez conocida la cantidad de datos, hay que analizar cómo se utilizarán. No todas las aplicaciones necesitan la misma velocidad de acceso ni el mismo ancho de banda.
Por ejemplo, una configuración almacenada ocasionalmente tiene requisitos muy diferentes de un buffer que debe actualizarse continuamente. Identificar qué datos son críticos para el rendimiento permite decidir dónde deben situarse dentro de la arquitectura de memoria.
En esta fase puede resultar útil clasificar los datos según su frecuencia de acceso y su criticidad. Así se evita utilizar la memoria más rápida y costosa para información que apenas se consulta.
4. ¿Qué impacto tendrá sobre el consumo del dispositivo?
La arquitectura de memoria también debe evaluarse dentro del presupuesto energético del producto. Esto es especialmente importante en dispositivos IoT alimentados por batería, donde cada recurso adicional puede afectar a la autonomía.
No basta con conocer el consumo de un componente en funcionamiento. También conviene analizar cuánto tiempo permanece activo, con qué frecuencia se accede a la memoria y si puede entrar en modos de bajo consumo cuando no se utiliza.
Este enfoque permite comparar diferentes arquitecturas desde una perspectiva más realista que la simple suma del consumo máximo de cada componente.
5. ¿Cómo debe evolucionar el producto?
La última cuestión consiste en pensar más allá de la primera versión. Antes de cerrar la arquitectura, conviene identificar qué cambios son razonablemente previsibles durante la vida útil del producto.
Pueden aparecer nuevas funciones, protocolos adicionales, cambios en el procesamiento o mayores necesidades de almacenamiento. El objetivo no es sobredimensionar todos los recursos, sino dejar un margen coherente allí donde la evolución sea más probable.
Responder a estas cinco preguntas antes de seleccionar los componentes permite tomar decisiones de diseño electrónico y arquitectura de memoria con una visión más completa. También reduce el riesgo de descubrir limitaciones cuando el desarrollo del hardware y del software ya está avanzado.
La arquitectura de memoria será cada vez más importante
Durante mucho tiempo, la selección del procesador ha sido una de las primeras decisiones al diseñar un dispositivo electrónico. Sin embargo, el crecimiento de Edge AI, el procesamiento local y las aplicaciones IoT más complejas está haciendo que la memoria participe en esta decisión desde el inicio.
Un sistema puede disponer de una elevada capacidad de procesamiento y seguir ofreciendo un rendimiento insuficiente si la arquitectura de memoria no está correctamente dimensionada. La capacidad disponible, el ancho de banda, la latencia y el consumo pueden convertirse en factores limitantes.
Esto obliga a analizar el dispositivo como un conjunto. El procesador determina qué operaciones puede realizar, pero la memoria condiciona qué información puede mantener disponible y con qué rapidez puede utilizarla.
Por este motivo, procesador, memoria, almacenamiento, alimentación y comunicaciones deben definirse de forma coordinada. Una decisión aparentemente aislada, como añadir memoria externa, puede afectar al consumo, al diseño de la PCB, al coste y a la selección de otros componentes.
Esta visión resulta especialmente importante para empresas que desarrollan nuevos productos IoT o sistemas Edge AI. Definir correctamente la arquitectura desde las primeras fases permite identificar limitaciones antes de fabricar la PCB y facilita que el producto pueda evolucionar sin depender de grandes rediseños.
La memoria ya no debe considerarse simplemente como un recurso adicional del sistema. Forma parte de las decisiones que definen el rendimiento, la eficiencia y las posibilidades futuras de un producto electrónico.
Conclusión
Las necesidades de memoria de los dispositivos IoT están cambiando rápidamente. Mientras que un equipo tradicional podía funcionar con una cantidad relativamente reducida de Flash y SRAM, la incorporación de Edge AI, procesamiento local, visión artificial y algoritmos avanzados está incrementando tanto la capacidad como el rendimiento necesarios.
Elegir correctamente entre SRAM, Flash, PSRAM, SDRAM, DDR u otras tecnologías depende de la aplicación. No existe una solución universal.
La clave está en analizar desde el principio qué datos debe almacenar el dispositivo, cuánta memoria necesita durante la ejecución, con qué velocidad debe acceder a ella, cuánto puede consumir y cómo evolucionará el producto en el futuro.
Diseñar la arquitectura de memoria con suficiente antelación permite evitar uno de los problemas más habituales en el desarrollo de sistemas embebidos: descubrir, cuando el hardware ya está diseñado, que el procesador elegido no dispone de la memoria necesaria para incorporar la siguiente funcionalidad.
¿Estás desarrollando un dispositivo IoT o Edge AI?
La selección del procesador y la memoria condiciona directamente las posibilidades futuras de un producto. Una arquitectura correctamente definida puede reducir costes, optimizar el consumo y evitar rediseños cuando sea necesario incorporar nuevas funcionalidades.
En Kenso Circuits, con sede en Valencia, ayudamos a empresas de toda España a definir la arquitectura hardware de dispositivos IoT, sistemas embebidos y equipos Edge AI, analizando conjuntamente el procesador, la memoria, las comunicaciones, la alimentación y las necesidades futuras del producto.
Si estás desarrollando un nuevo equipo electrónico y necesitas definir qué arquitectura de memoria se adapta mejor a tu aplicación, podemos ayudarte a evaluar las diferentes opciones antes de iniciar el diseño de la PCB.
Preguntas frecuentes sobre la memoria en dispositivos IoT
¿Cuánta memoria necesita un dispositivo IoT?
Depende de la aplicación. Un dispositivo que únicamente recoge datos de sensores puede funcionar con poca memoria, mientras que un equipo con Edge AI, procesamiento de imágenes, audio o grandes buffers puede necesitar varios megabytes de Flash y RAM. Es importante calcular tanto la memoria necesaria para almacenar el firmware como la utilizada durante la ejecución.
¿Qué diferencia existe entre SRAM y Flash?
La SRAM se utiliza principalmente como memoria de trabajo durante la ejecución del dispositivo. Es rápida, pero pierde la información cuando se corta la alimentación.
La memoria Flash, en cambio, conserva los datos sin alimentación y se utiliza habitualmente para almacenar el firmware, configuraciones, modelos de inteligencia artificial y otros datos persistentes.
¿Cuándo es necesario utilizar memoria externa en un dispositivo IoT?
Puede ser necesaria cuando la memoria integrada en el microcontrolador no resulta suficiente para almacenar el firmware, modelos de IA, grandes buffers o datos adicionales. También es habitual en aplicaciones de visión artificial, audio, Edge AI o interfaces gráficas avanzadas.
¿Qué memoria es mejor para Edge AI?
No existe una única respuesta. La Flash suele utilizarse para almacenar el modelo de inteligencia artificial, mientras que la SRAM, PSRAM o SDRAM pueden utilizarse para mantener los datos y buffers necesarios durante la inferencia.
La elección depende del tamaño del modelo, los datos de entrada y la velocidad con la que deban procesarse.
¿Por qué un modelo de IA puede necesitar más memoria que la que ocupa?
Porque durante la ejecución no solo se almacena el modelo. También es necesario disponer de memoria para los datos de entrada, activaciones, resultados intermedios, tensores y otros buffers temporales.
Por este motivo, el tamaño del archivo del modelo no permite calcular por sí solo la memoria total necesaria.
¿La memoria influye en el consumo de un dispositivo IoT?
Sí. La capacidad, la tecnología y la velocidad de acceso a la memoria pueden afectar al consumo energético. Esto es especialmente importante en dispositivos alimentados por batería, donde el uso de memorias externas o el movimiento continuo de grandes cantidades de datos puede reducir la autonomía.
¿Cuánta memoria debo reservar para actualizaciones OTA?
Depende de la arquitectura de actualización utilizada. En algunos dispositivos es necesario almacenar temporalmente una nueva versión completa del firmware antes de sustituir la anterior, por lo que las necesidades de Flash pueden aumentar considerablemente. Conviene definir la estrategia OTA desde las primeras fases del diseño.
¿Es recomendable dejar margen de memoria para futuras actualizaciones?
Sí. Diseñar utilizando prácticamente toda la memoria disponible puede impedir añadir nuevas funcionalidades, protocolos o mejoras en el futuro. Dejar un margen razonable facilita la evolución del producto y puede evitar un rediseño completo del hardware.

Si estás desarrollando un nuevo equipo electrónico y necesitas definir qué arquitectura de memoria se adapta mejor a tu aplicación.
