Курс 9 • Урок 5 из 8 • 3 часа учебной нагрузки

Память: SRAM, DRAM, Flash, EEPROM

Цель: Разобраться в основных типах памяти SRAM, DRAM, Flash и EEPROM, различать энергозависимость, способ хранения и особенности записи.

3 часа короткая теория, самостоятельная практика, проверка результата и тест.

Суть темы

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

SRAM и DRAM относятся к оперативной энергозависимой памяти, но физически хранят бит по-разному. Flash и EEPROM сохраняют данные без питания, однако запись и стирание у них медленнее чтения и ограничены по числу циклов.

  • SRAM хранит состояние в статической ячейке на транзисторах и не требует refresh, пока питание присутствует.
  • DRAM хранит заряд в ёмкостной ячейке; заряд утрачивается и требует периодического refresh.
  • EEPROM позволяет электрически изменять энергонезависимые данные обычно с более мелкой гранулярностью, чем Flash.
  • Flash стирается блоками/секторами и подходит для кода и больших объёмов данных; запись и стирание организуются разными операциями.
  • Любая память имеет адрес, данные и управляющие операции; последовательные микросхемы скрывают внутреннюю шину за SPI/I²C-подобным протоколом.

Ключевые связи и параметры

Статическая память ценится за быстродействие и простоту доступа, но ячейка занимает больше площади. DRAM даёт высокую плотность, поэтому используется как основная память больших объёмов, но требует контроллера refresh и более сложных временных циклов.

У Flash/EEPROM изменение заряда в изолированном затворе требует повышенных внутренних напряжений и занимает время. Контроллер должен дождаться окончания программирования и учитывать ресурс ячеек; частую запись переменных данных распределяют по памяти или используют wear leveling.

address space = 2^A locations for A address bitscapacity = number of words × bits per word

Разбор примера

Память 32K×8 содержит 32768 адресов по 8 бит, то есть 262144 бит = 32 KiB данных. Для прямого адресования 32768 ячеек требуется 15 адресных бит, потому что 2^15=32768.

Если лог записывается во Flash каждую секунду в один и тот же сектор, ресурс стирания может быть исчерпан намного раньше срока службы устройства. Буферизация и циклическое распределение записей уменьшают износ.

Практическая работа и проверка

Сравните техническое описание небольшой SRAM, SPI Flash и I²C EEPROM по тем же параметрам, а не только по объёму.

  1. Для каждой памяти найдите напряжение, организацию слов и интерфейс.
  2. Определите, сохраняются ли данные без питания.
  3. Найдите время чтения и время записи/стирания.
  4. Запишите минимальную единицу программирования и стирания.
  5. Найдите заявленный endurance и правила ожидания завершения записи.
Не отключайте питание во время операции записи энергонезависимой памяти без схемы контроля — данные или структура сектора могут повредиться.

Типичные ошибки и диагностика

  • Считать SRAM энергонезависимой из-за слова static.
  • Путать refresh DRAM с операцией стирания Flash.
  • Записывать Flash как обычный байтовый RAM без учёта erase block.
  • Игнорировать ресурс циклов записи EEPROM/Flash.

Повреждённые настройки после отключения питания могут быть следствием прерванной записи, неверного контроля busy или износа ячейки, а не только ошибки программы чтения.

Связь с реальным устройством

Тип памяти определяется физикой хранения и режимом использования: скорость, плотность, энергозависимость и ресурс записи связаны между собой.

Что нужно запомнить

  • SRAM не требует refresh, но теряет данные без питания.
  • DRAM хранит заряд и требует refresh.
  • Flash и EEPROM энергонезависимы.
  • Flash обычно стирается блоками.
  • Ресурс записи энергонезависимой памяти конечен.
Проверка знаний

Вопросы по уроку

Нужно 75%
Загрузка вопросов…