
Figura 1: diagramma a blocchi di un dispositivo di stimolazione medica che utilizza una memoria esterna per supportare funzionalità avanzate
La prima sfida per gli architetti di sistema è identificare il giusto sistema su chip (SoC) o microcontrollore che funga da cuore del sistema. Deve essere in grado di fornire le prestazioni desiderate riducendo contemporaneamente il budget energetico dell'intero sistema.
I dispositivi periferici, come memorie esterne, sensori e interfacce di telemetria devono essere confrontabili con le prestazioni del SoC / microcontrollore, supportando anche un fattore di forma compatto e un consumo energetico efficiente.
Scelte di memoria
Il dispositivo scelto generalmente integra due tipi di memorie, flash e SRAM.
Flash è una memoria non volatile a scrittura relativamente lenta che supporta un numero limitato di cicli di scrittura. Viene utilizzato per contenere dati fissi o che cambiano lentamente come codice dell'applicazione, informazioni di sistema e / o registri dei dati utente post-elaborati.
SRAM è una memoria volatile ad accesso rapido che fornisce una durata illimitata del ciclo di scrittura. Viene utilizzato per memorizzare dati di sistema di runtime temporanei.
Con l'aumentare della complessità del sistema, aumenta anche la complessità del codice per le molteplici funzioni matematiche e algoritmi. La capacità della memoria interna su chip potrebbe essere insufficiente. I sistemi medicali portatili richiedono spesso spazio di archiviazione aggiuntivo, richiedendo ai progettisti di aumentare la memoria interna con la memoria esterna (Figura 1).
È possibile utilizzare una memoria esterna a basso consumo per l'espansione della RAM, in genere una SRAM con corrente attiva e standby estremamente bassa. Le opzioni per l'archiviazione non volatile includono flash, EEPROM, MRAM e F-RAM.
La memoria flash seriale viene utilizzata per l'espansione dell'archiviazione di dati e programmi non volatili a causa del suo basso costo e della disponibilità di densità elevate. Tuttavia, ha un consumo energetico relativamente elevato, che riduce la durata operativa dei dispositivi basati su batteria.
Alcune applicazioni sostituiscono una parte della memoria con una EEPROM, ma questa non è ancora compatibile con la batteria, specialmente quando le operazioni comportano lunghe scritture sulla EEPROM. Inoltre complica la progettazione del codice dell'applicazione.
La RAM magneto-resistiva (MRAM) ha una durata di scrittura illimitata. Il suo svantaggio, tuttavia, è che consuma correnti attive e di standby molto elevate ed è suscettibile ai campi magnetici che possono danneggiare i dati memorizzati. Queste caratteristiche lo rendono quindi inadatto ai dispositivi medici a batteria.
La RAM ferroelettrica (F-RAM) presenta diversi vantaggi chiave nei dispositivi medici portatili e ha un'elevata durata del ciclo di scrittura.
Complicazioni mediche

Figura 2: Consumo energetico per 4 Mb in scrittura (µJ) per le tecnologie di memoria non volatile
La durata limitata in scrittura di EEPROM e flash crea potenziali problemi per i dispositivi medici che devono archiviare registri di dati che vengono costantemente aggiornati. Flash offre una durata nell'ordine di 1E + 5 e EEPROM è 1E + 6. La durata del ciclo di scrittura della F-RAM è 1E + 14 (o 100 trilioni). Ciò consente ai dispositivi di registrare più dati senza dover implementare complessi algoritmi di livellamento dell'usura e over-provisioning di capacità aggiuntiva (Figura 3).
Un secondo vantaggio è che l'architettura interna della F-RAM consuma ordini di grandezza inferiore di energia attiva rispetto ai dispositivi di memoria flash o EEPROM basati sulla carica (Figura 2).
Ad esempio, le F-RAM Excelon di Cypress supportano le modalità standby, spegnimento completo e ibernazione. L'implementazione di questi in un'applicazione può ridurre il consumo di energia di circa due ordini di grandezza in combinazione con la modalità a potenza attiva inferiore.

Figura 3: confronto del ciclo di resistenza per le tecnologie di memoria non volatile
EEPROM e flash richiedono tempi di ciclo pagina-programma / pagina-scrittura aggiuntivi, aumentando così il tempo di attività del sistema per le operazioni di scrittura. L'immediata non volatilità di F ‑ RAM consente ai sistemi a batteria di disattivare completamente l'alimentazione o di far cadere più rapidamente il sistema in una modalità di inattività a basso consumo per ridurre sia il tempo attivo che la corrente attiva.
Ciò migliora anche l'affidabilità nelle applicazioni che hanno requisiti di temporizzazione precisi in cui i dati sono a rischio durante un guasto di alimentazione. Le celle F ‑ RAM sono inoltre altamente tolleranti a vari tipi di radiazioni, inclusi i raggi X e le radiazioni gamma e sono immuni ai campi magnetici, per proteggere i dati registrati.
Alcuni dispositivi F-RAM, come Excelon LP, forniscono un codice di correzione degli errori (ECC) su chip in grado di rilevare e correggere errori a bit singolo in ogni parola di dati a 64 bit, aumentando l'affidabilità di archiviazione dei log di dati di sistema critici. F ‑ RAM supporta anche la corrente di picco controllata (ovvero il controllo della corrente di spunto inferiore a 1,5 mA) per evitare una scarica eccessiva della batteria.
F ‑ RAM può essere alloggiato in una confezione poco ingombrante. Ad esempio, Excelon LP offre fino a 8 Mbit ed è disponibile in package SOIC a otto pin standard del settore e in package GQFN miniaturizzati a otto pin con throughput fino a 50 MHz SPI I / O e 108 MHz QSPI (Quad-SPI) I / O.
La durata pressoché infinita di F ‑ RAM, la non volatilità istantanea e il basso consumo energetico consentono ai progettisti di sistema di combinare dati e funzioni basati su RAM e ROM in un'unica memoria.
Le tecnologie basate su ROM, tra cui mask ‑ ROM, OTP ‑ EPROM e NOR ‑ flash, non sono volatili e sono orientate verso applicazioni di archiviazione del codice.
La memoria flash NAND e la EEPROM possono anche fungere da memoria dati non volatile. Questi richiedono tutti un compromesso, poiché eseguono sia l'archiviazione del codice che dei dati con prestazioni ridotte rispetto alle memorie alternative.
Queste tecnologie si concentrano su un costo inferiore, che richiede un compromesso tra facilità d'uso e / o prestazioni.
Le tecnologie basate su RAM servono come memoria dati e anche come spazio di lavoro per l'esecuzione del codice quando l'esecuzione da flash risulta troppo lenta. La RAM fornisce una combinazione di codice e funzionalità dei dati, ma la sua natura volatile ne limita l'uso alla memorizzazione temporanea.
Le applicazioni portatili richiedono prestazioni ottimizzate con il minor numero di componenti possibile.
L'utilizzo di più tipi di memoria può portare a inefficienze, complicare la progettazione del codice e in genere consuma più energia.
L'efficienza e l'affidabilità di F-RAM consente a un'unica tecnologia di memoria di gestire sia il codice che i dati.
Ha la resistenza per supportare la registrazione dei dati ad alta frequenza riducendo il costo del sistema, aumentando l'efficienza del sistema e riducendo la complessità del sistema.