Двухбанковая флеш-память
Встроенная флеш-память, разделённая на две независимые половины, так что код может выполняться из одной, пока другая стирается и записывается.
У обычной флеш-памяти есть неприятная особенность: пока стирается сектор, из того же банка ничего нельзя читать, и процессор простаивает до конца стирания — порой сотни миллисекунд. С двумя банками и отдельными контроллерами код продолжает выполняться из одного, пока программируется другой. Это read-while-write на уровне чипа.
Главный сценарий — обновление прошивки. Новый образ спокойно записывается в неактивный банк, проверяется и активируется переключением байта опций, определяющего, какой банк отображается на адрес загрузки. В ряде семейств STM32 есть именно такой бит обмена банков. Если питание пропало посреди записи, старая версия остаётся нетронутой. Однокбанковым чипам ту же задачу приходится решать программно, как MCUboot, — с областью подкачки и заметно большим числом циклов стирания.