ECC (Error Correction Code) або код корекції помилок дозволяє виправляти деякі помилки в процесі роботи оперативної пам'яті. У тому числі випадкові неточності, тобто ті, які можуть виникати під впливом електромагнітних перешкод або високоенергетичних елементарних частинок. Подібна похибка виникає через зміну значення одного біта в машинному слові. Результат такої помилки може бути непередбачуваним. Від зміни одного символу в набраному тексті до зависання всієї системи. Під час читання даних із пам'яті або запису в пам'ять код ECC дозволяє виправляти поодинокі бітові помилки. Що підвищує надійність роботи пам'яті в оточеннях, де це потрібно. Наприклад, у серверах та робочих станціях. Для коду ECC додаються 8 додаткових біт (64 базових + 8 додаткових = 72). Застосування технології ECC необхідно для виявлення і якщо це можливо, виправлення подібних проблем. Пам'ять без підтримки корекції помилок позначається non-ECC. Алгоритм ECC дозволяє виправляти бітові помилки, а також визначати два помилкові біти, але вже не виправляти їх. Технології Chipkill або Advanced ECC розширюють алгоритм ECC, дозволяючи коригувати до 4 хибних бітів і визначати до 8 хибних бітів. Якщо помилок буде багато, то ця функція дозволяє приховати збійний чіп у системі без перезавантаження (звідси і назва "Chipkill"), сервер продовжує стабільну роботу. Технології Chipkill чи Advanced ECC працюють як масив RAID на жорстких дисках, спираючись на розподілене надмірне зберігання даних. Технологія Memory Scrubbing проводить постійну перевірку пам'яті на наявність помилок, результати відправляються серверним утилітам управління, наприклад, Intelligent Platform Management Interface (IPMI) в BMC (Baseboard Management Controller). Але для роботи ECC разом з функцією ChipKill/Advanced ECC необхідно, щоб процесор, материнська плата з BIOS та оперативна пам'ять підтримували ECC. Ця технологія є обов'язковою для всіх RDIMM, але також зустрічаються і UDIMM з ECC. RDIMM - Реєстровою пам'яттю (Registered DIMM, RDIMM) називають модулі ОЗУ, які мають на «борті» окремий регістр адрес «оперативки» і команд. Контролер ОЗУ в процесорі звертається до регістрів, регістри направляють інформацію в мікросхеми пам'яті. Така організація «оперативки» дозволяє збільшити кількість модулів на RAM за рахунок зниження електричного навантаження на контролер пам'яті. Контролер знаходиться або у північному мосту материнської плати, або у процесорі. Також вдвічі зменшується ємність модулів пам'яті, якщо модуль містить два регістри. Реєстрова пам'ять відрізняється від звичайної, небуферизованої ОЗП, вищими затримками при читанні та запису інформації в модулях ОЗП. Це відбувається через те, що модулі містять додатковий проміжний вузол буфер. Читання/запис виконує контролер пам'яті у процесорі чи північному мосту материнської плати. Робота з цим вузлом, звісно, потребує додаткового часу роботи. Але при цьому наголосимо на тому, що зменшується навантаження на процесор, оскільки буфер відповідає за безпосередню роботу з банками пам'яті. Реєстрова та буферизована пам'ять — одне й те саме Реєстрова пам'ять – це буферизована пам'ять.Як було зазначено вище – регістр – це буфер для адрес та команд при роботі з пам'яттю. Процесор або північний міст материнської плати надсилають дані, адреси осередків пам'яті та команди. Реєстри виконують команди за вказаними адресами. Така пам'ять коштує дорожче за звичайну, небуферизовану пам'ять. Використовується вона виключно на серверах, тому що дозволяє отримати більший обсяг пам'яті на один процесор на сервері. LRDIMM (Load Reduced Dual In-Line Memory Modules) - модуль із зниженим навантаженням, відносно новий тип пам'яті для серверів. Підтримується процесорами Intel Xeon E5 та AMD Opteron 6200, починаючи з 2012 року. Модулі LRDIMM дуже схожі на "звичайні" модулі пам'яті типу Registered DIMM (RDIMM) і навіть використовують ті ж друковані плати та чіпи пам'яті DRAM. Однак принцип роботи модулів суттєво відрізняється. Змішувати в одній системі LRDIMM та DIMM модулі категорично заборонено! (Система не запуститься). У режимі роботи з модулями типу DIMM контролер пам'яті підключається паралельно і керує безпосередньо кожним набором мікросхем, які підключені до лінії модуля, що управляє. І чим більше цих наборів у модуля (так звані ранги), тим більше навантаження на контролер. При роботі контролера з модулями LRDIMM управління зводиться до відправлення пакетної інформації (дані та команди) до буфера модуля - iMB (Isolation Memory Buffer). У свою чергу, саме буфер управляє всіма операціями читання та запису в мікросхемах DRAM. Простіше кажучи, за рахунок іншого механізму "спілкування" модуля пам'яті з контролером пам'яті навантаження багаторангового модуля стає вдвічі нижчим (тобто модуль Quad Rank контролер сприймає як Dual Rank, а Octal Rank модуль - як Quad Rank). На практиці LRDIMM стає корисним збільшення швидкості роботи великого обсягу пам'яті і/або взагалі можливості організації великого обсягу пам'яті. Для більшої ясності наведемо конкретний приклад. Процесори Intel Xeon E5 v1, v2, v3 та v4 містять чотириканальний контролер пам'яті та підтримують до восьми логічних рангів на канал. Разом можна встановити максимум вісім модулів Quad Rank об'ємом 32 Гб на кожен процесор (по 2 на кожен канал). Сумарний обсяг пам'яті на двухпроцессорной платі у разі може перевищувати 512 ГБ. Однорангові або дворангові модулі можна поставити більше (до 3 модулів на канал), але ці модулі будуть мати меншу ємність. Якщо використовувати фізично Quad Rank модулі LRDIMM, які контролер пам'яті "сприймає" як дворангові, можна використовувати максимум 12 модулів по 32 Гб на процесор. Разом 768 ГБ пам'яті, яка, до того ж, зможе працювати на вищій частоті. Процесори третього та четвертого покоління (Intel Xeon E5 v3 та v4) сумісні з модулями 3DS LRDIMM. Об'єм кожного модуля такої пам'яті може становити 128 ГБ. Отже, двопроцесорні системи із 24 слотами пам'яті можуть використовувати до 3 ТБ оперативної пам'яті. А планками RDIMM, за інших рівних, можна досягти лише 768 ГБ. NVDIMM (non-volatile DIMM) - Модулі NVDIMM являли собою приклад комплексного використання двох технологій: оперативної та енергонезалежної пам'яті. Сам собою стандарт не є новинкою: він був затверджений в 2014 році, і багато компаній вже представили свої модулі пам'яті з «батарейкою». Однак, у зв'язку з активним розвитком мікросхем Flash, сучасний NVDIMM став включати достатній обсяг NAND-пам'яті.Тепер NVDIMM дозволяє не тільки зберегти цілісність даних на момент аварійного відключення живлення, але і кешувати всі дані, що проходять через ОЗУ, на льоту. Енергонезалежна пам'ять NVDIMM буває різних видів: NVDIMM-N, NVDIMM-F, NVDIMM-P. Модуль типу NVDIMM-N включає як мікросхему SDRAM (ОЗУ), так і мікросхему флеш-пам'яті (SSD) для резервного зберігання даних ОЗУ на випадок аварії. Якщо NVDIMM-N – це «оперативка» з розширеним функціоналом, то NVDIMM-F – це свого роду сховище. У «F» модулях немає осередків ОЗУ, вони містять лише мікросхеми Flash-пам'яті. NVDIMM-P комбінує функції NVDIMM-F та NVDIMM-N у межах одного модуля. Доступ йде одночасно як до DRAM, так і NAND на одній планці. Всі три конфігурації дозволяють істотно збільшити продуктивність під час роботи з великими даними, HPC і т.д. У 2017 році стався своєрідний прорив щодо пам'яті NVDIMM у серверному сегменті. Компанія Micron представила нові модулі ємністю 32 Гбайт. Ці модулі працюють на частоті DDR4-2933 із затримками CL21 — що набагато швидше за інші DDR4 для серверного застосування. Дещо раніше були випущені модулі пам'яті на 8 і 16 Гбайт. У конфігурації з двома контролерами будь-який з модулів NVDIMM-N замінюється разом з контролером у будь-який зручний момент, без переривання доступу до даних. Когерентність NVDIMM може бути забезпечена як програмними, а й апаратними засобами. Таким чином, зникає необхідність обслуговувати акумулятори (BBU у старих RAID-контролерах або UPS). При вертикальному та горизонтальному масштабуванні рішення більше не потрібна переоцінка ризиків втрати даних! DCPMM - Intel Optane DC (DCPMM)яка має більшу ємність, ніж DRAM, а її продуктивність вища, ніж у SSD та HDD. Іншими словами, це якийсь гібрид між модулем оперативної пам'яті та накопичувачем. І він стирає грань між DRAM та сховищем даних при обчисленнях у пам'яті. Інша перевага - Intel Optane DC зберігає дані, якщо зникло харчування сервера або воно нестабільне. У цьому зберігається продуктивність DRAM. Таким чином, дані зберігаються в оперативній пам'яті після вимкнення пристрою. Для роботи з OLTP, базами даних у пам'яті та інших складних завдань потрібно використовувати ресурси процесора, і пам'яті максимум і при цьому скорочувати затримки при передачі інформації. Рішення з бази енергонезалежної пам'яті (NVM) не можуть вирішити цю проблему до кінця. Виходом може стати енергонезалежна пам'ять NVRAM/NVDIMM, зокрема Intel Optane DCPMM. Розробка DCPMM розпочалася у середині 2000-х. У 2012 році Intel та Micron об'єднали зусилля для спільної роботи. У липні 2015 року технологія була показана широкому загалу. Тоді технологія називалася 3D XPoint («Тривимірна точка перетину»). Ідея полягала у створенні пам'яті, яка б відповідала наступним критеріям: По суті інженери розробили новий клас модулів, який дозволив постачальникам інформаційно-комунікаційних технологій подолати обмеження класичної трирівневої моделі зберігання «гарячих, теплих та холодних» даних. У результаті з'являється четвертий шар для «напівгарячих» даних, які користувачі отримують при включенні комп'ютера. Новий шар NVRAM виявляється між двома «кільцями»: SSD (зберігання даних) та DRAM з CPU (запуск програми).Модулі DCPMM фактично перевизначають звичну ієрархію пам'яті та зберігання. На практиці необхідна для запуску додатків інформація виявляється доступною протягом сотень наносекунд порівняно з десятками мікросекунд для SSD та мілісекунд для HDD. Ще одна істотна перевага технології: модулі Intel Optane DCPMM встановлюються в ті самі стандартні слоти пам'яті, що й DRAM. Модулі Intel Optane DCPMM були випущені у квітні 2019 року разом із другим поколінням процесорів Intel Xeon Scalable. Однією з перших компаній, яка отримала нові процесори та DCPMM стала Fujitsu. Компанія впровадила нововведення у системи PRIMERGY та PRIMEQUEST. Покупці пристроїв цих лінійок можуть вибрати один із трьох режимів роботи, які найкраще відповідають поточним потребам. У режимі Memory Mode вся ємність DCPMM працює як "класична" ОЗУ. У цьому випадку операційна система та програми розглядають її як пул енергозалежної пам'яті, а DRAM використовується в ролі кеша. Процесор контролера пам'яті обробляє всі операції керування кешем. Це означає, що при запиті даних із пам'яті він спочатку перевіряє кеш DRAM. Якщо дані присутні, швидкість передачі та час очікування ідентичні DRAM. В іншому випадку дані зчитуються з модулів DCPMM із трохи більшою затримкою. До речі, наявність у сервері планок пам'яті DRAM є обов'язковою. MM найкращий, коли потрібно збільшити обсяг основної пам'яті. Наприклад, у середовищах з високим ступенем віртуалізації, модулі DCPMM можуть вміщати більше віртуальних машин і водночас надавати більше пам'яті кожної з них. При цьому витрачається менше коштів, ніж порівняльну за ефективністю конфігурацію DRAM. Те саме стосується робочих навантажень з високим ступенем введення-виведення, таким як аналітичні та бізнес-додатки, а також великий набір застарілого програмного забезпечення. Режим App Direct дозволяє програмам безпосередньо взаємодіяти з частинами DCPMM. Таким чином, всі важливі дані зберігаються в постійній пам'яті в безпосередній близькості від процесора, а значить відразу доступні при завантаженні частини програмного забезпечення. У цьому режимі ОС розпізнає два окремі пули пам'яті та обробляє їх відповідним чином: частина DCPMM, резервується для AD як стала пам'ять, а SDRAM функціонує як основна пам'ять. Ще однією перевагою такої конфігурації: DCPMM з підтримкою AD виконує роль постійного пристрою, але адресація проходить по байтах, як SDRAM. Крім того, дані з простору App Direct DCPMM кешуються в пам'яті ЦП так само, як із SDRAM. Система виходить більш узгодженою, проте ядра ЦП у системі відразу отримують однакові дані. Ще одна можливість: простір App Direct можна монтувати безпосередньо в ОС як надшвидкий SSD, роблячи його доступним для незмінних програм. AD Mode максимально використовує DCPMM з точки зору продуктивності, ємності, гнучкості та простоти використання. Тому не дивно, що експерти вважають цей режим роботи кращим для сценаріїв, у яких стійкість систем та додатків, а також швидкий час завантаження/перезапуску мають першочергове значення. DCPMM у конфігураціях AD особливо добре працює з додатками, які значною мірою залежать від обсягу та продуктивності пам'яті, такими як бази даних у пам'яті та додатки для надшвидкого зберігання. Змішаний режим (Mixed Mode) - Різновид AD. У цьому випадку можна налаштувати DCPMM таким чином, щоб одна частина працювала в режимі пам'яті (Memory Mod), а інша в режимі App Direct. Ключова відмінність від AD: «поділ» ємності та функціональності має бути від початку, щоб підтримувати програми з різними вимогами, які мають виконуватися паралельно. У змішаному режимі програми можуть користуватися перевагами високопродуктивного сховища без затримки, що викликає переміщення даних на шину введення-виведення та назад. Контролер пам'яті - це важливий компонент комп'ютерної системи, який контролює роботу пам'яті та забезпечує обмін даними між пам'яттю та центральним процесором. Контролер пам'яті визначає максимальний обсяг пам'яті, який може використовувати комп'ютерна система, кількість банків пам'яті, тип і швидкість пам'яті, глибину та ширину частинок пам'яті та інші важливі параметри. Контролер пам'яті визначає продуктивність пам'яті в комп'ютерній системі, яка значно впливає на загальну продуктивність комп'ютерної системи. Фізична адреса використовується центральним процесором для доступу до інформації, що зберігається у пам'яті. Однак процесор не займається цим процесом безпосередньо; натомість він делегує це завдання мікросхемі контролера пам'яті, також відомої як MCC. Мікросхема контролера пам'яті 1 Класифікація контролера пам'яті 2 Принцип роботи контролера пам'яті 3 Переваги та недоліки 1 Класифікація контролерів пам'яті З розвитком комп'ютерних технологій контролери пам'яті поділяються на традиційні та інтегровані типи. 1) Традиційний контролер пам'яті Контролер пам'яті у традиційній комп'ютерній системі розташований у мікросхемі північного мосту чипсета материнської плати. Щоб обмінятися даними з пам'яттю, центральний процесор має пройти п'ять етапів "процесор – північний міст – пам'ять – північний міст – процесор". У цьому режимі дані проходять через багаторівневу передачу, затримка даних, очевидно, досить велика, що впливає на загальну продуктивність комп'ютерної системи. 2) Вбудований контролер пам'яті Інтегрований контролер пам'яті означає створення контролера пам'яті з урахуванням центрального процесора. Поговоримо про те, як працює система без контролера пам'яті. 26 даних A~Z мають бути передані центральний процесор. Центральний процесор віддає команду північному мосту. Оскільки контролер пам'яті інтегрований до північного місту, вважається, що інструкція проходить через північний міст. Пам'ять отримує інструкцію через контролер пам'яті. Ця інструкція передає процесору дані A~Z блоку b пам'яті, і пам'ять у цей час починає витягувати дані, що зазвичай називається адресацією. Коли пам'ять знаходить ці дані, а кожен із цих 26 даних займає 500 МБ, сума всіх даних становить близько 12 ГБ. Якщо припустити, що двоканальна пам'ять R2 800, то швидкість передачі даних складе 800 МГц, помножені на 128 БІТ, поділені на 8 біт на байт = 12 ГБ в секунду.У ході аналізу передбачається, що передача даних центральний процесор займає всього одну секунду. Дані передаються на північний міст лише за одну секунду. Контролер пам'яті знаходиться у північному мості. Як дані з північного мосту передаються у процесор? Через передню шину FSB. Якщо припустити, що частота FSB становить 800 МГц, швидкість передачі даних множиться на 64BIT і ділиться на 8 біт в секунду = 6,4 ГБ в секунду. Передача даних від північного моста до процесора займає 2 секунди, тому загальний час передачі до процесору становить 3 секунди. Далі розглянемо систему інтегрованого контролера пам'яті процесора. Як вона працює? Після того, як дані передаються з пам'яті в контролер, на це йде 1 секунда. Різниця в тому, що цього разу не потрібно проходити через повільну фронтальну шину, процесор зчитує дані безпосередньо з контролера пам'яті, тому що контролер пам'яті знаходиться біля дверей процесора. Наприклад, якщо предмет лежить біля ваших дверей, будь-хто може взяти його безпосередньо. Центральний процесор інтегрованого контролера пам'яті зчитує 12 Гб даних. Час становить 1 секунду, тому час обчислень значно скорочується, а продуктивність центрального процесора також використовується. Нарешті, підіб'ємо підсумок: коли в процесорі немає контролера пам'яті, передача даних відбувається за схемою контролер пам'яті - північний міст - процесор; коли контролер пам'яті є, передача даних відбувається за схемою контролера пам'яті - процесор. 2 Принцип роботи контролера пам'яті Як і процесор, пам'ять має власну робочу частоту. Частота вимірюється у МГц. Чим вища частота пам'яті, тим швидше вона працює.Базова частота пам'яті визначає максимальну частоту, де пам'ять може нормально працювати. Найбільш поширеними типами пам'яті є DDR3 та DDR4. Частота пам'яті DDR3, яка прийшла на зміну DDR2, досягла 1600 МГц, а частота DDR4 становить 2133 МГц. Обсяг пам'яті - це чинник, що впливає ціну пам'яті, а й чинник, що впливає продуктивність всієї системи. У минулому платформа Windows XP, 512 М пам'яті все ще була основною, а 1 ГБ вже був більшим об'ємом. 64-бітові системи почали поширюватися, Windows Vista, Windows 7 і Windows 10 почали використовувати все більшою кількістю людей. Без 2 Гб пам'яті плавність роботи не гарантується. Об'єм однієї пам'яті становить 1 ГБ, 2 ГБ, 4 ГБ. Найбільший досяг 8 та 16 ГБ. 3) Робоча напруга Напруга, необхідна пам'яті для нормальної роботи, по-різному, але кожна пам'ять має свої власні характеристики. Перевищення специфікацій може призвести до пошкодження пам'яті. Робоча напруга пам'яті DDR2 зазвичай становить близько 1,8 В, а пам'яті DDR3 - близько 1,5 або 1,35 В. Для розгону пам'ять повинна працювати при вищій напрузі, ніж стандартне. Для кожної марки та моделі пам'яті це залежить від виробника. Поки воно знаходиться в допустимих межах, невелике підвищення напруги пам'яті сприяє її розгону, але при цьому значно збільшується тепловиділення, що призводить до ризику пошкодження обладнання. 4) Параметри синхронізації Параметри контролера пам'яті tCL: керування затримкою CAS (tCL) Зазвичай ми шукаємо тимчасові параметри пам'яті, наприклад, "8-8-8-24". Відповідні параметри вищезгаданих цифрових послідовностей - "CL-tRCD-tRP-tRAS". Перша цифра "8" – це перший параметр, параметр CL. Керування затримкою CAS (також позначається як tCL, CL, CAS Latency Time, CAS Timing Delay). CAS контролює час між отриманням інструкції та її виконанням. Оскільки CAS в основному управляє шістнадцятковим адресою або адресою стовпця в матриці пам'яті, це найважливіший параметр, і для стабільності його слід встановлювати якомога нижче. Пам'ять адресується рядками та стовпцями. Коли запит спрацьовує, спочатку проходить tRAS (Active to Precharge Delay). Після попереднього заряджання пам'ять фактично починає ініціалізувати RAS. Як тільки tRAS активується, RAS (Row Address Strobe) починає адресувати необхідні дані. Спочатку відбувається звернення до адреси рядка, потім ініціалізується tRCD, цикл завершується, і потім CAS відбувається звернення до точної шістнадцятковій адресі необхідних даних. Час від початку CAS до кінця CAS – це затримка CAS. Таким чином, CAS - це останній крок у пошуку даних, а також найважливіший параметр пам'яті. Цей параметр визначає, скільки тактів чекає на пам'ять після отримання команди читання даних, перш ніж приступити до її виконання. У той же час, цей параметр визначає кількість тактів, необхідних для завершення першої частини передачі даних при пакетній передачі даних у пам'ять. Чим менший цей параметр, тим вища швидкість роботи пам'яті. Зверніть увагу, що частина пам'яті може не працювати за низької затримки і дані можуть бути втрачені. Збільшення затримки може змусити пам'ять працювати на вищій частоті, тому, якщо вам потрібно розігнати пам'ять, спробуйте збільшити затримку CAS. Цей параметр найбільше впливає на продуктивність пам'яті.Виходячи з міркувань забезпечення стабільності системи, що менше значення CAS, то швидше відбувається читання і запис на згадку. tRCD: Затримка переходу від RAS до CAS Це значення є другим параметром у параметрах синхронізації пам'яті "8-8-8-24", тобто другий "8". RAS to CAS Delay (також позначається як tRCD, RAS to CAS Delay, Active to CMD) означає "час затримки адресації рядка адресації стовпця". Чим менше це значення, тим вища продуктивність. Під час читання, запису або оновлення пам'яті між цими двома імпульсними сигналами слід вставити тактовий цикл затримки. Це другий параметр у специфікації JEDEC. Зменшення цієї затримки може підвищити продуктивність системи. Якщо продуктивність пам'яті при розгоні не дуже висока, можна встановити значення цього параметра за промовчанням або спробувати збільшити значення tRCD. tRP: Час попереднього заряджання рядка (tRP) Це значення є третім параметром у параметрах таймінгу пам'яті "8-8-8-24", тобто третім "8". Row Precharge Timing (також позначається як tRP, RAS Precharge, Precharge to active) означає "час попередньої зарядки контролера адреси рядка пам'яті". Чим менший параметр попереднього заряду, тим вища швидкість читання та запису в пам'ять. tRP використовується для встановлення часу заряду, який потрібно RAS перед активацією іншого ряду. tRAS: Мінімальний час активної роботи RAS Це значення є останнім параметром у параметрах синхронізації пам'яті "8-8-8-24", тобто "24".Min RAS Active Time (також позначається як tRAS, Active to Precharge Delay, Row Active Time, Precharge Wait State, Row Active Delay, Row Precharge Delay, RAS Active Time), що означає "найменший час від ефективного рядка пам'яті до попередньої зарядки".Налаштування цього параметра має визначатися в залежності від конкретної ситуації, зазвичай краще встановити його в діапазоні 24-30. Якщо цикл tRAS занадто довгий, система втрачатиме продуктивність через непотрібне очікування. Зменшення циклу tRAS призведе до того, що адреса активної лінії переходитиме в неактивний стан раніше. Якщо період tRAS занадто короткий, пакетна передача даних може бути не завершена через брак часу, що може призвести до втрати або пошкодження даних. Зазвичай це значення встановлюється затримкою CAS + tRCD + 2 такту. 3 Переваги та недоліки Перевага інтеграції контролера пам'яті в процесор полягає в тому, що він може ефективно керувати контролером пам'яті, щоб той працював на тій самій частоті, що і ядро процесора, а оскільки обмін даними між пам'яттю та процесором не повинен проходити через північний міст, це дозволяє ефективно скоротити затримки передачі. Наприклад, це схоже на переміщення товарного складу безпосередньо поруч із цехом обробки, що значно скорочує час транспортування сировини та готової продукції між товарним складом та цехом обробки. У результаті загальна продуктивність системи також зросла. Зниження навантаження на мікросхему північного моста. Оскільки обсяг даних, які обмінюються між процесором і пам'яттю, становить велику частку від загального обсягу даних, що обмінюються комп'ютером.Після інтеграції навантаження на чіп північного мосту значно знижується, і він забезпечує ефективнішу підтримку каналів обміну даними SATA, PCI-E тощо. Головний недолік вбудованого в процесор контролера пам'яті - погана адаптивність та гнучкість. Він може використовувати лише певні типи пам'яті, а також має обмеження на обсяг та швидкість пам'яті. Для підтримки нових типів пам'яті необхідно оновлювати внутрішній вбудований контролер пам'яті процесора, що означає заміну процесора. Наприклад, процесори AMD серії K8 можуть підтримувати тільки DDR, але не швидше DDR2. Традиційний контролер пам'яті знаходиться у мікросхемі північного мосту чіпсету материнської плати, тому такої проблеми не виникає. Вам потрібно лише замінити материнську плату, і ви можете використовувати різні типи пам'яті без заміни материнської плати, наприклад, у процесорах серії Intel Pentium4. Якщо материнська плата не підтримує DDR2, можна використовувати DDR2, якщо замініть її на материнську плату, яка підтримує DDR2. Якщо у вас є материнська плата, що підтримує DDR і DDR2, ви можете використовувати DDR2 безпосередньо, без заміни материнської плати. Багато програм мають більш складні схеми читання (майже випадкові, особливо коли попадання в кеш непередбачувані) і неефективно використовують пропускну здатність. Типовим додатком такого типу є програмне забезпечення для обробки бізнес-даних. Навіть за наявності таких функцій процесора як позачергове виконання він обмежений затримками в пам'яті. Наприклад, процесор повинен дочекатися завантаження даних, необхідних для виконання операції з пам'яті, перш ніж він зможе виконати інструкції.Затримка пам'яті в сучасних системах низького класу становить близько 120-150 нс, а частота процесора досягла більше 3 ГГц, і один запит до пам'яті може забрати 200-300 циклів процесора. Навіть якщо коефіцієнт попадання в кеш становить 99%, процесор може витрачати 50% часу очікування закінчення запиту до пам'яті через затримки пам'яті. Контролер пам'яті в традиційній комп'ютерній системі знаходиться в мікросхемі Northbridge чипсета материнської плати. Центральному процесору необхідно обмінюватися даними з пам'яттю на п'яти етапах "CPU-Northbridge-Memory-Northbridge-CPU". У цьому режимі дані передаються через кілька рівнів і затримка даних, очевидно, відносно велика, що позначається на загальній продуктивності комп'ютерної системи. У процесори AMD серії K8 (включно з різними процесорами з інтерфейсами Socket 754/939/940) інтегрований контролер пам'яті. Процес обміну даними між процесором та пам'яттю спрощено до трьох кроків "процесор-пам'ять-процесор", а два кроки виключені. Порівняно з традиційним рішенням контролера пам'яті, затримка даних значно менша, що дозволяє підвищити загальну продуктивність комп'ютерної системи.Оперативна пам'ять: ECC, REG, RDIMM, LRDIMM та інші
Розуміння контролерів пам'яті: ключ до оптимізації продуктивності комп'ютера