Раздел 3. Запоминающие устройства ЭВМ

1. Проблема «Стены памяти» (Memory Wall)

Современные процессоры работают на частотах 5.0–6.0 ГГц ($0.16–0.20 ext{ нс}$ на такт), но оперативная память отстает в латентности:

Физическое противоречие

• Скорость ЦП росла на 50% в год, задержка DRAM сокращалась лишь на 7% в год.

• Без кэширования процессор простаивал бы сотни тактов в ожидании каждого операнда.

• Физический предел: задержка распространения сигнала в кремнии ($~15 ext{ см/нс}$).

Принцип локальности (Locality)

• Временная локальность: повторный доступ к тем же переменным и коду в ближайшие такты (циклы, счетчики, стек).

• Пространственная локальность: обращение к соседним адресам памяти (массивы, линейные инструкции).

2. Пирамида иерархии памяти: компромисс скорости и емкости

Ни одна современная технология не объединяет одновременно наносекундную скорость, терабайтную емкость и низкую стоимость:

Регистры & Кэш L1-L3

• Регистры: ~1–4 КБ, 0.3 нс (1 такт).

• L1: 32–96 КБ, 1 нс (4–5 тактов).

• L2: 1–2 МБ, 4 нс (12–14 тактов).

• L3: 16–96+ МБ, 12 нс (35–45 т.).

Оперативная память (DRAM)

• DDR4 / DDR5: 16–128+ ГБ.

• Задержка доступа: 50–80 нс.

• Энергозависимость: потеря данных при снятии питания.

• Цена: умеренная за гигабайт.

Энергонезависимые накопители

• NVMe SSD: 512 ГБ–8 ТБ, 15–80 мкс.

• HDD: 2–24 ТБ, 5–15 мс (механика).

• Архивы (LTO): десятки секунд на загрузку картриджа.

3. Статическая память (SRAM): схемотехника ячейки 6T

Устройство ячейки 6T

• 4 транзистора: два перекрестно связанных КМОП-инвертора, образующих бистабильный триггер.

• 2 транзистора доступа: подключают триггер к комплементарным битовым линиям (BL / BL#).

• Управление: подача потенциала на линию слова (Word Line).

Архитектурные характеристики

• Плюсы: предельная скорость переключения (0.5–2 нс), отсутствие необходимости в регенерации.

• Минусы: площадь ячейки ~120–140 $F^2$, высокое статическое энергопотребление (токи утечки).

• Применение: кэши процессора L1, L2, L3.

4. Динамическая память (DRAM): ячейка 1T1C и регенерация

Схемотехника ячейки 1T1C

• 1 Транзистор (Key): полевой ключ доступа к битовой линии (Bitline).

• 1 Конденсатор: емкостью всего 25–30 фФ ($10^{-15} ext{ Ф}$), хранящий заряд.

• Площадь: всего $6F^2$ (в 20 раз плотнее SRAM!).

• Разрушающее чтение: считывание разряжает конденсатор, требуется немедленное восстановление заряда.

Цикл регенерации (Refresh)

• Заряд конденсатора утекает через диэлектрик за миллисекунды.

• tREFI (~32–64 мс): период между командами принудительной регенерации.

• tRFC (~250–400 нс): время, необходимое на перезаряд строк банка (банк временно заблокирован).

5. Внутренняя архитектура DRAM: каналы, ранги, банки

Каналы (Channels)

• DDR4: один 64-битный канал данных (+8 бит ECC) на модуль.

• DDR5: два независимых 32-битных субканала на модуль, удваивающих параллелизм.

Ранги (Ranks)

• Одноранговые (1R) и двухранговые (2R) модули.

• Rank Interleaving: параллельное чередование доступа к рангам дает +3–5% реальной производительности.

Группы банков (Bank Groups)

• DDR4: 16 банков (4 группы по 4).

• DDR5: 32 банка (8 групп по 4).

• Доступ к разным группам банков ($tCCD\_S$) происходит быстрее, чем внутри одной группы ($tCCD\_L$).

6. Первичные тайминги и расчет истинной задержки

Первичные тайминги (CL-tRCD-tRP-tRAS) измеряются в тактах. Абсолютное время выражается в наносекундах:

T_ns (CL) = (CL * 2000) / DataRate_MTs

Сравнение поколений

• DDR4-3200 CL16: $16 imes 2000 / 3200 = \mathbf{10.00 ext{ нс}}$

• DDR5-5200 CL40: $40 imes 2000 / 5200 = \mathbf{15.38 ext{ нс}}$

• DDR5-6000 CL30: $30 imes 2000 / 6000 = \mathbf{10.00 ext{ нс}}$

• DDR5-6400 CL36: $36 imes 2000 / 6400 = \mathbf{11.25 ext{ нс}}$

Инженерный парадокс

• Модуль с высокой частотой (6400 МТ/с) может уступать модулю с 6000 МТ/с по истинной латентности!

• Режим контроллера памяти (UCLK = MCLK 1:1 vs 1:2) критически влияет на задержку (+8–12 нс штрафа в 1:2).

7. Эволюция стандартов: DDR4 vs DDR5 vs LPDDR5X

DDR4 (Наследие)

• Напряжение: 1.2 В (XMP до 1.35–1.45 В).

• Управление питанием: на материнской плате.

• Частоты: 2133–3600 МТ/с.

• Шина: 64 бита.

DDR5 (Современный стандарт)

• Напряжение: 1.1 В.

• PMIC на борту модуля: автономное прецизионное питание.

• On-Die ECC: коррекция битовых ошибок внутри кремния.

• Частоты: 4800–8000+ МТ/с.

LPDDR5X (Мобильный)

• Сверхнизкое напряжение: 0.5–1.05 В.

• Распайка на плату (On-Board / PoP).

• Частоты до 8533–9600 МТ/с.

• Высочайшая энергоэффективность при нулевой ремонтопригодности.

8. Энергонезависимая флеш-память NAND Flash

Физика сохранения заряда

• Плавающий затвор (Floating Gate) vs Charge Trap: изолированный слой нитрида кремния захватывает электроны.

• Туннелирование Фаулера-Нордгейма: импульс 18–20 В пробивает квантовый потенциальный барьер оксида.

• Накопленный заряд сдвигает пороговое напряжение открытия транзистора ($V_{th}$).

Физический износ

• С каждым циклом Program/Erase (P/E) туннельный диэлектрик накапливает паразитные дефекты кристаллической решетки.

• Со временем ячейка теряет способность удерживать электроны (деградация ячейки и утечка заряда).

9. Типология ячеек NAND Flash: плотность против ресурса

SLC и MLC

• SLC (1 бит/ячейка): 2 уровня напряжения. Ресурс: 50 000–100 000 циклов P/E. Максимальная надежность, корпоративный SLC-кэш.

• MLC (2 бита/ячейка): 4 уровня напряжения. Ресурс: 3 000–10 000 циклов P/E. Золотой стандарт надежности прошлого поколения.

TLC и QLC

• TLC (3 бита/ячейка): 8 уровней напряжения. Ресурс: 1 000–3 000 циклов (до 10 000 в eTLC). Оптимальный выбор для рабочих ПК и серверов.

• QLC (4 бита/ячейка): 16 микроуровней. Ресурс: 300–800 циклов. Сильное падение скорости записи при заполнении SLC-кэша (до 40–80 МБ/с!).

10. Архитектура 3D NAND и контроллера SSD

Вертикальная компоновка 3D NAND

• Переход от плоской планарной 2D-структуры к вертикальному стекированию (от 96 до 232+ слоев).

• Увеличение физического размера ячеек снизило взаимные емкостные наводки и повысило ресурс по сравнению с тонким 2D техпроцессом.

Микрокомпьютер внутри SSD

• ARM-контроллер: 4–8 каналов параллельного доступа к микросхемам NAND.

• DRAM Cache / HMB: высокоскоростное хранение таблицы трансляции адресов LBA-to-PBA.

• Аппаратный движок LDPC ECC: обнаружение и коррекция битовых ошибок на лету.

11. Алгоритмы долговечности SSD: FTL, TRIM, WAF

Главное правило NAND: чтение/запись — страницами (4–16 КБ), стирание — блоками (4–8 МБ).

Wear Leveling

• Динамический: запись в наименее изношенные блоки.

• Статический: перемещение холодных файлов ОС в изношенные блоки для освобождения свежих блоков.

Команда TRIM

• ОС уведомляет накопитель об удалении файлов.

• Сборщик мусора (GC) не копирует мертвые страницы, освобождая блоки заранее.

Коэффициент WAF

• $ ext{WAF} = rac{ ext{Записано в NAND}}{ ext{Записано ОС}}$.

• На чистом диске $ ext{WAF} pprox 1.0$.

• При заполнении >90% и без TRIM $ ext{WAF}$ вырастает до 3.0–6.0!

12. Надежность: буфер DRAM, HMB и защита от сбоя питания (PLP)

DRAM-less накопители и HMB

• DRAM-less SSD: нет выделенного чипа ОЗУ на плате накопителя (удешевление производства).

• Host Memory Buffer (HMB): контроллер использует до 64 МБ оперативной памяти самого ПК через шину PCIe для хранения таблицы FTL.

• Подходит для офисных и домашних ПК, но уступает при непрерывной многопоточной нагрузке.

Корпоративная защита PLP (Power Loss Protection)

• Массив танталовых конденсаторов на плате Enterprise SSD.

• При внезапном отключении электричества запаса энергии хватает на 20–50 мс.

• Контроллер успевает полностью сбросить DRAM-буфер и журналы в энергонезависимую память NAND без повреждения БД.

13. Системные энергонезависимые ЗУ: ROM, SPI NOR, NVRAM

SPI NOR Flash (UEFI BIOS)

• Хранит базовую систему ввода-вывода (UEFI BIOS) и микрокод Intel ME / AMD PSP.

• Поддерживает побайтовое чтение с аппаратным исполнением на месте (XIP — eXecute In Place).

CMOS NVRAM

• Память настроек BIOS: порядок загрузки, частоты, профили XMP/EXPO.

• В современных платах сохраняется в энергонезависимую область SPI Flash; батарейка CR2032 питает часы реального времени (RTC).

EEPROM (SPD Chip)

• Энергонезависимая микросхема на планках оперативной памяти.

• Хранит заводские профили таймингов JEDEC, XMP, EXPO и серийные номера модуля.

14. Архитектурный юмор: основы системного мышления
Интернет-мем xkcd Compiling
Мем: «Compiling» (xkcd #303) — Классический комикс о реальной утилизации вычислительных мощностей и ожидании операций разработчиками.
Автор: Рэндалл Манро (Randall Munroe), проект xkcd.com.
Лицензия: Creative Commons Attribution-NonCommercial 2.5 Generic (CC BY-NC 2.5).
Атрибуция: Изображение встроено автономно в формате Data URI (data:image/jpeg;base64) без сторонних сетевых запросов.
Слайд 1 из 15