Занимательная микроэлектроника — страница 57 из 117

Устройства RAM делятся на две больших разновидности — статические и динамические ЗУПВ. Простейшее статическое ЗУПВ (SRAM, от слова «static») — это обычный триггер. И «защелки» из микросхемы 561ТМЗ, и регистры типа 561ИР2, и даже счетчик с предзагрузкой типа ИЕ11 (см. главу 9), — все это статические ЗУПВ с различными дополнительными функциями или без них. Регистры и доступная пользователю область ОЗУ (оперативного запоминающего устройства) микроконтроллеров, — все они также относятся к классу SRAM, и мы с ними еще познакомимся довольно близко.

По счастью, с динамическими разновидностями RAM (DRAM) нам в схемотехническом плане иметь дело не придется, но ввиду практической важности этой разновидности (на DRAM построена вся оперативная память компьютеров) стоит остановиться на ней подробнее. Устройство ячейки обычной DRAM показано на рис. 11.7, из которого видно, что ячейка состоит всего из одного транзистора и одного конденсатора Последний на схеме (рис. 11.7, а) выглядит маленьким, но на самом деле занимает места во много раз больше транзистора (рис. 11.7, б), только в основном вглубь кристалла. Потому ячейки DRAM можно сделать очень малых размеров, а, следовательно, упаковать их много на один кристалл, не теряя быстродействия.



Рис. 11.7. Устройство ячейки DRAM:

а — схематическое устройство; б — микрофотография среза кристалла DRAM (вытянутые вниз структуры — накопительные конденсаторы)


Как происходит чтение данных с такой ячейки? Для этого вы подаете высокий уровень на линию строк (см. рис. 11.7), транзистор открывается и заряд, хранящийся на конденсаторе данной ячейки, поступает на вход усилителя, установленного на выходе столбца. Отсутствие заряда на обкладках соответствует логическому нулю на выходе, а его наличие — логической единице. Обратите внимание, что подача высокого уровня на линию строк откроет все транзисторы выбранной строки, и данные окажутся на выходе усилителей по всем столбцам сразу. Естественно, при этом все подключенные конденсаторы почти немедленно разрядятся (если они были заряжены), отчего процедура чтения из памяти обязана заканчиваться регенерацией данных (как оно в действительности и происходит, причем совершенно автоматически).

На практике регенерация в первых IBM PC и заключалась в осуществлении «фиктивной» операции чтения данных каждые 15 мкс с помощью системного таймера. Естественно, в таком решении было много подводных камней. Во-первых, регенерация всей памяти занимает много времени, в течение которого ПК неработоспособен. Потому-то сигнал на регенерацию и подавался с такой большой частотой, ведь каждый раз проверялась всего 1/256 памяти, так что полный цикл восстановления занимал около 3,8 мс. Во-вторых, такое решение потенциально опасно: любая зловредная программа спокойно может попросту остановить системный таймер, отчего компьютер уже через несколько миллисекунд обязан впасть в полный «ступор». И все современные микросхемы DRAM занимаются восстановлением данных самостоятельно, да еще и так, чтобы не мешать основной задаче — процессам чтения/записи.

Впервые принцип DRAM — хранение информации на конденсаторах с периодической регенерацией — применил еще Дж. Атанасов в самом первом электронном компьютере ABC (1941 г.). А зачем вообще нужна регенерация? Ввиду микроскопических размеров и, соответственно, емкости конденсатора в ячейке DRAM записанная информация хранится всего лишь сотые доли секунды. Несмотря на высококачественные диэлектрики с огромным электрическим сопротивлением, заряд, состоящий в рядовом случае всего из нескольких сотен, максимум тысяч электронов, успевает утечь так быстро, что вы и глазом моргнуть не успеете.

Огромный плюс DRAM — простота и дешевизна. В отличие от нее, ячейка SRAM, как вы знаете, представляет собой D-триггер, и содержит много логических элементов, занимая большую площадь кристалла. Потому SRAM много дороже, но зато не требует никакой регенерации. Фирма Dallas (ныне объединенная с MAXIM) одно время выпускала микросхемы энергонезависимой памяти (и некоторые другие устройства на их основе), представлявшие собой обычную SRAM со встроенной прямо в чип литиевой батарейкой.


EPROM, EEPROM и Flash

На заре возникновения памяти, сохраняющей данные при отключении питания (EPROM Erasable Programmable ROM — «стираемая/программируемая ROM». По-русски иногда называют ППЗУ — «программируемое ПЗУ»), основным типом ее была память, стираемая ультрафиолетом: UV-EPROM (Ultra-Violet EPROM, УФ-ППЗУ). Причем часто приставку UV опускали, т. к. всем было понятно, о чем речь — альтернативой УФ-ППЗУ были фактически только однократно программируемые кристаллы OTP ROM, которые имелись обычно в виду под сокращениями ROM (или ПЗУ) просто, без добавлений. Микроконтроллеры с УФ-памятью программ были распространены еще в середине 1990-х. В рабочих образцах подобных устройств кварцевое окошечко заклеивали кусочком черной ленты, т. к. информация в UV-EPROM медленно разрушалась на солнечном свету.



Рис. 11.8.Первая микросхема UV-EPROM фирмы Intel (1971) позволяла записать 256 байт информации


На рис. 11.9 показано устройство элементарной ячейки подобной EPROM, которая лежит в основе всех современных типов энергонезависимой памяти. Если исключить из нее то, что обозначено надписью «плавающий затвор», то мы получим самый обычный полевой транзистор — точно такой же, как тот, что входит в ячейку DRAM на рис. 11.7. Если подать на управляющий затвор такого транзистора положительное напряжение, то он откроется, и через него потечет ток (это считается состоянием «логической единицы»). На рис. 11.9 вверху изображен как раз такой случай, когда плавающий затвор не оказывает никакого влияния на работу ячейки, например, такое состояние характерно для чистой flash-памяти, в которую еще ни разу ничего не записывали.



Рис. 11.9.Устройство элементарной ячейки EPROM


Если же мы каким-то образом (каким — поговорим отдельно) ухитримся разместить на плавающем затворе некоторое количество зарядов — свободных электронов, которые показаны на рис. 11.9 внизу в виде темных кружочков со значком минуса, то они будут экранировать действие управляющего электрода, и такой транзистор вообще перестанет проводить ток. Это состояние «логического нуля».

Замечание

Строго говоря, в NAND-чипах (о которых далее) логика обязана быть обратной: если в обычной EPROM запрограммированную ячейку вы не можете открыть подачей считывающего напряжения, то там наоборот— ее нельзя запереть снятием напряжения. Поэтому, в частности, чистая NAND-память выдает все нули, а не единицы, как EPROM. Но это нюансы, которые не меняют суть дела.

Так как плавающий затвор потому так и называется, что он «плавает» в толще изолятора (двуокиси кремния, SiО2), то сообщенные ему однажды заряды в покое никуда деваться не могут. И записанная таким образом информация может храниться десятилетиями (до последнего времени производители обычно давали гарантию на 10 лет, но на практике в обычных условиях время хранения значительно больше).

Осталось всего ничего — придумать, как размещать заряды на изолированном от всех внешних влияний плавающем затворе. И не только размещать — ведь иногда память и стирать приходится, потому должен существовать способ их извлекать оттуда. В UV-EPROM слой окисла между плавающим затвором и подложкой был достаточно толстым (если величину 50 нм можно охарактеризовать словом «толстый», конечно), и работало все это довольно «грубо». При записи на управляющий затвор подавали достаточно высокое положительное напряжение — иногда до 36–40 В, а на сток транзистора — небольшое положительное. При этом электроны, которые двигались от истока к стоку, настолько ускорялись полем управляющего электрода, что просто «перепрыгивали» барьер в виде изолятора между подложкой и плавающим затвором. Такой процесс называется еще «инжекцией горячих электронов».

Ток заряда при этом достигал миллиампера— можете себе представить, каково было потребление всей схемы, если в ней одновременно заряжать хотя бы несколько тысяч ячеек. И хотя такой ток требовался на достаточно короткое время (впрочем, с точки зрения быстродействия схемы не такое уж и короткое — миллисекунды), но это было крупнейшим недостатком всех старых образцов подобной EPROM-памяти. Еще хуже другое, то, что и изолятор, и сам плавающий затвор такого «издевательства» долго не выдерживали, и постепенно деградировали, отчего число циклов стирания/записи было ограничено нескольким сотнями, максимум — тысячами. Во многих образцах flash-памяти даже более позднего времени была предусмотрена специальная схема для хранения карты «битых» ячеек — в точности так, как это делается для жестких дисков. В современных моделях с миллионами ячеек такая карта, кстати, тоже, как правило, имеется, однако число циклов стирания/записи теперь возросло до соген тысяч. Как этого удалось добиться?

Сначала посмотрим, как осуществлялось в этой схеме стирание. В UV-EPROM при облучении ультрафиолетом фотоны высокой энергии сообщали электронам на плавающем затворе достаточный импульс для того, чтобы они «прыгали» обратно на подложку самостоятельно, без каких-либо электрических воздействий. Первые образцы электрически стираемой памяти (EEPROM, Electrically Erasable Programmable ROM — «электрически стираемое перепрограммируемое ПЗУ», ЭСППЗУ) были созданы в компании Intel в конце 1970-х при непосредственном участии будущего основателя Atmel Джорджа Перлегоса. Он использовал «квантовый эффект туннелирования Фаулера — Нордхейма» (Fowler — Nordheim). За этим непонятным названием кроется довольно простое по сути (но очень сложное с физической точки зрения) явление: при достаточно тонкой пленке изолятора (ее толщину пришлось уменьшить с 50 до 10 нм) электроны, если их слегка «подтолкнуть» подачей не слишком высокого напряжения в нужном направлении, могут просачиваться через барьер, не «перепрыгивая» его. Сам процесс показан на рис. 11.10 вверху (обратите внимание на знак напряжения на управляющем электроде).