Запоминающие устройства ЭВМ

Фундаментальный теоретический конспект: архитектурная иерархия памяти, физические принципы функционирования ячеек SRAM и DRAM, временные задержки и стандарты DDR, физика флеш-памяти NAND и алгоритмы долговечности твердотельных накопителей.

1. Архитектурная проблема «Memory Wall» и принцип локальности

Современные микропроцессоры способны выполнять миллиарды элементарных вычислений в секунду: тактовая частота процессорных ядер достигает 5.0–6.0 ГГц, что соответствует периоду такта всего в 0.16–0.20 наносекунды. Однако скорость отклика основной оперативной памяти (DRAM) за последние десятилетия росла существенно медленнее вычислительной мощности транзисторов. Это физическое и технологическое противоречие получило в компьютерной архитектуре название «Стена памяти» (Memory Wall).

Если бы центральный процессор обращался к оперативной памяти напрямую за каждой инструкцией и каждым операндом, он бы простаивал до 95–98% всего полезного времени в ожидании ответов по внешней шине. Для преодоления этого разрыва в ЭВМ применяется многоуровневая иерархия памяти, опирающаяся на фундаментальные свойства алгоритмов — принципы локальности ссылок (Principle of Locality):

Скорость ↑ / Стоимость за ГБ ↑ Емкость ↑ / Задержка ↑ Регистры ЦП < 2 КБ | ~0.3 нс Кэш процессора (L1 / L2 / L3 SRAM) L1: 32-96 КБ (1 нс) | L2: 1-2 МБ (4 нс) | L3: 16-96 МБ (12 нс) Оперативная память (DRAM: DDR4 / DDR5) 16 – 128+ ГБ | 50 – 80 нс Твердотельные накопители (NVMe / SATA SSD) 512 ГБ – 8 ТБ | 10 – 100 мкс (NAND Flash) Магнитные жесткие диски (HDD) и ленточные архивы (LTO) 2 – 24+ ТБ | 4 – 15 мс (HDD) / десятки секунд (LTO)
Рис. 1. Иерархия запоминающих устройств: баланс времени доступа, емкости и удельной стоимости

2. Схемотехника полупроводниковой памяти: 6T SRAM против 1T1C DRAM

В основе оперативной памяти ЭВМ лежат две кардинально различные схемотехнические концепции: статическая (SRAM) и динамическая (DRAM) память.

2.1. Статическая память (SRAM — Static Random Access Memory)

Каждый бит статической памяти строится на основе 6 транзисторов (ячейка 6T). В ее сердце находится бистабильный триггер, образованный парой перекрестно замкнутых КМОП-инверторов (4 транзистора: два p-канальных подтягивающих и два n-канальных стягивающих). Еще два транзистора являются проходными ключами доступа, подключающими инверторы к дифференциальным битовым линиям (BL и BL#) при подаче сигнала на линию слова (Word Line, WL).

2.2. Динамическая память (DRAM — Dynamic Random Access Memory)

Архитектура DRAM была разработана Робертом Деннардом (Robert Dennard) в 1968 году и основана на предельно лаконичной ячейке 1T1C (1 Transistor, 1 Capacitor). Один n-канальный МОП-транзистор играет роль электронного ключа, а крошечный микроконденсатор емкостью всего 25–30 фемтофарад ($1\text{ фФ} = 10^{-15}\text{ Ф}$) хранит заряд.

Ячейка 6T SRAM (Статическая) Word Line (WL) BL BL# (Not) NOT 1 NOT 2 M5 M6 6 транзисторов • Без регенерации Время доступа: 0.5 – 2 нс Ячейка 1T1C DRAM (Динамическая) Word Line (Строка выбора WL) Bit Line (BL) T1 (FET) C1 (~30 фФ) GND 1 транзистор + 1 конденсатор Требует регенерации (Refresh tREFI: ~32-64 мс) Разрушающее чтение (Restore cycle)
Рис. 2. Схемотехническое устройство элементарных ячеек: статическая 6T SRAM и динамическая 1T1C DRAM

3. Организация оперативной памяти и тайминги DRAM

Модуль оперативной памяти (DIMM) — это многоуровневая иерархическая структура:

3.1. Первичные тайминги (Primary Timings)

Обращение к матрице DRAM требует последовательной подачи адресных стробов и управляющих команд:

  1. tRP (Row Precharge Time): предварительный заряд битовых линий. Перед открытием новой строки необходимо закрыть предыдущую и восстановить среднее напряжение на шине ($V_{DD}/2$).
  2. tRCD (RAS to CAS Delay): время от подачи команды активации строки ACTIVATE (строб адреса строки RAS) до готовности матрицы принять команду чтения/записи столбца READ/WRITE (строб адреса столбца CAS).
  3. CL (CAS Latency): количество тактов шины памяти от момента фиксации команды READ до физической выдачи первого слова данных на внешние контакты модуля.
  4. tRAS (Row Active Time): минимальное время, в течение которого открытая строка обязана оставаться активной, чтобы данные из усилителей-считывателей успели полностью перезарядить конденсаторы ячеек.
  5. tRC (Row Cycle Time): минимальное время полного цикла строки от открытия до повторного открытия: $tRC \ge tRAS + tRP$.

3.2. Математика расчета абсолютной задержки памяти

Тайминги, отображаемые в BIOS/UEFI (например, 30-36-36-76), измеряются в тактах тактовой частоты шины памяти, а не в секундах. Поскольку длительность такта обратно пропорциональна частоте, высокое числовое значение тайминга на высокой частоте может означать меньшее или равное время задержки в наносекундах!

Истинное время задержки выборки столбца (CL) в наносекундах: CL CL * 2000 T_ns (CL) = --------- = ------------------------ f_bus DataRate (MT/s) где: - f_bus — реальная тактовая частота шины в МГц; - DataRate — эффективная скорость передачи в МТ/с (DataRate = 2 * f_bus для технологии DDR, так как передача идет по обоим фронтам импульса — Double Data Rate).
Конфигурация памяти Эффективная скорость Реальная тактовая частота Период одного такта ($t_{CK}$) Тайминг CL Истинная задержка CL ($T_{\text{ns}}$)
DDR4-3200 CL16 3200 МТ/с 1600 МГц 0.625 нс 16 тактов $16 \times 0.625 = \mathbf{10.00\text{ нс}}$
DDR4-3600 CL18 3600 МТ/с 1800 МГц 0.555 нс 18 тактов $18 \times 0.555 = \mathbf{10.00\text{ нс}}$
DDR5-5200 CL40 5200 МТ/с 2600 МГц 0.384 нс 40 тактов $40 \times 0.384 = \mathbf{15.38\text{ нс}}$
DDR5-6000 CL30 6000 МТ/с 3000 МГц 0.333 нс 30 тактов $30 \times 0.333 = \mathbf{10.00\text{ нс}}$
DDR5-6400 CL36 6400 МТ/с 3200 МГц 0.3125 нс 36 тактов $36 \times 0.3125 = \mathbf{11.25\text{ нс}}$
Ключевой вывод для инженера: Модуль DDR5-6000 с таймингом CL30 обеспечивает точно такую же базовую аппаратную задержку выборки ($10.0\text{ нс}$), как классический модуль DDR4-3200 CL16, но при этом предлагает почти вдвое большую пиковую пропускную способность шины (48.0 ГБ/с на канал против 25.6 ГБ/с у DDR4).

4. Энергонезависимая флеш-память NAND и архитектура SSD

Энергонезависимая флеш-память типа NAND сохраняет данные при отключении питающего напряжения. Запись осуществляется за счет инжекции электронов в изолированную область МОП-транзистора — плавающий затвор (Floating Gate) или нитридный слой кремния в ячейках с ловушкой заряда (Charge Trap Flash, CTF) посредством эффекта туннелирования Фаулера-Нордгейма.

Накопленный в ловушке отрицательный заряд сдвигает пороговое напряжение открытия транзистора ($V_{th}$). По величине этого сдвига контроллер определяет записанную комбинацию битов.

SLC (1 бит) 2 порога напряжения «1» (стерто) «0» (записано) Ресурс: ~100k P/E MLC (2 бита) 4 порога напряжения 11 10 01 00 Ресурс: ~3k-10k P/E TLC (3 бита) 8 дискретных уровней 111, 110, 101, 100, 011, 010, 001, 000 Узкие окна считывания Нужна мощная LDPC ECC Ресурс: ~1k-3k P/E QLC (4 бита) 16 уровней заряда Микроскопическая разница напряжений ΔV < 0.1 В Падение скорости вне SLC-кэша: до 40-80 МБ/с Ресурс: ~300-800 P/E
Рис. 3. Распределение уровней квантования заряда и ресурс ячеек NAND Flash

4.1. Архитектура SSD и логика работы контроллера

Современный твердотельный накопитель — это специализированный встроенный микрокомпьютер, содержащий многоядерный ARM-контроллер, скоростной буфер ОЗУ (DRAM Cache либо технологию Host Memory Buffer HMB через шину PCIe) и массив микросхем 3D NAND.

Фундаментальное правило NAND Flash:
  • Чтение и запись производятся страницами (Page, размер 4–16 КБ).
  • Стирание информации возможно только целыми блоками (Block, размер 4–8 МБ, объединяющий сотни страниц).
  • Записать данные в страницу повторно без предварительного высоковольтного стирания всего блока физически невозможно!

Для разрешения этого противоречия контроллер SSD исполняет сложнейший микрокод — FTL (Flash Translation Layer):

5. Постоянная и энергонезависимая системная память (ROM / NVRAM)

Помимо энергозависимой оперативной памяти и емких накопителей данных, в состав любой ЭВМ входят специализированные энергонезависимые модули памяти малого объема:

6. Вопросы и инженерные задания для самопроверки

Вопрос 1: Анализ задержек DRAM

Рассчитайте абсолютную задержку CL в наносекундах для модуля DDR5-5600 с таймингом CL46 и сравните ее с модулем DDR4-2666 с таймингом CL19. Какой модуль среагирует быстрее на изолированный запрос одного слова данных?

Вопрос 2: Физика ячеек памяти

Почему объем кэш-памяти L3 в процессорах потребительского класса редко превышает 32–96 МБ, тогда как емкость модуля DRAM на той же кремниевой подложке легко достигает десятков гигабайт? Назовите не менее двух схемотехнических причин.

Вопрос 3: Надежность твердотельных накопителей

Сервер базы данных совершает непрерывную запись журнала транзакций WAL блоками по 4 КБ со случайным доступом. Почему использование бытового накопителя на базе памяти QLC без аппаратного буфера DRAM и без поддержки PLP (Power Loss Protection) является грубейшей инженерной ошибкой?

Вопрос 4: Технологии магнитной записи HDD

В чем заключается физический принцип черепичной записи (SMR) в жестких магнитных дисках? Почему диски SMR категорически не рекомендуются к установке в RAID-массивы с чередованием и четностью (RAID-5, ZFS RAID-Z)?