
В январе 2020 на выставке CES представили память с максимальной скоростью DDR5 от SK Hynix. По слухам, Micron и другие производители тестируют похожие устройства. Пока их нельзя достать по обычным каналам, однако поскольку и материнских плат для них ещё нет, это не проблема. Насколько мы знаем, среди первых плат, которые смогут воспользоваться преимуществами новой технологии, будет Xeon Sapphire Rapids от Intel. Однако возникает вопрос: что это за технология?
Основы SDRAM
В целом для системы, требующей RAM, есть два основных конкурирующих варианта: статическая и динамическая память. Существуют и новые технологии, например, FeRAM и MRAM, однако классический выбор стоит между статической и динамической. Статическая RAM – это куча переключателей, по одному на бит. Настроили и забыли. А потом прочитали. А ещё она может работать очень быстро. Проблема в том, что на такой переключатель уходит обычно не менее четырёх транзисторов, а часто и шесть, поэтому в определённую область их можно запихнуть ограниченное количество. Энергопотребление часто оказывается тоже слишком высоким, хотя современные устройства могут неплохо справляться с этим.
Так что пока статическая память популярна у одноплатных компьютеров и небольших устройств, ПК или сервер не сможет разместить гигабайты статической памяти. Динамическая память использует для хранения каждого бита маленький конденсатор. Для соединения конденсатора с общей шиной всё равно нужен транзистор, но упаковать их можно плотненько. К сожалению, тут есть большая проблема: конденсаторы довольно быстро разряжаются. Нужно разработать некий способ периодического обновления памяти, или же она будет забывать. К примеру, типичный модуль DDR4 нужно обновлять каждые 64 мс.
Реальные устройства используют строки и столбцы конденсаторов для максимизации пространства и возможности обновления целого ряда за раз. Это означает, что устройство из 4096 рядов нужно обновлять каждые 15,6 мс, чтобы каждый ряд сохранял свои данные. Само обновление занимает всего несколько наносекунд.

В типичном массиве есть шина для строк и столбцов. Конденсатор соединяется с FET, который может подключать и отключать его от шины столбца. Вентиль FET соединён с шиной строки. Сигнал строки выбирает всю строку FET. У длинной шины столбцов есть своя ёмкость и сопротивление, поэтому на стабилизацию сигнала уходит какое-то время предзаряда, после чего мультиплексор считывает бит с нужного столбца. Запись проходит в обратном порядке. Если хотите, можете поиграться с симулятором памяти в браузере.
Так работает динамическая память, или DRAM. Что насчёт SDRAM? SDRAM — это динамическая память с синхронным интерфейсом с контроллером памяти. Контроллер позволяет вам собирать несколько команд сразу и обрабатывает всю логику работы со строками и столбцами, и даже умеет автоматически делать обновление памяти. Контроллер буферизует как команды, так и данные, что увеличивает пропускную способность по сравнению с многими другими технологиями.
История
История SDRAM началась в 1992, и к 2000-му году она вытеснила с рынка практически все иные разновидности DRAM. Индустриальная группа JEDEC стандартизировала интерфейс для SDRAM в 1993, поэтому при использовании памяти от разных производителей проблем обычно не бывает.
Обычная SDRAM может принимать одну команду и передавать одно слово данных за один такт. Со временем JEDEC определила стандарт двойной скорости данных, или DDR. Он всё равн�� принимает одну команду за цикл, однако записывает или считывает два слова за один такт. Он умеет делать это, передавая одно слово на восходящем фронте тактового сигнала, а другое на нисходящем. На практике это означает, что внутри на одну команду он читает два слова, что позволяет внутреннему таймеру работать медленнее, чем I/O. Так что если тактовая частота I/O будет 200 МГц, то внутренний таймер может работать на 100 МГц, и при этом при передаче данных всё равно будет передаваться по два слова на каждый такт I/O.

Всё это так хорошо работало, что в итоге изобрели стандарт DDR2, реорганизующий память так, чтобы внутри она работала с четырьмя словами, а потом отправляла или принимала по четыре слова сразу. Конечно, такт��вая частота не менялась, поэтому увеличивалась задержка. DDR3 вновь удвоил внутренний размер данных, соответственно увеличив и задержку.
DDR4 пошёл по другому пути. Он не удвоил внутреннюю шину памяти, а сделал перемежающийся доступ к внутренним банкам памяти для увеличения пропускной способности. Уменьшение напряжения также позволяет увеличивать тактовую частоту. DDR4 появилась в 2012, хотя критическую массу набрала только в 2015.
Есть ощущение роста пропускной способности памяти? Ну практически. Рост пропускной способности примерно совпадал с ростом количества ядер в процессорах. Так что, хотя чистая пропускная способность и росла, пропускная способность в пересчёте на одно ядро на типичной машине уже довольно давно не менялась. На самом деле, с учётом быстрого роста количества ядер на типичном CPU, средняя её величина падает. Поэтому пришло время для нового стандарта.
DDR5
И вот у нас есть DDR5, определённый в 2017. Судя по отчётам, пропускная способность у DDR5-3200 SDRAM будет в 1,36 больше, чем DDR4-3200, а может быть, и ещё больше. Также мы слышим о том что размер предварительной выборки снова удвоится, по крайней мере, опционально.
| Тип | Пропускная способность | Напряжение | Предварительная выборка | Год |
|---|---|---|---|---|
| SDR | 1.6 ГБ/с | 3.3 | 1 | 1993 |
| DDR | 3.2 ГБ/с | 2.5 | 2 | 2000 |
| DDR2 | 8.5 ГБ/с | 1.8 | 4 | 2003 |
| DDR3 | 8.5 ГБ/с | 1.8 | 8 | 2007 |
| DDR4 | 25.6 ГБ/с | 1.2 | 8 | 2017 |
| DDR5 | 32 ГБ/с | 1.1 | 8/16 | 2019 |
Как видно из таблицы, за 26 лет пропускная способность по сравнению с оригинальной памятью SDR выросла в 20 раз. Неплохо. Предварительная выборка 16 слов выглядит особенно интересно, поскольку она позволит чипу заполнять типичный кэш ПК за один раз.
Есть и другие преимущества. К примеру, если вы когда-нибудь пробовали связать SDRAM с собственной схемой или FPGA, вам понравится режим контура обратной связи [loopback mode]. Если вы очень любите большие объёмы памяти, то максимальным объёмом памяти теперь будет 64 ГБ.
Кстати, есть ещё спецификация LP-DDR5 для варианта памяти с низким энергопотреблением для таких устройств, как смартфоны. Эту спецификацию выпустили в прошлом году, и пока мы не видим большой гонки производства подобных продуктов. LP-DDR4 позволяла выбрать из двух вариантов частоты, чтобы можно было жертвовать скоростью ради энергопотребления. У LP-DDR5 есть три разных варианта настройки. А есть ещё стандарты GDDR – уже до GDDR6 – для обработки графики и других высокоскоростных приложений. В перспективе, LP-DDR5 сможет работать с пропускной способностью в 6,4 Гб/с на бит I/O, а GGDR6 может похвастаться сотнями ГБ/с в зависимости от ширины слова.
И что теперь?
Если только у вас не загруженный сервер или что-то ещё, полностью загружающее все ядра вашего CPU, вы не почувствуете особой разницы между DDR4 и DDR5. Но, опять-таки, кто же не любит хороших результатов в тестах на скорость?
Кроме того, с точки зрения типичной рабочей станции, главный фокус состоит в том, чтобы иметь достаточно RAM, чтобы не слишком часто обращаться к диску. Особенно если у вас стоит диск с вращающимися пластинами, печально известными малой скоростью работы. Время на запись и чтение RAM оказывается не таким уж и существенным фактором в реальной работе. С твердотельными дисками ситуация уже не такая плохая, как раньше, однако пропускная способность типичного твердотельного диска лишь немногим больше, чем у DDR3, хотя на горизонте уже маячат более быстрые диски. Так что, если только вы не занимаетесь очень интенсивной нагрузкой множества ядер, вам лучше иметь 32 ГБ DDR3, чем 4 ГБ DDR5, поскольку больший объём памяти сэкономит вам время на более медленных операциях.
