Flash dual-bank
Memoria flash integrata divisa in due metà indipendenti, così che il codice possa girare da una mentre l'altra viene cancellata e scritta.
La flash tradizionale ha un difetto fastidioso: mentre un settore viene cancellato, dallo stesso banco non si può leggere nulla, perciò il processore si blocca fino al termine della cancellazione — a volte per centinaia di millisecondi. Con due banchi e controller separati, il codice continua a essere eseguito da uno mentre l'altro viene programmato. È il read-while-write portato a livello di chip.
Il caso d'uso principale è l'aggiornamento del firmware. La nuova immagine viene scritta con calma nel banco inattivo, verificata e attivata cambiando un option byte che decide quale banco sia mappato all'indirizzo di avvio. Diverse famiglie STM32 hanno proprio un bit di scambio dei banchi. Se l'alimentazione manca durante la scrittura, la vecchia versione è ancora lì, intatta. I chip a banco singolo devono risolvere lo stesso problema via software, come fa MCUboot con un'area di scratch e molti più cicli di cancellazione.