Энергонезависимая память. Иерархия памяти
Разберём ROM, NOR/NAND Flash, SSD и HDD, ресурс перезаписи, уровни иерархии и работу кэша. Сначала изучите всю теорию, разберите интерактивные модели, затем пройдите тест в конце страницы. Ответы сохраняются в этом браузере автоматически.
Почему информация сохраняется после выключения
Представьте, что вы написали реферат, сохранили файл и выключили компьютер. Содержимое обычного ОЗУ исчезнет, но реферат останется на накопителе. Причина в энергонезависимости (non-volatility): некоторые технологии сохраняют записанное состояние без постоянного питания.
Энергозависимая память обычно удерживает данные только при наличии питания: регистры, SRAM-кэш, DRAM. Энергонезависимая память сохраняет данные после обесточивания: различные виды ROM и Flash, магнитная запись в HDD, оптические носители. Однако «энергонезависимая» не значит «вечная»: физический износ, температура, время и неисправности могут привести к потере данных.
| Хранилище | Без питания | Обычная роль |
|---|---|---|
| Регистры и SRAM-кэш | Не сохраняют | Очень быстрые операции ЦП |
| DRAM | Не сохраняет | Оперативная память |
| NOR Flash | Сохраняет | Прошивки, встроенные системы |
| NAND Flash | Сохраняет | SSD, флешки, карты памяти |
| HDD | Сохраняет | Большие объёмы данных |
ROM, PROM, EPROM, EEPROM и Flash
ROM (Read-Only Memory) буквально означает память только для чтения. В классическом варианте её содержимое задают при изготовлении или записывают ограниченным способом. В быту слово ROM иногда употребляют шире — как название постоянной памяти для прошивок, хотя современная прошивка обычно хранится в перезаписываемой Flash.
| Технология | Как изменяют содержимое | Где встречается |
|---|---|---|
| Mask ROM | Задаётся при производстве микросхемы | Некоторые специализированные устройства |
| PROM | Программируется однократно | Отдельные специализированные решения |
| EPROM | Можно стереть ультрафиолетовым светом (у соответствующих исполнений) и записать снова | Историческая электроника, лабораторные приборы |
| EEPROM | Электрически стираемая перезаписываемая память; обычно гранулярность меньше, чем у NAND Flash | Хранение конфигураций, небольших параметров |
| Flash (разновидность EEPROM) | Электрическая запись, стирание блоками/секторами (в зависимости от технологии) | Прошивки, SSD, USB-накопители |
Где находится BIOS/UEFI?
UEFI-прошивка материнской платы обычно хранится в энергонезависимой микросхеме SPI NOR Flash. При включении процессор получает управление от прошивки, она инициализирует оборудование и запускает процесс загрузки ОС. Само слово BIOS часто используют как бытовое название интерфейса настройки, хотя в современных ПК речь преимущественно об UEFI.
NOR и NAND Flash: разные задачи
Обе технологии относятся к Flash, но устроены для разных моделей доступа. NOR Flash обычно удобна для произвольного чтения небольших участков и исполнения кода непосредственно из памяти там, где это поддерживается (execute in place, XIP). NAND Flash обеспечивает высокую плотность хранения и хорошую стоимость за бит, поэтому используется в SSD и флешках.
| Параметр | NOR Flash | NAND Flash |
|---|---|---|
| Типичная задача | Прошивки и загрузочный код | Большие объёмы файлов |
| Чтение | Удобно для небольших адресуемых областей | Оптимизировано для чтения страниц/массивов |
| Ёмкость и стоимость | Обычно меньшая плотность и выше цена за бит | Высокая плотность и ниже цена за бит |
| Управление | Часто проще для небольших встроенных устройств | Требует управления плохими блоками, ECC и износом |
Как NAND физически запоминает данные
В ячейках Flash электрический заряд удерживается в изолированной структуре (например, плавающем затворе или ловушке заряда). Заряд меняет электрические свойства транзистора, по которым контроллер определяет записанное значение. Данные сохраняются без постоянного питания, но заряд со временем может деградировать, поэтому надёжность и срок хранения ограничены условиями эксплуатации.
Страница и блок NAND: почему запись устроена необычно
В обычной DRAM можно переписать отдельную ячейку. Во Flash запись подчиняется ограничениям: NAND обычно программируется страницами, а стирается более крупными блоками, состоящими из нескольких страниц. Прежде чем использовать заново уже запрограммированные участки, контроллер должен организовать их стирание; обычно он записывает обновлённые данные в другое свободное место и меняет карту соответствий.
Реальные NAND-блоки обычно намного больше и содержат гораздо больше страниц. Стирание происходит для всего блока, а не одной выбранной страницы.
🧪 Интерактив: записать или стереть NAND
Нажимайте «Записать страницу», пока места не останется. Затем нажмите «Стереть блок». Это упрощённая модель распределения свободных страниц без демонстрации уровней напряжения и внутреннего контроллера.
Пример: если у условного блока уже записаны четыре страницы, «изменить страницу 2» обычно нельзя просто как байт в DRAM. Контроллер SSD может записать новую версию страницы в другом месте, пометить старую как недействительную, а позже выполнить сборку мусора (garbage collection) и стереть подготовленный блок.
Как устроен SSD и почему он изнашивается
SSD (Solid-State Drive) обычно содержит NAND Flash, контроллер, прошивку и иногда DRAM-буфер. Контроллер распределяет записи, исправляет обнаруженные ошибки и переводит адреса блоков, которые видит ОС, в реальные физические места хранения. Эту работу называют FTL (Flash Translation Layer).
Что продлевает ресурс SSD
- Wear leveling (выравнивание износа) распределяет циклы записи и стирания по физическим блокам, чтобы не истощать один участок слишком быстро.
- ECC помогает обнаруживать и исправлять типовые ошибки чтения хранимых данных.
- Over-provisioning оставляет дополнительные физические ресурсы для обслуживания и замены блоков.
- TRIM / deallocate сообщает накопителю, какие логические блоки больше не нужны; это помогает обслуживать свободное пространство.
SLC, MLC, TLC, QLC
Обозначения показывают сколько бит хранится в одной ячейке. Чем больше уровней заряда нужно различать, тем выше плотность хранения, но тем сложнее программирование и, при прочих равных, ниже ресурс перезаписи и запас по надёжности. Итоговые характеристики конкретного SSD зависят также от контроллера, технологии чипов и алгоритмов.
TBW (Terabytes Written) — рейтинг записи в терабайтах, указанный изготовителем для конкретной модели; это не секундомер отказа, после которого SSD обязательно ломается. Важно делать резервные копии независимо от TBW.
SSD, HDD, интерфейсы и сохранность данных
HDD записывает данные на вращающиеся магнитные пластины; головке приходится перемещаться к нужной области, поэтому случайные обращения ограничены механикой. SSD не имеет движущихся механических частей и особенно выигрывает по задержке случайного доступа, хотя его производительность зависит от интерфейса и контроллера.
| Критерий | SSD | HDD |
|---|---|---|
| Физический принцип | Обычно NAND Flash | Магнитная запись |
| Случайный доступ | Обычно гораздо быстрее | Сдерживается позиционированием головки и вращением |
| Механика | Нет подвижных частей | Есть вращающиеся пластины и головки |
| Цена за 1 ТБ | Обычно выше | Часто выгоднее для больших объёмов |
| Типичные сценарии | ОС, программы, активные проекты | Большие архивы и массивы данных |
SATA и NVMe — не типы ячеек памяти
SATA — интерфейс подключения накопителей, а NVMe — протокол, оптимизированный для работы с энергонезависимыми устройствами через PCI Express и другие поддерживаемые транспорты. Поэтому «NVMe SSD» обычно обеспечивает более высокую производительность и параллелизм операций, чем обычный SATA SSD, но обе модели могут использовать NAND Flash.
Иерархия памяти: почему нет одного идеального хранилища
Нельзя получить одновременно минимальную задержку, огромную ёмкость и минимальную цену за бит одной технологией. Поэтому компьютеры используют иерархию памяти. Ближе к процессору расположены небольшие быстрые уровни; дальше — более ёмкие и обычно более медленные.
Почему кэш работает: локальность
Представьте цикл, который 1000 раз обращается к соседним элементам массива. Нужный блок данных при первом обращении может попасть в кэш, а последующие обращения обслуживаются быстро. Пространственная локальность означает использование соседних адресов, временная — повторное использование прежних данных. Кэш-линия сохраняет некоторую последовательность соседних байтов.
🧪 Интерактив: кэш на три элемента
Выберите адрес A, B, C или D и нажмите «Обратиться». Кэш в модели содержит три недавно использованных ключа. При переполнении вытесняется наименее недавно использованный (LRU). Это учебная абстракция, а не реальный набор правил CPU.
Сравнение задержек: почему важны наносекунды и миллисекунды
Ниже — типичные порядки величин, а не паспортные нормативы. Конкретное время зависит от процессора, устройства, объёма данных, характера запроса и нагрузки.
| Уровень | Условный ориентир задержки | Что влияет |
|---|---|---|
| Регистры CPU | Вычислительные такты процессора | Зависимости инструкций и архитектура |
| Кэш L1 | Около 1 нс | Частота CPU, тип обращения |
| Кэш L2 / L3 | Единицы – десятки нс | Уровень и размер кэша |
| DRAM | Десятки – сотни нс | Контроллер, тайминги, нагрузка |
| NVMe SSD | Десятки – сотни мкс для случайного запроса | Очередь запросов, режим чтения |
| HDD | Миллисекунды | Вращение и движение головок |
Именно поэтому увеличение объёма ОЗУ иногда ускоряет компьютер даже без увеличения частоты RAM: меньше активных страниц требуется переносить с SSD. Но если рабочий набор программы уже помещается в памяти, добавление дополнительных гигабайт может почти не повлиять на скорость.
Как уровни памяти работают вместе
Рассмотрим запуск графического редактора.
- SSD: содержит установленную программу и проекты, даже когда питания нет.
- RAM: ОС загружает или отображает необходимый код и ресурсы, выделяет рабочую память для изображения.
- Кэш: CPU многократно обрабатывает близкие участки изображения, удерживая часто нужные данные около ядра.
- Регистры: инструкция CPU использует конкретные значения в операндах.
- Сохранение: изменения документа записываются через файловую систему на энергонезависимый накопитель.
Где хранить без питания?
SSD, HDD, NOR Flash и другие энергонезависимые носители.
Где держать рабочие данные?
DRAM: большой объём активной памяти с относительно малой задержкой.
Откуда взять прямо сейчас?
Регистры и кэши процессора обеспечивают самый быстрый доступ к небольшим наборам данных.
Почему не всё в кэше?
Кэш дорого обходится по площади и объёму, поэтому нужен компромисс из нескольких уровней.
Главный вывод: иерархия памяти — это система совместно работающих технологий, а не «рейтинг хороших и плохих накопителей». Чем ближе данные к процессору, тем быстрее к ним обычно обращаются, но тем меньше места доступно.
Тест по изученному материалу
Теоретическая часть завершена. Выберите один ответ в каждом вопросе, затем нажмите «Проверить тест». Результат покажет число правильных ответов и объяснит ошибки. В конце ответьте на развёрнутые вопросы — их проверяет преподаватель.
Часть A. Выберите правильный ответ
Часть Б. Объясните своими словами
Эти вопросы нужны, чтобы проверить понимание, а не угадывание. Автоматическая оценка их не учитывает.
Источники для дополнительного изучения
Материал адаптирован для обучения. Схемы и модели — упрощённые учебные примеры; значения производительности зависят от конкретного устройства.
Перед сдачей
Нажмите «Отправить работу — сохранить PDF». Откроется окно печати: в качестве принтера выберите «Сохранить как PDF». В отчёте будут ФИО, выбранные варианты, балл и ваши развёрнутые ответы. Отправка на сервер не выполняется.