Skip to content
АЦУ · Тема 25 · Време и памет

Паметта, която забравя – SRAM, DRAM и Flash

Паметта е огромна шахматна дъска от клетки по един бит. Едните пазят бита в тригер – бързи, но едри. Другите – в мъничък кондензатор, който изтича и трябва да се допълва десетки пъти в секунда. Трети го пазят и без ток. В урока пишем картинка в матрица 8 × 8, гледаме как DRAM клетка губи заряда си и изключваме захранването.

≈ 5 мин четене∿ 2 живи уредаСамопроверка: 5 въпроса

Паметта: дъска от клетки ​

Паметта е матрица от клетки по един бит. Адресът се разделя на две: старшите битове избират реда (дешифратор на редовете, тема 18), а младшите – колоната. Матрица 512 × 512 с 18 адресни линии пази 256 Kbit. Управляват я три сигнала: CE (чипът е избран), WE (запис) и OE (изходът е разрешен, иначе е в трето състояние – тема 16). Данните минават през буфери към общата шина.

Параметрите на паметта са:

  • обем и организация, например 64K × 8: 2¹⁶ думи по L = 8 бита;
  • време за достъп t_ac (за колко ns дава данните) – днес 5–70 ns;
  • цикъл t_cycle ≈ 2·t_ac;
  • консумация.

Тук адресът е ред 2 и колона 5, т.е. A5…A0 = 010101.

Матрица 8 × 8
A5A4A3 \ A2A1A0000001010011100101110111
000
001
010
011
100
101
110
111
Фигура 1.

Избраният ред и колона светят. Само клетката на пресичането им се чете или пише. Смени данните, натисни WE и пиксел от картинката се сменя. „Изключи и включи“ при SRAM превръща картинката в шум: всеки тригер застава в каквото му дойде. При Flash нищо не се губи. ↺ връща усмивката.

SRAM: бит в тригер ​

Статичната памет пази бита в тригер: два кръстосани CMOS инвертора (тема 16) и два транзистора за достъп – 6T клетката. При четене шината се предварително зарежда до ½Ucc и клетката я дърпа нагоре или надолу. Четенето е недеструктивно: клетката си остава същата. Докато има захранване, битът стои, без да се опреснява. Шината за данни е диференциална (бит и обратното му), а усилвателят на заряд (sense amp) хваща разлика от ~200 mV. Затова SRAM е бърза, но всяка клетка заема място. Ползва се за кеша на процесора, до няколко Mbit.

DRAM: бит в кофичка, която тече ​

Динамичната памет пази бита като заряд в мъничък кондензатор Cs (десетки фемтофаради) зад един транзистор: 1T клетката. Клетката е много малка, затова DRAM е евтина и огромна (RAM-ът на компютъра). Има обаче две особености:

  • деструктивно четене – при четене зарядът се разлива в шината, която е много по-голяма. Усилвателят на заряд решава 0 или 1 и записва клетката наново. При 3T клетката има отделни линии за четене (RWL) и запис (WWL), а четенето не е деструктивно;
  • изтичане – утечките бавно изпразват кондензатора. Затова на всеки 64 ms всички редове се прочитат и записват наново. Това е регенерация.

Утечката се удвоява с всеки 10 °C. Тук чипът е на 85 °C: времеконстантата е 156 ms, а клетката още се чете като 1 до 108 ms след запис. Регенерацията е на 64 ms – битът оцелява.

DRAM клетка и регенерация
Зарядът на кондензатора
05010015020025030000,51t – време, msu / U
напрежение на кондензатора праг на усилвателя на заряд
Фигура 2.

Жълтото изтича по експонента. При всяка регенерация клетката се прочита и, ако е над прага, се връща до пълно. При 85 °C 64 ms стигат. При 95 °C клетката пада под прага преди първата регенерация и тя записва 0: битът е изгубен. Затова над 85 °C DDR паметите регенерират два пъти по-често, на 32 ms. Пробвай.

SRAM срещу DRAM ​

SRAMDRAM
Клетка6T – тригер + 2 транзистора за достъп1T – транзистор + кондензатор (3T – с отделно четене)
Четененедеструктивнодеструктивно (1T) – трябва презапис
Опресняванене трябварегенерация – заради утечките
Скорост, площ, ценабърза, но голяма клетка – до няколко Mbitмалка клетка, евтин бит – големи обеми
Шина за даннидиференциална1T – единична (по-лоша шумоустойчивост)

Памети, които помнят без ток ​

RAM паметите са енергозависими: без ток забравят. Енергонезависимите (NVM) помнят:

  • ROM (маскова) – записва се при производството;
  • PROM – програмира се еднократно, с прегаряне на стопяеми връзки;
  • EPROM – транзистор с плаващ гейт, „капан за електрони“. Зарядът в него пази бита с години, а се изтрива с ултравиолетова светлина през прозорче на корпуса;
  • EEPROM – изтрива се електрически, байт по байт;
  • Flash – също електрически, но на цели блокове. Затова е бърза и плътна и е в USB флашките, SSD дисковете и микроконтролерите.

Самопроверка ​

1. Колко адресни линии и линии за данни има памет 64K × 8?

64K = 2¹⁶ → 16 адресни линии; 8 линии за данни.

2. Защо DRAM трябва да се регенерира, а SRAM – не?

DRAM пази бита като заряд в кондензатор, който изтича през утечките; SRAM го пази в тригер, който се държи сам, докато има захранване.

3. Какво значи деструктивно четене?

При четене на 1T DRAM клетка зарядът се разлива в шината – клетката губи стойността си и след четенето трябва да се запише наново.

4. Защо при висока температура DRAM се регенерира по-често?

Утечките растат приблизително двойно на всеки 10 °C – кондензаторът стига прага по-бързо. Над 85 °C DDR преминава от 64 на 32 ms.

5. Каква е разликата между EEPROM и Flash?

И двете се изтриват електрически, но EEPROM – байт по байт, а Flash – на цели блокове (по-бързо и по-плътно).