LRDIMM (Load-Reduced Dual Inline Memory Module або «DIMM зі зниженим навантаженням») – тип модулів пам'яті, які підтримуються серверними платформами з 2012 року. Модулі LRDIMM схожі на реєстрові модулі DIMM і підходять до тих же роз'ємів пам'яті. Однак, принцип роботи LRDIMM відрізняється від RDIMM. Використовуючи LRDIMM у звичайному сервері, можна зробити 512Гб, 1Тб або 1,5Тб пам'яті.
Буфер пам'яті – основа технології LRDIMM
Регістрові модулі DIMM підключаються безпосередньо до шини, з'єднаної з контролерами пам'яті процесора. У режимі роботи з модулями DIMM контролер пам'яті управляє кожною мікросхемою DRAM, підключеною до лінії модуля, що управляє. І що більше цих мікросхем у модулі пам'яті (так звані ранги), то більше вписувалося електричне навантаження на контролер. Ранг – кількість наборів мікросхем, що підключені до однієї лінії вибору мікросхеми. Ранг є характеристикою модуля пам'яті. Нижче показані дво- та чотирирангові модулі пам'яті.
Дворанговий модуль – це два логічні модулі, розпаяні на друкованій платі і користуються по черзі одним і тим же фізичним каналом передачі даних. Чотириранковий – аналогічне рішення, але вже у чотириразовому масштабі.
RDIMM – це реєстровий модуль пам'яті. Найменування «реєстровий» означає, що модулі цього типу мають буферизуючий регістр, який використовується для буферизації адресних та командних сигналів.
У разі LRDIMM до шини додано спеціальну мікросхему буфера пам'яті, прикріплену до кожного модуля. При роботі контролера з модулями LRDIMM керування зводиться до відправлення пакетної інформації (дані та команди) у цей буфер модуля – iMB (Isolation Memory Buffer). На відміну від модулів RDIMM, буферизуються не лише сигнали керування, а й дані.
Буфер керує всіма операціями читання та запису в DRAM. Через нього проходять сигнали даних та команд/адрес – це посередник між контролером пам'яті (Host Memory Controller) та DRAM.
При додаванні нових мікросхем DRAM (рангів) на реєстрові модулі DIMM електричне навантаження модулів пам'яті підвищується. Зі збільшенням кількості рангів на канал пам'яті знижується швидкодія пам'яті – швидкість її роботи. Для модулів RDIMM оптимальним є встановлення не більше двох модулів DIMM на канал, оскільки при використанні третього банку швидкість пам'яті знижується. Канал – це «шлях» від модуля пам'яті до контролера, по якому передаються дані, що зчитуються і записуються.
Модулі LRDIMM не мають таких обмежень, тому що використовують мікросхеми буфера пам'яті. Працюючи з LRDIMM контролери пам'яті в процесорах функціонують у послідовному режимі. Команди та дані передаються в буфер пам'яті, який керує всіма операціями читання та запису в DRAM.
Умноження рангів
Модулі LRDIMM значно знижують електричне навантаження мікросхем DRAM на шину даних, а завдяки так званому множенню рангів (Rank Multiplication). Фізичні ранги DRAM виглядають для контролера пам'яті як один логічний ранг більшої ємності. Нижче показано збільшення рангів для трьох LRDIMM на канал пам'яті.
Умноження рангів можна відключити, встановити в 2:1 або 4:1 – до 8 фізичних рангів на LRDIMM. Наприклад, чотирирангові модулі LRDIMM перетворюються для контролера пам'яті на дворангові. Тобто чотириранговий модуль контролер сприймає як дворанговий, а восьмиранговий – як чотириранговий. За рахунок цього навантаження багаторангового модуля стає вдвічі нижчим. В результаті сервер може підтримувати модулі LRDIMM із підвищеними швидкостями порівняно з модулями RDIMM.
Зменшення електричного навантаження дозволяє системі з LRDIMM працювати з більшою швидкістю (тактовою частотою пам'яті) при тій же ємності, або збільшити ємність ОЗУ, зберігши ту ж швидкість, що в конфігурації з RDIMM.
Таким чином, на практиці LRDIMM можна використовувати для збільшення швидкості роботи пам'яті та/або збільшення її ємності. Модулі LRDIMM забезпечують більш високу швидкість при більшій ємності для користувачів, вимогам яких не задовольняють дворангові модулі RDIMM ємністю 16 Гбайт або чотирирангові модулі RDIMM ємністю 32 Гбайт.
Наприклад, два процесорні сервери з двадцятьма чотирма роз'ємами пам'яті можна налаштувати так:
- Модулі LRDIMM: 32 Гбайта x 24 = 768 Гбайт із частотою 1066 МГц і при напрузі 1,5В та 1,35В.
- Модулі RDIMM: 32 Гбайт x 16 = 512 Гбайт із частотою 800 МГц і при напрузі 1,5В.
Ще один приклад: Процесори Intel Xeon E5 v3 містять чотириканальний контролер пам'яті та підтримують до восьми логічних рангів на канал. Усього можна встановити максимум вісім чотирирангових модулів по 32 Гбайти на кожен процесор (по два на канал). Місткість пам'яті на двухпроцессорной платі у разі може перевищувати 512 Гбайт. Однорангові або дворангові модулі можна поставити до трьох на канал, але вони будуть мати меншу ємність.
Якщо використовувати чотирирангові модулі LRDIMM, які контролер пам'яті сприймає як дворангові, можна встановити до 12 модулів по 32 Гбайта на процесор – всього 768 Гбайт пам'яті, що працює на вищій частоті. Зараз з'явилися LRDIMM на 64 і 128 Гб, це дозволяє отримати фантастичний обсяг пам'яті на сервері — до 1,5-2Тб!
Зауважимо, що комбінувати LRDIMM та DIMM не можна – система просто не запуститься.
Особливості LRDIMM
Крім збільшення ємності оперативної пам'яті та її швидкодії архітектура LRDIMM має низку інших корисних особливостей. iMB, буфер пам'яті LRDIMM, підтримує засоби тестування DRAM і LRDIMM, включаючи прозорий режим і MemBIST (Memory Built-In Self-Test), VREF (voltage reference) для шини даних (DQ) та команд/адрес (CA), перевірку парності для команд, вбудоване управління, аналогічне регістру 32882 для RDIMM, опціональний інтерфейс SMBus (Serial Management Bus) для регістрів конфігурації та стану LRDIMM, а також інтегрований датчик температури.
- Прозорий режим: використовується для тестування модуля пам'яті. Модуль працює просто як буфер і передає сигнали та дані на мікросхеми DRAM.
- MemBIST: для ініціалізації DRAM та тестування компонентів пам'ять LRDIMM підтримує функцію MemBIST (Memory Built-In-Self Test). Вона слугує для повного тестування DRAM. Тестування виконується з робочою частотою, використовується доступ по шині команд/адрес або SMBus.
- VREF: модулі LRDIMM можуть використовувати зовнішні параметри напруги даних (VREFDQ) і команд/адрес (VREFCA) або внутрішні, з буфера пам'яті. Якщо VREF задається буфером пам'яті, то рівнем напруги може керувати хост. контролер пам'яті. Для цього використовуються регістри конфігурації буфера пам'яті. Програмовані рівні напруги дозволяють постачальникам модулів пам'яті та системних компонентів гарантувати надійність та стійку роботу інтерфейсів пам'яті LRDIMM.
- Перевірка парності: щоб виявити на шині команд/адрес спотворені команди, для вхідних команд у буфері пам'яті виконується перевірка парності. За помилки генерується сигнал ERROUT_n.
- Інтерфейс SMBus: буфер пам'яті підтримує керування по додатковому послідовному каналу (out-of-band serial management bus). Воно дозволяє записувати та читати дані з регістрів стану.
- Температурний датчик: він вбудований у буфер пам'яті та оновлюється 8 разів на секунду. Звертатися до нього можна через інтерфейс SMBus. Для передачі повідомлення контролеру пам'яті про високу температуру можна використовувати пін буфера EVENT_n.
Як «розігнати» LRDIMM?
Небуферизована шина даних залишається слабкою ланкою системи пам'яті RDIMM. Наприклад, чотириранговий модуль DDR3 RDIMM – це чотири електричні навантаження на шині даних. Тому максимальна швидкість чотирирангового DDR3 RDIMM – 1066 MT/с (млн. транзакцій у сек) у конфігурації «один DIMM на канал» (один DPC) та 800 MT/с у конфігурації «два DIMM на канал» (Два DPC). У LRDIMM буфер використовує і шину даних, і шину команд/адрес. Це дозволяє збільшити швидкість передачі даних та щільність пам'яті.
Нижче показано діаграму шини даних чотирирангового модуля RDIMM у конфігурації «два DIMM на канал». Вона показує, що за наявності 8 електричних навантажень на шині даних цілісність сигналу в каналі пам'яті серйозно деградує, що обмежує частоту. При восьми електричних навантаженнях та 1333 MT/с максимальне «вікно даних» (data eye) на шині скорочується до 212 пс в ідеальній точці VREF і не перевищує 115 мВ при максимальній напрузі. «Вікно даних» – це період часу, коли контролер може вважати дані, і цей період скорочується у разі зростання частоти, на якій працює пам'ять.
Ефект стиснення вікна даних означає, що два чотирирангові модулі RDIMM у конфігурації «два DIMM на канал» для роботи на швидкості 1333 МТ/с не підходять. Доводиться вибирати компроміс між ємністю пам'яті та її швидкістю.
Нижче показана діаграма вікна даних у разі двох чотирирангових модулів LRDIMM у конфігурації «два DIMM на канал». Електричне навантаження 8 фізичних рангів DRAM замінено двома електричними навантаженнями буфера пам'яті. Цілісність сигналу значно покращилася. Хоча умови аналогічні до попередньої ілюстрації, вікно даних збільшилося з 212 до 520 пс, а його максимальна висота зросла зі 115 до 327 мВ.
Покращення цілісності сигналу означає, що LRDIMM може працювати на швидкості 1333 MT/с і вище, навіть за кількох модулів LRDIMM на канал. Не потрібно буде вибирати між ємністю та пропускною здатністю пам'яті.
Більше про ємність системної пам'яті
Одна з головних переваг LRDIMM – це можливість значно збільшити ємність ОЗП, не жертвуючи швидкістю роботи пам'яті. Завдяки ізоляції DRAM від шини даних можна додавати до кожного DIMM додаткові ранги при збереженні цілісності сигналу, встановлювати на кожен канал пам'яті додаткові мікросхеми DIMM. Поширений варіант – LRDIMM ємністю 32 Гбайти. Це 4Rx4 модуля по 4 Гбайти, DDP (dual-die package) DRAM. Оскільки кожен LRDIMM представляє для контролера пам'яті одне електричне навантаження, можна встановити більше DIMM на канал.
Візьмемо, наприклад, двопроцесорний сервер з трьома роз'ємами пам'яті DIMM на канал, чотирма каналами на ЦП. За допомогою LRDIMM ємність ОЗП у нього можна збільшити порівняно з RDIMM у два-три рази. Нижче наведено максимальні ємності RDIMM та LRDIMM для різних швидкостей та напруг.
Наприклад, для пам'яті 1,5В DDR3 при швидкості 800 MT/с у системи з повним комплектом RDIMM ємність ОЗУ при використанні 16GB 2Rx4 RDIMM на канал може досягати 384 Гбайт. Застосування модулів LRDIMM дозволяє подвоїти цю ємність – до 768 Гбайт. Обмеження системної плати (зазвичай це 8 рангів DRAM на канал) долається множенням рангів LRDIMM. У цьому випадку виходить 12 фізичних рангів на канал.
При швидкості 1066 або 1333 МТ/с обмеження цілісності сигналу не дозволяють використовувати в конфігурації з RDIMM більше трьох DIMM на канал. Для пам'яті 1,5В DDR3 зі швидкодією 1066 або 1333 MT/с максимальна ємність ОЗУ з RDIMM буде 256 Гбайт. У LRDIMM немає таких обмежень, і можна встановити три DIMM на канал за 1066 MT/с (або 1333 MT/с). При цьому загальна ємність ОЗУ складе 768 Гбайт, тобто втричі більше. Для пам'яті 1,35В DDR3L зі швидкістю 1333 MT/с перевага LRDIMM ще значніша.
А що з енергоспоживанням LRDIMM?
Модулі пам'яті LRDIMM не лише дозволяють збільшити ємність оперативної пам'яті півночі, а й зробити це з мінімальними втратами енергоефективності. Хоча буфер пам'яті в LRDIMM у конфігурації «один DIMM на канал» споживає більше, ніж RDIMM у тій самій конфігурації, у конфігураціях високої щільності – 2 та 3 DIMM на канал – різниця нівелюється.
Нижче показано нормалізоване енергоспоживання на RDIMM або LRDIMM у конфігураціях з одним і двома DIMM на канал при різному швидкодії пам'яті. Оскільки фактична споживана потужність залежить від щільності та технології DRAM, відносна потужність показана для модулів LRDIMM і RDIMM одного покоління DRAM. Це модулі 4Rx4 ємністю 32 Гбайти. Потужність модуля RDIMM при 800 МТ/с прийнята за одиницю. Для вимірювання використовувалися стандартні тести з 50% операція запису та 50% операцій читання.
Покращення цілісності сигналу означає, що LRDIMM може працювати на швидкості 1333 MT/с і вище, навіть за кількох модулів LRDIMM на канал. Не потрібно буде вибирати між ємністю та пропускною здатністю пам'яті.
Більше про ємність системної пам'яті
Одна з головних переваг LRDIMM – це можливість значно збільшити ємність ОЗП, не жертвуючи швидкістю роботи пам'яті. Завдяки ізоляції DRAM від шини даних можна додавати до кожного DIMM додаткові ранги при збереженні цілісності сигналу, встановлювати на кожен канал пам'яті додаткові мікросхеми DIMM. Поширений варіант – LRDIMM ємністю 32 Гбайти. Це 4Rx4 модуля по 4 Гбайти, DDP (dual-die package) DRAM. Оскільки кожен LRDIMM представляє для контролера пам'яті одне електричне навантаження, можна встановити більше DIMM на канал.
Візьмемо, наприклад, двопроцесорний сервер з трьома роз'ємами пам'яті DIMM на канал, чотирма каналами на ЦП. За допомогою LRDIMM ємність ОЗП у нього можна збільшити порівняно з RDIMM у два-три рази. Нижче наведено максимальні ємності RDIMM та LRDIMM для різних швидкостей та напруг.
Наприклад, для пам'яті 1,5В DDR3 при швидкості 800 MT/с у системи з повним комплектом RDIMM ємність ОЗУ при використанні 16GB 2Rx4 RDIMM на канал може досягати 384 Гбайт. Застосування модулів LRDIMM дозволяє подвоїти цю ємність – до 768 Гбайт. Обмеження системної плати (зазвичай це 8 рангів DRAM на канал) долається множенням рангів LRDIMM. У цьому випадку виходить 12 фізичних рангів на канал.
При швидкості 1066 або 1333 МТ/с обмеження цілісності сигналу не дозволяють використовувати в конфігурації з RDIMM більше трьох DIMM на канал. Для пам'яті 1,5В DDR3 зі швидкодією 1066 або 1333 MT/с максимальна ємність ОЗУ з RDIMM буде 256 Гбайт. У LRDIMM немає таких обмежень, і можна встановити три DIMM на канал за 1066 MT/с (або 1333 MT/с). При цьому загальна ємність ОЗУ складе 768 Гбайт, тобто втричі більше. Для пам'яті 1,35В DDR3L зі швидкістю 1333 MT/с перевага LRDIMM ще значніша.
А що з енергоспоживанням LRDIMM?
Модулі пам'яті LRDIMM не лише дозволяють збільшити ємність оперативної пам'яті півночі, а й зробити це з мінімальними втратами енергоефективності. Хоча буфер пам'яті в LRDIMM у конфігурації «один DIMM на канал» споживає більше, ніж RDIMM у тій самій конфігурації, у конфігураціях високої щільності – 2 та 3 DIMM на канал – різниця нівелюється.
Нижче показано нормалізоване енергоспоживання на RDIMM або LRDIMM у конфігураціях з одним і двома DIMM на канал при різному швидкодії пам'яті. Оскільки фактична споживана потужність залежить від щільності та технології DRAM, відносна потужність показана для модулів LRDIMM і RDIMM одного покоління DRAM. Це модулі 4Rx4 ємністю 32 Гбайти. Потужність модуля RDIMM при 800 МТ/с прийнята за одиницю. Для вимірювання використовувалися стандартні тести з 50% операція запису та 50% операцій читання.
При 800 MT/с у конфігурації «один DIMM на канал» LRDIMM споживає на 17% більше електроенергії, ніж RDIMM, але в конфігурації «два DIMM на канал» різниця становить лише 3%. При 1066 MT/с це 15%, але у конфігурації «два DIMM на канал» різниця також невелика. При 1333 MT/с споживання потужності на LRDIMM у конфігурації «два DIMM на канал» на 28% менше, ніж у конфігурації «один DIMM на канал».
Нижче представлені аналогічні результати для 100% читання. Так як LRDIMM використовується в основному в системах з високою щільністю пам'яті, більший інтерес представляє споживання на LRDIMM у конфігурації «два DIMM на канал». Втрат з енергоефективності у цьому випадку практично немає.
Більшість платформ Intel E5 може підтримувати два модулі LRDIMM на канал при частоті 1333 МГц і напрузі 1,5В і три модулі LRDIMM на канал при 1066 МГц, що дозволяє використовувати конфігурації з дванадцятьма модулями LRDIMM на процесор; при використанні чотирирангових модулів RDIMM задіяно лише 8 роз'ємів на процесор і максимальна швидкість становить 800 МГц.
Чи потрібні модулі LRDIMM?
Як дізнатися, чи потрібно взагалі використовувати модулі LRDIMM? Визначте швидкість передачі даних пам'яті для вашого сервера (див. документи вендора щодо продуктивності). Якщо вам необхідно більше 8 x 32 Гбайт на процесор, то потрібні модулі LRDIMM, в іншому випадку достатньо буде чотирирангових модулів RDIMM ємністю 32 Гбайт з частотою 800 МГц. Якщо потрібні частоти 1066 МГц або 1333 МГц, слід використовувати лише модулі LRDIMM.
Нижче показані обмеження за рангами та максимальними частотами функціонування пам'яті на прикладі двопроцесорних материнських плат Supermicro X9 (LGA2011) та X10 (LGA2011-3) серій при встановленні процесорів Intel Xeon E5 2600 серії різних поколінь.
Двопроцесорні плати Supermicro X10 Series не підтримують небуферизовані модулі пам'яті (UDIMM). Очевидно, що для досягнення максимальної ємності оперативної пам'яті та максимальної швидкості її функціонування необхідні модулі типу LRDIMM DDR4.
- Hynix HMTA8GL7AHR4C-PBM2: Оперативна пам'ять для сервера, ємність пам'яті: 64 Гбайта, пропускна спроможність: PC12800, тип: DDR3 LRDIMM.
- Kingston KVR16LL114/32 – модуль пам'яті DDR3L, ємність 32 Гб, форм-фактор LRDIMM, 240-контактний, частота 1600 МГц, підтримка ECC, CAS Latency (CL): 11.
- Модуль пам'яті Samsung DDR4 2133 Registered ECC LRDIMM 32Gb. Середня ціна – близько 22 тис. руб. Це 288-контактний модуль LRDIMM із частотою 2133 МГц. Є підтримка ECC, CAS Latency (CL): 15.
- Модуль пам'яті Samsung 32GB 288-Pin DDR4 SDRAM DDR4 2133 (PC4 17000) Server Memory Model M386A4G40DM0-CPB, Cas Latency 15.
Загалом модулі LRDIMM дозволяють до 35% підвищити пропускну спроможність оперативної пам'яті порівняно зі стандартними модулями RDIMM.
Найбільший ефект застосування LRDIMM дасть для додатків, що інтенсивно використовують оперативну пам'ять, хмарних обчислень та завдань HPC (high-performance computing), коли треба завантажувати в ОЗУ та обробляти великі обсяги даних. У віртуальному середовищі це дає можливість збільшити «щільність» віртуальних машин. У дата-центрах – підвищити енергоефективність та зменшити TCO (Total Cost of Ownership).
Альтернатива? LRDIMM на 128Гб!
Технологія не стоїть на місці, і Samsung представила нові модулі пам'яті LRDIMM ємністю 128 Гбайт. У них застосовується технологія пакування мікросхем під назвою TSV (Through Silicon Via) – чіпи DRAM з'єднуються вертикально за допомогою електродів, що проходять через мікроскопічні отвори, як вони зробили на 3D VNAND.
Пам'ять TSV DDR4 DRAM у модулях 128GB RDIMM вважається справжнім технологічним проривом. Її переваги – подвоєна в порівнянні з колишніми стандартними модулями ємність, висока швидкість та ефективність. Завдяки 20-нм техпроцесу пам'яті 128GB TSV DDR4 на 50% знижено енергоспоживання порівняно з модулями 64GB LRDIMM.