Початок нової епохи
Новітні модулі пам'яті DDR4 вже кілька місяців як надійшли в продаж. Та ось невдача - поки що на сусідніх полицях в магазинах немає жодної материнської плати і жодного центрального процесора, які підтримували б новий стандарт ОЗУ. Однак скоро все зміниться. У зв'язку з офіційним анонсом Intel Haswell-E і платформи X99 Express ми вирішили згадати, як розвивалася технологія DDR, а також приділити пильну увагу новим архітектурним «фішками» DDR4.
Зміст
Ось і вийшли процесори Intel Haswell-E. Ferra.ru вже встигла протестувати топовий 8-ядерник Core i7-5960X. а також материнську плату ASUS X99-DELUXE. І, мабуть, головною «фішкою» нової платформи стала підтримка стандарту оперативної пам'яті DDR4.
З цієї статті ви дізнаєтеся, якими ж перевагами володіють «мізки» нового покоління, і як отримані зміни вплинуть на продуктивність пам'яті. Однак для початку - невеликий екскурс в історію.

Початок нової епохи, епохи DDR4
Про стандарт SDRAM і модулях пам'яті

Модуль пам'яті SDRAM
У кожному чіпі знаходиться декілька незалежних масивів пам'яті, які представляють собою таблиці. Їх називають банками. В одиницю часу можна працювати тільки з одним осередком в банку, однак існує можливість роботи відразу з декількома банками. Записувана інформація необов'язково повинна зберігатися в одному масиві. Найчастіше вона розбивається на кілька частин і записується в різні банки, причому процесор продовжує вважати ці дані єдиним цілим. Такий спосіб запису називається interleaving. У теорії, чим більше в пам'яті таких банків, тим краще. На практиці модулі з щільністю до 64 Мбіт мають два банки. З щільністю від 64 Мбіт до 1 Гбіт - чотири, а з щільністю 1 Гбіт і вище - вже вісім.

Що таке банк пам'яті
І кілька слів про будову модуля пам'яті. Сам по собі модуль пам'яті представляє собою друковану плату з розпаяними на ній чіпами. Як правило, у продажу можна зустріти пристрої, виконані у форм-факторах DIMM (Dual In-line Memory Module) або SO-DIMM (Small Outline Dual In-line Memory Module). Перший призначається для використання в повноцінних настільних комп'ютерах, а другий - для установки в ноутбуки. Незважаючи на один і той же форм-фактор, модулі пам'яті різних поколінь відрізняються кількістю контактів. Наприклад, рішення SDRAM має 144 Піна для підключення до материнської плати, DDR - 184, DDR2 - 214 пинов, DDR3 - 240, а DDR4 - вже 288 штук. Звичайно, мова в даному випадку йде про DIMM-модулях. Пристрої, виконані у форм-факторі SO-DIMM, само собою мають менше число контактів в силу своїх менших розмірів. Наприклад, модуль пам'яті DDR4 SO-DIMM підключається до «материнке» за рахунок 256 пинов.

Модуль DDR (внизу) має більше пінів, ніж SDRAM (вгорі)
Цілком очевидно і те, що обсяг кожного модуля пам'яті вираховується як сума ємностей кожного розпаяного чіпа. Чіпи пам'яті, звичайно, можуть відрізнятися своєю щільністю (або, простіше кажучи, об'ємом). Наприклад, минулої весни компанія Samsung налагодила серійне виробництво чіпів з щільністю 4 Гбіт. Причому в доступному для огляду майбутньому планується випуск пам'яті з щільністю 8 Гбіт. Також модулі пам'яті мають свою шину. Мінімальна ширина шини складає 64 біт. Це означає, що за такт передається 8 байт інформації. При цьому потрібно зазначити, що також існують 72-бітові модулі пам'яті, в яких «зайві» 8 біт відведені для технології корекції помилок ECC (Error Checking Correction). До речі, ширина шини модуля пам'яті також є сумою ширини шин кожного окремо взятого чіпа пам'яті. Тобто, якщо шина модуля пам'яті є 64-бітної і на планці розпаяно вісім чіпів, то ширина шини пам'яті кожного чіпа дорівнює 64/8 = 8 біт.
Щоб розрахувати теоретичну пропускну здатність модуля пам'яті, можна скористатися наступною формулою: A * 64/8 = ПС, де «А» - це швидкість передачі даних, а «ПС» - шукана пропускна здатність. Як приклад можна взяти модуль пам'яті типу DDR3 з частотою 2400 МГц. В такому випадку пропускна здатність буде дорівнювати 2400 * 64/8 = 19200 Мбайт / с. Саме це число мається на увазі в маркуванні модуля PC3-19200.

На маркуванні без праці можна знайти значення таймінгів
Необхідно сказати декілька слів і про таку характеристику модулів пам'яті, як тайминги (затримки). На самому початку статті ми говорили про те, що стандарт SDRAM передбачає такий момент, що контролер пам'яті завжди знає, скільки часу виконується та чи інша операція. Таймінги якраз і вказують час, потрібний на виконання певної команди. Це час вимірюється в тактах шини пам'яті. Чим менше цей час, тим краще. Найважливішими є такі затримки:
- TRCD (RAS to CAS Delay) - час, який необхідно для активації рядка банку. Мінімальний час між командою активації і командою читання / запису;
- CL (CAS Latency) - час між подачею команди читання і початком передачі даних;
- TRAS (Active to Precharge) - час активності рядка. Мінімальний час між активацією рядка і командою закриття рядка;
- TRP (Row Precharge) - час, необхідний для закриття рядка;
- TRC (Row Cycle time, Activate to Activate / Refresh time) - час між активацією рядків одного і того ж банку;
- TRPD (Active bank A to Active bank B) - час між командами активації для різних банків;
- TWR (Write Recovery time) - час між закінченням запису і подачею команди закриття рядка банку;
- TWTR (Internal Write to Read Command Delay) - час між закінченням запису і командою читання.
Звичайно, це далеко не всі існуючі в модулях пам'яті затримки. Можна перерахувати ще добрий десяток усіляких таймингов, але лише зазначені вище параметри істотно впливають на продуктивність пам'яті. До речі, в маркуванні модулів пам'яті і зовсім вказуються тільки чотири затримки. Наприклад, при параметрах 11-13-13-31 таймінг CL дорівнює 11, TRCD і TRP - 13, а TRAS - 31 такту.
Згодом потенціал SDRAM досягла своєї стелі, і виробники зіткнулися з проблемою підвищення швидкодії оперативної пам'яті. Так на світ з'явився стандарт DDR.1
пришестя DDR
Після того як всі ресурси SDR були вичерпані, у виробників пам'яті було кілька шляхів вирішення проблеми підвищення продуктивності. Можна було б просто нарощувати число чіпів пам'яті, тим самим збільшуючи розрядність всього модуля. Однак це негативно позначилося б на вартості таких рішень - вже дуже дорого обходилася ця затія. Тому в асоціації виробників JEDEC пішли іншим шляхом. Було вирішено вдвічі збільшити шину всередині чіпа, а передачу даних здійснювати також на вдвічі підвищеною частотою. Крім цього, в DDR передбачалася передача інформації по обох фронтах тактового сигналу, тобто два рази за такт. Звідси і бере свій початок абревіатура DDR - Double Data Rate.

Модуль пам'яті DDR виробництва Kingston
З приходом стандарту DDR з'явилися такі поняття, як реальна і ефективна частота пам'яті. Наприклад, багато модулі пам'яті DDR працювали на швидкості 200 МГц. Ця частота називається реальною. Але через те, що передача даних здійснювалася по обох фронтах тактового сигналу, виробники в маркетингових цілях множили цю цифру на 2 і отримували нібито ефективну частоту 400 МГц, яку і вказували в маркуванні (в даному випадку - DDR-400). При цьому в специфікаціях JEDEC зазначено, що використовувати термін «мегагерц» для характеристики рівня продуктивності пам'яті і зовсім некоректно! Замість нього необхідно використовувати «мільйони передач в секунду через один вихід даних». Однак маркетинг - справа серйозна, зазначені в стандарті JEDEC рекомендації мало кому були цікаві. Тому новий термін так і не прижився.
Також в стандарті DDR вперше з'явився двоканальний режим роботи пам'яті. Використовувати його можна було при наявності парного числа модулів пам'яті в системі. Його суть полягає в створенні віртуальної 128-бітної шини за рахунок чергування модулів. В такому випадку відбувалася вибірка відразу 256 біт. На папері двоканальний режим може підняти продуктивність підсистеми пам'яті в два рази, проте на практиці приріст швидкості виявляється мінімальний і далеко не завжди помітний. Він залежить не тільки від моделі оперативної пам'яті, але і від таймингов, чіпсета, контролера пам'яті і частоти.

Чотири модуля пам'яті працюють в двоканальному режимі
Ще одним нововведенням в DDR стало наявність сигналу QDS. Він розташовується на друкованій платі разом з лініями даних. QDS був корисний при використанні двох і більше модулів пам'яті. У такому випадку дані приходять до контролера пам'яті з невеликою різницею в часі через різної відстані до них. Це створює проблеми при виборі синхросигналу для зчитування даних, які успішно вирішує якраз QDS.
Як вже говорилося вище, модулі пам'яті DDR виконувалися в форм-факторах DIMM і SO-DIMM. У разі DIMM кількість пинов становило 184 штуки. Для того щоб модулі DDR і SDRAM були фізично несумісні, у рішень DDR ключ (розріз в області контактної площадки) розташовувався в іншому місці. Крім цього, модулі пам'яті DDR працювали з напругою 2,5 В, тоді як пристрої SDRAM використовували напруга 3,3 В. Відповідно, DDR володіла меншим енергоспоживанням і тепловиділенням в порівнянні з попередником. Максимальна частота модулів DDR становила 350 МГц (DDR-700), хоча специфікаціями JEDEC передбачалася лише частота 200 МГц (DDR-400).
Пам'ять DDR2 і DDR3
Також DDR2-модулі отримали більшу кількість контактів для приєднання до материнської плати, а ключ був перенесений в інше місце для фізичної несумісності з планками SDRAM і DDR. Знову було знижено робоча напруга. Якщо модулі DDR працювали при напрузі 2,5 В, то рішення DDR2 функціонували при різниці потенціалів 1,8 В.
За великим рахунком, на цьому все відмінності DDR2 від DDR закінчуються. Перший час модулі DDR2 в негативну сторону відрізнялися високими затримками, через що програвали в продуктивності планок DDR з однаковою частотою. Однак незабаром ситуація повернулася на круги своя: виробники знижували затримки і випускали більш швидкі набори оперативної пам'яті. Максимальна частота DDR2 досягала позначки ефективних 1300 МГц.

Різне положення ключа у модулів DDR, DDR2 і DDR3
При переході від стандарту DDR2 до DDR3 використовувався той же самий підхід, що і при переході від DDR до DDR2. Само собою, збереглася передача даних по обох кінцях тактового сигналу, а теоретична пропускна здатність зросла в два рази. Модулі DDR3 зберегли архітектуру 2 n -prefetch і отримали 8-бітну передвибірки (у DDR2 вона була 4-бітної). При цьому внутрішня шина стала в вісім разів більше, ніж зовнішня. Через це в черговий раз при зміні поколінь пам'яті збільшилися її таймінги. Номінальна робоча напруга для DDR3 було знижено до 1,5 В, що дозволило зробити модулі більш енергоефективними. Зауважимо, що, крім DDR3, існує пам'ять типу DDR3L (буква L означає Low), яка працює зі зниженим до 1,35 В напругою. Також варто відзначити, що модулі DDR3 виявилися ні фізично, ні електрично несумісні з будь-яким з попередніх поколінь пам'яті.
Звичайно, чіпи DDR3 отримали підтримку деяких нових технологій: наприклад, автоматичне калібрування сигналу і динамічне терминирование сигналів. Однак в цілому всі зміни носять переважно кількісний характер.
DDR4 - чергова еволюція

На цій картинці можна простежити еволюцію технології DDR: як змінювалися показники напруги, частоти і ємності
Як і попередники, DDR4 перейняла архітектуру 2 n -prefetch, яку JEDEC в даному випадку називає 8n-Prefetch. Будь-чіп пам'яті може складатися з двох або чотирьох окремих груп банків.

Один з перших прототипів DDR4. Як не дивно, це ноутбучні модулі

Основні переваги DDR4: низьке енергоспоживання, висока частота, великий обсяг модулів пам'яті
Важливою зміною в стандарті DDR4 стало використання інтерфейсу з топологією «точка-точка» замість шини Multi-Drop, яка застосовується в DDR3. Навіщо це потрібно? Конструкція шини Multi-Drop передбачає використання всього лише двох каналів для зв'язку модулів з контролером пам'яті. При використанні відразу чотирьох портів DIMM кожні два модуля з'єднуються з контролером за допомогою лише одного каналу, що само собою негативно позначається на продуктивності підсистеми пам'яті.

Схема роботи шини Multi-Drop
У дизайні шини з топологією «точка-точка» для кожного DIMM-роз'єми передбачений окремий канал, тобто кожен модуль пам'яті буде безпосередньо зв'язуватися з контролером і не ділити ні з ким цей самий канал. Така зміна ми вже могли бачити при переході від шини PCI до PCI Express. Звичайно, у такого підходу є і свої недоліки. Наприклад, двоканальні системи будуть обмежені двома роз'ємами DIMM, чотирьохканальні - чотирма. Однак, з огляду на великі обсяги модулів DDR4, це не повинно ніяк обмежувати користувачів. Про це далі.

Схема роботи шини з топологією «точка-точка»
До речі, збільшиться не тільки об'єм модулів пам'яті, але і частота чіпів. В рамках стандарту DDR4 реальна частота досягне позначки 2133 МГц.

Модуль пам'яті DDR4 виробництва Corsair
Для зниження енергоспоживання і тепловиділення стандарт DDR4 передбачає чергове зниження робочої напруги. На цей раз до 1,2 В. Крім цього, всередині чіпа напруга навпаки було збільшено, що дозволило забезпечити більш швидкий доступ і при цьому знизити струми витоку. В теорії енергоспоживання DDR4 буде на 30% нижче, ніж у DDR3. Цей запас виробники, швидше за все, будуть витрачати на збільшення частоти пам'яті.

Поки що в продажу немає жодної материнської плати з підтримкою DDR4. Але чекати залишилося недовго
висновок
Ось ми і розглянули всі нововведення, які принесе новий стандарт пам'яті DDR4. На папері все виглядає більш ніж привабливо. Так, крім стандартних поліпшень (більш низьку напругу і високі частоти), DDR4 отримав підтримку нової шини і, що особливо важливо для серверного сегмента, декількох технологій для підвищення надійності. Втім, для затравки, відзначимо, що зовсім скоро ( «зовсім» - означає «зовсім-зовсім-зовсім» - прим. Керівника тестлаба) на нашому сайті вийде детальний огляд перших DDR4-наборів.