Що таке оновлення памяті?

І SRAM, і DRAM є формами енергозалежної пам'яті. Це означає, що їм потрібен джерело живлення, щоб зберігати дані, які вони зберігають. Можливо, ви чули про видалення даних з оперативної пам’яті під час вимкнення комп’ютера, але це не зовсім так. Дані не видаляються явно; заряд, який вказує на двійкову 1 або 0 у комірках пам’яті, зникає. Хоча метод відрізняється, ефект однаковий; дані стають недоступними.

Процес розряджання важливий для оперативної пам'яті. Це настільки важливо, що це відмінна риса між SRAM і DRAM. Комірки статичної пам’яті з довільним доступом ( SRAM ) використовують шість транзисторів, з’єднаних як пара інверторів із перехресним зв’язком. Ця структура зберігає свій заряд необмежено довго, поки осередок пам'яті має джерело живлення. Комірки динамічної пам’яті з довільним доступом ( DRAM ) використовують один транзистор, який постійно втрачає заряд і потребує регулярного оновлення.

Ця різниця в структурі також піддається відмінності у використанні між SRAM і DRAM. DRAM пропонує значно більшу щільність зберігання, але вимагає складнішої схеми оновлення, хоча цього ефекту недостатньо, щоб компенсувати перевагу щільності. SRAM, однак, швидше, ніж DRAM. У кеш-пам’яті процесора SRAM використовується в невеликих кількостях, тоді як DRAM забезпечує системну оперативну пам’ять великого обсягу.

Анатомія оновлення

Щоб зрозуміти, як оновлюється DRAM, корисно знати, як вона читається. Дані DRAM зчитуються рядками, причому весь рядок зчитується одночасно. Для цього заряджається рядок слів рядка. Це призводить до того, що ряд комірок пам’яті розряджається на відповідні бітові лінії. Порівняльні напруги бітових ліній подаються в підсилювачі чутливості, які підсилюють заряд до мінімуму або максимуму в залежності від стану кожної бітової лінії.

Після цього підсилювачі чуття відкриваються, і їх можна зчитувати. Потім дані зчитуються з кожного вказаного стовпця в шину пам’яті для передачі в ЦП. Після зчитування необхідних даних із рядка рядок слів рядка та підсилювачі відчуттів вимикаються, а бітові рядки знову заряджаються.

Хоча це дуже складно, ви, можливо, помітили щось важливе. Процес читання розряджає комірки пам'яті. Коли клітинка розряджена, повторне їх читання призведе до отримання всіх нулів, дані будуть втрачені. Читання DRAM є руйнівним, але дані залишаються в оперативній пам’яті, коли ви їх читаєте. Відсутній крок, який пояснює цю розбіжність. Поки підсилювачі сенсорів заблоковані, їхній стан повертається в комірки пам’яті, з яких вони зчитуються, утримуючи низькі комірки на низькому рівні та заряджаючи комірки високого рівня. Це виконується автоматично під час кожної операції читання та є операцією оновлення.

Операція оновлення працює на тій самій основі, але замість передачі запитуваних даних на шину пам’яті підсилювачі сенсорів лише перезаряджають комірки пам’яті перед тим, як знову вимкнутися.

Чому потрібне оновлення?

Легко зрозуміти, чому необхідно оновити комірку пам'яті після деструктивної операції читання. Менш інтуїтивно зрозуміло, навіщо потрібні інші оновлення. На жаль, крихітні транзистори, які використовуються для підтримки заряду кожної комірки, не ідеальні для збереження заряду. Він просто витікає. Це відбувається досить швидко. Стандарт JEDEC для поточних стандартів пам’яті вимагає оновлення всіх рядків у мікросхемі DRAM кожні 64 мс.

Щоб запобігти втраті продуктивності, процес виконується кожні 64 мс, оновлюючи весь чіп DRAM одним пакетом. Прочитані рядки вже оновлюються, але поки DRAM не працює, непрочитані рядки оновлюються у фоновому режимі.

Дослідження показали, що комірки DRAM можуть зберігати дані протягом 10 секунд без оновлення. Деякі статистичні викиди можуть навіть зберігати дані протягом хвилини. На жаль, ви також отримуєте викиди в іншому напрямку, які не можуть утримати свій заряд навіть на секунду. Щоб уникнути втрати або пошкодження даних, вибрано дуже консервативний таймер циклу оновлення. Тим не менш, сучасна DRAM досить швидка, тому оновлення кожні 64 мс не призводить до помітної втрати продуктивності.

Порада: Дослідники виявили, що утримання заряду може суттєво відрізнятися між елементами, навіть в одній мікросхемі DRAM. Іноді хороші клітини раптово гірше утримують свій заряд, тому ви також не можете надійно вибрати вишневий.

Дослідження також виявили, що температура відіграє значну роль у швидкості розпаду заряду. При температурі вище 85 градусів Цельсія заряд може розпадатися значно швидше, тому час циклу оновлення скорочується вдвічі. І навпаки, холодна DRAM може підтримувати заряд довше. Це достатньо відомо, що атаки «холодного завантаження» можна використовувати для спроби відновити дані, «втрачені» під час завершення роботи з оперативної пам’яті шляхом її охолодження.

Висновок

Комірки DRAM потребують регулярного оновлення для тривалого зберігання даних з двох причин. По-перше, операція читання є деструктивною. По-друге, заряд транзистора з часом зменшується. Щоб запобігти втраті даних, прочитані дані записуються назад у ті самі комірки пам’яті, а комірки, які нещодавно не читалися, регулярно оновлюються. Зазвичай процес оновлення необхідний лише кожні кілька секунд. Однак усі рядки оновлюються в дуже консервативному часовому масштабі, щоб запобігти втраті даних із клітинок, які є статистичними викидами щодо швидкості зменшення заряду.

Можна було б зменшити частоту оновлення за допомогою датчиків температури та технологій утримання інформації. Це передбачало б перевагу використанню елементів, які добре утримують заряд. Це дозволить уникнути, де можливо, статистичних викидів, які вимагають такого консервативного налаштування. Однак такі технології зазвичай не використовуються, оскільки вони додають вартості та ускладнюють вирішення проблеми з мінімальним впливом на продуктивність. Поділіться своїми думками в коментарях нижче.


Як клонувати жорсткий диск

Як клонувати жорсткий диск

У сучасну цифрову епоху, коли дані є цінним активом, клонування жорсткого диска в Windows може бути вирішальним процесом для багатьох. Цей вичерпний посібник

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Ви стикаєтеся з повідомленням про помилку під час завантаження комп’ютера, у якому йдеться про те, що драйвер WUDFRd не вдалося завантажити на ваш комп’ютер?

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Ви відчуваєте код помилки NVIDIA GeForce 0x0003 на робочому столі? Якщо так, прочитайте блог, щоб дізнатися, як швидко та легко виправити цю помилку.

Що таке SMPS?

Що таке SMPS?

Перш ніж вибрати SMPS для свого комп’ютера, дізнайтеся, що таке SMPS і значення різних показників ефективності.

Чому мій Chromebook не вмикається

Чому мій Chromebook не вмикається

Отримайте відповіді на запитання «Чому мій Chromebook не вмикається?» У цьому корисному посібнику для користувачів Chromebook.

Як повідомити Google про фішинг

Як повідомити Google про фішинг

Дізнайтеся, як повідомити про шахрая в Google, щоб запобігти йому обманювати інших за допомогою цього посібника.

Roomba зупиняється, залипає та розвертається – виправлення

Roomba зупиняється, залипає та розвертається – виправлення

Вирішіть проблему, коли ваш робот-пилосос Roomba зупиняється, залипає та продовжує обертатися.

Як змінити налаштування графіки на Steam Deck

Як змінити налаштування графіки на Steam Deck

Steam Deck пропонує надійний і універсальний ігровий досвід прямо у вас під рукою. Однак, щоб оптимізувати вашу гру та забезпечити найкраще

Що таке безпека на основі ізоляції?

Що таке безпека на основі ізоляції?

Я збирався заглибитися в тему, яка стає все більш важливою у світі кібербезпеки: безпека на основі ізоляції. Такий підхід до

Як використовувати Auto Clicker для Chromebook

Як використовувати Auto Clicker для Chromebook

Сьогодні я збирався заглибитися в інструмент, який може автоматизувати повторювані завдання на вашому Chromebook: Auto Clicker. Цей інструмент може заощадити ваш час і