EEPROM и Flash память (NOR и NAND)

Данные типы энергонезависимой памяти применяются в различных микропроцессорах для хранения кода программы. Программа прошивается в эту память определенными алгоритмами и исполняется при работе процессора.

EEPROM (Electrically Erasable Programmable Read-Only Memory) — электрически стираемое перепрограммируемое ПЗУ (постоянное запоминающее устройство). Изначально память такого типа позволяла читать и записывать произвольную ячейку памяти. Но управление такой памятью требует сложной схемотехники и высокую стоимость. Для того чтобы устранить данные недостатки появился следующий тип памяти - Flash память.

FLASH память отличается тем, что запись информации происходит страницами. Нельзя свободно модифицировать отдельную ячейку памяти, но для ПЗУ это не так актуально. Запись информации происходит в два этапа.

  1. Сначала происходит стирание страницы. Стирание страницы заключается в том, что во всех ячейках памяти появляются логические "1". Дело в том, что нельзя записать отдельную единицу в какой-то разряд, эта операция возможна только для целой страницы. Вся страница памяти после этого этапа становится равна - 0xFF в байтовом представлении.
  2. Записывается информация. По существу записываются нули в нужные разряды слов данных.

FLASH память в свою очередь поделилась на NOR память и NAND память. NAND память не позволяет считывать произвольные ячейки памяти, доступ к словам происходит последовательно, друг за другом. Эта память удобна для записи больших объемов информации, чтение и запись в ней происходит блоками. Такой режим работы делает ее неудобной для использования при исполнении программы. В таких случаях код из FLASH памяти копируется в RAM и запускается оттуда.

NOR память наиболее близко соответствует изначальной памяти EEPROM, с той лишь разницей, что записывается она все-же страницами. Такая память дороже чем NAND, и ее объемы в кристаллах как правило ограничены. Но она позволяет обращаться к произвольным ячейкам памяти при выполнении кода программ. Это необходимо, например, для прыжков на функции и для реализации прочих переходов, там где требуется не последовательное чтение памяти. В микроконтроллерах "Миландр" используется данный тип памяти, поэтому там где в описании используются сочетания - EEPROM Flash подразумевается память NOR типа.