Динамі́чна операти́вна па́м'ять або DRAM (dynamic random-access memory) — один із видів комп'ютерної пам'яті із довільним доступом (RAM), найчастіше використовується як ОЗП сучасних комп'ютерів.
Основна перевага пам'яті цього типу полягає в тому, що її комірки упаковані дуже щільно, тобто в невелику мікросхему можна упакувати багато бітів, а значить, на їх основі можна побудувати пам'ять великої ємності.
Опис
Короткий огляд принципу роботи Елементи пам'яті в мікросхемі DRAM — це крихітні конденсатори, які утримують заряди. Саме так (наявністю або відсутністю зарядів) і кодуються біти. Проблеми, пов'язані з пам'яттю цього типа, викликані тим, що вона динамічна, тобто повинна постійно регенеруватися, оскільки інакше електричні заряди в конденсаторах пам'яті «стікатимуть» і дані будуть втрачені. Регенерація відбувається, коли контролер пам'яті системи бере крихітну перерву і звертається до всіх рядків даних в мікросхемах пам'яті. Більшість систем мають контролер пам'яті (зазвичай вбудовуваний в набір мікросхем системної плати), який налаштований на відповідну промисловим стандартам частоту регенерації, рівну 15 мкс. До всіх рядків даних звернення здійснюється після проходження 128 спеціальних циклів регенерації. Це означає, що кожні 1,92 мс прочитуються всі рядки в пам'яті для забезпечення регенерації даних.
Регенерація у роботі пам'яті Регенерація пам'яті, на жаль, віднімає час у процесора: кожен цикл регенерації за тривалістю займає декілька циклів центрального процесора. У старих комп'ютерах цикли регенерації могли займати до 10 % (або більше) процесорного часу, але в системах, що працюють на частотах, рівних сотням мегагерц, витрати на регенерацію становлять 1 % (або менше) процесорного часу. Деякі системи дозволяють змінити параметри регенерації за допомогою програми установки параметрів CMOS, але збільшення часу між циклами регенерації може призвести до того, що в деяких елементах пам'яті заряд «стече», а це викличе збої пам'яті. В більшості випадків надійніше дотримуватися частоти регенерації, що рекомендується або заданої за умовчанням. Оскільки витрати на регенерацію в сучасних комп'ютерах складають менше 1 %, зміна частоти регенерації має незначний вплив на характеристики комп'ютера.
Залежність ємності від будови У пристроях DRAM для зберігання одного біта використовується тільки один транзистор і пара конденсаторів, тому вони місткіші, ніж мікросхеми інших типів пам'яті.
На початку 2000-х з'явились мікросхеми динамічної оперативної пам'яті ємністю до 512 Мбіт і більше. Це означає, що подібні мікросхеми містять 512 млн (і навіть більше) транзисторів. Наприклад, Pentium IV має 55 млн транзисторів. Річ у тому, що в мікросхемі пам'яті всі транзистори і конденсатори розміщуються послідовно, зазвичай у вузлах квадратних ґрат, у вигляді дуже простих структур, що періодично повторюються, на відміну від процесора, що є складнішою схемою різних структур і не має регулярної організації.
Транзистор для кожного однорозрядного регістра DRAM використовується для читання стану суміжного конденсатора. Якщо конденсатор заряджений, у комірці записана 1; якщо заряду немає — записаний 0. Заряди в крихітних конденсаторах увесь час стікають, ось чому пам'ять повинна постійно регенеруватися. Навіть миттєве переривання подачі живлення або який-небудь збій в циклах регенерації приведе до втрати заряду у комірці DRAM, а отже, і до втрати даних.
Конструктивні особливості Динамічна оперативна пам'ять використовується в персональних комп'ютерах; оскільки вона недорога (значно дешевша за статичну оперативну пам'ять), то мікросхеми можуть бути щільно упаковані, а це означає, що пристрій великої ємності, що запам'ятовує, може займати невеликий простір. На жаль, пам'ять цього типу не відрізняється високою швидкодією, зазвичай вона набагато «повільніша» за процесор. Тому існує безліч різних типів організації DRAM, що дозволяють поліпшити цю характеристику.
Конструктивно пам'ять DRAM складається із «комірок» розміром в 1 або 4 біта, в кожній із яких можна зберігати певний обсяг даних. Сукупність «комірок» такої пам'яті створюють умовний «прямокутник», який складається із певної кількості стрічок та стовпців. Один такий «прямокутник» називається сторінкою, а сукупність сторінок називається банком. Весь набір «комірок» умовно ділиться на кілька областей.
Види та підтипи форм-факторів Слід зазначити, що існує багато видів та підтипів динамічної пам'яті, що виконані у різних форм-факторах, наприклад DDR/2/3 чи LPDDR. Можуть мати значні відмінності у характеристиках, частотах та живленні.
Історія
У 1964 році Арнольд Фарбер (Arnold Farber) і Євген Шліґ (Eugene Schlig) працювали в IBM створюючи комірку пам'яті що було складною задачею; за допомогою транзисторних воріт і засувки тунельних діодів, які пізніше замінили перемикачами із двох транзисторів і двох резисторів, що стало відомим як Фарбер-Шліґова комірка.
У 1965 році Бенджамін Агуста (Agusta) і його команда, яка також працювали на IBM, вдалося створити 16-бітний кремнієвий чип пам'яті, оснований на камері Фарбер-Шліґових комірках, які складалися з 80 транзисторів, 64 резисторів та 4 діодів.
У 1966 році доктор Роберт Деннард (Robert Dennard) винайшов DRAM в IBM Дослідницькому центрі ім. Томаса Дж. Уотсона, і отримав патент США за номером 3,387,286 у 1968 році. Конденсатори і раніше використані в схемах пам'яті, таких, як барабан Комп'ютер Атансофф-Беррі, Трубка Вільямса і Селектронна туба.
Toshiba «Toscal» BC-1411електронний калькулятор, який почав вироблятися в листопаді 1965, і в ньому використовується форма динамічної ОЗП з окремих компонентів.
У 1969 р. Honeywell запропонували Intel виготовляти DRAM з використанням 3-транзисторні комірки, який вони розробляли. Це стало продуктом із назвою Intel 1102 (1024x1) на початку 1970. Проте із 1102 було багато проблем, які викликали в Intel, і компанія почала роботу з своєю власною розробкою поліпшення даного продукту (це трималося в таємниці, щоб уникнути конфліктів з Honeywell). Результатом стали перші комерційно доступні 1-транзисторні комірки DRAM, Intel 1103 (1024x1) у жовтні 1970 (незважаючи на початкові проблеми, пов'язані з низькими виходами аж до 5-ї ревізії шаблону).
Першим модулем DRAM із мультиплексними рядками та колонками адресного простору був Mostek MK4096 (4096x1) розроблений Робертом Проебстінгом (Robert Proebsting), і представлений вже в 1973 році. Це схематичне рішення було заздалегідь радикальним, дозволяло формувати пакети з меншою кількістю контактів, що створювало ряд переваг, які мали відчуватися із кожним кроком зростання пам'яті. MK4096 також виявилися досить надійними в розробці клієнтських застосунків. Уже при 16K щільності ефективність стала досить помітною, і Mostek MK4116 16K DRAM досягнуло більш ніж 75 % частини всього світового ринку DRAM. Проте, коли щільність зросла до 64K Mostek обігнали японські виробники DRAM завдяки продажам високоякісної DRAM з використанням тієї ж схеми мультиплексування за ціною, нижчою від вартості (японські компанії згодом були визнані винними у скоєнні цінового демпінгу).
Принцип роботи
В сучасних комп'ютерах фізично DRAM-пам'ять являє собою плату — модуль, на якому розміщуються мікросхеми пам'яті зі спеціалізованим з'єднувачем для підключення до материнської плати. Роль «комірок» відіграють конденсатори та транзистори, які розташовані всередині мікросхем пам'яті. Конденсатори заряджаються у випадку, коли в комірку заноситься одиничний біт, або розряджається у випадку, якщо в комірку заноситься нульовий біт. Транзистори потрібні для утримання заряду всередині конденсатора. За відсутності подачі електроенергії до оперативної пам'яті відбувається поступове (чи одномоментне) розряджання конденсаторів і пам'ять спустошується чи спотворює дані. Ця динамічна зміна заряду конденсатора і є основним принципом роботи пам'яті типу DRAM. Елементом пам'яті такого типу є чутливий підсилювач (), який підключений до кожного із стовпців «прямокутника». Він реагує на слабкий потік електронів, які рухаються через відкриті транзистори із обкладинок конденсаторів, і зчитує цілком всю сторінку. Саме сторінки і є мінімальною порцією обміну із динамічною пам'яттю, тому що обмін даними із окремо взятою коміркою конструктивно неможливий.
Регенерація На відміну від статичної пам'яті типу SRAM (), яка є конструктивно складнішим і дорожчим типом пам'яті RAM та використовується в основному для кеш-пам'яті, пам'ять DRAM виготовляється на основі конденсаторів невеликої ємності, які швидко втрачають заряд, тому інформацію доводиться оновлювати через певні проміжки часу, щоб уникнути втрати даних. Цей процес називається регенерацією пам'яті і реалізовується спеціальним мікроконтролером, встановленим на материнській платі, або інтегрованому в кристал центрального процесора. Протягом певного часу, який називається крок регенерації, в DRAM перезаписується рядок () комірок, і через кожні 8-64 мс оновлюються всі рядки пам'яті.Див. також електричні шини CS (column select) та RS (row select).
Процес регенерації пам'яті в класичному варіанті суттєво «гальмує» роботу системи, оскільки в цей час обмін даними із пам'яттю неможливий. Регенерація, яка основана на принципі перебору рядків не використовується в сучасних типах DRAM. Існують декілька більш економічних варіантів даного процесу — розширений, пакетний, розподільчий; найбільш економічним є метод прихованої регенерації.
Із нових технологій регенерації можна виділити тип регенерації PASR (), який використовується компанією Samsung в чипах пам'яті SDRAM із низьким рівнем енергоспоживання. Регенерація «комірок» виконується тільки в період очікування тих банків пам'яті, в яких пам'ять заповнена. Паралельно з цією технологією реалізовується метод TCSR (), який призначений для регулювання швидкості процесу регенерації в залежності від робочої температури.
Характеристики пам'яті DRAM Основними характеристиками DRAM є таймінги та робоча частота. Для звернення до комірок контролер задає номер банку, номер сторінки в ньому, номер стрічки та номер стовпчика. На ці всі запити використовується час. Крім того доволі великий період йде на відкриття та закриття самого банку після виконання операції. На кожну дію вимагається час, який називається таймінгом. Основними таймінгами DRAM є: затримка між подачею номера стрічки і номера стовпчика, називається часом повного доступу (), затримка між подачею номера стовпчика і отримання вмісту комірки, називається часом робочого циклу (), затримка між читанням останньої комірки та подачею номера наступної стрічки (). Таймінги вимірюються в наносекундах, і чим менша величина цих таймінгів, тим швидше працює оперативна пам'ять. Робоча частота вимірюється в мегагерцах, і збільшення робочої частоти пам'яті призводить до збільшення її швидкодії.
Типи DRAM Протягом тривалого часу розробниками створювалися різноманітні типи пам'яті. Вони характеризувалися різними параметрами, і в них використовувалися різні технічні рішення. Основною рушійною силою розвитку пам'яті був розвиток комп'ютерів та центральних процесорів. Постійно вимагалося збільшення швидкодії та обсягу оперативної пам'яті.
Асинхронна DRAM Вона є основною формою, з якої походять всі інші. Асинхронний чип DRAM має лінії живлення, деяку кількість вхідних адресацій (зазвичай 12), і кілька (як правило, 1 або 4) двонаправлених ліній даних. Існують чотири активні параметри контрольних сигналів: /RAS, Рядок Адресного Простору (). Адресація розпочинається і слідує до кінця простору /RAS, потім вибирається вільний рядок для запису. Рядок залишається відкритим до тих пір, поки /RAS знаходиться на низькому рівні. /CAS, Стовпчик Адресного Простору (). Адресація розпочинається на кінці простору /CAS і вибирається стовпчик із всіх відкритих, який у цей час придатний для читання і запису. /WE, Доступ Запису (). Цей сигнал визначається враховуючи кінцевого статусу /CAS, читання (якщо високий) або запису (якщо низький). При низькому рівні дані входять та прямують до прикінцевого краю /CAS.