EO_473

67 - ELETTRONICA OGGI 473 - OTTOBRE 2018 bilità quando si organizza la parte aggiornabile del firmware. La figura 2 mostra un esempio di organiz- zazione della memoria in porzioni aggiornabili o non aggiornabili. Le parti non aggiornabili, come il codice di avvio, sono archiviate in aree protette. Le parti ag- giornabili del firmware come caratteristiche/funzio- nalità sono suddivise in blocchi più piccoli o blocchi più grandi in base ai requisiti di flessibilità. I file im- magine aggiornabili sono memorizzati in blocchi più grandi mentre variabili/parametri aggiornabili sono memorizzati in blocchi di dimensioni inferiori. Frequenza di aggiornamento La principale limitazione relativa alla frequenza di aggiornamento del firmware è costituita dal limite di durata della memoria utilizzata in un’applicazione. La tecnologia di memoria SuperFlash (con la quale è stato realizzato il dispositivo SST26VF064B) garan- tisce una durata di 100.000 cicli, il che significa che ciascun settore può essere programmato e cancella- to 100.000 volte. La possibilità di aggiornare il firmware 100.000 volte potrebbe sembrare sufficiente, tuttavia, molti dispo- sitivi IoT raccolgono i dati e memorizzano le infor- mazioni nella NOR flash durante l’utilizzo, pertanto è necessario tenerne conto quando si calcolano i limi- ti massimi del ciclo di endurance (ovvero la durata utiler). È importante quindi allocare sufficienti settori nella memoria per garantire una buona endurance. Un esempio chiarirà meglio questo concetto: si sup- ponga che un dispositivo IoT stia raccogliendo e me- morizzando 16 byte di informazioni e che queste in- formazioni debbano essere raccolte e conservate 100 milioni di volte durante la vita del prodotto. Il numero di settori che devono essere allocati può essere cal- colato come segue: – 1 settore = 4 KB – S’ipotizzi che tutte le posizioni di indirizzo nel setto- re siano utilizzate per memorizzare informazioni, 16 byte di dati alla volta, e che vengano scritti in una nuova posizione di indirizzo fino a quando non ven- ga raggiunta la fine del settore (es. 0x0000-0x000F quindi 0x0010-0x001F quindi 0x0020-0x002F e così via) – Dato che 4 KB/16 byte = 256, cioè il numero di volte in cui i dati possono essere scritti prima di saturare la capacità del settore e cancellare tutti i dati del settore – Il limite di durata di 1 settore = 100.000 cicli – Quindi, se 1 settore può essere scritto 256 volte per 100.000 cicli, i dati possono essere raccolti e con- servati 25.600.000 volte Fig. 1 – Organizzazione della memoria (map) del dispositivo SST26VF064B, basato su 8 blocchi da 8 KB, due blocchi da 32 KB e 126 da 64 KB Fig. 2 – Organizzazione dellamemoria in porzioni non aggiornabili (esempio: codice di avvio) e porzioni aggiornabili (esempio: codice per funzioni/caratteristiche, file immagine e variabili dei parametri) INTERNET OF THINGS

RkJQdWJsaXNoZXIy MTg0NzE=