Recuperación de datos en dispositivos IoT y almacenamiento embebido: sensores, Raspberry Pi, eMMC y PLCs
El Internet of Things (IoT) industrial ha llevado el almacenamiento de datos a entornos para los que no fue diseñado: tarjetas microSD en sensores de temperatura instalados a 40 metros de altura en una torre de telecomunicaciones, memorias eMMC soldadas a la placa de un PLC en una línea de producción química, ordenadores Raspberry Pi que registran datos de producción en un almacén frigorífico a -20 °C. Cuando estos dispositivos fallan —y fallan, porque el almacenamiento flash no es inmortal— la recuperación de sus datos presenta retos técnicos distintos a los de un disco duro convencional. Explicamos qué tipos de almacenamiento embebido existen, por qué fallan y qué podemos recuperar.
Tipos de almacenamiento en dispositivos IoT y embebidos
Tarjetas microSD / SD
El almacenamiento más frecuente en dispositivos IoT de bajo coste: Raspberry Pi, Arduino con módulo SD, cámaras IP, contadores inteligentes y miles de variantes de sensores industriales de fabricación propia. Las tarjetas SD son económicas y convenientes, pero tienen limitaciones críticas para uso industrial:
- Ciclos de escritura limitados: las tarjetas SD de consumo (clase 10, U1) tienen entre 1.000 y 10.000 ciclos de escritura por celda (TLC NAND). Un sistema de logging que escribe en la misma zona de la tarjeta cada segundo agota esta vida útil en semanas o meses.
- Sin capacitor de reserva: a diferencia de los SSD empresariales, las tarjetas SD no tienen capacitor para completar escrituras en curso cuando se corta la alimentación. Un corte de luz durante una escritura puede corromper el sistema de ficheros.
- Wear leveling pasivo: el controlador de la tarjeta redistribuye las escrituras para igualar el desgaste, pero los algoritmos de las SD de consumo son mucho menos sofisticados que los de SSD industriales.
Recuperación: las tarjetas SD corruptas o con sectores fallidos se recuperan mediante clonado con herramientas de recuperación sector a sector (ddrescue, PC-3000 Flash), seguido de recuperación del sistema de ficheros (generalmente ext4 para Raspberry Pi, o FAT32/exFAT para dispositivos genéricos). Las tarjetas con daño físico del controlador pueden requerir lectura directa de los chips NAND mediante adaptadores especializados.
Memorias eMMC
La memoria eMMC (embedded MultiMediaCard) es el estándar de almacenamiento flash para dispositivos embebidos de gama media: tablets, smartphones de gama media, ordenadores de placa única (SoC) y, cada vez más, sistemas de control industrial. A diferencia de las tarjetas SD, el chip eMMC está soldado directamente a la placa, lo que complica enormemente su lectura directa.
Las causas de fallo más frecuentes en eMMC industrial son:
- Agotamiento de ciclos de escritura por logs continuos
- Corrupción del firmware del controlador eMMC por actualizaciones fallidas
- Fallos de alimentación que corrompen la tabla de particiones o el sistema de ficheros
- Daño físico por temperatura o humedad extrema
Recuperación: para eMMC soldado, el proceso requiere acceder al chip mediante el interfaz JTAG o mediante las líneas de comandos del estándar eMMC (CMD0, CMD1...). En algunos casos, utilizamos técnicas de chip-off: desoldamos el chip eMMC con estación de rework BGA, lo leemos con adaptador de chip directamente y reconstruimos el sistema de ficheros de los datos en bruto.
PLCs y memorias de datos industriales
Los controladores lógicos programables (PLCs) de fabricantes como Siemens, Allen-Bradley (Rockwell), Schneider Electric o Omron almacenan tanto el programa de control como los datos de proceso (registros, recetas, alarmas históricas) en diferentes tipos de memoria:
- Memoria flash interna: almacena el programa de control (ladder, FBD, ST). Si se corrompe, el PLC no arranca o ejecuta un programa incorrecto.
- Tarjeta de memoria CompactFlash o SD: los PLCs Siemens S7-300/400/1500 y los Allen-Bradley pueden almacenar el programa y los datos de proceso en tarjetas de memoria extraíbles. La recuperación de estas tarjetas es similar a la de cualquier CompactFlash o SD.
- Memoria NVRAM con batería: algunos PLCs almacenan datos de retención (contadores, temporizadores, variables remanentes) en NVRAM respaldada por batería. Cuando la batería falla, estos datos se pierden. La recuperación no es posible: la NVRAM sin alimentación pierde su contenido. La prevención es la única solución (cambio de batería según el plan de mantenimiento).
- Tarjetas CF en PCs industriales: los PCs industriales (Beckhoff, Advantech, Siemens Simatic IPC) frecuentemente usan CompactFlash como disco de sistema. Estas tarjetas son recuperables con las mismas técnicas que cualquier CF.
Raspberry Pi: el servidor IoT más popular y sus fallos habituales
La Raspberry Pi es el corazón de miles de proyectos de IoT industrial y domótica: gateways MQTT, sistemas de monitorización con InfluxDB y Grafana, controladores de maquinaria auxiliar, kioscos de información y muchos más. Su talón de Aquiles es la tarjeta microSD.
Los fallos más frecuentes en Raspberry Pi para uso industrial son:
- Corrupción del sistema de ficheros por corte de luz: Raspbian/Raspberry Pi OS usa ext4, que tiene journaling, pero la tarjeta SD puede perder datos del journal si la alimentación se corta durante una escritura crítica. El síntoma es que la Raspberry no arranca o monta el sistema de ficheros en modo solo lectura.
- Agotamiento de la tarjeta SD por escrituras continuas: una base de datos InfluxDB que escribe cada segundo de sensor puede agotar una tarjeta SD de gama consumo en 3-6 meses. El síntoma es aparición progresiva de sectores defectuosos y errores de E/S en los logs del kernel.
- Corrupción de la tabla de particiones: actualizaciones del sistema interrumpidas o herramientas de particionado mal utilizadas.
Recomendación preventiva: para uso industrial con Raspberry Pi, utiliza siempre tarjetas SD industriales (SanDisk Industrial, Swissbit, Transcend Industrial) con soporte para modo SLC (Single Level Cell), que multiplica por 10 la vida útil. Configura el sistema de ficheros raíz en modo de solo lectura y usa un tmpfs para logs temporales. Los datos críticos, escríbelos en un SSD externo por USB o en almacenamiento en red.
Ordenadores embebidos con SSD de grado industrial
Los PCs industriales de última generación (Beckhoff CX, Siemens Simatic IPC, Advantech) utilizan frecuentemente SSD de grado industrial con interfaz SATA o M.2, con soporte de capacitor para escrituras en vuelo y gestión avanzada de wear leveling. Estos dispositivos son mucho más robustos que las tarjetas SD, pero también fallan.
Los fallos en SSD industriales son recuperables con las mismas técnicas que cualquier SSD convencional: acceso por JTAG si el firmware está corrompido, clonado forense sector a sector, y recuperación lógica del sistema de ficheros. La diferencia es que el SSD industrial suele tener mejor historial SMART, lo que facilita el diagnóstico del tipo de fallo.
Qué datos IoT son recuperables y cuáles no
| Tipo de dato | Recuperabilidad | Condición |
|---|---|---|
| Series temporales en InfluxDB / SQLite | Alta | Sistema de ficheros recuperable |
| Programa de PLC en CompactFlash | Alta | Si la CF no tiene daño físico severo |
| Logs en ficheros CSV/JSON | Alta | Ficheros recuperables aunque directorio dañado |
| eMMC soldado con controlador dañado | Media | Requiere chip-off y lectura directa NAND |
| NVRAM sin batería (datos remanentes PLC) | Ninguna | Datos volátiles sin alimentación |
| Chip NAND con degradación física severa | Baja | Depende del porcentaje de bloques malos |