2.3.4. Регенерація інформації в динамічних ЗУ
Незалежно від того, яка конкретна модифікація динамічної пам'яті, що запам'ятовують конденсатори її запам'ятовуючих елементів розряджаються через наявність струмів витоку. Постійна розряду, як відомо, залежить від ємності запам'ятовуючого конденсатора і опору кола струму витоку і може відрізнятися для різних модифікацій. Час, протягом якого інформація зберігається в елементі пам'яті, становить до кількох десятків мілісекунд.
Це призводить до необхідності періодичного (з періодом максимум, ніж час збереження інформації) відновлення зарядів ємкостей. Така процедура і отримала назву регенерації (refresh) динамічної пам'яті. Виконується вона одночасно для цілого рядка матриці (банку) елементів пам'яті, оскільки регенерувати інформацію за елементами або за словами (по 8 байт) занадто довго.
Дійсно, якщо навіть вважати, що регенерація виконується одним довгим пакетним циклом, то для мікросхем пам'яті PС2700, в яких на одну передачу даних доводиться 3 нс (165 МГц # 215 2), при ємності 256 Мбіт на поелементну регенерацію всіх елементів буде потрібно 3 # 215 10 -9 # 215 228 = 0,8 с, а на регенерацію за словами, точніше, осередків, розрядність яких не може бути вище розрядності мікросхеми (як правило, не більше 16 біт), буде потрібно в 16 разів менше часу, тобто 50 мс. З огляду на, що для таких мікросхем максимальний період регенерації TREF = 64 мс, поелементно регенерація виявляється принципово неможливою, а регенерація за словами займатиме більше 75% часу роботи пам'яті.
Кількість же рядків в одному банку в даній мікросхемі складе 8192, а порядкова регенерація в такому випадку буде займати всього 24,5 мкс або близько 0,5% часу.
Звичайно, якщо до всіх рядків пам'яті за час, що не перевищує TREF. були б виконані звернення, то оновлювати інформацію не було б потрібно, так як при зверненні (не тільки записи, але і читанні) заряд на запам'ятовуючих ємностях повністю відновлюється.
Розподілити цикли регенерації рядків по повного періоду регенерації можна різними способами. Розглянутий вище варіант пакетної регенерації, при якому всі цикли регенерації рядків групуються на початку або в кінці періоду, хоча і може бути більш економічним за часом з-за відсутності додаткових перемикань, не є досить зручним, оскільки блокує роботу пам'яті на відносно тривалий інтервал часу . Тому частіше застосовують так звану розподілену регенерацію (іноді використовується термін "синхронна"), при якій цикли регенерації рядків рівномірно розподіляються по періоду.
Тривалість періоду регенерації не обов'язково встановлюється рівною максимальному значенню. Наприклад, в ряді ПЕОМ для управління регенерацією часто використовують сигнали одного з лічильників (лічильник 1) системного таймера, на який надходять сигнали від кварцового генератора (частотою 14.31818 МГц), встановленого на системній платі. Цей лічильник виробляє імпульси приблизно кожні 15 мкс, і ці імпульси можуть використовуватися для запуску регенерації. Однак для пам'яті великого обсягу така частота виявляється недостатньою.
Можливі й більш складні схеми регенерації: пакетна з можливістю переривання пакета або прихована - під час вільних циклів пам'яті, якщо такі є.
Власне цикли регенерації також можуть різнитися по порядку виконання і запускає їх керуючим сигналам.