Flash dwubankowy
Pamięć flash w układzie podzielona na dwie niezależne połowy, tak że kod może się wykonywać z jednej, podczas gdy druga jest kasowana i zapisywana.
Zwykły flash ma irytującą cechę: gdy sektor jest kasowany, z tego samego banku nic nie da się odczytać, więc procesor czeka do końca kasowania — czasem setki milisekund. Przy dwóch bankach z osobnymi kontrolerami kod działa dalej z jednego, gdy drugi jest programowany. To odczyt podczas zapisu (read-while-write) na poziomie układu.
Największe zastosowanie to aktualizacje firmware'u. Nowy obraz trafia do nieaktywnego banku bez pośpiechu, jest weryfikowany i aktywowany przełączeniem bajtu opcji, który decyduje, który bank jest widoczny pod adresem startowym. Kilka rodzin STM32 ma właśnie taki bit zamiany banków. Jeśli zasilanie zniknie w trakcie zapisu, stara wersja leży nietknięta. Układy jednobankowe muszą rozwiązywać ten problem programowo, jak MCUboot z obszarem roboczym i znacznie większą liczbą cykli kasowania.